IP Library Granted Patent US 10,657,169
Granted Patent B2
US 10,657,169 · App. 15/450,230 · Granted May 19, 2020

Systems, methods, and computer readable medium for generating playlists

Inventors: David Rodger (Arlington, MA); Daniel Stowell (Cambridge, MA); Paul E. Linton (Medford, MA); Kevin Sweeney (Medford, MA); Paul Lamere (Nashua, NH)
Assignee: Spotify AB
G06F16/4387G06F16/2365G06F16/639
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,657,169
App. No.
15/450,230
Granted
May 19, 2020
Kind
B2
Abstract

Methods, systems and computer program products are provided for generating a playlist. An application programming interface (API) receives a request to generate a playlist, where the request includes a set of rule-primitives. A playlist engine evaluator evaluates a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content, calculates a cost associated with each item in the catalog of media content, and generates a playlist based on the items of the catalog having the lowest costs.

Claims (34)

1. An apparatus for generating a playlist, comprising:

a processor coupled to a memory and a catalog database, and configured to function as:

a playlist engine evaluator configured to:

evaluate a rule corresponding to each rule-primitive in a set of rule-primitives across a catalog of media content stored in the catalog database;

evaluate a set of corresponding weights respectively associated with one or more rule-primitives;

calculate a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive; and

generate a playlist based on the items of the catalog having the lowest rule costs.

2. The apparatus according to claim 1 , wherein the playlist engine evaluator is further configured to compute, for each item of the catalog, a plurality of rule costs associated with a corresponding plurality of rules, and

accumulate the plurality of costs for each item.

3. The apparatus according to claim 1 , wherein the playlist engine evaluator is further configured to calculate the rule cost of each item in the catalog based on a playlist history.

4. The apparatus according to claim 1 , wherein the playlist engine evaluator processes the rules across each item in the catalog iteratively using a heuristic search algorithm.

5. The apparatus according to claim 4 , wherein the heuristic search algorithm is a beam search algorithm.

6. A method for generating a playlist, comprising the steps of:

evaluating a rule corresponding to each rule-primitive in a set of rule-primitives across a catalog of media content stored in a content database;

evaluating a set of corresponding weights respectively associated with one or more rule-primitives;

calculating a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive;

generating a playlist based on the items of the catalog having the lowest rule costs.

7. The method according to claim 6 , further comprising the steps of:

computing for each item of the catalog a plurality of rule costs associated with a corresponding plurality of rules; and

accumulating the plurality of rule costs for each item.

8. The method according to claim 6 , wherein a playlist history is an input to the calculating and the rule cost associated with each item is adjusted based on previously played items.

9. The method according to claim 6 , wherein, the rules are performed across each item in the catalog iteratively using a heuristic search algorithm.

10. The method according to claim 9 , wherein the heuristic search algorithm is a beam search algorithm.

11. A non-transitory computer-readable medium having stored thereon one or more sequences of instructions for causing one or more processors to perform:

evaluating a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content stored in a content database;

evaluating a set of corresponding weights respectively associated with one or more rule-primitives;

calculating a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive; and

generating a playlist based on the items of the catalog having the lowest rule costs.

12. The computer-readable medium of claim 11 , further having stored thereon a sequence of instructions for causing the one or more processors to perform:

computing for each item of the catalog a plurality of rule costs associated with a corresponding plurality of rules; and

accumulating the plurality of rule costs for each item.

13. The computer-readable medium of claim 11 , wherein a playlist history is an input to the calculating and the rule cost associated with each item is adjusted based on previously played items.

14. The computer-readable medium of claim 11 , wherein, the rules are performed across each item in the catalog iteratively using a heuristic search algorithm.

15. The computer-readable medium according to claim 14 , wherein the heuristic search algorithm is a beam search algorithm.

Continuity (3)
Continuation 14213906 · Mar 14, 2014
Provisional Application 61798745 · Mar 15, 2013
Related Publication 20170177585A1 · Jun 22, 2017