KR20190070937A - 광고 배치 충돌을 해결하기 위한 시스템 및 방법 - Google Patents

광고 배치 충돌을 해결하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190070937A
KR20190070937A KR1020197013576A KR20197013576A KR20190070937A KR 20190070937 A KR20190070937 A KR 20190070937A KR 1020197013576 A KR1020197013576 A KR 1020197013576A KR 20197013576 A KR20197013576 A KR 20197013576A KR 20190070937 A KR20190070937 A KR 20190070937A
Authority
KR
South Korea
Prior art keywords
parameters
parameter
conflict
score
determining
Prior art date
Application number
KR1020197013576A
Other languages
English (en)
Inventor
사무엘 메이어
Original Assignee
로비 가이드스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로비 가이드스, 인크. filed Critical 로비 가이드스, 인크.
Publication of KR20190070937A publication Critical patent/KR20190070937A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0243Comparative campaigns

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

광고 배치 충돌을 해결하기 위한 시스템 및 방법이 본원에 설명된다. 구체적으로, 광고 슬롯에 광고를 분배하기 위해 다수의 파라미터가 시스템에 입력될 수 있다. 많은 경우, 이러한 파라미터의 조합은 시스템에서 충돌을 일으키며, 여기서 광고를 광고 슬롯에 배치하기 위해 모든 파라미터가 적용될 수 없다. 충돌은 최저 우선 순위를 갖는 최소의 개수의 파라미터를 위반하는 최적의 해결책에 도달하기 위해 어떠한 파라미터가 완화될 수 있는지를 결정하는 광고 할당 모델을 사용하여 해결될 수 있다. 이러한 해결책이 발견되면, 광고 할당 모델이 수정될 수 있고, 광고는 수정된 광고 할당 모델에 기초하여 광고 슬롯에 배치될 수 있다.

Description

광고 배치 충돌을 해결하기 위한 시스템 및 방법
본 출원은 2016년 10월 13일자로 출원된 미국 가출원 제62/407,759호의 이익을 주장하며, 그 개시 내용은 전체로 본원에 참고로 통합된다.
현재 다양한 광고 할당 시스템이 사용자에게 이용 가능하다. 이들 시스템 중 일부는 사용자(예를 들어, 광고주)가 복수의 광고를 복수의 광고 슬롯에 각각 할당할 수 있게 한다. 특정 경우에, 이러한 할당은 광고가 광고 슬롯에 적절하게 할당되는 것을 막는 충돌을 생성한다. 현재의 광고 할당 시스템은 이러한 충돌을 처리할 수 없다.
따라서, 본원에는 광고 배치 충돌을 해결하기 위한 시스템 및 방법이 설명된다. 구체적으로, 복수의 파라미터가 광고 슬롯에 광고를 할당하기 위해 시스템에 입력될 수 있다. 예를 들어, 파라미터 중 하나는 특정 기간 동안 100만 달러 미만의 비용을 특정 광고주에게 유지하도록 시스템에 명령할 수 있다. 다른 파라미터는 특정 기간 동안 상이한 광고주 간에 광고 슬롯을 균등하게 분산하도록 시스템에 명령할 수 있다. 일부 예에서, 이러한 파라미터의 조합은 시스템에서 충돌을 야기하며, 여기서 시스템은 광고를 광고 슬롯에 배치하기 위해 모든 파라미터를 적용할 수 없다. 충돌은 가장 낮은 우선 순위를 갖는 최소 개수의 파라미터를 위반하는 최적의 해결책에 도달하기 위해 어떠한 파라미터가 완화될 수 있는지를 결정하는 광고 할당 모델을 사용하여 해결될 수 있다. 이러한 해결책이 발견되면, 광고 할당 모델이 수정될 수 있고, 광고는 수정된 광고 할당 모델에 기초하여 광고 슬롯에 배치될 수 있다.
일부 양태에서, 광고 할당 어플리케이션은 광고 배치 충돌을 해결하는 데 사용될 수 있다. 광고 배치 충돌을 해결하기 위한 시스템은 광고 할당 어플리케이션을 사용하여 설명될 것이라는 점에 유의해야 한다. 그러나, 시스템은 상이한 하드웨어 구성에서 하나 이상의 어플리케이션을 사용하여 구현될 수 있다.
광고 할당 어플리케이션은 광고를 광고 슬롯에 배치하기 위해 사용되는 광고 할당 모델에 포함된 복수의 파라미터를 수신할 수 있다. 구체적으로, 광고 할당 어플리케이션은, 복수의 광고가 복수의 광고 슬롯에 어떻게 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신할 수 있다. 예를 들어, 3명의 광고주로부터의 10개의 가능한 다른 광고(예를 들어, 1명의 광고주로부터의 4개의 광고 및 다른 2명의 광고주 각각으로부터의 3개의 광고)를 배치하기 위해 5개의 광고 슬롯이 이용 가능할 수 있다. 입력 파라미터와 함께 이러한 정보(예를 들어, 각각의 광고주는 적어도 하나의 광고 슬롯 및 다른 적절한 입력 파라미터를 가져야 함)가 광고 할당 모델을 구성할 수 있다. 광고 할당 모델은 임의의 다른 및 임의의 개수의 파라미터를 포함할 수 있다. 예를 들어, 다른 파라미터는, 광고주 A가 그의 모든 광고를 광고 슬롯에 배치해야 한다는 것을 나타낼 수 있다.
광고 할당 어플리케이션은 이용 가능한 광고 슬롯에 광고를 배치할 때 모든 파라미터가 적절히 적용될 수 있는지 여부를 결정하기 위해 광고 할당 모델을 분석할 수 있다. 예를 들어, 광고 할당 어플리케이션은 복수의 파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당을 시뮬레이팅할 수 있다. 광고 할당 어플리케이션은 모델의 각 파라미터를 통해 반복하고, 이들 파라미터에 기초하여 광고를 광고 슬롯에 할당하는 것을 시뮬레이팅할 수 있다. 모든 파라미터가 광고 슬롯에 적용될 때, 광고 할당 어플리케이션은 시뮬레이션 결과를 생성할 수 있다.
일부 예에서, 시뮬레이션 결과는 적어도 하나의 파라미터를 위반하지 않고는 모든 파라미터가 광고 슬롯에 적용되지 못할 수 있음을 나타낼 수 있다. 구체적으로, 광고 할당 어플리케이션은 시뮬레이팅에 기초하여, 복수의 파라미터 중의 하나의 파라미터를 위반하지 않고 복수의 광고 슬롯에 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정할 수 있다. 상술한 예를 계속하면, 광고 할당 모델은 5개의 광고 슬롯, 10개의 광고 및 3명의 광고주를 포함할 수 있으며, 여기서, 제1 광고주는 4개의 광고를 갖고 제2 및 제3 광고주는 각각 3개의 광고를 갖는다. 광고 할당 모델은 2개의 파라미터를 가질 수 있다. 제1 파라미터는, 각 광고주가 적어도 하나의 광고 슬롯을 할당받아야 함을 나타낼 수 있는 반면, 제2 파라미터는, 4개의 광고를 갖는 광고주가 각각의 광고를 광고 슬롯에 채워야 함을 나타낼 수 있다. 훨씬 더 복잡한 광고 할당 모델이 광고 할당 어플리케이션에 의해 프로세싱될 수 있으며, 이러한 특정 광고 할당 모델은 설명의 목적으로 사용된다는 점에 유의해야 한다.
광고 할당 어플리케이션은, 이러한 파라미터가 충돌을 일으키기 때문에, 양쪽 파라미터가 광고 슬롯에 적용될 수 없는 것으로 결정할 수 있다. 구체적으로, 각각의 광고주가 하나의 광고 슬롯을 얻는다면, 5개의 광고 슬롯만 존재하므로, 4개의 광고를 가진 광고주는 각각의 광고에 대해 광고 슬롯을 할당받을 수 없다. 그 반대의 경우 또한 마찬가지로, 4개의 광고를 갖는 광고주가 각각의 광고에 대해 광고 슬롯을 할당받는다면, 각 광고주는 총 5개의 광고 슬롯 중 적어도 하나의 광고 슬롯을 할당받을 수 없다.
광고 할당 어플리케이션은, 상술한 결정에 응답하여, 충돌을 해결하려고 시도할 수 있다. 구체적으로, 광고 할당 어플리케이션은 결정에 응답하여, 복수의 파라미터 중의 각 파라미터에 대한 각각의 파라미터 스코어를 검색할 수 있으며, 여기서 각 파라미터 스코어는 대응 파라미터의 중요도를 나타낸다. 상술한 예에서, 광고 할당 어플리케이션은 제1 파라미터에 대한 파라미터 스코어를 검색할 수 있다. 파라미터 스코어는, 시스템이 다른 날에 다른 광고 슬롯을 광고주에게 할당할 수 있기 때문에, 제1 파라미터가 특히 중요하지 않을 수 있음을 나타낼 수 있다. 따라서, 제1 파라미터와 연관된 파라미터 스코어는 낮은 수(예를 들어, 5)일 수 있다. 그러나, 제2 파라미터는, 예를 들어, 그 광고 슬롯에 대해 제1 광고주에 대해 계약상의 의무가 있기 때문에 매우 중요할 수 있다. 따라서, 제2 파라미터 스코어는 높을 수 있다(예를 들어, 50).
광고 할당 어플리케이션은 검색된 파라미터 스코어에 기초하여 광고 할당 모델에 대한 총 파라미터 스코어를 계산할 수 있다. 예를 들어, 광고 할당 어플리케이션은 상술한 검색된 2개의 파라미터 스코어의 합(즉, 55)을 계산할 수 있다. 일부 실시예에서, 파라미터 스코어는 특정 광고 할당 모델에서의 특정 파라미터의 중요도에 기초하여 가중화될 수 있다.
미디어 가이던스는 후술하는 액션을 취함으로써 광고 할당 모델로부터 제거하기 위한 적어도 하나의 파라미터를 식별할 수 있다. 광고 할당 어플리케이션은 적어도 하나의 충돌 파라미터를 선택할 수 있으며, 광고 할당 모델로부터 그 충돌 파라미터를 제거하면 충돌을 해결할 수 있다. 상기 예시된 광고 할당 모델은 다른 파라미터를 포함할 수 있다. 예를 들어, 제3 파라미터는, 제2 광고주가 적어도 하나의 광고 슬롯을 가져야 한다는 것을 나타낼 수 있다. 또한, 제4 파라미터는, 제3 광고주가 적어도 하나의 광고 슬롯을 가져야 한다는 것을 나타낼 수 있다. 제3 및 제4 파라미터 각각은 5의 파라미터 스코어를 가질 수 있다. 이 예에서, 광고 할당 어플리케이션은 제2 파라미터 또는 제1 파라미터를 제거하는 것이 충돌을 해결하는 것으로 식별할 수 있다.
광고 할당 어플리케이션은 충돌을 해결하기 위해 하나 이상의 파라미터를 제거하는 것을 토대로 파라미터 스코어를 계산할 수 있다. 구체적으로, 광고 할당 어플리케이션은 광고 할당 모델에서의 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어를 계산할 수 있으며, 여기서 각각 계산된 상이한 총 파라미터 스코어는 광고 할당 모델로부터의, 적어도 하나의 충돌 파라미터 중 상이한 것의 제거에 기초한다. 예를 들어, 상술한 광고 모델에서, 4개의 파라미터는 스코어의 합이 65일 수 있다. 광고 할당 어플리케이션은, 제1 및 제2 파라미터가 충돌하고, 이들 파라미터 중 하나를 제거하는 것이 충돌을 해결하는 것으로 결정할 수 있다. 광고 할당 어플리케이션은 우선 제1 파라미터를 배제하고 그 후 제2 파라미터를 배제하거나, 그 반대로 파라미터의 합을 계산하여, 제1 파라미터가 없는 파라미터의 합이 60이고 제2 파라미터가 없는 합이 15인 것으로 결정할 수 있다.
광고 할당 어플리케이션은 총 파라미터 스코어가 최소로 변경되고 최소의 파라미터가 제거되는, 모든 파라미터의 서브세트를 결정할 수 있다. 구체적으로, 광고 할당 어플리케이션은 상이한 총 파라미터 스코어에 기초하여, 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터의 복수의 파라미터의 구성을 결정할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 제1 파라미터가 제거된 파라미터 스코어의 합이 최소 변경을 구성하기 때문에 제1 파라미터가 제거되는 구성을 선택할 수 있다. 일부 실시예에서, 상이한 파라미터를 제거하는 것이 동일한 총 파라미터 스코어를 갖는 복수의 구성으로 이어지는 복수의 구성이 식별될 수 있다는 점에 유의해야 한다. 이러한 예에서, 광고 할당 어플리케이션은 최소 개수의 파라미터가 제거되는 구성을 결정할 수 있다. 일부 실시예에서, 상이한 구성은 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘(feasibility relaxation algorithm)을 사용하여 식별될 수 있다. 일부 실시예에서, 광고 할당 어플리케이션은 광고 할당 모델에 대한 변경의 총 수를 최소화할 수 있다. 이러한 변경은 제거된 파라미터의 수와 총 파라미터 스코어의 변경 모두를 포함할 수 있다.
광고 할당 어플리케이션은 결정된 구성에 기초하여 광고 할당 모델을 수정할 수 있다. 구체적으로, 광고 할당 어플리케이션은 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 구성에 따라 광고 할당 모델로부터 적어도 하나의 충돌 파라미터를 제거하도록 광고 할당 모델을 수정할 수 있다. 예를 들어, 광고 할당 어플리케이션은 상기 예시된 광고 할당 모델에서 제1 파라미터를 제거할 수 있다.
광고 할당 어플리케이션은 수정된 광고 할당 모델에 기초하여 복수의 광고 슬롯에 복수의 광고를 할당할 수 있다.
일부 실시예에서, 각각의 파라미터는 시스템 파라미터 스코어 및 사용자-정의 파라미터 스코어를 가질 수 있다. 시스템 파라미터 스코어는 광고 할당 어플리케이션을 관리하고 유지하는 엔티티에 의해 할당될 수 있는 반면, 사용자-정의 파라미터 스코어는 광고 할당 모델에 파라미터를 입력하는 광고주 또는 사용자에 의해 할당될 수 있다. 광고 할당 어플리케이션은 후술하는 액션을 취함으로써 복수의 파라미터 중 각 파라미터에 대한 파라미터 스코어를 검색할 수 있다.
광고 할당 어플리케이션은 시스템 파라미터 스코어에 더하여 어떤 파라미터가 연관된 사용자-정의 스코어를 갖는지를 결정할 수 있다. 구체적으로, 광고 할당 어플리케이션은 복수의 파라미터에서 파라미터의 제1 서브세트를 생성할 수 있으며, 여기서 파라미터의 제1 서브세트의 각각의 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 갖는다. 예를 들어, 광고 할당 어플리케이션은, 상기 예시된 제1 파라미터 및 제3 파라미터가 시스템 파라미터 스코어에 더하여 사용자-정의 파라미터 스코어를 갖는 것으로 결정할 수 있다.
광고 할당 어플리케이션은, 시스템 파라미터 스코어가 사용자-정의 파라미터 스코어에 의해 후순위화(overridden)될 수 있는 방식으로 사용자-정의 파라미터 스코어를 갖는 각각의 파라미터가 구성되는지 여부를 결정할 수 있다. 구체적으로, 광고 할당 어플리케이션은 파라미터의 제1 서브세트의 각 파라미터에 대해, 시스템 파라미터 스코어가 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 결정할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 제1 파라미터에 대한 시스템 파라미터 스코어가 후순위화될 수 있는 반면, 제3 파라미터에 대한 시스템 파라미터 스코어는 후순위화될 수 없는 것으로 결정할 수 있다.
광고 할당 어플리케이션은 후순위화될 수 있는 파라미터 스코어 및 후순위화될 수 없는 파라미터 스코어를 갖는 파라미터를 식별할 수 있다. 구체적으로, 광고 할당 어플리케이션은 후순위화될 수 있는 시스템 파라미터 스코어를 갖는 파라미터의 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성할 수 있고, 후순위화될 수 없는 시스템 파라미터 스코어를 포함하는 파라미터의 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 제1 및 제3 파라미터 각각이 후순위화될 수 있는지 여부에 기초하여, 제1 파라미터를 하나의 서브세트에 할당하고 제3 파라미터를 상이한 서브세트에 할당할 수 있다.
광고 할당 어플리케이션은 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 제3 서브세트에 대한 시스템 파라미터 스코어를 검색할 수 있다. 예를 들어, 광고 할당 어플리케이션은 제1 파라미터에 대한 사용자-정의 파라미터 스코어 및 제2 파라미터에 대한 시스템 파라미터 스코어를 검색할 수 있다.
일부 실시예에서, 광고 할당 어플리케이션은 어떠한 구성을 선택할지를 결정하기 위해 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 사용할 수 있다. 구체적으로, 광고 할당 어플리케이션은 상이한 총 파라미터 스코어에 기초하여, 상이한 구성으로부터의 복수의 파라미터의 구성을 결정할 때, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행할 수 있다. 예를 들어, 광고 할당 어플리케이션은 광고 및 광고 슬롯과 함께 광고 할당 모델의 파라미터를 알고리즘을 실행하는 서버에 송신할 수 있고, 파라미터 사이에 충돌을 일으키지 않고 광고를 광고 슬롯에 배치하는 데 사용될 수 있는 상이한 구성을 응답으로 수신한다.
일부 실시예에서, 광고 할당 어플리케이션은 후술하는 액션을 수행함으로써 광고 할당 모델로부터의 제거가 충돌을 해결하는 적어도 하나의 충돌 파라미터를 결정할 수 있다. 광고 할당 어플리케이션은 각각의 파라미터 스코어에 기초하여 복수의 파라미터의 각 파라미터를 등급화할 수 있으며, 여기서 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관된다. 예를 들어, 광고 할당 어플리케이션은 3개의 파라미터를 갖는 광고 할당 모델을 프로세싱할 수 있다. 제1 파라미터는 50의 파라미터 스코어를 가질 수 있다. 제2 파라미터는 10의 파라미터 스코어를 가질 수 있고, 제3 파라미터는 5의 파라미터 스코어를 가질 수 있다. 광고 할당 어플리케이션은 제3 파라미터를 최고로, 제2 파라미터는 두번째로 높게, 제1 파라미터를 최저로 등급화할 수 있다.
광고 할당 어플리케이션은 복수의 파라미터로부터 최고-등급의 파라미터를 제거함으로써 제2 복수의 파라미터를 선택할 수 있다. 상술한 예를 계속하면, 광고 할당 어플리케이션은 상술한 광고 할당 모델로부터 제3 파라미터를 제거하고, 제2 복수의 파라미터에 대해 제1 및 제2 파라미터를 선택할 수 있다.
광고 할당 어플리케이션은 제2 복수의 파라미터를 상이한 구성 중 각 구성의 파라미터와 비교할 수 있다. 예를 들어, 광고 할당 어플리케이션은 제1 및 제2 파라미터를, 충돌을 해결하는 각각의 구성의 파라미터와 비교할 수 있다.
광고 할당 어플리케이션은, 제2 복수의 파라미터가 충돌을 해결하는 구성 중 하나에 대응하는지 여부를 결정할 수 있다. 구체적으로, 광고 할당 어플리케이션은, 제2 복수의 파라미터와 상이한 구성 중 각 구성의 파라미터와의 비교에 기초하여, 제2 복수의 파라미터가 상이한 구성 중 임의의 구성과 매칭되는지 여부를 결정할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 비교에 기초하여, 제1 및 제2 파라미터만을 포함하는, 충돌을 해결하는 구성이 존재하는지 여부를 결정할 수 있다.
광고 할당 어플리케이션은, 제2 복수의 파라미터가 상이한 구성 중의 구성과 매칭되는 것으로 결정한 것에 응답하여, 적어도 하나의 충돌 파라미터가 최고-등급 파라미터인 것으로 결정할 수 있다. 상술한 예를 계속하면, 제2 파라미터가 적어도 하나의 충돌 파라미터인 것으로 결정될 수 있다.
일부 실시예에서, 광고 할당 어플리케이션은, 제2 복수의 파라미터가 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정한 것에 응답하여, 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택할 수 있다. 상술한 예를 계속하면, 제1 및 제2 파라미터를 제거하는 것이 충돌을 해결하는 구성 중 하나와 매칭되지 않으면, 광고 할당 어플리케이션은 광고 할당 모델로부터의 제거를 위해 다음의 최고-등급 파라미터(즉, 제2 파라미터)를 선택할 수 있다.
광고 할당 어플리케이션은 제2 최고-등급 파라미터 없이 복수의 파라미터를 선택할 수 있다. 구체적으로, 광고 할당 어플리케이션은 제3 복수의 파라미터를 상이한 구성 중 각 구성의 파라미터와 비교할 수 있다. 예를 들어, 광고 할당 어플리케이션은 충돌을 해결하는 각각의 구성에 대한 파라미터를 제1 및 제3 파라미터와 비교할 수 있다.
광고 할당 어플리케이션은 제2 최고-등급 파라미터를 제거하는 것이 충돌을 해결하지 않는 것으로 결정할 수 있다. 광고 할당 어플리케이션은, 제3 복수의 파라미터와 상이한 구성 중 각각의 구성의 파라미터와의 비교에 기초하여, 제3 복수의 파라미터가 상이한 구성 중 임의의 구성과 매칭되지 않는 것으로 결정할 수 있다(즉, 단지 제2 최고-등급 파라미터만을 제거한, 충돌을 해결하는 하나의 구성이 있음). 예를 들어, 광고 할당 어플리케이션은, 제1 및 제3 파라미터만을 포함하는, 충돌을 해결하는 구성이 존재하지 않는 것으로 결정할 수 있다.
광고 할당 어플리케이션은 광고 할당 모델로부터 2개의 최고-등급 파라미터를 제거하고, 그 액션이 충돌을 해결하는지 여부를 결정할 수 있다. 구체적으로, 광고 할당 어플리케이션은 제4 복수의 파라미터를 상이한 구성 중 각각의 파라미터와 비교할 수 있으며, 여기서 제4 복수의 파라미터는 최고-등급 파라미터 및 제2 최고-등급 파라미터가 모두 없는 제1 복수의 파라미터를 포함한다. 예를 들어, 광고 할당 어플리케이션은 제3 및 제2 파라미터를 제거하고, 충돌을 해결하는 제1 파라미터와 단지 매칭되는 구성이 존재하는지 여부를 결정할 수 있다.
광고 할당 어플리케이션은, 상이한 구성 중 임의의 구성의 파라미터가 제4 복수의 파라미터와 매칭되는 것으로 결정한 것에 응답하여, 적어도 하나의 충돌 파라미터가 최고-등급 파라미터 및 제2 최고-등급 파라미터를 포함하는 것으로 결정할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 제3 및 제2 파라미터가 적어도 하나의 충돌 파라미터를 구성하는 것으로 결정할 수 있다.
일부 실시예에서, 광고 할당 어플리케이션은 이하의 액션을 취함으로써 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터 복수의 파라미터의 구성을 결정할 수 있다. 광고 할당 어플리케이션은 상이한 구성으로부터, 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하고, 구성의 세트의 각각의 구성에 대해, 제거된 충돌 파라미터의 수를 결정할 수 있다. 광고 할당 어플리케이션은 제거된 충돌 파라미터의 가장 작은 수를 갖는 구성의 세트로부터 구성을 선택할 수 있다. 예를 들어, 광고 할당 어플리케이션은 총 파라미터 스코어에서 최저 변경을 갖는 5개의 구성이 존재하는 것으로 결정할 수 있다. 광고 할당 어플리케이션은 제거된 파라미터의 수를 결정하고, 제거된 파라미터의 최저의 수를 갖는 구성을 선택할 수 있다.
일부 실시예에서, 광고 할당 어플리케이션은 이하의 액션을 취함으로써 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터 복수의 파라미터의 구성을 결정할 수 있다. 광고 할당 어플리케이션은 상이한 구성으로부터 제거된 충돌 파라미터의 최소 개수를 갖는 구성의 세트를 선택하고, 구성의 세트의 각각의 구성에 대해 각각의 총 파라미터 스코어의 변경을 결정할 수 있다. 광고 할당 어플리케이션은 각각의 총 파라미터 스코어에서 최소 변경을 갖는 구성의 세트로부터 구성을 선택할 수 있다. 예를 들어, 광고 할당 어플리케이션은 총 파라미터 스코어에서 최저 변경을 갖는 5개의 구성이 존재하는 것으로 결정할 수 있다. 광고 할당 어플리케이션은 5개의 구성 각각에 대한 총 파라미터 스코어의 변경을 결정할 수 있고, 파라미터 스코어에서 최소 변경을 갖는 구성을 선택할 수 있다.
일부 실시예에서, 광고 할당 어플리케이션은, 사용자가 충돌을 해결하기 위해 시스템에 의해 선택된 구성을 후순위화할 수 있게 할 수 있다. 광고 할당 어플리케이션은 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 구성 및 사용자가 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하기 위해 생성할 수 있다. 광고 할당 어플리케이션은 옵션의 사용자 선택에 응답하여 상이한 구성을 표시하기 위해 생성하고, 상이한 구성 중 하나의 사용자 선택에 응답하여, 상이한 구성 중 하나의 사용자 선택에 기초하여 복수의 광고 슬롯에 복수의 광고를 할당할 수 있다. 예를 들어, 사용자는 다른 구성과의 충돌을 해결하는 디폴트(default) 구성을 후순위화하기를 원할 수 있다. 광고 할당 어플리케이션은 사용자에게 그렇게 할 수 있는 옵션을 제시함으로써 그러한 메커니즘을 제공할 수 있고, 사용자가 옵션을 선택할 때, 광고 할당 어플리케이션은 사용자로 하여금 사용자가 원하는, 충돌을 해결하는 상이한 구성으로부터 구성을 선택할 수 있게 할 수 있다.
일부 실시예에서, 광고 할당 어플리케이션은, 광고 할당 모델로부터의 그 제거가 이하의 액션을 취함으로써 충돌을 해결하게 하는 적어도 하나의 충돌 파라미터를 결정할 수 있다. 광고 할당 어플리케이션은 각각의 파라미터 스코어에 기초하여 복수의 파라미터의 각 파라미터를 등급화할 수 있으며, 여기서 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고 최저-등급 파라미터는 최고 파라미터 스코어와 연관된다. 예를 들어, 광고 할당 어플리케이션은 3개의 파라미터를 갖는 광고 할당 모델을 프로세싱할 수 있다. 제1 파라미터는 50의 파라미터 스코어를 가질 수 있다. 제2 파라미터는 10의 파라미터 스코어를 가질 수 있고, 제3 파라미터는 5의 파라미터 스코어를 가질 수 있다. 광고 할당 어플리케이션은 제3 파라미터를 최고로, 제2 파라미터는 제2 최고로, 그리고 제1 파라미터를 최저로 등급화할 수 있다.
광고 할당 어플리케이션은 최고-등급 파라미터를 선택하여 이를 2개의 파라미터로 분할할 수 있다. 구체적으로, 광고 할당 어플리케이션은 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 2명의 광고주 각각이 적어도 하나의 광고 슬롯을 할당받아야 한다는 것을 나타내는 파라미터를 프로세싱할 수 있다. 광고 할당 어플리케이션은 그 파라미터를 2개의 서브-파라미터로 분할할 수 있다. 제1 서브-파라미터는, 제1 광고주가 적어도 하나의 광고 슬롯을 가져야 한다는 것을 나타낼 수 있고, 제2 서브-파라미터는, 제2 광고주가 적어도 하나의 광고 슬롯을 가져야 한다는 것을 나타낼 수 있다.
광고 할당 어플리케이션은 최고-등급 파라미터 없이 복수의 파라미터를 포함하는 파라미터의 세트를 생성할 수 있고, 파라미터의 세트 및 제1 서브-파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당을 시뮬레이팅할 수 있다. 예를 들어, 광고 할당 어플리케이션은 제1 서브-파라미터를 갖지만 제2 서브-파라미터를 갖지 않는 광고 슬롯에의 광고의 할당을 시뮬레이팅할 수 있다.
광고 할당 어플리케이션은 파라미터의 세트 및 제1 서브-파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당의 시뮬레이팅에 기초하여, 제1 서브-파라미터 및 파라미터의 세트 중 적어도 하나를 위반하지 않고 복수의 광고 슬롯에 복수의 광고를 할당하는 것을 막는 충돌이 존재하지 않는 것으로 결정할 수 있다. 예를 들어, 광고 할당 어플리케이션은, 제2 서브-파라미터를 포함하지 않는 것이 충돌을 해결하는 것으로 결정할 수 있다. 광고 할당 어플리케이션은 최고-등급 파라미터의 제거 및 제1 서브-파라미터의 추가가 충돌을 해결하는 것으로 결정할 수 있다.
광고 할당 어플리케이션은 이하의 액션을 취함으로써 최고-등급 파라미터가 다수의 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정할 수 있다. 광고 할당 어플리케이션은, 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정할 수 있고, 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅할 수 있으며, 여기서 복수의 서브-파라미터의 각 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관된다. 광고 할당 어플리케이션은 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정할 수 있다. 예를 들어, 파라미터는, 3명의 광고주 각각이 적어도 하나의 광고 슬롯을 할당받아야 함을 나타낼 수 있다. 광고 할당 어플리케이션은, 그 파라미터가 복수의 광고주와 연관되는 것으로 결정할 수 있다. 광고 할당 어플리케이션은 각각의 광고주에 따라 파라미터를 분할할 수 있다. 따라서, 제1 서브-파라미터는, 제1 광고주가 적어도 하나의 광고 슬롯을 가져야 함을 나타낼 수 있다. 제2 서브-파라미터는, 제2 광고주가 적어도 하나의 광고 슬롯을 가져야 함을 나타낼 수 있고, 제3 서브-파라미터는, 제3 광고주가 적어도 하나의 광고 슬롯을 가져야 함을 나타낼 수 있다.
도 1은 본 발명의 일부 실시예에 따른 디스플레이 스크린의 도면을 나타낸다.
도 2는 본 발명의 일부 실시예에 따라, 미디어 가이던스 어플리케이션 목록 및 다른 미디어 가이던스 정보를 제공하는 데 사용될 수 있는 디스플레이 스크린의 예시적인 실시예를 나타낸다.
도 3은 본 발명의 일부 실시예에 따라, 미디어 가이던스 어플리케이션 목록을 제공하는 데 사용될 수 있는 디스플레이 스크린의 다른 예시적인 실시예를 나타낸다.
도 4는 본 발명의 일부 실시예에 따른 예시적인 디바이스의 블록도이다.
도 5는 본 발명의 일부 실시예에 따른 예시적인 미디어 시스템의 블록도이다.
도 6은 본 발명의 일부 실시예에 따라, 광고 배치 충돌을 해결하기 위한 예시적인 프로세스를 도시한다.
도 7은 본 명세서의 일부 실시예에 따라, 광고 할당 모델의 파라미터가 충돌을 일으키는지 여부를 결정하기 위한 예시적인 프로세스를 도시한다.
도 8은 본 발명의 일부 실시예에 따라, 총 파라미터 스코어를 계산하기 위한 예시적인 프로세스를 도시한다.
도 9는 광고 할당 모델로부터의 그 제거가 충돌을 해결하는 하나 이상의 충돌 파라미터를 결정하기 위한 예시적인 프로세스를 도시한다.
본원에서 광고 배치 충돌을 해결하기 위한 시스템 및 방법이 설명된다. 구체적으로, 광고를 광고 슬롯에 배치하기 위해 다수의 파라미터가 시스템에 입력될 수 있다. 예를 들어, 파라미터 중 하나는 특정 기간 동안 100만 달러 미만의 비용을 특정 광고주에게 유지하도록 시스템에 명령할 수 있다. 다른 파라미터는 특정 기간 동안 상이한 광고주 간에 광고 슬롯을 균등하게 분산하도록 시스템에 명령할 수 있다. 많은 경우에, 이러한 파라미터의 조합은 광고를 광고 슬롯에 배치하기 위해 모든 파라미터가 적용될 수 없는 시스템에서 충돌을 일으킨다. 충돌은 최저 우선 순위를 갖는 파라미터의 최소 수를 위반하는 최적의 해결책에 도달하기 위해 어떠한 파라미터가 완화될 수 있는지를 결정하는 광고 할당 모델을 사용하여 해결될 수 있다. 이러한 해결책이 발견되면, 광고 할당 모델이 수정될 수 있고, 광고는 수정된 광고 할당 모델에 기초하여 광고 슬롯에 배치될 수 있다. 본원에서 칭해지는 바와 같이, "광고 할당 모델"이라는 용어는 파라미터, 광고 슬롯 및 광고의 집합을 지칭하며, 여기서 파라미터는 이들 파라미터에 기초하여 광고 슬롯에 광고를 할당하기 위해 광고 및 광고 슬롯에 적용될 수 있다. 일부 실시예에서, 광고 할당 모델은 다른 엔티티(예를 들어, 광고주)를 포함할 수 있다. 본원에 칭해지는 바와 같이, "파라미터"라는 용어는 광고를 광고 슬롯에 할당하기 위한 하나 이상의 기준을 지칭한다. 예를 들어, 파라미터는, 특정 광고주와 연관된 광고가 특정 시간 동안 광고 슬롯에 할당되어야 함을 나타낼 수 있다.
일부 실시예에서, 제어 회로가 광고 배치 충돌을 해결하는 데 필요한 액션을 구현할 수 있다. 제어 회로는 광고를 광고 슬롯에 배치하는 데 사용될 광고 할당 모델로 복수의 파라미터를 수신할 수 있다. 구체적으로, 제어 회로는 복수의 광고가 복수의 광고 슬롯에 어떻게 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신할 수 있다. 예를 들어, 도 1은 광고 할당 모델에 기초하여 광고 슬롯에 배치되는 광고와 함께 하나의 가능한 광고 할당 모델의 예를 예시하기 위해 사용될 수 있다. 복수의 파라미터(104)를 포함할 수 있는 광고 할당 모델(102). 각 파라미터(104)는 선택 가능할 수 있다. 파라미터(104)의 선택시에, 파라미터가 수정되거나 제거될 수 있는 다른 디스플레이가 생성될 수 있다. 파라미터 2 아래의 공간을 선택함으로써 새로운 파라미터가 광고 할당 모델(102)에 추가될 수 있다. 각 파라미터(104)는 연관된 파라미터 스코어(106)를 가질 수 있다. 파라미터 스코어(106)는 대응하는 파라미터 옆에 표시될 수 있다. 광고 스케줄(108)이 또한 광고 할당 모델과 함께 표시될 수 있다. 광고 스케줄은 수평축 상의 요일과 수직축 상의 그 날의 시간을 포함할 수 있다. 미디어 자산 표현(110)이 적절한 시간 슬롯에 표시될 수 있다. 각 표현(110)은 복수의 광고 슬롯을 포함할 수 있고, 각각의 광고 슬롯은 각각의 슬롯과 연관된 광고 식별자를 포함할 수 있다.
제어 회로는 이용 가능한 광고 슬롯으로 광고를 할당할 때, 각 파라미터가 다른 파라미터와 함께 적절히 적용될 수 있는지 여부를 결정하기 위해 광고 할당 모델을 분석할 수 있다. 구체적으로, 제어 회로는 복수의 파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당을 시뮬레이팅할 수 있다. 예를 들어, 제어 회로는 제1 파라미터를 선택하고 제1 파라미터를 광고 슬롯에의 광고의 할당을 지시하는 하나 이상의 수학적 함수로 변환할 수 있다. 제어 회로는 이들 파라미터를 수학적 함수로 변환하기 위해 각 파라미터를 통해 반복할 수 있다. 이러한 수학적 함수는 파라미터에 기초하여 광고 슬롯에 광고를 할당하기 위해 광고 및 광고 슬롯에 적용된다. 모든 파라미터가 광고 슬롯에 적용될 때, 제어 회로는 시뮬레이션 결과를 생성할 수 있다.
일부 예에서, 시뮬레이션 결과는, 적어도 하나의 파라미터를 위반하지 않고 모든 파라미터가 광고 슬롯에 적용될 수 없음을 나타낼 수 있다. 구체적으로, 제어 회로는 시뮬레이팅에 기초하여, 복수의 파라미터 중의 파라미터를 위반하지 않고 복수의 광고 슬롯에 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정할 수 있다. 예를 들어, 제어 회로가 상술한 수학적 함수를 광고 슬롯에 반복적으로 적용할 때, 특정 함수가 반복적으로 적용될 수 없도록 하는 오류가 검출될 수 있다. 일 실시예에서, 충돌을 나타내는 표시(미도시)가 사용자에게 알리기 위해 디스플레이(100)에 추가될 수 있다.
제어 회로는 상술한 결정에 응답하여, 충돌을 해결하려고 시도할 수 있다. 구체적으로, 제어 회로는 결정에 응답하여, 복수의 파라미터 중 각 파라미터에 대한 각각의 파라미터 스코어를 검색할 수 있으며, 여기서 각 파라미터 스코어는 대응하는 파라미터의 중요도를 나타낸다. 제어 회로는 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행할 수 있다. 본원에서 지칭되는 바와 같이, "혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘"이라는 용어는 충돌 파라미터를 갖지 않는 모델에 도달하기 위해 충돌 파라미터 세트로부터 하나 이상의 파라미터를 제거 및 수정하는 조합을 반복적으로 제거, 수정 또는 수행하는 선형 대수학을 사용하는 모델링 전략을 지칭한다.
제어 회로는 검색된 파라미터 스코어에 기초하여 광고 할당 모델에 대한 총 파라미터 스코어를 계산할 수 있다. 예를 들어, 제어 회로는 모든 파라미터 스코어의 합을 계산할 수 있다. 일부 실시예에서, 파라미터 스코어는 특정 광고 할당 모델에서의 특정 파라미터의 중요도에 기초하여 가중화될 수 있다.
제어 회로는 후술하는 액션을 취함으로써 광고 할당 모델로부터 수정 또는 제거하기 위한 적어도 하나의 파라미터를 선택할 수 있다. 제어 회로는, 광고 할당 모델로부터의 그 제거가 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정할 수 있다. 일부 실시예에서, 제어 회로는 파라미터를 제거하는 대신 파라미터를 수정할 수 있다. 예를 들어, 파라미터가, 특정 광고주가 적어도 4개의 광고 슬롯을 할당받아야 함을 나타내면, 제어 회로는, 특정 광고주가 적어도 3개의 광고 슬롯을 할당받아야 함으로 나타내도록 파라미터를 수정할 수 있다. 일부 실시예에서, 제어 회로는 일부 파라미터를 제거하고 다른 파라미터를 수정할 수 있다. 예를 들어, 제어 회로는 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘으로부터의 출력으로서 충돌을 해결하는 상이한 구성의 출력을 수신할 수 있다. 제어 회로는 각각의 수신된 구성을 통해 반복할 수 있다. 각각의 구성에 대해, 제어 회로는 주어진 구성의 파라미터를 원래 수신된 광고 할당 모델의 파라미터와 비교할 수 있다. 제어 회로는 비교에 기초하여, 충돌을 해결하기 위해 어떠한 파라미터가 각 구성으로부터 제거되었는지를 결정할 수 있다.
제어 회로는 충돌을 해결하기 위해 하나 이상의 파라미터를 제거하는 것에 기초하여 파라미터 스코어를 계산할 수 있다. 구체적으로, 제어 회로는 광고 할당 모델에서 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어를 계산할 수 있으며, 여기서 각각 계산된 상이한 총 파라미터 스코어는 광고 할당 모델로부터의, 적어도 하나의 충돌 파라미터 중 상이한 것의 제거에 기초한다. 제어 회로는 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘으로부터 수신된 각 구성을 통해 반복하고, 그 구성의 일부로서 제거되지 않은 각 파라미터에 대한 스코어를 추가할 수 있다.
제어 회로는 모든 파라미터의 서브세트를 결정할 수 있고, 여기서 총 파라미터 스코어는 최소로 변경되고 또한 최소의 파라미터가 제거된다. 구체적으로, 제어 회로는, 상이한 총 파라미터 스코어에 기초하여, 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터의 복수의 파라미터의 구성을 결정할 수 있다. 예를 들어, 제어 회로는 파라미터 스코어에서 최저의 변경을 갖는 구성을 포함하는 구성의 세트를 생성할 수 있다. 제어 회로는 제거된 파라미터의 최소 개수를 갖는 구성을 선택할 수 있다.
제어 회로는 결정된 구성에 기초하여 광고 할당 모델을 수정할 수 있다. 구체적으로, 제어 회로는 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 구성에 따라 광고 할당 모델로부터 적어도 하나의 충돌 파라미터를 제거하도록 광고 할당 모델을 수정할 수 있다. 예를 들어, 제어 회로는 결정된 구성의 파라미터를 원래 수신된 광고 할당 모델의 파라미터와 비교할 수 있다. 비교에 기초하여, 제어 회로는 충돌을 해결하기 위해 어떠한 파라미터가 광고 할당 모델로부터 제거되어야 하는지를 결정할 수 있다. 다른 예에서, 그 구성으로부터 제거된 파라미터 또는 파라미터는 상술한 액션의 일부로서 저장되어 있을 수 있다. 이 예에서, 제어 회로는 저장된 파라미터 또는 파라미터를 검색하고, 검색된 정보를 사용하여 적절한 파라미터 또는 파라미터를 광고 할당 모델로부터 제거할 수 있다.
제어 회로는 수정된 광고 할당 모델에 기초하여 복수의 광고 슬롯에 복수의 광고를 할당할 수 있다. 일부 실시예에서, 제어 회로는 하나 이상의 파라미터를 제거하는 대신에 충돌을 해결하기 위해 하나 이상의 파라미터를 수정할 수 있음에 유의해야 한다. 예를 들어, 파라미터가, 각 광고주가 적어도 하나의 광고 슬롯을 가져야 하고 3명의 광고주가 있음을 나타내면, 제어 회로는, 파라미터를 제거하는 대신, 3명의 광고주 중 2명이 적어도 하나의 광고 슬롯을 가져야 함을 나타내도록 파라미터를 수정할 수 있다.
일부 실시예에서, 각각의 파라미터는 시스템 파라미터 스코어 및 사용자-정의 파라미터 스코어를 가질 수 있다. 시스템 파라미터 스코어는 광고 할당 어플리케이션을 관리 및 유지하는 엔티티에 의해 할당될 수 있는 반면, 사용자-정의 파라미터 스코어는 광고 할당 모델에 파라미터를 입력하는 광고주 또는 사용자에 의해 할당될 수 있다. 본원에서 지칭되는 바와 같이, "사용자-정의 파라미터 스코어"라는 용어는 시스템의 사용자에 의해 설정될 수 있는 파라미터 스코어를 지칭한다. 일부 실시예에서, 시스템의 관리자는 특정 사용자 또는 사용자 그룹에게 사용자-정의 파라미터 스코어를 할당하는 권한을 할당할 수 있음에 유의해야 한다. 본원에서 지칭되는 바와 같이, "시스템 파라미터 스코어"라는 용어는 시스템 관리자에 의해 정의되고 사용자에 의해 수정될 수 없는 파라미터 스코어를 지칭한다. 제어 회로는 이하의 액션을 취함으로써 복수의 파라미터의 각 파라미터에 대한 파라미터 스코어를 검색할 수 있다.
제어 회로는 시스템 파라미터 스코어에 추가하여 어떠한 파라미터가 연관된 사용자-정의 스코어를 갖는지를 결정할 수 있다. 구체적으로, 제어 회로는 복수의 파라미터에서 파라미터의 제1 서브세트를 생성할 수 있으며, 여기서 파라미터의 제1 서브세트의 각 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 갖는다. 예를 들어, 제어 회로는 데이터베이스로부터 복수의 엔트리를 검색할 수 있으며, 여기서 각 엔트리는 특정 파라미터와 연관된다. 제어 회로는 상이한 필드를 검색하기 위해 액세스될 수 있는 하나 이상의 데이터 구조에 이들 엔트리를 저장할 수 있다.
데이터베이스는 제어 회로가 있는 동일한 디바이스 또는 원격 디바이스 상에 로컬로 저장될 수 있다. 각각의 엔트리는 파라미터 식별(예를 들어, 영숫자), 시스템 파라미터 스코어, 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어가 후순위화될 수 있는지 여부의 표시자에 대한 필드를 포함할 수 있다. 다른 적절한 필드(예를 들어, 파라미터가 생성된 시간)가 엔트리에 포함될 수 있다.
제어 회로는, 사용자-정의 파라미터 스코어를 갖는 각각의 파라미터가, 시스템 파라미터 스코어가 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는 방식으로 구성되는지 여부를 결정할 수 있다. 구체적으로, 제어 회로는 파라미터의 제1 서브세트의 각 파라미터에 대해, 시스템 파라미터 스코어가 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 결정할 수 있다. 예를 들어, 제어 회로는 상술한 하나 이상의 데이터 구조에 액세스하고, 각 파라미터에 대해, 시스템 파라미터 스코어가 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 나타내는 표시자를 검색할 수 있다. 일부 실시예에서, 표시자는 부울(Boolean)일 수 있으며, 여기서 참(true)의 값은 시스템 파라미터 스코어가 후순위화될 수 있음을 나타내고, 거짓(false)의 값은 시스템 파라미터 스코어가 후순위화될 수 없음을 나타낸다. 다른 실시예에서, 표시자는 숫자 또는 영숫자 값일 수 있다.
제어 회로는 후순위화될 수 있는 파라미터 스코어 및 후순위화될 수 없는 파라미터 스코어에 대한 서브세트를 생성할 수 있다. 구체적으로, 제어 회로는 후순위화될 수 있는 시스템 파라미터 스코어를 갖는 파라미터의 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성할 수 있고, 후순위화될 수 없는 시스템 파라미터를 포함하는 파라미터의 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성할 수 있다. 예를 들어, 제어 회로는 후순위화될 수 있는 시스템 파라미터 스코어를 갖는 파라미터를 포인팅하는 포인터를 저장하기 위한 하나 및 후순위화될 수 없는 시스템 파라미터 스코어를 갖는 파라미터를 포인팅하는 포인터를 저장하기 위한 두 번째의, 2개의 데이터 구조를 생성할 수 있다.
제어 회로는 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 제3 서브세트에 대한 시스템 파라미터 스코어를 검색할 수 있다. 예를 들어, 제어 회로는 상술한 하나 이상의 데이터 구조로부터, 제2 서브세트에 대한 시스템 파라미터 스코어 및 제3 서브세트로부터의 사용자-정의 파라미터 스코어를 검색할 수 있다.
일부 실시예에서, 제어 회로는 혼합 정수 선형 프로그램들을 위한 실행 가능성 완화 알고리즘을 사용하여 어떤 구성을 선택할지를 결정할 수 있다. 구체적으로, 제어 회로는, 상이한 총 파라미터 스코어에 기초하여, 상이한 구성으로부터 복수의 파라미터의 구성을 결정할 때, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행할 수 있다. 예를 들어, 제어 회로는 광고 및 광고 슬롯과 함께 광고 할당 모델의 파라미터를 알고리즘을 실행하는 서버로 송신할 수 있고, 파라미터들 간의 충돌을 일으키지 않고 광고를 광고 슬롯에 배치하는 데 사용될 수 있는 상이한 구성을 응답으로 수신할 수 있다.
일부 실시예에서, 제어 회로는 이하의 액션을 수행함으로써 광고 할당 모델로부터의 그 제거가 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정할 수 있다. 제어 회로는 각각의 파라미터 스코어에 기초하여 복수의 파라미터의 각 파라미터를 등급화할 수 있으며, 여기서 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고 최저-등급 파라미터는 최고 파라미터 스코어와 연관된다. 예를 들어, 제어 회로는 각 파라미터를 통해 반복하여 각 파라미터와 연관된 파라미터 스코어를 검색할 수 있다. 제어 회로는 최저로부터 최고까지 파라미터 스코어를 정렬할 수 있고 동일한 순서로 연관된 파라미터를 등급화할 수 있다. 제어 회로는 등급화된 순서로 각 파라미터를 (예를 들어, 데이터 구조에) 저장할 수 있다. 예를 들어, 제어 회로는 데이터 구조의 각 파라미터와 연관된 식별값을 저장할 수 있다. 일부 실시예에서, 제어 회로는 데이터 구조에 등급화된 순서로 각 파라미터에 대한 포인터를 저장할 수 있다.
제어 회로는 복수의 파라미터 중에서 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 선택할 수 있다. 예를 들어, 제어 회로는 최고-등급 파라미터를 제외한 모든 파라미터를 포함하는 데이터 구조를 생성할 수 있다. 일부 실시예에서, 데이터 구조는 파라미터 및 파라미터와 연관된 메타데이터를 포함하는 다른 데이터 구조에 대한 포인터를 포함할 수 있다.
제어 회로는 제2 복수의 파라미터를 상이한 구성 중의 각 구성의 파라미터와 비교할 수 있다. 예를 들어, 제어 회로는 복수의 파라미터 중의 각 파라미터를 통해 반복하고, 이들 파라미터를 상이한 구성의 파라미터와 비교할 수 있다. 일부 실시예에서, 각 파라미터는 식별값(예를 들어, 숫자열, 영숫자 열, 바이너리 해시 또는 다른 적절한 식별)을 할당받을 수 있다. 제어 회로는, 제2 복수의 파라미터가 상이한 구성 중 하나와 매칭되는지 여부를 결정하기 위해 이들 식별값을 비교할 수 있다. 매칭이 발견되기 위해서는, 제2 복수의 파라미터 중의 각 파라미터는, 특정 구성에 존재하는 다른 매칭되지 않는 파라미터들 없이, 특정 구성의 파라미터와 매치되어야 함에 유의해야 한다.
제어 회로는, 제2 복수의 파라미터가 충돌을 해결하는 구성 중 하나에 대응하는지 여부를 결정할 수 있다. 구체적으로, 제어 회로는, 제2 복수의 파라미터와 상이한 구성 중 각각의 구성의 파라미터와의 비교에 기초하여, 제2 복수의 파라미터가 상이한 구성 중 임의의 구성과 매칭되는지 여부를 결정할 수 있다. 예를 들어, 제어 회로는 구성 중 하나와의 성공적인 비교가 존재하는지 여부를 결정할 수 있다.
제어 회로는, 제2 복수의 파라미터가 상이한 구성 중의 구성과 매칭되는 것으로 결정하는 것에 응답하여, 적어도 하나의 충돌 파라미터가 최고-등급 파라미터인 것으로 결정할 수 있다. 예를 들어, 제어 회로는 결정된 구성의 일부가 아닌 하나 이상의 파라미터(즉, 그 제거가 충돌을 해결되게 하는 파라미터)를 저장할 수 있다. 일부 실시예에서, 제어 회로는 하나 이상의 파라미터에 대한 포인터를 저장할 수 있다. 또 다른 실시예에서, 제어 회로는 충돌을 해결되게 하는 결정된 구성을 저장할 수 있고 또한 구성으로부터 제거된 파라미터의 포인터 및/또는 식별자를 저장하는 데이터 구조를 생성할 수 있다.
일부 실시예에서, 제어 회로는, 제2 복수의 파라미터가 상이한 구성 중 임의의 구성과 매칭되지 않는 것으로 결정하는 것에 응답하여, 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택할 수 있다. 예를 들어, 제어 회로는 등급화된 파라미터를 저장하는 데이터 구조에 액세스할 수 있고 다음으로 등급화된 파라미터를 검색할 수 있다. 제어 회로는 다음으로 등급화된 파라미터를 제외한 모든 파라미터에 대한 식별값을 포함하는 제2 복수의 데이터 구조를 생성할 수 있다.
제어 회로는 제2 최고-등급 파라미터가 없는 복수의 파라미터를 상이한 구성과 비교할 수 있다. 구체적으로, 제어 회로는 제3 복수의 파라미터를 상이한 구성 중의 각 구성의 파라미터와 비교할 수 있다. 예를 들어, 제어 회로는 제3 복수의 파라미터의 각 파라미터를 통해(예를 들어, 각각의 파라미터 식별값을 통해) 반복하고 충돌을 해결하는 각각의 상이한 구성에 대한 파라미터와 연관된 파라미터 식별값과 이들 값을 비교할 수 있다.
제어 회로는 제2 최고-등급 파라미터를 제거하는 것이 충돌을 해결하지 못하는 것으로 결정할 수 있다. 광고 할당 어플리케이션은, 제3 복수의 파라미터와 상이한 구성 중의 각 구성의 파라미터와의 비교에 기초하여, 제3 복수의 파라미터가 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정할 수 있다. 예를 들어, 제어 회로는, 상이한 구성 중 어느 것도 제3 복수의 파라미터와 매칭되지 않는 것으로 결정할 수 있다.
제어 회로는 광고 할당 모델로부터 2개의 최고-등급 파라미터를 제거하고, 그 액션이 충돌을 해결하는지 여부를 결정할 수 있다. 구체적으로, 제어 회로는 제4 복수의 파라미터를 상이한 구성의 각각의 파라미터와 비교할 수 있으며, 여기서 제4 복수의 파라미터는 최고-등급 파라미터 및 제2 최고-등급 파라미터가 없는 제1 복수의 파라미터를 포함한다. 예를 들어, 제어 회로는 제4 복수의 파라미터 중의 각각의 파라미터와 관련된 각각의 식별값을 통해 반복하고, 충돌을 해결하는 각각의 상이한 구성의 각 파라미터와 연관된 식별값과 이들 값을 비교할 수 있다.
제어 회로는, 상이한 구성 중 임의의 구성의 파라미터가 제4 복수의 파라미터와 매칭되는 것으로 결정한 것에 응답하여, 적어도 하나의 충돌 파라미터가 최고-등급 파라미터 및 제2 최고-등급 파라미터를 포함하는 것으로 결정할 수 있다. 예를 들어, 제어 회로는, 제4 복수의 파라미터와 매칭되는 구성이 존재하는 것으로 결정할 수 있다. 제4 복수의 파라미터가 임의의 상이한 구성과 매칭되지 않는 경우에, 제어 회로는 등급화된 순서로 파라미터를 선택하고 상이한 구성과 파라미터의 세트를 비교하여 프로세스를 계속할 수 있으며, 여기서 제어 회로는 우선 선택된 파라미터가 없는 세트를 비교한 후, 선택된 파라미터 및 이전에 선택된 파라미터 중 하나가 없는 세트를 비교한다. 따라서, 제어 회로는 세트로부터 하나의 파라미터를 제거한 후, 2개의 파라미터의 모든 조합을 반복적으로 제거한 다음, 3개의 파라미터의 모든 조합을 반복적으로 제거하는 등을 수행할 수 있다.
일부 실시예에서, 제어 회로는, 이하의 액션을 취함으로써 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터 복수의 파라미터의 구성을 결정할 수 있다. 제어 회로는 상이한 구성으로부터, 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하고, 구성의 세트의 각각의 구성에 대해, 제거된 충돌 파라미터의 수를 결정할 수 있다. 제어 회로는 제거된 충돌 파라미터의 최소의 수를 갖는 구성의 세트로부터 구성을 선택할 수 있다. 예를 들어, 제어 회로는 충돌을 해결하는 상이한 구성 모두를 통해 반복하여 각각에 대한 모든 파라미터 스코어를 계산할 수 있다. 제어 회로는 충돌을 해결하는 주어진 구성과 연관된 파라미터의 모든 파라미터 스코어를 가산함으로써 총 파라미터 스코어를 계산할 수 있다. 일부 실시예에서, 제어 회로는 총 파라미터 스코어를 이미 계산하여 이를 저장했을 수도 있다. 이러한 실시예에서, 제어 회로는 각각의 상이한 구성에 대한 각각의 총 파라미터 스코어를 검색할 수 있다. 제어 회로는 총 파라미터 스코어를 비교하고 모두 최저 스코어를 갖는 구성의 세트를 생성할 수 있다. 제어 회로는 각각의 구성을 통해 반복하고 각각의 구성으로부터 제거된 파라미터의 각각의 수를 결정할 수 있다. 제어 회로는 최소 개수의 파라미터가 제거된 구성을 선택할 수 있다.
일부 실시예에서, 제어 회로는 이하의 액션을 취함으로써 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터 복수의 파라미터의 구성을 결정할 수 있다. 제어 회로는 상이한 구성으로부터, 제거된 충돌 파라미터의 최소 개수를 갖는 구성의 세트를 선택하고, 구성의 세트의 각각의 구성에 대하여, 각각의 총 파라미터 스코어의 변경을 결정할 수 있다. 제어 회로는 각각의 총 파라미터 스코어에서 최소의 변경을 갖는 구성의 세트로부터 구성을 선택할 수 있다. 예를 들어, 제어 회로는 각각의 구성을 통해 반복하여 충돌을 해결하기 위해 각각의 구성으로부터 제거된 파라미터의 수를 결정할 수 있다. 제어 회로는 최저 개수의 파라미터가 제거되었을 때의 구성의 세트를 생성할 수 있다. 제어 회로는, 세트의 각 구성에 대하여, 구성의 모든 파라미터의 파라미터 스코어를 추가함으로써 계산할 수 있다. 일부 실시예에서, 제어 회로는 이미 계산을 하여 각각의 구성과 연관된 총 파라미터 스코어를 검색할 수 있다. 또 다른 일부 실시예에서, 제어 회로는 각 개별 구성에 대해 제거된 파라미터의 조합된 스코어를 결정함으로써 총 파라미터 스코어를 계산하고, 광고 할당 모델의 모든 파라미터의 총 파라미터 스코어로부터 조합된 스코어를 각 구성에 대해 반복적으로 감산할 수 있다.
일부 실시예에서, 제어 회로는 사용자가 충돌을 해결하기 위해 시스템에 의해 선택된 구성을 후순위화할 수 있게 할 수 있다. 제어 회로는 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 충돌 파라미터의 수를 최소화하는 구성 및 사용자가 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하도록 생성할 수 있다. 상기 제어 회로는, 옵션의 사용자 선택에 응답하여, 상이한 구성을 표시하기 위해 생성하고, 상이한 구성 중 하나의 사용자 선택에 응답하여, 상이한 구성 중 하나의 사용자 선택에 기초하여 복수의 광고 슬롯에 상기 복수의 광고를 할당할 수 있다. 예를 들어, 사용자는 충돌을 해결하는 디폴트 구성을 다른 구성으로 후순위화하기를 원할 수 있다. 제어 회로는 사용자에게 그렇게 하도록 옵션을 제시함으로써 그러한 메커니즘을 사용자에게 제공할 수 있고, 사용자가 옵션을 선택할 때, 제어 회로는 사용자로 하여금 사용자가 원하는 충돌을 해결하는 상이한 구성으로부터 그 구성을 선택할 수 있게 할 수 있다.
일부 실시예에서, 제어 회로는 이하의 액션을 취함으로써 광고 할당 모델로부터의 그 제거가 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정할 수 있다. 제어 회로는 각각의 파라미터 스코어에 기초하여 복수의 파라미터 중의 각 파라미터를 등급화할 수 있으며, 여기서 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고 최저-등급 파라미터는 최고 파라미터 스코어와 연관된다. 예를 들어, 제어 회로는 각 파라미터를 통해 반복하여 각 파라미터와 연관된 파라미터 스코어를 검색할 수 있다. 제어 회로는 최저로부터 최고까지 파라미터 스코어를 정렬할 수 있고 동일한 순서로 연관된 파라미터를 등급화할 수 있다. 제어 회로는 등급화된 순서로 각 파라미터를 (예를 들어, 데이터 구조에) 저장할 수 있다. 예를 들어, 제어 회로는 데이터 구조에 각 파라미터와 연관된 식별값을 저장할 수 있다. 일부 실시예에서, 제어 회로는, 데이터 구조에, 등급화된 순서로 각 파라미터에 대한 포인터를 저장할 수 있다.
제어 회로는 최고 등급 파라미터를 선택하여 이를 2개의 파라미터로 분할할 수 있다. 구체적으로, 제어 회로는 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할할 수 있다. 예를 들어, 제어 회로는 복수의 광고주와 연관된 파라미터를 프로세싱할 수 있다. 제어 회로는 그 파라미터를 하나의 광고주와 각각 연관된 서브-파라미터로 분할하고, 그 광고주와 연관된 파라미터의 부분에 기초하여 서브-파라미터를 생성할 수 있다.
제어 회로는 최고-등급 파라미터가 없는 복수의 파라미터를 포함하는 파라미터의 세트를 생성하고, 파라미터의 세트 및 제1 서브-파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당을 시뮬레이팅할 수 있다. 예를 들어, 제어 회로는 각각의 서브-파라미터를 통해 반복하여 그 서브-파라미터를 세트로부터 제거할 수 있다. 제어 회로는 각각의 세트로 광고 슬롯에의 광고의 할당을 시뮬레이팅할 수 있다.
제어 회로는, 파라미터의 세트 및 제1 서브-파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당을 시뮬레이팅하는 것에 기초하여, 제1 서브-파라미터 및 파라미터의 세트 중 적어도 하나를 위반하지 않고 복수의 광고 슬롯에의 복수의 광고의 할당을 막는 충돌이 존재하지 않는 것으로 결정할 수 있다. 예를 들어, 제어 회로는 충돌을 해결하는 (특정 서브-파라미터가 없는) 파라미터의 세트를 결정할 수 있다. 제어 회로는 최고-등급 파라미터의 제거 및 제1 서브-파라미터의 추가가 충돌을 해결하는 것으로 결정할 수 있다. 예를 들어, 제어 회로는 충돌을 해결하는 세트를 결정할 수 있으며, 여기서 세트는 최고-등급 파라미터를 갖지 않지만 상술한 바와 같이 생성된 하나 이상의 서브-파라미터를 갖는 파라미터를 포함한다.
제어 회로는 이하의 액션을 취함으로써 최고-등급 파라미터가 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정할 수 있다. 제어 회로는, 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정할 수 있고, 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅할 수 있으며, 여기서 복수의 서브-파라미터 중의 각각의 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관된다. 제어 회로는, 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정할 수 있다. 예를 들어, 제어 회로는 특정 파라미터를 분석하여 파라미터가 복수의 광고주와 관련되는지 여부를 결정할 수 있다. 제어 회로는 각각의 광고주를 통해 반복하여 특정 광고주와 연관된 파라미터의 부분을 반영하는 서브-파라미터를 생성할 수 있다. 제어 회로는 분할을 시뮬레이팅하고, 성공적인 분할에 응답하여, 특정 파라미터가 분할될 수 있는 것으로 결정을 내릴 수 있다.
임의의 주어진 컨텐츠 전달 시스템에서 사용자에게 이용 가능한 컨텐츠의 양은 상당할 수 있다. 따라서, 많은 사용자는, 사용자가 컨텐츠 선택을 효율적으로 탐색하고 원할 수 있는 컨텐츠를 쉽게 식별할 수 있게 하는 인터페이스를 통한 미디어 가이던스의 형태를 원한다. 이러한 가이던스를 제공하는 어플리케이션이 본원에서 상호 작용 미디어 가이던스 어플리케이션으로 칭해지거나, 때로는 미디어 가이던스 어플리케이션 또는 가이던스 어플리케이션으로 칭해진다.
상호 작용 미디어 가이던스 어플리케이션은 가이던스를 제공하는 컨텐츠에 따라 다양한 형태를 취할 수 있다. 하나의 통상적인 유형의 미디어 가이던스 어플리케이션은 상호 작용 텔레비전 프로그램 가이드이다. 상호 작용 텔레비전 프로그램 가이드(때로는 전자 프로그램 가이드라고도 칭함)는 특히 사용자가 많은 유형의 컨텐츠 또는 미디어 자산을 탐색하고 찾을 수 있게 하는 공지된 가이던스 어플리케이션이다. 상호 작용 미디어 가이던스 어플리케이션은 사용자가 컨텐츠를 탐색하고 찾고 선택할 수 있게 하는 그래픽 사용자 인터페이스 스크린을 생성할 수 있다. 본원에 언급되는, "미디어 자산" 및 "컨텐츠"라는 용어는 텔레비전 프로그래밍뿐만 아니라 유료 시청 프로그램, (비디오-온-디맨드(video-on-demand; VOD) 시스템에서와 같은) 온-디맨드 프로그램, 인터넷 컨텐츠(예를 들어, 스트리밍 컨텐츠, 다운로드 가능한 컨텐츠, 웹캐스트 등), 비디오 클립, 오디오, 컨텐츠 정보, 그림, 회전 이미지, 문서, 재생 목록, 웹사이트, 기사, 서적, 전자 서적, 블로그, 광고, 챗 세션, 소셜 미디어, 어플리케이션, 게임 및/또는 임의의 다른 미디어 또는 멀티미디어 및/또는 이들의 조합과 같은 전자적으로 소비 가능한 사용자 자산을 의미하는 것으로 이해되어야 한다. 또한, 가이던스 어플리케이션은 사용자가 컨텐츠를 탐색하고 찾을 수 있게 한다. 본원에서 언급되는, "멀티미디어"라는 용어는 예를 들어, 텍스트, 오디오, 이미지, 비디오 또는 상호 작용 컨텐츠 형식과 같이 상술한 적어도 2개의 상이한 컨텐츠 형식을 이용하는 컨텐츠를 의미하는 것으로 이해해야 한다. 컨텐츠는 사용자 장비 디바이스에 의해 녹화, 재생, 표시 또는 액세스될 수 있지만, 또한 라이브 공연의 일부가 될 수 있다.
본원에서 논의되는 실시예 중 임의의 것을 수행하기 위한 미디어 가이던스 어플리케이션 및/또는 임의의 명령어들은 컴퓨터 판독 가능 매체 상에 인코딩될 수 있다. 컴퓨터 판독 가능 매체는 데이터를 저장할 수 있는 임의의 매체를 포함한다. 컴퓨터 판독 가능 매체는 전기 신호 또는 전자기 신호를 전파하는 것에 한정되지 않지만 이를 포함하여 일시적일 수 있거나, 휘발성 및 비휘발성 컴퓨터 메모리 또는 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리("RAM") 등과 같은 저장 디바이스에 한정되지 않지만 이를 포함하여 비일시적일 수 있다.
인터넷, 모바일 컴퓨팅 및 고속 무선 네트워크의 출현으로, 사용자는 종래에는 액세스하지 않았던 사용자 장비 디바이스 상의 미디어에 액세스하고 있다. 본원에서 언급되는 "사용자 장비 디바이스", "사용자 장비", "사용자 디바이스", "전자 디바이스", "전자 장비", "미디어 장비 디바이스" 또는 "미디어 디바이스"라는 문구는 텔레비전, 스마트 TV, 셋탑 박스, 위성 텔레비전을 취급하기 위한 통합 수신기 디코더(IRD), 디지털 저장 디바이스, 디지털 미디어 수신기(DMR), 디지털 미디어 어댑터(DMA), 스트리밍 미디어 디바이스, DVD 플레이어, DVD 레코더, 접속된 DVD, 로컬 미디어 서버, BLU-RAY 플레이어, BLU-RAY 레코더, 퍼스널 컴퓨터(PC), 랩탑 컴퓨터, 태블릿 컴퓨터, WebTV 박스, 퍼스널 컴퓨터 텔레비전(PC/TV), PC 미디어 서버, PC 미디어 센터, 휴대용 컴퓨터, 고정식 전화기, 퍼스널 디지털 기기(PDA), 모바일 전화, 휴대용 비디오 플레이어, 휴대용 음악 플레이어, 휴대용 게임기, 스마트 폰, 또는 임의의 다른 텔레비전 장비, 컴퓨팅 장비, 또는 무선 디바이스, 및/또는 이들의 조합과 같은, 상술한 컨텐츠에 액세스하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 일부 실시예에서, 사용자 장비 디바이스는 전면 지향(front facing) 스크린 및 후면 지향 스크린, 복수의 전면(front) 스크린 또는 복수의 각진(angled) 스크린을 가질 수 있다. 일부 실시예에서, 사용자 장비 디바이스는 전면 지향 카메라 및/또는 후면 지향 카메라를 가질 수 있다. 이러한 사용자 장비 디바이스 상에서, 사용자는 텔레비전을 통해 이용 가능한 동일한 컨텐츠를 탐색하고 찾을 수 있다. 따라서, 미디어 가이던스가 이러한 디바이스 상에서도 이용될 수 있다. 제공되는 가이던스는 텔레비전을 통해서만 이용 가능한 컨텐츠, 하나 이상의 다른 유형의 사용자 장비 디바이스를 통해서만 이용 가능한 컨텐츠, 또는 텔레비전 및 하나 이상의 다른 유형의 사용자 장비 디바이스 모두를 통해 이용 가능한 컨텐츠에 대한 것일 수 있다. 미디어 가이던스 어플리케이션은 온-라인 어플리케이션(즉, 웹-사이트 상에서 제공됨)으로서 또는 독립형 어플리케이션 또는 사용자 장비 디바이스 상의 클라이언트로서 제공될 수 있다. 미디어 가이던스 어플리케이션을 구현할 수 있는 다양한 디바이스 및 플랫폼이 이하에서 더욱 상세하게 설명된다.
미디어 가이던스 어플리케이션의 기능 중 하나는 미디어 가이던스 데이터를 사용자에게 제공하는 것이다. 본원에 언급되는 "미디어 가이던스 데이터" 또는 "가이던스 데이터"라는 문구는 가이던스 어플리케이션을 동작시키는 데 사용되는 컨텐츠 또는 데이터와 관련된 임의의 데이터를 의미하는 것으로 이해되어야 한다. 예를 들어, 가이던스 데이터는 프로그램 정보, 가이던스 어플리케이션 설정, 사용자 선호도, 사용자 프로파일 정보, 미디어 목록, 미디어-관련 정보(예를 들어, 방송 시간, 방송 채널, 제목, 설명, 등급 정보(예를 들어, 부모 통제 등급, 평론가의 등급 등), 장르 또는 카테고리 정보, 배우 정보, 방송사 또는 공급자의 로고에 대한 로고 데이터 등), 미디어 포맷(예를 들어, 표준 선명도, 고선명도, 3D 등), 광고 정보(예를 들어, 텍스트, 이미지, 미디어 클립 등), 온-디맨드 정보, 블로그, 웹사이트 및 사용자가 원하는 컨텐츠 선택을 탐색하고 찾는 데 도움이 되는 임의의 다른 유형의 가이던스 데이터를 포함할 수 있다.
도 2 및 도 3은 미디어 가이던스 데이터를 제공하는 데 사용될 수 있는 예시적인 디스플레이 스크린을 나타낸다. 도 2 및 도 3에 나타낸 디스플레이 스크린은 임의의 적절한 사용자 장비 디바이스 또는 플랫폼 상에 구현될 수 있다. 도 2 및 도 3의 디스플레이가 풀 스크린 디스플레이로 나타내어져 있지만, 표시되는 컨텐츠 위에 전체로 또는 부분적으로 겹칠 수도 있다. 사용자는 디스플레이 스크린에 제공된 선택 가능한 옵션(예를 들어, 메뉴 옵션, 목록 옵션, 아이콘, 하이퍼링크 등)을 선택하거나 리모트 컨트롤 또는 다른 사용자 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들어, 가이드(GUIDE) 버튼)을 누름으로써 컨텐츠 정보에 액세스하려는 것을 나타낼 수 있다. 사용자의 표시에 응답하여, 미디어 가이던스 어플리케이션은, 그리드 내의 시간 및 채널별, 시간별, 채널별, 소스별, 컨텐츠 유형별, 카테고리별(예를 들어, 영화, 스포츠, 뉴스, 키즈 또는 프로그래밍의 다른 카테고리) 또는 다른 사전 정의된, 사용자 정의된, 또는 다른 편성 기준과 같이 몇몇 방식 중 하나로 편성된 미디어 가이던스 데이터를 디스플레이 스크린에 제공할 수 있다.
도 2는 시간 및 채널에 의해 배열되고 또한 단일 디스플레이에서 상이한 유형의 컨텐츠에 대한 액세스를 가능하게 하는 프로그램 목록 디스플레이(200)의 예시적인 그리드를 나타낸다. 디스플레이(200)는: (1) 각 채널/컨텐츠 유형 식별자(열(column) 내의 셀임)가 이용 가능한 상이한 채널 또는 컨텐츠 유형을 식별하는 채널/컨텐츠 유형 식별자의 열(204); 및 (2) 각 시간 식별자(행(row) 내의 셀임)가 프로그래밍의 시간 블록을 식별하는 시간 식별자의 행(206)을 갖는 그리드(202)를 포함할 수 있다. 그리드(202)는 또한 프로그램 목록(208)과 같은 프로그램 목록의 셀을 포함하며, 여기서 각 목록은 목록의 연관된 채널 및 시간 상에 제공된 프로그램의 제목을 제공한다. 사용자 입력 디바이스로, 사용자는 하이라이트 영역(210)을 이동시킴으로써 프로그램 목록을 선택할 수 있다. 하이라이트 영역(210)에 의해 선택된 프로그램 목록에 관한 정보는 프로그램 정보 영역(212)에 제공될 수 있다. 영역(212)은 예를 들어, 프로그램 제목, 프로그램 설명, 프로그램이 제공되는 시간(적용 가능한 경우), 프로그램이 온(on)되어 있는 채널(적용 가능한 경우), 프로그램의 등급 및 다른 원하는 정보를 포함할 수 있다.
선형 프로그래밍(예를 들어, 미리 정해진 시간에 복수의 사용자 장비 디바이스로 송신되도록 스케줄링되고 스케줄에 따라 제공되는 컨텐츠)에 대한 액세스를 제공하는 것에 추가하여, 미디어 가이던스 어플리케이션은 또한 비선형 프로그래밍(예를 들어, 사용자 장비 디바이스에 임의의 시간에 액세스할 수 있고 스케줄에 따라 제공되지 않는 컨텐츠)에 대한 액세스를 제공한다. 비선형 프로그래밍은 온-디맨드 컨텐츠(예를 들어, VOD), 인터넷 컨텐츠(예를 들어, 스트리밍 미디어, 다운로드 가능한 미디어 등), 로컬 저장 컨텐츠(예를 들어, 상술한 임의의 사용자 장비 디바이스 또는 다른 저장 디바이스에 저장된 컨텐츠), 또는 다른 시간-독립적인 컨텐츠를 포함하는, 상이한 컨텐츠 소스로부터의 컨텐츠를 포함할 수 있다. 온-디맨드 컨텐츠는 특정 컨텐츠 공급자에 의해 제공되는 영화 또는 임의의 다른 컨텐츠(예를 들어, "The Sopranos" 및 "Curb Your Enthusiasm"을 제공하는 HBO On Demand)를 포함할 수 있다. HBO ON DEMAND는 Time Warner Company L.P. 등의 소유의 서비스 마크이고, THE SOPRANOS 및 CURB YOUR ENTHUSIASM은 Home Box Office, Inc. 소유의 상표이다. 인터넷 컨텐츠는 챗 세션 또는 웹캐스트와 같은 웹 이벤트, 또는 인터넷 웹 사이트 또는 다른 인터넷 액세스(예를 들어, FTP)를 통한 스트리밍 컨텐츠 또는 다운로드 가능한 컨텐츠로서 온-디맨드로 이용 가능한 컨텐츠를 포함할 수 있다.
그리드(202)는 온-디맨드 목록(214), 녹화된 컨텐츠 목록(216) 및 인터넷 컨텐츠 목록(218)을 포함하는 비선형 프로그래밍을 위한 미디어 가이던스 데이터를 제공할 수 있다. 상이한 유형의 컨텐츠 소스로부터의 컨텐츠에 대한 미디어 가이던스 데이터를 결합하는 디스플레이는 때로는 "혼합-미디어" 디스플레이로 칭해진다. 디스플레이(200)와 상이하게 표시될 수 있는 미디어 가이던스 데이터 유형의 다양한 치환이 사용자 선택 또는 가이던스 어플리케이션 정의(예를 들어, 녹화 및 방송 목록만의 디스플레이, 온-디맨드 및 방송 목록만의 디스플레이 등)에 기초할 수 있다. 나타낸 바와 같이, 목록(214, 216 및 218)은 그리드(202)에 표시된 전체 시간 블록에 걸친 것으로 나타내어져, 이러한 목록의 선택이 각각 온-디맨드 목록, 녹화된 목록 또는 인터넷 목록에 전용인 디스플레이에 대한 액세스를 제공할 수 있음을 나타낸다. 일부 실시예에서, 이들 컨텐츠 유형에 대한 목록은 그리드(202)에 직접 포함될 수 있다. 추가 미디어 가이던스 데이터는, 사용자가 내비게이션 아이콘(220) 중 하나를 선택하는 것에 응답하여 표시될 수 있다. (사용자 입력 디바이스 상의 화살표 키를 누르면, 내비게이션 아이콘(220)을 선택하는 것과 유사한 방식으로 디스플레이에 영향을 줄 수 있음.)
디스플레이(200)는 또한 비디오 영역(222), 광고(224) 및 옵션 영역(226)을 포함할 수 있다. 비디오 영역(222)은 사용자에 대해 현재 이용 가능하거나, 이용 가능할 것이거나, 이용 가능했던 프로그램을 사용자가 보기 및/또는 미리 보기 가능하게 할 수 있다. 비디오 영역(222)의 컨텐츠는 그리드(202)에 표시된 목록들 중 하나에 대응하거나, 이로부터 독립적일 수 있다. 비디오 영역을 포함하는 그리드 디스플레이는 때로는 픽쳐-인-가이드(PIG: picture-in-guide) 디스플레이로 칭해진다. PIG 디스플레이 및 그 기능은 Satterfield 등의 2003년 5월 13일자로 허여된 미국 특허 제6,564,378호 및 Yuen 등의 2001년 5월 29일자로 허여된 미국 특허 제6,239,794호에 더욱 상세하게 설명되어 있으며, 이들은 그 전체로 본원에 참고로 통합된다. PIG 디스플레이는 본원에 설명되는 실시예의 다른 미디어 가이던스 어플리케이션 디스플레이 스크린에 포함될 수 있다.
광고(224)는 시청자의 액세스 권한에 따라(예를 들어, 구독 프로그래밍에 대해), 현재 시청할 수 있거나, 장래에 시청할 수 있거나, 시청할 수 없게 될 수 있는 컨텐츠에 대한 광고를 제공할 수 있으며, 그리드(202) 내의 하나 이상의 컨텐츠 목록에 대응되거나 관련되지 않을 수 있다. 광고(224)는 또한 그리드(202)에 표시된 컨텐츠와 관련되거나 관련되지 않은 제품 또는 서비스에 대한 것일 수 있다. 광고(224)는 선택 가능하고 컨텐츠에 관한 추가 정보를 제공하고, 제품 또는 서비스에 관한 정보를 제공하고, 컨텐츠, 제품 또는 서비스의 구매를 가능하게 하고, 광고와 관련된 컨텐츠를 제공할 수 있는 등을 행한다. 광고(224)는 사용자의 프로파일/선호도, 모니터링된 사용자 활동, 제공되는 디스플레이의 유형, 또는 다른 적절한 타겟 광고 기반에 기초하여 타겟화될 수 있다.
광고(224)는 직사각형 또는 배너 형상으로 나타내어졌지만, 광고는 가이던스 어플리케이션 디스플레이에서 임의의 적절한 크기, 형상 및 위치로 제공될 수 있다. 예를 들어, 광고(224)는 그리드(202)에 수평으로 인접한 직사각형 형상으로 제공될 수 있다. 이는 때로는 패널 광고라고 칭해진다. 또한, 광고는 컨텐츠 또는 가이던스 어플리케이션 디스플레이 위에 중첩되거나 디스플레이 내에 매립될 수 있다. 광고는 또한 텍스트, 이미지, 회전 이미지, 비디오 클립 또는 상술한 다른 유형의 컨텐츠를 포함할 수 있다. 광고는 가이던스 어플리케이션을 갖는 사용자 장비, 사용자 장비에 접속된 데이터베이스, 원격 위치(스트리밍 미디어 서버 포함), 또는 다른 저장 수단, 또는 이들 위치의 조합에 저장될 수 있다. 미디어 가이던스 어플리케이션에 광고를 제공하는 것은 예를 들어, Knudson 등의 2003년 1월 17일자로 출원된 미국 특허 출원 공개 제2003/0110499호; Ward, III 등의 2004년 6월 29일자로 허여된 미국 특허 제6,756,997호; 및 Schein 등의 2002년 5월 14일자로 허여된 미국 특허 제6,388,714호에 더욱 상세히 설명되어 있으며, 이들은 그 전체로 본원에 참조로 통합된다. 광고는 본원에 설명되는 실시예의 다른 미디어 가이던스 어플리케이션 디스플레이 스크린에 포함될 수 있다는 것이 이해될 것이다.
일부 실시예에서, 광고(224)는 광고 할당 어플리케이션에 의해 제공될 수 있다. 광고 할당 어플리케이션은 상술된 액션에 기초하여, 특정 광고 슬롯 동안의 특정 광고가 광고(224)로서 표시되어야 한다고 결정할 수 있다. 일부 실시예에서, 광고 할당 어플리케이션은 광고 소스(524) 상에 상주할 수 있다. 광고 할당 어플리케이션 광고 소스(524)로부터 사용자 디바이스(예를 들어, 사용자 디바이스(502, 504 또는 506))로 광고(224)를 송신할 수 있다.
옵션 영역(226)은, 사용자가 상이한 유형의 컨텐츠, 미디어 가이던스 어플리케이션 디스플레이, 및/또는 미디어 가이던스 어플리케이션 피쳐에 액세스하는 것을 허용할 수 있다. 옵션 영역(226)은 디스플레이(200)(및 본원에 설명된 다른 디스플레이 스크린)의 일부일 수 있거나, 온-스크린 옵션을 선택하거나 사용자 입력 디바이스 상의 전용 또는 할당 가능한 버튼을 누름으로써 사용자에 의해 호출될 수 있다. 옵션 영역(226) 내의 선택 가능한 옵션은 그리드(202)의 프로그램 목록과 관련된 피쳐에 관한 것일 수 있거나, 메인 메뉴 디스플레이로부터 이용 가능한 옵션을 포함할 수 있다. 프로그램 목록과 관련된 피쳐는 프로그램 수신, 프로그램 녹화, 프로그램의 연속 녹화 활성화, 즐겨찾기로서 프로그램 및/또는 채널 설정, 프로그램 구매, 또는 다른 피쳐의 다른 방송 시간 또는 방법에 대한 검색을 포함할 수 있다. 메인 메뉴 디스플레이에서 이용 가능한 옵션은 검색 옵션, VOD 옵션, 부모 제어 옵션, 인터넷 옵션, 클라우드-기반 옵션, 디바이스 동기화 옵션, 보조 스크린 디바이스 옵션, 다양한 유형의 미디어 가이던스 데이터 디스플레이에 액세스하는 옵션, 프리미엄 서비스에 대한 구독 옵션, 사용자 프로파일을 편집하는 옵션, 브라우즈 오버레이에 액세스하는 옵션, 또는 다른 옵션을 포함할 수 있다.
미디어 가이던스 어플리케이션은 사용자의 선호도에 기초하여 개인화될 수 있다. 개인화된 미디어 가이던스 어플리케이션은, 사용자가 디스플레이 및 피쳐를 맞춤화할 수 있게 하여, 미디어 가이던스 어플리케이션으로 개인화된 "경험"을 생성한다. 이러한 개인화된 경험은 사용자가 이러한 맞춤화를 입력할 수 있게 하여 및/또는 사용자 활동을 모니터링하는 미디어 가이던스 어플리케이션에 의해 생성될 수 있어 다양한 사용자 선호도를 결정한다. 사용자는 로그인하거나 이와 달리 자신을 가이던스 어플리케이션에 대해 식별함으로써 그 개인화된 가이던스 어플리케이션에 액세스할 수 있다. 미디어 가이던스 어플리케이션의 맞춤화는 사용자 프로파일에 따라 이루어질 수 있다. 맞춤화는 다양한 프리젠테이션 스킴(예를 들어, 디스플레이의 컬러 스킴, 텍스트의 폰트 크기 등), 표시된 컨텐츠 목록의 양태(예를 들어, HDTV만 또는 3D 프로그래밍만, 즐겨찾기 채널 선택에 기초한 사용자-지정 방송 채널, 채널, 추천 컨텐츠의 디스플레이의 재순서화 등), 원하는 녹화 피쳐(예를 들어, 특정 사용자에 대한 녹화 또는 연속 녹화, 녹화 품질 등), 부모 제어 설정, 인터넷 컨텐츠의 맞춤화된 프리젠테이션(예를 들어, 소셜 미디어 컨텐츠, 이-메일, 전자적으로 전달된 기사 등의 프리젠테이션) 및 다른 원하는 맞춤화를 포함할 수 있다.
미디어 가이던스 어플리케이션은, 사용자가 사용자 프로파일 정보를 제공할 수 있게 하거나 사용자 프로파일 정보를 자동으로 컴파일할 수 있다. 미디어 가이던스 어플리케이션은 예를 들어, 사용자가 액세스하는 컨텐츠 및/또는 사용자가 가질 수 있는 가이던스 어플리케이션과의 다른 상호 작용을 모니터링할 수 있다. 또한, 미디어 가이던스 어플리케이션은 (예를 들어, www.tivo.com과 같이 사용자가 액세스하는 인터넷 상의 다른 웹 사이트로부터, 사용자가 액세스하는 다른 미디어 가이던스 어플리케이션으로부터, 사용자가 액세스하는 다른 상호 작용 어플리케이션으로부터, 사용자의 다른 사용자 장비 디바이스로부터, 등) 특정 사용자와 관련된 다른 사용자 프로파일의 전체 또는 일부를 얻을 수 있고/있거나 미디어 가이던스 어플리케이션이 액세스할 수 있는 다른 소스로부터 사용자에 관한 정보를 얻을 수 있다. 결과적으로, 사용자는 사용자의 상이한 사용자 장비 디바이스에 걸쳐 통일된 가이던스 어플리케이션 경험을 제공받을 수 있다. 이러한 유형의 사용자 경험이 도 5와 관련하여 아래에서 더욱 상세히 설명된다. 추가적인 개인화된 미디어 가이던스 어플리케이션 피쳐가, Ellis 등의 2005년 7월 11일자로 출원된 미국 특허 출원 공개 제2005/0251827호, Boyer 등의 2007년 1월 16일자로 허여된 미국 특허 제7,165,098호, 및 Ellis 등의 2002년 2월 21일자로 출원된 미국 특허 출원 공개 제2002/0174430호에 더욱 상세하게 설명되어 있으며, 이들은 그 전체로 본원에 참고로 통합된다.
미디어 가이던스를 제공하기 위한 다른 디스플레이 구성이 도 3에 나타내어져 있다. 비디오 모자이크 디스플레이(300)는 컨텐츠 유형, 장르 및/또는 다른 편성 기준에 기초하여 편성된 컨텐츠 정보에 대한 선택 가능한 옵션(302)을 포함한다. 디스플레이(300)에서, 텔레비전 목록 옵션(304)이 선택되어, 방송 프로그램 목록으로서 목록(306, 308, 310 및 312)을 제공한다. 디스플레이(300)에서, 목록은 커버 아트, 컨텐츠로부터의 스틸 이미지, 비디오 클립 미리 보기, 컨텐츠로부터의 라이브 비디오, 또는 목록에서 미디어 가이던스 데이터에 의해 설명되는 컨텐츠를 사용자에게 나타내는 다른 유형의 컨텐츠를 포함하는 그래픽 이미지를 제공할 수 있다. 각 그래픽 목록은 또한 텍스트를 수반하여 목록과 연관된 컨텐츠에 대한 추가 정보를 제공할 수 있다. 예를 들어, 목록(308)은 미디어부(314) 및 텍스트부(316)를 포함하는 1개보다 많은 부분을 포함할 수 있다. 미디어부(314) 및/또는 텍스트부(316)는 풀-스크린으로 컨텐츠를 보거나, 미디어부(314)에 표시된 컨텐츠와 관련된 정보를 보기 위해 (예를 들어, 비디오가 표시되는 채널에 대한 목록을 보기 위해) 선택 가능할 수 있다.
디스플레이(300)의 목록은 상이한 크기를 갖지만(즉, 목록(306)은 목록(308, 310 및 312)보다 큼), 원한다면 모든 목록은 동일한 크기일 수 있다. 목록은 컨텐츠 공급자가 원하는대로 또는 사용자 선호도에 기초하여, 사용자에게 관심 있는 정도를 나타내거나 특정 컨텐츠를 강조하기 위해 상이한 크기를 가질 수 있거나 그래픽으로 강조될 수 있다. 컨텐츠 목록을 그래픽으로 강조하기 위한 다양한 시스템 및 방법이 예를 들어, Yates의 2009년 11월 12일자로 출원된 미국 특허 출원 공개 제2010/0153885호에서 설명되며, 이는 그 전체로 본원에 참고로 통합된다.
사용자는 하나 이상의 그 사용자 장비 디바이스로부터 컨텐츠 및 미디어 가이던스 어플리케이션(및 상술한 및 후술되는 그 디스플레이 스크린)에 액세스할 수 있다. 도 4는 예시적인 사용자 장비 디바이스(400)의 일반화된 실시예를 나타낸다. 사용자 장비 디바이스의 보다 구체적인 구현이 도 5와 관련하여 아래에 설명된다. 사용자 장비 디바이스(400)는 입력/출력(이하, "I/O") 경로(402)를 통해 컨텐츠 및 데이터를 수신할 수 있다. I/O 경로(402)는 컨텐츠(예를 들어, 방송 프로그래밍, 온-디맨드 프로그래밍, 인터넷 컨텐츠, 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 통해 이용 가능한 컨텐츠, 및/또는 다른 컨텐츠) 및 데이터를 프로세싱 회로(406) 및 저장소(408)를 포함하는 제어 회로(404)에 제공할 수 있다. 제어 회로(404)는 I/O 경로(402)를 사용하여 커맨드, 요청 및 다른 적절한 데이터를 전송 및 수신하는 데 사용될 수 있다. I/O 경로(402)는 제어 회로(404)(및 구체적으로 프로세싱 회로(406))를 하나 이상의 통신 경로(후술함)에 접속시킬 수 있다. I/O 기능은 이들 통신 경로 중 하나 이상에 의해 제공될 수 있지만, 도 4에서는 도면이 지나치게 복잡하게 되지 않도록 단일 경로로 나타내어진다.
제어 회로(404)는 프로세싱 회로(406)와 같은 임의의 적절한 프로세싱 회로에 기초할 수 있다. 본원에서 언급되는 바와 같이, 프로세싱 회로는 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 프로그래머블 논리 디바이스, 필드-프로그래머블 게이트 어레이(FPGA), 어플리케이션-특정 집적 회로(ASIC) 등에 기초한 회로를 의미하는 것으로 이해되어야 하며, 멀티-코어 프로세서(예를 들어, 듀얼-코어, 쿼드-코어, 헥사-코어 또는 임의의 적절한 수의 코어) 또는 슈퍼컴퓨터를 포함할 수 있다. 일부 실시예에서, 프로세싱 회로는 복수의 개별 프로세서 또는 프로세싱 유닛, 예를 들어, 복수의 동일 유형의 프로세싱 유닛(예를 들어, 2개의 Intel Core i7 프로세서) 또는 복수의 상이한 프로세서(예를 들어, Intel Core i5 프로세서 및 Intel Core i7 프로세서)에 걸쳐 분산될 수 있다. 일부 실시예에서, 제어 회로(404)는 메모리(즉, 저장소(408))에 저장된 미디어 가이던스 어플리케이션에 대한 명령어들을 실행한다. 구체적으로, 제어 회로(404)는 상술하거나 후술되는 기능을 수행하도록 미디어 가이던스 어플리케이션에 의해 지시될 수 있다. 예를 들어, 미디어 가이던스 어플리케이션은 미디어 가이던스 디스플레이를 생성하도록 제어 회로(404)에 명령어들을 제공할 수 있다. 일부 구현에서, 제어 회로(404)에 의해 수행되는 임의의 액션은 미디어 가이던스 어플리케이션으로부터 수신된 명령어들에 기초할 수 있다.
클라이언트-서버 기반 실시예에서, 제어 회로(404)는 가이던스 어플리케이션 서버 또는 다른 네트워크 또는 서버와 통신하기에 적절한 통신 회로를 포함할 수 있다. 상술한 기능을 수행하기 위한 명령어들은 가이던스 어플리케이션 서버에 저장될 수 있다. 통신 회로는 케이블 모뎀, 통합 서비스 디지털 네트워크(ISDN) 모뎀, 디지털 가입자 라인(DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 장비와의 통신을 위한 무선 모뎀, 또는 임의의 다른 적절한 통신 회로를 포함할 수 있다. 이러한 통신은 인터넷 또는 임의의 다른 적절한 통신 네트워크 또는 경로(도 5와 관련하여 보다 상세하게 설명됨)와 관련될 수 있다. 또한, 통신 회로는 사용자 장비 디바이스의 피어-투-피어 통신 또는 서로 멀리 떨어진 위치에서의 사용자 장비 디바이스의 통신을 가능하게 하는 회로를 포함할 수 있다(보다 상세히 후술됨).
메모리는 제어 회로(404)의 일부인 저장소(408)로서 제공되는 전자 저장 디바이스일 수 있다. 본원에서 언급되는 "전자 저장 디바이스" 또는 "저장 디바이스"라는 문구는 랜덤-액세스 메모리, 판독-전용 메모리, 하드 드라이브, 광 드라이브, 디지털 비디오 디스크(DVD) 레코더, 컴팩트 디스크(CD) 레코더, BLU-RAY 디스크(BD) 레코더, BLU-RAY 3D 디스크 레코더, 디지털 비디오 레코더(DVR, 개인용 비디오 레코더 또는 PVR이라고 때로 칭해짐), 솔리드 스테이트 디바이스, 퀀텀 저장 디바이스, 게임 콘솔, 게임 미디어 또는 임의의 다른 적절한 고정식 또는 이동식 저장 디바이스 및/또는 이들의 임의의 조합과 같은, 전자 데이터, 컴퓨터 소프트웨어 또는 펌웨어를 저장하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 저장소(408)는 상술한 미디어 가이던스 데이터뿐만 아니라 본원에 설명되는 다양한 유형의 컨텐츠를 저장하는 데 사용될 수 있다. 비휘발성 메모리가 (예를 들어, 부트-업(boot-up) 루틴 및 다른 명령어들을 론칭하기 위해) 또한 사용될 수 있다. 도 5와 관련하여 설명된 클라우드-기반 저장소가 저장소(408)를 보충하기 위해 또는 저장소(408) 대신 사용될 수 있다.
제어 회로(404)는 하나 이상의 아날로그 튜너, 하나 이상의 MPEG-2 디코더 또는 다른 디지털 디코딩 회로, 고선명 튜너, 또는 임의의 다른 적절한 튜닝 또는 비디오 회로 또는 이러한 회로들의 조합과 같은 비디오 생성 회로 및 튜닝 회로를 포함할 수 있다. 또한, (예를 들어, 공중파, 아날로그 또는 디지털 신호를 저장용 MPEG 신호로 변환하기 위한) 인코딩 회로가 제공될 수 있다. 제어 회로(404)는 또한 컨텐츠를 사용자 장비(400)의 선호하는 출력 포맷으로 업컨버팅 및 다운컨버팅하기 위한 스케일러(scaler) 회로를 포함할 수 있다. 회로(404)는 또한 디지털 신호와 아날로그 신호 사이의 변환을 위한 디지털-대-아날로그 변환기 회로 및 아날로그-대-디지털 변환기 회로를 포함할 수 있다. 튜닝 및 인코딩 회로는 사용자 장비 디바이스에 의해 사용되어 컨텐츠를 수신하거나 표시하거나, 재생하거나 녹화할 수 있다. 튜닝 및 인코딩 회로는 또한 가이던스 데이터를 수신하는 데 사용될 수 있다. 예를 들어, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 해독, 스케일러, 및 아날로그/디지털 회로를 포함하는 본원에 설명되는 회로는 하나 이상의 범용 또는 특수 프로세서 상에서 실행되는 소프트웨어를 사용하여 구현될 수 있다. 동시 튜닝 기능(예를 들면, 감시 및 녹화 기능, 픽쳐-인-픽쳐(PIP) 기능, 복수-튜너 녹화 등)을 처리하기 위해 복수의 튜너가 제공될 수 있다. 저장소(408)가 사용자 장비(400)와 별개의 디바이스로서 제공되는 경우, 튜닝 및 인코딩 회로(복수의 튜너 포함)는 저장소(408)와 연관될 수 있다.
사용자는 사용자 입력 인터페이스(410)를 사용하여 제어 회로(404)에 명령어들을 전송할 수 있다. 사용자 입력 인터페이스(410)는 리모트 컨트롤, 마우스, 트랙볼, 키패드, 키보드, 터치 스크린, 터치패드, 스타일러스 입력, 조이스틱, 음성 인식 인터페이스 또는 다른 사용자 입력 인터페이스와 같은 임의의 적절한 사용자 인터페이스일 수 있다. 디스플레이(412)는 독립형 디바이스로서 제공되거나 사용자 장비 디바이스(400)의 다른 요소와 통합될 수 있다. 예를 들어, 디스플레이(412)는 터치스크린 또는 터치-감지 디스플레이일 수 있다. 이러한 상황에서, 사용자 입력 인터페이스(410)는 디스플레이(412)와 통합되거나 결합될 수 있다. 디스플레이(412)는 하나 이상의 모니터, 텔레비전, 모바일 디바이스용 액정 디스플레이(LCD), 비정질 실리콘 디스플레이, 저온 폴리실리콘 디스플레이, 전자 잉크 디스플레이, 전기 영동 디스플레이, 액티브 매트릭스 디스플레이, 전자-습윤 디스플레이, 전자 유체 디스플레이, 음극선관 디스플레이, 발광 다이오드 디스플레이, 전계 발광 디스플레이, 플라즈마 디스플레이 패널, 고성능 어드레싱 디스플레이, 박막 트랜지스터 디스플레이, 유기 발광 다이오드 디스플레이, 표면-도전 전자-이미터 디스플레이(SED), 레이저 텔레비전, 탄소 나노튜브, 양자점 디스플레이, 간섭계 변조기 디스플레이, 또는 시각적 이미지를 표시하기 위한 임의의 다른 적절한 장비일 수 있다. 일부 실시예에서, 디스플레이(412)는 HDTV 가능할 수 있다. 일부 실시예에서, 디스플레이(412)는 3D 디스플레이일 수 있고, 상호 작용 미디어 가이던스 어플리케이션 및 임의의 적절한 컨텐츠가 3D로 표시될 수 있다. 비디오 카드 또는 그래픽 카드가 디스플레이(412)로의 출력을 생성할 수 있다. 비디오 카드는 3D 장면 및 2D 그래픽의 가속 렌더링, MPEG-2/MPEG-4 디코딩, TV 출력 또는 복수의 모니터 접속 기능과 같은 다양한 기능을 제공할 수 있다. 비디오 카드는 제어 회로(404)와 관련하여 상술한 임의의 프로세싱 회로일 수 있다. 비디오 카드는 제어 회로(404)와 통합될 수 있다. 스피커(414)는 사용자 장비 디바이스(400)의 다른 요소와 통합되어 제공될 수 있거나 독립형 유닛일 수 있다. 디스플레이(412) 상에 표시된 비디오 및 다른 컨텐츠의 오디오 성분은 스피커(414)를 통해 재생될 수 있다. 일부 실시예에서, 오디오는 스피커(414)를 통해 오디오를 프로세싱 및 출력하는 수신기(미도시)에 분배될 수 있다.
가이던스 어플리케이션은 임의의 적절한 아키텍처를 사용하여 구현될 수 있다. 예를 들어, 이는 사용자 장비 디바이스(400) 상에 전체적으로 구현된 독립형 어플리케이션일 수 있다. 이러한 접근법에서, 어플리케이션의 명령어들은 로컬로(예를 들어, 저장소(408)에) 저장되고, 어플리케이션에 의한 사용을 위한 데이터는 (예를 들어, 대역 외(out-of-band) 피드로부터, 인터넷 자원으로부터, 또는 다른 적절한 접근법을 사용하여) 주기적으로 다운로드된다. 제어 회로(404)는 저장소(408)로부터 어플리케이션의 명령어들을 검색하고, 본원에서 논의된 디스플레이 중 임의의 것을 생성하기 위해 명령어들을 프로세싱할 수 있다. 프로세싱된 명령어들에 기초하여, 제어 회로(404)는, 입력이 입력 인터페이스(410)로부터 수신될 때 어떠한 액션을 수행할지를 결정할 수 있다. 예를 들어, 입력 인터페이스(410)가 위(up)/아래(down) 버튼이 선택되었음을 나타낼 때, 디스플레이 상의 커서의 위/아래 이동은 프로세싱된 명령어들에 의해 나타내어질 수 있다.
일부 실시예에서, 미디어 가이던스 어플리케이션은 클라이언트-서버 기반 어플리케이션이다. 사용자 장비 디바이스(400) 상에 구현된 두꺼운 또는 얇은 클라이언트에 의한 사용을 위한 데이터는 사용자 장비 디바이스(400)에 대해 원격인 서버에 요청을 발행함으로써 온-디맨드로 검색된다. 클라이언트-서버 기반 가이던스 어플리케이션의 일례에서, 제어 회로(404)는 원격 서버에 의해 제공되는 웹 페이지를 인터프리팅하는 웹 브라우저를 실행한다. 예를 들어, 원격 서버는 어플리케이션에 대한 명령어들을 저장 디바이스에 저장할 수 있다. 원격 서버는 회로(예를 들어, 제어 회로(404))를 사용하여 저장된 명령어들을 프로세싱하고, 상술 및 후술하는 디스플레이를 생성할 수 있다. 클라이언트 디바이스는 원격 서버에 의해 생성된 디스플레이를 수신할 수 있으며, 장비 디바이스(400) 상에 디스플레이의 컨텐츠를 로컬로 표시할 수 있다. 이러한 방식으로, 결과적인 디스플레이가 장비 디바이스(400) 상에 로컬로 제공되는 동안, 명령어들의 프로세싱이 서버에 의해 원격으로 수행된다. 장비 디바이스(400)는 입력 인터페이스(410)를 통해 사용자로부터 입력을 수신하고 대응하는 디스플레이를 프로세싱 및 생성하기 위해 이들 입력을 원격 서버에 송신할 수 있다. 예를 들어, 장비 디바이스(400)는, 위/아래 버튼이 입력 인터페이스(410)를 통해 선택되었음을 나타내는 통신을 원격 서버로 송신할 수 있다. 원격 서버는 그 입력에 따라 명령어들을 프로세싱할 수 있으며, 입력에 대응하는 어플리케이션의 디스플레이(예를 들어, 커서를 위/아래로 이동시키는 디스플레이)를 생성할 수 있다. 생성된 디스플레이는 그 후 사용자에 대한 프리젠테이션을 위해 장비 디바이스(400)로 송신된다.
일부 실시예에서, 미디어 가이던스 어플리케이션은 다운로드 및 인터프리팅되거나, 이와 달리 인터프리터 또는 가상 머신(제어 회로(404)에 의해 실행됨)에 의해 실행된다. 일부 실시예에서, 가이던스 어플리케이션은 ETV 바이너리 상호 교환 포맷(EBIF)으로 인코딩되고, 적절한 피드의 일부로서 제어 회로(404)에 의해 수신되고, 제어 회로(404) 상에서 실행되는 사용자 에이전트에 의해 인터프리팅될 수 있다. 예를 들어, 가이던스 어플리케이션은 EBIF 어플리케이션일 수 있다. 일부 실시예에서, 가이던스 어플리케이션은 제어 회로(404)에 의해 실행되는 로컬 가상 머신 또는 다른 적절한 미들웨어에 의해 수신되고 실행되는 일련의 JAVA-기반 파일에 의해 정의될 수 있다. 이러한 일부 실시예(예를 들어, MPEG-2 또는 다른 디지털 미디어 인코딩 스킴을 채용하는 것)에서, 가이던스 어플리케이션은 예를 들어, 프로그램의 MPEG 오디오 및 비디오 패킷과 함께 MPEG-2 객체 캐로셀(carousel)로 인코딩 및 송신될 수 있다.
도 4의 사용자 장비 디바이스(400)는 사용자 텔레비전 장비(502), 사용자 컴퓨터 장비(504), 무선 사용자 통신 디바이스(506), 또는 비휴대용 게임기와 같은, 컨텐츠에 액세스하기에 적절한 임의의 다른 유형의 사용자 장비로서 도 5의 시스템(500)에서 구현될 수 있다. 간략화를 위해, 이들 디바이스는 본원에서 사용자 장비 또는 사용자 장비 디바이스로서 총괄적으로 지칭될 수 있으며, 상술한 사용자 장비 디바이스와 실질적으로 유사할 수 있다. 미디어 가이던스 어플리케이션이 구현될 수 있는 사용자 장비 디바이스는 독립형 디바이스로서 기능할 수 있거나 디바이스의 네트워크의 일부일 수 있다. 디바이스의 다양한 네트워크 구성이 구현될 수 있으며, 이하에서 더욱 상세히 논의된다.
도 4와 관련하여 상술한 시스템 피쳐 중 적어도 일부를 이용하는 사용자 장비 디바이스는, 사용자 텔레비전 장비(502), 사용자 컴퓨터 장비(504), 또는 무선 사용자 통신 디바이스(506)로서 단지 분류되지 않을 수 있다. 예를 들어, 사용자 텔레비전 장비(502)는, 일부 사용자 컴퓨터 장비(504)와 같이, 인터넷 컨텐츠에 대한 액세스를 허용하는 인터넷-가능형일 수 있으며, 사용자 컴퓨터 장비(504)는 일부 사용자 텔레비전 장비(502)와 같이, 텔레비전 프로그래밍에 대한 액세스를 허용하는 튜너를 포함할 수 있다. 미디어 가이던스 어플리케이션은 다양한 상이한 유형의 사용자 장비 상에서 동일한 레이아웃을 가질 수 있거나, 사용자 장비의 디스플레이 기능에 맞춤화될 수 있다. 예를 들어, 사용자 컴퓨터 장비(504) 상에서, 가이던스 어플리케이션은 웹 브라우저에 의해 액세스되는 웹 사이트로서 제공될 수 있다. 다른 예에서, 가이던스 어플리케이션은 무선 사용자 통신 디바이스(506)에 대해 축소될 수 있다.
시스템(500)에서, 통상적으로 1개 초과의 각 유형의 사용자 장비 디바이스가 있지만, 도면을 과도하게 복잡하게 하지 않기 위해 각각의 하나만이 도 5에 나타내어져 있다. 또한, 각 사용자는 1개 초과의 유형의 사용자 장비 디바이스 및 또한 1개 초과의 각각의 유형의 사용자 장비 디바이스를 이용할 수 있다.
일부 실시예에서, 사용자 장비 디바이스(예를 들어, 사용자 텔레비전 장비(502), 사용자 컴퓨터 장비(504), 무선 사용자 통신 디바이스(506))는 "제2 스크린 디바이스"로 지칭될 수 있다. 예를 들어, 제2 스크린 디바이스는 제1 사용자 장비 디바이스 상에 표시된 컨텐츠를 보충할 수 있다. 제2 스크린 디바이스 상에 표시되는 컨텐츠는 제1 디바이스 상에 표시된 컨텐츠를 보충하는 임의의 적절한 컨텐츠일 수 있다. 일부 실시예에서, 제2 스크린 디바이스는 제1 디바이스의 설정 및 디스플레이 선호도를 조정하기 위한 인터페이스를 제공한다. 일부 실시예에서, 제2 스크린 디바이스는 다른 제2 스크린 디바이스와 상호 작용하거나 소셜 네트워크와 상호 작용하기 위해 구성된다. 제2 스크린 디바이스는 제1 디바이스와 동일한 룸, 동일한 집 또는 건물에 있지만 제1 디바이스와 상이한 룸, 또는 제1 디바이스와 상이한 건물에 위치될 수 있다.
또한, 사용자는 집 내의 디바이스 및 원격 디바이스에 걸쳐 일관된 미디어 가이던스 어플리케이션 설정을 유지하기 위해 다양한 설정을 설정할 수 있다. 설정은 본원에 설명되는 것뿐만 아니라, 채널 및 프로그램 즐겨 찾기, 가이던스 어플리케이션이 프로그래밍 추천을 하기 위해 이용하는 프로그래밍 선호도, 디스플레이 선호도 및 다른 바람직한 가이던스 설정을 포함한다. 예를 들어, 사용자가 그 사무실에 있는 퍼스널 컴퓨터 상의 예를 들어, 웹 사이트 www.tivo.com과 같은 채널을 즐겨 찾기로 설정하면, 동일한 채널이 사용자의 집 내의 디바이스(예를 들어, 사용자 텔레비전 장비 및 사용자 컴퓨터 장비)뿐만 아니라 원하는 경우, 사용자의 모바일 디바이스 상에 즐겨 찾기로서 나타날 것이다. 따라서, 하나의 사용자 장비 디바이스에 대해 이루어진 변경은 동일하거나 상이한 유형의 사용자 장비 디바이스인지 여부에 관계 없이, 다른 사용자 장비 디바이스에 대한 가이던스 경험을 변경할 수 있다. 또한, 이루어진 변경은 사용자에 의해 입력된 설정뿐만 아니라 가이던스 어플리케이션에 의해 모니터링되는 사용자 활동에 기초할 수도 있다.
사용자 장비 디바이스는 통신 네트워크(514)에 커플링될 수 있다. 즉, 사용자 텔레비전 장비(502), 사용자 컴퓨터 장비(504) 및 무선 사용자 통신 디바이스(506)는 각각 통신 경로(508, 510 및 512)를 통해 통신 네트워크(514)에 커플링된다. 통신 네트워크(514)는 인터넷, 모바일 전화 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들어, 4G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환 전화 네트워크, 또는 다른 유형의 통신 네트워크 또는 통신 네트워크의 조합을 포함하는 하나 이상의 네트워크일 수 있다. 경로(508, 510 및 512)는 위성 경로, 광섬유 경로, 케이블 경로, 인터넷 통신(예를 들어, IPTV)을 지원하는 경로, 자유 공간 접속(예를 들어, 방송 또는 다른 무선 신호용), 또는 임의의 다른 적절한 유선 또는 무선 통신 경로 또는 이러한 경로의 조합과 같은 하나 이상의 통신 경로를 개별적으로 또는 함께 포함할 수 있다. 경로(512)는 도 5에 나타낸 예시적인 실시예에서 무선 경로라는 것을 나타내기 위해 점선으로 도시되고, 경로(508 및 510)는 유선 경로라는 나타내기 위해(하지만, 이 경로는 원하는 경우 무선 경로일 수 있음) 실선으로 도시된다. 사용자 장비 디바이스와의 통신은 이들 통신 경로 중 하나 이상에 의해 제공될 수 있지만, 도면을 과도하게 복잡하게 하지 않기 위해 도 5에서는 단일 경로로 나타내어진다.
통신 경로가 사용자 장비 디바이스들 사이에 도시되지 않지만, 이들 디바이스들은 경로(508, 510 및 512)와 관련하여 상술한 것과 같은 통신 경로뿐만 아니라, USB 케이블, IEEE 1394 케이블과 같은 다른 근거리 점-대-점 통신 경로, 무선 경로(예를 들어, Bluetooth, 적외선, IEEE 802-11x 등) 또는 유선 또는 무선 경로를 통한 다른 근거리 통신과 같은 통신 경로를 통해 서로 직접 통신할 수 있다. BLUETOOTH는 Bluetooth SIG, INC 소유의 인증 마크이다. 사용자 장비 디바이스는 또한 통신 네트워크(514)를 통해 간접적인 경로를 통해 서로 직접 통신할 수 있다.
시스템(500)은 각각 통신 경로(520 및 522)를 통해 통신 네트워크(514)에 커플링되는 컨텐츠 소스(516) 및 미디어 가이던스 데이터 소스(518)를 포함한다. 경로(520 및 522)는 경로(508, 510 및 512)와 관련하여 상술한 임의의 통신 경로를 포함할 수 있다. 컨텐츠 소스(516) 및 미디어 가이던스 데이터 소스(518)와의 통신은 하나 이상의 통신 경로를 통해 교환될 수 있지만, 도면을 과도하게 복잡하게 하지 않기 위해 도 5에서는 단일 경로로 나타내어진다. 또한, 1개보다 많은 각각의 컨텐츠 소스(516) 및 미디어 가이던스 데이터 소스(518)가 존재할 수 있지만, 도면을 과도하게 복잡하게 하지 않기 위해 각각의 것들 중 1개만이 도 5에 나타내어져 있다. (이러한 상이한 유형의 각각의 소스가 후술된다.) 원하는 경우, 컨텐츠 소스(516) 및 미디어 가이던스 데이터 소스(518)는 하나의 소스 디바이스로서 통합될 수 있다. 소스들(516 및 518)과 사용자 장비 디바이스들(502, 504 및 506) 사이의 통신이 통신 네트워크(514)를 통하는 것으로 나타내어져 있지만, 일부 실시예에서, 소스들(516 및 518)은 경로(508, 510, 및 512)와 관련하여 상술한 바와 같이 통신 경로(도시되지 않음)를 통해 사용자 장비 디바이스들(502, 504 및 506)과 직접 통신할 수 있다.
시스템(500)은 또한 통신 경로(526)를 통해 통신 네트워크(514)에 커플링된 광고 소스(524)를 포함할 수 있다. 경로(526)는 경로(508, 510 및 512)와 관련하여 상술한 통신 경로 중 임의의 것을 포함할 수 있다. 광고 소스(524)는 특정 사용자에게 그리고 특정 상황 하에서 광고를 송신할 수 있는 광고 할당 어플리케이션을 포함할 수 있다. 예를 들어, 케이블 운영자는 특정 채널 상의 특정 시간 슬롯 동안 광고를 삽입할 권한을 가질 수 있다. 따라서, 광고 소스(524)는 이러한 시간 슬롯 동안 사용자에게 광고를 송신할 수 있다.
컨텐츠 소스(516)는 텔레비전 분배 설비, 케이블 시스템 헤드엔드(headend), 위성 분배 설비, 프로그래밍 소스(예를 들어, NBC, ABC, HBO 등과 같은 텔레비전 방송국들), 중간 분배 설비 및/또는 서버, 인터넷 공급자, 온-디맨드 미디어 서버 및 다른 컨텐츠 공급자를 포함하는 하나 이상의 유형의 컨텐츠 분배 장비를 포함할 수 있다. NBC는 National Broadcasting Company, Inc. 소유의 상표이며, ABC는 American Broadcasting Company, Inc. 소유의 상표이며, HBO는 Home Box Office, Inc. 소유의 상표이다. 컨텐츠 소스(516)는 컨텐츠의 발신자(예를 들어, 텔레비전 방송국, 웹캐스트 공급자 등)일 수 있거나, 컨텐츠의 발신자가 아닐 수 있다(예를 들어, 온-디맨드 컨텐츠 공급자, 다운로드용 방송 프로그램의 컨텐츠의 인터넷 공급자 등). 컨텐츠 소스(516)는 케이블 소스, 위성 공급자, 온-디맨드 공급자, 인터넷 공급자, 오버-더-톱(over-the-top) 컨텐츠 공급자 또는 다른 컨텐츠 공급자를 포함할 수 있다. 컨텐츠 소스(516)는 또한 임의의 사용자 장비 디바이스로부터 떨어진 위치에 다른 유형의 컨텐츠(사용자에 의해 선택된 비디오 컨텐츠를 포함)를 저장하는 데 사용되는 원격 미디어 서버를 포함할 수 있다. 컨텐츠의 원격 저장용이고 원격 저장된 컨텐츠를 사용자 장비에 제공하기 위한 시스템 및 방법이 Ellis 등의 2010년 7월 20일자로 허여된 미국 특허 제7,761,892호와 관련하여 더욱 상세하게 논의되며, 이는 그 전체로 본원에 참고로 통합된다.
미디어 가이던스 데이터 소스(518)는 상술한 미디어 가이던스 데이터와 같은 미디어 가이던스 데이터를 제공할 수 있다. 미디어 가이던스 데이터는 임의의 적절한 접근법을 사용하여 사용자 장비 디바이스에 제공될 수 있다. 일부 실시예에서, 가이던스 어플리케이션은 데이터 피드(예를 들어, 연속 피드 또는 트리클(trickle) 피드)를 통해 프로그램 가이드 데이터를 수신하는 독립형 상호 작용 텔레비전 프로그램 가이드일 수 있다. 프로그램 스케줄 데이터 및 다른 가이던스 데이터는 대역 내 디지털 신호를 사용하거나, 대역 외 디지털 신호를 사용하거나, 임의의 다른 적절한 데이터 송신 기술에 의해, 텔레비전 채널 측대역 상에서 사용자 장비에 제공될 수 있다. 프로그램 스케줄 데이터 및 다른 미디어 가이던스 데이터는 복수의 아날로그 또는 디지털 텔레비전 채널 상에서 사용자 장비에 제공될 수 있다.
일부 실시예에서, 미디어 가이던스 데이터 소스(518)로부터의 가이던스 데이터는 클라이언트-서버 접근법을 사용하여 사용자 장비에 제공될 수 있다. 예를 들어, 사용자 장비 디바이스는 서버로부터 미디어 가이던스 데이터를 풀(pull)할 수 있거나, 서버가 사용자 장비 디바이스로 미디어 가이던스 데이터를 푸시(push)할 수 있다. 일부 실시예에서, 사용자 장비에 상주하는 가이던스 어플리케이션 클라이언트는, 예를 들어, 가이던스 데이터가 오래된 경우 또는 사용자 장비 디바이스가 사용자로부터 데이터를 수신하라는 요청을 수신한 경우, 필요할 때 가이던스 데이터를 얻기 위해 소스(518)와 세션을 개시할 수 있다. 미디어 가이던스는 임의의 적절한 빈도로 (예를 들어, 연속적으로, 매일, 사용자가 지정한 시간 주기, 시스템 지정 시간 주기, 사용자 장비로부터의 요청에 응답하여, 등) 사용자 장비에 제공될 수 있다. 미디어 가이던스 데이터 소스(518)는 사용자 장비 디바이스(502, 504 및 506)에 미디어 가이던스 어플리케이션 자체 또는 미디어 가이던스 어플리케이션에 대한 소프트웨어 업데이트를 제공할 수 있다.
일부 실시예에서, 미디어 가이던스 데이터는 뷰어 데이터를 포함할 수 있다. 예를 들어, 뷰어 데이터는 현재 및/또는 이력 사용자 활동 정보(예를 들어, 사용자가 통상적으로 시청하는 컨텐츠, 사용자가 컨텐츠를 시청하는 일시, 사용자가 소셜 네트워크와 상호 작용하는지 여부, 사용자가 정보를 포스팅하기 위해 소셜 네트워크와 상호 작용하는 시간, 사용자가 통상적으로 시청하는 컨텐츠의 유형(예를 들어, 유료 TV 또는 무료 TV), 기분, 뇌 활동 정보 등)를 포함할 수 있다. 미디어 가이던스 데이터는 또한 구독 데이터를 포함할 수 있다. 예를 들어, 구독 데이터는 주어진 사용자가 어떤 소스 또는 서비스를 구독하는지 및/또는 주어진 사용자가 어떤 소스 또는 서비스를 이전에 구독했으나 나중에 액세스를 종료했는지(예를 들어, 사용자가 프리미엄 채널을 구독하는지 여부, 사용자가 서비스의 프리미엄 레벨을 올렸는지 여부, 사용자가 인터넷 속도를 증가시켰는지 여부)를 식별할 수 있다. 일부 실시예에서, 뷰어 데이터 및/또는 구독 데이터는 1년 초과의 기간 동안의 주어진 사용자의 패턴을 식별할 수 있다. 미디어 가이던스 데이터는, 주어진 사용자가 서비스/소스에 대한 액세스를 종료할 가능성을 나타내는 스코어를 생성하는 데 사용되는 모델(예를 들어, 생존자 모델)을 포함할 수 있다. 예를 들어, 미디어 가이던스 어플리케이션은, 주어진 사용자가 특정 서비스 또는 소스에 대한 액세스를 종료할지에 대한 가능성을 나타내는 값 또는 스코어를 생성하기 위한 모델을 사용하여 뷰어 데이터를 구독 데이터로 프로세싱할 수 있다. 특히, 더 높은 스코어는, 사용자가 특정 서비스 또는 소스에 대한 액세스를 종료할 것이라는 더 높은 레벨의 신뢰성을 나타낼 수 있다. 스코어에 기초하여, 미디어 가이던스 어플리케이션은, 사용자가 액세스를 종료할 가능성이 있는 것에 대한 스코어에 의해 나타내어진 특정 서비스 또는 소스를 사용자가 유지하도록 유도하는 프로모션 및 광고를 생성할 수 있다.
미디어 가이던스 어플리케이션은 예를 들어, 사용자 장비 디바이스 상에 구현된 독립형 어플리케이션일 수 있다. 예를 들어, 미디어 가이던스 어플리케이션은 저장소(408)에 저장되고 사용자 장비 디바이스(400)의 제어 회로(404)에 의해 실행될 수 있는 소프트웨어 또는 실행 가능한 명령어들의 세트로서 구현될 수 있다. 일부 실시예에서, 미디어 가이던스 어플리케이션은 클라이언트-서버 어플리케이션일 수 있으며, 여기서 클라이언트 어플리케이션만이 사용자 장비 디바이스 상에 상주하고, 서버 어플리케이션은 원격 서버 상에 상주한다. 예를 들어, 미디어 가이던스 어플리케이션은 부분적으로 클라이언트 어플리케이션으로서 사용자 장비 디바이스(400)의 제어 회로(404) 상에 및 부분적으로 원격 서버의 제어 회로 상에서 실행되는 서버 어플리케이션(예를 들어, 미디어 가이던스 데이터 소스(518))로서 원격 서버 상에 구현될 수 있다. (미디어 가이던스 데이터 소스(518)와 같은) 원격 서버의 제어 회로에 의해 실행될 때, 미디어 가이던스 어플리케이션은 제어 회로로 하여금 가이던스 어플리케이션 디스플레이를 생성하고 생성된 디스플레이를 사용자 장비 디바이스로 송신하도록 지시할 수 있다. 서버 어플리케이션은 사용자 장비 상의 저장을 위해 미디어 가이던스 데이터 소스(518)의 제어 회로로 하여금 데이터를 송신하도록 지시할 수 있다. 클라이언트 어플리케이션은 수신하는 사용자 장비의 제어 회로로 하여금 가이던스 어플리케이션 디스플레이를 생성하도록 지시할 수 있다.
사용자 장비 디바이스(502, 504 및 506)에 전달된 컨텐츠 및/또는 미디어 가이던스 데이터는 오버-더-톱(OTT) 컨텐츠일 수 있다. OTT 컨텐츠 전달은 상술한 임의의 사용자 장비 디바이스를 포함하는 인터넷-가능 사용자 디바이스가 케이블 또는 위성 접속을 통해 수신된 컨텐츠 외에 상술한 임의의 컨텐츠를 포함하여 인터넷을 통해 전송되는 컨텐츠를 수신할 수 있게 한다. OTT 컨텐츠는 인터넷 서비스 공급자(ISP)에 의해 제공된 인터넷 접속을 통해 전달되지만, 제3자가 컨텐츠를 분배한다. ISP는 컨텐츠의 시청 능력, 저작권 또는 재배포에 대한 책임을 지지 않을 수 있으며, OTT 컨텐츠 공급자에 의해 제공된 IP 패킷만을 전송할 수 있다. OTT 컨텐츠 공급자의 예는 IP 패킷을 통해 오디오 및 비디오를 제공하는 YOUTUBE, NETFLIX 및 HULU를 포함한다. Youtube는 Google Inc. 소유의 상표이고, Netflix는 Netflix Inc. 소유의 상표이며, Hulu는 Hulu, LLC. 소유의 상표이다. OTT 컨텐츠 공급자는 추가적으로 또는 대안적으로 상술한 미디어 가이던스 데이터를 제공할 수 있다. OTT 컨텐츠 공급자는, 컨텐츠 및/또는 미디어 가이던스 데이터에 추가하여, 미디어 가이던스 어플리케이션(예를 들어, 웹-기반 어플리케이션 또는 클라우드-기반 어플리케이션)을 분배할 수 있거나, 컨텐츠가 사용자 장비 디바이스에 저장된 미디어 가이던스 어플리케이션에 의해 표시될 수 있다.
미디어 가이던스 시스템(500)은 컨텐츠에 액세스하고 미디어 가이던스를 제공할 목적으로 사용자 장비 디바이스 및 컨텐츠 및 가이던스 데이터의 소스가 서로 통신할 수 있는 다수의 접근법 또는 네트워크 구성을 나타내기 위한 것이다. 본원에 설명되는 실시예는 이들 접근법 중 임의의 하나 또는 서브셋, 또는 컨텐츠를 전달하고 미디어 가이던스를 제공하기 위한 다른 접근법을 채용하는 시스템에 적용될 수 있다. 다음의 4개의 접근법은 도 5의 일반화된 예의 특정 예시를 제공한다.
하나의 접근법에서, 사용자 장비 디바이스는 홈 네트워크 내에서 서로 통신할 수 있다. 사용자 장비 디바이스는 홈 네트워크 상에 제공된 허브 또는 다른 유사한 디바이스를 통한 간접 경로를 통해, 또는 통신 네트워크(514)를 통해 상술한 근거리 점-대-점 통신 스킴을 통해 서로 직접 통신할 수 있다. 단일 집 내의 복수의 개인 각각이 홈 네트워크 상의 다른 사용자 장비 디바이스를 동작시킬 수 있다. 결과적으로, 다양한 미디어 가이던스 정보 또는 설정이 상이한 사용자 장비 디바이스들 사이에서 통신되는 것이 바람직할 수 있다. 예를 들어, Ellis 등의 2005년 7월 11일자로 출원된 미국 특허 공개 제2005/0251827호에 더욱 상세히 설명되어 있는 바와 같이, 사용자는 홈 네트워크 내의 상이한 사용자 장비 디바이스에 대해 일관된 미디어 가이던스 어플리케이션 설정을 유지하는 것이 바람직할 수 있다. 홈 네트워크 내의 상이한 유형의 사용자 장비 디바이스는 또한 서로 통신하여 컨텐츠를 송신할 수 있다. 예를 들어, 사용자는 사용자 컴퓨터 장비로부터 휴대용 비디오 플레이어 또는 휴대용 음악 플레이어로 컨텐츠를 송신할 수 있다.
제2 접근법에서, 사용자는 컨텐츠에 액세스하여 미디어 가이던스를 얻는 복수 유형의 사용자 장비를 가질 수 있다. 예를 들어, 일부 사용자는 집 내에서 모바일 디바이스에 의해 액세스되는 홈 네트워크를 가질 수 있다. 사용자는 원격 디바이스 상에 구현된 미디어 가이던스 어플리케이션을 통해 집 내의 디바이스를 제어할 수 있다. 예를 들어, 사용자는 그 사무실의 퍼스널 컴퓨터 또는 PDA 또는 웹-가능형 모바일 전화와 같은 모바일 디바이스를 통해 웹사이트 상의 온라인 미디어 가이던스 어플리케이션에 액세스할 수 있다. 사용자는 온라인 가이던스 어플리케이션에 다양한 설정(예를 들어, 녹화, 리마인더 또는 다른 설정)을 설정하여 사용자의 집 내의 장비를 제어할 수 있다. 온라인 가이드는 사용자의 장비를 직접 제어하거나, 사용자의 집 내의 장비에 대한 미디어 가이던스 어플리케이션과 통신하여 제어할 수 있다. 예를 들어, 그 전체로 본원에 참고로서 통합되는 Ellis 등의 2011년 10월 25일자로 허여된 미국 특허 제8,046,801호에, 사용자 장비 디바이스가 서로 떨어져 있는 위치에서 통신하는 사용자 장비 디바이스에 대한 다양한 시스템 및 방법이 논의된다.
제3 접근법에서, 집 내부 및 외부의 사용자 장비 디바이스의 사용자는 그 미디어 가이던스 어플리케이션을 사용하여 컨텐츠에 액세스하기 위해 컨텐츠 소스(516)와 직접 통신할 수 있다. 구체적으로, 집 내에서, 사용자 텔레비전 장비(502) 및 사용자 컴퓨터 장비(504)의 사용자는 바람직한 컨텐츠를 탐색하고 찾기 위해 미디어 가이던스 어플리케이션에 액세스할 수 있다. 사용자는 또한 무선 사용자 통신 디바이스(506)를 사용하여 집 외부의 미디어 가이던스 어플리케이션에 액세스하여 바람직한 컨텐츠를 탐색하고 찾을 수 있다.
제4 접근법에서, 사용자 장비 디바이스는 클라우드 컴퓨팅 환경에서 클라우드 서비스에 액세스하기 위해 동작할 수 있다. 클라우드 컴퓨팅 환경에서, 컨텐츠 공유, 저장 또는 분배를 위한 다양한 유형의 컴퓨팅 서비스(예를 들어, 비디오 공유 사이트 또는 소셜 네트워킹 사이트)가 "클라우드"라고 칭하는 네트워크-액세스 가능한 컴퓨팅 및 저장 자원의 컬렉션에 의해 제공된다. 예를 들어, 클라우드는 통신 네트워크(514)를 통해 인터넷과 같은 네트워크를 통해 접속된 다양한 유형의 사용자 및 디바이스에 클라우드-기반 서비스를 제공하는 중앙 또는 분산 위치에 배치될 수 있는 서버 컴퓨팅 디바이스의 컬렉션을 포함할 수 있다. 이러한 클라우드 자원은 하나 이상의 컨텐츠 소스(516) 및 하나 이상의 미디어 가이던스 데이터 소스(518)를 포함할 수 있다. 추가적으로 또는 대안적으로, 원격 컴퓨팅 사이트는 사용자 텔레비전 장비(502), 사용자 컴퓨터 장비(504), 및 무선 사용자 통신 디바이스(506)와 같은 다른 사용자 장비 디바이스를 포함할 수 있다. 예를 들어, 다른 사용자 장비 디바이스는 비디오 또는 스트리밍된 비디오의 저장된 사본에 대한 액세스를 제공할 수 있다. 이러한 실시예에서, 사용자 장비 디바이스는 중앙 서버와 통신하지 않고 피어-투-피어 방식으로 동작할 수 있다.
클라우드는 사용자 장비 디바이스에 대해, 다른 예들 중에서, 상술한 임의의 컨텐츠에 대한 액세스뿐만 아니라, 컨텐츠 저장, 컨텐츠 공유, 또는 소셜 네트워킹 서비스와 같은 서비스에 대한 액세스를 제공한다. 서비스는 클라우드 컴퓨팅 서비스 공급자를 통해 또는 다른 온라인 서비스의 공급자를 통해 클라우드에서 제공될 수 있다. 예를 들어, 클라우드-기반 서비스는 컨텐츠 저장 서비스, 컨텐츠 공유 사이트, 소셜 네트워킹 사이트 또는 사용자 소스의 컨텐츠가 접속된 디바이스 상에서 다른 사람이 볼 수 있도록 분배되는 다른 서비스를 포함할 수 있다. 이러한 클라우드-기반 서비스는, 사용자 장비 디바이스가 컨텐츠를 로컬로 저장하고 로컬로 저장된 컨텐츠에 액세스하는 것이 아니라, 클라우드에 컨텐츠를 저장할 수 있게 하고, 클라우드로부터 컨텐츠를 수신할 수 있게 할 수 있다.
사용자는 컨텐츠를 녹화하기 위해 캠코더, 비디오 모드를 갖는 디지털 카메라, 오디오 레코더, 모바일 전화 및 휴대용 컴퓨팅 디바이스와 같은 다양한 컨텐츠 캡처 디바이스를 사용할 수 있다. 사용자는 예를 들어, 사용자 컴퓨터 장비(504) 또는 컨텐츠 캡처 피쳐를 갖는 무선 사용자 통신 디바이스(506)로부터 직접 클라우드 상의 컨텐츠 저장 서비스에 컨텐츠를 업로드할 수 있다. 대안적으로, 사용자는 우선 사용자 컴퓨터 장비(504)와 같은 사용자 장비 디바이스로 컨텐츠를 전송할 수 있다. 컨텐츠를 저장하는 사용자 장비 디바이스는 통신 네트워크(514) 상의 데이터 송신 서비스를 사용하여 클라우드에 컨텐츠를 업로드한다. 일부 실시예에서, 사용자 장비 디바이스 자체는 클라우드 자원이고, 다른 사용자 장비 디바이스는, 사용자가 컨텐츠를 저장한 사용자 장비 디바이스로부터 직접 컨텐츠에 액세스할 수 있다.
클라우드 자원은 예를 들어, 웹 브라우저, 미디어 가이던스 어플리케이션, 데스크탑 어플리케이션, 모바일 어플리케이션, 및/또는 이들의 액세스 어플리케이션의 임의의 조합을 사용하여 사용자 장비 디바이스에 의해 액세스될 수 있다. 사용자 장비 디바이스는 어플리케이션 전달을 위해 클라우드 컴퓨팅에 따르는 클라우드 클라이언트일 수 있거나, 사용자 장비 디바이스는 클라우드 자원에 대한 액세스 없이 일부 기능을 가질 수 있다. 예를 들어, 사용자 장비 디바이스 상에서 실행되는 일부 어플리케이션은 클라우드 어플리케이션, 즉 인터넷을 통해 서비스로서 전달되는 어플리케이션일 수 있으며, 다른 어플리케이션은 사용자 장비 디바이스 상에 저장 및 실행될 수 있다. 일부 실시예에서, 사용자 디바이스는 복수의 클라우드 자원으로부터 동시에 컨텐츠를 수신할 수 있다. 예를 들어, 사용자 디바이스는 하나의 클라우드 자원으로부터 오디오를 스트리밍하면서, 제2 클라우드 자원으로부터 컨텐츠를 다운로드할 수 있다. 또는, 사용자 디바이스가 더 효율적인 다운로드를 위해 복수의 클라우드 자원으로부터 컨텐츠를 다운로드할 수 있다. 일부 실시예에서, 사용자 장비 디바이스는 도 4와 관련하여 설명된 프로세싱 회로에 의해 수행되는 프로세싱 동작과 같은 동작을 프로세싱하기 위해 클라우드 자원을 사용할 수 있다.
본원에서 언급되는, "이에 응답하여"라는 용어는 그 결과로서 개시되는 것을 지칭한다. 예를 들어, 제2 액션에 응답하여 수행되는 제1 액션은 제1 액션과 제2 액션 사이의 중간 단계들을 포함할 수 있다. 본원에서 언급되는, "이에 직접 응답하여"라는 용어는 그에 의해 유발되는 것을 지칭한다. 예를 들어, 제2 액션에 대해 직접 응답하여 수행되는 제1 액션은 제1 액션과 제2 액션 사이의 중간 단계들을 포함하지 않을 수 있다.
도 6은 광고 배치 충돌을 해결하는 데 사용될 수 있는 프로세스(600)를 나타낸다. 602에서, 제어 회로(404)는 복수의 광고가 복수의 광고 슬롯에 어떻게 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신한다. 제어 회로(404)는 사용자 텔레비전 장비(502), 사용자 컴퓨터 장비(504) 및 무선 사용자 통신 디바이스(506) 중 임의의 것에 있을 수 있다. 일부 실시예에서, 제어 회로(404)는 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 및/또는 광고 소스(524)와 연관된 서버)에 있을 수 있다. 제어 회로(404)는 사용자 입력 인터페이스(410)로부터 광고 모델을 수신할 수 있다. 604에서, 제어 회로(404)는 복수의 파라미터에 기초하여 복수의 광고 슬롯에의 복수의 광고의 할당을 시뮬레이팅한다. 제어 회로(404)는 시뮬레이션 자체를 수행하거나, 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 또는 광고 소스(524)와 연관된 서버)로 광고 할당 모델을 (예를 들어, 통신 네트워크(514)를 통해) 송신할 수 있다.
606에서, 제어 회로(404)는 시뮬레이팅에 기초하여, 복수의 파라미터 중의 파라미터를 위반하지 않고 복수의 광고 슬롯에 대한 복수의 광고를 할당하는 것을 막는 충돌이 존재하는지 결정한다. 제어 회로(404)는 상술한 바와 같이 광고 슬롯에 파라미터를 적용함으로써 결정을 내릴 수 있다. 일부 실시예에서, 제어 회로(404)는 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 또는 광고 소스(524)에 위치한 서버)로부터 식별된 충돌을 기술하는 데이터를 갖는 시뮬레이션 결과를 수신할 수 있다.
608에서, 제어 회로는 결정에 응답하여, 복수의 파라미터 중의 각 파라미터에 대한 각각의 파라미터 스코어를 검색하며, 여기서 각 파라미터 스코어는 대응하는 파라미터의 중요도를 나타낸다. 제어 회로는 상술한 바와 같이 데이터베이스로부터 복수의 파라미터를 검색할 수 있다. 데이터베이스는 저장소(408) 또는 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 또는 광고 소스(524)와 연관된 서버) 상에 로컬로 있을 수 있다. 제어 회로(404)는 질의를 데이터베이스에 송신함으로써 파라미터를 검색하고, 데이터베이스로부터 필요한 정보를 수신할 수 있다.
610에서, 제어 회로(404)는 검색된 파라미터 스코어에 기초하여 광고 할당 모델에 대한 총 파라미터 스코어를 계산한다. 예를 들어, 제어 회로(404)는 모든 파라미터 스코어의 수학적 합을 계산할 수 있다. 일부 실시예에서, 파라미터 스코어는 가중화될 수 있다. 이들 실시예에서, 제어 회로는 각 파라미터 스코어의 가중치를 고려하여 총 파라미터 스코어를 계산할 수 있다.
612에서, 제어 회로(404)는 이하의 액션을 취하는 광고 할당 모델로부터 제거하기 위한 적어도 하나의 파라미터를 선택한다. 614에서, 제어 회로(404)는 광고 할당 모델로부터의 그 제거가 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정한다. 제어 회로(404)는 충돌을 해결하기 위해 광고 할당 모델로부터 제거될 수 있는 파라미터의 상이한 조합을 결정하기 위해 실행 가능성 완화 모듈을 실행할 수 있다. 일부 실시예에서, 제어 회로(404)는 식별하기 위해 광고 할당 모델을 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 또는 광고 소스(524)와 연관된 서버)로 (예를 들어, 통신 네트워크(514)를 통해) 송신할 수 있다.
616에서, 제어 회로(404)는 광고 할당 모델에서 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어를 계산하며, 여기서 각각 계산된 상이한 총 파라미터 스코어는 광고 할당 모델로부터의, 적어도 하나의 충돌 파라미터의 상이한 것의 제거에 기초한다. 제어 회로는 각각의 가능한 구성에 대한 데이터 구조를 생성하고, 그 구성으로부터 제거되지 않은 상이한 파라미터를 데이터 구조에 저장할 수 있다. 제어 회로는 모든 파라미터 스코어의 합, 또는 일부 실시예에서 가중화된 합을 계산할 수 있다. 데이터 구조는 (예를 들어, 저장소(408)에) 로컬로 또는 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 및/또는 광고 소스(524)와 연관된 서버)에 있을 수 있다. 618에서, 제어 회로(404)는 상이한 총 파라미터 스코어에 기초하여, 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거된 다수의 충돌 파라미터의 수를 최소화하는 상이한 구성으로부터의 복수의 파라미터의 구성을 결정한다. 제어 회로는 총 파라미터 스코어로부터 최소로 변경된 합을 결정하고 그 합과 연관된 구성을 사용할 수 있다. 합에 기초하여, 총 파라미터 스코어에 가장 근접한 값인 복수의 구성이 결정되면, 가장 적은 수의 파라미터 제거를 필요로 하는 구성이 선택된다.
620에서, 제어 회로(404)는 총 파라미터 스코어에 대한 변경을 최소화하고 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 구성에 따라 광고 할당 모델로부터 적어도 하나의 충돌 파라미터를 제거하도록 광고 할당 모델을 수정한다. 예를 들어, 제어 회로(404)는 총 파라미터 스코어에 가장 근접한 값의 합, 또는 일부 실시예에서 가중화된 합을 갖는 구성을 포함하는 데이터 구조를 선택할 수 있고, 광고 할당 모델의 파라미터를 구성 데이터의 파라미터로 대체한다.
622에서, 제어 회로(404)는 수정된 광고 할당 모델에 기초하여 복수의 광고 슬롯에 복수의 광고를 할당한다. 제어 회로(404)는 시뮬레이션을 수행하는 것과 유사한 방식으로 할당을 수행할 수 있지만, 대신에 할당 정보를 광고 시스템(예를 들어, 광고 소스(524)에 위치한 광고 시스템)에 실제로 송신할 수 있다.
도 7은 본 발명의 일부 실시예에 따라, 광고 할당 모델의 파라미터가 충돌을 일으키는지 여부를 결정하기 위한 예시적인 프로세스를 도시한다. 702에서, 제어 회로(404)는 복수의 파라미터, 복수의 광고 슬롯 식별자 및 복수의 광고 식별자를 수신한다. 제어 회로는 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 및 광고 소스(524) 중 임의의 것으로부터 복수의 파라미터, 복수의 광고 슬롯, 및 복수의 광고 식별자를 (예를 들어, I/O 경로(402)를 통해) 수신할 수 있다.
704에서, 제어 회로(404)는 복수의 파라미터에서 이전에 선택되지 않은 파라미터가 더 있는지 여부를 결정할 수 있다. 예를 들어, 제어 회로(404)는 프로세싱될 모든 파라미터를 데이터 구조에 저장할 수 있다. 제어 회로는 프로세싱을 위해 한번에 하나의 파라미터를 선택하는 모든 파라미터를 통해 반복할 수 있다. 제1 반복 동안 선택되지 않은 파라미터가 있을 것이다. 그러나, 제1 반복 후에, 모든 파라미터가 프로세싱될 수 있을 때 반복이 도달될 수 있다. 이는 모든 파라미터가 성공적으로 적용되었음을 나타낸다. 따라서, 모든 파라미터가 이전에 선택되었다면, 프로세스(700)는 706으로 이동하며, 여기서 제어 회로는 충돌이 없다는 것을 나타내는 메시지를 (예를 들어, I/O 경로(402)를 통해) 송신한다.
이전에 선택되지 않은 파라미터가 더 있다면, 프로세스(700)는 액션(708)으로 이동한다. 708에서, 제어 회로는 복수의 파라미터로부터 이전에 선택되지 않은 파라미터를 선택한다. 상기 예시한 바와 같이, 제어 회로는 데이터 구조(예를 들어, 저장소(408))에 복수의 파라미터를 저장할 수 있다. 일부 실시예에서, 제어 회로는 복수의 파라미터 중의 각 파라미터를 데이터 구조에 저장하고, 각각의 파라미터 데이터 구조에 대한 포인터를 갖는 다른 데이터 구조를 생성할 수 있다. 제어 회로는 데이터 구조 내의 포인터를 프로세싱될 다음 파라미터로 이동시킴으로써 이전에 선택되었던 모든 파라미터의 기록을 유지하고 이전에 선택되지 않았던 파라미터를 선택할 수 있다.
710에서, 제어 회로(404)는 광고 슬롯 식별자와 연관된 광고 슬롯에 광고 식별자와 연관된 광고를 배치하기 위해, 이전에 선택되지 않은 파라미터를 광고 슬롯 식별자 및 광고 식별자에 적용한다. 이전에 선택되지 않은 파라미터가 제1 파라미터인 경우, 제어 회로는 파라미터를 적용할 수 있다. 그러나, 이전에 선택되지 않은 파라미터가 선택된 제1 파라미터가 아닌 경우, 제어 회로는 적용 액션의 상이한 반복의 저장된 상태를 (예를 들어, 저장소(408)로부터) 검색하고 현재 파라미터를 저장된 상태로 적용할 수 있다. 저장된 상태는 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 및/또는 광고 소스(524)와 연관된 서버)로부터 검색될 수 있음에 유의해야 한다. 제어 회로가 광고를 광고 슬롯에 배치하기 위해 이전에 선택되지 않은 파라미터를 적용하려고 시도하면, 제어 회로는 파라미터를 수학적 용어로 변환할 수 있다(예를 들어, 파라미터는 파라미터를 만족시키는 데 필요한 시간 슬롯의 수와 연관될 수 있다). 제어 회로는 저장된 상태로부터 이용 가능한 광고 슬롯의 수를 검색할 수 있다. 이용 가능한 광고 슬롯의 수가 변환된 파라미터에 의해 요구되는 광고 슬롯의 수 이상이면, 제어 회로는 적절한 수의 광고 슬롯을 파라미터에 할당하고 상태를 (예를 들어, 저장소(408)에) 저장할 수 있다. 제어 회로는 요구되는 광고 슬롯이 이용 가능한 경우 동작을 위한 성공 코드를 생성할 수 있다. 이용 가능한 광고 슬롯의 수가 변환된 파라미터에 의해 요구되는 것보다 작은 경우, 제어 회로는 실패 코드 또는 오류 코드를 생성할 수 있다. 일부 실시예에서, 제어 회로는 실패와 관련된 메타데이터(예를 들어, 오류를 야기한 파라미터, 파라미터를 성공적으로 적용하는 데 필요한 광고 슬롯의 수 및 다른 적절한 메타데이터)를 생성할 수 있다. 제어 회로는 저장소(408) 또는 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 및/또는 광고 소스(524)와 연관된 서버)에 메타데이터와 함께 실패 또는 성공 코드를 저장할 수 있다.
712에서, 제어 회로는, 적용 단계가 성공적으로 완료되었는지 여부를 결정한다. 예를 들어, 제어 회로는 검색 코드가 성공 또는 실패에 대응하는지 여부를 결정하기 위해 성공 또는 실패 코드 및 관련 메타데이터를 검색할 수 있다. 적용이 성공적으로 완료되지 않은 경우, 프로세스(700)는 단계(714)로 이동하며, 여기서 제어 회로(404)는 복수의 파라미터 중의 파라미터를 위반하지 않고 복수의 광고 슬롯에의 복수의 광고의 할당을 막는 충돌이 존재하는 것으로 결정한다. 예를 들어, 검색된 코드가 실패 코드에 대응하는 경우, 제어 회로는 충돌이 존재하는 것으로 결정할 수 있다. 제어 회로는 그 결정을 에러 코드로서 저장하거나 그 에러 코드를 다른 루틴으로 송신할 수 있다.
제어 회로가, 적용이 성공적으로 완료된 것으로 결정하면, 프로세스(700)는 단계(716)로 이동하며, 여기서 제어 회로는 최근 반복을 포함하는 적용 액션의 상이한 반복의 상태를 저장한다. 프로세스(700)는 그 후 액션(704)으로 이동하며, 여기서 제어 회로는 이전에 선택되지 않은 파라미터가 더 있는지 여부를 다시 결정한다.
도 8은 총 파라미터 스코어를 계산하기 위한 예시적인 프로세스를 도시한다. 802에서, 제어 회로(404)는 복수의 파라미터에 대한 복수의 파라미터 스코어를 검색한다. 제어 회로는 저장소(408)로부터 파라미터 스코어를 검색할 수 있다. 일부 실시예에서, 제어 회로는 제거 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518) 및/또는 광고 소스(524)와 연관된 서버)로부터 파라미터 스코어를 검색할 수 있다. 804에서, 제어 회로(404)는 총 파라미터 스코어를 초기화한다. 예를 들어, 제어 회로는 총 파라미터 스코어에 사용될 변수를 인스턴스화하고 나중에 액세스될 저장소(예를 들어, 저장소(408))에 변수를 저장할 수 있다.
806에서, 제어 회로(404)는 이전에 선택되지 않은 파라미터 스코어가 더 있는지 여부를 결정한다. 제어 회로는 모든 파라미터 스코어에 대한 데이터 구조를 생성하고 이전에 선택된 모든 파라미터의 기록을 유지할 수 있다. 제어 회로는, 모든 파라미터 스코어가 선택되었는지 여부를 기록에 기초하여 결정할 수 있다. 모든 파라미터 스코어가 이전에 선택되었다면, 프로세스(800)는 808로 이동하며, 여기서 제어 회로(404)는 총 파라미터 스코어를 (예를 들어, 저장소(408)에) 저장한다. 모든 파라미터 스코어가 아직 이전에 선택되지 않았다면, 프로세스(800)는 810으로 이동하며, 여기서 제어 회로(404)는 이전에 선택되지 않은 파라미터 스코어를 선택한다. 예를 들어, 제어 회로는 모든 파라미터 스코어를 저장하는 데이터 구조로부터 기록에 기초하여 아직 선택되지 않은 파라미터 스코어를 검색할 수 있다.
812에서, 제어 회로(404)는 이전에 선택되지 않은 파라미터 스코어를 총 파라미터 스코어에 추가한다. 프로세스(800)는 액션(806)으로 이동하고, 모든 파라미터가 프로세싱(즉, 선택)될 때까지 계속된다.
도 9는 광고 할당 모델로부터의 그 제거가 충돌을 해결하는 하나 이상의 충돌 파라미터를 결정하기 위한 예시적인 프로세스를 도시한다. 902에서, 제어 회로(404)는 각각의 파라미터 스코어에 기초하여 복수의 파라미터의 각 파라미터를 등급화하고, 여기서 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고 최저-등급 파라미터는 최고 파라미터 스코어와 연관된다. 예를 들어, 제어 회로는 각 파라미터를 통해 반복하여 각 파라미터에 대해 대응하는 파라미터 스코어를 검색할 수 있다. 제어 회로는 각각의 검색된 파라미터 스코어를 다른 이전에 검색된 파라미터 스코어와 비교하여 검색된 파라미터 스코어를 순서대로 배치할 수 있다.
904에서, 제어 회로(404)는 이전에 선택되지 않은 파라미터가 더 있는지 여부를 결정한다. 예를 들어, 제어 회로는 이전에 선택된 모든 파라미터의 기록을 유지할 수 있다. 이전에 선택된 모든 파라미터는 충돌을 해결하는 파라미터의 상이한 구성과 비교되었고 이전의 비교가 성공적이지 않았던 이러한 파라미터이다. 따라서, 모든 파라미터가 이전에 선택되었다면, 결과는 충돌이 해결될 수 없다는 것이다. 따라서, 프로세스(900)는 906으로 이동하고, 여기서 제어 회로(404)는, 충돌이 해결될 수 없음을 나타낸다. 예를 들어, 제어 회로는 충돌이 해결될 수 없다는 통지를 사용자에게 표시하기 위해 생성할 수 있다. 일부 실시예에서, 제어 회로는 충돌이 해결될 수 없음을 나타내는 이메일 또는 다른 적절한 포맷의 형태로 메시지를 사용자 또는 사용자들에게 송신할 수 있다.
그러나, 이전에 선택되지 않은 파라미터가 더 있다면, 프로세스(900)는 908로 이동하며, 여기서 제어 회로(404)는 이전에 선택되지 않은 최고-등급 파라미터를 선택하고 이전에 선택되지 않은 파라미터를 복수의 선택된 파라미터에 추가한다. 예를 들어, 제어 회로는 등급화된 순서로 파라미터를 저장한 데이터 구조에 액세스할 수 있고, 아직 선택되지 않은 최고-등급 파라미터를 검색할 수 있다. 제어 회로는 데이터 구조의 필드를 업데이트함으로써 선택된 파라미터를 마킹할 수 있다(예를 들어, 부울(Boolean)을 거짓에서 참으로, 또는 그 반대).
910에서, 제어 회로(404)는 복수의 파라미터 중 이전에 선택되지 않은 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 생성한다. 제어 회로는 데이터 구조를 생성하고, 현재 선택된 파라미터를 데이터 구조에 배치하지 않고, 각 파라미터 또는 각 파라미터에 대한 포인터를 데이터 구조에 배치할 수 있다. 제어 회로는 저장소(408) 또는 원격 서버(예를 들어, 미디어 컨텐츠 소스(516), 미디어 가이던스 데이터 소스(518), 또는 광고 소스(524)와 연관된 서버)에 데이터 구조를 저장할 수 있다.
912에서, 제어 회로(404)는 제2 복수의 파라미터를 파라미터의 복수의 구성의 각각과 비교하며, 여기서 복수의 구성 중의 각각의 구성은 충돌을 일으키지 않는 구성이다. 예를 들어, 제어 회로는 2개의 파라미터(특정 구성으로부터의 파라미터 하나와 제2 복수의 파라미터로부터의 파라미터 하나)가 매칭되는지 여부를 결정하기 위해 각 파라미터와 연관된 식별값들을 비교할 수 있다. 제어 회로는 임의의 구성이 제2 복수의 파라미터와 매칭되는지(즉, 구성이 제2 복수의 파라미터와 동일한 파라미터를 포함하는지)를 결정하기 위해 각 구성을 통해 반복할 수 있다.
914에서, 제어 회로(404)는 복수의 구성 중 임의의 구성이 제2 복수의 파라미터와 매칭되는지 여부를 결정한다. 제어 회로는 912에서의 비교에 기초하여 구성을 만들 수 있다. 복수의 구성 중의 구성이 제2 복수의 파라미터와 매칭되는 경우, 프로세스(900)는 916으로 이동하며, 여기서 제어 회로(404)는, 적어도 하나의 충돌 파라미터가 최후에 선택된 최고-등급 파라미터인 것으로 결정할 수 있다. 복수의 구성 중의 구성이 제2 복수의 파라미터와 매칭되지 않으면, 프로세스(900)는 918로 이동한다.
918에서, 제어 회로(404)는 파라미터의 복수의 구성과 비교하기 위해 파라미터의 복수의 세트를 생성하며, 여기서 각각의 세트는 이전에 선택된 파라미터의 상이한 조합을 포함한다. 제어 회로는 모든 파라미터를 저장하는 데이터 구조에 액세스할 수 있으며, 이전에 선택된 파라미터를 식별할 수 있다. 제어 회로는 이전에 선택된 파라미터의 상이한 조합에 대한 데이터 구조를 생성할 수 있다. 예를 들어, 제1, 제2 및 제3 파라미터가 이전에 선택되었다면, 제어 회로는 제1 파라미터 및 제2 파라미터에 대한 제1 데이터 구조, 제1 및 제3 파라미터에 대한 제2 데이터 구조, 제2 및 제3 파라미터에 대한 제3 데이터 구조, 및 제1, 제2 및 제3 파라미터에 대한 제4 데이터 구조를 생성할 수 있다. 제어 회로는 모든 파라미터를 데이터 구조에 배치한 다음, 대응하는 조합으로 파라미터를 제거할 수 있다. 제어 회로는 세트들 중 하나의 파라미터가 구성 중 하나의 파라미터와 매칭되는지를 결정하기 위해 충돌을 해결하는 파라미터의 각각의 구성과 각각의 데이터 구조를 비교할 수 있다.
920에서, 제어 회로(404)는, 각 세트의 파라미터가 각 구성의 파라미터와 비교될 때 파라미터의 임의의 세트가 파라미터의 임의의 구성과 매칭되는지 여부를 결정한다. 각 세트의 파라미터가 각 구성의 파라미터와 비교될 때, 제어 회로가, 파라미터의 세트가 파라미터의 구성과 매칭되는 것으로 결정하면, 프로세스(900)는 922로 이동한다. 922에서, 제어 회로(404)는, 적어도 하나의 파라미터가 매칭 세트에 없는 이전에 선택된 파라미터인 것으로 결정한다. 예를 들어, 제어 회로는 대응하는 조합과 함께 상술한 바와 같이 생성된 세트를 (예를 들어, 저장소(408)에) 저장할 수 있다. 제어 회로는 대응하는 조합의 파라미터에 액세스하고, 이들 파라미터를 적어도 하나의 충돌 파라미터로서 식별할 수 있다. 각각의 세트의 파라미터가 각각의 구성의 파라미터와 비교될 때, 제어 회로가, 파라미터의 어떠한 세트도 파라미터의 구성과 매칭되지 않는 것으로 결정하면, 프로세스(900)는 904로 이동하며, 여기서 상술한 바와 같이 진행한다.
도 6 내지 도 10의 단계 또는 설명은 본 발명의 임의의 다른 실시예와 함께 사용될 수 있는 것으로 고려된다. 또한, 도 6 내지 도 10과 관련하여 설명된 단계 및 설명은 본 발명의 추가적인 목적을 위해 대안적인 순서로 또는 병렬로 행해질 수 있다. 예를 들어, 시스템 또는 방법의 지연을 감소시키거나 속도를 높이기 위해 이러한 단계의 각각은 임의의 순서로 또는 병렬로 또는 실질적으로 동시에 수행될 수 있다.
본 발명의 상술한 실시예는 예시적인 목적으로 한정적이지 않게 제시되며, 본 발명은 후속하는 청구항들에 의해서만 한정된다. 또한, 임의의 일 실시예에서 설명된 특징 및 제한이 본원의 임의의 다른 실시예에 적용될 수 있고, 일 실시예와 관련된 흐름도 또는 예는 적절한 방식으로 임의의 다른 실시예와 조합되거나 다른 순서로 행해지거나 병렬로 행해질 수 있음에 유의해야 한다. 또한, 본원에 설명된 시스템 및 방법은 실시간으로 수행될 수 있다. 또한, 상술한 시스템 및/또는 방법은 다른 시스템 및/또는 방법에 적용될 수 있거나 이에 따라 사용될 수 있음에 유의해야 한다.

Claims (51)

  1. 광고 배치 충돌을 해결하기 위한 방법으로서,
    복수의 광고가 어떻게 복수의 광고 슬롯에 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신하는 단계;
    상기 복수의 파라미터 중의 파라미터를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정하는 단계;
    상기 광고 할당 모델로부터 제거하기 위한 적어도 하나의 충돌 파라미터를 식별하는 단계;
    상기 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상기 광고 할당 모델로부터 상기 적어도 하나의 충돌 파라미터를 제거하도록 상기 광고 할당 모델을 수정하는 단계; 및
    상기 수정된 광고 할당 모델에 기초하여 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  2. 광고 배치 충돌을 해결하기 위한 방법으로서,
    복수의 광고가 어떻게 복수의 광고 슬롯에 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신하는 단계;
    상기 복수의 파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 단계;
    상기 시뮬레이팅에 기초하여, 상기 복수의 파라미터 중의 파라미터를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정하는 단계;
    상기 결정에 응답하여, 상기 복수의 파라미터 중의 각각의 파라미터에 대한 각각의 파라미터 스코어를 검색하는 단계 - 상기 각각의 파라미터 스코어는 대응하는 파라미터의 중요도를 나타냄 - ;
    상기 검색된 파라미터 스코어에 기초하여 상기 광고 할당 모델에 대한 총 파라미터 스코어를 계산하는 단계;
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정하는 단계,
    상기 광고 할당 모델의 상기 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어을 계산하는 단계 - 각각의 계산된 상이한 총 파라미터 스코어는, 상기 광고 할당 모델로부터, 상기 적어도 하나의 충돌 파라미터의 상이한 것의 제거에 기초함 - ,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 총 파라미터 스코어에 대한 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계, 및
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성에 따라 상기 광고 할당 모델로부터 상기 적어도 하나의 충돌 파라미터를 제거하도록 상기 광고 할당 모델을 수정하는 단계에 의해,
    상기 광고 할당 모델로부터 제거할 적어도 하나의 파라미터를 선택하는 단계; 및
    상기 수정된 광고 할당 모델에 기초하여, 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  3. 제2항에 있어서,
    상기 복수의 파라미터 중의 각각의 파라미터에 대한 상기 파라미터 스코어를 검색하는 단계는:
    상기 복수의 파라미터 중의 파라미터의 제1 서브세트를 생성하는 단계 - 상기 파라미터의 상기 제1 서브세트의 각각의 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 가짐 - ;
    상기 파라미터의 상기 제1 서브세트의 각각의 파라미터에 대해, 상기 시스템 파라미터 스코어가 상기 사용자-정의 파라미터 스코어에 의해 후순위화(overridden)될 수 있는지 여부를 결정하는 단계;
    후순위화될 수 있는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성하는 단계;
    후순위화될 수 없는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성하는 단계; 및
    상기 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 상기 제3 서브세트에 대한 시스템 파라미터 스코어을 검색하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  4. 제2항에 있어서,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계는, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘(feasibility relaxation algorithm)을 실행하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  5. 제2항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하는 단계는:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터의 각각의 파라미터를 등급화하는 단계 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 복수의 파라미터로부터 상기 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 선택하는 단계;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하는 단계;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되는지 여부를 결정하는 단계; 및
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 구성과 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터인 것으로 결정하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  6. 제5항에 있어서,
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 것에 응답하여, 상기 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택하는 단계;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하는 단계;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제3 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 단계;
    제4 복수의 파라미터와 상기 상이한 구성 중의 각각의 파라미터를 비교하는 단계 - 상기 제4 복수의 파라미터는 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터 모두가 없는 상기 제1 복수의 파라미터를 포함함 - ; 및
    상기 상이한 구성 중의 임의의 구성의 파라미터가 상기 제4 복수의 파라미터와 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터를 포함하는 것으로 결정하는 단계를 더 포함하는, 광고 배치 충돌 해결 방법.
  7. 제2항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계는:
    상기 상이한 구성으로부터, 상기 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하는 단계;
    상기 구성의 세트의 각각의 구성에 대하여, 제거되는 충돌 파라미터의 수를 결정하는 단계; 및
    제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트로부터 구성을 선택하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  8. 제2항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계는:
    상기 상이한 구성으로부터, 제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트를 선택하는 단계;
    상기 구성의 세트의 각각의 구성에 대하여, 각각의 총 파라미터 스코어에서의 변경을 결정하는 단계; 및
    상기 각각의 총 파라미터 스코어에서의 최소 변경을 갖는 구성의 세트로부터 구성을 선택하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  9. 제2항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성 및 사용자로 하여금 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하기 위해 생성하는 단계;
    상기 옵션의 사용자 선택에 응답하여, 상기 상이한 구성을 표시하기 위해 생성하는 단계; 및
    상기 상이한 구성 중 하나의 사용자 선택에 응답하여, 상기 상이한 구성 중 상기 하나의 상기 사용자 선택에 기초하여 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 단계를 더 포함하는, 광고 배치 충돌 해결 방법.
  10. 제2항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하는 단계는:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터 중의 각각의 파라미터를 등급화하는 단계 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할하는 단계;
    상기 최고-등급 파라미터가 없는 상기 복수의 파라미터를 포함하는 파라미터의 세트를 생성하는 단계;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 단계;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 것에 기초하여, 상기 제1 서브-파라미터 및 상기 파라미터의 세트 중 적어도 하나를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하지 않는 것으로 결정하는 단계; 및
    상기 최고-등급 파라미터의 제거 및 상기 제1 서브-파라미터의 추가가 상기 충돌을 해결하는 것으로 결정하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  11. 제10항에 있어서,
    상기 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정하는 단계;
    상기 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅하는 단계 - 상기 복수의 서브-파라미터 중의 각각의 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관됨 - ; 및
    상기 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 상기 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정하는 단계에 의해,
    상기 최고-등급 파라미터가 상기 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정하는 단계를 더 포함하는, 광고 배치 충돌 해결 방법.
  12. 광고 배치 충돌을 해결하기 위한 시스템으로서,
    통신 회로; 및
    제어 회로를 포함하고, 상기 제어 회로는:
    상기 통신 회로를 사용하여, 복수의 광고가 어떻게 복수의 광고 슬롯에 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신하고;
    상기 복수의 파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하고;
    상기 시뮬레이팅에 기초하여, 상기 복수의 파라미터 중의 파라미터를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정하고;
    상기 결정에 응답하여, 상기 복수의 파라미터 중의 각각의 파라미터에 대한 각각의 파라미터 스코어를 검색하고 - 상기 각각의 파라미터 스코어는 대응하는 파라미터의 중요도를 나타냄 - ;
    상기 검색된 파라미터 스코어에 기초하여 상기 광고 할당 모델에 대한 총 파라미터 스코어를 계산하고;
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정하고,
    상기 광고 할당 모델의 상기 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어을 계산하고 - 각각의 계산된 상이한 총 파라미터 스코어는, 상기 광고 할당 모델로부터, 상기 적어도 하나의 충돌 파라미터의 상이한 것의 제거에 기초함 -,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 총 파라미터 스코어에 대한 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하고, 및
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성에 따라 상기 광고 할당 모델로부터 상기 적어도 하나의 충돌 파라미터를 제거하도록 상기 광고 할당 모델을 수정함으로써,
    상기 광고 할당 모델로부터 제거할 적어도 하나의 파라미터를 선택하고; 및
    상기 수정된 광고 할당 모델에 기초하여, 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하도록 구성되는, 광고 배치 충돌 해결 시스템.
  13. 제12항에 있어서,
    상기 제어 회로는, 상기 복수의 파라미터 중의 각각의 파라미터에 대한 상기 파라미터 스코어를 검색할 때:
    상기 복수의 파라미터 중의 파라미터의 제1 서브세트를 생성하고 - 상기 파라미터의 상기 제1 서브세트의 각각의 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 가짐 - ;
    상기 파라미터의 상기 제1 서브세트의 각각의 파라미터에 대해, 상기 시스템 파라미터 스코어가 상기 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 결정하고;
    후순위화될 수 있는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성하고;
    후순위화될 수 없는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성하고; 및
    상기 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 상기 제3 서브세트에 대한 시스템 파라미터 스코어을 검색하도록 구성되는, 광고 배치 충돌 해결 시스템.
  14. 제12항에 있어서,
    상기 제어 회로는, 상기 상이한 총 파라미터 스코어에 기초하여, 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정할 때, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행하도록 구성되는, 광고 배치 충돌 해결 시스템.
  15. 제12항에 있어서,
    상기 제어 회로는, 상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정할 때:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터의 각각의 파라미터를 등급화하고 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 복수의 파라미터로부터 상기 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 선택하고;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하고;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되는지 여부를 결정하고; 및
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 구성과 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터인 것으로 결정하도록 구성되는, 광고 배치 충돌 해결 시스템.
  16. 제15항에 있어서,
    상기 제어 회로는:
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 것에 응답하여, 상기 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택하고;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하고;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제3 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하고;
    제4 복수의 파라미터와 상기 상이한 구성 중의 각각의 파라미터를 비교하고 - 상기 제4 복수의 파라미터는 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터 모두가 없는 상기 제1 복수의 파라미터를 포함함 - ; 및
    상기 상이한 구성 중의 임의의 구성의 파라미터가 상기 제4 복수의 파라미터와 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터를 포함하는 것으로 결정하도록 추가로 구성되는, 광고 배치 충돌 해결 시스템.
  17. 제12항에 있어서,
    상기 제어 회로는, 상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정할 때:
    상기 상이한 구성으로부터, 상기 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하고;
    상기 구성의 세트의 각각의 구성에 대하여, 제거되는 충돌 파라미터의 수를 결정하고; 및
    제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트로부터 구성을 선택하도록 구성되는, 광고 배치 충돌 해결 시스템.
  18. 제12항에 있어서,
    상기 제어 회로는, 상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정할 때:
    상기 상이한 구성으로부터, 제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트를 선택하는 단계;
    상기 구성의 세트의 각각의 구성에 대하여, 각각의 총 파라미터 스코어에서의 변경을 결정하고; 및
    상기 각각의 총 파라미터 스코어에서의 최소 변경을 갖는 구성의 세트로부터 구성을 선택하도록 구성되는, 광고 배치 충돌 해결 시스템.
  19. 제12항에 있어서,
    상기 제어 회로는,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성 및 사용자로 하여금 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하기 위해 생성하고;
    상기 옵션의 사용자 선택에 응답하여, 상기 상이한 구성을 표시하기 위해 생성하고; 및
    상기 상이한 구성 중 하나의 사용자 선택에 응답하여, 상기 상이한 구성 중 상기 하나의 상기 사용자 선택에 기초하여 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하도록 추가로 구성되는, 광고 배치 충돌 해결 시스템.
  20. 제12항에 있어서,
    상기 제어 회로는, 상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정할 때:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터 중의 각각의 파라미터를 등급화하고 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할하고;
    상기 최고-등급 파라미터가 없는 상기 복수의 파라미터를 포함하는 파라미터의 세트를 생성하고;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하고;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 것에 기초하여, 상기 제1 서브-파라미터 및 상기 파라미터의 세트 중 적어도 하나를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하지 않는 것으로 결정하고; 및
    상기 최고-등급 파라미터의 제거 및 상기 제1 서브-파라미터의 추가가 상기 충돌을 해결하는 것으로 결정하도록 구성되는, 광고 배치 충돌 해결 시스템.
  21. 제20항에 있어서,
    상기 제어 회로는,
    상기 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정하고;
    상기 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅하고 - 상기 복수의 서브-파라미터 중의 각각의 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관됨 - ; 및
    상기 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 상기 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정함으로써,
    상기 최고-등급 파라미터가 상기 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정하도록 추가로 구성되는, 광고 배치 충돌 해결 시스템.
  22. 광고 배치 충돌을 해결하기 위한 시스템으로서,
    복수의 광고가 어떻게 복수의 광고 슬롯에 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신하기 위한 수단;
    상기 복수의 파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하기 위한 수단;
    상기 시뮬레이팅에 기초하여, 상기 복수의 파라미터 중의 파라미터를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정하기 위한 수단;
    상기 결정에 응답하여, 상기 복수의 파라미터 중의 각각의 파라미터에 대한 각각의 파라미터 스코어를 검색하기 위한 수단 - 상기 각각의 파라미터 스코어는 대응하는 파라미터의 중요도를 나타냄 - ;
    상기 검색된 파라미터 스코어에 기초하여 상기 광고 할당 모델에 대한 총 파라미터 스코어를 계산하기 위한 수단;
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정하고,
    상기 광고 할당 모델의 상기 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어을 계산하고 - 각각의 계산된 상이한 총 파라미터 스코어는, 상기 광고 할당 모델로부터, 상기 적어도 하나의 충돌 파라미터의 상이한 것의 제거에 기초함 -,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 총 파라미터 스코어에 대한 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하고, 및
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성에 따라 상기 광고 할당 모델로부터 상기 적어도 하나의 충돌 파라미터를 제거하도록 상기 광고 할당 모델을 수정함으로써,
    상기 광고 할당 모델로부터 제거할 적어도 하나의 파라미터를 선택하기 위한 수단; 및
    상기 수정된 광고 할당 모델에 기초하여, 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  23. 제22항에 있어서,
    상기 복수의 파라미터 중의 각각의 파라미터에 대한 상기 파라미터 스코어를 검색하기 위한 수단은:
    상기 복수의 파라미터 중의 파라미터의 제1 서브세트를 생성하기 위한 수단 - 상기 파라미터의 상기 제1 서브세트의 각각의 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 가짐 - ;
    상기 파라미터의 상기 제1 서브세트의 각각의 파라미터에 대해, 상기 시스템 파라미터 스코어가 상기 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 결정하기 위한 수단;
    후순위화될 수 있는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성하기 위한 수단;
    후순위화될 수 없는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성하기 위한 수단; 및
    상기 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 상기 제3 서브세트에 대한 시스템 파라미터 스코어을 검색하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  24. 제22항에 있어서,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하기 위한 수단은, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  25. 제22항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하기 위한 수단은:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터의 각각의 파라미터를 등급화하기 위한 수단 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 복수의 파라미터로부터 상기 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 선택하기 위한 수단;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하기 위한 수단;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되는지 여부를 결정하기 위한 수단; 및
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 구성과 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터인 것으로 결정하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  26. 제25항에 있어서,
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 것에 응답하여, 상기 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택하기 위한 수단;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하기 위한 수단;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제3 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하기 위한 수단;
    제4 복수의 파라미터와 상기 상이한 구성 중의 각각의 파라미터를 비교하기 위한 수단 - 상기 제4 복수의 파라미터는 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터 모두가 없는 상기 제1 복수의 파라미터를 포함함 - ; 및
    상기 상이한 구성 중의 임의의 구성의 파라미터가 상기 제4 복수의 파라미터와 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터를 포함하는 것으로 결정하기 위한 수단을 더 포함하는, 광고 배치 충돌 해결 시스템.
  27. 제22항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하기 위한 수단은:
    상기 상이한 구성으로부터, 상기 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하기 위한 수단;
    상기 구성의 세트의 각각의 구성에 대하여, 제거되는 충돌 파라미터의 수를 결정하기 위한 수단; 및
    제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트로부터 구성을 선택하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  28. 제22항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하기 위한 수단은:
    상기 상이한 구성으로부터, 제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트를 선택하기 위한 수단;
    상기 구성의 세트의 각각의 구성에 대하여, 각각의 총 파라미터 스코어에서의 변경을 결정하기 위한 수단; 및
    상기 각각의 총 파라미터 스코어에서의 최소 변경을 갖는 구성의 세트로부터 구성을 선택하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  29. 제22항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성 및 사용자로 하여금 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하기 위해 생성하기 위한 수단;
    상기 옵션의 사용자 선택에 응답하여, 상기 상이한 구성을 표시하기 위해 생성하기 위한 수단; 및
    상기 상이한 구성 중 하나의 사용자 선택에 응답하여, 상기 상이한 구성 중 상기 하나의 상기 사용자 선택에 기초하여 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하기 위한 수단을 더 포함하는, 광고 배치 충돌 해결 시스템.
  30. 제22항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하기 위한 수단은:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터 중의 각각의 파라미터를 등급화하기 위한 수단 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할하기 위한 수단;
    상기 최고-등급 파라미터가 없는 상기 복수의 파라미터를 포함하는 파라미터의 세트를 생성하기 위한 수단;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하기 위한 수단;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 것에 기초하여, 상기 제1 서브-파라미터 및 상기 파라미터의 세트 중 적어도 하나를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하지 않는 것으로 결정하기 위한 수단; 및
    상기 최고-등급 파라미터의 제거 및 상기 제1 서브-파라미터의 추가가 상기 충돌을 해결하는 것으로 결정하기 위한 수단을 포함하는, 광고 배치 충돌 해결 시스템.
  31. 제30항에 있어서,
    상기 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정하고;
    상기 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅하고 - 상기 복수의 서브-파라미터 중의 각각의 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관됨 - ; 및
    상기 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 상기 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정함으로써,
    상기 최고-등급 파라미터가 상기 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정하기 위한 수단을 더 포함하는, 광고 배치 충돌 해결 시스템.
  32. 광고 배치 충돌을 해결하기 위해 인코딩된 명령어들을 갖는 메모리를 포함하는 비일시적 컴퓨터 판독 가능 매체로서,
    상기 명령어들은:
    복수의 광고가 어떻게 복수의 광고 슬롯에 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신하기 위한 명령어;
    상기 복수의 파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하기 위한 명령어;
    상기 시뮬레이팅에 기초하여, 상기 복수의 파라미터 중의 파라미터를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정하기 위한 명령어;
    상기 결정에 응답하여, 상기 복수의 파라미터 중의 각각의 파라미터에 대한 각각의 파라미터 스코어를 검색하기 위한 명령어 - 상기 각각의 파라미터 스코어는 대응하는 파라미터의 중요도를 나타냄 - ;
    상기 검색된 파라미터 스코어에 기초하여 상기 광고 할당 모델에 대한 총 파라미터 스코어를 계산하기 위한 명령어;
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정하고,
    상기 광고 할당 모델의 상기 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어을 계산하고 - 각각의 계산된 상이한 총 파라미터 스코어는, 상기 광고 할당 모델로부터, 상기 적어도 하나의 충돌 파라미터의 상이한 것의 제거에 기초함 -,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 총 파라미터 스코어에 대한 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하고, 및
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성에 따라 상기 광고 할당 모델로부터 상기 적어도 하나의 충돌 파라미터를 제거하도록 상기 광고 할당 모델을 수정함으로써,
    상기 광고 할당 모델로부터 제거할 적어도 하나의 파라미터를 선택하기 위한 명령어; 및
    상기 수정된 광고 할당 모델에 기초하여, 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  33. 제32항에 있어서,
    상기 복수의 파라미터 중의 각각의 파라미터에 대한 상기 파라미터 스코어를 검색하기 위한 명령어는,
    상기 복수의 파라미터 중의 파라미터의 제1 서브세트를 생성하기 위한 명령어 - 상기 파라미터의 상기 제1 서브세트의 각각의 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 가짐- ;
    상기 파라미터의 상기 제1 서브세트의 각각의 파라미터에 대해, 상기 시스템 파라미터 스코어가 상기 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 결정하기 위한 명령어;
    후순위화될 수 있는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성하기 위한 명령어;
    후순위화될 수 없는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성하기 위한 명령어; 및
    상기 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 상기 제3 서브세트에 대한 시스템 파라미터 스코어을 검색하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  34. 제32항에 있어서,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하기 위한 명령어는, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  35. 제32항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하기 위한 명령어는:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터의 각각의 파라미터를 등급화하기 위한 명령어 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 복수의 파라미터로부터 상기 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 선택하기 위한 명령어;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하기 위한 명령어;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되는지 여부를 결정하기 위한 명령어; 및
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 구성과 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터인 것으로 결정하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  36. 제35항에 있어서,
    상기 명령어들은:
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 것에 응답하여, 상기 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택하기 위한 명령어;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하기 위한 명령어;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제3 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하기 위한 명령어;
    제4 복수의 파라미터와 상기 상이한 구성 중의 각각의 파라미터를 비교하기 위한 명령어 - 상기 제4 복수의 파라미터는 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터 모두가 없는 상기 제1 복수의 파라미터를 포함함 - ; 및
    상기 상이한 구성 중의 임의의 구성의 파라미터가 상기 제4 복수의 파라미터와 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터를 포함하는 것으로 결정하기 위한 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  37. 제32항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하기 위한 명령어는:
    상기 상이한 구성으로부터, 상기 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하기 위한 명령어;
    상기 구성의 세트의 각각의 구성에 대하여, 제거되는 충돌 파라미터의 수를 결정하기 위한 명령어; 및
    제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트로부터 구성을 선택하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  38. 제32항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하기 위한 명령어는:
    상기 상이한 구성으로부터, 제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트를 선택하기 위한 명령어;
    상기 구성의 세트의 각각의 구성에 대하여, 각각의 총 파라미터 스코어에서의 변경을 결정하기 위한 명령어; 및
    상기 각각의 총 파라미터 스코어에서의 최소 변경을 갖는 구성의 세트로부터 구성을 선택하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  39. 제32항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성 및 사용자로 하여금 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하기 위해 생성하기 위한 명령어;
    상기 옵션의 사용자 선택에 응답하여, 상기 상이한 구성을 표시하기 위해 생성하기 위한 명령어; 및
    상기 상이한 구성 중 하나의 사용자 선택에 응답하여, 상기 상이한 구성 중 상기 하나의 상기 사용자 선택에 기초하여 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하기 위한 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  40. 제32항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하기 위한 명령어는:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터 중의 각각의 파라미터를 등급화하기 위한 명령어 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할하기 위한 명령어;
    상기 최고-등급 파라미터가 없는 상기 복수의 파라미터를 포함하는 파라미터의 세트를 생성하기 위한 명령어;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하기 위한 명령어;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 것에 기초하여, 상기 제1 서브-파라미터 및 상기 파라미터의 세트 중 적어도 하나를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하지 않는 것으로 결정하기 위한 명령어; 및
    상기 최고-등급 파라미터의 제거 및 상기 제1 서브-파라미터의 추가가 상기 충돌을 해결하는 것으로 결정하기 위한 명령어를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  41. 제40항에 있어서,
    상기 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정하고;
    상기 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅하고 - 상기 복수의 서브-파라미터 중의 각각의 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관됨 - ; 및
    상기 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 상기 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정함으로써,
    상기 최고-등급 파라미터가 상기 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정하기 위한 명령어를 더 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  42. 광고 배치 충돌을 해결하기 위한 방법으로서,
    통신 회로를 사용하여, 복수의 광고가 어떻게 복수의 광고 슬롯에 할당되어야 하는지를 정의하는 복수의 파라미터를 포함하는 광고 할당 모델을 수신하는 단계;
    제어 회로를 사용하여, 상기 복수의 파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 단계;
    상기 제어 회로를 사용하고 상기 시뮬레이팅에 기초하여, 상기 복수의 파라미터 중의 파라미터를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하는 것으로 결정하는 단계;
    상기 제어 회로를 사용하여, 상기 결정에 응답하여, 상기 복수의 파라미터 중의 각각의 파라미터에 대한 각각의 파라미터 스코어를 검색하는 단계 - 상기 각각의 파라미터 스코어는 대응하는 파라미터의 중요도를 나타냄 - ;
    상기 제어 회로를 사용하여, 상기 검색된 파라미터 스코어에 기초하여 상기 광고 할당 모델에 대한 총 파라미터 스코어를 계산하는 단계;
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 적어도 하나의 충돌 파라미터를 결정하는 단계,
    상기 광고 할당 모델의 상기 복수의 파라미터의 상이한 구성에 기초하여 복수의 상이한 총 파라미터 스코어을 계산하는 단계 - 각각의 계산된 상이한 총 파라미터 스코어는, 상기 광고 할당 모델로부터, 상기 적어도 하나의 충돌 파라미터의 상이한 것의 제거에 기초함 - ,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 총 파라미터 스코어에 대한 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 충돌 파라미터의 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계, 및
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성에 따라 상기 광고 할당 모델로부터 상기 적어도 하나의 충돌 파라미터를 제거하도록 상기 광고 할당 모델을 수정하는 단계에 의해,
    상기 제어 회로를 사용하여, 상기 광고 할당 모델로부터 제거할 적어도 하나의 파라미터를 선택하는 단계; 및
    상기 제어 회로를 사용하여, 상기 수정된 광고 할당 모델에 기초하여, 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  43. 제42항에 있어서,
    상기 복수의 파라미터 중의 각각의 파라미터에 대한 상기 파라미터 스코어를 검색하는 단계는:
    상기 복수의 파라미터 중의 파라미터의 제1 서브세트를 생성하는 단계 - 상기 파라미터의 상기 제1 서브세트의 각각의 파라미터는 연관된 사용자-정의 파라미터 스코어 및 시스템 파라미터 스코어를 가짐 - ;
    상기 파라미터의 상기 제1 서브세트의 각각의 파라미터에 대해, 상기 시스템 파라미터 스코어가 상기 사용자-정의 파라미터 스코어에 의해 후순위화될 수 있는지 여부를 결정하는 단계;
    후순위화될 수 있는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제2 서브세트를 생성하는 단계;
    후순위화될 수 없는 시스템 파라미터 스코어을 갖는 파라미터의 상기 제1 서브세트로부터의 파라미터를 포함하는 파라미터의 제3 서브세트를 생성하는 단계; 및
    상기 제2 서브세트에 대한 사용자-정의 파라미터 스코어 및 상기 제3 서브세트에 대한 시스템 파라미터 스코어을 검색하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  44. 제42항 또는 제43항에 있어서,
    상기 상이한 총 파라미터 스코어에 기초하여, 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계는, 혼합 정수 선형 프로그램을 위한 실행 가능성 완화 알고리즘을 실행하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  45. 제42항 내지 제44항 중 어느 한 항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하는 단계는:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터의 각각의 파라미터를 등급화하는 단계 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 복수의 파라미터로부터 상기 최고-등급 파라미터를 제거함으로써 제2 복수의 파라미터를 선택하는 단계;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하는 단계;
    상기 제2 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되는지 여부를 결정하는 단계; 및
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 구성과 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터인 것으로 결정하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  46. 제45항에 있어서,
    상기 제2 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 것에 응답하여, 상기 제1 복수의 파라미터로부터 제2 최고-등급 파라미터를 제거함으로써 제3 복수의 파라미터를 선택하는 단계;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터를 비교하는 단계;
    상기 제3 복수의 파라미터와 상기 상이한 구성 중의 각각의 구성의 파라미터와의 비교에 기초하여, 상기 제3 복수의 파라미터가 상기 상이한 구성 중의 임의의 구성과 매칭되지 않는 것으로 결정하는 단계;
    제4 복수의 파라미터와 상기 상이한 구성 중의 각각의 파라미터를 비교하는 단계 - 상기 제4 복수의 파라미터는 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터 모두가 없는 상기 제1 복수의 파라미터를 포함함 - ; 및
    상기 상이한 구성 중의 임의의 구성의 파라미터가 상기 제4 복수의 파라미터와 매칭되는 것으로 결정하는 것에 응답하여, 상기 적어도 하나의 충돌 파라미터가 상기 최고-등급 파라미터 및 상기 제2 최고-등급 파라미터를 포함하는 것으로 결정하는 단계를 더 포함하는, 광고 배치 충돌 해결 방법.
  47. 제42항 내지 제46항 중 어느 한 항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계는:
    상기 상이한 구성으로부터, 상기 총 파라미터 스코어에 대한 최저 변경을 갖는 구성의 세트를 선택하는 단계;
    상기 구성의 세트의 각각의 구성에 대하여, 제거되는 충돌 파라미터의 수를 결정하는 단계; 및
    제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트로부터 구성을 선택하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  48. 제42항 내지 제47항 중 어느 한 항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 상이한 구성으로부터 상기 복수의 파라미터의 구성을 결정하는 단계는:
    상기 상이한 구성으로부터, 제거되는 충돌 파라미터의 최소 수를 갖는 구성의 세트를 선택하는 단계;
    상기 구성의 세트의 각각의 구성에 대하여, 각각의 총 파라미터 스코어에서의 변경을 결정하는 단계; 및
    상기 각각의 총 파라미터 스코어에서의 최소 변경을 갖는 구성의 세트로부터 구성을 선택하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  49. 제42항 내지 제48항 중 어느 한 항에 있어서,
    상기 총 파라미터 스코어에 대한 상기 변경을 최소화하고 상기 광고 할당 모델로부터 제거되는 상기 충돌 파라미터의 상기 수를 최소화하는 상기 구성 및 사용자로 하여금 충돌을 해결하는 상이한 구성을 선택할 수 있게 하는 옵션 모두를 동시에 표시하기 위해 생성하는 단계;
    상기 옵션의 사용자 선택에 응답하여, 상기 상이한 구성을 표시하기 위해 생성하는 단계; 및
    상기 상이한 구성 중 하나의 사용자 선택에 응답하여, 상기 상이한 구성 중 상기 하나의 상기 사용자 선택에 기초하여 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 단계를 더 포함하는, 광고 배치 충돌 해결 방법.
  50. 제42항 내지 제49항 중 어느 한 항에 있어서,
    상기 광고 할당 모델로부터의 제거가 상기 충돌을 해결되게 하는 상기 적어도 하나의 충돌 파라미터를 결정하는 단계는:
    각각의 파라미터 스코어에 기초하여 상기 복수의 파라미터 중의 각각의 파라미터를 등급화하는 단계 - 최고-등급 파라미터는 최저 파라미터 스코어와 연관되고, 최저-등급 파라미터는 최고 파라미터 스코어와 연관됨 - ;
    상기 최고-등급 파라미터를 제1 서브-파라미터 및 제2 서브-파라미터로 분할하는 단계;
    상기 최고-등급 파라미터가 없는 상기 복수의 파라미터를 포함하는 파라미터의 세트를 생성하는 단계;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 단계;
    상기 파라미터의 세트 및 상기 제1 서브-파라미터에 기초하여 상기 복수의 광고 슬롯에의 상기 복수의 광고의 할당을 시뮬레이팅하는 것에 기초하여, 상기 제1 서브-파라미터 및 상기 파라미터의 세트 중 적어도 하나를 위반하지 않고 상기 복수의 광고 슬롯에 상기 복수의 광고를 할당하는 것을 막는 충돌이 존재하지 않는 것으로 결정하는 단계; 및
    상기 최고-등급 파라미터의 제거 및 상기 제1 서브-파라미터의 추가가 상기 충돌을 해결하는 것으로 결정하는 단계를 포함하는, 광고 배치 충돌 해결 방법.
  51. 제50항에 있어서,
    상기 최고-등급 파라미터가 복수의 광고주 및 복수의 광고 슬롯과 연관되는지 여부를 결정하는 단계;
    상기 최고-등급 파라미터를 복수의 서브-파라미터로 분할하는 것을 시뮬레이팅하는 단계 - 상기 복수의 서브-파라미터 중의 각각의 서브-파라미터는 한 명의 광고주 및 적어도 하나의 광고 슬롯과 연관됨 - ; 및
    상기 분할을 성공적으로 시뮬레이팅하는 것에 응답하여, 상기 최고-등급 파라미터가 복수의 파라미터로 분할될 수 있는 것으로 결정하는 단계에 의해,
    상기 최고-등급 파라미터가 상기 복수의 서브-파라미터로 분할될 수 있는지 여부를 결정하는 단계를 더 포함하는, 광고 배치 충돌 해결 방법.
KR1020197013576A 2016-10-13 2017-10-12 광고 배치 충돌을 해결하기 위한 시스템 및 방법 KR20190070937A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662407759P 2016-10-13 2016-10-13
US62/407,759 2016-10-13
US15/378,359 US10719856B2 (en) 2016-10-13 2016-12-14 Systems and methods for resolving advertisement placement conflicts
US15/378,359 2016-12-14
PCT/US2017/056410 WO2018071719A1 (en) 2016-10-13 2017-10-12 Systems and methods for resolving advertisement placement conflicts

Publications (1)

Publication Number Publication Date
KR20190070937A true KR20190070937A (ko) 2019-06-21

Family

ID=61904637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013576A KR20190070937A (ko) 2016-10-13 2017-10-12 광고 배치 충돌을 해결하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (4) US10719856B2 (ko)
EP (1) EP3526754A1 (ko)
JP (1) JP2019532435A (ko)
KR (1) KR20190070937A (ko)
AU (1) AU2017341784A1 (ko)
CA (1) CA3040280A1 (ko)
WO (1) WO2018071719A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102644154B1 (ko) * 2018-10-23 2024-03-07 주식회사 케이티 채널 점유율 배정 방법 및 이를 이용한 방송 송출 방법
US10789413B2 (en) * 2019-03-01 2020-09-29 Salesforce.Com, Inc. Web page designing with timelines
CN112966887B (zh) * 2019-12-13 2024-05-28 多点(深圳)数字科技有限公司 生成分配信息的方法、装置、电子设备和介质

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01240973A (ja) * 1988-03-23 1989-09-26 Hitachi Ltd ワーク割付方式
US5140671A (en) * 1990-01-26 1992-08-18 International Business Machines Corporation Expert system debugger
JPH0415865A (ja) * 1990-05-09 1992-01-21 Hitachi Ltd スケジュール作成支援装置
JPH04123165A (ja) * 1990-09-14 1992-04-23 Hitachi Ltd スケジューリング方法及びその装置
JPH05174001A (ja) * 1991-12-26 1993-07-13 Toshiba Corp 制約充足システム
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US5959574A (en) * 1993-12-21 1999-09-28 Colorado State University Research Foundation Method and system for tracking multiple regional objects by multi-dimensional relaxation
US6388714B1 (en) 1995-10-02 2002-05-14 Starsight Telecast Inc Interactive computer system for providing television schedule information
DE69728006T2 (de) 1996-09-18 2004-10-28 Hitachi, Ltd. Vorrichtung für chirurgische Eingriffe
US6177931B1 (en) 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US5850617A (en) * 1996-12-30 1998-12-15 Lockheed Martin Corporation System and method for route planning under multiple constraints
US6094580A (en) * 1997-10-16 2000-07-25 Nortel Networks Corporation Method for optimizing cell-site placement
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
EP2076033A3 (en) 1998-03-04 2009-09-30 United Video Properties, Inc. Program guide system with targeted advertising
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
DE69903438T2 (de) 1998-07-17 2003-08-14 United Video Properties Inc Interaktive fernsehprogrammführung mit mehreren geräten an einem ort
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
CN100350798C (zh) 2001-02-21 2007-11-21 联合视频制品公司 具有个人视频记录特征的交互式节目导视器的系统和方法
US7233602B2 (en) * 2001-03-22 2007-06-19 Oxford Semiconductor, Inc. Coordination architecture for wireless communication devices using multiple protocols
JP4744079B2 (ja) * 2001-06-06 2011-08-10 ソニー株式会社 広告選択装置及び広告選択方法、並びに記憶媒体
JP4229094B2 (ja) * 2001-06-06 2009-02-25 ソニー株式会社 広告選択装置及び広告選択方法、並びに記憶媒体
US6976010B2 (en) * 2001-06-28 2005-12-13 International Business Machines Corporation Method for syndicating online content
US7194445B2 (en) * 2002-09-20 2007-03-20 Lenovo (Singapore) Pte. Ltd. Adaptive problem determination and recovery in a computer system
US7554980B1 (en) * 2002-10-18 2009-06-30 Alcatel Lucent Packet classification using relevance scoring
CA2442603C (en) * 2003-10-01 2016-11-22 Aryan Saed Digital composition of a mosaic image
US7277795B2 (en) * 2004-04-07 2007-10-02 New England Research, Inc. Method for estimating pore structure of porous materials and its application to determining physical properties of the materials
US8463892B2 (en) * 2005-07-14 2013-06-11 Portauthority Technologies Inc. Method and system for information leak prevention
US20100153885A1 (en) 2005-12-29 2010-06-17 Rovi Technologies Corporation Systems and methods for interacting with advanced displays provided by an interactive media guidance application
US20080022301A1 (en) * 2006-06-20 2008-01-24 Stavros Aloizos Placing television commercials into available slots on multiple television stations
US20080097838A1 (en) * 2006-10-23 2008-04-24 Microsoft Corporation Revenue-Based Advertising Auction
US7961143B2 (en) * 2007-05-31 2011-06-14 Navcom Technology, Inc. Partial search carrier-phase integer ambiguity resolution
US7958076B2 (en) * 2007-11-30 2011-06-07 Stratus Technologies Bermuda Ltd. System and methods for managing rules and detecting reciprocal dependencies
US20090248513A1 (en) * 2008-04-01 2009-10-01 Google Inc. Allocation of presentation positions
US20100057507A1 (en) * 2008-08-29 2010-03-04 International Business Machines Corporation Real-Time Manufacturing Routing Optimization Using Content and Quality Level
US8340463B1 (en) * 2008-08-29 2012-12-25 Adobe Systems Incorporated Candidate pruning for patch transforms
JP4725657B2 (ja) * 2009-02-26 2011-07-13 ブラザー工業株式会社 画像合成出力プログラム、画像合成出力装置及び画像合成出力システム
JP4852119B2 (ja) * 2009-03-25 2012-01-11 株式会社東芝 データ表示装置、データ表示方法、データ表示プログラム
JP2010286951A (ja) * 2009-06-10 2010-12-24 Seiko Epson Corp 割付プログラム、装置および方法
WO2011065949A1 (en) * 2009-11-25 2011-06-03 Hewlett-Packard Development Company, Lp Automatic page layout system and method
US20150248698A1 (en) * 2010-06-23 2015-09-03 Google Inc. Distributing content items
US9898499B2 (en) * 2010-08-16 2018-02-20 Iheartmedia Management Services, Inc. Multimedia scheduling for airplay with alternate category support
US8751497B2 (en) * 2011-10-07 2014-06-10 Clear Channel Management Services, Inc. Multi-shot scheduling system
US8880438B1 (en) * 2012-02-15 2014-11-04 Google Inc. Determining content relevance
US20150199724A1 (en) * 2012-09-05 2015-07-16 Google Inc. Managing inventory overbooking and smoothing
JP5908111B2 (ja) * 2012-11-09 2016-04-26 株式会社日立製作所 調達計画作成装置
GB2508841A (en) * 2012-12-12 2014-06-18 Ibm Computing prioritised general arbitration rules for conflicting rules
US20140201655A1 (en) * 2013-01-16 2014-07-17 Lookout, Inc. Method and system for managing and displaying activity icons on a mobile device
US20140201681A1 (en) * 2013-01-16 2014-07-17 Lookout, Inc. Method and system for managing and displaying activity icons on a mobile device
WO2014160854A1 (en) * 2013-03-27 2014-10-02 Sandholm Tuomas W Method and system for media advertising campaign sales and allocation
US20140310069A1 (en) * 2013-04-12 2014-10-16 International Business Machines Corporation Coordinated business rules management and mixed integer programming
US9280618B1 (en) * 2013-07-26 2016-03-08 Applied Predictive Technologies, Inc. Systems and methods for control strategy criteria selection
US20160301984A1 (en) * 2015-04-08 2016-10-13 Iheartmedia Management Services, Inc. Managing local and general advertisement spot allocations
US20150181310A1 (en) * 2013-12-23 2015-06-25 Seachange International, Inc. System and method for presenting advertisement playout summaries in an interactive display
US9387856B2 (en) * 2014-05-20 2016-07-12 Paccar Inc Point-of-sale vehicle parameter configuration
US20160063449A1 (en) * 2014-08-28 2016-03-03 Fmr Llc Method and system for scheduling a meeting
US20160224559A1 (en) * 2015-01-30 2016-08-04 Linkedin Corporation Ranking adjustment of federated content items in a social network
US11810158B2 (en) * 2015-12-22 2023-11-07 Yahoo Ad Tech Llc Weighted pseudo—random digital content selection

Also Published As

Publication number Publication date
US20220245680A1 (en) 2022-08-04
US20200311778A1 (en) 2020-10-01
CA3040280A1 (en) 2018-04-19
JP2019532435A (ja) 2019-11-07
US20230334533A1 (en) 2023-10-19
AU2017341784A1 (en) 2019-05-02
US11250478B2 (en) 2022-02-15
EP3526754A1 (en) 2019-08-21
WO2018071719A1 (en) 2018-04-19
US20180108052A1 (en) 2018-04-19
US10719856B2 (en) 2020-07-21
US11676181B2 (en) 2023-06-13

Similar Documents

Publication Publication Date Title
AU2017277686B2 (en) Systems and methods for determining context switching in conversation
KR102406817B1 (ko) 이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법
KR20190008173A (ko) 사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들
WO2016064670A1 (en) Systems and methods for generating media asset recommendations using a neural network generated based on consumption information
US11676181B2 (en) Systems and methods for resolving advertisement placement conflicts
US11880373B2 (en) Systems and methods for identifying a category of a search term and providing search results subject to the identified category
US20240040200A1 (en) Methods and systems for receiving ratings from a third-party source of ratings
JP7387787B2 (ja) メディアアセットの記憶されたバージョンをユーザにより適したバージョンと置換するためのシステムおよび方法
WO2016205315A1 (en) Systems and methods for non-linear optimization of audience reach
KR102585486B1 (ko) 녹화된 미디어 자산에서 선점권을 우회하기 위한 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application