IP Library › Granted Patent US 12,504,997
Granted Patent B2
US 12,504,997 · App. 17/947,274 · Granted Dec 23, 2025

Ring architecture-based workload distribution in a microservice computing environment

Inventors: Rohit Gosain (Bangalore, IN); Shibi Panikkar (Bangalore, IN)
Assignee: Dell Products L.P.
G06F9/5077G06F9/45558G06F2009/4557
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,504,997
App. No.
17/947,274
Granted
Dec 23, 2025
Kind
B2
Abstract

Techniques are disclosed for managing workloads in data processing systems. For example, a method determines a set of containers for processing a given workload of data records, wherein each container of the set of containers is configured to process a given subset of the data records. The method causes deployment of the set of containers in a ring configuration to process the given workload of data records such that at least one of the containers in the ring configuration automatically processes one or more data records of a subset of data records assigned to another container in the ring configuration that becomes inactive.

Claims (34)

1 . An apparatus comprising:

at least one processing platform comprising at least one processor coupled to at least one memory, the at least one processing platform, when executing program code, is configured to:

determine a set of containers for processing a given workload of data records, wherein each container of the set of containers is configured to process a given subset of the data records; and

cause deployment of the set of containers in a ring configuration to process the given workload of data records such that at least one of the containers in the ring configuration automatically processes one or more data records of a subset of data records assigned to another container in the ring configuration that becomes inactive.

2 . The apparatus of claim 1 , wherein at least some of the data records in the given workload of data records are to be sequentially processed.

3 . The apparatus of claim 1 , wherein at least some of the data records of the given workload of data records are to be processed in parallel.

4 . The apparatus of claim 1 , wherein determining the set of containers for processing the given workload of data records further comprises computing a number of containers to be included in the set of containers.

5 . The apparatus of claim 4 , wherein computing the number of containers to be included in the set of containers further comprises:

determining an average time to process a single data record of the given workload of data records;

obtaining a given time for completing the processing of the given workload of data records; and

dividing a total number of data records in the given workload of data records by a value computed from the average time to process a single data record and the given time for completing the processing of the given workload of data records.

6 . The apparatus of claim 5 , wherein determining the average time to process a single data record of the given workload of data records is performed in a selectable learn mode.

7 . The apparatus of claim 6 , wherein computing the number of containers to be included in the set of containers is performed in a selectable run mode.

8 . The apparatus of claim 1 , wherein each container of the set of containers is configured to execute a given microservice.

9 . The apparatus of claim 8 , wherein the given microservice is the same in each container of the set of containers.

10 . The apparatus of claim 1 , wherein the at least one processing platform, when executing program code, is further configured to cause the processing of the given workload of data records in accordance with the set of containers deployed in the ring configuration.

11 . The apparatus of claim 10 , wherein the at least one container in the ring configuration automatically processes the one or more data records of the subset of data records assigned to the other container in the ring configuration that has become inactive after the at least one container completes processing of a subset of data records assigned thereto.

12 . The apparatus of claim 10 , wherein processing the given workload of data records by the containers of the set of containers is performed in a given direction around the ring configuration.

13 . The apparatus of claim 12 , wherein processing the given workload of data records by the containers of the set of containers is performed by each container processing a next data record in the given direction of the ring configuration.

14 . A method comprising:

determining a set of containers for processing a given workload of data records, wherein each container of the set of containers is configured to process a given subset of the data records; and

causing deployment of the set of containers in a ring configuration to process the given workload of data records such that at least one of the containers in the ring configuration automatically processes one or more data records of a subset of data records assigned to another container in the ring configuration that becomes inactive;

wherein the determining and the deployment causing are performed by a processing platform comprising at least one processor, coupled to at least one memory, executing program code.

15 . The method of claim 14 , wherein determining the set of containers for processing the given workload of data records further comprises computing a number of containers to be included in the set of containers.

16 . The method of claim 15 , wherein computing the number of containers to be included in the set of containers further comprises:

determining an average time to process a single data record of the given workload of data records;

obtaining a given time for completing the processing of the given workload of data records; and

dividing a total number of data records in the given workload of data records by a value computed from the average time to process a single data record and the given time for completing the processing of the given workload of data records.

17 . The method of claim 14 , further comprising causing the processing of the given workload of data records in accordance with the set of containers deployed in the ring configuration.

18 . The method of claim 17 , wherein the at least one container in the ring configuration automatically processes the one or more data records of the subset of data records assigned to the other container in the ring configuration that has become inactive after the at least one container completes processing of a subset of data records assigned thereto.

19 . A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing platform causes the at least one processing platform to:

determine a set of containers for processing a given workload of data records, wherein each container of the set of containers is configured to process a given subset of the data records; and

cause deployment of the set of containers in a ring configuration to process the given workload of data records such that at least one of the containers in the ring configuration automatically processes one or more data records of a subset of data records assigned to another container in the ring configuration that becomes inactive.

20 . The computer program product of claim 19 , further comprising causing the processing of the given workload of data records in accordance with the set of containers deployed in the ring configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2022
From: GOSAIN, ROHIT; PANIKKAR, SHIBI
To: DELL PRODUCTS L.P.
Reel/Frame 061134/0949 →
Continuity (1)
Related Publication 20240095092A1 · Mar 21, 2024
References Cited (11)
US 20190179720A1 · Chen · 2019 [cited by examiner]
US 20210136133A1 · Ithal · 2021 [cited by examiner]
US 20220014459A1 · Ganguli · 2022 [cited by examiner]
US 20220385725A1 · Ferraro · 2022 [cited by examiner]
US 20230376335A1 · Chen · 2023 [cited by examiner]
The Linux Foundation, “What is Kubernetes?” https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/, Oct. 22, 2020, 4 pages. [cited by applicant]
Vmware Inc. “Microservices,” https://spring.io/microservices, Accessed Jan. 14, 2021, 4 pages. [cited by applicant]
Vmware Inc. “VMware Tanzu,” Solution Brief, Jan. 2021, 3 pages. [cited by applicant]
S. Sugob, “The Twelve-Factor App—A Successful Microservices Guideline,” https://medium.com/hiredevops-org/the-twelve-factor-app-a-successful-microservices-guideline-497f45aac506, Feb. 28, 2019, 7 pages. [cited by applicant]
Wikipedia, “Kubernetes,” https://en.wikipedia.org/wiki/Kubernetes, Sep. 5, 2022, 17 pages. [cited by applicant]
Wikipedia, “Microservices,” https://en.wikipedia.org/wiki/Microservices, Aug. 29, 2022, 13 pages. [cited by applicant]