Adaptive load distribution in managing dynamic and transient data for distributed applications
First Claim
1. A method for dynamically adjusting the workload of an active resource, the workload being expressed as a collection of units, each unit including its own key identifier, the active resource being associated with at least one parent workload group, the parent workload group including a collection of workload units such that workload units belonging to the parent workload group share an identical sequence of values at a specified depth value of their key identifiers, the identical sequence of values defining a group key identifier associated with the parent workload group, the method comprising:
- independently determining by the active resource that an overload condition exists at the active resource; and
if the overload condition exists;
increasing the depth value of the parent workload group such that at least two child workload groups are identified; and
assigning a target resource to manage at least one of the child workload groups.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer program for dynamically adjusting the workload of an active resource associated with at least one parent workload group. The parent workload group includes a collection of workload units, with each associated to a key identifier such that workload units belonging to the parent workload group share an identical sequence of values at a specified depth value of the key identifier. The active resource independently determines whether an overload condition exists. If an overload condition exists, the depth value of the parent workload group is increased. The active resource may also consolidate a workload group if an under-load condition exists. Dynamically adjusting the workload of an active resource can be used as part of a method or system to dynamically adjust the workload of a distributed computing application across a dynamically varying set of active resources, and subsequently redirecting entities to the dynamically changing target resource.
-
Citations
35 Claims
-
1. A method for dynamically adjusting the workload of an active resource, the workload being expressed as a collection of units, each unit including its own key identifier, the active resource being associated with at least one parent workload group, the parent workload group including a collection of workload units such that workload units belonging to the parent workload group share an identical sequence of values at a specified depth value of their key identifiers, the identical sequence of values defining a group key identifier associated with the parent workload group, the method comprising:
-
independently determining by the active resource that an overload condition exists at the active resource; and
if the overload condition exists;
increasing the depth value of the parent workload group such that at least two child workload groups are identified; and
assigning a target resource to manage at least one of the child workload groups. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for running a distributed computer application whose workload can be decomposed into a set of workload units, each workload unit including its own key identifier, over a dynamically varying set of distributed resources, the number of resources involved in the distributed computation varying dynamically in response to changes in an overall workload, the system comprising:
-
a set of active resources cooperatively managing an entire set of key identifiers constituting the overall workload, each individual resource managing a dynamically varying group of key identifiers, each resource independently evaluating its own workload condition and deciding on the creation or consolidation of group key identifiers to reduce or increase its workload;
an overall set of resources, of which the active resources constitute a subset that can be utilized as part of the distributed computer application as needed;
a mapping service configured to receive a virtual key associated with at least one key identifier as input and configured to produce the identity of the target resource from the overall resource set as an output; and
a set of client entities utilizing the distributed application, each client entity being associated with at least one key identifier, and each client entity dynamically determining the load-dependent group of identifier keys that each such currently belongs to.
-
-
15. A system for dynamically adjusting the workload of an active resource, the system comprising:
-
a plurality of workload units, each workload unit being associated with a key identifier;
a parent workload group including a collection of workload units, wherein the workload units belonging to the parent workload group share an identical sequence of values at a specified depth value of the key identifier; and
an active resource managing the parent workload, the active resource configured to increase the depth value of the parent workload group such that at least two child workload groups are identified and assign a target resource to manage at least one of the child workload groups if an overload condition exists at the active resource. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer program product embodied in a tangible media comprising:
-
computer readable program codes coupled to the tangible media for dynamically adjusting the workload of an active resource, the active resource being associated with at least one parent workload group, the parent workload group including a collection of workload units, each workload unit being associated with a key identifier such that workload units belonging to the parent workload group share an identical sequence of values at a specified depth value of the key identifier, the identical sequence of values defining a group key identifier associated with the parent workload group, the computer readable program codes configured to cause the program to;
determine that an overload condition exists at the active resource; and
if the overload condition exists;
increase the depth value of the parent workload group such that at least two child workload groups are identified; and
assign a target resource to manage at least one of the child workload groups. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification