Patent US2537188A successfully refreshed from Google Patents.
Patent US2411737A successfully refreshed from Google Patents.
Patent US1642173A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5680573A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of buffering data objects in a database

Assignee: Sybase Inc
•
Filing: 1994-07-12
•
Granted: 1997-10-21
•
Expires: 2014-07-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Computer systems and computer implemented methods are provided for managing memory in a database management system. The computer memory is partitioned into a plurality of buffer caches, each of which is separately addressable. One buffer cache is set aside as a default buffer cache, while the other buffer caches are reserved for specific data objects meeting certain predefined criteria. Those objects meeting the predefined criteria are stored in reserved buffer caches where they are likely to remain for a relatively long period of time (in comparison to data objects stored in the default buffer caches). A buffer cache may have a plurality of memory pools, each of which contains multiple storage blocks. The storage blocks in a given memory pool are identically sized, while the storage blocks in one memory pool are sized differently from the storage blocks in another memory pool.

Inventors

  • 👤 David S. Rubin
  • 👤 Robert E. Mihalyi
  • 👤 David A. Marshall

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 03:40
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0875; G06F12/0866; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2455; G06F16/24552; G06F12/0223; G06F12/023; G06F2212/00; G06F2212/31; G06F2212/311

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 291 words
A method of buffering data objects in a database of a computer system, the computer system having one or more storage devices on which the data objects of the database are stored, the computer system also having a memory on which the data objects may be stored temporarily and accessed relatively faster than from the one or more storage devices, the computer system also supporting an on line transaction processing (OLTP) environment in which data objects are retrieved randomly and a decision support system (DSS) environment in which data objects are retrieved non-randomly, the method comprising the following steps: (a) allocating a portion of the memory as a buffer cache; (b) allocating at least a first memory pool and a second memory pool each having a user configurable size within the buffer cache, the first memory pool having multiple identical storage blocks, each having a first storage capacity, and the second memory pool also having multiple identical storage blocks, each having a second storage capacity, the second storage capacity being greater than the first storage capacity; (c) identifying a selected data object; (d) determining whether the selected data object is selected randomly; (e) based upon whether the selected data object is selected randomly or non-randomly, determining in which memory pool to copy the selected data object; and (f) storing the data object in the memory pool identified in step (e) wherein the step of determining in which memory pool of the buffer cache to copy the data object determines that the data object should be copied to the first memory pool if the selected that object is randomly selected, and that the data object should be copied to the second memory pool if the selected data object is not randomly, selected.
Claim 2
Independent Claim 291 words
A method of buffering data objects in a database of a computer system, the computer system having one or more storage devices on which the data objects of the database are stored, the computer system also having a memory on which the data objects may be stored temporarily and accessed relatively faster than from the one or more storage devices, the computer system also supporting an on line transaction processing (OLTP) environment in which data objects are retrieved randomly and a decision support system (DSS) environment in which data objects are retrieved non-randomly, the method comprising the following steps: (a) allocating a portion of the memory as a buffer cache; (b) allocating at least a first memory pool and a second memory pool each having a user configurable size within the buffer cache, the first memory pool having multiple identical storage blocks, each having a first storage capacity, and the second memory pool also having multiple identical storage blocks, each having a second storage capacity, the second storage capacity being greater than the first storage capacity; (c) identifying a selected data object; (d) determining whether the selected data object is selected randomly; (e) based upon whether the selected data object is selected randomly or non-randomly, determining in which memory pool to copy the selected data object; and (f) storing the data object in the memory pool identified in step (e) wherein the step of determining in which memory pool of the buffer cache to copy the data object determines that the data object should be copied to the first memory pool if the selected that object is randomly selected, and that the data object should be copied to the second memory pool if the selected data object is not randomly, selected.
Claim 3
Dependent Claim 31 words
The method of claim 1 wherein the step of allocating a portion of the memory as a buffer cache allocates at least two buffer caches, each of which is separately addressable.
Claim 4
Dependent Claim 30 words
The method of claim 1 further comprising a step of queuing data objects in the each memory pool of the buffer cache according to least recently used--most recently used rules.
Claim 5
Dependent Claim 65 words
The method of claim 1 wherein the step of allocating at least a first memory pool and a second memory pool within the buffer cache includes allocating at least a third memory pool with a plurality of identical storage blocks, said storage blocks of the third memory pool having a third storage capacity that is intermediate in size between the first and second storage capacities.
Claim 6
Dependent Claim 226 words
A computer system for managing the storage of data objects in a database, the computer system comprising: one or more storage devices on which the data objects of a database are stored; a memory in which the data objects can be stored temporarily and accessed at relatively faster rate than from the one or more storage devices; means for copying data objects from the one or more storage devices to the memory; a portion of the memory allocated as a buffer cache having at least a first memory pool and a second memory pool each having a user configurable size, the first memory pool having multiple identical storage blocks, each of a first storage capacity, and the second memory pool also having identical multiple storage blocks each of a second storage capacity, the second storage capacity being greater than the first storage capacity; and means for copying a selected data object to the first or second memory pool based on whether the selected data object is randomly selected, wherein the means for copying copies the selected data object to the first memory pool if the selected data object is randomly selected in an on line transaction processing (OLTP) environment and copies the selected data object to the second memory pool if the selected data object is not randomly selected in a decision support system (DSS) environment.
Claim 7
Dependent Claim 226 words
A computer system for managing the storage of data objects in a database, the computer system comprising: one or more storage devices on which the data objects of a database are stored; a memory in which the data objects can be stored temporarily and accessed at relatively faster rate than from the one or more storage devices; means for copying data objects from the one or more storage devices to the memory; a portion of the memory allocated as a buffer cache having at least a first memory pool and a second memory pool each having a user configurable size, the first memory pool having multiple identical storage blocks, each of a first storage capacity, and the second memory pool also having identical multiple storage blocks each of a second storage capacity, the second storage capacity being greater than the first storage capacity; and means for copying a selected data object to the first or second memory pool based on whether the selected data object is randomly selected, wherein the means for copying copies the selected data object to the first memory pool if the selected data object is randomly selected in an on line transaction processing (OLTP) environment and copies the selected data object to the second memory pool if the selected data object is not randomly selected in a decision support system (DSS) environment.
Claim 8
Dependent Claim 39 words
The computer system of claim 5 wherein the buffer cache further includes at least a third memory pool having a plurality of identical storage blocks having a third storage capacity that is between the first and second storage capacities.
Claim 9
Dependent Claim 203 words
In a computer comprising a processor, a memory, and a storage device, said computer including a database system storing a plurality of database tables, each table comprising a plurality of data records, a method for accessing said data records, the method comprising: (a) allocating a portion of the memory as a buffer cache; (b) allocating at least a first memory pool and a second memory pool each having a user configurable size within the buffer cache, the first memory pool having multiple identical storage blocks, each having a first storage capacity, and the second memory pool also having multiple identical storage block, each having a second storage capacity, the second storage capacity being greater than the first storage capacity; (c) receiving a request for performing a database operation which require access to data objects stored within said plurality of database tables; (d) determining whether said request occurs in response to an OLTP query or a DSS query; (e) if said request is determined to be in response to a DSS query copying said data objects to said second memory pool, and if said request is determined to be in response to an OLTP query, copying said data objects to said first memory pool.
Claim 10
Dependent Claim 203 words
In a computer comprising a processor, a memory, and a storage device, said computer including a database system storing a plurality of database tables, each table comprising a plurality of data records, a method for accessing said data records, the method comprising: (a) allocating a portion of the memory as a buffer cache; (b) allocating at least a first memory pool and a second memory pool each having a user configurable size within the buffer cache, the first memory pool having multiple identical storage blocks, each having a first storage capacity, and the second memory pool also having multiple identical storage block, each having a second storage capacity, the second storage capacity being greater than the first storage capacity; (c) receiving a request for performing a database operation which require access to data objects stored within said plurality of database tables; (d) determining whether said request occurs in response to an OLTP query or a DSS query; (e) if said request is determined to be in response to a DSS query copying said data objects to said second memory pool, and if said request is determined to be in response to an OLTP query, copying said data objects to said first memory pool.
Claim 11
Dependent Claim 33 words
The method of claim 7, wherein said first buffer pool has storage blocks which are 2K in size and said second buffer pool has storage blocks which are greater than 2K in size.
Claim 12
Dependent Claim 53 words
The method of claim 7, wherein determining whether said request occurs in response to an OLTP query or a DSS query determines that said request is in response to an OLTP query when said database operation comprises a database query which results in random access of data records from said first database table.
Claim 13
Dependent Claim 53 words
The method of claim 7, wherein determining whether said request occurs in response to an OLTP query or a DSS query determines that said request is in response to a DSS query when said database operation comprises a database query which results in non-random access of data records from said first database table.
Claim 14
Dependent Claim 20 words
The method of claim 7, wherein said second buffer pool comprises storage blocks which are at least 64K in size.
Claim 15
Dependent Claim 14 words
The method of claim 7, wherein said database operation comprises a database query operation.
Claim 16
Dependent Claim 24 words
The method of claim 12, wherein the database query operation comprises a Structured Query Language (SQL) command submitted by a client to said computer.

References Cited (Backward Citations)

US4989132A Cited
US5452445A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-10-20 2001-04-21 2001-10-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-10-20 2005-04-21 2005-10-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-10-20 2009-04-21 2009-10-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag