接近装置网络的制作方法

文档序号:26013779发布日期:2021-07-23 21:35阅读:87来源:国知局
接近装置网络的制作方法



背景技术:

点对点无线通信技术可以允许彼此接近的装置连接和交换数据,而不需要网关或中央服务器等中间网络装置。然而,当使用此类无线通信技术时,通信范围和互连装置的数量可能是有限的。因而,这些无线通信技术尚未广泛应用于期望扩展覆盖区域或可能同时存在许多装置的环境或应用程序中。

本发明的实施例单独地以及共同地解决了这些问题和其它问题。



技术实现要素:

根据一些实施例,一种用于建立装置网络的技术可以包括使用无线通信协议确定通信装置的通信范围内的一组对等装置,以及确定所述对等装置中的任一个是否是具有少于最大数量的装置成员的装置集群的一部分。所述无线通信协议可以允许装置维持与多达最大数量的并发连接装置的并发连接。当所述通信装置的所述通信范围内的所述一组对等装置中的对等装置被确定为具有少于所述最大数量的装置成员的现有装置集群的一部分时,可以更新所述现有装置集群以包括所述通信装置。当所述通信装置的所述通信范围内的所述一组对等装置中的每个对等装置被确定为具有所述最大数量的装置成员的饱和装置集群的一部分时,可以创建新装置集群以包括所述通信装置和所述一组对等装置中满足信号强度标准的多个对等装置。

根据一些实施例,一种通信装置可以包括:收发器,所述收发器适用于使用无线通信协议交换数据;处理器;以及存储可执行代码的存储器,所述可执行代码在由所述处理器执行时使所述通信装置执行用于建立装置网络的上述技术。

附图说明

图1示出了根据一些实施例的装置网络。

图2a示出了根据一些实施例的新装置出现在装置网络附近时装置网络的状态。

图2b示出了根据一些实施例的将新装置添加到装置网络之后的装置网络的状态。

图3a示出了根据一些实施例的新装置出现在装置网络附近时装置网络的另一状态。

图3b示出了根据一些实施例的将新装置添加到装置网络之后的装置网络的另一状态。

图4a示出了根据一些实施例的装置网络的初始状态。

图4b示出了根据一些实施例的装置从一个位置移动到另一位置之后的装置网络的状态。

图4c示出了根据一些实施例的装置切换装置集群之后的装置网络的状态。

图5示出了根据一些实施例的用于建立装置网络的过程的流程图。

图6示出了根据一些实施例的用于与装置网络重新连接的过程600的流程图。

图7示出了根据一些实施例的在第一时间点位于商家位置处的装置网络的状态。

图8示出了根据一些实施例的在第二时间点位于商家位置处的装置网络的状态。

图9示出了根据一些实施例的通信装置的框图。

具体实施方式

描述了用于建立由彼此以无线方式进行通信的装置构成的网络的技术。所述技术可以用于增强无线通信协议的功能,包括采用蓝牙、蓝牙低功耗、wifi-direct等点对点无线通信技术的无线通信协议的功能。例如,本文中所描述的技术可以用于扩展无线通信协议的通信范围和/或增加无线通信协议可允许的互连装置的数量。网络中的每个装置都可以维持描述网络配置的网络状态信息的本地副本,使得每个装置都察觉到网络中的其它装置,并且网络配置的变化可以从一个装置传播到网络内的另一装置。

在论述各种实施例的细节之前,下文提供了对各个术语的解释。

“无线通信协议”可以指一指定技术,其用于允许两个或更多个装置彼此交换数据,而不需要装置之间的物理有线连接。无线通信协议可以是标准化通信协议,或专有通信协议。无线通信协议的实例可以包括蓝牙、蓝牙低功耗(ble)、wifi、wifi-direct、紫蜂(zigbee)、z-wave、nfc、rfid等。

“通信装置”可以指包括一个或多个电子组件(例如,集成芯片)的装置,所述一个或多个电子组件可以与另一装置或实体进行通信。例如,通信装置可以是计算装置,其包括耦合到存储供处理器执行的指令或代码的存储器的至少一个处理器,并且所述通信装置可以包括允许通信装置与其它实体交互的收发器等通信接口。通信装置可以是可由用户运输和操作的便携式通信装置。便携式通信装置可提供与网络的远程通信能力。便携式通信装置可被配置成将数据或通信传送到其它装置以及从其它装置接收数据或通信。便携式通信装置可呈例如移动电话(例如,智能电话、蜂窝电话等)的移动装置、平板计算机、便携式介质播放器、个人数字助理装置(pda)、可穿戴式装置(例如,手表、手镯、戒指、眼镜、例如健身跟踪器的健康监测装置等)、电子读取器装置等形式,或呈卡(例如,智能卡)或挂件等形式。便携式通信装置的实例还可包括便携式计算装置(例如,膝上型计算机、上网本、超级本等)。便携式通信装置还可呈车辆(例如,汽车)的形式,或集成为车辆的部分(例如,车辆的信息系统)。通信装置的其它实例可包括物联网(iot)装置、智能设备和电子装置、游戏机等。通信装置还可包括多个装置或组件(例如,当装置通过系链到另一装置而能远程访问网络时—两个装置在一起可被视为通信装置)。可以在装置网络内以通信方式彼此耦合的通信装置可以被称作“对等装置”。

“装置标识符”可以指与装置相关联的唯一装置标识符。例如,装置标识符可以是以下各项中的一项或多项:装置的电子序列号、装置的组件的序列号(例如,用户识别模块(sim)序列号)、装置的介质访问控制(mac)地址、与装置相关联的国际移动台设备识别(imei)号、与装置相关联的国际移动用户识别(imsi)号、与装置相关联的网络服务框架标识符、装置的因特网协议(ip)地址,或分配给装置的其它唯一标识符(例如,随机数、伪随机数计数器值等)。在一些实施例中,装置标识符中的一个或多个装置标识符可以是不可变的,并且在装置的寿命期间或当装置连接到特定网络时不会改变。在一些实施例中,只要装置保持与同一用户相关联,装置标识符中的一个或多个装置标识符就可以是不可变的。

“服务器计算机”可以指功能强大的计算机或计算机集群。例如,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。服务器计算机可以耦合到数据库,并且可以包括用于服务来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。

“访问装置”可以指用于与资源提供商进行通信的合适装置。访问装置一般可位于任何合适位置中,例如位于服务提供商或商家的位置处,或可在远程位置处(例如,在云中)。访问装置的实例可以包括销售点(pos)装置、个人计算机(pc)、平板pc、手持式专用读取器、机顶盒、电子收款机(ecr)、自动取款机(atm)、虚拟收款机(vcr)、查询一体机、安全系统、访问系统等。访问装置可以是可以与用户的通信装置交互的万维网服务器、商家计算机或交易处理网络。用户的通信装置(例如,用户的移动装置)也可以用作访问装置。访问装置可使用任何合适的接触或非接触式操作模式以运用通信装置发送或接收数据。访问装置可以包括处理器、计算机可读介质和装置读取器。装置读取器可以包括接触式和/或非接触式操作模式。例如,读卡器可以包括一个或多个射频(rf)天线、光学扫描仪条码读取器或磁条读取器以与通信装置交互。

“用户”可以指实体,例如人、组织或与出于某一目的利用资源的人或组织相关联或由其操作的装置或系统。用户可具有可用于访问资源的一个或多个账户。用户也可以被称作账户持有人、消费者、订户,或持卡人等。

“资源”可以指服务、项目、位置、数据、信息,或帮助用户实现某一目的的有价值的物品。一些资源可能受限,且可能需要用户具有访问资源的账户。资源的实例可包括:软件应用程序和相关功能;包括云服务的在线服务;与交易有关的商品(虚拟和/或物理对象)或服务;可兑换其它资源的积分、分数和/或货币;电子装置,例如服务器、计算机、移动装置、游戏系统等等;例如运输工具或运送服务的运输,例如无线服务的通信能力;受限区域;介质内容;等。

图1示出了根据一些实施例的装置网络100。装置网络100可以包括由用户操作的通信装置102以及由一个或多个其他用户和/或实体操作的一组对等装置151-157(例如,其它通信装置)。尽管对等装置151-157示出为与通信装置102类似,但应理解,对等装置151-57中的任一个可以是不同类型的通信装置,或者可以提供与通信装置102不同的一个或多个功能性和/或功能。通信装置102和对等装置151-157中的每一个可以包括适用于使用无线通信协议交换数据的收发器。收发器可以包括一个或多个天线结构和/或一个或多个集成电路,以使得装置能够根据无线通信协议传送和接收数据。

在一些实施例中,无线通信协议可以具有关于装置可以维持多少并发连接的上限。换句话说,无线通信协议可以允许装置维持与多达仅最大数量的并发连接装置的并发连接。例如,蓝牙协议系列(例如,蓝牙、ble等)可以允许装置维持多达七个并发连接。因此,在装置网络100采用来自蓝牙协议系列的无线通信协议的实施例中,通信装置102仅能够同时与多达七个其它装置连接,如图所示。因此,如果通信装置102想要与另一装置交换数据,则通信装置102将必须与对等装置151-157之一断开连接,并使用无线通信协议建立到所述另一装置的新连接。因此,装置网络100可能不适于在可能同时存在多于八个装置的环境或应用程序中使用。

装置网络100的另一限制在于,网络采用的无线通信协议的技术的通信范围可能有限。例如,蓝牙的有限范围可能小于100米。因此,如果对等装置151-157中的任一个超出通信装置102的通信范围,则通信装置102可能会与所述对等装置失去连接并且可能无法继续与所述对等装置交换数据。因而,装置网络100可能不适于在覆盖区域超出网络采用的无线通信协议的通信范围的环境或应用程序中使用。

根据一些实施例,为了扩展互连装置的数量和通信范围,装置可以形成重叠装置集群的装置网络。每个装置集群可以包括属于多个装置集群的一个或多个装置。网络中的每个装置集群可以具有多达预定最大数量的装置成员。装置集群中的装置成员的预定最大数量可以设置为等于装置使用无线通信协议可允许的并发连接装置的最大数量。因此,每个装置可以与多达比无线通信协议可允许的最大数量的并发连接装置少一个的并发连接装置维持连接,使得每个装置可以具有不专用于与另一装置的任何特定连接的开放通信信道。只要装置与装置集群中的至少一个其它装置维持连接,所述装置就也无需与所述装置所属的装置集群中的每一其它装置维持连接。

借助于使用蓝牙协议系列作为实例进行说明,装置通过无线通信协议可允许的最大数量的并发连接装置是七个装置(例如,装置可以与其它装置维持多达七个连接)。因此,装置集群中的预定最大数量的装置成员可以设置为七个装置(等于无线通信协议可允许的最大数量的并发连接装置),并且装置可以与其它装置维持多达六个连接。随后得出任一个装置可以属于的最大数量的装置集群是六个装置集群,在此情况下,装置将与来自六个不同装置集群中的每一个装置集群的一个装置维持连接。

