# US 2019/0379631 A1 · Dns rendezvous localization

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

- Number: US 2019/0379631 A1
- Document ID: US20190379631A1
- Status: Published application
- Kind: A1
- Application number: 16/548,776
- Filed: 2019-08-22
- Published: 2019-12-12
- Earliest claimed: 2014-06-24
- Assignees: Level 3 Communications, LLC
- Applicants: Level 3 Communications, LLC
- Inventors: William HOPKINS; Joelle T. MASLAK
- Web page: https://patentgrep.com/patent/US20190379631A1

## CPC

- H04L 61/4511: using domain name system [DNS]
- H04L 67/1021: based on client or server locations
- H04L 67/63: Routing a service request depending on the request content or context
- H04L 2101/69: using geographic information, e.g. room number
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of generating a routing table containing information as to the weighted distance between client's that use a resolver and each rack gateway, taking into account how traffic to each client can egress from the CDN AS. The routing table is generated from matrix multiplication of two matrices. One matrix contains information as to the proportion of each client's use of each resolver in a first autonomous system. The second matrix contains information as to the distance between each client and each rack, with respect to an egress gateway, in a second autonomous system. The resulting routing table is used to identify a gateway from which to serve content to a client.

## Claims

### Claim 1

A method of serving content comprising:
determining a portion of traffic between client devices within a first autonomous system and client resolvers within the first autonomous system;
determining distance information between the client devices and content servers within a second autonomous system, the distance information related to egress of content from at least one of the content servers via at least one egress gateway of the second autonomous system to the first autonomous system;
determining a network location between the client resolvers and the content servers using the determined portion of traffic and the determined distance information; and
serving content to at least one of the client devices from at least one of the content servers based on the determined network location.

### Claim 2 (depends on 1)

The method of claim 1, wherein the portion of traffic is expressed in a client-to-resolver matrix, the distance information is expressed in a client-to-gateway distance matrix, and the network location between the client resolvers and the content servers is created by a matrix product of the client-to-resolver matrix and the client-to gateway distance matrix.

### Claim 3 (depends on 2)

The method of claim 2, wherein the portion of traffic includes a client metric wherein the client metric is used to populate the client-to-resolver matrix.

### Claim 4 (depends on 3)

The method of claim 3, wherein the client metric is a geographic identifier for a client device.

### Claim 5 (depends on 4)

The method of claim 4, wherein the geographic identifier is a latitude and longitude attribute associated with a client device.

### Claim 6 (depends on 2)

The method of claim 2, wherein the portion of traffic is a proportion of client devices within a first autonomous system accessing the client resolvers within the first autonomous system, the client-to-resolver matrix is a representation of at least one of a client's use of at least one resolver, and the client-to-gateway distance matrix is a representation of a distance between at least one client device and at least one content server.

### Claim 7 (depends on 6)

The method of claim 6, wherein a routing table is used to select a content server for at least one client device.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
sorting the network location between the client resolvers and the content servers based on a distance between each of the content servers and the client resolvers; and
preferring the content server based on a shortest distance of the sorted network location.

### Claim 9

An apparatus comprising:
at least one computing device in communication with a non-transitory storage media including computer executable instructions to perform operations comprising:
determine a portion of traffic between client devices within a first autonomous system and client resolvers within the first autonomous system;
determine distance information between the client devices and content servers within a second autonomous system, the distance information related to egress of content from at least one of the content servers via at least one egress gateway of the second autonomous system to the first autonomous system;
determine a network location between the client resolvers and the content servers using the determined portion of traffic and the determined distance information; and
serve content to at least one of the client devices from at least one of the content servers based on the determined network location.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the portion of traffic is expressed in a client-to-resolver matrix, the distance information is expressed in a client-to-gateway distance matrix, and the network location between the client resolvers and the content servers is created by a matrix product of the client-to-resolver matrix and the client-to gateway distance matrix.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein the portion of traffic is a proportion of client devices within a first autonomous system accessing the client resolvers within the first autonomous system, the client-to-resolver matrix is a representation of at least one of a client's use of at least one resolver, and the client-to-gateway distance matrix is a representation of a distance between at least one client device and at least one content server.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein a routing table is used to select a content server for at least one client device.

### Claim 13 (depends on 10)

The apparatus of claim 10, wherein the portion of traffic includes a client metric wherein the client metric is used to populate the client-to-resolver matrix.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the client metric is a geographic identifier for a client device.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the geographic identifier is a latitude and longitude attribute associated with the client device.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein the computer executable instructions are further configured to perform the operations of:
sort the network location between the client resolvers and the content servers based on a distance between each of the content servers and the client resolvers; and
prefer the content server based on a shortest distance of the sorted relationship.

### Claim 17

A computing device in a first autonomous system, the computing device comprising at least one memory for storing instructions that are executed by at least one processor to:
determine a portion of traffic between client devices within the first autonomous system and client resolvers within the first autonomous system;
determine distance information between the client devices and content servers within a second autonomous system, the distance information related to egress of content from at least one of the content servers via at least one egress gateway of the second autonomous system to the first autonomous system;
determine a network location between the client resolvers and the content servers using the determined portion of traffic and the determined distance information; and
serve content to at least one of the client devices from at least one of the content servers based on the determined network location.

### Claim 18 (depends on 17)

The computing device of claim 17, wherein the portion of traffic is expressed in a client-to-resolver matrix, the distance information is expressed in a client-to-gateway distance matrix, and the network location between the client resolvers and the content servers is created by a matrix product of the client-to-resolver matrix and the client-to gateway distance matrix.

### Claim 19 (depends on 18)

The computing device of claim 18, wherein the portion of traffic is the proportion of client devices within a first autonomous system accessing the client resolvers within the first autonomous system, the client-to-resolver matrix is a representation of at least one of a client's use of at least one client resolver, and the client-to-gateway distance matrix is a representation of the distance between at least one client device and at least one content server.

### Claim 20 (depends on 19)

The computing device of claim 19, wherein a routing table is used to select a content server for at least one client device.
