The present application relates generally to distributed network backup of multimedia files.
Multimedia files such as digital images, videos and music typically represent 90% or more of the data that is stored on the disk drive a typical personal computer. As understood herein, methods exist for backing up personal multimedia files but most them are expensive and require user effort and knowledge on how to execute. Even worse, some of the back-up mechanisms still entail significant risk. For example, backing up personal videos to a second drive on the same PC is risky if the PC is stolen. Backing up the files to a set of DVDs is risky in the case of a fire, and backing up to a single on-line backup service can be expensive and can also be risky should the on-line backup company go out of business.
As also understood herein, it is not always necessary to have an exact copy of a multimedia file be available as a backup copy, because even if 5%-10% of the pixels in a backup photograph are different from the original, for instance, it is unlikely that a significant difference will be apparent to a casual viewer. Likewise, it can be difficult to discern the difference between an original video and a backup version of that video that is missing a relatively small percentage of the original frames.
Accordingly, a computer includes a housing, a processor in the housing, and a non-transitory computer readable storage medium in the housing and accessible by the processor to execute logic. The logic causes the processor to divide a multimedia file into plural segments and to tag each segment with an identification indicating the file to which the segment belongs. The logic causes the processor to send the segments to respective participating backup computers in a computer network so that the segments of the file are distributed among multiple backup computers.
If desired, each segment can also be tagged with an indication of its location within its file. In example embodiments, the logic includes transforming the file into vectors, with the segments being composed of the vectors. The file can be transformed into vectors prior to dividing the file into the segments. Further, the logic may include recording which participating computers receive which segments to generate a location record that can be provided to a network server for access thereat in the event that the location record cannot be accessed in data storage of the computer. If desired, a user can establish an acceptable file percentage for recovery of the file, such that the file is indicated as being fully recovered when sufficient segments have been recovered to meet the acceptable file percentage. The acceptable file percentage can be less than 100%.
In another aspect, a computer includes a housing, a processor in the housing, and a non-transitory computer readable storage medium in the housing and accessible by the processor to execute logic. The logic causes the processor to receive a recovery command to recover a multimedia file having segments stored in plural participating computers and to communicate with the computers to download the segments. The processor stitches the segments together using identification tags accompanying the segments to reconstruct the multimedia file to at least an acceptable percentage of an original version of the multimedia file. The acceptable percentage can be less than 100%.
In another aspect, a method includes designating a multimedia file to be backed up, dividing the file into segments, and sending the segments to respective participating computers in a network as a means of backing up the files. The multimedia file is recovered by downloading at least some segments from the participating computers. The method includes reconstituting the multimedia file with less than 100% of the segments with minimal deleterious noticeability upon subsequent display of content in the file.
The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:
Referring initially to
To undertake present principles, the processor 16 may access one or more computer readable storage media such as but not limited to a disk drive 22 and solid state memory 24 which may be implemented by flash memory, dynamic random access memory (DRAM), etc. In example non-limiting embodiments, the media may store various software modules, including, for example, a module bearing logic executable by the processor to undertake present principles. User input may be received from one or more input devices 26 such as keypads, mice, trackballs, joysticks, voice recognition mechanisms, etc.
Also, the processor 16 communicates with multiple other computers 28 and optionally with an Internet server 30 using a network communications interface 32, such as a wired or wireless modem or telephone transceiver. The computers 12, 26 may each execute portions of the logic herein and the server 28 likewise may execute certain portions such as the below-described logic.
Accordingly and now turning to block 34 of
If desired, a thumbnail image for each file to be backed up may be generated using, e.g., the first frame of a video or a reduced version of a digital photo. The thumbnails may be stored on the disk drive 22 and/or sent to the server 30. In this way, a user later can access the thumbnails to recall which files were backed up and to aid in selecting a file for restoration from a backed up copy according to logic below.
At block 36, for each multimedia file selected for backup, in example embodiments the logic may move to block 38 to transform the file into a format suitable for segmenting. In one example, the pixels of an image frame may be transformed from the spatial domain to a hyperspace parameterized set of vectors. The transformation may be effected using a Fourier transform, for example, to transform spatial locations of pixels into the frequency domain. Or, a singular value decomposition (SVD) transform may be used, or other suitable transform.
Proceeding to block 40, the output of the transform step at block 38 is divided into multiple segments. For example, the file may be divided into twenty of fifty or a hundred or more segments. At block 42 each segment is tagged with the identification of the file to which it belongs and its location within that file.
As understood herein, dividing the file after transformation permits less noticeable degradation upon recovery in the event that some parts of the signal cannot be recovered. As an example, if a song is divided into multiple parts without transforming it, and some parts subsequently cannot be recovered, the resulting audio quality on playback would be noticeably degraded, with clicks and pops. On the other hand, if (in one example) a Fourier transform is applied to the song and then the frequency components are divided into parts, some of the parts can be unrecoverable yet the song reconstructed after reception and inverse transformation with less noticeable degradation.
Moving to block 44, the segments with identifying tags are uploaded through the network interface 32 to respective participating computers 28. Thus, to illustrate, the first segment of a file with its tag may be uploaded to “computer 1” in
Block 46 indicates that a record is maintained of which participating computers 28 contain which multimedia file segments from the originating computer 12. At block 48 this record is stored in the originating computer 12 and if desired in the server 30 or other secondary location so that if the originating computer 12 is lost, stolen, or inoperative, a user can still recover multimedia files using the record in the server 30, which, recall from block 34, may also receive from the originating computer the thumbnails or other record of which original files on the originating computer 12 were backed up.
Also, in some embodiments the user may be given the option of deciding how much of the file is acceptable for recovery purposes in terms of, e.g., percentage. For example, the user can enter “95%” in the field shown to indicate that recovery of 95% of the file will be considered acceptable. If more than the indicated percentage can be recovered within a threshold period of time, e.g., within thirty minutes after the indicated percentage is recovered, then an even greater percentage of the file is returned. The user may be given the option of establishing the threshold period, or it may be set by default.
In contrast, if less than the indicated percentage of the file can be recovered within a recovery period that may be user-established or set by default, an error may be returned, and/or a prompt presented on the display inquiring whether the user would like to lower the acceptable percentage and indicating to the user how much of the file has in fact been recovered to that point.
In this way, for instance, shouldone or more of the participating computers 28 be unavailable at time of recovery, if enough segments can be recovered to meet the user's threshold percentage, the system can still provide the user with a recovered file. A default recovery percentage may be implemented and may be changed by the user or in some cases may not be changeable. Or, as can be appreciated in reference to
In any case, once the desired files to be recovered have been established, at block 52 in
Decision diamond 60 indicates that the above process continues until the acceptable recovery percentage has been reached. When that occurs the file is presented and/or a “recovery complete” message is presented on the originating computer 12 at state 62.
If desired, additional services can be provided by using grid computing techniques. For example, the participating computers 28 can enhance or transcode the parameterized multimedia content. The additional services that can be provided using grid computing technologies may be, without limitation, transcoding a video file to a different video format or enhancing images for better quality. Such algorithms may be re-implemented to run on the parameterized space after the transformation to take advantage of the power of grid computing in that all devices that participate in the grid can store segments of files as well as process them according to the instructions received by the owner.
While the particular DISTRIBUTED NETWORK BACKUP OF MULTIMEDIA FILES is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.
Number | Name | Date | Kind |
---|---|---|---|
6249877 | Kawakami et al. | Jun 2001 | B1 |
6785768 | Peters et al. | Aug 2004 | B2 |
7389038 | Watanabe et al. | Jun 2008 | B1 |
7650341 | Oratovsky et al. | Jan 2010 | B1 |
8265154 | Gardner | Sep 2012 | B2 |
20030014419 | Clapper | Jan 2003 | A1 |
20030217330 | Shelley | Nov 2003 | A1 |
20050144283 | Fatula, Jr. | Jun 2005 | A1 |
20070030528 | Quaeler et al. | Feb 2007 | A1 |
20070089151 | Moore et al. | Apr 2007 | A1 |
20080005334 | Utard et al. | Jan 2008 | A1 |
20080147821 | Dietrich et al. | Jun 2008 | A1 |
20080240533 | Piron et al. | Oct 2008 | A1 |
20080307019 | Weiss et al. | Dec 2008 | A1 |
20080307107 | Chen et al. | Dec 2008 | A1 |
20090154559 | Gardner | Jun 2009 | A1 |
20090210427 | Eider et al. | Aug 2009 | A1 |
20090210614 | Gorobets | Aug 2009 | A1 |
20090234856 | Miloushev et al. | Sep 2009 | A1 |
20090240743 | Yamagami | Sep 2009 | A1 |
20090271412 | Lacapra et al. | Oct 2009 | A1 |
20100030827 | Sarakas | Feb 2010 | A1 |
20100049753 | Prahlad et al. | Feb 2010 | A1 |
20100094921 | Roy et al. | Apr 2010 | A1 |
20100125507 | Tarantino et al. | May 2010 | A1 |
20100257142 | Murphy et al. | Oct 2010 | A1 |
20110302161 | Walker et al. | Dec 2011 | A1 |
Number | Date | Country |
---|---|---|
0115083 | Mar 2001 | WO |
Entry |
---|
Yiu, W.-P.K.; Xing Jin; Chan, S.-H.G., “VMesh: Distributed Segment Storage for Peer-to-Peer Interactive Video Streaming,” Selected Areas in Communications, IEEE Journal on , vol. 25, No. 9, pp. 1717,1731, Dec. 2007. |
Chao-Tung Yang, Chuan-Lin Lai, Chin-Ming Chi, Kuan-Ching Li; “On Utilization of the Grid Computing Technology for Video Conversion”, Int. Computer Sumposium, Dec. 15-17, 2004, Taipei, Taiwan—http://dspace.lib.fcu.edu.tw/bitstream/2377/1863/1/ce07ics002004000181.pdf. |
Jianfeng Xu Yamasaki, T.Aizawa, K.; “Motion Editing in 3D Video Database”, IEEExplore, Jun. 14-16, 2006, http://ieexplore.ieee.org/serach/freesrchabstract.jsp?tp=4155763&queryText%3Donline+backup+segment—vector+grid%26openRefinements%3D*%26serachField%3DSearch+All. |
Number | Date | Country | |
---|---|---|---|
20110282840 A1 | Nov 2011 | US |