METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR PROVIDING A PROGRAM EXECUTION ENVIRONMENT
A method for program execution includes providing an execution environment for a program including a structured data storage system (SDSS) capable of accessing storage locations of a structured data store using corresponding logical identifiers. The data store is structured according to a schema known to the SDSS. The exemplary method allows an addressable entity of the program to be stored at a storage location of the data store associated with a corresponding logical identifier. The addressable entity is stored in conformance with the schema as a result of at least one of compiling a source code representation of the addressable entity, interpreting an intermediate code representation of the addressable entity, linking the addressable entity to other addressable entities, and loading the addressable entity into the execution environment. The exemplary method allows a processor executing a machine code instruction of the program to access the addressable entity using an address corresponding to the logical identifier as an instruction operand during execution of the instruction.
1 . A method for program execution, the method comprising:
providing an execution environment for a program including a structured data storage system (SDSS) capable of accessing storage locations of a structured data store using corresponding logical identifiers, the data store structured according to a schema known to the SDSS;
allowing an addressable entity of the program to be stored at a storage location of the data store associated with a corresponding logical identifier, the addressable entity stored in conformance with the schema as a result of at least one of compiling a source code representation of the addressable entity, interpreting an intermediate code representation of the addressable entity, linking the addressable entity to other addressable entities, and loading the addressable entity into the execution environment; and
allowing a processor executing a machine code instruction of the program to access the addressable entity using an address corresponding to the logical identifier as an instruction operand during execution of the instruction.
2 . The method of claim 1 comprising:
creating or assisting in the creation of an association between the logical identifier and the addressable entity; and
storing and maintaining the association for use during program execution.
3 . The method of claim 2 comprising maintaining a processor memory representation of the addressable entity, having a corresponding logical identifier, to provide for a processing of the addressable entity by the processor during execution of the instruction.
4 . The method of claim 3 wherein the logical identifier associated with the addressable entity and the logical identifier corresponding to the processor memory representation of the addressable entity form an identifier space for supporting program execution within the execution environment.
5 . The method of claim 1 wherein the SDSS comprises a database management system (DBMS).
6 . The method of claim 5 wherein the DBMS includes at least one of a relational DBMS, an object-oriented DBMS, a dimensional DBMS, and a hierarchical-model DBMS.
7 . The method of claim 6 wherein the data store includes at least one of a relational database an object-oriented database, a dimensional database, and a hierarchical-model database.
8 . The method of claim 1 wherein the addressable entity represents at least one of a variable, a constant, a reference, and an instruction of the program.
9 . The method of claim 1 wherein allowing a machine code instruction to reference the addressable entity includes allowing a processor to use the SDSS to access the addressable entity in connection with at least one of reading a data value, writing a data value, and executing an instruction stored as the addressable entity in the storage location.
10 . The method of claim 1 comprising persistently maintaining links between addressable program entities and logical identifiers, wherein object code referencing the addressable program entities does not have to be re-linked upon subsequent processing of the addressable program entities following a rebooting of a system providing the execution environment.
11 . The method of claim 1 comprising providing at least one of a graphical user interface (GUI) and an application programming interface (API) to allow for at least one of:
accessing the addressable entity;
constructing queries related to at least one of the program, the addressable entity, and other related programs; and
managing at least one of the program when linked and loaded into the execution environment, multiple instances of the linked and loaded program, and the addressable entity for each instance of the linked and loaded program.
12 . The method of claim 1 wherein the program execution environment allows for use of an address space corresponding to the structured data store that can include a non-sequential virtual address space to support program execution.
13 . A system for program execution, the system comprising:
a processor for executing instructions of a program;
a structured data storage system (SDSS) operatively coupled to the processor, the SDSS capable of accessing storage locations of a structured data store using corresponding logical identifiers, the data store structured according to a schema known to the SDSS; and
an execution environment adapted to use the SDSS for execution of the program by the processor, wherein the execution environment:
allows an addressable entity of the program to be stored at a storage location of the SDSS associated with a corresponding logical identifier, the addressable entity stored in conformance with the schema as a result of at least one of compiling a source code representation of the addressable entity, interpreting an intermediate code representation of the addressable entity, linking the addressable entity to other addressable entities, and loading the addressable entity into the execution environment; and
allows the processor executing a machine code instruction to access the addressable entity using an address corresponding to the logical identifier as an instruction operand during execution of the instruction by the processor.
14 . The system of claim 13 wherein the SDSS is configured to create or assist in the creation of an association between the logical identifier and the addressable entity and to store and maintain the association for use during program execution.
15 . The system of claim 13 wherein the SDSS includes an addressable entity cache configured to maintain a processor memory representation of the addressable entity, having a corresponding logical identifier, to provide for a processing of the addressable entity by the processor during execution of the instruction.
16 . The system of claim 15 wherein the logical identifier associated with the addressable entity and the logical identifier corresponding to the processor memory representation of the addressable entity form an identifier space for supporting program execution within the execution environment.
17 . The system of claim 13 wherein the SDSS comprises a database management system (DBMS).
18 . The system of claim 17 wherein the DBMS includes at least one of a relational DBMS, an object-oriented DBMS, a dimensional DBMS, and a hierarchical-model DBMS.
19 . The system of claim 18 wherein the data store includes at least one of a relational database, an object-oriented database, a dimensional database, and a hierarchical-model database.
20 . The system of claim 13 wherein the addressable entity represents at least one of a variable, a constant, a reference, and an instruction of the program.
21 . The system of claim 13 wherein the execution environment is adapted to use the SDSS for execution of the program by allowing the processor to access the addressable entity when executing the machine code instruction by at least one of reading a data value, writing a data value, and executing an instruction stored as the addressable entity in the storage location.
22 . The system of claim 13 wherein the SDSS is adapted to persistently maintain links between addressable program entities and logical identifiers, and wherein object code referencing the addressable program entities does not have to be re-linked upon subsequent processing of the addressable program entities following a rebooting of the system providing the execution environment.
23 . The system of claim 13 wherein the execution environment includes at least one of a graphical user interface (GUI) and an application programming interface (API) configured to at least one of:
access the addressable entity;
construct queries related to at least one of the program, the addressable entity, and other related programs; and
managing at least one of the program when linked and loaded into the execution environment, multiple instances of the linked and loaded program, and the addressable entity for each instance of the linked and loaded program.
24 . The system of claim 13 wherein the program execution environment allows for use of an address space corresponding to the structured data store that can include a non-sequential virtual address space to support program execution.
25 . A method for program execution, the method comprising:
providing an execution environment for a program including a non-sequential address space;
allowing an addressable entity of the program to be stored at a storage location of a data store associated with a corresponding logical identifier, the addressable entity stored as a result of at least one of compiling a source code representation of the addressable entity, interpreting an intermediate code representation of the addressable entity, linking the addressable entity to other addressable entities, and loading the addressable entity into the execution environment; and
allowing a processor executing a machine code instruction of the program to access the addressable entity using an address of the non-sequential address space corresponding to the logical identifier as an instruction operand during execution of the instruction.
26 . A system for program execution, the system comprising:
means for executing instructions of a program;
memory access means for accessing storage locations of a structured data store using corresponding logical identifiers, the data store structured according to a schema known to the memory access means;
means for allowing an addressable entity of the program to be stored at a storage location associated with a corresponding logical identifier, the addressable entity stored in conformance with the schema as a result of at least one of compiling of a source code representation of the addressable entity, interpreting of an intermediate code representation of the addressable entity, linking of the addressable entity to other addressable entities, and loading of the addressable entity into the execution environment; and
means for allowing access to the addressable entity during execution of a machine code instruction having an address corresponding to the logical identifier as an instruction operand.
27 . A computer-program instruction embodied in a computer-readable medium, the instruction for execution within a program execution environment including a structured data storage system (SDSS) capable of accessing storage locations of a structured data store using corresponding logical identifiers, the data store structured according to a schema known to the SDSS, the instruction comprising:
an operational code portion for instructing a processor to perform a predetermined operation; and
an operand portion including an address corresponding to a logical identifier for referencing an addressable entity stored at a storage location of the SDSS associated with a corresponding logical identifier, the addressable entity stored in conformance with the schema as a result of at least one of compiling a source code representation of the addressable entity, interpreting an intermediate code representation of the addressable entity, linking the addressable entity to other addressable entities, and loading the addressable entity into the execution environment.
28 . A computer program product embodied in a computer-readable medium for executing a program in an environment including a structured data storage system (SDSS) capable of accessing storage locations of a structured data store using corresponding logical identifiers, the data store structured according to a schema known to the SDSS, the computer program product comprising instructions for:
allowing an addressable entity of the program to be stored at a storage location of the SDSS associated with a corresponding logical identifier, the addressable entity stored in conformance with the schema as a result of at least one of a compiling of a source code representation of the addressable entity, an interpreting of an intermediate code representation of the addressable entity, a linking of the addressable entity to other addressable entities, and a loading of the addressable entity into the execution environment; and
allowing a processor executing a machine code instruction to reference the addressable entity using an address corresponding to the logical identifier as an instruction operand during execution of the instruction.