专利名称:具有状态同步的集群的虚拟组播路由的制作方法
技术领域:
本发明一般地涉及计算管理,尤其涉及用于管理在具有状态同步的集 群(cluster)内的组播路由(routing)的方法及系统。
背景技术:
组播是用于在基于包的网络上有效传递内容的方式。从源发出的信号 包可用来将包的内^:供给网络上的多个接收方。想要从源接收某媒体内 容的一組接收方可遍布于网络上,甚至跨越不同的网络。通常有某个最优 路径用于将内容传递给接收方的每一个。如果从源到接收方的每一个的路 径被加以对照,就可能存在路径的重叠。重叠的程度将基于各接收方的位 置而改变。从源到M收方的路径在利用网络图来表示时通常被称为内容 传递树,其中图的顶点对应于路由器,边对应于路由器之间的网M输。 在这样的包括接收方和发送方的节点组中,发送方可将每个包的多个副本 发送,其中接收方的每一个均有一个副本发送到。用以实现对每个接收方 的包传递的相同最终结果的另 一组播路由协议方案是在源处产生每个包的 单个副本以及在树中的分支处复制每个包。该树对应于共享路径,在该共 享路径上转发去往特定组地址的组播数据。当有大量发送方以及每个发送 方有大量感兴趣的接收方时,在源处仅发出每个包的一个副本以及在传递
明显的。
然而,对于组播路由协议仍有若干固有问题。例如,如上所述,在树内可能有至少一个接收大量传输的节点,由此在传输吞吐率方面
产生潜在瓶颈。而且,有这样的可能组播传输负载可能在树中的其 他节点中不均匀地分布,导致其他潜在路径的欠利用。
此外,许多企业可利用组播协议以及类似的联网构架来管理关键 应用、访问内容服务器、自动化组装和生产线以及实施复杂的控制系 统。企业的这种依赖已经驱使对网络上的资源进行更高程度的保护和 可用性保证。令人遗憾的是,接口故障或者组播树内的路由器故障可 能对企业造成重大成本。因此,在业界中对于用以管理网络上的组播 路由的改进途径存在着需要。
发明内容
该发明内容部分旨在向阅读者介绍本发明的各个方面,而不是本 发明的完全描述。本发明的具体方面在这里以下的其他部分中被指出, 本发明在独自为其范围划界的所附权利要求中被阐述。
本发明涉及利用网络集群来管理组播路由。网络集群构架的使用 的目的是利用组播路由协议解决包括负载均衡支持的若干认识到的问 题,和组播路由器故障转移。于是,本发明包括主动地参与与集群邻 近设备的组播控制协议通信的集群主设备。为了保持单个组播邻近路 由器的表象,非主设备的集群成员不参与集群外部的协议操作。然而, 每个集群成员虛拟地保持相同协议状态,使得如果集群主设备变得不 可用,另一集群成员可在最小的延迟内承担集群主设备的角色。此夕卜, 组播数据包的过滤由每个集群成员进行,以在集群成员上进行组播数 据传输的负载均衡。
在本发明的一个方面, 一种系统涉及管理网络上的组播路由。该 系统包括第一和第二网络设备。第一网络设备配置为作为集群内的集 群主设备来操作。第二网络设备配置为作为集群成员来操作。第一网 络设备还配置为如果集群成员正加入集群,则将初始协议状态信息 发送到该集群成员;以及将组播控制协议包发送到集群外部的至少一 个网络设备。第一网络设备可接收组播数据包。如果第一网络设备与组播数据包相关,则它朝着目的地转发组播数据包。第二网络设备配 置为接收初始协议状态信息和监视网络以得到附加协议状态信息。如 果附加协议状态信息被接收,则第二网络设备利用附加协议状态信息 来更新其状态。第二网络设备还可接收组播数据包,如果第二网络设 备与组播数据包相关,则它朝着目的地转发组播数据包。
在本发明的另一方面, 一种设备涉及管理网络上的组播路由。除 其它部件之外,该设备包括配置为进行动作的组播集群管理器。这些
动作包括将该设备配置为作为集群内的成员来操作;监视网络以得 到协议状态信息,如果协议状态信息被接收,则利用协议状态信息来 更新设备状态。此外,组播集群管理器配置为接收组播控制协议消息, 如果设备是集群主设备,则组播集群管理器响应组播控制协议消息。 如果设备不是集群主设备,则组播集群管理器丢弃组播控制协议消息 而不是响应它;当设备接收到组播数据包时,如果设备与组播数据包 相关,则组播集群管理器朝着目的地转发组播数据包。
在本发明的又一方面, 一种方法涉及管理网络上的组播路由。如 果集群成员正加入集群,则该方法将初始协议状态信息发送到集群成 员。该方法包括将组播控制协议包从集群成员发送到集群外部的至少 一个网络设备。该方法还包括从外部网络设备接收另 一组播控制协议 包,如果组播控制协议包被集群成员接收,则丢弃组播控制协议包。 该方法还包括监视网络以得到附加协议状态信息,如果附加协议状态 信息被接收,则利用附加协议状态信息来更新集群成员的状态。此外, 该方法包括接收组播数据包,如果集群成员与組播数据包相关,则朝 着目的地转发组播数据包。
在该方法的一个实施例中,如果另一集群成员无法通过监视组播 控制状态来获得集群主设备和集群成员之一所知悉的另 一组播协议状 态,则该方法还包括将其他组播协议状态发送到其他集群成员,使得 如果集群主设备和集群成员之一发生故障,则其他集群成员能够承担 集群主设备和集群成员中发生故障的一个的工作负载和角色。
通过与附图相结合地阅读的如下本发明的具体描述,本发明的其他特征及优点将变得明显。
参考如下附图,来描述本发明的非限制性以及非穷举性的实施 例。除非另有说明,在附图中,类似标号在全部的图中指代类似部分。 为了本发明的更好理解,将参照以下结合附图进行阅读的本发明
的详细描述,在附图中
图l示出了功能框图,其图示了用于实践本发明的组播集群环境
的一个实施例;
图2示出了可在实施本发明的系统中利用的网络设备的一个实施
例;
图3图示了逻辑流图,其概括地示出了用于在图l的组播集群中 的成员之间管理状态同步的处理的一个实施例;以及
图4图示了逻辑流图,其概括地示出了按照本发明来管理经过图 l的组播集群的组播数据传输的处理的一个实施例。
具体实施例方式
下文将参考附图来更完整地描述本发明,这些附图形成本发明的 一部分,以及通过图示来示出可用来实践本发明的具体示范实施例。 然而,本发明可以许多不同形式被具体化,不应当理解为囿于这里阐 述的实施例,提供这些实施例是使得本公开彻底和完整,以及将向本 领域的技术人员完全地传达本发明的范围。特别地,本发明可具体化 为方法或设备。因此,本发明可利用全硬件实施例、全软件实施例或 组合软件和硬件方面的形式。因此如下具体描述不应理解为具有限制 意义。
网络集群化是用以为计算机服务器或网络设备提供高可用性和 增强性能的方式。配置为集群的服务器或设备组向外部网络实体保持 单个服务器或设备的表象。该集群在每个网络上通过集群IP(网际协 议)地址来标识。集群成员可相互交换集群协议消息,以动态地改变集群成员关系(即添加或去除成员)、检测成员故障、在成员之间分布工 作或者检测成员故障。集群的一个成员可静态或动态地指定为集群主 设备,以及协调集群成员(包括自身)之间的事件。
当新的服务器或网络设备加入集群时,它可承担其他成员的一些 负载,由此增大集群的容量或性能。如果至少一个集群成员遭受关键 功能的部分或完全故障,则它可离开集群,另一集群成员能够承担其 工作负载。集群成员可周期性地交换状态信息,以使得任何集群成员 能够接管任何其他成员的工作负载。以此方式,网络集群化能够提供 网络服务或设备的高可用性和可伸缩的性能。于是,本发明正是针对 这些以及其他考虑而做出的。
简言之,本发明涉及一种利用网络集群配置来为组播路由器提供 高可用性和增强性能的系统、设备及方法。在集群配置中,集群主设 备主动地参与与集群的组播路由器邻近设备的组播控制协议通信,由 此保持单个组播路由器设备的表象。集群主设备利用集群网际协议(IP) 地址作为从集群发出组播控制协议包的源。非主设备节点或集群成员 节点通常不参与集群外部的组播控制协议操作。然而,集群的每个成 员虛拟地保持相同协议状态,使得如果集群主设备变得不可用,集群 的另一成员可以最小的延迟来承担集群主设备的角色。新加入集群的 成员通过从集群主设备接收初始协议状态信息来同步。在初始协议状 态同步之后,群成员主动地监视网络上的组播控制协议传输,以获取 新的协议状态信息。此外,集群成员在其之间交换一旦离开网络就不 可得到的协议状态信息。而且,由每个集群成员进行组播数据包的过 滤,以对集群成员进行组播数据传输的负载均衡。
说明性操作环境
图1图示了本发明可操作于其中的环境的一个实施例。并非需要 所有部件以实践本发明,可在不脱离本发明的精神和范围的前提下进 行部件布局和类型的变化。
如图所示,集群系统100包括局域网/广域网(LAN/WAN)106和 107、目的设备114、源设备112、组播路由器110以及组播集群101。组播集群100包括集群成员102-104和集群主设备105。组播集群101 与LAN/WAN 106和107通信。目的设备114与LAN/WAN107通信, 源设备112与LAN/WAN 106通信。
集群成员102-104和集群主设备105可经过多个网络与 LAN/WAN 106和107通信。例如,尽管未示出,多个网络连接可存 在于集群成员102-104、集群主设备105与LAN/WAN 107之间。多 个网络连接还可存在于集群成员102-104、集群主设备105与 LAN/WAN 106之间。然而,为了清楚,仅网络108在图1中被图示。 网络108可实际包括任何局域网(LAN)、包括^旦不限于以太网、802.3 等等。在一个实施例中,网络108是协议网络。协议网络实际包括任 何网络,包括其互连等等,其被用于协议消息的交换。
组播集群101通常配置为包括松散耦合的网络设备,它们可协同 向另一设备提供对服务、资源等等的访问。在一个实施例中,组播集 群101配置为通过自适应地均衡集群成员102-104的负载来优化消息 吞吐率。组播集群101可实际利用任何负载均衡机制,包括往返时间、 循环重复、最少连接、包完成率、服务质量、集群拓朴、全局可用性、 转发段(hop)、散列、静态比率和动态比率。在一个实施例中,基本类 似于用于单播传输的方案,组播数据包可利用基于散列的方案等等映 射到集群成员的工作分配。
组播集群101还可配置为提供各种网络管理服务,包括但不限于 域名服务、安全服务等等。
集群成员102-104可以是能够在集群构架中通过网络发送和接收 包的任何网络设备。集群成员,比如集群成员102-104的一个实施例, 将结合图3来更为具体地描述。
在一个实施例中,集群成员102-104 ^皮配置为作为用于收到的消 息包的协议栈处理器来操作。这样的设备集可包括通常利用有线通信 介质来连接的设备,比如个人计算机、多处理器系统、基于微处理器 或可编程用户电子产品、网络PC等等,它们配置为作为集群设备来 操作。这样的设备集还可包括通常利用无线通信介质来连接的设备,比如移动设备,包括但不限于蜂窝电话、智能电话、寻呼机、步谈机、
射频(RF)设备、红外(IR)设备、膝上型电脑、CB、组合前述设备的一 个或多个的集成设备等等,它们配置为集群设备。替代地,集群成员 102-104可以是能够利用有线或无线通信介质来连接的任何设备,比 如PDA、 POCKET PC、可佩带的计算机以及配备为通过有线和/无线 通信介质进行通信的任何其他设备,它们操作为集群设备。
而且,集群成员102-104内的每个集群成员可包括应用程序等等, 其配置为在其自身与集群成员105之间传送包。该应用程序例如可在 集群成员加入集群时从集群主设备105接收同步协议状态数据。集群 成员102-104然后可利用应用程序监浮见网络108以获取附加的协议状 态信息。这样的协议状态信息可使得集群成员102-014能够更新其各 自路由表,包括其组播和单播路由表,以及有关信息。同样地,协议 状态信息可包括关于成员的直接邻居设备、发送方、接收方的信息、 距离信息、组播树信息等等。应用程序还可允许集群成员将其自身的 协议状态信息提供给另一集群成员,使得如果该集群成员发生故障, 其他集群成员可承担其角色。
然而,组播集群101和集群成员102-104不限于用以保持状态同 步的上述机制。例如,集群成员102-104可利用完全同步机制,其中 集群主设备105实际通过将协议状态信息发送到集群成员102-104来 不断地同步该信息。在此机制中,集群成员102-104实际上单纯依赖 于集群主设备105以便获取协议状态信息。同步还可利用"纯监视"机 制来完成,其中集群主设备105不将任何协议状态信息同步至集群成 员102-104。而是集群成员102-104单纯依赖于它们从网络108监视到 的传输,以获取协议状态信息。于是,集群成员102-104可实际利用 任何同步机制,而不脱离本发明的范围或精神。
集群成员102-104内的每个集群成员可将过滤器应用程序应用于 它接收到的组播协议控制和数据包,以确定如何处理它们。例如,基 于负载均衡机制, 一个集群成员可被分配用来将收到的组播数据包朝 着其目的地转发,而其他集群成员可简单地丢弃组播数据包。集群成员102-104还可包括常驻于其中的应用程序,其可加入与 特定的包传输流相关的组。例如,在一个实施例中,集群成员102可 包括寻求访问特定传输流的应用程序。在此例中,集群成员102可配 置为接收与用于该应用程序的传输流相关联的组播数据包,并非丟弃 组播数据包,而是将组播数据包传递到其常驻的应用程序。集群成员 102可进行这样的动作,而无关于它是否还将組播数据包朝着组播集 群101外部的目的地,比如源设备112、目的设备114等等转发。
集群主设备105实际包括任何网络设备,其被配置为作为集群管 理网络设备来操作,以允许进行集群配置的变化管理。这样的设备集 可包括但不限于个人计算机、多处理器系统、基于微处理器或可编程 用户电子产品、网络PC、移动设备(包括但不限于蜂窝电话、智能电 话、寻呼机、步谈机)、射频(RF)设备、红外(IR)设备、CB、组合前述 设备的一个或多个的集成设备、PDA、 POCKET PC、可佩带的计算 机、以及配备为通过有线和/或无线通信介质进行通信的任何其他设 备,以管理组播集群101的配置变化。在一个实施例中,实际上集群 成员102-104的任一个可配置为在集群主设备105变得不可用时承担 集群主设备105的角色。于是,集群成员102-104和集群主设备105 的配置一般基本上是相同的。
在一个实施例中,尽管包括集群主设备的每个成员接收所有组播 协议控制和数据包,但是由集群主设备105主动地参与组播控制协议 操作。在一个实施例中,集群主设备105利用集群IP地址作为所发起 的组播包的源。集群成员102-104 —般不参与组播控制协议的操作。 也就是,集群主设备105被配置用来为组播集群101而响应,以便保 持单个的组播邻近网络设备的表象。
LAN/WAN 106和107被使得能够利用任何形式的计算机可读介 质,用于从一个电子设备到另一电子设备传送信息。同时,LAN/WAN 106和107可包括无线接口和/或有线接口,比如除局域网(LAN)、广 域网(WAN)之外的互联网,直接连接,比如经过通用串行总线(USB) 端口,其他形式的计算机可读介质,或者其组合。在互连的LAN集上,包括基于不同构架和协议的那些LAN,路由器充当LAN之间的 链接,使得消息能够从一个LAN发送到另一LAN。同时,LAN内的 通信链路一般包括双绞线对或同轴电缆,而网络之间的通信链路可利 用模拟电话线、包括T1、 T2、 T3和T4的全部或部分专用数字线、 综合业务数字网(ISDN)、数字用户线(DSL)、包括卫星链路的无线链 路、基于各种标准(包括IEEE 802.11a、 802.11g、 802.11b)的连接。或 者任何其他通信链路。
LAN/WAN 106和107还可利用多个无线接入4支术,包括但不限 于用于蜂窝系统的第二代(2G)、第三代(3G)无线接入、无线-LAN、无 线路由器(WR)网格等等。接入技术比如2G、 3G以及未来的接入网络 可以各种程度的移动性实现移动设备的广域覆盖。例如,LAN/WAN 106、 107可通过无线网络接入来实现无线连接,比如通过全球移动通 信系统(GSM)、通用分组无线传输(GPRS)、宽带码分多址(WCDMA), 802.16等等。
而且,远程计算机和其他有关电子设备可经由调制解调器和暂时 的电话链路来远程地连接至LAN或WAN。实质上,LAN/WAN 106 和107包括任何通信方法,信息可通过该方法行进于一个网络设备与 另一网络设备之间。
此外,LAN/WAN 106和107可包括通信介质,其一般体现有计 算机可读指令、数据结构、程序模块或者在调制的数据信号比如载波、 数据信号或其他传送机制中的其他数据,以及包括任何信息传递介质。 术语"调制的数据信号"和"载波信号"包括这样的信号,该信号令其一 个或多个特征以对此信号中的信息、指令、数据等进行编码的方式来 设置或改变。作为实例,通信介质包括有线介质,比如但不限于双绞 线对、同轴电缆、光纤、波导和其他有线介质,以及包括无线介质, 比如但不限于声、RF、红外和其他无线介质。
如上所述用来在通信链路中传输信息的介质说明了一种类型的 计算机可读介质,即通信介质。 一般而言,计算机可读介质包括任何 可由计算设备访问的介质。计算机可读介质可包括计算机存储介质、通信介质或其组合。
一般地,LAN/WAN 106可包括内容服务器、应用服务器等等, 组播集群101 ^f吏得能够为常驻于LAN/WAN 107内的另一网络设备访 问这些服务器。类似地,LAN/WAN 107可包括内容服务器、应用服 务器等等,它们可利用组播集群101来实现对常驻于LAN/WAN 106 内的网络设备的访问。如图l所示,源设备112和目的设备114是可 利用组播集群101来实现通信的两个网络设备的实例。在一个实施例 中,源设备112可配置为提供也去往目的设备的组播消息。尽管标记 为目的设备,但是目的设备114还可提供组播消息,其包括作为该消 息的目的地的源设备112。
为了说明目的,组播路由器IIO在图1中也被示出为与组播集群 101接口的可能路由器。于是,组播路由器110可配置为接收组播消 息以及将它们朝着邻居网络设备转发。组播路由器110还可由桥接器、 交换机、网关等来代表,其配置为接收和转发组播消息。
图2图示了网络设备200的一个实施例的功能框图,其可操作为 集群成员和/或集群主设备。网络设备200可包括比所示多得多的部件。 然而所示部件足以公开用于实践本发明的说明性实施例。
网络设备200包括处理单元212、视频显示适配器214和大容量 存储器,它们都经由总线222相互通信。大容量存储器一般包括RAM 216、 ROM 232和一个或更多永久大容量存储设备,比如硬盘驱动器 228、磁带驱动器、光驱和/或软盘驱动器。大容量存储器存储用于控 制网络200的操作的操作系统220。任何通用操作系统均可被利用。 基本输入/输出系统("BIOS")218也被提供以用于控制网络设备200的 低级操作。
如图2所示,网络设备200也能够经由网络接口单元210与互联 网或一些其他通信网络比如图1中的LAN/WAN 106-107通信,该网 络接口单元被构造用于各种通信协议,包括但不限于TCP/IP协议、 UDP/IP协议等等。网络接口单元210有时称为收发器或收发设备。
网络设备200还可包括用于传输电子邮件的SMTP处理应用程序、用于接收和处理HTTP请求的HTTP处理应用程序以及用于处理 安全连接的HTTPS处理应用程序。HTTPS处理应用程序可以安全方 式发起与外部应用程序的通信。然而网络设备200不限于这些处理应 用程序,许多其他协议处理应用程序可由网络设备200利用,而不脱 离本发明的范围。
网络设备200还可包括用于与外部设备,比如鼠标、键盘、扫描 仪或图2中未示出的其他输入设备通信的输入/输出接口 224。类似地, 网络设备200还可包括附加的大容量存储设备,比如 CD-ROM/DVD-ROM驱动器226和硬盘驱动器228。除存储其它之外, 硬盘驱动器228由网络设备200用来存储应用程序、数据库等等。
如上所述的大容量存储器图示了 一类计算机可读介质,即计算机 存储介质。计算机存储介质可包括易失性、非易失性、可移动和不可 移动的介质,其在任何方法或技术中实施用于存储信息,比如计算机 可读指令、数据结构、程序模块或其他数据。计算机存储介质的实例 包括RAM、 ROM、 EEPROM、闪存或其他存储4支术、CD-ROM、数 字通用光盘(DVD)或其他光存储设备、磁带盒、磁带、磁盘存储设备 或其他磁存储设备、或者可用来存储所需信息以及可由计算设备访问 的任何其他介质。
在一个实施例中,大容量存储器存储用于实施操作系统220的程 序代码和数据。大容量存储器还可存储用于进行网络设备200的功能 的附加程序代码和数据。 一个或更多应用程序250等可加载到大容量 存储器中和运行于操作系统220上。如图所示,组播集群管理器 (MCM)242是可运行于操作系统220上的应用程序的实例。
MCM 242可配置为使得计算设备能够加入集群以作为集群成 员,以及从集群主设备105接收协议状态信息、配置信息等等。MCM 242还可使得集群成员能够通过过滤数据包、管理协议包以及与组播 集群101的其他成员(和集群主设备105)同步协议状态信息来操作为集 群中的成员。而且,MCM 242还可使得集群成员能够在集群主设备 105发生故障时承担集群主设备的角色,和/或在另一集群成员发生故障时承担管理数据传输的责任,等等。MC 242可分别利用图3和4 的处理300和400来执行许多的这些动作。 说明性操作
现在将参考图3-4来描述本发明的某些方面的操作。图3图示了 逻辑流图,其概括地示出了用于在诸如如图l所示的组播路由集群中 的成员之间管理状态同步的处理的一个实施例。处理300例如可实施 于图1的组播集群101的成员和/或集群主设备,和/或安排进行组播 路由的集群内的类似网络设备中。
处理300在开始方框之后始于判决框302处,其中确定网络设备 是否为集群成员。如果网络设备是集群成员,则处理分支到方框306; 否则,处理继续到判决框304。
在判决框304处,确定网络设备是否正加入集群以作为新的集群 成员。如果网络设备是新近正加入的集群成员,则处理流向方框314; 否则,处理继续到方框306。
在方框314处,新的正加入的集群成员将加入请求消息发送到集 群主设备。然后处理流向方框316,其中新的正加入的集群成员从集 群主设备接收协议状态信息,以初始地同步新的集群成员,使得新成 员的协议状态与其余集群成员的协议状态之间的滞后最小。处理继续 到方框318,其中新加入的集群成员利用收到的协议状态信息来更新 其协议状态,包括路由表、过滤器等等。处理继续到方框306。
在方框306处,网络设备继续监视网络以获取和保持协议状态。 处理接着流向方框308,其中网络设备可利用收到的协议状态信息来 同步和/或更新其自身的协议状态信息。在一个实施例中,获取的组播 控制协议包可包括来自集群外部的邻居网络设备的消息。在另 一实施 例中,获取的组播控制协议包可包括对于来自集群的响应的请求。
处理流向判决框310,其中确定是否收到组播控制协议消息。这 样的消息例如可提供来自并不在集群内的网络设备的协议信息。如果 收到组播控制协议消息,则处理分支到判决框320;否则,处理流向 判决框312。在判决框320处,确定网络设备是集群主设备还是集群成员。如 果网络设备是集群主设备,则处理流向方框322;否则,处理继续到 判决框312。在方框322处,集群主设备可响应于组播控制协议消息。 然后处理继续到判决框312。
在判决框312处,网络设备确定其协议状态是否已改变,使得它 可与其他集群成员共享这样的变化。如果其协议状态已变,则处理继 续到方框324;否则,处理返回到调用处理以进行其他动作。在方框 324处,网络设备将其协议状态变化发送到集群中的其他成员,使得 另一集群成员可在发生故障时承担其角色。然后处理返回到调用处理 以进行其他动作。
图4图示了逻辑流图,其概括地示出了用于按照本发明来管理经 过图1的组播集群中的网络设备的组播数据传输的处理的一个实施 例。图4的处理400例如可操作于集群成员内,比如图l的集群成员 102-104和/或集群成员105。
处理400在开始方框之后始于方框402处,其中组播数据包由网 络设备接收。处理接着流向方框404,其中网络设备可部分地利用组 播数据包来更新其状态过滤器。
处理接着继续到判决框408,其中确定组播数据包是否将由常驻 应用程序接收。这例如可在常驻应用程序已加入与收到的组播数据包 相关联的组时发生。如果常驻应用程序将接收组播数据包,则处理继 续到方框414,其中组播数据包被发送到常驻应用程序。在任一情况 下,处理接着流向判决框410。
在判决框410处,确定收到的组播数据包是否将被转发。在一个 实施例中,接收网络设备可能未被分配用来转发数据。这可以是基于 各种判决,包括负载均衡判决。在任一情况下,如果网络设备将转发 组播数据包,则处理400继续到方框416,其中网络设备朝着其目的 地来发送组播数据包。然后处理返回以进行其他动作。
替代地,如果在判决框410处网络设备将不转发接收到的组播数 据包,则处理继续到方框412,其中网络设备丢弃收到的组播数据包。然后处理返回到调用处理以进行其他动作。
将理解到上述流程示的每个方框以及上述流程示中方 框的组合可通过计算机程序指令来实施。这些程序指令可提供给处理 器以产生机器,使得在处理器上执行的指令建立了用于实施在流程图 的一个或多个方框中指定的动作的装置。计算机程序指令可由处理器 执行以使得一连串操作步骤由处理器执行,以产生计算机实施的处理, 使得在处理器上执行的指令提供了用于实施在流程图的一个或多个方 框中执行的动作的步骤。
因此,流程示的方框支持用于进行指定动作的装置的组合、 用于进行指定动作的步骤的组合、以及用于进行指定动作的程序指令 装置。还将理解,流程示的每个方框以及流程示中方框的组 合能够由进行指定动作或步骤的基于专用硬件的系统,或者专用硬件 与计算机指令的组合来实施。
上面的说明书、实例及数据提供了本发明的构成的制造及使用的 完整描述。由于本发明的许多实施例可在不脱离本发明的精神和范围 时来做出,所以本发明存在于这里所附的权利要求中。
权利要求
1. 一种设备,包括处理器,其配置以便有选择地将所述设备配置成作为集群内的成员或主设备来操作,其中所述选择基于所述集群的需要;针对协议状态信息而监视网络;当所述设备接收到协议状态信息时,采用所述协议状态信息来更新所述设备的状态;接收组播控制协议消息;当所述设备是集群主设备时,响应组播控制协议消息;当所述设备不是集群主设备时,丢弃组播控制协议消息而不响应所述组播控制协议消息;接收组播数据包;以及当所述设备与所述组播数据包相关时,朝着目的地转发所述组播数据包。
2. 根据权利要求1的设备,其中所述处理器被进一步配置以便当 所述设备包括与所述组播数据包相关联的常驻应用时,朝着所述常驻应 用转发所述组播数据包。
3. 根据权利要求1的设备,其中,当采用附加协议状态信息时,所 述处理器被进一步配置以便将自身的协议状态信息发送到所述集群内 的网络设备。
4. 根据权利要求1的设备,其中所述处理器被进一步配置以便确 定所述设备是否是负载均衡的以便管理所述組播数据包。
5. 根据权利要求1的设备,其中所述处理器被进一步配置以便在 加入所述集群期间,从集群主设备接收初始协议状态信息。
6. 根据权利要求1的设备,其中所述处理器被进一步配置以便当 所述设备与所述组播数据包不相关时,丢弃所述组播数据包。
全文摘要
一种系统、设备及方法涉及利用网络集群来管理组播路由。集群主设备主动地参与与集群邻近设备的组播控制协议通信,而非主设备成员节点不参与集群之外的协议操作。然而,每个集群成员虚拟地保持相同协议状态,使得如果主设备变得不可用,则另一集群成员可在最小的延迟内承担主设备角色。集群的新成员通过从主设备接收初始协议状态信息来同步。在初始协议状态同步之后,集群成员主动地监视网络以获取新协议状态信息。此外,集群成员在它们之间交换在离开网络时无法获得的状态信息。组播数据包的过滤由每个集群成员进行,以平衡集群成员的组播数据传输负载。
文档编号H04L12/56GK101471885SQ20091000208
公开日2009年7月1日 申请日期2005年12月29日 优先权日2004年12月30日
发明者拉维·I.·辛, 拉胡尔·巴哈杜尔, 比德·弗莱德里克·亨特 申请人:诺基亚公司