• Publications
  • Influence
The Byzantine Generals Problem
Reliable computer systems must handle malfunctioning components that give conflicting information to different parts of the system. This situation can be expressed abstractly in terms of a group ofExpand
  • 4,809
  • 386
The part-time parliament
  • L. Lamport
  • Computer Science, Political Science
  • TOCS
  • 1 May 1998
Recent archaeological discoveries on the island of Paxos reveal that the parliament functioned despite the peripatetic propensity of its part-time legislators. The legislators maintained consistentExpand
  • 2,459
  • 372
The temporal logic of actions
The temporal logic of actions (TLA) is a logic for specifying and reasoning about concurrent systems. Systems and their properties are represented in the same logic, so the assertion that a systemExpand
  • 1,873
  • 214
Distributed snapshots: determining global states of distributed systems
This paper presents an algorithm by which a process in a distributed system determines a global state of the system during a computation. Many problems in distributed systems can be cast in terms ofExpand
  • 2,333
  • 183
Reaching Agreement in the Presence of Faults
The problem addressed here concerns a set of isolated processors, some unknown subset of which may be faulty, that communicate only by means of two-party messages. Each nonfaulty processor has aExpand
  • 1,867
  • 154
Paxos Made Simple
The Paxos algorithm, when presented in plain English, is very simple.
  • 1,108
  • 139
Password authentication with insecure communication
A method of user password authentication is described which is secure even if an intruder can read the system's data, and can tamper with or eavesdrop on the communication between the user and theExpand
  • 2,558
  • 134
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
  • L. Lamport
  • Computer Science
  • IEEE Transactions on Computers
  • 1 September 1979
Many large sequential computers execute operations in a different order than is specified by the program. A correct execution is achieved if the results produced are the same as would be produced byExpand
  • 2,246
  • 121
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review]
From the Book: This book will teach you how to write specifications of computer systems, using the language TLA+. It's rather long, but most people will read only Part I, which comprises the firstExpand
  • 890
  • 111
Time, clocks, and the ordering of events in a distributed system
The concept of one event happening before another in a distributed system is examined, and is shown to define a partial ordering of the events. A distributed algorithm is given for synchronizing aExpand
  • 2,073
  • 69