Peer-to-peer redundant file server system and methods
First Claim
1. A file storage system, for handling a file system request including a path name, the system comprising:
- a plurality of storage providers; and
a client, in communication with the storage providers, that accepts the file system request and a corresponding reformatted request to be sent to a selected one of the storage providers, the selected one of the storage providers being initially selected by the client on the basis of a hashing algorithm applied to at least a portion of the path name, so that the client serves as an interface between the standard file system request and the storage providers, wherein each storage provider is a virtual server, the virtual server including a plurality of peer to peer computer processes forming a set of peer nodes, and wherein a specified request directed to a specified virtual server is delivered to all peer nodes of the virtual server but the set is configured so that only a single one of the peer nodes responds to the specified request.
8 Assignments
0 Petitions
Accused Products
Abstract
Peer-to-peer redundant file server system and methods include clients that determine a target storage provider to contact for a particular storage transaction based on a pathname provided by the filesystem and a predetermined scheme such as a hash function applied to a portion of the pathname. Servers use the same scheme to determine where to store relevant file information so that the clients can locate the file information. The target storage provider may store the file itself and/or may store metadata that identifies one or more other storage providers where the file is stored. A file may be replicated in multiple storage providers, and the metadata may include a list of storage providers from which the clients can select (e.g., randomly) in order to access the file.
127 Citations
20 Claims
-
1. A file storage system, for handling a file system request including a path name, the system comprising:
-
a plurality of storage providers; and a client, in communication with the storage providers, that accepts the file system request and a corresponding reformatted request to be sent to a selected one of the storage providers, the selected one of the storage providers being initially selected by the client on the basis of a hashing algorithm applied to at least a portion of the path name, so that the client serves as an interface between the standard file system request and the storage providers, wherein each storage provider is a virtual server, the virtual server including a plurality of peer to peer computer processes forming a set of peer nodes, and wherein a specified request directed to a specified virtual server is delivered to all peer nodes of the virtual server but the set is configured so that only a single one of the peer nodes responds to the specified request. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for handling a file system request including a path name, the method comprising:
-
receiving the file system request; selecting one of a plurality of storage providers based on a hashing algorithm applied to at least a portion of the path name of the file system request; and sending a reformatted request based on the file system request to the selected one of the plurality of storage providers, wherein each storage provider is a virtual server, the virtual server including a plurality of peer to peer computer processes forming a set of peer nodes, wherein sending the reformatted request further comprises sending the reformatted request to all of the peer nodes of the selected virtual server, and wherein only a single one of the peer nodes responds to the reformatted request. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A file storage system, for handling a file system request including a path name, the system comprising:
-
a plurality of means for providing storage; and a means for servicing file system requests, in communication with the plurality of means for providing storage, that accepts the file system request and generates a corresponding reformatted request to be sent to a selected one of the means for providing storage, the selected one of the means for providing storage being initially selected by the means for servicing file system requests on the basis of a hashing algorithm applied to at least a portion of the path name, so that the means for servicing file system requests serves as an interface between the standard file system request and the means for providing storage, wherein each means for providing storage is a virtual server, the virtual server including a plurality of peer to peer computer processes forming a set of peer nodes, wherein a specified request directed to a specified virtual server is delivered to all peer nodes of the virtual server but the set is configured so that only a single one of the peer nodes responds to the specified request. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification