邻近平台的制作方法

文档序号:21369021发布日期:2020-07-04 04:45阅读:306来源:国知局
邻近平台的制作方法



背景技术:

主机计算设备(例如智能手机、台式计算机和膝上型计算机)利用大量无线外围计算设备(例如扬声器、鼠标和键盘)来向用户提供附加功能和体验。主机和外围设备之间的连接机制和协议可以变化,并且有时即使连接已被建立后,与主机设备的交互也可能会给用户带来负担。



技术实现要素:

在主机计算设备上被实例化的邻近平台被利用,以在主机设备的操作系统(os)上的邻近平台客户端内,将对无线外围设备的检测和跟踪集中。与主机设备关联的各种服务或应用均可以向邻近平台注册模式,其中单独的模式表示有关外围设备的细节,或者表示有关在特定外围设备、一类别外围设备或一群组外围设备连接到主机设备时、或在外围设备与主机设备建立连接之前执行的操作或功能的细节。外围设备的群组或类别可以按制造者、设备类型(例如扬声器、耳机、键盘、鼠标等)以及其他群组或类别进行细分。

当利用蓝牙技术(与其他无线连接协议相对)时,来自外围设备的通告分组被传输、广播或以信标发送到主机设备,从而使外围设备可连接。当主机设备检测到通告时,主机设备可以选择是否连接到外围设备和/或在邻近平台生态系统内执行其他方案。通告包括八位位组或字节形式的字段,其包括通告的有效载荷内的模式,该模式对应于主机设备上的一个或多个经注册的模式。邻近平台检查通告,并且基于所检测的在接收到的有效载荷模式与经注册的模式之间的对应关系、主机设备执行必要的操作、功能、过滤器等。

在例示性示例中,当有效载荷模式已经被识别并且与给定的外围设备相关联时,os上的邻近平台可以执行功能并且应用过滤器。例如,邻近平台可以触发服务以在显示器上自动将通知置于表面、自动下载应用、或自动启动应用。基于有效载荷模式,邻近平台可以应用方案和子方案,这有时是通过使用过滤器和子过滤器的。例如,主方案可以监控外围设备是否在主机设备的阈值存在内,而子方案可以跟踪外围设备,以验证其是否位于到主机设备的、更靠近的且预定的阈值存在内。方案或子方案可以表示将要由主机设备执行的较高级别的动作,并且过滤器或子过滤器可以较具体的动作,较具体的动作根据给定方案而被执行。过滤器和子过滤器可以用于多于一个方案和子方案,并且不一定是对特定方案独特的。方案和过滤器有时均可以是特定的动作,该特定的动作在通告有效载荷内的模式中被详细说明。

主机设备可以利用在主机设备处确定的实况(live)rssi(接收信号强度指示)值、以及从外围设备接收的经校准的rssi值,以标识外围设备相对于主机设备的定位的准确距离或大致距离或类别表示。外围设备的定位的类别表示可以例如利用如下面更详细讨论的存储桶(bucket)。校准值可以用于外围设备,并且在一些实施例中也可以用于主机设备(例如,针对不同膝上型计算机、平板计算机、pc等的不同主机值)。该校准可以包括:在已知的参考距离处,利用来自参考外围设备和参考主机设备的先验信标,来确定针对外围设备的准确距离。例如,校准可以使用一个真实主机设备到参考外围设备,或者其可以使用一个参考主机设备到真实外围设备。以这种方式,针对特定设备的最终校准将考虑到如下任何影响:从合法的(legitimate)真实世界主机设备、以及合法的真实世界外围设备可能导致的影响。

由主机设备使用校准和实况rssi值而确定的距离值可能不会被存储,而可能是远程设备或主机设备的信道的特性。所确定的距离可以用于上面讨论的各种过滤器和方案,诸如跟踪外围设备,并且基于外围设备相对于主机设备的已知位置来应用某些过滤器。

主机设备可以附加地或备选地利用预定的存储桶,来执行各种功能或过滤器,其中存储桶表示基于以下一个或多个因素的独特的远端参数,该因素包括rssi值、所实现的系统、形状因子和无线电定位。该因素中的一些因素在校准期间可能会考虑。如上所述,存储桶可以备选地视为特定外围设备的位置的类别表示。使用这些因素,统计分析和机器学习可以被利用以针对系统和所使用的外围设备,确定rssi值属于哪个存储桶。

例如,一存储桶可以表示外围设备接近主机设备,第二存储桶可以表示外围设备在相同的房间内,并且第三存储桶可以表示外围设备变为在范围外之前的最大距离。因此,尽管在该示例中将不同的距离概念用于存储桶,但是其他分类的、方案驱动的示例可以与特定的存储桶相关联。这些存储桶中的每一个存储桶都可以与特定外围设备的整体跟踪相关联,或者可以以其他方式由主机设备根据从外围设备的通告传输的有效载荷模式,以触发的特定操作。

邻近平台有利地聚焦和集中了针对外围设备的如下功能和过滤器,主机设备内各种服务可以以其他方式来执行这些功能和过滤器。主机设备os内的这种集中化节省了主机设备的电池寿命、系统带宽以及处理器和存储器利用率,使得所有这些功能均由os内的单个客户端,即邻近平台,来执行。

邻近平台用作附加特征的进入点,服务可以利用这些附加特征来改进用户体验并简化与主机和外围设备的操作。例如,外围设备的第一方和第三方制造者可以定制通告有效载荷模式,以利用由主机设备所创建和支持的功能和过滤器,从而在跨设备之间、甚至在不相关的第三方之间创建更一致、和谐且用户友好的生态系统。例如,计算机鼠标制造者和单独的键盘制造者两者均可以利用主机设备的邻近平台来执行与主机设备的无缝连接和操作。

提供本发明内容以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用作辅助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任意部分中指出的任意或所有缺点的实现。将理解的是,上述主题可以被实现为计算机控制的装置、计算机过程、计算系统、或者被实现为诸如一个或多个计算机可读存储介质的制品。通过阅读以下具体实施方式并查看相关附图,这些以及其他各种特征将变得明显。

附图说明

图1示出了主机设备和外围设备之间的例示性无线连接;

图2示出了主机计算设备的例示性架构;

图3a-b示出了外围计算设备的例示性示意图;

图4-6示出了在其中服务向邻近平台注册模式的例示性环境;

图7示出了字段的例示性分类法(taxonomy),该字段与针对来自外围设备的蓝牙传输的通告有效载荷分组相关联;

图8示出了与蓝牙传输相关联的数据分组的例示性图;

图9示出了与数据分组的协议数据单元内的通告的有效载荷相关联的例示性字段;

图10示出了其中字段包含例示性模式的通告的例示性有效载荷;

图11示出了与le(低能耗)蓝牙配对相关联的例示性通告的有效载荷模式;

图12示出了与经典蓝牙配对相关联的例示性通告的有效载荷模式;

图13示出了主机设备在从鼠标外围设备接收到通告分组时的例示性操作;

图14示出了主机设备在从耳机外围设备接收到通告分组时的例示性操作;

图15示出了其中主机设备可以执行的方案的例示性分类法;

图16示出了其中主机设备可以执行的方案、过滤器和子过滤器的例示性分类法,。

图17示出了其中用户将蓝牙无线扬声器连接到膝上型计算机的例示性环境;

图18示出了例示性环境,其中参考发射机和参考接收机与真实发射机和真实接收机一起被利用,以校准针对蓝牙无线扬声器的测量;

图19示出了例示性环境,其中膝上型计算机确定针对蓝牙无线扬声器的方案驱动的邻近度;

图20示出了其中存储桶由主机设备利用的例示性环境;

图21示出了例示性环境,其中存储桶包括特定的距离绰号或类别表示;

图22示出了例示性环境,其中用户通过由物体引起的潜在干扰,而将无线电子触控笔连接到或尝试连接到膝上型计算机;

图23-25示出了由主机设备和/或外围设备执行的例示性过程;

图26是诸如移动设备的例示性计算机系统的简化框图,其可以部分地被用来实现本邻近平台;

图27示出了例示性设备的框图,其可以部分地被用来实现本邻近平台;以及

图28示出了例示性主机或外围设备的框图,其可以被用来实现本邻近平台。

