Source: http://www.google.com/patents/US6999963?dq=7395252
Timestamp: 2017-05-28 02:27:18
Document Index: 690735479

Matched Legal Cases: ['§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4', '§ 4']

Patent US6999963 - Methods, apparatus, and data structures for annotating a database design ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsAn authoring tool (or process) to facilitate the performance of an annotation function and an indexing function. The annotation function may generate informational annotations and word annotations to a database design schema (e.g., an entity-relationship diagram or “ERD”). The indexing function may...http://www.google.com/patents/US6999963?utm_source=gb-gplus-sharePatent US6999963 - Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotationsAdvanced Patent SearchTry the new Google Patents, with machine-classified Google Scholar results, and Japanese and South Korean patents.Publication numberUS6999963 B1Publication typeGrantApplication numberUS 09/563,900Publication dateFeb 14, 2006Filing dateMay 3, 2000Priority dateMay 3, 2000Fee statusLapsedAlso published asUS7512609, US7640254, US20050256888, US20050256889Publication number09563900, 563900, US 6999963 B1, US 6999963B1, US-B1-6999963, US6999963 B1, US6999963B1InventorsChristopher Clayton McConnellOriginal AssigneeMicrosoft CorporationExport CitationBiBTeX, EndNote, RefManPatent Citations (14), Non-Patent Citations (4), Referenced by (65), Classifications (25), Legal Events (6) External Links: USPTO, USPTO Assignment, EspacenetMethods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
US 6999963 B1Abstract
Two examples of code, pseudo-code, and/or data structure definition are included on recordable compact discs as computer program listing appendices. Specifically, on each of a Copy 1 (labeled “09563900.C1”) and a Copy 2 (labeled “09563900.C2”) recordable compact disc. an Appendix A “563900AA.txt” and an Appendix B “563900AB.txt” are stored. The Appendix A file “563900AA.txt” is 17 KB, and the Appendix B file “563900AB.txt” is 34 KB. Both files were created for the noted recordable compact discs on Mar. 31, 2003, and stored thereon on Apr. 2, 2003. The materials of these two files, “563900AA.txt” and “563900AB.txt”, are hereby incorporated by reference in their entirety herein.
Again in the context of the Internet for example, some services provide “search engines” which search databased content or “web sites” pursuant to a user query. In response to a user's query, a rank ordered list, which includes brief descriptions of the uncovered content, as well as a hypertext links (text, having associated Internet address information, which, when activated, commands a computer to retrieve content from the associated Internet address) to the uncovered content is returned. The rank ordering of the list is typically based on a match between words appearing in the query and words appearing in the content. Unfortunately, however, present limitations of search heuristics often cause irrelevant content to be returned in response to a query. Again, unfortunately, wealth of available content impairs the efficacy of these search engines since it is difficult to separate irrelevant content from relevant content.
A form-based query interface may be used to ensure that queries are entered in canonical (i.e., unambiguous form. A “query-by-example” interface is a more powerful form-based query interface. With a query-by-example database interface, a user can combine an arbitrary number of forms, where each form reflects the structure of a database table (or relation).
Having briefly described relational databases and associated terminology, an exemplary database design scheme is briefly discussed. Entity relation diagrams (or “ERDs”) provide a semantic model of data in a database and are often used in database design. Semantic modeling permits a database to (i) respond more intelligently to user interactions, and (ii) support more sophisticated user interfaces. ERDs were introduced in the paper, Peter Pin-Shan Chen, “The Entity Relationship Model-Toward a Unified View of Data,” International Conference on Very Large Data Bases, Framingham, Mass., (Sep. 22–24, 1975), reprinted in Readings in Database Systems, Second Edition, pp. 741–754, edited by in Michael Stonebraker, Morgan Kaufmann Publishers, Inc., San Francisco, Calif. (1994) (hereafter referred to as “the Chen paper”).
“table” will be used to refer to a “relation” in the relational database vernacular; “row” will be used to refer to a “tuple” in the relational database vernacular; “column” will be used to refer to an “attribute” in the relational database vernacular; “entity” is to be interpreted in the ERD sense; “property” or “attribute” will correspond to “attribute” in the ERD sense; and “relationship” is to be interpreted in the ERD sense. Having reviewed relational databases and semantic database design information (e.g., ERDs), a system of the present invention will now be described with reference to FIG. 4. The database design schema (e.g., an ERD) 420 is provided to an annotation authoring process 440. A design schema, such as that disclosed in U.S. patent application Ser. No. 09/325,166, entitled “METHODS, APPARATUS AND DATA STRUCTURES FOR PROVIDING A UNIFORM REPRESENTATION OF VARIOUS TYPES OF INFORMATION”, filed on Jun. 3, 1999 and listing Edward Jung (incorporated herein by reference) may be used. The annotation authoring process (or more generally, an annotating facility) 440 uses automated annotation rules 442 and/or user annotations received from a user interface process (or more generally, a user interface) 430 to generate annotations to the database design schema (e.g., ERD) 420. An indexing process (or more generally, an indexing facility) 445 analyzes the words of the annotations, using a dictionary and a concordance 446, to enhance the understanding of natural language queries. The indexing process 445 produces indexed annotations 460. Other, non-indexed annotations 460′, such as probabilities and/or entities 462′ associated with tables, rows, and/or columns, may also be generated by the annotation authoring process 440. However, these annotations 460′ are not indexed. Each of the annotations may include a word 462 and an associated table, row, column, and/or expression 464. Both the annotation authoring process 440 and the indexing process 445 (collectively referred to as “a database authoring process” or “authoring tool”) are described in § 4.3 below.
Next, as shown in step 1030, automatic word annotations are automatically generated from the database 410 in accordance with the automated annotation rules 442. More specifically, information contained in columns/rows may be used to automatically annotate those columns/rows. For example, in a table having a column with movie names, each row may be labeled with a movie name. Processing then continues via return node 1040 § 4.3.2.2 Exemplary Structure/Methodology of the Indexing Process
The words of each annotation to be indexed are then provided with normalized weights as shown in step 1120. FIG. 11B is a flow diagram of an exemplary process 1120′ for providing normalized weights (e.g., between 0.00 and 1.00) to words of an annotation. First, as shown in step 1130, it is determined whether the annotation contains any words classified as “unique”. If, as shown in steps 1132 and 1134, there is more than one “unique” word in the annotation, each of the “unique” words is assigned a normalized weight of 0.75 divided by the number of “unique” words in the annotation. If, on the other hand, as shown in steps 1132 and 1136, there is only one “unique” word in the annotation, that word is assigned a normalized weight of 0.50. The process continues at step 1140 in which the remaining weight (i.e., 1.00 if there are no unique words in the annotation, 0.50 if there is one unique word in the annotation, and 0.25 if there is more than one unique word in the annotation) is apportioned to the remaining words of the annotation. For example, each “class” word gets 1 share of the remaining weight, each “stop” word gets 1 share of the remaining weight, each “common” (or normal) word gets 2 shares of the remaining weight, each “frequent” word gets 3 shares of the remaining weight, each “infrequent” word gets 4 shares of the remaining weight, each “rare” word gets 5 shares of the remaining weight, and each “proper” word also gets 5 shares of the remaining weight. Thus, the weight of a (non-unique) word may be expressed as: weight ( word ) = remaining weight * share ( word ) ∑ for all non - unique words share ( word ) where share ( word ) = 1 if “ class ” or “ stop ” , = 2 if “ common ” , = 3 if “ frrequent ” , = 4 if “ infrequent ” , and = 5 if “ rare ” or “ proper ” . Finally, step 1150 limits the normalized weight assigned to stop, class, and common (or normal) words to 0.10. Processing continues via return node 1160. Referring back to FIG. 11A, once the normalized weights are determined for words of descriptions, processing continues via return node 1125.
§ 4.3.3 Operations of the Authoring Tool
§ 4.3.3.1 Exemplary Operation of the Annotation/Authoring Process
%% Restaurant table(restaurant, “Restaurant”, restaurantID). column(restaurantID, restaurant, “RestaurantID”, restaurant). column(restaurantPID, restaurant, “PriceRatingID”, price). column(restaurantQID, restaurant, “RestaurantRatingID”, quality). column(restaurantRID, restaurant, “ReservationPolicyID”, reservation). column(specialty, restaurant, “SpecialtyEntreeText”, string). column(delivery, restaurant, “DeliveryRegionText”, string). restaurantID <=> personPlaceID. %%% PriceRating table(price, “PriceRating”, priceID). root(price). column(priceID, price, “PriceRatingID”, price). column(priceName, price, “Description”, string). desc(price, [price, priceName(_)]). priceID <==restaurantPID. In the first table, the first line “%% Restaurant” is merely a comment line. The second line:
column(restaurantID, restaurant, “RestaurantID”, restaurant). column(restaurantPID, restaurant, “PriceRatingID”, price). column(restaurantQID, restaurant, “RestaurantRatingID”, quality). column(restaurantRID, restaurant, “ReservationPolicyID”, reservation). column(specialty, restaurant, “SpecialtyEntreeText”, string). column(delivery, restaurant, “DeliveryRegionText”, string).
relates the priceID primary key of the Price table (shown as PriceRating table 1404) to the restaurantID primary key of the Restaurant table 1402. More specifically, the <==in the line denotes an “has an attribute” (or simply “HAS A”) relationship. That is, the Price table 1404 is an attribute of the Restaurant table 1402 (and the restaurant table 1402 has a Price table 1404 attribute). Referring to FIG. 14, this relationship is depicted by line 1410 between Restaurant table 1402 and PriceRating table 1404. As described in more detail below, this price table 1404 is a property, not an entity.
§ 4.3.3.2 Operation of the Indexing Process
An entity variable that is an element of some pattern P is denoted by T(X), where T is the entity type name and X is a symbol that is unique in P. Similarly a relation that is an element of P is denoted by T(X, S, D), where T is the relation type name, X is a symbol that is unique in P, S is the symbol for the source entity and D is the symbol for the destination entity. When a symbol is not significant, it may be denoted as ‘_’.
FIG. 19 is a high level flow diagram of an exemplary method 1845′/1850′/1855′/1860′ for effecting the foregoing acts. For each pair of patterns in the selected stated, a number of acts are performed as shown within loop 1905–1955. First, as shown in block 1910, for the given pair of patterns of the selected state, actions (for combining) the patterns and the associated costs of such actions are determined. Actions for combining patterns may include a “unify entity” action described in § 4.4.2.3.1.1.1 below, a “unify relationship” action described in § 4.4.2.3.1.1.2 below, and a “join” (or link) pattern objects action described in § 4.4.2.3.1.1.3 below. As will be described in more detail below, in one exemplary embodiment, the cost for a unify entity or unify relation action is zero, and the cost of a join (or link) pattern objects action is based on the cost of relationships (e.g., a cost of 2 for each relationship) and entities (e.g., a cost of 1 for each entity) added to the pattern.
Referring to loop 1920–1950, for each of the remaining (un-pruned) actions, a number of acts are performed. As shown in block 1925, for each remaining action, a new state having the combined selected patterns is created. Then, as shown in block 1925, a definitive (or known) cost component of an estimated cost associated with the newly created state is updated. More specifically, the definitive (or known) cost may be defined as the definitive costs of the parent plus the cost of the action. If the action was a join (or link) pattern objects, the cost of the action can ignore costs of entities and relationships in the “path” or “chain” connecting the selected patterns that are type compatible with entities and relationships in the original pattern objects (i.e., the pattern objects 1614 selected from the cliques 1612). This is because such entities and relationships, and their associated costs, may drop out later. Hence, the cost of such entities and relationships is unknown. As shown in block 1935, a heuristic cost associated with the newly generated state may be determined. Exemplary ways of effecting this act are described in § 4.4.2.3.1.2.2 below. Then, as shown in block 1940, an estimated cost associated with the state, which is based on the definitive (or known) cost and the heuristic (or unknown) costs, is determined. In one exemplary embodiment, the estimated cost may be the sum of the definitive costs and the heuristic costs. The newly generated state (and its associated estimated cost) may then be added to a state queue as shown in block 1945. After all remaining actions are processed with in the loop 1920–1950, a next pair of patterns in the selected state are determined and processed in the loop 1905–1955. After all pairs of patterns in the selected state are processed, the method 1845′/1850′/1855′/1860′ is left via RETURN node 1960.
In any event, referring once again to FIG. 20, the acts within the loop 2020–2055 are performed for each pair of patterns in the selected state, where each such pair of patterns includes the pattern(s) selected in block 2010 or 2015. For a given pair of patterns, as shown in block 2025, actions (for combining) the patterns and the associated costs of such actions are determined. To reiterate, actions for combining patterns may include a “unify entity” action described in § 4.4.2.3.1.1.1 below, a “unify relationship” action described in § 4.4.2.3.1.1.2 below, and a “join” (or link) pattern objects action described in § 4.4.2.3.1.1.3 below. As will be described in more detail below, in one exemplary embodiment, the cost for a unify entity or unify relation action may be zero, and the cost of a join (or link) pattern objects action may be based on the cost of relationships (e.g., cost of 2 for each entity) and entities (e.g., cost of 1 for each entity) added to the pattern. Then, as shown in block 2030, a new state having the combined selected patterns is created. Then, as shown in block 2035, a definitive (or known) cost component of an estimated cost associated with the newly created state is updated. To reiterate, the definitive (or known) cost may be defined as the definitive costs of the parent state plus the cost of the action. If the action was a join (or link) pattern objects, the cost of the action should ignore costs of entities and relationships in the “path” or “chain” connecting the selected patterns that are type compatible with entities and relationships in the original pattern objects (i.e., the pattern objects 1614 selected from the cliques 1612). As shown in block 2040, a heuristic cost associated with the newly generated state may be determined. Exemplary ways of effecting this act are described in § 4.4.2.3.1.2.2 below. Then, as shown in block 2045, an estimated cost associated with the state, which is based on the definitive (or known) cost and the heuristic (or unknown) costs, is determined. To reiterate, in one exemplary embodiment, the estimated cost may be the sum of the definitive costs and the heuristic costs. The newly generated state (and its associated estimated cost) may then be added to a state queue as shown in block 2050. After all pairs of patterns, including a selected pattern, of the selected state are processed in the loop 2020–2055, the method 1845″/1850″/1855″/1860″ is left via RETURN node 2060.
Unifying entities in patterns is described in § 4.4.2.3.1.1.1 below. Then, unifying relationships in patterns is described in § 4.4.2.3.1.1.2 below. Finally, joining patterns (e.g., via a path that is consistent with the database schema 420) is described in 4.4.2.3.1.1.3 below.
[ppt:name (N)] where value(N)=‘Cinerama’
foo:has_ceo(_, B, P), ppt:person(P), ppt:has(_, B, A), ppt:address(A), ppt:has(_, C, A), sidewalk:cinema(C), ppt:has(, C, N), ppt:name(N)] where value(N)=‘Cinerama’
[employee(E), has_name(_, E, N), first_name(N), has_salary(_, E, A), amount(A)] where value(N)=‘Greg’
[first name(N1)] where value(N1)=‘Greg’
[first_name(N)] where value(N)=‘Greg’
Referring to FIG. 22, all entities and nexuses are accepted as shown in block 2205. As shown by loop 2210–2230, blocks 2220 and 2225 are performed for each pair of nexuses. First, as shown in block 2220, all paths between a given nexus pair are determined, for example, by using a breadth first search. Then, the least expensive path between the nexus pair is saved as shown in block 2225. If each entity or relationship in the database schema 420 is assigned the same cost, the least expensive path(s) will correspond to the shortest path(s).
As shown by nested loops 2235–2265 and 2240–2255, blocks 2245 and 2250 are performed for each entity-nexus pair. First, for a given entity and nexus, all paths between the entity and the nexus are determined as shown in block 2245. These paths may be determined by using a breadth first search for example. Then, the least expensive of these paths is saved as shown in block 2250. As shown by block 2260, which is outside the nexus loop 2240–2255 but inside the entity loop 2235–2265, for each entity, the least expensive path between it and any of the nexuses is saved. More specifically, for each entity, only paths to the nexuses that are closest to it are saved. To do this, the paths from that entity to every nexus are examined, but the paths to every nexus are not saved. As was the case above, if each entity or relationship in the database schema 420 is assigned the same cost, the least expensive path(s) will correspond to the shortest path(s).
“Where can I get vegetarian food in Montlake?” % Fragments [[[where], 0, 1,
In the foregoing, a value with an underscore initially followed by a capital letter (e.g., “_G22210”) denotes a variable or “unbound” object. For example, in the first set of brackets, in the “neighborhood(9538, 6)” object, the value “9538” grounds the neighborhood value to a neighborhood containing montlake. The “restaurant(_G17854, 4)” object is unbound as denoted by the value “_G17854”. The “addressType(_G17838, 0) object is unbound as denoted by the value “G17838”. Finally, in the “cuisineType(53, 4)” object, the value “53” grounds the cuisineType value to vegetarian.
“StateOrProvinceCode”, “LocationLatitudeNumber”, “LocationLongitudeNumber”,
[“Galerias”, “2355-½ 10th Ave E”, null, “Seattle”, “WA”, 9.53384e-307, 9.53384e-307, 3754]] Thus, the query translation process (or query translator) 450 may include a presentation process (or more generally, a presentation facility). More specifically, the result of chaining is a set of objects (constraints) used for selecting desired information from the database. However, these objects (constraints) do not indicate how to render the desired information to the user. The presentation process (or facility) adds annotations to (i.e., marks) the query. These annotations indicate which objects in the query should be returned and how they should be named.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5404295 *Jan 4, 1994Apr 4, 1995Katz; BorisMethod and apparatus for utilizing annotations to facilitate computer retrieval of database materialUS5495604 *Aug 25, 1993Feb 27, 1996Asymetrix CorporationMethod and apparatus for the modeling and query of database structures using natural language-like constructsUS5884302Jan 17, 1997Mar 16, 1999Ho; Chi FaiSystem and method to answer a questionUS5937406Jan 31, 1997Aug 10, 1999Informix Software, Inc.File system interface to a databaseUS5963940 *Aug 14, 1996Oct 5, 1999Syracuse UniversityNatural language information retrieval system and methodUS6108666Feb 13, 1998Aug 22, 2000International Business Machines CorporationMethod and apparatus for pattern discovery in 1-dimensional event streamsUS6233571May 4, 1998May 15, 2001Daniel EggerMethod and apparatus for indexing, searching and displaying dataUS6272242Jul 13, 1995Aug 7, 2001Ricoh Company, Ltd.Character recognition method and apparatus which groups similar character patternsUS6353830Feb 16, 2000Mar 5, 2002Oracle CorporationGraphical interface for object-relational query builderUS6418448Dec 6, 1999Jul 9, 2002Shyam Sundar SarkarMethod and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the webUS6442548Jun 25, 1999Aug 27, 2002International Business Machines CorporationDatabase interface for database unaware applicationsUS6498921Sep 1, 1999Dec 24, 2002Chi Fai HoMethod and system to answer a natural-language questionUS6694313Apr 27, 1999Feb 17, 2004Siemens AktiengesellschaftMethod for compression of a telephone number database in a telecommunications system, and a corresponding telecommunications systemUS20020099687Sep 6, 2001Jul 25, 2002Muralidhar KrishnaprasadApparatus and method for mapping relational data and metadata to XML* Cited by examinerNon-Patent CitationsReference1Chen et al., "The Entity-Relationship Model-Toward a Unified View of Data," ACM Transactions on Database Systems, vol. 1 No. 1, Mar. 1976, pp. 9-36.2I. Androutsopoulos; G.E. Ritchie; P. Thanisch, "Natural Language Interfaces to Databases-An Introduction"; Research Paper No. 709, Department of Artificial Intelligence, University of Edinburgh, 1994, pp. 1-50.3 *Phase Locked Loop, Wikipedia.4Su et al., Heuristic Algorithms for Path Determination in a Semantic Network, 1990 IEEE COMPSAC 90 Proceedings, pp. 587-592.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7197506 *Apr 5, 2002Mar 27, 2007Renar Company, LlcCollection management systemUS7401079 *Aug 29, 2002Jul 15, 2008International Business Machines CorporationSystem and method for transcoding digital contentUS7464072 *Jun 18, 2001Dec 9, 2008Siebel Systems, Inc.Method, apparatus, and system for searching based on search visibility rulesUS7467133Jun 14, 2004Dec 16, 2008Siebel Systems, Inc.Method, apparatus, and system for searching based on search visibility rulesUS7475080 *Nov 23, 2004Jan 6, 2009International Business Machines CorporationAdaptive data warehouse meta model methodUS7493320 *Aug 16, 2004Feb 17, 2009Telenor AsaMethod, system, and computer program product for ranking of documents using link analysis, with remedies for sinksUS7546287Jun 18, 2001Jun 9, 2009Siebel Systems, Inc.System and method to search a database for records matching user-selected search criteria and to maintain persistency of the matched recordsUS7594172 *Oct 10, 2001Sep 22, 2009Fish Robert DData storage using spreadsheet and metatagsUS7596568 *Apr 12, 2004Sep 29, 2009Microsoft CorporationSystem and method to resolve ambiguity in natural language requests to determine probable intentUS7606805 *Dec 14, 2005Oct 20, 2009EasyAsk Acquisition, LLCDistributed search system and methodUS7640254 *Jul 22, 2005Dec 29, 2009Microsoft CorporationMethods, apparatus, and data structures for annotating a database design schema and/or indexing annotationsUS7676739 *Nov 26, 2003Mar 9, 2010International Business Machines CorporationMethods and apparatus for knowledge base assisted annotationUS7725447Apr 19, 2004May 25, 2010Siebel Systems, Inc.Method, apparatus, and system for searching based on search visibility rulesUS7739612Sep 12, 2005Jun 15, 2010Microsoft CorporationBlended editing of literal and non-literal valuesUS7840585Jun 12, 2007Nov 23, 2010Microsoft CorporationDISCOSQL: distributed processing of structured queriesUS7937250Apr 27, 2007May 3, 2011International Business Machines CorporationMethod and system for addressing non-functional concernsUS7962446Sep 10, 2007Jun 14, 2011Siebel Systems, Inc.Method, apparatus, and system for searching based on search visibility rulesUS8060831Jun 29, 2007Nov 15, 2011Microsoft CorporationUser interface visual cue for use with literal and non-literal valuesUS8244748 *May 13, 2008Aug 14, 2012International Business Machines CorporationIncluding annotation data with disparate relational dataUS8340955 *Apr 28, 2008Dec 25, 2012International Business Machines CorporationSystem and method for finding the most likely answer to a natural language questionUS8417514Apr 4, 2012Apr 9, 2013International Business Machines CorporationSystem and method for finding the most likely answer to a natural language questionUS8463794 *Jul 30, 2009Jun 11, 2013International Business Machines CorporationComputer system, method, and computer program for extracting terms from document data including text segmentUS8620741Mar 7, 2011Dec 31, 2013Dazhi ChenSystem and method for reducing excess capacity for restaurants and other industries during off-peak or other timesUS8706770Mar 22, 2007Apr 22, 2014Renar Company, LlcMethod and apparatus for creating and categorizing exemplar structures to access information regarding a collection of objectsUS8863005 *Dec 21, 2009Oct 14, 2014Sap SePropagating business object extension fields from source to targetUS8869105 *Nov 17, 2011Oct 21, 2014Sap AgExtensibility integrated development environment for business object extension developmentUS8954318Nov 4, 2013Feb 10, 2015Veveo, Inc.Method of and system for using conversation state information in a conversational interaction systemUS9043339May 21, 2013May 26, 2015International Business Machines CorporationExtracting terms from document data including text segmentUS9183183May 1, 2013Nov 10, 2015Veveo, Inc.Method of and system for inferring user intent in search input in a conversational interaction systemUS9424233 *Nov 2, 2012Aug 23, 2016Veveo, Inc.Method of and system for inferring user intent in search input in a conversational interaction systemUS9465833Mar 13, 2013Oct 11, 2016Veveo, Inc.Disambiguating user intent in conversational interaction system for large corpus information retrievalUS9477643Nov 4, 2013Oct 25, 2016Veveo, Inc.Method of and system for using conversation state information in a conversational interaction systemUS20020165857 *Apr 5, 2002Nov 7, 2002Linda WrightCollection management systemUS20030065645 *Aug 29, 2002Apr 3, 2003International Business Machines CorporationSystem and method for transcoding digital contentUS20030158723 *Feb 20, 2003Aug 21, 2003Fuji Xerox Co., Ltd.Syntactic information tagging support system and methodUS20040024737 *Oct 10, 2001Feb 5, 2004Fish Robert DData storage using spreadsheet and metatagsUS20040181544 *Dec 18, 2003Sep 16, 2004SchemalogicSchema server object modelUS20050114306 *Nov 20, 2003May 26, 2005International Business Machines CorporationIntegrated searching of multiple search sourcesUS20050114758 *Nov 26, 2003May 26, 2005International Business Machines CorporationMethods and apparatus for knowledge base assisted annotationUS20050132281 *Oct 21, 2004Jun 16, 2005International Business Machines CorporationMethod and System of Annotation for Electronic DocumentsUS20050198073 *Feb 25, 2005Sep 8, 2005Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V.Method for the automated annotation of multi-dimensional database reports with information objects of a data repositoryUS20050256888 *Jul 22, 2005Nov 17, 2005Microsoft CorporationMethods, apparatus, and data structures for annotating a database design schema and/or indexing annotationsUS20060059119 *Aug 16, 2004Mar 16, 2006Telenor AsaMethod, system, and computer program product for ranking of documents using link analysis, with remedies for sinksUS20060112109 *Nov 23, 2004May 25, 2006Chowdhary Pawan RAdaptive data warehouse meta modelUS20060149719 *Dec 14, 2005Jul 6, 2006Harris Larry RDistributed search system and methodUS20060225029 *Apr 22, 2004Oct 5, 2006Wolfgang FlatowUniversal database schemaUS20070106638 *Jun 18, 2001May 10, 2007Pavitra SubramaniamSystem and method to search a database for records matching user-selected search criteria and to maintain persistency of the matched recordsUS20070106639 *Apr 19, 2004May 10, 2007Pavitra SubramaniamMethod, apparatus, and system for searching based on search visibility rulesUS20070118504 *Jun 14, 2004May 24, 2007Pavitra SubramaniamMethod, apparatus, and system for searching based on search visibility rulesUS20070179972 *Mar 22, 2007Aug 2, 2007Linda WrightMethod and apparatus for creating and categorizing exemplar structures to access information regarding a collection of objectsUS20080021881 *May 1, 2007Jan 24, 2008Siebel Systems, Inc.Method, apparatus, and system for remote client search indexingUS20080120270 *Nov 19, 2007May 22, 2008LlinxxDatabase systemUS20080126393 *Nov 29, 2006May 29, 2008Bossman Patrick DComputer program product and system for annotating a problem sql statement for improved understandingUS20080201132 *Apr 28, 2008Aug 21, 2008International Business Machines CorporationSystem and method for finding the most likely answer to a natural language questionUS20080215579 *May 13, 2008Sep 4, 2008Cragun Brian JIncluding annotation data with disparate relational dataUS20080270087 *Apr 27, 2007Oct 30, 2008Pankaj DhooliaMethod and system for addressing non-functional concernsUS20080313161 *Jun 12, 2007Dec 18, 2008Microsoft CorporationDiscosql: distributed processing of structured queriesUS20090007008 *Jun 29, 2007Jan 1, 2009Microsoft CorporationUser interface visual cue for use with literal and non-literal valuesUS20110154253 *Dec 21, 2009Jun 23, 2011Matthias LehrProcess field extensibility for business objectsUS20110173062 *Mar 7, 2011Jul 14, 2011Mount Hamilton Partners, LlcSystem and method for reducing excess capacity for restaurants and other industries during off-peak or other timesUS20110208728 *Jul 30, 2009Aug 25, 2011International Business Machines CorporationComputer System, Method, and Computer Program For Extracting Terms From Document Data Including Text SegmentUS20130132929 *Nov 17, 2011May 23, 2013Joerg WellerExtensibility integrated development environment for business object extension developmentUS20140025705 *Nov 2, 2012Jan 23, 2014Veveo, Inc.Method of and System for Inferring User Intent in Search Input in a Conversational Interaction SystemWO2008154213A1 *Jun 3, 2008Dec 18, 2008Microsoft CorporationDiscosql: distributed processing of structured queriesWO2013010262A1 *Jul 19, 2012Jan 24, 2013Suleman KaheerMethod and system of classification in a natural language user interface* Cited by examinerClassifications U.S. Classification1/1, 707/E17.134, 707/E17.005, 707/E17.044, 715/731, 707/999.1, 707/999.002International ClassificationG06F17/30, G06F7/00Cooperative ClassificationY10S707/99935, Y10S707/99953, Y10S707/99937, Y10S707/99932, Y10S707/99933, Y10S707/99943, G06F17/30286, G06F17/30604, G06F17/30943, G06F17/3043, G06F17/30707European ClassificationG06F17/30Z, G06F17/30S, G06F17/30T4C, G06F17/30S8R2, G06F17/30S4P2NLegal EventsDateCodeEventDescriptionAug 28, 2000ASAssignmentOwner name: MICROSOFT CORPORATION, WASHINGTONFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MCCONNELL, CHRISTOPHER CLAYTON;REEL/FRAME:011040/0828Effective date: 20000823Jul 15, 2009FPAYFee paymentYear of fee payment: 4Sep 27, 2013REMIMaintenance fee reminder mailedFeb 14, 2014LAPSLapse for failure to pay maintenance feesApr 8, 2014FPExpired due to failure to pay maintenance feeEffective date: 20140214Jan 15, 2015ASAssignmentOwner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTONFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001Effective date: 20141014RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services