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

Method and apparatus for selective data caching implemented with noncacheable and cacheable data for improved cache performance in a computer networking system

Assignee: Oracle International Corp
•
Filing: 1997-03-17
•
Granted: 2000-02-01
•
Expires: 2017-03-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for selectively caching data in a computer network. Initially, data objects which are anticipated as being accessed only once or seldomly accessed are designated as being exempt from being cached. When a read request is generated, the cache controller reads the requested data object from the cache memory if it currently resides in the cache memory. However, if the requested data object cannot be found in the cache memory, it is read from a mass storage device. Thereupon, the cache controller determines whether the requested data object is to be cached or is exempt from being cached. If the data object is exempt from being cached, it is loaded directly into a local memory and is not stored in the cache. This provides improved cache utilization because only objects that are used multiple times are entered in the cache. Furthermore, processing overhead is minimized by reducing unnecessary cache insertion and purging operations. In addition, I/O operations are minimized by increasing the likelihood that hot objects are retained in the cache longer at the expense of infrequently used objects.

Inventors

  • 👤 Richard Frank
  • 👤 Gopalan Arun
  • 👤 Richard Anderson
  • 👤 Rabah Mediouni
  • 👤 Stephen Klein

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 09:20
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0888; G06F2212/00; G06F2212/46; G06F2212/465; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 413 words
A method for selectively caching data in a computer network, comprising steps of: indicating particular data as exempt from being cached when said particular data has a specified characteristic, said specified characteristic being something other than main memory address location of said particular data; receiving a request from an application program running on a first computer system for a set of data, said request indicating whether said set of data is exempt; determining whether said set of data resides within a random access memory of the first computer system; in response to a determination that said set of data resides within said random access memory: retrieving said set of data from said random access memory; and providing said set of data to said application program; in response to a determination that said set of data does not reside within said random access memory: retrieving said set of data from a mass storage device residing apart from said first computer system; determining from said request whether said set of data is exempt; in response to a determination that said set of data is not exempt: storing said set of data from said mass storage device into said random access memory of said first computer system; and providing said set of data to said application program running on the first computer system; in response to a determination that said set of data is exempt: providing said set of data to said application program running on the first computer system without storing said set of data into the random access memory; if a second application running on a second computer system coupled to the computer network requests the set of data: providing the set of data to the second application program and storing the set of data in a second random access memory of the second computer system if the set of data is not exempt, otherwise not storing the set of data into the second random access memory of the second computer system if the set of data is exempt; wherein selecting the data that is to be exempt solely depend on an individual object basis, wherein the individual object includes choices of a page, a record, a field and a table; and said data which is designated as being exempt from being cached before it is retrieved is to be used only one time within a given time span, and said request by said application program indicate exempt data designation in a single operation.
Claim 2
Independent Claim 413 words
A method for selectively caching data in a computer network, comprising steps of: indicating particular data as exempt from being cached when said particular data has a specified characteristic, said specified characteristic being something other than main memory address location of said particular data; receiving a request from an application program running on a first computer system for a set of data, said request indicating whether said set of data is exempt; determining whether said set of data resides within a random access memory of the first computer system; in response to a determination that said set of data resides within said random access memory: retrieving said set of data from said random access memory; and providing said set of data to said application program; in response to a determination that said set of data does not reside within said random access memory: retrieving said set of data from a mass storage device residing apart from said first computer system; determining from said request whether said set of data is exempt; in response to a determination that said set of data is not exempt: storing said set of data from said mass storage device into said random access memory of said first computer system; and providing said set of data to said application program running on the first computer system; in response to a determination that said set of data is exempt: providing said set of data to said application program running on the first computer system without storing said set of data into the random access memory; if a second application running on a second computer system coupled to the computer network requests the set of data: providing the set of data to the second application program and storing the set of data in a second random access memory of the second computer system if the set of data is not exempt, otherwise not storing the set of data into the second random access memory of the second computer system if the set of data is exempt; wherein selecting the data that is to be exempt solely depend on an individual object basis, wherein the individual object includes choices of a page, a record, a field and a table; and said data which is designated as being exempt from being cached before it is retrieved is to be used only one time within a given time span, and said request by said application program indicate exempt data designation in a single operation.
Claim 3
Dependent Claim 30 words
The method of claim 1 further comprising the step of instructing said application program to exempt said particular data from being cached based on said specified characteristic of the data.
Claim 4
Dependent Claim 27 words
The method of claim 2, wherein a database administrator selects which data is to be exempt from being cached based on said specified characteristic of the data.
Claim 5
Dependent Claim 40 words
The method of claim 2 further comprising the step of setting a flag by said application program corresponding to said particular data requested by said application program to indicate that the particular data is to be exempt from being cached.
Claim 6
Dependent Claim 37 words
The method of claim 1 further comprising the step of retaining data which are more likely to be accessed in favor of data which are seldom used by not caching the seldom used data at any time.
Claim 7
Dependent Claim 24 words
The method as recited in claim 1 wherein said specified characteristic is a type of application program for reading or writing said particular data.
Claim 8
Dependent Claim 24 words
The method as recited in claim 1 wherein said specified characteristic is that the data is to be shared by multiple clients and applications.
Claim 9
Dependent Claim 329 words
In a computer network, an apparatus for selectively caching data, comprising: a first client computer coupled to the computer network for running an application program, wherein the first client computer includes a first local memory; a second client computer coupled to the computer network for running the application program, wherein the second client computer includes a second local memory; a mass storage device coupled to the computer network for storing data; and a server computer coupled to the first client computer, the second client computer and the mass storage device for handling read requests generated by the application program running on the first client computer and the second client computer, wherein the server computer is comprised of: a cache memory for temporarily storing data; and a cache controller coupled to the cache memory for controlling the cache memory, wherein requested data not currently residing in the cache memory is read from the mass storage device and selectively: (a) stored in the cache memory of the server computer if said request for data indicates the data is not exempt from being cached; (b) not stored in the cache memory of the server computer and stored into the first local memory of the first client computer if said request for data indicates the data is exempt from being cached; and (c) not stored in the cache memory of the server computer and stored into the second local memory of the second client computer if said request for data indicates the data is exempt from being cached; wherein selecting the data that is to be exempt solely depend on an individual object basis, wherein the individual object includes choices of a page, a record, a field and a table; and said data which is designated as being exempt from being cached before it is retrieved is to be used only one time within a given time span, and said request by said application program indicates exempt data designation in a single operation.
Claim 10
Dependent Claim 329 words
In a computer network, an apparatus for selectively caching data, comprising: a first client computer coupled to the computer network for running an application program, wherein the first client computer includes a first local memory; a second client computer coupled to the computer network for running the application program, wherein the second client computer includes a second local memory; a mass storage device coupled to the computer network for storing data; and a server computer coupled to the first client computer, the second client computer and the mass storage device for handling read requests generated by the application program running on the first client computer and the second client computer, wherein the server computer is comprised of: a cache memory for temporarily storing data; and a cache controller coupled to the cache memory for controlling the cache memory, wherein requested data not currently residing in the cache memory is read from the mass storage device and selectively: (a) stored in the cache memory of the server computer if said request for data indicates the data is not exempt from being cached; (b) not stored in the cache memory of the server computer and stored into the first local memory of the first client computer if said request for data indicates the data is exempt from being cached; and (c) not stored in the cache memory of the server computer and stored into the second local memory of the second client computer if said request for data indicates the data is exempt from being cached; wherein selecting the data that is to be exempt solely depend on an individual object basis, wherein the individual object includes choices of a page, a record, a field and a table; and said data which is designated as being exempt from being cached before it is retrieved is to be used only one time within a given time span, and said request by said application program indicates exempt data designation in a single operation.
Claim 11
Dependent Claim 18 words
The apparatus of claim 8, wherein the application program is programmed to exempt particular data from being cached.
Claim 12
Dependent Claim 32 words
The apparatus of claim 9, wherein a flag corresponding to said particular data is set in the application program to indicate that the particular data is to be exempt from being cache.
Claim 13
Dependent Claim 19 words
The apparatus of claim 8, wherein a database administrator selects which data is to be exempt from being cached.
Claim 14
Dependent Claim 34 words
The apparatus of claim 8, wherein data which is more likely to be accessed is retained in the cache in favor of data which is seldom used by not caching the seldom used data.
Claim 15
Dependent Claim 390 words
In a cache controller for controlling a cache memory in a computer network, a method for selectively caching data objects in the computer network, comprising steps of: detecting a first read request generated by an application program running on a first client computer coupled to the computer network, wherein the first client computer includes a first local memory; detecting a second read request generated by the application program running on a second client computer coupled to the computer network, wherein the second client computer includes a second local memory, said first and said second read request indicating whether data object sought is exempt from being cached based on a predetermined data characteristic other than main memory address location of said particular data object; determining whether a requested data object is currently stored within the cache memory contained in a server computer coupled to the computer network; retrieving the requested data object from a cache memory of the server computer if the requested data object is currently stored within the cache memory; if the requested data object is not currently stored in the cache memory of the server computer: accepting the requested data read from a mass storage device coupled to the computer network; determining whether the requested data object is to be cached in the cache memory of the server computer based on said predetermined data characteristic of the data object: caching the requested data object in the cache memory of the server computer from said mass storage device if the requested data object has been designated to be cached; and if the requested data object has been designated not to be cached: (a) not caching the requested data object in the cache memory of the server computer; and (b) storing the requested data object in the first local memory of the first client computer or the second local memory of the second client; wherein selecting the data object that is to be exempt solely depend on an individual object basis, wherein the individual object includes choices of a page, a record, a field and a table; and said data object which is designated as being exempt from being cached before it is retrieved is to be used only one time within a given time span, and said request by said application program indicates exempt-data-object designation in a single operation.
Claim 16
Dependent Claim 390 words
In a cache controller for controlling a cache memory in a computer network, a method for selectively caching data objects in the computer network, comprising steps of: detecting a first read request generated by an application program running on a first client computer coupled to the computer network, wherein the first client computer includes a first local memory; detecting a second read request generated by the application program running on a second client computer coupled to the computer network, wherein the second client computer includes a second local memory, said first and said second read request indicating whether data object sought is exempt from being cached based on a predetermined data characteristic other than main memory address location of said particular data object; determining whether a requested data object is currently stored within the cache memory contained in a server computer coupled to the computer network; retrieving the requested data object from a cache memory of the server computer if the requested data object is currently stored within the cache memory; if the requested data object is not currently stored in the cache memory of the server computer: accepting the requested data read from a mass storage device coupled to the computer network; determining whether the requested data object is to be cached in the cache memory of the server computer based on said predetermined data characteristic of the data object: caching the requested data object in the cache memory of the server computer from said mass storage device if the requested data object has been designated to be cached; and if the requested data object has been designated not to be cached: (a) not caching the requested data object in the cache memory of the server computer; and (b) storing the requested data object in the first local memory of the first client computer or the second local memory of the second client; wherein selecting the data object that is to be exempt solely depend on an individual object basis, wherein the individual object includes choices of a page, a record, a field and a table; and said data object which is designated as being exempt from being cached before it is retrieved is to be used only one time within a given time span, and said request by said application program indicates exempt-data-object designation in a single operation.
Claim 17
Dependent Claim 36 words
The method of claim 13 further comprising the step of accepting instruction from said application program as to whether the requested data object is to be cached, based on said specified characteristic of the data object.
Claim 18
Dependent Claim 37 words
The method of claim 14, wherein the instruction is provided by a database administrator, said database administrator selecting which data object is to be exempt from being cached based on said specified characteristic of the data object.
Claim 19
Dependent Claim 45 words
The method of claim 14 further comprising the step of checking a flag corresponding to said requested data object to determine whether the requested data object is to be exempted from being cached, said flag set by said application program that requested the data object.
Claim 20
Dependent Claim 40 words
The method of claim 13 further comprising the step of retaining data object which is more likely to be accessed in favor of data object which is seldom used by not caching the seldom used data object at any time.
Claim 21
Dependent Claim 25 words
The method as recited in claim 15 wherein said specified characteristic is a type of application program for reading or writing said particular data object.
Claim 22
Dependent Claim 25 words
The method as recited in claim 13 wherein said specified characteristic is that the data object is to be shared by multiple clients and applications.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-31 2003-08-02 2004-02-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-31 2007-08-02 2008-02-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-31 2011-08-02 2012-02-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag