用于改进对等自组织网络中的连接控制的机制的制作方法

文档序号:7597604阅读:168来源:国知局
专利名称:用于改进对等自组织网络中的连接控制的机制的制作方法
技术领域
本发明通常涉及连接至无线通信网络的设备之间的通信。本发明尤其是一种用于在自发瞬时(自组织)网络内改进无线通信设备之间的链路连接的建立和控制的机制。
背景技术
短程无线系统具有小于一百米的范围,但可连接至互联网,从而提供更长距离的通信。短程无线系统包括无线个人区域网(PAN)和无线局域网(PLAN),但并不仅限于此。无线PAN使用通常具有10米范围的低成本、低功率无线设备。无线PAN技术的实例是蓝牙标准。所述蓝牙标准在2.4GHz工科医用(ISM)频带内操作,并提供一个Mbps的峰值空中链路速度,以及足够低的可供诸如个人数字助理或移动电话的个人便携电子设备使用的功率消耗。蓝牙通信协议和设备操作原理在蓝牙专业组、蓝牙系统的技术规范,版本1.1,卷1和2,2001年2月22日内描述。无线PAN技术的另一实例是经由红外线波传送数据的标准,其由红外数据协会(IrDA),一组设备制造商研发。IrDA端口使得诸如膝上型电脑的计算机或诸如打印机的设备不借助任何电缆即可将数据从一个设备传送到另一设备。IrDA端口与传统的并行端口大致支持相同的传输速率,对于所述IrDA端口使用的限制仅在于,两个设备必须相互距离几英尺,并具有清晰的视线。无线LAN比无线PAN更为经济,且具有更长的范围。无线LAN技术的实例是IEEE 802.11无线LAN标准和HIPERLAN标准。所述HIPERLAN标准在5GHz无许可证的国家信息基础设施(U-NII)频带内操作,并提供了10到100Mbps之间的峰值控制链路速度。
自组织(ad-hoc)网络是短程无线系统,包括物理上足够靠近以交换信息的无线设备的任意集合。自组织网络被迅速建立,无线设备在进入和离开剩余无线设备的邻近区时加入和离开所述网络。自组织网络还包括一个或多个接入点,即作为单独服务器或连接至其它网络的网关操作的固定无线设备。
在将来,所述蓝牙标准将可能支持多个皮网的互连,以形成多跳自组织网或散射网。在散射网内,连接设备在不同皮网之间转发业务。所述连接设备可能在一个皮网内充当主设备,而在另一皮网内充当从属设备或主设备。因此,所述连接设备通过使定时与跳频序列适应对应的皮网,并可能将其担当的角色从主设备改变为从属设备,连接包括散射网的所述皮网。
蓝牙设备包括移动电话、个人或膝上型电脑、射频识别标志、诸如个人数字助理(PDA)、寻呼机或便携计算设备的个人电子设备,但并不仅限于此。每个蓝牙设备都包括应用和操作系统程序,所述程序被设计为在其它蓝牙设备进入和离开所述网络的通信范围时发现它们。担任客户机角色的请求蓝牙设备与担任服务器角色的响应蓝牙设备建立所述两个设备之间的邻近链路。所述请求和响应蓝牙设备使用邻近链路和业务发现协议,以发现由其它蓝牙设备提供的业务,以及如何连接至那些业务。
所述蓝牙标准在启动连接至设备之前需要发现所述设备。设备发现(即询问)向设备提供范围内的附近设备的列表,并允许所述设备得到有助于建立到所述邻近设备的连接的细节。所述蓝牙标准依赖于在所述询问阶段期间内返回的一般询问接入码(GIAC)内的比特码,以在连接建立之前执行业务发现。所述比特码规定附近设备的一般性能,例如其是否具有连网性能或是否可被用作调制解调器。使用所述标准化比特码,现有技术可生成连接至自组织网络的设备的粗略分类。
借助蓝牙版本1.0或1.1实现的现有技术设备内的链路连接建立实际上相当缓慢。在现有技术设备内,询问或寻呼花费5-10秒,而链路连接建立花费1-2秒。当对等自组织网络内的蓝牙设备的密度较高,且无法在每个设备上得到特定业务时,花费相对的大量时间连接至并不支持所述业务的设备。当搜索特定业务时,现有技术通过连接至每个满足特定GIAN的对等层,并使用业务发现协议或原有协议执行业务发现请求,从而发现适当的对等层。
因此,需要一种在自发瞬时(自组织)网络内定位和建立到无线通信设备的链路连接的系统和方法。所述系统和方法消除了现有技术过程的时耗性,且与通过使用常规蓝牙连接建立和业务发现相比,可更快更详细地发现对等层设备内可用的业务。在假定典型终端正在运行若干同时实现蓝牙的应用,且所述终端位于具有高密集蓝牙设备的相对静态环境内时,所述系统和方法尤其有用。所述相对静态环境包括火车站、公共汽车或工作场所。本发明满足了这种需要。

