发明内容
本公开内容的方面涉及一种高效无线发现过程。这里描述的技术为由许多移动设备构成的环境潜在地提供拥塞预防和功率效率的显著改进。在这一场景中,设备通常将不具有在先关联或者公共配置。在一些实施例中,假设设备可以确定时间并且发起同步行为。
在一个实施例中,连接到网络(例如未搜索支持的应用或者服务)的有功率约束的设备(比如移动电话或者平板计算机)多数时间保持在功率减少的状态中。基于内部时钟,设备可以唤醒并且仅在选择的时间期间和在指定的频率参与发现过程。因此,在给定的时间间隔T期间,给定的无线设备A可以在特定组合、比如:(时间状态,频率状态)=(ta,φa)执行无线发现。设备然后可以在后续时间间隔T1切换成不同组合(这里称为“时间状态/频率状态跳跃”)、例如(ta,φb)、(tb,φa)或者(tb,φb)。设备继续在每个后续时间间隔Tn选择不同组合直至已经选择每个(时间状态,频率状态)组合至少一次而无重复。
对照而言,希望进行新连接的无线设备B可以选择单个(tn,φn) 组合并且跨越连续系列后续间隔保持这样的组合。由于设备A最终穷尽所有组合,所以设备A将最终在组合(tn,φn)发现设备B。未寻找新连接的每个设备(例如已经连接到网络并且也未执行服务或者应用重新发现的设备)将相似地、但是在不同序列中穷尽所有可能组合。以这一方式,连接到执行发现的网络的设备数目在任何给定的时间有限,从而产生增加的功率和数据效率。在设备B发现网络伙伴以维持希望的新连接时,设备B有效地加入网络并且可以开始时间状态/频率状态跳跃过程。
在以上描述的过程中,如果已经连接的设备具有优先级改变(比如对打印服务器定位),则设备可以简单地将它的状态切换成寻找新连接状态(重新发现过程)并且相似地保持任意(tn,φn)组合直至发现新设优先级的应用或者服务伙伴。
因而,公开内容的方面涉及一种用于使用循环时间间隔T来同步无线网络中的无线服务或者应用的发现,其中在无线网络内的无线设备可以在多个预定时间状态之一中。根据一些实施例,该方法包括从多个时间状态之中选择一时间状态、由支持给定的服务或者应用的第一无线设备以选择的时间状态、在循环时间间隔T期间执行一次发现,以及在循环时间间隔T中的相继循环时间间隔中重复以上步骤直至已经选择所有多个预定时间状态。
根据本方法的其它方面,在循环时间间隔T中的每个循环时间间隔T内、在每个其中不执行发现的时间状态期间,第一无线设备进入或保持在睡眠模式中。更多其它方面包括以下步骤:由搜索给定的服务或者应用的第二无线设备以第二选择的时间状态、在循环时间间隔T期间执行一次发现;并且在每个相继间隔使用相同第二选择的时间状态来重复先前执行步骤直至第二无线设备已经对给定的服务或者应用定位。在一些实施例中,第二无线设备未在无线网络内。
在一个实施例中,无线网络使用具有多个频率状态的频率集Φ,并且第一无线设备以选择的时间状态和选择的频率状态的组合、在循环时间间隔T期间执行一次发现,并且第一无线设备在每个相继间隔T选择时间状态和频率状态的不同组合直至已经选择了多个预定时间状态和频率集Φ的频率状态的所有可能组合。在另一实施例中,无线网络使用具有多个频率状态的频率集Φ,并且第二无线设备以第二选择的时间状态和频率状态的组合、在循环时间间隔T期间执行一次发现,并且第二无线设备在每个相继间隔T选择第二选择的时间状态和频率状态的相同组合直至第二无线设备已经对服务或者应用定位。在一个方面中,为每个间隔T随机确定时间状态和频率状态的组合。在另一实施例中,为第二无线设备随机确定时间状态和频率状态的组合。
一些实施例涉及到以上指出的方法,其中第一无线设备是具有随机种子值的组的成员,并且基于随机种子值选择第一无线设备的时间状态和/或频率状态的组合。在其它实施例中,组的成员的随机种子值相关。在一个实施例中,第二无线设备基于定位的服务或者应用加入组。为了穷尽时间状态和/或频率状态的所有可能组合而需要的间隔T的数目可以是素数。
一些方面也涉及到使从多个预定时间状态之中选择时间状态的顺序随机,并且在一些方面中,选择的时间状态直至已经选择多个预定时间状态中的所有其它时间状态才被重新选择。
具体实施方式
参照以下附图和描述具体描述公开内容。各图中的部件未必按比例、代之以着重于举例说明本发明的原理。另外,在各图中,相似标号贯穿不同视图表示相似对应部分或者设备。
在本公开内容中,在如2个一样少的对等站已经相互建立连接时建立网络。在这一境况中,一个站将已经是“支持”给定的服务或者应用的站,而另一个站将已经“在搜索”这一服务或者应用“中”。由于多个站可以在搜索公共服务、比如因特网网关中,所以频繁存在许多站尝试与唯一服务支持站连接的情形。在这一情况下,在发现过程期间将服务支持站视为“连接到网络”而服务寻找站视为“(尚) 未连接到网络”有时更有意义。由于这两个术语在描述相同情形时具有独立效用,所以任一术语可以用来贯穿公开内容表达相同情形。
用于发现附近无线设备的当前无线机制通常通过如图1B中所示活跃探测或者通过如在图1C中描绘的自组织配置的组合来基于如在图1中描绘的那样监听某个形式的信标或者通报消息。
如图1A中所示,在短规律间隔(例如每20ms-1000ms一次)发送802.11中的信标。通过这一方法的无线发现需要设备之一(在图 1中为接入点AP1)连续地发送这一通报消息并且监听响应。信标间隔通常相当短以允许监听这一消息的设备在相对短时间内发现信标信号。不可能显著延长这一时段而不要求监听信标的设备也延长该设备必须在信道上保持活跃(监听)的时间。
如图1B中所示,使用活跃请求/响应发现(比如802.11探测请求/响应)的设备发送出请求,并且适当对等设备(在图1B中同样为接入点AP1)对请求做出响应。这一类机制需要监听设备总是接通和监听。
图1C图示组合探测和监听方案二者的设备的在自治站之间的通用对等到对等无线发现方案。
图2图示以下进一步描述的各种无线发现方案。在每列I-VI中,每个无线设备A-D可以以时间状态0-18中的任何时间状态执行无线发现,其中在每列中的时间从上至下继续。无线设备A-D中的每个无线设备支持给定的服务或者应用;即被视为连接到网络而未寻找新连接。
例如图2的列I图示无任何进一步逻辑调度的在图1A-1C中描述的无线机制(监听站、监听接入点或者自组织(ad-hoc))中的任何无线机制。如图2的列I中所示,四个无线设备A-D中的每个无线设备以无省略的每个时间状态0-18执行无线发现。因此,每个框 A-D、0-18有影线从而代表每个设备在每个时间间隔的持久发现活动。
这一低效率的原因归因于遗存构架策略,这些遗存构架策略主要关注以功率和消息发送效率为代价尽可能快地连接该无线设备与其它无线设备。因此,如果新设备E尝试加入或者现有设备(比如 C)寻找新连接,则请求将几乎即时被重视。这一策略在无线网络稀疏并且相对空置时产生令人印象深刻的网络性能、但是在升级至如今司空见惯的大型、重叠、拥挤网络时造成糟糕的低效率和网络拥塞。
一种用于减少交换的消息平均数量的可能解决方案是简单地增加在信标或者探测之间的时间间隔。仍然在图2的列I中描绘这一情形,但是现在在略微更长持续时间的时间状态0-18中包含相同活动数量。尽管这一方式通过降低每分钟查询/响应循环数量来造成减少平均消息拥塞,但是它仍然功率效率低,因为监听设备简单地监听更长时间段。甚至更糟糕的是,虽然每个设备更低频率地传输消息,但是在查询/响应循环出现时交换的消息总数未减少。
第二解决方案可以是确切地如以上描述的那样执行无线发现、但是并非增加在信标/探测之间的间隔时间、代之以对于在发现时间状态之后的某个数目的时间状态全部“关断”(即无线设备进入睡眠模式)。这是图2的列II中所示情形,该列图示在实线表示的给定的间隔T内的三个可能时间状态(n=3)。现在已经减少消息平均数目(如以上所示)并且已经创造一种功率效率更高的解决方案(因为每个设备未简单地“接通”更久)。然而在t=0,3,6...交换的消息总数仍然遭受拥塞问题,因为对在这些时间状态对交换的消息数目没有限制。
在图2的列III中描绘第三解决方案。在这一解决方案中,每个设备A-D具有在任何给定的时间状态以执行无线发现的某个概率Pd (在列III中为Pd=1/3)。这解决目前讨论的所有问题:站在“关断”状态中花费它们的多数时间,这节省功率,并且在任何给定的时间,交换的消息数目仅限于“接通”的站。
然而这一方式引入新问题。最大问题可能是站随机执行发现,这意味着关于给定的站何时执行发现无统一性并且未保障发现将在指定的时间段内出现。相关地,这并未禁止站低效率执行发现;即在行中多次或者仅在时间上近间隔。
在图2的列IV中以及在图3A和图4A中图示根据公开内容的一个实施例的第四解决方案。在以下进一步描述的这一解决方案中,确定由n个离散时间状态构成的时间间隔T。T由在t=0,3,6...的粗或者细实线表示。对于给定的设备A,仅有限数目的组合(n)有可能。因此在时间nT,将已经穷尽用于设备A的所有可能组合,其中假设未重复或者省略状态。这一情形仅由间隔开nT=3T的实线表示,因为将预计n=3。
例如在图2的列IV和图3A中,确定T由3个时间状态(n=1、 2或者3)构成。流逝的T由在时间状态t=3、6、9...等上方的实线表示。每个无线设备在每个T期间执行无线发现确切地一次并且可以在其它时间状态期间进入待机或者睡眠模式。除了设备直至已经穷尽所有可能状态才可以在先前选择的相同状态在后续T中重复无线发现之外,设备选择的时间状态、即n=1、2或者3可以随机。这一过程也称为“混洗”,因为这是CD播放器用来未必按照顺序(除了偶然之外)播放在盘上的所有轨道而未重复或者省略任何轨道的“混洗”过程。
因此,在图2的列IV和图3A中的第一间隔T开始时,设备A 可以等概率选择n=1、2或者3。设备A对于第一时间间隔T(0≤t≤2) 在时间t=0任意选择n=1。在下一T间隔期间(3≤t≤5),设备A现在限于仅选择n=2或者3并且在时间t=5任意选择n=3。在第三间隔 6(6≤t≤8)期间,设备A没有选择;它现在在时间t=7必须选择仅有剩余状态n=2。这对于设备B-D同样成立。
在第三间隔T结束时,每个设备A-D已经选择一次每个可能状态。在列IV中,这(任意)如下:A→(1,3,2)、B→(2,3,1)、 C→(1,2,3)和D→(3,2,1)。如先前描述的那样,这是时间间隔nT=3T的意义;它是每个设备已经选择一次所有可能状态并且因此重新开始该过程的时间。
在以上描述中,仅考虑已经连接到网络而未寻找新连接的设备。也就是说,设备尚未实际请求新连接。如果假设设备E现在希望加入网络,则它仅需选择一时间状态、比如n=2并且跨越所有3个T 间隔保持这一时间状态以保证每个连接的网络设备A-D将截至时间 t=3T=9已经自行执行发现。设备E选择时间状态也可以随机或者可以来自内部存储或者无线检测到的参数或者值以最小化设备的搜索时间。类似地,如果现有设备、比如C请求新连接(比如对于已经突然变成优先的不同设备),则它仅需选择固定n值以保障设备A、 B和D将截至时间t=3T=9已经各自执行发现。
向以上描述的解决方案赋予的又一希望的性质是使n为中等大小的素数(比如17)。这样的参数在本领域中被熟知在统计上造成更少不希望的冲突,因为其它环境序列将仅在1、素数本身及其倍数精确切地重叠。(n=100可以与周期为1、2、5、10、20、25、50 和100的其它环境序列重合,而n=97仅与周期1、97重叠,而与97 的倍数重叠是不可能出现的。)
在图2的列V中以及在图3B和图4B中描绘第五和进而更多鲁棒解决方案。在这一解决方案中,向可能状态组合添加频率这一第二维度。在图2的列V和VI中,第一频率由深色影线框表示,而与第一频率不同的第二频率被表示为更浅色影线框。现在设备A可以选择给定的时间状态两次(例如深色影线的在t=6的n=1和浅色影线的在t=9的n=1),只要它获取两个可能频率状态之一,那么另一可能频率状态在相同时间状态中。通过扩展,对于更大频率状态全体,站只要它在每个后续间隔T连续地获取非重复频率状态值就可以占用给定的时间状态。在数学上,添加第二维度(频率或者别的维度)增加状态-空间的数目并且因此增加组合的数目,其结果是可以容纳更大数目的用户。如图4B中所示,状态图现在一般为2D状态阵列(注意图2的列V仅反映2个频率值fp和4个时间状态值nm)。
通过使第二维度为频率,可以甚至进一步继续并且可以选择用仅凭时间不可用的各种创造性的方式添加状态组合。例如可以选择添加多于2个维度(n、f、φ、θ、...)或者根据处理选择可以简单地添加多于2D状态空间(n、f0-f10000)。这是因为在添加频率时单个频率“状态”可以实际由(1)在预定时间的两个(或者更多)频率值之间的频率跳跃、(2)以多于一种方式调制单个频率信号或者(3) 使用许多多个相异状态频率构成。例如一个实现方式可以使用8个相异频率值以将2D状态空间扩展成(n,f0-f7)。然而不同实现方式可以将8个频率中的每个频率视为3位二进制串(000至111)并且将新的8位维度与每个新频率“跳跃”的级联相加加在一起。通过级联位串并且建立处理规则(例如每维度有32位的5个维度),对添加的维度或者维度状态空间并且因此对公开的方法可以如何容纳设备无限制。然而在某点,时间可能变成考虑,因为请求新连接的设备仍然必须等待直至适当的支持应用/服务的站在它的特定请求状态执行发现。
在判决用于向给定的网络添加状态-空间组合的具体调制方案和频率集时,添加的考虑可以是保持迭代总数T等于pT,其中p出于以上描述的原因而为中等大小的素数。
并入来自先前解决方案的每个设备的第六解决方案向算法添加组的建立。组可以基于该组的构成成员的任何公共保持的性质或者特点来聚集和协调、或者可以通过与网络的需要、或者目标相适的任何另外适当的组织参数、或者算法,来形成。由于添加频率维度赋予向可用组合空间非并行添加,所以添加组赋予非并行效率工具。原因是因为组可以被构造为进一步划分和优化相异用户组合并且可以在不同面向目标的算法(最小化总功率、最小化平均交换消息等) 中与外部处理参数进一步组合。也可以基于已知服务或者应用与预定种子值结合使用组,从而协调来自现有组成员的新连接请求以最小化直至估计的组发现的等待时间量。图2的列VI示出采样时间片而设备A、B和设备C、D形成两个分离组。
一个组实现方式可以如下:观察到用户优先使用文本消息发送或者即时消息发送、但是很少是各自的组合。形成组X这一文本消息发送组,并且向每个组成员分配不同随机、但是间隔近的种子值。因而组X的成员往往选择它们的“随机”状态空间组合(n,f)在一起很近,从而形成状态空间‘聚类’。这对于组Y这一即时消息发送组成立,但是它的间隔近的随机种子值与组X的随机种子值被适当间隔。现在并非让网络的两个最大组(组X和组Y)在相同时间或者甚至接近相同时间执行发现,可以通过明智地选择相应种子值和随机化算法来保证它们的发现聚类未重叠。因此,网络仅需能够支持在任何给定的时间执行发现的单组用户。如果寻找支持文本消息发送的新连接的新无线设备D发现组X的成员P,则Q可以与P 直接连接和/或可以基于这一公共保持/共享的服务加入组X。
以上描述的组算法的一个变化可以是向每个组成员指派确切、相同(有别于间隔近)种子值。这一方式可以优选用于同步许多更小组的活动或者用于保持组活动被同步更长时间段。
又一实现方式可以是基于用户运行的应用自发地形成组。在这一境况中,可以自发地形成由运行某个(另外罕见)医学应用的用户构成的组。(这样的境况可以例如在招待集会的酒店出现。)组因此向无线网络提供可适配性层面,从而允许响应于不断改变的用户群体而动态修改发现性质。
图5是概括用于支持给定的服务或者应用的无线站(即连接到网络)的示例服务或者应用发现过程500。该过程在步骤501开始并且继续步骤510,其中从组成时间间隔T的多个时间状态t0-tn随机选择时间状态tsel。控制然后继续步骤520,其中确定是否在已经穷尽所有可能状态之前先前已经选择这一状态。如果它是,则控制返回到S510以选择新tsel。如果不是,则控制继续步骤S530。(当然,一种可能别选配置可以是在已经选择每个时间状态之后从可用时间状态的池消除它从而回避需要校验是否先前已经选择它。)
在步骤530确定tsel是否对应于当前时间状态。如果它不是,则无线站进入睡眠模式(S540)直至它是。在tsel和当前时间状态重合时,站在步骤S550执行发现。控制然后流向步骤S560,其中站恢复睡眠模式直至下一时间间隔T开始。在步骤S570确定过程是否已经在已经选择的所有可能时间状态中告终。如果它是,则控制流向状态S580,其中重新初始化(或者清除)“先前选择的”状态池,从而无线设备现在可以初始地再次选择任何时间状态。如果它不是,则流程简单地在步骤S510重新开始。
图6是概括用于寻找给定的服务或者应用(例如未连接到网络) 的无线站的示例服务或者应用发现过程600。该过程在步骤601开始并且继续步骤610,其中从组成时间间隔T的多个时间状态t0-tn随机选择时间状态thold。控制然后继续步骤620,其中站睡眠直至下一时间间隔T开始。在步骤630,站执行发现过程。控制在步骤S640、 S620和S630之间流动而站继续对于每个相继时间间隔T在时间状态thold执行发现过程直至希望的服务或者应用被定位。一旦这已经出现,无线站在步骤S650中连接到支持设备,并且该过程在步骤S699结束。
图7图示适合用于存储和/或执行用于执行以上描述的一个或者多个过程的程序代码的设备700的一个实施例。无线设备700在各种实施例中可以是无线接入点和/或无线站。设备700包括通过系统总线706耦合到存储器单元704A-B的处理器702。在其它实现方式中,设备700可以包括多于一个处理器,并且每个处理器可以通过系统总线直接或者间接耦合到一个或者多个存储器单元。存储器单元704A-B可以包括在实际执行程序代码期间运用的本地存储器、体存储装置和高速缓存存储器,这些高速缓存存储器提供至少一些程序代码的暂时存储以便减少必须在执行期间从体存储装置取回代码的次数。如图所示,输入/输出或者I/O设备708A-B(包括但不限于键盘、显示器、指示设备等)耦合到设备700。I/O设备708A-B可以直接或者通过居间I/O控制器(未示出)间接耦合到设备700。
在一个实现方式中,网络适配器710耦合到设备700以使设备 700能够变成通过通信链路712耦合到其它数据处理系统或者远程打印机或者存储设备。通信链路712可以是私用或者公用无线或者有线网络。无线调制解调器、线缆调制解调器和以太网卡仅为当前可用网络适配器类型中的少数网络适配器类型。
尽管已经结合作为示例提供的本公开内容的方面的具体实施例描述这些方面,但是可以进行对示例的备选、修改和变化。例如以上描述的过程的一个或者多个步骤可以按照不同顺序和/或并发地被执行而仍然实现希望的结果。因而如这里阐述的实施例旨在于示例而非限制。有可以在未脱离所附权利要求的范围时进行的改变。