CN103999415B - 一种用于合并网络应用的装置、方法和中间件 - Google Patents
一种用于合并网络应用的装置、方法和中间件 Download PDFInfo
- Publication number
- CN103999415B CN103999415B CN201280063856.2A CN201280063856A CN103999415B CN 103999415 B CN103999415 B CN 103999415B CN 201280063856 A CN201280063856 A CN 201280063856A CN 103999415 B CN103999415 B CN 103999415B
- Authority
- CN
- China
- Prior art keywords
- function
- resource
- business stream
- resources
- collection
- 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.)
- Active
Links
Classifications
-
- 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/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6489—Buffer Management, Threshold setting, Scheduling, Shaping
-
- 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/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种装置,该装置包括至少一个接收器,用于接收业务流和从控制器接收包含功能集和功能集顺序的信息,以及处理器,与所述至少一个接收器耦合,用于将业务流分配给一个或多个资源,确定该业务流的处理日程,以及通过所述功能集,按照所述功能集顺序,根据所述处理日程,使用所述一个或多个资源处理该业务流。
Description
技术领域
本发明涉及业务网络技术领域,更具体的说,本发明涉及一种合并多个网络应用的业务路由器架构。
相关申请案的交叉参考
本发明要求2011年12月28日由诺伯特·埃吉(Norbert Egi)等人递交的发明名称为“一种业务路由器架构(A Service Router Architecture)”的第61/581008号美国临时专利申请案的在先申请优先权,该在先申请的内容以引用的方式全文并入本文本中。
关于由联邦政府赞助的
研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
背景技术
现代网络通常部署有一套中间件,这些中间件作为网络设备用于执行各种服务或功能。示例中间件包括广域网(WAN)优化器、代理、缓存、入侵检测系统(IDS)、入侵防御系统、网络级和应用级防火墙、应用专用网关以及负载均衡器。业务路由器可看作一种中间件,其不仅可以像交换机或路由器那样执行转发或路由功能,也可以执行更具价值的功能或网络应用,如报文标记、防火墙、入侵检测/防御、加密、负载均衡以及WAN加速等。根据多项关于中间件部署快速增长的研究,仅网络安全设备中间件市场价值在2010年就约达到60亿美元,且预计在2016年将达到100亿美元。在当今网络中,一定数量的中间件可比作一定数量的路由器。因此,中间件已成为现代网络的重要的组成部分,且在可预见的未来仍然如此。中间件是许多网络的关键部分,如企业网、因特网服务提供方(ISP)网络和数据中心网络等。
然而,当今的中间件可能为昂贵的闭合系统,这种闭合系统中很少用于或不会用于扩展和功能试验的挂钩和应用软件编程接口(API)。每个中间件可能构建于特别选择的硬件平台上,且可能仅支持特定的功能(如,入侵检测或WAN优化)。进一步地,不同的中间件可能来自独立的供应商,且作为孤立的设备部署,这些孤立设备在API管理方面不统一。因此,可改善中间件或业务路由器的架构以更好的加固多种功能。
发明内容
在一项实施例中,本发明公开一种装置,该装置包括至少一个接收器,用于接收业务流和从控制器接收包含功能集和功能集顺序的信息,以及处理器,与所述至少一个接收器耦合,用于将业务流分配给一个或多个资源,确定该业务流的处理日程,以及通过所述功能集,按照所述功能集顺序,根据所述处理日程,使用所述一个或多个资源处理该业务流。
在另一项实施例中,本发明公开一种方法,包括接收业务流以及配置信息,其中所述配置信息包括功能集和功能集顺序,将所述业务流分配给一个或多个资源,确定所述业务流的处理日程,以及通过所述功能集,按照所述功能集顺序,根据所述处理日程,使用所述一个或多个资源处理该业务流。
在又一实施例中,本发明公开一种中间件,包括至少一个接收器,用于从网络源接收多个报文以及从控制器接收包含功能集和功能集顺序的信息,以及一种实施本地协调器的处理器,其中所述本地协调器用于基于所述功能集计算所述多个报文所需的资源总和,基于该资源总和分配至少一个硬件资源,确定处理日程,以及通过所述功能集,按照所述功能集顺序,根据所述处理日程,使用所述至少一个硬件资源处理所述多个报文。
从结合附图和所附权利要求书进行的以下详细描述将更清楚地理解这些和其他特征。
附图说明
为了更全面地理解本发明,现在参考以下结合附图和具体实施方式进行的简要描述,其中相同参考标号表示相同部分。
图1为简化的网络架构的一项实施例的示意图。
图2为报文处理方案的一项实施例的示意图。
图3为报文处理方法的一项实施例的流程图。
图4为网络节点的一项实施例的示意图。
具体实施方式
首先应该理解的是,尽管下面提供了一种或多种实施例的示例性实施方式,本发明公开的系统和/或方法可通过多种其他已知的或存在的技术实施。本发明决不应限于下文所说明的描述性实施方案、图式和技术,包含本文所说明描述的示范性设计和实施方案,而是可以在所附权利要求书的范围以及其均等物的完整范围内修改。
本发明公开用于在中间件的共享硬件平台上合并多个网络应用的装置、系统和方法。在公开的报文处理方案中,中间件中至少并入两种不同类型的功能。中间件从网络源接收到业务流以及从网络级控制器接收到配置信息后,位于该中间件中的策略实施层(PEL)可为接收到的业务流分配功能和资源。所述配置信息可指定每个业务流的业务种类、用于处理所述业务流的功能集以及可用资源限制。在一项实施例中,所述PEL可为一个或多个资源分配功能实例并为该功能实例分配业务流。所述PEL可具有关于所有资源、功能以及业务流的信息,以便其可以确保处理任务无过载资源。本发明可处理中间件部署加固中遇到的资源管理和实施问题。该架构可使功能或网络服务的扩展性更加灵活。
图1示出简化的网络架构100的实施例,该网络结构包括控制器110和多个网络组件或节点,如中间件120、140和160等。每个中间件可用于提供相同或不同的功能。如果中间件具有路由功能,则该中间件也可称为业务路由器。控制器110可为集中式设备或位于例如网络数据中心中的实体,且可以控制网络中所有的中间件以达成网络级目的。或者,控制器110可为分布于网络中的多个控制器中的一个控制器,每个分布式控制器负责管理一部分中间件。在这种情况下,网络架构100可以仅表示整个网络的一部分。
控制器110可用于解决优化问题,即确定如何在中间件中分割业务流以最小化网络资源消耗,而同时考虑每个中间件的资源限制和策略要求。相应地,控制器110可确定中间件应如何处理来自网络源(如因特网)的业务流。监管网络时,控制器110可接收多种输入,如网络信息(例如,拓扑以及网络节点中的可用服务)、业务工作量、每个中间件中的硬件资源描述和/或策略规范,该策略规范描述网络级目的及网络应用限制。控制器110可分析输入并生成输出,该输出可为中间件或路由配置集。在实施例中,所述输出可为包含三列或三行的表格。例如,第一列可包含业务流标识(ID),该标识可为能够对属于指定业务流的报文进行报文分类和选择的任意形式。例如,业务流ID可为5元组互联网协议(IP)报文,该5元组包括源IP地址、目的IP地址、源端口号、目的端口号以及使用的协议。对于另一实例,业务流ID可为与所述报文的头域和/或净负荷匹配的位图。另外,输出的第二列可包含在业务流上执行的业务集以及业务顺序。输出的第三列可包含资源限制,该限制可为以下形势:吞吐量和/或时延限制,或者可用于处理该业务流的资源(如处理器、存储器、输入和输出)数量。
控制器110的输出可认为是每个中间件的处理责任分配。对于目标中间件,如中间件120,控制器110可指定该中间件120需要处理的一个或多个业务流种类以及每个业务流种类的业务流数量。所述业务流的数量可表示为网络100接收的总业务流数量的一部分。例如,如果网络100接收到无法由一个中间件处理的大业务流,则控制器110可将该业务流分配给10个中间件处理,每个中间件处理1/10。在实施例中,分配信息可通过配对集(流量种类,部分)进行描述。另外,控制器110的输出可指定一个或多个功能或与每个业务种类关联的服务以及所述一个或多个功能的执行顺序。
描述中间件的工作原理时,使用中间件120作为代表性示例。中间件120可用于从网络源(如互联网)接收业务流。业务流可包含多个报文,每个报文为网络支持的数据的一个格式化单元。业务流可为一系列报文,这些报文通常由报文头域中的相同参数标识,例如源和目的IP地址、端口和协议号等。进一步地,中间件120可用于接收控制器110的输出,该输出包含关于如何处理业务流的信息。然后,中间件120可根据控制器110确定的配置来处理业务流。
如图1所示,中间件120包括硬件平台122、多个功能和模块以及位于两者之间的本地协作器124。硬件平台122可包括任意合适种类的硬件,如处理器或中央处理单元(CPU)、存储器、硬盘、屏幕或显示器、输入/输出设备、网络带宽或容量或者其任意组合。本地协调器124可巩固共享硬件平台122上的功能和模块,所述功能和模块可作为软件实施。
并入中间件120中的功能或网络应用可归类为独立功能或可扩展功能。为便于描述,图1示出了三个独立功能126和两个可扩展功能128和130。然而,应当理解,取决于应用本身,可将任意数量和种类的功能并入中间件120中。独立功能126可既不依赖于任何信息也不需要从另一功能或模块接收任何信息。例如,在独立126作为防火墙的情况下,该防火墙可处理报文,如通过接入控制单元过滤报文,而不需要来自另一功能或模块的任何信息。进一步地,任意两个独立功能可执行相同或不同的服务。另一方面,每个可扩展功能可依赖或使用来自其他模块的信息以处理报文。在另一项实施例中,可在模块132的顶部构建可扩展功能128以及在模块134上构建可扩展功能130。例如,模块132可为报文融合器,用于缓存所有接收的报文。模块132接收到需要的业务流的最后一个报文后,可将所有报文融合并转发至可扩展功能128(例如入侵检测系统)。
进一步地,如图1所示,模块132和134可在另一模块136中构建,该模块136可实施模块132和134均使用的公共功能。模块132、134和136(有时称为子功能)可执行一些基本的报文处理(例如报文分割或融合),以便协助其它功能。应当注意,可扩展功能126和128也可直接在模块136上构建(即无需模块132和134)。其它不同功能(例如,加密或解密、传输控制协议(TCP)卸载或合并)可共享公用功能或子功能。例如,模块136可为端口控制协议(PCP)上载引擎,该引擎由超链接文本传输协议(HTTP)服务(即可扩展功能126)和文件传输协议(FTP)服务(即可扩展功能128)共享。因此,公用子功能可由单个模块(即模块136)执行,该模块由多个功能或模块应用接入。相较于每个功能运行一个独立的公用子功能实例的情况,该实施方案可提高处理效率并减少资源足迹。
为了处理包含多个报文的业务流,可实施功能126、128和130以执行任意类型的功能或服务,如报文标记、转发和路由、防火墙、入侵检测/防御、加密、负载均衡和WAN加速。在实施例中,中间件120中至少并入两种不同类型的功能。
在实施例中,本地协调器124可用于通过例如接收器与网络级控制器110进行远程互动。因此,针对包含多个报文的业务流,本地协调器124可从控制器110的输出中获取配置信息,例如业务流ID、功能集和功能顺序以及资源限制等。基于这些信息,本地协调器124可执行各种任务。作为第一任务,如果报文需要由多个功能按照优先顺序处理,本地协调器124可基于执行顺序将报文从一个功能引导至另一个功能。由于不同的功能源自不同的供应商,这些不同的功能可能不能互相识别。因此,本地协调器124负责将报文以及任何中间处理结果在功能间引导。最终,报文由功能集中的功能处理后,本地协调器124可转发或路由报文至另一网络节点(例如,中间件、路由器或服务器)。作为第二任务,为了在共享硬件平台122上有效复用不同的功能,本地协调器124可为功能集分配硬件/软件资源,并确定分配日程。例如,本地协调器124可检查某一特定功能正在使用多少资源。如果该功能使用的资源超过为其分配的资源,该功能的执行可优先或减慢。
基于上述描述,中间件120可认为是一种模块化系统架构,该架构可以在单个硬件平台上巩固不同的网络功能。在实施中,中间件120可为商品计算机系统或服务器系统。除软件外,中间件120可包括硬件加速器,如一个或多个全局处理单元(GPU)或现场可编程门阵列(FPGA)。或者,中间件120可完全基于硬件,如在专用集成电路(ASIC)中开发。在产品开发的不同阶段,可能有不同的方式用以实施功能和模块。例如,一项功能可先由软件实施,在实验测试结束后由FPGA重新实施,最终在确认该功能完全正常后由ASIC再次实施。
图2示出报文处理方案200的一项实施例,该方案由中间件(如中间件120)实施。特别地,本地协调器(如本地协调器124)可用于实施分类模块210、多个虚拟队列220和策略实施层(PEL)230。本地处理器可进一步用于将资源240、242和244分配和调度至功能250、252和256。应理解,图2仅为报文处理方案的说明性示例,且取决于应用,在本发明范围内可使用任意数量的虚拟队列、资源和功能。所述方案200可理解为中间件的逻辑视图。
在一项实施例中,包含多个报文的入业务流可首先由分类模块210进行分类以标识报文属于什么业务类型。可能有各种方法均可用来定义流量种类,示例性流量种类可包括时延敏感流量、最佳效果流量、无用流量、或者注定由特定功能集以指定或非指定顺序处理的流量。如上所述,除业务流之外,还可从控制器接收业务流ID(如位图)。因此,流ID可用于确定该业务流属于哪个业务种类。报文分类可实施为在接收报文的网络接口、中间件中的软件或特殊硬件加速器、或者中间件的前端中的交换机中执行。
分类后,业务流可呈现至虚拟队列中的PEL230。可能存在多个虚拟队列,每个虚拟队列对应于一个业务种类。PEL230可包含关于以下信息:为每个业务种类分配多少资源和带宽、每个业务种类使用那些功能以及为每个功能分配了多少资源。因此,在需要使用多个功能处理报文时,PEL230可负责以恰当的顺序在不同的功能之间引导或指引报文。在此过程中,PEL230可只将报文引至那些具有剩余资源的功能。然后,报文可由指定的功能处理。根据其业务种类,业务流可由不同的功能和/或资源(由控制器确定)处理。
功能250、252、254和256之中的任意一个均可为独立或可扩展功能。不同的功能可使用相同或不同的资源。例如,如图2所示,功能250和252可使用资源240,而功能256可使用资源242和244。资源240、242和244中的任意一个资源均可为任意硬件和/或软件资源。示例性硬件资源包括但不限于CPU、存储器、硬盘、屏幕或显示器、输入/输出设备、网络带宽及其组合。示例性软件资源包括但不限于网页、媒体内容、新闻组内容、文件、软件对象、数据库、接入控制列表及其组合。
报文处理方案200可在虚拟化网络架构中使用,其中每个业务种类可视为一个虚拟网络分开单独处理。此种情况下,每个业务种类的功能也可单独实施。
为了巩固不同入业务流的多个功能,PEL230可获取各种输入信息,以便确定应该由哪些进程处理哪些流、设置进程与资源之间的密切关系、在正确的时间以正确的顺序调度进程以及确保满足资源保证。示例性PEL输入信息包括但不限于如下项:
●由该中间件处理的业务流。业务流可由F以{F0,F1,…,Fn,…,FN}的形式表示,其中Fn表示一个流的业务量(如以兆比特每秒(Mbps)为单位测量)、(N+1)表示业务流的数量且n为介于0和N之间的整数。
●在该中间件中运行的功能或网络应用。功能可由A以{A0,A1,…,Ap,…,AP}的形式表示,其中Ap表示所述功能之一、(P+1)表示功能的数量且p为介于0和P之间的整数。
●资源类型(如CPU、存储器或网络带宽)。资源种类可用R以{R0,R1,…,Rx,…,RX}的形式表示,其中Rx表示某一类型的资源的量、(X+1)表示资源种类的数量且x为介于0和X之间的整数。
●每核每种类型的资源量。例如,资源类型为CPU,该CPU可具有多个核,每个核具有具体的资源量(如以千兆赫(GHz)测量)。每种类型的资源量可用Rx(针对类型x)以{Rx0,Rx1,…,Rxz,…,RxZ}的形式表示,其中Rxz表示所述核中的一个核、(X+1)表示核数且x为介于0和X之间的整数。
●功能在处理固定单位(例如,以Mbps测量)的业务流时所需的资源量。例如,对于功能Ap,Ap处理1Mbps的流所需的资源量可表示为{J*R0,K*R1,…,L*RX},其中J、K和L为介于0和1之间的分数。
●业务流必须通过的应用集。例如,正如控制器的输出所提供的那样,业务流Fn可以以预定的顺序通过多个功能,如A0,A2,A1,A3。
图3示出报文处理方法300的一项实施例,该方法可由中间件(如中间件120)实施。所述方法300接收、处理和转发业务流,并且可用使用输入信息至PEL。方法300可开始于步骤310,其中可从网络源(例如,互联网)接收包括多个报文的业务流。在使用中,多个业务流可由中间件接收,此处描述一个业务流以阐明本发明的原理。在步骤320,可从控制器(例如,控制器110)接收配置信息。配置信息为控制器的输出,且可包括一个表格,该表格指定流ID、功能集和功能集顺序以及资源限制。在步骤330,中间件中的处理器可使用流ID确定业务流的业务种类。在步骤340,处理器可基于功能集和每个功能的资源要求来计算处理业务流所需的一个或多个资源的量。然后,处理器可将该业务流分配给一个或多个资源,换言之,为该业务流分配一个或多个资源。具体地,在步骤350,处理器可将第一功能或网络应用的实例分配给第一资源,其中所述第一功能属于所述功能集,且所述第一资源属于所述一个或多个资源。功能的实例,有时也称为进程,可表示该功能的一项执行或操作。应注意,将第一功能的实例分配给第一资源并不表示所述第一功能受限于所述第一资源,因为所述第一功能也可分配给第二资源、第三资源等。在步骤360,处理器可将业务流分配给所述第一功能的实例。应注意,该业务流可分配给所述功能集中的第二功能、第三功能等的实例。进一步地,处理器能够保证不存在分配的功能实例超过其处理能力(即资源限制)的资源存在。
在步骤370,处理器可基于PEL的输入信息来计算功能集所需的多个资源中使用最多的资源。在步骤380,处理器可为业务流确定处理日程。具体地,功能实例以及每个功能实例中的业务流均可调度。例如,处理器可调度何时使用第一资源(以及其他资源,如果需要)执行所述第一功能的实例以及何时通过所述第一功能实例处理所述业务流。相似地,处理器可进一步调度何时使用第二资源(以及其他资源,如果需要)执行所述第二功能的实例以及何时通过所述第二功能的实例处理所述业务流(已由第一功能处理)。该调度可基于先前步骤中获取的使用最多的资源进行。在实施例中,业务流可相对于其使用最多资源的要求进行调度。例如,每隔X(X为正整数)个调度步骤,由处理器实施的调度器可定期确定哪个硬件资源使用最多、确定每个流对该资源的要求并以满足该使用最多资源的公平调度要求的方式调度业务流。即,调度器可调度共享使用该资源的流,并在它们不共享该资源时取消调度。或者,可基于其它因素执行调度,在这种情况下,可修改或跳过步骤370。进一步地,调度可使用各种算法,如基于时间片的算法、运行至完成算法或两者的组合。在基于时间片的算法中,由处理器实施的调度器可每隔一个时间片运行一次以选择下一功能实例执行。时间片,或量子,可为一段时间,在该段时间内实例允许运行,无需优先预约。运行至完成算法可为调度模型,该模型中每个功能均可一直运行,直至其完成或明确将控制交回给调度器。另外,PEL(如PEL230)可为处理器的一部分,且作为实施步骤330-380的模块。
在步骤390,处理器可通过功能集,按照功能集的顺序,根据处理日程,使用一个或多个资源处理业务流。应当理解,方法300可仅包括所有处理业务流的必要步骤的一部分。因此,其他步骤或方面可并入到方法300的合适位置,如每个功能的详尽程序、将业务流加入队列以及将处理过的业务流转发至另一网络节点等。进一步地,本领域技术人员在使用中可认识到中间件可接收多个可能属于不同种类的业务流。方法300中描述的部分或所有步骤均可反复执行中间件接收的每个业务流。另外,方法300中的步骤执行顺序可灵活处理,前提是下一步骤不依赖于其上一步骤的执行结果。一些步骤可组合、修改或略过。
上述方案可在网络组件上实施,如具有足够的处理功率、存储器资源以及网络吞吐量能力的计算机或者网络组件以处理其上的工作量。图4示出网络组件或节点1300的实施例,该组件或节点适用于实施本发明公开的方法和方案的一项或多项实施例,如报文处理方案200和报文处理方法300。进一步地,网络节点1300可用于实施本文本描述的任意装置,如控制器110和中间件120(如果具有路由功能,其也可称为业务路由器)等。
网络节点1300包含处理器1302,所述处理器与包含以下项的存储设备通信:辅助存储器1304,只读存储器(ROM)1306,随机存取存储器(RAM)1308,输入/输出(I/O)设备1310,及发射器/接收器1312。虽然处理器1302作为单个处理器进行描述,但其并不限于此而是可以包括多个处理器。处理器1302可以实施为一个或多个中央处理器单元(CPU)芯片、核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、和/或数字信号处理器(DSP),并且/或者可以是一个或多个ASIC的一部分。处理器1302可用于本文本描述的任何方案,包括报文处理方案200和报文处理方法300。处理器1302可通过硬件或硬件与软件的组合来实施。
辅助存储器1304通常包括一个或多个磁盘驱动器或磁带驱动器,用于数据的非易失性存储,而且如果RAM1308的容量不足以存储所有工作数据,所述辅助存储器则用作溢流数据存储设备。辅助存储器1304可以用于存储程序,当选择执行这些程序时,所述程序将加载到RAM1308中。ROM1306用于存储在程序执行期间读取的指令以及可能读取的数据。ROM1306为非易失性存储设备,其存储容量相对于辅助存储器1304的较大存储容量而言通常较小。RAM1308用于存储易失性数据,还可能用于存储指令。对ROM1306和RAM1308二者的存取通常比对辅助存储器1304的存取快。
发射器/接收器1312可用作网络节点1300的输出和/或输入设备。例如,如果发射器/接收器1312用作发射器,则其可将数据传出网络节点1300。如果发射器/接收器1312用作接收器,其可将数据传入网络节点1300。发射器/接收器1312可采用以下形式:调制解调器,调制解调器银行,以太网卡,通用串行总线(USB)接口卡,串行接口,令牌环卡,光纤分布式数据接口(FDDI)卡,无线局域网(WLAN)卡,无线收发器卡例如码分多址(CDMA),全球移动通信系统(GSM),长期演进(LTE),全球微波接入互操作性(WiMAX),和/或其他空中接口协议无线收发器卡,以及其他熟知的网络设备。发射器/接收器1312可使处理器1302与因特网或者一个或多个内网通信。I/O设备1310可包含视频监控器,液晶显示器(LCD),触屏显示器,或其它类型用于显示视频的视频显示器,也可包含捕获视频的视频录像设备。I/O设备1310可包含一个或多个键盘、鼠标、轨迹球或其他公知输入设备。
应理解,通过将可执行指令编程和/或加载至网络节点1300上,处理器1302、辅助存储器1304、RAM1308和ROM1306中的至少一个被改变,将网络节点1300的一部分转换成特定机器或装置(如,本发明宣扬的拥有新颖功能的中间件或业务路由器)。可执行指令可存储于辅助存储器1304、ROM1306和/或RAM1308上,并加载至处理器1302中进行处理。可通过加载可执行软件至计算机来实施的功能可以通过公知设计规则转换成硬件实施,这在电力工程和软件工程领域是很基础的。决定通过软件还是硬件来实施一个概念通常取决于对设计稳定性及待生产的单元数量的考虑,而不是从软件域转换至硬件域所涉及的任何问题。一般来说,经常变动的设计更适于在软件中实施,因为重新编写硬件实施比重新编写软件设计更为昂贵。一般来说,稳定及大规模生产的设计更适于在如专用集成电路(ASIC)这样的硬件中实施,因为运行硬件实施的大规模生产较软件实施更为便宜。设计通常可以以软件形式进行开发和测试,之后通过公知设计规则转变成专用集成电路中等同的硬件实施,该电路硬线软件指令。由新ASIC控制的机器是一特定的机器或装置,同样地,编程和/或加载有可执行指令的电脑可视为特定的机器或装置。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明公开的范围内。应当理解的是,本发明已明确阐明了数值范围或限制,此类明确的范围或限制应包括涵盖在上述范围或限制(如从大约1至大约10的范围包括2、3、4等;大于0.10的范围包括0.11、0.12、0.13等)内的类似数量级的迭代范围或限制。例如,无论何时公开具有下限Rl和上限Ru的数值范围时,任何在该范围内的数值均已具体公开。具体而言,具体公开了在所述范围内的以下数字:R=R1+k*(Ru-R1),其中k为从1%到100%范围内以1%递增的变量,即,k为1%、2%、3%、4%、5%、...、70%、71%、72%、...、95%、96%、97%、98%、99%或者100%。此外,还具体公开了由两个R数字定义的如上所述的任何数值范围。除非另有说明,否则术语“约”是指随后数字的加减10%的范围内。相对于权利要求的任一元件使用术语“可选地”意味着需要所述元件或者不需要所述元件,这两种替代方案均在所述权利要求的范围内。使用例如“包括”、“包含”和“具有”等较广术语应被理解为提供对例如由“组成”、“基本上由组成”以及“大体上由组成”等较窄术语的支持。相应地,保护范围不限于上文的描述,而是由所附权利要求书界定,所述范围包含所附权利要求的主题的所有等效物。每项和每条权利要求作为进一步公开的内容并入说明书中,且权利要求书为本发明的实施例。本发明公开内容中对参考的论述并非承认其为现有技术,尤其是公开日期在本申请案的在先申请优先权日期之后的任何参考。本发明中所引用的所有专利、专利申请案和公开案的公开内容在此以引用的方式并入本文本中,其对本发明提供示例性、程序性或其他细节补充。
虽然本发明提供了多个具体实施例,但应当理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法也可通过许多其他具体形式体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其他系统、模块、技术或方法进行组合或合并。展示或论述的彼此耦合或直接耦合或通信的其他项也可以采用电方式、机械方式或其他方式通过某一接口、设备或中间元件间接地耦合或通信。其他变更、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离此处公开的精神和范围。
Claims (20)
1.一种用于合并网络应用的装置,其特征在于,包括:
至少一个接收器,用于:
接收业务流;
从控制器接收包含功能集和功能集顺序的信息;以及
处理器,与所述至少一个接收器耦合,用于:
将业务流分配至一个或多个资源;
为所述业务流确定处理日程;以及
通过所述功能集,按照所述功能集的顺序,根据处理日程,使用一个或多个资源处理所述业务流。
2.根据权利要求1所述的装置,其特征在于,所述功能集包括第一功能,其中所述一个或多个资源包括第一资源,且其中分配业务流包括:
将所述第一功能的实例分配给所述第一资源;以及
将所述业务流分配给所述第一功能的所述实例。
3.根据权利要求2所述的装置,其特征在于,所述处理器进一步用于基于所述功能集计算一个或多个资源的总和,其中所述业务流的分配是基于所述总和进行。
4.根据权利要求3所述的装置,其特征在于,确定所述处理日程包括:
调度何时使用所述第一资源执行所述第一功能的所述实例;以及
调度何时由所述第一功能的所述实例处理所述业务流。
5.根据权利要求3所述的装置,其特征在于,所述处理器进一步用于确定所述一个或多个资源中使用最多的资源,其中确定所述处理日程是基于所述使用最多的资源进行。
6.根据权利要求4所述的装置,其特征在于,确定所述处理日程包括使用基于时间片的算法、运行至完成算法或者两者的组合。
7.根据权利要求3所述的装置,其特征在于,所述信息进一步包括流标识,且其中所述处理器进一步用于:
在计算所述一个或多个资源的总量前,通过所述流标识确定所述业务流的业务种类。
8.根据权利要求2所述的装置,其特征在于,所述功能集进一步包括第二功能,其中所述第二功能按照所述功能集顺序后于所述第一功能,其中所述一个或多个资源进一步包括第二资源,其中分配业务流进一步包括:
将所述第二功能的实例分配给所述第二资源;以及
其中处理所述业务流包括:
通过所述第一功能使用所述第一资源处理所述业务流;
将处理过的业务流引至所述第二功能;以及
通过所述第二功能使用所述第二资源处理所述处理过的业务流。
9.根据权利要求1所述的装置,其特征在于,所述功能集包括报文标记、报文转发、报文路由、防火墙、入侵检测、入侵防御、加密、解密、负载均衡、广域网优化、代理及其组合。
10.根据权利要求1所述的装置,其特征在于,所述处理器进一步用于确保将所述业务流分配给所述一个或多个资源时没有资源过载。
11.一种用于合并网络应用的方法,包括:
接收业务流和配置信息,其特征在于,所述配置信息包括功能集和功能集顺序;
将所述业务流分配给一个或多个资源;
为所述业务流确定处理日程;以及
通过所述功能集,按照所述功能集顺序,根据处理日程,使用一个或多个资源处理所述业务流。
12.根据权利要求11所述的方法,其特征在于,所述功能集包括第一功能,其中所述一个或多个资源包括第一资源,且其中所述分配业务流包括:
将所述第一功能的实例分配给所述第一资源;以及
将所述业务流分配给所述第一功能的所述实例。
13.根据权利要求12所述的方法,其特征在于,进一步包括基于所述功能集计算一个或多个资源的总和,其中业务流的分配是基于所述总和进行。
14.根据权利要求13所述的方法,其特征在于,确定所述处理日程包括:
调度何时使用所述第一资源执行所述第一功能的所述实例;以及
调度何时由所述第一功能的所述实例处理所述业务流。
15.根据权利要求13所述的方法,其特征在于,进一步包括:
确定所述一个或多个资源中使用最多的资源,其中确定处理日程是基于所述使用最多的资源进行。
16.根据权利要求14所述的方法,其特征在于,确定所述处理日程包括使用基于时间片的算法、运行至完成算法或者两者的组合。
17.根据权利要求12所述的方法,其特征在于,所述功能集进一步包括第二功能,其中所述第二功能按照所述功能集顺序后于所述第一功能,其中所述一个或多个资源进一步包括第二资源,其中分配业务流进一步包括:
将所述第二功能的实例分配给所述第二资源;以及
其中处理所述业务流包括:
通过所述第一功能使用所述第一资源处理所述业务流;
将处理过的业务流引至所述第二功能;以及
通过所述第二功能使用所述第二资源处理所述处理过的业务流。
18.根据权利要求12所述的方法,其特征在于,进一步包括:
确保将所述业务流分配给所述一个或多个资源时没有资源过载。
19.一种用于合并网络应用的中间件,其特征在于,包括:
至少一个接收器,用于:
从网络源接收多个报文;
从控制器接收包含功能集和功能集顺序的信息;以及
处理器,用于实施本地协调器,其中所述本地协调器用于:
基于所述功能集计算所述多个报文所需的资源总和;
基于所述总和分配至少一个硬件资源;
确定处理日程;以及
通过所述功能集,按照所述功能集的顺序,根据处理日程,使用所述至少一个硬件资源处理所述多个报文。
20.根据权利要求19所述的中间件,其特征在于,所述功能集包括第一功能和第二功能,其中所述第二功能按照所述功能集顺序后于所述第一功能,其中所述至少一个硬件资源包括第一资源和第二资源,其中分配所述至少一个硬件资源包括:
将所述第一功能的实例分配给所述第一资源以及将所述第二功能的实例分配给所述第二资源;以及
其中处理所述多个报文包括:
通过所述第一功能使用所述第一资源处理所述多个报文;
将处理过的报文引至所述第二功能;以及
通过所述第二功能使用所述第二资源处理所述处理过的报文。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161581008P | 2011-12-28 | 2011-12-28 | |
US61/581,008 | 2011-12-28 | ||
PCT/US2012/071956 WO2013102010A1 (en) | 2011-12-28 | 2012-12-28 | A service router architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103999415A CN103999415A (zh) | 2014-08-20 |
CN103999415B true CN103999415B (zh) | 2017-04-19 |
Family
ID=47553486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280063856.2A Active CN103999415B (zh) | 2011-12-28 | 2012-12-28 | 一种用于合并网络应用的装置、方法和中间件 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9838308B2 (zh) |
EP (1) | EP2792113B1 (zh) |
CN (1) | CN103999415B (zh) |
WO (1) | WO2013102010A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9692706B2 (en) * | 2013-04-15 | 2017-06-27 | International Business Machines Corporation | Virtual enhanced transmission selection (VETS) for lossless ethernet |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US10129077B2 (en) * | 2014-09-30 | 2018-11-13 | Nicira, Inc. | Configuring and operating a XaaS model in a datacenter |
US9774537B2 (en) | 2014-09-30 | 2017-09-26 | Nicira, Inc. | Dynamically adjusting load balancing |
US9825810B2 (en) | 2014-09-30 | 2017-11-21 | Nicira, Inc. | Method and apparatus for distributing load among a plurality of service nodes |
US10609091B2 (en) | 2015-04-03 | 2020-03-31 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
US10797966B2 (en) | 2017-10-29 | 2020-10-06 | Nicira, Inc. | Service operation chaining |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US11194610B2 (en) | 2019-02-22 | 2021-12-07 | Vmware, Inc. | Service rule processing and path selection at the source |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
US11212356B2 (en) | 2020-04-06 | 2021-12-28 | Vmware, Inc. | Providing services at the edge of a network using selected virtual tunnel interfaces |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898917A (zh) * | 2003-12-22 | 2007-01-17 | 艾利森电话股份有限公司 | 移动分组流的控制 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195784B2 (en) * | 1998-08-31 | 2015-11-24 | Cadence Design Systems, Inc. | Common shared memory in a verification system |
FI20002437A (fi) | 2000-11-07 | 2002-05-08 | Nokia Corp | Palveluvirran ohjaaminen |
US8095668B2 (en) * | 2001-11-09 | 2012-01-10 | Rockstar Bidco Lp | Middlebox control |
US20030123388A1 (en) * | 2001-12-28 | 2003-07-03 | Patrick Bradd | Admissions control in a connectionless communications network |
FI20020673A0 (fi) * | 2002-04-09 | 2002-04-09 | Nokia Corp | Ajantasaisen pakettidatan pakettien ajoittaminen |
US7412536B2 (en) * | 2003-06-27 | 2008-08-12 | Intel Corporation | Method and system for a network node for attachment to switch fabrics |
GB0519981D0 (en) * | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
JP4786747B2 (ja) | 2006-12-12 | 2011-10-05 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ミドルボックスにおけるipアドレス分散 |
US8503465B2 (en) * | 2007-09-17 | 2013-08-06 | Qualcomm Incorporated | Priority scheduling and admission control in a communication network |
US8687652B2 (en) | 2008-03-27 | 2014-04-01 | Qualcomm Incorporated | Uplink ACK/NAK resource allocation |
JP5297317B2 (ja) * | 2009-09-16 | 2013-09-25 | Kddi株式会社 | 無線リソース割当装置および無線リソース割当方法 |
-
2012
- 2012-12-28 WO PCT/US2012/071956 patent/WO2013102010A1/en active Application Filing
- 2012-12-28 US US13/729,415 patent/US9838308B2/en active Active
- 2012-12-28 CN CN201280063856.2A patent/CN103999415B/zh active Active
- 2012-12-28 EP EP12813729.6A patent/EP2792113B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898917A (zh) * | 2003-12-22 | 2007-01-17 | 艾利森电话股份有限公司 | 移动分组流的控制 |
Also Published As
Publication number | Publication date |
---|---|
CN103999415A (zh) | 2014-08-20 |
US20130170501A1 (en) | 2013-07-04 |
US9838308B2 (en) | 2017-12-05 |
WO2013102010A1 (en) | 2013-07-04 |
EP2792113B1 (en) | 2016-04-27 |
EP2792113A1 (en) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103999415B (zh) | 一种用于合并网络应用的装置、方法和中间件 | |
US9537773B2 (en) | Ensuring predictable and quantifiable networking performance | |
EP2923479B1 (en) | Method and apparatus for controlling utilization in a horizontally scaled software application | |
CN107196877A (zh) | 网络流量控制的方法及其网络设备 | |
Faticanti et al. | Throughput-aware partitioning and placement of applications in fog computing | |
CN107113290A (zh) | 向数据中心应用提供服务质量 | |
CN104469845B (zh) | 一种报文处理方法、系统及设备 | |
Zhang et al. | Efficient flow detection and scheduling for SDN-based big data centers | |
CN106537824B (zh) | 用于减少信息中心网络的响应时间的方法和装置 | |
CN109905329A (zh) | 一种虚拟化环境下任务类型感知的流队列自适应管理方法 | |
CN106453143B (zh) | 带宽设置方法、装置和系统 | |
CN107835131A (zh) | 网络流量调度方法、装置及存储介质 | |
Gu et al. | Elastic virtual network function orchestration policy based on workload prediction | |
Morozov et al. | Stability analysis of a multiclass retrial system with coupled orbit queues | |
CN102355422A (zh) | 多核并行无锁的qos流量控制方法 | |
JP5742981B1 (ja) | 経路計算装置及び方法及びプログラム | |
CN107968748A (zh) | 一种多路径流量发送的方法及装置 | |
CN105847140A (zh) | 文件分发任务生成方法及系统 | |
Lee et al. | Dynamic network scheduling for virtual routers | |
Wei et al. | Delay-aware multipath parallel SFC orchestration | |
CN105471859B (zh) | 一种基于流粒度的访问控制方法 | |
Yu et al. | Robust resource provisioning in time-varying edge networks | |
Fang et al. | Latency aware online tasks scheduling policy for edge computing system | |
Artych et al. | Security constraints for placement of latency sensitive 5G MEC applications | |
Cao et al. | A study on application-towards bandwidth guarantee based on SDN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |