Apparatus, methods and articles of manufacture for data transmission
First Claim
1. An apparatus for transmitting data to a target comprising:
- a means for updating, present on a distribution media, and further comprising data, data information and a cryptographic hash of said data information;
a means for transmission between said distribution media and said target, a means for obtaining data information from said distribution media; and
, a means for processing said first cryptographic hash of said data information;
whereby said means for obtaining data information from said distribution media obtains said first cryptographic hash from said means for updating present on said distribution media, which first cryptographic hash is comprised of a unique data identifier, and is transmitted through said means for transmission to said means for processing, and which upon receipt of said first cryptographic hash of said data information compares said first cryptographic hash to a second cryptographic hash installed on said target in order to determine if said data should be transmitted to said target, said data being less than the content of a file when only portions of a file, and not the entire file itself, require updating, andwherein at least one cryptographic hash is generated at said target and is stored at said target;
said stored cryptographic hash corresponding with the data of said target.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention comprises apparatus, methods and articles of manufacture for transferring data, comprising one or more update files made available upon distribution media, such as a server, a hash of the update files made available upon the server, as well as versions of the update and hash files upon a target or client. The distribution media then transmits the hash to the target or client, the hashes are compared, and, if they do not match, the update files are downloaded for further review and updating, if desired. If updating is desired, an update mechanism will then edit and/or replace files, modules, data and/or byte sequences on the target, according to the preferred embodiments. Embodiments for various platforms, including Unix® and Windows® NT are disclosed.
29 Citations
17 Claims
-
1. An apparatus for transmitting data to a target comprising:
- a means for updating, present on a distribution media, and further comprising data, data information and a cryptographic hash of said data information;
a means for transmission between said distribution media and said target, a means for obtaining data information from said distribution media; and
, a means for processing said first cryptographic hash of said data information;
whereby said means for obtaining data information from said distribution media obtains said first cryptographic hash from said means for updating present on said distribution media, which first cryptographic hash is comprised of a unique data identifier, and is transmitted through said means for transmission to said means for processing, and which upon receipt of said first cryptographic hash of said data information compares said first cryptographic hash to a second cryptographic hash installed on said target in order to determine if said data should be transmitted to said target, said data being less than the content of a file when only portions of a file, and not the entire file itself, require updating, andwherein at least one cryptographic hash is generated at said target and is stored at said target;
said stored cryptographic hash corresponding with the data of said target.
- a means for updating, present on a distribution media, and further comprising data, data information and a cryptographic hash of said data information;
-
2. A computer-implemented method for transmitting data to a target comprising transmitting a first cryptographic hash of data information, which first cryptographic hash is comprised of a unique data identifier, from a first distribution media to said target;
- comparing said first cryptographic hash in order to determine if data information should be transmitted to said target;
transmitting said data information from a second distribution media, if necessary, to said target;
comparing said data information with said target in order to determine if said data should be transmitted to said target, wherein said data determined to be transmitted to said target is less than the content of a file when only portions of a file, and not the entire file itself, require updating;including preparing said data information from attributes of said data, said data information comprising an update index file, wherein said first cryptographic hash of data information comprises a cryptographic hash of said update index file, and wherein comparing said first cryptographic hash in order to determine if data information should be transmitted to said target includes comparing said cryptographic hash of said update index file. - View Dependent Claims (3, 4, 5, 6, 7)
- comparing said first cryptographic hash in order to determine if data information should be transmitted to said target;
-
8. A computer-implemented method as in 2, further comprising preparing said cryptographic hash from said data information.
-
9. A computer-implemented method as in 2 further comprising transmitting said data from a third distribution media to said target.
-
10. A computer-implemented method as in 9 wherein the third distribution media at least partially comprises a network.
-
11. A computer-implemented method as in 10 further comprising editing data on said target in order to update data on said target.
-
12. A computer-implemented method for transmitting data to a target comprising the steps of:
- providing a software product;
preparing data information about said software product;
preparing a first cryptographic hash of data information about said software product;
which first cryptographic hash is comprised of a unique data identifier, storing said software product on a first distribution media;
storing said data information on a second distribution media;
storing said first cryptographic hash of data information on a third distribution media;
obtaining data information about said software product;
transmitting said first cryptographic hash of data information to said target;
comparing said first cryptographic hash to a second cryptographic hash installed on said target in order to determine if data information should be transmitted to said target;
transmitting said data information, if necessary, to said target;
comparing said data information with said target in order to determine if said data should be transmitted to said target;
transmitting said data, if necessary, to said target; and
, editing said data on said target in order to update data on said target.
- providing a software product;
-
13. An apparatus for transmitting data to a target comprising:
- a means for updating, present on a distribution media, and further comprising data, data information and a first cryptographic hash of said data information;
a means for transmission between said distribution media and said target, a means for obtaining data information from said distribution media; and
, a means for processing said first cryptographic hash of said data information;
whereby said means for obtaining data information from said distribution media obtains said first cryptographic hash from said means for updating present on said distribution media, which first cryptographic hash is comprised of a unique data identifier, and is transmitted through said means for transmission to said means for processing, and which upon receipt of said first cryptographic hash of said data information compares said first cryptographic hash to a second cryptographic hash installed on said target in order to determine if said data should be transmitted to said target, said data transmitted to said target comprising an editing command for editing said target.
- a means for updating, present on a distribution media, and further comprising data, data information and a first cryptographic hash of said data information;
-
14. An apparatus for transmitting data to a target comprising:
- a means for updating, present on a distribution media, and further comprising data, data information and a first cryptographic hash of said data information;
a means for transmission between said distribution media and said target, a means for obtaining data information from said distribution media; and
, a means for processing said first cryptographic hash of said data information;
whereby said means for obtaining data information from said distribution media obtains said first cryptographic hash from said means for updating present on said distribution media, which first cryptographic hash is comprised of a unique data identifier and is transmitted through said means for transmission to said means for processing, and which upon receipt of said first cryptographic hash of said data information compares said first cryptographic hash to a second cryptographic hash installed on said target in order to determine if said data should be transmitted to said target, wherein said data transmitted to said target comprises a binary editing command.
- a means for updating, present on a distribution media, and further comprising data, data information and a first cryptographic hash of said data information;
-
15. A computer-implemented method for transmitting data to a target comprising the steps of:
- providing a software product;
preparing data information about said software product;
preparing a first cryptographic hash of data information about said software product;
which first cryptographic hash is comprised of a unique data identifier, storing said software product on a first distribution media;
storing said data information on a second distribution media;
storing said first cryptographic hash of data information on a third distribution media;
obtaining data information about said software product;
transmitting said first cryptographic hash of data information to said target;
comparing said first cryptographic hash to a second cryptographic hash installed on said target in order to determine if data information should be transmitted to said target;
transmitting said data information, if necessary, to said target;
comparing said data information with said target in order to determine if said data should be transmitted to said target;
transmitting said data, if necessary, to said target; and
, editing said data on said target in order to update data on said target, wherein said transmitted data comprises one or the other or both of (i) portions of a file and (ii) an editing command to effectuate a change in a file.
- providing a software product;
-
16. The method of 1, wherein said data information comprises a module name and a hash of a module name, and wherein said first cryptographic hash is a hash of said data information.
-
17. The method of 16, wherein said data comprises one or more modules, wherein upon transmission of said data to said target, an update manager performs the steps of extracting said one or more modules and replacing files or byte sequences, wherein said one or more modules contain directions for replacement of byte sequences.
Specification