Introduction:

The Vision: Wide-area Ubiquitous Computing

Many current researchers in the mobile computing arena share the same vision: ubiquitous access to information, data, and applications. Ubiquitous access refers to the ability for users to access to these computing resources from almost any terminal, whether personal or public.

Recent developments of the Internet are establishing solid foundations for wide-area ubiquitous computing systems. The recent development of cross-platform languages, the most important of which is Java™, enable the deployment of computing systems that span multiple computing platforms and communication networks. Java provides a means of building applications which are accessible from virtually any Internet-connected terminal. This is true since the only requirement for running Java programs (or applets) is a Java-enabled Web browser, which is now a desktop fixture on computers worldwide.

Further evolution of Internet technologies will yield a wide-area network based on component-oriented, dynamic applications, which will support efficient, scalable resource sharing for a large number of mobile and nomadic users. As users gradually grow to rely on the Internet as an indespensible tool of the workplace and home, most users will become mobile or nomadic users, or both. While mobile users access the Internet from a portable computer, nomadic users may move from terminal to terminal. In either case, ideally a user would be able to accomplish the same tasks with the same amount of effort from any location on either his portable computer or any Internet-connected terminal. For example, a user may begin updating his checkbook at the workplace, continue the task on his laptop, and finish the task later on his home computer. This requires management of distributed data and application resources over a wide-area, including automated replication and consistency management.

Requirements for this Vision

To deploy a large-scale ubiquitous computing system, a system to manage shared distributed resources over a wide-area, fault-prone network is required. End-user requirements of this system include:

Network, distribution, and location transparency: To the end-user, the entire network and any terminal attached to it is one large virtual host. The end-user does not care how or where the data and applications are stored

To achieve the above end-user requirements, several matching technical requirements are warranted. Technical requirements include:

Flexibility, mobility, openness, and dynamism: A wide-area network such as the Internet, especially with mobile hosts, is subject to frequent shifts in topology and network conditions. Such volatility in topology is attributed to 1) frequent changes in the availability of various intermediate network hosts, 2) mobility of mobile hosts such as laptops, and 3) general shifts in network usage patterns which may affect bandwidth and host availability.

What’s Wrong with Current Approaches

Although existing frameworks and distributed systems for mobile computing, such as Bayou [1] and Rover [2], tackle distributed consistency and replication management, their communication models and programming models are unsatisfactory. The communication paradigms used in these systems are evolved from artifacts of the conventional client/server model, such as RPCs. These mechanisms rely on fixed, well-defined clients and servers, and do not have enough flexibility to deal with the fluidity of wide-area mobile networks.

Agent-based Communication

Why build an agent based OS?

Potential Contributions to Mobile Computing Research

Performance and Overhead Considerations

AgentOS is an OS "of agents, for agents, and by agents"

Research Goals

Related work



related project


focus


advances Made by AgentOS
JavaOS/HotJava Small footprint OS; Dynamic Browser Extensibility Mobile/Nomadic Computing Features
Java Beans Flexible Component Architecture Agent-oriented
"Operating system for the Web’’

(Apple Computer)
Safe environment for component-oriented, Internet based applications Mobile computing features, agent-oriented framework
Telescript Agent Language, Platform, Communication, and Management Focus on system agent management
Mobile Service Agents Proxy client for mobile hosts to interface with existing servers lightweight, multi-faceted agents
Bayou/Rover Optimistically Replicated Data Sharing Agent-implemented, adjustable consistency level
CyberAgent Agent Framework for Network Management Multi-agent management
Aglets/Mobile Agent Framework Agent Framework Merging/Splitting; Dynamic Agent Generation; Inter-Agent Communication
Messengers Agent Framework for Distributed Simulation Use of Java as underlying platform for wider compatibility

Requirements

Mobile Agent Framework

Mobile computing and data management services

End-user Capabilities

Mapping of Traditional OS functions to AgentOS functions

Architectural Design

AgentOS Nodes

Agent Execution Model

Agent Transport

	Design

Synopsis

Each agent runs in an agent context. An agent context is the execution context of the agent, and is therefore responsible for the instantiation, invocation, replication, splitting, merging, and destruction of agents. The agent context also provides all run-time services to the agent

.

 

AgentOS API

Agent Transport

Agent Context Services

Active Kernel Services

Project Status

Appendix I: Research Agenda

PHASE I: REQUIREMENTS SPECIFICATION / FEASIBLITY STUDY

PHASE II: Mobile Agent Framework

PHASE III: MOBILE COMPUTING AND DISTRIBUTED DATA SERVICES

PHASE IV: MOBILE COMPUTING APPLICATIONS

PHASE V: USABILITY AND SCALABILITY

Appendix 2: Glossary

References

[1] Alan Demers, Karin Petersen, Mike Spreitzer, Douglas Terry, Marvin Theimer, Brent Welch. ``The Bayou Architecture: Support Data Sharing among Mobile Users.'' Proceedings of the Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, December 1994.

[2] Anthony D. Joseph, Alan F. DeLespinasse, Joshua A. Tauber, David K. Gifford, and M. Frans Kaashoek. ``Rover: A Toolkit for Mobile Information Access.'' Proceedings of the Fifteenth Symposium on Operating System Principles, December 1995.

[3] Franklin D. Reynolds. "Evolving an Operating System for the Web" IEEE Computer. Vol. 29, No. 9 (September 1996) pp. 90-92.

[4] "Agents: An Undistorted View of Problem Structure"

[5] Yoav Shoham. "Agent Oriented Programming" in Artificial Intelligence, Vol. 60 (1993), pp. 51-92.

[6] J.E. White. "Telescript Technology: The Foundation for the Electronic Marketplace." White Paper, General Magic Inc., 1994.

[7] "CyberAgent." White Paper, FTP Software, 1996.

[8] Mobile Agent Facility Specification. OMG TC Document cf/96-08-01.

[9] Lubomir Bic. ``Distributed Computing using Autonomous Objects.'' IEEE Computer, August 1996.

[10] http://java.sun.com