Ronald S. Niles - Teaneck NJ, US Wai Lam - Jericho NY, US
Assignee:
FalconStor Software, Inc. - Melville NY
International Classification:
G06F 12/00
US Classification:
711162, 711161, 707204
Abstract:
A hash-optimized backup system and method takes data blocks and generates a probabilistically unique digital fingerprint of the content of each data block using a substantially collision-free algorithm. The process compares the generated fingerprint to a database of stored fingerprints and, if the generated fingerprint matches a stored fingerprint, the data block is determined to already have been backed up, and therefore does not need to be backed up again. Only if the generated fingerprint does not match a stored fingerprint is the data block backed up, at which point the generated fingerprint is added to the database of stored fingerprints. Because the algorithm is substantially collision-free, there is no need to compare actual data content if there is a hash-value match. The process can also be used to audit software license compliance, inventory software, and detect computer-file tampering such as viruses and malware.
Method And System For Synchronizing Storage System Data
Wai Lam - Jericho NY, US Ronald S. Niles - Teaneck NJ, US Xiaowei Li - Hauppauge NY, US
Assignee:
Falconstor Software, Inc. - Melville NY
International Classification:
G06F 12/00 G06F 13/00
US Classification:
711162, 711100, 711154, 711161
Abstract:
A method and system are provided for comparing data stored in a first storage system with corresponding data stored in a second storage system. In one implementation, the first system generates a random value associated with a respective data block P, and transmits to the second system an identifier associated with the data block P, and the random value. The second system generates a first digest representing a data block B, uses the first digest to encode the random value, producing a first encoded value, and transmits the first encoded value to the first system. The first system generates a second digest representing the data block P, uses the second digest to encode the random value, producing a second encoded value, and compares the first and second encoded values. If the two encoded values are equal, the data block B is a duplicate of the data block P. If the two encoded values are not the same, the data blocks are different.
System And Method To Protect Data Stored In A Storage System
A method for generating a snapshot that records data transmitted to a storage system prior to a selected moment in time, while allowing a client server to continue sending data to the storage system, is disclosed. A snapshot marker is inserted into a cache, data continues to be flushed to disk until the snapshot marker is flushed from the cache, and a snapshot is performed. Additionally, a method for recording data stored in a storage system is disclosed that includes initiating a transaction with the storage system according to standard protocols, transmitting to the storage system a command representing a snapshot request, and performing a snapshot of the data. In accordance with one implementation, the command is transmitted as a SCSI command descriptor block.
Data is stored by utilizing a first operating mode and a second operating mode. In one embodiment, in the first operating mode, a continuous replication method is utilized to store data on a primary storage system and to generate a backup version of the data on a backup storage system. While data is being stored in accordance with the first operating mode, one or more activities performed by the data storage system(s) are monitored. As long as the monitored activity or activities display a first status, the first operating mode is maintained. If the monitored activity or activities display a change in status, the first operating mode is suspended, and data is stored pursuant to the second operating mode. In one embodiment, in the second operating mode, a delta replication method is utilized to store data on the primary storage system and to back up the data on the backup storage system.
In one example, an apparatus is provided to store data in one or more data storage systems by selecting from among at least a first operating mode and a delta replication operating mode. The apparatus comprises a means for storing data pursuant to the first operating mode and a means for ascertaining a first status of a criterion pertaining to an activity performed by the one or more data storage systems while operating in the first operating mode. The apparatus further comprises a means for detecting a change in the criterion to a second status, and a means for storing data pursuant to the delta replication operating mode in response to the change.
System And Method To Protect Data Stored In A Storage System
In an example of an embodiment of the invention, a method is provided for recording data transmitted to a storage system, wherein the storage system has a cache and at least one storage device, and the data comprises initial data items that are transmitted to the storage system prior to a moment in time and additional data items that are transmitted to the storage system after the moment in time. The method comprises receiving, by the cache, data transmitted to the storage system, and flushing, from the cache to the at least one storage device, one or more of the initial data items. The method also comprises receiving, by the cache, one or more additional data items, while at least one of the initial data items is flushed from the cache, and recording the initial data items. Systems are also disclosed.
System And Method To Protect Data Stored In A Storage System
Systems and methods are provided for generating a snapshot that records desired data, while allowing a client server to continue sending data to the storage system. In an example of an embodiment of the invention, a method is provided for recording data generated by a client server and transmitted to a storage system. The method comprises storing data, received from the client server, in the storage system, and receiving a command from the client server to perform a snapshot of the data. The method further comprises generating a snapshot of the data stored in the storage system in response to the command.
Method And System For Synchronizing Storage System Data
Wai Lam - Jericho NY, US Ronald S. Niles - Teaneck NJ, US Xiaowei Li - Hauppauge NY, US
Assignee:
FalconStor, Inc. - Melville NY
International Classification:
G06F 12/00 G06F 13/00
US Classification:
711161, 711100, 711154, 711162
Abstract:
In accordance with an example of an embodiment of the invention, a method for comparing a first unit of data stored in a first storage system and a second unit of data stored in a second storage system is provided. The method comprises generating a first digest that represents the first unit of data, generating an initial value associated with the first unit of data, and deriving an encoded value using the first digest and the initial value. The method further comprises transmitting the encoded value from the first storage system to the second storage system, generating a second digest that represents the second unit of data, and deriving a decoded value using the second digest to decode the encoded value. The method also comprises transmitting the decoded value from the second storage system to the first storage system, and determining whether the first unit of data and the second unit of data are duplicates of one another by comparing the decoded value and the initial value. Systems are also disclosed.