IP Library Granted Patent US 12,014,162
Granted Patent B2
US 12,014,162 · App. 17/462,888 · Granted Jun 18, 2024

Controlled updates of containers in a distributed application deployment environment

Inventor: Mayank Kumar (Freemont, CA)
Assignee: Salesforce, Inc.
G06F8/65G06F9/445
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,014,162
App. No.
17/462,888
Granted
Jun 18, 2024
Kind
B2
Abstract

System and methods are described for implementing controlled updates of containers in a distributed application deployment environment. In one implementation, a method comprises: receiving a request to update a target container of a plurality of containers within a deployed computing unit; identifying an updated configuration object to be applied to the target container based on the request; receiving or computing a health indicator representative of performance of the deployed computing unit or other containers to which the updated configuration object has been applied; and assigning the updated configuration object to the target container based on the health indicator.

Claims (40)

1. A method, comprising:

receiving, by a computer system, a request to update a target container of a plurality of containers within a computing unit deployed in a distributed application deployment environment, wherein the target container was deployed in accordance with a current configuration object defining a first version of the target container;

identifying, by the computer system, an updated configuration object to be applied to the target container based on the request, wherein the updated configuration object defines a second version of the target container;

determining, by the computer system, a health indicator representative of performance of other containers, of a same type as the target container, to which the updated configuration object has already been applied, wherein the other containers are included in respective computing units deployed in the distributed application deployment environment; and

in response to the health indicator indicating that the other containers are functional, the computer system assigning the updated configuration object to the target container such that, for a subsequent deployment of the computing unit, the target container is deployed in accordance with the updated configuration object.

2. The method of claim 1 , wherein the plurality of containers comprise a main application container maintained by a first entity, and wherein the target container is a sidecar container maintained by a second entity that is different from the first entity.

3. The method of claim 2 , wherein the updated configuration object is assigned to the target container without requiring that an update is applied to the main application container or without requiring authorization by the first entity.

4. The method of claim 1 , wherein the health indicator is representative of performance of the computing unit, and wherein the health indicator is computed based on an availability of Uniform Resource Locator (URL) links associated with the computing unit or services associated with the computing unit.

5. The method of claim 1 , wherein the target container is associated with a first tenant and is upgraded prior to a second target container, of the same type as the target container, associated with a second tenant, and wherein the method further comprises the computer system assigning the updated configuration object to the second target container based on a health indicator of the target container.

6. The method of claim 1 , further comprising:

prior to receiving the request to updating the target container, receiving, by the computer system, a request to initiate the computing unit;

receiving, by the computer system, a request to include the target container within the computing unit upon generation; and

generating, by the computer system, the computing unit.

7. A system for implementing a distributed application deployment environment, the system comprising:

one or more processing devices; and

a memory device coupled to the one or more processing devices, the memory device having instructions stored thereon that, in response to execution by the one or more processing devices, cause the one or more processing devices to:

receive a request to update a target container of a plurality of containers within a computing unit deployed in the distributed application deployment environment, wherein the target container was deployed in accordance with a current configuration object defining a first version of the target container;

identify an updated configuration object to be applied to the target container based on the request, wherein the updated configuration object defines a second version of the target container;

receive or compute a health indicator representative of performance of the computing unit or other containers, of a same type as the target container, to which the updated configuration object has been applied, the health indicator being computed as a time series to track a ratio of unavailable services to a total number of services associated with the computing unit, wherein the other containers are included in respective computing units deployed in the distributed application deployment environment; and

assign the updated configuration object to the target container based on the health indicator such that, for a subsequent deployment of the computing unit, the target container is deployed in accordance with the updated configuration object.

8. The system of claim 7 , wherein the plurality of containers comprise a main application container maintained by a first entity, and wherein the target container is a sidecar container maintained by a second entity that is different from the first entity.

9. The system of claim 8 , wherein the updated configuration object is assigned to the target container without requiring that an update is applied to the main application container or without requiring authorization by the first entity.

10. The system of claim 7 , wherein the health indicator is representative of performance of the computing unit, and wherein the health indicator is to be computed based on an availability of Uniform Resource Locator (URL) links associated with the computing unit or services associated with the computing unit.

11. The system of claim 7 , wherein the updated configuration object is assigned to the target container responsive to a determination that the health indicator satisfies a threshold condition.

12. The system of claim 7 , wherein the one or more processing devices are to further:

receive a request to initiate the computing unit prior to receiving the request to updating the target container;

receive a request to include the target container within the computing unit upon generation; and

generate the computing unit.

13. A non-transitory computer-readable storage medium having instructions encoded thereon which, when executed by one or more processing devices of a distributed data processing system, cause the one or more processing devices to perform operations comprising:

receiving a request to update a target container of a plurality of containers within a computing unit deployed in a distributed application deployment environment, wherein the target container was deployed in accordance with a current configuration object defining a first version of the target container;

identifying an updated configuration object to be applied to the target container based on the request, wherein the updated configuration object defines a second version of the target container;

determining a health indicator representative of performance of other containers, of a same type as the target container, to which the updated configuration object has already been applied, wherein the other containers are included in respective computing units deployed in the distributed application deployment environment; and

in response to the health indicator indicating that the other containers are functional, assigning the updated configuration object to the target container such that, for a subsequent deployment of the computing unit, the target container is deployed in accordance with the updated configuration object.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the plurality of containers comprise a main application container maintained by a first entity, wherein the target container is a sidecar container maintained by a second entity that is different from the first entity, and wherein the updated configuration object is assigned to the target container without requiring that an update is applied to the main application container or without requiring authorization by the first entity.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the health indicator is representative of performance of the computing unit, and wherein the health indicator is to be computed based on an availability of Uniform Resource Locator (URL) links associated with the computing unit or services associated with the computing unit.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the target container is associated with a first tenant and is upgraded prior to a second target container, of the same type as the target container, associated with a second tenant, and wherein the operations further comprise assigning the updated configuration object to the second target container based on the health indicator of the target container.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise:

receiving a request to initiate the computing unit prior to receiving the request to updating the target container;

receiving a request to include the target container within the computing unit upon generation; and

generating the computing unit.

Assignments (2)
CHANGE OF NAME Recorded Oct 30, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065394/0169 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2021
From: KUMAR, MAYANK
To: SALESFORCE.COM, INC.
Reel/Frame 057345/0774 →
Continuity (1)
Related Publication 20230065431A1 · Mar 2, 2023