Patent ID: 7933876
Filing Date: 2011-04-26
Classification: G06F,H03M,H04L,Y10S

Abstract:
1. A method comprising: performing each of a series of data operations to produce resulting data for each of the series of data operations, the plurality of data operations comprising a first data operation performed on initial data, and a last data operation performed after the first data operation, the resulting data of the last data operation being a plurality of shreds, the series of data operations comprising at least a transformation operation and a redundancy operation; after each of the series of data operations is performed, generating at least one tag and adding the at least one tag to the resulting data obtained from the performance of the data operation such that successive ones in the series of data operations, if any, are performed on both the at least one tag and the resulting data obtained from the performance of the data operation, the at least one tag comprising information identifying the data operation; storing the plurality of shreds and the at least one tag generated after the last data operation is performed on at least one storage unit; selecting a portion of the plurality of shreds stored on the at least one storage unit, the selected portion of the plurality of shreds including fewer than all of the plurality of shreds; reading the at least one tag generated after the last data operation was performed, and identifying an operation inverse to the last data operation; performing the operation inverse to the last data operation on the selected portion of the plurality of shreds to obtain the resulting data of the data operation performed before the last data operation and the at least one tag generated after that data operation was performed, the data operation performed before the last data operation being a previous data operation, the at least one tag generated after the previous data operation being at least one previously generated tag, and the resulting data of the previous data operation being previous resulting data; and until an operation inverse to the first data operation has been performed: reading the at least one previously generated tag; identifying an operation inverse to the previous data operation; performing the operation inverse to the previous data operation on the previous resulting data, if the previous data operation is the first data operation, performing the operation inverse to the previous data operation on the previous resulting data yielding the initial data, otherwise, if the previous data operation is not the first data operation, the data operation performed before the previous data operation being redefined as the previous data operation, the at least one tag generated after the redefined previous data operation being redefined as the at least one previously generated tag, and the resulting data of the redefined previous data operation being redefined as the previous resulting data.