Network distributed file system
Abstract
A storage pool component is operable on a computing device including a storage medium having an otherwise free storage capacity for forming a portion of a storage capacity of a storage pool and being operably connected across a network to at least one other such component. The component comprises configuration data identifying at least one other computing device to which the computing device may connect across the network; and a directory for identifying file information for files of the storage pool stored on the storage medium, the file information being stored with a degree of redundancy across the computing devices of the storage pool. On instantiation, the component for communicates with at least one other component operating on one of the other computing devices to verify the contents of the directory. The component reconciles file information stored on the storage medium with file information from the remainder of the storage pool. The component then acts as a driver, responsive to an access request for a file stored in the storage pool received across the network from another component of the storage pool, for determining a location of the file on the storage medium from the directory and for accessing the file accordingly.
Claims
exact text as granted — not AI-modified1 . A storage pool component operable on a computing device including a storage medium having an otherwise free storage capacity for forming a portion of a storage capacity of a storage pool and being operably connected across a network to at least one other storage pool component, each storage pool component operating on a computing device providing a respective portion of said storage pool capacity, said storage pool component comprising:
configuration data identifying said at least one other computing device to which said computing device may connect across said network; a directory for identifying file information for files of said storage pool stored on said storage medium, said file information being stored with a degree of redundancy across said computing devices of said storage pool; means responsive to instantiation of said component for communicating with at least one other component operating on one of said at least one other computing devices for verifying the contents of said directory; means for reconciling file information stored on said storage medium with file information from the remainder of said storage pool; and a driver, responsive to an access request for a file stored in said storage pool received across said network from another component of said storage pool, for:
determining a location of said file on said storage medium from said directory;
accessing said file accordingly.
2 . A component as claimed in claim 1 , wherein the component further comprises a user interface component arranged to enable said configuration data to be determined.
3 . A component as claimed in claim 1 , wherein said access request comprises a read access and wherein said driver is arranged to return said file information to said requesting component.
4 . A component as claimed in claim 1 , wherein said access request comprises a write access including file information and wherein said driver is arranged to write said file information to said storage medium and to update said directory accordingly.
5 . A component as claimed in claim 1 , wherein said configuration data includes an identifier for said storage pool, storage size information for said storage pool, an indicator of said redundancy provision within said storage pool, and network identifiers for other components of said storage pool.
6 . A component as claimed in claim 1 , wherein said component is arranged to operate as a disk device driver on said computing device, said driver being arranged to receive file access requests from any applications running on said computing device and in accordance with said directory to transmit file access requests to other components of said storage pool, to process responses to said requests and to communicate the processing of said responses to said applications.
7 . A component as claimed in claim 6 , wherein said access request comprises a request for file information from another component of said storage pool, said file information being distributed across N+M computing devices, where N>=1 and determines the amount of storage available in said storage pool and wherein M>0 and determines said redundancy provision within said storage pool.
8 . A component as claimed in claim 7 , wherein said component is responsive to a file write request to split said file information into N+M clusters and to transmit file write requests to other components of said storage pool, each request including at least a respective write access request to a component.
9 . A component as claimed in claim 7 , wherein said component is responsive to a file write request to split said file information into clusters of a given size, to transmit file write requests to other components of said storage pool, each request including at least a respective write access request to a component and to transmit a write request including residual file information from said splitting to at least M components of said storage pool.
10 . A component as claimed in claim 6 , wherein said component is arranged to determine how many other components of said storage pool are accessible across said network.
11 . A component as claimed in claim 10 , wherein said component is responsive to less than N of N+M components being accessible to halt access to said storage pool.
12 . A component as claimed in claim 10 , wherein N<=M and said component is responsive to less than 50% of said components being accessible to permit only read access requests to said storage pool.
13 . A component as claimed in claim 1 , wherein said component is arranged to provide storage capacity for respective portions of a plurality of storage pools, said configuration data including data for each storage pool.
14 . A component as claimed in claim 1 , wherein said component is arranged to make said storage pool available as a disk drive.
15 . A component as claimed in claim 1 wherein said file information is stored in blocks in a directory of said storage medium.
16 . A component as claimed in claim 1 wherein said file information is stored as objects in a transactional database.
17 . A component as claimed in claim 16 , wherein said verifying means is arranged to compare transaction log entries stored on said component with transaction log entries stored on another component of said storage pool to determine if file information stored on said component is valid.
18 . A component as claimed in claim 1 wherein said verifying means is arranged to compare at least one of: file name, file size, last modification date, and file attributes contained in said directory with corresponding attributes for a file stored on another component of said storage pool to determine if file information stored on said component is valid.
19 . A component according to claim 1 , wherein said component is arranged to periodically check the accessibility of other components forming the storage pool to said client.
20 . A component according to claim 19 , wherein said verifying means is arranged to communicate with the most accessible of said other components.
21 . A component as claimed in claim 6 , wherein said file access requests are transmitted to all accessible components of said storage pool.
22 . A component according to claim 1 , wherein said component is arranged to communicate with other components of said storage pool in an encrypted manner determined by
23 . A system, comprising:
a plurality of computing devices having:
a storage medium;
at least one of said computing devices comprising a storage pool component, said storage pool component being operable on the computing device, the storage medium having an otherwise free storage capacity for forming a portion of a storage capacity of a storage pool and being operably connected across a network to at least one other storage pool component, each storage pool component operating on a computing device providing a respective portion of said storage pool capacity, said storage pool component comprising:
configuration data identifying said at least one other computing device to which said computing device may connect across said network;
a directory for identifying file information for files of said storage pool stored on said storage medium, said file information being stored with a degree of redundancy across said computing devices of said storage pool;
means responsive to instantiation of said component for communicating with at least one other component operating on one of said at least one other computing devices for verifying the contents of said directory;
means for reconciling file information stored on said storage medium with file information from the remainder of said storage pool; and
a driver, responsive to an access request for a file stored in said storage pool received across said network from another component of said storage pool, for:
determining a location of said file on said storage medium from said directory; and
accessing said file accordingly,
said storage pool component being arranged to make said storage pool available as a disk drive; and
said system including one or more legacy clients accessing said storage pool through a legacy disk device driver.Join the waitlist — get patent alerts
Track US2008320097A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.