Today, single clusters of forwarding hub nodes in software-defined wide area networks (SD-WANs) are tied to fixed scale-out ratios. For example, an N node cluster would have a scale out factor of 1:N as a fixed ratio. If the first assigned cluster node is overloaded, the next node (i.e., second node) in the cluster takes over, and so on until the span reaches all available N nodes. The clustering services today are oblivious to application requirements and bind a rigid scheme for providing clustering services to multiple peering edge nodes (e.g., in a hub and spoke topology). In this manner, a high priority real time application traffic flow is treated the same way as that of a low priority (e.g., bulk) traffic flow with respect to the scale out ratio within the cluster. This can subsequently lead to sub-optimal performance for provisioning and load balancing traffic within the cluster, and, in some cases, under-utilization of cluster resources.
Some embodiments provide a software-defined wide area network (SD-WAN) that includes a first branch location (first branch) and a datacenter location (datacenter). The datacenter includes multiple forwarding hub nodes, while the branch site includes at least one edge forwarding node. The edge node of the branch site receives a packet of a particular flow, the packet having a flow attribute. The edge node uses the flow attribute of the packet to identify a hub-selection rule from multiple hub-selection rules, each of which identifies a set of one or more forwarding hub nodes of the datacenter for receiving one or more flows from the branch site. At least one hub-selection rule identifies at least one forwarding hub node that is unique to the hub-selection rule (i.e., not identified by another hub-selection rule). The edge node uses the identified hub-selection rule to identify a forwarding hub node for the particular flow, and sends the packet from the branch site to the identified forwarding hub node of the datacenter.
In some embodiments, the forwarding hub nodes serve as gateways of the SD-WAN that provide access from the first branch site to other branch sites or third-party datacenters. The third party datacenters, in some embodiments, include software as a service (SaaS) datacenters (e.g., datacenters for video conferencing SaaS providers, for middlebox (e.g., firewall) service providers, for storage service providers, etc.). In some embodiments, the branch sites and third party datacenters are topologically arranged around the datacenter in a hub and spoke topology such that traffic between two sites passes through the forwarding hub nodes at the datacenter (i.e., regardless of the geographic location of the sites).
Conjunctively, or alternatively, the forwarding hub nodes in some embodiments provide branch sites with access to compute, storage, and service resources of the datacenter. Examples of such resources include compute machines (e.g., virtual machines and/or containers providing server operations), storage machines (e.g., database servers), and middlebox service operations (e.g., firewall services, load balancing services, encryption services, etc.). In some embodiments, the connections between the first branch site and the datacenter hub nodes are secure encrypted connections that encrypt packets exchanged between the edge node of the first branch site and the datacenter hub nodes. Examples of secure encrypted connections used in some embodiments include VPN (virtual private network) connections, or secure IPsec (Internet Protocol security) connections.
In some embodiments, the branch edge node identifies a hub-selection rule for a received packet by matching flow attributes of the packet with match criteria of a hub-selection rule, which associates the match criteria with one or more identifiers of one or more forwarding hub nodes of the datacenter. The match criteria of the hub-selection rules are defined in terms of flow attributes, according to some embodiments. The flow attributes that are used for the match operation in some embodiments include the received packet's flow identifier (e.g., the received packets five tuple identifier, i.e., source and destination Internet Protocol (IP) addresses/port numbers and protocol).
Conjunctively, or alternatively, the flow identifier used for the match operation in some embodiments includes flow attributes other than layers 2-4 (L2-L4) header values, such as layer 7 (L7) attributes. Examples of L7 attributes include AppID (e.g., traffic type identifier), user identifier, group identifier (e.g., an activity directory (AD) identifier), threat level, and application name/version. To obtain the L7 attributes, some embodiments perform deep packet inspection (DPI) on the packet.
By using L7 attributes to define the match criteria of hub-selection rules, some embodiments allow flows to be forwarded to different forwarding hub nodes based on different contextual attributes associated with the flows (i.e., allocating different forwarding hub nodes for different categories of flows). For instance, in some embodiments, the hub-selection rules associate different sets of flows that contain different types of traffic (as identified by different AppIDs) with different sets of forwarding hub nodes. Allocating the forwarding hub nodes based on L7 attributes, in some embodiments, allows for certain categories of traffic to be prioritized over other categories of traffic. For example, a first category of flows that contains a first type of traffic determined to be a high priority type of traffic (e.g., VoIP) may be allocated more forwarding hub nodes than a second category of flows that contains a second type of traffic determined to be a low priority type of traffic.
As mentioned above, the match criteria of one or more hub-selection rules can be defined in terms of other L7 contextual attributes, such as user identifier, group identifier, threat level, and application name/version. For example, in some embodiments, the hub-selection rules associate sets of flows having user identifiers that correspond to executive staff or financial staff with a first set of forwarding hub nodes, while associating sets of flows having user identifiers other than those that correspond to executive staff or financial state with a second set of forwarding hub nodes.
The hub-selection rules, in some embodiments, each identify a different group of forwarding hub nodes available for selection (e.g., available for processing flows in the same category as the matching packet). Accordingly, in some embodiments, when a matching hub-selection rule is found, the edge node selects a forwarding hub node from the group of forwarding hub nodes identified by the hub-selection rule. In some embodiments, the edge node relies on load balancing criteria (e.g., weight values) along with load balancing policies (e.g., round robin, etc.) to select a forwarding hub node from the group.
In some embodiments, a controller for the SD-WAN provides the hub-selection rules to the branch edge node. The controller receives network traffic statistics from the forwarding hub nodes, aggregates the received statistics by flow category, and analyzes the statistics to identify flow categories that need additional, or fewer, forwarding hub nodes in their respective forwarding hub node groups. In some embodiments, the controller determines that additional or fewer forwarding hub nodes are needed for processing a particular category of flows when a volume of traffic associated with the particular category of flows is found to exceed a maximum threshold value for traffic or fall below a minimum threshold value for traffic. When the controller determines that additional forwarding hub nodes are needed for a particular flow category, the controller directs a manager (e.g., a server) of the datacenter to generate the additional forwarding hub nodes, according to some embodiments. Conversely, when the controller determines in some embodiments that fewer forwarding hub nodes are needed for a particular flow category, the controller may reallocate the excess forwarding hub nodes to other flow categories.
When the controller directs the manager of the datacenter to generate additional forwarding hub nodes, in some embodiments, the controller sends an updated list of forwarding hub node groups to the branch edge node. In some embodiments, the updated list is provided via updated hub-selection rules (e.g., with updates to the forwarding hub node groups specified for each hub-selection rule). The forwarding hub node groups specified for each hub-selection rule, in some embodiments, are identified by group identifiers. Thus, the controller in some embodiments simply provides updated group identifiers to the edge nodes. Conversely, or alternatively, the controller in some embodiments provides the updated group identifiers as updated hub-selection rules that reference the updated group identifiers.
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, the Detailed Description, the Drawings, and the Claims is needed. Moreover, the claimed subject matters are not to be limited by the illustrative details in the Summary, the Detailed Description, and 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.
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 software-defined wide area network (SD-WAN) that includes one or more branch sites (branch locations) and a datacenter (datacenter location). The datacenter includes multiple forwarding hub nodes (referred to as “hubs” below), while each of the branch sites includes at least one edge node. In some embodiments, edge nodes are deployed at each of the branch sites in high-availability pairs such that each branch site includes an active edge node and a standby edge node in case of failure. The edge nodes of the branch sites receive packets of flows, the packets having flow attributes. The edge nodes use the flow attributes of the packets to identify hub-selection rules from multiple hub-selection rules, each of which identifies a set of one or more hubs of the datacenter for receiving one or more flows from the branch sites and includes match criteria defined in terms of flow attributes. In some embodiments, at least one hub-selection rule identifies at least one hub that is unique to the hub-selection rule (i.e., not identified by another hub-selection rule). The edge nodes use the identified hub-selection rules to identify hubs for the flows, and send the packets from the branch sites to the identified hubs of the datacenter (i.e., according to the identified hub-selection rules).
The edge nodes in some embodiments are edge machines (e.g., virtual machines (VMs), containers, programs executing on computers, etc.) and/or standalone appliances that operate at multi-computer locations of the particular entity (e.g., at an office or datacenter of the entity) to connect the computers at their respective locations to the hubs and other edge nodes (if so configured). In some embodiments, the edge nodes are clusters of edge nodes at each of the branch sites. In other embodiments, the edge nodes are deployed to each of the branch sites as high-availability pairs such that one edge node in the pair is the active edge node and the other edge node in the pair is the standby edge node that can take over as the active edge node in case of failover. Also, in this example, the sets of hubs 112-116 are deployed as machines (e.g., VMs or containers) in the same public datacenter 105. In other embodiments, the hubs may be deployed in different public datacenters.
An example of an entity for which such a virtual network can be established includes a business entity (e.g., a corporation), a non-profit entity (e.g., a hospital, a research organization, etc.), and an education entity (e.g., a university, a college, etc.), or any other type of entity. Examples of public cloud providers include Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, etc., while examples of entities include a company (e.g., corporation, partnership, etc.), an organization (e.g., a school, a non-profit, a government entity, etc.), etc. In other embodiments, the hubs can also be deployed in private cloud datacenters of a virtual WAN provider that hosts hubs to establish SD-WANs for different entities.
In the example of
Additionally, the example of
The edge nodes 120-126 are forwarding elements that exchange packets with one or more hubs and/or other edge nodes through one or more secure connection links, according to some embodiments. In this example, all secure connection links of the edge nodes are with the sets of hubs 112-116.
The sets of hubs 112-116 in some embodiments provide the branch sites 130-136 with access to compute, storage, and service resources of the datacenter, such as the resources 160. Examples of such resources include compute machines (e.g., virtual machines and/or containers providing server operations), storage machines (e.g., database servers), and middlebox service operations (e.g., firewall services, load balancing services, encryption services, etc.). In some embodiments, the connections between the branch sites and the datacenter hubs are secure encrypted connections that encrypt packets exchanged between the edge nodes of the branch sites and the datacenter hubs. Examples of secure encrypted connections used in some embodiments include VPN (virtual private network) connections, or secure IPsec (Internet Protocol security) connections.
In some embodiments, multiple secure connection links (e.g., multiple secure tunnels) can be established between an edge node and a hub. When multiple such links are defined between an edge node and a hub, each secure connection link, in some embodiments, is associated with a different physical network link between the edge node and an external network. For instance, to access external networks in some embodiments, an edge node has one or more commercial broadband Internet links (e.g., a cable mode and a fiber optic link) to access the Internet, a wireless cellular link (e.g., a 5G LTE network), etc.
In some embodiments, each secure connection link between a hub and an edge node is formed as a VPN tunnel between the hub and the edge node. As illustrated in
As the sets of hubs 112-116 are multi-tenant hubs, they are used to define other virtual networks for other entities (e.g., other companies, organizations, etc.), according to some embodiments. Some such embodiments store tenant identifiers in tunnel headers that encapsulate packets that are to traverse the tunnels that are defined between a hub and branch sites, or other datacenters, to differentiate packet flows that it receives from edge nodes of one entity from packet flows that it receives along other tunnels of other entities. In other embodiments, the hubs are single tenant and are specifically deployed to be used by just one entity.
As mentioned above, the edge nodes of some embodiments forward packets to the hubs based on hub-selection rules that each identify a set of one or more hubs (e.g., the sets of hubs 112-116) of the datacenter for receiving one or more flows from the branch sites. In some embodiments, the edge nodes use flow attributes of received packets to identify hub-selection rules. The edge nodes identify hub-selection rules for received packets by matching flow attributes of the received packets with the match criteria of the hub-selection, which associate the match criteria with one or more identifiers of one or more forwarding hub nodes of the datacenter, according to some embodiments. For example,
The match criteria of the hub-selection rules in some embodiments are defined in terms of flow attributes. The flow attributes that are used for the match operation in some embodiments include the received packet's flow identifier (e.g., the received packets five tuple identifier, i.e., source and destination Internet Protocol (IP) addresses/port numbers and protocol). Conjunctively, or alternatively, the flow identifier used for the match operation in some embodiments includes flow attributes other than layers 2-4 (L2-L4) header values, such as layer 7 (L7) attributes. Examples of L7 attributes include AppID (e.g., traffic type identifier), user identifier, group identifier (e.g., an activity directory (AD) identifier), threat level, and application name/version. To obtain the L7 attributes, some embodiments perform deep packet inspection (DPI) on the packet. Alternatively, some embodiments may utilize a context engine to collect L7 attributes, as will be further described below.
By using L7 attributes to define the match criteria of hub-selection rules, some embodiments allow flows to be forwarded to different hubs based on different contextual attributes associated with the flows (i.e., allocating different hubs for different categories of flows). For instance, in some embodiments, the hub-selection rules associate different sets of flows that contain different types of traffic (i.e., as identified by different AppIDs) with different sets of hubs. Allocating the hubs based on L7 attributes, in some embodiments, allows for certain categories of traffic to be prioritized over other categories of traffic. For example, a first category of flows that contains a first type of traffic determined to be a high priority type of traffic (e.g., VoIP) may be allocated more hubs than a second category of flows that contains a second type of traffic determined to be a low priority type of traffic. Some embodiments also add attributes to traffic flows to signify that the traffic is of a higher priority for influencing hub-selection rules. For example, some embodiments include the location (e.g., latitude/longitude, geographic location) of the edge node as an additional attribute for influencing hub-selection rules.
As mentioned above, the match criteria of one or more hub-selection rules can be defined in terms of other L7 contextual attributes, such as user identifier, group identifier, threat level, and application name/version. For example, in some embodiments, the hub-selection rules associate sets of flows having user identifiers that correspond to executive staff or financial staff with a first set of forwarding hub nodes, while associating sets of flows having user identifiers other than those that correspond to executive staff or financial state with a second set of hubs. Doing so, in some embodiments, results in decreased congestion, and allows for easier prioritization of network traffic by allocating hubs based on attributes of flows such that certain flow categories requiring a greater number of hubs or resources can be provided with such.
In some embodiments, different hub-selection rules identify different groups of hubs that are available for selection for flows that match the rules. Accordingly, in some embodiments, when a matching hub-selection rule is identified for a received packet's flow, the edge node selects a hub from the group of hubs identified by the matched hub-selection rule. In some embodiments, the edge node performs a load balancing operation that based on a set of load balancing criteria (e.g., weight values) distributes the flows that match a hub-selection rule amongst the hubs specified by the rule.
For instance, the load balancing operation in some embodiments uses the weight values to distribute the flows that match a hub-selection rule amongst this rule's specified hubs in a round robin fashion (e.g., for three weight values of 2, 3, 3 for three hub, the load balancing operation would distribute the first two matching flows to the first hub, the next three matching flows to the second hub, the next three matching flows to the third hub, and then repeats by going back to the first hub for the next two flows).
The load-balancing weight values in some embodiments are adjusted dynamically based on packet processing statistics collected from the edge nodes and/or hubs in some embodiments. These statistics are collected and distributed in some embodiments by the controller cluster (not shown) of the SD-WAN. The controller cluster in some embodiments also distributes the hub-selection. The controller cluster and its operation will be described in further detail below.
The controller cluster 260 severs as a central point for managing (e.g., defining and modifying) configuration data that is provided to the edge nodes and/or hubs to configure some or all of the operations. In some embodiments, the controller cluster has a set of manager servers that define and modify the configuration data, and a set of controller servers that distribute the configuration data to the edge nodes and/or hubs. In other embodiments, the controller cluster only has one set of servers that define, modify, and distribute the configuration data. The controller cluster, in some embodiments, directs edge nodes to use certain hubs for different categories of flows, as will be described in further detail below.
Although
As mentioned above, in some embodiments, the controller cluster 260 (controller) for the SD-WAN provides hub-selection rules to the edge nodes 220-226 at the branch sites 230-236 for selecting hubs and/or hub groups to which to send packets of flows. The hubs of the hub groups, in some embodiments, are configured to provide network traffic statistics to the controller cluster collected from flows received by the hubs. In some embodiments, the configuration for the hubs specifies to provide the statistics periodically.
The controller cluster 260 receives network traffic statistics from the hubs of the hub groups 212-216, aggregates the received statistics by flow category (e.g., by AppID, user identifier, etc.), and analyzes the statistics to identify flow categories that require additional, or fewer, hubs in their respective hub groups. For example, in some embodiments, the controller cluster 260 determines that additional hubs are needed for processing a particular category of flows when a volume of traffic associated with the particular category of flows is found to exceed a maximum threshold value for traffic, or fall below a minimum threshold value for traffic. The maximum and minimum threshold values, in some embodiments, are defined by a user (e.g., network administrator).
When the controller cluster 260 determines that additional hubs are needed for a particular flow category, the controller directs a manager (not shown) of the datacenter to generate the additional hubs, according to some embodiments. Conversely, when the controller determines in some embodiments that fewer hubs are needed for a particular flow category, the controller may remove the excess hubs from the hub group designated for the particular flow category. In some embodiments, the controller may reallocate the excess hubs for other flow categories.
When the controller directs the manager of the datacenter to generate additional hubs, in some embodiments, the controller cluster 260 sends an updated list of hub groups to the edge nodes 220-226. In some embodiments, the updated list is provided via updated hub-selection rules (e.g., with updates to the hub groups specified for each hub-selection rule). The hub groups specified for each hub-selection rule, in some embodiments, are identified using group identifiers. Thus, the controller cluster in some embodiments simply provides updated group identifiers to the edge nodes. Conversely, or alternatively, the controller cluster in some embodiments provides the updated group identifiers as updated hub-selection rules that reference the updated group identifiers. The addition and removal of hubs will be further discussed below by reference to
The packet processor 302 is the forwarding engine of the edge forwarding node of some embodiments. For a received packet of a flow, the packet processor 302 in some embodiments first determines whether the connection tracker 350 includes any records relating to the flow. The connection tracker stores records 360 for flows that have been previously processed by the edge node. In the example illustrated in
When the packet processor 302 determines that the connection tracker has a record that matches the received packet's flow (e.g., determines that the packet's five-tuple identifier matches the five-tuple identifier of a record in the connection tracker), the packet processor selects a hub for the packet by selecting a hub specified in the matching connection-tracking record. On the other hand, when the packet processor 302 determines that the connection tracker does not store any record relating to the received packet's flow, the packet processor 302 in some embodiments uses the flow classifier 320 to identify a hub-selection rule that specifies one or more hubs to use for the received packet's flow.
The flow classifier 320, in some embodiments, matches attributes of flows with match criteria of hub-selection rules 340 stored in the storage 330. As illustrated, the hub-selection rules 340 include a match criteria and a corresponding list of available hubs. Match attributes in some embodiments are defined in terms of (1) five-tuple header values (i.e., source IP address, source port address, destination IP address, destination port address, and protocol) of the packet flows, and/or (2) contextual attributes associated with the packet flows. In this example, the match criteria are defined in terms of both five-tuple identifiers and traffic types. In some embodiments, some or all of the five-tuple header values can be specified as wildcard values.
Also, in this example, each rule specifies its list of hubs by specifying a hub group identifier (GID), with each hub group's GID being an index into another data store that specifies the identifiers (e.g., IP addresses) of the hubs in that group. For example, rule 1 of the hub-selection rules 340 (1) matches flows that header values that match 5-tuple ID1 and carrying audio streaming content, and (2) specifies the corresponding hub group GID 5. Thus, flows with matching five-tuple identifiers and having an AppID identifying audio-streaming as the traffic type of the flow are to be forwarded to the hubs of hub group 5. Conjunctively, or alternatively, some embodiments list available hubs in each hub group by listing their individual network addresses (i.e., IP addresses) in the hub-selection rule, instead of providing the group D. Similarly, the match criteria of some embodiments may use a different contextual attribute for match criteria other than traffic type, or a combination of two or more contextual attributes.
In some embodiments, to select a hub from the available hubs indicated by the matched hub-selection rule, the packet processor 302 uses the load balancing hub selector 310. The load balancing hub selector 310, in some embodiments, performs load balancing operations to identify and select hubs to which to forward packets. In some embodiments, the load balancing hub selector 310 uses the load balancing criteria stored in storage 315 to perform its load balancing and hub-selection operations.
The edge node performs its load balancing operations in order to distribute the flows that match a hub-selection rule amongst the hubs specified by the rule. For instance, the load balancing operation in some embodiments uses the weight values to distribute the flows that match a hub-selection rule amongst this rule's specified hubs in a round robin fashion (e.g., for three weight values of 2, 3, 3 for three hub, the load balancing operation would distribute the first two matching flows to the first hub, the next three matching flows to the second hub, the next three matching flows to the third hub, and then repeats by going back to the first hub for the next two flows). The weight values in some embodiments are periodically adjusted based on statistics regarding the packets processed by the hubs.
After receiving the packet at 410, the process 400 determines, at 420, whether a record associated with the particular flow is stored in a connection tracker. As described above for
Otherwise, when no records associated with the particular flow are stored in the connection tracker, the process transitions to 440 to identify contextual attributes of the packet flow. In some embodiments, the contextual attributes include AppID (e.g., traffic type identifier), user identifier, group identifier (e.g., an activity directory (AD) identifier), threat level, and application name/version. To identify the contextual attributes of received packets, some embodiments perform deep packet inspection (DPI) on the received packets. Alternatively, some embodiments utilize context engine that collects contextual attributes on the edge node through one or more guest introspection (GI) agents executing on the edge node. In some such embodiments, the context engine provides the collected contextual attributes to, e.g., a flow classifier such as flow classifier 320 of
After identifying the contextual attributes of the received packet, the process 400 matches, at 450, the identified contextual attributes of the flow with match criteria of a hub-selection rule. As described above, the match criteria in some embodiments is defined in terms of flow attributes (e.g., contextual attributes). For instance, in the example of the edge node 300, the flow classifier 320 accesses the hub-selection rules from the storage 330 to match the identified contextual attributes with the match criteria listed for the hub-selection rules 340. In some embodiments, the hub-selection rules are received from a controller of the SD-WAN (e.g., the controller cluster 260) and each associate the match criteria with one or more identifiers of one or more hubs, or hub groups, of the datacenter as described above. The match criteria of the hub-selection rules, in some embodiments, are defined in terms of flow attributes.
Next, at 460, the process selects a hub from a hub group identified as available by the matching hub-selection rule. Some embodiments utilize group identifiers associated with the hub groups to identify available hub groups for each of the hub-selection rules, such as in the example embodiment of
In some embodiments, such as
In some embodiments, for packets belonging to flows having corresponding records stored by the connection tracker, the same hub may be selected for the current packet of the flow. However, as will be described in further detail below, the available hubs in each hub group are dynamically assigned, and thus may change between the processing of different packets of a flow. Accordingly, in some embodiments, a hub selected for one packet of a flow may no longer be available for selection for a subsequent packet of the flow. In some such embodiments, the load balancing hub selector may select a next available hub from the available hubs identified by the matched hub selection rule for the flow.
After selecting a hub, the process proceeds to 470 to create a record in the connection-tracking storage 360 to identify the hub selected for the flow. For example, in some embodiments, the created connection-tracking record includes the flow's identifier, the matched hub-selection rule, and the hub(s) selected for the flow. Each time the process 400 matches a packet with a connection-tracking record, the process in some embodiments updates the connection tracker with other information regarding the particular flow. For example, in some embodiments, the process updates the existing record to reflect the hub selected for the received packet (i.e., if the selected hub is a hub other than those already reflected in the record).
After creating the connection-tracking record, the process forwards (at 480) the packet to the selected hub. As described above, the edge nodes in some embodiments forward packets to selected hubs using direct tunnels established between the edge nodes and the hubs and/or hub groups. In some embodiments, multiple secure connection links (e.g., multiple secure tunnels) can be established between an edge node and a hub. When multiple such links are defined between an edge node and a hub, each secure connection link, in some embodiments, is associated with a different physical network link between the edge node and an external network. For instance, to access external networks in some embodiments, an edge node has one or more commercial broadband Internet links (e.g., a cable mode and a fiber optic link) to access the Internet, a wireless cellular link (e.g., a 5G LTE network), etc. In some embodiments, each secure connection link between a hub and an edge node is formed as a VPN tunnel between the hub and the edge node. The process 400 then ends.
At 510, the process aggregates the received network traffic statistics by flow category. In some embodiments, the flows are categorized by traffic type (e.g., as identified by the AppID of packets). In some such embodiments, each traffic type has a designated priority level (e.g., high priority, low priority, etc.) that corresponds to the number of hubs that may be allocated for receiving flows of the traffic type. For example, in some embodiments, a first type of traffic designated as high priority may be allocated 70% of the hubs of the datacenter while a second type of traffic designated as low priority may be allocated the other 30% of the hubs of the datacenter. The number of hubs allocated for a particular traffic type is defined by a user (e.g., network administrator), according to some embodiments.
Once the received network traffic statistics have been aggregated, the process 500 selects, at 515, a flow category for analysis. Examples of flow categories can include categories based on AppID (e.g., traffic type), user identifiers (e.g., administrators, low-level employees, etc.), threat level (e.g., high, low, neutral, etc.), etc. In some embodiments, the flow categories are each assigned a priority level as described above. For example, some embodiments in which flows are categorized by traffic type may assign a high priority level to, e.g., VoIP traffic, while assigning a lower priority level to, e.g., peer-to-peer e-mail traffic.
Next, the process 500 determines, at 520, whether the amount of traffic associated with the selected flow category has exceeded a maximum threshold value specified for the flow category for a minimum duration of time (e.g., hours, days, weeks, etc.). The maximum threshold value and the minimum duration of time, in some embodiments, are each specified by a user (e.g., network administrator). In some embodiments, the maximum threshold value and the minimum duration of time specified may vary between each of the flow categories, while in other embodiments, they are consistent for each flow category.
When the process determines that the amount of traffic has not exceeded the maximum threshold value for the minimum specified duration of time, the process transitions to 525 to determine whether the amount of traffic has fallen below a minimum threshold for a minimum duration of time. In some embodiments, the minimum duration of time specified for the maximum threshold value and the minimum duration of time specified for the minimum threshold value are equal, while in other embodiments the specified minimum durations of time are different.
When the process determines, at 525, that the amount of traffic associated with the flow has fallen below the minimum threshold value for the minimum duration of time, the process transitions to 530 to remove the excess hubs from the group of hubs designated for the selected flow category. In some embodiments, removing the excess hubs includes reallocating the excess hubs for other flow categories (e.g., other flow categories that may require additional hubs). Otherwise, the process transitions to 540 to determine if there are additional flow categories to analyze.
Alternatively, when the process determines at 520 that the amount of traffic associated with the selected flow category has exceeded the maximum threshold value for the minimum duration of time, the process transitions to 535 to direct a manager of the datacenter (e.g., VeloCloud Orchestrator) to generate additional hubs to be added to the hub group allocated for servicing the selected flow category. In some embodiments, when a particular category of flows is found to have excess hubs as described above, those excess hubs may be allocated to a flow category determined to require additional hubs in conjunction with the newly generated hubs, or as an alternative to generating the new hubs.
Next, at 540, the process determines whether there are additional flow categories to analyze. When the process determines that there are additional flow categories, to analyze, the process transitions back to 515 to select a flow category for analysis. Otherwise, the process transitions to 545 to send updated hub-selection rules to the edge nodes of the branch sites, the updated hub-selection rules identifying any changes (e.g., additions, removals) to the hub groups. The process 500 then ends.
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 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, RAM chips, hard drives, EPROMs, 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.
The bus 605 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 600. For instance, the bus 605 communicatively connects the processing unit(s) 610 with the read-only memory 630, the system memory 625, and the permanent storage device 635.
From these various memory units, the processing unit(s) 610 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) 630 stores static data and instructions that are needed by the processing unit(s) 610 and other modules of the computer system. The permanent storage device 635, 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 computer system 600 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 635.
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 635, the system memory 625 is a read-and-write memory device. However, unlike storage device 635, the system memory is a volatile read-and-write memory, such as 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 625, the permanent storage device 635, and/or the read-only memory 630. From these various memory units, the processing unit(s) 610 retrieve instructions to execute and data to process in order to execute the processes of some embodiments.
The bus 605 also connects to the input and output devices 640 and 645. The input devices enable the user to communicate information and select commands to the computer system. The input devices 640 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The output devices 645 display images generated by the computer 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 touchscreens 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” mean 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 or transitory signals.
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. For instance, several of the above-described embodiments deploy hubs in public cloud datacenters. However, in other embodiments, the hubs are deployed in a third party's private cloud datacenters (e.g., datacenters that the third party uses to deploy cloud hubs for different entities in order to deploy virtual networks for these entities). 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.
Number | Date | Country | Kind |
---|---|---|---|
202041028276 | Jul 2020 | IN | national |
Number | Name | Date | Kind |
---|---|---|---|
5652751 | Sharony | Jul 1997 | A |
5909553 | Campbell et al. | Jun 1999 | A |
6154465 | Pickett | Nov 2000 | A |
6157648 | Voit et al. | Dec 2000 | A |
6201810 | Masuda et al. | Mar 2001 | B1 |
6363378 | Conklin et al. | Mar 2002 | B1 |
6445682 | Weitz | Sep 2002 | B1 |
6744775 | Beshai et al. | Jun 2004 | B1 |
6976087 | Westfall et al. | Dec 2005 | B1 |
7003481 | Banka et al. | Feb 2006 | B2 |
7280476 | Anderson | Oct 2007 | B2 |
7313629 | Nucci et al. | Dec 2007 | B1 |
7320017 | Kurapati et al. | Jan 2008 | B1 |
7373660 | Guichard et al. | May 2008 | B1 |
7581022 | Griffin et al. | Aug 2009 | B1 |
7680925 | Sathyanarayana et al. | Mar 2010 | B2 |
7681236 | Tamura et al. | Mar 2010 | B2 |
7962458 | Holenstein et al. | Jun 2011 | B2 |
8094575 | Vadlakonda et al. | Jan 2012 | B1 |
8094659 | Arad | Jan 2012 | B1 |
8111692 | Ray | Feb 2012 | B2 |
8141156 | Mao et al. | Mar 2012 | B1 |
8224971 | Miller et al. | Jul 2012 | B1 |
8228928 | Parandekar et al. | Jul 2012 | B2 |
8243589 | Trost et al. | Aug 2012 | B1 |
8259566 | Chen et al. | Sep 2012 | B2 |
8274891 | Averi et al. | Sep 2012 | B2 |
8301749 | Finklestein et al. | Oct 2012 | B1 |
8385227 | Downey | Feb 2013 | B1 |
8566452 | Goodwin et al. | Oct 2013 | B1 |
8630291 | Shaffer et al. | Jan 2014 | B2 |
8661295 | Khanna et al. | Feb 2014 | B1 |
8724456 | Hong et al. | May 2014 | B1 |
8724503 | Johnsson et al. | May 2014 | B2 |
8745177 | Kazerani et al. | Jun 2014 | B1 |
8799504 | Capone et al. | Aug 2014 | B2 |
8804745 | Sinn | Aug 2014 | B1 |
8806482 | Nagargadde et al. | Aug 2014 | B1 |
8855071 | Sankaran et al. | Oct 2014 | B1 |
8856339 | Mestery et al. | Oct 2014 | B2 |
8964548 | Keralapura et al. | Feb 2015 | B1 |
8989199 | Sella et al. | Mar 2015 | B1 |
9009217 | Nagargadde et al. | Apr 2015 | B1 |
9055000 | Ghosh et al. | Jun 2015 | B1 |
9060025 | Xu | Jun 2015 | B2 |
9071607 | Twitchell, Jr. | Jun 2015 | B2 |
9075771 | Gawali et al. | Jul 2015 | B1 |
9135037 | Petrescu-Prahova et al. | Sep 2015 | B1 |
9137334 | Zhou | Sep 2015 | B2 |
9154327 | Marino et al. | Oct 2015 | B1 |
9203764 | Shirazipour et al. | Dec 2015 | B2 |
9306949 | Richard et al. | Apr 2016 | B1 |
9323561 | Ayala et al. | Apr 2016 | B2 |
9336040 | Dong et al. | May 2016 | B2 |
9354983 | Yenamandra et al. | May 2016 | B1 |
9356943 | Lopilato et al. | May 2016 | B1 |
9379981 | Zhou et al. | Jun 2016 | B1 |
9413724 | Ku | Aug 2016 | B2 |
9419878 | Hsiao et al. | Aug 2016 | B2 |
9432245 | Sorenson et al. | Aug 2016 | B1 |
9438566 | Zhang et al. | Sep 2016 | B2 |
9450817 | Bahadur et al. | Sep 2016 | B1 |
9450852 | Chen et al. | Sep 2016 | B1 |
9462010 | Stevenson | Oct 2016 | B1 |
9467478 | Khan et al. | Oct 2016 | B1 |
9485163 | Fries et al. | Nov 2016 | B1 |
9521067 | Michael et al. | Dec 2016 | B2 |
9525564 | Lee | Dec 2016 | B2 |
9559951 | Sajassi et al. | Jan 2017 | B1 |
9563423 | Pittman | Feb 2017 | B1 |
9602389 | Maveli et al. | Mar 2017 | B1 |
9608917 | Anderson et al. | Mar 2017 | B1 |
9608962 | Chang | Mar 2017 | B1 |
9621460 | Mehta et al. | Apr 2017 | B2 |
9641551 | Kariyanahalli | May 2017 | B1 |
9648547 | Hart et al. | May 2017 | B1 |
9665432 | Kruse et al. | May 2017 | B2 |
9686127 | Ramachandran et al. | Jun 2017 | B2 |
9715401 | Devine et al. | Jul 2017 | B2 |
9717021 | Hughes et al. | Jul 2017 | B2 |
9722815 | Mukundan et al. | Aug 2017 | B2 |
9747249 | Cherian et al. | Aug 2017 | B2 |
9755965 | Yadav et al. | Sep 2017 | B1 |
9787559 | Schroeder | Oct 2017 | B1 |
9807004 | Koley et al. | Oct 2017 | B2 |
9819540 | Bahadur et al. | Nov 2017 | B1 |
9819565 | Djukic et al. | Nov 2017 | B2 |
9825822 | Holland | Nov 2017 | B1 |
9825911 | Brandwine | Nov 2017 | B1 |
9825992 | Xu | Nov 2017 | B2 |
9832128 | Ashner et al. | Nov 2017 | B1 |
9832205 | Santhi et al. | Nov 2017 | B2 |
9875355 | Williams | Jan 2018 | B1 |
9906401 | Rao | Feb 2018 | B1 |
9930011 | Clemons, Jr. et al. | Mar 2018 | B1 |
9935829 | Miller et al. | Apr 2018 | B1 |
9942787 | Tillotson | Apr 2018 | B1 |
10038601 | Becker et al. | Jul 2018 | B1 |
10057183 | Salle et al. | Aug 2018 | B2 |
10057294 | Xu | Aug 2018 | B2 |
10135789 | Mayya et al. | Nov 2018 | B2 |
10142226 | Wu et al. | Nov 2018 | B1 |
10178032 | Freitas | Jan 2019 | B1 |
10187289 | Chen et al. | Jan 2019 | B1 |
10200264 | Menon et al. | Feb 2019 | B2 |
10229017 | Zou et al. | Mar 2019 | B1 |
10237123 | Dubey et al. | Mar 2019 | B2 |
10250498 | Bales et al. | Apr 2019 | B1 |
10263832 | Ghosh | Apr 2019 | B1 |
10320664 | Nainar et al. | Jun 2019 | B2 |
10320691 | Matthews et al. | Jun 2019 | B1 |
10326830 | Singh | Jun 2019 | B1 |
10348767 | Lee et al. | Jul 2019 | B1 |
10355989 | Panchal et al. | Jul 2019 | B1 |
10425382 | Mayya et al. | Sep 2019 | B2 |
10454708 | Mibu | Oct 2019 | B2 |
10454714 | Mayya et al. | Oct 2019 | B2 |
10461993 | Turabi et al. | Oct 2019 | B2 |
10498652 | Mayya et al. | Dec 2019 | B2 |
10511546 | Singarayan et al. | Dec 2019 | B2 |
10523539 | Mayya et al. | Dec 2019 | B2 |
10550093 | Ojima et al. | Feb 2020 | B2 |
10554538 | Spohn et al. | Feb 2020 | B2 |
10560431 | Chen et al. | Feb 2020 | B1 |
10565464 | Han et al. | Feb 2020 | B2 |
10567519 | Mukhopadhyaya et al. | Feb 2020 | B1 |
10574528 | Mayya et al. | Feb 2020 | B2 |
10594516 | Cidon et al. | Mar 2020 | B2 |
10594659 | El-Moussa et al. | Mar 2020 | B2 |
10608844 | Cidon et al. | Mar 2020 | B2 |
10637889 | Ermagan et al. | Apr 2020 | B2 |
10666460 | Cidon et al. | May 2020 | B2 |
10686625 | Cidon et al. | Jun 2020 | B2 |
10693739 | Naseri et al. | Jun 2020 | B1 |
10749711 | Mukundan et al. | Aug 2020 | B2 |
10778466 | Cidon et al. | Sep 2020 | B2 |
10778528 | Mayya et al. | Sep 2020 | B2 |
10778557 | Ganichev et al. | Sep 2020 | B2 |
10805114 | Cidon et al. | Oct 2020 | B2 |
10805272 | Mayya et al. | Oct 2020 | B2 |
10819564 | Turabi et al. | Oct 2020 | B2 |
10826775 | Moreno et al. | Nov 2020 | B1 |
10841131 | Cidon et al. | Nov 2020 | B2 |
10911374 | Kumar et al. | Feb 2021 | B1 |
10938693 | Mayya et al. | Mar 2021 | B2 |
10951529 | Duan et al. | Mar 2021 | B2 |
10958479 | Cidon et al. | Mar 2021 | B2 |
10959098 | Cidon et al. | Mar 2021 | B2 |
10992558 | Silva et al. | Apr 2021 | B1 |
10992568 | Michael et al. | Apr 2021 | B2 |
10999100 | Cidon et al. | May 2021 | B2 |
10999137 | Cidon et al. | May 2021 | B2 |
10999165 | Cidon et al. | May 2021 | B2 |
10999197 | Hooda et al. | May 2021 | B2 |
11005684 | Cidon | May 2021 | B2 |
11018995 | Cidon et al. | May 2021 | B2 |
11044190 | Ramaswamy et al. | Jun 2021 | B2 |
11050588 | Mayya et al. | Jun 2021 | B2 |
11050644 | Hegde et al. | Jun 2021 | B2 |
11071005 | Shen et al. | Jul 2021 | B2 |
11089111 | Markuze et al. | Aug 2021 | B2 |
11095612 | Oswal et al. | Aug 2021 | B1 |
11102032 | Cidon et al. | Aug 2021 | B2 |
11108851 | Kurmala et al. | Aug 2021 | B1 |
11115347 | Gupta et al. | Sep 2021 | B2 |
11115426 | Pazhyannur et al. | Sep 2021 | B1 |
11115480 | Markuze et al. | Sep 2021 | B2 |
11121962 | Michael et al. | Sep 2021 | B2 |
11121985 | Cidon et al. | Sep 2021 | B2 |
11128492 | Sethi et al. | Sep 2021 | B2 |
11153230 | Cidon et al. | Oct 2021 | B2 |
11171885 | Cidon et al. | Nov 2021 | B2 |
11212140 | Mukundan et al. | Dec 2021 | B2 |
11212238 | Cidon et al. | Dec 2021 | B2 |
11223514 | Mayya et al. | Jan 2022 | B2 |
11245641 | Ramaswamy et al. | Feb 2022 | B2 |
11252079 | Michael et al. | Feb 2022 | B2 |
11252105 | Cidon et al. | Feb 2022 | B2 |
11252106 | Cidon et al. | Feb 2022 | B2 |
11258728 | Cidon et al. | Feb 2022 | B2 |
11310170 | Cidon et al. | Apr 2022 | B2 |
11323307 | Mayya et al. | May 2022 | B2 |
11381474 | Kumar et al. | Jul 2022 | B1 |
20020085488 | Kobayashi | Jul 2002 | A1 |
20020087716 | Mustafa | Jul 2002 | A1 |
20020198840 | Banka et al. | Dec 2002 | A1 |
20030061269 | Hathaway et al. | Mar 2003 | A1 |
20030088697 | Matsuhira | May 2003 | A1 |
20030112766 | Riedel et al. | Jun 2003 | A1 |
20030112808 | Solomon | Jun 2003 | A1 |
20030126468 | Markham | Jul 2003 | A1 |
20030161313 | Jinmei et al. | Aug 2003 | A1 |
20030189919 | Gupta et al. | Oct 2003 | A1 |
20030202506 | Perkins et al. | Oct 2003 | A1 |
20030219030 | Gubbi | Nov 2003 | A1 |
20040059831 | Chu et al. | Mar 2004 | A1 |
20040068668 | Lor et al. | Apr 2004 | A1 |
20040165601 | Liu et al. | Aug 2004 | A1 |
20040224771 | Chen et al. | Nov 2004 | A1 |
20050078690 | DeLangis | Apr 2005 | A1 |
20050149604 | Navada | Jul 2005 | A1 |
20050154790 | Nagata et al. | Jul 2005 | A1 |
20050172161 | Cruz et al. | Aug 2005 | A1 |
20050195754 | Nosella | Sep 2005 | A1 |
20050265255 | Kodialam et al. | Dec 2005 | A1 |
20060002291 | Alicherry et al. | Jan 2006 | A1 |
20060114838 | Mandavilli et al. | Jun 2006 | A1 |
20060171365 | Borella | Aug 2006 | A1 |
20060182034 | Klinker et al. | Aug 2006 | A1 |
20060182035 | Vasseur | Aug 2006 | A1 |
20060193247 | Naseh et al. | Aug 2006 | A1 |
20060193252 | Naseh et al. | Aug 2006 | A1 |
20070064604 | Chen et al. | Mar 2007 | A1 |
20070064702 | Bates et al. | Mar 2007 | A1 |
20070083727 | Johnston et al. | Apr 2007 | A1 |
20070091794 | Filsfils et al. | Apr 2007 | A1 |
20070103548 | Carter | May 2007 | A1 |
20070115812 | Hughes | May 2007 | A1 |
20070121486 | Guichard et al. | May 2007 | A1 |
20070130325 | Lesser | Jun 2007 | A1 |
20070162639 | Chu et al. | Jul 2007 | A1 |
20070177511 | Das et al. | Aug 2007 | A1 |
20070237081 | Kodialam et al. | Oct 2007 | A1 |
20070260746 | Mirtorabi et al. | Nov 2007 | A1 |
20070268882 | Breslau et al. | Nov 2007 | A1 |
20080002670 | Bugenhagen et al. | Jan 2008 | A1 |
20080049621 | McGuire et al. | Feb 2008 | A1 |
20080055241 | Goldenberg et al. | Mar 2008 | A1 |
20080080509 | Khanna et al. | Apr 2008 | A1 |
20080095187 | Jung et al. | Apr 2008 | A1 |
20080117930 | Chakareski et al. | May 2008 | A1 |
20080144532 | Chamarajanagar et al. | Jun 2008 | A1 |
20080181116 | Kavanaugh et al. | Jul 2008 | A1 |
20080219276 | Shah | Sep 2008 | A1 |
20080240121 | Xiong et al. | Oct 2008 | A1 |
20090013210 | McIntosh et al. | Jan 2009 | A1 |
20090125617 | Klessig et al. | May 2009 | A1 |
20090141642 | Sun | Jun 2009 | A1 |
20090154463 | Hines et al. | Jun 2009 | A1 |
20090247204 | Sennett et al. | Oct 2009 | A1 |
20090268605 | Campbell et al. | Oct 2009 | A1 |
20090274045 | Meier et al. | Nov 2009 | A1 |
20090276657 | Wetmore et al. | Nov 2009 | A1 |
20090303880 | Maltz et al. | Dec 2009 | A1 |
20100008361 | Guichard et al. | Jan 2010 | A1 |
20100017802 | Lojewski | Jan 2010 | A1 |
20100046532 | Okita | Feb 2010 | A1 |
20100061379 | Parandekar et al. | Mar 2010 | A1 |
20100080129 | Strahan et al. | Apr 2010 | A1 |
20100088440 | Banks et al. | Apr 2010 | A1 |
20100091823 | Retana et al. | Apr 2010 | A1 |
20100107162 | Edwards et al. | Apr 2010 | A1 |
20100118727 | Draves et al. | May 2010 | A1 |
20100118886 | Saavedra | May 2010 | A1 |
20100165985 | Sharma et al. | Jul 2010 | A1 |
20100191884 | Holenstein et al. | Jul 2010 | A1 |
20100223621 | Joshi et al. | Sep 2010 | A1 |
20100226246 | Proulx | Sep 2010 | A1 |
20100290422 | Haigh et al. | Nov 2010 | A1 |
20100309841 | Conte | Dec 2010 | A1 |
20100309912 | Mehta et al. | Dec 2010 | A1 |
20100322255 | Hao et al. | Dec 2010 | A1 |
20100332657 | Elyashev et al. | Dec 2010 | A1 |
20110007752 | Silva et al. | Jan 2011 | A1 |
20110032939 | Nozaki et al. | Feb 2011 | A1 |
20110040814 | Higgins | Feb 2011 | A1 |
20110075674 | Li et al. | Mar 2011 | A1 |
20110107139 | Middlecamp et al. | May 2011 | A1 |
20110110370 | Moreno et al. | May 2011 | A1 |
20110141877 | Xu et al. | Jun 2011 | A1 |
20110142041 | Imai | Jun 2011 | A1 |
20110153909 | Dong | Jun 2011 | A1 |
20110235509 | Szymanski | Sep 2011 | A1 |
20110255397 | Kadakia et al. | Oct 2011 | A1 |
20120008630 | Ould-Brahim | Jan 2012 | A1 |
20120027013 | Napierala | Feb 2012 | A1 |
20120136697 | Peles et al. | May 2012 | A1 |
20120157068 | Eichen et al. | Jun 2012 | A1 |
20120173694 | Yan et al. | Jul 2012 | A1 |
20120173919 | Patel et al. | Jul 2012 | A1 |
20120182940 | Taleb et al. | Jul 2012 | A1 |
20120221955 | Raleigh et al. | Aug 2012 | A1 |
20120227093 | Shalzkamer et al. | Sep 2012 | A1 |
20120250682 | Vincent et al. | Oct 2012 | A1 |
20120250686 | Vincent et al. | Oct 2012 | A1 |
20120281706 | Agarwal et al. | Nov 2012 | A1 |
20120287818 | Corti et al. | Nov 2012 | A1 |
20120300615 | Kempf et al. | Nov 2012 | A1 |
20120307659 | Yamada | Dec 2012 | A1 |
20120317270 | Vrbaski et al. | Dec 2012 | A1 |
20120317291 | Wolfe | Dec 2012 | A1 |
20130019005 | Hui et al. | Jan 2013 | A1 |
20130021968 | Reznik et al. | Jan 2013 | A1 |
20130044764 | Casado et al. | Feb 2013 | A1 |
20130051237 | Ong | Feb 2013 | A1 |
20130051399 | Zhang et al. | Feb 2013 | A1 |
20130054763 | Merwe et al. | Feb 2013 | A1 |
20130086267 | Gelenbe et al. | Apr 2013 | A1 |
20130103834 | Dzerve et al. | Apr 2013 | A1 |
20130124718 | Griffith et al. | May 2013 | A1 |
20130124911 | Griffith et al. | May 2013 | A1 |
20130124912 | Griffith et al. | May 2013 | A1 |
20130128889 | Mathur et al. | May 2013 | A1 |
20130142201 | Kim et al. | Jun 2013 | A1 |
20130170354 | Takashima et al. | Jul 2013 | A1 |
20130173788 | Song | Jul 2013 | A1 |
20130182712 | Aguayo et al. | Jul 2013 | A1 |
20130191688 | Agarwal et al. | Jul 2013 | A1 |
20130238782 | Zhao et al. | Sep 2013 | A1 |
20130242718 | Zhang | Sep 2013 | A1 |
20130254599 | Katkar et al. | Sep 2013 | A1 |
20130258839 | Wang et al. | Oct 2013 | A1 |
20130258847 | Zhang et al. | Oct 2013 | A1 |
20130266015 | Qu et al. | Oct 2013 | A1 |
20130266019 | Qu et al. | Oct 2013 | A1 |
20130283364 | Chang et al. | Oct 2013 | A1 |
20130286846 | Atlas et al. | Oct 2013 | A1 |
20130297611 | Moritz et al. | Nov 2013 | A1 |
20130297770 | Zhang | Nov 2013 | A1 |
20130301469 | Suga | Nov 2013 | A1 |
20130301642 | Radhakrishnan et al. | Nov 2013 | A1 |
20130308444 | Sem-Jacobsen et al. | Nov 2013 | A1 |
20130315242 | Wang et al. | Nov 2013 | A1 |
20130315243 | Huang et al. | Nov 2013 | A1 |
20130329548 | Nakil et al. | Dec 2013 | A1 |
20130329601 | Yin et al. | Dec 2013 | A1 |
20130329734 | Chesla et al. | Dec 2013 | A1 |
20130346470 | Obstfeld et al. | Dec 2013 | A1 |
20140019604 | Twitchell, Jr. | Jan 2014 | A1 |
20140019750 | Dodgson et al. | Jan 2014 | A1 |
20140040975 | Raleigh et al. | Feb 2014 | A1 |
20140064283 | Balus et al. | Mar 2014 | A1 |
20140071832 | Johnsson et al. | Mar 2014 | A1 |
20140092907 | Sridhar et al. | Apr 2014 | A1 |
20140108665 | Arora et al. | Apr 2014 | A1 |
20140112171 | Pasdar | Apr 2014 | A1 |
20140115584 | Mudigonda et al. | Apr 2014 | A1 |
20140123135 | Huang et al. | May 2014 | A1 |
20140126418 | Brendel et al. | May 2014 | A1 |
20140156818 | Hunt | Jun 2014 | A1 |
20140156823 | Liu et al. | Jun 2014 | A1 |
20140164560 | Ko et al. | Jun 2014 | A1 |
20140164617 | Jalan et al. | Jun 2014 | A1 |
20140173113 | Vemuri et al. | Jun 2014 | A1 |
20140173331 | Martin et al. | Jun 2014 | A1 |
20140181824 | Saund et al. | Jun 2014 | A1 |
20140208317 | Nakagawa | Jul 2014 | A1 |
20140219135 | Li et al. | Aug 2014 | A1 |
20140223507 | Xu | Aug 2014 | A1 |
20140229210 | Sharifian et al. | Aug 2014 | A1 |
20140244851 | Lee | Aug 2014 | A1 |
20140258535 | Zhang | Sep 2014 | A1 |
20140269690 | Tu | Sep 2014 | A1 |
20140279862 | Dietz et al. | Sep 2014 | A1 |
20140280499 | Basavaiah et al. | Sep 2014 | A1 |
20140317440 | Biermayr et al. | Oct 2014 | A1 |
20140321277 | Lynn, Jr. et al. | Oct 2014 | A1 |
20140337500 | Lee | Nov 2014 | A1 |
20140341109 | Cartmell et al. | Nov 2014 | A1 |
20140372582 | Ghanwani et al. | Dec 2014 | A1 |
20150003240 | Drwiega et al. | Jan 2015 | A1 |
20150016249 | Mukundan et al. | Jan 2015 | A1 |
20150029864 | Raileanu et al. | Jan 2015 | A1 |
20150039744 | Niazi et al. | Feb 2015 | A1 |
20150046572 | Cheng et al. | Feb 2015 | A1 |
20150052247 | Threefoot et al. | Feb 2015 | A1 |
20150052517 | Raghu et al. | Feb 2015 | A1 |
20150056960 | Egner et al. | Feb 2015 | A1 |
20150058917 | Xu | Feb 2015 | A1 |
20150088942 | Shah | Mar 2015 | A1 |
20150089628 | Lang | Mar 2015 | A1 |
20150092603 | Aguayo et al. | Apr 2015 | A1 |
20150096011 | Watt | Apr 2015 | A1 |
20150124603 | Ketheesan et al. | May 2015 | A1 |
20150134777 | Onoue | May 2015 | A1 |
20150139238 | Pourzandi et al. | May 2015 | A1 |
20150146539 | Mehta et al. | May 2015 | A1 |
20150163152 | Li | Jun 2015 | A1 |
20150169340 | Haddad et al. | Jun 2015 | A1 |
20150172121 | Farkas et al. | Jun 2015 | A1 |
20150172169 | DeCusatis et al. | Jun 2015 | A1 |
20150188823 | Williams et al. | Jul 2015 | A1 |
20150189009 | Bemmel | Jul 2015 | A1 |
20150195178 | Bhattacharya et al. | Jul 2015 | A1 |
20150201036 | Nishiki et al. | Jul 2015 | A1 |
20150222543 | Song | Aug 2015 | A1 |
20150222638 | Morley | Aug 2015 | A1 |
20150236945 | Michael et al. | Aug 2015 | A1 |
20150236962 | Veres et al. | Aug 2015 | A1 |
20150244617 | Nakil et al. | Aug 2015 | A1 |
20150249644 | Xu | Sep 2015 | A1 |
20150257081 | Ramanujan et al. | Sep 2015 | A1 |
20150271056 | Chunduri et al. | Sep 2015 | A1 |
20150271104 | Chikkamath et al. | Sep 2015 | A1 |
20150271303 | Neginhal et al. | Sep 2015 | A1 |
20150281004 | Kakadia et al. | Oct 2015 | A1 |
20150312142 | Barabash et al. | Oct 2015 | A1 |
20150312760 | O'Toole | Oct 2015 | A1 |
20150317169 | Sinha et al. | Nov 2015 | A1 |
20150334025 | Rader | Nov 2015 | A1 |
20150334696 | Gu et al. | Nov 2015 | A1 |
20150341271 | Gomez | Nov 2015 | A1 |
20150349978 | Wu et al. | Dec 2015 | A1 |
20150350907 | Timariu et al. | Dec 2015 | A1 |
20150358236 | Roach et al. | Dec 2015 | A1 |
20150363221 | Terayama et al. | Dec 2015 | A1 |
20150363733 | Brown | Dec 2015 | A1 |
20150365323 | Duminuco et al. | Dec 2015 | A1 |
20150372943 | Hasan et al. | Dec 2015 | A1 |
20150372982 | Herle et al. | Dec 2015 | A1 |
20150381407 | Wang et al. | Dec 2015 | A1 |
20150381493 | Bansal et al. | Dec 2015 | A1 |
20160020844 | Hart et al. | Jan 2016 | A1 |
20160021597 | Hart et al. | Jan 2016 | A1 |
20160035183 | Buchholz et al. | Feb 2016 | A1 |
20160036924 | Koppolu et al. | Feb 2016 | A1 |
20160036938 | Aviles et al. | Feb 2016 | A1 |
20160037434 | Gopal et al. | Feb 2016 | A1 |
20160072669 | Saavedra | Mar 2016 | A1 |
20160072684 | Manuguri et al. | Mar 2016 | A1 |
20160080502 | Yadav et al. | Mar 2016 | A1 |
20160105353 | Cociglio | Apr 2016 | A1 |
20160105392 | Thakkar et al. | Apr 2016 | A1 |
20160105471 | Nunes et al. | Apr 2016 | A1 |
20160105488 | Thakkar et al. | Apr 2016 | A1 |
20160117185 | Fang et al. | Apr 2016 | A1 |
20160134461 | Sampath et al. | May 2016 | A1 |
20160134528 | Lin et al. | May 2016 | A1 |
20160134591 | Liao et al. | May 2016 | A1 |
20160142373 | Ossipov | May 2016 | A1 |
20160150055 | Choi | May 2016 | A1 |
20160164832 | Bellagamba et al. | Jun 2016 | A1 |
20160164914 | Madhav et al. | Jun 2016 | A1 |
20160173338 | Wolting | Jun 2016 | A1 |
20160191363 | Haraszti et al. | Jun 2016 | A1 |
20160191374 | Singh et al. | Jun 2016 | A1 |
20160192403 | Gupta et al. | Jun 2016 | A1 |
20160197834 | Luft | Jul 2016 | A1 |
20160197835 | Luft | Jul 2016 | A1 |
20160198003 | Luft | Jul 2016 | A1 |
20160210209 | Verkaik et al. | Jul 2016 | A1 |
20160212773 | Kanderholm et al. | Jul 2016 | A1 |
20160218947 | Hughes et al. | Jul 2016 | A1 |
20160218951 | Vasseur et al. | Jul 2016 | A1 |
20160255169 | Kovvuri et al. | Sep 2016 | A1 |
20160261493 | Li | Sep 2016 | A1 |
20160261495 | Xia et al. | Sep 2016 | A1 |
20160261506 | Hegde et al. | Sep 2016 | A1 |
20160261639 | Xu | Sep 2016 | A1 |
20160269298 | Li et al. | Sep 2016 | A1 |
20160269926 | Sundaram | Sep 2016 | A1 |
20160285736 | Gu | Sep 2016 | A1 |
20160308762 | Teng et al. | Oct 2016 | A1 |
20160315912 | Mayya et al. | Oct 2016 | A1 |
20160323377 | Einkauf et al. | Nov 2016 | A1 |
20160328159 | Coddington et al. | Nov 2016 | A1 |
20160330111 | Manghirmalani et al. | Nov 2016 | A1 |
20160352588 | Subbarayan et al. | Dec 2016 | A1 |
20160353268 | Senarath et al. | Dec 2016 | A1 |
20160359738 | Sullenberger et al. | Dec 2016 | A1 |
20160366187 | Kamble | Dec 2016 | A1 |
20160371153 | Dornemann | Dec 2016 | A1 |
20160378527 | Zamir | Dec 2016 | A1 |
20160380886 | Blair et al. | Dec 2016 | A1 |
20160380906 | Hodique et al. | Dec 2016 | A1 |
20170005986 | Bansal et al. | Jan 2017 | A1 |
20170006499 | Hampel et al. | Jan 2017 | A1 |
20170012870 | Blair et al. | Jan 2017 | A1 |
20170019428 | Cohn | Jan 2017 | A1 |
20170026283 | Williams et al. | Jan 2017 | A1 |
20170026355 | Mathaiyan et al. | Jan 2017 | A1 |
20170034046 | Cai et al. | Feb 2017 | A1 |
20170034052 | Chanda et al. | Feb 2017 | A1 |
20170034129 | Sawant et al. | Feb 2017 | A1 |
20170048296 | Ramalho et al. | Feb 2017 | A1 |
20170053258 | Carney et al. | Feb 2017 | A1 |
20170055131 | Kong et al. | Feb 2017 | A1 |
20170063674 | Maskalik et al. | Mar 2017 | A1 |
20170063782 | Jain et al. | Mar 2017 | A1 |
20170063794 | Jain et al. | Mar 2017 | A1 |
20170064005 | Lee | Mar 2017 | A1 |
20170093625 | Pera et al. | Mar 2017 | A1 |
20170097841 | Chang et al. | Apr 2017 | A1 |
20170104653 | Badea et al. | Apr 2017 | A1 |
20170104755 | Arregoces et al. | Apr 2017 | A1 |
20170109212 | Gaurav et al. | Apr 2017 | A1 |
20170118173 | Arramreddy et al. | Apr 2017 | A1 |
20170123939 | Maheshwari et al. | May 2017 | A1 |
20170126516 | Tiagi et al. | May 2017 | A1 |
20170126564 | Mayya et al. | May 2017 | A1 |
20170134186 | Mukundan et al. | May 2017 | A1 |
20170134520 | Abbasi et al. | May 2017 | A1 |
20170139789 | Fries et al. | May 2017 | A1 |
20170142000 | Cai et al. | May 2017 | A1 |
20170149637 | Banikazemi et al. | May 2017 | A1 |
20170155557 | Desai et al. | Jun 2017 | A1 |
20170163473 | Sadana et al. | Jun 2017 | A1 |
20170171310 | Gardner | Jun 2017 | A1 |
20170181210 | Nadella et al. | Jun 2017 | A1 |
20170195161 | Ruel et al. | Jul 2017 | A1 |
20170195169 | Mills et al. | Jul 2017 | A1 |
20170201585 | Doraiswamy et al. | Jul 2017 | A1 |
20170207976 | Rovner et al. | Jul 2017 | A1 |
20170214545 | Cheng et al. | Jul 2017 | A1 |
20170214701 | Hasan | Jul 2017 | A1 |
20170223117 | Messerli et al. | Aug 2017 | A1 |
20170237710 | Mayya et al. | Aug 2017 | A1 |
20170257260 | Govindan et al. | Sep 2017 | A1 |
20170257309 | Appanna | Sep 2017 | A1 |
20170264496 | Ao et al. | Sep 2017 | A1 |
20170279717 | Bethers et al. | Sep 2017 | A1 |
20170279803 | Desai et al. | Sep 2017 | A1 |
20170280474 | Vesterinen et al. | Sep 2017 | A1 |
20170288987 | Pasupathy et al. | Oct 2017 | A1 |
20170289002 | Ganguli et al. | Oct 2017 | A1 |
20170289027 | Ratnasingham | Oct 2017 | A1 |
20170295264 | Touitou et al. | Oct 2017 | A1 |
20170302565 | Ghobadi et al. | Oct 2017 | A1 |
20170310641 | Jiang et al. | Oct 2017 | A1 |
20170310691 | Vasseur et al. | Oct 2017 | A1 |
20170317954 | Masurekar et al. | Nov 2017 | A1 |
20170317969 | Masurekar et al. | Nov 2017 | A1 |
20170317974 | Masurekar et al. | Nov 2017 | A1 |
20170337086 | Zhu et al. | Nov 2017 | A1 |
20170339054 | Yadav et al. | Nov 2017 | A1 |
20170339070 | Chang et al. | Nov 2017 | A1 |
20170364419 | Lo | Dec 2017 | A1 |
20170366445 | Nemirovsky et al. | Dec 2017 | A1 |
20170366467 | Martin et al. | Dec 2017 | A1 |
20170373950 | Szilagyi et al. | Dec 2017 | A1 |
20170374174 | Evens et al. | Dec 2017 | A1 |
20180006995 | Bickhart et al. | Jan 2018 | A1 |
20180007005 | Chanda et al. | Jan 2018 | A1 |
20180007123 | Cheng et al. | Jan 2018 | A1 |
20180013636 | Seetharamaiah et al. | Jan 2018 | A1 |
20180014051 | Phillips et al. | Jan 2018 | A1 |
20180020035 | Boggia et al. | Jan 2018 | A1 |
20180034668 | Mayya et al. | Feb 2018 | A1 |
20180041425 | Zhang | Feb 2018 | A1 |
20180062875 | Tumuluru | Mar 2018 | A1 |
20180062914 | Boutros et al. | Mar 2018 | A1 |
20180062917 | Chandrashekhar et al. | Mar 2018 | A1 |
20180063036 | Chandrashekhar et al. | Mar 2018 | A1 |
20180063193 | Chandrashekhar et al. | Mar 2018 | A1 |
20180063233 | Park | Mar 2018 | A1 |
20180063743 | Tumuluru et al. | Mar 2018 | A1 |
20180069924 | Tumuluru et al. | Mar 2018 | A1 |
20180074909 | Bishop et al. | Mar 2018 | A1 |
20180077081 | Lauer et al. | Mar 2018 | A1 |
20180077202 | Xu | Mar 2018 | A1 |
20180084081 | Kuchibhotla et al. | Mar 2018 | A1 |
20180097725 | Wood et al. | Apr 2018 | A1 |
20180114569 | Strachan et al. | Apr 2018 | A1 |
20180123910 | Fitzgibbon | May 2018 | A1 |
20180131608 | Jiang et al. | May 2018 | A1 |
20180131615 | Zhang | May 2018 | A1 |
20180131720 | Hobson et al. | May 2018 | A1 |
20180145899 | Rao | May 2018 | A1 |
20180159796 | Wang et al. | Jun 2018 | A1 |
20180159856 | Gujarathi | Jun 2018 | A1 |
20180167378 | Kostyukov et al. | Jun 2018 | A1 |
20180176073 | Dubey et al. | Jun 2018 | A1 |
20180176082 | Katz et al. | Jun 2018 | A1 |
20180176130 | Banerjee et al. | Jun 2018 | A1 |
20180213472 | Ishii et al. | Jul 2018 | A1 |
20180219765 | Michael et al. | Aug 2018 | A1 |
20180219766 | Michael et al. | Aug 2018 | A1 |
20180234300 | Mayya et al. | Aug 2018 | A1 |
20180248790 | Tan et al. | Aug 2018 | A1 |
20180260125 | Botes et al. | Sep 2018 | A1 |
20180262468 | Kumar et al. | Sep 2018 | A1 |
20180270104 | Zheng et al. | Sep 2018 | A1 |
20180278541 | Wu et al. | Sep 2018 | A1 |
20180287907 | Kulshreshtha et al. | Oct 2018 | A1 |
20180295101 | Gehrmann | Oct 2018 | A1 |
20180295529 | Jen et al. | Oct 2018 | A1 |
20180302286 | Mayya et al. | Oct 2018 | A1 |
20180302321 | Manthiramoorthy et al. | Oct 2018 | A1 |
20180307851 | Lewis | Oct 2018 | A1 |
20180316606 | Sung et al. | Nov 2018 | A1 |
20180351855 | Sood et al. | Dec 2018 | A1 |
20180351862 | Jeganathan et al. | Dec 2018 | A1 |
20180351863 | Vairavakkalai et al. | Dec 2018 | A1 |
20180351882 | Jeganathan et al. | Dec 2018 | A1 |
20180367445 | Bajaj | Dec 2018 | A1 |
20180373558 | Chang et al. | Dec 2018 | A1 |
20180375744 | Mayya et al. | Dec 2018 | A1 |
20180375824 | Mayya et al. | Dec 2018 | A1 |
20180375967 | Pithawala et al. | Dec 2018 | A1 |
20190013883 | Vargas et al. | Jan 2019 | A1 |
20190014038 | Ritchie | Jan 2019 | A1 |
20190020588 | Twitchell, Jr. | Jan 2019 | A1 |
20190020627 | Yuan | Jan 2019 | A1 |
20190028378 | Houjyo et al. | Jan 2019 | A1 |
20190028552 | Johnson et al. | Jan 2019 | A1 |
20190036808 | Shenoy et al. | Jan 2019 | A1 |
20190036810 | Michael et al. | Jan 2019 | A1 |
20190036813 | Shenoy et al. | Jan 2019 | A1 |
20190046056 | Khachaturian et al. | Feb 2019 | A1 |
20190058657 | Chunduri et al. | Feb 2019 | A1 |
20190058709 | Kempf et al. | Feb 2019 | A1 |
20190068470 | Mirsky | Feb 2019 | A1 |
20190068493 | Ram et al. | Feb 2019 | A1 |
20190068500 | Hira | Feb 2019 | A1 |
20190075083 | Mayya et al. | Mar 2019 | A1 |
20190103990 | Cidon et al. | Apr 2019 | A1 |
20190103991 | Cidon et al. | Apr 2019 | A1 |
20190103992 | Cidon et al. | Apr 2019 | A1 |
20190103993 | Cidon et al. | Apr 2019 | A1 |
20190104035 | Cidon et al. | Apr 2019 | A1 |
20190104049 | Cidon et al. | Apr 2019 | A1 |
20190104050 | Cidon et al. | Apr 2019 | A1 |
20190104051 | Cidon et al. | Apr 2019 | A1 |
20190104052 | Cidon et al. | Apr 2019 | A1 |
20190104053 | Cidon et al. | Apr 2019 | A1 |
20190104063 | Cidon et al. | Apr 2019 | A1 |
20190104064 | Cidon et al. | Apr 2019 | A1 |
20190104109 | Cidon et al. | Apr 2019 | A1 |
20190104111 | Cidon et al. | Apr 2019 | A1 |
20190104413 | Cidon et al. | Apr 2019 | A1 |
20190109769 | Jain et al. | Apr 2019 | A1 |
20190132221 | Boutros et al. | May 2019 | A1 |
20190140889 | Mayya et al. | May 2019 | A1 |
20190140890 | Mayya | May 2019 | A1 |
20190158371 | Dillon et al. | May 2019 | A1 |
20190158605 | Markuze et al. | May 2019 | A1 |
20190199539 | Deng et al. | Jun 2019 | A1 |
20190220703 | Prakash et al. | Jul 2019 | A1 |
20190238364 | Boutros et al. | Aug 2019 | A1 |
20190238446 | Barzik et al. | Aug 2019 | A1 |
20190238449 | Michael et al. | Aug 2019 | A1 |
20190238450 | Michael et al. | Aug 2019 | A1 |
20190238483 | Marichetty et al. | Aug 2019 | A1 |
20190268421 | Markuze | Aug 2019 | A1 |
20190268973 | Bull et al. | Aug 2019 | A1 |
20190280962 | Michael et al. | Sep 2019 | A1 |
20190280963 | Michael et al. | Sep 2019 | A1 |
20190280964 | Michael et al. | Sep 2019 | A1 |
20190306197 | Degioanni | Oct 2019 | A1 |
20190313907 | Khachaturian et al. | Oct 2019 | A1 |
20190319847 | Nahar et al. | Oct 2019 | A1 |
20190334813 | Raj et al. | Oct 2019 | A1 |
20190334820 | Zhao | Oct 2019 | A1 |
20190342219 | Liu et al. | Nov 2019 | A1 |
20190356736 | Narayanaswamy et al. | Nov 2019 | A1 |
20190364099 | Thakkar et al. | Nov 2019 | A1 |
20190364456 | Yu | Nov 2019 | A1 |
20190372888 | Michael et al. | Dec 2019 | A1 |
20190372889 | Michael et al. | Dec 2019 | A1 |
20190372890 | Michael et al. | Dec 2019 | A1 |
20200014609 | Hockett et al. | Jan 2020 | A1 |
20200014615 | Michael et al. | Jan 2020 | A1 |
20200014616 | Michael et al. | Jan 2020 | A1 |
20200014661 | Mayya et al. | Jan 2020 | A1 |
20200014663 | Chen et al. | Jan 2020 | A1 |
20200021514 | Michael et al. | Jan 2020 | A1 |
20200021515 | Michael et al. | Jan 2020 | A1 |
20200036624 | Michael et al. | Jan 2020 | A1 |
20200044943 | Bor-Yaliniz et al. | Feb 2020 | A1 |
20200059420 | Abraham | Feb 2020 | A1 |
20200059457 | Raza et al. | Feb 2020 | A1 |
20200059459 | Abraham et al. | Feb 2020 | A1 |
20200092207 | Sipra et al. | Mar 2020 | A1 |
20200097327 | Beyer et al. | Mar 2020 | A1 |
20200099659 | Cometto et al. | Mar 2020 | A1 |
20200106696 | Michael et al. | Apr 2020 | A1 |
20200106706 | Mayya et al. | Apr 2020 | A1 |
20200119952 | Mayya et al. | Apr 2020 | A1 |
20200127905 | Mayya et al. | Apr 2020 | A1 |
20200127911 | Gilson et al. | Apr 2020 | A1 |
20200153701 | Mohan et al. | May 2020 | A1 |
20200153736 | Liebherr et al. | May 2020 | A1 |
20200162407 | Tillotson | May 2020 | A1 |
20200169473 | Rimar et al. | May 2020 | A1 |
20200177503 | Hooda et al. | Jun 2020 | A1 |
20200177550 | Vallur et al. | Jun 2020 | A1 |
20200177629 | Hooda et al. | Jun 2020 | A1 |
20200186471 | Shen et al. | Jun 2020 | A1 |
20200195557 | Duan et al. | Jun 2020 | A1 |
20200204460 | Schneider et al. | Jun 2020 | A1 |
20200213212 | Dillon et al. | Jul 2020 | A1 |
20200213224 | Cheng et al. | Jul 2020 | A1 |
20200218558 | Sreenath et al. | Jul 2020 | A1 |
20200235990 | Janakiraman et al. | Jul 2020 | A1 |
20200235999 | Mayya et al. | Jul 2020 | A1 |
20200236046 | Jain et al. | Jul 2020 | A1 |
20200244721 | S et al. | Jul 2020 | A1 |
20200252234 | Ramamoorthi et al. | Aug 2020 | A1 |
20200259700 | Bhalla et al. | Aug 2020 | A1 |
20200267184 | Vera-Schockner | Aug 2020 | A1 |
20200280587 | Janakiraman et al. | Sep 2020 | A1 |
20200287819 | Theogaraj et al. | Sep 2020 | A1 |
20200287976 | Theogaraj et al. | Sep 2020 | A1 |
20200296011 | Jain et al. | Sep 2020 | A1 |
20200296026 | Michael et al. | Sep 2020 | A1 |
20200314006 | Mackie et al. | Oct 2020 | A1 |
20200314614 | Moustafa et al. | Oct 2020 | A1 |
20200322230 | Natal et al. | Oct 2020 | A1 |
20200336336 | Sethi et al. | Oct 2020 | A1 |
20200344143 | Faseela et al. | Oct 2020 | A1 |
20200344163 | Gupta et al. | Oct 2020 | A1 |
20200351188 | Arora et al. | Nov 2020 | A1 |
20200358878 | Bansal et al. | Nov 2020 | A1 |
20200366530 | Mukundan et al. | Nov 2020 | A1 |
20200366562 | Mayya et al. | Nov 2020 | A1 |
20200382345 | Zhao et al. | Dec 2020 | A1 |
20200382387 | Pasupathy et al. | Dec 2020 | A1 |
20200412576 | Kondapavuluru et al. | Dec 2020 | A1 |
20200413283 | Shen et al. | Dec 2020 | A1 |
20210006482 | Hwang et al. | Jan 2021 | A1 |
20210006490 | Michael et al. | Jan 2021 | A1 |
20210029019 | Kottapalli | Jan 2021 | A1 |
20210029088 | Mayya et al. | Jan 2021 | A1 |
20210036888 | Makkalla et al. | Feb 2021 | A1 |
20210036987 | Mishra et al. | Feb 2021 | A1 |
20210067372 | Cidon et al. | Mar 2021 | A1 |
20210067373 | Cidon et al. | Mar 2021 | A1 |
20210067374 | Cidon et al. | Mar 2021 | A1 |
20210067375 | Cidon et al. | Mar 2021 | A1 |
20210067407 | Cidon et al. | Mar 2021 | A1 |
20210067427 | Cidon et al. | Mar 2021 | A1 |
20210067442 | Sundararajan et al. | Mar 2021 | A1 |
20210067461 | Cidon et al. | Mar 2021 | A1 |
20210067464 | Cidon et al. | Mar 2021 | A1 |
20210067467 | Cidon et al. | Mar 2021 | A1 |
20210067468 | Cidon et al. | Mar 2021 | A1 |
20210105199 | H et al. | Apr 2021 | A1 |
20210112034 | Sundararajan | Apr 2021 | A1 |
20210126830 | R. et al. | Apr 2021 | A1 |
20210126853 | Ramaswamy et al. | Apr 2021 | A1 |
20210126854 | Guo et al. | Apr 2021 | A1 |
20210126860 | Ramaswamy et al. | Apr 2021 | A1 |
20210144091 | H et al. | May 2021 | A1 |
20210160169 | Shen et al. | May 2021 | A1 |
20210160813 | Gupta et al. | May 2021 | A1 |
20210184952 | Mayya et al. | Jun 2021 | A1 |
20210184966 | Ramaswamy et al. | Jun 2021 | A1 |
20210184983 | Ramaswamy et al. | Jun 2021 | A1 |
20210194814 | Roux et al. | Jun 2021 | A1 |
20210226880 | Ramamoorthy et al. | Jul 2021 | A1 |
20210234728 | Cidon et al. | Jul 2021 | A1 |
20210234775 | Devadoss et al. | Jul 2021 | A1 |
20210234786 | Devadoss et al. | Jul 2021 | A1 |
20210234804 | Devadoss et al. | Jul 2021 | A1 |
20210234805 | Devadoss et al. | Jul 2021 | A1 |
20210235312 | Devadoss et al. | Jul 2021 | A1 |
20210235313 | Devadoss et al. | Jul 2021 | A1 |
20210266262 | Subramanian et al. | Aug 2021 | A1 |
20210279069 | Salgaonkar et al. | Sep 2021 | A1 |
20210314289 | Chandrashekhar et al. | Oct 2021 | A1 |
20210328835 | Mayya et al. | Oct 2021 | A1 |
20210336880 | Gupta et al. | Oct 2021 | A1 |
20210377109 | Shrivastava et al. | Dec 2021 | A1 |
20210377156 | Michael et al. | Dec 2021 | A1 |
20210392060 | Silva et al. | Dec 2021 | A1 |
20210392070 | Tootaghaj et al. | Dec 2021 | A1 |
20210399920 | Sundararajan et al. | Dec 2021 | A1 |
20210399978 | Michael et al. | Dec 2021 | A9 |
20210400113 | Markuze et al. | Dec 2021 | A1 |
20220006726 | Michael et al. | Jan 2022 | A1 |
20220006756 | Ramaswamy et al. | Jan 2022 | A1 |
20220035673 | Markuze et al. | Feb 2022 | A1 |
20220038370 | Vasseur et al. | Feb 2022 | A1 |
20220038557 | Markuze et al. | Feb 2022 | A1 |
20220094644 | Cidon et al. | Mar 2022 | A1 |
20220123961 | Mukundan et al. | Apr 2022 | A1 |
20220131740 | Mayya et al. | Apr 2022 | A1 |
20220131807 | Srinivas et al. | Apr 2022 | A1 |
Number | Date | Country |
---|---|---|
1926809 | Mar 2007 | CN |
102577270 | Jul 2012 | CN |
102811165 | Dec 2012 | CN |
104956329 | Sep 2015 | CN |
106656847 | May 2017 | CN |
110447209 | Nov 2019 | CN |
111198764 | May 2020 | CN |
1912381 | Apr 2008 | EP |
3041178 | Jul 2016 | EP |
3509256 | Jul 2019 | EP |
2010233126 | Oct 2010 | JP |
2017059991 | Mar 2017 | JP |
2574350 | Feb 2016 | RU |
03073701 | Sep 2003 | WO |
2007016834 | Feb 2007 | WO |
2012167184 | Dec 2012 | WO |
2016061546 | Apr 2016 | WO |
2017083975 | May 2017 | WO |
2019070611 | Apr 2019 | WO |
2019094522 | May 2019 | WO |
2020012491 | Jan 2020 | WO |
2020018704 | Jan 2020 | WO |
2020091777 | May 2020 | WO |
2020101922 | May 2020 | WO |
2020112345 | Jun 2020 | WO |
2021040934 | Mar 2021 | WO |
2021118717 | Jun 2021 | WO |
2021150465 | Jul 2021 | WO |
2021211906 | Oct 2021 | WO |
2022005607 | Jan 2022 | WO |
Entry |
---|
Non-Published Commonly Owned Related International Patent Application PCT/US2021/031454 with similar specification, filed May 8, 2021, 35 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/233,427, filed Apr. 16, 2021, 124 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/361,292, filed Jun. 28, 2021, 35 pages, Nicira, Inc. |
Sarhan, Soliman Abd Elmonsef, et al., “Data Inspection in SDN Network,” 2018 13th International Conference on Computer Engineering and Systems (ICCES), Dec. 18-19, 2018, 6 pages, IEEE, Cairo, Egypt. |
Xie, Junfeng, et al., A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN) Research Issues and Challenges, IEEE Communications Surveys & Tutorials, Aug. 23, 2018, 38 pages, vol. 21, Issue 1, IEEE. |
Del Piccolo, Valentin, et al., “A Survey of Network Isolation Solutions for Multi-Tenant Data Centers,” IEEE Communications Society, Apr. 20, 2016, vol. 18, No. 4, 37 pages, IEEE. |
Fortz, Bernard, et al., “Internet Traffic Engineering by Optimizing OSPF Weights,” Proceedings IEEE INFOCOM 2000, Conference on Computer Communications, Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies, Mar. 26-30, 2000, 11 pages, IEEE, Tel Aviv, Israel, Israel. |
Francois, Frederic, et al., “Optimizing Secure SDN-enabled Inter-Data Centre Overlay Networks through Cognitive Routing,” 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), Sep. 19-21, 2016, 10 pages, IEEE, London, UK. |
Michael, Nithin, et al., “HALO: Hop-by-Hop Adaptive Link-State Optimal Routing,” IEEE/ACM Transactions on Networking, Dec. 2015, 14 pages, vol. 23, No. 6, IEEE. |
Mishra, Mayank, et al., “Managing Network Reservation for Tenants in Oversubscribed Clouds,” 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems, Aug. 14-16, 2013, 10 pages, IEEE, San Francisco, CA, USA. |
Mudigonda, Jayaram, et al., “NetLord: A Scalable Multi-Tenant Network Architecture for Virtualized Datacenters,” Proceedings of the ACM SIGCOMM 2011 Conference, Aug. 15-19, 2011, 12 pages, ACM, Toronto, Canada. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,363, filed Oct. 24, 2019, 129 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,379, filed Oct. 24, 2019, 123 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,402, filed Oct. 24, 2019, 128 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,427, filed Oct. 24, 2019, 165 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,489, filed Oct. 24, 2019, 165 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,510, filed Oct. 24, 2019, 165 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,531, filed Oct. 24, 2019, 135 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,570, filed Oct. 24, 2019, 141 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,587, filed Oct. 24, 2019, 145 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/662,591, filed Oct. 24, 2019, 130 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/721,964, filed Dec. 20, 2019, 39 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/721,965, filed Dec. 20, 2019, 39 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/792,908, filed Feb. 18, 2020, 48 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/792,909, filed Feb. 18, 2020, 49 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/851,294, filed Apr. 17, 2020, 59 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/851,301, filed Apr. 17, 2020, 59 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/851,308, filed Apr. 17, 2020, 59 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/851,314, filed Apr. 17, 2020, 59 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/851,323, filed Apr. 17, 2020, 59 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 16/851,397, filed Apr. 17, 2020, 59 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/068,603, filed Oct. 12, 2020, 37 pages, Nicira, Inc. |
Non-Published Commonly Owned Related U.S. Appl. No. 17/072,774 with similar specification, filed Oct. 16, 2020, 34 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 15/803,964, filed Nov. 6, 2017, 15 pages, The Mode Group. |
Non-Published Commonly Owned U.S. Appl. No. 16/216,235, filed Dec. 11, 2018, 19 pages, The Mode Group. |
Non-Published Commonly Owned U.S. Appl. No. 16/818,862, filed Mar. 13, 2020, 198 pages, The Mode Group. |
Ray, Saikat, et al., “Always Acyclic Distributed Path Computation,” University of Pennsylvania Department of Electrical and Systems Engineering Technical Report, May 2008, 16 pages, University of Pennsylvania ScholarlyCommons. |
Webb, Kevin C., et al., “Blender: Upgrading Tenant-Based Data Center Networking,” 2014 ACM/IEEE Symposium an Architectures for Networking and Communications Systems (ANCS), Oct. 20-21, 2014, 11 pages, IEEE, Marina del Rey, CA, USA. |
Yap, Kok-Kiong, et al., “Taking the Edge off with Espresso: Scale, Reliability and Programmability for Global ntemet Peering,” SIGCOMM '17: Proceedings of the Conference of the ACM Special Interest Group on Data Communication, Aug. 21-25, 2017, 14 pages, Los Angeles, CA. |
Del Piccolo, Valentin, et al., “A Survey of Network Isolation Solutions for Multi-Tenant Data Centers,” IEEE Communications Surveys and Tutorials, Apr. 20, 2016, vol. 18, No. 4, 27 pages, IEEE. |
Lasserre, Marc, et al., “Framework for Data Center (DC) Network Virtualization,” RFC 7365, Oct. 2014, 26 pages, IETF. |
Lin, Weidong, et al., “Using Path Label Routing in Wide Area Software-Defined Networks with Open Flow,” 2016 International Conference on Networking and Network Applications, Jul. 2016, 6 pages, IEEE. |
Non-Published Commonly Owned U.S. Appl. No. 17/240,890, filed Apr. 26, 2021, 325 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/240,906, filed Apr. 26, 2021, 18 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/467,378, filed Sep. 6, 2021, 157 pages, VMware, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/474,034, filed Sep. 13, 2021, 349 pages, VMware, Inc. |
Guo, Xiangyi, et al., (U.S. Appl. No. 62/925,193) filed Oct. 23, 2019, 26 pages. |
Non-Published Commonly Owned U.S. Appl. No. 17/542,413, filed Dec. 4, 2021, 173 pages, VMware, Inc. |
Huang, Cancan, et al., “Modification of Q.SD-WAN,” Rapporteur Group Meeting—Doc, Study Period 2017-2020, Q4/11-DOC1 (190410), Study Group 11, Apr. 10, 2019, 19 pages, International Telecommunication Union, Geneva, Switzerland. |
Non-published Commonly Owned U.S. Appl. No. 17/187,913, filed Mar. 1, 2021, 27 pages, Nicira, Inc. |
Alvizu, Rodolfo, et al., “SDN-Based Network Orchestration for New Dynamic Enterprise Networking Services,” 2017 19th International Conference on Transparent Optical Networks, Jul. 2-6, 2017, 4 pages, IEEE, Girona, Spain. |
Barozet, Jean-Marc, “Cisco SD-WAN as a Managed Service,” BRKRST-2558, Jan. 27-31, 2020, 98 pages, Cisco, Barcelona, Spain, retrieved from https://www.ciscolive.com/c/dam/r/ciscolive/emea/docs/2020/pdf/BRKRST-2558.pdf. |
Barozei, Jean-Marc, “Cisco SDWAN,” Deep Dive, Dec. 2017, 185 pages, Cisco, Retreived from https://www.coursehero.com/file/71671376/Cisco-SDWAN-Deep-Divepdf/. |
Bertaux, Lionel, et al., “Software Defined Networking and Virtualization for Broadband Satellite Networks,” IEEE Communications Magazine, Mar. 18, 2015, 7 pages, vol. 53, IEEE, retrieved from https://ieeexplore.ieee.org/document/7060482. |
Cox, Jacob H., et al., “Advancing Software-Defined Networks: A Survey,” IEEE Access, Oct. 12, 2017, 40 pages, vol. 5, IEEE, retrieved from https://ieeexplore.ieee.org/document/8066287. |
Duan, Zhenhai, et al., “Service Overlay Networks: SLAs, QoS, and Bandwidth Provisioning,” IEEE/ACM Transactions on Networking, Dec. 2003, 14 pages, vol. 11, IEEE, New York, NY, USA. |
Li, Shengru, et al., “Source Routing with Protocol-oblivious Forwarding (POF) to Enable Efficient e-Health Data Transfers,” 2016 IEEE International Conference on Communications (ICC), May 22-27, 2016, 6 pages, IEEE, Kuala Lumpur, Malaysia. |
Ming, Gao, et al., “A Design of SD-WAN-Oriented Wide Area Network Access,” 2020 International Conference on Computer Communication and Network Security (CCNS), Aug. 21-23, 2020, 4 pages, IEEE, Xi'an, China. |
Tootaghaj, Diman Zad, et al., “Homa: An Efficient Topology and Route Management Approach in SD-WAN Overlays,” IEEE INFOCOM 2020—IEEE Conference on Computer Communications, Jul. 6-9, 2020, 10 pages, IEEE, Toronto, ON, Canada. |
Alsaeedi, Mohammed, et al., “Toward Adaptive and Scalable OpenFlow-SDN Flow Control: A Survey,” IEEE Access, Aug. 1, 2019, 34 pages, vol. 7, IEEE, retrieved from https://ieeexplore.ieee.org/document/8784036. |
Long, Feng, “Research and Application of Cloud Storage Technology in University Information Service,” Chinese Excellent Masters' Theses Full-text Database, Mar. 2013, 72 pages, China Academic Journals Electronic Publishing House, China. |
Non-Published Commonly Owned U.S. Appl. No. 17/562,890, filed Dec. 27, 2021, 36 pages, Nicira, Inc. |
Non-Published Commonly Owned U.S. Appl. No. 17/572,583, filed Jan. 10, 2022, 33 pages, Nicira, Inc. |
Noormohammadpour, Mohammad, et al., “DCRoute: Speeding up Inter-Datacenter Traffic Allocation while Guaranteeing Deadlines,” 2016 IEEE 23rd International Conference on High Performance Computing (HiPC), Dec. 19-22, 2016, 9 pages, IEEE, Hyderabad, India. |
Number | Date | Country | |
---|---|---|---|
20220006751 A1 | Jan 2022 | US |