CN100568216C - 一种具有虚拟服务模块的设备 - Google Patents

一种具有虚拟服务模块的设备 Download PDF

Info

Publication number
CN100568216C
CN100568216C CNB038137534A CN03813753A CN100568216C CN 100568216 C CN100568216 C CN 100568216C CN B038137534 A CNB038137534 A CN B038137534A CN 03813753 A CN03813753 A CN 03813753A CN 100568216 C CN100568216 C CN 100568216C
Authority
CN
China
Prior art keywords
virtual
service module
network
stream
package
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.)
Expired - Fee Related
Application number
CNB038137534A
Other languages
English (en)
Other versions
CN1659539A (zh
Inventor
D·C·罗伯茨
S·达沃赫
M·库马尔
G·W·吉布森
B·桑卡拉纳拉亚南
S·拉贾拉西纳姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INKRA NETWORKS Inc
Original Assignee
INKRA NETWORKS Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by INKRA NETWORKS Inc filed Critical INKRA NETWORKS Inc
Publication of CN1659539A publication Critical patent/CN1659539A/zh
Application granted granted Critical
Publication of CN100568216C publication Critical patent/CN100568216C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Abstract

一种方法、设备和系统,其中网络系统包括由多个单独网络组成的虚拟图。第一单独网络(119)与第一用户关联。所述第一单独网络(119)包括模拟表示第一组网络元件的多个服务模块(126,128,130)。第二单独网络(120)与第二用户关联。所述第二单独网络(120)包括模拟表示第二组网络元件的多个服务模块(132,134,136)。所述第二组网络元件在第二单独网络包含的网络元件的类型和第二单独网络中的网络元件的拓扑顺序方面与第一组网络元件不同。

Description

一种具有虚拟服务模块的设备
版权公告
本专利文档公开的一部分包含受版权保护的资料。版权所有者不反对任何人对该软件引擎和模块的复制,当其公开在专利和商标局的专利文件或者记录中时,但无论如何仍然保留所有版权权利。
技术领域
本发明一般地涉及网络系统。更特别地,本发明的一个方面涉及一种采用一个或多个虚拟服务模块的网络系统。
背景技术
典型的标准网络系统实现单一功能和固定功能。第一代的虚拟化系统提供每用户(per-customer)的功能,但是该功能仍然是固定的。这些限制导致若干缺陷。用户可能基于服务可用性评判服务提供商。用户可能认为任何的停工期是服务提供商的问题而可能考虑更换服务商。服务提供商想要增添服务产品到他们的产品中以产生更多的收入并以更高价值的产品增加利润。现今的某些系统要求与升级相关的停工期。出现这种情况是由于这些系统将所有的功能封装成单个运行期镜像。当所有的功能都以单个单元进行封装和发行时,对系统进行设计和测试更为简单。在某些情况下,服务提供商不得不通过构建冗余拓扑并且在使一个系统停工时由后备系统处理服务而最小化停工期。这并不是最优的,因为这迫使服务提供商购买冗余硬件并设计复杂结构。为了实现规模经济和更低的资金花费,服务提供商安装在单个系统上服务多个用户的系统。服务提供商在很多用户上分摊该资金花费,而不是提供硬件给每个单独用户,从而降低平均成本。典型地,这些服务提供商与其用户预定停工期以进行例行维护。当多个用户配置为使用相同的系统时这种预定更加困难。
另外,典型的网络系统可能提供以固定方式组成的固定功能。例如,处理通常是数据链路层L2后紧跟网络层L3,或者安全套接字协议(SSL)加速之后紧跟负荷平衡。典型地,网络系统以单一版本的软件实现固定的功能。提供虚拟负荷的那些系统典型地在启动时使用简单的链接期配置策略或者简单的虚拟负荷,但此后即不再使用。因此,你可以在启动时选择你需要启动何种功能,但是此后你就不能改变。典型地,现有系统具有缺陷,例如当其升级时它们需要重新启动。这会导致停工期。因此,某些传统的系统缺乏使用任意拓扑以任意方式进行功能配置、向运行中的系统添加新的功能而不引起停工期或者升级部分功能至新的版本的能力。
而且,在数据中心,不时地需要对运行在封包处理系统上的软件进行升级或者改变网络拓扑或者升级硬件。对软件或者硬件的任何升级中断了服务可用性。这样的升级一般是在维护时段期间完成的,在此期间服务对于用户不可用。可替换地,服务网络被复制,从而服务在其中一个网络上一直可用。在所述第一种方法中,服务被中断。在所述第二种方法中,必须构建冗余网络并小心维护。
因此,迫切需要一种更好的解决方法以能够组构、管理、改变或者升级网络系统的拓扑。
发明内容
一种方法、设备和系统,其中一个网络系统包括由多个单独网络组成的虚拟图。第一单独网络与第一用户关联。所述第一单独网络包括多个模拟表示第一组网络元件的服务模块。第二单独网络与第二用户关联。所述第二单独网络包括多个被模型化为表示第二组网络元件的服务模块。所述第二组网络元件在包含在第二单独网络中的网络元件的类型和第二单独网络中的网络元件的拓扑顺序方面与第一组网络元件不同。
附图说明
附图涉及本发明,其中:
图1示例了包括多个单独网络以服务多个用户的独特网络需求的网络系统的实施例;
图2示例了模拟表示在网络系统中执行一种或更多功能以处理封包的网络元件的虚拟服务模块的结构的实施例;
图3示例了虚拟服务模块封装结构和映射到物理层的虚拟服务模块的实施例;
图4示例了具有由虚拟网络元件和物理网络元件组成的拓扑的单独网络的实施例;
图5A显示了图解根据本发明一个实施例的升级虚拟服务模块的示例框图;
图5B显示了图解根据本发明一个实施例的升级虚拟服务模块的示例方法的流程图;
图6A显示了说明根据本发明一个实施例的改变虚拟网络系统拓扑的示例框图;
图6B显示了说明根据本发明一个实施例的改变拓扑的示例方法的流程图;
图7A显示了说明根据本发明一个实施例的改变虚拟网络系统拓扑的示例框图;以及
图7B显示了说明根据本发明一个实施例的改变拓扑的示例方法的流程图。
尽管本发明具有各种修改和可替换形式,在附图中以示例形式显示了其特定实施例并且在此将详细描述。但是本发明应当理解为并不限于所公开的特定形式,而是相反地,本发明涵盖所有落入本发明精神和范围内的改型、等价物以及替代物。
具体实施方式
在下面的描述中,给出了大量特定细节,例如特定数据信号、命名组件、连接、网络编号等等的示例,以提供对本发明彻底的理解。然而很显然,对于本领域技术人员来说本发明可以不具有这些特定细节而实施。在其它实例中,公知的组件或者方法没有详细描述而是以框图描述,以避免不必要的对本发明的混淆。进一步可能给出了特定的数字标号例如第一驱动器。然而所述特定数字标号不应理解为字面上的顺序次序,而应认为是第一虚拟服务模块不同于第二虚拟服务模块。因此,给出的特定细节仅仅是示例性的。特定细节可以不同但是仍然预期在本发明的精神和范围之内。术语封包可以是在封包交换系统中传送的数据块。术语帧、封包和数据报常常同义使用。
总的来说,描述了一种方法、设备和系统,其中一个网络系统包括由多个单独网络组成的虚拟图。第一单独网络与第一用户关联。所述第一单独网络包括多个被模拟表示第一组网络元件的服务模块。第二单独网络与第二用户关联。所述第二单独网络包括多个被模拟表示第二组网络元件的服务模块。第二组网络元件在包含在第二单独网络中的网络元件的类型和第二单独网络中的网络元件的拓扑顺序方面与第一组网络元件不同。
图1说明了网络系统的一个实施例,所述网络系统包括多个由一个或更多虚拟服务模块组成的单独网络以服务多个用户的独特网络需求。所述多个单独网络102、104、106汇集在虚拟图108中,并且在系统中根据用户指定对每个单独网络进行资源管理。网络系统100包括:通到外部世界例如因特网的第一端口110,第一单独网络102,所述第一单独网络102包含封装用户A的网络元件的第一虚拟服务器119,第二单独网络104,所述第二单独网络104包含封装用户B的网络元件的第二虚拟服务器120,第三单独网络106,所述第三单独网络106包含封装用户C的网络元件的第三虚拟服务器121,分配给系统管理虚拟服务器112的虚拟地址空间,所述系统管理虚拟服务器112封装所述网络系统的管理模块114,以及将虚拟图108连接到各个用户网络118的多个输入输出端口116。在一个实施例中,虚拟图封装所有单独网络102、104、106的拓扑,但是保持各个单独网络互相之间逻辑上和物理上相互独立。
在一个实施例中,虚拟图100在封装所有虚拟地址空间的全局域内分配独立的虚拟地址空间给各个单独网络102、104、106。在一个实施例中,虚拟服务器119-121指派给各个用户。虚拟服务器119-121由虚拟地址空间和硬件资源组成,诸如专用的处理能力、带宽以及存储器被赋予为所述虚拟地址空间。虚拟服务器119-121的独立地址空间和专用硬件资源使得各个单独网络102、104、106互相之间逻辑上和物理上独立。在一个实施例中,虚拟服务器119-121是多个网络常驻的应用服务(例如虚拟服务模块)的逻辑容器,并且模拟网络设备的物理服务器。
虚拟网络拓扑将系统中的封包处理功能模拟为连接在一起的虚拟服务模块(VSM)122-150节点的抽象虚拟图108。系统中每个虚拟服务模块122-150被模拟为大致与真实世界中的单独网络元件的行为方式一致。例如,虚拟服务模块122-150可以大致实现孤立IP路由器、以太网交换机、虚拟专用网、过滤器/防火墙、负荷平衡器、网桥、网络地址转换器等等的功能。然后这些虚拟服务模块122-150节点以类似于其在真实世界中的方式组构在虚拟图108中。
特别指出,模拟表示网络元件的虚拟服务模块122-150的组构和拓扑可以基于特定的用户需求而任意装配。例如,用户B的网络104由不同于包含在用户C的网络106中的网络元件而组成。网络交换机上的物理端口110、116在各个点连接到虚拟图108上从而允许将内部虚拟系统耦合到虚拟图108外部的组件。
虚拟图108可以发展得很庞大并可以代替大部分或者所有的典型的网络数据中心。虚拟图108的大小可能受一个或者更多主机的存储器容量和处理能力限制。在一个实施例中,虚拟图108寄宿在单个计算机上。
如同特别指出的,网络系统100可以具有表示各个“服务”的可变的功能。每个虚拟服务模块122-150模拟具有一种或更多功能的网络元件。在一个实施例中,每个被模拟表示一个网络元件的虚拟服务模块122-150提供各个服务。
每个虚拟服务模块122-150可以组构到任意拓扑中,其中封包处理由网络服务的配置后的虚拟图108进行管理。当各个相关联的封包流引入到系统中时,支撑框架软件访问单独的网络拓扑中的虚拟服务模块的虚拟图,例如防火墙虚拟服务模块132,负荷平衡虚拟服务模块134,以及路由器虚拟服务模块136,以创建对于所述相关联的封包流的顺序节点列表。
如同特别指出的,不同的单独网络102、104、106具有保留资源并且对于一个用户的资源消耗不会影响第二用户可见的服务级别。物理层在硬件级别进行资源管理以确保各个单独网络102、104、106接收到系统中可用的处理和存储器资源的有保障的范围的并且各个单独网络102、104、106互相不能干扰。分配给虚拟服务器的独立地址空间和专用物理资源形成了围绕各个单独网络102、104、106中的虚拟服务模块122-150的界限。在一个实施例中,物理层采用由位于加利福尼亚弗里蒙特市的Inkra网络公司建立的HardWall技术来管理系统的资源消耗并且确保发生在一个虚拟服务器中的破坏性事件不会影响同一系统中其它虚拟服务器。因此,各个单独网络102、104、106具有服务拓扑专有的处理和存储器资源,并且对于第一单独网络的这些专有资源的消耗独立于提供给第二单独网络的服务级别。
例如,图1显示了三个单独的虚拟服务器119-121,每个驻留了若干虚拟服务模块122-150。物理层包含资源管理电路,例如采用令牌桶算法的虚拟服务器处理器,以确保在针对虚拟服务器A119而发起的资源密集型动作(例如阻绝服务攻击)不会降低虚拟服务器B120的性能超出所确保级别。虚拟服务器A119仅可以消耗其指定的资源分额;之后,资源管理电路限制任何进一步的消耗以确保虚拟服务器B120继续正常工作。由于多个虚拟服务模块122-150可以被安装到虚拟服务器119-121中,所述资源管理电路对虚拟服务器界限内的整个虚拟服务模块组进行资源管理。该方法显著降低了配置复杂度,因为用户勿须对各个单独虚拟服务模块手动配置资源参数。
在一个实施例中,用户可以通过管理虚拟服务器112的用户接口而指定或者配置虚拟服务器119-121。
各个单独网络102、104、106中的虚拟服务模块122-150可以按任意顺序次序安置。模拟表示防火墙132的虚拟服务模块可以置于模拟表示负荷平衡器134的虚拟服务模块之前或者之后。而且,用户A的单独网络102可以由不同于用户B的单独网络104的拓扑中所包含的网络元件而组构,例如安全套接字协议126,网络地址转换器128,以及网桥130。因此,虚拟图108中的各个用户可以对关联到该用户所需的独特需求的单独网络拓扑102、104、016中的虚拟服务模块的配置和功能进行定制。而且,客户/用户可以将驻留了一个或更多的虚拟服务模块实例122-150的虚拟服务器119-121作为网络系统100内的单个单元来管理。
图2图解了虚拟服务模块的结构的实施例,所述虚拟服务模块被模拟表示在网络系统中执行一种或更多功能以处理封包的网络元件。虚拟服务模块200的实例的结构可以由多个协同部分组成。按照这种方式,虚拟服务模块200实际上是由多个子部组成的高级抽象。子部件包括管理组件201,流设置组件202,以及封包处理组件203。各个虚拟服务模块实例200还可以具有描述其与其它组件关系的端口以及与虚拟网络系统外部的组件进行通信的接口。所述端口同时被管理组件201和流设置组件202所使用。
管理组件201管理与虚拟系统内部的组件公有的各种管理接口的连接。管理组件201还维护所需的任何全局信息。管理组件201通过与外部实体例如路由器和认证机构进行通信而收集信息。管理组件201可以动态配置虚拟服务模块200。
流设置组件202执行初始封包处理,确定通过虚拟网络图的封包路径,并且为流创建动作列表。流可以是相关联的封包的特定流。例如,服务器通过特定TCP连接发送给客户端的数据流是相关联的封包的流。
封包处理组件203是虚拟服务模块200的抽象部件。封包处理组件203可以包含编程到硬件加速器专用集成电路中的标准处理基元指令的动作列表。需要超出封包处理组件203中的标准基元指令所能完成的封包处理的虚拟服务模块可以在流设置处理组件202中继续处理封包。将各个相关联的封包流作为所述扩展流设置类型而启动的虚拟服务模块可以在任何时候绑定动作列表,但是在某些情况下虚拟服务模块处理整个相关联的封包流而从不切换到硬件协助。
在一个实施例中,每个虚拟服务模块200是独立完备的数据和相关处理软件的模块,所述处理软件具有同时包含可执行代码和元数据的档案文件,所述元数据将该服务模块集成到网络系统中。所述可执行代码包括安装和卸载所述虚拟服务模块200实例的指令。而且,所述可执行代码包括以配置信息对所述虚拟服务模块200实例进行配置的指令。如同特别提到的,每个虚拟服务模块200可以包含数据和相关处理软件以模拟各个网络元件,例如防火墙、过滤器、负荷平衡器、路由器等等。
在一个实施例中,虚拟服务模块200可能属于对象类,所述对象类中可以存在每个虚拟服务模块的一个或多个实例。对象是用面向对象编程语言编写的独立程序模块。对象是被组织为在运行期互相嵌入和协作而不进行任何成组的预链接或预编译的软件组件。可以创建特定类型的虚拟服务模块200的一个或多个实例。
在一个可替换实施例中,每个VSM组件可以包含在单个封装应用中,只要该服务模块模拟表示网络元件。
参考图1,例如,模拟表示防火墙132、138的虚拟服务模块类可以具有在整个虚拟图108中嵌入多个用户的虚拟服务器120、121的多个该虚拟服务模块的实例。模拟表示网络元件的虚拟服务模块类按层次创建,并且继承使得在层次中更高层的类中的知识可以传递给层次中更低层的其它类,例如VSM防火墙的实例。
参考图2,在一个实施例中,虚拟服务模块200可以封装到单独的二进制镜像中。所述镜像包含同时具有可执行代码和元数据的档案文件,所述元数据将该虚拟服务模块200集成到系统中。所述元数据包括描述该虚拟服务模块所支持的各种配置参数的信息,版本信息,资源需求,依赖关系信息,以及通过命令行接口(CLI)配置所述模块所需的任何特定命令。使用所述信息,网络系统可以很容易集成所述虚拟服务模块200而让不必使用户知道何种功能是底层系统内置以及何种功能是后来添加的。在一个实施例中,扩展标记语言(XML)可以用于格式化所述元数据。
在一个实施例中,即使虚拟服务模块200绑定了动作列表之后,流设置组件202可以处理由封包处理组件203中的动作列表报告的异常状况,以处理不常见事件偶然所需的更复杂的处理。在一个实施例中,动作列表可以是虚拟服务模块需要应用到给定的相关联封包流中的各个封包的处理基元指令的列表。处理基元指令是单个的基本封包转换操作。例如,缩减IP TTL域或者重新计算IP校验和域均是处理基元指令。组合动作列表是给定的顺序节点列表中所有节点的每个虚拟服务模块的动作列表的联接。公共动作列表是对所有到来的封包应用的全局动作列表。最优化动作列表是最优化之后的组合动作列表。
在一个实施例中,虚拟服务模块200可以具有三种类型的寻址方式。
参考图1,最常见的寻址方式是通过执行“正常”的路由功能的类似路由器的虚拟服务模块124、136。另外两种寻址方式可以限制在两个端口,这意味着不需要路由决策。这两种寻址方式是做出转发决定的可寻址块和匿名块。例如,防火墙虚拟服务模块132、138可以是匿名块,可以决定丢弃哪个封包,但是一旦做出转发封包的决定,就不能选择该封包发送到哪个端口。可寻址块例如可以为虚拟专用网络。
图3显示了虚拟服务模块封装结构和映射到物理层的虚拟服务模块的实施例。在一个实施例中,所述封装程序由两个或者更多子程序组成。每个子程序为特定功能而编程,例如管理封装302,流设置封装304,以及封包处理封装306。所述封装结构可以使用三种不同类型的封装302、304、306以管理虚拟服务模块的三个独立组件,即管理组件308,流设置组件310,以及封包处理组件312。在一个实施例中,管理封装302,流设置封装304,以及封包处理封装306可以被包括为操作系统软件的一部分。管理组件308可以嵌入管理封装302。流设置组件310可以嵌入流设置封装304。封包处理组件312可以嵌入封包处理封装306。
管理封装308提供各种常见管理接口,例如SNMP,web,以及CLI,并且允许虚拟服务模块与该功能进行交互。流设置封装304包裹虚拟服务模块流设置组件310并且向流设置组件提供新的相关联的封包流的分发。流设置封装304提供动作列表的创建和优化。封包处理封装306基于每个流管理从流设置模块310发送过来的最优化的组合处理列表。
虚拟服务模块(例如虚拟服务模块322)可以通过封装程序与其它虚拟服务模块交互。在一个实施例中,没有虚拟服务模块包含对其它虚拟服务模块的直接对象引用。这使得改变虚拟网络图和升级虚拟服务模块非常容易,而不需要担心其它虚拟服务模块持有失效的对象引用。因而,虚拟服务模块可以完全独立地操作而不必担心其它虚拟模块可能在链中存在以及那些其他虚拟服务模块可能经历的生命周期变化。
在一个实施例中,管理封装302,流设置封装304,以及封包处理封装306实现虚拟服务模块的应用程序接口的不同部分。管理封装302提供API功能以安装或者卸载虚拟服务模块,并且同时以封装范围内和内容提供者指定的配置信息对虚拟服务模块进行配置,以及管理虚拟服务模块。
流设置封装提供API功能以分发新的相关联的封包流,建立并管理最优化处理列表的创建,并且发送封包流到封包处理模块,处理封包内容,以及处理相关联封包流状态。
封包处理封装306在快速路径上进行封包处理并且驻留在封包处理的物理实现中。封包处理封装提供流设置封装的某些服务,但是除去了大多数处理高级问题的功能,所述高级问题例如虚拟服务模块配置和活动周期管理。封包处理封装306提供功能以处理封包内容,处理相关联封包流状态,并且将流终止信息通知流设置封装,该信息然后被传递到适当的虚拟服务模块流设置组件310。
在一个实施例中,虚拟服务模块322的管理组件308,流设置组件310,以及封包处理组件312可以嵌入或者链接到封装程序中。VSM的这些组件308、310、312可以链接而代替嵌入,在此种情况下封装应用程序并不物理地持有VSM的组件,而是提供指向它的指针。如果对VSM的链接组件做出改变,所有包含相同链接的档案在下次被打开时自动升级。如果这些组件308、310、312是嵌入的,那么封装包含该组件的副本。对VSM的这些组件的改变仅仅影响包含这些组件的实例的封装程序。如果VSM的组件是链接的,档案包含指向源文件的指针。当你改变链接组件,就是改变了源文件,那么所有链接到该组件的程序被自动升级。封装程序可以提供公有功能例如安全和处理支持,并且递送一致的接口给应用程序而不管服务器是何种类型。对象的最终目标是可以不理会它们以何种源码语言编程或者它们运行在网络上的哪台计算机上。虚拟服务模块通过在封装程序之间传递的消息而互相协作。
每个虚拟服务模块组件308、310、312可以映射到不同的物理电路板314、316、318。虚拟网络系统的物理层可以具有若干种类型的电路模块,例如管理模块314,包括流处理模块316和封包处理模块318的服务处理模块,以及I/O模块。管理模块314包括交换构件硬件。所述交换构件硬件由底盘中的数据传送板组成。每个流设置模块316(FPM)可以包含一个或更多流处理引擎。每个流处理引擎可以包括通用处理器和专用集成电路例如封包处理硬件加速器以处理封包信息。每个封包处理模块318可以包括一个或更多流处理引擎。每个流处理引擎是底盘中的数据传送硬件连接板上的可寻址的端点。输入-输出(I/O)模块通过一个或更多I/O引擎而支持一个或更多外部I/O端口。
虚拟服务模块的管理组件308可以映射到并且运行于管理模块314上。流设置组件310映射到并且运行于一个流处理引擎上的通用处理器上。封包处理可以在封包处理硬件加速器中进行处理,在特定情况下通过传递给通用处理器的异常情况而处理。
图4显示了具有由虚拟网络元件和物理网络元件组成的拓扑的单独网络的实施例。第一单独网络402包括封装用户A的虚拟网络元件的虚拟服务器419。所述虚拟服务器419通过端口416耦合到用户A的网络418。另外,虚拟服务器419通过第二端口425耦合到物理网络元件,例如防火墙452。与用户A相关联的单独网络402的SSL虚拟服务模块426接收来自系统路由器虚拟服务模块424的封包。所述SSL虚拟服务模块426通过第二端口425将所述封包转发至物理防火墙452。物理防火墙452通过第二端口425将所述封包转发至NAT虚拟服务模块428。所述NAT虚拟服务模块428将所述封包发送到网桥虚拟服务模块430。所述封包通过多个端口416离开与用户A相关联的单独网络402而到达用户网络418。
在一个实施例中,物理层包含一个或更多虚拟服务器处理器。每个虚拟服务器处理器通过物理层管理数据流,分配资源给每个虚拟服务器419,并且执行高速封包处理以实现特定服务。因为虚拟服务器419使用基于硬件的资源管理,所述虚拟服务器419相对于基于软件的方案更高效、精确和安全。虚拟服务器处理器子系统的活动可以分为三个主要类别,排队和高速处理,管理总的处理资源,并且处理虚拟服务器的集成和安全。
在一个实施例中,每个虚拟服务器处理器分配多个队列给系统中的每个虚拟服务器419。所述虚拟服务器处理器使用令牌桶算法维护这些队列,从而确保每个虚拟服务器接收到其VRP处理资源份额。虚拟服务器处理器在具有很大的缓冲容量的非常大的存储区域中管理虚拟服务器队列。通过对每个虚拟服务器分配多个队列,虚拟服务器处理器确保没有一个虚拟服务器419能够以第二虚拟服务器420为代价而消耗所有可用的缓冲存储器。令牌桶逻辑确保每个虚拟服务器可以公平访问虚拟服务器处理器处理单元。
如同特别提到的,如果虚拟服务器处理器确定特定封包需要特别的高级处理,它将该封包转发给通用处理块以进一步处理并且继续处理其队列中的下一个封包。在虚拟服务器处理器和通用处理块之间,虚拟服务器处理器实现了第二组队列逻辑。如同第一组队列,系统中每个虚拟服务器419-421在第二组中被分配队列。虚拟服务器处理器管理该第二组队列并且按要求转发封包到通用处理块。这样保持了对通用处理块的供给,并且提供了尽可能最高的吞吐量。虚拟服务器处理器子系统为通用处理块安排下一个封包,以确保处理资源按照物理层资源分配而进行分配。通过这种方式,没有一个虚拟服务器419-421能够以其它虚拟服务器为代价而独占处理资源。
虚拟服务器处理器子系统为系统中每个虚拟服务器419-421分配存储器区域。所述存储器区域存储与特定虚拟服务器例如虚拟服务器A 419关联的封包和服务状态信息。系统密切监视每个区域的资源消耗。如果特定虚拟服务器例如虚拟服务器A 419侵入了物理层存储器分配界限,则不再允许以其它虚拟服务器为代价而进一步扩张。这种行为确保没有一个虚拟服务器419-421能够以其它虚拟服务器为代价而独占存储器资源。
物理层使用硬件存储器管理单元(MMU)为每个虚拟服务器419-421建立保护域。当一种服务崩溃,所述保护域隔离对该服务所在的特定虚拟服务器419-421的影响。当系统检测到崩溃时,与虚拟服务器419-421关联的保护域被清除,并且虚拟服务器419-421自动重启。通过这种方式,系统将服务错误遏制在虚拟服务器419-421中错误产生的地方,阻止错误蔓延到其它虚拟服务器419-421或者影响其处理。
当处理封包时,处理块首先进入与该封包所属的虚拟服务器419-421相关联的保护域。当在这种环境中时,处理块仅能访问与虚拟服务器419-421相关联的存储器,以确保系统安全。任何访问保护域之外的存储器资源的尝试都被认为是服务崩溃——在此种情况下保护域被清除并且虚拟服务器419-421重启。
如同上面提到的,每个虚拟服务模块424、426、428、430可以通过管理虚拟服务器412的用户接口而动态加载或者卸载。虚拟服务模块的多个实例可以同时加载,例如路由器虚拟服务模块424和436。而且,虚拟服务模块的多个实例可以包含不同版本。例如,路由器虚拟服务模块424可以具有与路由器虚拟服务模块436不同的版本。每个虚拟服务模块可以单独改变或者升级而不中断其它虚拟服务模块的其它服务。
图5A显示了说明根据本发明一个实施例的升级虚拟服务模块的示例结构图。参考图5A,在一个实施例中,拓扑的初始配置501通过路由器虚拟服务模块504、防火墙虚拟服务模块505、安全套接字协议(SSL)虚拟服务模块版本I 506以及负荷平衡器虚拟服务模块507而处理数据流。当接收到SSL虚拟服务模块的升级请求时(例如通过管理虚拟服务器的用户接口),SSL虚拟服务模块版本II 508的另一个实例被启动。一旦所述SSL虚拟服务模块版本II 508被启动,系统通过边509将该SSL虚拟服务模块508连接到防火墙虚拟服务模块505并且通过边510将其连接到负荷平衡器虚拟服务模块507。因此,SSL虚拟服务模块版本II 508和SSL虚拟服务模块版本I506并行运行,如配置502所示。
然后系统将任何新的流数据定向到新执行的SSL虚拟服务模块版本II508。所述SSL虚拟服务模块508处理该新的数据流并且此后将该数据发送到负荷平衡器虚拟服务模块507。同时,系统继续将已有的数据流定向到SSL虚拟服务模块版本I 506。该并行处理继续进行直到某些条件满足。在一个实施例中,所述条件可以是待处理的已有流的预指定的数据量。在一个可替换实施例中,所述条件可以是预指定的时间段。在所述条件满足前的任何时间,升级可以通过管理虚拟服务器的用户接口而即时中止。
一旦所述条件被满足,所述系统将所有的通信定向到所述新的SSL虚拟服务模块508。一旦该SSL虚拟服务模块508稳定后,系统分别断开SSL虚拟服务模块506和防火墙虚拟服务模块505以及负荷平衡器虚拟服务模块507之间的边511和512的连接。此后,SSL虚拟服务模块506被终止并从所述图中移除,如配置503所示。因此,SSL虚拟服务模块服务被动态升级并且原先由SSL虚拟服务模块506提供的服务没有被中断。
当升级被中止时,系统将所有的新的流数据定向到旧的SSL虚拟服务模块版本I506。系统断开边509和510的连接。这使得虚拟服务器返回到升级启动前的初始状态。所有开始通过SSL虚拟服务模块508的流被系统终止。此前通过SSL虚拟服务模块版本I506的旧的流继续通过而没有任何变化。
图5B显示了说明根据本发明一个实施例的升级虚拟服务模块的示例方法的流程图。在一个实施例中,该方法说明了对改变如下第一节点的请求的处理,所述第一节点具有在网络环境中连接到第二节点和第三节点的第一服务。所述方法包括在第一节点动态启动第二服务,将所述第二服务连接到第二节点和第三节点,将服务请求定向到第二服务,并且终止第一服务。在一个可替换实施例中,该方法进一步包括确定所述服务请求是否来自新的数据段,如果所述服务请求来自新的数据段则将该服务请求发送到第二服务,并且如果所述服务请求来自已有数据段则将该服务请求发送到第一服务。
参考图5B,当接收到升级请求时,在方块551,系统动态启动新的服务(例如,具有升级后版本的虚拟服务模块实例),同时已有服务(例如需要升级的已有虚拟服务模块)仍然处理从第一节点到第二节点的数据流。在方块552,系统将所述新的虚拟服务模块连接到第一和第二节点。在方块553,系统将新的数据流定向到所述新的虚拟服务模块,同时将已有的数据流定向到已有虚拟服务模块以进行处理。因此新的和已有的数据流分别由所述新的和已有的VSM并行地处理。在方块554,系统检查预指定条件是否满足。在一个实施例中,所述条件可以是剩下待处理的已有的数据流的量。在一个可替换实施例中,所述条件可以是剩下的时间段。可以利用其它的条件。所述并行处理继续进行直到所述条件被满足。一旦所述条件被满足,在方块555,系统将所有的数据流定向到新的虚拟服务模块并且在方块556终止已有的虚拟服务模块。
因此,具有与已有服务模块实例不同功能的新的服务模块实例可以在程序执行期间被加载,特别是在初始启动期过去很久之后。所述新的服务模块实例在该新的实例被安装期间映射已有实例的网络路由路径,从而功能的添加不会引起任何其它组件的停工期。
在一个实施例中,在方块557,系统检查所述改变是否被中止。在方块558,如果所述改变被中止,那么系统将所有新的数据流定向到旧的服务。系统终止通过新的服务的新的流。并且系统还继续通过旧的服务的旧的流。在方块559,系统终止新的服务。
图6A显示了说明根据本发明一个实施例的改变虚拟网络系统拓扑的示例结构图。参考图6A,在一个实施例中,拓扑的初始配置601通过路由器VSM 604、防火墙VSM 605、安全套接字协议(SSL)VSM 606以及负荷平衡器VSM 607处理数据流。当接收到改变请求(例如添加VPN VSM到所述图)时(例如通过管理虚拟服务器的用户接口),启动VPN VSM 608的实例。一旦该VPN VSM 608被启动,所述系统通过边609将该VPN VSM 608连接到防火墙VSM 605并且通过边610将该VPN VSM 608连接到负荷平衡器VSM 607。因此,VPN VSM 608和连接VSM 606与VSM 605的边611是并行运行的,如配置602所示。
然后所述系统将任何新的流数据定向到所述新执行的VPN VSM 608。所述VPN VSM 608处理该新的数据流并且此后将该数据发送到SSL VSM606。同时,所述系统继续通过边611将已有数据流定向到SSL VSM 606。该并行处理继续进行直到某些条件满足。在一个实施例中,所述条件可以是待处理的已有流的预指定的数据量。在一个可替换实施例中,所述条件可以是预指定的时间段。
在一个实施例中,在所述交付条件满足前的任何时间拓扑改变可以被中止。如果首先满足所述条件,则所述配置看起来与配置603类似。如果所述条件满足前改变被中止,则返回到原先的配置601。
一旦所述条件被满足,系统将所有的通信定向到新的VPN VSM 608。一旦系统从VPN VSM 608清除所有旧的相关联的流封包后,系统断开SSLVSM 606和防火墙VSM 605之间的边611的连接。因此,VPN VSM服务被动态添加到所述图中并且原先由边611提供的服务不被中断。
如果所述改变被中止,系统通过边611将所有新的流数据定向到SSLVSM 606。系统终止通过边609、VPN虚拟服务模块608以及边610的任何流。系统继续通过边611将已有数据流定向到SSL VSM 606。系统断开边609和610以及VPN虚拟服务模块608的连接。由此恢复原先的拓扑。
图6B显示了说明根据本发明一个实施例的改变拓扑的示例方法的流程图。在一个实施例中,所述方法说明了对改变如下拓扑的请求的处理,所述拓扑在网络环境中具有第一节点和第二节点之间的直接连接。所述方法包括动态启动新的服务,所述服务需要添加在第一和第二节点之间,将所述新的服务连接到第一和第二节点,将服务请求从第一节点定向到所述新的服务,并且此后将该请求发送到第二节点,并且终止第一和第二节点之间的直接连接。在一个可替换实施例中,该方法进一步包括确定所述服务请求是否来自新的数据段,如果所述服务请求来自新的数据段则将该服务请求发送到所述新的服务,并且如果所述服务请求来自现有数据段则将该服务请求发送到第一和第二节点之间的直接连接。
参考图6B,当在方块651处接收到请求时,系统动态启动新的服务,所述新的服务需要添加在第一和第二节点之间,所述第一和第二节点通过一条边互相直接连接。当所述新的服务被启动后,在方块652,系统将新的服务连接到第一和第二节点。然后系统将新的数据流从第一节点定向到所述新的服务,该新的服务处理新的数据流并将数据发送到第二节点。
同时,第一节点继续通过直接连接第一和第二节点的边将已有数据流直接发送到第二节点。这些并行处理继续进行直到某些条件满足,所述条件由系统在方块654检查。如果所述条件满足,在方块655,系统指示第一节点发送所有数据流到所述新的服务,该新的服务处理所述数据并且发送到第二节点。一旦新的服务准备好并正在运行,在方块656,系统断开直接连接第一和第二节点的边。
在一个实施例中,在方块657,系统检查所述改变是否被中止。在方块658,如果所述改变被中止,那么系统指示第一节点将所有数据发送到第二节点。在方块659,系统断开所述第一服务节点的连接。
图7A显示了说明根据本发明一个实施例的虚拟网络系统拓扑改变的示例结构图。参考图7A,在一个实施例中,拓扑的初始配置701通过路由器VSM 704、防火墙VSM 705、VPN VSM 706以及负荷平衡器VSM 707处理数据流。当接收到改变(例如从所述图中删除VPN VSM 706)请求时(例如通过管理虚拟服务器的用户接口),创建边708以连接防火墙VSM 705和负荷平衡器VSM 707。
一旦所述边708被创建和连接,系统指示防火墙VSM 705直接通过边708将任何新的数据流发送到负荷平衡器VSM 707,同时已有的数据流由防火墙VSM 705通过VPN VSM 706发送到负荷平衡器VSM 707。因此,边708和VPN VSM 706是并行运行的,如配置702中所示。该并行处理继续进行直到某些条件满足。在一个实施例中,所述条件可以是待处理的已有流的预指定的数据量。在一个可替换实施例中,所述条件可以是预指定的时间段。
如上所述,在一个实施例中,如果所述改变被中止,则重新定向新的数据封包流并且继续已有的数据封包流。
一旦所述条件被满足,系统通过边708将所有的通信从防火墙VSM 705直接定向到负荷平衡器VSM 707。一旦所述边708的数据处理稳定后,系统断开VPN VSM 706和防火墙VSM 705以及负荷平衡器VSM 707之间的边709和710的连接。此后,VPN VSM 706被终止并且从所述图中移除。由此,VPN VSM服务从所述图中被动态删除,并且原先由VPN VSM 706提供的服务不被中断。
图7B显示了说明根据本发明一个实施例改变拓扑的示例方法的流程图。在一个实施例中,所述方法说明了对改变如下拓扑的请求的处理,所述拓扑具有第一节点、第二节点和第三节点,第一节点直接连接到第二节点并且第二节点直接连接到第三节点。所述方法包括动态连接第一和第三节点,将服务请求从第一节点直接定向到第三节点,并且终止第二节点。在一个可替换实施例中,该方法进一步包括确定所述服务请求是否来自新的数据段,如果所述服务请求来自新的数据段则将该服务请求从第一节点直接发送到第三节点,并且如果所述服务请求来自已有数据段则将该服务请求从第一节点发送到第二节点并从第二节点发送到第三节点。
参考图7B,当在方块751处接收到请求时,系统动态连接第一节点和第三节点,其中所述第一和第三节点通过其间的第二节点连接。一旦第一和第三节点之间的连接被创建,在方块752,系统将新的数据流定向到第一和第三节点之间的直接连接。同时,第二节点仍然处理从第一节点接收到的已有数据流,并且此后将所述数据发送到第三节点。该并行处理继续进行直到在方块753处一系列条件被满足。一旦满足,在方块754,系统将所有数据流从第一节点直接定向到第三节点而不经过第二节点。在方块755,第二节点由于不再需要而被终止并从所述图中移除。
在一个实施例中,在方块757,系统检查所述改变是否被中止。在方块758,如果所述改变被中止,那么系统将所有新的数据流从第一节点定向到第二节点。另外,系统终止任何剩下的在第一节点和第三节点之间通过的流。在方块759,系统删除连接第一节点和第三节点的边。
在一个实施例中,实现所述算法的软件可以在计算机可读的媒介上实施。计算机可读的媒介包括以机器(例如计算机)可读形式提供信息(例如存储和/或发送)的任何机构。例如,机器可读的媒介包括只读存储器(ROM);随机访问存储器(RAM);磁碟存储介质;光存储介质;闪速存储设备;DVD,电学的、光学的、声学的或者其它形式的传播信号(例如载波,红外信号,数字信号,EPROM,EEPROM,FLASH,磁卡或者光盘),或者适合存储电子指令的任何媒介类型。低速媒介应当缓冲存储到高速的更实用的媒介中。
上述详细描述的某些部分提出了对计算机存储器内的数据位进行操作的算法和符号表示。这些算法描述和表示是数据处理领域中技术人员使用来向本领域其他技术人员最有效地传达他们工作内容的方式。此处的算法一般认为是导致所需结果的步骤的独立完备的序列。所述步骤是对物理量进行的所需的物理操作。通常而非必然地,这些量采用电子或者磁信号的形式,能够进行存储、传送、组合、比较以及操作。以比特、数值、码元、符号、字符、术语、数字等类似物参考这些信号由于广泛使用的原因而被认为是便捷的。
然而应当注意,所有这些以及类似的术语仅仅与适当的物理量相关联,并且仅仅是应用到这些量的便捷标识。除非特别提到,很明显在上述讨论中,应当认为在整个描述中,使用术语例如“处理”或者“计算”或者“确定”或者“显示”等等指的是计算机系统或者类似电子计算设备的动作或者处理,用于将以物理(电子)量表示的计算机系统中寄存器和存储器内的数据操作或者转换为以类似的物理量表示的计算机系统存储器或寄存器或者其它此类信息存储、传送或者显示设备内的其它数据。
尽管示例了本发明某些特定实施例,但是本发明并不限于这些实施例。本发明应当认为并不限于在此描述的特定实施例,而仅仅由所附权利要求的范围所限制。

Claims (9)

1.一种具有虚拟服务模块的设备,包括存储组件,用于存储代表网络元件的服务模块,所述网络元件在网络系统中执行一种或更多功能以进行封包处理,所述服务模块包括多个子部件,每个子部件包括:
管理组件,用于连接虚拟网络图内部的组件;
流设置组件,用于执行初始封包处理并为流创建动作列表;以及
封包处理组件,用于执行处理基元指令的动作列表,
其中所述服务模块的第一实例被配置为模拟表示第一组网络元件,而服务模块的第二实例被配置为模拟表示与第一组网络元件功能上不同的第二组网络元件。
2.根据权利要求1所述的设备,其中管理组件与外部子部件通信。
3.根据权利要求1所述的设备,其中当异常状况发生时,流设置组件管理在封包处理组件中处理基元指令的动作列表的性能。
4.根据权利要求1所述的设备,其中存储组件还存储元数据以描述对于网络元件的多个配置参数。
5.根据权利要求4所述的设备,其中配置参数描述了版本信息、用于代表网络元件的资源需求以及依赖关系信息中的至少一者。
6.根据权利要求1所述的设备,其中所述网络元件是路由器、以太网交换机、虚拟专用网络、防火墙、负荷平衡器、网桥以及网络地址转换器中的一种。
7.一种具有虚拟服务模块的设备,包括存储组件,用于存储代表第一网络元件的服务模块以及代表第二网络元件的服务模块,每个第一和第二网络元件在网络系统中执行一种或更多功能以进行封包处理,所述服务模块包括多个子部件,每个子部件包括:
管理组件,用于连接虚拟网络图内的组件;
流设置组件,用于执行初始封包处理并为流创建动作列表;以及
封包处理组件,用于执行处理基元指令的动作列表。
8.根据权利要求7所述的设备,其中对于每个网络元件的服务模块是独立的,从而与其他网络元件之间不相关。
9.根据权利要求7所述的设备,其中每个网络元件是路由器、以太网交换机、虚拟专用网络、防火墙、负荷平衡器、网桥以及网络地址转换器中的一种。
CNB038137534A 2002-04-19 2003-03-14 一种具有虚拟服务模块的设备 Expired - Fee Related CN100568216C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/126,300 2002-04-19
US10/126,300 US7197553B2 (en) 2002-04-19 2002-04-19 Network system having a virtual-service-module

Publications (2)

Publication Number Publication Date
CN1659539A CN1659539A (zh) 2005-08-24
CN100568216C true CN100568216C (zh) 2009-12-09

Family

ID=29214995

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038137534A Expired - Fee Related CN100568216C (zh) 2002-04-19 2003-03-14 一种具有虚拟服务模块的设备

Country Status (7)

Country Link
US (1) US7197553B2 (zh)
EP (1) EP1499991A4 (zh)
JP (1) JP2005523621A (zh)
CN (1) CN100568216C (zh)
AU (1) AU2003225847A1 (zh)
CA (1) CA2483209A1 (zh)
WO (1) WO2003090108A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9014184B2 (en) 2009-09-24 2015-04-21 Nec Corporation System and method for identifying communication between virtual servers
CN106201566A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 利博伟特软件热升级方法及设备

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7487232B1 (en) 2000-09-13 2009-02-03 Fortinet, Inc. Switch management system and method
US7111072B1 (en) 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
US7574495B1 (en) 2000-09-13 2009-08-11 Fortinet, Inc. System and method for managing interworking communications protocols
US7272643B1 (en) 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7116665B2 (en) 2002-06-04 2006-10-03 Fortinet, Inc. Methods and systems for a distributed provider edge
US7376125B1 (en) 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7161904B2 (en) 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7266120B2 (en) 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
US7720095B2 (en) 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8914522B2 (en) 2004-07-23 2014-12-16 Citrix Systems, Inc. Systems and methods for facilitating a peer to peer route via a gateway
KR20070037650A (ko) 2004-07-23 2007-04-05 사이트릭스 시스템스, 인크. 종단에서 게이트웨이로 패킷을 라우팅하기 위한 방법 및시스템
WO2006020823A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US7499419B2 (en) 2004-09-24 2009-03-03 Fortinet, Inc. Scalable IP-services enabled multicast forwarding with efficient resource utilization
US7808904B2 (en) 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
EP2739014B1 (en) 2005-01-24 2018-08-01 Citrix Systems, Inc. Systems and methods for performing caching of dynamically generated objects in a network
US9946585B1 (en) * 2005-06-30 2018-04-17 Oracle America, Inc. System and method for asset module isolation
US8949364B2 (en) * 2005-09-15 2015-02-03 Ca, Inc. Apparatus, method and system for rapid delivery of distributed applications
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US20070239505A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
CN100488153C (zh) * 2006-04-06 2009-05-13 中国科学院计算技术研究所 虚拟网络服务派生和使用方法及装置
US8322155B2 (en) 2006-08-15 2012-12-04 American Power Conversion Corporation Method and apparatus for cooling
US8327656B2 (en) 2006-08-15 2012-12-11 American Power Conversion Corporation Method and apparatus for cooling
US9568206B2 (en) 2006-08-15 2017-02-14 Schneider Electric It Corporation Method and apparatus for cooling
US7681404B2 (en) 2006-12-18 2010-03-23 American Power Conversion Corporation Modular ice storage for uninterruptible chilled water
US8425287B2 (en) 2007-01-23 2013-04-23 Schneider Electric It Corporation In-row air containment and cooling system and method
US7739690B2 (en) * 2007-04-26 2010-06-15 Microsoft Corporation Meta-container for model-based distributed applications
US20090138313A1 (en) 2007-05-15 2009-05-28 American Power Conversion Corporation Methods and systems for managing facility power and cooling
US8910234B2 (en) * 2007-08-21 2014-12-09 Schneider Electric It Corporation System and method for enforcing network device provisioning policy
US20090052444A1 (en) * 2007-08-24 2009-02-26 At&T Bls Intellectual Property, Inc. Methods, systems, and computer program products for providing multi-service communication networks and related core networks
US8549347B1 (en) 2010-12-20 2013-10-01 Amazon Technologies, Inc. Techniques for network replication
US8180616B1 (en) * 2008-12-18 2012-05-15 Xilinx, Inc. Component tracing in a network packet processing device
US9009214B2 (en) 2008-12-23 2015-04-14 International Business Machines Corporation Management of process-to-process inter-cluster communication requests
US9098354B2 (en) * 2008-12-23 2015-08-04 International Business Machines Corporation Management of application to I/O device communication requests between data processing systems
US8521895B2 (en) * 2008-12-23 2013-08-27 International Business Machines Corporation Management of application to application communication requests between data processing systems
US8499029B1 (en) 2008-12-23 2013-07-30 International Business Machines Corporation Management of process-to-process communication requests
US8370855B2 (en) * 2008-12-23 2013-02-05 International Business Machines Corporation Management of process-to-process intra-cluster communication requests
US8240473B2 (en) * 2008-12-23 2012-08-14 Honda Motor Co., Ltd. Headliner packaging system with hinged clamp
US8560677B2 (en) * 2009-02-13 2013-10-15 Schneider Electric It Corporation Data center control
US9778718B2 (en) 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US9519517B2 (en) * 2009-02-13 2016-12-13 Schneider Electtic It Corporation Data center control
US20100299362A1 (en) * 2009-05-24 2010-11-25 Roger Frederick Osmond Method for controlling access to data containers in a computer system
US9015198B2 (en) * 2009-05-26 2015-04-21 Pi-Coral, Inc. Method and apparatus for large scale data storage
US8339994B2 (en) * 2009-08-27 2012-12-25 Brocade Communications Systems, Inc. Defining an optimal topology for a group of logical switches
JP5494668B2 (ja) * 2009-10-07 2014-05-21 日本電気株式会社 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム
US8909781B2 (en) * 2010-05-24 2014-12-09 Pi-Coral, Inc. Virtual access to network services
US8724645B2 (en) 2010-09-28 2014-05-13 Microsoft Corporation Performing computations in a distributed infrastructure
US8516032B2 (en) * 2010-09-28 2013-08-20 Microsoft Corporation Performing computations in a distributed infrastructure
EP2795489A4 (en) 2011-12-22 2016-06-01 Schneider Electric It Corp ANALYSIS OF THE EFFECT OF TRANSIENT EVENTS ON TEMPERATURE IN A DATA CENTER
CN104137660B (zh) 2011-12-22 2017-11-24 施耐德电气It公司 用于在电子系统中预测温度值的系统和方法
WO2013095505A1 (en) 2011-12-22 2013-06-27 Schneider Electric It Corporation Systems and methods for reducing energy storage requirements in a data center
US9952909B2 (en) * 2012-06-20 2018-04-24 Paypal, Inc. Multiple service classes in a shared cloud
GB2503463A (en) 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
US9992062B1 (en) 2012-07-06 2018-06-05 Cradlepoint, Inc. Implicit traffic engineering
US9118495B1 (en) 2012-07-06 2015-08-25 Pertino, Inc. Communication between broadcast domains
US10601653B2 (en) 2012-07-06 2020-03-24 Cradlepoint, Inc. Implicit traffic engineering
US10880162B1 (en) 2012-07-06 2020-12-29 Cradlepoint, Inc. Linking logical broadcast domains
US10110417B1 (en) 2012-07-06 2018-10-23 Cradlepoint, Inc. Private networks overlaid on cloud infrastructure
US10560343B1 (en) 2012-07-06 2020-02-11 Cradlepoint, Inc. People centric management of cloud networks via GUI
US10177957B1 (en) * 2012-07-06 2019-01-08 Cradlepoint, Inc. Connecting a cloud network to the internet
US10135677B1 (en) 2012-07-06 2018-11-20 Cradlepoint, Inc. Deployment of network-related features over cloud network
US9929919B2 (en) * 2012-10-30 2018-03-27 Futurewei Technologies, Inc. System and method for virtual network abstraction and switching
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9973375B2 (en) * 2013-04-22 2018-05-15 Cisco Technology, Inc. App store portal providing point-and-click deployment of third-party virtualized network functions
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) * 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US9311123B2 (en) * 2013-07-02 2016-04-12 Hillstone Networks, Corp. Distributed virtual security appliance and flow-based forwarding system using virtual machines
CN104579732B (zh) * 2013-10-21 2018-06-26 华为技术有限公司 虚拟化网络功能网元的管理方法、装置和系统
IN2013CH05013A (zh) 2013-11-07 2015-05-08 Schneider Electric It Corp
US9298485B2 (en) 2013-11-19 2016-03-29 International Business Machines Corporation Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
KR101979362B1 (ko) * 2014-01-29 2019-08-28 후아웨이 테크놀러지 컴퍼니 리미티드 가상화된 네트워크 기능을 업그레이드하는 방법 및 네트워크 기능 가상화 오케스트레이터
CN105282765A (zh) * 2014-06-30 2016-01-27 中兴通讯股份有限公司 一种管理配置信息的方法、设备及网元管理系统
US9866408B2 (en) 2014-12-12 2018-01-09 Oracle International Corporation Methods, systems, and computer readable media for configuring a flow interface on a network routing element
US10230589B2 (en) * 2014-12-12 2019-03-12 Oracle International Corporation Methods, systems, and computer readable media for configuring service networks
US9843499B2 (en) * 2015-07-27 2017-12-12 General Motors Llc Distributed database server network and maintenance process
US10261782B2 (en) * 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
CN107528714B (zh) * 2016-06-22 2023-01-20 中兴通讯股份有限公司 脚本处理方法、装置、系统及路由器
US10283249B2 (en) 2016-09-30 2019-05-07 International Business Machines Corporation Method for fabricating a magnetic material stack
CN107967140B (zh) * 2016-10-18 2021-08-03 华为技术有限公司 软件修改的发起方法、发布元数据的方法及装置
CN106789304B (zh) * 2016-12-29 2019-12-06 杭州迪普科技股份有限公司 网络设备配置同步方法和装置
CN111682956B (zh) * 2020-04-28 2023-07-28 平安银行股份有限公司 一种网络升级方法、设备、服务器及可读存储介质
CN113552813B (zh) * 2021-09-18 2021-12-24 北京翔东智能科技有限公司 智能家电组网控制系统
CN117176781B (zh) * 2023-11-01 2024-03-26 北京融为科技有限公司 点对点组网方法及装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8817288D0 (en) * 1988-07-20 1988-08-24 Racal Milgo Ltd Methods of & networks for information communication
US5577028A (en) * 1990-08-31 1996-11-19 Fujitsu Limited Routing system using a neural network
US5481735A (en) * 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
SE9402059D0 (sv) * 1994-06-13 1994-06-13 Ellemtel Utvecklings Ab Sätt och anordning vid telekommunikation
US5526414A (en) * 1994-10-26 1996-06-11 Northern Telecom Limited Dynamically controlled routing using virtual nodes
US5598410A (en) * 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5550816A (en) * 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5583862A (en) * 1995-03-28 1996-12-10 Bay Networks, Inc. Method and apparatus for routing for virtual networks
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US5636371A (en) * 1995-06-07 1997-06-03 Bull Hn Information Systems Inc. Virtual network mechanism to access well known port application programs running on a single host system
US5764736A (en) * 1995-07-20 1998-06-09 National Semiconductor Corporation Method for switching between a data communication session and a voice communication session
US6055618A (en) * 1995-10-31 2000-04-25 Cray Research, Inc. Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5805587A (en) * 1995-11-27 1998-09-08 At&T Corp. Call notification feature for a telephone line connected to the internet
JP3609562B2 (ja) * 1996-11-15 2005-01-12 株式会社日立製作所 ネットワーク管理システム
US5781624A (en) * 1996-02-16 1998-07-14 Lucent Technologies Inc. Method for sharing network resources by virtual partitioning
US5809025A (en) * 1996-03-15 1998-09-15 Motorola, Inc. Virtual path-based static routing
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US6108689A (en) * 1996-10-11 2000-08-22 International Business Machines Corporation Method and system for processing messages in a distributed computing environment
JP3688408B2 (ja) * 1996-10-29 2005-08-31 株式会社東芝 パケット転送制御方法及びノード装置
US5917899A (en) * 1996-12-17 1999-06-29 Ameritech Corporation Method of connecting a plurality of virtual networks
US6172990B1 (en) * 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US6178453B1 (en) * 1997-02-18 2001-01-23 Netspeak Corporation Virtual circuit switching architecture
US5852607A (en) * 1997-02-26 1998-12-22 Cisco Technology, Inc. Addressing mechanism for multiple look-up tables
US6178183B1 (en) * 1997-05-21 2001-01-23 International Business Machines Corporation Method and apparatus for receiving conventional telephone calls while connected to the internet
US5918074A (en) * 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
US6069895A (en) * 1997-08-29 2000-05-30 Nortel Networks Corporation Distributed route server
US6041058A (en) * 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US6658480B2 (en) * 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US6741693B1 (en) * 2000-06-22 2004-05-25 Sbc Properties, L.P. Method of operating a virtual private network
US6101181A (en) * 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US6047330A (en) * 1998-01-20 2000-04-04 Netscape Communications Corporation Virtual router discovery system
US6104962A (en) * 1998-03-26 2000-08-15 Rockwell Technologies, Llc System for and method of allocating processing tasks of a control program configured to control a distributed control system
US6377571B1 (en) * 1998-04-23 2002-04-23 3Com Corporation Virtual modem for dialout clients in virtual private network
US6046979A (en) * 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
US6212560B1 (en) * 1998-05-08 2001-04-03 Compaq Computer Corporation Dynamic proxy server
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6909700B1 (en) * 1998-11-24 2005-06-21 Lucent Technologies Inc. Network topology optimization methods and apparatus for designing IP networks with performance guarantees
US6766348B1 (en) * 1999-08-03 2004-07-20 Worldcom, Inc. Method and system for load-balanced data exchange in distributed network-based resource allocation
US6665701B1 (en) * 1999-08-03 2003-12-16 Worldcom, Inc. Method and system for contention controlled data exchange in a distributed network-based resource allocation
WO2002003220A2 (en) * 2000-07-05 2002-01-10 Ernst & Young Llp Method and apparatus for providing computer services
US7403980B2 (en) * 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US20030179775A1 (en) * 2002-03-20 2003-09-25 Carolan Jason T. Service delivery network system and method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Inkra Hardwall: A technology overview. Inkra Networks Corp.Inkra网络公司的技术手册(http://www.inkra.com). 2002
Inkra Hardwall: A technology overview. Inkra Networks Corp.Inkra网络公司的技术手册(http://www.inkra.com). 2002 *
New data center architecturefromInkraNetworksenablesdedicated services withsharedeconomics. Inkra Networks Corp.http://ww.inkra.com/news_events/press/pr2002-02-19c.html. 2002
New data center architecturefromInkraNetworksenablesdedicated services withsharedeconomics. Inkra Networks Corp.http://ww.inkra.com/news_events/press/pr2002-02-19c.html. 2002 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9014184B2 (en) 2009-09-24 2015-04-21 Nec Corporation System and method for identifying communication between virtual servers
US9385888B2 (en) 2009-09-24 2016-07-05 Nec Corporation System and method for identifying communication between virtual servers
US9391804B2 (en) 2009-09-24 2016-07-12 Nec Corporation System and method for identifying communication between virtual servers
US9774473B2 (en) 2009-09-24 2017-09-26 Nec Corporation System and method for identifying communication between virtual servers
US11671283B2 (en) 2009-09-24 2023-06-06 Zoom Video Communications, Inc. Configuring a packet to include a virtual machine identifier
CN106201566A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 利博伟特软件热升级方法及设备
CN106201566B (zh) * 2015-05-07 2019-08-23 阿里巴巴集团控股有限公司 利博伟特软件热升级方法及设备
US10466999B2 (en) 2015-05-07 2019-11-05 Alibaba Group Holding Limited Software hot upgrading method and device

Also Published As

Publication number Publication date
CA2483209A1 (en) 2003-10-30
JP2005523621A (ja) 2005-08-04
WO2003090108A1 (en) 2003-10-30
EP1499991A1 (en) 2005-01-26
AU2003225847A1 (en) 2003-11-03
EP1499991A4 (en) 2007-12-12
US20030200295A1 (en) 2003-10-23
CN1659539A (zh) 2005-08-24
US7197553B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
CN100568216C (zh) 一种具有虚拟服务模块的设备
CN107567696B (zh) 计算集群内的资源实例群组的自动扩展
CN102854819B (zh) 用于过程控制系统的面向服务的架构
US8434087B2 (en) Distributed acceleration devices management for streams processing
CN111324416A (zh) 容器管理系统中的应用部署
KR102114942B1 (ko) 동적으로 건립가능한 컴퓨터 시스템
CN103125098A (zh) 有利于防范中间机环境中的逃跑子网管理器实例的系统和方法
CN103946834A (zh) 虚拟网络接口对象
US10091066B2 (en) Integration method and system
US20210149723A1 (en) Method and apparatus for microservice architecture reconfiguration
Bucaioni et al. Modelling multi-criticality vehicular software systems: evolution of an industrial component model
CN116450351A (zh) 一种边缘容器调度算法
US8214851B2 (en) API interface to make dispatch tables to match API routines
CN114257614A (zh) 一种多业务模式的医院大数据平台系统及资源调度方法
CN114579250A (zh) 一种构建虚拟集群的方法、装置及存储介质
JP2001318903A (ja) コンピュータ演算処理システム及び同システムにより実行されるコンピュータ演算処理方法
CN101169742B (zh) 用于大规模并行处理系统的资源保留
US20090055466A1 (en) Grid-based system for providing business services in data networks
CN115883354B (zh) 应用自动化部署方法、装置、设备及存储介质
US20240103945A1 (en) Process image sharing across multiple programmable automation controllers
Konttinen Architecture of Industrial Device Interfaces
Weissman et al. Azure Arc-Enabled Data Services
CN116016679A (zh) 一种云原生服务通信方法、装置、设备及存储介质
CN117082012A (zh) 用于在集群中执行资源调度的方法、装置、设备和介质
CN117592077A (zh) 项目成员资源权限管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091209

Termination date: 20100314