IP Library Patent Application 15591013
Patent Application
App. No. 15/591,013

HYBRID BUFFER MANAGEMENT SCHEME FOR IMMUTABLE PAGES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
15/591,013
Abstract

Exemplary embodiments provide a database query processing system comprising a hybrid buffer pool stored in a computer main memory coupled to a processor, the hybrid buffer pool comprising: a shared buffer pool of page frames that contain dirty data pages that are modified and will be written back to storage; and an immutable buffer pool that temporarily contains read-only data pages from the storage, wherein the shared buffer pool is different from the immutable buffer pool. A page multiplexer that identifies which ones of the data pages from storage to store in the immutable buffer pool based at least in part on information from a query processor.

Claims (47)

1 . A database query processing system, comprising:

a hybrid buffer pool stored in a computer main memory coupled to a processor, the hybrid buffer pool comprising:

a shared buffer pool of page frames that contain dirty data pages that are modified and will be written back to storage; and

an immutable buffer pool that temporarily contains read-only data pages from the storage, wherein the shared buffer pool is different from the immutable buffer pool; and

a page multiplexer that identifies which ones of the data pages from storage to store in the immutable buffer pool based at least in part on information from a query processor.

2 . The database query processing system of claim 1 , wherein the immutable buffer pool comprises a circular array of fixed-sized circular page buffers, each comprising a plurality of page frames.

3 . The database query processing system of claim 2 , wherein each of the circular page buffers is identified using an array index, where indices of the array index enumerate the circular page buffers.

4 . The database query processing system of claim 3 , wherein the array index includes an indication of whether each of the circular page buffers is used or free.

5 . The database query processing system of claim 2 , further comprising an immutable buffer manager that assigns at least one of the circular page buffers to a requesting process.

6 . The database query processing system of claim 5 , wherein assignment of the at least one circular page buffer comprises:

responsive to determining that this is the first circular page buffer assigned to the process, assigning a free circular page buffer to the process; and responsive to determining that no free circular page buffer is available, assigning a page frame from the shared buffer pool to the process; and

responsive to determining this is not the first circular page buffer assigned to the process, determining if the process is in single buffer mode, and if so, assigning a page frame from the shared buffer pool to the process.

7 . The database query processing system of claim 5 , further comprising allocation of at least one page frame from a circular page buffer assigned to the process by:

responsive to finding a free page frame from the circular page buffer, assigning the free page frame to the process;

responsive to not finding a free page frame, determining if the process is in single buffer mode, and if so, assigning a page frame from the shared buffer pool to the process; and

responsive to determining that the process is not in single buffer mode, assigning another circular page buffer to the process.

8 . The database query processing system of claim 1 , wherein conditions that must be satisfied in order for the page multiplexer to identify the data pages for storage in the immutable buffer pool comprise:

any data page in the long tail that has no spatial or temporal locality;

any data page resulting from read queries with weak consistency; and

any data page that is accessed through a table index for a point or range query.

9 . The database query processing system of claim 1 , wherein the immutable buffer pool is a one-time read-only memory space that is recycled at any time after a query lifespan.

10 . The database query processing system of claim 1 , wherein the shared buffer pool stores long-lived shared data pages, and the immutable buffer pool stores short-lived read-only data pages that avoids delay due to eviction of dirty data pages from the shared buffer pool.

11 . The database query processing system of claim 1 , wherein the page multiplexer receives information from the query processor in the form of query hints.

12 . A database server having access to a storage of data pages,

a processor;

a main memory coupled to the processor, the main memory including a hybrid buffer pool, comprising:

a shared buffer pool of page frames that contains dirty data pages that are modified and will be written back to storage; and

an immutable buffer pool that temporarily contains read-only data pages from the storage, wherein the shared buffer pool is different from the immutable buffer pool; and

a page multiplexer executed by the processor that identifies which ones of the data pages from storage to store in the immutable buffer pool based at least in part on information from a query processor.

13 . The database server of claim 11 , wherein the immutable buffer pool comprises a circular array of fixed-sized circular page buffers, each comprising a plurality of page frames.

14 . The database server of claim 13 , wherein each of the circular page buffers is identified using an array index, where indices of the array index enumerate the circular page buffers.

15 . The database server of claim 14 , wherein the array index includes an indication of whether each of the circular page buffers is used or free.

16 . The database server of claim 13 , further comprising an immutable buffer manager executed by the processor that assigns at least one of the circular page buffers to a requesting process.

17 . The database server of claim 16 , wherein assignment of the at least one circular page buffer comprises:

responsive to determining that this is the first circular page buffer assigned to the process, assigning a free circular page buffer to the process; and responsive to determining that no free circular page buffer is available, assigning a page frame from the shared buffer pool to the process; and

responsive to determining this is not the first circular page buffer assigned to the process, determining if the process is in single buffer mode, and if so, assigning a page frame from the shared buffer pool to the process.

18 . The database server of claim 16 , further comprising allocation of at least one page frame from a circular page buffer assigned to the process by:

responsive to finding a free page frame from the circular page buffer, assigning the free page frame to the process;

responsive to not finding a free page frame, determining if the process is in single buffer mode, and if so, assigning a page frame from the shared buffer pool to the process; and

responsive to determining that the process is not in single buffer mode, assigning another circular page buffer to the process.

19 . The database server of claim 12 , wherein conditions that must be satisfied in order for the page multiplexer to identify the data pages for storage in the immutable buffer pool comprise:

any data page in the long tail that has no spatial or temporal locality;

any data page resulting from read queries with weak consistency; and

any data page that is accessed through a table index for a point or range query.

20 . The database server of claim 12 , wherein the immutable buffer pool is a one-time read-only memory space that is recycled at any time after a query lifespan.

21 . The database server of claim 12 , wherein the shared buffer pool stores long-lived shared data pages, and the immutable buffer pool stores short-lived read-only data pages that avoids delay due to eviction of dirty data pages from the shared buffer pool.

22 . The database server of claim 12 , wherein the page multiplexer receives information from the query processor in the form of query hints.

Assignments (2)
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Mar 2, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION., AS ADMINISTRATIVE AGENT
To: THRYV, INC. (FORMERLY KNOWN AS DEX MEDIA, INC.); THRYV HOLDINGS, INC. (FORMERLY KNOWN AS DEX MEDIA HOLDINGS, INC.)
Reel/Frame 055472/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2017
From: LEE, SANG WON; KI, YANG SEOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 042317/0926 →