KR20190008173A - 사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들 - Google Patents

사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들 Download PDF

Info

Publication number
KR20190008173A
KR20190008173A KR1020187018681A KR20187018681A KR20190008173A KR 20190008173 A KR20190008173 A KR 20190008173A KR 1020187018681 A KR1020187018681 A KR 1020187018681A KR 20187018681 A KR20187018681 A KR 20187018681A KR 20190008173 A KR20190008173 A KR 20190008173A
Authority
KR
South Korea
Prior art keywords
quality
service
media
content
over
Prior art date
Application number
KR1020187018681A
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
Priority claimed from US15/155,604 external-priority patent/US10341739B2/en
Priority claimed from US15/155,485 external-priority patent/US10812851B2/en
Priority claimed from US15/155,522 external-priority patent/US20170332124A1/en
Application filed by 로비 가이드스, 인크. filed Critical 로비 가이드스, 인크.
Publication of KR20190008173A publication Critical patent/KR20190008173A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • H04L67/322
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • H04L67/2838
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들이 설명된다.

Description

사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들
본 출원은 2016년 5월 16일자로 출원된 미국 특허 출원 제15/155,485호, 2016년 5월 16일자로 출원된 미국 특허 출원 제15/155,522호 및 2016년 5월 16일자로 출원된 미국 특허 출원 제15/155,604호에 대한 우선권을 주장하고, 그 개시내용들은 이로써 그 전체가 본 명세서에 참조로 포함된다.
종래의 시스템들에서, 사용자들은 복수의 콘텐츠 제공자들로부터의 과다한 미디어 콘텐츠로의 액세스를 갖는다. 불행하게도, 복수의 콘텐츠 제공자들로부터의 이 미디어 콘텐츠에 액세스하기 위해, 사용자들은 종종 개별적으로 다양한 콘텐츠 제공자들에 가입하고 이 다양한 콘텐츠 제공자들에 의한 계정들을 관리해야 한다. 또한, 콘텐츠 제공자들 각각에게 가입한 후에도, 사용자들은 각각의 콘텐츠 제공자의 미디어 콘텐츠 라이브러리들을 개별적으로 탐색하여 소비할 콘텐츠를 발견해 내야 한다.
이에 따라, 사용자들에 대한 미디어 콘텐츠를 집성(aggregating)하는 것에 의해 전술된 문제점들을 해결하는 미디어 안내 애플리케이션(media guidance application)에 대한 방법들 및 시스템들이 본 명세서에서 설명된다. 구체적으로는, 미디어 안내 애플리케이션은 자동으로 사용자에 대한 다양한 콘텐츠 제공자들에 가입하거나, 및/또는 이 다양한 콘텐츠 제공자들에 의한 계정들을 관리할 수 있다. 또한, 사용자들은 각각의 콘텐츠 제공자의 미디어 콘텐츠 라이브러리들을 탐색하여 동시에 소비할 콘텐츠를 발견할 수 있다.
예를 들어, 미디어 안내 애플리케이션은 수많은 제공자들로부터의 콘텐츠를 집성하고 그 콘텐츠를 단일 인터페이스를 통해 제공할 수 있다. 단일 인터페이스는 사용자들이 각각의 콘텐츠 제공자의 미디어 콘텐츠 라이브러리들을 동시에 탐색하게 하고 미디어 추천들을 수신하게 하는 것에 의해 다양한 콘텐츠 제공자들 사이의 조정을 추가로 용이하게 할 수 있다. 또한, 최상의 가능한 사용자 경험을 제공하기 위해, 미디어 안내 애플리케이션은 임의의 주어진 미디어 자산(media asset)에 대한 콘텐츠 제공자와 연관된 서비스 품질에 기초하여 어떤 미디어 리스팅들을 사용자에게 제시할지를 필터링 및/또는 선택할 수 있다.
일부 양태들에서, 미디어 안내 애플리케이션은 미디어 콘텐츠의 제공자들을 선택할 수 있다. 예를 들어, 미디어 안내 애플리케이션은, 서버에서, 클라우드 기반 어그리게이터(cloud-based aggregator)로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신할 수 있는데, 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자(over-the-top content provider)들로부터 이용가능하다. 예를 들어, 사용자는 모바일 디바이스의 다수의 소스들로부터 콘텐츠를 집성하는 미디어 안내 애플리케이션에 원격으로 액세스할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자들이 미디어 콘텐츠를 스트리밍하게 하는 웹사이트로부터 현재 이용가능한 미디어 자산들을 결정할 수 있다. 그 후에, 미디어 안내 애플리케이션은, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자들이 미디어 콘텐츠를 또한 스트리밍하게 하는 제2 웹사이트로부터 현재 이용가능한 미디어 자산들을 결정할 수 있다. 또한, 미디어 안내 애플리케이션은 2개의 웹사이트들 양측 모두가 동일한 미디어 자산을 제공한다는 것을 결정할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 사용자 디바이스가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스에게 체크섬 값(checksum value)에 대해 질의하고, 질의에 응답하여 사용자 디바이스로부터 체크섬 값을 수신할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 제1 웹사이트로부터 콘텐츠를 수신하기 위한 에러 레이트를 결정할 수 있다. 미디어 안내 애플리케이션은, 서버에서, 사용자 디바이스가 제2 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 제1 웹사이트로부터 콘텐츠를 수신하기 위한 에러 레이트를 결정할 수 있다.
그 후에, 미디어 안내 애플리케이션은, 서버에서, 제1 서비스 품질을 제2 서비스 품질과 비교할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자가 보다 낮은 에러 레이트로 동일한 미디어 자산을 획득하게 하는 것이 어떤 웹사이트인지를 결정할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 비교에 기초하여 제1 서비스 품질이 제2 서비스 품질보다 더 크다는 것을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 제1 웹사이트에 대응하는 에러 레이트를 제2 웹사이트에 대응하는 에러 레이트와 비교할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 제1 서비스 품질이 제2 서비스 품질보다 더 크다는 결정에 기초하여 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 미디어 리스팅을 디스플레이를 위해 생성할 수 있다. 예를 들어, 중복 미디어 리스팅들(예를 들어, 각각의 미디어 리스팅이 상이한 미디어 콘텐츠 제공자에 대응하는 동일한 미디어 자산에 대응하는 2개의 리스팅들)을 제시하는 대신에, 미디어 안내 애플리케이션은 사용자에게 최상의 사용자 경험을 제공하는(예를 들어, 최상의 서비스 품질을 제공하는) 미디어 리스팅을 자동으로(예를 들어, 임의의 테스팅 및/또는 추가의 사용자 입력들을 요구하는 일 없이) 선택할 수 있다.
일부 실시예들에서, 서비스 품질은 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그(throughput lag), 송신 딜레이, 가용성, 또는 지터(jitter)와 같은 하나 이상의 서비스 품질 특성들에 기초할 수 있다. 또한, 일부 실시예들에서, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 다수의 인자(factor)들에 기초하여 서비스 품질을 결정할 수 있다. 미디어 안내 애플리케이션은 제1 서비스 품질 특성에 제1 가중치를 그리고 제2 서비스 품질 특성에 제2 가중치를 할당할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 인자들이 사용자 경험, 산업 표준들, 및/또는 사용자 선호도들에 영향을 미치는 양에 따라 인자들을 가중할 수 있다. 그 후에, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성에 대한 가중 평균을 결정할 수 있다. 예를 들어, 제1 및 제2 특성들을 정량화하고 개개의 가중치들을 적용한 후에, 미디어 안내 애플리케이션은 가중된 제1 및 제2 특성들의 합을 결정하여 서비스 품질을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 다양한 서비스 품질들을 등급화할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 제1 서비스 품질을 입력할 수 있다. 미디어 안내 애플리케이션은 제1 서비스 품질에 대한 등급을 결정하기 위해 제1 서비스 품질을 상이한 서비스 품질들과 비교할 수 있다. 그 후에, 미디어 안내 애플리케이션은 미디어 리스팅과 동시에 등급을 디스플레이를 위해 생성할 수 있다. 예를 들어, 최상의 서비스 품질을 갖는 콘텐츠 제공자로부터만 이용가능한 미디어 리스팅을 제시하는 것에 부가적으로 또는 대안적으로, 미디어 안내 애플리케이션은 각각의 미디어 리스팅과 함께 서비스 품질 등급을 제시할 수 있다. 부가적으로 또는 대안적으로, 미디어 안내 애플리케이션은 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스하기 위한 통지를 생성할 수 있는데, 통지는 제2 서비스 품질이 제1 서비스 품질보다 더 낮음을 나타낸다. 예를 들어, 미디어 안내 애플리케이션은 미디어 자산의 부가적인 소스들 및 다른 소스들에 대응하는 개개의 서비스 품질(또는 서비스 품질 등급)을 나타내는 통지를 사용자에게 제시할 수 있다.
일부 실시예들에서, 비교에 기초하여 제1 서비스 품질이 제2 서비스 품질과 동일하다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 미디어 리스팅, 및 제2 콘텐츠 제공자로부터의 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 복수의 소스들로부터의 미디어 리스팅들을 제시할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 사용자의 가입 상태에 기초하여 집성하기 위한 이용가능한 미디어 콘텐츠 제공자들을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 모바일 폰과 같은 사용자 디바이스와 연관된 사용자 프로파일을 검색할 수 있다. 미디어 안내 애플리케이션은 사용자 프로파일에 대한 가입 데이터를 검색할 수 있는데, 가입 데이터는 사용자가 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타낸다. 예를 들어, 사용자 프로파일은 사용자가 현재 가입한 각각의 미디어 콘텐츠 제공자의 리스트 및/또는 사용자가 다양한 미디어 콘텐츠 제공자들에 현재 가입되어 있는지 아닌지의 여부를 포함할 수 있다. 미디어 안내 애플리케이션은 가입 데이터에 기초하여 복수의 오버더톱 콘텐츠 제공자들 각각이 미디어 자산을 제공하는지 여부를 결정하기 위해 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색한다. 예를 들어, 사용자가 콘텐츠 제공자들로부터의 미디어 자산들에 가입되어 있다는(예를 들어, 미디어 자산들로의 액세스가 허용된다는) 결정에 응답한다. 미디어 안내 애플리케이션은 이용가능한 미디어 자산들에 대한 미디어 콘텐츠 제공자를 탐색한다.
일부 실시예들에서, 미디어 안내 애플리케이션은 미디어 리스팅을 제시할지 아닐지의 여부를 결정하기 위해 특수 임계치들을 적용할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 임계 서비스 품질, 예를 들어, 미디어 리스팅이 제시되게 하는 최소 수용가능 서비스 품질을 검색할 수 있다. 미디어 안내 애플리케이션은 제1 서비스 품질을 임계 서비스 품질과 비교할 수 있고, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성할 수 있다. 대안적으로, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 제1 미디어 자산을 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성할 수 있는데, 다운로드된 제1 미디어 자산은 사용자 디바이스 상에서 온디맨드 재생(on-demand playback)을 위해 이용가능하다.
일부 양태들에서, 미디어 안내 애플리케이션은 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치할 수 있다. 예를 들어, 미디어 안내 애플리케이션은, 서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신할 수 있는데, 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능하다. 예를 들어, 미디어 안내 애플리케이션은 인터넷을 통해 수많은 스트리밍 미디어 제공자들로부터의 미디어 자산들의 라이브러리로의 액세스를 요청하는 모바일 디바이스로부터의 요청을 수신할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스와 연관된 사용자 프로파일을 검색하고 사용자 프로파일에 대한 가입 데이터를 검색할 수 있는데, 가입 데이터는 사용자가 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타낸다. 그 후에, 미디어 안내 애플리케이션은 가입 데이터에 기초하여 복수의 오버더톱 콘텐츠 제공자들 각각이 미디어 자산을 제공하는지 여부를 결정하기 위해 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색할 수 있다.
미디어 안내 애플리케이션은 또한, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 (예를 들어, 방송 텔레비전 네트워크와 연관된) 제1 스트리밍 미디어 제공자 및 (예를 들어, 사용자 업로드된 콘텐츠의 웹사이트와 연관된) 제2 스트리밍 미디어 제공자 양측 모두가 동일한 미디어 자산으로의 액세스를 제공한다는 것을 결정할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 사용자 디바이스가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정할 수 있다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 제1 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 비트 레이트를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스에게 체크섬 값에 대해 질의하고, 질의에 응답하여 사용자 디바이스로부터 체크섬 값을 수신할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 사용자 디바이스가 제2 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정할 수 있다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 또한 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 비트 레이트를 결정할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 제1 서비스 품질이 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 제1 콘텐츠 제공자를 제2 콘텐츠 제공자보다 더 높게 랭킹할 수 있다. 예를 들어, 최상의 사용자 경험을 제공(예를 들어, 사용자가 최상의 비트 레이트를 제공하는 콘텐츠 제공자로부터 미디어 자산을 수신하도록 선택한다는 것을 보장)하기 위해, 미디어 안내 애플리케이션은 개개의 서비스 품질에 기초하여 콘텐츠 제공자들을 랭킹할 수 있다.
미디어 안내 애플리케이션은, 사용자 인터페이스에서, 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 제1 미디어 리스팅, 및 제2 콘텐츠 제공자로부터의 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성할 수 있는데, 제1 미디어 리스팅 및 제2 미디어 리스팅은 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 사용자 인터페이스에 배치된다. 예를 들어, 미디어 안내 애플리케이션은 양측 모두의 콘텐츠 제공자들로부터 미디어 자산에 대응하는 미디어 리스팅을 제시할 수 있지만, 미디어 안내 애플리케이션은 이들의 개개의 서비스 품질들을 반영하는 순서로 리스팅들을 배치할 수 있다. 이에 따라, 사용자는, 직관적인 방식으로, 어떤 콘텐츠 제공자가 최상의 서비스 품질을 갖는 미디어 자산을 제공할지를 결정할 수 있다.
일부 실시예들에서, 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 서비스 품질 특성들은, 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함한다. 또한, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성(예를 들어, 에러 레이트 및 비트 레이트)을 결정하는 것을 포함하는 제1 서비스 품질을 결정하고, (예를 들어, 사용자 선호도들에 기초하여) 제1 서비스 품질 특성에 제1 가중치를 그리고 제2 서비스 품질 특성에 제2 가중치를 할당하고, 제1 서비스 품질 특성 및 제2 서비스 품질 특성에 대한 가중 평균(예를 들어, 특성들에 기초하여 전체 서비스 품질을 표현하는 가중 평균)을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 각각의 콘텐츠 제공자에 대한 질적 또는 양적 서비스 품질 등급들을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 제1 서비스 품질을 입력할 수 있다. 그 후에, 미디어 안내 애플리케이션은 제1 서비스 품질에 대한 등급을 결정하기 위해 제1 서비스 품질을 상이한 서비스 품질들과 비교하고, 미디어 리스팅과 동시에 등급을 디스플레이를 위해 생성할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 미디어 자산을 제공하는 콘텐츠 제공자와 연관된 서비스 품질에 기초하여 하나의 미디어 리스팅을 다른 미디어 리스팅보다 그래픽으로 강조할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 미디어 리스팅들을 모자이크 디스플레이에 제시할 수 있는데, 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 제1 모자이크 셀은 제2 모자이크 셀보다 더 두드러지게 디스플레이된다.
일부 실시예들에서, 미디어 안내 애플리케이션은 특정 기준들이 임계 기준들을 충족시키는지 아닌지의 여부를 테스팅 및 결정할 수 있다. 그러한 경우, 특정 액션들이 트리거될 수 있다. 예를 들어, 미디어 안내 애플리케이션은 (예를 들어, 제1 콘텐츠 제공자에 대응하는) 임계 서비스 품질을 검색하고, 제1 서비스 품질을 임계 서비스 품질과 비교할 수 있다. 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 미디어 리스팅을 랭킹 리스트에 부가할 수 있다. 대안적으로 또는 부가적으로, 미디어 안내 애플리케이션은, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성할 수 있다. 대안적으로 또는 부가적으로, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 제1 미디어 자산을 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성할 수 있는데, 다운로드된 제1 미디어 자산은 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능하다.
일부 양태들에서, 미디어 안내 애플리케이션은 서비스 품질에 기초하여, 존재한다면, 어떤 미디어 리스팅들을 사용자에게 제시할지를 결정할 수 있다. 예를 들어, 고품질의 사용자 경험을 보존하기 위해, 미디어 안내 애플리케이션은 특정 서비스 품질에 대응하는 미디어 리스팅들만을 제시할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신할 수 있는데, 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능하다. 예를 들어, 사용자는 그의 또는 그녀의 모바일 폰 또는 퍼스널 컴퓨터로 영화를 스트리밍하기를 원할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스와 연관된 사용자 프로파일을 검색하고 사용자 프로파일에 대한 가입 데이터를 검색할 수 있는데, 가입 데이터는 사용자가 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타낸다. 그 후에, 미디어 안내 애플리케이션은 가입 데이터에 기초하여 복수의 오버더톱 콘텐츠 제공자들 각각이 미디어 자산을 제공하는지 여부를 결정하기 위해 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색할 수 있다.
미디어 안내 애플리케이션은 또한, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스와 연관된 가입 서비스들 각각으로부터 이용가능한 모든 미디어 자산들의 리스트를 검색할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 사용자 디바이스가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정할 수 있다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 제1 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 에러 레이트를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스에게 체크섬 값에 대해 질의하고, 질의에 응답하여 사용자 디바이스로부터 체크섬 값을 수신할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 사용자 디바이스가 제2 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정할 수 있다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 또한 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 에러 레이트를 결정할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 임계 서비스 품질을 검색할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 특정 기준들이 임계 기준들을 충족시키는지 아닌지의 여부를 테스팅 및 결정할 수 있다. 그러한 경우, 특정 액션들이 트리거될 수 있다.
미디어 안내 애플리케이션은, 서버에서, 제1 서비스 품질 및 제2 서비스 품질 양측 모두를 임계 서비스 품질과 비교할 수 있다. 예를 들어, 가입 및/또는 액세스가 이용가능한 각각의 콘텐츠 제공자에 대해, 미디어 안내 애플리케이션은 서비스 품질이 임계 서비스 품질을 초과하는지 아닌지의 여부를 결정할 수 있다.
미디어 안내 애플리케이션은, 서버에서, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 것, 및 제2 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 것을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 제1 콘텐츠 제공자로부터 콘텐츠를 수신하는 것과 연관된 에러 레이트가 수용가능한 반면, 제2 콘텐츠 제공자로부터 콘텐츠를 수신하는 것과 연관된 에러 레이트가 수용가능하지 않다는 것을 결정할 수 있다.
제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과하고 제2 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 제1 미디어 리스팅을 디스플레이를 위해 생성하고 제2 콘텐츠 제공자로부터의 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않을 수도 있다. 부가적으로, 미디어 안내 애플리케이션은 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성할 수 있는데, 통지는 제2 서비스 품질이 임계 서비스 품질보다 더 낮음을 나타낸다. 이에 따라, 미디어 안내 애플리케이션은 고품질의 사용자 경험을 보존하는 미디어 리스팅들만을 제시할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정한다. 예를 들어, 제3 콘텐츠 공급자는, 가입을 요구하지 않는 공개적으로 이용가능한 스트리밍 미디어 제공자를 포함할 수 있다. 미디어 안내 애플리케이션은 사용자 디바이스가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하고 제3 서비스 품질을 임계 서비스 품질과 비교할 수 있다. 미디어 안내 애플리케이션은 제3 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 것을 결정할 수 있다. 제3 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 미디어 리스팅과 동시에 제3 콘텐츠 제공자로부터의 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성할 수 있다.
일부 실시예들에서, 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 서비스 품질 특성들은, 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함한다. 또한, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성(예를 들어, 에러 레이트 및 비트 레이트)을 결정하는 것을 포함하는 제1 서비스 품질을 결정하고, (예를 들어, 사용자 선호도들에 기초하여) 제1 서비스 품질 특성에 제1 가중치를 그리고 제2 서비스 품질 특성에 제2 가중치를 할당하고, 제1 서비스 품질 특성 및 제2 서비스 품질 특성에 대한 가중 평균(예를 들어, 특성들에 기초하여 전체 서비스 품질을 표현하는 가중 평균)을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 각각의 콘텐츠 제공자에 대한 질적 또는 양적 서비스 품질 등급들을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 제1 서비스 품질을 입력할 수 있다. 그 후에, 미디어 안내 애플리케이션은 제1 서비스 품질에 대한 등급을 결정하기 위해 제1 서비스 품질을 상이한 서비스 품질들과 비교하고, 미디어 리스팅과 동시에 등급을 디스플레이를 위해 생성할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성할 수 있다. 예를 들어, 고품질의 사용자 경험을 보존하기 위해, 미디어 안내 애플리케이션은 미디어 리스팅이 임계 서비스 품질에 대응할 때에 관해 사용자에게 경보를 발할 수 있다. 부가적으로 또는 대안적으로, 미디어 안내 애플리케이션은, 제1 서비스 품질도 또는 제2 서비스 품질도 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성할 수 있는데, 다운로드된 제1 미디어 자산은 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능하다. 예를 들어, 미디어 자산을 스트리밍하는 것이 서비스 품질로 인해 바람직하지 않은 경우, 미디어 안내 애플리케이션은 사용자에 의한 추후의 뷰잉을 위해 미디어 자산을 다운로드할 수 있다.
상술된 시스템들 및/또는 방법들은 다른 시스템들, 방법들 및/또는 장치들에 적용될 수 있거나 또는 그에 따라 사용될 수 있다는 것에 유의해야 한다.
본 개시내용의 상기 그리고 다른 목적들과 이점들은 첨부 도면들과 관련하여 취해진 다음의 상세한 설명의 고려 시에 명백해질 것이고, 여기서 동일한 참조 문자들은 전체에 걸친 동일한 부분들을 지칭한다.
도 1은 본 개시내용의 일부 실시예들에 따른 단일 인터페이스에서 복수의 콘텐츠 제공자들로부터의 미디어 리스팅들을 사용자들에게 제공하는 데 사용될 수 있는 예시적인 미디어 리스팅 디스플레이를 도시한다.
도 2는 본 개시내용의 일부 실시예들에 따른 미디어 자산 및 다른 미디어 자산들의 추천들을 제공하는 데 사용될 수 있는 다른 예시적인 디스플레이를 도시한다.
도 3은 본 개시내용의 일부 실시예들에 따른 다른 예시적인 미디어 리스팅 디스플레이를 도시한다.
도 4는 본 개시내용의 일부 실시예들에 따른 다른 예시적인 미디어 리스팅 디스플레이를 도시한다.
도 5는 본 개시내용의 일부 실시예들에 따른 예시적인 사용자 장비 디바이스의 블록 다이어그램이다.
도 6은 본 개시내용의 일부 실시예들에 따른 예시적인 미디어 네트워크의 블록 다이어그램이다.
도 7은 본 개시내용의 일부 실시예들에 따른 미디어 콘텐츠의 제공자들을 선택하기 위한 예시적인 단계들의 흐름도이다.
도 8은 본 개시내용의 일부 실시예들에 따른 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 예시적인 단계들의 흐름도이다.
도 9는 본 개시내용의 일부 실시예들에 따른 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 예시적인 단계들의 흐름도이다.
도 10은 본 개시내용의 일부 실시예들에 따른 서비스 품질을 임계 서비스 품질과 비교하는 예시적인 단계들의 흐름도이다.
도 11은 본 개시내용의 일부 실시예들에 따른 서비스 품질을 임계 서비스 품질과 비교하기 위한 의사코드(pseudocode)의 예시적인 예이다.
도 12는 본 개시내용의 일부 실시예들에 따른 미디어 자산이 이용가능한 복수의 콘텐츠 제공자들에 대한 서비스 품질을 결정하기 위한 예시적인 단계들의 흐름도이다.
도 13은 본 개시내용의 일부 실시예들에 따른 미디어 자산이 이용가능한 복수의 콘텐츠 제공자들에 대한 서비스 품질을 결정하기 위한 예시적인 단계들의 흐름도이다.
오버더톱 콘텐츠를 뷰잉하는 사용자들에 대한 미디어 콘텐츠를 집성하는 미디어 안내 애플리케이션에 대한 방법들 및 시스템들이 본 명세서에서 설명된다. 예를 들어, 미디어 안내 애플리케이션은 수많은 제공자들로부터의 콘텐츠를 집성하고 그 콘텐츠를 단일 인터페이스를 통해 제공할 수 있다. 또한, 본 명세서에서 설명되는 미디어 안내 애플리케이션은 복수의 콘텐츠 제공자들 중 적어도 하나로부터 이용가능한 미디어 자산을 식별할 수 있고, 복수의 콘텐츠 제공자들 중 적어도 하나와 연관된 사용자 디바이스에서의 서비스 품질에 기초하여 사용자에게 미디어 자산을 추천할 수 있다.
사용자들이, 인터페이스를 통해, 콘텐츠 선택들을 효율적으로 내비게이팅하게 하고 이들이 원할 수 있는 콘텐츠를 쉽게 식별하게 하는 애플리케이션은, 본 명세서에서 인터랙티브 미디어 안내 애플리케이션 또는, 때때로, 미디어 안내 애플리케이션 또는 안내 애플리케이션으로 지칭된다. 미디어 안내 애플리케이션들은 이들이 안내를 제공하는 콘텐츠에 따라 다양한 형태들을 취할 수 있다. 하나의 전형적인 타입의 미디어 안내 애플리케이션은 인터랙티브 텔레비전 프로그램 가이드이다. 인터랙티브 텔레비전 프로그램 가이드들(때때로 전자 프로그램 가이드들로 지칭됨)은, 다른 것들 중에서도, 사용자들이 많은 타입들의 콘텐츠 또는 미디어 자산들 중에서 내비게이팅하게 하고 이들을 로케이팅하게 하는 널리 알려진 안내 애플리케이션들이다. 인터랙티브 미디어 안내 애플리케이션은 사용자가 콘텐츠 중에서 내비게이팅하고 이를 로케이팅 및 선택하는 것을 가능하게 하는 그래픽 사용자 인터페이스 스크린들을 생성할 수 있다.
본 명세서에서 지칭되는 바와 같이, "미디어 자산" 및 "콘텐츠"라는 용어들은 전자적으로 소비가능한 사용자 자산, 예컨대 텔레비전 프로그래밍뿐만 아니라, 페이퍼뷰 프로그램(pay-per-view program)들, (예를 들어, 비디오-온-디맨드(video-on-demand)(VOD) 시스템들에서와 같은) 온디맨드 프로그램들, 인터넷 콘텐츠(예를 들어, 스트리밍 콘텐츠, 다운로드가능한 콘텐츠, 웹캐스트들 등), 비디오 클립들, 오디오, 콘텐츠 정보, 화상들, 회전 이미지들, 문서들, 플레이리스트들, 웹사이트들, 기사들, 책들, 전자 책들, 블로그들, 광고들, 채팅 세션(chat session)들, 소셜 미디어, 애플리케이션들, 게임들, 및/또는 임의의 다른 미디어 또는 멀티미디어 및/또는 이들의 조합을 의미하는 것으로 이해되어야 한다. 안내 애플리케이션들은 또한 사용자들이 콘텐츠 중에서 내비게이팅하게 하고 이를 로케이팅하게 한다. 본 명세서에서 지칭되는 바와 같이, "멀티미디어"라는 용어는 상술된 적어도 2개의 상이한 콘텐츠 형태들, 예를 들어, 텍스트, 오디오, 이미지들, 비디오, 또는 상호작용 콘텐츠 형태들을 활용하는 콘텐츠를 의미하는 것으로 이해되어야 한다. 콘텐츠는 사용자 장비 디바이스들에 의해 레코딩, 재생, 디스플레이, 또는 액세스될 수 있지만, 또한 라이브 공연의 일부일 수 있다.
하나의 타입의 콘텐츠는 오버더톱 콘텐츠이다. 본 명세서에서 지칭되는 바와 같이, "오버더톱 콘텐츠" 또는 "OTT 콘텐츠"는 인터넷 기술을 사용하는 네트워크를 통해(예를 들어, 인터넷 또는 관리된 네트워크를 통해) 전달되는 미디어 콘텐츠이다. 일부 실시예들에서, OTT 콘텐츠는 콘텐츠의 제어 또는 분배에서 다중 시스템 오퍼레이터의 개입 없이 전달될 수 있다. 예를 들어, OTT 콘텐츠는 인터넷을 통해 사용자에게 스트리밍되는 미디어 자산(예를 들어, 영화)을 포함할 수 있다.
일부 실시예들에서, OTT 콘텐츠는 다수의 제공자들로부터 콘텐츠를 집성하는 플랫폼을 통해 제공될 수 있다. 그러한 피처를 제공하는 플랫폼은 수퍼 어그리게이터 또는 콘텐츠 어그리게이터 또는, 때때로, 클라우드 기반 어그리게이터로 지칭될 수 있다. 예를 들어, 수퍼 어그리게이터는, 사용자가 수많은 미디어 콘텐츠 제공자들로부터의 미디어 콘텐츠 및 미디어 안내 데이터 소스로부터의 미디어 안내 데이터에 관한 정보를 액세스, 탐색, 및/또는 그렇지 않으면 수신할 수 있게 하는 단일 인터페이스를 제공할 수 있다. 그러한 인터페이스는 본 명세서에서 미디어 안내 애플리케이션으로 지칭된다.
본 명세서에서 설명되는 바와 같이, 미디어 안내 애플리케이션은 사용자 디바이스와 하나 이상의 콘텐츠 제공자들 사이의 서비스 품질을 검증할 수 있다. 본 명세서에서 지칭되는 바와 같이, "서비스 품질"은 전화 또는 컴퓨터 네트워크에서 최종 사용자에 의해 수신되는 바와 같은 품질을 지칭한다. 서비스 품질은, 정보의 발신자 또는 수신자의 관점에서 볼 때 에러 레이트들, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 지터 등과 같은, 네트워크 서비스들의 하나 이상의 양태들로 측정되거나 및/또는 이들을 반영할 수 있다.
본 명세서에 참조로 포함되는 문헌(Peuhkuri M., IP Quality of Service, Helsinki University of Technology, Laboratory of Telecommunications Technology, 1999.)에 설명되는 바와 같이, 패킷 교환 네트워크들에서, 서비스 품질은, "인적" 및 "기술적" 인자들로 분할될 수 있는 다양한 인자들에 의해 영향을 받는다. 인적 인자들은 서비스의 안정성, 서비스의 가용성, 딜레이들, 및 사용자 정보를 포함한다. 기술적 인자들은 신뢰성, 스케일러빌리티(scalability), 효율성, 유지보수성, 서비스 등급 등을 포함한다.
서비스 품질은 수용가능한 최소 대역폭 및 최대 딜레이에 기초할 수 있다. 예를 들어, 특정 애플리케이션(예를 들어, 화상회의를 포함하고 그에 따라 네트워크에 대한 높은 요구들이 있는 애플리케이션)은 다른 애플리케이션(예를 들어, 텍스트 데이터 송신으로 제한되고 그에 따라 네트워크에 대한 보다 낮은 요구들을 갖는 애플리케이션)과는 상이한 수용가능한 최소 대역폭 및 최대 딜레이를 가질 수 있다. 예를 들어, 상이한 콘텐츠 제공자들과 연관된 보장된 서비스 품질을 결정하기 위해, 미디어 안내 애플리케이션은 각각의 콘텐츠 제공자와 연관된 이용가능한 대역폭 및 최대 딜레이를 비교할 수 있다. 예를 들어, 각각의 콘텐츠 공급자에 대해, 미디어 안내 애플리케이션은 최대 딜레이 d max 를 계산하기 위해 다음의 공식을 사용할 수 있고, 여기서 b는 토큰 버킷 깊이이고, r은 버킷 레이트이고, p는 토큰 버킷 플러스(plus) 피크 레이트이고, M은 최대 데이터그램 사이즈이고, R은 커넥션에 할당된 대역폭이고, C tot 는 레이트 종속 에러 항들의 종단간 합계이고, D tot 는 레이트 독립, 요소별 에러 항들의 종단간 합계이다.
Figure pct00001
그 후에, 미디어 안내 애플리케이션은 동일한 미디어 자산의 상이한 콘텐츠 제공자들에 대한 서비스 품질을 비교하여 특정 미디어 자산의 어떤 콘텐츠 제공자가 사용자 디바이스에 가장 높은 서비스 품질을 제공하는지를 결정할 수 있다. 이 비교에 기초하여, 미디어 안내 애플리케이션은, 아래에 논의되는 바와 같이, 어떤 콘텐츠 제공자를 사용하여 미디어 자산으로의 사용자 디바이스 액세스를 제공할지를 선택할 수 있거나, 다양한 콘텐츠 제공자들을 랭킹할 수 있거나, 또는 콘텐츠 제공자로부터의 미디어 자산이 사용자에게 제공되어야 하는지 아닌지의 여부를 결정할 수 있다.
예를 들어, 서비스 품질은 특정 타입들의 콘텐츠를 제공하기 위해 요구되는 성능 레벨을 지칭할 수 있다. 예를 들어, 보다 큰 사이즈 또는 특정 포맷의 콘텐츠의 전달은 네트워크 상에서 더 부담이 클 수 있다. 이에 따라, 그러한 콘텐츠를 사용자에게 전달하기 위해, 컴퓨터 네트워크는 보다 높은 성능 또는 달성 서비스 품질(예를 들어, 높은 비트 레이트, 낮은 레이턴시, 및 낮은 비트 에러 확률)을 요구할 수 있다. 미디어 안내 애플리케이션은 미디어 안내 애플리케이션이 사용자에 의한 소비를 위해 특정 콘텐츠 제공자로부터의 미디어 자산들을 제공하기 전에 그 특정 콘텐츠 제공자를 사용하여 제공되는 성능 레벨이 수용가능한지를 검증할 수 있다. 이 검증 서비스를 제공하는 것에 의해, 미디어 안내 애플리케이션은 높은 레벨의 사용자 경험을 보장한다. 예를 들어, 성능 레벨이 검증되었기 때문에, 미디어 안내 애플리케이션은 콘텐츠 제공자로의 연결이 용이하지 않게 되어 낮은 서비스 품질 및 열악한 사용자 경험을 초래할 것이다.
서비스 품질을 결정함에 있어서 다양한 변수들을 테스팅하기 위해, 미디어 안내 애플리케이션은 대역폭, 지터, 레이턴시, 및 패킷 손실을 측정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 서비스 품질의 각각의 특성을 테스팅하기 위해 하나 이상의 모듈들을 통합하거나 및/또는 이들로의 액세스를 가질 수 있다. 테스팅은, 시퀀스를 벗어난 카운트들과 같은 통계들을 생성하도록 하나 이상의 디바이스들에게 질의하는 것 그리고 (예를 들어, 패리티 바이트 또는 패리티 워드 알고리즘, 모듈러 합계 알고리즘, 위치 종속 알고리즘 등에 따라) 체크섬 에러들과 같은 데이터 패킷들의 에러들을 검출하는 것을 포함할 수 있다. 부가적으로, 미디어 안내 애플리케이션은 이들 측정치들을 결정하기 위한 데이터에 대해 하나 이상의 디바이스들에게 핑(ping)할 수 있다. 예를 들어, 레이턴시를 테스팅하기 위해, 미디어 안내 애플리케이션은 근단(near-end)에서 원단(far-end)으로의 그리고 원단에서 근단으로의 방향들 양측 모두를 동시에 테스팅할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 서비스 품질의 하나 이상의 특성들의 가중 평균들에 기초하여 서비스 품질을 결정할 수 있다. 본 명세서에서 지칭되는 바와 같이, 서비스 품질의 "특성"은 서비스 품질에 영향을 미치는 임의의 변수이다. 예를 들어, 특성들은, 정보의 발신자 또는 수신자의 관점에서 볼 때 에러 레이트들, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 지터 등을 포함할 수 있다. 부가적으로 또는 대안적으로, 특성들은, 상기에 논의된 바와 같이, 보장된 서비스 품질에서 최대 딜레이를 결정하기 위해 사용되는 임의의 변수를 포함할 수 있다. 또한, 서비스 품질을 결정하는 데 사용되는 특성들이 다를 수 있다. 예를 들어, 미디어 안내 애플리케이션은, 통계 데이터가 생성될 수 있거나 또는 미디어 안내 애플리케이션이 적합한 수단을 통해 검증할 수 있는 특성들만을 선택할 수 있다. 부가적으로 또는 대안적으로, 특성들은 산업 표준들, 사용자 선택들, 또는 공장 디폴트에 기초하여 선택될 수 있다.
또한, 미디어 안내 애플리케이션은 서비스 품질을 결정할 때 이들 특성들 각각을 상이하게 가중할 수 있다. 예를 들어, 특정 특성들은 일부 상황들에서 서비스 품질을 더 많이 나타낼 수 있다. 예를 들어, 제1 특성을 측정하는 데 사용되는 데이터는 제2 특성을 측정하는 데 사용되는 데이터보다 더 정밀하고, 더 정확하고, 더 강건하다는 것 등일 수 있다. 이에 따라, 미디어 안내 어플라이언스는 서비스 품질의 결정에서 제1 특성을 제2 특성보다 더 크게 가중할 수 있다.
또한, 서비스 품질(또는 특정 특성들의 측정치들)은 연속적으로 또는 미리 결정된 시간들에서, 및/또는 특정 입력들에 응답하여 결정될 수 있다는 것에 유의해야 한다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스가 상이한 콘텐츠 제공자들로부터 미디어 자산들을 수신하기 위한 서비스 품질을 연속적으로 결정할 수 있다. (예를 들어, 특정 콘텐츠 제공자로부터의 미디어 리스팅들을 생성하기 위해) 미디어 안내 애플리케이션이 서비스 품질을 요구할 때 언제든, 미디어 안내 애플리케이션은 현재 서비스 품질을 검색할 수 있다. 대안적으로 또는 부가적으로, 미디어 안내 애플리케이션은 미리 결정된 시간들에서(예를 들어, 정시에, 매 시간마다) 서비스 품질을 결정할 수 있다. 대안적으로 또는 부가적으로, 미디어 안내 애플리케이션은, 미디어 자산들에 액세스하라는 것, 콘텐츠 제공자들의 집성에 액세스하라는 것, 미디어 안내 애플리케이션에 액세스하라는 것, 사용자 디바이스를 턴온하라는 것 등의 사용자 요청에 응답하여 서비스 품질을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 임계 서비스 품질을 검색할 수 있다. 임계 서비스 품질은 미디어 안내 애플리케이션에 의해 특정 액션을 트리거하는 임의의 서비스 품질일 수 있다. 예를 들어, 임계 서비스 품질은 산업 표준, 사용자 선택, 또는 공장 디폴트에 기초할 수 있다. 또한, 임계 서비스 품질은 전체 네트워크 조건들 및/또는 사용자 선택들에 따라 동적으로 변경될 수 있다. 예를 들어, 네트워크 조건들이 한계에 이르게 될(예를 들어, 시스템 상에 증가된 로드가 있을) 때, 임계 서비스 품질이 감소되어 보다 많은 미디어 자산들이 사용자에게 이용가능하게 할 수 있다. 대안적으로, 네트워크 조건들이 한계에 이르게 될 때, 임계 서비스 품질이 증가되어 사용자 경험이 네트워크 조건들에 의해 영향을 받지 않는다는 것을 보장할 수 있다. 마찬가지로, 사용자가 네트워크 상의 잠재적 요구를 낮추기로(예를 들어, 표준 정의 미디어 자산들만을 요청하기로) 선택할 때, 임계 서비스 품질은 네트워크 상의 보다 낮은 요구를 반영하도록 조정될 수 있다.
본 명세서에서 지칭되는 바와 같이, "콘텐츠 제공자들" 또는 "서비스 제공자들"은 미디어 콘텐츠를 제공하는 제3자 엔티티들이다. 예를 들어, 콘텐츠 제공자들은 영화들, 음악, 및 다른 미디어 콘텐츠를 사용자들에게 제공하는 제3자 엔티티들일 수 있다. 콘텐츠 제공자는 클라우드 기반 어그리게이터와 연계되지 않을 수도 있다. 콘텐츠 제공자는 클라우드 기반 어그리게이터와 계약 관계에 있을 수 있다. 예를 들어, 콘텐츠 제공자는 일부 보상에 대한 대가로 사용자들에 관한 정보를 클라우드 기반 어그리게이터에게 제공하기로 합의할 수 있다. 콘텐츠 제공자는 클라우드 기반 어그리게이터가 아닌 사용자와 계약 관계에 있을 수 있다. 예를 들어, 콘텐츠 제공자는 사용자들에 의해 가입될 수 있고 클라우드 기반 어그리게이터와의 어떤 합의도 갖지 않을 수도 있다.
본 명세서에서 논의되는 실시예들 중 임의의 것을 수행하기 위한 미디어 안내 애플리케이션 및/또는 임의의 명령어들은 컴퓨터 판독가능 매체 상에서 인코딩될 수 있다. 컴퓨터 판독가능 매체는 데이터를 저장하는 것이 가능한 임의의 매체를 포함한다. 컴퓨터 판독가능 매체는 전기 또는 전자기 신호들을 전파하는 것을 포함하지만 이에 제한되지 않는 일시적인 것일 수 있거나, 또는 휘발성 및 비휘발성 컴퓨터 메모리 또는 스토리지(storage) 디바이스들 예컨대 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드들, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리("RAM") 등을 포함하지만 이에 제한되지 않는 비일시적인 것일 수 있다.
인터넷, 모바일 컴퓨팅, 및 고속 무선 네트워크들의 출현으로, 사용자들은 이들이 전통적으로 행하지 않았던 사용자 장비 디바이스들 상의 미디어에 액세스하고 있다. 본 명세서에서 지칭되는 바와 같이, "사용자 장비 디바이스", "사용자 장비", "사용자 디바이스", "전자 디바이스", "전자 장비", "미디어 장비 디바이스", 또는 "미디어 디바이스"라는 어구는, 텔레비전, 스마트 TV, 셋톱 박스, 위성 텔레비전을 핸들링하기 위한 통합 수신기 디코더(IRD), 디지털 스토리지 디바이스, 디지털 미디어 수신기(DMR), 디지털 미디어 어댑터(DMA), 스트리밍 미디어 디바이스, DVD 플레이어, DVD 레코더, 연결형 DVD, 로컬 미디어 서버, 블루레이 플레이어, 블루레이 레코더, 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 태블릿 컴퓨터, WebTV 박스, 퍼스널 컴퓨터 텔레비전(PC/TV), PC 미디어 서버, PC 미디어 센터, 핸드헬드 컴퓨터, 고정 전화기, 개인 휴대 정보 단말기(PDA), 모바일 전화기, 휴대용 비디오 플레이어, 휴대용 음악 플레이어, 휴대용 게이밍 머신, 스마트 폰, 또는 임의의 다른 텔레비전 장비, 컴퓨팅 장비, 또는 무선 디바이스, 및/또는 이들의 조합과 같은, 상술된 콘텐츠에 액세스하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 일부 실시예들에서, 사용자 장비 디바이스는 전면 대향 스크린 및 후면 대향 스크린, 다수의 전면 스크린들, 또는 다수의 각진 스크린들을 가질 수 있다. 일부 실시예들에서, 사용자 장비 디바이스는 전면 대향 카메라 및/또는 후면 대향 카메라를 가질 수 있다. 이들 사용자 디바이스 디바이스들 상에서, 사용자들은 텔레비전을 통해 이용가능한 동일한 콘텐츠 중에서 내비게이팅하고 이를 로케이팅하는 것이 가능할 수 있다. 결과적으로, 이들 디바이스들 상에서 또한 미디어 안내가 이용가능할 수 있다. 제공되는 안내는 텔레비전을 통해서만 이용가능한 콘텐츠에 대한 것, 다른 타입들의 사용자 장비 디바이스들 중 하나 이상을 통해서만 이용가능한 콘텐츠에 대한 것, 또는 다른 타입들의 사용자 장비 디바이스들 중 하나 이상과 텔레비전 양측 모두를 통해 이용가능한 콘텐츠에 대한 것일 수 있다. 미디어 안내 애플리케이션은 온라인 애플리케이션들(즉, 웹사이트 상에서 제공됨)로서, 또는 사용자 장비 디바이스들 상의 독립형 애플리케이션들 또는 클라이언트들로서 제공될 수 있다. 미디어 안내 애플리케이션들을 구현할 수 있는 다양한 디바이스들 및 플랫폼들은 하기에 더 상세히 설명된다.
미디어 안내 애플리케이션의 기능들 중 하나는 사용자들에게 미디어 안내 데이터를 제공하는 것이다. 본 명세서에서 지칭되는 바와 같이, "미디어 안내 데이터" 또는 "안내 데이터"라는 어구는 안내 애플리케이션을 조작하는 데 사용되는 콘텐츠 또는 데이터에 관련된 임의의 데이터를 의미하는 것으로 이해되어야 한다. 예를 들어, 안내 데이터는 프로그램 정보, 안내 애플리케이션 설정들, 사용자 선호도들, 사용자 프로파일 정보, 미디어 리스팅들, 미디어 관련 정보(예를 들어, 방송 시간들, 방송 채널들, 제목들, 설명들, 등급 정보(예를 들어, 보호자 통제 등급들, 평론가 등급들 등), 장르 또는 카테고리 정보, 배우 정보, 방송사들 또는 제공자들의 로고들에 대한 로고 데이터 등), 미디어 포맷(예를 들어, 표준 선명도, 고 선명도, 3D 등), 광고 정보(예를 들어, 텍스트, 이미지, 미디어 클립들 등), 온디맨드 정보, 블로그들, 웹사이트들, 및 사용자가 원하는 콘텐츠 선택들 중에서 내비게이팅하고 이들을 로케이팅하는 데 도움이 되는 임의의 다른 타입의 안내 데이터를 포함할 수 있다.
도 1 및 도 2는 미디어 안내 데이터를 제공하는 데 사용될 수 있는 예시적인 디스플레이 스크린들을 도시한다. 예를 들어, 도 1 및 도 2의 디스플레이들은 복수의 콘텐츠 제공자들로부터 이용가능한 미디어 자산들을 제시할 수 있다.
예를 들어, 미디어 안내 애플리케이션은 수많은 제공자들로부터의 콘텐츠를 집성하고 그 콘텐츠를 단일 인터페이스를 통해 제공할 수 있다. 단일 인터페이스는 사용자들이 각각의 콘텐츠 제공자의 미디어 콘텐츠 라이브러리들을 동시에 탐색하게 하고 미디어 추천들을 수신하게 하는 것에 의해 다양한 콘텐츠 제공자들 사이의 조정을 추가로 용이하게 할 수 있다. 또한, 최상의 가능한 사용자 경험을 제공하기 위해, 미디어 안내 애플리케이션은 임의의 주어진 미디어 자산에 대한 콘텐츠 제공자와 연관된 서비스 품질에 기초하여 어떤 미디어 리스팅들을 사용자에게 제시할지를 필터링 및/또는 선택할 수 있다. 예를 들어, 최상의 콘텐츠 품질을 제공하는 단일 콘텐츠 제공자에 기초하여 수많은 콘텐츠 제공자들이 미디어 자산을 제공한다는 사실에도 불구하고, 미디어 안내 애플리케이션은 디스플레이를 위해 단일 콘텐츠 제공자에 대응하는 단일 미디어 리스팅을 선택할 수 있다. 대안적으로, 미디어 안내 애플리케이션은 단일 디스플레이에서의 동일한 미디어 자산에 대해 복수의 콘텐츠 제공자들로부터의 미디어 리스팅들을 그래픽으로 강조(예를 들어, 순서, 포지셔닝, 사이즈, 색상, 음영, 폰트, 이미지, 투명성, 또는 다른 적합한 기준들을 조정)할 수 있다.
도 1 및 도 2에 도시된 디스플레이 스크린들은 임의의 적합한 사용자 장비 디바이스 또는 플랫폼 상에서 구현될 수 있다. 도 1 및 도 2의 디스플레이들은 전체 스크린 디스플레이들로서 예시되어 있지만, 이들은 디스플레이되는 콘텐츠 위에 또한 완전히 또는 부분적으로 중첩될 수 있다. 사용자는 디스플레이 스크린에 제공되는 선택가능한 옵션(예를 들어, 메뉴 옵션, 리스팅 옵션, 아이콘, 하이퍼링크 등)을 선택하는 것 또는 리모트 컨트롤 또는 다른 사용자 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들어, 가이드(GUIDE) 버튼)을 누르는 것에 의해 콘텐츠 정보에 액세스하려는 요망을 나타낼 수 있다. 사용자의 표시에 응답하여, 미디어 안내 애플리케이션은 콘텐츠 타입에 의한 것, 카테고리(예를 들어, 영화들, 스포츠, 뉴스, 어린이, 또는 다른 카테고리들의 프로그래밍)에 의한 것, 또는 다른 미리 정의된, 사용자 정의된, 또는 다른 조직화 기준들에 의한 것과 같은 수 개의 방식들 중 하나로 조직화된 미디어 안내 데이터를 디스플레이 스크린에 제공할 수 있다.
도 1은 단일 인터페이스에서 복수의 콘텐츠 제공자들로부터의 미디어 리스팅들을 사용자들에게 제공하는 데 사용될 수 있는 예시적인 미디어 리스팅 디스플레이를 도시한다. 디스플레이(100)는 행들(112, 114, 116, 및 118)을 포함하는데, 그 각각은 영화(120)와 같은 선택가능한 미디어 리스팅들의 셀들을 포함한다. 선택가능한 미디어 리스팅들은 이미지들 아래에 제목들 또는 다른 텍스트를 포함할 수 있다. 선택가능한 미디어 리스팅들은 복수의 콘텐츠 제공자들에 의해 제공될 수 있다. 다양한 선택가능한 미디어 리스팅들에 대한 콘텐츠 제공자들은 보여지지 않을 수도 있다.
디스플레이(150)는 다음의 것을 갖는 헤더(102)를 포함한다: (1) 수퍼 어그리게이터와 연관될 수 있는 로고(104); (2) 타입, 장르, 및/또는 다른 조직화 기준들에 의해 콘텐츠를 선택하기 위한 선택가능한 옵션들(106); (3) 텍스트로 콘텐츠를 탐색하기 위한 탐색 박스(108); 및 (4) 사용자 정보 및 선호도들에 액세스하고 이들을 편집하기 위한 사용자 설정들(110). 행들(112, 114, 116, 및 118)은 영화(120)와 같은 선택가능한 미디어 리스팅들의 셀들을 포함하고, 여기서 각각의 선택가능한 미디어 리스팅은 커버 아트, 콘텐츠로부터의 스틸 이미지들, 비디오 클립 프리뷰들, 콘텐츠로부터의 라이브 비디오, 또는 리스팅 내의 미디어 안내 데이터에 의해 설명되는 콘텐츠를 사용자에게 나타내는 다른 타입들의 콘텐츠를 포함하는 그래픽 이미지들을 제공한다. 사용자 입력 디바이스로, 사용자는 하이라이트된 영역을 미디어 리스팅으로 이동시키는 것에 의해 또는 미디어 리스팅에 대해 클릭하는 것에 의해 미디어 리스팅들을 선택할 수 있다. 디스플레이(100)로부터 미디어 리스팅을 선택하면 디스플레이로 하여금 선택된 미디어 리스팅(예를 들어, 디스플레이(250)(도 2))에 관련된 정보를 포함하도록 변경하게 할 수 있다.
미디어 안내 애플리케이션은 비선형 프로그래밍(예를 들어, 임의의 시간에 사용자 장비 디바이스에게 액세스가능하고 스케줄에 따라 제공되지 않는 콘텐츠)으로의 액세스를 제공한다. 비선형 프로그래밍은, 온디맨드 콘텐츠(예를 들어, VOD), 인터넷 콘텐츠(예를 들어, 스트리밍 미디어, 다운로드가능한 미디어 등), 로컬 저장 콘텐츠(예를 들어, 상술된 임의의 사용자 장비 디바이스 또는 다른 스토리지 디바이스 상에 저장된 콘텐츠), 또는 다른 시간 독립적 콘텐츠를 포함하는, 상이한 콘텐츠 소스들로부터의 콘텐츠를 포함할 수 있다. 온디맨드 콘텐츠는 특정 콘텐츠 제공자(예를 들어, "The Sopranos" 및 "Curb Your Enthusiasm"을 제공하는 HBO 온디맨드(HBO On Demand))에 의해 제공되는 영화들 또는 임의의 다른 콘텐츠를 포함할 수 있다. HBO 온디맨드는 Time Warner Company L.P. 등에 의해 소유된 서비스 마크이고, THE SOPRANOS 및 CURB YOUR ENTHUSIASM은 Home Box Office, Inc.에 의해 소유된 상표들이다. 인터넷 콘텐츠는 채팅 세션 또는 웹캐스트와 같은 웹 이벤트들, 또는 인터넷 웹사이트 또는 다른 인터넷 액세스(예를 들어, FTP)를 통해 스트리밍 콘텐츠 또는 다운로드가능한 콘텐츠로서 온디맨드로 이용가능한 콘텐츠를 포함할 수 있다.
단일 인터페이스에서 복수의 콘텐츠 제공자들로부터의 미디어 리스팅들을 사용자들에게 제공하기 위한 다른 디스플레이 배치가 도 2에 도시되어 있다. 디스플레이(200)는 추천 영역(216)을 포함한다. 예를 들어, 추천 영역(216)은 미디어 자산들에 대한 추천들로 채워질 수 있다. 미디어 안내 애플리케이션은 사용자에 대한 사용자 프로파일에 기초하여 어떤 미디어 자산들을 추천할지를 결정할 수 있다. 또한, 미디어 자산들을 제공하는 콘텐츠 제공자가 보여지지 않을 수도 있다.
디스플레이(250)는 다음의 것을 갖는 헤더(202)를 포함할 수 있다: (1) 수퍼 어그리게이터와 연관될 수 있는 로고(204); (2) 타입, 장르, 및/또는 다른 조직화 기준들에 의해 콘텐츠를 선택하기 위한 선택가능한 옵션들(206); (3) 텍스트로 콘텐츠를 탐색하기 위한 탐색 박스(208); 및 (4) 사용자 정보 및 선호도들에 액세스하고 이들을 편집하기 위한 사용자 설정들(210). 디스플레이(250)는 또한 미디어 영역(212), 정보 영역(214), 및 추천 영역(216)을 포함한다. 미디어 영역(212)은 미디어 자산을 포함할 수 있고 전체 스크린으로 콘텐츠를 뷰잉하도록 선택가능할 수 있다. 정보 영역(214)은, 미디어 자산과 연관된 정보, 예를 들어, 제목, 설명, 기간, 등급, 및 다른 원하는 정보를 포함할 수 있다. 추천 영역(216)은, 커버 아트, 콘텐츠로부터의 스틸 이미지들, 비디오 클립 프리뷰들, 콘텐츠로부터의 라이브 비디오, 또는 리스팅 내의 미디어 안내 데이터에 의해 설명되는 콘텐츠를 사용자에게 나타내는 다른 타입들의 콘텐츠를 포함하는 그래픽 이미지들(218a, 218b, 및 218c)을 갖는 미디어 리스팅들을 제공할 수 있다. 미디어 리스팅들 각각은 리스팅과 연관된 콘텐츠에 관한 추가의 정보를 제공하기 위해 텍스트(220a, 220b, 및 220c)를 또한 수반할 수 있다. 가격 표시기(222a)가 리스팅에 설명된 콘텐츠가 이용가능해지게 하는 콘텐츠 제공자에 대한 가입과 연관된 가격을 제공한다. 일부 실시예들에서, 가격 표시기(222a)는 그래픽 이미지(218a) 위에 배치될 수 있다. 일부 실시예들에서, 가격 표시기(222a)는 미디어 리스팅 내의 그래픽 이미지들(218a) 근처에 배치될 수 있다.
디스플레이(250) 내의 미디어 리스팅들은 동일한 사이즈로 되지만, 원한다면, 리스팅들은 상이한 사이즈로 될 수 있다. 리스팅들은, 콘텐츠 제공자가 원한다면 또는 사용자 선호도들에 기초하여, 사용자에게 관심있는 정도들을 나타내거나 또는 특정 콘텐츠를 강조하기 위해 상이한 사이즈들로 되거나 또는 그래픽으로 강조될 수 있다. 콘텐츠 리스팅들을 그래픽으로 강조하기 위한 다양한 시스템들 및 방법들은, 예를 들어, 2009년 11월 12일자로 출원된 Yates의 미국 특허 출원 공개 공보 제2010/0153885호에서 논의되는데, 이는 이로써 그 전체가 본 명세서에 참조로 포함된다.
도 3 및 도 4는 미디어 안내 데이터를 제공하는 데 사용될 수 있는 예시적인 디스플레이 스크린들을 도시한다. 도 3 및 도 4에 도시된 디스플레이 스크린들은 임의의 적합한 사용자 장비 디바이스 또는 플랫폼 상에서 구현될 수 있다. 도 3 및 도 4의 디스플레이들은 전체 스크린 디스플레이들로서 예시되어 있지만, 이들은 디스플레이되는 콘텐츠 위에 또한 완전히 또는 부분적으로 중첩될 수 있다. 사용자는 디스플레이 스크린에 제공되는 선택가능한 옵션(예를 들어, 메뉴 옵션, 리스팅 옵션, 아이콘, 하이퍼링크 등)을 선택하는 것 또는 리모트 컨트롤 또는 다른 사용자 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들어, 가이드 버튼)을 누르는 것에 의해 콘텐츠 정보에 액세스하려는 요망을 나타낼 수 있다. 사용자의 표시에 응답하여, 미디어 안내 애플리케이션은 그리드 내의 시간 및 채널에 의한 것, 채널에 의한 것, 소스에 의한 것, 콘텐츠 타입에 의한 것, 카테고리(예를 들어, 영화들, 스포츠, 뉴스, 어린이, 또는 다른 카테고리들의 프로그래밍)에 의한 것, 또는 다른 미리 정의된, 사용자 정의된, 또는 다른 조직화 기준들에 의한 것과 같은 수 개의 방식들 중 하나로 조직화된 미디어 안내 데이터를 디스플레이 스크린에 제공할 수 있다.
도 3은, 단일 디스플레이에서 상이한 타입들의 콘텐츠로의 액세스를 또한 가능하게 하는, 시간 및 채널에 의해 배치되는 프로그램 리스팅 디스플레이(300)의 예시적인 그리드를 도시한다. 디스플레이(300)는 다음의 것을 갖는 그리드(302)를 포함할 수 있다: (1) 채널/콘텐츠 타입 식별자들(304)의 열 - 각각의 채널/콘텐츠 타입 식별자(이는 열 내의 셀임)가 이용가능한 상이한 채널 또는 콘텐츠 타입을 식별함 -; 및 (2) 시간 식별자들(306)의 행 - 각각의 시간 식별자(이는 행 내의 셀임)가 프로그래밍의 시간 블록을 식별함 -. 그리드(302)는 또한 프로그램 리스팅(308)과 같은 프로그램 리스팅들의 셀들을 포함하고, 여기서 각각의 리스팅은 리스팅의 연관된 채널 및 시간에 제공되는 프로그램의 제목을 제공한다. 사용자 입력 디바이스로, 사용자는 하이라이트 영역(310)을 이동시키는 것에 의해 프로그램 리스팅들을 선택할 수 있다. 하이라이트 영역(310)에 의해 선택되는 프로그램 리스팅에 관한 정보는 프로그램 정보 영역(312)에 제공될 수 있다. 영역(312)은, 예를 들어, 프로그램 제목, 프로그램 설명, 프로그램이 제공되는 시간(적용가능하다면), 프로그램이 있는 채널(적용가능하다면), 프로그램의 등급, 및 다른 원하는 정보를 포함할 수 있다.
선형 프로그래밍(예를 들어, 미리 결정된 시간에 복수의 사용자 장비 디바이스들로 송신되도록 스케줄링되고 스케줄에 따라 제공되는 콘텐츠)로의 액세스를 제공하는 것에 부가적으로, 미디어 안내 애플리케이션은 또한 비선형 프로그래밍(예를 들어, 임의의 시간에 사용자 장비 디바이스에게 액세스가능하고 스케줄에 따라 제공되지 않는 콘텐츠)로의 액세스를 제공한다. 비선형 프로그래밍은, 온디맨드 콘텐츠(예를 들어, VOD), 인터넷 콘텐츠(예를 들어, 스트리밍 미디어, 다운로드가능한 미디어 등), 로컬 저장 콘텐츠(예를 들어, 상술된 임의의 사용자 장비 디바이스 또는 다른 스토리지 디바이스 상에 저장된 콘텐츠), 또는 다른 시간 독립적 콘텐츠를 포함하는, 상이한 콘텐츠 소스들로부터의 콘텐츠를 포함할 수 있다. 온디맨드 콘텐츠는 특정 콘텐츠 제공자(예를 들어, "The Sopranos" 및 "Curb Your Enthusiasm"을 제공하는 HBO 온디맨드)에 의해 제공되는 영화들 또는 임의의 다른 콘텐츠를 포함할 수 있다. HBO 온디맨드는 Time Warner Company L.P. 등에 의해 소유된 서비스 마크이고, THE SOPRANOS 및 CURB YOUR ENTHUSIASM은 Home Box Office, Inc.에 의해 소유된 상표들이다. 인터넷 콘텐츠는 채팅 세션 또는 웹캐스트와 같은 웹 이벤트들, 또는 인터넷 웹사이트 또는 다른 인터넷 액세스(예를 들어, FTP)를 통해 스트리밍 콘텐츠 또는 다운로드가능한 콘텐츠로서 온디맨드로 이용가능한 콘텐츠를 포함할 수 있다.
그리드(302)는 온디맨드 리스팅(314), 레코딩된 콘텐츠 리스팅(316), 및 인터넷 콘텐츠 리스팅(318)을 포함하는 비선형 프로그래밍을 위한 미디어 안내 데이터를 제공할 수 있다. 상이한 타입들의 콘텐츠 소스들로부터의 콘텐츠에 대한 미디어 안내 데이터를 결합하는 디스플레이가 때때로 "혼합 미디어" 디스플레이로 지칭된다. 디스플레이(300)와는 상이한, 디스플레이될 수 있는 타입들의 미디어 안내 데이터의 다양한 순열들은 사용자 선택 또는 안내 애플리케이션 정의(예를 들어, 레코딩 및 방송 리스팅들만의 디스플레이, 온디맨드 및 방송 리스팅들만의 디스플레이 등)에 기초할 수 있다. 예시된 바와 같이, 리스팅들(314, 316, 및 318)이 그리드(302)에 디스플레이되는 전체 시간 블록에 걸쳐 있는 것으로 도시되어, 이들 리스팅들의 선택이 온디맨드 리스팅들, 레코딩된 리스팅들, 또는 인터넷 리스팅들 각각에 전용된 디스플레이로의 액세스를 제공할 수 있음을 나타낸다. 일부 실시예들에서, 이들 콘텐츠 타입들에 대한 리스팅들은 그리드(302)에 직접 포함될 수 있다. 부가적인 미디어 안내 데이터는 사용자가 내비게이션 아이콘들(320) 중 하나를 선택하는 것에 응답하여 디스플레이될 수 있다. (사용자 입력 디바이스 상의 화살표 키를 누르면 내비게이션 아이콘들(320)을 선택하는 것과 유사한 방식으로 디스플레이에 영향을 미칠 수 있다.)
디스플레이(300)는 또한 비디오 영역(322), 광고(324), 및 옵션 영역(326)을 포함할 수 있다. 비디오 영역(322)은 사용자에게 현재 이용가능하거나, 이용가능하게 될 것이거나, 또는 이용가능하였던 프로그램들을 사용자가 뷰잉 및/또는 프리뷰잉하게 할 수 있다. 비디오 영역(322)의 콘텐츠는 그리드(302)에 디스플레이되는 리스트들 중 하나에 대응할 수 있거나 또는 그와는 독립적일 수 있다. 비디오 영역을 포함하는 그리드 디스플레이들은 때때로 픽처-인-가이드(picture-in-guide)(PIG) 디스플레이들로 지칭된다. PIG 디스플레이들 및 이들의 기능성들은 2003년 5월 13일자로 허여된 Satterfield 등의 미국 특허 제6,564,378호 및 2001년 5월 29일자로 허여된 Yuen 등의 미국 특허 제6,239,794호에 더 상세히 설명되는데, 이들은 이로써 그 전체가 본 명세서에 참조로 포함된다. PIG 디스플레이들은 본 명세서에서 설명되는 실시예들의 다른 미디어 안내 애플리케이션 디스플레이 스크린들에 포함될 수 있다.
광고(324)는, (예를 들어, 가입 프로그래밍에 대한) 뷰어의 액세스 권한들에 따라, 뷰잉을 위해 현재 이용가능하거나, 장래에 뷰잉을 위해 이용가능하게 될 것이거나, 또는 뷰잉을 위해 결코 이용가능해지지 않게 될 수도 있는 콘텐츠에 대한 광고를 제공할 수 있고, 그리드(302) 내의 콘텐츠 리스팅들 중 하나 이상에 대응하거나 또는 이들에 관련되지 않을 수도 있다. 광고(324)는 또한 그리드(302)에 디스플레이되는 콘텐츠에 관련된 또는 관련되지 않은 제품들 또는 서비스들에 대한 것일 수 있다. 광고(324)는 선택가능하고 콘텐츠에 관한 추가의 정보를 제공하고, 제품 또는 서비스에 관한 정보를 제공하고, 콘텐츠, 제품, 또는 서비스의 구매를 가능하게 하고, 광고에 관련된 콘텐츠를 제공한다는 것 등일 수 있다. 광고(324)는 사용자의 프로파일/선호도들, 모니터링된 사용자 활동, 제공된 디스플레이의 타입, 또는 다른 적합한 타깃화 광고 기반들에 기초하여 타깃화될 수 있다.
광고(324)는 직사각형 또는 배너 형상으로 도시되어 있지만, 광고들은 안내 애플리케이션 디스플레이에서 임의의 적합한 사이즈, 형상, 및 위치로 제공될 수 있다. 예를 들어, 광고(324)는 그리드(302)에 수평으로 인접한 직사각형 형상으로서 제공될 수 있다. 이는 때때로 패널 광고로 지칭된다. 부가적으로, 광고들은 콘텐츠 또는 안내 애플리케이션 디스플레이 위에 중첩되거나 또는 디스플레이 내에 임베딩될 수 있다. 광고들은 텍스트, 이미지들, 회전 이미지들, 비디오 클립들, 또는 상술된 다른 타입들의 콘텐츠를 또한 포함할 수 있다. 광고들은 안내 애플리케이션을 갖는 사용자 장비 디바이스에, 사용자 장비에 연결된 데이터베이스에, (스트리밍 미디어 서버들을 포함하는) 원격 위치에, 또는 다른 스토리지 수단 상에, 또는 이들 위치들의 조합에 저장될 수 있다. 미디어 안내 애플리케이션에서 광고들을 제공하는 것은, 예를 들어, 2003년 1월 17일자로 출원된 Knudson 등의 미국 특허 출원 공개 공보 제2003/0110499호; 2004년 6월 29일자로 허여된 Ward, III 등의 미국 특허 제6,756,997호; 및 2002년 5월 14일자로 허여된 Schein 등의 미국 특허 제6,388,714호에서 더 상세히 논의되는데, 이들은 이로써 그 전체가 본 명세서에 참조로 포함된다. 광고들은 본 명세서에서 설명되는 실시예들의 다른 미디어 안내 애플리케이션 디스플레이 스크린들에 포함될 수 있다는 것을 이해할 것이다.
옵션 영역(326)은 사용자가 상이한 타입들의 콘텐츠, 미디어 안내 애플리케이션 디스플레이들, 및/또는 미디어 안내 애플리케이션 피처들에 액세스하게 할 수 있다. 옵션 영역(326)은 디스플레이(300)(그리고 본 명세서에서 설명되는 다른 디스플레이 스크린들)의 일부일 수 있거나, 또는 온-스크린 옵션을 선택하는 것 또는 사용자 입력 디바이스 상의 전용된 또는 할당가능한 버튼을 누르는 것에 의해 사용자에 의해 호출될 수 있다. 옵션 영역(326) 내의 선택가능한 옵션들은 그리드(302) 내의 프로그램 리스팅들에 관련된 피처들에 관한 것일 수 있거나 또는 메인 메뉴 디스플레이로부터 이용가능한 옵션들을 포함할 수 있다. 프로그램 리스팅들에 관련된 피처들은 다른 방송 시간들 또는 프로그램 수신 방식들을 탐색하는 것, 프로그램을 레코딩하는 것, 프로그램의 시리즈 레코딩을 가능하게 하는 것, 프로그램 및/또는 채널을 즐겨찾기로서 설정하는 것, 프로그램을 구매하는 것, 또는 다른 피처들을 포함할 수 있다. 메인 메뉴 디스플레이로부터 이용가능한 옵션들은 탐색 옵션들, VOD 옵션들, 보호자 통제 옵션들, 인터넷 옵션들, 클라우드 기반 옵션들, 디바이스 동기화 옵션들, 제2 스크린 디바이스 옵션들, 다양한 타입들의 미디어 안내 데이터 디스플레이들에 액세스하기 위한 옵션들, 프리미엄 서비스에 가입하기 위한 옵션들, 사용자의 프로파일을 편집하기 위한 옵션들, 브라우즈 오버레이에 액세스하기 위한 옵션들, 또는 다른 옵션들을 포함할 수 있다.
미디어 안내 애플리케이션은 사용자의 선호도들에 기초하여 개인화될 수 있다. 개인화된 미디어 안내 애플리케이션은 사용자가 디스플레이들 및 피처들을 커스터마이징하여 미디어 안내 애플리케이션으로 개인화된 "경험"을 생성하게 한다. 이 개인화된 경험은 사용자가 이들 커스터마이제이션들을 입력하게 하는 것에 의해 및/또는 미디어 안내 애플리케이션이 사용자 활동을 모니터링하여 다양한 사용자 선호도들을 결정하는 것에 의해 생성될 수 있다. 사용자들은 자신의 개인화된 안내 애플리케이션에 로그인하거나 또는 안내 애플리케이션에 대해 자신들을 식별하는 것에 의해 안내 애플리케이션에 액세스할 수 있다. 미디어 안내 애플리케이션의 커스터마이제이션은 사용자 프로파일에 따라 이루어질 수 있다. 커스터마이제이션들은 다양한 프리젠테이션 스킴들(예를 들어, 디스플레이들의 컬러 스킴, 텍스트의 폰트 사이즈 등), 디스플레이되는 콘텐츠 리스팅들의 양태들(예를 들어, HDTV만의 또는 3D만의 프로그래밍, 즐겨찾는 채널 선택들에 기초하는 사용자 특정 방송 채널들, 채널들의 디스플레이의 재순서화, 추천된 콘텐츠 등), 원하는 레코딩 피처들(예를 들어, 특정 사용자들에 대한 레코딩 또는 시리즈 레코딩들, 레코딩 품질 등), 보호자 통제 설정들, 인터넷 콘텐츠의 커스터마이징된 프리젠테이션(예를 들어, 소셜 미디어 콘텐츠, 이메일, 전자적으로 전달된 기사들 등의 프리젠테이션) 및 다른 원하는 커스터마이제이션들을 포함할 수 있다.
미디어 안내 애플리케이션은 사용자가 사용자 프로파일 정보를 제공하게 할 수 있거나 또는 사용자 프로파일 정보를 자동으로 컴파일할 수 있다. 미디어 안내 애플리케이션은, 예를 들어, 사용자가 액세스하는 콘텐츠 및/또는 사용자가 안내 애플리케이션으로 가질 수 있는 다른 상호작용들을 모니터링할 수 있다. 부가적으로, 미디어 안내 애플리케이션은 (예를 들어, www.allrovi.com과 같이 사용자가 액세스하는 인터넷의 다른 웹사이트들로부터, 사용자가 액세스하는 다른 미디어 안내 애플리케이션들로부터, 사용자가 액세스하는 다른 인터랙티브 애플리케이션들로부터, 사용자의 다른 사용자 장비 디바이스로부터 등) 특정 사용자에 관련된 다른 사용자 프로파일들의 전부 또는 일부를 획득하거나, 및/또는 미디어 안내 애플리케이션이 액세스할 수 있는 다른 소스들로부터 사용자에 관한 정보를 획득할 수 있다. 결과적으로, 사용자에게는 사용자의 상이한 사용자 장비 디바이스들에 걸쳐 단일화된 안내 애플리케이션 경험이 제공될 수 있다. 이 타입의 사용자 경험은 도 6과 관련하여 하기에 더 상세히 설명된다. 부가적인 개인화된 미디어 안내 애플리케이션 피처들은 2005년 7월 11일자로 출원된 Ellis 등의 미국 특허 출원 공개 공보 제2005/0251827호, 2007년 1월 16일자로 허여된 Boyer 등의 미국 특허 제7,165,098호, 및 2002년 2월 21일자로 출원된 Ellis 등의 미국 특허 출원 공개 공보 제2002/0174430호에 더 상세히 설명되는데, 이들은 이로써 그 전체가 본 명세서에 참조로 포함된다.
미디어 안내를 제공하기 위한 다른 디스플레이 배치가 도 4에 도시되어 있다. 비디오 모자이크 디스플레이(400)는, 콘텐츠 타입, 장르, 및/또는 다른 조직화 기준들에 기초하여 조직화된 콘텐츠 정보에 대한 선택가능한 옵션들(402)을 포함한다. 디스플레이(400)에서, 텔레비전 리스팅 옵션(404)이 선택되어, 그에 따라 방송 프로그램 리스팅들로서 리스팅들(406, 408, 410, 및 412)을 제공한다. 디스플레이(400)에서 리스팅들은, 커버 아트, 콘텐츠로부터의 스틸 이미지들, 비디오 클립 프리뷰들, 콘텐츠로부터의 라이브 비디오, 또는 리스팅 내의 미디어 안내 데이터에 의해 설명되는 콘텐츠를 사용자에게 나타내는 다른 타입들의 콘텐츠를 포함하는 그래픽 이미지들을 제공할 수 있다. 그래픽 리스팅들 각각은 리스팅과 연관된 콘텐츠에 관한 추가의 정보를 제공하기 위해 텍스트를 또한 수반할 수 있다. 예를 들어, 리스팅(408)은, 미디어 부분(414) 및 텍스트 부분(416)을 포함하는 하나 초과의 부분을 포함할 수 있다. 미디어 부분(414) 및/또는 텍스트 부분(416)은 전체 스크린에서의 콘텐츠를 뷰잉하기 위해 또는 미디어 부분(414)에 디스플레이된 콘텐츠에 관련된 정보를 뷰잉하기 위해(예를 들어, 비디오가 디스플레이되는 채널에 대한 리스팅들을 뷰잉하기 위해) 선택가능할 수 있다.
디스플레이(400) 내의 리스팅들은 상이한 사이즈들로 되어 있지만(즉, 리스팅 406은 리스팅들 408, 410, 및 412보다 더 크다), 원한다면, 모든 리스팅들이 동일한 사이즈일 수 있다. 리스팅들은, 콘텐츠 제공자가 원한다면 또는 사용자 선호도들에 기초하여, 사용자에게 관심있는 정도들을 나타내거나 또는 특정 콘텐츠를 강조하기 위해 상이한 사이즈들로 되거나 또는 그래픽으로 강조될 수 있다. 콘텐츠 리스팅들을 그래픽으로 강조하기 위한 다양한 시스템들 및 방법들은, 예를 들어, 2009년 11월 12일자로 출원된 Yates의 미국 특허 출원 공개 공보 제2010/0153885호에서 논의되는데, 이는 이로써 그 전체가 본 명세서에 참조로 포함된다.
사용자들은 자신의 사용자 장비 디바이스들 중 하나 이상으로부터의 콘텐츠 및 미디어 안내 애플리케이션(그리고 상술되고 후술되는 그의 디스플레이 스크린들)에 액세스할 수 있다. 도 5는 예시적인 사용자 장비 디바이스(500)의 일반화된 실시예를 도시한다. 사용자 장비 디바이스들의 더 구체적인 구현들이 도 6과 관련하여 하기에 논의된다. 사용자 장비 디바이스(500)는 입/출력(이하, "I/O") 경로(502)를 통해 콘텐츠 및 데이터를 수신할 수 있다. I/O 경로(502)는 콘텐츠(예를 들어, 방송 프로그래밍, 온디맨드 프로그래밍, 인터넷 콘텐츠, 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 통해 이용가능한 콘텐츠, 및/또는 다른 콘텐츠) 및 데이터를 제어 회로부(504)에 제공할 수 있는데, 이 제어 회로부(504)는 프로세싱 회로부(506) 및 스토리지(508)를 포함한다. 제어 회로부(504)는 I/O 경로(502)를 사용하여 커맨드, 요청들, 및 다른 적합한 데이터를 전송 및 수신하는 데 사용될 수 있다. I/O 경로(502)는 제어 회로부(504)(그리고 구체적으로는 프로세싱 회로부(506))를 하나 이상의 통신 경로들(후술됨)에 연결할 수 있다. I/O 기능들이 이들 통신 경로들 중 하나 이상에 의해 제공될 수 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 도 5에서는 단일 경로로서 도시된다.
제어 회로부(504)는 프로세싱 회로부(506)와 같은 임의의 적합한 프로세싱 회로부에 기초할 수 있다. 본 명세서에서 지칭되는 바와 같이, 프로세싱 회로부는 하나 이상의 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들, 프로그래밍가능 로직 디바이스들, 필드 프로그래밍가능 게이트 어레이(FPGA)들, 주문형 집적 회로(ASIC)들 등에 기초하는 회로부를 의미하는 것으로 이해되어야 하고, 멀티-코어 프로세서(예를 들어, 듀얼-코어, 쿼드-코어, 헥사-코어, 또는 임의의 적합한 수의 코어들) 또는 수퍼컴퓨터를 포함할 수 있다. 일부 실시예들에서, 프로세싱 회로부는 다수의 별개의 프로세서들 또는 프로세싱 유닛들, 예를 들어, 다수의 동일한 타입의 프로세싱 유닛들(예를 들어, 2개의 인텔 코어 i7 프로세서들) 또는 다수의 상이한 프로세서들(예를 들어, 인텔 코어 i5 프로세서 및 인텔 코어 i7 프로세서)에 걸쳐 분산될 수 있다. 일부 실시예들에서, 제어 회로부(504)는 메모리(즉, 스토리지(508))에 저장된 미디어 안내 애플리케이션에 대한 명령어들을 실행한다. 구체적으로는, 제어 회로부(504)는 미디어 안내 애플리케이션에 의해 상술되고 후술되는 기능들을 수행하도록 지시될 수 있다. 예를 들어, 미디어 안내 애플리케이션은 미디어 안내 디스플레이들을 생성하라는 명령어들을 제어 회로부(504)에 제공할 수 있다. 일부 구현들에서, 제어 회로부(504)에 의해 수행되는 임의의 액션은 미디어 안내 애플리케이션으로부터 수신되는 명령어들에 기초할 수 있다.
클라이언트-서버 기반 실시예들에서, 제어 회로부(504)는, 안내 애플리케이션 서버 또는 다른 네트워크들 또는 서버들과 통신하기에 적합한 통신 회로부를 포함할 수 있다. 상기에 언급된 기능성을 수행하기 위한 명령어들은 안내 애플리케이션 서버 상에 저장될 수 있다. 통신 회로부는 케이블 모뎀, 통합 서비스 디지털 네트워크(ISDN) 모뎀, 디지털 가입자 라인(DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 장비와의 통신들을 위한 무선 모뎀, 또는 임의의 다른 적합한 통신 회로부를 포함할 수 있다. 그러한 통신들은 인터넷 또는 임의의 다른 적합한 통신 네트워크들 또는 경로들(도 6과 관련하여 더 상세히 설명됨)을 수반할 수 있다. 부가적으로, 통신 회로부는, 사용자 장비 디바이스들의 피어-투-피어 통신, 또는 서로 원거리에 있는 위치들에서의 사용자 장비 디바이스들의 통신을 가능하게 하는 회로부를 포함할 수 있다.
메모리는 제어 회로부(504)의 일부인 스토리지(508)로서 제공되는 전자 스토리지 디바이스일 수 있다. 본 명세서에서 지칭되는 바와 같이, "전자 스토리지 디바이스" 또는 "스토리지 디바이스"라는 어구는, 랜덤 액세스 메모리, 판독 전용 메모리, 하드 드라이브들, 광학 드라이브들, 디지털 비디오 디스크(DVD) 레코더들, 콤팩트 디스크(CD) 레코더들, 블루레이 디스크(BD) 레코더들, 블루레이 3D 디스크 레코더들, 디지털 비디오 레코더들(DVR, 때때로 퍼스널 비디오 레코더, 또는 PVR로 불림), 솔리드 스테이트 디바이스들, 양자 스토리지 디바이스들, 게이밍 콘솔들, 게이밍 미디어, 또는 임의의 다른 적합한 고정식 또는 착탈식 스토리지 디바이스들, 및/또는 이들의 임의의 조합과 같은, 전자 데이터, 컴퓨터 소프트웨어, 또는 펌웨어를 저장하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 스토리지(508)는 상술된 미디어 안내 데이터뿐만 아니라 본 명세서에서 설명되는 다양한 타입들의 콘텐츠를 저장하는 데 사용될 수 있다. 비휘발성 메모리가 또한 (예를 들어, 부트-업 루틴 및 다른 명령어들을 개시하기 위해) 사용될 수 있다. 도 6과 관련하여 설명된 클라우드 기반 스토리지는 스토리지(508)를 보충하거나 또는 스토리지(508) 대신에 사용될 수 있다.
제어 회로부(504)는, 비디오 생성 회로부 및 튜닝 회로부, 예컨대 하나 이상의 아날로그 튜너들, 하나 이상의 MPEG-2 디코더들 또는 다른 디지털 디코딩 회로부, 고선명 튜너들, 또는 임의의 다른 적합한 튜닝 또는 비디오 회로들 또는 그러한 회로들의 조합들을 포함할 수 있다. (예를 들어, 오버-디-에어(over-the-air), 아날로그, 또는 디지털 신호들을 저장을 위한 MPEG 신호들로 컨버팅하기 위한) 인코딩 회로부가 또한 제공될 수 있다. 제어 회로부(504)는, 콘텐츠를 사용자 장비(500)의 선호되는 출력 포맷으로 업컨버팅 및 다운컨버팅하기 위한 스케일러 회로부를 또한 포함할 수 있다. 회로부(504)는, 디지털 신호와 아날로그 신호 사이를 컨버팅하기 위한 디지털-아날로그 컨버터 회로부 및 아날로그-디지털 컨버터 회로부를 또한 포함할 수 있다. 튜닝 및 인코딩 회로부는 콘텐츠를 수신하기 위해 그리고 콘텐츠를 디스플레이하기 위해, 콘텐츠를 재생하기 위해, 또는 콘텐츠를 레코딩하기 위해 사용자 장비 디바이스에 의해 사용될 수 있다. 튜닝 및 인코딩 회로부는 또한 안내 데이터를 수신하는 데 사용될 수 있다. 예를 들어, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호화해제, 스케일러, 및 아날로그/디지털 회로부를 포함하여, 본 명세서에서 설명되는 회로부는, 하나 이상의 범용 또는 특수 프로세서들 상에서 실행되는 소프트웨어를 사용하여 구현될 수 있다. 동시 튜닝 기능들(예를 들어, 감시 및 레코딩 기능들, 픽처-인-픽처(PIP) 기능들, 다중 튜너 레코딩 등)을 핸들링하기 위해 다수의 튜너들이 제공될 수 있다. 스토리지(508)가 사용자 장비(500)와는 별개의 디바이스로서 제공되는 경우, 튜닝 및 인코딩 회로부(다수의 튜너들을 포함함)는 스토리지(508)와 연관될 수 있다.
사용자는 사용자 입력 인터페이스(510)를 사용하여 제어 회로부(504)에 명령어들을 전송할 수 있다. 사용자 입력 인터페이스(510)는 리모트 컨트롤, 마우스, 트랙볼, 키패드, 키보드, 터치 스크린, 터치패드, 스타일러스 입력부, 조이스틱, 음성 인식 인터페이스, 또는 다른 사용자 입력 인터페이스들과 같은 임의의 적합한 사용자 인터페이스일 수 있다. 디스플레이(512)는 독립형 디바이스로서 제공되거나 또는 사용자 장비 디바이스(500)의 다른 요소들과 통합될 수 있다. 예를 들어, 디스플레이(512)는 터치스크린 또는 터치 감지 디스플레이일 수 있다. 그러한 상황들에서, 사용자 입력 인터페이스(510)는 디스플레이(512)와 통합되거나 또는 디스플레이(512)와 결합될 수 있다. 디스플레이(512)는 모니터, 텔레비전, 모바일 디바이스용 액정 디스플레이(LCD), 비정질 실리콘 디스플레이, 저온 폴리 실리콘 디스플레이, 전자 잉크 디스플레이, 전기 영동 디스플레이, 액티브 매트릭스 디스플레이, 전자 습윤 디스플레이, 전기 유체 디스플레이, 음극선관 디스플레이, 발광 다이오드 디스플레이, 전자 발광 디스플레이, 플라즈마 디스플레이 패널, 고성능 어드레싱 디스플레이, 박막 트랜지스터 디스플레이, 유기 발광 다이오드 디스플레이, 표면 전도 전자 방출 디스플레이(SED), 레이저 텔레비전, 탄소 나노튜브들, 양자점 디스플레이, 간섭계 변조기 디스플레이, 또는 시각적 이미지들을 디스플레이하기 위한 임의의 다른 적합한 장비 중 하나 이상일 수 있다. 일부 실시예들에서, 디스플레이(512)는 HDTV 가능형일 수 있다. 일부 실시예들에서, 디스플레이(512)는 3D 디스플레이일 수 있고, 인터랙티브 미디어 안내 애플리케이션 및 임의의 적합한 콘텐츠가 3D로 디스플레이될 수 있다. 비디오 카드 또는 그래픽 카드가 디스플레이(512)로의 출력을 생성할 수 있다. 비디오 카드는 3D 장면들 및 2D 그래픽들의 가속 렌더링, MPEG-2/MPEG-4 디코딩, TV 출력, 또는 다수의 모니터들을 연결하기 위한 능력과 같은 다양한 기능들을 제공할 수 있다. 비디오 카드는 제어 회로부(504)와 관련하여 상술된 임의의 프로세싱 회로부일 수 있다. 비디오 카드는 제어 회로부(504)와 통합될 수 있다. 스피커들(514)은 사용자 장비 디바이스(500)의 다른 요소들과 통합된 것으로서 제공될 수 있거나 또는 독립형 유닛들일 수 있다. 디스플레이(512) 상에 디스플레이되는 비디오들 및 다른 콘텐츠의 오디오 컴포넌트는 스피커들(514)을 통해 재생될 수 있다. 일부 실시예들에서, 스피커들(514)을 통해 오디오를 프로세싱 및 출력하는 수신기(도시되지 않음)에 오디오가 분배될 수 있다.
안내 애플리케이션은 임의의 적합한 아키텍처를 사용하여 구현될 수 있다. 예를 들어, 그것은 사용자 장비 디바이스(500) 상에서 전체적으로 구현되는 독립형 애플리케이션일 수 있다. 그러한 접근법에서, 애플리케이션의 명령어들은 로컬로(예를 들어, 스토리지(508)에) 저장되고, 애플리케이션에 의한 사용을 위한 데이터는 (예를 들어, 대역 외 피드(out-of-band feed)로부터, 인터넷 리소스로부터, 또는 다른 적합한 접근법을 사용하여) 주기적으로 다운로드된다. 제어 회로부(504)는 스토리지(508)로부터 애플리케이션의 명령어들을 검색하고, 본 명세서에서 논의되는 디스플레이들 중 임의의 것을 생성하도록 명령어들을 프로세싱할 수 있다. 프로세싱된 명령어들에 기초하여, 제어 회로부(504)는 입력이 입력 인터페이스(510)로부터 수신될 때 어떤 액션을 수행할지를 결정할 수 있다. 예를 들어, 입력 인터페이스(510)가 업/다운 버튼이 선택되었음을 나타낼 때, 디스플레이 상의 커서의 위/아래로의 이동은 프로세싱된 명령어들에 의해 나타내어질 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 클라이언트-서버 기반 애플리케이션이다. 사용자 장비 디바이스(500) 상에서 구현되는 씩(thick) 또는 씬(thin) 클라이언트에 의한 사용을 위한 데이터는 사용자 장비 디바이스(500)에 대해 원거리에 있는 서버에 요청들을 발행하는 것에 의해 온디맨드로 검색된다. 클라이언트-서버 기반 안내 애플리케이션의 일례에서, 제어 회로부(504)는 원격 서버에 의해 제공된 웹 페이지들을 해석하는 웹 브라우저를 실행한다. 예를 들어, 원격 서버는 애플리케이션에 대한 명령어들을 스토리지 디바이스에 저장할 수 있다. 원격 서버는 회로부(예를 들어, 제어 회로부(504))를 사용하여 저장된 명령어들을 프로세싱하고, 상술되고 후술되는 디스플레이들을 생성할 수 있다. 클라이언트 디바이스는 원격 서버에 의해 생성되는 디스플레이를 수신할 수 있고, 디스플레이들의 콘텐츠를 장비 디바이스(500) 상에 로컬로 디스플레이할 수 있다. 이러한 방식으로, 명령어들의 프로세싱은 서버에 의해 원격으로 수행되는 한편, 결과적인 디스플레이들은 장비 디바이스(500) 상에 로컬로 제공된다. 장비 디바이스(500)는 입력 인터페이스(510)를 통해 사용자로부터 입력들을 수신하고, 대응하는 디스플레이들을 프로세싱 및 생성하기 위해 이들 입력들을 원격 서버에 송신할 수 있다. 예를 들어, 장비 디바이스(500)는 업/다운 버튼이 입력 인터페이스(510)를 통해 선택되었음을 나타내는 통신을 원격 서버에 송신할 수 있다. 원격 서버는 그 입력에 따라 명령어들을 프로세싱하고, 입력에 대응하는 애플리케이션의 디스플레이(예를 들어, 커서를 위/아래로 이동시키는 디스플레이)를 생성할 수 있다. 그 후에, 생성된 디스플레이는 사용자에게의 프리젠테이션을 위해 장비 디바이스(500)로 송신된다.
일부 실시예들에서, 미디어 안내 애플리케이션은 인터프리터 또는 가상 머신(제어 회로부(504)에 의해 실행됨)에 의해 다운로드 및 해석되거나 또는 그렇지 않으면 실행된다. 일부 실시예들에서, 안내 애플리케이션은 ETV 바이너리 교환 포맷(ETV Binary Interchange Format)(EBIF)으로 인코딩되고, 적합한 피드의 일부로서 제어 회로부(504)에 의해 수신되고, 제어 회로부(504) 상에서 실행되는 사용자 에이전트에 의해 해석될 수 있다. 예를 들어, 안내 애플리케이션은 EBIF 애플리케이션일 수 있다. 일부 실시예들에서, 안내 애플리케이션은 제어 회로부(504)에 의해 실행되는 로컬 가상 머신 또는 다른 적합한 미들웨어에 의해 수신 및 실행되는 일련의 자바 기반 파일들에 의해 정의될 수 있다. 그러한 실시예들 중 일부(예를 들어, MPEG-2 또는 다른 디지털 미디어 인코딩 스킴들을 채용한 것들)에서, 안내 애플리케이션은, 예를 들어, 프로그램의 MPEG 오디오 및 비디오 패킷들을 이용한 MPEG-2 오브젝트 캐러셀(object carousel)로 인코딩 및 송신될 수 있다.
도 5의 사용자 장비 디바이스(500)는 도 6의 시스템(600)에서 사용자 텔레비전 장비(602), 사용자 컴퓨터 장비(604), 무선 사용자 통신 디바이스(606), 또는 콘텐츠에 액세스하기에 적합한 임의의 다른 타입의 사용자 장비, 예컨대 비-휴대용 게이밍 머신으로서 구현될 수 있다. 단순화를 위해, 이들 디바이스들은 본 명세서에서 사용자 장비 또는 사용자 장비 디바이스들로 집합적으로 지칭될 수 있고, 상술된 사용자 장비 디바이스들과 실질적으로 유사할 수 있다. 미디어 안내 애플리케이션이 구현될 수 있는 사용자 장비 디바이스들은 독립형 디바이스로서 기능할 수 있거나 또는 디바이스들의 네트워크의 일부일 수 있다. 디바이스들의 다양한 네트워크 구성들이 구현될 수 있고 하기에 더 상세히 논의된다.
도 5와 관련하여 상술된 시스템 피처들 중 적어도 일부를 활용하는 사용자 장비 디바이스는 오로지 사용자 텔레비전 장비(602), 사용자 컴퓨터 장비(604), 또는 무선 사용자 통신 디바이스(606)로서만 분류되지 않을 수도 있다. 예를 들어, 사용자 텔레비전 장비(602)는, 일부 사용자 컴퓨터 장비(604)와 마찬가지로, 인터넷 콘텐츠로의 액세스를 허용하는 인터넷 가능형일 수 있는 한편, 사용자 컴퓨터 장비(604)는, 일부 텔레비전 장비(602)와 마찬가지로, 텔레비전 프로그래밍으로의 액세스를 허용하는 튜너를 포함할 수 있다. 미디어 안내 애플리케이션은 다양한 상이한 타입들의 사용자 장비 상에서 동일한 레이아웃을 가질 수 있거나 또는 사용자 장비의 디스플레이 능력들에 맞게 조정될 수 있다. 예를 들어, 사용자 컴퓨터 장비(604) 상에서, 안내 애플리케이션은 웹 브라우저에 의해 액세스되는 웹사이트로서 제공될 수 있다. 다른 예에서, 안내 애플리케이션은 무선 사용자 통신 디바이스들(606)에 대해 스케일링 다운될 수 있다.
시스템(600)에서, 전형적으로 하나 초과의 각각의 타입의 사용자 장비 디바이스가 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 각각의 하나만이 도 6에 도시되어 있다. 부가적으로, 각각의 사용자는 하나 초과의 타입의 사용자 장비 디바이스 그리고 또한 하나 초과의 각각의 타입의 사용자 장비 디바이스를 활용할 수 있다.
일부 실시예들에서, 사용자 장비 디바이스(예를 들어, 사용자 텔레비전 장비(602), 사용자 컴퓨터 장비(604), 무선 사용자 통신 디바이스(606))는 "제2 스크린 디바이스"로 지칭될 수 있다. 예를 들어, 제2 스크린 디바이스는 제1 사용자 장비 디바이스 상에 제시되는 콘텐츠를 보충할 수 있다. 제2 스크린 디바이스 상에 제시되는 콘텐츠는 제1 디바이스 상에 제시되는 콘텐츠를 보충하는 임의의 적합한 콘텐츠일 수 있다. 일부 실시예들에서, 제2 스크린 디바이스는 설정들을 조정하고 제1 디바이스의 선호도들을 디스플레이하기 위한 인터페이스를 제공한다. 일부 실시예들에서, 제2 스크린 디바이스는 다른 제2 스크린 디바이스와 상호작용하도록 또는 소셜 네트워크와 상호작용하도록 구성된다. 제2 스크린 디바이스는 제1 디바이스와 동일한 룸(room)에, 제1 디바이스와는 상이한 룸에 있지만 동일한 집 또는 건물에, 또는 제1 디바이스와는 상이한 건물에 위치될 수 있다.
또한, 사용자는 홈 내 디바이스(in-home device)들 및 원격 디바이스들에 걸쳐 미디어 안내 애플리케이션 설정들을 일관되게 유지하도록 다양한 설정들을 설정할 수 있다. 설정들은 본 명세서에서 설명되는 것들뿐만 아니라, 채널 및 프로그램 즐겨찾기들, 프로그래밍 추천들을 행하기 위해 안내 애플리케이션이 활용하는 프로그래밍 선호도들, 디스플레이 선호도들, 및 다른 바람직한 안내 설정들을 포함한다. 예를 들어, 사용자가, 예를 들어, 자신의 사무실에 있는 자신의 퍼스널 컴퓨터 상의 웹사이트 www.allrovi.com에 대한 즐겨찾기로서 채널을 설정하는 경우, 동일한 채널이 사용자의 홈 내 디바이스들(예를 들어, 사용자 텔레비전 장비 및 사용자 컴퓨터 장비)뿐만 아니라, 원한다면, 사용자의 모바일 디바이스들 상의 즐겨찾기로서 보여질 것이다. 그에 따라, 하나의 사용자 장비 디바이스 상에서 행해진 변경들은 다른 사용자 장비 디바이스 상에서의 안내 경험을, 이들이 동일한 또는 상이한 타입의 사용자 장비 디바이스인지 여부에 관계없이, 변경할 수 있다. 부가적으로, 행해진 변경들은 사용자가에 의해 입력된 설정들뿐만 아니라, 안내 애플리케이션에 의해 모니터링되는 사용자 활동에 기초할 수 있다.
사용자 장비 디바이스들은 통신 네트워크(614)에 커플링될 수 있다. 즉, 사용자 텔레비전 장비(602), 사용자 컴퓨터 장비(604), 및 무선 사용자 통신 디바이스(606)는 각각 통신 경로들(608, 610, 및 612)을 통해 통신 네트워크(614)에 커플링된다. 통신 네트워크(614)는 인터넷, 모바일 폰 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들어, 6G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환 전화 네트워크, 또는 다른 타입들의 통신 네트워크 또는 통신 네트워크들의 조합들을 포함하는 하나 이상의 네트워크들일 수 있다. 경로들(608, 610, 및 612)은 위성 경로, 광섬유 경로, 케이블 경로, 인터넷 통신들(예를 들어, IPTV)을 지원하는 경로, (예를 들어, 방송 또는 다른 무선 신호들을 위한) 자유 공간 커넥션들, 또는 임의의 다른 적합한 유선 또는 무선 통신 경로 또는 그러한 경로들의 조합과 같은 하나 이상의 통신 경로들을 별개로 또는 함께 포함할 수 있다. 경로(612)는 점선들로 그려져서 도 6에 도시된 예시적인 실시예에서 그것은 무선 경로임을 나타내고, 경로들(608 및 610)은 실선들로 그려져서 이들이 유선 경로들임을 나타낸다(그러나 이들 경로들은, 원한다면, 무선 경로들일 수 있음). 사용자 장비 디바이스들과의 통신들은 이들 통신 경로들 중 하나 이상에 의해 제공될 수 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 도 6에서는 단일 경로로서 도시된다.
사용자 장비 디바이스들 사이에 통신 경로들이 그려져 있지 않지만, 이들 디바이스들은 경로들(608, 610, 및 612)과 관련하여 상술된 것들과 같은 통신 경로들뿐만 아니라, 다른 단거리 포인트-투-포인트 통신 경로들, 예컨대 USB 케이블들, IEEE 1596 케이블들, 무선 경로들(예를 들어, 블루투스, 적외선, IEEE 802-11x 등), 또는 유선 또는 무선 경로들을 통한 다른 단거리 통신을 통해 서로 직접 통신할 수 있다. 블루투스는 Bluetooth SIG, INC.에 의해 소유된 인증 마크이다. 사용자 장비 디바이스들은 또한 통신 네트워크(614)를 통한 간접 경로를 통해 서로 직접 통신할 수 있다.
시스템(600)은, 통신 경로(626)를 통해 통신 네트워크(614)에 커플링된 수퍼 어그리게이터(624)를 포함한다. 경로(626)는, 경로들(608, 610, 및 612)과 관련하여 상술된 통신 경로들 중 임의의 것을 포함할 수 있다. 수퍼 어그리게이터(624)와의 통신은 하나 이상의 통신 경로들을 통해 교환될 수 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 도 6에서는 단일 경로로서 도시된다. 사용자 장비 디바이스들(602, 604, 및 606)과 수퍼 어그리게이터(624) 사이의 통신들이 통신 네트워크(614)를 통하는 것으로서 도시되어 있지만, 일부 실시예들에서, 수퍼 어그리게이터(624)는 경로들(608, 610, 및 612)과 관련하여 상술된 것들과 같은 통신 경로들(도시되지 않음)을 통해 사용자 장비 디바이스들(602, 604, 및 606)과 직접 통신할 수 있다.
시스템(600)은, 통신 경로들(620 및 622)을 통해 통신 네트워크(614)에 커플링되는 콘텐츠 소스들(616) 및 미디어 안내 데이터 소스(618)를 포함한다. 경로들(620 및 622)은, 경로들(608, 610, 및 612)과 관련하여 상술된 통신 경로들 중 임의의 것을 포함할 수 있다. 콘텐츠 소스(616) 및 미디어 안내 데이터 소스(618)와의 통신들은 하나 이상의 통신 경로들을 통해 교환될 수 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 도 6에서는 단일 경로로서 도시된다. 부가적으로, 2개 초과의 콘텐츠 소스(616)가 있을 수 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 도 6에는 2개만이 도시되어 있다. 부가적으로, 하나 초과의 미디어 안내 데이터 소스(618)가 있을 수 있지만, 도면을 과도하게 복잡하게 하는 것을 피하기 위해 도 6에는 하나만이 도시되어 있다. (이들 소스들 각각의 상이한 타입들이 하기에 논의된다.) 원한다면, 콘텐츠 소스(616) 및 미디어 안내 데이터 소스(618)는 하나의 소스 디바이스로서 통합될 수 있다. 소스들(616 및 618)과 수퍼 어그리게이터(624) 사이의 통신들이 통신 네트워크(614)를 통하는 것으로서 도시되어 있지만, 일부 실시예들에서, 소스들(616 및 618)은 경로들(608, 610, 및 612)과 관련하여 상술된 것들과 같은 통신 경로들(도시되지 않음)을 통해 수퍼 어그리게이터(624)와 직접 통신할 수 있다.
콘텐츠 소스(616)는, 텔레비전 분배 설비, 케이블 시스템 헤드엔드, 위성 분배 설비, 프로그래밍 소스들(예를 들어, NBC, ABC, HBO 등과 같은 텔레비전 방송사들), 중간 분배 설비들 및/또는 서버들, 인터넷 제공자들, 온디맨드 미디어 서버들, 및 다른 콘텐츠 제공자들을 포함하는 하나 이상의 타입들의 콘텐츠 분배 장비를 포함할 수 있다. NBC는 National Broadcasting Company, Inc.에 의해 소유된 상표이고, ABC는 American Broadcasting Company, Inc.에 의해 소유된 상표이며, HBO는 Home Box Office, Inc.에 의해 소유된 상표이다. 콘텐츠 소스(616)는 콘텐츠의 발신자(예를 들어, 텔레비전 방송사, 웹캐스트 제공자 등)일 수 있거나 또는 콘텐츠의 발신자가 아닐 수도 있다(예를 들어, 온디맨드 콘텐츠 제공자, 다운로드하기 위한 방송 프로그램들의 콘텐츠의 인터넷 제공자 등). 콘텐츠 소스(616)는 케이블 소스들, 위성 제공자들, 온디맨드 제공자들, 인터넷 제공자들, 오버더톱 콘텐츠 제공자들, 또는 콘텐츠의 다른 제공자들을 포함할 수 있다. 콘텐츠 소스(616)는, 사용자 장비 디바이스들 중 임의의 것으로부터 원거리에 있는 위치에, 상이한 타입들의 콘텐츠(사용자에 의해 선택되는 비디오 콘텐츠를 포함함)를 저장하는 데 사용되는 원격 미디어 서버를 또한 포함할 수 있다. 콘텐츠의 원격 저장을 위한, 그리고 원격으로 저장된 콘텐츠를 사용자 장비에 제공하기 위한 시스템들 및 방법들은 2010년 7월 20일자로 허여된 Ellis 등의 미국 특허 제7,761,892호와 관련하여 더 상세히 논의되는데, 이는 이로써 그 전체가 본 명세서에 참조로 포함된다.
미디어 안내 데이터 소스(618)는 상술된 미디어 안내 데이터와 같은 미디어 안내 데이터를 제공할 수 있다. 임의의 적합한 접근법을 사용하여 사용자 장비 디바이스들에 미디어 안내 데이터가 제공될 수 있다. 일부 실시예들에서, 안내 애플리케이션은 데이터 피드(예를 들어, 연속 피드 또는 트리클(trickle) 피드)를 통해 프로그램 안내 데이터를 수신하는 독립형 인터랙티브 텔레비전 프로그램 가이드일 수 있다. 프로그램 스케줄 데이터 및 다른 안내 데이터는 대역 내 디지털 신호를 사용하여, 대역 외 디지털 신호를 사용하여, 또는 임의의 다른 적합한 데이터 송신 기법에 의해, 텔레비전 채널 측대역 상에서 사용자 장비에 제공될 수 있다. 프로그램 스케줄 데이터 및 다른 미디어 안내 데이터는 다수의 아날로그 또는 디지털 텔레비전 채널들 상에서 사용자 장비에 제공될 수 있다.
일부 실시예들에서, 미디어 안내 데이터 소스(618)로부터의 안내 데이터는 클라이언트-서버 접근법을 사용하여 사용자의 장비에 제공될 수 있다. 예를 들어, 사용자 장비 디바이스는 서버로부터의 미디어 안내 데이터를 풀링(pull)할 수 있거나, 또는 서버는 사용자 장비 디바이스로 미디어 안내 데이터를 푸시(push)할 수 있다. 일부 실시예들에서, 사용자의 장비 상에 상주하는 안내 애플리케이션 클라이언트는, 필요하다면, 예를 들어, 안내 데이터가 오래되었을 때 또는 사용자 장비 디바이스가 사용자로부터 데이터를 수신하라는 요청을 수신할 때, 소스(618)와의 세션들을 개시하여 안내 데이터를 획득할 수 있다. 임의의 적합한 빈도로(예를 들어, 연속적으로, 매일, 사용자 특정된 시간 주기, 시스템 특정된 시간 주기, 사용자 장비로부터의 요청에 응답하여 등) 미디어 안내가 사용자 장비에 제공될 수 있다. 미디어 안내 데이터 소스(618)는 사용자 장비 디바이스들(602, 604, 및 606)에 미디어 안내 애플리케이션 자체 또는 미디어 안내 애플리케이션에 대한 소프트웨어 업데이트들을 제공할 수 있다.
일부 실시예들에서, 미디어 안내 데이터는 뷰어 데이터를 포함할 수 있다. 예를 들어, 뷰어 데이터는 현재 및/또는 이력 사용자 활동 정보(예를 들어, 사용자가 전형적으로 어떤 콘텐츠를 뷰잉하는지, 어떤 날의 시간들에서 사용자가 콘텐츠를 시청하는지, 사용자가 소셜 네트워크와 상호작용하는지 여부, 어떤 시간들에서 사용자가 정보를 포스팅할 소셜 네트워크와 상호작용하는지, 사용자가 전형적으로 시청하는 콘텐츠가 어떤 타입들인지(예를 들어, 유료 TV 또는 무료 TV), 기분, 뇌 활동 정보 등)를 포함할 수 있다. 미디어 안내 데이터는 또한 가입 데이터를 포함할 수 있다. 예를 들어, 가입 데이터는 주어진 사용자가 어떤 소스들 또는 서비스들에 가입하였는지 및/또는 주어진 사용자가 어떤 소스들 또는 서비스들에 이전에 가입하였으나 추후에 액세스가 종료되었는지(예를 들어, 사용자가 프리미엄 채널들에 가입하였는지 여부, 사용자가 프리미엄 서비스 레벨을 부가하였는지 여부, 사용자가 인터넷 속도를 증가시켰는지 여부)를 식별할 수 있다. 일부 실시예들에서, 뷰어 데이터 및/또는 가입 데이터는 1년 초과의 주기 동안 주어진 사용자의 패턴들을 식별할 수 있다. 미디어 안내 데이터는, 주어진 사용자가 서비스/소스로의 액세스를 종료할 가능성을 나타내는 스코어를 생성하는 데 사용되는 모델(예를 들어, 생존자 모델)을 포함할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 주어진 사용자가 특정 서비스 또는 소스로의 액세스를 종료할지 여부의 가능성을 나타내는 값 또는 스코어를 생성하기 위해 모델을 사용하여 뷰어 데이터를 가입 데이터와 함께 프로세싱할 수 있다. 특히, 스코어가 높을수록 사용자가 특정 서비스 또는 소스로의 액세스를 종료할 것이라는 신뢰도의 레벨이 높아진다는 것을 나타낼 수 있다. 스코어에 기초하여, 미디어 안내 애플리케이션은 스코어에 의해 나타내어진 특정 서비스 또는 소스가 사용자가 액세스를 종료할 가능성이 있는 것으로서 유지하도록 사용자를 유도하는 프로모션들 및 광고들을 생성할 수 있다.
일부 실시예들에서, 미디어 안내 데이터 소스들(618)로부터의 미디어 안내 데이터 및 미디어 콘텐츠 소스들(616)로부터의 미디어 콘텐츠는 수퍼 어그리게이터(624)에 의해 사용자의 장비에 제공될 수 있다. 예를 들어, 사용자 장비 디바이스는 수퍼 어그리게이터(624)로부터의 미디어 안내 데이터 및 다른 콘텐츠를 풀링할 수 있거나, 또는 수퍼 어그리게이터(624)는 미디어 안내 데이터 및 다른 콘텐츠를 사용자 장비 디바이스로 푸시할 수 있다. 부가적으로, 수퍼 어그리게이터(624)는 미디어 안내 데이터 소스들(618)로부터의 미디어 안내 데이터 및 미디어 콘텐츠 소스들(616)로부터의 미디어 콘텐츠를 풀링할 수 있거나, 또는 미디어 안내 데이터 소스들 및 미디어 콘텐츠 소스들은 미디어 안내 데이터 소스들 및 미디어 콘텐츠를 각각 수퍼 어그리게이터(624)에 푸시할 수 있다.
일부 실시예들에서, 수퍼 어그리게이터(624)는 사용자의 장비에 미디어 콘텐츠를 제공하기 전에 콘텐츠 제공자들로부터 수신된 미디어 콘텐츠를 필터링할 수 있다. 유사하게, 수퍼 어그리게이터(624)는 사용자의 장비에 미디어 콘텐츠를 제공하기 전에 미디어 안내 데이터 소스들로부터 수신된 미디어 안내 데이터를 필터링할 수 있다. 예를 들어, 수퍼 어그리게이터는 미디어 콘텐츠 및 미디어 안내 데이터로부터의 콘텐츠 제공자의 임의의 표시를, 이들을 사용자들에게 제공하기 전에 제거할 수 있다.
일부 실시예들에서, 수퍼 어그리게이터(624)는 미디어 콘텐츠 소스들 및 미디어 안내 데이터 소스들 각각으로부터의 미디어 콘텐츠 및 미디어 안내 데이터를 이메일 또는 전화에 의해 사용자들에게 제공할 수 있다. 예를 들어 수퍼 어그리게이터는 미디어 자산의 가용성 및 가격을 이메일에 의해 사용자들에게 제공할 수 있다.
미디어 안내 애플리케이션은, 예를 들어, 사용자 장비 디바이스들 상에서 구현되는 독립형 애플리케이션들일 수 있다. 예를 들어, 미디어 안내 애플리케이션은, 스토리지(508)에 저장되고 사용자 장비 디바이스(500)의 제어 회로부(504)에 의해 실행될 수 있는 소프트웨어 또는 실행가능한 명령어들의 세트로서 구현될 수 있다. 일부 실시예들에서, 미디어 안내 애플리케이션들은, 클라이언트 애플리케이션만이 사용자 장비 디바이스 상에 상주하고 서버 애플리케이션이 원격 서버 상에 상주하는 클라이언트-서버 애플리케이션들일 수 있다. 예를 들어, 미디어 안내 애플리케이션들은 사용자 장비 디바이스(500)의 제어 회로부(504) 상의 클라이언트 애플리케이션으로서 부분적으로 그리고 원격 서버의 제어 회로부 상에서 실행되는 서버 애플리케이션(예를 들어, 미디어 안내 데이터 소스(618))으로서 원격 서버 상에서 부분적으로 구현될 수 있다. (미디어 안내 데이터 소스(618)와 같은) 원격 서버의 제어 회로부에 의해 실행될 때, 미디어 안내 애플리케이션은 안내 애플리케이션 디스플레이들을 생성하고 생성된 디스플레이들을 사용자 장비 디바이스들로 송신하도록 제어 회로부에게 지시할 수 있다. 서버 애플리케이션은 사용자 장비 상의 저장을 위해 데이터를 송신하도록 미디어 안내 데이터 소스(618)의 제어 회로부에게 지시할 수 있다. 클라이언트 애플리케이션은 안내 애플리케이션 디스플레이들을 생성하도록 수신 사용자 장비의 제어 회로부에게 지시할 수 있다.
사용자 장비 디바이스들(602, 604, 및 606)에 전달된 콘텐츠 및/또는 미디어 안내 데이터는 오버더톱 콘텐츠일 수 있다. OTT 콘텐츠 전달은, 상술된 임의의 사용자 장비 디바이스를 포함하는 인터넷 가능형 사용자 디바이스들이, 케이블 또는 위성 커넥션들을 통해 수신된 콘텐츠에 부가적으로, 상술된 임의의 콘텐츠를 포함하여 인터넷을 통해 전송되는 콘텐츠를 수신하게 한다. OTT 콘텐츠는 인터넷 서비스 제공자(ISP)에 의해 제공되는 인터넷 커넥션을 통해 전달되지만, 제3자가 콘텐츠를 분배한다. ISP는 콘텐츠의 뷰잉 능력들, 저작권들, 또는 재분배에 대한 책임을 지지 않을 수도 있고, OTT 콘텐츠 제공자에 의해 제공된 IP 패킷들만을 전송할 수 있다. OTT 콘텐츠 제공자들의 예들로는 IP 패킷들을 통해 오디오 및 비디오를 제공하는 유튜브(YOUTUBE), 넷플릭스(NETFLIX), 및 훌루(HULU)를 포함한다. 유튜브는 Google Inc.에 의해 소유된 상표이고, 넷플릭스는 Netflix Inc.에 의해 소유된 상표이며, 훌루는 Hulu, LLC에 의해 소유된 상표이다. OTT 콘텐츠 제공자들은 상술된 미디어 안내 데이터를 부가적으로 또는 대안적으로 제공할 수 있다. 콘텐츠 및/또는 미디어 안내 데이터에 부가적으로, OTT 콘텐츠의 제공자들은 미디어 안내 애플리케이션들(예를 들어, 웹 기반 애플리케이션들 또는 클라우드 기반 애플리케이션들)을 분배할 수 있거나, 또는 사용자 장비 디바이스 상에 저장된 미디어 안내 애플리케이션들에 의해 콘텐츠가 디스플레이될 수 있다.
미디어 안내 시스템(600)은 콘텐츠에 액세스하고 미디어 안내를 제공할 목적으로 콘텐츠 및 안내 데이터의 소스들 및 사용자 장비 디바이스들이 서로 통신할 수 있게 하는 다수의 접근법들, 또는 네트워크 구성들을 예시하도록 의도된다. 본 명세서에서 설명되는 실시예들은 이들 접근법들 중 임의의 하나 또는 서브세트에서, 또는 콘텐츠를 전달하고 미디어 안내를 제공하기 위한 다른 접근법들을 채용하는 시스템에서 적용될 수 있다. 다음의 4개의 접근법들이 도 6의 일반화된 예의 특정 예시들을 제공한다.
하나의 접근법에서, 사용자 장비 디바이스들은 홈 네트워크 내에서 서로 통신할 수 있다. 사용자 장비 디바이스들은 상술된 단거리 포인트-투-포인트 통신 스킴들을 통해, 홈 네트워크 상에 제공된 허브 또는 다른 유사한 디바이스를 통한 간접 경로들을 통해, 또는 통신 네트워크(614)를 통해 서로 직접 통신할 수 있다. 단일의 홈 내의 다수의 개인들 각각은 홈 네트워크 상의 상이한 사용자 장비 디바이스들을 동작시킬 수 있다. 결과적으로, 다양한 미디어 안내 정보 또는 설정들이 상이한 사용자 장비 디바이스들 사이에서 통신되는 것이 바람직할 수 있다. 예를 들어, 2005년 7월 11일자로 출원된 Ellis 등의 미국 특허 공개 공보 제2005/0251827호에 더 상세히 설명된 바와 같이, 사용자들이 홈 네트워크 내의 상이한 사용자 장비 디바이스들 상에서 일관된 미디어 안내 애플리케이션 설정들을 유지하는 것이 바람직할 수 있다. 홈 네트워크 내의 상이한 타입들의 사용자 장비 디바이스들은 또한 서로 통신하여 콘텐츠를 송신할 수 있다. 예를 들어, 사용자는 사용자 컴퓨터 장비로부터의 콘텐츠를 휴대용 비디오 플레이어 또는 휴대용 음악 플레이어로 송신할 수 있다.
제2 접근법에서, 사용자들은 이들이 콘텐츠에 액세스하게 하고 미디어 안내를 획득하게 하는 다수의 타입들의 사용자 장비를 가질 수 있다. 예를 들어, 일부 사용자들은 홈 내 및 모바일 디바이스들에 의해 액세스되는 홈 네트워크들을 가질 수 있다. 사용자들은 원격 디바이스 상에서 구현되는 미디어 안내 애플리케이션을 통해 홈 내 디바이스들을 제어할 수 있다. 예를 들어, 사용자들은 자신의 사무실에 있는 퍼스널 컴퓨터, 또는 PDA 또는 웹 가능형 모바일 전화기와 같은 모바일 디바이스를 통해 웹사이트 상의 온라인 미디어 안내 애플리케이션에 액세스할 수 있다. 사용자는 온라인 안내 애플리케이션 상의 다양한 설정들(예를 들어, 레코딩들, 리마인더들, 또는 다른 설정들)을 설정하여 사용자의 홈 내 장비를 제어할 수 있다. 온라인 가이드는 사용자의 장비를 직접, 또는 사용자의 홈 내 장비 상의 미디어 안내 애플리케이션과 통신하는 것에 의해 제어할 수 있다. 사용자 장비 디바이스들 - 사용자 장비 디바이스들은 서로 원거리에 있는 위치들에 있음 - 이 통신하기 위한 다양한 시스템들 및 방법들은, 예를 들어, 2011년 10월 25일자로 허여된 Ellis 등의 미국 특허 제8,066,801호에서 논의되는데, 이는 이로써 그 전체가 본 명세서에 참조로 포함된다.
제3 접근법에서, 홈 내측 및 외측의 사용자 장비 디바이스들의 사용자들은 자신의 미디어 안내 애플리케이션을 사용하여 콘텐츠 소스(616)와 직접 통신하여 콘텐츠에 액세스할 수 있다. 구체적으로는, 홈 내에서, 사용자 텔레비전 장비(602) 및 사용자 컴퓨터 장비(604)의 사용자들은 바람직한 콘텐츠 중에서 내비게이팅하고 이를 로케이팅하기 위해 미디어 안내 애플리케이션에 액세스할 수 있다. 사용자들은 또한 무선 사용자 통신 디바이스들(606)을 사용하여 홈 외측의 미디어 안내 애플리케이션에 액세스하여 바람직한 콘텐츠 중에서 내비게이팅하고 이를 로케이팅할 수 있다.
제4 접근법에서, 예를 들어, 수퍼 어그리게이터(624)를 이용하는 접근법에서, 사용자 장비 디바이스들은 클라우드 컴퓨팅 환경에서 동작하여 클라우드 서비스들에 액세스할 수 있다. 클라우드 컴퓨팅 환경에서, 콘텐츠 공유, 저장 또는 분배를 위한 다양한 타입들의 컴퓨팅 서비스들(예를 들어, 비디오 공유 사이트들 또는 소셜 네트워킹 사이트들)은, "클라우드"로 지칭되는, 네트워크 액세스가능한 컴퓨팅 및 스토리지 리소스들의 콜렉션에 의해 제공된다. 예를 들어, 클라우드는, 통신 네트워크(614)를 통해 인터넷과 같은 네트워크를 통해 연결된 다양한 타입들의 사용자들 및 디바이스들에 클라우드 기반 서비스들을 제공하는, 중앙에 또는 분산 위치들에 위치될 수 있는 서버 컴퓨팅 디바이스들의 콜렉션을 포함할 수 있다. 이들 클라우드 리소스들은, 사용자들에게 미디어 콘텐츠 소스들(616)로부터의 미디어 콘텐츠 및 미디어 안내 데이터 소스들(618)로부터의 미디어 안내 데이터를 제공할 수 있는, "클라우드 기반 어그리게이터"로도 본 명세서에서 또한 지칭되는, 수퍼 어그리게이터(624)를 포함할 수 있다. 이들 클라우드 리소스들은 하나 이상의 콘텐츠 소스들(616) 및 하나 이상의 미디어 안내 데이터 소스들(618)을 포함할 수 있다. 부가적으로 또는 대안적으로, 원격 컴퓨팅 사이트들은 사용자 텔레비전 장비(602), 사용자 컴퓨터 장비(604), 및 무선 사용자 통신 디바이스(606)와 같은 다른 사용자 장비 디바이스들을 포함할 수 있다. 예를 들어, 다른 사용자 장비 디바이스들은 비디오 또는 스트리밍된 비디오의 저장된 복사본으로의 액세스를 제공할 수 있다. 그러한 실시예들에서, 사용자 장비 디바이스들은 중앙 서버와 통신하는 일 없이 피어-투-피어 방식으로 동작할 수 있다.
클라우드는 사용자 장비 디바이스들에 대해 상술된 임의의 콘텐츠로의 액세스뿐만 아니라, 다른 예들 중에서도, 콘텐츠 저장, 콘텐츠 공유, 또는 소셜 네트워킹 서비스들과 같은 서비스들로의 액세스를 제공한다. 클라우드 컴퓨팅 서비스 제공자들을 통해, 또는 온라인 서비스들의 다른 제공자들을 통해 클라우드에서 서비스들이 제공될 수 있다. 예를 들어, 클라우드 기반 서비스들은 콘텐츠 스토리지 서비스, 콘텐츠 공유 사이트, 소셜 네트워킹 사이트, 또는 연결된 디바이스들 상의 다른 사람들에 의한 뷰잉을 위해 사용자 소싱된 콘텐츠가 분배되게 하는 다른 서비스들을 포함할 수 있다. 이들 클라우드 기반 서비스들은, 콘텐츠를 로컬로 저장하고 로컬로 저장된 콘텐츠에 액세스하기보다는, 사용자 장비 디바이스가 콘텐츠를 클라우드에 저장하게 하고 클라우드로부터 콘텐츠를 수신하게 할 수 있다.
사용자는 캠코더들, 비디오 모드를 갖는 디지털 카메라들, 오디오 레코더들, 모바일 폰들, 및 핸드헬드 컴퓨팅 디바이스들과 같은 다양한 콘텐츠 캡처 디바이스들을 사용하여 콘텐츠를 레코딩할 수 있다. 사용자는, 예를 들어, 콘텐츠 캡처 피처를 갖는 무선 사용자 통신 디바이스(606) 또는 사용자 컴퓨터 장비(604)로부터 클라우드 상의 콘텐츠 스토리지 서비스에 콘텐츠를 직접 업로드할 수 있다. 대안적으로, 사용자는 먼저 사용자 컴퓨터 장비(604)와 같은 사용자 장비 디바이스로 콘텐츠를 전송할 수 있다. 콘텐츠를 저장하는 사용자 장비 디바이스는 통신 네트워크(614) 상의 데이터 송신 서비스를 사용하여 클라우드에 콘텐츠를 업로드한다. 일부 실시예들에서, 사용자 장비 디바이스 자체는 클라우드 리소스이고, 다른 사용자 장비 디바이스들은 사용자가 콘텐츠를 저장한 사용자 장비 디바이스로부터의 콘텐츠에 직접 액세스할 수 있다.
클라우드 리소스들은, 예를 들어, 웹 브라우저, 미디어 안내 애플리케이션, 데스크톱 애플리케이션, 모바일 애플리케이션, 및/또는 이들의 액세스 애플리케이션들의 임의의 조합을 사용하여 사용자 장비 디바이스에 의해 액세스될 수 있다. 사용자 장비 디바이스는 애플리케이션 전달을 위해 클라우드 컴퓨팅에 의존하는 클라우드 클라이언트일 수 있거나, 또는 사용자 장비 디바이스는 클라우드 리소스들로의 액세스 없이 일부 기능성을 가질 수 있다. 예를 들어, 사용자 장비 디바이스 상에서 실행되는 일부 애플리케이션들은 클라우드 애플리케이션들, 즉, 인터넷을 통해 서비스로서 전달되는 애플리케이션들일 수 있는 한편, 다른 애플리케이션들은 사용자 장비 디바이스 상에 저장 및 실행될 수 있다. 일부 실시예들에서, 사용자 디바이스는 다수의 클라우드 리소스들로부터 동시에 콘텐츠를 수신할 수 있다. 예를 들어, 사용자 디바이스는 하나의 클라우드 리소스로부터의 오디오를 스트리밍하면서 제2 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 또는 사용자 디바이스가 더 효율적인 다운로딩을 위해 다수의 클라우드 리소스들로부터 콘텐츠를 다운로드할 수 있다. 일부 실시예들에서, 사용자 장비 디바이스들은 도 5와 관련하여 설명된 프로세싱 회로부에 의해 수행되는 프로세싱 동작들과 같은 프로세싱 동작들을 위해 클라우드 리소스들을 사용할 수 있다.
본 명세서에서 지칭되는 바와 같이, "~에 응답하여"라는 용어는 ~의 결과로서 개시된다는 것을 지칭한다. 예를 들어, 제1 액션이 다른 액션에 응답하여 수행되는 것은 제1 액션과 제2 액션 사이에 중간(interstitial) 단계들을 포함할 수 있다. 본 명세서에서 지칭되는 바와 같이, "직접 ~에 반응하여"라는 용어는 ~에 의해 야기된다는 것을 지칭한다. 예를 들어, 제1 액션이 직접 다른 액션에 응답하여 수행되는 것은 제1 액션과 제2 액션 사이에 중간 단계들을 포함하지 않을 수도 있다.
본 명세서에서 지칭되는 바와 같이, "디스플레이를 위해 생성하는"이라는 용어는, 미디어 콘텐츠가 디스플레이되는 디바이스가, 미디어 콘텐츠가 디스플레이를 위해 생성되게 하는 디바이스든지 아니든지 간에, 디바이스 상의 미디어 콘텐츠의 디스플레이를 직접적으로 또는 간접적으로 야기시키는 것을 의미한다. 예를 들어, 셋톱 박스는 미디어 자산을 디스플레이하기 위해 디스플레이 디바이스(예를 들어, TV)에 전송될 신호를 생성하기 위해 제어 회로부(예를 들어, 그래픽 프로세싱 유닛)를 사용하는 것에 의해 미디어 자산을 디스플레이를 위해 생성할 수 있다. 이 예에서, 셋톱 박스는 미디어 자산을 디스플레이하기 위해 디스플레이 디바이스에 의해 사용되는 신호를 생성하고, 그에 따라 셋톱 박스는 미디어 자산을 디스플레이를 위해 생성한다.
도 7은 미디어 콘텐츠의 제공자들을 선택하기 위한 예시적인 단계들의 흐름도이다. 프로세스(700) 또는 그의 임의의 단계는 도 5 및 도 6에 도시된 디바이스들 중 임의의 디바이스 상에서 수행될 수 있거나 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것에 유의해야 한다. 예를 들어, 프로세스(700)는 미디어 콘텐츠의 제공자들을 선택하기 위해 사용자 장비(602, 604, 및/또는 606)(도 6) 상에서 구현되는 미디어 안내 애플리케이션에 의해 지시된 바와 같이 제어 회로부(504)(도 5)에 의해 실행될 수 있다. 부가적으로, 프로세스(700)의 하나 이상의 단계들은 (예를 들어, 도 8 내지 도 13과 관련하여 설명되는 바와 같이) 임의의 다른 프로세스 또는 실시예의 하나 이상의 단계들에 통합되거나 또는 이들과 결합될 수 있다.
프로세스(700)에서, 미디어 안내 애플리케이션은 미디어 콘텐츠의 제공자들을 선택한다. 단계 702에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크(예를 들어, 통신 네트워크(614)(도 6))를 통해 (예를 들어, 사용자 i/o 경로(502)(도 5)를 통해) 수신하는데, 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능하다. 예를 들어, 사용자는 모바일 디바이스의 다수의 소스들로부터 콘텐츠를 집성하는 미디어 안내 애플리케이션에 원격으로 액세스할 수 있다.
단계 704에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))를 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 사용자들이 미디어 콘텐츠를 스트리밍하게 하는 웹사이트로부터 현재 이용가능한 미디어 자산들을 결정할 수 있다.
단계 706에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))를 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 사용자들이 미디어 콘텐츠를 또한 스트리밍하게 하는 제2 웹사이트로부터 현재 이용가능한 미디어 자산들을 결정할 수 있다. 또한, 미디어 안내 애플리케이션은 2개의 웹사이트들 양측 모두가 동일한 미디어 자산을 제공한다는 것을 결정할 수 있다.
단계 708에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 사용자 디바이스가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제1 서비스 품질을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스에게 체크섬 값에 대해 질의하고, 질의에 응답하여 사용자 디바이스로부터 체크섬 값을 수신할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 제1 웹사이트로부터 콘텐츠를 수신하기 위한 에러 레이트를 결정할 수 있다.
단계 710에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 사용자 디바이스가 제2 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제2 서비스 품질을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 제1 웹사이트로부터 콘텐츠를 수신하기 위한 에러 레이트를 결정할 수 있다.
단계 710에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, (예를 들어, 제어 회로부(504)(도 5)를 통해) 제1 서비스 품질을 제2 서비스 품질과 비교한다. 예를 들어, 미디어 안내 애플리케이션은 사용자가 보다 낮은 에러 레이트로 동일한 미디어 자산을 획득하게 하는 것이 어떤 웹사이트인지를 결정할 수 있다.
단계 712에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 비교에 기초하여 제1 서비스 품질이 제2 서비스 품질보다 더 높다는 것을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 제1 웹사이트에 대응하는 에러 레이트를 제2 웹사이트에 대응하는 에러 레이트와 비교할 수 있다.
단계 714에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 제1 서비스 품질이 제2 서비스 품질보다 더 크다는 결정에 기초하여 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 미디어 리스팅(예를 들어, 영화(120)(도 1))을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 디스플레이를 위해 생성한다. 예를 들어, 중복 미디어 리스팅들(예를 들어, 각각의 미디어 리스팅이 상이한 미디어 콘텐츠 제공자에 대응하는 동일한 미디어 자산에 대응하는 2개의 리스팅들)을 제시하는 대신에, 미디어 안내 애플리케이션은 사용자에게 최상의 사용자 경험을 제공하는(예를 들어, 최상의 서비스 품질을 제공하는) 미디어 리스팅을 자동으로(예를 들어, 임의의 테스팅 및/또는 추가의 사용자 입력들을 요구하는 일 없이) 선택할 수 있다.
일부 실시예들에서, 서비스 품질은 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터와 같은 하나 이상의 서비스 품질 특성들에 기초할 수 있다. 또한, 일부 실시예들에서, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 다수의 인자(factor)들에 기초하여 서비스 품질을 결정할 수 있다. 미디어 안내 애플리케이션은 제1 서비스 품질 특성에 제1 가중치를 그리고 제2 서비스 품질 특성에 제2 가중치를 할당할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 인자들이 사용자 경험, 산업 표준들, 및/또는 사용자 선호도들에 영향을 미치는 양에 따라 인자들을 가중할 수 있다. 그 후에, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성에 대한 가중 평균을 결정할 수 있다. 예를 들어, 제1 및 제2 특성들을 정량화하고 개개의 가중치들을 적용한 후에, 미디어 안내 애플리케이션은 가중된 제1 및 제2 특성들의 합을 결정하여 서비스 품질을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 다양한 서비스 품질들을 등급화할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 제1 서비스 품질을 입력할 수 있다. 미디어 안내 애플리케이션은 제1 서비스 품질에 대한 등급을 결정하기 위해 제1 서비스 품질을 상이한 서비스 품질들과 비교할 수 있다. 그 후에, 미디어 안내 애플리케이션은 미디어 리스팅과 동시에 등급을 디스플레이를 위해 생성할 수 있다. 예를 들어, 최상의 서비스 품질을 갖는 콘텐츠 제공자로부터만 이용가능한 미디어 리스팅을 제시하는 것에 부가적으로 또는 대안적으로, 미디어 안내 애플리케이션은 각각의 미디어 리스팅과 함께 서비스 품질 등급을 제시할 수 있다. 부가적으로 또는 대안적으로, 미디어 안내 애플리케이션은 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스하기 위한 통지를 생성할 수 있는데, 통지는 제2 서비스 품질이 제1 서비스 품질보다 더 낮음을 나타낸다. 예를 들어, 미디어 안내 애플리케이션은 미디어 자산의 부가적인 소스들 및 다른 소스들에 대응하는 개개의 서비스 품질(또는 서비스 품질 등급)을 나타내는 통지를 사용자에게 제시할 수 있다.
일부 실시예들에서, 비교에 기초하여 제1 서비스 품질이 제2 서비스 품질과 동일하다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 미디어 리스팅, 및 제2 콘텐츠 제공자로부터의 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 복수의 소스들로부터의 미디어 리스팅들을 제시할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 사용자의 가입 상태에 기초하여 집성하기 위한 이용가능한 미디어 콘텐츠 제공자들을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 모바일 폰과 같은 사용자 디바이스와 연관된 사용자 프로파일을 검색할 수 있다. 미디어 안내 애플리케이션은 사용자 프로파일에 대한 가입 데이터를 검색할 수 있는데, 가입 데이터는 사용자가 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타낸다. 예를 들어, 사용자 프로파일은 사용자가 현재 가입한 각각의 미디어 콘텐츠 제공자의 리스트 및/또는 사용자가 다양한 미디어 콘텐츠 제공자들에 현재 가입되어 있는지 아닌지의 여부를 포함할 수 있다. 미디어 안내 애플리케이션은 가입 데이터에 기초하여 복수의 오버더톱 콘텐츠 제공자들 각각이 미디어 자산을 제공하는지 여부를 결정하기 위해 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색한다. 예를 들어, 사용자가 콘텐츠 제공자들로부터의 미디어 자산들에 가입되어 있다는(예를 들어, 미디어 자산들로의 액세스가 허용된다는) 결정에 응답한다. 미디어 안내 애플리케이션은 이용가능한 미디어 자산들에 대한 미디어 콘텐츠 제공자를 탐색한다.
일부 실시예들에서, 미디어 안내 애플리케이션은 미디어 리스팅을 제시할지 아닐지의 여부를 결정하기 위해 특수 임계치들을 적용할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 임계 서비스 품질을 검색할 수 있다. 예를 들어, 미디어 리스팅이 제시될 최소 수용가능 서비스 품질. 미디어 안내 애플리케이션은 제1 서비스 품질을 임계 서비스 품질과 비교할 수 있고, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성할 수 있다. 대안적으로, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 제1 미디어 자산을 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성할 수 있는데, 다운로드된 제1 미디어 자산은 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능하다.
도 7의 단계들 또는 설명들은 본 개시내용의 임의의 다른 실시예와 함께 사용될 수 있다는 것이 고려된다. 부가적으로, 도 7과 관련하여 설명된 단계들 및 설명들은 본 개시내용의 목적들을 달성하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 이들 단계들 각각은 시스템 또는 방법의 래그를 감소시키거나 또는 속도를 증가시키기 위해 임의의 순서로 또는 병렬로 또는 실질적으로 동시에 수행될 수 있다. 또한, 도 5 및 도 6과 관련하여 논의된 장비 또는 디바이스들 중 임의의 것은 도 7의 단계들 중 하나 이상을 수행하는 데 사용될 수 있다는 것에 유의해야 한다.
도 8은 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 예시적인 단계들의 흐름도이다. 프로세스(800) 또는 그의 임의의 단계는 도 5 및 도 6에 도시된 디바이스들 중 임의의 디바이스 상에서 수행될 수 있거나 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것에 유의해야 한다. 예를 들어, 프로세스(800)는 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하기 위해 사용자 장비(602, 604, 및/또는 606)(도 6) 상에서 구현되는 미디어 안내 애플리케이션에 의해 지시된 바와 같이 제어 회로부(504)(도 5)에 의해 실행될 수 있다. 부가적으로, 프로세스(800)의 하나 이상의 단계들은 (예를 들어, 도 7 및 도 9 내지 도 13과 관련하여 설명되는 바와 같이) 임의의 다른 프로세스 또는 실시예의 하나 이상의 단계들에 통합되거나 또는 이들과 결합될 수 있다.
프로세스(800)에서, 미디어 안내 애플리케이션은 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치한다. 단계 802에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스(예를 들어, 사용자 장비(602)(도 6))로부터의 요청을 통신 네트워크(예를 들어, 통신 네트워크(614)(도 6))를 통해 (예를 들어, 제어 회로부(504)(도 5)를 통해) 수신하는데, 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능하다. 예를 들어, 미디어 안내 애플리케이션은 인터넷을 통해 수많은 스트리밍 미디어 제공자들로부터의 미디어 자산들의 라이브러리로의 액세스를 요청하는 모바일 디바이스로부터의 요청을 수신할 수 있다.
단계 804에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))를 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스와 연관된 사용자 프로파일을 검색하고 사용자 프로파일에 대한 가입 데이터를 검색할 수 있는데, 가입 데이터는 사용자가 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타낸다. 그 후에, 미디어 안내 애플리케이션은 가입 데이터에 기초하여 복수의 오버더톱 콘텐츠 제공자들 각각이 미디어 자산을 제공하는지 여부를 결정하기 위해 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색할 수 있다.
단계 806에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))를 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 (예를 들어, 방송 텔레비전 네트워크와 연관된) 제1 스트리밍 미디어 제공자 및 (예를 들어, 사용자 업로드된 콘텐츠의 웹사이트와 연관된) 제2 스트리밍 미디어 제공자 양측 모두가 동일한 미디어 자산으로의 액세스를 제공한다는 것을 결정할 수 있다.
단계 808에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 사용자 디바이스(예를 들어, 사용자 장비(602)(도 6))가 제1 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))로부터 미디어 자산(예를 들어, 영화(120)(도 1))을 수신하기 위한 제1 서비스 품질을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 제1 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 비트 레이트를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스에게 체크섬 값에 대해 질의하고, 질의에 응답하여 사용자 디바이스로부터 체크섬 값을 수신할 수 있다.
단계 810에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 사용자 디바이스(예를 들어, 사용자 장비(602)(도 6))가 제2 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))로부터 미디어 자산을 수신하기 위한 제2 서비스 품질을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 또한 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 비트 레이트를 결정할 수 있다.
단계 812에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 제1 서비스 품질이 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 제1 콘텐츠 제공자를 제2 콘텐츠 제공자보다 더 높게 (예를 들어, 제어 회로부(504)(도 5)를 통해) 랭킹할 수 있다. 예를 들어, 최상의 사용자 경험을 제공(예를 들어, 사용자가 최상의 비트 레이트를 제공하는 콘텐츠 제공자로부터 미디어 자산을 수신하도록 선택한다는 것을 보장)하기 위해, 미디어 안내 애플리케이션은 개개의 서비스 품질에 기초하여 콘텐츠 제공자들을 랭킹할 수 있다.
단계 814에서, 미디어 안내 애플리케이션은, 사용자 인터페이스(예를 들어, 디스플레이(100)(도 1))에서, 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 제1 미디어 리스팅(예를 들어, 영화(120)(도 1)), 및 제2 콘텐츠 제공자로부터의 미디어 자산에 대한 제2 미디어 리스팅을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 디스플레이를 위해 생성하는데, 제1 미디어 리스팅 및 제2 미디어 리스팅은 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 사용자 인터페이스에 배치된다. 예를 들어, 미디어 안내 애플리케이션은 양측 모두의 콘텐츠 제공자들로부터 미디어 자산에 대응하는 미디어 리스팅들을 제시할 수 있지만, 미디어 안내 애플리케이션은 이들의 개개의 서비스 품질들을 반영하는 순서로 리스팅들을 배치할 수 있다. 이에 따라, 사용자는, 직관적인 방식으로, 어떤 콘텐츠 제공자가 최상의 서비스 품질을 갖는 미디어 자산을 제공할지를 결정할 수 있다.
일부 실시예들에서, 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 서비스 품질 특성들은, 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함한다. 또한, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성(예를 들어, 에러 레이트 및 비트 레이트)을 결정하는 것을 포함하는 제1 서비스 품질을 결정하고, (예를 들어, 사용자 선호도들에 기초하여) 제1 서비스 품질 특성에 제1 가중치를 그리고 제2 서비스 품질 특성에 제2 가중치를 할당하고, 제1 서비스 품질 특성 및 제2 서비스 품질 특성에 대한 가중 평균(예를 들어, 특성들에 기초하여 전체 서비스 품질을 표현하는 가중 평균)을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 각각의 콘텐츠 제공자에 대한 질적 또는 양적 서비스 품질 등급들을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 제1 서비스 품질을 입력할 수 있다. 그 후에, 미디어 안내 애플리케이션은 제1 서비스 품질에 대한 등급을 결정하기 위해 제1 서비스 품질을 상이한 서비스 품질들과 비교하고, 미디어 리스팅과 동시에 등급을 디스플레이를 위해 생성할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 미디어 자산을 제공하는 콘텐츠 제공자와 연관된 서비스 품질에 기초하여 하나의 미디어 리스팅을 다른 미디어 리스팅보다 그래픽으로 강조할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 미디어 리스팅들을 모자이크 디스플레이에 제시할 수 있는데, 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 제1 모자이크 셀은 제2 모자이크 셀보다 더 두드러지게 디스플레이된다.
일부 실시예들에서, 미디어 안내 애플리케이션은 특정 기준들이 임계 기준들을 충족시키는지 아닌지의 여부를 테스팅 및 결정할 수 있다. 그러한 경우, 특정 액션들이 트리거될 수 있다. 예를 들어, 미디어 안내 애플리케이션은 (예를 들어, 제1 콘텐츠 제공자에 대응하는) 임계 서비스 품질을 검색하고, 제1 서비스 품질을 임계 서비스 품질과 비교할 수 있다. 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 미디어 리스팅을 랭킹 리스트에 부가할 수 있다. 대안적으로 또는 부가적으로, 미디어 안내 애플리케이션은, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성할 수 있다. 대안적으로 또는 부가적으로, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 제1 미디어 자산을 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성할 수 있는데, 다운로드된 제1 미디어 자산은 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능하다.
도 8의 단계들 또는 설명들은 본 개시내용의 임의의 다른 실시예와 함께 사용될 수 있다는 것이 고려된다. 부가적으로, 도 8과 관련하여 설명된 단계들 및 설명들은 본 개시내용의 목적들을 달성하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 이들 단계들 각각은 시스템 또는 방법의 래그를 감소시키거나 또는 속도를 증가시키기 위해 임의의 순서로 또는 병렬로 또는 실질적으로 동시에 수행될 수 있다. 또한, 도 5 및 도 6과 관련하여 논의된 장비 또는 디바이스들 중 임의의 것은 도 8의 단계들 중 하나 이상을 수행하는 데 사용될 수 있다는 것에 유의해야 한다.
도 9는 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 예시적인 단계들의 흐름도이다. 프로세스(900) 또는 그의 임의의 단계는 도 5 및 도 6에 도시된 디바이스들 중 임의의 디바이스 상에서 수행될 수 있거나 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것에 유의해야 한다. 예를 들어, 프로세스(900)는 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위해 사용자 장비(602, 604, 및/또는 606)(도 6) 상에서 구현되는 미디어 안내 애플리케이션에 의해 지시된 바와 같이 제어 회로부(504)(도 5)에 의해 실행될 수 있다. 부가적으로, 프로세스(900)의 하나 이상의 단계들은 (예를 들어, 도 7 및 도 8 그리고 도 10 내지 도 13과 관련하여 설명되는 바와 같이) 임의의 다른 프로세스 또는 실시예의 하나 이상의 단계들에 통합되거나 또는 이들과 결합될 수 있다.
프로세스(900)에서, 미디어 안내 애플리케이션은 서비스 품질에 기초하여, 존재한다면, 어떤 미디어 리스팅들을 사용자에게 제시할지를 결정한다. 예를 들어, 고품질의 사용자 경험을 보존하기 위해, 미디어 안내 애플리케이션은 특정 서비스 품질에 대응하는 미디어 리스팅들만을 제시할 수 있다.
단계 902에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스(예를 들어, 사용자 장비(602)(도 6))로부터의 요청을 통신 네트워크(예를 들어, 통신 네트워크(614)(도 6))를 통해 (예를 들어, I/O 경로(502)(도 5)를 통해) 수신하는데, 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능하다. 예를 들어, 사용자는 그의 또는 그녀의 퍼스널 컴퓨터의 모바일 폰으로 영화를 스트리밍하기를 원할 수 있다.
단계 904에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))를 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스와 연관된 사용자 프로파일을 검색하고 사용자 프로파일에 대한 가입 데이터를 검색할 수 있는데, 가입 데이터는 사용자가 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타낸다. 그 후에, 미디어 안내 애플리케이션은 가입 데이터에 기초하여 복수의 오버더톱 콘텐츠 제공자들 각각이 미디어 자산을 제공하는지 여부를 결정하기 위해 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색할 수 있다.
단계 906에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자(예를 들어, 미디어 콘텐츠 소스(616)(도 6))를 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스와 연관된 가입 서비스들 각각으로부터 이용가능한 모든 미디어 자산들의 리스트를 검색할 수 있다.
단계 908에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 사용자 디바이스(예를 들어, 사용자 장비(602)(도 6))가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제1 서비스 품질을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 제1 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 에러 레이트를 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 사용자 디바이스에게 체크섬 값에 대해 질의하고, 질의에 응답하여 사용자 디바이스로부터 체크섬 값을 수신할 수 있다.
단계 910에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 사용자 디바이스(예를 들어, 사용자 장비(602)(도 6))가 제2 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제2 서비스 품질을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 현재 네트워크 조건들에 기초하여, 미디어 안내 애플리케이션은 사용자 디바이스가 또한 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스할 수 있는 에러 레이트를 결정할 수 있다.
단계 912에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 임계 서비스 품질을 (예를 들어, 스토리지(508)(도 5)로부터) 검색한다. 예를 들어, 미디어 안내 애플리케이션은 특정 기준들이 임계 기준들을 충족시키는지 아닌지의 여부를 테스팅 및 결정할 수 있다. 그러한 경우, 특정 액션들이 트리거될 수 있다.
단계 914에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, (예를 들어, 제어 회로부(504)(도 5)를 통해) 제1 서비스 품질 및 제2 서비스 품질 양측 모두를 임계 서비스 품질과 비교한다. 예를 들어, 가입 및/또는 액세스가 이용가능한 각각의 콘텐츠 제공자에 대해, 미디어 안내 애플리케이션은 서비스 품질이 임계 서비스 품질을 초과하는지 아닌지의 여부를 결정할 수 있다.
단계 916에서, 미디어 안내 애플리케이션은, 서버(예를 들어, 수퍼 어그리게이터(624)(도 6))에서, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 것, 및 제2 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 것을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 결정한다. 예를 들어, 미디어 안내 애플리케이션은 제1 콘텐츠 제공자로부터 콘텐츠를 수신하는 것과 연관된 에러 레이트가 수용가능한 반면, 제2 콘텐츠 제공자로부터 콘텐츠를 수신하는 것과 연관된 에러 레이트가 수용가능하지 않다는 것을 결정할 수 있다.
단계 918에서, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과하고 제2 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 콘텐츠 제공자로부터의 미디어 자산에 대한 제1 미디어 리스팅(예를 들어, 영화(120)(도 1))을 (예를 들어, 제어 회로부(504)(도 5)를 통해) 디스플레이를 위해 생성하고 제2 콘텐츠 제공자로부터의 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않는다. 부가적으로, 미디어 안내 애플리케이션은 제2 콘텐츠 제공자로부터의 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성할 수 있는데, 통지는 제2 서비스 품질이 임계 서비스 품질보다 더 낮음을 나타낸다. 이에 따라, 미디어 안내 애플리케이션은 고품질의 사용자 경험을 보존하는 미디어 리스팅들만을 제시할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은, 서버에서, 미디어 자산을 제공하는 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정한다. 예를 들어, 제3 콘텐츠 공급자는, 가입을 요구하지 않는 공개적으로 이용가능한 스트리밍 미디어 제공자를 포함할 수 있다. 미디어 안내 애플리케이션은 사용자 디바이스가 제1 콘텐츠 제공자로부터 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하고 제3 서비스 품질을 임계 서비스 품질과 비교할 수 있다. 미디어 안내 애플리케이션은 제3 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 것을 결정할 수 있다. 제3 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과한다는 결정에 응답하여, 미디어 안내 애플리케이션은 제1 미디어 리스팅과 동시에 제3 콘텐츠 제공자로부터의 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성할 수 있다.
일부 실시예들에서, 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 서비스 품질 특성들은, 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함한다. 또한, 미디어 안내 애플리케이션은 제1 서비스 품질 특성 및 제2 서비스 품질 특성(예를 들어, 에러 레이트 및 비트 레이트)을 결정하는 것을 포함하는 제1 서비스 품질을 결정하고, (예를 들어, 사용자 선호도들에 기초하여) 제1 서비스 품질 특성에 제1 가중치를 그리고 제2 서비스 품질 특성에 제2 가중치를 할당하고, 제1 서비스 품질 특성 및 제2 서비스 품질 특성에 대한 가중 평균(예를 들어, 특성들에 기초하여 전체 서비스 품질을 표현하는 가중 평균)을 결정할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은 각각의 콘텐츠 제공자에 대한 질적 또는 양적 서비스 품질 등급들을 결정할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 제1 서비스 품질을 입력할 수 있다. 그 후에, 미디어 안내 애플리케이션은 제1 서비스 품질에 대한 등급을 결정하기 위해 제1 서비스 품질을 상이한 서비스 품질들과 비교하고, 미디어 리스팅과 동시에 등급을 디스플레이를 위해 생성할 수 있다.
일부 실시예들에서, 미디어 안내 애플리케이션은, 제1 서비스 품질이 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 서비스 품질이 임계 서비스 품질과 동일하거나 또는 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성할 수 있다. 예를 들어, 고품질의 사용자 경험을 보존하기 위해, 미디어 안내 애플리케이션은 미디어 리스팅이 임계 서비스 품질에 대응할 때에 관해 사용자에게 경보를 발할 수 있다. 부가적으로 또는 대안적으로, 미디어 안내 애플리케이션은, 제1 서비스 품질도 또는 제2 서비스 품질도 임계 서비스 품질과 동일하지 않거나 또는 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성할 수 있는데, 다운로드된 제1 미디어 자산은 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능하다. 예를 들어, 미디어 자산을 스트리밍하는 것이 서비스 품질로 인해 바람직하지 않은 경우, 미디어 안내 애플리케이션은 사용자에 의한 추후의 뷰잉을 위해 미디어 자산을 다운로드할 수 있다.
도 9의 단계들 또는 설명들은 본 개시내용의 임의의 다른 실시예와 함께 사용될 수 있다는 것이 고려된다. 부가적으로, 도 9와 관련하여 설명된 단계들 및 설명들은 본 개시내용의 목적들을 달성하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 이들 단계들 각각은 시스템 또는 방법의 래그를 감소시키거나 또는 속도를 증가시키기 위해 임의의 순서로 또는 병렬로 또는 실질적으로 동시에 수행될 수 있다. 또한, 도 5 및 도 6과 관련하여 논의된 장비 또는 디바이스들 중 임의의 것은 도 9의 단계들 중 하나 이상을 수행하는 데 사용될 수 있다는 것에 유의해야 한다.
도 10 및 도 11은 본 개시내용의 일부 실시예들에 따른 서비스 품질을 임계 서비스 품질과 비교하기 위한 제어 회로부(예를 들어, 제어 회로부(504))에 대한 프로세스들을 제시한다. 일부 실시예들에서, 이 프로세스는 프로세싱 회로부(예를 들어, 프로세싱 회로부(506))에 의해 디코딩 및 실행될 명령어들의 세트로서 비일시적 스토리지 매체(예를 들어, 스토리지 디바이스(508))로 인코딩될 수 있다. 프로세싱 회로부는 이어서, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호화해제, 스케일링, 아날로그/디지털 컨버전 회로부 등과 같은, 제어 회로부(504) 내에 포함된 다른 서브-회로들에 명령어들을 제공할 수 있다.
도 10의 흐름도는 본 개시내용의 일부 실시예들에 따른 서비스 품질을 임계 서비스 품질과 비교하기 위한 제어 회로부(예를 들어, 제어 회로부(504)) 상에서 구현되는 프로세스를 설명한다.
단계 1002에서, 제어 회로부(504)는 서비스 품질을 임계 서비스 품질과 비교한다. 일부 실시예들에서, 이는 (예를 들어, 제어 회로부(504) 또는 사용자 입력 인터페이스(510)에 의해 수신된 신호들로부터의) 사용자 액션 또는 입력에 응답하여 직접적으로 또는 간접적으로 행해질 수 있다. 예를 들어, 프로세스는 제어 회로부(504)가 사용자 입력 인터페이스(510)로부터 신호들을 수신하는 것에 응답하여 직접 시작할 수 있거나, 또는 제어 회로부(504)는 알고리즘을 실행하기에 앞서 (예를 들어, 디스플레이(512) 상에 디스플레이될 프롬프트를 생성하는 것에 의해) 사용자에게 디스플레이를 사용하여 그의 또는 그녀의 입력을 확인하도록 프롬프트할 수 있다.
단계 1004에서, 제어 회로부(504)는 메모리로부터 서비스 품질을 검색하는 것으로 진행한다. 일부 실시예들에서, 제어 회로부(504)는 서비스 품질의 값을 표현하는 단일 원시 데이터 구조체를 수신할 수 있다. 일부 실시예들에서, 값은 보다 큰 데이터 구조체의 일부로서 저장될 수 있고, 제어 회로부(504)는 보다 큰 데이터 구조체로부터 값을 검색하기 위해 적절한 접근자 메소드(accessor method)들을 실행하는 것에 의해 값을 검색할 수 있다.
단계 1006에서, 제어 회로부(504)는 서비스 품질의 값을 임계 서비스 품질의 저장된 값과 비교하는 것으로 진행한다. 일부 실시예들에서, 임계 서비스 품질의 값은 프로세스를 시작하기에 앞서 (예를 들어, 스토리지 디바이스(508) 상에) 저장될 수 있다. 일부 실시예들에서, 임계 서비스 품질의 값은 또한 서비스 품질의 각각의 모든 인스턴스에 대해 검색될 수 있고, 임계 서비스 품질의 값은 반복 간에서 변경될 수 있다. 일부 실시예들에서, 제어 회로부(504)는 각각 메모리로부터의 값들에 액세스하고 값 비교를 수행하는 것에 의해 임계 서비스 품질의 값을 서비스 품질의 값과 직접 비교할 수 있다. 일부 인스턴스들에서, 제어 회로부(504)는 서비스 품질과 임계 서비스 품질을 비교하기 위한 (예를 들어, 오브젝트-투-오브젝트 비교(object-to-object comparison)를 위한) 비교 함수를 호출할 수 있다.
단계 1008에서, 제어 회로부(504)는 서비스 품질의 값들과 임계 서비스 품질을 비교하여 서비스 품질의 값이 임계 서비스 품질의 값보다 더 큰지를 결정한다. 조건이 만족되는 경우, 알고리즘은 단계 1010으로 진행할 수 있다; 조건이 만족되지 않는 경우, 알고리즘은 그 대신에 단계 1012로 진행할 수 있다.
단계 1010에서, 제어 회로부(504)는, 단계 1008에서의 조건이 만족되는 것에 기초하여, 콘텐츠 제공자로부터의 미디어 리스팅을 생성하고, 미디어 리스팅을 랭킹 리스트에 부가하는 것 등을 위한 서브루틴을 실행한다. 서브루틴이 실행된 후에, 프로세스(1000)는 모든 임계 서비스 품질들이 고려되는지가 결정되는 단계 1018로 진행한다. 예를 들어, 미디어 안내 애플리케이션은 다양한 임계치들을 적용할 수 있다. 예를 들어, 미디어 안내 애플리케이션은 콘텐츠 타입, 송신 시간, 또는 임의의 다른 기준들에 기초하여 임계치를 적용할 수 있다. 또한, 일부 실시예들에서, 미디어 안내는 서비스 품질의 개별 특성들에 임계치들을 적용할 수 있다. 이에 따라, 단계 1018에서, 미디어 안내 애플리케이션은 모든 임계치들이 고려되는지 아닌지의 여부 그리고 추가의 반복들이 필요한지를 결정한다.
단계 1012에서, 제어 회로부(504)는 서비스 품질의 값들과 임계 서비스 품질을 비교하여 서비스 품질의 값이 서비스 품질의 값보다 더 작은지를 결정한다. 조건이 만족되는 경우, 프로세스는 단계 1014로 진행할 수 있다; 조건이 만족되지 않는 경우, 프로세스는 그 대신에 단계 1016으로 진행할 수 있다.
단계 1014에서, 제어 회로부(504)는 단계 1012의 조건이 만족되는 것에 기초하여 대안적인 액션을 위한 서브루틴을 실행한다. 예를 들어, 미디어 안내 애플리케이션은 디스플레이 스크린으로부터 미디어 리스팅을 제거할 수 있고, 랭킹 리스트로부터 미디어 리스팅을 제거할 수 있고, 불충분한 서비스 품질을 사용자에게 통지할 수 있다는 것 등이 있다. 서브루틴이 실행된 후에, 프로세스(1000)는 단계 1018로 진행한다.
단계 1016에서, 제어 회로부(504)는 1008과 1012에서의 조건들 양측 모두가 만족되지 않는(예를 들어, 서비스 품질이 임계 서비스 품질과 동일한) 것에 기초하여 콘텐츠 제공자로부터의 미디어 리스팅을 생성하기 위한 서브루틴을 실행한다. 서브루틴이 실행된 후에, 프로세스(1000)는 1018로 진행한다.
단계 1018에서, 제어 회로부(504)는 모든 임계치들이 고려되는지를 체크한다. 모든 인스턴스들이 평가된 경우, 제어 회로부(504)는 단계 1020으로 진행할 수 있다. 예를 들어, 제어 회로부(504)는 부가적인 임계치가 있는지를 확인하기 위한 함수를 호출할 수 있다. 함수가 참(true)을 반환하는(즉, 프로세싱될 필요가 있는 인스턴스들이 여전히 있는) 경우, 제어 회로부(504)는 단계 1004로 진행한다. 단계 1020에서, 제어 회로부(504)는 (예를 들어, 도 1 내지 도 3과 관련하여 설명된 바와 같이) 미디어 리스팅들을 생성하기 위한 서브루틴을 실행한다.
도 10의 설명은 (예를 들어, 도 7 내지 도 9에 설명된 바와 같이) 본 개시내용의 임의의 다른 실시예와 함께 사용될 수 있다는 것이 고려된다. 부가적으로, 도 10의 알고리즘과 관련하여 설명된 설명들은 본 개시내용의 목적들을 달성하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 1008과 1012에서의 것들과 같은 조건문들 및 논리 평가들은 시스템 또는 방법의 래그를 감소시키거나 또는 속도를 증가시키기 위해 임의의 순서로 또는 병렬로 또는 동시에 수행될 수 있다. 추가의 예로서, 일부 실시예들에서, 다수의 논리 프로세서 스레드들을 사용하여 수 개의 임계치들이 병렬로 평가될 수 있거나, 또는 알고리즘은 분기 예측을 통합시키는 것에 의해 향상될 수 있다. 또한, 도 10의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합 상에서 구현될 수 있다는 것과, 도 4 및 도 5와 관련하여 논의된 장비 또는 디바이스들 중 임의의 것은 프로세스의 하나 이상의 부분들을 구현하는 데 사용될 수 있다는 것에 유의해야 한다.
도 11의 의사코드는 본 개시내용의 일부 실시예들에 따른 콘텐츠 제공자의 서비스 품질을 임계치와 비교하기 위한 프로세스를 설명한다. 도 10의 의사코드에 의해 설명된 프로세스는 임의의 수의 프로그래밍 언어들 및 다양한 상이한 하드웨어로 구현될 수 있다는 것과, 스타일 및 포맷은 제한하는 것으로서 해석되어서는 안되고, 오히려 본 개시내용의 일부 실시예들을 구현하는 데 사용된 코드와 일관되는 단계들 및 프로시저들의 일반적인 템플릿으로서 해석되어야 한다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
라인 1101에서, 제어 회로부(504)는 변수들을 초기화하고 콘텐츠 제공자의 서비스 품질을 임계치와 비교할 준비를 하기 위한 서브루틴을 실행하는데, 이는 라인 1103에서 시작한다. 예를 들어, 일부 실시예들에서, 제어 회로부(504)는 초기화 스테이지 동안 비일시적 스토리지 매체(예를 들어, 스토리지 디바이스(508))로부터의 명령어들을 RAM으로 또는 프로세싱 회로부(506)에 대한 캐시로 복사할 수 있다. 대안적으로, 일부 실시예들에서, 비교를 위해 사용되는 서비스의 임계 서비스 품질의 값, 또는 2개의 값들이 본질적으로 동등한지를 결정하기 위한 허용오차 레벨이 1101에서 검색, 설정, 및 저장될 수 있다.
라인 1105에서, 제어 회로부(504)는 서비스 품질의 인스턴스들을 수신한다. 일부 실시예들에서, 이들 인스턴스들은 저장된 메모리로부터 검색될 수 있다. 제어 회로부(504)는, 예를 들어, 서비스 품질의 값들의 어레이에 대한 포인터를 수신하는 것에 의해 서비스 품질의 인스턴스들을 수신할 수 있다. 다른 예에서, 제어 회로부(504)는, 서비스 품질의 요소들을 포함하는 반복자 오브젝트와 같은, 클래스의 오브젝트를 수신할 수 있다.
라인 1106에서, 제어 회로부(504)는 서비스 품질의 다양한 인스턴스들을 통해 반복하고, 단일 인스턴스만이 이용가능한 경우, 루프는 단지 한 번만 실행될 것이다. 이 루프는 도 11의 알고리즘을 구현하는 데 사용되는 하드웨어 및 소프트웨어 언어의 선정에 따라 다수의 방식들로 구현될 수 있는데; 예를 들어, 이는 "for" 또는 "while" 루프의 일부로서 구현될 수 있다.
라인 1107에서, 제어 회로부(504)는 서비스 품질의 값을 임시 변수 "A"에 저장한다. 일부 실시예들에서, 서비스 품질의 값은 보다 큰 데이터 구조체 또는 클래스의 일부로서 저장될 것이고, 서비스 품질의 값은 적절한 접근자 메소드들을 통해 획득될 수 있다. 일부 실시예들에서, 서비스 품질은 적절한 해싱 알고리즘에 의해 스트링 또는 다른 비수치 데이터 타입으로부터 수치 데이터 타입으로 컨버팅될 수 있다. 일부 실시예들에서, 제어 회로부(504)는 서비스 품질을 임계 서비스 품질과 비교를 수행하기 위한 함수를 호출할 수 있다. 일부 실시예들에서, 서비스 품질은 원시 데이터 구조체로서 인코딩될 수 있고, 임시 변수를 사용하기보다는, 서비스 품질이 라인들 1109 및 1111에서의 비교들에 직접 사용될 수 있다.
라인 1108에서, 제어 회로부(504)는 임계 서비스 품질의 값을 임시 변수 "B"에 저장한다. 서비스 품질과 유사하게, 일부 실시예들에서, 임계 서비스 품질의 값은 보다 큰 데이터 구조체 또는 클래스의 일부로서 저장될 것이고, 임계 서비스 품질의 값은 접근자 메소드들을 통해 획득될 수 있다. 일부 실시예들에서, 임계 서비스 품질은 적절한 해싱 알고리즘에 의해 스트링 또는 다른 비수치 데이터 타입으로부터 수치 데이터 타입으로 컨버팅될 수 있거나, 또는 임계 서비스 품질은 원시 데이터 구조체일 수 있고, 라인들 1109와 1111에서의 비교들에 직접 사용될 수 있다.
라인 1109에서, 제어 회로부(504)는 A의 값을 B의 값과 비교하여 이들이 본질적으로 동등한지를 확인한다. 이는 A로부터 B의 값을 감산하여, 차이의 절대 값을 취한 후에, 그 차이의 절대 값을 미리 결정된 허용오차 레벨과 비교하는 것에 의해 달성된다. 일부 실시예들에서, 허용오차 레벨은 A 또는 B 중 어느 하나의 설정 퍼센티지일 수 있다. 일부 실시예들에서, 허용오차 레벨은 고정된 수일 수 있다. 예를 들어, 허용오차 레벨을 머신 입실론(machine epsilon)의 설정된 배수로 설정하면 알고리즘이 부동 소수점 산술의 사용으로부터 발생할 수 있는 작은 반올림 에러들을 고려하게 할 수 있다. 일부 실시예들에서, 허용오차 레벨은 제로로 설정될 수 있거나, 또는 IF 문 내측의 조건은 A와 B 사이의 엄격한 등가성으로 대체될 수 있다.
라인 1110에서, 제어 회로부(504)는 라인 1109에서의 조건이 만족되는 경우 제어 회로부를 사용하여 콘텐츠 제공자로부터의 미디어 리스팅을 생성하기 위한 서브루틴을 실행한다. 일부 실시예들에서, 이는 프로세싱 회로부(506)가 제어 회로부(504)에 적합한 신호들을 전송하는 것에 의해 달성될 수 있다.
라인 1111에서, 제어 회로부(504)는 A와 B의 값을 비교하여 A가 B보다 더 작은지를 결정한다. 일부 실시예들에서, A가 본질적으로 B와 동등하지 않고 라인 1109에서의 비교가 거짓(FALSE)으로 평가되는 경우에만 이 비교가 행해질 것이다.
라인 1112에서, 제어 회로부(504)는 라인 1111에서의 조건이 만족되는 경우 제어 회로부를 사용하여 대안적인 액션을 위한 서브루틴을 실행한다.
라인 1113에서, 제어 회로부(504)는 라인 1109 또는 라인 1111에서의 어느 조건도 만족되지 않는지 여부를 결정한다. 어느 조건도 만족되지 않는 경우, 그러면 라인 1114에서의 명령어가 평가 및 실행될 수 있다.
라인 1114에서, 제어 회로부(504)는 라인들 609 또는 611에서의 조건들 중 어느 것도 만족되지 않는 경우 제어 회로부(504)를 사용하는 제어 회로부를 사용하여 콘텐츠 제공자로부터의 미디어 리스팅을 생성하기 위한 서브루틴을 실행한다.
라인 1116에서, 제어 회로부(504)는 알고리즘이 그의 함수를 수행한 후에 종료 서브루틴을 실행한다. 예를 들어, 일부 실시예들에서, 제어 회로부(504)는 변수들을 파괴하거나, 가비지 콜렉션(garbage collection)을 수행하거나, 메모리를 비우거나 또는 프로세싱 회로부(506)의 캐시를 클리어할 수 있다.
도 11의 의사코드에 의해 설명된 프로세스(1100)는 임의의 수의 프로그래밍 언어들 및 다양한 상이한 하드웨어로 구현될 수 있고, 원시 함수들, 논리 평가들, 및 함수 평가들의 특정 선정 및 위치가 제한하는 것으로 의도되지 않는다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 다양한 논리 평가들의 순서를 조작하거나, 단일 반복 루프에서보다는 병렬로 수 개의 반복들을 수행하거나, 또는 그렇지 않으면 입력들 또는 최종 출력들을 근본적으로 변경하는 일 없이 런타임 및 성능 메트릭들을 조작 및 최적화하기 위해 코드가 리팩토링(refactor) 또는 재기입될 수 있다는 것이 또한 명백할 것이다. 예를 들어, 일부 실시예들에서, 브레이크 조건들이 동작을 가속화하기 위해 라인들 1110 및 1112 이후에 배치될 수 있거나, 또는 조건문들이 케이스-스위치(case-switch)로 대체될 수 있다.
도 12 및 도 13은 본 개시내용의 일부 실시예들에 따른 미디어 자산을 제공하는 콘텐츠 제공자들에 대한 데이터베이스를 탐색하기 위해 제어 회로부(예를 들어, 제어 회로부(504)) 상에서 구현되는 프로세스들을 제시한다. 도 10 및 도 11에 의해 설명된 알고리즘들과 유사하게, 일부 실시예들에서, 이 프로세스는 프로세싱 회로부(예를 들어, 프로세싱 회로부(506))에 의해 디코딩 및 실행될 명령어들의 세트로서 비일시적 스토리지 매체(예를 들어, 스토리지 디바이스(508))로 인코딩될 수 있다. 프로세싱 회로부는 이어서, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호화해제, 스케일링, 아날로그/디지털 컨버전 회로부 등과 같은, 제어 회로부(504) 내에 포함된 다른 서브-회로들에 명령어들을 제공할 수 있다.
도 12의 흐름도는 본 개시내용의 일부 실시예들에 따른 미디어 자산을 제공하는 콘텐츠 제공자들에 대한 데이터베이스를 탐색하기 위해 제어 회로부(예를 들어, 제어 회로부(504)) 상에서 구현되는 프로세스를 설명한다.
단계 1202에서, 제어 회로부(504)는 미디어 자산을 제공하는 콘텐츠 제공자들에 대한 데이터베이스를 탐색한다. 일부 실시예들에서, 이는 (예를 들어, 제어 회로부(504) 또는 사용자 입력 인터페이스(510)에 의해 수신된 신호들로부터의) 사용자 액션 또는 입력에 응답하여 직접적으로 또는 간접적으로 행해질 수 있다.
단계 1204에서, 제어 회로부(504)는 저장된 메모리로부터 미디어 자산의 다음 인스턴스를 검색하는 것으로 진행한다. 일부 실시예들에서, 제어 회로부(504)는 미디어 자산의 값을 표현하는 단일 원시 데이터 구조체를 검색할 수 있다. 일부 실시예들에서, 제어 회로부(504)는 보다 큰 클래스 또는 데이터 구조체로부터 값을 검색할 수 있다.
단계 1206에서, 제어 회로부(504)는 미디어 자산들의 콘텐츠 제공자들을 포함하는 데이터베이스에 액세스한다. 일부 실시예들에서, 이 데이터베이스는 알고리즘을 시작하기에 앞서 로컬로(예를 들어, 스토리지 디바이스(508) 상에) 저장될 수 있다. 일부 실시예들에서, 원격 스토리지 디바이스(예를 들어, 미디어 안내 데이터 소스(618)) 상에서 구현되는 데이터베이스로 통신 네트워크(예를 들어, 통신 네트워크(614))를 통해 정보를 송신하기 위해 통신 회로부를 사용하는 것에 의해 데이터베이스가 또한 액세스될 수 있다.
단계 1208에서, 제어 회로부(504)는 미디어 자산과 매칭하는 엔트리들에 대해 데이터베이스 테이블들을 탐색한다. 일부 실시예들에서, 이는 식별자, 예를 들어, 데이터베이스 내측에서 사용되는 식별자들의 타입들과 매칭하는, 미디어 자산을 표현하는 스트링 또는 정수를 비교하는 것에 의해 행해질 수 있다. 일부 실시예들에서, 제어 회로부(504)는 미디어 자산과 매칭하는 테이블 엔트리들에 대해 데이터베이스에 일반적인 질의를 제출할 수 있고, 제어 회로부(504)는 데이터베이스 콘텐츠들의 일부분을 포함하는 데이터 구조체 또는 인덱스들의 리스트를 수신할 수 있다. 일부 실시예들에서, 데이터베이스는 접합 테이블(junction table)을 구현할 수 있는데, 이 접합 테이블은 이어서 다른 데이터베이스들로부터의 엔트리들을 상호 참조한다. 이 경우에, 제어 회로부(504)는 제1 데이터베이스로부터 인덱스들을 검색할 수 있는데, 이 제1 데이터베이스는 이어서 제2 데이터베이스로부터 정보를 검색하는 데 사용될 수 있다. 명확성의 목적들을 위해 단일 데이터베이스와 상호작용하는 제어 회로부(504)를 설명할 수 있지만, 도 12의 알고리즘은 다수의 독립적인 또는 상호 참조되는 데이터베이스들을 사용하여 구현될 수 있다는 것이 이해된다.
단계 1210에서, 제어 회로부(504)는 미디어 자산과 매칭하는 데이터베이스 엔트리들이 있는지를 결정한다. 일부 실시예들에서, 제어 회로부(504)는 매칭하는 엔트리들이 없음을 나타내는 신호를 데이터베이스로부터 수신할 수 있다. 일부 실시예들에서, 제어 회로부(504)는 그 대신에 NULL 또는 더미 값을 갖는 데이터 구조체들 또는 인덱스들의 리스트를 수신할 수 있다. 제어 회로부(504)가 미디어 자산과 매칭하는 데이터베이스 엔트리들이 있다는 것을 식별하는 경우, 프로세스(1200)는 단계 1212로 진행하고; 그렇지 않으면, 프로세스(1200)는 단계 1214로 진행한다.
단계 1212에서, 제어 회로부(504)는 매칭하는 미디어 자산의 콘텐츠 제공자의 서비스 품질을 결정하기 위한 서브루틴을 실행한다. 그 후에, 프로세스(1200)는 단계 1220으로 진행하는데, 여기서 고려될 필요가 있는 미디어 자산의 추가의 인스턴스들이 있는지가 결정된다.
단계 1214에서, 제어 회로부(504)는 미디어 자산과 유사한 데이터베이스 엔트리들이 있는지를 결정한다. 예를 들어, 일부 실시예들에서, 미디어 자산이 다수의 문자들을 갖는 스트링으로서 인코딩되는 경우, 제어 회로부(504)는 개별 문자들이 대체, 제거, 또는 부가된 유사한 스트링들에 대한 부가적인 데이터베이스 질의들을 수행할 수 있다. 일부 실시예들에서, 제어 회로부(504)는 또한 원래의 질의가 통상적으로 철자가 틀린 단어였는지를 (예를 들어, 퍼지 로직을 통해) 결정할 수 있고, 그 대신에 올바른 철자를 갖는 질의를 제출할 것이다. 다른 예에서, 미디어 자산은 정수로서 인코딩될 수 있는데; 제어 회로부(504)는 특정 범위 내의 다른 정수들에 대한 부가적인 질의들을 수행할 수 있다. 일부 실시예들에서, 제어 회로부(504)는 추가의 질의들을 요구하는 일 없이 미디어 자산과 유사한 데이터베이스 엔트리들을 검색할 수 있다. 제어 회로부(504)가 미디어 자산과 유사한 데이터베이스 엔트리들이 있다는 것을 식별하는 경우, 프로세스(1200)는 단계 1216으로 진행하고; 그렇지 않으면, 프로세스(1200)는 단계 1218로 진행한다.
단계 1216에서, 제어 회로부(504)는 유사한 미디어 자산의 콘텐츠 제공자의 서비스 품질을 결정하기 위한 서브루틴을 실행한다. 그 후에, 알고리즘은 단계 1220으로 진행할 수 있다.
단계 1218에서, 제어 회로부(504)는 미디어 자산에 대한 매칭하는 데이터베이스 엔트리들이 없었다는 결정 후에 새로운 콘텐츠 제공자들을 탐색하기 위한 서브루틴을 실행한다. 그 후에, 프로세스(1200)는 단계 1220으로 진행한다.
단계 1220에서, 제어 회로부(504)는 미디어 자산의 모든 인스턴스들이 고려되는지 그리고 추가의 반복들이 필요한지를 결정한다. 추가의 반복들이 필요한 경우, 프로세스(1200)는 제어 회로부(504)가 미디어 자산의 다음 인스턴스를 검색하게 될 단계 1204로 루프백할 것이다. 추가의 반복들이 필요하지 않은 경우, 알고리즘은 단계 1222로 진행할 것이다.
단계 1222에서, 제어 회로부(504)는 각각의 콘텐츠 제공자의 서비스 품질을 비교하기 위한 서브루틴을 실행한다.
도 12의 설명은 (예를 들어, 도 7 내지 도 9에 설명된 바와 같이) 본 개시내용의 임의의 다른 실시예와 함께 사용될 수 있다는 것이 고려된다. 부가적으로, 도 12의 프로세스(1200)와 관련하여 설명된 설명들은 본 개시내용의 목적들을 달성하기 위해 대안적인 순서들로 또는 병렬로 행해질 수 있다. 예를 들어, 래그를 감소시키고 프로세스(1200)의 실행을 가속화하기 위해 제어 회로부(504)는 다수의 질의들을 데이터베이스에 병렬로 제출할 수 있거나, 또는 그것은 복수의 유사한 데이터베이스들에 다수의 질의들을 제출할 수 있다. 추가의 예로서, 단계 1212 및 단계 1216이 상호 배타적인 것으로 설명되지만, 정확한 엔트리들 및 유사한 엔트리들 양측 모두가 미디어 자산의 단일 인스턴스에 대해 프로세싱될 수 있다. 이 목적을 달성하기 위해, 일부 실시예들에서, 단계 1210 및 단계 1214는 제어 회로부(504)에 의해 병렬로 수행될 수 있다. 또한, 도 12의 프로세스는 적절하게 구성된 소프트웨어 및 하드웨어의 조합 상에서 구현될 수 있다는 것과, 도 4 및 도 5와 관련하여 논의된 장비 또는 디바이스들 중 임의의 것은 프로세스(1200)의 하나 이상의 부분들을 구현하는 데 사용될 수 있다는 것에 유의해야 한다.
도 13의 의사코드는 본 개시내용의 일부 실시예들에 따른 미디어 자산을 제공하는 콘텐츠 제공자들에 대한 데이터베이스를 탐색하기 위한 프로세스를 설명한다. 도 13의 의사코드에 의해 설명된 프로세스(1300)는 임의의 수의 프로그래밍 언어들 및 다양한 상이한 하드웨어로 구현될 수 있다는 것과, 스타일 및 포맷은 제한하는 것으로서 해석되어서는 안되고, 오히려 본 개시내용의 일부 실시예들을 구현하는 데 사용된 코드와 일관되는 단계들 및 프로시저들의 일반적인 템플릿으로서 해석되어야 한다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다.
라인 1301에서, 제어 회로부(504)는 변수들을 초기화하고 미디어 자산을 제공하는 콘텐츠 제공자들에 대한 데이터베이스를 탐색할 준비를 하기 위한 서브루틴을 실행하는데, 이는 라인 1305에서 시작한다. 예를 들어, 일부 실시예들에서, 제어 회로부(504)는 초기화 스테이지 동안 비일시적 스토리지 매체(예를 들어, 스토리지 디바이스(508))로부터의 명령어들을 RAM으로 또는 프로세싱 회로부(506)에 대한 캐시로 복사할 수 있다.
라인 1305에서, 제어 회로부(504)는 미디어 자산의 인스턴스들을 수신한다. 일부 실시예들에서, 이들 인스턴스들은 메모리로부터 검색될 수 있다.
라인 1306에서, 제어 회로부(504)는 미디어 자산의 다양한 인스턴스들을 통해 반복하고; 단일 인스턴스만이 이용가능한 경우, 루프는 단지 한 번만 실행될 것이다. 이 루프는 도 13의 알고리즘을 구현하는 데 사용되는 하드웨어 및 소프트웨어 언어의 선정에 따라 다수의 방식들로 구현될 수 있는데; 예를 들어, 이는 일부 프로그래밍 언어들에서 "for" 또는 "while" 루프의 일부로서 구현될 수 있다. 일부 실시예들에서, 내부 메소드의 일부로서 루프를 수행할 캡슐화된 데이터 구조체 또는 단일 클래스에 미디어 자산의 인스턴스들을 저장하는 것이 편리할 수 있다.
라인 1307에서, 제어 회로부(504)는 미디어 자산과 매칭하는 엔트리들에 대해 데이터베이스에 질의한다. 데이터베이스가 구현되는 방법 및 미디어 자산이 저장되는 방법에 따라, 미디어 자산을 데이터베이스와 일관된 형태로 컨버팅하기 위해 간헐적인 단계가 요구될 수 있다. 예를 들어, 미디어 자산은 질의의 일부로서 제어 회로부(504)에 의해 데이터베이스에 송신되기에 앞서 적절한 해싱 알고리즘을 사용하여 스트링 또는 정수로 인코딩될 수 있다. 일부 실시예들에서, 미디어 자산은 원시 데이터 구조체로서 인코딩될 수 있고, 제어 회로부(504)는 미디어 자산을 질의로서 데이터베이스에 직접 제출할 수 있다. 데이터베이스에 질의한 후에, 제어 회로부(504)는 미디어 자산과 매칭하는 데이터베이스 엔트리들의 세트를 수신할 수 있다. 일부 실시예들에서, 제어 회로부(504)는 데이터 구조체, 데이터베이스의 인덱스들의 세트, 또는 다른 상호 참조되는 데이터베이스의 인덱스들의 세트의 형태로 이들 엔트리들을 수신할 수 있다.
라인 1308에서, 제어 회로부(504)는 미디어 자산과 매칭하는 임의의 데이터베이스 엔트리들이 있는지를 결정할 것이다. 일부 실시예들에서, 제어 회로부(504)는 라인 1307에서의 질의에 응답하여 데이터베이스가 빈 데이터 구조체 또는 NULL 값을 반환하였는지를 체크하는 것에 의해 이를 결정할 수 있다. 매칭하는 데이터베이스 엔트리들이 있는 경우, 프로세스(1300)는 라인 1309로 진행한다. 매칭하는 데이터베이스 엔트리들이 없는 경우, 알고리즘은 그 대신에 라인 1312로 진행할 수 있다.
라인 1309에서, 제어 회로부(504)는 미디어 자산과 매칭하는 데이터베이스 엔트리들로부터 콘텐츠 제공자들의 하나 이상의 값들을 검색한다. 예를 들어, 제어 회로부(504)가 라인 1307에서 데이터베이스에 질의한 후에 인덱스들의 리스트를 검색하는 경우, 일부 실시예들에서 제어 회로부(504)는 수신된 인덱스들에 위치된 콘텐츠 제공자들에 대한 데이터베이스 엔트리들을 검색할 수 있다. 일부 실시예들에서, 인덱스들은 데이터베이스 내에 포함된 보다 큰 데이터 구조체를 가르킬 수 있고, 제어 회로부(504)는 적절한 접근자 메소드들을 사용하여 데이터 구조체 내로부터 콘텐츠 제공자들의 값들을 검색할 수 있다. 일부 실시예들에서, 제어 회로부(504)는 콘텐츠 제공자들의 값들을 검색하고 추가로 진행하기에 앞서 이들을 별개의 데이터 구조체에 로컬로(예를 들어, 스토리지(508)에) 저장할 수 있다. 콘텐츠 제공자들의 값들을 검색한 후에, 알고리즘은 라인 1310으로 진행할 것이다.
라인 1310에서, 제어 회로부(504)는 제어 회로부를 사용하여 각각의 콘텐츠 제공자에 대한 서비스 품질을 결정하기 위해 콘텐츠 제공자들의 값들을 사용하기 위한 서브루틴을 실행한다. 그 후에, 프로세스(1300)는 라인 1315로 진행한다.
라인 1311에서, 제어 회로부(504)는 미디어 자산과 유사한 임의의 데이터베이스 엔트리들이 있는지를 결정한다. 예를 들어, 미디어 자산은 클래스의 오브젝트로 표현될 수 있다. 제어 회로부(504)는 클래스의 특정 필드들을 비교하는 것에 의해 또는 미디어 자산에 관련된 데이터에 근사 스트링 매칭을 수행하는 것에 의해 퍼지 비교(예를 들어, 클래스의 유사한 오브젝트들을 식별하기 위한 비교)를 수행하기 위한 함수를 호출할 수 있다. 미디어 자산과 유사한 데이터베이스 엔트리들이 제어 회로부(504)에 의해 발견되는 경우, 그러면 프로세스(1300)는 라인 1312로 진행한다. 제어 회로부(504)가 매칭하는 엔트리들을 발견하지 못한(예를 들어, 데이터베이스에 대한 질의가 NULL 값을 반환하는) 경우, 프로세스(1300)는 라인 1312로 진행한다.
라인 1312에서, 제어 회로부(504)는 제어 회로부를 사용하여 각각의 콘텐츠 제공자에 대한 서비스 품질을 결정하기 위한 서브루틴을 실행한다. 그 후에, 프로세스(1300)는 라인 1315로 진행한다.
라인 1311에서, 제어 회로부(504)는 미디어 자산과 매칭하는 데이터베이스 엔트리들이 없다는 것을 결정한다. 이 경우에, 프로세스(1300)는 라인 1312로 진행할 것이다.
라인 1312에서, 제어 회로부(504)는 제어 회로부(504)를 사용하여 서비스 품질을 결정하기 위한 서브루틴을 실행한다. 그 후에, 알고리즘은 라인 1314로 진행할 수 있다.
라인 1314에서, 제어 회로부(504)는, 라인 1309 또는 1311에서의 조건들 중 어느 것도 만족하지 않는 경우, 제어 회로부(504)를 사용하여 서비스 품질을 결정하기 위한 서브루틴을 실행한다.
라인 1315에서, 제어 회로부(504)는 제어 회로부를 사용하여 콘텐츠 제공자들의 서비스 품질들을 비교하기 위한 서브루틴을 실행한다. 그 후에, 프로세스(1300)는 라인 1317에서 종료 서브루틴으로 진행한다.
라인 1317에서, 제어 회로부(504)는 프로세스(1300)가 그의 함수를 수행하였고 미디어 자산의 모든 인스턴스들이 데이터베이스에 대해 프로세싱 및 체크된 후에 종료 서브루틴을 실행한다. 예를 들어, 일부 실시예들에서, 제어 회로부(504)는 변수들을 파괴하거나, 가비지 콜렉션을 수행하거나, 메모리를 비우거나 또는 프로세싱 회로부(506)의 캐시를 클리어할 수 있다.
도 13의 의사코드에 의해 설명된 프로세스(1300)는 임의의 수의 프로그래밍 언어들 및 다양한 상이한 하드웨어로 구현될 수 있고, 원시 함수들, 논리 평가들, 및 함수 평가들의 특정 선정 및 위치가 제한하는 것으로 의도되지 않는다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 다양한 논리 평가들의 순서를 조작하거나, 단일 반복 루프에서보다는 병렬로 수 개의 반복들을 수행하거나, 또는 그렇지 않으면 입력들 또는 최종 출력들을 근본적으로 변경하는 일 없이 런타임 및 성능 메트릭들을 조작 및 최적화하기 위해 코드가 리팩토링 또는 재기입될 수 있다는 것이 또한 명백할 것이다. 예를 들어, 일부 실시예들에서, 제어 회로부(504)가 복수의 프로세서들 또는 프로세서 스레드들을 사용하여 미디어 자산의 다수의 인스턴스들을 평가하고 다수의 데이터베이스 질의들을 동시에 제출하도록 지시되도록 코드가 재기입될 수 있다. 단일 데이터베이스와 상호작용하는 제어 회로부(504)를 설명할 수 있지만, 이는 단지 예시 목적들을 위해 설명된 단일 실시예일 뿐이고, 프로세스(1300)는 다수의 독립적인 또는 상호 참조되는 데이터베이스들을 사용하여 구현될 수 있다는 것이 또한 이해된다. 예를 들어, 로컬로(예를 들어, 스토리지(508) 상에) 저장된 데이터베이스는 임의의 수의 통신 채널들(예를 들어, 통신 네트워크(614))을 통해 액세스가능할 수 있는 원격으로 저장된 데이터베이스(예를 들어, 미디어 안내 데이터 소스(618))를 인덱싱 또는 상호 참조할 수 있다. 일부 실시예들에서, 이는 제어 회로부(504)가 작은 로컬 드라이브 상에 효율적으로 저장된 룩업 테이블 또는 데이터베이스 프론트엔드를 활용하여 온디맨드로 원격 서버 상에 저장된 보다 큰 데이터베이스에 액세스하게 할 수 있다.
본 개시내용의 상술된 실시예들은 제한의 목적들이 아니라 예시의 목적들을 위해 제시된 것이고, 본 개시내용은 다음의 청구범위에 의해서만 제한된다. 또한, 임의의 일 실시예에서 설명된 피처들 및 제한들이 본 명세서의 임의의 다른 실시예에 적용될 수 있고, 일 실시예에 관련된 흐름도들 또는 예들은 적합한 방식으로 임의의 다른 실시예와 결합될 수 있거나, 상이한 순서들로 행해질 수 있거나, 또는 병렬로 행해질 수 있다는 것에 유의해야 한다. 부가적으로, 본 명세서에서 설명되는 시스템들 및 방법들은 실시간으로 수행될 수 있다. 상술된 시스템들 및/또는 방법들은 다른 시스템들 및/또는 방법들에 적용될 수 있거나, 또는 이들에 따라 사용될 수 있다는 것에 또한 유의해야 한다.

Claims (150)

  1. 미디어 콘텐츠의 제공자들을 선택하는 방법으로서,
    서버에서, 클라우드 기반 어그리게이터(cloud-based aggregator)로부터의 미디어 자산(media asset)들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 단계 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자(over-the-top content provider)들로부터 이용가능함 -;
    상기 서버에서, 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 제1 서비스 품질을 상기 제2 서비스 품질과 비교하는 단계;
    상기 서버에서, 상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 것을 결정하는 단계; 및
    상기 서버에서, 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 결정에 기초하여 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 미디어 리스팅을 디스플레이를 위해 생성하는 단계
    를 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  2. 제1항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그(throughput lag), 송신 딜레이, 가용성, 또는 지터(jitter)를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  3. 제2항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 단계;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 단계; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 단계
    를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  4. 제1항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    상기 사용자 디바이스에게 체크섬 값(checksum value)에 대해 질의하는 단계; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 단계
    를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  5. 제1항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 단계;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 단계; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  6. 제1항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 생성하는 단계를 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 제1 서비스 품질보다 더 낮음을 나타내는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  7. 제1항에 있어서,
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질과 동일하다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상기 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성하는 단계를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  8. 제1항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 단계;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 단계 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 단계
    를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  9. 제1항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  10. 제1항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생(on-demand playback)을 위해 이용가능한 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  11. 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템으로서,
    상기 시스템은, 사용자 디바이스와 통신하는 서버를 포함하고, 상기 서버는 제어 회로부를 포함하고,
    상기 제어 회로부는,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하고 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하고;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하고;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하고;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하고;
    상기 제1 서비스 품질을 상기 제2 서비스 품질과 비교하고;
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 것을 결정하고;
    상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 결정에 기초하여 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 미디어 리스팅을 디스플레이를 위해 생성하도록
    구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  12. 제11항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  13. 제12항에 있어서,
    상기 제1 서비스 품질을 결정하도록 구성되는 상기 제어 회로부는 또한,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하고;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하고;
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하도록
    구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  14. 제11항에 있어서,
    상기 제1 서비스 품질을 결정하도록 구성되는 상기 제어 회로부는 또한,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하고;
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하도록
    구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  15. 제11항에 있어서,
    상기 제어 회로부는 또한,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하고;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하고;
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하도록
    구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  16. 제11항에 있어서,
    상기 제어 회로부는 또한, 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 생성하도록 구성되고, 상기 통지는 상기 제2 서비스 품질이 상기 제1 서비스 품질보다 더 낮음을 나타내는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  17. 제11항에 있어서,
    상기 제어 회로부는 또한, 상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질과 동일하다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상기 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성하도록 구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  18. 제11항에 있어서,
    상기 제어 회로부는 또한,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하고;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하고 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -;
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하도록
    구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  19. 제11항에 있어서,
    상기 제어 회로부는 또한,
    임계 서비스 품질을 검색하고;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하도록
    구성되는 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  20. 제11항에 있어서,
    상기 제어 회로부는 또한,
    임계 서비스 품질을 검색하고;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하도록
    구성되고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 미디어 콘텐츠의 제공자들을 선택하기 위한 시스템.
  21. 미디어 콘텐츠의 제공자들을 선택하는 시스템으로서,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 수단 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 수단;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 수단;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 수단;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 수단;
    상기 제1 서비스 품질을 상기 제2 서비스 품질과 비교하는 수단;
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 것을 결정하는 수단; 및
    서버에서, 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 결정에 기초하여 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 미디어 리스팅을 디스플레이를 위해 생성하는 수단
    을 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  22. 제21항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  23. 제22항에 있어서,
    상기 제1 서비스 품질을 결정하는 수단은,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 수단;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 수단; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 수단
    을 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  24. 제21항에 있어서,
    상기 제1 서비스 품질을 결정하는 수단은,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 수단; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 수단
    을 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  25. 제21항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 수단;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 수단; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 수단
    을 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  26. 제21항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 생성하는 수단을 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 제1 서비스 품질보다 더 낮음을 나타내는 것인, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  27. 제21항에 있어서,
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질과 동일하다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상기 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성하는 수단을 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  28. 제21항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 수단;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 수단 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 수단
    을 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  29. 제21항에 있어서,
    임계 서비스 품질을 검색하는 수단;
    상기 제1 서비스 품질을 임계 서비스 품질과 비교하는 수단; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 수단
    을 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  30. 제21항에 있어서,
    임계 서비스 품질을 검색하는 수단;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 수단; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 수단
    을 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 미디어 콘텐츠의 제공자들을 선택하는 시스템.
  31. 미디어 콘텐츠의 제공자들을 선택하는 방법으로서,
    서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 단계 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    상기 서버에서, 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 제1 서비스 품질을 상기 제2 서비스 품질과 비교하는 단계;
    상기 서버에서, 상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 것을 결정하는 단계; 및
    상기 서버에서, 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 결정에 기초하여 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 미디어 리스팅을 디스플레이를 위해 생성하는 단계
    를 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  32. 제31항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  33. 제32항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 단계;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 단계; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 단계
    를 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  34. 제31항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 단계; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 단계
    를 더 포함하는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  35. 제31항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 단계;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 단계; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  36. 제31항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 생성하는 단계를 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 제1 서비스 품질보다 더 낮음을 나타내는 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  37. 제31항에 있어서,
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질과 동일하다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상기 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성하는 단계를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  38. 제31항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 단계;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 단계 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 단계
    를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  39. 제31항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  40. 제31항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 미디어 콘텐츠의 제공자들을 선택하는 방법.
  41. 미디어 콘텐츠에 대한 제공자들을 선택하기 위한 명령어들이 기록된 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하기 위한 명령어 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하기 위한 명령어;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하기 위한 명령어;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하기 위한 명령어;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하기 위한 명령어;
    상기 제1 서비스 품질을 상기 제2 서비스 품질과 비교하기 위한 명령어;
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 것을 결정하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 크다는 결정에 기초하여 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 미디어 리스팅을 디스플레이를 위해 생성하기 위한 명령어
    를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  42. 제41항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  43. 제42항에 있어서,
    상기 제1 서비스 품질을 결정하기 위한 명령어는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하기 위한 명령어;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하기 위한 명령어; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  44. 제41항에 있어서,
    상기 제1 서비스 품질을 결정하기 위한 명령어는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하기 위한 명령어; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  45. 제41항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하기 위한 명령어;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하기 위한 명령어; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  46. 제41항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 생성하기 위한 명령어를 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 제1 서비스 품질보다 더 낮음을 나타내는 것인, 비일시적 컴퓨터 판독가능 매체.
  47. 제41항에 있어서,
    상기 비교에 기초하여 상기 제1 서비스 품질이 상기 제2 서비스 품질과 동일하다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상기 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 상이한 미디어 리스팅을 디스플레이를 위해 생성하기 위한 명령어를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  48. 제41항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하기 위한 명령어;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하기 위한 명령어 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하기 위한 명령어를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  49. 제41항에 있어서,
    임계 서비스 품질을 검색하기 위한 명령어;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  50. 제41항에 있어서,
    임계 서비스 품질을 검색하기 위한 명령어;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 비일시적 컴퓨터 판독가능 매체.
  51. 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법으로서,
    서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 단계 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    상기 서버에서, 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 상기 제1 콘텐츠 제공자를 상기 제2 콘텐츠 제공자보다 더 높게 랭킹하는 단계; 및
    사용자 인터페이스에서, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하는 단계
    를 포함하고,
    상기 제1 미디어 리스팅 및 상기 제2 미디어 리스팅은 상기 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 상기 사용자 인터페이스에 배치되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  52. 제51항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  53. 제52항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 단계;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 단계; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 단계
    를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  54. 제51항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 단계; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 단계
    를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  55. 제51항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 단계;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 단계; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  56. 제51항에 있어서,
    상기 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 상기 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 상기 제1 모자이크 셀은 상기 제2 모자이크 셀보다 더 두드러지게 디스플레이되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  57. 제51항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 단계;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 단계 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  58. 제51항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅을 상기 랭킹 리스트에 부가하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  59. 제51항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  60. 제51항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  61. 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템으로서,
    상기 시스템은, 사용자 디바이스와 통신하는 서버를 포함하고, 상기 서버는 제어 회로부를 포함하고,
    상기 제어 회로부는,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하고 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하고;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하고;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하고;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하고;
    상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 상기 제1 콘텐츠 제공자를 상기 제2 콘텐츠 제공자보다 더 높게 랭킹하고;
    사용자 인터페이스에서, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하도록
    구성되고,
    상기 제1 미디어 리스팅 및 상기 제2 미디어 리스팅은 상기 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 상기 사용자 인터페이스에 배치되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  62. 제61항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  63. 제62항에 있어서,
    상기 제1 서비스 품질을 결정하도록 구성되는 상기 제어 회로부는 또한,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하고;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하고;
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하도록
    구성되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  64. 제61항에 있어서,
    상기 제1 서비스 품질을 결정하도록 구성되는 상기 제어 회로부는 또한,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하고;
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하도록
    구성되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  65. 제61항에 있어서,
    상기 제어 회로부는 또한,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하고;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하고;
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하도록
    구성되는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  66. 제61항에 있어서,
    상기 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 상기 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 상기 제1 모자이크 셀은 상기 제2 모자이크 셀보다 더 두드러지게 디스플레이되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  67. 제61항에 있어서,
    상기 제어 회로부는 또한,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하고;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하고 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -;
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하도록
    구성되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  68. 제61항에 있어서,
    상기 제어 회로부는 또한,
    임계 서비스 품질을 검색하고;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅을 상기 랭킹 리스트에 부가하도록
    구성되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  69. 제61항에 있어서,
    상기 제어 회로부는 또한,
    임계 서비스 품질을 검색하고;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하도록
    구성되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  70. 제61항에 있어서,
    상기 제어 회로부는 또한,
    임계 서비스 품질을 검색하고;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하도록
    구성되고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  71. 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템으로서,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 수단 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 수단;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 수단;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 수단;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 수단;
    상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 상기 제1 콘텐츠 제공자를 상기 제2 콘텐츠 제공자보다 더 높게 랭킹하는 수단; 및
    사용자 인터페이스에서, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하는 수단
    을 포함하고,
    상기 제1 미디어 리스팅 및 상기 제2 미디어 리스팅은 상기 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 상기 사용자 인터페이스에 배치되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  72. 제71항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  73. 제72항에 있어서,
    상기 제1 서비스 품질을 결정하는 수단은,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 수단;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 수단; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 수단
    을 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  74. 제71항에 있어서,
    상기 제1 서비스 품질을 결정하는 수단은,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 수단; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 수단
    을 더 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  75. 제71항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 수단;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 수단; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 수단
    을 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  76. 제71항에 있어서,
    상기 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 상기 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 상기 제1 모자이크 셀은 상기 제2 모자이크 셀보다 더 두드러지게 디스플레이되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  77. 제71항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 수단;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 수단 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 수단
    을 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  78. 제71항에 있어서,
    임계 서비스 품질을 검색하는 수단;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 수단; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅을 상기 랭킹 리스트에 부가하는 수단
    을 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  79. 제71항에 있어서,
    임계 서비스 품질을 검색하는 수단;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 수단; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 수단
    을 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  80. 제71항에 있어서,
    임계 서비스 품질을 검색하는 수단;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 수단; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 수단
    을 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 시스템.
  81. 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법으로서,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 단계 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 단계;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 단계;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 단계;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 단계;
    상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 상기 제1 콘텐츠 제공자를 상기 제2 콘텐츠 제공자보다 더 높게 랭킹하는 단계; 및
    사용자 인터페이스에서, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하는 단계
    를 포함하고,
    상기 제1 미디어 리스팅 및 상기 제2 미디어 리스팅은 상기 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 상기 사용자 인터페이스에 배치되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  82. 제81항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  83. 제82항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 단계;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 단계; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 단계
    를 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  84. 제81항 내지 제83항 중 어느 한 항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 단계; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 단계
    를 더 포함하는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  85. 제81항 내지 제84항 중 어느 한 항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 단계;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 단계; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  86. 제81항 내지 제85항 중 어느 한 항에 있어서,
    상기 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 상기 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 상기 제1 모자이크 셀은 상기 제2 모자이크 셀보다 더 두드러지게 디스플레이되는 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  87. 제81항 내지 제86항 중 어느 한 항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 단계;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 단계 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  88. 제81항 내지 제87항 중 어느 한 항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅을 상기 랭킹 리스트에 부가하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  89. 제81항 내지 제88항 중 어느 한 항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  90. 제81항 내지 제89항 중 어느 한 항에 있어서,
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 단계
    를 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하는 방법.
  91. 사용자 인터페이스들에서 오버더톱 콘텐츠를 배치하기 위한 명령어들이 기록된 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은,
    서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하기 위한 명령어 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    상기 서버에서, 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하기 위한 명령어;
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하기 위한 명령어;
    상기 서버에서, 상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하기 위한 명령어;
    상기 서버에서, 상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하기 위한 명령어;
    상기 서버에서, 상기 제1 서비스 품질이 상기 제2 서비스 품질보다 더 큰 것에 기초하여 랭킹 리스트에서 상기 제1 콘텐츠 제공자를 상기 제2 콘텐츠 제공자보다 더 높게 랭킹하기 위한 명령어; 및
    사용자 인터페이스에서, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅, 및 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하기 위한 명령어
    를 포함하고,
    상기 제1 미디어 리스팅 및 상기 제2 미디어 리스팅은 상기 랭킹 리스트에서의 개개의 콘텐츠 제공자의 랭킹에 따라 상기 사용자 인터페이스에 배치되는 것인, 비일시적 컴퓨터 판독가능 매체.
  92. 제91항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  93. 제92항에 있어서,
    상기 제1 서비스 품질을 결정하기 위한 명령어는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하기 위한 명령어;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하기 위한 명령어; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하기 위한 명령어
    를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  94. 제91항에 있어서,
    상기 제1 서비스 품질을 결정하기 위한 명령어는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하기 위한 명령어; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하기 위한 명령어
    를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  95. 제91항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하기 위한 명령어;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하기 위한 명령어; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  96. 제91항에 있어서,
    상기 제1 미디어 리스팅은 제1 모자이크 셀에 대응하고 상기 제2 미디어 리스팅은 제2 모자이크 셀에 대응하고 상기 제1 모자이크 셀은 상기 제2 모자이크 셀보다 더 두드러지게 디스플레이되는 것인, 비일시적 컴퓨터 판독가능 매체.
  97. 제91항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하기 위한 명령어;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하기 위한 명령어 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  98. 제91항에 있어서,
    임계 서비스 품질을 검색하기 위한 명령어;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅을 상기 랭킹 리스트에 부가하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  99. 제91항에 있어서,
    임계 서비스 품질을 검색하기 위한 명령어;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
  100. 제91항에 있어서,
    임계 서비스 품질을 검색하기 위한 명령어;
    상기 제1 서비스 품질을 상기 임계 서비스 품질과 비교하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하고,
    상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 비일시적 컴퓨터 판독가능 매체.
  101. 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법으로서,
    서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 단계 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    상기 서버에서, 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 단계;
    상기 서버에서, 상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 단계;
    상기 서버에서, 임계 서비스 품질을 검색하는 단계;
    상기 서버에서, 상기 제1 서비스 품질 및 상기 제2 서비스 품질 양측 모두를 상기 임계 서비스 품질과 비교하는 단계;
    상기 서버에서, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것, 및 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 것을 결정하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과하고 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅을 디스플레이를 위해 생성하고 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않는 단계
    를 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  102. 제101항에 있어서,
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정하는 단계;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하는 단계;
    상기 제3 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계;
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것을 결정하는 단계; 및
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅과 동시에 상기 제3 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  103. 제101항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  104. 제103항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 단계;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 단계; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 단계
    를 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  105. 제101항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 단계; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 단계
    를 더 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  106. 제101항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 단계;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 단계; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  107. 제101항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성하는 단계를 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 임계 서비스 품질보다 더 낮음을 나타내는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  108. 제101항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 단계;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 단계 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 단계
    를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  109. 제101항에 있어서,
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 단계를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  110. 제101항에 있어서,
    상기 제1 서비스 품질도 또는 상기 제2 서비스 품질도 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 단계를 더 포함하고, 상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  111. 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템으로서,
    상기 시스템은, 사용자 디바이스와 통신하는 서버를 포함하고, 상기 서버는 제어 회로부를 포함하고,
    상기 제어 회로부는,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 상기 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하고 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하고;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하고;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하고;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하고;
    임계 서비스 품질을 검색하고;
    상기 제1 서비스 품질 및 상기 제2 서비스 품질 양측 모두를 상기 임계 서비스 품질과 비교하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것, 및 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 것을 결정하고;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과하고 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅을 디스플레이를 위해 생성하고 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않도록
    구성되는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  112. 제111항에 있어서,
    상기 제어 회로부는 또한,
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정하고;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하고;
    상기 제3 서비스 품질을 상기 임계 서비스 품질과 비교하고;
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것을 결정하고;
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅과 동시에 상기 제3 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성하도록
    구성되는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  113. 제111항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  114. 제113항에 있어서,
    상기 제1 서비스 품질을 결정하도록 구성되는 상기 제어 회로부는 또한,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하고;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하고;
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하도록
    구성되는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  115. 제111항에 있어서,
    상기 제1 서비스 품질을 결정하도록 구성되는 상기 제어 회로부는 또한,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하고;
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하도록
    구성되는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  116. 제111항에 있어서,
    상기 제어 회로부는 또한,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하고;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하고;
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하도록
    구성되는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  117. 제111항에 있어서,
    상기 제어 회로부는 또한, 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성하도록 구성되고, 상기 통지는 상기 제2 서비스 품질이 상기 임계 서비스 품질보다 더 낮음을 나타내는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  118. 제111항에 있어서,
    상기 제어 회로부는 또한,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하고;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하고 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -;
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하도록
    구성되는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  119. 제111항에 있어서,
    상기 제어 회로부는 또한, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하도록 구성되는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  120. 제111항에 있어서,
    상기 제어 회로부는 또한, 상기 제1 서비스 품질도 또는 상기 제2 서비스 품질도 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하도록 구성되고, 상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 시스템.
  121. 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템으로서,
    서버에서, 클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 수단 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    상기 서버에서, 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 수단;
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 수단;
    상기 서버에서, 상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 수단;
    상기 서버에서, 상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 수단;
    상기 서버에서, 임계 서비스 품질을 검색하는 수단;
    상기 서버에서, 상기 제1 서비스 품질 및 상기 제2 서비스 품질 양측 모두를 상기 임계 서비스 품질과 비교하는 수단;
    상기 서버에서, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것, 및 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 것을 결정하는 수단; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과하고 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅을 디스플레이를 위해 생성하고 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않는 수단
    을 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  122. 제121항에 있어서,
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정하는 수단;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하는 수단;
    상기 제3 서비스 품질을 상기 임계 서비스 품질과 비교하는 수단;
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것을 결정하는 수단; 및
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅과 동시에 상기 제3 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성하는 수단
    을 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  123. 제121항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  124. 제123항에 있어서,
    상기 제1 서비스 품질을 결정하는 수단은,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 수단;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 수단; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 수단
    을 더 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  125. 제121항에 있어서,
    상기 제1 서비스 품질을 결정하는 수단은,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 수단; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 수단
    을 더 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  126. 제121항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 수단;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 수단; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 수단
    을 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  127. 제121항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성하는 수단을 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 임계 서비스 품질보다 더 낮음을 나타내는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  128. 제121항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 수단;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 수단 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 수단
    을 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  129. 제121항에 있어서,
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 수단을 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  130. 제121항에 있어서,
    상기 제1 서비스 품질도 또는 상기 제2 서비스 품질도 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 수단을 더 포함하고, 상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 시스템.
  131. 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법으로서,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하는 단계 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하는 단계;
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하는 단계;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하는 단계;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하는 단계;
    임계 서비스 품질을 검색하는 단계;
    상기 제1 서비스 품질 및 상기 제2 서비스 품질 양측 모두를 상기 임계 서비스 품질과 비교하는 단계;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것, 및 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 것을 결정하는 단계; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과하고 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅을 디스플레이를 위해 생성하고 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않는 단계
    를 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  132. 제131항에 있어서,
    상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정하는 단계;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하는 단계;
    상기 제3 서비스 품질을 상기 임계 서비스 품질과 비교하는 단계;
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것을 결정하는 단계; 및
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅과 동시에 상기 제3 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  133. 제131항 또는 제132항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  134. 제132항 또는 제133항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하는 단계;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하는 단계; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하는 단계
    를 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  135. 제131항 내지 제134항 중 어느 한 항에 있어서,
    상기 제1 서비스 품질을 결정하는 단계는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하는 단계; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하는 단계
    를 더 포함하는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  136. 제131항 내지 제135항 중 어느 한 항에 있어서,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하는 단계;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하는 단계; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하는 단계
    를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  137. 제131항 내지 제136항 중 어느 한 항에 있어서,
    상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성하는 단계를 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 임계 서비스 품질보다 더 낮음을 나타내는 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  138. 제131항 내지 제137항 중 어느 한 항에 있어서,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하는 단계;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하는 단계 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하는 단계
    를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  139. 제131항 내지 제138항 중 어느 한 항에 있어서,
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하는 단계를 더 포함하는, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  140. 제131항 내지 제139항 중 어느 한 항에 있어서,
    상기 제1 서비스 품질도 또는 상기 제2 서비스 품질도 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하는 단계를 더 포함하고, 상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하는 방법.
  141. 오버더톱 콘텐츠를 뷰잉하는 사용자들에게 미디어 콘텐츠의 제공자들을 추천하기 위한 명령어들이 기록된 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은,
    클라우드 기반 어그리게이터로부터의 미디어 자산들에 액세스하라는 사용자 디바이스로부터의 요청을 통신 네트워크를 통해 수신하기 위한 명령어 - 상기 미디어 자산들은 복수의 오버더톱 콘텐츠 제공자들로부터 이용가능함 -;
    미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제1 콘텐츠 제공자를 결정하기 위한 명령어;
    서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제2 콘텐츠 제공자를 결정하기 위한 명령어;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제1 서비스 품질을 결정하기 위한 명령어;
    상기 사용자 디바이스가 상기 제2 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제2 서비스 품질을 결정하기 위한 명령어;
    임계 서비스 품질을 검색하기 위한 명령어;
    상기 제1 서비스 품질 및 상기 제2 서비스 품질 양측 모두를 상기 임계 서비스 품질과 비교하기 위한 명령어;
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것, 및 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 것을 결정하기 위한 명령어; 및
    상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과하고 상기 제2 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제1 미디어 리스팅을 디스플레이를 위해 생성하고 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제2 미디어 리스팅을 디스플레이를 위해 생성하지 않기 위한 명령어
    를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  142. 제141항에 있어서,
    상기 명령어들은,
    상기 서버에서, 상기 미디어 자산을 제공하는 상기 복수의 오버더톱 콘텐츠 제공자들 중 제3 콘텐츠 제공자를 결정하기 위한 명령어;
    상기 사용자 디바이스가 상기 제1 콘텐츠 제공자로부터 상기 미디어 자산을 수신하기 위한 제3 서비스 품질을 결정하기 위한 명령어;
    상기 제3 서비스 품질을 상기 임계 서비스 품질과 비교하기 위한 명령어;
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 것을 결정하기 위한 명령어; 및
    상기 제3 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과한다는 결정에 응답하여, 상기 제1 미디어 리스팅과 동시에 상기 제3 콘텐츠 제공자로부터의 상기 미디어 자산에 대한 제3 미디어 리스팅을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  143. 제141항에 있어서,
    상기 제1 서비스 품질은 하나 이상의 서비스 품질 특성들에 기초하고, 상기 서비스 품질 특성들은, 상기 사용자 디바이스에 의해 경험되는 에러 레이트, 비트 레이트, 스루풋 래그, 송신 딜레이, 가용성, 또는 지터를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  144. 제143항에 있어서,
    상기 제1 서비스 품질을 결정하기 위한 명령어는,
    제1 서비스 품질 특성 및 제2 서비스 품질 특성을 결정하기 위한 명령어;
    상기 제1 서비스 품질 특성에 제1 가중치를 그리고 상기 제2 서비스 품질 특성에 제2 가중치를 할당하기 위한 명령어; 및
    상기 제1 서비스 품질 특성 및 상기 제2 서비스 품질 특성에 대한 가중 평균을 결정하기 위한 명령어
    를 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  145. 제141항에 있어서,
    상기 제1 서비스 품질을 결정하기 위한 명령어는,
    상기 사용자 디바이스에게 체크섬 값에 대해 질의하기 위한 명령어; 및
    상기 질의에 응답하여 상기 사용자 디바이스로부터 상기 체크섬 값을 수신하기 위한 명령어
    를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  146. 제141항에 있어서,
    상기 명령어들은,
    상이한 서비스 품질들에 대응하는 등급들을 리스팅하는 데이터베이스에 상기 제1 서비스 품질을 입력하기 위한 명령어;
    상기 제1 서비스 품질에 대한 등급을 결정하기 위해 상기 제1 서비스 품질을 상기 상이한 서비스 품질들과 비교하기 위한 명령어; 및
    상기 미디어 리스팅과 동시에 상기 등급을 디스플레이를 위해 생성하기 위한 명령어
    를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  147. 제141항에 있어서,
    상기 명령어들은, 상기 제2 콘텐츠 제공자로부터의 상기 미디어 자산에 액세스하기 위한 통지를 디스플레이를 위해 생성하기 위한 명령어를 더 포함하고, 상기 통지는 상기 제2 서비스 품질이 상기 임계 서비스 품질보다 더 낮음을 나타내는 것인, 비일시적 컴퓨터 판독가능 매체.
  148. 제141항에 있어서,
    상기 명령어들은,
    상기 사용자 디바이스와 연관된 사용자 프로파일을 검색하기 위한 명령어;
    상기 사용자 프로파일에 대한 가입 데이터를 검색하기 위한 명령어 - 상기 가입 데이터는 사용자가 상기 복수의 오버더톱 콘텐츠 제공자들 각각에 가입함을 나타냄 -; 및
    상기 가입 데이터에 기초하여 상기 복수의 오버더톱 콘텐츠 제공자들 각각이 상기 미디어 자산을 제공하는지 여부를 결정하기 위해 상기 복수의 오버더톱 콘텐츠 제공자들 각각을 탐색하기 위한 명령어
    를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  149. 제141항에 있어서,
    상기 명령어들은, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 상기 제1 서비스 품질이 상기 임계 서비스 품질과 동일하거나 또는 상기 임계 서비스 품질을 초과할 때 경보를 수신하기 위한 옵션을 디스플레이를 위해 생성하기 위한 명령어를 더 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
  150. 제141항에 있어서,
    상기 명령어들은, 상기 제1 서비스 품질도 또는 상기 제2 서비스 품질도 상기 임계 서비스 품질과 동일하지 않거나 또는 상기 임계 서비스 품질을 초과하지 않는다는 결정에 응답하여, 제1 미디어 자산을 상기 서버에 자동으로 다운로드하기 위한 옵션을 디스플레이를 위해 생성하기 위한 명령어를 더 포함하고, 상기 다운로드된 제1 미디어 자산은 상기 사용자 디바이스 상에서 온디맨드 재생을 위해 이용가능한 것인, 비일시적 컴퓨터 판독가능 매체.
KR1020187018681A 2016-05-16 2017-05-15 사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들 KR20190008173A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US15/155,604 US10341739B2 (en) 2016-05-16 2016-05-16 Methods and systems for recommending providers of media content to users viewing over-the-top content based on quality of service
US15/155,485 US10812851B2 (en) 2016-05-16 2016-05-16 Methods and systems for presenting media listings based on quality of service at a user device
US15/155,604 2016-05-16
US15/155,522 US20170332124A1 (en) 2016-05-16 2016-05-16 Methods and systems for arranging over-the-top content in user interfaces
US15/155,485 2016-05-16
US15/155,522 2016-05-16
PCT/US2017/032671 WO2017200923A1 (en) 2016-05-16 2017-05-15 Methods and systems for presenting media listings based on quality of service at a user device

Publications (1)

Publication Number Publication Date
KR20190008173A true KR20190008173A (ko) 2019-01-23

Family

ID=59009772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187018681A KR20190008173A (ko) 2016-05-16 2017-05-15 사용자 디바이스에서의 서비스 품질에 기초하여 미디어 리스팅들을 제시하기 위한 방법들 및 시스템들

Country Status (8)

Country Link
EP (3) EP3413542B1 (ko)
JP (1) JP2019522386A (ko)
KR (1) KR20190008173A (ko)
CN (1) CN109417568A (ko)
AU (1) AU2017266894A1 (ko)
CA (1) CA2999056A1 (ko)
GB (1) GB2551641B (ko)
WO (1) WO2017200923A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021025423A1 (ko) * 2019-08-06 2021-02-11 삼성전자 주식회사 전자 장치 및 전자 장치의 제어 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
CN111782128B (zh) 2014-06-24 2023-12-08 苹果公司 用于在用户界面中导航的列界面
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
US11966560B2 (en) 2016-10-26 2024-04-23 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. SETUP PROCEDURES FOR AN ELECTRONIC DEVICE
AU2019100574B4 (en) * 2018-06-03 2020-02-20 Apple Inc. Setup procedures for an electronic device
CN113906419A (zh) 2019-03-24 2022-01-07 苹果公司 用于媒体浏览应用程序的用户界面
WO2020198237A1 (en) 2019-03-24 2020-10-01 Apple Inc. User interfaces including selectable representations of content items
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
CN113940088A (zh) 2019-03-24 2022-01-14 苹果公司 用于查看和访问电子设备上的内容的用户界面
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
CN113906380A (zh) 2019-05-31 2022-01-07 苹果公司 用于播客浏览和回放应用程序的用户界面
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
CN112035173B (zh) * 2020-11-04 2021-03-05 北京爱奇艺智能科技有限公司 一种支持vr一体机多维度内容聚合展示的方法和系统
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels

Family Cites Families (26)

* 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
US6388714B1 (en) 1995-10-02 2002-05-14 Starsight Telecast Inc Interactive computer system for providing television schedule information
US6177931B1 (en) 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
BR9909241A (pt) 1998-03-04 2000-11-14 United Video Properties Inc Sistema de guia de programas com propaganda direcionada
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
CA2865444C (en) 1998-07-17 2017-11-28 United Video Properties, Inc. Interactive television program guide system having multiple devices within a household
US7165098B1 (en) 1998-11-10 2007-01-16 United Video Properties, Inc. On-line schedule system with personalization features
US20020065922A1 (en) * 2000-11-30 2002-05-30 Vijnan Shastri Method and apparatus for selection and redirection of an existing client-server connection to an alternate data server hosted on a data packet network (DPN) based on performance comparisons
KR101548473B1 (ko) 2001-02-21 2015-08-28 로비 가이드스, 인크. 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법
US8503577B2 (en) * 2003-07-17 2013-08-06 Agere Systems Llc Signal quality estimation in a wireless communication system
GB0319251D0 (en) * 2003-08-15 2003-09-17 British Telecomm System and method for selecting data providers
US20110214061A1 (en) * 2010-03-01 2011-09-01 Ashley Edwardo King User Interface for Managing Client Devices
CN100405795C (zh) * 2005-02-24 2008-07-23 广东省电信有限公司研究院 分布式对等流媒体的服务系统及其点播节目的实现方法
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
US8066801B2 (en) 2007-04-24 2011-11-29 New York Air Brake Corporation Sweep air system for membrane air dryer
FR2923111A1 (fr) * 2007-10-25 2009-05-01 Thomson Licensing Sas Procede de selection de service audio et/ou video recu.
CN101262492B (zh) * 2008-04-17 2011-03-30 武汉大学 一种协调多个流媒体服务器的管理服务器
US8225362B2 (en) * 2008-05-08 2012-07-17 Sony Corporation Distributed diagnostics for internet video link
US20100130177A1 (en) * 2008-11-24 2010-05-27 Bernard Ku Methods and Apparatuses for Providing Carrier Selection on Display Capable Devices
US9215268B1 (en) * 2011-03-18 2015-12-15 Amazon Technologies, Inc. System and method for selection and switching of content sources for a streaming content session
US9015235B2 (en) * 2012-01-13 2015-04-21 Antecea, Inc. Server aggregated application streaming
US9591098B2 (en) * 2012-02-01 2017-03-07 Cisco Technology, Inc. System and method to reduce stream start-up delay for adaptive streaming
US8799957B2 (en) * 2012-11-08 2014-08-05 Motorola Mobility Llc Electronic program guide with display of alternative-source multimedia program options and estimated availability parameters
US9113208B2 (en) * 2013-03-18 2015-08-18 Squaredon Co Ltd Personalized video channel control
JP6425708B2 (ja) * 2013-04-18 2018-11-21 サムスン エレクトロニクス カンパニー リミテッド マルチメディアトランスポートネットワークにおけるメディア配信の制御方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021025423A1 (ko) * 2019-08-06 2021-02-11 삼성전자 주식회사 전자 장치 및 전자 장치의 제어 방법

Also Published As

Publication number Publication date
CA2999056A1 (en) 2017-11-23
CN109417568A (zh) 2019-03-01
EP3378219A1 (en) 2018-09-26
EP3425880B1 (en) 2021-09-29
EP3413542B1 (en) 2021-09-08
GB2551641B (en) 2020-10-28
EP3425880A1 (en) 2019-01-09
EP3413542A1 (en) 2018-12-12
JP2019522386A (ja) 2019-08-08
GB2551641A (en) 2017-12-27
WO2017200923A1 (en) 2017-11-23
EP3378219B1 (en) 2021-09-15
GB201707815D0 (en) 2017-06-28
AU2017266894A1 (en) 2018-07-12

Similar Documents

Publication Publication Date Title
EP3378219B1 (en) Methods and systems for presenting media listings based on quality of service at a user device
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
US11962864B2 (en) Methods and systems for recommending providers of media content to users viewing over-the-top content based on quality of service
US11924518B2 (en) Methods and systems of facilitating sharing of information among service providers
US11470391B2 (en) Methods and systems for implementing a locked mode for viewing media assets
US9578379B1 (en) Scene-by-scene viewer ratings
US11676181B2 (en) Systems and methods for resolving advertisement placement conflicts
US9774913B1 (en) Methods and systems of recommending media assets to users viewing over-the-top content
US20170332124A1 (en) Methods and systems for arranging over-the-top content in user interfaces
US10812851B2 (en) Methods and systems for presenting media listings based on quality of service at a user device

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination