KR20190135530A - 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법 - Google Patents

다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190135530A
KR20190135530A KR1020197033650A KR20197033650A KR20190135530A KR 20190135530 A KR20190135530 A KR 20190135530A KR 1020197033650 A KR1020197033650 A KR 1020197033650A KR 20197033650 A KR20197033650 A KR 20197033650A KR 20190135530 A KR20190135530 A KR 20190135530A
Authority
KR
South Korea
Prior art keywords
result
subset
results
search
source
Prior art date
Application number
KR1020197033650A
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 KR20190135530A publication Critical patent/KR20190135530A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

결과를 보낸 소스의 순위를 매기고 하위 순위의 소스로부터의 중복되는 결과를 제시하지 않는 것에 의해, 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법. 예를 들면, 제1 소스 및 제2 소스로부터 결과가 수신될 수도 있다. 유저가 제2 소스보다 제1 소스에 대해 선호도를 갖는 것에 응답하여, 제1 소스로부터의 결과는, 제2 소스로부터의 결과보다 스크린의 상부에 더 가까운 행에서 제시될 수도 있다. 두 개의 결과가 매칭되면, 결과는 더 높은 순위의 소스에 대한 행에서만 디스플레이되고 제1 행에서 디스플레이되는 결과 중 어느 것과도 매칭되지 않는 다른 결과가 제2 행에서 제시된다.

Description

다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법
많은 양의 이용 가능한 미디어 콘텐츠를 각각 갖는 과다한 미디어 콘텐츠 소스가 주어지면, 주어진 조회(query)에 대한 많은 수의 검색 결과를 처리하는 것이 어렵다는 것을 유저는 종종 알게 된다. 구체적으로, 범용 검색 피쳐는, 유저가 단일의 검색을 통해 많은 상이한 콘텐츠 소스로부터 결과를 획득하는 것을 가능하게 하였지만, 그러나 결과의 순전한 숫자만으로 압도적일 수도 있다. 몇몇 종래의 시스템은, 결과를 유저에게 제시할 때, 결과를 보낸 소스별로 결과를 구성하는 것에 의해 이것을 극복하려고 시도한다. 그러나, 다수의 동일한 미디어 콘텐츠가 상이한 소스로부터 이용 가능하고, 다수 회 제시될 수도 있으며, 따라서 유저가 그 아래에 묻히는데 관심이 있을 수도 있는 결과로 이어질 수도 있다.
따라서, 결과를 보낸 소스에 순위를 매기는 것 및 더 낮은 순위의 소스로부터 중복되는 결과를 제시하지 않는 것에 의해 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법이 본원에서 설명된다. 예를 들면, 제1 소스 및 제2 소스로부터 결과가 수신될 수도 있다. 유저가 제2 소스보다 제1 소스에 대해 선호도를 갖는 것에 응답하여(예를 들면, 유저는 HBO보다 AMAZON®을 더 좋아함), 제1 소스로부터의 결과는, 제2 소스로부터의 결과보다 스크린의 상부에 더 가까운 행(row)에서 제시될 수도 있다. 그 다음, 시스템은, AMAZON®에 대해 디스플레이될 결과가 HBO에 대해 디스플레이될 결과와 매칭되는지의 여부를 (예를 들면, 두 개의 결과의 메타데이터를 비교하는 것에 의해) 결정한다. 두 개의 결과가 매칭되면, 결과는 상위 순위의 소스(예를 들면, AMAZON®)에 대해서만 제시되고, 제1 행에서 디스플레이되는 결과 중 어느 것과도 매칭되지 않는 다른 결과는 제2 행에서 제시된다. 이러한 방식으로, 유저는, 동일한 결과가 상이한 소스로부터 이용 가능한 경우 그것을 다수 회 제시하는 것과는 대조적으로, 상이한 검색 결과를 제공 받는다.
몇몇 양태에서, 미디어 가이던스 애플리케이션이 유저 입력을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력 인터페이스(예를 들면, 리모콘(remote control) 또는 터치스크린 인터페이스)를 통해 유저 입력을 수신할 수도 있다. 유저 입력은 하나의 또는 다수의 영숫자 또는 다른 문자의 문자열(string)일 수도 있다. 대안적으로 또는 추가적으로, 유저 입력은 공통 검색 조회를 갖는 복수의 선택 가능한 옵션 중 하나를 선택하는 것일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 가장 일반적으로 검색되는 키워드를 유저가 선택할 선택 가능한 옵션으로서 제시하여, 그 또는 그녀가 문자를 입력해야 할 수도 있는 유저 시간을 절약할 수도 있다.
미디어 가이던스 애플리케이션은 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색한다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력을 제1 소스 및 제2 소스로 송신할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력(예를 들면, 문자열) 및/또는 검색을 위한 다른 파라미터를 포함하는 데이터 패킷을 생성할 수도 있다(예를 들면, 결과는 소정의 시간 기간 사이에 있어야 한다). 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 (예를 들면, 유저 입력에 기초하여) 검색 조회를 송신하기 위해 소스 중 하나 또는 둘 모두로부터의 API를 활용할 수도 있다. 미디어 가이던스 애플리케이션은 특정한 소스에 대한 유저 선호도(예를 들면, 유저 프로파일에 저장되는 유저 선호도)에 기초하여 유저 입력을 송신할 소스를 결정할 수도 있다. 예를 들면, 유저는, 검색 조회가 소스의 특정한 세트로(예를 들면, AMAZON® 및 HULU®로) 전송되어야 하는 선호도를 저장할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 유저가 소스를 선택하는 것을 허용하는 유저 입력시 그래픽 유저 인터페이스를 생성할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저가 문자열(예를 들면, 유저 입력)을 입력할 수 있는 필드 및 결과를 검색할 소스에 대한 일련의 선택 가능한 옵션을 생성할 수도 있다.
미디어 가이던스 애플리케이션은 제1 소스로부터 제1 검색 결과를 그리고 제2 소스로부터 제2 검색 결과를 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은 소스 둘 모두로부터의 유저 입력과 매칭되는 복수의 결과를 수신할 수도 있다. 각각의 소스로부터의 결과는 별개의 테이블에서 수신될 수도 있는데, 각각의 테이블은 복수의 행을 포함하고, 각각의 행은 매칭 결과의 식별자(예를 들면, 미디어 자산의 타이틀) 및 관련 필드의 추가 정보(예를 들면, 미디어 자산의 배우)를 갖는다. 몇몇 실시형태에서, 결과는 인기도에 따라 순위가 매겨질 수도 있다. 대안적으로 또는 추가적으로, 결과는 유저 입력에 대한 연관성(relevance)에 따라 순위가 매겨질 수도 있다. 예를 들면, "The Big Bang Theory"가 가장 인기있는 결과이더라도(예를 들면, 많은 유저가 그것에 클릭할 수도 있음), 유저 입력이 "Bang"이기 때문에, Miley Cyrus의 앨범 "Bangerz"가 더 높은 순위가 매겨질 수도 있는데, 그 이유는 첫 번째 단어가 조회에 매칭되기 때문이다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 상기에서 논의되는 인자의 임의의 조합에 기초하여, 뿐만 아니라 유저 선호도에 기초하여 결과를 재정렬할 수도 있다. 예를 들면, 유저가 주어진 배우의 영화를 좋아한다는 유저 선호도를 미디어 가이던스 애플리케이션이 리트리빙하면(retrieve), 그 배우의 결과는 순위가 높아질 수도 있다.
미디어 가이던스 애플리케이션은 제2 소스보다 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 로컬하게 또는 서버에 원격으로 저장되는 유저 프로파일을 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은 유저 프로파일로부터 검색 선호도를 리트리빙할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스의 순위를 저장할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 유저가 그의 또는 그녀의 선호도를 반영하기 위해 소스(예를 들면, HULU®, AMAZON®, 등등)를 특정한 순서로 드래그 앤 드랍할 수 있는 그래픽 유저 인터페이스를 생성할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 각각의 소스의 순위 및 식별자를 (예를 들면, 어레이에) 저장할 수도 있다. 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스의 저장된 순위를 리트리빙하여 제1 및 제2 소스의 각각의 순위를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 문자열 "hulu"에 의해 식별되는 HULU®가 "5"의 순위와 관련된다는 것을 결정할 수도 있다. AMAZON®에 대한 순위가 "3"이면, 하기에서 추가로 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 유저가 HULU®보다 AMAZON®을 선호한다는 것을 결정하고 선호도에 기초하여 두 개의 소스로부터 결과를 생성할 수도 있다.
미디어 가이던스 애플리케이션은 검색 결과를 갖는 복수의 행을 포함하는 그리드를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스로부터의 결과를 제2 소스로부터의 결과 위에 생성할 수도 있고 제1 소스로부터 디스플레이되는 결과와 매칭되지 않는 제2 소스로부터의 결과만을 디스플레이할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은, 제2 소스보다 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스로부터 결과를 생성할 특정한 위치(예를 들면, 행)를 결정할 수도 있다. 몇몇 실시형태에서, 행은, 제2 소스로부터의 결과가 제시되는 제2 행보다 스크린의 상부에 더 가까운 행에 위치될 수도 있다.
미디어 가이던스 애플리케이션은 제1 행에 맞는 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 제2 검색 결과의 제2 서브세트를 결정하는데, 제1 서브세트는 제1 검색 결과의 제1 결과를 포함하고, 제2 서브세트는 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 행 및 제2 행에 맞는 결과의 수를 결정할 수도 있다. 그 수는 일정할 수도 있거나(예를 들면, 각각의 행은 항상 3 개의 결과를 포함함) 또는 결과의 식별자의 길이에 기초하여 변할 수도 있다(예를 들면, 많은 수의 문자를 갖는 결과는 더 많은 공간을 차지하고 한 번에 더 적은 결과가 디스플레이될 수 있음). 몇몇 실시형태에서, 그 수는 제1 행 및 제2 행에 대해 상이할 수도 있다. 예를 들면, 유저 선호도에 기초하여 선호되기 때문에, 제2 행보다 제1 행에 대해 더 많은 결과가 디스플레이될 수도 있다(예를 들면, 제1 행은 더 많은 디스플레이 공간을 차지할 수도 있고 결과를 두 개의 하위 행(sub-row)에서 디스플레이할 수도 있음). 그 다음, 미디어 가이던스 애플리케이션은, 디스플레이할 적절한 수의 결과를, 두 개의 소스로부터 수신되는 검색 결과로부터 선택할 수도 있다(예를 들면, 제1 및 제2 서브세트). 제1 서브세트는 제2 서브세트의 제2 결과와 매칭되는 제1 결과를 포함할 수도 있다. 예를 들면, "The Big Bang Theory"는 제1 및 제2 서브세트에 존재할 수도 있다. 중복되지 않는 결과를 유저에게 제시하기 위해, 미디어 가이던스 애플리케이션은, 하기에서 추가로 설명되는 바와 같이, 제2 결과 대신, 제1 서브세트 내의 결과 중 하나와 매칭되지 않는 제2 검색 결과의 제3 결과를 선택할 수도 있다.
미디어 가이던스 애플리케이션은 제1 결과와 관련되는 메타데이터를 제2 결과와 관련되는 메타데이터와 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, 결과와 관련되는 메타데이터를 로컬하게 스토리지로부터 또는 원격 서버로부터 검색할 수도 있다. 미디어 가이던스 애플리케이션은, 대안적으로 또는 추가적으로, 소스로부터 수신되는 결과와 관련되는 테이블의 필드 내의 메타데이터를 수신할 수도 있다. 메타데이터는, 결과와 관련되는 콘텐츠를 설명하는 결과에 관련되는 임의의 데이터일 수도 있다. 예를 들면, 결과가 뉴스 기사에 대한 것이면, 메타데이터는 기사의 저자, 기사의 타입(예를 들면, 의견), 및/또는 간행물 이름(예를 들면, 네이처(Nature))을 포함할 수도 있다. 미디어 가이던스 애플리케이션은, 두 개의 결과의 메타데이터(예를 들면, 속성)의 문자를 반복적으로 비교하여 두 개의 결과가 매칭되는지의 여부를 결정하기 위해 프로그램 스크립트를 실행할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 문자열 "Matt Damon(맷 데이먼)"을, 제2 결과와 관련되는 문자열 "Matt Dillon(맷 딜런)"과 비교할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 데이터베이스로부터 메타데이터를 리트리빙하고 리트리빙된 메타데이터의 문자를 비교하여 두 개의 결과가 매칭되는지의 여부를 결정할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은 제1 결과의 제1 식별자 및 제2 결과의 제2 식별자를 데이터베이스에 저장되어 있는 복수의 식별자와 비교한다. 식별자는, 결과와 관련되는 타이틀, URL, 및/또는 숫자 값(예를 들면, 시리얼 코드)과 같은, 결과를 정의하는 문자의 임의의 조합일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지에 로컬로 또는 통신 네트워크를 통해 원격 서버에 저장되는 데이터베이스에 액세스할 수도 있다. 데이터베이스는 일련의 다수의 링크된 테이블(예를 들면, 관계형 데이터베이스)로서 편제될 수도 있는데, 제1 테이블 내의 복수의 식별자 각각은, 식별자와 관련되는 메타데이터를 포함하는 다른 테이블에 대한 포인터와 관련된다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 및 제2 식별자의 문자를, 저장된 복수의 식별자와 비교할 수도 있다. 미디어 가이던스 애플리케이션은, 제1 저장된 식별자가 제1 식별자와 매칭되고 제2 저장된 식별자가 제2 식별자와 매칭된다는 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 저장된 식별자가 제1 식별자와 매칭되고 제2 저장된 식별자가 제2 식별자와 매칭된다는 것을 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제1 저장된 식별자 및 제2 저장된 식별자에 대응하는 필드 내의 포인터에 기초하여 적절한 링크된 테이블에 액세스할 수도 있다.
미디어 가이던스 애플리케이션은 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 리트리빙하고, 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙한다. 예를 들면, 각각의 저장된 식별자와 관련되는 메타데이터를 포함하는 테이블은, 더 용이한 비교를 위해, 각각의 테이블의 제1 필드 내의 메타데이터가, 항상, 결과와 관련되는 타이틀이고, 각각의 테이블의 제2 필드 내의 메타데이터가, 항상, 감독(director)이고, 등등이도록, 구성될 수도 있다(예를 들면, 동일한 속성에 대한 메타데이터는, 각각의 저장된 값을 다른 식별자와 관련되는 모든 저장된 값에 비교할 필요 없이, 비교될 수 있음). 대안적으로 또는 추가적으로, 테이블은, 메타데이터를 갖는 각각의 필드가, 상이한 식별자와 관련되는 대응하는 메타데이터를 비교하기 위해 사용될 수 있는 "ACTOR"와 같은 라벨(label)과 관련되도록 구성될 수도 있다. 미디어 가이던스 애플리케이션은, 제1 식별자(예를 들면, 타이틀)와 관련되는 제1 필드로부터 메타데이터를 그리고 제2 식별자(예를 들면, 또한 타이틀)와 관련되는 제2 필드로부터 메타데이터를 리트리빙할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 제1 메타데이터의 제1 문자를 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, (제1 식별자에 의해 식별되는) 제1 결과와 관련되는 리트리빙된 문자열의 각각의 문자를, (제2 식별자에 의해 식별되는) 제2 결과와 관련되는 리트리빙된 문자열의 문자와 비교할 수도 있다.
미디어 가이던스 애플리케이션은, 비교에 기초하여, 제1 결과가 제2 결과와 매칭된다는 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 특정한 속성의 각각의 문자가 제2 결과와 관련되는 대응하는 속성의 각각의 문자와 매칭되면, 두 개의 결과가 매칭된다는 것을 결정할 수도 있다. 예를 들면, 두 개의 결과가 배우 "Matt Damon"을 가리키는 메타데이터를 포함하는 경우, 미디어 가이던스 애플리케이션은 메타데이터가 매칭되고 따라서 두 개의 결과가 매칭된다는 것을 결정할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 모든 메타데이터(예를 들면, 모든 속성), 또는 임계 백분율(예를 들면, 50 %)이 제2 결과의 대응하는 메타데이터와 매칭되는지의 여부를 결정할 수도 있다. 예를 들면, 두 개의 결과 사이에서 타이틀, 감독, 및 장르 속성이 매칭된다는 것을 미디어 가이던스 애플리케이션이 결정하면, 미디어 가이던스 애플리케이션은, 단지 하나의 속성만이 매칭된 경우보다 더 큰 신뢰도를 가지고 두 개의 결과가 매칭된다는 것을 결정할 수도 있다.
몇몇 실시형태에서, 소정의 속성(예를 들면, 타이틀)은, 그 속성이 결과 사이에서 더욱 뚜렷하기 때문에, 두 개의 결과가 매칭되는지의 여부를 결정함에 있어서 더 많이 가중될 수도 있다. 예를 들면, 많은 결과가 "Matt Damon"을 가리킬 수도 있고, 따라서 배우 메타데이터만이 매칭되면 위양성 매칭(false positive match)이 발생할 수도 있지만, 그러나, 다수의 결과가 "The Bourne Identity"을 가리킬 가능성은 더 적고, 그러한 만큼, 타이틀은 배우보다 더 높게 가중된다. 몇몇 실시형태에서, 임계 개수의 문자가 제1 결과의 속성과 제2 결과의 속성 사이에서 매칭되면, 미디어 가이던스 애플리케이션은 매칭을 결정할 수도 있다. 예를 들면, 철자 오류 또는 다른 인쇄 상의 실수에서 기인하는 몇몇 경우에, 제1 결과와 관련되는 메타데이터와 제2 결과와 관련되는 메타데이터 사이에서 단일의 문자가 상이할 수도 있다(예를 들면, "Tom Hanks(톰 행크스)" 및 "Tom Hankz"). 이 상황에서, 임계(예를 들면, 하나의 문자를 제외한 모두) 양의 문자가 매칭되면, 미디어 가이던스 애플리케이션은 제1 및 제2 결과와 관련되는 메타데이터가 매칭된다는 것을 결정할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 디스플레이 템플릿에 기초하여 제1 및 제2 서브세트에 대해 선택할 결과의 수를 결정할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은 그리드에 대한 디스플레이 템플릿을 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지로부터 로컬하게 또는 통신 네트워크를 통해 서버로부터 원격으로, 디스플레이 템플릿을 리트리빙할 수도 있다. 디스플레이 템플릿은, 상이한 행에서 다수의 소스로부터의 결과를 디스플레이하기 위한 파라미터를 포함하는, 클래스 또는 테이블과 같은 임의의 적절한 데이터 구조일 수도 있다. 미디어 가이던스 애플리케이션은, 제1 행과 관련되는 디스플레이 템플릿의 제1 필드로부터, 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 디스플레이 템플릿의 필드 내의 한 필드로부터 제1 행에서의 결과 수에 대한 정수(예를 들면, "3")를 리트리빙할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 제1 행의 디스플레이 영역의 사이즈에 대응하는 값 또는 값들을 리트리빙하고, 제1 행에 맞을 수 있는 결과의 수를 계산할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 행과 관련되는 디스플레이 템플릿의 제2 필드로부터, 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙한다. 제1 행에 맞는 결과 수에 대한 값과 유사하게, 미디어 가이던스 애플리케이션은 디스플레이 템플릿의 필드로부터 제1 행에서의 결과의 수에 대한 정수(예를 들면, "3")를 리트리빙할 수도 있다. 몇몇 실시형태에서, 제1 행에 맞는 결과의 수는 제2 행에 맞는 수와는 상이할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 소스로부터 더 많은 수의 결과를 제시할 수도 있는데, 그것이 유저에 의해 선호되기 때문이다.
그 다음, 미디어 가이던스 애플리케이션은 제1 검색 결과로부터의 제1 개수의 결과를, 제1 서브세트로서 선택한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 검색 결과로부터 제1 행에 맞는 것으로 결정된 그 수의 결과를 리트리빙할 수도 있다(예를 들면, 상기에서 논의되는 바와 같이, 제1 소스로부터 수신되는 결과를 포함하는 테이블로부터 결과의 식별자를 리트리빙할 수도 있음). 미디어 가이던스 애플리케이션은 제1 검색 결과로부터의 그 수의 결과의 식별자를, 목록 또는 다른 데이터 구조에 추가하는 것에 의해, 제1 서브세트를 생성할 수도 있다. 미디어 가이던스 애플리케이션은 제2 검색 결과로부터의 제2 개수의 결과를 제2 서브세트로서 선택한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 검색 결과로부터 제2 행에 맞는 것으로 결정된 그 수의 결과를 리트리빙할 수도 있다(예를 들면, 상기에서 논의되는 바와 같이, 제2 소스로부터 수신되는 결과를 포함하는 테이블로부터 결과의 식별자를 리트리빙할 수도 있음). 미디어 가이던스 애플리케이션은 제2 검색 결과로부터의 그 수의 결과의 식별자를, 목록 또는 다른 데이터 구조에 추가하는 것에 의해, 제2 서브세트를 생성할 수도 있다. 미디어 가이던스 애플리케이션은 (예를 들면, 각각의 결과가 디스플레이 템플릿의 파라미터에 따라 디스플레이되도록) 디스플레이 템플릿의 인스턴스를 채우기 위해 제1 및 제2 서브세트의 각각의 식별자와 관련되는 추가 텍스트 및/또는 그래픽을 리트리빙할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 각각의 소스로부터의 결과의 연관성 순위에 기초하여 어떤 결과를 선택할지를 결정한다. 구체적으로, 미디어 가이던스 애플리케이션은, 유저 입력에 대한 각각의 결과의 연관성에 기초하여 제1 검색 결과에서의 각각의 결과 및 제2 검색 결과에서의 각각의 결과에 순위를 매긴다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 유저가 특정한 링크를 클릭한 횟수에 기초하여) 인기도 및/또는 문자 매칭(유저에 의해 제출된 검색 조회의 얼마나 많은 문자가 결과의 문자와 매칭되었는지)의 관점에서 이미 순위가 매겨진 검색 결과를 소스로부터 수신할 수도 있다. 이 상황에서, 미디어 가이던스 애플리케이션은 또한, 유저 선호도에 기초하여 결과에 순위를 매길 수도 있거나(예를 들면, 그 결과에 대한 유저 선호도에 기초하여 소정의 결과를 상승시킬 수도 있음) 또는 추가적인 순위 매김 없이 최고 순위의 결과를 간단히 리트리빙할 수도 있다. 소스로부터 수신되는 결과가 순위가 매겨지지 않고 유저의 조회에 대한 유사성에만 기초하여 순위가 매겨지면, 미디어 가이던스 애플리케이션은, 각각의 결과에 대해, 상대적인 인기도를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 각각의 결과의 식별자를, (스토리지에 로컬인 또는 원격 서버에 있는) 데이터 구조에 저장되어 있는 인기도와 비교할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 검색된 인기도 값에 기초하여 소스로부터 수신되는 결과에 순위를 매길 수도 있다. 예를 들면, 인기도 값은 텔레비전 쇼의 닐슨 시청률(Nielsen rating)일 수도 있다.
미디어 가이던스 애플리케이션은, 제1 서브세트 내의 제1 결과로서, 제1 검색 결과에서의 최고 순위의 결과를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과로서, 순위가 매겨진 제1 검색 결과의 최고 순위의 결과를 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 제1 검색 결과로부터 다음으로 가장 높은 순위의 결과를 리트리빙하는 것에 의해 (예를 들면, 상기에서 논의되는 바와 같이) 제1 행에 맞는 결과의 수를 계속 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 서브세트 내의 제2 결과로서, 제2 검색 결과에서 최고 순위의 결과를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 결과로서, 제2 검색 결과의 최고 순위의 결과를 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 검색 결과로부터 다음으로 가장 높은 순위의 결과를 리트리빙하는 것에 의해 (예를 들면, 상기에서 논의되는 바와 같이) 제2 행에 맞는 결과의 수를 계속 리트리빙할 수도 있다.
미디어 가이던스 애플리케이션은, 제1 결과가 제2 결과와 매칭된다는 결정에 응답하여, 제2 서브세트 내의 제2 결과를 제3 결과로 대체하는 것에 의해 제2 서브세트를 수정한다. 예를 들면, 동시에 디스플레이될 두 개의 결과가 매칭된다고 결정하면(예를 들면, 그들은 제1 및 제2 서브세트 내에 있음), 미디어 가이던스 애플리케이션은, 유저가 선호하지 않는 소스의 결과를 다른 결과로 대체한다. 예를 들면, "The Big Bang Theory"가 제1 및 제2 소스 둘 모두로부터의 그리고 제1 및 제2 서브세트 내의 결과인 경우, 제2 서브세트 내의 결과는 다른 결과로 대체될 수도 있다. 하기에서 추가로 논의되는 바와 같이, 제2 결과를 대체하는 결과는, 유저 선호도에 기초할 수도 있거나 또는 제2 소스로부터의 검색 결과에서 각각의 결과의 순위에 기초할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제2 결과를 다음으로 가장 높은 순위의 결과로 대체하는 것에 의해 제2 서브세트를 수정한다. 구체적으로, 미디어 가이던스 애플리케이션은 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 제3 결과로서 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 검색 결과의 소스로부터 수신되는 또는 상기에서 논의되는 바와 같이 미디어 가이던스 애플리케이션에 의해 생성되는) 순위가 매겨진 결과의 목록으로부터, 제2 서브세트의 일부가 아닌 최고 순위의 결과인 결과를 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은 또한, (예를 들면, 상기에서 논의되는 바와 같이 메타데이터를 비교하는 것에 의해) 리트리빙된 다음으로 가장 높은 순위의 결과가 제1 서브세트 내의 결과와 매칭되는지의 여부를 결정할 수도 있다. 예를 들면, 다음으로 가장 높은 순위의 결과가 제1 서브세트 내의 결과와 매칭된다는 것을 미디어 가이던스 애플리케이션이 결정하면, 미디어 가이던스 애플리케이션은, 결과가 제1 서브세트 중 하나와 매칭되지 않을 때까지, 다른 결과(예를 들면, 순위가 매겨진 목록에서 하나의 결과 더 낮음)를 리트리빙할 수도 있다.
미디어 가이던스 애플리케이션은 제2 서브세트로부터 제2 결과를 제거할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 서브세트의 식별자를 저장하는 목록 또는 다른 데이터 구조로부터 제2 결과와 관련되는 식별자를 제거할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제3 결과를 제2 서브세트에 추가할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 (제1 서브세트 내의 결과 중 어느 것과도 매칭되지 않는) 다음으로 가장 높은 순위의 결과의 식별자를 목록 또는 다른 데이터 구조에 추가할 수도 있다. 미디어 가이던스 애플리케이션은, 제거된 제2 결과의 식별자에 의해 이전에 채워진 동일한 필드에 식별자를 추가할 수도 있거나, 또는 식별자를 (예를 들면, 인기도에 기초하여) 재정렬할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 목록 또는 다른 데이터 구조에 저장되는 식별자의 순서를, 식별자가 행에서 유저에게 제시되는 순서로서 사용한다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제2 결과를, 유저 선호도와 매칭되는 결과로 대체하는 것에 의해 제2 서브세트를 수정한다. 구체적으로, 미디어 가이던스 애플리케이션은 검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 복수의 유저 선호도를 포함하는 유저 프로파일을 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은 유저 프로파일로부터 선호도를 리트리빙할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저가 배우 "Matt Damon"을 포함하는 영화를 즐긴다는 것을 검색할 수도 있다. 미디어 가이던스 애플리케이션은, 리트리빙된 유저 선호도를, 소스로부터의 검색 결과의 각각의 결과와 관련되는 메타데이터와 비교할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 결과와 관련되는 메타데이터를 로컬 스토리지 또는 원격 서버로부터 리트리빙할 수도 있다.
그 다음, 미디어 가이던스 애플리케이션은, (예를 들면, 문자 비교에 기초하여) 유저 선호도가 각각의 결과와 관련되는 메타데이터와 매칭되는지의 여부를 각각의 결과에 대해 결정할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 유저 프로파일 내의 모든 유저 선호도를, 결과와 관련되는 메타데이터에 비교하고, 얼마나 많은 유저 선호도가 각각의 결과와 관련되는 메타데이터와 매칭되는지에 기초하여 결과에 순위를 매긴다. 예를 들면, 결과의 배우 및 장르 둘 모두가 유저 선호도와 매칭되면, 그 결과는, 결과와 관련되는 배우만이 유저 선호도와 매칭되는 다른 결과보다, 더 높은 순위가 매겨질 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제2 결과를 어떤 결과와 대체할지를 결정할 때 (예를 들면, 유저 프로파일에 저장되어 있는 표시(indication)에 기초하여) 소정의 유저 선호도를 더 높게 가중시킬 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, "액션 영화(action movie)"에 대한 리트리빙된 유저 선호도가 유저에 대한 "낮은 선호도"이다는 것을, 유저가 그것을 그러한 것으로 지정하는 것에 기초하여 결정할 수도 있다. 대조적으로, 미디어 가이던스 애플리케이션은 "Matt Damon"에 대한 리트리빙된 유저 선호도가 유저에 대한 "높은 선호도"이다는 것을 결정할 수도 있다.
미디어 가이던스 애플리케이션은, 제3 결과의 속성이 제2 유저 선호도와 매칭된다는 결정에 응답하여, 제2 서브세트로부터 제2 결과를 제거한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 서브세트의 식별자를 저장하는 목록 또는 다른 데이터 구조로부터 제2 결과와 관련되는 식별자를 제거할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제3 결과를 제2 서브세트에 추가할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저 선호도(들)와 매칭되는(또는 가장 밀접하게 매칭되는) 결과의 식별자를 목록 또는 다른 데이터 구조에 추가할 수도 있다. 미디어 가이던스 애플리케이션은, 제거된 제2 결과의 식별자에 의해 이전에 채워진 동일한 필드에 식별자를 추가할 수도 있거나, 또는 식별자를 (예를 들면, 인기도에 기초하여) 재정렬할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 목록 또는 다른 데이터 구조에 저장되는 식별자의 순서를, 식별자가 행에서 유저에게 제시되는 순서로서 사용한다.
미디어 가이던스 애플리케이션은, 제1 행에서 제1 서브세트를 그리고 제2 행에서 수정된 제2 서브세트를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 서브세트 내의 각각의 결과의 식별자를 제1 행에서 생성할 수도 있다. 특정한 예로서, 식별자는 각각의 결과를 식별하는 텍스트 또는 그래픽일 수도 있다. 미디어 가이던스 애플리케이션은 식별자를, 소스로부터 수신할 수도 있고, 또는 로컬 스토리지 또는 원격 서버로부터 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 수정된 제2 서브세트(예를 들면, 제3 결과가 제2 결과를 대체한 곳) 내의 각각의 결과의 식별자를 제2 행에서 마찬가지로 생성할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 더 많은 결과가 이용 가능하다는 표시(예를 들면, 옆을 가리키는 화살표)를 생성한다. 화살표의 유저 선택을 수신하는 것에 응답하여, 미디어 가이던스 애플리케이션은, 화살표가 선택되었던 소스에 대해서만 새로운 서브세트를 생성할 수도 있거나(예를 들면, AMAZON®로부터의 더 많은 결과가 현재 결과를 대체하여 디스플레이됨) 또는 모든 디스플레이된 소스에 대한 새로운 서브세트를 생성할 수도 있다(예를 들면, AMAZON® 및 HULU®으로부터의 더 많은 결과가 현재 결과를 대체하여 디스플레이됨). 디스플레이되는 서브세트 내의 결과가 (예를 들면, 더 많은 결과를 보기 위한 유저 입력에 기초하여) 변경될 때마다, 미디어 가이던스 애플리케이션은, 상기에서 설명되는 바와 같이, 더 낮은 행 내의 임의의 결과가 더 높은 행 내의 결과와 매칭되는지의 여부를 결정하고 그 결과를 대체한다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제1 및 제2 소스로부터 수신되는 중복되는 결과의 총 수를 결정하고 그 수를 유저에게 디스플레이한다. 구체적으로, 미디어 가이던스 애플리케이션은, 제1 검색 결과의 각각의 결과를, 제2 검색 결과의 각각의 결과와 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 검색 결과의 각각의 결과와 관련되는 메타데이터를, 제2 소스로부터 수신되는 각각의 검색 결과의 메타데이터와 비교할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 소스로부터의 각각의 결과를 제2 소스로부터의 각각의 결과와 반복적으로 비교하기 위해, for 루프를 활용하는 프로그램 스크립트를 실행할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제1 검색 결과의 각각의 결과를 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 제1 검색 결과와 제2 검색 결과 사이의 중복되는 결과의 수를 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 카운터를 초기화할 수도 있고, 제1 소스로부터의 모든 결과가 제2 소스로부터의 검색 결과에 비교될 때까지, 제1 소스로부터의 결과와 제2 소스로부터의 결과 사이에서 매칭이 결정될 때마다 카운터를 증가시킬 수도 있다. 상기에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은, 두 개의 검색 결과와 관련되는 메타데이터의 임계 백분율이 매칭되는 경우, 매칭을 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제2 행에서 중복되는 결과의 수의 표시를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 행 또는 제2 행에서 중복의 총 수에 대한 값(예를 들면, "30")을 갖는 텍스트를 디스플레이를 위해 생성할 수도 있다. 표시는, 옵션 사항으로(optionally), 중복이 어떤 소스를 참조하는지를 명확히 하는 텍스트를 포함할 수도 있다. 예를 들면, AMAZON®이 제1 행에 대한 소스이고 HULU®가 제2 행의 소스인 경우, 미디어 가이던스 애플리케이션은 제2 행에서 텍스트 "Amazon(아마존)과의 30 개의 중복 소스"를 생성할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 결과의 유저 선택의 수신시, 동일한 결과를 반환한 다른 소스를 디스플레이할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은 제1 결과의 유저 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 리모콘 또는 터치스크린 인터페이스와 같은 유저 입력 인터페이스를 통해, 그리드 상에 디스플레이되는 특정한 결과의 선택을 수신할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 제1 행(예를 들면, 유저의 가장 선호하는 소스)에서 "The Big Bang Theory"에 대한 결과가 유저에 의해 선택된다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 상기 논의된 바와 같이, 선택된 결과와 관련되는 메타데이터를 다른 소스로부터의 결과와 비교하는 것에 의해, "The Big Bang Theory"에 대한 결과가 수신된 다른 소스를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, (제2 소스로부터의) 제2 결과가 (예를 들면, 제1 소스로부터) 제1 결과와 매칭된다는 것 및 제1 소스가 유저에 의해 선택된다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 유저 선택을 수신하는 것에 응답하여, 제1 결과가 또한 제2 소스로부터도 이용 가능하다는 표시를 디스플레이를 위해 생성한다. 예를 들면, 제1 및 제2 검색 결과 둘 모두가 "The Big Bang Theory"에 대한 결과를 포함하는 경우, 유저가 제1 검색 결과를 포함하는 제1 행에서 "The Big Bang Theory" 결과를 선택하면, 미디어 가이던스 애플리케이션은, 결과가 제2 소스에 의해서도 또한 반환되었다는 표시를 디스플레이를 위해 생성할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 텍스트 "이 결과는 Hulu에 의해 또한 반환되었음"을 디스플레이를 위해 생성할 수도 있다. 이러한 방식으로, 미디어 가이던스 애플리케이션은, 각각의 행에서 동일한 결과를 나타내어야 하지 않고도, 결과가 이용 가능한 대안적인 소스를 유저에게 제공할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 제1 소스 대신 제2 소스에 대한 선호도를 표현하는 요청을 유저로부터 수신하고, 미디어 가이던스 애플리케이션은, 제2 서브세트 대신, 제1 서브세트로부터 제1 서브세트와 제2 서브세트 사이의 중복되는 결과를 대체한다. 구체적으로, 미디어 가이던스 애플리케이션은, 제1 소스보다 제2 소스에 대한 제2 선호도를 나타내는 제2 유저 입력을 수신할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 디스플레이를 위해 제1 및 제2 결과로부터의 검색 결과를 갖는 그리드를 생성할 때, 하나의 소스로부터의 결과를 갖는 행을, 다른 소스로부터의 결과를 갖는 다른 행과 교환(swap)하기 위한 선택가능한 옵션(예를 들면, 화살표)을 포함할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 소스로부터의 결과를 갖는 제2 행을, 제1 소스로부터의 결과를 갖는 제1 행 위로 상승시키기 위한 선택가능한 옵션 중 하나의 유저 선택을 수신할 수도 있다. 예를 들면, 유저는 (예를 들면, 리모콘과 같은 유저 입력 인터페이스를 통해) 위쪽을 가리키는 화살표 그래픽을 선택할 수도 있고, 미디어 가이던스 애플리케이션은 (예를 들면, 제1 행이 제2 행 바로 위에 있는 경우) 유저 선택이 제1 및 제2 행을 교환하기 위한 요청이다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 두 개의 소스로부터의 검색 결과를 갖는 미래의 그리드를 생성할 때 사용하기 위해, 제1 소스보다 제2 소스에 대한 새로운 유저 선호도를 (예를 들면, 유저 프로파일에) 저장할 수도 있다.
미디어 가이던스 애플리케이션은, 제2 유저 입력을 수신하는 것에 응답하여, 제1 및 제2 검색 결과가 디스플레이되는 행을 교환하고, 더 선호되는 소스(예를 들면, 제2 소스)와의 덜 선호되는 소스(예를 들면, 제1 소스)로부터의 중복물이 존재하는지의 여부를 결정한다. 구체적으로, 미디어 가이던스 애플리케이션은, 수정된 제2 서브세트 내의 제3 결과를 제2 결과로 대체하는 것에 의해, 제2 검색 결과의 제3 서브세트를 생성한다. 예를 들면, 이제 제2 소스가 제1 소스보다 선호되므로, 제2 소스로부터의 결과가 선호된다. 따라서, (예를 들면, "The Big Bang Theory"에 대한) 제2 결과는 제2 서브세트에 다시 추가되어 디스플레이할 결과의 새로운 제3 서브세트를 생성할 수도 있다. 미디어 가이던스 애플리케이션은, 제3 서브세트의 일부인 각각의 결과의 식별자를 갖는 새로운 목록 또는 다른 데이터 구조를 생성할 수도 있거나, 또는 제2 서브세트에 대한 현존하는 목록 또는 다른 데이터 구조를 수정할 수도 있다. 몇몇 실시형태에서, 제2 결과는 제3 결과를 대체한다. 다른 실시형태에서, 서브세트 내의 이전의 다른 결과는 제거되고 제2 및 제3 결과 둘 모두는 제3 서브세트 내에 있다.
미디어 가이던스 애플리케이션은, 제1 서브세트의 제1 결과를 제1 검색 결과의 제4 결과로 대체하는 것에 의해 제1 검색 결과의 제4 서브세트를 생성하는데, 제4 결과는 제1 서브세트 내에 있지 않다. 예를 들면, 이제 제2 소스가 제1 소스보다 선호되므로, 제2 소스의 결과와 매칭되는 제1 소스로부터의 결과는 다른 결과로 대체될 필요가 있다. 따라서, (예를 들면, "The Big Bang Theory"에 대한) 제1 결과는 (예를 들면, 상기에서 논의되는 바와 같이 메타데이터를 비교하는 것에 기초하여) 제3 서브세트 내의 결과 중 어느 것과도 매칭되지 않는 제1 검색 결과의 제4 결과로 대체될 수도 있다. 미디어 가이던스 애플리케이션은, 제4 서브세트의 일부인 각각의 결과의 식별자를 갖는 새로운 목록 또는 다른 데이터 구조를 생성할 수도 있거나, 또는 제1 서브세트에 대한 현존하는 목록 또는 다른 데이터 구조를 수정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제1 서브세트 대신 제1 행에서 제3 서브세트를 그리고 수정된 제2 서브세트 대신 제2 행에서 제4 서브세트를, 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제3 서브세트의 각각의 결과와 관련되는 표시자(예를 들면, 텍스트 및/또는 그래픽)를 제1 행에서 그리고 제4 서브세트의 각각의 결과와 관련되는 표시자(예를 들면, 텍스트 및/또는 그래픽)를 제2 행에서 생성할 수도 있다. 이러한 방식으로, 중복되는 결과는 여전히 제시되지 않지만, 그러나 제2 소스가 이제 제1 소스보다 선호되기 때문에, 중복되는 결과는, 제2 결과가 아닌, 제1 결과로부터 대체된다.
몇몇 실시형태에서, 결과는 미디어 자산을 식별하고 미디어 가이던스 애플리케이션은 미디어 자산에 관련되는 액션(action)을 수행하기 위한 선택 가능한 옵션을 제시한다. 구체적으로, 미디어 가이던스 애플리케이션은 제1 결과의 유저 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 리모콘 또는 터치스크린 인터페이스와 같은 유저 입력 인터페이스를 통해, 그리드 상에 디스플레이되는 특정한 결과의 선택을 수신할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 제1 행(예를 들면, 유저의 가장 선호하는 소스)에서 "The Big Bang Theory"에 대한 결과가 유저에 의해 선택된다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 유저 선택을 수신하는 것에 응답하여, 미디어 자산과 관련되는 복수의 선택 가능한 옵션을, 디스플레이를 위해 생성한다. 복수의 옵션은, 미디어 자산을 감시 목록(watch list)에 추가하기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산을 감시 목록에 추가하기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은, 유저가 어떤 미래의 시간에 시청하기를 소망하는 미디어 자산의 식별자를 포함하는 미디어 자산과 관련되는 식별자를 데이터 구조에 저장할 수도 있다.
복수의 옵션은, 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은, 유저가 좋아하는 미디어 자산의 식별자를 포함하는 미디어 자산과 관련되는 식별자를 데이터 구조에 저장할 수도 있다. 몇몇 실시형태에서, 즐겨찾기 목록은, 상기에서 논의되는 바와 같이, 중복되는 결과를 어떤 결과와 대체할지를 결정할 때 특정한 결과에 대한 유저 선호도를 결정하기 위해 사용될 수도 있다. 복수의 옵션은, 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은, 미디어 자산이 이용 가능한 시간 및 소스에 대해 (예를 들면, 스토리지에 로컬하게 또는 원격 서버에 저장되는) 미디어 가이던스 데이터베이스에 조회할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 미디어 자산이 이용 가능한 시간 및 소스를, 디스플레이를 위해 생성할 수도 있다.
복수의 옵션은 미디어 자산을 기록하기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산을 기록하기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은 시간의 소정의 기간 동안 미디어 자산이 소스로부터 이용 가능한지의 여부를 결정할 수도 있다. 미디어 자산이 이용 가능한 경우, 미디어 가이던스 애플리케이션은 (예를 들면, 미디어 자산의 식별자 및 미디어 자산이 이용 가능한 소스 및 시간을 스케줄링 데이터 구조에 추가하는 것에 의해) 기록을 스케줄링할 수도 있다. 미디어 자산이 이용 가능하지 않은 경우, 미디어 가이던스 애플리케이션은, 상기에서 논의되는 바와 같이, 미디어 자산을 감시 목록에 추가할 수도 있다.
설명되는 시스템 및 방법은, 유저 선호도에 기초하여 상이한 소스로부터의 검색 결과를 상이한 행에서 제시할 수 있고, 덜 선호되는 소스가 더 선호되는 소스와의 중복물을 디스플레이하지 않는 것을 보장할 수 있다. 종래의 시스템은, 결과의 소스에 의해 편제되는 상이한 소스로부터의 결과를 제시할 수도 있다. 그러나, 이 프로세스는, 결과를 그들 각각의 소스에 기초하여 정렬할 때 유저 선호도를 무시한다. 더구나, 종래의 시스템은 (유저의 선호도에 기초한) 더 낮은 순위의 소스가 더 높은 순위의 소스와 중복되는 결과를 포함한다는 것을 결정하지 않으며 상응하여 상이한 결과를 제시한다. 설명되는 시스템 및 방법은, 중복을 고려하고 제거하는 것에 의해, 주어진 디스플레이 스크린 상에 제시될 수도 있는 고유한 결과의 수를 최대화할 수 있다.
상기에서 설명되는 시스템 및/또는 방법은, 본 개시에서 설명되는 다른 시스템, 방법 및/또는 장치에 적용될 수도 있거나, 또는 본 개시에서 설명되는 다른 시스템, 방법 및/또는 장치에 따라 사용될 수도 있다는 것을 유의해야 한다.
본 개시의 상기 및 다른 목적 및 이점은, 첨부된 도면과 연계하여 취해지는 다음의 상세한 설명의 고려시, 명백할 것인데, 첨부의 도면에서, 동일한 참조 문자는 전체에 걸쳐 동일한 부분을 나타내며, 첨부의 도면에서:
도 1은, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 그리드로 나타내는 디스플레이의 예시적인 예를 도시한다;
도 2는, 본 개시의 몇몇 실시형태에 따른, 상이한 소스로부터의 검색 결과를 포함하는 데이터 구조의 예시적인 묘사를 도시한다;
도 3은, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 그리드로 나타내는 다른 예시적인 디스플레이를 도시한다;
도 4는, 본 개시의 몇몇 실시형태에 따른, 미디어 콘텐츠를 액세스함에 있어서 사용하기 위한 디스플레이 스크린의 예시적인 예를 도시한다;
도 5는 본 개시의 몇몇 실시형태에 따른 미디어 콘텐츠에 액세스하기 위해 사용되는 디스플레이 스크린의 다른 예시적인 예를 도시한다;
도 6은 본 개시의 몇몇 실시형태에 따른 예시적인 유저 기기 디바이스의 블록도이다;
도 7은 본 개시의 몇몇 실시형태에 따른 예시적인 미디어 시스템의 블록도이다;
도 8은, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 제시하기 위한 예시적인 단계의 플로우차트이다;
도 9는, 본 개시의 몇몇 실시형태에 따른, 유저 선호도에 기초하여, 유저가 제2 소스보다 제1 소스를 선호한다는 것을 결정하기 위한 예시적인 단계의 플로우차트이다;
도 10은, 본 개시의 몇몇 실시형태에 따른, 디스플레이할 결과의 서브세트를 결정하기 위한 예시적인 단계의 플로우차트이다;
도 11은, 본 개시의 몇몇 실시형태에 따른, 제1 소스로부터의 제1 결과 및 제2 소스로부터의 제2 결과가 매칭되는지의 여부를 결정하기 위한 예시적인 단계의 플로우차트이다; 그리고
도 12는, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 제시하기 위한 예시적인 단계의 다른 플로우차트이다.
결과를 보낸 소스의 순위를 매기는 것 및 더 낮은 순위의 소스로부터의 중복되는 결과를 제시하지 않는 것에 의해, 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법이 설명된다. 예를 들면, 제1 소스 및 제2 소스로부터 결과가 수신될 수도 있다. 유저가 제2 소스보다 제1 소스에 대해 선호도를 갖는 것에 응답하여(예를 들면, 유저는 HBO보다 AMAZON®을 더 좋아함), 제1 소스로부터의 결과는, 제2 소스로부터의 결과보다 스크린의 상부에 더 가까운 행에서 제시될 수도 있다. 그 다음, 시스템은, AMAZON®에 대해 디스플레이될 결과가 HBO에 대해 디스플레이될 결과와 매칭되는지의 여부를 (예를 들면, 두 개의 결과의 메타데이터를 비교하는 것에 의해) 결정한다. 두 개의 결과가 매칭되면, 결과는 상위 순위의 소스(예를 들면, AMAZON®)에 대해서만 제시되고, 제1 행에서 디스플레이되는 결과 중 어느 것과도 매칭되지 않는 다른 결과는 제2 행에서 제시된다. 이러한 방식으로, 유저는, 동일한 결과가 상이한 소스로부터 이용 가능한 경우 그것을 다수 회 제시하는 것과는 대조적으로, 모두 상이한 검색 결과를 제공 받는다.
도 1은, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 그리드로 나타내는 디스플레이의 예시적인 예를 도시한다. 예를 들면, 디스플레이(100)는, 유저 조회(102)에 관련되는 검색 결과를 디스플레이하기 위해, 미디어 가이던스 애플리케이션을 실행하는 유저 기기에 커플링될 수도 있다. 유저 조회(102)는 디스플레이(100) 또는 다른 유저 기기를 디스플레이하는 동일한 유저 기기에 커플링되는 유저 입력 인터페이스를 통해 수신될 수도 있다. 디스플레이(100)는 소스(104 및 106)뿐만 아니라, 추가 소스(108)에 대한 행을 포함하는 그리드를 포함한다. 소스(예를 들면, 소스(104) 또는 소스(106))에 대한 각각의 행은, 소스로부터의 결과의 서브세트를 포함한다. 예를 들면, 결과(112, 114 및 116)는 소스(104)로부터 디스플레이되고, 결과(118, 120 및 122)는 소스(106)로부터 디스플레이된다. 소스(104) 및 소스(106)는, 하기에서 논의되는 바와 같이, 동일한 결과를 포함할 수도 있다(예를 들면, 결과(112)는 소스 둘 모두로부터 디스플레이될 서브세트의 일부임). 응답으로, 미디어 가이던스 애플리케이션은, 유저가 덜 선호하는 소스로부터(예를 들면, 소스(106)로부터) 중복되는 결과를 제거할 수도 있다.
디스플레이(100)는 유저 선호도에 기초하여 (예를 들면, 위에서부터 아래로) 정렬되는 소스를 포함할 수도 있다. 예를 들면, 소스(104)가 소스(106)보다 선호된다는 것을 유저 프로파일에 저장되는 유저 선호도가 나타내는 경우, 미디어 가이던스 애플리케이션은 디스플레이(100)에서 소스(106) 위에 소스(104)를 생성할 수도 있다. 디스플레이(100)는, 소스(104 및 106)로부터 각각 관련되는 추가적인 결과를 디스플레이하기 위한 화살표(124 및 130)를 포함할 수도 있다. 디스플레이(100)는 소스를 재정렬하기 위한 화살표(126 및 128)를 포함할 수도 있다. 예를 들면, 화살표(126 또는 128) 중 하나의 선택시, 미디어 가이던스 애플리케이션은 디스플레이(100) 상에서 제시되는 소스를 재정렬할 수도 있다(예를 들면, 소스(106)는 제1 행일 수도 있고 소스(104)는 제2 행일 수도 있음). 디스플레이(100)는 하나 이상의 유저 디바이스(예를 들면, 하기의 도 6 및 도 7에서 열거되는 디바이스 중 임의의 것) 상에서 나타날 수도 있다. 또한, 미디어 가이던스 애플리케이션은 디스플레이(100) 또는 그 안에서 설명되는 피쳐 중 임의의 것을 생성하기 위해 도 8 내지 도 12에 설명되는 프로세스 중 하나 이상을 사용할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 유저 입력을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력 인터페이스(예를 들면, 리모콘(remote control) 또는 터치스크린 인터페이스)를 통해 유저 입력을 수신할 수도 있다. 유저 입력은 하나의 또는 다수의 영숫자 또는 다른 문자의 문자열(예를 들면, "Big")일 수도 있다. 대안적으로 또는 추가적으로, 유저 입력은 공통 검색 조회를 갖는 복수의 선택 가능한 옵션 중 하나를 선택하는 것일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 가장 일반적으로 검색되는 키워드를 유저가 선택할 선택 가능한 옵션으로서 제시하여, 그 또는 그녀가 문자를 입력해야 할 수도 있는 유저 시간을 절약할 수도 있다.
미디어 가이던스 애플리케이션은 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색한다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력(예를 들면, 유저 조회(102))을 제1 소스 및 제2 소스(예를 들면, 소스(104 및 106))로 송신할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력(예를 들면, 문자열) 및/또는 검색을 위한 다른 파라미터를 포함하는 데이터 패킷을 생성할 수도 있다(예를 들면, 결과는 소정의 시간 기간 사이에 있어야 한다). 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 (예를 들면, 유저 입력에 기초하여) 검색 조회를 송신하기 위해 소스 중 하나 또는 둘 모두(예를 들면, 소스(104 및 106) 중 하나 또는 둘 모두)로부터의 API를 활용할 수도 있다. 미디어 가이던스 애플리케이션은 특정한 소스에 대한 유저 선호도(예를 들면, 유저 프로파일에 저장되는 유저 선호도)에 기초하여 유저 입력을 송신할 소스(예를 들면, 소스(104 및 106))를 결정할 수도 있다. 예를 들면, 유저는, 검색 조회가 소스(예를 들면, 소스(104 및 106))의 특정한 세트로 전송되어야 한다는 선호도를 저장할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 유저가 소스(예를 들면, 소스(104 및 106))를 선택하는 것을 허용하는 유저 입력시 그래픽 유저 인터페이스를 생성할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저가 문자열(예를 들면, 유저 조회(102))을 입력할 수 있는 필드 및 결과를 검색할 소스에 대한 일련의 선택 가능한 옵션을 생성할 수도 있다.
본원에서 언급될 때, "결과"는 유저로부터의 입력에 관련되는 또는 유저로부터의 입력과 매칭되는 데이터로서 이해되어야 한다. 예를 들면, 데이터는, 웹페이지에 대한 URL과 같은 데이터의 위치에 대한 링크 또는 미디어 자산이 저장되는 스토리지의 위치에 대한 링크일 수도 있다. 다른 예로서, 데이터는, 유저 입력과 매칭되는 텍스트 또는 그래픽일 수도 있다(예를 들면, 유저 입력이 "orange"인 경우, 과일에 대한 이미지가 결과일 수도 있다). 본원에서 언급될 때, "검색 결과"는 소스로부터 수신되는 하나 이상의 결과로서 이해되어야 한다. 예를 들면, 유저 입력에 기초한 결과에 대해 조회되는 소스는 다수의 결과(예를 들면, 상이한 URL로의 링크, 스토리지 내의 상이한 위치에 대한 포인터, 그래픽, 등등)를 반환할 수도 있다.
미디어 가이던스 애플리케이션은 제1 소스로부터 제1 검색 결과를 그리고 제2 소스로부터 제2 검색 결과를 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은 소스(예를 들면, 소스(104 및 106)) 둘 모두로부터 유저 입력(예를 들면, 유저 조회(102))과 매칭되는 복수의 결과를 수신할 수도 있다. 각각의 소스(예를 들면, 소스(104 및 106))로부터의 결과는 별개의 테이블에서 수신될 수도 있는데, 각각의 테이블은 복수의 행을 포함하고, 각각의 행은 매칭 결과의 식별자(예를 들면, 미디어 자산의 타이틀) 및 관련 필드의 추가 정보(예를 들면, 미디어 자산의 배우)를 갖는다. 몇몇 실시형태에서, 도 2 및 도 10과 관련하여 하기에서 추가로 설명되는 바와 같이, 결과는 인기도에 따라 순위가 매겨질 수도 있다. 대안적으로 또는 추가적으로, 도 2 및 도 10과 관련하여 하기에서 추가로 설명되는 바와 같이, 결과는 유저 입력에 대한 연관성에 따라 순위가 매겨질 수도 있다. 예를 들면, "The Big Bang Theory"가 가장 인기있는 결과이더라도(예를 들면, 많은 유저가 그것에 클릭할 수도 있음), 유저 입력이 "Bang"이기 때문에, Miley Cyrus의 앨범 "Bangerz"가 더 높은 순위가 매겨질 수도 있는데, 그 이유는 첫 번째 단어가 조회에 매칭되기 때문이다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 상기에서 논의되는 인자의 임의의 조합에 기초하여, 뿐만 아니라 유저 선호도에 기초하여 결과를 재정렬할 수도 있다. 예를 들면, 유저가 주어진 배우의 영화를 좋아한다는 유저 선호도를 미디어 가이던스 애플리케이션이 검색하면(retrieve), 그 배우의 결과는 순위가 높아질 수도 있다.
미디어 가이던스 애플리케이션은 제2 소스보다 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 로컬하게 또는 서버에 원격으로 저장되는 유저 프로파일을 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은 유저 프로파일로부터 검색 선호도를 리트리빙할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스(예를 들면, 소스(104 및 106))의 순위를 저장할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 유저가 그의 또는 그녀의 선호도를 반영하기 위해 소스(예를 들면, 소스(104 및 106))를 특정한 순서로 드래그 앤 드랍할 수 있는 그래픽 유저 인터페이스를 생성할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 각각의 소스(예를 들면, 소스(104 및 106))의 순위 및 식별자를 (예를 들면, 어레이에) 저장할 수도 있다. 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스(예를 들면, 소스(104 및 106))의 저장된 순위를 리트리빙하여 제1 및 제2 소스의 각각의 순위를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 문자열 "hulu"에 의해 식별되는 HULU®가 "5"의 순위와 관련된다는 것을 결정할 수도 있다. AMAZON®에 대한 순위가 "3"이면, 하기에서 추가로 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 유저가 HULU®보다 AMAZON®을 선호한다는 것을 결정하고 선호도에 기초하여 두 개의 소스로부터 결과를 그리드(예를 들면, 디스플레이(100))에 생성할 수도 있다.
미디어 가이던스 애플리케이션은 검색 결과를 갖는 복수의 행을 포함하는 그리드를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스(예를 들면, 소스(104))로부터의 결과를 제2 소스(예를 들면, 소스(106))로부터의 결과 위에 생성할 수도 있고 제1 소스로부터 디스플레이되는 결과와 매칭되지 않는 제2 소스로부터의 결과만을 디스플레이할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은, 제2 소스보다 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스(예를 들면, 소스(104))로부터 결과(예를 들면, 결과(112, 114, 및 116))를 생성할 특정한 위치(예를 들면, 행)를 결정할 수도 있다. 몇몇 실시형태에서, 행은, 제2 소스로부터의 결과가 제시되는 제2 행보다 스크린(예를 들면, 디스플레이(100))의 상부에 더 가까운 행에 위치될 수도 있다.
미디어 가이던스 애플리케이션은 제1 행에 맞는 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 제2 검색 결과의 제2 서브세트를 결정하는데, 제1 서브세트는 제1 검색 결과의 제1 결과를 포함하고, 제2 서브세트는 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 행 및 제2 행에 맞는 결과의 수를 결정할 수도 있다. 그 수는 일정할 수도 있거나(예를 들면, 각각의 행은 항상 3 개의 결과를 포함함) 또는 결과의 식별자의 길이에 기초하여 변할 수도 있다(예를 들면, 많은 수의 문자를 갖는 결과는 더 많은 공간을 차지하고 한 번에 더 적은 결과가 디스플레이될 수 있음). 몇몇 실시형태에서, 그 수는 제1 행 및 제2 행에 대해 상이할 수도 있다. 예를 들면, 유저 선호도에 기초하여 선호되기(예를 들면, 소스(104)가 소스(106)보다 선호됨) 때문에, 제2 행보다 제1 행에 대해 더 많은 결과가 디스플레이될 수도 있다(예를 들면, 제1 행은 더 많은 디스플레이 공간을 차지할 수도 있고 결과를 두 개의 하위 행에서 디스플레이할 수도 있음). 그 다음, 미디어 가이던스 애플리케이션은, 디스플레이할 적절한 수의 결과를, 두 개의 소스로부터 수신되는 검색 결과로부터 선택할 수도 있다(예를 들면, 결과(112, 114, 및 116)가 소스(104)로부터 수신되는 결과로부터 선택됨). 제1 서브세트는 제2 서브세트의 제2 결과와 매칭되는 제1 결과를 포함할 수도 있다. 예를 들면, "The Big Bang Theory"(예를 들면, 결과 112)는 제1 및 제2 서브세트에 존재할 수도 있다(예를 들면, 소스(104 및 106) 둘 모두로부터의 선택된 결과는 동일한 결과를 포함한다). 중복되지 않는 결과를 유저에게 제시하기 위해, 미디어 가이던스 애플리케이션은, 하기에서 추가로 설명되는 바와 같이, 제2 결과 대신, 제1 서브세트 내의 결과 중 하나와 매칭되지 않는(예를 들면, 결과(112, 114, 또는 116)와 매칭되지 않는) 제2 검색 결과의 제3 결과를 선택할 수도 있다.
미디어 가이던스 애플리케이션은 제1 결과와 관련되는 메타데이터를 제2 결과와 관련되는 메타데이터와 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, 결과(예를 들면, 결과(112))와 관련되는 메타데이터를 로컬하게 스토리지로부터 또는 원격 서버로부터 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 대안적으로 또는 추가적으로, 소스(예를 들면, 소스(104))로부터 수신되는 결과와 관련되는 테이블의 필드 내의 메타데이터를 수신할 수도 있다. 메타데이터는, 결과와 관련되는 콘텐츠를 설명하는 결과에 관련되는 임의의 데이터일 수도 있다. 예를 들면, 결과가 뉴스 기사에 대한 것이면, 메타데이터는 기사의 저자, 기사의 타입(예를 들면, 의견), 및/또는 간행물 이름(예를 들면, 네이처(Nature))을 포함할 수도 있다. 미디어 가이던스 애플리케이션은, 두 개의 결과의 메타데이터(예를 들면, 속성)의 문자를 반복적으로 비교하여 두 개의 결과가 매칭되는지의 여부를 결정하기 위해 프로그램 스크립트를 실행할 수도 있다(예를 들면, 소스(104)로부터의 결과(112) 및 소스(106)로부터의 결과(118)가 비교됨). 예를 들면, 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 문자열 "Matt Damon"을, 제2 결과와 관련되는 문자열 "Matt Dillon"과 비교할 수도 있다.
미디어 가이던스 애플리케이션은, 비교에 기초하여, 제1 결과가 제2 결과와 매칭된다는 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과(예를 들면, 소스(104)로부터의 결과(112))와 관련되는 특정한 속성의 각각의 문자가 제2 결과(예를 들면, 소스(106)로부터의 결과(112)와 매칭되는 결과)와 관련되는 대응하는 속성의 각각의 문자와 매칭되면, 두 개의 결과가 매칭된다는 것을 결정할 수도 있다. 예를 들면, 두 개의 결과가 배우 "Matt Damon"을 가리키는 메타데이터를 포함하는 경우, 미디어 가이던스 애플리케이션은 메타데이터가 매칭되고 따라서 두 개의 결과가 매칭된다는 것을 결정할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, (예를 들면, 소스(104)로부터의) 제1 결과와 관련되는 모든 메타데이터(예를 들면, 모든 속성), 또는 임계 백분율(예를 들면, 50 %)이 (예를 들면, 소스(106)로부터의) 제2 결과의 대응하는 메타데이터와 매칭되는지의 여부를 결정할 수도 있다. 예를 들면, 두 개의 결과 사이에서 타이틀, 감독, 및 장르 속성이 매칭된다는 것을 미디어 가이던스 애플리케이션이 결정하면, 미디어 가이던스 애플리케이션은, 단지 하나의 속성만이 매칭된 경우보다 더 큰 신뢰도를 가지고 두 개의 결과가 매칭된다는 것을 결정할 수도 있다.
몇몇 실시형태에서, 소정의 속성(예를 들면, 타이틀)은, 그 속성이 결과 사이에서 더욱 뚜렷하기 때문에, 두 개의 결과가 매칭되는지의 여부를 결정함에 있어서 더 많이 가중될 수도 있다. 예를 들면, 많은 결과가 "Matt Damon"을 가리킬 수도 있고, 따라서 배우 메타데이터만이 매칭되면 위양성 매칭이 발생할 수도 있지만, 그러나, 다수의 결과가 "The Bourne Identity"을 가리킬 가능성은 더 적고, 그러한 만큼, 타이틀은 배우보다 더 높게 가중된다. 몇몇 실시형태에서, 임계 개수의 문자가 (예를 들면, 소스(104)로부터의) 제1 결과의 속성과 (예를 들면, 소스(106)로부터의) 제2 결과의 속성 사이에서 매칭되면, 미디어 가이던스 애플리케이션은 매칭을 결정할 수도 있다. 예를 들면, 철자 오류 또는 다른 인쇄 상의 실수에서 기인하는 몇몇 경우에, 제1 결과와 관련되는 메타데이터와 제2 결과와 관련되는 메타데이터 사이에서 단일의 문자가 상이할 수도 있다(예를 들면, "Tom Hanks" 및 "Tom Hankz"). 이 상황에서, 임계(예를 들면, 하나의 문자를 제외한 모두) 양의 문자가 매칭되면, 미디어 가이던스 애플리케이션은 제1 및 제2 결과와 관련되는 메타데이터가 매칭된다는 것을 결정할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 디스플레이 템플릿에 기초하여 제1 및 제2 서브세트에 대해 선택할 결과의 수를 결정할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은 그리드에 대한 (예를 들면, 디스플레이(100)를 생성할) 디스플레이 템플릿을 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지로부터 로컬하게 또는 통신 네트워크를 통해 서버로부터 원격으로, 디스플레이 템플릿을 리트리빙할 수도 있다. 디스플레이 템플릿은, 상이한 행에서 다수의 소스로부터의 결과를 디스플레이하기 위한 파라미터를 포함하는, 클래스 또는 테이블과 같은 임의의 적절한 데이터 구조일 수도 있다. 미디어 가이던스 애플리케이션은, 제1 행과 관련되는 디스플레이 템플릿의 제1 필드로부터, 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 디스플레이 템플릿의 필드 내의 한 필드로부터 제1 행에서의 결과 수에 대한 정수(예를 들면, "3")를 리트리빙할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 제1 행의 디스플레이 영역의 사이즈에 대응하는 값 또는 값들을 리트리빙하고, 제1 행에 맞을 수 있는 결과의 수를 계산할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 행과 관련되는 디스플레이 템플릿의 제2 필드로부터, 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙한다. 제1 행에 맞는 결과 수에 대한 값과 유사하게, 미디어 가이던스 애플리케이션은 디스플레이 템플릿의 필드로부터 제1 행에서의 결과의 수에 대한 정수(예를 들면, "3")를 리트리빙할 수도 있다. 몇몇 실시형태에서, 제1 행에 맞는 결과의 수는 제2 행에 맞는 수와는 상이할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 소스(예를 들면, 소스(104))로부터 더 많은 수의 결과를 제시할 수도 있는데, 그것이 유저에 의해 선호되기 때문이다.
그 다음, 미디어 가이던스 애플리케이션은 제1 검색 결과로부터의 제1 개수의 결과를, 제1 서브세트로서 선택한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 검색 결과로부터 제1 행에 맞는 것으로 결정된 그 수의 결과를 리트리빙할 수도 있다(예를 들면, 3 개의 결과가 제1 행에 맞는 경우, 소스(104)로부터 결과(112, 114 및 116)가 리트리빙될 수도 있음). 미디어 가이던스 애플리케이션은 제1 검색 결과로부터의 그 수의 결과의 식별자를, 목록 또는 다른 데이터 구조에 추가하는 것에 의해, 제1 서브세트를 생성할 수도 있다. 미디어 가이던스 애플리케이션은 제2 검색 결과로부터의 제2 개수의 결과를 제2 서브세트로서 선택한다. 예를 들면, 미디어 가이던스 애플리케이션은 제2 검색 결과로부터 제2 행에 맞는 것으로 결정된 그 수의 결과를 리트리빙할 수도 있다(예를 들면, 3 개의 결과가 제1 행에 맞는 경우, 소스(106)로부터 결과(112), 결과(120), 및 결과(122)와 매칭되는 결과가 리트리빙될 수도 있음). 미디어 가이던스 애플리케이션은 제2 검색 결과로부터의 그 수의 결과의 식별자를, 목록 또는 다른 데이터 구조에 추가하는 것에 의해, 제2 서브세트를 생성할 수도 있다. 미디어 가이던스 애플리케이션은 (예를 들면, 각각의 결과가 디스플레이 템플릿의 파라미터에 따라 디스플레이되도록) 디스플레이 템플릿의 인스턴스를 채우기 위해 제1 및 제2 서브세트의 각각의 식별자와 관련되는 추가 텍스트 및/또는 그래픽을 리트리빙할 수도 있다.
미디어 가이던스 애플리케이션은, 제1 결과가 제2 결과와 매칭된다는 결정에 응답하여, 제2 서브세트 내의 제2 결과를 제3 결과로 대체하는 것에 의해 제2 서브세트를 수정한다. 예를 들면, 동시에 디스플레이될 두 개의 결과가 매칭된다는 것의 결정시(예를 들면, 그들은 제1 및 제2 서브세트 내에 있음), 미디어 가이던스 애플리케이션은, 유저가 선호하지 않는 소스의 결과(예를 들면, 결과(112)와 매칭되는, 그러나 소스(106)로부터의 결과)를 다른 결과로(예를 들면, 결과(118)로) 대체한다. 예를 들면, "The Big Bang Theory"가 제1 및 제2 소스 둘 모두로부터의 그리고 제1 및 제2 서브세트 내의 결과인 경우, 제2 서브세트 내의 결과는 다른 결과로 대체될 수도 있다. 도 2와 관련하여 하기에서 추가로 논의되는 바와 같이, 제2 결과를 대체하는 결과는 유저 선호도에 기초할 수도 있거나 또는 제2 소스로부터의 검색 결과에서의 각각의 결과의 순위에 기초할 수도 있다.
미디어 가이던스 애플리케이션은, 제1 행에서 제1 서브세트를 그리고 제2 행에서 수정된 제2 서브세트를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 서브세트 내의 각각의 결과(예를 들면, 결과(112, 114, 및 116))의 식별자를 제1 행에서 생성할 수도 있다. 특정한 예로서, 식별자는 각각의 결과를 식별하는 텍스트 또는 그래픽일 수도 있다. 미디어 가이던스 애플리케이션은 식별자를, 소스(예를 들면, 소스(104) 또는 소스(106))로부터 수신할 수도 있고, 또는 로컬 스토리지 또는 원격 서버로부터 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 수정된 제2 서브세트 내의 각각의 결과(예를 들면, 결과(118, 120, 및 122))의 식별자를 제2 행에서 마찬가지로 생성할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 더 많은 결과가 이용 가능하다는 표시(예를 들면, 화살표(124 및 130))를 생성한다. 표시의 유저 선택을 수신하는 것에 응답하여, 미디어 가이던스 애플리케이션은, 화살표가 선택된 소스에 대해서만 새로운 서브세트를 생성할 수도 있거나(예를 들면, 화살표(124)가 선택되면, 단지 소스(104)로부터의 더 많은 결과가 디스플레이됨) 또는 모든 디스플레이된 소스에 대한 새로운 서브세트를 생성할 수도 있다(예를 들면, 화살표(124)가 선택되면, 소스(104) 및 소스(106) 둘 모두로부터의 더 많은 결과가 디스플레이됨). 디스플레이되는 서브세트 내의 결과가 (예를 들면, 더 많은 결과를 보기 위한 유저 입력에 기초하여) 변경될 때마다, 미디어 가이던스 애플리케이션은, 상기에서 설명되는 바와 같이, 더 낮은 행 내의 임의의 결과가 더 높은 행 내의 결과와 매칭되는지의 여부를 결정하고 그 결과를 대체한다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 제1 소스 대신 제2 소스에 대한 선호도를 표현하는 요청을 유저로부터 수신하고, 미디어 가이던스 애플리케이션은, 제2 서브세트 대신, 제1 서브세트로부터 제1 서브세트와 제2 서브세트 사이의 중복되는 결과를 대체한다. 구체적으로, 미디어 가이던스 애플리케이션은, 제1 소스보다 제2 소스에 대한 제2 선호도를 나타내는 (예를 들면, 화살표(126) 또는 화살표(128)의) 제2 유저 입력을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 디스플레이를 위해 제1 및 제2 결과로부터의 검색 결과를 갖는 그리드를 생성할 때, 하나의 소스(예를 들면, 소스(104))로부터의 결과를 갖는 행을, 다른 소스(예를 들면, 소스(106))로부터의 결과를 갖는 다른 행과 교환하기 위한 선택가능한 옵션(예를 들면, 화살표(126) 및 화살표(128))을 포함할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 소스(예를 들면, 소스(106))로부터의 결과를 갖는 제2 행을, 제1 소스(예를 들면, 소스(104))로부터의 결과를 갖는 제1 행 위로 상승시키기 위한 선택가능한 옵션(예를 들면, 화살표(126)) 중 하나의 유저 선택을 수신할 수도 있다. 예를 들면, 유저는 (예를 들면, 리모콘과 같은 유저 입력 인터페이스를 통해) 아래쪽을 가리키는 화살표 그래픽(예를 들면, 화살표(126))을 선택할 수도 있고, 미디어 유저 선택이 제1 및 제2 행을 교환하기 위한 요청이다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 두 개의 소스로부터의 검색 결과를 갖는 미래의 그리드를 생성할 때 사용하기 위해, 제1 소스(예를 들면, 소스(104))보다 제2 소스(예를 들면, 소스(106))에 대한 새로운 유저 선호도를 (예를 들면, 유저 프로파일에) 저장할 수도 있다.
미디어 가이던스 애플리케이션은, 제2 유저 입력을 수신하는 것에 응답하여, 제1 및 제2 검색 결과가 디스플레이되는 행을 교환하고, 더 선호되는 소스(예를 들면, 이제 제2 소스(106))와의 덜 선호되는 소스(예를 들면, 이제 소스(104))로부터의 중복물이 존재하는지의 여부를 결정한다. 구체적으로, 미디어 가이던스 애플리케이션은, 수정된 제2 서브세트 내의 제3 결과를 제2 결과로 대체하는 것에 의해, 제2 검색 결과의 제3 서브세트를 생성한다. 예를 들면, 이제 제2 소스가 제1 소스보다 선호되므로, 제2 소스로부터의 결과가 선호된다. 따라서, (예를 들면, 소스(104)로부터의 결과(112)와 매칭되는) 제2 결과는 제2 서브세트에 다시 추가되어 디스플레이할 결과의 새로운 제3 서브세트를 생성할 수도 있다. 미디어 가이던스 애플리케이션은, 제3 서브세트의 일부인 각각의 결과의 식별자를 갖는 새로운 목록 또는 다른 데이터 구조를 생성할 수도 있거나, 또는 제2 서브세트에 대한 현존하는 목록 또는 다른 데이터 구조를 수정할 수도 있다. 몇몇 실시형태에서, 제2 결과는 제3 결과를 대체한다(예를 들면, 결과(118, 120 및 122) 중 하나를 대체함). 다른 실시형태에서, 서브세트 내의 이전의 다른 결과는 제거되고 제2 및 제3 결과 둘 모두는 제3 서브세트 내에 있다.
미디어 가이던스 애플리케이션은, 제1 서브세트의 제1 결과를 제1 검색 결과의 제4 결과로 대체하는 것에 의해 제1 검색 결과의 제4 서브세트를 생성하는데, 제4 결과는 제1 서브세트 내에 있지 않다. 예를 들면, 이제 제2 소스(예를 들면, 소스(106))가 제1 소스(예를 들면, 소스(104))보다 선호되므로, 제2 소스의 결과와 매칭되는 제1 소스로부터의 결과는 상기에서 논의되는 바와 동일한 방식으로 다른 결과로 대체될 필요가 있다. 따라서, 제1 결과(예를 들면, 결과(112))는 (예를 들면, 상기에서 논의되는 바와 같이 메타데이터를 비교하는 것에 기초하여) 제3 서브세트 내의 결과 중 어느 것과도 매칭되지 않는 제1 검색 결과의 제4 결과로 대체될 수도 있다. 미디어 가이던스 애플리케이션은, 제4 서브세트의 일부인 각각의 결과의 식별자를 갖는 새로운 목록 또는 다른 데이터 구조를 생성할 수도 있거나, 또는 제1 서브세트에 대한 현존하는 목록 또는 다른 데이터 구조를 수정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제1 서브세트 대신 제1 행에서 제3 서브세트를 그리고 수정된 제2 서브세트 대신 제2 행에서 제4 서브세트를, 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제3 서브세트의 각각의 결과와 관련되는 표시자(예를 들면, 텍스트 및/또는 그래픽)를 제1 행에서 그리고 제4 서브세트의 각각의 결과와 관련되는 표시자(예를 들면, 텍스트 및/또는 그래픽)를 제2 행에서 생성할 수도 있다. 이러한 방식으로, 중복되는 결과는 여전히 제시되지 않지만, 그러나 제2 소스가 이제 제1 소스보다 선호되기 때문에, 중복되는 결과는, 제2 결과가 아닌, 제1 결과로부터 대체된다.
도 2는, 본 개시의 몇몇 실시형태에 따른, 상이한 소스로부터의 검색 결과를 포함하는 데이터 구조의 예시적인 묘사를 도시한다. 예를 들면, 데이터 구조(200)는, 각각의 엔트리(예를 들면, 테이블에서의 행)가 동일한 소스(예를 들면, 소스(104))와는 상이한 결과에 대응하도록 구성될 수도 있다. 마찬가지로, 데이터 구조(250)는, 각각의 엔트리(예를 들면, 테이블에서의 행)가 동일한 소스(예를 들면, 소스(106))와는 상이한 결과에 대응하도록 구성될 수도 있다. 미디어 가이던스 애플리케이션은, 데이터 구조(200 및 250)에서의 결과를 비교하여 두 개의 상이한 소스 사이에서 어떤 결과가 매칭되는지를 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 비교에 기초하여, 도 1과 관련하여 상기에서 논의되는 바와 같이, 그리드에 어떤 결과를 디스플레이할지를 결정할 수도 있다. 예를 들면, 데이터 구조(200)에 저장되는 결과의 서브세트(202)가 디스플레이되도록 선택된다. 예를 들면, 데이터 구조(250)에 저장되는 결과의 서브세트(254)가 디스플레이되도록 선택된다. 예를 들면, 결과(204) 및 결과(252)가 매칭되기 때문에, 미디어 가이던스 애플리케이션은 디스플레이될 서브세트(254)의 일부로서 결과(254)를 선택하지 않는다(예를 들면, 데이터 구조(200)에서의 결과의 소스가 데이터 구조(250)에서의 결과의 소스보다 선호되기 때문이다). 데이터 구조(200 및 250)에서의 결과는, 하기에서 추가로 그리고 도 10과 관련하여 논의되는 바와 같이, 다양한 요인에 따라 순위가 매겨질 수도 있다. 데이터 구조(200 및 250)는, 하나 이상의 유저 디바이스(예를 들면, 하기의 도 6 및 도 7에서 열거되는 디바이스 중 임의의 것) 상의 메모리(예를 들면, 도 6에 설명되는 바와 같은 스토리지)에 저장될 수도 있다. 또한, 미디어 가이던스 애플리케이션은 데이터 구조(200 및 250) 또는 본원에서 설명되는 피쳐 중 임의의 것을 생성하기 위해 하기의 도 8 내지 도 12에 설명되는 프로세스 중 하나 이상을 사용할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 데이터베이스로부터 메타데이터를 리트리빙하고 리트리빙된 메타데이터의 문자를 비교하여 두 개의 결과가 매칭되는지의 여부를 결정할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은 제1 결과의 제1 식별자 및 제2 결과의 제2 식별자를 데이터베이스에 저장되어 있는 복수의 식별자와 비교한다. 식별자는, 결과와 관련되는 타이틀, URL, 및/또는 숫자 값(예를 들면, 시리얼 코드)과 같은, 결과를 정의하는 문자의 임의의 조합일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지에 로컬로 또는 통신 네트워크를 통해 원격 서버에 저장되는 데이터베이스에 액세스할 수도 있다. 데이터베이스는 일련의 다수의 링크된 테이블(예를 들면, 관계형 데이터베이스)로서 구성될 수도 있는데, 제1 테이블 내의 복수의 식별자 각각은, 식별자와 관련되는 메타데이터를 포함하는 다른 테이블에 대한 포인터와 관련된다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 및 제2 식별자(예를 들면, 결과(204 및 252)의 식별자)의 문자를, 저장된 복수의 식별자와 비교할 수도 있다. 미디어 가이던스 애플리케이션은, 제1 저장된 식별자가 제1 식별자와 매칭되고 제2 저장된 식별자가 제2 식별자와 매칭된다는 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 저장된 식별자가 제1 식별자(예를 들면, 결과(204)의 식별자)와 매칭되고 제2 저장된 식별자가 제2 식별자(예를 들면, 결과(252)의 식별자)와 매칭된다는 것을 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제1 저장된 식별자 및 제2 저장된 식별자에 대응하는 필드 내의 포인터에 기초하여 적절한 링크된 테이블에 액세스할 수도 있다.
미디어 가이던스 애플리케이션은 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 리트리빙하고, 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙한다. 예를 들면, 각각의 저장된 식별자와 관련되는(예를 들면, 결과(204 및 254)와 관련되는) 메타데이터를 포함하는 테이블은, 더 용이한 비교를 위해, 각각의 테이블의 제1 필드 내의 메타데이터가, 항상, 결과와 관련되는 타이틀이고, 각각의 테이블의 제2 필드 내의 메타데이터가, 항상, 감독이고, 등등이도록, 구성될 수도 있다(예를 들면, 동일한 속성에 대한 메타데이터는, 각각의 저장된 값을 다른 식별자와 관련되는 모든 저장된 값에 비교할 필요 없이, 비교될 수 있음). 대안적으로 또는 추가적으로, 테이블은, 메타데이터를 갖는 각각의 필드가, 상이한 식별자와 관련되는 대응하는 메타데이터를 비교하기 위해 사용될 수 있는 "ACTOR"와 같은 라벨(label)과 관련되도록 구성될 수도 있다. 미디어 가이던스 애플리케이션은, 제1 식별자(예를 들면, 타이틀)와 관련되는 제1 필드로부터 메타데이터를 그리고 제2 식별자(예를 들면, 또한 타이틀)와 관련되는 제2 필드로부터 메타데이터를 리트리빙할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 제1 메타데이터의 제1 문자를 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, (제1 식별자에 의해 식별되는) 제1 결과와 관련되는 리트리빙된 문자열의 각각의 문자를, (제2 식별자에 의해 식별되는) 제2 결과와 관련되는 리트리빙된 문자열의 문자와 비교할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 각각의 소스로부터의 결과의 연관성 순위에 기초하여 어떤 결과를 선택할지를 결정한다. 구체적으로, 미디어 가이던스 애플리케이션은, 유저 입력에 대한 각각의 결과의 연관성에 기초하여 제1 검색 결과에서의 각각의 결과 및 제2 검색 결과에서의 각각의 결과에 순위를 매긴다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 유저가 특정한 링크를 클릭한 횟수에 기초하여) 인기도 및/또는 문자 매칭(유저에 의해 제출된 검색 조회의 얼마나 많은 문자가 결과의 문자와 매칭되었는지)의 관점에서 이미 순위가 매겨진 검색 결과를 소스(예를 들면, 데이터 구조(200))로부터 수신할 수도 있다. 이 상황에서, 미디어 가이던스 애플리케이션은 또한, 유저 선호도에 기초하여 결과에 순위를 매길 수도 있거나(예를 들면, 그들 결과에 대한 유저 선호도에 기초하여 소정의 결과를 상승시킬 수도 있음) 또는 추가적인 순위 매김 없이 최고 순위의 결과(예를 들면, "1"로 인덱싱되는 결과, 예컨대 결과(204))를 간단히 리트리빙할 수도 있다. 소스로부터 수신되는 결과가 순위가 매겨지지 않고 유저의 조회에 대한 유사성에만 기초하여 순위가 매겨지면, 미디어 가이던스 애플리케이션은, 각각의 결과에 대해, 상대적인 인기도를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 각각의 결과의 식별자(예를 들면, 결과(204)의 식별자)를, (스토리지에 로컬인 또는 원격 서버에 있는) 데이터 구조에 저장되어 있는 인기도와 비교할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 검색된 인기도 값에 기초하여 소스로부터 수신되는 결과에 순위를 매길 수도 있다. 예를 들면, 인기도 값은 텔레비전 쇼의 닐슨 시청률(Nielsen rating)일 수도 있다.
미디어 가이던스 애플리케이션은, 제1 서브세트 내의 제1 결과로서, 제1 검색 결과에서의 최고 순위의 결과를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과로서, 순위가 매겨진 제1 검색 결과의 최고 순위의 결과(예를 들면, 결과(204)가 데이터 구조(200)에서 최고 순위의 결과로서 인덱싱될 수도 있음)를 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 제1 검색 결과로부터(예를 들면, 데이터 구조(200)로부터) 다음으로 가장 높은 순위의 결과를 리트리빙하는 것에 의해 (예를 들면, 상기에서 논의되는 바와 같이) 제1 행에 맞는 결과의 수를 계속 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 서브세트 내의 제2 결과로서, 제2 검색 결과에서 최고 순위의 결과를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 결과로서, 제2 검색 결과의 최고 순위의 결과(예를 들면, 결과(252)가 데이터 구조(250)에서 최고 순위의 결과로서 인덱싱될 수도 있음)를 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 제2 검색 결과로부터 다음으로 가장 높은 순위의 결과를 리트리빙하는 것에 의해 (예를 들면, 상기에서 논의되는 바와 같이) 제2 행에 맞는 결과의 수를 계속 리트리빙할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제2 결과를 다음으로 가장 높은 순위의 결과로 대체하는 것에 의해 제2 서브세트를 수정한다. 구체적으로, 미디어 가이던스 애플리케이션은 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 제3 결과로서 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 검색 결과의 소스로부터 수신되는 또는 상기에서 논의되는 바와 같이 미디어 가이던스 애플리케이션에 의해 생성되는) 순위가 매겨진 결과의 목록으로부터, 제2 서브세트의 일부가 아닌 최고 순위의 결과인 결과를 리트리빙할 수도 있다. 특정한 예로서, 제2 서브세트의 상위 순위의 결과(예를 들면, 결과(252))가 제1 서브세트 내의 결과(예를 들면, 결과(204))와 매칭되고 제2 소스로부터 세 개의 결과가 디스플레이될 필요가 있는 경우(예를 들면, 세 개의 결과가 데이터 구조(250)로부터 검색될 필요가 있음), 미디어 가이던스 애플리케이션은, 디스플레이를 위해, 1 내지 3 대신, 2 내지 4 위로 순위가 매겨지는 결과(예를 들면, 서브세트(254))를 선택할 수도 있다. 미디어 가이던스 애플리케이션은 또한, (예를 들면, 상기에서 논의되는 바와 같이 메타데이터를 비교하는 것에 의해) 리트리빙된 다음으로 가장 높은 순위의 결과가 제1 서브세트 내의 결과와 매칭되는지의 여부를 결정할 수도 있다. 예를 들면, 다음으로 가장 높은 순위의 결과가 제1 서브세트 내의 결과와 매칭된다는 것을 미디어 가이던스 애플리케이션이 결정하면, 미디어 가이던스 애플리케이션은, 결과가 제1 서브세트 중 하나와 매칭되지 않을 때까지, 다른 결과(예를 들면, 순위가 매겨진 목록에서 하나의 결과 더 낮음)를 리트리빙할 수도 있다.
미디어 가이던스 애플리케이션은 제2 서브세트로부터 제2 결과를 제거할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 서브세트의 식별자를 저장하는 목록 또는 다른 데이터 구조로부터 제2 결과(예를 들면, 결과(252))와 관련되는 식별자를 제거할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제3 결과를 제2 서브세트에 추가할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 (제1 서브세트 내의 결과 중 어느 것과도 매칭되지 않는) 다음으로 가장 높은 순위의 결과의 식별자를 목록 또는 다른 데이터 구조에 추가할 수도 있다. 미디어 가이던스 애플리케이션은, 제거된 제2 결과의 식별자에 의해 이전에 채워진 동일한 필드에 식별자를 추가할 수도 있거나, 또는 식별자를 (예를 들면, 인기도에 기초하여) 재정렬할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 목록 또는 다른 데이터 구조에 저장되는 식별자의 순서를, 식별자가 행에서 유저에게 제시되는 순서로서 사용한다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제2 결과를, 유저 선호도와 매칭되는 결과로 대체하는 것에 의해 제2 서브세트를 수정한다. 구체적으로, 미디어 가이던스 애플리케이션은 검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 복수의 유저 선호도를 포함하는 유저 프로파일을 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은 유저 프로파일로부터 선호도를 리트리빙할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저가 배우 "Matt Damon"을 포함하는 영화를 즐긴다는 것을 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 리트리빙된 유저 선호도를, 소스로부터의 검색 결과의 각각의 결과(예를 들면, 데이터 구조(250)에서의 각각의 결과)와 관련되는 메타데이터와 비교할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 결과와 관련되는 메타데이터를 로컬 스토리지 또는 원격 서버로부터 리트리빙할 수도 있다.
그 다음, 미디어 가이던스 애플리케이션은, (예를 들면, 문자 비교에 기초하여) 유저 선호도가 각각의 결과와 관련되는 메타데이터와 매칭되는지의 여부를 각각의 결과에 대해 결정할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 유저 프로파일 내의 모든 유저 선호도를, 결과와 관련되는 메타데이터에 비교하고, 얼마나 많은 유저 선호도가 각각의 결과와 관련되는 메타데이터와 매칭되는지에 기초하여 결과에 순위를 매긴다. 예를 들면, 결과의 배우 및 장르 둘 모두가 유저 선호도와 매칭되면, 그 결과(예를 들면, 결과(252))는, 결과와 관련되는 배우만이 유저 선호도와 매칭되는 다른 결과보다, 더 높은 순위가 매겨질 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제2 결과를 어떤 결과와 대체할지를 결정할 때 (예를 들면, 유저 프로파일에 저장되어 있는 표시(indication)에 기초하여) 소정의 유저 선호도를 더 높게 가중시킬 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, "액션 영화(action movie)"에 대한 리트리빙된 유저 선호도가 유저에 대한 "낮은 선호도"이다는 것을, 유저가 그것을 그러한 것으로 지정하는 것에 기초하여 결정할 수도 있다. 대조적으로, 미디어 가이던스 애플리케이션은 "Matt Damon"에 대한 리트리빙된 유저 선호도가 유저에 대한 "높은 선호도"이다는 것을 결정할 수도 있다.
미디어 가이던스 애플리케이션은, 제3 결과의 속성이 제2 유저 선호도와 매칭된다는 결정에 응답하여, 제2 서브세트로부터 제2 결과를 제거한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 서브세트의 식별자를 저장하는 목록 또는 다른 데이터 구조로부터 제2 결과(예를 들면, 결과(252))와 관련되는 식별자를 제거할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제3 결과를 제2 서브세트에 추가할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저 선호도(들)와 매칭되는(또는 가장 밀접하게 매칭되는) 결과의 식별자를 목록 또는 다른 데이터 구조(예를 들면, 데이터 구조(250)로부터의 다른 결과)에 추가할 수도 있다. 미디어 가이던스 애플리케이션은, 제거된 제2 결과의 식별자에 의해 이전에 채워진 동일한 필드에 식별자를 추가할 수도 있거나, 또는 식별자를 (예를 들면, 인기도에 기초하여) 재정렬할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 목록 또는 다른 데이터 구조에 저장되는 식별자의 순서를, 식별자가 행에서 유저에게 제시되는 순서로서 사용한다.
도 3은, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 그리드로 나타내는 디스플레이의 다른 예시적인 예를 도시한다. 예를 들면, 디스플레이(300)는, 유저 조회(302)에 관련되는 검색 결과를 디스플레이하기 위해, 미디어 가이던스 애플리케이션을 실행하는 유저 기기에 커플링될 수도 있다. 유저 조회(302)는 디스플레이(300) 또는 다른 유저 기기를 디스플레이하는 동일한 유저 기기에 커플링되는 유저 입력 인터페이스를 통해 수신될 수도 있다. 디스플레이(300)는 소스(304 및 306)에 대한 행을 포함하는 그리드를 포함한다. 소스(예를 들면, 소스(304) 또는 소스(306))에 대한 각각의 행은, 소스로부터의 결과의 서브세트를 포함한다. 예를 들면, 선택된 결과(310 및 312)는 소스(304)로부터 디스플레이되고, 결과(308)는 소스(306)로부터 디스플레이된다. 소스(304) 및 소스(306)는, 도 1 및 도 2와 관련하여 상기에서 논의되는 바와 같이, 동일한 결과를 포함할 수도 있다(예를 들면, 결과(312)는 소스 둘 모두로부터 디스플레이될 서브세트의 일부임). 응답으로, 미디어 가이던스 애플리케이션은, 유저가 덜 선호하는 소스로부터(예를 들면, 소스(306)로부터) 중복되는 결과를 제거할 수도 있다. 디스플레이(300)는, 유저에 의해 현재 탐색되는 결과(예를 들면, 선택된 결과(310))를 다른 결과(예를 들면, 결과(312))와 (예를 들면, 강조를 통해) 시각적으로 구별할 수도 있다. 디스플레이(300)는 다수의 중복물(314)을 포함할 수도 있다. 중복물(314)의 수는, 소스(304)로부터의 결과와 매칭되는 소스(306)로부터의 결과의 수를 (예를 들면, 텍스트 또는 그래픽을 사용하여) 유저에게 시각적으로 나타낸다. 디스플레이(300)는 하나 이상의 유저 디바이스(예를 들면, 하기의 도 6 및 도 7에서 열거되는 디바이스 중 임의의 것) 상에서 나타날 수도 있다. 또한, 미디어 가이던스 애플리케이션은 디스플레이(300) 또는 그 안에서 설명되는 피쳐 중 임의의 것을 생성하기 위해 도 8 내지 도 12에 설명되는 프로세스 중 하나 이상을 사용할 수도 있다.
선택된 결과(310)에 대한 더 많은 추가 정보를 수신하기 위한 유저 선택의 수신시, 미디어 가이던스 애플리케이션은 디스플레이(350)를 생성할 수도 있다. 디스플레이(350)는 디스플레이(300) 상에 오버레이될 수도 있거나 또는 디스플레이(300)를 대체할 수도 있다. 디스플레이(350)는 결과(310)와 관련되는 식별자(352)를 포함할 수도 있다. 디스플레이(350)는, 소스(304)로부터의 결과(310)와 관련되는 표시 및 관련된 링크(354)를 포함할 수도 있다. 디스플레이(350)는 중복되는 결과가 수신된 다른 소스를 추가적으로 포함할 수도 있다. 예를 들면, 결과(310)와 동일한 결과(예를 들면, 도 1 내지 도 2와 관련하여 상기에서 논의되는 바와 같이 결정됨)는 다른 소스로부터 수신될 수도 있다. 따라서, 링크(356) 및 링크(358)는, 결과와 관련되는 데이터에 액세스하기 위한 다른 옵션을 유저에게 제공하기 위해 디스플레이(350)의 일부로서 디스플레이된다. 디스플레이(350)는 하나 이상의 유저 디바이스(예를 들면, 하기의 도 6 및 도 7에서 열거되는 디바이스 중 임의의 것) 상에서 나타날 수도 있다. 또한, 미디어 가이던스 애플리케이션은 디스플레이(350) 또는 그 안에서 설명되는 피쳐 중 임의의 것을 생성하기 위해 도 8 내지 도 12에 설명되는 프로세스 중 하나 이상을 사용할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제1 및 제2 소스로부터 수신되는 중복되는 결과의 총 수를 결정하고 그 수를 유저에게 디스플레이한다. 구체적으로, 미디어 가이던스 애플리케이션은, 제1 검색 결과의 각각의 결과를, 제2 검색 결과의 각각의 결과와 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 소스(304)로부터의) 제1 검색 결과의 각각의 결과와 관련되는 메타데이터를, 제2 소스로부터(예를 들면, 소스(306)로부터) 수신되는 각각의 검색 결과의 메타데이터와 비교할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 소스로부터의 각각의 결과를 제2 소스로부터의 각각의 결과와 반복적으로 비교하기 위해, for 루프를 활용하는 프로그램 스크립트를 실행할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제1 검색 결과의 각각의 결과를 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 제1 검색 결과와 제2 검색 결과 사이의 중복되는 결과의 수를 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 카운터를 초기화할 수도 있고, 제1 소스로부터의 모든 결과가 제2 소스로부터의 검색 결과에 비교될 때까지, 제1 소스로부터의 결과와 제2 소스로부터의 결과 사이에서 매칭이 결정될 때마다 카운터를 증가시킬 수도 있다. 상기에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은, 두 개의 검색 결과와 관련되는 메타데이터의 임계 백분율이 매칭되는 경우, 매칭을 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 제2 행에서 중복되는 결과의 수(예를 들면, 중복물(314)의 수)의 표시를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 행 또는 제2 행에서 중복의 총 수에 대한 값(예를 들면, "30")을 갖는 텍스트를 디스플레이를 위해 생성할 수도 있다. 표시는, 옵션 사항으로(optionally), 중복이 어떤 소스를 참조하는지를 명확히 하는 텍스트를 포함할 수도 있다. 예를 들면, AMAZON®이 제1 행에 대한 소스이고 HULU®가 제2 행의 소스인 경우, 미디어 가이던스 애플리케이션은 제2 행에서 텍스트 "Amazon(아마존)과의 30 개의 중복 소스"를 생성할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 결과의 유저 선택의 수신시, 동일한 결과를 반환한 다른 소스를 디스플레이할 수도 있다. 구체적으로, 미디어 가이던스 애플리케이션은 제1 결과의 유저 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 리모콘 또는 터치스크린 인터페이스와 같은 유저 입력 인터페이스를 통해, 그리드 상에 디스플레이되는 특정한 결과의 선택을 수신할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 제1 행에서 "The Big Bang Theory"에 대한 결과(예를 들면, 선택된 결과(310))가 유저에 의해 선택된다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 상기 논의된 바와 같이, 선택된 결과와 관련되는 메타데이터를 다른 소스로부터의 결과와 비교하는 것에 의해, "The Big Bang Theory"에 대한 결과가 수신된 다른 소스를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, (소스(306)로부터의) 제2 결과가 제1 결과(예를 들면, 소스(304)로부터의 선택된 결과(310))와 매칭된다는 것 및 제1 소스가 유저에 의해 선택되었다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 유저 선택을 수신하는 것에 응답하여, 제1 결과가 또한 제2 소스로부터도 이용 가능하다는 표시를 디스플레이를 위해 생성한다. 예를 들면, 제1 및 제2 검색 결과 둘 모두가 "The Big Bang Theory"에 대한 결과를 포함하는 경우, 유저가 제1 검색 결과를 포함하는 제1 행에서 "The Big Bang Theory" 결과를 선택하면, 미디어 가이던스 애플리케이션은, 결과가 제2 소스에 의해서도 또한 반환되었다는 표시(예를 들면, 링크(356))를 디스플레이를 위해 생성할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 텍스트 "이 결과는 HULU®에 의해 또한 반환되었음"을 디스플레이를 위해 생성할 수도 있다. 이러한 방식으로, 미디어 가이던스 애플리케이션은, 각각의 행에서 동일한 결과를 나타내어야 하지 않고도, 결과가 이용 가능한 대안적인 소스(예를 들면, 링크(356 및 358))를 유저에게 제공할 수도 있다.
몇몇 실시형태에서, 결과는 미디어 자산을 식별하고 미디어 가이던스 애플리케이션은 미디어 자산에 관련되는 액션을 수행하기 위한 선택 가능한 옵션을 제시한다. 구체적으로, 미디어 가이던스 애플리케이션은 제1 결과의 유저 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 리모콘 또는 터치스크린 인터페이스와 같은 유저 입력 인터페이스를 통해, 그리드 상에 디스플레이되는 특정한 결과(예를 들면, 선택된 결과(310))의 선택을 수신할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 제1 행(예를 들면, 유저의 가장 선호하는 소스)에서 "The Big Bang Theory"에 대한 결과가 유저에 의해 선택된다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 유저 선택을 수신하는 것에 응답하여, (예를 들면, 디스플레이(300) 또는 디스플레이(350)의 일부 상에 오버레이되는) 미디어 자산과 관련되는 복수의 선택 가능한 옵션을, 디스플레이를 위해 생성한다. 복수의 옵션은, 미디어 자산을 감시 목록에 추가하기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산을 감시 목록에 추가하기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은, 유저가 어떤 미래의 시간에 시청하기를 소망하는 미디어 자산의 식별자를 포함하는 미디어 자산과 관련되는 식별자를 데이터 구조에 저장할 수도 있다.
복수의 옵션은, 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은, 유저가 좋아하는 미디어 자산의 식별자를 포함하는 미디어 자산과 관련되는 식별자를 데이터 구조에 저장할 수도 있다. 몇몇 실시형태에서, 즐겨찾기 목록은, 상기에서 논의되는 바와 같이, 중복되는 결과를 어떤 결과와 대체할지를 결정할 때 특정한 결과에 대한 유저 선호도를 결정하기 위해 사용될 수도 있다. 복수의 옵션은, 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은, 미디어 자산이 이용 가능한 시간 및 소스에 대해 (예를 들면, 스토리지에 로컬하게 또는 원격 서버에 저장되는) 미디어 가이던스 데이터베이스에 조회할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 미디어 자산이 이용 가능한 시간 및 소스를, 디스플레이를 위해 생성할 수도 있다.
복수의 옵션은 미디어 자산을 기록하기 위한 옵션을 포함할 수도 있다. 예를 들면, 미디어 자산을 기록하기 위한 옵션의 유저에 의한 선택시, 미디어 가이던스 애플리케이션은 시간의 소정의 기간 동안 미디어 자산이 소스로부터 이용 가능한지의 여부를 결정할 수도 있다. 미디어 자산이 이용 가능한 경우, 미디어 가이던스 애플리케이션은 (예를 들면, 미디어 자산의 식별자 및 미디어 자산이 이용 가능한 소스 및 시간을 스케줄링 데이터 구조에 추가하는 것에 의해) 기록을 스케줄링할 수도 있다. 미디어 자산이 이용 가능하지 않은 경우, 미디어 가이던스 애플리케이션은, 상기에서 논의되는 바와 같이, 미디어 자산을 감시 목록에 추가할 수도 있다.
임의의 주어진 콘텐츠 전달 시스템에서 유저가 이용 가능한 콘텐츠의 양은 상당할 수 있다. 결과적으로, 많은 유저는, 유저가 콘텐츠 선택을 효율적으로 탐색하는 것 및 그들이 소망할 수도 있는 콘텐츠를 쉽게 식별하는 것을 허용하는 인터페이스를 통한 미디어 가이던스의 형태를 소망한다. 이러한 가이던스를 제공하는 애플리케이션은 본원에서는 상호 작용식(interactive) 미디어 가이던스 애플리케이션으로, 때로는, 미디어 가이던스 애플리케이션 또는 가이던스 애플리케이션으로 칭해진다.
상호 작용식 미디어 가이던스 애플리케이션은, 그들이 가이던스를 제공하는 콘텐츠에 따라 다양한 형태를 취할 수도 있다. 하나의 전형적인 타입의 미디어 가이던스 애플리케이션은 상호 작용식 텔레비전 프로그램 가이드이다. 상호 작용식 텔레비전 프로그램 가이드(종종 전자 프로그램 가이드로 칭해짐)는, 다른 것들 중에서도, 유저가 많은 타입의 콘텐츠 또는 미디어 자산 사이에서 탐색하는 것 및 많은 타입의 콘텐츠 또는 미디어 자산의 위치를 결정하는 것을 허용하는 널리 알려진 가이던스 애플리케이션이다. 상호 작용식 미디어 가이던스 애플리케이션은, 유저가 콘텐츠 사이를 탐색하는 것, 콘텐츠의 위치를 결정하는 것, 콘텐츠를 선택하는 것을 가능하게 하는 그래픽 유저 인터페이스 스크린을 생성할 수도 있다. 본원에서 언급될 때, 용어 "미디어 자산" 및 "콘텐츠"는, 텔레비젼 프로그램뿐만 아니라, 유료 시청(pay-per-view) 프로그램, (주문형 비디오(video-on-demand; VOD) 시스템에서와 같은) 주문형 프로그램(on-demand program), 인터넷 콘텐츠(예를 들면, 스트리밍 콘텐츠, 다운로드 가능한 콘텐츠, 웹캐스트, 등등), 비디오 클립, 오디오, 콘텐츠 정보, 픽쳐, 회전 이미지, 문서, 재생 목록, 웹사이트, 기사, 서적, 전자책, 블로그, 채팅 세션, 소셜 미디어, 애플리케이션, 게임, 및/또는 임의의 다른 미디어 또는 멀티미디어 및/또는 이들의 조합과 같은, 전자적으로 소비 가능한 유저 자산을 의미하는 것으로 이해되어야 한다. 또한, 가이던스 애플리케이션은, 유저가 콘텐츠 사이를 탐색하는 것 및 콘텐츠의 위치를 결정하는 것을 허용한다. 본원에서 언급되는 바와 같이, 용어 "멀티미디어"는, 상기에서 설명되는 적어도 두 개의 상이한 콘텐츠 형태, 예를 들면, 텍스트, 오디오, 이미지, 비디오, 또는 상호 작용식 콘텐츠 형태를 활용하는 콘텐츠를 의미하는 것으로 이해되어야 한다. 콘텐츠는 유저 기기 디바이스에 의해 녹화, 재생, 디스플레이 또는 액세스될 수도 있지만, 그러나 또한 라이브 공연의 일부일 수 있다.
본원에서 논의되는 실시형태 중 임의의 것을 수행하기 위한 임의의 명령어 및/또는 미디어 가이던스 애플리케이션은, 컴퓨터 판독 가능 매체 상에 인코딩될 수도 있다. 컴퓨터 판독 가능 매체는 데이터를 저장할 수 있는 임의의 매체를 포함한다. 컴퓨터 판독 가능 매체는, 전기 신호 또는 전자기 신호를 전파하는 것을 포함하지만 그러나 이것으로 제한되지는 않는 일시적인 것일 수도 있거나, 또는 휘발성 및 불휘발성 컴퓨터 메모리 또는 스토리지 디바이스 예컨대 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리(Random Access Memory; "RAM"), 등등을 포함하지만 그러나 이들로 제한되지는 않는 비일시적인 것일 수도 있다.
인터넷, 모바일 컴퓨팅, 및 고속 무선 네트워크의 출현으로, 유저는, 그들이 전통적으로는 하지 않았던, 유저 기기 디바이스 상의 미디어에 액세스하고 있다. 본원에서 언급되는 바와 같이, 어구 "유저 기기 디바이스", "유저 기기", "유저 디바이스", "전자 디바이스", "전자 기기", "미디어 기기 디바이스, "또는 "미디어 디바이스"는, 상기에서 설명되는 콘텐츠에 액세스하기 위한 임의의 디바이스, 예컨대 텔레비전, 스마트 TV, 셋탑 박스, 위성 텔레비전을 핸들링하기 위한 통합 수신기 디코더(integrated receiver decoder; IRD), 디지털 스토리지 디바이스, 디지털 미디어 수신기(digital media receiver; DMR), 디지털 미디어 어댑터(digital media adapter; DMA), 스트리밍 미디어 디바이스, DVD 플레이어, DVD 레코더, 연결된 DVD, 로컬 미디어 서버, BLU-RAY(블루레이) 플레이어, BLU-RAY 레코더, 퍼스널 컴퓨터(personal computer; PC), 랩탑 컴퓨터 , 태블릿 컴퓨터, WebTV 박스, 퍼스널 컴퓨터 텔레비전(personal computer television; PC/TV), PC 미디어 서버, PC 미디어 센터, 핸드헬드식 컴퓨터, 고정식 전화기, 개인 휴대 정보 단말기(personal digital assistant; PDA), 이동 전화 , 휴대용 비디오 플레이어, 휴대용 뮤직 플레이어, 휴대용 게임기, 스마트 폰, 또는 임의의 다른 텔레비전 기기, 컴퓨팅 기기, 또는 무선 디바이스, 및/또는 이들의 조합을 의미하는 것으로 이해되어야 한다. 몇몇 실시형태에서, 유저 기기 디바이스는 전면 대향 스크린 및 후면 대향 스크린, 다수의 전면 스크린, 또는 다수의 경사진 스크린(angled screen)을 구비할 수도 있다. 몇몇 실시형태에서, 유저 기기 디바이스는 전면 대향 카메라 및/또는 후면 대향 카메라를 구비할 수도 있다. 이들 유저 기기 디바이스 상에서, 유저는 텔레비전을 통해 이용 가능한 동일한 콘텐츠를 탐색하고 그 동일한 콘텐츠의 위치를 결정할 수도 있다. 결과적으로, 미디어 가이던스는 이들 디바이스 상에서도 또한 이용 가능할 수도 있다. 제공되는 가이던스는, 텔레비전을 통해서만 이용 가능한 콘텐츠에 대한 것일 수도 있거나, 다른 타입의 유저 기기 디바이스 중 하나 이상을 통해서만 이용 가능한 콘텐츠에 대한 것일 수도 있거나, 또는 다른 타입의 유저 기기 디바이스 중 하나 이상 및 텔레비전 둘 모두를 통해 이용 가능한 콘텐츠에 대한 것일 수도 있다. 미디어 가이던스 애플리케이션은 온라인 애플리케이션(즉, 웹 사이트 상에서 제공됨)으로서, 또는 유저 기기 디바이스 상의 클라이언트 또는 독립형 애플리케이션으로서 제공될 수도 있다. 미디어 가이던스 애플리케이션을 구현할 수도 있는 다양한 디바이스 및 플랫폼이 이하에서 더욱 상세하게 설명된다.
미디어 가이던스 애플리케이션의 기능 중 하나는, 미디어 가이던스 데이터를 유저에게 제공하는 것이다. 본원에서 언급되는 바와 같이, 어구 "미디어 가이던스 데이터" 또는 "가이던스 데이터"는, 가이던스 애플리케이션을 동작시킴에 있어서 사용되는 데이터 또는 콘텐츠에 관련되는 임의의 데이터를 의미하는 것으로 이해되어야 한다. 예를 들면, 가이던스 데이터는, 프로그램 정보, 가이던스 애플리케이션 설정, 유저 선호도, 유저 프로파일 정보, 미디어 목록, 미디어 관련 정보(예를 들면, 방송 시간, 방송 채널, 제목, 설명, 등급 정보(예를 들면, 자녀 보호 등급(parental control rating), 평론가의 등급, 등등), 장르 또는 카테고리 정보, 배우 정보, 방송국의 또는 공급자의 로고에 대한 로고 데이터, 등등), 미디어 포맷(예를 들면, 표준 화질, 고화질, 3D, 등등), 주문형 정보, 블로그, 웹사이트, 및 유저가 소망되는 콘텐츠 셀렉션 사이를 탐색하고 콘텐츠 셀렉션의 위치를 결정하는데 도움이 되는 임의의 다른 타입의 가이던스 데이터를 포함할 수도 있다.
도 4 및 도 5는 미디어 가이던스 데이터를 제공하기 위해 사용될 수도 있는 예시적인 디스플레이 스크린을 도시한다. 도 4 및 도 5에서 도시되는 디스플레이 스크린은 임의의 적절한 유저 기기 디바이스 또는 플랫폼 상에서 구현될 수도 있다. 도 4 및 도 5의 디스플레이가 전체 스크린 디스플레이로서 예시되지만, 그들은, 또한, 디스플레이되고 있는 콘텐츠 위에 전체적으로 또는 부분적으로 중첩될 수도 있다. 유저는, 디스플레이 스크린에서 제공되는 선택 가능한 옵션(예를 들면, 메뉴 옵션, 목록 옵션, 아이콘, 하이퍼링크, 등등)을 선택하는 것에 의해 또는 리모콘 또는 다른 유저 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들면, GUIDE 버튼)을 누르는 것에 의해, 콘텐츠 정보에 액세스하려는 소망을 나타낼 수도 있다. 유저의 표시에 응답하여, 미디어 가이던스 애플리케이션은, 그리드 모양의 채널 및 시간별, 시간별, 채널별, 소스별, 콘텐츠 타입별, 카테고리(예를 들면, 영화, 스포츠, 뉴스, 어린이, 또는 다른 카테고리의 프로그램)별, 또는 다른 미리 정의된, 유저 정의의, 또는 다른 구성 기준과 같은 여러 가지 방식 중 하나로 구성되는 미디어 가이던스 데이터를 디스플레이 스크린에 제공할 수도 있다.
도 4는, 단일의 디스플레이에서 상이한 타입의 콘텐츠에 대한 액세스를 또한 가능하게 하는, 시간 및 채널별로 배열되는 프로그램 목록 디스플레이(400)의 예시적인 그리드를 도시한다. 디스플레이(400)는 다음을 갖는 그리드(402)를 포함할 수도 있다: (1) 채널/콘텐츠 타입 식별자의 열(404), 여기서 각각의 채널/콘텐츠 타입 식별자(이것은 열(column) 내의 셀임)는 이용 가능한 상이한 채널 또는 콘텐츠 타입을 식별함; 및 (2) 시간 식별자의 행(406), 여기서 각각의 시간 식별자(이것은 행 내의 셀임)는 프로그램의 시간 블록을 식별함. 그리드(402)는 또한 프로그램 목록(408)과 같은 프로그램 목록의 셀을 포함하는데, 여기서 각각의 목록은 목록의 관련된 채널 및 시간 상에서 제공되는 프로그램의 제목을 제공한다. 유저 입력 디바이스를 사용하여, 유저는 하이라이트 영역(410)을 이동시키는 것에 의해 프로그램 목록을 선택할 수 있다. 하이라이트 영역(410)에 의해 선택되는 프로그램 목록에 관한 정보는 프로그램 정보 영역(412)에서 제공될 수도 있다. 영역(412)은, 예를 들면, 프로그램 제목, 프로그램 설명, 프로그램이 제공되는 시간(적용 가능한 경우), 프로그램이 방송되는 채널(적용 가능한 경우), 프로그램의 등급, 및 다른 소망되는 정보를 포함할 수도 있다.
선형적인 프로그램(예를 들면, 미리 결정된 시간에 복수의 유저 기기 디바이스로 송신되도록 스케줄링되고 스케줄에 따라 제공되는 콘텐츠)에 대한 액세스를 제공하는 것 이외에도, 미디어 가이던스 애플리케이션은 또한, 선형적이지 않은 프로그램(예를 들면, 임의의 시간에 유저 기기 디바이스가 액세스할 수 있는 그리고 스케줄에 따라 제공되지 않는 콘텐츠)에 대한 액세스를 제공한다. 선형적이지 않은 프로그램은, 주문형 콘텐츠(예를 들면, 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)를 통해 스트리밍 콘텐츠 또는 다운로드 가능한 콘텐츠로서 요청에 따라(on-demand) 이용 가능한 콘텐츠를 포함할 수도 있다.
그리드(402)는 주문형 목록(on-demand listing)(414), 녹화된 콘텐츠 목록(416), 및 인터넷 콘텐츠 목록(418)을 포함하는 비선형 프로그램에 대한 미디어 가이던스 데이터를 제공할 수도 있다. 상이한 타입의 콘텐츠 소스로부터의 콘텐츠에 대한 미디어 가이던스 데이터를 결합하는 디스플레이는, 종종, "혼합 미디어" 디스플레이로 칭해진다. 디스플레이(400)와는 상이한, 디스플레이될 수도 있는 미디어 가이던스 데이터의 타입의 다양한 조합은, 유저 선택 또는 가이던스 애플리케이션 정의(예를 들면, 녹화된 및 방송된 목록만의, 주문형 및 방송된 목록만의, 등등의 디스플레이)에 기초할 수도 있다. 예시되는 바와 같이, 목록(414, 416 및 418)은, 이들 목록의 선택이 주문형 목록, 녹화된 목록, 또는 인터넷 목록에 각각 전용되는 디스플레이에 대한 액세스를 제공할 수도 있다는 것을 나타내기 위해, 그리드(402)에서 디스플레이되는 전체 시간 블록에 걸쳐 확장하는 것으로 도시된다. 몇몇 실시형태에서, 이들 콘텐츠 타입에 대한 목록은 그리드(402)에 직접적으로 포함될 수도 있다. 추가적인 미디어 가이던스 데이터는, 유저가 내비게이션 아이콘(420) 중 하나를 선택하는 것에 응답하여 디스플레이될 수도 있다. (유저 입력 디바이스 상의 화살표 키를 누르는 것은, 내비게이션 아이콘(420)을 선택하는 것과 유사한 방식으로 디스플레이에 영향을 줄 수도 있다.)
디스플레이(400)는 또한 비디오 영역(422), 및 옵션 영역(426)을 포함할 수도 있다. 비디오 영역(422)은, 유저에게 현재 이용 가능한, 이용 가능할, 또는 이용 가능했던 프로그램을 유저가 시청하는 것 및/또는 미리 보는 것을 허용할 수도 있다. 비디오 영역(422)의 콘텐츠는 그리드(402)에서 디스플레이되는 목록 중 하나의 목록에 대응할 수도 있거나, 또는 그 하나의 목록과는 독립적일 수도 있다. 비디오 영역을 포함하는 그리드 디스플레이는 때때로 픽쳐 인 가이드(picture-in-guide; PIG) 디스플레이로 칭해진다. PIG 디스플레이 및 그들의 기능성은, 2003년 5월 13일자로 발행된 Satterfield 등등의 미국 특허 제6,564,378호 및 2001년 5월 29일자로 발행된 Yuen 등등의 미국 특허 제6,239,794호에서 상세히 설명되는데, 이들 특허는 참조에 의해 그들 전체가 본원에 통합된다. PIG 디스플레이는 본원에서 설명되는 실시형태의 다른 미디어 가이던스 애플리케이션 디스플레이 스크린에 포함될 수도 있다.
옵션 영역(426)은, 유저가 상이한 타입의 콘텐츠, 미디어 가이던스 애플리케이션 디스플레이, 및/또는 미디어 가이던스 애플리케이션 피쳐에 액세스하는 것을 허용할 수도 있다. 옵션 영역(426)은 디스플레이(400)(및 본원에서 설명되는 다른 디스플레이 스크린)의 일부일 수도 있거나, 또는 온 스크린(on-screen) 옵션을 선택하는 것 또는 유저 입력 디바이스 상의 전용 또는 할당 가능한 버튼을 누르는 것에 의해, 유저에 의해 호출될 수도 있다. 옵션 영역(426) 내의 선택 가능한 옵션은 그리드(402) 내의 프로그램 목록에 관련되는 피쳐에 관련될 수도 있거나, 또는 메인 메뉴 디스플레이로부터 이용 가능한 옵션을 포함할 수도 있다. 프로그램 목록과 관련된 피쳐는 다른 방송 시간을 검색하는 것 또는 프로그램 수신 방식, 프로그램 녹화, 프로그램의 일련의 녹화를 가능하게 하는 것, 프로그램 및/또는 채널을 즐겨찾기로 설정하는 것, 프로그램 구매, 또는 다른 피쳐를 포함할 수도 있다. 메인 메뉴 디스플레이로부터 이용 가능한 옵션은, 검색 옵션, VOD 옵션, 자녀 보호 옵션, 인터넷 옵션, 클라우드 기반의 옵션, 디바이스 동기화 옵션, 제2 스크린 디바이스 옵션, 다양한 타입의 미디어 가이던스 데이터 디스플레이에 액세스하기 위한 옵션, 프리미엄 서비스에 가입하기 위한 옵션, 유저 프로파일 편집 옵션, 브라우저 오버레이에 액세스하기 위한 옵션, 또는 다른 옵션을 포함할 수도 있다.
미디어 가이던스 애플리케이션은 유저의 선호도에 기초하여 개인 맞춤될 수도 있다. 개인 맞춤형 미디어 가이던스 애플리케이션은, 미디어 가이던스 애플리케이션을 사용하여 개인 맞춤된 "경험"을 생성하도록, 유저가 디스플레이 및 피쳐를 커스터마이징하는(customize) 것을 허용한다. 이 개인 맞춤된 경험은, 유저가 이들 커스텀화를 입력하는 것을 허용하는 것에 의해 및/또는 미디어 가이던스 애플리케이션이 유저 활동을 모니터링하여 다양한 유저 선호도를 결정하는 것에 의해 생성될 수도 있다. 유저는, 가이던스 애플리케이션에 로그인하거나 또는 자신을 가이던스 애플리케이션에 식별시키는 것에 의해, 그들의 개인 맞춤된 가이던스 애플리케이션에 액세스할 수도 있다. 미디어 가이던스 애플리케이션의 커스텀화는, 유저 프로파일에 따라 이루어질 수도 있다. 커스텀화는, 다양한 표시 스킴(presentation scheme)(예를 들면, 디스플레이의 컬러 스킴, 텍스트의 글꼴 사이즈, 등등), 디스플레이되는 콘텐츠 목록의 양태(예를 들면, HDTV 전용 또는 3D 프로그램 전용, 즐겨찾기 채널 선택에 기초한 유저 명시 방송 채널, 채널 디스플레이의 재정렬, 추천 콘텐츠, 등등), 소망하는 녹화 피쳐(예를 들면, 특정한 유저에 대한 녹화 또는 일련의 녹화, 녹화 품질, 등등), 자녀 보호 설정, 인터넷 콘텐츠의 커스터마이징된 표시(예를 들면, 소셜 미디어 콘텐츠, 전자 메일, 전자적으로 전달된 기사, 등등의 표시) 및 다른 소망하는 커스텀화를 포함할 수도 있다.
미디어 가이던스 애플리케이션은, 유저가 유저 프로파일 정보를 제공하는 것을 허용할 수도 있거나, 또는 유저 프로파일 정보를 자동적으로 수집할 수도 있다. 미디어 가이던스 애플리케이션은, 예를 들면, 유저가 액세스하는 콘텐츠 및/또는 유저가 가이던스 애플리케이션과 가질 수도 있는 다른 상호 작용을 모니터링할 수도 있다. 추가적으로, 미디어 가이던스 애플리케이션은, (예를 들면, www.Tivo.com과 같이 유저가 액세스하는 인터넷 상의 다른 웹 사이트로부터, 유저가 액세스하는 다른 미디어 가이던스 애플리케이션으로부터, 유저가 액세스하는 다른 상호 작용식 애플리케이션으로부터, 유저의 다른 유저 기기 디바이스로부터, 등등으로부터) 특정한 유저와 관련되는 다른 유저 프로파일의 전체 또는 일부를 획득할 수도 있고, 및/또는 미디어 가이던스 애플리케이션이 액세스할 수도 있는 다른 소스로부터 유저에 관한 정보를 획득할 수도 있다. 결과적으로, 유저는 유저의 상이한 유저 기기 디바이스에 걸쳐 통일된 가이던스 애플리케이션 경험을 제공 받을 수 있다. 이 타입의 유저 경험은 도 7과 관련하여 하기에서 상세히 설명된다. 추가적인 개인 맞춤된 미디어 가이던스 애플리케이션 피쳐는, 2005년 7월 11일자로 출원된 Ellis 등등의 미국 특허 출원 공개 공보 제2005/0251827호, 2007년 1월 16일자로 발행된 Boyer 등등의 미국 특허 제7,165,098호, 및 2002년 2월 21일자로 출원된 Ellis 등등의 미국 특허 출원 공개 공보 제2002/0174430호에서 상세히 설명되어 있는데, 이들 문헌은 참조에 의해 그들 전체가 본원에 통합된다.
미디어 가이던스를 제공하기 위한 다른 디스플레이 배치(arrangement)가 도 5에서 도시된다. 비디오 모자이크 디스플레이(500)는, 콘텐츠 타입, 장르, 및/또는 다른 구성 기준에 기초하여 구성되는 콘텐츠 정보에 대한 선택 가능한 옵션(502)을 포함한다. 디스플레이(500)에서, 텔레비전 목록 옵션(504)이 선택되고, 따라서 방송 프로그램 목록으로서 목록(506, 508, 510 및 512)을 제공한다. 디스플레이(500)에서, 목록은 커버 아트, 콘텐츠로부터의 스틸 이미지, 비디오 클립 프리뷰, 콘텐츠로부터의 라이브 비디오, 또는 미디어 가이던스 데이터에 의해 설명되고 있는 콘텐츠를 목록에서 유저에게 나타내는 다른 타입의 콘텐츠를 포함하는 그래픽 이미지를 제공할 수도 있다. 그래픽 목록의 각각은 또한, 목록과 관련되는 콘텐츠에 대한 추가 정보를 제공하기 위해, 텍스트를 수반할 수도 있다. 예를 들면, 목록(508)은 미디어 부분(514) 및 텍스트 부분(516)을 비롯한, 하나보다 더 많은 부분을 포함할 수도 있다. 미디어 부분(514) 및/또는 텍스트 부분(516)은 전체 스크린에서 콘텐츠를 보기 위해 또는 미디어 부분(514)에서 디스플레이되는 콘텐츠에 관련되는 정보를 보기 위해(예를 들면, 비디오가 디스플레이되는 채널에 대한 목록을 보기 위해) 선택 가능할 수도 있다.
디스플레이(500)에서의 목록은 상이한 사이즈를 가지지만(즉, 목록(506)은 목록(508, 510 및 512)보다 더 크지만), 그러나, 소망되는 경우, 모든 목록은 동일한 사이즈일 수도 있다. 목록은, 유저가 관심을 갖는 정도를 나타내기 위해 또는 소정의 콘텐츠를 강조하기 위해, 콘텐츠 공급자에 의해 소망되는 대로 또는 유저 선호도에 기초하여, 상이한 사이즈를 가질 수도 있거나 또는 그래픽적으로 강조될 수도 있다. 콘텐츠 목록을 그래픽적으로 강조하기 위한 다양한 시스템 및 방법은, 예를 들면, 2009년 11월 12일자로 출원된 Yates의 미국 특허 출원 공개 공보 제2010/0153885호에서 논의되는데, 이 출원 공개 공보는 참조에 의해 그 전체가 본원에 통합된다.
유저는, 그들의 유저 기기 디바이스 중 하나 이상으로부터 콘텐츠 및 미디어 가이던스 애플리케이션(및 상기 및 하기에서 설명되는 그것의 디스플레이 스크린)에 액세스할 수도 있다. 도 6은 예시적인 유저 기기 디바이스(600)의 일반화된 실시형태를 도시한다. 유저 기기 디바이스의 더욱 특정한 구현예는, 도 7과 관련하여 이하에서 논의된다. 유저 기기 디바이스(600)는 입력/출력(input/output)(이하, "I/O") 경로(602)를 통해 콘텐츠 및 데이터를 수신할 수도 있다. I/O 경로(602)는 콘텐츠(예를 들면, 방송 프로그램, 주문형 프로그램, 인터넷 콘텐츠, 근거리 통신망(local area network; LAN) 또는 광역 네트워크(wide area network; WAN)를 통해 이용 가능한 콘텐츠, 및/또는 다른 콘텐츠) 및 데이터를 제어 회로부(604)로 제공할 수도 있는데, 제어 회로부(604)는 프로세싱 회로부(606) 및 스토리지(608)를 포함한다. 제어 회로부(604)는 I/O 경로(602)를 사용하여 커맨드, 요청, 및 다른 적절한 데이터를 전송 및 수신하기 위해 사용될 수도 있다. I/O 경로(602)는 제어 회로부(604)(및 구체적으로는 프로세싱 회로부(606))를 하나 이상의 통신 경로(하기에 설명됨)에 연결할 수도 있다. I/O 기능은 이들 통신 경로 중 하나 이상에 의해 제공될 수도 있지만, 그러나 도면이 과도하게 복잡해지는 것을 피하기 위해, 도 6에서는 단일의 경로로서 도시된다.
제어 회로부(604)는 프로세싱 회로부(606)와 같은 임의의 적절한 프로세싱 회로부에 기초할 수도 있다. 본원에서 언급되는 바와 같이, 프로세싱 회로부는, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 프로그래머블 로직 디바이스, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 주문형 반도체(Application-Specific Integrated Circuit; ASIC), 등등에 기초하는 회로부를 의미하는 것으로 이해되어야 하고, 다중 코어 프로세서(예를 들면, 듀얼 코어, 쿼드 코어, 헥사 코어, 또는 임의의 적절한 수의 코어) 또는 수퍼 컴퓨터를 포함할 수도 있다. 몇몇 실시형태에서, 프로세싱 회로부는, 다수의 별개의 프로세서 또는 프로세싱 유닛, 예를 들면, 다수의 동일한 타입의 프로세싱 유닛(예를 들면, 두 개의 인텔 코어 i7(Intel Core i7) 프로세서) 또는 다수의 상이한 프로세서(예를 들면, 인텔 코어 i5 프로세서 및 인텔 코어 i7 프로세서)에 걸쳐 분산될 수도 있다. 몇몇 실시형태에서, 제어 회로부(604)는 메모리(즉, 스토리지(608))에 저장되는 미디어 가이던스 애플리케이션에 대한 명령어를 실행한다. 구체적으로는, 제어 회로부(604)는 미디어 가이던스 애플리케이션에 의해 상기 및 하기에서 논의되는 기능을 수행하도록 지시받을 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 미디어 가이던스 디스플레이를 생성하도록 제어 회로부(604)에게 명령어를 제공할 수도 있다. 몇몇 구현예에서, 제어 회로부(604)에 의해 수행되는 임의의 액션은 미디어 가이던스 애플리케이션으로부터 수신되는 명령어에 기초할 수도 있다.
클라이언트-서버 기반의 실시형태에서, 제어 회로부(604)는 가이던스 애플리케이션 서버 또는 다른 네트워크 또는 서버와 통신하기에 적절한 통신 회로부를 포함할 수도 있다. 상기에서 언급된 기능성(functionality)을 수행하기 위한 명령어는 가이던스 애플리케이션 서버 상에 저장될 수도 있다. 통신 회로부는, 케이블 모뎀, 통합 서비스 디지털 네트워크(Integrated Services Digital Network; ISDN) 모뎀, 디지털 가입자 회선(Digital Subscriber Line; DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 기기와의 통신을 위한 무선 모뎀, 또는 임의의 다른 적절한 통신 회로부를 포함할 수도 있다. 이러한 통신은 인터넷 또는 임의의 다른 적절한 통신 네트워크 또는 경로(이것은 도 7과 관련하여 더 상세하게 설명됨)를 수반할 수도 있다. 또한, 통신 회로부는, 유저 기기 디바이스의 피어 투 피어(peer-to-peer) 통신, 또는 서로 멀리 떨어져 있는 위치에 있는 유저 기기 디바이스의 통신(하기에서 더 상세히 설명됨)을 가능하게 하는 회로부를 포함할 수도 있다.
메모리는 제어 회로부(604)의 일부인 스토리지(608)로서 제공되는 전자 스토리지 디바이스일 수도 있다. 본원에서 언급되는 바와 같이, 어구 "전자 스토리지 디바이스" 또는 "스토리지 디바이스"는, 랜덤 액세스 메모리, 리드 온리 메모리, 하드 드라이브, 광학 드라이브, 디지털 비디오 디스크(digital video disc; DVD), 콤팩트 디스크(compact disc; CD) 레코더, BLU-RAY 디스크(BD) 레코더, BLU-RAY 3D 디스크 레코더, 디지털 비디오 레코더(digital video recorder)(DVR, 종종 개인용 비디오 레코더(personal video recorder), 또는 PVR로 칭해짐), 솔리드 스테이트 디바이스, 퀀텀 스토리지 디바이스(quantum storage device), 게임용 콘솔, 게임용 미디어, 또는 임의의 다른 적절한 고정식 또는 착탈식 스토리지 디바이스, 및/또는 이들의 임의의 조합과 같은, 전자 데이터, 컴퓨터 소프트웨어, 또는 펌웨어를 저장하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 스토리지(608)는 본원에서 설명되는 다양한 타입의 콘텐츠뿐만 아니라, 상기에서 설명되는 미디어 가이던스 데이터를 저장하기 위해 사용될 수도 있다. (예를 들면, 부트업 루틴 및 다른 명령어를 론칭하기 위해) 불휘발성 메모리가 또한 사용될 수도 있다. 도 7과 관련하여 설명되는 클라우드 기반의 스토리지는, 스토리지(608)를 보충하기 위해 또는 스토리지(608) 대신 사용될 수도 있다.
제어 회로부(604)는, 비디오 생성 회로부 및 튜닝 회로부, 예컨대 하나 이상의 아날로그 튜너, 하나 이상의 MPEG-2 디코더 또는 다른 디지털 디코딩 회로부, 고화질 튜너, 또는 임의의 다른 적절한 튜닝 또는 비디오 회로 또는 이러한 회로의 조합을 포함할 수도 있다. 또한, (예를 들면, 공중파(over-the-air), 아날로그 또는 디지털 신호를 저장을 위한 MPEG 신호로 변환하기 위한) 인코딩 회로부가 제공될 수도 있다. 제어 회로부(604)는 또한, 콘텐츠를 유저 기기(600)의 선호되는 출력 포맷으로 상향 변환 및 하향 변환하기 위한 스케일러 회로부(scaler circuitry)를 포함할 수도 있다. 회로부(604)는 또한, 디지털 신호와 아날로그 신호 사이를 변환하기 위한 디지털 아날로그 컨버터 회로부 및 아날로그 디지털 컨버터 회로부를 포함할 수도 있다. 튜닝 및 인코딩 회로부는, 콘텐츠를 수신하여 디스플레이하기 위해, 재생하기 위해, 또는 녹화하기 위해, 유저 기기 디바이스에 의해 사용될 수도 있다. 튜닝 및 인코딩 회로부는 또한, 가이던스 데이터를 수신하기 위해 사용될 수도 있다. 예를 들면, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호 해제, 스케일러, 및 아날로그/디지털 회로부를 비롯한, 본원에서 설명되는 회로부는, 하나 이상의 범용 또는 특수 프로세서 상에서 실행되는 소프트웨어를 사용하여 구현될 수도 있다. 동시적 튜닝 기능(예를 들면, 시계 및 녹화 기능, 픽쳐 인 픽쳐(picture-in-picture; PIP) 기능, 다중 튜너 녹화, 등등)을 핸들링하기 위해, 다수의 튜너가 제공될 수도 있다. 스토리지(608)가 유저 기기(600)와는 별개의 디바이스로서 제공되는 경우, 튜닝 및 인코딩 회로부(다수의 튜너를 포함함)는 스토리지(608)와 관련될 수도 있다.
유저는 유저 입력 인터페이스(610)를 사용하여 제어 회로부(604)로 명령어를 전송할 수도 있다. 유저 입력 인터페이스(610)는, 리모콘, 마우스, 트랙볼, 키패드, 키보드, 터치 스크린, 터치 패드, 스타일러스 입력, 조이스틱, 음성 인식 인터페이스, 또는 다른 유저 입력 인터페이스와 같은 임의의 적절한 유저 인터페이스일 수도 있다. 디스플레이(612)는 독립형 디바이스로서 제공될 수도 있거나 또는 유저 기기 디바이스(600)의 다른 엘리먼트와 통합될 수도 있다. 예를 들면, 디스플레이(612)는 터치스크린 또는 터치 감지 디스플레이일 수도 있다. 이러한 환경에서, 유저 입력 인터페이스(610)는 디스플레이(612)와 통합될 수도 있거나 또는 결합될 수도 있다. 디스플레이(612)는, 모니터, 텔레비전, 모바일 디바이스용 액정 디스플레이(liquid crystal display; LCD), 비정질 실리콘 디스플레이, 저온 폴리 실리콘 디스플레이, 전자 잉크 디스플레이, 전기영동 디스플레이(electrophoretic display), 액티브 매트릭스 디스플레이, 전자 습윤 디스플레이(electro-wetting display), 전기 유체 디스플레이(electrofluidic display), 음극선관 디스플레이, 발광 다이오드 디스플레이, 전자 발광 디스플레이, 플라즈마 디스플레이 패널, 고성능 어드레싱 디스플레이(high-performance addressing display), 박막 트랜지스터 디스플레이, 유기 발광 다이오드 디스플레이, 표면 전도 전자 방출 디스플레이(surface-conduction electron-emitter display; SED), 레이저 텔레비전, 탄소 나노튜브, 퀀텀 닷 디스플레이(quantum dot display), 간섭계 변조기 디스플레이(interferometric modulator display), 또는 시각적 이미지를 디스플레이하기 위한 임의의 다른 적절한 기기 중 하나 이상일 수도 있다. 몇몇 실시형태에서, 디스플레이(612)는 HDTV에 대응할 수도 있다. 몇몇 실시형태에서, 디스플레이(612)는 3D 디스플레이일 수도 있고, 상호 작용식 미디어 가이던스 애플리케이션 및 임의의 적절한 콘텐츠는 3D로 디스플레이될 수도 있다. 비디오 카드 또는 그래픽 카드가 디스플레이(612)로의 출력을 생성할 수도 있다. 비디오 카드는, 3D 장면 및 2D 그래픽의 가속 렌더링, MPEG-2/MPEG-4 디코딩, TV 출력, 또는 다수의 모니터를 연결하는 성능과 같은 다양한 기능을 제공할 수도 있다. 비디오 카드는 제어 회로부(604)와 관련하여 상기에서 설명되는 임의의 프로세싱 회로부일 수도 있다. 비디오 카드는 제어 회로부(604)와 통합될 수도 있다. 스피커(614)는 유저 기기 디바이스(600)의 다른 엘리먼트와 통합되어 제공될 수도 있거나 또는 독립형 유닛일 수도 있다. 디스플레이(612) 상에 디스플레이되는 비디오 및 다른 콘텐츠의 오디오 성분은 스피커(614)를 통해 재생될 수도 있다. 몇몇 실시형태에서, 오디오는, 스피커(614)를 통해 오디오를 프로세싱 및 출력하는 수신기(도시되지 않음)로 분배될 수도 있다.
가이던스 애플리케이션은 임의의 적절한 아키텍쳐를 사용하여 구현될 수도 있다. 예를 들면, 그것은 유저 기기 디바이스(600) 상에서 전적으로 구현되는 독립형 애플리케이션일 수도 있다. 이러한 접근법에서, 애플리케이션의 명령어는 로컬하게(예를 들면, 스토리지(608)에) 저장되고, 애플리케이션에 의한 사용을 위한 데이터는 (예를 들면, 대역 외 피드로부터, 인터넷 리소스로부터, 또는 다른 적절한 접근법을 사용하여) 주기적 기반으로 다운로드된다. 제어 회로부(604)는 스토리지(608)로부터 애플리케이션의 명령어를 검색할 수도 있고 본원에서 논의되는 디스플레이 중 임의의 것을 생성하기 위해 명령어를 프로세싱할 수도 있다. 프로세싱된 명령어에 기초하여, 제어 회로부(604)는, 입력 인터페이스(610)로부터 입력이 수신될 때 어떤 액션을 수행할지를 결정할 수도 있다. 예를 들면, 디스플레이 상에서의 커서의 상/하 움직임은, 상/하 버튼이 선택되었다는 것을 입력 인터페이스(610)가 나타낼 때 프로세싱된 명령어에 의해 나타내어질 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 클라이언트-서버 기반 애플리케이션이다. 유저 기기 디바이스(600) 상에서 구현되는 씩 클라이언트(thick client) 또는 씬 클라이언트(thin client)에 의한 사용을 위한 데이터는, 유저 기기 디바이스(600)에 대해 원격인 서버에 요청을 발행하는 것에 의해 요청에 따라 검색된다. 클라이언트-서버 기반의 가이던스 애플리케이션의 하나의 예에서, 제어 회로부(604)는 원격 서버에 의해 제공되는 웹페이지를 해석하는 웹 브라우저를 실행한다. 예를 들면, 원격 서버는 애플리케이션에 대한 명령어를 스토리지 디바이스에 저장할 수도 있다. 원격 서버는 회로부(예를 들면, 제어 회로부(604))를 사용하여 저장된 명령어를 프로세싱할 수도 있고 상기 및 하기에서 논의되는 디스플레이를 생성할 수도 있다. 클라이언트 디바이스는 원격 서버에 의해 생성되는 디스플레이를 수신할 수도 있고, 디스플레이의 콘텐츠를 기기 디바이스(600) 상에서 로컬하게 디스플레이할 수도 있다. 이러한 방식에서, 명령어의 프로세싱은 서버에 의해 원격으로 수행되고, 한편, 결과적으로 나타나는 디스플레이는 기기 디바이스(600) 상에서 로컬하게 제공된다. 기기 디바이스(600)는 입력 인터페이스(610)를 통해 유저로부터 입력을 수신할 수도 있고 대응하는 디스플레이를 프로세싱 및 생성하기 위해 그 입력을 원격 서버로 송신할 수도 있다. 예를 들면, 기기 디바이스(600)는, 상/하 버튼이 입력 인터페이스(610)를 통해 선택되었다는 것을 나타내는 통신을 원격 서버로 송신할 수도 있다. 원격 서버는 그 입력에 따라 명령어를 프로세싱할 수도 있고 입력에 대응하는 애플리케이션의 디스플레이(예를 들면, 커서를 상/하로 이동시키는 디스플레이)를 생성할 수도 있다. 그 다음, 생성된 디스플레이는, 유저에 대한 표시를 위해, 기기 디바이스(600)로 송신된다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 인터프리터 또는 가상 머신(제어 회로부(604)에 의해 실행됨)에 의해 다운로드되어 해석되거나 또는 다르게는 실행된다. 몇몇 실시형태에서, 가이던스 애플리케이션은 ETV 바이너리 상호 교환 포맷(ETV Binary Interchange Format; EBIF)으로 인코딩될 수도 있고, 적절한 피드의 일부로서 제어 회로부(604)에 의해 수신될 수도 있고, 제어 회로부(604) 상에서 실행되는 유저 에이전트에 의해 해석될 수도 있다. 예를 들면, 가이던스 애플리케이션은 EBIF 애플리케이션일 수도 있다. 몇몇 실시형태에서, 가이던스 애플리케이션은 제어 회로부(604)에 의해 실행되는 다른 적절한 미들웨어 또는 로컬 가상 머신에 의해 수신 및 실행되는 일련의 JAVA 기반 파일에 의해 정의될 수도 있다. 그러한 실시형태(예를 들면, MPEG-2 또는 다른 디지털 매체 인코딩 스킴을 활용하는 실시형태) 중 몇몇에서, 가이던스 애플리케이션은, 예를 들면, 인코딩되어 프로그램의 MPEG 오디오 및 비디오 패킷을 갖는 MPEG-2 객체 주기 전송(object carousel)에서 송신될 수도 있다.
도 6의 유저 기기 디바이스(600)는, 도 7의 시스템(700)에서 유저 텔레비전 기기(702), 유저 컴퓨터 기기(704), 무선 유저 통신 디바이스(706), 또는 콘텐츠에 액세스하는데 적절한 임의의 다른 타입의 유저 기기, 예컨대 비휴대용 게임용 머신으로서 구현될 수 있다. 간략화를 위해, 이들 디바이스는 본원에서 총칭하여 유저 기기 또는 유저 기기 디바이스로 지칭될 수도 있으며, 상기에서 설명되는 유저 기기 디바이스와 실질적으로 유사할 수도 있다. 미디어 가이던스 애플리케이션이 구현될 수도 있는 유저 기기 디바이스는 독립형 디바이스로서 기능할 수도 있고 또는 디바이스의 네트워크의 일부일 수도 있다. 디바이스의 다양한 네트워크 구성이 구현될 수도 있으며, 이하에서 더 상세하게 논의된다.
도 6과 관련하여 상기에서 설명되는 시스템 피쳐 중 적어도 일부를 활용하는 유저 기기 디바이스는, 유저 텔레비전 기기(702), 유저 컴퓨터 기기(704), 또는 무선 유저 통신 디바이스(706)로서 단독으로 분류되지 않을 수도 있다. 예를 들면, 유저 텔레비전 기기(702)는, 몇몇 유저 컴퓨터 기기(704)처럼, 인터넷 콘텐츠에 대한 액세스를 허용하는 인터넷 대응일 수도 있고, 한편 유저 컴퓨터 기기(702)는, 몇몇 텔레비전 기기(704)처럼, 텔레비전 프로그램에 대한 액세스를 허용하는 튜너를 포함할 수도 있다. 미디어 가이던스 애플리케이션은 여러 가지 상이한 타입의 유저 기기 상에서 동일한 레이아웃을 가질 수도 있거나 또는 유저 기기의 디스플레이 능력에 맞춰질 수도 있다. 예를 들면, 유저 컴퓨터 기기(704) 상에서, 가이던스 애플리케이션은 웹 브라우저에 의해 액세스되는 웹 사이트로서 제공될 수도 있다. 다른 예에서, 가이던스 애플리케이션은 무선 유저 통신 디바이스(706)에 대해 스케일 다운될 수도 있다.
시스템(700)에서, 통상적으로는, 하나보다 더 많은 각각의 타입의 유저 기기 디바이스가 존재하지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 7에서는 각각의 하나만이 도시된다. 또한, 각각의 유저는 하나보다 많은 타입의 유저 기기 디바이스 및 또한 하나보다 많은 각각의 타입의 유저 기기 디바이스를 활용할 수도 있다.
몇몇 실시형태에서, 유저 기기 디바이스(예를 들면, 유저 텔레비전 기기(702), 유저 컴퓨터 기기(704), 무선 유저 통신 디바이스(706))는 "제2 스크린 디바이스"로 칭해질 수도 있다. 예를 들면, 제2 스크린 디바이스는 제1 유저 기기 디바이스 상에 제시되는 콘텐츠를 보충할 수도 있다. 제2 스크린 디바이스 상에 제시되는 콘텐츠는 제1 디바이스 상에 제시되는 콘텐츠를 보충하는 임의의 적절한 콘텐츠일 수도 있다. 몇몇 실시형태에서, 제2 스크린 디바이스는, 제1 디바이스의 디스플레이 선호도 및 설정을 조정하기 위한 인터페이스를 제공한다. 몇몇 실시형태에서, 제2 스크린 디바이스는 다른 제2 스크린 디바이스와 상호 작용하도록 또는 소셜 네트워크와 상호 작용하도록 구성된다. 제2 스크린 디바이스는, 제1 디바이스와 동일한 방에, 동일한 집 또는 건물이지만 제1 디바이스와는 상이한 방에, 또는 제1 디바이스와는 상이한 건물에 위치될 수 있다.
유저는 또한, 가정용(in-home) 디바이스 및 원격 디바이스 전체에 걸쳐 일관된 미디어 가이던스 애플리케이션 설정을 유지하기 위해 다양한 설정을 설정할 수도 있다. 설정은, 본원에서 설명되는 것뿐만 아니라, 채널 및 프로그램 즐겨찾기, 프로그램 추천을 하기 위해 가이던스 애플리케이션이 활용하는 프로그램 선호도, 디스플레이 선호도, 및 다른 바람직한 가이던스 설정을 포함한다. 예를 들면, 유저가, 예를 들면, 그들의 사무실에 있는 그들의 개인용 컴퓨터 상에서 웹 사이트 www.Tivo.com에 대한 즐겨찾기로서 채널을 설정하면, 동일한 채널은 유저의 가정용 디바이스(예를 들면, 유저 텔레비전 기기 및 유저 컴퓨터 기기)뿐만 아니라, 소망되는 경우, 유저의 모바일 디바이스 상에서 즐겨찾기로서 나타날 것이다. 따라서, 하나의 유저 기기 디바이스 상에서 이루어지는 변경은, 다른 유저 기기 디바이스 상에서, 그들이 동일한 타입의 유저 기기 디바이스인지 또는 상이한 타입의 유저 기기 디바이스인지의 여부에 관계없이, 가이던스 경험을 변경할 수 있다. 또한, 행해지는 변경은, 유저에 의해 입력되는 설정뿐만 아니라, 가이던스 애플리케이션에 의해 모니터링되는 유저 활동에 기초할 수도 있다.
유저 기기 디바이스는 통신 네트워크(714)에 커플링될 수도 있다. 즉, 유저 텔레비전 기기(702), 유저 컴퓨터 기기(704), 및 무선 유저 통신 디바이스(706)는, 각각, 통신 경로(708, 710 및 712)를 통해 통신 네트워크(714)에 커플링된다. 통신 네트워크(714)는, 인터넷, 이동 전화 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들면, 4G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환식 전화망(public switched telephone network), 또는 다른 타입의 통신 네트워크 또는 통신 네트워크의 조합을 포함하는 하나 이상의 네트워크일 수도 있다. 경로(708, 710, 및 712)는, 위성 경로, 광섬유 경로, 케이블 경로, 인터넷 통신(예를 들면, IPTV)을 지원하는 경로, (예를 들면, 방송 또는 다른 무선 신호를 위한) 자유 공간 연결, 또는 임의의 다른 적절한 유선 또는 무선 통신 경로 또는 이러한 경로의 조합과 같은 하나 이상의 통신 경로를, 개별적으로 또는 함께, 포함할 수도 있다. 경로(712)는 도 7에서 도시되는 예시적인 실시형태에서 그것이 무선 경로이다는 것을 나타내기 위해 점선으로 묘사되고, 경로(708 및 710)는 (비록 이들 경로가, 소망되는 경우, 무선 경로일 수도 있지만) 그들이 유선 경로이다는 것을 나타내기 위해 실선으로 묘사된다. 유저 기기 디바이스와의 통신은, 이들 통신 경로 중 하나 이상에 의해 제공될 수도 있지만, 그러나 도면이 과도하게 복잡해지는 것을 방지하기 위해, 도 7에서는 단일의 경로로서 도시된다.
비록 유저 기기 디바이스 사이에서 통신 경로가 묘사되지는 않지만, 이들 디바이스는 경로(708, 710 및 712)와 관련하여 상기에서 설명되는 것과 같은 통신 경로뿐만 아니라, 다른 단거리의 점대점(point-to-point) 통신 경로, 예컨대 USB 케이블, IEEE 1394 케이블, 무선 경로(예를 들면, 블루투스, 적외선, IEEE 802-11x, 등등), 또는 유선 또는 무선 경로를 통한 다른 단거리 통신을 통해 서로 직접적으로 통신할 수도 있다. BLUETOOTH는 블루투스 SIG, INC.가 소유한 인증 마크이다. 유저 기기 디바이스는 또한 통신 네트워크(714)를 통해 간접 경로를 통해 서로 직접적으로 통신할 수도 있다.
시스템(700)은 통신 경로(720 및 722)를 통해 통신 네트워크(714)에 각각 커플링되는 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)를 포함한다. 경로(720 및 722)는 경로(708, 710 및 712)와 관련하여 상기에서 설명되는 통신 경로 중 임의의 것을 포함할 수도 있다. 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)와의 통신은 하나 이상의 통신 경로를 통해 교환될 수도 있지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 7에서는 단일의 경로로서 도시된다. 또한, 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)의 각각의 하나보다 더 많은 것이 존재할 수도 있지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 7에서는 각각의 하나만이 도시된다. (이들 소스의 각각의 상이한 타입은 하기에서 논의된다.) 소망되는 경우, 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)는 하나의 소스 디바이스로서 통합될 수도 있다. 비록 유저 기기 디바이스(702, 704, 및 706)와의 소스(716 및 718) 사이의 통신이 통신 네트워크(714)를 통하는 것으로 도시되지만, 몇몇 실시형태에서, 소스(716 및 718)는, 경로(708, 710, 및 712)와 관련하여 상기에서 설명되는 것과 같은 통신 경로(도시되지 않음)를 통해 유저 기기 디바이스(702, 704, 및 706)와 직접적으로 통신할 수도 있다.
텔레비전 분배 설비, 케이블 시스템 중계국(cable system headend), 위성 분배 설비, 프로그램 소스(예를 들면, NBC, ABC, HBO, 등등과 같은 텔레비전 방송국), 중간 분배 설비 및/또는 서버, 인터넷 공급자, 주문형 미디어 서버, 및 다른 콘텐츠 공급자를 포함하는 콘텐츠 소스(716)는, 하나 이상의 타입의 콘텐츠 분배 기기를 포함할 수도 있다. NBC는 National Broadcasting Company, Inc. 소유의 상표이고, ABC는 American Broadcasting Company, Inc. 소유의 상표이며, HBO는 Home Box Office, Inc. 소유의 상표이다. 콘텐츠 소스(716)는 콘텐츠의 창작자(originator)(예를 들면, 텔레비전 방송국, 웹캐스트 공급자, 등등)일 수도 있거나 또는 콘텐츠의 창작자가 아닐 수도 있다(예를 들면, 주문형 콘텐츠 공급자, 다운로드용 방송 프로그램의 콘텐츠의 인터넷 공급자, 등등). 콘텐츠 소스(716)는, 케이블 소스, 위성 공급자, 주문형 공급자, 인터넷 공급자, 오버 더 톱(over-the-top) 콘텐츠 공급자, 또는 다른 콘텐츠 공급자를 포함할 수도 있다. 콘텐츠 소스(716)는 또한, 유저 기기 디바이스 중 임의의 것으로부터 원격의 위치에서 상이한 타입의 콘텐츠(유저에 의해 선택되는 비디오 콘텐츠를 포함함)를 저장하기 위해 사용되는 원격 미디어 서버를 포함할 수도 있다. 콘텐츠의 원격 저장을 위한, 그리고 원격으로 저장된 콘텐츠를 유저 기기에 제공하기 위한 시스템 및 방법은, 2010년 7월 20일자로 발행된 Ellis 등등의 미국 특허 제7,761,892호와 관련하여 상세히 논의되는데, 이 특허는 참조에 의해 그 전체가 본원에 통합된다.
미디어 가이던스 데이터 소스(718)는 상기에서 설명되는 미디어 가이던스 데이터와 같은 미디어 가이던스 데이터를 제공할 수도 있다. 미디어 가이던스 데이터는 임의의 적절한 접근법을 사용하여 유저 기기 디바이스로 제공될 수도 있다. 몇몇 실시형태에서, 가이던스 애플리케이션은, 데이터 피드(예를 들면, 연속하는 피드 또는 간헐적인 피드(trickle feed))를 통해 프로그램 가이드 데이터를 수신하는 독립형의 상호 작용식 텔레비전 프로그램 가이드일 수도 있다. 대역 내 디지털 신호를 사용하여, 대역 외 디지털 신호를 사용하여, 또는 임의의 다른 적절한 데이터 송신 기술에 의해, 프로그램 스케줄 데이터 및 다른 가이던스 데이터가 텔레비전 채널 측대역 상에서 유저 기기로 제공될 수도 있다. 다수의 아날로그 또는 디지털 텔레비전 채널 상에서, 프로그램 스케줄 데이터 및 다른 미디어 가이던스 데이터가 유저 기기로 제공될 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 데이터 소스(718)로부터의 가이던스 데이터는 클라이언트-서버 접근법을 사용하여 유저의 기기로 제공될 수도 있다. 예를 들면, 유저 기기 디바이스는 서버로부터 미디어 가이던스 데이터를 끌어낼 수도 있거나, 또는 서버가 미디어 가이던스 데이터를 유저 기기 디바이스로 푸시할 수도 있다. 몇몇 실시형태에서, 유저의 기기 상에 상주하는 가이던스 애플리케이션 클라이언트는, 필요시, 예를 들면, 가이던스 데이터가 오래된 경우 또는 유저 기기 디바이스가 유저로부터 데이터 수신 요청을 수신하는 경우, 가이던스 데이터를 획득하기 위해 소스(718)와의 세션을 개시할 수도 있다. 미디어 가이던스는, 임의의 적절한 빈도로(예를 들면, 연속적으로, 매일, 유저가 명시한 시간의 주기로, 시스템이 명시한 시간의 주기로, 유저 기기로부터의 요청에 응답하여, 등등으로) 유저 기기로 제공될 수도 있다. 미디어 가이던스 데이터 소스(718)는 유저 기기 디바이스(702, 704 및 706)에 미디어 가이던스 애플리케이션 그 자체 또는 미디어 가이던스 애플리케이션에 대한 소프트웨어 업데이트를 제공할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 데이터는 뷰어 데이터를 포함할 수도 있다. 예를 들면, 뷰어 데이터는, 현재 및/또는 과거(historical) 유저 활동 정보(예를 들면, 유저가 일반적으로 어떤 콘텐츠를 시청하는지, 유저가 하루 중 어떤 시간에 콘텐츠를 시청하는지, 유저가 소셜 네트워크와 상호 작용하는지의 여부, 유저가 정보를 게시하기 위해 어떤 시간에 소셜 네트워크와 상호 작용하는지, 유저가 일반적으로 어떤 타입의 콘텐츠(예를 들면, 유료 TV 또는 무료 TV)를 시청하는지, 무드, 뇌 활동 정보, 등등)를 포함할 수도 있다. 미디어 가이던스 데이터는 또한 가입 데이터를 포함할 수도 있다. 예를 들면, 가입 데이터는 주어진 유저가 가입하는 소스 또는 서비스가 어떤 것인지 및/또는 주어진 유저가 이전에 가입했지만 나중에 액세스를 종료한 소스 또는 서비스가 어떤 것인지(예를 들면, 유저가 프리미엄 채널에 가입하는지의 여부, 유저가 프리미엄 레벨의 서비스를 추가했는지의 여부, 유저가 인터넷 속도를 증가시켰는지의 여부)를 식별할 수도 있다. 몇몇 실시형태에서, 뷰어 데이터 및/또는 가입 데이터는 1년이 넘는 기간 동안 주어진 유저의 패턴을 식별할 수도 있다. 미디어 가이던스 데이터는, 주어진 유저가 서비스/소스에 대한 액세스를 종료할 가능성을 나타내는 스코어를 생성하기 위해 사용되는 모델(예를 들면, 생존자 모델(survivor model))을 포함할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 주어진 유저가 특정한 서비스 또는 소스에 대한 액세스를 종료할지의 여부의 가능성을 나타내는 값 또는 스코어를 생성하는 모델을 사용하여 가입 데이터와 함께 뷰어 데이터를 프로세싱할 수도 있다. 특히, 더 높은 스코어는, 유저가 특정한 서비스 또는 소스에 대한 액세스를 종료할 것이라는 더 높은 레벨의 신뢰도를 나타낼 수도 있다. 스코어에 기초하여, 미디어 가이던스 애플리케이션은, 유저가 액세스를 종료할 가능성이 있는 서비스 또는 소스로서 스코어에 의해 나타내어지는 특정한 서비스 또는 소스를 계속 유지하도록 유저를 부추기는 프로모션 및 광고를 생성할 수도 있다.
미디어 가이던스 애플리케이션은, 예를 들면, 유저 기기 디바이스 상에서 구현되는 독립형 애플리케이션일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지(608)에 저장될 수도 있고, 유저 기기 디바이스(600)의 제어 회로부(604)에 의해 실행될 수도 있는 소프트웨어 또는 한 세트의 실행 가능한 명령어로서 구현될 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 클라이언트 애플리케이션만이 유저 기기 디바이스 상에 상주하고, 서버 애플리케이션이 원격 서버 상에 상주하는 클라이언트-서버 애플리케이션일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 부분적으로는 유저 기기 디바이스(600)의 제어 회로부(604) 상에서 클라이언트 애플리케이션으로서 그리고 부분적으로는 원격 서버 상에서 원격 서버의 제어 회로부 상에서 실행되는 서버 애플리케이션(예를 들면, 미디어 가이던스 데이터 소스(718))으로서 구현될 수도 있다. (미디어 가이던스 데이터 소스(718)와 같은) 원격 서버의 제어 회로부에 의해 실행될 때, 미디어 가이던스 애플리케이션은, 가이던스 애플리케이션 디스플레이를 생성할 것을 그리고 생성된 디스플레이를 유저 기기 디바이스로 송신할 것을 제어 회로부에게 지시할 수도 있다. 서버 애플리케이션은, 유저 기기 상에서의 저장을 위해 데이터를 송신할 것을 미디어 가이던스 데이터 소스(718)의 제어 회로부에게 지시할 수도 있다. 클라이언트 애플리케이션은 가이던스 애플리케이션 디스플레이를 생성할 것을 수신 유저 기기의 제어 회로부에게 지시할 수도 있다.
유저 기기 디바이스(702, 704, 및 706)로 전달되는 콘텐츠 및/또는 미디어 가이던스 데이터는 오버 더 톱(over-the-top; OTT) 콘텐츠일 수도 있다. OTT 콘텐츠 전달은, 상기에서 설명되는 임의의 유저 기기 디바이스를 비롯한, 인터넷 대응 유저 디바이스가, 케이블 또는 위성 연결을 통해 수신되는 콘텐츠 외에도, 상기에서 설명되는 임의의 콘텐츠를 비롯한, 인터넷을 통해 전송되는 콘텐츠를 수신하는 것을 허용한다. OTT 콘텐츠는 인터넷 서비스 공급자(Internet service provider; ISP)에 의해 제공되는 인터넷 연결을 통해 전달되지만, 그러나 써드파티가 콘텐츠를 배포한다. ISP는 콘텐츠의 시청 능력, 저작권, 또는 재배포에 대한 책임을 지지 않을 수도 있고, OTT 콘텐츠 공급자에 의해 제공되는 IP 패킷만을 전송할 수도 있다. OTT 콘텐츠 공급자의 예는, IP 패킷을 통해 오디오 및 비디오를 제공하는 YOUTUBE®(유튜브), NETFLIX®(넷플릭스) 및 HULU®(훌루)를 포함한다. 유튜브는 Google Inc. 소유의 상표이고, 넷플릭스는 Netflix Inc. 소유의 상표이며, 훌루는 Hulu, LLC 소유의 상표이다. OTT 콘텐츠 공급자는, 추가적으로 또는 대안적으로, 상기에서 설명되는 미디어 가이던스 데이터를 제공할 수도 있다. 콘텐츠 및/또는 미디어 가이던스 데이터 외에, OTT 콘텐츠의 공급자는 미디어 가이던스 애플리케이션(예를 들면, 웹 기반의 애플리케이션 또는 클라우드 기반의 애플리케이션)을 배포할 수 있거나, 또는 콘텐츠는 유저 기기 디바이스 상에 저장되는 미디어 가이던스 애플리케이션에 의해 디스플레이될 수 있다.
미디어 가이던스 시스템(700)은 다수의 접근법, 또는 네트워크 구성을 예시하도록 의도되는데, 콘텐츠에 액세스하고 미디어 가이던스를 제공하는 목적을 위해 유저 기기 디바이스 및 콘텐츠 및 가이던스 데이터의 소스는, 그 다수의 접근법, 또는 네트워크 구성에 의해 서로 통신할 수도 있다. 본원에서 설명되는 실시형태는 이들 접근법 중 임의의 하나 또는 서브세트에서, 또는 콘텐츠를 전달하고 미디어 가이던스를 제공하기 위한 다른 접근법을 활용하는 시스템에서 적용될 수도 있다. 다음의 네 가지 접근법은 도 7의 일반화된 예의 특정한 예시를 제공한다.
하나의 접근법에서, 유저 기기 디바이스는 홈 네트워크 내에서 서로 통신할 수도 있다. 유저 기기 디바이스는, 상기에서 설명되는 단거리의 점대점 통신 스킴을 통해, 홈 네트워크 상에 제공되는 허브 또는 다른 유사한 디바이스를 통한 간접 경로를 통해, 또는 통신 네트워크(714)를 통해, 서로 직접적으로 통신할 수 있다. 단일의 가정 내의 다수의 개인의 각각은 홈 네트워크 상에서 상이한 유저 기기 디바이스를 조작할 수도 있다. 결과적으로, 다양한 미디어 가이던스 정보 또는 설정이 상이한 유저 기기 디바이스 사이에서 통신되는 것이 바람직할 수도 있다. 예를 들면, 2005년 7월 11일자로 출원된 Ellis 등등의 미국 특허 공개 공보 제2005/0251827호에서 상세히 설명되는 바와 같이, 유저가 홈 네트워크 내의 상이한 유저 기기 디바이스 상에서 일관된 미디어 가이던스 애플리케이션 설정을 유지하는 것이 바람직할 수도 있다. 홈 네트워크 내의 상이한 타입의 유저 기기 디바이스는 또한, 콘텐츠를 송신하도록 서로 통신할 수도 있다. 예를 들면, 유저는 유저 컴퓨터 기기로부터 휴대용 비디오 플레이어 또는 휴대용 음악 플레이어로 콘텐츠를 송신할 수도 있다.
제2 접근법에서, 유저는, 콘텐츠에 액세스하여 미디어 가이던스를 획득하게 하는 다수의 타입의 유저 기기를 구비할 수도 있다. 예를 들면, 몇몇 유저는 가정용 디바이스 및 모바일 디바이스에 의해 액세스되는 홈 네트워크를 구비할 수도 있다. 유저는 원격 디바이스 상에서 구현되는 미디어 가이던스 애플리케이션을 통해 가정용 디바이스를 제어할 수도 있다. 예를 들면, 유저는 그들의 사무실의 개인 컴퓨터, 또는 PDA 또는 웹 대응 이동 전화와 같은 모바일 디바이스를 통해 웹 사이트 상의의 온라인 미디어 가이던스 애플리케이션에 액세스할 수도 있다. 유저는, 유저의 가정용 기기를 제어하기 위해, 온라인 가이던스 애플리케이션 상의 다양한 설정(예를 들면, 녹화, 리마인더, 또는 다른 설정)을 설정할 수도 있다. 온라인 가이드는 유저 기기를 직접적으로, 또는 유저의 가정용 기기 상의 미디어 가이던스 애플리케이션과 통신하는 것에 의해 제어할 수도 있다. 유저 기기 디바이스가 서로 멀리 떨어진 위치에 있는 유저 기기 디바이스 통신을 위한 다양한 시스템 및 방법은, 예를 들면, 2011년 10월 25일자로 발행된 Ellis 등등의 미국 특허 제8,046,801호에서 논의되는데, 이 특허는 참조에 의해 그 전체가 본원에 통합된다.
제3 접근법에서, 가정 내부 및 외부의 유저 기기 디바이스의 유저는, 콘텐츠 소스(716)와 직접적으로 통신하여 콘텐츠에 액세스하기 위해, 그들의 미디어 가이던스 애플리케이션을 사용할 수 있다. 구체적으로, 가정 내에서, 유저 텔레비전 기기(702) 및 유저 컴퓨터 기기(704)의 유저는, 소망하는 콘텐츠 사이를 탐색하고 바람직한 콘텐츠의 위치를 결정하기 위해, 미디어 가이던스 애플리케이션에 액세스할 수도 있다. 유저는 또한, 소망하는 콘텐츠 사이를 탐색하고 바람직한 콘텐츠의 위치를 결정하기 위해, 무선 유저 통신 디바이스(706)를 사용하여 가정 외부의 미디어 가이던스 애플리케이션에 액세스할 수도 있다.
제4 접근법에서, 유저 기기 디바이스는 클라우드 서비스에 액세스하기 위해 클라우드 컴퓨팅 환경에서 동작할 수도 있다. 클라우드 컴퓨팅 환경에서, 콘텐츠 공유, 저장 또는 배포를 위한 다양한 타입의 컴퓨팅 서비스(예를 들면, 비디오 공유 사이트 또는 소셜 네트워킹 사이트)는, "클라우드"로 칭해지는 네트워크 액세스 가능 컴퓨팅 및 스토리지 리소스의 집합(collection)에 의해 제공된다. 예를 들면, 클라우드는 통신 네트워크(714)를 통해 인터넷과 같은 네트워크를 통해 연결되는 다양한 타입의 유저 및 디바이스에게 클라우드 기반의 서비스를 제공하는, 중앙 집중식으로 또는 분산된 위치에 위치될 수도 있는 서버 컴퓨팅 디바이스의 집합을 포함할 수 있다. 이들 클라우드 리소스는 하나 이상의 콘텐츠 소스(716) 및 하나 이상의 미디어 가이던스 데이터 소스(718)를 포함할 수도 있다. 추가적으로 또는 대안적으로, 원격 컴퓨팅 사이트는 유저 텔레비전 기기(702), 유저 컴퓨터 기기(704), 및 무선 유저 통신 디바이스(706)와 같은 다른 유저 기기 디바이스를 포함할 수도 있다. 예를 들면, 다른 유저 기기 디바이스는 비디오의 저장된 사본 또는 스트리밍된 비디오에 대한 액세스를 제공할 수도 있다. 이러한 실시형태에서, 유저 기기 디바이스는 중앙 서버와 통신하지 않고 피어 투 피어 방식으로 동작할 수도 있다.
클라우드는, 유저 기기 디바이스에 대해, 다른 예 중에서도, 콘텐츠 저장, 콘텐츠 공유, 또는 소셜 네트워킹 서비스와 같은 서비스에 대한 액세스뿐만 아니라, 상기에서 설명되는 임의의 콘텐츠에 대한 액세스를 제공한다. 서비스는 클라우드 컴퓨팅 서비스 공급자를 통해, 또는 온라인 서비스의 다른 공급자를 통해 클라우드에서 제공될 수 있다. 예를 들면, 클라우드 기반 서비스는, 콘텐츠 저장 서비스, 콘텐츠 공유 사이트, 소셜 네트워킹 사이트, 또는 연결된 디바이스 상에서 다른 사람이 보도록 유저가 제공한 콘텐츠가 배포되는 다른 서비스를 포함할 수 있다. 이들 클라우드 기반 서비스는, 유저 기기 디바이스가 콘텐츠를 클라우드에 저장하는 것 및, 콘텐츠를 로컬하게 저장하고 로컬하게 저장된 콘텐츠에 액세스하는 대신, 클라우드로부터 콘텐츠를 수신하는 것을 허용할 수도 있다.
유저는, 콘텐츠를 녹화하기 위해, 캠코더, 비디오 모드를 갖는 디지털 카메라, 오디오 레코더, 이동 전화, 및 핸드헬드식 컴퓨팅 디바이스와 같은 다양한 콘텐츠 캡쳐 디바이스를 사용할 수도 있다. 유저는, 예를 들면, 콘텐츠 캡쳐 피쳐를 갖는 무선 유저 통신 디바이스(706) 또는 유저 컴퓨터 기기(704) 중 어느 하나로부터 직접적으로 클라우드 상의 콘텐츠 저장 서비스에 콘텐츠를 업로드할 수 있다. 대안적으로, 유저는 유저 컴퓨터 기기(704)와 같은 유저 기기 디바이스로 콘텐츠를 먼저 전송할 수 있다. 콘텐츠를 저장하는 유저 기기 디바이스는 통신 네트워크(714) 상의 데이터 송신 서비스를 사용하여 콘텐츠를 클라우드로 업로드한다. 몇몇 실시형태에서, 유저 기기 디바이스 그 자체는 클라우드 리소스이고, 다른 유저 기기 디바이스는 유저가 콘텐츠를 저장한 유저 기기 디바이스로부터 직접적으로 콘텐츠에 액세스할 수 있다.
클라우드 리소스는, 예를 들면, 웹 브라우저, 미디어 가이던스 애플리케이션, 데스크톱 애플리케이션, 모바일 애플리케이션, 및/또는 이들의 액세스 애플리케이션의 임의의 조합을 사용하여 유저 기기 디바이스에 의해 액세스될 수도 있다. 유저 기기 디바이스는 애플리케이션 전달을 위해 클라우드 컴퓨팅에 의존하는 클라우드 클라이언트일 수도 있고, 또는 유저 기기 디바이스는 클라우드 리소스에 액세스하지 않는 몇몇 기능성을 가질 수도 있다. 예를 들면, 유저 기기 디바이스 상에서 실행되는 몇몇 애플리케이션은 클라우드 애플리케이션, 즉, 인터넷을 통해 서비스로서 전달되는 애플리케이션일 수도 있고, 한편 다른 애플리케이션은 유저 기기 디바이스 상에서 저장 및 실행될 수도 있다. 몇몇 실시형태에서, 유저 디바이스는 다수의 클라우드 리소스로부터 동시에 콘텐츠를 수신할 수도 있다. 예를 들면, 유저 디바이스는 하나의 클라우드 리소스로부터 오디오를 스트리밍할 수 있고, 동시에 제2 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 또는 더 효율적인 다운로드를 위해 유저 디바이스가 다수의 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 몇몇 실시형태에서, 유저 기기 디바이스는 도 6과 관련하여 설명되는 프로세싱 회로부에 의해 수행되는 프로세싱 동작과 같은 프로세싱 동작을 위해 클라우드 리소스를 사용할 수 있다.
본원에서 언급되는 바와 같이, 용어 "~에 응답하여"는 ~의 결과로서 개시되는 것을 가리킨다. 예를 들면, 제1 액션이 제2 액션에 응답하여 수행되는 것은, 제1 액션과 제2 액션 사이에 개재하는(interstitial) 단계를 포함할 수도 있다. 본원에서 언급될 때, 용어 "~에 직접적으로 응답하여"는 ~에 의해 야기되는 것을 가리킨다. 예를 들면, 제1 액션이 제2 액션에 응답하여 직접적으로 수행되는 것은, 제1 액션과 제2 액션 사이에 개재하는 단계를 포함하지 않을 수도 있다.
도 8은, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 제시하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(800)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(800) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다.
프로세스(800)는 802에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 유저 입력을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저 입력 인터페이스(예를 들면, 유저 입력 인터페이스(610)(도 6))를 통한 유저 입력을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 유저 입력은 하나의 또는 다수의 영숫자 또는 다른 문자의 문자열(string)일 수도 있다. 대안적으로 또는 추가적으로, 유저 입력은 공통 검색 조회를 갖는 복수의 선택 가능한 옵션 중 하나를 선택하는 것일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 가장 일반적으로 검색되는 키워드를 유저가 선택할 선택 가능한 옵션으로서 제시하여, 그 또는 그녀가 문자를 입력해야 할 수도 있는 유저 시간을 절약할 수도 있다.
프로세스(800)는 804로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 유저 입력을 제1 소스 및 제2 소스로(예를 들면, 통신 네트워크(714)(도 7)를 통해 콘텐츠 소스(716)로) 송신할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력(예를 들면, 문자열) 및/또는 검색을 위한 다른 파라미터를 포함하는 데이터 패킷을 생성할 수도 있다(예를 들면, 결과는 소정의 시간 기간 사이에 있어야 한다). 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 (예를 들면, 유저 입력에 기초하여) 검색 조회를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 송신하기 위해 소스 중 하나 또는 둘 모두로부터의 API를 활용할 수도 있다. 미디어 가이던스 애플리케이션은, 특정한 소스에 대한 유저 선호도(예를 들면, 스토리지(608)(도 6)에 로컬하게 또는 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718)에 원격으로 저장됨)에 기초하여, 유저 입력을 송신할 소스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 유저는, 검색 조회가 소스의 특정한 세트로(예를 들면, AMAZON® 및 HULU®로) 전송되어야 한다는 선호도를 저장할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 유저가 소스를 선택하는 것을 허용하는 유저 입력시 그래픽 유저 인터페이스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저가 (예를 들면, 유저 입력 인터페이스(610)(도 6)를 통해) 문자열(예를 들면, 유저 입력)을 입력할 수 있는 필드 및 결과를 검색할 소스에 대한 일련의 선택 가능한 옵션을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있다.
프로세스(800)는 806으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 제1 소스로부터 제1 검색 결과를 그리고 제2 소스로부터 제2 검색 결과를 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 소스 둘 모두로부터의(예를 들면, 콘텐츠 소스(716)(도 7)로부터의) 유저 입력과 매칭되는 복수의 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 각각의 소스로부터의 결과는 별개의 테이블에서 미디어 가이던스 애플리케이션에 의해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신될 수도 있는데, 각각의 테이블은 복수의 행을 포함하고, 각각의 행은 매칭되는 결과의 식별자(예를 들면, 미디어 자산의 타이틀) 및 관련 필드의 추가 정보(예를 들면, 미디어 자산에서의 배우)를 갖는다. 몇몇 실시형태에서, 결과는 인기도에 따라 순위가 매겨질 수도 있다. 대안적으로 또는 추가적으로, 결과는 유저 입력에 대한 연관성에 따라 순위가 매겨질 수도 있다. 예를 들면, "The Big Bang Theory"가 가장 인기있는 결과이더라도(예를 들면, 많은 유저가 그것에 클릭할 수도 있음), 유저 입력이 "Bang"이기 때문에, Miley Cyrus의 앨범 "Bangerz"가 더 높은 순위가 매겨질 수도 있는데, 그 이유는 첫 번째 단어가 조회에 매칭되기 때문이다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 상기에서 논의되는 인자의 임의의 조합에 기초하여, 뿐만 아니라 유저 선호도에 기초하여 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 재정렬할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션이 유저가 주어진 배우의 영화를 좋아한다는 (예를 들면, 스토리지(608)(도 6)에 로컬하게 또는 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718)에 원격으로 저장되는) 유저 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙하는 경우, 그 배우를 갖는 결과는 순위가 상승할 수도 있다.
프로세스(800)는 808로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제2 소스보다 제1 소스에 대한 선호도를 나타내는 유저 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 스토리지(608)(도 6)에) 로컬하게 또는 서버에(예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718)에) 원격으로 저장되는 유저 프로파일을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 도 9와 관련하여 하기에서 추가로 설명되는 바와 같이, 유저 프로파일로부터 검색 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스의 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 유저가 그의 또는 그녀의 선호도를 반영하기 위해 소스(예를 들면, HULU®, AMAZON®, 등등)를 특정한 순서로 드래그 앤 드랍할 수 있는 그래픽 유저 인터페이스를 (예를 들면, 디스플레이(612)(도 6) 상에서) 생성할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 각각의 소스의 순위 및 식별자를 (예를 들면, 어레이에) 저장할 수도 있다. 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스의 저장된 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있고 제1 및 제2 소스의 각각의 순위를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 문자열 "hulu"에 의해 식별되는 HULU®가 "5"의 순위와 관련된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. AMAZON®에 대한 순위가 "3"이면, 미디어 가이던스 애플리케이션은, 유저가 HULU®보다 AMAZON®을 선호한다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
프로세스(800)는 810으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제2 소스보다 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 검색 결과를 갖는 복수의 행을 포함하는 그리드의 제1 행에서 제1 소스로부터의 제1 검색 결과를 디스플레이를 위해 생성할 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스로부터 결과를 생성할 특정한 위치(예를 들면, 행)를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 몇몇 실시형태에서, 행은, 제2 소스로부터의 결과가 제시되는 제2 행보다 스크린(예를 들면, 디스플레이(612)(도 6))의 상부에 더 가까운 행에 위치될 수도 있다.
프로세스(800)는 812로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 행에 맞는 제1 검색 결과의 제1 서브세트 및 그리드의 제2 행에 맞는 제2 검색 결과의 제2 서브세트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정하는데, 제1 서브세트는 제1 검색 결과의 제1 결과를 포함하고, 제2 서브세트는 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 행 및 제2 행에 맞는 결과의 수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 그 수는 일정할 수도 있거나(예를 들면, 각각의 행은 항상 3 개의 결과를 포함함) 또는 결과의 식별자의 길이에 기초하여 변할 수도 있다(예를 들면, 많은 수의 문자를 갖는 결과는 더 많은 공간을 차지하고 한 번에 더 적은 결과가 디스플레이될 수 있음). 몇몇 실시형태에서, 그 수는 제1 행 및 제2 행에 대해 상이할 수도 있다. 예를 들면, 유저 선호도에 기초하여 선호되기 때문에, 제2 행보다 제1 행에 대해 더 많은 결과가 디스플레이될 수도 있다(예를 들면, 제1 행은 더 많은 디스플레이 공간을 차지할 수도 있고 결과를 두 개의 하위 행(sub-row)에서 디스플레이할 수도 있음). 그 다음, 미디어 가이던스 애플리케이션은, 도 10과 관련하여 하기에서 추가로 설명되는 바와 같이, 두 개의 소스로부터의 수신된 검색 결과로부터, 디스플레이할 적절한 수의 결과(예를 들면, 제1 및 제2 서브세트)를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 선택할 수도 있다. 제1 서브세트는 제2 서브세트의 제2 결과와 매칭되는 제1 결과를 포함할 수도 있다. 예를 들면, "The Big Bang Theory"는 제1 및 제2 서브세트에 존재할 수도 있다. 중복되지 않는 결과를 유저에게 제시하기 위해, 미디어 가이던스 애플리케이션은, 제2 결과 대신, 제1 서브세트 내의 결과 중 하나와 매칭되지 않는 제2 검색 결과의 제3 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 선택할 수도 있다.
프로세스(800)는 814로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 메타데이터를 제2 결과와 관련되는 메타데이터와 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은 결과와 관련되는 메타데이터를 로컬하게 스토리지(예를 들면, 스토리지(608)(도 6))로부터 또는 원격 서버(예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718))로부터 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 대안적으로 또는 추가적으로, 소스(예를 들면, 콘텐츠 소스(716)(도 7))로부터 수신되는 결과와 관련되는 테이블의 필드 내의 메타데이터를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 메타데이터는, 결과와 관련되는 콘텐츠를 설명하는 결과에 관련되는 임의의 데이터일 수도 있다. 예를 들면, 결과가 뉴스 기사에 대한 것이면, 메타데이터는 기사의 저자, 기사의 타입(예를 들면, 의견), 및/또는 간행물 이름(예를 들면, 네이처(Nature))을 포함할 수도 있다. 미디어 가이던스 애플리케이션은, 두 개의 결과의 메타데이터(예를 들면, 속성)의 문자를 반복적으로 비교하여 두 개의 결과가 매칭되는지의 여부를 결정하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 문자열 "Matt Damon(맷 데이먼)"을, 제2 결과와 관련되는 문자열 "Matt Dillon(맷 딜런)"과 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다.
프로세스(800)는 816으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 비교에 기초하여, 제1 결과가 제2 결과와 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 특정한 속성의 각각의 문자가 제2 결과와 관련되는 대응하는 속성의 각각의 문자와 매칭되면, 두 개의 결과가 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 두 개의 결과가 배우 "Matt Damon"을 가리키는 메타데이터를 포함하는 경우, 미디어 가이던스 애플리케이션은 메타데이터가 매칭되고 따라서 두 개의 결과가 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 도 11과 관련하여 추가로 설명되는 바와 같이, 제1 결과와 관련되는 모든 메타데이터(예를 들면, 모든 속성), 또는 임계 백분율(예를 들면, 50 %)이 제2 결과의 대응하는 메타데이터와 매칭되는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 두 개의 결과 사이에서 타이틀, 감독, 및 장르 속성이 매칭된다는 것을 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정하면, 미디어 가이던스 애플리케이션은, 단지 하나의 속성만이 매칭된 경우보다 더 큰 신뢰도를 가지고 두 개의 결과가 매칭된다는 것을 결정할 수도 있다.
프로세스(800)는 818로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제2 서브세트 내의 제2 결과를 제3 결과로 대체하는 것에 의해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 제2 서브세트를 수정한다. 예를 들면, 동시에 디스플레이될 두 개의 결과가 매칭된다는 것의 결정시(예를 들면, 그들은 제1 및 제2 서브세트 내에 있음), 미디어 가이던스 애플리케이션은, 유저가 선호하지 않는 소스의 결과를 다른 결과로 (예를 들면, 제어 회로부(604)(도 6)를 통해) 대체한다. 예를 들면, "The Big Bang Theory"가 제1 및 제2 소스 둘 모두(예를 들면, 소스(716)(도 7))로부터의 그리고 제1 및 제2 서브세트 내의 결과인 경우, 제2 서브세트 내의 결과는 다른 결과로 대체될 수도 있다. 도 1 및 도 2와 관련하여 상기에서 추가로 논의되는 바와 같이, 제2 결과를 대체하는 결과는 유저 선호도에 기초할 수도 있거나 또는 제2 소스로부터의 검색 결과에서의 각각의 결과의 순위에 기초할 수도 있다.
프로세스(800)는 820으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 행에서 제1 서브세트를 그리고 제2 행에서 수정된 제2 서브세트를, 디스플레이를 위해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 행에서 제1 서브세트 내의 각각의 결과의 식별자를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있다. 특정한 예로서, 식별자는 각각의 결과를 식별하는 텍스트 또는 그래픽일 수도 있다. 미디어 가이던스 애플리케이션은 식별자를, (예를 들면, 제어 회로부(604)(도 6)를 통해) 소스로부터 수신할 수도 있거나 또는 로컬 스토리지(예를 들면, 스토리지(608)(도 6))로부터 또는 (예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718)에 있는) 원격 서버로부터 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 마찬가지로, 제2 행에서 수정된 제2 서브세트(예를 들면, 제3 결과가 제2 결과를 대체되었음) 내의 각각의 결과의 식별자를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있다.
도 9는, 본 개시의 몇몇 실시형태에 따른, 유저 선호도에 기초하여, 유저가 제2 소스보다 제1 소스를 선호한다는 것을 결정하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(900)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(900) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(900)는 902에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은, 유저 선호도에 기초하여, 유저가 제2 소스보다 제1 소스를 선호한다는 것을 결정하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은 필요한 변수를 초기화할 수도 있고 프로세스(900)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(900)는 904로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 소스 및 제2 소스를 포함하는 소스의 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은 소스의 식별자 및 관련된 순위를 포함하는 목록 또는 다른 데이터 구조를 로컬 스토리지(예를 들면, 스토리지(608)(도 6))로부터 또는 원격 서버(예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718))로부터 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 몇몇 실시형태에서, 순위는 인덱스에 기초할 수도 있다(예를 들면, 어레이의 인덱스 0에 저장되는 값은 가장 높은 순위의 소스이다). 다른 실시형태에서, 순위는 식별자와 관련되는 별개의 필드에 저장될 수도 있다. 리트리빙된 목록 또는 다른 데이터 구조는 (예를 들면, 소스의 전체 인기도에 기초한) 소스의 디폴트 순위를 나타낼 수도 있다.
프로세스(900)는 906으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 유저와 관련되는 유저 프로파일에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 미디어 가이던스 애플리케이션은, 로컬 스토리지(예를 들면, 스토리지(6)(도 6)) 또는 원격 서버(예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718))에 저장되는 유저 프로파일에 (예를 들면, 제어 회로부(604)(도 608)를 통해) 액세스할 수도 있다. 미디어 가이던스 애플리케이션은, 유저의 식별자 및/또는 유저의 신원을 인증하고 유저 프로파일에 액세스하기 위한 패스코드를 포함하는 데이터 패킷을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 송신할 수도 있다.
프로세스(900)는 908로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 유저 프로파일로부터 유저 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저 프로파일의 특정 필드에 있는 데이터에 액세스하고 리트리빙하기 위해 SQL과 같은 데이터베이스 조회 언어를 활용하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 미디어 가이던스 애플리케이션은, (예를 들면, 유저가 좋아하는 소스, 예컨대 유저와 관련되는 즐겨찾기 채널 목록과 관련되는 것으로 결정되는) 특정한 필드, 유저 선호도의 랜덤 서브세트, 또는 유저 프로파일로부터의 모든 유저 선호도로부터 데이터를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다.
프로세스(900)는 910으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 검색되고 있는 소스에 유저 선호도가 관련되는지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 리트리빙된 유저 선호도를, 검색되고 있는 소스에 유저 선호도가 관련되는지의 여부를 결정하기 위한 규칙 세트와 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다. 예를 들면, 규칙 세트는, 미디어 자산이, 검색되고 있는 특정 소스로부터 (예를 들면, 유저 프로파일의 시청 이력에 저장된 바와 같이) 유저에 의해 최근에 시청된 경우, 유저 선호도가 그 특정한 소스에 관련된다는 규칙을 포함할 수도 있다. 다른 예로서, 유저 프로파일은 소스에 대한 명시적인 선호도(예를 들면, 그 또는 그녀는 "아마존을 좋아하지 않는다"는 것을 나타내는 유저 선호도)를 포함할 수도 있다. 다른 예로서, 유저 프로파일은, (예를 들면, 소셜 네트워킹 사이트를 통해) 유저에 의해 송신되는 메시지를 포함할 수도 있고, 소스의 식별자 또는 소스와 관련되는 식별자가 메시지의 일부인지를 결정하기 위해 메시지의 콘텐츠를 분석할 수도 있다.
910에서, 검색되고 있는 소스에 유저 선호도가 관련된다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(900)는 912로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 유저 선호도가 소스의 긍정적인 견해를 나타내는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 소스에 관련되는 유저 선호도가 소스의 일반적으로 긍정적 또는 부정적 견해를 반영하는지의 여부를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저가 지난 주에 소스 "HBO"로부터 많은 미디어 자산을 시청하였다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고, 유저의 시청 습관을 소스의 긍정적인 견해로 해석할 수도 있다. 다른 예로서, 미디어 가이던스 애플리케이션은, 유저가 AMAZON®으로부터의 미디어 자산의 시청을 중단하였고 한 달 넘게 AMAZON®으로부터의 미디어 자산을 시청하지 않았다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있는데, 이것은 소스의 부정적인 견해로 해석될 수도 있다. 미디어 가이던스 애플리케이션은, 유저 선호도와 관련되는 속성을, 소스의 일반적으로 긍정적인 또는 부정적인 견해를 나타내는 저장된 속성과 비교하는 것에 기초하여, 특정한 유저 선호도가 긍정적인지 또는 부정적인지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 단어 "증오" 및 "취소", 소스로부터 시간의 소정의 기간이 넘는 동안 미디어 자산을 시청하지 않는 것, 인구 통계학적 및/또는 정치적 소속이 소스로부터의 콘텐츠에 일반적으로 반대하는 것, 등등은, 소스의 일반적으로 바람직하지 않은 견해를 반영할 수도 있다.
912에서, 유저 선호도가 소스의 긍정적인 견해를 나타내지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(900)는 914로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 소스와 관련되는 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 감소시킨다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 견해가 얼마나 긍정적인지에 기초하여) 긍정적인 견해와 관련되는 가중치를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고, 상응하여 소스의 순위를 조정할 수도 있다. 예를 들면, (예를 들면, 상기에서 논의되는 바와 같이, 규칙 세트에 기초한) 소스에 대한 매우 선호하는 선호도는, 미디어 가이던스 애플리케이션이, 소스와 관련되는 순위를, 그것이 이전에 있었던 것보다 다수의 자리 더 위에 있도록, (예를 들면, 제어 회로부(604)(도 6)를 통해) 조정하는 것으로 나타날 수도 있다. 그 다음, 프로세스(900)는, 하기에서 논의되는 918로 계속된다.
912에서, 유저 선호도가 소스의 긍정적인 견해를 나타낸다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(900)는 916으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 소스와 관련되는 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 증가시킨다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 견해가 얼마나 부정적인지에 기초하여) 부정적인 견해와 관련되는 가중치를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고, 상응하여 소스의 순위를 조정할 수도 있다. 예를 들면, (예를 들면, 상기에서 논의되는 바와 같이, 규칙 세트에 기초한) 소스에 대한 경미하게 선호하지 않는 선호도는, 미디어 가이던스 애플리케이션이, 소스와 관련되는 순위를, 그것이 이전에 있었던 것보다 한 자리 더 낮도록, (예를 들면, 제어 회로부(604)(도 6)를 통해) 조정하는 것으로 나타날 수도 있다. 그 다음, 프로세스(900)는, 하기에서 논의되는 918로 계속된다.
910에서, 검색되고 있는 소스에 유저 선호도가 관련되지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(900)는 918로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 유저 프로파일에 리트리빙되지 않은 임의의 다른 선호도가 존재하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 모든 유저 선호도(또는 908과 관련하여 상기에서 논의되는 바와 같이, 모든 관련된 유저 선호도)를 반복적으로 리트리빙하기 위해 for 루프를 실행할 수도 있다. 미디어 가이던스 애플리케이션은, 여전히 실행 중인 for 루프에 기초하여, (예를 들면, 유저 선호도를 포함하는) 유저 프로파일의 몇몇 필드 내의 데이터가 리트리빙되지 않았다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 미디어 가이던스 애플리케이션은 또한, 리트리빙된 유저 선호도의 목록을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장할 수도 있고, 유저 프로파일 내의 유저 선호도와 비교하여 아직 리트리빙되지 않은 임의의 다른 선호도가 존재하는지를 결정할 수도 있다.
918에서, 유저 프로파일에 리트리빙되지 않은 다른 선호도가 존재한다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(900)는 908로 복귀하는데, 여기서 미디어 가이던스 애플리케이션은 유저 프로파일로부터 유저 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 검색된 선호도를 유저 프로파일 내의 선호도와 비교하는 것에 기초하여) 몇몇 유저 선호도가 유저 프로파일로부터 아직 리트리빙되지 않았다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 미디어 가이던스 애플리케이션은, 모든 것이 분석될 때까지 (예를 들면, 제어 회로부(604)(도 6)를 통해) 유저 선호도를 계속 리트리빙할 수도 있다. 이러한 방식으로, 미디어 가이던스 애플리케이션은, 특정한 소스가 다른 소스보다 더 높게 순위가 매겨져야 하는지의 여부를 결정할 때, 모든 유저 선호도가 고려되는 것을 보장할 수도 있다.
918에서, 유저 프로파일 내의 모든 유저 선호도가 리트리빙되었다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(900)는 920으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 순위로부터, 제1 소스가 제2 소스보다 더 높게 순위가 매겨져 있다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 목록 또는 다른 데이터 구조에서 (예를 들면, 관련된 필드 또는 인덱스에 기초하여) 가장 높게 순위가 매겨지는 소스의 식별자를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있고 그 소스의 검색된 식별자가 가장 높은 순위의 소스를 나타낸다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 이 소스가 다른 소스보다 더 높게 순위가 매겨진다는 것, 따라서, 유저가 제2 소스보다 이 소스에 대해 선호도를 갖는다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
도 10은, 본 개시의 몇몇 실시형태에 따른, 디스플레이할 결과의 서브세트를 결정하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(1000)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1000) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(1000)는 1002에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 디스플레이할 결과의 서브세트를 결정하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은, 필요한 변수를 초기화할 수도 있고 프로세스(1000)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1000)는 1004로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 결과가 유저 입력에 대한 연관성에 기초하여 순위가 매겨지는지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 결과가 유저 입력에 대한 연관성에 기초하여 순위가 매겨진다는 것을 (예를 들면, 콘텐츠 소스(716)(도 7)를 통해) 소스로부터의 검색 결과와 함께 수신되는 데이터가 나타내는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 소스로부터의 결과와 관련되는 데이터 패킷에서 수신되는 연관성에 의해 순위를 매기기 위한 부울 값(boolean value)이 "참"으로 설정되는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해)를 결정할 수도 있다.
1004에서, 결과가 유저 입력에 대한 연관성에 기초하여 순위가 매겨지지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스 1000은 1006으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, (예를 들면, 제어 회로부(604)(도 6)를 통해) 각각의 결과를 유저 입력에 비교하여 연관성 값을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 제어 회로부(604)(도 6)를 통해) 결과의 문자를 유저 입력과 비교하여, 매칭되는 양 및/또는 백분율을 결정할 수도 있고 매칭되는 양 및/또는 백분율에 따라 연관성 값을 할당할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 유저 입력과 결과 사이에서 연속하는 문자(예를 들면, 단어)가 매칭되는 위치를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 가중할 수도 있다. 예를 들면, 한 결과의 첫 번째 단어가 유저 입력과 매칭되고 제2 결과가 그 단어와 또한 매칭되지만 그러나 그것이 단어의 문자열에서 세 번째 단어인 경우, 첫 번째 결과는 더 큰 연관성 값을 할당받을 수도 있다.
프로세스(1000)는 1008로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, (예를 들면, 제어 회로부(604)(도 6)를 통해) 연관성 값에 기초하여 결과에 순위를 매긴다. 예를 들면, 미디어 가이던스 애플리케이션은, 병합 정렬(merge sort) 또는 버블 정렬(bubble sort)과 같은 정렬 알고리즘을 활용하는 것에 의해 연관성 값에 기초하여 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) (예를 들면, 최고 연관성에서부터 최저 연관성으로) 정렬할 수도 있다. 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 순위를 다른 순위와 결합할 수도 있고 (예를 들면, 하기에서 논의되는 바와 같이, 인기도 또는 유저 선호도에 기초하여) 각각의 순위를 가중하여, 집성 순위(aggregate ranking)를 생성할 수도 있는데, 집성 순위는, 그 다음, 서브세트에 대한 결과를 선택하기 위해 사용된다. 그 다음, 프로세스(1000)는 1010으로 계속된다.
1004에서, 결과가 유저 입력에 대한 연관성에 기초하여 순위가 매겨진다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1010으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 결과가 인기도에 기초하여 순위가 매겨지는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 결과가 인기도에 기초하여 순위가 매겨진다는 것을 (예를 들면, 콘텐츠 소스(716)(도 7)를 통해) 소스로부터의 검색 결과와 함께 수신되는 데이터가 나타내는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 소스로부터의 결과와 관련되는 데이터 패킷에서 수신되는 인기도에 의해 순위를 매기기 위한 부울 값이 "참"으로 설정되는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해)를 결정할 수도 있다.
1010에서, 결과가 인기도에 기초하여 순위가 매겨지지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1012로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 각각의 결과에 대한 인기도 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 각각의 결과의 식별자와 관련되는 인기도 값에 대한 요청을 데이터베이스로(예를 들면, 미디어 가이던스 데이터 소스(718)(도 7)로) (예를 들면, 제어 회로부(604)(도 6)를 통해) 송신할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은 데이터베이스로부터 인기도 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 인기도 값은, 결과와 관련되는 데이터를 얼마나 많은 유저가 보는지 또는 액세스하는지의 순위일 수도 있다(예를 들면, "The Big Bang Theory"는 1 등 순위의 쇼이고, ESPN.com은 3 번째로 가장 많이 방문된 웹페이지이고, 등등이다).
프로세스(1000)는 1014로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 검색된 인기도 값에 기초하여 결과에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 순위를 매긴다. 예를 들면, 미디어 가이던스 애플리케이션은, 병합 정렬 또는 버블 정렬과 같은 정렬 알고리즘을 활용하는 것에 의해 인기도 값에 기초하여 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) (예를 들면, 최고 인기도에서부터 최저 인기도로) 정렬할 수도 있다. 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 순위를 다른 순위와 결합할 수도 있고 (예를 들면, 하기에서 논의되는 바와 같이, 인기도 또는 유저 선호도에 기초하여) 각각의 순위를 가중하여, 집성 순위를 생성할 수도 있는데, 집성 순위는, 그 다음, 서브세트에 대한 결과를 선택하기 위해 사용된다. 그 다음 프로세스(1000)는 1016으로 계속될 수도 있다.
1010에서, 결과가 인기도에 기초하여 순위가 매겨진다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1016으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 결과가 유저 선호도에 기초하여 순위가 매겨지는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 결과가 유저 선호도에 기초하여 순위가 매겨진다는 것을 (예를 들면, 콘텐츠 소스(716)(도 7)를 통해) 소스로부터의 검색 결과와 함께 수신되는 데이터가 나타내는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 소스로부터의 결과와 관련되는 데이터 패킷에서 수신되는 유저 선호도에 의해 순위를 매기기 위한 부울 값이 "참"으로 설정되는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해)를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 검색시, 소스에 대한 유저 입력과 함께 유저 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 송신할 수도 있거나, 또는 (데이터 프라이버시 고려에 기인하여) 결과를 수신한 이후 유저 선호도에 기초하여 결과를 정렬할 수도 있다.
1016에서, 결과가 유저 선호도에 기초하여 순위가 매겨지지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1018로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 유저 프로파일로부터 유저 선호도를 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저 프로파일의 특정 필드에 있는 데이터를 액세스하고 검색하기 위해 SQL과 같은 데이터베이스 조회 언어를 활용하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 미디어 가이던스 애플리케이션은, (예를 들면, 검색 결과, 예컨대 유저와 관련되는 즐겨찾기 쇼와 관련되는 것으로 결정되는) 특정한 필드, 유저 선호도의 랜덤 서브세트, 또는 유저 프로파일로부터의 모든 유저 선호도로부터 데이터를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다.
프로세스(1000)는 1020으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 각각의 리트리빙된 유저 선호도를 각각의 결과에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교하여 선호도 값을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 리트리빙된 유저 선호도를, 유저 선호도가 검색 결과에 관련되는지의 여부를 결정하기 위한 규칙 세트와 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다. 예를 들면, 규칙 세트는, 검색 결과가 특정한 배우(예를 들면, Tom Hanks)와 관련되고 유저 선호도가 Tom Hanks가 출연하는 영화(예를 들면, "Forrest Gump(포레스트 검프)")에 관련되면, 특정한 값이 선호도 값으로서 할당될 것이다는 규칙을 포함할 수도 있다. 추가적인 유저 선호도가 동일한 검색 결과에 관련되는 경우, 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 선호도 값을 업데이트할 수도 있다.
프로세스(1000)는 1022로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, (예를 들면, 제어 회로부(604)(도 6)를 통해) 선호도 값에 기초하여 결과에 순위를 매긴다. 그 다음, 프로세스(1000)는 1024로 계속된다. 예를 들면, 미디어 가이던스 애플리케이션은, 병합 정렬 또는 버블 정렬과 같은 정렬 알고리즘을 활용하는 것에 의해 선호도 값에 기초하여 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) (예를 들면, 최고 인기도에서부터 최저 인기도로) 정렬할 수도 있다. 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 순위를 다른 순위와 결합할 수도 있고 (예를 들면, 하기에서 논의되는 바와 같이, 인기도 또는 유저 선호도에 기초하여) 각각의 순위를 가중하여, 집성 순위를 생성할 수도 있는데, 집성 순위는, 그 다음, 서브세트에 대한 결과를 선택하기 위해 사용된다.
1016에서, 결과가 유저 선호도에 기초하여 순위가 매겨진다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1024로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 소스로부터의 결과가 디스플레이될 행을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스로부터 결과를 생성할 특정한 위치(예를 들면, 행)를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 몇몇 실시형태에서, 행은, 제2 소스로부터의 결과가 제시되는 제2 행보다 스크린의 상부에 더 가까운 행에 위치될 수도 있다.
프로세스(1000)는 1026으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 결정된 행에 맞는 결과의 수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 도 1과 관련하여 상기에서 논의되는 바와 같이, 디스플레이 템플릿으로부터 값을 리트리빙하는 것에 기초하여 행에 맞는 결과의 수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 그 수는 일정할 수도 있거나(예를 들면, 각각의 행은 항상 3 개의 결과를 포함함) 또는 결과의 식별자의 길이에 기초하여 변할 수도 있다(예를 들면, 많은 수의 문자를 갖는 결과는 더 많은 공간을 차지하고 한 번에 더 적은 결과가 디스플레이될 수 있음).
프로세스(1000)는 1028로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 순위가 매겨진 결과로부터의 그 수의 결과를, 디스플레이할 결과의 서브세트로서 (예를 들면, 제어 회로부(604)(도 6)를 통해) 선택한다. 예를 들면, 미디어 가이던스 애플리케이션은, 그 다음, 도 1 및 도 2와 관련하여 추가로 설명되는 바와 같이, 소스로부터의 수신된 검색 결과로부터 디스플레이할 적절한 수의 결과(예를 들면, 서브세트)를 선택할 수도 있다.
도 11은, 본 개시의 몇몇 실시형태에 따른, 제1 소스로부터의 제1 결과 및 제2 소스로부터의 제2 결과가 매칭되는지의 여부를 결정하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(1100)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1100) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(1100)는 1102에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은, 제1 소스로부터의 제1 결과 및 제2 소스로부터의 제2 결과가 매칭되는지의 여부를 결정하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은 필요한 변수를 초기화할 수도 있고 프로세스(1100)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1100)는 1104로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 속성 및 제2 결과와 관련되는 대응하는 속성을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 스토리지(608)(도 6)에) 로컬하게 또는 서버에(예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718)에) 원격으로 저장되는 제1 및 제2 결과와 관련되는 메타데이터를 포함하는 테이블을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 예를 들면, 각각의 저장된 식별자와 관련되는 메타데이터를 포함하는 테이블은, 더 용이한 비교를 위해, 각각의 테이블의 제1 필드 내의 메타데이터가, 항상, 결과와 관련되는 타이틀이고, 각각의 테이블의 제2 필드 내의 메타데이터가, 항상, 감독(director)이고, 등등이도록, 구성될 수도 있다(예를 들면, 동일한 속성에 대한 메타데이터는, 각각의 저장된 값을 다른 식별자와 관련되는 모든 저장된 값에 비교할 필요 없이, 비교될 수 있음). 대안적으로 또는 추가적으로, 테이블은, 메타데이터를 갖는 각각의 필드가, 상이한 식별자와 관련되는 대응하는 메타데이터를 비교하기 위해 사용될 수 있는 "ACTOR"와 같은 라벨(label)과 관련되도록 구성될 수도 있다. 미디어 가이던스 애플리케이션은, 제1 결과(예를 들면, 타이틀)와 관련되는 제1 필드로부터 메타데이터를 그리고 제2 결과(예를 들면, 또한 타이틀)와 관련되는 제2 필드로부터 메타데이터를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다.
프로세스(1100)는 1106으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 속성 및 제2 결과와 관련되는 대응하는 속성을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 리트리빙된 문자열(예를 들면, 타이틀)의 각각의 문자를, 제2 결과와 관련되는 리트리빙된 문자열(예를 들면, 다른 타이틀)의 문자와 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 두 개의 결과의 메타데이터(예를 들면, 속성)의 문자를 반복적으로 비교하여 두 개의 결과가 매칭되는지의 여부를 결정하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 결과와 관련되는 문자열 "Matt Damon(맷 데이먼)"을, 제2 결과와 관련되는 문자열 "Matt Dillon(맷 딜런)"과 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다.
프로세스(1100)는 1108로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 속성이 매칭되는지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 모든 문자가 매칭되는 경우 두 속성이 매칭되는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 두 개의 속성의 모든 문자의 임계 양 또는 백분율이 매칭되는 경우, 두 개의 속성이 매칭되는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 철자 오류 또는 다른 인쇄 상의 실수에서 기인하는 몇몇 경우에, 제1 결과와 관련되는 메타데이터와 제2 결과와 관련되는 메타데이터 사이에서 단일의 문자가 상이할 수도 있고(예를 들면, "Tom Hanks" 및 "Tom Hankz") 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 여전히 매칭을 결정할 수도 있다.
1108에서, 속성이 매칭되지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1100)는 1110으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 제2 값을 증가시킨다. 예를 들면, 미디어 가이던스 애플리케이션은 정수를 저장하는 변수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 초기화할 수도 있고, 대응하는 두 속성 사이에서 매칭이 결정되지 않을 때마다 값을 증가시킬 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 "Tom Hanks"가 제2 결과와 관련되는 "Chris Evans"와 매칭되지 않는다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 따라서 변수를 1만큼 증가시킬 수도 있다. 1108에서, 속성이 매칭된다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1100)는 1112으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 제1 값을 증가시킨다. 예를 들면, 미디어 가이던스 애플리케이션은 정수를 저장하는 변수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 초기화할 수도 있고, 대응하는 두 속성 사이에서 매칭이 결정될 때마다 값을 증가시킬 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 "Tom Hanks"가 제2 결과와 관련되는 "Tom Hankz"와 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 따라서 변수를 1만큼 증가시킬 수도 있다.
프로세스(1100)는 1114로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 비교할 임의의 다른 속성이 존재하는지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 모든 속성을 반복적으로 리트리빙하고 제2 결과와 관련되는 대응하는 속성(예를 들면, 이것도 또한 리트리빙됨)에 비교하기 위해 for 루프를 실행할 수도 있다. 미디어 가이던스 애플리케이션은, 여전히 실행 중인 for 루프에 기초하여, 한 결과와 관련되는 메타데이터를 저장하는 테이블의 몇몇 필드 내의 데이터가 리트리빙되지 않았다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 미디어 가이던스 애플리케이션은 또한, 리트리빙된 속성의 목록 또는 속성의 식별자를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장할 수도 있고 결과와 관련되는 저장된 속성과 비교하여, 아직 검색되지 않은 임의의 다른 속성이 존재하는지를 결정할 수도 있다.
1114에서, 비교할 다른 속성이 존재한다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1100)는 1104로 복귀하는데, 여기서 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 속성 및 제2 결과와 관련되는 대응하는 속성을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 및 제2 결과와 관련되는 속성을 갖는 데이터 구조 또는 데이터 구조들로부터 몇몇 속성이 아직 리트리빙되지 않았다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고, 미디어 가이던스 애플리케이션은, 모든 것이 비교될 때까지, (예를 들면, 제어 회로부(604)(도 6)를 통해) 속성을 계속 리트리빙할 수도 있다.
1114에서, 비교할 임의의 다른 속성이 존재하지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1100)는 1116으로 진행하는데, 여기서 미디어 가이던스 애플리케이션은, 제1 값 및 제2 값에 기초하여 매칭되는 속성의 백분율을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 제1 값을 제2 값에 추가하는 것에 의해 또는 속성을 저장하는 데이터 구조로부터 총 수를 리트리빙하는 것에 의해) 속성의 총 수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 총 수를 제1 값으로 나누는 것에 의해, 매칭되는 속성의 백분율을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산할 수도 있다. 특정한 예로서, 10 개의 매칭이 존재하고(예를 들면, 제1 값이 10임) 5 개의 비매칭(non-match)이 존재하면(예를 들면, 제2 값이 5임), 미디어 가이던스 애플리케이션은 총 수를 15로서 그리고 백분율을 10/15, 또는 67 %로서 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산할 수도 있다.
프로세스(1100)는 1118로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 백분율을 임계 매칭 백분율(threshold match percentage)에 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은 임계 매칭 백분율에 대한 저장된 값을 (예를 들면, 스토리지(608)(도 6)로부터) (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 두 개의 결과 사이에서 매칭되는 속성의 계산된 백분율을 리트리빙된 임계치에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다.
프로세스(1100)는 1120으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 백분율이 임계 매칭 백분율보다 더 큰지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 속성의 백분율에 대한 값이 67 %이고 매칭을 결정하기 위한 임계치에 대한 값이 50 %인 경우, 두 개의 결과가 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 백분율이 공차 계수(tolerance factor) 내에 있는 경우(예를 들면, 매칭되는 속성의 백분율이 매칭을 결정하기 위한 임계치보다 단지 2 % 미만인 경우), (예를 들면, 제어 회로부(604)(도 6)를 통해) 매칭을 여전히 결정할 수도 있다. 몇몇 실시형태에서, 공차 계수는 비교된 속성의 수에 기초할 수도 있다.
1120에서, 백분율이 임계 매칭 백분율보다 더 크다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1100)는 1122로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 결과가 제2 결과와 매칭되지 않는다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 계산된 백분율에 대한 값이 임계 값보다 더 크기 때문에, 두 개의 결과가 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 도 1과 도 2 및 도 8과 관련하여 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 두 개의 동일한 결과의 두 개의 소스에 대한 유저의 선호도가 무엇인지에 기초하여, 디스플레이될 서브세트로부터 두 개의 결과 중 하나를 제거할 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 1120에서, 백분율이 임계 매칭 백분율보다 더 크지 않다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1100)는 1124로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 결과가 제2 결과와 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 계산된 백분율에 대한 값이 임계 값보다 더 작기 때문에, 두 개의 결과가 매칭되지 않는다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
도 12는, 본 개시의 몇몇 실시형태에 따른, 복수의 소스로부터의 검색 결과를 제시하기 위한 예시적인 단계의 다른 플로우차트이다. 예를 들면, 프로세스(1200)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1200) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다.
프로세스(1200)는 1202에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, 유저 입력 인터페이스(예를 들면, 유저 입력 인터페이스(610)(도 6))를 통한 유저 입력을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 유저 입력을 제1 소스 및 제2 소스로(예를 들면, 통신 네트워크(714)(도 7)를 통해 콘텐츠 소스(716)로) 송신할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저 입력(예를 들면, 문자열) 및/또는 검색을 위한 다른 파라미터를 포함하는 데이터 패킷을 생성할 수도 있다(예를 들면, 결과는 소정의 시간 기간 사이에 있어야 한다). 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 (예를 들면, 유저 입력에 기초하여) 검색 조회를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 송신하기 위해 소스 중 하나 또는 둘 모두로부터의 API를 활용할 수도 있다.
프로세스(1200)는 1204로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 소스로부터 적어도 제1 검색 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 소스로부터의(예를 들면, 콘텐츠 소스(716)(도 7)로부터의) 유저 입력과 매칭되는 하나 이상의 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 소스로부터의 결과(들)는 테이블에서 미디어 가이던스 애플리케이션에 의해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신될 수도 있는데, 테이블은 복수의 행을 포함하고, 각각의 행은 매칭되는 결과의 식별자(예를 들면, 미디어 자산의 타이틀) 및 관련 필드의 추가 정보(예를 들면, 미디어 자산에서의 배우)를 갖는다.
프로세스(1200)는 1206으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제2 소스로부터 적어도 제2 검색 결과 및 제3 검색 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제2 소스로부터의(예를 들면, 콘텐츠 소스(716)(도 7)로부터의) 유저 입력과 매칭되는 복수의 결과를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 제2 소스로부터의 결과는 테이블에서 미디어 가이던스 애플리케이션에 의해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신될 수도 있는데, 테이블은 복수의 행을 포함하고, 각각의 행은 매칭되는 결과의 식별자(예를 들면, 미디어 자산의 타이틀) 및 관련 필드의 추가 정보(예를 들면, 미디어 자산에서의 배우)를 갖는다.
프로세스(1200)는 1208로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제2 소스보다 제1 소스에 대한 선호도를 나타내는 유저 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 스토리지(608)(도 6)에) 로컬하게 또는 서버에(예를 들면, 통신 네트워크(714)(도 7)를 통해 액세스 가능한 미디어 가이던스 데이터 소스(718)에) 원격으로 저장되는 유저 프로파일을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 미디어 가이던스 애플리케이션은, 도 9와 관련하여 하기에서 추가로 설명되는 바와 같이, 유저 프로파일로부터 검색 선호도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스의 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 유저가 그의 또는 그녀의 선호도를 반영하기 위해 소스(예를 들면, HULU®, AMAZON®, 등등)를 특정한 순서로 드래그 앤 드랍할 수 있는 그래픽 유저 인터페이스를 (예를 들면, 디스플레이(612)(도 6) 상에서) 생성할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 각각의 소스의 순위 및 식별자를 (예를 들면, 어레이에) 저장할 수도 있다. 미디어 가이던스 애플리케이션은 유저에 의해 설정되는 소스의 저장된 순위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리빙할 수도 있고 제1 및 제2 소스의 각각의 순위를 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 문자열 "hulu"에 의해 식별되는 HULU®가 "5"의 순위와 관련된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. AMAZON®에 대한 순위가 "3"이면, 미디어 가이던스 애플리케이션은, 유저가 HULU®보다 AMAZON®을 선호한다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
프로세스(1200)는 1210으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 유저 선호도에 기초하여, 복수의 행을 포함하는 그리드의 제1 행에서 제1 소스로부터의 제1 검색 결과를 디스플레이를 위해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성하는데, 각각의 행은 하나 이상의 검색 결과를 포함한다. 예를 들면, 미디어 가이던스 애플리케이션은 제1 소스로부터 결과를 생성할 특정한 위치(예를 들면, 행)를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 행에서 제1 결과와 관련되는 표시자(indicator)(예를 들면, 텍스트 및/또는 그래픽)를 (예를 들면, 디스플레이(612)(도 6) 상에서의) 디스플레이를 위해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있다. 몇몇 실시형태에서, 행은, 제2 소스로부터의 결과가 제시되는 제2 행보다 스크린(예를 들면, 디스플레이(612)(도 6))의 상부에 더 가까운 행에 위치될 수도 있다.
프로세스(1200)는 1212로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 검색 결과가 제2 검색 결과와 매칭되고 제1 검색 결과가 제3 검색 결과와 매칭되지 않는다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 결과와 관련되는 특정한 속성의 각각의 문자가 제2 결과와 관련되는 대응하는 속성의 각각의 문자와 매칭되면, 두 개의 결과가 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 두 개의 결과가 배우 "Matt Damon"을 가리키는 메타데이터를 포함하는 경우, 미디어 가이던스 애플리케이션은 메타데이터가 매칭되고 따라서 두 개의 결과가 매칭된다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
프로세스(1200)는 1214로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 그리드의 제2 행에서 제3 검색 결과를 디스플레이를 위해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성하되, 제2 검색 결과는 제2 행에서 디스플레이되지 않는다. 예를 들면, 동시에 디스플레이될 두 개의 결과가 매칭된다는 것의 결정시(예를 들면, 그들은 제1 및 제2 서브세트 내에 있음), 미디어 가이던스 애플리케이션은, 유저가 선호하지 않는 소스의 결과를 다른 결과로 (예를 들면, 제어 회로부(604)(도 6)를 통해) 대체한다. 예를 들면, "The Big Bang Theory"가 제1 및 제2 소스 둘 모두(예를 들면, 소스(716)(도 7))로부터의 그리고 제1 및 제2 서브세트 내의 결과인 경우, 제2 서브세트 내의 제2 결과는 다른 결과(예를 들면, 제3 결과)로 대체될 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, (예를 들면, 제2 소스로부터의 결과를 갖는) 제2 행에서 제2 결과 대신 제3 결과를 (예를 들면, 디스플레이(612)(도 6) 상에서의) 디스플레이를 위해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있다.
도 8 내지 도 12의 각각의 단계 또는 설명은 본 개시의 임의의 다른 실시형태와 함께 사용될 수도 있다는 것이 고려된다. 또한, 도 8 내지 도 12와 관련하여 설명되는 단계 및 설명은, 본 개시의 목적을 진전시키기 위해 대안적인 순서로 또는 병렬로 행해질 수도 있다. 예를 들면, 이들 단계의 각각은, 시스템 또는 방법의 지연을 감소시키거나 또는 속도를 증가시키기 위해 임의의 순서로 또는 병렬로 또는 실질적으로 동시에 수행될 수도 있다. 또한, 도 6 및 도 7과 관련하여 논의되는 디바이스 또는 기기 중 임의의 것은 도 8 내지 도 12의 단계 중 하나 이상을 수행하기 위해 사용될 수 있을 것이다는 것을 유의해야 한다.
본 개시의 몇몇 부분이 "관습(convention)"을 언급할 수도 있지만, 임의의 그러한 언급은, 단지, 본 개시의 발명(들)에 대한 맥락을 제공하는 목적을 위한 것이며, 최신 기술을 구성하는 것에 대한 어떠한 승인(admission)도 형성하는 것은 아니다.
상기에서 논의되는 프로세스는, 제한하는 것이 아니라 예시적인 것으로 의도된다. 기술 분야에서 숙련된 자는, 본원에서 논의되는 프로세스의 단계가 생략, 수정, 결합, 및/또는 재배열될 수도 있고, 임의의 추가적인 단계가 본 발명의 범위를 벗어나지 않으면서 수행될 수도 있다는 것을 인식할 것이다. 더 일반적으로는, 상기의 개시는 제한하는 것이 아니라 예시적인 것으로 의도된다. 후속하는 청구범위만이 본 발명이 포함하는 바에 관한 한계를 설정하도록 의도된다. 또한, 임의의 하나의 실시형태에서 설명되는 피쳐 및 제한은, 본원의 임의의 다른 실시형태에 적용될 수도 있다는 것, 및 하나의 실시형태에 관련이 있는 플로우차트 또는 예는 적절한 방식으로 임의의 다른 실시형태와 결합될 수도 있거나, 상이한 순서로 행해질 수도 있거나, 또는 병렬로 행해질 수도 있다는 것을 유의해야 한다. 또한, 본원에서 설명되는 시스템 및 방법은 실시간으로 수행될 수도 있다. 상기에서 설명되는 시스템 및/또는 방법은, 다른 시스템 및/또는 방법에 적용될 수도 있다는 것, 또는 다른 시스템 및/또는 방법에 따라 사용될 수도 있다는 것을 또한 유의해야 한다.

Claims (51)

  1. 복수의 소스로부터의 검색 결과(search result)를 제시하기 위한 방법에 있어서,
    유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색하는 단계;
    제1 소스로부터 적어도 제1 검색 결과를 수신하는 단계;
    제2 소스로부터 적어도 제2 검색 결과 및 제3 검색 결과를 수신하는 단계;
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙하는(retrieving) 단계; 및
    디스플레이를 위해, 복수의 행―각각의 행은 하나 이상의 검색 결과를 포함함―을 포함하는 그리드를:
    디스플레이를 위해, 상기 유저 선호도에 기초하여, 제1 행에서 상기 제1 소스로부터 상기 제1 검색 결과를 생성하는 단계;
    상기 제1 검색 결과가 상기 제2 검색 결과와 매칭되고 상기 제1 검색 결과가 상기 제3 검색 결과와 매칭되지 않는다는 것을 결정하는 단계; 및
    상기 결정에 기초하여, 제2 행―상기 제2 검색 결과는 상기 제2 행에서 디스플레이되지 않음―에서 상기 제3 검색 결과를 디스플레이를 위해 생성하는 단계
    에 의해 생성하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  2. 복수의 소스로부터의 검색 결과를 제시하기 위한 방법에 있어서,
    유저 입력을 수신하는 단계;
    상기 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색하는 단계;
    상기 제1 소스로부터 제1 검색 결과를 그리고 상기 제2 소스로부터 제2 검색 결과를 수신하는 단계;
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙하는(retrieving) 단계; 및
    디스플레이를 위해, 검색 결과를 갖는 복수의 행을 포함하는 그리드를:
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 상기 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정하는 단계;
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트―상기 제1 서브세트는 상기 제1 검색 결과의 제1 결과를 포함하고, 상기 제2 서브세트는 상기 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함함―를 결정하는 단계;
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하는 단계;
    상기 비교에 기초하여, 상기 제1 결과가 상기 제2 결과와 매칭된다는 것을 결정하는 단계;
    상기 제1 결과가 상기 제2 결과와 매칭된다는 결정에 응답하여, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 단계; 및
    디스플레이를 위해, 상기 제1 행에서 상기 제1 서브세트를 그리고 상기 제2 행에서 상기 수정된 제2 서브세트를 생성하는 단계
    에 의해 생성하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  3. 제1항에 있어서,
    상기 유저 입력은 제1 유저 입력이고, 상기 선호도는 제1 선호도이며,
    상기 제1 소스보다 상기 제2 소스에 대한 제2 선호도를 나타내는 제2 유저 입력을 수신하는 단계; 및
    상기 제2 유저 입력을 수신하는 단계에 응답하여:
    상기 수정된 제2 서브세트 내의 상기 제3 결과를 상기 제2 결과로 대체하는 것에 의해 상기 제2 검색 결과의 제3 서브세트를 생성하는 단계;
    상기 제1 서브세트 내의 상기 제1 결과를 상기 제1 검색 결과의 제4 결과―상기 제4 결과는 상기 제1 서브세트 내에 없음―로 대체하는 것에 의해 상기 제1 검색 결과의 제4 서브세트를 생성하는 단계; 및
    디스플레이를 위해, 상기 제1 서브세트 대신 상기 제1 행에서 상기 제3 서브세트를 그리고 상기 수정된 제2 서브세트 대신 상기 제2 행에서 상기 제4 서브세트를 생성하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  4. 제1항에 있어서,
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정하는 단계는:
    상기 그리드에 대한 디스플레이 템플릿을 리트리빙하는 단계;
    상기 제1 행과 관련되는 상기 디스플레이 템플릿의 제1 필드로부터, 상기 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙하는 단계;
    상기 제2 행과 관련되는 상기 디스플레이 템플릿의 제2 필드로부터, 상기 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙하는 단계;
    상기 제1 검색 결과로부터 상기 제1 개수의 결과를 상기 제1 서브세트로서 선택하는 단계; 및
    상기 제2 검색 결과로부터 상기 제2 개수의 결과를 상기 제2 서브세트로서 선택하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  5. 제1항에 있어서,
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정하는 단계는:
    상기 유저 입력에 대한 각각의 결과의 연관성에 기초하여 상기 제1 검색 결과 내의 각각의 결과 및 상기 제2 검색 결과 내의 각각의 결과에 순위를 매기는 단계;
    상기 제1 서브세트 내의 상기 제1 결과로서 상기 제1 검색 결과에서 최고 순위의 결과를 리트리빙하는 단계; 및
    상기 제2 서브세트 내의 상기 제2 결과로서 상기 제2 검색 결과에서 최고 순위의 결과를 리트리빙하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  6. 제1항에 있어서,
    상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 단계는:
    상기 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 상기 제3 결과로서 리트리빙하는 단계;
    상기 제2 서브세트로부터 상기 제2 결과를 제거하는 단계; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  7. 제1항에 있어서,
    상기 유저 선호도는 제1 유저 선호도이고, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 단계는:
    검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙하는 단계;
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하는 단계; 및
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하는 단계에 응답하여:
    상기 제2 서브세트로부터 상기 제2 결과를 제거하는 단계; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  8. 제1항에 있어서,
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하는 단계는:
    상기 제1 결과의 제1 식별자 및 상기 제2 결과의 제2 식별자를, 데이터베이스에 저장되어 있는 복수의 식별자와 비교하는 단계;
    제1 저장된 식별자가 상기 제1 식별자와 매칭되고 제2 저장된 식별자가 상기 제2 식별자와 매칭된다는 것을 결정하는 단계;
    상기 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 그리고 상기 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙하는 단계; 및
    상기 제1 결과와 관련되는 제1 메타데이터의 제1 문자를, 상기 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  9. 제1항에 있어서,
    디스플레이를 위해 상기 그리드를 생성하는 단계는,
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 단계;
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 상기 제1 검색 결과와 상기 제2 검색 결과 사이의 중복되는 결과의 수를 결정하는 단계; 및
    디스플레이를 위해, 상기 제2 행에서 중복되는 결과의 수의 표시를 생성하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  10. 제1항에 있어서,
    상기 제1 결과의 유저 선택을 수신하는 단계; 및
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 제1 결과가 또한 상기 제2 소스로부터 이용 가능하다는 표시를 생성하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  11. 제1항에 있어서,
    상기 제1 결과는 미디어 자산을 식별하고,
    상기 제1 결과의 유저 선택을 수신하는 단계;
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 미디어 자산과 관련되는 복수의 선택 가능한 옵션을 생성하는 단계를 더 포함하며, 상기 복수의 선택 가능한 옵션은:
    상기 미디어 자산을 감시 목록(watch list)에 추가하기 위한 옵션;
    상기 미디어 자산을 즐겨찾기 목록(favorites list)에 추가하기 위한 옵션;
    상기 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션; 및
    상기 미디어 자산을 기록하기 위한 옵션
    중 적어도 하나를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  12. 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템에 있어서,
    유저 입력 회로부; 및
    제어 회로부를 포함하며, 상기 제어 회로부는:
    상기 유저 입력 회로부를 통해, 유저 입력을 수신하도록;
    상기 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색하도록;
    상기 제1 소스로부터 제1 검색 결과를 그리고 상기 제2 소스로부터 제2 검색 결과를 수신하도록;
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙하도록; 그리고
    디스플레이를 위해, 검색 결과를 갖는 복수의 행을 포함하는 그리드를:
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 상기 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정하는 것;
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트―상기 제1 서브세트는 상기 제1 검색 결과의 제1 결과를 포함하고, 상기 제2 서브세트는 상기 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함함―를 결정하는 것;
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하는 것;
    상기 비교에 기초하여, 상기 제1 결과가 상기 제2 결과와 매칭된다는 것을 결정하는 것;
    상기 제1 결과가 상기 제2 결과와 매칭된다는 결정에 응답하여, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 것; 및
    디스플레이를 위해, 상기 제1 행에서 상기 제1 서브세트를 그리고 상기 제2 행에서 상기 수정된 제2 서브세트를 생성하는 것
    에 의해 생성하도록
    구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  13. 제12항에 있어서,
    상기 유저 입력은 제1 유저 입력이고, 상기 선호도는 제1 선호도이며, 상기 제어 회로부는 또한:
    상기 제1 소스보다 상기 제2 소스에 대한 제2 선호도를 나타내는 제2 유저 입력을 수신하도록; 그리고
    상기 제2 유저 입력을 수신하는 것에 응답하여:
    상기 수정된 제2 서브세트 내의 상기 제3 결과를 상기 제2 결과로 대체하는 것에 의해 상기 제2 검색 결과의 제3 서브세트를 생성하도록;
    상기 제1 서브세트 내의 상기 제1 결과를 상기 제1 검색 결과의 제4 결과―상기 제4 결과는 상기 제1 서브세트 내에 없음―로 대체하는 것에 의해 상기 제1 검색 결과의 제4 서브세트를 생성하도록; 그리고
    디스플레이를 위해, 상기 제1 서브세트 대신 상기 제1 행에서 상기 제3 서브세트를 그리고 상기 수정된 제2 서브세트 대신 상기 제2 행에서 상기 제4 서브세트를 생성하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  14. 제12항에 있어서,
    상기 제어 회로부는 또한, 상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정할 때:
    상기 그리드에 대한 디스플레이 템플릿을 리트리빙하도록;
    상기 제1 행과 관련되는 상기 디스플레이 템플릿의 제1 필드로부터, 상기 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙하도록;
    상기 제2 행과 관련되는 상기 디스플레이 템플릿의 제2 필드로부터, 상기 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙하도록;
    상기 제1 검색 결과로부터 상기 제1 개수의 결과를 상기 제1 서브세트로서 선택하도록; 그리고
    상기 제2 검색 결과로부터 상기 제2 개수의 결과를 상기 제2 서브세트로서 선택하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  15. 제12항에 있어서,
    상기 제어 회로부는 또한, 상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정할 때:
    상기 유저 입력에 대한 각각의 결과의 연관성에 기초하여 상기 제1 검색 결과 내의 각각의 결과 및 상기 제2 검색 결과 내의 각각의 결과에 순위를 매기도록;
    상기 제1 서브세트 내의 상기 제1 결과로서 상기 제1 검색 결과에서 최고 순위의 결과를 리트리빙하도록; 그리고
    상기 제2 서브세트 내의 상기 제2 결과로서 상기 제2 검색 결과에서 최고 순위의 결과를 리트리빙하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  16. 제12항에 있어서,
    상기 제어 회로부는 또한, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정할 때:
    상기 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 상기 제3 결과로서 리트리빙하도록;
    상기 제2 서브세트로부터 상기 제2 결과를 제거하도록; 그리고
    상기 제3 결과를 상기 제2 서브세트에 추가하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  17. 제12항에 있어서,
    상기 유저 선호도는 제1 유저 선호도이고, 상기 제어 회로부는 또한, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정할 때:
    검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙하도록;
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하도록; 그리고
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 결정에 응답하여:
    상기 제2 서브세트로부터 상기 제2 결과를 제거하도록; 그리고
    상기 제3 결과를 상기 제2 서브세트에 추가하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  18. 제12항에 있어서,
    상기 제어 회로부는 또한, 상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교할 때:
    상기 제1 결과의 제1 식별자 및 상기 제2 결과의 제2 식별자를, 데이터베이스에 저장되어 있는 복수의 식별자와 비교하도록;
    제1 저장된 식별자가 상기 제1 식별자와 매칭되고 제2 저장된 식별자가 상기 제2 식별자와 매칭된다는 것을 결정하도록;
    상기 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 그리+고 상기 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙하도록; 그리고
    상기 제1 결과와 관련되는 제1 메타데이터의 제1 문자를, 상기 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  19. 제12항에 있어서,
    상기 제어 회로부는 또한, 디스플레이를 위해, 상기 그리드를 생성할 때:
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하도록;
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 상기 제1 검색 결과와 상기 제2 검색 결과 사이의 중복되는 결과의 수를 결정하도록; 그리고
    디스플레이를 위해, 상기 제2 행에서 중복되는 결과의 수의 표시를 생성하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  20. 제12항에 있어서,
    상기 제어 회로부는 또한:
    상기 제1 결과의 유저 선택을 수신하도록; 그리고
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 제1 결과가 또한 상기 제2 소스로부터 이용 가능하다는 표시를 생성하도록 구성되는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  21. 제12항에 있어서,
    상기 제1 결과는 미디어 자산을 식별하고, 상기 제어 회로부는 또한:
    상기 제1 결과의 유저 선택을 수신하도록;
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 미디어 자산과 관련되는 복수의 선택 가능한 옵션을 생성하도록 구성되며, 상기 복수의 선택 가능한 옵션은:
    상기 미디어 자산을 감시 목록에 추가하기 위한 옵션;
    상기 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션;
    상기 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션; 및
    상기 미디어 자산을 기록하기 위한 옵션
    중 적어도 하나를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  22. 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템에 있어서,
    유저 입력을 수신하기 위한 수단;
    상기 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색하기 위한 수단;
    상기 제1 소스로부터 제1 검색 결과를 그리고 상기 제2 소스로부터 제2 검색 결과를 수신하기 위한 수단;
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙하기 위한 수단; 및
    디스플레이를 위해, 검색 결과를 갖는 복수의 행을 포함하는 그리드를:
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 상기 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정하는 것;
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트―상기 제1 서브세트는 상기 제1 검색 결과의 제1 결과를 포함하고, 상기 제2 서브세트는 상기 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함함―를 결정하는 것;
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하는 것;
    상기 비교에 기초하여, 상기 제1 결과가 상기 제2 결과와 매칭된다는 것을 결정하는 것;
    상기 제1 결과가 상기 제2 결과와 매칭된다는 결정에 응답하여, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 것; 및
    디스플레이를 위해, 상기 제1 행에서 상기 제1 서브세트를 그리고 상기 제2 행에서 상기 수정된 제2 서브세트를 생성하는 것
    에 의해 생성하기 위한 수단을 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  23. 제22항에 있어서,
    상기 유저 입력은 제1 유저 입력이고, 상기 선호도는 제1 선호도이며,
    상기 제1 소스보다 상기 제2 소스에 대한 제2 선호도를 나타내는 제2 유저 입력을 수신하기 위한 수단; 및
    상기 제2 유저 입력을 수신하는 것에 응답하여:
    상기 수정된 제2 서브세트 내의 상기 제3 결과를 상기 제2 결과로 대체하는 것에 의해 상기 제2 검색 결과의 제3 서브세트를 생성하기 위한 수단;
    상기 제1 서브세트 내의 상기 제1 결과를 상기 제1 검색 결과의 제4 결과―상기 제4 결과는 상기 제1 서브세트 내에 없음―로 대체하는 것에 의해 상기 제1 검색 결과의 제4 서브세트를 생성하기 위한 수단; 및
    디스플레이를 위해, 상기 제1 서브세트 대신 상기 제1 행에서 상기 제3 서브세트를 그리고 상기 수정된 제2 서브세트 대신 상기 제2 행에서 상기 제4 서브세트를 생성하기 위한 수단을 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  24. 제22항에 있어서,
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정하기 위한 수단은:
    상기 그리드에 대한 디스플레이 템플릿을 리트리빙하기 위한 수단;
    상기 제1 행과 관련되는 상기 디스플레이 템플릿의 제1 필드로부터, 상기 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙하기 위한 수단;
    상기 제2 행과 관련되는 상기 디스플레이 템플릿의 제2 필드로부터, 상기 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙하기 위한 수단;
    상기 제1 검색 결과로부터 상기 제1 개수의 결과를 상기 제1 서브세트로서 선택하기 위한 수단; 및
    상기 제2 검색 결과로부터 상기 제2 개수의 결과를 상기 제2 서브세트로서 선택하기 위한 수단을 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  25. 제22항에 있어서,
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정하기 위한 수단은:
    상기 유저 입력에 대한 각각의 결과의 연관성에 기초하여 상기 제1 검색 결과 내의 각각의 결과 및 상기 제2 검색 결과 내의 각각의 결과에 순위를 매기기 위한 수단;
    상기 제1 서브세트 내의 상기 제1 결과로서 상기 제1 검색 결과에서 최고 순위의 결과를 리트리빙하기 위한 수단; 및
    상기 제2 서브세트 내의 상기 제2 결과로서 상기 제2 검색 결과에서 최고 순위의 결과를 리트리빙하기 위한 수단을 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  26. 제22항에 있어서,
    상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하기 위한 수단은:
    상기 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 상기 제3 결과로서 리트리빙하기 위한 수단;
    상기 제2 서브세트로부터 상기 제2 결과를 제거하기 위한 수단; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하기 위한 수단을 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  27. 제22항에 있어서,
    상기 유저 선호도는 제1 유저 선호도이고, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하기 위한 수단은:
    검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙하기 위한 수단;
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하기 위한 수단; 및
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 결정에 응답하여:
    상기 제2 서브세트로부터 상기 제2 결과를 제거하기 위한 수단; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하기 위한 수단을 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  28. 제22항에 있어서,
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하기 위한 수단은:
    상기 제1 결과의 제1 식별자 및 상기 제2 결과의 제2 식별자를, 데이터베이스에 저장되어 있는 복수의 식별자와 비교하기 위한 수단;
    제1 저장된 식별자가 상기 제1 식별자와 매칭되고 제2 저장된 식별자가 상기 제2 식별자와 매칭된다는 것을 결정하기 위한 수단;
    상기 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 그리고 상기 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙하기 위한 수단; 및
    상기 제1 결과와 관련되는 제1 메타데이터의 제1 문자를, 상기 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교하기 위한 수단을 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  29. 제22항에 있어서,
    디스플레이를 위해 상기 그리드를 생성하기 위한 수단은,
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하기 위한 수단;
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 상기 제1 검색 결과와 상기 제2 검색 결과 사이의 중복되는 결과의 수를 결정하기 위한 수단; 및
    디스플레이를 위해, 상기 제2 행에서 중복되는 결과의 수의 표시를 생성하기 위한 수단을 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  30. 제22항에 있어서,
    상기 제1 결과의 유저 선택을 수신하기 위한 수단; 및
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 제1 결과가 또한 상기 제2 소스로부터 이용 가능하다는 표시를 생성하기 위한 수단을 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  31. 제22항에 있어서,
    상기 제1 결과는 미디어 자산을 식별하며, 상기 시스템은:
    상기 제1 결과의 유저 선택을 수신하기 위한 수단; 및
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 미디어 자산과 관련되는 복수의 선택 가능한 옵션을 생성하기 위한 수단을 더 포함하며, 상기 복수의 선택 가능한 옵션은:
    상기 미디어 자산을 감시 목록에 추가하기 위한 옵션;
    상기 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션;
    상기 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션; 및
    상기 미디어 자산을 기록하기 위한 옵션
    중 적어도 하나를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 시스템.
  32. 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체에 있어서, 상기 명령어는:
    유저 입력을 수신하기 위한 명령어;
    상기 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색하기 위한 명령어;
    상기 제1 소스로부터 제1 검색 결과를 그리고 상기 제2 소스로부터 제2 검색 결과를 수신하기 위한 명령어;
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙하기 위한 명령어; 및
    디스플레이를 위해, 검색 결과를 갖는 복수의 행을 포함하는 그리드를:
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 상기 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정하는 것;
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트―상기 제1 서브세트는 상기 제1 검색 결과의 제1 결과를 포함하고, 상기 제2 서브세트는 상기 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함함―를 결정하는 것;
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하는 것;
    상기 비교에 기초하여, 상기 제1 결과가 상기 제2 결과와 매칭된다는 것을 결정하는 것;
    상기 제1 결과가 상기 제2 결과와 매칭된다는 결정에 응답하여, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 것; 및
    디스플레이를 위해, 상기 제1 행에서 상기 제1 서브세트를 그리고 상기 제2 행에서 상기 수정된 제2 서브세트를 생성하는 것
    에 의해 생성하기 위한 명령어를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  33. 제32항에 있어서,
    상기 유저 입력은 제1 유저 입력이고, 상기 선호도는 제1 선호도이며, 상기 명령어는:
    상기 제1 소스보다 상기 제2 소스에 대한 제2 선호도를 나타내는 제2 유저 입력을 수신하기 위한 명령어; 및
    상기 제2 유저 입력을 수신하는 것에 응답하여:
    상기 수정된 제2 서브세트 내의 상기 제3 결과를 상기 제2 결과로 대체하는 것에 의해 상기 제2 검색 결과의 제3 서브세트를 생성하기 위한 명령어;
    상기 제1 서브세트 내의 상기 제1 결과를 상기 제1 검색 결과의 제4 결과―상기 제4 결과는 상기 제1 서브세트 내에 없음―로 대체하는 것에 의해 상기 제1 검색 결과의 제4 서브세트를 생성하기 위한 명령어; 및
    디스플레이를 위해, 상기 제1 서브세트 대신 상기 제1 행에서 상기 제3 서브세트를 그리고 상기 수정된 제2 서브세트 대신 상기 제2 행에서 상기 제4 서브세트를 생성하기 위한 명령어를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  34. 제32항에 있어서,
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정하기 위한 명령어는:
    상기 그리드에 대한 디스플레이 템플릿을 리트리빙하기 위한 명령어;
    상기 제1 행과 관련되는 상기 디스플레이 템플릿의 제1 필드로부터, 상기 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙하기 위한 명령어;
    상기 제2 행과 관련되는 상기 디스플레이 템플릿의 제2 필드로부터, 상기 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙하기 위한 명령어;
    상기 제1 검색 결과로부터 상기 제1 개수의 결과를 상기 제1 서브세트로서 선택하기 위한 명령어; 및
    상기 제2 검색 결과로부터 상기 제2 개수의 결과를 상기 제2 서브세트로서 선택하기 위한 명령어를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  35. 제32항에 있어서,
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 상기 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트를 결정하기 위한 명령어는:
    상기 유저 입력에 대한 각각의 결과의 연관성에 기초하여 상기 제1 검색 결과 내의 각각의 결과 및 상기 제2 검색 결과 내의 각각의 결과에 순위를 매기기 위한 명령어;
    상기 제1 서브세트 내의 상기 제1 결과로서 상기 제1 검색 결과에서 최고 순위의 결과를 리트리빙하기 위한 명령어; 및
    상기 제2 서브세트 내의 상기 제2 결과로서 상기 제2 검색 결과에서 최고 순위의 결과를 리트리빙하기 위한 명령어를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  36. 제32항에 있어서,
    상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하기 위한 명령어는:
    상기 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 상기 제3 결과로서 리트리빙하기 위한 명령어;
    상기 제2 서브세트로부터 상기 제2 결과를 제거하기 위한 명령어; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하기 위한 명령어를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  37. 제32항에 있어서,
    상기 유저 선호도는 제1 유저 선호도이고, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하기 위한 명령어는:
    검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙하기 위한 명령어;
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하기 위한 명령어; 및
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 결정에 응답하여:
    상기 제2 서브세트로부터 상기 제2 결과를 제거하기 위한 명령어; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하기 위한 명령어를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  38. 제32항에 있어서,
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하기 위한 명령어는:
    상기 제1 결과의 제1 식별자 및 상기 제2 결과의 제2 식별자를, 데이터베이스에 저장되어 있는 복수의 식별자와 비교하기 위한 명령어;
    제1 저장된 식별자가 상기 제1 식별자와 매칭되고 제2 저장된 식별자가 상기 제2 식별자와 매칭된다는 것을 결정하기 위한 명령어;
    상기 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 그리고 상기 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙하기 위한 명령어; 및
    상기 제1 결과와 관련되는 제1 메타데이터의 제1 문자를, 상기 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교하기 위한 명령어를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  39. 제32항에 있어서,
    디스플레이를 위해 상기 그리드를 생성하기 위한 명령어는,
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하기 위한 명령어;
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 상기 제1 검색 결과와 상기 제2 검색 결과 사이의 중복되는 결과의 수를 결정하기 위한 명령어; 및
    디스플레이를 위해, 상기 제2 행에서 중복되는 결과의 수의 표시를 생성하기 위한 명령어를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  40. 제32항에 있어서,
    상기 명령어는:
    상기 제1 결과의 유저 선택을 수신하기 위한 명령어; 및
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 제1 결과가 또한 상기 제2 소스로부터 이용 가능하다는 표시를 생성하기 위한 명령어를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  41. 제32항에 있어서,
    상기 제1 결과는 미디어 자산을 식별하며, 상기 명령어는:
    상기 제1 결과의 유저 선택을 수신하기 위한 명령어; 및
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 미디어 자산과 관련되는 복수의 선택 가능한 옵션을 생성하기 위한 명령어를 더 포함하며, 상기 복수의 선택 가능한 옵션은:
    상기 미디어 자산을 감시 목록에 추가하기 위한 옵션;
    상기 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션;
    상기 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션; 및
    상기 미디어 자산을 기록하기 위한 옵션
    중 적어도 하나를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 명령어가 인코딩된 비일시적 컴퓨터 판독 가능 매체.
  42. 복수의 소스로부터의 검색 결과를 제시하기 위한 방법에 있어서,
    제어 회로부에 의해, 유저 입력을 수신하는 단계;
    상기 제어 회로부에 의해, 상기 유저 입력에 기초하여 제1 소스 및 제2 소스로부터 결과를 검색하는 단계;
    상기 제어 회로부에 의해, 상기 제1 소스로부터 제1 검색 결과를 그리고 상기 제2 소스로부터 제2 검색 결과를 수신하는 단계;
    상기 제어 회로부에 의해, 상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 유저 선호도를 리트리빙하는 단계; 및
    상기 제어 회로부에 의해, 디스플레이를 위해, 검색 결과를 갖는 복수의 행을 포함하는 그리드를:
    상기 제2 소스보다 상기 제1 소스에 대한 선호도를 나타내는 리트리빙된 유저 선호도에 기초하여, 디스플레이를 위해, 제1 행에서 상기 제1 소스로부터의 제1 검색 결과를 생성할 것을 결정하는 단계;
    상기 제1 행에 맞는 상기 제1 검색 결과의 제1 서브세트 및 제2 행에 맞는 상기 제2 검색 결과의 제2 서브세트―상기 제1 서브세트는 상기 제1 검색 결과의 제1 결과를 포함하고, 상기 제2 서브세트는 상기 제2 검색 결과의 제3 결과가 아닌 제2 결과를 포함함―를 결정하는 단계;
    상기 제1 결과와 관련되는 메타데이터를 상기 제2 결과와 관련되는 메타데이터와 비교하는 단계;
    상기 비교에 기초하여, 상기 제1 결과가 상기 제2 결과와 매칭된다는 것을 결정하는 단계;
    상기 제1 결과가 상기 제2 결과와 매칭된다는 결정에 응답하여, 상기 제2 서브세트 내의 상기 제2 결과를 상기 제3 결과로 대체하는 것에 의해 상기 제2 서브세트를 수정하는 단계; 및
    디스플레이를 위해, 상기 제1 행에서 상기 제1 서브세트를 그리고 상기 제2 행에서 상기 수정된 제2 서브세트를 생성하는 단계
    에 의해 생성하는 단계를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  43. 제42항에 있어서,
    상기 제1 소스보다 상기 제2 소스에 대한 제2 선호도를 나타내는 제2 유저 입력을 수신하는 단계; 및
    상기 제2 유저 입력을 수신하는 단계에 응답하여:
    상기 수정된 제2 서브세트 내의 상기 제3 결과를 상기 제2 결과로 대체하는 것에 의해 상기 제2 검색 결과의 제3 서브세트를 생성하는 단계;
    상기 제1 서브세트 내의 상기 제1 결과를 상기 제1 검색 결과의 제4 결과―상기 제4 결과는 상기 제1 서브세트 내에 없음―로 대체하는 것에 의해 상기 제1 검색 결과의 제4 서브세트를 생성하는 단계; 및
    디스플레이를 위해, 상기 제1 서브세트 대신 상기 제1 행에서 상기 제3 서브세트를 그리고 상기 수정된 제2 서브세트 대신 상기 제2 행에서 상기 제4 서브세트를 생성하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  44. 제42항 또는 제43항에 있어서,
    상기 그리드에 대한 디스플레이 템플릿을 리트리빙하는 단계;
    상기 제1 행과 관련되는 상기 디스플레이 템플릿의 제1 필드로부터, 상기 제1 행에 맞는 결과의 제1 개수에 대한 제1 값을 리트리빙하는 단계;
    상기 제2 행과 관련되는 상기 디스플레이 템플릿의 제2 필드로부터, 상기 제2 행에 맞는 결과의 제2 개수에 대한 제2 값을 리트리빙하는 단계;
    상기 제1 검색 결과로부터 상기 제1 개수의 결과를 상기 제1 서브세트로서 선택하는 단계; 및
    상기 제2 검색 결과로부터 상기 제2 개수의 결과를 상기 제2 서브세트로서 선택하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  45. 제42항 내지 제44항 중 어느 한 항에 있어서,
    상기 유저 입력에 대한 각각의 결과의 연관성에 기초하여 상기 제1 검색 결과 내의 각각의 결과 및 상기 제2 검색 결과 내의 각각의 결과에 순위를 매기는 단계;
    상기 제1 서브세트 내의 상기 제1 결과로서 상기 제1 검색 결과에서 최고 순위의 결과를 리트리빙하는 단계; 및
    상기 제2 서브세트 내의 상기 제2 결과로서 상기 제2 검색 결과에서 최고 순위의 결과를 리트리빙하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  46. 제42항 내지 제45항 중 어느 한 항에 있어서,
    상기 제2 서브세트 내에 있지 않은 다음으로 가장 높은 순위의 결과를 상기 제3 결과로서 리트리빙하는 단계;
    상기 제2 서브세트로부터 상기 제2 결과를 제거하는 단계; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  47. 제42항 내지 제46항 중 어느 한 항에 있어서,
    검색 결과의 속성에 대한 제2 유저 선호도를 리트리빙하는 단계;
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하는 단계; 및
    상기 제3 결과의 속성이 상기 제2 유저 선호도와 매칭된다는 것을 결정하는 단계에 응답하여:
    상기 제2 서브세트로부터 상기 제2 결과를 제거하는 단계; 및
    상기 제3 결과를 상기 제2 서브세트에 추가하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  48. 제42항 내지 제47항 중 어느 한 항에 있어서,
    상기 제1 결과의 제1 식별자 및 상기 제2 결과의 제2 식별자를, 데이터베이스에 저장되어 있는 복수의 식별자와 비교하는 단계;
    제1 저장된 식별자가 상기 제1 식별자와 매칭되고 제2 저장된 식별자가 상기 제2 식별자와 매칭된다는 것을 결정하는 단계;
    상기 제1 저장된 식별자와 관련되는 제1 필드로부터 제1 메타데이터를 그리고 상기 제2 저장된 식별자와 관련되는 제2 필드로부터 제2 메타데이터를 리트리빙하는 단계; 및
    상기 제1 결과와 관련되는 제1 메타데이터의 제1 문자를, 상기 제2 결과와 관련되는 제2 메타데이터의 제2 문자와 비교하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  49. 제42항 내지 제48항 중 어느 한 항에 있어서,
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 단계;
    상기 제1 검색 결과의 각각의 결과를 상기 제2 검색 결과의 각각의 결과와 비교하는 것에 기초하여, 상기 제1 검색 결과와 상기 제2 검색 결과 사이의 중복되는 결과의 수를 결정하는 단계; 및
    디스플레이를 위해, 상기 제2 행에서 중복되는 결과의 수의 표시를 생성하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  50. 제42항 내지 제49항 중 어느 한 항에 있어서,
    상기 제1 결과의 유저 선택을 수신하는 단계; 및
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 제1 결과가 또한 상기 제2 소스로부터 이용 가능하다는 표시를 생성하는 단계를 더 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
  51. 제42항 내지 제50항 중 어느 한 항에 있어서,
    상기 제1 결과의 유저 선택을 수신하는 단계;
    상기 유저 선택을 수신하는 것에 응답하여, 디스플레이를 위해, 상기 미디어 자산과 관련되는 복수의 선택 가능한 옵션을 생성하는 단계를 더 포함하며, 상기 복수의 선택 가능한 옵션은:
    상기 미디어 자산을 감시 목록에 추가하기 위한 옵션;
    상기 미디어 자산을 즐겨찾기 목록에 추가하기 위한 옵션;
    상기 미디어 자산이 이용 가능한 다음 시간을 보기 위한 옵션; 및
    상기 미디어 자산을 기록하기 위한 옵션
    중 적어도 하나를 포함하는, 복수의 소스로부터의 검색 결과를 제시하기 위한 방법.
KR1020197033650A 2017-04-19 2018-04-18 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법 KR20190135530A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/491,382 2017-04-19
US15/491,382 US10509836B2 (en) 2017-04-19 2017-04-19 Systems and methods for presenting search results from multiple sources
PCT/US2018/028060 WO2018195138A1 (en) 2017-04-19 2018-04-18 Systems and methods for presenting search results from multiple sources

Publications (1)

Publication Number Publication Date
KR20190135530A true KR20190135530A (ko) 2019-12-06

Family

ID=62143543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033650A KR20190135530A (ko) 2017-04-19 2018-04-18 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US10509836B2 (ko)
EP (1) EP3612958A1 (ko)
JP (1) JP2020519067A (ko)
KR (1) KR20190135530A (ko)
CN (1) CN110730961A (ko)
CA (1) CA3060551A1 (ko)
WO (1) WO2018195138A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4329314A1 (en) 2022-08-22 2024-02-28 Aloys Inc Contents navigation method for ott service of heterogeneous contents

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956507B2 (en) * 2018-08-16 2021-03-23 Rovi Guides, Inc. Reaction compensated result selection
US11494052B1 (en) * 2019-09-30 2022-11-08 Snap Inc. Context based interface options
CN113301395B (zh) * 2021-04-30 2023-07-07 当趣网络科技(杭州)有限公司 在视频播放状态下结合用户等级的语音搜索方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6999959B1 (en) * 1997-10-10 2006-02-14 Nec Laboratories America, Inc. Meta search engine
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
ATE225998T1 (de) 1998-07-17 2002-10-15 United Video Properties Inc Interaktive fernsehprogrammführung mit mehreren geräten an einem ort
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
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
EP2469850A3 (en) 2001-02-21 2013-07-10 United Video Properties, Inc. Systems and methods for interactive program guides with personal video recording features
US7577665B2 (en) * 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
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
US8386469B2 (en) * 2006-02-16 2013-02-26 Mobile Content Networks, Inc. Method and system for determining relevant sources, querying and merging results from multiple content sources
US20070266001A1 (en) * 2006-05-09 2007-11-15 Microsoft Corporation Presentation of duplicate and near duplicate search results
US10158823B2 (en) * 2008-12-31 2018-12-18 Tivo Solutions Inc. Methods and techniques for adaptive search
US8661033B2 (en) 2009-03-31 2014-02-25 Innography, Inc. System to provide search results via a user-configurable table
US20110161242A1 (en) * 2009-12-28 2011-06-30 Rovi Technologies Corporation Systems and methods for searching and browsing media in an interactive media guidance application
US8881201B2 (en) * 2010-05-13 2014-11-04 United Video Properties, Inc. Methods and systems for providing media content listings by content provider
US20130268522A1 (en) 2010-06-28 2013-10-10 Thomson Licensing System and method for content exclusion from a multi-domain search
WO2012034069A1 (en) 2010-09-10 2012-03-15 Veveo, Inc. Method of and system for conducting personalized federated search and presentation of results therefrom
CN110337039A (zh) * 2011-03-08 2019-10-15 TiVo解决方案有限公司 多个源媒体和目的媒体的发现和管理平台
US8706756B2 (en) 2011-05-11 2014-04-22 Futurewei Technologies, Inc. Method, system and apparatus of hybrid federated search
US8990223B2 (en) * 2012-06-29 2015-03-24 Rovi Guides, Inc. Systems and methods for matching media content data
US9106957B2 (en) 2012-08-16 2015-08-11 Nuance Communications, Inc. Method and apparatus for searching data sources for entertainment systems
US8661472B1 (en) * 2012-10-09 2014-02-25 Google Inc. Methods, systems, and media for providing media guidance with media content from alternate sources
US20150074599A1 (en) * 2013-09-06 2015-03-12 Yahoo! Inc. Mobile video channel-based gestural user interface
US20150120722A1 (en) * 2013-10-31 2015-04-30 Telefonica Digital Espana, S.L.U. Method and system for providing multimedia content recommendations
US9477713B2 (en) * 2014-06-06 2016-10-25 Netflix, Inc. Selecting and ordering groups of titles
US10740384B2 (en) * 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4329314A1 (en) 2022-08-22 2024-02-28 Aloys Inc Contents navigation method for ott service of heterogeneous contents
KR20240026625A (ko) 2022-08-22 2024-02-29 주식회사 알로이스 이종 콘텐츠를 제공하는 ott 서비스에 대한 콘텐츠 네비게이션 방법

Also Published As

Publication number Publication date
US20180307760A1 (en) 2018-10-25
WO2018195138A1 (en) 2018-10-25
CN110730961A (zh) 2020-01-24
US10509836B2 (en) 2019-12-17
JP2020519067A (ja) 2020-06-25
CA3060551A1 (en) 2018-10-25
EP3612958A1 (en) 2020-02-26

Similar Documents

Publication Publication Date Title
US11595727B2 (en) Systems and methods for loading interactive media guide data based on user history
US11818439B2 (en) Methods and systems for recommending to a first user media assets for inclusion in a playlist for a second user based on the second user's viewing activity
US10477278B2 (en) Systems and methods for presenting targeted metadata in display constrained environments
US9451315B2 (en) Systems and methods for generating for display an interactive media guide based on user history
US11789960B2 (en) Systems and methods for grouping search results from multiple sources
US11600304B2 (en) Systems and methods for determining playback points in media assets
KR20190135530A (ko) 다수의 소스로부터의 검색 결과를 제시하기 위한 시스템 및 방법
US20160179796A1 (en) Methods and systems for selecting identifiers for media content
KR102441891B1 (ko) 미디어의 저장된 버전을 사용자에 보다 적합한 버전으로 대체하기 위한 시스템들 및 방법들