US2017011128A1PendingUtilityA1

Dynamic domain query and query translation

46
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Sep 30, 2010Filed: Feb 16, 2016Published: Jan 12, 2017
Est. expirySep 30, 2030(~4.2 yrs left)· nominal 20-yr term from priority
G06F 17/30867G06F 17/30427G06F 16/9535G06F 16/24569G06F 16/2452G06F 16/245
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments are directed to defining a query expression over a dynamic system model and to transforming a dynamically built query expression into a simplified, canonical form. A computer system receives various user inputs that are to be included as part of a query expression for querying a dynamic system model. The dynamic system model is queryable to determine features provided by a service hosted by a back-end server. The computer system dynamically builds the query expression based on both the received inputs and the available features provided by the service as indicated by the dynamic system model. The query expression also includes metadata structures representing those features of the service which are provided by the service. The computer system also queries across the dynamic system model using the dynamically built query expression to retrieve and provide the service features requested in the received user input.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . At a computer system including a processor and a memory, in a computer networking environment including a plurality of computing systems, a computer-implemented method for defining a query expression over a dynamic system model, the method comprising:
 an act of receiving one or more user inputs that are to be included as part of a query expression for querying a dynamic system model, wherein the dynamic system model is queryable to determine features provided by a service hosted by a back-end server;   an act of dynamically building the query expression based on both the received inputs and the available features provided by the service as indicated by the dynamic system model, wherein the query expression includes metadata structures representing those features of the service which are provided by the service; and   an act of querying across the dynamic system model using the dynamically built query expression to retrieve and provide the service features requested in the received user input.   
     
     
         2 . The method of  claim 1 , wherein one or more custom query operators are implemented in the query to retrieve and provide the service features required in the received user input. 
     
     
         3 . The method of  claim 2 , wherein the custom query operators query for a list of objects representing the features of the service provided by the back-end server without knowing what those objects will be. 
     
     
         4 . The method of  claim 3 , wherein the custom query operators query for a list of objects representing the features of the service provided by the back-end server without knowing what those objects will be by traversing one or more relationships among the metadata structures that define the features of the service. 
     
     
         5 . The method of  claim 4 , wherein the custom query operators traverse the metadata structure relationships using at least a portion of standard query syntax. 
     
     
         6 . The method of  claim 1 , wherein one or more features of the service is added or removed during runtime. 
     
     
         7 . The method of  claim 1 , wherein the features provided by the service are displayed as options on a user interface displayed to the user. 
     
     
         8 . The method of  claim 7 , further comprising:
 an act of receiving a subsequent request from the user at the user interface indicating that the results of the query are to be filtered; and   based on the received filter request, an act of dynamically changing the results of the query such that only results matching the filter are shown to the user in the user interface.   
     
     
         9 . The method of  claim 1 , wherein each of the metadata structures represents at least one of a type, a property of a type and a relationship. 
     
     
         10 . The method of  claim 9 , wherein at least one of the type, type property and relationship changes during runtime. 
     
     
         11 . The method of  claim 1 , wherein the dynamic system model changes during runtime based on differences in back-end systems to which the model is connecting during runtime. 
     
     
         12 . The method of  claim 1 , further comprising:
 an act of maintaining a portion of metadata information corresponding to the metadata structures through the processing of the query expression; and   an act of attaching the metadata information to the results returned to the client to uniquely identify each object returned by the query.   
     
     
         13 . The method of  claim 1 , wherein the dynamically built query expression is converted to a native back-end request. 
     
     
         14 . The method of  claim 1 , wherein the dynamic system models are designed to work on multiple different service versions. 
     
     
         15 . A computer program product for implementing a method for transforming a dynamically built query expression into a simplified, canonical form, the computer program product comprising one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause the computing system to perform the method, the method comprising:
 an act of receiving one or more user inputs that are to be included as part of a query expression for querying a dynamic system model, wherein the dynamic system model is queryable to determine features provided by a service hosted by a back-end server;   an act of dynamically building the query expression based on both the received inputs and the available features provided by the service as indicated by the dynamic system model, wherein the query expression includes metadata structures representing those features of the service which are provided by the service;   an act of transforming the dynamically built query expression into a simplified, canonical form that is generically understandable by a plurality of different back-end servers; and   an act of querying across the dynamic system model using the dynamically built query expression in its simplified, canonical form to retrieve and provide the service features requested in the received user input.   
     
     
         16 . The computer program product of  claim 15 , wherein the user provides a string name of a model object in the received user input. 
     
     
         17 . The computer program product of  claim 16 , further comprising an act of locating the metadata object corresponding to the received string name. 
     
     
         18 . The computer program product of  claim 17 , further comprising an act of creating one or more bindings to link the corresponding metadata object to the received string name, wherein the bindings are implemented to create the simplified, canonical form of the query expression. 
     
     
         19 . The computer program product of  claim 18 , further comprising translating the simplified, canonical form of the query expression into back-end specific query syntax. 
     
     
         20 . A computer system comprising the following:
 one or more processors;   system memory;   one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by the one or more processors, causes the computing system to perform a method for defining a query expression over a dynamic system model, the method comprising the following:
 an act of receiving one or more user inputs that are to be included as part of a query expression for querying a dynamic system model, wherein the dynamic system model is queryable to determine features provided by a service hosted by a back-end server; 
 an act of dynamically building the query expression based on both the received inputs and the available features provided by the service as indicated by the dynamic system model, wherein the query expression includes metadata structures representing those features of the service which are provided by the service; 
 an act of querying across the dynamic system model using the dynamically built query expression to retrieve and provide the service features requested in the received user input; 
 an act of maintaining a portion of metadata information corresponding to the metadata structures through the processing of the query expression; and 
 an act of attaching the metadata information to the results returned to the client to uniquely identify each object returned by the query.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.