Asynchronous file replication and migration in a storage network
First Claim
Patent Images
1. A computer-implemented method of performing remote file operations, the method comprising:
- receiving a file task description that identifies a remote file, an operation to be performed on the remote file, and a current status associated with the file task description;
providing a set of persistent work queues associated with a plurality of storage server computers that include one or more file task descriptions;
providing an elected work manager elected by the plurality of storage server computers and configured to accept remote file operation requests and to translate the requests into one or more corresponding tasks to be placed in the set of work queues;
providing a membership manager to determine membership of a control server computer and storage server computers that join or leave a storage system;
providing a background replication agent associated with each storage server computer in the plurality of storage server computers, the background replication agent configured to monitor a work queue in the set of work queues for the associated storage server computer, to accept requests in the work queue from the elected work manager, to perform the accepted tasks using file system independent mechanisms, and to update the completion status of each accepted task, one of the requests including a migration task in which the elected work manager places a remote copy request on a work queue of a first storage server computer and the background replication agent of the first storage server computer performs a remote copy operation and provides a confirmation to the elected work manager, and after receipt of the confirmation, the elected work manager places a remote delete request on a work queue of a second storage server computer and the background replication agent of the second storage server computer performs a remote delete operation and provides a confirmation to the elected work manager; and
generating a first token corresponding to a lease for a file system operation on the remote file, the first token including a first access time and volume information, in response to a first request from the first storage server computer to access the remote file, the first token allowing the first storage server computer to access the remote file based on the first access time, the first storage server computer including a timer set to a value shorter than the first access time, and wherein the first storage server computer determines whether to renew the first token when the timer times out.
3 Assignments
0 Petitions
Accused Products
Abstract
File system independent techniques and mechanisms for replicating files on multiple devices are provided, migrating files from one device to another (for purposes of reliability, increased bandwidth, load balancing, capacity expansion, or reduced cost), and propagating updates from a master copy to remote replicas. The mechanisms involve work queues and asynchronous file migration daemons that operate independently from and in parallel with the primary client-server and network protocol to on-disk storage data paths.
86 Citations
15 Claims
-
1. A computer-implemented method of performing remote file operations, the method comprising:
-
receiving a file task description that identifies a remote file, an operation to be performed on the remote file, and a current status associated with the file task description; providing a set of persistent work queues associated with a plurality of storage server computers that include one or more file task descriptions; providing an elected work manager elected by the plurality of storage server computers and configured to accept remote file operation requests and to translate the requests into one or more corresponding tasks to be placed in the set of work queues; providing a membership manager to determine membership of a control server computer and storage server computers that join or leave a storage system; providing a background replication agent associated with each storage server computer in the plurality of storage server computers, the background replication agent configured to monitor a work queue in the set of work queues for the associated storage server computer, to accept requests in the work queue from the elected work manager, to perform the accepted tasks using file system independent mechanisms, and to update the completion status of each accepted task, one of the requests including a migration task in which the elected work manager places a remote copy request on a work queue of a first storage server computer and the background replication agent of the first storage server computer performs a remote copy operation and provides a confirmation to the elected work manager, and after receipt of the confirmation, the elected work manager places a remote delete request on a work queue of a second storage server computer and the background replication agent of the second storage server computer performs a remote delete operation and provides a confirmation to the elected work manager; and generating a first token corresponding to a lease for a file system operation on the remote file, the first token including a first access time and volume information, in response to a first request from the first storage server computer to access the remote file, the first token allowing the first storage server computer to access the remote file based on the first access time, the first storage server computer including a timer set to a value shorter than the first access time, and wherein the first storage server computer determines whether to renew the first token when the timer times out. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A storage system comprising:
a plurality of storage nodes each comprising a storage server configured to store a plurality of files in a file system, wherein a first storage node in the plurality of storage nodes corresponds to a master storage server elected by the plurality of storage servers and including an elected work manager configured to receive a file name that identifies a remote file, an operation to be performed on the remote file, and a current status associated with the operation, and to generate a corresponding task to be placed in a set of work queues, and wherein each storage node includes a background replication agent to communicate with the elected work manager via a work queue in the set of work queues for the associated storage node, to accept tasks in the work queue, to perform the accepted tasks using file system independent mechanisms, and to update the completion status of each accepted task, wherein one of the requests is a migration task in which the elected work manager places a remote copy request on a work queue of a first storage node and the background replication agent of the first storage node performs a remote copy operation and provides a confirmation to the elected work manager, and after receipt of the confirmation, the elected work manager places a remote delete request on a work queue of a second storage node and the background replication agent of the second storage node performs a remote delete operation and provides a confirmation to the elected work manager. - View Dependent Claims (7, 8, 9, 10)
-
11. An article comprising a machine-accessible storage medium including instructions that when executed cause a system to:
-
receive a file task description that identifies a remote file, an operation to be performed on the remote file, and a current status associated with the file task description; provide a set of persistent work queues associated with a plurality of storage servers that include one or more file task descriptions; provide an elected work manager elected by the plurality of storage servers and configured to accept remote file operation requests and to translate the requests into one or more corresponding tasks to be placed in the set of work queues; provide a background replication agent associated with each storage server in the plurality of storage servers, the background replication agent configured to monitor a work queue in the set of work queues for the associated storage server, to accept requests in the work queue from the elected work manager, to perform the accepted tasks using file system independent mechanisms, and to update the completion status of each accepted task, including a migration task in which the elected work manager places a remote copy request on a work queue of a first storage server and the background replication agent of the first storage server performs a remote copy operation and provides a confirmation to the elected work manager, and after receipt of the confirmation, the elected work manager places a remote delete request on a work queue of a second storage server and the background replication agent of the second storage server performs a remote delete operation and provides a confirmation to the elected work manager; generate a first token corresponding to a lease for a file system operation on the remote file, the first token including a first access time and volume information, in response to a first request from the first storage server to access the remote file, the first token allowing the first storage server to access the file based on the first access time, the first storage server including a timer set to a value shorter than the first access time; and determine whether to renew the first token when the timer times out. - View Dependent Claims (12, 13, 14, 15)
-
Specification