• Publications
  • Influence
Practical byzantine fault tolerance and proactive recovery
Our growing reliance on online services accessible on the Internet demands highly available systems that provide correct service without interruptions. Software bugs, operator mistakes, and maliciousExpand
  • 1,494
  • 274
A behavioral notion of subtyping
The use of hierarchy is an important component of object-oriented design. Hierarchy allows the use of type families, in which higher level supertypes capture the behavior that all of their subtypesExpand
  • 1,243
  • 96
Speedy transactions in multicore in-memory databases
Silo is a new in-memory database that achieves excellent performance and scalability on modern multicore machines. Silo was designed from the ground up to use system memory and caches efficiently.Expand
  • 325
  • 83
Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions
Current commercial databases allow application programmers to trade off consistency for performance. However, existing definitions of weak consistency levels are either imprecise or they disallowExpand
  • 202
  • 42
A decentralized model for information flow control
This paper presents a new model for controlling information flo w in systems with mutual distrust and decentralized authority. The model allows users to share information with distrusted code (e.g.,Expand
  • 581
  • 40
HQ replication: a hybrid quorum protocol for byzantine fault tolerance
There are currently two approaches to providing Byzantine-fault-tolerant state machine replication: a replica-based approach, e.g., BFT, that uses communication between replicas to agree on aExpand
  • 315
  • 30
Data Abstraction and Hierarchy
Data abstraction is a valuable method for organizing programs to make them easier to modify and maintain. Inheritance allows one implementation of a data abstraction to be related to anotherExpand
  • 338
  • 28
Protecting privacy using the decentralized label model
Stronger protection is needed for the confidentiality and integrity of data, because programs containing untrusted code are the rule rather than the exception. Information flow control allows theExpand
  • 233
  • 28
Abstraction mechanisms in CLU
CLU is a new programming language designed to support the use of abstractions in program construction. Work in programming methodology has led to the realization that three kinds of abstractions,Expand
  • 261
  • 27
Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems
One of the potential benefits of distributed systems is their use in providing highly-available services that are likely to be usable when needed. Availabilay is achieved through replication. ByExpand
  • 300
  • 27