IP Library Granted Patent US 9,652,161
Granted Patent B2
US 9,652,161 · App. 14/571,518 · Granted May 16, 2017

System, method, and medium of optimizing load reallocation in an in-memory data management grid

Inventor: Gagan Mehra (Oakland, CA)
Assignee: Software AG USA Inc.
G06F3/0619G06F3/067G06F3/0647G06F9/5088
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 9,652,161
App. No.
14/571,518
Granted
May 16, 2017
Kind
B2
Abstract

An in-memory data management (IMDM) system is described that includes an IMDM cluster, a load balancer, and a reallocation processor controller. The IMDM cluster includes a plurality of nodes. The controller determines whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes, based on a predefined criteria or rule. The controller further identifies a source node from which at least one data element is to be deleted and a target node to which the at least one data element that is to be deleted is to be added. The source node and target node contribute to the actionable load imbalance. The controller copies the at least one data element that is to be deleted from the source node into the target node, and deletes the at least one data element that is to be deleted from the source node.

Claims (133)

1. An in-memory data management (IMDM) system comprising:

an IMDM cluster including a plurality of nodes;

a load balancer; and

a reallocation process controller, cooperatively operable with the IMDM cluster and the load balancer, and programmed to perform a reallocation cycle including:

determining whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes included in the IMDM cluster, based on a predefined criteria or rule; and

when it is determined that there is an actionable load imbalance of existing data elements:

identifying in the plurality of nodes, a source node, from which at least one data element is to be deleted, and a target node, into which the at least one data element that is to be deleted, is to be added, the source node and target node at least in-part contributing to the actionable load imbalance of existing data elements;

copying the at least one data element that is to be deleted from the source node into the target node; and

deleting the at least one data element that is to be deleted from the source node, wherein

when, after the reallocation process controller identifies the source node and the target node but before the reallocation process controller copies the at least one data element, the load balancer receives a write request from a client application:

the reallocation process controller pauses operation;

the load balancer executes the write request; and

the reallocation process controller restarts the reallocation cycle.

2. The IMDM system according to claim 1 , wherein

the predefined criteria or rule used to determine whether there is an actionable load imbalance of existing data elements includes at least one of:

an amount of data used in the plurality of nodes,

an expiration of time from a starting point,

a number of data elements stored in the plurality of nodes,

an occurrence of a node being added or removed from the IMDM cluster,

an occurrence of a request from a client application that has been determined to be a trigger by a predictive-learning function, and

an occurrence of a manual trigger.

3. The IMDM system according to claim 1 , wherein

the at least one data element includes only data elements with an auto-expiration date determined, in part by the load balancer, to be not imminent according to a predetermined standard for imminence.

4. The IMDM system according to claim 3 , wherein

the at least one data element includes only data elements that are a least recently used data element or a least frequently used data element in their respective nodes.

5. An in-memory data management (IMDM) system comprising:

an IMDM cluster including a plurality of nodes;

a load balancer; and

a reallocation process controller, cooperatively operable with the IMDM cluster and the load balancer, and programmed to perform a reallocation cycle including:

determining whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes included in the IMDM cluster, based on a predefined criteria or rule; and

when it is determined that there is an actionable load imbalance of existing data elements:

identifying in the plurality of nodes, a source node, from which at least one data element is to be deleted, and a target node, into which the at least one data element that is to be deleted, is to be added, the source node and target node at least in-part contributing to the actionable load imbalance of existing data elements;

copying the at least one data element that is to be deleted from the source node into the target node; and

deleting the at least one data element that is to be deleted from the source node, wherein

when, after the reallocation process controller identifies the source node and the target node and after the reallocation process controller copies the at least one data element, the load balancer receives a request from a client application:

the reallocation process controller pauses operation; and

the reallocation process controller restarts the reallocation cycle.

6. The IMDM system according to claim 5 , wherein

the predefined criteria or rule used to determine whether there is an actionable load imbalance of existing data elements includes at least one of:

an amount of data used in the plurality of nodes,

an expiration of time from a starting point,

a number of data elements stored in the plurality of nodes,

an occurrence of a node being added or removed from the IMDM cluster,

an occurrence of a request from a client application that has been determined to be a trigger by a predictive-learning function, and

an occurrence of a manual trigger.

7. The IMDM system according to claim 5 , wherein

the at least one data element includes only data elements with an auto-expiration date determined, in part by the load balancer, to be not imminent according to a predetermined standard for imminence.

8. The IMDM system according to claim 7 , wherein

the at least one data element includes only data elements that are a least recently used data element or a least frequently used data element in their respective nodes.

9. A method, implemented in an in-memory data management (IMDM) system, comprising an IMDM cluster including a plurality of nodes, a load balancer, and a reallocation process controller, cooperatively operable with the IMDM cluster and the load balancer, comprising

performing, by the reallocation process controller, a reallocation cycle, including:

determining whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes included in the IMDM cluster, based on a predefined criteria or rule; and

when it is determined that there is an actionable load imbalance of existing data elements:

identifying in the plurality of nodes, a source node, from which at least one data element is to be deleted, and a target node, into which the at least one data element that is to be deleted, is to be added, the source node and target node at least in-part contributing to the actionable load imbalance of existing data elements;

copying the at least one data element that is to be deleted from the source node into the target node; and

deleting the at least one data element that is to be deleted from the source node; and

when, after the source node and the target node are identified and before the at least one data element is copied, the load balancer receives a write request from a client application:

pausing operation by the reallocation process controller;

executing the write request by the load balancer; and

restarting performing of the reallocation cycle by the reallocation process controller.

10. The method according to claim 9 , wherein

the predefined criteria or rule used in determining whether there is an actionable load imbalance of existing data elements includes at least one of:

an amount of data used in the plurality of nodes,

an expiration of time from a starting point,

a number of data elements stored in the plurality of nodes,

an occurrence of a node being added or removed from the IMDM cluster,

an occurrence of a request from a client application that has been determined to be a trigger by a predictive-learning function, and

an occurrence of a manual trigger.

11. The method according to claim 9 , wherein

the at least one data element includes only data elements with an auto-expiration date determined, in part by the load balancer, to be not imminent according to a predetermined standard for imminence.

12. A method, implemented in an in-memory data management (IMDM) system, comprising an IMDM cluster including a plurality of nodes, a load balancer, and a reallocation process controller, cooperatively operable with the IMDM cluster and the load balancer, comprising

performing, by the reallocation process controller, a reallocation cycle, including:

determining whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes included in the IMDM cluster, based on a predefined criteria or rule; and

when it is determined that there is an actionable load imbalance of existing data elements:

identifying in the plurality of nodes, a source node, from which at least one data element is to be deleted, and a target node, into which the at least one data element that is to be deleted, is to be added, the source node and target node at least in-part contributing to the actionable load imbalance of existing data elements;

copying the at least one data element that is to be deleted from the source node into the target node; and

deleting the at least one data element that is to be deleted from the source node; and

when, after the source node and the target node are identified and after the at least one data element is copied, the load balancer receives a request from a client application:

pausing operation by the reallocation process controller;

executing the request by the load balancer; and

restarting performing of the reallocation cycle by the reallocation process controller.

13. The method according to claim 12 , wherein

the predefined criteria or rule used in determining whether there is an actionable load imbalance of existing data elements includes at least one of:

an amount of data used in the plurality of nodes,

an expiration of time from a starting point,

a number of data elements stored in the plurality of nodes,

an occurrence of a node being added or removed from the IMDM cluster,

an occurrence of a request from a client application that has been determined to be a trigger by a predictive-learning function, and

an occurrence of a manual trigger.

14. The method according to claim 12 , wherein

the at least one data element includes only data elements with an auto-expiration date determined, in part by the load balancer, to be not imminent according to a predetermined standard for imminence.

15. A non-transitory computer-readable storage medium with instructions stored thereon, which when executed in part by a reallocation process controller, which is cooperatively operable with an in-memory data management (IMDM) cluster, including a plurality of nodes, and a load balancer, in an IMDM system, results in a method being performed, the method comprising

performing a reallocation cycle, including:

determining whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes included in the IMDM cluster, based on a predefined criteria or rule; and

when it is determined that there is an actionable load imbalance of existing data elements:

identifying in the plurality of nodes, a source node, from which at least one data element is to be deleted, and a target node, into which the at least one data element that is to be deleted, is to be added, the source node and target node at least in-part contributing to the actionable load imbalance of existing data elements;

copying the at least one data element that is to be deleted from the source node into the target node; and

deleting the at least one data element that is to be deleted from the source node; and

when, after the source node and the target node are identified and before the at least one data element is copied, the load balancer receives a write request from a client application:

pausing operation of the reallocation process controller;

executing the write request by the load balancer; and

restarting performing of the reallocation cycle.

16. The computer-readable storage medium according to claim 15 , wherein

the predefined criteria or rule used in determining whether there is an actionable load imbalance of existing data elements includes at least one of:

an amount of data used in the plurality of nodes,

an expiration of time from a starting point,

a number of data elements stored in the plurality of nodes,

an occurrence of a node being added or removed from the IMDM cluster,

an occurrence of a request from a client application that has been determined to be a trigger by a predictive-learning function, and

an occurrence of a manual trigger.

17. The computer-readable storage medium according to claim 15 , wherein

the at least one data element includes only data elements with an auto-expiration date determined, in part by the load balancer, to be not imminent according to a predetermined standard for imminence.

18. A non-transitory computer-readable storage medium with instructions stored thereon, which when executed in part by a reallocation process controller, which is cooperatively operable with an in-memory data management (IMDM) cluster, including a plurality of nodes, and a load balancer, in an IMDM system, results in a method being performed, the method comprising

performing a reallocation cycle, including:

determining whether there is an actionable load imbalance of existing data elements, stored among the plurality of nodes included in the IMDM cluster, based on a predefined criteria or rule; and

when it is determined that there is an actionable load imbalance of existing data elements:

identifying in the plurality of nodes, a source node, from which at least one data element is to be deleted, and a target node, into which the at least one data element that is to be deleted, is to be added, the source node and target node at least in-part contributing to the actionable load imbalance of existing data elements;

copying the at least one data element that is to be deleted from the source node into the target node; and

deleting the at least one data element that is to be deleted from the source node; and

when, after the source node and the target node are identified and after the at least one data element is copied, the load balancer receives a request from a client application:

pausing operation of the reallocation process controller;

executing the request by the load balancer; and

restarting performing of the reallocation cycle.

19. The computer-readable storage medium according to claim 18 , wherein

the predefined criteria or rule used in determining whether there is an actionable load imbalance of existing data elements includes at least one of:

an amount of data used in the plurality of nodes,

an expiration of time from a starting point,

a number of data elements stored in the plurality of nodes,

an occurrence of a node being added or removed from the IMDM cluster,

an occurrence of a request from a client application that has been determined to be a trigger by a predictive-learning function, and

an occurrence of a manual trigger.

20. The computer-readable storage medium according to claim 18 , wherein

the at least one data element includes only data elements with an auto-expiration date determined, in part by the load balancer, to be not imminent according to a predetermined standard for imminence.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2024
From: SUPER IPAAS INTEGRATION LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069440/0958 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2024
From: SOFTWARE AG, LLC
To: SUPER IPAAS INTEGRATION LLC
Reel/Frame 069319/0220 →
CHANGE OF NAME Recorded Oct 31, 2024
From: SAG 1, LLC
To: SOFTWARE AG, LLC
Reel/Frame 069287/0635 →
CHANGE OF NAME Recorded Sep 26, 2024
From: SOFTWARE AG, INC.
To: SAG 1, LLC
Reel/Frame 069064/0575 →
MERGER Recorded Sep 25, 2024
From: SOFTWARE AG USA, INC.
To: SOFTWARE AG, INC.
Reel/Frame 068693/0619 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2014
From: MEHRA, GAGAN
To: SOFTWARE AG USA INC.
Reel/Frame 034514/0135 →
Continuity (1)
Related Publication 20160170668A1 · Jun 16, 2016