Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context data
First Claim
1. A method in a computer system for differentially resolving an atom for a specified user context, comprising:
- receiving from an atom client a request to resolve an atom, the request specifying an atom identifier identifying the atom to be resolved and a context identifier identifying user context information to use in resolving the atom, wherein the user context information is organized in categories;
accessing a plurality of atom resolutions each having associated with it an atom identifier identifying the atom of which it is a resolution and one or more conditions relating to user context information to identify a plurality of resolutions having associated with them the atom identifier specified by the request, wherein the conditions each relate to one or more categories of user context information;
receiving a user profile containing information about a user identified by the context identifier specified in the request;
generating the user context information categories for the specified context identifiers from the received user profile;
for each identified atom resolution, determining whether the conditions associated with the atom resolution are satisfied by the user context information identified by context identifier specified by the request;
applying an atom resolution selection rule to the atom resolutions whose associated conditions have been determined to be satisfied to select one atom resolution that is best suited to the user context information identified by the context identifier specified by request; and
returning to the atom client data representing the selected resolution of the atom in response to the request.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for dynamically synthesizing a computer program based on user context data is provided. In accordance with the invention, a request is received to generate a computer program for an identified user. In response, an incomplete definition of the computer program, from which portions of the definition are omitted, is retrieved. For each portion of the computer program omitted from the incomplete definition of the computer program, a plurality of possible versions of the omitted portion are accessed. Each possible version produces a different behavior in the computer program when it is added to the computer program. Further, each possible version has one or more conditions that may be evaluated against user attributes for the identified user to determine whether the possible version is acceptable for the user. Next, for each possible version of each omitted portion, the conditions of the possible version are evaluated to determine whether the possible version is acceptable for the user. A preference rule is then used to select, for each omitted portion, one possible version determined to be acceptable. Finally, the versions of the omitted portions of computer program selected as preferred are added to the incomplete definition of the computer program in order to complete the definition of the computer program. In a further preferred embodiment of the present invention, the completed computer program is executed on behalf of the identified user.
-
Citations
12 Claims
-
1. A method in a computer system for differentially resolving an atom for a specified user context, comprising:
-
receiving from an atom client a request to resolve an atom, the request specifying an atom identifier identifying the atom to be resolved and a context identifier identifying user context information to use in resolving the atom, wherein the user context information is organized in categories;
accessing a plurality of atom resolutions each having associated with it an atom identifier identifying the atom of which it is a resolution and one or more conditions relating to user context information to identify a plurality of resolutions having associated with them the atom identifier specified by the request, wherein the conditions each relate to one or more categories of user context information;
receiving a user profile containing information about a user identified by the context identifier specified in the request;
generating the user context information categories for the specified context identifiers from the received user profile;
for each identified atom resolution, determining whether the conditions associated with the atom resolution are satisfied by the user context information identified by context identifier specified by the request;
applying an atom resolution selection rule to the atom resolutions whose associated conditions have been determined to be satisfied to select one atom resolution that is best suited to the user context information identified by the context identifier specified by request; and
returning to the atom client data representing the selected resolution of the atom in response to the request. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method in a computer system for differentially resolving an atom based on context data, comprising the steps of:
-
receiving a request to resolve the atom;
identifying a plurality of acceptable resolutions of the atom from among a larger plurality of resolutions of the atom, each resolution having conditions satisfied by the context data, wherein the context data comprises a value for each of a plurality of context data categories;
evaluating conditions of each of the larger plurality of resolutions of the atom with respect to the context data, wherein the conditions of the resolutions of the atom each compare a category value to one or more values for that category;
identifying as acceptable the resolutions of the atom whose conditions evaluate to true;
selecting one identified resolution based on at least one selection rule; and
returning the selected resolution of the atom in response to the received request.
-
-
7. A method in a computer system for differentially resolving an atom based on context data, wherein a plurality of atom tables are each accessible to the computer system, each atom table containing a multiplicity of resolutions of each of a plurality of different atoms, each atom uniquely identified by an atom identifier, the plurality of atom tables being ranked in a priority order, the method comprising the steps of:
-
receiving a request to resolve the atom;
receiving an atom identifier of the atom;
identifying a plurality of acceptable resolutions of the atom, each resolution having conditions satisfied by the context data;
retrieving the identified plurality of resolutions of the atom from the atom table using the received atom identifier;
selecting one identified resolution based on at least one selection rule and based on the relative positions in the priority order of the atom tables containing the identified resolutions; and
returning the selected resolution of the atom in response to the received request. - View Dependent Claims (8, 9, 10)
-
-
11. A computer program product for differentially resolving an atom for a specified user context, the computer program product comprising:
-
program code for receiving from an atom client a request to resolve an atom, the request specifying an atom identifier identifying the atom to be resolved and a context identifier identifying user context information to use in resolving the atom, wherein the user context information is organized in categories;
program code for accessing a plurality of atom resolutions each having associated with it an atom identifier identifying the atom of which it is a resolution and one or more conditions relating to user context information to identify a plurality of resolutions having associated with them the atom identifier specified by the request, wherein the conditions each relate to one or more categories of user context information;
program code for receiving a user profile containing information about a user identified by the context identifier specified in the request;
program code for generating the user context information categories for the specified context identifiers from the received user profile;
program code for determining, for each identified atom resolution, whether the conditions associated with the atom resolution are satisfied by the user context information identified by context identifier specified by the request;
program code for applying an atom resolution selection rule to the atom resolutions whose associated conditions have been determined to be satisfied to select one atom resolution that is best suited to the user context information identified by the context identifier specified by request;
program code for returning to the atom client data representing the selected resolution of the atom in response to the request; and
a computer readable medium on which the program codes are stored.
-
-
12. A computer system for differentially resolving an atom for a specified user context, the computer system comprising:
-
a reception module, for receiving from an atom client a request to resolve an atom, the request specifying an atom identifier identifying the atom to be resolved and a context identifier identifying user context information to use in resolving the atom, wherein the user context information is organized in categories;
an access module, for accessing a plurality of atom resolutions each having associated with it an atom identifier identifying the atom of which it is a resolution and one or more conditions relating to user context information to identify a plurality of resolutions having associated with them the atom identifier specified by the request, wherein the conditions each relate to one or more categories of user context information;
a reception module, for receiving a user profile containing information about a user identified by the context identifier specified in the request;
a generation module, for generating the user context information categories for the specified context identifiers from the received user profile;
a determination module, for determining, for each identified atom resolution, whether the conditions associated with the atom resolution are satisfied by the user context information identified by context identifier specified by the request;
an application module, for applying an atom resolution selection rule to the atom resolutions whose associated conditions have been determined to be satisfied to select one atom resolution that is best suited to the user context information identified by the context identifier specified by request; and
a return module, for returning to the atom client data representing the selected resolution of the atom in response to the request.
-
Specification