Source: http://www.docstoc.com/docs/57410320/Method-System-And-Computer-readable-Medium-For-Communicating-Results-To-A-Data-Query-In-A-Computer-Network---Patent-7558841
Timestamp: 2014-08-21 19:03:37
Document Index: 157394457

Matched Legal Cases: ['art 2', 'Application No. 04002224', 'Application No. 67', 'Application No. 05', 'art 1', 'Application No. 2004', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10']

Method, System, And Computer-readable Medium For Communicating Results To A Data Query In A Computer Network - Patent 7558841
United States Patent: 7558841
7,558,841
Method, system, and computer-readable medium for communicating results to
a data query in a computer network
A method and system are provided for communicating results to a query for
data in a computer network utilizing a graphical user interface. A
framework on a client computer registers the client computer with an
information service provider. Then the framework receives the query for
data from the user interface. The framework creates a query packet
including the query for data. A remote computer in communication with the
framework resident on the local computing device receives the query
packet from the framework and sends a response packet to the framework.
After receiving the response packet, the framework determines whether the
response packet contains a result to the data query. If the response
packet contains a result to the data query, the framework formats the
result for presentation to a user via the user interface on the local
computing device. If the response packet, does not contain a result to
the data query the framework may send a status message, indicating that
no results were returned for the data query, to the user interface. The
data in the query packet and the response packet may be formatted in a
data format such as Extensible Markup Language (&quot;XML&quot;).
Taboada; Roberto C. (Duvall, WA), Bailey; Eric D. (Redmond, WA), Helfrich; James N. (Redmond, WA)
10/438,366
709/219  ; 705/26; 709/217; 709/218; 715/249; 715/700
709/217-219 715/513,523,249,700 370/466-467
Keuleman et al.
7356615
2001/0049676
2002/0087591
2002/0103794
2002/0107735
Lunghran et al.
2003/0030672
Gergie et al.
2003/0050924
2003/0126120
2003/0176995
2003/0182258
2003/0195871
2004/0001099
2004/0162833
2004/0230666
2004/0243575
2004/0268237
2005/0155017
2005/0182617
2005/0278309
2006/0173764
2007/0005702
2007/0073652
2007/0136261
2008/0021886
Wang-Aryattanwanich et al.
2008/0046812
64-0088771
US. Appl. No. 09/939,610, filed Aug. 28, 2001, entitled &quot;System and Method for Transmitting and Retrieving Data Via A Distributed Persistence
Framework.&quot; cited by other
U.S. Appl. No. 09/750,940, filed Dec. 29, 2000, entitled &quot;Pluggable Service Delivery Platform.&quot; cited by other
U.S. Appl. No. 09/840,421, filed Apr. 23, 2001, entitled &quot;XML-Based System and Method for Collaborative Web-Based Design and Verification of System-on-a-Chip.&quot; cited by other
Terveen, Loren, Will Hill and Brian Amento; Constructing, organizing, and visualizing collections of tropically related Web resources; ACM Trans. Comput.-um. Interact. 6, 1 (Mar. 1999) p. 67-94. cited by other
Barrett, Rob, Paul P. Maglio and Daniel C. Kellem: How to personalize the Web; Conference proceedings on human factors in computing systems (1997) p. 75-82. cited by other
Pentland, Alex; Perceptual user interfaces: perceptual intelligence; Commun. ACM 43, 3 (Mar. 2002) p. 35-44. cited by other
Kukich, Karen; Techniques for Automatically Correcting Words in Text; ACM Comput. Surv., 24, 4 (Dec. 1992); pp. 377-439. cited by other
Desmarais, Michel C. and Jiming Liu; Exploring the applications of user-expertise assessment for intelligent interfaces; Proceedings of the conference on human factors in computing systems, (1993) p. 308-313. cited by other
Hartson, H. Rex and Deborah Hix; Human-computer interface development: corcepts and systems for its management; ACM Comput. Surv. 1 (Mar. 1989) p. 5-92. cited by other
Foley, Jim; Integrating computer technology, people technology and application technology; strategies and case studies from Georgia Tech&#39;s Graphics, Visualization and Usability Center, Proceedings of the workshop on advanced visual interfaces,
(1994) p. 34-43. cited by other
Martensson, Bengt, &quot;Thread-Enhanced Spell Front End for GNU Emacs + Detext + Delatex&quot;, http://www.geocrawler.com/archives/3/337/1987/8/0/1871981/, Aug. 20, 1987, 1 page. cited by other
Willisson, Pace, Ispell (1), http://www.rt.com/man/findaffix.l.html, 1983, 15 pp. cited by other
Willisson, Pace, Ispell (1), &quot;User Commands&quot;, http://www.csee.usf.edu/cgi-bin/man-cgi?ispell, 1983, 18 pp. cited by other
Novell GroupWise User&#39;Guide for Windows 16-Bit Version 5.2, Novell, Inc., 1993-1997, pp. 1-231. cited by other
Hewkin, &quot;Smart Tags-the Distributed-Memory Revolution&quot;, IEE Review, Jun. 22, 1989, pp. 203-206. cited by other
IBM Technical Disclosure Bulletin, &quot;National Language Support Enablemetn for Culture-Specific Operations&quot;, Nov. 1, 1993, vol. 36, Issue 11, pp. 629-638. cited by other
Cornell, Paul, &quot;Developing Smart Tag DLLs&quot;, MSDN Library, http://msdn.microsft.com/library/default/asp?url=/library/en-us/dnsmartta- g/html/odc.sub.--smarttags.asp, Apr. 2001, pp. 8. cited by other
Perry, Brad, et al., &quot;Discovering Similar Resources by Content Part-Linking&quot;, Proceedings of the Sixth International Conference on Information and Knowledge Management, published by ACM Press 1997, pp. 317-324. cited by other
Schulz, Charles, &quot;Writing Applications for Uniform Operations on a Mainframe or PC: A Metric Conversion Program&quot;, Lockheed Missles &amp; Space Company, Inc., Sunnyvale, CA, May 1990, pp. 348-361. cited by other
&quot;Using Flyswat&quot;, http://www.flywsat.com/using/html, download date: Sep. 28, 1999, 1 pp. cited by other
&quot;Intelligent Text Processing: Automatic Cross-Referencing&quot;, http://www.syntalex.co.uk/services/acrl.html, download date: Aug. 7, 1999, 3 pp. cited by other
&quot;Integrating with External Systems: iPlanet.RTM. Unified Development Server&quot;, Sun Microsystems, Inc., Ver. 5.0, Aug. 2001, pp. 127-156. cited by other
&quot;The StarOffice.RTM. 6.0 Suite: New Features Guide&quot;, Sun Microsystems, v. 1.1, Jul. 2002, pp. 1-31. cited by other
&quot;Q&amp;A: How `XDocs` Alters the Paradigm for Gathering Business-Critical Information&quot;, http://www.microsoft.com/presspass/2002/oct02/10-09officefamily.mspx, Microsoft Corporation, Oct. 2002-Feb. 2003, pp. 1-4. cited by other
&quot;Microsoft Unveils Visual Studio.NET Enterprise Tools&quot;, Microsoft Corporation, http://microsoft.com/presspass/2001/may01/05-21vseepr.mspx, May 2001, pp. 1-4. cited by other
Mueller, Jennifer M, &quot;Work Smarter with Smart Tags&quot;, Journal of Accounting--Online, vol. 194, No. 5, Nov. 2002, http://www.aicpa.org/pubs/jofa/nov2002/Mueller.htm&amp;gt;, retrieved on Apr. 22, 2005. cited by other
Braganholo V., &quot;Updating Relational Databases Through XML Views&quot;, Technical Report, Sep. 2002, pp. 1-61. cited by other
Fan et al., &quot;FormPlus: A Form Authoring Toolkit&quot;, Proceedings of the Fourteenth Annual Computer Software&#39;and Applications Conference, Oct. 31, 1990-Nov. 2, 1990, pp. 255-260. cited by other
&quot;Being `Smart` with Smart Tags in Office XP&quot;, Create for Mississippi, Aug. 2001, http://www.create.celt.msstate.edu/create/howto/smart.sub.--tags.pd- f, 7 pp. cited by other
World Wide Web Consortium, &quot;Document Object Model (DOM) Level 2 Core Specification, Version 1.0&quot;, http;//www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/DOM2-Core.pdf, Nov. 2000, 107 pp. cited by other
&quot;Word 2002 Add in: measurement Converter Smart Tag&quot;, http://www.microsoft.com/downloads/details.aspx?FamilyID=f67fc42c-5f41-4c- 3f-9d5a-71354471dc32&amp;DisplayLang=en, retrieved on Nov. 9, 2006, 2 pp. cited by other
&quot;Microsoft Measurement Converter Smart Tag--Chinese Version&quot;, http://www.jiyang.gov/cn/laiying/My%20Pictures/%E8%B4%E5%BA%86%E8%BE%89/o- ffice2003/FILES/PFILES/COMMON/MSSHARED/SMARTTAG/CMEASURE/1033/CHMCABT.HTM, retrieved on Nov. 7, 2006, 2 pp.
Anonymous, &quot;Adding Data from Other Sources in PowerPoint 2002,&quot; Jul. 2002, Internet article, XP-002420700, A Professional Approach Series the E-Zine Approach, http;//www.glencoe.com/ps/computered/pas/article.php4?articleId- -437, 8 pgs. cited by
Rice, F.C., &quot;Transform XML&#39;Files with XSLT When Importing into Microsoft Excel 2002,&quot; Jul. 2001, Internet article, XP-002420701, http://msdn2.microsoft.com/en-us/library/aa140055(office,10,d=printer).as- px, 9 pgs. cited by other
Johnson, L., &quot;What&#39;s So Special About Paste Special?&quot;, Jun. 2002, Internet article, XP-002420702, http://pubs.logicalexpressions.com/Pub0009/I.PMArticle.asp?ID=40, 5 pgs. cited by other
Pershikov, V.I., &quot;Explanatory Dictionary in Informatics&quot;, Finances and Statistics, Moscow, 1991 (In Russian with translated sections), 5 pp. cited by other
Lewis et al., &quot;A Sequential Algorithm for Training Text Classifiers&quot;, Spring-Verlag New York, Inc., 1994, pp. 1-10. cited by other
Wei, Ying-bin et al., &quot;A New Technology ColdFusion of realizing Dynamic Webpage&quot;, Computer and Modernization, 2000, 6 pp. (English language translation). cited by other
Doroth, V., &quot;Modern Computer Vocabulary&quot;, St. Petersburg, BHV-Peterburg, 2001, p. 456 (in Russian). cited by other
Stowe, M., &quot;XML in Excel and the Spreadsheet Component&quot;, Microsoft Corporation, Aug. 2001, 6 pp. cited by other
Heinemann, C., &quot;Cross-Reference your XML Data&quot;, Microsoft Corporation, Dec. 7, 1998, 6 pp. cited by other
Obasanjo, D., &quot;XML.sub.--Namespaces and How They Affect Xpath and XSLT&quot;, Microsoft Corporation, May 20, 2002, 19 pp. cited by other
&quot;XML Schema Part 2: Datatypes&quot;, WC3, http://www.w3.org/TR/2001/REC-xmlschema-2-0010502/, May 2, 2001, pp. 1-146. cited by other
U.S. Appl. No. 11/396,937, filed Apr. 3, 2006, entitled &quot;Automatically Adding Proper Names to a Database&quot; Abandoned. cited by other
U.S. Appl. No. 10/179,810, filed Jun. 25, 2002 entitled &quot;Method, System, and Apparatus for Performing Custom Actions on Digital Content&quot;. cited by other
U.S. Official Action dated Jul. 15, 2004 in U.S. Appl. No. 09/903,467. cited by other
U.S. Official Action dated May 5, 2005 in U.S. Appl. No. 09/906,467. cited by other
U.S. Official Action dated Feb. 2, 2006 in U.S. Appl. No. 09/906,467. cited by other
U.S. Official Action dated Jul. 19, 2006 in U.S. Appl. No. 09/906,552. cited by other
U.S. Official Action dated Aug. 18, 2006 in U.S. Appl. No. 09/907,418. cited by other
U.S. Official Action dated Sep. 7, 2006 in U.S. Appl. No. 10/155,680. cited by other
U.S. Official Action dated Sep. 28, 2006 in U.S. Appl. No. 10/608,267. cited by other
U.S. Official Action dated Oct. 5, 2006 in U.S. Appl. No. 09/841,266. cited by other
U.S. Official Action dated Oct. 6, 2006 in U.S. Appl. No. 10/140,544. cited by other
U.S. Official Action dated Oct. 10, 2006 in U.S. Appl. No. 09/841,265. cited by other
U.S. Official Action dated Oct. 19, 2006 in U.S. Appl. No. 09/906,467. cited by other
U.S. Official Action dated Nov. 9, 2006 in U.S. Appl. No. 10/184,298. cited by other
U.S. Official Action dated Nov. 15, 2006 in U.S. Appl. No. 10/179,438. cited by other
U.S. Official Action dated Dec. 26, 2006 in U.S. Appl. No. 10/179,810. cited by other
U.S. Official Action dated Feb. 6, 2007 in U.S. Appl. No. 09/588,411. cited by other
U.S. Official Action dated Feb. 7, 2007 in U.S. Appl. No. 10/179,438. cited by other
U.S. Official Action dated Feb. 21, 2007 in U.S. Appl. No. 10/366,141. cited by other
U.S. Official Action dated Mar. 9, 2007 in U.S. Appl. No. 10/426,446. cited by other
U.S. Official Action dated Mar. 12, 2007 in U.S. Appl. No. 10/141,712. cited by other
U.S. Official Action dated Apr. 10, 2007 in U.S. Appl. No. 09/907,418. cited by other
U.S. Official Action dated May 14, 2007 in U.S. Appl. No. 09/906,552. cited by other
U.S. Official Action dated May 18, 2007 in U.S. Appl. No. 10/155,680. cited by other
U.S. Official Action dated May 30, 2007 in U.S. Appl. No. 09/906,467. cited by other
U.S. Official Action dated Jun. 15, 2007 in U.S. Appl. No. 10/731,899. cited by other
U.S. Official Action dated Jun 28, 2007 in U.S. Appl. No. 09/841,266. cited by other
U.S. Official Action dated Jul. 12, 2007 in U.S. Appl. No. 10/184,298. cited by other
U.S. Official Action dated Jul. 13, 2007 in U.S. Appl. No. 10/154,630. cited by other
U.S. Official Action dated Jul. 20, 2007 in U.S. Appl. No. 09/841,265. cited by other
U.S. Official Action dated Jul. 26, 2007 in U.S. Appl. No. 10/165,960. cited by other
U.S. Official Action dated Aug. 10, 2007 in U.S. Appl. No. 10/179,810. cited by other
U.S. Official Action dated Sep. 27, 2007 in U.S. Appl. No. 10/608,267. cited by other
U.S. Official Action mailed Oct. 9, 2007 in U.S. Appl. No. 10/183,317. cited by other
U.S. Official Action mailed Oct. 16, 2007 in U.S. Appl. No. 09/907,418. cited by other
U.S. Official Action mailed Oct. 17, 2007 in U.S. Appl. No. 10/155,680. cited by other
U.S. Official Action mailed Oct. 19, 2007 in U.S. Appl. No. 10/141,712. cited by other
U.S. Official Action mailed Oct. 19, 2007 in U.S. Appl. No. 09/588,411. cited by other
U.S. Official Action mailed Oct. 19, 2007 in U.S. Appl. No. 10/184,190. cited by other
U.S. Official Action mailed Oct. 30, 2007 in U.S. Appl. No. 09/906,552. cited by other
U.S. Official Action mailed Dec. 7, 2007 in U.S. Appl. No. 10/426,446. cited by other
U.S. Official Action mailed Dec. 18, 2007 in U.S. Appl. No. 10/366,141. cited by other
U.S. Official Action mailed Dec. 26, 2007 in U.S. Appl. No. 10/377,258. cited by other
U.S. Official Action mailed Dec. 26, 2007 in U.S. Appl. No. 09/841,265. cited by other
U.S. Official Action mailed Jan. 7, 2008 in U.S. Appl. No. 10/179,438. cited by other
U.S. Official Action mailed Jan. 9, 2008 in U.S. Appl. No. 09/906,467. cited by other
U.S. Official Action mailed Jan. 25, 2008 in U.S. Appl. No. 10/608,267. cited by other
U.S. Official Action mailed Feb. 8, 2008 in U.S. Appl. No. 10/141,712. cited by other
U.S. Official Action mailed Feb. 15, 2008 in U.S. Appl. No. 10/731,899. cited by other
U.S. Official Action mailed Feb. 20, 2008 in U.S. Appl. No. 10/154,630. cited by other
U.S. Official Action mailed Apr. 1, 2008 in U.S. Appl. No. 09/907,418. cited by other
U.S. Official Action mailed Apr. 4, 2008 in U.S. Appl. No. 10/155,680. cited by other
U.S. Official Action mailed Apr. 29, 2008 in U.S. Appl. No. 09/588,411. cited by other
U.S. Official Action mailed Apr. 29, 2008 in U.S. Appl. No. 10/179,810. cited by other
U.S. Official Action mailed May 1, 2008 in U.S. Appl. No. 10/183,317. cited by other
U.S. Official Action mailed May 27, 2008 in U.S. Appl. 09/906/552. cited by other
U.S. Examiner&#39;s Answer BPA1 mailed Jun. 5, 2008 in U.S. Appl. No. 10/184,298. cited by other
U.S. Official Action mailed Jun. 11, 2008 in U.S. Appl. No. 09/841,265. cited by other
U.S. Official Action mailed Jun. 27, 2008 in U.S. Appl. No. 10/377,258. cited by other
U.S. Official Action mailed Jun. 12, 2008 in U.S. Appl. No. 10/426,446. cited by other
U.S. Official Action mailed Jun. 13, 2008 in U.S. Appl. No. 10/780,376. cited by other
U.S. Official Action mailed Jul. 29, 2008 in U.S. Appl. No. 10/141,712. cited by other
U.S. Official Action mailed Aug. 1, 2008 in U.S. Appl. No. 11/234,968. cited by other
European Communication dated Nov. 9, 2006 in EP 03 01 0292.5-1527. cited by other
European Communication dated Nov. 17, 2006 in EP 03 011 851.7-2211. cited by other
European Communication dated Dec. 11, 2006 in EP 03 012 830.0-2211. cited by other
European Communication dated Feb. 19, 2007 in EP 04 003 683.2-2211. cited by other
European Communication dated Sep. 25, 2007 in EP 03 014 181.6-1243. cited by other
European Examination Report dated Mar. 4, 2008 in EP 02 014 717.9. cited by other
European Examination Report dated Mar. 4, 2008 in EP 03 012 432.5. cited by other
European Communication Summons to Attend Oral Proceedings dated May 7, 2008 in EP 04002224.6. cited by other
European Communication dated Jun. 3, 2008 in EP 03 011 851.7-2211. cited by other
Singapore Examination Report (conducted by Austrian Patent Office) dated Jan. 25, 2008 in SG 200500214-2. cited by other
Malaysian Search Report dated Aug. 2, 2007 in PI 20040265. cited by other
Russian Official Action dated Oct. 11, 2007 in 2003118722. cited by other
Russian Official Action dated Jan. 11, 2008 in 2004105880. cited by other
Russian Official Action dated Mar. 13, 2008 in 2004104096. cited by other
Japanese Official Action dated Oct. 19, 2007 in 2003-128417. cited by other
Japanese Official Action dated Mar. 28, 2008 in 2003-178497. cited by other
Japanese Official Action dated Apr. 18, 2008 in 2003-128417. cited by other
Chinese Official Action dated Dec. 28, 2007 in 200410005390.8. cited by other
Chinese Official Action dated Jan. 4, 2008 in 200510008487.0. cited by other
European Preliminary Opinion dated Aug. 27, 2008 cited in European Application No. 04002224.6-1527 / 1447754. cited by other
Chilean Second Office Action cited in Chilean Application No. 67-2005 (date unknown). cited by other
European Communications Minutes of Oral Proceedings and Decision dated Sep. 15, 2008 in European Application No. 05 000 506.5-1527. cited by other
Koyaku, H., &quot;What is Brought to SQL Server 2000 by XML, Part 1: Function of XML Provided by SQL Server 2000&quot;, Enterprise Servers World, vol. 3, No. 12, IDG Japan, Inc., Dec. 1, 2000, pp. 42-53. cited by other
U.S. Final Office Action dated Sep. 3, 2008 cited in U.S. Appl. No. 11/678,412. cited by other
Office Action for U.S. Appl. No. 10/179,810, dated Dec. 23, 2008. cited by other
Sharon Oviatt et al.; &quot;Integration and Synchronization of Input Modes during Multimodal Human-Computer Interaction,&quot; CHI 97, Atlanta, GA, Mar. 22-27, 1997, pp. 412-422. cited by other
Hara, T., et al.; &quot;Inside Microsoft.NET-Complete Explanation, `What Microsoft Aims For`&quot;; msdn magazine, No. 6, pp. 20-35, ASCII, Japan, Sep. 18, 2000, 19 pp. cited by other
Babylon-Pro, http://web.archive.org/web/20021204203634/www3.babylon.com/display.php?id- =14&amp;tre . . . , Dec. 4, 2002, 4 pages. cited by other
Dong-Guk Shin and Lung-Yung Chu, Establishing Logical Connectivity between Query Keywords and Database Contents, Advances in Artificial Intelligence, 12th Biennial Conference of the Canadian Society for Computational Studies of Intelligence, AI&#39;98,
Vancouver, BC, Canada, Jun. 18-20, 1998, Proceedings, p. 45-59. cited by other
GuruNet Press-Articles, http://web.archive.org/web/20030619163926/gurunet.com/buzz.sub.--articles- .html, Jun. 19, 2003, 5 pages. cited by other
Ho-Chuan Huang, Jon Kerridge, and Shang-Liang Chen, A Query Mediation Approach to Interoperability of Heterogeneous Databases, Australian Computer Science Communications, vol. 22, No. 2, (1999), p. 41-48. cited by other
IEEE 100 The Authoritative Dictionary of IEEE Standards Terms, 2000, IEEE Press, 7th Edition, p. 795. cited by other
InteractiveTran.TM. Interactive Machine Translation, &quot;Interactive Translation and Learning Tool,&quot; Date: Mar. 1, 2007, pp. 1-7, http://www.tranexp.com/win/InteractiveTran.htm. cited by other
Jaap C. Hage, Maarten van der Meulen, and Georges Span, Intelligent Information Retrieval from Multiple Databases, Informatica e Diritto, vol. 2, No. 2, (1993), p. 149-164. cited by other
Michael Halvorson et al., Microsoft Office XP Inside Out, Microsoft Press, 2001, 37 pages. cited by other
Microsoft Press Computer Dictionary, 1997, Microsoft Press, 3rd Edition, p. 355. cited by other
Multilingual Books, &quot;Word Translator for Windows,&quot; Date: Mar. 1, 2007, pp. 1-4, http://www.multilingualbooks.com/wordtranslator.html. cited by other
Online Dictionary Software by Babylon, http://web.archive.org/web/20030122035306/http://www3.babylon.com/, Jan. 22, 2003, 2 pages. cited by other
Premium Content, http://web.archive.org/web/20031202172231/www.babylon.com/display.php?id=- 130&amp;tre, Dec. 2, 2003, 2 pages. cited by other
Susan Gauch, Jianying Wang, and Satya Mahesh Rachakonda - University of Kansas, A Corpus Analysis Approach for Automatic Query Expansion and Its extension to Multiple Databases, ACM Transactions on Information Systems, vol. 17, No. 3, (Jul. 1999),
p. 250-269. cited by other
Systran, &quot;Systran Home Translator 2007 - The World&#39;s Best-Selling Language Translation Software,&quot; Date: 2007, pp. 1-2, www.systransoft.com/download/ProductDatasheets/Systran.Home.Translator.pd- f. cited by other
TwinBridge Software Corporation, &quot;TransWhiz English/Chinese Bi-directional Translation V9.0 Standard,&quot; Date: Mar. 1, 2007, pp. 1-8, http://www.twinbridge.com/detail.aspx?ID=132. cited by other
Why GuruNet, http://web.archive.org/web/20030602200950/http://www.gurunet.com/whygurun- et.html, Jun. 2, 2003, 3 pages. cited by other
Yigal Arens, Chin Y. Chee, Chun-Nan Hsu and Craig A Knoblock, Retrieving and Integrating Data from Multiple Information Sources, International Journal of Intelligent and Cooperative Information Systems, vol. 2, No. 2, (1993), p. 127-158. cited by
U.S. Final Office Action dated Aug. 1, 2008 in U.S. Appl. No. 11/234,968. cited by other
U.S. Final Office Action dated Oct. 19, 2007 cited in U.S. Appl. No. 10/141,712. cited by other
U.S. Office Action dated Feb. 13, 2008 in U.S. Appl. No. 11/678,412. cited by other
U.S. Final Office Action dated Sep. 10, 2007 cited in U.S. Appl. No. 10/179,438. cited by other
U.S. Office Action dated Oct. 29, 2007 in U.S. Appl. No. 11/234,968. cited by other
U.S. Appl. No. 09/818,157, filed Mar. 27, 2001, entitled &quot;Automatically Adding Proper Names to a Database.&quot;. cited by other
U.S. Appl. No. 09/841,265, filed Apr. 24, 2001, entitled &quot;Method and System for Applying Input Mode Bias.&quot;. cited by other
U.S. Appl. No. 09/841,266, filed Apr. 24, 2001, entitled &quot;Method and System for Providing Electronic Commerce Actions Based on Semantically Labeled Strings. &quot;. cited by other
U.S. Appl. No. 09/906,467, filed Jul. 16, 2001, entitled &quot;Application Program Interfaces for Semantically Labeling Strings and Providing Actions Based on Semantically Labeled Strings.&quot;. cited by other
U.S. Appl. No. 09/906,552, filed Jul. 16, 2001, entitled &quot;Method and System for Providing Restricted Actions for Recognized Semantic Categories.&quot;. cited by other
U.S. Appl. No. 09/907,418, filed Jul. 17, 2001, entitled &quot;Method and System for Defining Semantic Categories and Actions.&quot;. cited by other
U.S. Appl. No. 10/140,544, filed May 7, 2002, entitled &quot;Method, System, and Apparatus for Converting Numbers Between Measurement Systems Based Upon Semantically Labeled Strings.&quot;. cited by other
U.S. Appl. No. 10/155,680, filed May 23, 2002, entitled &quot;Method, System, and Apparatus for Converting Currency Values Based Upon Semantically Labeled Strings.&quot;. cited by other
U.S. Appl. No. 10/164,260 filed Jun. 5, 2002, entitled &quot;Mechanism for Downloading Software Components from a Remote Source for Use by a Local Software Application.&quot;. cited by other
U.S. Appl. No. 10/164,960 filed Jun. 6, 2002, entitled &quot;Providing Contextually Sensitive Actions and Help Content in Computer-Generated Documents.&quot;. cited by other
U.S. Appl. No. 10/178,680, filed Jun. 24, 2002, entitled &quot;System and Method for Incorporating Smart Tags in Online Content.&quot;. cited by other
U.S. Appl. No. 10/183,317, filed Jun. 25, 2002, entitled &quot;System and Method for Issuing a Message to a Program&quot;, Inventors: Sawicki et al. cited by other
U.S. Appl. No. 10/184,190 filed Jun. 27, 2002, entitled &quot;System and Method for Providing Namespace Related Information&quot;. cited by other
U.S. Appl. No. 10/184,298, filed Jun. 27, 2002, entitled &quot;Method and System for Associating Actions with Semantic Labels in Electronic Documents.&quot;. cited by other
U.S. Appl. No. 10/366,141 filed Feb. 13, 2003, entitled &quot;Linking Elements of a Document to Corresponding Fields, Queries and/or Procedures in a Database&quot;. cited by other
U.S. Appl. No. 10/608,267 filed Jun. 27,2003, entitled &quot;Leveraging Markup Language Data for Semantically Labeling Text Strings and Data and for Providing Actions Based on Semantically Labeled Text Strings and Data&quot;. cited by other
U.S. Appl. No. 11/924,856 filed Oct. 26, 2007 entitled &quot;Providing Contextually Sensitive Tools and Help Content in Computer-Generated Documents&quot;. cited by other
U.S. Office Action dated Feb. 3, 2009 in U.S. Appl. No. 11/234,968. cited by other
Japanese Official Action dated Mar. 6,2009 cited in Japanese Application No. 2004-042140. cited by other
Shiroiwa, K., &quot;iMac&amp;iBook, Must-see for User, Full of Recommended Setting Methods and Specially Selected Tips, Mastering Mac OS9&quot;, MacPeople, ASCII Corporation, Japan, Dec. 3, 1999, vol. 5, No. 24, p. 50 (in Japanese - no translation yet). cited by
U.S. Final Office Action dated Jan. 22, 2009 cited in Application No. 10/366,141. cited by other
U.S. Final Office Action dated Mar. 4, 2009 cited in Application No. 10/780,376. cited by other
U.S. Office Action dated Feb. 4, 2009 cited in Application No. 10/377,258. cited by other
C. Goldfarb, XML Handbook, 1.sup.st Ed., Pearson Education, Japan, May 10, 1999, pp. 246-254 (no English translation). cited by other
S. Tanaka, &quot;Verifying the XML Schema Definition,&quot; XML Magazine, Shoeisha Co., Ltd., Vol. 10, No. 3, Jul. 1, 2000, pp. 135-155 (no English translation). cited by other
U.S. Office Action dated Apr. 20, 2009 cited in Application No. 10/426,446. cited by other
U.S. Office Action dated Apr. 27, 2009 cited in Application No. 10/154,630. cited by other.
1.  A method of communicating results to a search query for data in a computer network utilizing a graphical user interface resident on a local computing device, the method
comprising: providing a framework in communication with the graphical user interface and the remote computing device operable to translate requests from the graphical user interface in a non-extensible markup language (XML) format to an XML format;
receiving a non-XML search registration query from the graphical user interface to access the remote computing device for conducting search queries to search data associated with the remote computing device for a string of data;  translating the non-XML
search registration query into an XML search registration query packet according to a search registration request schema associated with the XML search registration query packet;  sending the XML search registration query packet to the remote computing
device;  receiving an XML search registration response packet from the remote computing device;  translating the XML search registration response packet into a non-XML search registration response;  sending the non-XML search registration response to the
graphical user interface;  receiving a non-XML search query for data from the graphical user interface;  translating the non-XML search query into an XML search query packet;  sending the XML search query packet to the remote computing device;  receiving
an XML search response packet from the remote computing device;  determining whether the XML search response packet contains at least one search result to the search query;  and translating the at least one search result from the XML search response
packet into a non-XML search response for presentation to a user on the local computing device via the graphical user interface when the search response packet contains the at least one search result to the search query for data.
2.  The method of claim 1, further comprising sending a status message to the user interface when the search response packet does not contain the at least one search result to the search query for data.
3.  The method of claim 2, wherein the status message comprises a notification that no results were returned for the search query for data.
4.  The method of claim 1, further comprising registering the local computing device with a remote computing device in the computer network.
5.  The method of claim 1, wherein formatting the at least one search result for presentation to a user on the local computing device via the user interface comprises transforming the at least one search result into a format for presentation to
the user in the user interface.
6.  The method of claim 1, wherein the local computing device is a client in the computer network.
7.  The method of claim 1, wherein the remote computing device is an information service provider in the computer network.
8.  A computer-readable storage medium including a physical recording medium on which are stored computer-executable instructions for performing the method of claim 1.
9.  The method of claim 1, wherein the search registration request schema is associated with the XML search registration query packet on the local computing device and the remote computing device by the search registration request schema being
at least one of: associated with the XML search query packet both at the local computing device and the remote computing device;  and attached to the XML search query packet upon the local computing device sending the XML search registration query packet
to the remote computing device.
10.  The method of claim 1, wherein registering the local computing device with the remote computing device includes at least one of: a registration URL identifying the remote computing device being provided to be entered into the graphical user
interface of the local computing device to register the local computing device with the remote computing device;  a Simple Object Access Protocol (SOAP) function being implemented on the remote computing device to register the local computing device with
the remote computing device;  and a custom install application being implemented to register the local computing device with the remote computing device.
11.  A system for communicating results to a query for data in a computer network, the system comprising: a processor;  a computer readable storage medium including instructions that describe: a user interface resident on a local computing
device in the computer network for creating the query for data;  and a framework, resident on the local computing device and in communication with the user interface, operative to: receive a search registration request from the user interface to register
for conducting search queries to search data associated with the remote computer for a search string, the query adhering to a non-extensible markup language (XML) format;  translate the non-XML search registration request into an XML search registration
query packet prepare according to an associated registration request schema included in the XML registration query packet;  send the XML search registration query packet to the remote computer;  receive an XML search registration response packet from the
remote computer;  translate the XML search registration response packet into a non-XML search registration response;  send the non-XML search registration response to the user interface;  receive a non-XML query for data from the user interface;
translate the non-XML query into an XML query packet;  send the XML search query packet to the remote computer to search the data associated with the remote computer for the search string;  and receive an XML response packet from the remote computer;
wherein: the framework, after receiving the XML response packet, is operative to determine whether the response packet contains at least one result to the query;  the framework is operative to translate at least one result from the XML response packet
into a non-XML format for presentation to a user via the user interface when the response packet contains the at least one result to the query;  and the framework is operative to send a status message to the user interface when the response packet does
not contain the at least one result to the query.
12.  The system of claim 11, wherein the framework in formatting the at least one result for presentation to a user on the local computing device via the user interface is operative to transform the at least one result into a format for
presentation to the user in the user interface.
13.  The system of claim 12, wherein the format for presentation of the at least one result to the user in the user interface comprises a document.
14.  The system of claim 12, wherein the format for presentation of the at least one result to the user in the user interface comprises a form.
15.  The system of claim 12, wherein the format for presentation of the at least one result to the user in the user interface comprises content.
16.  The system of claim 11, wherein the remote computer is an information service provider in the computer network.
17.  The system of claim 11, wherein the system is operative to register the local computing device with the remote computing device by at least one of: a registration URL identifying the remote computing device being provided to be entered into
the graphical user interface of the local computing device to register the local computing device with the remote computing device;  a Simple Object Access Protocol (SOAP) function being implemented on the remote computing device to register the local
computing device with the remote computing device;  and a custom install application being implemented to register the local computing device with the remote computing device.
18.  A method of communicating results to a query for data in a computer network utilizing a graphical user interface resident on a local computing device, the method comprising: receiving a request in a non-extensible markup language (XML)
format for registering the local computing device with a remote computing device in the computer network utilizing the user interface;  wherein the request is a request to register for searching data associated with the remote computing device for search
strings;  translating the request into an XML format request packet and causing the translated request to be transmitted to the remote computing device to register the local computing device with the remote computing device by one of: a registration URL
identifying the remote computing device being provided to be entered into the graphical user interface of the local computing device to register the local computing device with the remote computing device;  a Simple Object Access Protocol (SOAP) function
being implemented on the remote computing device to register the local computing device with the remote computing device;  and a custom install application being implemented to register the local computing device with the remote computing device;  upon
receiving a response packet from the remote computing device, receiving the query for data from the user interface, the query adhering to a non-XML format;  translating the received query from the non-XML format to an XML query packet format;  sending
the query packet to the remote computing device;  receiving an XML response packet from the remote computing device;  determining whether the response packet contains at least one result to the query;  translating the at least one result in response
packet into the non-XML format for presentation to a user on the local computing device via the user interface when the response packet contains the at least one result to the query;  and sending a status message to the user interface when the response
packet does not contain the at least one result to the query.
19.  The method of claim 18, wherein translating the request into an XML format request packet is performed according to a registration request schema associated with the XML registration query packet on the local computing device and the remote
20.  The method of claim 19, wherein the registration request schema is associated with the XML registration query packet by transmitting the registration request schema with the XML registration query packet to the remote computing device.
The present invention relates generally to the communication of results to a query for data in a computer network.  More particularly, the present invention relates to formatting a query for data utilizing a standard data format and communicating
the results to the query in a format for presentation to a user in a graphical user interface in a computer network.
Historically, computer systems and databases have contained data in incompatible formats.  As the organizations utilizing these systems and databases became more automated and computerized, the need to share data over computer networks, such as
the Internet, became more and more prevalent.  Due to this need, standard formats for the sharing of data were developed.
One such standard format developed is Extensible Markup Language (&quot;XML&quot;).  XML is a very hierarchical data format, which includes a multitude of data structures having parent-child relationships.  Due to the advent of this standard data format,
many computer users have converted the aforementioned databases to the standard XML data format.  The XML format also allows computer users to tailor their data to specific documents using schemas.  Schemas provide mechanisms to define and describe the
structure, content, and to some extent semantics of XML documents.  For example, a financial services company may have its own schema defining the structure and content its XML documents.
With the ease of availability of the personal computer, many users are utilizing computer networks to access research and reference information.  For example, personal computer users may utilize a computer network to access financial information
such as stock quotes or information typically found in reference books such as a dictionary or thesaurus by typing in a query into the computer.  Currently, accessing such information is a multi-step process.  For example, a user wishing to insert
financial information in a word processing document would open a browser, retrieve the desired information, and copy and paste that information directly into the document.  Furthermore, often these users find it desirable to receive results to a query
for information in a &quot;rich&quot; data format for presentation to the user via a graphical user interface.  For example, the results of a financial information query may include a graph showing changes in the price of a stock over the last thirty days.
However, computer networks communicating using XML are unable to present &quot;rich&quot; data, as XML is a data exchange format.
In accordance with the present invention, the above and other problems are solved by a method and apparatus for formatting a query for data utilizing a standard data format and communicating the results to the query in a format for presentation
to a user in a graphical user interface in a computer network.
In accordance with one aspect of the present invention, a method is provided for communicating results to a query for data in a computer network utilizing a graphical user interface resident on a client computer in the computer network.  First,
the query for data is received from the user interface.  A graphical user interface on the client computer is utilized to generate the query.  Then, a query packet is created containing the query for data.  The query packet is created in accordance with
a data format.  Next, the query packet is sent to a remote computing device in the computer network.  The remote computing device may be an information service provider.  Next, a response packet adhering to the data format is received from the remote
computing device.  Then a determination is made as to whether the response packet contains a result to the data query.  If the response packet contains a result to the data query the result is formatted for presentation to a user via the user interface
on the local computing device.  If the response packet does not contain a result to the data query, a status message indicating that no results were returned for the data query may be sent to the user interface.  The data format utilized in the query and
response packets may be Extensible Markup Language (&quot;XML&quot;).
Prior to sending the query packet, the local computing device may be registered with the remote computing device in the computer network.  To register the local computing device, a registration request is received from the user interface.  Then a
registration request packet containing the request is created in XML.  Finally, the registration packet is sent to the remote computing device and a registration response packet containing a response to the registration request is received from the
In accordance with another aspect of the present invention, a system is provided for communicating results to a query for data in a computer network.  The system includes user interface resident on a local computing device in the computer network
for creating the query for data.  The system further includes a framework, resident on the local computing device and in communication with the user interface.  The framework is operative to receive the query for data from the user interface and create a
query packet containing the query for data.  The query packet is created in accordance with a data format which may be XML.  The system further includes a remote computer in communication with the framework resident on the local computing device.  The
remote computer is operative to receive the query packet from the framework and send a response packet to the framework.  The response packet is created in accordance with a data format which may be XML.  After receiving the response packet, the
framework determines whether the response packet contains a result to the data query.  If the response packet contains a result to the data query, the framework formats the result for presentation to a user via the user interface on the local computing
device.  The format for presentation of the result to the user in the user interface may include presenting the result as a document, content, or in a form.  If the response packet, does not contain a result to the data query the framework may send a
status message, indicating that no results were returned for the data query, to the user interface.
The framework may also be operative to receive a registration request from the user interface, create a registration request packet, send the registration request packet to the remote computing device, and receive a registration response packet
from the remote computing device to register the local computing device with the remote computing device.  The registration response packet contains a response to the registration request.  The registration request packet and the registration response
packet may be formatted in XML.
FIG. 2 shows an illustrative computing arrangement which may be utilized by the application program for communicating data from the personal computer system to the Information Service Provider in the computer network illustrated in FIG. 1
The present invention is directed to a method and apparatus for formatting a query for data utilizing a standard data format and communicating the results to the query in a format for presentation to a user in a graphical user interface in a
computer network.  In one embodiment, the present invention is incorporated into the &quot;OFFICE&quot; suite of application programs that is marketed by Microsoft Corporation of Redmond Wash.
numerals represent like elements through the several figures, aspects of the present invention and the illustrative operating environment will be described.
FIG. 1 illustrates an example of a suitable computing environment 10 in which the present invention may be implemented.  The computing system 10 is only one example of a suitable computing environment and is not intended to suggest any limitation
as to the scope of use or functionality of the invention.  Neither should the computing environment 10 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the illustrative operating
The present invention is operational with numerous other general purpose or special purpose computing system environments or configurations.  Examples of well known computing systems, environments, and/or configurations that may be suitable for
use with the invention include, but are not limited to, personal computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.  The invention
may also be practiced in distributed computing environments where tasks are performed by remote processing devices.
Those skilled in the art will recognize that the invention may be implemented in combination with various other program modules (not shown).  Generally, program modules include routines, programs, components, data structures, etc., that perform
particular tasks or implement particular abstract data types.  Moreover, those skilled in the art will appreciate that the invention may be practiced with computer system configurations other than the one shown, that are linked through a communications
Referring now to FIG. 1, an illustrative operating environment 10 for implementing the invention includes a conventional personal computer system 20, including a processing unit 21, a system memory 22, and a system bus 23 that couples the system
memory to the processing unit 21.  The system memory 22 includes read only memory (ROM) 24 and random access memory (RAM) 25.  A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within
the personal computer system 20, such as during start-up, is stored in ROM 24.  The personal computer system 20 further includes a hard disk drive 27, a magnetic disk drive 28, e.g., to read from or write to a removable disk 29, and an optical disk drive
30, e.g., for reading a CD-ROM disk 31 or to read from or write to other optical media.  The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive
interface 33, and an optical drive interface 34, respectively.  The drives and their associated computer-readable media provide nonvolatile storage for the personal computer system 20.  Although the description of computer-readable media above refers to
a hard disk, a removable magnetic disk and a CD-ROM disk, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli
A number of program modules may be stored in the drives and RAM 25, including an operating system 35, application program 36 (which may include word processor and spreadsheet programs), other program modules 37, and program data 38.  A user may
enter commands and information into the personal computer system 20 through a keyboard 40 and pointing device, such as a mouse 42.  Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like.  These
other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48.  In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers or printers. It should be understood that the application program 36 may utilize a graphical user interface (&quot;GUI&quot;) allowing a user to input commands and information as well as display information to the user via the monitor 47.
The personal computer system 20 may operate in a networked environment using logical connections to a remote computer, such as an Information Service Provider 60.  The remote computer may be a server, a router, a peer device or other common
network node, and typically includes many or all of the elements described relative to the personal computer system 20, although only a memory storage device 50 has been illustrated as being associated with the Information Service Provider 60 in FIG. 1.
The logical connections depicted in FIG. 1 include a local area network (LAN) 51 and a wide area network (WAN) 52.  Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
When used in a LAN networking environment, the personal computer system 20 is connected to the LAN 51 through a network interface 53.  When used in a WAN networking environment, the personal computer system 20 typically includes a modem 54 or
other means for establishing communications over the WAN 52, such as the Internet.  The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46.  In a networked environment, program modules depicted
relative to the personal computer system 20, or portions thereof, may be stored in the remote memory storage device.  By way of example, and not limitation, FIG. 1 illustrates a remote application program 85 residing on the memory storage device 50.  It
will be appreciated that the network connections shown are illustrative and other means of establishing a communications link between the computers may be used.  It will further be appreciated that the invention could equivalently be implemented on host
or server computer systems other than personal computer systems.  The Information Service Provider 60 may, for example, contain research and reference information for providing results to data queries made from the application programs 36.
FIG. 2 shows an illustrative computing arrangement 200 which may be utilized by the application program 36 for communicating data from the personal computer system 20 to the Information Service Provider 60 in the computer network illustrated in
FIG. 1 above.  As briefly described above, the application program 36 includes a user interface 48 for allowing a user to input commands as well as receive information for display to a user on the personal computer system 20.  As shown in FIG. 2, the
user interface is utilized to register the personal computer system 20 with the Information Service Provider 60 by sending a registration request 208 and receiving a registration response 206.  The user interface 48 is further utilized to send a query
204 to the Information Service Provider 60 and display a response 202 from the Information Service Provider 60 to the query 204.  The registration request 208 and the query 204 are communicated from the user interface 48 to the Information Service
Provider 60 through a framework 49.  Similarly, the registration response 206 and the response 202 are communicated from the Information Service Provider 60 to the user interface 48 through the framework 49.
The framework 49 is a software component that executes in the application program 36 residing in the personal computer system 20.  The framework 49 formats the registration request 208 in a registration packet 205 and formats the query 204 in a
query packet 215 for transmission to the Information Service Provider 60.  The framework 49 also receives a registration response packet 210 and a query packet 205 from the Information Service Provider 60.
According to one embodiment of the present invention, the data in the packets 205, 210, 215, and 220 are formatted in Extensible Markup Language (&quot;XML&quot;).  As is understood by those skilled in the art, XML is a standard format for communicating
data.  In the XML data format, a schema is used to provide XML data with a set of grammatical and data type rules governing the types and structure of data that may be communicated.  For example, the data in the query packet 215 may have an attached or
associated schema such as &quot;search.query.xsd&quot; for providing an allowable set of XML elements such as a &amp;lt;query&amp;gt; element, &amp;lt;format&amp;gt; element, &amp;lt;context&amp;gt; element, and so on.  The schema includes the rules governing the order with which those
elements may be applied to the query data and specific rules associated with individual elements applied to the query data.  For example, a schema attached or associated with the query packet 215 data may prescribe that data associated with a given
element, for example a &amp;lt;query&amp;gt; element, must include a &amp;lt;context&amp;gt; element and a &amp;lt;query text&amp;gt; element.
After the registration response packet 210 and the query packet 205 have been received by the framework 49, the framework 49 implements code for transforming the packet data from XML to a format for display in the user interface 48 of the
personal computer system 20.  It will be understood by those skilled in the art that as a data exchange formal, XML does not natively support the visual presentation of data unlike other languages such as Hypertext Markup Language (&quot;HTML&quot;).  As a result,
XML data must be &quot;transformed&quot; into a layout for presentation to a user.  One technique for transforming XML data is through the use of Extensible Stylesheet Language (XSL) which includes a formatting language.  For example, using XSL, an XML document
may be formatted into a well-formed HTML file.  It should be understood that the present invention is not limited to presenting XML data in HTML and that other techniques may also be utilized to render XML data.  Such techniques will be understood by
All users of documents annotated with XML structure according to a given schema may utilize the data contained within the XML structure without regard to the overall type and structure of the data.  For example, if the query packet, described
above, is transmitted to Information Service Provider 60, the provider may develop software applications for parsing the query packet to locate specific keywords within the query packet for use by the provider to find results to the query.  Using the
schema, the provider will know that the data associated with the XML elements have been prepared according to the schema governing the data.  Accordingly, the provider may develop a software application or a file such as an Extensible Stylesheet Language
Transformation (XSLT) file, for locating query packet elements and for extracting the data associated therewith.
As understood by those familiar with the Extensible Markup Language, XML namespaces provide a method for qualifying elements and attribute names used in XML documents by associating those elements and attribute names with namespaces identified by
uniform resources identifier (URI) references.  An XML namespace is a collection of names, identified by a URI reference which are used in XML data files as element types and attribute names.  A single XML data file may contain elements and attributes
FIGS. 3-4 illustrate logical operations for registering a computer system with an information service provider, generating a query, and presenting results to the query in the computing environment described in FIGS. 1-2 above, in accordance with
various embodiments of the present invention.  The logical operations of the various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as
operations making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules.  It will be recognized by one skilled in the art that these operations, structural devices, acts
and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims attached hereto.
Referring now to FIG. 3, the logical operations 300 begin at operation 305 where a user inputs a registration request via the user interface 48 which is then received by the framework 49 in the personal computer system 20.  At operation 310, the
framework 49 formats the registration request as XML and creates the registration request packet 205 including the registration request for transmission to the Information Service Provider 60.  The framework 49 formats the registration request according
to a registration request schema (i.e., &quot;Search.Registration.Request&quot;) which may be attached to or associated with the registration request in the packet.  The Information Service Provider 60 will then use the registration request schema to properly read
and interpret the registration request.  The contents of an illustrative registration request packet formatted according to a schema is shown below in Table 1.
TABLE-US-00001 TABLE 1 Illustrative registration request packet &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&amp;gt; &amp;lt;RegistrationRequest revision=&quot;1&quot; xmlns=&quot;urn:Microsoft.Search.Registration.Request&quot;&amp;gt; &amp;lt;SupportedFormats&amp;gt; &amp;lt;Format
revision=&quot;1&quot;&amp;gt;urn:Microsoft.Search.Response.Document: Document&amp;lt;/Format&amp;gt; &amp;lt;Format revision=&quot;1&quot;&amp;gt;urn:Microsoft.Search.Response.Content: Content&amp;lt;/Format&amp;gt; &amp;lt;Format revision=&quot;1&quot;&amp;gt;urn:Microsoft.Search.Response.Form: Form&amp;lt;/Format&amp;gt;
&amp;lt;/SupportedFormats&amp;gt; &amp;lt;SystemInformation&amp;gt; &amp;lt;SkuLanguage&amp;gt;en-us&amp;lt;/SkuLanguage&amp;gt; &amp;lt;LanguagePack&amp;gt;en-us&amp;lt;/LanguagePack&amp;gt; &amp;lt;LanguagePack&amp;gt;de-de&amp;lt;/LanguagePack&amp;gt; &amp;lt;LanguagePack&amp;gt;ja-jp&amp;lt;/LanguagePack&amp;gt;
&amp;lt;InterfaceLanguage&amp;gt;en-us&amp;lt;/InterfaceLanguage&amp;gt; &amp;lt;Location&amp;gt;US&amp;lt;/Location&amp;gt; &amp;lt;/SystemInformation&amp;gt; &amp;lt;/RegistrationRequest&amp;gt;
As shown in Table 1, the registration request packet includes a namespace specifying that the registration request adheres to the &quot;Microsoft.Search.Registration.Request&quot; schema.  The packet also includes namespaces specifying the format of
supported search responses (i.e., the search response may include a document, content, or a form).
Returning now to FIG. 3 the logical operations 300 continue from operation 310 to operation 315 where the framework 49 sends the registration request packet 205 over the network interface 53 to the Information Service Provider 60 which processes
the registration request and creates the registration response packet 210 according to a registration response schema.  The registration response schema may include, for example, a URI identifying the Information Service Provider 60.  From operation 315,
the logical operations continue at operation 320 where the Information Service Provider 60 transmits the registration response packet 210 over the network interface 53 to the framework 49 which then uses information contained within the registration
response packet 210 to register the personal computer system 20 with the Information Service Provider 60 at operation 325.  The actual registration may be accomplished by creating registry entries in the application 36 for the service provider.
According to one embodiment of the present invention, a user may register the personal computer 20 with the Information Service Provider 60 using a URL.  In this embodiment, users are provided with the URL of an information service provider which
is entered into the user interface 48 to register the service provider.  Those skilled in the art will appreciate that a Simple Object Access Protocol (SOAP) function may be utilized at the service provider to register the user&#39;s computer.  In an
alternative embodiment of the present invention, a custom install application may be used to register the personal computer 20.
In some computing environments, it may be advantageous for the user to have access to multiple information services without having to individually register with each service.  For example, a user writing a report about his company in a word
processing application, may need access to a reference service to access articles written about the company as well as to a stock information service to access data about the company&#39;s stock performance.  To this end, in an alternative embodiment of the
invention, the application program 36 may be configured to communicate with a &quot;discovery&quot; server to facilitate the deployment of multiple information services to the user.
In this embodiment, the discovery server contains a directory listing multiple service providers.  A user may be provided with a URL to the discovery server which is sent by the framework 49 to the discovery server in the registration request
packet 205.  After receiving the registration request packet 205, the discovery server sends a list of available information service providers in the registration response packet 210 to the framework 49.  The registration response packet 210 may include
a pointer or URL for each information service provider in the list.  The framework 49 may then use the information contained within the registration response packet 210 to automatically register the personal computer system 20 with the available
information service providers.  Alternatively, the framework 49 may format the list of service providers for presentation in the user interface 48 thus enabling the user to choose which services to register.  In this example, the user interface 48 may
display a description of the services provided by each service provider in the list.  As discussed above, the registration of the service providers may be accomplished by creating registry entries in the application 36 for each provider.
Referring now to FIG. 4, the logical operations 400 begin at operation 405 where a user inputs a data query (i.e., a string) via the user interface 48 which is then received by the framework 49 in the personal computer system 20.  At operation
410, the framework 49 formats the query as XML and creates the query packet 215 including the query for transmission to the Information Service Provider 60.  The framework 49 formats the query according to a query schema (i.e., &quot;Search.Query&quot;) which may
be attached to or associated with the query in the packet 215.  The Information Service Provider 60 will then process the query in the query packet 215.  In one embodiment, a SOAP function in the service provider may be used to process each query
received from the framework 49.  The framework 49 in creating the query packet 215 calls the SOAP function and passes in a string comprised of XML data adhering to the query schema.  The contents of an illustrative query packet formatted according to a
query schema are shown below in Table 2.
TABLE-US-00002 TABLE 2 Illustrative query packet &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&amp;gt; &amp;lt;QueryPacket xmlns=&quot;urn:Microsoft.Search.Query&quot; revision=&quot;1&quot; build=&quot;(11.0.4916)&quot;&amp;gt; &amp;lt;Query domain=&quot;{2E8E1D19-A67C-4F2D-AC71-126CBC8E25CE}&quot;&amp;gt;
&amp;lt;QueryId&amp;gt;{45BFF740-FF31-475A-90D8- 9C61A449A595}&amp;lt;/QueryId&amp;gt; &amp;lt;OriginatorId&amp;gt;{349EAD21-80B8-432f-8721- 6801FB3E8785}&amp;lt;/OriginatorId&amp;gt; &amp;lt;SupportedFormats&amp;gt; &amp;lt;Format revision=&quot;1&quot;&amp;gt;urn:Microsoft.Search.Response.Document:
Document&amp;lt;/Format&amp;gt; &amp;lt;Format revision=&quot;1&quot;&amp;gt;urn:Microsoft.Search.Response.Content: Content&amp;lt;/Format&amp;gt; &amp;lt;Format revision=&quot;1&quot;&amp;gt;urn:Microsoft.Search.Response.Form:Form &amp;lt;/Format&amp;gt; &amp;lt;/SupportedFormats&amp;gt; &amp;lt;Context&amp;gt; &amp;lt;QueryText
type=&quot;STRING&quot; language=&quot;en- us&quot;&amp;gt;spy&amp;lt;/QueryText&amp;gt; &amp;lt;LanguagePreference&amp;gt;en-us&amp;lt;/LanguagePreference&amp;gt; &amp;lt;Requery/&amp;gt; &amp;lt;/Context&amp;gt; &amp;lt;Range id=&quot;result&quot; /&amp;gt; &amp;lt;OfficeContext xmlns=&quot;urn:Microsoft.Search.Query.Office.Context&quot;
revision=&quot;1&quot;&amp;gt; &amp;lt;UserPreferences&amp;gt; &amp;lt;ParentalControl&amp;gt;false&amp;lt;/ParentalControl&amp;gt; &amp;lt;/UserPreferences&amp;gt; &amp;lt;ServiceData /&amp;gt; &amp;lt;ApplicationContext&amp;gt; &amp;lt;Name&amp;gt;Microsoft Word&amp;lt;/Name&amp;gt; &amp;lt;Version&amp;gt;(11.0.4916)&amp;lt;/Version&amp;gt;
&amp;lt;/ApplicationContext&amp;gt; &amp;lt;QueryLanguage&amp;gt;en-us&amp;lt;/QueryLanguage&amp;gt; &amp;lt;KeyboardLanguage&amp;gt;en-us&amp;lt;/KeyboardLanguage&amp;gt; &amp;lt;/OfficeContext&amp;gt; &amp;lt;Keywords xmlns=&quot;urn:Microsoft.Search.Query.Office.Keywords&quot; revision=&quot;1&quot;&amp;gt;
&amp;lt;QueryText&amp;gt;spy&amp;lt;/QueryText&amp;gt; &amp;lt;Keyword&amp;gt; &amp;lt;Word&amp;gt;spy&amp;lt;/Word&amp;gt; &amp;lt;StemWord&amp;gt;spy&amp;lt;/StemWord&amp;gt; &amp;lt;StemWord&amp;gt;spy&#39;s&amp;lt;/StemWord&amp;gt; &amp;lt;StemWord&amp;gt;spies&amp;lt;/StemWord&amp;gt; &amp;lt;StemWord&amp;gt;spies&#39;&amp;lt;/StemWord&amp;gt;
&amp;lt;StemWord&amp;gt;spying&amp;lt;/StemWord&amp;gt; &amp;lt;StemWord&amp;gt;spied&amp;lt;/StemWord&amp;gt; &amp;lt;/Keyword&amp;gt; &amp;lt;/Keywords&amp;gt; &amp;lt;/Query&amp;gt; &amp;lt;/QueryPacket&amp;gt;
As shown in Table 2, the query packet 215 includes a query for the word &quot;spy&quot; and declares a namespace specifying that the packet adheres to the &quot;Microsoft.Search.Query&quot; schema.  The packet also declares the namespaces it supports within the
&amp;lt;SupportedFormats&amp;gt; element.  Thus, the response that corresponds to the query must contain only elements in the supported namespaces.  In one embodiment of the present invention, the query packet 215 may declare additional namespaces representing
embedded schemas which augment or refine the query in the query packet 215.  For example, the query packet 215 may include a Keywords schema for listing keywords describing the original query string.  The keywords may represent various components of the
query string such as spelling alternatives and word variants to make the query more flexible.  For example, as shown in Table 2 above, the query packet 215 lists the keywords &quot;spy&#39;s,&quot; &quot;spies,&quot; &quot;spies&#39;,&quot; &quot;spying,&quot; and &quot;spied&quot; for the original query string
&quot;spy.&quot; The Information Service Provider 60 performs a search on the original query string as well as the list of keywords.  In other embodiments of the present invention the query packet 215 may include a Context schema for providing context information
that may be used by the Information Service Provider 60 to better handle the query.  For example, the Context schema may include a &amp;lt;ParentalControl&amp;gt; element for filtering content returned for the query by the Information Service Provider 60.
Returning now to FIG. 4 the logical operations 400 continue from operation 410 to operation 415 where the framework 49 sends the query packet 215 over the network interface 53 to the Information Service Provider 60 which processes the query and
creates the response packet 220 according to a response schema.  The Information Service Provider 60 returns a response for every query in the query packet 215 in the response packet 220.  It should be understood that a query packet may contain multiple
queries if, for example, a particular service provider offers different domains or services which are registered with a client computer via the registration process.
The logical operations 400 continue from operation 415 to operation 420 where the framework 49 receives the response packet 220 over the network interface 53 from the Information Service Provider 60.  At operation 425, the framework 49 receives
the determines whether the results packet 220 contains at least one result to the data query.  This determination may be made by the application program 36 parsing the XML data in the response packet for a string associated with an XML element indicating
the status of the query.  For example, the XML data in the response packet may include a &amp;lt;Status&amp;gt; element having a value of &quot;SUCCESS&quot; if the response packet includes at least one result to the query or a value indicating that the query was
unsuccessful (such as an error message) if the response packet does not include a result to the query.
The application program 36 may include a parser (not shown) for parsing the XML data.  It will be appreciated that the functionality of the parser may be implemented by a Document Object Model (&quot;DOM&quot;) parser in conjunction with a Simple API for
XML (&quot;SAX&quot;) parser.  As is known to those skilled in the art, DOM parsers are tree-based parsers which load an entire XML file into memory and SAX parsers are event-based parsers capable of reading XML nodes (elements or attributes) sequentially, one at
a time.  An example of a DOM parser is MSXML DOM provided by Microsoft Corporation of Redmond, Wash.  In one embodiment of the invention, the DOM parser may be used to receive the XML data and the SAX parser is used to read each node.
If at operation 425 the framework 49 determines that no results were returned in the response packet 220 (e.g., the &amp;lt;Status&amp;gt; element indicates that the query was unsuccessful), then the framework 49 sends a status message indicating the at
the search was unsuccessful to the user interface 48 at operation 430.  If, on the other hand, at operation 425 the framework 49 determines that there is at least one result returned for the query (e.g., the &amp;lt;Status&amp;gt; element indicates that the
query was a success) then the framework 49 formats each returned result for consumption by the user interface 48 for presentation to the user at operation 435.  As discussed above in the discussion of FIG. 2, the XML data containing the results may be
formatted for consumption by the user interface 48 by utilizing XSL to transform the XML in to HTML for presentation to a user.
FIGS. 5A-5C show illustrative screenshots of the user interface 48 which is utilized for entering a query and displaying results from the Information Service Provider 60 as discussed in detail in FIGS. 1-4 and Tables 1-2, above.  As shown in FIG.
5A, the screenshot includes a query box 505 for entering the query &quot;spy&quot; and a service provider box 510 identifying the service provider as IBuySpy.com Product Information.  As discussed above, the user may be register a client computer with the service
provider by entering a URL which is then sent to the service provider in a registration request packet by the framework 49.  The service provider then returns a registration response packet to the framework 49 to register the service with the client
The results box 515 shows a result to the query which has been formatted for display in the user interface 48 by the framework 49.  As shown in FIG. 5A, the result to the query is an advertisement for &quot;Bullet Proof Facial Tissue.&quot; The &quot;Product
Details&quot; link 520, when selected by a user, produces another query to the Information Service Provider 60 the results of which are sent to the user interface 48 through the framework 49 and displayed in a table format as shown in box 530 in FIG. 5B.
Similarly, the &quot;Advanced Product Search&quot; link 535, when selected by a user, produces yet another query to the Information Service Provider 60 the results of which are sent to the user interface 48 through the framework 49 and displayed as a form as shown
in box 540 in FIG. 5C.  As described above, the registration request and query schemas may declare namespaces defining the format in which the results to a query from the Information Service Provider 60 may take.  Thus, as shown in FIGS. 5A-5C above, the
results to a query may be presented as a document, content, or in a form.
It should be understood that the above descriptions of the elements for the schemas utilized by the registration request packet 205, the registration response packet 210, the query packet 215, and the response packet 220 are illustrative only and
are not intended to suggest any limitation as to the scope of use or functionality of the invention.  It will be appreciated by those skilled in the art that the above-described schemas may define other elements and/or attributes in addition to those
specifically discussed above.
In view of the foregoing, it will be appreciated that the present invention provides a method and apparatus for formatting a query for data utilizing a standard data format such as XML, and communicating the results to the query in a format for
presentation to a user in a graphical user interface in a computer network.  While the invention has been particularly shown and described with reference to illustrative embodiments thereof, it will be understood by those skilled in the art that various
other changes in the form and details may be made therein without departing from the spirit and scope of the invention.
Method, system, and computer-readable medium for communicating results to a data query in a computer network, Taboada, et al., Roberto C. Taboada, Eric D. Bailey, James N. Helfrich, Application number 10 438-366, Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Data Processing:Financial Business Practice Management Or Cost Price Determination, Data Processing: Presentation Processing Of Document, the user, user interface, Patent Search, Microsoft Corporation
The present invention relates generally to the communication of results to a query for data in a computer network. More particularly, the present invention relates to formatting a query for data utilizing a standard data format and communicatingthe results to the query in a format for presentation to a user in a graphical user interface in a computer network.BACKGROUND OF THE INVENTIONHistorically, computer systems and databases have contained data in incompatible formats. As the organizations utilizing these systems and databases became more automated and computerized, the need to share data over computer networks, such asthe Internet, became more and more prevalent. Due to this need, standard formats for the sharing of data were developed.One such standard format developed is Extensible Markup Language ("XML"). XML is a very hierarchical data format, which includes a multitude of data structures having parent-child relationships. Due to the advent of this standard data format,many computer users have converted the aforementioned databases to the standard XML data format. The XML format also allows computer users to tailor their data to specific documents using schemas. Schemas provide mechanisms to define and describe thestructure, content, and to some extent semantics of XML documents. For example, a financial services company may have its own schema defining the structure and content its XML documents.With the ease of availability of the personal computer, many users are utilizing computer networks to access research and reference information. For example, personal computer users may utilize a computer network to access financial informationsuch as stock quotes or information typically found in reference books such as a dictionary or thesaurus by typing in a query into the computer. Currently, accessing such information is a multi-step process. For example, a user wishing to insertfinancial information in a word processing document would open a browse