Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
139 words
In a computer system employing a file system for storing file data and allowing multiple nodes of said computer system to allocate space for storing file data simultaneously in a shared-disck file system, a method comprising: providing a file system in which data for the same file is distributed across multiple disk devices, and providing a buffer manager for a file system buffer pool which arbitrates use of memory resources among different system components competing for memory with buffer information for a component that said buffer manager needs for deciding how much memory to allocate among components of the system, said buffer information including a desired memory size and current activity level and then providing from said buffer manager to said component data as to how much memory has been assigned for use by that component of the system.
Claim 2
Dependent Claim
139 words
In a computer system employing a file system for storing file data and allowing multiple nodes of said computer system to allocate space for storing file data simultaneously in a shared-disck file system, a method comprising: providing a file system in which data for the same file is distributed across multiple disk devices, and providing a buffer manager for a file system buffer pool which arbitrates use of memory resources among different system components competing for memory with buffer information for a component that said buffer manager needs for deciding how much memory to allocate among components of the system, said buffer information including a desired memory size and current activity level and then providing from said buffer manager to said component data as to how much memory has been assigned for use by that component of the system.
Claim 3
Dependent Claim
86 words
In a computer system method according to claim 1, in which one of the system components requiring assignment of memory resources for use is a file system buffer pool which is provided for caching recently accessed file data and data that was prefetched for sequential readers and said providing of information from said components includes providing said buffer manager with appropriate information to take into account resources for prefetching and for scheduling the resources assigned by the buffer manager so as to maximize file system throughput.
Claim 4
Dependent Claim
37 words
In a computer system method according to claim 1, wherein said file system buffer pool is logically divided into a pool part used for prefetching and a general pool part used for caching recently accessed file blocks.
Claim 5
Dependent Claim
40 words
In a computer system method according to claim 3, wherein said pool parts are presented to said buffer manager as two separate components for the file system to compute separate desired memory sizes and activity levels for the pool parts.
Claim 6
Dependent Claim
51 words
In a computer system method according to claim 4, wherein said activity levels for the pool parts are computed by counts measuring data access rates for each pool, and wherein on each buffer access the appropriate count is updated based on whether the buffer is accessed by sequential or random I/O.
Claim 7
Dependent Claim
38 words
In a computer system method according to claim 3, wherein said general pool is computed by measuring working sets using reference bits and counters to determine the total amount of distinct file data accessed over some time period.
Claim 8
Dependent Claim
55 words
In a computer system method according to claim 3, wherein the size of the prefetch pool is computed by determining the number and capability of disk drives belonging to the file system and as well determining the number of files being accessed sequentially, and as well determining the rate at which data is being read.
Claim 9
Dependent Claim
112 words
In a computer system method according to claim 3, wherein the method of computing the prefetch pool for multiple application programs and multiple disks per file system, computing a number of prefetch buffers required so that: (a) if the combined data rate at which all, the application programs attempt to read data is less than the total available disk bandwidth, then data will be supplied to each application as fast as it reads the data, with no I/O waits, but (b) if the combined data rate of the application programs is greater than the total available disk bandwidth, then data will be read as fast as it can be retrieved from disk.
Claim 10
Dependent Claim
89 words
In a computer system method according to claim 3, wherein is included: scheduling prefetch I/O by using an actual number of prefetch buffers assigned by said buffer manager, maintaining two global counters for a first number of prefetch I/Os currently in progress and a second number of buffers holding blocks to be read and summing said first number and said second number to determine the number of buffers currently in use for prefetching, and tracking the progress of the numbers and updating the pool assignments by said buffer manager.