CN105122864A - 通过硬件自检和反射的能力识别和修改 - Google Patents

通过硬件自检和反射的能力识别和修改 Download PDF

Info

Publication number
CN105122864A
CN105122864A CN201480014955.0A CN201480014955A CN105122864A CN 105122864 A CN105122864 A CN 105122864A CN 201480014955 A CN201480014955 A CN 201480014955A CN 105122864 A CN105122864 A CN 105122864A
Authority
CN
China
Prior art keywords
network element
network
interface
iii
application
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
Application number
CN201480014955.0A
Other languages
English (en)
Inventor
约翰·E·麦克多瓦尔
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN105122864A publication Critical patent/CN105122864A/zh
Pending legal-status Critical Current

Links

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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Abstract

通过网络中的硬件自检和反射提供能力识别和修改的系统、方法和计算机程序产品,包括:向应用揭露(i)网络中多个网络元件中的每个网络元件的多个特性,(ii)多个网络元件中的每个网络元件的当前状态,和(iii)多个网络元件中的每个网络元件的一组网络能力;以及向应用提供用于对于多个网络元件中的每个网络元件和通过每个相应网络元件的数据流的集合的实时配置的接口。

Description

通过硬件自检和反射的能力识别和修改
相关申请的交叉引用
本申请要求于2013年3月15日提交的美国专利申请序列号13/842,973的权益,其通过引用被结合于此。
技术领域
本公开中呈现的实施例一般涉及网络元件。更具体地,这里公开的实施例涉及通过网络元件中的硬件自检和反射的性能识别和修改,以及将SDN使能网络表示为可编程图模型。
背景技术
传统的网络不是可编程的实体。尽管一些编程框架可被用于对网络进行配置,但智能一直在网络之外,而非网络自身的内在部分。在各个交换机和路由器中而非框架中植入更多的可编程性将是有用的,其中网络操作可被实现为被反射到网络硬件内的一系列操作。随着网络变得更加复杂以及要求它们近乎实时地对外部变化进行响应的需求,当前在个体设备处对网络进行配置的方式变得不切实际。
网络硬件还遭受自检和反射能力的缺失的影响。自检是程序在运行时间处检查对象或实体的类型或属性的能力。反射(reflection)允许程序对网络元件的值、元数据、属性、和功能进行操纵。
附图说明
可通过参考实施例(其中的一些实施例被示出在附图中),以使得能够更详细地理解本公开的上述特征的方式,来获得对上面简述的公开的更具体描述。然而,要注意的是,附图仅示出了本公开的典型实施例并因此不被视为限制其范围,因为此公开可允许其他同等有效的实施例。
图1根据这里所公开的一个实施例示出了用于在SDN使能网络中通过硬件自检和反射的能力识别和修改的系统。
图2根据这里所公开的一个实施例示出了SDN使能网络中的网络元件。
图3根据这里所公开的一个实施例示出了在SDN使能网络中通过硬件自检和反射来提供能力识别和修改的方法。
图4根据这里所公开的一个实施例示出了用于在SDN使能网络中通过硬件自检和反射的能力识别和修改的方法。
图5根据这里所公开的一个实施例示出了生成表示SDN使能网络的图的方法。
图6根据这里所公开的一个实施例示出了示出了使用图来向SDN使能网络中的网络元件应用功能的方法。
图7A根据这里所公开的一个实施例示出了表示SDN使能网络的图。
图7B根据这里所公开的一个实施例示出了表示节点特性的表格,该节点特性被包括于用于表示SDN使能网络的图中。
图8A-8F根据这里所公开的一个实施例示出了针对用于表示SDN使能网络的图的不同功能的应用。
具体实施方式
概述
这里所述的实施例提供了一种通过网络中的硬件自检和反射提供能力识别和修改的系统、方法和计算机程序产品,包括:向应用揭露(i)网络中多个网络元件中的每个网络元件的多个特性,(ii)多个网络元件中的每个网络元件的当前状态,和(iii)多个网络元件中的每个网络元件的一组网络能力;以及向应用提供用于对于多个网络元件中的每个网络元件和通过每个相应网络元件的数据流的集合的实时配置的接口。
具体实施例
这里公开的实施例通过对关于单独网络元件的许多低层次细节进行抽象来提供对SDN使能网络进行编程的高层次动态编程模型。该高层次编程模型组合在所有网络元件间使用的一致设备编程模型和用于将网络元件表示为图中的节点的图,并且然后使用该图来以分布式的方式将功能本地地应用于适当的网络元件或者从中央服务器远程地将功能应用于适当的网络元件。这里公开的实施例在物理SDN使能网络和虚拟SDN使能网络中能够同等地良好工作。
此外,这里公开的实施例提供众多网络元件硬件平台间的自检和反射以识别网络元件的能力并通过在网络元件外部或者在网络元件内直接运行的软件程序来修改或扩展这些能力。为了提供硬件自检和反射,这里公开的实施例定义了允许对网络硬件的可编程读/写/改变访问的抽象的集合。通过使用多个基础服务集,应用开发者可在容器内运行现有的应用并发现其他服务和网络资源。
这里公开的软件定义网络(SDN)技术允许网络(传统的静态实体)本质上变得更加动态。SDN向应用开发者开放网络,应用开发者可编写应用来管理网络元件和通过网络元件的数据流而无需到网络元件自身的物理接入。因此,与网络元件作为固定功能的装置相反,SDN将网络元件视为能够由软件进行操纵的分布式计算系统的一部分。为SDN编写应用的应用开发者可“在网络中”执行应用,该网络可包括处理计算系统之间的数据流的任何设备(例如,将主机系统连接到网络的交换元件或路由元件(和将一个计算网络连接到另一计算网络的设备))以及能够在连接到网络的同时执行该应用的其他计算设备。应用可远程地或本地位于网络元件自身上地执行命令并将各种功能应用于网络设备(和数据流)。通过在SDN中使用应用,开发者可管理网络元件的网络功能(例如,路由、服务质量(QoS)和带宽分配)以及管理网络元件自身的性能和/或属性。此外,不同的编程逻辑可被应用于相同网络拓扑中的不同流或分组,从而使得每个网络图不需要具有它自己对于SDN应用的实例。
为了管理网络元件和它们的特性和功能,这里公开的实施例提供能够硬件自检和反射的网络元件。此外,为了在这样的网络设备(许多的设备使用不同的操作系统和编程模型来进行操作)的群组(例如,数据中心内的路由元件和交换元件的群组)间应用功能,公共编程模型被使用。这里公开的实施例提供了一种公共编程模型,从而使得:可通过多个应用编程接口(API)的使用,使用相同的SDN应用来访问和修改网络元件,该多个应用编程接口对所有网络元件共用的系统和网络服务进行抽象。
一般地,软件定义网络(SDN)相比传统网络提供了附加的灵活性和团结性。通过使用SDN控制器(其可被集中放置或者位于各自的网络设备上),网络管理者能够配置控制平面并命令网络设备如何路由数据。例如,网络管理者可分配标准或SDN规则,当该标准或SDN规则被满足时,指令网络设备对接收的分组执行特定动作-例如,丢弃分组、将分组转发至具体网络设备、使用网络设备上的应用对分组进行评估等等。在一个实施例中,SDN控制器基于标准或SDN规则来配置网络设备中的路由表或转发表(即,转发信息库)。
在于入口端口上接收分组之后,SDN使能网络中的网络设备可对分组进行评估以确定采取什么动作。网络设备可依赖于分组的不同头部-例如,源地址和目的地地址、安全组标签、MAC层优先级值、VLANID等等-来确定动作。可替换地或者另外,网络设备可执行深度分组检查以确定什么动作是合适的。通过将分组匹配至SDN规则中的分组字段,网络设备能够识别出针对该分组要采取的动作。
本公开的各种实施例的描述已被呈现用于描述的目的,而并不意图是穷尽性的或者受限于所公开的实施例。许多修改和变更对于本领域的普通技术人员将是显而易见的而不背离所述实施例的范围和精神。这里所用的术语被选取来最佳地描述实施例的原则、实际的应用或者相对于市场上发现的技术的技术改进,或者使得本领域的其他普通技术人员能够理解这里所公开的实施例。
如将由本领域的技术人员所认识到的那样,本公开的各方面可被实施为一种系统、方法或计算机程序产品。因此,本公开的各方法可采取完全硬件实施例、完全软件实施例(包括固件、居留软件、微代码等等)、或者组合了软件和硬件的实施例方面的形式,其在这里一般均可被称作“电路”、“模块”或“系统”。另外,本公开的各方面可采取在一个或多个计算机可读介质中实施的计算机程序产品的形式,该一个或多个计算机可读介质具有在其上实施的计算机可读程序代码。
一个或多个计算机可读介质的任何组合可被采用。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于:电的、磁的、光的、电磁的、红外的、或半导体的系统、装置或设备,或上述各项的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下各项:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备,或上述各项的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是包含或存储程序以由指令执行系统、装置或设备使用或与其连接的任何有形介质。
计算机可读信号介质可包括其中(例如,在基带中或者作为载波的一部分)实施有计算机可读程序代码的传播数据信号。这种传播信号可采用多种形式中的任何一种,该多种形式包括但不限于:电磁的、光的,或其任何合适的组合。计算机可读信号介质可以是能够通信、传播或传送程序以供由指令执行系统、装置或设备使用或与其相结合地使用、而不是计算机可读存储介质的任何计算机可读介质。
计算机可读介质上实施的程序代码可使用任何适当的介质进行传输,适当的介质包括但不限于:无线、有线、光纤电缆、射频(RF)等,或上述各项的任何合适的组合。
用于实施本公开的多个方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,该一种或多种编程语言包括:诸如JAVA、Smalltalk、C++等面向对象的编程语言,诸如“C”编程语言或类似编程语言之类的传统程序编程语言。程序代码可完全地在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全地在远程计算机或者服务器上执行。在后一种情况中,远程计算机可以通过任何类型的网络连接到用户的计算机,网络包括局域网(LAN)或广域网(WAN),或者可以(例如,通过使用互联网服务提供商的互联网)连接到外部计算机。
下面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的的流程图示和/或框图对本公开的各方面进行了描述。将理解的是,流程图和/或框图的每个框以及流程图和/或框图中的多个框的组合能够通过计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以形成一种机器,以使得通过计算机的处理器或其它可编程指令执行装置执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的机制。
这些计算机程序指令也可以被存储在计算机可读介质中,其能够指导计算机、其它可编程数据处理装置或其它设备以特定的方式运行,以使得被存储在计算机可读介质中的指令产生包括指令的制品,其实现流程图和/或框图的一个或多个框中指定的功能/动作。
计算机程序指令还可以被加载到计算机、其它可编程指令执行装置或其它设备以使得一系列操作步骤在计算机、其它可编程装置或其它设备上被执行以产生计算机实现的处理,从而在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的处理。
此公开的实施例可通过云计算基础设施被提供被终端用户。云计算一般指通过网络提供可扩展的计算资源作为服务。更正式地,云计算可被定义为计算能力,该计算能力提供计算资源和其底层技术架构(例如服务器、存储装置、网络)之间的抽象,从而使得能够对通过最低限度的管理工作或者服务提供商交互即可迅速配设和发行的可配置计算资源的共享池进行方便的、按需的网络访问。因而,云计算使得用户能够访问“云”中的虚拟计算资源(例如存储装置、数据、应用,甚至是完整的虚拟化计算系统),而无需关心用于提供这些计算资源的底层物理系统(或者这些系统的位置)。
通常,云计算资源通过按使用付费的方式被提供给用户,其中用户仅被收取实际使用的计算资源(例如用户消耗的存储空间的量或用户实例化的虚拟化系统的数目)的费用。用户可在任何时间从因特网上的任何地方访问居于云中的任何资源。在本公开的上下文中,用户能够在任何时间从互联网中的任何地方访问居留于云中的任何资源。例如,图生成器可在云中的计算系统上运行并且生成表示网络中的网络元件的图。在这样的情形中,图生成器可在云中的存储位置处存储图。这么做允许用户从附着到与云相连接的网络(例如,互联网)的任何计算系统访问该信息。
尽管实施例在这里被描述为使用交换机或路由器作为配置有反射和自检服务的网络元件的参考示例,但对这样的交换机或路由器的任何引用是用于描述本公开的更广泛概念的参考示例。此外,术语“分组”被广泛使用并且包括帧或在主机系统之间发送的数据的任何其他包装,并且术语分组的任何使用不应被视为对本公开的限制。
图1根据这里公开的一个实施例示出了用于SDN使能网络中通过硬件自检和反射的能力识别和修改的系统100。多个计算机1021-N可经由SDN使能网络130被连接至其他计算机1021-N和网络元件1051-N。一般地,SDN使能网络130可以是任何计算网络(或网络的网络)。
计算机1021-N一般包括经由总线120连接到存储器106、网络接口设备118、存储设备108、输入设备122和输出设备124的处理器104。计算机1021-N一般在操作系统的控制下。操作系统的示例包括操作系统、操作系统的各种分支、以及Cisco的IOS操作系统。处理器104被包括以表示单个CPU、多个CPU、具有多个处理核心的单CPU等等。处理器104可执行开发用于这里所公开的实施例的目的的软件。类似地,存储器106可以是随机存取存储器,例如一组DRAM存储器块。网络接口设备118可以是允许计算机1021-N经由SDN使能网络130与其他计算机通信的任何类型的网络通信设备。
存储设备108可以是盘驱动存储设备。尽管被示出为单个单元,但存储设备108可以是固定存储设备和/或可移除存储设备的组合,它们例如是固定盘驱动、固态驱动、光存储设备、闪存设备、网络附着存储设备(NAS)、或者到存储区域网络(SAN)的连接。
输入设备122可被用于提供到计算机1021-N的输入。例如,可使用键盘和/或鼠标。输出设备124可以是用于向计算机102的用户提供输出的任何设备。例如,输出设备124可以是任何传统的显示屏或扬声器组。尽管被示出为与输入设备122相分离,但输出设备124和输入设备122可被组合。例如,可使用具有集成触摸屏的显示器屏幕。
如同所示,存储器106包括图应用112,该图应用112提供一般被配置为生成定向图的软件,该定向图反映了SDN使能网络130中计算机1021-N和网络元件1501-N的拓扑。由图应用112生成的定向图可反映基于不同网络层(例如,层2、层3等等)的网络拓扑。存储器106还包括网络应用113,该网络应用113可以是旨在检查并修改网络元件150的网络能力、特性和功能,以及对流经它们的数据流进行检查和修改的任何应用。例如,网络应用113可从网络元件1501-N请求特性和能力以及调用改变网络元件1501-N的配置的命令。此外,网络应用113可修改网络元件1501-N的核心功能从而操纵数据流在网络元件1501-N中的转发和处理。在一个实施例中,网络应用113使用图115来确定功能应当被应用于的网络元件1501-N并将功能应用于它们。如同所示,存储设备108包括图115。尽管被示出为数据库,但图115可使用数据存储或表示的其他形式,例如xml数据文件等等。另外,尽管被示出为分离的应用,但在一个实施例中,图应用112可以是网络应用113中的集成组件。
SDN使能网络130中的网络元件1501-N可以是任何网络设备,其例如包括:路由器、交换机、网桥、集线器、或包括网络接口的计算机。如前面所指出的那样,这里对具体网络元件的使用用于描述的目的,并且不应被视为对本公开的限制。网络元件1501-N可各自运行多个操作系统1601-N中相应的一个操作系统。网络元件1501-N各自在公共编程模型下操作,该公共编程模型被实现以允许由网络应用113以一致的方式来应用不同类型的功能。如同所示,网络元件1501-N还包括多个应用接口1701-N,其对网络元件1501-N的底层表示进行抽象从而使得网络应用113可以用分布式的方式将它的功能应用于各个网络元件1501-N。应用接口1701-N还允许到网络元件1501-N中的自检和反射。
然而,要注意系统100示出了实现这里所公开的软件定义网络技术的一种布置。在另一实施例中,计算机1021-N是能够在它们自己的处理器上运行集装箱式应用(例如,图应用112和网络应用113)的网络元件1501- N,这可为了这里所公开的实施例的目的进行开发。在又一实施例中,计算机1021-N可以是运行图应用112和网络应用113的刀片服务器。
图2根据这里所公开的一个实施例示出了SDN使能网络中的网络元件150的具体视图200。为了清楚的目的,在图2中,数据流由实线表示,而控制流由虚线表示。如图所示,网络元件150包括多个网络接口201-204。网络接口201和202具有入口接口205,其指示这些端口在SDN使能网络130中从其他网络元件1501-N接收数据。网络接口203和204具有出口接口207,其指示这些端口在SDN使能网络130中向其他网络元件1501-N发送数据。每个网络接口201-204中的转发接口206被用于将网络分组转发至适当的目的地。在由图应用112生成的图中,每个网络元件150可由图节点表示,而网络接口201-204可由图的边表示。
如图所示,网络元件150包括网络引擎210,该网络引擎一般被配置为控制网络元件150的功能。例如,在其中网络元件150为路由器或交换机的实施例中,网络引擎210提供路由和交换功能。网络元件150还包括系统服务211、网络服务212和管理接口213。系统服务211、网络服务212和管理接口213统一地提供针对网络元件150的硬件自检和反射,如下文更详细地描述。这些服务统一地提供下面如表I中所示的服务集:
表I
提供硬件自检和反射的个体服务集将结合图4进行论述。如图所示,应用编程接口(API)对网络元件150的底层服务和接口进行抽象。例如,转发API对转发接口206进行抽象。便携式操作系统接口(POSIX)API221对系统服务211进行抽象。服务API222对网络服务进行抽象,而管理API对管理接口213进行抽象。管理接口213可由应用开发者使用CLI、简单网络管理协议(SNMP)、或Netconf(网络配置协议)214进行访问。如图所示,管理接口213通过管理API220来协调控制对网络元件150中的所有其他服务和API的访问。
图3根据这里公开的一个实施例示出了使用可编程图模型来表示SDN使能网络的方法300。在步骤310处,在SDN使能网络中提供多个网络元件。网络元件可以是任何网络元件,包括但不限于:路由器、交换机、网关、互联网电话、移动设备、计算机、服务器等等。多个网络元件可经由有线和无线通信信道被连接以形成网络。网络元件可以是物理的网络元件也可以是虚拟的网络元件。在步骤320处,为多个网络元件中的每个网络元件提供自检和反射。自检指软件在运行时间时检查网络元件的类型或属性的能力。反射指软件在运行时间时操纵网络元件的值、元数据、属性和功能的能力。在步骤330处,为多个网络元件(包括物理网络元件和虚拟网络元件)中的每个网络元件提供公共编程模型。函数式编程语言揭露了向公共编程模型揭露网络元件的特性和操纵功能(即,自检和反射能力),其允许开发者创建SDN应用,该SDN应用对由公共编程模型提供的抽象进行操作。因此,公共编程模型定义了组件的集合,这些组件通过编程模型来连接。设备模型然后能够被分解为进一步的编程节点。
在步骤340处,生成表示网络拓扑的定向图。一般地,定向图中的节点表示网络中的网络元件,并且定向图的边表示网络元件之间的接口。此外,该图可包括与每个网络元件有关的元数据,例如网络元件的类型、能力、接口、路由表、交换表、和其他逻辑。该图还可被用于描绘网络拓扑的不同视图(例如,L2、L3和L7视图)以及诸如MPLS之类的不同隧道协议。有利地,该图可被实时地更新以反射对SND使能网络的变化,产生网络拓扑的实时视图。
在步骤350处,功能被应用于步骤340处生成的定向图中标识的网络元件。功能可规定修改或返回网络元件的具体特性,或者应用(或修改)可被应用于网络元件的入口和出口接口处的流和分组的特定动作或过滤器。例如,诸如执行深度分组检查或加密的能力之类的硬件能力可被启用或禁用(在硬件或软件中)。具有通过定向图结构揭露的一致的编程模型使得能够使用函数式编程技术将各功能应用于该图。系统架构允许功能以分布式的方式被应用于各个设备或从远程地从中央服务器来进行应用。在一个实施例中,函数是lambda函数。在步骤360处,代理被注册以从网络元件接收更新,从而使得SDN使能网络中的状态变化被反射在图中。底层SDN使能网络中的状态变化可被反射为可由代理订阅的事件。订阅可规定参数以对事件进行过滤,从而使得在图模型处仅接受相关事件。时间可使用附加元数据来标注图模型以反射变化。在步骤370处,图被更新以反映从网络元件接收的变化,从而提供SDN使能网络的实时视图。
图4根据这里公开的一个实施例示出了在SDN使能网络中提供网络元件中的自检和反射的方法400。方法400对应于方法300中的步骤320。一般地,方法400的步骤被执行以定义抽象的集合从而允许对网络元件硬件的可编程读/写/修改访问。所提供的接口在所支持的平台间是一致的并且对不同类型的网络元件之间的识别能力和修改能力进行了标准化。
这里公开的实施例提供了服务集,其提供了允许应用开发者在容器内运行在任何平台上运行的现有应用的基础网络服务的集合,并发现其他服务和网络资源。这样的网络服务实现由应用113调用的通用API。网络服务可在由应用呈现库中的服务呈现函数选择的语言和编程模型中变得对开发者的应用可用。应用呈现库下面的层次可以是应用通信库,其可充当用于传送来自网络元件的网络服务的客户端。服务集可根据一个或多个网络元件特性而得出,并且可需要一个或多个特征API。来自这些特征API的网络服务的实现发生于网络元件抽象库内。抽象库下面的层次是网络元件通信库,其可充当用于将网络服务传送至需要服务的一个或多个应用的服务器。
在步骤410处,返回能力的接口被提供,并且网络元件的特性的值以及网络元件内的数据流被提供。网络元件的能力可以是可由各个相应的网络元件执行的具体网络功能,包括但不限于:路由、防火墙、服务质量(QoS)、深度分组检查、加密和压缩。网络元件的特性可包括但不限于:硬件组件、操作系统、物理位置、状态、接口、接口特性、元件和接口事件等等。在一个实施例中,元件服务集可被提供,其返回网络元件的属性(property)和特性(attribute)。属性和特性可以是与网络元件和它的硬件有关的任何能力或统计,例如:CPU/存储器使用率、操作系统、接口统计和属性等等。诸如网络应用113之类的请求信息的应用连接至网络元件并且结果的会话由元件服务集来管理。一旦网络应用113被认证和授权,它可访问网络元件信息和其他提供的服务集。
由元件服务集提供的示例服务包括向请求的应用提供表示托管网络元件的操作系统的硬件的信息以及提供服务的能力。元件服务集还可提供网络元件的静态特性(其可被缓存)和网络元件的动态特性(其可被按需取回以反映最新的网络元件状态)。示例特性包括对网络元件的文本描述,该文本描述指示对网络元件的硬件类型、软件操作系统和网络软件的完整名称和版本标识。此外,描述可包括为网络元件分配的名称和自从网络元件上次被重启后的时间。关于网络元件的处理信息(例如,CPU和存储器状态)也可被返回,其指示在网络元件上运行的处理。
元件服务集还可通过提供针对网络元件上的虚拟接口和/或物理接口的抽象来提供到网络元件接口和端口内的自检。元件服务集可提供与接口特性有关的信息,该信息包括但不限于:网络接口的静态属性、配置、动态状态、和分组统计。此外,使用元件服务集的应用可针对网络接口事件进行登记,该网络接口事件例如是CDP(思科发现协议)事件、过滤标准、和状态事件。通过提供这些基本服务和信息,这里公开的实施例提供了跨越所有类型的硬件的可自检的硬件。诸如网络应用113之类的应用可连接至网络路径中的每个网络元件,识别它是什么类型的元件、它是如何运行的、以及它具有什么能力。
在步骤420处,配置网络元件和数据流的接口被提供。在一个实施例中,位于网络元件服务集的顶部上的多个服务集被提供来返回信息并且允许对硬件和通过网络元件的流进行实时配置。发现服务集可为诸如网络应用113之类的应用提供一种机制来发现远程网络元件或本地网络元件、网络拓扑、和提供通用服务的网络元件。发现机制可以是动态的或静态的。发现接口可对网络元件或者根据请求的应用自身使用诸如CDP之类的发现协议。在任意情形中,返回至应用的信息将是相同的,其中信息的来源是唯一的不同之处。在远程发现的情形中,事件源可以是网络元件的名称,而在应用发现的情形中,事件源可以是应用名称。
功用服务集可为使用RADIUS/TACACA+协议的用户提供执行认证、授权、和计费(AAA)的接口,而无需理解这些协议的AAA客户端。功用服务集还可允许应用针对事件的通知进行登记。开发者服务集可提供设置、取消设置、和查询登录级别,审计跟踪,跟踪接口,以及管理接口的接口。开发者服务集还可启用、禁用、或修改网络元件中的除错。
数据路径服务集可允许应用开发者钩挂到(hookinto)网络元件(例如,交换机或路由器)的分组流中,并从分组的流中提取分组。这些分组或者可从数据路径被复制到诸如网络应用113的应用,或者它们可被踢送或转向到网络应用113。当分组被踢送时,它不继续到它的目的地直到应用将它返回至数据路径(可能被修改)。当被复制时,分组的复本继续到它的目的地,同时另一者被发送至应用。
策略服务集允许请求的应用对网络元件应用QoS策略。对策略能力的自检提供(基于源地址、目的地地址、端口号、或者甚至深度分组检查)对流进行过滤的硬件能力,以及哪些动作可被应用于发现的流(例如,QoS、丢弃、策略修改等等)。路由服务集提供上行/下行路由支持以及到应用路由表的访问。
使用自检服务和反射服务的组合,相连的应用可对网络元件和网络元件内的数据流进行修改、配置和监控。自检服务通过应答它是什么、它能够做什么、以及它连接到哪些其他网络元件来识别网络元件和它的特性。反射服务指示网络元件正在做什么、它的操作如何被实时地变化。这里公开的实施例不仅提供自检和反射服务,还允许通过诸如网络应用113之类的应用对这些服务的外侧控制和扩展。
图5根据一个实施例示出了生成表示SDN使能网络的定向图。方法500对应于方法300的步骤340。一般地,方法500的步骤生成定向图,其中图节点表示网络元件并且图的边表示SDN使能网络中的网络元件之间的接口。在步骤510处,图应用112针对SDN使能网络中的每个网络元件执行包括步骤520-560的循环。在步骤520处,图应用112将当前的网络元件设置为定向图中的节点。在步骤530处,图应用112取回网络元件的当前特性值。特性可包括但不限于:硬件组件、路由表、交换表、功能、接口、链路、状态、和能力。特性还可包括相应网络元件的链路状态信息、相应网络元件的路由信息、以及流经相应网络元件的应用数据的源信息和目的地信息。
在步骤540处,图应用112填充节点以包括在步骤530处取回的网络元件的特性。在步骤550处,图应用112使用表示各网络元件之间接口的图的边来将表示当前网络元件的节点连接至其他网络元件。在一个实施例中,该图是通过将表示当前网络元件的节点仅连接至表示当前网络元件直接连接的网络元件的节点来生成的。换而言之,在定向图中生成连接节点的边时,仅针对单跳的层2可到达性信息被包括。通过查询网络元件以仅返回它们被直接连接的网络元件,完整的图可被拼接到一起并且被更高效地生成。在步骤560处,图应用112确定是否有更多的网络元件剩余要被包括在图中。如果存在更多的网络元件存留,则图应用112返回至步骤510。如果没有更多的网络元件存留,则图应用在步骤570处聚合并返回定向图。定向图被聚合以基于针对每个节点返回的一次跳链接信息将每个节点拼合在一起。定向图可被存储在存储器中供短期使用,或者被存储在更长久的位置,例如图115中以供后期使用。
图6根据这里公开的一个实施例示出了使用定向图将功能应用于SDN使能网络中的网络元件的方法600。方法600对应于方法300的步骤350。一般地,方法600的步骤允许功能以分布式的方式本地应用于各个网络元件或者远程地从中央服务器被应用于各个网络元件。在步骤610处,网络应用113规定要调用的功能以及针对功能的应用的条件。例如,功能可规定要应用允许从上午12:00到12:01的所有流量的防火墙规则。在步骤620处,网络应用113使用表示SDN使能网络的定向图来识别网络元件中满足条件的子集。例如,网络应用113可利用规定网络元件包括防火墙能力的特性来识别图中的网络元件。在步骤630处,网络应用113将功能应用于网络元件的识别出的子集。继续防火墙的示例,可对步骤620处识别的每个防火墙发出命令以使得每个防火墙的规则被更新为允许从上午12:00到12:01的所有流量。通过实现方法600的步骤,SDN使能网络的编程被精简为图上的一组操作,该图提供了到SDN使能网络中的视图。这可大大地简化所有部分的网络操作功能,并使得处理更加动态,因为它移除了针对各个设备进行操作的需要。
图7A根据这里公开的一个实施例示出了表示SDN使能网络的图700。如图所示,各自表示相应网络元件的节点N1-N9在定向图中通过多个边(edge)E1-E8进行连接。节点N1-N9可表示任何类型的网络元件(物理的或虚拟的),包括但不限于:路由器、交换机、网络接口卡、计算机、移动设备、互联网电话、电信会议和视频会议装备、服务器、网关等等。每个节点节点N1-N9可包括属于它所表示的网络元件的信息。为清楚起见,此信息被示出在图7B中,但可使用任何可行的方法来将数据存储为图数据结构的一部分。每个边E1-E8可以是定向的,然而为了清楚起见,所有边被示出为双向的。例如,连接节点N2和N9的E3可以是单向的,它仅允许从N2到N9的流量流,而不允许相反的流量流。如上所述,所生成的图示出了SDN使能网络的实时状态和配置。通过注册代理来从网络元件接收更新,该图可被图应用112修改以反映这些变化。例如,如果由节点N7表示的网络元件被从SDN使能网络中移除,则代理可从SDN使能网络接收此信息并相应地更新图。随着设备被添加、移除、以及使得它们的接口和能力被更新,该图也可被实时地更新。
图7B根据一个实施例示出了表示用于表示SDN使能网络的图中包括的节点特性的表格701。使用表格来存储和表示节点特性仅仅是示例性的,并不应被视为对本公开的限制。如前所述,可使用任何方法来将节点特性存储在图数据结构中。如图所示,表格701包括表示每个节点N1-N9的节点列,以及针对每个节点N1-N9的元数据列和接口列。元数据列可包括网络元件的任何特性,并且元数据可根据任何适当的格式来进行存储。例如,节点N1表示具有防火墙、QoS、和L3路由能力的网络元件,而节点N3具有VOIP作为它唯一列出的元数据特性。接口列指示了节点的每个接口,并且被格式化为显示边以及它通过该边连接到的节点。边:节点的格式的使用是示例性的,并不应被视为对本公开的限制,因为任何适合的格式和数值可被用于表示接口、上游/下游节点、以及连接节点的边。如图所示,节点N2具有三个接口,第一接口通过边E1连接至节点N1,第二接口通过边E4连接至节点N3,并且第三接口通过边E3连接至节点N9。节点N8例如具有单个接口,该接口通过边E2将节点连接至节点N9。
开发网络应用113的应用编程者可使用图(graph)和相关联的节点特性将功能同时应用于多个网络元件。例如,假设网络管理者希望对从他的办公计算机发送的所有数据分组给予流经SDN使能网络的所有其他分组之上的优先级。为了实现此目标,这里公开的实施例将允许网络管理者对图中支持QoS的所有网络元件进行更新。通过使用图,应用可容易地识别出由节点N1、N2、N4和N9表示的网络元件支持QoS。一旦已经使用图识别出节点,网络应用113然后可使用公共编程框架向节点N1、N2、N4和N9表示的网络元件发出命令来对这些网络元件的QoS策略应用变化从而优先进行网络管理者的流量传输。
作为另一示例,如果L3路由表需要被更新以反映网络元件的添加(或移除),则应用开发者可编写网络应用113的代码,其将由节点N1、N2和N4表示的网络元件识别为支持L3路由。网络应用113然后可被编码为使用公共编程框架发出更新由节点N1、N2和N4表示的网络元件中的路由表的命令。有利地,这些用例中描述的应用消除了个体地对每个网络元件进行手动配置的需要。这里公开的实施例还确保仅适当的网络元件被定向来应用功能。例如,节点N5未被定向来进行QoS或路由表更新,因为它只支持VOIP(并且可能是互联网电话)。
如前面所指出的那样,图可提供来自任何网络层的元数据和特性。例如,当检查移动通过网络元件的分组时,p2p应用数据可被检查,并且关于p2p数据的源/目的地信息可被提取并返回至网络应用113。网络应用113然后可使用源/目的地信息来生成示出p2p数据流的不同视图。
图8A-8F根据这里公开的一个实施例示出了对于用于表示SDN使能网络的图的不同函数(或操作)的应用。如图所示,图8A示出了包括节点和边的完整集合的定向图801,节点表示相应的网络元件,并且边表示SDN使能网络中的网络元件之间的连接。在图8A-8F中,为了清楚起见,仅标注了节点N1-N9,而未对边进行标注。为了生成图8B-8F中的图,通过网络应用113对图801应用具体的功能从而识别出节点中的相关子集(或者连接节点的子集的路径/边)。在图8B中,示出了反映N3和N8之间的路径或图段的图802,该路径或图段包括节点N2和N9。在图8C中,示出了反映节点的集合或圆圈(circuit)的图803,该集合或圆圈包括节点N3-N8。在图8D中,反映了对节点N1、N7和N8的合集的选择的图804被示出。在图8E中,反映了节点N3和N8之间的数据流的集合的图805被示出。在图8F中,反映了虚拟SDN使能网络的图806被示出,在图806中用虚拟节点N31-N、N21-N、N81-N、N91-N来表示。如图所示,通过在定向图中识别出网络元件的表示节点和边,可对它们应用广泛范围的功能。任何网络功能或配置(当前已知或未知的)可通过使用定向图被应用于SDN使能网络,而图8A-8F中的示例的使用不应被视为对本公开的限制。
此外,这里公开的实施例可被以相反的方式使用来执行对SDN使能网络的询问,并将SDN使能网络的状态返回为功能。网络流量也可被当做无限长的流,其可随着流量处理通过SDN使能网络而被动态地调整。最后,这里公开的实施例可被扩展为依据图变化事件来应用功能,其中事件的类型和特性定义了要对SDN使能网络应用的操作。
附图中的流程图和框图示出了根据本公开的各个实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就此而言,流程图或框图中的每一个块可表示包括用于实现所指明的(一个或多个)逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。还应当注意,在一些替换的实现方式中,块中所示的功能可以不按图中所示的次序发生。例如,接连示出的两个块实际上可以在实质上并发执行,或者这些块有时可以按相反的次序执行,这取决于所涉及的功能。框图和/或流程图图示的每一个块以及框图和/或流程图图示中的块的组合可以由执行指明的功能或动作的专用的基于硬件的系统实现,或者由专用硬件和计算机指令的组合实现。
考虑到前文,本公开的范围由所附权利要求来确定。

Claims (24)

1.一种通过网络中的硬件自检和反射提供能力识别和修改的方法,包括:
向应用揭露:(i)网络中多个网络元件的每个网络元件的多个特性,(ii)所述多个网络元件中的每个网络元件的当前状态,和(iii)所述多个网络元件中的每个网络元件的一组网络能力;以及
向所述应用提供用于对所述多个网络元件中的每个网络元件和通过每个相应网络元件的数据流的集合实时配置的接口。
2.如权利要求1所述的方法,其中所述多个特性包括:(i)网络能力,(ii)处理器使用率,(iii)存储器使用率,(iv)网络接口,(v)网络元件事件,(vi)由所述多个网络元件运行的多个操作系统中的操作系统,(vii)类型,以及(viii)所述多个网络元件中的每个网络元件的接口事件。
3.如权利要求1所述的方法,其中提供用于对所述多个网络元件中的每个网络元件实时配置的接口包括提供进行以下各项的能力:(i)修改网络元件发现能力,(ii)为使用标准协议的用户提供认证、授权和计费(AAA)而无需与所述标准协议相兼容的AAA客户端,(iii)修改每个网络元件的路径跟踪能力,(iv)修改每个网络元件的除错特性,(v)修改每个网络元件的服务质量特性,(vi)修改每个网络元件的路由表,(v)在每个网络元件的接口处对分组应用动作,以及(vi)使能每个网络元件中对分组的深度分组检查和加密中的至少一者。
4.如权利要求1所述的方法,其中提供用于对通过每个网络元件的数据流的集合实时配置的接口包括提供钩挂到每个网络元件的相应数据流并允许以下各项的接口:(i)复制所述相应数据流中的分组,(ii)踢送所述相应数据流中的分组,(iii)注入新的分组到所述相应数据流。
5.如权利要求1所述的方法,其中所述多个网络元件中的每个网络元件的当前状态包括:(i)每个相应网络元件的系统名称,(ii)每个相应网络元件的正常运行时间,(iii)每个相应网络元件上的网络接口的状态。
6.如权利要求5所述的方法,其中所述网络接口的状态包括:(i)所述网络接口的静态属性,(ii)所述网络接口的配置,(iii)所述网络接口的动态状态,和(iv)所述网络接口的一个或多个分组统计。
7.如权利要求1所述的方法,还包括:
由所述应用针对所述多个网络元件中第一网络元件的网络接口的事件的通知进行登记。
8.如权利要求7所述的方法,其中所述网络接口的事件包括:(i)由所述第一网络元件发现第二网络元件,(ii)与预定标准有关的统计事件,和(iii)所述网络接口的状态事件。
9.一种计算机程序产品,该计算机程序产品通过网络中的硬件自检和反射提供能力识别和修改,包括:
计算机可读存储介质,该计算机可读存储介质具有在其处嵌入的计算机可读程序代码,所述计算机可读程序代码包括:
被配置为向应用揭露以下各项的计算机可读程序代码:(i)网络中多个网络元件中的每个网络元件的多个特性,(ii)所述多个网络元件中的每个网络元件的当前状态,和(iii)所述多个网络元件中的每个网络元件的一组网络能力;以及
被配置为向所述应用提供接口的计算机可读程序代码,该接口用于对所述多个网络元件中的每个网络元件和通过每个相应网络元件的数据流的集合实时配置。
10.如权利要求9所述的计算机程序产品,其中所述多个特性包括:(i)网络能力,(ii)处理器使用率,(iii)存储器使用率,(iv)网络接口,(v)网络元件事件,(vi)由所述多个网络元件运行的多个操作系统中的操作系统,(vii)类型,以及(viii)所述多个网络元件中的每个网络元件的接口事件。
11.如权利要求9所述的计算机程序产品,其中提供用于对所述多个网络元件中的每个网络元件实时配置的接口包括提供进行以下各项的能力:(i)修改网络元件发现能力,(ii)为使用标准协议的用户提供认证、授权和计费(AAA)而无需与所述标准协议相兼容的AAA客户端,(iii)修改每个网络元件的路径跟踪能力,(iv)修改每个网络元件的除错特性,(v)修改每个网络元件的服务质量特性,(vi)修改每个网络元件的路由表,(v)在每个网络元件的接口处对分组应用动作,以及(vi)使能每个网络元件中对分组的深度分组检查和加密中的至少一者。
12.如权利要求9所述的计算机程序产品,其中提供用于对通过每个网络元件的数据流的集合实时配置的接口包括提供钩挂到每个网络元件的相应数据流并允许以下各项的接口:(i)复制所述相应数据流中的分组,(ii)踢送所述相应数据流中的分组,(iii)注入新的分组到所述相应数据流。
13.如权利要求9所述的计算机程序产品,其中所述多个网络元件中的每个网络元件的当前状态包括:(i)每个相应网络元件的系统名称,(ii)每个相应网络元件的正常运行时间,(iii)每个相应网络元件上的网络接口的状态。
14.如权利要求13所述的计算机程序产品,其中所述网络接口的状态包括:(i)所述网络接口的静态属性,(ii)所述网络接口的配置,(iii)所述网络接口的动态状态,和(iv)所述网络接口的一个或多个分组统计。
15.如权利要求9所述的计算机程序产品,所述计算机可读程序代码还包括:
被配置为由所述应用针对所述多个网络元件中第一网络元件的网络接口的事件的通知进行登记的计算机可读程序代码。
16.如权利要求15所述的计算机程序产品,其中所述网络接口的事件包括:(i)由所述第一网络元件发现第二网络元件,(ii)与预定标准有关的统计事件,和(iii)所述网络接口的状态事件。
17.一种系统,包括:
一个或多个计算机处理器;以及
存储器,该存储器包括程序,该程序当由所述一个或多个计算机处理器运行时,执行一种通过网络中的硬件自检和反射来提供能力识别和修改的操作,所述操作包括:
在网络中提供多个网络元件,其中所述多个网络元件中的每个网络元件运行多个操作系统中的至少一个操作系统;
向应用揭露:(i)网络中多个网络元件中的每个网络元件的多个特性,(ii)所述多个网络元件中的每个网络元件的当前状态,和(iii)所述多个网络元件中的每个网络元件的一组网络能力;以及
向所述应用提供用于对所述多个网络元件中的每个网络元件和通过每个相应网络元件的数据流的集合实时配置的接口。
18.如权利要求17所述的系统,其中所述多个特性包括:(i)网络能力,(ii)处理器使用率,(iii)存储器使用率,(iv)网络接口,(v)网络元件事件,(vi)由所述多个网络元件运行的多个操作系统中的操作系统,(vii)类型,以及(viii)所述多个网络元件中的每个网络元件的接口事件。
19.如权利要求17所述的系统,其中提供用于对所述多个网络元件中的每个网络元件实时配置的接口包括提供进行以下各项的能力:(i)修改网络元件发现能力,(ii)为使用标准协议的用户提供认证、授权和计费(AAA)而无需与所述标准协议相兼容的AAA客户端,(iii)修改每个网络元件的路径跟踪能力,(iv)修改每个网络元件的除错特性,(v)修改每个网络元件的服务质量特性,(vi)修改每个网络元件的路由表,(v)在每个网络元件的接口处对分组应用动作,以及(vi)使能每个网络元件中对分组的深度分组检查和加密中的至少一者。
20.如权利要求17所述的系统,其中提供用于对通过每个网络元件的数据流的集合实时配置的接口包括提供钩挂到每个网络元件的相应数据流并允许以下各项的接口:(i)复制所述相应数据流中的分组,(ii)踢送所述相应数据流中的分组,(iii)注入新的分组到所述相应数据流。
21.如权利要求17所述的系统,其中所述多个网络元件中的每个网络元件的当前状态包括:(i)每个相应网络元件的系统名称,(ii)每个相应网络元件的正常运行时间,(iii)每个相应网络元件上的网络接口的状态。
22.如权利要求21所述的系统,其中所述网络接口的状态包括:(i)所述网络接口的静态属性,(ii)所述网络接口的配置,(iii)所述网络接口的动态状态,和(iv)所述网络接口的一个或多个分组统计。
23.如权利要求17所述的系统,所述操作还包括:
由所述应用针对所述多个网络元件中第一网络元件的网络接口的事件的通知进行登记。
24.如权利要求23所述的系统,其中所述网络接口的事件包括:(i)由所述第一网络元件发现第二网络元件,(ii)与预定标准有关的统计事件,和(iii)所述网络接口的状态事件。
CN201480014955.0A 2013-03-15 2014-03-07 通过硬件自检和反射的能力识别和修改 Pending CN105122864A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/842,973 2013-03-15
US13/842,973 US20140280802A1 (en) 2013-03-15 2013-03-15 Capability identification and modification through hardware introspection and reflection
PCT/US2014/022077 WO2014150065A2 (en) 2013-03-15 2014-03-07 Capability identification and modification through hardware introspection and reflection

Publications (1)

Publication Number Publication Date
CN105122864A true CN105122864A (zh) 2015-12-02

Family

ID=50549403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480014955.0A Pending CN105122864A (zh) 2013-03-15 2014-03-07 通过硬件自检和反射的能力识别和修改

Country Status (4)

Country Link
US (1) US20140280802A1 (zh)
EP (1) EP2974433A2 (zh)
CN (1) CN105122864A (zh)
WO (1) WO2014150065A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2463228C (en) 2003-04-04 2012-06-26 Evertz Microsystems Ltd. Apparatus, systems and methods for packet based transmission of multiple data signals
FI20135462L (fi) * 2013-05-03 2014-11-04 Tellabs Oy Ohjelmallisesti määriteltävän verkon verkkoelementti
CN105960777A (zh) 2013-10-21 2016-09-21 尼妍萨有限公司 使用远程网络管理器观察和控制可编程网络的系统和方法
US20160182320A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Techniques to generate a graph model for cloud infrastructure elements
US9674081B1 (en) 2015-05-06 2017-06-06 Xilinx, Inc. Efficient mapping of table pipelines for software-defined networking (SDN) data plane
US10623258B2 (en) * 2015-06-22 2020-04-14 Arista Networks, Inc. Data analytics on internal state
WO2017111833A1 (en) * 2015-12-26 2017-06-29 Intel Corporation Reusable device management in machine-to-machine systems
US10936966B2 (en) 2016-02-23 2021-03-02 At&T Intellectual Property I, L.P. Agent for learning and optimization execution
US10230609B2 (en) 2016-04-18 2019-03-12 Nyansa, Inc. System and method for using real-time packet data to detect and manage network issues
US10291470B1 (en) * 2016-07-01 2019-05-14 Juniper Networks, Inc. Selective storage of network device attributes
US10666494B2 (en) 2017-11-10 2020-05-26 Nyansa, Inc. System and method for network incident remediation recommendations
US10397055B2 (en) * 2017-12-13 2019-08-27 Nicira, Inc. Priority based scheduling in network controller using graph theoretic method
US11005718B2 (en) * 2018-11-29 2021-05-11 International Business Machines Corporation Determining capabilities of cognitive entities in a distributed network based on application of cognitive protocols
US11956212B2 (en) * 2021-03-31 2024-04-09 Palo Alto Networks, Inc. IoT device application workload capture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459703C (zh) * 2005-06-01 2009-02-04 北京中星微电子有限公司 网络摄像头状态监控方法
US7747674B2 (en) * 2000-04-28 2010-06-29 Cisco Technology, Inc. Large-scale network management using distributed autonomous agents
US20120191826A1 (en) * 2011-01-26 2012-07-26 Rony Gotesdyner Device-Health-Based Dynamic Configuration of Network Management Systems Suited for Network Operations

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8127042B1 (en) * 1998-01-21 2012-02-28 Ciena Corporation Data driven connection rule/constraint engine applied to trail management
US7716077B1 (en) * 1999-11-22 2010-05-11 Accenture Global Services Gmbh Scheduling and planning maintenance and service in a network-based supply chain environment
US6854091B1 (en) * 2000-07-28 2005-02-08 Nortel Networks Limited Method of displaying nodes and links
US7120819B1 (en) * 2001-11-15 2006-10-10 3Com Corporation Method and system for fault diagnosis in a data network
US7310673B2 (en) * 2001-12-21 2007-12-18 Hewlett-Packard Development Company, L.P. Network resource assignment system and method
US7426734B2 (en) * 2003-10-24 2008-09-16 Microsoft Corporation Facilitating presentation functionality through a programming interface media namespace
GB2432992B (en) * 2005-11-18 2008-09-10 Cramer Systems Ltd Network planning
GB2433675B (en) * 2005-12-22 2008-05-07 Cramer Systems Ltd Communications circuit design

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747674B2 (en) * 2000-04-28 2010-06-29 Cisco Technology, Inc. Large-scale network management using distributed autonomous agents
CN100459703C (zh) * 2005-06-01 2009-02-04 北京中星微电子有限公司 网络摄像头状态监控方法
US20120191826A1 (en) * 2011-01-26 2012-07-26 Rony Gotesdyner Device-Health-Based Dynamic Configuration of Network Management Systems Suited for Network Operations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SPARC: "《split Architecture for Large Scale Wide Area Networks》", 31 August 2012 *

Also Published As

Publication number Publication date
WO2014150065A3 (en) 2014-11-20
WO2014150065A2 (en) 2014-09-25
EP2974433A2 (en) 2016-01-20
US20140280802A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN105122864A (zh) 通过硬件自检和反射的能力识别和修改
US10999189B2 (en) Route optimization using real time traffic feedback
Hu et al. A survey on software-defined network and openflow: From concept to implementation
Bhamare et al. A survey on service function chaining
US9866408B2 (en) Methods, systems, and computer readable media for configuring a flow interface on a network routing element
US9596141B2 (en) Representing software defined networks using a programmable graph model
EP2989747B1 (en) App store portal providing point-and-click deployment of third-party virtualized network functions
KR101475988B1 (ko) 새로운 네트워크 자원이 서비스 랜드스케이프 인스턴스에 제공되는 경우 동적으로 네트워크 보안 정책 규칙을 갱신하는 방법
US11509532B2 (en) Switch triggered traffic tracking
US9100282B1 (en) Generating optimal pathways in software-defined networking (SDN)
US20140355441A1 (en) Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
US10944641B1 (en) Systems and methods for application traffic simulation using captured flows
US10771345B1 (en) Network monitoring service
CN111164936B (zh) 在sdn控制器中将接入网络建模为树的方法和系统
CN103548376A (zh) 通过openflow数据平面在云计算机中实现epc
CN104584484A (zh) 提供基于策略的数据中心网络自动化的系统和方法
US20170116526A1 (en) Automatic triggering of linear programming solvers using stream reasoning
US11411855B1 (en) Computation of ranked path options in networks
US20220206865A1 (en) Distributed artificial intelligence fabric controller
US11706146B1 (en) Directing network traffic using local routing decisions with a global overview
KR102651239B1 (ko) 가상화 기술을 이용한 통신 방법 및 이를 수행하는 전자 장치
Gadre et al. Centralized approaches for virtual network function placement in SDN-enabled networks
Jin et al. Pathfinder: Application-aware distributed path computation in clouds
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
Lee et al. Auto-scaling mechanism in the ICT converged cross stratum orchestration architecture for zero-touch service and network management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151202