IP Library Granted Patent US 11,936,711
Granted Patent B1
US 11,936,711 · App. 17/898,648 · Granted Mar 19, 2024

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

Inventors: Antti Heikkinen (Oulu, FI); Mikko Uitto (Oulu, FI)
Assignee: Rovi Guides, Inc.
H04L65/752H04L65/80H04N21/23106H04N21/23439
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 11,936,711
App. No.
17/898,648
Granted
Mar 19, 2024
Kind
B1
Abstract

A sidelink connection is created between each device of a plurality of devices. If the sidelink connection quality is not sufficient to transmit a first version of a segment encoded at a first quality level, a lower quality version of the segment may also be retrieved. The lower quality version of the segment may be retrieved by a different device than the device that retrieved the first version of the segment. If the segment is requested from a first device by a second device and the sidelink connection between the first device and the second device is not sufficient to transmit the first version of the segment, the first device may cause transmission of the lower quality version of the segment retrieved by a third device to the second device.

Claims (78)

1. A method for media delivery in a cooperative streaming environment, the method comprising:

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

causing retrieval, from the content source, of a first version of a segment of the media encoded at a first quality level;

storing the first version of the segment in a cache of at least one device of the plurality of devices;

determining whether a sidelink connection quality level is sufficient to transmit the first version of the segment to other devices of the plurality of devices; and

in response to determining that the sidelink connection quality level is not sufficient to transmit the first version of the segment to the other devices of the plurality of devices:

causing retrieval, from the content source, of a second version of the segment of the media encoded at a second quality level, wherein the second quality level is lower than the first quality level;

storing the second version of the segment in the cache of at least one device of the plurality of devices; and

causing transmission, in response to a request from the first device, via the sidelink connection, for the segment, of the second version of the segment to the first device.

2. The method of claim 1 , wherein:

the first version of the segment is caused to be retrieved by a second device; and

the second version of the segment is caused to be retrieved by a third device.

3. The method of claim 1 , wherein:

the first version of the segment is stored in a cache of a second device; and

the second version of the segment is stored in a cache of a third device.

4. The method of claim 1 , further comprising:

causing transmission, by a device of the plurality of devices, to the content source, of a request for the first version of the segment.

5. The method of claim 1 , further comprising:

determining a connection quality level of a connection between a device of the plurality of devices and the content source; and

selecting, based on the connection quality level, the first quality level.

6. The method of claim 1 , further comprising:

selecting, based on the sidelink connection quality level, the second quality level; and

causing transmission, by a device of the plurality of devices, to the content source, of a request for the second version of the segment.

7. The method of claim 1 , wherein the first version of the segment and the second version of the segment are stored in a cache of a second device assigned by the sidelink connection to cache segments of the media.

8. The method of claim 7 , further comprising:

causing transmission of the request from the first device, via the sidelink connection, to the second device.

9. The method of claim 1 , further comprising:

detecting that the sidelink connection quality level has increased;

determining whether the increased sidelink connection quality level is sufficient to transmit a first version of a second segment of the media encoded at the first quality level;

in response to determining that the increased sidelink connection quality level is sufficient to transmit the first version of the second segment:

causing retrieval, from the content source, of the first version of the second segment;

storing the first version of the second segment in the cache of at least one device of the plurality of devices; and

causing transmission, in response to a request from the first device, via the sidelink connection, for the second segment, of the first version of the second segment to the first device.

10. The method of claim 9 , further comprising:

in response to determining that the increased sidelink connection quality level is not sufficient to transmit the first version of the second segment:

causing retrieval, from the content source, of a second version of the second segment encoded at the second quality level;

storing the second version of the second segment in the cache of at least one device of the plurality of devices; and

causing transmission, in response to a request from the first device, via the sidelink connection, for the second segment, of the second version of the second segment to the first device.

11. A system for media delivery in a cooperative streaming environment, the system comprising:

transceiver circuitry; and

control circuitry configured to:

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

cause retrieval, using the transceiver circuitry, from the content source, of a first version of a segment of the media encoded at a first quality level;

store the first version of the segment in a cache of at least one device of the plurality of devices;

determine whether a sidelink connection quality level is sufficient to transmit the first version of the segment to other devices of the plurality of devices; and

in response to determining that the sidelink connection quality level is not sufficient to transmit the first version of the segment to the other devices of the plurality of devices:

cause retrieval, using the transceiver circuitry, from the content source, of a second version of the segment of the media encoded at a second quality level, wherein the second quality level is lower than the first quality level;

store the second version of the segment in the cache of at least one device of the plurality of devices; and

cause transmission, using the transceiver circuitry, in response to a request from the first device, via the sidelink connection, for the segment, of the second version of the segment to the first device.

12. The system of claim 11 , wherein:

the first version of the segment is caused to be retrieved by a second device; and

the second version of the segment is caused to be retrieved by a third device.

13. The system of claim 11 , wherein:

the first version of the segment is stored in a cache of a second device; and

the second version of the segment is stored in a cache of a third device.

14. The system of claim 11 , wherein the control circuitry is further configured to:

cause transmission, using the transceiver circuitry, by a device of the plurality of devices, to the content source, of a request for the first version of the segment.

15. The system of claim 11 , wherein the control circuitry is further configured to:

determine a connection quality level of a connection between a device of the plurality of devices and the content source; and

select, based on the connection quality level, the first quality level.

16. The system of claim 11 , wherein the control circuitry is further configured to:

select, based on the sidelink connection quality level, the second quality level; and

cause transmission, using the transceiver circuitry, by a device of the plurality of devices, to the content source, of a request for the second version of the segment.

17. The system of claim 11 , wherein the first version of the segment and the second version of the segment are stored in a cache of a second device assigned by the sidelink connection to cache segments of the media.

18. The system of claim 17 , wherein the control circuitry is further configured to:

cause transmission, using the transceiver circuitry, of the request from the first device, via the sidelink connection, to the second device.

19. The system of claim 11 , wherein the control circuitry is further configured to:

detect that the sidelink connection quality level has increased;

determine whether the increased sidelink connection quality level is sufficient to transmit a first version of a second segment of the media encoded at the first quality level;

in response to determining that the increased sidelink connection quality level is sufficient to transmit the first version of the second segment:

cause retrieval, using the transceiver circuitry, from the content source, of the first version of the second segment;

store the first version of the second segment in the cache of at least one device of the plurality of devices; and

cause transmission, using the transceiver circuitry, in response to a request from the first device, via the sidelink connection, for the second segment, of the first version of the second segment to the first device.

20. The system of claim 19 , wherein the control circuitry is further configured to:

in response to determining that the increased sidelink connection quality level is not sufficient to transmit the first version of the second segment:

cause retrieval, using the transceiver circuitry, from the content source, of a second version of the second segment encoded at the second quality level;

store the second version of the second segment in the cache of at least one device of the plurality of devices; and

cause transmission, using the transceiver circuitry, in response to a request from the first device, via the sidelink connection, for the second segment, of the second version of the second segment to the first device.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0413 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2022
From: HEIKKINEN, ANTTI; UITTO, MIKKO
To: ROVI GUIDES, INC.
Reel/Frame 061089/0707 →