IP Library Granted Patent US 10,182,267
Granted Patent B2
US 10,182,267 · App. 15/255,799 · Granted Jan 15, 2019

Methods and apparatus for integrating media across a wide area network

Inventors: Bradley Dietrich (San Francisco, CA); Daniel Putterman (San Francisco, CA); Gregory Peters (San Francisco, CA); Richard Bullwinkle (Palo Alto, CA)
Assignee: Rovi Solutions Corporation
H04N21/6125H04L29/06H04L65/607H04L69/329H04N21/222H04N21/4227H04N21/43615H04N21/47202H04N21/632H04N21/2335
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,182,267
App. No.
15/255,799
Granted
Jan 15, 2019
Kind
B2
Abstract

A system for distributing media includes a wide area network (WAN), a media player coupled to the WAN at a first home, and a media server coupled to the WAN at a second home for providing media. A service is coupled to the WAN for receiving a request for media from the media player and for establishing a connection between the first and second homes over the WAN. Media is streamed across the WAN from the second home to the first home. The system may include a storage device coupled to the media player when media is transferred across the WAN for storage at the storage device. A media device may be coupled to the media player for playing the streamed/transferred media where the media player and the media device may comprise a television, stereo, or computer and the media item may comprise video, photographs, or audio.

Claims (85)

1. A media system comprising:

a communication interface coupled to a first digital media server and a second digital media server over a wide area network;

a processing circuit configured to:

retrieve, via the communication interface, group information from a wide area network media service on the wide area network, the group information identifying a number of user devices configured to play media that belong to a particular group and a number of digital media servers that each user device within the respective group has permission to access;

determine from the group information whether the first digital media server and the second digital media server are from a same group in the plurality of groups; and

in response to determining that the first digital media server and the second media server are from the same group:

transmit a first request, to the first digital media server, for information about media items available from the first digital media server;

transmit a second request, to the second digital media server, for information about media items available from the second digital media server;

receive, from the first digital media server, a first list of the media items available from the first digital media server, wherein the first list comprises first metadata describing each of said media items available from the first digital media server and second metadata indicating storage locations of said media items available from the first digital media server;

receive, from the second digital media server, a second list of the media items available from the second digital media server, wherein the second list comprises third metadata describing each of said media items available from the second digital media server and fourth metadata indicating storage locations of said media items available from the second digital media server;

store, in one or more data structures, the first list and the second list;

create a third list of aggregated media available from said first and second digital media servers by extracting, from the one or more data structures, the first metadata and the third metadata;

generate for display the third list;

in response to receiving a user selection of a media item from the third list, search the second and fourth metadata in the one or more data structures to identify a given metadata that is associated with the selected media item;

determine a storage location of the selected media item indicated by the given metadata that is identified from the search of the second and fourth metadata; and

transmit a request for the selected media item to one of the first and second digital media servers based on the determined storage location.

2. The media system of claim 1 , wherein said selected media item is streamed from said first digital media server to the user device.

3. The media system of claim 1 , wherein the one of the first and second digital media servers is configured to transcode said selected media item from a first digital format to a second digital format.

4. The media system of claim 1 , wherein the processing circuit is further configured to initiate a copy operation for said selected media item.

5. The media system of claim 1 , wherein the first digital media server is configured to:

receive a first file containing a first media item and fifth metadata describing the first media item;

extract, from the first file, the fifth metadata;

receive a second file containing a second media item and sixth metadata describing the second media item;

extract, from the second file, the sixth metadata;

generate the first metadata based on the fifth metadata and the sixth metadata;

store the first media item in a first storage location and the second media item in a second storage location; and

generate the second metadata based on the first storage location and the second location.

6. The media system of claim 1 , wherein the first digital media server is configured to:

receive, from said processing circuit, the first request;

based on receiving the first request, retrieve, from a memory of the first digital media server, the first and the second metadata;

based on retrieving the first and the second metadata, generate the first list; and

transmit, to said processing circuit, the first list.

7. The media system of claim 1 , wherein the processing circuit is further configured to:

issue a discovery command over the wide area network, wherein the discovery command includes a query for an announce command from each of a plurality of digital media servers accessible over the wide area network;

receive a first announce command from the first digital media server;

receive a second announce command from the second digital media server; and

based on receiving the first announce command and the second announce command, create a fourth list of the plurality of digital media servers accessible over the wide area network, wherein the fourth list comprises the first digital media server and the second digital media server.

8. The media system of claim 7 , wherein the processing circuit is further configured to:

receive a bye-bye command from the first digital media server;

based on receiving the bye-bye command:

remove the first digital media server from the fourth list;

delete the first list from the data structure; and

based on deleting the first list from the data structure, update the third list based on the data structure.

9. The media system of claim 1 , further comprising a media device, coupled to said processing circuit, configured to play said selected media item.

10. A method comprising:

retrieving group information from a wide area network media service, the group information identifying a number of user devices configured to play media that belong to a particular group and a number of digital media servers that each user device within the respective group has permission to access;

determining from the group information whether a first digital media server and a second digital media server are from a same group in the plurality of groups; and

in response to determining that the first digital media server and the second media server are from the same group:

transmitting a first request, to the first digital media server over the wide area network, for information about media items available from the first digital media server;

transmitting a second request, to the second digital media server over the wide area network, for information about media items available from the second digital media server;

receiving, from the first digital media server, a first list of the media items available from the first digital media server, wherein the first list comprises first metadata describing each of said media items available from the first digital media server and second metadata indicating storage locations of said media items available from the first digital media server;

receiving, from the second digital media server, a second list of the media items available from the second digital media server, wherein the second list comprises third metadata describing each of said media items available from the second digital media server and fourth metadata indicating storage locations of said media items available from the second digital media server;

storing, in one or more data structures, the first list and the second list;

creating a third list of aggregated media available from said first and second digital media servers by extracting, from the one or more data structures, the first metadata and the third metadata;

generating for display the third list;

in response to receiving a user selection of a media item from the third list, searching the second and fourth metadata in the one or more data structures to identify a given metadata that is associated with the selected media item;

determining a storage location of the selected media item indicated by the given metadata that is identified from the search of the second and fourth metadata; and

transmitting a request for the selected media item to one of the first and second digital media servers based on the determined storage location.

11. The method of claim 10 , further comprising receiving a stream of the selected media item.

12. The method of claim 10 , wherein the one of the first and second digital media servers processes the request for the selected media item by transcoding said selected media item from a first digital format to a second digital format, the method further comprising receiving said selected media item in the second digital media format.

13. The method of claim 10 , further comprising initiating a copy operation for said selected media item.

14. The method of claim 10 , further comprising:

receiving a first file, at the first digital media server, containing a first media item and fifth metadata describing the first media item;

extracting, at the first digital media server from the first file, the fifth metadata;

receiving, at the first digital media server, a second file containing a second media item and sixth metadata describing the second media item;

extracting, at the first digital media server from the second file, the sixth metadata;

generating, at the first digital media server, the first metadata based on the fifth metadata and the sixth metadata;

storing, at the first digital media server, the first media item in a first storage location and the second media item in a second storage location; and

generating, at the first digital media server, the second metadata based on the first storage location and the second location.

15. The method of claim 10 , wherein the first digital media server processes the first request by:

retrieving, based on receiving the first request, from a memory of the first digital media server, the first and the second metadata;

based on retrieving the first and the second metadata, generating the first list; and

transmitting the first list over the wide area network.

16. The method of claim 10 , further comprising:

issuing a discovery command over the wide area network, wherein the discovery command includes a query for an announce command from each of a plurality of digital media servers accessible over the wide area network;

receiving a first announce command from the first digital media server;

receiving a second announce command from the second digital media server; and

based on receiving the first announce command and the second announce command, creating a fourth list of the plurality of digital media servers accessible over the wide area network, wherein the fourth list comprises the first digital media server and the second digital media server.

17. The method of claim 16 , further comprising:

receiving a bye-bye command from the first digital media server;

based on receiving the bye-bye command:

removing the first digital media server from the fourth list;

deleting the first list from the data structure; and

based on deleting the first list from the data structure, updating the third list based on the data structure.

18. The method of claim 10 , further comprising causing a media device to play said selected media item.

Assignments (10)
CHANGE OF NAME Recorded Sep 25, 2024
From: ROVI SOLUTIONS CORPORATION
To: ROVI SOLUTIONS LLC
Reel/Frame 069047/0372 →
CHANGE OF NAME Recorded Sep 25, 2024
From: ROVI SOLUTIONS LLC
To: ADEIA SOLUTIONS LLC
Reel/Frame 069047/0464 →
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 →
MERGER Recorded Jul 12, 2018
From: MEDIABOLIC, INC.
To: MACROVISION CORPORATION
Reel/Frame 046572/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: DIETRICH, BRADLEY; PUTTERMAN, DANIEL; PETERS, GREGORY; BULLWINKLE, RICHARD
To: MEDIABOLIC, INC.
Reel/Frame 046334/0731 →
CHANGE OF NAME Recorded Jul 12, 2018
From: MACROVISION CORPORATION
To: ROVI SOLUTIONS CORPORATION
Reel/Frame 046334/0910 →
Continuity (2)
Continuation 11318793 · Dec 27, 2005
Related Publication 20170118529A1 · Apr 27, 2017