The present invention relates generally to systems and methods for managing data with respect to tape storage, and more particularly to managing data with respect to data stored on tapes in a manner that supports a file system.
The rapid expansion in the use of digital media and the ease of communication using such have significantly increased the amount of data that media companies create and manage. More than ever, media companies desire to not only quickly generate such digital media but also quickly access, modify, and proliferate such data. This grand expansion in digital data has also seen a shift in the professional media community from recording on traditional film and tape to recording directly to digital media files. This trend has numerous advantages in speeding up the process of the shooting, editing and generally the creation of the movies, television and news programs. However, the tremendous amount of data may be difficult to preserve, edit, and access.
In accordance with an embodiment of the present invention, a system for providing tape data management is provided. In one aspect, the invention provides a method, performed by a computer, for storing information on tape, comprising: receiving stored files and information of a modification time of each of the stored files; commanding writing of the stored files to tape; writing a proxy file for each of the stored files to memory, each proxy file including an indication of the modification time of the corresponding stored file; and commanding writing of the proxy files to tape.
In another aspect, the invention provides a system for data management, comprising: a processor to receive metadata related to source content and extract information from the metadata to determine a data structure for storage of the source content; a server, coupled to data manager via a network connection, to receive from the processor the metadata and the data structure for storage of the source content and to receive the source content from a client and to execute instructions to cause the content data to be written to a formatted tape media of a tape device coupled thereto.
In another aspect, the invention provides a computer implemented method for managing data, comprising: receiving via a server, content data and metadata information, the content data being directly provided from a content data source; initializing a proxy file system; executing instructions to cause the content data, write sequence information and the proxy file system to be sequentially written to a formatted tape media.
In another aspect, the invention provides a computer implemented method for restoring content data from a tape, the method comprising: retrieving, from a formatted tape including content data, a binary file, the binary file including instructions which when executed cause a processor to: read directory structure information from the tape; and restore the content data included on the tape to a predetermined target location.
In another aspect, the invention provides a computer implemented method for self-verification of content data on a tape media, the method comprising: retrieving, from a formatted tape including content data, a binary file, the binary file including instructions which when executed cause a processor to: perform a checksum on the content data on the tape; compare the checksum with a correct checksum stored on the tape; provide an indication of a data verification result.
In another aspect, the invention provides a computer implemented method for generating a preview of content data stored on a tape storage medium, the method comprising: receiving content data from a source to be written to a tape storage medium; extracting metadata from the content data and using the metadata to generate a proxy data structure; copying a file included in the source content data and storing the copied file in the proxy data structure; writing the source content data to the tape storage medium; storing the proxy data structure in a storage device of a production station; accessing, via the production station, a file of the proxy data structure to generate a preview of a corresponding source file of the content data written to tape.
Other features and aspects of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings which illustrate, by way of example, the features in accordance with embodiments of the invention. The summary is not intended to limit the scope of the invention.
The server commands the tape drives to write data to and read data from tapes in the tape drives, also generates additional information regarding data written to the tapes, with the additional information in some embodiments also written to the tapes as well. The additional information includes, in most embodiments, modification time information indicating a modification time of source data written to the tapes. In some embodiments the additional information includes various items of metadata regarding the data written to the tapes.
In some embodiments, the source data is in the form of files, and the additional information is stored in the form of a proxy file system, with a proxy file for each file written to tape. The proxy file may include, or otherwise have associated with the file, information that indicates a time of modification of the source file. The proxy file may also include other information, such as image information (in some embodiments at a lower resolution than mage information of the source file written to tape), format information, creator information, project information, or other information. In addition, in some embodiments, proxy files are maintained in a directory structure matching, or corresponding, to a directory structure in which the source files are stored on the tape or stored on a source memory device. In such an arrangement, the proxy files and associated directory structure may be considered a proxy file system.
As illustrated in
When source content is to be written to tape, the source content metadata may extracted and provided to the data manager. In some embodiments, the source content metadata is not processed by the server, instead the data manager is configured to intelligently read the metadata. That is, the data manager parses the metadata to determine the file structure of the content data. The data manager stores the extracted metadata and provides a copy to a server that will conduct the data backup of the source content. In other embodiments, the server is instead configured to determine and/or generate the metadata, and place the metadata for example in the form of a proxy file system, which the server may provide to the data manager. Provision of the proxy file system to the data manager is beneficial in that potentially the clients, or other servers, may access the information of the proxy file system from the data manager.
At block 230, the process writes a file to tape. The writing operation preferably is accomplished in accordance with the Linear Tape File System (LTFS) Format Specification, for example version 1.0 or 2.0.0, the disclosures of both which are incorporated herein by reference for all purposes in their entirety, and both of which at the time of writing are publicly available from IBM.
The write operation may be performed via a local connection or via a network connection (e.g., LAN or WAN). In some embodiments, the system uses a very small and temporary disk cache. It uses this disk cache to perform the parallel sync used to achieve WAN optimization.
In some embodiments the system uses buffer resizing to calculate the size of the send and receive buffers. These buffers are tuned by using the available bandwidth and the latency between the source and target. The calculation for buffer sizes are described as follows:
In some embodiments, the system may use a retry algorithm. Since networks often drop connections that do not respond for an extended period of time, the system may be tuned to recognize this as normal and resends a sync request to ensure that a sync is proceeding. This may be useful in avoiding timeouts due to an extended tape seek, for example. In some embodiments, multiple retries maybe sent before determining that a connection has been lost and closing a connection.
At block 240, the process stores the proxy file system information. The process may store the proxy file system in memory associated with the server, though preferably not the tape as doing so may delay progress of writing of the source files to tape. For each file written to tape, a corresponding proxy file is generated. The proxy file includes the modification time of the file written to tape. In various embodiments the proxy file additionally includes attribute data related to the source file written to tape, such as, file size, extended attributes and metadata. In various embodiments the proxy includes some information of the source file, for example when the source file is an image the proxy file may additionally include an image of a lower resolution than the image of the source file.
In accordance with aspects of the present invention, the proxy file system may be stored on the data manager, the server, or a client system or a combination thereof. At block 250, the process stores write sequence information. The write sequence information is recorded and maintained so that the written content data may be read back in the same sequence that the source content data was written. As such, seek operations may be minimized and the speed at which the data may be read is increased.
Additional information including, for example, an archive history which includes a history of the content written to a tape may also be generated and stored. Where multiple tapes are used for an archive, the archive history may also include identification for the tapes used for the archive and the location directories each time content was synced to tape for the archive.
At 260, the process determines if there are more files to be transferred. If there are more files to be written, the process returns to block 230 and repeats. On the other hand, if there are no additional files to be written, at block 270, the process writes the proxy file system to tape and writes the write sequence information to tape. The proxy files system and write sequence information may also be written to disk on the data manager, the server, or a client system. As such, an indication of the contents of the tape, and in some embodiments information regarding or of the contents of the tape may be viewable and searchable from a remote system.
In some embodiments, the data manager, server and/or client systems may be configured to execute instruction for generating and displaying a listing of files in a proxy file system displaying an image, for example.
At block 530, the process determines whether the changes have been made. When there have been no changes made to the files included in the proxy file system, the process terminates. Conversely, if the process determines that there are changes with respect to the source files, the process continues to block 540. At block 540, the process initializes an additional proxy file system. The proxy file system is, for example, as discussed with respect to block 220 of the process of
In some embodiments, the process of checking for changed files, initializing additional proxy file system and writing the additional files to tape as described above with respect to blocks 530, 540, and 550, may be continually executed as a background process performed by the server, data manager or a client to enable continuous syncing of the content data. This is advantageous because, further reduces the potential for lost content and also reduces downtime related to system data backups.
In some embodiments, the process may retrieve information regarding the writable space remaining on the tape. The process may determine an amount of information to be written to tape. If there is sufficient space to complete the backup, the process writes the information and closes the sync. If there is not sufficient space, the process determines a first portion of the data to be written that will fit in the remaining writeable space of the tape and writes this portion of information. The process may wait for an additional tape to be installed in a tape device to continue writing the remaining portion of the information to be written.
The self restoring binary manages the process of efficiently recreating the point in time from the tape to the target disk. The self-restoring binary allows for both partial files and full snaphot recovery and also uses the write sequence to enable highly efficient reads directly from tape. The self restoring binary may be stored on the main LTFS volume, for example in partition 0, and may be visible when the mounted. Further, the binary may be stored in the root location under a hidden folder called .xxx_self_restore or other location and/or name according to user preference.
Referring to
When the archive spans multiple tapes, the process may restore content from a first tape and prompt the user to insert subsequent tapes and continue the restore content to a target location until the entire archive is restored.
Referring to
The data management systems and methods described above are broadly applicable to many media environments. Media environments are quickly transitioning to a file based workflow—from capture, to post production, exchange and distribution. A large number of production pipelines now utilize file based cameras that generate terabytes of file based video files rather than traditional video tapes.
The content may be edited directly from the tape using an editing application or may alternatively be restored, as previously described, to a primary storage device such as a hard disk or a shared storage area network 1130 for editing. After the content has been edited, the content data may be offloaded and archived to tape.
During the editing process, the system enables editors to check-in and share their work-in-progress sequences and associated media. Editors may export their edited sequences using XML or Advanced Authoring Format (AAF) exports, for example. An incremental sync may be performed to archive any changes made to the content during the editing session. The exported sequence may thus be shared with other editors that may further modify the sequence, while maintaining the ability to easily revert to a prior version
As shown in
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in detail can be made therein without departing from the spirit and scope of the invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the claims supported by this disclosure and their insubstantial variations.
This application claims the benefit of the filing date of U.S. Provisional Application No. 61/411,816, filed Nov. 9, 2010, entitled “Tape Data Management,” the disclosure of which is incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
4792898 | McCarthy et al. | Dec 1988 | A |
5778395 | Whiting et al. | Jul 1998 | A |
5852435 | Vigneaux | Dec 1998 | A |
5950218 | Howard | Sep 1999 | A |
6108759 | Orcutt et al. | Aug 2000 | A |
6301067 | Takayama | Oct 2001 | B1 |
6360234 | Jain et al. | Mar 2002 | B2 |
6701450 | Gold | Mar 2004 | B1 |
6816941 | Carlson | Nov 2004 | B1 |
7159139 | Vishlitzky et al. | Jan 2007 | B2 |
7286749 | Shiiyama | Oct 2007 | B2 |
7460149 | Donovan et al. | Dec 2008 | B1 |
7587419 | Thorpe | Sep 2009 | B2 |
7698517 | Tulyani | Apr 2010 | B2 |
7796856 | Shinkai | Sep 2010 | B2 |
8006111 | Faibish et al. | Aug 2011 | B1 |
8392705 | Borden et al. | Mar 2013 | B2 |
8799226 | Haselton et al. | Aug 2014 | B2 |
8935470 | Fair | Jan 2015 | B1 |
8954663 | Klein et al. | Feb 2015 | B1 |
9063666 | Amir et al. | Jun 2015 | B2 |
9324379 | Lee | Apr 2016 | B2 |
9349413 | McIntosh | May 2016 | B2 |
9467750 | Banica | Oct 2016 | B2 |
20020067500 | Yokomizo et al. | Jun 2002 | A1 |
20020107877 | Whiting et al. | Aug 2002 | A1 |
20020124137 | Ulrich et al. | Sep 2002 | A1 |
20030158873 | Sawdon et al. | Aug 2003 | A1 |
20030235000 | Takayama | Dec 2003 | A1 |
20040073624 | Dewey | Apr 2004 | A1 |
20040177319 | Horn | Sep 2004 | A1 |
20040255329 | Compton et al. | Dec 2004 | A1 |
20050008327 | Shinkai | Jan 2005 | A1 |
20050050263 | Ashton et al. | Mar 2005 | A1 |
20050071624 | Rothman | Mar 2005 | A1 |
20050099963 | Multer | May 2005 | A1 |
20050120168 | Vishlitzky et al. | Jun 2005 | A1 |
20050147129 | Maehara et al. | Jul 2005 | A1 |
20050188248 | O'Brien et al. | Aug 2005 | A1 |
20050246373 | Faulkner et al. | Nov 2005 | A1 |
20060101084 | Kishi et al. | May 2006 | A1 |
20060176602 | Honjo et al. | Aug 2006 | A1 |
20070217763 | Siemens et al. | Sep 2007 | A1 |
20070260643 | Borden et al. | Nov 2007 | A1 |
20080063287 | Klamer et al. | Mar 2008 | A1 |
20080288869 | Ubillos | Nov 2008 | A1 |
20100027961 | Gentile et al. | Feb 2010 | A1 |
20100088579 | Hafner | Apr 2010 | A1 |
20100241770 | Tumblin et al. | Sep 2010 | A1 |
20110185149 | Gruhl et al. | Jul 2011 | A1 |
20110199703 | Hansen et al. | Aug 2011 | A1 |
20110238716 | Amir et al. | Sep 2011 | A1 |
20110238906 | Amir et al. | Sep 2011 | A1 |
20120030408 | Flynn et al. | Feb 2012 | A1 |
20120078852 | Haselton et al. | Mar 2012 | A1 |
20120079191 | Jaquette | Mar 2012 | A1 |
20120106309 | Oishi | May 2012 | A1 |
20120300330 | Martin | Nov 2012 | A1 |
20130339320 | Noda | Dec 2013 | A1 |
20150116859 | Itagaki et al. | Apr 2015 | A1 |
20160165173 | Lesh | Jun 2016 | A1 |
20170004859 | Charumilind | Jan 2017 | A1 |
Number | Date | Country |
---|---|---|
WO 2010047679 | Apr 2010 | WO |
Entry |
---|
1 Beyond QuadArchiver, 1 Beyond, copyright 2005, retrieved from http://www.hgsitebuilder.com/files/writeable/uploads/hostgator762880/file/1—beyond—quadarchiver4-3-13.pdf (2 pages). |
Definition of copyright notice, U.S. Copyright Office, retrieved from http://www.copyright.gov/help/faq/faq-definitions.html on Oct. 15, 2013 (2 pages). |
Definition of filename, Google Define, retrieved from https://www.google.com/search?q=define%3A+filename&oq=define%3A+filename&aqs=chrome.0.57j58.386693&sugexp=chrome,mod=0&sourceid=chrome&ie=UTF-8 on Oct. 15, 2013 (1 page). |
Definition of new, Merriam-Webster Dictionary, retrieved from http://www.merriam-webster.com/dictionary/new on Oct. 15, 2013 (1 page). |
What is LTFS?, George Crump, May 18, 2010, retrieved from http://www.storage-switzerland.com/articles/Entries/2010/5/18—What—is—LTFS.html on Dec. 29, 2014 (3 pages). |
A Visual Guide to Version Control, BetterExplained, Sep. 27, 2007, retrieved from http://betterexplained.com/articles/a-visual-guide-to-version-control/ (11 pages). |
Focus Proxsys Reference Manual, Focus enhancements, Aug. 2006, retrieved from http://www.manualslib.com/manual/239743/Focus-Proxsys.html on Jun. 30, 2015 (8 pages). |
Data Interchange on 12,7 mm 384-Track Magnetic Tape Cartridges—Ultrium-1 Format, Jun. 2001, retrieved from http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-319.pdf on Jun. 30, 2015 (160 pages). |
What is LFTS?, George Crump, May 18, 2010, retrieved from http://www.storage-switzerland.com/Articles/Entries/2010/5/18—What—is—LTFS.html on Jul. 1, 2015 (2 pages). |
Proxy Video—From A to iPOD, Suny Behar, Panasonic, Sep. 2008, retrieved from ftp://ftp.panasonic.com/pub/panasonic/drivers/PBTS/papers/Proxy—Video—Final.pdf (17 pages). |
Focus Proxsys Reference Manual, Focus enhancements, Aug. 2006, retrieved from http://www.manualslib.com/manual/239743/Focus.Proxsys-html on May 30, 2015 (8 pages). |
Definition of: magnetic tape; PCMag; retrieved from http://www.pcmag.com/encyclopedia/term/46499/magnetic-tape on Apr. 7, 2016 (2 pages). |
Data Interchange on 12,7 mm 384-Track Magnetic Tape Cartidges—Ultrium-1 Format, Jun. 2001, retrieved from http://www.international.org/publications/files/ECMA-ST/Ecma-319.pdf on Jun. 30, 2015 (160 pages). |
What is LTFS?, George Crump, May 18, 2010, retreived from http://www.storage-switzerland.com/Articles/Entries/2010/5/18—What—is—LTFS.html on Jul. 1, 2015 (3 pages). |
LTO-5 Breathes New Life into Tape Storage, Drew Robb, Jan. 22, 2010, retrieved from http://www.enterprisestorageforum.com/continuity/features/article.php/3860261/LTO-5-Breathes-New-Life-into-Tape-Storage.htm on Jul. 1, 2015 (5 pages). |
Hitachi TagmaStore® Adaptable Modular Storage and Workgroup Modular Storage Architecture Guide, Aug. 2006, retrieved from https://www.hds.com/assets/pdf/tagmastore-adaptable-modular-storage-and-workgroup-modular-storage-architecture-guide.pdf on Jul. 1, 2015 (85 pages). |
Introduction to XML, W3 Schools, Feb. 21, 2005, retrieved from https://web.archive.org/web/20050221002855/http://www.w3schools.com/xml/xml—whatis.asp on Dec. 29, 2014 (2 pages). |
Proxy Video—From A to iPOD, Suny Behar. Panasonic, Sep. 2008, retrieved from ftp://ftp.panasonic.com/pub/panasonic/drivers/PBTS/papers/Proxy—Video—Final.pdf (17 pages). |
A file system for VM-TOTAL/APL; Mann, R. Bruce; Proceedings of the international conference on APL ; Apr. 10-13, 1983; pp. 97-102 (6 pages). |
File-based media workflows using ltfs tapes; Amir et al; Proceedings of the 18th ACM international conference on Multimedia; Oct. 25-29, 2010; pp. 1519-1520 (2 pages). |
Number | Date | Country | |
---|---|---|---|
20120179867 A1 | Jul 2012 | US |
Number | Date | Country | |
---|---|---|---|
61411816 | Nov 2010 | US |