C12) United States Patent (10) Patent No.: US 7,418,439 B2 Wong (45) Date of Patent: Aug
Total Page:16
File Type:pdf, Size:1020Kb
111111 1111111111111111111111111111111111111111111111111111111111111 US007418439B2 c12) United States Patent (10) Patent No.: US 7,418,439 B2 Wong (45) Date of Patent: Aug. 26, 2008 (54) MIRROR FILE SYSTEM 5,870,734 A * 2/1999 Kao .............................. 707/2 5,873,085 A * 2/1999 Enoki eta!. ................... 707/10 (75) Inventor: John P. Wong, Fremont, CA (US) 5,946,685 A * 8/1999 Cramer eta!. ................ 707/10 6,000,020 A * 12/1999 Chin eta!. .................. 7111162 (73) Assignee: Twin Peaks Software, Inc., Fremont, 6,115,741 A * 9/2000 Domenikos et al .......... 709/217 CA (US) 6,192,408 B1 * 212001 Vahalia eta!. .............. 709/229 6,216,140 B1 * 4/2001 Kramer ...................... 715/511 6,298,390 B1 * 10/2001 Matena eta!. .............. 719/315 ( *) Notice: Subject to any disclaimer, the term of this 6,366,988 B1 * 4/2002 Skiba eta!. ................. 7111165 patent is extended or adjusted under 35 6,466,978 B1 * 10/2002 Mukherjee et al ........... 709/225 U.S.C. 154(b) by 1179 days. 6,625,750 B1 * 9/2003 Duso eta!. .................... 714/11 6,697,846 B1 * 2/2004 Soltis ......................... 709/217 (21) Appl. No.: 09/810,246 OTHER PUBLICATIONS (22) Filed: Mar. 19, 2001 Veritas User Manual, File Replicator™ 3 .0.1 for Solaris®, Jan. 2001, (65) Prior Publication Data pp. 1-115. US 2001/0051955 Al Dec. 13, 2001 * cited by examiner Primary Examiner-Sana Al-Hashemi Related U.S. Application Data (74) Attorney, Agent, or Firm-Buchanan Ingersoll & (60) Provisional application No. 60/189,979, filed on Mar. Rooney PC 17,2000. (57) ABSTRACT (51) Int. Cl. G06F 17130 (2006.01) A mirror file systems (MFS) is a virtual file system that links (52) U.S. Cl. ........................... 707/2; 707/100; 707/200; two or more file systems together and mirrors between them 707/205 in real time. The file systems linked and mirrored through the (58) Field of Classification Search . ... ... ... ... .. ... ... 707/1, mirror file system can be a local file system connected to a 707/8,204,2,100,200,205 physical device, or a network file system exported by a remote See application file for complete search history. system on a network. The mirroring mechanism is established by linking a file system to another file system on a single (56) References Cited directory through an MFS mounting protocol. User applica U.S. PATENT DOCUMENTS tions perform normal file system operation and file/directory operation system calls like open, read, write and close func 5,435,004 A * 7/1995 Cox eta!. ................... 707/205 tions from the pathname of either file system. When updates 5,544,347 A * 8/1996 Yanai eta!. ................. 7111162 occur, such as a write operation, the MFS mechanism ensures 5,603,019 A * 211997 Kish .......................... 707/205 that all data updates go to both the file systems in real time. 5,764,903 A * 6/1998 Yu ............................. 709/208 5,764,972 A * 6/1998 Crouse eta!. .................. 707/1 5,778,384 A * 7/1998 Provino et al ............... 707/200 18 Claims, 10 Drawing Sheets Mirror File System 203 :'-.,: !~--.-~;-~-;-~ ::·. ~-~_,.:__- lr-,b W~t I ·. _) i _____________ File System A 201 F1le System B 202 U.S. Patent Aug. 26, 2008 Sheet 1 of 10 US 7,418,439 B2 User Applications 10 ~ System Call Interface 12 Other System File Operation System Calls File System Operation calls system calls ~ c c 14 c c c c c c c 0 c c c ::> 0 c ~ ~ c c ::> 0 "0 c: (I) -"'(I) ~ c: <II '0 '0 -"' -m 0 E ~ >- en 2 =u (I) ::> a. 0 -"' § .Q E !!! -~ 0 u"' E & ~ .!!2 "' "' ~ 16 Vnode interfaces VFS interfaces ~ ~ v ~ U) 18 U) Ill :::. !:::!.. !:::!.. .... u... U) IL u... U) u... )oC U) U) Ill U) (J a > u... u... u... u... :c a. :::1 ::I z z l/ ~ 20 ! r l ! 1 1 C~j ~:;J ~;~ 1-;1 8 ../ ~~ Removable Network Optical drive Fig.1 U.S. Patent Aug. 26, 2008 Sheet 2 of 10 US 7,418,439 B2 I User AppUcatlcns l---~- 12 ! System Call Interface r·----i ~ ' Fila System Operation File Operation System Calls Other System Calls system calls 14 c c ~ c c --~ :>If. -o --;:: --- --.... c (ij ~ '6 ;I-- r.. .s en Si '0 ,::,/. 0 ~ I - ·c:: c. I 0 ~ I 0 ~ I :: 0 Cl E E a I ' ~-----···--- 16 VFS interfaces Vnode interfaces ~ ' I J~ /22 ~~ I T ! MFS ------------··-··-· (/) - Vnode I VFS Interfaces ..... en II) I en ~ - LL LL I I .... I.L X en -Ill en u ' f I a ~ > LL LLz ::t: c. I ' ::I I -~ ~ I r.n Cf.l u.. LL ::I z i I ~ ... I \ab r 1 1\aa r ' ' ' t·-- J9l ~ LDa~J ~~j CoasJ Optieal drive Removable ~~~ network Fig. 2 U.S. Patent Aug. 26, 2008 Sheet 3 of 10 US 7,418,439 B2 : p q ; -. r·--···-! ., .. \ I _l ___j I ! J I I L__________________ ~ File System A 201 '------'File System B 202 Fig. 3 U.S. Patent Aug. 26, 2008 Sheet 4 of 10 US 7,418,439 B2 Mirror File System 203 231 ......... .. ... ... ..'• ··.~: 237 ".i- ' .::: ~54 ... •'' '.' I •; .'I • i 'I i' J: I; i:_ ·~--~~J~:~ ~l ' k I I . m n ,. I L File System A 201 File System B 202 Fig.4 U.S. Patent Aug. 26, 2008 Sheet 5 of 10 US 7,418,439 B2 Standalone Mirror system X Mirror File system X Local file system A J El ~le System B J 15 16 Fig. 5 U.S. Patent Aug. 26, 2008 Sheet 6 of 10 US 7,418,439 B2 Master Mirror Server X· Slave Mirror Server Y ------·· -·· -·--·. ··--·-----, .-----------------, 46 IL---------------------------- Router Ethernet Fig. 6 U.S. Patent Aug. 26, 2008 Sheet 7 of 10 US 7,418,439 B2 Master Mirror Server X Master Mirror Server Y .------------------ cBEV 41\ ~~ I Mirror File system y 62~63 Router Fig. 7 U.S. Patent Aug. 26,2008 Sheet 8 of 10 US 7,418,439 B2 Server X 710 ServerY 720 727 708 ~722 Router Ethernet -----, 707 I 705~ E706 Mirror File system Z J Client Mirror System Z 700 Fig. 8 U.S. Patent Aug. 26, 2008 Sheet 9 of 10 US 7,418,439 B2 Master Mirror SeNer X Master Mirror Server y 650 660 e:>e:> 620\ _____ }~1 .. '----M-Irro_r File system Y ,665 624 1 666 fOiiii1 I ~I I I_--------- _I I §!l~-------------- I L--------------------ID~--------------· --Q-:=i;"!;:N""- I Router Ellmmet .---- .. ~ 608 1" .. il -·-1 I 681 I r i [§]c I E84, ~ 631 n632 ~ i ~~.... -----·----·- ~ ·------·- ___ ! Client System Y 660 Client system X 670 Fig. 9 U.S. Patent Aug. 26, 2008 Sheet 10 of 10 US 7,418,439 B2 Master Mirror Server X Master Mirror Server Y 650 660 E)~ EV 620\ ! - ____ 6~1\ J=---602----, Mirror File system Y 665 Mirror Ale system X 655 L___._------,,--- '7"'<:c---_J :r I 626 603'· R Ex;;;d)661 Exported Mirror File Mirror File System Y System X ~ 624 609 ~ x -~w ltI ~I I I I t 609 S66~ I I ___________________________ J I ~·656 I I I ~-------------------------------------J 610 I I Ethernet I --- ~6 ------- -I --------------------------~ I 627 703 705~ ~ 706 Mirror Ale system X 701 j Client system X 670 Fig.10 US 7,418,439 B2 1 2 MIRROR FILE SYSTEM depend on the network server to store and to retrieve critical information from the shared files on that storage This application claims priority under 35 U.S.C. §§ 119 device will not function properly. To reduce the risk andlor365 to 60/189,979 filed in the United States ofAmerica from such disasters, a disk array technology known as on 17 Mar. 2000; the entire content of which is hereby incor RAID (Redundant Array of Independent Disks) was porated by reference. developed to minimize the damage and more easily recover from failure due to the above mentioned situa BACKGROUND OF THE INVENTION tions. The RAID disk array technology can protect the files on the disk from damage or corruption by using the In a computer network environment, hundreds or even 10 techniques of striping, mirroring and parity checking, thousands of computer systems may be connected by a com etc. But this only protects the storage system, and not the munication channel. They can all communicate with each network server. other through many different communication protocols. Each 4. Ifthe network server goes down for any reason, it cannot protocol has a particular way to link the systems together to store or retrieve critical information for the network transmit data from one to another. To help the systems coop- 15 clients. To deal with the problem caused when a network erate more closely, resource sharing mechanisms have been server goes down, the following two computer systems developed to allow computer systems to share files across the were designed: computer network. One example of such a mechanism is the a. Fault-tolerant computer systems that require duplicate client-server Network File System (NFS) developed by Sun copies of every hardware component in the system as Micro systems. By sharing the files across the network, every 20 stand-by parts. client system on the network can access the shared files as if b. Clustering systems which have more than one net the files were local files on the client system, although the files work server physically connected to the same storage may be physically located on and managed by a network system on which the shared files are located. All these server system at a remote location on the network. The file network servers (or nodes) are running at the same sharing provided by the NFS enhances the network operation 25 time, but only one of them actually serves the clients' with the following features: requests; the others function as stand-bys.