Methods for facilitating persistent storage of in-memory databases and devices thereof
First Claim
1. A computing device, comprising:
- a memory containing a machine readable medium comprising machine executable code having stored thereon instructions for facilitating persistent storage of in-memory databases; and
a hardware processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to;
identify a transaction block in assembly language code associated with an application, the transaction block comprising an assignment to a location in an in-memory database;
modify the assembly language code to insert one or more functions configured to, when invoked at run-time;
determine when the location associated with the assignment in the transaction block of the assembly language code is within a range of a region mapped to the application by comparing the location against the range of the region mapped to the application; and
facilitate persistent storage of one or more data updates associated with the assignment in the transaction block of the assembly language code by inserting the location and a size associated with the assignment in the transaction block of the assembly language code into an entry of a data structure and replicating data associated with the entry to persistent data storage, only when the location is within the range of the region mapped to the application; and
assemble the assembly language code to generate object code and link the object code with a run-time library comprising a definition for the inserted functions to generate an executable file.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, non-transitory computer readable medium, and application host computing device that parses assembly language code to identify a transaction block including an assignment to a memory location, the assembly language code associated with an application and output by a compiler. The assembly language code is modified to insert an invocation of a plurality of functions collectively configured to facilitate persistent storage of one or more data updates associated with the assignment at run-time. The assembly language code is assembled to generate object code and the object code is linked with at least a run-time library including a definition for each of the plurality of inserted functions to generate an executable file for the application.
-
Citations
21 Claims
-
1. A computing device, comprising:
-
a memory containing a machine readable medium comprising machine executable code having stored thereon instructions for facilitating persistent storage of in-memory databases; and a hardware processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to; identify a transaction block in assembly language code associated with an application, the transaction block comprising an assignment to a location in an in-memory database; modify the assembly language code to insert one or more functions configured to, when invoked at run-time; determine when the location associated with the assignment in the transaction block of the assembly language code is within a range of a region mapped to the application by comparing the location against the range of the region mapped to the application; and facilitate persistent storage of one or more data updates associated with the assignment in the transaction block of the assembly language code by inserting the location and a size associated with the assignment in the transaction block of the assembly language code into an entry of a data structure and replicating data associated with the entry to persistent data storage, only when the location is within the range of the region mapped to the application; and assemble the assembly language code to generate object code and link the object code with a run-time library comprising a definition for the inserted functions to generate an executable file. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of facilitating persistent storage of in-memory databases, comprising:
-
identifying, by a computing device, a transaction block in assembly language code associated with an application, the transaction block comprising an assignment to a location in an in-memory database; modifying, by the computing device, the assembly language code to insert one or more functions configured to, when invoked at run-time; determine when the location associated with the assignment in the transaction block of the assembly language code is within a range of a region mapped to the application by comparing the location against the range of the region mapped to the application; and facilitate persistent storage of one or more data updates associated with the assignment in the transaction block of the assembly language code by inserting the location and a size associated with the assignment in the transaction block of the assembly language code into an entry of a data structure and replicating data associated with the entry to persistent data storage, only when the location is within the range of the region mapped to the application; and assembling, by the computing device, the assembly language code to generate object code and linking the object code with a run-time library comprising a definition for the inserted functions to generate an executable file. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable medium having stored thereon instructions for facilitating persistent storage of in-memory databases comprising machine executable code which when executed by at least one machine, causes the machine to:
-
identify a transaction block in assembly language code associated with an application, the transaction block comprising an assignment to a location in an in-memory database; modify the assembly language code to insert one or more functions configured to, when invoked at run-time; determine when the location associated with the assignment in the transaction block of the assembly language code is within a range of a region mapped to the application by comparing the location against the range of the region mapped to the application; and facilitate persistent storage of one or more data updates associated with the assignment in the transaction block of the assembly language code by inserting the location and a size associated with the assignment in the transaction block of the assembly language code into an entry of a data structure and replicating data associated with the entry to persistent data storage, only when the location is within the range of the region mapped to the application; and assemble the assembly language code to generate object code and link the object code with a run-time library comprising a definition for the inserted functions to generate an executable file. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification