Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Multicast security and its extension to a mobile environment
Wireless Networks
A calculus for cryptographic protocols
Information and Computation
A high-throughput secure reliable multicast protocol
Journal of Computer Security
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Jini Specification
On the Relationship Between the Atomic Commitment and Consensus Problems
Proceedings of the Asilomar Workshop on Fault-Tolerant Distributed Computing
An Object Calculus for Asynchronous Communication
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Global/Local Subtyping and Capability Inference for a Distributed pi-calculus
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
FoSSaCS '98 Proceedings of the First International Conference on Foundations of Software Science and Computation Structure
CSFW '02 Proceedings of the 15th IEEE workshop on Computer Security Foundations
Preventing Denial and Forgery of Causal Relationships in Distributed Systems
SP '93 Proceedings of the 1993 IEEE Symposium on Security and Privacy
Abstractions for fault-tolerant global computing
Theoretical Computer Science - Special issue: Foundations of wide area network computing
Hi-index | 0.00 |
Capability-passing processes model global applications in a way that decouples the global agreement aspects of protocols from the details of how the communications are actually made. It relies on a restricted API or programming language and on the exchange of digital certificates representing capabilities to ensure that participants are faithful to a protocol and that outsiders cannot interfere. At the specification level, protocols are reasoned about independently of the underlying communication, using a process calculus with an abstraction of logs to isolate the remote state required for such protocols. At the implementation level, protocol steps no longer perform global communication; instead capabilities are used to transmit evidence of remote state, which in turn are used to authorize local log changes (corresponding to protocol steps). In this way, an API for global agreement protocols is defined independently of the underlying communication system.