IP Library Granted Patent US 6,910,220
Granted Patent B2
US 6,910,220 · App. 10/127,122 · Granted Jun 21, 2005

Demand-based goal-driven scheduling system

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 6,910,220
App. No.
10/127,122
Granted
Jun 21, 2005
Kind
B2
Abstract

A Scheduling System is disclosed for automatically scheduling music performances as would be used in professional radio broadcasting. The general-purpose system is a demand-based, goal-oriented scheduler that can be implemented for scheduling program elements (such as songs) to create playlists. This system supports dynamic format customization based on preference feedback.

Claims (126)

1. A method of selecting and producing schedules of media performances (MPs) for play within a plurality of successive schedule positions (SPs) from among a finite plurality of MPs (MPSETs), each MP being associated with a demand value (MPD), such that the sum of the MPDs for all MPs in the MPSET is equal to a constant K, and zero or more attributes (ATTR) from a plurality of attributes, said method minimizing the failure value (FV) of one or more scheduling goals (GOALs), from a finite plurality of GOALs (GOALSET), each GOAL having a goal type (GT) and an importance value (IV),

said method comprising the steps of:

(a) storing the identity of each MP with its associated demand value (MPD) and its associated attributes (ATTRs), if any;

(b) storing the identity of each GOAL with its associated goal type (GT) and its associated importance value (IV);

(c) assigning the MPs to play in individual ones of said successive SPs, with one MP scheduled to play in each SP, such that for each SP, the assigned MP has the lowest failure value (FV) of the MPSET;

wherein the failure value (FV) for each respective MP in a given SP is calculated in accordance with the formula:

FV=TS/TIV

where TS is the sum of scores (Ss) of the applicable GOALs (AG), and TIV is the sum of the importance values (IVs) of the AGs, where an AG is any GOAL that applies to all MPs or any GOAL that applies to any of the attributes associated with the MP, and where the score (S) for each respective AG is the square of the degree of failure (DF) of the MP to satisfy the AG in the SP times the IV of the AG (S=(DF*IV)5), where DF is the result of a test for the given GT and is dependent upon the respective MP and the given SP (DF=Test GT (MP, SP));

whereby the number of SPs between successive scheduled SPs in which each respective MP is scheduled to play (MPERIOD) is as close as possible to the constant K divided by the demand value MPD for that respective MP; and

whereby the number of the SPs occupied by each respective MP divided by the total number of SPs during a given range of successive SPs is as close as possible to the demand value MPD for that MP divided by K.

2. The method defined in claim 1 , wherein each SP is associated with a sequentially assigned play number (PLAY), said method further comprising the step of sorting the MPs into a consideration list in next due order (NEXTDUE) prior to consideration for assignment to a particular SP, where

NEXTDUE=LASTPLAY+IDEALPERIOD

where LASTPLAY is the PLAY of the nearest prior SP to which the MP was assigned, or zero if the MP was not previously assigned, and where

IDEALPERIOD=(1/( MPD/K )),

wherein the FV for each of a plurality of MPs is calculated in the NEXTDUE order and the calculation of TS for any given MP is aborted when it exceeds the minimum FV thus far determined.

3. The method defined in claim 2 , wherein each MP is associated with a play deficit (DEFICIT); wherein there is a goal type (GT) “hunger” for a goal in the GOALSET that applies to all MPs, where the DF Test result of the GT “hunger” is the sum of the positive DEFICITs of the MPs in the consideration list preceding the MP being tested, divided by the sum of positive DEFICITs of all MPs in the MPSET; and wherein there is a goal type (GT) “saturation” for a goal in the GOALSET that applies to all MPs, where the DF Test result of saturation is the absolute value of the DELTA divided by 100 when DELTA is negative and is zero otherwise; said method further comprising the steps of:

(d) storing the play deficit in association with each respective MP;

(e) initializing the DEFICIT for each MP to zero;

(f) updating the DEFICIT for an MP upon assignment of the respective MP to a SP in accordance with the formula;

DEFICIT new =(DEFICIT old *DEFICIT_SCALING+DELTA)* DEFICIT_DAMPING/DEFICIT_SCALING

where DELTA=(SP.PLAY B LASTPLAY B IDEALPERIOD)*100/IDEALPERIOD,

and DEFICIT_SCALING and DEFICIT_DAMPING are constants.

4. The method defined in claim 1 , wherein each SP is associated with a sequentially assigned play number (PLAY), wherein there is a goal type (GT) “spread” for at least one of the goals in the GOALSET, said at least one goal having an associated attribute ATTR and applying to all MPs associated with the same ATTR, where the DF Test result of Aspread@ is calculated in accordance with the formula:

DF spread =MAX(0, 1−( SP. PLAY B LASTPLAY_ATTR)/ATTRPERIOD)

where ATTRPERIOD is K divided by the sum of the MPDs for those MPs associated with that ATTR,

and LASTPLAY_ATTR is the PLAY of the nearest prior SP to which an MP associated with the ATTR was assigned, or zero if no MP associated with the ATTR was previously assigned.

5. The method defined in claim 1 , wherein each SP is associated with a sequentially assigned play number (PLAY), and wherein LASTPLAY is the PLAY of the nearest prior SP to which the MP was assigned, or zero if the MP was not previously assigned, said method further comprising the step of storing the LASTPLAY of each MP in association with the respective MP.

6. The method defined in claim 1 , wherein the MP is a musical performance.

7. The method defined in claim 1 , wherein the MP is an advertisement.

8. The method defined in claim 1 , wherein the MP is a video performance.

9. The method defined in claim 1 , wherein the MP is an audio performance.

10. The method defined in claim 1 , wherein the MP is an animation.

11. The method defined in claim 1 , wherein the MP is a web page element.

12. The method defined in claim 1 , wherein the MP is a web page.

13. The method defined in claim 1 , wherein each MP is associated with one of a plurality of categories of music, and wherein step (a) includes the steps of:

(1) storing the music category in association with each respective MP;

(2) calculating the demand value MPD for each respective MP in accordance with the formula:

MPD=CD/N×DS,

where

MPD is the demand value for a given MP,

CD is the station demand for the category associated with the given MP;

N is the total number of MPs associated with the category; and

DS is a prescribed demand share for the given MP.

14. The method defined in claim 13 , wherein DS is set equal to a constant.

15. The method defined in claim 14 , wherein DS=1.

16. The method defined in claim 13 , wherein at least one subset of said plurality of MPs forms a packet of affiliated MPs, and wherein DS is set equal to a constant for each MP that is not in a packet and is set equal to this constant divided by P for each MP that is in the packet, where P is the total number of MPs in the packet.

17. The method defined in claim 16 , wherein the constant equals 1.

18. The method defined in claim 13 , wherein each MP is associated with at least one of a plurality of artists, wherein some of said plurality of MPs are included for depth, and wherein the demand value of each depth MP is separately calculated in accordance with the formula:

MPD d =CD/TAD×DS,

where MPD d is the demand value for the depth MP and TAD is the total artist demand for the respective artist and category, which equals the DS sum for all the MPs of the respective category performed by the respective artist.

19. The method defined in claim 1 , wherein each MP is performed by at least one of a plurality of artists, said method further comprising the steps of:

(d) storing an initial maximum artist demand for at least one of said plurality of artists;

(e) adjusting the demand value MPD for each of said MPs performed by said at least one artist in dependence upon an initial MP demand for the respective MP and the maximum artist demand for the respective artist who performed that MP.

20. The method defined in claim 19 , wherein said adjusting step (e) comprises the steps of:

(1) summing all the MPDs for MPs performed by each respective artist to yield a total MP demand for that artist;

(2) comparing the total of all MPDs for each respective artist to the maximum artist demand for that artist;

(3) if the total of all MPDs for a given artist is less than the maximum artist demand for that artist, allowing the MPDs for MPs performed by that artist to remain unchanged; and

(4) if the total of all MPDs for a given artist is greater than the maximum artist demand for that artist, decreasing the MPDs for MPs performed by that artist.

21. The method defined in claim 20 , wherein steps (1)-(4) are repeatedly carried out until all total MPDs are less than the respective maximum artist demands for each respective artist.

22. The method defined in claim 21 , wherein the maximum artist demand for each of the artists is the same.

23. The method defined in claim 21 , wherein each category is associated with a pass number, wherein the MPDs are decreased in step (4) by multiplying by a scaling factor associated with the pass associated with the category associated with the respective MP and wherein the scaling factor is determined by the formula:

space = 1.0

for(first pass through last pass)

{

artist.pass.scalefactor = space

newDemand = space * artist.pass.demand

space = space − (space * newDemand/maxArtistDemand

* (MAX_DEMAND_FACTOR

− (space * newDemand / maxArtistDemand *

MAX_DEMAND_FACTOR)))

}

where artist.pass.demand is the sum of the MPDs whose associated category is associated with that pass,

where maxArtistDemand is the maximum artist demand, and

where MAX_DEMAND_FACTOR is a constant.

24. The method defined in claim 23 , wherein MAX_DEMAND_FACTOR=1.8.

25. The method defined in claim 3 , wherein a separate schedule with independent SPs is created for each individual consumer, said method further comprising the steps of varying LASTPLAY and DEFICIT for each consumer, for each MP.

26. The method defined in claim 25 , wherein the consumer can elect to ban at least one of the MPs, causing any such banned MPs to be removed from the MPSET.

27. The method defined in claim 25 , wherein the consumer can elect to ban at least one of the ATTRs, causing any MPs associated with such banned ATTRs to be removed from the MPSET.

28. The method defined in claim 3 , wherein a separate schedule with independent SPs is created for each individual consumer, wherein one or more categories are designated depth categories, and wherein each MP associated with said one or more categories is included for depth only if the consumer elects to include at least one of the respective MP's associated artists, and wherein each MP associated with said one or more categories is removed from the MPSET if it is not included for depth.

29. The method defined in claim 25 , wherein the consumer can elect to boost the play of one or more MPs, said method comprising the additional steps of:

a) storing the boost amount (BOOST) for one or more MPs; and

b) adjusting the MPDs for said one or more MPs in accordance with the formula:

MPDnew=boostDemand(MPDold,BOOST),

where boostDemand is determined by the formula:

boostDemand(demand, shift)

{

if(shift > 1)

demand = boostDemand(demand,shift − 1);

return demand + demand *

1/pow(BOOST_FACTOR,log(demand*BOOST_SCALING));

},

where BOOST_FACTOR and BOOST_SCALING are constants.

30. The method defined in claim 29 , where BOOST_FACTOR=1.52.

31. The method defined in claim 29 , where BOOST_SCALING=1000.

32. The method defined in claim 25 , wherein the consumer can elect to boost one or more ATTRS, said method comprising the additional steps of:

a) storing the boost amount (ATTR_BOOST) for one or more ATTRs; and

b) adjusting the MPDs for MPs associated with said ATTRs in accordance with the formula:

MPDnew=MPDold+(MPDold/ATTR_DEMAND*ATTR_DELTA),

 where ATTR_DEMAND is the sum of the MPDs for all MPs associated with the ATTR,

and ATTR_DELTA is calculated in accordance with the formula:

ATTR_DELTA=boostDemand(ATTR_DEMAND, ATTR_BOOST)−ATTR_DEMAND,

where boostDemand is determined by the formula:

boostDemand(demand, shift)

{

if(shift > 1)

demand = boostDemand(demand, shift − 1);

return demand + demand *

1/pow(BOOST FACTOR, log(demand*BOOST_SCALING));

}

where BOOST_FACTOR and BOOST_SCALING are constants.

33. The method defined in claim 32 , where BOOST_FACTOR=1.52.

34. The method defined in claim 32 , where BOOST_SCALING=1000.

35. The method defined in claim 25 , wherein the consumer can elect to reduce one or more MPs, said method comprising the additional steps of:

a) storing a reduce amount (REDUCE) for one or more MPs; and

b) adjusting the MPDs for said MPs in accordance with the formula:

MPDnew=MPDold*(REDUCE_FACTOR raised to the REDUCE power),

where REDUCE_FACTOR is a constant.

36. The method defined in claim 35 , where REDUCE_FACTOR=0.7.

37. The method defined in claim 25 , wherein the consumer can elect to reduce one or more ATTRs, said method comprising the additional steps of:

a) storing a reduce amount (ATTR_REDUCE) for one or more ATTRs; and

b) adjusting the MPDs for MPs associated with said ATTRs in accordance with the formula:

MPDnew=MPDold+(MPDold/ATTR_DEMAND*ATTR_DELTA),

 where ATTR_DEMAND is the sum of the MPDs for all MPs associated with the ATTR,

and ATTR_DELTA is calculated in accordance with the formula:

ATTR_DELTA=(ATTR_DEMAND*(REDUCE_FACTOR raised to the ATTR_REDUCE power))−ATTR_DEMAND.

38. The method defined in claim 37 , where REDUCE_FACTOR=0.7.

Assignments (18)
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: BANK OF AMERICA, N.A., AS SUCCESSOR COLLATERAL AGENT TO CITIBANK, N.A., AS COLLATERAL AGENT
To: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 075557/0138 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 050017/0882) Recorded Jan 1, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0626 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 049067/0800) Recorded Dec 31, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0423 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (REEL/FRAME 049079/0814) Recorded Dec 31, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
To: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 069795/0488 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Feb 5, 2020
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: BANK OF AMERICA, N.A., AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 052144/0833 →
PATENT SECURITY AGREEMENT Recorded Nov 23, 2019
From: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U. S. BANK NATIONAL ASSOCIATION
Reel/Frame 051143/0579 →
SECURITY INTEREST Recorded Aug 9, 2019
From: IHEART COMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050017/0882 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 034008/0027 Recorded May 10, 2019
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: AMFM RADIO LICENSES, LLC; CAPSTAR RADIO OPERATING COMPANY; CAPSTAR TX, LLC; CITICASTERS CO.; CITICASTERS LICENSES, INC.; CLEAR CHANNEL BROADCASTING LICENSES, INC.; IHEARMEDIA + ENTERTAINMENT, INC.; AMFM TEXAS BROADCASTING, LP; CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.; CLEAR CHANNEL INVESTMENTS, INC.
Reel/Frame 049149/0773 →
RELEASE OF THE SECURITY INTEREST RECORDED AT REEL/FRAME 035109/0168 Recorded May 10, 2019
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: AMFM RADIO LICENSES, LLC; CAPSTAR RADIO OPERATING COMPANY; CAPSTAR TX, LLC; CITICASTERS CO.; CITICASTERS LICENSES, INC.; CLEAR CHANNEL BROADCASTING LICENSES, INC.; IHEARMEDIA + ENTERTAINMENT, INC.; AMFM TEXAS BROADCASTING, LP; IHEARTMEDIA MANAGEMENT SERVICES, INC.; CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.
Reel/Frame 049149/0714 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION AS COLLATERAL AGENT
Reel/Frame 049067/0800 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 049079/0814 →
SECURITY INTEREST Recorded May 2, 2019
From: IHEARTCOMMUNICATIONS, INC.; IHEARTMEDIA MANAGEMENT SERVICES, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 049067/0606 →
SECURITY AGREEMENT Recorded Feb 27, 2015
From: IHEARTMEDIA MANAGEMENT SERVICES, INC.; CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 035109/0168 →
CHANGE OF NAME Recorded Oct 21, 2014
From: CLEAR CHANNEL MANAGEMENT SERVICES, INC.
To: IHEARTMEDIA MANAGEMENT SERVICES, INC.
Reel/Frame 034026/0037 →
SECURITY AGREEMENT Recorded Oct 15, 2014
From: CLEAR CHANNEL MANAGEMENT SERVICES, INC.; CLEAR CHANNEL INVESTMENTS, INC.; CLEAR CHANNEL COMMUNICATIONS, INC.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL AGENT
Reel/Frame 034008/0027 →
CHANGE OF NAME Recorded Feb 9, 2009
From: CLEAR CHANNEL MANAGEMENT SERVICES, LP.
To: CLEAR CHANNEL MANAGEMENT SERVICES, INC.
Reel/Frame 022266/0342 →
MERGER Recorded Feb 9, 2009
From: RADIO COMPUTING SERVICES, INC.
To: CLEAR CHANNEL MANAGEMENT SERVICES, L.P.
Reel/Frame 022259/0975 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2002
From: HICKEY, RICHARD J.; WEBBER, WILLIAM W.
To: RADIO COMPUTING SERVICES, INC.
Reel/Frame 012827/0418 →