IP Library Granted Patent US 10,749,947
Granted Patent B2
US 10,749,947 · App. 12/491,184 · Granted Aug 18, 2020

Method and apparatus for signaling of buffer content in a peer-to-peer streaming network

Inventors: Jozef Pieter van Gassel (Tampere, FI); Igor Danilo Diego Curcio (Tampere, FI); Jani Antero Peltotalo (Tampere, FI); Marko Antti Juhani Saukko (Turku, FI); Lassi Ilari Väätämöinen (Tampre, FI)
Assignee: Provenance Asset Group LLC
H04L67/104H04L65/4076H04L65/4084H04L67/1008H04L67/1023H04L67/101H04L67/1002H04L67/1068
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 10,749,947
App. No.
12/491,184
Granted
Aug 18, 2020
Kind
B2
Abstract

Methods, devices and computer program products for facilitating the selection of a sourcing peer in peer-to-peer (P2P) streaming environment are disclosed. These methods allow peers to select candidate source peers in an informed manner with low overhead and minimized complexity. These and other features are accomplished by signalling detailed information regarding the buffer contents to one or more requesting peers. This information includes the presence or absence of requested content segments and a listing of gaps in the requested content segments, which allow the requesting peers to select an appropriate sourcing peer. The selection of a sourcing peer is also effected by considering network connectivity and/or network congestion status between the sourcing and the requesting peers.

Claims (67)

1. A method, comprising:

receiving, at a candidate source peer, a first request in order to setup a connection with the candidate source peer from an entity in a peer-to-peer streaming network;

receiving, at the candidate source peer, a second request for a content at the candidate source peer once setup is complete;

providing, from the candidate source peer, in response to receiving the second request, information related to availability of the content and detailed buffer status of the candidate source peer to one or more requesting peers, wherein the information relating to the candidate source peer enables the one or more requesting peers to select the candidate source peer as a selected candidate source peer to provide the content to the one or more requesting peers;

selecting, by the one or more requesting peers, the candidate source peer as the selected candidate source peer based on the information;

providing, from the selected candidate source peer, the content to the one or more requesting peers in response to the selection, by the one or more requesting peers, of the candidate source peer such that the candidate source peer is configured to simultaneously provide the content to more than one requesting peer; and

when the selected candidate source peer determines in response to the selection that the second request for the content is not able to be accommodated, redirecting the second request to a redirect candidate source peer able to accommodate the second request to enable the one or more requesting peers to select the redirect candidate source peer to provide the content to the one or more requesting peers.

2. The method of claim 1 , wherein the second request comprises at least one of a plurality of sequence numbers or a plurality of normal play time (NPT) values associated with the content.

3. The method of claim 1 , wherein the information comprises a status code associated with the availability of the content.

4. The method of claim 3 , wherein

the information further comprises a list of available content segments within a range of requested content segments or a list of gaps associated with lost segments within the range of requested content segments; and

the status code provides an indication of at least one of a future content or a past content.

5. The method of claim 1 , wherein the information contains one or more of:

the buffer start time;

the buffer end time;

the buffer duration;

the buffer storage capacity;

a first sequence number stored in the buffer;

a last sequence number stored in the buffer;

an extent list of gaps;

a percentage of available content within a requested range; and

an indication as to completeness of content within the buffer.

6. The method of claim 1 , wherein receiving the second request and providing information are effected within a real time transport streaming protocol (RTSP) session setup procedure.

7. The method of claim 1 , wherein receiving the second request and providing information are effected outside of a real time transport streaming protocol (RTSP) session setup procedure.

8. The method of claim 1 , wherein the second request is received by the candidate source peer directly from the one or more requesting peers, and the information is provided directly to the one or more requesting peers by the candidate source peer.

9. The method of claim 1 , wherein the second request is received by the candidate source peer from a central entity within the peer-to-peer streaming network, and the information is provided to the central entity by the candidate source peer.

10. The method of claim 1 , wherein the second request is initiated by the one or more requesting peers in a decentralized distributed peer-to-peer streaming network, and the information is provided by the candidate source peer to the one or more requesting peers through one or more other peers in the decentralized distributed peer-to-peer streaming network.

11. A method, comprising:

initiating, at a requesting peer, a first request to one or more candidate source peers in order to setup a connection with the requesting peer from an entity in a peer-to-peer streaming network;

initiating, at the requesting peer, a second request to the one or more candidate source peers for a content at the requesting peer, once setup is complete;

receiving, at the requesting peer, in response to initiating the second request, information related to availability of the content and detailed buffer status of the one or more candidate source peers, wherein the information of the one or more candidate source peers enables the requesting peer to select the candidate source peer as a selected candidate source peer to provide the content to the requesting peer;

selecting, by the requesting peer, the selected candidate source peer among the one or more candidate source peers that serves as the selected candidate source peer for another requesting peer, based on the received information;

receiving, at the requesting peer in response to the selecting, the content from the selected candidate source peer; and

when the selected candidate source peer determines in response to the selection that the second request for the content is not able to be accommodated, redirecting the second request to a redirect candidate source peer able to accommodate the second request to enable the requesting peer to select the redirect candidate source peer to receive the content.

12. An apparatus, comprising:

a receiver configured to receive a first request from one or more requesting peers in order to setup a connection with a candidate source peer, wherein the one or more requesting peers are an entity in a peer-to-peer streaming network;

the receiver further configured to receive a second request from one or more requesting peers for a content of the candidate source peer once setup is complete;

a transmitter configured to transmit from the candidate source peer, in response to the received second request, information related to availability of the content and detailed buffer status of the candidate source peer to the one or more requesting peers, wherein the information about the candidate source peer enables the one or more requesting peers to select the candidate source peer as a selected candidate source peer to provide the content to the one or more requesting peers;

the one or more requesting peers configured to select the selected candidate source peer;

the transmitter further configured to transmit, from the selected candidate source peer, the content to the one or more requesting peers in response to selection of the candidate source peer such that the candidate source peer is configured to simultaneously provide the content to each of the requesting peers that select the candidate source peer for receiving the content; and

when the selected candidate source peer determines in response to the selection that the second request for the content is not able to be accommodated, the transmitter is configured to redirect the second request to a redirect candidate source peer able to accommodate the second request to enable the one or more requesting peers to select the redirect candidate source peer to provide the content to the one or more requesting peers.

13. The apparatus of claim 12 , wherein the second request comprises at least one of a plurality of sequence numbers or a plurality of normal play time (NPT) values associated with the content.

14. The apparatus of claim 12 , wherein the information comprises a status code associated with the availability of the content.

15. The apparatus of claim 14 , wherein the information further comprises a list of available content segments within a range of requested content segments or a list of gaps associated with lost segments within the range of requested content segments; and

the status code provides an indication of at least one of a future content or a past content.

16. The apparatus of claim 12 , wherein the information contains one or more of:

the buffer start time;

the buffer end time;

the buffer duration;

the buffer storage capacity;

a first sequence number stored in the buffer;

a last sequence number stored in the buffer; an extent list of gaps;

a percentage of available content within a requested range; and

an indication as to completeness of content within the buffer.

17. The apparatus of claim 12 , wherein the receiver and the transmitter are configured to operate within a real-time transport streaming protocol (RTSP) session setup procedure.

18. The apparatus of claim 12 , wherein the receiver and the transmitter are configured to operate outside of a real-time transport streaming protocol (RTSP) session setup procedure.

19. The apparatus of claim 12 , wherein the receiver is configured to receive the second request at the candidate source peer directly from one or more requesting peers, and the transmitter is configured to transmit the information directly to the one or more requesting peers.

20. The apparatus of claim 12 , wherein the receiver is configured to receive the second request at the candidate source peer from a central entity within the peer-to-peer streaming network, and the transmitter is configured to transmit the information to the central entity.

21. The apparatus of claim 12 , wherein the one or more requesting peers are configured to initiate the second request in a decentralized distributed peer-to-peer streaming network, and the transmitter is configured to transmit the information to the one or more requesting peers through one or more other peers in the decentralized distributed Peer-to-peer streaming network.

22. An apparatus, comprising:

a transmitter configured to initiate a first request at a requesting peer in a peer-to-peer streaming network in order to setup a connection between the requesting peer and one or more candidate source peers;

the transmitter further configured to initiate a second request at the requesting peer for a content delivery from the one or more candidate source peers to the requesting peer once setup is complete;

a receiver configured to receive, in response to the initiated second request, information from the one or more candidate source peers related to availability of the content and detailed buffer status of the one or more candidate source peers, at the requesting peer, wherein the information relating to the one or more candidate source peers enables the requesting peer to select the candidate source peer as a selected candidate source peer to provide the content;

the requesting peer configured to select the selected candidate source peer;

the receiver further configured to receive, at the requesting peer, the content from the selected candidate source peer among the one or more candidate source peers that serves as the candidate source peer for at least one other requesting peer; and

when the selected candidate source peer determines in response to the selection that the second request for the content is not able to be accommodated, the transmitter is configured to redirect the second request to a redirect candidate source peer able to accommodate the second request to enable the requesting peer to select the redirect candidate source peer to receive the content.

23. The apparatus of claim 12 , wherein the information further comprises a description of the status code associated with the availability of the content.

Assignments (12)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035543/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2009
From: VAN GASSEL, JOZEF PIETER; CURCIO, IGOR DANILO DIEGO; PELTOTALO, JANI ANTERO; SAUKKO, MARKO ANTTI JUHANI; VAATAMOINEN, LASSI ILARI
To: NOKIA CORPORATION
Reel/Frame 022889/0575 →