Virtual storage of portable media files
First Claim
Patent Images
1. A method of storing files in a virtual file system comprising:
- executing locally, via a client computer, an instance of a program;
accessing, via the client computer, an original source file via the instance of the program, said client computer being coupled to a remote storage server via a data communication network, said storage server having allocated storage associated with the portable media device;
sequentially partitioning the original source file into a plurality of portions, each of said plurality of portions comprising a subset of the original source file, each said subset comprising a unique, non-overlapping portion of the original source file, said partitioning the original source file including one or more of the following;
real compression of the file;
executing a block-sorting algorithm on the file;
entropy encoding the file; and
reorganizing the file, said reorganizing the file including one or more of the following;
bit-wise reorganizing, nibble-wise reorganizing and byte-wise reorganizing, wherein the plurality of portions are combined to reassemble the original source file, comprising;
initially partitioning the source file into a plurality of unique, non-overlapping portions of the original source file, said unique, non-overlapping portions of the original source file comprising at least a first remote portion and a first remainder portion, said partitioning comprising creating, within the first remainder portion, a unique identifier referencing the first remote portion;
initially storing the first remote portion in the allocated storage on the remote storage server;
initially storing the first remainder portion on the portable media drive;
subsequently partitioning the first remainder portion into a plurality of unique, non-overlapping portions of the first remainder portion, said unique, non-overlapping portions of the first remainder portion comprising at least a second remote portion and a resulting remainder portion, said partitioning comprising creating, within the resulting remainder portion, a unique identifier referencing the second remote portion;
subsequently storing the second remote portion in the allocated storage on the remote storage server; and
subsequently storing the resulting remainder portion on the portable media drive, said storing the resulting remainder portion comprising overwriting the first remainder portion on the portable media drive with the resulting remainder portion; and
in determining the resulting remainder portion is greater than a predetermined maximum portion size, repeating said subsequently partitioning and subsequently storing as noted above of the resulting remainder portion and of any other resulting remainder portions until a last resulting remainder portion is smaller than the maximum portion size; and
storing the last resulting remainder portion as a local portion on the portable media drive,wherein a storage size of the original source file in the virtual file system is approximately equal to a storage size of the local portion on the portable media drive and wherein the original source file is reassembled by retrieving the remote portions stored on the remote storage server and sequentially combining the retrieved remote portions with the local portion on the portable media device as a function of all unique identifiers.
1 Assignment
0 Petitions
Accused Products
Abstract
Storing and/or virtually compressing a file on a virtual file system associated with a portable media drive. The virtual file system includes the portable media drive and allocated storage of a storage server. The file partitioned into a local portion and at least one remote portion. The local portion is stored on the portable media drive and the remote portions are transferred to the storage server. For a virtually compressed file, the storage size of the file on the virtual file system is calculated as a function of the storage size of the local portion on the portable media drive.
107 Citations
11 Claims
-
1. A method of storing files in a virtual file system comprising:
-
executing locally, via a client computer, an instance of a program; accessing, via the client computer, an original source file via the instance of the program, said client computer being coupled to a remote storage server via a data communication network, said storage server having allocated storage associated with the portable media device; sequentially partitioning the original source file into a plurality of portions, each of said plurality of portions comprising a subset of the original source file, each said subset comprising a unique, non-overlapping portion of the original source file, said partitioning the original source file including one or more of the following;
real compression of the file;
executing a block-sorting algorithm on the file;
entropy encoding the file; and
reorganizing the file, said reorganizing the file including one or more of the following;
bit-wise reorganizing, nibble-wise reorganizing and byte-wise reorganizing, wherein the plurality of portions are combined to reassemble the original source file, comprising;initially partitioning the source file into a plurality of unique, non-overlapping portions of the original source file, said unique, non-overlapping portions of the original source file comprising at least a first remote portion and a first remainder portion, said partitioning comprising creating, within the first remainder portion, a unique identifier referencing the first remote portion; initially storing the first remote portion in the allocated storage on the remote storage server; initially storing the first remainder portion on the portable media drive; subsequently partitioning the first remainder portion into a plurality of unique, non-overlapping portions of the first remainder portion, said unique, non-overlapping portions of the first remainder portion comprising at least a second remote portion and a resulting remainder portion, said partitioning comprising creating, within the resulting remainder portion, a unique identifier referencing the second remote portion; subsequently storing the second remote portion in the allocated storage on the remote storage server; and subsequently storing the resulting remainder portion on the portable media drive, said storing the resulting remainder portion comprising overwriting the first remainder portion on the portable media drive with the resulting remainder portion; and in determining the resulting remainder portion is greater than a predetermined maximum portion size, repeating said subsequently partitioning and subsequently storing as noted above of the resulting remainder portion and of any other resulting remainder portions until a last resulting remainder portion is smaller than the maximum portion size; and storing the last resulting remainder portion as a local portion on the portable media drive, wherein a storage size of the original source file in the virtual file system is approximately equal to a storage size of the local portion on the portable media drive and wherein the original source file is reassembled by retrieving the remote portions stored on the remote storage server and sequentially combining the retrieved remote portions with the local portion on the portable media device as a function of all unique identifiers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for compressing a file associated with a virtual file system associated with a portable media drive, said virtual file system including the portable media drive and allocated storage of a storage server, said portable media drive being connected to a client computer, said client computer being different than the storage server and having access to the storage server, said method comprising:
-
initiating the virtual file system by the receipt at the client computer of a locally executable program, wherein the client computer locally executes an instance of the program; determining a maximum capacity of the portable media drive and a storage size of the file; copying, in determining the determined maximum capacity is greater than the determined file size, the file to the allocated storage, said copying further comprising storing a token of the file to the portable media drive; sequentially partitioning in determining the determined maximum capacity is less than the determined file size, the file into a plurality of portions, said portions including a first portion and a second portion, said first portion and said second portion comprising two unique, non-overlapping portions of the file, said first portion comprising a remote portion and being contiguously dependent on the second portion, said second portion comprising a remainder portion, said partitioning including one or more of the following;
real compression of the file;
executing a block-sorting algorithm on the file;
entropy encoding the file; and
reorganizing the file, said reorganizing including one or more of the following;
bit-wise reorganizing, nibble-wise reorganizing and byte-wise reorganizing said partitioning further comprising;creating within the second portion a unique identifier referencing the first portion; Initially transferring the first portion to the allocated storage of the storage server; subsequently partitioning the second portion into a third portion and a fourth portion, such that a file size of the fourth portion is smaller than the determined maximum capacity, said first portion, said third portion, and said fourth portion comprising three unique, non-overlapping portions of the file, said third portion comprising another remote portion and said second portion comprising a resulting remainder portion; creating within the fourth portion a unique identifier referencing the third portion; subsequently transferring the third portion to the allocated storage of the storage server; and subsequently storing the fourth portion on the portable media drive, wherein the storage size of the file on the virtual file system comprises the storage size of the fourth portion on the portable media drive. - View Dependent Claims (10, 11)
-
Specification