`
`Arindam Banezji, David L Cohn and Dinesb C. Kulkarni
`
`Distributed Computing Research Laboratory
`University of Nmre Dame
`Notre Dame, IN 46556
`dlc@cse.nd.edu
`
`Abstract
`
`Highly ponable, powerful computers with wireless connections will radically
`change tl1e way people think abom and use computing. No longer will users limit
`their computations to a single machine: rather, they will use tile machines that
`best suit their current needs. A user's environment, which we call the computing
`persona, cannot continue to be reddined on each machine. Ralher, as people
`move between systems, their environment should follow. The notion of comput(cid:173)
`ing persona provides new insight inLo resource management in a distributed and
`dynamic world. Resource conslraints will vary widely and for-fee services wm
`change optimization strategies. Many of the technologies needed to realize
`personae are current research topics, and the persona concept wm focus that work
`and make it more valuable.
`
`1. Introduction
`
`The evolution of computer technology has changed the common computing platform from machines wi!l1
`multiple users !o single-user systems; soon multiple computers per person will be the nonn. The use of
`highly mobile systems dramatically changes the way users viC'.w computing, and new approaches are
`needed to support that view. This paper identifies a user's view or the computing world as his or her
`computing persona and discusses the implications on system software design and implementation of
`imposing this persona on multiple machines.
`
`We can view the world of stationary computers as a computing infrastructure w which resource~poor
`mobile computers have intemliUcnt connections. Indeed, the mobile systems will always be m a resource
`disadvantage compared to fixed systems of the same generation. They may have powerful processors, but
`problems of power consumption, input/output device size anc! communication capability will continue w
`ex:isr. Therefore, mobile sys£ems software must suppon the sharing of infrastructure resources, including
`such resources as screens and keyboards which have not been traditionally shared.
`
`Two new considerations inOuence system software design for mobile computers. First, user movement
`creates a dynamic computing environment. Since .shared resources arc considered pan of the computer,
`we essentially have run-time nsscmbly of computer systems. Secondly. the resources and services offered
`to mobile users may frequently have user fees. Thus, system software slJOuld trcm the user's money as
`an important and manageable resource, just like memory and CPU time.
`
`LG Electronics, Inc. et al.
`EXHIBIT 1003
`IPR Petition for
`u.s. Patent No. 7.149.511
`
`
`
`The ideas in this paper are based on the needs of mobile computing but have broader applications. A user
`of multiple machines wants to have a consistent computing persona regardless of how the machines are
`connected. The machines may vary, for example providing different graphical user interfaces, but
`the
`view of the computing infrastructure should remain essentially the same. This is t.rue for the user of
`networked machines. for the user with an intermittently connected mobile system, or for the user who just
`canies a diskette home at night-
`
`2. A Scenario
`
`is in her office, preparing a paper for the fifth WWOS (Workshop on
`Suppose a computer scienl.ist
`Wandering Operating Systems). She opens a Motif window on her UNIX system, starts a copy of
`Framelvlaker and types several pages. She walks down the hall to the intellectual property office and the
`lawyer asks for at printed copy of the unfinished manuscript. Using her PDA. she and asks that the
`document be printed, and a copy appears on the lawyer's laser printer.
`
`Eventually, the computer scientist decides to leave for home and catch the bus. 011 the way. she displays
`the unfinished paper‘ on her PDA and uses a stylus to make changes on the small handheld display. At
`home. she wants to see her work on paper so she again instructs the FDA to print the document. After
`reading it. she decides that it needs major revisions and powers up her Macintosh.
`It comes up with an
`active Framclvlaker session containing the document.
`
`Before submitting it, she wants to make sure that the lawyer is happy so she checks her mail. Finding
`only a notice of departmental meeting on safety (which she has already missed), she decides to submit
`the paper. Unfortunately. her teenage son has just gotten on the phone, so her modem connection is
`unavailable. She does not want to interrupt (she likes the. girl he is talking to) but knows that the paper
`must be in Europe first thing in the morning. Therefore, she elects to let the PDA use its more costly
`cellular link and sends the paper off,
`
`3. Scenario implications
`
`This somewhat fanciful example (no one ever likes the kids their teenage children date) illustrates three
`key technologies that a computing persona must provide.
`
`- Name—spaee remappincr - The two instances of printing caused the document to be sent to different
`printers.
`In these cases, it was the printer closest to the FDA. However, since the FDA was in
`
`a different place, it interpreted the name primer differently. The persona includes a view of the
`resources in the infrastructure. The mapping between the names in this view and the actual
`
`resources is dynamic and allows location of resources in the large and growing infrastructure.
`- Application migratio
`— The Framelvlakcr job that started on the workstation essentially moved
`to the FDA and then to the Macintosh. Since these systems use different hardware architectures.
`
`instead, the application must periodically save
`classic notions of process migration don't apply.
`enough state information so that
`it can be restarted on a different platform. Modern word
`
`processors do this as a matter of course by saving the current state of the document. However,
`
`for other applications, it might not be easy.
`
`- Resource-driven oneration — When the computer scientist
`
`lirst checked her mail, she connected
`
`to her mail site was modem over a telephone line.
`
`l-lowevcr, like many resources, the phone line
`
`Ix)
`
`
`
`changed st.atc and was unavailable when she wanted to send the paper. Since the alternative
`resource, the cellular link, cost more money, she was given the option of delaying.
`In a world
`of dynamic resources, it
`is important that their availability and cost influence operations.
`
`The persona is the us‘cr’s interface to a vast array of resources which are controlled by others and
`Constantly changing. Typically, the user refers to these resources by names that. are different from those
`used by the resource owners. Thus, the persona includes a resource view; a complete, well—ordered name
`mapping to the real
`tiles, devices, resources and so forth.
`It is used both hy the user and, perhaps more
`importantly, by his or her applications. This technique is used by Prospero to manage access to data tiles
`in the Internet; in a related way, Plan—9 does name—space mapping to deal with files, devices and services.
`However, since the persona is mobile and may be resource constrained, its remapping is more complex
`than either of these systems.
`
`4. Computing Persona
`
`Indeed, whenever anyone uses a computer, they establish
`The concept of computing persona is not new.
`a computing persona. The persona includes the a presentation of the system resources and an environment
`which supports that user's work. The presentation might appear as a Macintosh desktop, :1 set of Motif
`windows or a DOS session. The persona also includes the resources available to the user and the
`mechanisms employed to access them. To date. personae have been separately defined for each operating
`system, and every instance of a persona has been hired on a single machine.
`
`Today. it" one works on multiple computers, separate personae are established. Typically, this means that
`one logs in to each system and deals with multiple computing worlds. Even if the machines are on a
`single network, they tend to look and feel different. Full use of modern computing, hardware requires a
`computing persona to be defined universally and allowed to control multiple, heterogeneous machines.
`
`It includes the state of the user interface,
`When a user is act.ive, his or her persona can be quite complex.
`the active applications, any hidden services, environment variables, locally defined names and a variety
`of other items. To understand how to capture the persona, we have to look at how it is established.
`
`When a machine is powered oft‘, a user's persona is essentially a name-space and its mapping. Part of
`that mapping includes special files which will define the initial state of the active persona.
`In a UNIX
`system, the name-space resides in the lite system; in other systems, device names may be separate from
`the file system. The name-space continues to exist when the user becomes active, and the management
`of its mapping is a key element of handling personae.
`
`For an active user, the persona includes elements set up from the name-space and other elements that the
`user‘s actions have created. Some are passive, such as environment variables, aliases and mounts; others
`are active, including daemons, TSR routines and special device drivers. To capture the persona, the
`creation of these entities and the evolution of their state must be monitored.
`
`The concept of eornputiitg persona is further complicated hy the need to deal with heterogeneous operating
`systems. A mobile persona must handle this heterogeneity and adapt to the current operating system.
`
`
`
`S. lli/lanaging the Persona
`
`In the scenario, the computer scientist’s persona was imposed on variotis machines. To actualiy do this,
`the user‘s actions must monitored regularly monitor. and the persona continually evolved. Any changes
`in the computing infrastructure that effect the persona must also be tracked.
`
`Consider what happens when our computer scientist returns to her oflice. Her persona is re-imposed on
`the office system and indicates any work which had been done the night before.
`if her home and office
`machines had had a network connection and clever enough software, the home system could have made
`the transfer. However, even without a connection, the PDA can act as a sman cache and perform the
`update.
`
`In this example, the PDA is given sole responsibility for monitoring the user’s computing persona. This
`means it is continually powered and aware ofall computing activities. A more complex, but perhaps more
`reasonable, approach would he to migrate the responsibility for persona monitoring between the PDA and
`the other computers. This would reduce power consumption problems and mitigate failure concems. This
`is just a minor difference; it does not change the basic areltitecture.
`
`6. Basic Architectural Approach
`
`The creation and management of computing personae can be handled by three types of entities; resource
`representatives. persona managers and application agents. They are described as active entities but can
`probably be activatable since they tend to be quiescent much of the time.
`
`A machine which exports access to its resou rees does so through a rcsoitree rcpre.renzan've. The resources
`can be as complex as those on a full workstation including its processor, memory, file system and
`communication connections or as simple as a display screen. The resource representative defines a
`protocol for authentication, accounting and security, and it provides an interface to its database on resource
`state and availability. When a resource event occurs,
`that
`is, an event. which affects a resource, the
`resource representative is notified; it can,
`in turn, notify a client using that resource.
`
`The persona manager is responsible for creating and tnaintaining computing personae. This persona is
`primarily a view of resources, a set of active applications and a guardian of the user's monetary interests.
`Therefore, the persona manager must maintain the name-space that supports that view and must see to the
`good health of the applications. The persona manager maps each name in the space to a resource with
`the help of the appropriate resource representative. The manager also registers up-calls in order to be
`notified of resource events.
`
`When the resources and the persona manager are on the same node, mapping is reasonably straightforward.
`However, for remote resources, the persona manager must contact a name service to locate them. Access
`to the name service is considered a
`local resource and, hence,
`is controlled by the local resource
`representative.
`
`In general, the persona manager is mobile. For safety, portability and performance, it can be replicated
`on a new node with the permission of that nodc’s resource representative. The replica must recreate the
`
`
`
`persona state, including the name-space and application states. This can require remapping, and possibly
`extending, the naine—spacc. Moving applications requires help from the application agents.
`
`We view an active application as an entity with state and resource requirements. When an application is
`activated. an app£t'cart'on agent is created. This agent. makes sure that the application‘s resource needs are
`met and its state is periodically saved.
`It identifies required resources and determines whetlter they are
`available through the name—space.
`If they are not, it notifies the persona manager which must find and
`access the resources. These resources include the executable code (with appropriate DLLs), a suitable
`processor, necessary devices and any required files.
`
`Applicanori nzt'grarion actually involves stopping the application on one node and restarting it in the proper
`state on another. The application agent moves the state to the new node, verilles tnat the resources are
`available and oversees the restart.
`,
`
`7. Enabling Technologies
`
`Successful implementation of mobile computing pcrsonae will draw heavily on other operating systems
`research. The specific technologies include:
`- Naming and I..ocat.ion Services - These services assist. the persona manager in mapping the user’s
`name-space to actual resources. They provide location inlonnation on remote resources and
`access mechanisms to the appropriate resource representatives. The domains managed by these
`services include file systems, communication protocols, interface repositories and libraries.
`- Cache Manao,ernent - Resource access is provided by the name-space, but resource use will require
`caching. Mobile systems can be highly dynamic, so the optimal cache management policy will
`change. Caching requirements vary with data type, but the basic structure is the same. Thus, a
`flexible cache management service could be used by many parts of the system.
`it should export
`appropriate caching interfaces which allow control by either source or sink.
`in a mobile
`computing environment. the performance of caching will be determined by the savings in both
`time and money.
`
`-
`
`- This is necessary to allow run-time alterations as resource availability changes
`for applications which access resources through library code.
`- Persistent object.
`- Future applications built with object technology that supports persistence will
`provide automatic checkpointing and make migration and restart easier.
`Improved object mode - An object model based on CORBA and extended to include reification
`and reflection can serve as the basis for building mobile computing personae. The realization of
`such a model would include many of the necessary tools and services mentioned above.
`
`-
`
`8. Conclusion
`
`The combination of‘ mobility, multiple computers and monetary considerations leads to the need for a new
`approach to user support in system software. A user sees the computing world through a personalized
`view called the computing persona. Persona management should be the responsibility of system software.
`It inclttdes access to remote resources with due concern for their capability. availability and host.
`
`LII