IP Library Granted Patent US 7,072,982
Granted Patent B2
US 7,072,982 · App. 09/952,808 · Granted Jul 4, 2006

Universal naming scheme for peer to peer resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,072,982
App. No.
09/952,808
Granted
Jul 4, 2006
Kind
B2
Abstract

Peer devices register with a resource locator service so that the peer devices can be uniquely identified in a networking environment. An addressing scheme addresses a peer resource in the networking environment based on the unique identifier of a peer device that is a master publisher of the resource. Based on the addressing scheme, the resource locator service can track the location of the master publisher of the resource as well as additional locations of peer devices that have cached the resource and made it available. In various embodiments, the resource locator service can service requests for peer resources by providing a list of locations where the resource is expected to be available or, in the case of non-compatible requester, provide access to the resource itself.

Claims (59)

1. A method comprising:

receiving a registration request at a peer registrar, said registration request being received from a peer device through a networking environment;

determining a unique identifier for the peer device, said unique identifier being unique within a realm of the peer registrar, said realm comprising the peer registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device;

determining a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

returning the unique identifier and a network location for the home RNS server to the peer device;

registering a new RNS server to be added to the realm; and

reassigning selected peer devices to be homed at the new RNS server.

2. A method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device; and

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment;

wherein a network location for a particular peer device is dynamically allocated, wherein the peer notification comprises a current network address for the particular peer device, and wherein the home RNS server stores the current network address in a record entry corresponding to the particular peer device.

3. A method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device; and

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment;

wherein the peer notification comprises a periodic ping to notify the RNS server that the peer device is currently available to serve peer resources stored at the peer device.

4. The method of claim 3 wherein the RNS server determines that the peer device is not currently available if the periodic ping is not received within a particular time interval after a previous peer notification from the peer device.

5. The method of claim 4 wherein the RNS server stores an indication when the peer device is not currently available until a new peer notification is received indicating that the peer device is again available so that the RNS server will not service requests for resources stored on the peer device with a network location for the peer device while the peer device is determined to be unavailable.

6. A method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device; and

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment;

wherein the peer notification comprises a logout indicator to notify the RNS server that the peer device is no longer available to serve peer resources stored at the peer device.

7. The method of claim 6 wherein the RNS server stores an indication when the peer device is not currently available until a new peer notification is received indicating that the peer device is again available so that the RNS server will not service requests for resources stored on the peer device with a network location for the peer device while the peer device is determined to be unavailable.

8. A method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device;

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment; and

synchronizing a clock at the peer device to a master clock to provide uniform version numbers for peer resources based on the master clock.

9. The method of claim 8 wherein the clock at the peer device is synchronized at initial login and at periodic intervals thereafter.

10. A machine readable medium having stored thereon machine executable instructions to implement a method comprising:

receiving a registration request at a peer registrar, said registration request being received from a peer device through a networking environment;

determining a unique identifier for the peer device, said unique identifier being unique within a realm of the peer registrar, said realm comprising the peer registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device;

determining a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

returning the unique identifier and a network location for the home RNS server to the peer device;

registering a new RNS server to be added to the realm; and

reassigning selected peer devices to be homed at the new RNS server.

11. A machine readable medium having stored thereon machine executable instructions to implement a method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device; and

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment;

wherein a network location for a particular peer device is dynamically allocated, wherein the peer notification comprises a current network address for the particular peer device, and wherein the home RNS server stores the current network address in a record entry corresponding to the particular peer device.

12. A machine readable medium having stored thereon machine executable instructions to implement a method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device; and

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment;

wherein the peer notification comprises a periodic ping to notify the RNS server that the peer device is currently available to serve peer resources stored at the peer device.

13. The machine readable medium of claim 12 wherein the RNS server determines that the peer device is not currently available if the periodic ping is not received within a particular time interval after a previous peer notification from the peer device.

14. The machine readable medium of claim 13 wherein the RNS server stores an indication when the peer device is not currently available until a new peer notification is received indicating that the peer device is again available so that the RNS server will not service requests for resources stored on the peer device with a network location for the peer device while the peer device is determined to be unavailable.

15. A machine readable medium having stored thereon machine executable instructions to implement a method comprising:

sending a registration request to a realm registrar from a peer device through a networking environment, said realm registrar to determine a unique identifier for the peer device, said unique identifier being unique within a realm of the realm registrar, said realm comprising the realm registrar, a plurality of RNS servers, and a plurality of additional peer devices, said unique identifier to be used to identify peer resources within the realm that are under the control of the peer device, said realm registrar also to determine a home RNS server for the peer device within the realm, said home RNS server to serve the peer device with locations of peer resources within the realm to enable the peer device to access the peer resources from respective ones of the plurality of additional peer devices;

receiving the unique identifier and a network location for the home RNS server at the peer device; and

sending a peer notification to the home RNS server through the networking environment, said home RNS server to update a record based on the peer notification, said record to enable the RNS server to service requests for peer resources stored at a plurality of peer devices with network locations of respective peer devices in the networking environment;

wherein the peer notification comprises a logout indicator to notify the RNS server that the peer device is no longer available to serve peer resources stored at the peer device.

16. The machine readable medium of claim 15 wherein the RNS server stores an indication when the peer device is not currently available until a new peer notification is received indicating that the peer device is again available so that the RNS server will not service requests for resources stored on the peer device with a network location for the peer device while the peer device is determined to be unavailable.

17. The machine readable medium of claim 15 , the method further comprising:

synchronizing a clock at the peer device to a master clock to provide uniform version numbers for peer resources based on the master clock.

18. The machine readable medium of claim 17 wherein the clock at the peer device is synchronized at initial login and at periodic intervals thereafter.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 15, 2002
From: XDEGREES, INC.
To: REDPOINT VENTURES I, L.P.; REDPOINT TECHNOLOGY PARTNERS Q-1, L.P.; REDPOINT TECHNOLOGY PARTNERS A-1, L.P.; REDPOINT ASSOCIATES I, LLC; CAMBRIAN FUND LLC
Reel/Frame 012449/0706 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2001
From: TEODOSIU, DAN; BJORNER, NIKOLAJ S.; BREUNIG, MARKUS M.
To: XDEGREES, INC.
Reel/Frame 012171/0907 →