Segmented global area database
First Claim
1. A method for an application program to access an object-oriented database (OODB), the application program being one of a portfolio management application and a trade order management system (TOMS) application, the application program being associated with an operating system, the method comprising:
- (a) connecting to a data repository of the database, the data repository including a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium, wherein the database is not stored in a main memory of a computer connecting to the data repository, the file segments including objects directly interconnected by memory pointers, wherein each object has an associated stored time stamp, the time stamp indicating at least one of a time when the object first appeared in the data repository and a time when the object became invalid, wherein the data in the data repository is not copied into main memory from the data repository when needed by the application program, and wherein the database is one of a portfolio management database and a TOMS database;
(b) registering a fault handler with the operating system, the fault handler associated with the data repository;
(c) catching, by the fault handler, a segmentation fault issued for an object referenced by the application program and resident in the data repository, the segmentation fault issued at an interrupt location in the application program;
(d) finding a file segment of the data repository that corresponds to the referenced object;
(e) mapping the found file segment into the main memory; and
(f) restarting the application program at the interrupt location.
6 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention relate to memory management methods and systems for object-oriented databases (OODB). In an embodiment, a database includes a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium and not in main memory. An application program connects to the database. A fault handler associated with the database is registered with the operating system of the application program. The fault handler catches a segmentation fault that is issued for an object referenced by the application program and resident in the database. A file segment corresponding to the referenced object is found and mapped into main memory. The application program is restarted. Because data is transparently mapped into and out of the main memory without copying the data, objects may be read with near zero latency, and size restrictions on the database may be eliminated.
105 Citations
34 Claims
-
1. A method for an application program to access an object-oriented database (OODB), the application program being one of a portfolio management application and a trade order management system (TOMS) application, the application program being associated with an operating system, the method comprising:
-
(a) connecting to a data repository of the database, the data repository including a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium, wherein the database is not stored in a main memory of a computer connecting to the data repository, the file segments including objects directly interconnected by memory pointers, wherein each object has an associated stored time stamp, the time stamp indicating at least one of a time when the object first appeared in the data repository and a time when the object became invalid, wherein the data in the data repository is not copied into main memory from the data repository when needed by the application program, and wherein the database is one of a portfolio management database and a TOMS database; (b) registering a fault handler with the operating system, the fault handler associated with the data repository; (c) catching, by the fault handler, a segmentation fault issued for an object referenced by the application program and resident in the data repository, the segmentation fault issued at an interrupt location in the application program; (d) finding a file segment of the data repository that corresponds to the referenced object; (e) mapping the found file segment into the main memory; and (f) restarting the application program at the interrupt location. - View Dependent Claims (2)
-
-
3. A method for an application program to manage memory associated with an object-oriented database (OODB) accessed by the application program, the application program associated with an operating system, the method comprising:
-
(a) connecting to a data repository of the database, the data repository including a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium, wherein the database is not stored in a main memory of a computer connecting to the data repository; (b) registering a fault handler with the operating system, the fault handler associated with the data repository; (c) catching, by the fault handler, a segmentation fault issued for an object referenced by the application program and resident in the data repository, the segmentation fault issued at an interrupt location in the application program; (d) finding a file segment of the data repository that corresponds to the referenced object; (e) mapping the found file segment into the main memory; and (f) restarting the application program at the interrupt location, wherein file segments in the data repository are not copied into the main memory from the data repository when needed by the application program and are instead read, updated, deleted or modified directly in the data repository by the application program. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A system for an application program to manage memory associated with an object-oriented database (OODB) accessed by the application program, the application program associated with an operating system, the system for an application program to manage memory comprising:
-
(a) means for connecting to a data repository of the database, the data repository including a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium, wherein the database is not stored in a main memory of a computer connecting to the data repository; (b) means for registering a fault handler with the operating system, the fault handler associated with the data repository; (c) means for catching, by the fault handler, a segmentation fault issued for an object referenced by the application program and resident in the data repository, the segmentation fault issued at an interrupt location in the application program; (d) means for finding a file segment of the data repository that corresponds to the referenced object; (e) means for mapping the found file segment into the main memory; and (f) means for restarting the application program at the interrupt location, wherein file segments in the data repository are not copied into the main memory from the data repository when needed by the application program and are instead read, updated, deleted or modified directly in the data repository by the application program. - View Dependent Claims (30)
-
-
31. An object-oriented database (OODB), comprising:
-
(a) a data repository including a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium; (b) the file segments including objects directly interconnected by memory pointers; (c) each object having an associated stored time stamp, the time stamp indicating at least one of a time when the object first appeared in the data repository and a time when the object became invalid; and (d) the data in the data repository not being copied into a main memory of a computer accessing the data, wherein the database is not stored in the main memory, wherein the data repository has an associated fault handler, the fault handler registered by an application program with an operating system associated with the application program, wherein the fault handler is configured to catch a segmentation fault issued for an object referenced by the application program and resident in the data repository, the segmentation fault issued at an interrupt location in the application program, wherein a file segment of the data repository that corresponds to the referenced object is mapped into the main memory, and wherein the application program is restarted at the interrupt location. - View Dependent Claims (32)
-
-
33. A machine-readable medium encoded with a plurality of processor-executable instructions for:
-
(a) connecting to a data repository of an object-oriented database (OODB) accessed by an application program, the application program associated with an operating system, the data repository including a plurality of memory-mapped file segments stored on at least one nonvolatile memory medium, wherein the database is not stored in a main memory of a computer connecting to the data repository; (b) registering a fault handler with the operating system, the fault handler associated with the data repository; (c) catching, by the fault handler, a segmentation fault issued for an object referenced by the application program and resident in the data repository, the segmentation fault issued at an interrupt location in the application program; (d) finding a file segment of the data repository that corresponds to the referenced object; (e) mapping the found file segment into the main memory; and (f) restarting the application program at the interrupt location, wherein file segments in the data repository are not copied into the main memory from the data repository when needed by the application program and are instead read, updated, deleted or modified directly in the data repository by the application program. - View Dependent Claims (34)
-
Specification