Source: http://www.google.com/patents/US7464153?dq=ininventor:oliver+ininventor:steele
Timestamp: 2014-07-13 11:56:28
Document Index: 445278904

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

Patent US7464153 - Generating and supplying user context data - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign in<nobr>Advanced Patent Search</nobr>PatentsTechniques are described for providing information about a context that is modeled with multiple context attributes. In some situations, at least some of the context attributes have values used by modules for generating values of other context attributes, and the providing includes determining that a...http://www.google.com/patents/US7464153?utm_source=gb-gplus-sharePatent US7464153 - Generating and supplying user context dataAdvanced Patent SearchPublication numberUS7464153 B1Publication typeGrantApplication numberUS 09/724,799Publication dateDec 9, 2008Filing dateNov 28, 2000Priority dateApr 2, 2000Fee statusPaidAlso published asUS8346724, US20090150535Publication number09724799, 724799, US 7464153 B1, US 7464153B1, US-B1-7464153, US7464153 B1, US7464153B1InventorsKenneth H. Abbott, Joshua M. Freedman, Dan Newell, James O. RobartsOriginal AssigneeMicrosoft CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (45), Non-Patent Citations (48), Referenced by (2), Classifications (28), Legal Events (2) External Links: USPTO, USPTO Assignment, EspacenetGenerating and supplying user context dataUS 7464153 B1Abstract Techniques are described for providing information about a context that is modeled with multiple context attributes. In some situations, at least some of the context attributes have values used by modules for generating values of other context attributes, and the providing includes determining that a first module is generating a first value of a first of the context attributes of the modeled context and determining that a circular reference exists when it is determined that a module is to generate another value of the first context attribute such that the generating of the another value is caused by the generating of the first value of the first context attribute.
CROSS REFERENCE TO RELATED APPLICATIONS This application claims the benefit of provisional U.S. Patent Application No. 60/194,760, entitled �GENERATING AND SUPPLYING USER 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.
Context servers supply values for attributes by receiving and processing input information from sensors or other sources. Attribute values provided by a context server may either be �measured� (or �observed�) in that they are directly received from an input source, or may instead be �derived� in that they are the result of performing processing on one or more measured attribute values. Indeed, a derived attribute value may be produced by performing additional processing on one or more other derived attribute values. Context attributes (or �condition variables�) are discussed in greater detail in both U.S. patent application Ser. No. 09/216,193, filed Dec. 18, 1998 and entitled �METHOD AND SYSTEM FOR CONTROLLING PRESENTATION OF INFORMATION TO A USER BASED ON THE USER'S CONDITION� U.S. Pat. No. 6,466,232, and provisional U.S. Patent Application No. 60/193,999, filed Apr. 2, 2000 and entitled �OBTAINING AND USING CONTEXTUAL DATA FOR SELECTED TASKS OR SCENARIOS, SUCH AS FOR A WEARABLE PERSONAL COMPUTER,� which are both hereby incorporated by reference.
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,� now abandoned 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 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�, U.S. Pat. No. 6,513,046 and U.S. patent application Ser. No. 09/541,326, filed Apr. 2, 2000 and entitled �LOGGING AND ANALYZING COMPUTER USER'S DATA,� now abandoned 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.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4916441Sep 19, 1988Apr 10, 1990Clinicom IncorporatedPortable handheld terminalUS5032083Dec 8, 1989Jul 16, 1991Augmentech, Inc.Computerized vocational task guidance systemUS5201034Mar 24, 1992Apr 6, 1993Hitachi Ltd.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 unitUS5335276Dec 16, 1992Aug 2, 1994Texas Instruments IncorporatedCommunication system and methods for enhanced information transferUS5416730Nov 19, 1993May 16, 1995Appcon Technologies, Inc.Arm mounted computerUS5470233Mar 17, 1994Nov 28, 1995Arkenstone, Inc.System and method for tracking a pedestrianUS5493692Dec 3, 1993Feb 20, 1996Xerox CorporationSelective delivery of electronic messages in a multiple computer system based on context and environment 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 deviceUS5555376Dec 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 informationUS5566337 *May 13, 1994Oct 15, 1996Apple Computer, Inc.Method and apparatus for distributing events in an operating systemUS5568645Jul 5, 1994Oct 22, 1996Norand CorporationVersatile RF data capture systemUS5601435Nov 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 gameUS5719744Aug 29, 1996Feb 17, 1998Xybernaut CorporationTorso-worn computer without a monitorUS5726660Dec 1, 1995Mar 10, 1998Purdy; Peter K.Personal data collection and reporting systemUS5751260Apr 3, 1995May 12, 1998The United States Of America As Represented By The Secretary Of The NavySensory integrated data interfaceUS5781913Jun 18, 1996Jul 14, 1998Felsenstein; LeeFor displaying predetermined digitized dataUS5790974Apr 29, 1996Aug 4, 1998Sun Microsystems, Inc.Portable calendaring device having perceptual agent managing calendar entriesUS5798733Jan 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 CorporationComputer implemented methodUS5873070Oct 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 formatsUS5902347Mar 27, 1997May 11, 1999American Navigation Systems, Inc.Hand-held GPS-mapping deviceUS5910799Apr 9, 1996Jun 8, 1999International Business Machines CorporationFor a portable data processorUS5938721Oct 24, 1996Aug 17, 1999Trimble Navigation LimitedComputer assisted methodUS5948041Jan 30, 1997Sep 7, 1999Denso CorporationInformation service device having simple data retrieval capabilitiesUS5959611Oct 31, 1997Sep 28, 1999Carnegie Mellon UniversityPortable computer system with ergonomic input deviceUS5991687Jul 2, 1997Nov 23, 1999Case CorporationSystem and method for communicating information related to a geographical areaUS6014638May 29, 1996Jan 11, 2000America Online, Inc.System for customizing computer displays in accordance with user preferencesUS6047301May 24, 1996Apr 4, 2000International Business Machines CorporationWearable computerUS6064943Feb 20, 1998May 16, 2000Clark, Jr.; Louis GeorgeComputer network for collecting and analyzing agronomic dataUS6108197Aug 24, 1998Aug 22, 2000Via, Inc.Flexible wearable computerUS6127990Jan 21, 1999Oct 3, 2000Vega Vista, Inc.Wearable display and methods for controlling sameEP0823813A2Mar 23, 1995Feb 11, 1998Kopin CorporationPortable communication deviceJPH0991112A Title not availableJPH05260188A Title not availableWO1990008361A1Jan 9, 1990Jul 26, 1990Scott & Fetzer CoApparatus and method for controlling and monitoring the exercise session for remotely located patientsWO1997003434A1Jul 12, 1996Jan 30, 1997Virtual I O IncUltra portable computer* Cited by examinerNon-Patent CitationsReference1"'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"Alps GlidePoint," http://www.alps.com/p17.html, p. 1 [Accessed Oct. 2, 1998].3"GyroPoint Technology," http://www.gyration.com/html/gyropoint.html, pp. 1-3 [Accessed Oct. 2, 1998].4"Haptics," http://www.ai.mit.edu/projects/handarm-haptics/haptics.html, pp. 1-2 [Accessed Oct. 2, 1998].5"Research Areas in Affective Computing," http://www.media.mit.edu/affect/, p. 1 [Accessed Oct. 2, 1998].6"Research on Affective Pattern Recognition and Modeling," http://www.media.mit.edu/affect/AC-research/recognizing.html, pp. 1-4 [Accessed Oct. 2, 1998].7"Research on Sensing Human Affect," http://www.media.mit.edu/affect/AC-research/sensing.html, pp. 1-5 [Accessed Oct. 2, 1998].8"Smart Rooms," http://vismod.www.media.mit.edu/vismod/demos/smartroom/, pp. 1-3 [Accessed 2 Oct. 1998].9"SmartDesk Home Page," http://vismod.www.media.mit.edu/vismod/demos/smartdesk/, pp. 1-4 [Accessed Oct. 2, 1998].10"The MIT Wearable Computing Web Page," http://wearables.www.media.mit.edu/projects/wearables/, pp. 1-3 [Accessed Oct. 2, 1998].11"Wearable Computer Systems for Affective Computing," http://www.media.mit.edu/affect/AC-research/wearables.html, pp. 1-5 [Accessed Oct. 2, 1998].12Aoki, Hisashi et al., "Realtime Personal Positioning System for a Wearable Computer," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.13Bauer et al., "A Collaborative Wearable System with Remote Sensing," University of Oregon, Feb. 1996.14Billinghurst, Mark and Thad Starner, "Wearable Devices, New Ways to Manage Information," IEEE, pp. 57-64, Jan. 1999.15Bowskill, J. et al., "Wearable Location Mediated Telecommunications; A First Step Towards Contextual Communication, 3rd International Symposium on Wearable Computers," San Francisco, California, Oct. 18-19, 1999.16Dey, Anind K. et al., "The Conference Assistant: Combining Context-Awareness with Wearable Computing," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.17Finger et al., "Rapid Design and Manufacture of Wearable Computers," Communication of the ACM, vol. 39, No. 2, Feb. 1996, pp. 63-68.18Golding, Andrew and Neal Lesh, "Indoor Navigation Using a Diverse Set of Cheap, Wearable Sensors," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.19Hull et al., "Towards Situated Computing," Hewlett-Packard Laboratories, HPL-97-66 (1997).20Kirsch, Dana, "The Sentic Mouse: A tool for measuring emotional valence," http://www.media.mit.edu/affect/AC-research/projects/sentic-mouse.html, pp. 1-2 [Accessed Oct. 2, 1998].21Kortuern et al., "Context-Aware, Adaptive Wearable Computers as Remote Interfaces to 'Intelligent' Environments," University of Oregon, Oct. 1998.22Kortuern, Gerd, "When Cyborgs Meet: Building Communities of Cooperating Wearable Agents, 3rd International Symposium on Wearable Computers," San Francisco, California, Oct. 18-19, 1999.23Lashkari, Yezdi et al., "Collaborative Interface Agents," Proceedings of AAAI '94 Conference, Seattle, Washington, Aug. 1994.24Lehikoinen, Juha et al., "MEX: A Distributed Software Architecture for Wearable Computers," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.25Leonhardi, Alexander 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, California, Oct. 18-19, 1999.26Lunt, Teresa F. 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.27Maes, Pattie, "Agents That Reduce Work and Information Overload," Communications of the ACM, vol. 37, No. 7, Jul. 1994.28Mann, Steve, "'Smart Clothing': Wearable Multimedia Computing and 'Personal Imaging' to Restore the Technological Balance Between People and Their Environments", ACM Multimedia, Nov. 1996, pp. 163-174.29Metz, Cade, "MIT: Wearable PCs, Electronic Ink, and Smart Rooms," PC Magazine, pp. 192-193, Jun. 1998.30Oakes, Chris, "The Truman Show Realized?," http://www.wired.com/news/news/technology/story/15745.html, pp. 1-4 [Accessed Oct. 21, 1998].31Picard, R.W. and Healey, J., "Affective Wearables," Personal Technologies vol. I: 231-240, MIT Media Laboratory (1997).32Rekimoto et al., "The World through the Computer: Computer Augmented Interaction with Real World Environments," ACM, Nov. 1995, pp. 29-36.33Rhodes, Bradley, "WIMP Interface Considered Fatal," http://rhodes.www.media.mit.edu/people/rhodes/Papers/no-wimp.html, pp. 1-3 [Accessed Oct. 2, 1998].34Rhodes, Bradley, J. "The Wearable Remembrance Agent: A System for Augmented Memory," Proceedings of the First International Symposium on Wearable Computers (ISWC '97), Cambridge, MA, Oct. 13-14, 1997.35Sato, J. et al., "Autonomous Behavior Control of Virtual Actors Based on the Air Model," Proceedings Computer Animation, Jun. 5, 1997.36Schneider, Jay and Jim Suruda, "Modeling Wearable Negotiation in an Opportunistic Task Oriented Domain," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.37Smailagic et al., "Matching interface design with user task: Modalities of Interaction with CMU Wearable Computers," IEEE Personal Communications, Feb. 1996, pp. 14-25.38Smailagic, Asim et al., "MoCCA: A Mobile Communication and Computing Architecture," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.39Starner et al., "Visual Contextual Awareness in Wearable Computing," Media Lab, MIT, Oct. 1998.40Tan, Hong Z. and Alex Pentland, "Tactual Displays for Wearable Computing," IEEE, Massachusetts Institute of Technology Media Laboratory, pp. 84-88, 1997.41U.S. Appl. No. 09/724,777, filed Nov. 28, 2000, Abbott et al.42U.S. Appl. No. 09/724,804, filed Nov. 28, 2000, Abbott et al.43U.S. Appl. No. 09/724,892, filed Nov. 28, 2000, Abbott et al.44U.S. Appl. No. 09/724,893, filed Nov. 28, 2000, Abbott et al.45U.S. Appl. No. 09/724,902, filed Nov. 28, 2000, Abbott et al.46U.S. Appl. No. 09/724,932, filed Nov. 28, 2000, Abbott et al.47U.S. Appl. No. 09/724,949, filed Nov. 28, 2000, Abbott et al.48Yang, Jie et al., "Smart Sight: A Tourist Assistant System," 3rd International Symposium on Wearable Computers, San Francisco, California, Oct. 18-19, 1999.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8516001Jun 24, 2008Aug 20, 2013Microsoft CorporationContext platformUS8626774 *Jan 23, 2012Jan 7, 2014Qualcomm Innovation Center, Inc.Location based apps ranking for mobile wireless computing and communicating devices* Cited by examinerClassifications U.S. Classification709/224, 709/211, 709/203International ClassificationG06F21/00, G06F15/173, G06F1/00, G06F17/30, G06F3/01, G06F3/00, G06F1/16, G06F3/042, G06F15/18Cooperative ClassificationG06F3/011, G06F3/042, G06F17/30017, G06F3/016, G06F1/163, G06F21/00, G06N99/005, G06F3/0481European ClassificationG06N99/00L, G06F21/00, G06F3/0481, G06F17/30E, G06F1/16P5, G06F3/042, G06F3/01B, G06F3/01FLegal EventsDateCodeEventDescriptionMay 9, 2012FPAYFee paymentYear of fee payment: 4May 9, 2007ASAssignmentOwner name: MICROSOFT CORPORATION, WASHINGTONFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TANGIS CORPORATION;REEL/FRAME:019265/0368Effective date: 20070306Owner name: MICROSOFT CORPORATION,WASHINGTONFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TANGIS CORPORATION;US-ASSIGNMENT DATABASE UPDATED:20100330;REEL/FRAME:19265/368Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TANGIS CORPORATION;REEL/FRAME:19265/368RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google