发明内容
本发明的目的在于提供一种用于在自组织通信网络内定位支持所需业务的目标设备的计算机系统、方法和计算机程序产品。所述自组织通信网络连接设备并支持业务。每个目标设备都是所述设备中的一个,所述需要的业务是所述业务中的一个。所述方法包括执行所述自组织通信网络的询问,以发现附近业务。如果所述询问指示所述附近设备可能包括中间件层,则所述方法还包括生成到每个所述附近设备的连接,并确认每个所述附近设备是否包括所述中间件层。对于每个包括所述中间件层的所述附近设备而言,所述方法还包括发送业务发现请求,并接收包括分布式信息的响应。所述分布式信息包括诸如所述需要的业务的所述业务与诸如所述目标业务的所述设备之间的关联。
在一个实施例中,所述自组织通信网络的覆盖区包括高密度的附近设备。在另一实施例中,在连接至所述网络的附近设备数量,或安装在所述附近设备内的应用和业务方面,所述自组织通信网络是静态的。
在另一实施例中,对于每个包括所述中间件层的所述附近设备而言,所述方法还包括将公开信息存储在本地存储器内。当所述本地存储器已满时,所述方法识别所述本地存储器内的最旧记录,并以新信息重写所述最旧记录。作为选择,当所述本地存储器已满时,所述方法识别所述本地存储器内的所述新信息将替代的所存储记录,并以所述新信息重写所述所存储记录。
在又一实施例中,所述方法包括保持使得每个所述业务与一个或多个所述设备相关的分布式数据库,执行所述自组织通信网络的询问以发现附近设备,以及存取所述分布式数据库以确定每个所述附近设备是否包括所述需要的业务。如果所述分布式数据库包括一个所述附近设备与所述需要的业务之间的关联,则所述方法建立与所述附近设备的链路连接。作为选择,如果所述分布式数据库并不包括一个所述附近设备与所述需要的业务之间的关联,则所述方法拒绝建立与所述附近设备的链路连接。


附图描述了用于在自发瞬时(自组织)网络内,在无线通信设备之间建立链路连接的系统和方法的关于其结构与操作的细节。附图内的相同参考号和指定代表相同单元。
图1是示出了根据本发明实施例的所述设备的相互作用的网络图,包括移动自组织通信网络。
图2A是示出了根据本发明实施例的硬件和软件组件的方框图,所述组件包括图1所示的服务器110。
图2B是示出了根据本发明实施例的硬件和软件组件的方框图,所述组件包括图1所示的终端120。
图3A-3C是过程的各种实施例的流程图,所述过程用于在移动自组织通信网络内定位目标设备所支持的所需业务。
图4是过程的实施例的流程图,其示出了在移动自组织通信网络内的终端X与终端Y之间建立通信会话期间内的消息流。
具体实施例方式
图1是示出了根据本发明一个实施例的所述设备的相互作用的网络图,包括移动自组织通信网络。在一个实施例中,所述移动自组织通信网络是包括一个主设备和至多七个有效从设备的蓝牙皮网。如图1所示,皮网100包括服务器110和终端120的五个实例。服务器110保持网络时钟,所述服务器110是每个终端实例120的通信管理器。服务器110通常启动与终端实例120的数据交换。终端120的两个实例通常通过所述服务器110通信,但如果终端120的两个实例直接通信,则一个实例将承担服务器或主机的角色,而另一实例将承担客户机或从动装置的角色。
所述移动自组织通信网络内的每个设备都将承担终端设备或服务器设备的角色。终端设备是单个用户操作的业务的消耗装置。终端设备包括诸如移动电话或PDA的设备。服务器通常是固定设备,且仅生成业务。服务器设备在其周围生成使用其业务的热点。“热点”是指所述服务器设备为检测设备,并发现宿留在所述服务器内的所述应用所提供的业务而提供的无线电覆盖区。如果所述服务器设备并不是固定的,则所述网络内的一个所述终端设备将承担应用目录服务器的角色,并执行所述网络内的剩余终端设备的设备检测和业务发现功能。公开发明在所述终端设备之中引入了两个角色,即应用目录服务器和终端,其中应用目录服务器在设备检测和业务发现内服务于设备。如果带有热点的固定服务器存在,则服务器通常充当应用目录服务器,然而在并不存在固定服务器的情况下仍可执行服务检测和业务发现,因为一个所述终端将承担所述应用目录服务器的职责。
在诸如皮网100的自组织网络内,每个设备都明确连接到每个似乎真实的对等层。当每个设备执行业务发现操作时,其存储所述对等层已知的所有可用业务的相关语境信息,倘若所述设备在所使用的中间件意义上是兼容的。因此,每个设备基本上都执行与链路状态路由协议内的路由更新进程相类似的行为。然而,在这种情况下,所交换的信息并不是通达性和路由信息,而是与特定设备相关的安装应用和语境(例如,MAC地址)。根据本发明,每个设备都在数据库尺寸限制所限定的特定时间内,将所述信息转发到其它任何所遇的对等层。因此,当设备正在执行对于皮网100的询问,并得到一个所述相邻设备的MAC地址时,所述设备可能还会得到关于其它相邻设备的信息,并识别连接的最“有前途”的设备,从而节省不必要的连接尝试。以相同的方式,可在相同的数据库内选出并不符合所述中间件(即,到所述设备的连接尝试失败,因为在所述对等层内并不存在对应的中间件),从而排除另一组不必要的连接。
实施上述机制需要对参数值做出仔细的计划,并确定哪个信息在分配不相交信息时具有优先级。在一个实施例中,使用本地时钟和跳次计数来维持时间感。对于特定对等层而言,可能的缺点包括其中对等层当前仅激活所述中间件,而其集合知识(在分布式数据库内)将其描述为不符合的情况。因此,与并不具有存储器的系统的业务启动相比,特定对等层的业务启动更为缓慢,因为后者必须首先执行询问,以连接到对等层,且仅在延迟之后其状态方被在环境内更新。这可被认为是设备在所述网络内持续协作的原因或激励。
仅可在设备存储和信道带宽的限制内保持分布式信息的持久性。由于诸如皮网100的邻近网络内的带宽空闲且相当足够,因此存储器消耗变为主要的瓶颈。所公开的发明分配所述设备内的一部分存储器,并保留存储器的所述部分用于存储分布式设备和应用信息。在一个实施例中,存储器的所述部分尺寸是固定的。在另一实施例中,存储器的所述部分被动态地分配,以适应网络需要或活动性。当存储器的所述部分已满时,所述设备将通过以新信息重写最旧信息来存储所述新信息。然而,如果所述新信息预计直接代替(即取代)先前从相同信源或相同应用存储的信息,则可能并不会重写所述最旧信息。
对于一个信息记录是否比另一信息记录旧的确定,取决于用于存储与所述信息记录相关的序列号的方法。如果所述序列号来自所述本地设备,则所述序列号定义信息记录被输入所述本地数据库的顺序。然而,如果从所述源设备分配所述序列号,则仅以所述序列号确定所述信息记录被输入所述本地数据库的顺序并不可靠。因此,公开发明依赖于跳次计数和序列号来确定哪个信息记录具有优先级。
所述跳次计数是所述信息记录从一个设备行进到另一设备的次数。如果所述序列号被设置在所述本地设备内,则带有低跳次计数的信息记录对于带有高跳次计数的信息记录将始终具有优先级(即更新)。如果所述序列号是从所述源设备分配的,则带有低跳次计数的信息记录对于带有高跳次计数的信息记录将始终具有优先级,除非所述两个信息记录来自其中所述序列号确定优先级的相同设备。
生成所述信息记录的设备指配所述序列号。如果所述序列号来自所述本地设备,则所述序列号形成所述信息记录的唯一排序。当使用时间戳时,所述时间戳将优于所述序列号。如果所述序列号是从所述源设备分配的,则来自相同“跳次计数组”的信息记录将被基于其序列号部分排序。这是有效的排序,因为基于当设备启动时序列号重新开始的假定,来自尚未长时间运行的设备的信息记录具有较低的优先级。因此,当更新来自所述相同设备并用于相同应用的信息时,所述信息记录将包括与具有较高序列号的信息记录相关的信息,但将会使用两个信息记录的较低跳次计数。
公开发明使每个输入信息记录都具有时间戳,并在已存储了所述信息记录预定义时期(例如5分钟)之后删除所述信息记录。所述信息记录的寿命与所述跳跃技术组合解决了序列号卷绕的问题。此外,由于网络拓扑和所传送信息高度动态,因此所述信息的长期存储并不必要。信息分配器无需额外的智能排序或“清除”功能,因为发送者无法了解距离两个或甚至是三个跳跃的信息的需要,尤其是在所述网络拓扑不断变化时。
公开发明使用跳次计数、序列号和时间戳,以(1)确定信息的新颖性(即,确定哪个记录优于复制记录),(2)确定内部排序,并判定信息的寿命。序列号始终由所述源设备设置,且从未改变。在本地设备内为每跳设置时间戳。为每个所经历的设备更新跳次计数。因此,对于来自单个信源的复制记录而言,可通过单独检查所述跳次计数和序列号来解决新颖性的确定。如果所述序列号更低,或如果所述序列号相等但所述跳次计数更低,则公开发明将记录更新为复制物。确定内部排序并判定信息寿命(即,由于存储器限制而删除记录)相当复杂。公开发明将所述记录从最低跳次计数到最高跳次计数排序,并删除具有最高跳次计数和最旧时间戳的记录。
图2A是示出了根据本发明一个实施例的硬件和软件组件的方框图,包括如图1所示的服务器110。服务器110是通用无线设备。总线200是将键盘201、显示器202、中央处理单元(CPU)203和射频(RF)适配器204连接到存储器210的通信媒体。RF适配器204经由无线链路连接到终端120,所述RF适配器是便利了服务器110与终端120之间的网络业务的机制。
CPU 203通过执行操作指令的顺序来执行公开发明的方法,所述操作指令包括存在于存储器210内或在所述存储器210上操作的每个计算机程序。存储器210包括操作系统软件211、应用程序212和中间件软件220。操作系统软件211控制键盘201、显示器202、RF适配器204和存储器210的管理。应用程序212控制用户与服务器110之间的相互作用。中间件软件220包括应用程序接口(API)221,所述应用程序接口221辅助在服务器110上运行的应用程序发现在终端120上运行的对应应用并与其通信。为了跟踪分布式设备和应用信息,中间件软件220还包括分布式信息230,以存储诸如信息记录231的数据记录。在一个实施例中,信息记录231包括设备信息235或应用信息236。在另一实施例中,信息记录231存储设备信息235和应用信息236。
图2B是示出了根据本发明一个实施例的硬件和软件组件的方框图,包括如图1所示的终端120。终端120是通用无线设备。总线250是将键盘251、显示器252、CPU 253和RF适配器254连接到存储器260的通信媒体。RF适配器254经由无线链路连接到服务器110或另一终端120,所述RF适配器是便利了服务器110与终端120之间的网络业务的机制。
CPU 253通过执行操作指令的顺序来执行公开发明的方法,所述操作指令包括存在于存储器260内或在所述存储器260上操作的每个计算机程序。存储器260包括操作系统软件261、应用程序262和中间件软件270。操作系统软件261控制键盘251、显示器252、RF适配器254和存储器260的管理。应用程序262控制用户与终端120之间的相互作用。中间件软件270包括API 271,所述API 271辅助在终端120上运行的应用程序发现在服务器110或另一终端120上运行的对应应用并与其通信。为了跟踪分布式设备和应用信息,中间件软件270还包括分布式信息280,以存储诸如信息记录281的数据记录。在一个实施例中,信息记录281包括设备信息285或应用信息286。在另一实施例中,信息记录281存储设备信息285和应用信息286。
在一个实施例中,存储器210和存储器260的配置是相同的。在另一实施例中,存储器210和存储器260的配置仅包括分别执行服务器110和终端120的基本任务所需的软件。例如,如果终端120必须接收一般询问接入码,但不必发送一般询问接入码消息,则仅接收此消息的软件存在于存储器260内。
在终端上执行的应用持续搜索对应应用,即与所述应用通信的相同应用的另一实例。应用的每个实例都承担特定角色。只有所述角色是互补的,应用与对应应用之间的通信方才有意义。例如,承担“客户机”角色的应用可与承担“服务器”角色的对应应用通信。当两个具有相同识别符的应用具有互补的角色时,所述应用可相互通信。中间件软件是具有API的软件层,所述API协商两个应用之间的通信,以辅助应用找到具有正确角色的对应应用。因此,当寻找到相邻对等层节点内的适当对应应用时,安装在终端内的应用将被激活,且所述设备附至所述节点。
新应用由“安装器”应用安装,所述“安装器”应用使用中间件来寻找到对应部分,并将所述新应用站装在终端的本地存储器内。新应用的实际寻找和选择发生在应用电平上。起初,所述安装器应用是专用“浏览器-供应商”(即客户机-服务器)应用,所述应用接入服务器内的对应应用,浏览其可用应用数据库,允许用户安装所述应用,并下载和安装所述新应用。然后,对应功能可能被加入无线接入协议(WAP)和超文本链接标示语言(HTML)浏览器。
业务发现通常可被视为三步过程。首先,发现新的潜在应用,并考虑将其安装。其次,有效的安装应用开始搜索对应应用。公开发明的中间件体系结构协调所述第二步骤。第三,有效安装和正在运行的应用开始搜索诸如打印机(即资源发现)的公共资源。公开发明的中间件体系结构有助于所述第一与第二步骤,但依赖于所述应用来执行资源发现。一般而言,终端应用与其对应应用通信,并使用本地(即服务器)资源。如果应用使用私有资源,则相关业务发现由应用凭借标准(例如蓝牙或蓝牙/Java),以所述终端中间件软件并不支持的方式实施。
所述中间件体系结构示出了公开发明的一个实施例。以下描述了在所述中间件体系结构内保持和分布的信息。
对等层或设备信息表1示出了存储对等层或设备信息的公开发明的实例。表1示出了存储在设备存储器内的数据,例如分布式信息230或分布式信息280。

表1——示范对等层或设备信息所述状态字段指示设备是否可通过另一对等层通达,以及所述对等层是否运行所述中间件(即不可通达)。如果状态=0,则对等层不可通达。如果状态=1,则存在与所述对等层的直接连接。如果状态=2,则所述对等层距离一个跳跃。在所述中间件体系结构内实施公开发明的这个方面并不支持实际路由。因此,状态=2指示对等层可通过单个跳跃(即经由一个对等层)通达。
所述地址与友好名称字段识别主题设备。如表1所示,所述编码地址附带可读的友好名称。所述设备使用编码地址通信,但所述用户使用所述友好名称识别所述设备。
所述HC字段(跳次计数)指示所述记录在通达当前设备之前已传播的距离。如果HC=0,则所述信息存储在正存储所述列表的对等层内。如果HC=1,则直接从另一对等层接收所述信息。如果HC=2,则所述信息是通过另一对等层从对等层接收的,等等。因此,当确定关于主题设备的信息的新颖性时,所述跳次计数是重要字段。
所述Seq.Nr.(序列号)、时间Val.(时间值)和时间Ctr.(时间计数器)字段用于估计所述主题设备的信息的新颖性。如上所述,存储在所述字段内的值在确定信息记录的寿命时有用。
应用信息表2示出了存储应用信息的公开发明的实例。表2示出了存储在设备存储器内的数据,例如分布式信息230或分布式信息280。

