File server system tolerant to software and hardware failures
First Claim
1. A file server system for storing data objects with respective object identifiers and for servicing requests from remote client systems specifying the object identifier of the requested object, the file server system comprising:
- a file store configured to hold stored objects with associated object identifiers, wherein said file store includes at least a primary copy and a back-up copy;
a signature generator for computing an object-specific signature from an object; and
a signature checker comprising a signature store for holding a previously computer signature for each of the stored objects and a comparator operable to compare, on the basis of a specified object identifier, a signature retrieved from the signature store with a corresponding signature computed by the signature generator from an object retrieved from the file store, wherein the primary copy of the file store, the back-up copy of the file store, and the signature checker are located at different nodes of the system.
3 Assignments
0 Petitions
Accused Products
Abstract
A file server system tolerant to hardware and software failures is located over a plurality of hardware nodes. The nodes of the system act as hosts for software components of the system. Several of the software components can be replicated. The replicable software components include the system file store, a checker and a logger. The replicated components have one primary copy and one or more back-up copies. Replica copies of a given replicated component are each located at different nodes. Location and handling of replica copies of a given replicable component is under the control of a replication manager which is a (non-replicable) software component of the system. The replication manager is distributed meaning it can have one of its instances running on each node of the system. These instances inter-communicate to maintain coherence. The failure detector is also distributed, its instances running on each of the nodes, and contributing to an early detection of hardware and software failures. The file store is configured to hold stored objects and includes a signature generator for computing an object-specific signature from an object. The checker comprises a signature store for holding a previously computed signature for each of the stored objects and a comparator operable to compare a signature retrieved from the signature store with a corresponding signature computed by the signature generator from an object retrieved from the file store, thus to enhance system reliability.
111 Citations
23 Claims
-
1. A file server system for storing data objects with respective object identifiers and for servicing requests from remote client systems specifying the object identifier of the requested object, the file server system comprising:
-
a file store configured to hold stored objects with associated object identifiers, wherein said file store includes at least a primary copy and a back-up copy;
a signature generator for computing an object-specific signature from an object; and
a signature checker comprising a signature store for holding a previously computer signature for each of the stored objects and a comparator operable to compare, on the basis of a specified object identifier, a signature retrieved from the signature store with a corresponding signature computed by the signature generator from an object retrieved from the file store, wherein the primary copy of the file store, the back-up copy of the file store, and the signature checker are located at different nodes of the system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A file server system for storing data objects with respective object identifiers and for servicing requests from remote client systems specifying the object of the requested object, the file server system comprising:
-
an intra-server communication link;
a replication manager connected to said communication link;
a failure detector connected to said communication link; and
a plurality of replicable components, wherein for the purpose of improving system reliability and availability;
the replicable components are distributed over a plurality of system nodes;
the replication manager is configured to allow for nodes leaving and joining the system by respectively reducing and increasing the number of replicas of each of the replicable components affected; and
the failure detector is distributed over the system nodes by having an instance of the failure detector located at each system node, the failure detector having an object register for storing a list of system objects and being configured to monitor for failure of any of the system objects listed in the object register and, on failure, to report such failure to the replication manager. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A method of servicing a write request from a remote client by a file server system, the method comprising the steps of:
-
receiving a write request containing an object and an associated object identifier;
computing an object-specific signature from the object;
storing the object in a back-up file store together with the object identifier;
storing the computed object-specific signature in a signature checker file store disposed remotely from the back-up file store together with the object identifier; and
storing the object in a primary store disposed remotely from at least one of the back-up file store and checker file store after the previous storing steps are complete.
-
-
23. A method of servicing a read request from a remote client by a file server system, the method comprising the steps of:
-
receiving a read request relating to an object and specifying an object identifier for the requested object;
retrieving the object from a file store on the basis of the object identifier;
computing an object-specific signature from the retrieved object;
retrieving a further object-specific signature for the object from a further file store on the basis of the object identifier;
comparing the computed signature with the retrieved signature; and
completing servicing of the read request on the basis of the comparison result.
-
Specification