by Fredrik Espinoza and Markus Bylund
The sView system developed at SICS makes networked services available to users in an environment that is close to the user. It allows services to collaborate and further research will be done in the area of user assisted service collaboration using sView as a platform.
The role of the Internet is about to change again. After the hype of web portals we look forward to an Internet in which networked services dominate. However, problems with the currently prevailing infrastructure for networked services, the World Wide Web, slow down this process. We argue that there are three main problem areas: limited support for service collaboration, producer dominance, and the poor support for service interaction in todays web browsers.
A Personal Service Environment (PSE) enables a rich interaction between networked services and their users. A PSE, which is private to an individual user, enables user interaction with networked services. The PSE can store and execute service logic and data, and it can move from computer to computer as the user moves between access nodes within the network. Preferably, the PSE is run on a computer under the users immediate control (such as his/her workstation at work or personal computer at home), but if the user is not directly represented on the network, the PSE can run on a server that is dedicated to running PSEs.
The choice of method for interaction between service logic within a PSE and its user is open. The PSE can provide a range of channels for services to interact with their users (whichever channel is available for the moment), eg HTML over HTTP, WML over WAP, ASCII over SMS, GUIs via SWING, etc.
The sView system is a complete system for user-service interaction that implements PSEs. The system is authored exclusively in Java 1.2, which brings several advantages. The choice of implementation language makes it easier to use the system on different platforms. The popularity of Java makes it easy to reach a broad user group, and finally, Jini technology can be used for naming, searching and distribution of service components.
The sView system constitutes a very thin layer of infrastructure between the service providers and their users. Nothing is assumed about communication protocols between base services and service components within a PSE, or about interaction protocols between service components and the devices that render service presentations. Similarly, no languages, interpreters, or interaction styles are forced upon service components that wish to collaborate within the PSE. The thin properties of the sView system are a deliberate design choice. We want the system to be specific in its overall goal (to enable user-service interaction), but open when it comes to methods of achieving the goal.
Below we describe a usage scenario that illustrates some features of the PSE. A man is about to make a business trip to a foreign city. Using his Personal Service Environment, he locates an electronically mediated travel agency and initiates a dialog with it. The travel agency uploads a travel service component to the users PSE. Once in the PSE the travel service receives the mans instructions, via a standard graphical user interface (GUI), to make a flight and hotel reservation for his planned trip. Then the man turns his attention to something else and leaves the office bringing his cellular phone.
The travel service now makes use of a number of information sources in order to accomplish its task. It searches the PSE for a preference manager and asks it about its clients complete name and address, as well as his seating and smoking preferences. It also locates a calendar within the PSE and checks when the man must be back and if the trip conflicts with any of his other appointments.
Having collected all background information, the travel service turns to its base service trying to find an appropriate flight and hotel. The service finds three alternatives that all match the mans request, preferences, and schedule. The travel agency is now ready to get back to the client with the result of the search. However, since the man is no longer available via the desktop computer (as can be concluded since the screen saver has been on for quite a while), the service contacts him via his cellular phone. The man, now on the train on his way home, selects one of the alternatives and instructs the travel agency to go ahead with the reservation. The travel service accepts the request and starts searching the clients PSE again, this time for a service that provides payment. One of the mans services, a bank service, is willing to provide payment, but only after a confirmation by the client (this is also done through the interface of the cellular telephone). Having everything that is needed, including payment, the travel service now executes the mans request by instructing its base service to buy the flight tickets and make the hotel reservation.
The above scenario illustrates three important aspects of the PSE:
In addition to what the above scenario illustrates, the sView system demonstrates the following noteworthy features:
A Personal Service Environment (PSE) enables a rich interaction between networked services and their users. We have introduced the concept of a Personal Service Environment as a solution to many of the problems with using the World Wide Web for mediation of networked services. The main contribution of the PSE is that it increases its users control of networked services. Services are offered support for spontaneous collaboration between peers.
The sView system will also serve as a platform for further research in the area of human assisted service collaboration.
sView home page: http://www.sics.se/~espinoza/sview/index.htm
Fredrik Espinoza and Markus Bylund
Tel: +46 8 633 15 15, +46 18 471 70 53
E-mail: firstname.lastname@example.org, email@example.com