IP Library Granted Patent US 12,010,383
Granted Patent B2
US 12,010,383 · App. 17/525,149 · Granted Jun 11, 2024

Systems and methods for switching content providers to maintain streaming experience

Inventors: Vijay Kumar (Karnataka, IN); Vikram Makam Gupta (Karnataka, IN)
Assignee: Rovi Guides, Inc.
H04N21/4516H04L65/61H04L65/80H04N21/41407H04N21/442H04N21/4667
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,010,383
App. No.
17/525,149
Granted
Jun 11, 2024
Kind
B2
Abstract

Systems and methods are described herein for selecting content providers based on performance scores of the respective content providers. The system monitors the performance of a content provider, where the performance is based on the quality of service for receiving a media content item from the content provider. Based on the monitored performance, the system may determine if an adequate performance is not achievable. In response to determining that an adequate performance is not achievable, the system compares the performance of the content provider to the performance of a second content provider and provides, on the user device, the media content item from the second content provider.

Claims (71)

1. A computer-implemented method comprising:

receiving, at a user device, a request for a media content item; and

in response to receiving the request for the media content item:

(i) identifying a first application from a first content provider for receiving the media content item;

(ii) determining, using control circuitry, at a first geographic location of the user device, whether receiving, over a communication channel, the media content item using a second application from a second content provider will provide better performance than receiving, over the communication channel, the media content item using the first application from the first content provider;

(iii) in response to determining that receiving the media content item using the second application from the second content provider will provide better performance than receiving the media content item using the first application from the first content provider, transmitting a request using the second application to the second content provider for the media content item;

(iv) receiving the second content item and displaying the second content item on the user device; and

(v) determining, using the control circuitry, at a second geographic location of the user device, whether receiving, over the communication channel, the media content item using the second application from the second content provider will provide better performance than receiving, over the communication channel, the media content item using the first application from the first content provider, wherein a time elapsed in between (ii) and (v) is less than a predefined threshold duration, during which the user device travels from the first geographical location to the second geographical location.

2. The computer-implemented method of claim 1 , further comprising receiving at least a first portion of the media content item at the user device using the first application from the first provider.

3. The computer-implemented method of claim 2 , further comprising:

determining a resumption time within the media content item from the second content provider which is after the first portion of the media content item;

wherein the request for the media content item transmitted using the second application to the second content provider comprises a request for the media content item at the resumption time.

4. The computer-implemented method of claim 1 , further comprising:

determining a performance value for the user device to receive the media content item using the first application from the first content provider;

determining that the performance value is below a threshold value and, in response, performing the determining whether receiving the media content item using the second application from the second content provider will provide better performance than receiving the media content item using the first application from the first content provider.

5. The computer-implemented method of claim 4 , wherein determining the performance value comprises:

determining a plurality of weights for a respective plurality of quality of service characteristics for receiving media content items, wherein the respective plurality of quality of service characteristics for receiving media content items comprise at least one selected from the group of a video resolution, a frame rate, or a bit error rate; and

determining the performance value based on the plurality of quality of service characteristic and on the plurality of weights.

6. The computer-implemented method of claim 1 , further comprising:

determining a first performance value for the user device to receive the media content item using the first application from the first content provider;

determining a second performance value for the user device to receive the media content item using the second application from the second content provider;

wherein determining whether receiving the media item using the second application from the second content provider will provide better performance than receiving the media content item using the first application from the first content provider comprises determining whether the second performance value is greater than the first performance value.

7. A computer-implemented method comprising:

receiving, at a server computer, a request for a first media content item to be provided to a user device; and

in response to receiving the request for the media content item:

(i) identifying a first application from a first content provider for providing the media content item to the user device;

(ii) determining, using control circuitry, when the user device is at a first geographical location, whether a second content provider providing the media content item through a second application to the user device will provide better performance than the first content provider providing the media content item through the first application to the user device;

(iii) in response to determining that the second content provider providing the media content item through a second application to the user device will provide better performance than the first content provider providing the media content item through the first application to the user device, causing transmitting of the content item from the second content provider to the user device through the second application; and

(iv) determining, using the control circuitry, when the user device is at a second geographical location, whether receiving, over the communication channel, the media content item using the second application from the second content provider will provide better performance than receiving, over the communication channel, the media content item using the first application from the first content provider, wherein a time elapsed in between (ii) and (iv) is less than a predefined threshold duration, during which the user device travels from the first geographical location to the second geographical location.

8. The computer-implemented method of claim 7 , wherein causing transmitting of the content item from the second content provider to the user device through the second application comprises causing the user device to transmit a request to the second content provider through the second application for the media content item.

9. The computer-implemented method of claim 7 , wherein causing transmitting of the content item from the second content provider to the user device through the second application comprises sending a request to the second content provider to transmit the second media content item to the user device through the second application.

10. The computer-implemented method of claim 7 , wherein at least a first portion of the media content item is received at the user device using the first application from the first provider prior to the determining whether the second content provider providing the media content item through the second application to the user device will provide better performance than the first content provider providing the media content item through the first application to the user device.

11. The computer-implemented method of claim 10 , further comprising:

determining a resumption time within the media content item from the second content provider which is after the first portion of the media content item;

wherein causing transmitting of the content item from the second content provider to the user device through the second device comprises causing a second portion of the media content item to be transmitted to the user device starting at the resumption time.

12. The computer-implemented method of claim 7 , further comprising:

determining a performance value for the user device to receive the media content item using the first application from the first content provider;

determining that the performance value is below a threshold value and, in response, performing the determining whether the second content provider providing the media content item through the second application to the user device will provide better performance than the first content provider providing the media content item through the first application to the user device.

13. The computer-implemented method of claim 7 , wherein determining the performance value comprises:

determining a plurality of weights for a respective plurality of quality of service characteristics for receiving media content items, wherein the respective plurality of quality of service characteristics for receiving media content items comprise at least one selected from the group of a video resolution, a frame rate, or a bit error rate; and

determining the performance value based on the plurality of quality of service characteristic and on the plurality of weights.

14. The computer-implemented method of claim 7 , further comprising:

determining a first performance value for the user device to receive the media content item using the first application from the first content provider;

determining a second performance value for the user device to receive the media content item using the second application from the second content provider;

wherein determining whether the second content provider providing the media content item through the second application to the user device will provide better performance than the first content provider providing the media content item through the first application to the user device comprises determining whether the second performance value is greater than the first performance value.

15. A system comprising:

control circuitry configured to:

receive, at a user device, a request for a media content item; and

in response to receiving the request for the media content item:

(i) identify a first application from a first content provider for receiving the media content item; and

(ii) determine, at a first geographic location of the user device, whether receiving, over a communication channel, the media content item using a second application from a second content provider will provide better performance than receiving, over the communication channel, the media content item using the first application from the first content provider;

communications circuitry configured to:

(iii) in response to the control circuitry determining that receiving the media content item using the second application from the second content provider will provide better performance than receiving the media content item using the first application from the first content provider, transmit a request using the second application to the second content provider for the media content item;

(iv) receive the second content item and displaying the second content item on the user device; and

the control circuitry further configured to:

(v) determine, at a second geographic location of the user device, whether receiving, over the communication channel, the media content item using the second application from the second content provider will provide better performance than receiving, over the communication channel, the media content item using the first application from the first content provider, wherein a time elapsed in between (ii) and (v) is less than a predefined threshold duration, during which the user device travels from the first geographical location to the second geographical location.

16. The system of claim 15 , wherein the communications circuitry is further configured to receive at least a first portion of the media content item at the user device using the first application from the first provider.

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

determine a resumption time within the media content item from the second content provider which is after the first portion of the media content item;

wherein the request for the media content item transmitted using the second application to the second content provider comprises a request for the media content item at the resumption time.

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

determine a performance value for the user device to receive the media content item using the first application from the first content provider;

determine that the performance value is below a threshold value and, in response, perform the determining whether receiving the media content item using the second application from the second content provider will provide better performance than receiving the media content item using the first application from the first content provider.

19. The system of claim 15 , wherein, when determining the performance value, the control circuitry is configured to:

determine a plurality of weights for a respective plurality of quality of service characteristics for receiving media content items, wherein the respective plurality of quality of service characteristics for receiving media content items comprise at least one selected from the group of a video resolution, a frame rate, or a bit error rate; and

determine the performance value based on the plurality of quality of service characteristic and on the plurality of weights.

20. The system of claim 15 ,

wherein the control circuitry is further configured to:

determine a first performance value for the user device to receive the media content item using the first application from the first content provider;

determine a second performance value for the user device to receive the media content item using the second application from the second content provider;

wherein, when determining whether receiving the media item using the second application from the second content provider will provide better performance than receiving the media content item using the first application from the first content provider, the control circuitry is further configured to: determine whether the second performance value is greater than the first performance value.

Assignments (3)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0231 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2021
From: KUMAR, VIJAY; GUPTA, VIKRAM MAKAM
To: ROVI GUIDES, INC.
Reel/Frame 058099/0048 →
Continuity (3)
Continuation 17182409 · Feb 23, 2021
Continuation 16417261 · May 20, 2019
Related Publication 20220078517A1 · Mar 10, 2022
Cited By (1)
US 12,495,183