Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-015/173
H04L-012/28
H04L-012/50
출원번호
US-0221625
(2011-08-30)
등록번호
US-8239540
(2012-08-07)
발명자
/ 주소
Turner, Bryan C.
Toebes, John
Walker, Douglas Jay
출원인 / 주소
Cisco Technology, Inc.
대리인 / 주소
Turkevich, Leon R.
인용정보
피인용 횟수 :
1인용 특허 :
25
초록▼
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 distribu
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.
대표청구항▼
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 computi
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; andexecuting 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. 2. The method of claim 1, wherein the determining includes determining the available node capacity relative to at least any one of available data storage space, available network bandwidth, available transaction capacity, or available CPU resources. 3. The method of claim 2, wherein one of the distributed computing services includes replicating data, the executing step including replicating a data element to each of other computing nodes having joined the corresponding resource group, at least one of the other computing nodes having a corresponding available node capacity that is at least an order of magnitude different than the available node capacity of the computing node. 4. The method of claim 3, wherein the order of magnitude provides a difference of at least ten (10) times between the available node capacity of the computing node and the available node capacity of the second computing node. 5. The method of claim 1, further comprising: determining by the computing node whether the first and second resource groups, having been joined by the computing node, should be merged into a merged resource group;arbitrating by the computing node among other computing nodes having joined at least one of the first and second resource groups, for merging the first and second resource groups into the merged resource group; andmerging the first and second resource groups into the merged resource group. 6. The method of claim 1, wherein the steps of selectively joining the first resource group, and selectively joining the second resource group, each include reserving a corresponding reserved capacity for the corresponding resource group from the available node capacity, the method further comprising: detecting a need for a change in the resource requirement for a corresponding one of the resource groups having been joined by the computing node, based on any one of an added distributed computing service relative to the corresponding distributed computing service, an added data type attribute relative to an existing data attribute of the one resource group, or determining that the resource requirement is insufficient;arbitrating, between other computing nodes having joined the one resource group, for dividing the one resource group into first and second divided resource groups having respective first and second divided resource requirements generated based on the change; andselectively joining at least one of the first and second divided resource groups based on the change and a determined attribute of the corresponding one divided resource group having been joined. 7. The method of claim 1, further comprising providing at least one of the distributed computing services to a user node having requested the one distributed computing service via the network. 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 and 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, andselectively joining a second of the resource groups based on determining the corresponding resource requirement of is less than the available node capacity; andcomputing 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;wherein the computing node includes a processor and a memory for executing steps of the computing node. 9. The computing node of claim 8, wherein the computing node resources includes data storage having available data storage space, a network interface having available network bandwidth, and the processor having available CPU resources and available transaction capacity, the resource monitor configured for determining the available node capacity relative to at least any one of the available data storage space, the available network bandwidth, the available transaction capacity, or the available CPU resources. 10. The computing node of claim 9, wherein one of the distributed computing services includes replicating data, the computing node resources configured for replicating a data element to each of other computing nodes having joined the corresponding resource group, at least one of the other computing nodes having a corresponding available node capacity that is at least an order of magnitude different than the available node capacity of the computing node. 11. The computing node of claim 10, wherein the order of magnitude provides a difference of at least ten (10) times between the available node capacity of the computing node and the available node capacity of the second computing node. 12. The computing node of claim 8, wherein the resource group arbitration module further is configured for: determining whether the first and second resource groups, having been joined by the computing node, should be merged into a merged resource group;arbitrating among other computing nodes having joined at least one of the first and second resource groups, for merging the first and second resource groups into the merged resource group; andmerging the first and second resource groups into the merged resource group. 13. The computing node of claim 8, wherein the resource group arbitration module is configured for: reserving a corresponding reserved capacity from the available node capacity for each joined resource group;detecting a need for a change in the resource requirement for a corresponding one of the resource groups having been joined by the computing node, based on any one of an added distributed computing service relative to the corresponding distributed computing service, an added data type attribute relative to an existing data attribute of the one resource group, or determining that the resource requirement is insufficient;arbitrating, between other computing nodes having joined the one resource group, for dividing the one resource group into first and second divided resource groups having respective first and second divided resource requirements generated based on the change; andselectively joining at least one of the first and second divided resource groups based on the change and a determined attribute of the corresponding one divided resource group having been joined. 14. The computing node of claim 8, wherein the computing node resources are configured for providing at least one of the distributed computing services to a user node having requested the one distributed computing service via the network. 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; andmeans 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. 16. The computing node of claim 15, wherein the means for determining is configured for determining the available node capacity, relative to resources utilized by the means for executing, based on at least any one of available data storage space, available network bandwidth, available transaction capacity, or available CPU resources. 17. The computing node of claim 16, wherein one of the distributed computing services includes replicating data, the means for executing configured for replicating a data element to each of other computing nodes having joined the corresponding resource group, at least one of the other computing nodes having a corresponding available node capacity that is at least an order of magnitude different than the available node capacity of the computing node. 18. The computing node of claim 5, wherein the means for joining further is configured for: determining whether the first and second resource groups, having been joined by the computing node, should be merged into a merged resource group;arbitrating among other computing nodes having joined at least one of the first and second resource groups, for merging the first and second resource groups into the merged resource group; andmerging the first and second resource groups into the merged resource group. 19. The computing node of claim 15, wherein the means for selectively joining is configured for reserving from the available node capacity a corresponding reserved capacity for each corresponding resource group having been joined, the means for selectively joining further configured for: detecting a need for a change in the resource requirement for a corresponding one of the resource groups having been joined by the computing node, based on any one of an added distributed computing service relative to the corresponding distributed computing service, an added data type attribute relative to an existing data attribute of the one resource group, or determining that the resource requirement is insufficient;arbitrating, between other computing nodes having joined the one resource group, for dividing the one resource group into first and second divided resource groups having respective first and second divided resource requirements generated based on the change; andselectively joining at least one of the first and second divided resource groups based on the change and a determined attribute of the corresponding one divided resource group having been joined. 20. The computing node of claim 15, wherein the means for executing is configured for providing one of the distributed computing services to a user node having requested the one distributed computing service via the network.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (25)
Turner,Bryan C.; Toebes,John, Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes.
Walker, Douglas Jay; Turner, Bryan C.; Toebes, John, Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups.
Turner, Bryan C.; Toebes, John; Walker, Douglas Jay, Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements.
Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interprocedural register allocation.
Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interproceduural register allocation.
Ikonen,Teemu, Method for assisting load balancing in a server cluster by rerouting IP traffic, and a server cluster and a client, operating according to same.
Choquier Philippe,FRX ; Peyroux Jean-Francios ; Griffin William J., Method of redirecting a client service session to a second application server without interrupting the session by forwa.
Toebes,John; Turner,Bryan C.; Walker,Douglas Jay, Movement of data in a distributed database system to a storage location closest to a center of activity for the data.
Frank,Richard L.; Cusson,Michael J.; Kundu,Joydip; O'Shaughnessy,Daniel E., Providing figure of merit vote from application executing on a partitioned cluster.
Kays,David; Shaji,Ullattil; Whalen,William J.; Carlson,Nick; Cheng,Derek C. Y.; Myburgh,Rhynier; Gupta,Rahul; Hassel,Kenik, System and method for reporting hierarchically arranged data in markup language formats.
Merritt Perry Wayde ; Mullins June ; Reeve Ian Fraiser ; VonBehren Paul David ; Willis Kenneth L., System for optimizing data storage in a RAID system.
Kilgard, Mark J.; Lindholm, John Erik; Glanville, Robert Steven; Gold, Michael I., System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline.
Turner, Bryan C.; Toebes, John; Walker, Douglas Jay, Distributed computing based on multiple nodes with determined capacity selectively joining resource groups having resource requirements.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.