Resource Locators for Widely Distributed Systems
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-modified1 . 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.