SCALABLE PEER MATCHING
First Claim
1. A device comprising:
- one or more processors;
memory storing a first version of a list of peer identifiers corresponding to a set of peer devices that have registered with a plurality of peer matching nodes for peer matching services associated with a content identifier; and
one or more modules stored on the memory and executable by the one or more processors to;
identify a first set of changes to the first version of the list of peer identifiers, the first set of changes occurring at a particular peer matching node of the plurality of peer matching nodes, an individual change in the first set of changes including an addition of a new peer identifier to the first version of the list of peer identifiers based at least in part on a reception of a new request from a new peer device to register with the particular peer matching node for peer matching services associated with the content identifier;
generate first information representative of the first set of changes to the first version of the list of peer identifiers;
send, to a hub that is configured to update a second version of the list of peer identifiers based on a second set of changes that occur across at least two of the plurality of peer matching nodes for peer matching services associated with the content identifier, the first information representative of the first set of changes to the first version of the list of peer identifiers;
receive, from the hub, second information representative of the second set of changes to the second version of the list of peer identifiers;
update the first version of the list of peer identifiers based at least in part on the second information received from the hub; and
provide the first version of the list of peer identifiers to at least one peer device that has registered with the particular peer matching node.
1 Assignment
0 Petitions
Accused Products
Abstract
The techniques and systems described herein implement an improved peer matching service by coordinating peer matching requests across multiple peer matching nodes configured within a peer matching unit so that resource consumption can be spread out and resource limitations are not exceeded. Moreover, the peer matching service can determine if a peer matching unit is overloaded (e.g., experiencing an increased number of requests in a given time interval that is causing performance degradation), and the peer matching service can implement an action to scale out the number of requests within the peer matching unit (e.g., re-distribute some peer matching requests to another peer matching unit). In various examples, the peer matching service can determine if peer devices are co-located peer devices based on location information and can generate a list that prioritizes the co-located peer devices.
19 Citations
20 Claims
-
1. A device comprising:
-
one or more processors; memory storing a first version of a list of peer identifiers corresponding to a set of peer devices that have registered with a plurality of peer matching nodes for peer matching services associated with a content identifier; and one or more modules stored on the memory and executable by the one or more processors to; identify a first set of changes to the first version of the list of peer identifiers, the first set of changes occurring at a particular peer matching node of the plurality of peer matching nodes, an individual change in the first set of changes including an addition of a new peer identifier to the first version of the list of peer identifiers based at least in part on a reception of a new request from a new peer device to register with the particular peer matching node for peer matching services associated with the content identifier; generate first information representative of the first set of changes to the first version of the list of peer identifiers; send, to a hub that is configured to update a second version of the list of peer identifiers based on a second set of changes that occur across at least two of the plurality of peer matching nodes for peer matching services associated with the content identifier, the first information representative of the first set of changes to the first version of the list of peer identifiers; receive, from the hub, second information representative of the second set of changes to the second version of the list of peer identifiers; update the first version of the list of peer identifiers based at least in part on the second information received from the hub; and provide the first version of the list of peer identifiers to at least one peer device that has registered with the particular peer matching node. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device comprising:
-
one or more processors; memory storing a list of peer identifiers corresponding to a set of peer devices that have registered with a plurality of peer matching nodes for peer matching services associated with a content identifier; and one or more modules stored on the memory and executable by the one or more processors to; receive, from an individual peer matching node of the plurality of peer matching nodes, first information representative of a first set of changes to the list of peer identifiers, an individual change in the first set of changes comprising an addition of a new peer identifier that has registered with the individual peer matching node; generate, based at least in part on the first information received from individual ones of the plurality of peer matching nodes, second information representative of a second set of changes to the list of peer identifiers, the second set of changes to the list of peer identifiers occurring across at least two of the plurality of peer matching nodes; and provide, to individual ones of the plurality of peer matching nodes, the second information representative of the second set of changes to the list of peer identifiers. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A device comprising:
-
one or more processors; memory; and one or more modules stored on the memory and executable by the one or more processors to; assign one or more content identifiers to a peer matching unit; receive information indicative of a number of peer devices that have registered with a plurality of peer matching nodes configured within the peer matching unit for peer matching services associated with the one or more content identifiers; determine that the number of peer devices exceeds a threshold number of peer devices; and implement an action to scale out peer device requests associated with the one or more content identifiers across a plurality of peer matching units. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification