Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
First Claim
1. A method in a computing node, comprising:
- determining by the computing node an available node capacity for the computing node relative to any resource groups having been joined by the computing node, each resource group having a corresponding resource requirement that is necessary for any computing node joining the resource group to allocate for providing a corresponding distributed computing service within a network;
selectively joining by the computing node a first of the resource groups in the network based at least on the computing node determining that the corresponding resource requirement is less than the available node capacity;
selectively joining by the computing node a second of the resource groups based on the computing node determining the corresponding resource requirement is less than the available node capacity; and
executing by the computing node the distributed computing services for the resource groups having been joined by the computing node, each computing node retaining its own control to decide whether to join or leave any of the resource groups, enabling computing nodes having substantially different node capacities to provide the distributed computing service.
1 Assignment
0 Petitions
Accused Products
Abstract
A network provides distributed computing services based on participation in respective resource groups by computing nodes, each resource group including a corresponding resource requirement for any computing node that joins the corresponding resource group for execution of the corresponding distributed computing service. Each computing node, in response to determining its corresponding available node capacity, is configured for selectively creating and joining at least one new resource group for execution of a corresponding distributed computing service having a corresponding resource requirement, and/or selectively joining at least one of the available resource groups, based on the corresponding available node capacity satisfying the corresponding resource requirement. Each computing node also is configured for selectively leaving any one of the joined resource groups based on determined conditions. Hence, each computing node may choose to participate in as many resource groups as needed for respective computing services, based on the corresponding available node capacity.
-
Citations
20 Claims
-
1. A method in a computing node, comprising:
-
determining by the computing node an available node capacity for the computing node relative to any resource groups having been joined by the computing node, each resource group having a corresponding resource requirement that is necessary for any computing node joining the resource group to allocate for providing a corresponding distributed computing service within a network; selectively joining by the computing node a first of the resource groups in the network based at least on the computing node determining that the corresponding resource requirement is less than the available node capacity; selectively joining by the computing node a second of the resource groups based on the computing node determining the corresponding resource requirement is less than the available node capacity; and executing by the computing node the distributed computing services for the resource groups having been joined by the computing node, each computing node retaining its own control to decide whether to join or leave any of the resource groups, enabling computing nodes having substantially different node capacities to provide the distributed computing service. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing node comprising:
-
a resource monitor configured for determining an available node capacity for the computing node relative to any resource groups having been joined by the computing node, each resource group having a corresponding resource requirement that is necessary for any computing node joining the resource group to allocate for providing a corresponding distributed computing service within a network; a resource group arbitration module configured for; selectively joining a first of the resource groups in the network based at least on determining that the corresponding resource requirement is less than the available node capacity, and selectively joining a second of the resource groups based on determining the corresponding resource requirement is less than the available node capacity; and computing node resources configured for executing the distributed computing services for the resource groups having been joined by the computing node, according to the respective resource requirements, the resource monitor determining the available node capacity based on consumption of the computing node resources for the executed distributed computing services, each computing node retaining its own control to decide whether to join or leave any of the resource groups, enabling computing nodes having substantially different node capacities to provide the distributed computing service; wherein the computing node includes a processor and a memory for executing steps of the computing node. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing node comprising:
-
means for determining an available node capacity for the computing node relative to any resource groups having been joined by the computing node, each resource group having a corresponding resource requirement that is necessary for any computing node joining the resource group to allocate for providing a corresponding distributed computing service within a network; means for selectively joining a first of the resource groups in the network based at least on determining that the corresponding resource requirement is less than the available node capacity, the means for selectively joining further configured for selectively joining a second of the resource groups based on determining the corresponding resource requirement is less than the available node capacity; and means for executing the distributed computing services for the resource groups having been joined by the computing node, according to the respective resource requirements, each computing node retaining its own control to decide whether to join or leave any of the resource groups, enabling computing nodes having substantially different node capacities to provide the distributed computing service. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification