专利名称:用于控制网络环境中的信息扩散的系统和方法
技术领域:
本发明一般地涉及通信领域,更具体地说,涉及用于控制网络环境中 的信息扩散的系统和方法。
背景技术:
通信环境中的联网体系结构变得日益复杂。这种复杂性导致各种协议 被实现来确保网络元件感知它们的周围状况,并且以高效的方式引导分 组。例如,某些网络元件可以交换分组,以便彼此指示相邻网络元件存在 与否,或者提供分级更新。就此而言,邻居能够感知它们的周围状况,并 且适当地引导或管理流量。
随着网络系统变得更高级,这种信息交换就变得更加繁重。这可能是 由于多种原因导致的,例如,系统中具有大量的网络元件,或者要在网络 元件之间交换大量的信令。注意,在某些网络环境中,共享相同逻辑网段 的一组网络元件可能并不彼此直接可见。导致这种屏蔽的一些可能的原因 可能包括较低的信号强度、长距离间隔、环境扰动、部分VC网格化
等。在这些场景中, 一些网络元件或发言者(speaker)(不能直接到达发 送者的那些)可能永远不能同步它们的信息以使数据被正确地路由。
作为错误路由选择、冗余信令和数据的低效管理的副产品,体系结构 的通信速度和系统性能可能受到限制。此外,由于可以在网络中交换的信 息的质量压倒一切,所以带宽可能受到不必要的限制。在提供有效的网络 通信时,适当标识出周围的元件并且考虑其他元件的能力是很关键的。因 此,基于现有网络元件提供最优地路由信息的系统和协议的能力给网络设 计者、组件制造商和系统管理员带来了极大的挑战。
发明内容
从前面所述本领域技术人员可以意识到,需要一种改进的方法,用于 使在网络环境中分组通信中的信息的扩散最小化。根据本发明一个实施 例,提供了用于控制网络环境中的信息扩散的系统和方法,该系统和方法 极大地减少了与传统的分组通信技术相关联的不利和问题。
根据本发明一个实施例,提供了一种用于在网络环境中传输分组的装 置,该装置包括包括第一邻居列表的第一网络元件,所述第一网络元件 耦合到第二网络元件和第三网络元件。所述第一网络元件可工作来接收来 自所述第二网络元件的第二邻居列表和来自所述第三网络元件的第三邻居 列表。所述第一网络元件还可工作来在将所述第二和第三邻居列表与所述 第一邻居列表相比较后确定出由所述第二和第三邻居列表提供的一个或多 个重叠,所述第一网络元件基于所述一个或多个重叠来中继其接收到的更 新。
本发明的某些实施例可以提供许多技术优点。例如,根据本发明一个 实施例,提供了一种通信方法,该方法允许基于动态网络信息的中继判 决,其中动态网络信息可以在相应的邻居列表中提供。这种能力可以节约 资源并且减少网络开销。这可能是将分组更高效地引导的它们的预期目的 地的能力的结果。此外,这种信息管理技术可以减少需要由给定网络组件 执行的中央处理单元(CPU)周期的数目,这是由于在重叠广播域中信息 的本地扩散被最小化了。从而,由于在网络中被发送的信息少了,所以在 正确处理分组时更少的资源被消耗。另外,网络流量的减少也可以说在状 态维护中涉及的路由选择协议占用更少的带宽。这在某些类型的网络中尤 其重要,例如,低速网络、共享介质网络等,但是一般对任何分组通信都 有显。
与本发明的一个实施例相关联的另一个技术优点涉及故障恢复特性。 一般而言,这种通信体系结构可以提供自动备份功能。即使在不要求中继 判决的情形中,也可以实现这种可靠性。本发明的某些实施例可以享有这 些优点中的一些、全部或不享有这些优点。从下面的附图、描述和权利要 求书中,本领域技术人员可以清楚其他技术优点。
为了提供对本发明及其特征和优点的更全面的理解,结合附图参考下 面的描述,其中类似的标号代表类似的部分,在附图中
图1是根据本发明一个实施例用于对网络环境中的信息扩散进行控制 的通信系统的简化框图;以及
图2是示出了与该通信系统相关联的一系列示例步骤的简化流程图。
具体实施例方式
图1是用于对网络环境中的信息扩散进行控制的通信系统10的简化
框图。通信系统IO可以包括多个网络元件12、 14、 16、 18、 20和22。网 络元件12、 14、 16、 18、 20和22在这里也可以分别称作网络元件A-F。 分配给网络元件12、 14、 16、 18、 20和22的字母标号是任意的,仅用于 教导目的。这些标号绝不应理解为限制它们在可从通信系统10的特征受 益的可能的环境中的能力、功能、或者应用。每个网络元件12、 14、 16、 18、 20和22都可以具有链路状态数据库30,链路状态数据库30包括与周 围网络元件相关联的信息,以及用于在网络通信的上下文中路由分组的数 据。下面提供与链路状态数据库30的体系结构和功能相关的其他细节。
图1可以总地配置或布置为代表能够在网络环境中交换分组的任何通 信体系结构。这种配置例如可以包括提供分组交换能力的第一代、2G、 2.5G和3G体系结构。另外,通信系统IO可以包括任意合适的联网协议或 布置,用于向通信系统IO提供通信平台。从而,通信系统IO可以包括这 样的配置,该配置有传输控制协议/因特网协议(TCP/IP)通信能力,以在 网络中发送或接收分组。通信系统10还可以在适当的情况下结合用户数 据报/IP (UDP/IP)或者任何其他合适的协议工作。
根据本发明的教导,通信系统10提供了一种通信方法,该方法允许 网络元件A-F利用合适的协议交换信息,使得仅最小量的状态信息广播到 每个网络元件。在某些网络环境中,通常采用指定的网络元件或者指定的 中间系统来实现同步。当一台网络装备在网络上出现时,其将快速确定该 指定的网络元件(例如,路由器)或指定的链路,并且与该对象同步。这
可以实现网络中的同歩,但是也可能被隐藏的节点问题抑止。
注意,共享相同逻辑网段的一组网络元件可能不彼此直接可见。这种 缺点的可能原因可能涉及以下方面较低的信号强度、长距离间隔、环境 扰动、部分VC网格化等。在这种网络上下文中,逻辑网段指由发送半径 动态确定的本地扩散域。在这种场景中, 一些节点或发言者(不能直接到 达发送者的那些)可能永远不能同步它们的链路状态数据库30。为了解决 在这些环境中遇到的同步问题,需要一种机制,通过该机制同一逻辑网段 上的所有节点都可以接收路由选择信息,而不管它们与源的邻接状态。
通信系统10提供了这样一种机制,该机制确保信息的扩散将到达所 有邻居,而不考虑网络的当前状态。在提供实现了链路状态数据库与周围 节点的同步而又不牺牲有价值的带宽或处理时间的环境的同时,通信系统 10还解决了隐藏节点问题以及其他网络缺点。通信系统IO可以提供考虑 到网络拓扑改变的在扩散时间间隔中作出的动态/自适应中继判决。通信系 统10还可以实现对确认进行智能发送。
出于教导目的,重要的是要理解可以通过网络以便向任意给定的网络 元件提供感知信息或路由选择信息的广泛的通信。路由选择协议在它们周 期性发送的邻居状态分组中, 一般包括各种类型的邻居状态。例如,路由 选择协议可以包括给定链路上的一列已知邻居,以使附接到该网络的每个
网络元件A-F可以确定是否存在自身和发送该分组的网络元件之间的双向
连通性。
在更多场景中,尽可能快地感知邻居存在与否一般也是重要的。因 此,分组可以被传送到相邻网络元件,以便提供路线或系统更新,从而反 映出当前或最近的状态信息。就此而言,网络元件仅需知道网络中的新内 容或已改变的内容。
网络元件A-F接收到的分组可能是一致的,包括在网络中存在或不存
在的邻居的大量列表。邻居的不存在可以指示已发生一些事情例如,一
些元件已变得不能工作或有故障。网络元件的存在可以反映出现有的元件
或者已被加入到联网体系结构的新元件。通信系统10的优化的扩散操作
可能依赖于发言者通告它的所有本地"连接的"邻居的能力。可以假设通
过利用路由选择协议分组来实现这种能力。
给定的网络元件A-F (即,发言者)可以接收来自所有其他相邻发言 者的路由选择协议分组。路由选择协议分组可以包含与发起者相邻的发言 者的列表(即,邻居列表,邻居表或者邻居数据库)。本地发言者可以将 每个发言者报告来的邻居列表与其自己的邻居列表相比较。如果本地邻居 列表包含路由选择更新的发送者不能直接到达的相邻发言者(g卩,不在发 起者的邻居列表中的那些发言者),则本地发言者应当基于将在下面全面 描述的算法将该信息中继到它们。由于可能存在多于一个这样的发言者, 所以该机制也可以称作重叠中继。
一般而言,这种技术是动态的,这是因为判决哪个发言者(或节点) 应当充当中继是在扩散时确定的,并且是基于当前网络拓扑的。但是,算 法可以配置为选择应当首先发送的重叠中继的集合。该集合可以称作给定 节点的重叠中继的"活动"集合。
对于重叠和中继判决,过程中的第一步骤是,对于每个发言者构造并 传播它们的邻居列表。在本发明的示例性实施例中,这种列表可以存储在
链路状态数据库30中。在其他场景中,邻居列表可以存储在任何适当的
位置或介质中。在其路由选择协议消息中,发言者可以标识出应当首先发 送的重叠中继的活动集合,以进一步传播路由选择更新。重叠中继的该活 动集合是与发言者的所有两跳邻居对等的直接邻居的最小集合。其他布置 可以要求单跳、或者三跳或更多跳配置,并且可能基于特定的需求。在仅 用于教导的一个示例实施例中,该选择算法可以基于在优化链路状态路由
选择协议(OLSR)中定义的多点中继(MPR)选择算法。 一旦网络元件 已从其所有相邻对等体接收到邻居列表,它就可以确定可能存在的重叠。 对是否中继任何接收到的信息和何时中继这种信息的判决可能取决于当前 网络拓扑。这种确定也可以基于节点是否是重叠中继的活动集合的一部 分。
对于每个相邻发言者,可以将本地邻居列表的内容与接收到的列表进 行比较,以根据下面的示例算法作出扩散判决。在下面的示例操作中,网 络元件A-F被示作路由器。在第一步骤中,接收到的每个邻居列表包括相 邻发言者的列表,相邻发言者的列表包括本地路由器。在比较时可以忽略 本地路由器以及为之进行比较的相邻路由器(发起者)。在第二步骤中, 如果列表完全重叠(即,两个列表中的所有组成都相同),则不管节点是 否被标识为相邻发言者的路由选择协议消息中的活动重叠中继,本地路由 器都不应当立即中继从该相邻发言者接收到的任何信息。注意,这是因为 从最后接收到来自相邻发言者的路由选择协议消息的时候起,拓扑可能已 改变,从而使得节点发送将可能仅导致冗余的发送。
在第三步骤中,如果本地邻居列表完全包含在所接收到的列表中 (即,本地邻居列表中的所有组成都出现在所接收到的列表中),则不管 节点是否被标识为相邻发言者的路由选择协议消息中的活动重叠中继,本 地路由器都不应当立即中继从该相邻发言者接收到的任何消息。在第四步 骤中,如果本地邻居列表中的一些组成未出现在所接收到的列表中(非重 叠邻居),并且节点是相邻发言者的活动重叠中继,则路由器可以立即中 继从该相邻发言者接收到的任何信息。
在第五步骤中,如果本地邻居列表中的一些组成未出现在所接收到的 列表中(非重叠邻居),并且节点不是相邻发言者的活动重叠中继,则路
由器可能等待指定量的时间(例如,推迟时间(pushback time)加抖动 (jitter))来判决是否发送。[抖动可以用来避免若干"非活动"重叠中继 传播冗余信息。]注意,非活动重叠中继可能遵从下面给出的确认机制。
在此期间,如果节点确定出它对更新的扩散将仅导致冗余发送,则该 节点可以抑止其发送。否则,节点可以在推迟时间加抖动期满后发送。在 非活动重叠中继在其发送定时器期满前监听到来自另一个非活动重叠中继 的覆盖了其非重叠邻居的重扩散的情形中,节点可以等待一定量时间(例 如,推迟时间加抖动)来判决是否发送。在此期间,如果节点确定出对更 新的扩散将仅导致冗余发送,则该节点可以抑止其发送。否则,节点可以 在推迟时间加抖动期满后发送。
在第六步骤中,对于由于发起者重新发送而被接收到的单播路由选择 更新,节点可以确定其是否已从另一个发言者接收到该路由选择更新。如 果在其数据库中已存在该路由选择更新,则不需执行任何动作,因为在其
最初接收到该路由更新时可能已经采取了适当的措施。但是,如果路由选 择更新未在其链路状态数据库30中,则节点可以根据上述规则采取动 作,就像它接收到多播路由选择更新一样。
在第七步骤中,比较和判决的结果是逻辑网段上的发言者可以接收所 有路由选择信息。注意,节点可以通过监听来自其非重叠邻居的对路由选 择更新的确认或者重扩散,从而确定出其进一步扩散更新是否将仅导致冗 余发送。
由于网络的动态特性,重叠中继的活动集合在执行中继判决时可能不 是最新的,或者可能不能执行扩散任务(例如,由于低劣的链路质量)。 非活动重叠中继可以防止这种情形导致数据库同步问题,数据库同步问题 可能导致分组丢失。由于信息的发起者、中继者和接收者都在同一个动态 确定出的逻辑扩散域中,所以中继可以不改变路由选择更新信息。 一般而 言,路由选择更新可以被发送到公共/公知的多播地址。在一些情形中,可 以利用单播来发送路由选择更新。
从而,如以上提供的工作流程所述,通信系统io提供了一种体系结
构,该体系结构允许中继判决基于动态网络信息,该动态网络信息可以在 相应的邻居列表中提供。这种能力可以节约网络资源,并且减少网络开 销。这可能是将最小量的分组更有效地引导到它们的预期目的地的能力的 结果。这类信息管理技术可以减少需要由给定网络组件执行的中央处理单
元(CPU)周期的数目,这是由于在重叠广播域中信息的本地扩散被最小
化了。从而,由于在网络中被发送的信息少了,所以在正确处理分组时更 少的资源被消耗。另外,网络流量的减少也意味着在状态维护中涉及的路 由选择协议占用更少的网络带宽。这在某些类型的网络中尤其重要,例 如,低速网络、共享介质网络等,但是一般对任何分组通信都有益。通信
系统10还可以在提供自动备份功能时向网络通信提供故障恢复特性。即
使在不要求中继判决的情形中,也可以实现这种可靠性。
通信系统10还能够执行确认的智能发送。为了使链路上的带宽利用
最优,发言者可以执行以下与确认发送相关的步骤。首先,确认可以被发 送向公知的多播地址。其次,路由选择更新可由所有相邻发言者确认。在
中继的信息的情形中,中继可能仅期望来自先前尚未对发送进行确认的对 等体的明确或隐含确认。如果下层协议的重发送过程存在的话,则可以遵 从该重发送。
第三,由于路由选择更新被发送向公知的多播地址,重叠发言者的集 合通常可能多于一次接收到相同的更新。发言者应当仅对在链路上接收到 的第一次更新进行确认。第四,活动重叠中继不应当明确确认其正中继的 信息。被中继的信息可以充当对发送者的确认。如果没有信息正被中继, 则可以发送明确的确认。
第五,若干个确认可以被捆绑到单个分组中。但是,在发送一个这样 的分组之前的等待(确认时间) 一般应当比推迟时间减传播延迟短(即, [(确认时间+传播延迟) <推迟时间])。捆绑操作可以减少对多个路由选 择更新进行确认时所要求的分组发送的数目。第六,所有的确认分组都应 当重置接收方处的死亡定时器和发送方处的路由选择协议定时器。从非重 叠发言者接收到的确认应当防止另一个重叠中继到它的冗余信息发送。
注意,利用上述示例,以及这里提供的许多其他示例,描述了两个、 三个、或者四个网络元件的交互。但是,这仅是为了示例和清楚。在某些 情形中,可以仅参考有限数量的网络元件,容易地描述给定的一组流程中
的一个或多个功能。应当意识到通信系统10 (及其教导)是易于扩展的,
并且可以容纳大量的组件,以及更复杂/高级的布置和配置。因此,所提供
的示例不应当限制通信系统10的范围,或者约束通信系统10的宽广的教 导,因为通信系统10可能应用到大量其他体系结构。
考虑到协议,上述机制参考公共介质网段上的中继操作。因此,可以 通过接收到信息的同一个接口将该信息中继出去。在被中继时该信息一般 不被修改。
对于链路状态协议,信息中继的原理可以被扩展到扩散在任何接口上 接收到的(以及在任何其他接口上转发的)所有链路状态通告。链路状态
协议在这样的前提上工作路由选择域中的所有节点都将接收到全部路由 选择信息。在每个发言者都在所有接口上通告它的所有相邻邻居的情形 中,(上述)重叠检查可以导致确定出与两个发言者都相邻的那些发言
者。结果,链路状态信息可以仅被扩散到非重叠邻居(考虑到所有接 □)。
重叠中继机制的意图是对路由选择信息的扩散进行优化。然而,利用 相同的机制也可以在某些网络中中继其他信息(例如,数据)。具体而 言,利用距离向量协议的网络可以利用这样的路径下一跳不通过该路径 相邻,但是更新通过该路径被接收。在这种情形中,接收方可以基于信息 被中继这一事实来影响接收到的任何更新的成本/度量。
在本示例实施例中,网络元件A-F是路由器;但是,在适当的情况下 并且根据具体应用,网络元件A-F也可以是其他合适的设备。例如,网络 元件A-F可以是交换机、网关、网桥、负载均衡器、防火墙、或者可工作 来在网络环境中交换信息的任何其他合适的设备、组件、元件或对象。另
外,网络元件A-F可以包括任何合适的硬件、软件、组件、模块、接口、
或者帮助它们操作的对象。这可以包括允许有效地交换数据和信息的合适 算法和通信协议。在示例实施例中,更新和路由选择信息可以利用路由选
择协议分组来交换。在替换实施例中,网络元件A-F可以利用用于指示周 围或相邻的网络元件存在与否的任何合适的通信协议。注意,术语"相 邻"和"周围"都反映宽广的含义,在本文档中可以交换使用。这些术语 表示感知概念,因为其涉及任何组件、设备或元件存在与否。
链路状态数据库30可以包括在网络元件A-F中。在其他实施例中, 链路状态数据库30可以在网络元件A-F的外部被提供,或者被统一起来 以使单个链路状态数据库30服务多个网络元件。链路状态数据库30是存 储器元件,用于存储要由相应的网络元件A-F参考的信息。在本文档中使 用的术语"链路状态数据库"包括任何合适的数据库或存储介质(以任何 合适的格式提供),这些数据库或存储介质能够维护与网络元件A-F的路 由选择和/或处理操作相关的信息。例如,链路状态数据库30可以在表或 队列中存储这样的信息。或者,链路状态数据库30可以将这样的信息保 持在任何合适的随机访问存储器(RAM)、只读存储器(ROM)、可擦 可编程ROM (EPROM)、电可擦PROM (EEPROM)、专用集成电路 (ASIC)、软件、硬件中,或者在合适的情况下并且基于具体需求保持在
任何其他合适的组件、设备、元件或对象中。注意,这里所述的邻居列表 也满足这种灵活性。因此,其可以被提供在任何上面标识出的可能的存储 元件中(或者上面讨论的在外部提供的可能的存储元件中)。邻居列表也 可以被包括在邻居表中或者邻居数据库中,或者在合适的情况下被其替 代。
图2是示出了与下述方法相关联的一系列示例步骤的简化流程图,该 方法用于控制在通信系统10内的信息扩散。例如,图2代表了从网络元
件A来看的示例操作。在这种配置中,以及参考图l-2描述的其他配置
中,相应的网络元件可以适当地配备有接收状态(接口)、发送状态(接 口)、和/或可工作来实现相应网络元件的操作的任何合适的算法、软件、 硬件、模块、对象或元件。
该流程图开始于步骤100,在该步骤中网络元件A被添加到网络,并 且试图与其邻居同步。在步骤102中,网络元件A可接收到来自网络元件 B、 C和F的邻居列表。网络元件A可以将该信息存储到其链路状态数据 库30中,并且类似地检索其自己的邻居列表。在这种示例场景中,在步 骤104中,网络元件A可以容易地识别出网络元件F不与除了网络元件A 之外的任何其他网络元件相邻。另外,还可以获知网络元件B和C连接到 网络元件D。从而,网络元件C和网络元件B中被选的一个可以容易地与 网络元件D通信来进行同步。另外,网络元件C可以将信息中继到网络元 件E,如图1中的示例配置所示。
步骤106和108协作,以便分别创建活动集合和执行中继任务。从 而,在步骤106中,网络元件A可以确定出哪些邻居应当充当活动中继, 并且传播/重扩散接收到的分组。可以调用算法来确定哪组邻居是重叠中 继。如果确定出将信息一次发送到两个邻居将实现由网络元件A维护的对
等体列表的所有成员接收到更新,则这种信令将会是对必须向对等体列表 中的每个成员直接广播信令的改进。
对于该示例,该算法可以确保所有的两跳(即,离发送节点两跳或者 两个节点的距离)邻居接收到由网络元件A发布的更新。这可以通过对两 跳邻居相对一跳邻居或者直接连接的对等体进行检查实现。现在,每次网 络元件A扩散一些内容时(即,每次网络元件A后的网络发生改变,使得 网络元件A接收到链路状态更新并将该链路状态更新发送到其邻居时),
网络元件A都识别出这种消息应当被传输到网络元件C (或者网络元件 B)和网络元件F。这种识别在步骤108中反映出,从而正确地执行了中 继任务。
实质上,尽可能少地发送并且仍到达所有的对等体是有益的。因此, 在试图使网络元件A的发送数量最小化同时仍确保到达所有邻居时存在压 力和权衡。在这种场景中可以假设在到达所有两跳邻居时,到达了对等列 表中的所有成员。这是由于所有的接收网络元件都执行类似的操作,使得 它们到达它们的两跳邻居。 一般而言,通过在整个网络中实现这种协议, 可以实现指数增加。
网络元件A的同步努力在邻接协议被执行时(例如,在网络设备之间 交换路由选择协议分组)可以被最初触发。当网络A加入时,其可以与网 络元件B和C交换邻居列表。网络元件A可以调用算法以便标识出发送 给(例如)网络元件C的任何内容都将被网络元件B、 D和E接收到。但 是,由于网络元件F不与网络元件B、 C、 D或E相邻,所以其也可以从 网络元件A接收到独立的信号。
重要的是要注意到图2中的步骤仅示出了可由通信系统10执行或者 可在通信系统10中执行的一些可能的步骤。在合适的情况下,这些步骤 中的一些可以被删除或移除,或者这些步骤可以被相当程度上修改或改 变,而不脱离本发明的范围。另外,这些操作中的许多被描述为与一个或 多个其他操作并发(或者并行)执行。但是,这些操作的定时可以在相当 大程度上被改变。前面提供的操作流程是出于示例和讨论目的。通信系统 10提供了实质上的灵活性,因为可以提供任何合适的布置、时序、跳配置 和定时机制,而不脱离本发明的教导。
在另一个用于说明通信系统10的教导的示例场景的上下文中,活动 和备份中继可以按照以下方式工作。网络元件A可以在网络元件A的路由 选择协议分组(例如,利用HELLO分组)中将网络元件C指定为活动重 叠中继。在网络元件A发起可能由本地拓扑改变导致的更新时,网络元件
A可以将该信息扩散出。当网络元件C接收到来自网络元件A的分组时,
其理解其是活动中继。另外,网络元件C具有不在网络元件A的邻居列表 中的邻居(在一个示例中是网络元件D和网络元件E)。从而,其将立即
中继分组。
在备用场景的情形中,假设网络元件C和网络元件D之间的链路断 裂,或者网络元件C不工作。在这种场景中,网络元件D永远无法得到网 络元件C中继的分组。在网络元件B等待给定的时间间隔(例如,推迟时 间+抖动)后,由于网络元件B总接收不到来自网络元件D的关于该分组 的明确/隐含的确认消息,网络元件B可以将该分组中继到网络元件D。该 组操作示出了被正确执行的示例的备用过程。
尽管已参考特定布置和配置详细描述了本发明,但是这些示例配置和 布置可以被显著改变,而不脱离本发明的范围。例如,尽管己参考涉及路 由选择协议分组的特定通信交换描述了本发明,但是通信系统IO可适用 于其他交换、路由选择协议、或者路由的协议,其中分组(不一定是这里 所述的路由选择协议分组)被交换,以便提供路由选择更新或感知信息。 此外,通信系统10还可以适用于以下网络中的任何合适的元件或组件, 所述网络寻求通过任何通信协议来标识出路由选择路径的最优集合并且感 知到其邻居设备。从而,其中需要传输状态信息(可以以增量方式)、以 及其中同步可能有益的任何应用可以受益于通信系统10的教导。
另外,尽管己参考帮助实现通信过程的特定元件和操作说明了通信系 统10,但是可以用实现通信系统10的预期功能的任何适当的体系结构或 过程替换这些元件和操作。另外,外部组件或模块可以被定位在每个网络 元件A-F的前面,以便提供这里所述的一个或多个操作。另外,网络元件 A-F可能能够执行除了参考图1-2所述的那些操作之外的大量其他操作。 本发明在网络元件A-F的放置、定位、配置和操作方面预期具有可观的灵 活性。
本领域技术人员可以确认大量其他改变、替代、变动、变化和修改, 并且本发明是要包括所有这些改变、替代、变动、变化和修改,只要它们 落入到所附权利要求书的范围内。为了帮助美国专利商标局(USPTO)和 针对本申请授予的任何专利的读者解释这里所附的权利要求,申请人希望 注意到申请人(a)不是要因为所附权利要求书中的任意权利要求在提
交日存在就要求援引美国专利法35 U.S.C 112条第6 (6)款,而是只有在 词语"用于xxx的装置"或"用于XXX的步骤"专门用在具体的权利要求 中时才要求援引该法条;以及(b)说明书中的任何陈述都不是要以未在 所附权利要求书中另行反映出的任何方式限制本发明。
权利要求
1.一种用于在网络环境中传输分组的装置,包括包括第一邻居列表的第一网络元件,所述第一网络元件耦合到第二网络元件和第三网络元件,所述第一网络元件可工作来接收来自所述第二网络元件的第二邻居列表和来自所述第三网络元件的第三邻居列表,其中所述第一网络元件还可工作来在将所述第二和第三邻居列表与所述第一邻居列表相比较后确定出由所述第二和第三邻居列表提供的一个或多个重叠,所述第一网络元件基于所述一个或多个重叠来中继其接收到的更新。
2. 如权利要求1所述的装置,其中,所述第一网络元件包括可工作来 存储所述第一邻居列表的链路状态数据库。
3. 如权利要求1所述的装置,其中,如果所述第一邻居列表和所述第 二邻居列表完全重叠,则所述第一网络元件在从所述第二网络元件接收到 所述更新时不中继所述更新。
4. 如权利要求1所述的装置,其中,所述更新在路由选择协议分组中 提供,所述路由选择协议分组包括与所述更新相关联的起源。
5. 如权利要求1所述的装置,其中,如果所述第一邻居列表与所述第二邻居列表不完全重叠,并且所述第一网络元件被指定为活动的,则所述 第一网络元件在从所述第二网络元件接收到所述更新时中继所述更新。
6. 如权利要求1所述的装置,其中,如果所述第一邻居列表与所述第 二邻居列表不完全重叠,并且所述第一网络元件被指定为不活动的,则所 述第一 网络元件在确定是否中继所述更新之前等待选定的时间间隔。
7. 如权利要求6所述的装置,其中,所述选定的时间间隔基本等于推 迟时间加抖动时间。
8. 如权利要求1所述的装置,其中,如果所述第一网络元件确定出其 对所述更新的中继将导致冗余发送,则所述第一网络元件将抑止对所述更 新的中继。
9. 如权利要求1所述的装置,其中,所述第一网络元件可工作来通过 收集与确认和重扩散中被选的一个相关联的数据,来确定其对所述更新的 中继是否将导致冗余发送,所述确认和重扩散二者都与所述更新相关联, 并且所述确认和重扩散由一个或多个非重叠邻居传输。
10.如权利要求1所述的装置,其中,所述第一网络元件包括可工作 来在将所述第二和第三邻居列表与所述第一邻居列表相比较后确定出由所 述第二和第三邻居列表提供的一个或多个重叠的算法,所述算法被调用以 便确定所述第一网络元件是否应当中继其接收到的所述更新。
11. 一种用于在网络环境中传输分组的方法,包括包括第一邻居列表的第一网络元件接收来自第二网络元件的第二邻居 列表和来自第三网络元件的第三邻居列表;以及在将所述第二和第三邻居列表与所述第一邻居列表相比较后确定出由 所述第二和第三邻居列表提供的一个或多个重叠,所述第一网络元件基于 所述一个或多个重叠来中继其接收到的更新。
12. 如权利要求11所述的方法,还包括将所述第一邻居列表存储到在所述第一网络元件中提供的链路状态数 据库中。
13. 如权利要求11所述的方法,其中,如果所述第一邻居列表和所述 第二邻居列表完全重叠,则所述第一网络元件在从所述第二网络元件接收 到所述更新时不中继所述更新。
14. 如权利要求11所述的方法,其中,如果所述第一邻居列表与所述第二邻居列表不完全重叠,并且所述第一网络元件被指定为活动的,则所 述第一网络元件在从所述第二网络元件接收到所述更新时中继所述更新。
15. 如权利要求11所述的方法,其中,如果所述第一邻居列表与所述 第二邻居列表不完全重叠,并且所述第一网络元件被指定为不活动的,则 所述第一网络元件在确定是否中继所述更新之前等待选定的时间间隔。
16. 如权利要求15所述的方法,其中,所述选定的时间间隔基本等于 推迟时间加抖动时间。
17. 如权利要求11所述的方法,其中,如果所述第一网络元件确定出 其对所述更新的中继将导致冗余发送,则所述第一网络元件将抑止对所述 更新的中继。
18. 如权利要求11所述的方法,还包括通过收集与确认和重扩散中被选的一个相关联的数据,确定所述第一 网络元件对所述更新的中继是否将导致冗余发送,所述确认和重扩散二者 都与所述更新相关联,并且所述确认和重扩散由一个或多个非重叠邻居传 输。
19. 一种用于在网络环境中传输分组的系统,包括用于接收来自第一网络元件的第一邻居列表和来自第二网络元件的第 二邻居列表的装置;以及用于在将所述第一和第二邻居列表与第三邻居列表相比较后确定出由 所述第一和第二邻居列表提供的一个或多个重叠的装置,第三网络元件基 于所述一个或多个重叠来中继其从所述第一网络元件接收到的更新。
20. 如权利要求19所述的系统,还包括用于将所述第三邻居列表存储到所述第三网络元件的装置。
21. 如权利要求19所述的系统,其中,如果所述第一邻居列表和所述第三邻居列表完全重叠,则所述第三网络元件在从所述第一网络元件接收 到所述更新时不中继所述更新。
22. 如权利要求19所述的系统,其中,如果所述第一邻居列表与所述 第三邻居列表不完全重叠,并且所述第三网络元件被指定为活动的,则所 述第三网络元件在从所述第一网络元件接收到所述更新时中继所述更新。
23. 如权利要求19所述的系统,其中,如果所述第一邻居列表与所述 第三邻居列表不完全重叠,并且所述第三网络元件被指定为不活动的,则 所述第三网络元件在确定是否中继所述更新之前等待选定的时间间隔。
24. 如权利要求19所述的系统,其中,如果所述第三网络元件确定出 其对所述更新的中继将导致冗余发送,则所述第三网络元件将抑止对所述 更新的中继。
25. 如权利要求19所述的系统,还包括用于通过收集与确认和重扩散中被选的一个相关联的数据,来确定所 述第三网络元件对所述更新的中继是否将导致冗余发送的装置,所述确认 和重扩散二者都与所述更新相关联,并且所述确认和重扩散由一个或多个非重叠邻居传输。
26. —种包含用于在网络环境中传输分组的软件的计算机可读介质, 所述软件包括在被执行时可工作来执行以下过程的计算机代码接收来自第一网络元件的第一邻居列表和来自第二网络元件的第二邻 居列表;以及在将所述第一和第二邻居列表与第三邻居列表相比较后确定出由所述 第一和第二邻居列表提供的一个或多个重叠,第三网络元件基于所述一个 或多个重叠来中继其从所述第一网络元件接收到的更新。
27. 如权利要求26所述的介质,其中所述代码还可工作来执行以下过程将所述第三邻居列表存储到在所述第三网络元件中提供的链路状态数 据库中。
28. 如权利要求26所述的介质,其中,如果所述第一邻居列表和所述 第三邻居列表完全重叠,则所述第三网络元件在从所述第一网络元件接收 到所述更新时不中继所述更新。
29. 如权利要求26所述的介质,其中,如果所述第一邻居列表与所述 第三邻居列表不完全重叠,并且所述第三网络元件被指定为活动的,则所 述第三网络元件在从所述第一网络元件接收到所述更新时中继所述更新。
30. 如权利要求26所述的介质,其中,如果所述第一邻居列表与所述 第三邻居列表不完全重叠,并且所述第三网络元件被指定为不活动的,则 所述第三网络元件在确定是否中继所述更新之前等待选定的时间间隔。
31. 如权利要求26所述的介质,其中,如果所述第三网络元件确定出 其对所述更新的中继将导致冗余发送,则所述第三网络元件将抑止所述更 新的中继。
32. 如权利要求26所述的介质,其中,所述代码还可工作来执行以下过程通过收集与确认和重扩散中被选的一个相关联的数据,来确定所述第 三网络元件对所述更新的中继是否将导致冗余发送,所述确认和重扩散二 者都与所述更新相关联,并且所述确认和重扩散由一个或多个非重叠邻居 传输。
全文摘要
本发明提供了一种用于在网络环境中传输分组的装置,该装置包括包括第一邻居列表的第一网络元件,该第一网络元件耦合到第二网络元件和第三网络元件。第一网络元件可工作来接收来自第二网络元件的第二邻居列表和来自第三网络元件的第三邻居列表。第一网络元件还可工作来在将第二和第三邻居列表与第一邻居列表相比较后确定出由第二和第三邻居列表提供的一个或多个重叠,该第一网络元件基于这一个或多个重叠来中继其接收到的更新。
文档编号H04J14/00GK101341682SQ200580001386
公开日2009年1月7日 申请日期2005年1月12日 优先权日2004年1月21日
发明者大卫·A·库克, 拉塞尔·I·怀特, 义 杨, 阿尔维勒·E·里塔纳, 马达威·W·钱德拉 申请人:思科技术公司