# US 12,223,372 B2 · Isolated environment provisioning in service mesh-based microservices systems

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

- Number: US 12,223,372 B2
- Document ID: US12223372B2
- Status: Granted
- Kind: B2
- Application number: 18/151,903
- Filed: 2023-01-09
- Published: 2024-07-11
- Granted: 2025-02-11
- Earliest claimed: 2023-01-09
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Boris Shpilyuck; Nisan Haimov; Igor Dubrovsky
- Web page: https://patentgrep.com/patent/US12223372B2

## CPC

- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/63: Routing a service request depending on the request content or context
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system can receive, at an integration and deployment component, a changeset for an updated microservice and an identifier of a user account that is configured to access the updated microservice, wherein a current version of the microservice is deployed to a service mesh that comprises a group of microservices. The system can instantiate the updated microservice to the service mesh. The system can update routing rules for the service mesh to indicate that any traffic in the service mesh that is associated with the user account and that is directed to the current version of the microservice is to be routed to the updated microservice. The system can, in response to receiving traffic determined to be associated with the user account and directed to the current version of the microservice, route the traffic to the updated microservice instead of routing the traffic to the current version of the microservice.

## Claims

### Claim 1

A system, comprising:
at least one processor; and
at least one memory coupled to the processor, comprising instructions that, in response to execution by the at least one processor, cause the system to perform operations, comprising:
receiving, at an integration and deployment component, a changeset for an updated microservice and an identifier of a user account that is configured to access the updated microservice, wherein the updated microservice represents an updated version relative to a current version of a microservice, and wherein the current version of the microservice is deployed to a service mesh that comprises a group of microservices;
instantiating the updated microservice to the service mesh based on the changeset;
updating routing rules for the service mesh to indicate that any traffic in the service mesh that is associated with the user account and that is directed to the current version of the microservice is to be routed to the updated microservice; and
in response to receiving traffic determined to be associated with the user account and directed to the current version of the microservice, routing the traffic to the updated microservice instead of routing the traffic to the current version of the microservice, wherein the traffic is routed through a group of microservices that comprises the updated microservice, the traffic being routed comprising,
intercepting a first call that corresponds to the traffic that is directed to a first microservice of the group of microservices in a call chain to produce an intercepted first call;
extracting the identifier of the user account from the intercepted first call to produce an extracted identifier of the user account;
storing the identifier of the user account in a token that is passed between microservices of the call chain that corresponds to the traffic; and
inserting the extracted identifier of the user account into a second call that corresponds to the traffic, and that is originated by the first microservice and destined for a second microservice of the group of microservices in the call chain.

### Claim 2 (depends on 1)

The system of claim 1, wherein the operations further comprise:
generating, by the integration and deployment component, service mesh artifacts from the changeset, wherein instantiating the updated microservice is performed based on the service mesh artifacts.

### Claim 3 (depends on 2)

The system of claim 2, wherein the updating of the routing rules for the service mesh is performed based on the service mesh artifacts.

### Claim 4 (depends on 3)

The system of claim 3, wherein instantiating the updated microservice is performed by a control plane component of the service mesh, wherein the control plane component is separate from the integration and deployment component, and wherein the control plane component is configured to manage data planes of the service mesh.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise:
determining that the traffic is associated with the user account based on the user account being identified in a header value of a hypertext transfer protocol request received from a device associated with the user account.

### Claim 6 (depends on 5)

The system of claim 5, wherein the traffic is received from a web browser, and wherein a plugin of the web browser added the header value to the hypertext transfer protocol request.

### Claim 7 (depends on 6)

The system of claim 6, wherein the plugin identified the user account based on the user account being logged into the device.

### Claim 8

