Multi-Ring Shared, Traversable, and Dynamic Advanced Database
AssigneeWebroot Inc.
InventorJohn R. Shaw, II
Life of this patent
Estimating the term…
Abstract
Examples of the present disclosure describe systems and methods for sharing memory using a multi-ring shared, traversable and dynamic database. In aspects, the database may be synchronized and shared between multiple processes and/or operation mode protection rings of a system. The database may also be persisted to enable the management of information between hardware reboots and application sessions. The information stored in the database may be view independent, traversable, and resizable from various component views of the database. In some aspects, an event processor is additionally described. The event processor may use the database to allocate memory chunks of a shared heap to components/processes in one or more protection modes of the operating system.
Claims20
A system comprising:
- one or more processors;
- and
- memory coupled to at least one of the one or more processors, the memory comprising computer executable instructions that, when executed by the at least one processor, performs a method comprising:
- submitting an insert request to a dynamic memory database, wherein the dynamic memory database is synchronized between two or more processes, wherein the two or more processes are executing in different operating system operation modes;
- evaluating a shared memory heap to determine whether memory space is available to perform the insert request;
- when it is determined that the memory space is not available, adding additional memory space to the shared memory heap;
- in response to adding the additional memory space, inserting the insert request to the dynamic memory database;
- and
- mapping modified memory information of the shared memory heap to at least one of the two or more processes.
A method comprising:
- submitting a request to a dynamic memory database, wherein the dynamic memory database is synchronized between two or more processes, wherein the two or more processes are executing in different operating system operation modes;
- evaluating a shared memory heap associated with the dynamic memory database to determine whether memory space is available to perform the request;
- when it is determined that the memory space is not available:
- copying a current state of the shared memory heap;
- adding additional memory space to the shared memory heap to create a modified shared memory heap;
- and
- inserting the current state of the shared memory heap into the modified shared memory heap
- inserting the request to the dynamic memory database;
- and
- mapping memory information of the modified shared memory heap to at least one of the two or more processes.
A computer readable media encoding computer executable instructions which, when executed by at least one processor, performs a method for sending self-terminating email content, comprising:
- submitting a request to a dynamic memory database, wherein the dynamic memory database is synchronized between two or more processes, wherein the two or more processes are executing in different operating system operation modes;
- evaluating a shared memory heap associated with the dynamic memory database to determine whether memory space is available to perform the request;
- when it is determined that the memory space is not available:
- copying a current state of the shared memory heap;
- adding additional memory space to the shared memory heap to create a modified shared memory heap;
- and
- inserting the current state of the shared memory heap into the modified shared memory heap
- inserting the request to the dynamic memory database;
- and
- mapping memory information of the modified shared memory heap to at least one of the two or more processes.
Dependencies are inferred from the claim text.