Method and system for file transfer over a messaging infrastructure
First Claim
1. A method for file transfer over a messaging infrastructure, comprising:
- 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 the 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, wherein a single fixed size buffer is used to store the message 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
12 Claims
-
1. A method for file transfer over a messaging infrastructure, comprising:
-
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 the 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, wherein a single fixed size buffer is used to store the message without moving data within the message as file portions are added. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
Specification