IP Library › Granted Patent US 12,254,011
Granted Patent B2
US 12,254,011 · App. 18/321,774 · Granted Mar 18, 2025

Database access request processing distribution

Inventor: Ramkumar Moorthy (Tokyo, JP)
Assignee: RAKUTEN MOBILE, INC.
G06F16/24568G06F16/24542
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,254,011
App. No.
18/321,774
Granted
Mar 18, 2025
Kind
B2
Abstract

Database access request processing distribution is performed by receiving requests from a plurality of worker servers, the requests including database access requests, and maintaining a queue of the requests. Queues are maintained by adding each request to a queue in response to receiving the request, assigning, for each request, a master server among a plurality of master servers to process the request, and removing each request from the queue in response to processing of the request. The assigning includes assigning the first master server among the plurality of master servers to process the database access requests until the database access requests in the queue exceed a first threshold, and then distributing assignments to process the database access requests among the plurality of master servers.

Claims (76)

1. A non-transitory computer-readable medium including instructions executable by a processor to cause the processor to perform operations comprising:

receiving requests from a plurality of worker servers, the requests including database access requests and outgoing transmission requests; and

maintaining a queue of the requests by

adding each request to a queue in response to receiving the request,

assigning, for each request, a master server among a plurality of master servers to process the request, wherein the assigning includes:

assigning a first master server among the plurality of master servers to process the outgoing transmission requests,

assigning the first master server among the plurality of master servers to process the database access requests until the database access requests in the queue exceed a first threshold, and

distributing assignments to process the database access requests among the plurality of master servers in response to the database access requests in the queue exceeding the first threshold, and

removing each request from the queue in response to processing of the request.

2. The computer-readable medium of claim 1 , wherein the first threshold is one of

a proportion of a number of database access requests in the queue to a number of requests in the queue,

a number of database access requests in the queue, or

a number of database access requests added to the queue in a time period.

3. The computer-readable medium of claim 1 , wherein the distributing includes

assigning the first master server among the plurality of master servers to process fewer database access requests than any other master server among the plurality of master servers.

4. The computer-readable medium of claim 1 , wherein the distributing includes, for each database access request,

determining which master server among the plurality of master servers to assign based on a load balancing scheme, and

assigning the determined master server among the plurality of master servers to process the database access request.

5. The computer-readable medium of claim 4 , wherein the determining includes, for each database access request,

determining which master server among the plurality of master servers is assigned fewest requests in the queue.

6. The computer-readable medium of claim 1 , wherein

the assigning includes assigning the first master server among the plurality of master servers to process the database access requests in response to the database access requests in the queue falling below a second threshold while distributing assignments, and

the second threshold is lower than the first threshold.

7. The computer-readable medium of claim 1 , wherein

the requests from the plurality of workers further include internal state change requests, and

the assigning includes assigning the first master server among the plurality of master servers to process the internal state change requests.

8. A method comprising:

receiving requests from a plurality of worker servers, the requests including database access requests and outgoing transmission requests; and

maintaining a queue of the requests by

adding each request to a queue in response to receiving the request,

assigning, for each request, a master server among a plurality of master servers to process the request, wherein the assigning includes:

assigning a first master server among the plurality of master servers to process the outgoing transmission requests,

assigning the first master server among the plurality of master servers to process the database access requests until the database access requests in the queue exceed a first threshold, and

distributing assignments to process the database access requests among the plurality of master servers in response to the database access requests in the queue exceeding the first threshold, and

removing each request from the queue in response to processing of the request.

9. The method of claim 8 , wherein the first threshold is one of

a proportion of a number of database access requests in the queue to a number of requests in the queue,

a number of database access requests in the queue, or

a number of database access requests added to the queue in a time period.

10. The method of claim 8 , wherein the distributing includes

assigning the first master server among the plurality of master servers to process fewer database access requests than any other master server among the plurality of master servers.

11. The method of claim 8 , wherein the distributing includes, for each database access request,

