专利名称:鲁棒的多径路由的制作方法
鲁棒的多径路由相关申请本申请要求2009年6月4日提交的名为“Robust Multipath Routing”的美国专利申请No. 12/478,614的优先权。
背景技术:
典型地,网络提供从源到目的地的多个可能的传输路径。例如,位于波士顿的个人计算机与位于洛杉矶的服务器之间的通信可以通过10条不同的(并且同样合理的)路径来路由(取决于网络如何配置以及中间节点之间的每条链路上的当前业务负载)。典型地, 互联网上的路由是利用从多条可用路径中选择的单条路径进行的,选定的路径是由各个网络管理员确定的。这种“自组织”路由背后的动机在于简化网络管理、降低更新各个节点处的路由表的需求等等,总体目标在于更有效地利用网络。一些有线网络利用多条路径来进行单个会话,而不是选择单条路径来进行通信会话。例如,异步传输模式(ATM)网络可以在不同路径之中进行快速选择,以实现响应负载平衡,并对网络故障作出快速反应。此外,开放式最短路径优先(OSPF)协议旨在优化互联网通信中的多径路由。然而,OSPF的适配速度相对较低,并且OSPF通常不用在单个TCP/ IP (传输控制协议/互联网协议)流中。无线自组织网络典型地包括自配置的节点阵列,用于将RF(射频)收发机与处理能力(在某些情况下与传感器)结合。然而,自组织网络扩展到车辆和建筑物内引入了管理具有多径路由的异构自组织网络(其中存在多个管理域)的问题。这种环境所引入的一些问题包括需要管理每一节点处的功耗;在多个管理域之间具有不同的性能优化目标; 以及非信任“中间人”所带来的安全问题。已经提出了多径路由算法来优化无线自组织网络中的性能,其中每个管理域可以设法基于其自身的内部优化目标来优化路由,而不一定要与网络中其他域的优化目标一致。根据这类方案管理的网络统称为“自私的”。然而,这类路由算法没有解决网络中的恶意节点的问题。换句话说,路由算法典型地假设网络中的所有节点都以“理性的”方法进行操作,并且可以在提供了适当激励的情况下被引导以转发网络业务。然而,恶意节点具有不同的激励结构(在算法上是非理性的), 因而不能为典型的路由算法所考虑。根据以下公开,本领域技术人员将意识到这个问题是已知的“拜占庭将军算法”问题的一种形式。
发明内容
本公开描述了无线通信过程。一些示例过程包括在节点处接收分组流;识别该分组流内的分组子集;确定用于将所识别的分组子集发送至另一节点的一条路由;以及确定用于将分组流中除了所述分组子集之外的其他分组发送至另一节点的不同路由。本公开描述了无线通信设备和/或系统。一些示例设备和/或系统包括无线节点, 该无线节点具有处理器以及与处理器相耦合的无线收发机。无线节点的处理器可以配置用于接收来自无线收发机的分组流;识别该分组流内的分组子集;确定用于将所识别的分组子集发送至另一节点的一条路由;以及确定用于将分组流中除了所述分组子集之外的其他分组发送至另一节点的不同路由。以上发明内容仅仅是说明性的,而绝不是限制性的。除了上述示例性的各方案、 各实施例和各特征之外,参照附图和以下详细说明,将清楚其他方案、其他实施例和其他特征。
在说明书的最后部分中具体指出并清楚地要求了主题。根据以下说明和所附权利要求,结合附图,本公开的前述和其他特征将更加清楚。在认识到这些附图仅仅示出了根据本公开的一些示例且因此不应被认为是限制本公开范围的前提下,通过使用附图以额外的特征和细节来详细描述本公开,附图中图1示出了示例无线自组织网络环境;图2示出了示例数据分组流;图3示出了示例系统;图4示出了示例方法;图5示出了示例计算机程序产品;以及图6示出了示例计算设备。
具体实施例方式以下描述阐明了各个示例以及特定细节,以特定对所要求保护的主题的全面理解。然而,本领域技术人员将理解,所要求保护的主题可以在没有这里所公开的特定细节中的一些或更多的情况下实现。此外,在一些环境中,不对已知方法、过程、系统、组件和/或电路进行详细说明,以免不必要地混淆所要求保护的主题。在以下详细说明中,参考了作为详细说明的一部分的附图。在附图中,类似符号通常表示类似部件,除非上下文另行指明。
具体实施方式
部分、附图和权利要求书中记载的示例性实施例并不是限制性的。在不脱离在此所呈现主题的精神或范围的情况下,可以利用其他实施例,且可以进行其他改变。应当理解,在此一般性记载以及附图中图示的本公开的各方案可以按照在此明确和隐含公开的多种不同配置来设置、替换、组合、分割和设计。本公开尤其针对涉及自组织无线网络中的方法、设备、计算机程序和系统。在以下描述中,可以呈现对于存储在计算系统(例如计算机和/或计算系统存储器)内的数据比特和/或二进制数字信号的操作的算法和/或符号表示。通常认为算法是自洽的操作序列和/或产生期望结果的类似处理,其中操作可以包括对采取能够被存储、 传送、组合、比较和/或以其他方式操控的电、磁和/或电磁信号的形式的物理量的物理操控。在不同场景中,可以将这类信号称为比特、数据、值、元素、符号、字符、项、数字、数值等。 然而,本领域技术人员根据本公开将认识到,这类术语可以用于暗指物理量。因此,在说明书中使用诸如“存储”、“处理”、“检索”、“计算”、“确定”等的术语时,这些术语可以指代计算平台(例如,计算机或在计算平台的处理器、存储器、寄存器等内对表示为物理量(包括电学量和/或磁学量)的数据进行操控和/或变换的类似电子计算设备(例如蜂窝电话))的动作。图1示意了示例无线自组织网络环境100。环境100包括构成网络104-110的无线节点102。在图1的示例中,网络104-110是根据公知的传输控制协议/互联网协议(TCP/ IP)协议组进行操作的分组交换网络。然而,所要求保护的主题不局限于特定网络类型和/ 或特定网络协议,例如,网络环境100可以包括网格网络。图1中的每一个网络104-110还可以表示不同的管理域。例如,不同的管理域可以与公司内的不同部门、不同住宅的邻居、 或正好出现在附近的不同传感器网络等相关联。考虑网络104中的源节点105,源节点105试图与网络110中的目的节点107通信分组流。在图1中可以看出,存在多条可能的路径可用于这种通信会话,例如表示为实线的路径109,经由中间节点112和114将节点105链接到节点107 ;以及表示为虚线的路径 111,经由中间节点113和115将节点105链接到节点107。在环境100的示例中,节点105和107分别驻留在网络104和110中。网络104 和110不同于网络106和108,网络106和108分别包括节点112和114以及节点113和 115。此外,在本示例中,可以期望网络104、106和110中的节点转发它们接收到的分组,而网络108代表可能是恶意的和/或自私的网络,其中节点可以采取恶性行为(例如暗中监视分组)或自私行为(例如丢弃分组)。因而,如果选择路径111来将分组流从节点105传送至节点107,则这些分组在经过网络108中的节点113和115时可能遭受恶意的或自私的动作。本领域技术人员根据本公开将认识到,节点105可以采用多径路由算法来选择通路 (例如,路径109和/或路径111),以将分组从节点105传送至节点107。图1中的节点102可以代表各种各样的无线网络节点中的任意无线网络节点,包括但不局限于移动计算机、传感器节点等。本领域技术人员根据本公开将认识到,无线自组织网络环境(例如,环境100)中的每一个节点可以是移动平台,该移动平台包括路由器,具有一个或多个主机或网络设备,承载IP主机地址;以及无线通信设备,例如接收机和发射机(或收发机)等。然而,所要求保护的主题不局限于特定节点类型和/或配置。图2示出了加密数据分组202-210的示例流200。例如,分组202-210可以是TCP 分组,但所要求保护的主题不局限于此。在图2中,分组202和204是流200的报头部分的一部分,分组206-210代表数据分组。根据所要求保护的主题的具体实现,可以由发端节点 (例如,节点105)对要在节点105和107之间传送的分组流进行分析,以确定给定消息流中的哪些分组比其他分组更为重要。例如,在TCP协议中,可以认为TCP确认(ACK)分组、发送请求(RTS)分组、清除发送(CTS)分组或承载紧急指示符的分组等比同一个流中的数据分组更为重要。在图2的示例中,分组204代表TCP ACK分组,这样,可以被图1中的节点105识别为重要分组。本领域技术人员根据本公开将认识到,图2仅用于说明的目的,旨在提供对无线通信分组的简化说明。例如,尽管图2中没有描述为不同的大小,然而本领域技术人员根据本公开将认识到,在TCP流中,ACK分组204可以比任意数据分组206-210要小得多 (即,包含较少信息)。一旦识别出重要分组,就沿着与不重要分组的路径不同的路径来发送重要分组。 例如,节点105可以将分组204识别为重要,进而可以使用路径109来将分组204发送至节点107,而利用路径111将分组202和206-210发送至节点107,其中节点105先前已经利用多径路由算法将路径111识别为优选路径。因此,除了在利用多径路由方案所选择的传输通路上传输消息之外,所要求保护的主题的具体实现还包括选择消息中的一个或多个分组用于在不同的通路上传输,以避免在单一传输通路上发送消息的所有分组。在某些具体实现中,对于重要分组的这种选择性的或区别化的路由可以通过改变多径路由算法中与这些分组相关联的加权变量来实现。换言之,例如,节点105可以在利用多径路由算法选择用于传输的路由时、使用一个加权变量值来选择针对分组202和206-210的传输路径,并使用不同的加权变量值来选择针对分组204的传输路径。此外,也可以复制分组流中所识别的重要分组,并通过不同的路径发送复制的分组。例如,考虑网络108(有意或无意地)转发它所看到的大多数分组但是偶尔掉包或没有转发较少数量的TCP ACK分组的情况。因此,尽管路径111看起来是可靠的,然而传输效力可能经受考验,因为ACK分组对于TCP/IP网络性能而言是重要的。因此,再次参照图1,在将路径111识别为优选并将分组204识别为重要的情况下,节点105还可以拷贝分组204, 然后通过第三路径116 (在图1中以穿过节点117、118和119的点划线示意)将分组204 的拷贝发送至节点107,同时通过路径109发送分组204的原始版本,以及通过路径111发送剩余分组202和206-210。图3示出了根据所要求保护的主题的某些具体实现的用于无线联网的示例系统 300。系统300可以用于执行上面根据图1和2所讨论的各种功能中的一些或全部。系统 300可以包括能够承担网络中的无线通信的任意设备或设备集合。例如,系统300可以包括移动平台的选定组件,例如移动计算机、传感器网络的传感器节点等,但所要求保护的主题并不局限于此。系统300包括节点302,节点302具有处理器304、RF收发机306和天线308。节点302可以包括附加项(图3中未示出这些项,以免混淆所要求保护的主题),例如存储器、 路由器、网络接口逻辑等。处理器304可以包括能够提供这里所描述的功能的任意处理逻辑,并且所要求保护的主题并不局限于处理逻辑的特定类型或表现。例如,处理器304可以是微处理器或中央处理单元(CPU)。在其他具体实现中,处理器304可以是专用集成电路 (ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其他集成形式。此外,天线308 可以是任意适当的天线,包括但不限于截抛物面天线、抛物面天线、平板天线、扇区天线、 定向天线、全向天线等。此外,尽管图3中示意了 RF收发机306,但所要求保护的主题并不局限于此,例如,节点302也可以采用分立的RF接收机和RF发射机电路。图4示出了示例方法400。方法400阐述了各个功能框,各个功能框可以描述为处理步骤、功能操作、事件和/或动作等,并且可以通过硬件、软件或其任意组合来执行。本领域技术人员根据本公开将认识到,可以根据所要求保护的主题来实现图4所示的功能框的大量备选方案。方法400在框402以接收分组流开始。参照图1_3,框402可以包括节点105 (实现为系统300的节点302)接收用于发送至节点107的分组流。备选地,框402可以包括节点105产生用于发送至节点107的分组流。网络节点接收或产生用于后续发送的分组流的方法是公知的,这里不再对其进行进一步的详细描述。在框404中,可以识别由一个或多个分组构成的子集。在一些具体实现中,框404 可以包括例如节点302的处理器304分析在框402中产生或接收的分组流,以识别分组子集。在图1的场景中,节点105可以承担框404的操作。在TCP/IP网络的示例中,例如,在框404中识别的分组子集可以包括控制分组(例如,上述TCP ACK分组等)。因此,在TCP/ IP网络中,框404可以包括处理器304识别分组流中的一个或多个TCP ACK分组。如先前所提及的,所要求保护的主题不局限于特定通信协议,因而框404可以包括识别与任意通信协议相关联的重要分组,例如控制分组、握手分组等。方法400以框406和408继续。在框406中,可以确定用于发送分组流中除了在框404中识别的分组子集之外的其他分组的路由。在框408,可以确定用于发送在框404中识别的分组子集的路由,其中在框408中确定的路由不同于在框406中确定的路由。在图3 的场景中,处理器304可以采用加权变量的一个值利用多径路由方案来确定用于发送除了分组子集以外的其他分组的路径来承担框406的操作,并且可以利用加权变量的不同值来确定用于发送分组子集的另外路径来承担框408的操作。例如,在图1的场景中,框406可以包括节点105确定用于将除了分组子集之外的其他分组发送至节点107的路由116,而框 408可以包括节点105确定用于将分组子集发送至节点107的路由109。方法400还可以包括框410,在框410中产生在框404中识别的分组子集的一个或多个副本。在图3的场景中,处理器304可以利用公知的方法来承担框410的操作。方法400可以框412继续,在框412中确定用于发送在框410中产生的子集的拷贝的第三路由。框412可以包括采用加权变量的第三值利用多径路由方案来确定用于发送分组子集的拷贝的路由,其中所识别的路由不同于在框406和408中确定的路径。例如,在图1的场景中,框412可以包括节点105确定用于将分组子集中的分组的拷贝发送至节点107的路由 111。图5示出了示例计算机程序产品500。程序产品500包括信号承载介质502。信号承载介质502包括一个或多个指令504,指令504在由例如处理器执行时可以提供上面关于图1-4所描述的功能。因此,例如,参照图3的系统,处理器304可以响应于介质502所传送的指令504而承担图4所示的功能框中的一个或多个。在一些实现中,信号承载介质502可以包括计算机可读介质506,例如硬盘、紧致盘(CD)、数字通用盘(DVD)、数字磁带、存储器等,但不局限于此。在一些实现中,信号承载介质502可以包括可记录介质508,例如存储器、读/写(R/W)⑶、R/ff DVD等,但不局限于此。在一些实现中,信号承载介质502可以包括通信介质510,例如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。因此,例如,参照图3的系统, 可以通过RF信号承载介质502以无线方式将程序产品500传送至处理器304 (经由天线 308和无线收发机306),其中信号承载介质502通过无线通信介质510 (例如,802. 11无线通信介质)传送到系统300。图6是示意了根据本公开的配置用于多径路由的示例计算设备600的方框图。在非常基本的配置601中,计算设备600典型地包括一个或多个处理器610以及系统存储器 620。存储器总线630可以用于在处理器610与系统存储器620之间进行通信。根据所期望的配置,处理器610可以是任意类型的,包括但不限于微处理器 (μ P)、微控制器(μ C)、数字信号处理器(DSP)或其任意组合。处理器610可以包括一级或多级缓存(例如,一级高速缓存611和二级高速缓存612)、处理器核613、以及寄存器614。 处理器核613可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任意组合。存储器控制器615也可以与处理器610—起使用,或者在一些实施方式中,存储器控制器615可以是处理器610的内部部件。根据所期望的配置,系统存储器620可以是任意类型的,包括但不限于易失性存储器(如RAM)、非易失性存储器(如ROM、闪存等)或其任意组合。系统存储器620可以包括操作系统621、一个或多个应用程序622和程序数据624。应用程序622包括配置用于执行这里所描述的功能(包括关于图4的方法400所描述的那些功能)的多径路由算法623。 程序数据624包括多径路由数据625,可用于实现多径路由算法623。在一些示例实施例中, 应用程序622可以设置为在操作系统621上以程序数据624操作,使得可以如这里所描述的,提供鲁棒多径路由的具体实现。这里所描述的基本配置在图6中由虚线601内的组件来图示。计算设备600可以具有额外特征或功能以及额外接口,以有助于基本配置601与任意所需设备和接口之间进行通信。例如,总线/接口控制器640可以有助于基本配置601 与一个或多个数据存储设备650之间经由存储接口总线641进行通信。数据存储设备650 可以是可拆除存储设备651、不可拆除存储设备652或其组合。可拆除存储设备和不可拆除存储设备的示例包括磁盘设备(如软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(如紧致盘(CD)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)以及磁带驱动器,这仅仅是极多例子中的一小部分。示例计算机存储介质可以包括以任意信息存储方法和技术实现的易失性和非易失性、可拆除和不可拆除介质,如计算机可读指令、数据结构、程序模块或其他数据。系统存储器620、可拆除存储设备651和不可拆除存储设备652均是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其他存储器技术, CD-ROM、数字多功能盘(DVD)或其他光存储设备,磁盒、磁带、磁盘存储设备或其他磁存储设备,或可以用于存储所需信息并可以由计算设备600访问的任意其他介质。任何这种计算机存储介质可以是设备600的一部分。计算设备600还可以包括接口总线642,以有助于各种接口设备(例如,输出接口、 外围设备接口和通信接口)经由总线/接口控制器640与基本配置601进行通信。示例输出设备660包括图形处理单元661和音频处理单元662,其可被配置为经由一个或多个A/V 端口 663与多种外部设备(如显示器或扬声器)进行通信。示例外围设备接口 670包括串行接口控制器671或并行接口控制器672,它们可被配置为经由一个或多个I/O端口 673与外部设备(如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等))或其他外围设备(例如,打印机、扫描仪等)进行通信。示例通信设备680包括网络控制器681,其可以被设置为经由一个或多个通信端口 682与一个或多个其他计算设备690通过网络通信链路进行通信。通信连接是通信介质的一个示例。通信介质典型地可以由调制数据信号(如载波或其他传输机制)中的计算机可读指令、数据结构、程序模块或其他数据来体现,并可以包括任意信息传送介质。“调制数据信号”可以是通过设置或改变一个或多个特性而在该信号中实现信息编码的信号。例如,但并非限制性地,通信介质可以包括有线介质(如有线网络或直接布线连接)、以及无线介质(例如声、射频(RF)、微波、红外(IR)和其他无线介质)。这里所使用的术语计算机可读介质可以包括存储介质和通信介质。计算设备600可以实现为小体积便携式(或移动)电子设备的一部分,如蜂窝电话、个人数据助理(PDA)、个人媒体播放设备、无线web浏览设备、个人耳机设备、专用设备或包括任意上述功能的混合设备。计算设备600也可以实现为个人计算机,包括膝上型计算机和非膝上型计算机配置。所要求保护的主题并不局限于在本申请中描述的具体实现。例如,一些实现可以采取硬件形式(例如用于在设备或设备的组合上进行操作),而其他实现可以采取软件和/ 或固件形式实现。类似地,一些实现可以包括一个或多个物品,例如存储媒介或存储介质, 但所要求保护的主题在范围上不局限于这方面。例如,这种存储介质(例如,CD-ROM、计算机磁盘、闪存等)可以具有存储在其上的指令,指令在由系统(例如,计算机系统、计算平台、或其他系统)执行时可以导致处理器根据所要求保护的主题执行,例如先前所描述的实现之一。一种可能是,计算平台可以包括一个或多个处理单元或计算器、一个或多个输入 /输出设备(例如,显示器、键盘和/或鼠标)、以及一个或多个存储器(例如静态随机存取存储器、动态随机存取存储器、闪存和/或硬盘驱动器)。说明书中对于“具体实现”、“一个具体实现”、“一些具体实现”或“其他具体实现” 的引用表示关于一个或多个具体实现所描述的特定特征、结构或特性可以包括在至少一些具体实现中,但并非在所有具体实现中都是必要的。前面描述中出现的各个“具体实现”、 “一个具体实现”或“一些具体实现”不一定都指代相同的具体实现。此外,在说明书或权利要求书使用的术语或短语(例如“耦合的”或“作出响应的”或“响应于”或“与…通信”等) 应当概括地解释。例如,短语“耦合至”可以表示适于该短语所使用的上下文的以通信方式、 以电气方式和/或可操作地耦合。在前面的描述中,已经描述了所要求保护的主题的各个方面。为了说明的目的,阐明了特定数目、系统和/或配置,以提供对所要求保护的主题的全面理解。然而,本领域技术人员在了解了本公开优点的前提下应该理解,可以在没有特定细节的情况下实现所要求保护的主题。在其他实例中,可以忽略和/或简化公知特征,以免混淆所要求保护的主题。 尽管本申请中已经示意和/或描述了特定特征,然而本领域技术人员当前或将来将想到许多修改、替换、改变和/或等价物。因而,将理解,所附权利要求旨在覆盖落入所要求保护的主题的真实精神内的所有这样的修改和/或改变。在系统方案的硬件和软件实现方式之间存在一些小差别;硬件或软件的使用一般 (但并非总是,因为在特定情况下硬件和软件之间的选择可能变得很重要)是一种体现成本与效率之间权衡的设计选择。可以各种手段(例如,硬件、软件和/或固件)来实施这里所描述的工艺和/或系统和/或其他技术,并且优选的工艺将随着所述工艺和/或系统和 /或其他技术所应用的环境而改变。例如,如果实现方确定速度和准确性是最重要的,则实现方可以选择主要为硬件和/或固件的手段;如果灵活性是最重要的,则实现方可以选择主要是软件的实施方式;或者,同样也是可选地,实现方可以选择硬件、软件和/或固件的特定组合。以上的详细描述通过使用方框图、流程图和/或示例,已经阐述了设备和/或工艺的众多实施例。在这种方框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种方框图、流程图或示例中的每一功能和/或操作可以通过各种硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中, 本公开所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路
寸J ο本领域技术人员应认识到,上文详细描述了设备和/或工艺,此后使用工程实践来将所描述的设备和/或工艺集成到数据处理系统中是本领域的常用手段。也即,这里所述的设备和/或工艺的至少一部分可以通过合理数量的试验而被集成到数据处理系统中。 本领域技术人员将认识到,典型的数据处理系统一般包括以下各项中的一项或多项系统单元外壳;视频显示设备;存储器,如易失性和非易失性存储器;处理器,如微处理器和数字信号处理器;计算实体,如操作系统、驱动程序、图形用户接口、以及应用程序;一个或多个交互设备,如触摸板或屏幕;和/或控制系统,包括反馈环和控制电机(例如,用于感测位置和/或速度的反馈;用于移动和/或调节成分和/或数量的控制电机)。典型的数据处理系统可以利用任意合适的商用部件(如数据计算/通信和/或网络计算/通信系统中常用的部件)予以实现。本公开所述的主题有时说明不同部件包含在不同的其他部件内或者不同部件与不同的其他部件相连。应当理解,这样描述的架构只是示例,事实上可以实现许多能够实现相同功能的其他架构。在概念上,有效地“关联”用以实现相同功能的部件的任意设置,从而实现所需功能。因此,这里组合实现具体功能的任意两个部件可以被视为彼此“关联”从而实现所需功能,而无论架构或中间部件如何。同样,任意两个如此关联的部件也可以看作是彼此“可操作地连接”或“可操作地耦合”以实现所需功能,且能够如此关联的任意两个部件也可以被视为彼此“能可操作地耦合”以实现所需功能。能可操作地耦合的具体示例包括但不限于物理上可配对和/或物理上交互的部件,和/或无线交互和/或可无线交互的部件,和/或逻辑交互和/或可逻辑交互的部件。至于本文中任何关于多数和/或单数术语的使用,本领域技术人员可以从多数形式转换为单数形式,和/或从单数形式转换为多数形式,以适合具体环境和应用。为清楚起见,在此明确声明单数形式/多数形式可互换。本领域技术人员应当理解,一般而言,所使用的术语,特别是所附权利要求中(例如,在所附权利要求的主体部分中)使用的术语,一般地应理解为“开放”术语(例如,术语 “包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”等)。本领域技术人员还应理解,如果意在所引入的权利要求中标明具体数目,则这种意图将在该权利要求中明确指出,而在没有这种明确标明的情况下,则不存在这种意图。例如,为帮助理解,所附权利要求可能使用了引导短语“至少一个”和“一个或多个”来引入权利要求中的特征。然而, 这种短语的使用不应被理解为暗示着由不定冠词“一”或“一个”引入的权利要求特征将包含该特征的任意特定权利要求限制为仅包含一个该特征的实施例,即便是该权利要求既包括引导短语“一个或多个”或“至少一个”又包括不定冠词如“一”或“一个”(例如,“一”和 /或“一个”应当被解释为意指“至少一个”或“一个或多个”);在使用定冠词来引入权利要求中的特征时,同样如此。另外,即使明确指出了所引入权利要求特征的具体数目,本领域技术人员应认识到,这种列举应解释为意指至少是所列数目(例如,不存在其他修饰语的短语“两个特征”意指至少两个该特征,或者两个或更多该特征)。另外,在使用类似于“A、 B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和 C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
权利要求
1.一种无线网络通信方法,包括 在第一节点处接收分组流;识别所述分组流中的分组子集;确定用于将所述分组流中除了所述分组子集之外的其他分组从所述第一节点发送至第二节点的第一路由;以及确定用于将所述分组子集从所述第一节点发送至所述第二节点的第二路由; 其中所述第一路由不同于所述第二路由。
2.根据权利要求1所述的无线网络通信方法,其中所述分组流包括传输控制协议 ‘TCP’分组。
3.根据权利要求2所述的无线网络通信方法,其中识别所述分组流中的分组子集包括识别TCP确认‘ACK’分组、发送请求‘RTS’分组、清除发送‘CTS’分组或承载紧急指示符的分组中的至少一个。
4.根据权利要求1所述的无线网络通信方法,其中确定第一路由包括利用加权变量的第一值来执行多径路由算法。
5.根据权利要求4所述的无线网络通信方法,其中确定第二路由包括利用加权变量的第二值来执行多径路由算法。
6.根据权利要求1所述的无线网络通信方法,其中识别所述分组流中的分组子集包括识别所述分组流中的一个或多个重要分组。
7.根据权利要求1所述的无线网络通信方法,还包括 产生所述分组子集的至少一个分组拷贝;以及确定用于将所述至少一个分组拷贝从所述第一节点发送至所述第二节点的第三路由;其中所述第三路由不同于所述第一路由和所述第二路由。
8.根据权利要求1所述的无线网络通信方法,其中所述第一节点和所述第二节点包括无线自组织网络。
9.根据权利要求1所述的无线网络通信方法,其中所述第一节点和所述第二节点包括无线网格网络。
10.一种产品,包括其上存储有指令的计算机程序产品,所述程序在执行时导致 在第一节点处接收分组流;识别所述分组流中的分组子集;确定用于将所述分组流中除了所述分组子集之外的其他分组从所述第一节点发送至第二节点的第一路由;以及确定用于将所述分组子集从所述第一节点发送至所述第二节点的第二路由; 其中所述第一路由不同于所述第二路由。
11.根据权利要求10所述的产品,其中所述分组流包括传输控制协议‘TCP’分组。
12.根据权利要求11所述的产品,其中识别所述分组流中的分组子集包括识别TCP 确认‘ACK’分组、发送请求‘RTS’分组、清除发送‘CTS’分组或承载紧急指示符的分组中的至少一个。
13.根据权利要求10所述的产品,其中确定第一路由包括利用加权变量的第一值来执行多径路由算法。
14.根据权利要求13所述的产品,其中确定第二路由包括利用加权变量的第二值来执行多径路由算法。
15.根据权利要求10所述的产品,其中识别所述分组流中的分组子集包括识别所述分组流中的一个或多个重要分组。
16.根据权利要求22所述的产品,还包括 产生所述分组子集中的至少一个分组拷贝;以及确定用于将所述至少一个分组拷贝从所述第一节点发送至所述第二节点的第三路由;其中所述第三路由不同于所述第一路由和所述第二路由。
17.一种无线通信系统,包括无线节点,包括处理器以及与处理器耦合的无线收发机; 其中,所述处理器能够 接收分组流;识别所述分组流中的分组子集;确定用于将所述分组流中除了所述分组子集之外的其他分组从所述第一节点发送至第二节点的第一路由;以及确 定用于将所述分组子集从所述第一节点发送至所述第二节点的第二路由; 其中所述第一路由不同于所述第二路由。
18.根据权利要求17所述的无线通信系统,其中所述处理器能够通过以加权变量的第一值执行多径路由算法来确定所述第一路由。
19.根据权利要求18所述的无线通信系统,其中所述处理器能够通过以加权变量的第二值执行多径路由算法来确定所述第二路由。
20.根据权利要求17所述的无线通信系统,其中所述处理器还能够 产生所述分组子集的分组拷贝;以及确定用于将所述分组拷贝发送至另一无线节点的第三路由; 其中所述第三路由不同于所述第一路由和所述第二路由。
21.根据权利要求17所述的无线通信系统,其中所述分组流包括传输控制协议‘TCP’分组。
22.根据权利要求21所述的无线通信系统,其中所述处理器能够通过识别TCP确认 iACK'分组、发送请求‘RTS’分组、清除发送‘CTS’分组或承载紧急指示符的分组中的至少一个来识别分组子集。
23.根据权利要求17所述的无线通信系统,其中所述处理器能够通过识别所述分组流中的一个或多个重要分组来识别分组子集。
24.一种无线网络节点,包括 无线收发机;以及处理器,耦合至所述无线收发机,并且配置用于使用所述无线收发机来向另一无线网络节点发送分组;其中所述处理器还配置用于识别分组流中的至少一个分组;确定用于将所述分组流发送至另一无线节点的第一路径;以及确定用于将所识别的分组发送至所述另一无线节点的不同于第一路径的第二路径。
25.根据权利要求24所述的无线网络节点,其中所述分组流包括传输控制协议‘TCP’ 分组。
26.根据权利要求25所述的无线网络节点,其中所识别的分组包括TCP确认‘ACK’分组、发送请求‘RTS’分组、清除发送‘CTS’分组或承载紧急指示符的分组中的至少一个。
27.根据权利要求24所述的无线网络节点,其中所述处理器配置用于通过以加权变量的第一值执行多径路由算法来确定所述第一路径。
28.根据权利要求27所述的无线网络节点,其中所述处理器配置用于通过以加权变量的第二值执行多径路由算法来确定所述第二路径。
29.根据权利要求24所述的无线网络节点,其中所述处理器还配置用于 产生所识别的分组的拷贝;以及确定用于将所识别的分组的所述拷贝发送至所述另一无线节点的第三路径; 其中所述第三路径不同于所述第一路径和所述第二路径。
全文摘要
公开了一种用于无线网络通信的鲁棒的多径路由方法。该方法包括在第一节点处接收分组流;识别所述分组流中的分组子集;确定用于将所述分组流中除了所述分组子集之外的其他分组从所述第一节点发送至第二节点的第一路由;以及确定用于将所述分组子集从所述第一节点发送至所述第二节点的第二路由,其中所述第一路由不同于所述第二路由。
文档编号H04W40/24GK102461263SQ201080024699
公开日2012年5月16日 申请日期2010年6月3日 优先权日2009年6月4日
发明者托马斯·M·康特 申请人:英派尔科技开发有限公司