Source: http://www.google.cl/patents/US8392372
Timestamp: 2017-09-26 12:35:31
Document Index: 326756740

Matched Legal Cases: ['art 2', 'art 2', 'application No. 02718824', 'application No. 2002', 'application No. 2002', 'application No. 2002', 'application No. 02718824', 'application No. 2002', 'application No. 2002', 'application No. 2002']

Patent US8392372 - Methods and systems for snapshot reconstitution - Google Patents
A method, computer readable medium, and a system for reconstituting a virtual snapshot of files in a file virtualization system includes forming at a file virtualization device a virtual snapshot that includes a plurality of physical snapshots associated with one or more file storage devices participating...http://www.google.cl/patents/US8392372?utm_source=gb-gplus-sharePatent US8392372 - Methods and systems for snapshot reconstitution
Publication number US8392372 B2
Application number US 13/477,382
Also published as US8204860, US20120254123
Publication number 13477382, 477382, US 8392372 B2, US 8392372B2, US-B2-8392372, US8392372 B2, US8392372B2
Patent Citations (275), Non-Patent Citations (84), Referenced by (4), Classifications (13), Legal Events (1)
US 8392372 B2
1. A method for recovering a state of a virtualized file system, comprising:
receiving, at a file virtualization device, a request from a client computing device to view one or more physical snapshots or to perform an operation on one or more physical snapshots, wherein each physical snapshot includes a time dependent state of at least a portion of the virtualized file system;
obtaining, with the file virtualization device, one or more descriptor files from one or more of a plurality of file storage devices, wherein the one or more descriptor files are associated with at least the one or more physical snapshots;
importing, at the file virtualization device, the one or more physical snapshots based on data in the one or more descriptor files;
reconstituting, with the file virtualization device, a virtual snapshot including the one or more physical snapshots; and
providing, with the file virtualization device, the reconstituted virtual snapshot to the requesting client computing device.
determining, with the file virtualization device, whether the one or more physical snapshots exists in a virtual snapshot stored in a configuration database of the file virtualization device; and
providing, with the file virtualization device, the stored virtual snapshot when it is determined that the one or more physical snapshots exists in a virtual snapshot stored in a configuration database of the file virtualization device.
3. The method as set forth in claim 1, wherein each descriptor file includes information related to one or more virtual characteristics of at least one share on the plurality of file storage devices used in the reconstituting.
4. The method as set forth in claim 1, wherein the reconstituting further comprises executing a script comprising data in the one or more descriptor files for associating at least the one or more physical snapshots with the reconstituted virtual snapshot.
forming, at the file virtualization device, a virtual snapshot comprising one or more physical snapshots associated with the plurality of file storage devices;
creating, with the file virtualization device, a descriptor file for a plurality of shares associated with a plurality of volumes stored by the plurality of file storage devices;
sending, with the file virtualization device, the descriptor files to one or more remote backup file storage devices; and
wherein the obtaining further comprises obtaining the one or more descriptor files from one or more of the remote backup file storage devices.
6. A non-transitory computer readable medium having stored thereon instructions for recovering a state of a virtualized file system comprising machine executable code which when executed by at least one processor, causes the processor to perform steps comprising:
obtaining one or more descriptor files from one or more of a plurality of file storage devices, wherein the one or more descriptor files are associated with at least the one or more physical snapshots;
importing the one or more physical snapshots based on data in the one or more descriptor files;
reconstituting a virtual snapshot including the one or more physical snapshots; and
providing the reconstituted virtual snapshot to the requesting client computing device.
7. The medium as set forth in claim 6, further having stored thereon instructions comprising machine executable code that when executed by the at least one processor cause the processor to perform steps further comprising:
determining whether the one or more physical snapshots exists in a virtual snapshot stored in a configuration database of the file virtualization device; and
providing the stored virtual snapshot when it is determined that the one or more physical snapshots exists in a virtual snapshot stored in a configuration database of the file virtualization device.
8. The medium as set forth in claim 6, wherein each descriptor file includes information related to one or more virtual characteristics of at least one share on the plurality of file storage devices used in the reconstituting.
9. The medium as set forth in claim 6, wherein the reconstituting further comprises executing a script comprising data in the one or more descriptor files for associating at least the one or more physical snapshots with the reconstituted virtual snapshot.
10. The medium as set forth in claim 6, further having stored thereon instructions comprising machine executable code that when executed by the at least one processor cause the processor to perform steps further comprising:
forming a virtual snapshot comprising one or more of physical snapshots associated with the plurality of file storage devices;
creating a descriptor file for a plurality of shares associated with a plurality of volumes stored by the plurality of file storage devices;
sending the descriptor files to one or more remote backup file storage devices; and
11. A file virtualization device comprising:
at least one processor coupled to a memory and configured to execute programmed instructions stored in the memory comprising:
receiving a request from a client computing device to view one or more physical snapshots or to perform an operation on one or more physical snapshots, wherein each physical snapshot includes a time dependent state of at least a portion of the virtualized file system;
12. The file virtualization device as set forth in claim 11, wherein the at least one processor is configured to execute programmed instructions stored in the memory further comprising:
13. The file virtualization device as set forth in claim 11, wherein each descriptor file includes information related to one or more virtual characteristics of at least one share on the plurality of file storage devices used in the reconstituting.
14. The file virtualization device as set forth in claim 11, wherein the reconstituting further comprises executing a script comprising data in the one or more descriptor files for associating at least the one or more physical snapshots with the reconstituted virtual snapshot.
15. The file virtualization device as set forth in claim 11, wherein the at least one processor is configured to execute programmed instructions stored in the memory further comprising:
forming a virtual snapshot comprising one or more physical snapshots associated with the plurality of file storage devices;
16. A system for recovering a state of a virtualized file system, comprising:
a plurality of file storage devices; and
a file virtualization device comprising a network interface configured to communicate with the plurality of file storage devices, the file virtualization device further comprising at least one processor and memory coupled to the at least one processor which is configured to execute program instructions stored in the memory comprising:
obtaining one or more descriptor files from one or more of the plurality of file storage devices, wherein the one or more descriptor files are associated with at least the one or more physical snapshots;
17. The system as set forth in claim 16, wherein the at least one processor is configured to execute programmed instructions stored in the memory further comprising:
18. The system as set forth in claim 16, wherein each descriptor file includes information related to one or more virtual characteristics of at least one share on the plurality of file storage devices used in the reconstituting.
19. The system as set forth in claim 16, wherein the reconstituting further comprises executing a script comprising data in the one or more descriptor files for associating at least the one or more physical snapshots with the reconstituted virtual snapshot.
20. The system as set forth in claim 16, wherein the at least one processor is configured to execute programmed instructions stored in the memory further comprising:
This application is a continuation of U.S. patent application Ser. No. 12/702,849, filed Feb. 9, 2010, which is hereby incorporated by reference in its entirety.
Physical Snapshot Virtual
Name Snapshot Name File System Relationships
ns1,/vol2, sh3, daily
acopia_3 daily.1 /vol/vol3 ns1,/vol2, sh4, daily
acopia_4 monthly.1 /vol/vol1 ns1:/vol1, sh1,
acopia_5 monthly.1 /vol/vol2 ns1:/vol1, sh2,
Accordingly, in Table I, by way of example only, physical snapshot 206(1) can have a physical snapshot name “acopia—1” is associated with a virtual snapshot daily.1, and is allotted a path/vol/vol1 on file virtualization device 110. According to the relationship column in Table I, physical snapshot 206(1) can be associated with a share “sh1” on a volume “vol1” on any of servers 102(1)-102(n), and has an updating periodicity of once a day (“daily”). Physical snapshot 206(1), therefore is denoted with a namespace and rule as: “ns1:/vol1, sh1, daily.” Similarly, other physical snapshots are mapped to virtual snapshots and are allotted namespace and rules.
Referring now to FIG. 3, a detailed view of namespace and rules for various physical snapshots with respect to servers 102(1)-102(n) are illustrated. In this example, configuration database 105 in file virtualization device 110 provides namespace and rule engines for four exemplary physical snapshots associated with four exemplary shares “sh1,” “sh2,” “sh3,” and “sh4” on three exemplary volumes “vol1”−“vol3” on servers 102(1)-102(n) (e.g., “vol 1” and “vol2” are on server 102(1), and “vol3” is on server 102(n)), although other numbers and types of shares and volumes may be used depending upon a state of the file system, as will be apparent to one of ordinary skill in the art after reading this disclosure.
According to one example, snapshot descriptor files 302(1) written for each of shares 308(1)-308(n) can contain virtual characteristics associated with shares 308(1)-308(n). For example only, these virtual characteristics can include a name of the file virtualization device 110 that initiated the virtual snapshot 200, a version number of software used for file virtualization device 110, graphical user interface (GUI) of file virtualization device 110 that initiated the virtual snapshot 200, a virtual snapshot time (for example, in Coordinated Universal Time, or “UTC”), a namespace name, a volume name for each of volumes 304(1)-304(n), a snapshot rule name, a snapshot rule schedule name, a snapshot instance number, a snapshot generation number, a snapshot rule presentation name, a snapshot rule retain count (for trouble-shooting purposes, for example), and a snapshot report prefix, and other information, for example, a location information where a metadata file for a physical snapshot is located (shown, for example, as “-sh1 (share1)*” in descriptor file 302(1) in FIG. 3.
SHIPYARD# snapshot survey <namespace> <volume> [share <share>] [detailed] {[origin [arx] | [external]]} [report-prefix <prefix>]
where: <namespace> is the name of a namespace configured on the file virtualization device 110, <volume> is a configured volume (e.g., volume 304(1)) in a namespace (e.g., NS in Table 2), <share> is a configured share in shares 308(1)-308(n) in volumes 304(1)-304(n)<volume>/namespace <namespace>, “detailed” instructs the file virtualization device 110 to report the physical snapshot names (shown in FIG. 2, for example) and the content of any snapshot descriptor files 302(1)-302(n) found associated with the physical snapshots 206(1)-206(3), “origin” is a keyword that allows a user of requesting client computing devices 104(1)-104(n) to specify a filter for what types of physical snapshots 206(1)-206(3) to display on display 144, for example, “arx” instructs the file virtualization device 110 to report only those physical snapshots 206(1)-206(3) created by the file virtualization device 110, “external” instructs the file virtualization device 110 to report only on physical snapshots 206(1)-206(3) not created by the file virtualization device 110, and “report-prefix” allows the user to set the report prefix. Alternatively, the surveying capability of file virtualization device 110 initiated in response to the request from one or more client computing devices 104(1)-104(n) may be via a graphical user interface icon (GUI) on client computing devices 104(1)-104(n).
Volume: /vol1
File Server: filer1 (10.90.1.1)
acopia_4_200807291700_4ba36c10-30c6-11dd-ba58-b9262f5c441e
File Server: filer2 (10.90.1.2)
SHIPYARD# snapshot manage <namespace> <volume> <share> <snapshot rule> <snapshot-name> created-on <date/time> [report-prefix <prefix>] [verbose]
According to one example, the snapshot reconstitution command script includes a plurality of snapshot manage commands that when executed by file virtualization device 110 form a reconstituted virtual snapshot. The snapshot reconstitution command script file targets one or more namespaces, volumes, and/or rules. Further, as and when new configuration objects (e.g., a new physical snapshot, a new server 102(1), or a new volume) is added, the snapshot reconstitution command script file can be updated to reflect the change. In one example, the snapshot reconstitution command script file can be in the Perl programming language, although other proprietary, open source, and or customized programming languages may also be used to create the snapshot reconstitution command script files. An example format of a snapshot reconstitution command is shown below, although other formats and syntax may be used for modifying the snapshot reconstitution command script file, as will be apparent to one of ordinary skill in the art, after reading this disclosure.
switch# snapshot reconstitute <ns> [<vol>] [<rule>] [origin <origin-ns> <origin-vol> <origin-rule>] [output-script <script-filename>] [report-prefix <prefix>] [verbose]
snapshot manage ns1 /vol1 share1 daily acopia_3_200807311700_4ba36c10-
snapshot manage ns1 /vol1 share2 daily acopia_3_200807311700_4ba36c10-
In step 414, based upon the physical snapshot names “acopia 1—200807291700—4ba36c10-30c6-11dd-ba58-b9262f5c441e,” “acopia—2—200807301700—4ba36c10-30c6-11dd-ba58-b9262f5c441e,” and “acopia—3—200807311700—4ba36c10-30c6-11dd-ba58-b9262f5c441e,” corresponding, for example, to physical snapshots 206(1)-206(3), respectively, file virtualization device 110 reconstitutes the virtual snapshot 200 into a reconstituted virtual snapshot and provides the reconstituted virtual snapshot with physical snapshots 206(1)-206(3) included therein to requesting client computing devices 104(1)-104(n).
US7437603 13 Jan 2006 14 Oct 2008 Hitachi, Ltd. Method for restoring snapshot in a storage system
US7657717 2 Feb 2004 2 Feb 2010 Symantec Operating Corporation Coherently sharing any form of instant snapshots separately from base volumes
US20090222474 * 29 Feb 2008 3 Sep 2009 Alpern Bowen L Method and system for using overlay manifests to encode differences between virtual machine images
US20100077294 14 Dec 2009 25 Mar 2010 Aptimize Limited Methods and devices for post processing rendered web pages and handling requests of post processed web pages
US20120158663 * 29 Feb 2012 21 Jun 2012 Sadahiro Nakamura Nas system and remote copy method
WO2002056181A2 10 Jan 2002 18 Jul 2002 Force Communications Inc Z File switch and switched file system
12 Aguilera, Marcos K. et al., "Improving recoverability in multi-tier storage systems," International Conference on Dependable Systems and Networks (DSN-2007), Jun. 2007, 10 pages, Edinburgh, Scotland.
14 Anderson, Darrell C. et al., "Interposed Request Routing for Scalable Network Storage," ACM Transactions on Computer Systems 20(1): (Feb. 2002), pp. 1-24.
15 Anonymous, "How DFS Works: Remote File Systems," Distributed File System (DFS) Technical Reference, retrieved from the Internet on Feb. 13, 2009: URL (Mar. 2003).
16 Anonymous, "How DFS Works: Remote File Systems," Distributed File System (DFS) Technical Reference, retrieved from the Internet on Feb. 13, 2009: URL<:http://technetmicrosoft.com/en-us/library/cc782417WS.10,printer).aspx> (Mar. 2003).
17 Apple, Inc., "Mac OS X Tiger Keynote Intro. Part 2," Jun. 2004, www.youtube.com , p. 1.
18 Apple, Inc., "Mac OS X Tiger Keynote Intro. Part 2," Jun. 2004, www.youtube.com <http://www.youtube.com/watch?v=zSBJwEmRJbY>, p. 1.
19 Apple, Inc., "Tiger Developer Overview Series: Working with Spotlight," Nov. 23, 2004, www.apple.com using www.archive.org , pp. 1-6.
20 Apple, Inc., "Tiger Developer Overview Series: Working with Spotlight," Nov. 23, 2004, www.apple.com using www.archive.org <http://web.archive.org/web/20041123005335/developer.apple.com/macosx/tiger/spotlight.html>, pp. 1-6.
21 Basney et al., "Credential Wallets: A Classification of Credential Repositories Highlighting MyProxy," Sep. 19-21, 2003, pp. 1-20, 31st Research Conference on Communication, Information and Internet Policy (TPRC 2003), Arlington, Virginia.
22 Botzum, Keys, "Single Sign on-A Contrarian View," Aug. 6, 2001, pp. 1-8, Open Group Website, http://www.opengroup.org/security/topics.htm.
23 Botzum, Keys, "Single Sign on—A Contrarian View," Aug. 6, 2001, pp. 1-8, Open Group Website, http://www.opengroup.org/security/topics.htm.
24 Cabrera et al., "Swift: A Storage Architecture for Large Objects," In Proceedings of the-Eleventh IEEE Symposium on Mass Storage Systems, Oct. 1991, pp. 123-128.
25 Cabrera et al., "Swift: Using Distributed Disk Striping to Provide High I/O Data Rates," Fall 1991, pp. 405-436, vol. 4, No. 4, Computing Systems.
26 Cabrera et al., "Using Data Striping in a Local Area Network," 1992, technical report No. UCSC-CRL-92-09 of the Computer & Information Sciences Department of University of California at Santa Cruz.
27 Callaghan et al., "NFS Version 3 Protocol Specifications" (RFC 1813), Jun. 1995, The Internet Engineering Task Force (IETN), www.ietf.org, last accessed on Dec. 30, 2002.
28 Carns et al., "PVFS: A Parallel File System for Linux Clusters," in Proceedings of the Extreme Linux Track: 4th Annual Linux Showcase and Conference, Oct. 2000, pp. 317-327, Atlanta, Georgia, USENIX Association.
29 Cavale, M. R., "Introducing Microsoft Cluster Service (MSCS) in the Windows Server 2003", Microsoft Corporation, Nov. 2002.
30 English Translation of Notification of Reason(s) for Refusal for JP 2002-556371 (Dispatch Date: Jan. 22, 2007).
31 Fan et al., "Summary Cache: A Scalable Wide-Area Protocol", Computer Communications Review, Association Machinery, New York, USA, Oct. 1998, vol. 28, Web Cache Sharing for Computing No. 4, pp. 254-265.
32 Farley, M., "Building Storage Networks," Jan. 2000, McGraw Hill, ISBN 0072120509.
33 Gibson et al., "File Server Scaling with Network-Attached Secure Disks," in Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (Sigmetrics '97), Association for Computing Machinery, Inc., Jun. 15-18, 1997.
34 Gibson et al., "NASD Scalable Storage Systems," Jun. 1999, USENIX99, Extreme Linux Workshop, Monterey, California.
35 Harrison, C., May 19, 2008 response to Communication pursuant to Article 96(2) EPC dated Nov. 9, 2007 in corresponding European patent application No. 02718824.2.
36 Hartman, J., "The Zebra Striped Network File System," 1994, Ph.D. dissertation submitted in the Graduate Division of the University of California at Berkeley.
37 Haskin et al., "The Tiger Shark File System," 1996, in proceedings of IEEE, Spring COMPCON, Santa Clara, CA, www.research.ibm.com, last accessed on Dec. 30, 2002.
40 Hwang et al., "Designing SSI Clusters with Hierarchical Checkpointing and Single 1/0 Space," IEEE Concurrency, Jan.-Mar. 1999, pp. 60-69.
41 International Search Report for International Patent Application No. PCT /US02/00720, Jul. 8, 2004.
42 International Search Report for International Patent Application No. PCT/US 2008/083117 (Jun. 23, 2009).
45 International Search Report from International Application No. PCT/US03/41202, mailed Sep. 15, 2005.
46 Karamanolis, C. et al., "An Architecture for Scalable and Manageable File Services," HPL-2001-173, Jul. 26, 2001. p. 1-114.
47 Katsurashima, W. et al., "NAS Switch: A Novel CIFS Server Virtualization, Proceedings," 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies, 2003 (MSST 2003), Apr. 2003.
48 Kimball, C.E. et al., "Automated Client-Side Integration of Distributed Application Servers," 13Th LISA Conf., 1999, pp. 275-282 of the Proceedings.
49 Klayman, J., Jul. 18, 2007 e-mail to Japanese associate including instructions for response to office action dated Jan. 22, 2007 in corresponding Japanese patent application No. 2002-556371.
50 Klayman, J., Nov. 13, 2008 e-mail to Japanese associate including instructions for response to office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
51 Klayman, J., response filed by Japanese associate to office action dated Jan. 22, 2007 in corresponding Japanese patent application No. 2002-556371.
53 Korkuzas, V., Communication pursuant to Article 96(2) EPC dated Sep, 11, 2007 in corresponding European patent application No. 02718824.2-2201.
64 Pearson, P.K., "Fast Hashing of Variable-Length Text Strings," Comm. of the ACM, Jun. 1990, pp. 1-4, vol. 33, No. 6.
68 Response filed Mar. 20, 2008 to Final Office action dated Sep. 21, 2007 for related U.S. Appl. No. 10/336,784.
69 Rodriguez et al., "Parallel-access for mirror sites in the Internet," InfoCom 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE Tel Aviv, Israel Mar. 26-30, 2000, Piscataway, NJ, USA, IEEE, US, Mar. 26, 2000, pp. 864-873, XP010376176 ISBN: 0-7803-5880-5 p. 867, col. 2, last paragraph-p. 868, col. 1, paragraph 1.
70 Rodriguez et al., "Parallel-access for mirror sites in the Internet," InfoCom 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE Tel Aviv, Israel Mar. 26-30, 2000, Piscataway, NJ, USA, IEEE, US, Mar. 26, 2000, pp. 864-873, XP010376176 ISBN: 0-7803-5880-5 p. 867, col. 2, last paragraph—p. 868, col. 1, paragraph 1.
71 RSYNC, "Welcome to the RSYNC Web Pages," Retrieved from the Internet URL: http://samba.anu.edu.ut.rsync/. (Retrieved on Dec. 18, 2009).
72 Savage, et al., "AFRAID-A Frequently Redundant Array of Independent Disks," Jan. 22-26, 1996, pp. 1-13, USENIX Technical Conference, San Diego, California.
73 Savage, et al., "AFRAID—A Frequently Redundant Array of Independent Disks," Jan. 22-26, 1996, pp. 1-13, USENIX Technical Conference, San Diego, California.
74 Soltis et al., "The Design and Performance of a Shared Disk File System for IRIX," Mar. 23-26, 1998, pp. 1-17, Sixth NASA Goddard Space Flight Center Conference on Mass Storage and Technologies in cooperation with the Fifteenth IEEE Symposium on Mass Storage Systems, University of Minnesota.
75 Soltis et al., "The Global File System," Sep. 17-19, 1996, in Proceedings of the Fifth NASA Goddard Space Flight Center Conference on Mass Storage Systems and Technologies, College Park, Maryland.
76 Sorenson, K.M., "Installation and Administration: Kimberlite Cluster Version 1.1.0, Rev. Dec. 2000," Mission Critical Linux, http://oss.missioncriticallinux.com/kimberlite/kimberlite.pdf.
77 Stakutis, C., "Benefits of SAN-based file system sharing," Jul. 2000, pp. 1-4, InfoStor, www.infostor.com, last accessed on Dec. 30, 2002.
78 Thekkath et al., "Frangipani: A Scalable Distributed File System," in Proceedings of the 16th ACM Symposium on Operating Systems Principles, Oct. 1997, pp. 1-14, Association for Computing Machinery, Inc.
79 Tulloch, Mitch, "Microsoft Encyclopedia of Security," 2003, pp. 218, 300-301, Microsoft Press, Redmond, Washington.
80 Uesugi, H., English translation of office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
81 Uesugi, H., Jul. 15, 2008 letter from Japanese associate reporting office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
82 Uesugi, H., Nov. 26, 2008 amendment filed by Japanese associate in response to office action dated May 26, 2008 in corresponding Japanese patent application No. 2002-556371.
83 Wilkes, J., et al., "The HP AutoRAID Hierarchical Storage System," Feb. 1996, vol. 14, No. 1, ACM Transactions on Computer Systems.
84 Zayas, E., "AFS-3 Programmer's Reference: Architectural Overview," Transarc Corp., version 1.0 of Sep. 2, 1991, doc. No. FS-00-D160.
U.S. Classification 707/649, 707/657, 707/821, 707/652
International Classification G06F12/08, G06F7/10, G06F17/30
Cooperative Classification G06F11/2097, G06F2201/815, G06F11/2023, G06F2201/84, G06F17/30233, G06F17/30088