Emulating packet flows to assess network links for SD-WAN

Information

  • Patent Grant
  • 11929903
  • Patent Number
    11,929,903
  • Date Filed
    Friday, April 9, 2021
    3 years ago
  • Date Issued
    Tuesday, March 12, 2024
    a month ago
Abstract
Some embodiments provide a novel method for assessing the suitability of network links for connecting compute nodes located at different geographic sites. The method of some embodiments identifies and analyzes sample packets from a set of flows exchanged between first and second compute sites that are connected through a first network link in order to identify attributes of the sampled packets. The method also computes attributes of predicted packets between the identified samples in order to identify attributes of each flow in the set of flows. The method then uses the identified and computed attributes of each flow in the set of flows to emulate the set of flows passing between the two compute sites through the second network link in order to assess whether a second network link should be used for future flows (e.g., future flows exchanged between the first and second compute sites).
Description
BACKGROUND

In recent years, several companies have brought to market solutions for deploying software defined (SD) wide-area networks (WANs) for enterprises. Some such SD-WAN solutions use external third-party private or public cloud datacenters (clouds) to define different virtual WANs for different enterprises. These solutions typically have edge forwarding elements (called edge devices) at edge nodes of an enterprise that connect with one or more gateway forwarding elements (called gateway devices or gateways) that are deployed in the third-party clouds.


In such a deployment, an edge device connects through one or more secure connections with a gateway, with these connections traversing one or more network links that connect the edge device with an external network. Examples of such network links include MPLS links, 5G LTE links, commercial broadband Internet links (e.g., cable modem links or fiber optic links), etc. The edge nodes include branch offices (called branches) of the enterprise, and these offices are often spread across geographies with network links to the gateways of various different network connectivity types.


BRIEF SUMMARY

Some embodiments of the invention provide a novel method for assessing the suitability of network links for connecting compute nodes located at different geographic sites. The method of some embodiments performs this assessment to evaluate network links used to connect different sites in an SD-WAN. The method of some embodiments identifies and analyzes sample packets from a set of flows exchanged between first and second compute sites that are connected through a first network link in order to identify attributes of the sampled packets. The method also computes attributes of predicted packets between the identified samples in order to identify attributes of each flow in the set of flows.


The method then uses the identified and computed attributes of each flow in the set of flows to emulate the set of flows passing between the two compute sites through the second network link in order to assess whether a second network link should be used for future flows (e.g., future flows exchanged between the first and second compute sites). The assessment is performed in some embodiments to determine whether the second network link should be used for a subset of future flows between the first and second sites. In some embodiments, the second network link is less expensive and has a lower performance than the first network link. For instance, in some embodiments, the first network link is an MPLS link, while the second network link is a commercial Internet link (e.g., a cable modem).


The method of some embodiments computes attributes of predicted packets by first identifying one or more predicted packets between sampled packets of each flow in the set of flows, and identifying attributes of the predicted packets. In some embodiments, the identified and computed attributes include packet delay attributes. The method of some of these embodiments uses the identified and computed attributes for its emulation by first normalizing the identified and computed delays by removing predicted delays for packets traversing between the first and second compute sites through the first network link, and then using these normalized delays to perform its emulation.


In some embodiments, the normalized delays represent communication delays between processes that exchange the flows in the set of flows (e.g., between applications that execute on devices at the first and second sites) after the removal of the delays associated with the packet passing through the first network. In other words, the normalizing is performed in some embodiments to render the assessment regarding the use of the second network link agnostic (i.e., independent) of operating conditions of the first network link. To perform the normalizing, the method in some embodiments identifies sets of request flows and response flows between the first and second sites, computes the delay between a request flow and a response flow associated with the request flow (i.e., the request flow's corresponding response flow), and removes communication delay through the first network from each computed delay.


To perform its emulation, the method of some embodiments also monitors a set of operating conditions associated with the second network link, and uses the monitored set of operating conditions in the emulation. The emulation in some embodiments generates predicted attributes for the set of flows if the set of flows had been exchanged through the second network link. It then compares the generated predicted attributes for the packet flows through the second link with the identified and computed attributes associated with packet flows through the first link to compare the quality of the second network link with the quality of the first network link.


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, the Drawings and the Claims is needed. Moreover, the claimed subject matters are not to be limited by the illustrative details in the Summary, Detailed Description and the Drawing.





BRIEF DESCRIPTION OF THE DRAWINGS

The novel features of the invention are set forth in the appended claims. However, for purposes of explanation, several embodiments of the invention are set forth in the following figures.



FIG. 1 illustrates process performed by a network analytics tool in some embodiments to implement the method of some embodiments.



FIG. 2 illustrates sampling of packets along their egress paths from one SD-WAN site to another SD-WAN site.



FIG. 3 conceptually illustrates the components of a network analyzing server of some embodiments.



FIG. 4 illustrates examples of tables created by the network analyzing server in some embodiments.



FIG. 5 presents an example that illustrates a typical TCP communication between two sites in an SD-WAN.



FIG. 6 illustrates four examples of how the trace builder identifies the predicted missing packets (i.e., how it fills-in the missing packets).



FIG. 7 illustrates five sequences of request and response flow.



FIG. 8 illustrates an example of a table produced by an emulator to summarize the Internet network conditions associated with two flows, which could be between the same pair of sites or between two different pairs of sites.



FIG. 9 illustrates how the emulator replays the client requests/responses through the commercial Internet connections of the first and second sites.



FIG. 10 illustrates an example of a report generated through a user interface.



FIG. 11 illustrates an example of an SD-WAN of some embodiments.



FIG. 12 conceptually illustrates a computer system with which some embodiments of the invention are implemented.





DETAILED DESCRIPTION

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 of the invention provide a novel method for assessing the suitability of network links for connecting compute nodes located at different geographic sites. The method of some embodiments identifies and analyzes sample packets from a set of flows exchanged between first and second compute sites that are connected through a first network link in order to identify attributes of the sampled packets. The method also computes attributes of predicted packets between the identified sample packets in order to identify attributes of each flow in the set of flows. The method then uses the identified and computed attributes of each flow in the set of flows to emulate the set of flows passing between the two compute sites through the second network link in order to assess whether the second network link should be used for future flows (e.g., future flows exchanged between the first and second compute sites).


As used in this document, a packet refers to a collection of bits in a particular format sent across a network. One of ordinary skill in the art will recognize that the term packet is used in this document to refer to various formatted collections of bits that are sent across a network. The formatting of these bits can be specified by standardized protocols or non-standardized protocols. Examples of packets following standardized protocols include Ethernet frames, IP packets, TCP segments, UDP datagrams, etc. Also, as used in this document, references to L2, L3, L4, and L7 layers (or layer 2, layer 3, layer 4, and layer 7) are references respectively to the second data link layer, the third network layer, the fourth transport layer, and the seventh application layer of the OSI (Open System Interconnection) layer model.



FIG. 1 illustrates a process 100 performed by a network analytics tool in some embodiments to implement the method of some embodiments. This process is performed in some embodiments to evaluate network links used to connect different sites in an SD-WAN. For instance, some embodiments perform this assessment to determine whether a less expensive, secondary network link should be used for a subset of future flows between the first and second sites in the SD-WAN, instead of a more expensive primary network link. One example of a less-expensive, secondary network link in some embodiments is a commercial Internet connection (e.g., a cable modem connection) that has a lower quality of service (QoS) performance than an MPLS link, which is often used as a primary connection to connect different geographic sites to a WAN.


The process 100 initially (at 105) identifies sample packets from a set of flows exchanged between first and second compute sites through a first network link (e.g., an MPLS link), and identifies attributes of the sampled packets (e.g., the packet headers, metadata regarding the packets, etc.). FIG. 2 illustrates that in some embodiments, the sample packets are collected by sFlow packet samplers 205 (which can be software engines or hardware appliances) that are deployed in the egress path of the packets from the first site 210 to the second site 212, and from the second site to the first site. In this example, each packet sampler 205 is deployed at the egress path between gateways 220 at the sites and the MPLS forwarding element 225 at these sites. In this example, the gateways 220 can also route packets to each other through commercial Internet routers 255.


The packet sampler 205 selects a subset sample of egress packets going from the gateways 220 to the MPLS forwarding element 225, and forwards copies of the selected subset of sample egress packets to a network analysis server 250 that the performs much of the analysis of the process 100. Instead of sending a copy of the sampled subset of egress packets, the packet sampler 205 sends attributes of the sampled subset of egress packets in some embodiments. As further described below, these attributes in some embodiments include a timestamp (e.g., the time when the packet was sampled or the time the packet was sent along the egress path), the flow identifier of the packet (i.e., the packet's five tuple identifier, which includes the source and destination IP address, source and destination port and protocol), and the packet size.


The network analysis server 250 executes on a computer at the first site 210 or the second site 212 in some embodiments, while it executes on a computer in a different datacenter (e.g., a public or private cloud datacenter) in other embodiments. The packet samplers 205 send the sampled packets or attributes of the sample packets to the network analyzer 250 through an intervening network (e.g., a local area network of the sampler's site and/or an external network, such as the Internet).


In other embodiments, the packet sampler 205 is only deployed at one of the two sites (e.g., the first site 210), but it samples both ingress and egress packets between its site (e.g., the first site) and the other site (e.g., the second site). Irrespective of how the sample packets are captured, the process 100 in some embodiments captures one or more attributes of the packets (e.g., the sizes of the packets, the transmission times of the packets, etc.), as further described below by FIGS. 3-4.


After identifying a sampled subset of the packets from the flows being exchanged between the first and second sites, the process 100 (at 110) identifies predicted packets that are part of the sampled flows between the sites, and identifies attributes for these predicted packets, in order to identify attributes of each sampled flow. In some embodiments, the network analysis server 250 identifies these predicted packets and their attributes to produce predicted complete flows that are exchanged between the first and second sites, so that it can perform its analysis of the suitability of the second network link (e.g., the commercial Internet connection link) based on complete flow descriptions. The generation of the predicted packets and the identification of their attributes will be further described below by reference to FIGS. 3-4.


Before using the identified and computed attributes of the sampled and predicted packets, the process 100 normalizes (at 115) these attributes to remove one or more conditions associated with the first network link. In some embodiments, the identified and computed attributes include packet delay attributes. To normalize the identified and computed delay attributes, the network analyzing server 250 in some of these embodiments removes the predicted delays for packets traversing between the first and second compute sites through the first network link from the identified and computed delay attributes of the packets, so that it can use these normalized delays to perform its emulation.


In some embodiments, the normalized delays represent communication delays between processes that exchange the flows in the set of flows (e.g., between processes that execute on devices at the first and second sites) after the removal of the delays associated with the packet passing through the first network. In other words, the normalizing is performed in some embodiments to render the assessment regarding the use of the second network link agnostic (i.e., independent) of operating conditions of the first network link. In some embodiments, the process 100 identifies and normalizes other packet-traversal attributes for packets traversing between the two sites. For instance, in some embodiments, the process 100 identifies packet jitter (which in some embodiments is computed as the derivative of the packet delay) for the packets exchanged between the first and second sites through the first network link, and then normalizes the identified packet jitter to remove the jitter due to the first network link.


To perform its normalizing operation, the process 100 in some embodiments identifies sets of request flows and response flows between the first and second sites, computes the delay between each request flow and the response flow associated with the request flow (i.e., between each request flow and its corresponding response flow), and removes communication delay through the first network from each computed delay, as further described below by reference to FIG. 7.


To perform its emulation, some embodiments monitor a set of operating conditions associated with the second network link, and then use the monitored set of operating conditions in the packet flow emulation of the network analyzing server 250. Accordingly, after normalizing the identified and computed attributes of the sampled and predicted packets, the process 100 uses (at 120) the normalized, identified and computed attributes of each sampled flow to emulate the flow passing between the first and second sites through the second network link (e.g., the cable modem Internet link) in order to assess whether the second network link should be used for future flows (e.g., future flows exchanged between the first and second compute sites). This emulation will be further described below by reference to FIG. 9.


After generating the emulated packet flow results (specifying the predicted traversal of the sampled flows through the second network link), the network analyzing server 250 generates (at 125) a report that compares the traversal of the sampled flows through the second link with the traversal of the sampled flows through the first link. This report is then used to compare the quality of the second network link to the quality of the first network link on a per flow or per category of flow basis (e.g., for VoIP calls, for video conferencing, for VPN access, etc.). This generation and assessment of such reports will be further described below by reference to FIG. 10.


One of ordinary skill will realize that other embodiments perform their comparison of the first and second network links differently than the process 100. For instance, instead of sampling some of the packets of some or all of the flows exchanged between two sites through the first network link, other embodiments copy all of the packets, or capture attributes of all of the packets, of a subset of flows (e.g., all of the VoIP packets) exchanged between the two sites. To copy these packets or capture their attributes, some embodiments utilize packet mirroring software engines or hardware appliances deployed in the egress paths of the packets (e.g., between gateways 220 and MPLS forwarding elements 225).


The packet mirroring engines/appliances send a copy of each packet of the subset of flows (e.g., of the VoIP flows), or the captured attributes of each of these packets. In some embodiment, the packet mirrors use a deep packet inspection engine to determine that the packet belongs to the subset of flows. In other embodiments, the packet mirrors use tags associated with the packets (or some other commonly known technique to identify a payload of a packet flow) to determine that the packet belongs to the subset of flows. These tags are generated by context capturing engines or deep packet inspection engines executing on host computers that also execute the source machines of the packets. Examples of such engines are described in U.S. Pat. No. 10,802,857, which is incorporated herein by reference.



FIG. 3 conceptually illustrates the components of the network analyzing server 250 of some embodiments. As shown, these components include a trace builder 305, a message exchange builder 310, a network condition monitor 315, a data set normalizer 320, an emulator 325 and a user interface 330. Instead of operating on one server in some embodiments, these components in other embodiments execute on multiple machines (e.g., multiple containers and/or virtual machines).


The trace builder 305 collects the packets forwarded by the packet samplers 205 (or packet mirrors) that are deployed in the first site 210 and/or second site 212 at the packet egress data paths. From the packet sampled for each flow, the trace builder 305 completes each flow's definition by predicting the number of missing packets between the sampled packets and predicting the attributes of the predicted packets. The trace builder 305 builds a list of each sampled or predicted packet of each flow, and the attributes of these packets.


The OSI 7-layer model specifies that the application layer is independent of the networking (TCP/IP) layer. Hence, some embodiments use the application layer (e.g., HTTP) request-responses to build a trace independent of the network conditions. However, due to HTTPS, a significant fraction of the traffic is encrypted. For such flows, it is hard to obtain the exact requests and responses. Additionally, collecting an HTTP request/response can be intrusive (requires agents running on clients and servers). Accordingly, instead of collecting actual packets, some embodiments collect size data regarding the packets. Collecting the request and response packet sizes serves the purpose of eliminating the impact of MPLS network conditions and create a trace independent of the network conditions.


To identify HTTP request/response sizes, some embodiments sample the packets directly from the router connected to MPLS link by using an sFlow sampling tool, as described above. The sFlow sampling tool is versatile and is supported by most of the routers. As mentioned above, some embodiments do not store the entire sampled packet because the content of the packet does not have as much value for the emulation as its size. These embodiments instead store the packet sizes. For instance, for each sampled packet, a packet sampler 205 would store a timestamp, the flow identifier of the packet (i.e., the packet's five tuple identifier), and the packet size.


Table 405 of FIG. 4 illustrates examples of records 402, 404, 406, 408 created for four packets sampled at the first site 210 by the packet sampler 205. These records show the timestamp, five tuple identifier and size of each of the three sampled packets. For the example illustrated in table 405 of FIG. 4, table 410 shows the addition of a record 412 relating to a predicted packet that the trace builder 305 identifies between the records 402 and 404.


To identify the predicted missing packets that are not sampled by the packet samplers 205, the trace builder 305 uses the following characteristics of a TCP flow: (1) TCP sends data with increasing sequence numbers, (2) the TCP acknowledgement for sequence number X indicates packet with sequence number X was previously sent, and (3) TCP sends packets in bursts based on the congestion window (indirectly based on the data transmission rate).



FIG. 5 presents an example that illustrates a typical TCP communication. This example illustrates TCP communication between two sites. When one node sends TCP data packets 505, the other node selectively sends acknowledgements 510. The data packets 505 contain a sequence number indicating the data position relative to the first data byte sent. The acknowledgement 510 contains the sequence number expected by the other end. Due to congestion control, packets are not sent at uniform intervals. Instead, they are sent in burst batches 515 as shown in FIG. 5.


To fill-in the missing packets (the packets not sampled by the packet sampler 205), the trace builder 305 performs the following operations. For each two consecutive sampled packets in a flow, the trace builder identifies the missing sequence numbers and the position for packets with such missing sequence numbers. The benefit of this approach is that it runs in O(n) time (n being the number of packets) with overall space complexity of O(n), and run-time space complexity (i.e., memory to store temporary data) of O(1).



FIG. 6 illustrates four examples 605-620 of how the trace builder 305 identifies the predicted missing packets (i.e., how it fills-in the missing packets). Each of these four examples is based on how the two consecutive packets are received for each individual TCP flow from the packet sampler 205. In the first example 605, the two sampled packets are two data packets 602 and 604 (like data packets 505) sent from one site to the other site, and these two data packets have consecutive sequence numbers. For this case, the trace builder 305 does not predict any missing packets between the two sampled packets.


In the second example 610, the two sampled packets 612 and 614 are two data packets 505 with a gap in sequence numbers. Here, the trace builder 305 uses the maximum packet size (e.g., 1000 bytes) to determine number (N) of missing packets, and then assigns N/2 packets after the first packet 612 and N/2 packets before the second packet 614. In this example, the gap has a value of 2000 bytes, while the maximum TCP packet size is 1000 bytes. Hence, the trace builder 305 identifies predicted packets 616 and 618 and places these packets between the two packets 612 and 614.


In the third example 615, the two sampled packets are a data packet 622 (like a data packet 505) and an acknowledgment packet 624 (like an acknowledgment packet 510) with no gap in sequence numbers. For this case, the trace builder 305 does not predict any missing packet between the two sampled packets.


In the fourth example 620, the two sampled packets include one data packet 632 (like a data packet 505) and one acknowledgment packet 634 (like an acknowledgment packet 510) with a gap in sequence numbers between these two packets. Here, the trace builder 305 uses the maximum packet size (e.g., 1000 bytes) to determine number (N) of missing packets, and then assigns all N packets (in this case two packets 636 and 638) after the data packet 632 as an acknowledgment packet is sent right after corresponding sequence number is received. It can happen that the packets are reordered where data packets are received with non-monotonically increasing sequence numbers. In such situations, the trace builder 305 drops packets that are received out-of-order.


Storing packet trace data can have a large overhead. To store the metadata regarding request and response packet sizes, some embodiments use 8 bytes to store a timestamp, 12 bytes to store the five tuple ID, and 2 bytes to store the packet size for a total of 22 bytes. Assuming an average of 1 Gbps total traffic with an average 1 KB packet size, and a 131 K number of packets per second, the total data size to record per second is 2.75MB/s (i.e., 131 K*22 B). This would result in a total data size of 1.6 TB collected in 1 week (2.75 MB/s*7*24*3600). This is a large storage overhead.


To reduce the packet trace size, some embodiments use the following three compression techniques. These compression techniques work as the packet data arrives, and do not need to be performed on a batch of the data. First, instead of storing the five tuple ID for each packet record, all the packets associated with one flow are stored in one storage structure (e.g., one table, one file, etc.) associated with the five tuple. In the above example, this reduces the total size from 22 bytes per packet to about 10 bytes per packet (8 for the timestamp and 2 for the packet size), which, in turn, reduces the total storage size from 1.6 TB to 0.72 TB.


Second, the timestamp is encoded using delta compression where the “delta” value of the timestamp is stored instead of the actual timestamp. Assuming at least one packet is sent in 10 minutes, 20 bits are needed to store the delta values. Instead of storing an 8 byte timestamp, some embodiments use 3 byte values to represent the deltas. This reduces total storage size in the above example from 0.72 TB to about 0.27 TB.


Third, instead of storing absolute packet sizes, some embodiments store quantized packet sizes (i.e., identify the packet-size “bucket” with which the packet should be associated). Instead of storing 2 byte packet sizes, some embodiments store 1 byte packet sizes for 256 packet-size buckets. Additionally, some embodiments use dictionary compression to store the common packet sizes. These packet size compressions reduce the storage size in the above example from 0.27 TB to 0.14 TB. Hence, these three compression techniques have an 11.4 time reduction on the overall storage size in the example above.


After the trace builder 305 identifies the predicted packets, and stores the attributes of the sampled and predicted packets to complete the description of the bi-directional flow between the first and second sites, the message exchange builder 310 transforms the individual packets identified by the trace builder 305 into a series of http requests and responses. To create the client requests/responses, the message exchange builder 310 labels a node (a site) as “client” when it initiates the TCP connection (sends the SYN packet), while labeling the other node (the other site) as the “server” that sends the responses back to client. It identifies an individual request as all of the data packets from the client before the next batch of packets from the server, and identifies an individual response as all server packets before the next request packet.


For the example illustrated in FIG. 4, a third table 415 illustrates two sets of response and request records 422 and 424 for two sets of responses/requests that are identified in the second table 410 of this figure. Each response/request record 422 or 424 stores a timestamp, a five tuple ID, the size of the request packets in this record's sequence of requests, the size of the response packets in this record's sequence of responses, and an app-delay value. The app-delay value in some embodiments is the time delay between the last request in a request/response sequence and the first response in the request/response sequence.


To illustrate the app-delay value, FIG. 7 illustrates five sequences 702-710 of requests and responses. Each sequence has one or more request packets followed by one or more response packets. For instance, the fourth and fifth request/response sequences 708 and 710 have one request packet and one response packet, while the first and second request/response sequences 702 and 704 have more than one request packets and more than one response packets. The third request/response sequence 706 has one request packet and four response packets. In each of these sequences, the app-delay value is the time between the last request packet in the sequence (e.g., the request packet 712 in the first request/response sequence) and the first response packet in the sequence (e.g., the response packet 714).


After the message exchange builder 310 transforms the individual packets identified by the trace builder 305 into a series of http requests and responses, and identifies and stores one or more attributes of each sequence of requests/responses, the data set normalizer 320 normalizes these attributes to remove one or more conditions associated with the first network link (e.g., the MPLS link). For instance, to normalize the identified app-delay attribute of each request/response sequence identified by the message exchange builder 310, the data set normalizer in some of these embodiments removes the predicted delay for packet traversal between the first and second compute sites through the first network link from the app-delay attributes. This normalization is performed in some embodiments to render the assessment regarding the use of the second network link agnostic (i.e., independent) of operating conditions of the first network link.


To identify the predicted delay for the packet traversal between the first and second compute sites, the data set normalizer 320 receives the predicted delay of the first network link from the network condition monitor 315 based on measurements collected at the first and second sites regarding the first network link. In some embodiments, measurement agents at the first and second sites (e.g., measurement agents associated with the SD-WAN gateway 220) repeatedly generate delay measurement for the first network link by repeatedly pinging each other. In these embodiments, multiple different measured delays can be used as the predicted delays of the first network link at different times, and the closest measured delay for each request/response sequence can be subtracted from the sequence's measured app delay.


After the data set normalizer 320 normalizes each request/response sequence's attributes to remove one or more conditions associated with the first network link, the emulator 325 uses the normalized attributes of each request/response sequence of each sampled flow to emulate the passing of each flow between the first and second sites through the second network link. This is done in order to assess whether the second network link should be used for future flows (e.g., future flows exchanged between the first and second compute sites).


To perform its emulation, the emulator 325 needs to have data regarding the characteristics of the second network link. The emulator gets this data from the network condition monitor 315, which in some embodiments obtains this data from measurement agents at the first and second sites (e.g., measurement agents associated with the SD-WAN gateway 220). The network condition monitor 315 produces for each flow one or more sets of network condition metrics, such as Round-Trip-Time (RTT) values, peak bandwidth (BW) values, and packet drop.


As mentioned above, the second network link is a commercial Internet connection (e.g., a cable modem connection) in some embodiments. FIG. 8 illustrates an example of a table 805 used by the emulator 325 to summarize the Internet network conditions associated with two flows, which could be between the same pair of sites or between two different pairs of sites. In this example, the Internet network conditions are expressed in terms of one or more sets of RTT values, peak bandwidth values, and drop rates, with each set associated with a different instance in time.


When an IP address is accessible from Internet, it is straightforward to measure the Internet conditions (e.g., RTT, bandwidth etc.) easily by sending traffic between the first and second sites through the Internet connection of each site. However, the IP addresses can be private (e.g., 10.X.X.X). For example, 10.0.0.1 on the first site can be exchanging packets with 10.0.1.1 at the second site, but this exchange requires indirect routing (e.g., through tunneling) and even there it might require route changes that are not always possible.


To get Internet conditions for private destination IP addresses, some embodiments use one of two possible solutions. The first solution measures the Internet conditions using proximity. Based on the trace, these embodiments collect the IP addresses accessed from each site. For example, the first site (city =Lafayette) accesses 10.0.0.1, 10.0.0.2, and 10.1.0.1. For this site, the network condition monitor uses geo-tag values (e.g., 10.0.0.1, 10.0.0.2: Chicago. 10.1.0.1: New York) associated with the IP addresses to find the public IP addresses near the geo-tagged IP addresses. In some embodiments, the private IP addresses are geo-tagged by each site's network administrator or by the SD-WAN administrator.


The closest IP addresses are identified in some embodiments by using public clouds, CDNs and other publicly available PoPs (point-of-presence). Once the nearby public IP addresses are identified for the private IP addresses, the network condition monitor 315 uses agents to measure the Internet conditions (e.g., RTT (using syn-packets), packet drop by sending burst of packets, etc.) for these nearby public IP addresses. It then uses these measurements as the measurements for the Internet connections to the private IP addresses used by the flows.


The second solution uses the Internet conditions as specified by the users. Specifically, in some embodiments, the users provide the Internet conditions. These conditions can vary over time, e.g., the conditions are different on a weekend compared to a weekday, or the same for black Friday sales or other events. In these embodiments, customers can specify the Internet conditions including the RTT and peak bandwidth.


Based on the Internet network condition parameters, the emulator 325 uses the normalized attributes of each request/response sequence of each sampled flow to compute flow traversal attributes of each flow between the first and second sites through the second network link. In other words, the emulator 325 replays each sampled communication session through the second network link (e.g., through the Internet connection).



FIG. 9 illustrates how the emulator 325 replays the client requests/responses through the commercial Internet connections of the first and second sites 210 and 212. Specifically, it shows the emulator 325 using four machines, which are an orchestrator machine 905, a client machine 910, a network condition machine 920 and a server machine 915. Each of these machines in this example are VMs, but in other embodiments they can be other types of machines or processes, such as containers, etc.


The client and server machines 910 and 915 emulate the first and second site source and destination machines, while the network condition machine 925 emulates the intervening network fabric between these two sites. Through the network condition machine 920, the client machine 910 continually sends the emulated HTTP requests identified by the trace builder 305, while the server 915 continually sends the responses back to the client 910. The client and server machines send these packets based on timing data provided by the orchestrator. Throughout this process, the orchestrator 905 measures the flow completion times (FCT) for each flow.


More specifically, based on the input from orchestrator 905, the client and server machines 910 and 915 (1) establish a TCP connection and transfer data, (2) measure the flow completion time, and (3) report the measured FCTs to the orchestrator 905. In some embodiments, the TCP port numbers from the original trace are changed based on availability, e.g., if port 80 is occupied, then (for that connection) the server runs on the next available port (e.g., 81). Client measures the FCT (flow completion time) for each connection and reports its measurements to the orchestrator machine 905.


In this setup, the network condition machine 920 applies the network conditions received from orchestrator 905 to the packets that it passes from the client to the server or the server to the client. FIG. 9 presents a table 950 that expresses the network conditions for the different request/response sequences produced by the trace builder 305. As shown, these network conditions in some embodiments can be different for different connections. Based on the above input, the orchestrator 905 passes the request size and time to send the request to the client 910. Similarly, it passes the response size and time to the server 915. Additionally, the orchestrator 905 passes the network conditions to the network condition machine 920, which then uses these conditions in determining when to replay the packets sent from one site to the other site.


After generating the emulated packet flow results (specifying the predicted traversal of the sampled flows through the second network link), the emulator 325 in some embodiments stores the emulated results in a storage (not shown) that can be queried through the user interface 330 to generate one or more reports that compare the traversal of the sampled flows through the second link with the traversal of the sampled flows through the first link. Such reports can then be used to compare the quality of the second network link to the quality of the first network link on a per flow or per category of flow basis (e.g., for VoIP calls, for video conferencing, for VPN access, etc.).


For instance, when comparing the traversal of a particular flow or class of flows through the MPLS link versus the traversal of flows through commercial Internet link, the user interface 330 obtains the FCTs for the flow or flows through the MPLS network based on the records produced by the trace builder 305 and compares these FCTs with FCTs produced by the emulator 325. Based on this comparison, the user interface 330 produces a report that compares the different FCTs through the different links in order to allow the user to determine which flows it can move to the commercial Internet link.



FIG. 10 illustrates an example of a report 1000 generated through the user interface 330. As shown, this report provides a percentage of service degradation (as expressed through the FCT metric) for a particular volume of monitored traffic flow related to seven sets of flows (referred to in this figure as services). In this example, the user has specified that the commercial Internet connection should not be used if the performance degradation is more than 10%. Hence, the generated report 1000 identifies the commercial Internet connection as unsuitable for the first, third and fourth flow sets. This report also shows that the Internet connection is suitable for the second, fifth, sixth and seventh sets of flows. By moving these sets of flows from the MPLS link to the commercial Internet link, the user can move 53% of the traffic to the commercial Internet link and reduce its MPLS cost by a substantial amount.


As mentioned above, some embodiments of the invention are used to evaluate network links that are used to establish an SD-WAN. FIG. 11 illustrates an example of an SD-WAN 1100 (also referred to below as virtual network) for connecting multiple branch sites to each other and to a controller and at least one datacenter hub. As shown, the SD-WAN 1100 includes a controller 1110, three branch sites 1120-1124 that each include an edge forwarding node 1130-1134 (also referred herein as edge nodes or nodes), a cloud gateway 1140, and a datacenter 1150 with a hub 1145.


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 other nodes, hubs, etc. in the virtual network. In some embodiments, the nodes are clusters of nodes at each of the branch sites. In other embodiments, the edge nodes are deployed at each of the branch sites as high-availability pairs such that one edge node in the pair is the active node and the other edge node in the pair is the standby node that can take over as the active edge node in case of failover.


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, hubs like the hub 1145 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 SD-WAN 1100, the hub 1145 is a single tenant or multi-tenant forwarding element that is deployed on the premises of the datacenter 1150. The hub 1145 can be used to establish secure connection links (e.g., tunnels) with edge nodes at the particular entity's multi-computer sites, such as branch sites 1130-1134, third party datacenters (not shown), etc. For example, the hub 1145 can be used to provide access from each branch site 1120-1124 to each other branch site 1120-1124 (e.g., via the connection links 1160 that terminate at the hub 1145) as well as to the resources 1155 of the datacenter 1150. These multi-computer sites are often at different physical locations (e.g., different buildings, different cities, different states, etc.), according to some embodiments. In some embodiments, hubs can be deployed as physical nodes or virtual nodes. Additionally, hubs in some embodiments can be deployed on a cloud (e.g., as a set of virtual edges configured as a cluster).


In the SD-WAN 1100, the hub 1145 also provides access to the resources 1155 of the datacenter 1150 as mentioned above. The resources in some embodiments include a set of one or more servers (e.g., web servers, database servers, etc.) within a microservices container (e.g., a pod). Conjunctively, or alternatively, some embodiments include multiple such microservices containers, each accessible through a different set of one or more hubs of the datacenter (not shown). The resources, as well as the hubs, are within the datacenter premises, according to some embodiments. While not shown, some embodiments include multiple different SaaS datacenters, which may each be accessed via different sets of hubs, according to some embodiments. In some embodiments, the SaaS datacenters include datacenters for video conferencing SaaS providers, for middlebox (e.g., firewall) service providers, for storage service providers, etc.


Additional examples of resources accessible via the hub 1145, in some embodiments, 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 1160 between the branch sites 1120-1124 and the hub 1145 are secure encrypted connections that encrypt packets exchanged between the edge nodes 1130-1134 of the branch sites 1120-1124 and the hub 1145. Examples of secure encrypted connections used in some embodiments include VPN (virtual private network) connections, or secure IPsec (Internet Protocol security) connection.


In some embodiments, multiple secure connection links (e.g., multiple secure tunnels) can be established between an edge node and the hub 1145. When multiple such links are defined between a node and a hub, each secure connection link, in some embodiments, is associated with a different physical network link between the node and an external network. For instance, to access external networks in some embodiments, a 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. The collection of the edge nodes, gateway, datacenter hub, controller, and secure connections between the edge nodes, gateway, datacenter hub, and controller form the SD-WAN 1100.


As mentioned above, the controller 1110 communicates with each of the nodes 1130-1134 at the branch sites 1120-1124, in some embodiments, to exchange information via the connection links 1170A-1170C. The controller 1110 also communicates with the gateway 1140 and hub 1145 through the connection links 1170D-1170E to exchange information. While illustrated as individual connection links, the links 1170A-1170E are sets of multiple connection links, according to some embodiments. In addition to the connection links 1170A-1170E and 1160, edge nodes 1132 and 1134 are connected via a connection link 1164, while edge nodes 1130 and 1132 are connected to the gateway 1140 via connection links 1162. The gateway 1140 in this example is responsible for relaying information between edge nodes (e.g., edge nodes 1130 and 1132, which do not share a direct connection). Also, the gateway 1140 in some embodiments is used to set up direct edge-to-edge connections. In some embodiments, the gateway 1140 can be used to provide the edge nodes with access to cloud resources (e.g., compute, storage, and service resources of a cloud datacenter).


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.



FIG. 12 conceptually illustrates a computer system 1200 with which some embodiments of the invention are implemented. The computer system 1200 can be used to implement any of the above-described hosts, controllers, and network analyzers. As such, it can be used to execute any of the above described processes. This computer system includes various types of non-transitory machine readable media and interfaces for various other types of machine readable media. Computer system 1200 includes a bus 1205, processing unit(s) 1210, a system memory 1225, a read-only memory 1230, a permanent storage device 1235, input devices 1240, and output devices 1245.


The bus 1205 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computer system 1200. For instance, the bus 1205 communicatively connects the processing unit(s) 1210 with the read-only memory 1230, the system memory 1225, and the permanent storage device 1235.


From these various memory units, the processing unit(s) 1210 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) 1230 stores static data and instructions that are needed by the processing unit(s) 1210 and other modules of the computer system. The permanent storage device 1235, 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 1200 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 1235.


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 1235, the system memory 1225 is a read-and-write memory device. However, unlike storage device 1235, 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 1225, the permanent storage device 1235, and/or the read-only memory 1230. From these various memory units, the processing unit(s) 1210 retrieve instructions to execute and data to process in order to execute the processes of some embodiments.


The bus 1205 also connects to the input and output devices 1240 and 1245. The input devices 1240 enable the user to communicate information and select commands to the computer system. The input devices 1240 include alphanumeric keyboards and pointing devices (also called “cursor control devices”). The output devices 1245 display images generated by the computer system. The output devices 1245 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 FIG. 12, bus 1205 also couples computer system 1200 to a network 1265 through a network adapter (not shown). In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components of computer system 1200 may be used in conjunction with the invention.


Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM), recordable compact discs (CD-R), rewritable compact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc.), magnetic and/or solid state hard drives, read-only and recordable Blu-Ray® discs, ultra-density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.


While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself.


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 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 examples illustrate virtual corporate WANs of corporate tenants of a virtual network provider. One of ordinary skill will realize that in other embodiments, the SD-WANs are deployed for non-corporate tenants (e.g., for schools, colleges, universities, non-profit entities, etc.).


Also, several figures conceptually illustrate processes of some embodiments of the invention. In other embodiments, the specific operations of these processes may not be performed in the exact order shown and described in these figures. The specific operations may not be performed in one continuous series of operations, and different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro process. Thus, one of ordinary skill in the art would understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims
  • 1. A method of assessing changes to physical network links used to connect different compute sites, the method comprising: identifying sample packets from packets exchanged between first and second compute sites connected through a first physical network link as part of a set of flows exchanged between the first and second compute sites, wherein the sample packets are a subset of all of the packets of the set of flows;analyzing the sample packets to identify attributes of the sample packets;computing attributes of predicted packets each of which is between two identified sample packets in a flow in the set of flows in order to identify attributes of each flow in the set of flows; andusing the identified and computed attributes of each flow in the set of flows to perform an emulation of the set of flows being exchanged between the first and second compute sites through a second physical network link in order to assess whether the second physical network link should be used for future flows.
  • 2. The method of claim 1, wherein the future flows comprise future flows exchanged between the first and second compute sites.
  • 3. The method of claim 1, wherein computing attributes comprises: identifying one or more predicted packets each of which is between two identified sample packets in a flow in the set of flows; andidentifying attributes of the identified predicted packets.
  • 4. The method of claim 1, wherein the identified and computed attributes comprise packet delay attributes, andusing the identified and computed attributes comprises: normalizing the identified and computed delays by removing predicted delays for traversal of packets between the first and second compute sites through the first physical network link, said normalized delays representing communication delays between processes that exchange the flows in the set of flows and that execute on devices at the first and second compute sites; andusing the normalized delays to perform the emulation.
  • 5. The method of claim 4, wherein the normalizing is performed to render the assessment regarding the use of the second physical network link independent of operating conditions of the first physical network link.
  • 6. The method of claim 4, wherein normalizing comprises: identifying sets of request flows and response flows between the first and second compute sites;computing the delay between each request flow and the response flow associated with the request flow; andremoving communication delay through the first physical network link from each computed delay.
  • 7. The method of claim 1, wherein using the identified and computed attributes comprises: monitoring a set of operating conditions associated with the second physical network link; andusing the monitored set of operating conditions to perform the emulation.
  • 8. The method of claim 1, wherein using the identified and computed attributes comprises: generating predicted attributes for the set of flows if the set of flows had been exchanged through the second physical network link; andcomparing the generated predicted attributes for the set of flows through the second physical network link with the identified and computed attributes associated with the set of flows through the first physical network link to compare a quality of the second physical network link to a quality of the first physical network link.
  • 9. The method of claim 1, wherein the assessment is performed to determine whether the second physical network link should be used for a subset of future flows between the first and second compute sites.
  • 10. The method of claim 9, wherein the second physical network link is less expensive and has a lower performance than the first physical network link.
  • 11. A non-transitory machine readable medium storing a program for assessing changes to physical network links used to connect different compute sites, the program for execution by at least one processing unit of a computer, the program comprising sets of instructions for: using a packet sampler to identify sample packets from packets exchanged between first and second compute sites connected through a first physical network link as part of a set of flows exchanged between the first and second compute sites, wherein the sample packets are a subset of all of the packets of the set of flows;analyzing the sample packets to identify attributes of the sample packets;identifying a plurality of predicted packets that are each predicted to be between two identified sample packets in a flow in the set of flows;computing attributes of the predicted packets in order to identify attributes of each flow in the set of flows; andusing the identified and computed attributes of each flow in the set of flows to perform an emulation of the set of flows being exchanged between the first and second compute sites through a second physical network link in order to assess whether the second physical network link should be used for future flows.
  • 12. The non-transitory machine readable medium of claim 11, wherein the future flows comprise future flows exchanged between the first and second compute sites.
  • 13. The non-transitory machine readable medium of claim 11, wherein the identified and computed attributes comprise packet delay attributes, and the set of instructions for using the identified and computed attributes comprises sets of instructions for: normalizing the identified and computed delays by removing predicted delays for traversal of packets between the first and second compute sites through the first physical network link, said normalized delays representing communication delays between processes that exchange the flows in the set of flows and that execute on devices at the first and second compute sites; andusing the normalized delays to perform the emulation.
  • 14. The non-transitory machine readable medium of claim 13, wherein the set of instructions for the normalizing is performed to render the assessment regarding the use of the second physical network link independent of operating conditions of the first physical network link.
  • 15. The non-transitory machine readable medium of claim 13, wherein the set of instructions for normalizing comprises the sets of instructions for: identifying sets of request flows and response flows between the first and second compute sites;computing the delay between each request flow and the response flow associated with the request flow; andremoving communication delay through the first physical network link from each computed delay.
  • 16. The non-transitory machine readable medium of claim 11, wherein the set of instructions for using the identified and computed attributes comprises sets of instructions for: monitoring a set of operating conditions associated with the second physical network link; andusing the monitored set of operating conditions to perform the emulation.
  • 17. The non-transitory machine readable medium of claim 11, wherein the set of instructions for using the identified and computed attributes comprises the sets of instructions for: generating predicted attributes for the set of flows if the set of flows had been exchanged through the second physical network link; andcomparing the generated predicted attributes for the set of flows through the second physical network link with the identified and computed attributes associated with the set of flows through the first physical network link to compare a quality of the second physical network link to a quality of the first physical network link.
  • 18. The non-transitory machine readable medium of claim 11, wherein the assessment is performed to determine whether the second physical network link should be used for a subset of future flows between the first and second compute sites.
  • 19. The non-transitory machine readable medium of claim 18, wherein the second physical network link is less expensive and has a lower performance than the first physical network link.
Priority Claims (2)
Number Date Country Kind
202041056980 Dec 2020 IN national
202041056982 Dec 2020 IN national
US Referenced Citations (995)
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
7751409 Carolan Jul 2010 B1
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
8516129 Skene Aug 2013 B1
8566452 Goodwin et al. Oct 2013 B1
8588066 Goel et al. Nov 2013 B2
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
8797874 Yu et al. Aug 2014 B2
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
9015299 Shah 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
9100329 Jiang et al. Aug 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
9225591 Beheshti-Zavareh 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 Xu 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
9542219 Bryant et al. Jan 2017 B1
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
9614748 Battersby et al. Apr 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
9692714 Nair et al. Jun 2017 B1
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
9923826 Murgia Mar 2018 B2
9930011 Clemons, Jr. et al. Mar 2018 B1
9935829 Miller et al. Apr 2018 B1
9942787 Tillotson Apr 2018 B1
9996370 Khafizov et al. Jun 2018 B1
10038601 Becker et al. Jul 2018 B1
10057183 Salle et al. Aug 2018 B2
10057294 Xu Aug 2018 B2
10116593 Sinn et al. Oct 2018 B1
10135789 Mayya et al. Nov 2018 B2
10142226 Wu et al. Nov 2018 B1
10178032 Freitas Jan 2019 B1
10178037 Appleby et al. Jan 2019 B2
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
10574482 Oréet al. Feb 2020 B2
10574528 Mayya et al. Feb 2020 B2
10594516 Cidon et al. Mar 2020 B2
10594591 Houjyo et al. Mar 2020 B2
10594659 El-Moussa et al. Mar 2020 B2
10608844 Cidon et al. Mar 2020 B2
10630505 Rubenstein et al. Apr 2020 B2
10637889 Ermagan et al. Apr 2020 B2
10666460 Cidon et al. May 2020 B2
10666497 Tahhan et al. May 2020 B2
10686625 Cidon et al. Jun 2020 B2
10693739 Naseri et al. Jun 2020 B1
10715427 Raj et al. Jul 2020 B2
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
11108595 Knutsen 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
11146632 Rubenstein Oct 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
11349722 Mayya et al. May 2022 B2
11363124 Markuze et al. Jun 2022 B2
11374904 Mayya et al. Jun 2022 B2
11375005 Rolando et al. Jun 2022 B1
11381474 Kumar et al. Jul 2022 B1
11381499 Ramaswamy et al. Jul 2022 B1
11388086 Ramaswamy et al. Jul 2022 B1
11394640 Ramaswamy et al. Jul 2022 B2
11418997 Devadoss et al. Aug 2022 B2
11438789 Devadoss et al. Sep 2022 B2
11444865 Ramaswamy et al. Sep 2022 B2
11444872 Mayya et al. Sep 2022 B2
11477127 Ramaswamy et al. Oct 2022 B2
11489720 Kempanna et al. Nov 2022 B1
11489783 Ramaswamy et al. Nov 2022 B2
11509571 Ramaswamy et al. Nov 2022 B1
11516049 Cidon et al. Nov 2022 B2
11522780 Wallace et al. Dec 2022 B1
11526434 Brooker et al. Dec 2022 B1
11533248 Mayya et al. Dec 2022 B2
11552874 Pragada et al. Jan 2023 B1
11575591 Ramaswamy et al. Feb 2023 B2
11575600 Markuze et al. Feb 2023 B2
11582144 Ramaswamy et al. Feb 2023 B2
11582298 Hood et al. Feb 2023 B2
11601356 Gandhi et al. Mar 2023 B2
11606225 Cidon et al. Mar 2023 B2
11606286 Michael et al. Mar 2023 B2
11606314 Cidon et al. Mar 2023 B2
11606712 Devadoss et al. Mar 2023 B2
11611507 Ramaswamy et al. Mar 2023 B2
11637768 Ramaswamy et al. Apr 2023 B2
20020049687 Helsper et al. Apr 2002 A1
20020075542 Kumar et al. Jun 2002 A1
20020085488 Kobayashi Jul 2002 A1
20020087716 Mustafa Jul 2002 A1
20020152306 Tuck Oct 2002 A1
20020186682 Kawano et al. Dec 2002 A1
20020198840 Banka et al. Dec 2002 A1
20030050061 Wu et al. Mar 2003 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
20050210479 Andjelic Sep 2005 A1
20050265255 Kodialam et al. Dec 2005 A1
20060002291 Alicherry et al. Jan 2006 A1
20060034335 Karaoguz et al. Feb 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
20060195605 Sundarrajan et al. Aug 2006 A1
20060245414 Susai et al. Nov 2006 A1
20070050594 Augsburg et al. Mar 2007 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
20070162619 Aloni et al. Jul 2007 A1
20070162639 Chu et al. Jul 2007 A1
20070177511 Das et al. Aug 2007 A1
20070195797 Patel 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
20080168086 Miller et al. Jul 2008 A1
20080175150 Bolt et al. Jul 2008 A1
20080181116 Kavanaugh et al. Jul 2008 A1
20080219276 Shah Sep 2008 A1
20080240121 Xiong et al. Oct 2008 A1
20080263218 Beerends Oct 2008 A1
20090013210 McIntosh et al. Jan 2009 A1
20090028092 Rothschild Jan 2009 A1
20090125617 Klessig et al. May 2009 A1
20090141642 Sun Jun 2009 A1
20090154463 Hines et al. Jun 2009 A1
20090182874 Morford et al. Jul 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
20100091782 Hiscock 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
20100128600 Srinivasmurthy et al. 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
20110001604 Ludlow et al. Jan 2011 A1
20110007752 Silva et al. Jan 2011 A1
20110032939 Nozaki et al. Feb 2011 A1
20110035187 DeJori et al. Feb 2011 A1
20110040814 Higgins Feb 2011 A1
20110075674 Li et al. Mar 2011 A1
20110078783 Duan 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
20110302663 Prodan et al. Dec 2011 A1
20120008630 Ould-Brahim Jan 2012 A1
20120027013 Napierala Feb 2012 A1
20120039309 Evans et al. Feb 2012 A1
20120099601 Haddad et al. Apr 2012 A1
20120136697 Peles et al. May 2012 A1
20120140935 Kruglick Jun 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 Shatzkamer et al. Sep 2012 A1
20120240185 Kapoor et al. Sep 2012 A1
20120250682 Vincent et al. Oct 2012 A1
20120250686 Vincent et al. Oct 2012 A1
20120266026 Chikkalingaiah 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
20130007505 Spear Jan 2013 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
20130097304 Asthana et al. Apr 2013 A1
20130103729 Cooney et al. Apr 2013 A1
20130103834 Dzerve et al. Apr 2013 A1
20130117530 Kim et al. May 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
20130173768 Kundu et al. Jul 2013 A1
20130173788 Song Jul 2013 A1
20130182712 Aguayo et al. Jul 2013 A1
20130185446 Zeng et al. Jul 2013 A1
20130185729 Vasic et al. Jul 2013 A1
20130191688 Agarwal et al. Jul 2013 A1
20130223226 Narayanan et al. Aug 2013 A1
20130223454 Dunbar et al. Aug 2013 A1
20130235870 Tripathi et al. Sep 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
20140016464 Shirazipour et al. Jan 2014 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
20140122559 Branson et al. May 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
20140157363 Banerjee Jun 2014 A1
20140160935 Zecharia et al. Jun 2014 A1
20140164560 Ko et al. Jun 2014 A1
20140164617 Jalan et al. Jun 2014 A1
20140164718 Schaik 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
20140189074 Parker Jul 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
20140310282 Sprague et al. Oct 2014 A1
20140317440 Biermayr et al. Oct 2014 A1
20140321277 Lynn, Jr. et al. Oct 2014 A1
20140337500 Lee Nov 2014 A1
20140337674 Ivancic Nov 2014 A1
20140341109 Cartmell et al. Nov 2014 A1
20140355441 Jain Dec 2014 A1
20140365834 Stone et al. Dec 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
20150100958 Banavalikar et al. Apr 2015 A1
20150106809 Reddy et al. 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
20150264055 Budhani 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
20150326426 Luo 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
20150358232 Chen 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
20150381462 Choi et al. Dec 2015 A1
20150381493 Bansal et al. Dec 2015 A1
20160019317 Pawar et al. Jan 2016 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
20160080268 Anand 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
20160134527 Kwak et al. May 2016 A1
20160134528 Lin et al. May 2016 A1
20160134591 Liao et al. May 2016 A1
20160142373 Ossipov May 2016 A1
20160147607 Dornemann et al. 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
20160205071 Cooper et al. 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
20160234099 Jiao Aug 2016 A1
20160234161 Banerjee et al. Aug 2016 A1
20160255169 Kovvuri et al. Sep 2016 A1
20160255542 Hughes 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
20160299775 Madapurath et al. Oct 2016 A1
20160301471 Kunz et al. Oct 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
20160337202 Ben-Itzhak 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
20160359943 Huang 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
20170024260 Chandrasekaran et al. Jan 2017 A1
20170026273 Yao et al. 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
20170063783 Yong et al. Mar 2017 A1
20170063794 Jain et al. Mar 2017 A1
20170064005 Lee Mar 2017 A1
20170075710 Prasad et al. 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
20170118067 Vedula Apr 2017 A1
20170118173 Arramreddy et al. Apr 2017 A1
20170123939 Maheshwari et al. May 2017 A1
20170126475 Mahkonen 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
20170155566 Martinsen et al. Jun 2017 A1
20170155590 Dillon et al. Jun 2017 A1
20170163473 Sadana et al. Jun 2017 A1
20170171024 Anerousis et al. Jun 2017 A1
20170171310 Gardner Jun 2017 A1
20170180220 Leckey et al. Jun 2017 A1
20170181210 Nadella et al. Jun 2017 A1
20170195161 Ruel et al. Jul 2017 A1
20170195169 Mills et al. Jul 2017 A1
20170201568 Hussam 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
20170236060 Ignatyev Aug 2017 A1
20170237710 Mayya et al. Aug 2017 A1
20170242784 Heorhiadi 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
20170279741 Elias 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
20170302501 Shi 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
20170324628 Dhanabalan Nov 2017 A1
20170337086 Zhu et al. Nov 2017 A1
20170339022 Hegde et al. Nov 2017 A1
20170339054 Yadav et al. Nov 2017 A1
20170339070 Chang et al. Nov 2017 A1
20170346722 Smith 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
20180091370 Arai Mar 2018 A1
20180097725 Wood et al. Apr 2018 A1
20180114569 Strachan et al. Apr 2018 A1
20180123910 Fitzgibbon May 2018 A1
20180123946 Ramachandran et al. 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
20180176252 Nimmagadda et al. Jun 2018 A1
20180181423 Gunda et al. Jun 2018 A1
20180205746 Boutnaru et al. Jul 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
20180261085 Liu 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
20180359323 Madden 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
20190021085 Mochizuki et al. 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
20190081894 Yousaf 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
20190132234 Dong et al. May 2019 A1
20190132322 Song et al. May 2019 A1
20190140889 Mayya et al. May 2019 A1
20190140890 Mayya et al. May 2019 A1
20190149525 Gunda et al. 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
20190222499 Chen 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
20190238497 Tourrilhes et al. Aug 2019 A1
20190268421 Markuze et al. Aug 2019 A1
20190268973 Bull et al. Aug 2019 A1
20190278631 Bernat et al. Sep 2019 A1
20190280962 Michael et al. Sep 2019 A1
20190280963 Michael et al. Sep 2019 A1
20190280964 Michael et al. Sep 2019 A1
20190288875 Shen et al. Sep 2019 A1
20190306197 Degioanni Oct 2019 A1
20190306282 Masputra et al. Oct 2019 A1
20190313278 Liu Oct 2019 A1
20190313907 Khachaturian et al. Oct 2019 A1
20190319847 Nahar et al. Oct 2019 A1
20190319881 Maskara et al. Oct 2019 A1
20190327109 Guichard et al. Oct 2019 A1
20190334786 Dutta et al. Oct 2019 A1
20190334813 Raj et al. Oct 2019 A1
20190334820 Zhao Oct 2019 A1
20190342201 Singh Nov 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
20190394081 Tahhan 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
20200044969 Hao et al. Feb 2020 A1
20200059420 Abraham Feb 2020 A1
20200059457 Raza et al. Feb 2020 A1
20200059459 Abraham et al. Feb 2020 A1
20200067831 Spraggins et al. Feb 2020 A1
20200092207 Sipra et al. Mar 2020 A1
20200097327 Beyer et al. Mar 2020 A1
20200099625 Yigit 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
20200159661 Keymolen 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 Valluri 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
20200202872 Jensen 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
20200241927 Yang 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
20200267203 Jindal et al. 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
20200301764 Thoresen 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
20200322287 Connor et al. Oct 2020 A1
20200336336 Sethi et al. Oct 2020 A1
20200344089 Motwani 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
20200403821 Dev et al. Dec 2020 A1
20200412483 Tan 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
20210021538 Meck 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
20210037159 Shimokawa Feb 2021 A1
20210049191 Masson 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
20210073001 Rogers et al. Mar 2021 A1
20210092062 Dhanabalan et al. Mar 2021 A1
20210099360 Parsons et al. Apr 2021 A1
20210105199 C H et al. Apr 2021 A1
20210111998 Saavedra Apr 2021 A1
20210112034 Sundararajan et al. 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 C H et al. May 2021 A1
20210160169 Shen et al. May 2021 A1
20210160813 Gupta et al. May 2021 A1
20210176255 Hill et al. Jun 2021 A1
20210184952 Mayya et al. Jun 2021 A1
20210184966 Ramaswamy Jun 2021 A1
20210184983 Ramaswamy 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 Jul 2021 A1
20210266262 Subramanian et al. Aug 2021 A1
20210279069 Salgaonkar et al. Sep 2021 A1
20210314289 Chandrashekhar et al. Oct 2021 A1
20210314385 Pande 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
20210400512 Agarwal et al. Dec 2021 A1
20210409277 Jeuk et al. Dec 2021 A1
20220006726 Michael et al. Jan 2022 A1
20220006751 Ramaswamy et al. Jan 2022 A1
20220006756 Ramaswamy et al. Jan 2022 A1
20220029902 Shemer 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
20220045927 Liu et al. Feb 2022 A1
20220052928 Sundararajan et al. Feb 2022 A1
20220061059 Dunsmore et al. Feb 2022 A1
20220086035 Devaraj et al. Mar 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
20220141184 Oswal et al. May 2022 A1
20220158923 Ramaswamy et al. May 2022 A1
20220158924 Ramaswamy et al. May 2022 A1
20220158926 Wennerström et al. May 2022 A1
20220166713 Markuze et al. May 2022 A1
20220191719 Roy Jun 2022 A1
20220198229 López et al. Jun 2022 A1
20220210035 Hendrickson et al. Jun 2022 A1
20220210042 Gandhi et al. Jun 2022 A1
20220210122 Levin et al. Jun 2022 A1
20220217015 Vuggrala et al. Jul 2022 A1
20220231949 Ramaswamy et al. Jul 2022 A1
20220231950 Ramaswamy et al. Jul 2022 A1
20220232411 Vijayakumar et al. Jul 2022 A1
20220239596 Kumar et al. Jul 2022 A1
20220294701 Mayya et al. Sep 2022 A1
20220335027 Seshadri et al. Oct 2022 A1
20220337553 Mayya et al. Oct 2022 A1
20220353152 Ramaswamy Nov 2022 A1
20220353171 Ramaswamy et al. Nov 2022 A1
20220353175 Ramaswamy et al. Nov 2022 A1
20220353182 Ramaswamy et al. Nov 2022 A1
20220353190 Ramaswamy et al. Nov 2022 A1
20220360500 Ramaswamy et al. Nov 2022 A1
20220407773 Kempanna et al. Dec 2022 A1
20220407774 Kempanna et al. Dec 2022 A1
20220407790 Kempanna et al. Dec 2022 A1
20220407820 Kempanna et al. Dec 2022 A1
20220407915 Kempanna et al. Dec 2022 A1
20230006929 Mayya et al. Jan 2023 A1
20230025586 Rolando et al. Jan 2023 A1
20230026330 Rolando et al. Jan 2023 A1
20230026865 Rolando et al. Jan 2023 A1
20230028872 Ramaswamy Jan 2023 A1
20230039869 Ramaswamy et al. Feb 2023 A1
20230041916 Zhang et al. Feb 2023 A1
20230054961 Ramaswamy et al. Feb 2023 A1
20230105680 Simlai et al. Apr 2023 A1
20230121871 Mayya et al. Apr 2023 A1
Foreign Referenced Citations (49)
Number Date Country
1926809 Mar 2007 CN
102577270 Jul 2012 CN
102811165 Dec 2012 CN
104956329 Sep 2015 CN
106230650 Dec 2016 CN
106656847 May 2017 CN
110447209 Nov 2019 CN
111198764 May 2020 CN
1912381 Apr 2008 EP
2538637 Dec 2012 EP
2763362 Aug 2014 EP
3041178 Jul 2016 EP
3297211 Mar 2018 EP
3509256 Jul 2019 EP
3346650 Nov 2019 EP
2002368792 Dec 2002 JP
2010233126 Oct 2010 JP
2014200010 Oct 2014 JP
2017059991 Mar 2017 JP
2017524290 Aug 2017 JP
20170058201 May 2017 KR
2574350 Feb 2016 RU
03073701 Sep 2003 WO
2005071861 Aug 2005 WO
2007016834 Feb 2007 WO
2012167184 Dec 2012 WO
2015092565 Jun 2015 WO
2016061546 Apr 2016 WO
2016123314 Aug 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
2022082680 Apr 2022 WO
2022154850 Jul 2022 WO
2022159156 Jul 2022 WO
2022231668 Nov 2022 WO
2022235303 Nov 2022 WO
2022265681 Dec 2022 WO
2023009159 Feb 2023 WO
Non-Patent Literature Citations (67)
Entry
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.
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.
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.
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/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/072,764, filed Oct. 16, 2020, 33 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/072,774, filed Oct. 16, 2020, 34 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/085,893, filed Oct. 30, 2020, 34 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/085,916, filed Oct. 30, 2020, 35 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/103,614, filed Nov. 24, 2020, 38 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/143,092, filed Jan. 6, 2021, 42 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/143,094, filed Jan. 6, 2021, 42 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/194,038, filed Mar. 5, 2021, 35 pages, VMware, Inc.
Non-Published Commonly Owned Related U.S. Appl. No. 17/227,044 with similar specification, filed Apr. 9, 2021, 37 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.
Non-Published Commonly Owned U.S. Appl. No. 15/803,964, filed Nov. 6, 2017, 15 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.
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.
Webb, Kevin C., et al., “Blender: Upgrading Tenant-Based Data Center Networking,” 2014 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), Oct. 20-21, 2014, 11 pages, IEEE, Marina del Rey, CA, USA.
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.
Yap, Kok-Kiong, et al., “Taking the Edge off with Espresso: Scale, Reliability and Programmability for Global Internet 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.
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.
Barozet, 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.
Jivorasetkul, Supalerk, et al., “End-to-End Header Compression over Software-Defined Networks: a Low Latency Network Architecture,” 2012 Fourth International Conference on Intelligent Networking and Collaborative Systems, Sep. 19-21, 2012, 2 pages, IEEE, Bucharest, Romania.
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.
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.
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.
Non-Published Commonly Owned U.S. Appl. No. 17/827,972, filed May 30, 2022, 30 pages, Nicira, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/850,112, filed Jun. 27, 2022, 41 pages, Nicira, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/967,795, filed Oct. 17, 2022, 39 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 17/976,784, filed Oct. 29, 2022, 55 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 18/083,536, filed Dec. 18, 2022, 27 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 18/102,685, filed Jan. 28, 2023, 124 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 18/102,687, filed Jan. 28, 2023, 172 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 18/102,688, filed Jan. 28, 2023, 49 pages, VMware, Inc.
Non-Published Commonly Owned U.S. Appl. No. 18/102,689 , filed Jan. 28, 2023, 46 pages, VMware, Inc.
Taleb, Tarik, “D4.1 Mobile Network Cloud Component Design,” Mobile Cloud Networking, Nov. 8, 2013, 210 pages, MobileCloud Networking Consortium, retrieved from http://www.mobile-cloud-networking.eu/site/index.php?process=download&id=127&code=89d30565cd2ce087d3f8e95f9ad683066510a61f.
Valtulina, Luca, “Seamless Distributed Mobility Management (DMM) Solution in Cloud Based LTE Systems,” Master Thesis, Nov. 2013, 168 pages, University of Twente, retrieved from http://essay.utwente.nl/64411/1/Luca_Valtulina_MSc_Report_final.pdf.
Zakurdaev, Gieorgi, et al., “Dynamic On-Demand Virtual Extensible LAN Tunnels via Software-Defined Wide Area Networks,” 2022 IEEE 12th Annual Computing and Communication Workshop and Conference, Jan. 26-29, 2022, 6 pages, IEEE, Las Vegas, NV, USA.
Author Unknown, “VeloCloud Administration Guide: VMware SD-WAN by VeloCloud 3.3,” Month Unknown 2019, 366 pages, VMware, Inc., Palo Alto, CA, USA.
Funabiki, Nobuo, et al., “A Frame Aggregation Extension of Routing Algorithm for Wireless Mesh Networks,” 2014 Second International Symposium on Computing and Networking, Dec. 10-12, 2014, 5 pages, IEEE, Shizuoka, Japan.
Related Publications (1)
Number Date Country
20220210041 A1 Jun 2022 US