因而,建立装置网络允许装置集群中的每个装置保留一个开放通信信道以与出现在范围内的新装置进行通信,从而促进将所述新装置添加到装置网络中。装置网络中的每个装置还可以存储网络状态信息的本地副本,所述网络状态信息可以包括关于网络中的装置集群的数量以及网络中的每个装置集群的装置成员的信息。所属网络状态信息还可以包括意图在网络中的装置之间共享的专用信息。当网络状态随着以下情况而改变时:将装置添加到网络中或从网络中移除装置,网络中的装置从一个位置移动到使得装置集群的构成改变的另一位置,或者装置之间的交互改变状态等,更新的网络状态信息可以广播和传播到整个网络中的装置,使得每个装置可以更新其网络状态信息的本地副本。

在一些实施例中,正传送的网络状态信息可以包括时间戳,使得接收方装置可以通过比较网络状态信息的时间戳来确定接收到的网络状态信息是否比网络状态信息的本地副本新。如果接收到的网络状态信息比本地副本新且与本地副本不同,则接收方装置可以将在本地存储的网络状态信息更新为接收到的网络状态信息。如果本地副本更新或包含与接收到的网络状态信息相同的信息,则不需要更新网络状态信息的本地副本。

图2a和2b示出了根据一些实施例的将新装置添加到装置网络中的过程。图2a和2b所示的装置网络采用的无线通信协议可以允许装置维持多达最多七个并发连接装置(例如,在使用来自蓝牙协议系列的协议的情况下),且因此装置集群中的最大数量的装置成员可以设置为七个装置。图2a中的装置网络包括两个装置集群210和230。装置集群210包括七个对等装置,所述七个对等装置包括对等装置a和b,且因此装置集群210已具有最大数量的装置成员。装置集群230包括五个对等装置,所述五个对等装置包括对等装置b和c,并且尚未达到最大数量的装置成员。

当通信装置202出现在装置网络附近时,通信装置202可以(例如,通过检测从对等装置a、b和c传送的信标)检测通信装置202的通信范围内的对等装置a、b和c的存在情况。在此发现阶段内,对等装置a、b和c可以为通信装置202提供网络配置信息,例如对等装置a、b和c所属的装置集群中的装置的数量的计数。例如,对等装置a可以向通信装置202指示对等装置a是具有七个装置的装置集群210的一部分;对等装置b可以向通信装置202指示对等装置b是具有七个装置的装置集群210以及具有五个装置的装置集群230的一部分;并且对等装置c可以向通信装置202指示对等装置c是具有五个装置的装置集群230的一部分。

在接收到网络配置信息后,通信装置202可以确定装置集群210已具有最大数量的装置成员,而装置集群230具有少于最大数量的装置成员。因而,为了使通信装置202加入装置网络,可以将通信装置202添加到装置集群230中但不添加到装置集群210中,这是因为装置集群210已经饱和了。然后,通信装置202可以通过建立与对等装置b和/或对等装置c的连接来加入装置集群230。一旦进入连接模式,对等装置b和/或对等装置c就可以为通信装置202提供网络状态信息,包括网络中的每个装置集群的集群标识符以及每个集群中的每个装置成员的装置标识符。网络状态信息还可以包括其它专用信息。通信装置202可以更新网络状态信息,以将通信装置202的装置标识符添加到与装置集群230的集群标识符相关联的装置列表,并将更新后的网络状态信息传送到网络中的其它装置。例如,通信装置202可以将更新后的网络状态信息提供到通信装置202的通信范围内的对等装置b和c。然后,对等装置b和c可以更新其自身的网络状态信息的本地副本,并且将更新后的网络状态信息提供到其它装置以将所述更新后的网络状态信息传播到装置网络内的所有装置。图2b中示出了通信装置202已加入装置集群230中之后的所得网络配置。

在一些实施例中,由于添加了安全层,因此新装置可能不被允许更新网络状态信息,并且(作为装置网络的现有成员的)对等装置b或对等装置c可以发起对网络状态信息的更新以将通信装置202添加到装置集群230中。例如,对等装置b(或对等装置c)可以更新其网络状态信息的本地副本以将通信装置202的装置标识符添加到与装置集群230的集群标识符相关联的装置列表,并且将更新后的网络状态信息传送到通信装置202和范围内的其它装置。

尽管装置网络采用的无线通信协议可能范围有限和/或可能会限制装置可以与之并发连接的装置的数量,但通过根据上述技术建立网络,通信装置202可以与装置集群210和230中的任何数量的装置交换数据,即使所述装置在通信装置202的当前范围之外。例如,通信装置202可以将数据传送到通信装置202的范围内的对等装置b,并且对等装置b可以将所述数据传播到装置集群210和/或230中的可能在通信装置202的范围之外的其它对等装置。还可以将数据提供到比无线通信协议下的直接连接可允许的更多对等装置。

上文所描述的技术可能适于与无线通信协议一起使用,所述无线通信协议例如具有发现阶段和连接阶段的蓝牙协议系列。属于装置网络的一部分的装置可以广播少量网络配置信息——例如父装置集群中的装置成员的计数,以促进在发现阶段添加出现在装置网络的范围内的新装置,而集群标识符、装置标识和专用数据等更详细的网络状态信息可以在连接阶段通过已添加到网络中的装置传送。此类技术还可以防止侦听装置获得可能包括在网络状态信息中的更多敏感信息,这是因为网络状态信息仅在已添加到网络中的装置之间共享且不对发现阶段的装置共享。在一些实施例中,可以替代地或另外将网络状态信息(例如,集群标识符、装置标识和/或专用数据等)提供到发现阶段的新装置。

图3a和3b示出了根据一些实施例的将新装置添加到装置网络中的另一过程。图3a中的装置网络包括两个装置集群310和330。装置集群310包括七个对等装置,所述七个对等装置包括对等装置a和b,且因此装置集群310已具有最大数量的装置成员。装置集群330也包括七个对等装置,所述七个对等装置包括对等装置b、c和d,且因此装置集群330也具有最大数量的装置成员。

当通信装置302出现在装置网络附近时,通信装置302可以检测通信装置302的通信范围内的对等装置a、b、c和d的存在情况。对等装置a、b、c和d中的每一个都可以为通信装置302提供装置网络的当前网络配置信息。在接收到当前网络配置信息后,通信装置302可以确定装置集群310和330已具有最大数量的装置成员。因而,通信装置302可能无法通过将通信装置302添加到现有装置集群中而加入装置网络,这是因为通信装置302的范围内的所有装置集群已具有最大数量的装置成员。

然而,通信装置302仍然可以通过创建新装置集群来加入装置网络。在通信装置302范围内的所有对等装置属于饱和装置集群的情况下,可以创建新装置集群,并且可以将通信装置302和通信装置302范围内的至少一个其它对等装置添加到新创建的装置集群中。例如,可以将通信装置302和满足特定信号强度标准的对等装置添加到新创建的装置集群中。在一些实施例中,信号强度标准可以是具有由通信装置302检测到的最高信号强度的预定数量的对等装置(例如,两个对等装置),或者信号强度高于特定阈值的对等装置。

参考图3b,通信装置302可以通过将集群标识符列表中的新集群标识符添加到网络状态信息的本地副本中通过创建新装置集群350来加入装置网络。新集群标识符可以是随机地或伪任意地生成的,是选自可用集群标识符列表的,是对网络中的装置集群的数量计数的计数器值等序列值,或者是从网络分配的唯一标识符。通过使对应的装置标识符与网络状态信息的本地副本中新创建的装置集群350的集群标识符相关联,通信装置302可以将自身和对等装置c和d(例如,具有最高信号强度的两个对等装置)添加到新装置集群350中。包括关于新创建的装置集群350的信息的已更新网络状态信息可以接着传播到网络中的其它对等装置。然后,所得装置网络可以具有三个装置集群:具有七个对等装置的装置集群310,所述七个对等装置包括对等装置a和b;具有七个对等装置的装置集群330,所述七个对等装置包括对等装置c和d;以及具有通信装置302和对等装置c和d的装置集群350,如图3b所示。

在一些实施例中,新创建的装置集群可以尝试添加已达到其并发连接限制的现有对等装置。例如,参考图3b,在创建装置集群350时,对等装置d可能已与装置集群330中的其它对等装置维持六个并发连接。因而,为了将对等装置d添加到新创建的装置集群350并且与装置集群350中的通信装置302维持连接,可以请求对等装置d断开现有连接,使得对等装置d不超过最大数量的并发连接。对等装置d可以选择与哪一装置断开连接,接着相应地更新并传播网络状态信息。在一些实施例中,为了维持现有装置集群成员数,添加到新装置集群的对等装置可以仅与属于具有连接到对等装置的多个装置的装置集群的那些装置断开连接。例如,如果对等装置b是装置集群310中连接到对等装置d的唯一对等装置,则对等装置b可以不选择对等装置d作为要与之断开连接的装置,这是因为这样做可能会使得对等装置b从装置集群310中移除。

根据一些实施例,在新通信装置加入装置网络之后(例如,在新通信装置添加到现有装置集群或新创建的装置集群中之后),通信装置可以在某一时刻与通信装置所属的装置集群中的其它对等装置失去连接。例如,通信装置可以移动到其它对等装置的通信范围之外的位置。图4a-c示出了根据一些实施例的用于与装置网络重新建立连接的此情境和过程。

图4a所示的装置网络的初始网络配置可以包括四个装置集群:包括通信装置402和对等装置a、b、和c的装置集群410;包括对等装置c的装置集群430;包括对等装置d的装置集群450;以及包括对等装置d和e的装置集群470。当通信装置402已加入装置网络作为装置集群410的一员时,通信装置402可能已建立且维持与对等装置a、b和c的连接。当通信装置402移动到更接近装置集群470的以虚线所示的不同位置时,通信装置402可以与对等装置a、b和c失去连接,如图4b所示。响应于通信装置402与通信装置402所属的装置集群410中的对等装置a、b和c失去连接,通信装置402可以预定次数(例如,五次、十次等)或在预定超时时间段(例如,五秒、十秒等)内尝试与对等装置a、b和c重新建立连接。