A method, comprising:
receiving, by a system comprising at least one processor, a changeset for an updated microservice and an identifier of a user account, wherein the updated microservice is representative of an update to a current version of a microservice that is deployed to a service mesh;
deploying, by the system, the updated microservice to the service mesh based on the changeset;
updating, by the system, routing rules for the service mesh to indicate that any traffic in the service mesh that is associated with the user account and that is directed to the current version of the microservice is to be routed to the updated microservice; and
in response to receiving traffic that is associated with the user account and that is directed to the current version of the microservice, routing, by the system, the traffic to the updated microservice while foregoing routing the traffic to the current version of the microservice, wherein the traffic is routed through microservices that comprises the updated microservice, the traffic being routed comprising,
extracting, by the system, the identifier of the user account from a first call that corresponds to the traffic that is directed to a first microservice of the microservices in a call chain to produce an extracted identifier of the user account;
storing, by the system, the identifier of the user account in a token that is passed between microservices of the call chain that corresponds to the traffic; and
inserting, by the system, the extracted identifier of the user account into a second call that corresponds to the traffic, and that is originated by the first microservice and destined for a second microservice of the microservices in the call chain.

### Claim 9 (depends on 8)

The method of claim 8, wherein the changeset is received at an integration and deployment component of the system.

### Claim 10 (depends on 8)

The method of claim 8, wherein updating the routing rules transforms first routing rules to second routing rules, and further comprising:
after routing the traffic, and in response to determining to end deploying the updated microservice,
terminating, by the system, execution of the updated microservice, and
reverting, by the system, the second routing rules to the first routing rules.

### Claim 11 (depends on 10)

The method of claim 10, wherein the terminating and the reverting are performed by a control plane component of the system.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
saving, by the system, the identifier of the user account to a library, wherein the library is configured to add the identifier of the user account to calls represented in the call chain that corresponds to the traffic.

### Claim 13

A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising at least one processor to perform operations, comprising:
based on receiving an identifier of a user account and a changeset applicable to generate an updated microservice relative to a current version of a microservice that is deployed to a service mesh, deploying the updated microservice to the service mesh;
updating routing rules for the service mesh to indicate that any portions of traffic in the service mesh that are associated with the user account and that are directed to the current version of the microservice is to be routed to the updated microservice;
in response to receiving first traffic of the traffic, wherein the first traffic is determined to be associated with the user account and determined to be directed to the current version of the microservice, routing the first traffic to the updated microservice instead of routing the first traffic to the current version of the microservice, wherein the first traffic is routed through microservices that comprises the updated microservice, the first traffic being routed comprising,
extracting the identifier of the user account from a first call that corresponds to the traffic that is directed to a first microservice of the microservices in a call chain to produce an extracted identifier of the user account;
storing, by the system, the identifier of the user account in a token that is passed between microservices of the call chain that corresponds to the traffic; and
inserting the extracted identifier of the user account into a second call that corresponds to the first traffic, and that is originated by the first microservice and destined for a second microservice of the microservices in the call chain.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the operations further comprise:
in response to receiving second traffic of the traffic, wherein the second traffic is determined not to be associated with the user account and is determined to be directed to the current version of the microservice, routing the second traffic to the current version of the microservice instead of routing the second traffic to the updated microservice.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein deploying the updated microservice comprises:
marking the updated microservice with a label that stores the identifier of the user account.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the service mesh comprises an infrastructure layer for a group of microservices that comprises the updated microservice and the current version of the microservice.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the updated microservice is part of a first isolated environment of the service mesh, wherein the current version of the microservice is part of a second isolated environment of the service mesh, wherein the first isolated environment is configured to receive the first traffic and is configured to exclude second traffic of the traffic, and wherein the second isolated environment is configured to receive the second traffic and is configured to exclude the first traffic.

### Claim 18 (depends on 1)

The system of claim 1, wherein the operations further comprise:
saving the identifier of the user account to a library, wherein the library is configured to add the identifier of the user account to calls represented in the call chain.

### Claim 19 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the operations further comprise:
saving the identifier of the user account to a library, wherein the library is configured to add the identifier of the user account to calls represented in the call chain.

### Claim 20 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the operations further comprise:
generating service mesh artifacts from the changeset, wherein deploying the updated microservice is performed based on the service mesh artifacts.
