IP Library › Granted Patent US 12,210,462
Granted Patent B2
US 12,210,462 · App. 18/414,541 · Granted Jan 28, 2025

Systems and methods for leader node election in cluster server configurations

Inventors: Rohit Joshi (Glen Allen, VA); Ashish Gupta (Richmond, VA)
Assignee: CAPITAL ONE SERVICES, LLC
G06F12/123G06F15/17331H04L67/568G06F2212/251
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,210,462
App. No.
18/414,541
Granted
Jan 28, 2025
Kind
B2
Abstract

Disclosed are systems and methods for leader node election, comprising a cluster system including a plurality of nodes, a node registry, wherein nodes are configured to transmit registration requests to the node registry, receive node data is response, and to determine a leader node based on the earliest registered node, and wherein the leader node is configured to dynamically allocate data slots between the plurality of nodes, and each of the nodes are configured to store data associated with allocated data slots in an in-memory least recently used component and data associated with all of the data slots in a persistent storage component.

Claims (47)

1. A node management system, comprising:

a first node including a memory and one or more shards, wherein the first node is configured to:

identify one of the one or more shards based on a client request,

retrieve shard rules of the identified shard,

determine an allocation of one or more memory slots of the identified shard based on the client request,

lock the one or more memory slots, and

perform one or more operations on the one or more memory slots associated with the client request based on the allocation.

2. The node management system of claim 1 , wherein the first node is configured to unlock the one or more memory slots.

3. The node management system of claim 1 , wherein the one or more memory slots represent a portion of an in memory least-recently used (LRU) component of the first node.

4. The node management system of claim 1 , further comprising a client device in data communication with the first node, wherein the client request is received from the client device.

5. The node management system of claim 1 , wherein the first node is further configured to:

determine an allocation of one or more database slots of the identified shard;

lock the one or more database slots; and

perform one or more operations on the one or more database slots based on the allocation.

6. The node management system of claim 5 , wherein the one or more database slots represent one or more column families of a persistent storage component of the first node.

7. The node management system of claim 6 , wherein the first node is further configured to back up the persistent storage component of the first node into a backup persistent storage.

8. The node management system of claim 1 , wherein the first node is further configured to update a memory slot associated with the one or more memory slot based on the shard rules.

9. The node management system of claim 1 , wherein the first node is configured to: store an index of one or more keys processed by the first node; and

retrieve a backup of data stored in the shard based on the index.

10. The node management system of claim 1 , further comprising a second node, wherein the first node is further configured to asynchronously update the second node when the second node is an in-region node.

11. A node management method implemented in a node managing system comprising a first node, wherein the first node includes a memory comprising one or more shards, the method comprising:

identifying one of the one or more shard based on a client request;

retrieving shard rules of the identified shard;

determining an allocation of one or more memory slots of the identified shard based on the client request;

locking the one or more memory slots; and

performing one or more operations on the one or more memory slots associated with the client request based on the allocation.

12. The node management method of claim 11 , further comprising:

determining an allocation of one or more database slots of the identified shard,

locking the one or more database slots,

performing one or more operations on the one or more database slots based on the allocation; and

unlocking the one or more database slots.

13. The node management method of claim 11 , further comprising:

performing a hash function on a key in the client request and a modulo operation to determine the allocation of the one or more memory slots.

14. The node management method of claim 13 , wherein the modulo operation is based on an available number of memory slots in the identified shard.

15. The node management method of claim 13 , further comprising identifying the one of the one or more shard based on one of a header or footer of the key in the client request or a container name of a client certificate associated with the client request.

16. A non-transient computer readable medium having instructions stored thereon that, when executed by a node managing system comprising a first node, wherein the first node includes a memory comprising one or more shards, cause the node managing system to perform procedures comprising:

identifying one of the one or more shard based on a client request;

retrieving shard rules of the identified shard;

determining an allocation of one or more memory slots of the identified shard based on the client request;

locking the one or more memory slots; and

performing one or more operations on the one or more memory slots associated with the client request based on the allocation.

17. The non-transient computer readable medium of claim 16 , wherein the shard rules comprise one of a cache capacity and a number of shards.

18. The non-transient computer readable medium of claim 16 , wherein the one or more operations comprise one of a read, write, update, push, or pull request.

19. The non-transient computer readable medium of claim 16 , the procedure further comprises:

encrypting a value associated with the memory slot associated with the client request; and

storing the encrypted value in the memory slot.

20. The non-transient computer readable medium of claim 16 , wherein the node managing system comprises a second node and the procedure further comprises asynchronously updating the second node when the second node is an in-region node on a periodic basis.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: JOSHI, ROHIT; GUPTA, ASHISH
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 066145/0880 →
Continuity (2)
Continuation 17585387 · Jan 26, 2022
Related Publication 20240220422A1 · Jul 4, 2024
References Cited (17)
US 9632828B1 · Mehta · 2017 [cited by examiner]
US 9800087B2 · Kouroussis et al. · 2017 [cited by applicant]
US 10454754B1 · Patel et al. · 2019 [cited by applicant]
US 20050132154A1 · Rao et al. · 2005 [cited by applicant]
US 20060235972A1 · Asnis · 2006 [cited by applicant]
US 20070091889A1 · Xiao et al. · 2007 [cited by applicant]
US 20140269776A1 · Bomfim et al. · 2014 [cited by applicant]
US 20170024453A1 · Raja · 2017 [cited by examiner]
US 20180115456A1 · Bendre et al. · 2018 [cited by applicant]
US 20190394266A1 · Fukuyamu et al. · 2019 [cited by applicant]
US 20200153627A1 · Wentz · 2020 [cited by examiner]
US 20210271489A1 · Singhal · 2021 [cited by applicant]
CN 107800737 · 2018 [cited by applicant]
CN 111355600 · 2020 [cited by applicant]
CN 111400112 · 2020 [cited by applicant]
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority issued in PCT/US2023/011447, mailed Jul. 24, 2023, 23 pages. [cited by applicant]
Notification concerning Transmittal of copy of International Preliminary Report on Patentability issued in related PCT/US2023/011447, mailed Jul. 30, 2024, 14 pages. [cited by applicant]