如果通信装置402未能在进行预定次数的尝试之后或在过了预定超时时间段之后与装置集群410中的对等装置a、b和c重新建立连接,则通信装置402可以尝试与不属于通信装置402起初所属的装置集群410的其它对等装置建立连接。然后,通信装置402可以从这些其它对等装置获得当前网络配置和/或网络状态信息,并且可以加入另一装置集群或创建新装置集群。例如,参考图4b,通信装置402可以在与对等装置a、b和c失去连接之后与装置集群470中的对等装置d和e建立连接,并且从对等装置d和e获得当前网络配置信息。通信装置402可以确定装置集群470仅具有三个装置成员,且因此通信装置402可以加入装置集群470以与装置网络重新建立连接。通信装置402可以与对等装置d和e连接,接着更新网络状态信息以将其自身添加到装置集群470中,并且将更新的网络状态信息提供并传播到网络中的其它对等装置。图4c示出了在通信装置402移动到新位置之后的所得网络配置,其可以包括四个装置集群:包括对等装置a、b和c的装置集群410;包括对等装置c的装置集群430;包括对等装置d的装置集群450;以及包括通信装置402以及对等装置d和e的装置集群470。替代地,如果装置集群470已经饱和了,则通信装置402可以创建新集群,并且将自身以及对等装置d和e添加到新创建的集群中。

图5示出了根据一些实施例的用于建立装置网络的过程500的流程图。在框502,由用户操作的通信装置可以进入装置网络附近。通信装置可以使用无线通信协议确定通信装置的通信范围内的一组对等装置(例如,其它通信装置)。例如,通信装置可以根据无线通信协议从距离内的对等装置检测指示对等装置的存在情况的发现信号(例如,信标)。对等装置可以属于装置网络内的一个或多个装置集群。在一些实施例中,从对等装置传送的发现信号可以包括对所述对等装置所属的装置集群中的装置成员的数量的计数。

在框504,通信装置可以使用无线通信协议与通信范围内的一些或全部对等装置建立连接。例如,通信装置可以与具有可由通信装置检测到的最高信号强度的预定数量的对等装置(例如,两个对等装置)建立连接。然后通信装置可以从对等装置获得网络状态信息,并且在通信装置上存储网络状态信息的本地副本。网络状态信息可以包括关于装置网络的构成的信息,所述装置网络的构成包括装置集群和属于每个装置集群的装置的列表。例如,网络状态信息可以包括对应于装置集群的装置集群标识符列表,以及装置的与每个装置集群标识符相关联的装置标识符列表。应注意,装置可以属于多于一个装置集群,且因此装置标识符可以与网络状态信息中的多个装置集群标识符相关联。在一些实施例中,网络状态信息还可以包括时间戳,以指示网络状态信息的最新程度。如果通信装置从不同的对等装置接收不同的网络状态信息,则通信装置可以将具有最近时间戳的接收到的网络状态信息存储为本地副本。网络状态信息还可以包括打算用于传播到整个网络中的装置的其它数据。例如,网络状态信息可以包括额外的专用数据,例如关于网络中的装置彼此交互的方式的信息(例如,哪些装置配对在一起以执行特定功能等)。

在框506,作出关于通信装置的通信范围内的对等装置中的任一个是否是具有小于装置集群可允许的最大数量的装置成员的装置集群的一部分的确定。在一些实施例中,装置集群可允许的装置成员的最大数量可以设置为等于无线通信协议允许的并发连接装置的最大数量。例如,如果使用的无线通信协议是蓝牙协议系列的一部分,则任何特定装置可以与之连接的协议可允许的最大数量的并发连接装置是七个其它装置。因此,在此实例中,可以将装置集群对最大数量的装置成员设置为七个装置,并且通信装置可以基于从对等装置提供的网络状态信息确定通信装置的通信范围内的对等装置中的任一个是否是具有少于七个装置对装置集群的一部分。

在框508,当通信装置的通信范围内的一组对等装置中的对等装置被确定为具有少于最大数量的装置成员的现有装置集群的一部分时,可以将通信装置添加到所述现有装置集群中。例如,通信装置可以通过更新其本地网络状态信息以使通信装置的装置标识符与所述现有装置集群的装置集群标识符相关联来加入现有装置集群。在一些实施例中,如果存在通信装置可以加入的多个装置集群,则通信装置可以选择具有信号强度最强的对等装置的装置集群作为要加入的装置集群。

在框510,当通信装置的通信范围内的一组对等装置中的每个对等装置被确定为具有最大数量的装置成员的饱和装置集群的一部分时,可以创建新装置集群,这是因为不存在可供通信装置加入的可用现有装置集群。可以将通信装置和一组对等装置中满足信号强度标准的一个或多个对等装置添加到新装置集群中。在一些实施例中,信号强度标准可以是通信装置检测到的具有最高信号强度的两个对等装置,或具有最高信号强度的一些其它预定数量的对等装置。在一些实施例中,信号强度标准可以是具有高于特定信号强度阈值的信号强度的对等装置。例如,通过通信装置更新其本地网络状态信息以包括新装置集群标识符并且使新装置集群标识符与要添加的通信装置和对等装置的装置标识符相关联,可以创建新装置集群。

在框512,本地网络状态信息通过当前时间戳进一步更新,并且更新的网络状态信息(其可以包括通信装置所属的新创建的装置集群,或通信装置到现有装置集群的添加)可以广播到通信装置的范围内的对等装置。接收更新的网络状态信息的对等装置可以进一步将信息传播到装置网络中的其它装置,直到装置网络中的所有装置都具有更新的网络状态信息。

在一些实施例中,装置网络中的每个装置可以定期间隔发送其网络状态信息(例如,作为信标的一部分),或对网络状态信息的本地副本的变化作出响应。当装置(例如,用户的通信装置或对等装置等)从另一装置接收网络状态信息时,装置可以将接收到的网络状态信息的时间戳与其自身的网络状态信息的本地副本进行比较以确定是否有一个更新。如果接收到的网络状态信息更新,并且接收到的网络状态信息指示的网络配置(例如,装置集群标识符和其相关联的装置标识符)与网络状态信息的本地副本不同,则装置可以通过接收到的网络状态信息更新在本地存储的网络状态信息。

图6示出了根据一些实施例的用于在将通信装置添加到现有装置集群或新创建的装置集群中之后与装置网络重新连接的过程600的流程图。在框602,已经属于装置集群和装置网络的通信装置可以从一个位置移动到另一位置,使得通信装置与通信装置所属的装置集群中的对等装置失去连接。例如,通信装置可以不再检测周期性信标或从先前与通信装置连接的对等装置接收周期性信标。

在框604,响应于通信装置与通信装置所属的装置集群中的对等装置失去连接,通信装置和/或对等装置可以尝试彼此重新建立连接。例如,通信装置可以进行预定次数的、或在预定超时时间段内尝试与其它对等装置重新建立连接,并且先前以通信方式连接到通信装置的对等装置可以尝试进行相同的操作。

在框606,作出关于通信装置是否与通信装置所属的装置集群中的任一个对等装置成功地重新连接的确定。如果通信装置与通信装置所属的装置集群中的至少一个对等装置重新连接,则通信装置可以属于之前的装置集群。由于装置集群关联没有改变,因此更新网络状态信息可能是不必要的。如果通信装置未能在预定次数的尝试或预定超时时间段之后与装置集群中的其它对等装置重新建立连接,则通信装置可以执行过程500以与不属于起初装置集群的其它装置建立连接,并且加入另一装置集群或创建另一新装置集群。

如上文所论述的,本文中所描述的装置联网技术可以在覆盖区域可以跨越网络采用的无线通信协议的直接通信范围的环境或应用程序中使用,和/或可以在同时可以存在许多装置的环境或应用程序中使用。此环境的一个实例可以是其中使用例如蓝牙le(ble)的无线通信技术或其它无线通信协议在访问商家位置的消费者的通信装置与商家位置处的访问装置(例如,销售点终端)之间进行交易的商家位置。

在存在用户的通信装置可以与之连接以执行交易的多个访问装置的商家位置中,要考虑的一个考虑因素是如何将用户的通信装置连接到恰当的终端。例如,在加油站场景中,作为用户的通信装置的车辆信息系统应向驾驶员通知可用气泵(例如,气泵编号),使得用户可以将车辆开到适当的泵。类似地,在其它场景中,应该向用户通知用以为商品结账的正确的售货亭、正确的停车收费表或收费站车道等。通过使用本文中所描述的装置网络,包括启用ble的通信装置和访问终端的装置网络可以交换网络状态信息以向网络中的装置通知哪一访问终端可用且哪一访问终端在使用中。这允许装置保持与因特网断开连接,这是因为相关网络状态信息是从对等装置提供的。这还允许装置网络中的装置彼此共享相关网络状态信息,而不必依赖服务器来防止整个系统在服务器停机时由于单点故障而停机。

为了确保数据能够可靠且安全地通过ble传输,在装置验证和通信传输信道的安全保护之后,可以启用用于在用户的通信装置与访问装置之间传送账户凭证等敏感数据的初始握手和后续数据交换。数据传送可以使用可变数据包大小,并且在每个数据包中包括检查和可以提供文件传送完整性。可以通过使用最低数据包层级加密来维持传输信道层级安全性,以创建类似于相互ssl认证的安全信道。

基于ble的装置网络可以由访问装置(例如,销售点终端)和用户通信装置构成,所述用户通信装置具有安装和运行于商家位置(例如,商店或销售地点)内的所需ble应用程序(例如,支付应用程序、移动钱包应用程序、商家应用程序等)。这些启用ble的装置可以彼此连接,并且使用本文中所描述的技术形成装置集群。ble允许装置在任何时间点具有最多七个实况连接,且因此装置集群中的装置数量的上限可以设置为七个装置成员。

当新用户通过在用户的通信装置上运行的ble应用程序进入商家位置时,通信装置可以持续地扫描具有预定义蓝牙通用属性(gatt)配置文件的可连接装置。例如,安装在启用ble的装置上的ble应用程序可以播放表示交易服务的通用唯一标识符(uuid)或表示特定的商家的uuid。用户的通信装置可以从商家位置处的对等装置提取广告,基于其播放的gatt配置文件筛选所述广告,并且在通过信号强度对其进行排序之后连接到最多七个装置。启用ble的装置的每个广告数据包可以包含唯一装置标识符,其允许其它装置标识装置并且在失去或中断连接的情况下重新连接到装置。

装置集群可以由多达彼此连接的七个装置形成。新的用户的通信装置可以获得关于ble网络中的所有装置集群的构成的网络状态信息。这是可能的,因为每个装置集群包括与另一装置集群重叠的至少一个装置。这些装置将对其父集群中的装置的计数返回到新的用户的通信装置。如果连接到用户的通信装置的任一个装置是具有少于七个装置成员的装置集群的一部分,则用户的通信装置会变成所述集群的一部分并更新关于连接到用户的通信装置的所有装置的网络状态信息。然后,这些装置在整个对等网络中传播所述信息。如果连接到用户的通信装置的装置是具有七个装置成员的饱和装置集群的一部分,则用户的通信装置可以创建具有信号强度最高的两个连接装置的新装置集群。一旦连接到ble网络,用户的通信装置就可以获得网络的网络状态信息并在本地存储所述网络状态信息。这允许网络状态信息以分布式方式存储在整个网络中。

在用户从一个物理位置移动到另一物理位置(例如,从一个购物过道到另一购物过道)的任何时间,连接的信号强度都可以基于距其它装置的距离而不同。如果用户的通信装置使其自身距其它连接装置太远,一些装置可以断开连接。随着连接装置的信号强度减弱,可以进行可配置次数的尝试以重新连接到重新定位的装置。此重试机制可以成为ble应用程序的一部分。如果重新连接成功,则重新定位的通信装置继续作为起初装置集群的一部分。然而,如果在多次尝试之后重新连接失败,则起初装置集群内的对等装置可以通过更新网络状态信息以使用户的通信装置的装置标识符与集群标识符解除关联来使用户的通信装置与装置集群分开。然后,通过网络中的每个装置更新其本地状态,此更新可以在整个ble网络中传播。这可以作为事件驱动机制或轮询机制执行。同时,重新定位的通信装置可以连接到网络中具有高信号强度的在通信装置的新位置附近的其它装置。如果新连接的信号强度强且这些连接装置所属的装置集群尚未饱和,则可以将用户的通信装置添加到具有最高信号强度的装置集群中。如果装置集群饱和了,则重新定位的通信装置可以形成具有信号强度最高的两个其它对等装置的新集群。

装置网络中的每个装置都可以维持网络的网络状态信息的副本。此信息可以包括以下各项:网络中的每个装置集群的集群标识符、这些装置集群中的装置成员的装置标识符、对构成每个集群的装置的计数,以及每个访问装置的状态(例如,访问装置是否正用来进行交易)。任何变化(例如,形成新装置集群、新装置添加到现有装置集群中、装置从装置集群移除、在访问装置与用户装置之间建立安全信道等)可以触发在整个网络中传播的更新。参与任何这些变化的装置可能会更新其网络状态信息的本地副本,并且向相邻连接装置通知这些变化。这些装置可以随后更新其自身的表并且继续进一步传播此信息。接收更新的任何装置可以首先通过将本地状态信息和其时间戳与接收到的信息和接收到的时间戳进行比较来检查所述装置的本地网络状态信息是否是最新的。仅当接收到的网络状态信息更新且不与在本地存储的网络状态信息匹配时,接收方装置才可以进一步传播接收到的信息。

图7示出了根据一些实施例的在第一时间点位于商家位置处的装置网络的状态的实例。装置网络可以包括对应于在商家位置处购物的用户的通信装置u1、u2、u3、u4和u5。装置网络还可以包括分布在商家位置内的不同位置处的访问装置t1和t2(例如,销售点终端)。在一些实施例中,装置网络还可以包括一个或多个中继器装置(未示出)。中继器装置可以是仅用于存储和提供网络配置信息和/或网络状态信息的启用ble的装置。中继器装置可以部署在商家位置处以覆盖可能会超出访问终端的范围的任何网络盲点,使得无论消费者在商家位置内何处且无论任何其他用户是否在场或在附近,用户的通信装置可以始终连接到装置。

图7所示的装置网络可以包括装置集群a和装置集群b。装置集群a可以具有包括通信装置u1、u2和u3以及访问装置t1的装置成员。装置集群b可以具有包括通信装置u2、u3、u4和u5以及访问装置t2的装置成员。在装置网络的当前状态下,通信装置u3可以通过安全通信信道与访问装置t1进行交易,而访问装置t2可以是空闲的。因此,此时间点的装置网络的网络状态信息可以包括指示每个装置集群的装置成员数的装置集群信息,以及例如指示任一个访问装置是否在使用中的安全信道信息的专用数据。

例如,装置网络中包括通信装置u1和u5的每一个装置可以存储网络状态信息的本地副本。网络状态信息可以包括集群标识符(例如,集群a、集群b)和其属性的列表。集群a的属性可以具有为4的装置成员计数,并且与装置t1、u1、u2和u3的装置标识符相关联。集群b的属性可以具有为5的装置成员计数,并且与装置t2、u2、u3、u4和u5的装置标识符相关联。网络状态信息还可以包括访问装置t1和t2的安全信道的状态。例如,访问装置t1的安全信道的状态可以指示其正与通信装置u1进行交易,并且访问装置t2的安全信道的状态可以指示其是可用的。在一些实施例中,访问装置可以支持多个安全信道,所述安全信道可以用于与不同的用户通信装置进行并发交易,并且网络状态信息可以包括访问装置的每个安全信道的状态。

在稍后的时间点,通信装置u5的用户已完成购物,并且可能想要结账并与访问装置连接以进行交易,从而支付商品或服务。安装在通信装置u5上的ble应用程序可以基于网络状态信息的本地副本确定访问装置t2是可用的。通信装置u5可以接着与访问装置t2建立安全信道,使得可以将账户凭证提供到访问装置t2以处理交易。在建立安全信道后,通信装置u5和/或访问装置t2可以使用其网络状态信息的本地副本来指示访问装置t2的安全信道正与通信装置u5进行交易,如图8所示。

通信装置u5可以提供更新的网络状态信息,包括关于通信装置u5的范围内的通信装置u2和u5的时间戳。访问终端t2可以提供更新的网络状态信息,包括关于访问装置t2的范围内的通信装置u3和u4的时间戳。如果通信装置u3已经通过来自通信装置u5的更新来更新其网络状态信息的本地副本,则通信装置u3无需通过从访问终端t2接收到的更新来进一步更新其网络状态信息的本地副本。当通信装置u2从通信装置u5接收更新的网络状态信息时,通信装置u2可以更新其本地副本并且将更新的网络状态信息传播到通信装置u2的范围内的通信装置u1和u3。通信装置u1可以随后更新其本地副本并且将更新的网络状态信息传播到通信装置u1的范围内的访问终端t1。同时,当通信装置u3从通信装置u2接收更新时,通信装置u3可以确定其网络状态信息的本地副本已经是最新的,并且因此通信装置u3无需进一步更新其本地副本且无需进一步将更新从通信装置u2传播到其它对等装置。

虽然已经使用ble作为示例性无线通信协议来描述本文中所公开的技术的某些方面,但应理解,本文中所描述的技术可以应用于其它无线通信协议,包括利用一个或多个射频作为传送介质的协议。

图9示出了根据一些实施例的通信装置900的框图。在一些实施例中,通信装置900可以是由用户操作的移动装置。通信装置900可以包括耦合到存储器902的装置硬件904。装置硬件904可以包括处理器905、通信子系统909和用户界面906,所述通信子系统具有能够使用无线通信协议与外部装置进行通信的一个或多个收发器。在一些实施例中,装置硬件904还可以包括显示器907(其可以是用户界面906的一部分)。处理器905可以实施为一个或多个集成电路(例如,一个或多个单核或多核微处理器和/或微控制器),并且用于控制通信装置900的操作。处理器905可以响应于存储在存储器902中的程序代码或计算机可读代码来执行各种程序,且可以维持多个同时执行的程序或过程。用户界面906可以包括输入元件和输出元件的任何组合,以允许用户与通信装置900交互并且调用其功能性。在一些实施例中,用户界面906可以包括可以用于输入功能和输出功能的组件,例如显示器907。

存储器902可以使用任何数量的非易失性存储器(例如,快闪存储器)和易失性存储器(例如,dram、sram)的任何组合或任何其它非瞬态存储介质或介质的组合来实施,以存储计算机可执行代码。存储器902可以存储操作系统(os)920和驻存有一个或多个应用程序的应用程序环境910,所述应用程序环境包括可由处理器905执行的交易应用程序914。交易应用程序912可以使得通信装置900能够加入装置网络并且与访问装置建立安全信道以进行交易。交易应用程序914可以是使用、访问和/或存储例如账户凭证916(例如,账户标识符、令牌等)等敏感信息的应用程序。例如,交易应用程序914可以是使用令牌以经由通信装置900进行交易的钱包或支付应用程序或商家应用程序。在一些实施例中,用户对交易应用程序914的访问可以受用户认证数据(例如,口令(password)、密码(passcode)、pin等)保护。例如,当用户尝试启用或执行交易应用程序914时,可以在用户可以访问交易应用程序914之前请求用户输入有效的用户认证数据。交易应用程序914可以包括用以对通信进行加密和解密和/或生成交易密码的密码模块。在一些实施例中,这些组件中的一个或多个组件可以由不属于应用程序914的另一应用程序或组件提供。账户凭证916可以存储用于进行交易的敏感信息,例如账户凭证(例如,pan、令牌)和受限使用密钥等其它账户参数。密码模块可以为交易应用程序914提供密码功能性。例如,密码模块可以使用例如des、aes、tdes/tdea等加密算法和/或例如sha等散列函数来实施和执行交易应用程序914的加密/解密操作。当交易应用程序914访问例如存储以进行交易的令牌或受限使用密钥等账户凭证916时,交易应用程序914可以调用密码模块以基于受限使用密钥和/或令牌生成交易密码。

本文中所描述的技术可以涉及实施一个或多个功能、过程、操作或方法步骤。在一些实施例中,所述功能、过程、操作或方法步骤可以实施为由适当地被编程的计算装置、微处理器、数据处理器等执行指令集或软件代码的结果。指令集或软件代码可以存储在由计算装置、微处理器等存取的存储器或其它形式的数据存储元件中。在其它实施例中,功能、过程、操作或方法步骤可以由固件或专用处理器、集成电路等实施。

本文中所描述的方法和过程本质上是示例性的,并且根据一些实施例的方法和过程可以按与本文中所描述的次序不同的次序执行一个或多个步骤中、包括没有具体描述的一个或多个额外步骤、省略一个或多个步骤、将一个或多个步骤组合成单个步骤、将一个或多个步骤分割成多个步骤,和/或其任何组合。

本申请中描述的任何软件组件或功能可使用例如常规的或面向对象的技术并使用任何合适的计算机语言,例如java、c++或perl实施为要由处理器执行的软件代码。软件代码可以存储为例如随机存取存储器(ram)、只读存储器(rom)、例如硬盘驱动器或软盘的磁性介质或例如cd-rom的光学介质的计算机可读介质上的一系列指令或命令。任何这样的计算机可读介质可以驻留在单个计算设备上或内部,并且可以存在于系统或网络内的不同计算设备上或内部。

在不脱离本发明的范围的情况下,任何实施例的一个或多个特征可以与任何其它实施例的一个或多个特征组合。

除非明确指示为相反情况,否则对“一(a/an)”或“所述(the)”的叙述旨在意味着“一个或多个”。

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