Patents by Inventor Leslie B. Lamport

Leslie B. 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: 8073897
    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.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Patent number: 8046413
    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: Grant
    Filed: February 14, 2005
    Date of Patent: October 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Jonathan R. Howell, Jacob R. Lorch, John R. Douceur, Leslie B. Lamport
  • Patent number: 8005888
    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: Grant
    Filed: December 30, 2003
    Date of Patent: August 23, 2011
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Patent number: 7856502
    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: Grant
    Filed: June 18, 2004
    Date of Patent: December 21, 2010
    Assignee: Microsoft Corporation
    Inventors: Leslie B. Lamport, Michael T. Massa
  • Patent number: 7849223
    Abstract: A variant of Paxos is referred to as Virtually Synchronous Paxos (VS Paxos). VS Paxos is a self-reconfigurable protocol that allows for delay only for reconfiguration decisions, without placing an artificial limit on regular decisions. In an implementation of VS Paxos, subject to any restriction on reconfiguration decisions, a leader may activate an unbounded number of consensus instances ahead. A VS Paxos technique permits unlimited progress during stability periods, in that a leader may initiate commands at any number of consensus instances without bound. VS Paxos waits for command completion only when configuration-changing commands occur.
    Type: Grant
    Filed: December 7, 2007
    Date of Patent: December 7, 2010
    Assignee: Microsoft Corporation
    Inventors: Dahlia Malkhi, Leslie B. Lamport, Lidong Zhou
  • Patent number: 7711825
    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: Grant
    Filed: December 30, 2003
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Patent number: 7698465
    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: Grant
    Filed: November 23, 2004
    Date of Patent: April 13, 2010
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Publication number: 20100017495
    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.
    Type: Application
    Filed: September 30, 2009
    Publication date: January 21, 2010
    Applicant: MICROSOFT CORPORATION
    Inventor: Leslie B. Lamport
  • Patent number: 7565433
    Abstract: A distributed computing system can operate in the face of malicious failures on the part of some of its constituent devices 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, though message authentication can provide a more computationally efficient solution. The propriety of a message can be verified by receiving a sufficiently large number of equivalent, properly authenticated messages such that, even if every malicious device transmitted a message, at least one message would have been sent by a properly functioning device. 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: June 28, 2002
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Patent number: 7558883
    Abstract: A distributed computing system, having a sufficient number of devices and requiring a sufficiently large number of devices to select any proposal, can maintain synchronization between its constituent devices and respond to client requests with as few as two message delays. A leader can synchronize the devices of the system and establish a safe proposal number for all current and future steps of the system. Devices can then receive client requests directly, treating the request as a proposal having the proposal number determined previously by the leader, and voting for the proposal. If the client receives an indication from a least a quorum of devices, where a quorum can be the minimum number of devices that can be operational at a given time, the client can know that the request was selected.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: July 7, 2009
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Patent number: 7555516
    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: Grant
    Filed: November 23, 2004
    Date of Patent: June 30, 2009
    Assignee: Microsoft Corporation
    Inventor: Leslie B. Lamport
  • Publication number: 20090150566
    Abstract: A variant of Paxos is referred to as Virtually Synchronous Paxos (VS Paxos). VS Paxos is a self-reconfigurable protocol that allows for delay only for reconfiguration decisions, without placing an artificial limit on regular decisions. In an implementation of VS Paxos, subject to any restriction on reconfiguration decisions, a leader may activate an unbounded number of consensus instances ahead. A VS Paxos technique permits unlimited progress during stability periods, in that a leader may initiate commands at any number of consensus instances without bound. VS Paxos waits for command completion only when configuration-changing commands occur.
    Type: Application
    Filed: December 7, 2007
    Publication date: June 11, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Dahlia Malkhi, Leslie B. Lamport, Lidong Zhou
  • Publication number: 20080005357
    Abstract: A process marked graph describing a dataflow is received. The graph may comprise one or more processes connected by various edges of the graph. The edges between the processes may include tokens that represent data dependency or other interrelationships between the processes. Each process may be associated with a piece of executable code. Each process in the process marked graph may be translated into a piece of executable code according to the dependencies described by the graph. The generated code for each process includes the received executable code associated with the particular process. These processes may then be executed simultaneously on one or more processors or threads, while maintaining the dataflow described by the process marked graph. In this way, synchronized dataflow is desirably achieved between processes given a process marked graph describing the dataflow, and the code associated with each process.
    Type: Application
    Filed: June 30, 2006
    Publication date: January 3, 2008
    Applicant: Microsoft Corporation
    Inventors: Dahlia Malkhi, Leslie B. Lamport, Neill M. Clift
  • Patent number: 7249280
    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: Grant
    Filed: June 18, 2004
    Date of Patent: July 24, 2007
    Assignee: Microsoft Corporation
    Inventors: Leslie B. Lamport, Michael T. Massa
  • Patent number: 5261085
    Abstract: System and method for implementing a distributed state machine in which consistency is maintained despite the failure of any number of processes and communication paths. This machine and method are suitable for systems with modest reliability requirements that do not justify the expense of an extremely fault tolerant, real-time implementation. One process in a network of server processes is chosen as the leader, and that leader is responsible for broadcasting state machine commands to the other processes. The commands are numbered consecutively, and they are recorded in stable storage by the processes. Each command is broadcast through a uniquely numbered ballot or referendum, and each process participating in a ballot may either vote to accept the command or not vote. To be issued, a command must be voted for by a majority of the processes in the system.
    Type: Grant
    Filed: July 13, 1992
    Date of Patent: November 9, 1993
    Assignee: Digital Equipment Corporation
    Inventor: Leslie B. Lamport
  • Patent number: 5138615
    Abstract: A mesh connected local area network provides automatic packet switching and routing between host computers coupled to the network. The network has a multiplicity of cut-through, nonblocking switches, each capable of simultaneously routing a multiplicity of data packets. Low host-to-host latency is achieved through the use of cut-through switches with separate internal buffers for each packet being routed. The switches are interconnected with one another and are coupled to the host computers of the network by point to point full duplex links. While each switch can be coupled to ten or more network members, i.e., switches and hosts, each link is coupled to only two network members and is dedicated to carrying signals therebetween. Whenever a new switch or link is added to the network, and whenever a switch or link fails, the switches in the network automatically reconfigure the network by recomputing the set of legal paths through the network.
    Type: Grant
    Filed: June 22, 1989
    Date of Patent: August 11, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Leslie B. Lamport, Thomas L. Rodeheffer, K. Mani Chandy