CheapBFT: Resource-efficient Byzantine Fault Tolerance - Kapitza, Rüdiger; Behl, Johannes; Cachin, Christian; Distler, Tobias; Kuhnle, Simon; Mohammadi, Seyed Vahid; Schröder-Preikschat, Wolfgang; Stengel, Klaus (Proceedings of the EuroSys 2012 Conference (EuroSys '12), 2012)
One of the main reasons why Byzantine fault-tolerant (BFT) systems are not widely used lies in their high resource consumption: 3f + 1 replicas are necessary to tolerate only f faults. Recent works have been able to reduce the minimum number of replicas to 2f + 1 by relying on a trusted subsystem that prevents a replica from making conflicting statements to other replicas without being detected. Nevertheless, having been designed with the focus on fault handling, these systems still employ a majority of replicas during normal-case operation for seemingly redundant work. Furthermore, the trusted subsystems available trade off performance for security; that is, they either achieve high throughput or they come with a small trusted computing base. This paper presents CheapBFT, a BFT system that, for the first time, tolerates that all but one of the replicas active in normal-case operation become faulty. CheapBFT runs a composite agreement protocol and exploits passive replication to save resources; in the absence of faults, it requires that only f + 1 replicas actively agree on client requests and execute them. In case of suspected faulty behavior, CheapBFT triggers a transition protocol that activates f extra passive replicas and brings all non-faulty replicas into a consistent state again. This approach, for example, allows the system to safely switch to another, more resilient agreement protocol. CheapBFT relies on an FPGA-based trusted subsystem for the authentication of protocol messages that provides high performance and comprises a small trusted computing base. © 2012 AC
UnivIS-Import:2015-04-16:Pub.2012.tech.IMMD.IMMD4.cheapb
Keywords: TCLOUDS; REFIT

EsseOS: Haskell-based Tailored Services for the Cloud - Stengel, Klaus; Schmaus, Florian; Kapitza, Rüdiger (Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware (ARM '13), 2013)
Cloud computing offers a pay-per-use model and elasticity for hosted applications. The latter demands for decomposing an application into services, where each of them is executed by dedicated virtual machines. Typically, off-the-self operating systems (e.g., Linux) and managed runtime support (e.g., Java) are utilized thereby causing an unnecessary huge code base, resulting in a rather large attack surface. To address these problems, we present EsseOS, a platform for tailoring services as well as their associated runtime environment. EsseOS aims at reducing the attack surface by adapting the entire software stack that runs in a virtual machine to capture only the functionally essentially needed. This is achieved by following a clean-slate approach leveraging the advantages of Haskell, a functional programming language. We structure our software to be reconfigurable to remove unnecessary parts while still ensuring correct interaction between features by relying on Haskell's advanced type system. Initial results indicate an order of magnitude smaller code base for a tailored version of both Memcached and its execution environment compared to the original C-based version running on top of Linux. © 2013 ACM.
UnivIS-Import:2017-12-18:Pub.2013.tech.IMMD.IMMD4.esseos
Keywords: Haskell; cloud computing; functional programming; operating systems; security; software tailoring

Stateful Mobile Modules for Sensor Networks - Strübe, Moritz; Kapitza, Rüdiger; Stengel, Klaus; Daum, Michael; Dreßler, Falko (Distributed Computing in Sensor Systems (6th IEEE International Conference, DCOSS 2010, Proceedings), 2010)
Most sensor network applications are dominated by the acquisition of sensor values. Due to energy limitations and high energy costs of communication, in-network processing has been proposed as a means to reduce data transfers. As application demands may change over time and nodes run low on energy, get overloaded, or simply face debasing communication capabilities, runtime adaptation is required. In either case, it is useful to be able to migrate computations between neighboring nodes without losing runtime state that might be costly or even impossible to recompute. We propose stateful mobile modules as a basic infrastructure building block to improve adaptiveness and robustness of in-network processing applications. Stateful mobile modules are binary modules linked on the node itself. Even more importantly, they can be transparently migrated from one node to another, thereby keeping statically as well as dynamically allocated memory. This is achieved by an optimized binary format, a memory-efficient linking process and an advanced programming support. © 2010 Springer-Verlag.
UnivIS-Import:2015-04-16:Pub.2010.tech.IMMD.IMMD4.statef
Keywords: RDSP

Storyboard: Optimistic Deterministic Multithreading - Kapitza, Rüdiger; Schunter, Matthias; Cachin, Christian; Stengel, Klaus; Distler, Tobias (Proceedings of the 6th Workshop on Hot Topics in System Dependability (HotDep '10), 2010)
UnivIS-Import:2015-04-16:Pub.2010.tech.IMMD.IMMD4.storyb
Keywords: TCLOUDS; REFIT