Network routing of endpoints to content based on content swarms
First Claim
1. A system comprising:
- one or more processors;
memory communicably coupled to the one or more processors, the memory comprises;
substantially up to date content mapping information, independent of a type of content, which maps each unique content identifier corresponding to a content item of a plurality of unique content identifiers corresponding to a plurality of content items to a set of nodes of a network that each includes the content item;
substantially up to date end-to-end routing information for routes between node pairs of the nodes of the network, the end-to-end routing information comprising one or more routing characteristics; and
a lookup service module which, when executed by the one or more processors and in response to a request specifying a particular content item and one or more classes of service parameters;
determines a plurality of nodes of the network that satisfy the request based on the content mapping information, a determination of the plurality of nodes of the network being independent of a location of each node of the plurality of nodes of the network; and
selects at least one route associated with the plurality of nodes based at least on the end-to-end routing information and the one or more class of service parameters.
2 Assignments
0 Petitions
Accused Products
Abstract
Using location-independent names to identify content, a service for mapping endpoint requests to requested content. Content requested by an endpoint of the network is mapped to a dynamic “swarm” of server, peer, or other endpoints capable of supporting the content download. Content names are mapped to a dynamically generated content swarm, presenting a current set of hosts, which can provide the requested content. Optionally, varying degrees of explicit visibility into routing paths and the performance tradeoffs between those routing paths is supported. Based on a set of class of service parameters for a given request for content, a host can initiate route selection based on class of service parameters, predicated on routing metrics maintained by the network by cooperating endpoints and/or network routers.
36 Citations
19 Claims
-
1. A system comprising:
-
one or more processors; memory communicably coupled to the one or more processors, the memory comprises; substantially up to date content mapping information, independent of a type of content, which maps each unique content identifier corresponding to a content item of a plurality of unique content identifiers corresponding to a plurality of content items to a set of nodes of a network that each includes the content item; substantially up to date end-to-end routing information for routes between node pairs of the nodes of the network, the end-to-end routing information comprising one or more routing characteristics; and a lookup service module which, when executed by the one or more processors and in response to a request specifying a particular content item and one or more classes of service parameters; determines a plurality of nodes of the network that satisfy the request based on the content mapping information, a determination of the plurality of nodes of the network being independent of a location of each node of the plurality of nodes of the network; and selects at least one route associated with the plurality of nodes based at least on the end-to-end routing information and the one or more class of service parameters. - View Dependent Claims (2, 3, 4, 5, 6, 19)
-
-
7. A method for proactively determining optimal service endpoints for providing content in a network, comprising:
-
based on a request for a content stream of interest including a unique content identifier that is independent of location of the content stream, receiving, by a requesting endpoint, information representing a set of candidate endpoints from a network service that each includes the content stream of interest, wherein the set of candidate endpoints is provided to the requesting endpoint independent of respective candidate endpoint locations; based on at least one predetermined criterion associated with the request and information retrieved from a data store comprising substantially up to date end-to-end routing information for routes between the requesting endpoint and the endpoints of the candidate endpoints of the network service, selecting, by the requesting endpoint, at least one candidate endpoint of the set of candidate endpoints for provision of a service relating to the content stream of interest, the end-to-end routing information comprising one or more routing characteristics, the one or more routing characteristics of the selected at least one candidate endpoint comprises a latency value, wherein the at least one predetermined criterion comprises a latency performance parameter; and based on an increase in the latency value associated with the selected at least one candidate endpoint that results in failing to meet the latency performance parameter, switching to at least a second candidate endpoint of the set of candidate endpoints for provision of the service relating to the content stream of interest in response to determining that a latency value associated with the at least the second candidate endpoint satisfies the latency performance parameter. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for determining optimal routes to optimal service endpoints for providing service with respect to one or more specified items of content in a network, comprising:
-
receiving, in response to a content stream of interest request by a requesting endpoint of a network, first information including unique endpoint identifier information representing a set of candidate endpoints from a network service, the unique endpoint identifier information being independent of a location of each of the candidate endpoints, each of the candidate endpoints capable of providing a service with respect to the content stream of interest, each unique endpoint identifier assigned to each candidate endpoint at the time the candidate endpoint joined the network; receiving, by the requesting endpoint, second information representing route quality information concerning at least one characteristic of at least one endpoint to endpoint route between the requesting endpoint and the set of candidate endpoints, the second information retrieved from a data store comprising substantially up to date end-to-end routing information for routes between endpoints of the endpoints of the network, the end-to-end routing information comprising at least bandwidth information; and based on an analysis of the second information representing route quality information and a class of service parameter associated with the content stream of interest, connecting to a subset of the set of candidate endpoints via a specific one or more of the at least one endpoint to endpoint route. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification