Effective Fusion and Separation of Distribution, Fault-Tolerance, and Energy-Efficiency Concerns

dc.contributor.authorKwon, Young Wooen
dc.contributor.committeechairTilevich, Elien
dc.contributor.committeememberRyder, Barbara G.en
dc.contributor.committeememberKafura, Dennis G.en
dc.contributor.committeememberEugster, Patrick Thomasen
dc.contributor.committeememberRavindran, Binoyen
dc.contributor.departmentComputer Scienceen
dc.description.abstractAs software applications are becoming increasingly distributed and mobile, their design and implementation are characterized by distributed software architectures, possibility of faults, and the need for energy awareness. Thus, software developers should be able to simultaneously reason about and handle the concerns of distribution, fault-tolerance, and energy-efficiency. Being closely intertwined, these concerns can introduce significant complexity into the design and implementation of modern software. In other words, to develop reliable and energy-efficient applications, software developers must understand how distribution, fault-tolerance, and energy-efficiency interplay with each other and how to implement these concerns while keeping the complexity in check. This dissertation addresses five technical issues that stand on the way of engineering reliable and energy-efficient software: (1) how can developers select and parameterize middleware to achieve the requisite levels of performance, reliability, and energy-efficiency? (2) how can one streamline the process of implementing and reusing fault tolerance functionality in distributed applications? (3) can automated techniques be developed to help transition centralized applications to using cloud-based services efficiently and reliably? (4) how can one leverage cloud-based resources to improve the energy-efficiency of mobile applications? (5) how can middleware be adapted to improve the energy-efficiency of distributed mobile applications operated over heterogeneous mobile networks? To address these issues, this research studies the concerns of distribution, fault-tolerance, and energy-efficiency as well as their interaction. It also develops novel approaches, techniques, and tools that effectively fuse and separate these concerns as required by particular software development scenarios. The specific innovations include (1) a systematic assessment of the performance, conciseness, complexity, reliability, and energy consumption of middleware mechanisms for accessing remote functionality, (2) a declarative approach to hardening distributed applications with resiliency against partial failure, (3) cloud refactoring, a set of automated program transformations for transitioning to using cloud-based services efficiently and reliably, (4) a cloud offloading approach that improves the energy-efficiency of mobile applications without compromising their reliability, (5) a middleware mechanism that optimizes energy consumption by adapting execution patterns dynamically in response to fluctuations in network conditions.en
dc.description.degreePh. D.en
dc.publisherVirginia Techen
dc.rightsIn Copyrighten
dc.subjectdistributed computingen
dc.subjectmobile applicationsen
dc.subjectprogram transformationen
dc.subjectruntime systemen
dc.subjectdynamic adaptationen
dc.titleEffective Fusion and Separation of Distribution, Fault-Tolerance, and Energy-Efficiency Concernsen
thesis.degree.disciplineComputer Science and Applicationsen
thesis.degree.grantorVirginia Polytechnic Institute and State Universityen
thesis.degree.namePh. D.en
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
13.48 MB
Adobe Portable Document Format