Binding a local data storage device to remote data storage
AssigneeCallplex, Inc.
InventorStephen T. Sarakas
Life of this patent
Estimating the term…
Abstract
Data file storage systems and methods that bind a local portable data storage device to remote data storage space with an emergent data file storage system. Data files and directory nodes are associated with data aspect pairs, each comprised of a series of interdependent blocks of characteristically high-entropy data. Blocks of data comprising a remote data aspect are transferred to remote data aspect storage locations. A single block of data comprising a local data aspect is transferred separately to the local portable data storage device. Neither a local data aspect nor a remote data aspect contains information about the corresponding data file or directory node.
Claims20
A computer-implemented method of binding a local data storage device to remote data storage space with an emergent data file storage system manifest only within the union of local and remote data storage spaces concurrently accessible to an application executing on a host computer, said method comprising:
- dividing, by the application executing on the host computer, a data object into a first set of data elements, wherein the first set of data elements includes a first total number of elements including a terminal element;
- generating, by the application executing on the host computer, a second set of data elements by identifying a cyclic order for the first set of data elements, performing an addition modulo-2 logical operation between adjacent elements of the first set of data elements as identified from the cyclic order, whereby each one of the second set of data elements results from a respective addition modulo-2 logical operation performed on a respective set of the adjacent elements of the first set of data elements as arranged in the cyclic order such that after all addition modulo-2 operations are performed a second total number of elements in the second set of data elements is less than the first total number of elements;
- transferring, by the application executing on the host computer, a local data aspect to the local portable data storage device;
- and
- transferring, by the application executing on the host computer, the second set of data elements to the remote data storage space.
A computer-implemented method of generating a data object, said generating comprising:
- retrieving from a local data storage device a local data aspect corresponding to the data object;
- retrieving from remote data storage space a remote data aspect corresponding to the data object;
- deriving a terminal element of a first set of data elements from the local data aspect;
- retrieving a second set of data elements from the remote data aspect;
- identifying a cyclic order for the second set of data elements;
- identifying a first member of the second set of data elements from the cyclic order;
- performing an addition modulo-2 logical operation between the terminal element and the first member of the second set of data elements to derive a first respective element of the first set of data elements;
- beginning with the first respective element of the first set of data elements, successively performing the addition modulo-2 logical operation between a next member of the second set of data elements from the cyclic order and a respective element of the first set of data elements derived from an immediately preceding addition modulo-2 logical operation until each member of the second set of data elements has been subjected to the addition modulo-2 logical operation and each of the first set of data elements has been derived, wherein, after all addition modulo-2 operations are performed, a first total number of the first set of data elements is greater than a second total number of the second set of data elements;
- and
- assembling each element of the first set of data elements together into the data object such that the data object includes a single coherent block of data having content substantially identical to said first set of data elements.
A system for implementing an emergent data file storage system, said system comprising:
- a local portable data storage device;
- one or more remote data storage devices;
- and
- a host computing device, said host computing device having one or more processors configured to:
- communicate with the local portable data storage device,
- communicate with the one or more remote data storage devices,
- execute input and output operations consistent with reading and writing data files,
- compress and decompress one or more blocks of data representing at least one data file,
- permute and de-permute one of more blocks of data representing the at least one data file,
- transform one or more blocks of data representing the at least one data file into a data aspect pair, by:
- dividing the one or more blocks of data representing the at least one data file into a first set of data elements, wherein the first set of data elements includes a first total number of elements including a terminal element,
- generating a second set of data elements by identifying a first cyclic order for the first set of data elements, performing an addition modulo-2 logical operation between adjacent elements of the first set of data elements as identified from the first cyclic order, whereby each one of the second set of data elements results from a respective addition modulo-2 logical operation performed on a respective set of the adjacent elements of the first set of data elements as arranged in the cyclic order such that after all addition modulo-2 operations are performed on the first set of data elements a second total number of elements in the second set of data elements is less than the first total number of elements,
- transferring a local data aspect to the local portable data storage device,
- transferring the second set of data elements as a remote data aspect to the one or more remote data storage devices, and transform a data aspect pair into a single coherent block of data, by:
- retrieving the local data aspect from the local portable data storage device,
- retrieving the remote data aspect from the one or more remote data storage devices,
- deriving the terminal element of the first set of data elements from the local data aspect,
- retrieving the second set of data elements from the remote data aspect,
- identifying a second cyclic order for the second set of data elements,
- generating the first set of data elements by (1) identifying a first member of the second set of data elements from the second cyclic order, (2) performing the addition modulo-2 logical operation between the terminal element as derived from the local data aspect and the first member of the second set of data elements to derive a first respective element of the first set of data elements, and (3) beginning with the first respective element of the first set of data elements, successively performing the addition modulo-2 logical operation between a next member of the second set of data elements from the second cyclic order and a respective element of the first set of data elements derived from an immediately preceding addition modulo-2 logical operation until each member of the second set of data elements has been subjected to the addition modulo-2 logical operation and each of the first set of data elements has been derived, and
- assembling each element of the first set of data elements together into the data object such that the data object includes a single coherent block of data having content substantially identical to said first set of data elements.
Dependencies are inferred from the claim text.