(12) United States Patent
Slaughter et al.
(io) Patent No.: (45) Date of Patent:
US 6,789,122 Bl *Sep. 7,2004
(21) Appl. No.: 09/587,677
(22) Filed: Jun. 5, 2000
Related U.S. Application Data
(63) Continuation of application No. 09/076,346, filed on May 12, 1998.
(51) Int. C I. G06F 11/00
(52) U.S. CI 709/229; 709/212; 709/217;
(58) Field of Search 709/229, 212,
709/217, 219; 714/4
(56) References Cited
U.S. PATENT DOCUMENTS
5,438,508 A 8/1995 Wyman
5,475,813 A 12/1995 Cieslak et al.
5,666,486 A 9/1997 Alfieri et al.
5,668,943 A * 9/1997 Attanasio et al 714/7
5,909,540 A * 6/1999 Carter et al 714/4
5,964,886 A 10/1999 Slaughter et al.
6,067,545 A * 5/2000 Wolff 709/200
6,292,905 Bl * 9/2001 Wallach et al 714/4
FOREIGN PATENT DOCUMENTS
EP 0 709 779 5/1996
Gheith et al., "Shared Virtual Disk for a Cluster of Processors with Separate I/O Devices and Shared Memory," IBM Technical Disclosure Bulletin, vol. 36, No. 06B, Jun. 1993, pp. 375-377.
Sun Microsystems, Inc., "NFS: Network file system protocol specification," RFC 1094, Network Information Center, SRI International, Mar. 1989.
Bhide et al., "A Highly Availability Network File Server," Proceedings of the USENIX Conference, Jan. 1991, pp. 199-205.
* cited by examiner
Primary Examiner—David Wiley
Assistant Examiner—Alina Boutah
(74) Attorney, Agent, or Firm—Meyertons Hook Kivlin Kowert & Goetzel, PC; B. Noel Kivlin
A cluster implements a virtual disk system that provides each node of the cluster access to each storage device of the cluster. The virtual disk system provides high availability such that a storage device may be accessed and data access requests are reliably completed even in the presence of a failure. To ensure consistent mapping and file permission data among the nodes, data are stored in a highly available cluster database. Because the cluster database provides consistent data to the nodes even in the presence of a failure, each node will have consistent mapping and file permission data. A cluster transport interface is provided that establishes links between the nodes and manages the links. Messages received by the cluster transports interface are conveyed to the destination node via one or more links. The configuration of a cluster may be modified during operation. Prior to modifying the configuration, a reconfiguration procedure suspends data access requests and waits for pending data access requests to complete. The reconfiguration is performed and the mapping is modified to reflect the new configuration. The node then updates the internal representation of the mapping and resumes issuing data access requests.
22 Claims, 13 Drawing Sheets