IP Library Granted Patent US 10,360,179
Granted Patent B2
US 10,360,179 · App. 15/253,873 · Granted Jul 23, 2019

Cloud-based content collection and distribution system

Inventors: Joshua Danovitz (San Carlos, CA); Todd Kulick (Mountain View, CA); Paul Stevens (Felton, CA); Joe Sinnott (Palo Alto, CA); Scott Redman (Fremont, CA); Roland Besserer (Felton, CA)
Assignee: TIVO SOLUTIONS INC.
G06F16/125G06F16/152G06F16/43G06F16/783G06F16/951H04N21/2743H04N21/2747H04N21/4788H04N21/8456H04L67/10H04L67/1097H04N21/2387
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,360,179
App. No.
15/253,873
Granted
Jul 23, 2019
Kind
B2
Abstract

A cloud-based media content management system for managing access to media content items is disclosed. Managing access to media content items by a cloud-based media content management system may include, for example, managing uploads of media content items from a population of media devices, reducing duplication of media content data stored in cloud-based storage, and providing user-controlled access to media content items stored in cloud-based storage across any number of user devices. In this context, a cloud-based media content management system and cloud-based storage system generally refer to hosted computing and data storage services that may be accessed by media devices and other devices over a digital network such as the Internet.

Claims (61)

1. A method, comprising:

receiving, from a media device associated with a user account, a segment identification value identifying a segment of a media content item comprising a plurality of segments;

determining, based on the segment identification value, a quality of the segment of the media content;

determining, based on the quality of the segment that was determined from the segment identification value, whether a specified number of copies of the segment of the media content item having the determined quality were received by, or are being uploaded to, a cloud storage system;

in response to determining that less than the specified number of copies of the segment of the media content having the determined quality were received by, or are being uploaded to, the cloud storage system, sending instructions to the media device to send the segment of the media content item to the cloud storage system;

storing metadata associated with the user account, the metadata indicating that the segment sent by the media device is associated with the user account.

2. The method of claim 1 , further comprising receiving, from the media device, an identifier of the user account.

3. The method of claim 1 , wherein the number of copies of the segment of the media content item having the determined quality that were received by, or are being uploaded to, the cloud storage system includes copies of the segment currently being uploaded by other media devices to the cloud storage system.

4. The method of claim 1 , wherein the specified number of copies is greater than one.

5. The method of claim 1 , further comprising:

receiving, from the media device associated with the user account, a second segment identification value associated with a second segment of the media content item;

determining, based at least on the second segment identification value, to instruct the media device not to upload the second segment to the cloud storage system;

in response to determining to instruct the media device not to upload the second segment, sending, to the media device, a command not to upload the second segment.

6. The method of claim 1 , wherein determining whether to instruct the media device to upload the segment to the cloud storage system is based in part on historical segment quality information for the media device.

7. The method of claim 1 , wherein determining whether to instruct the media device to upload the segment to the cloud storage system is based in part on determining whether the media device is designated as a preferred uploader.

8. The method of claim 1 , further comprising:

receiving, from a second media device associated with the user account, a request for the media content item;

identifying, based on the media content item and the user account, a series of segments for the media content item;

generating, based on the identified series of segments, a data stream to send to the second media device;

sending the data stream to the media device.

9. One or more non-transitory computer-readable medium, storing one or more sequences of instructions, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform:

receiving, from a media device associated with a user account, a segment identification value identifying a segment of a media content item comprising a plurality of segments;

determining, based on the segment identification value, a quality of the segment of the media content item;

determining, based on the quality of the segment that was determined from the segment identification value, whether a specified number of copies of the segment of the media content item having the determined quality were received by, or are being uploaded to, a cloud storage system;

in response to determining that less than the specified number of copies of the segment of the media content having the determined quality were received by, or are being uploaded to, the cloud storage system, sending instructions to the media device to send the segment of the media content item to the cloud storage system;

storing metadata associated with the user account, the metadata indicating that the segment sent by the media device is associated with the user account.

10. The one or more non-transitory computer-readable medium of claim 9 , further comprising receiving, from the media device, an identifier of the user account.

11. The one or more non-transitory computer-readable medium of claim 9 , wherein the number of copies of the segment of the media content item having the determined quality that were received by, or are being uploaded to, the cloud storage system includes copies of the segment currently being uploaded by other media devices to the cloud storage system.

12. The one or more non-transitory computer-readable medium of claim 9 , wherein the specified number of copies is greater than one.

