Patent ID: 7484095

Claim:
A system for communicating program data between a first device and a second device, the system comprising: a first device configured to: disassemble a first program file comprising program data into a first at least one logical data unit; partition each of said first at least one logical data unit into a first at least one protocol data unit, the format of said first at least one protocol data unit defined by a communication protocol and including a payload portion; compute a first fingerprint over the payload portion of said first at least one protocol data unit of said first at least one logical data unit; and send a second program file comprising said program data and one or more members of the group comprising said first fingerprint and a first authentication code based at least in part on said first fingerprint; a second device configured to: receive said second program file and at least one of said group; disassemble said program data into a second at least one logical data unit; and partition each of said second at least one logical data unit into a second at least one protocol data unit; and a third device comprising a memory, said third device configured to: receive at least one of said group and said second at least one protocol data unit; compute a second fingerprint over the payload portion of said second at least one protocol data unit; and commit said program to said memory based at least in part on whether said one or more members match said second fingerprint or a second authentication code based at least in part on said second fingerprint.