通过自组织无线通信网络连接设备的方法和设备的制作方法

文档序号:7670430阅读:117来源:国知局
专利名称:通过自组织无线通信网络连接设备的方法和设备的制作方法
技术领域
本发明涉及通信网络,更具体地说涉及连接自组织(ad hoc)无线通信网络中的两个或更多设备的方法。
背景技术
蓝牙是作为链接诸如蜂窝电话机、头戴式耳机、PDA和膝上型计算机之类便携式消费电子产品的短距离(约10米)无线电缆替代物开发的一种新技术,不过它还适用于传真机、打印机、玩具、数字相机、家庭电器以及实际上任意其它数字消费产品或应用。该技术实质上提供一种基于自组织在配备蓝牙的设备间形成小型无线网络的机制。它还可用作现有数据网络的无线通信桥路。目前的蓝牙实现努力一般集中于点对点的客户机-服务器应用,例如拨号连网简表(profile)、头戴式耳机简表和局域网(LAN)接入点简表(蓝牙规范1.0版)。在这些传统实现中,许用蓝牙的(Bluetooth-enabled)设备将自动相互搜索,并把它们自己配置成网络,所述网络大多数仅由两个节点组成。
按照目前的规范(例如,由PAN工作组提出的IEEE 802.15个人区域网络(PAN)),最多8个许用蓝牙的设备可自动把它们自己配置成“皮网(piconet)”。每个皮网具有一个指定的主设备,所述主设备对用作从属设备的其它节点或设备施加跳频模式。借助其独特的频率跳频序列,把一个皮网和附近的其它类似网络区分开。由于每个皮网采用不同的频率跳频序列,因此在公共区域中可共存多个皮网。
皮网也可通过桥路节点互连,从而形成较大的称为散布网(scatternet)的自组织网络(多个独立并且非同步的皮网)。桥路节点一般能够在多个皮网之间进行时间共享,从一个皮网接收数据,并把数据转发给另一皮网。对桥路节点在其参与的各个皮网中所扮演的角色实质上没有限制。例如,在一个皮网中,桥路可起主设备的作用,在另一皮网中,可起从属设备的作用,或者桥路可以是所参与的所有皮网中的从属设备。按照这种方式,在自组织散布网中,可建立几个皮网,并将它们连接在一起,以便支持不断变化的结构之中的灵活通信。
在J.Haartsen的“Bluetooth Baseband Specification”1.0版(该文档被引用于此,以作参考)中陈述的蓝牙基带规范把蓝牙点对点连接建立定义为两步程序。当蓝牙单元对它们的邻居一无所知时,最初这些蓝牙单元必须进行查询程序,以便发现邻居信息(例如节点身份和同步信息)。一旦获得邻居信息,则随后采用寻呼程序,以便建立对等体之间的实际连接。
查询和寻呼程序包括不对称链接建立协议,该协议实质上包括两种单元试图发现并连接相邻单元的查询单元;和使其能够被查询单元发现并与查询单元相连的被查询单元。
蓝牙基带层支持邻居发现和连接建立的下述基本状态查询查询状态用于确定一定工作距离内的蓝牙设备的身份。发现单元或设备收集响应查询消息的所有单元的蓝牙设备地址和时钟。
查询扫描这种状态下,蓝牙设备监听来自其它设备的查询。扫描设备可监听通用查询存取码(GIAC)或专用查询存取码(DIAC)。
寻呼已通过查询程序发现其它设备的查询设备或单元使用这种状态。查询单元通过在不同的跳频信道中传送被查询单元的设备存取码(DAC)发送寻呼消息。
寻呼扫描这种状态下,单元监听自己的设备存取码(DAC),持续时间为扫描窗口。在该扫描窗口中,该单元在单一的跳跃频率(来源于其寻呼跳频序列)下监听。
连接一旦建立该状态,一个单元是主设备,另一单元是从属设备。在这种状态下,单元可利用由信道(主设备)存取码和主设备蓝牙时钟确定的信道跳频序列交换分组。
待机待机是蓝牙单元中的默认低能耗状态。只有本机时钟在运行,不存在与任何其它设备的相互作用。
还存在几种中间状态,即查询响应、从属设备响应和主设备响应。将结合下面的蓝牙连接建立协议的描述,更详细地说明这些状态。
图1图解说明了表示在两个许用蓝牙的设备,即查询单元101和被查询单元102之间的常规点对点连接建立程序的逻辑流程图100。两个单元都使用称为查询跳频序列的通用跳频集合。标准连接建立过程中所涉及的步骤如下1.查询单元101首先进入查询状态120,试图通过按照通用查询跳频序列,以3200跳/秒的速率,快速传送查询存取码(IAC)分组111,并监听传输间的应答,发现哪些设备在范围之内。
2.被查询单元102开始进入查询扫描状态130,从而使其能够被附近的查询单元发现。被查询单元102开始针对在该特定频率上传送查询消息的可能查询单元101监听频率载波。每隔1.28秒,该单元按照通用查询跳频序列,将其监听载波前移一个跳跃(在频率信道中)。显然在查询单元101和被查询单元102与相同频率信道同步之前,存在相关的频率同步延迟。
3、一旦查询单元101和被查询单元102在同一频率下通信,那么被查询单元102从查询单元101接收IAC分组111。当收到查询消息时,被查询单元102进入待机状态140,并且睡眠在0-639毫秒之间均匀分布的预定时间R。
4、被查询单元102随后醒来,并通过从睡眠前它正在监听的跳跃开始跳频,再次在查询响应状态150下开始监听。
5、第二IAC分组112被收到,被查询单元102向查询单元101返回一个频率跳频序列(FHS)分组113。FHS分组113包含被查询单元的蓝牙地址和加速下述寻呼过程的时钟值(所述时钟值被认为是对查询单元101有价值的同步信息)。在利用FHS分组113响应之后,被查询单元102立即进入寻呼扫描状态160,并通过按照自己的寻呼跳频序列跳跃,监听自己的设备存取码(DAC)。
6、在查询单元一侧,查询单元101从被查询单元102接收FHS分组113,以及用于确定被查询单元102的DAC和寻呼跳频序列的信息。从此刻开始启动寻呼程序。查询单元101进入寻呼状态170,并通过按照被查询单元102的寻呼跳频序列发送DAC分组114,开始寻呼。
7、被查询单元102接收DAC分组114,随后通过传送DAC分组115作出响应,并进入从属设备响应状态180。
8、查询单元101接收被查询单元102发送的DAC分组102,进入主设备响应子状态,随后把包含其地址和时钟信息的FHS分组116发送给被查询单元。
9、被查询单元102接收查询单元101传送的FHS分组116,并改变到在FHS分组116中接收的查询单元101的信道存取码和时钟。被查询单元102随后以FHS分组116的接收确认的形式发送DAC分组117,随后进入在这种点对点连接中扮演从属设备角色的连接状态198。
10、当从被查询单元102收到DAC分组117时,查询单元101进入连接状态199,并变成点对点连接的主设备。
根据上述传统蓝牙协议,可建立两个许用蓝牙设备之间的连接,并且设备随后可交换任意所需数量的信息。
虽然蓝牙是一种有前途的新技术,不过存在传统的连接建立程序或协议中固有的几个缺点。如前所述,蓝牙支持对等自组织无线连接。即,相邻两个设备可彼此发现,并在其间形成通信链路。由于蓝牙利用跳频扩频技术支持点对点和点对多点连接,因此在设备能够相互通信之前,设备必须使它们的跳频模式同步。这意味着主机不能通信,除非先前已通过使它们的跳频模式同步,它们已互相发现。即使所有节点都在彼此的直接通信距离内,在网络中形成单个链路的过程中,仍然会引入随机同步延迟。同步的过程(或者蓝牙术语学中的“查询”)是费时并且不对称(即要求两个节点处于不同的初始状态)的过程。从而,当两个蓝牙设备被加电时,在这两个设备之间建立链路可能需要数秒。

发明内容
本发明的方法和设备提供一种和传统的连接建立方法相比,显著改进的两个或更多设备之间的发现和链路建立协议。借助本发明,多个许用蓝牙设备可相互找到,并自动把它们自己配置成比传统实现支持的网络结构更复杂的网络结构。本发明的异步分布式协议从对其周围环境毫不了解的节点开始,并且最终导致形成满足蓝牙技术或类似的设备连接规范施加的结构连通性约束条件的网络。
根据本发明的一个实施例,通过无线通信信道,在两个或更多设备之间形成对称连接的方法包括选择预定的概率分布,调整与概率分布相关的一个或多个参数,并按照预定的概率分布,使参与设备节点交替处于两种可能状态。按照这种方式,在不向参与设备节点明确分配初始状态的情况下建立链路或连接。
根据本发明的第二实施例,采用新颖的交替状态技术在自组织无线通信网络中的若干设备或节点间形成散布网。在第一阶段内,通过在两个节点之间形成点对点连接,并确定获胜的(winning)节点,选择协调者节点。进行连续的“一对一战斗”,直到剩下单个获胜协调者节点为止。协调者节点将确定并保存和网络中的每个参与设备/节点相关的信息。在第二阶段内,协调者节点向网络中的每个设备分配角色,包括哪些节点将是主节点、从属节点或桥路节点。在第三阶段内,按照协调者分配的角色,连接无线网络。
通过结合附图阅读本发明的实施例的详细描述,本发明的这些及其他目的、特征和优点将变得明显,在附图中,相同的元件在多个图面中都使用相同的参考号码。


图1是图解说明两个许用蓝牙设备之间的传统不对称连接建立协议的逻辑流程图。
图2是图解说明根据本发明的一个实施例形成的,在无角色预分配情况下提供对称的点对点连接建立协议的集合交替状态的逻辑流程图。
图3是描述图2中所示的对称的点对点连接建立协议的逻辑时序图。
图4是图解说明根据本发明的一个实施例,在网络形成协议的选举过程(阶段I)内,每个节点采取的操作和状态处理的逻辑流程图。
图5是图解说明根据本发明的一个实施例,在网络形成协议的角色分配阶段(阶段II)内,协调者节点采取的操作的逻辑流程图。
图6是图解说明根据本发明的一个实施例,在网络形成协议的角色分配阶段(阶段II)和连接建立阶段(阶段III)内,从属节点采取的操作的逻辑流程图。
图7是图解说明根据本发明的一个实施例,在网络形成协议的连接建立阶段(阶段III)内,指定主节点采取的操作的逻辑流程图。
图8是图解说明包括处理器和相关组件的典型许用蓝牙设备的方框图。
具体实施例方式
下面在实际应用的环境中说明本发明,在所述实际应用中,两个许用蓝牙的设备或节点试图在相互之间自动建立点对点通信连接。但是,应明白本发明并不局限于这种或者任意特定的通信连接应用。相反,根据这里陈述的原理,本发明的方法和设备可广泛适用于在自组织无线网络中连接实际上无限的设备和/或节点。
根据本发明的一个方面,图2图解说明了为了在不采用通常进行的任何角色预分配的情况下提供对称连接建立协议,最好使用的集合“交替”状态200。本领域的技术人员可利用,例如在K.Fleming的“Bluetooth Host Controller Interface[HCI]”规范(1.0版)中定义的程序命令和/或例程来实现交替状态200,所述规范作为参考包含于此。可借助硬件类似地实现本发明的协议。
启动时(所述启动可由最终用户简单地激活“开始”按钮并等待连接自动建立开始),每个蓝牙单元最好初始化起动超时计时器203,随后进入第一状态201.起动超时计时器203最好跟踪过去的时间,并且可被实现成,例如本领域的技术人员已知的标准计数器。重要的是要认识到状态201可被任意选择成查询或查询扫描状态。此外,要认识到对于最终用户来说,查询和查询扫描状态最好是透明的,而不是象传统的连接建立方法中那样是预定的。参考图2的例子,状态201被选择成查询状态。
蓝牙单元最好保持查询状态201一段时间R1,实质上按照“睡眠”或待机模式211运行,在待机模式211下,实际上不发生任何设备相互作用。最好,用户选择的预定概率分布被用于控制单元保持查询或查询扫描状态的时间。这种分布可选择为例如随机分布。通过修改与分布相关的一个或多个参数,用户可影响交替状态序列,从而根据需要优化设备连接建立时间。
在蓝牙单元保持状态201一段时间R1之后,最好测量过去的时间(213),确定是否已超过预定的固定时间间隔ALT_TIMEOUT220。如果已超过时间间隔ALT_TIMEOUT,那么蓝牙单元最好退出交替状态200(217)。当在217退出交替状态200时,蓝牙单元可通过,例如设置标记或者类似的指示工具,发出超时通知,最好指示在预定的超时时段内没有建立任何连接。如果没有超过时段ALT_TIMEOUT220,则蓝牙单元前进到第二状态202,第二状态202最好是被任意选择为第一状态201的两种初始状态(查询或查询扫描)中的剩余一种状态。在图2的例子中,第二状态202是查询扫描状态,因为第一状态201被任意选择为查询状态。蓝牙单元随后保持状态202另一段时间R2,实质上处于“睡眠”模式212。和第一时段R1一样,最好选择预定的概率分布来控制蓝牙单元保持其目前状态202的时间长度R2。要认识到用于确定时段R2的分布可不同于用于时段R1的分布。再次,如上所述,根据本发明最好随后进行超时检查213。
假定在工作邻近范围内不存在要建立连接的任何其它蓝牙单元,那么一旦预定的固定超时时段ALT_TIMEOUT220被超过,最好立即中断状态转换程序200(即在查询和查询扫描状态之间交替转换)。如果在工作范围内存在另一许用蓝牙的单元,那么最好通过利用交替状态协议200,并且根据特定的蓝牙单元是处于查询状态201还是处于查询扫描状态202,这两个蓝牙单元开始工作,每个单元随后将进入连接状态205,并且将分别用作主设备或从属设备。当然为了在这两个蓝牙单元之间建立有效连接,这两个单元必须处于互补状态(例如查询/查询扫描)。一旦进入连接状态205,那么最好在216退出交替状态200。
举例来说,考虑涉及两个许用蓝牙设备,即“单元A360”和“单元B”的情形(参见图3),当试图相互建立连接时,每个单元采用本发明的交替状态程序200(参见图2)。图3描述了指示在执行本发明的交替状态程序时,每个单元360、370执行的例证状态转换序列的逻辑时序图300。参见图3,图中表示了为了便于说明,叠加在公共时间轴上的关于两个蓝牙单元360、370的状态转换活动,以及合并时间表330。标记为“I”301的间隔对应于处于查询状态的单元,标记为“S”302的间隔对应于处于查询扫描状态的单元。前面结合图2中所示的交替状态程序描述了查询和查询扫描状态。
图3的例子预先假定在任意初始时刻t0,320之前,单元A360已启动交替状态协议一段未确定的时间,试图与另一蓝牙设备建立通信链接,从而在两种状态查询和查询扫描之间交替转换。时间t0320最好被任意选择为单元B370的起始点,其中单元B类似地按照本发明定义的交替状态程序开始在查询和查询扫描状态之间交替。
合并时间表330最好显示由若干“开-关”间隔Xi表征的两个单元360、370的组合状态转换序。最好,间隔Xi被定义为一个或两个蓝牙单元360、370的状态变化之间的时间段。任意间隔Xi的持续时间将是随机的,因为如上所述,单元保持任意特定状态(例如查询或查询扫描)的时间量是随机的。从而,间隔Xi一般不会彼此间隔均匀的距离,虽然存在间隔Xi能够均匀分隔的统计概率。
根据本发明的一个优选实施例,两个单元360、370只有在它们处于互补状态(例如单元360处于状态301,而单元370处于状态302)的时间间隔内,它们才有机会相互定位或“发现”。本质上,这等于异或函数,从而每当两个单元360、370不处于相同状态时,合并时间表330就显示逻辑“1”(“开”)输出。这些“开”间隔被标记为311、312、313、314、315和316,分别对应于间隔X1、X3、X5、X7、X9和X11。
继续参见图3,在第一个“开”间隔X1(311)的起点,单元360、370最好按照常规的方式,例如通过利用前面结合图1说明的步骤,启动连接建立程序。连接建立过程一般会占用随机有限时间T340,时间T340包括频率同步延迟和被查询单元的待机或逆转(backoff)延迟140(参见图1)。如果完成连接过程的时间T340小于“开”间隔(例如316)的持续时间,则在执行图1的连接程序之后,两个单元360、370最好进入图2的连接状态205。在进入连接状态205之后,这两个单元最好在216退出交替状态程序200,同时输出确认已建立有效连接的通知或其适当的等同物(参见图2)。但是,在完成图1中描述的连接程序之前,如果任一单元改变状态(例如从查询状态301变为查询扫描状态302)(例如完成时间T340大于相应的“开”间隔),则未建立任何有效连接,单元360、370必须等待,直到下一“开”间隔(例如间隔X3 312),再次尝试连接程序为止。如果在下一有效时间间隔313中,单元未能连接,则在后续的“开”间隔313、314等中继续尝试连接,直到最终建立连接或者直到预定的连接超时时间期满为止。连接建立时间Tc321最好被定义为开始于初始时间t0,320并终止于时刻tn,332的持续时间,其中两个蓝牙单元360、370在利用本发明的交替状态程序的同时,在建立连接所需的足够时间内处于互补状态。
图2和3中描述的本发明的新颖“交替状态”技术是一种确保两个蓝牙设备之间的自组织点对点连接的机制。当存在两个以上的设备,并且这些设备希望形成“飞击式”(on-the-fly)散布网时,根据第二实施例,本发明提供一种包含上面描述的“交替状态”机制的独特协议,以确保最后得到的网络满足蓝牙散布网的要求和结构。
考虑一个房间中存在希望利用他们的许用蓝牙设备形成自组织网络的数个用户(或者类似地,具有多个许用蓝牙设备的单个用户)的应用例子。每个用户最好通过按下“开始”按钮启动连接程序,或者调用类似的程序,随后等待设备通过在较短时间后显示“网络连接已建立”消息,确认连接已建立。在这种确认之后,用户将能够与房间中的另一用户或设备交换信息。本例中,假定所有参与设备都在彼此的作用距离之内,对于对单个房间中的多个无线设备连网来说,这是一个合理的假定。
上述情形实际包括成功的连接建立协议的要素,即-应以分布方式进行网络连接建立。这意味着每个设备最好开始独自异步工作,并且最初根本不了解房间中的节点的身份或数目。
-在成功完成连接之后,协议应确保连接的散布网。在网络中的任意两个节点之间至少应存在一个路径(正确性)。
-网络应在最终用户可容忍的合理时间内连接(效率)。
根据本发明的一个优选实施例,对蓝牙散布网的最终形式实际上没有任何限制。唯一的要求或方针是1.应存在具有一个主设备和少于7个的从属设备(其中一些可以是桥路)的皮网。
2.皮网应通过桥路节点互连。
3.每个节点必须能够到达最终形成的网络中的每个其它节点(即网络必须完全连接)。
在上述自由度的条件下,并且为了设计更快的协议,在优选实施例中,本发明利用下述结构约束-桥路节点只可连接两个皮网(桥接度约束)。桥路必须按照时分方式把其工作分成多个部分。在每个便携式设备可具有有限处理能力的条件下,利用最大为2的桥接度免除一个节点成为多个始发数据传送的十字路口。
-两个皮网只共用一个桥路(皮网重叠限制)。最好利用该条件,以便提供更快地终止连接建立协议的手段。如果稍后两个主设备希望共用它们之间的另一桥路,它们可借助传统的桥路协商协议实现这种共用。
根据本发明的一个优选实施例,提供一种在散布网中连接蓝牙设备的协议或机制。该协议最好至少部分基于领导者选举算法或过程。如同本领域的技术人员理解的那样,在选举的领导者知道它已被选举和其它节点知道它们未被选举的意义上,领导者选举解决了选择唯一的领导节点的问题。领导者选举的概念是可用于打破分布式系统中的对称性的一个重要工具。由于节点异步起动,并且对于参与节点的数目毫不知情,因此领导者将能够控制网络建立。
本发明的网络建立程序最好包括三个截然不同的阶段,即,协调者选举阶段(阶段I),角色确定阶段(阶段II)和连接建立阶段(阶段III)。下面将详细说明这三个阶段。
阶段I协调者选举在协调者选举阶段内,最好存在将最终确定并保存网络结构中每个参与节点的编号、地址和时钟信息的协调者节点的异步、分布式选举。协调者节点将负责确定哪些节点是网络的主设备、从属设备和桥路(桥路最好是服务于两个或更多主设备的从属设备)。
最好定义供本发明之用的几个变量和相关函数。在阶段I中,每个单元或节点x最好具有由其随意支配的下述变量MY_VOTES该变量用于确定特定节点迄今为止已收到的票数。
OTHER_VOTES在点对点连接中,该变量被定义为另一对等节点的MY_VOTES值。
MY_ID该变量保持单元x的蓝牙地址。
OTHER_ID在点对点连接中,该变量被定义为另一对等节点的MY_ID变量。
MY_FHS_LIST该变量(可以阵列形式实现)保存单元x目前看到的节点的文件层次系统(FHS)分组(包括单元x自己的)的当前列表。例如,该列表可包括下述类型的条目typedef struct FHSListInfo_type{unsigned int address;unsigned int clock;}FHSInfo;OTHER_FHS_LIST在点对点连接中,该变量(可被实现成阵列)被定义为另一对等节点的MY_FHS_LIST。该列表还包含如上定义的类型FHSInfo的元素。
图4是根据本发明,描述在阶段I例证例子中,每个节点进行的动作和状态转变的逻辑流程图。参见图4,每个节点最好通过设置变量MY_VOTES=1,以初始化状态410开始(411)。在初始化状态410中,最好把FHSInfo条目添加到阵列MY_FHS_LIST 412中,阵列MY_FHS_LIST412包括特定节点的蓝牙地址和时钟信息。列表条目M_FHS_LIST
最好包括节点x的蓝牙地址和时钟信息。此外,节点x最好把MY_ID本地变量设置成等于M_FHS_LIST
.地址413。在退出初始化状态410之前,最好起动在交替程序中采用的起动超时计时器(图2中的203),随后该单元进入前面结合图2说明的集合交替状态200。
继续参见图4,相互发现的任意两个节点x和y最好形成点对点连接,并且都将通过输出点或退出点216退出交替状态200。当形成连接时,这两个节点x和y最好进入“一对一战斗状态”,以便确定这两个节点中的哪个节点被认为是“胜者”。例如,战斗可包括两个节点x和y之间和变量MY_VOTES及MY_ID相关的信息的交换420(422和423)。每个单元随后比较其MY_VOTES变量及其OTHER_VOTES变量(同样它又等于其它单元的MY_VOTES变量)(430)。如果这两个变量相等(431),则最好关于这两个节点的MY_ID变量进行另一比较(440),并且ID较大的节点赢得战斗。另一方面,如果两个变量MY_VOTES和OTHER_VOTES不相同(432),则随后进行随后的比较(450),选票数大的单元赢得战斗(451)。
假定在图4的例子中,单元x被确定为获胜的单元。失败的单元y(442或452)在进入寻呼扫描状态480之前,最好执行某些中间任务460。中间任务460包括把其MY_FHS_LIST发送给获胜单元x(461),把MASTERS_COUNT变量设置成等于零(462),和从单元x断开(463)。在进入寻呼扫描状态480之后,失败的单元y将不能应答查询消息,只能应答来自要了解它并在未来寻呼它的节点的寻呼消息。本质上,这样的效果是把该节点排除在协调者选举过程的竞争之外,使之为本发明的新型蓝牙网络形成协议的阶段II作准备。
获胜的单元x(441或451)最好执行某些任务470,任务470可包括在本地变量OTHER_FHS_LIST 471中接收失败单元的MY_FHS_LIST,并且随后把该列表附加到其当前的MY_FHS_LIST472上。获胜的单元x在最终终止与失败单元y的连接(473),并重新发动起动超时计时器474之前,获胜单元x最好还把其当前的MY_VOTES值增大到等于OTHER_VOTES的值的数量。随后,获胜单元x最好进入交替状态200,再次重复过程400,直到最后网络中的所有参与节点均已知为止。于是,在阶段I的结尾,将只有一个单元处于交替状态200,并且当超过超时ALT_TIMEOUT(指示不再存在要发现的节点)时,该单元将通过退出点217退出该状态。此时,其余的单元将假定该单元是选举的协调者,随后将通过进入领导者状态490开始阶段II。要认识到超时时间间隔ALT_TIMEOUT(图2中的220)应被选择成确保最终只有一个节点被选举为协调者。
阶段II角色确定在阶段I的结尾,整个竞争的胜者是协调者,其余节点最好处于寻呼扫描状态480,等待被寻呼。协调者节点和处于寻呼扫描状态480的节点通常会进行不同的操作。
最好定义供本发明使用的几个变量和相关函数。协调者节点在阶段II中使用的变量最好包括N该变量代表在阶段I中看到的节点的数目。
P该变量代表最后形成的散布网将包含的主设备的数目。
BRIDEGLIST(i)和SLAVELIST(i)对于最后形成的皮网的每个成员i,可被实现成深度i的阵列的该对列表BRIDGELIST(i)和SLAVELIST(i)最好分别存储分配给主节点i的桥路节点和从属节点的身份。
MASTERS该变量是大小P的列表,最好保存类型FHSInfo的条目,并包括协调者已选择的主设备。
HeadPacket这是在每个连接建立程序开始时,最好总是从主节点发送给从属节点的数据分组。在优选实施例中,该分组指导从属节点象两个二进制位规定的那样表现,即HeadPacket.Mbit-如果该二进制位等于“1”,则它规定接收HeadPacket的节点被协调者分配为最终形成的散布网中的一个主节点;和HeadPacket.Bbit-如果该二进制位等于“1”,则它规定接收HeadPacket的节点已被协调者分配为最终形成的散布网中的一个桥路节点。
图5是描述在本发明的蓝牙网络建立协议的阶段II内,协调者节点采取的操作的逻辑流程图500。此外,图6是图解说明在阶段I的结尾,已进入寻呼扫描状态480的节点所采取的操作的流程图600。当下面说明阶段II和阶段III时,将前后参照图6。
现在参见图5,主设备或者领导者最好开始把节点的数目N赋值为等于变量MY_VOTES490。协调者随后确定N的值是否小于8(520)。如果小于8(521),那么在协调者担当主设备的情况下,只需要一个皮网,从而消除了到其它皮网的桥路节点的需要。
在单个皮网(即,如果N小于或等于8)的情况下,协调者最好在最终终止阶段II程序(550)之前,寻呼并连接处于寻呼扫描状态的所有N个节点(530)。在最初被设置成等于1(525)的迭代间隔j内,协调者最好寻呼并连接对应于地址MY_FHS_LIST(j).地址的从属单元(530),分别把数据分组HeadPacket的Mbit和Bbit位都设置成等于0(541、542),并把该分组作为第一数据分组发送给从属设备(543)。随后使迭代指针加1(544),并测量迭代指针,确定下一迭代间隔j是否小于节点的数目N(510)。只要迭代间隔j仍然小于N(511),就最好重复寻呼/连接和分组初始化步骤530、540。一旦迭代间隔j等于或大于节点的数目N(512)(即协调者访问了列表MY_FHS_LIST中的所有单元),协调者就进入主设备终止状态550,从而终止阶段II连接建立协议500。协调者之后在连接状态下起主设备的作用。从而根据本发明的上述程序,可在协调者用作主设备,所有其它节点用作从属设备的情况下形成皮网。
继续参见图5,在节点的数目N大于8(522)的情况下,由于协调者具有对网络的全局考虑,因此它可确定每个节点在最终的散布网中将扮演的角色。角色决定和形成蓝牙散布网的标准密切相关。例如,不同的应用可能允许相同的节点担当主设备或者从属设备。另外由于其自身性质的缘故,节点可能具有更严格的约束。例如,掌上控制器(Palm Pilot)更可能不具有成为七个从属设备皮网的主设备所必需的处理能力,当然除非皮网中的其余节点的处理能力低于掌上控制器。在选举过程中,这些约束条件可被传递给领导者或者协调者,并且可帮助协调者确定最终的散布网中参与节点的角色。在没有附加(或者任意)约束的情况下,可实现默认的角色选择技术-已知参与节点的数目N,最终形成的散布网应包括数目尽可能最小的皮网(从而主设备)。
-最终形成的散布网应完全连接。这意味着每个主设备应最好通过桥路节点与所有其它主设备相连。
要认识到上述默认角色选择标准只是例证性的,根据本发明可容易地修改该标准。
可利用下述关系式计算为了最终形成的蓝牙散布网被完全连接的主节点或皮网的最小数目P(561)P=f(N)=|17-289-8N2|,1≤N≤36]]>根据上述关系式可看出,由于完全连通性和数目最小皮网的要求的缘故,默认的技术适用于大于或等于0,并且小于或等于36的节点数N。更大的节点数会导致不会得到完全的散布网连通性的默认方法。
参见图5,本发明的阶段II协议最好确定哪些节点是主节点、桥路节点和从属节点(560)。在计算P(561)之后,协调者在562选择成为主节点的P-1个节点(不包括它自己)(它们最好保存在变量MASTERS中),并且选择成为网络的桥路节点的其它 个节点。协调者最好在方框580中把要成为它们的“纯粹”从属节点的剩余节点均匀分配给主节点。在决定主节点、桥路节点和从属节点之后,协调者最好产生BRIDGE_LIST(0)和SLAVES_LIST(0),并分配给它自己,因为在本协议的阶段II中,它将起主节点的作用。随后最好通过在步骤564中把迭代间隔指针或计数器j设置成等于1,启动迭代间隔指针或计数器j。
在每个迭代j内,协调者随后寻呼并连接由地址MASTERS(j)。地址代表的单元(570)。注意,在阶段I的结尾,所有剩余节点均处于寻呼扫描状态480(参见图4)。在迭代j内,协调者最好还计算BRIDEG_LIST(j)和SLAVES_LIST(j)(581),并且分别把数据分组HeadPacket的Mbit和Bbit设置成1和0(582和583)。该分组随后作为第一数据分组被传送给单元MASTER(j)。地址(584)。在使其与该单元断开(586)之前,列表BRIDGE_LIST(j)和SLAVE(LIST(j)最好也被发送给单元MASTER(j).地址(585)。
在使自己与单元MASTER(j).地址断开之后,协调者最好使迭代指针j加1(587),随后进行检查(590),以确定迭代计数是否已被超过(例如,j大于或等于P-1)。如果计数已被超过(591),指示已访问MASTER列表中的所有单元,协调者最好以起动主单元状态599进入阶段III。如果迭代计数j还未被超过(592),则对于下一迭代间隔(即,j+1)执行寻呼/连接过程570和对应的分组及列表传输580,直到条件(j<P-1)不再成立为止。
现在参见图6,在迭代j内,对应于地址MY_FHS_LIST(j)。地址的单元x最好被寻呼(480),并且作为从属节点与协调者相连(601)。在连接建立之后,协调者最好从单元x接收始发于协调者的传输543(参见图5)的HeadPacket(605)。随后检查来自于单元MY_FHS_LIST(j).地址的分组HeadPacket,确定Mbit位的值(610)。由于在初始化步骤541(参见图5)中,该位被设置为等于0,因此控制路径(612)最好使协调者检查Bbit位的值(620)。同样,由于在初始化步骤542(参见图5)内,Bbit被设为0,因此控制路径621最好使单元x进入从属单元终止状态630,其中该单元已终止连接建立协议的执行,并且目前正在连接状态下起从属单元的作用。
在主单元一侧,在迭代j内,对应于地址MASTER(j)。地址的单元x最好也被寻呼(480),并且作为从属节点与协调者相连。在建立连接之后,协调者最好从单元x接收始发于协调者的传输步骤584(参见图5)的HeadPacket(605)。随后检查来自于单元x(即MASTER(j).地址)的分组HeadPacket,以便确定Mbit位的值(610)。由于在初始化步骤582(参见图5)中,该位被设置为等于1,控制路径611最好使协调者从单元x接收在步骤584(参见图5)内由协调者传输的本地列表变量MY_BRIDGE_LIST和MY_SLAVES_LIST(681)。当协调者启动连接终止(682)时,单元x最好以起动主节点状态690进入阶段III。
阶段III实际连接建立在阶段III内,P个主节点最好开始寻呼并连接在角色分配阶段(阶段II)内,协调者节点分配给它们的从属节点和桥路节点。如图7的例证逻辑流程图700中所示,以和599或690(参见图5和6)相同的起动主节点状态702开始主节点的操作。根据本发明的优选实施例,主单元最好首先与其纯粹的从属单元相连,随后主单元最好与其桥路单元相连。下面更详细地说明一个例证的连接协议。
参见图7,在迭代步骤j内(最初j可被设为等于1(710)),主单元最好寻呼并与由地址MY_SLAVES_LIST(j)。地址代表的单元(720)连接。在建立连接之后,主单元最好把数据分组HeadPacket的Mbit设为等于0(731),把数据分组HeadPacket的Bbit位设为等于0(732),随后把分组作为第一数据分组发送给单元MY_SLAVES_LIST(j)。地址(733)。在传输该数据分组之后,迭代指针j最好被加1(734),并被检查(740),以确定其值是否小于MY_SLAVES_LIST列表的长度。只要迭代计数仍然小于列表MY_SLAVES_LIST的长度,那么最好在742为后续的下一迭代重复寻呼/连接程序720和分组初始化/传输过程730。
在每个迭代j内,单元MY_SLAVES-LIST(j)。地址被寻呼(480),并与协调者相连(601),并将接收来自于协调者的传输733的HeadPacket(605),和上面结合图6说明的类似。单元MY_SLAVES_LIST(j).地址随后将沿着控制路径610、620、621(由于Mbit和Bbit先前都被设为等于0),并将进入从属节点终止状态630,指示该单元已终止连接建立协议的执行,并且目前在连接状态下起从属节点的作用。
一旦迭代计数j等于或超过MY_SLAVES_LIST列表的长度(741),暗示主节点已与所有参与从属节点相连,主节点最好按照类似的方式开始连接其桥路节点。具体地说,在迭代j(一开始也被设为等于1(745))内,主单元最好寻呼并连接对应于地址MY_BRIDGES_LIST(j)。地址的单元(750),分别把数据分组HeadPacket的Mbit和Bbit位设为0和1(761、762),并把该分组作为第一数据分组发送给单元MY_BRIDGES_LIST(j)。地址(763)。迭代指针j随后最好被加1(764),并被检查(770),以确定迭代计数是否已超过MY_BRIDGE_LIST列表的长度。在迭代计数j等于或已超过MY_BRIDGE_LIST列表的长度,指示主节点已和所有参与桥路节点相连之前(771),最好在772重复寻呼/连接过程750和分组初始化/传输过程760。
当主单元和其MY_BRIDGE_LIST中的所有单元相连时(771),主单元最好等待,直到该列表中的所有单元发送等于2的MASTER_COUNT值为止(780)。一旦发生这种情况,协调者最好进入主节点终止状态790,其中单元已终止连接建立协议的执行,并且目前正在连接状态下起主单元的作用。
再次参见图6,在每个迭代j内,单元MY_BRIDGES_LIST(j)。地址被寻呼(480),并被连接(601),并接收来自于协调者的传输763(参见图7)的HeadPacket。单元MY_BRIDGES_LIST(j).地址最好沿着控制路径610、612、620、622,因为在分组HeadPacket中,Mbit位被设为等于0(761),Bbit位被设为等于1(762)(参见图7)。最初被设为等于0(图4中的462)的变量MASTERS_COUNT的值最好被加1(641),并且该主单元将被添加到协调者的MY_MASTERS_LIST中(640)。如果通过检查变量MASTER_COUNT(650),该单元被确定为连接从属单元652的第一主单元,则再次进入寻呼扫描状态480,以便与第二主单元相连。另一方面,如果该单元是从属单元已与其相连的第二主单元(例如MASTER_COUNT=2)(651),该单元MY_BRIDGES_LIST(j)。地址最好把目前应等于2的变量MASTERS_COUNT发送给位于其MY_MASTERS列表中的两个主节点(660)。这可通过首先把变量MASTERS_COUNT发送给单元x(661),交换皮网(662),随后把变量MASTERS_COUNT发送给单元MY_MASTERS(0)(663)来实现。最后,单元MY_BRIDGES_LIST(j)。地址将进入桥路终止状态670,其中该单元已终止连接建立协议的执行,并且目前正在连接状态下起桥路节点的作用。
协议终止当所有主单元从它们的所有分配桥路接收MASTER_COUNTER=2消息时,实质上确保已形成P个皮网的完全连接的散布网,并且可随后终止这里描述的本发明的协议。此时,每个节点最好在连接状态下起主节点、从属节点或桥路节点的作用。
现在参见图8,图8是图解说明实现附图中描述和这里说明的无线设备连接协议的各种功能组件/模块的典型许用蓝牙设备800的通用化硬件结构。如图所示,可按照处理器802、存储器804和输入/输出(I/O)装置806实现设备800。要认识到这里使用的术语“处理器”意图包括任意处理装置(例如数字信号处理器、微控制器等),例如包括中央处理器(CPU)和/或处理电路的处理装置。这里使用的术语“存储器”意图包括与处理器或CPU相关的存储器,例如随机存取存储器(RAM)、只读存储器(ROM)、固定存储装置(例如硬盘驱动器)、可拆卸的存储装置(例如磁盘)、快速存储器等。另外,这里使用的术语“I/O装置”意图包括把数据输入处理器的一个或多个输入装置(例如鼠标、键盘等),和/或呈现与处理器相关的结果的一个或多个输出装置(例如CRT显示器、打印机等)。当然术语“处理器”还可涉及一个以上的处理装置,并且与一个处理装置相关的各个部件可被其它处理装置共享。
因此,包括实现如同这里所述的本发明的方法的指令或代码的软件组件可保存在一个或多个相关存储器装置(例如ROM、固定的或者可拆卸的存储器中),并且当准备被使用时,被整体或者部分加载(例如加载到RAM中),并由CPU执行。
虽然这里参考

了本发明的例证实施例,不过本发明显然并不局限于这些具体实施例,在不脱离本发明的范围或精神的情况下,本领域的技术人员可实现各种其它变化和修改。
权利要求
1.一种通过无线通信信道连接第一设备和第二设备的方法,所述方法包括下述步骤任意向第一设备分配第一状态和第二状态之一,其中在第一状态下,第一设备尝试建立与第二设备的连接,在第二状态下,第一设备使其能够与第二设备连接;和根据概率分布,在第一状态和第二状态间交替第一设备的当前状态,直到预定超时时期到期,和已建立与第二设备的连接这二者之一为止,第一设备保持第一状态和第二状态的时间长度至少部分由概率分布控制。
2.按照权利要求1所述的方法,还包括修改与概率分布相关的至少一个参数的步骤,所述至少一个参数影响第一设备的交替状态序列,借此优化第一设备和第二设备处于互补状态的一段时间,从而使连接建立时间降到最小。
3.按照权利要求1所述的方法,还包括下述步骤初始化过去时间计数器;和根据计数器定期测量过去的时间,确定是否已超过预定的超时时期。
4.按照权利要求3所述的方法,其中在每次改变第一设备的状态之前,测量过去的时间。
5.按照权利要求1所述的方法,其中概率分布是随机分布。
6.按照权利要求1所述的方法,其中第一和第二设备包括许用蓝牙的设备。
7.按照权利要求6所述的方法,其中第一状态是查询状态,第二状态是查询扫描状态。
8.一种通过至少一个无线通信信道,建立若干设备之间的连接的方法,所述方法包括下述步骤任意向每个设备分配第一状态和第二状态之一,其中在第一状态中,一个设备试图发现另一设备并与之建立连接,在第二状态下,一个设备使其适合于被另一设备发现并与之连接;和在第一状态和第二状态间交替每个设备的当前状态,直到预定超时时期到期,和已建立设备之间的连接这二者之一为止,每个设备保持其当前状态的时间长度至少部分由一个或多个预定概率分布确定。
9.按照权利要求8所述的方法,其中每个设备包括与单独控制该设备保持其当前状态的时间长度相关的概率分布。
10.按照权利要求8所述的方法,还包括下述步骤选举协调者,所述协调者是从若干设备中选出的一个设备,并保存和每个设备对应的信息;向各个设备分配主设备角色、从属设备角色和桥路角色之一,所述角色由协调者按照预定规则分配;和按照各个设备的角色分配,把设备连接在一起,从而形成无线网络。
11.按照权利要求10所述的方法,其中选举协调者的步骤包括下述步骤建立两个设备之间的点对点连接;根据预定标准,确定获胜设备和失败设备;从失败设备接收和失败设备及失败设备先前与之建立连接的任意设备相关的信息;和重复协调者选举步骤,直到已访问所有设备为止。
12.按照权利要求11所述的方法,还包括在接收和失败设备及失败设备先前访问的任意设备相关的信息之后,禁止失败设备继续参与协调者选举过程的步骤。
13.按照权利要求11所述的方法,其中确定获胜设备的步骤还包括比较和若干设备中的每个设备对应的信息。
14.通过无线通信信道连接第一设备和第二设备的装置,所述装置包括至少一个处理器,所述处理器可操作用于(i)任意向第一设备分配第一状态和第二状态之一,其中在第一状态下,第一设备试图建立与第二设备的连接,在第二状态下,第一设备使其能够与第二设备连接;和(ii)根据概率分布,在第一状态和第二状态间交替第一设备的当前状态,直到预定超时时期到期,和已建立与第二设备的连接这二者之一为止,第一设备保持第一状态和第二状态的时间长度至少部分由概率分布控制。
15.按照权利要求14所述的装置,还包括至少一个在操作上与处理器耦接的,把数据输入处理器的输入/输出(I/O)装置,所述数据修改与影响第一设备保持第一状态和第二状态的时间长度的概率分布相关的至少一个参数。
16.按照权利要求15所述的装置,还包括在操作上与至少一个处理器耦接的存储器,所述存储器保存概率分布和输入数据至少之一。
17.按照权利要求14所述的装置,其中所述至少一个处理器还可操作用于(iii)初始化过去时间计数器;和(iv)根据计数器定期测量过去的时间,确定是否已超过预定的超时时期。
18.按照权利要求14所述的装置,其中第一设备包括许用蓝牙的设备。
19.通过至少一个无线通信信道建立若干设备之间的连接的装置,所述装置包括至少一个处理器,所述至少一个处理器可操作用于(i)任意向每个设备分配第一状态和第二状态之一,其中在第一状态中,一个设备试图发现另一设备并与之建立连接,在第二状态下,一个设备使其适合于被另一设备发现并与之连接;和(ii)在第一状态和第二状态间交替每个设备的当前状态,直到预定超时时期到期,和已建立设备之间的连接这二者之一为止,每个设备保持其当前状态的时间长度至少部分由一个或多个预定概率分布确定。
20.按照权利要求19所述的装置,其中所述处理器还可操作用于(iii)选举协调者,所述协调者是从若干设备中选出的一个设备,并保存和每个设备对应的信息;(iv)向各个设备分配主设备角色、从属设备角色和桥路角色之一,所述角色由协调者按照预定规则分配;和(v)按照各个设备的角色分配,把设备连接在一起,从而形成无线网络。
全文摘要
提供一种通过无线通信信道连接两个或更多设备的方法。在一个实施例中,连接第一设备和第二设备的方法包括下述步骤随意向每个设备分配两个可能状态之一,其中在第一状态下,设备尝试建立与另一设备的连接,在第二状态下,该设备使其能够与另一设备连接;和根据预定的概率分布,在第一状态和第二状态间交替每个设备的当前状态,直到预定超时时期到期,或者已建立设备之间的连接为止,每个设备保持第一状态和第二状态的时间长度由概率分布控制。在第二实施例中,提供一种在自组织无线通信网络中的若干设备或节点之间形成散布网的方法。
文档编号H04L12/28GK1575567SQ01821151
公开日2005年2月2日 申请日期2001年11月9日 优先权日2000年12月29日
发明者特奥多罗斯·萨洛尼迪斯, 普拉文·布哈格瓦特, 理查德·O·拉麦勒 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1