Many corporations and other entities use software-defined datacenters (e.g., on-premises datacenters and/or public cloud datacenters) to host their networks. The providers of the software-defined datacenters typically provide various network security options, but some entities will want to incorporate existing third-party security services (or other services) into their hosted networks. Thus, techniques for more easily incorporating such services into virtual networks would be useful.
Some embodiments provide a network management and control system that enables integration of third-party service machines for processing data traffic entering and/or exiting a logical network. These third-party services may include various types of non-packet-forwarding services, such as firewalls, virtual private network (VPN) service, network address translation (NAT), load balancing, etc. In some embodiments, the network management and control system manages the integration of these service machines, but does not manage the life cycle of the machines themselves.
In some embodiments, the logical network includes at least one logical switch to which logical network endpoints (e.g., data compute nodes such as virtual machines, containers, etc.) connect as well as a logical router for handling data traffic entering and/or exiting the logical network. In addition, the logical network may include multiple logical switches that logically connect to each other through either the aforementioned logical router or another logical router. In some embodiments, the logical network includes multiple tiers of logical routers. Logical routers in a first tier connect groups of logical switches (e.g., the logical switches of a particular tenant). These first-tier logical routers connect to logical routers in a second tier for data traffic sent to and from the logical network (e.g., data traffic from external clients connecting to web servers hosted in the logical network, etc.). The second-tier logical routers are implemented at least partly in a centralized manner for handling the connections to the external networks, and in some embodiments the third-party service machines attach to the centralized components of these logical routers. The logical networks of other embodiments include only a single tier of logical routers, to which the third-party services attach.
In some embodiments, the network management and control system (referred to subsequently as a network control system) receives both (i) configuration data defining the logical network (i.e., the logical switches, attachment of data compute nodes to the logical switches, logical routers, etc.) as well as (ii) configuration data attaching a third-party service to a logical router (i.e., the logical router that handles connections to external networks). Based on this configuration data, the network control system configures various managed forwarding elements to implement the logical forwarding elements (the logical switches, distributed aspects of the logical routers, etc.) as well as other packet processing operations for the logical network (e.g., distributed firewall rules). In addition, some embodiments configure a particular managed forwarding element operating on a gateway machine to implement a centralized logical routing component that handles the connection of the logical network to one or more external networks. This managed forwarding element on the gateway machine is also configured to redirect (e.g., using policy-based routing) at least a subset of this ingress and/or egress data traffic between the logical network and the external networks to the attached third-party service via a separate interface of the gateway.
In some embodiments, receiving the configuration data to attach the third-party service includes several separate configuration inputs (e.g., from an administrator). After the logical router is configured, some embodiments receive configuration data (i) defining a service attachment interface for the logical router, (ii) defining a logical switch to which the service attachment interface connects, (iii) defining the service interface (e.g., the interface of the service machine to which data traffic is redirected), and (iv) connecting the service attachment interface of the logical router and the service interface to the logical switch. In addition, in some embodiments, the administrator defines a rule or set of rules specifying which ingress and/or egress traffic is redirected to the service interface.
Some embodiments enable multiple services to be connected to the logical router, using various different topologies. For instance, multiple services may be connected to the same logical switch, in which case these services all have interfaces in the same subnet and can send data traffic directly between each other if configured to do so. In this setup, the logical router can have a single interface that connects to the logical switch (for traffic to all of the services) or a separate interface connected to the logical switch for each attached service. In other cases, separate logical switches can be defined for each service (with separate logical router interfaces connected to each of the logical switches). In addition, multiple interfaces can be defined for each service machine, for handling different sets of traffic (e.g., traffic to/from different external networks or different logical network subnets).
In addition, the service machines may be connected to the logical router via different types of connections in some embodiments. Specifically, some embodiments allow for service machines to be connected in either (i) an L2 bump-in-the-wire mode or (ii) a L3 one-arm mode. In the L2 mode, two interfaces of the logical router are connected to two separate interfaces of the service machine via two separate logical switches, and data traffic sent to the service machine via one of the interfaces and received back from the service machine via the other interface. Data traffic may be sent to the service machine via one interface for traffic entering the logical network and via the other interface for traffic exiting the logical network. In the L3 mode, a single interface is used on the logical router for each connection with the service machine.
Once configured, the gateway redirects some or all of the data traffic between the logical network and external networks to the service machine. As mentioned, some embodiments use a set of policy-based routing (PBR) rules to determine whether or not to redirect each data message. In some embodiments, the gateway applies these PBR rules to outgoing data messages after performing logical routing for the data messages, and applies the PBR rules to incoming data messages prior to performing logical routing and/or switching for incoming data messages.
That is, for an outgoing data message, the gateway performs logical switching (if required), then logical routing for the routing component that connects to the external network to determine that the data message is in fact directed outside of the logical network, then applies the PBR rules to determine whether to redirect the data message to a service. If the data message is redirected, then upon its return from the service (if the data message is not dropped/blocked by the service) the gateway forwards the data message to the external network.
For an incoming data message, the gateway applies the PBR rules to determine whether to redirect the data message to a service before processing the data message through any of the logical forwarding elements. If the data message is redirected, then upon its return from the service (if the data message is not dropped/blocked by the service) the gateway then performs logical routing and switching, etc. to the data message to determine how to forward the data message to the logical network.
In some embodiments, the PBR rules use a two-stage lookup to determine whether to redirect a data message (and to which interface to redirect the data message). Specifically, rather than the PBR rules (i.e., routing rules based on header fields other than destination network address) providing the redirection details, each rule specifies a unique identifier. Each identifier corresponds to a service machine, and the gateway stores a dynamically-updated data structure for each identifier. These data structures, in some embodiments, indicate the type of connection to the service (e.g., L2 bump-in-the-wire or L3 one-arm), a network address for the interface of the service to which the data message is redirected (for L2 mode, some embodiments use a dummy network address that corresponds to the data link layer address of the return service attachment interface of the gateway), dynamically-updated status data, and a failover policy. The status data is dynamically updated based on the health/reachability of the service, which may be tested using a heartbeat protocol such as bidirectional forwarding detection (BFD). The failover policy, in some embodiments, specifies what to do with the data message if the service is not reachable. These failover policy options may include, e.g., drop the data message, forward the data message to its destination without redirection to the service, redirect to a backup service machine, etc.
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 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.
The novel features of the invention are set forth in the appended claims. However, for purpose of explanation, several embodiments of the invention are set forth in the following figures.
In the following detailed description of the invention, numerous details, examples, and embodiments of the invention are set forth and described. However, it will be clear and apparent to one skilled in the art 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 provide a network management and control system that enables integration of third-party service machines for processing data traffic entering and/or exiting a logical network. These third-party services may include various types of non-packet-forwarding services, such as firewalls, virtual private network (VPN) service, network address translation (NAT), load balancing, etc. In some embodiments, the network management and control system manages the integration of these service machines, but does not manage the life cycle of the machines themselves (hence referring to these service machines as third-party services).
In some embodiments, the logical network includes at least one logical switch to which logical network endpoints (e.g., data compute nodes such as virtual machines, containers, etc.) connect as well as a logical router for handling data traffic entering and/or exiting the logical network. In addition, the logical network may include multiple logical switches that logically connect to each other through either the aforementioned logical router or another logical router.
The logical network 100 represents an abstraction of a network as configured by a user of the network management and control system of some embodiments. That is, in some embodiments, a network administrator configures the logical network 100 as a conceptual set of logical switches, routers, etc., with policies applied to these logical forwarding elements. The network management and control system generates configuration data for physical managed forwarding elements (e.g., software virtual switches operating in the virtualization software of host machines, virtual machines and/or bare metal machines operating as logical network gateways, etc.) to implement these logical forwarding elements. For instance, when a DCN 125-140 hosted on a physical host machine sends a data message, in some embodiments a managed forwarding element executing in the virtualization software of the host machine processes the data message to implement the logical network. The managed forwarding element would apply the logical switch configuration for the logical switch to which the DCN attaches, then the tier-1 logical router configuration, etc. to determine the destination of the data message.
In some embodiments, as in this example, the logical network includes multiple tiers of logical routers. Logical routers in a first tier (e.g., the tier-1 logical router 110) connect groups of logical switches (e.g., the logical switches of a particular tenant). These first-tier logical routers connect to logical routers in a second tier (e.g., the tier-0 logical router 105) for data traffic sent to and from the logical network (e.g., data traffic from external clients connecting to web servers hosted in the logical network, etc.).
The network management and control system of some embodiments (referred to subsequently as a network control system) defines multiple routing components for at least some of the logical routers. Specifically, the tier-0 logical router 105 in this example has a distributed routing component 150 (“distributed router”) and a centralized routing component 155, which are connected by an internal logical switch 160 referred to as a transit logical switch. In some cases, multiple centralized routers are defined for a tier-0 logical router, each of which connects to the transit logical switch 160. For instance, some embodiments define two centralized routers, one active and one standby.
In some embodiments, the distributed router 150 and the transit logical switch 160 are implemented in a distributed manner (as with the logical switches 115 and 120, and the tier-1 logical router 110), meaning that the first-hop managed forwarding element for a data message applies the policies of those logical forwarding elements to the data message. The centralized router 155, however, is implemented in a centralized manner (i.e., a single host machine implements each such centralized router). These centralized routers handle the connections of the logical network to external networks (e.g., to other logical networks implemented at the same or other datacenters, to external web clients, etc.). The centralized router may perform various stateful services (e.g., network address translation, load balancing, etc.) as well as exchange routes with one or more external routers (using, e.g., BGP or OSPF). Different embodiments may implement the centralized router using a bare metal machine, a virtual machine, a virtual switch executing in virtualization software of a host machine, or other contexts.
As mentioned, some embodiments allow the administrator to use the network control system to attach third-party services to the logical routers. In some such embodiments, these third-party services are attached to centralized routers that handle data traffic between logical network endpoints and external networks (e.g., the centralized router 155 of a tier-0 router). While the subsequent discussion primarily relates to connection of the third-party services to tier-0 logical routers, in some embodiments the third-party services may also be connected to tier-1 logical routers.
In some embodiments, the management plane receives both (i) configuration data defining the logical network (i.e., the logical switches, attachment of data compute nodes to the logical switches, logical routers, etc.) as well as the configuration data attaching one or more third-party services to the logical router that handles connections of the logical network to external networks. Based on this configuration data, the network control system configures various managed forwarding elements to implement the logical forwarding elements (the logical switches, distributed aspects of the logical routers, etc.) as well as other packet processing operations for the logical network (e.g., distributed firewall rules). In some embodiments, the management plane generates configuration data based on the inputs and provides this configuration data to a central control plane (e.g., a set of centralized controllers). The central control plane identifies the managed forwarding elements that require each atomic piece of configuration data, and distributes the configuration data to local controllers for each identified managed forwarding element. These local controllers are then responsible for configuring the managed forwarding elements (including the gateway machine that implements the centralized router) to implement the logical forwarding elements of the logical network, including redirecting appropriate data messages to the third-party services (e.g., according to policy-based routing rules provided by the administrator).
In some embodiments, receiving the configuration data to attach the third-party service includes several separate configuration inputs (e.g., from an administrator).
In the description of this process, it is assumed that a logical network has already been configured, and that this logical network includes a logical router with at least one centralized component configured to handle data traffic entering and exiting the logical network. Some embodiments configure particular managed forwarding elements operating on gateway machines to implement these centralized logical routing components that handle the connection of the logical network to one or more external networks.
As shown, the process 300 begins by receiving (at 305) input to define a service attachment interface for a logical router. In some embodiments, a service attachment interface is a specialized type of interface for the logical router. In different embodiments, the administrator either defines this service attachment interface on a particular centralized component or on the logical router generally. In the latter case, the management plane either applies the interface to a specific one of the components (e.g., if the administrator defines that the service attachment interface will only handle traffic sent to or from a particular uplink interface of the logical router that is assigned to a particular centralized component) or creates separate interfaces for each of the centralized components of the logical router. For instance, in some embodiments, active and standby centralized routing components are defined, and interfaces are created on each of these components.
Next, the process 300 receives (at 310) input to define a logical switch for connecting the logical router to third-party services. In addition, the process receives (at 315) input to attach the service attachment interface to this logical switch. In some embodiments, this logical switch is created similarly to the logical switches of the logical network, to which data compute nodes (e.g., VMs, etc.) attach. In other embodiments, the logical switch is defined by the administrator as a specific service attachment logical switch. This logical switch has a privately allocated subnet that (i) includes the network address of the service attachment interface that is attached to the logical switch and (ii) only needs to include enough network addresses for any interfaces of third-party services and any service attachment interfaces that connect to the logical switch. For instance, as shown below, using Classless Inter-Domain Routing (CIDR) notation, a logical switch that connects a single logical router interface to a single third-party service interface could be a “/31” subnet. Even if the logical router performs route advertisement to external physical routers (e.g., using BGP or OSPF) for logical network subnets, the subnets for the service attachment logical switches are not advertised (or entered into the routing tables for the various logical router tiers) in some embodiments.
In some embodiments, if the logical router includes multiple centralized components (e.g., active and standby components) and a service attachment interface corresponds to interfaces on each of these components, then attaching the service attachment interface actually attaches each of these interfaces to the logical switch. In this case, each of the centralized component interfaces has a separate network address in the subnet of the logical switch.
Next, the process 300 receives (at 320) input to define a service endpoint interface, and receives (at 325) input to attach this service endpoint interface to the logical switch (to which the service attachment interface of the logical router is attached). In some embodiments, this service endpoint interface represents an interface on a third-party service machine. In some embodiments, when an administrator defines an endpoint interface to which a centralized routing component will connect, these interfaces can either be service endpoint interfaces (also referred to as logical endpoint interfaces, that correspond to service machines and connect to service attachment interfaces through a logical switch) or external interfaces (also referred to as virtual endpoint interfaces, which correspond to network addresses reachable from the centralized component. External router interfaces are examples of these latter interfaces.
In addition, some embodiments require the administrator to define the third-party service machine (either through the network control system or through a separate datacenter compute manager). For example, in some embodiments the network administrator defines both a service type as well as a service instance (e.g., an instance of that service type). As noted above, the service endpoint interface should also have a network address within the subnet of the logical switch to which that interface is attached.
It should be understood that operations 305-325 need not occur in the specific order shown in
In addition, the process 300 receives (at 330) one or more rules for redirecting data messages to the service endpoint interface. In some embodiments, these are policy-based routing rules that (i) specify which ingress and/or egress traffic will be redirected to the service interface and (ii) are applied by the gateway machine separately from its usual routing operations. In some embodiments, the administrator defines the redirection rules in terms of one or more data message header fields, such as the source and/or destination network addresses, source and/or destination transport layer ports, transport protocol, interface on which a data message is received, etc. For each service interface, an administrator may create one redirection rule or multiple rules. For instance, the redirected data messages could include all incoming and/or outgoing data messages for a particular uplink, only data messages sent from or to a specific logical switch subnet, etc.
Finally, after receiving the above-described configuration data, the process 300 configures (at 335) the gateway machine to implement the centralized logical router and the redirection to the service endpoint interface. The process 300 then ends. If multiple centralized routing components have interfaces attached to the logical switch for the service endpoint, then the gateway machine for each of these components is configured. In some embodiments, the management plane generates configuration data for the service attachment interface and the redirection rules and provides this information to the central control plane. The central control plane identifies each gateway machine that requires the information and provides the appropriate configuration data to the local controller for that gateway machine. The local controller of some embodiments converts this configuration data to a format readable by the gateway machine (if it is not already in such a format) and directly configures the gateway machine to implement the policy-based routing rules.
Some embodiments enable multiple services to be connected to the logical router, using various different topologies. For instance, multiple services may be connected to the same logical switch, in which case these services all have interfaces in the same subnet and can send data traffic directly between each other if configured to do so. In this setup, the logical router can have a single interface that connects to the logical switch (for traffic to all of the services) or a separate interface connected to the logical switch for each attached service. In other cases, separate logical switches can be defined for each service (with separate logical router interfaces connected to each of the logical switches). In addition, multiple interfaces can be defined for each service machine, for handling different sets of traffic (e.g., traffic to/from different external networks or different logical network subnets).
In addition to these various different topologies, the third-party service machines may be connected to the centralized routing component via different types of connections in some embodiments. Specifically, some embodiments allow for service machines to be connected in either (i) an L2 bump-in-the-wire mode or (ii) a L3 one-arm mode. In the L2 mode, shown in
In the L3 mode, shown in
The gateway MFE 800 implements several stages of logical network processing, including policy-based routing (PBR) redirection rules 810, centralized routing component processing 815, the service attachment logical switch processing 820, and additional logical processing 825 (e.g., transit logical switch processing, distributed routing component processing, processing for other tiers of logical routers and/or logical switches to which network endpoints connect, etc. In some embodiments, the gateway MFE 800 is a datapath in a bare metal computer or a virtual machine (e.g., a data plane development kit (DPDK)-based datapath). The gateway MFE of other embodiments executes a datapath in virtualization software of a host machine. Yet other embodiments implement a portion of the logical processing in such a datapath while implementing the centralized routing component in a virtual machine, namespace, or similar construct.
For the incoming data message in
Based on this determination, the centralized routing component processing 815 identifies that the redirection interface corresponds to the service attachment logical switch, so the gateway MFE 800 then executes this logical switch processing 820. Based on this logical switch processing, the gateway MFE transmits the data message (e.g., with encapsulation) to the third-party service machine 805. This service machine 805 performs its service processing (e.g., firewall, NAT, cloud extension, etc.) and returns the data message to the gateway MFE (unless the service drops/blocks the data message). Upon return of the data message from the service, the gateway MFE then performs the centralized routing component processing 815 (e.g., routing based on the destination network address) and, in turn, the additional logical processing operations 825. In some embodiments, data messages returning from the third-party service machine are marked with a flag to indicate that the PBR rules do not need to be applied again. Based on these operations, the gateway MFE 800 transmits the data message to its destination in the logical network (e.g., by encapsulating the data message and transmitting the data message to a host machine in the data center).
The centralized routing component processing 815 identifies the uplink interface as its output interface, which leads to application of the PBR rules 810. These rules, in this case, also redirect outgoing data messages to the service machine 805, so the gateway MFE 800 applies the centralized routing component processing 815 again and subsequently the service attachment logical switch processing 820, and transmits the data message to the third-party service machine 805. Assuming the data message is not dropped by the service machine 805, the gateway MFE 800 receives the data message via its interface corresponding to the service attachment logical switch. At this point, the centralized routing component processing 815 again identifies the uplink as the output interface for that component, and the gateway MFE transmits the data message to the external physical network router associated with the uplink. As mentioned, the data message is marked with a flag upon being received from the service machine 805 so that the gateway MFE does not apply the PBR rules 810 again in some embodiments.
If the service machine is logically connected to a tier-1 logical router, then in some embodiments the PBR rules are applied (for egress data messages) after the tier-1 logical router processing, and before the tier-0 logical router processing. Upon return from the service machine, the gateway MFE then applies the tier-0 distributed routing component, transit logical switch, and tier-0 centralized routing component. Ingress traffic is handled similarly, with the application of the PBR rules after the tier-0 distributed routing component and prior to application of the tier-1 centralized routing component.
As indicated above,
As in the example of
For the incoming data message in
Based on this determination, the centralized routing component processing 815 identifies that the redirection interface corresponds to the first service attachment logical switch 1020. Because the service machine 1005 is connected in L2 bump-in-the-wire mode, the centralized routing component uses the MAC address of this interface as the source address for the redirected data message and the MAC address of the other service attachment interface (connected to the second logical switch 1025) as the destination address). This causes the data message to be returned by the service machine 1005 to this second (trusted) interface.
The gateway MFE 1000 then executes the logical switch processing 1020 and, based on this logical switch processing, transmits the data message to the third-party service machine 1005. This service machine 1005 performs its service processing (e.g., firewall, NAT, cloud extension, etc.) and returns the data message to the gateway MFE (unless the service drops/blocks the data message). Upon return of the data message from the service, the gateway MFE identifies the second logical switch 1025 for processing based on the destination address of the data message and/or the gateway MFE interface on which the message is received, then performs the processing for the centralized routing component 1015 (e.g., routing based on the destination network address) and, in turn, the additional logical processing operations 1030. In some embodiments, data messages returning from the third-party service machine are marked with a flag to indicate that the PBR rules do not need to be applied again. Based on these operations, the gateway MFE 800 transmits the data message to its destination in the logical network (e.g., by encapsulating the data message and transmitting the data message to a host machine in the data center).
The centralized routing component processing 1015 then identifies the uplink interface as its output interface, which leads to application of the PBR rules 1010. These rules, in this case, redirect outgoing data messages to the service machine 805 via the trusted interface attached to the second logical switch 1025. Thus, the gateway MFE 800 applies the centralized routing component processing 1015 again and subsequently the processing for the second service attachment logical switch 1025, and transmits the data message to the third-party service machine 1005. In this direction, the data message has the trusted interface MAC address as its source address and the untrusted interface MAC address as its destination address, traversing the opposite path from the centralized routing component 1015 to the service machine 1005 and back as for an ingress data message.
Assuming the data message is not dropped by the service machine 1005, the gateway MFE 800 receives the data message via its interface corresponding to the first service attachment logical switch 1020. At this point, the centralized routing component processing 1015 again identifies the uplink as the output interface, and the gateway MFE transmits the data message to the external physical network router associated with the uplink. As mentioned, the data message is marked with a flag upon being received from the service machine 1005 so that the gateway MFE does not apply the PBR rules 1010 again in some embodiments.
In some embodiments, the PBR rules use a two-stage lookup to determine whether to redirect a data message (and to which interface to redirect the data message). Specifically, rather than the PBR rules providing the redirection details directly, each rule specifies a unique identifier. Each identifier corresponds to a service machine, and the gateway stores a dynamically-updated data structure for each identifier that provides details about how to redirect data messages.
As shown, the process 1200 begins by receiving (at 1205) a data message for PBR processing. This may be a data message received via a logical router uplink from an external network or a data message sent by a logical network endpoint for which the gateway MFE has already identified the uplink as the egress port for the centralized routing component. In some embodiments, the process 1200 is not applied to data messages for which a flag is set indicating that the data message is received from a third-party service machine. These data messages are
The process 1200 then performs (at 1210) a lookup into a set of PBR rules. In some embodiments, these rules are organized as a set of flow entries, with match conditions and actions for data messages that match each set of match conditions. Depending on the context of the gateway datapath, the PBR rules of some embodiments use a hash table (or set of hash tables) using one or more hashes of sets of data message header fields. Other embodiments use other techniques to identify a matching PBR rule.
Returning to
On the other hand, if the data message matches one of the PBR rules, the process looks up (at 1225) a data structure for a unique identifier specified by the matched PBR rule. As shown in
These data structures, in some embodiments, indicate the type of connection to the service (e.g., L2 bump-in-the-wire or L3 one-arm), a network address for the interface of the service to which the data message is redirected, dynamically-updated status data, and a failover policy. The status data is dynamically updated based on the health/reachability of the service, which may be tested using a heartbeat protocol such as bidirectional forwarding detection (BFD). The failover policy, in some embodiments, specifies what to do with the data message if the service is not reachable.
In addition, the data structure 1305 specifies the current BFD status of the connection to the service machine (the connection is currently up) as well as a failover policy indicating how to handle the data message if the BFD status is down. It should be noted that while these examples use BFD, other mechanisms for monitoring the reachability of the service machine may be used as well (e.g., other heartbeat protocols, other measures of connection status, etc.). In this case, the failover policy indicates that data messages should be dropped if the service machine is not available. Other failover policy options may include, e.g. forwarding the data message to its destination without redirection to the service, redirection to a backup service machine, etc.
The data structure 1310, for unique identifier ZYXWV, indicates that the service machine to which this policy redirects is connected in L3 one-arm mode, and thus the redirection IP address provides the address of the service machine interface (rather than a dummy IP). The BFD status of this connection is also up, but in this case the failover policy provides for redirection to a backup service machine at a different IP address on a different subnet (i.e., connected to a different logical switch).
Returning to
As noted, the data structures for each redirection policy are updated dynamically by the gateway MFE. In some embodiments, a BFD thread executes on the gateway machine to (i) send BFD messages to the service machine and (ii) receive BFD messages from the service machine. For service machines connected in L3 one-arm mode, the service machines also execute a BFD thread that sends BFD messages to the gateway. On the other hand, in L2 bump-in-the-wire mode, the BFD thread sends BFD messages out one of the interfaces connecting the centralized routing component to the service machine and receives these messages back on the other interface. Some such embodiments send the BFD messages out through both interfaces (with BFD messages sent from the trusted interface received at the untrusted interface, and vice versa). This process is described in greater detail in U.S. patent application Ser. No. 15/937,615, which is incorporated herein by reference. In some embodiments, one BFD thread executes on each gateway MFE and exchanges messages with all of the connected service machines, while in other embodiments separate BFD threads execute on a gateway MFE to exchange messages with each connected service machine. When the BFD thread detects that BFD messages are no longer being received from a particular service machine, the gateway MFE modifies the data structure for that service machine
In the first stage 1405, the data structure 1310 is in the same state as in
In the second stage 1410, the connection between the gateway machine 1400 and the service machine 1415 is no longer present. In addition, the data structure 1305 has been dynamically updated by the gateway MFE to indicate that the BFD status is down. As a result of the failover policy specified by this data structure 1305, data messages with a source IP in the subnet 20.20.20.0/24 would be redirected to the 169.254.11.1 interface of the second service machine 1420 until the connection to the first service machine 1415 comes back up.
In some embodiments, multiple threads can write to the data structures 1305 and 1310. For instance, some embodiments allow the BFD thread as well as a configuration receiver thread to both write to these data structures (e.g., to modify the BFD status as well as to make any configuration changes received from the network control system). In addition, one or more packet processing threads are able to read these data structures for performing packet lookups. Some embodiments enable these packet processing threads to read from the data structures even if one of the writer threads is currently accessing the structures, so that packet processing is not interrupted by the writer threads.
The bus 1505 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 1500. For instance, the bus 1505 communicatively connects the processing unit(s) 1510 with the read-only memory 1530, the system memory 1525, and the permanent storage device 1535.
From these various memory units, the processing unit(s) 1510 retrieve 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) 1530 stores static data and instructions that are needed by the processing unit(s) 1510 and other modules of the electronic system. The permanent storage device 1535, 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 the electronic system 1500 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 the permanent storage device 1535.
Other embodiments use a removable storage device (such as a floppy disk, flash drive, etc.) as the permanent storage device. Like the permanent storage device 1535, the system memory 1525 is a read-and-write memory device. However, unlike storage device 1535, the system memory is a volatile read-and-write memory, such a random-access memory. The system memory stores some of the instructions and data that the processor needs at runtime. In some embodiments, the invention's processes are stored in the system memory 1525, the permanent storage device 1535, and/or the read-only memory 1530. From these various memory units, the processing unit(s) 1510 retrieve instructions to execute and data to process in order to execute the processes of some embodiments.
The bus 1505 also connects to the input and output devices 1540 and 1545. The input devices enable the user to communicate information and select commands to the electronic system. The input devices 1540 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The output devices 1545 display images generated by the electronic system. The output devices include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some embodiments include devices such as a touchscreen that function as both input and output devices.
Finally, as shown in
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.
As used in this specification, 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, 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.
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. In addition, a number of the figures (including
This application is a continuation application of U.S. patent application Ser. No. 16/120,283, filed Sep. 2, 2018, now published as U.S. Patent Publication 2020/0076684. U.S. patent application Ser. No. 16/120,283, now published as U.S. Patent Publication 2020/0076684, is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6006264 | Colby et al. | Dec 1999 | A |
6104700 | Haddock et al. | Aug 2000 | A |
6154448 | Petersen et al. | Nov 2000 | A |
6772211 | Lu et al. | Aug 2004 | B2 |
6779030 | Dugan et al. | Aug 2004 | B1 |
6826694 | Dutta et al. | Nov 2004 | B1 |
6880089 | Bommareddy et al. | Apr 2005 | B1 |
6985956 | Luke et al. | Jan 2006 | B2 |
7013389 | Srivastava et al. | Mar 2006 | B1 |
7209977 | Acharya et al. | Apr 2007 | B2 |
7239639 | Cox | Jul 2007 | B2 |
7379465 | Aysan et al. | May 2008 | B2 |
7406540 | Acharya et al. | Jul 2008 | B2 |
7447775 | Zhu et al. | Nov 2008 | B1 |
7480737 | Chauffour et al. | Jan 2009 | B2 |
7487250 | Siegel | Feb 2009 | B2 |
7499463 | Droux et al. | Mar 2009 | B1 |
7649890 | Mizutani et al. | Jan 2010 | B2 |
7698458 | Liu et al. | Apr 2010 | B1 |
7818452 | Matthews et al. | Oct 2010 | B2 |
7898959 | Arad | Mar 2011 | B1 |
7921174 | Denise | Apr 2011 | B1 |
7948986 | Ghosh et al. | May 2011 | B1 |
8078903 | Parthasarathy et al. | Dec 2011 | B1 |
8090822 | Lee | Jan 2012 | B2 |
8094575 | Vadlakonda et al. | Jan 2012 | B1 |
8175863 | Ostermeyer et al. | May 2012 | B1 |
8190767 | Maufer et al. | May 2012 | B1 |
8201219 | Jones | Jun 2012 | B2 |
8223634 | Tanaka et al. | Jul 2012 | B2 |
8224885 | Doucette et al. | Jul 2012 | B1 |
8230493 | Davidson et al. | Jul 2012 | B2 |
8266261 | Akagi | Sep 2012 | B2 |
8339959 | Moisand et al. | Dec 2012 | B1 |
8451735 | Li | May 2013 | B2 |
8484348 | Subramanian et al. | Jul 2013 | B2 |
8488577 | Macpherson | Jul 2013 | B1 |
8521879 | Pena et al. | Aug 2013 | B1 |
8615009 | Ramamoorthi et al. | Dec 2013 | B1 |
8707383 | Bade et al. | Apr 2014 | B2 |
8731289 | Straub | May 2014 | B2 |
8738702 | Belanger | May 2014 | B1 |
8743885 | Khan et al. | Jun 2014 | B2 |
8804720 | Rainovic et al. | Aug 2014 | B1 |
8804746 | Wu et al. | Aug 2014 | B2 |
8811412 | Shippy | Aug 2014 | B2 |
8830834 | Sharma et al. | Sep 2014 | B2 |
8832683 | Heim | Sep 2014 | B2 |
8849746 | Candea et al. | Sep 2014 | B2 |
8856518 | Sridharan et al. | Oct 2014 | B2 |
8862883 | Cherukuri et al. | Oct 2014 | B2 |
8868711 | Skjolsvold et al. | Oct 2014 | B2 |
8873399 | Bothos et al. | Oct 2014 | B2 |
8874789 | Zhu | Oct 2014 | B1 |
8892706 | Dalal | Nov 2014 | B1 |
8913611 | Koponen et al. | Dec 2014 | B2 |
8914406 | Haugsnes et al. | Dec 2014 | B1 |
8966024 | Koponen et al. | Feb 2015 | B2 |
8966029 | Zhang et al. | Feb 2015 | B2 |
8971345 | McCanne et al. | Mar 2015 | B1 |
8989192 | Foo et al. | Mar 2015 | B2 |
8996610 | Sureshchandra et al. | Mar 2015 | B1 |
9009289 | Jacob | Apr 2015 | B1 |
9015823 | Koponen et al. | Apr 2015 | B2 |
9094464 | Scharber et al. | Jul 2015 | B1 |
9104497 | Mortazavi | Aug 2015 | B2 |
9148367 | Kandaswamy et al. | Sep 2015 | B2 |
9172603 | Padmanabhan et al. | Oct 2015 | B2 |
9178709 | Higashida et al. | Nov 2015 | B2 |
9191293 | Iovene et al. | Nov 2015 | B2 |
9195491 | Zhang et al. | Nov 2015 | B2 |
9203748 | Jiang et al. | Dec 2015 | B2 |
9225638 | Jain et al. | Dec 2015 | B2 |
9225659 | McCanne et al. | Dec 2015 | B2 |
9232342 | Seed et al. | Jan 2016 | B2 |
9237098 | Patel et al. | Jan 2016 | B2 |
9256467 | Singh et al. | Feb 2016 | B1 |
9258742 | Pianigiani et al. | Feb 2016 | B1 |
9264313 | Manuguri et al. | Feb 2016 | B1 |
9277412 | Freda et al. | Mar 2016 | B2 |
9311427 | Kwan | Apr 2016 | B2 |
9344337 | Kumar et al. | May 2016 | B2 |
9363183 | Kumar et al. | Jun 2016 | B2 |
9378294 | Chung | Jun 2016 | B2 |
9397946 | Yadav | Jul 2016 | B1 |
9407540 | Kumar et al. | Aug 2016 | B2 |
9407599 | Koponen et al. | Aug 2016 | B2 |
9419897 | Cherian et al. | Aug 2016 | B2 |
9442752 | Roth et al. | Sep 2016 | B1 |
9467382 | Kumar et al. | Oct 2016 | B2 |
9479358 | Klosowski et al. | Oct 2016 | B2 |
9503530 | Niedzielski | Nov 2016 | B1 |
9531590 | Jain et al. | Dec 2016 | B2 |
9577845 | Thakkar et al. | Feb 2017 | B2 |
9602380 | Strassner | Mar 2017 | B2 |
9608896 | Kumar et al. | Mar 2017 | B2 |
9633128 | Blinn | Apr 2017 | B2 |
9646096 | Tsai | May 2017 | B2 |
9659103 | Tsai | May 2017 | B2 |
9660905 | Dunbar et al. | May 2017 | B2 |
9686192 | Sengupta et al. | Jun 2017 | B2 |
9686200 | Pettit et al. | Jun 2017 | B2 |
9705702 | Foo et al. | Jul 2017 | B2 |
9705775 | Zhang et al. | Jul 2017 | B2 |
9749229 | Previdi et al. | Aug 2017 | B2 |
9755898 | Jain et al. | Sep 2017 | B2 |
9755971 | Wang et al. | Sep 2017 | B2 |
9774537 | Jain et al. | Sep 2017 | B2 |
9787559 | Schroeder | Oct 2017 | B1 |
9787605 | Zhang et al. | Oct 2017 | B2 |
9804797 | Ng et al. | Oct 2017 | B1 |
9825810 | Jain et al. | Nov 2017 | B2 |
9860079 | Cohn et al. | Jan 2018 | B2 |
9900410 | Dalal | Feb 2018 | B2 |
9935827 | Jain et al. | Apr 2018 | B2 |
9979641 | Jain et al. | May 2018 | B2 |
9985896 | Koponen et al. | May 2018 | B2 |
9996380 | Singh et al. | Jun 2018 | B2 |
10013276 | Fahs et al. | Jul 2018 | B2 |
10042722 | Chigurupati et al. | Aug 2018 | B1 |
10075470 | Vaidya et al. | Sep 2018 | B2 |
10079779 | Zhang et al. | Sep 2018 | B2 |
10084703 | Kumar et al. | Sep 2018 | B2 |
10089127 | Padmanabhan et al. | Oct 2018 | B2 |
10091276 | Bloomquist et al. | Oct 2018 | B2 |
10104169 | Moniz et al. | Oct 2018 | B1 |
10129077 | Jain et al. | Nov 2018 | B2 |
10129180 | Zhang et al. | Nov 2018 | B2 |
10135636 | Jiang et al. | Nov 2018 | B2 |
10135737 | Jain et al. | Nov 2018 | B2 |
10158573 | Lee et al. | Dec 2018 | B1 |
10187306 | Nainar et al. | Jan 2019 | B2 |
10200493 | Bendapudi et al. | Feb 2019 | B2 |
10212071 | Kancherla | Feb 2019 | B2 |
10225137 | Jain et al. | Mar 2019 | B2 |
10237379 | Kumar et al. | Mar 2019 | B2 |
10250501 | Ni | Apr 2019 | B2 |
10257095 | Jain et al. | Apr 2019 | B2 |
10284390 | Kumar et al. | May 2019 | B2 |
10305822 | Tao et al. | May 2019 | B2 |
10320679 | Jain et al. | Jun 2019 | B2 |
10333822 | Jeuk et al. | Jun 2019 | B1 |
10341233 | Jain et al. | Jul 2019 | B2 |
10341427 | Jalan et al. | Jul 2019 | B2 |
10375155 | Cai et al. | Aug 2019 | B1 |
10390285 | Zhou | Aug 2019 | B2 |
10397275 | Jain et al. | Aug 2019 | B2 |
10445509 | Thota et al. | Oct 2019 | B2 |
10484334 | Lee et al. | Nov 2019 | B1 |
10514941 | Zhang et al. | Dec 2019 | B2 |
10516568 | Jain et al. | Dec 2019 | B2 |
10547508 | Kanakarajan | Jan 2020 | B1 |
10547692 | Salgueiro et al. | Jan 2020 | B2 |
10554484 | Chanda et al. | Feb 2020 | B2 |
10594743 | Hong et al. | Mar 2020 | B2 |
10609091 | Hong et al. | Mar 2020 | B2 |
10609122 | Argenti et al. | Mar 2020 | B1 |
10623309 | Gampel et al. | Apr 2020 | B1 |
10637750 | Bollineni et al. | Apr 2020 | B1 |
10645060 | Ao et al. | May 2020 | B2 |
10645201 | Mishra et al. | May 2020 | B2 |
10659252 | Boutros et al. | May 2020 | B2 |
10693782 | Jain et al. | Jun 2020 | B2 |
10700891 | Hao et al. | Jun 2020 | B2 |
10708229 | Sevinc et al. | Jul 2020 | B2 |
10728174 | Boutros et al. | Jul 2020 | B2 |
10735311 | Li | Aug 2020 | B2 |
10742544 | Roeland et al. | Aug 2020 | B2 |
10757077 | Rajahalme et al. | Aug 2020 | B2 |
10797910 | Boutros et al. | Oct 2020 | B2 |
10797966 | Boutros et al. | Oct 2020 | B2 |
10802858 | Gunda | Oct 2020 | B2 |
10805181 | Boutros et al. | Oct 2020 | B2 |
10805192 | Boutros et al. | Oct 2020 | B2 |
10812378 | Nainar et al. | Oct 2020 | B2 |
10826835 | Ruckstuhl et al. | Nov 2020 | B2 |
10834004 | Yigit et al. | Nov 2020 | B2 |
10853111 | Gupta et al. | Dec 2020 | B1 |
10929171 | Gokhale et al. | Feb 2021 | B2 |
10931793 | Kumar et al. | Feb 2021 | B2 |
10938668 | Zulak et al. | Mar 2021 | B1 |
10938716 | Chin et al. | Mar 2021 | B1 |
10944673 | Naveen | Mar 2021 | B2 |
10949244 | Naveen et al. | Mar 2021 | B2 |
10997177 | Howes et al. | May 2021 | B1 |
11003482 | Rolando et al. | May 2021 | B2 |
11012351 | Feng et al. | May 2021 | B2 |
11012420 | Sevinc et al. | May 2021 | B2 |
11026047 | Greenberger | Jun 2021 | B2 |
11036538 | Lecuyer et al. | Jun 2021 | B2 |
11038782 | Boutros et al. | Jun 2021 | B2 |
11042397 | Mishra et al. | Jun 2021 | B2 |
11055273 | Meduri et al. | Jul 2021 | B1 |
11074097 | Naveen et al. | Jul 2021 | B2 |
11075839 | Zhuang et al. | Jul 2021 | B2 |
11075842 | Jain et al. | Jul 2021 | B2 |
11086654 | Rolando et al. | Aug 2021 | B2 |
11119804 | Gokhale et al. | Sep 2021 | B2 |
11140218 | Tidemann et al. | Oct 2021 | B2 |
11153190 | Mahajan et al. | Oct 2021 | B1 |
11153406 | Sawant et al. | Oct 2021 | B2 |
11157304 | Watt, Jr. et al. | Oct 2021 | B2 |
11184397 | Annadata et al. | Nov 2021 | B2 |
11194610 | Mundaragi et al. | Dec 2021 | B2 |
11212356 | Rolando et al. | Dec 2021 | B2 |
11223494 | Mishra et al. | Jan 2022 | B2 |
11249784 | Chalvadi et al. | Feb 2022 | B2 |
11265187 | Boutros et al. | Mar 2022 | B2 |
11277331 | Rolando et al. | Mar 2022 | B2 |
11283717 | Tidemann et al. | Mar 2022 | B2 |
11288088 | Rolando et al. | Mar 2022 | B2 |
11294703 | Rolando et al. | Apr 2022 | B2 |
11296930 | Jain et al. | Apr 2022 | B2 |
11301281 | Rolando et al. | Apr 2022 | B2 |
11316900 | Schottland et al. | Apr 2022 | B1 |
11321113 | Feng et al. | May 2022 | B2 |
11354148 | Rolando et al. | Jun 2022 | B2 |
11360796 | Mishra et al. | Jun 2022 | B2 |
11368387 | Rolando et al. | Jun 2022 | B2 |
11397604 | Mundaragi et al. | Jul 2022 | B2 |
11398983 | Wijnands et al. | Jul 2022 | B2 |
11405431 | Hong et al. | Aug 2022 | B2 |
11411863 | Zhang et al. | Aug 2022 | B2 |
11438257 | Rolando et al. | Sep 2022 | B2 |
11438267 | Jain et al. | Sep 2022 | B2 |
11467861 | Kavathia et al. | Oct 2022 | B2 |
11496606 | Jain et al. | Nov 2022 | B2 |
11528213 | Venkatasubbaiah et al. | Dec 2022 | B2 |
11528219 | Rolando et al. | Dec 2022 | B2 |
11595250 | Naveen et al. | Feb 2023 | B2 |
11604666 | Feng et al. | Mar 2023 | B2 |
11609781 | Mishra et al. | Mar 2023 | B2 |
11611625 | Jain et al. | Mar 2023 | B2 |
11659061 | Sawant et al. | May 2023 | B2 |
11722367 | Jain et al. | Aug 2023 | B2 |
11722559 | Tidemann et al. | Aug 2023 | B2 |
11734043 | Jain et al. | Aug 2023 | B2 |
11743172 | Rolando et al. | Aug 2023 | B2 |
11750476 | Boutros et al. | Sep 2023 | B2 |
20020010783 | Primak et al. | Jan 2002 | A1 |
20020078370 | Tahan | Jun 2002 | A1 |
20020097724 | Halme et al. | Jul 2002 | A1 |
20020194350 | Lu et al. | Dec 2002 | A1 |
20030065711 | Acharya et al. | Apr 2003 | A1 |
20030093481 | Mitchell et al. | May 2003 | A1 |
20030097429 | Wu et al. | May 2003 | A1 |
20030105812 | Flowers et al. | Jun 2003 | A1 |
20030123452 | Cox | Jul 2003 | A1 |
20030188026 | Denton et al. | Oct 2003 | A1 |
20030236813 | Abjanic | Dec 2003 | A1 |
20040066769 | Ahmavaara et al. | Apr 2004 | A1 |
20040210670 | Anerousis et al. | Oct 2004 | A1 |
20040215703 | Song et al. | Oct 2004 | A1 |
20040249776 | Horvitz | Dec 2004 | A1 |
20050021713 | Dugan et al. | Jan 2005 | A1 |
20050089327 | Ovadia et al. | Apr 2005 | A1 |
20050091396 | Nilakantan et al. | Apr 2005 | A1 |
20050114429 | Caccavale | May 2005 | A1 |
20050114648 | Akundi et al. | May 2005 | A1 |
20050132030 | Hopen et al. | Jun 2005 | A1 |
20050198200 | Subramanian et al. | Sep 2005 | A1 |
20050249199 | Albert et al. | Nov 2005 | A1 |
20060069776 | Shim et al. | Mar 2006 | A1 |
20060112297 | Davidson | May 2006 | A1 |
20060130133 | Andreev et al. | Jun 2006 | A1 |
20060155862 | Kathi et al. | Jul 2006 | A1 |
20060195896 | Fulp et al. | Aug 2006 | A1 |
20060233155 | Srivastava | Oct 2006 | A1 |
20070061492 | Riel | Mar 2007 | A1 |
20070121615 | Weill et al. | May 2007 | A1 |
20070153782 | Fletcher et al. | Jul 2007 | A1 |
20070214282 | Sen | Sep 2007 | A1 |
20070248091 | Khalid et al. | Oct 2007 | A1 |
20070260750 | Feied et al. | Nov 2007 | A1 |
20070288615 | Keohane et al. | Dec 2007 | A1 |
20070291773 | Khan et al. | Dec 2007 | A1 |
20080005293 | Bhargava et al. | Jan 2008 | A1 |
20080031263 | Ervin et al. | Feb 2008 | A1 |
20080046400 | Shi et al. | Feb 2008 | A1 |
20080049614 | Briscoe et al. | Feb 2008 | A1 |
20080049619 | Twiss | Feb 2008 | A1 |
20080049786 | Ram et al. | Feb 2008 | A1 |
20080072305 | Casado et al. | Mar 2008 | A1 |
20080084819 | Parizhsky et al. | Apr 2008 | A1 |
20080095153 | Fukunaga et al. | Apr 2008 | A1 |
20080104608 | Hyser et al. | May 2008 | A1 |
20080195755 | Lu et al. | Aug 2008 | A1 |
20080225714 | Denis | Sep 2008 | A1 |
20080239991 | Applegate et al. | Oct 2008 | A1 |
20080247396 | Hazard | Oct 2008 | A1 |
20080276085 | Davidson et al. | Nov 2008 | A1 |
20080279196 | Friskney et al. | Nov 2008 | A1 |
20090003349 | Havemann et al. | Jan 2009 | A1 |
20090003364 | Fendick et al. | Jan 2009 | A1 |
20090003375 | Havemann et al. | Jan 2009 | A1 |
20090019135 | Eswaran et al. | Jan 2009 | A1 |
20090037713 | Khalid et al. | Feb 2009 | A1 |
20090063706 | Goldman et al. | Mar 2009 | A1 |
20090129271 | Ramankutty et al. | May 2009 | A1 |
20090172666 | Yahalom et al. | Jul 2009 | A1 |
20090190506 | Belling et al. | Jul 2009 | A1 |
20090199268 | Ahmavaara et al. | Aug 2009 | A1 |
20090235325 | Dimitrakos et al. | Sep 2009 | A1 |
20090238084 | Nadeau et al. | Sep 2009 | A1 |
20090249472 | Litvin et al. | Oct 2009 | A1 |
20090259745 | Lee | Oct 2009 | A1 |
20090265467 | Peles et al. | Oct 2009 | A1 |
20090271586 | Shaath | Oct 2009 | A1 |
20090299791 | Blake et al. | Dec 2009 | A1 |
20090300210 | Ferris | Dec 2009 | A1 |
20090303880 | Maltz et al. | Dec 2009 | A1 |
20090307334 | Maltz et al. | Dec 2009 | A1 |
20090327464 | Archer et al. | Dec 2009 | A1 |
20100031360 | Seshadri et al. | Feb 2010 | A1 |
20100036903 | Ahmad et al. | Feb 2010 | A1 |
20100100616 | Bryson et al. | Apr 2010 | A1 |
20100131638 | Kondamuru | May 2010 | A1 |
20100165985 | Sharma et al. | Jul 2010 | A1 |
20100223364 | Wei | Sep 2010 | A1 |
20100223621 | Joshi et al. | Sep 2010 | A1 |
20100235915 | Memon et al. | Sep 2010 | A1 |
20100254385 | Sharma et al. | Oct 2010 | A1 |
20100257278 | Gunturu | Oct 2010 | A1 |
20100265824 | Chao et al. | Oct 2010 | A1 |
20100281482 | Pike et al. | Nov 2010 | A1 |
20100332595 | Fullagar et al. | Dec 2010 | A1 |
20110010578 | Dominguez et al. | Jan 2011 | A1 |
20110016348 | Pace et al. | Jan 2011 | A1 |
20110022695 | Dalal et al. | Jan 2011 | A1 |
20110022812 | Van Der Linden et al. | Jan 2011 | A1 |
20110035494 | Pandey et al. | Feb 2011 | A1 |
20110040893 | Karaoguz et al. | Feb 2011 | A1 |
20110055845 | Nandagopal et al. | Mar 2011 | A1 |
20110058563 | Saraph et al. | Mar 2011 | A1 |
20110090912 | Shippy | Apr 2011 | A1 |
20110164504 | Bothos et al. | Jul 2011 | A1 |
20110194563 | Shen et al. | Aug 2011 | A1 |
20110211463 | Matityahu et al. | Sep 2011 | A1 |
20110225293 | Rathod | Sep 2011 | A1 |
20110235508 | Goel et al. | Sep 2011 | A1 |
20110261811 | Battestilli et al. | Oct 2011 | A1 |
20110268118 | Schlansker et al. | Nov 2011 | A1 |
20110271007 | Wang et al. | Nov 2011 | A1 |
20110276695 | Maldaner | Nov 2011 | A1 |
20110283013 | Grosser et al. | Nov 2011 | A1 |
20110295991 | Aida | Dec 2011 | A1 |
20110317708 | Clark | Dec 2011 | A1 |
20120005265 | Ushioda et al. | Jan 2012 | A1 |
20120011281 | Hamada et al. | Jan 2012 | A1 |
20120014386 | Xiong et al. | Jan 2012 | A1 |
20120023231 | Ueno | Jan 2012 | A1 |
20120054266 | Kazerani et al. | Mar 2012 | A1 |
20120089664 | Igelka | Apr 2012 | A1 |
20120110577 | Chen et al. | May 2012 | A1 |
20120117058 | Rubinstein | May 2012 | A1 |
20120117258 | Spivey | May 2012 | A1 |
20120137004 | Smith | May 2012 | A1 |
20120140719 | Hui et al. | Jun 2012 | A1 |
20120144014 | Natham et al. | Jun 2012 | A1 |
20120147894 | Mulligan et al. | Jun 2012 | A1 |
20120155266 | Patel et al. | Jun 2012 | A1 |
20120159307 | Chung | Jun 2012 | A1 |
20120176932 | Wu et al. | Jul 2012 | A1 |
20120185588 | Error | Jul 2012 | A1 |
20120195196 | Ghai et al. | Aug 2012 | A1 |
20120207174 | Shieh | Aug 2012 | A1 |
20120213074 | Goldfarb et al. | Aug 2012 | A1 |
20120230187 | Tremblay et al. | Sep 2012 | A1 |
20120239804 | Liu et al. | Sep 2012 | A1 |
20120246637 | Kreeger et al. | Sep 2012 | A1 |
20120266252 | Spiers et al. | Oct 2012 | A1 |
20120281540 | Khan et al. | Nov 2012 | A1 |
20120287789 | Aybay et al. | Nov 2012 | A1 |
20120303784 | Zisapel et al. | Nov 2012 | A1 |
20120303809 | Patel et al. | Nov 2012 | A1 |
20120311568 | Jansen | Dec 2012 | A1 |
20120317260 | Husain et al. | Dec 2012 | A1 |
20120317570 | Dalcher et al. | Dec 2012 | A1 |
20120331188 | Riordan et al. | Dec 2012 | A1 |
20130003735 | Chao et al. | Jan 2013 | A1 |
20130021942 | Bacthu et al. | Jan 2013 | A1 |
20130031544 | Sridharan et al. | Jan 2013 | A1 |
20130039218 | Narasimhan et al. | Feb 2013 | A1 |
20130044636 | Koponen et al. | Feb 2013 | A1 |
20130058346 | Sridharan et al. | Mar 2013 | A1 |
20130073743 | Ramasamy et al. | Mar 2013 | A1 |
20130100851 | Bacthu et al. | Apr 2013 | A1 |
20130125120 | Zhang et al. | May 2013 | A1 |
20130136126 | Wang et al. | May 2013 | A1 |
20130142048 | Gross, IV et al. | Jun 2013 | A1 |
20130148505 | Koponen et al. | Jun 2013 | A1 |
20130151661 | Koponen et al. | Jun 2013 | A1 |
20130159487 | Patel et al. | Jun 2013 | A1 |
20130160024 | Shtilman et al. | Jun 2013 | A1 |
20130163594 | Sharma et al. | Jun 2013 | A1 |
20130166703 | Hammer et al. | Jun 2013 | A1 |
20130170501 | Egi et al. | Jul 2013 | A1 |
20130174012 | Kwan | Jul 2013 | A1 |
20130201989 | Hu et al. | Aug 2013 | A1 |
20130227097 | Yasuda et al. | Aug 2013 | A1 |
20130227550 | Weinstein et al. | Aug 2013 | A1 |
20130287026 | Davie | Oct 2013 | A1 |
20130287036 | Banavalikar et al. | Oct 2013 | A1 |
20130291088 | Shieh et al. | Oct 2013 | A1 |
20130297798 | Arisoylu et al. | Nov 2013 | A1 |
20130301472 | Allan | Nov 2013 | A1 |
20130311637 | Kamath et al. | Nov 2013 | A1 |
20130318219 | Kancherla | Nov 2013 | A1 |
20130322446 | Biswas et al. | Dec 2013 | A1 |
20130332983 | Koorevaar et al. | Dec 2013 | A1 |
20130336319 | Liu et al. | Dec 2013 | A1 |
20130343174 | Guichard et al. | Dec 2013 | A1 |
20130343378 | Veteikis et al. | Dec 2013 | A1 |
20140003232 | Guichard et al. | Jan 2014 | A1 |
20140003422 | Mogul et al. | Jan 2014 | A1 |
20140010085 | Kavunder et al. | Jan 2014 | A1 |
20140029447 | Schrum, Jr. | Jan 2014 | A1 |
20140046997 | Dain et al. | Feb 2014 | A1 |
20140046998 | Dain et al. | Feb 2014 | A1 |
20140050223 | Foo et al. | Feb 2014 | A1 |
20140052844 | Nayak et al. | Feb 2014 | A1 |
20140059204 | Nguyen et al. | Feb 2014 | A1 |
20140059544 | Koganty et al. | Feb 2014 | A1 |
20140068602 | Gember et al. | Mar 2014 | A1 |
20140092738 | Grandhi et al. | Apr 2014 | A1 |
20140092906 | Kandaswamy et al. | Apr 2014 | A1 |
20140092914 | Kondapalli | Apr 2014 | A1 |
20140093167 | Straub | Apr 2014 | A1 |
20140096183 | Jain et al. | Apr 2014 | A1 |
20140101226 | Khandekar et al. | Apr 2014 | A1 |
20140101656 | Zhu et al. | Apr 2014 | A1 |
20140108665 | Arora et al. | Apr 2014 | A1 |
20140115578 | Cooper et al. | Apr 2014 | A1 |
20140129715 | Mortazavi | May 2014 | A1 |
20140149696 | Frenkel et al. | May 2014 | A1 |
20140164477 | Springer et al. | Jun 2014 | A1 |
20140169168 | Jalan et al. | Jun 2014 | A1 |
20140169375 | Khan et al. | Jun 2014 | A1 |
20140195666 | Dumitriu et al. | Jul 2014 | A1 |
20140207968 | Kumar et al. | Jul 2014 | A1 |
20140254374 | Janakiraman et al. | Sep 2014 | A1 |
20140254591 | Mahadevan et al. | Sep 2014 | A1 |
20140269487 | Kalkunte | Sep 2014 | A1 |
20140269717 | Thubert et al. | Sep 2014 | A1 |
20140269724 | Mehler et al. | Sep 2014 | A1 |
20140280896 | Papakostas et al. | Sep 2014 | A1 |
20140281029 | Danforth | Sep 2014 | A1 |
20140282526 | Basavaiah et al. | Sep 2014 | A1 |
20140301388 | Jagadish et al. | Oct 2014 | A1 |
20140304231 | Kamath et al. | Oct 2014 | A1 |
20140307744 | Dunbar et al. | Oct 2014 | A1 |
20140310391 | Sorenson et al. | Oct 2014 | A1 |
20140310418 | Sorenson, III et al. | Oct 2014 | A1 |
20140317677 | Vaidya et al. | Oct 2014 | A1 |
20140321459 | Kumar et al. | Oct 2014 | A1 |
20140330983 | Zisapel et al. | Nov 2014 | A1 |
20140334485 | Jain et al. | Nov 2014 | A1 |
20140334488 | Guichard et al. | Nov 2014 | A1 |
20140341029 | Allan et al. | Nov 2014 | A1 |
20140351452 | Bosch et al. | Nov 2014 | A1 |
20140362682 | Guichard et al. | Dec 2014 | A1 |
20140362705 | Pan | Dec 2014 | A1 |
20140369204 | Anand et al. | Dec 2014 | A1 |
20140372567 | Ganesh et al. | Dec 2014 | A1 |
20140372616 | Arisoylu et al. | Dec 2014 | A1 |
20140372702 | Subramanyam et al. | Dec 2014 | A1 |
20150003453 | Sengupta et al. | Jan 2015 | A1 |
20150003455 | Haddad et al. | Jan 2015 | A1 |
20150009995 | Gross, IV et al. | Jan 2015 | A1 |
20150016279 | Zhang et al. | Jan 2015 | A1 |
20150023354 | Li et al. | Jan 2015 | A1 |
20150026321 | Ravinoothala et al. | Jan 2015 | A1 |
20150026345 | Ravinoothala et al. | Jan 2015 | A1 |
20150026362 | Guichard et al. | Jan 2015 | A1 |
20150030024 | Venkataswami et al. | Jan 2015 | A1 |
20150052262 | Chanda | Feb 2015 | A1 |
20150052522 | Chanda | Feb 2015 | A1 |
20150063102 | Mestery et al. | Mar 2015 | A1 |
20150063364 | Thakkar | Mar 2015 | A1 |
20150071285 | Kumar et al. | Mar 2015 | A1 |
20150071301 | Dalal | Mar 2015 | A1 |
20150073967 | Katsuyama et al. | Mar 2015 | A1 |
20150078384 | Jackson et al. | Mar 2015 | A1 |
20150092551 | Moisand et al. | Apr 2015 | A1 |
20150092564 | Aldrin | Apr 2015 | A1 |
20150103645 | Shen et al. | Apr 2015 | A1 |
20150103679 | Tessmer et al. | Apr 2015 | A1 |
20150103827 | Quinn et al. | Apr 2015 | A1 |
20150106802 | Ivanov et al. | Apr 2015 | A1 |
20150109901 | Tan et al. | Apr 2015 | A1 |
20150124608 | Agarwal et al. | May 2015 | A1 |
20150124622 | Kovvali et al. | May 2015 | A1 |
20150124815 | Beliveau et al. | May 2015 | A1 |
20150124840 | Bergeron | May 2015 | A1 |
20150138973 | Kumar et al. | May 2015 | A1 |
20150139041 | Bosch et al. | May 2015 | A1 |
20150146539 | Mehta et al. | May 2015 | A1 |
20150156035 | Foo et al. | Jun 2015 | A1 |
20150188770 | Naiksatam et al. | Jul 2015 | A1 |
20150195197 | Yong et al. | Jul 2015 | A1 |
20150213087 | Sikri | Jul 2015 | A1 |
20150215819 | Bosch et al. | Jul 2015 | A1 |
20150222640 | Kumar et al. | Aug 2015 | A1 |
20150236948 | Dunbar et al. | Aug 2015 | A1 |
20150237013 | Bansal et al. | Aug 2015 | A1 |
20150242197 | Alfonso et al. | Aug 2015 | A1 |
20150244617 | Nakil et al. | Aug 2015 | A1 |
20150261873 | Blinn | Sep 2015 | A1 |
20150263901 | Kumar et al. | Sep 2015 | A1 |
20150263946 | Tubaltsev et al. | Sep 2015 | A1 |
20150271102 | Antich | Sep 2015 | A1 |
20150280959 | Vincent | Oct 2015 | A1 |
20150281089 | Marchetti | Oct 2015 | A1 |
20150281098 | Pettit et al. | Oct 2015 | A1 |
20150281125 | Koponen et al. | Oct 2015 | A1 |
20150281179 | Raman et al. | Oct 2015 | A1 |
20150281180 | Raman et al. | Oct 2015 | A1 |
20150288671 | Chan et al. | Oct 2015 | A1 |
20150288679 | Ben-Nun et al. | Oct 2015 | A1 |
20150295831 | Kumar et al. | Oct 2015 | A1 |
20150319078 | Lee et al. | Nov 2015 | A1 |
20150319096 | Yip et al. | Nov 2015 | A1 |
20150347432 | Tsai | Dec 2015 | A1 |
20150347593 | Tsai | Dec 2015 | A1 |
20150358235 | Zhang et al. | Dec 2015 | A1 |
20150358294 | Kancharla et al. | Dec 2015 | A1 |
20150365322 | Shatzkamer et al. | Dec 2015 | A1 |
20150370586 | Cooper et al. | Dec 2015 | A1 |
20150370596 | Fahs et al. | Dec 2015 | A1 |
20150372840 | Benny et al. | Dec 2015 | A1 |
20150372911 | Yabusaki et al. | Dec 2015 | A1 |
20150379277 | Thota et al. | Dec 2015 | A1 |
20150381493 | Bansal et al. | Dec 2015 | A1 |
20150381494 | Cherian et al. | Dec 2015 | A1 |
20150381495 | Cherian et al. | Dec 2015 | A1 |
20160006654 | Fernando et al. | Jan 2016 | A1 |
20160028640 | Zhang et al. | Jan 2016 | A1 |
20160043901 | Sankar et al. | Feb 2016 | A1 |
20160043952 | Zhang et al. | Feb 2016 | A1 |
20160057050 | Ostrom et al. | Feb 2016 | A1 |
20160057687 | Horn et al. | Feb 2016 | A1 |
20160065503 | Yohe et al. | Mar 2016 | A1 |
20160080253 | Wang et al. | Mar 2016 | A1 |
20160087888 | Jain et al. | Mar 2016 | A1 |
20160094384 | Jain et al. | Mar 2016 | A1 |
20160094389 | Jain et al. | Mar 2016 | A1 |
20160094451 | Jain et al. | Mar 2016 | A1 |
20160094452 | Jain et al. | Mar 2016 | A1 |
20160094453 | Jain et al. | Mar 2016 | A1 |
20160094454 | Jain et al. | Mar 2016 | A1 |
20160094455 | Jain et al. | Mar 2016 | A1 |
20160094456 | Jain et al. | Mar 2016 | A1 |
20160094457 | Jain et al. | Mar 2016 | A1 |
20160094631 | Jain et al. | Mar 2016 | A1 |
20160094632 | Jain et al. | Mar 2016 | A1 |
20160094633 | Jain et al. | Mar 2016 | A1 |
20160094642 | Jain et al. | Mar 2016 | A1 |
20160094643 | Jain et al. | Mar 2016 | A1 |
20160094661 | Jain et al. | Mar 2016 | A1 |
20160099948 | Ott et al. | Apr 2016 | A1 |
20160105333 | Lenglet et al. | Apr 2016 | A1 |
20160119226 | Guichard et al. | Apr 2016 | A1 |
20160127306 | Wang et al. | May 2016 | A1 |
20160127564 | Sharma et al. | May 2016 | A1 |
20160134528 | Lin et al. | May 2016 | A1 |
20160149784 | Zhang et al. | May 2016 | A1 |
20160149816 | Roach et al. | May 2016 | A1 |
20160149828 | Vijayan et al. | May 2016 | A1 |
20160162320 | Singh et al. | Jun 2016 | A1 |
20160164776 | Biancaniello | Jun 2016 | A1 |
20160164787 | Roach et al. | Jun 2016 | A1 |
20160164826 | Riedel et al. | Jun 2016 | A1 |
20160173373 | Guichard et al. | Jun 2016 | A1 |
20160173644 | Goel | Jun 2016 | A1 |
20160182684 | Connor et al. | Jun 2016 | A1 |
20160188527 | Cherian et al. | Jun 2016 | A1 |
20160197831 | Foy et al. | Jul 2016 | A1 |
20160197839 | Li et al. | Jul 2016 | A1 |
20160203817 | Formhals | Jul 2016 | A1 |
20160205015 | Halligan et al. | Jul 2016 | A1 |
20160212048 | Kaempfer et al. | Jul 2016 | A1 |
20160212237 | Nishijima | Jul 2016 | A1 |
20160218918 | Chu et al. | Jul 2016 | A1 |
20160226700 | Zhang et al. | Aug 2016 | A1 |
20160226754 | Zhang et al. | Aug 2016 | A1 |
20160226762 | Zhang et al. | Aug 2016 | A1 |
20160232019 | Shah et al. | Aug 2016 | A1 |
20160248685 | Pignataro et al. | Aug 2016 | A1 |
20160277210 | Lin et al. | Sep 2016 | A1 |
20160277294 | Akiyoshi | Sep 2016 | A1 |
20160294612 | Ravinoothala et al. | Oct 2016 | A1 |
20160294933 | Hong et al. | Oct 2016 | A1 |
20160294935 | Hong et al. | Oct 2016 | A1 |
20160308758 | Li et al. | Oct 2016 | A1 |
20160308961 | Rao | Oct 2016 | A1 |
20160330125 | Mekkattuparamban | Nov 2016 | A1 |
20160337189 | Liebhart et al. | Nov 2016 | A1 |
20160337249 | Zhang et al. | Nov 2016 | A1 |
20160337317 | Hwang et al. | Nov 2016 | A1 |
20160344565 | Batz et al. | Nov 2016 | A1 |
20160344621 | Roeland et al. | Nov 2016 | A1 |
20160344803 | Batz et al. | Nov 2016 | A1 |
20160352866 | Gupta et al. | Dec 2016 | A1 |
20160366046 | Anantharam et al. | Dec 2016 | A1 |
20160373364 | Yokota | Dec 2016 | A1 |
20160378537 | Zou | Dec 2016 | A1 |
20160380812 | Chanda et al. | Dec 2016 | A1 |
20170005882 | Tao et al. | Jan 2017 | A1 |
20170005920 | Previdi et al. | Jan 2017 | A1 |
20170005923 | Babakian | Jan 2017 | A1 |
20170005988 | Bansal et al. | Jan 2017 | A1 |
20170019303 | Swamy et al. | Jan 2017 | A1 |
20170019329 | Kozat et al. | Jan 2017 | A1 |
20170019331 | Yong | Jan 2017 | A1 |
20170019341 | Huang et al. | Jan 2017 | A1 |
20170026417 | Ermagan et al. | Jan 2017 | A1 |
20170033939 | Bragg et al. | Feb 2017 | A1 |
20170063683 | Li et al. | Mar 2017 | A1 |
20170063928 | Jain et al. | Mar 2017 | A1 |
20170064048 | Pettit et al. | Mar 2017 | A1 |
20170064749 | Jain et al. | Mar 2017 | A1 |
20170078176 | Lakshmikantha et al. | Mar 2017 | A1 |
20170078961 | Rabii et al. | Mar 2017 | A1 |
20170093698 | Farmanbar | Mar 2017 | A1 |
20170093758 | Chanda | Mar 2017 | A1 |
20170099194 | Wei | Apr 2017 | A1 |
20170126497 | Dubey | May 2017 | A1 |
20170126522 | McCann et al. | May 2017 | A1 |
20170126726 | Han | May 2017 | A1 |
20170134538 | Mahkonen et al. | May 2017 | A1 |
20170142012 | Thakkar et al. | May 2017 | A1 |
20170147399 | Cropper et al. | May 2017 | A1 |
20170149582 | Cohn et al. | May 2017 | A1 |
20170149675 | Yang | May 2017 | A1 |
20170149680 | Liu et al. | May 2017 | A1 |
20170163531 | Kumar et al. | Jun 2017 | A1 |
20170163724 | Puri et al. | Jun 2017 | A1 |
20170170990 | Gaddehosur et al. | Jun 2017 | A1 |
20170171159 | Kumar et al. | Jun 2017 | A1 |
20170180240 | Kem et al. | Jun 2017 | A1 |
20170195255 | Pham et al. | Jul 2017 | A1 |
20170208000 | Bosch et al. | Jul 2017 | A1 |
20170208011 | Bosch et al. | Jul 2017 | A1 |
20170208532 | Zhou | Jul 2017 | A1 |
20170214627 | Zhang et al. | Jul 2017 | A1 |
20170220306 | Price et al. | Aug 2017 | A1 |
20170230333 | Glazemakers et al. | Aug 2017 | A1 |
20170230467 | Salgueiro et al. | Aug 2017 | A1 |
20170237656 | Gage | Aug 2017 | A1 |
20170250869 | Voellmy | Aug 2017 | A1 |
20170250902 | Rasanen et al. | Aug 2017 | A1 |
20170250917 | Ruckstuhl et al. | Aug 2017 | A1 |
20170251065 | Furr et al. | Aug 2017 | A1 |
20170257432 | Fu et al. | Sep 2017 | A1 |
20170264677 | Li | Sep 2017 | A1 |
20170273099 | Zhang et al. | Sep 2017 | A1 |
20170279938 | You et al. | Sep 2017 | A1 |
20170295021 | Gutiérrez et al. | Oct 2017 | A1 |
20170295033 | Cherian et al. | Oct 2017 | A1 |
20170295100 | Hira et al. | Oct 2017 | A1 |
20170310588 | Zuo | Oct 2017 | A1 |
20170310611 | Kumar et al. | Oct 2017 | A1 |
20170317887 | Dwaraki et al. | Nov 2017 | A1 |
20170317926 | Penno et al. | Nov 2017 | A1 |
20170317936 | Swaminathan et al. | Nov 2017 | A1 |
20170317954 | Masurekar | Nov 2017 | A1 |
20170317969 | Masurekar et al. | Nov 2017 | A1 |
20170318081 | Hopen et al. | Nov 2017 | A1 |
20170318097 | Drew et al. | Nov 2017 | A1 |
20170324651 | Penno et al. | Nov 2017 | A1 |
20170324654 | Previdi et al. | Nov 2017 | A1 |
20170331672 | Fedyk et al. | Nov 2017 | A1 |
20170339110 | Ni | Nov 2017 | A1 |
20170339600 | Roeland et al. | Nov 2017 | A1 |
20170346764 | Tan et al. | Nov 2017 | A1 |
20170353387 | Kwak et al. | Dec 2017 | A1 |
20170359252 | Kumar et al. | Dec 2017 | A1 |
20170364287 | Antony et al. | Dec 2017 | A1 |
20170364794 | Mahkonen et al. | Dec 2017 | A1 |
20170366605 | Chang et al. | Dec 2017 | A1 |
20170373990 | Jeuk et al. | Dec 2017 | A1 |
20180004954 | Liguori et al. | Jan 2018 | A1 |
20180006935 | Mutnuru et al. | Jan 2018 | A1 |
20180026911 | Anholt et al. | Jan 2018 | A1 |
20180027101 | Kumar et al. | Jan 2018 | A1 |
20180041425 | Zhang | Feb 2018 | A1 |
20180041470 | Schultz et al. | Feb 2018 | A1 |
20180041524 | Reddy et al. | Feb 2018 | A1 |
20180063000 | Wu et al. | Mar 2018 | A1 |
20180063018 | Bosch et al. | Mar 2018 | A1 |
20180063087 | Hira et al. | Mar 2018 | A1 |
20180091420 | Drake et al. | Mar 2018 | A1 |
20180102919 | Hao et al. | Apr 2018 | A1 |
20180102965 | Hari et al. | Apr 2018 | A1 |
20180115471 | Curcio et al. | Apr 2018 | A1 |
20180123950 | Garg et al. | May 2018 | A1 |
20180124061 | Raman et al. | May 2018 | A1 |
20180139098 | Sunavala et al. | May 2018 | A1 |
20180145899 | Rao | May 2018 | A1 |
20180159733 | Poon et al. | Jun 2018 | A1 |
20180159801 | Rajan et al. | Jun 2018 | A1 |
20180159943 | Poon et al. | Jun 2018 | A1 |
20180176124 | Kancherla | Jun 2018 | A1 |
20180176177 | Bichot et al. | Jun 2018 | A1 |
20180176294 | Vacaro et al. | Jun 2018 | A1 |
20180183764 | Gunda | Jun 2018 | A1 |
20180184281 | Tamagawa et al. | Jun 2018 | A1 |
20180191600 | Hecker et al. | Jul 2018 | A1 |
20180198692 | Ansari | Jul 2018 | A1 |
20180198705 | Wang et al. | Jul 2018 | A1 |
20180198791 | Desai et al. | Jul 2018 | A1 |
20180203736 | Vyas et al. | Jul 2018 | A1 |
20180205637 | Li | Jul 2018 | A1 |
20180213040 | Pak et al. | Jul 2018 | A1 |
20180219762 | Wang et al. | Aug 2018 | A1 |
20180227216 | Hughes | Aug 2018 | A1 |
20180234360 | Narayana et al. | Aug 2018 | A1 |
20180247082 | Durham et al. | Aug 2018 | A1 |
20180248713 | Zanier et al. | Aug 2018 | A1 |
20180248755 | Hecker et al. | Aug 2018 | A1 |
20180248790 | Tan et al. | Aug 2018 | A1 |
20180248986 | Dalal | Aug 2018 | A1 |
20180262427 | Jain et al. | Sep 2018 | A1 |
20180262434 | Koponen et al. | Sep 2018 | A1 |
20180278530 | Connor et al. | Sep 2018 | A1 |
20180288129 | Joshi et al. | Oct 2018 | A1 |
20180295036 | Krishnamurthy et al. | Oct 2018 | A1 |
20180295053 | Leung et al. | Oct 2018 | A1 |
20180302242 | Hao et al. | Oct 2018 | A1 |
20180309632 | Kompella et al. | Oct 2018 | A1 |
20180337849 | Sharma et al. | Nov 2018 | A1 |
20180349212 | Liu et al. | Dec 2018 | A1 |
20180351874 | Abhigyan et al. | Dec 2018 | A1 |
20180375684 | Filsfils et al. | Dec 2018 | A1 |
20190007382 | Nirwal et al. | Jan 2019 | A1 |
20190020580 | Boutros et al. | Jan 2019 | A1 |
20190020600 | Zhang et al. | Jan 2019 | A1 |
20190020684 | Qian et al. | Jan 2019 | A1 |
20190028347 | Johnston et al. | Jan 2019 | A1 |
20190028384 | Penno et al. | Jan 2019 | A1 |
20190028577 | D'Souza et al. | Jan 2019 | A1 |
20190036819 | Kancherla et al. | Jan 2019 | A1 |
20190068500 | Hira | Feb 2019 | A1 |
20190089679 | Kahalon et al. | Mar 2019 | A1 |
20190097838 | Sahoo et al. | Mar 2019 | A1 |
20190102280 | Caldato et al. | Apr 2019 | A1 |
20190108049 | Singh et al. | Apr 2019 | A1 |
20190116063 | Bottorff et al. | Apr 2019 | A1 |
20190121961 | Coleman et al. | Apr 2019 | A1 |
20190124096 | Ahuja et al. | Apr 2019 | A1 |
20190132220 | Boutros et al. | May 2019 | A1 |
20190132221 | Boutros et al. | May 2019 | A1 |
20190140863 | Nainar et al. | May 2019 | A1 |
20190140947 | Zhuang et al. | May 2019 | A1 |
20190140950 | Zhuang et al. | May 2019 | A1 |
20190149512 | Sevinc et al. | May 2019 | A1 |
20190149516 | Rajahalme et al. | May 2019 | A1 |
20190149518 | Sevinc et al. | May 2019 | A1 |
20190166045 | Peng et al. | May 2019 | A1 |
20190173778 | Faseela et al. | Jun 2019 | A1 |
20190173850 | Jain et al. | Jun 2019 | A1 |
20190173851 | Jain et al. | Jun 2019 | A1 |
20190222538 | Yang et al. | Jul 2019 | A1 |
20190229937 | Nagarajan et al. | Jul 2019 | A1 |
20190230126 | Kumar et al. | Jul 2019 | A1 |
20190238363 | Boutros et al. | Aug 2019 | A1 |
20190238364 | Boutros et al. | Aug 2019 | A1 |
20190268384 | Hu et al. | Aug 2019 | A1 |
20190286475 | Mani | Sep 2019 | A1 |
20190288915 | Denyer et al. | Sep 2019 | A1 |
20190288946 | Gupta et al. | Sep 2019 | A1 |
20190288947 | Jain et al. | Sep 2019 | A1 |
20190306036 | Boutros et al. | Oct 2019 | A1 |
20190306086 | Boutros et al. | Oct 2019 | A1 |
20190342175 | Wan et al. | Nov 2019 | A1 |
20190377604 | Cybulski | Dec 2019 | A1 |
20190379578 | Mishra et al. | Dec 2019 | A1 |
20190379579 | Mishra et al. | Dec 2019 | A1 |
20200007388 | Johnston et al. | Jan 2020 | A1 |
20200036629 | Roeland et al. | Jan 2020 | A1 |
20200059761 | Li et al. | Feb 2020 | A1 |
20200067828 | Liu et al. | Feb 2020 | A1 |
20200073739 | Rungta et al. | Mar 2020 | A1 |
20200076684 | Naveen et al. | Mar 2020 | A1 |
20200076734 | Naveen et al. | Mar 2020 | A1 |
20200084141 | Bengough et al. | Mar 2020 | A1 |
20200084147 | Gandhi et al. | Mar 2020 | A1 |
20200136960 | Jeuk et al. | Apr 2020 | A1 |
20200143388 | Duchin et al. | May 2020 | A1 |
20200145331 | Bhandari et al. | May 2020 | A1 |
20200162318 | Patil et al. | May 2020 | A1 |
20200162352 | Jorgenson et al. | May 2020 | A1 |
20200183724 | Shevade et al. | Jun 2020 | A1 |
20200195711 | Abhigyan et al. | Jun 2020 | A1 |
20200204492 | Sarva et al. | Jun 2020 | A1 |
20200213366 | Hong et al. | Jul 2020 | A1 |
20200220805 | Dhanabalan | Jul 2020 | A1 |
20200272493 | Lecuyer et al. | Aug 2020 | A1 |
20200272494 | Gokhale et al. | Aug 2020 | A1 |
20200272495 | Rolando et al. | Aug 2020 | A1 |
20200272496 | Mundaragi et al. | Aug 2020 | A1 |
20200272497 | Kavathia et al. | Aug 2020 | A1 |
20200272498 | Mishra et al. | Aug 2020 | A1 |
20200272499 | Feng et al. | Aug 2020 | A1 |
20200272500 | Feng et al. | Aug 2020 | A1 |
20200272501 | Chalvadi et al. | Aug 2020 | A1 |
20200274757 | Rolando et al. | Aug 2020 | A1 |
20200274769 | Naveen et al. | Aug 2020 | A1 |
20200274778 | Lecuyer et al. | Aug 2020 | A1 |
20200274779 | Rolando et al. | Aug 2020 | A1 |
20200274795 | Rolando et al. | Aug 2020 | A1 |
20200274801 | Feng et al. | Aug 2020 | A1 |
20200274808 | Mundaragi et al. | Aug 2020 | A1 |
20200274809 | Rolando et al. | Aug 2020 | A1 |
20200274810 | Gokhale et al. | Aug 2020 | A1 |
20200274826 | Mishra et al. | Aug 2020 | A1 |
20200274944 | Naveen et al. | Aug 2020 | A1 |
20200274945 | Rolando et al. | Aug 2020 | A1 |
20200287962 | Mishra et al. | Sep 2020 | A1 |
20200322271 | Jain et al. | Oct 2020 | A1 |
20200344088 | Selvaraj et al. | Oct 2020 | A1 |
20200358696 | Hu et al. | Nov 2020 | A1 |
20200364074 | Gunda et al. | Nov 2020 | A1 |
20200366526 | Boutros et al. | Nov 2020 | A1 |
20200366584 | Boutros et al. | Nov 2020 | A1 |
20200382412 | Chandrappa et al. | Dec 2020 | A1 |
20200382420 | Suryanarayana et al. | Dec 2020 | A1 |
20200389401 | Enguehard et al. | Dec 2020 | A1 |
20210004245 | Kamath et al. | Jan 2021 | A1 |
20210011812 | Mitkar et al. | Jan 2021 | A1 |
20210011816 | Mitkar et al. | Jan 2021 | A1 |
20210029088 | Mayya et al. | Jan 2021 | A1 |
20210044502 | Boutros et al. | Feb 2021 | A1 |
20210067439 | Kommula et al. | Mar 2021 | A1 |
20210073736 | Alawi et al. | Mar 2021 | A1 |
20210117217 | Croteau et al. | Apr 2021 | A1 |
20210120080 | Mishra et al. | Apr 2021 | A1 |
20210135992 | Tidemann et al. | May 2021 | A1 |
20210136140 | Tidemann et al. | May 2021 | A1 |
20210136141 | Tidemann et al. | May 2021 | A1 |
20210136147 | Giassa et al. | May 2021 | A1 |
20210218587 | Mishra et al. | Jul 2021 | A1 |
20210227041 | Sawant et al. | Jul 2021 | A1 |
20210227042 | Sawant et al. | Jul 2021 | A1 |
20210240734 | Shah et al. | Aug 2021 | A1 |
20210266295 | Stroz | Aug 2021 | A1 |
20210271565 | Bhavanarushi et al. | Sep 2021 | A1 |
20210306240 | Boutros et al. | Sep 2021 | A1 |
20210311758 | Cao et al. | Oct 2021 | A1 |
20210311772 | Mishra et al. | Oct 2021 | A1 |
20210314248 | Rolando et al. | Oct 2021 | A1 |
20210314252 | Rolando et al. | Oct 2021 | A1 |
20210314253 | Rolando et al. | Oct 2021 | A1 |
20210314268 | Rolando et al. | Oct 2021 | A1 |
20210314277 | Rolando et al. | Oct 2021 | A1 |
20210314310 | Cao et al. | Oct 2021 | A1 |
20210314415 | Rolando et al. | Oct 2021 | A1 |
20210314423 | Rolando et al. | Oct 2021 | A1 |
20210328913 | Nainar et al. | Oct 2021 | A1 |
20210349767 | Asayag et al. | Nov 2021 | A1 |
20210359945 | Jain et al. | Nov 2021 | A1 |
20210377160 | Faseela | Dec 2021 | A1 |
20220019698 | Durham et al. | Jan 2022 | A1 |
20220030058 | Tidemann et al. | Jan 2022 | A1 |
20220038310 | Boutros et al. | Feb 2022 | A1 |
20220060467 | Montgomery et al. | Feb 2022 | A1 |
20220078037 | Mishra et al. | Mar 2022 | A1 |
20220188140 | Jain et al. | Jun 2022 | A1 |
20220191304 | Jain et al. | Jun 2022 | A1 |
20220417150 | Jain et al. | Dec 2022 | A1 |
20230052818 | Jain et al. | Feb 2023 | A1 |
20230168917 | Kavathia et al. | Jun 2023 | A1 |
20230283689 | Sawant et al. | Sep 2023 | A1 |
Number | Date | Country |
---|---|---|
3034809 | Mar 2018 | CA |
1689369 | Oct 2005 | CN |
101594358 | Dec 2009 | CN |
101729412 | Jun 2010 | CN |
103516807 | Jan 2014 | CN |
103795805 | May 2014 | CN |
104471899 | Mar 2015 | CN |
104521195 | Apr 2015 | CN |
106134137 | Nov 2016 | CN |
107005584 | Aug 2017 | CN |
107078950 | Aug 2017 | CN |
107113208 | Aug 2017 | CN |
107204941 | Sep 2017 | CN |
107210959 | Sep 2017 | CN |
109213573 | Jan 2019 | CN |
110521169 | Nov 2019 | CN |
107105061 | Sep 2020 | CN |
112181632 | Jan 2021 | CN |
2426956 | Mar 2012 | EP |
2466985 | Jun 2012 | EP |
3210345 | Aug 2017 | EP |
3300319 | Mar 2018 | EP |
3815312 | May 2021 | EP |
2005311863 | Nov 2005 | JP |
2015519822 | Jul 2015 | JP |
9918534 | Apr 1999 | WO |
2008095010 | Aug 2008 | WO |
2014069978 | May 2014 | WO |
2014182529 | Nov 2014 | WO |
2016053373 | Apr 2016 | WO |
2016054272 | Apr 2016 | WO |
2019084066 | May 2019 | WO |
2019147316 | Aug 2019 | WO |
2019157955 | Aug 2019 | WO |
2019168532 | Sep 2019 | WO |
2019226327 | Nov 2019 | WO |
2020046686 | Mar 2020 | WO |
2020171937 | Aug 2020 | WO |
2021041440 | Mar 2021 | WO |
2021086462 | May 2021 | WO |
2021206789 | Oct 2021 | WO |
2022132308 | Jun 2022 | WO |
Entry |
---|
Author Unknown, “Datagram,” Jun. 22, 2012, 2 pages, retrieved from https://web.archive.org/web/20120622031055/https://en.wikipedia.org/wiki/datagram. |
Author Unknown, “MPLS,” Mar. 3, 2008, 47 pages. |
Author Unknown, “Research on Multi-tenancy Network Technology for Datacenter Network,” May 2015, 64 pages, Beijing Jiaotong University. |
Author Unknown, “AppLogic Features,” Jul. 2007, 2 pages, 3TERA, Inc. |
Author Unknown, “Enabling Service Chaining on Cisco Nexus 1000V Series,” Month Unknown, 2012, 25 pages, Cisco. |
Casado, Martin, et al., “Virtualizing the Network Forwarding Plane,” Dec. 2010, 6 pages. |
Cianfrani, Antonio, et al., “Translating Traffic Engineering Outcome into Segment Routing Paths: the Encoding Problem,” 2016 IEEE Conference on Computer Communications Workshops (Infocom Wkshps): GI 2016: 9th IEEE Global Internet Symposium, Apr. 10-14, 2016, 6 pages, IEEE, San Francisco, CA, USA. |
Dixon, Colin, et al., “An End to the Middle,” Proceedings of the 12th Conference on Hot Topics in Operating Systems, May 2009, 5 pages, USENIX Association, Berkeley, CA, USA. |
Dumitriu, Dan Mihai, et al., (U.S. Appl. No. 61/514,990), filed Aug. 4, 2011, 31 pages. |
Greenberg, Albert, et al., “VL2: A Scalable and Flexible Data Center Network,” SIGCOMM '09, Aug. 17-21, 2009, 12 pages, ACM, Barcelona, Spain. |
Guichard, J., et al., “Network Service Chaining Problem Statement,” Network Working Group, Jun. 13, 2013, 14 pages, Cisco Systems, Inc. |
Halpern, J., et al., “Service Function Chaining (SFC) Architecture,” draft-ietf-sfc-architecture-02, Sep. 20, 2014, 26 pages, IETF. |
Halpern, J., et al., “Service Function Chaining (SFC) Architecture,” RFC 7665, Oct. 2015, 32 pages, IETF Trust. |
Joseph, Dilip Anthony, et al., “A Policy-aware Switching Layer for Data Centers,” Jun. 24, 2008, 26 pages, Electrical Engineering and Computer Sciences, University of California, Berkeley, CA, USA. |
Karakus, Murat, et al., “Quality of Service (QoS) in Software Defined Networking (SDN): A Survey,” Journal of Network and Computer Applications, Dec. 9, 2016, 19 pages, vol. 80, Elsevier, Ltd. |
Kumar, S., et al., “Service Function Chaining Use Cases in Data Centers,” draft-ietf-sfc-dc-use-cases-01, Jul. 21, 2014, 23 pages, IETF. |
Li, Qing-Gu, “Network Virtualization of Data Center Security,” Information Security and Technology, Oct. 2012, 3 pages. |
Lin, Po-Ching, et al., “Balanced Service Chaining in Software-Defined Networks with Network Function Virtualization,” Computer: Research Feature, Nov. 2016, 9 pages, vol. 49, No. 11, IEEE. |
Liu, W., et al., “Service Function Chaining (SFC) Use Cases,” draft-liu-sfc-use-cases-02, Feb. 13, 2014, 17 pages, IETF. |
Non-Published Commonly Owned U.S. Appl. No. 17/976,783, filed Oct. 29, 2022, 86 pages, Nicira, Inc. |
PCT International Search Report and Written Opinion of Commonly Owned International Patent Application PCT/US2019/047586, mailed Jan. 10, 2020, 16 pages, International Searching Authority (EPO). |
Salsano, Stefano, et al., “Generalized Virtual Networking: An Enabler for Service Centric Networking and Network Function Virtualization,” 2014 16th International Telecommunications Network Strategy and Planning Symposium, Sep. 17-19, 2014, 7 pages, IEEE, Funchal, Portugal. |
Sekar, Vyas, et al., “Design and Implementation of a Consolidated Middlebox Architecture,” 9th USENIX Symposium on Networked Systems Design and Implementation, Apr. 25-27, 2012, 14 pages, USENIX, San Jose, CA, USA. |
Sherry, Justine, et al., “Making Middleboxes Someone Else's Problem: Network Processing as a Cloud Service,” In Proc. of SIGCOMM '12, Aug. 13-17, 2012, 12 pages, Helsinki, Finland. |
Siasi, N., et al., “Container-Based Service Function Chain Mapping,” 2019 SoutheastCon, Apr. 11-14, 2019, 6 pages, IEEE, Huntsville, AL, USA. |
Xiong, Gang, et al., “A Mechanism for Configurable Network Service Chaining and Its Implementation,” KSII Transactions on Internet and Information Systems, Aug. 2016, 27 pages, vol. 10, No. 8, KSII. |
Author Unknown, “Reference Design: VMware NSX for vSphere (NSX), Network Virtualization Design Guide,”, Aug. 21, 2014, 167 pages, VMware, Inc., Palo Alto, CA, retrieved from https:// communities.vmware.com/docs/DOC-27683. |
Author Unknown, “Service Chaining in OpenStack with NSX,” Dec. 28, 2016, 2 pages, retrieved from https://www.youtube.com/watch?v=xY1uz6PjWlo. |
Non-Published Commonly Owned U.S. Appl. No. 18/211,580, filed Jun. 19, 2023, 88 pages, Nicira, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 18/227,303, filed Jul. 28, 2023, 65 pages, Nicira, Inc. |
Number | Date | Country | |
---|---|---|---|
20230179474 A1 | Jun 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16120283 | Sep 2018 | US |
Child | 18102684 | US |