| US 7,574,443 B2 | ||
| Scalable clustered storage system | ||
| Cameron Bahar, Los Altos, Calif. (US); Joseph Hopfield, Culver City, Calif. (US); Naveen Nalam, San Francisco, Calif. (US); David B. Zafman, Calabasas, Calif. (US); and Rasoul Oskouy, Los Altos, Calif. (US) | ||
| Assigned to ParaScale, Inc., Cupertino, Calif. (US) | ||
| Filed on Jul. 25, 2006, as Appl. No. 11/459,902. | ||
| Claims priority of provisional application 60/702428, filed on Jul. 25, 2005. | ||
| Claims priority of provisional application 60/702429, filed on Jul. 25, 2005. | ||
| Prior Publication US 2007/0022087 A1, Jan. 25, 2007 | ||
| Int. Cl. G06F 17/30 (2006.01); G06F 12/00 (2006.01) | ||
| U.S. Cl. 707—10 [707/1; 707/200; 707/201; 707/204; 711/100; 711/162] | 20 Claims |

| 1. A storage system comprising:
a control node comprising a first server including a processor and configured to store object identifiers and location information
associated with a plurality of files in a file system, the object identifiers each corresponding to a cluster-wide globally
unique identifier used to name and store a file in the storage system and the location information each associated with at
least one of a logical and physical location of the file in the file system;
a plurality of storage nodes each comprising a storage server including a processor and configured to store the plurality
of files in the file system, wherein a first storage node in the plurality of storage nodes corresponds to a master storage
server configured to advertise a virtual IP address for the storage system and to receive a request for a file from a client,
to communicate with the control node to determine an object identifier and location information associated with the file,
and to access the file from an object storage of the master storage server using the object identifier and location information
associated with the file if the object identifier and the location information indicates that the object storage of the master
storage server includes the file, and to otherwise request the file from a second storage node based on the object identifier
and the location information, to service the request from the client; and
a token manager configured to coordinate access to the file, where the file is stored at a first location of the file system
and at a second location of the file system;
wherein the token manager is configured to generate a first token corresponding to a lease for a file system operation on
the file, the first token including a first access time and volume information, in response to a first request from a first
storage node to access the file, the first token allowing the first storage node to access the file in the first location
based on the first access time, the first storage node including a timer set to a value shorter than the first access time,
and wherein the first storage node is to determine whether to renew the first token when the timer times out.
|