Reaching Agreement in the Presence of Faults
Journal of the ACM (JACM)
Formal specification and verification of a connection establishment protocol
SIGCOMM '81 Proceedings of the seventh symposium on Data communications
Knowledge, common knowledge and related puzzles (Extended Summary)
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Fault-tolerant clock synchronization
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
On the possibility and impossibility of achieving clock synchronization
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
A logic to reason about likelihood
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
Transaction commit in a realistic fault model
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
What processes know: Definitions and proof methods
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
The complexity of reasoning about knowledge and time
STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing
The knowledge complexity of interactive proof-systems
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
An internal semantics for modal logic
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
Zero knowledge proofs of identity
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
A knowledge-theoretic analysis of atomic commitment protocols
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Chickens and eggs—the interrelationship of systems and theory
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Coherent cooperation among communicating problem solvers
IEEE Transactions on Computers
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Substituting for real time and common knowledge in asynchronous distributed systems
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Reasoning about knowledge and time in asynchronous systems
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
A knowledge-based analysis of zero knowledge
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Concurrent common knowledge: a new definition of agreement for asynchronous systems
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
A hundred impossibility proofs for distributed computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Tight bounds for the sequence transmission problem
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Knowledge, probability, and adversaries
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Nonclausal deduction in first-order temporal logic
Journal of the ACM (JACM)
ACM Transactions on Computer Systems (TOCS)
Knowledge and common knowledge in a distributed environment
Journal of the ACM (JACM)
CRYPTO '88 Proceedings on Advances in cryptology
Early-delivery atomic broadcast
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
A characterization of eventual Byzantine agreement
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
Using process groups to implement failure detection in asynchronous environments
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
An object-based programming model for shared data
ACM Transactions on Programming Languages and Systems (TOPLAS)
A tradeoff between safety and liveness for randomized coordinated attack protocols
PODC '92 Proceedings of the eleventh annual ACM symposium on Principles of distributed computing
A logic for reasoning about security
ACM Transactions on Computer Systems (TOCS)
Using belief to reason about cache coherence
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Model checking software systems: a case study
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
The Transis approach to high availability cluster communication
Communications of the ACM
ACM SIGICE Bulletin
Refining knowledge oriented actions to layered implementations
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
A formal model of knowledge, action, and communication in distributed systems: preliminary report
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
Specification and verification of learning
SAC '94 Proceedings of the 1994 ACM symposium on Applied computing
A model for multiparadigm systems
CSC '91 Proceedings of the 19th annual conference on Computer Science
Replica Determinism and Flexible Scheduling in Hard Real-Time Dependable Systems
IEEE Transactions on Computers
A formalism for fault-tolerant applications in asynchronous systems
EW 4 Proceedings of the 4th workshop on ACM SIGOPS European workshop
Towards programming with knowledge expressions
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Expressing interesting properties of programs in propositional temporal logic
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Reflections on the Nature of Multi-Agent Coordination and Its Implications for an Agent Architecture
Autonomous Agents and Multi-Agent Systems
Cooperative Multiagent Systems: A Personal View of the State of the Art
IEEE Transactions on Knowledge and Data Engineering
Dynamic Input/Output Automata: A Formal Model for Dynamic Systems
CONCUR '01 Proceedings of the 12th International Conference on Concurrency Theory
Physical Programming: Beyond Mere Logic
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
Designing Directories in Distributed Systems: A Systematic Framework
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
ACM SIGOPS Operating Systems Review
Architectural patterns for real-time systems
UML for real
Digital interaction: introduction to the first international workshop
ISICT '03 Proceedings of the 1st international symposium on Information and communication technologies
Recent issues in reasoning about knowledge
TARK '90 Proceedings of the 3rd conference on Theoretical aspects of reasoning about knowledge
Agreeing to disagree after all
TARK '90 Proceedings of the 3rd conference on Theoretical aspects of reasoning about knowledge
A link between knowledge and communication in faulty distributed systems
TARK '90 Proceedings of the 3rd conference on Theoretical aspects of reasoning about knowledge
Reasoning about knowledge: a tutorial
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
Reasoning about knowledge and probability
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
Knowledge consistency: a useful suspension of disbelief
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
A knowledge theoretic account of recovery in distributed systems: the case of negotiated commitment
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
Authentication: a practical study in belief and action
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
Three views of common knowledge
TARK '88 Proceedings of the 2nd conference on Theoretical aspects of reasoning about knowledge
Topological reasoning and the logic of knowledge: preliminary report
TARK '92 Proceedings of the 4th conference on Theoretical aspects of reasoning about knowledge
Generalized Kripke models for epistemic logic
TARK '92 Proceedings of the 4th conference on Theoretical aspects of reasoning about knowledge
TARK '92 Proceedings of the 4th conference on Theoretical aspects of reasoning about knowledge
Reasoning about knowledge: an overview
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
The synthesis of digital machines with provable epistemic properties
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
Knowledge and common knowledge in a byzantine environment I: crash failures
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
Foundations of knowledge for distributed systems
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
Knowledge and implicit knowledge in a distributed environment: preliminary report
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
The logic of distributed protocols: preliminary report
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
On epistemic logic and logical omniscience
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
A resolution method for quantified modal logics of knowledge and belief
TARK '86 Proceedings of the 1986 conference on Theoretical aspects of reasoning about knowledge
Coordination without communication: the case of the flocking problem
Discrete Applied Mathematics - Fun with algorithms 2 (FUN 2001)
A Distributed Approach for Coordination of Traffic Signal Agents
Autonomous Agents and Multi-Agent Systems
Self-stabilizing extensions for message-passing systems
Distributed Computing - Special issue: Self-stabilization
Logical omniscience and common knowledge: WHAT do we know and what do WE know?
TARK '05 Proceedings of the 10th conference on Theoretical aspects of rationality and knowledge
Century papers at the first quarter-century milestone
Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing
Mechanizing common knowledge logic using COQ
Annals of Mathematics and Artificial Intelligence
Propositional Dynamic Logic as a Logic of Belief Revision
WoLLIC '08 Proceedings of the 15th international workshop on Logic, Language, Information and Computation
A Two-Dimensional Hybrid Logic of Subset Spaces
ICLA '09 Proceedings of the 3rd Indian Conference on Logic and Its Applications
Epistemic Strategies and Games on Concurrent Processes
SOFSEM '09 Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer Science
On BAN logic and hash functions or: how an unjustified inference rule causes problems
Autonomous Agents and Multi-Agent Systems
My work with Victor Marek: a mathematician looks at answer set programming
Annals of Mathematics and Artificial Intelligence
Increasing coherence in a distributed problem-solving network
IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 2
W: a logic system based on shared common knowledge views
IJCAI'93 Proceedings of the 13th international joint conference on Artifical intelligence - Volume 1
A guide to the modal logics of knowledge and belief: preliminary draft
IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 1
A model-theoretic analysis of monotonic knowledge
IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 1
Matrix proof methods for modal logics
IJCAI'87 Proceedings of the 10th international joint conference on Artificial intelligence - Volume 2
The utility of communication in coordinating intelligent agents
AAAI'91 Proceedings of the ninth National conference on Artificial intelligence - Volume 1
What your computer really needs to know, you learned in kindergarten
AAAI'92 Proceedings of the tenth national conference on Artificial intelligence
Learning in a changing world, an algebraic modal logical approach
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Reasoning about knowledge in multilevel secure distributed systems
SP'88 Proceedings of the 1988 IEEE conference on Security and privacy
Perception and change in update logic
Games, Actions and Social Software
Combining epistemic logic and hennessy-milner logic
Logic and Program Semantics
Epistemic Strategies and Games on Concurrent Processes
ACM Transactions on Computational Logic (TOCL)
Agent spaces: a scalable architecture for distributed logic agents
Proceedings of the 2012 ACM Research in Applied Computation Symposium
Spatial and epistemic modalities in constraint-based process calculi
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Interpreted systems semantics for process algebra with identity annotations
TbiLLC'11 Proceedings of the 9th international conference on Logic, Language, and Computation
Hi-index | 0.02 |
We argue that the right way to understand distributed protocols is by considering how messages change the state of knowledge of a system. We present a hierarchy of knowledge states that a system may be in, and discuss how communication can move the system's state of knowledge of a fact up the hierarchy. Of special interest is the notion of common knowledge. Common knowledge is an essential state of knowledge for reaching agreements and coordinating action. We show that in practical distributed systems, common knowledge is not attainable. We introduce various relaxations of common knowledge that are attainable in many cases of interest. We describe in what sense these notions are appropriate, and discuss their relationship to each other. We conclude with a discussion of the role of knowledge in distributed systems.