US2011087750A1PendingUtilityA1

Resource Locators for Widely Distributed Systems

45
Assignee: MICROSOFT CORPPriority: May 30, 2006Filed: Dec 14, 2010Published: Apr 14, 2011
Est. expiryMay 30, 2026(expired)· nominal 20-yr term from priority
Inventors:Daniel Gwozdz
H04L 61/4552H04L 67/1068G06F 16/958G06F 16/9566H04L 67/104
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Implementations provide simple syndication, browsing, searching, and subscribing solutions to networks of friends. In at least some embodiments, the approaches utilize standard HTTP protocols for consumption, subscription, and interaction of data while using the local file system for publication. Some implementations overlay a URL address space that can be handled and routed interchangeably between multiple clients and servers or “locations”. In this manner, generated requests for user published content can be satisfied by local caches, servers, or peers through, for example, a peer-to-peer network. Accordingly, some implementations provide a platform to make this possible with a simple publishing model that is fully compatible with existing Internet enabled applications.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 generating, by a processor of a computing device, a request for content, wherein the request is represented by a resource locator comprising an endpoint associated with the content; and   attempting, by an application, executed on the computing device, that accesses a presence-based network, to resolve the request using the presence-based network by:
 determining whether a participant of the presence-based network, referred to by the resource locator, has a current presence on the presence-based network; and 
 when the participant of the presence-based network, referred to by the resource locator, has a current presence on the presence-based network, obtaining the content from the participant referred to by the resource locator. 
   
     
     
         2 . The method according to  claim 1 , further comprising, when attempting to resolve the request using the presence-based network fails, resolving the request by resolving the resource locator through a remote server having access to a copy of the content. 
     
     
         3 . The method according to  claim 2 , wherein the copy of the content accessed through the remote server is of a different resolution or quality than the content available from the participant through the presence-based network. 
     
     
         4 . The method according to  claim 1 , further comprising, prior to attempting to resolve the request using the presence-based network, attempting to resolve the request by resolving the resource locator to obtain a copy of the content stored on a local cache of the computing device. 
     
     
         5 . The method according to  claim 1 , wherein the application is an instant messaging application that establishes a presence of a user of the computing device as participating in the presence-based network when the instant messaging application is initiated to access the presence-based network. 
     
     
         6 . The method according to  claim 1 , wherein:
 the participant of the presence-based network is one of a plurality of participants, each having a presence in the presence-based network; and   the presence-based network is monitored by one or more servers coordinating the presence-based network for determining participants currently having a presence in the presence-based network.   
     
     
         7 . The method according to  claim 1 , wherein:
 the participant of the presence-based network is one of a plurality of participants of the presence-based network that are affiliated based on a buddy list; and   members of the buddy list are able to establish a presence in the presence-based network with respect to other members of the buddy list, but not with respect to participants of the presence-based network that are not members of the buddy list.   
     
     
         8 . The method according to  claim 7 , further comprising receiving, as a result of attempting to resolve the request using the presence-based network, a communication asking whether a first user of the computing device wishes to invite a second user associated with the endpoint to join a buddy list of the first user. 
     
     
         9 . The method according to  claim 1 , wherein the resource locator comprises:
 a first part including a universal prefix;   a second part defining the endpoint;   a third part associated with an application namespace; and   a fourth part which pertains to application-specific information.   
     
     
         10 . The method according to  claim 1 , wherein the endpoint is further associated with at least one of:
 an individual corresponding to the participant; or   a specific computing device corresponding to the participant.   
     
     
         11 . The method according to  claim 1 , wherein:
 the resource locator further comprises a session GUID that identifies and is unique to a particular session; and   the session GUID is used to identify a particular session between a user of the computing device and the participant to avoid collisions with other sessions between the user and other participants of the presence-based network.   
     
     
         12 . A computing device comprising:
 a processor coupled for communication with computer-readable media; and   an application maintained on the computer-readable media and executed on the processor to perform operations including:
 receiving a request for content, wherein:
 the content is published by a user of a remote computing device; 
 the request is represented as a resource locator comprising an endpoint associated with the content; and 
 the resource locator is resolvable to obtain the content through a presence-based network using a peer-to-peer connection or through a remote server that does not utilize a peer-to-peer connection; and 
 
 resolving the resource locator to obtain the content corresponding to the request. 
   
     
     
         13 . The computing device according to  claim 12 , further comprising a local cache on the computing device, wherein the resource locator is also resolvable to obtain the content from the local cache on the computing device. 
     
     
         14 . The computing device according to  claim 12 , wherein:
 the application is configured to attempt to resolve the resource locator to obtain the content from a peer over the presence-based network; and   when the attempt to resolve the resource locator to obtain the content from the peer fails, the application is configured to resolve the resource locator to obtain the content from the remote server.   
     
     
         15 . The computing device according to  claim 14 , wherein when the attempt to resolve the resource locator to obtain the content from a peer is successful, the application satisfies the request the peer-to-peer connection on the presence-based network by receiving the content from a remote device, wherein the remote device is associated with an individual who appears on a buddy list of a user of the computing device. 
     
     
         16 . The computing device according to  claim 12 , wherein:
 the application establishes a user of the computing device as currently having a presence in the presence-based network; and   the user is one of a plurality of participants in the presence-based network, each capable of having a presence in the presence-based network monitored by one or more servers coordinating the presence-based network for determining participants currently having a presence in the presence-based network.   
     
     
         17 . The computing device according to  claim 16 , wherein when a first participant of the presence-based network associated with the endpoint does not have a current presence in the presence-based network, the application attempts to resolve the resource locator through at least one of:
 the presence-based network at a device of a second participant that is a member of a group of which the first participant and the user of the computing device are also members; or   the remote server without peer-to-peer interaction.   
     
     
         18 . One or more computer-readable media maintaining computer-readable instructions which, when executed, implement operations comprising:
 generating, on a local device, a request for information, wherein the request is represented as a resource locator comprising an endpoint associated with user-published content;   attempting to resolve the resource locator through a presence-based network by determining whether a participant of the presence-based network referred to by the resource locator has a current presence on the presence-based network, wherein the presence-based network provides presence information regarding which participants currently have a presence; and   when the participant of the presence-based network referred to by the resource locator has a current presence on the presence-based network, obtaining the content from the participant through the presence-based network.   
     
     
         19 . The one or more computer-readable media of  claim 18 , the operations further comprising receiving, as a result of attempting to resolve the resource locator through the presence-based network, an invitation to install an application for joining the presence-based network. 
     
     
         20 . The one or more computer-readable media of  claim 18 , the operations further comprising, when the participant of the presence-based network referred to by the resource locator does not have a current presence on the presence-based network, obtaining the content from a remote server that does not use a peer-to-peer connection.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.