Distribution of binary executables and content from peer locations/machines
First Claim
1. In a resource naming service server, a method of operation comprising:
- receiving registrations of a first plurality of client computers as peer locations that cache a collection of binary executables;
receiving corresponding performance data for downloading one or more portions of said collection of binary executables from said first client computers;
scheduling said first client computers for inclusion among a list of peer locations that cache said resource;
returning the list of peer locations that cache said resource to a second client computer requesting peer locations that cache said collection of binary executables;
receiving a request for a plurality of peer locations of said collection of binary executables from at least a third client computer, identifying one or more of said first client computers as peer locations of said collection of binary executables, and receiving corresponding performance data from said third client computer for downloading one or more portions of said collection of binary executables from at least one of said identified first client computers; and
generating a composite verification signature for the binary executable portions including employment of a random number provided by said third client computer, and then generating a verification digest for each downloaded binary executable portion based at least in part on a portion of the composite signature to facilitate determination of whether the third client computer received the collection of binary executables in portions from contacted ones of the identified client computers client computers correctly.
1 Assignment
0 Petitions
Accused Products
Abstract
Binary executables are distributed in a distributed manner by equipping a server with a bootstrap program. The server provides the bootstrap program to a client computer in response to the client'"'"'s request for the binary executables. The bootstrap program is designed to enable the client computer to obtain the binary executables in one or more portions from one or more peer locations that have already downloaded the said binary executables. In one embodiment, the bootstrap program also monitors the performance associated with obtaining the portions of the binary executables, and reports the performance data to a resource naming service that tracks peer locations that cache the binary executables. In one embodiment, the binary executables also includes a component that registers the client computer as a peer location that caches the binary executables, and provides the binary executables to other client computers responsive to their requests. In various embodiments, content is distributed in like manner.
29 Citations
16 Claims
-
1. In a resource naming service server, a method of operation comprising:
- receiving registrations of a first plurality of client computers as peer locations that cache a collection of binary executables;
receiving corresponding performance data for downloading one or more portions of said collection of binary executables from said first client computers;scheduling said first client computers for inclusion among a list of peer locations that cache said resource; returning the list of peer locations that cache said resource to a second client computer requesting peer locations that cache said collection of binary executables; receiving a request for a plurality of peer locations of said collection of binary executables from at least a third client computer, identifying one or more of said first client computers as peer locations of said collection of binary executables, and receiving corresponding performance data from said third client computer for downloading one or more portions of said collection of binary executables from at least one of said identified first client computers; and generating a composite verification signature for the binary executable portions including employment of a random number provided by said third client computer, and then generating a verification digest for each downloaded binary executable portion based at least in part on a portion of the composite signature to facilitate determination of whether the third client computer received the collection of binary executables in portions from contacted ones of the identified client computers client computers correctly. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- receiving registrations of a first plurality of client computers as peer locations that cache a collection of binary executables;
-
8. In a resource naming service server, a method of operation comprising:
-
receiving a request from a client computer for a plurality of peer locations of a resource;
in response, identifying one or more peer locations for the client computer, including a timestamp; and
receiving performance data from the client computer for downloading the resource in portions from one or more of said identified peer locations, including said timestamp, to enable determination of whether to accept the received performance data; andgenerating a composite verification signature for the binary executable portions including employment of a random number provided by said client computer and then generating a verification digest for each downloaded binary executable portion based at least in part on a portion of the composite signature determination of whether the client computer received the resource in portions from contacted ones of the identified peer locations correctly.
-
-
9. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to implement a resource naming service, including a registration service to register a first plurality of client computers as peer locations that cache a collection of binary executables, a reporting service to receive corresponding performance data for downloading one or more portions of said collection of binary executables from said first client computers, and a scheduler to schedule said first client computers for inclusion among a list of peer locations that cache said resource to be returned to a second client computer requesting for peer locations that cache said collection of binary executables; and a processor coupled to the storage medium to execute said plurality of programming instructions, wherein the scheduler further receives request for a plurality of peer locations of said collection of binary executables from at least a third client computer identifies one or more of said first client computers as peer locations of said collection of binary executables and the reporter receives corresponding performance data from said third client computer for downloading one or more portions of said collection of binary executables from at least one of said identified first client computers, and wherein for each reporting, the reporting service further generates a composite verification signature for the binary executable portions including employment of a random number provided by the reporting client computer, and then generating a verification digest for each downloaded binary executable portion based at least in part on a portion of the composite signature to facilitate determination of whether the reporting client computer received the collection of binary executables in portions from contacted ones of the first client computers correctly. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
storage medium having stored therein a plurality of programming instructions designed to implement a resource naming service, including a scheduler designed to receive a request from a client computer for a plurality of peer locations of a resource, and in response, identify one or more peer locations for the client computer, including a timestamp, and a reporter to receive performance data from the client computer for downloading the resource in portions from one or more of said identified peer locations, including said timestamp, to enable determination of whether to accept the received performance data; and one or more processor coupled to the storage medium to execute the programming instructions, wherein the reporter further generates a composite verification signature for the binary executable portions including employment of a random number provided by said client computer, and then generating a verification digest for each downloaded binary executable portion based at least in part on a portion of the composite signature determination of whether the client computer received the resource in portions from contacted ones of the identified peer locations correctly.
-
Specification