IP Library Granted Patent US 8,230,253
Granted Patent B2
US 8,230,253 · App. 12/176,640 · Granted Jul 24, 2012

Byzantine fault tolerant dynamic quorum using a trusted platform module

Assignee: International Business Machines Corporation
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,230,253
App. No.
12/176,640
Granted
Jul 24, 2012
Kind
B2
Abstract

A method implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable medium. The computer executable code is operable to dynamically adjust quorum requirements for a voting set V of a server cluster, including a plurality of servers, to ensure that a response of the server cluster to a client request remains Byzantine fault tolerant when at least one of: a failed server of the server cluster is replaced with at least one new server, such that a total set S of servers that have ever been members of the server cluster is increased, and an existing server is removed from the voting set V.

Claims (29)

1. A method implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable medium being operable to:

dynamically adjust quorum requirements for a voting set V of a server cluster, comprising a plurality of servers, to ensure that a response of the server cluster to a client request remains Byzantine fault tolerant when at least one of:

a failed server of the server cluster is replaced with at least one new server, such that a total set S of servers that have ever been members of the server cluster is increased; and

an existing server is removed from the voting set V,

wherein each server comprises a trusted platform module (TPM), the method further comprising the TPM at least one of: maintaining the voting set V; manipulating the voting set V; and servicing requests for the voting set V;

the manipulating the voting set V comprises at least one of adding a new server to the server cluster and removing an existing server from the server cluster; and

the adding the new server comprises:

the new server receiving a cluster identifier which identifies a current voting set and a voting set version number;

the new server's TPM checking a validity of the current voting set;

the new server synchronizing with the server cluster;

the server cluster determining a future voting set;

the server cluster making a signed committed decision, which is signed by a quorum of the current voting set, to add the new server to the server cluster;

the server cluster sending the signed committed decision to each of the TPMs of the servers of the server cluster;

the each of the TPMs validating the signed committed decision;

the each of the TPMs performing the signed committed decision; and

incrementing the voting set version number.

2. The method of claim 1 , wherein the validating the signed committed decision comprises each TPM verifying that the current voting set and voting set version number contained in the signed committed decision corresponds with the voting set and voting set version number contained in each TPM.

3. A method implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable medium being operable to:

dynamically adjust quorum requirements for a voting set V of a server cluster, comprising a plurality of servers, to ensure that a response of the server cluster to a client request remains Byzantine fault tolerant when at least one of:

a failed server of the server cluster is replaced with at least one new server, such that a total set S of servers that have ever been members of the server cluster is increased; and

an existing server is removed from the voting set V,

wherein each server comprises a trusted platform module (TPM), the method further comprising the TPM at least one of: maintaining the voting set V; manipulating the voting set V; and servicing requests for the voting set V; and

servicing requests for the voting set V comprises:

permitting a client to use a discovery service to identify servers purporting to be members of the server cluster;

allowing the client to request each identified server return a signed copy of each identified server's most recent voting set and voting set version numbering in order to determine a server having the highest voting set version number from the returned signed copies;

the server having the highest voting set version number receiving a request for service from the client, wherein the request includes a nonce; and

the server cluster sending a response to the request to the client.

4. The method of claim 3 , wherein if the response is signed by a quorum of the voting set with the highest voting set version number and includes the nonce, the response is determined to be from a current voting set and is Byzantine fault tolerant.

5. The method of claim 3 , wherein the nonce comprises a number used only once to identify the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2008
From: BUTTERWORTH, HENRY E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021319/0714 →
Continuity (1)
Related Publication 20100017644A1 · Jan 21, 2010