# US 2018/0324084 A1 · Application Controlled Path Selection Over Different Transit Providers

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

- Number: US 2018/0324084 A1
- Document ID: US20180324084A1
- Status: Published application
- Kind: A1
- Application number: 16/039,832
- Filed: 2018-07-19
- Published: 2018-11-08
- Earliest claimed: 2015-04-06
- Assignees: Verizon Digital Media Services Inc.
- Applicants: Verizon Digital Media Services Inc.
- Inventors: Alexander A. Kazerani; Amir Reza Khakpour; Kyle Duren
- Web page: https://patentgrep.com/patent/US20180324084A1

## CPC

- H04L 45/22: {Alternate routing}
- H04L 45/247: using M:N active or standby paths
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 45/70: {Routing based on monitoring results}
- H04L 45/74: Address processing for routing
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Some embodiments move the task of selecting between different transit provider paths from the network level to the application level. Some embodiments perform network level configurations involving a destination network router advertising over a first transit provider path, a unique first address identifying a destination network server as reachable via the first path and advertising over a second transit provider path, a unique second address identifying the destination network server as reachable via the second path. Some embodiments further perform application level configurations involving a source network server passing a first packet to the destination network server over the first path by addressing the first packet to the first address and passing a second packet to the destination network server over the second path by addressing the second packet to the second address. The path selection may be based on policies accounting for congestion, performance, and other metrics.

## Claims

### Claim 1

A method comprising:
tracking at a first server in a first network, a mapping of a destination in a different second network to (i) a first address associated with a first network path connecting the first network to the second network, and (ii) a second address associated with a different second network path connecting the first network to the second network; and
sending a packet from the first server to the destination over a network path selected by the first server, wherein the sending comprises setting the destination address for the packet as the first address based on the mapping and sending the packet through the first network path, and wherein the sending further comprises setting the destination address for the packet as the second address based on the mapping and sending the packet through the second network path.

### Claim 2 (depends on 1)

The method of claim 1, wherein the destination is a second server in the second network, wherein the second server is accessible via a third address that is different than the first address for the first network path and the second address for the second network path.

### Claim 3 (depends on 1)

The method of claim 1 further comprising receiving at the first network, a first route advertisement comprising the first address from the second network over the first network path, and a second route advertisement comprising the second address from the second network over the second network path.

### Claim 4 (depends on 1)

The method of claim 1, wherein the sending further comprises identifying a third address for the destination in the second network, converting the third address to the first address based on the mapping and selection of the first network path by the first server, and converting the third address to the second address based on the mapping and selection of the second network path by the first server.

### Claim 5 (depends on 1)

The method of claim 1 further comprising monitoring latency through the first network path based on a first packet sent to the first address, and monitoring latency through the second network path based on a second packet sent to the second address.

### Claim 6 (depends on 5)

The method of claim 5 further comprising selecting one of the first network path and the second network path based on said monitoring of latency through the first network path and said monitoring of latency through the second network path.

### Claim 7 (depends on 1)

The method of claim 1 further comprising assigning a third network address for a response from the destination in the second network to the first server in the first network over the first network path, and assigning a fourth network address for a response from the destination to the first server over the second network path.

### Claim 8 (depends on 1)

The method of claim 1 further comprising changing routing rules on a gateway router of the first network with (i) a first rule for forwarding the packet from the first server with the destination address of the first address to a next network hop along the first network path, and (ii) a second rule for forwarding the packet from the first server with the destination address of the second address to a next network hop along the second network path.

### Claim 9

A method comprising:
mapping a first network address with which to access a first server in a first network to (i) a different second network address and a first network path connecting the first network to a remote second network, and (ii) a different third network address and a different second network path connecting the first network to the remote second network; and
routing a packet from the remote second network to the first server in the first network over a network path selected by a second server in the remote second network generating the packet, wherein the routing comprises sending the packet from the remote second network through the first network path to the first network based on the destination address of the packet set as the second network address, wherein the routing further comprises sending the packet from the remote second network through the second network path to the first network based on the destination address of the packet set as the third network address, and wherein the second network address and the third network address are different than the first network address of the first server that is an intended recipient for the packet.

### Claim 10 (depends on 9)

The method of claim 9 further comprising receiving at the remote second network over the first network path, a first route advertisement comprising the second network address.

### Claim 11 (depends on 10)

The method of claim 10 further comprising receiving at the remote second network over the second network path, a second route advertisement comprising the third network address, and wherein the mapping is based on said receiving of the first route advertisement and said receiving of the second route advertisement.

### Claim 12 (depends on 9)

The method of claim 9, wherein the first network path comprises a first plurality of network hops with at least one network hop that is different than a second plurality of network hops comprising the second network path.

### Claim 13 (depends on 9)

The method of claim 9 further comprising generating at the second server, the packet with the destination address (i) set to the second network address, instead of the first network address of the first server, in response to the mapping and selection of the first network path over the second network path by the second server, and (ii) set to the third network address, instead of the first network address of the first server, in response to the mapping and selection of the second network path over the first network path by the second server.

### Claim 14

A method comprising:
storing at a particular server in a source network, a first address of a first server in a remote first network, and a second address of a second server in a different remote second network;
selecting by the particular server, a first network path from a first plurality of network paths connecting the remote first network to the source network for a first packet targeting the first server;
sending the first packet to the first server in the remote first network over the selected first network path by changing the destination address of the first packet from the first address of the first server to a different third address advertised over the first network path from the remote first network;
selecting by the particular server, a second network path from a second plurality of network paths connecting the remote second network to the source network for a second packet targeting the second server; and
sending the second packet to the second server in the remote second network over the selected second network path by changing the destination address of the second packet from the second address of the second server to a different fourth address advertised over the second network path from the remote second network.

### Claim 15 (depends on 14)

The method of claim 14, wherein each network path of the first plurality of network paths is associated with a different Internet Protocol (IP) address than the first address of the first server, and wherein each network path of the second plurality of network paths is associated with a different IP address than the second address of the second server.

### Claim 16 (depends on 14)

The method of claim 14 further comprising receiving a different route advertisement over each network path of the first plurality of network paths, and a different route advertisement over each network path of the second plurality of network paths.

### Claim 17 (depends on 16)

The method of claim 16, wherein each route advertisement comprises a different IP address.

### Claim 18 (depends on 14)

The method of claim 14 further comprising selecting by the particular server, a second network path from the first plurality of network paths for a third packet targeting the first server.

### Claim 19 (depends on 18)

The method of claim 18 further comprising sending the third packet to the first server in the remote first network over the selected second network path by changing the destination address of the third packet from the first address of the first server to a different fifth address advertised over the second network path from the remote first network.
