IP Library Granted Patent US 11,514,099
Granted Patent B2
US 11,514,099 · App. 17/008,362 · Granted Nov 29, 2022

Media sharing across service providers

Inventors: Ron Kuper (Arlington, MA); Joni Hoadley (Santa Barbara, CA)
Assignee: Sonos, Inc.
G06F16/48G06F16/24562G06F16/44G06F16/635H04L65/60H04L67/10
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,514,099
App. No.
17/008,362
Granted
Nov 29, 2022
Kind
B2
Abstract

Embodiments including methods and apparatus to share file and file recommendations are disclosed. Data is received indicating a particular media item from a first service provider, where the particular media item is accessible from the first service provider according to a first pointer. A second pointer is identified in a database according to which the particular media item is accessible from a second service provider. Data indicating the second pointer is transmitted to a media playback system, via at least one of a WAN or a LAN.

Claims (50)

1. A first computing device comprising:

at least one processor;

a non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor so that the first computing device is configured to:

receive, from a first user that has access to media items from a first service, (i) a selection of a given media item that is available to the first user from the first service and (ii) an indication that the given media item has been recommended by the first user;

obtain a first pointer to the given media item that is available to the first user from the first service;

determine that the given media item has been requested by a second user via a second computing device associated with the second user; and

based on determining that the given media item has been requested by the second user, transmit to a networked computing device (a) the first pointer and (b) an instruction for the networked computing device to (i) determine that the second user has access to the given media item and (ii) transmit the given media item to the second computing device associated with the second user.

2. The first computing device of claim 1 , wherein the program instructions that are executable by the at least one processor so that the first computing device is configured to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device comprise program instructions that are executable by the at least one processor so that the first computing device is configured to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device to:

determine that the second user has access to the given media item from the first service; and

transmit, to the second computing device associated with the second user, the first pointer to the given media item.

3. The first computing device of claim 1 , wherein the first pointer comprises a first uniform resource locator (URL) or a first uniform resource indicator (URI).

4. The first computing device of claim 1 , wherein the program instructions that are executable by the at least one processor so that the first computing device is configured to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device comprise program instructions that are executable by the at least one processor so that the first computing device is configured to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device to:

determine that the second user has access to the given media item from a second service;

obtain a second pointer to the given media item that is available from the second service; and

transmit, to the second computing device associated with the second user, the second pointer to the given media item.

5. The first computing device of claim 4 , wherein the second pointer comprises a second uniform resource locator (URL) or a first uniform resource indicator (URI).

6. The first computing device of claim 1 , wherein the program instructions that are executable by the at least one processor so that the first computing device is configured to determine that the given media item has been requested by a second user via the second computing device associated with the second user comprise program instructions that are executable by the at least one processor so that the first computing device is configured to:

determine that the given media item has not been requested by the second user via the second computing device associated with the second user; and

after determining that the given media item has not been requested by the second user via the second computing device associated with the second user, determine that the given media has been requested by the second user via the second computing device associated with the second user.

7. The first computing device of claim 1 , wherein the program instructions that are executable by the at least one processor so that the first computing device is configured to obtain the first pointer comprise program instructions that are executable by the at least one processor so that the first computing device is configured to obtain the first pointer from the non-transitory computer-readable storage medium.

8. The first computing device of claim 1 , wherein the program instructions that are executable by the at least one processor so that the first computing device is configured to obtain the first pointer comprise program instructions that are executable by the at least one processor so that the first computing device is configured to obtain the first pointer from the first service.

9. The first computing device of claim 1 , wherein the second computing device associated with the second user comprises a media playback device associated with the second user.

10. The first computing device of claim 1 , wherein the program instructions that are executable by the at least one processor so that the first computing device is configured to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device further comprise program instructions that are executable by the at least one processor so that the first computing device is configured to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device to:

add the given media item to a playback queue associated with the second user.

11. A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a first computing device to:

receive, from a first user that has access to media items from a first service, (i) a selection of a given media item that is available to the first user from the first service and (ii) an indication that the given media item has been recommended by the first user;

obtain a first pointer to the given media item that is available to the first user from the first service;

determine that the given media item has been requested by a second user via a second computing device associated with the second user; and

based on determining that the given media item has been requested by the second user, transmit to a networked computing device (a) the first pointer and (b) an instruction for the networked computing device to (i) determine that the second user has access to the given media item and (ii) transmit the given media item to the second computing device associated with the second user.

12. The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by the at least one processor, cause the first computing device to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device comprise program instructions that, when executed by the at least one processor, cause the first computing device to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device to:

determine that the second user has access to the given media item from the first service; and

transmit, to the second computing device associated with the second user, the first pointer to the given media item.

13. The non-transitory computer-readable medium of claim 11 , wherein the first pointer comprises a first uniform resource locator (URL) or a first uniform resource indicator (URI).

14. The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by the at least one processor, cause the first computing device to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device comprise program instructions that, when executed by the at least one processor, cause the first computing device to transmit to the networked computing device (a) the first pointer and (b) the instruction for the networked computing device to:

determine that the second user has access to the given media item from a second service;

obtain a second pointer to the given media item that is available from the second service; and

transmit, to the second computing device associated with the second user, the second pointer to the given media item.

15. The non-transitory computer-readable medium of claim 14 , wherein the second pointer comprises a second uniform resource locator (URL) or a first uniform resource indicator (URI).

16. The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by the at least one processor, cause the first computing device to determine that the given media item has been requested by a second user via the second computing device associated with the second user comprise program instructions that, when executed by the at least one processor, cause the first computing device to:

determine that the given media item has not been requested by the second user via the second computing device associated with the second user; and

after determining that the given media item has not been requested by the second user via the second computing device associated with the second user, determine that the given media has been requested by the second user via the second computing device associated with the second user.

17. The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by the at least one processor, cause the first computing device to obtain the first pointer comprise program instructions that, when executed by the at least one processor, cause the first computing device to obtain the first pointer from the non-transitory computer-readable storage medium.

18. The non-transitory computer-readable medium of claim 11 , wherein the program instructions that, when executed by the at least one processor, cause the first computing device to obtain the first pointer comprise program instructions that, when executed by the at least one processor, cause the first computing device to obtain the first pointer from the first service.

19. The non-transitory computer-readable medium of claim 11 , wherein the second computing device associated with the second user comprises a media playback device associated with the second user.

20. A method carried out by a first computing device, the method comprising:

receiving, from a first user that has access to media items from a first service, (i) a selection of a given media item that is available to the first user from the first service and (ii) an indication that the given media item has been recommended by the first user;

obtaining a first pointer to the given media item that is available to the first user from the first service;

determining that the given media item has been requested by a second user via a second computing device associated with the second user; and

based on determining that the given media item has been requested by the second user, transmitting to a networked computing device (a) the first pointer and (b) an instruction for the networked computing device to (i) determine that the second user has access to the given media item and (ii) transmit the given media item to the second computing device associated with the second user.

Assignments (2)
SECURITY AGREEMENT Recorded Oct 15, 2021
From: SONOS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058123/0206 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: KUPER, RON; HOADLEY, JONI
To: SONOS, INC.
Reel/Frame 054778/0136 →