[Top] | [Prev] |
Jonathan Dale
Multimedia Research Group
Department of Electronics and Computer Science
University of Southampton
UK
jd94r@ecs.soton.ac.uk
The introduction of distribution into the field of computing has enhanced the possibilities of
information processing and interchange on scales which could not previously be achieved with
stand-alone machines. However, the successful distribution of a process across a distributed system
requires three problems to be considered; how the functionality of a process is distributed, how the
data set on which the process works is distributed and how the interface that allows the process to
communicate with the outside world is distributed.
The focus of the work in this paper lies in describing a model that attempts to provide a solution to
the latter problem. The model that has been developed allows the functionality of a process to be
separated from and to exist independently from its interface and employs user interface independent
display languages to provide distributed and heterogeneous user interfaces to processes. This
separation also facilitates access to a service from diverse platforms and can support user interface
mobility and third-party application integration.
The goals and advantages of this model are partially realised in a prototype that has been designed
around the WWW and its associated protocols, and it is predicted how the model could be fully
realised by adopting a modular and object-oriented approach, as advocated by the Java programming
environment.
1. Introduction
When a process is designed for a single processor machine, it is generally written with a specific platform and user interface environment in mind, for example, a Silicon Graphics ELF executable, a PC Windows executable, etc. Generally, these types of processes are not written with any form of distribution in mind, so the code to handle the user interface of a process and the code to handle the functionality of a process are written together, side-by-side.
The purpose of the research that has been undertaken at the Multimedia Research Laboratory within the University of Southampton was to design a model that addresses all of these problems. The distributed user interface system that has been developed allows the functionality of a process to be separated from its user interface, provides for the user interface of a process to execute within a variety of user interface environments and supports user interface redirection and process remote control.
To give a distributed process the flexibility required to dynamically select new user interfaces to suit a specific user interface environment and to allow user interfaces to be directed across a distributed system, a process needs to be split into three separate but communicating physical processes; a Process Handler (PH) to manage the functionality of the process, an Interface Handler (IH) to manage the user interface of the process and an Interface Viewer (IV) to render user interfaces and process user input data (figure 1).
The motivation behind this dissolution is as follows. The PH is kept separate from the IH so that it does not have to be concerned with either the user interface environment or the IV that is selected; it is responsible for constructing user interfaces and processing user input data. The IH is kept separate from the PH and the IV so that it does not become involved in either the construction of user interfaces or the user interface environment; it is responsible for selecting and launching an appropriate IV on behalf of the PH and for returning user input data back to the PH. The IV is the only process which is user interface environment dependent, since it has to render the user interfaces supplied by the PH in a user interface environment-specific manner (for example, in X-Windows). The IV also accepts user input from the user.
The interaction between these individual processes can exist in two directions:
To abstract both the PH and the IH from the destination user interface environment, the PH must be able to express user interfaces in a user interface independent display language. By adopting a core set of specific user interface metaphors, these languages provide a flexible and consistent set of display components, whilst not being constrained to a particular user interface environment.
IV selection is based upon a negotiation procedure between the PH and the IH; the PH communicates a preferred user interface independent display language (HTML, in the previous example) to the IH and the IH returns an acceptance or rejection message, depending upon whether the display machine of the user can support it in terms of IV availability and graphical power. This negotiation continues until either a suitable representation is agreed upon or the default text-only representation is used.
Every process in the MCMTNG system that needs to present a user interface is expressed in terms of an IV, an IH and a PH. Due to the fact that the IV and the IH can be reused for every PH, the development time for writing a new process is reduced, as a programmer only needs to write the HTML user interfaces and the corresponding PH functionality code segments to process these user interfaces. If each distributed process had to be written separately for each platform and for each user interface environment, then the development time of the MCMTNG system would have been much greater.
2.1. Distribution of User Interfaces
To distribute user interfaces across a distributed and heterogeneous environment, the transport protocol favoured by the World Wide Web (WWW), was used. HTTP is based around the mechanisms of Uniform Resource Locators (URL) which attempt to abstract the address of a document from its physical location, and WWW servers which attempt to resolve URLs to the physical location of a document.
The use of WWW servers has the advantages that user interface documents can be retrieved transparently to the IV and can contain WWW hypertext links and other document types that are supported by the IV. The drawback, however, is that the prototype is reliant on a WWW server being local to the IH and accessible by the IV.
2.2. Abstraction of User Interfaces
User interface environment information has been abstracted from both the IH and the PH through the adoption of the user interface independent display language HTML. HTML is widely used throughout the WWW and is an extensible user interface independent display language that can specify user interfaces in terms of components that are found commonly in user interface environments, that is, buttons, radio buttons, text gadgets, drop-lists, etc. In using an HTML-specified user interface, the PH can generate both static user interfaces that have been pre-written and do not need to contain active data, and dynamic user interfaces that are constructed on the fly from HTML components and active data.2.3. Remote Control of User Interfaces
The communication protocol between the IH and the PH was designed using an event-driven message passing system. This protocol, however, needed to be flexible enough to allow messages to be extensible and dynamic so that they could be used to allow any type of data to pass between the IH and the PH. The Microcosm open hypermedia system is based around a set of autonomous, communicating processes that use a message passing system to communicate. Messages are constructed from tags and associated tag bodies; a tag provides the index onto its free-form data tag body. The advantage of this system is that messages are dynamically extensible, because new data can be added by including a new tag and tag body. Additionally, a process does not need to understand the entire message to be able to process it; it can simply extract the tag bodies of the tags in which it is interested. Action descriptors are represented by a special tag, called \Action
, which contains the type of event that has occurred, and the IH and the PH can determine the nature of the message by interrogating the contents of this tag. Similarly, data is passed within a message by using the \Data
tag. Table 1 gives the complete list of the typical communications that take place.
As each action descriptor maps directly onto an event entry function in the IH or the PH, other processes (such as IHs and PHs) can influence their behaviour by sending them messages containing appropriate
\Action
tags. For example, in the MCMTNG system, there is a process which controls the invocation, configuration and destruction of processes, called the Process Manager. When a user wishes to end a session, the Process Manager sends a Quit_Interface action to every IH and PH, which has the effect of killing all of a user's processes. New remote control actions can be added by introducing new action descriptors and developing the corresponding code within the IH or the PHs.
3. Conclusions
It has been shown that there is a great deal of work that needs to be undertaken in the field of distributed and heterogeneous user interfaces. The approach of designing the user interface code with the functionality code of a process is unsuitable and inflexible within a distributed system where there are potentially many user interface environments. The model that has been developed has shown how a distributed process can achieve user interface distribution, user interface abstraction and user interface remote control through the division of a process into three constituent components. The greatest single advantage of this approach is that it does not attempt to replace any individual user-independent environment methodology or display language, but provides a complementary mechanism for their distribution.
http://vrml.wired.com/vrml.tech/vrml10-3.html
http://www.w3.org/pub/WWW/MarkUp/html-spec/html-spec_toc.html
http://www.w3.org/pub/WWW/Protocols/HTTP1.0/draft-ietf-http-spec.html
http://retriever.cs.umbc.edu:80/kqml/kqmlspec/spec.html
http://wwwcosm.ecs.soton.ac.uk/TNG/m95-4.htm
http://wwwcosm.ecs.soton.ac.uk/TNG/m95-6.htm
http://java.sun.com/whitePaper/java-whitepaper-1.html
http://home.netscape.com/comprod/netscape_nav.html
[Top] | [Prev] |
2 The de facto networking protocol used throughout the Internet.
EMail: jd94r@ecs.soton.ac.uk