IP Library Granted Patent US 8,831,009
Granted Patent B2
US 8,831,009 · App. 11/687,525 · Granted Sep 9, 2014

System and method for selfish child clustering

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 8,831,009
App. No.
11/687,525
Granted
Sep 9, 2014
Kind
B2
Abstract

A system and method for selfish child clustering are disclosed. In one embodiment, the system comprises a selfish node; and a plurality of servicing nodes each connected to the selfish node, wherein the selfish node selects a first one of the servicing nodes to service requests therefrom; and wherein the selfish node evaluates a responsiveness of the first one of the servicing nodes and, responsive to a determination that the responsiveness of the first one of the servicing nodes is unacceptable, the selfish node selects a second one of the servicing nodes to service requests therefrom.

Claims (48)

1. A selfish clustering system comprising:

a selfish node; and

a plurality of servicing nodes each connected to the selfish node, wherein the selfish node selects a first one of the servicing nodes to service requests from the selfish node and sends all the requests to the first one of the servicing nodes;

wherein the selfish node evaluates a responsiveness of the first one of the servicing nodes in processing the requests and, responsive to a determination that the responsiveness of the first one of the servicing nodes is unsatisfactory, the selfish node selects a second one of the servicing nodes to service the requests therefrom;

wherein the determination that the responsiveness of the first one of the servicing nodes is unsatisfactory is made without reference to the responsiveness of the first one of the servicing nodes to any other node and without regard to load balancing among the servicing nodes; and

wherein responsive to a determination that the responsiveness of the second one of the servicing nodes is unacceptable, the selfish node voluntarily enters a tantrum state and sends no requests to any of the servicing nodes.

2. The system of claim 1 wherein the selfish node evaluates the responsiveness of the first one of the servicing nodes by comparing a response time of the first one of the servicing nodes to a preselected threshold and wherein responsive to the response time of the first one of the servicing nodes exceeding the preselected threshold, the selfish node selects the second one of the servicing nodes to service requests therefrom.

3. The system of claim 1 wherein the first one of the servicing nodes is part of a first set of selected servicing nodes to service requests therefrom, and wherein the second one of the servicing nodes is part of a second set of selected servicing nodes to service requests therefrom, wherein the first and second sets of selected servicing nodes are not identical.

4. The system of claim 1 wherein the selfish node evaluates the responsiveness of the first one of the servicing nodes by comparing a throughput of the first one of the servicing nodes to a preselected threshold and wherein responsive to the throughput of the first one of the servicing nodes falling below the preselected threshold, the selfish node selects the second one of the servicing nodes to service requests therefrom.

5. The system of claim 1 wherein the second one of the servicing nodes is selected randomly.

6. The system of claim 1 wherein the second one of the servicing nodes is selected via a genetic algorithm.

7. The system of claim 1 wherein the second one of the servicing nodes is selected based on a responsiveness thereof compared to the remaining ones of the servicing nodes.

8. A method for implementing a clustering system, the clustering system comprising a first tier node and at least three second tier nodes configured to service requests from the first tier node, the method comprising:

selecting a first one of the second tier nodes to service requests from the first tier node;

sending all requests from the first tier node to the first second tier node;

evaluating a responsiveness of the first second tier node to the requests;

responsive to the responsiveness of the first second tier node falling below a satisfactory level, selecting a second second tier node to service the requests from the first tier node; and

responsive to a determination that the responsiveness of the second second tier nodes is unsatisfactory, the first tier node voluntarily entering a tantrum state and not sending requests to any of the second tier nodes;

wherein the evaluating is performed without regard to load balancing among the second tier nodes.

9. The method of claim 8 wherein the determining that the responsiveness of the second tier nodes is unsatisfactory comprises one of testing a load average, inspecting cluster state, evaluating a heartbeat response, exceeding a timeout, and sending test requests to the second tier nodes.

10. The method of claim 8 wherein the determining that the responsiveness of the second tier nodes is unsatisfactory comprises evaluating the responsiveness of all second tier nodes.

11. The method of claim 8 wherein the determining that the responsiveness of the second tier nodes is unsatisfactory comprises evaluating the responsiveness of a majority of second tier nodes.

12. The method of claim 8 wherein entering the tantrum state comprises refraining from issuing requests to any of the second tier nodes.

13. The method of claim 8 wherein entering the tantrum state comprises one of limiting a rate of incoming requests to the first tier node and limiting a rate at which requests are issued to the second tier nodes.

14. The method of claim 8 wherein the tantrum state is entered relative to one second tier node and not entered relative to a second second tier node.

15. An apparatus for implementing a clustering system, the clustering system comprising a first tier node and at least three second tier nodes configured to service requests from the first tier node, the apparatus comprising:

means for selecting a first one of the second tier nodes to service requests from the first tier node;

means for sending all requests from the first tier node to the first second tier node;

means for evaluating a responsiveness of the first second tier node without regard to load balancing among the second tier nodes to the requests;

means responsive to the responsiveness of the first second tier node falling below a satisfactory level for selecting a second second tier nodes to service the requests from the first tier node; and

means responsive to a determination that the responsiveness of the first second tier node and the second second tier node have fallen below the satisfactory level for causing the first tier node to voluntarily enter a tantrum state and refrain from issuing services requests to any of the second tier nodes;

wherein the means for evaluating the responsiveness of the first second tier node does not evaluate the responsiveness of the first second tier node relative to any other node.

16. The apparatus of claim 15 wherein the means for evaluating a responsiveness of the first second tier node comprises:

means for comparing a response time of the first second tier node to a preselected threshold; and

means responsive to the response time of the first second tier node exceeding the preselected threshold for determining that the responsiveness of the first second tier node is unacceptable.

17. The apparatus of claim 15 wherein the means for evaluating a responsiveness of the first second tier node comprises:

means for comparing a throughput of the first second tier node to a preselected threshold; and

means responsive to the throughput of the first second tier node falling below the preselected threshold for determining that the responsiveness of the first second tier node is unacceptable.

18. The apparatus of claim 15 wherein the means for selecting a second second tier node comprises means for randomly selecting one of the second tier nodes.

19. The apparatus of claim 18 wherein the means for selecting a second second tier node comprises:

means for evaluating a responsiveness of remaining ones of the second tier nodes; and

means for selecting the one of the second tier nodes with the most acceptable responsiveness.

20. The method of claim 8 wherein:

selecting a first one of the second tier nodes to service requests from the first tier node includes sending all requests to the first one of the second tier nodes; and

evaluating a responsiveness of the first second tier node includes evaluating a responsiveness of the first second tier node to the requests.

21. The apparatus of claim 15 wherein:

the means for selecting a first one of the second tier nodes to service requests from the first tier node includes means for sending all requests to the first one of the second tier nodes; and

the means for evaluating a responsiveness of the first second tier node without regard to load balancing among the second tier nodes includes means for evaluating a responsiveness of the first second tier node to the requests without regard to load balancing among the second tier nodes.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2011
From: NOVELL, INC.
To: CPTN HOLDINGS LLC
Reel/Frame 027426/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2011
From: CPTN HOLDINGS LLC
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 027426/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2011
From: NOVELL, INC.
To: CPTN HOLDINGS LLC
Reel/Frame 027147/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2011
From: CPTN HOLDINGS LLC
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 027147/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2011
From: NOVELL, INC.
To: CPTN HOLDINGS LLC
Reel/Frame 026545/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2007
From: BROWN, JEREMY R.
To: NOVELL, INC.
Reel/Frame 019031/0660 →