IP Library Granted Patent US 7,216,203
Granted Patent B1
US 7,216,203 · App. 10/669,804 · Granted May 8, 2007

Read ahead technique for network based file systems

View Patent ↗
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 7,216,203
App. No.
10/669,804
Granted
May 8, 2007
Kind
B1
Abstract

One embodiment of the present invention includes a method for enabling a client node to automatically read ahead data from a network based file system. Specifically, in response to an application operating on the client node requesting a data page, the client node requests delivery of data pages from the network based file system. Upon reception, these data pages can each be served to the application. After each data page is served, it is determined whether the number of unrequested available data pages is less than the value of M. If so, an asynchronous read-ahead request is sent to a primary node of the network based file system for P number of data pages. The values of M and P can be such that P data pages can be fetched before M data pages are consumed by the requesting application.

Claims (39)

1. A method for reading ahead data pages from a network based file system, said method comprising:

determining whether a number of available data pages resident to a client node satisfies a defined condition associated with a first value;

initiating a read-ahead operation for a second value of data pages from said network based file system provided said number of available data pages satisfies said defined condition;

receiving said second value of data pages from said network based file system for providing to said an application operating on the client node; and

adding said second value of data pages to said number of available data pages resident to said client node,

wherein said second value of data pages can be fetched from said network based file system before the application operating on said client node consumes said first value of data pages and wherein said read-ahead operation for the second value of data pages is initiated upon serving a data page of the number of available data pages to the application operating on the client node.

2. The method as described in claim 1 , wherein said defined condition is that said number of available data pages resident to said client node is less than said first value.

3. The method as described in claim 1 , wherein said defined condition is that said number of available data pages resident to said client node is equal to said first value.

4. The method as described in claim 1 , wherein said defined condition is that said number of available data pages resident to said client node is less than or equal to said first value.

5. The method as described in claim 1 , further comprising:

providing a data page to said application operating on said client node in response to receiving a data page request from said application; and

subtracting a value of one from said number of available data pages resident to said client node.

6. A computer readable medium embodied in hardware storage having computer readable code embodied therein for causing a client computer to read ahead data pages from a network based file system, comprising:

ascertaining whether a number of available data pages associated with said client computer satisfies a defined condition associated with a first value;

transmitting a read-ahead request for a second value of data pages from said network based file system provided said number of available data pages satisfies said defined condition

receiving said second value of data pages from said network based file system for providing to an application operating on the client; and

adding said second value of data pages to said number of available data pages associated with said client computer,

wherein said second value of data pages can be fetched from said network based file system before the application operating on said client computer utilizes said first value of data pages and wherein said read-ahead request for the second value of data pages is transmitted upon serving a data page of the number of available data pages to the application operating on the client node.

7. The computer readable medium as described in claim 6 , wherein said defined condition is that said number of available data pages associated with said client computer is less than said first value.

8. The computer readable medium as described in claim 6 , wherein said defined condition is that said number of available data pages associated with said client computer is equal to said first value.

9. The computer readable medium as described in claim 6 , wherein said defined condition is that said number of available data pages associated with said client computer is less than or equal to said first value.

10. The computer readable medium as described in claim 6 , further comprising:

serving a data page to said application operating on said client computer in response to receiving a data page request from said application; and

subtracting a value of one from said number of available data pages associated with said client computer.

11. A computer system comprising:

a processor;

a data bus coupled to said processor; and

a memory device coupled to communicate with said processor for performing:

determining whether a number of available data pages resident to said computer system satisfies a defined condition associated with a first value;

initiating a read-ahead operation for a second value of data pages from said network based file system provided said number of available data pages satisfies said defined condition;

receiving said second value of data pages from said network based file system for providing to an application operating on the computer system; and

adding said second value of data pages to said number of available data pages resident to said computer system,

wherein said second value of data pages can be fetched from said network based file system before the application operating on said computer system consumes said first value of data pages and wherein said read-ahead operation for the data pages is initiated upon serving a data page of the number of available data pages to the application operating on the client node.

12. The computer system as described in claim 11 , wherein said defined condition is that said number of available data pages resident to said computer system is less than said first value.

13. The computer system as described in claim 11 , wherein said defined condition is that said number of available data pages resident to said computer system is equal to said first value.

14. The computer system as described in claim 11 , wherein said defined condition is that said number of available data pages resident to said computer system is less than or equal to said first value.

15. The computer system as described in claim 11 , further comprising:

serving a data page to said application operating on said computer system in response to receiving a data page request from said application; and

subtracting a value of one from said number of available data pages resident to said computer system.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0732 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2003
From: BAGEWADI, SANJEEV
To: SUN MICROSYSTEMS, INC.
Reel/Frame 014542/0670 →