US9634900B2 - Declarative approach to virtual network creation and operation - Google Patents
Declarative approach to virtual network creation and operation Download PDFInfo
- Publication number
- US9634900B2 US9634900B2 US14/193,034 US201414193034A US9634900B2 US 9634900 B2 US9634900 B2 US 9634900B2 US 201414193034 A US201414193034 A US 201414193034A US 9634900 B2 US9634900 B2 US 9634900B2
- Authority
- US
- United States
- Prior art keywords
- api
- network
- program codes
- network controller
- internal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
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/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- 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/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- 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/26—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated tools for LAN [Local Area Network] 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/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- 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/5051—Service on demand, e.g. definition and deployment of services in real time
-
- 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/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- 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/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0266—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
Definitions
- a virtual network is a computer network that comprises virtual network nodes and/or links.
- VNs virtual network nodes and/or links.
- the concept and adoption of virtual networks (VNs) have become widely popular due to various reasons such as the need for rapid service introduction and savings of operational cost in cloud computing.
- a VN may be formed with or without a corresponding physical network topology.
- network applications may call an application programming interface (API) provided by a network controller controlling the VN. For example, requests from an application may be transmitted to the controller via the API one at a time, and a VN may be built or updated according to the request to fit the need of the application.
- API application programming interface
- Application developers today may use a procedural approach to operate a VN.
- an application may use a controller API to build a step-by-step procedure that represents application logic for operating the VN.
- Building the procedural steps may require application developers to have intimate knowledge of the VN (e.g., how the VN is built).
- the VN may become increasingly difficult to manage for application developers.
- a network controller may start managing a VN by receiving a request via an application programming interface (API), wherein the request comprises program codes written in a declarative programming language, and wherein the program codes describe at least some aspects of a VN.
- API application programming interface
- the network controller may further parsing the program codes into internal objects of the network controller, with the internal objects representing the aspects of the VN described by the program codes.
- FIG. 1 is a schematic diagram showing an example embodiment of a network model.
- FIG. 2 is a schematic diagram showing an example embodiment of a virtual network (VN) solution architecture.
- VN virtual network
- FIG. 3B illustrates an exemplary piece of pseudo codes written in a procedural approach.
- FIG. 4 is a schematic diagram showing an example embodiment of a communication architecture between an application and a network controller.
- FIGS. 5A and 5B illustrate an exemplary extensible markup language (XML) schema that describes at least some aspects of a VN.
- XML extensible markup language
- FIG. 6A illustrates an exemplary piece of program codes that describes an exemplary VN.
- FIG. 6B illustrates the VN created using the program codes shown in FIG. 6A .
- FIG. 8 is a schematic diagram of an example embodiment of a network device.
- the APIs may be descriptive.
- One API may represent an action or task that applications instruct the network controller to perform, and application developers may provide input parameters for the task and expect a result after the API call is complete.
- the APIs may be procedural. Applications may use an API to build a procedure that represent the application logic, thus application developers may need to have intimate knowledge of how a virtual network is built via the procedural steps. As the scale and complexity of a VN grows, application developers may write long and complicated program codes to create and operate the VN. Further, it may become costly to maintain the VN and avoid potential bugs or errors.
- VNDL virtual network definition language
- XML extensible markup language
- An application developer may use VNDL to describe a VN in terms of defined names such as node, port, link, bandwidth, policy, and event handling.
- the VNDL may specify logics or objectives of a task without having to explicitly specify each detailed step in order to perform a task.
- Program codes written in VNDL may be generated by an application and then be sent to a network controller via an API supported by the network controller.
- the network controller may parse the VNDL code into internal objects and execute accordingly using an internal API of the controller.
- the network controller may perform various tasks to operate a VN, including creating the VN (e.g., defining nodes, ports, and links), updating the VN, enforcing network policies of the VN, and handling events occurring in the VN.
- FIG. 1 is a schematic diagram showing an example embodiment of a network model 100 , which comprises one or more VNs configured over a physical network layer.
- the physical network layer comprises a network 110 and a network 120 , which may be considered different networks or different domains of the same network.
- the networks 110 and 120 comprise physical network nodes, which may be interconnected with one another via physical links. Physical network nodes in the networks 110 and 120 may be interconnected with other network nodes both in and out of the home network.
- one or more VNs may be formed using some of the network nodes in the physical network layer.
- a first VN 130 may be configured using network nodes 111 , 113 , 115 , and 121 - 125
- a second VN 140 may be configured using network nodes 112 , 114 , 116 , 121 - 122 , and 124 - 125 .
- part of physical node functionalities may be used to form virtual network nodes, which in turn may make up the VNs. Therefore, one physical node may be used to construct one or more virtual nodes. As shown in FIG.
- VN may sometimes be referred to by equivalent or similar names.
- a VN may be implemented as a virtual private network (VPN), a software-defined network (SDN), a service-centric network (SCN), an information-centric network (ICN), a content-centric network (CCN), a virtual carrier network, a virtual enterprise network, an application specific network, and so forth.
- VN virtual private network
- SDN software-defined network
- SCN service-centric network
- ICN information-centric network
- CCN content-centric network
- VN virtual carrier network
- a network controller may be set up as a central entity that oversees the network. This architecture may be used in both physical and virtual networks.
- FIG. 2 is a schematic diagram showing an example embodiment of a VN solution architecture 200 , which encompasses both physical and virtual network layers. In large networks or network domains, multiple network controllers may be deployed each overseeing a portion of the whole network(s).
- a first physical network controller (PNC) 220 may be configured to manage a first plurality of physical network nodes 211 , 212 , and 213
- a second PNC 230 may be configured to manage a second plurality of physical network nodes 214 , 215 , and 216 .
- the VNC 240 may communicate with lower-level controllers such as the PNC 230 via an API 246 , e.g., by transmitting requests or commands 247 to the PNC 230 .
- the controllers 220 , 230 , and 240 may be located at the same physical location (centralized setting) or at different locations (distributed setting).
- the application 250 may be implemented as any suitable form of software program running on network device or node that is operated by an application developer.
- the VNC 240 may be an application that coordinates with multiple PNCs.
- the VNC 240 may offer many different types of services that benefit application developers, such as providing a higher-level interface for applications to create, configure, update, and operate VNs.
- the VNC 240 comprises various modules to perform various tasks, and the modules may include a web server 241 , a VNC service module 242 , a topology abstraction layer (TAL) service module 243 , one or more route calculation (RC) service modules 244 , a VNC express module 245 , and other service modules.
- the web server 241 may interact with the application 250 via an API 252 .
- developers using the applications 310 may write program codes 312 in a declarative programming language.
- the program codes 312 may be sent via the API 322 to the controller 320 , which may comprise a VNC express module or unit 324 .
- the VNC express module 324 may perform various tasks on the program codes.
- the declarative programming language referred to herein sometimes as VNDL, may take the form of any suitable format such as an XML format, so terms or legal names may be defined by an XML schema.
- the VNDL allows application developers to describe a VN.
- declarative programming languages there is a host of programming languages that can be classified or categorized as declarative programming languages.
- the category of declarative programming languages comprises subcategories including declarative markup languages, functional languages, logic programming languages, and functional logic programming languages.
- Specific examples of declarative programming languages include, but are not limited to, Alpha, Atom, Applied Type System (ATS), Curl, Distributed Application Specification Language, data-centric programming language known as ECL, Erlang, Extensible Application Markup Language (XAML), frame logic (F-logic), FXML, General-purpose Declarative Language (GenDL), Glowe, GOAL agent programming language, Good For Equational Reasoning (Gofer) language, Knowledge Machine (KM) programming language, Lithe, Lucid, Lustre, Miranda, Pan, Qi, XML, QUILL, SequenceL, Structured Query Language (SQL), Synchronized Multimedia Integration Language (SMIL), and Web Ontology Language (OWL), and combinations thereof.
- SQL Structured Query Language
- SMIL Syn
- a Hypertext Transfer Protocol (HTTP) server 422 embedded in the controller 420 may receive the request 412 from the application 410 .
- the request 412 containing VNDL codes may then be passed to a main module 424 , which may start and/or coordinate the translation process, e.g., by passing the VNDL codes to an execution module 426 .
- the execution module 426 may then pass the VN codes to a parser 428 for parsing the VNDL codes.
- the VNDL codes may be translated or converted into internal objects 430 , which are understandable by a VNC internal API 432 in the network controller 420 .
- the internal objects 430 may represent the VN described in the VNDL codes and actions for describing the handling of network events.
- the internal objects 430 may be saved in an object directory of the network controller 420 .
- the internal objects 430 may be implemented as any codes, data structures, scripts, commands, or other information, as long as the network controller may understand the internal objects 430 sufficiently to perform VN-related tasks.
- an event handler 434 may handle the event accordingly. For example, if a network node, a port, or a link between two nodes goes down, the event handler 434 may pass event information to the execution module 426 , which may then handle the event using pre-defined policies.
- the platform in the network controller 420 may be implemented using any suitable language or environment. For instance, a Python runtime module 436 may be used to implement modules, as shown in FIG. 4 .
- VNDL codes when a piece of VNDL codes contains the term “network”, it may be recognized by a processing entity (e.g., a VNC) as a valid legal name for a VN and may be processed accordingly. Undefined terms such as “networks” may be identified as erroneous.
- a network may be identified by an identification (id) and may comprise network nodes and links therein.
- the element 510 may comprise sub-elements or child elements that define other legal names.
- a child element 512 named “id” may specify an identification of the VN
- a child element 514 named “node” may specify a node within the VN
- a child element 522 named “link” may specify a network link or connection within the VN.
- a link may have various attributes such as a source node, a destination node, and a bandwidth.
- a child element 523 named “from” specifies a source node of the link
- a child element 524 named “to” specifies a destination node of the link
- a child element 525 named “bandwidth” specifies a network bandwidth assigned to the link.
- FIG. 6A illustrates an exemplary piece of program codes 600 that describes an exemplary VN 650
- FIG. 6B illustrates the VN 650 , which may be created using the program codes 600
- an application developer may follow an XML schema (e.g., the XML schema 500 ) to write the program codes 600
- the program codes 600 may be sent by an application (e.g., the application 410 ) to a network controller (e.g., controller 420 ), which may then create the VN 650 according to the program codes 600 .
- Legal names defined in the XML schema may be capitalized in program codes. As shown in FIG. 6A , legal names including node, port, link, and bandwidth (BW) are capitalized.
- the network to be created has an exemplary name “Test” and comprises seven network nodes named 1-7.
- line 610 of the program codes 600 specifies that Node 1 comprises two ports named Port 1 and Port 2, which are shown in FIG. 6B with nodes represented by dark-filled circles and ports represented by oval boxes attached to the circles.
- links may be setup between ports.
- the line 620 further specifies that a bandwidth of 1 gigabytes (G) is to be allocated to the link 652 .
- Other nodes, ports, and links may be setup in the same way using the program codes 600 .
- VNDL may be fully extensible to include other information such as descriptions for handling events and enforcing policies set by applications.
- their handling policies may be configured by application developers and specified in VNDL codes.
- VNDL codes may define a policy to restore the node or find an alternative node.
- a port or a link between ports can be handled similarly.
- a policy may move a related VN link from the physical link to another physical link.
- an interface drop count reaches a certain threshold
- a policy may choose to use another interface.
- the declarative approach may bring about various benefits.
- Programmer productivity may be increased (e.g., length of program codes has be reduced by 90% in experiments)
- programming accuracy may be improved as programmers can focus on the declarative statements rather than detailed steps
- visibility may be improved with a concise network description and behavior as developers can use the declarative statement to build visual diagram of networks.
- FIG. 7 is a flowchart of an example embodiment of a VN management method 700 , which may be implemented by a network controller (e.g., the PNC 220 , the PNC 230 , the VNC 240 , the controller 320 , or the controller 420 ).
- the method 700 starts from step 710 , where the network controller may receive a request from an application via an API.
- the request may comprise program codes written in a declarative programming language, and the program codes may describe at least some aspects of a VN.
- the program codes may contain different contents.
- the program codes may comprise instructions for creating the VN, one or more policies for operating the VN, or definition of events occurring in the VN.
- the declarative programming language may use an XML schema with defined legal names, and the legal names used in describing the VN may comprise one or more of node, port, link, bandwidth, policy, and event.
- the application may be remotely coupled to or co-located at a same place with the network controller, thus receiving may be remote or local.
- the network controller may parse the program codes into internal objects of the network controller.
- the internal objects represent the aspects of the VN described by the program codes. Parsing may be implemented in any suitable manner to translate or convert the VNDL codes into the internal objects.
- the processor 820 may be configured to implement any of the functional modules or units described herein, such as the web server 221 , web server 241 , the VNC service module 242 , the TAL service module 243 , the RC service modules 244 , the VNC express module 245 , the HTTP server 422 , the main module 424 , the execution module 426 , the parser 428 , the VNC internal API 432 , the event handler 434 , and the Python runtime module 436 , or any other functional component known by one of ordinary skill in the art, or combinations thereof.
- a VNC express module 821 may incorporated into the processor 820 and configured to process VNDL codes for VN tasks.
- the computer program product may also be provided to a computer or a network device using any type of transitory computer readable media. Examples of transitory computer readable media include electric signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line (e.g. electric wires, and optical fibers) or a wireless communication line.
- a wired communication line e.g. electric wires, and optical fibers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/193,034 US9634900B2 (en) | 2014-02-28 | 2014-02-28 | Declarative approach to virtual network creation and operation |
| ES15755432T ES2824023T3 (es) | 2014-02-28 | 2015-02-26 | Planteamiento declarativo para la creación y explotación de redes virtuales |
| EP15755432.0A EP3103244B1 (de) | 2014-02-28 | 2015-02-26 | Deklarativer ansatz für die erzeugung und den betrieb eines virtuellen netzwerkes |
| PCT/CN2015/073307 WO2015127894A1 (en) | 2014-02-28 | 2015-02-26 | A declarative approach to virtual network creation and operation |
| CN202010648622.0A CN111949367B (zh) | 2014-02-28 | 2015-02-26 | 虚拟网络创建和操作的声明式方法 |
| EP20186645.6A EP3780501B1 (de) | 2014-02-28 | 2015-02-26 | Deklarativer ansatz für die erzeugung und den betrieb eines virtuellen netzwerkes |
| CN201580011235.3A CN106063223B (zh) | 2014-02-28 | 2015-02-26 | 虚拟网络创建和操作的声明式方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/193,034 US9634900B2 (en) | 2014-02-28 | 2014-02-28 | Declarative approach to virtual network creation and operation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20150249574A1 US20150249574A1 (en) | 2015-09-03 |
| US9634900B2 true US9634900B2 (en) | 2017-04-25 |
Family
ID=54007266
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/193,034 Active 2034-10-30 US9634900B2 (en) | 2014-02-28 | 2014-02-28 | Declarative approach to virtual network creation and operation |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9634900B2 (de) |
| EP (2) | EP3103244B1 (de) |
| CN (2) | CN111949367B (de) |
| ES (1) | ES2824023T3 (de) |
| WO (1) | WO2015127894A1 (de) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10484334B1 (en) * | 2013-02-26 | 2019-11-19 | Zentera Systems, Inc. | Distributed firewall security system that extends across different cloud computing networks |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9838253B2 (en) * | 2014-04-10 | 2017-12-05 | Fujitsu Limited | Object-oriented network virtualization |
| US20150350102A1 (en) * | 2014-06-03 | 2015-12-03 | Alberto Leon-Garcia | Method and System for Integrated Management of Converged Heterogeneous Resources in Software-Defined Infrastructure |
| US10924425B2 (en) * | 2014-09-29 | 2021-02-16 | Cox Communications, Inc. | Virtual element management system |
| US11113085B2 (en) * | 2015-09-30 | 2021-09-07 | Nicira, Inc. | Virtual network abstraction |
| US10469324B2 (en) | 2016-11-22 | 2019-11-05 | Amazon Technologies, Inc. | Virtual network verification service |
| US10812337B2 (en) | 2018-06-15 | 2020-10-20 | Vmware, Inc. | Hierarchical API for a SDDC |
| US10942788B2 (en) | 2018-06-15 | 2021-03-09 | Vmware, Inc. | Policy constraint framework for an sddc |
| US11108805B2 (en) | 2018-06-27 | 2021-08-31 | Amazon Technologies, Inc. | Automated packetless network reachability analysis |
| US11086700B2 (en) | 2018-08-24 | 2021-08-10 | Vmware, Inc. | Template driven approach to deploy a multi-segmented application in an SDDC |
| CN111049845A (zh) * | 2019-12-20 | 2020-04-21 | 浪潮云信息技术有限公司 | 一种实现Openstack虚拟机VNC控制台安全登录的方法及系统 |
| WO2021196080A1 (en) | 2020-04-01 | 2021-10-07 | Vmware Information Technology (China) Co., Ltd. | Auto deploying network elements for heterogeneous compute elements |
| US11803408B2 (en) | 2020-07-29 | 2023-10-31 | Vmware, Inc. | Distributed network plugin agents for container networking |
| US11863352B2 (en) | 2020-07-30 | 2024-01-02 | Vmware, Inc. | Hierarchical networking for nested container clusters |
| CN112052002B (zh) * | 2020-09-04 | 2024-01-26 | 游艺星际(北京)科技有限公司 | 基于声明式编程框架的用户界面生成方法、装置及介质 |
| US11606254B2 (en) | 2021-06-11 | 2023-03-14 | Vmware, Inc. | Automatic configuring of VLAN and overlay logical switches for container secondary interfaces |
| US12231398B2 (en) | 2022-01-14 | 2025-02-18 | VMware LLC | Per-namespace IP address management method for container networks |
| EP4494314A1 (de) | 2022-03-18 | 2025-01-22 | VMware LLC | Zuordnung eines vlan eines containernetzwerks zu einem logischen netzwerk in einem hypervisor zur unterstützung von flexiblem ipam und routing von containerverkehr |
| US12177124B2 (en) | 2022-10-04 | 2024-12-24 | VMware LLC | Using CRDs to create externally routable addresses and route records for pods |
| US11848910B1 (en) | 2022-11-11 | 2023-12-19 | Vmware, Inc. | Assigning stateful pods fixed IP addresses depending on unique pod identity |
| US12199833B2 (en) | 2022-11-29 | 2025-01-14 | VMware LLC | Network controller as a service (NCaaS) to define network policies for third-party container clusters |
| US12267212B2 (en) | 2022-11-29 | 2025-04-01 | VMware LLC | Implementing defined service policies in a third-party container cluster |
| US11831511B1 (en) | 2023-01-17 | 2023-11-28 | Vmware, Inc. | Enforcing network policies in heterogeneous systems |
| WO2024254734A1 (en) | 2023-06-12 | 2024-12-19 | Vmware Information Technology (China) Co., Ltd. | Layer 7 network security for container workloads |
Citations (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7426734B2 (en) * | 2003-10-24 | 2008-09-16 | Microsoft Corporation | Facilitating presentation functionality through a programming interface media namespace |
| US7607128B2 (en) * | 2004-07-21 | 2009-10-20 | International Business Machines Corporation | Method and system for enabling a server application to be executed in the same virtual machine as a client application using direct object oriented programming method calls |
| US20100083287A1 (en) * | 2008-09-30 | 2010-04-01 | Maximilien E Michael | Declarative Representation of Networked Applications |
| US20100115606A1 (en) * | 2008-10-21 | 2010-05-06 | Dmitriy Samovskiy | System and methods for enabling customer network control in third-party computing environments |
| US20100208619A1 (en) | 2005-09-15 | 2010-08-19 | Tp Lab, Inc. | Method to Dynamically Create a Virtual Network |
| US7921432B2 (en) * | 2006-03-17 | 2011-04-05 | Microsoft Corporation | Managed application execution application programming interface and schema |
| US20120322468A1 (en) | 2011-06-15 | 2012-12-20 | Yigang Cai | Interface between restful web services and packet-switched networks for text messaging |
| US8370391B2 (en) | 2008-03-25 | 2013-02-05 | Microsoft Corporation | Functional updates for tree processing |
| US20130086116A1 (en) | 2011-10-04 | 2013-04-04 | International Business Machines Corporation | Declarative specification of data integraton workflows for execution on parallel processing platforms |
| WO2013119841A1 (en) | 2012-02-10 | 2013-08-15 | Nimbula, Inc. | Cloud computing services framework |
| US20130250770A1 (en) | 2012-03-22 | 2013-09-26 | Futurewei Technologies, Inc. | Supporting Software Defined Networking with Application Layer Traffic Optimization |
| US8607224B2 (en) | 2009-05-28 | 2013-12-10 | Yahoo! Inc. | System for packaging native program extensions together with virtual machine applications |
| US20140033268A1 (en) | 2012-07-30 | 2014-01-30 | International Business Machnies Corporation | Automated network deployment of cloud services into a network |
| US8972489B2 (en) * | 2011-11-15 | 2015-03-03 | Google Inc. | Providing a client interface for a server-based web application programming interface |
| US9003141B2 (en) * | 2011-11-14 | 2015-04-07 | Ca, Inc. | Enhanced software application platform |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040210623A1 (en) * | 2003-03-06 | 2004-10-21 | Aamer Hydrie | Virtual network topology generation |
| EP2387835B1 (de) * | 2009-01-19 | 2013-03-13 | Entropic Communications Inc. | Verfahren und vorrichtung zur schicht-2-erkennung in einem verwalteten gemeinsamen netz |
| US9379946B2 (en) * | 2009-11-12 | 2016-06-28 | Microsoft Technology Licensing, Llc | Model-based virtual networking |
| CN102857363B (zh) * | 2012-05-04 | 2016-04-20 | 运软网络科技(上海)有限公司 | 一种虚拟网络的自主管理系统和方法 |
-
2014
- 2014-02-28 US US14/193,034 patent/US9634900B2/en active Active
-
2015
- 2015-02-26 ES ES15755432T patent/ES2824023T3/es active Active
- 2015-02-26 CN CN202010648622.0A patent/CN111949367B/zh active Active
- 2015-02-26 WO PCT/CN2015/073307 patent/WO2015127894A1/en not_active Ceased
- 2015-02-26 EP EP15755432.0A patent/EP3103244B1/de active Active
- 2015-02-26 CN CN201580011235.3A patent/CN106063223B/zh active Active
- 2015-02-26 EP EP20186645.6A patent/EP3780501B1/de active Active
Patent Citations (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7426734B2 (en) * | 2003-10-24 | 2008-09-16 | Microsoft Corporation | Facilitating presentation functionality through a programming interface media namespace |
| US7607128B2 (en) * | 2004-07-21 | 2009-10-20 | International Business Machines Corporation | Method and system for enabling a server application to be executed in the same virtual machine as a client application using direct object oriented programming method calls |
| US20100208619A1 (en) | 2005-09-15 | 2010-08-19 | Tp Lab, Inc. | Method to Dynamically Create a Virtual Network |
| US7921432B2 (en) * | 2006-03-17 | 2011-04-05 | Microsoft Corporation | Managed application execution application programming interface and schema |
| US8370391B2 (en) | 2008-03-25 | 2013-02-05 | Microsoft Corporation | Functional updates for tree processing |
| US20100083287A1 (en) * | 2008-09-30 | 2010-04-01 | Maximilien E Michael | Declarative Representation of Networked Applications |
| US20100115606A1 (en) * | 2008-10-21 | 2010-05-06 | Dmitriy Samovskiy | System and methods for enabling customer network control in third-party computing environments |
| US8607224B2 (en) | 2009-05-28 | 2013-12-10 | Yahoo! Inc. | System for packaging native program extensions together with virtual machine applications |
| US20120322468A1 (en) | 2011-06-15 | 2012-12-20 | Yigang Cai | Interface between restful web services and packet-switched networks for text messaging |
| US20130086116A1 (en) | 2011-10-04 | 2013-04-04 | International Business Machines Corporation | Declarative specification of data integraton workflows for execution on parallel processing platforms |
| US9003141B2 (en) * | 2011-11-14 | 2015-04-07 | Ca, Inc. | Enhanced software application platform |
| US8972489B2 (en) * | 2011-11-15 | 2015-03-03 | Google Inc. | Providing a client interface for a server-based web application programming interface |
| WO2013119841A1 (en) | 2012-02-10 | 2013-08-15 | Nimbula, Inc. | Cloud computing services framework |
| US20130250770A1 (en) | 2012-03-22 | 2013-09-26 | Futurewei Technologies, Inc. | Supporting Software Defined Networking with Application Layer Traffic Optimization |
| US20140033268A1 (en) | 2012-07-30 | 2014-01-30 | International Business Machnies Corporation | Automated network deployment of cloud services into a network |
Non-Patent Citations (7)
| Title |
|---|
| Ceccarelli, D., et al., "Framework for Abstraction and Control of Transport Networks," draft-ceccarelli-actn-framework-01.txt, Feb. 14, 2014, 27 pages. |
| Foreign Communication From a Counterpart Application, European Application No. 15755432.0, Extended European Search Report dated Jan. 23, 2017, 10 pages. |
| Foreign Communication From A Counterpart Application, PCT Application No. PCT/CN2015/073307, International Search Report dated May 28, 2015, 7 pages. |
| Foreign Communication From A Counterpart Application, PCT Application No. PCT/CN2015/073307, Written Opinion dated May 28, 2015, 5 pages. |
| Hewlett-Packard, "Annex A: Relationship to SDN," NFVSWA (14)000087, Feb. 19, 2014, 7 pages. |
| Jesus, W., et al., "ProViNet-An Open Platform for Programmable Virtual Network Management," IEEE 37th Annual computer Software and Applications Conference, Jul. 22, 2013, 10 pages. |
| Jesus, W., et al., "ProViNet—An Open Platform for Programmable Virtual Network Management," IEEE 37th Annual computer Software and Applications Conference, Jul. 22, 2013, 10 pages. |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10484334B1 (en) * | 2013-02-26 | 2019-11-19 | Zentera Systems, Inc. | Distributed firewall security system that extends across different cloud computing networks |
Also Published As
| Publication number | Publication date |
|---|---|
| ES2824023T3 (es) | 2021-05-11 |
| CN111949367A (zh) | 2020-11-17 |
| WO2015127894A1 (en) | 2015-09-03 |
| EP3780501B1 (de) | 2023-07-26 |
| EP3780501A1 (de) | 2021-02-17 |
| EP3103244A4 (de) | 2017-02-22 |
| CN106063223A (zh) | 2016-10-26 |
| CN111949367B (zh) | 2024-10-18 |
| US20150249574A1 (en) | 2015-09-03 |
| EP3103244A1 (de) | 2016-12-14 |
| EP3103244B1 (de) | 2020-08-19 |
| CN106063223B (zh) | 2020-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9634900B2 (en) | Declarative approach to virtual network creation and operation | |
| US11178233B2 (en) | Service orchestration method and apparatus, and server | |
| US20220342649A1 (en) | Deployment and configuration of an edge site based on declarative intents indicative of a use case | |
| US20200272431A1 (en) | Software defined network controller | |
| US10033579B2 (en) | Using transactions to compute and propagate network forwarding state | |
| US9667495B2 (en) | Programmable data network management and operation | |
| US20200099625A1 (en) | Path determination method and system for delay-optimized service function chaining | |
| US10027536B2 (en) | System and method for affinity-based network configuration | |
| US11126415B1 (en) | Combining domain-specific language with general-purpose language for serverless network functions | |
| EP3764596A1 (de) | Datenkonfigurationsverfahren und -vorrichtung | |
| US12236229B2 (en) | Identifying execution environments for deploying network functions | |
| US11418394B1 (en) | Using a domain-specific language to describe network-level behavior | |
| US11442703B2 (en) | Domain-specific language for serverless network functions | |
| KR20250020674A (ko) | 전기통신 네트워크 내의 o1 관련 서비스들에 대한 r1-o1 데이터 모델들을 구현하기 위한 장치 및 방법 | |
| US11252076B2 (en) | Data forwarding method and apparatus | |
| US11349729B2 (en) | Network service requests | |
| CN109842527B (zh) | 一种网络告警方法以及设备 | |
| Štefanič et al. | Non-functional requirements optimisation for multi-tier cloud applications: An early warning system case study | |
| CN106533720A (zh) | 网络服务请求的编译方法、编译装置和控制器 | |
| US20260121925A1 (en) | Network Flow Service | |
| JP2026511517A (ja) | O-Cloudリソースマネジメントおよびオーケストレーションおよび無線アクセスネットワークオーケストレーションアドミニストレーションメンテナンス機能の間の相互作用の管理 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: FUTUREWEI TECHNOLOGIES, INC., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHANG, SHUJIN;REEL/FRAME:032321/0040 Effective date: 20140227 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |