Locator and tracking service for peer-to-peer resources
AssigneeMicrosoft Corporation
InventorsDan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
Life of this patent
Estimating the term…
Abstract
A resource naming service (RNS) server receives peer resource requests from peer platforms through a networking environment. The RNS server, possibly in cooperation with other RNS servers and peer registrars generates a response to the request to enable the peer platforms to access the requested peer resources. In one embodiment, a response includes a list of locations of peer devices in the networking environment where a resource is expected to be available. A requesting device can then choose to access the resource from one or more of the listed peer locations.
Claims21
A method performed by a server providing locating service in a peer-to-peer networking environment in which peers publish resources, peers cache resources obtained from other peers, and peers obtain resources cached by other peers, where peers determine locations of resources via a locator service comprised of servers that track names of resources and respective peers storing the named resources, where resources both within and outside the peer-to-peer networking environment are looked up by passing the names of a resource to the locator service, the method comprising:
- receiving an assignment of a peer within the peer-to-peer networking environment and in response tracking the network address of the peer;
- receiving a plurality resource requests from the peer and through the peer-to-peer networking environment, the resource requests being addressed to the server based on the peer having been assigned to the server, and each resource request containing a resource identifier identifying a resource, where some of the resource requests are for non-peer resources outside the peer-to-peer networking environment, and some of the resource requests are for peer resources available from peers of the peer-to-peer networking environment;
- responsive to receiving a resource request from the peer, determining if the resource request is a request for a peer resource or if the resource request is a request for a non-peer resource;
- forwarding the resource request to a network source outside the peer-to-peer network if it was determined that the resource request is a request for a non-peer resource;
- accessing a locator service indicated by the resource request if it was determined that the resource request is a request for a peer resource, and receiving from said locator service a list of network locations of peers in peer-to-peer networking environment where the peer resource is expected to be available, the list of network locations not including the server, the locator service comprising a plurality of servers to which various peers are assigned, where when a server does not have a peer location for a requested resource such server refers to another server to obtain the peer location;
- and
- sending at least a portion of the list of network locations of peers to the peer to allow the peer to access the peer resource at one or more of the listed network locations.
A machine readable storage medium of a server providing locator service in a peer-to-peer networking environment, the machine readable storage medium having stored thereon machine executable instructions to implement a method performed by a server cooperating with other servers to provide a locator service in which servers track peers assigned thereto, peers request from their assigned servers locations of peers having resources, and when a server does not have a peer location of a requested resource the server requests peer locations of the requested resource from another of the servers, the method comprising:
- receiving an assignment of a peer within a realm of the peer-to-peer networking environment;
- receiving a plurality resource requests from the peer within the peer-to-peer networking environment, the resource requests being addressed to the server based on the peer having been assigned to the server, and each resource request containing a resource identifier identifying a resource, where some of the resource requests are for non-peer resources from outside the peer-to-peer networking environment, and some of the resource requests are for peer resources available from peers of the peer-to-peer networking environment;
- responsive to receiving a resource request from the peer, determining if the resource request is a request for a peer resource of if the resource request is a request for a non-peer resource;
- forwarding the resource request to a network source outside the peer-to-peer network when it is determined that the resource request is a request for a non-peer resource;
- accessing the locator service when it is determined that the resource request is a request for a peer resource, and receiving from said locator service a list or peers in the peer-to-peer networking environment request the peer resource is expected to be available, the list not including the server;
- and
- sending at least a portion of the list of a peers to the peer to allow the peer to access the peer resource at one or more the peers.
A hardware apparatus comprising:
- a server in a peer-to-peer networking environment to receive an assignment of a peer within a realm of the peer-to-peer networking environment, the server cooperating with other servers to provide a locator service in which servers track peers assigned thereto, peers request from their assigned servers locations of peers having resources, when a server does not have a location of requested resource the server requests the location from another of the servers;
- the server to receive resource requests from the peer in the peer-to-peer networking environment, the resource requests being addressed to the server based on the peer having been assigned to the server, and each resource request containing a resource identifier identifying a resource, where some of the resource requests are non-peer resources from outside the peer-to-peer networking environment, and some of the resource requests are for peer resources available from peers of the peer-to-peer networking environment;
- said server to determine if a resource request is a request for a peer resource or is a request for a non-peer resource;
- said server to forward the resource request to a network source outside the peer-to-peer network when it is determined that resource request is a request for a non-peer resource;
- said server to access the locator service indicated when it is determined that the resource request is a request for a peer resource and receiving from the locator service a list network locations of peers in the networking environment where the peer resource is indicated as being available, the list of network locations not including the server;
- and
- said server to send at least a portion of the list or network locations to the peer to allow the peer to access the peer resource at one or more of the listed network locations.
Dependencies are inferred from the claim text.