# US 10,375,153 B2 · Enterprise connectivity to the hybrid cloud

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,375,153 B2
- Document ID: US10375153B2
- Status: Granted
- Kind: B2
- Application number: 15/997,377
- Filed: 2018-06-04
- Published: 2018-10-04
- Granted: 2019-08-06
- Earliest claimed: 2015-08-29
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Serge Maskalik; Weiqing Wu; Debashis Basak; Sachin Thakkar; Govind Haridas
- Web page: https://patentgrep.com/patent/US10375153B2

## CPC

- H04L 45/64: using an overlay routing layer
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A cloud computing system retrieves routing entries associated with a particular tenant of the cloud computing system and a subset of a routing table of the entire cloud computing system. The routing entries are loaded into a networking switch, which is configured to route network packets using the loaded subset of routing entries, using a general-purpose processor rather than a costly dedicated ASIC.

## Claims

### Claim 1

A method for routing network traffic, the method comprising:
determining traffic information between a first gateway in a first data center and a second gateway in a second data center, including receiving information specifying a workload to be executed between the first data center and the second data center;
retrieving a subset of routing entries of a routing table associated with the first data center based on the traffic information;
loading the subset of the routing entries of the routing table in a switch in the second data center;
receiving a network packet at the second gateway in the second data center; and
forwarding, by operation of the switch, the received network packet to a destination according to at least one routing entry from the subset of the routing entries of the routing table loaded in the switch.

### Claim 2 (depends on 1)

The method of claim 1, wherein retrieving the subset of routing entries associated with the first data center based on the traffic information further comprises:
retrieving the subset of routing entries in the routing table needed to execute the workload.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
loading traffic information related to destinations in a cloud computing system that includes the second data center into the first gateway in the first data center.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
responsive to determining that the destination of the network packet is not found in the subset of the routing entries of the routing table loaded in the switch, forwarding the network packet to a default destination predefined in the switch;
modifying the traffic information to indicate that the received network packet was a miss;
retrieving a second subset of the routing entries of the routing table based on the modified traffic information; and
loading the second subset of the routing entries of the routing table into the switch, wherein the second subset of routing entries replaces existing routing entries loaded in the switch.

### Claim 5 (depends on 1)

The method of claim 1, wherein the second gateway comprises a virtual appliance executing on the switch.

### Claim 6 (depends on 1)

The method of claim 1, wherein the switch comprises a forwarding plane of the second data center.

### Claim 7

A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, route network traffic, by performing the steps of:
determining traffic information between a first gateway in a first data center and a second gateway in a second data center, including receiving information specifying a workload to be executed between the first data center and the second data center;
retrieving a subset of routing entries of a routing table associated with the first data center based on the traffic information;
loading the subset of the routing entries of the routing table in a switch in the second data center;
receiving a network packet at the second gateway in the second data center; and
forwarding, by operation of the switch, the received network packet to a destination according to at least one routing entry from the subset of the routing entries of the routing table loaded in the switch.

### Claim 8 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein instructions for retrieving the subset of routing entries associated with the first data center based on the traffic information further comprises instructions for:
retrieving the subset of routing entries in the routing table needed to execute the workload.

### Claim 9 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, further comprising instructions for:
loading traffic information related to destinations in a cloud computing system that includes the second data center into the first gateway in the first data center.

### Claim 10 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, further comprising instructions for:
responsive to determining that the destination of the network packet is not found in the subset of the routing entries of the routing table loaded in the switch, forwarding the network packet to a default destination predefined in the switch;
modifying the traffic information to indicate that the received network packet was a miss;
retrieving a second subset of the routing entries of the routing table based on the modified traffic information; and
loading the second subset of the routing entries of the routing table into the switch, wherein the second subset of routing entries replaces existing routing entries loaded in the switch.

### Claim 11 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the second gateway comprises a virtual appliance executing on the switch.

### Claim 12 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the switch comprises a forwarding plane of the second data center.

### Claim 13

A computer system for routing network traffic, the computer system comprising a system memory and a processor programmed to:
determine traffic information between a first gateway in a first data center and a second gateway in a second data center, and receive information specifying a workload to be executed between the first data center and the second data center;
retrieve a subset of routing entries of a routing table associated with the first data center based on the traffic information;
load the subset of the routing entries of the routing table in a switch in the second data center;
receive a network packet at the second gateway in the second data center; and
forward, by operation of the switch, the received network packet to a destination according to at least one routing entry from the subset of the routing entries of the routing table loaded in the switch.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the processor programmed to retrieve the subset of routing entries associated with the first data center based on the traffic information is further programmed to:
retrieve the subset of routing entries in the routing table needed to execute the workload.

### Claim 15 (depends on 13)

The computer system of claim 13, wherein the processor is further programmed to:
load traffic information related to destinations in a cloud computing system that includes the second data center into the first gateway in the first data center.

### Claim 16 (depends on 13)

The computer system of claim 13, wherein the processor is further programmed to:
responsive to determining that the destination of the network packet is not found in the subset of the routing entries of the routing table loaded in the switch, forward the network packet to a default destination predefined in the switch;
modify the traffic information to indicate that the received network packet was a miss;
retrieve a second subset of the routing entries of the routing table based on the modified traffic information; and
load the second subset of the routing entries of the routing table into the switch, wherein the second subset of routing entries replaces existing routing entries loaded in the switch.

### Claim 17 (depends on 13)

The computer system of claim 13, wherein the second gateway comprises a virtual appliance executing on the switch, and wherein the switch comprises a forwarding plane of the second data center.
