Source: http://www.google.com/patents/US8225214?dq=Etreppid+Technologies,+LLC
Timestamp: 2014-03-14 02:26:13
Document Index: 250199505

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 01964695']

Patent US8225214 - Supplying enhanced computer user's context data - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsTechniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing of information includes receiving from first and second sources indications of ability to supply values for, respectively, an indicated one of the...http://www.google.com/patents/US8225214?utm_source=gb-gplus-sharePatent US8225214 - Supplying enhanced computer user's context dataAdvanced Patent SearchPublication numberUS8225214 B2Publication typeGrantApplication numberUS 12/389,187Publication dateJul 17, 2012Filing dateFeb 19, 2009Priority dateDec 18, 1998Also published asUS20110093787Publication number12389187, 389187, US 8225214 B2, US 8225214B2, US-B2-8225214, US8225214 B2, US8225214B2InventorsKenneth H. Abbott, Dan Newell, James O. Robarts, Ken SwappOriginal AssigneeMicrosoft CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (99), Non-Patent Citations (135), Classifications (32) External Links: USPTO, USPTO Assignment, EspacenetSupplying enhanced computer user's context dataUS 8225214 B2Abstract Techniques are described for providing information about a current state that is modeled with multiple state attributes. In some situations, the providing of information includes receiving from first and second sources indications of ability to supply values for, respectively, an indicated one of the state attributes and another of the state attributes. In such situations, after receiving an indication of the indicated attribute from a first client, the providing of information further includes determining that the first source is available to supply a value for the indicated attribute, obtaining from the first source an indication of the value and information describing the indicated value, determining based at least in part on the descriptive information whether the indicated value is appropriate to be supplied to the client, and supplying the indicated value to the client when it is determined that the indicated value is appropriate.
1. A method of operating a computing machine to provide information about a current state that is modeled with multiple state attributes, the method comprising:
receiving from a first source an indication of an ability to supply values for an indicated one of the state attributes of the modeled current state;
receiving a request for the indicated attribute from a first client;
with at least one processor, determining that the first source is able to supply a value for the indicated attribute;
obtaining from the first source a first value for the indicated attribute and information describing the value, the information including an accuracy of the first value;
determining whether the first value is appropriate to be supplied to the first client based at least in part on the descriptive information; and
supplying the first value to the first client when it is determined that the first value is appropriate.
2. The method of claim 1, wherein determining whether the first value is appropriate comprises comparing the accuracy of the first value with an accuracy threshold specified by the first client.
caching the first value;
receiving a request for the indicated attribute from a second client;
comparing the likelihood of accuracy of the first value with an accuracy threshold specified by the second client; and
supplying the cached value to the second client when the likelihood of accuracy is equal to or greater than the accuracy threshold specified by the second client.
receiving from a second source an indication of an ability to supply values for the indicated attribute;
obtaining from the second source a second value for the indicated attribute and information describing the second value;
determining based at least on the respective descriptive information which of the first or second value is most appropriate to be sent to the first client; and
supplying the most appropriate of the first or second value to the client based on the determination.
5. The method of claim 4, further comprising applying a mediator policy to the first and second values to determine an appropriate value to supply to the first client.
6. The method of claim 5, wherein applying the mediator policy comprises selecting the most recently generated value.
7. The method of claim 5, wherein applying the mediator policy comprises selecting the value having an earlier generation time.
8. The method of claim 5, wherein applying the mediator policy comprises supplying the first client with an average of the first and second values.
9. The method of claim 5, wherein applying the mediator policy comprises presenting the first and second values to the first client for user selection.
10. A system that provides information about a current state that is represented with multiple attributes, comprising:
an attribute mapping component that receives from a first source an indication of an ability to supply values for an indicated one of the attributes of the current state;
an attribute value request component that receives a request from a client for the indicated attribute; and
at least one processor configured to execute an attribute value supplier component that, in response to receiving the request from the client, requests the first source to supply a value for the indicated attribute, receives from the first source a first value for the requested attribute and descriptive information for the first value that indicates an accuracy of the first value, determines based on the received descriptive information whether the first value is appropriate to be supplied to the client, and supplies the first value to the client when it is determined that the first value is appropriate.
11. The system of claim 10, wherein the attribute value supplier component determines that the first value is appropriate to be supplied to the client when the accuracy of the first value is equal to or greater than an accuracy threshold specified by the first client.
12. The system of claim 10, wherein the state represents information about a user of the first client.
13. The system of claim 10, wherein the attribute mapping component receives from a second source an indication of an ability to supply values for the indicated one of the attributes, and receives from the second source a second value for the requested attribute and descriptive information for the second value.
14. The system of claim 13, wherein the attribute supplier component selects a value to supply to the client by applying a mediator policy to the first and second values.
15. The system of claim 14, wherein the mediator policy comprises selecting the more recently generated of the first and second values.
16. The system of claim 14, wherein the mediator policy comprises delivering an average of the first and second values to the client.
17. The system of claim 14, wherein the mediator policy comprises presenting the first and second values to the client for selection by a user at the client.
18. The system of claim 14, wherein the mediator policy is supplied by the client, supplied by the first or second source, or is a default mediator policy.
19. The system of claim 10, wherein the descriptive information includes a timestamp indicating a time at which the value was most accurate.
20. A computer system for providing information about a current state that is represented with multiple modeled attributes, comprising:
means for receiving from a first source an indication of an ability to supply values for an indicated one of the modeled attributes of the current state;
means for receiving from a second source an indication of an ability to supply values for another of the modeled attributes of the current state;
means for receiving a request from a first client for the indicated attribute;
means, comprising at least one processor, for determining that the first source is available to supply a value for the indicated attribute;
means for obtaining from the first source a value for the indicated attribute and information describing the obtained value, the information including at least an accuracy of the obtained value;
means, comprising at least one processor, for determining whether the obtained value is appropriate to be supplied to the client based at least on the descriptive information; and
means for supplying the obtained value to the client when it is determined that the obtained value is appropriate.
CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 10/979,570, now U.S. Pat. No. 7,496,849, entitled �SUPPLYING ENHANCED COMPUTER USER'S CONTEXT DATA�, filed Nov. 2, 2004, which is a continuation of U.S. patent application Ser. No. 09/724,893, now U.S. Pat. No. 6,812,937, entitled �SUPPLYING ENHANCED COMPUTER USER'S CONTEXT DATA�, filed Nov. 28, 2000, which is a continuation-in-part of U.S. patent application Ser. No. 09/464,659, now U.S. Pat. No. 6,513,046, entitled �STORING AND RECALLING INFORMATION TO AUGMENT HUMAN MEMORIES�, filed Dec. 15, 1999, and a continuation-in-part of U.S. patent application Ser. No. 09/216,193, now U.S. Pat. No. 6,466,232, entitled �METHOD AND SYSTEM FOR CONTROLLING PRESENTATION OF INFORMATION TO A USER BASED ON THE USER'S CONDITION�, filed Dec. 18, 1998. The entireties of these applications are incorporated herein by reference.
Application Ser. No. 09/724,893 also claims the benefit of provisional U.S. Patent Application No. 60/194,001, entitled �SUPPLYING ENHANCED COMPUTER USER'S CONTEXT DATA� and filed Apr. 2, 2000, and of provisional U.S. Patent Application No. 60/193,999, entitled �OBTAINING AND USING CONTEXTUAL DATA FOR SELECTED TASKS OR SCENARIOS, SUCH AS FOR A WEARABLE PERSONAL COMPUTER� and filed Apr. 2, 2000. These applications are both hereby incorporated by reference in their entirety.
TECHNICAL FIELD The following disclosure relates generally to computer-based modeling of information, and more particularly to modeling and exchanging context data, such as for a wearable personal computer.
BACKGROUND Computer systems increasingly have access to a profusion of input information. For example, a computer may be able to receive instructions and other input from a user via a variety of input devices, such as a keyboard, various pointing devices, or an audio microphone. A computer may also be able to receive information about its surroundings using a variety of sensors, such as temperature sensors. In addition, computers can also receive information and communicate with other devices using various types of network connections and communication schemes (e.g., wire-based, infrared or radio communication).
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates an embodiment of the characterization module executing on a general-purpose body-mounted wearable computer.
DETAILED DESCRIPTION A software facility is described below that exchanges information between sources of context data and consumers of context data. In particular; in a preferred embodiment, a characterization module operating in a wearable computer system receives context information from one or more context servers (or �suppliers�), and provides that information to one or more context clients (or �consumers�). This context information represents a particular context (or �state� or �condition�) of the wearable, the user of the wearable, the surrounding physical environment and/or the available electronic data environment (or �cyber-environment�). In some embodiments the context is represented (or �modeled�) with a variety of attributes (or �variables�) each modeling a single aspect of the context. By facilitating the exchange of context information, the facility reduces dependencies of context client applications on specific sensors and other input sources, resolves conflicts between context client applications that consume the same context data, resolves conflicts between multiple sensors or other input sources that produce the same data, and isolates the generation of derived attributes from context client applications.
In some embodiments, two or more different context servers may supply to the characterization module their own distinct values for a single attribute. For example, a first context server can supply a value for a user.location attribute based on data received from a global positioning system device, while a second context server can supply a value for the user.location attribute based on data received from an indoor positioning device. Alternately, the first and second context servers could use the same input information when determining the value for a single attribute, but could use different methods to perform the determining and could thus arrive at different values. When multiple content servers supply values for the same attribute, each of the context servers is said to supply values for a separate �instance� of the attribute. The characterization module preferably provides a variety of different approaches, called to �mediators,� for determining what attribute value to provide when a context client requests a value for an attribute that has more than one instance.
As one example of an API, each executing context server may register with the characterization module by calling a RegisterContextServer function and supplying parameters to identify itself. If a particular context server is not executing, a context client that desires a value of an attribute or attribute instance supplied by the context server may cause the context server to be launched by using a LaunchContextServer function. After registration, a context server may indicate an ability to supply values for an attribute to the characterization module by using a CreateAttributeInstance function. A particular context server can provide values for a number of different attributes by calling the CreateAttributeInstance function multiple times. In order to consume values of an attribute, a context client may call a RegisterContextClient function in order to identify itself and one or more attributes whose values it seeks to consume. To assist in selecting one or more attributes, a context client may also call a EnumerateAttributes function to obtain a list of the attributes available from the characterization module. In order to actually retrieve an attribute value, a context client may call a GetAttribute function and use parameters to identify the attribute and any attribute processing that should be applied, such as a specific mediator to be used if values are available for multiple instances of the attribute. For attributes that have multiple instances in the characterization module, a context client may also call a GetAllAttributeInstances function to obtain a value for each instance of the attribute. To force a particular context server to reevaluate all of its attribute instances, a context client may call a CompleteContextServerEvaluation function. Also, to retrieve values for attributes that model aspects of the configuration of the characterization module, a context client or other program may call a GetCharacterizationModuleAttribute function. A context client that consumes a particular attribute value may also create a condition in the characterization module (not to be confused with the current modeled condition of the user or the environment that is represented by various attribute values) for testing that attribute by calling a CreateCondition function. Once a context client has created a condition, it can evaluate the condition by calling an EvaluateCondition function using parameters to identify the condition, and may also proceed to create a condition monitor that monitors the condition and notifies the context server when the condition is satisfied by calling a CreateConditionMonitor function. To suspend operation of a created condition monitor, a context server may call a StopConditionMonitor function, and to resume its operation, may call a StartConditionMonitor function. The context server may remove a condition monitor that it created by calling a RemoveConditionMonitor function and, correspondingly, may remove a condition that it created by calling a RemoveCondition function. A context client may unregister with the characterization module by calling an UnregisterContextClient function. A context server may similarly remove attribute instances that it has registered by calling a RemoveAttributeInstance function. Before it does, however, it may first call a CheckAttributeInstanceDependencies function to determine whether, any context clients currently depend upon that attribute instance. A context server may unregister with the characterization module by calling an UnregisterContextServer function. A set of API functions are discussed in greater detail in both U.S. patent application Ser. No. 09/541,328, filed Apr. 2, 2000 and entitled �INTERFACE FOR EXCHANGING CONTEXT DATA,� and provisional U.S. Patent Application No. 60/194,123, filed Apr. 2, 2000 and entitled �SUPPLYING AND CONSUMING USER CONTEXT DATA,� which are both hereby incorporated by reference.
In some embodiments, it may also be useful to store attribute value information in a more permanent fashion than a temporary cache. For example, it may be useful for the characterization module to keep a log of all attribute values received and sent, or of all interactions with context clients and context servers. Alternately, it may be useful to record the current values of some or all of the attributes and attribute instances at the same time, such as to capture a complete model of the current context. Storing to attribute value information is discussed in greater detail in both U.S. patent application Ser. No. 09/464,659, filed Dec. 15, 1999 and entitled �STORING AND RECALLING INFORMATION TO AUGMENT HUMAN MEMORIES�, and U.S. patent application Ser. No. 09/541,326, filed Apr. 2, 2000 and entitled �LOGGING AND ANALYZING COMPUTER USER'S DATA,� which are both hereby incorporated by reference. Other uses of attribute value information are described in provisional U.S. Patent Application No. 60/194,000, filed Apr. 2, 2000 and entitled �SOLICITING PRODUCT INFORMATION BASED ON THE USER'S CONTEXT,� in provisional U.S. Patent Application No. 60/194,002, filed Apr. 2, 2000 and entitled �AUTOMATED SELECTION OF UNSOLICITED INFORMATION BASED ON A USER'S CONTEXT,� and in provisional U.S. Patent Application No. 60/194,758, filed Apr. 2, 2000 and entitled �CREATING PORTALS BASED ON THE USER'S CONTEXT,� each of which are hereby incorporated by reference.
In the current environment, computer 120 is accessible to a computer 150 (e.g., by being in line-of-sight wireless proximity or by being reachable via a long-distance communication device such as a cellular phone) which also has a variety of input and output devices. In the illustrated embodiment the computer 150 is non-portable, although the body-mounted computer of the user can similarly communicate with a variety of other types of computers, including body-mounted computers of other users. The devices from which the non-portable computer can directly receive information include various user input devices 152 and various user sensor input devices 156. The non-portable computer can output information directly to a display 160, a speaker 162, an olfactory device 164, and a printer 166. In the illustrated embodiment, the body-mounted computer can communicate with the non-portable computer via a wireless transmission medium. In this manner, the characterization module can receive information from the user input devices 152 and the user sensor devices 156 after the information has been transmitted to the non-portable computer and then to the body-mounted computer. Alternately, the body-mounted computer may be able to directly communicate with the user input devices 152 and the user sensor devices 156, as well as with other various remote environment sensor input devices 158, without the intervention of the non-portable computer 150. Similarly, the body-mounted computer may be able to supply output information to the display 160, the speaker 162; the olfactory device 164, and the printer 166, either directly or via the non-portable computer, and directly to the telephone 168. As the user moves out of range of the remote input and output devices, attribute values of the characterization module can be updated to reflect that the remote devices are not currently available.
For example, as is illustrated in FIG. 15, the nomenclature preferably has a variety of types of attribute names, including: attribute names relating to the user's location, such as user.location.latitude, user.location.building, and user.location.street; attribute names relating to the user's movement, such as user.speed and user.direction; attribute names for various user moods, such as user.mood.happiness, user.mood.anger, and user.mood.confusion; attribute names for user activities, such as user.activity.driving, user.activity.eating, and user.activity.sleeping; attribute names for user physiology values, such as user.physiology.body temperature and user.physiology.blood_pressure; attribute names for similar attributes of people other than the user, such as person.John_Smith.mood.happiness; attribute names for aspects of the computer system or �platform,� such as for aspects of the platform's user interface (�UI�) capabilities (e.g., platform.UI.oral_input_device_availability and platform.UI.visual_output_device_availability) and central processing unit (�CPU�) (e.g.; platform.cpu.load and platform.cpu.speed); attribute names for aspects of the local environment, such as environment.local.temperature and environment.local.ambient_noise_level; attribute names for remote environments, such as environment.place.chicago.time and environment.place.san_diego.temperature; attribute names relating to a future context, such as, those that predict or estimate a situation (e.g., environment.local.next_week.temperature); attribute names relating to specific applications, such as an email application (e.g., application.mail.available, application.mail.new_messages_waiting, and application.mail.messages_waiting_to_be_sent); etc. In this manner, the attribute nomenclature used by the facility provides effective names for attributes relating to the user, the computer system, and the environment. Additional attributes are illustrated in FIG. 15, and FIG. 16 illustrates an alternate hierarchical taxonomy related to context, such that various attributes could be added for each of the illustrated categories. Those skilled in the art will appreciate that for both FIG. 15 and FIG. 16, other categories and attributes could be added and existing categories and attributes could be removed or could have alternate names.
FIG. 4 is a data structure diagram showing an example context server table used to maintain a portion of the state of the characterization module. Each row of the table corresponds to a registered context server. Each row contains a context server name field 411 containing the name of the context server, a version field 412 identifying the version of the context server, an installation date 413, identifying the date on which the context server was installed on the computer system, a filename 414 identifying a primary file in the file system representing the context server, and a request handler field 415 containing a reference to a request handler function on the context server that may be called by the characterization module to send messages to the context server (e.g., a request evaluation of one or all of the attributes provided by the context server). Other versions of the context server table may lack some of the illustrated fields (e.g., the version field), or may contain additional fields (e.g., a registered attributes field that contains the names of all of the attributes for which the context server is currently registered to supply values).
FIG. 7 is a data structure diagram showing updated contents of the attribute instance table illustrated in FIG. 5. It can be seen that, in response to registration of a location map context client consuming values for the user.in_region attribute, the characterization module has incremented the number of context clients consuming the user.in_region attribute from 0 to 1.
In additional preferred embodiments; the facility may operate with a partial characterization module. Such a partial characterization module may include various combinations of the functionalities of routing communication between context servers and the context clients that consume their attribute values, caching attribute values, enumerating available attributes, and providing attribute mediation.
In additional preferred embodiments, the facility may provide a characterization module that implements a �push� information flow model in which, each time an attribute value provided, by a context server changes, the new value is automatically provided to context clients. In further preferred embodiments, the facility provides a characterization module that implements a �pull� information flow model, in which attribute values are only obtained by the characterization module from the context servers when they are requested by a context client. In additional preferred embodiments, characterization modules are provided that support a variety of other information flow models.
After step 1715, or if it was determined in step 1710 that another CM is not being swapped out, the routine continues to step 1720 to receive an indication from a user or a message from a CC or CS. The routine then continues to step 1725 where it performs the Notification Processing subroutine to notify any CCs or CSes about the received message or user indication if appropriate. As is explained in greater detail below, CCs and CSes can submit notification requests so that they will be notified by the CM upon a particular type of occurrence. Such notification requests could include occurrences such as when an attribute value changes, when a particular CC or CS registers or unregisters, when values for an attribute become available or unavailable (e.g., due to registration or unregistration), when a CC registers or unregisters to receive values for an attribute, when the availability of particular input/output devices changes or other computer system features change, when a package of related themed attributes becomes available or unavailable, for changes in CM internal status (e.g., a change in the default mediator), etc. In addition; the notification requests can be created based not only on explicit requests, but also after the occurrence of a particular type of event (e.g., if a CC requests a value for an attribute for which no CSes are currently supplying values, a notification request could be automatically created to alert the CC if a CS later registers to supply values for the attribute). Moreover, additional information about the notification requests can be supplied (e.g., a number of times that the submitter wants to receive notifications for the request, or an expiration date after which the notification will be removed or become inactive).
If it is determined in step 2018 that an instruction about another CM has been received, the subroutine continues to step 2020 to determine if the instruction is to register or =register as a CC or CS of the other CM. If so, the subroutine continues to step 2022 to rename any attributes in the request if necessary. For example, if a current CM 1 wants information about an attribute user.mood.happiness for its own user from another CM 2, CM 1 will have to modify the name of the attribute (e.g., to CM1.user.mood.happiness) it requests since CM 2's attribute user.mood.happiness will refer to the user of CM 2. The same will be true for a variety of other attributes that specify attributes relative to the CM, but not to attributes with absolute specifications (e.g., person.ABC.mood.happiness). After step 2022, the subroutine then continues to step 2024 to send a request to the other CM to reflect the request using the renamed attributes, with the other CM to perform the registration or =registration.
If it is instead determined in step 2020 that the instruction was not to register or register, the subroutine continues to step 2026 to determine whether the instruction is to send an attribute value or an attribute value request to the other CM. If so, the subroutine continues to step 2028 to rename any attributes in the request if necessary, and then continues to step 2030 to determine whether a request or an attribute value is being sent. If an attribute value is being sent, the subroutine sends the value to the other CM in step 2032, and if a request is being sent the subroutine sends the request in step 2034. After step 2034, the subroutine continues to step 2036 to receive the requested value or an error message, and if the value is received rather than an error message, the subroutine sends the received value to the requester at step 2038.
If it was instead determined in step 2110 that a request for a value was received, the subroutine continues to step 2150 to identify all attribute instances that match the request (e.g., that satisfy one or more criteria for the value that are specified with the request). The subroutine then continues to step 2152 to determine if there are any such instances, and if not continues to step 2154 to send an error message to the requester. In the illustrated embodiment, the subroutine next pulls current values for the identified attribute instances from servers as appropriate. Those skilled in the art will appreciate that in other embodiments only those value that have previously been received and stored may be supplied to clients. Alternately, even if current values are not generally pulled from servers, in other embodiments such values could be pulled from servers in limited circumstances, such as when explicitly requested by a client.
Mediator Name Description First The first attribute instance that was created. Last The last attribute instance that was created. Fast The first attribute instance to respond to a request for evaluation. Confidence The attribute instance with the lowest uncertainty. Freshness The attribute instance with the newest data value. Average The attribute instances are averaged and the result returned. Vote Two or more attributes that agree overrule ones that do not. User Choice The user is presented with a choice of which instance to use. Fast Decay The instances' confidence is attenuated quickly over time based upon the age of the data. The attenuated confidence is used to select the instance. Slow Decay The instances' confidence is attenuated slowly over time based upon the age of the data. The attenuated confidence is used to select the instance. Those skilled in the art will appreciate that a variety of other mediators could similarly be used, including using the previously used value or a default value. In addition, other techniques could also be used, such as indicating, that no value is available, asking a user to choose between available values or to provide additional instructions, repeatedly trying to obtain an appropriate value, attempt to identify new possible sources or a new mediation mechanism or technique, etc.
If it was instead determined in step 2748 that the instruction was not to send an attribute value request, the routine continues to step 2758 to determine if the instrument was to send another type of request. If so, the routine continues to step 2760 to send the request, and if not the routine continues to step 2762 to perform another instruction as indicated. A variety of other types of requests could be sent to the CM, such as to shutdown the CM or a CS, to launch a CS, to specify a default mediator for the CM, etc. After steps 2712, 2716, 2720, 2724, 2728, 2730, 2742, 2746, 2756, 2760; or 2762, the routine continues to step 2770 to determine whether to continue. If not, the routine continues to step 2772 to unregister the registered attributes for the CC, next to step 2774 to unregister the client with the CM, and then to step 2795 to end. If it is instead determined to continue, the routine continues to step 2776 to determine whether any currently registered attributes should be unregistered, and if so continues to step 2778 to unregister the attributes with the CM. After step 2778, or if it was determined not to unregister any attributes, the routine continues to step 2780 to determine whether to register any additional attributes. If so, the routine continues to step 2782 to register for one or more attributes of interest. After step 2782, or if it was determined not to register any additional attributes, the routine returns to step 2706.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS3973251Apr 25, 1975Aug 3, 1976Stephans J LarryTiming device for exercise program with signalling meansUS4283712Dec 22, 1976Aug 11, 1981Goody Roy WPortable exercise totalizerUS4458331Oct 9, 1981Jul 3, 1984International Business Machines CorporationInteractive display terminal with alternating data processing and text processing sessions with text processing status line operable during data processing sessionUS4569026Oct 31, 1984Feb 4, 1986Best Robert MTV Movies that talk backUS4815030Sep 3, 1986Mar 21, 1989Wang Laboratories, Inc.Multitask subscription data retrieval systemUS4905163Oct 3, 1988Feb 27, 1990Minnesota Mining & Manufacturing CompanyIntelligent optical navigator dynamic information presentation and navigation systemUS4916441Sep 19, 1988Apr 10, 1990Clinicom IncorporatedPortable handheld terminalUS5032083Dec 8, 1989Jul 16, 1991Augmentech, Inc.Computerized vocational task guidance systemUS5133075Dec 19, 1988Jul 21, 1992Hewlett-Packard CompanyMethod of monitoring changes in attribute values of object in an object-oriented databaseUS5201034Mar 24, 1992Apr 6, 1993Hitachi Information And Control System Inc.Interactive intelligent interfaceUS5208449Sep 9, 1991May 4, 1993Psc, Inc.Portable transaction terminalUS5214757Sep 29, 1992May 25, 1993Georesearch, Inc.Interactive automated mapping systemUS5227614Dec 15, 1989Jul 13, 1993Norand CorporationCore computer processor module, and peripheral shell module assembled to form a pocket size data capture unitUS5237684Aug 12, 1991Aug 17, 1993International Business Machines CorporationCustomized and versatile event monitor within event management services of a computer systemUS5251294Feb 7, 1990Oct 5, 1993Abelow Daniel HAccessing, assembling, and using bodies of informationUS5278946Nov 29, 1990Jan 11, 1994Hitachi, Ltd.Method of presenting multimedia data in a desired form by comparing and replacing a user template model with analogous portions of a systemUS5285398May 15, 1992Feb 8, 1994Mobila Technology Inc.Flexible wearable computerUS5317568Apr 11, 1991May 31, 1994Galileo International PartnershipMethod and apparatus for managing and facilitating communications in a distributed hetergeneous networkUS5327529Sep 9, 1992Jul 5, 1994GeoworksProcess of designing user's interfaces for application programsUS5335276Dec 16, 1992Aug 2, 1994Texas Instruments IncorporatedCommunication system and methods for enhanced information transferUS5339395Sep 17, 1992Aug 16, 1994Delco Electronics CorporationInterface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous modeUS5353399Nov 2, 1990Oct 4, 1994Hitachi, Ltd.Method and system for selecting devices in information networks, including inputting/outputting data to a specified device selected by pointing to a corresponding indicator on a screenUS5388198Apr 16, 1992Feb 7, 1995Symantec CorporationProactive presentation of automating features to a computer userUS5398021Jul 19, 1993Mar 14, 1995Motorola, Inc.Reliable information service message delivery systemUS5416730Nov 19, 1993May 16, 1995Appcon Technologies, Inc.Arm mounted computerUS5470233Mar 17, 1994Nov 28, 1995Arkenstone, Inc.System and method for tracking a pedestrianUS5471629Jul 20, 1992Nov 28, 1995Hewlett-Packard CompanyMethod of monitoring changes in an object-oriented database with tuned monitorsUS5493692Dec 3, 1993Feb 20, 1996Xerox CorporationSelective delivery of electronic messages in a multiple computer system based on context and environment of a userUS5506580Dec 6, 1994Apr 9, 1996Stac Electronics, Inc.Data compression apparatus and methodUS5513646May 9, 1994May 7, 1996I Am Fine, Inc.Personal security monitoring system and methodUS5535323Aug 9, 1995Jul 9, 1996Digital Equipment CorporationMethod of and system for displaying context sensitive and application independent help informationUS5537618Dec 22, 1994Jul 16, 1996Diacom Technologies, Inc.Method and apparatus for implementing user feedbackUS5539665Jul 25, 1994Jul 23, 1996Xerox CorporationRecording and retrieval of information relevant to the activities of a userUS5544321Jun 7, 1995Aug 6, 1996Xerox CorporationSystem for granting ownership of device by user based on requested level of ownership, present state of the device, and the context of the deviceUS5553609Feb 9, 1995Sep 10, 1996Indiana University FoundationIntelligent remote visual monitoring system for home health care serviceUS5555376Dec 3, 1993Sep 10, 1996Xerox CorporationMethod for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user requestUS5559520Sep 26, 1994Sep 24, 1996Lucent Technologies Inc.Wireless information system for acquiring location related informationUS5568645Jul 5, 1994Oct 22, 1996Norand CorporationVersatile RF data capture systemUS5572401Oct 25, 1994Nov 5, 1996Key Idea Development L.L.C.Wearable personal computer system having flexible battery forming casing of the systemUS5592664Sep 7, 1994Jan 7, 1997Borland International Inc.Database server system with methods for alerting clients of occurrence of database server events of interest to the clientsUS5601435Nov 4, 1994Feb 11, 1997IntercareMethod and apparatus for interactively monitoring a physiological condition and for interactively providing health related informationUS5603054Jun 7, 1995Feb 11, 1997Xerox CorporationMethod for triggering selected machine event when the triggering properties of the system are met and the triggering conditions of an identified user are perceivedUS5611050Jun 7, 1995Mar 11, 1997Xerox CorporationMethod for selectively performing event on computer controlled device whose location and allowable operation is consistent with the contextual and locational attributes of the eventUS5642303May 5, 1995Jun 24, 1997Apple Computer, Inc.Time and location based computingUS5646629May 16, 1994Jul 8, 1997Trimble Navigation LimitedMemory cartridge for a handheld electronic video gameUS5689708Mar 31, 1995Nov 18, 1997Showcase CorporationClient/server computer systems having control of client-based application programs, and application-program control means thereforUS5704366May 23, 1994Jan 6, 1998Enact Health Management SystemsSystem for monitoring and reporting medical measurementsUS5710884Mar 29, 1995Jan 20, 1998Intel CorporationSystem for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during useUS5715451Jul 20, 1995Feb 3, 1998Spacelabs Medical, Inc.Method and system for constructing formulae for processing medical dataUS5717747May 31, 1996Feb 10, 1998Lucent Technologies Inc.Arrangement for facilitating plug-and-play call featuresUS5719744Aug 29, 1996Feb 17, 1998Xybernaut CorporationTorso-worn computer without a monitorUS5726660Dec 1, 1995Mar 10, 1998Purdy; Peter K.Personal data collection and reporting systemUS5726688Sep 29, 1995Mar 10, 1998Ncr CorporationPredictive, adaptive computer interfaceUS5740037Jan 22, 1996Apr 14, 1998Hughes Aircraft CompanyGraphical user interface system for manportable applicationsUS5751260Apr 3, 1995May 12, 1998The United States Of America As Represented By The Secretary Of The NavySensory integrated data interfaceUS5761662May 8, 1997Jun 2, 1998Sun Microsystems, Inc.Personalized information retrieval using user-defined profileUS5781913Jun 18, 1996Jul 14, 1998Felsenstein; LeeWearable hypermedium systemUS5787234Jun 10, 1997Jul 28, 1998Molloy; Bruce G.System and method for representing and retrieving knowledge in an adaptive cognitive networkUS5790974Apr 29, 1996Aug 4, 1998Sun Microsystems, Inc.Portable calendaring device having perceptual agent managing calendar entriesUS5796952Mar 21, 1997Aug 18, 1998Dot Com Development, Inc.Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource databaseUS5798733Jan 21, 1997Aug 25, 1998Northrop Grumman CorporationInteractive position guidance apparatus and method for guiding a user to reach a predetermined target positionUS5812865Mar 4, 1996Sep 22, 1998Xerox CorporationSpecifying and establishing communication data paths between particular media devices in multiple media device computing systems based on context of a user or usersUS5818446Nov 18, 1996Oct 6, 1998International Business Machines CorporationSystem for changing user interfaces based on display data contentUS5826253Apr 19, 1996Oct 20, 1998Borland International, Inc.Database system with methodology for notifying clients of any additions, deletions, or modifications occurring at the database server which affect validity of a range of data records cached in local memory buffers of clientsUS5832296Apr 26, 1995Nov 3, 1998Interval Research Corp.Wearable context sensitive user interface for interacting with plurality of electronic devices of interest to the userUS5835087Oct 31, 1995Nov 10, 1998Herz; Frederick S. M.System for generation of object profiles for a system for customized electronic identification of desirable objectsUS5852814Dec 10, 1996Dec 22, 1998Inference CorporationAutonomous learning and reasoning agentUS5873070Oct 2, 1995Feb 16, 1999Norand CorporationData collection systemUS5878274Jul 18, 1996Mar 2, 1999Kabushiki Kaisha ToshibaIntelligent multi modal communications apparatus utilizing predetermined rules to choose optimal combinations of input and output formatsUS5879163Jun 24, 1996Mar 9, 1999Health Hero Network, Inc.On-line health education and feedback system using motivational driver profile coding and automated content fulfillmentUS5899963Jun 17, 1997May 4, 1999Acceleron Technologies, LlcSystem and method for measuring movement of objectsUS5902347Mar 27, 1997May 11, 1999American Navigation Systems, Inc.Hand-held GPS-mapping deviceUS5905492Dec 6, 1996May 18, 1999Microsoft CorporationDynamically updating themes for an operating system shellUS5910799Apr 9, 1996Jun 8, 1999International Business Machines CorporationLocation motion sensitive user interfaceUS5911132Oct 14, 1997Jun 8, 1999Lucent Technologies Inc.Method using central epidemiological databaseUS5913030Mar 18, 1997Jun 15, 1999International Business Machines CorporationMethod and system for client/server communications with user information revealed as a function of willingness to reveal and whether the information is requiredUS5924074Sep 27, 1996Jul 13, 1999Azron IncorporatedElectronic medical records systemUS5937160May 1, 1997Aug 10, 1999Reedy Creek Technologies, Inc.Systems, methods and computer program products for updating hypertext documents via electronic mailUS5938721Oct 24, 1996Aug 17, 1999Trimble Navigation LimitedPosition based personal digital assistantUS5942986Aug 9, 1995Aug 24, 1999Cedars-Sinai Medical CenterSystem and method for automatic critical event notificationUS5945988May 30, 1997Aug 31, 1999Intel CorporationMethod and apparatus for automatically determining and dynamically updating user preferences in an entertainment systemUS5948041Jan 30, 1997Sep 7, 1999Denso CorporationInformation service device having simple data retrieval capabilitiesUS5953718Nov 12, 1997Sep 14, 1999Oracle CorporationResearch mode for a knowledge base search and retrieval systemUS5959611Oct 31, 1997Sep 28, 1999Carnegie Mellon UniversityPortable computer system with ergonomic input deviceUS5966126Dec 23, 1996Oct 12, 1999Szabo; Andrew J.Graphic user interface for database systemUS5966533Jun 11, 1996Oct 12, 1999Excite, Inc.Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context dataUS5971580Apr 17, 1996Oct 26, 1999Raytheon CompanyTactical awareness monitoring and direct response systemUS5974262Aug 15, 1997Oct 26, 1999Fuller Research CorporationSystem for generating output based on involuntary and voluntary user input without providing output information to induce user to alter involuntary inputUS5977968Mar 14, 1997Nov 2, 1999Mindmeld Multimedia Inc.Graphical user interface to communicate attitude or emotion to a computer programUS5983335Apr 30, 1997Nov 9, 1999International Business Machines CorporationComputer system having organization for multiple condition code setting and for testing instruction out-of-orderUS5991687Jul 2, 1997Nov 23, 1999Case CorporationSystem and method for communicating information related to a geographical areaUS5991735Aug 11, 1998Nov 23, 1999Be Free, Inc.Computer program apparatus for determining behavioral profile of a computer userUS5995956Aug 27, 1997Nov 30, 1999Compaq Computer CorporationQuestionless cased-based knowledge and a method for constructing the sameUS5999975Mar 5, 1998Dec 7, 1999Nippon Telegraph And Telephone CorporationOn-line information providing scheme featuring function to dynamically account for user's interestUS6003082Apr 22, 1998Dec 14, 1999International Business Machines CorporationSelective internet request caching and execution systemUS6006251Jul 5, 1996Dec 21, 1999Hitachi, Ltd.Service providing system for providing services suitable to an end user request based on characteristics of a request, attributes of a service and operating conditions of a processorUS6012152Aug 21, 1997Jan 4, 2000Telefonaktiebolaget Lm Ericsson (Publ)Software fault management systemUS6014638May 29, 1996Jan 11, 2000America Online, Inc.System for customizing computer displays in accordance with user preferencesUS6023729Jun 17, 1997Feb 8, 2000Mpath Interactive, Inc.Method and apparatus for match makingNon-Patent CitationsReference1[No Author Listed] "Affective Understanding," Modeling and Responding to User Affect, http://www.media.mit.edu/affect/AC-research/understanding.html, pp. 1-3 (Accessed Oct. 2, 1998).2[No Author Listed] "Alps GlidePoint," http://www.alps.com/p17.html, p. 1 (Accessed Oct. 2, 1998).3[No Author Listed] "BridgeVIEW and LabVIEW G Programming Reference Manual," Jan. 1998, National Instruments Corporation, http://www.ni.com/pdf/manuals/321296b.pdf. Last accessed Dec. 7, 2008, 667 pages.4[No Author Listed] "Context Recognition by User Situation Data Analysis (Context)". Http://www.cs.helsinki.fi/group/context/. Last accessed Dec. 9, 2008, 7 pages.5[No Author Listed] "Context-Awareness in Wearable and Ubiquitous Computing." Future Computing Environments, 1997. GVU Technical Report GIT-GVU-97-11.6[No Author Listed] "GyroPoint Technology," http://www.gyration.com/html/gyropoint.html, pp. 1-3 (Accessed Oct. 2, 1998).7[No Author Listed] "Haptics," http://www.ai.mit.edu/projects/handarm-haptics/haptics.html, pp. 1-2 (Accessed Oct. 2, 1998).8[No Author Listed] "Intelligent User Interface Prompt level," IBM Technical Decision Bulletin, IBM Corp, New Yor,vol. 35, No. 1A, Jun. 1992, pp. 25-26.9[No Author Listed] "LabVIEW User Manual," Jan. 1998 Edition,National Instrucments. Http://claymore.engineer.gvsu.edu/eod/courses/egr450/medial/320999b.pef. Last accessed Dec. 7, 2008, 514 pages.10[No Author Listed] "Research Areas in Affective Computing" http://www.media.mit.edu/affect/ (Accessed Oct. 2, 1998).11[No Author Listed] "Research on Affective Pattern Recognition and Modeling," http://www.mdeia.mit.edu/affect/AC-research/recognizing.html, pp. 1-4 (Accessed Oct. 2, 1998).12[No Author Listed] "Research on Sensing Human Affect," http://www.mdeia.mit.edu/affect/AC-research/sensing.html, pp. 1-5 (Accessed Oct. 2, 1998).13[No Author Listed] "Smart Rooms," http://vismod.www.media.mit.edu/vismod/demos.smartdesk/, pp. 1-4 (Accessed Oct. 2, 1998).14[No Author Listed] "SmartDesk Homepage," http://vismod.www.media.mit.edu/vismod/demos/smartdesk/, pp. 1-4 (Accessed Oct. 2, 1998).15[No Author Listed] "The MIT Wearable Computing Web Page," http://wearables.www.mdeia.mit.edu/projects.wearables/, pp. 1-3 (Accessed Oct. 2, 1998).16[No Author Listed] "Wearable Computer Systems for Affective Computer," http://www.media.mit.edu/affect/AC-research/wearables.html, pp. 1-5 (Accessed Oct. 2, 1998).17[No Author Listed] "Workshop on Wearable Computing Systems," Aug. 19-21, 1996.18[No Author Listed] "Affective Understanding," Modeling and Responding to User Affect, http://www.media.mit.edu/affect/AC�research/understanding.html, pp. 1-3 (Accessed Oct. 2, 1998).19[No Author Listed] "Research on Affective Pattern Recognition and Modeling," http://www.mdeia.mit.edu/affect/AC�research/recognizing.html, pp. 1-4 (Accessed Oct. 2, 1998).20[No Author Listed] "Research on Sensing Human Affect," http://www.mdeia.mit.edu/affect/AC�research/sensing.html, pp. 1-5 (Accessed Oct. 2, 1998).21[No Author Listed] "Wearable Computer Systems for Affective Computer," http://www.media.mit.edu/affect/AC�research/wearables.html, pp. 1-5 (Accessed Oct. 2, 1998).22Amon, et al. "Integration of Design Education, Research and Practice at Carnegie Mellon University: A Multi-Disciplinary Course in Wearable Computer Design," Proceedings of The Frontiers in Education Conference, Nov. 1-4, 1995, pp. 4a1.14-4a1.22, vol. 2.23Aoki, H., et al., "Realtime Personal Positioning System for a Wearable Computer," 3rd Int'l Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.24Bacon, et al. "Using Events to Build Distributed Applications," University of Cambridge, 1996. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.4545. Last accessed Dec. 9, 2008, 8 pages.25Bates et al., Middleware Support for Mobile Multimedia Applications, ICL System Journal, Nov. 1997, 20 pages.26Bauer, et al., "A Collaborative Wearble System with Remote Sensing," University of Oregon, Feb. 1996.27Bier, et al. "Toolglass and Magic Lenses: The See-Through Interface," Proceedings of SIGGRAPH'93, Computer Graphics and Annual Conference Series, ACM, pp. 73-80, Anaheim, California, 1993. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.9741. Last Dec. 9, 2008, 8 pages.28Billinghurst, et al., An Evaluation of Wearable Information Spaces, Proceedings of the Virtual Reality Annual International Symposium, 1998, 8 pages.29Billinghurst, et al., Wearable Devices: New Ways to Manage Information, IEEE Computer Society, Jan. 1999, pp. 57-64.30Billinghurst. Research Directions in Wearable Computing, University of Washington, May 1998, 48 pages.31Bishop. "Hard Ware," Jul. 28, 2000, Puget Sound Business Journal, print edition, pp. 1-4.32Biskup, et al, "Towards Secure Mediation", Oct. 1989.33Bowskill, J., et al., "Wearable Location Mediated Telecommunications; A First Step Towards Contextual Communication," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.34Brown et al., "Using Explicit Requirements and Metrics for Interface Agent User Model Correction," Autonomous Agents '98.35Brown, et al. "Utility Theory-Based User Models for Intelligent Interface Agents," Proceedings of the Twelth Canadian Conference on Artificial Intelligence (AI'98), Jun. 1998.36Budzik, et al., Watson: Anticipating and Contextualizing Information Needs, May 1, 1999, Proceedings of the 62nd Annual Meeting of the American Society for Information Science, pp. 1-14.37Chen, et al., A Survey of Context-Aware Mobile Computing Research, Dartmouth Computer Science Technical Report, 2000, 16 pages.38Cochran, "The Development of Wearable Clothing," Dr. Dobb's, online edition, pp. 1-2.39Crabtree, et al. "Wearable Computing and the Remembrance Agent," BT Technology Journal, vol. 16, No. 3, Jul. 1998, pp. 118-124. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.8514. Last accessed Dec. 9, 2008, 7 pages.40Cugola et al., Exploiting an Event-Based Infrastructure to Develop Complex Distributed Systems, 20th International Conference on Software Engineering (ICSE'98) Apr. 1998, p. 261-270, 10 pages.41Dechamboux et al., Using a Distributed Shared Memory for Implementing Efficient Information Mediators, Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking, Apr. 1996, 5 pages.42Dey et al., CyberDesk: A Framework for Providing Self-Integrating Context-Aware Services, Knowledge-Based Systems, 11:3-13, 1998, 10 pages.43Dey, A., et al., "The Conference Assistant: Combining Context-Awareness with Wearable Computing," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.44Doorenbos, et al. "A Scalable Comparison-Shoping Agent for the World-Wide-Web," Proceedings of the First International Conference on Autonomous Agents, Marina Del Rey, California, Feb. 5-8, 1997 pp. 39-48. http://www.cs.washington.edu/homes/etzioni/papers/agents97.pdf. Last accessed Dec. 9, 2008, 10 pages.45D'Orazio, et al. Mobile Robot Position Determination Using Visual Landmarks. IEEE Transactions on Industrial Electronics, vol. 41, issue 6, Dec. 1994, pp. 654-662. Last accessed 112/9/08, 9 pages.46European Office Action dated Feb. 13, 2009 for EP Application No. 01964695.9, 4 pages.47Fickas, S., et al., "Software Organization for Dynamic and Adaptable Wearable Systems," University of Oregon, 8 pages, 1997.48Finger et al., "Rapid Design and Manufacture of Wearable Computer," Communications of the ACM 39(2): 63-68, Feb. 1996.49Gabbard, et al., A Taxonomy of Usability Characteristics in Virtual Environments, Nov. 1997, can be retreived from http://csgrad.cs.vt.edu/~jgabbard/ve/taxonomy/, 191 pages.50Gabbard, et al., A Taxonomy of Usability Characteristics in Virtual Environments, Nov. 1997, can be retreived from http://csgrad.cs.vt.edu/�jgabbard/ve/taxonomy/, 191 pages.51Gavrilova, "An Approach to Mapping of User Model to Corresponding Interface Parameters", 1997, pp. 24-29, can be retreived from http://citiseer.nj.nec.com/context/109679/352175>.52Goh et al., "Content Interchange: New Features and Formalisms for the Intelligent Integration of Information." ACM transactions on Information Systems, 1997. http://dspace.mit.edu/bitstream/handle/1721.1/2642/SWP-3941-36987967.pdf?sequence=1. Last accessed Dec. 10, 2008. 25 pages.53Goharian et al., Enterprise Text Processing: A Sparse Matrix Approach, 2001, IEEE, pp. 71-75.54Golding, A. et al., "Indoor Navigation Using a Diverse Set of Cheap, Wearbale Sensors," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.55Goodridge, "The Environment Understanding Interfae: Decting and Tracking Human Activity Through Multimedia Sensors." 1995.56Han, et al., "DBMiner: A System for Mining Knowledge in Large Relational Database," Proceedings 1996 International Conference on Data Mining and Knowledge Discovery, Portland, OR, Aug. 1996. http://www.cs.ualberta.ca/'zaiane/postscript/kdd96.pdf. Last accessed Dec. 9, 2008, 6 pages.57Han, et al., "DBMiner: A System for Mining Knowledge in Large Relational Database," Proceedings 1996 International Conference on Data Mining and Knowledge Discovery, Portland, OR, Aug. 1996. http://www.cs.ualberta.ca/′zaiane/postscript/kdd96.pdf. Last accessed Dec. 9, 2008, 6 pages.58Harter, et al. "A Distributed Location System for the Active Office", IEEE Network, 1994 pp. 62-70.59Horvitz et al., Attention-Sensitive Alerting in Computing Systems, Microsoft Research, Aug. 1999.60Horvitz et al., In Pursuit of Effective Handsfree Decision Support: Coupling Bayesian Interference, Speech Understanding, and Understanding, and User Models, 1995, 8 pages.61Hull et al., "Towards Situated Computing," Hewlett-Packard Laboratories, HPL-97-66 (1997).62International Search Report dated Sep. 29, 2003 for PCT Application Serial No. 00/20685, 3 pages.63International Search Report for PCT Application No. PCT/US01/10394, Mailed Jun. 13, 2002, 5 pages.64International Search Report PCT/US01/32543, Oct. 27, 2003, 3 pages.65International Search Report, Application No. PCT/US01/10599, Nov. 28, 2002.66International Search Report, PCT/US01/10538, Aug. 14, 2002, 2 pages.67Jakobovits, "Integrating Autonomous Heterogeneous Information Sources." University of Washington, Technical Report UV-CSE-971205, Jul. 15, 1997, 29 pages.68Joachims, T., Text categorization with support vector machines: learning with many relevant features, Machine Learning, European Conference on Machine Learning, Apr. 21, 1998 pp. 137-142.69Kirsch, D., "The Sentic Mouse: A Tool for Measuring Emotional Valence," http://www.media.mitedu/affect/AC-research/projects/sentic-mouse.html, pp. 1-2 (Accessed Oct. 2, 1998).70Kirsch, D., "The Sentic Mouse: A Tool for Measuring Emotional Valence," http://www.media.mitedu/affect/AC�research/projects/sentic�mouse.html, pp. 1-2 (Accessed Oct. 2, 1998).71Kortuem et al., "Context-Aware, Adaptive Wearable Computers as Remote Interfaces to 'Intelligent' Environments," University of Oregon, Oct. 1998.72Kortuem et al., "Context-Aware, Adaptive Wearable Computers as Remote Interfaces to �Intelligent� Environments," University of Oregon, Oct. 1998.73Kortuem, G., "When Cyborgs Meet: Builing Communities of Cooperating Wearable Agents," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.74Lashkari, Y., et al., "Collaborative Interface Agents," Proceedings of AAAI '94 Conference, Seattle, WA, Aug. 1994.75Lehikoinen, J., et al. "MEX: A Distributed Software Architecture for Wearable Computers," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.76Leonhardi, A., et al., "Virtual Information Towers-A Metaphor for Intuitive, Location-Aware Information Access in a Mobile Environment," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.77Leonhardi, A., et al., "Virtual Information Towers�A Metaphor for Intuitive, Location-Aware Information Access in a Mobile Environment," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.78Leonhardt et al., Multi-Sensor Location Tracking, Department of Computing, London UK Oct. 1998.79Losee, Jr., Miniminizing Information Overload: the ranking of electronic messages, Journal of Information Science 15, Elsevier Science Publishers B.V. 989, pp. 179-189.80Lunt, T., et al., "Knowledge-Based Intrusion Detection," Proceedings of the Annual Artificial Intelligence Systems in Government Conference, IEEE Comp. Soc. Press, vol. Conf. 4, 1989, pp. 102-107.81Maes, P., "Agents that Reduce Work and Information Overload," Communications of the ACM 37(7), Jul. 1994.82Mann, S., "Smart Clothing: Wearable Multimedia Computing and Personal Imaging to Restore the Technological Balance between People and Their Environments," ACM Multimedia, pp. 163-174, Nov. 1996.83Metz, C., "MIT: Wearable PC's, Electronic Ink, and Smart Rooms," PC Magazine, pp. 192-193, Jun. 1998.84Mott, et al., A Formalism for Context Mediation based on Feature Logi, Feb. 1998. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.4473. Last accessed Dec. 10, 2008, 11 pages.85Ni. Attribute Name Evaluation and its Implementation, School of Computing and methematics, Deakin University, Geelong, Victoria, May 16, 1994. http://www.deakin.edu.au/scitech/sit/dsapp/archive/techreporVTR-C94-10.pdf. Last accessed Dec. 9, 2008, 32 pages.86OA Dated Aug. 1, 2008 for U.S. Appl. No. 11/179,822.87OA Dated Aug. 14, 2008 for U.S. Appl. No. 10/981,941, 14 pages.88OA Dated Dec. 3, 2008 for U.S. Appl. No. 09/981,320, 40 pages.89OA dated Dec. 4, 2008 for U.S. Appl. No. 11/567,902.90OA dated Jan. 2, 2009 for U.S. Appl. No. 11/559,854, 23 pages.91OA Dated Jul. 29, 2008 for U.S. Appl. No. 10/984,511, 28 pages.92OA Dated Nov. 28, 2008 for U.S. Appl. No. 11/761,210, 11pages.93OA Dated Oct. 30, 2008 for U.S. Appl. No. 11/490,540, 37 pages.94OA Dated Sep. 15, 2008 for U.S. Appl. No. 11/033,974, 17 pages.95OA Dated Sep. 17, 2008 for U.S. Appl. No. 09/894,642, 28 pages.96Oakes, C., "The Truman Show Realized?," http://www.wired.com/news/news/technology/story/15745.html, pp. 1-4 (Accessed Oct. 21, 1998).97Ockerbloom, Mediating Among Diverse Data Formats: Thesis Summary, PhD Thesis, Technical Report CMU-CS-98-102, Department of Computer Sciences, Carnegie Mellon University, Pittsburgh, PA, Jan. 14, 1998, 15 pages.98Ockerman, et al. Wearable Computer for Performance Support: Initial Feasibility Study:, International Symposium in Wearable Computers, Oct. 1997, pp. 10-17.99Papakonstantinou et al., "MedMaker: A Mediatation System Based on Declarative Specification." 1995 http://citeseerx.ist.psu.edu/viewsoc/summary?di=10.1.1.35.735. Last accessed Nov. 25, 2008, 10 pages.100Pascoe, Adding Generic Contextual Capabilities to Wearable Computers, Proceedings of the 2nd International Symposium on Wearable Computers (ISWC '98), Pittsburgh, PA, Oct. 19-20, 1998, 8 pages.101Picard, R., et al., "Affective Wearables," Personal Technologies 1:231-240, MIT Media Laboratory, 1997.102Rekimoto et al., "The World Through the Computer: Computer Augmented Interaction with Real World Environments," ACM, pp. 29-36, Nov. 1995.103Rhodes, B., "The Wearable Remembrance Agent: A System for Augmented Memory," Proceedings of the First International Symposium on Wearable Computers (ISW '97), Cambridge, MA, Oct. 13-14, 1997.104Rhodes, B., "WIMP Interface Considered Fatal," http:/rhodes.www.media.mit.edu/people/rhodes/Papers/no-wimp.html, pp. 1-3 (Accessed Oct. 2, 1998).105Rhodes, Remembrance Agent: A continuously running automated information retrieval system, The Proceedings of The First International Conference on The Practical Application of Intelligent Agents and Multi Agent Technology, 1996, pp. 487-495.106Rhodes, The Wearable Remembrance Agent: A System for Augmented Memory. Personal Technologies Journal Special Issue on Wearable Computing, 1997, 12 pages.107Rogers et al., Outbreak Agent: Intelligent Wearable Technology for Hazardous Environments. IEEE International Conference, Orlando, Florida, Oct. 12-15, 1997, pp. 3198-3203. http://citeseerx.ist.psu.edue/viewdoc/summary?doi+10.1.1.468827. Last accessed Nov. 25, 2008, 6 pages.108Rosis, et al. "Adaptive Interaction with Knowledge-Based System," ACM 1994.109Sato, J., et al., "Autonomous Behavior Control of Virtual Actors Based on the AIR Model," Proceedings Computer Animation, Jun. 5, 1997.110Sawhney, Contextual awareness, messaging and communication in nomadic audio environments, Massachusetts Institute of Technology, Jun. 1998 pp. 80-105, 25 pages.111Schilit et al, Disseminating Active Map Information to Mbile Hosts, IEEE Network, 1994, pp. 22-32, vol. 8-No. 5.112Schilit et al., Context-Aware Computing Applications, In Proceedings of the Workshop on Mobile Computing Systems and Applications, Dec. 1994, pp. 85-90.113Schilit et al., Customizing Mobile Applications, Proceedings USENIX Symposiumon Mobile and Location Independent Computing, Aug. 1993, 9 pages.114Schilit, et al. The ParcTab Mobile Computer System, IEEE WWOS-IV, 1993, 4 pages.115Schilt. A System Architecture for Context-Aware Mobile Computer, Columbia University, 1995, 153 pages.116Schmidt et al., "There's More to Context Than Location: Environment Sensing Technologies for Adaptive Mobile User Interfaces." Nov. 1998.117Schneider, J., et al., "Modeling Wearable Negotiation in an Opportunistic Task Oriented Domain," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.118Smailagic et al., "Matching Interface Design with User Task: Modalities of Interaction with CMU Wearable Computer," IEEE Personal Communications, pp. 14-25, Feb. 1996.119Smailagic, A., et al., "MoCCA: A Mobile Communications and Computer Architecture," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.120Spreitzer et al., "Providing Location Information in a Ubiquitous Computing Environment," Xeriox Palo Alto Research Center, ACM, 1993, pp. 270-283. http://www.computing/staff/kc/Lecturing/MSc/wk10/p270-spreitzer.pdf. Last access Dec. 9, 2008, 14 pages.121Spreitzer et al., Architectural Considerations for Scalable, Secure, Mobile Computing with Location Information, In The 14th International Conference on Distributed Computing Systems, Jun. 1994, pp. 29-38.122Spreitzer et al., Scalable, Secure, Mobile Computingh with Location Information Communications of the ACM, Jul. 1993, 1 page, vol. 36�No. 7.123Starner et al., "Visual Contextual Awareness in Wearable Computing," Proceedings 2nd International Symposium on Wearable Computers (ISWC '98), Oct. 1998, 8 pages.124Starner, Wearable Computing and Contextual Awareness, Massachusetts Institute of Technology, Jun. 1999, 248 pages.125Starovic, An Event Based Object Model for Distributed Programming, Technical Report TCD-CS-95-28, Dept. of Computer Science, Trinity College Dublin, Ireland, 1995, retrieved from http://citeseer.ist.psu.edu/starovic95event.html, 15 pages.126Tan, H., et al., "Tactual Displays for Wearable Computing," IEEE, Massachusetts Institute of Technology Media Laboratory, pp. 84-88, 1997.127Theimer et al., Operating System Issue for PDAs, in Fourt Workshop on Workstation Operating Systems, 1993, 7 pages.128Wachowicz et al., "Combining Location and Data Management in an Environment for Total Mobility." University of Cambridge, England 1996.129Want, Active Badges and Personal Interactive Computing Objects, IEEE Transactions on Consumer Electronics, 1992, 11 pages, vol. 38�No. 1.130Want, et al., The Active Badge Location System, ACM Transactions on Information Systems, Jan. 1992, pp. 91-102, vol. 10�No. 1.131Wardell, "Stardock.net Releases WindowBlinds." Stardock.net, Inc. Oct. 4, 1999. http://stardock.net/media/pr�wb10.html. Last accessed Dec. 9, 2008, 2 pages.132Weiser, Some Computer Science Issues in Ubiquitous Computing, Communications of the ACM, Jul. 1993, pp. 75-84, vol. 36�No. 7.133Weiser, The Computer for the 21st Century, Scientific American, Sep. 1991, 8 pages.134Yang, J., et al., "Smart Sight: A Tourist Assistant System," 3rd International Symposium on Wearable Computers, San Francisco, CA, Oct. 18-19, 1999.135Zenel, et al. "A General Purpose Proxy Filtering Mechanism Applied to the Mobile Environment," Proceedings of the 3rd Annual ACM/IEEE Internatioanl conference on Mobile comptuing and networking, MOBICOM'97. Budapest, Hungary, pp. 248-259. http://portal.acm.org/citation.cfm?id=262153. Last accessed Dec. 9, 2008, 12 pages.Classifications U.S. Classification715/744, 706/61, 709/226, 715/747, 706/45, 715/745, 709/223International ClassificationG06F17/30, G06F3/00, G06F17/00, G06F1/16, G06F3/01, G06F3/042, G06F1/00, G06F15/18, G06F21/00Cooperative ClassificationG06F1/163, G06F3/011, G06F17/30017, G06F3/042, G06F21/00, G06N99/005, G06F3/0481, G06F3/016European ClassificationG06F1/16P5, G06F3/01F, G06F21/00, G06F17/30E, G06F3/042, G06N99/00L, G06F3/01B, G06F3/0481RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google