IP Library › Granted Patent US 12,417,130
Granted Patent B2
US 12,417,130 · App. 17/550,147 · Granted Sep 16, 2025

Embedded capacity-computer module for microservice load balancing and distribution

Inventors: Chandrashekar Kanakapura Subbarao (Bangalore, IN); Varun Gupta (Bangalore, IN)
Assignee: SAP SE
G06F9/5083G06F9/5016G06F9/544G06F9/548
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,417,130
App. No.
17/550,147
Granted
Sep 16, 2025
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for microservice load balancing and distribution using an embedded computer capacity module. An embodiment operates by retrieving an application programming interface (API) request from a client. The embodiment stores objects representing the API request in a job detail database containing details related to the API request. The embodiment determines an available bandwidth of the service instance. The embodiment transmits the determined available bandwidth of the service instance to a job processor. The embodiment selects tasks from the objects representing the API request stored in the job detail database based on the determined available bandwidth of the service instance. The embodiment executes the selected tasks.

Claims (58)

1. A computer-implemented method, comprising:

retrieving, via a first service instance, an application programming interface (API) request from a client;

storing, via the first service instance, an object representing the API request in a job detail database containing details related to the API request;

determining, by a capacity computer module of the first service instance, an available bandwidth of the first service instance;

transmitting, via the first service instance, the available bandwidth of the first service instance to a job processor;

selecting, via the first service instance, a task associated with the object representing the API request stored in the job detail database based on the available bandwidth of the first service instance;

in response to the selecting, locking, via the first service instance, the object stored in the job detail database, the locking preventing a selection of the object by a second service instance that is different from the first service instance;

executing, via the first service instance, the selected task; and

executing, via the second service instance, a second task associated with a second object representing a second API request stored in the job detail database, wherein the second service instance is different from the first service instance that received the API request;

wherein at least one of the retrieving, storing, determining, transmitting, and selecting are performed by one or more computers.

2. The method of claim 1 , wherein the executing the selected task comprises:

executing, via the first service instance, the task based on templates that define standards for processing the task using interface definitions.

3. The method of claim 1 , wherein the determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including available memory.

4. The method of claim 1 , wherein the determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including available disk space.

5. The method of claim 1 , wherein the determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including an amount of memory required to process the API request.

6. The method of claim 1 , further comprising wherein the determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance at intervals.

7. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

retrieve, via a first service instance, an application programming interface (API) request from a client;

store, via the first service instance, an object representing the API request in a job detail database containing details related to the API request;

determine, by a capacity computer module of the first service instance, an available bandwidth of the first service instance;

transmit, via the first service instance, the available bandwidth of the first service instance to a job processor;

select, via the first service instance, a task associated with the object representing the API request stored in the job detail database based on the available bandwidth of the first service instance;

in response to the selecting, lock, via the first service instance, the object stored in the job detail database, the locking preventing a selection of the object by a second service instance that is different from the first service instance;

execute, via the first service instance, the selected task; and

execute, via the second service instance, a second task associated with a second object representing a second API request stored in the job detail database, wherein the second service instance is different from the first service instance that received the API request.

8. The system of claim 7 , wherein the at least one processor is further configured to:

execute, via the first service instance, the task based on templates that define standards for processing the task using interface definitions.

9. The system of claim 7 , wherein the at least one processor is further configured to:

determine, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including available memory.

10. The system of claim 7 , wherein the at least one processor is further configured to:

determine, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including available disk space.

11. The system of claim 7 , wherein the at least one processor is further configured to:

determine, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including an amount of memory required to process the API request.

12. The system of claim 7 , wherein the at least one processor is further configured to:

determine, by the capacity computer module of the first service instance, the available bandwidth of the first service instance at intervals.

13. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

retrieving, via a first service instance, an application programming interface (API) request from a client;

storing, via the first service instance, an object representing the API request in a job detail database containing details related to the API request;

determining, by a capacity computer module of the first service instance, an available bandwidth of the first service instance;

transmitting, via the first service instance, the available bandwidth of the first service instance to a job processor;

selecting, via the first service instance, a task associated with the object representing the API request stored in the job detail database based on the available bandwidth of the first service instance;

in response to the selecting, locking, via the first service instance, the object stored in the job detail database, the locking preventing a selection of the object by a second service instance that is different from the first service instance;

executing, via the first service instance, the selected task; and

executing, via the second service instance, a second task associated with a second object representing a second API request stored in the job detail database, wherein the second service instance is different from the first service instance that received the API request.

14. The non-transitory computer-readable medium of claim 13 , wherein the executing the selected task comprises:

executing, via the first service instance, the task based on templates that define standards for processing the task using interface definitions.

15. The non-transitory computer-readable medium of claim 13 , wherein the determining, by the capacity computer module of the first service instance, the available bandwidth comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including available memory.

16. The non-transitory computer-readable medium of claim 13 , wherein the determining, by the capacity computer module of the first service instance, the available bandwidth comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including available disk space.

17. The non-transitory computer-readable medium of claim 13 , wherein the determining, by the capacity computer module of the first service instance, the available bandwidth comprises:

determining, by the capacity computer module of the first service instance, the available bandwidth of the first service instance based on parameters including an amount of memory required to process the API request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: SUBBARAO, CHANDRASHEKAR KANAKAPURA; GUPTA, VARUN
To: SAP SE
Reel/Frame 062484/0281 →
Continuity (1)
Related Publication 20230185631A1 · Jun 15, 2023
References Cited (4)
US 10037144B2 · Rahman · 2018 [cited by examiner]
US 20160283274A1 · Kochunni · 2016 [cited by examiner]
CN 113821506A · 2021 [cited by examiner]
EP 3901773A1 · 2021 [cited by examiner]