throbber
United States Patent
`
`[191
`
`Theimer et a1.
`
`[11] Patent Number:
`
`5,493,692
`
`[45] Date of Patent:
`
`Feb. 20, 1996
`
`||I|||||ll||ll||ll|||||||lll|||llllll|||ll||l||lllll||l|l|||||||||||||l||||
`U8005493692A
`
`[54]
`
`175]
`
`[73]
`
`[21]
`
`[22]
`
`151]
`
`[52]
`
`158]
`
`[56]
`
`SELECTIVE DELIVERY OF ELECTRONIC
`MESSAGES IN A MULTIPLE COMPUTER
`SYSTEM BASED ON CONTEXT AND
`ENVIRONMENT OF A USER
`
`Inventors: Marvin M. Theimer, Mountain View;
`Michael J. Spreitzer, Tracy; Mark D.
`Weiser, Pale Alto; Richard J.
`Goldstein, San Franciseo; Douglas B.
`Terry, San Carlos; William N. Schilit,
`Palo Alto; Roy Want, Mountain View,
`all of Calif.
`
`Asaigneez Xerox Corporation, Stamford, Conn.
`
`App]. No.: 162,419
`
`Filed:
`
`Dec. 3, 1993
`
`U.S. Cl.
`
`Int. Cl.6
`
`H04L 9132; GOGF ”1104;
`008B 5122
`4551261; 38013; 380123;
`379138; 379157; 3401825 .31; 340132549
`Field of Search
`4551261; 38013,
`380123; 340182531, 825.49, 825.5; 319138,
`56, 57
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`3,506,791
`3,739,329
`4,217,588
`4,275,385
`4,303,904
`4,912,471
`4.952.928
`5,027,3l4
`5,068,916
`5,099,346
`5,119,104
`5,122,959
`5,159,592
`5,181,200
`5,202,929
`5,218,344
`
`379156 X
`411970 Halaby
`.. 340132549 X
`611973 Lester
`
`3431112 U
`811980 Freeuy. Jr.
`
`3401312
`611981 White
`1211981 Chase}: .............. 340123
`
`311990 ‘I‘yburski eta]. .
`342142
`
`811990 Carroll et al,
`.. 340182554-
`
`611991 Linwood et al. ........... 3641900
`
`1111991 Harrison et a1. .......... 455139
`
`.....
`311992 lee et a1.
`3591118
`611992 Heller ...........
`3421450
`611992 Nadianson ct
`.. 3641436
`1011992 Perkins
`.. 3'1"01Ei§.'.-r
`111993 Harrison
`...... 3701851
`411993 lemelson .
`.. 340182531 X
`611993 Ricketts
`340182531 X
`
`
`
`5,363,425
`
`1111994 Mufti et al.
`
`.................... 340182549 X
`
`FOREIGN PATENT DOCUMENTS
`
`2230365
`
`1011990 United Kingdom .
`
`OTHER PUBLICATIONS
`
`Friedly, J. The Oflice Of The 21st Century. Pale Alto
`Weekly. May 6, 1992. pp. 20—24.
`Kleiner, A. The Ultimate Control Chip The Programable
`World. Popular Science. May 1992. pp. 90—95.
`Schilit. B. N.; Adams, N.; Gold, R.; Tso, M. M.; Want, R.
`The Parctab Mobile Computing System. PARC Papers at
`WWOS—IV, 1993 IEEE and Xerox. pp. 1—6.
`Weiser, M. Some Computer Science Issues In Ubiquitous
`Computing. Communications of the ACM. Jul. 1993, vol.
`36, No. '1. p. 84.
`
`Primary Examiner—Gilberto Barron, Jr.
`Attorney, Agent. or Firm—R. Christine Jacobs; Tracy L.
`Hurt
`
`[57]
`
`ABSTRACT
`
`The present invention describes a method for selectively
`delivering electronic messages to an identified user or users
`in a system of mobile and fixed devices, including multiple
`display devices and multiple users, based on the context of
`the system and the environment of the identified user.
`Electronic messages intended for an identified user or users
`may be given a level of privacy and a level priority, and
`contextual attributes for its delivery may be specified. The
`system perceives contextual attributes for the recipient user
`or users, inciuding dispiay devices in close proximity to the
`identified users, and determines a display property for said
`electronic message based on the contextual attributes, the
`user profile properties of each user, and the level of privacy
`and level of priority of the electronic message. The display
`property may designate immediate delivery on a particular
`display device, a notification on a particular display device,
`or storage of the message until the contextual attributes of
`the recipient user is consistent with the specified contextual
`attributes of the electronic message.
`
`8 Claims, 17 Drawing Sheets
`
`1112
`
`112
`
`EW
`
`
`
`
`
`
`UserAgent
`
`I‘M
`
`Person Specific Information 106
`
`110
`
`1'08
`
`LYFT 1029
`
`LYFT 1029
`
`1
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 1 of 17
`
`5,493,692
`
`NI'l-
`
`11
`
`O
`
`Fig.1
`
`13
`
`11'
`
`11
`
`2
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 2 of 17
`
`5,493,692
`
`74
`
`
`DeviceAgentc \ 84
`
`
`UserAgentA
`
`Badge Service
`
`f‘
`'
`
`80
`
`I
`
`70
`
`90
`
`
`
`Name Service
`
`
`
`Location Service
`
`
`Service
`TerminalAgentD (- """"
`
`Input MonitOr
`
`94
`
`Scoreboard
`
`76
`
`FIG. 2
`
`3
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 3 of 17
`
`5,493,692
`
`102
`
`112
`
`
`
`
` UserAgent
`
`.
`
`104
`
`Person Specific Information
`
`Personal Policies
`
`Current State
`
`FIG. 3
`
`
`
`
`
`
`
`
`106
`
`108
`
`1 10
`
`4
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 4 of 17
`
`5,493,692
`
`120
`
`Find And Read UserProfile
`
`
`
`Export RPC1nteriace
`
`Register With Services
`For Callbacks
`
`
`
`
`
`
`
`
`128
`
`’32
`
`126
`
`
`
`
`
`RPC Request
`Request
`From Identified
`Allowed?
`
`Client?
`
`N
`\
`
`Deny
`Request
`
`130
`
`
`
`
`134
`
`RPC
`
`
`Service
`More Object
`
`Information?
`Callback?
`
`
`
`138
`
`Execute Request
`
`
`Contact And Retrieve
`
`
`Available Information
`From Object Agent
`
`
`
`
`
`Perform
`Evaluate Poiicy
`
`Indicated
`Rules Against
`
`
`
`Current State
`Action
`
`
`
`
`
`
`
`Action To Be
`Performed?
`
`
`
`
`Time-Based
`Actions?
`
`
`
`
`
`
`
`FIG. 4
`
`5
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 5 of 17
`
`5,493,692
`
`DeviceAgent
`
`Device Profile
`
`Current State
`
`FIG. 5
`
`m
`
`TerminalAgent
`
`172
`Device Profiles
`
`174
`
`
`
`176
`
`Current State of Devices
`
`
`FIG. 6
`
`6
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 6 of 17
`
`5,493,692
`
`180
`
`Find And Read UserProfile
`
`
`
`182
`
`Export RPC interface
`
`
`
`
`
`
`
`Register With Location
`Services or UserAgent
`
`184
`
`186
`
`188
`
`’90
`
`
`
`
`
`RPC Request
`Request
`From Identified
`Allowed?
`
`Client?
`
`
`
`Y
`
`Execute
`Request
`
`N
`
`192
`
`Deny Request
`
`195
`
`194
`
`Housekeeping?
`
`
`
`
`
`Time-Based
`Actions?
`
`FIG. 7
`
`7
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 7 of 17
`
`5,493,692
`
`Name Service
`
`212
`
`Registrations
`
`
`
`
`214
`
`Callbacks
`
`
`FIG. 8
`
`Location Service
`
`@
`
`Registrations
`
`Location Information About Stationary Objects
`With No Managing Agents
`
`Other location and Conversion Information
`
`Location Specific Information
`
`Topological Information
`
`FIG. 9
`
`8
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 8 of 17
`
`5,493,692
`
`Export RFC Address
`To Name Service
`
`
`
`Register Tuples
`
`For Specified Stationary
`Objects Without Agents
`
`
`
`242
`
`246
`
`
`
`'
`'
`Registration
`Request?
`
`Y
`
`
`
`250
`
`43
`
`N
`
`
`
`
`Valid
`7
`_
`_
`Registration .
`
`Y
`
`Update Location
`Information
`
`Callback
`
`
`
`Request?
`
`Callbacks
`
`Affected?
`
`
`
`254
`
`
`Do
`Location
`
`'t _.
`,
`Appropriate
`Query?
`
`
`
`
`393;;
`Callbacks
`
`
`Still Alive?
`
`
`
`
`Perform
`Indicated
`
`Action
`
`
`
`Garbage
`
`
`Collect Dead
`
`Registrations
`
`274
`
`
`
`FIG. 10
`
`9
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 9 of 17
`
`5,493,692
`
`Export RPC Address
`
`Update
`
`
`
`Sighting
`
`' PC Reques
`Badge
`
`Information?
`From ldentifie -
`Location
`
`
`Client?
`Information
`
`
`
`
`
`To Name Service
`
`
`
`
`
` Callback
`
`Request?
`
` Do
`
`Appropriate
`
`Callbacks
`
`Garbage
`Collect Dead
`
`Registrations
`
`
`Location
`Query?
`
`
`
`Perform
`Indicated
`
`
`Garbage
`Collect Dead
`
`Registratlons
`
`00 Query
`Appropriate
`And Return
`Callbacks
`Result
`
`
`
`FIG. 11
`
`10
`
`10
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 10 of 17
`
`5,493,692
`
`Export RPC Address
`To Name Service
`
`310
`
` Update
`
`
`
`' PC Reques
`From Identifie -
`Client?
`
`326
`
`User
`Location
`Information
`
`
`Callbacks
`
`
`Affected?
`
`Request?
`
` Callback
`
`Ca back
`
`
`Do
`Appropriate
`Callbacks
`
`
` Callback
`
`Successful?
`
`
`
`
`Garbage
`Collect Dead
`
`Registrations
`
`Re ister
`
`330
`
`Location
`Query?
`
`
`
`
`
`
`Do Query
`And Return
`Result
`
`FIG. 12
`
`11
`
`11
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 11 of 17
`
`5,493,692
`
`Determine Action To Be Performed
`
`346
`
`
`
`
`
`
`
`Obtain Relevant Contextual And
`Environmental Information
`
`Evaluate Action Based On
`Environment And Context
`
`348
`
`350
`
`Perform Action Or Alternate
`Action(s) As Appropriate
`Based On Contextual Evaluation
`
`FIG. 13
`
`Determine Location Of
`Object Of interest
`
`352
`
`354
`
`
`356
`
`Obtain Relevant Information
`About Other Objects At Or Near The
`Location Of The Object Of Interest
`
`
`
`
`
`Obtain Relevant Para meters
`353
`Of Objects Related
`
`To Objects Of Interest
`
`FIG. 14
`
`12
`
`12
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 12 of 17
`
`5,493,692
`
`
`360 Identify
`
`
`
`Machine
`
`Event
`
`identify Necessary
`Contextual Attributes
`
`
`
`
`For Event
`System State
`
`
`364
`
`Change In
`
`
`
`
`Contextual Attributes
`. Consistent With Determined
`Contextual Attributes?
`
`368
`
`Activate Event
`
`FIG. 15
`
`13
`
`13
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 13 of 17
`
`5,493,692
`
` 400
` Message
`
`Obtained
`
`
` Message
`
`Recipient
`identified
`
`Contextual Attributes
`For Delivery Determined
`
` 406
`
`Change in
`
`System State
`
`
`Contextual Attributes
`Consistent WithDetermined.
`Contextual Attributes?
`
`
`
`Deliver Message
`To Appropriate Device
`
`408
`
`FIG. 16
`
`14
`
`14
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 14 of 17
`
`5,493,692
`
`To Be
`Delivered
`
` Message
`
` Find UserAgent
`
` Send RPC Request
`
`
`(Each) User Agent
`
`422
`
`0f (Each)
`
`Intended Recipient
`
`
`
`
`With Message To
`
`424
`
`
`
`436
`
`Change Of
`Context
`
`
`
`
`
`
`Find Context 0f Intended Recipient
`Including Available Devicels)
`
`And Device Profile(s) At Location
`Of Intended Recipient
`
`
`
`I eliverable
`Based On
`Context?
`
`
`
`To Appropriate Device
`
`Don't Deliver
`Message
`
`Deliver Message
`
`
`
`FIG. 17
`
`15
`
`15
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 15 of 17
`
`5,493,692
`
`
`Receive
`
`
`Ownership
`Request
`
`502
`
`Currently Owned
`By An other?
`
`
`
`
`
`504
`
`Determine Contextual Attributes
`Of The System
`
`
`Evaluate Owner Ship Request
`
`Based On Device Profile, Context
`
`
`
`508
`
`
`
`510
`
`
`Ownersfifia Rf’ghts
`
`EnableA ro riate
`
`
`
`
`FIG. 18
`
`16
`
`16
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 16 of 17
`
`5,493,692
`
`520
`
`
`
`ls User Authenticated?
`
`Perform Only
`Appropriate
`Una uthenticated
`Fu nctions
`
`
`
`Retrieve
`User Profile
`
`Configure Device
`As Appropriate
`Based On
`User Profile
`
`
`
`
`
`FIG. 19
`
`17
`
`17
`
`

`

`US. Patent
`
`Feb. 20, 1996
`
`Sheet 17 of 17
`
`5,493,692
`
` User Logout?
`
`364
`
`Logofi User
`
`FIG.20
`
`18
`
`18
`
`

`

`1
`SELECTIVE DELIVERY OF ELECTRONIC
`MESSAGES [N A MULTIPLE COMPUTER
`SYSTEM BASED ON CONTEXT AND
`ENVIRONhIIENT OF A USER
`
`5,493 ,692
`
`2
`
`Weiser postulates a world in which there are many com-
`puting and computer-controlled devices surrounding each
`user all
`the time. In one example of such a system, he
`describes devices ranging from small computational devices
`called “Tabs”—.-inch-scale computers which are networked
`via wireless links—to yard-scale displays that may be used
`as electronic blackboards called “Board," that may cover the
`entire wall of a room.
`
`Users may also wear “Active Badges,” credit-card-sized
`devices that emit an infrared identification signal that can be
`sensed by receivers placed in each room of a building,
`thereby allowing detection of where each user is currently
`located. Active Badges can also be attached to other moving
`objects, such as portable printers and copiers.
`Also discussed by Weiser at page 99 are “Pads.” scrap-
`paper-like, notebook-sized computers that have no individu—
`alized identity or ownership. Weiser postulates that in the
`future there will be many Tabs and Pads per person, just as
`today there are many paper notebooks and stick-on notes per
`person. Consequently, users will interact with many different
`devices, both serially and in parallel, during the course of
`their daily lives.
`“Guest" Tabs or Badges, and “scrap" Pads are devices not
`owned by any particular user. Instead, they are available—w
`perhaps at the entrance to a building in the case of guest
`Badges, or in meeting rooms in the case of Tabs and
`Pads—for use by whoever picks them up. Picking up an
`Active Badge might involve checking it out from building
`security so that its association with a particular user can be
`registered with the system.
`In the environment described in Weiser. specific actions
`may be taken by computers based on knowledge of location.
`For example, a Board may be configured as a public
`information bulletin board, its display information attuned to
`the people reading it. Room audio amplification or lighting
`may be controlled according to the desires of the people
`using Tabs or Pads in the room at that moment. Remote
`actions may be triggered by a user‘s presence at a location,
`such as a login procedure started when a user enters his or
`her ofiice.
`
`Jock Friedly, in “The Office of the 21st Century," Palo
`Alto Weekly, May 6, 1992, further describes a ubiquitous
`computing environment including Tabs and Active Badges
`which broadcast signals that may be tracked thmughout the
`computing environment. Badges indicate where a person is
`so that phone calls, for example, may be forwarded to a
`user‘s location.
`
`In a ubiquitous computing environment such as described
`by Weiser, users may further desire diiierent automatic
`actions to be made by the system based on the context
`surrounding them. Some actions should only take place
`under controlled conditions. The environment or context of
`a user may aiiect operations the user might wish nearby
`computing systems to perform. For example, a user in a
`private meeting may not wish to have phone calls forwarded
`to that location. A message that is private may be displayed
`on a user’s private Pad. but probably not on a public Board.
`Similarly, a particular computing device may respond to
`users in different ways depending on the environment and
`context. For example, if one user walks into an unoccupied
`room, each computing device in that room may temporarily
`assign some measure of ownership control of itself or its
`resources to that user. When a second user enters the same
`room some, all, or none of the computing devices may allow
`the second user ownership rights, depending on the context
`and environment.
`
`CROSS REFERENCE TO OTHER
`APPLICATIONS
`
`The subject matter of the present invention is related to
`the subject matter of concurrently filed, commonly assigned
`US. patent applications having the following serial numbers
`and titles: Ser. No. 083161368 “SELECTION. CONTROL
`AND OWNERSHIP OF PARTICULAR DEVICES IN A
`MULTIPLE COMPUTER SYSTEM BASED ON CON-
`TEXT AND ENVIRONMENT IN PROXIMITY TO A
`USER OR DEVICE,” Ser. No. 08l161,730 “SPECIFYING
`AND ESTABLISHING COMMUNICATION DATA
`PATHS BETWEEN PARTICULAR MEDIA DEVICES IN
`MULTIPLE MEDIA DEVICE COMPUTING SYSTEMS
`BASED ON CONTEXT OFA USER OR USERS,“ and Ser.
`No. 08l162,522, “PERSONAL PRIVACY FOR MOBILE
`USERS IN DISTRIBUTED COMPUTING ENVIRON—
`MENTS THAT SUPPORT LOCATION SENSITIVE
`
`APPLICATIONS," each of which are hereby incorporated
`by reference herein.
`
`FIELD OF THE INVENTION
`
`The present invention relates to control by a user of
`particular devices and activities in a multiple computer
`system based upon the current location and surrounding
`environment, including computing devices, of the user.
`More specifically, the invention relates to techniques for
`selectively delivering electronic messages to an identified
`user via particular computer devices based on context and
`environment in proximity to the user.
`
`BACKGROUND OF THE INVENTION
`
`The introduction of computer networks and personal
`computing has forever changed users’ expectations of what
`computer systems can accomplish.
`Individual users no
`longer expect to travel to a particular location to have their
`processing needs met. Instead, individuals expect to have
`sufficient computing power sitting on their desk to get the
`job done; or, at
`least, to have their personal computers
`networked to sufficient resources remote from their location
`
`to accomplish the task.
`Attempts have been made to improve the “user—friendli~
`ness" of such personal computers, including the develop—
`ment of ‘Mndow” systems to give users the illusion of
`working from their desktop electronically. “l‘his metaphor
`sufiers, however, from the size limitation of the usual
`monitor screen for personal computers—no one would ever
`think of using an actual desktop only nine inches high by
`eleven inches wide. Personal computers remain static
`objects commanding the attention of users.
`The notion of a computing environment in which com-
`puters themselves disappear into the background was raised
`by Mark Weiser. “The Computer for the let Century,"
`Scientific American, September 1991. Two issues of crucial
`importance to transmission and display of information in
`such a “ubiquitous" computing environment are location and
`number of devices.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4t}
`
`45
`
`5t]
`
`55
`
`60
`
`65
`
`19
`
`19
`
`

`

`5,493 ,692
`
`3
`As described in Weiser, a user may be able to migrate any
`window that may appear on a workstation screen onto aTab,
`Pad or Board. This allows users ongoing use of different U0
`devices to'interact with their electronic data and applica-
`tions. Which devices will be used will depend on the
`circumstances of the user. In addition. more than one device
`might be used to interact with the system at the same time.
`For example, a user might keep several Pads on his or her
`desk, and migrate “secondary" applications. such as system
`status monitors, from a workstation screen onto those Pads.
`This would free up the workstation screen for use by
`“primary" applications, such as word processors and spread
`sheets. Just as today people spread out papers across their
`entire desks, so too might the user of tomorrow spread out
`work onto multiple electronic screens, be they Tabs, Pads,
`Boards, or workstations.
`When a user goes to a meeting in another room, the user
`may take along one of those screens, or may choose to
`migrate the contents of one or more screens onto the U0
`devices available in the meeting room, such as a Board, or
`one of several scrap Paris in the room.
`Such a ubiquitous environment should enable users to
`make better use of their time and space. For example, some
`methods users employ to remind themselves of events—
`notes, pagers. beeping wristwatches, electronic calendars——
`cannot support automatic message delivery to a remote
`system, and cannot issue special messages tailored to the
`physical location and environment of the particular user.
`Although there may be several ways to support a “ubiq—
`uitous computing" environment to accommodate the entire
`range of mobility required for ubiquitous computers, a
`preferred implementation is a network that allows “wireless”
`communication with mobile devices. To date, many "wire-
`less“ networks have already been designed—the most
`notable, perhaps, being the cellular telephone network.
`Wireless network systems are generally concerned with the
`physical layer of the network, and more specifically. with
`methods of transferring the communication support for a
`mobile unit from one base station to another. These issues
`may be classified as problems in “communication continu-
`ity." Communication continuity is concerned primarily with
`mechanisms for providing a continuous pathway for data
`between two or more units. at least one such unit being
`mobile, and for reestablishing a data pathway in the event of
`an unwanted disruption. By contrast, “processing continu-
`ity” relates to maintaining a current and proper processing
`context between two units.
`
`A system for maintaining communication and processing
`continuity between a mobile processing unit and remotely
`resident applications is described in coassigned, copending
`patent application 08l100,655 entitled A METHOD AND
`SYSTEM FOR MAINTAEIING PROCESSING CONTI-
`NUITY T0 MOBILE COMPUTERS IN A WIRELESS
`NETWORK, filed Aug. 30, 1993 by Want et al., incorpo-
`rated herein by reference. The system includes a network
`backbone, at least one stationary processor coupled to the
`backbone, and at least one transceiver coupled to the back-
`bone. The transceivers are configured to communicate with
`the mobile unit through a wireless medium. Mobile units
`intermittently communicate with applications. The system
`employs a process that is dedicated to handling all commu-
`nications between its associated mobile unit and applica~
`tions. This process is responsible for the scheduling of
`communications sessions with the mobile unit.
`
`One aspect of the present invention is the ability to
`provide a system in which actions of the system are initiated
`
`It]
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`5t]
`
`55
`
`60
`
`65
`
`4
`
`or triggered based on the context {for example, the location
`of the user or other users, the time of day) and the environ—
`ment (for example, the user’s location, nearby computing
`devices available) in proximity to the user.
`Another aspect of the present invention provides a system
`in which the delivery of electronic messages to a particular
`user or users may be selective, depending upon the context
`or state of the user or users. Furthermore, appropriate
`computing devices for particular actions, such as delivery of
`electronic messages, are selected based on the environment
`in proximity to the user in relation to the properties of the
`message.
`In order to carry out these and other related functions, the
`system may have knowledge not only of users, machines,
`and computing devices, but of the context and environment
`that the users and devices are operating in. The system may
`know, for example, the physical location of a user, what
`computing devices are available at that location, what other
`users may be in close proximity to the user. The system may
`further provide processing continuity over a range of loca-
`tions. For particular operations, the system may be able to
`discern predefined control variables, and may be sensitive to
`the context of certain actions.
`
`SUMMARY OF THE lNVENTION
`
`The invention describes a method for selectively deliver-
`ing electronic messages to an identified user in a system of
`mobile and fixed devices, including multiple diSplay devices
`and multiple users, where the identity and location of each
`device, display device, and user may be known to the
`system, based on the context of the system and the envi-
`ronment of the identified user. An electronic message,
`intended for an identified user, is obtained, and a levei of
`privacy and a level priority for the electronic message is
`determined. The profile properties for the identified user are
`obtained. The system perceives contextual atlributes for the
`identified user, including display devices in close proximity
`to the identified user, and determines a display property for
`said electronic message based on the contextual attributes,
`the user profile properties, and the level of privacy and level
`of priority of the electronic message.
`The following description, the drawings and the claims
`further set forth these and other objects, features and advan-
`tages of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. I shows an oifice environment configured to support
`a “ubiquitous computing” system.
`FIG. 2 shows a high level diagram of the system archi-
`tecture of the system elements and communications paths
`between the system, users and devices used to determine the
`context of the system.
`FIG. 3 shows general aspects of a UserAgenL
`FIG. 4 describes the operation of a UscrAgcnt.
`FIG. 5 shows general aspects of a DeviceAgertt.
`HG. 6 shows general aspects of a specialized device
`agent, a TerminalAgent.
`FIG. 7 describes the operation of a DeviceAgent.
`FIG. 8 511on5 general aspects of a Name Service.
`FIG. 9 shows general aspects of a Location Service.
`FIG. It) describes the operation of a Location Service.
`FIG. 11 describes the operation of an Active Badge
`Service.
`
`20
`
`20
`
`

`

`5,493,692
`
`5
`
`FIG. 12 describes the operation of an Input Monitor
`Service.
`
`FIG. 13 describes in general terms the use of context
`information in decision-making.
`FIG. 14 describes in general terms the retrieval of con-
`textual information.
`
`FIG. 15 describes a method for selectively activating a
`machine event1 based on the context of the machine and
`proximity of users.
`FIG. 16 describes in general terms a method for selective
`electronic message delivery.
`FIG. 17 describes in more detail a method for selectively
`delivering electronic messages to one or more users.
`FIG. 18 describes the establishment of ownership over
`particular devices based on context including environment
`and proximity.
`FIG. 19 describes user authentication for establishment of
`ownership of devices.
`FIG. 20 describes automatic logout procedures for tem-
`porary owners of devices.
`
`DETAILED DESCRIPTION
`
`A. General System Architecture
`FIG. 1 shows an office environment 10 configured to
`support a “ubiquitous computing“ system. Components that
`might be found in such a system comprise hardwired net-
`work backbone 12, radio and infrared transceivers 14 and 16
`respectively, workstation 18, file server 20, printer 22 and
`various mobile units 24, 26 and 28, and user 30.
`Network backbone 12 provides high bandwidth commu-
`nications between the various communication and comput-
`ing devices. In the present embodiment, a 10 Mbps Ethernet
`provides the basic infrastrucuue. It will be appreciated that
`although any network architecture may suffice for the back
`bone, it is desirable that the bandwidth be wide enough to
`provide suitable performance to support a desired maximum
`number of devices.
`Components of this system may be properly classified as
`either “stationary" or “mobile.” Stationary components are
`generally hardwired to network backbone 12. Such compo
`nents comprise workstation 18, file server 20 and printers
`22, and the like. It will be appreciated that other networkable
`components may be connected to the infrastructure depend-
`ing upon the needs of the office.
`Mobile communication and computer units connect to
`backbone 12 via radio and infrared transceivers 14 and 16
`respectively. One advantage of using infrared as a medium
`is reuse of frequencies. Walls 13 are essentially opaque to
`infrared n-ansmission. Thus, infrared transmissions in one
`room do not interfere with infrared transmissions in another.
`Individual rooms 11 are termed communication “cells”
`because of this effective partitioning. This useful property
`allows the reuse of the infrared bandwidth for each cell in
`the workplace. It will be appreciated that the use of infrared
`as a medium for wireless communication is well known in
`the art. Cell~based communication further allows determi-
`nation of a person‘s location to the granularity of the cell
`size. That is, because the communication system must know
`how to route communications to the correct cell for a
`particular person or device, it also must know that person’s
`or device‘s location, to the accuracy of the cell size.
`A similar communications partitioning is possible with a
`single radio frequency if the “near field” components pro-
`duced by an antenna are used to couple the mobile units to
`
`6
`the network. The term “near field” describes those field
`components of an energized antenna dial do not give rise to
`propagating waves. The use of near field communication is
`disclosed in copending, coassigned U.S. patent application
`Ser. No. 07984321 entitled WIRELESS COMMUNICA-
`TIONS USING NEAR FIELD COUPLING, filed Dec. 3,
`1992 by Richley et al., incorporated herein by reference.
`Although only radio and infrared transmission are employed
`for wireless communication in the presently preferred
`embodiment,
`it will be appreciated that other types of
`electromagnetic and acoustic transmission might be suitable.
`Additionally, it will be appreciated that multiple frequencies
`may be employed to partition the communication space into
`non-interfering cells.
`Communications facilities for the system of the present
`invention may be provided by other communications tech
`nologies. However, there must still be a facility for locating
`moving users and devices. For example, if people wear
`Active Badges which provide their location, then the Badge
`system will be able to locate them. Cellular phones or
`wide-area radio technologies may then be used to perform
`communications.
`Each transceiver 14 or 16 in the described embodiment is
`connected to a network 12 through a base station, or gateway
`computer 15 which performs translation between the wire—
`less communication from the transceiver and the communi-
`cation packets sent over the network 12.
`Tabs 26 and Pads 24 are mobile units that connect with the
`network through the wireless media. Boards 28 may also
`provide a means for computer system communications. A
`user 30 may further have on an Active Badge 32. Tab 26 is
`a small stylus-based mobile computer. Tab 26 may be
`carried by a user 30 throughout the workplace, may be
`assigned to a particular user, and further may identify that
`user to sensing devices. Functionally, Tab 26 may be a
`simple device. Speed and memory capacity requirements are
`very modest, thus enabling these devices to be very small
`and consume little power. As a result, Tabs 26 are very
`portable. Clearly, other devices,
`including other mobile
`devices, with at least the ability to perform simple commu-
`nications with the system and to interact with the user and
`display messages may be used to perform die techniques
`herein described, as well. Pads, for example, may be used
`and, being more powerful, may filrther provide additional
`applications capabilities to the user.
`Tab 26 may also report events generated by its user in
`response to infomiation displayed on its screen. These
`events may be triggered by pressing mechanical buttons on
`the Tab, or by pressing a stylus against a pressure sensitive
`display, or by other suitable user interface mechanisms.
`As a user 30 with a Tab 26 may move from communi—
`cation cell to conununication cell, Tab 26 may be periodin
`cally disconnected from the network. Such disconnection
`may happen for a number of reasons, including moving the
`Tab into a communication “dead zone" where no transceiver
`may maintain contact, or by a failure of the Tab itself, such
`as the discharging of its battery, or the user powering off the
`Tab, or the like.
`When the cause of disconnection is removed, Tab 26
`reconnects to the network Thus, as user 39 moves into
`communication proximity with another sensor in a different
`cell (or with the original sensor at a dinerent Lime), Tab 26
`rcestablishes connection with the network through its regu-
`lar broadcasts or by a user triggered packet.
`It will be
`appreciated that other schemes for maintaining regular con-
`tact with the network exist. For example,
`the infrared
`transceiver could pol] mobile units within its cell.
`
`it]
`
`15
`
`20
`
`25
`
`30
`
`35
`
`4t}
`
`45
`
`50
`
`55
`
`60
`
`I55
`
`21
`
`21
`
`

`

`5,493 .692
`
`7
`
`FIG. 2 shows a high level diagram of the system archi-
`tecture of the system elements and communications paths
`between the system, users and devices used to determine die
`context of the system. Note that FIG. 2 is meant to be
`illustrative of the capabilities of the system, and not all
`possible communications paths are shown among the pro-
`cesses shown in the figure. The "context" includes the state
`of the system: positional
`information about users and
`devices,
`the states of users and devices in the system,
`interaction policies, and the status of applications, devices,
`and users in the system. A “user,” for the purposes of the
`discussion below, is a human who interacts, implicitly or
`explicitly, with the resources of the system. A “device” is
`any other entity with the ability to computationally interact
`with the system, that is, to accept and respond to computa-
`tional commands. A device may include a computer work-
`station or a small portable computing device as described
`above. Each device must present consistent characterizing
`information in a format computationally recognizable to any
`potential client of that device.
`Communication between processes is described herein in
`terms of Remote Procedure Calls (RPC). Techniques for
`implementing systems using RPCs are well—known in the
`an, Although clearly other means of communication may be
`available to implement the system herein described, inter-
`process communication via RPC will be assumed for the
`purposes of generally describing the preferred embodiment
`of the ubiquitous system.
`The present system as described employs a distributed file
`system to store persistent data of the system. Clearly other
`means of storing persistent data may also be available in the
`system. Each agent must, however, employ some file system
`for storing persistent data that is available to at least that
`agent.
`Name Service 80 provides a place where processes can
`register themselves to be found by other interested parties,
`based on knowledge of a particular name or of particular
`attribute information. All objects, either users or devices,
`that wish to be identifiable by name register themselves in
`Name Service 80. It is much like a telephone book in its
`intended purpose. In the present embodiment, a registration
`contains two things: an RPC address that can be used to
`contact the process for further interactions, and a list of (key,
`value) pairs that describes the registered process to greater
`or lesser degree. Keys and values are typically text strings,
`although more complex data types may be used for values
`(e.g., multi-field records). Keys are well-known text strings
`that can be used to characterize the meaning of their asso—
`ciated value fields. One key value that is conunonly present
`in a registration is a “name” key. whose associated value is
`typically a known unique name that a process can be
`associated with. U

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket