CN1592898A - 一种为数据通信设备预编译配置信息的方法和系统 - Google Patents
一种为数据通信设备预编译配置信息的方法和系统 Download PDFInfo
- Publication number
- CN1592898A CN1592898A CNA018181554A CN01818155A CN1592898A CN 1592898 A CN1592898 A CN 1592898A CN A018181554 A CNA018181554 A CN A018181554A CN 01818155 A CN01818155 A CN 01818155A CN 1592898 A CN1592898 A CN 1592898A
- Authority
- CN
- China
- Prior art keywords
- rule
- network access
- access device
- program
- file
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5045—Making service definitions prior to deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/287—Remote access server, e.g. BRAS
- H04L12/2874—Processing of data for distribution to the subscribers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/344—Out-of-band transfers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5022—Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
-
- 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
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
Abstract
一种为一个网络连接设备(12)预编译配置信息的方法包含接收一个定义了对网络连接设备的行为需求的规则文件(18)。接收一个描述了一些由网络连接设备的多个组件所支持的操作的操作文件。利用该规则文件和该操作文件生成一个能被该网络连接设备执行的规则程序。该规则程序包括一组从由网络连接的多个组件所支持的各个操作中选出的、用于让该网络连接设备的各个组件根据规则文件所定义的行为需求予以执行的操作。
Description
对相关申请的互相参考
此申请要求提交于2000年9月1日的美国临时专利申请No.60/230,532的权益。
发明领域
本发明涉及网络业务管理领域,更具体地涉及根据规则实现基于策略(policy-based)的网络业务管理。
发明背景
在当今高度网络化的环境下,希望对各种网络实体提供不同的服务等级(例如不同的服务质量(QoS))。例如,对于有多个网络设备(例如网站、个人计算机、机顶盒等)通过一个网络连接设备(例如路由器、交换机或网桥)被耦合到一个网络上的情形,可能有许多因素会导致希望具有对这些网络设备提供分类QoS(differentiated QoS)的能力,这些因素中包括了网络运营商的商业目的。
网络管理者可能会希望提供分类QoS的环境包括有多个用户会访问同一个连接的办公室环境,更确切地说,一个企业的多个远程办公室需共享网络资源这样的环境,另一种特别希望QoS分类的环境出现在多订户单元(MTU,例如高层公寓楼或居民小区)中,那里多个用户共享单个网络连接。
此外,在一个公司或MTU环境中,可能在各个终端用户与能保证某些性能等级的网络服务供应商之间存在着一些服务等级协议。
随着最近的铜质数字订户线(DSL)传输技术以高性价比向MTU,远地办公室、电话亭、电器或零售点提供了传送多兆比特的机会,对于此分类服务的需求也越来越明显。
发明内容
一种为网络连接设备预编译配置信息的方法,包括接收一个定义了对网络连接设备的行为需求的规则文件。接收一个描述了被网络连接设备的多个组件所支持的操作的操作文件。利用规则文件和操作文件生成一个可被网络连接设备执行的规则程序。规则程序包括了一组从那些被网络连接设备的多个组件所支持的操作中选出的操作,用于让网络连接设备的各个组件根据规则文件所定义的行为需求予以执行。
根据附图和下面的详细说明,本发明的其他一些特点将变得明显。
附图的简单说明
本发明将借助附图所示的非限制性例子来说明,附图中类似的代号代表类似的单元。在附图中:
图1是说明根据本发明一个示范性实施例的具有虚拟机形式的网络业务管理器的高级别操作的方框图。
图2是说明一个包括能访问一组用来作出业务分类决策的分类规则的虚拟机的网络连接设备的示范性布局的方框图。
图3是提供关于一个具有虚拟机形式的示范性网络业务管理器的体系结构的进一步细节的方框图。
图4是提供关于利用从一个输入包中提取的包签名来识别要应用于该包的策略的概念性描述的方框图。
图5是提供关于根据本发明一个示范性实施例的策略表的进一步细节的方框图。
图6是说明一个回流的流程图,其中事务2和事务3是事务1的直接后果。
图7示出一个ATM物理层的映射图。
图8是说明根据本一个示范性实施例的实现基于策略的网络业务管理的一种方法的流程图。
图9是提供根据本发明一个示范性实施例的一个虚拟机编译器的操作的高级别图解表示的方框图。
图10是说明一个规则程序的方框图,该程序在概念上包括一些用来把处理行为定义(方便地标注为操作)绑定到上下文化的数据集(方便地标注为寄存器)上的规则。
图11是说明根据本发明一个示范性实施例的为一个网络连接设备预编译配置信息的一种方法的流程图。
图12是一个示范性布局状况的图解表示,其中VNIC客户端应用程序宿寄到每个通过一个局域网(LAN)104耦合到一个网络连接设备的工作站上。
图13图解性地示出同时利用从一个包接收到的签名和时间日期信息的分类规则。
图14是说明来自VNIC客户端应用程序的VNIC包的传送,以贡献于一个信息说明文件的图解。
图15是说明每个工作站102中的注册库(registry)113的复制,或者另一个实施例中的对来自一个域服务器的注册库进行管理的方框图。
图16图解性地说明在一个VNIC对话中利用VNIC协议的VNIC包的传送,以建立并贡献于一些信息说明文件,这些文件被分类规则使用,图中的分类规则具有带宽划分分类规则的示范性形式。
图17是一个具有计算机系统示范性形式的机器的图解表示,其中具有一系列机器可读指令的形式的、用于执行前述任何一种方法的软件可以被执行。
详细说明
现将说明一种为一个数据通信设备预先编译配置信息的方法和系统。在以下的说明中,为了说明和能彻底理解本发明,提供了许多具体的细节。然而很明显,对于熟悉本技术领域的人们来说,没有这些具体细节也可以实施本发明。
图1是说明根据本发明一个示范性实施例的具有虚拟机10的形式的网络业务管理器(network traffic manager)的高级别操作的方框图。具体地说,图1示出了虚拟机10已宿寄在一个网络连接(或数据通信)设备12(如网桥、交换机或路由器)中。图中示出虚拟机10包含一个分类器14,它能根据网络拥有者所提供的一组分类规则18来分类输入的网络业务16。具体地,含在输入网络业务16中的每个包都被分类器14根据分类规则18分类成几种流类别(flow class)20和流实例(flow instance)22中的一种,规则18定义了各个包应该如何来互相区分。
图2是说明一个包括能访问一组用来作出业务分类决策(trafficclassification decisions)的分类规则18的虚拟机10的网络连接设备12的示范性布局的方框图。这些分类规则18根据分类的需要可以是简单的或复杂的,并且为了进行分类可以为一种特定类型的网络业务定义一个“签名”。这里,不论该签名是否是从网络业务自身提取得到的,术语“签名”都被当作与网络业务有关的信息,用来表征(characterize)或分类网络业务。在图2的示范性布局中,虚拟机10通过一些输入虚拟接口24从一些10baseT网络连接接收网络业务,并通过一些输出虚拟接口26向ATM或ADSL网络连接输出已分类的网络业务。在一个实施例中,这些虚拟接口24和26可以构成一个物理端口和/或一个虚拟通道。进入一个输入虚拟接口24的网络业务被虚拟机10根据分类规则18分类。然后根据分类规则18的定义,一个包,一个帧或一个信元被路由、交换或桥接到一个适当的输出虚拟接口26上。
例如,在第三层上,包可以根据诸如源或目的互联网协议(IP)地址、服务位的类型和协议类型等标准在虚拟接口24与26之间发送。如果输出虚拟接口26是一个带有多个VCC的ATM虚拟接口,则虚拟机10可以计算出一个基于服务质量的标签,并利用其转发相关的包,对此后面有更详细的讨论。在第二层上,帧可以根据源和目的MAC地址,帧类型和封装方式在虚拟接口24和26之间交换。如果输出虚拟接口26是一个ATM虚拟接口,则虚拟机10将根据为该特定第二层流规定的QoS需求来选择一个通道。在一个实施例中,网络连接设备12可以是基于一个能支持双向交换10baseT以太网端口,8Mbps的ADS调制解调器,ATM SAR处理,以太网桥接和IP路由的高性能ISE处理器的。
图3是提供关于一个具有虚拟机10形式的示范性网络业务管理器的体系结构的进一步细节的方框图。在该示范性实施例中,虚拟机10既包含分类器14,又包含标签器(labeler)15。首先看分类器14,如上所述,分类器14能把一个包分类成例如几种流类别和流实例中的一种。为此,分类器14从每个包中提取一个签名,然后把它分解成两个不同的字段,即(1)流类别区分符(flow class discriminator,FCD),它定义了这个包所属的流类别,以及(2)流实例区分符(flow instance discriminator,FID),它定义了这个包属于该流类别的哪一个实例。一般而言,流类别用来规定传输控制,而流实例用来规定准入(admission)控制。
图3示出了3个分立的的基于规则的处理,它们都可以自主地实施。第一个基于规则的处理是如上所述的由分类器14执行的分类处理。在一个实施例中,分类规则18可以通过“简单网络管理协议(SNMP)”来配置。其余两个基于规则的处理分别利用所示的事件管理规则17和标签管理规则19来执行。在一个实施例中,事件管理规则17和标签管理规则19可以利用已编译的虚拟机规则来配置,其编译将在本文后面进一步说明。现在更具体地说明事件管理,一个已编译的事件管理规则17是与一个流类别20的生命周期中的一些重要事件相关连的。下列的表1给出了这些规则和事件的例子:
表1
事件管理规则 | 事件 |
On Create(生成) | 当一个流的一个新实例被生成时 |
On Delete(删除) | 当一个流的一个实例被删除时 |
On Resource Conflict(发生资源冲突) | 当一个新实例引起资源冲突时 |
On Threshold Positive(发生阈值正) | 当平均数据率上升超过预定阈值时 |
On Threshold Negative(发生阈值负) | 当平均数据率下降低于预定阈值时 |
事件管理规则17被用来调整网络连接设备12的细粒度行为(fine-grained behavior),以支持准入控制策略,还用来根据资源预留协议(如RSVP)实现适当的行为。标签管理规则19被标签器15用来调用和响应对等(peer-to-peer)标签交换协议(如LDP)。这使得在相邻网络设备之间能进行标签空间的动态绑定。
现在进一步讨论一个示范性“签名”。图4是提供关于利用从一个输入包29中提取的包签名31来识别要施加于该相关包29的策略的概念性描述的方框图。签名31由分类规则18规定,它可以包括包29内的字段和/或数据的任何组合。签名31被用作一个标记(tag)在一个策略表(如MIB)30中进行查找,以定位用于处理相关包29的策略。如图4所示,该策略可以规定各种服务参数32。在该示范性实施例中,这些服务参数32与ATM业务管理有关,它们被提供给一个ATM业务管理模块34,后者再把这些服务参数32应用到通过一个或多个输出虚拟接口26输出的各个流上。例如,这些服务参数32可以规定某个特定流是以高QoS提供的,而另一个流则是以低QoS提供的。
包29的签名31被分类器14用来把包29与其他非类似的包区分开来。如前所述,具有相同签名的包(或其他网络业务单元)的序列被称作为“流”。当分类器14识别出一个具有流签名的包29并且持续下去,直到具有该流签名的包29之间的时间间隔超出一段特定的时间(例如流的超时间隔(Interval Timeout))时,则称这个流是被实例化(instantiated)的。
虚拟机10并不在签名31或包29上加入任何结构。例如,在一段上下文(context)中,签名31可以仅仅包括包29的目的IP地址。在另一段上下文中,签名31可以包括目的IP地址再加上一个源MAC地址。对于任一给定的上下文,最恰当的签名31应该从工程上考虑,并决定于该给定的上下文。
分类器14能通过评估一条分类规则18来确定包29的签名31。在一个实施例中,一条分类规则18包括一个涉及到下面表2中所列的一个或多个包字段的布尔表达式:
表2
字段名 | 字段的说明 |
SMA | 包含该包的帧的源MAC地址 |
DMA | 包含该包的帧的目的MAC地址 |
SIP | 包的源IP地址 |
DIP | 包的目的IP地址 |
PRO | 包的IP协议字段 |
TOS | 也用作DiffServ DS字段的包的IP服务类型字段 |
SPO | 源TCP或UDP端口 |
DPO | 目的TCP或UDP端口 |
RXL | 包的接收标签。这是分配给输入包的标签(如在MPLS,802.1q等情形中) |
此外,输入虚拟接口24也可被认为是包签名31中的一个隐含部分。
图5是提供关于根据本发明一个示范性实施例的策略表30的进一步细节的方框图。如前所述,分类器14是通过在策略表30中的标签(如流类别区分符FCD)与它们的对应策略(流类别)之间建立关联来配置的。在一个实施例中,策略表30内的每个条目都是一组数据项,其中规定了要用于分类的包签名31的字段。每个字段(除了SMA和DMA)都可被赋予一个值和一个掩码。SMA和DMA字段各自都有一个值,但没有与之相关的掩码。分类器14在接收到一个包29时就在策略表30中搜索一个与包29的签名31匹配的条目。在一个实施例中,为了定位这样一个匹配,分类器14首先用一个FCD掩码来对包签名31做掩码计算,然后将它与FCD值相比较。如果匹配成功,则包29将被作为相应流类别中的一员进行处理。策略表30中的条目可以按照“最佳匹配将被首先找到”排序。
图5还示出了一个流类别表36。一旦一个包29被分类为某一特定的流类别,它就将被按照流类别表36中的规范来处理。所以,流类别表36应被看作是上面参考图4所讨论的策略的一个示范性实现。在一个实施例中,流类别表36是确定了有关的流应具有何种行为的数据项的一个序列。
在一个实施例中,流类别表36含有一些字段,即:(1)一个实例选择符字段,(2)一个“实例超时”字段,(3)一个最多实例字段,(4)一个传输码点(transmit code point)字段,以及(5)一个回流(reciprocal flow、)字段。
类别表36的实例选择符字段规定了应该利用包29的签名31中的哪些字段来区分一个流类别的各个实例。如果在表36中没有规定实例选择符,则认为被分类在相关流类别内的所有包29都属于同一个实例。实例超时字段规定了一个特定流中各个实例之间可能呈现的最长的包与包之间的间隔。如果相关流的两个包29之间的间隔长于这个最长包间隔,则认为这两个包属于不同的实例。例如在图1中,流类别1中的第一个“A”包与第二个“A”包之间的时间间隔超出了实例超时值。
最多实例字段规定了一个特定流中可能同时存在的实例的最大数目。这个字段中的值被设置为“N”。一个试图生成第“N+1”个实例的包29将被摒弃。如果一个业务模式(traffic pattern)试图为一个流生成太多的实例,则分类器14将产生资源冲突。
如果规定了传输码点字段,则它将包含一个值,这个值将成为用于输出包的一个所谓的传送“行为码点(behavior code point)”。行为码点是一个指明了虚拟机10应如何转发一个流的值(即这个值规定了当对包进行排队和转发等时所使用的一些算法)。包转发处理是与特定协议相关的(protocol specific),所以该行为码点是一个与包转发相关连的语义范式。一旦在一个包中作出了转发决策,输出虚拟接口26就将把这个值映射成它自己的点对点(pier-to-pier)协议专用传输。
关于回流字段,可以把一个流配置成能识别它的回流(即因这个流而产生的任何反方向传送的业务)。这表现在图6中,其中事务2和事务3是事务1的一个直接后果。如果一个虚拟接口没有被配置用来绑定其回流,则虚拟机10将把事务2和事务3识别为两个流(例如有一个包的A.B流和有2个包的B.A流)。然而,如果虚拟接口被配置成绑定其回流,则虚拟机10将把它们当作单个流(例如一个有3个包的A.B流)。
下面将讨论输入和输出虚拟接口24和26(例如参考图2)。在一个实施例中,虚拟接口是一个物理接口的逻辑描述,其中隐去了任何复用的细节。例如一个ATM物理层可按图7所示被映射。
当虚拟机10把一个包交换到一个输出虚拟接口26上时,相关包所属的流类别将提供一个规定了相关流类别的传输需求的发送码点(如上面讨论的行为码点)。每个虚拟接口都被创建成能支持一个特定的网络拓扑结构,并规定了一个包应如何映射到外部网络和从外部网络映射回来。具体地,每个虚拟接口所具有的配置能够:设定下层物理接口的类型(例如以太网、VDSL、ADSL等),指定一个驱动器实例(即物理层的实现),指定该虚拟接口能使用的物理层的标签空间,设定该虚拟接口的类型(如以太网、RFC1483、L2TP上的PPP等),使能和禁止DHCP,指定一个MAC地址,指定一个IP地址和一个子网掩码(路由时),使能和禁止IP多播,使能和禁止对一个特定类型的其他虚拟接口的广播,使能和禁止网络地址翻译,以及使能和禁止生成树(Spanning Tree),以及设定状态(如阻塞、侦听、转发等)的优先级和成本。
此外,在一个实施例中,一个虚拟接口还包含以下信息:接收的单播字节和包,接收的多播字节和包,接收的广播字节和包,接收的摒弃字节和包,发送的字节和包,以及发送器摒弃的字节和包。
图8是说明根据本发明一个示范性实施例的实现基于策略的网络业务管理的一种方法40的流程图。该方法40从方框42开始,其中建立服务策略(例如在策略表和/或流类别表30、36中规定的)。这些策略可以通过在网络连接设备12中上载和/或定义多条规则(如分类规则18、事件管理规则17和标签管理规则19)来定义。
在方框44中,在一个输入虚拟接口24处(例如通过一个以太网端口或一个PCI总线)接收一个包29。然后在方框46中将该包29 IP路由到虚拟机10中。在方框48中确定包29的上述签名。在方框50中,通过利用该签名在策略表和/或流类别表30、36中进行查找,识别处理包29时应采用的策略。
然后在方框52中,确定由识别出的策略规定的转发(及处理)的过程(如ATM通道的识别)和服务等级参数。接着在方框54中,根据该策略通过一个输出虚拟接口26发送出相关的包29。该方法40结束于方框56。
虚拟机编译器(Virtual Machine Compiler)
许多网络设备都包括有许多软件和硬件子组件(如IP、PPP、ATM等),它们各自都有自己的特性和参数。网络设备的正确操作依赖于这些子组件的组件参数或网络体系结构的正确配置。
组件参数常常是互相依赖的,也可能是互斥的。网络设备的正确配置要求对这些依赖关系有仔细的考虑。网络管理设备通常允许设定各个组件参数,但并不强制产生由一系列分立的配置操作所得到的某个净结果。这可能是因为执行这一任务时管理和被管理的设备都需要大量的资源。随着网络设备变得更小、更多、功能更强、成本更低和对任务更关键,上述配置组件参数的问题将变得更多见。具体地说,网络设备正在越来越多的被采用(其中一些是关键任务的应用),从而对组织来说网络管理的成本也在不断增大。宽带服务的大规模采用正使得上述问题趋于恶化。
根据本发明的一个实施例,为解决上述网络管理问题提出的一种方案包括把由一些分立的配置步骤所得到的结果编译成一个能指导网络设备如何动作的不可分割的规则。此结果的好处是可能更可靠地完成配置任务(并具有较小的代码量),还能提供一种对设备的MTEF没有不良作用的增大配置分辨率的机制。增大管理分辨率例如意味着一个网络设计者能对网络设备行为的各个细节方面安全地施加控制,这种细节方面例如有流分类和数据路径特征等。
图9是提供根据本发明一个示范性实施例的一个虚拟机编译器60的高级别图解表示的方框图。图中示出该虚拟机编译器60将接收如下输入:(1)一个描述了由一个特定网络设备的各个组件所支持的操作(即组件行为)和一些限制性定义的操作文件62,以及(2)一个规定了一个特定网络设备的行为需求的规则文件64。在一个实施例中,这些行为需求可以用决策树形式的文本表示来规定。
虚拟机编译器60利用操作文件62和规则文件64来编译规则程序66,在一个实施例中该程序包括一个包含了前述适用于虚拟机10的指令序列的二进制对象。规则程序66包括一组从由网络连接设备12的组件所支持的各种操作中选出的操作,以供网络连接设备的各个组件根据规则文件64所定义的行为需求来执行。在一个实施例中,规则程序66将体现为一些序列,这些序列构成了上面结合图3所讨论的分类规则18、事件管理规则17、和标签管理规则19。
这样,通过把规则程序66装载到一个虚拟机10的一些关键位置上,虚拟机编译器60便能用来以可靠及面向性能的方式定义该虚拟机10的行为。
在图10所示的一个实施例中,虚拟机编译器60向规则设计者给出一个由一些抽象的数据处理和上下文组成的模型。具体地,图10示出的规则程序66概念性地包括了一些规则68(即多个指令序列),它们用来把一些方便地标注为操作70的处理行为定义绑定到一些方便地标注为寄存器72的上下文化的数据集上。应该理解,由于一个特定的网络连接设备12可能由一些更小的组件构成,所以可以类似地认为网络连接设备12的全部处理和上下文也由一些相应的组件构成。如图10所示,每个希望贡献于一个处理(如数据平面或管理平面这样的抽象实体)的组件(如TCP协议或一个ATM设备驱动器)能通过一个新的或已有的寄存器72上的规则68操作。
一个特定的组件可以出现在多个处理中。例如,组件TCP可以既在一个数据平面处理中又在一个管理平面处理中提供操作。
一项规则68被声明为用于一个特定的处理73、挂钩(hook)74和上下文75,而虚拟机编译器60则能保证用于一项特定规则68的所有组件和操作都是兼容于这个声明的。挂钩74可以看成是可将规则68引导至的处理中的一个位置。一旦编写并测试了规则程序66,它便将可完全地描述一个网络连接设备12的行为。
现在更具体地讨论规则程序66。在一个实施例中,规则程序66包括一组已编译的形式化操作,这组操作在被递交给网络连接设备12之前已接受过一致性检验。如果没有这种一致性检验,各个分立的管理操作(如用于该种检验的多个SNMP集合)是互相排斥的,可能造成网络连接设备12不能操作。
为此,在执行之前,规则68将被其作者认证并由网络连接设备12检验。这样做将能提供功能级别上的安全性,而协议级别(如SNMP)上的安全性只能认证对系统的访问而不能保证任何操作的执行结果。
规则程序66还能独立于任何运行时管理协议(run-time managementprotocol)而被编译和装载到一个网络连接设备12中,这样,可以配置保留了可被表征的能力的“未被管理”的系统。
另外,从处理的角度看,规则程序66在被编译时其执行是比较高效和快速的。这使得能用一致的方法和工具集来定义数据路径行为(如包过滤和策略配置)和传统的配置管理(如IP地址指定等)。还有,在一个示范性实施例中,规则程序66是一个经编译的二进制对象,它能被一个认证机构“指定(assign)”,并且在只能执行于可使用的系统的前提下被分布。
现在将进一步说明操作文件62的一个示范性的实施例。如前所述,构建规则程序66所使用的操作是包含在操作文件62内的。
虚拟机10的一个示范性实施可以被分解成一些称之为组件的分立的且可重用的软件部分,在操作文件62中每个组件都占有一部分,其中描述了各组件所支持的各个操作。一个产品模型可以看作是虚拟机10的一个特定实例,它具有一组规定了的组件。由一种产品模型所描述的虚拟机10只能执行其构成组件的操作。每个组件被指定一个全局标识,并具有其自身的操作名字空间。运行时,每个组件的实现都向虚拟机编译器60注册其操作。当有一项新规则被引入网络连接设备12时(例如通过网络管理或来自存储器),虚拟机编译器60便将检验该新规则与其上注册的实现之间的一致性。一个在1与1216-1之间的指定标识符可以用来标识各个组件。
再次参考图10,规则程序66中的多个规则68是与虚拟机10所生成的多个抽象实体相关连的。这些抽象实体由它们的行为和数据来定义。一个特定的处理73唯一地标识一个特定的行为,一个上下文75唯一地标识一个特定的数据环境。一个规则程序66的正确操作所需的处理73和上下文75被编码成相关规则程序66的一个指令序列。虚拟机10检验注册的实现是否支持特定规则68所要求的同一种处理73和上下文75。下面给出一个示范性操作文件62的语法:<vop File><vop File> ∷=<context Declarations>
<process Declarations>
<component Declarations><context Declarations> ∷=(“CONTEXT”<context-ident>“=”<context-number>)+<process Declarations> (“PROCESS”<process-ident>“=”<process-number>
<process Schema>)+<process Schema> ∷=“BEGIN”(<hook-ident>“=”<hook-number>)+“END”<component Declarations> ∷=“COMPONENT”<component-ident>“=”<component-
number>
(<use Declaration<(<operation Declaration>)+)+<use Declaration> ∷=“USES”<context-ident>(“,”<context-ident>)*<operation Declaration> ∷=<operation-type><mnemonic-ident><function-ident>
<signature>“=”<op-number>其中:<number> 是0至65535之间的任何有效的数字,它构成
32位GOP中的高16位。<ident> 是任何有效的标识符。<context-ident> 是作为上下文名的<ident>。<context-number> 是一个名为<context-ident>的上下文的全局上下
文标识的<number>。<process-idem> 是一个<ident>,它是一个处理名。<process-number> 是一个<number>,它是名为<process-ident>的处
理的全局处理标识。<hook-ident> 是一个<ident>,它是一个处理内的一个挂钩名<hook-number> 是一个<number>,它是名为<hook-ident>的挂钩
的处理范围内标识。<component-ident> 是一个<ident>,它是组件名。<component-number> 是一个<number>,它是名为<component-ident>的
组件的全局标识。<mnemonic-ident> 是一个<ident>,它是操作的助记符。<function-ident> 是一个<ident>,它是实现操作的C函数名。<signature> 是操作的签名,如后所述。<op-number> 是一种<number>,它是操作的标识,构成32
位GOP的低16位。
此外,一个组件的每个操作70在一个示范性实施例中被声明为以下三种类型中的一种:<operation type> ∷=“ACTION”
|“PREDICATE”
|“MONITOR”
其中:
ACTION(动作) 是一种操作,它试图改变系统的状态,并且如果
改变成功则“PASS”,否则将“FAIL”。如果一个
动作失败,保证不会改变系统的状态。
PREDICATE(判定) 是一种操作,它测试系统的状态。如果测试为真,
则操作PASS。如果测试为假,则操作FAIL。
MONITOR(监测) 是一种操作,它可以改变也可以不改变系统的状
态,既不能PASS也不能FAIL。
从功能上说,虚拟机编译器60能保证规则程序66在执行了一个动作操作之后不再执行判定操作,因为动作操作隐含的系统改变排除了任何回溯。监测操作(未示出)可能改变网络连接设备12的状态,只要是以对规则程序66的执行透明的方式。例如,假定一个特定组件提供一个为一个特定子网寻找IP地址,然后把该IP地址发送给一个高速缓存的操作。即使规则包含了一个后来失败的操作,但如果该高速缓存中的IP地址仍然有效,则该操作将被声明是一个监测,否则将被声明是一个动作。
现在转向规则文件64。如前所述,规则文件64是一个被转换成一个二进制形式的规则程序66的文本文件。在一个示范性实施例中,可以在规则文件64中定义一些规则,每项规则都包括一个具有下列一般形式的决策树:
IF<predicate>THEN<action>ELSE<action>。
可以理解到,可以通过利用更多的IF---THEN---ELSE语句来在规则文件64中建立复杂的决策树。判定和动作都由多个操作的序列构成。每个序列在执行之后都或者PASS或者FAIL。如果一个特定规则的IF部分所有操作都通过(pass),THEN部分的语句才会被执行。如果一个特定规则的IF部分的任一个操作失败(FAIL),则将执行该特定规则的ELSE部分的语句。
下面给出一个示范性规则文件64的语法:<rule><rule> ∷=“RULE”<ident><mleHdr>“BEGIN”<ruleBody>“END”
其中:<ident> 是规则68的名字。如果规则68的名字与输入文件的名字(忽
略扩展名)不一致,则虚拟机编译器60将产生一个警告。<ruleHdr>
规则头包含属于所有整个规则68的信息。
规则头的语法为:<mleHdr> ∷=<process Decl><context Decl>[<key Decl>]
(<constant>|<macro>)*<processDecl>
规则68的处理描述期望规则68在其中运行的行为环境。处理声明包含指向规则68的挂钩点。<processDecl> ∷=<process-ident>“(”<hook-ident>“)”<contextDecl>
规则68的上下文描述期望规则68在其中运行的数据环境。该环境包含规则操作的一些数据区域以及待用操作的修正(revision)。<contextDecl> ∷=“USES”<context-ident>
其中:<context-ident> 是一个<ident>,它是一个上下文的全局名。<keyDecl>
规则68的密钥是一个16进制数据串,用于认证规则的来源。当虚拟机10装载一个规则时,它保证规则68的密钥兼容于已被指定给相关网络设备的“共享秘密”(Shared Secrets)。<keyDecl> ∷=“KEY”″″″<key-hstring>″″″
其中:<key-hstring>是一个<hstring>,它构成该规则的认证密钥。<constant>
常数数据项被编译进堆对象(heap-objects)或内联对象(inline-objects),并能通过使用指定的标识符来引用。<constant> ∷=<heapObject>
|<inlineObject><heapObject>
一个堆对象要存储在规则68的一个称为参数堆的区域中。这些项被当作连续的模4字节序列。堆对象的前2个字节是类型字段,其后的2个字节是以字节计的长度字段,而其余字节可能是填充在后面的对象值。规则中使用下述语法来声明堆对象:<heapObject> ∷=″STRING″<ident>″=″″″″<cstring>″″″
|″DATA″<ident>″=″″″″<hstring>″″″
其中:<cstring> 是可打印字符的任何序列。<hstring> 是字符“0”…“9”,“A”…“F”,和“a”…“f”的任何序
列。
例如:STRING CompanyName(公司名)=“Xstreamis plc.”DATA macAddress=‘1122AB33DA76’
为了使用堆对象,一个操作被声明时必须在其签名中适当位置处有一个“o”。<inlineObject>
一个内联常量对象利用下述语法声明:<inlineOjbect> ∷=“INTEGER”<ident>“=”<number>
在声明了一个常量之后,规则68中使用任何<indent>都将导致它被值<number>所取代。
应该注意,常量并不驻留在堆上,而是被以与一个整数文字(integer literal)一样的方式放置在指令流中。<macro>
宏是操作序列的一个规范,它能用一个给定名来引用。每当在规则68中出现该给定名时,它将被规定的指令序列所取代。<macro> ∷=“DEFINE”<macro-ident>“{”<macroBody>“}”
其中:<macro-ident> 是一个<ident>,它用来标识这个宏。<macroBody> 是指定给宏标识的一个操作序列。
虚拟机编译器60将把任何出现的<macro-ident>解释为好像出现了<macroBody>一样。<rule Body>(规则主体)规则68的主体具有下述语法:<ruleBody> ∷=<clause>*<clause> ∷=<expression>*
|“IF”<clause>“THEN”<clause>“ELSE”<clause><expression> ∷=<complexExpression>
|<literal>
|<macro-ident>
|<operation>
| “(”<expression>“)”
其中:<complexExpression> 是一个复杂的中置、后置或前置表达式(该语法
的较详细说明可见http://vm.html)<literal> 是一个16进制或10进制的常量。<operation>这是对操作文件62中所定义的一个操作的调用。操作的名字是操作文件62中指定给该操作的助记符,由自变量表中自变量的类型和规则的上下文声明表明所修饰。
一个组件可以有多个助记符相同但自变量类型不同或者位于不同上下文或包内的操作。<operation> ∷=[“NOT”]<mnemonic-ident>[“(”argList“)”]<arglist> ∷=[<expression[“,”<expression>]]
其中:<mnemonic-ident> 是一个<ident>,它是在该VOP文件中指定给一个操
作的助记符。<arglist> 是零或多个表达式的序列,它构成了对应于
<mnemonic-ident>的操作的自变量。
如果关键字NOT出现在操作的前面,则将在操作的LOP码中设定一个反转位(negation-bit),使得虚拟机10让操作的意义反转。<literal>
文字(literal)对象是一个存储在指令流中的32位值。当一个操作被调用时,虚拟机的指令指针将指向第一个文字值(如果存在),而实现该操作的函数的职责是把该指令指针前移到超过所有期望的文字对象(即让该指针指向下一个操作码)。<literal> ∷=<number>|<heapObjeet-ident>|<const-ident>
其中:<number> 是0到216-1之间的任何10进制或16进制值。<heapObject-ident> 是一个<ident>,它被指定给一个<heapObject>。<const-ident> 是一个<ident>,它被指定给一个<constant>。
现在转到规则程序66。在一个示范性实施例中,一个规则程序66可作为一个以网络端(例如大端)方式存储的32位值序列被装载到虚拟机10中。在一个实施例中,规则程序66中的规则可按下列方法编码,其中所有的链接和索引都是联网实体:r=0:zzzz 魔数(Magic number)(0x52554c61)1:pppp 处理ID2:hhhh 挂钩ID3:cccc 上下文ID4:-xx- 长度,除了前3字段之外5:f(l) 最后一个有效操作码(opcode)的索引6:f(n) 第一个GOP的索引
KKKK(即等于5的值意味着没有TLVs)
KKKK
KKKKop(1):GOP1 第一个操作的GOPop(1)+1:LOP1 第一个操作的LOPop(1)+2:LIT1 f1的第一个自变量op(1)+3:LIT2 f1的第二个自变量op(2)=op(1)+arity(1):GOP2
op(2)+1:Lop2 第一个操作的LOP
op(2)+2:LIT2 f2的第一个自变量
op(2)+3:LIT2 f2的第二个自变量
…op(n)=op(n-1)+arity(n-1):GOP2
op(n)+1:LOP2 第一个操作的LOP
op(n)+2:LIT2 f2的第一个参数
op(n)+3:LIT2 f2的第二个参数h(l)=op(n)+arity(n):-hl- -hl-字段描述参数堆的长度
h(l)+O:t1v1 t1v1字段描述第一参数堆数值的类型
vvvv 和长度
vvvv
h(l)+t1va.len:t1v2 t1v2字段描述第二参数堆值的类型
vvvv 和长度
vvvvh(l)+t1v1:len+t1v2.len:????=r(l)+xx+1
1.魔数(Magic number)
规则的第0个字是一个32位的数,它把该字序列标识为一个有效规则68。
在该数内的编码是规则68的结构的修正。
2.规则上下文
规则的第1个字和第2个字指明规则68的上下文。
第1个字是虚拟机上下文,而
第2个字是组件上下文。
虚拟机编译器保证规则68中所用的所有操作都只在这两个上下文中的一个上进行。
所有的上下文和操作的关联都在操作文件62中制定。
规则长度
规则68的第3个字是规则68的长度。被编码的值是从当前位置开始的规则68的长度,即<length of rule>-3
3.最后GOP索引
规则68的第3个字是最后GOP索引。这是从规则的开始到操作序列的最后GOP的偏移量。虚拟机利用这个值来定位堆的起点。
4.第一GOP索引
规则的第4个字是第一GOP索引。这是从规则的开始到操作序列的第一个GOP的偏移量。虚拟机10利用这个值来定位认证密钥的存在和操作序列的起点。
4.1认证密钥
第5个字包含可选的认证密钥,它在第一GOP索引与操作序列的第一GOP之间占用零或多个字。如果不存在认证密钥,则第5个字包含操作序列的第一GOP。
5.操作序列
跟随在认证密钥后面的是一个操作序列。每个操作都由一个GOP、一个LOP和零或多个文字组成。
5.1全局操作码(GOP)
GOP是一个用于全局地标识一个操作的32位值。GOP由16位的组件标识符和16位的操作标识符串接而成。
5.2本地操作码(LOP)
LOP标识一个操作所需的自变量的数目,从而标识了编码操作的总长度。当把规则68装载到虚拟机中时,虚拟机将用某个运行时信息覆盖LOP的值。
LOP具有如下结构:
AAAA NFFF FFFF FFFF UUOO OOOO OOOO OOOO
其中:
A 操作的元数(arity)(即操作在指令流中所消耗的文字自变量的数目)。
N 意义反转:虚拟机必须反转操作的意义(即,对于一个会PASS的操
作,则将使其所含的语句FAIL)。
F FAIL偏移量(即,当该操作应该FAIL时,在继续执行前需跳过的操
作数目)。
U 未使用
O 操作符函数的索引。VM把规则绑定到系统中时将对之覆盖。
5.3自变量
操作的自变量是传送给该操作的值。指令流中自变量的数目被编码在“元数”字段内的LOP中。一个自变量的值或者是一个32位的文字值,或者是从规则的始端到一个堆对象之间的32位偏移量。
6.堆对象
堆包含了作为自变量传送给操作的常量数据。每个堆对象的第一个字是一个包含了一个16位的对象标识和一个16位的对象长度的头部。当对象是一个字符串时对象标识符具有值1,当对象是一个16进制数串时对象标识符具有值2。对象的长度以字节计算。
图11是说明根据本发明一个示范性实施例的为一个网络连接设备12预先编译配置信息的一种方法80的流程图。在方框82中,虚拟机编译器60接收操作文件62和规则文件64。
在方框84中,虚拟机编译器60利用操作文件62和规则文件64例如以前述的方式来编译规则程序66。
在方框86中,针对用户(或管理者)的请求,规则程序66被装载到网络连接设备12中。例如,可以在用户或管理者的要求下,把规则程序66从某个远程设备装载到网络连接设备12中。
在方框88中,在网络连接设备12上工作的虚拟机10执行各组件的已注册操作与规则程序66的操作之间的一致性检验。
在方框90中,虚拟机10通过执行规则程序66来依据规则程序66对网络连接设备12(更具体地是对网络连接设备12的各个组件)进行配置。然后方法80于方框92结束。
虚拟网络接口卡和带外(OOR)通信
根据本发明的另一个方面,提供了一种在一个网络客户端设备(如工作站102)上执行的客户端应用程序,使得一个网络连接设备12(如交换机、网桥或路由器)能与该网络客户设备交互,就好像它是一个耦合在主机上的设备一样。该客户端应用程序提供了一些下面将说明的功能。在下述示范性实施例中,为了方便,该客户端应用程序被标注为虚拟网络接口(VNIC)客户端应用程序100。然而可以理解到,这仅仅是该示范性实施例的一个方便的标注。
图12是一个示范性布局状况的图解表示,其中一个VNIC客户端应用程序宿寄在每个通过一个局域网(LAN)104耦合到网络连接设备12的工作站102上。每个工作站102都还有一个用户106与之关联。
分别在各个工作站102上执行的VNIC客户端应用程序100将提供下述的服务。在用户桌面的任务条上也可选地装载一个VNIC客户端应用程序100的小图标,以便向相关的用户106传递状态信息(如QoS参数、网络业务参数、关于虚拟机10所作出的策略决策的策略决策信息等)。
在一个示范性实施例中,网络连接设备12如上述那样包含了一个虚拟机10,用以实施基于策略的网络业务管理。不过应该指出,VNIC客户端应用程序100给虚拟机10提供一些可选的功能,并不被要求使虚拟机10执行上述的基于策略的网络业务管理。在一个实施例中,VNIC客户端应用程序100通过与虚拟机10一起工作来提供增强的基于策略的网络管理能力。例如,VNIC客户端应用程序100能把典型地与耦合于主机的设备(如以太网卡或WAN适配器)有关的优点带入位于中央的网络连接设备12中。这些优点包括如下一些向管理员提供的能力:基于一个用户或一个工作组来改变网络连接设备12的行为的能力,在一个用户与一个网络连接设备12之间的一对一交互(例如通过弹出对话框和选择菜单来实现)的能力,与一个用户应用程序交互以获得业务需求细节而不需要特定的带内QoS信令的能力,让网络连接设备12能参与并受制于一个网络认证机制的能力,以及采用与一个由网络连接设备12所实现的策略网络业务管理方案相交互的客户方代理(如Jave小应用程序)的能力。
为了提供这些优点,图12示出了每个对信息说明文件(informationprofile)108有贡献的VNIC客户端应用程序100,该信息说明文件108由一个说明文件工具(profiler)维护并被一个具有虚拟机10的典型形式的网络业务管理应用程序所使用以执行基于策略的网络业务管理。在一个实施例中,VNIC客户端应用程序100利用相应工作站102与虚拟机10之间的带外(OOB)信令来对被虚拟机10访问的信息说明文件108进行贡献。被贡献给一个信息说明文件108的信息例如可以包括关于一个用户或有关特定工作站102的网络访问权限的数据。网络访问权限例如可以被规定为一个特定用户或工作站的特定带宽,作为某个社团的成员资格等。贡献给信息说明文件108的信息还可以包括关于一个用户或工作站102的网络访问要求(例如带宽需求)的信息、关于某个工作站102处的网络业务状况的数据、或者从与工作站相关的注册库中提取的数据(如指明一个工作组的成员状况的信息)。
信息说明文件108使虚拟机10在对业务进行分类时能考虑到包内所含信息以外的信息。具体地,信息说明文件108中所含的信息可能被虚拟机10用来补充基于策略的网络业务网络方案。VNIC客户端应用程序100还可不断地更新信息说明文件108。例如,当一个用户106登录到一个工作站102上并被一个网络域或组所认证时,VNIC客户端应用程序100可以不断地把关于该用户的信息转发给虚拟机10。对此,虚拟机10可以用指明了用户106的当前业务载荷所需要的资源的信息以及当前能否得到这些资源的信息作为应答。这种交换可以在界定了一个用户对话的“保持活动事务(keep-alive transaction)”的上下文中进行。“保持活动事务”还向网络连接设备12提供一个分立的事件,而使设备12按自己的需要更精确地去管理资源。
如前所述,当虚拟机10接收到一个包29时,就可以通过考察包结构的各个部分来对包进行分类,并根据一组反映了网络管理策略的规则把包指定给一个流。
根据本发明的一个方面,分类规则18除了利用包29自身所含的信息之外,还可以考虑物理信息(如接收端口)和上下文信息(如时间日期、一个给定事件的发生、特定包的以往接收情况、作为业务量密度指标的包间时间间隔)。为此,图13图解性地示出了同时利用从一个包29接收到的签名31和时间日期信息112的分类规则18。根据本发明的另一个方面,分类规则18利用关于网络连接设备12的物理特性的信息(如接收到这样的特定网络业务的设备12的端口)来实施一个网络业务策略。
可以理解到,通过利用从包29提取的详细信息和应用分类规则18,虚拟机10能够以高分辨率来区分流类别20。不过,仅仅借助于考察通过一个网络连接设备12的数据来导出的信息的量是有限的。该VNIC客户端应用程序100可以为虚拟机10利用分类规则18实现分类处理提供额外的信息。
图14是说明来自VNIC客户端应用程序100,并被贡献给一个信息说明文件108的VNIC包114的传送的图解。信息说明文件108又构成了被虚拟机10用来实现基于策略的网络业务管理方案的分类规则18的输入。
在一个实施例中,一个活动的用户帐号与网络连接设备12之间的保持活动事务将在例如被该用户所使用的一个工作站102的MAC地址与一个信息说明文件108之间建立联系。这时,图14所示的各分类规则18(以及其他策略性规则)在作出策略决策时可以访问含在信息说明文件108内的一些附加标准。
在一个实施例中,信息说明文件108并不被配置到网络连接设备12内,因为这将会造成管理的负担,增大网络连接设备12的成本,并且要求网络连接设备12去扩展到用户社团的规模而不是I/O带宽。在一个实施例中,一个VNIC协议在保持活动事务期间将信息说明文件108传送给网络连接设备12,以供分类规则18使用。
在一个实施例中,信息说明文件108可以从工作站102(或PC机)的注册库中导出,可以包括工作组信息、应用信息、和用户确认。
现在将说明VNIC客户端应用程序100和一个把信息说明文件108传送给网络连接设备12的VNIC协议的示范性使用情况。在该示范性使用情况中,网络管理者希望把一个广域网(WAN)的带宽划分给三个社团:金社团、银社团和铜社团。铜社团是所有用户所属的一个默认社团,而金、银社团则具有明确的成员关系。在一个示范性实施例中,这一划分的实施有三个步骤:(1)提供广域可连接性,(2)提供包分类,和(3)部署VNIC客户端应用程序和说明文件。
关于第一个步骤即提供广域可连接性这一步骤,在一个示范性实施例中为每个社团建立三种分开的跨越WAN的回路。下面的表3提供了这三种网络回路的详情。
表3
社团 | VCC | B/W |
铜 | 10 | 32kb/s |
银 | 20 | 128kb/s |
金 | 30 | 256kb/s |
应该指出,这些独立的回路可以是利用永久性虚拟回路的静态通道,也可以是利用某些信令的组合(如标签分发或呼叫建立)的动态通道。
现在讨论第二步骤即提供包分类。给网络连接设备12引入一个分类规则18供虚拟机10使用,该类规则18根据发信者的社团成员关系规定了包的分类。下面给出一个示范性的规则定义。RULE Bw Partition //规则名PROCESS DATA_PLANE(LABEL) //规则用于数据平面的标签挂钩USES Packet-Revision-1 //假定是基于包修正1来撰写规则INTEGER GOLD=1 //金社团INTEGER SILVER=2 //银社团INTEGER BRONZE=3 //铜社团INTEGER GOLD_VCC=30 //金通道INGEGER SILVER_VCC=20 //银通道INGER BRONZE_VCC=10 //铜通道BEGINCOMPONENT SIGS //使用sig交换操作码组IFUserProfilesIsKnown //对该包是否有一个活动的VNIC对话?THENIFUserCommunityIs(GOLD) //如果该用户属于金社团THEN SetTxLabelI(GOLD-VCC) //则使用金VCC,否则ELSEIFUserCommunityIs(SILVER) //如果该用户属银社团THEN SetTxLabelI(SILVER-VCC) //则使用银VCC,否则ELSEIF
UserCommunityIs(BRONZE) //如果该用户属铜社团THEN SetTxLabelI(BRONZE-VCC) //则使用铜VCC,否则ELSE DISCARD //这是一个无效的说明文件!ELSESetTxLabelI(BRONZE-VCC) //如果没有运行V-NIC,则默认为
//铜社团END
从上面的分类规则18可以注意到,规则18被声明为一个处理DATA-PLANE的一部分,并针对一个挂钩点LABEL。这是数据平面负责确定将用于输出流的正确的发送标签的部分。规则18定义了三个整数常量,每个常量代表一个相应的社团,还为每个相应的VCC也各定义了一个整数常量。当一个包29到达且该LABEL规则被调用时,规则18将首先调用判定“USERPROFILEISKNOWN”。如果对于相关的流调用当前存在一个活动的VNIC对话,则该操作成功,否则该操作失败。如果没有活动的VNIC对话,则包29将被标注以默认的“铜”VCC。然而如果有活动的VNIC对话,则分类规则18将系统性地检验相关信息说明文件108的社团属性,以确定该说明文件属于哪一个社团。当确定了相关的属性时,便给相应的VCC设定发送标签。如果社团标识无效,则因为这意味着信息说明文件108的配置不正确,所以只需简单地摒弃相应的包29。
该示范性使用情况的第三步骤是配置VNIC客户端应用程序100。具体地,对于在SILVER或GOLD(银或金)级别上参与被划分网络的每个工作站102,管理者必须为其安装一个VNIC客户端应用程序100(如从CD(光盘)或含有必要的安装数据的网址安装)。管理者还用GOLD、SILVER或BRONZE这样的社团成员值来给每个网络用户(或网络登录账号)指定一个VNIC属性“COMMUNITY”。这一属性值对应于分类规则18中所声明的“金”、“银”或“铜”的定义。
注册库113可以在每个工作站102中被复制(可以是不相同的),或者如图15中所示,在另一个实施例中注册库113可以以一个域服务器来管理。
图16图解性地说明在一个VNIC对话利用VNIC协议的VNIC包114的传送,以建立并贡献于一些信息说明文件108,这些文件将被分类规则18使用,图中的分类规则具有带宽划分分类规则18的示范性形式。如图16所示,一个小连接设备从宿寄在联网工作站102上的VNIC客户端应用程序100接收VNIC包114形式的数据。VNIC包114包含了进行流分类时可用的附加信息。具体地,如果管理者把用户A指定给了SILVER社团,则当用户A利用一个MAC地址为00:50:C2:04:60:18的以太网卡登录到一个工作站102上时,在相关工作站102上执行的VNIC客户端应用程序100与网络连接设备12之间的保持活动事务在一个缓存于网络连接设备12内的信息说明文件108中为相关的MAC地址与SILVER社团建立一个关联。当网络连接设备12从相关工作站102接收到包12并且DATA-PLANE(LABEL)被调用时,图16中所示的示范性带宽划分分类规则18将把一个输出流交换到VCC20上。
计算机系统
图17是一个具有计算机系统200的示范性形式的机器的图解表示,具有一系列机器可读指令的形式的、用于实现前述任何一种方法的软件可在其中执行。在另一个实施例中,该机器可以包括任何能执行一个指令序列的机器,包括但不局限于:个人数字助理(PDA),移动电话,网络业务设备(如路由器、网桥、交换机),或者手持计算设备。计算机系统200包含了一个处理器202、一个主存储器204和一个静态存储器206,通过总线208互相通信。图中的计算机系统200还含有:一个视频显示单元210(如液晶(LCD)或阴极射线管(CRT)显示器)、一个字母数字输入设备212(如键盘)、一个游标控制器214(如鼠标)、一个磁盘驱动器单元216、一个信号发生设备220(如扬声器)、和一个网络接口设备222。盘驱动器单元216应适配于其上存储了体现前述任一种方法的软件226的机器可读介质224。图中还示出,软件226也还全部地或至少是部分地驻留在主存储器204和/或处理器202中。而且,软件226还可以由网络接口设备222发送或接收。在本说明书中,术语“机器可读介质”包括了具有下述功能的任何介质:能够存储或编码一系列由一个机器如计算机系统200执行的指令;以及能够使该机器执行前述方法。“机器可读介质”一词包括但不局限于:固态存储器、光盘和磁盘,和载波信号。
如果软件226是一种符合于公认标准的编程语言编写的,则它就能在各种硬件平台上执行,并能与各种操作系统相接口。此外,本发明并没有针对任何一种特定的编程语言来说明。应该理解,可以用各种编程语言来实现这里所说明的本发明所表述的内容。还有,在本技术领域内,说到能采取一个行动或导致一个结果的软件时,通常使用以下形式的术语中的一种,如程序、过程、处理、应用、模块、逻辑等等。这些表达形式只是一种简化的方法,其含义是,软件是由一个机器(如计算机系统200)来执行的,该机器执行一个行动或产生一个结果。
至此已说明了一种为一个数据通信设备预编译配置信息的方法和系统。虽然本发明是参考了一些特定的示范性实施例来说明的,但很明显,可以在不偏离本发明的更宽泛的精神和范畴的情况下对这些实施例做出各种修改和变化。所以,应该把本发明说明书及其附图看成是说明性的而不是限制性的。
Claims (30)
1.一种为网络连接设备预先编译配置信息的方法,该方法包括:
接收一个定义了对该网络连接设备的行为需求的规则文件;
接收一个描述了一些由该网络连接设备的多个组件所支持的操作的操作文件;以及
利用该规则文件和该操作文件产生一个可被该网络连接设备执行的规则程序,
其中,该规则程序包括一组从由该网络连接设备的多个组件所支持的操作中选出的、用于由该网络连接设备的各个组件根据该规则文件所定义的行为需求予以执行的操作。
2.如权利要求1所述的方法,其中该规则文件包括一个决策树结构。
3.如权利要求2所述的方法,其中该规则文件包括一系列被定义为IF THEN ELSE语句的操作。
4.如权利要求1所述的方法,其中该规则文件包括一个文本文件。
5.如权利要求1所述的方法,其中该操作文件包含多个部分,所述多个部分中的每一部分描述了由所述多个组件中的一个相应组件所支持的一些操作。
6.如权利要求1所述的方法,其中该操作文件规定了至少一个能标识一种行为的处理和至少一个标识了一个能支持该规则程序的执行的数据环境的上下文。
7.如权利要求1所述的方法,其中该规则程序被编译成一个二进制对象。
8.如权利要求7所述的方法,其中该编译好的二进制对象包括一个供宿寄在该网络连接设备中的一个虚拟机执行的指令序列。
9.如权利要求1所述的方法,其中包括了规则程序的那组操作包含一些用于确定该网络连接设备的多个组件的功能的配置操作。
10.如权利要求1所述的方法,其中该规则程序把一个组件的操作链接到一个上下文化的数据集上。
11.如权利要求1所述的方法,其中该规则程序由一个认证机构认证。
12.如权利要求1所述的方法,其中该规则程序的至少一部分专用于一个特定的处理和上下文,并且其中该规则程序的产生包括执行检查以确定:与该部分规则程序相关连的组件和操作是否兼容于一个已声明的处理和该部分规则程序的上下文。
13、如权利要求1所述的方法,其中该规则程序的产生包含编译规则程序和以独立于运行时管理程序的方式把该规则程序装载到网络连接设备中。
14、如权利要求1所述的方法,还包括利用该网络连接设备的多个组件来执行该规则程序。
15、如权利要求14所述的方法,其中该网络连接设备的多个组件中的每个组件都注册至少一个操作,且该方法还包含执行上述那组操作与多个组件所注册的那些操作之间的一致性检验。
16、一种为一个网络连接设备预先编译配置信息的系统,该系统包括:
一个定义了对该网络连接设备的行为需求需求的规则文件;
一个描述了一些由该网络连接设备的多个组件所支持的操作的操作文件;以及
一个编译器,用于利用该规则文件和该操作文件产生一个可由网络连接设备执行的规则程序,
其中,该规则程序包括一组从由该网络连接设备的多个组件所支持的操作中选出的,用于由该网络连接设备的各个组件根据该规则文件所定义的行为需求予以执行的操作。
17、如权利要求16所述的系统,其中该规则文件包括一个决策树结构。
18、如权利要求17所述的系统,其中该规则文件包括一系列被定义为IF THEN ELSE语句的操作。
19、如权利要求16所述的系统,其中该规则文件包括一个文本文件。
20、如权利要求16所述的系统,其中该操作文件包含多个部分,所述多个部分中的每一部分描述了由网络连接设备的多个组件中的一个相应组件所支持的一些操作。
21、如权利要求16所述的系统,其中该操作文件规定了至少一个能标识一种行为的处理和至少一个标识了一个能支持该规则程序的执行的数据环境的上下文。
22、如权利要求16所述的系统,其中该编译器用来将该规则程序编译成一个二进制对象。
23、如权利要求22所述的系统,其中该编译好的二进制对象包括一个供宿寄在该网络连接设备中的一个虚拟机执行的指令序列。
24、如权利要求16所述的系统,其中那组包括了该规则程序的操作包含一些用于确定该网络连接设备的多个组件的功能的配置操作。
25、如权利要求16所述的系统,其中该规则程序把一个组件的操作链接到一个上下文化的数据集上。
26、如权利要求16所述的系统,其中该规则程序由一个认证机构认证。
27、如权利要求16所述的系统,其中该规则程序的至少一部分专用于一个特定的处理和上下文,并且其中编译器执行检查以确定:与该部分规则程序相关连的组件和操作是否兼容于一个已声明的处理和部分规则程序的上下文。
28、如权利要求16所述的系统,其中该编译器用于编译该规则程序和以独立于运行时管理程序的方式把该规则程序装载到该网络连接设备中。
29、一种为一个网络连接设备预编译配置信息的系统,该系统包括:
用于定义对该网络连接设备的行为需求的第一装置;
用于描述一些由该网络连接设备的多个组件所支持的操作的第二装置;以及
用于利用所述第一装置和第二装置产生一个可由该网络连接设备执行的规则程序的第三装置,
其中,该规则程序包括一组从由该网络连接设备的多个组件所支持的操作中选出的,用于由该网络连接设备的各个组件根据第一装置所定义的行为需求予以执行的操作。
30、一种存储了一系列指令的机器可读介质,当这一系列指令被一个机器执行时使该机器执行为一个网络连接设备预编译配置信息的方法,该方法包括:
访问一个定义了对该网络连接设备的行为需求的规则文件;
访问一个描述了一些由该网络连接设备的多个组件所支持的操作的操作文件;以及
利用该规则文件和该操作文件产生一个可被该网络连接设备执行的规则程序,
其中,该规则程序包括一组从由该网络连接设备的多个组件所支持的操作中选出的,用于让该网络连接设备的各个组件根据该规则文件所定义的行为需求予以执行的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23053200P | 2000-09-01 | 2000-09-01 | |
US60/230,532 | 2000-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1592898A true CN1592898A (zh) | 2005-03-09 |
Family
ID=22865573
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018181554A Pending CN1592898A (zh) | 2000-09-01 | 2001-08-31 | 一种为数据通信设备预编译配置信息的方法和系统 |
CNA018181643A Pending CN1751473A (zh) | 2000-09-01 | 2001-08-31 | 用于实现基于策略的网络业务管理的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018181643A Pending CN1751473A (zh) | 2000-09-01 | 2001-08-31 | 用于实现基于策略的网络业务管理的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20020118644A1 (zh) |
EP (2) | EP1386239A4 (zh) |
KR (2) | KR20030061794A (zh) |
CN (2) | CN1592898A (zh) |
AU (2) | AU2001288640A1 (zh) |
WO (2) | WO2002019132A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056210B (zh) * | 2007-06-05 | 2010-06-02 | 网御神州科技(北京)有限公司 | 一种网络集中管理平台上的事件处理系统和方法 |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1133132B1 (en) * | 2000-03-10 | 2007-07-25 | Alcatel Lucent | Method to perfom end-to-end authentication, and related customer premises network termination and access network server |
US8250357B2 (en) | 2000-09-13 | 2012-08-21 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
US7242665B2 (en) * | 2001-01-25 | 2007-07-10 | Ericsson Ab | Network device virtual interface |
US7415512B1 (en) * | 2001-05-24 | 2008-08-19 | Cisco Technology, Inc. | Method and apparatus for providing a general purpose computing platform at a router on a network |
US7620955B1 (en) * | 2001-06-08 | 2009-11-17 | Vmware, Inc. | High-performance virtual machine networking |
US8782254B2 (en) * | 2001-06-28 | 2014-07-15 | Oracle America, Inc. | Differentiated quality of service context assignment and propagation |
US7181547B1 (en) | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US7095715B2 (en) * | 2001-07-02 | 2006-08-22 | 3Com Corporation | System and method for processing network packet flows |
US20030014532A1 (en) * | 2001-07-16 | 2003-01-16 | Shean-Guang Chang | Method and apparatus for multicast support |
US7023856B1 (en) * | 2001-12-11 | 2006-04-04 | Riverstone Networks, Inc. | Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router |
US7289525B2 (en) * | 2002-02-21 | 2007-10-30 | Intel Corporation | Inverse multiplexing of managed traffic flows over a multi-star network |
US7376125B1 (en) | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
EP1550051A4 (en) * | 2002-10-09 | 2006-06-07 | Personeta Ltd | METHOD AND DEVICE FOR A SERVICE INTEGRATION SYSTEM |
US7769873B1 (en) | 2002-10-25 | 2010-08-03 | Juniper Networks, Inc. | Dynamically inserting filters into forwarding paths of a network device |
US7266120B2 (en) | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US8094581B2 (en) * | 2002-11-26 | 2012-01-10 | Nokia Siemens Networks Gmbh & Co. Kg | Method for the automatic configuration of communication relationships between communication units situated in a packet-oriented communications network |
US7366174B2 (en) * | 2002-12-17 | 2008-04-29 | Lucent Technologies Inc. | Adaptive classification of network traffic |
US7570648B2 (en) * | 2003-02-03 | 2009-08-04 | At&T Intellectual Property I, L.P. | Enhanced H-VPLS service architecture using control word |
US20040181792A1 (en) * | 2003-03-12 | 2004-09-16 | Barajas Gaston M. | Method to control, manage and monitor batched command files |
US7643424B2 (en) * | 2003-03-22 | 2010-01-05 | At&T Intellectual Property L, L.P. | Ethernet architecture with data packet encapsulation |
US7953885B1 (en) * | 2003-04-18 | 2011-05-31 | Cisco Technology, Inc. | Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause |
US8078758B1 (en) | 2003-06-05 | 2011-12-13 | Juniper Networks, Inc. | Automatic configuration of source address filters within a network device |
US8356085B2 (en) * | 2003-06-20 | 2013-01-15 | Alcatel Lucent | Automated transformation of specifications for devices into executable modules |
US20040267922A1 (en) * | 2003-06-30 | 2004-12-30 | Rover Jeremy L. | System and method for the design and description of networks |
US7720095B2 (en) | 2003-08-27 | 2010-05-18 | Fortinet, Inc. | Heterogeneous media packet bridging |
US7752635B2 (en) * | 2003-12-18 | 2010-07-06 | Intel Corporation | System and method for configuring a virtual network interface card |
US20050229246A1 (en) * | 2004-03-31 | 2005-10-13 | Priya Rajagopal | Programmable context aware firewall with integrated intrusion detection system |
US8239452B2 (en) * | 2004-05-01 | 2012-08-07 | Microsoft Corporation | System and method for discovering and publishing of presence information on a network |
GB0410151D0 (en) * | 2004-05-07 | 2004-06-09 | Zeus Technology Ltd | Load balancing & traffic management |
CN100344106C (zh) * | 2004-05-26 | 2007-10-17 | 华为技术有限公司 | 在光传送网络管理系统中实现白盒虚拟网元的方法及系统 |
IL163092A (en) * | 2004-07-19 | 2010-11-30 | Veraz Networks Ltd | Processing of packets forwarded in communication networks |
US7570604B1 (en) | 2004-08-30 | 2009-08-04 | Juniper Networks, Inc. | Multicast data trees for virtual private local area network (LAN) service multicast |
WO2006101549A2 (en) | 2004-12-03 | 2006-09-28 | Whitecell Software, Inc. | Secure system for allowing the execution of authorized computer program code |
FI117685B (fi) * | 2004-12-09 | 2007-01-15 | Tellabs Oy | Yhdistetty asiakasvuo- ja laatuluokkaperusteinen vuorotusmenetelmä ja -laitteisto siirtoyhteyskapasiteetin vuorottamiseksi pakettikytkentäisten tietoliikennevoiden kesken |
KR100674086B1 (ko) * | 2004-12-16 | 2007-01-24 | 한국전자통신연구원 | 이더넷 망에서의 토폴로지 발견 방법 |
US7602702B1 (en) | 2005-02-10 | 2009-10-13 | Juniper Networks, Inc | Fast reroute of traffic associated with a point to multi-point network tunnel |
JP4545619B2 (ja) * | 2005-03-15 | 2010-09-15 | 富士通株式会社 | ネットワークシステム、レイヤ3通信装置、レイヤ2通信装置および経路選択方法 |
US7542467B2 (en) * | 2005-03-28 | 2009-06-02 | Intel Corporation | Out-of-band platform switch |
US20060233174A1 (en) * | 2005-03-28 | 2006-10-19 | Rothman Michael A | Method and apparatus for distributing switch/router capability across heterogeneous compute groups |
US7992144B1 (en) * | 2005-04-04 | 2011-08-02 | Oracle America, Inc. | Method and apparatus for separating and isolating control of processing entities in a network interface |
US7990965B1 (en) | 2005-07-28 | 2011-08-02 | Juniper Networks, Inc. | Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks |
US9166807B2 (en) * | 2005-07-28 | 2015-10-20 | Juniper Networks, Inc. | Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks |
US7889735B2 (en) * | 2005-08-05 | 2011-02-15 | Alcatel-Lucent Usa Inc. | Method and apparatus for defending against denial of service attacks in IP networks based on specified source/destination IP address pairs |
US20070033650A1 (en) * | 2005-08-05 | 2007-02-08 | Grosse Eric H | Method and apparatus for defending against denial of service attacks in IP networks by target victim self-identification and control |
US7564803B1 (en) | 2005-08-29 | 2009-07-21 | Juniper Networks, Inc. | Point to multi-point label switched paths with label distribution protocol |
US8166474B1 (en) * | 2005-09-19 | 2012-04-24 | Vmware, Inc. | System and methods for implementing network traffic management for virtual and physical machines |
US8601159B2 (en) * | 2005-09-27 | 2013-12-03 | Microsoft Corporation | Distributing and arbitrating media access control addresses on ethernet network |
US8660137B2 (en) * | 2005-09-29 | 2014-02-25 | Broadcom Israel Research, Ltd. | Method and system for quality of service and congestion management for converged network interface devices |
US20070127489A1 (en) * | 2005-11-18 | 2007-06-07 | Amaya Nestor A | Apparatus and method for the optimal utilization and delivery of multiple applications over a digital subscriber loop |
US8364874B1 (en) * | 2006-01-17 | 2013-01-29 | Hewlett-Packard Development Company, L. P. | Prioritized polling for virtual network interfaces |
US7839850B2 (en) * | 2006-01-30 | 2010-11-23 | Juniper Networks, Inc. | Forming equal cost multipath multicast distribution structures |
US8270395B2 (en) * | 2006-01-30 | 2012-09-18 | Juniper Networks, Inc. | Forming multicast distribution structures using exchanged multicast optimization data |
US7757269B1 (en) | 2006-02-02 | 2010-07-13 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
CN101018190A (zh) * | 2006-02-09 | 2007-08-15 | 华为技术有限公司 | 一种控制接入网上行流量的方法和系统 |
JP2007243300A (ja) * | 2006-03-06 | 2007-09-20 | Fujitsu Ltd | 帯域制御プログラム、帯域制御装置、帯域制御方法 |
US7895573B1 (en) | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
US8009566B2 (en) | 2006-06-26 | 2011-08-30 | Palo Alto Networks, Inc. | Packet classification in a network security device |
US7839862B1 (en) | 2006-06-30 | 2010-11-23 | Juniper Networks, Inc. | Upstream label assignment for the label distribution protocol |
US7634608B2 (en) * | 2006-06-30 | 2009-12-15 | Sun Microsystems, Inc. | Bridging network components |
US7787380B1 (en) | 2006-06-30 | 2010-08-31 | Juniper Networks, Inc. | Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy |
US7742482B1 (en) | 2006-06-30 | 2010-06-22 | Juniper Networks, Inc. | Upstream label assignment for the resource reservation protocol with traffic engineering |
US7792140B2 (en) * | 2006-06-30 | 2010-09-07 | Oracle America Inc. | Reflecting the bandwidth assigned to a virtual network interface card through its link speed |
FR2906666A1 (fr) * | 2006-10-03 | 2008-04-04 | Canon Kk | Procede de reservation de ressource dans un reseau local comprenant une pluralite de sous-reseaux, produit programme d'ordinateur, moyen de stockage et dispositif correspondants. |
US8468591B2 (en) * | 2006-10-13 | 2013-06-18 | Computer Protection Ip, Llc | Client authentication and data management system |
US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US7881318B2 (en) * | 2007-02-28 | 2011-02-01 | Microsoft Corporation | Out-of-band keep-alive mechanism for clients associated with network address translation systems |
US7693084B2 (en) * | 2007-02-28 | 2010-04-06 | Microsoft Corporation | Concurrent connection testing for computation of NAT timeout period |
US8284662B2 (en) | 2007-03-06 | 2012-10-09 | Ericsson Ab | Flexible, cost-effective solution for peer-to-peer, gaming, and application traffic detection and treatment |
US20080239985A1 (en) * | 2007-03-30 | 2008-10-02 | International Business Machines Corporation | Method and apparatus for a services model based provisioning in a multitenant environment |
CA2690850C (en) | 2007-06-18 | 2014-05-13 | Allot Communications Ltd. | A dpi matrix allocator |
CN101340340B (zh) * | 2007-07-31 | 2012-07-11 | 杭州华三通信技术有限公司 | 接入点配置管理方法及接入控制器 |
US20090041013A1 (en) * | 2007-08-07 | 2009-02-12 | Mitchell Nathan A | Dynamically Assigning A Policy For A Communication Session |
US20090041014A1 (en) * | 2007-08-08 | 2009-02-12 | Dixon Walter G | Obtaining Information From Tunnel Layers Of A Packet At A Midpoint |
US7644150B1 (en) * | 2007-08-22 | 2010-01-05 | Narus, Inc. | System and method for network traffic management |
US8798056B2 (en) * | 2007-09-24 | 2014-08-05 | Intel Corporation | Method and system for virtual port communications |
US20090089325A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Targeted resource allocation |
US8125926B1 (en) | 2007-10-16 | 2012-02-28 | Juniper Networks, Inc. | Inter-autonomous system (AS) virtual private local area network service (VPLS) |
US7936780B1 (en) | 2008-03-12 | 2011-05-03 | Juniper Networks, Inc. | Hierarchical label distribution protocol for computer networks |
US8561137B2 (en) * | 2008-07-23 | 2013-10-15 | Oracle International Corporation | Techniques for identity authentication of virtualized machines |
US8385202B2 (en) * | 2008-08-27 | 2013-02-26 | Cisco Technology, Inc. | Virtual switch quality of service for virtual machines |
US7929557B2 (en) * | 2008-11-14 | 2011-04-19 | Juniper Networks, Inc. | Summarization and longest-prefix match within MPLS networks |
US8077726B1 (en) | 2008-12-10 | 2011-12-13 | Juniper Networks, Inc. | Fast reroute for multiple label switched paths sharing a single interface |
US8331362B2 (en) * | 2008-12-30 | 2012-12-11 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US8054832B1 (en) | 2008-12-30 | 2011-11-08 | Juniper Networks, Inc. | Methods and apparatus for routing between virtual resources based on a routing location policy |
US8565118B2 (en) * | 2008-12-30 | 2013-10-22 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US8255496B2 (en) * | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
US8190769B1 (en) | 2008-12-30 | 2012-05-29 | Juniper Networks, Inc. | Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification |
US8953603B2 (en) | 2009-10-28 | 2015-02-10 | Juniper Networks, Inc. | Methods and apparatus related to a distributed switch fabric |
US8442048B2 (en) | 2009-11-04 | 2013-05-14 | Juniper Networks, Inc. | Methods and apparatus for configuring a virtual network switch |
US8422514B1 (en) | 2010-02-09 | 2013-04-16 | Juniper Networks, Inc. | Dynamic configuration of cross-domain pseudowires |
US8310957B1 (en) | 2010-03-09 | 2012-11-13 | Juniper Networks, Inc. | Minimum-cost spanning trees of unicast tunnels for multicast distribution |
US20110282981A1 (en) * | 2010-05-11 | 2011-11-17 | Alcatel-Lucent Canada Inc. | Behavioral rule results |
US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
US9906429B2 (en) * | 2010-09-17 | 2018-02-27 | Oracle International Corporation | Performing partial subnet initialization in a middleware machine environment |
US20120099591A1 (en) * | 2010-10-26 | 2012-04-26 | Dell Products, Lp | System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization |
US8891406B1 (en) | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US8695096B1 (en) | 2011-05-24 | 2014-04-08 | Palo Alto Networks, Inc. | Automatic signature generation for malicious PDF files |
US9047441B2 (en) * | 2011-05-24 | 2015-06-02 | Palo Alto Networks, Inc. | Malware analysis system |
US9246838B1 (en) | 2011-05-27 | 2016-01-26 | Juniper Networks, Inc. | Label switched path setup using fast reroute bypass tunnel |
US20120311182A1 (en) | 2011-06-03 | 2012-12-06 | Oracle International Corporation | System and method for supporting controlled re-routing in an infiniband (ib) network |
US8713649B2 (en) | 2011-06-03 | 2014-04-29 | Oracle International Corporation | System and method for providing restrictions on the location of peer subnet manager (SM) instances in an infiniband (IB) network |
CN106850878B (zh) * | 2011-08-17 | 2020-07-14 | Nicira股份有限公司 | 逻辑l3路由 |
US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
CN102387073B (zh) * | 2011-10-18 | 2014-08-20 | 深圳市共进电子股份有限公司 | 一种实现用户端设备的桥和路由混合连接方式的方法和系统 |
US8739272B1 (en) * | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US9262155B2 (en) | 2012-06-04 | 2016-02-16 | Oracle International Corporation | System and method for supporting in-band/side-band firmware upgrade of input/output (I/O) devices in a middleware machine environment |
US9401963B2 (en) | 2012-06-04 | 2016-07-26 | Oracle International Corporation | System and method for supporting reliable connection (RC) based subnet administrator (SA) access in an engineered system for middleware and application execution |
US8837479B1 (en) | 2012-06-27 | 2014-09-16 | Juniper Networks, Inc. | Fast reroute between redundant multicast streams |
US20140006568A1 (en) * | 2012-06-28 | 2014-01-02 | Alcatel-Lucent Canada, Inc. | Prioritization based on ip pool and subnet by dhcp |
US9049148B1 (en) | 2012-09-28 | 2015-06-02 | Juniper Networks, Inc. | Dynamic forwarding plane reconfiguration in a network device |
CN102968346A (zh) * | 2012-10-26 | 2013-03-13 | 曙光信息产业(北京)有限公司 | 虚拟化环境下实现虚拟机外部通信的方法 |
KR102020046B1 (ko) * | 2012-12-06 | 2019-09-10 | 한국전자통신연구원 | 서버 가상화 환경에서의 플로우 관리 장치 및 방법, 서비스품질 정책 적용 방법 |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
US9325610B2 (en) | 2013-03-15 | 2016-04-26 | Cisco Technology, Inc. | Extended tag networking |
US8953500B1 (en) | 2013-03-29 | 2015-02-10 | Juniper Networks, Inc. | Branch node-initiated point to multi-point label switched path signaling with centralized path computation |
US8943594B1 (en) | 2013-06-24 | 2015-01-27 | Haystack Security LLC | Cyber attack disruption through multiple detonations of received payloads |
US9864620B2 (en) | 2013-07-30 | 2018-01-09 | International Business Machines Corporation | Bandwidth control in multi-tenant virtual networks |
EP3061030A4 (en) | 2013-10-24 | 2017-04-19 | McAfee, Inc. | Agent assisted malicious application blocking in a network environment |
US10454768B2 (en) * | 2013-11-15 | 2019-10-22 | F5 Networks, Inc. | Extending policy rulesets with scripting |
US9806895B1 (en) | 2015-02-27 | 2017-10-31 | Juniper Networks, Inc. | Fast reroute of redundant multicast streams |
CN106780070A (zh) * | 2016-12-28 | 2017-05-31 | 广东技术师范学院 | 一种局部带宽分配方法 |
US20190089640A1 (en) * | 2017-09-21 | 2019-03-21 | Microsoft Technology Licensing, Llc | Virtualizing dcb settings for virtual network adapters |
US11218506B2 (en) * | 2018-12-17 | 2022-01-04 | Microsoft Technology Licensing, Llc | Session maturity model with trusted sources |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2822940A (en) * | 1956-02-20 | 1958-02-11 | George E Kopaska | Collapsible animal ramp for use with trucks and the like |
JP3160017B2 (ja) * | 1991-08-28 | 2001-04-23 | 株式会社日立製作所 | 網管理表示装置 |
US5634010A (en) * | 1994-10-21 | 1997-05-27 | Modulus Technologies, Inc. | Managing and distributing data objects of different types between computers connected to a network |
US5956342A (en) * | 1995-07-19 | 1999-09-21 | Fujitsu Network Communications, Inc. | Priority arbitration for point-to-point and multipoint transmission |
SE515901C2 (sv) * | 1995-12-28 | 2001-10-22 | Dynarc Ab | Resursadministrering, plan och arrangemang |
US5870561A (en) * | 1996-03-15 | 1999-02-09 | Novell, Inc. | Network traffic manager server for providing policy-based recommendations to clients |
US5751965A (en) * | 1996-03-21 | 1998-05-12 | Cabletron System, Inc. | Network connection status monitor and display |
WO1998005144A1 (en) * | 1996-07-25 | 1998-02-05 | Hybrid Networks, Inc. | High-speed internet access system |
US5883939A (en) * | 1996-08-29 | 1999-03-16 | Cornell Research Foundation, Inc. | Distributed architecture for an intelligent networking coprocessor |
US6046980A (en) * | 1996-12-09 | 2000-04-04 | Packeteer, Inc. | System for managing flow bandwidth utilization at network, transport and application layers in store and forward network |
US6085030A (en) * | 1997-05-02 | 2000-07-04 | Novell, Inc. | Network component server |
US6137777A (en) * | 1997-05-27 | 2000-10-24 | Ukiah Software, Inc. | Control tool for bandwidth management |
US6578077B1 (en) * | 1997-05-27 | 2003-06-10 | Novell, Inc. | Traffic monitoring tool for bandwidth management |
US6047322A (en) * | 1997-05-27 | 2000-04-04 | Ukiah Software, Inc. | Method and apparatus for quality of service management |
US6292827B1 (en) * | 1997-06-20 | 2001-09-18 | Shore Technologies (1999) Inc. | Information transfer systems and method with dynamic distribution of data, control and management of information |
US6094435A (en) * | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
JPH1139169A (ja) * | 1997-07-18 | 1999-02-12 | Toshiba Corp | コンパイル方法,コンパイラ,例外ハンドラ及びプログラム記憶媒体 |
US6104700A (en) * | 1997-08-29 | 2000-08-15 | Extreme Networks | Policy based quality of service |
US6078321A (en) * | 1997-09-30 | 2000-06-20 | The United States Of America As Represented By The Secretary Of The Navy | Universal client device for interconnecting and operating any two computers |
US6154776A (en) * | 1998-03-20 | 2000-11-28 | Sun Microsystems, Inc. | Quality of service allocation on a network |
US6170015B1 (en) * | 1998-05-15 | 2001-01-02 | Nortel Networks Limited | Network apparatus with Java co-processor |
US6286052B1 (en) * | 1998-12-04 | 2001-09-04 | Cisco Technology, Inc. | Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows |
US6167445A (en) * | 1998-10-26 | 2000-12-26 | Cisco Technology, Inc. | Method and apparatus for defining and implementing high-level quality of service policies in computer networks |
US6463470B1 (en) * | 1998-10-26 | 2002-10-08 | Cisco Technology, Inc. | Method and apparatus of storing policies for policy-based management of quality of service treatments of network data traffic flows |
US6466976B1 (en) * | 1998-12-03 | 2002-10-15 | Nortel Networks Limited | System and method for providing desired service policies to subscribers accessing the internet |
CA2292272A1 (en) * | 1998-12-22 | 2000-06-22 | Nortel Networks Corporation | System and method to support configurable policies for services in directory-based networks |
US6609153B1 (en) * | 1998-12-24 | 2003-08-19 | Redback Networks Inc. | Domain isolation through virtual network machines |
CA2296989C (en) * | 1999-01-29 | 2005-10-25 | Lucent Technologies Inc. | A method and apparatus for managing a firewall |
US6295532B1 (en) * | 1999-03-02 | 2001-09-25 | Nms Communications Corporation | Apparatus and method for classifying information received by a communications system |
US6519595B1 (en) * | 1999-03-02 | 2003-02-11 | Nms Communications, Inc. | Admission control, queue management, and shaping/scheduling for flows |
US7283512B2 (en) * | 2000-01-20 | 2007-10-16 | Verizon Business Global Llc | Intelligent network and method for providing voice telephony over ATM and point-to-multipoint connectivity |
US6631135B1 (en) * | 2000-03-27 | 2003-10-07 | Nortel Networks Limited | Method and apparatus for negotiating quality-of-service parameters for a network connection |
US6574195B2 (en) * | 2000-04-19 | 2003-06-03 | Caspian Networks, Inc. | Micro-flow management |
US6714515B1 (en) * | 2000-05-16 | 2004-03-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Policy server and architecture providing radio network resource allocation rules |
US6681232B1 (en) * | 2000-06-07 | 2004-01-20 | Yipes Enterprise Services, Inc. | Operations and provisioning systems for service level management in an extended-area data communications network |
US7543288B2 (en) * | 2001-03-27 | 2009-06-02 | Sun Microsystems, Inc. | Reduced instruction set for Java virtual machines |
US7099912B2 (en) * | 2001-04-24 | 2006-08-29 | Hitachi, Ltd. | Integrated service management system |
-
2001
- 2001-08-31 WO PCT/US2001/027279 patent/WO2002019132A1/en not_active Application Discontinuation
- 2001-08-31 US US09/945,445 patent/US20020118644A1/en not_active Abandoned
- 2001-08-31 WO PCT/US2001/027250 patent/WO2002019062A2/en not_active Application Discontinuation
- 2001-08-31 EP EP01968389A patent/EP1386239A4/en not_active Withdrawn
- 2001-08-31 KR KR10-2003-7003189A patent/KR20030061794A/ko not_active Application Discontinuation
- 2001-08-31 US US09/945,416 patent/US20020120720A1/en not_active Abandoned
- 2001-08-31 CN CNA018181554A patent/CN1592898A/zh active Pending
- 2001-08-31 EP EP01968379A patent/EP1407576A4/en not_active Withdrawn
- 2001-08-31 AU AU2001288640A patent/AU2001288640A1/en not_active Abandoned
- 2001-08-31 CN CNA018181643A patent/CN1751473A/zh active Pending
- 2001-08-31 KR KR10-2003-7003188A patent/KR20030062406A/ko not_active Application Discontinuation
- 2001-08-31 AU AU2001288631A patent/AU2001288631A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056210B (zh) * | 2007-06-05 | 2010-06-02 | 网御神州科技(北京)有限公司 | 一种网络集中管理平台上的事件处理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1386239A4 (en) | 2005-11-02 |
US20020120720A1 (en) | 2002-08-29 |
AU2001288631A1 (en) | 2002-03-13 |
AU2001288640A1 (en) | 2002-03-13 |
EP1407576A4 (en) | 2005-07-27 |
US20020118644A1 (en) | 2002-08-29 |
EP1407576A2 (en) | 2004-04-14 |
KR20030062406A (ko) | 2003-07-25 |
CN1751473A (zh) | 2006-03-22 |
WO2002019062A2 (en) | 2002-03-07 |
WO2002019062A3 (en) | 2002-05-30 |
WO2002019132A1 (en) | 2002-03-07 |
EP1386239A1 (en) | 2004-02-04 |
KR20030061794A (ko) | 2003-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1592898A (zh) | 一种为数据通信设备预编译配置信息的方法和系统 | |
CN1148687C (zh) | 用于网络处理器的全匹配搜索方法和设备 | |
US7433944B2 (en) | Network, server, and storage policy server | |
Ziviani et al. | Joint adoption of QoS schemes for MPEG streams | |
CN1135789C (zh) | 电信资源协商的方法和系统 | |
Kearney et al. | SLA★: an abstract syntax for Service Level Agreements | |
CN1160907C (zh) | 网络管理方法和网络管理系统 | |
Huin et al. | Energy-efficient service function chain provisioning | |
CN1615612A (zh) | 用于虚拟专用网络服务的供应链管理的系统 | |
CN1679283A (zh) | 用于在数据通信网络上进行连通性评估的方法和系统以及相关信息技术产品 | |
US8141160B2 (en) | Mitigating and managing privacy risks using planning | |
CN1623308A (zh) | 用于强制实施旨在为多流和多媒体应用提供QoS支持的端到端协商协议的不同阶段的模型 | |
CN1797461A (zh) | 一种广告业务信息发布系统及其发布方法 | |
CN1868181A (zh) | 通信网络中对于不同业务类别的灵活许可控制 | |
CN1390007A (zh) | 通信网络管理 | |
US20070115916A1 (en) | Method and system for optimizing a network based on a performance knowledge base | |
Charalambides et al. | Policy conflict analysis for diffserv quality of service management | |
CN1906902A (zh) | 在包括多个链接中间网络的网络中传递分组的方法 | |
CN1716865A (zh) | 用户上网行为控制系统 | |
CN102377645B (zh) | 交换芯片及其实现方法 | |
CN1717915A (zh) | 一种用于对数字通信数据触发操作的方法和计算机系统 | |
CN1379940A (zh) | 用于吞吐量-阻塞最优性的链路容量共享 | |
CN110971472B (zh) | 一种基于Kong的AWS风格API二级路由转发方法 | |
CN1287738A (zh) | 高性能服务网络 | |
WO2020040256A1 (ja) | 管理システム及び管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1075106 Country of ref document: HK |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20050309 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1075106 Country of ref document: HK |