Method and system for coherently caching I/O devices across a network
DC CAFCFirst Claim
1. A caching system comprising:
- a network;
a plurality of computers interacting as a VMScluster on said network, each computer having a memory;
a plurality of I/O devices connected to said network;
a plurality of cache drivers, each resident in one of said computers, for creating a cache in the memory of the computer in which the cache driver resides for caching data from selected ones of said I/O devices, each cache driver including executable remote messaging code that forms a computer communication channel with a cache driver on any of said computers for sending messages relating to caching and means for listening on said network for a request from a new computer to connect to said network, said executable remote messaging code further saving a remote connection address for each of the communication channels.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
The cache keeps regularly accessed disk I/O data within RAM that forms part of a computer systems main memory. The cache operates across a network of computers systems, maintaining cache coherency for the disk I/O devices that are shared by the multiple computer systems within that network. Read access for disk I/O data that is contained within the RAM is returned much faster than would occur if the disk I/O device was accessed directly. The data is held in one of three areas of the RAM for the cache, dependent on the size of the I/O access. The total RAM containing the three areas for the cache does not occupy a fixed amount of a computers main memory. The RAM for the cache grows to contain more disk I/O data on demand and shrinks when more of the main memory is required by the computer system for other uses. The user of the cache is allowed to specify which size of I/O access is allocated to the three areas for the RAM, along with a limit for the total amount of main memory that will be used by the cache at any one time.
87 Citations
38 Claims
-
1. A caching system comprising:
-
a network; a plurality of computers interacting as a VMScluster on said network, each computer having a memory; a plurality of I/O devices connected to said network; a plurality of cache drivers, each resident in one of said computers, for creating a cache in the memory of the computer in which the cache driver resides for caching data from selected ones of said I/O devices, each cache driver including executable remote messaging code that forms a computer communication channel with a cache driver on any of said computers for sending messages relating to caching and means for listening on said network for a request from a new computer to connect to said network, said executable remote messaging code further saving a remote connection address for each of the communication channels. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A caching system comprising:
-
a network; a plurality of computers connected over said network, each computer having a memory; a plurality of I/O devices connected to said network; and a plurality of cache drivers, each resident in one of said computers, for creating a cache in the memory of the computer in which the cache driver resides for caching data from selected ones of said I/O devices, each cache driver including executable remote messaging code that forms a computer communication channel with any other of said computers on said network via which messages relating to caching may be communicated with cache drivers on any of said computers on said network, said executable remote messaging code further saving a remote connection address for each of the communication channels; wherein at least one of said cache drivers further includes executable interception code for intercepting a write instruction to one of said plurality of I/O devices and executable invalidate code that sends a message to invalidate data through selected ones of the communication channels to the caches of any computer that is caching said one of said plurality of I/O devices. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A caching system comprising:
-
a network; a first computer using an n-bit architecture connected to said network, where n is an integer, said first computer having a memory; a second computer using an m-bit architecture connected to said network, where m is an integer unequal to n, said second computer having a memory; a plurality of I/O devices connected to said network; and a plurality of cache drivers, each resident in one of said first and second computers, for creating a cache in the memory of the computer in which the cache driver resides for caching data from selected ones of said I/O devices, each cache driver including executable remote messaging code that forms a computer communication channel with a cache driver on any of the other computers on said network via which messages relating to caching may be communicated, said executable remote messaging code further saving a remote connection address for each of the computer communication channels. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A caching system comprising:
-
a network; a plurality of computers interacting as a VMScluster on said network, each computer having a memory; a plurality of I/O devices connected to said network; a plurality of cache drivers, each resident in one of said computers, for creating a plurality of caches in the memory of the computer in which the cache driver resides for caching data from selected ones of said I/O devices, wherein each of said caches includes a plurality of data buckets and data structures for identifying the data buckets and each cache includes a plurality of queues in which the data structures for identifying the data buckets are listed, each cache driver including remote message means for communicating with cache drivers on any of said computers and means for listening on said network for a request from a new computer to connect to said network. - View Dependent Claims (38)
-
Specification