表2——示范应用信息对于每个应用而言,所述状态字段存储关于应用的分布式性质的状态的信息(例如,所述应用是被安装,当前正在运行,还是被配置为允许自动起动)。所述版本和Capabil.(性能)字段指示所述应用所承担的角色(例如,客户机-服务器角色和语言选择)。所述字段还辅助所述中间件判定是否可匹配于另一应用。如表2所示,由于应用02871089可用于寻址00E0032439EB和00E003254B95,因此与所述地址相关的设备应当能够使用应用02871089通信,因为性能、版本和状态字段是互补的。在另一实施例中,作为“应用更新”一部分传送的附加信息矢量可用于做出应用兼容性判定。
中间件体系结构的表2所示应用信息的实施方式传送每个应用的关于先前连接的信息。例如,应用A先前在连接存在于对等层X与对等层Y之间时通信。使用所述方法,必须限制历史长度,但所述信息可用于运行信息共享型应用时。因此,如果基于对等层X已与对等层Y通信,且连接到对等层Y将导致应用A在连接到对等层Y之后也了解存储在对等层X内的所有信息,则可能会连接到某一未知对等层Z,而非对等层X,如果应用A是最优级应用的话。
表1和2描述了中间件体系结构内公开发明的实施方式。公开发明可被实施在蓝牙中间件的语境内,或扩展为蓝牙内标准化业务发现协议(SDP)。蓝牙SDP的内部数据库可受益于上述分布式数据库的更为有限的版本。基本功能可能是在处于已建立通信连接状态的(实际上在已执行实际SDP询问之后立即)同等设备之间交换全部SDP数据。另一方面,当终端设备已从其它终端存取“代理”信息时,其可在蓝牙询问之后,但在寻呼和连接到所述对等层之前立即执行本地“代理SDP询问”,从而节省一些不必要的连接。实际上,SDP情况下的系统的精确度很可能高于上述的其它实例,因为SDP数据库的属性实质上更为持久。
图3A-3C是过程的各种实施例的流程图,所述过程用于在移动自组织通信网络内定位目标设备所支持的所需业务。所述移动自组织通信网络连接若干设备。图3A-3C示出了三种所述设备,源设备300、对等层设备320和目标设备340。
图3A示出了源设备确定对等层设备是否包括中间件层,并在移动自组织通信网络内的设备之间建立链路的过程开始。源设备300通过将询问请求发送到所述移动自组织通信网络(步骤301),启动图3A所示的过程。所述移动自组织通信网络内的处于询问扫描模式的一个设备,即对等层设备320接收所述询问请求(步骤321),并通过发送询问响应消息来做出响应(步骤322)。在一个实施例中,所述询问响应消息是被修改为指示对等层设备320包括中间件层的询问结果指令。源设备300接收所述询问响应消息(步骤302)。源设备300检查所述询问响应消息,以确定所述询问响应消息是否包括对于对等层设备320可能包括所述中间件层的指示(步骤303)。如果所述询问响应消息并不包括所述指示,则退出所述过程。如果所述询问响应消息包括所述指示,则源设备300发送寻呼请求消息(步骤304)。对等层设备320接收所述寻呼请求消息(步骤323),并发送寻呼接受消息作为响应(步骤324)。源设备300接收所述寻呼接受消息(步骤305),并发送SDP请求(步骤306)。对等层设备320接收所述SDP请求(步骤325),并发送SDP请求(步骤326)。源设备300接收所述SDP响应(步骤307),并确认对等层设备320是否包括所述中间件层(步骤308)。在一个实施例中,识别请求消息和后续响应消息将确认对等层设备320是否包括所述中间件层。如果对等层设备320并不包括所述中间件层,则退出所述过程。
图3B是图3A所示过程的继续,图3B示出了在确认所述中间件层存在于所述对等层设备内之后,使用所述链路来交换应用目录信息。如果对等层设备320包括所述中间件层,则源设备300启动与对等层设备320的消息交换,以执行基于中间件的应用信息交换(步骤309和327)。基于所述消息交换,源设备300和对等层设备320分别存储分布式应用信息(步骤310和328)。源设备300检查所述分布式应用信息,以确定对等层设备320是否支持优选应用(步骤311)。如果对等层设备320并不支持所述优选应用,则源设备300断开对等层设备320的连接。如果对等层设备320支持所述优选应用,则源设备300起动所述优选应用(步骤312)。这触发对等层设备320起动所述优选应用的对应部分(步骤329)。因此,源设备300和对等层设备320分别通过执行所述优选应用开始通信(步骤313和330)。
图3C是图3A和3B所示过程的继续,图3C示出了基于经由所述应用信息交换而检索的应用目录信息,连接到目标设备上的优选应用。一旦源设备300从对等层设备320接收所述分布式应用目录,源设备300即可检查所述分布式应用目录,以仅基于所述询问响应消息(即蓝牙BD_ADDR消息),确定诸如目标设备340的设备是否拥有优选应用。因此,源设备300在所述分布式应用目录指示所述优选应用可用时建立到设备的连接,并避免与并不拥有所述优选应用的设备建立不必要的连接。
源设备300通过将询问请求发送到所述移动自组织通信网络(步骤314)启动图3C所示的过程。所述移动自组织通信网络内的处于询问扫描模式的一个设备,即目标设备340接收所述询问请求(步骤341),并通过发送询问响应消息来做出响应(步骤342)。在一个实施例中,所述询问响应消息是被修改为指示所述目标设备340包括中间件层的蓝牙询问结果指令。源设备300接收所述询问响应消息(步骤315)。源设备300检查所述询问响应消息,以确定所述询问响应消息是否包括对于对等层设备320可能包括所述中间件层的指示(未显示)。此外,源设备300检查存储在源设备300内的所述分布式应用信息,以确定目标设备340是否支持所述优选应用(步骤316)。如果目标设备340并不支持所述优选应用,则退出所述过程。如果目标设备340支持所述优选应用,则源设备300发送寻呼请求消息(步骤317)。目标设备340接收所述寻呼请求消息(步骤343),并发送寻呼接受消息作为响应(步骤344)。源设备300接收所述寻呼接受消息(步骤318),并与目标设备340建立(步骤345)链路连接(步骤319)。因此,源设备300和目标设备340分别通过执行所述优选应用开始通信(步骤319和345)。
根据公开发明,所述中间件体系结构负责将组合应用目录存储在所有网络节点内,并将其分配给其它所有具有所述中间件的设备。因此,在所述自组织网络内存在当前具有各种“版本”的分布式“流动”应用目录,其中所述版本取决于所述设备何时连接到网络上。在确定所述中间件体系结构是否存在之后,立即经由SDP协议执行所述应用目录信息交换。然而,如上所述,也可具有作为扩展到SDP自身的这种系统。如果终端已存储组合应用目录信息,则所述终端能够选择最佳的可能通信对应部分,以提供更为有效的连接建立,而不必与其它并不提供优选业务的对等层设备连接。
图4是一个过程的实施例的流程图,其示出了在移动自组织通信网络内的终端X与终端Y之间建立通信会话期间内的消息流。在一个实施例中,终端X和终端Y是诸如图1和图2B所示的终端120的移动设备。在另一实施例中,终端X是诸如图1和2B所示的终端120的移动设备,终端Y是诸如图1和2A所示的服务器110的移动设备。
如图4所示,终端X通过将询问请求消息发送到所述移动自组织通信网络启动所述通信。由于终端Y是附近设备,所以终端Y接收所述询问请求消息,并将询问响应消息发送到终端X。在一个实施例中,所述询问请求消息是蓝牙询问指令,所述询问响应消息是蓝牙询问结果指令。在另一实施例中,所述询问请求消息是蓝牙询问指令,所述询问响应消息是蓝牙询问结果指令,其被修改为指示发送所述蓝牙询问结果指令的终端包括中间件层。在一个实施例中,所述中间件层包括提供高级应用以及业务发现和执行的专用中间件软件。在一个实施例中,对于蓝牙询问结果指令的修改是对于设备类别(CoD)参数的修改。例如,如果发送所述蓝牙询问结果指令的终端包括所述中间件层,则所述终端至少将“自组织组网意识”比特(比特16)设置为开启(1)。作为选择,如果发送所述蓝牙询问结果指令的终端包括所述中间件层,则所述终端将“自组织组网意识”比特(比特16)设置为开启(1),而将“位置信息”比特(比特17)设置为关闭(0)。作为选择,如果发送所述蓝牙询问结果指令的终端包括所述中间件层,则所述终端将“自组织组网意识”比特(比特16)设置为开启(1),而将“能够通话”比特(比特22)设置为开启(1)。作为选择,如果发送所述蓝牙询问结果指令的终端包括所述中间件层,则所述终端将“自组织组网意识”比特(比特16)设置为开启(1),将“位置信息”比特(比特17)设置为关闭(0),而将“能够通话”比特(比特22)设置为开启(1)。在又一实施例中,对于所述蓝牙询问结果指令的修改是不必要的,如果指示所述中间件软件的存在的专用指示参数被引入所述蓝牙询问结果指令技术规范的话。
如图4所示,在所述询问之后,终端X可通过发送寻呼请求消息,生成到每个诸如终端Y的附近设备的连接,所述附近设备以所述询问响应消息指示可能拥有所述中间件层。如果终端Y并不指示可能拥有所述中间件层(例如通过将“自组织组网意识”比特(比特16)设置为关闭(0)),则不会传送寻呼请求消息,并断开通信会话。在执行询问之后,所述询问包括对于终端Y可能包括中间件层的指示,如上所述,终端X发送所述寻呼消息请求。终端Y接收所述寻呼请求消息,并选择性地发送寻呼接受消息,以接受所述连接请求。在一个实施例中,所述寻呼请求消息是蓝牙生成连接指令,而所述寻呼接受消息是蓝牙接受连接请求指令。
在连接到每个附近设备之后,如图4所示,终端X发送识别请求消息,以确认诸如终端Y的附近设备是否必然包括所述中间件层。终端Y接收所述识别请求消息,并将识别响应消息发送到终端X。在一个实施例中,接收所述识别响应消息是对于终端Y包括所述中间件层的确认。在另一实施例中,所述识别响应消息的内容将指示终端Y是否包括所述中间件层。在一个实施例中,所述识别请求消息和识别响应消息使用蓝牙业务发现协议(SDP)。如果终端Y并不包括所述中间件层,则可能会断开所述通信协议。
在确认诸如终端Y的附近设备包括所述中间件层之后,如图4所示,终端X和终端Y使用所述中间件层来发现和起动应用和业务。在一个实施例中,终端X和终端Y使用图3A-3C所示的流程图所公开的方法,发现并起动应用和业务。
尽管公开实施例描述了用于在自组织通信网络内的无线设备之间建立链路连接的全功能系统和方法,但阅读者应当理解的是存在着其它同等实施例。由于可对此公开做出若干修改和改变,因此用于在自组织通信网络内的无线设备之间建立链路连接的系统和方法并不仅限于所示和公开的准确构造和操作。因此,此公开涵盖属于权利要求书范围内的所有适当修改和同等物。
权利要求
1.一种用于在自组织通信网络中定位至少一个目标设备的系统,所述目标设备支持需要的业务,所述自组织通信网络连接至少一个设备,并支持至少一个业务,其中每个所述至少一个目标设备是所述至少一个设备中的一个,所述需要的业务是所述至少一个业务中的一个,所述系统包括存储器设备;以及与所述存储器设备进行通信的处理器,所述处理器被配置为执行所述自组织通信网络的询问,以在所述至少一个设备中发现至少一个附近设备,所述询问包含对于所述至少一个附近设备可能包含中间件层的指示;当所述询问包含所述至少一个附近设备可能包含所述中间件层的指示时生成到所述至少一个附近设备的对等层设备的连接,确认所述对等层设备是否包含所述中间件层;当所述对等层设备包含所述中间件层时将业务发现请求发送到所述对等层设备;以及接收对于所述业务发现请求的响应,所述响应包含分布式信息,其中所述分布式信息包含所述需要的业务的至少一个参考,以及每个参考与其中一个所述至少一个目标设备之间的关联。
2.根据权利要求1的系统,其中所述分布式信息包含至少一个信息记录,每个所述信息记录都包含设备信息或应用信息中的至少一个。
3.根据权利要求1的系统,其中当所述对等层设备包括所述中间件层时,所述处理器还被配置为将所公开信息存储在所述存储器设备的一部分内,其中所述部分包括至少一个记录。
4.根据权利要求1的系统,其中当所述对等层设备包括所述中间件层时,所述处理器还被配置为建立链路连接到其中一个所述至少一个目标设备;以及接入所述所请求业务。
5.一种用于在自组织通信网络中定位至少一个目标设备的方法,所述目标设备支持需要的业务,所述自组织通信网络连接至少一个设备,并支持至少一个业务,其中每个所述至少一个目标设备是所述至少一个设备中的一个,所述需要的业务是所述至少一个业务中的一个,所述方法包括执行所述自组织通信网络的询问,以在所述至少一个设备中发现至少一个附近设备,所述询问包含对于所述至少一个附近设备可能包括中间件层的指示;当所述询问包含所述至少一个附近设备可能包括中间件层的指示时生成到所述至少一个附近设备的对等层设备的连接,确认所述对等层设备是否包括所述中间件层;当所述对等层设备包括所述中间件层时将业务发现请求发送到所述对等层设备;以及接收对于所述业务发现请求的响应,所述响应包含分布式信息,其中所述分布式信息包含所述需要的业务的至少一个参考,以及每个参考与其中一个所述至少一个目标设备之间的关联。
6.根据权利要求5的方法,其中当所述对等层设备包括所述中间件层时,所述方法还包括将所公开的信息存储在所述存储器设备的一部分中,其中所述部分包括至少一个记录。
7.根据权利要求5的方法,其中当所述对等层设备包括所述中间件层时,所述方法还包括建立链路连接到其中一个所述至少一个目标设备;以及接入所述请求的业务。
8.一种用于在自组织通信网络中定位至少一个目标设备的计算机程序产品,所述目标设备支持需要的业务,所述自组织通信网络连接至少一个设备,并支持至少一个业务,其中每个所述至少一个目标设备是所述至少一个设备中的一个,所述需要的业务是所述至少一个业务中的一个,所述计算机程序产品包括计算机可读媒体,其存储用于执行所述自组织通信网络的询问,以在所述至少一个设备内发现至少一个附近设备的程序代码,所述询问包含所述至少一个附近设备可能包括中间件层的指示;用于生成到所述至少一个附近设备的对等层设备的连接的程序代码;用于确认所述对等层设备是否包括所述中间件层的程序代码;用于将业务发现请求发送到所述对等层设备的程序代码;以及用于接收对于所述业务发现请求的响应的程序代码,所述响应包含分布式信息,其中所述分布式信息包含所述需要的业务的至少一个参考,以及每个参考与其中所述至少一个目标设备之间的关联。
9.一种用于在自组织通信网络中定位目标设备的方法,所述目标设备支持需要的业务,所述自组织通信网络连接至少一个设备,并支持至少一个业务,其中所述目标设备是所述至少一个设备中的一个,所述需要的业务是所述至少一个业务中的一个,所述方法包括保持分布式数据库,以使每个所述至少一个业务与至少一个所述至少一个设备相关;执行所述自组织通信网络的询问,以在所述至少一个设备中发现至少一个附近设备,所述询问包含所述至少一个附近设备可能包括中间件层的指示;以及存取所述分布式数据库,以确定所述至少一个附近设备是否包含所述需要的业务。
10.一种用于在自组织通信网络中定位目标设备的系统,所述目标设备支持需要的业务,所述自组织通信网络连接至少一个设备,并支持至少一个业务,其中所述目标设备是所述至少一个设备中的一个,所述需要的业务是所述至少一个业务中的一个,所述系统包括用于保持分布式数据库,以使每个所述至少一个业务与至少一个所述至少一个设备相关的装置;用于执行所述自组织通信网络的询问,以在所述至少一个设备中发现至少一个附近设备的装置,所述询问包含所述至少一个附近设备可能包括中间件层的指示;以及用于存取所述分布式数据库,以确定所述至少一个附近设备包含所述需要的业务的装置。
全文摘要
一种用于在自组织通信网络中定位至少一个目标设备的计算机系统、方法和计算机程序产品,所述目标设备支持需要的业务。所述自组织通信网络连接设备并支持业务。每个目标设备都是所述设备中的一个,而所述需要的业务是所述业务中的一个。所述方法包括执行所述自组织通信网络的询问,以发现附近设备。如果所述询问指示所述附近设备可能包括中间件层,则所述方法还包括生成到每个所述附近设备的连接,并确认每个所述附近设备是否包括所述中间件层。对于包括所述中间件层的每个附近设备而言,所述方法还包括发送业务发现请求,并接收包括分布式信息的响应。所述分布式信息包含诸如所述需要业务的业务与诸如所述目标设备的设备之间的关联。
文档编号H04L29/12GK1599348SQ200410079168
公开日2005年3月23日 申请日期2004年9月15日 优先权日2003年9月16日
发明者简-埃里克·艾克伯格 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1