IP Library › Granted Patent US 9,348,709
Granted Patent B2
US 9,348,709 · App. 14/141,512 · Granted May 24, 2016

Managing nodes in a distributed computing environment

Inventor: Dinesh Kumar (Pune, IN)
Assignee: SYBASE, INC.
G06F11/2028
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,348,709
App. No.
14/141,512
Granted
May 24, 2016
Kind
B2
Abstract

Various embodiments of systems and methods for managing a plurality of nodes in a distributed computing environment are described herein. Initially a request to process a to-be-processed request is received. Next one or more nodes from a plurality of nodes, included in a cluster, is identified to process the to-be-processed request. Next the to-be-processed request is divided into a plurality of sub-requests. Next the plurality of sub-requests are assigned to the identified one or more nodes and the generated additional node. A node failure of one of the one or more identified nodes is identified. Finally, one or more of the plurality of sub-requests assigned to the failed node is re-assigned to another node of the plurality of nodes.

Claims (71)

1. A computer implemented method for managing a plurality of nodes in a distributed computing environment, the method comprising:

receiving, by a processor of a computer, a request to process a to-be-processed request;

identifying, by the processor of the computer, one or more nodes from the plurality of nodes, included in a cluster, to process the to-be-processed request;

dividing, by the processor of the computer, the to-be-processed request into a plurality of sub-requests;

based on a number of the plurality of sub-requests, generating, by the processor of the computer, an additional node for processing the plurality of sub-requests;

assigning the plurality of sub-requests to the identified one or more nodes and the generated additional node;

identifying a node failure of one of the one or more identified nodes; and

re-assigning one or more of the plurality of sub-requests assigned to the failed node to another node of the plurality of nodes.

2. The computer implemented method according to claim 1 , wherein identifying the one or more nodes from the plurality of nodes comprises:

comparing a cumulative load of one of the plurality of nodes with a cumulative load of another of the plurality of nodes.

3. The computer implemented method according to claim 1 , wherein identifying the one or more nodes from the plurality of nodes comprises:

comparing an average delay in request processing of one of the plurality of nodes with an average delay in request processing of another of the plurality of nodes.

4. The computer implemented method according to claim 1 , wherein generating the additional node for processing the plurality of sub-requests includes:

creating an instance of a node template stored in an Infrastructure as a Service (IaaS) framework.

5. The computer implemented method according to claim 1 , further comprising:

receiving, by the processor of the computer, a request to decrease a size of the cluster;

based on the received request, identifying at least one node to be removed from the cluster; and

removing the identified at least one node to decrease the size of the cluster.

6. The computer implemented method according to claim 1 , further comprising:

receiving a request to generate a replacement node corresponding to the failed node; and

based on the received request, generating a replacement node.

7. The computer implemented method according to claim 1 , further comprising:

comparing, by the processor of the computer, node level parameters of the plurality of nodes with pre-determined maximum values of the node level parameters; and

based on the comparison, modifying a number of nodes in the cluster.

8. A non-transitory computer readable storage medium to tangibly store instructions, which when executed by a computer, cause the computer to:

receive a request to process a to-be-processed request;

identify one or more nodes from a plurality of nodes, included in a cluster, to process the to-be-processed request;

divide the to-be-processed request into a plurality of sub-requests;

based on a number of the plurality of sub-requests, generate an additional node for processing the plurality of sub-requests;

assign the plurality of sub-requests to the identified one or more nodes and the generated additional node;

identify a node failure of one of the one or more identified nodes; and

re-assign one or more of the plurality of sub-requests assigned to the failed node to another node of the plurality of nodes.

9. The non-transitory computer readable storage medium according to claim 8 , further comprising instructions which when executed by the computer further causes the computer to:

compare a cumulative load of one of the plurality of nodes with a cumulative load of another of the plurality of nodes.

10. The non-transitory computer readable storage medium according to claim 9 , further comprising instructions which when executed by the computer further causes the computer to:

compare an average delay in request processing of one of the plurality of nodes with an average delay in request processing of another of the plurality of nodes.

11. The non-transitory computer readable storage medium according to claim 8 , further comprising instructions which when executed by the computer further causes the computer to:

create an instance of a node template stored in an Infrastructure as a Service (IaaS) framework.

12. The non-transitory computer readable storage medium according to claim 8 , further comprising instructions which when executed by the computer further causes the computer to:

receive a request to decrease a size of the cluster;

based on the received request, identify at least one node to be removed from the cluster; and

remove an instance of the identified at least one node to decrease the size of the cluster.

13. The non-transitory computer readable storage medium according to claim 8 , further comprising instructions which when executed by the computer further causes the computer to:

receive a request to generate a replacement node corresponding to the failed node; and

based on the received request, generate a replacement node.

14. The non-transitory computer readable storage medium according to claim 8 , further comprising instructions which when executed by the computer further causes the computer to:

compare node level parameters of the plurality of nodes with pre-determined maximum values of the node level parameters; and

based on the comparison, modify a number of nodes in the cluster.

15. A computer system for managing a plurality of nodes in a distributed computing environment, the computer system comprising:

a processor to execute a program code; and

a memory coupled to the processor, the memory storing the program code comprising:

receive a request to process a to-be-processed request;

identify one or more nodes from a plurality of nodes, included in a cluster, to process the to-be-processed request;

divide the to-be-processed request into a plurality of sub-requests;

based on a number of the plurality of sub-requests, generate an additional node for processing the plurality of sub-requests;

assign the plurality of sub-requests to the identified one or more nodes and the generated additional node;

identify a node failure of one of the one or more identified nodes; and

re-assign one or more of the plurality of sub-requests assigned to the failed node to another node of the plurality of nodes.

16. The computer system according to claim 15 , further comprising:

compare a cumulative load of one of the plurality of nodes with a cumulative load of another of the plurality of nodes.

17. The computer system according to claim 15 , further comprising:

compare an average delay in request processing of one of the plurality of nodes with an average delay in request processing of another of the plurality of nodes.

18. The computer system according to claim 15 , further comprising:

create an instance of a node template stored in an Infrastructure as a Service (IaaS) framework.

19. The computer system according to claim 15 , further comprising:

receive a request to decrease a size of the cluster;

based on the received request, identify at least one node to be removed from the cluster; and

remove an instance of the identified at least one node to decrease the size of the cluster.

20. The computer system according to claim 15 , further comprising:

receive a request to generate a replacement node corresponding to the failed node; and

based on the received request, generate a replacement node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2016
From: KUMAR, DINESH
To: SYBASE, INC.,
Reel/Frame 038220/0128 →
Continuity (1)
Related Publication 20150186228A1 · Jul 2, 2015