Patent ID: 8250600

Claim:
A method for scheduling an advertisement for rendering in one or more time slots in packet-based media programming, the method comprising the steps of: (a) obtaining, by a processor at least one keyword from one or more Internet sessions corresponding to at least one user; (b) receiving, by the processor a plurality of bid amounts corresponding to a plurality of available advertisements for the one or more time slots; and (c) the processor further adapted for scheduling, based on the at least one keyword and at least one of the bid amounts, the advertisement to be rendered to the at least one user in the one or more time slots by obtaining a selected advertisement for a group of users using a combinatorial algorithm that computes, for all combinations of advertisements i and channels d, a maximum value of θ id based on the equation: θ id = ∑ j : c ⁡ ( j ) = d ⁢ max ⁢ { v ij - u j , 0 } , where: i represents an advertisement, j represents a viewer, v ij represents the bid that an advertiser places on a given viewer j for a given advertisement i, c(j) represents the channel currently being viewed by viewer j, and u j represents a revenue value of assigning an advertisement to viewer j.