Patent ID: 7363498

Claim:
A method for receiving content at a first peer from a primary peer and forwarding it to a secondary peer, wherein blocks of the content are sent to the secondary peer prior to all of the blocks of the content being received from the primary peer, comprising: a first peer indicating a request for the blocks of content to a directory server, wherein indicating the request causes the first peer to be placed on a list of candidate peers; the first peer receiving an encrypted list of checksums from the directory server, wherein each checksum in the list is associated with a corresponding block of the content, and wherein the encrypted list of checksums is received separately from any block of content; receiving a block of the content from the primary peer; calculating a checksum for the block of the content; locating the checksum in the list of checksums received from the directory server; if the calculated checksum is located, determining that the block is valid and that the block can be sent from the first peer to other peers; and if the secondary peer requests the block from the first peer, sending the block of the content to the secondary peer otherwise, discarding the block of content; and requesting the block of content again.