Method and apparatus for data item movement between disparate sources and hierarchical, object-oriented representation
First Claim
1. An article of digital data storage media encoded with instruction code that is operable on a data processing system for determining during program execution the class of an object to instantiate, the instruction code comprising:
- instruction code configured for ascertaining a set of input data items, the set defining a number of input data items;
instruction code configured for looping through members of a set of two or more candidate object classes, each member of the set defining a number of candidate data items;
instruction code configured for comparing the number of input data items with the number of candidate data items of each member of the set of candidate object classes, thereby determining whether each candidate object class is or is not a potentially successful candidate object class, those candidate object classes having a number of candidate data items equal to or greater than the number of input data items determined to be potentially successful candidate object classes;
instruction code configured for identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and
instruction code configured for instantiating the object based at least in part on the identified successful candidate object class.
1 Assignment
0 Petitions
Accused Products
Abstract
Data moves between multiple, disparate data sources and the object-oriented computer programs that process the data. A data access server is interposed between the object-oriented programs and the data sources, and acts as an intermediary. The intermediary server receives requests for data access from object-oriented computer programs, correlates each request to one or more interactions with one or more data sources, performs each required interaction, consolidates the results of the interactions, and presents a singular response to the requesting computer program. The consolidated response from the intermediary server contains data items requested by the computer program, information regarding the hierarchical topology that relates the data items, and an indication of the possible object types that might embody the data items. The application program receives the consolidated response and builds an object hierarchy to embody the data items and to interface them to the rest of the application program. The class of an object used to embody data items is selected at execution time from a list of possible candidates.
57 Citations
31 Claims
-
1. An article of digital data storage media encoded with instruction code that is operable on a data processing system for determining during program execution the class of an object to instantiate, the instruction code comprising:
-
instruction code configured for ascertaining a set of input data items, the set defining a number of input data items; instruction code configured for looping through members of a set of two or more candidate object classes, each member of the set defining a number of candidate data items; instruction code configured for comparing the number of input data items with the number of candidate data items of each member of the set of candidate object classes, thereby determining whether each candidate object class is or is not a potentially successful candidate object class, those candidate object classes having a number of candidate data items equal to or greater than the number of input data items determined to be potentially successful candidate object classes; instruction code configured for identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and instruction code configured for instantiating the object based at least in part on the identified successful candidate object class. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for use in a data processing system for determining during program execution the class of an object to instantiate, comprising:
-
ascertaining a set of input data items, the set defining a number of input data items; looping through, using a processing device, members of a set of two or more candidate object classes, each member of the set defining a number of candidate data items; comparing, using a processing device, the number of input data items with the number of candidate data items of each member of the set of candidate object classes, thereby determining whether each candidate object class is or is not a potentially successful candidate object class, those candidate object classes having a number of candidate data items equal to or greater than the number of input data items determined to be potentially successful candidate object classes; identifying, using a processing device, a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and instantiating the object based at least in part on the identified successful candidate object class. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An article of digital data storage media encoded with program code that is operable on a data processing system for developing computer programs that determine during program execution the class of an object to instantiate, comprising:
-
program code related to instruction code configured for ascertaining a set of input data items, the set defining a number of input data items program code related to instruction code configured for looping through members of a set of two or more candidate object classes, each member of the set defining a a number of candidate data items; program code related to instruction code configured for comparing the number of input data items with the number of candidate data items of each member of the set of candidate object classes, thereby determining whether each candidate object class is or is not a potentially successful candidate object class, those candidate object classes having a number of candidate data items equal to or greater than the number of input data items determined to be potentially successful candidate object classes; program code related to instruction code configured for identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and program code related to instruction code configured for instantiating the object based at least in part on the identified successful candidate object class. - View Dependent Claims (16, 17, 18)
-
-
19. A method of mediating between transient and persistent copies of a plurality of data items in a system comprising a client computer, a plurality of independent data sources, and a server computer;
- said client computer executing a user object-oriented application program having program code which includes object-oriented program objects each embodying one or more transient working copies of persistent data items of which the persistent data items may be located in different independent data sources, and includes program code to initiate and respond to formatted transaction data streams exchanged with said server, said client computer providing service requests for accessing data items from said independent data sources;
said plurality of independent data sources maintaining persistent data items; and
said server computer having program code for mediating said service requests and having a configuration database storing information about the types of data access requests the application programs can make to the server, the data sources with which the server interacts, and the types of interactions that are possible;
said method comprising;receiving in the server computer a data stream from the client computer, said data stream comprising a request comprising a request for a client-server transaction and a set of input data items, the set defining a number of input data items; processing in the server computer the request for a client-server transaction supplied by the client computer, wherein said program code for mediating utilizes information from said configuration database so as to permit the interpretation of the request for the client-server transaction and the resolution of the request for the client-server transaction into a corresponding set of atomic server-source transactions, the processing comprising; looping through members of a set of two or more candidate object classes, each member of the set defining a number of candidate data items; comparing the number of input data items with the number of candidate data items of each member of the set of candidate object classes, thereby determining whether each candidate object class is or is not a potentially successful candidate object class, those candidate object classes having a number of candidate data items equal to or greater than the number of input data items determined to be potentially successful candidate object classes; identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and instantiating the object based at least in part on the identified successful candidate object class; for each of the server-source transactions the server computer sending a request to a data source, receiving the response of the data source, isolating a response data item out of the response of the data source, and associating the successful candidate object class with the response data item from the response of the data source; sending a data stream of response data items and their associated successful object class to the client computer. - View Dependent Claims (20, 21, 22)
- said client computer executing a user object-oriented application program having program code which includes object-oriented program objects each embodying one or more transient working copies of persistent data items of which the persistent data items may be located in different independent data sources, and includes program code to initiate and respond to formatted transaction data streams exchanged with said server, said client computer providing service requests for accessing data items from said independent data sources;
-
23. An article of digital data storage media encoded with instruction code that is operable on a data processing system for determining during program execution the class of an object to instantiate, the instruction code comprising:
-
instruction code configured for ascertaining a set of input data items, the set defining a plurality of input field types; instruction code configured for looping through members of a set of two or more candidate object classes, each member of the set defining a plurality of candidate field types; instruction code configured for comparing the plurality of input field types with the plurality of candidate field types of each candidate object class to determine whether each candidate object class is or is not a potentially successful candidate object based on one or more established criteria; instruction code configured for identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and instruction code configured for instantiating the object based at least in part on the identified successful candidate object class. - View Dependent Claims (24, 25)
-
-
26. A method for use in a data processing system for determining during program execution the class of an object to instantiate, comprising:
-
ascertaining a set of input data items, the set defining a plurality of input field types; looping through members of a set of two or more candidate object classes, each member of the set defining a plurality of candidate field types; comparing the plurality of input field types with the plurality of candidate field types of each candidate object class to determine whether each candidate object class is or is not a potentially successful candidate object based on one or more established criteria; identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and instantiating the object based at least in part on the identified successful candidate object class. - View Dependent Claims (27, 28)
-
-
29. A method of mediating between transient and persistent copies of a plurality of data items in a system comprising a client computer, a plurality of independent data sources, and a server computer;
- said client computer executing a user object-oriented application program having program code which includes object-oriented program objects each embodying one or more transient working copies of persistent data items of which the persistent data items may be located in different independent data sources, and includes program code to initiate and respond to formatted transaction data streams exchanged with said server, said client computer providing service requests for accessing data items from said independent data sources;
said plurality of independent data sources maintaining persistent data items; and
said server computer having program code for mediating said service requests and having a configuration database storing information about the types of data access requests the application programs can make to the server, the data sources with which the server interacts, and the types of interactions that are possible;
said method comprising;receiving in the server computer a data stream from the client computer, said data stream comprising a request comprising a request for a client-server transaction and a set of input data items, the set defining a plurality of input field types; processing in the server computer the request for a client-server transaction supplied by the client computer, wherein said program code for mediating utilizes information from said configuration database so as to permit the interpretation of the request for the client-server transaction and the resolution of the request for the client-server transaction into a corresponding set of atomic server-source transactions, the processing comprising; looping through members of a set of two or more candidate object classes, each member of the set defining a plurality of candidate field types; comparing the plurality of input field types with the plurality of candidate field types of each candidate object class to determine whether each candidate object class is or is not a potentially successful candidate object based on one or more established criteria; and identifying a successful candidate object class from the set based at least in part on the determination whether each candidate object class is or is not a potentially successful candidate object class; and for each of the server-source transactions the server computer sending a request to a data source, receiving the response of the data source, isolating a response data item out of the response of the data source, and associating the successful candidate object class with the response data item from the response of the data source; sending a data stream of response data items and their associated successful object classes to the client computer. - View Dependent Claims (30, 31)
- said client computer executing a user object-oriented application program having program code which includes object-oriented program objects each embodying one or more transient working copies of persistent data items of which the persistent data items may be located in different independent data sources, and includes program code to initiate and respond to formatted transaction data streams exchanged with said server, said client computer providing service requests for accessing data items from said independent data sources;
Specification