Reliable time delay-constrained cluster computing
AssigneeCornell Research Foundation, Inc.
InventorsRoy Friedman, Kenneth P. Birman, Srinivasan Keshav, Werner Vogels
Life of this patent
Estimating the term…
Abstract
Apparatus and method of cluster computing are described. The present invention provides a useful compromise between the manageability, power, and ease of use of centralized systems and the reliability, fault-tolerance, upgradability, and scalability of distributed systems. Moreover, the present invention provides fault-tolerance and security while adhering to real-time to respond constraints or bounds. The invention is described in preferred embodiment examples in the context of two clustered applications: a telecommunication switch-controller and a Web servers, although many practical applications will benefit from the present invention.
Claims23
A cluster computing system comprising:
- at least two external adapters (EA's),
- means for said EA's to communicate with each other and with a network,
- a plurality of query element computing systems (QE's),
- means for said QE's to communicate with each other,
- means for dividing the QE's into at least two sets of lists, wherein each QE appears only in one list within each set of lists, and wherein only one QE is common to a list from one set of lists and a list from another set of lists, and
- communication paths from said QE's to said EA's, wherein said communication paths conform to said lists such that each QE shares at least two communication paths to said EA's.
A cluster computing system comprising;
- at least two external adapters (EA's),
- means for connecting said EA's to each other and to a network,
- a plurality of query element computing systems (QE's), each in communication with each other and with the EA's,
- means for receiving requests from the network, said requests defining information relevant to said requests, and said requests requiring a response thereto,
- means for selecting one of said EA's as a primary respondent EA for each request received,
- means for the primary respondent EA to update a second EA, defined as a backup EA, with the information, said information sufficient for the backup EA to complete said response,
- means for the backup EA to detect a failure of the primary EA, and
- means for the backup SA to complete each said response.
A method for communicating between a network and a cluster computing system comprising the steps of:
- receiving requests from the network by at least two external adapters (EA's),
- communicating between said EA's,
- communicating between said EA's and query element computing systems (QE's),
- communicating among the QE's, dividing the QE's into at least two sets of lists, wherein each QE appears only in one list within each set of lists, and wherein only one QE is common to a list from one set of lists and a list from another set of lists, and
- selecting communication paths from said QE's to said EA's, wherein said communication paths conform to said lists such that each QE shares at least two communication paths to said EA's.
A method for connecting a cluster computing system to a network comprising the steps of:
- receiving requests from the network by at least two external adapters (EA's), said requests defining information relevant to said requests, and said requests requiring a response thereto,
- communicating between said EA's,
- communicating between said EA's and query element computing systems (QE's),
- communicating among the QE's,
- selecting one of said EA's as a primary respondent EA for each request received,
- said primary respondent EA updating a second EA, defined as a backup EA, with the information, said information sufficient for the backup EA to complete said response,
- detecting a failure of the primary EA, and
- completing said response by the backup EA.
Dependencies are inferred from the claim text.