Claims
- 1. A method for receiving content 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:
receiving an encrypted list of checksums from a server, wherein each checksum in the list is associated with a corresponding block of the content; decrypting the encrypted list of checksums to form a list of decrypted checksums; receiving a block of the content from the primary peer; calculating a checksum for the block of the content; comparing the calculated checksum with a corresponding checksum from the list of decrypted checksums; and if the calculated checksum matches the corresponding checksum, sending the block of the content to the secondary peer.
- 2. The method of claim 1, further comprising using a source public key to verify a digital signature received with the encrypted list of checksums.
- 3. The method of claim 1, wherein each block of the content spans multiple network packets.
- 4. The method of claim 1, wherein each block of the content spans multiple disk blocks.
- 5. The method of claim 1, further comprising receiving different blocks of the content from different primary peers.
- 6. The method of claim 1, further comprising sending the block of the content to multiple secondary peers.
- 7. The method of claim 1, wherein decrypting the encrypted list of checksums involves decrypting the encrypted list of checksums using a destination private key.
- 8. The method of claim 1, wherein receiving the block of the content from the primary peer involves receiving an encrypted block of the content.
- 9. The method of claim 1, wherein sending the block of the content to the secondary peer involves encrypting the block of content to form an encrypted block of content that is sent to the secondary peer.
- 10. A method for publishing content in a distributed content delivery network, comprising:
receiving a request at a server to publish content along with the content to be published; dividing the content into blocks; calculating a checksum for each block of the content; and encrypting the calculated checksums to form an encrypted list of the checksums; whereby the encrypted list of checksums can be subsequently used by peers to verify that blocks of the content are properly received.
- 11. The method of claim 10, wherein encrypting the checksums involves using a destination public key to encrypt the checksums.
- 12. The method of claim 11, further comprising using a source private to digitally sign the encrypted list of checksums.
- 13. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for receiving content 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, the method comprising:
receiving an encrypted list of checksums from a server, wherein each checksum in the list is associated with a corresponding block of the content; decrypting the encrypted list of checksums to form a list of decrypted checksums; receiving a block of the content from the primary peer; calculating a checksum for the block of the content; comparing the calculated checksum with a corresponding checksum from the list of decrypted checksums; and if the calculated checksum matches the corresponding checksum, sending the block of the content to the secondary peer.
- 14. The computer-readable storage medium of claim 13, wherein the method further comprises using a source public key to verify a digital signature received with the encrypted list of checksums.
- 15. The computer-readable storage medium of claim 13, wherein each block of the content spans multiple network packets.
- 16. The computer-readable storage medium of claim 13, wherein each block of the content spans multiple disk blocks.
- 17. The computer-readable storage medium of claim 13, wherein the method further comprises receiving different blocks of the content from different primary peers.
- 18. The computer-readable storage medium of claim 13, wherein the method further comprises sending the block of the content to multiple secondary peers.
- 19. The computer-readable storage medium of claim 13, wherein decrypting the encrypted list of checksums involves decrypting the encrypted list of checksums using a destination private key.
- 20. The computer-readable storage medium of claim 13, wherein receiving the block of the content from the primary peer further involves receiving an encrypted block of the content.
- 21. The computer-readable storage medium of claim 13, wherein sending the block of the content to the secondary peer further involves encrypting the block of content to form an encrypted block of content that is sent to the secondary peer.
- 22. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for publishing content in a distributed content delivery network, the method comprising:
receiving a request at a server to publish content along with the content to be published; dividing the content into blocks; calculating a checksum for each block of the content; and encrypting the calculated checksums to form an encrypted list of the checksums; whereby the encrypted list of checksums can be subsequently used by peers to verify that blocks of the content are properly received.
- 23. The computer-readable storage medium of claim 22, wherein encrypting the checksums involves using a destination public key to encrypt the checksums.
- 24. The computer-readable storage medium of claim 22, wherein the method further comprises using a source private to digitally sign the encrypted list of checksums.
- 25. An apparatus for receiving content 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 receiving mechanism configured to receive an encrypted list of checksums from a server, wherein each checksum in the list is associated with a corresponding block of the content; a decryption mechanism configured to decrypt the encrypted list of checksums to form a list of decrypted checksums; wherein the receiving mechanism is configured to receive a block of the content from the primary peer; a calculation mechanism configured to calculate a checksum for the block of the content; a comparison mechanism configured to compare the calculated checksum with a corresponding checksum from the list of decrypted checksums; and a delivery mechanism configured to send the block of the content to the secondary peer if the calculated checksum matches the corresponding checksum.
- 26. The apparatus of claim 25, further comprising a signature verification mechanism configured to use a source public key to verify a digital signature received with the encrypted list of checksums.
- 27. The apparatus of claim 25, wherein each block of the content spans multiple network packets.
- 28. The apparatus of claim 25, wherein each block of the content spans multiple disk blocks.
- 29. The apparatus of claim 25, wherein the receiving mechanism is further configured to receive different blocks of the content from different primary peers.
- 30. The apparatus of claim 25, wherein the delivery mechanism is further configured to send the block of the content to multiple secondary peers.
- 31. The apparatus of claim 25, wherein the decryption mechanism is further configured to decrypt the encrypted list of checksums using a destination private key.
- 32. The apparatus of claim 25, wherein the receiving mechanism is further configured to receive an encrypted block of the content.
- 33. The apparatus of claim 25, wherein the delivery mechanism is further configured to encrypt the block of content to form an encrypted block of content to send to the secondary peer.
- 34. An apparatus for publishing content in a distributed content delivery network, comprising:
a receiving mechanism configured to receive a request at a server to publish content along with the content to be published; a dividing mechanism configured to divide the content into blocks; a calculation mechanism configured to calculate a checksum for each block of the content; and an encryption mechanism configured to encrypt the calculated checksums to form an encrypted list of the checksums; whereby the encrypted list of checksums can be subsequently used by peers to verify that blocks of the content are properly received.
- 35. The apparatus of claim 34, wherein the encrypting mechanism is further configured to encrypt the checksums using a destination public key.
- 36. The apparatus of claim 34, further comprising a digital signature mechanism that is configured to use a source private to digitally sign the encrypted list of checksums.
- 37. A means for receiving content 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 receiving means for receiving an encrypted list of checksums from a server, wherein each checksum in the list is associated with a corresponding block of the content; a decryption means for decrypting the encrypted list of checksums to form a list of decrypted checksums; a secondary receiving means for receiving a block of the content from the primary peer; a calculation means for calculating a checksum for the block of the content; a comparison means for comparing the calculated checksum with a corresponding checksum from the list of decrypted checksums; and a sending means for sending the block of the content to the secondary peer if the calculated checksum matches the corresponding checksum.
- 38. A means for publishing content in a distributed content delivery network, comprising:
a receiving means for receiving a request at a server to publish content along with the content to be published; a dividing means for dividing the content into blocks; a calculation means for calculating a checksum for each block of the content; and an encryption means for encrypting the calculated checksums to form an encrypted list of the checksums; whereby the encrypted list of checksums can be subsequently used by peers to verify that blocks of the content are properly received.
- 39. An operating system containing instructions that when executed by a computer cause the computer to perform a method for receiving content 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, the method comprising:
receiving an encrypted list of checksums from a server, wherein each checksum in the list is associated with a corresponding block of the content; decrypting the encrypted list of checksums to form a list of decrypted checksums; receiving a block of the content from the primary peer; calculating a checksum for the block of the content; comparing the calculated checksum with a corresponding checksum from the list of decrypted checksums; and if the calculated checksum matches the corresponding checksum, sending the block of the content to the secondary peer.
- 40. An operating system containing instructions that when executed by a computer cause the computer to perform a method for publishing content in a distributed content delivery network, the method comprising:
receiving a request at a server to publish content along with the content to be published; dividing the content into blocks; calculating a checksum for each block of the content; and encrypting the calculated checksums to form an encrypted list of the checksums; whereby the encrypted list of checksums can be subsequently used by peers to verify that blocks of the content are properly received.
RELATED APPLICATION
[0001] This application hereby claims priority under 35 U.S.C. §119 to U.S. Provisional Patent Application No. 60/310,306, filed on Aug. 4, 2001, entitled “Method and Apparatus for Enabling the Rich Media Revolution,” by inventors Wade L. Hennessey, John B. Wainwright, Anthony A. Espinoza, Christopher G. Saito and Michael J. Homer.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60310306 |
Aug 2001 |
US |