# US 12,224,932 B2 · Discovery and routing service for a cloud infrastructure

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

- Number: US 12,224,932 B2
- Document ID: US12224932B2
- Status: Granted
- Kind: B2
- Application number: 18/243,416
- Filed: 2023-09-07
- Published: 2023-12-28
- Granted: 2025-02-11
- Earliest claimed: 2022-01-13
- Assignees: HashiCorp
- Applicants: HashiCorp
- Inventors: Mitchell Hashimoto; Evan Phoenix
- Web page: https://patentgrep.com/patent/US12224932B2

## CPC

- H04L 45/42: Centralised routing
- H04L 45/24: Multipath
- H04L 45/38: {Flow based routing}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/166: {at the transport layer}
- H04L 63/168: {above the transport layer}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A discovery and routing service may generate a URL related to an application to be deployed to a cloud computing platforms, the URL providing access to an edge list containing one or more edge nodes. The discovery and routing service may connect at least one agent to the URL. The discovery and routing service may send authentication information to the agent, including an identifier related to the agent, and a set of agent labels. The discovery and routing service may insert, after authentication by the edge node, the authentication information into a routing mesh. The discovery and routing service may locate the agent, in response to a request, based on a comparison between the set of request labels and a set of agent labels. The discovery and routing service may connect the located agent with traffic to and from the routing mesh.

## Claims

### Claim 1

A method of provisioning an externally mutable uniform resource locator (URL) to application deployments on one or more cloud computing platforms, the method comprising:
generating, by a discovery and routing service of a cloud provisioning platform, a URL related to an application to be deployed to at least one of the one or more cloud computing platforms, the URL being configured to provide access to an edge list that represents one or more edge nodes;
connecting, by the discovery and routing service, at least one agent to the URL, each agent being configured to connect with the one or more edge nodes in the edge list via the URL;
sending, by the discovery and routing service, authentication information to the agent, the authentication information including an identifier related to the agent, and a set of agent labels to identify traffic between the agent each of the one or more edge nodes;
inserting, after authentication by the edge node, the authentication information into a routing mesh, the routing mesh being configured to receive a request that includes a set of request labels, the request being configured to send data traffic to the agent;
upon receiving a request by the routing mesh, locating, by the discovery and routing service, the agent based on a comparison between the set of request labels and a set of agent labels; and
connecting, by the discovery and routing service, the located agent with traffic to and from the routing mesh.

### Claim 2 (depends on 1)

The method in accordance with claim 1, further comprising:
terminating, by the discovery and routing service, the traffic to and from the routing mesh and the located agent based on receipt of a Transport Layer Security (TLS) request.

### Claim 3 (depends on 2)

The method in accordance with claim 2, wherein the terminating further includes sending a request to terminate traffic to the agent, the request including connection information that allows the agent to transmit a response to the request.

### Claim 4 (depends on 1)

The method in accordance with claim 1, wherein the set of request labels and the set of agent labels are order independent.

### Claim 5 (depends on 1)

The method in accordance with claim 1, wherein the agent is located, by the discovery and routing service, if each label in the set of request labels matches each label in the set of agent labels.

### Claim 6 (depends on 1)

The method in accordance with claim 1, further comprising:
sending application configuration information, by a custom entry point binary, to the discovery and routing service wherein the discovery and routing service selects a configuration based on the application configuration information.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the at least one of the one or more edge nodes has a public address and is directly addressable.

### Claim 8

A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of an electronic device, cause the device to:
generate, by a discovery and routing service of a cloud provisioning platform, a URL related to an application to be deployed to at least one of the one or more cloud computing platforms, the URL being configured to provide access to an edge list that represents one or more edge nodes;
connect, by the discovery and routing service, at least one agent to the URL, each agent being configured to connect with the one or more edge nodes in the edge list via the URL;
send, by the discovery and routing service, authentication information to the agent, the authentication information including an identifier related to the agent, and a set of agent labels to identify traffic between the agent each of the one or more edge nodes;
send, after authentication by the edge node, the authentication information to a routing mesh, the routing mesh being configured to insert the authentication information into the routing mesh and receive a request that includes a set of request labels, the request being configured to send data traffic to the agent;
upon receiving a request by the routing mesh, locating, by the discovery and routing service, the agent based on a comparison between the set of request labels and a set of agent labels; and
connect, by the discovery and routing service, the located agent with traffic to and from the routing mesh.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the one or more instructions further cause the discovery and routing service to: terminate, by the discovery and routing service, the traffic to and from the routing mesh and the located agent based on receipt of a Transport Layer Security (TLS) request.

### Claim 10 (depends on 9)

The non-transitory computer-readable medium of claim 9, wherein the terminating further includes sending a request to terminate traffic to the agent, the request including connection information that allows the agent to transmit a response to the request.

### Claim 11 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the set of request labels and the set of agent labels are order independent.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the agent is located if each label in the set of request labels matches each label in the set of agent labels.

### Claim 13 (depends on 8)

The non-transitory computer-readable medium of claim 8,
further comprising: sending configuration information, by a custom entry point binary, to the discovery and
routing service wherein the discovery and routing service selects a configuration based on the configuration information.

### Claim 14 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the at least one of the one or more edge nodes has a public address and is directly addressable.

### Claim 15

An electronic device, comprising:
one or more memories; and
one or more processors, communicatively coupled to the one or more memories, configured to:
generate, by a discovery and routing service of a cloud provisioning platform, a URL related to an application to be deployed to at least one of the one or more cloud computing platforms, the URL being configured to provide access to an edge list that represents one or more edge nodes;
connect, by the discovery and routing service, at least one agent to the URL, each agent being configured to connect with the one or more edge nodes in the edge list via the URL;
send, by the discovery and routing service, authentication information to the agent, the authentication information including an identifier related to the agent, and a set of agent labels to identify traffic between the agent each of the one or more edge nodes;
insert, after authentication by the edge node, the authentication information into a routing mesh, the routing mesh being configured to receive a request that includes a set of request labels, the request being configured to send data traffic to the agent;
upon receiving a request by the routing mesh, locating, by the discovery and routing service, the agent based on a comparison between the set of request labels and a set of agent labels; and
connect, by the discovery and routing service, the located agent with traffic to and from the routing mesh.

### Claim 16 (depends on 15)

The electronic device of claim 15, wherein the one or more processors are further configured to:
terminate, by the discovery and routing service, the traffic to and from the routing mesh and the located agent based on receipt of a Transport Layer Security (TLS) request.

### Claim 17 (depends on 16)

The electronic device of claim 16, wherein the terminating further includes sending a request to terminate traffic to the agent, the request including connection information that allows the agent to transmit a response to the request.

### Claim 18 (depends on 15)

The electronic device of claim 15, wherein the set of request labels and the set of agent labels are order independent.

### Claim 19 (depends on 15)

The electronic device of claim 15, wherein the agent is located, by the discovery and routing service, if each label in the set of request labels matches each label in the set of agent labels.

### Claim 20 (depends on 15)

The electronic device of claim 15, wherein the one or more processors are further configured to:
send application configuration information to the discovery and routing service wherein the discover and routing service selects a configuration based on the application configuration information.
