CN1613243A - 用于在包操作系统中为消息选择路由的方法、装置和系统 - Google Patents
用于在包操作系统中为消息选择路由的方法、装置和系统 Download PDFInfo
- Publication number
- CN1613243A CN1613243A CNA02827007XA CN02827007A CN1613243A CN 1613243 A CN1613243 A CN 1613243A CN A02827007X A CNA02827007X A CN A02827007XA CN 02827007 A CN02827007 A CN 02827007A CN 1613243 A CN1613243 A CN 1613243A
- Authority
- CN
- China
- Prior art keywords
- message
- destination
- address
- function example
- label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种方法、装置和系统,用于通过接收消息和从本地知识库中为功能实例请求一个目的地地址(标签),在包操作系统中将消息路由到功能实例。当目的地地址(标签)是本地的时,消息被发送到功能实例。当目的地地址(标签)是远程的时,消息与目的地地址(标签)组包,该组包的消息被发送到功能实例。当目的地地址(标签)找不到时,从远程知识库中请求为该功能实例的目的地地址(标签),然后把消息与该目的地地址(标签)组包,该组包的消息被发送到功能实例。这一方法可以通过使用具有各种代码段以执行本方法的步骤的计算机程序实现。
Description
技术领域
本发明一般涉及通信领域,更具体说,涉及用于在包操作系统中为消息选择路由的方法、装置和系统。
背景技术
数据通信日益增加的需求促进了许多技术的发展,这些技术提供了更加成本有效和更加高效率地使用通信网络的装置来处理更多信息和新类型信息。一种这样的技术是分段信息为包,这些信息可以是话音或者通信。包通常是一组至少包括数据和控制信息的二进制位。集成的包网络(通常是快速包网络)一般用于承载至少两类通信量,它例如可以包括恒定位速率(“CBR”)、语音(“包话音”)、数据(“组帧数据”)、图像、等等。包网络包括发源、汇集(sink)和/或转发协议包的包设备。每一包具有定义明确的(well-defined)格式,并由一个或者多个包头和一些数据组成。包头包含给出控制和地址信息的信息,诸如包的源和目的地。
单个包设备可以发源、汇集或转发协议包。在包操作系统中提供包处理的元件(软件或硬件)公知为功能实例(function instance)。把功能实例组合到一起以提供合适的栈实例(stack instance)来在设备内发源、汇集或转发包。将包或者消息路由到适当的功能实例进行处理受中央处理单元(“CPU”)的能力、硬件转发设备或者在该包设备内的互连交换能力的限制。这种处理限制在该包设备内引起拥塞和服务质量问题(“QoS”)。
包设备可能需要管理复杂的动态协议栈,其可以位于协议栈中的任何一层内,或者可能由于大量的(可能嵌入的)栈层引起。另外,包设备可能需要按照某些控制协议非常频繁地被创建和销毁(torndown)的栈的实例。包设备还可能需要在单一物理单元内划分功能为多个虚拟设备以提供虚拟专用网络服务。例如,包设备可能需要提供数十万栈实例和/或数千虚拟设备。相应地,需要一种方法、装置和系统,用于在包操作系统内为消息选择路由,它能改善系统性能和可靠性,容易操作和维护,和提供可扩展性、虚拟化(virtualization)和具有服务区别的分布式转发能力。
发明内容
根据本发明的在包操作系统内为消息选择路由的方法、装置和系统,为包处理应用程序和设备提供一种公共的环境/执行机构(executive)。本发明改善系统性能和可靠性,容易操作和维护,和提供可扩展性、虚拟化、服务区别和分布式转发能力。通过利用零复制消息系统、可变消息队列和分布功能来复接所有板上的不仅仅是入口/出口板上的处理器来提供高性能。通过系统的冗余性、容错、稳定性和可用性改善可靠性。因为提供了动态栈管理,在运行期间可拆卸和更换硬件模块,因此系统的操作和维护比较容易。通过热备份控制卡和用于入口/出口卡的非反转冗余可以提供冗余性。
该系统还允许非侵入式软件升级、非SNMP管理能力、复杂查询、子表和过滤能力、和分组管理、网络范围策略和QoS测量。通过支持数十万虚拟专用网络(“VPN”)、增加端口密度、允许组播和提供负载共享结构提供可扩展性。通过使单个物理系统中的多个虚拟设备提供VPN服务来提供虚拟化,其中,虚拟设备可能根据管理策略“共享”系统资源。虚拟化扩展到包括虚拟设备获知管理的全部包设备中。分布式转发能力可能释放底板,并且为软件处理复杂栈和为增加多处理器、I/O卡和机架而可以扩展。其结果,本发明减少拥塞,分散处理,改善QoS,增加吞吐量和提高总的系统效率。本发明还包括一种模式,其中,通过正被处理的包的数据的内容和它们所在的设备的相对优先级控制在包设备内的工作顺序,而不是通过正对该包执行的功能。
包操作系统给每一功能实例分配一个标签或者目的地地址。该标签是一种用于功能实例的独立于位置的寻址模式,它允许直到100,000个功能实例的可扩展性。包操作系统使用这些标签将消息路由到目的地功能实例。包操作系统的工作单元是由功能实例执行的消息处理——一个消息可以是数据路径(由软件转发程序要转发的包或者来自硬件转发器的例外路径包)或者控制路径的一部分。
本发明提供一种用于为消息选择路由到功能实例的方法,它通过接收该消息和从本地知识库中为该功能实例请求一个目的地地址(标签)实现。当目的地地址(标签)是本地的时,该消息被发送到该功能实例。更具体说,该消息被发送到一个为获知VPN的本地分配器,和对该功能实例的基于消息优先级的队列。当目的地地址(标签)是远程的时,把该消息与目的地地址(标签)组包,该组包的消息通过消息发送结构被发送到目的地节点。当目的地地址(标签)找不到时,从远程知识库中为该功能实例请求目的地地址(标签),然后把该消息与目的地地址(标签)组包,该组包的消息被发送到功能实例。更具体说,该组包消息通过为最终交付给功能实例的消息发送结构被发送到目的地节点。这一方法可以通过使用具有各种代码段以执行本方法的步骤的计算机程序实现。
本发明还提供一种装置,用于将消息路由到一个功能实例,它包括一个本地知识库和与该本地知识库通信连接的消息发送代理。该消息发送代理接收消息,并从本地知识库为功能实例请求目的地地址(标签)。当目的地地址(标签)是本地的时,消息发送代理给功能实例发送消息。更具体说,消息被发送到用于获知VPN的本地发送器,和对于该功能实例的基于消息优先级的队列。当目的地地址(标签)是远程的时,消息发送代理把该消息与目的地地址(标签)组包,并将组包的消息发送到功能实例。更具体说,该组包消息通过消息发送结构被发送到目的地节点,为最终交付给该功能实例。当目的地地址(标签)找不到时,消息发送代理从远程知识库中为该功能实例请求目的地地址(标签),把该消息与请求的目的地地址(标签)组包,把组包的消息发送到该功能实例。
另外,本发明提供一个系统,用于将消息路由到一个功能实例,它包括一个系统标签管理器、可通信连接到系统标签管理器的系统标签知识库、可通信连接到系统标签管理器的一个或者多个消息发送代理、和可通信连接到每一个或多个消息发送代理的每一个的知识库。每一消息发送代理能够接收消息,并从知识库为功能实例请求目的地地址(标签)。当目的地地址(标签)是本地的时,消息发送代理给功能实例发送消息。更具体说,消息被发送到用于获知VPN的本地发送器,和对于该功能实例的基于消息优先级的队列。当目的地地址(标签)是远程的时,消息发送代理把该消息与目的地地址(标签)组包,并将组包的消息发送到功能实例。更具体说,该组包消息通过消息发送结构被发送到目的地节点,为最终交付给功能实例。当目的地地址(标签)找不到时,消息发送代理从系统标签管理器为该功能实例请求目的地地址(标签),把该消息与请求的目的地地址(标签)组包,把组包的消息发送到功能实例。
本发明的其他特征和优点对于熟悉本技术领域的人在结合附图参考下面的详细说明时是显然的。
附图说明
为更好理解本发明,和举例表示本发明如何实现,现在参考对本发明的详细说明和附图,附图中,在不同图中的相应的数字参照相应的部件,其中:
图1是根据本发明的各种包设备的网络的框图;
图2是根据本发明的两个包网络设备的框图;
图3是根据本发明的包操作系统的框图;
图4是根据本发明的包操作系统的本地级的框图;
图5是根据本发明的表示消息路由选择处理的操作的流程图;和
图6是根据本发明的表示建立新功能实例的流程图。
具体实施方式
尽管下面详细讨论形成和使用本发明的各种实施例,但是应该理解,本发明提供许多可应用的发明概念,这些发明概念可以以广阔的不同具体环境实现。例如,在远程通信系统外,本发明可以应用于其他形式的通信或者一般数据处理。其他形式的通信可以包括网络间的通信、通过卫星的通信、或者到本发明之日人们尚不知道的任何形式的通信。这里讨论的具体实施例仅用来说明形成和使用本发明的具体方式,而并不限制本发明的范围。
根据本发明的在包操作系统中为消息选择路由的方法、装置和系统为包处理应用程序和设备提供一个公共的环境/执行机构。本发明改善系统性能和可靠性,容易操作和维护,和提供可扩展性、虚拟化、服务区别和分布式转发能力。通过利用零复制消息系统、可变消息队列和分布功能来复接所有板上的不仅仅是入口/出口板上的处理器来提供高性能。通过系统的冗余性、容错、稳定性和可用性改善可靠性。因为提供了动态栈管理,在运行期间可拆卸和更换硬件模块,因此系统的操作和维护更加容易。通过热备份控制卡和用于入口/出口卡的非反转冗余可以提供冗余性。
该系统还允许非侵入式软件升级、非SNMP管理能力、复杂查询、子表和过滤能力、和分组管理、网络范围策略和QoS测量。通过支持数十万虚拟专用网络(“VPN”)、增加端口密度、允许组播和提供负载共享结构提供可扩展性。通过使单个物理系统中的多个虚拟设备提供VPN服务来提供虚拟化,其中,虚拟设备可能根据管理策略“共享”系统资源。虚拟化扩展到包括虚拟设备获知管理的全部包设备中。分布式转发能力能够释放底板,并且为软件处理复杂栈和为增加多处理器、I/O卡和机架而可以扩展。其结果,本发明减少拥塞,分散处理,改善QoS,增加吞吐量和提高总的系统效率。本发明还包括一种模式,其中,通过正被处理的包的数据的内容和它们所在的设备的相对优先级控制在包设备内的工作顺序,而不是通过正对该包执行的功能。
包操作系统给每一功能实例分配一个标签或者目的地地址。该标签是一种用于功能实例的独立于位置的寻址模式,它允许直到100,000个功能实例的可扩展性。包操作系统使用这些标签将消息路由到目的地功能实例。包操作系统的工作单元是由功能实例执行的消息处理——一个消息可以是数据路径(由软件转发程序要转发的包或者来自硬件转发器的例外路径包)或者控制路径的一部分。
本发明可以在单一包设备或者在包设备的网络中实现。其结果,本发明的包操作系统可以这样扩展,使得单一包操作系统域的范围扩展超出常规单一嵌入系统。例如,图1表示根据本发明的各种包设备的网络100的框图。网络100包括包设备102、104和106,网络108、110和112,和包操作系统114。如图所示,包设备102处理网络108和110之间的组包的消息或者多个包。包设备104处理网络108和112之间的包。包设备106处理网络110和112之间的包。包设备102、104和106与消息发送结构116互连,消息发送结构116是允许包传输的任何互连技术。包设备102、104和106可以是发源、汇集和/或转发协议包的设备,诸如路由器、网桥、包交换机、媒体网关、网络接入服务器、协议网关、防火墙、隧道接入客户机、隧道服务器和移动包服务节点。
包操作系统114包括互相协作以提供单一逻辑网络实体(可能包含许多虚拟设备)的那些节点的集合。对外部世界来说,包操作系统114作为互连入口和出口网络接口的单一设备出现。每一节点是在互连系统上一个可寻址的实体,该互连系统可能包括用于一个简单的分布式嵌入系统的消息发送结构,单个消息发送结构的联合体,或者使用其他技术(诸如高速以太网)连接在一起的几个分布式嵌入系统(每一个带有它们自己的底板)。每一节点有一个消息发送代理的实例,也称为节点消息发送代理(“NMA”),它实现对本地和远程实体(应用)传输消息。包操作系统114物理上在每一包设备或机架102、104和106上操作,它们为一个或者节点提供物理环境(功率,安装,高速本地互连等)。
现在参考图2,它表示出根据本发明的两个包网络设备102和106的框图。包设备102包括卡A202、卡B204、卡N206、I/O卡208和内部通信总线210。相似地,包设备106包括卡A212、卡B214、卡N216、I/O卡218和内部通信总线220。卡202、204、206、212、214和216是任何具有传输和/或接收本地或远程消息的功能实例的物理或者逻辑处理环境。包设备102和106通过I/O卡208和218和通信链路222可通信连接在一起。通信链路222可以是局域网或者广域网,诸如以太网网连接。通信链路222等价于消息发送结构116(图1)。
例如,卡A202可以具有许多不离开卡A202的消息,它们在本地由功能实例用卡A202处理。卡A202还可以向在同一包设备102中的其它卡发送消息,诸如卡B204或卡C206。线224表示从卡A202经由内部通信总线210向卡B204发送消息。此外,卡A202可以给在其它包设备内的卡发送消息,诸如包设备106。在这种场合,卡A202通过经由内部通信总线210(包设备102)给I/O卡208(包设备102)发送消息来将消息从卡A202(包设备102)发送到卡B214(包设备106),其如线226所示。然后I/O卡208(包设备102)通过通信链路222给I/O卡218(包设备106)发送消息,其如线228所示。然后I/O卡218(包设备106)通过通信总线220(包设备106)给卡B214(包设备106)发送消息,其如线230所示。
包操作系统114(图1)包括一个或者多个系统控制模块(“SCM”),它们可通信连接到一个或者多个网络接口模块(“NIM”)。SCM实现任何中央化的功能的管理,诸如启动系统初始化,网络管理的核心部件,路由协议,呼叫路由,等等。系统标签管理器也驻留在SCM中,可以有一个主SCM和用于冗余目的的辅助SCM,并且它的功能可以进入多机架环境。NIM连接到对外部世界的通信接口,和实现接口硬件特定的部件,以及为正常包处理所必需的大多数协议栈。包操作系统114(图1)还可以包括专门的处理模块(“SPM”),它是实现加密、压缩等(可能以硬件)的专门的插板。每一NIM和SCM具有零或多个分布式转发引擎(“DFE”)。DFE可以以软件实现或者可以包括硬件支持。通常驻留在SCM内的一个中央路由引擎(“CRE”)负责路由表维护和查阅。CRE或系统标签管理器还可以使用硬件支持。从NIM和SCM来的DFE咨询CRE做路由选择决定,其可以在本地高速缓冲存储到NIM中。
SCM还可以包括资源代理,它是一种登记、分配和跟踪系统范围内给定类型资源的服务。需要资源的实体请求资源代理分配该资源。实体可以告诉资源代理它们需要该资源多长时间。根据由客户提供的信息、客户和资源的位置、资源的能力和当前的负载,资源代理为客户分配资源,并给客户返回一个标签。当客户“用毕”资源后,它通知资源代理。可能需要资源被独占地分配(例如DSP),或者被共享(例如加密子系统)。在每一VPN的基础上提供资源代理服务。
本发明提供动态硬件管理,因为SCM保持跟踪I/O卡上的配置和观察整个系统配置。其结果,板初始化是配置独立的。配置在初始化的状态下应用为动态变化。初始化时间配置处理和动态重配置之间没有区别。当一个新板被插入时,为该新板的配置处理不影响已经在运行的部件的操作。此外,当移除硬件时,SCM可以仍保持该硬件的配置的复制,以备万一是置换它的情形。
现在参考图3,它表示根据本发明的包操作系统300的框图。包操作系统300包括系统标签管理器302、系统标签知识库或查阅表304和一个或多个消息发送代理306、308、310、312和314(这些消息发送代理可以相应于图2中的任何节点202、204、206、208、210、212、213、216)。系统标签管理器302响应标签查阅请求,处理标签登记和注销。另外,系统标签管理器302维护通常位于SCM中的单播和组播标签数据库。单播和组播标签数据库统称为系统标签知识库或查阅表304,它可以是数据库或者是存储标签及其关联目的地地址(标签)的任何装置。单播标签数据库是标签、及其在系统中的位置(节点)关联的属性和标志的数据库。组播标签数据库是组播标签的数据库,这里,每一组播标签包括成员单播标签的一个列表。
消息发送代理306、308、310、312和314,也称为节点消息发送代理,可以是对系统标签管理器302是本地的(同一包设备)或远程的(不同包设备)。此外,消息发送代理306、308、310、312和314彼此是本地的(同一包设备)或远程的(不同包设备)。消息发送代理306、308、310、312和314(“NMA”)是维护节点本地单播和组播标签交付数据库、节点拓扑数据库和组播标签成员关系数据库的服务,所述数据库统称为本地知识库或查阅表(见图4,查阅表403)。
本发明不管目的地功能实例的物理位置高效地从一个功能实例到另一个为消息选择路由。功能实例和标签是某些功能及其状态的实例化。每一功能实例具有一个执行线程,它在该状态下运行,以实现该协议。每一功能实例具有在一个特别的VPN划分中的成员关系。每一功能实例与一个称为标签的全局唯一的和中心分配的标识符关联。标签便利了在整个系统中有效和高效寻址功能实例,并在整个系统中促进服务的重新分配。功能实例通过引导消息到这些标签彼此通信。本发明还允许消息组播,使得为两个或者多个不同的NIM指定的组播包在消息结构上广播,以便它只发送一次(如果该结构支持这种操作)。每一NIM为它的本地接口进行它自己的复制。此外,众所周知的系统服务也是分配的标签。其结果,这些服务可以通过只改变决定标签以反应它们在系统中的当前位置来在系统中重新分配。
本发明使用分布式消息发送服务来为应用程序提供通信基础设施并因此为应用程序隐藏系统(机架/节点)拓扑。分布式消息发送服务由一组消息发送代理302(在每一节点)和一个系统标签管理器304(在SCM上)组成。应用程序使用一个节点消息发送接口来访问分布式消息发送服务。大多数分布式消息发送服务作为库调用实现,所述调用在调用应用程序的环境中执行。作为分布式消息发送服务的任务部分的节点消息任务处理分布式消息发送服务的非库部分(例如可靠的交付重试,标签查阅等)。
分布式消息发送服务使用4层协议结构:
层 | 同等的设备(peer) | 类比(Analog) | 寻址 |
4 | 应用到应用 | 应用( DNS@) | 源/目的地标签 |
3 | 消息发送代理到消息发送代理 | IP( IP@) | 源/目的地节点地址 |
2 | 驱动器到驱动器 | MAC( IEEE@) | 源/目的地下一站(Hop)地址 |
1 | 物理的 |
此外,本发明为在系统中的任何两个实体之间的通信使用变长公共系统消息块。该系统消息块可以用于控制事务处理和包缓冲存储。系统消息块的格式表示如下:
*next*prev |
Version_number |
Transaction primitive |
Source_labeldest_labelVR_contextQoS_infoHandlefn_index |
Packet_data_length*io_segments |
Transaction_data_ext_sizeTransaction_data………… |
系统消息块还包括确认位。一个节点间路由头标加在系统标签管理器前,包含关于在互连的节点系统中如何为该消息选择路由的信息。
*io_segments是对表示I/O段的链表的指针,所述I/O断表示通过节点传输的数据(用户数据报文),以及由节点产生或者消费(例如路由选择更新,管理命令等)的数据。此外,I/O段包括段说明符(ios_hdr)和数据段(ios_data)。I/O段如下进行格式化:
*next*prev… |
bfr_startdata_startdata_endbfr_end(调试字段) |
Bfr_start是由底板驱动器头标和节点间路由选择头标使用的区域。Data_start指向系统消息块的开始,data_end指向系统消息块的末尾。
可靠的消息在消息发送代理层使用消息类型字段应答。如果所有交付尝试失败,则消息发送代理产生一个异步“交付失败”消息。控制消息通常需要应答,但是数据消息不需要。使用序列号集合和历史窗口来检测重复的单播消息和环路的组播消息。
当建立新的功能实例时,系统标签管理器302为该功能实例建立唯一的标签,并且在系统标签查阅表304中连同该功能实例的目的地地址(标签)存储该标签。系统标签管理器302还为该功能实例发送该唯一的标签和目的地地址(标签)到消息发送代理306、308、310、312或314,后者将为该功能实例处理消息。消息发送代理306、308、310、312或314在它的本地查阅表中连同该功能实例的目的地地址(标签)存储该标签。参考图6对该操作作了描述。系统标签管理器302还从消息发送代理306、308、310、312或314接收对目的地地址(标签)的请求。在这种场合,系统标签管理器从系统标签查阅表304为所请求的标签检索目的地地址(标签)并发送为该功能实例的目的地地址(标签)到请求消息发送代理306、308、310、312或314。消息发送代理306、308、310、312或314在它的本地查阅表中连同该功能实例的目的地地址(标签)存储该标签。当一个标签损坏时,系统标签管理器302或者(1)通知所有消息发送代理306、308、310、312和314该标签已经损坏,或者(2)保持曾经为该损坏的标签请求目的地地址(标签)的消息发送代理306、308、310、312或314的一个列表,并只通知列出的消息发送代理306、308、310、312或314该标签已经损坏。
现在参考图4,它表示根据本发明的包操作系统的本地级400的框图。参考图2提到的卡可以包括包操作系统的一个或者多个本地级400。例如,本地级400可以分配给一个处理器,诸如在控制卡上的中央处理单元,或者在呼叫处理卡上的数字信号处理器阵列中的一个数字信号处理器,或者对作为整个数字信号处理器阵列。本地级400包括消息发送代理402、本地知识库或查阅表403、消息发送队列404、分配器406、一个或者多个功能实例408、410、412、414、416和418,和到系统标签管理器302(图3)的通信链路420和其他分发代理。查阅表403可以是数据库或者是存储标签和它们关联的目的地地址(标签)的任何装置。注意,可以使用多个消息发送队列404和发送器406。还要注意,每一功能实例408、410、412、414、416和418包括一个标签。消息发送代理402从功能实例408、410、412、414、416和418接收本地消息和从通信链路420接收远程消息。
当在本地级400中建立新的功能实例408、410、412、414、416或418时,系统标签管理器302(图3)经由通信链路420将用于功能实例408、410、412、414、416或418的唯一的标签和目的地地址(标签)发送给消息发送代理402。消息发送代理402在它的本地查阅表403中连同功能实例408、410、412、414、416或418的目的地地址(标签)存储该标签。
当消息发送代理402或者从通信链路420或者从功能实例408、410、412、414、416或418中的任何一个接收寻址一个功能实例的消息时,消息发送代理402从本地知识库或查阅表403为该功能实例请求目的地地址(标签)。当本地查阅表403返回一个本地目的地地址(标签)时,消息发送代理402就给本地功能实例408、410、412、414、416或418发送消息。如图所示,消息发送代理402给消息发送队列404发送消息。之后,发送器406从消息发送队列404中检索该消息,并将其发送给合适的功能实例408、410、412、414、416或418。当本地查阅表403返回一个远程目的地地址(标签)时,消息发送代理402把该消息与目的地地址(标签)组包,并通过通信链路420和为该功能实例处理消息的远程消息发送代理将该组包的消息发送给功能实例。
当本地查阅表403指示未发现目的地地址(标签)时,消息发送代理402从远程知识库为该功能实例请求目的地地址(标签)。更具体说,把该请求发送到系统标签管理器302(图3),后者从系统标签查阅表304(图3)得到目的地地址(标签)。一旦消息发送代理402经由通信链路420从系统标签管理器302(图3)接收目的地地址(标签),消息发送代理402就把该消息与请求的目的地地址(标签)组包,并且通过通信链路420和为该功能实例处理消息的远程消息发送代理将该组包的消息发送给该功能实例。消息发送代理402还在本地查阅表403中存储接收的目的地地址(标签)。
现在参考图4和图5,图5表示根据本发明的消息路由选择处理500的流程图。当消息发送代理402在框502接收一个消息时消息路由选择处理500开始。该消息可以经由远程消息发送代理和通信链路420从远程功能实例接收,或者从本地功能实例接收,诸如408、410、412、414、416或418。消息发送代理402通过查询本地知识库或查阅表403在框504为该功能实例寻找目的地标签。如果为该消息所寻址的功能实例的目的地标签和相应目的地地址(标签)在本地查阅表403中找到,其在判断框506判定,并且该目的地地址(标签)是本地的,其在判断框508判定,则在框510中消息发送代理402给合适的消息发送队列404发送消息,以便随之由分配器406给本地功能实例诸如408、410、412、414、416或418交付,之后,处理循环回到框502,在那里消息发送代理402接收下一消息。
然而,如果目的地地址(标签)不是本地的,其在判断框508判定,则消息发送代理402把该消息与目的地地址(标签)组包,以便在框512交付给目的地功能实例。然后消息发送代理402在框514经由包设备的底板或者通信链路420和为该功能实例处理消息的远程消息发送代理把组包的消息发送给目的地功能实例。之后,处理循环回到框502,在那里消息发送代理402接收下一消息。
然而,如果为该消息寻址的功能实例的目的地标签和相应目的地地址(标签)在本地查阅表403中找不到,其在判断框506判定,则消息发送代理402在框516从系统请求标签信息。更具体说,基于在消息中使用的目的地标签为功能实例对目的地地址(标签)的请求被发送给系统标签管理器302(图3),它从系统标签查阅表304(图3)获得目的地地址(标签)。然后消息发送代理402在框518从系统标签管理器302(图3)经由通信链路420接收标签信息或者目的地地址(标签),并存储该标签信息到本地查阅表403中。然后消息发送代理402把该消息与目的地地址(标签)组包,以便在框512交付给目的地功能实例。接着消息发送代理402在框514通过包设备的底板或者通信链路420和为功能实例处理消息的远程消息发送代理发送组包的消息到目的地功能实例。之后,处理循环回到框502,在那里消息发送代理402接收下一消息。
现在参考图6,该图表示根据本发明的新功能实例建立处理600的流程图。处理实体在框602建立新功能实例,并在框604从系统标签管理器302(图3)请求一个唯一的标签和目的地地址(标签)。一旦该处理实体接收标签信息,则它在框606给功能实例分配标签和目的地地址(标签)。在框608,系统标签管理器302(图3)在系统标签查阅表304(图3)中连同功能实例的目的地地址(标签)存储标签,和负责为该功能实例处理消息或者为消息选择路由的消息发送代理在它的本地查阅表中连同该功能实例的目的地地址(标签)存储该标签。
这里叙述的实施例是为了最好地解释本发明及其实际应用和从而使熟悉本技术领域的人使用和利用本发明而介绍的。然而,熟悉本技术领域的人将认识到,所介绍的说明和例子仅是为了说明和举例。所叙述的说明不打算穷举或限制本发明到所公开的精确形式。根据上述教导可以进行修改和改变,而不离开下面的权利要求的精神和范围。
Claims (30)
1.一种方法,用于为将消息选择路由到功能实例,包括步骤:
接收消息;
从本地知识库为功能实例请求目的地地址;
当目的地地址是本地的时,发送该消息到功能实例;
当目的地地址是远程的时,把该消息与目的地地址组包,并发送组包的消息到功能实例;和
当目的地地址找不到时,从远程知识库请求为该功能实例请求的目的地地址,把该消息与所请求的目的地地址组包,并发送组包的消息给功能实例。
2.如权利要求1所述的方法,其中,发送消息给功能实例的步骤包括发送消息到为用于经由发送分配器交付该消息给功能实例的队列的步骤。
3.如权利要求1所述的方法,其中,进一步包括当找不到目的地地址时在本地知识库中存储所请求的目的地地址的步骤。
4.如权利要求1所述的方法,其中,功能实例包括标签,以及使用该标签请求目的地地址。
5.如权利要求1所述的方法,其中,本地知识库和远程知识库是查阅表。
6.如权利要求1所述的方法,其中,本地知识库和远程知识库是数据库。
7.如权利要求1所述的方法,其中,消息是从本地功能实例接收的。
8.如权利要求1所述的方法,其中,消息是从远程功能实例接收的。
9.一种计算机程序,其在计算机可读介质上体现,用于为将消息选择路由到功能实例,包括:
用于接收消息的代码段;
用于从本地知识库为功能实例请求目的地地址的代码段;
当目的地地址是本地的时,用于发送该消息到功能实例的代码段;
当目的地地址是远程的时,用于把该消息与目的地地址组包的代码段,和用于发送组包的消息到功能实例的代码段;和
当目的地地址找不到时,用于从远程知识库请求为该功能实例请求的目的地地址的代码段,用于把该消息与所请求的目的地地址组包的代码段,和用于发送组包的消息给功能实例的代码段。
10.如权利要求9所述的计算机程序,其中,发送消息给功能实例的代码段包括经由发送分配器发送该消息到为用于交付该消息给功能实例的队列的代码段。
11.如权利要求9所述的计算机程序,进一步包括当找不到目的地地址时在本地知识库中存储所请求的目的地地址的代码段。
12.如权利要求9所述的计算机程序,其中,功能实例包括标签,以及使用该标签请求目的地地址。
13.如权利要求9所述的计算机程序,其中,本地知识库和远程知识库是查阅表。
14.如权利要求9所述的计算机程序,其中,本地知识库和远程知识库是数据库。
15.如权利要求9所述的计算机程序,其中,消息是从本地功能实例接收的。
16.如权利要求9所述的计算机程序,其中,消息是从远程功能实例接收的。
17.一种装置,用于为消息选择路由到功能实例,包括:
本地知识库;
可通信连接到本地知识库的消息发送代理,该消息发送代理接收消息,从本地知识库请求为功能实例请求的目的地地址;
当目的地地址是本地的时,消息发送代理发送该消息到功能实例;
当目的地地址是远程的时,消息发送代理把该消息与目的地地址组包,发送组包的消息到功能实例;和
当目的地地址找不到时,消息发送代理从远程知识库请求为该功能实例请求的目的地地址,把该消息与所请求的目的地地址组包,和发送组包的消息给功能实例。
18.如权利要求17所述的装置,进一步包括:
可通信连接到消息发送代理的队列;
可通信连接到该队列的发送分配器;
消息发送代理通过经由发送分配器发送消息到为交付消息给功能实例的队列来发送该消息到功能实例。
19.如权利要求17所述的装置,其中,消息发送代理当找不到目的地地址时进一步在本地知识库中存储所请求的目的地地址。
20.如权利要求17所述的装置,其中,功能实例包括标签,以及使用该标签请求目的地地址。
21.如权利要求17所述的装置,其中,本地知识库和远程知识库是查阅表。
22.如权利要求17所述的装置,其中,本地知识库和远程知识库是数据库。
23.如权利要求17所述的装置,其中,消息是从本地功能实例接收的。
24.如权利要求17所述的装置,其中,消息是从远程功能实例接收的。
25.一个系统,用于为将消息选择路由到功能实例,包括:
系统标签管理器;
可通信连接到系统标签管理器的系统标签知识库;
可通信连接到系统标签管理器的一个或者多个消息发送代理;
可通信连接到每一个该一个或者多个消息发送代理的知识库;和
每一消息发送代理能够:
接收消息,
从知识库请求为功能实例的目的地地址;
当目的地地址是本地的时,发送消息到功能实例;
当目的地地址是远程的时,把消息与目的地地址组包,并发送组包的消息到功能实例;和
当目的地地址找不到时,从系统标签管理器请求为该功能实例请求的目的地地址,把该消息与所请求的目的地地址组包,并发送组包的消息给功能实例。
26.如权利要求25所述的系统,进一步包括:
可通信连接到每一消息发送代理的队列;
可通信连接到该队列的发送分配器;和
消息发送代理通过经由发送分配器发送消息到为交付消息给功能实例的队列发送该消息到功能实例。
27.如权利要求25所述的系统,其中,消息发送代理当找不到目的地地址时进一步在知识库中存储所请求的目的地地址。
28.如权利要求25所述的系统,其中,功能实例包括标签,以及使用该标签请求目的地地址。
29.如权利要求25所述的系统,其中,本地知识库和远程知识库是查阅表。
30.如权利要求25所述的系统,其中,本地知识库和远程知识库是数据库。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/045,205 | 2001-11-09 | ||
US10/045,205 US20030093555A1 (en) | 2001-11-09 | 2001-11-09 | Method, apparatus and system for routing messages within a packet operating system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1613243A true CN1613243A (zh) | 2005-05-04 |
Family
ID=21936585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA02827007XA Pending CN1613243A (zh) | 2001-11-09 | 2002-11-08 | 用于在包操作系统中为消息选择路由的方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20030093555A1 (zh) |
EP (1) | EP1442578A1 (zh) |
CN (1) | CN1613243A (zh) |
WO (1) | WO2003041363A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113131996A (zh) * | 2018-12-06 | 2021-07-16 | 长沙天仪空间科技研究院有限公司 | 一种地面站 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054950B2 (en) * | 2002-04-15 | 2006-05-30 | Intel Corporation | Network thread scheduling |
US7203192B2 (en) * | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US7570594B2 (en) * | 2003-10-01 | 2009-08-04 | Santera Systems, Llc | Methods, systems, and computer program products for multi-path shortest-path-first computations and distance-based interface selection for VoIP traffic |
US7940660B2 (en) * | 2003-10-01 | 2011-05-10 | Genband Us Llc | Methods, systems, and computer program products for voice over IP (VoIP) traffic engineering and path resilience using media gateway and associated next-hop routers |
US7424025B2 (en) * | 2003-10-01 | 2008-09-09 | Santera Systems, Inc. | Methods and systems for per-session dynamic management of media gateway resources |
US7715403B2 (en) * | 2003-10-01 | 2010-05-11 | Genband Inc. | Methods, systems, and computer program products for load balanced and symmetric path computations for VoIP traffic engineering |
US8259704B2 (en) * | 2005-04-22 | 2012-09-04 | Genband Us Llc | System and method for load sharing among a plurality of resources |
FI119311B (fi) * | 2006-07-04 | 2008-09-30 | Tellabs Oy | Menetelmä ja järjestely valvonta- ja hallintaviestien käsittelemiseksi |
US7630385B2 (en) * | 2006-08-04 | 2009-12-08 | Oyadomari Randy I | Multiple domains in a multi-chassis system |
CN102938704A (zh) * | 2011-08-16 | 2013-02-20 | 中兴通讯股份有限公司 | 接入管理方法、装置和系统 |
US10348626B1 (en) * | 2013-06-18 | 2019-07-09 | Marvell Israel (M.I.S.L) Ltd. | Efficient processing of linked lists using delta encoding |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5504743A (en) * | 1993-12-23 | 1996-04-02 | British Telecommunications Public Limited Company | Message routing |
US5740175A (en) * | 1995-10-03 | 1998-04-14 | National Semiconductor Corporation | Forwarding database cache for integrated switch controller |
US5768505A (en) * | 1995-12-19 | 1998-06-16 | International Business Machines Corporation | Object oriented mail server framework mechanism |
EP0872991B1 (en) * | 1997-04-15 | 2006-07-26 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for device interaction by format |
US6115378A (en) * | 1997-06-30 | 2000-09-05 | Sun Microsystems, Inc. | Multi-layer distributed network element |
US6181698B1 (en) * | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6304912B1 (en) * | 1997-07-24 | 2001-10-16 | Fujitsu Limited | Process and apparatus for speeding-up layer-2 and layer-3 routing, and for determining layer-2 reachability, through a plurality of subnetworks |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US7174393B2 (en) * | 2000-12-26 | 2007-02-06 | Alacritech, Inc. | TCP/IP offload network interface device |
US6628965B1 (en) * | 1997-10-22 | 2003-09-30 | Dynamic Mobile Data Systems, Inc. | Computer method and system for management and control of wireless devices |
US6219669B1 (en) * | 1997-11-13 | 2001-04-17 | Hyperspace Communications, Inc. | File transfer system using dynamically assigned ports |
US6240335B1 (en) * | 1998-12-14 | 2001-05-29 | Palo Alto Technologies, Inc. | Distributed control system architecture and method for a material transport system |
CN1310478C (zh) * | 1999-02-23 | 2007-04-11 | 阿尔卡塔尔互联网运行公司 | 具有独立协议堆栈体系结构的多业务网络交换机 |
US6714793B1 (en) * | 2000-03-06 | 2004-03-30 | America Online, Inc. | Method and system for instant messaging across cellular networks and a public data network |
US7170900B2 (en) * | 2001-07-13 | 2007-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for scheduling message processing |
US8543681B2 (en) * | 2001-10-15 | 2013-09-24 | Volli Polymer Gmbh Llc | Network topology discovery systems and methods |
US8868715B2 (en) * | 2001-10-15 | 2014-10-21 | Volli Polymer Gmbh Llc | Report generation and visualization systems and methods and their use in testing frameworks for determining suitability of a network for target applications |
-
2001
- 2001-11-09 US US10/045,205 patent/US20030093555A1/en not_active Abandoned
-
2002
- 2002-11-08 EP EP02780604A patent/EP1442578A1/en not_active Withdrawn
- 2002-11-08 CN CNA02827007XA patent/CN1613243A/zh active Pending
- 2002-11-08 WO PCT/US2002/036010 patent/WO2003041363A1/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113131996A (zh) * | 2018-12-06 | 2021-07-16 | 长沙天仪空间科技研究院有限公司 | 一种地面站 |
CN113131996B (zh) * | 2018-12-06 | 2022-07-12 | 长沙天仪空间科技研究院有限公司 | 一种基于地面站的通信优化方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1442578A1 (en) | 2004-08-04 |
US20030093555A1 (en) | 2003-05-15 |
WO2003041363A1 (en) | 2003-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2277110B1 (en) | Distributed service framework | |
Tang et al. | QoS-aware replica placement for content distribution | |
JP4317522B2 (ja) | ピアツーピア環境におけるネットワーク・トラフィック制御 | |
CN1135800C (zh) | 用于具有处理器群集的电信平台的因特网协议处理器 | |
US20110185082A1 (en) | Systems and methods for network virtualization | |
US20030191838A1 (en) | Distributed intelligent virtual server | |
CN1177439C (zh) | 以太网接入应用中代理地址解析协议的方法 | |
CN105376303A (zh) | 一种Docker实现系统及其通信方法 | |
CN1613243A (zh) | 用于在包操作系统中为消息选择路由的方法、装置和系统 | |
JP2004246632A (ja) | データ分配サーバ、プログラム及びネットワークシステム | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
CN1674485A (zh) | 动态提供计算机系统资源的方法和系统 | |
WO1999000936A1 (en) | A highly integrated multi-layer switch element architecture | |
CN101043398A (zh) | 一种动态共享连接的方法和系统 | |
US6633901B1 (en) | Multi-route client-server architecture | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
WO2021120633A1 (zh) | 一种负载均衡方法及相关设备 | |
CN1992672A (zh) | 一种防止由于地址老化时间不一致导致网络中断的方法 | |
US6725218B1 (en) | Computerized database system and method | |
US20030229713A1 (en) | Server network controller including server-directed packet forwarding and method therefor | |
CN1917436A (zh) | 基于Web实现网络设备集群式管理的方法 | |
JP5945543B2 (ja) | ミドルウェアマシン環境を含むシステム | |
CN1305259C (zh) | 一种网管网关的实现方法 | |
US20040006622A1 (en) | Optimized process for balancing load for data mirroring | |
Hasan et al. | Efficient caching for delivery of multimedia information with low latency in ICN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |