System and method for replicating files in a computer network
First Claim
1. A method for replicating data comprising the steps of:
- operating an application in conjunction with a primary file server, said application further outputting a write operation;
receiving said write operation and comparing said data to stored data associated with a primary file;
generating an index referencing a changed data byte within said file, wherein said changed data byte occurs when a data byte within said data does not substantially match a corresponding stored data byte in said stored data;
providing said index to a meta-file for use in replicating said changed data byte; and
providing a mirroring engine operatively associated with said meta-file and utilizing a transaction number to uniquely identify said changed data byte.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing real-time replication of data across a network is provided. A mirroring engine receives a write request from a host application operating on a source computer. The mirroring engine compares data in the write request with corresponding data stored in memory. If data in the write request differs from stored data, the mirroring engine processes the write request. Processing involves computing a data signature across data in the write request and associating the signature with a transaction number and a status byte. The transaction number is used to uniquely identify the data signature and can be used to ensure that the signature is properly handled if it is received, for example, out of order. The status byte contains information used for handling the data signature and transaction number as well as information identifying how the data signature was computed. In an embodiment, the status byte may contain a bit for identifying if the data signature was computed across an entire block of data or if the signature was computed over only a portion of a data block, such as for example, only data bytes that have changed as compared with those in the stored data. Processing may further include compressing and encrypting the data signature, transaction number and status byte prior to transmission over a network. Embodiments may further employ a meta-file for storing data signatures, transaction numbers, status bytes, and other information useful for performing real-time data replication over a network.
-
Citations
51 Claims
-
1. A method for replicating data comprising the steps of:
-
operating an application in conjunction with a primary file server, said application further outputting a write operation;
receiving said write operation and comparing said data to stored data associated with a primary file;
generating an index referencing a changed data byte within said file, wherein said changed data byte occurs when a data byte within said data does not substantially match a corresponding stored data byte in said stored data;
providing said index to a meta-file for use in replicating said changed data byte; and
providing a mirroring engine operatively associated with said meta-file and utilizing a transaction number to uniquely identify said changed data byte. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for replicating data across a communications network comprising the steps of:
-
opening a meta-file and determining if said meta-file was properly closed, said meta-file including a block signature representing a data block associated with a source computer, and further including a transaction number for facilitating identification of said data block;
establishing data communication with a remote computer having replicated data residing thereon using said communications network;
receiving a remote meta-file file from said remote computer, said remote meta-file including a remote block signature and a remote transaction number; and
comparing said meta-file to said remote meta-file for determining if said data was properly replicated from said source computer to said remote computer. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for replicating data across a communications network comprising the steps of:
-
receiving a data packet over said network, said packet having one or more primary file changes respectively represented by changed data, said packet further having a data signature representing a changed data byte within a data block associated with a source computer, and further having a transaction number associated therewith for uniquely identifying said changed byte;
computing a remote data signature for a remote data block residing in a memory, said remote data block further associated with a remote computer; and
determining if said data signature and said remote data signature match, wherein a match indicates that the content of said data block is substantially identical to the content of said remote data block. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A system for replicating data across a network, the system comprising:
-
a primary server comprising;
a communication interface for providing a data packet comprising at least a portion of a new data block to said network;
a storage device having stored data thereon, said stored data including a plurality of stored data blocks; and
a processor executing machine-readable instructions for receiving said new data block from a host application, said processor further comparing said new data block to a corresponding portion of said stored data, said processor further interacting with a meta-data file after processing said new data block using a hash function; and
a remote server communicatively coupled to said network for receiving said data packet over said network. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A computer-readable data transmission for facilitating data replication across a data communications network, said data transmission comprising:
-
a file open status indicator;
a header portion having information useful for determining if a meta-file was properly closed;
a block temporal signature portion having a data block signature and a transaction number; and
a status portion having information about said data signature. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification