Movatterモバイル変換


[0]ホーム

URL:


US10204122B2 - Implementing an interface between tuple and message-driven control entities - Google Patents

Implementing an interface between tuple and message-driven control entities
Download PDF

Info

Publication number
US10204122B2
US10204122B2US15/045,206US201615045206AUS10204122B2US 10204122 B2US10204122 B2US 10204122B2US 201615045206 AUS201615045206 AUS 201615045206AUS 10204122 B2US10204122 B2US 10204122B2
Authority
US
United States
Prior art keywords
tables
subset
tuples
instructions
output
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
Application number
US15/045,206
Other versions
US20170091004A1 (en
Inventor
Amre Shakimov
Su Wang
Anupam Chanda
Pankaj THAKKAR
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.)
VMware LLC
Original Assignee
Nicira 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 Nicira IncfiledCriticalNicira Inc
Priority to US15/045,206priorityCriticalpatent/US10204122B2/en
Assigned to NICIRA, INC.reassignmentNICIRA, INC.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: SHAKIMOV, AMRE, THAKKAR, PANKAJ, CHANDA, ANUPAM, WANG, SU
Publication of US20170091004A1publicationCriticalpatent/US20170091004A1/en
Priority to US16/270,653prioritypatent/US11288249B2/en
Application grantedgrantedCritical
Publication of US10204122B2publicationCriticalpatent/US10204122B2/en
Assigned to VMware LLCreassignmentVMware LLCMERGER (SEE DOCUMENT FOR DETAILS).Assignors: NICIRA, INC.
Activelegal-statusCriticalCurrent
Adjusted expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

Some embodiments of the invention provide a novel method for interfacing between a first tuple-based controller and a second controller using a message-based protocol. The method of some embodiments identifies a set of changed tuples stored in a set of output tables, generates a set of messages based on the changed tuples, and sends the generated set of messages to a second controller. In some embodiments, the first and second controllers are parts of a network control system that manages forwarding elements to implement a logical network.

Description

BACKGROUND
There is a growing movement, driven by both industry and academia, towards a new network control paradigm called Software-Defined Networking (SDN). In Software-Defined Networking (SDN), a control plane implements and maintains the control logic that governs the forwarding behavior of shared network switching elements on a per user basis. A logical network that is implemented for a tenant of a hosting system is a good example of an SDN. The virtual (logical) network of a tenant of the hosting system connects a set of data compute nodes (e.g., virtual machines, etc.) that are assigned to the tenant, to each other and to other virtual and/or physical networks through a set of logical switches and logical routers.
In some cases, a network control system manages the control plane using multiple levels of control entities using various systems. Communicating between a tuple-based control entity and a message-driven control entity poses many difficulties as the first relies on eventual consistency to generate output from input data, while the other requires a strict protocol and state machine.
BRIEF SUMMARY
Some embodiments of the invention provide a novel method for interfacing between a first tuple-based controller and a second controller using a message-based protocol. The method of some embodiments identifies a set of changed tuples stored in a set of output tables, generates a set of messages based on the changed tuples, and sends the generated set of messages to a second controller. In some embodiments, the first and second controllers are parts of a network control system that manages forwarding elements to implement a logical network.
In some embodiments, the first controller (or local controller) manages a local control plane for a set of managed forwarding elements, modifying the forwarding behaviors for the set of managed forwarding elements according to logical definitions provided from the logical control plane. The second controller (or central controller) of some embodiments manages the logical control plane, receiving definitions of logical forwarding elements in a logical network and creating logical forwarding data for the first controller to process and implement on the managed forwarding elements of the physical network. The local controllers of some embodiments use a rules engine (e.g., nLog) to translate input data tuples to output data tuples that can be sent to the managed forwarding elements to implement the logical network.
The tuple-based local controller of some embodiments uses cacheable output tables to store processed data tuples. Messages that are generated based on the processed data tuples can be sent to the central controller at various times (e.g., after the tuple-based controller establishes a connection with the central controller(s), upon request from the central controllers, etc.). In some embodiments, the local controller uses both cacheable and non-cacheable output tables to generate messages for the central controller. For example, the local controller of some embodiments uses cacheable output tables to store physical information (e.g., virtual interface (VIF)) information related to the managed forwarding elements, and uses non-cacheable output tables for logical information (e.g., logical addresses for machines operating on the managed forwarding elements) based on data received from the central controller. In some embodiments, the cacheable tables are used for any table that stores computed state data that can be sent to the central controller. In some such embodiments, tables used for inputs or for intermediate processing are not stored in cacheable tables to improve performance of the system.
The local controller of some embodiments uses messages (or data tuples) stored in the output tables to send messages in a particular format or according to a particular protocol (e.g., protobuf) to the central controller. In some embodiments, the local controller establishes dependencies between records in the various output tables to ensure that the generated messages are sent to the central controller in a defined sequence according to the particular protocol. The dependencies between the records of the different tables in some embodiments are dependent on the type of operation that is being performed for the data tuples in the output tables. For example, in some embodiments, while a first record in a first table will depend on a second record in a second table for a first operation, the second record in the second table may depend on the first record for another operation.
The dependencies between the data tuples of the different tables may span over multiple tables and multiple levels. For example, a single data tuple may depend on multiple data tuples in multiple other tables, multiple data tuples from multiple tables may depend on a single data tuple, and a data tuple that depends on another data tuple may in turn have other data tuples that depend on it. The various dependencies are constructed to ensure that the messages based on the output data tuples are sent to the central controller in a specific order. In some embodiments, the dependencies for the data tuples of the output tables are defined based on a virtual network identifier (VNI) associated with a logical network that connects to machines coupled to the managed forwarding elements managed by the local controller.
In some embodiments, the local controller implements the dependence of data tuples in different tables by registering the tables that include the dependent data tuples for notifications regarding the particular data tuples on which the dependent data tuples depend. In some embodiments, the local controller updates the dependent data tuples with references to the particular data tuples when the notification is received. The references in some embodiments are implemented using a counter that indicates the number of remaining dependencies that must be satisfied before a message based on the dependent data tuple can be sent.
The preceding Summary is intended to serve as a brief introduction to some embodiments of the invention. It is not meant to be an introduction or overview of all of the inventive subject matter disclosed in this document. The Detailed Description that follows and the Drawings that are referred to in the Detailed Description will further describe the embodiments described in the Summary as well as other embodiments. Accordingly, to understand all the embodiments described by this document, a full review of the Summary, Detailed Description and the Drawings is needed. Moreover, the claimed subject matters are not to be limited by the illustrative details in the Summary, Detailed Description and the Drawing, but rather are to be defined by the appended claims, because the claimed subject matters can be embodied in other specific forms without departing from the spirit of the subject matters.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features of the invention are set forth in the appended claims. However, for purposes of explanation, several embodiments of the invention are set forth in the following figures.
FIG. 1 illustrates an example of a network control system that sends messages based on tuples in a set of output tables.
FIG. 2 illustrates an example of a local controller for communicating with a central controller in a network control system in order to manage a managed forwarding element.
FIG. 3 conceptually illustrates a process for generating and sending messages based on tuples in a set of output tables.
FIG. 4 illustrates an example of sending messages from a tuple-based system using cacheable and non-cacheable output tables.
FIG. 5 illustrates another example of sending messages from a tuple-based system using cacheable output tables.
FIG. 6 illustrates an example of creating dependencies between data tuples of a set of output tables.
FIG. 7 illustrates an example of sending messages for inserted tuples in a set of dependent output tables.
FIG. 8 illustrates an example of sending messages for deleted tuples of a set of dependent output tables.
FIG. 9 conceptually illustrates a process for using dependencies to generate and send messages based on tuples in a set of output tables.
FIG. 10 conceptually illustrates an electronic system with which some embodiments of the invention are implemented.
DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description of the invention, numerous details, examples, and embodiments of the invention are set forth and described. However, it should be understood that the invention is not limited to the embodiments set forth and that the invention may be practiced without some of the specific details and examples discussed.
Some embodiments of the invention provide a novel method for interfacing between a first tuple-based controller and a second controller using a message-based protocol. The method of some embodiments identifies a set of changed tuples stored in a set of output tables, generates a set of messages based on the changed tuples, and sends the generated set of messages to a second controller. In some embodiments, the first and second controllers are parts of a network control system that manages forwarding elements to implement a logical network.
A logical network logically connects a set of end machines (e.g., virtual machines, physical servers, containers, etc.) and a set of physical machines (and other resources of the physical network) using a set of logical forwarding elements (e.g., logical L2 and L3 switches). This allows the physical resources of a physical network to be allocated and shared while maintaining a logical separation between the end machines of the different logical networks.
In some embodiments, the first controller (or local controller) manages a local control plane for a set of managed forwarding elements, modifying the forwarding behaviors for the set of managed forwarding elements according to logical definitions provided from the logical control plane. The second controller (or central controller) of some embodiments manages the logical control plane, receiving definitions of logical forwarding elements in a logical network and creating logical forwarding data for the first controller to process and implement on the managed forwarding elements of the physical network. The controllers of some embodiments use a rules engine (e.g., nLog) to translate input data tuples to output data tuples that can be sent to the managed forwarding elements to implement the logical network.
The tuple-based local controller of some embodiments uses cacheable output tables to store processed data tuples. Messages that are generated based on the processed data tuples can be sent to the central controller at various times (e.g., after the tuple-based controller establishes a connection with the central controller(s), upon request from the central controllers, etc.). The messaging protocol used between the local and central controllers requires a strict adherence to ordering for the messages sent by the local controller. In some embodiments, the messaging protocol allows the central controller to maintain an accurate view of the physical network and to efficiently manage the logical network.
In some embodiments, the local controller uses both cacheable and non-cacheable output tables to generate messages for the central controller. For example, the local controller of some embodiments uses cacheable output tables to store physical information (e.g., virtual interface (VIF)) information related to the managed forwarding elements, and uses non-cacheable output tables for logical information (e.g., logical addresses for machines operating on the managed forwarding elements) based on data received from the central controller. In some embodiments, the cacheable tables are used for any table that stores computed state data that can be sent to the central controller. In some such embodiments, tables used for inputs or for intermediate processing are not stored in cacheable tables to improve performance of the system.
The local controller of some embodiments uses messages (or data tuples) stored in the output tables to send messages in a particular format or according to a particular protocol (e.g., protobuf) to the central controller. In some embodiments, the local controller establishes dependencies between records in the various output tables to ensure that the generated messages are sent to the central controller in a defined sequence according to the particular protocol. The dependencies between the records of the different tables in some embodiments are dependent on the type of operation that is being performed for the data tuples in the output tables. For example, in some embodiments, while a record in a first table will depend on a record in a second table for a first operation, the record in the second table may depend on the first record for another operation.
The dependencies between the data tuples of the different tables may span over multiple tables and multiple levels. For example, a single data tuple may depend on multiple data tuples in multiple other tables, multiple data tuples from multiple tables may depend on a single data tuple, and a data tuple that depends on another data tuple may in turn have other data tuples that depend on it. The various dependencies are constructed to ensure that the messages based on the output data tuples are sent to the central controller in a specific order. In some embodiments, the dependencies for the data tuples of the output tables are defined based on a virtual network identifier (VNI) associated with a logical network that connects to machines coupled to the managed forwarding elements managed by the local controller.
In some embodiments, the local controller implements the dependence of data tuples in different tables by registering the tables that include the dependent data tuples for notifications regarding the particular data tuples on which the dependent data tuples depend. In some embodiments, the local controller updates the dependent data tuples with references to the particular data tuples when the notification is received. The references in some embodiments are implemented using a counter that indicates the number of remaining dependencies that must be satisfied before a message based on the dependent data tuple can be sent.
An overview of the process for implementing an interface between tuple and message-driven controllers is described above. Further details and examples of messaging for tuple-based controllers are described below. Specifically, Section I describes messaging from a tuple-based controller. Section II then describes examples of messaging using cacheable output tables. Section III describes examples of ordered messaging based on output table dependencies. Finally, Section IV describes an electronic system with which some embodiments of the invention are implemented.
I. Messaging for a Tuple-Based Controller
FIG. 1 illustrates an example of a network control system that sends messages based on tuples in a set of output tables in three stages101-103. This figure shows anetwork control system100 that manages a managed forwarding element MFE1 to which two virtual machines VM1-VM2 attach. Thenetwork control system100 includes acentral control plane110 and alocal control plane120, which includes input tables122, output tables124, and arules engine126.
Thenetwork control system100 of some embodiments is for implementing logical forwarding elements of a set of logical networks on physical elements of a physical network. A logical network logically connects a set of end machines (e.g., virtual machines, physical servers, containers, other resources of the physical network, etc.) using a set of logical forwarding elements (e.g., logical L2 and L3 switches). This allows the physical resources of a physical network to be allocated and shared by multiple different logical networks while maintaining a logical separation between the end machines of the different logical networks.
In some embodiments, the managed forwarding element MFE1 is a software forwarding element (e.g., a virtual switch) that operates on a hypervisor of a host machine along with the virtual machines VM1-VM2. Although only a single software managed forwarding element is shown in this figure, it should be understood that a network control system would manage several forwarding elements, which may include both hardware and software forwarding elements.
Thenetwork control system100 includes a central control plane (CCP)110, which is implemented by a cluster of central controllers in some embodiments. Thecentral control plane110 of some embodiments manages and implements logical datapath sets (LDPS) (e.g., logical switches, logical routers, etc.) of the logical networks by communicating with the local control plane (LCP)120. In some embodiments, the LCP is implemented by a set of controllers that manage the forwarding behaviors of the managed forwarding elements by generating data tuples that are sent to the managed forwarding elements. In some embodiments, the LCP is implemented by local daemons that operate on the host machines along with software managed forwarding elements and virtual machines.
In some embodiments, the LCP uses data tuples to communicate with the managed forwarding elements because data tuples allow for a simple and efficient method for distributing state to the managed forwarding elements. Tuples allow for eventual consistency and do not require frequent and prompt updates. However, CCP does not manage the state using data tuples, but rather a message format that allows CCP to function efficiently, but requires a more strict adherence to ordered messaging. In some embodiments, in order to satisfy both the CCP and the MFEs, the LCP computes data tuples for the managed forwarding elements and translates the tuples into a message format compatible with the CCP.
Thefirst stage101 shows that the input tables122 include two tuples Tuple1 andTuple2, while the output tables124 are empty. Thefirst stage101 also shows that therules engine126 processes the tuples of input tables122. In some embodiments, therules engine126 processes the tuples of the input tables122 using a series of queries and table joins to produce output tables.
In thesecond stage102, therules engine126 has generated output tuples Tuple3 andTuple4 in the output tables124. The output tuples of some embodiments include various logical and physical information that can be sent to theCCP110 and the managed forwarding element MFE1. For example, the output tuples of the output tables124 may include tuples that define the mappings of logical elements (e.g., logical ports of logical forwarding elements) to physical elements (e.g., physical ports of the MFE1)
Thethird stage103 shows that thelocal controller120 then sends the data tuple Tuple3 to the managed forwarding element MFE1. In some embodiments, the data tuple Tuple3 defines a forwarding rule and is stored in a set of forwarding tables of MFE1 to process packets for virtual machines VM1 and VM2.
Finally, thefourth stage104 shows that, in addition to sending the data tuples to MFEL the local controllers (or LCP120) sends amessage155 based on the output tuples stored in the output tables124. In some embodiments, messages from the LCP must be provided to the CCP in a specific format or in a specific order, according to a protocol (e.g., protobuf) specified for communications between theLCP120 and theCCP110.
FIG. 2 illustrates an example of a local controller that communicates with a central controller in a network control system in order to manage a managed forwarding element. This figure shows acentral controller255 and a managed forwarding element (MFE265) that communicate with thelocal controller200, similar to the example described above with reference toFIG. 1. Thelocal controller200 includes a set of input tables210, arules engine225, a set of output tables245,message generator250, apublisher260, and acompiler235. In some embodiments, thelocal controller200, managed forwarding element (MFE)265, and VMs connected to theMFE265 all operate on a single machine. In some such embodiments, several such machines (i.e., machines with a local controller, MFE, and VMs) are managed by a single instance of thecentral controller255.
Thecentral controller255 is a part of the central control plane (CCP) and converts logical datapath sets (LDPSs) into a set ofinput data tuples242 to populate the input tables210 of thelocal controller200. In some embodiments, the input tables210 include tables with logical data (e.g., access control list configurations, private virtual network configurations, port security configurations, etc.) from thecentral controller255 and with physical data (e.g., physical control plane data, virtual interface (VIF) data, etc.) from theMFEs265 managed by thelocal controller200.
Therules engine225 performs table mapping operations that convert data tuples in the input tables210 to output data tuples (e.g., messages, forwarding rules, etc.) in the output tables245. Whenever one of the input tables210 is modified, therules engine225 performs a set of table mapping operations that may result in the modification of one or more data tuples in one or more output tables. The rules engines of different embodiments detect the occurrence of an input table event differently. In some embodiments, the event processor registers for callbacks with the input tables210 for notification of changes to the data tuples of the input tables210. In such embodiments, therules engine225 performs the table mapping operations to create data tuples in the output tables245 when it receives notification from the input tables210 that data tuples have changed.
In some embodiments, thecompiler235 receivesdeclarations240 of rules and operations (e.g., table dependencies, relationships, references, etc.) to create or implement therules engine225. Thedeclarations240 describe different operations that are to be performed upon the occurrence of different events, which thecompiler235 translates into several sets of database join operations for the table mapping engine (or rules engine). In some embodiments, thedeclarations240 are used to configure the rules engine to implement dependencies between data tuples in the various tables in order to enforce a strict ordering for messages that are sent to the central controller. The dependencies are described in further detail below in Section III.
Therules engine225 maps input tables210 containing logical datapath set data and switching element attributes to the output tables245 to generate information regarding the managed switching elements. The generated information is used to send messages to the central controller and flow entries for the managed switching elements.
In some embodiments, the output tables245 store several different tables for various purposes. The output tables245 of some embodiments stores data tuples that describe both logical and physical network data. In some embodiments, the data tuples are used to communicate messages with thecentral controller255 and to communicate forwarding data to theMFE265. In some embodiments, the output tables245 include both cacheable and non-cacheable tables that are used for messaging with the central controller. Cacheable and non-cacheable tables are described in further detail below in Section II.
Thepublisher260 of some embodiments then processes the output data tuples in the output tables245 and propagates the output data tuples to the managed forwarding element(s)265. Thepublisher260 detects changes to the output tables245 and propagates the modified data tuple(s) to the managed forwardingelement265 to modify forwarding behaviors of theMFE265.
Themessage engine250 processes the output tables245 to send messages back to thecentral controller255 according to a specified communication protocol (e.g., protobuf). In some embodiments, themessage engine250 translates the data tuples of the output tables245 into the various different formats, while in other embodiments, therules engine225 is configured to generate the messages and themessage engine250 is only responsible for sending the generated messages to thecentral controller255.
FIG. 3 conceptually illustrates a process for generating and sending messages based on tuples in a set of output tables. Theprocess300 of some embodiments is performed by a local controller in a network control system. Theprocess300 begins by detecting (at305) changes in the input data tuples stored in the input tables. In some embodiments, theprocess900 detects changes by registering for notifications from the input data tables.
Theprocess300 then generates (at310) corresponding output data tuples based on the changed input data tuples. As described above, the process of some embodiments generates the corresponding output data tuples using a rules engine (or table mapping engine).
Theprocess300 then translates (at315) the generated output data tuples to messages according to a specified protocol (e.g., protobuf) for communicating with another controller (e.g., a central controller). Finally, theprocess300 sends (at320) the translated messages to the other controller (e.g., the central controller).
II. Cacheable Output Tables
FIG. 4 illustrates an example of sending messages from a tuple-based system using cacheable and non-cacheable output tables in four stages401-404. In this example, thelocal controller410 generates and sends messages from cacheable tables435 and non-cacheable output tables430. Thefirst stage401 shows alocal controller410, similar to the controllers described above with reference toFIG. 2, with input tables415, arules engine420, output tables430 and435, and amessage engine440. In addition, the output tables430 and435 include non-cacheable output tables430 and cacheable output tables435.
In thefirst stage401, thelocal controller410 has new input tuples T1 and T2 in the input table415. The input tuples T1 and T2 may be tuples that are received from the central controller, generated based on communications with managed forwarding elements, generated based on other input tables, etc. Thefirst stage401 shows that therules engine420 detects the changed tuples T1 and T2.
In thesecond stage402, therules engine420 performs table mapping and join operations generate output tuples T3 and T4 in non-cacheable output table430 and output tuples T5-T7 in cacheable output table435. In some embodiments, therules engine420 performs a series of operations on several different tables, with outputs of some operations serving as inputs for other operations. In some embodiments, the number of tuples that are generated may differ from the number of input tuples used to generate them.
In some embodiments, thelocal controller410 uses both cacheable and non-cacheable output tables to generate messages for the central controller. For example, thelocal controller410 of some embodiments uses cacheable output tables435 to store physical information (e.g., virtual interface (VIF)) information related to the managed forwarding elements, and uses non-cacheable output tables430 for logical information (e.g., logical addresses for machines operating on the managed forwarding elements) based on data received from the central controller (not shown).
Thethird stage403 shows that themessage engine440 monitors both cacheable and non-cacheable output tables430 and435 and detects changes in the output tables430 and435. Themessage engine440 of some embodiments translates the data tuples stored in the output tables430 and435 into a message format that is compatible with a specified protocol for communicating with the central controllers.
In some embodiments, the translation of data tuples to messages is not a one-to-one relationship. For example, in some embodiments, themessage engine440 concatenates and combines multiple tuples from the output tables430 and435 into a single message. Alternatively, or conjunctively, themessage engine440 of some embodiments translates a single data tuple into multiple messages for the central controller.
In some embodiments, themessage engine440 does not generate the messages at all. Rather, therules engine420 performs the table mapping and database join operations in a manner so as to generate and directly store messages for the central controller in the output tables430.
Finally, thefourth stage404 shows that themessage engine440 sends the generatedmessages450 to the central controller. The generatedmessages450 of some embodiments are used to provide physical data (e.g., VIF data) about a managed forwarding element that is managed by thelocal controller410. In some embodiments, the protocol for communications between thelocal controller410 and the central controller requires a strict ordering of the messages sent by thelocal controller410. The use of output table dependencies to enforce the ordering of the messages is described in further detail below in Section III.
Thefourth stage404 also shows that the input tables415 and the non-cacheable tables430 are empty because their contents have been processed by therules engine420 and forwarded to the central controller by themessage engine440. The cacheable output tables435, however, still have the tuples T5-T7 that were previously generated by therules engine420.
FIG. 5 illustrates another example of sending messages from a tuple-based system using cacheable output tables in three stages501-503. Thefirst stage501 shows thelocal controller410 as described inFIG. 4. In thefirst stage501, the message engine440 (or other module of the local controller410) receives arequest550 from the central controller (not shown). Therequest550 in this example is a request for all of the information that thelocal controller410 has regarding a logical forwarding element, identified by the virtual network identifier (VNI) VNI1.
In some embodiments, the central controller does not send requests for information from the local controllers. Rather the local controllers of some embodiments automatically send messages to the central controllers whenever a connection with a central controller (or multiple central controllers) is established (e.g., an initial connection, after a disconnect, etc.).
In thesecond stage502, rather than recalculating the output tuples T5-T7 from input tuples of the input tables415, themessage engine440 generates new messages from the cached data tuples T5-T7. With the rules engine of some embodiments, it is difficult to recalculate a particular set of output tuples without recreating the exact same input tuples in the input tables415. Even if the same tuples can be stored in the input tables415, reprocessing the same data can have unexpected consequences due to the relationships and interconnections of the various input and output tables.
Thethird stage503 shows that themessage engine440 sends the recreatedmessage555 to the central controller. By generating new messages from the cached output tuples of the cacheable output tables435, some embodiments of the invention avoid having to recalculate output tuples for the outgoing data messages, providing for faster responses and avoiding potential problems in the local controller.
III. Output Table Dependencies
In some embodiments, in addition to or rather than the cacheable output tables, the local controllers generate and use dependencies between the output tables to enforce a strict ordering of messages communicated to the central controllers.FIG. 6 illustrates an example of creating dependencies between data tuples of a set of output tables in four stages601-604. In some embodiments, the dependent tables and the table(s) they depend are cacheable tables, non-cacheable tables, or a mix of both.
Thefirst stage601 shows alocal controller610 with arules engine620, output tables (Tables 1-4), andmessaging engine640. Thefirst stage601 shows that tables 2 and 3 depend on table 1 (as indicated by the dashed lines). In addition, table 4 is dependent on table 3. In this figure, the dependences are shown as dashed arrows between the tables, but in some embodiments, the dependences are between data tuples of the various tables and not between the tables themselves. For example, the dependence of table 2 on table 1, may represent that in order for any tuples from table 2 to be processed by themessage engine640, a particular data tuple must first be detected in table 1. In this way, a data tuple (or multiple data tuples) from each of tables 2 and 3 is dependent on the particular data tuple in table 1. A more detailed example of the dependencies will be described in further detail below with reference toFIGS. 7 and 8.
Thefirst stage601 also shows that therules engine620 generates output data tuples in the output tables 2-4 from data in the input tables (not shown). However, as tables 2 and 3 are dependent on table 1 and table 1 has not yet received the tuple on which the data tuples of 2 and 3 depend, themessage engine640 does not generate or send any messages based on the new output data tuples. Likewise, even though table 4 depends on table 3, themessage engine640 of some embodiments will not process the tuples of table 4 until all the upstream dependencies are satisfied (i.e., until table 1 receives the required tuple).
Thesecond stage602 shows that therules engine620 has now updated table 1 with new output data tuples. In this example, as table 1 is not dependent on any other tables, themessage engine640 processes the new output data tuples of table 1 to generatemessage650 and to send it to the central controller.
In thethird stage603, dependencies for the dependent tables 2-4 have been updated with the addition of the new data tuples in table 1. In some embodiments, a first table registers for notifications from a second table when data tuples in the first table are dependent on data tuples in the second table. In such embodiments, tables 2 and 3 would have registered for notification for new tuples at table 1. When the new tuples were received instage603, table 1 would have sent notifications to the dependent tables 2 and 3, updating the dependencies, and triggeringmessage engine640 to sendmessages655 based on the tuples stored in tables 2 and 3.
Similarly, with the processing of the tuples of table 3, thefourth stage604 shows that the dependency of table 4 is satisfied, triggering themessage engine640 to send amessage660 based on the tuples of table 4 to the central controller. By configuring the tuples of table 4 to depend on the tuples of table 3, and the tuples of tables 2 and 3 to depend on the tuples of table 1, thelocal controller610 ensures that messages based on the tuples of table 1 are sent before the tuples of tables 2 and 3, and that messages based on the tuples of table 3 are sent before messages based on the tuples of table 4.
FIG. 7 illustrates an example of sending messages for inserted tuples in a set of dependent output tables in four stages701-704. In this example,local controller700 needs to join a VNI (i.e., inform the central controller that the local controller manages at least one VM or port of the VNI) and to send information about the VNI (e.g., VM information) to the central controller.
Thefirst stage701 shows alocal controller700 with amessage engine740. Thelocal controller700 also shows three tables710,720, and725. In this example, tables720 and725 are dependent on table710. The output tables710,720, and725 are currently empty, but are for storing output data tuples generated by the rules engine (not shown). In addition, each of the dependent tables720 and725 maintains a reference and a counter to indicate the dependence of the data tuples in tables720 and725 on data tuples in the table710.
In thesecond stage702, dependent output tables720 and725 have been updated with output data tuples. Dependent output table720 is for storing virtual machine (VM) information and shows a data tuple “VNI1:VM1” which indicates that VM1, attached to a managed forwarding element oflocal controller700, is a part of VNI1. Dependent output table725 stores virtual tunnel end point (VTEP) information and shows a data tuple “VNI1:VTEP1” which indicates that the address for the VTEP for VNI1 is VTEP1. However, the count (or reference) for both of these data tuples is 0, indicating that the data tuple on which they depend has not yet been received.
Table710 stores VNI information, and based on the VNI information, themessage engine740 generates messages to join the different VNIs (i.e., to inform the central controller that the local controller manages at least one VM or port of the VNI). In this case, table710 does not yet have any VNI information. In this example, the tuples in tables720 and725 are made dependent on the data tuple of table710, because the protocol rejects or ignores messages regarding a particular VNI (VNI1), when thelocal controller700 has not joined the VNI. Ifmessage engine740 sent messages from output tables720 and725 without regard to the dependencies, the messages regarding VNI1 would be ignored and could not readily be re-sent.
Thethird stage703 shows that output table710 has received a data tuple (“VNI:VNI1”) indicating that the local controller (or machines attached to the managed forwarding element of the local controller) are to join VNI1. As output table710 has no further dependencies, themessage engine710 generates amessage750 to join VNI1 and sends it to the central controller.
Finally, in thefourth stage704, the references (or counts) for dependent tables720 and725 have been updated to 1, indicating the receipt of the data tuple in table710. Themessage engine740 processes the tuples of tables720 and725 to sendmessages755 with information for VM1 and VTEP1 of VNI1 to the central controller. The necessary number of dependencies (in this case 1), can be any number of dependencies in some embodiments. As shown in this example, multiple records in multiple tables may depend on a single record. In other cases, a single data tuple may depend on multiple data tuples from one or more other tables.
The example ofFIG. 7 showed an insert operation for joining and providing data regarding a VNI. In some embodiments, the dependencies of the various tables will change based on the type of operation that is being performed on the data tuples.FIG. 8 illustrates an example of sending messages for deleted tuples of a set of dependent output tables in four stages801-804. The example of this figure is similar to the example ofFIG. 7, but rather than inserting tuples to join a VNI and to send data regarding that VNI, in this example, removes tuples to leave the VNI and remove the data regarding that VNI.
Thefirst stage801 showslocal controller800 with amessage engine840. Thelocal controller800 also shows three tables810,815, and820. In this example, table820 is dependent on tables810 and815. The output tables810 and815 are currently empty, but dependent output table820 shows an output data tuple (“VNI:VNI1”).
In this example, the output data tuple is a delete tuple (shown in italics) that indicates that the tuple is to be deleted (i.e., thelocal controller800 wants to leave VNI1). In some embodiments, each data tuple includes a flag (e.g., ‘delete=true’) that indicates whether the tuple is for insertion or deletion. Dependent table820 also maintains a counter to indicate the dependence of the data tuple on delete data tuples in tables810 and815. In this case, the count begins at 2 based on the two records that were inserted for the VNI1 in the example ofFIG. 7. As shown in this example, a data tuple that is depended upon by a second data tuple for a first operation (e.g., insert), may depend on the second data tuple for a second operation (e.g., delete).
In thesecond stage802, output data table810 has received a delete data tuple for removing the VM information. As table810 does not depend on any other tables, themessage engine840 sends message850 to the central controller based on the updated data tuple.
Aftermessage engine840 sends message850, thethird stage803 shows that the count for output data table820 has been updated to 1, indicating that only one dependency is remaining. Thethird stage803 also shows that output table815 has received a delete data tuple for removing the VTEP information and sent acorresponding message855 to the central controller.
Finally, in thefourth stage804, the count for table820 has been updated to 0, indicating that no more dependencies remain for the data tuple, allowingmessage engine840 to send amessage860 to remove thelocal controller800 from the VNI1. The use of the various dependencies and sub-dependencies (i.e., dependencies on other dependent tuples) allows for a flexible and general mechanism for enforcing a strict order for messages based on tuples generated at a controller.
FIG. 9 conceptually illustrates a process for using dependencies to generate and send messages based on tuples in a set of output tables. Theprocess900 of some embodiments is performed by a local controller in a network control system. Theprocess900 begins by identifying (at905) changed data tuples in a set of output data tables. Theprocess900 then determines (at910) whether the changed data tuples are dependent on other data tuples. When theprocess900 determines (at910) that the changed data tuples are not dependent on any other data tuples, the process continues to step920 described below.
When theprocess900 determines (at910) that the changed data tuples are dependent on other data tuples, the process determines (at915) whether the dependencies have been satisfied. As described above, theprocess900 of some embodiments determines (at915) whether dependencies have been satisfied based on counters or references that indicate the dependent relationships between the various data tuples. For example, in some embodiments, theprocess900 determines whether the value for a counter of a particular tuple matches a particular value (e.g., 0 when performing a deletion operation, some number greater than 0 when performing an insert operation). When theprocess900 determines (at915) that the dependencies have not been satisfied, the process returns to step905.
When theprocess900 determines (at915) that the dependencies have been satisfied, the process translates (at920) the generated output data tuples to messages according to a specified protocol for communicating with another controller (e.g., a central controller). Finally, theprocess900 sends (at925) the translated messages to the other controller.
IV. System
Many of the above-described features and applications are implemented as software processes that are specified as a set of instructions recorded on a computer readable storage medium (also referred to as computer readable medium). When these instructions are executed by one or more computational or processing unit(s) (e.g., one or more processors, cores of processors, or other processing units), they cause the processing unit(s) to perform the actions indicated in the instructions. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, random access memory (RAM) chips, hard drives, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), etc. The computer readable media does not include carrier waves and electronic signals passing wirelessly or over wired connections.
In this specification, the term “software” is meant to include firmware residing in read-only memory or applications stored in magnetic storage, which can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while remaining distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described here is within the scope of the invention. In some embodiments, the software programs, when installed to operate on one or more electronic systems, define one or more specific machine implementations that execute and perform the operations of the software programs.
FIG. 10 conceptually illustrates anelectronic system1000 with which some embodiments of the invention are implemented. Theelectronic system1000 may be a computer (e.g., a desktop computer, personal computer, tablet computer, etc.), server, dedicated switch, phone, PDA, or any other sort of electronic or computing device. Such an electronic system includes various types of computer readable media and interfaces for various other types of computer readable media.Electronic system1000 includes abus1005, processing unit(s)1010, asystem memory1025, a read-only memory1030, apermanent storage device1035,input devices1040, andoutput devices1045.
Thebus1005 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of theelectronic system1000. For instance, thebus1005 communicatively connects the processing unit(s)1010 with the read-only memory1030, thesystem memory1025, and thepermanent storage device1035.
From these various memory units, the processing unit(s)1010 retrieves instructions to execute and data to process in order to execute the processes of the invention. The processing unit(s) may be a single processor or a multi-core processor in different embodiments.
The read-only-memory (ROM)1030 stores static data and instructions that are needed by the processing unit(s)1010 and other modules of the electronic system. Thepermanent storage device1035, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when theelectronic system1000 is off. Some embodiments of the invention use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as thepermanent storage device1035.
Other embodiments use a removable storage device (such as a floppy disk, flash memory device, etc., and its corresponding drive) as the permanent storage device. Like thepermanent storage device1035, thesystem memory1025 is a read-and-write memory device. However, unlikestorage device1035, thesystem memory1025 is a volatile read-and-write memory, such a random access memory. Thesystem memory1025 stores some of the instructions and data that the processor needs at runtime. In some embodiments, the invention's processes are stored in thesystem memory1025, thepermanent storage device1035, and/or the read-only memory1030. From these various memory units, the processing unit(s)1010 retrieves instructions to execute and data to process in order to execute the processes of some embodiments.
Thebus1005 also connects to the input andoutput devices1040 and1045. Theinput devices1040 enable the user to communicate information and select commands to the electronic system. Theinput devices1040 include alphanumeric keyboards and pointing devices (also called “cursor control devices”), cameras (e.g., webcams), microphones or similar devices for receiving voice commands, etc. Theoutput devices1045 display images generated by the electronic system or otherwise output data. Theoutput devices1045 include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD), as well as speakers or similar audio output devices. Some embodiments include devices such as a touchscreen that function as both input and output devices.
Finally, as shown inFIG. 10,bus1005 also coupleselectronic system1000 to anetwork1065 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components ofelectronic system1000 may be used in conjunction with the invention.
Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable Blu-Ray® discs, ultra density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.
While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself. In addition, some embodiments execute software stored in programmable logic devices (PLDs), ROM, or RAM devices.
As used in this specification and any claims of this application, the terms “computer”, “server”, “processor”, and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. For the purposes of the specification, the terms display or displaying means displaying on an electronic device. As used in this specification and any claims of this application, the terms “computer readable medium,” “computer readable media,” and “machine readable medium” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.
This specification refers throughout to computational and network environments that include virtual machines (VMs). However, virtual machines are merely one example of data compute nodes (DCNs) or data compute end nodes, also referred to as addressable nodes. DCNs may include non-virtualized physical hosts, virtual machines, containers that run on top of a host operating system without the need for a hypervisor or separate operating system, and hypervisor kernel network interface modules.
VMs, in some embodiments, operate with their own guest operating systems on a host using resources of the host virtualized by virtualization software (e.g., a hypervisor, virtual machine monitor, etc.). The tenant (i.e., the owner of the VM) can choose which applications to operate on top of the guest operating system. Some containers, on the other hand, are constructs that run on top of a host operating system without the need for a hypervisor or separate guest operating system. In some embodiments, the host operating system uses name spaces to isolate the containers from each other and therefore provides operating-system level segregation of the different groups of applications that operate within different containers. This segregation is akin to the VM segregation that is offered in hypervisor-virtualized environments that virtualize system hardware, and thus can be viewed as a form of virtualization that isolates different groups of applications that operate in different containers. Such containers are more lightweight than VMs.
Hypervisor kernel network interface modules, in some embodiments, is a non-VM DCN that includes a network stack with a hypervisor kernel network interface and receive/transmit threads. One example of a hypervisor kernel network interface module is the vmknic module that is part of the ESXi™ hypervisor of VMware, Inc.
It should be understood that while the specification refers to VMs, the examples given could be any type of DCNs, including physical hosts, VMs, non-VM containers, and hypervisor kernel network interface modules. In fact, the example networks could include combinations of different types of DCNs in some embodiments.
The term “packet” is used throughout this application to refer to a collection of bits in a particular format sent across a network. It should be understood that the term “packet” may be used herein to refer to various formatted collections of bits that may be sent across a network. A few examples of such formatted collections of bits are Ethernet frames, TCP segments, UDP datagrams, IP packets, etc.
While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. Thus, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims (20)

We claim:
1. A non-transitory machine readable medium storing a local first controller executing on a set of processing units of a host computer in a network managed by a central second controller, the local first controller comprising an input first set of tables, an output second set of tables, and sets of instructions for:
determining that a first set of data tuples stored in the input first set of tables has been modified;
based on the modified first set of data tuples, generating a second set of data tuples stored in the output second set of tables, the generated second set of data tuples comprising data for performing forwarding operations by a managed forwarding element executing on the host computer and managed by the local first controller to forward data messages to other managed forwarding elements in the network;
based on the generated second set of data tuples, generating a set of control messages; and
sending the generated set of control messages to the central second controller, which based on the set of control messages, generates at least one control message to distribute to at least one other local third controller to use in managing another managed forwarding element on another host computer.
2. The non-transitory machine readable medium ofclaim 1, wherein the set of instructions for determining that the first set of data tuples has been modified comprises a set of instructions for monitoring the input first set of tables.
3. The non-transitory machine readable medium ofclaim 1, wherein the set of instructions for generating the set of control messages comprises a set of instructions for:
identifying dependencies between data tuples in the second set; and
based on the identified dependencies, identifying a particular order for the control messages in the set of control messages.
4. The non-transitory machine readable medium ofclaim 1, wherein the set of instructions for generating the set of control messages comprises a set of instructions for generating a first number of control messages based on a second number of data tuples, wherein the first number and the second number are different.
5. The non-transitory machine readable medium ofclaim 1, wherein the output second set of tables comprises a subset of cacheable output tables and also comprises a subset of non-cacheable output tables, wherein the set of instructions for generating the second set of tuples comprises a set of instructions for generating a first subset of the second set of tuples stored in the subset of cacheable output tables and a second subset of the second set of tuples stored in the subset of non-cacheable output tables.
6. The non-transitory machine readable medium ofclaim 5, wherein the set of instructions for generating the first and second subsets of tuples comprises a set of instructions for performing a series of table joins on the input first set of tables to create records in the subsets of cacheable and non-cacheable output tables.
7. The non-transitory machine readable medium ofclaim 5, wherein the local first controller further comprises a set of instructions for, upon determining that a connection with the central second controller has been re-established, sending the set of control messages to the central second controller based on the first subset of the second set of tuples stored in the set of cacheable output tables.
8. The non-transitory machine readable medium ofclaim 5, wherein the set of instructions for sending the set of control messages comprises sets of instructions for:
sending a first subset of control messages based on the first subset of tuples and a second subset of control messages based on the second subset of tuples; and
removing only the second subset of tuples from the set of non-cacheable output tables.
9. The non-transitory machine readable medium ofclaim 5, wherein the subset of cacheable output tables are for storing physical information identified by the local first controller, wherein the physical information comprises virtual interface (VIF) information for the set of managed forwarding elements.
10. The non-transitory machine readable medium ofclaim 9, wherein the subset of non-cacheable output tables are for storing logical information regarding the set of managed forwarding elements, wherein the logical information comprises mappings of the VIF information to elements of a logical network that is (1) implemented by at least the managed forwarding elements and (2) managed by at least the central second controller.
11. The non-transitory machine readable medium ofclaim 10, wherein the logical information further comprises at least one of a virtual machine (VM) Internet Protocol (IP) address, a VM Media Access Control (MAC) address, and a virtual tunnel end point (VTEP) IP address.
12. The non-transitory machine readable medium ofclaim 5, wherein the set of instructions for sending the generated set of control messages comprises a set of instructions for (1) receiving a request for information from the central second controller and (2) sending the set of control messages comprising the requested information in response to the request, wherein a key is used to filter the requested information, wherein the key is a virtual network identifier (VNI) for a logical network associated with at least one machine attached to a forwarding element managed by the local first controller.
13. The non-transitory machine readable medium ofclaim 1, wherein the set of instructions for generating the set of control messages comprises a set of instructions for identifying a dependence of a first subset of data tuples stored in a first table in the output second set of tables on a second subset of data tuples stored in a second table in the output second set of tables.
14. The non-transitory machine readable medium ofclaim 13, wherein the dependence of the first subset of data tuples on the second subset of data tuples is based on a key stored in the first and second tables, wherein the key is a virtual network identifier (VNI) for a logical network associated with at least one machine attached to a forwarding element managed by the first controller.
15. The non-transitory machine readable medium ofclaim 13, wherein the set of instructions for generating the set of control messages further comprises a set of instructions for identifying a dependence of a third subset of data tuples stored in a third table in the output second set of tables on the second subset of data tuples.
16. The non-transitory machine readable medium ofclaim 13, wherein the set of instructions for generating the set of control messages further comprises a set of instructions for identifying a dependence of a third subset of data tuples stored in a third table in the output second set of tables on the first subset of data tuples.
17. The non-transitory machine readable medium ofclaim 13, wherein the second set of data tuples indicate a particular type of operation, wherein the set of instructions for generating the set of control messages comprises a set of instructions for (i) identifying a dependence of a third subset of data tuples stored in a third table in the output second set of tables on a fourth subset of data tuples stored in a fourth table in the output second set of tables when the particular type of operation is a first type of operation, and (ii) identifying a dependence of the fourth subset of data tuples on the third subset of data tuples when the particular type of operation is a second type of operation.
18. The non-transitory machine readable medium ofclaim 17, wherein the second set of data tuples comprise a flag to indicate whether the particular type of operation is an insert operation or a delete operation.
19. The non-transitory machine readable medium ofclaim 13, wherein the first table is registered for notifications for changes to the second subset of data tuples stored in the second table, wherein the set of instructions for generating the set of control messages comprises a set of instructions for updating, when the first table receives a notification regarding changes to the second subset of data tuples, a reference in the first subset of data tuples, wherein the reference indicates whether control messages based on the first subset of data tuples can be sent.
20. The non-transitory machine readable medium ofclaim 19, wherein the reference is a counter, wherein the set of instructions for sending the generated set of control messages comprises a set of instructions for determining whether the counter has a particular value.
US15/045,2062015-09-302016-02-16Implementing an interface between tuple and message-driven control entitiesActive2037-02-22US10204122B2 (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
US15/045,206US10204122B2 (en)2015-09-302016-02-16Implementing an interface between tuple and message-driven control entities
US16/270,653US11288249B2 (en)2015-09-302019-02-08Implementing an interface between tuple and message-driven control entities

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US201562235532P2015-09-302015-09-30
US15/045,206US10204122B2 (en)2015-09-302016-02-16Implementing an interface between tuple and message-driven control entities

Related Child Applications (1)

Application NumberTitlePriority DateFiling Date
US16/270,653ContinuationUS11288249B2 (en)2015-09-302019-02-08Implementing an interface between tuple and message-driven control entities

Publications (2)

Publication NumberPublication Date
US20170091004A1 US20170091004A1 (en)2017-03-30
US10204122B2true US10204122B2 (en)2019-02-12

Family

ID=58409511

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US15/045,206Active2037-02-22US10204122B2 (en)2015-09-302016-02-16Implementing an interface between tuple and message-driven control entities
US16/270,653ActiveUS11288249B2 (en)2015-09-302019-02-08Implementing an interface between tuple and message-driven control entities

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
US16/270,653ActiveUS11288249B2 (en)2015-09-302019-02-08Implementing an interface between tuple and message-driven control entities

Country Status (1)

CountryLink
US (2)US10204122B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US11019167B2 (en)2016-04-292021-05-25Nicira, Inc.Management of update queues for network controller
US11288249B2 (en)2015-09-302022-03-29Nicira, Inc.Implementing an interface between tuple and message-driven control entities

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
EP2955886B1 (en)2012-04-182020-05-06Nicira Inc.Using transactions to compute and propagate network forwarding state
CN110580157A (en)*2019-09-122019-12-17广东鑫光智能系统有限公司Data acquisition interface based on software definition

Citations (268)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5426774A (en)1993-04-061995-06-20Honeywell Inc.Method for maintaining a sequence of events function during failover in a redundant multiple layer system
JPH07327050A (en)1994-06-011995-12-12Fujitsu Ltd Routing data change / confirmation method
US5504921A (en)1990-09-171996-04-02Cabletron Systems, Inc.Network management system using model-based intelligence
US5550816A (en)1994-12-291996-08-27Storage Technology CorporationMethod and apparatus for virtual switching
JPH09266493A (en)1996-03-281997-10-07Nippon Telegr & Teleph Corp <Ntt> Continuous data delivery method and system
US5729685A (en)1993-06-291998-03-17Bay Networks, Inc.Apparatus for determining the topology of an ATM network or the like Via communication of topology information between a central manager and switches in the network over a virtual service path
US5751967A (en)1994-07-251998-05-12Bay Networks Group, Inc.Method and apparatus for automatically configuring a network device to support a virtual network
US5796936A (en)1993-03-011998-08-18Hitachi, Ltd.Distributed control system in which individual controllers executed by sharing loads
US5805791A (en)1996-04-221998-09-08Advanced Micro Devices, Inc.Method and system for detection of and graceful recovery from a peripheral device fault
US6055243A (en)1995-06-142000-04-25Us West, Inc.System and associated method for re-engineering a telecommunications support with object-oriented translators
US6104699A (en)1994-06-132000-08-15Telefonaktiebolget Lm EricssonMethod and device for partitioning physical network resources
US6219699B1 (en)1996-01-022001-04-17Cisco Technologies, Inc.Multiple VLAN Architecture system
US20010043614A1 (en)1998-07-172001-11-22Krishna ViswanadhamMulti-layer switching apparatus and method
US20010044825A1 (en)2000-05-192001-11-22Treetop Ventures LlcMethod allowing persistent links to web-pages
US20020034189A1 (en)1997-08-292002-03-21Haddock Stephen R.Data path architecture for a lan switch
US6366582B1 (en)1997-09-192002-04-02Hitachi, Ltd.Connection switching apparatus, connection switching network control system and connection switching network control method
US20020093952A1 (en)2000-06-302002-07-18Gonda Rumi SheryarMethod for managing circuits in a multistage cross connect
US20020161867A1 (en)2001-04-252002-10-31Cochran Charles W.System and method for remote discovery and configuration of a network device
US20020194369A1 (en)2001-03-202002-12-19Worldcom, Inc.Policy-based synchronization of per-class resources between routers in a data network
US6512745B1 (en)1996-03-082003-01-28Hitachi, Ltd.Packet switching network, packet switching equipment, and network management equipment
US20030041170A1 (en)2001-08-232003-02-27Hiroyuki SuzukiSystem providing a virtual private network service
US6539432B1 (en)1998-05-192003-03-25Hitachi, Ltd.Network manager, nodes and network management system
US20030058850A1 (en)2001-07-052003-03-27Anand RangarajanRouting packets across multiple forwarding elements
US20030069972A1 (en)2001-10-102003-04-10Yutaka YoshimuraComputer resource allocating method
US20030093481A1 (en)2001-11-092003-05-15Julian MitchellMiddlebox control
US20030204768A1 (en)2002-04-242003-10-30Fee John A.Network restoration using refreshed switch state tables
JP2003318949A (en)2002-04-192003-11-07Nippon Telegr & Teleph Corp <Ntt>Vpn system and router
US20030233385A1 (en)2002-06-122003-12-18Bladelogic,Inc.Method and system for executing and undoing distributed server change operations
US6680934B1 (en)1999-12-022004-01-20Nortel Networks LimitedSystem, device and method for expediting control flow in a communication system
US20040044773A1 (en)2002-08-292004-03-04International Business Machines CorporationMethod, system, and program for establishing and requesting status on a computational resource
US20040047286A1 (en)2002-09-052004-03-11Larsen Loren D.Network switch assembly, network switching device, and method
US20040054680A1 (en)2002-06-132004-03-18Netscout Systems, Inc.Real-time network performance monitoring system and related methods
US20040073659A1 (en)2002-10-152004-04-15Carl RajsicMethod and apparatus for managing nodes in a network
US20040098505A1 (en)2002-11-202004-05-20Clemmensen Daniel G.Forwarding system with multiple logical sub-system functionality
US20040101274A1 (en)1998-09-232004-05-27Digital Fountain, Inc.Systems and methods for broadcasting information additive codes
US6768740B1 (en)2000-08-082004-07-27Sun Microsystems, Inc.Coordinating loop-free forwarding table updates
EP1443423A1 (en)2003-01-282004-08-04Bombardier Transportation (Technology) Germany GmbHApparatus and method for data replication in a data network
US6785843B1 (en)2001-02-232004-08-31Mcrae AndrewData plane restart without state change in a control plane of an intermediate network node
US20040267866A1 (en)2003-06-242004-12-30International Business Machines CorporationVirtual machine connection to a tangible network
US20040267897A1 (en)2003-06-242004-12-30Sychron Inc.Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
US20050021683A1 (en)2003-03-272005-01-27Chris NewtonMethod and apparatus for correlating network activity through visualizing network data
US20050018669A1 (en)2003-07-252005-01-27International Business Machines CorporationInfiniband subnet management queue pair emulation for multiple logical ports on a single physical port
US20050027881A1 (en)2003-07-302005-02-03Nortel Networks LimitedMethod and apparatus for direct frame switching using frame contained destination information
US20050038834A1 (en)2003-08-142005-02-17Oracle International CorporationHierarchical management of the dynamic allocation of resources in a multi-node system
US6862263B1 (en)1998-12-282005-03-01At&T Corp.Hierarchical telecommunications network with fault recovery
US20050083953A1 (en)2003-10-172005-04-21Ip Infusion Inc., A Delaware CorporationSystem and method for providing redundant routing capabilities for a network node
US20050120160A1 (en)2003-08-202005-06-02Jerry PlouffeSystem and method for managing virtual servers
US20050132044A1 (en)2003-12-122005-06-16AlcatelDistributed architecture for real-time flow measurement at the network domain level
US20050147095A1 (en)2003-12-302005-07-07Intel CorporationIP multicast packet burst absorption and multithreaded replication architecture
US6941487B1 (en)2002-03-072005-09-06Riverstone Networks, Inc.Method, system, and computer program product for providing failure protection in a network node
US20050220096A1 (en)2004-04-062005-10-06Robert FriskneyTraffic engineering in frame-based carrier networks
US20050228952A1 (en)2004-04-132005-10-13David MayhewCache coherency mechanism
US6963585B1 (en)1999-10-212005-11-08International Business Machines CorporationMethod and system for establishing a virtual path capability in a frame relay network
WO2005112390A1 (en)2004-05-122005-11-24AlcatelAutomated containment of network intruder
US20060002370A1 (en)2004-07-022006-01-05Nortel Networks LimitedVLAN support of differentiated services
US20060018253A1 (en)2004-07-232006-01-26Windisch Kurt JSystem and method for preserving multicast data forwarding during control failures in a router
US20060026225A1 (en)2004-08-022006-02-02AlcatelShared resources in a multi manager environment
US20060028999A1 (en)2004-03-282006-02-09Robert IakobashviliFlows based visualization of packet networks with network performance analysis, troubleshooting, optimization and network history backlog
US6999454B1 (en)2001-02-092006-02-14Nortel Networks LimitedInformation routing system and apparatus
EP1653688A1 (en)2004-11-012006-05-03Lucent Technologies Inc.Softrouter protocol disaggregation
US20060092976A1 (en)2004-11-012006-05-04Lucent Technologies Inc.Softrouter separate control network
US7042912B2 (en)2001-12-182006-05-09Nortel Networks LimitedResynchronization of control and data path state for networks
US20060174087A1 (en)2005-01-282006-08-03Hitachi, Ltd.Computer system, computer, storage system, and control terminal
US20060184937A1 (en)2005-02-112006-08-17Timothy AbelsSystem and method for centralized software management in virtual machines
US20060182033A1 (en)2005-02-152006-08-17Matsushita Electric Industrial Co., Ltd.Fast multicast path switching
US20060182037A1 (en)2003-12-152006-08-17Sbc Knowledge Ventures, L.P.System and method to provision MPLS/VPN network
US7096228B2 (en)2002-03-272006-08-22Microsoft CorporationMethod and system for managing data records on a computer network
US20060193266A1 (en)2005-02-252006-08-31Ip Infusion, Inc. A Delaware CorporationHardware abstraction layer
US20060221961A1 (en)2005-04-012006-10-05International Business Machines CorporationNetwork communications for operating system partitions
US7120728B2 (en)2002-07-312006-10-10Brocade Communications Systems, Inc.Hardware-based translating virtualization switch
US7126923B1 (en)2002-05-282006-10-24Extreme Networks, Inc.Method and system for inter-domain loop protection using a hierarchy of loop resolving protocols
US20070005627A1 (en)2005-07-012007-01-04Dan DodgeFile system having transaction record coalescing
US20070043860A1 (en)2005-08-152007-02-22Vipul PabariVirtual systems management
US7197572B2 (en)2002-05-062007-03-27Qlogic, CorporationSystem and method for implementing logical switches in a network system
US7200144B2 (en)2001-10-182007-04-03Qlogic, Corp.Router and methods using network addresses for virtualization
US7209439B2 (en)2001-03-202007-04-24Mci, LlcPool-based resource management in a data network
US20070156919A1 (en)2005-06-212007-07-05Sunil PottiEnforcing network service level agreements in a network element
US7263290B2 (en)2002-06-062007-08-28Lucent Technologies Inc.Network operating system with distributed data architecture
US20070220358A1 (en)2006-03-172007-09-20Eric GoodillCustomer traffic forwarding continues while control plane is reset
US20070239987A1 (en)2006-03-312007-10-11Amazon Technologies, Inc.Managing communications between computing nodes
US7283473B2 (en)2003-04-102007-10-16International Business Machines CorporationApparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a system area network
US7286490B2 (en)2000-12-302007-10-23Cisco Technology, Inc.Method for routing information over a network employing centralized control
US20070260721A1 (en)2006-05-022007-11-08Patrick Glen BosePhysical server discovery and correlation
US20070286185A1 (en)2003-12-222007-12-13Anders ErikssonControl of Mobile Packet Streams
US20070297428A1 (en)2006-06-262007-12-27Patrick Glen BosePort pooling
US20080002579A1 (en)2004-12-212008-01-03Fredrik LindholmArrangement and a Method Relating to Flow of Packets in Communication Systems
US20080002683A1 (en)2006-06-302008-01-03Sun Microsystems, Inc.Virtual switch
US20080034249A1 (en)2001-11-212008-02-07Husain Syed M AFail-Over In A Multi-Computer System
US20080040467A1 (en)2006-08-092008-02-14Cisco Technology, Inc.Method and system for dynamic loading of management information bases on network devices
US20080049621A1 (en)2004-12-312008-02-28Mcguire AlanConnection-Oriented Communications Scheme For Connection-Less Communications Traffic
US20080049614A1 (en)2006-08-232008-02-28Peter John BriscoeCapacity Management for Data Networks
CN101136866A (en)2007-10-152008-03-05北京交通大学 Service quality assurance structure and operation method of integrated network communication layer
US20080059556A1 (en)2006-08-312008-03-06Egenera, Inc.Providing virtual machine technology as an embedded layer within a processing platform
US7342916B2 (en)2003-09-102008-03-11Intel CorporationMethod, apparatus and system for optimizing routing of mobile IP packets
US7343410B2 (en)2001-06-282008-03-11Finisar CorporationAutomated creation of application data paths in storage area networks
US20080071900A1 (en)2005-03-162008-03-20WavestormDevice and a method for communicating in a network
US20080086726A1 (en)2006-10-102008-04-10International Business Machines CorporationSystem, method and program for managing communication with multiple configurations for virtual machine
US7359971B2 (en)1998-07-102008-04-15Van Drebbel Mariner LlcUse of priority-based scheduling for the optimization of latency and jitter sensitive IP flows in a wireless point to multi-point transmission system
US20080133687A1 (en)2006-12-052008-06-05Qualcomm IncorporatedApparatus and methods of a zero single point of failure load balancer
US20080159301A1 (en)2006-12-292008-07-03De Heer Arjan ArieEnabling virtual private local area network services
US20080163207A1 (en)2007-01-032008-07-03International Business Machines CorporationMoveable access control list (acl) mechanisms for hypervisors and virtual machines and virtual port firewalls
US20080165704A1 (en)2007-01-092008-07-10Michael Frank MarchettiAutomatically maximizing network link utilization using virtual networks
US20080189769A1 (en)2007-02-012008-08-07Martin CasadoSecure network switching infrastructure
US20080225853A1 (en)2007-02-142008-09-18Melman DavidLogical bridging system and method
US20080240122A1 (en)2007-03-272008-10-02Richardson David RConfiguring intercommunications between computing nodes
US20080291910A1 (en)2007-05-242008-11-27World Wide Packets, Inc.Transitioning a Virtual Interface from One Tunnel to Another Tunnel
US7460482B2 (en)2001-09-272008-12-02Alcatel-LucentMaster-slave communications system and method for a network element
US20080301303A1 (en)2007-05-312008-12-04Fuji Xerox Co., Ltd.Virtual network connection apparatus, system, method for controlling connection of a virtual network and computer-readable storage medium
WO2009001845A1 (en)2007-06-282008-12-31Nec CorporationInformation-sharing method between neighboring nodes, node and information-sharing program
US20090001845A1 (en)2006-09-082009-01-01Tamio IkehashiActuator
US7478173B1 (en)2003-12-182009-01-13Wmware, Inc.Method and system for sharing a network connection in a virtual computer system
US7483370B1 (en)2003-12-222009-01-27Extreme Networks, Inc.Methods and systems for hitless switch management module failover and upgrade
US20090043823A1 (en)2007-04-122009-02-12Liviu IftodeSystem and method for controlling a file system
US20090070501A1 (en)2007-09-062009-03-12Megachips CorporationData processor
US20090083445A1 (en)2007-09-242009-03-26Ganga Ilango SMethod and system for virtual port communications
US7512744B2 (en)2001-12-282009-03-31Network Appliance, Inc.Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses
WO2009042919A2 (en)2007-09-262009-04-02Nicira NetworksNetwork operating system for managing and securing networks
US20090113031A1 (en)2007-10-242009-04-30International Business Machines CorporationMethod, Apparatus And Computer Program Product Implementing Multi-Tenancy For Network Monitoring Tools Using Virtualization Technology
US20090122710A1 (en)2007-11-082009-05-14Chen Bar-TorEvent correlation using network data flow simulation over unmanaged network segments
US20090150521A1 (en)2007-12-102009-06-11Sun Microsystems, Inc.Method and system for creating a virtual network path
US20090150527A1 (en)2007-12-102009-06-11Sun Microsystems, Inc.Method and system for reconfiguring a virtual network path
US20090161547A1 (en)2007-12-202009-06-25Packeteer, Inc.Compression Mechanisms for Control Plane-Data Plane Processing Architectures
US7555002B2 (en)2003-11-062009-06-30International Business Machines CorporationInfiniband general services queue pair virtualization for multiple logical ports on a single physical port
JP2009159636A (en)2009-04-132009-07-16Toshiba Corp Data transmission method
US20090249473A1 (en)2008-03-312009-10-01Cohn Daniel TAuthorizing communications between computing nodes
US20090249470A1 (en)2008-03-272009-10-01Moshe LitvinCombined firewalls
US20090245793A1 (en)2008-03-312009-10-01Ting-Kuang ChiangMapping a Client Signal into Transport Frames
US7606260B2 (en)2003-03-312009-10-20Fujitsu LimitedVirtual path configuration apparatus, virtual path configuration method, and computer product
US20090276661A1 (en)2006-01-312009-11-05Akira DeguchiStorage system creating a recovery request point enabling execution of a recovery
US20090279549A1 (en)2005-12-282009-11-12Foundry Networks, Inc.Hitless software upgrades
US20090279536A1 (en)2007-12-312009-11-12Nortel Networks LimitedIP forwarding across a link state protocol controlled ethernet network
US20090292858A1 (en)2008-05-232009-11-26Vmware, Inc.Distributed Virtual Switch for Virtualized Computer Systems
US7627692B2 (en)2004-01-302009-12-01Nokia CorporationMultiplexing of compressed control and user-plane messages
US20090300210A1 (en)2008-05-282009-12-03James Michael FerrisMethods and systems for load balancing in cloud-based networks
US20090303880A1 (en)2008-06-092009-12-10Microsoft CorporationData center interconnect and traffic engineering
US20100002722A1 (en)2008-06-032010-01-07Porat HayimAutomatic signaling method and device for telecommunication services
US7649851B2 (en)2005-11-112010-01-19Hitachi, Ltd.Virtual network management method, virtual network management program, virtual network management system, and virtual network means
US20100046530A1 (en)2006-12-122010-02-25Jani HautakorpiIP Address Distribution in Middleboxes
US20100046531A1 (en)2007-02-022010-02-25Groupe Des Ecoles Des Telecommunications (Get) Institut National Des Telecommunications (Int)Autonomic network node system
US20100058106A1 (en)2008-08-272010-03-04Novell, Inc.Virtual machine file system and incremental snapshot using image deltas
US20100061231A1 (en)2006-11-062010-03-11Janos HarmatosMulti-domain network and method for multi-domain network
US7710874B2 (en)2003-06-042010-05-04International Business Machines CorporationSystem and method for automatic management of many computer data processing system pipes
US20100115101A1 (en)2008-03-072010-05-06Antonio LainDistributed network connection policy management
US20100125667A1 (en)2008-11-192010-05-20Vmware, Inc.Dynamic configuration of virtual machines
US20100131636A1 (en)2008-11-242010-05-27Vmware, Inc.Application delivery control module for virtual network switch
US7730486B2 (en)2005-02-282010-06-01Hewlett-Packard Development Company, L.P.System and method for migrating virtual machines on cluster systems
US20100153554A1 (en)2008-12-152010-06-17Thomas AnschutzMethod and apparatus for providing network virtualization
US20100162036A1 (en)2008-12-192010-06-24Watchguard Technologies, Inc.Self-Monitoring Cluster of Network Security Devices
US20100165877A1 (en)2008-12-302010-07-01Amit ShuklaMethods and apparatus for distributed dynamic network provisioning
US20100169467A1 (en)2008-12-302010-07-01Amit ShuklaMethod and apparatus for determining a network topology during network provisioning
US7764599B2 (en)2006-06-012010-07-27Alaxala Networks CorporationNetwork routing device and network routing method
US20100205479A1 (en)2006-10-302010-08-12Hiroaki AkutsuInformation system, data transfer method and data protection method
US7792987B1 (en)2003-04-212010-09-07Juniper Networks, Inc.Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
WO2010103909A1 (en)2009-03-092010-09-16日本電気株式会社OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD
US20100257263A1 (en)2009-04-012010-10-07Nicira Networks, Inc.Method and apparatus for implementing and managing virtual switches
US7818452B2 (en)2000-09-132010-10-19Fortinet, Inc.Distributed virtual system to support managed, network-based services
US7826482B1 (en)2006-11-172010-11-02Juniper Networks, Inc.Service-specific forwarding in an LDP-RSVP hybrid network
US20100290485A1 (en)2009-05-182010-11-18Luca MartiniRegulation of network traffic in virtual private networks
US7839847B2 (en)2006-05-082010-11-23Cisco Technology, Inc.Methods and apparatus providing VPN traffic matrix construction
US20100322255A1 (en)2009-06-222010-12-23Alcatel-Lucent Usa Inc.Providing cloud-based services using dynamic network virtualization
US20110016215A1 (en)2002-03-012011-01-20Verizon Business Global LlcResource allocation in virtual routers
US20110026521A1 (en)2009-07-312011-02-03Gamage Nimal K KApparatus and methods for forwarding data packets captured from a network
US7885276B1 (en)2008-09-302011-02-08Emc CorporationIsolating network traffic in multi-tenant virtualization environments
US20110032830A1 (en)2009-08-062011-02-10Jacobus Van Der MerweLive Router Migration
US7903666B1 (en)2008-03-312011-03-08Extreme Networks, Inc.Method and system for compressing route entries in a route table based on equal-cost multi-paths (ECMPs) matches
US20110075674A1 (en)2009-09-302011-03-31Alcatel-Lucent Usa Inc.Scalable architecture for enterprise extension in a cloud topology
US20110075664A1 (en)2009-09-302011-03-31Vmware, Inc.Private Allocated Networks Over Shared Communications Infrastructure
US20110080870A1 (en)2009-05-112011-04-07Zte (Usa) Inc.Internetworking techniques for wireless networks
US20110085557A1 (en)2009-10-082011-04-14Brocade Communications Systems, Inc.Partitioning of Switches and Fabrics into Logical Switches and Fabrics
US7929424B2 (en)2003-10-312011-04-19Ericsson AbSwitchover for broadband subscriber sessions
JP2011081588A (en)2009-10-072011-04-21Nec CorpComputer system and maintenance method for the same
US7937438B1 (en)2009-12-072011-05-03Amazon Technologies, Inc.Using virtual networking devices to manage external connections
US7936770B1 (en)2005-03-082011-05-03Enterasys Networks, Inc.Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
US20110103259A1 (en)2009-11-042011-05-05Gunes AybayMethods and apparatus for configuring a virtual network switch
US20110119748A1 (en)2004-10-292011-05-19Hewlett-Packard Development Company, L.P.Virtual computing infrastructure
US7948986B1 (en)2009-02-022011-05-24Juniper Networks, Inc.Applying services within MPLS networks
US7953865B1 (en)2009-12-282011-05-31Amazon Technologies, Inc.Using virtual networking devices to manage routing communications between connected computer networks
US20110134931A1 (en)2009-12-082011-06-09Jacobus Van Der MerweVirtual router migration
US20110142053A1 (en)2009-12-152011-06-16Jacobus Van Der MerweMethods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
WO2011080870A1 (en)2009-12-282011-07-07日本電気株式会社Communications system and port information collection method
US20110173490A1 (en)2010-01-082011-07-14Juniper Networks, Inc.High availability for network security devices
WO2011083780A1 (en)2010-01-052011-07-14日本電気株式会社Communication system, control apparatus, processing rule setting method, packet transmitting method and program
US7991859B1 (en)2009-12-282011-08-02Amazon Technologies, Inc.Using virtual networking devices to connect managed computer networks
US7995483B1 (en)2009-01-202011-08-09Juniper Networks, Inc.Simultaneously testing connectivity to multiple remote maintenance endpoints of the same maintenance association
JP2011166700A (en)2010-02-152011-08-25Nec CorpNetwork system, and packet speculative transfer method
JP2011166384A (en)2010-02-082011-08-25Nec CorpComputer system and communication method
US8010696B2 (en)2006-06-062011-08-30Avaya Inc.Passing information from a forwarding plane to a control plane
US8027354B1 (en)2009-04-292011-09-27Cisco Technology, Inc.Network consolidation for virtualized servers
US8031633B2 (en)2007-08-132011-10-04Honeywell International Inc.Virtual network architecture for space data processing
US8054832B1 (en)2008-12-302011-11-08Juniper Networks, Inc.Methods and apparatus for routing between virtual resources based on a routing location policy
US20110273988A1 (en)2010-05-102011-11-10Jean TourrilhesDistributing decision making in a centralized flow routing system
US8060779B2 (en)2007-01-122011-11-15International Business Machines CorporationUsing virtual copies in a failover and failback environment
US8060875B1 (en)2006-05-262011-11-15Vmware, Inc.System and method for multiple virtual teams
US20110296052A1 (en)2010-05-282011-12-01Microsoft CorportationVirtual Data Center Allocation with Bandwidth Guarantees
US20110299534A1 (en)2010-06-082011-12-08Brocade Communications Systems, Inc.Virtual port grouping for virtual cluster switching
US20110299537A1 (en)2010-06-042011-12-08Nakul Pratap SaraiyaMethod and system of scaling a cloud computing network
US20110310899A1 (en)2010-06-222011-12-22Microsoft CorporationDistributed Virtual Network Gateways
US20110317559A1 (en)2010-06-252011-12-29Kern AndrasNotifying a Controller of a Change to a Packet Forwarding Configuration of a Network Element Over a Communication Channel
US8089871B2 (en)2005-03-252012-01-03At&T Intellectual Property Ii, L.P.Method and apparatus for traffic control of dynamic denial of service attacks within a communications network
US20120014386A1 (en)2010-06-292012-01-19Futurewei Technologies, Inc.Delegate Gateways and Proxy for Target Hosts in Large Layer 2 and Address Resolution with Duplicated Internet Protocol Addresses
US8144630B1 (en)2006-12-152012-03-27Marvell International Ltd.Apparatus, systems, methods, algorithms and software for control of network switching devices
US8149737B2 (en)2005-08-092012-04-03Motorola Solutions, Inc.Method and system for data transmission in a wireless network
US8155028B2 (en)2008-03-172012-04-10Alcatel LucentMethod and apparatus for providing full logical connectivity in MPLS networks
GB2485866A (en)2011-08-262012-05-30Metaswitch Networks LtdReplication of state data of processing tasks from an active entity to a backup entity
US8199750B1 (en)2007-12-182012-06-12World Wide Packets, Inc.Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier
US20120151550A1 (en)2009-08-202012-06-14Bin ZhangMethod for switching node main-standby controllers based on content delivery network (cdn) and cdn thereof
US20120147894A1 (en)2010-12-082012-06-14Mulligan John TMethods and apparatus to provision cloud computing network elements
US20120158942A1 (en)2010-03-232012-06-21Juniper Networks, Inc.Methods and apparatus for forwarding-state transport in a distributed control plane
WO2012093429A1 (en)2011-01-052012-07-12Nec CorporationCommunication control system, control server, forwarding node, communication control method, and communication control program
US8223668B2 (en)2006-12-142012-07-17Rockstar Bidco LpMethod and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas
US8224931B1 (en)2010-03-312012-07-17Amazon Technologies, Inc.Managing use of intermediate destination computing nodes for provided computer networks
US8224971B1 (en)2009-12-282012-07-17Amazon Technologies, Inc.Using virtual networking devices and routing information to initiate external actions
US20120185553A1 (en)2011-01-132012-07-19Vmware, Inc.Selecting a master node using a suitability value
US8230050B1 (en)2008-12-102012-07-24Amazon Technologies, Inc.Providing access to configurable private computer networks
US8239572B1 (en)2010-06-302012-08-07Amazon Technologies, Inc.Custom routing decisions
US8265075B2 (en)2009-03-162012-09-11International Business Machines CorporationMethod and apparatus for managing, configuring, and controlling an I/O virtualization device through a network switch
US20120239790A1 (en)2008-12-102012-09-20Amazon Technologies, Inc.Establishing secure remote access to private computer networks
US20120236734A1 (en)2011-03-162012-09-20Juniper Networks, Inc.Packet loss measurement at service endpoints of a virtual private lan service
US8339994B2 (en)2009-08-272012-12-25Brocade Communications Systems, Inc.Defining an optimal topology for a group of logical switches
US8339959B1 (en)2008-05-202012-12-25Juniper Networks, Inc.Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US8351418B2 (en)2009-02-192013-01-08Futurewei Technologies, Inc.System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation
US20130024579A1 (en)2011-07-192013-01-24Telefonaktiebolaget L M Ericsson (Publ)Controller Placement for Split Architecture Networks
US20130044752A1 (en)2011-08-172013-02-21Teemu KoponenFlow generation from second level controller to first level controller to managed switching element
US20130044636A1 (en)2011-08-172013-02-21Teemu KoponenDistributed logical l3 routing
US20130054761A1 (en)2011-08-292013-02-28Telefonaktiebolaget L M Ericsson (Publ)Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes
US20130058339A1 (en)*2010-07-062013-03-07Martin CasadoNetwork control apparatus and method
US20130058346A1 (en)2011-09-072013-03-07Microsoft CorporationDistributed Routing Domains in Multi-Tenant Datacenter Virtual Networks
US8422359B2 (en)2010-03-312013-04-16Hitachi, Ltd.Communication network control system and control method
US20130103817A1 (en)2011-10-252013-04-25Teemu KoponenChassis controller
US20130117428A1 (en)2011-10-252013-05-09Nicira, Inc.Physical controllers for converting universal flows
US20130114466A1 (en)2011-10-252013-05-09Nicira, Inc.Network virtualization apparatus and method with scheduling capabilities
US20130117429A1 (en)2011-10-252013-05-09Nicira, Inc.Chassis controllers for converting universal flows
US20130125230A1 (en)2011-11-152013-05-16Nicira, Inc.Firewalls in logical networks
US8456984B2 (en)2010-07-192013-06-04Ciena CorporationVirtualized shared protection capacity
US20130163427A1 (en)2011-12-222013-06-27Ludovic BeliveauSystem for flexible and extensible flow processing in software-defined networks
US20130163475A1 (en)2011-12-222013-06-27Ludovic BeliveauController for flexible and extensible flow processing in software-defined networks
US8504718B2 (en)2010-04-282013-08-06Futurewei Technologies, Inc.System and method for a context layer switch
US20130227097A1 (en)2010-09-142013-08-29Hitachi, Ltd.Multi-tenancy information processing system, management server, and configuration management method
US8565108B1 (en)2010-09-282013-10-22Amazon Technologies, Inc.Network data transmission analysis
WO2013158917A2 (en)2012-04-182013-10-24Nicira, Inc.Using transactions to compute and propagate network forwarding state
US20130332602A1 (en)2012-06-062013-12-12Juniper Networks, Inc.Physical path determination for virtual network packet flows
US20130332619A1 (en)2012-06-062013-12-12Futurewei Technologies, Inc.Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
US8612627B1 (en)2010-03-032013-12-17Amazon Technologies, Inc.Managing encoded multi-part communications for provided computer networks
US8621058B2 (en)2010-10-282013-12-31Hewlett-Packard Development Company, L.P.Providing cloud-based computing services
US20140016501A1 (en)2012-07-162014-01-16International Business Machines CorporationFlow based overlay network
US20140019639A1 (en)2011-03-312014-01-16Hiroshi UenoComputer system and communication method
US8644188B1 (en)2009-06-252014-02-04Amazon Technologies, Inc.Providing virtual networking functionality for managed computer networks
US20140040466A1 (en)2011-04-192014-02-06Huawei Technologies Co., Ltd.Method and router for packet processing during server failure
US20140109037A1 (en)*2009-10-142014-04-17Vermeg SarlAutomated Enterprise Software Development
US20140115406A1 (en)*2012-10-192014-04-24Nec Laboratories America, Inc.Delay-tolerant and loss-tolerant data transfer for mobile applications
US20140189212A1 (en)2011-09-302014-07-03Thomas M. SlaightPresentation of direct accessed storage under a logical drive model
US20150009804A1 (en)2013-07-082015-01-08Nicira, Inc.Unified replication mechanism for fault-tolerance of state
EP2838244A2 (en)2013-08-142015-02-18Nicira, Inc.Providing services for logical networks
US20150089032A1 (en)*2013-09-252015-03-26International Business Machines CorporationScalable Network Configuration with Consistent Updates in Software Defined Networks
US9124538B2 (en)2011-08-172015-09-01Nicira, Inc.Dynamic generation of flow entries for last-hop processing
US20150263952A1 (en)*2014-03-142015-09-17Nicira, Inc.Logical router processing by network controller
US20150263946A1 (en)2014-03-142015-09-17Nicira, Inc.Route advertisement by managed gateways
US20150341205A1 (en)2012-12-272015-11-26Telecom Italia S.P.A.Method for guaranteeing service continuity in a telecommunication network and system thereof
US20160021028A1 (en)2013-03-062016-01-21Nec CorporationCommunication system, control apparatus, forwarding node, control method and program
US20160050117A1 (en)2013-03-192016-02-18Yale UniversityManaging network forwarding configurations using algorithmic policies
US20160092259A1 (en)2014-09-302016-03-31Vmware, Inc.Numa i/o aware network queue assignments
US20160119224A1 (en)2014-10-272016-04-28Juniper Networks, Inc.Label switched path node failure management for label switched paths having refresh interval independent fast reroute facility protection
US9354989B1 (en)*2011-10-032016-05-31Netapp, IncRegion based admission/eviction control in hybrid aggregates
US20160218973A1 (en)*2015-01-232016-07-28Telefonaktiebolaget L M Ericsson (Publ)Symmetric flow processing in a software-defined networking (sdn) system
US20160294680A1 (en)2015-04-062016-10-06Nicira, Inc.Reduction of churn in a network control system
US20170091004A1 (en)2015-09-302017-03-30Nicira, Inc.Implementing an interface between tuple and message-driven control entities
US9722871B2 (en)2009-12-072017-08-01Amazon Technologies, Inc.Using virtual networking devices and routing information to associate network addresses with computing nodes
US20170318113A1 (en)2016-04-292017-11-02Nicira, Inc.Management of Update Queues for Network Controller

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8255680B1 (en)1997-06-262012-08-28Oracle America, Inc.Layer-independent security for communication channels
US8132148B2 (en)2005-04-292012-03-06Microsoft CorporationXML application framework
US9032164B2 (en)2006-02-172015-05-12Emulex CorporationApparatus for performing storage virtualization
FR2923972B1 (en)2007-11-152010-02-26Radiotelephone Sfr METHOD AND SYSTEM FOR MANAGING COMMUNICATIONS
US8213336B2 (en)2009-02-232012-07-03Cisco Technology, Inc.Distributed data center access switch
US8589919B2 (en)2009-04-282013-11-19Cisco Technology, Inc.Traffic forwarding for virtual machines
US8599864B2 (en)2009-10-082013-12-03Brocade Communications Systems, Inc.Transit switches in a network of logical switches
US9571507B2 (en)2012-10-212017-02-14Mcafee, Inc.Providing a virtual security appliance architecture to a virtual cloud infrastructure
US9252972B1 (en)*2012-12-202016-02-02Juniper Networks, Inc.Policy control using software defined network (SDN) protocol
US10069646B2 (en)*2015-12-022018-09-04Nicira, Inc.Distribution of tunnel endpoint mapping information
US10313255B1 (en)2017-01-162019-06-04Innovium, Inc.Intelligent packet queues with enqueue drop visibility and forensics

Patent Citations (336)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5504921A (en)1990-09-171996-04-02Cabletron Systems, Inc.Network management system using model-based intelligence
EP0737921A2 (en)1990-09-171996-10-16Cabletron Systems, Inc.Network management system using model based intelligence
US5796936A (en)1993-03-011998-08-18Hitachi, Ltd.Distributed control system in which individual controllers executed by sharing loads
US5426774A (en)1993-04-061995-06-20Honeywell Inc.Method for maintaining a sequence of events function during failover in a redundant multiple layer system
US5729685A (en)1993-06-291998-03-17Bay Networks, Inc.Apparatus for determining the topology of an ATM network or the like Via communication of topology information between a central manager and switches in the network over a virtual service path
JPH07327050A (en)1994-06-011995-12-12Fujitsu Ltd Routing data change / confirmation method
US6104699A (en)1994-06-132000-08-15Telefonaktiebolget Lm EricssonMethod and device for partitioning physical network resources
US5751967A (en)1994-07-251998-05-12Bay Networks Group, Inc.Method and apparatus for automatically configuring a network device to support a virtual network
US5550816A (en)1994-12-291996-08-27Storage Technology CorporationMethod and apparatus for virtual switching
US6055243A (en)1995-06-142000-04-25Us West, Inc.System and associated method for re-engineering a telecommunications support with object-oriented translators
US6219699B1 (en)1996-01-022001-04-17Cisco Technologies, Inc.Multiple VLAN Architecture system
US7046630B2 (en)1996-03-082006-05-16Hitachi, Ltd.Packet switching network, packet switching equipment and network management equipment
US6512745B1 (en)1996-03-082003-01-28Hitachi, Ltd.Packet switching network, packet switching equipment, and network management equipment
JPH09266493A (en)1996-03-281997-10-07Nippon Telegr & Teleph Corp <Ntt> Continuous data delivery method and system
US5805791A (en)1996-04-221998-09-08Advanced Micro Devices, Inc.Method and system for detection of and graceful recovery from a peripheral device fault
US20020034189A1 (en)1997-08-292002-03-21Haddock Stephen R.Data path architecture for a lan switch
US6366582B1 (en)1997-09-192002-04-02Hitachi, Ltd.Connection switching apparatus, connection switching network control system and connection switching network control method
US6539432B1 (en)1998-05-192003-03-25Hitachi, Ltd.Network manager, nodes and network management system
US7359971B2 (en)1998-07-102008-04-15Van Drebbel Mariner LlcUse of priority-based scheduling for the optimization of latency and jitter sensitive IP flows in a wireless point to multi-point transmission system
US20010043614A1 (en)1998-07-172001-11-22Krishna ViswanadhamMulti-layer switching apparatus and method
US20040101274A1 (en)1998-09-232004-05-27Digital Fountain, Inc.Systems and methods for broadcasting information additive codes
US6862263B1 (en)1998-12-282005-03-01At&T Corp.Hierarchical telecommunications network with fault recovery
US6963585B1 (en)1999-10-212005-11-08International Business Machines CorporationMethod and system for establishing a virtual path capability in a frame relay network
US6680934B1 (en)1999-12-022004-01-20Nortel Networks LimitedSystem, device and method for expediting control flow in a communication system
US20010044825A1 (en)2000-05-192001-11-22Treetop Ventures LlcMethod allowing persistent links to web-pages
US20020093952A1 (en)2000-06-302002-07-18Gonda Rumi SheryarMethod for managing circuits in a multistage cross connect
US6768740B1 (en)2000-08-082004-07-27Sun Microsystems, Inc.Coordinating loop-free forwarding table updates
US7818452B2 (en)2000-09-132010-10-19Fortinet, Inc.Distributed virtual system to support managed, network-based services
US7286490B2 (en)2000-12-302007-10-23Cisco Technology, Inc.Method for routing information over a network employing centralized control
US6999454B1 (en)2001-02-092006-02-14Nortel Networks LimitedInformation routing system and apparatus
US6785843B1 (en)2001-02-232004-08-31Mcrae AndrewData plane restart without state change in a control plane of an intermediate network node
US7209439B2 (en)2001-03-202007-04-24Mci, LlcPool-based resource management in a data network
US20020194369A1 (en)2001-03-202002-12-19Worldcom, Inc.Policy-based synchronization of per-class resources between routers in a data network
US20020161867A1 (en)2001-04-252002-10-31Cochran Charles W.System and method for remote discovery and configuration of a network device
US7343410B2 (en)2001-06-282008-03-11Finisar CorporationAutomated creation of application data paths in storage area networks
US20030058850A1 (en)2001-07-052003-03-27Anand RangarajanRouting packets across multiple forwarding elements
US20030041170A1 (en)2001-08-232003-02-27Hiroyuki SuzukiSystem providing a virtual private network service
JP2003069609A (en)2001-08-232003-03-07Fujitsu Ltd A system that provides virtual private network services
US7460482B2 (en)2001-09-272008-12-02Alcatel-LucentMaster-slave communications system and method for a network element
US20030069972A1 (en)2001-10-102003-04-10Yutaka YoshimuraComputer resource allocating method
JP2003124976A (en)2001-10-102003-04-25Hitachi Ltd Computer resource allocation method
US7200144B2 (en)2001-10-182007-04-03Qlogic, Corp.Router and methods using network addresses for virtualization
US20030093481A1 (en)2001-11-092003-05-15Julian MitchellMiddlebox control
US20080034249A1 (en)2001-11-212008-02-07Husain Syed M AFail-Over In A Multi-Computer System
US7042912B2 (en)2001-12-182006-05-09Nortel Networks LimitedResynchronization of control and data path state for networks
US7512744B2 (en)2001-12-282009-03-31Network Appliance, Inc.Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses
US20110016215A1 (en)2002-03-012011-01-20Verizon Business Global LlcResource allocation in virtual routers
US6941487B1 (en)2002-03-072005-09-06Riverstone Networks, Inc.Method, system, and computer program product for providing failure protection in a network node
US7096228B2 (en)2002-03-272006-08-22Microsoft CorporationMethod and system for managing data records on a computer network
JP2003318949A (en)2002-04-192003-11-07Nippon Telegr & Teleph Corp <Ntt>Vpn system and router
US20030204768A1 (en)2002-04-242003-10-30Fee John A.Network restoration using refreshed switch state tables
US7197572B2 (en)2002-05-062007-03-27Qlogic, CorporationSystem and method for implementing logical switches in a network system
US7126923B1 (en)2002-05-282006-10-24Extreme Networks, Inc.Method and system for inter-domain loop protection using a hierarchy of loop resolving protocols
US7263290B2 (en)2002-06-062007-08-28Lucent Technologies Inc.Network operating system with distributed data architecture
US20080212963A1 (en)2002-06-062008-09-04Alcatel-Lucent Technologies, Inc.Network operating system with distributed data architecture
US20030233385A1 (en)2002-06-122003-12-18Bladelogic,Inc.Method and system for executing and undoing distributed server change operations
US20040054680A1 (en)2002-06-132004-03-18Netscout Systems, Inc.Real-time network performance monitoring system and related methods
US7120728B2 (en)2002-07-312006-10-10Brocade Communications Systems, Inc.Hardware-based translating virtualization switch
US20040044773A1 (en)2002-08-292004-03-04International Business Machines CorporationMethod, system, and program for establishing and requesting status on a computational resource
US20040047286A1 (en)2002-09-052004-03-11Larsen Loren D.Network switch assembly, network switching device, and method
US20040073659A1 (en)2002-10-152004-04-15Carl RajsicMethod and apparatus for managing nodes in a network
US20090031041A1 (en)2002-11-202009-01-294198638 Canada Inc.Forwarding system with multiple logical sub-system functionality
US20040098505A1 (en)2002-11-202004-05-20Clemmensen Daniel G.Forwarding system with multiple logical sub-system functionality
EP1443423A1 (en)2003-01-282004-08-04Bombardier Transportation (Technology) Germany GmbHApparatus and method for data replication in a data network
US20050021683A1 (en)2003-03-272005-01-27Chris NewtonMethod and apparatus for correlating network activity through visualizing network data
US7606260B2 (en)2003-03-312009-10-20Fujitsu LimitedVirtual path configuration apparatus, virtual path configuration method, and computer product
US7283473B2 (en)2003-04-102007-10-16International Business Machines CorporationApparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a system area network
US7792987B1 (en)2003-04-212010-09-07Juniper Networks, Inc.Supporting virtual private networks using a first network topology for forwarding and a subset of the first network topology or a smaller topology for signaling
US7710874B2 (en)2003-06-042010-05-04International Business Machines CorporationSystem and method for automatic management of many computer data processing system pipes
US20040267866A1 (en)2003-06-242004-12-30International Business Machines CorporationVirtual machine connection to a tangible network
US20040267897A1 (en)2003-06-242004-12-30Sychron Inc.Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
US20050018669A1 (en)2003-07-252005-01-27International Business Machines CorporationInfiniband subnet management queue pair emulation for multiple logical ports on a single physical port
US20050027881A1 (en)2003-07-302005-02-03Nortel Networks LimitedMethod and apparatus for direct frame switching using frame contained destination information
US20050038834A1 (en)2003-08-142005-02-17Oracle International CorporationHierarchical management of the dynamic allocation of resources in a multi-node system
US20050120160A1 (en)2003-08-202005-06-02Jerry PlouffeSystem and method for managing virtual servers
US7342916B2 (en)2003-09-102008-03-11Intel CorporationMethod, apparatus and system for optimizing routing of mobile IP packets
US20050083953A1 (en)2003-10-172005-04-21Ip Infusion Inc., A Delaware CorporationSystem and method for providing redundant routing capabilities for a network node
US7929424B2 (en)2003-10-312011-04-19Ericsson AbSwitchover for broadband subscriber sessions
US7555002B2 (en)2003-11-062009-06-30International Business Machines CorporationInfiniband general services queue pair virtualization for multiple logical ports on a single physical port
US20050132044A1 (en)2003-12-122005-06-16AlcatelDistributed architecture for real-time flow measurement at the network domain level
US7450598B2 (en)2003-12-152008-11-11At&T Intellectual Property I, L.P.System and method to provision MPLS/VPN network
US20060182037A1 (en)2003-12-152006-08-17Sbc Knowledge Ventures, L.P.System and method to provision MPLS/VPN network
US7478173B1 (en)2003-12-182009-01-13Wmware, Inc.Method and system for sharing a network connection in a virtual computer system
US7483370B1 (en)2003-12-222009-01-27Extreme Networks, Inc.Methods and systems for hitless switch management module failover and upgrade
US20070286185A1 (en)2003-12-222007-12-13Anders ErikssonControl of Mobile Packet Streams
US20050147095A1 (en)2003-12-302005-07-07Intel CorporationIP multicast packet burst absorption and multithreaded replication architecture
US7627692B2 (en)2004-01-302009-12-01Nokia CorporationMultiplexing of compressed control and user-plane messages
US20060028999A1 (en)2004-03-282006-02-09Robert IakobashviliFlows based visualization of packet networks with network performance analysis, troubleshooting, optimization and network history backlog
US20050220096A1 (en)2004-04-062005-10-06Robert FriskneyTraffic engineering in frame-based carrier networks
US20050228952A1 (en)2004-04-132005-10-13David MayhewCache coherency mechanism
WO2005112390A1 (en)2004-05-122005-11-24AlcatelAutomated containment of network intruder
US20060002370A1 (en)2004-07-022006-01-05Nortel Networks LimitedVLAN support of differentiated services
US20060018253A1 (en)2004-07-232006-01-26Windisch Kurt JSystem and method for preserving multicast data forwarding during control failures in a router
US20060026225A1 (en)2004-08-022006-02-02AlcatelShared resources in a multi manager environment
US20110119748A1 (en)2004-10-292011-05-19Hewlett-Packard Development Company, L.P.Virtual computing infrastructure
US8068408B2 (en)2004-11-012011-11-29Alcatel LucentSoftrouter protocol disaggregation
US20060092940A1 (en)2004-11-012006-05-04Ansari Furquan ASoftrouter protocol disaggregation
EP1653688A1 (en)2004-11-012006-05-03Lucent Technologies Inc.Softrouter protocol disaggregation
US20060092976A1 (en)2004-11-012006-05-04Lucent Technologies Inc.Softrouter separate control network
US20080002579A1 (en)2004-12-212008-01-03Fredrik LindholmArrangement and a Method Relating to Flow of Packets in Communication Systems
US20080049621A1 (en)2004-12-312008-02-28Mcguire AlanConnection-Oriented Communications Scheme For Connection-Less Communications Traffic
US20060174087A1 (en)2005-01-282006-08-03Hitachi, Ltd.Computer system, computer, storage system, and control terminal
US20060184937A1 (en)2005-02-112006-08-17Timothy AbelsSystem and method for centralized software management in virtual machines
US20060182033A1 (en)2005-02-152006-08-17Matsushita Electric Industrial Co., Ltd.Fast multicast path switching
JP2006229967A (en)2005-02-152006-08-31Matsushita Electric Ind Co Ltd Fast multicast path switching
US20060193266A1 (en)2005-02-252006-08-31Ip Infusion, Inc. A Delaware CorporationHardware abstraction layer
US7730486B2 (en)2005-02-282010-06-01Hewlett-Packard Development Company, L.P.System and method for migrating virtual machines on cluster systems
US7936770B1 (en)2005-03-082011-05-03Enterasys Networks, Inc.Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces
US20080071900A1 (en)2005-03-162008-03-20WavestormDevice and a method for communicating in a network
US8089871B2 (en)2005-03-252012-01-03At&T Intellectual Property Ii, L.P.Method and apparatus for traffic control of dynamic denial of service attacks within a communications network
US20060221961A1 (en)2005-04-012006-10-05International Business Machines CorporationNetwork communications for operating system partitions
US20070156919A1 (en)2005-06-212007-07-05Sunil PottiEnforcing network service level agreements in a network element
US20070005627A1 (en)2005-07-012007-01-04Dan DodgeFile system having transaction record coalescing
US8149737B2 (en)2005-08-092012-04-03Motorola Solutions, Inc.Method and system for data transmission in a wireless network
US20070043860A1 (en)2005-08-152007-02-22Vipul PabariVirtual systems management
US7649851B2 (en)2005-11-112010-01-19Hitachi, Ltd.Virtual network management method, virtual network management program, virtual network management system, and virtual network means
US20090279549A1 (en)2005-12-282009-11-12Foundry Networks, Inc.Hitless software upgrades
US20090276661A1 (en)2006-01-312009-11-05Akira DeguchiStorage system creating a recovery request point enabling execution of a recovery
US20070220358A1 (en)2006-03-172007-09-20Eric GoodillCustomer traffic forwarding continues while control plane is reset
US20070239987A1 (en)2006-03-312007-10-11Amazon Technologies, Inc.Managing communications between computing nodes
US20070260721A1 (en)2006-05-022007-11-08Patrick Glen BosePhysical server discovery and correlation
US7839847B2 (en)2006-05-082010-11-23Cisco Technology, Inc.Methods and apparatus providing VPN traffic matrix construction
US8060875B1 (en)2006-05-262011-11-15Vmware, Inc.System and method for multiple virtual teams
US7764599B2 (en)2006-06-012010-07-27Alaxala Networks CorporationNetwork routing device and network routing method
US8010696B2 (en)2006-06-062011-08-30Avaya Inc.Passing information from a forwarding plane to a control plane
US20070297428A1 (en)2006-06-262007-12-27Patrick Glen BosePort pooling
US20080002683A1 (en)2006-06-302008-01-03Sun Microsystems, Inc.Virtual switch
US20080040467A1 (en)2006-08-092008-02-14Cisco Technology, Inc.Method and system for dynamic loading of management information bases on network devices
US20080049614A1 (en)2006-08-232008-02-28Peter John BriscoeCapacity Management for Data Networks
US20080059556A1 (en)2006-08-312008-03-06Egenera, Inc.Providing virtual machine technology as an embedded layer within a processing platform
US20090001845A1 (en)2006-09-082009-01-01Tamio IkehashiActuator
US20080086726A1 (en)2006-10-102008-04-10International Business Machines CorporationSystem, method and program for managing communication with multiple configurations for virtual machine
US20100205479A1 (en)2006-10-302010-08-12Hiroaki AkutsuInformation system, data transfer method and data protection method
US20100061231A1 (en)2006-11-062010-03-11Janos HarmatosMulti-domain network and method for multi-domain network
US7826482B1 (en)2006-11-172010-11-02Juniper Networks, Inc.Service-specific forwarding in an LDP-RSVP hybrid network
US20080133687A1 (en)2006-12-052008-06-05Qualcomm IncorporatedApparatus and methods of a zero single point of failure load balancer
US20100046530A1 (en)2006-12-122010-02-25Jani HautakorpiIP Address Distribution in Middleboxes
US8223668B2 (en)2006-12-142012-07-17Rockstar Bidco LpMethod and apparatus for exchanging routing information and the establishment of connectivity across multiple network areas
US8144630B1 (en)2006-12-152012-03-27Marvell International Ltd.Apparatus, systems, methods, algorithms and software for control of network switching devices
US20080159301A1 (en)2006-12-292008-07-03De Heer Arjan ArieEnabling virtual private local area network services
US20080163207A1 (en)2007-01-032008-07-03International Business Machines CorporationMoveable access control list (acl) mechanisms for hypervisors and virtual machines and virtual port firewalls
US20080165704A1 (en)2007-01-092008-07-10Michael Frank MarchettiAutomatically maximizing network link utilization using virtual networks
US8060779B2 (en)2007-01-122011-11-15International Business Machines CorporationUsing virtual copies in a failover and failback environment
WO2008095010A1 (en)2007-02-012008-08-07The Board Of Trustees Of The Leland Stanford Jr. UniversitySecure network switching infrastructure
US20080189769A1 (en)2007-02-012008-08-07Martin CasadoSecure network switching infrastructure
US8320388B2 (en)2007-02-022012-11-27Groupe Des Ecoles Des Telecommunications (Get)Autonomic network node system
US20100046531A1 (en)2007-02-022010-02-25Groupe Des Ecoles Des Telecommunications (Get) Institut National Des Telecommunications (Int)Autonomic network node system
US20080225853A1 (en)2007-02-142008-09-18Melman DavidLogical bridging system and method
US8055789B2 (en)2007-03-272011-11-08Amazon Technologies, Inc.Configuring intercommunications between computing nodes
US8166201B2 (en)2007-03-272012-04-24Amazon Technologies, Inc.Configuring intercommunications between computing nodes
US20080240122A1 (en)2007-03-272008-10-02Richardson David RConfiguring intercommunications between computing nodes
US20090043823A1 (en)2007-04-122009-02-12Liviu IftodeSystem and method for controlling a file system
US20080291910A1 (en)2007-05-242008-11-27World Wide Packets, Inc.Transitioning a Virtual Interface from One Tunnel to Another Tunnel
US20080301303A1 (en)2007-05-312008-12-04Fuji Xerox Co., Ltd.Virtual network connection apparatus, system, method for controlling connection of a virtual network and computer-readable storage medium
WO2009001845A1 (en)2007-06-282008-12-31Nec CorporationInformation-sharing method between neighboring nodes, node and information-sharing program
US8321561B2 (en)2007-06-282012-11-27Nec CorporationInformation sharing method between neighboring nodes, node and information sharing program
US20100191848A1 (en)2007-06-282010-07-29Norihito FujitaInformation sharing method between neighboring nodes, node and information sharing program
US8031633B2 (en)2007-08-132011-10-04Honeywell International Inc.Virtual network architecture for space data processing
US20090070501A1 (en)2007-09-062009-03-12Megachips CorporationData processor
US20090083445A1 (en)2007-09-242009-03-26Ganga Ilango SMethod and system for virtual port communications
US9083609B2 (en)2007-09-262015-07-14Nicira, Inc.Network operating system for managing and securing networks
WO2009042919A2 (en)2007-09-262009-04-02Nicira NetworksNetwork operating system for managing and securing networks
CN101136866A (en)2007-10-152008-03-05北京交通大学 Service quality assurance structure and operation method of integrated network communication layer
US20090113031A1 (en)2007-10-242009-04-30International Business Machines CorporationMethod, Apparatus And Computer Program Product Implementing Multi-Tenancy For Network Monitoring Tools Using Virtualization Technology
US20090122710A1 (en)2007-11-082009-05-14Chen Bar-TorEvent correlation using network data flow simulation over unmanaged network segments
US20090150527A1 (en)2007-12-102009-06-11Sun Microsystems, Inc.Method and system for reconfiguring a virtual network path
US20090150521A1 (en)2007-12-102009-06-11Sun Microsystems, Inc.Method and system for creating a virtual network path
US8199750B1 (en)2007-12-182012-06-12World Wide Packets, Inc.Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier
US20090161547A1 (en)2007-12-202009-06-25Packeteer, Inc.Compression Mechanisms for Control Plane-Data Plane Processing Architectures
US20090279536A1 (en)2007-12-312009-11-12Nortel Networks LimitedIP forwarding across a link state protocol controlled ethernet network
US20100115101A1 (en)2008-03-072010-05-06Antonio LainDistributed network connection policy management
US8155028B2 (en)2008-03-172012-04-10Alcatel LucentMethod and apparatus for providing full logical connectivity in MPLS networks
US20090249470A1 (en)2008-03-272009-10-01Moshe LitvinCombined firewalls
US20090249473A1 (en)2008-03-312009-10-01Cohn Daniel TAuthorizing communications between computing nodes
US20090245793A1 (en)2008-03-312009-10-01Ting-Kuang ChiangMapping a Client Signal into Transport Frames
US7903666B1 (en)2008-03-312011-03-08Extreme Networks, Inc.Method and system for compressing route entries in a route table based on equal-cost multi-paths (ECMPs) matches
US8339959B1 (en)2008-05-202012-12-25Juniper Networks, Inc.Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
US20090292858A1 (en)2008-05-232009-11-26Vmware, Inc.Distributed Virtual Switch for Virtualized Computer Systems
US20090300210A1 (en)2008-05-282009-12-03James Michael FerrisMethods and systems for load balancing in cloud-based networks
US20100002722A1 (en)2008-06-032010-01-07Porat HayimAutomatic signaling method and device for telecommunication services
US20090303880A1 (en)2008-06-092009-12-10Microsoft CorporationData center interconnect and traffic engineering
US20100058106A1 (en)2008-08-272010-03-04Novell, Inc.Virtual machine file system and incremental snapshot using image deltas
US7885276B1 (en)2008-09-302011-02-08Emc CorporationIsolating network traffic in multi-tenant virtualization environments
US20100125667A1 (en)2008-11-192010-05-20Vmware, Inc.Dynamic configuration of virtual machines
US20100131636A1 (en)2008-11-242010-05-27Vmware, Inc.Application delivery control module for virtual network switch
US8230050B1 (en)2008-12-102012-07-24Amazon Technologies, Inc.Providing access to configurable private computer networks
US20120239790A1 (en)2008-12-102012-09-20Amazon Technologies, Inc.Establishing secure remote access to private computer networks
US8578003B2 (en)2008-12-102013-11-05Amazon Technologies, Inc.Providing access to configurable private computer networks
US20100153554A1 (en)2008-12-152010-06-17Thomas AnschutzMethod and apparatus for providing network virtualization
US20100162036A1 (en)2008-12-192010-06-24Watchguard Technologies, Inc.Self-Monitoring Cluster of Network Security Devices
US20100169467A1 (en)2008-12-302010-07-01Amit ShuklaMethod and apparatus for determining a network topology during network provisioning
US20100165877A1 (en)2008-12-302010-07-01Amit ShuklaMethods and apparatus for distributed dynamic network provisioning
US8054832B1 (en)2008-12-302011-11-08Juniper Networks, Inc.Methods and apparatus for routing between virtual resources based on a routing location policy
US7995483B1 (en)2009-01-202011-08-09Juniper Networks, Inc.Simultaneously testing connectivity to multiple remote maintenance endpoints of the same maintenance association
US7948986B1 (en)2009-02-022011-05-24Juniper Networks, Inc.Applying services within MPLS networks
US8351418B2 (en)2009-02-192013-01-08Futurewei Technologies, Inc.System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation
US8605734B2 (en)2009-03-092013-12-10Nec CorporationOpenFlow communication system and OpenFlow communication method
WO2010103909A1 (en)2009-03-092010-09-16日本電気株式会社OpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD
US20110261825A1 (en)2009-03-092011-10-27Nec CorporationOpenFlow COMMUNICATION SYSTEM AND OpenFlow COMMUNICATION METHOD
US8265075B2 (en)2009-03-162012-09-11International Business Machines CorporationMethod and apparatus for managing, configuring, and controlling an I/O virtualization device through a network switch
US20100257263A1 (en)2009-04-012010-10-07Nicira Networks, Inc.Method and apparatus for implementing and managing virtual switches
JP2009159636A (en)2009-04-132009-07-16Toshiba Corp Data transmission method
US8027354B1 (en)2009-04-292011-09-27Cisco Technology, Inc.Network consolidation for virtualized servers
US20110080870A1 (en)2009-05-112011-04-07Zte (Usa) Inc.Internetworking techniques for wireless networks
US20100290485A1 (en)2009-05-182010-11-18Luca MartiniRegulation of network traffic in virtual private networks
US20100322255A1 (en)2009-06-222010-12-23Alcatel-Lucent Usa Inc.Providing cloud-based services using dynamic network virtualization
US8644188B1 (en)2009-06-252014-02-04Amazon Technologies, Inc.Providing virtual networking functionality for managed computer networks
US20110026521A1 (en)2009-07-312011-02-03Gamage Nimal K KApparatus and methods for forwarding data packets captured from a network
US20110032830A1 (en)2009-08-062011-02-10Jacobus Van Der MerweLive Router Migration
US20120151550A1 (en)2009-08-202012-06-14Bin ZhangMethod for switching node main-standby controllers based on content delivery network (cdn) and cdn thereof
US8339994B2 (en)2009-08-272012-12-25Brocade Communications Systems, Inc.Defining an optimal topology for a group of logical switches
US20110075674A1 (en)2009-09-302011-03-31Alcatel-Lucent Usa Inc.Scalable architecture for enterprise extension in a cloud topology
US20110075664A1 (en)2009-09-302011-03-31Vmware, Inc.Private Allocated Networks Over Shared Communications Infrastructure
JP2011081588A (en)2009-10-072011-04-21Nec CorpComputer system and maintenance method for the same
US20150304213A1 (en)2009-10-072015-10-22Nec CorporationComputer system and maintenance method of computer system
US20110085557A1 (en)2009-10-082011-04-14Brocade Communications Systems, Inc.Partitioning of Switches and Fabrics into Logical Switches and Fabrics
US20140109037A1 (en)*2009-10-142014-04-17Vermeg SarlAutomated Enterprise Software Development
US20110103259A1 (en)2009-11-042011-05-05Gunes AybayMethods and apparatus for configuring a virtual network switch
US7937438B1 (en)2009-12-072011-05-03Amazon Technologies, Inc.Using virtual networking devices to manage external connections
US9722871B2 (en)2009-12-072017-08-01Amazon Technologies, Inc.Using virtual networking devices and routing information to associate network addresses with computing nodes
US8046456B1 (en)2009-12-072011-10-25Amazon Technologies, Inc.Using virtual networking devices to manage external connections
US20110134931A1 (en)2009-12-082011-06-09Jacobus Van Der MerweVirtual router migration
US8705513B2 (en)2009-12-152014-04-22At&T Intellectual Property I, L.P.Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US20110142053A1 (en)2009-12-152011-06-16Jacobus Van Der MerweMethods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks
US8131852B1 (en)2009-12-282012-03-06Amazon Technologies, Inc.Using virtual networking devices to manage routing communications between connected computer networks
US9137102B1 (en)2009-12-282015-09-15Amazon Technologies, Inc.Using virtual networking devices to manage routing communications between connected computer networks
US8312129B1 (en)2009-12-282012-11-13Amazon Technologies, Inc.Using virtual networking devices to connect managed computer networks
US20110305167A1 (en)2009-12-282011-12-15Nec CorporationCommunication system, and method of collecting port information
WO2011080870A1 (en)2009-12-282011-07-07日本電気株式会社Communications system and port information collection method
US7991859B1 (en)2009-12-282011-08-02Amazon Technologies, Inc.Using virtual networking devices to connect managed computer networks
US8224971B1 (en)2009-12-282012-07-17Amazon Technologies, Inc.Using virtual networking devices and routing information to initiate external actions
US9391880B2 (en)2009-12-282016-07-12Nec CorporationCommunication system, and method of collecting port information
US7953865B1 (en)2009-12-282011-05-31Amazon Technologies, Inc.Using virtual networking devices to manage routing communications between connected computer networks
US20110317701A1 (en)2010-01-052011-12-29Nec CorporationCommunication system, control device, processing rule setting method, packet transmission method, and program
WO2011083780A1 (en)2010-01-052011-07-14日本電気株式会社Communication system, control apparatus, processing rule setting method, packet transmitting method and program
US20110173490A1 (en)2010-01-082011-07-14Juniper Networks, Inc.High availability for network security devices
JP2011166384A (en)2010-02-082011-08-25Nec CorpComputer system and communication method
JP2011166700A (en)2010-02-152011-08-25Nec CorpNetwork system, and packet speculative transfer method
US8612627B1 (en)2010-03-032013-12-17Amazon Technologies, Inc.Managing encoded multi-part communications for provided computer networks
US20120158942A1 (en)2010-03-232012-06-21Juniper Networks, Inc.Methods and apparatus for forwarding-state transport in a distributed control plane
US8224931B1 (en)2010-03-312012-07-17Amazon Technologies, Inc.Managing use of intermediate destination computing nodes for provided computer networks
US8422359B2 (en)2010-03-312013-04-16Hitachi, Ltd.Communication network control system and control method
US8504718B2 (en)2010-04-282013-08-06Futurewei Technologies, Inc.System and method for a context layer switch
US20110273988A1 (en)2010-05-102011-11-10Jean TourrilhesDistributing decision making in a centralized flow routing system
US20110296052A1 (en)2010-05-282011-12-01Microsoft CorportationVirtual Data Center Allocation with Bandwidth Guarantees
US20110299537A1 (en)2010-06-042011-12-08Nakul Pratap SaraiyaMethod and system of scaling a cloud computing network
US20110299534A1 (en)2010-06-082011-12-08Brocade Communications Systems, Inc.Virtual port grouping for virtual cluster switching
US20110310899A1 (en)2010-06-222011-12-22Microsoft CorporationDistributed Virtual Network Gateways
US20110317559A1 (en)2010-06-252011-12-29Kern AndrasNotifying a Controller of a Change to a Packet Forwarding Configuration of a Network Element Over a Communication Channel
US20120014386A1 (en)2010-06-292012-01-19Futurewei Technologies, Inc.Delegate Gateways and Proxy for Target Hosts in Large Layer 2 and Address Resolution with Duplicated Internet Protocol Addresses
US8239572B1 (en)2010-06-302012-08-07Amazon Technologies, Inc.Custom routing decisions
US9007903B2 (en)2010-07-062015-04-14Nicira, Inc.Managing a network by controlling edge and non-edge switching elements
US8959215B2 (en)2010-07-062015-02-17Nicira, Inc.Network virtualization
US20130058339A1 (en)*2010-07-062013-03-07Martin CasadoNetwork control apparatus and method
US20130060940A1 (en)2010-07-062013-03-07Teemu KoponenNetwork virtualization
US8456984B2 (en)2010-07-192013-06-04Ciena CorporationVirtualized shared protection capacity
US20130227097A1 (en)2010-09-142013-08-29Hitachi, Ltd.Multi-tenancy information processing system, management server, and configuration management method
US8565108B1 (en)2010-09-282013-10-22Amazon Technologies, Inc.Network data transmission analysis
US8621058B2 (en)2010-10-282013-12-31Hewlett-Packard Development Company, L.P.Providing cloud-based computing services
US20120147894A1 (en)2010-12-082012-06-14Mulligan John TMethods and apparatus to provision cloud computing network elements
WO2012093429A1 (en)2011-01-052012-07-12Nec CorporationCommunication control system, control server, forwarding node, communication control method, and communication control program
US20120185553A1 (en)2011-01-132012-07-19Vmware, Inc.Selecting a master node using a suitability value
US20120236734A1 (en)2011-03-162012-09-20Juniper Networks, Inc.Packet loss measurement at service endpoints of a virtual private lan service
US20140019639A1 (en)2011-03-312014-01-16Hiroshi UenoComputer system and communication method
US20140040466A1 (en)2011-04-192014-02-06Huawei Technologies Co., Ltd.Method and router for packet processing during server failure
US20130024579A1 (en)2011-07-192013-01-24Telefonaktiebolaget L M Ericsson (Publ)Controller Placement for Split Architecture Networks
US9124538B2 (en)2011-08-172015-09-01Nicira, Inc.Dynamic generation of flow entries for last-hop processing
US20130044636A1 (en)2011-08-172013-02-21Teemu KoponenDistributed logical l3 routing
US20130044752A1 (en)2011-08-172013-02-21Teemu KoponenFlow generation from second level controller to first level controller to managed switching element
US8958298B2 (en)2011-08-172015-02-17Nicira, Inc.Centralized logical L3 routing
GB2485866A (en)2011-08-262012-05-30Metaswitch Networks LtdReplication of state data of processing tasks from an active entity to a backup entity
US20130054761A1 (en)2011-08-292013-02-28Telefonaktiebolaget L M Ericsson (Publ)Implementing a 3G Packet Core in a Cloud Computer with Openflow Data and Control Planes
US8762501B2 (en)2011-08-292014-06-24Telefonaktiebolaget L M Ericsson (Publ)Implementing a 3G packet core in a cloud computer with openflow data and control planes
US20130058346A1 (en)2011-09-072013-03-07Microsoft CorporationDistributed Routing Domains in Multi-Tenant Datacenter Virtual Networks
US20140189212A1 (en)2011-09-302014-07-03Thomas M. SlaightPresentation of direct accessed storage under a logical drive model
US9354989B1 (en)*2011-10-032016-05-31Netapp, IncRegion based admission/eviction control in hybrid aggregates
US20130212244A1 (en)2011-10-252013-08-15Nicira, Inc.Communication channel for distributed network control system
US9203701B2 (en)2011-10-252015-12-01Nicira, Inc.Network virtualization apparatus and method with scheduling capabilities
US20130219078A1 (en)2011-10-252013-08-22Nicira, Inc.Tunnel creation
US20130219037A1 (en)2011-10-252013-08-22Nicira, Inc.Scheduling distribution of physical control plane data
US20130208623A1 (en)2011-10-252013-08-15Nicira, Inc.Universal physical control plane
US9319337B2 (en)2011-10-252016-04-19Nicira, Inc.Universal physical control plane
US20130212235A1 (en)2011-10-252013-08-15Nicira, Inc.Maintaining quality of service in shared forwarding elements managed by a network control system
US20130211549A1 (en)2011-10-252013-08-15Nicira, Inc.Scheduling distribution of logical control plane data
US20130212245A1 (en)2011-10-252013-08-15Nicira, Inc.Nesting transaction updates to minimize communication
US20130212148A1 (en)2011-10-252013-08-15Nicira, Inc.Distributed network control system
US20130212243A1 (en)2011-10-252013-08-15Nicira, Inc.Scheduling distribution of logical forwarding plane data
US9319338B2 (en)2011-10-252016-04-19Nicira, Inc.Tunnel creation
US9253109B2 (en)2011-10-252016-02-02Nicira, Inc.Communication channel for distributed network control system
US9602421B2 (en)2011-10-252017-03-21Nicira, Inc.Nesting transaction updates to minimize communication
US20130212246A1 (en)2011-10-252013-08-15Nicira, Inc.Pull-based state dissemination between managed forwarding elements
US20130103817A1 (en)2011-10-252013-04-25Teemu KoponenChassis controller
US9178833B2 (en)2011-10-252015-11-03Nicira, Inc.Chassis controller
US20130117428A1 (en)2011-10-252013-05-09Nicira, Inc.Physical controllers for converting universal flows
US20130103818A1 (en)2011-10-252013-04-25Teemu KoponenPhysical controller
US20130114466A1 (en)2011-10-252013-05-09Nicira, Inc.Network virtualization apparatus and method with scheduling capabilities
US20130117429A1 (en)2011-10-252013-05-09Nicira, Inc.Chassis controllers for converting universal flows
US9137107B2 (en)2011-10-252015-09-15Nicira, Inc.Physical controllers for converting universal flows
US9154433B2 (en)2011-10-252015-10-06Nicira, Inc.Physical controller
US20130125230A1 (en)2011-11-152013-05-16Nicira, Inc.Firewalls in logical networks
US9172603B2 (en)2011-11-152015-10-27Nicira, Inc.WAN optimizer for logical networks
US20130163427A1 (en)2011-12-222013-06-27Ludovic BeliveauSystem for flexible and extensible flow processing in software-defined networks
US20130163475A1 (en)2011-12-222013-06-27Ludovic BeliveauController for flexible and extensible flow processing in software-defined networks
US20140351432A1 (en)2012-04-182014-11-27Nicira, Inc.Using transactions to minimize churn in a distributed network control system
US9331937B2 (en)2012-04-182016-05-03Nicira, Inc.Exchange of network state information between forwarding elements
US9843476B2 (en)2012-04-182017-12-12Nicira, Inc.Using transactions to minimize churn in a distributed network control system
WO2013158917A2 (en)2012-04-182013-10-24Nicira, Inc.Using transactions to compute and propagate network forwarding state
US9306843B2 (en)2012-04-182016-04-05Nicira, Inc.Using transactions to compute and propagate network forwarding state
WO2013158917A3 (en)2012-04-182014-06-05Nicira, Inc.Using transactions to compute and propagate network forwarding state
US20160197774A1 (en)2012-04-182016-07-07Nicira, Inc.Using transactions to compute and propagate network forwarding state
US20140348161A1 (en)2012-04-182014-11-27Nicira, Inc.Exchange of network state information between forwarding elements
US20140247753A1 (en)2012-04-182014-09-04Nicira, Inc.Using transactions to compute and propagate network forwarding state
US20130332602A1 (en)2012-06-062013-12-12Juniper Networks, Inc.Physical path determination for virtual network packet flows
US8750288B2 (en)2012-06-062014-06-10Juniper Networks, Inc.Physical path determination for virtual network packet flows
WO2013184846A1 (en)2012-06-062013-12-12Juniper Networks, Inc.Physical path determination for virtual network packet flows
US20130332619A1 (en)2012-06-062013-12-12Futurewei Technologies, Inc.Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking
US20140016501A1 (en)2012-07-162014-01-16International Business Machines CorporationFlow based overlay network
US20140115406A1 (en)*2012-10-192014-04-24Nec Laboratories America, Inc.Delay-tolerant and loss-tolerant data transfer for mobile applications
US20150341205A1 (en)2012-12-272015-11-26Telecom Italia S.P.A.Method for guaranteeing service continuity in a telecommunication network and system thereof
US9838336B2 (en)2013-03-062017-12-05Nec CorporationCommunication system, control apparatus, forwarding node, control method and program
US20160021028A1 (en)2013-03-062016-01-21Nec CorporationCommunication system, control apparatus, forwarding node, control method and program
US20160050117A1 (en)2013-03-192016-02-18Yale UniversityManaging network forwarding configurations using algorithmic policies
US20150009804A1 (en)2013-07-082015-01-08Nicira, Inc.Unified replication mechanism for fault-tolerance of state
US9887960B2 (en)2013-08-142018-02-06Nicira, Inc.Providing services for logical networks
EP2838244A2 (en)2013-08-142015-02-18Nicira, Inc.Providing services for logical networks
US20150052262A1 (en)2013-08-142015-02-19Nicira, Inc.Providing Services for Logical Networks
US20150089032A1 (en)*2013-09-252015-03-26International Business Machines CorporationScalable Network Configuration with Consistent Updates in Software Defined Networks
US20150263952A1 (en)*2014-03-142015-09-17Nicira, Inc.Logical router processing by network controller
US20150263946A1 (en)2014-03-142015-09-17Nicira, Inc.Route advertisement by managed gateways
US20160092259A1 (en)2014-09-302016-03-31Vmware, Inc.Numa i/o aware network queue assignments
US20160119224A1 (en)2014-10-272016-04-28Juniper Networks, Inc.Label switched path node failure management for label switched paths having refresh interval independent fast reroute facility protection
US20160218973A1 (en)*2015-01-232016-07-28Telefonaktiebolaget L M Ericsson (Publ)Symmetric flow processing in a software-defined networking (sdn) system
US20160294604A1 (en)2015-04-062016-10-06Nicira, Inc.Reduction of network churn based on differences in input state
US20160294680A1 (en)2015-04-062016-10-06Nicira, Inc.Reduction of churn in a network control system
US20170091004A1 (en)2015-09-302017-03-30Nicira, Inc.Implementing an interface between tuple and message-driven control entities
US20170318113A1 (en)2016-04-292017-11-02Nicira, Inc.Management of Update Queues for Network Controller

Non-Patent Citations (17)

* Cited by examiner, † Cited by third party
Title
Berde, Pankaj, et al., "ONOS Open Network Operating System an Open-Source Distributed SDN OS," Dec. 19, 2013, 34 pages.
Casado, Martin, et al. "Ethane: Taking Control of the Enterprise," SIGCOMM'07, Aug. 27-31, 2007, 12 pages, ACM, Kyoto, Japan.
Ciavaglia, Laurent, et al., "An Architectural Reference Model for Autonomic Networking, Cognitive Networking and Self-Management," Mar. 2012, 179 pages, Draft ETSI GS AFI 002 V0.0.17, European Telecommunications Standards Institute (ETSI).
Enns, R., "NETCONF Configuration Protocol," Dec. 2006, 96 pages, RFC 4741, IETF Trust.
Greenberg, Albert, et al., "A Clean Slate 4D Approach to Network Control and Management," ACM SIGCOMM Computer Communication Review, Oct. 2005, 12 pages, vol. 35, No. 5, ACM, New York, USA.
Greenberg, Albert, et al., "VL2: A Scalable and Flexible Data Center Network," SIGCOMM '09, Aug. 17-21, 2009, 12 pages, ACM, Barcelona, Spain.
Gude, Natasha, et al., "NOX: Towards an Operating System for Networks," ACM SIGCOMM Computer Communication Review, Jul. 2008, 6 pages, vol. 38, No. 3, ACM.
Kent, William, "A Simple Guide to Five Normal Forms in Relational Database Theory," Communications of the ACM, Feb. 1, 1983, 6 pages, vol. 26, No. 2, Association for Computing Machinery, Inc., USA.
Koponen, Teemu, et al., "Onix: A Distributed Control Platform for Large-scale Production Networks," In Proc. OSDI, Oct. 2010, 14 pages.
Krishnaswamy, Umesh, et al., "ONOS Open Network Operating System—An Experimental Open-Source Distributed SDN OS," Apr. 16, 2013, 24 pages.
Non-Published Commonly Owned International Patent Application PCT/US17/013820, filed Jan. 17, 2017, 43 pages, Nicira, Inc.
Non-Published commonly owned U.S. Appl. No. 15/143,462, filed Apr. 29, 2016, 44 pages, Nicira Inc.
PCT International Search Report and Written Opinion dated May 4, 2017 for commonly owned International Patent Application PCT/US17/013820, 15 pages, Nicira, Inc.
Reitblatt, Mark, et al., "Consistent Updates for Software-Defined Networks: Change You Can Believe In!" Proceedings of the 10th ACM Workshop on Hot Topics in Networks, Nov. 14-15, 2011, 6 pages, ACM, Cambridge, MA.
Schneider, Fred B., "Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial," ACM Computing Surveys, Dec. 1990, 21 pages, vol. 22, No. 4, ACM.
Terry, Douglas B., "Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System," SIGOPS '95, Dec. 1995, 12 pages, ACM, Colorado, USA.
Wang, Wei-Ming, et al., "Analysis and Implementation of an Open Programmable Router Based on Forwarding and Control Element Separation," Journal of Computer Science and Technology, Sep. 2008, 11 pages, vol. 23 Issue 5, Springer International Publishing AG.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US11288249B2 (en)2015-09-302022-03-29Nicira, Inc.Implementing an interface between tuple and message-driven control entities
US11019167B2 (en)2016-04-292021-05-25Nicira, Inc.Management of update queues for network controller
US11601521B2 (en)2016-04-292023-03-07Nicira, Inc.Management of update queues for network controller

Also Published As

Publication numberPublication date
US11288249B2 (en)2022-03-29
US20170091004A1 (en)2017-03-30
US20190188193A1 (en)2019-06-20

Similar Documents

PublicationPublication DateTitle
US11388139B2 (en)Migrating firewall connection state for a firewall service virtual machine
US12184698B2 (en)Method and apparatus for distributing firewall rules
US10581801B2 (en)Context-aware distributed firewall
US9503427B2 (en)Method and apparatus for integrating a service virtual machine
US9215210B2 (en)Migrating firewall connection state for a firewall service virtual machine
US10230576B2 (en)Managing administrative statuses of hardware VTEPs
US20210281508A1 (en)Defining routing domain for distributed packet processing
US11115382B2 (en)Global objects for federated firewall rule management
US10608993B2 (en)Firewall rule management
US20200278879A1 (en)Logical processing for containers
US11288249B2 (en)Implementing an interface between tuple and message-driven control entities
US10050874B2 (en)Media access control address learning for packets
US11784926B2 (en)Optimized processing of multicast data messages in a host
US20150381488A1 (en)Network virtualization using just-in-time distributed capability for classification encoding

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:NICIRA, INC., CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHAKIMOV, AMRE;WANG, SU;CHANDA, ANUPAM;AND OTHERS;SIGNING DATES FROM 20160203 TO 20160204;REEL/FRAME:037746/0479

STCFInformation on status: patent grant

Free format text:PATENTED CASE

MAFPMaintenance 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

ASAssignment

Owner name:VMWARE LLC, CALIFORNIA

Free format text:MERGER;ASSIGNOR:NICIRA, INC.;REEL/FRAME:070187/0487

Effective date:20240820


[8]ページ先頭

©2009-2025 Movatter.jp