IP Library Granted Patent US 11,263,253
Granted Patent B2
US 11,263,253 · App. 16/787,863 · Granted Mar 1, 2022

Retrieving and playing out media content for a personalized playlist

Inventor: Venkatarama Anilkumar Panguluri (Milpitas, CA)
Assignee: Gracenote Digital Ventures, LLC
G06F16/4387
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,263,253
App. No.
16/787,863
Granted
Mar 1, 2022
Kind
B2
Abstract

An example method involves receiving a playlist defining a sequence of media content items including a first media content item and a second media content item; retrieving, from one or more server devices, first data representing the media content items of the received playlist, and using the retrieved first data to play out the media content items in accordance with the sequence defined by the playlist; making a determination of whether a condition has been satisfied, wherein the condition corresponds to a content category type; and responsive to the determination being that the condition has been satisfied, (i) retrieving second data representing a media content item of the content category type, and (ii) using the retrieved second data to play out the media content item of the content category type in between playing out the first and second media content items.

Claims (77)

1. A method comprising:

receiving, by a client device, a playlist defining a sequence of media content items including a first media content item and a second media content item, wherein the first and second media content items are immediately adjacent to each other in the defined sequence, wherein in the sequence, the first media content item is immediately followed by the second media content item;

retrieving, by the client device, from one or more server devices, first data representing the media content items of the received playlist, and using the retrieved first data to play out the media content items; and

while playing out at least one of the media content items represented by the retrieved first data:

making, by the client device, a determination of whether a condition has been satisfied, wherein the condition comprises a condition that a content category type has a particular relationship with at least one of the media content items that has been played out, wherein the particular relationship is at least that a threshold duration has passed since the client device has played out another media content item of the content category type, and wherein the content category type is one of a plurality of different predetermined content category types; and

responsive to the determination being that the condition has been satisfied, (i) retrieving, by the client device, from the one or more server devices, second data representing a media content item that has the content category type and that is not specified in the accessed playlist, and (ii) using, by the client device, the retrieved second data to play out the media content item of the content category type in between playing out the first and second media content items.

2. The method of claim 1 , wherein the retrieved playlist is outlined by a playlist template defining a sequence of media content placeholders for media content attribute data, and

wherein media content attribute data of a particular media content placeholder of the sequence of media content placeholders includes one or more of:

a quantity tag specifying a quantity of media content items that the one or more server devices is configured to select for the media content placeholder, or

a type tag specifying a particular content category type of media content item that the one or more server devices is configured to select for the media content placeholder.

3. The method of claim 1 , wherein making the determination while playing out at least one of the media content items represented by the retrieved first data comprises making the determination after at least one of the media content items represented by the retrieved first data has been played out, and

wherein retrieving second data representing the media content item of the content category type while playing out at least one of the media content items represented by the retrieved first data comprises retrieving second data representing the media content item of the content category type after at least one of the media content items represented by the retrieved first data has been played out.

4. The method of claim 3 , wherein making the determination while playing out at least one of the media content items represented by the retrieved first data comprises making the determination while the first media content item is being played out, and

wherein retrieving second data representing the media content item of the content category type while playing out at least one of the media content items represented by the retrieved first data comprises retrieving second data representing the media content item of the content category type while the first media content item is being played out.

5. The method of claim 1 , wherein the condition comprises a condition that the first media content item is within a particular position with respect to the sequence defined by the playlist.

6. The method of claim 1 , wherein the particular relationship is further that the client device has played out a threshold number of media content items of the content category type.

7. A non-transitory computer-readable medium having stored thereon program instructions that when executed by a processor cause performance of a set of functions, the set of functions comprising:

receiving a playlist defining a sequence of media content items including a first media content item and a second media content item, wherein the first and second media content items are immediately adjacent to each other in the defined sequence, wherein in the sequence, the first media content item is immediately followed by the second media content item;

retrieving, from one or more server devices, first data representing the media content items of the received playlist, and using the retrieved first data to play out the media content items; and

while playing out at least one of the media content items represented by the retrieved first data:

making a determination of whether a condition has been satisfied, wherein the condition comprises a condition that a content category type has a particular relationship with at least one of the media content items that has been played out, wherein the particular relationship is at least that a threshold duration has passed since the client device has played out another media content item of the content category type, and wherein the content category is one of a plurality of different predetermined content category types; and

responsive to the determination being that the condition has been satisfied, (i) retrieving, from the one or more server devices, second data representing a media content item that has the content category type and that is not specified in the accessed playlist, and (ii) using the retrieved second data to play out the media content item of the content category type in between playing out the first and second media content items.

8. The computer-readable medium of claim 7 , wherein the retrieved playlist is outlined by a playlist template defining a sequence of media content placeholders for media content attribute data, and

wherein media content attribute data of a particular media content placeholder of the sequence of media content placeholders includes one or more of:

a quantity tag specifying a quantity of media content items that the one or more server devices is configured to select for the media content placeholder, or

a type tag specifying a particular content category type of media content item that the one or more server devices is configured to select for the media content placeholder.

9. A client computing device comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon program instructions that, when executed by the processor, cause the client computing device to perform a set of operations comprising:

receiving a playlist defining a sequence of media content items including a first media content item and a second media content item, wherein the first and second media content items are immediately adjacent to each other in the defined sequence, wherein in the sequence, the first media content item is immediately followed by the second media content item;

retrieving, from one or more server devices, first data representing the media content items of the received playlist, and using the retrieved first data to play out the media content items; and

while playing out at least one of the media content items represented by the retrieved first data:

making a determination of whether a condition has been satisfied, wherein the condition comprises a condition that a content category type has a particular relationship with at least one of the media content items that has been played out, wherein the particular relationship is at least that is threshold duration has passed since the client device has played out another media content item of the content category type, and wherein the content category type is one of a plurality of different predetermined content category types; and

responsive to the determination being that the condition has been satisfied, (i) retrieving, from the one or more server devices, second data representing a media content item that has the content category type and that is not specified in the accessed playlist, and (ii) using the retrieved second data to play out the media content item of the content category type in between playing out the first and second media content items.

10. The client computing device of claim 9 , wherein the retrieved playlist is outlined by a playlist template defining a sequence of media content placeholders for media content attribute data, and

wherein media content attribute data of a particular media content placeholder of the sequence of media content placeholders includes one or more of:

a quantity tag specifying a quantity of media content items that the one or more server devices is configured to select for the media content placeholder, or

a type tag specifying a particular content category type of media content item that the one or more server devices is configured to select for the media content placeholder.

11. The client computing device of claim 9 , wherein the particular relationship is further that the client computing device has played out a threshold number of media content items of the content category type.

12. A method comprising:

accessing, by a computing device, a playlist defining a sequence of media content items including a first media content item and a second media content item, wherein the first and second media content items are immediately adjacent to each other in the defined sequence, wherein in the sequence, the first media content item is immediately followed by the second media content item;

while a client device is playing out at least one of the media content items:

making, by the computing device, a determination of whether a condition has been satisfied, wherein the condition comprises a condition that a content category type has a particular relationship with at least one of the media content items that has been played out, wherein the particular relationship is at least that is threshold duration has passed since the client device has played out another media content item of the content category type, and wherein the content category type is one of a plurality of different predetermined content category types; and

responsive to the determination being that the condition has been satisfied, (i) retrieving, by the computing device, data representing a media content item that has the content category type and that is not specified in the accessed playlist, and (ii) transmitting, by the computing device, to the client device, the retrieved data representing the media content item of the content category type, for playout in between playout of the first and second media content items.

13. The method of claim 12 , wherein the retrieved playlist is outlined by a playlist template defining a sequence of media content placeholders for media content attribute data, and

wherein media content attribute data of a particular media content placeholder of the sequence of media content placeholders includes one or more of:

a quantity tag specifying a quantity of media content items that the computing device is configured to select for the media content placeholder, or

a type tag specifying a particular content category type of media content item that the computing device is configured to select for the media content placeholder.

14. The method of claim 12 , wherein the condition further comprises a condition that the first media content item is within a particular position with respect to the sequence defined by the playlist.

15. The method of claim 12 , further comprising:

before accessing the playlist:

determining a set of attributes associated with a user of the client device; and

generating the playlist based on the determined set of attributes.

16. A non-transitory computer-readable medium having stored thereon program instructions that when executed by a processor cause performance of a set of functions, the set of functions comprising:

accessing a playlist defining a sequence of media content items including a first media content item and a second media content item, wherein the first and second media content items are immediately adjacent to each other in the defined sequence, wherein in the sequence, the first media content item is immediately followed by the second media content item;

while a client device is playing out at least one of the media content items:

making a determination of whether a condition has been satisfied, wherein the condition comprises a condition that a content category type has a particular relationship with at least one of the media content items that has been played out, wherein the particular relationship is at least that a threshold duration has passed since the client device has played out another media content item of the content category type, and wherein the content category type is one of a plurality of different predetermined content category types; and

responsive to the determination being that the condition has been satisfied, (i) retrieving data representing a media content item that has the content category type and that is not specified in the accessed playlist, and (ii) transmitting to the client device, the retrieved data representing the media content item of the content category type, for playout in between playout of the first and second media content items.

17. The computer-readable medium of claim 16 , wherein the retrieved playlist is outlined by a playlist template defining a sequence of media content placeholders for media content attribute data, and

wherein media content attribute data of a particular media content placeholder of the sequence of media content placeholders includes one or more of:

a quantity tag specifying a quantity of media content items that one or more server devices are configured to select for the media content placeholder, or

a type tag specifying a particular content category type of media content item that the one or more server devices are configured to select for the media content placeholder.

18. The non-transitory computer-readable medium of claim 16 , the set of functions further comprising:

before accessing the playlist:

determining a set of attributes associated with a user of the client device; and

generating the playlist based on the determined set of attributes.

19. A server computing device comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon program instructions that, when executed by the processor, cause the server computing device to perform a set of operations comprising:

accessing a playlist defining a sequence of media content items including a first media content item and a second media content item, wherein the first and second media content items are immediately adjacent to each other in the defined sequence, wherein in the sequence, the first media content item is immediately followed by the second media content item;

while a client device is playing out at least one of the media content items:

making a determination of whether a condition has been satisfied, wherein the condition comprises a condition that a content category type has a particular relationship with at least one of the media content items that has been played out, wherein the particular relationship is at least that a threshold duration has passed since the client device has played out another media content item of the content category type, and wherein the content category type is one of a plurality of different predetermined content category types; and

responsive to the determination being that the condition has been satisfied, (i) retrieving data representing a media content item that has the content category type and that is not specified in the accessed playlist, and (ii) transmitting to the client device, the retrieved data representing the media content item of the content category type, for playout in between playout of the first and second media content items.

20. The server computing device of claim 19 , wherein the retrieved playlist is outlined by a playlist template defining a sequence of media content placeholders for media content attribute data, and

wherein media content attribute data of a particular media content placeholder of the sequence of media content placeholders includes one or more of:

a quantity tag specifying a quantity of media content items that the one or more server devices is configured to select for the media content placeholder, or

a type tag specifying a particular content category type of media content item that the one or more server devices is configured to select for the media content placeholder.

Assignments (10)
SECURITY INTEREST Recorded Jan 28, 2026
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 074516/0114 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
CHANGE OF NAME Recorded Feb 12, 2020
From: TRIBUNE DIGITAL VENTURES, LLC
To: GRACENOTE DIGITAL VENTURES, LLC
Reel/Frame 051904/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2020
From: PANGULURI, VENKATARAMA ANILKUMAR
To: TRIBUNE DIGITAL VENTURES, LLC
Reel/Frame 051904/0358 →