IP Library Granted Patent US 12,355,833
Granted Patent B2
US 12,355,833 · App. 18/414,032 · Granted Jul 8, 2025

Systems and methods for media delivery in cooperative device-to-device communications

Inventors: Antti Heikkinen (Oulu, FI); Mikko Uitto (Oulu, FI)
Assignee: Adeia Guides Inc.
H04L65/752H04L65/80H04N21/2401H04N21/2402
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 12,355,833
App. No.
18/414,032
Granted
Jul 8, 2025
Kind
B2
Abstract

A sidelink connection is created between each device of a plurality of devices. A first device connected to a content source retrieves a manifest file for the media from the content source. The first device then notifies other devices, including a second device not connected to the content source, that the manifest file is available from the first device. Based on connection metrics of each device, it is determined which of the devices has the highest quality connection to the content source. If, for example, the first device is determined to have the highest quality connection, then the first devices retrieves a segment of the media from the content source, stores the segment in a cache of the first device, and delivers the segment to other devices in response to requests for the segment received from each device.

Claims (105)

1. A method for media delivery in cooperative device-to-device communications, the method comprising:

creating sidelink connections between a plurality of devices, wherein a first device of the plurality of devices is connected to a content source for the media and a second device of the plurality of devices is not connected to the content source for the media;

determining, based on connection metrics of the plurality of devices, that the first device has a highest quality connection to the content source from among the plurality of devices; and

in response to determining that the first device has the highest quality connection to the content source from among the plurality of devices:

retrieving, by the first device, from the content source, a first segment of the media; and

delivering, by the first device, via a first sidelink connection, the first segment to another device of the plurality of devices in response to receiving a request for the first segment;

determining, by the first device, whether a number of segments currently available in a video player buffer of the first device is below a buffer threshold;

in response to determining that the number of segments is below the buffer threshold, determining whether a next segment is available from a different device of the plurality of devices; and

in response to determining that the next segment is available from the different device of the plurality of devices, retrieving, by the first device from the different device, via a second sidelink connection between the first device and the different device, the next segment.

2. The method of claim 1 , further comprising:

determining, based on the connection metrics, that a third device has a higher quality connection than the first device; and

in response to determining that the third device has a higher quality connection than the first device:

retrieving, by the third device, from the content source, a second segment of the media; and

delivering, by the third device, via a second sidelink connection, the second segment to the another device of the plurality of devices in response to receiving a request for the second segment.

3. The method of claim 1 , further comprising:

measuring network conditions of the plurality of devices; and

updating the connection metrics of the plurality of devices based on the respective network conditions of each device.

4. The method of claim 1 , wherein determining, based on the connection metrics of the plurality of devices, that the first device has the highest quality connection to the content source from among the plurality of devices is performed simultaneously by each device of the plurality of devices.

5. The method of claim 1 ,

wherein determining that the next segment is available from the different device of the plurality of devices further comprises:

transmitting, by the first device, via a respective sidelink connection, a request for the next segment to at least one other device of the plurality of devices; and

receiving, at the first device, in response to the request for the next segment, from the at least one other device, via the respective sidelink connection, an indication of whether the next segment is currently stored by the at least one other device; and

wherein an indication is received from a subset of devices of the plurality of devices that the next segment is currently stored by each respective device of the subset of devices, the method further comprising:

determining a respective sidelink connection quality level between the first device and each device of the subset of devices;

selecting, based on the respective sidelink connection quality levels, a target device from the subset of devices; and

retrieving, by the first device, via a sidelink connection between the first device and the target device, the next segment from the target device.

6. The method of claim 1 , further comprising:

determining a sidelink connection quality level of a sidelink connection between the first device and a third device of the plurality of devices;

determining, based on the connection metrics, a network connection quality level between the third device and the content source;

in response to determining that the sidelink connection quality level is higher than the network connection quality level, delivering the first segment from the first device to the third device via the sidelink connection between the first device and the third device; and

in response to determining that the network connection quality level is higher than the sidelink connection quality level, retrieving, by the third device, from the content source, the first segment of the media.

7. The method of claim 1 , further comprising:

determining a sidelink connection quality level of a sidelink connection between the first device and the second device; and

determining whether the sidelink connection quality level is sufficient to transmit a second segment;

wherein delivering the first segment occurs in response to determining that the sidelink connection quality level is sufficient to transmit the second segment.

8. The method of claim 7 , further comprising:

in response to determining that the sidelink connection quality level of the sidelink connection between the first device and the second device is not sufficient to transmit the second segment:

determining whether the second segment is currently stored by a third device of the plurality of devices;

determining whether a second sidelink connection quality level of a sidelink connection between the second device and the third device is sufficient to transmit the second segment; and

in response to determining that the second segment is currently stored by the third device and that the second sidelink connection quality level is sufficient to transmit the second segment, causing the third device to deliver the second segment, via the sidelink connection between the second device and the third device, to the second device; and

in response to determining that the second segment is not currently stored by the third device or that the second sidelink connection quality level is not sufficient to transmit the second segment:

determining whether a lower quality version of the second segment is currently stored by any device of the plurality of devices; and

in response to determining that the lower quality version of the second segment is currently stored by a respective device of the plurality of devices, causing the respective device to deliver the lower quality version of the second segment to the second device via a sidelink connection between the second device and the respective device.

9. A method for media delivery in cooperative device-to-device communications, the method comprising:

creating sidelink connections between a plurality of devices, wherein a first device of the plurality of devices is connected to a content source for the media and a second device of the plurality of devices is not connected to the content source for the media;

determining, based on connection metrics of the plurality of devices, that the first device has a highest quality connection to the content source from among the plurality of devices;

in response to determining that the first device has the highest quality connection to the content source from among the plurality of devices, transmitting, by the second device, via a first sidelink connection, a request for a segment of the media, the segment having been retrieved by the first device from the content source; and

receiving, at the second device, via the first sidelink connection, the requested segment from the first device;

determining, by the second device, whether a number of segments currently available in a video player buffer of the second device is below a buffer threshold;

in response to determining that the number of segments is below the buffer threshold, determining whether a next segment is available from a different device of the plurality of devices; and

in response to determining that the next segment is available from the different device of the plurality of devices, retrieving, by the second device, via a second sidelink connection between the second device and the different device, the next segment.

10. The method of claim 9 , further comprising:

establishing a connection between the second device and the content source;

determining, based on the connection metrics, that the second device has a higher quality connection than the first device; and

in response to determining that the second device has a higher quality connection than the first device:

retrieving, by the second device, a second segment of the media; and

delivering, by the second device, via a second sidelink connection, the second segment to another device of the plurality of devices in response to receiving a request for the second segment.

11. The method of claim 9 , further comprising:

measuring network conditions of the plurality of devices; and

updating the connection metrics of the plurality of devices based on the respective network conditions of each device.

12. The method of claim 9 , wherein determining, based on the connection metrics of the plurality of devices, that the first device has the highest quality connection to the content source from among the plurality of devices is performed simultaneously by each device of the plurality of devices.

13. The method of claim 9 ,

wherein determining that the next segment is available from the different device of the plurality of devices further comprises:

transmitting, by the second device, via a respective sidelink connection, a request for the next segment to at least one other device of the plurality of devices; and

receiving, at the second device, in response to the request for the next segment, from the at least one other device, via the respective sidelink connection, an indication of whether the next segment is currently stored by the at least one other device; and

wherein an indication is received from a subset of devices of the plurality of devices that the next segment is currently stored by each respective device of the subset of devices, the method further comprising:

determining a respective sidelink connection quality level for each respective sidelink connection between the second device and each device of the subset of devices;

selecting, based on the respective sidelink connection quality levels, a target device from the subset of devices; and

retrieving, by the second device, via a sidelink connection between the second device and the target device, the next segment from the target device.

14. The method of claim 9 , further comprising:

determining a sidelink connection quality level of a sidelink connection between the first device and the second device; and

determining whether the sidelink connection quality level is sufficient to receive a second segment;

wherein transmitting, by the second device, via the sidelink connection between the first device and the second device, a request for the segment of the media to the first device occurs further in response to determining that the sidelink connection quality level is sufficient to receive the second segment.

15. The method of claim 14 , further comprising:

in response to determining that the sidelink connection quality level of the sidelink connection between the first device and the second device is not sufficient to receive the second segment:

determining whether the second segment is currently stored by a third device of the plurality of devices;

determining whether a second sidelink connection quality level of a sidelink connection between the second device and the third device is sufficient to receive the second segment; and

in response to determining that the second segment is currently stored by the third device and that the second sidelink connection quality level is sufficient to receive the second segment, transmitting, to the third device, by the second device, via the sidelink connection between the second device and the third device, a request for the second segment.

16. The method of claim 15 , further comprising:

in response to determining that the second segment is not currently stored by the third device or that the second sidelink connection quality level is not sufficient to receive the second segment:

determining whether a lower quality version of the second segment is currently stored by any device of the plurality of devices; and

in response to determining that the lower quality version of the second segment is currently stored by a respective device of the plurality of devices, transmitting, to the respective device, by the second device, via a sidelink connection between the second device and the respective device, a request for the lower quality version of the second segment.

17. A system for media delivery in cooperative device-to-device communications, the system being implemented on a first device of a plurality of devices, the system comprising:

a cache;

transceiver circuitry; and

control circuitry configured to:

connect, using the transceiver circuitry, to a content source for the media;

create, using the transceiver circuitry, sidelink connections between the plurality of devices, wherein a second device of the plurality of devices is not connected to the content source for the media;

determine, based on connection metrics of the plurality of devices, that the first device has a highest quality connection to the content source from among the plurality of devices; and

in response to determining that the first device has the highest quality connection to the content source from among the plurality of devices:

retrieve, using the transceiver circuitry, from the content source, a first segment of the media; and

deliver, using the transceiver circuitry, via a first sidelink connection, the first segment to another device of the plurality of devices in response to receiving, using the transceiver circuitry, a request for the first segment;

determine, by the first device, whether a number of segments currently available in a video player buffer of the first device is below a buffer threshold;

in response to determining that the number of segments is below the buffer threshold, determine whether a next segment is available from a different device of the plurality of devices; and

in response to determining that the next segment is available from the different device of the plurality of devices, retrieve, using the transceiver circuitry, by the first device from the different device, via a second sidelink connection between the first device and the different device, the next segment.

18. A system for media delivery in cooperative device-to-device communications, the system being implemented on a first device of a plurality of devices that is not connected to a content source of the media, the system comprising:

transceiver circuitry; and

control circuitry configured to:

create a sidelink connection between the plurality of devices, wherein a second device of the plurality of devices is connected to the content source for the media;

determine, based on connection metrics of each device of the plurality of devices, that the second device has a highest quality connection to the content source from among the plurality of devices;

in response to determining that the second device has the highest quality connection to the content source from among the plurality of devices, transmit, using the transceiver circuitry, via a first sidelink connection, a request for a segment of the media to the second device, the segment having been retrieved by the second device from the content source; and

receive, using the transceiver circuitry, via the first sidelink connection, the requested segment from the first device;

determine, by the second device, whether a number of segments currently available in a video player buffer of the second device is below a buffer threshold;

in response to determining that the number of segments is below the buffer threshold, determine whether a next segment is available from a different device of the plurality of devices; and

in response to determining that the next segment is available from the different device of the plurality of devices, retrieve, using the transceiver circuitry, by the second device, via a second sidelink connection between the second device and the different device, the next segment.

Assignments (2)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: HEIKKINEN, ANTTI; UITTO, MIKKO
To: ROVI GUIDES, INC.
Reel/Frame 066146/0969 →
Continuity (2)
Continuation 17898647 · Aug 30, 2022
Related Publication 20240155018A1 · May 9, 2024
References Cited (31)
US 8447875B2 · Liu et al. · 2013 [cited by applicant]
US 9485708B2 · Patil · 2016 [cited by examiner]
US 10594760B2 · Madani et al. · 2020 [cited by applicant]
US 11936710B1 · Heikkinen et al. · 2024 [cited by applicant]
US 11936711B1 · Heikkinen et al. · 2024 [cited by applicant]
US 11956293B1 · Heikkinen · 2024 [cited by examiner]
US 20110225311A1 · Liu et al. · 2011 [cited by applicant]
US 20110225312A1 · Liu et al. · 2011 [cited by applicant]
US 20150019649A1 · De Foy et al. · 2015 [cited by applicant]
US 20150071121A1 · Patil · 2015 [cited by examiner]
US 20180213018A1 · Madani et al. · 2018 [cited by applicant]
US 20220191260A1 · Yousef et al. · 2022 [cited by applicant]
US 20240073271A1 · Heikkinen et al. · 2024 [cited by applicant]
US 20240073272A1 · Heikkinen et al. · 2024 [cited by applicant]
CN 106817721A · 2017 [cited by applicant]
WO 2021034691A1 · 2021 [cited by applicant]
WO 2021254358A1 · 2021 [cited by applicant]
“Information Technology—Dynamic adaptive streaming over HTTP(DASH)—Part 5: Server and network assisted DASH (SAND),” SO/IEC 23009-5 (2017) (5 pages). [cited by applicant]
Ahmed et al., “Video Transmission Using Device-to-Device Communications: A Survey,” IEEE Access, 7:131019-131038 (2019). [cited by applicant]
Al-Habashna, A., et al., “QoE awareness in progressive caching and DASh-based D2D video streaming in cellular networks,” Wireless Networks, 26:2051-2073 (2020). [cited by applicant]
Bakker, et al., “Peer-to-Peer Streaming Peer Protocol (PPSPP),” [retrieved on May 23, 2023 from URL: https://www.rfc-editor.org/rfc/rfc7574.html] (85 pages). [cited by applicant]
Cruz, et al., “Peer-to-Peer Streaming Peer Tracker (PPSTP),” [retrieved on May 23, 2023 from URL: https://www.rfc-editor.org/rfc/rfc7846.html] (55 pages). [cited by applicant]
Fecheyr-Lippens, “A review of http live streaming,” Internet citation (2010) (30 pages). [cited by applicant]
Girici, T., et al., “Cluestering-Based Device-to-Deivce Discovery and Content Delivery in Wireless Networks,” ITU Journal on Future and Evolving Technologies, 2(2):21-33 (2021). [cited by applicant]
Mohan et al., “Active and Passive Network Measurements: A Survey,” International Journal of Computer Science and Information Technologies, 2(4):1372-1385 (2011). [cited by applicant]
Song, Y., et al., “QoE-Driven Distributed Content Segments Sharing with Service Differentiation in D2D Network,” IEEE, 75-80 (2020). [cited by applicant]
Stockhammer et al., “Dynamic adaptive streaming over HTTP standards and design principles,” ACM MMSys'11 (2011) (3 pages). [cited by applicant]
Thomas et al., “Enhancing MPEG dash performance via server and network assistance,” IET Conference Proceedings, 1-8 (2015). [cited by applicant]
Zammit, J., et al., “Efficient Transmission of Live Multi-View Video in LTE-A Cellular Networks using D2D Cooperation,” 2020 IEEE 20th MELECON, 169-174 (2020). [cited by applicant]
Zhang et al., “DECOMOD—Collaborative DASH with Download Enhancing based on Multiple Mobile Devices Corporation,” Proceedings of the 5th ACM Multimedia Systems Conference (MMSys '14), 160-163 (2014). [cited by applicant]
U.S. Appl. No. 18/420,165, filed Jan. 23, 2024, Antti Heikkinen. [cited by applicant]