Method and system for file transfer over a messaging infrastructure
First Claim
1. A system for file transfer over a messaging infrastructure, comprising:
- a source for sending a file, including;
means for dividing the file into multiple portions including a first portion and at least one subsequent portion;
means for creating a message including a multiplicity of headers and payloads with an individual one of the headers and an individual one of the payloads for each of the multiple portions of the file, each of the payloads including a corresponding one of the multiple portions and being associated with a corresponding one of the message headers, wherein the one of the headers of a message for the first portion includes a hash for the first portion included in the message for the first portion, and the one of the headers of a message for any subsequent portion includes two different hashes;
a first hash summarizing a first state of the file up to, but not including, a current one of the portions included in the message for the subsequent portion, the first state indicating a state of the file that is required in order to add the current one of the portions to the file when recreating the file at a target computing device;
a second hash summarizing a second state of the file up to and including a current one of the portions included in the message for the subsequent portion, the second state indicating a state of a recreated file after having added the current portion to the file at the target computing device; and
means for sending each created message to the target computing device by way of a message queue,wherein each of the payloads is filled from an end of free space available in the message so that space allocated for each of the headers is able to grow at a head of the message, while file data grows from a tail of the message allowing a single fixed size buffer to be used without moving data within the message as file portions are added.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for file transfer over a messaging infrastructure are provided. The method includes dividing a file into multiple portions. The method includes generating for a current portion of a file, except for the first portion in a file, a first hash summarizing the state of the file up to, but not including, the current portion and a second hash summarizing the state of the file up to and including the current portion. The method includes sending the first and second hashes with the file portion. The second hash may be used at a target for comparing to a first hash of a subsequent file portion, for example, by recreating the second hash from the current state of the received file on the target.
-
Citations
19 Claims
-
1. A system for file transfer over a messaging infrastructure, comprising:
-
a source for sending a file, including; means for dividing the file into multiple portions including a first portion and at least one subsequent portion; means for creating a message including a multiplicity of headers and payloads with an individual one of the headers and an individual one of the payloads for each of the multiple portions of the file, each of the payloads including a corresponding one of the multiple portions and being associated with a corresponding one of the message headers, wherein the one of the headers of a message for the first portion includes a hash for the first portion included in the message for the first portion, and the one of the headers of a message for any subsequent portion includes two different hashes; a first hash summarizing a first state of the file up to, but not including, a current one of the portions included in the message for the subsequent portion, the first state indicating a state of the file that is required in order to add the current one of the portions to the file when recreating the file at a target computing device; a second hash summarizing a second state of the file up to and including a current one of the portions included in the message for the subsequent portion, the second state indicating a state of a recreated file after having added the current portion to the file at the target computing device; and means for sending each created message to the target computing device by way of a message queue, wherein each of the payloads is filled from an end of free space available in the message so that space allocated for each of the headers is able to grow at a head of the message, while file data grows from a tail of the message allowing a single fixed size buffer to be used without moving data within the message as file portions are added. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable storage medium storing a computer program product for a source transferring a file over a messaging infrastructure, comprising computer readable program code means for performing the steps of:
-
dividing a file into multiple portions including a first portion and at least one subsequent portion; creating a message including a multiplicity of headers and payloads with an individual one of the headers and an individual one of the payloads for each of the multiple portions of the file, each of the payloads including a corresponding one of the multiple portions and being associated with a corresponding one of the message headers, wherein the one of the headers of a message for the first portion includes a hash for the first portion included in the message for the first portion, and the one of the headers of a message for any subsequent portion includes two different hashes; a first hash summarizing a first state of the file up to, but not including, a current one of the portions included in the message for the subsequent portion, the first state indicating a state of the file that is required in order to add the current one of the portions to the file when recreating the file at a target computing device; a second hash summarizing a second state of the file up to and including a current one of the portions included in the message for the subsequent portion, the second state indicating a state of a recreated file after having added the current portion to the file at the target computing device; and sending each created message to the target computing device by way of a message queue, wherein each of the payloads is filled from an end of free space available in the message so that space allocated for each of the headers is able to grow at a head of the message, while file data grows from a tail of the message allowing a single fixed size buffer to be used without moving data within the message as file portions are added. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification