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 a request from a client computer for a client identifier to register the client computer as a peer location that caches a resource, the resource including a component to service requests of other client computers for the resource;
in response, providing the client identifier in an encrypted form to said client computer;
receiving back from the client computer the client identifier in a decrypted form to authenticate said component of the resource and a connection speed associated with the client computer;
assigning the client computer to one of a plurality of different peer location pools based on the connection speed associated therewith; and
satisfying a request for a plurality of peer locations of said resource from a second client computer by identifying one or more peer locations of the resource for said second client computer, wherein identifying the one or more peer locations comprises selecting eligible peer locations from the peer location pools in an order beginning with a peer location pool having a fastest connection speed and proceeding through the remaining peer location pools in an order of decreasing connection speed.
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.
-
Citations
12 Claims
-
1. In a resource naming service server, a method of operation comprising:
-
receiving a request from a client computer for a client identifier to register the client computer as a peer location that caches a resource, the resource including a component to service requests of other client computers for the resource; in response, providing the client identifier in an encrypted form to said client computer; receiving back from the client computer the client identifier in a decrypted form to authenticate said component of the resource and a connection speed associated with the client computer; assigning the client computer to one of a plurality of different peer location pools based on the connection speed associated therewith; and satisfying a request for a plurality of peer locations of said resource from a second client computer by identifying one or more peer locations of the resource for said second client computer, wherein identifying the one or more peer locations comprises selecting eligible peer locations from the peer location pools in an order beginning with a peer location pool having a fastest connection speed and proceeding through the remaining peer location pools in an order of decreasing connection speed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
a storage device 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 client identifier to register the client computer as a peer location that caches a resource, the resource including a component to service requests of other client computers for the resource, in response, provide the client identifier in an encrypted form to said client computer, receive back from the client computer the client identifier in a decrypted form to authenticate said component of the resource and a connection speed associated with the client computer, to assign the client computer to one of a plurality of different peer location pools based on the connection speed associated therewith, and to satisfy a request for a plurality of peer locations of said resource from a second client computer by identifying one or more peer locations of the resource for said second client computer, wherein identifying the one or more peer locations comprises selecting eligible peer locations from the peer location pools in an order beginning with a peer location pool having a fastest connection speed and proceeding through the remaining peer location pools in an order of decreasing connection speed; and one or more processors coupled to the storage device to execute the programming instructions. - View Dependent Claims (9, 10, 11, 12)
-
Specification