Eric Lemar's research while affiliated with University of Washington Seattle and other places

What is this page?


This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.

It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.

If you're a ResearchGate member, you can follow this page to keep up with this author's work.

If you are this author, and you don't want us to display this page anymore, please let us know.

Publications (9)


Fig. 1. Illustration of our approach. The three requirements guide the design of our system architecture and make it feasible for application developers to program for change, resulting in adaptable applications. 
Fig. 2. A workbench in a biology laboratory. Notice how the touchscreen on the right hand side becomes just another instrument on this workbench rather than being the focus of attention. 
Fig. 3. A screenshot of Labscape’s user interface. Each experiment is represented as an experimental flowgraph, or guide . The individual icons represent different experimental steps, and the arrows represent ordering constraints. 
Fig. 4. 
Fig. 5. Illustration of an example environment hierarchy. The User environment hosts the Emcee application and has one child, named robert , which stores several tuples representing that user’s preferences. The robert environment in turn has two children, named Clock and Chat . The Clock environment only contains active application components, while the Chat environment, in addition to hosting the Chat application, also stores tuples representing the music being broadcast by Chat. 

+18

System support for pervasive applications
  • Article
  • Full-text available

November 2004

·

343 Reads

·

189 Citations

ACM Transactions on Computer Systems

Robert Grimm

·

·

Eric Lemar

·

[...]

·

David Wetherall

Pervasive computing provides an attractive vision for the future of computing. Computational power will be available everywhere. Mobile and stationary devices will dynamically connect and coordinate to seamlessly help people in accomplishing their tasks. For this vision to become a reality, developers must build applications that constantly adapt to a highly dynamic computing environment. To make the developers' task feasible, we present a system architecture for pervasive computing, called one.world . Our architecture provides an integrated and comprehensive framework for building pervasive applications. It includes services, such as discovery and migration, that help to build applications and directly simplify the task of coping with constant change. We describe our architecture and its programming model and reflect on our own and others' experiences with using it.

Download
Share

The Design and Evaluation of a Storage System for Pervasive

September 2003

·

17 Reads

·

2 Citations

Many interesting pervasive applications require the maintenance of state, but few pervasive computing systems provide a compelling system for managing such state. Although conventional storage abstractions can fill some of these needs, the unique character of the pervasive environment suggests slightly di#erent answers. Pervasive applications often have to work with data in forms they were not directly coded to support, need to be able to extend the behavior of existing applications, and must support mobility across a wide range of devices. The one.world storage architecture supports the needs of pervasive computing and overcomes many of these limitations in other systems. This paper examines the design decisions made in the one.world storage architecture and API and provides an initial look at the lessons learned from the implementation of this design.


Robert Grimm

June 2003

·

21 Reads

this paper, we explore how to build applications for pervasive computing environments. Pervasive, or ubiquitous, computing [Weiser 1991] has the potential to radically transform the way people interact with computers. The key idea behind pervasive computing is to deploy a wide variety of computing devices throughout our living and working spaces. These devices coordinate with each other and network services [Dertouzos 1999], with the goal of providing people with universal Authors' addresses: Robert Grimm, Department of Computer Science, New York University, 715 Broadway, Room 711, New York, NY, 10003. Janet Davis, Eric Lemar, Adam MacBeth, Steven Swanson, Tom Anderson, Brian Bershad, Gaetano Borriello, Steven Gribble, David Wetherall, Department of Computer Science and Engineering, University of Washington, Box 352350, Seattle, WA 98195


Systems Directions for Pervasive Computing

July 2002

·

60 Reads

·

53 Citations

Pervasive computing, with its focus on users and their tasks rather than on computing devices and technology, provides an attractive vision for the future of computing. But, while hardware and networking infrastructure to realize this vision are becoming a reality, precious few applications run in this infrastructure. We believe that this lack of applications stems largely from the fact that it is currently too hard to design, build, and deploy applications in the pervasive computing space.


System-Level Programming Abstractions for Ubiquitous Computing Robert Grimm, Janet Davis, Eric Lemar, Adam MacBeth, Steven Swanson,

July 2002

·

58 Reads

be able to work properly in constantly changing situations. Functions that interact with users and infrastructure must be maintained at tolerable levels even if devices and users are roaming, users switch devices or engage new ones, and the network provides only limited services. In this position paper, we present an approach based on exposing programmers to change while providing them with tools that make dealing with highly dynamic systems much more straightforward. We are developing several applications using our infrastructure and have already released to the research community a version of our system, called one.world . Our next step is to build a user community and to this end we are preparing to offer a workshop to interested colleagues in the fall of 2001 where they will be able to prototype their own applications and leave with working code.


Figure 3: Illustration of the request/monitor mechanism. Boxes on the left represent application components and boxes on the right represent environments. The app environment is nested within the replicator environment. The replicator environment's monitor handler is linked and thus intercepts all events sent to the app environment's request handler. The use of the main handler is explained in the text.
Programming for Pervasive Computing Environments

September 2001

·

62 Reads

·

87 Citations

Pervasive computing provides an attractive vision for the future of computing. Computational power will be available everywhere. Mobile and stationary devices will dynamically connect and coordinate to seamlessly help users in accomplishing their tasks. However, for this vision to become a reality, developers must build applications that constantly adapt to a highly dynamic computing environment. To make the developers' task feasible, we introduce a system architecture for pervasive computing, called one.world . Our architecture provides an integrated and comprehensive framework for building pervasive applications. It includes a set of services, such as service discovery, checkpointing, migration, and replication, that help to structure applications and directly simplify the task of coping with constant change. We describe the design and implementation of our architecture and present the results of an evaluation, which includes two case studies.


Systems Directions for Pervasive Computing

May 2001

·

76 Reads

·

45 Citations

Pervasive computing, with its focus on users and their tasks rather than on computing devices and technology, provides an attractive vision for the future of computing. But, while hardware and networking infrastructure to realize this vision are becoming a reality, precious few applications run in this infrastructure. We believe that this lack of applications stems largely from the fact that it is currently too hard to design, build, and deploy applications in the pervasive computing space. In this paper, we argue that existing approaches to distributed computing are flawed along three axes when applied to pervasive computing; we sketch out alternatives that are better suited for this space. First, application data and functionality need to be kept separate, so that they can evolve gracefully, in a global computing infrastructure. Second, applications need to be able to acquire any resource they need at any time, so that they can continuously provide their services in a highly dynamic environment. Third, pervasive computing requires a common system platform, allowing applications to be run across the range of devices and to be automatically distributed and installed.


System-Level Programming Abstractions for Ubiquitous Computing

January 2001

·

14 Reads

·

4 Citations

... be able to work properly in constantly changing situations. Functions that interact with users and infrastructure must be maintained at tolerable levels even if devices and users are roaming, users switch devices or engage new ones, and the network provides only limited services. In this position paper, we present an approach based on exposing programmers to change while providing them with tools that make dealing with highly dynamic systems much more straightforward. We are developing several applications using our infrastructure and have already released to the research community a version of our system, called one.world . Our next step is to build a user community and to this end we are preparing to offer a workshop to interested colleagues in the fall of 2001 where they will be able to prototype their own applications and leave with working code.


Figure 5: A screenshot of Emcee’s user interface. The main window lists the users whose applications run on a device. A popup menu for each user, shown for the user named “robert”, is used to perform most operations, such as running a new application or checkpointing a user’s applications. The user menu supports the creation of new users and the fetching of a user’s applications from another device. 
Figure 6: A screenshot of Labscape’s user interface, which represents a single biology experiment. The visual representation is organized as a flowgraph, with icons representing individual steps and lines representing ordering constraints. Initially, the flowgraph serves as a plan for the experiment to be performed. With each step, the corresponding icon is annotated with relevant information, and, over time, the flowgraph becomes a record of the experiment. 
Migration for pervasive applications

60 Reads

·

8 Citations

This paper explores migration, the ability to move an application between devices, in the context of pervasive, or ubiquitous, computing. Pervasive computing, with its vision of information access anytime and anywhere, introduces a new class of applications that seamlessly follow people as they move through the physical world. As a result, mi-gration becomes an important building block for the development and deployment of pervasive applica-tions. However, the main challenge with migration is to strike a reasonable balance between the com-plexity of implementing migration and the actual utility delivered to applications. In this paper, we introduce a migration service for pervasive applica-tions that marks a new, practical design point in the design space. We explain the trade-offs made in its design, detail its implementation, and reflect on our own and others' experiences with using it.

Citations (7)


... contains dynamic and situation-dependent knowledge and can be used, for instance, in navigation tasks. The models of the second kind are referred as world models, and typically include more stable and general knowledge about: objects, properties of objects, relationships between objects, events, processes, and so on (Davidsson, 1994). Accordingly Grimm et. al (2001), the main requirements to be reached in this class of projects are: robustness; reliability; modularity; flexibility; adaptability; integration of multiple sensors; resolution of multiple objectives; global reasoning, and intelligent behavior. This aspect is also considered in autonomous agents research area. As stated in (Franklin & Gr ...

Reference:

Machine Biological Clock: Exploring the Time Dimension in an Organic-Based Operating System
System-Level Programming Abstractions for Ubiquitous Computing
  • Citing Article
  • January 2001

... Typically, these intelligent devices and sensors cooperatively provide sophisticated services to the user based on an ambient service management platform. Among design issues of an ambient service management platform in a Smart Home, robustness is a paramount concern of inhabitants [10,12]. ...

Systems Directions for Pervasive Computing

... While pervasive computing certainly has the concept of a seamless computing experience across devices, this is not necessarily done with a single system image. For example, systems like One.world [12] and Gaia [21], provide frameworks in which an application may run in a distributed manner across devices. Their goal is to enable applications to follow users around and merge into the background. ...

System support for pervasive applications

ACM Transactions on Computer Systems

... Other research groups have also performed evaluations of their own pervasive systems. Based on the one-world framework, Grimm et al. (2004) at the University of Washington conducted a series of micro-benchmarks to quantify the scalability of migration in pervasive applications, as well as the performance of the data storage systems for pervasive computing (Lemar, 2001). Garlan et al. (2002) evaluated the performance of the Aura system using metrics that included remote file-retrieving delay (with data staging), wireless bandwidth measurement, and prediction of the accuracy of prediction models. ...

The Design and Evaluation of a Storage System for Pervasive
  • Citing Article
  • September 2003

... On the other hand, the development of context-aware educational environments is not an easy task due to factors such as complexity to develop compatible applications to the different platforms of hardware and software [21,22,23].Another difficulty is related to sensitivity to context, where the application must extract and analyze considerable information of the context to implement personalized adaptations to the different contexts and users of the system. ...

Systems Directions for Pervasive Computing