Distributed systems with replicated files
First Claim
1. A method for synchronizing a file altering operation which a process executing on a first component of a distributed data processing system performs on replicated file that has one copy on a mass storage drive of the first component and another copy on a mass storage drive of another component of the distributed data processing system with each of the replicated copies being peers, the method comprising the steps of:
- in the process, determining whether a write token required to perform the file altering operation is in the first component;
in the process, if the write token is in the first component, waiting until the write token is available and thereupon performing the file altering operation; and
otherwise requesting that a token server in the first component request the write token from the other component of the distributed data processing system;
in the process, when the write token arrives from the other component, performing the file altering operation when the write token is available and sending a notification message of the file altering operation to the other component by a channel which delivers messages in the order in which the channel receives them; and
in the token server, responding to a request for the write token from the other component only after completion of the file altering operation using the same channel as was used to send the notification message.
10 Assignments
0 Petitions
Accused Products
Abstract
Techniques for providing replicated files in a distributed system. A replicated file has a set of copies in components of the distributed system. Operations on the copies have the same semantics for the application processes accessing them as operations on a single copy of a file in a system where all processes execute on the same host. These semantics are achieved by means of a distributed synchronization system. Each replicated file has a read token and a write token. In order for an application process to perform an operation on a replicated file, the token required for the operation must be in the process'"'"'s host and the process must have access to the token. Tokens are passed between hosts by token servers which respond to requests for tokens from application processes and from other token servers. The techniques are implemented using a library which replaces a standard I/O library, and may thus be employed without modification to hardware or the operating system.
487 Citations
4 Claims
-
1. A method for synchronizing a file altering operation which a process executing on a first component of a distributed data processing system performs on replicated file that has one copy on a mass storage drive of the first component and another copy on a mass storage drive of another component of the distributed data processing system with each of the replicated copies being peers, the method comprising the steps of:
-
in the process, determining whether a write token required to perform the file altering operation is in the first component; in the process, if the write token is in the first component, waiting until the write token is available and thereupon performing the file altering operation; and
otherwise requesting that a token server in the first component request the write token from the other component of the distributed data processing system;in the process, when the write token arrives from the other component, performing the file altering operation when the write token is available and sending a notification message of the file altering operation to the other component by a channel which delivers messages in the order in which the channel receives them; and in the token server, responding to a request for the write token from the other component only after completion of the file altering operation using the same channel as was used to send the notification message. - View Dependent Claims (2, 3)
-
-
4. Apparatus for providing a plurality of copies of a file which are peer replications of each other in a distributed system, the apparatus comprising:
-
first local operation performing means for performing operations on a first copy of the plurality of copies of the file stored in a first mass storage drive; second local operation performing means for performing the operations on a second copy of the plurality of copies of the file stored in a second mass storage drive; means for communicating operations in each of the local operation performing means for communicating an operation on the copy of the file made in that file system means to the other local operation performing means; means for performing communicated operations in each of the local operation performing means which is responsive to the means for communicating operations in the other local operation performing means for performing the communicated operation on the copy of the file in the local operation performing means; and means in each of the local operation performing means for synchronizing operations on the copies of the file until all replicated copies are consistent so that a sequential read operation on a copy of the file has the same result regardless of which of the plurality of copies it is performed on.
-
Specification