13. The one or more non-transitory computer-readable medium of claim 9 , wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to further perform:

receiving, from the media device associated with the user account, a second segment identification value associated with a second segment of the media content item;

determining, based at least on the second segment identification value, to instruct the media device not to upload the second segment to the cloud storage system;

in response to determining to instruct the media device not to upload the second segment, sending, to the media device, a command not to upload the second segment.

14. The one or more non-transitory computer-readable medium of claim 9 , wherein determining whether to instruct the media device to upload the segment to the cloud storage system is based in part on historical segment quality information for the media device.

15. The one or more non-transitory computer-readable medium of claim 9 , wherein determining whether to instruct the media device to upload the segment to the cloud storage system is based in part on determining whether the media device is designated as a preferred uploader.

16. The one or more non-transitory computer-readable medium of claim 9 , wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to further perform:

receiving, from a second media device associated with the user account, a request for the media content item;

identifying, based on the media content item and the user account, a series of segments for the media content item;

generating, based on the identified series of segments, a data stream to send to the second media device;

sending the data stream to the media device.

17. An apparatus, comprising:

a media device communications receiver that receives, from a media device associated with a user account, a segment identification value identifying a segment of a media content item comprising a plurality of segments;

a media content collector that:

determines, based on the segment identification value, a quality of the segment of the media content item; and

determines, based on the quality of the segment that was determined from the segment identification value, whether a specified number of copies of the segment of the media content item having the determined quality were received by, or are being uploaded to, a cloud storage system;

wherein in response to determining that less than the specified number of copies of the segment of the media content having the determined quality were received by, or are being uploaded to, the cloud storage system, the media content collector sends instructions to the media device to send the segment of the media content item to the cloud storage system; and

a storage device that stores metadata associated with the user account, the metadata indicating that the segment sent by the media device is associated with the user account.

18. The apparatus of claim 17 , wherein the media device communications receiver receives, from the media device, an identifier of the user account.

19. The apparatus of claim 17 , wherein the number of copies of the segment of the media content item having the determined quality that were received by, or are being uploaded to, the cloud storage system includes copies of the same segment currently being uploaded by other media devices to the cloud storage system.

20. The apparatus of claim 17 , wherein the specified number of copies is greater than one.

21. The apparatus of claim 17 , further comprising:

wherein the media device communications receiver receives, from the media device associated with the user account, a second segment identification value associated with a second segment of the media content item;

wherein the media content collector determines, based at least on the second segment identification value, to instruct the media device not to upload the second segment to the cloud storage system;

wherein the media content collector in response to determining to instruct the media device not to upload the second segment, sends, to the media device, a command not to upload the second segment.

22. The apparatus of claim 17 , wherein determining whether to instruct the media device to upload the segment to the cloud storage system is based in part on historical segment quality information for the media device.

23. The apparatus of claim 17 , wherein determining whether to instruct the media device to upload the segment to the cloud storage system is based in part on determining whether the media device is designated as a preferred uploader.

24. The apparatus of claim 17 , further comprising:

wherein the media device communications receiver receives, from a second media device associated with the user account, a request for the media content item;

a media content distributor that identifies, based on the media content item and the user account, a series of segments for the media content item;

wherein the media content distributor generates, based on the identified series of segments, a data stream to send to the second media device;

wherein the media content distributor sends the data stream to the media device.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ROVI PRODUCT CORPORATION (AS SUCCESSOR-IN-INTEREST TO TIVO SOLUTIONS, INC.)
Reel/Frame 061788/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: ADEIA MEDIA SOLUTIONS INC.
To: ROVI PRODUCT CORPORATION
Reel/Frame 061503/0518 →
CHANGE OF NAME Recorded Oct 21, 2022
From: TIVO SOLUTIONS INC.
To: ADEIA MEDIA SOLUTIONS INC.
Reel/Frame 061744/0964 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2017
From: DANOVITZ, JOSHUA; KULICK, TODD; STEVENS, PAUL; SINNOTT, JOE; REDMAN, SCOTT; BESSERER, ROLAND
To: TIVO INC.
Reel/Frame 044248/0951 →
CHANGE OF NAME Recorded Feb 3, 2017
From: TIVO INC.
To: TIVO SOLUTIONS INC.
Reel/Frame 041170/0436 →
Continuity (4)
Continuation 14705938 · May 6, 2015
Provisional Application 62048788 · Sep 10, 2014
Provisional Application 61989466 · May 6, 2014
Related Publication 20160371290A1 · Dec 22, 2016