Patents by Inventor Leslie Lamport

Leslie Lamport has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7797457
    Abstract: The leader server proposing commands or sequences of commands to be executed by a plurality of servers according to an asynchronous consensus algorithm, such as Paxos, is replaced with a synchronous virtual leader agreement algorithm executed by each of the servers. The synchronous agreement algorithm used to determine the virtual leader's actions is called the leader agreement algorithm. The asynchronous consensus agreement algorithm performed by the virtual leader and the servers may be the Paxos algorithm. However, any asynchronous Byzantine agreement algorithm may be used. By replacing the leader in the Paxos consensus algorithm with a synchronous virtual leader agreement algorithm, the Paxos algorithm can survive a Byzantine failure of one or more leader server, as long as the servers are behaving synchronously.
    Type: Grant
    Filed: March 10, 2006
    Date of Patent: September 14, 2010
    Assignee: Microsoft Corporation
    Inventor: Leslie Lamport
  • Patent number: 7620680
    Abstract: A distributed computing system can operate in the face of malicious failures on the part of some of its constituent devices, and provide a minimum of message delays between receiving a client request and providing a response, when each device within the system verifies the sender of any message it receives, and the propriety of the message. The sender can be verified through message authentication schemes or digital signature schemes. The propriety of a message can be verified by receiving a sufficiently large number of equivalent, properly authenticated messages. If the number of malicious devices is represented by the variable “M”, a sufficient number of equivalent, properly authenticated messages to verify that the message is true can be any number of messages greater than M.
    Type: Grant
    Filed: August 15, 2002
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventor: Leslie Lamport
  • Publication number: 20070214355
    Abstract: The leader server proposing commands or sequences of commands to be executed by a plurality of servers according to an asynchronous consensus algorithm, such as Paxos, is replaced with a synchronous virtual leader agreement algorithm executed by each of the servers. The synchronous agreement algorithm used to determine the virtual leader's actions is called the leader agreement algorithm. The asynchronous consensus agreement algorithm performed by the virtual leader and the servers may be the Paxos algorithm. However, any asynchronous Byzantine agreement algorithm may be used. By replacing the leader in the Paxos consensus algorithm with a synchronous virtual leader agreement algorithm, the Paxos algorithm can survive a Byzantine failure of one or more leader server, as long as the servers are behaving synchronously.
    Type: Application
    Filed: March 10, 2006
    Publication date: September 13, 2007
    Applicant: Microsoft Corporation
    Inventor: Leslie Lamport
  • Patent number: 7260611
    Abstract: New information is introduced to a distributed system at many places. The information impacts data that is replicated throughout the system. The replicas of the data must be synchronized so that changes to the system are accurately reflected. One solution to the synchronized replica problem is a state machine approach. In such an approach, the computers of the network each maintain their own data, which is kept in the same state as the data of the other computers by processing the identical commands in the identical order. To ensure that all commands are executed in the same order, a lead process is given the task of assigning command sequence numbers. However, using a single lead process introduces a bottleneck in the distributed system by requiring that all commands to change data go through the lead process to be assigned an execution order. The invention divides the command ordering among multiple lead processes.
    Type: Grant
    Filed: November 21, 2002
    Date of Patent: August 21, 2007
    Assignee: Microsoft Corporation
    Inventors: Leslie Lamport, Aamer Hydrie, Demetrios Achlioptas
  • Publication number: 20060184627
    Abstract: Synchronized devices comprising a distributed system attempt to agree on a compatible sequence of commands to execute. Each device in the distributed system may act as a proposer, acceptor, or a learner. Each proposer proposes a command for each device to execute. The acceptors either accept or reject the proposed commands. The learners keep track of the proposed commands and determine, using a transactional substrate, whether the acceptors have a accepted sequences of commands that commute with respect to one another. Once the learners have determined that a quorum of acceptors have accepted sequences of commands that commute with respect to one another the accepted commands are executed by each device in the distributed system.
    Type: Application
    Filed: February 14, 2005
    Publication date: August 17, 2006
    Applicant: Microsoft Corporation
    Inventors: Jonathan Howell, Jacob Lorch, John Douceur, Leslie Lamport
  • Publication number: 20060168011
    Abstract: A distributed computing system can achieve consensus while introducing fewer message delays by using an algorithm that allows the constituent devices to vote on functions received directly from one or more clients. If a conflict occurs, a leader device from among the devices can be selected such that the leader device already knows of the other devices' previous votes, and can determine an appropriate function to propose, using an immediately subsequent proposal number, without performing the first phase of the Paxos algorithm. Alternatively, each device can independently determine, by using the same repeatable mechanism used by a leader device, what function the leader device would propose, and can then vote for that function using the immediately subsequent proposal number. If the devices' votes again result in a conflict, the Paxos algorithm can be used, or additional iterations can be performed prior to resorting to the Paxos algorithm.
    Type: Application
    Filed: November 23, 2004
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventor: Leslie Lamport
  • Publication number: 20060136781
    Abstract: A distributed computing system can achieve a generalized consensus, enabling commands that commute to be selected in any order. A leader can learn of previously selected sequences of commands, and can propose a compatible sequence of commands. Devices can select a sequence of commands that is compatible with previously selected sequences. Additional commands can be selected by selecting a sequence of commands comprising a previously selected sequence and the additional commands. Further efficiencies can be realized if the devices receive proposals directly from clients. Two or more proposals arriving in varying orders at the various clients may be selected in varying orders. However, if those proposals commute, a generalized consensus nevertheless exists despite the variations, enabling the system to continue efficient operation. To conserve memory, a checkpoint command that does not commute with any other command can be used to secure a sequence of commands for archiving or deletion.
    Type: Application
    Filed: November 23, 2004
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventor: Leslie Lamport
  • Publication number: 20050283659
    Abstract: A distributed computing system can be operated in a fault tolerant manner using a collection of auxiliary computing devices and more main computing devices than the number of faults the system can tolerate. A quorum of all of the main computing devices can be used. In the event of a failure, an alternative quorum from a selected set of quorums, comprising at least one main computing device and some or all of the auxiliary computing devices, can be used to complete pending operations and to select a new set of quorums. Alternatively, another state machine, comprising at least one main computing device and some or all of the auxiliary computing devices, can select a new quorum comprising the currently operating main computing devices, and the new quorum can then complete pending operations and can continue to select proposals using the proposal number assigned by the other state machine.
    Type: Application
    Filed: June 18, 2004
    Publication date: December 22, 2005
    Applicant: Microsoft Corporation
    Inventors: Leslie Lamport, Michael Massa
  • Publication number: 20050283373
    Abstract: A distributed computing system can be operated in a fault tolerant manner using a collection of auxiliary computing devices and more main computing devices than the number of faults the system can tolerate. A quorum of all of the main computing devices can be used. In the event of a failure, an alternative quorum from a selected set of quorums, comprising at least one main computing device and some or all of the auxiliary computing devices, can be used to complete pending operations and to select a new set of quorums. Alternatively, another state machine, comprising at least one main computing device and some or all of the auxiliary computing devices, can select a new quorum comprising the currently operating main computing devices, and the new quorum can then complete pending operations and can continue to select proposals using the proposal number assigned by the other state machine.
    Type: Application
    Filed: June 18, 2004
    Publication date: December 22, 2005
    Applicant: Microsoft Corporation
    Inventors: Leslie Lamport, Michael Massa
  • Publication number: 20050198106
    Abstract: A simplified fault tolerant algorithm is presented for operating a distributed computing system in a fault tolerant manner. A system comprising three computing devices need only have two devices agree to perform any proposed function. Thus, when soliciting a vote for a proposed function, a leader device can also send its vote for the proposed function. This allows any recipient device to complete the quorum with its own vote. Consequently, any recipient device can, without any further messages, determine whether to execute the proposed function. Furthermore, if the device executes the proposed function, it can transmit the results directly to the client that requested the function, saving a message delay. If the quorum of devices used to select and execute proposed functions is itself selected by a quorum, then one of the devices of the system can be an inexpensive device having limited computational ability or storage capacity.
    Type: Application
    Filed: December 30, 2003
    Publication date: September 8, 2005
    Applicant: Microsoft Corporation
    Inventor: Leslie Lamport
  • Publication number: 20050149609
    Abstract: A conflict tolerant message delay reducing consensus algorithm is presented for operating a distributed computing system. The devices of the distributed computing system can directly receive client requests, and can execute the requests and respond directly to the clients, saving message delays. If there is a conflict, the ultimately selected request can be the request submitted by the client with the highest client identifier. A device can change its vote, and execute a different request, if it is made by a client having a more dominant client identifier. All but one of the clients can also be a device implementing the system. A device that has executed a requested function may no longer submit a request in the same step. Consequently, a request is executed by the system when all devices have executed the request. If one or more devices fails, any fault tolerant consensus algorithm can be used.
    Type: Application
    Filed: December 30, 2003
    Publication date: July 7, 2005
    Applicant: Microsoft Corporation
    Inventor: Leslie Lamport
  • Publication number: 20040103138
    Abstract: New information is introduced to a distributed system at many places. The information impacts data that is replicated throughout the system. The replicas of the data must be synchronized so that changes to the system are accurately reflected. One solution to the synchronized replica problem is a state machine approach. In such an approach, the computers of the network each maintain their own data, which is kept in the same state as the data of the other computers by processing the identical commands in the identical order. To ensure that all commands are executed in the same order, a lead process is given the task of assigning command sequence numbers. However, using a single lead process introduces a bottleneck in the distributed system by requiring that all commands to change data go through the lead process to be assigned an execution order. The invention divides the command ordering among multiple lead processes.
    Type: Application
    Filed: November 21, 2002
    Publication date: May 27, 2004
    Applicant: Microsoft Corporation
    Inventors: Leslie Lamport, Aamer Hydrie, Demetrios Achlioptas
  • Patent number: 6463532
    Abstract: A system and method for effectuating distributed consensus among members of a processor set in a multiprocessor computing system that is effective even when only a single surviving processor is operational and is achieved through joint implementation of a virtual state machine utilizing a sequence of numbered input commands. System synchronization is achieved by having all of the processors agree on the sequence of input commands so that they execute the same virtual state machine. Input commands are numbered consecutively and the processors use a set of shared stores (e.g. disk drives) to communicate amongst themselves requests (i.e. ballots) for new state machine inputs (or commands) and state machine inputs that have already been chosen (i.e. committed commands). A consensus process is used to decide upon (or commit) each command and this consensus is achieved using a majority of known system stores rather than a majority of known processors.
    Type: Grant
    Filed: February 23, 1999
    Date of Patent: October 8, 2002
    Assignee: Compaq Computer Corporation
    Inventors: James M. Reuter, Leslie Lamport, Eliezer Gafni
  • Patent number: 6374285
    Abstract: The invention provides a method for acquiring a lock in a network of processors with globally ordered remote-writes. A process requesting a lock changes an associated ticket number from zero to one. Next, the process determines if every other process attempting to acquire the lock has a ticket number of zero. If true, the request for the lock is immediately granted. Otherwise, if false, the process changes its ticket number to a value greater than that of every other process, and the process waits until its ticket number is the lowest non-zero ticket number, in which case the lock is granted with mutual exclusion.
    Type: Grant
    Filed: May 15, 1998
    Date of Patent: April 16, 2002
    Assignee: Compaq Computer Corporation
    Inventors: Daniel J. Scales, Leslie Lamport
  • Patent number: 6226717
    Abstract: A system and method exclusively accesses a shared storage location using a shared algorithm. Competing processors follow the algorithm for reserving exclusive access to the shared storage location. Those competing processors that have not successfully reserved exclusive access honor the reservation of the successful processor and delay their own access attempts. Two critical storage blocks and two delay times are typically used during an attempt to reserve exclusive access for a processor.
    Type: Grant
    Filed: February 4, 1999
    Date of Patent: May 1, 2001
    Assignee: Compaq Computer Corporation
    Inventors: James M. Reuter, Leslie Lamport, Eliezer Gafni