Error recovery for SRDF assist
First Claim
1. A method for performing data recovery in a computer system, comprising:
- sending data from a first storage device to at least one other secondary storage device, said data being sent in a plurality of data packets, each of said plurality of packets being associated with a sequence number having a first predetermined value;
upon determining that the data has been successfully stored on all of said at least one other secondary storage device, deleting journal entries in a sender corresponding to said data; and
upon determining a failure in connection with sending data between a first storage device and at least one other secondary storage device, deleting journal entries in each of said at least one other secondary storage device, and resending unsynchronized journal entries from the sender by sending a plurality of data packets all having a same sequence number lower than sequence numbers associated with other unsent packets and then sending any remaining data packets having a next higher sequence number, wherein data packets having the same sequence number are sent in an order that is independent of an order in which the data packets were created and wherein data packets having the same sequence number represent different data that is independently generated from a plurality of different sources,wherein in response to the sequence number in the sender becoming equal to a second predetermined value different from the first predetermined value, acknowledging receipt of the blocks of data corresponding to the packets of data that are assigned the first predetermined value as the sequence number and sending the packets of data that are assigned the first predetermined value as the sequence number to said at least one other secondary storage device.
9 Assignments
0 Petitions
Accused Products
Abstract
Transmitting data from a source to a destination, includes receiving the data from the source and providing the data to the destination using a network, where the data is acknowledged to the source as being successfully received at the destination prior to all of the data being provided to the network. The source may be a primary storage device. The destination may be a secondary storage device. The data may be provided from the source in a first format and may be provided to the network in a second format that is different from the first format where the first format may be RDF and the second format may be TCP/IP or UDP. The destination may receive the data in a first format different from a second format used to transmit the data over the network. The first format may be RDF and the second format may be TCP/IP or UDP.
32 Citations
28 Claims
-
1. A method for performing data recovery in a computer system, comprising:
-
sending data from a first storage device to at least one other secondary storage device, said data being sent in a plurality of data packets, each of said plurality of packets being associated with a sequence number having a first predetermined value; upon determining that the data has been successfully stored on all of said at least one other secondary storage device, deleting journal entries in a sender corresponding to said data; and upon determining a failure in connection with sending data between a first storage device and at least one other secondary storage device, deleting journal entries in each of said at least one other secondary storage device, and resending unsynchronized journal entries from the sender by sending a plurality of data packets all having a same sequence number lower than sequence numbers associated with other unsent packets and then sending any remaining data packets having a next higher sequence number, wherein data packets having the same sequence number are sent in an order that is independent of an order in which the data packets were created and wherein data packets having the same sequence number represent different data that is independently generated from a plurality of different sources, wherein in response to the sequence number in the sender becoming equal to a second predetermined value different from the first predetermined value, acknowledging receipt of the blocks of data corresponding to the packets of data that are assigned the first predetermined value as the sequence number and sending the packets of data that are assigned the first predetermined value as the sequence number to said at least one other secondary storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for performing data recovery in a computer system, comprising:
-
machine executable code that sends data from a first storage device to at least one other secondary storage device, said data being sent in a plurality of data packets, each of said plurality of packets being associated with a sequence number having a first predetermined value; machine executable code that, upon determining that the data has been successfully stored on all of said at least one other secondary storage device, deletes journal entries in a sender corresponding to said data; machine executable code that, upon determining a failure in connection with sending data between a first storage device and at least one other secondary storage device, deletes journal entries in each of said at least one other secondary storage device, and resends unsynchronized journal entries from the sender by sending a plurality of data packets all having a same sequence number lower than sequence numbers associated with other unsent packets and then sending any remaining data packets having a next higher sequence number, wherein data packets having the same sequence number are sent in an order that is independent of an order in which the data packets were created and wherein data packets having the same sequence number represent different data that is independently generated from a plurality of different sources; and machine executable code that, in response to the sequence number in the sender becoming equal to a second predetermined value different from the first predetermined value, acknowledges receipt of the blocks of data corresponding to the packets of data that are assigned the first predetermined value as the sequence number and sending the packets of data that are assigned the first predetermined value as the sequence number to said at least one other secondary storage device. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification