Patent ID: 8028159

Claim:
A method implemented at a receiver peer device in a peer-to-peer network comprising the receiver peer device, a server, and multiple provider peer devices, the method comprising: a) sending by the receiver peer device to the server a request for an authorization to obtain a data object O, wherein the request identifies the data object O; b) receiving by the receiver peer device from the server in response to the request a ticket comprising an authorization by the server for the receiver peer device to obtain the data object O from any one of the multiple provider peer devices, wherein the ticket is digitally signed by the server and comprises a receiver identifier associated with the receiver peer device and an object identifier associated with the data object O; c) sending by the receiver peer device the ticket to a provider peer device, whereby the provider peer device may verify that the receiver is authorized to receive the data object O; d) sending by the receiver peer device to the provider peer device a request for a block of the data object O, wherein the request comprises a block sequence number corresponding to the block, wherein the requested block is a portion of the data object O not yet received by the receiver peer from any of the multiple provider peer devices; e) receiving by the receiver peer device from the provider peer device the block of the data object O, wherein the block is encrypted by the provider peer device using a block key uniquely associated with the block; f) sending by the receiver peer device to the provider peer device an acknowledgement of receipt of the block, wherein the acknowledgement is digitally signed by the receiver peer device and comprises a digest of the block and a provider identifier; g) receiving by the receiver peer device from the provider peer device, in response to the acknowledgement, the block key used by the provider peer device to encrypt the block, wherein the block key is digitally signed by the provider peer device to produce a digital signature of the block key; h) verifying by the receiver peer device the digital signature of the block key, whereby the receiver peer device may verify that the block key originated from the provider peer device; i) a decrypting by the receiver peer device the block using the block key received from the provider peer device; and j) verifying by the receiver peer device an integrity of the block of the data object O, and recording by the receiver peer device that the block was received.