相似的附图标记在附图中指示相似的元件。除非另有说明,否则元件未按比例绘制。

具体实施方式

图1示出了例示性环境100,其中各种主机设备105与相应的外围设备110无线地连接(如附图标记115所表示的,双箭头线指示无线连接)。在该示例中,主机设备描绘了智能电话、膝上型计算机和平板计算机,但是其他主机设备也可以被利用,诸如个人计算机(pc),游戏控制台和诸如头戴式显示器的可穿戴计算设备。用户可以采用主机设备以进行和接收语音和/或视频呼叫、参与消息收发(例如sms/mms)和电子邮件通信、使用应用、播放或流式播放音乐、电影和其他多媒体、访问采用数据的服务、浏览万维网等。

图1中描绘的并且与相应的主机设备105配对的外围设备110包括各种无线设备,包括蓝牙扬声器、鼠标、键盘、耳机和被配置为与触摸屏显示器一起使用的触控笔。图1中未示出的其他无线外围设备也可以与本邻近平台一起使用,其他无线外围设备包括遥控器、视频游戏控制器和充电器。另外,在一些方案中,某些主机设备可能被视为外围设备。例如当智能手机连接到pc时(诸如当智能手机试图将多媒体(例如图片)上传到pc进行备份时),智能手机可以被视为外围设备。在一些方案中,两个设备之间执行的操作可以决定主机(主设备)和外围设备(从设备)的分配。

图2示出了主机计算设备105的例示性分层架构200。架构200通常以软件实现,尽管在某些情况下也可以利用软件、固件和/或硬件的组合。该架构被分层布置,并且包括应用层205、os(操作系统)层210和硬件层215。硬件层215向在其上方的层提供由主机设备105使用的各种硬件(例如,输入和输出设备、联网和无线电硬件等)的抽象。在该例示性示例中,硬件层支持(多个)处理器220、存储器225、输入/输出设备(例如鼠标、键盘、显示器)230和无线通信设备235。

无线通信设备235或收发机可以包括支持通过波来对数据进行传输和接收的任意距离的技术,包括经典蓝牙(例如增强数据速率(edr))、蓝牙le(低能耗)、nfc(近场通信)和wi-fi。这些各种无线连接设备可以通过诸如无线电波的波来传输和接收数据,并且根据针对特定技术的协议以特定的频率来进行传输和接收数据。例如,蓝牙利用2.4ghz射频在两个或更多设备之间传输和接收数据,而wi-fi可以利用2.4ghz、3.6ghz或5.0ghz的射频。

无线通信设备235可以例如以无线电波的形式传输和接收数据,其中该设备将数据转换成无线电波以进行传输,或者在接收时将无线电波分解为数据。无线通信设备可以可操作地连接到处理器,该处理器从无线通信设备传输数据以及向无线通信设备传输数据。除了信标、广播、或从外围设备发射的通告之外,无线通信设备还可以监控与外围设备连接的信号强度。在一示例中,该设备可以在外围设备未被连接时监控信标,并且在外围设备被连接时监控连接。邻近平台被设计用于处理两种情况。

在该例示性示例中的应用层205支持各种应用240,包括网络浏览器245、电子邮件应用250、地图应用255等。尽管在图2中仅描绘了某些应用,但是任何数目的应用可以由设备利用,包括日历、联系人、新闻、健康等。应用通常使用本地执行的代码来实现。但是,在一些情况下,这些应用可以依靠由远程服务器、或其他计算平台(诸如,由服务提供者支持的那些计算平台)、或其他基于云的资源(未示出)提供的服务和/或远程代码执行。

os层210尤其支持在其他操作之中的管理系统260、操作应用/程序265和模式注册270。os层可以与应用层和硬件层互操作,以便于执行各种功能和特征。此外,尽管模式注册被示出为设备105内的组件,但是备选地,其可以全部或部分地被实例化在远程服务器上并通过网络(未示出)与主机设备105通信。该网络可以包括设备和服务是其一部分的任意数目的连接,诸如个人局域网、局域网、广域网、因特网或万维网。

图3a和3b分别示出了外围设备110的例示性分层架构300和350。外围设备可以是如图3a所示的较复杂的设备,其具有与如上所讨论的主机设备类似的组件,或者可以是如图3b所描绘的较坦白(candid)和简单。图3a和3b内的各个层和组件可以类似于以上关于图2的主机设备所讨论的层和组件来进行操作。

转到图3a,较复杂的设备可以包括例如智能电话,当连接到膝上型计算机(主设备)时,该智能电话用作外围设备(或从设备)。作为另一个示例,一对耳机可以包括比通常耳机更复杂的特征,并且由此利用图3a所描绘的架构中的各个层。例如,具有噪声消除功能和其他复杂功能的耳机可能需要附加的组件、应用等。

另一方面,对于简单的、无需复杂的操作的外围设备,图3b所示的系统可以更紧凑。例如,键盘可以包括控制器(或处理器),其专用于识别键击、并且将各种键击和用户输入传输到计算机。在这种方案中,处理器可以与无线通信设备进行通信,该无线通信设备将各种输入传输到主机设备。

如果键盘是无线的,则电池355可以为处理器和其他组件提供电压以进行操作。尽管电池仅关于图3b而示出,但是图2和图3a中描绘的每个系统架构可同样包括电池或某种直接电源。图3b还描绘了外围设备可以采用的示例性而非穷举的无线通信技术,包括蓝牙经典、蓝牙le、wi-fi和nfc。

为了建立连接,诸如使用蓝牙le,外围设备110可以以信标发送、广播或以其他方式传输通告分组(advertisementpacket)。从此处,主机设备可以使用无线通信设备235检测通告。如果无线通信设备235识别出通告,则在一些系统中,无线通信设备将信号传递给os,以供主机设备处理,其中os可以将通告中接收到的数据转发给一个或多个服务或应用,以执行各种操作。在该方案中,多个服务可以占用系统资源来执行相同的任务,诸如监控外围设备的连接。这可以通过消耗电池和处理功率来影响系统资源,并导致跨服务的重复工作。

图4、图5和图6分别示出了例示性环境400、500和600,其中每个服务向邻近平台415注册模式以执行各种功能、过滤器和方案。方案或子方案可以表示要由主机设备执行的较高级别的动作,并且过滤器或子过滤器可以是较具体的动作,其根据给定方案而被执行。过滤器和子过滤器可用于多于一个方案和子方案,并且不一定对于特定方案是独特的。服务405、505和605各自向邻近平台415注册相应的模式410、510和610(如附图标记420、520和620所指示)。取决于给定的情形,方案和过滤器两者均可以在经注册的模式中指示。

相应模式可以利用在主机设备105上实例化的预设模式,使得每个模式表示可由主机设备解密和理解的特定信息。因此,从外围设备接收的通告可以对应于注册的模式,从而使主机设备自动理解关于所连接的外围设备的细节,并自动执行针对该特定外围设备的功能。相应的模式可以利用在主机设备105上被实例化的预设模式,使得每个模式表示特定信息,该特定信息是由主机设备可解密和理解的。因此,所接收的来自外围设备的通告可以对应于经注册的模式,由此使主机设备自动理解有关所连接的外围设备的细节,并且自动地执行针对该特定外围设备的功能。向邻近平台注册的各种服务将所有处理集中在os和主机设备的已利用无线通信设备内的单个位置(即邻近平台)中,而不是使多个服务监控特定的外围设备连接。将处理集中在邻近平台上可以节省电池寿命、处理能力和与计算设备相关联的带宽,并且由于节省了资源,最终可以延长单次电池充电的寿命。

图7是字段700的例示性分类法,字段700与从外围设备110传输的通告有效载荷相关联。各个字段可以用字节或八位位组的信息填充,这些信息形成完整的模式。假定两个设备均支持邻近平台协议和基础技术,则最终由主机设备接收的模式可以提供有关外围设备、主机设备执行的功能和操作、以及主机设备应用的过滤器的信息的特定细节。如关于图4-6所讨论的,所传输的模式可以对应于来自相应服务的、在邻近平台处的经注册的模式。

通告中的字段700的分类法可以包括长度705、制造者710、公司id715、方案类型(例如使用过滤器)720、子方案类型725(例如使用子过滤器)、校准和rssi数据730、和可选的有效载荷735(例如,存储桶(bucket)信息)。尽管将过滤器和子过滤器作为方案的示例示出,但过滤器和子过滤器只是主机设备实现方案的一个示例。例如,过滤器可以用子方案来实现,并且子过滤器可以用过滤器来实现。当外围设备向主机设备进行信标发送(beaconing)、或连接到主机设备时,方案和过滤器的配置可以基于主机设备的期望功能而最终确定。

另外,取决于系统的整体配置,每个相应字段可以在有效载荷内占据一个或多个字段,特定服务向该系统注册其模式、并且主机与外围设备与该系统交互。例如,如果校准技术改变或者被发现以不同的方式或多或少高效,则rssi数据730可以使用多个字段来传输数据。

图8是蓝牙数据分组805的例示性图800,外围设备110向主机设备105传输该蓝牙数据分组805。数据分组805包括各种字段,其用于不同目的,并且向主机设备提供不同信息。每个相应字段内的数据可以包括规定数目的一个或多个字节(或八位位组,octet),其中每个外围设备都遵循蓝牙协议而坚持特定的结构。尽管本文使用了使用蓝牙技术的示例,但其他无线通信和连接也可以实现当前的邻近平台,包括nfc或wi-fi。

前导码810可以用于内部协议管理,诸如在接收主机设备处的同步和定时估计。访问地址815可以标识主机与外围设备之间的连接,以减少不同无线连接之间数据分组冲突的可能性。pdu(协议数据单元)820字段携带头部835和有效载荷840,其中包含用于通告数据分组数据825的数据。crc(循环冗余校验)830是错误检测代码,用于针对不需要的更改来验证数据分组,其可以被用来确保无线传输的数据分组的数据完整性。

pdu字段的头部835描述了分组类型和pdu类型,其可以限定外围设备的目的。例如,pdu类型可以指示外围设备是可连接的无定向(undirected)通告事件、不可连接的无定向通告事件、可扫描的无定向通告事件等。有效载荷840也形成pdu字段820的一部分,有效载荷840可以是可变大小的,并且描述给定方案的独特模式845,诸如外围设备和主机设备将执行的动作。

有效载荷包括针对一组字节的一系列整数,这些整数形成模式,该模式指示主机设备105要执行的特定动作。例如,图9描绘了通告数据分组825的例示性结构,该通告数据分组825包括头部835和有效载荷840。在该示例中,有效载荷包含32个字节,但是基于所利用的蓝牙版本和方案,更多或更少的字节也可以被利用以用于该有效载荷。有效载荷840包括如针对字段1-n而表示性地示出的字段905。图10示出了例示性通告数据分组825,其中字段1005包括整数,整数中的每一个整数向主机设备指示有关外围设备、要执行的一个或多个动作、或要应用的一个或多个过滤器的信息。

图11和12分别示出了具有独特模式1105和1205的例示性通告分组1100和1200,其中通告1100可以被配置用于le(低能耗)蓝牙配对,并且通告分组1200可以被配置用于诸如使用edr(增强数据速率)的经典蓝牙配对。如图11和12所描绘的,通告分组的有效载荷可以包括多个字段,多个字段中的每一个字段对应于特定的相应描述1110和1210、以及值1115和1215。

与相应字段相关联的每个值提供如描述字段1110和1210中所详述的特定信息(例如长度、卖方id、公司id、方案、接收到的rssi校准等)。未描绘的其他信息也可以被包括在通告中,诸如外围设备的mac(媒体访问控制)地址。尽管在图11和12中示出了特定的八位位组,但是其他变型也是可能的。例如,某些字段可以被移除,并且附加的八位位组可以被给予到,例如,方案字段。只要字节仍然可用,附加的字段就可以被创建或被给予到特定的描述、或其他目的。对于未连接的外围设备(广播通告或信标),通告字段可以用作模式。对于已连接的外围设备,附加信息可以使用蓝牙gatt(通用属性)数据库或l2cap(逻辑链路控制和适配协议)服务连接来取回,以自定义邻近方案。

onebeacon(一信标,由附图标记1120和1220表示)可以指示主机与外围设备之间的特定方案。onebeacon协议是所使用的有效载荷格式结构,其可以针对使用的方案和子方案,向主机设备提供条目或第一级指示。因此,邻近平台实现onebeacon方案,该方案向设备指示以实现特定方案和子方案,其从那里可以导致主机设备执行特定过滤器和子过滤器。在图11和12中所包含的示例中,onebeacon通过字段2-7被指示,但是onebeacon可以备选地使用更少的字段(例如一个或两个字段)或更多的字段来被指示。尽管在本情形中,onebeacon被利用,但邻近平台最终可以在没有onebeacon格式的指示的情况下操作。此外,onebeacon只是方案和子方案的努力的入门级实现的一个示例,但是字段的其他自定义(例如,卖方和公司id字段)可以导致与onebeacon分隔开的不同方案。

当主机设备识别指示onebeacon方案的字段时,这可能会指示特定的有效载荷格式以实现特定的方案,如有效载荷字段中的一个所示。如果外围设备检测到主机设备不支持(例如,未被配置为、不参与)具有可执行过滤器和子方案的onebeacon协议,则外围设备可以仍在不利用过滤器和方案的情况下,正常地配对。因此,onebeacon向主机和外围设备指示如下:每个设备被配置有用于邻近平台的字段,或者被配置为以其他方式利用不具有方案、子方案和过滤器的原始配对模式。

图13和图14示出了相应的例示性环境1300和1400,其中针对主机设备的邻近平台取决于在os中注册的服务和应用来处理方案和过滤器。例如,在图13中,鼠标1305(在该示例中的外围设备)根据onebeacon协议,向与主机设备105相关联的无线通信设备235传输通告1310。所应用的特定方案和过滤器取决于并且对应于来自通告的模式(图11和12)。

在此示例中,无线通信设备的邻近平台415诸如通过检测方案1315和所应用的过滤器1320,而将通告识别为os可以利用的通信。从此处,无线通信设备向os转发通告以进行处理。在这方面,邻近平台客户端可以用作在无线通信设备和os上被实例化的客户端。在没有邻近平台的情况下,os层通常可以将所识别的通告转发到主机设备上的特定服务或应用以进行处理。相反,邻近平台是用以执行各种任务的集中式平台。

图14提供了另一示例性环境1400,在该环境中,一对耳机1405(在该示例中的外围设备)向与主机设备105相关联的无线通信设备235传输通告1410。在该示例中,邻近平台检测到单个方案1415,并且看到存在相关联子方案1420和1425,相关联子方案1420和1425用于主机设备针对该特定外围设备(即,耳机)来执行。

图13和14中的示例之间的不同功能可以归因于通告分组有效载荷内的不同模式。例如,在图13中,主机设备可能希望在ui上将通知置于表面,以快速使得用户能够连接鼠标。相反,在图14中,主机设备可能希望启动音乐应用、自动播放音乐并且执行其他方案和相关联的过滤器,该其他方案和相关联的过滤器在连接耳机时可以被利用并且对于用户是便利的。

图15示出了方案1500的例示性分类法,主机设备在与外围设备连接时可以执行方案1500。尽管在图15中以动作和功能的形式描绘了特定的方案,但是该列表不是穷举的,并且其他过滤器和方案也可以被执行。由主机设备可执行的示例性方案包括下载应用1505、将用户定向到url(例如,网站、本地文件夹/远程文件夹)1510、打开一个或多个应用(例如健身或音乐应用)1515,、启动一个或多个后台应用1520、将通知置于表面(例如,用于连接设备)1525、跟踪外围设备(例如,其相对于主机设备的位置)1530、验证外围设备是否在主机设备1535的阈值存在(thresholdpresence)范围内、以及标识或估算存储桶1540(图20-22),该外围设备位于该存储桶内。在该示例中,由于主机设备可能经常发现大致的方案驱动的邻近度(approximatescenario-drivenproximity)、或针对外围设备的距离的类别表示(categoricalrepresentation)是有用的,故标识存储桶1545(其对应于由数字1540所表示的功能)可以针对多个不同方案而被执行。

例如,当外围设备在到主机设备的一范围内、并且由主机设备可检测到时,阈值存在可以被满足。例如,阈值存在可以是外围设备与主机设备之间的最大距离,即使该设备在该最大距离处是不完全运行的(例如,存在延迟或连接性问题)。备选地,当外围设备在到主机设备的操作距离之内时,阈值存在可以满被足,其中该操作距离是这样的最大距离,通过该最大距离,主机和外围设备可以在仍然正常操作时进行交互,并且其中不具有或具有很小的连接性问题、延迟、中断。

图16示出了方案1600的例示性分类法,其针对这样的方案,子方案还存在于该方案中,即,在有效载荷模式内被指示。特定模式触发或使主机设备以检测外围设备1605的存在。例如,该存在可以是阈值存在,其中通告信标是由主机设备的无线通信设备可取回的(例如,用以识别设备的最大距离)。在这种方案中,子过滤器1610可以被用来跟踪外围设备1615。跟踪可以包括验证外围设备的距离,使得主机设备可以继续使用或依赖外围设备,而不必担心外围设备在范围外、不再活动、不再被开启等。备选地,跟踪可以包括将外围设备与外围设备相对于主机设备的位置的特定类别表示相关联。为了通过地址来跟踪外围设备,有效载荷不再需要匹配,并且因此仅地址可以被使用。

在主机设备检测到外围设备的存在之后(例如,接收到广播信标通告),该过滤器可以不予考虑(如由数字1635所表示的)或可以被维持。例如,存在检测过滤器可以主要用于结合给定方案来检测外围设备的存在。然后,该方案确定下一步是什么,在本情况中何为通过地址1615的第二跟踪过滤器。当该方案完成时,此第二过滤器可以不予考虑。在这种情形中,保留第一过滤器以便针对此特定方案来检测任何其他设备,使得其他外围设备也可以利用此方案功能性。

然而,在备选实施例中,第一过滤器也可以连同第二过滤器一起而不予考虑,或者第二过滤器可以被维持。例如,主机设备可以跟踪外围设备的存在,在这种情况下,主机设备可以周期性地标识或估算(approximate)外围设备的位置。如果外围设备不再活动,则该过程可以重复,其中用以检测外围设备的存在的第一过滤器1605可以被应用,直到其已经被满足为止。

如图16所示,附加方案和过滤器还可以被采用。例如,主机设备可以下载应用1620,打开应用(例如,音乐播放器)1625,并且检查和下载更新/驱动程序1630。如上所讨论的,这些过滤器中的任何一个或多个过滤器也可以在完成后不予考虑,或可以被维持。

图17提供了示例性方案1700,其中无线扬声器1705(外围设备)连接到(或通过信标尝试连接)膝上型计算机1710(主机设备),并且膝上型计算机确定扬声器相对于膝上型计算机的位置。如图17所示,距离p(由附图标记1715所表示)在膝上型计算机与扬声器之间延伸。由于膝上型计算机可以具有与台式机工作站不同的校准,主机设备被配置为使用从扬声器发射的、在通告分组中的值以及主机设备上的本地配置参数,来确定基于邻近度的存储桶。

图18示出了例示性环境1800,其中先前测试在参考发射机(在此示例中为扬声器)1805和参考接收机(在此示例中为pc)1810上执行,以校准特定的外围设备。例如,为了校准设备,参考发射机对照真实主机设备1815来进行校准,参考接收机1810对照真实外围设备1820来进行校准。基于该校准,针对该特定外围设备,参考数据1825被确定。例如,参考数据1825可以是表示特定方案中的值的数据,其可以与主机与外围设备(诸如,图17中的无线扬声器1705与膝上型计算机1710)之间的实时或实况值进行比较。

参考数据1825可以包括测量的rssi值和参考距离,测量的rssi值从参考距离而被导出。图18中所描绘的方案可能是理想的情况,其中存在很少到没有的干扰,天线正确地工作且在正确定向上,距离对于特定设备和/或无线通信设备(即收发机)、以及对于可能影响针对所广播的通告/信标的信号接收质量的任何其他因素是是理想的。

参考数据然后可以在实时示例中使用,来确定方案驱动的邻近度。图19图示了图17中的方案的示意性表示1900。如图19所图示的,扬声器1705向膝上型计算机1710发射通告分组1905,膝上型计算机从通告分组1905中确定方案驱动的邻近度(由附图标记1930表示)。方案驱动的邻近度可以被用来代替如图17中由1715所表示的实际距离。通告分组1905包括有效载荷中的校准和实时数据,膝上型计算机使用有效载荷中的校准和实时数据来确定方案驱动的邻近度。例如,有效载荷可以包括参考rssi(图18)和参考距离(图18),主机设备可以使用所有这些来确定或估算距离p。

作为系统的附加示例和增强,在校准阶段期间所获得的经校准的rssi值和其他信息可以由主机设备和外围设备预先存储,并且在外围设备发射通告时被参考。这可以允许第一方或第三方周期性地向主机设备更新校准信息。主机设备可以进一步被配置为考虑到可以影响rssi值的其他因素,并且由此调整所确定的距离的准确度,诸如衰减标度(attenuationscaling)1915、衰落余量(fademargin)1920、以及可以引起针对无线连接的干扰1925并且由此影响所发射的实况rssi值的其他因素。

以下部分包括说明性讨论和公式,主机设备可以利用这些讨论和公式,来确定或估算外围设备相对于主机设备的距离。使用路径损耗等式和friis传输等式,可以将距离公式建模为:

logrx=logkc+logkt+logkr+logtx-nlogd-nlogm

其中:

tx=有效发射功率;

rx=接收功率(rssi);

kc,kt,kr=衰减标度、衰落余量等。这些参数分别针对传输信道、发射机无线电和接收机无线电;

d=距离;

n=与信道有关的指数(通常大于2,在自由空间中为2);以及

m=校正系数,该常数可以被诸如传输频率的因素影响。

通过用固定的tx在不同距离处进行连续测量,针对如下给定的信道条件,可以经验地估计系数kt、kr和n:

直接的视线

处于最可能与无线电相关的角度(例如,在主机设备的侧面或前方),

例如,对于n,给定一组测量值:

(rx1,tx1,d1),(rx2,tx2,d2):logrx1=logk+logtx1-nlogd1-nlogm

logrx2=logk+logtx2-nlogd2-nlogm

logrx2-logrx1=logtx2-logtx1-n(logd2-logd1)

假设在进行针对黑匣子设备的测量时,有效发射功率未知,则发射功率可以保持恒定以使校准工作。可以经验地确定信道指数n:

距离可以经由与在已知距离处的基线测量的相对比较来估计:

logrx0=logkt1+logkr0+logkct0+logtx1-nt0logd0-nt0logmt0

logrx=logkt1+logkr+logkct+logtx1-nlogd-nlogm

logrx-logrx0

=(logkr-logkr0)+(logkct-logkct0)-nlogd-nlogm+nt0logd0+nt0logmt0

nlogd-nt0logd0

=(logkr-logkr0)+(logkct-logkct0)-(logrx-logrx0)-(nlogm-nt0logmt0)

其中:

tx1=处于校准的发射机的有效发射功率;

rx0=距发射机校准测量的固定参考距离d0处的接收功率(rssi);

rx=实时测量中的接收功率(rssi);

d0=参考测量距离(为简单起见,通常为1米);

ktl=针对处于校准的发射机的衰减标度;

kr0=针对参考接收机的衰减标度,衰落余量;以及

nt0,mt0=针对处于校准的发射机的参考测量设置的信道相关系数和校正系数。

如果做出以下假设:

kc,n在校准之间是恒定的(相同的信道条件);

校正系数m是恒定的;

在理想情况下,剩余的尾部系数a减小为零。实验测量可以进行以估计a的方差是多少,以确定距离估计的置信水平。

如果参考距离是一米、并且相同的参考接收机被使用,则公式简化为:

然而,接收机还可以使用相对测量来校准,以确定kr的值。

logrxr=logkt0+logkr0+logkc0+logtx0-nr0logd0-nr0logmr0

logr′x=logkt0+logkr+logk′c+logtx0-n′logd0-n′logm′

logr′x-logrxr

=(logkr-logkr0)+(logk′c-logkc0)-logd0(n′-nr0)-n′logm′+nr0logmr0

logkr=logkr0+(logr′x-logrxr)-(logk′c-logkc0)+logd0(n′-nr0)+n′logm′-nr0logmr0

在1米的参考距离处,这变为:

logkr=logkr0+(logr′x-logrxr)+b

其中:

tx0=参考发射机的有效发射功率;

rxr=在参考发射机与参考接收机之间相距固定参考距离d0处的接收功率(rssi);

rx=在处于校准的参考发射机与接收机之间相距固定参考距离

d0处的接收功率(rssi);

kt0=针对参考发射机的衰减标度;

kr0=针对参考接收机的衰减标度、衰落余量;以及

nr0,mr0=针对参考发射机与参考接收机之间测量设置的信道相关系数和校正系数。

如果做出以下假设:

kc,n在校准之间是恒定的(相同的信道条件);

校正系数m是恒定的;

d0是1米;

logkr=logkr0+(logr′x-logrxr)

在理想情况下,剩余的尾部系数b减小为零。

实验测量可以进行以估计b的方差是多少,以确定接收机校准估计的置信水平。

现在距离可以经由完整公式来估算:

其中:

rx=实时测量的接收功率(rssi);

rx0=从发射机校准测量获得的、在固定参考距离1米处的接收功率(rssi);

r′x=在接收机校准测量期间获得的、在参考发射机与接收机之间相距固定参考距离1米处的接收功率(rssi);

rxr=在参考发射机与参考接收机之间相距固定参考距离1米处的接收功率(rssi);

n=经由两点测量而经验地确定的指数:

当针对外围设备的方案驱动的邻近度或位置被确定时(例如,相对于主机设备的距离的类别表示),主机设备可以将该信息用作附加工具,在该附加工具中,方案或过滤器可以被实现。例如,主机设备可以实现的一种这样的方案是在建立连接(例如,蓝牙edr或le)之后跟踪外围设备。为了准确地跟踪外围设备,如图19的通告分组1905的有效载荷中所图示的,主机设备可以基于接收到的各种数据,利用校准技术以确定针对外围设备的方案驱动的邻近度。

图20和图21分别描绘了其中利用了存储桶的环境2000和2100,其中存储桶定义了其中外围设备110可以相对于主机设备105被定位的具体的远端参数。因此,从主机设备的每个远端点可以与特定的存储桶相关联。存储桶可以被利用作为对于上述校准技术的备选或补充。例如,邻近平台可以基于如下来实现过滤器/方案:基于所确定的针对外围设备的距离和/或基于这样的存储桶,外围设备被确定位于该存储桶中。当特定的存储桶被确定为外围设备所位于的存储桶时,这可以基于如上所讨论的经校准的确定,或者仅基于在实况连接中与外围设备相关联的原始rssi数据。

图20示出了由特定距离定义的各种存储桶2005,特定距离使用rssi值通过x、y和z分贝(-dbm)来表示。超过z-dbm的任何距离可以表示外围设备在从主机设备开始的范围外2010。主机设备可以被配置为基于给定外围设备位于其中的存储桶,执行特定的过滤器或方案。

因此,例如,距离线2015指示主机设备可以针对外围设备进行标识的各种位置。每次主机设备确定外围设备位于新存储桶内时,主机设备可以执行特定功能,诸如在外围设备已被标识为“存在”并且正接近“在范围外”时,将对用户的通知置于表面。从外围设备发射的有效载荷模式可以决定主机设备是否执行功能、以及当外围设备进入特定存储桶时要执行哪个功能。

存储桶可以是与针对外围设备(例如,鼠标、键盘和扬声器)的特定方案相关联的预定参数。尽管rssi值和存储桶可以被用来指示经估计的距离,但它们也可以备选地指示远端类别,其表示信标强度或信标强度不足。此外,随着主机设备继续以连接到一个或多个外围设备,存储桶的参数可以周期性地调整。例如,主机设备可以确定特定的实况rssi值实际上是比先前识别的更弱的连接,并且相应地将该实况rssi值与更远的存储桶相关联。

相反,主机设备可以将实况rssi值与较强的信号相关联,并且由此将外围设备与相对较近的存储桶相关联。调整可以基于与特定外围设备的重复连接、或与不同外围设备的重复连接。此外,调整可能基于众包(crowed-sourced)信息,其中多个主机设备用于基于彼此与特定外围设备或不同外围设备的连接来学习和适应。

主机设备可以利用所连接的外围设备的特定类型以及外围设备位于其内的存储桶,来确定要执行的不同过滤器或方案。因此,不同的过滤器和存储桶参数对于给定的外围设备可以是独特的,并且相应地被利用。例如,存储桶可以基于所采用的存储桶的数目、在每个相应存储桶内所限定的范围、以及当给定外围设备位于相应存储桶中时主机设备要执行的过滤器/方案,针对外围设备而变化。

图21示出了可以与存储桶相关联的示例性绰号(moniker)。例如,当外围设备被确定为在x-dbm之内(例如,使用实况rssi和经校准的rssi数据)时,x-dbm是所定义的邻近存储桶,并且是距主机设备的预期距离,外围设备可以被指定为处于距主机设备的接近(close-by)距离2105。当外围设备被确定为距主机设备在x与y-dbm之间时,外围设备可以被指定为在与主机设备相同的房间2110内。当外围设备被确定为距主机设备在y与z-dbm之间时,外围设备可以被指定为是存在2115。当外围设备被确定为距主机设备超过z-dbm时,外围设备可以被指定为在范围外、被关闭、或不再活动2120。此外,并入通过遥测而获得的统计数据,这些统计置信度度量可以作为与确定性相反地被利用(即,位于x、y等内的高置信度百分比)。

在例示性的图21中,主机设备105具有键盘的确定的位置2125,使用通告有效载荷数据(图19),确定键盘外围设备位于被标识为“存在”的存储桶内。在此示例中,主机设备可以被配置为只要键盘存在就跟踪键盘,并且因此当键盘的存储桶从接近距离改变到相同房间时,主机设备可以不执行任何功能。然而,在键盘达到“存在”状态时,根据所实现的过滤器,主机设备可以将对用户的警报置于表面,其指示用户几乎要在范围外。

图22示出了例示性环境2200,其中无线触控笔2210至少向膝上型计算机2205进行信标发送,并且膝上型计算机确定两个设备之间的存储桶(由数字2215表示)。备选地,触控笔和膝上型计算机可以彼此连接。存储桶可以通过使用所广播的通告有效载荷来标识,而不论两个设备是否实际连接。在其中设备被连接的示例中,gatt(通用属性)数据库或l2cap(逻辑链路控制和适配协议)服务可以被用来取回校准数据。在该示例中,rssi值和无线连接可能由于灯2220而受到干扰,并且由此连接质量降低。在这种情形中,尽管该笔可能在到膝上型计算机的接近距离之内,但实况rssi值和连接可能比预期的更弱,并且由此该笔与其相关联的存储桶被改变。

因此,由于由灯引起的更改的rssi值,膝上型计算机-主机设备可以将该笔与超过“接近”(诸如针对图21所讨论的“存在”)的存储桶相关联。在这方面,除了指定针对外围设备的特定位置之外,存储桶可以表示针对主机设备的可使用的值,还可以基于外围设备与主机设备之间连接的实际强度,将外围设备与有用的指定相关联。除了灯以外,妨碍主机与外围设备之间的连接的其他物体、结构和干扰也是可能,其包括恶劣的天气、墙、桌子、电视机等。

图23是例示性方法3000的流程图,其中邻近平台在主机设备处实现。除非具体地说明,否则流程图中示出的、以及所附文本中描述的方法或步骤不限于特定的顺序或序列。另外,方法中的一些方法或其步骤可以同时发生或同时执行,并且取决于给定实现的要求,并非所有方法或步骤都必须在这样的给定实现中被执行,并且一些方法或步骤可以可选地被利用。

在步骤2305中,来自服务的模式被注册在主机计算设备处。该模式可以详细说明外围设备的特性、以及在主机设备处用于外围设备的处理。在步骤2310中,外围设备在主机设备的阈值存在内的指示被接收到。在步骤2315中,主机设备周期性地跟踪外围设备,以至少验证外围设备距主机设备的距离没有延伸超过阈值存在。

图24是当点对点连接在主机设备和外围设备之间建立时,可以由主机设备执行的例示性方法2400的流程图。在步骤2405中,在标识传入的通告时,该通告内的模式被解析。该模式的部分可以定义外围设备的特性,诸如制造者、与外围设备相关联的公司等。

在步骤2410中,与外围设备相关联的实况rssi值被标识。一经接收到通告,实况rssi值可以由无线电接收机测量。在步骤2415中,使用实况rssi值和经校准的rssi值,确定针对外围设备的距主机设备的距离。经校准的rssi值可以从参考主机设备与参考外围设备之间的先前测试而已经被确定,使得由于设备和系统组合(设备或系统外壳材料、无线电性质等)差异而引起的任何干扰、或者影响实况rssi值的其他因素可以被考虑和计入考量中。

图25是可以由计算设备执行的例示性方法2500的流程图。在步骤2505中,在接收到通告时,多个记录被注册,该多个记录详细说明至少一个过滤器或多个过滤器、以及针对主机设备的处理操作。在步骤2510中,根据被包含在所接收的通告中的模式,第一过滤器被应用到外围设备。在步骤2515中,在主机设备应用第一过滤器之后,根据被包含在所接收的通告中的另一模式,第二过滤器被应用到外围设备。在步骤2520中,在应用第二过滤器之后。第二过滤器不予考虑,但是在该示例中第一过滤器可以继续执行。第一滤波器可以被维持,例如以检测包括相似模式的其他外围设备,使得主机设备可以拾取该模式。然而,第二过滤器可以依赖于第一过滤器,因此没有理由继续第二过滤器的执行。

图26是诸如pc、客户端机器或服务器的例示性计算机系统2600的简化框图,本邻近平台可以用例示性计算机系统2600来实现。计算机系统2600包括处理器2605、系统存储器2611和系统总线2614,该系统总线2614将包括系统存储器2611的各种系统组件耦合到处理器2605。系统总线2614可以是如下几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或局部总线,其使用各种总线体系架构中的任何一种架构。系统存储器2611包括只读存储器(rom)2617和随机存取存储器(ram)2621。rom2617中存储有基本输入/输出系统(bios)2625,基本输入/输出系统(bios)2625包含基本例程,基本例程诸如在启动期间帮助在计算机系统2600中的元件之间传递信息。计算机系统2600可以进一步包括:硬盘驱动器2628,用于从内部布置的硬盘(未示出)读取和向该内部布置的硬盘(未示出)写入;磁盘驱动器2630,用于从可移动磁盘2633(例如软盘)读取和向该可移动磁盘2633(例如软盘)写入;以及光盘驱动器2638,用于从可移动光盘2643(诸如cd(压缩盘)、dvd(数字多功能光盘)或其他光学介质)读取或向可移动光盘2643写入。硬盘驱动器2628、磁盘驱动器2630和光盘驱动器2638分别通过硬盘驱动器接口2646、磁盘驱动器接口2649和光盘驱动器接口2652连接到系统总线2614。驱动器及其相关联的计算机可读存储介质为计算机系统2600提供了计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。尽管此例示性示例包括硬盘,可移动磁盘2633以及可移动光盘2643,但可以存储由计算机可访问的数据的其他类型的计算机可读存储介质,诸如磁带、闪速存储器卡、数字视频盘、数据盒带、随机存取存储器(ram)、只读存储器(rom)等,也可以在本邻近平台的某些应用中使用。另外,如本文所使用的,术语计算机可读存储介质包括一种或多种介质类型的实例(例如,一个或多个磁盘、一个或多个cd等)。为了本说明书和权利要求的目的,短语“计算机可读存储介质”及其变型是非暂时性的,并且不包括波、信号和/或其他暂时性和/或无形的通信介质。

多个程序模块可以存储在硬盘2628、磁盘2630、光盘2638、rom2617或ram2621上,其包括操作系统2655、一个或多个应用2657、其他程序模块2660和程序数据2663。用户可以通过诸如键盘2666的输入设备、以及诸如鼠标的指点设备2668将命令和信息输入到计算机系统2600中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、碟形卫星天线、扫描仪、轨迹球、触摸板、触摸屏、触敏设备、语音命令模块或设备、用户运动或用户手势捕获设备等。这些和其他输入设备通常通过串行端口接口2671连接到处理器2605,但也可以通过诸如并行端口、游戏端口或通用串行总线(usb)的其他接口连接到处理器2605,串行端口接口2671耦合到系统总线2614。监控器2673或其他类型的显示设备也经由诸如视频适配器2675的接口连接到系统总线2614。除了监控器2673之外,个人计算机通常还包括其他外围输出设备(未示出),诸如扬声器和打印机。图26所示的例示性示例还包括主机适配器2678、小型计算机系统接口(scsi)总线2683和连接到scsi总线2683的外部存储设备2676。

计算机系统2600可在联网环境中使用到一台或多台远程计算机(诸如远程计算机2688)的逻辑连接进行操作。尽管在图26中仅示出了单个代表性的远程存储器/存储设备2690,远程计算机2688可以被选择作为另一个人计算机、服务器、路由器、网络pc、对等设备或其他公共网络节点,并且通常包括上面相对于计算机系统2600所述的许多元件或所有元件。图26中描绘的网络包括局域网(lan)2693和广域网(wan)2695。这样的联网环境通常被部署在例如办公室、企业范围的计算机网络、内联网和因特网中。

当在lan联网环境中使用时,计算机系统2600通过网络接口或适配器2696连接到局域网2693。当在wan联网环境中使用时,计算机系统2600通常包括宽带调制解调器2698,网络网关或用于通过诸如因特网的广域网2695建立通信的其他部件。宽带调制解调器2698可以是内部的或外部的,宽带调制解调器2698经由串行端口接口2671连接到系统总线2614。在联网环境中,与计算机系统2600相关的程序模块或其部分可以存储在远程存储器存储设备2690中。注意的是,图26中所示的网络连接是例示性的,并且取决于本邻近平台的应用的特定要求,在计算机之间建立通信链路的其他部件可以被使用。

图27示出了一种设备的例示性架构2700,该设备能够执行本文中针对本邻近平台描述的各种组件。因此,图27中图示的架构2700示出了可以适用于服务器计算机、移动电话、pda、智能电话、台式计算机、上网本计算机、平板计算机、gps设备、游戏控制台和/或膝上型计算机的架构。架构2700可以被利用以执行本文所呈现的组件的任意方面。

图27中所示的架构2700包括cpu(中央处理单元)2702、包括有ram2706和rom2708的系统存储器2704、以及将存储器2704耦合至cpu2702的系统总线2710。基本输入/输出系统被存储在rom2708中,该基本输入/输出系统包含基本例程,该基本例程诸如在启动期间帮助在架构2700内的元件之间传递信息。架构2700还包括大容量存储设备2712,用于存储软件代码或其他计算机执行的代码,其被利用以实现应用、文件系统和操作系统。

大容量存储设备2712通过大容量存储控制器(未示出)连接到cpu2702,大容量存储控制器连接到总线2710。大容量存储设备2712及其关联的计算机可读存储介质为架构2700提供了非易失性存储。

尽管本文包含的计算机可读存储介质的描述是指大容量存储设备,诸如硬盘或cd-rom驱动器,但是本领域技术人员可以理解,计算机可读存储介质可以是可以由架构2700访问的任意可利用的存储介质。

作为示例而非限制,计算机可读存储介质可以包括以任何方法或技术实现的易失性的和非易失性的、可移动的和不可移动的介质,以用于诸如计算机可读指令、数据结构、程序模块或其他数据的信息的存储。例如计算机可读介质包括但不限于ram、rom、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、闪速存储器或其他固态存储技术、cd-rom、dvd、hd-dvd(高清dvd)、蓝光或其他光学存储设备、磁带、盒式磁带、磁带存储设备或其他磁性存储设备、或可以被用来存储所需信息并且由架构2700可以访问的任意其他介质。

根据各种实施例,架构2700可以使用通过网络的到远程计算机的逻辑连接而在联网环境中操作。架构2700可以通过网络接口单元2716连接到网络,网络接口单元2716连接到总线2710。可以理解,网络接口单元2716也可以用于连接到其他类型的网络和远程计算机系统。架构2700还可以包括输入/输出控制器2718,用于接收和处理来自数种其他设备的输入,其他设备包括键盘、鼠标或电子笔(图27中未示出)。类似地,输入/输出控制器2718可以将输出提供给显示屏、打印机或其他类型的输出设备(在图27中也未示出)。

应当理解,本文描述的软件组件可以在被加载到cpu2702中并被执行时,将cpu2702和整体架构2700从通用计算系统转换成定制的专用计算系统,以促进本文呈现的功能。cpu2702可以由任意数目的晶体管或其他分立电路元件构成,其可以单独或共同地呈现任意数目的状态。更具体地,响应于被包含在本文公开的软件模块内可执行指令,cpu2702可以作为有限状态机操作。这些计算机可执行指令可以通过指定cpu2702如何在状态之间转变,来对cpu2702进行转换,由此对构成cpu2702的晶体管或其他分立硬件元件进行转换。

对本文呈现的软件模块进行编码也可以转换本文呈现的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的特定转换可以取决于各种因素。这样的因素的示例可以包括但不限于用于实现计算机可读存储介质的技术,计算机可读存储介质是被表征为主存储还是辅存储等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文公开的软件可以通过转换半导体存储器的物理状态而被编码在计算机可读存储介质上。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。该软件还可以转换这些组件的物理状态,以便在其上存储数据。

作为另一示例,本文公开的计算机可读存储介质可以使用磁性或光学技术来实现。在这样的实现中,当软件在磁性或光学介质中被编码时,本文呈现的软件可以转变其物理状态。这些转变可以包括更改给定磁性介质内的特定位置的磁性特性。这些转换还可以包括更改给定光学介质内的特定位置的物理特征或特性,以改变那些位置的光学特性。在不脱离本说明书的范围和精神的情况下,物理介质的其他转换是可能的,其中提供前述示例仅是为了促进该讨论。

鉴于以上内容,可以理解,许多类型的物理转换在架构2700中发生,以便于存储和执行本文呈现的软件组件。还可以理解,架构2700可以包括其他类型的计算设备,包括本领域技术人员已知的手持计算机、嵌入式计算机系统、智能电话和pda。还可以设想的是,架构2700可以不包括图27所示的组件中的所有组件、可以包括在图27中未明确示出的其他组件、或者可以利用与图27所示的架构完全不同的架构。

图28是诸如移动电话或智能电话的例示性主机计算设备105的功能框图,其包括各种可选的硬件和软件组件,其总体上以2802示出。移动设备中的任意组件2802可以与任意其他组件通信,尽管为了便于说明,未示出所有连接。该移动设备可以是各种计算设备中的任意一种设备(例如,蜂窝电话、智能手机、手持计算机、pda等),并且可以允许与诸如蜂窝网络或卫星网络的一个或多个移动通信网络2804进行无线双向通信。

所图示的设备105可以包括控制器或处理器2810(例如信号处理器、微处理器、微控制器、asic(专用集成电路)或其他控制和处理逻辑电路),其用于执行诸如信号编码、数据处理、输入/输出处理、功率控制和/或其他功能的任务。操作系统2812可以控制组件2802的分配和使用,包括功率状态、上锁(above-lock)状态和下锁(below-lock)状态,并且提供对一个或多个应用2814的支持。应用程序可以包括普通的移动计算应用(例如,图像捕获应用、电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)或任意其他计算应用。

所图示的设备105可以包括存储器2820。存储器2820可以包括不可移动存储器2822和/或可移动存储器2824。不可移动存储器2822可以包括ram、rom、闪速存储器、硬盘或其他众所周知的存储器存储技术。可移动存储器2824可以包括闪速存储器、或在gsm(全球移动通信系统)系统中众所周知的订户身份模块(sim)卡,或诸如“智能卡”的其他众所周知的存储器存储技术。存储器2820可以用于存储数据和/或代码,以用于运行操作系统2812和应用2814。示例数据可以包括网页、文本、图像、声音文件、视频数据或其他数据集合,其经由一个或多个有线或无线网络向一个或多个网络服务器或其他设备发送和/或其经由一个或多个有线或无线网络从一个或多个网络服务器或其他设备接收。

存储器2820还可以被布置为或包括以任意方法或技术实现的一个或多个计算机可读存储介质,以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息。例如,计算机可读介质包括但不限于ram、rom、eprom、eeprom、闪速存储器或其他固态存储技术、cd-rom(光盘rom)、dvd、(数字多功能光盘)hd-dvd(高清dvd)、蓝光或其他光学存储设备、磁带、盒式磁带、磁带、磁盘存储设备或其他磁性存储设备、或可以被用来存储所期望信息并且可以由设备105访问的任意其他介质。

存储器2820可以用于存储:订户标识符,诸如国际移动订户身份(imsi);以及设备标识符,诸如国际移动设备标识符(imei)。这样的标识符可以被传输到网络服务器以标识用户和设备。设备105可以支持一个或多个输入设备2830——诸如触摸屏2832;或麦克风2828,用于实现用于语音识别、语音命令等的语音输入;相机2836;物理键盘2838;轨迹球2840;和/或邻近传感器2842;一个或多个输出设备2850——诸如扬声器2852和一个或多个显示器2854。在一些情况下,使用手势识别的其他输入设备(未示出)也可以被利用。其他可能的输出设备(未示出)可以包括压电或触觉输出设备。一些设备可以提供多于一个输入/输出功能。例如,触摸屏2832和显示器2854可以被组合成单个输入/输出设备。

如本领域中众所周知的,无线调制解调器2860可以耦合到天线(未示出),并且可以支持处理器2810与外部设备之间的双向通信。调制解调器2860被一般性地示出并且可以包括蜂窝调制解调器,用于与移动通信网络2804和/或其他基于无线电的调制解调器(例如蓝牙2864或wi-fi2862)进行通信。无线调制解调器2860通常被配置为与一个或多个蜂窝网络(诸如gsm网络)通信,用于单个蜂窝网络内、蜂窝网络之间、或设备与公共交换电话网络(pstn)之间的数据和语音通信。

该设备还可以包括至少一个输入/输出端口2880、电源2882、卫星导航系统接收器2884(例如gps接收器)、加速度计2896、陀螺仪(未示出)和/或物理连接器2890,其可以是usb端口、ieee1394(firewire)端口和/或rs-232端口。由于可以删除任意组件并且可以添加其他组件,所图示的组件2802不是必需的或包括全部的。

现在通过例示的方式而不是作为所有实施例的详尽列表来呈现本邻近平台的各种示例性实现。一个示例包括一种用于基于到外围设备的邻近度,来在主机设备上执行方案的方法,其中主机设备包括:无线通信设备,用以至少监控来自外围设备的信标发送,该方法包括:在主机设备处注册来自服务的模式,其详细说明外围设备的特性和针对外围设备的处理;接收外围设备在到主机设备的阈值存在内的指示;响应于接收到该指示,周期性地跟踪外围设备,以验证外围设备与主机设备的距离没有延伸超过阈值存在。

在另一示例中,该模式包括字段,每个字段表示在外围设备连接到主机设备或向主机设备进行信标发送时,针对外围设备的特性或处理细节中的一项或多项。作为另一示例,模式的字段包括过滤器,该过滤器指定针对外围设备的处理,使得对外围设备的周期性跟踪包括:在外围设备连接到或向主机设备进行信标发送时,验证一个或多个过滤器一致地(consistently)被满足。在另一示例中,字段表示与外围设备关联的制造者、针对外围设备的方案、以及针对外围设备的子方案,其中该方案指示要执行的动作,并且该子方案提供有关要执行的动作的附加细节。在另一示例中,从外围设备到主机设备的连接或信标发送是根据蓝牙协议的。在另外的示例中,该方法可以包括:当外围设备在到主机设备的阈值存在内时,从外围设备接收通告传输;将通告传输匹配到所注册的模式,以确定针对外围设备哪些动作要执行。在另一示例中,该方法可以包括:向多个相应服务注册多个模式,其中每个模式指定针对特定外围设备、一群组外围设备、或一类别的外围设备的特性和处理。

另一个示例包括计算设备,该计算设备包括:无线通信设备,该无线通信设备周期性地监控传入的通告传输;与无线通信设备通信的一个或多个处理器;以及一个或多个基于硬件的非暂时性存储设备,该存储设备存储计算机可读指令,当该指令由一个或多个处理器执行时,使计算设备:在标识传入的通告时,解析传入的通告内的模式,使得该模式的各部分定义了与传入的通告相关联的外围设备的特性;标识与外围设备相关联的实况rssi(接收信号强度指示)值;使用实况rssi值和针对外围设备的经校准的rssi值,确定针对外围设备的距计算设备的距离,其中经校准的rssi值考虑与计算设备和外围设备之间的实时连接相关联的变化特性。

作为另一示例,所确定的距离还基于设定距离,该设定距离被用于获得经校准的rssi值。在另一个示例中,经校准的rssi值是基于与该外围设备相对应的、不同的、相关的外围设备相对于参考主机设备之间的先前测量值,使得使用经校准的rssi值和实况rssi值确定距离指示以下项中的一项或多项:外围设备与计算设备之间的距离或特定的远端参数。作为另一个示例,计算机可读指令还使计算设备:建立针对外围设备的存储桶,这些存储桶标识距计算设备的定义距离或远端(distal)类别,远端类别至少部分表示距计算设备的定义距离;使用经校准的rssi值或rssi值中的一项或两项来投影外围设备距计算设备的距离;并且基于所投影的距离,来标识针对外围设备的存储桶。在另一示例中,所建立的针对外围设备的存储桶是基于以下一项或多项:主机设备与一个或多个对应外围设备之间的先前连接或先前校准,或者先前接收到的从一个或多个对应外围设备到计算设备的通告。作为另一个示例,所建立的存储桶使用先前的连接、先前的校准或先前接收到的通告来调整。作为另一个示例,计算机可读指令还使计算设备:使用后续的rssi值来跟踪外围设备;基于后续的rssi值,标识针对外围设备的后续的存储桶;以及在所标识的针对外围设备的后续存储桶从先前标识的存储桶改变时,执行动作。作为另一示例,外围设备包括耳机、键盘、鼠标、扬声器、相机、显示器或打印机。

在另一示例性实施例中,一个或多个基于硬件的非暂时性计算机可读存储器设备存储指令,当该指令由设置于主机设备中的一个或多个处理器执行时,使主机设备:当接收到通告时,注册多个记录,该多个记录详细说明至少一个或多个过滤器和用于主机设备的处理操作,其中该记录分别与来自多个服务或应用中的服务或应用相关联,多个服务或应用在主机设备上执行;并且当主机设备接收到信标时,应用第一过滤器,其中所应用的第一过滤器对应于被包含在所接收的通告中的模式。

作为另一示例,一个服务或应用与多个记录中的两个或更多个记录相关联。作为另一示例,在主机设备应用第一过滤器之后,指令进一步使主机设备:使用被包含在所接收的通告内的另一模式来应用第二过滤器。在另一个示例中,指令还使主机设备在应用第二过滤器之后,对第二过滤器不予考虑,并且继续执行第一过滤器以检测附加通告。在另一个示例中,第一过滤器和第二过滤器中的一项或两项包括子过滤器,子过滤器进一步定义了针对主机设备的、基于通告来执行的可应用的动作。

在另一示例性实施例中,外围计算设备,被配置有点对点短程连接能力,其包括:无线通信设备,被配置为向外部设备广播通告;以及与无线通信设备通信的一个或多个处理器;以及一个或多个基于硬件的非暂时性存储设备,存储针对无线通信设备的数据分组结构,并进一步存储由一个或多个处理器可执行的计算机可读指令,其中数据分组结构包括pdu(协议数据单元),pdu包括头部和有效载荷,该有效载荷被修改以包括定义可动作的方案(actionablescenario)的第一字段、以及定义子方案的第二字段,该子方案与可动作的方案相关联。

在另一个示例性实施例中,第一字段和第二字段包括预定义的八位位组模式。在另一示例中,可动作的方案向外部设备指示外围设备被配置为与外部设备快速配对,使得外围设备的信标模式被预注册在外部设备的os(操作系统)内,并且该外围设备已准备好用于配对。作为另一示例,外围设备在外部设备的os处的预注册包括:存储与外围设备相关联的一个或多个模式,以使得os根据与第一字段和第二字段内的模式相对应的一个或多个模式,自动识别针对外围设备的处理操作。在另一示例中,对在范围中的外围设备的快速配对的检测使外部设备的os以在其用户接口(ui)上自动提示机会,以供用户将外围设备连接到外部设备。作为另一示例,计算机可读指令还使得一个或多个处理器根据来自用户的输入确认,将外围设备与外部设备配对。在另一示例中,无线通信设备利用以下一项或多项:蓝牙、nfc(近场通信)或wi-fi。

另一实施例包括一种计算设备,包括:收发机,其周期性地监控传入的通告传输;以及与收发机通信的一个或多个处理器;一个或多个基于硬件的非暂时性存储设备,存储计算机可读指令,该指令在由一个或多个处理器执行时使计算设备:在接收到传入的通告传输时,将通告传输内的模式与模式的预注册记录进行比较,并且测量外围设备是否在范围内;并且基于该比较,标识快速配对方案,其中该快速配对方案使该计算设备识别出与该通告的传输相关联的外围设备正试图与所述计算设备快速配对,由此使所述计算设备自动在计算设备的显示器的用户接口(ui)上将提示信息置于表面,提示信息为用户提供用于建立与外围设备的无线连接的选项。

作为另一示例,计算机可读指令还使计算设备:接收用户输入以连接到外围设备;以及响应于输入,建立与外围设备的无线连接。作为另一个示例性示例,计算机可读指令还使计算设备:在预设的时间段内监控在提示信息处的用户交互;以及在预设的时间段期满后,将提示信息移动到动作中心,该动作中心使得用户能够在稍后的时间将外围设备与计算设备快速配对。作为另外的示例,计算机可读指令还使计算设备:监控来自外围设备的信标发送;并且当信标发送在计算设备处被检测到时,在动作中心维持提示信息。作为另一个示例,计算机可读指令还使计算设备:监控来自外围设备的信标发送;确定提示信息是否过时;然后根据提示信息是过时的确定,从通知中心中移除该提示信息。在另一个示例中,计算机可读指令还使计算设备:继续监控来自外围设备的信标发送;以及当来自外围设备的信标发送再次被检测到时,在ui或通知中心上将提示信息重新置于表面。作为另一示例,外围设备基于以下一项或多项而是过时的:外围设备的位置延伸超过阈值距离、外围设备被关闭、信标发送中特定模式的存在或不存在、或有效载荷已从通告中被移除。在另一示例中,计算机可读指令还使计算设备:根据快速配对方案应用主过滤器,其中主过滤器使计算设备被动地扫描来自外围设备的通告;以及相应地应用次过滤器,其中该次过滤器使计算设备使用通告中所包含的地址,来被动扫描外围设备的存在或不存在。

另一示例性实施例包括一个或多个基于硬件的非暂时性计算机可读存储设备,其存储指令,当指令由设置在主机设备中的一个或多个处理器执行时,使主机设备:接收模式,其中该模式初始地在与主机设备相关联的无线通信设备处被取回;解析该模式以标识被包含在模式内的信息,其中模式内的信息指示制造者、快速配对被启用以及相关联的应用;以及响应于用户的许可,基于从模式中导出的信息通过网络下载应用。

在另一示例中,被包含在模式内的信息是针对尚未与主机设备相关联的外部计算设备。作为另一示例,将对用户的提示信息置于表面,提示信息是该应用可用于为外围设备下载,其中响应于来自用户的输入,该应用被下载。在另一示例中,基于应用根据通告有效载荷而被标识并下载,该应用在下载时被主机设备自动信任。在另一个示例中,外围设备是耳机、键盘、鼠标、扬声器、相机、显示器或打印机中的任意一项。

以上描述的主题仅以示例的方式提供,并且不应被解释为限制性的。在不脱离在所附权利要求中阐述的本发明的真实精神和范围的情况下,可以对本文描述的主题进行各种修改和改变,而无需遵循所图示和描述的示例实施例和应用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1