determining which master server among the plurality of master servers to assign based on a load balancing scheme, and

assigning the determined master server among the plurality of master servers to process the database access request.

12. The method of claim 11 , wherein the determining includes, for each database access request,

determining which master server among the plurality of master servers is assigned fewest requests in the queue.

13. The method of claim 8 , wherein

the assigning includes assigning the first master server among the plurality of master servers to process the database access requests in response to the database access requests in the queue falling below a second threshold while distributing assignments, and

the second threshold is lower than the first threshold.

14. The method of claim 8 , wherein

the requests from the plurality of workers further include internal state change requests, and

the assigning includes assigning the first master server among the plurality of master servers to process the internal state change requests.

15. An apparatus comprising:

a controller including circuitry configured to:

receive requests from a plurality of worker servers, the requests including database access requests and outgoing transmission requests; and

maintain a queue of the requests by

adding each request to a queue in response to receiving the request,

assigning, for each request, a master server among a plurality of master servers to process the request, wherein the assigning includes:

assigning a first master server among the plurality of master servers to process the outgoing transmission requests,

assigning the first master server among the plurality of master servers to process the database access requests until the database access requests in the queue exceed a first threshold, and

distributing assignments to process the database access requests among the plurality of master servers in response to the database access requests in the queue exceeding the first threshold, and

removing each request from the queue in response to processing of the request.

16. The apparatus of claim 15 , wherein the first threshold is one of

a proportion of a number of database access requests in the queue to a number of requests in the queue,

a number of database access requests in the queue, or

a number of database access requests added to the queue in a time period.

17. The apparatus of claim 15 , wherein the distributing includes

assigning the first master server among the plurality of master servers to process fewer database access requests than any other master server among the plurality of master servers.

18. The apparatus of claim 15 , wherein the distributing includes, for each database access request,

determining which master server among the plurality of master servers to assign based on a load balancing scheme, and

assigning the determined master server among the plurality of master servers to process the database access request.

19. The apparatus of claim 18 , wherein the determining includes, for each database access request,

determining which master server among the plurality of master servers is assigned fewest requests in the queue.

20. The apparatus of claim 15 , wherein

the assigning includes assigning the first master server among the plurality of master servers to process the database access requests in response to the database access requests in the queue falling below a second threshold while distributing assignments, and

the second threshold is lower than the first threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: MOORTHY, RAMKUMAR
To: RAKUTEN MOBILE, INC.
Reel/Frame 063722/0252 →
Continuity (1)
Related Publication 20240394261A1 · Nov 28, 2024
References Cited (20)
US 5799173A · Gossler · 1998 [cited by examiner]
US 5966372A · Wright · 1999 [cited by examiner]
US 6128657A · Okanoya · 2000 [cited by examiner]
US 6681251B1 · Leymann · 2004 [cited by examiner]
US 7389510B2 · Forrester · 2008 [cited by examiner]
US 7747662B2 · Vivekanand · 2010 [cited by examiner]
US 8918506B1 · Clubb · 2014 [cited by examiner]
US 10169609B1 · Barday · 2019 [cited by examiner]
US 10984011B1 · Bishop · 2021 [cited by examiner]
US 11503104B1 · Thomas · 2022 [cited by examiner]
US 20070156869A1 · Galchev · 2007 [cited by examiner]
US 20080243867A1 · Janedittakarn · 2008 [cited by examiner]
US 20090144285A1 · Chatley · 2009 [cited by examiner]
US 20090248475A1 · Choi · 2009 [cited by examiner]
US 20110044174A1 · Szymanski · 2011 [cited by examiner]
US 20110246434A1 · Cheenath · 2011 [cited by examiner]
US 20150163161A1 · Arikatla · 2015 [cited by examiner]
US 20180357291A1 · Choi · 2018 [cited by examiner]
US 20210157631A1 · Manteck · 2021 [cited by examiner]
US 20210271715A1 · Bastide · 2021 [cited by examiner]
Cited By (1)
US 12,572,347