Roy H. Campbell

Learn More
We envision a future where people’s living spaces are interactive and programmable. Users interact with their offices, homes, cars, malls and airports to request information, benefit from the resources available, and configure the habitat’s behavior. Data and tasks are always accessible and are mapped dynamically to convenient resources present in the(More)
P ervasive computing environments augment human thought and activity with digital information, processing, and analysis, providing an observed world that is enhanced by the behavioral context of its users. A spectrum of heterogeneous computation and communication devices aim to enhance user productivity and facilitate everyday tasks. Despite the prevalence(More)
MapReduce and Hadoop represent an economically compelling alternative for efficient large scale data processing and advanced analytics in the enterprise. A key challenge in shared MapReduce clusters is the ability to automatically tailor and control resource allocations to different applications for achieving their performance goals. Currently, there is no(More)
Context simplifies and enriches human-human interaction. However, enhancing human-computer interaction through the use of context remains a difficult task. Applications in pervasive and mobile environments need to be context-aware so that they can adapt themselves to rapidly changing situations. One of the problems is that there is no common, reusable model(More)
The predicted shift to non-volatile, byte-addressable memory (e.g., Phase Change Memory and Memristor), the growth of “big data”, and the subsequent emergence of frameworks such as memcached and NoSQL systems require us to rethink the design of data stores. To derive the maximum performance from these new memory technologies, this paper proposes the use of(More)
M ark Weiser envisioned computing environments that are pervaded with so many computing devices and sensors that they seem to disappear into the background, letting humans focus on daily tasks rather than on underlying technologies.1 To enable this vision, we must transform today’s “dumb,” context-insensitive, and isolated machines into intelligent,(More)
A framework for the provision of fault tolerance in asynchronous systems is introduced. The proposal generalizes the form of simple recovery facilities supported by nested atomic actions in which the exception mechanisms only permit backward error recovery. It allows the construction of systems using both forward and backward error recovery and thus allows(More)
Communication middleware simplifies the construction of component-based distributed applications [1] [2]. However, the lack of flexibility in the construction of the middleware itself imposes limitations and is a major concern [3-7]. While applications can detect changes in their execution environment, they cannot customize the underlying middleware to(More)
A new method of expressing synchronization is presented and the motivations and considerations which led to this method are explained. Synchronization rules, given by 'path expressions', are incorporated into the type definitions which are used to introduce data objects shared by several asynchronous processes. It is shown that the method's ability to(More)