← Back to Patent Explorer
US5577246A Expired / Lapsed US ⏱️ 0.0 years remaining

Database memory compaction and reclamation method

Assignee: Nokia of America Corp
•
Filing: 1995-02-22
•
Granted: 1996-11-19
•
Expires: 2015-02-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for maintaining the performance of the system while identifying and reclaiming unreferenced tuples. A set of status bits is associated with each tuple, which are used to indicate the current state of the tuple, and whether it is in a transient state while the garbage collector, according to this invention, is examining it, thus permitting the garbage collector to run without locking out other processing. Further, the garbage collector uses the status bits to audit linked lists used by a database manager against linkage failure. Finally, the garbage collector compresses data and removes redundant data found while traversing the tuple structure of the database.

Inventors

  • 👤 Charles A. Priddy
  • 👤 Eric D. Scott

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 23:22
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/023; G06F12/0253

Claims Analysis

Total Claims: 8
Claim 1
Independent Claim 208 words
A method for effecting recovery of database memory resources when necessary for use by a digital data processing system for performing real-time operations, said digital data processing system including a limited amount of memory, said memory having a plurality sequentially numbered memory pages, said database comprising a plurality of child tuples and one or more parent tuples, each of said parent tuples having at least one reference to one or more child tuples, said child tuples being stored in sequentially numbered memory locations on said memory pages and each child tuple having the capability of referencing another child tuple, said method comprising: copying child tuples from higher numbered memory locations to lower numbered memory locations by repetitively copying a child tuple from the highest numbered occupied memory location into the lowest unused memory location until the next lowest unused memory location has a higher number than the highest memory location in which a child tuple is located; resetting references to said copied child tuples in all tuples referencing said copied child tuples; marking all child tuples that are referenced from any of said tuples; collecting all unmarked child tuples, and collecting all copied child tuples from said higher numbered memory locations thereby creating unused higher numbered memory pages.
Claim 2
Independent Claim 208 words
A method for effecting recovery of database memory resources when necessary for use by a digital data processing system for performing real-time operations, said digital data processing system including a limited amount of memory, said memory having a plurality sequentially numbered memory pages, said database comprising a plurality of child tuples and one or more parent tuples, each of said parent tuples having at least one reference to one or more child tuples, said child tuples being stored in sequentially numbered memory locations on said memory pages and each child tuple having the capability of referencing another child tuple, said method comprising: copying child tuples from higher numbered memory locations to lower numbered memory locations by repetitively copying a child tuple from the highest numbered occupied memory location into the lowest unused memory location until the next lowest unused memory location has a higher number than the highest memory location in which a child tuple is located; resetting references to said copied child tuples in all tuples referencing said copied child tuples; marking all child tuples that are referenced from any of said tuples; collecting all unmarked child tuples, and collecting all copied child tuples from said higher numbered memory locations thereby creating unused higher numbered memory pages.
Claim 3
Dependent Claim 27 words
A method in accordance with claim 1 further including the step of deallocating said unused higher numbered memory pages after said step of collecting copied child tuples.
Claim 4
Dependent Claim 36 words
A method in accordance with claim 1 wherein said database also includes a free list of unallocated child tuples, and said step of marking said child tuples includes marking said unallocated tuples on said free list.
Claim 5
Independent Claim 245 words
A method for effecting recovery of database memory resources when necessary for use by a digital data processing system for performing real-time operations, said digital data processing system including a limited amount of memory, said memory having a plurality of sequentially numbered memory pages, said database comprising a plurality of child tuples and one or more parent tuples, said parent tuples having at least one reference each to one or more child tuples, said child tuples being stored in sequentially numbered memory locations on said memory pages, each of said child tuples having unique data and a link to another of said child tuples, selected ones of said child tuples being linked into lists, said data base further comprising an index list having a plurality of links to a plurality of linked lists of child tuples, said method comprising: selecting unused memory locations among said child tuples in lower numbered memory locations; compressing child tuples from higher numbered memory locations to lower numbered memory locations by copying said child tuples from higher numbered memory locations into said selected unused memory locations; resetting references of child tuples from said higher numbered memory locations to said lower numbered memory locations, said resetting including linking said lower numbered memory child tuples into the linked list of said higher numbered memory child tuple; marking all child tuples referenced from said parent tuples; collecting all unmarked child tuples; and collecting all compressed child tuples from said higher numbered memory locations.
Claim 6
Independent Claim 245 words
A method for effecting recovery of database memory resources when necessary for use by a digital data processing system for performing real-time operations, said digital data processing system including a limited amount of memory, said memory having a plurality of sequentially numbered memory pages, said database comprising a plurality of child tuples and one or more parent tuples, said parent tuples having at least one reference each to one or more child tuples, said child tuples being stored in sequentially numbered memory locations on said memory pages, each of said child tuples having unique data and a link to another of said child tuples, selected ones of said child tuples being linked into lists, said data base further comprising an index list having a plurality of links to a plurality of linked lists of child tuples, said method comprising: selecting unused memory locations among said child tuples in lower numbered memory locations; compressing child tuples from higher numbered memory locations to lower numbered memory locations by copying said child tuples from higher numbered memory locations into said selected unused memory locations; resetting references of child tuples from said higher numbered memory locations to said lower numbered memory locations, said resetting including linking said lower numbered memory child tuples into the linked list of said higher numbered memory child tuple; marking all child tuples referenced from said parent tuples; collecting all unmarked child tuples; and collecting all compressed child tuples from said higher numbered memory locations.
Claim 7
Dependent Claim 46 words
A method in accordance with claim 4 wherein said step of compressing comprises the substeps of: a. locating free tuples in lower numbered memory pages; and b. copying tuples from the highest numbered occupied memory location to said located free tuples in lower numbered memory pages.
Claim 8
Dependent Claim 39 words
A method in accordance with claim 5 further comprising: performing substeps a and b until one of said located free tuples has an address higher than one of said tuples to be copied from said higher numbered memory locations.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-11-19 2000-05-20 2000-11-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-11-19 2004-05-20 2004-11-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-11-19 2008-05-20 2008-11-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag