| |
 |
Dynamically exchanging computer user's context |
| 7610376 |
Dynamically exchanging computer user's context
|
|
| Patent Drawings: | |
| Inventor: |
Abbott, et al. |
| Date Issued: |
October 27, 2009 |
| Application: |
11/567,902 |
| Filed: |
December 7, 2006 |
| Inventors: |
Abbott; Kenneth H. (Kirkland, WA) Newell; Dan (Medina, WA) Robarts; James O. (Redmond, WA) Swapp; Ken (Seattle, WA) Freedman; Joshua (Mercer Island, WA)
|
| Assignee: |
Microsoft Corporation (Redmond, WA) |
| Primary Examiner: |
Vu; Viet |
| Assistant Examiner: |
|
| Attorney Or Agent: |
Wolf, Greenfield & Sacks, P.C. |
| U.S. Class: |
709/224; 709/229; 719/318 |
| Field Of Search: |
709/223; 709/224; 709/225; 709/227; 709/228; 709/229; 719/318 |
| International Class: |
G06F 13/00 |
| U.S Patent Documents: |
|
| Foreign Patent Documents: |
0661627; 0759591; 0801342; 0 823 813; 0924615; 05-260188; 09-091112; 11306002; WO 90/08361; WO95/31773; WO 97/03434; WO97/34388; WO9800787; WO 98/47084; WO 99/17228; WO99/26180; WO99/66394; WO 99/67698 |
| Other References: |
US. Appl. No. 09/724,799, filed Nov. 28, 2000, Abbott et al. cited by other. U.S. Appl. No. 09/724,892, filed Nov. 28, 2000, Abbott et al. cited by other. "`Affective Understanding:` Modeling and Responding to User Affect," retrieved Oct. 2, 1998, from http://www.media.mit.edu/affect/AC.sub.--research/understanding.html, 3 pages. cited by other. "Alps GlidePoint," retrieved Oct. 2, 1998, from http://www.alps.com/p17.html, 1 page. cited by other. "GyroPoint Technology," retrieved Oct. 2, 1998, from http://www.gyration.com/html/gyropoint.html, 3 pages. cited by other. "Haptics," retrieved Oct. 2, 1998, from http://www.ai.mit.edu/projects/handarm-haptics/haptics.html, 2 pages. cited by other. "Research Areas in Affective Computing," retrieved Oct. 2, 1998, from http://www.media.mit.edu/affect/, 1 page. cited by other. "Research on Affective Pattern Recognition and Modeling," retrieved Oct. 2, 1998, from http://www.media.mit.edu/affect/AC.sub.--research/ recognizing.html, 4 pages. cited by other. "Research on Sensing Human Affect," retrieved Oct. 2, 1998, from http://www.media.mit.edu/affect/AC.sub.--research/sensing.html, 5 pages. cited by other. "Smart Rooms," retrieved Oct. 2, 1998, from http://vismod.www.media.mit.edu/vismod/demos/smartroom/, 3 pages. cited by other. "SmartDesk Home Page," retrieved Oct. 2, 1998, from http://vismod.www.media.mit.edu/vismod/demos/smartdesk/, 4 pages. cited by other. "The MIT Wearable Computing Web Page," retrieved Oct. 2, 1998, from http://wearables.www.media.mit.edu/projects/wearables/, 3 pages. cited by other. "Wearable Computer Systems for Affective Computing," retrieved Oct. 2, 1998, from http://www.media.mit.edu/affect/AC.sub.--research/wearables.html, 5 pages. cited by other. Aoki, H., et al., "Realtime Personal Positioning System for a Wearable Computer," Proceedings 3rd International Symposium on Wearable Computer (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 7 pages. cited by other. Bauer, M., et al., "A Collaborative Wearable System with Remote Sensing," Proceedings of the 2nd International Symposium on Wearable Computers (ISWC'98), Oct. 19-20, 1998, Pittsburg, PA, 8 pages. cited by other. Billinghurst, M., et al., "Wearable Devices: New Ways to Manage Information," Computer, 32(1):57-64, Jan. 1999, IEEE Computer Society, 8 pages. cited by other. Bowskill, J., et al., "Wearable Location Mediated Telecommunications; A First Step Towards Contextual Communication," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 8 pages. cited byother. Dey, A., et al., "The Conference Assistant: Combining Context-Awareness with Wearable Computing," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 7 pages. cited by other. Finger, S. et al., "Rapid Design and Manufacture of Wearable Computers," Communications of the ACM, 39(2):63-68, Feb. 1996, 8 pages. cited by other. Golding, A., et al., "Indoor Navigation Using a Diverse Set of Cheap, Wearable Sensors," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 8 pages. cited by other. Hull, R., et al., "Towards Situated Computing," Proceedings 1st International Symposium on Wearable Computers (ISWC'97), Cambridge, MA, Oct. 13-14, 1997, , 8 pages. cited by other. Kirsch, D., "The Sentic Mouse: A Tool for Measuring Emotional Valence," retrieved Oct. 2, 1998, from http://www.media.mit.edu/affect/AC.sub.--research/projects/sentic.sub.--m- ouse.html, 2 pages. cited by other. Kortuem, G., et al., "Context-Aware, Adaptive Wearable Computers as Remote Interfaces to `Intelligent` Environments," Proceedings of the 2nd IEEE International Symposium on Wearable Computers (ISWC'98), Oct. 1998, 8 pages. cited by other. Korteum, G., et al., "When Cyborgs Meet: Building Communities of Cooperating Wearable Agents," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 9 pages. cited by other. Lashkari, Y., et al., "Collaborative Interface Agents," Proceedings of the Twelfth National Conference on Artificial Intelligence (vol. 1). Seattle, Washington, Aug. 1994, 10 pages. cited by other. Lehikoinen, J., et al., "MEX: A Distributed Software Architecture for Wearable Computers," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 6 pages. cited by other. Leonhardi, A., et al., "Virtual Information Towers--A Metaphor for Intuitive, Location-Aware Information Access in a Mobile Environment," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 6pages. cited by other. Lunt, T., et al., "Knowledge-Based Intrusion Detection," Proceedings of the Annual Artificial Intelligence Systems in Government Conference Mar. 27-31, 1989, IEEE Comp. Soc. Press, 1989, pp. 102-107, 6 pages. cited by other. Maes, P., "Agents that Reduce Work and Information Overload," Communications of the ACM, 37(7):30-40, Jul. 1994, 13 pages. cited by other. Mann, S., "`Smart Clothing`: Wearable Multimedia Computing and `Personal Imaging` to Restore the Technological Balance Between People and Their Environments," Proceedings, ACM Multimedia 96, Nov. 18-22, 1996, pp. 163-174, 19 pages. cited by other. Metz, C., "MIT: Wearable PC's, Electronic Ink, and Smart Rooms," PC Magazine, Jun. 9, 1998, pp. 192-193, 2 pages. cited by other. Oakes, C., "The Truman Show Realized?," retrieved Oct. 21, 1998, from http://www.wired.com/news/news/technology/story/15745.html, 4 pages. cited by other. Picard, R., et al., "Affective Wearables," Proceedings 1st International Symposium on Wearable Computers (ISWC'97), Cambridge, MA, Oct. 13-14, 1997, 8 pages. cited by other. Rekimoto, J. et al., "The World Through the Computer: Computer Augmented Interaction with Real World Environments," Symposium on User Interface Software and Technology (IST '95) ACM Press, Nov. 1995, pp. 29-36, 14 pages. cited by other. Rhodes, B., "The Wearable Remembrance Agent: A System for Augmented Memory," Proceedings 1st International Symposium on Wearable Computers (ISWC'97), Cambridge, MA, Oct. 13-14, 1997, 8 pages. cited by other. Rhodes, B., "WIMP Interface Considered Fatal," retrieved Jul. 23, 1998, from http://rhodes.www.media.mit.edu/people/rhodes/Papers/no-wimp.html, 3 pages. cited by other. Sato, J., et al., "Autonomous Behavior Control of Virtual Actors Based on the AIR Model," Proceedings Computer Animation, Jun. 5, 1997, pp. 113-118, 5 pages. cited by other. Schneider, J., et al., "Modeling Wearable Negotiation in an Opportunistic Task Oriented Domain," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 2 pages. cited by other. Smailagic, A., et al., " Matching Interface Design with User Tasks: Modalities of Interaction with CMU Wearable Computers," IEEE Personal Communications, Feb. 1996, pp. 14-25, 12 pages. cited by other. Starner, T., et al., "Visual Contextual Awareness in Wearable Computing," Proceedings 2nd International Symposium on Wearable Computers (ISWC'98), Oct. 1998, 8 pages. cited by other. Tan, H., et al., "Tactual Displays for Wearable Computing," Proceedings 1st International Symposium on Wearable Computers (ISWC'97), Cambridge, MA, Oct. 13-14, 1997, pp. 84-88, 5 pages. cited by other. Yang, J., et al., "Smart Sight: A Tourist Assistant System," Proceedings 3rd International Symposium on Wearable Computers (ISWC'99), San Francisco, CA, Oct. 18-19, 1999, 6 pages. cited by other. Biskup, et al. "Towards Secure Mediation." Oct. 1998. cited by other. Brown, et al. "Using Explicit Requirement and Metrics for Inferface Agent User Model Correction." Autonomous Agents '98. cited by other. Papakonstantinou, et al. "MedMaker: A Mediation System Based on Declarative Specifications." 1995. cited by other. Fickas, et al. Software Organization for Dynamic and Adaptable Wearable Systems. 1997. cited by other. Gabbard, et al. A Taxonomy of Usability Characteristics in Virtual Environments. 1997. cited by other. Gavrilova. An Approach to Mapping of User Model to Corresponding Interface Parameters. 1997. cited by other. Harter, et al. "A Distributed Location System for the Active Office." Nov. 1993. cited by other. International Search Report, Application No. PCT/US01/10599, Nov. 28, 2002, 3 pages. cited by other. Jakobovits. "Integrating Autonomous Heterogeneous Information Sources." University of Washington, Technical Report, UV-CSE-971205, Jul. 15, 1997, 29 pages. cited by other. OA Dated Oct. 30, 2008 for U.S. Appl. No. 11/490,540, 37 pages. cited by other. OA Dated Sep. 15, 2008 for U.S. Appl. No. 11/033,974, 17 pages. cited by other. OA Dated Aug. 14, 2008 for U.S. Appl. No. 10/981,941, 14 pages. cited by other. Rogers, et al. Outbreak Agent: Intelligent Wearable Technology for Hazardous Environments. IEEE International Conference, Orlando, Florida, Oct. 12-15, 1997, pp. 3198-3203. cited by other. Schmidt, et al. "There's More to Context Than Location." Nov. 1998. cited by other. Smailagic, et al. MoCCA: A Mobile Communication and Computing Architecture. Third International Symposium on Wearable Computers, Oct. 18-19, 1999, San Francisco, California. cited by other. Amon, 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. cited by other. Bacon, 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. cited by other. Bier, 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 accessed Dec. 9, 2008, 8 pages. cited by other. Billinghurst, et al., An Evaluation of Wearable Information Spaces, Proceedings of the Virtual Reality Annual International Symposium, 1998, 8 pages. cited by other. Billinghurst. Research Directions in Wearable Computing, University of Washington, May 1998, 48 pages. cited by other. Bishop. "Hard Ware," Jul. 28, 2000, Puget Sound Business Journal, print edition, pp. 1-4. cited by other. "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. cited by other. Brown, et al. "Utility Theory-Based User Models for Intelligent Interface Agents," Proceedings of the Twelfth Canadian Conference on Artificial Intelligence (AI'98), Jun. 1998. cited by other. Budzik, 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. cited by other. Chen, et al., A Survey of Context-Aware Mobile Computing Research, Dartmouth Computer Science Technical Report, 2000, 16 pages. cited by other. """Context-Awareness in Wearable and Ubiquitous Computing."" Future Computing Environments, 1997. GVU Technical Report GIT-GVU-97-11. http://www.cc.gatech.edu/fce/pubs/iswc97/wear.html. Last accessed Dec. 8, 2008, 13 pages." cited by other. "Context Recognition by User Situation Data Analysis (Context)." http://www.cs.helsinki.fi/group/context/. Last accessed Dec. 9, 2008, 7 pages. cited by other. Crabtree, 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. cited by other. D'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 Dec. 9, 2008, 9 pages. cited by other. Doorenbos, et al. "A Scalable Comparison-Shopping Agent for the Worl-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. cited by other. OA dated Jan. 2, 2009 for U.S. Appl. No. 11/559,854, 23 pages. cited by other. Spreitzer, et al. "Providing Location Information in a Ubiquitous Computing Environment," Xerox Palo Alto Research Center, ACM, 1993, pp. 270-283. http://www.comp.lancs.ac.uk/computing/staff/kc/Lecturing/MSc/wk1- 0/p270-spreitzer.pdf. Last accessedDec. 9, 2008, 14 pages. cited by other. Spreitzer, 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. cited by other. Spreitzer et al. Scalable, Secure, Mobile Computing with Location Information, Communications of the ACM, Jul. 1993, 1 page, vol. 36--No. 7. cited by other. Starner. Wearable Computing and Contextual Awareness, Massachusetts Institute of Technology, Jun. 1999, 248 pages. cited by other. T. Joachims, Text categorization with support vector machines: learning with many relevant features, Machine Learning, European Conference on Machine Learning, Apr. 21, 1998, pp. 137-142. cited by other. Theimer, et al. Operating System Issues for PDAs, In Fourth Workshop on Workstation Operating Systems, 1993, 7 pages. cited by other. Wachowicz, et al. "Combining Location and Data Management in an Environment for Total Mobility," University of Cambridge, England, 1996. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.4550. Last accessed Dec. 9, 2008, 12 pages. cited byother. Want, Active Badges and Personal Interactive Computing Objects, IEEE Transactions on Consumer Electronics, 1992, 11 pages, vol. 38--No. 1. cited by other. Want, et al., The Active Badge Location System, ACM Transactions on Information Systems, Jan. 1992, pp. 91-102, vol. 10--No. 1. cited by other. Wardell. "Stardock.net Releases WindowBlinds." Stardock.net, Inc. Oct. 4, 1999. http://www.stardock.net/media/pr.sub.--wb10.html. Last accessed Dec. 9, 2008, 2 pages. cited by other. Weiser. The Computer for the 21st Century, Scientific American, Sep. 1991, 8 pages. cited by other. Weiser. Some Computer Science Issues in Ubiquitous Computing, Communications of the ACM, Jul. 1993, pp. 75-84, vol. 36--No. 7. cited by other. Workshop on Wearable Computing Systems, Aug. 19-21, 1996. cited by other. Zenel, et al. "A General Purpose Proxy Filtering Mechanism Applied to the Mobile Environment," Proceedings of the 3rd annual ACM/IEEE international conference on Mobile computing and networking, MOBICOM'97, Budapest, Hungary, pp. 248-259.http://portal.acm.org/citation.cfm?id=262153. Last accessed Dec. 9, 2008, 12 pages. cited by other. Goh, et al. "Context 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. Lastaccessed Dec. 10, 2008, 25 pages. cited by other. Goodridge. "The Environment Understanding Interface: Detecting and Tracking Human Activity Through Multimedia Sensors." 1995. cited by other. Han, et al. "DBMiner: A System for Mining Knowledge in Large Relational Databases," Proceedings 1996 International Conference on Data Mining and Knowledge Discovery, Portland, OR, Aug. 1996.http://www.cs.ualberta.ca/.about.zaiane/postscript/kdd96.pdf. Last accessed Dec. 9, 2008, 6 pages. cited by other. Harter, et al. "A Distributed Location System for the Active Office." IEEE Network, 1994, pp. 62-70. cited by other. Horvitz, et al., In Pursuit of Effective Handsfree Decision Support: Coupling Bayesian Inference, Speech Understanding, and User Models, 1995, 8 pages. cited by other. Horvitz, et al., Attention-Sensitive Alerting in Computing Systems, Microsoft Research, Aug. 1999. cited by other. "Intelligent User Interface Prompt Level," IBM Technical Disclosure Bulletin, IBM Corp., New York, vol. 35, No. 1A, Jun. 1992, pp. 25-26. cited by other. International Search Report dated Sep. 29, 2003 for PCT Application Serial No. 00/20685, 3 Pages. cited by other. International Search Report PCT/US01/32543, Oct. 27, 2003, 3 pages. cited by other. International Search Report for PCT Application No. PCT/US01/10394, mailed Jun. 13, 2002, 5 pages. cited by other. "LabView User Manual," Jan. 1998 Edition, National Instruments. http://claymore. engineer.gvsu.edu/eod/courses/egr450/media/320999b.pdf. Last accessed Dec. 7, 2008, 514 pages. cited by other. Leonhardt, et al. "Multi-Sensor Location Tracking." Department of Computing, London, UK, Oct. 1998. cited by other. Losee, Jr. Minimizing information overload: the ranking of electronic messages, Journal of Information Science 15, Elsevier Science Publishers B.V., 1989, pp. 179-189. cited by other. Mott, et al. "A Formalism for Context Mediation Based on Feature Logic." Feb. 1998. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.4473. Last accessed Dec. 10, 2008, 11 pages. cited by other. NI. "Attribute Name Evaluation and Its Implementation," School of Computing and Mathematics, Deakin University, Geelong, Victoria, May 16, 1994. http://www.deakin.edu.au/scitech/sit/dsapp/archive/techreport/TR-C9- 4-10.pdf. Last accessed Dec. 9,2008, 32 pages. cited by other. OA Dated Dec. 3, 2008 for U.S. Appl. No. 09/981,320, 40 pages. cited by other. OA Dated Aug. 1, 2008 for U.S. Appl. No. 11/179,822, 17 pages. cited by other. OA Dated Sep. 7, 2008 for U.S. Appl. No. 09/894,642, 28 pages. cited by other. OA Dated Jul. 29, 2008 for U.S. Appl. No. 10/984,511, 28 pages. cited by other. OA Dated Nov. 8, 2008 for U.S. Appl. No. 11/761,210, 11 pages. cited by other. Ockerman, et al. "Wearable Computer for Performance Support Initial Feasibility Study," International Symposium in Wearable Computers, Oct. 1997, pp. 10-17. cited by other. Rhodes, 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. citedby other. Rhodes, The Wearable Remembrance Agent: A System for Augmented Memory, Personal Technologies Journal Special Issue on Wearable Computing, 1997, 12 pages. cited by other. Rosis, et al. "Adaptive Interaction with Knowledge-Based System," ACM 1994. cited by other. Schilt. A System Architecture for Context-Aware Mobile Computing, Columbia University, 1995, 153 pages. cited by other. Schilit, et al., The ParcTab Mobile Computing System, IEEE WWOS-IV, 1993, 4 pages. cited by other. Schilit, et al., Context-Aware Computing Applications, In Proceedings of the Workshop on Mobile Computing Systems and Applications, Dec. 1994. pp. 85-90. cited by other. Schilit, et al., Customizing Mobile Applications, Proceedings USENIX Symposium on Mobile and Location Independent Computing, Aug. 1993, 9 pages. cited by other. Schilit, et al., Disseminating Active Map Information to Mobile Hosts, IEEE Network, 1994, pages 22-32, vol. 8--No. 5. cited by other. |
|
| Abstract: |
Techniques for providing information about a current state modeled with multiple attributes is described. The providing of information can include receiving from a first source an indication of an ability to supply values for one of the state attributes of the modeled current state, and supplying to a client a value for the one attribute received from the first source. After the supplying of the value, the providing can include receiving from a second source a value supplying ability for the one attribute and supplying of a value for the one attribute based on values received for the one attribute from the first and second sources. After the supplying of that value, the providing can include receiving from the first source an indication of a value supplying inability for the one attribute and supplying a value for the one attribute received from the second source. |
| Claim: |
We claim:
1. A method in a computer for providing information about a current state that is modeled with multiple attributes, the method comprising: receiving from a first source a first valuefor a first attribute for the state attributes of the modeled current state; receiving from a second source, different from the first source, a second value for the first attribute of the state attributes of the modeled current state, the second valuebeing different from the first value; determining that first and second values exist for the first attribute; in response to the determining, mediating the first and second values supplied from the first and second source based on the first and secondvalues to derive a mediated value for the first attribute; after mediating the mediated value for the first attribute, supplying to the client the mediated value for the first attribute; after the supplying of the mediated value, receiving from thefirst source an indication of an inability to supply values for the first attribute; and after receiving the indication from the first source, supplying to the client a third value for the first attribute received from the second source.
2. The method of claim 1 wherein the receiving of the first value for the first attribute from the first source includes receiving descriptive information about the first value.
3. The method of claim 2 wherein the descriptive information includes a time at which the first value is most accurate.
4. The method of claim 2 wherein the descriptive information includes a confidence factor indicating a likelihood of accuracy of the first value.
5. The method of claim 2 including supplying the descriptive information about the first value to the client.
6. The method of claim 1 wherein the supplying of the mediated value for the first attribute to the client includes supplying an indication of the source from which the mediated value was received.
7. The method of claim 1 further comprising before supplying the mediated value, receiving an indication from the client for a value of the first attribute including an indication of a desired source for the value, and wherein mediating thefirst and second values includes considering the desired source.
8. The method of claim 1 wherein supplying to the client the third value includes supplying the second value.
9. The method of claim 1 including storing the first and second values so that the stored values can be later supplied to clients.
10. The method of claim 1 wherein the first attribute represents information about a user of the computer.
11. The method of claim 1 wherein the first attribute represents information about the computer.
12. The method of claim 1 wherein the first attribute represents information about a physical environment of a user of the computer.
13. The method of claim 1 wherein the first attribute represents information about a cyber-environment of a user of the computer.
14. The method of claim 1 including: after the supplying of the third value that is received from the second source, receiving from the second source an indication of an inability to supply values for the first attribute; and indicating to theclient that the value of the first attribute is not currently available.
15. The method of claim 1 including, after receiving an indication from the client for a value of a second indicated attribute, supplying to the client a value for the second attribute, the second indicated attribute being different from thefirst attribute.
16. The method of claim 15 wherein the supplied value for the second attribute is received from the first source.
17. The method of claim 1 including, after receiving an indication from a second client for a value of a second attribute, supplying to the second client a supplied value for the second attribute.
18. The method of claim 17 wherein the second attribute is the first attribute, and the supplied value is the mediated value.
19. The method of claim 1 further comprising receiving a first indication from the first source indicating an ability to supply values for the first attribute and receiving a second indication from the second source indicating an ability tosupply values for the first attribute, the received indications from the first and second sources of the ability to supply values for the one attribute are registration messages.
20. The method of claim 19 wherein supplying the mediated value to the client is in response to a first received indication from the client for a value of the first attribute, and supplying the second value to the client is in response to asecond received indication from the client for a value of the first attribute, wherein each of the received indications from the client for the value of the first attribute are requests, and the method further including receiving from the client aregistration message before receiving any of the requests, the registration message indicating an interest of the client in receiving values for the first attribute.
21. The method of claim 1 wherein security information for the first source must be received before any values of the first attribute are received from the first source.
22. The method of claim 1 wherein security information for a client must be received before any values of the first attribute are supplied to the client.
23. The method of claim 19 wherein supplying the mediated value to the client is in response to a first received indication from the client for a value of the first attribute, and supplying the second value to the client is in response to thefirst received indication from the client for a value of the first attribute, the first indication from the client for the value of the first attribute are based on an indication from the client of a desire to receive values for the first attribute thatis received before the receiving of the first, second, and third indications of ability and inability to supply values from the first and second sources, and wherein the supplying of the values to the client is in response to receiving of values for thefirst attribute from the first and second sources.
24. The method of claim 20 including: sending first and second requests to the first or second sources respectively for a value of the first attribute in response to the receiving of the requests from the client; wherein receiving the firstvalue from the first source is in response to the first request; and wherein receiving the second value for the first attribute from the second sources is in response to the second request.
25. The method of claim 1 wherein the first source is at a location remote from the computer, and wherein the indication from the first source of the inability to supply values for the first attribute are based on proximity of the computer tothe location of the first source.
26. The method of claim 1 wherein the first source is software executing on the computer, and wherein the indication from the first source of the inability to supply values for the first attribute are based on availability of input informationto the first source.
27. The method of claim 1 wherein the providing of the information about the modeled current state is performed by an operating system of the computer.
28. The method of claim 1 wherein the providing of the information about the modeled current state is performed by a software module, and including, upon commencement of execution of the software module, commencing execution of multiple sourcesthat are each to supply values for the first attribute.
29. The method of claim 28 wherein the multiple sources that are to be executed are determined based on previous received indications of ability to supply values for the first attribute.
30. The method of claim 1 wherein the first attribute is part of a predefined taxonomy of attributes.
31. The method of claim 1 wherein the state attributes are dynamically defined by sources who indicate an ability to supply values for the defined attributes.
32. The method of claim 1 including receiving from the client an indication of another state attribute and an indication that a source for a value for the indicated another state attribute is to be a same source as for the mediated value forthe first attribute, and selecting a value to be sent to the client for the another state attribute that is received from the same source.
33. The method of claim 1 including receiving from the first source an indication of a group of at least one authorized client, and wherein a value received from the first source is supplied to the client only if the client is one of theauthorized clients.
34. The method of claim 1 wherein the first source includes a group of instructions to be executed to produce a value for the first attribute, and including loading and executing the group of instructions, the loading and executing so that thefirst source can produce the first value.
35. The method of claim 1 wherein receiving of the mediated value by the client prompts the client to present information to a user of the client.
36. A computer-readable memory whose contents cause a computing device to provide information about a current state that is modeled with multiple attributes, by performing a method comprising: receiving from a first source a first value for afirst attribute for the state attributes of the modeled current state; receiving from a second source, different from the first source, a second value for the first attribute of the state attributes of the modeled current state, the second value beingdifferent from the first value; determining that first and second values exist for the first attribute; in response to the determining, mediating the first and second values supplied from the first and second source based on the first and second valuesto derive a mediated value for the first attribute; after mediating the mediated value for the first attribute, supplying to the client the mediated value for the first attribute; after the supplying of the mediated value, receiving from the firstsource an indication of an inability to supply values for the first attribute; and after receiving the indication from the client first source, supplying to the client a third value for the first attribute received from the second source.
37. A computing device for providing information about a current state that is represented with multiple attributes, comprising: a processor the executes computer executable instructions stored in memory to implement the following: an attributemapping module that is capable of receiving from a first source a first value for a first attribute for the state attributes of the modeled current state and a second source, different from the first source, a second value for the first attribute of thestate attributes of the modeled current state, the second value being different from the first value, and that is capable of later determining that first and second values exist for the first attribute; an attribute value receiver module that is capableof receiving values for the first attribute from the first and second sources; a mediator that is capable of mediating the values supplied from the first and second sources to derive a mediated value; and an attribute value supplier module that iscapable of, after mediating the mediated value for the first attribute, and before an indication is received from the second source, supplying to a client a third value for the first attribute received from the first source, after the indications arereceived from the first and second sources, supplying to the client the mediated value for the one attribute based on values received for the one attribute from the first and second source; and after the indication is received from the second source andafter the indication is received from the first source of the inability to supply values for the first attribute, supplying to a client a third value for the first attribute received from the second source.
38. The computing device of claim 37 wherein the attribute mapping module, the attribute value receiver module, and the attribute value supplier module are components of an intermediary module executing in memory, and further comprisingmultiple sources and multiple clients executing in the memory. |
| Description: |
|
|
|
|