# US 12,120,086 B2 · Service discovery and renaming

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

- Number: US 12,120,086 B2
- Document ID: US12120086B2
- Status: Granted
- Kind: B2
- Application number: 17/821,140
- Filed: 2022-08-19
- Published: 2022-12-22
- Granted: 2024-10-15
- Earliest claimed: 2017-11-20
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Alireza Farhangi
- Web page: https://patentgrep.com/patent/US12120086B2

## CPC

- H04L 61/4511: using domain name system [DNS]
- G06F 16/951: Indexing; Web crawling techniques
- H04L 61/3025: {Domain name generation or assignment}
- H04L 61/4541: Directories for service discovery
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/55: Push-based network services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A provider network implements service discovery and renaming. A provider network includes a domain name service (DNS) and a renaming tool. The DNS receives queries for service names and sends query logs to a data store. Each query log indicates the queried name and a network address (e.g., IP address). A user may request that the service be renamed to a new name. In response, the renaming tool adds a new entry to for the new name to the DNS. The renaming tool retrieves data from the query logs and identifies clients of the service. The renaming tool sends a notification to the identified clients that the name has changed to the new name. The renaming manger retrieves additional data from the query logs to identify how many of the clients have switched to using the new name. After enough clients have switched, the old name may be decommissioned.

## Claims

### Claim 1

A system, comprising:
one or more computing devices of a provider network comprising respective processors and memory to implement:
subsequent to addition, by a domain name service, of a new entry for a new name of a service, retrieve data from query logs generated by the domain name service, wherein the query logs comprise query logs that indicate an old name of the service as a queried name and query logs that indicate the new name of the service as the queried name;
analyze the retrieved data;
identify, based on the analysis of the retrieved data, a number of clients of the service that have switched to use the new name of the service;
determine to decommission the old name of the service, based at least on:
the number of clients that have switched to use the new name of the service being above a switched threshold number or a percentage of the clients of the service that have switched to use the new name of the service being above a switched threshold percentage, wherein the service continues to be accessible using the new name; and
in response to the determination to decommission the old name of the service, cause the domain name service to delete an entry for the old name of the service.

### Claim 2 (depends on 1)

The system as recited in claim 1, wherein decommissioning criteria comprises a usage threshold number, and to determine to decommission the old name of the service, the one or more computing devices further implement:
determine that a number of the clients that have continued to use the old name of the service is below the usage threshold number indicated by the decommissioning criteria.

### Claim 3 (depends on 1)

The system as recited in claim 1, wherein to determine to decommission the old name of the service, the one or more computing devices further implement:
determine that a number of queries to the domain name service that have continued to use the old name of the service is below a threshold number.

### Claim 4 (depends on 1)

The system as recited in claim 1, wherein decommissioning criteria comprises a usage threshold percentage, and to determine to decommission the old name of the service, the one or more computing devices further implement:
determine that a percentage of the clients that have continued to use the old name of the service is below the usage threshold percentage of the clients that use the service.

### Claim 5 (depends on 1)

The system as recited in claim 1, wherein decommissioning criteria comprises the switched threshold number, and to determine to decommission the old name of the service, the one or more computing devices implement:
determine that the number of the clients that have switched to using the new name of the service exceeds the switched threshold number.

### Claim 6 (depends on 1)

The system as recited in claim 1, wherein decommissioning criteria comprises the switched threshold percentage, and to determine to decommission the old name of the service, the one or more computing devices implement:
determine that the percentage of the clients that have switched to using the new name of the service is above the switched threshold percentage of the clients that use the service.

### Claim 7 (depends on 1)

The system as recited in claim 1, wherein the query logs respectively indicate an originating client network address of a client of the service that used the queried name.

### Claim 8

A method, comprising:
performing, by one or more computing devices of a provider network:
subsequent to addition, by a domain name service, of a new entry for a new name of a service, retrieving data from query logs generated by the domain name service, wherein the query logs comprise query logs that indicate an old name of the service as a queried name and query logs that indicate the new name of the service as the queried name;
analyzing the retrieved data;
identifying, based on the analysis of the retrieved data, a number of clients of the service that have switched to use the new name of the service;
determining to decommission the old name of the service, based at least on:
the number of clients that have switched to use the new name of the service being above a switched threshold number or a percentage of the clients of the service that have switched to use the new name of the service being above a switched threshold percentage, wherein the service continues to be accessible using the new name; and
in response to determining to decommission the old name of the service, causing the domain name service to delete an entry for the old name of the service.

### Claim 9 (depends on 8)

The method as recited in claim 8, wherein decommissioning criteria comprises a usage threshold number, and wherein determining to decommission the old name of the service comprises:
determining that a number of the clients that have continued to use the old name of the service is below the usage threshold number.

### Claim 10 (depends on 8)

The method as recited in claim 8, wherein determining to decommission the old name of the service further comprises:
determining that a number of queries to the domain name service that have continued to use the old name of the service is below a threshold number.

### Claim 11 (depends on 8)

The method as recited in claim 8, wherein decommissioning criteria comprises a usage threshold percentage, and wherein determining to decommission the old name of the service comprises:
determining that a percentage of the clients that have continued to use the old name of the service is below the usage threshold percentage of the clients that use the service.

### Claim 12 (depends on 8)

The method as recited in claim 8, wherein determining to decommission the old name of the service further comprises:
determining that a percentage of queries to the domain name service for the service that have continued to use the old name of the service is below a threshold percentage of the queries to the domain name service for the service.

### Claim 13 (depends on 8)

The method as recited in claim 8, wherein decommissioning criteria comprises the switched threshold number, and wherein determining to decommission the old name of the service comprises:
determining that the number of the clients that have switched to using the new name of the service exceeds the switched threshold number.

### Claim 14 (depends on 8)

The method as recited in claim 8, wherein decommissioning criteria comprises the switched threshold percentage, and wherein determining to decommission the old name of the service comprises:
determining that the percentage of the clients that have switched to using the new name of the service is above the switched threshold percentage of the clients that use the service.

### Claim 15

One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors of a provider network cause the one or more processors to:
subsequent to addition, by a domain name service, of a new entry for a new name of a service, retrieve data from query logs generated by the domain name service, wherein the query logs comprise query logs that indicate an old name of the service as a queried name and query logs that indicate the new name of the service as the queried name;
analyze the retrieved data;
identify, based on the analysis of the retrieved data, a number of clients of the service that have switched to use the new name of the service;
determine to decommission the old name of the service, based at least on:
the number of clients that have switched to use the new name of the service being above a switched threshold number or a percentage of the clients of the service that have switched to use the new name of the service being above a switched threshold percentage, wherein the service continues to be accessible using the new name; and
in response to the determination to decommission the old name of the service, cause the domain name service to delete an entry for the old name of the service.

### Claim 16 (depends on 15)

The one or more storage media as recited in claim 15, wherein decommissioning criteria comprises a usage threshold number, and wherein to determine to decommission the old name of the service, the program instructions when executed on or across one or more processors cause the one or more processors to:
determine that a number of the clients that have continued to use the old name of the service is below the usage threshold number.

### Claim 17 (depends on 15)

The one or more storage media as recited in claim 15, wherein decommissioning criteria comprises a usage threshold percentage, and wherein to determine to decommission the old name of the service, the program instructions when executed on or across one or more processors cause the one or more processors to:
determine that a percentage of the clients that have continued to use the old name of the service is below the usage threshold percentage of the clients that use the service.

### Claim 18 (depends on 15)

The one or more storage media as recited in claim 15, wherein decommissioning criteria comprises the switched threshold number, and wherein to determine to decommission the old name of the service, the program instructions when executed on or across one or more processors cause the one or more processors to:
determine that the number of the clients that have switched to using the new name of the service exceeds the switched threshold number.

### Claim 19 (depends on 15)

The one or more storage media as recited in claim 15, wherein decommissioning criteria comprises the switched threshold percentage, and wherein to determine to decommission the old name of the service, the program instructions when executed on or across one or more processors cause the one or more processors to:
determine that the percentage of the clients that have switched to using the new name of the service is above the switched threshold percentage of the clients that use the service.

### Claim 20 (depends on 15)

The one or more storage media as recited in claim 15, wherein the query logs respectively indicate an originating client network address of a client of the service that used the queried name.
