KR102406817B1 - 이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법 - Google Patents

이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102406817B1
KR102406817B1 KR1020197007942A KR20197007942A KR102406817B1 KR 102406817 B1 KR102406817 B1 KR 102406817B1 KR 1020197007942 A KR1020197007942 A KR 1020197007942A KR 20197007942 A KR20197007942 A KR 20197007942A KR 102406817 B1 KR102406817 B1 KR 102406817B1
Authority
KR
South Korea
Prior art keywords
user
media guidance
guidance application
series
delete delete
Prior art date
Application number
KR1020197007942A
Other languages
English (en)
Other versions
KR20190043151A (ko
Inventor
데이비드 제랄드 윗케
Original Assignee
로비 가이드스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로비 가이드스, 인크. filed Critical 로비 가이드스, 인크.
Publication of KR20190043151A publication Critical patent/KR20190043151A/ko
Application granted granted Critical
Publication of KR102406817B1 publication Critical patent/KR102406817B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/743Browsing; Visualisation therefor a collection of video files or sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/47214End-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 content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/47217End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 시스템 및 방법이 제시된다. 예를 들면, 미디어 가이던스 애플리케이션(예를 들면, 셋탑 박스 상에서 실행됨)은, 시리즈물의 이전에 저장된 에피소드의 시청 진척도뿐만 아니라 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 양 둘 모두를 모니터링한다. 그 다음, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 현재 양(예를 들면, 이용 가능한 20 %)을 이용 가능한 스토리지의 함수에 입력함으로써, 임계 시청 진척도(예를 들면, 50 %)를 계산한다. 그 다음, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드 전체에 걸친 사용자의 시청 진척도로부터, 사용자가 계산된 임계 시청 진척도를 충족했는지(예를 들면, 사용자가 저장된 에피소드의 50 %를 시청했는지)의 여부를 결정한다. 임계 시청 진척도가 충족되지 않으면, 미디어 가이던스 애플리케이션은 시리즈물 녹화 명령어를 수정한다(예를 들면, 시리즈물 녹화를 취소한다).

Description

이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법
현대의 텔레비전 소비자가 이용할 수 있는 과다한 미디어를 고려해 볼 때, 사용자는 종종, 그들이 관심을 갖는 미디어 자산이 라이브로 방송될 때, 그들 모두를 볼 수 없다. 많은 사용자는, 독립형 디바이스일 수도 있거나 또는 셋탑 박스(set-top box; "STB")에 통합될 수도 있는 디지털 비디오 레코더(digital video recorder; "DVR")를 활용하여 나중의 소비를 위해 미디어 자산을 녹화한다. 사용자를 돕기 위해, 많은 셋탑 박스가, 미디어 자산에 관련되는 정보를 시각적으로 제시하는 미디어 가이던스 애플리케이션을 구현한다. 많은 미디어 가이던스 애플리케이션에 공통적인 하나의 특정한 기능은 시리즈물 녹화 기능(series recording function)이다. 사용자에 의한 특정 시리즈물에 대한 시리즈물 녹화 기능의 선택시, 미디어 가이던스 애플리케이션은 시리즈물의 일부인 것으로 식별되는 에피소드를 녹화하기 위한 명령어를 저장한다. 미디어 가이던스 애플리케이션이 업데이트된 미디어 자산 목록을 (예를 들면, 콘텐츠 공급자로부터) 수신함에 따라, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드로서 검출되는 미디어 자산을 자동적으로 스케줄링하고 그들을 적절한 시간에 녹화한다.
편리하지만, 시리즈물 녹화는 DVR의 스토리지 용량에 도달되는 것으로 빠르게 이어질 수 있다. 이것은, 사용자가 많은 수의 미디어 자산을 훑어보고 새로운 미디어 자산을 저장하기 위해 어떤 것을 삭제할지를 수동으로 결정해야 할 수도 있기 때문에, 그 또는 그녀를 좌절시킬 수 있다. 사용자가 미디어 자산을 본 이후 또는 임계 양의 저장 시간 이후 미디어 자산을 자동적으로 삭제하는 것과 같은, 이 문제에 대한 다양한 솔루션이 제안되어 있다. DVR이 스토리지 용량에 도달하는 것으로 이어지게 한 많은 수의 시리즈물 녹화 명령어의 문제점을 해결하기 위해, 고려되었던 하나의 이전에 제안된 솔루션은, 사용자에 의해 시청된 시리즈물의 에피소드의 수를 결정하고 사용자가 임계 수의 에피소드를 시청하지 않은 것에 기초하여 시리즈물 녹화 명령어를 삭제하는 것이었다. 그러나, 이 솔루션은, 사용자가 임계 수의 에피소드를 시청하지 않은 것이 그들이 그 시리즈물에 관심이 없다는 것을 의미한다는 것을 가정하는 두루 적용되는(one size fits all) 접근법이다는 점에서 문제가 된다. 몇몇 사용자는, 시즌의 모든 에피소드가 녹화될 때까지 시리즈물 시청을 대기하기를 원할 수도 있거나 또는 그들은 그들의 DVR이 꽉 차지 않았다면 에피소드를 즉시 시청하는 것에 관해 염려하지 않을 수도 있다.
따라서, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 시스템 및 방법이 제시된다. 예를 들면, 미디어 가이던스 애플리케이션(예를 들면, 셋탑 박스 상에서 실행됨)은, 시리즈물의 이전에 저장된 에피소드의 시청 진척도(viewing progress)뿐만 아니라 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 양 둘 모두를 모니터링한다. 그 다음, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 현재 양(예를 들면, 이용 가능한 20 %)을 이용 가능한 스토리지의 함수에 입력함으로써, 임계 시청 진척도(예를 들면, 50 %)를 계산한다. 그 다음, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드 전체에 걸친 사용자의 시청 진척도로부터, 사용자가 계산된 임계 시청 진척도를 충족했는지(예를 들면, 사용자가 저장된 에피소드의 50 %를 시청했는지)의 여부를 결정한다. 임계 시청 진척도가 충족되지 않으면, 미디어 가이던스 애플리케이션은 시리즈물 녹화 명령어를 수정한다(예를 들면, 시리즈물 녹화를 취소한다). 이용 가능한 스토리지의 양에 기초하여 시리즈물 녹화 명령어를 수정하는 때에 대해 가변 임계치를 활용함으로써, 시스템 및 방법은, 시리즈물 녹화 명령어가 조기에 삭제되지 않는다는 것을 보장하는 것을 도울 수도 있고, 스토리지 디바이스 상에서 이용 가능한 공간의 한정된 양을 더욱 효율적으로 관리하는 것을 도울 수도 있다.
몇몇 양태에서, 미디어 가이던스 애플리케이션은 시리즈물을 저장하려는 사용자 요청을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드에 대한 녹화 옵션의 사용자 선택을, 사용자 입력 인터페이스(예를 들면, 리모콘(remote control))를 통해, 수신할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 시리즈물의 다른 에피소드를 녹화하는 선택 가능한 옵션을 비롯한 추가적인 옵션을 사용자에게 제공할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 사용자 입력 인터페이스(예를 들면, 터치스크린)를 통한 단일의 입력으로 사용자가 선택할 수도 있는 복수의 인기 시리즈물을, 시리즈물 녹화 옵션 스크린에 제공할 수도 있다.
그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 스케줄링 데이터 구조에 저장하기 위한 명령어를 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은 스토리지에 저장되는 스케줄링 데이터 구조를 메모리에 로컬하게 또는 미디어 가이던스 데이터 소스에서 원격으로 유지할 수도 있다. 스케줄링 데이터 구조는 테이블로서 편제될 수도 있는데, 여기서 각각의 명령어는 상이한 행에 저장되고 명령어와 관련되는 파라미터(예를 들면, 녹화 시작 시간, 종료 시간, 및/또는 소스)는 행 내의 필드에 저장된다.
대안적으로 또는 추가적으로, 스케줄링 데이터 구조는 C++와 같은 객체 지향 프로그래밍 언어에 전형적인 것과 같이, 클래스의 객체로서 구조화될 수도 있다. 이 경우, 클래스는 "스케줄링된 아이템" 클래스일 수도 있는데, "스케줄링된 아이템" 클래스는 사용자로부터 미디어 가이던스 애플리케이션에 의해 수신되는 각각의 스케줄링 선택을 위해 메모리에 저장되는 변수 및 상수의 일반 템플릿을 생성한다. 시리즈물을 저장하기 위한 명령어의 경우, 미디어 가이던스 애플리케이션은 각각의 에피소드를 저장하기 위한 별개의 명령어, 또는 특정한 시리즈물에 대응하는 모든 에피소드가 저장되어야 한다는 것을 명시하는 단일의 명령어 중 어느 하나를 생성할 수도 있다.
미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 명령어에 기초하여, 시리즈물의 복수의 에피소드를 스토리지 디바이스에 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 다양한 스케줄링 이벤트에 대해, 클록 시간을, 스케줄링 데이터베이스에 저장되어 있는 시작 시간과 비교하는 프로그램 스크립트를 실행할 수도 있다. 클록 시간이 스케줄링 이벤트의 시작 시간에 대응하는 경우, 미디어 가이던스 애플리케이션은 적절한 액션(예를 들면, 스케줄링 데이터 구조에서 정의되는 바와 같은 특정한 소스로부터 데이터를 수신하고 그 데이터를 저장함)을 취할 수도 있다.
미디어 가이던스 애플리케이션은, 사용자에 의한 복수의 에피소드의 시청 진척도를 사용자에 대응하는 사용자 프로파일에 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은 사용자 프로파일을 데이터 구조에서 유지할 수도 있다. 사용자 프로파일은 사용자별일 수도 있거나(예를 들면, 사용자가 로그인 자격 정보에 기초하여 미디어 가이던스 애플리케이션에 의해 식별되고 각각의 사용자에 대한 별개의 시청 진척도가 유지됨) 또는 디바이스별일 수도 있다(예를 들면, 디바이스가 미디어 자산을 보는 다수의 사용자를 갖더라도, 단지 단일의 시청 진척도만이 미디어 가이던스 애플리케이션에 의해 저장됨). 사용자 프로파일을 저장하는 데이터 구조는, 상기에서 설명되는 스케줄링 데이터 구조와 유사하게 편제될 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 사용자 프로파일을 테이블로서 편제할 수도 있는데, 여기서 사용자가 소비한 각각의 미디어 자산은 상이한 행에 저장되고 미디어 자산과 관련되는 파라미터(예를 들면, 사용자의 시청 진척도 및/또는 시간 및 미디어 자산이 마지막으로 액세스된 시간 및 날짜)가 행 내의 필드에 저장된다. 사용자가 특정한 미디어 자산에 액세스할 때마다, 미디어 가이던스 애플리케이션은 사용자 프로파일을 조회하여(query) 미디어 자산이 사용자에 의해 이전에 액세스되었는지의 여부를 결정하고 미디어 자산에 대응하는 엔트리에 대한 시청 진척도를 업데이트할 수도 있다. 사용자가 미디어 자산을 이전에 시청하지 않았다면, 미디어 가이던스 애플리케이션은 사용자 프로파일에 새로운 엔트리를 생성할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 사용자가 복수의 에피소드 중 제1 에피소드를 선택하였다는 것을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 미디어 가이던스 데이터 소스로부터 수신되는) "The Winds of Winter"와 관련되는 메타데이터에 기초하여, 사용자가 시리즈물 "The Winds of Winter"의 제1 에피소드인 "Game of Thrones"을 선택했다고 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 제1 에피소드에 대한 사용자의 현재 재생 위치를 모니터링한다. 예를 들면, 미디어 가이던스 애플리케이션은 "The Winds of Winter"를 시청하고 있는 사용자의 시청 진척도를 모니터링할 수도 있고, 사용자가 에피소드의 15 분을 시청했다는 것을 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 제1 에피소드에 대한 사용자의 현재 재생 위치를, 엔트리로서, 사용자 프로파일의 시청 진척도 데이터 구조에 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 에피소드에 대한 사용자 프로파일 내의 시청 진척도에 대응하는 필드를, 주기적으로, 또는 사용자가 미디어 자산을 더 이상 시청하지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 업데이트할 수도 있다.
제1 에피소드에 대한 사용자의 현재 재생 위치를, 엔트리로서, 사용자 프로파일의 시청 진척도 데이터 구조에 저장하기 위해, 미디어 가이던스 애플리케이션은 사용자에 의해 시청된 제1 에피소드의 분율(fraction)을, 제1 에피소드의 지속 기간 및 사용자의 현재 재생 위치에 기초하여 계산할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자에 의한 시리즈물 "Game of Thrones"의 에피소드 "The Winds of Winter"에 대한 현재 재생 진척도(예를 들면, 15 분)를 리트리브(retrieve)할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, (예를 들면, 미디어 가이던스 데이터 소스로부터) 에피소드의 총 지속 기간(total duration)을 60 분으로서 리트리브하는 것에 기초하여, 사용자에 의해 시청된 "The Winds of Winter"의 분율을 1/4로서 계산할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 메모리에 저장되어 있는 임계 분율 시청 진척도(threshold fractional viewing progress)를 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은 임계 분율 시청 진척도의 값을 사용자 프로파일 내의 필드로부터 1/2로서 리트리브할 수도 있다. 임계 분율 시청 진척도에 대한 값은 사용자 또는 디바이스에 고유할 수도 있다. 미디어 가이던스 애플리케이션은, 사용자에 의해 시청된 제1 에피소드의 분율을, 임계 분율 시청 진척도에 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, 임계 분율 시청 진척도의 값(예를 들면, 1/2)을, 사용자에 의해 시청된 제1 에피소드의 분율(예를 들면, 1/4)에 비교하여, 어떤 것이 더 큰지를 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 사용자에 의해 시청된 제1 에피소드의 분율이 임계 분율 시청 진척도를 충족한다고 결정한 것에 응답하여, 제1 에피소드가 사용자에 의해 완전히 시청되었다는 표시를 엔트리와 함께 저장한다. 예를 들면, 사용자가 임계치보다 더 많이 시청했다는 것의 결정시, 미디어 가이던스 애플리케이션은, 사용자가 에피소드를 시청했는지의 여부에 대응하는 부울 값(Boolean value)을 "참(true)"으로 설정할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 몇몇 사용자가 하나 이상의 에피소드 중 일부분만을 시청하기를 원할 수도 있지만, 그러나 그 시리즈물에 여전히 관심이 있을 수도 있기 때문에, 사용자가 임계 분율 시청 진척도를, 그들이 시청한 에피소드인 것으로 그들이 간주하는 것으로 (예를 들면, 사용자 입력 인터페이스를 통해) 커스터마이징하는 것을 허용할 수도 있다.
미디어 가이던스 애플리케이션은 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 양을 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 얼마나 많은 메모리의 블록이 비어 있는지 그리고 미디어 자산을 저장하는 데 이용 가능한지를 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 하기에서 설명되는 바와 같이, 이용 가능한 스토리지의 양을 그것이 시리즈물 시청 함수(series viewing function)에 입력될 수 있도록 프로세싱할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 메모리의 전체 비어 있는 블록을, 메모리의 전체 블록으로 제산하여, 새로운 미디어 자산을 저장하는 데 이용 가능한 공간의 백분율(예를 들면, 5 % 이용 가능)을 결정할 수도 있다.
미디어 가이던스 애플리케이션은, 시리즈물 시청 함수를 사용하여, 이용 가능한 스토리지의 양을 프로세싱함으로써 임계 시청 진척도를 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지의 양을 임계 시청 진척도에 관련시키는 수학 함수를 저장할 수도 있다. 수학 함수는 연속적일 수도 있고, 불연속적일 수도 있고, 및/또는 단일 값을 가질 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 스토리지 디바이스의 스토리지의 단지 10 %만이 이용 가능하다는 것을 결정할 수도 있고 이것을 7/8의 출력을 리턴하는 수학 함수에 입력할 수도 있다. 이 예에서, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지 공간이 거의 없기 때문에 높은 임계 시청 진척도를 계산한다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지의 양의 제1 값을 리트리브한다. 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 비어 있고 미디어 자산을 저장하는 데 이용 가능한 메모리의 블록의 값을 리트리브할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 프로그램 스크립트를 실행하는데, 여기서 제1 값은 이용 가능한 스토리지의 양에 대한 값을 임계 시청 진척도에 매핑하는 수학 함수에 입력된다. 예를 들면, 미디어 가이던스 애플리케이션은, 상기에서 설명되는 바와 같이, 수학 함수에 대한 입력으로서 이용 가능한 메모리의 양을 가지고 프로그램 스크립트(예를 들면, C++ 프로그램)를 실행할 수도 있다. 미디어 가이던스 애플리케이션은, 프로그램 스크립트의 출력으로서, 임계 시청 진척도를 수신한다. 예를 들면, 프로그램 스크립트는 입력되는 이용 가능한 스토리지의 양에 기초하여 임계 시청 진척도를 리턴하고 종료할 수도 있다.
미디어 가이던스 애플리케이션은, 복수의 저장된 에피소드 사이의 집합적 시청 진척도(collective viewing progress)를 나타내는 집성된 시청 진척도(aggregated viewing progress)를 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자가 시청한 특정한 미디어 자산(예를 들면, 사용자 프로파일 내의 테이블 내의 엔트리)에 대한 시청 진척도를 리트리브하기 위해, SQL 스크립트와 같은 데이터베이스 쿼리 언어 스크립트(database query language)를 실행할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 각각의 에피소드에 대한 시청 진척도를 합산하여 그 시리즈물에 대한 사용자에 의한 집성된 시청 진척도를 결정할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 시리즈물의 복수의 저장된 에피소드의 각각의 저장된 에피소드의 지속 기간을 합산함으로써, 시리즈물의 저장된 에피소드의 집성된 지속 기간(aggregated duration)을 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자 프로파일 내의 필드로부터 또는 미디어 가이던스 데이터 소스로부터 각각의 에피소드의 총 지속 기간(예를 들면, 런타임)을 리트리브할 수도 있다. 후자의 경우, 미디어 가이던스 애플리케이션은, 파라미터로서 에피소드의 식별자를 가지고 프로그램 스크립트를 실행함으로써 에피소드의 총 지속 기간 동안 미디어 가이던스 데이터 소스를 조회할 수도 있는데, 미디어 가이던스 데이터 소스는 원격으로 위치될 수도 있고 통신 네트워크를 통해 액세스 가능할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 사용자가 시리즈물의 6 개의 에피소드 및 총 360 분의 에피소드(예를 들면, 집성된 지속 기간)를 저장했다는 것을 결정할 수도 있다.
저장된 에피소드의 집성된 지속 기간을 계산하는 것 이외에, 미디어 가이던스 애플리케이션은 또한 시리즈물의 복수의 저장된 에피소드의 각각의 저장된 에피소드의 사용자의 현재 재생 진척도를 합산함으로써 집합적 시청 진척도를 또한 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은 SQL 스크립트와 같은 데이터베이스 쿼리 언어 스크립트를 실행하여, 시리즈물의 일부인 사용자가 시청한 특정한 미디어 자산(예를 들면, 사용자 프로파일 내의 테이블 내의 엔트리)에 대한 시청 진척도를 리트리브할 수도 있다. 이 예에서, 미디어 가이던스 애플리케이션은, 사용자에 의해 시청된 총 지속 기간을 나타내는 정수 변수 또는 일련의 변수를 유지할 수도 있고, 미디어 가이던스 애플리케이션에 의해 리트리브되는 시리즈물에 대응하는 사용자 프로파일 내의 각각의 엔트리의 시청 진척도를 추가함으로써 그것을 업데이트할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 사용자가 시리즈물의 5 개의 에피소드 및 총 120 분의 에피소드(예를 들면, 집합적 시청 진척도)를 시청했다는 것을 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 집합적 시청 진척도를 저장된 에피소드의 집성된 지속 기간으로 제산함으로써, 집성된 시청 진척도를 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은 계산된 집성된 지속 기간 및 집합적 시청 진척도에 대한 값을 메모리로부터 리트리브할 수도 있고, 두 값을 제산함으로써, 집성된 시청 진척도를 계산할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 33 %의 집성된 시청 진척도의 경우, 사용자에 의해 시청된 120 분을 스토리지 디바이스의 메모리에 저장되어 있는 시리즈물의 총 360 분으로 제산할 수도 있다.
미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 임계 시청 진척도를 초과하는지의 여부를 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 집성된 시청 진척도 및 임계 시청 진척도에 대한 값을 비교하여, (예를 들면, 다른 값으로부터 하나의 값을 감산하는 것 및 리턴되는 결과가 양인지, 음인지, 또는 제로인지의 여부를 결정함으로써) 집성된 시청 진척도가 임계치를 초과하는지의 여부를 결정할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가, 상기에서 설명되는 바와 같이 스토리지 디바이스 상에서 이용 가능한 스토리지의 양으로부터 계산된 50 %의 임계치를 충족하지 못하는 33 %이다는 것을 결정할 수도 있다.
미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 임계 시청 진척도를 초과하지 않는다고 결정한 것에 응답하여, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 하기의 다양한 실시형태에서 추가로 설명되는 바와 같이, 스케줄링 데이터 구조에 액세스할 수도 있고 더 적은 에피소드를 저장하기 위한, 또는 시리즈물의 에피소드를 전체적으로 저장하는 명령어를 삭제하기 위한 명령어를 (예를 들면, 프로그램 스크립트를 실행함으로써) 기록할 수도 있다.
미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 다양한 방식으로 수정할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 액세스한다. 예를 들면, 미디어 가이던스 애플리케이션은 메모리에 로컬하게 또는 미디어 가이던스 데이터 소스에 원격으로 저장되는 스케줄링 데이터 구조에 액세스할 수도 있다. 미디어 가이던스 애플리케이션은, 스케줄링 데이터 구조에 액세스하기 위해, 사용자 입력으로부터 획득될 수도 있는 인증 코드를 송신하도록 요구받을 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드의 서브세트를 저장하기 위한 추가적인 명령어를 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물을 저장하기 위한 특정한 명령어에 대한 스케줄링 데이터 구조 내의 행 내의 필드에, 에피소드의 서브세트를 저장하기 위한 추가적인 명령어를 기록하는 프로그램 스크립트를 실행할 수도 있다. 서브세트는 모든 다른 에피소드일 수도 있거나, 단지 새로운 에피소드만일 수도 있거나, 단지 고화질(high-definition) 에피소드만일 수도 있거나, 또는 미디어 가이던스 애플리케이션에 의해 수신되는 시리즈물의 모든 에피소드를 포함하지 않는 임의의 다른 그룹일 수도 있다.
다른 실시형태에서, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 액세스한다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 메모리에 로컬하게 또는 미디어 가이던스 데이터 소스에 원격으로 저장되는 스케줄링 데이터 구조에 액세스할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물을 저장하기 위한 특정한 명령어에 대한 스케줄링 데이터 구조 내의 행을 삭제하는 프로그램 스크립트를 실행할 수도 있다.
시리즈물의 에피소드를 저장하기 위한 명령어를 삭제한 이후, 미디어 가이던스 애플리케이션은, 사용자 프로파일의 시청 진척도 데이터 구조로부터 복수의 저장된 에피소드의 각각의 저장된 에피소드에 대한 현재 재생 진척도를 추가적으로 리트리브할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 복수의 미디어 자산에 대한 사용자의 시청 진척도를 포함하는 사용자 프로파일 내의 데이터 구조(예를 들면, 테이블에서 배열됨)에 액세스할 수도 있고, 시리즈물의 일부로서 식별되는 각각의 에피소드에 대한 재생 진척도를 (예를 들면, 에피소드에 대한 시리즈물 식별자를 열거하는 시리즈물 필드(series field)로부터) 리트리브할 수도 있다.
그 다음, 미디어 가이던스 애플리케이션은, 각각의 저장된 에피소드의 리트리브된 현재 재생 진척도에 기초하여 복수의 저장된 에피소드의 등급을 매긴다(rank). 예를 들면, 미디어 가이던스 애플리케이션이 (예를 들면, 테이블 내의 각각의 연속하는 행의 콘텐츠를 체크하여 그것이 시리즈물의 에피소드인지의 여부를 확인하기 위해 "for-loop(for 루프문)"를 활용하는 프로그램 스크립트를 실행함으로써) 각각의 에피소드에 대한 재생 진척도를 리트리브할 때, 미디어 가이던스 애플리케이션은 각각의 에피소드에 대한 리트리브된 시청 진척도를, 시리즈물의 에피소드만을 갖는 데이터 구조(예를 들면, 어레이, 목록, 테이블, 등등)에 저장할 수도 있다. 시리즈물의 에피소드에 대한 시청 진척도를 리트리브하는 동안 또는 리트리브한 이후, 미디어 가이던스 애플리케이션은, 임의의 정렬 알고리즘(예를 들면, "병합 정렬")을 사용하여 시리즈물의 에피소드만을 갖는 데이터 구조의 콘텐츠를, 각각의 에피소드에서의 뷰어의 진척도에 기초하여 그들이 정렬되도록, 정렬할 수도 있다(예를 들면, 사용자가 10 분 시청한 에피소드가 사용자가 완료한 에피소드보다 더 높게 등급이 매겨질 것이다). 그 다음, 미디어 가이던스 애플리케이션은 등급(ranking)에 기초하여 제1 저장된 에피소드를 삭제한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시청 진척도가 어떻게 등급이 매겨졌는지에 따라, 시리즈물의 에피소드만을 포함하는 등급이 매겨진 데이터 구조의 처음 또는 마지막 엔트리에 대응하는 에피소드를 삭제할 수도 있다. 이러한 방식으로, 미디어 가이던스 애플리케이션은 스토리지 디바이스로부터 사용자에 의해 가장 많이 또는 가장 적게 시청된 에피소드를 선택적으로 삭제할 수 있다.
추가적으로, 미디어 가이던스 애플리케이션은, 제1 저장된 에피소드를 삭제하는 것에 기초하여 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 새로운 양을 계산할 수도 있다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 메모리의 얼마나 많은 블록이 비어 있고 미디어 자산을 저장하는 데 이용 가능한지를 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물 시청 함수로 이용 가능한 스토리지의 새로운 양을 프로세싱함으로써 제2 임계 시청 진척도를 계산할 수도 있다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 양을 임계 시청 진척도에 관련시키는 수학 함수를 저장할 수도 있다. 미디어 가이던스 애플리케이션은, 수학 함수를 사용하여 입력에 대해 동작하는 그리고 제2 임계 시청 진척도를 리턴하는 프로그램 스크립트에 이용 가능한 스토리지의 새로운 양을 입력할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 집성된 시청 진척도가 제2 임계 시청 진척도를 초과하는지의 여부를 결정할 수도 있다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 집성된 시청 진척도 및 제2 임계 시청 진척도에 대한 값을 비교하여, (예를 들면, 다른 값으로부터 하나의 값을 감산하는 것 및 리턴되는 결과가 양인지, 음인지, 또는 제로인지의 여부를 결정함으로써) 집성된 시청 진척도가 제2 임계치를 초과하는지의 여부를 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 제2 임계 시청 진척도를 초과하지 않는다고 결정한 것에 응답하여, 등급에 기초하여 제2 저장된 에피소드를 삭제할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 시청 진척도가 어떻게 등급이 매겨졌는지에 따라, 시리즈물의 에피소드만을 포함하는 등급이 매겨진 데이터 구조의 처음 또는 마지막 엔트리에 대응하는 제2 에피소드를 삭제할 수도 있다. 몇몇 실시형태에서, 집성된 시청 진척도가 계산된 임계치를 초과한다는 것을 미디어 가이던스 애플리케이션이 결정할 때까지, 미디어 가이던스 애플리케이션은 등급이 매겨진 목록에 기초하여 스토리지로부터 에피소드를 계속 삭제할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하는 옵션을 포함하는 사용자의 집성된 시청 진척도를 나타내는 통지를 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자가 특정한 시리즈물의 에피소드의 25 %만을 시청하였다는 것을 텔레비전 상에서의 디스플레이를 위해 생성할 수도 있고 명령어를 수정하는 옵션을 추가적으로 제시할 수도 있다. 명령어를 수정하는 옵션은, 상기에서 설명되는 바와 같이, 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제하는 옵션, 사용자가 시청한(예를 들면, 에피소드의 소정의 백분율을 시청한 또는 액세스한) 에피소드를 삭제하는 옵션, 및/또는 시리즈물의 서브세트만을 저장하는 옵션을 포함할 수도 있다. 미디어 가이던스 애플리케이션은 옵션의 사용자에 의한 사용자 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제하는 옵션의 사용자 선택을, 사용자 입력 인터페이스를 통해 수신할 수도 있다. 몇몇 실시형태에서, 사용자는 스토리지 디바이스 상의 유한한 양의 스토리지가 사용되는 방법에서 더 큰 유연성을 허용하는 다수의 옵션을 선택할 수 있다. 예를 들면, 사용자는 그들이 50 % 시청한 에피소드를 삭제할 것을, 뿐만 아니라 시리즈물의 새로운 에피소드만을 저장할 것을 선택할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 수신된 사용자 선택에 기초하여, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정한다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 액세스할 수도 있고 수신된 사용자에 기초하여 (예를 들면, 현존하는 명령어에 대한 행의 필드에) 새로운 명령어를 (예를 들면, 프로그램 스크립트를 실행함으로써) 기록할 수도 있다.
상기에서 설명되는 시스템 및/또는 방법은, 다른 시스템, 방법 및/또는 장치에 적용될 수도 있거나, 또는 다른 시스템, 방법 및/또는 장치에 따라 사용될 수도 있다는 것을 유의해야 한다.
본 개시의 및 다른 목적 및 이점은, 첨부하는 도면과 연계하여 취해지는 다음의 상세한 설명의 고려시, 명백할 것인데, 첨부의 도면에서, 동일한 참조 부호는 전체에 걸쳐 동일한 부분을 나타내며, 첨부하는 도면에서,
도 1은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 예시적인 단계의 플로우차트이다;
도 2는, 본 개시의 몇몇 실시형태에 따른, 이용 가능한 스토리지를 임계 시청 진척도에 매핑하기 위한 시리즈물 시청 함수의 예시적인 예를 도시한다;
도 3은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하는 옵션을 제시하는 디스플레이 스크린의 예시적인 예를 도시한다;
도 4는, 본 개시의 몇몇 실시형태에 따른, 미디어 콘텐츠를 액세스함에 있어서 사용하기 위한 디스플레이 스크린의 예시적인 예를 도시한다;
도 5는, 본 개시의 몇몇 실시형태에 따른, 미디어 콘텐츠를 액세스함에 있어서 사용하기 위한 디스플레이 스크린의 다른 예시적인 예를 도시한다;
도 6은, 본 개시의 몇몇 실시형태에 따른, 예시적인 사용자 기기 디바이스의 블록도이다;
도 7은, 본 개시의 몇몇 실시형태에 따른, 예시적인 미디어 시스템의 블록도이다;
도 8은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 예시적인 단계의 다른 플로우차트이다;
도 9는, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 에피소드를 저장하기 위한 명령어를 저장하기 위한 예시적인 단계의 플로우차트이다;
도 10은, 본 개시의 몇몇 실시형태에 따른, 사용자에 의한 복수의 저장된 에피소드의 시청 진척도를 저장하기 위한 예시적인 단계의 플로우차트이다;
도 11은, 본 개시의 몇몇 실시형태에 따른, 시리즈물 시청 함수를 사용하여, 이용 가능한 스토리지의 양을 프로세싱함으로써 임계 시청 진척도를 계산하기 위한 예시적인 단계의 플로우차트이다;
도 12는, 본 개시의 몇몇 실시형태에 따른, 복수의 저장된 에피소드 사이의 집성된 시청 진척도를 계산하기 위한 예시적인 단계의 플로우차트이다; 그리고
도 13은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하기 위한 예시적인 단계의 플로우차트이다.
시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 시스템 및 방법이 제시된다. 예를 들면, 미디어 가이던스 애플리케이션(예를 들면, 셋탑 박스 상에서 실행됨)은, 시리즈물의 이전에 저장된 에피소드의 시청 진척도뿐만 아니라 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 양 둘 모두를 모니터링한다. 그 다음, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 현재 양(예를 들면, 이용 가능한 20 %)을 이용 가능한 스토리지의 함수에 입력함으로써, 임계 시청 진척도(예를 들면, 50 %)를 계산한다. 그 다음, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드 전체에 걸친 사용자의 시청 진척도로부터, 사용자가 계산된 임계 시청 진척도를 충족했는지(예를 들면, 사용자가 저장된 에피소드의 50 %를 시청했는지)의 여부를 결정한다. 임계 시청 진척도가 충족되지 않으면, 미디어 가이던스 애플리케이션은 시리즈물 녹화 명령어를 수정한다(예를 들면, 시리즈물 녹화를 취소한다). 이용 가능한 스토리지의 양에 기초하여 시리즈물 녹화 명령어를 수정하는 때에 대해 가변 임계치를 활용함으로써, 시스템 및 방법은, 시리즈물 녹화 명령어가 조기에 삭제되지 않는다는 것을 보장하는 것을 도울 수도 있고, 스토리지 디바이스 상에서 이용 가능한 공간의 한정된 양을 더욱 효율적으로 관리하는 것을 도울 수도 있다.
본원에서 언급되는 바와 같이, "미디어 가이던스 애플리케이션" 또는 "상호 작용식 미디어 가이던스 애플리케이션" 또는 때로는 "미디어 가이던스 애플리케이션" 또는 "가이던스 애플리케이션"은, 사용자가 미디어 자산을 소비하는 것, 및/또는 탐색하는(navigate) 것을 허용하는 애플리케이션이다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 온라인 애플리케이션(즉, 웹 사이트 상에서 제공됨)으로서, 또는 서버, 사용자 디바이스, 등등 상에서 독립형 애플리케이션으로서 제공될 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 제1 디바이스 및 제2 디바이스 상에서 동시에, 또는 디바이스(예를 들면, 원격 서버)로부터 원격의 위치에서, 또는 임의의 적절한 조합으로부터 실행될 수도 있다. 몇몇 실시형태에서, 다양한 디바이스 및 플랫폼 상에 설치되는 제어 회로부(circuitry)는, 하기에서 더 상세히 설명되는 바와 같이, 미디어 가이던스 애플리케이션을 실행할 수도 있다. 몇몇 실시형태에서, 본원에서 논의되는 실시형태 중 임의의 것을 수행하기 위한 임의의 명령어 및/또는 미디어 가이던스 애플리케이션은, 컴퓨터 판독 가능 매체 상에 인코딩될 수도 있다. 컴퓨터 판독 가능 매체는 데이터를 저장할 수 있는 임의의 매체를 포함한다. 컴퓨터 판독 가능 매체는, 전기 신호 또는 전자기 신호를 전파하는 것을 포함하는, 그러나 이들로 제한되지는 않는 일시적인 것일 수도 있거나, 또는 휘발성 및 불휘발성 컴퓨터 메모리 또는 스토리지 디바이스 예컨대 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리(Random Access Memory; "RAM"), 등등을 포함하는, 그러나 이들로 제한되지는 않는 비일시적인 것일 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하는 옵션의 사용자 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자 입력 인터페이스(예를 들면, 리모콘)를 통해, 시리즈물 "Game of Thrones"의 한 에피소드에 대한 녹화 옵션의 사용자 선택을 수신할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 스케줄링 데이터 구조에 저장하기 위한 명령어를 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은 스토리지에 저장되는 스케줄링 데이터 구조를 메모리에 로컬하게 또는 미디어 가이던스 데이터 소스에서 원격으로 유지할 수도 있다. 스케줄링 데이터 구조는 테이블로서 편제될 수도 있는데, 여기서 각각의 명령어는 상이한 행에 저장되고 명령어와 관련되는 파라미터(예를 들면, 녹화 시작 시간, 종료 시간, 및/또는 소스)는 행 내의 필드에 저장된다.
그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 다른 에피소드를 저장하기 위한 저장된 명령어에 대해 스케줄링 데이터 구조를 조회한다. 예를 들면, 사용자는, 각각의 에피소드마다 하나씩, 스케줄링 데이터 구조 내의 다섯 개의 상이한 엔트리에 의해 반영되는 바와 같이, 지난 5 주 동안 매주 "Game of Thrones"의 개개의 에피소드를 저장할 것을 요청했을 수도 있다. 명령어는, 상기에서 설명되는 바와 같이, 스케줄링 데이터 구조의 별개의 행에 저장될 수도 있다.
미디어 가이던스 애플리케이션은, 에피소드를 저장하기 위해 사용자가 선택한 시리즈물의 식별자를, 스케줄링 데이터 구조 내의 각각의 엔트리에 대한 시리즈물 식별자와 비교하여, 다수의 유사한 스케줄링 명령어를 식별한다. 예를 들면, 새롭게 수신된 요청의 식별자는, 시리즈물 타이틀 "Game of Thrones"일 수도 있고, 스케줄링 데이터 구조에 저장되어 있는 다른 시리즈물 타이틀과 비교될 수도 있다. 다른 예로서, 식별자는, 시간-채널 조합(예를 들면, 사용자가 채널 7에서 오후 5시에 방송되는 상이한 미디어 자산의 많은 녹화를 설정하였음), 장르(예를 들면, 드라마), 문자의 고유한 조합(예를 들면, "AHDL1820"과 같은, 시리즈물을 식별하는 미디어 자산 일련 번호), 또는 스케줄링 데이터 구조 내의 엔트리의 메타데이터를 새롭게 선택된 에피소드와 비교하는 임의의 다른 방법일 수 있을 것이다. 미디어 가이던스 애플리케이션은, 반복하여 스케줄링 명령어의 메타데이터를 새롭게 스케줄링된 명령어에 비교할 때 카운터를 유지할 수도 있고, 시리즈물의 식별자가, 스케줄링 데이터 구조 내의 저장된 엔트리의 식별자와 매치하는 경우 카운트를 증분시킬 수도 있다.
유사한 스케줄링 명령어의 수가 임계 수를 초과한다는 것을 결정하는 것에 기초하여, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를, 시리즈물의 복수의 에피소드를 저장하기 위한 명령어로 수정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자가 "Game of Thrones"에 대한 다섯 개의 개개의 에피소드 저장 명령어를 설정했기 때문에, 사용자는 "Game of Thrones"의 모든 에피소드를 녹화하는 것에 관심이 있다는 것을 결정할 수도 있다(예를 들면, 다섯 개의 저장 명령어가 임계 수를 초과한다). 그 다음, 미디어 가이던스 애플리케이션은 "Game of Thrones"의 에피소드를 저장하기 위해 스케줄링 데이터 구조 내의 엔트리에 액세스하여 (예를 들면, "시리즈물" 플래그를 "참"으로 설정함으로써) 그것을 시리즈물 저장 명령어로 변환할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 시리즈물을 저장하기 위한 새로운 명령어를 생성함으로써 명령어를 수정할 수도 있다. 다른 실시형태에서, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드의 서브세트만을 저장함으로써 명령어를 수정할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 "고화질" 에피소드만을 녹화할 수도 있다. 다른 예로서, 미디어 가이던스 애플리케이션은 패턴을 식별할 수도 있고(예를 들면, 사용자가 격주마다 야간 근무를 때문에 격주로 미디어 자산을 녹화함) 식별된 패턴에 기초하여 명령어를 수정할 수도 있다.
도 1은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(100)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(100) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다.
프로세스(100)는 102에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물을 저장하려는 사용자 요청을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은 사용자 입력 인터페이스를 통해(예를 들면, 사용자 입력 인터페이스(610)(도 6)를 통해) 프로그램 시리즈물 "Game of Thrones"의 모든 새로운 에피소드를 저장하는 옵션의 사용자 선택을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 사용자는, Game of Thrones에 대한 시리즈물 녹화 옵션을 통해, 모바일 디바이스를 사용하여 셋탑 박스로부터 원격으로, 또는 저장될 프로그램을 선택하기 위한 임의의 다른 방법을 통해, 프로그램 목록 스크린 내의(예를 들면, 그리드 가이드(도 4 및 도 5) 내의) 시리즈물을 저장하는 옵션을 선택할 수도 있다.
본원에서 언급될 때, "시리즈물"은, 공통 기준에 의해 관련되고 그룹화되는 임의의 다수의 미디어 자산을 의미하는 것으로 이해되어야 한다. 기준은 다음 중 임의의 것 또는 다수를 포함할 수도 있다: 배우, 에피소드 제목, 시리즈물 제목, 장르, 출시일, 키워드, 감독, 작가, 스튜디오, 및/또는 프로듀서. 몇몇 실시형태에서, 시리즈물은 정렬되는 복수의 에피소드를 포함할 수도 있다. 예를 들면, 시리즈물 "Game of Thrones"의 에피소드는, 그들이 소정의 순서로 시청되도록 방송되고 쓰여졌다는 점에서 연속물(serial)이다. 다른 실시형태에서, 시리즈물은 복수의 독립형 에피소드를 포함할 수도 있다. 본원에서 언급될 때, "에피소드"는 시리즈물의 일부인 임의의 단일의 미디어 자산을 의미하는 것으로 이해되어야 한다. 몇몇 실시형태에서, 에피소드는 콘텐츠 소스로부터 특정한 시간에 정기적으로 스케줄링되는 미디어 자산을 가리킬 수도 있다. 예를 들면, 시리즈물 "Game of Thrones"의 에피소드는 매주 동일한 콘텐츠 소스로부터 오후 9시에 방송될 수도 있다.
프로세스(100)는 104로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는 스케줄링 데이터 구조를 유지할 수도 있다. 스케줄링 데이터 구조는 테이블로서 편제될 수도 있는데, 여기서 각각의 명령어는 상이한 행에 저장되고 명령어와 관련되는 파라미터(예를 들면, 녹화 시작 시간, 종료 시간, 및/또는 소스)는 행 내의 필드에 저장된다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 사용자가 시리즈물 "Game of Thrones"을 저장할 것을 선택하는 것에 응답하여, 스케줄링 데이터 구조에 새로운 엔트리를 기록하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 새로운 엔트리는, 다음과 같은, "Game of Thrones"의 에피소드를 저장하기 위한 명령어와 관련되는 파라미터를 갖는 별개의 필드를 포함할 수도 있다: "타입 = 시리즈물", "소스 = HBO", "시작 시간 = 오후 9시", 및/또는 "종료 시간 = 오후 10시".
프로세스(100)는 106으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스토리지 디바이스 상에 시리즈물의 복수의 에피소드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 클록 시간을, 다양한 스케줄링 이벤트에 대한 스케줄링 데이터베이스에 저장되어 있는 시작 시간과 비교하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 클록 시간이 스케줄링 이벤트의 시작 시간에 대응하는 경우, 미디어 가이던스 애플리케이션은 적절한 액션(예를 들면, 스케줄링 데이터 구조에서 정의되는 바와 같은 특정한 소스로부터 데이터를 수신하고 그 데이터를 저장함)을 취할 수도 있다. 본원에서 언급될 때, "저장한다(store)"는, 미디어 자산의 원래의 송신 이후 사용자가 미디어 자산에 액세스할 수 있도록, 미디어 자산을 영구적으로 보존하기 위한 임의의 방법 또는 시스템을 의미하는 것을 의미하는 것으로 이해되어야 한다. 몇몇 실시형태에서, 미디어 자산을 저장하는 것은, 미디어 자산을 송신하는 콘텐츠 소스로부터 미디어 자산을 녹화하는 셋탑 박스 또는 다른 사용자 기기에 의해 수행될 수도 있다. 다른 실시형태에서, 미디어 자산을 저장하는 것은, 통신 네트워크를 통해 원격 서버로부터 미디어 자산의 복사본을 다운로드함으로써 수행될 수도 있다.
프로세스(100)는 110으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스토리지 디바이스 상의 이용 가능한 스토리지의 양을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 메모리의 얼마나 많은 블록이 비어 있는지(예를 들면, 현재 데이터를 저장하도록 사용되지 않음) 따라서 미디어 자산을 저장하는데 이용 가능한지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 하기에서 설명되는 바와 같이, 이용 가능한 스토리지의 양을, 그것이 시리즈물 시청 함수에 입력될 수 있도록, (예를 들면, 제어 회로부(604)(도 6)를 통해) 프로세싱할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 메모리의 전체 비어 있는 블록을, 메모리의 전체 블록으로 제산하여, 새로운 미디어 자산을 저장하는 데 이용 가능한 공간의 백분율(예를 들면, 5 % 이용 가능)을 결정할 수도 있다.
프로세스(100)는 112로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시리즈물 시청 함수를 사용하여, 이용 가능한 스토리지의 양을 프로세싱함으로써, 임계 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 양을 임계 시청 진척도에 관련시키는 (예를 들면, 도 2와 관련하여 하기에서 설명되는 바와 같은) 수학 함수를, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장할 수도 있다. 수학 함수는 연속적일 수도 있고, 불연속적일 수도 있고, 및/또는 단일 값을 가질 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 스토리지 디바이스의 스토리지의 단지 10 %만이 이용 가능하다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 이것을 7/8의 출력을 리턴할 수도 있는 수학 함수에 입력할 수도 있다. 이 예에서, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지 공간이 거의 없기 때문에 높은 임계 시청 진척도를 계산한다.
프로세스(100)는 114로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 임계 시청 진척도를 초과하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 집성된 시청 진척도 및 임계 시청 진척도에 대한 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교하여, (예를 들면, 다른 값으로부터 하나의 값을 감산하는 것 및 리턴되는 결과가 양인지, 음인지, 또는 제로인지의 여부를 결정함으로써) 집성된 시청 진척도가 임계치를 초과하는지의 여부를 결정할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가, 상기에서 설명되는 바와 같이 스토리지 디바이스 상에서 이용 가능한 스토리지의 양으로부터 계산된 50 %의 임계치를 충족하지 못하는 33 %이다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 본원에서 언급될 때, "집성된 시청 진척도"는 시리즈물의 에피소드 전체에 걸친 사용자의 시청 진척도를 의미하는 것으로 이해되어야 한다. 몇몇 실시형태에서, 집성된 시청 진척도는, 스토리지로부터 이미 삭제되었지만, 그러나 사용자 프로파일에 반영되는 바와 같이 사용자에 의해 시청된 에피소드를 포함한다. 다른 실시형태에서, 집성된 시청 진척도는 동일한 사용자 기기 디바이스 상의 에피소드에 액세스하는 다수의 사용자의 시청 진척도를 포함한다.
집성된 시청 진척도가 임계 시청 진척도를 초과한다는 것을 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정하면, 프로세스(100)는 116으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하지 않을 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 시리즈물 시청 함수를 사용하여 계산되는 임계 시청 진척도가 80 %이고(즉, 시리즈물의 에피소드를 저장하기 위한 명령어를 조정하지 않기 위해서는 시리즈물의 80 %가 시청될 필요가 있음) 사용자가 10 개의 저장된 에피소드 중 9 개를 끝까지 시청했다면(예를 들면, 집성된 시청 진척도가 90 %이면), 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하지 않을 수도 있다.
집성된 시청 진척도가 임계 시청 진척도를 초과하지 않는다는 것을 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정하면, 프로세스(100)는 118로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수정한다. 예를 들면, 시리즈물 시청 함수를 사용하여 계산되는 임계 시청 진척도가 80 %이고(즉, 시리즈물의 에피소드를 저장하기 위한 명령어를 조정하지 않기 위해서는 시리즈물의 80 %가 시청될 필요가 있음) 사용자가 10 개의 저장된 에피소드 중 4 개를 끝까지 시청했다면(예를 들면, 집성된 시청 진척도가 40 %이면), 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정할 수도 있다.
도 2는, 본 개시의 몇몇 실시형태에 따른, 이용 가능한 스토리지를 임계 시청 진척도에 매핑하기 위한 시리즈물 시청 함수의 예시적인 예를 도시한다. 예를 들면, 도 2는 임계 시청 진척도(204)를 이용 가능한 스토리지(202)의 함수로서 계산하기 위한 수학 함수(예를 들면, 함수(206, 208, 210 및 212))의 그래픽 묘사를 도시한다. 예를 들면, 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지(202)에 대해 리트리브되는 모든 값은, 도 1 및 도 8에서 논의된 바와 같이 시리즈물을 저장하기 위한 명령어를 수정할지의 여부를 결정하기 위해 사용되는 대응하는 임계 시청 진척도(204)을 갖는다. 임계 시청 진척도(204) 및 이용 가능한 스토리지(202)에 대한 축은 임의의 단위(예를 들면, 백분율 대신 메모리의 블록)일 수도 있지만, 그러나 바람직하게는 백분율 또는 비율로서 표현된다.
도 2는, 이용 가능한 스토리지(202)와 임계 시청 진척도(204) 사이의 선형 매핑인 함수(206)를 도시한다. 함수(206)에서, 스토리지의 67 %가 이용 가능하면, 임계 시청 진척도는 33 %일 수도 있다. 라인의 기울기는, 100 %보다 더 낮은 임계 시청 진척도가 최대치가 되도록 상이할 수도 있다. 예를 들면, 100 %가 최대치인(예를 들면, 집성된 시청 진척도는, 명령어가 수정되지 않도록 100 %가 될 필요가 있을 것이다) 대신, 80 %와 같이 더 낮은 백분율이 최대치가 될 수도 있다. 그 상황에서, 스토리지 디바이스 상에서 어떠한 공간도 이용 가능하지 않더라도, 시리즈물 시청 명령어를 수정함에 있어서 약간의 허용 오차가 존재한다.
함수(208)는, 이용 가능한 스토리지(202)와 임계 시청 진척도(204) 사이의 "적극적인 수정(aggressive modification)" 매핑을 나타낸다. 함수(208)에서, 스토리지의 67 %가 이용 가능하면, 임계 시청 진척도는 70 %일 수도 있다. 이 매핑은, 에피소드가 저장되자마자 시리즈물을 빠르게 완전히 시청하거나 또는 그들을 완전히 잊어버리는 경향이 있는 사용자에게 유용할 수도 있다. 함수(210)는 반대 상황을 나타내며, 대신, 이용 가능한 스토리지(202)와 임계 시청 진척도(204) 사이의 "최소 수정(minimal modification)" 매핑이다. 함수(210)에서, 스토리지의 67 %가 이용 가능하면, 임계 시청 진척도는 15 %일 수도 있다. 이 매핑은, 쇼가 저장되기를 대기하고 그 다음 그들을 나중에 빠르게 보는(예를 들면, "몰아서 시청하는(binge watch)") 사용자에게 유용할 수도 있다. 함수(208)를 사용하여, 시리즈물의 에피소드를 녹화하기 위한 명령어는 이 시청 습관을 가진 사용자가 에피소드를 시청할지 또는 시청하지 않을지의 여부를 결정하기 이전에 수정될 수도 있을 것이고 따라서 사용자는 그들이 나중에 에피소드를 빠르게 볼 때 그들이 시청하기를 소망했던 에피소드를 놓칠 수도 있을 것이다. 함수(210)는 이용 가능한 스토리지(202)와 임계 시청 진척도(204) 사이의 단계 함수 매핑(step-function mapping)을 나타낸다. 이 매핑은 상기에서 논의되는 함수 중 임의의 것에 유사한 매핑을 제공하도록 커스터마이징될 수도 있지만, 그러나 그것이 연속 함수 대신 이산 레벨을 포함하기 때문에, 그것은 임계 시청 진척도의 더 빠르고, 더 효율적인 프로세싱 및 결정으로 이어질 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지의 양의 제1 값을 리트리브한다. 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 비어 있고 미디어 자산을 저장하는 데 이용 가능한 메모리의 블록의 값을 리트리브할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 프로그램 스크립트를 실행하는데, 여기서 제1 값은 이용 가능한 스토리지(202)의 양에 대한 값을 임계 시청 진척도(204)에 매핑하는 수학 함수(예를 들면, 함수(206, 208, 210, 및 212) 중 하나)에 입력된다. 예를 들면, 미디어 가이던스 애플리케이션은, 상기에서 설명되는 바와 같이, 수학 함수에 대한 입력으로서 이용 가능한 메모리의 양을 가지고 프로그램 스크립트(예를 들면, C++ 프로그램)를 실행할 수도 있다. 미디어 가이던스 애플리케이션은, 프로그램 스크립트의 출력으로서, 임계 시청 진척도를 수신한다. 예를 들면, 프로그램 스크립트는 입력되는 이용 가능한 스토리지의 양에 기초하여 임계 시청 진척도를 리턴하고 종료할 수도 있다.
다른 실시형태에서, 미디어 가이던스 애플리케이션은, 사용자가, 매핑 동안 사용할 수학 함수, 또는 수학 함수의 타입을 선택하는 것을 허용하는 옵션을 디스플레이를 위해 생성할 수도 있다. 상기에서 논의되는 바와 같이, 상이한 사용자는 상이한 시청 습관을 가지며, 이용 가능한 스토리지의 양에 따라 명령어를 상이하게 수정하는 것을 선호할 수도 있다. 예를 들면, 전체 시즌이 저장된 이후 시리즈물의 에피소드를 빠르게 시청하기를 좋아하는 사용자는, 몇몇 에피소드가 아직 시청되지 않았더라도 에피소드가 여전히 저장되도록(예를 들면, 명령어가 수정되지 않도록), 함수(210)를 선호할 수도 있다. 미디어 가이던스 애플리케이션은, 임계 시청 진척도의 계산 동안 사용되는 함수를 선택하는 사용자가 선택할 수 있는 함수를 설명하는 선택 가능한 옵션을 디스플레이를 위해 생성할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은 함수를 그래픽으로 디스플레이할 수도 있다.
도 3은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하는 옵션을 제시하는 디스플레이 스크린의 예시적인 예를 도시한다. 예를 들면, 도 3은, 시리즈물을 저장하기 위한 명령어를 수정하는 옵션(304, 306, 308 및 310)뿐만 아니라, 시리즈물을 저장하기 위한 명령어를 수정하지 않는 옵션(312)을 갖는, 디스플레이(300) 상의 통지(302)를 도시한다.
도 3은, 저장되도록 스케줄링된 특정한 시리즈물(예를 들면, "Game of Thrones")의 사용자의 시청 진척도가 임계 시청 진척도를 초과하지 않는다는 것을 사용자에게 통지하는 통지(302)를 포함한다. 몇몇 실시형태에서, 집성된 시청 진척도가 높지만, 그러나 여전히 임계 시청 진척도에 가까운 경우(예를 들면, 집성된 시청 진척도가 82 %이고 임계 시청 진척도가 80 %인 경우), 통지(302)가 디스플레이될 수도 있다. 통지(302)는 통지(302)에서 언급되는 시리즈물로부터의 이미지 및/또는 비디오를, 옵션 사항으로(optionally), 포함할 수도 있는데, 이것은 쇼의 내용을 사용자에게 상기시키는데 도움을 줄 수도 있고 그들이, 명령어를 수정하는 방법에 대해, 더 많은 정보에 근거한 선택을 행하는 것을 허용할 수도 있다.
통지(302)는 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제하는 옵션(304)을 포함한다. 예를 들면, 옵션(304)의 (예를 들면, 도 6에서 추가로 설명되는 바와 같은 사용자 입력 인터페이스를 통한) 사용자 선택을 수신하는 것에 기초하여, 미디어 가이던스 애플리케이션은, 스케줄링 데이터베이스에 액세스하고 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제하는 프로그램 스크립트를 실행할 수도 있다. 통지(302)는 또한 새로운 에피소드만을 저장하는 옵션(306)을 포함한다. 예를 들면, 옵션(306)의 (예를 들면, 도 6에서 추가로 설명되는 바와 같은 사용자 입력 인터페이스를 통한) 사용자 선택을 수신하는 것에 기초하여, 미디어 가이던스 애플리케이션은, 스케줄링 데이터베이스에 액세스하고 시리즈물의 에피소드를 저장하기 위한 명령어 내의 새로운 에피소드 필드를 수정하는 프로그램 스크립트를 실행할 수도 있다. 새로운 에피소드 필드는 부울(Boolean)일 수도 있는데, 참으로 설정되는 경우, 여기서 미디어 가이던스 애플리케이션은 새로운 에피소드만을 저장할 것이고, 거짓으로 설정되는 경우, 미디어 가이던스 애플리케이션은 모든 에피소드를 저장할 것이다.
통지(302)는 고화질만을 저장하는 옵션(308)을 포함한다. 옵션(308)은 미디어 자산의 출력에 관련이 있는 임의의 다른 파라미터(예를 들면, 종횡비)일 수 있을 것이고, 고화질은 단지 예시적인 목적을 위해 선택된다. 예를 들면, 옵션(308)의 (예를 들면, 도 6에서 추가로 설명되는 바와 같은 사용자 입력 인터페이스를 통한) 사용자 선택을 수신하는 것에 기초하여, 미디어 가이던스 애플리케이션은, 스케줄링 데이터베이스에 액세스하고 시리즈물의 에피소드를 저장하기 위한 명령어 내의 요건 필드(requirements field)를 수정하는 프로그램 스크립트를 실행할 수도 있다. 요건 필드는 단일의 문자일 수도 있는데, 여기서 각각의 문자는 고화질과 같은 출력 파라미터의 고유한 조합을 나타낸다. 예를 들면, "H"는 고화질 에피소드만을 저장하도록 미디어 가이던스 애플리케이션을 유도할 수도 있고, 한편 "S"는 표준 화질(standard-definition) 에피소드만을 저장하도록 미디어 가이던스 애플리케이션을 유도할 수도 있다.
통지(302)는 미시청 에피소드를 삭제하는 옵션(310)을 포함한다. 예를 들면, 옵션(310)의 (예를 들면, 도 6에서 추가로 설명되는 바와 같은 사용자 입력 인터페이스를 통한) 사용자 선택을 수신하는 것에 기초하여, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드의 각각에 대한 사용자 프로파일로부터 시청 진척도를 리트리브할 수도 있고 사용자가 시청하지 않은 에피소드를 삭제할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 사용자가 임계 에피소드 시청 진척도(예를 들면, 20 %) 미만을 시청한 에피소드를 삭제한다. 통지(302)는 명령어를 수정하지 않는 옵션(312)을 포함한다. 예를 들면, 옵션(312)의 (예를 들면, 도 6에서 추가로 설명되는 바와 같은 사용자 입력 인터페이스를 통한) 사용자 선택을 수신하는 것에 기초하여, 미디어 가이던스 애플리케이션은 통지(302)를 닫을 수도 있고 스케줄링 데이터 구조에 저장되어 있는 스케줄링 명령어를 수정하지 않을 수도 있다.
몇몇 실시형태에서, 사용자는 스토리지 디바이스 상의 유한한 양의 스토리지가 사용되는 방법에서 더 큰 유연성을 허용하는 다수의 옵션을 선택할 수 있다. 예를 들면, 사용자는 그들이 50 % 시청한 에피소드를 삭제하고, 뿐만 아니라 시리즈물의 새로운 에피소드만을 저장하는 옵션을 선택할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 수신된 사용자 선택에 기초하여 시리즈물의 에피소드를 저장하기 위한 명령어를 수정한다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 액세스할 수도 있고 수신된 사용자에 기초하여 (예를 들면, 현존하는 명령어에 대한 행의 필드에) 새로운 명령어를 (예를 들면, 프로그램 스크립트를 실행함으로써) 기록할 수도 있다.
임의의 주어진 콘텐츠 전달 시스템에서 사용자가 이용 가능한 콘텐츠의 양은 상당할 수 있다. 결과적으로, 많은 사용자는, 사용자가 콘텐츠 셀렉션(content selection)을 효율적으로 탐색하는 것 및 그들이 소망할 수도 있는 콘텐츠를 쉽게 식별하는 것을 허용하는 인터페이스를 통하는 미디어 가이던스의 형태를 소망한다. 이러한 가이던스를 제공하는 애플리케이션은 본원에서는 상호 작용식(interactive) 미디어 가이던스 애플리케이션으로, 때로는, 미디어 가이던스 애플리케이션 또는 가이던스 애플리케이션으로 칭해진다.
상호 작용식 미디어 가이던스 애플리케이션은, 그들이 가이던스를 제공하는 콘텐츠에 따라 다양한 형태를 취할 수도 있다. 하나의 통상적인 타입의 미디어 가이던스 애플리케이션은 상호 작용식 텔레비전 프로그램 가이드이다. 상호 작용식 텔레비전 프로그램 가이드(종종 전자 프로그램 가이드로 칭해짐)는, 다른 것들 중에서도, 사용자가 많은 타입의 콘텐츠 또는 미디어 자산 사이에서 탐색하는 것 및 많은 타입의 콘텐츠 또는 미디어 자산의 위치를 결정하는 것을 허용하는 널리 공지된 가이던스 애플리케이션이다. 상호 작용식 미디어 가이던스 애플리케이션은, 사용자가 콘텐츠 사이를 탐색하는 것, 콘텐츠의 위치를 결정하는 것, 및 콘텐츠를 선택하는 것을 가능하게 하는 그래픽 사용자 인터페이스 스크린을 생성할 수도 있다. 본원에서 언급될 때, 용어 "미디어 자산" 및 "콘텐츠"는, 텔레비젼 프로그램뿐만 아니라, 유료 시청(pay-per-view) 프로그램, (주문형 비디오(video-on-demand; VOD) 시스템에서와 같은) 주문형 프로그램(on-demand program), 인터넷 콘텐츠(예를 들면, 스트리밍 콘텐츠, 다운로드 가능한 콘텐츠, 웹캐스트, 등등), 비디오 클립, 오디오, 콘텐츠 정보, 그림, 회전 이미지, 문서, 재생 목록, 웹사이트, 기사, 서적, 전자책, 블로그, 채팅 세션, 소셜 미디어, 애플리케이션, 게임, 및/또는 임의의 다른 미디어 또는 멀티미디어 및/또는 이들의 조합과 같은, 전자적으로 소비 가능한 사용자 자산을 의미하는 것으로 이해되어야 한다. 또한, 가이던스 애플리케이션은, 사용자가 콘텐츠 사이를 탐색하는 것 및 콘텐츠의 위치를 결정하는 것을 허용한다. 본원에서 언급될 때, 용어 "멀티미디어"는, 상기에서 설명되는 적어도 두 개의 상이한 콘텐츠 형태, 예를 들면, 텍스트, 오디오, 이미지, 비디오, 또는 상호 작용식 콘텐츠 형태를 활용하는 콘텐츠를 의미하는 것으로 이해되어야 한다. 콘텐츠는 사용자 기기 디바이스에 의해 녹화, 재생, 디스플레이 또는 액세스될 수도 있지만, 그러나 또한 라이브 공연의 일부일 수 있다.
본원에서 논의되는 실시형태 중 임의의 것을 수행하기 위한 임의의 명령어 및/또는 미디어 가이던스 애플리케이션은, 컴퓨터 판독 가능 매체 상에 인코딩될 수도 있다. 컴퓨터 판독 가능 매체는 데이터를 저장할 수 있는 임의의 매체를 포함한다. 컴퓨터 판독 가능 매체는, 전기 신호 또는 전자기 신호를 전파하는 것을 포함하는, 그러나 이들로 제한되지는 않는 일시적인 것일 수도 있거나, 또는 휘발성 및 불휘발성 컴퓨터 메모리 또는 스토리지 디바이스 예컨대 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리("RAM"), 등등을 포함하는, 그러나 이들로 제한되지는 않는 비일시적인 것일 수도 있다.
인터넷, 모바일 컴퓨팅, 및 고속 무선 네트워크의 출현으로, 사용자는, 그들이 전통적으로는 하지 않았던, 사용자 기기 디바이스 상의 미디어에 액세스하고 있다. 본원에서 언급될 때, 어구(phrase) "사용자 기기 디바이스", "사용자 기기", "사용자 디바이스", "전자 디바이스", "전자 기기", "미디어 기기 디바이스", 또는 "미디어 디바이스"는, 상기에서 설명되는 콘텐츠에 액세스하기 위한 임의의 디바이스, 예컨대 텔레비전, 스마트 TV, 셋탑 박스, 위성 텔레비전을 핸들링하기 위한 통합 수신기 디코더(integrated receiver decoder; IRD), 디지털 스토리지 디바이스, 디지털 미디어 수신기(digital media receiver; DMR), 디지털 미디어 어댑터(digital media adapter; DMA), 스트리밍 미디어 디바이스, DVD 플레이어, DVD 레코더, 연결된 DVD, 로컬 미디어 서버, BLU-RAY(블루레이) 플레이어, BLU-RAY 레코더, 퍼스널 컴퓨터(personal computer; PC), 랩탑 컴퓨터 , 태블릿 컴퓨터, WebTV 박스, 퍼스널 컴퓨터 텔레비전(personal computer television; PC/TV), PC 미디어 서버, PC 미디어 센터, 핸드헬드 컴퓨터, 고정식 전화기, 개인 휴대형 정보 단말(personal digital assistant; PDA), 이동 전화 , 휴대용 비디오 플레이어, 휴대용 뮤직 플레이어, 휴대용 게임기, 스마트 폰, 또는 임의의 다른 텔레비전 기기, 컴퓨팅 기기, 또는 무선 디바이스, 및/또는 이들의 조합을 의미하는 것으로 이해되어야 한다. 몇몇 실시형태에서, 사용자 기기 디바이스는 전면 대향 스크린 및 후면 대향 스크린, 다수의 전면 스크린, 또는 다수의 경사진 스크린(angled screen)을 구비할 수도 있다. 몇몇 실시형태에서, 사용자 기기 디바이스는 전면 대향 카메라 및/또는 후면 대향 카메라를 구비할 수도 있다. 이들 사용자 기기 디바이스 상에서, 사용자는 텔레비전을 통해 이용 가능한 동일한 콘텐츠 사이를 탐색하고 그 동일한 콘텐츠의 위치를 결정할 수 있을 수도 있다. 결과적으로, 미디어 가이던스는 이들 디바이스 상에서도 또한 이용 가능할 수도 있다. 제공되는 가이던스는, 텔레비전을 통해서만 이용 가능한 콘텐츠에 대한 것일 수도 있거나, 다른 타입의 사용자 기기 디바이스 중 하나 이상을 통해서만 이용 가능한 콘텐츠에 대한 것일 수도 있거나, 또는 다른 타입의 사용자 기기 디바이스 중 하나 이상 및 텔레비전 둘 모두를 통해 이용 가능한 콘텐츠에 대한 것일 수도 있다. 미디어 가이던스 애플리케이션은 온라인 애플리케이션(즉, 웹사이트 상에서 제공됨)으로서, 또는 사용자 기기 디바이스 상의 클라이언트 또는 독립형 애플리케이션으로서 제공될 수도 있다. 미디어 가이던스 애플리케이션을 구현할 수도 있는 다양한 디바이스 및 플랫폼이 이하에서 더욱 상세하게 설명된다.
미디어 가이던스 애플리케이션의 기능 중 하나는, 미디어 가이던스 데이터를 사용자에게 제공하는 것이다. 본원에서 언급될 때, 어구 "미디어 가이던스 데이터" 또는 "가이던스 데이터"는, 가이던스 애플리케이션을 동작시킴에 있어서 사용되는 데이터 또는 콘텐츠에 관련되는 임의의 데이터를 의미하는 것으로 이해되어야 한다. 예를 들면, 가이던스 데이터는, 프로그램 정보, 가이던스 애플리케이션 설정, 사용자 선호도, 사용자 프로파일 정보, 미디어 목록, 미디어 관련 정보(예를 들면, 방송 시간, 방송 채널, 제목, 설명, 등급 정보(예를 들면, 자녀 보호 등급(parental control rating), 평론가의 등급, 등등), 장르 또는 카테고리 정보, 배우 정보, 방송국의 또는 공급자의 로고에 대한 로고 데이터, 등등), 미디어 포맷(예를 들면, 표준 화질, 고화질, 3D, 등등), 주문형 정보, 블로그, 웹사이트, 및 사용자가 소망되는 콘텐츠 셀렉션 사이를 탐색하고 콘텐츠 셀렉션의 위치를 결정하는 데 도움이 되는 임의의 다른 타입의 가이던스 데이터를 포함할 수도 있다.
도 4 및 도 5는 미디어 가이던스 데이터를 제공하기 위해 사용될 수도 있는 예시적인 디스플레이 스크린을 도시한다. 도 4 및 도 5에서 도시되는 디스플레이 스크린은 임의의 적절한 사용자 기기 디바이스 또는 플랫폼 상에서 구현될 수도 있다. 도 4 및 도 5의 디스플레이가 전체 스크린 디스플레이로서 예시되지만, 그들은, 또한, 디스플레이되고 있는 콘텐츠 위에 전체적으로 또는 부분적으로 중첩될 수도 있다. 사용자는, 디스플레이 스크린에서 제공되는 선택 가능한 옵션(예를 들면, 메뉴 옵션, 목록 옵션, 아이콘, 하이퍼링크, 등등)을 선택함으로써 또는 리모콘 또는 다른 사용자 입력 인터페이스 또는 디바이스 상의 전용 버튼(예를 들면, GUIDE 버튼)을 누르는 것에 의해, 콘텐츠 정보에 액세스하려는 소망을 나타낼 수도 있다. 사용자의 표시에 응답하여, 미디어 가이던스 애플리케이션은, 그리드 형상의 채널 및 시간별, 시간별, 채널별, 소스별, 콘텐츠 타입별, 카테고리(예를 들면, 영화, 스포츠, 뉴스, 어린이, 프로그램의 다른 카테고리)별, 또는 다른 미리 정의된, 사용자 정의의, 또는 다른 편제 기준과 같은, 여러 가지 방식 중 하나로 편제되는 미디어 가이던스 데이터를 디스플레이 스크린에 제공할 수도 있다.
도 4는, 단일의 디스플레이에서 상이한 타입의 콘텐츠에 대한 액세스를 또한 가능하게 하는, 시간 및 채널별로 배열되는 프로그램 목록 디스플레이(400)의 예시적인 그리드를 도시한다. 디스플레이(400)는 다음을 갖는 그리드(402)를 포함할 수도 있다: (1) 채널/콘텐츠 타입 식별자의 열(404), 여기서 각각의 채널/콘텐츠 타입 식별자(이것은 열(column) 내의 셀임)는 이용 가능한 상이한 채널 또는 콘텐츠 타입을 식별함; 및 (2) 시간 식별자의 행(406), 여기서 각각의 시간 식별자(이것은 행(row) 내의 셀임)는 프로그램의 시간 블록을 식별함. 그리드(402)는 또한 프로그램 목록(408)과 같은 프로그램 목록의 셀을 포함하는 데, 여기서 각각의 목록은 목록의 관련된 채널 및 시간 상에서 제공되는 프로그램의 제목을 제공한다. 사용자 입력 디바이스를 사용하여, 사용자는 하이라이트 영역(410)을 이동시키는 것에 의해 프로그램 목록을 선택할 수 있다. 하이라이트 영역(410)에 의해 선택되는 프로그램 목록에 관한 정보는 프로그램 정보 영역(412)에서 제공될 수도 있다. 영역(412)은, 예를 들면, 프로그램 제목, 프로그램 설명, 프로그램이 제공되는 시간(적용 가능한 경우), 프로그램이 방송되는 채널(적용 가능한 경우), 프로그램의 등급, 및 다른 소망되는 정보를 포함할 수도 있다.
선형적인 프로그램(예를 들면, 미리 결정된 시간에 복수의 사용자 기기 디바이스로 송신되도록 스케줄링되고 스케줄에 따라 제공되는 콘텐츠)에 대한 액세스를 제공하는 것에 추가하여, 미디어 가이던스 애플리케이션은 또한, 비선형 프로그램(예를 들면, 임의의 시간에 사용자 기기 디바이스가 액세스할 수 있는 그리고 스케줄에 따라 제공되지 않는 콘텐츠)에 대한 액세스를 제공한다. 비선형 프로그램은, 주문형 콘텐츠(예를 들면, VOD), 인터넷 콘텐츠(예를 들면, 스트리밍 미디어, 다운로드 가능한 미디어, 등등), 로컬하게 저장된 콘텐츠(예를 들면, 상기에서 설명되는 임의의 사용자 기기 디바이스 또는 다른 스토리지 디바이스 상에 저장되어 있는 콘텐츠), 또는 다른 시간 독립적인 콘텐츠를 포함하는 상이한 콘텐츠 소스로부터의 콘텐츠를 포함할 수도 있다. 주문형 콘텐츠는 특정한 콘텐츠 공급자(예를 들면, "The Sopranos" 및 "Curb Your Enthusiasm"를 제공하는 HBO On Demand)에 의해 제공되는 임의의 다른 콘텐츠 또는 영화를 포함할 수도 있다. HBO ON DEMAND는 Time Warner Company L.P. 등등이 소유한 서비스 마크이며, THE SOPRANOS 및 CURB YOUR ENTHUSIASM은 Home Box Office, Inc.가 소유한 상표이다. 인터넷 콘텐츠는, 채팅 세션 또는 웹캐스트와 같은 웹 이벤트, 또는 인터넷 웹 사이트 또는 다른 인터넷 액세스(예를 들면, FTP)를 통해 스트리밍 콘텐츠 또는 다운로드 가능한 콘텐츠로서 요청에 따라(on-demand) 이용 가능한 콘텐츠를 포함할 수도 있다.
그리드(402)는 주문형 목록(on-demand listing)(414), 녹화된 콘텐츠 목록(416), 및 인터넷 콘텐츠 목록(418)을 포함하는 비선형 프로그램에 대한 미디어 가이던스 데이터를 제공할 수도 있다. 상이한 타입의 콘텐츠 소스로부터의 콘텐츠에 대해 미디어 가이던스 데이터를 결합하는 디스플레이는, 종종, "혼합 미디어" 디스플레이로 칭해진다. 디스플레이(400)와는 상이한, 디스플레이될 수도 있는 미디어 가이던스 데이터의 타입의 다양한 조합은, 사용자 선택 또는 가이던스 애플리케이션 정의(예를 들면, 녹화된 및 방송된 목록만의, 주문형 및 방송된 목록만의, 등등의 디스플레이)에 기초할 수도 있다. 예시되는 바와 같이, 목록(414, 416 및 418)은, 이들 목록의 선택이 주문형 목록, 녹화된 목록, 또는 인터넷 목록에 각각 전용되는 디스플레이에 대한 액세스를 제공할 수도 있다는 것을 나타내기 위해, 그리드(402)에서 디스플레이 되는 전체 시간 블록에 걸쳐 확장하는 것으로 도시된다. 몇몇 실시형태에서, 이들 콘텐츠 타입에 대한 목록은 그리드(402)에 직접적으로 포함될 수도 있다. 추가적인 미디어 가이던스 데이터는, 사용자가 내비게이션 아이콘(420) 중 하나를 선택하는 것에 응답하여 디스플레이될 수도 있다. (사용자 입력 디바이스 상의 화살표 키를 누르는 것은, 내비게이션 아이콘(420)을 선택하는 것과 유사한 방식으로 디스플레이에 영향을 줄 수도 있다.)
디스플레이(400)는 또한 비디오 영역(422), 및 옵션 영역(426)을 포함할 수도 있다. 비디오 영역(422)은, 사용자에게 현재 이용 가능한, 이용 가능할, 또는 이용 가능했던 프로그램을 사용자가 시청하는 것 및/또는 미리 보는 것을 허용할 수도 있다. 비디오 영역(422)의 콘텐츠는 그리드(402)에서 디스플레이 되는 목록 중 하나의 목록에 대응할 수도 있거나, 또는 그 하나의 목록과는 독립적일 수도 있다. 비디오 영역을 포함하는 그리드 디스플레이는 픽쳐 인 가이드(picture-in-guide; PIG) 디스플레이로 때때로 칭해진다. PIG 디스플레이 및 그들의 기능성은, 2003년 5월 13일자로 발행된 Satterfield 등등의 미국 특허 제6,564,378호 및 2001년 5월 29일자로 발행된 Yuen 등등의 미국 특허 제6,239,794호에서 상세히 설명되는데, 이들 특허는 참조에 의해 그들 전체가 본원에 통합된다. PIG 디스플레이는 본원에서 설명되는 실시형태의 다른 미디어 가이던스 애플리케이션 디스플레이 스크린에 포함될 수도 있다.
옵션 영역(426)은, 사용자가 상이한 타입의 콘텐츠, 미디어 가이던스 애플리케이션 디스플레이, 및/또는 미디어 가이던스 애플리케이션 피쳐에 액세스하는 것을 허용할 수도 있다. 옵션 영역(426)은 디스플레이(400)(및 본원에서 설명되는 다른 디스플레이 스크린)의 일부일 수도 있거나, 또는 온 스크린(on-screen) 옵션을 선택하는 것 또는 사용자 입력 디바이스 상의 전용 또는 할당 가능한 버튼을 누르는 것에 의해, 사용자에 의해 호출될 수도 있다. 옵션 영역(426) 내의 선택 가능한 옵션은 그리드(402) 내의 프로그램 목록에 관련되는 피쳐에 관련될 수도 있거나, 또는 메인 메뉴 디스플레이로부터 이용 가능한 옵션을 포함할 수도 있다. 프로그램 목록에 관련되는 피쳐는, 다른 방송 시간을 서치하는 것 또는 프로그램 수신 방식, 프로그램 녹화 방식, 프로그램의 시리즈물 녹화를 가능하게 하는 방식, 프로그램 및/또는 채널을 즐겨찾기로 설정하는 방식, 프로그램 구매 방식, 또는 다른 피쳐를 포함할 수도 있다. 메인 메뉴 디스플레이로부터 이용 가능한 옵션은, 서치 옵션, VOD 옵션, 부모 제어 옵션, 인터넷 옵션, 클라우드 기반의 옵션, 디바이스 동기화 옵션, 제2 스크린 디바이스 옵션, 다양한 타입의 미디어 가이던스 데이터 디스플레이에 액세스하는 옵션, 프리미엄 서비스에 가입하는 옵션, 사용자 프로파일 편집 옵션, 브라우저 오버레이에 액세스하는 옵션, 또는 다른 옵션을 포함할 수도 있다.
미디어 가이던스 애플리케이션은 사용자의 선호도에 기초하여 개인 맞춤될(personalized) 수도 있다. 개인 맞춤된 미디어 가이던스 애플리케이션은, 미디어 가이던스 애플리케이션을 사용하여 개인 맞춤된 "경험"을 생성하도록, 사용자가 디스플레이 및 피쳐를 커스터마이징하는 것을 허용한다. 이 개인 맞춤된 경험은, 사용자가 이들 커스텀화(customization)를 입력하는 것을 허용함으로써 및/또는 미디어 가이던스 애플리케이션이 사용자 활동을 모니터링하여 다양한 사용자 선호도를 결정함으로써 생성될 수도 있다. 사용자는, 가이던스 애플리케이션에 로그인하거나 또는 다르게는 자신을 가이던스 애플리케이션에 식별시키는 것에 의해, 그들의 개인 맞춤된 가이던스 애플리케이션에 액세스할 수도 있다. 미디어 가이던스 애플리케이션의 커스텀화는, 사용자 프로파일에 따라 이루어질 수도 있다. 커스텀화는, 다양한 표시 스킴(presentation scheme)(예를 들면, 디스플레이의 컬러 스킴, 텍스트의 글꼴 사이즈, 등등), 디스플레이 되는 콘텐츠 목록의 양태(예를 들면, HDTV 전용 또는 3D 프로그램 전용, 즐겨찾기 채널 선택에 기초한 사용자 명시 방송 채널, 채널 디스플레이의 재정렬(re-ordering), 추천 콘텐츠, 등등), 소망되는 녹화 피쳐(예를 들면, 특정한 사용자에 대한 녹화 또는 시리즈물 녹화, 녹화 품질, 등등), 부모 제어 설정, 인터넷 콘텐츠의 커스터마이징된 표시(예를 들면, 소셜 미디어 콘텐츠, 전자 메일, 전자적으로 전달된 기사, 등등의 표시) 및 다른 소망되는 커스텀화를 포함할 수도 있다.
미디어 가이던스 애플리케이션은, 사용자가 사용자 프로파일 정보를 제공하는 것을 허용할 수도 있거나, 또는 사용자 프로파일 정보를 자동적으로 수집할 수도 있다. 미디어 가이던스 애플리케이션은, 예를 들면, 사용자가 액세스하는 콘텐츠 및/또는 사용자가 가이던스 애플리케이션과 가질 수도 있는 다른 상호 작용을 모니터링할 수도 있다. 추가적으로, 미디어 가이던스 애플리케이션은, (예를 들면, www.allrovi.com과 같은 사용자가 액세스하는 인터넷 상의 다른 웹사이트로부터, 사용자가 액세스하는 다른 미디어 가이던스 애플리케이션으로부터, 사용자가 액세스하는 다른 상호 작용식 애플리케이션으로부터, 사용자의 다른 사용자 기기 디바이스로부터, 등등으로부터) 특정한 사용자에 관련되는 다른 사용자 프로파일의 전체 또는 일부를 획득할 수도 있고, 및/또는 미디어 가이던스 애플리케이션이 액세스할 수도 있는 다른 소스로부터 사용자에 관한 정보를 획득할 수도 있다. 결과적으로, 사용자는 사용자의 상이한 사용자 기기 디바이스에 걸쳐 통일된 가이던스 애플리케이션 경험을 제공받을 수 있다. 이 타입의 사용자 경험은 도 7과 연계하여 하기에서 상세히 설명된다. 추가적인 개인 맞춤된 미디어 가이던스 애플리케이션 피쳐는, 2005년 7월 11일자로 출원된 Ellis 등등의 미국 특허 출원 공개 공보 제2005/0251827호, 2007년 1월 16일자로 발행된 Boyer 등등의 미국 특허 제7,165,098호, 및 2002년 2월 21일자로 출원된 Ellis 등등의 미국 특허 출원 공개 공보 제2002/0174430호에서 상세히 설명되어 있는데, 이들 문헌은 참조에 의해 그들 전체가 본원에 통합된다.
미디어 가이던스를 제공하기 위한 다른 디스플레이 배치(arrangement)가 도 5에서 도시된다. 비디오 모자이크 디스플레이(500)는, 콘텐츠 타입, 장르, 및/또는 다른 편제 기준에 기초하여 편제되는 콘텐츠 정보에 대한 선택 가능한 옵션(502)을 포함한다. 디스플레이(500)에서, 텔레비전 목록 옵션(504)이 선택되고, 따라서 방송 프로그램 목록으로서 목록(506, 508, 510 및 512)을 제공한다. 디스플레이(500)에서, 목록은 커버 아트, 콘텐츠로부터의 스틸 이미지, 비디오 클립 프리뷰, 콘텐츠로부터의 라이브 비디오, 또는 미디어 가이던스 데이터에 의해 설명되고 있는 콘텐츠를 목록에서 사용자에게 나타내는 다른 타입의 콘텐츠를 포함하는 그래픽 이미지를 제공할 수도 있다. 그래픽 목록의 각각은 또한, 목록과 관련되는 콘텐츠에 대한 추가 정보를 제공하기 위해, 텍스트를 수반할 수도 있다. 예를 들면, 목록(508)은 미디어 부분(514) 및 텍스트 부분(516)을 비롯한, 하나보다 더 많은 부분을 포함할 수도 있다. 미디어 부분(514) 및/또는 텍스트 부분(516)은 전체 스크린에서 콘텐츠를 보기 위해 또는 미디어 부분(514)에서 디스플레이 되는 콘텐츠에 관련되는 정보를 보기 위해(예를 들면, 비디오가 디스플레이 되는 채널에 대한 목록을 보기 위해) 선택 가능할 수도 있다.
디스플레이(500)에서의 목록은 상이한 사이즈를 가지지만(즉, 목록(506)은 목록(508, 510 및 512)보다 더 크지만), 그러나, 소망되는 경우, 모든 목록은 동일한 사이즈일 수도 있다. 목록은, 사용자가 관심을 갖는 정도를 나타내기 위해 또는 소정의 콘텐츠를 강조하기 위해, 콘텐츠 공급자에 의해 소망되는 대로 또는 사용자 선호도에 기초하여, 상이한 사이즈를 가질 수도 있거나 또는 그래픽적으로 강조될 수도 있다. 콘텐츠 목록을 그래픽적으로 강조하기 위한 다양한 시스템 및 방법은, 예를 들면, 2009년 11월 12일자로 출원된 Yates의 미국 특허 출원 공개 공보 제2010/0153885호에서 논의되는데, 이 출원 공개 공보는 참조에 의해 그 전체가 본원에 통합된다.
사용자는, 그들의 사용자 기기 디바이스 중 하나 이상으로부터 콘텐츠 및 미디어 가이던스 애플리케이션(및 상기 및 하기에서 설명되는 그것의 디스플레이 스크린)에 액세스할 수도 있다. 도 6은 예시적인 사용자 기기 디바이스(600)의 일반화된 실시형태를 도시한다. 사용자 기기 디바이스의 보다 구체적인 구현예는, 도 7과 연계하여 이하에서 논의된다. 사용자 기기 디바이스(600)는 입력/출력(input/output)(이하, "I/O") 경로(602)를 통해 콘텐츠 및 데이터를 수신할 수도 있다. I/O 경로(602)는 콘텐츠(예를 들면, 방송 프로그램, 주문형 프로그램, 인터넷 콘텐츠, 근거리 통신망(local area network; LAN) 또는 광역 네트워크(wide area network; WAN)를 통해 이용 가능한 콘텐츠, 및/또는 다른 콘텐츠) 및 데이터를 제어 회로부(604)로 제공할 수도 있는데, 제어 회로부(604)는 프로세싱 회로부(606) 및 스토리지(608)를 포함한다. 제어 회로부(604)는 I/O 경로(602)를 사용하여 커맨드, 요청, 및 다른 적절한 데이터를 전송 및 수신하기 위해 사용될 수도 있다. I/O 경로(602)는 제어 회로부(604)(및 구체적으로는 프로세싱 회로부(606))를 하나 이상의 통신 경로(하기에 설명됨)에 연결할 수도 있다. I/O 기능은 이들 통신 경로 중 하나 이상에 의해 제공될 수도 있지만, 그러나 도면이 과도하게 복잡해지는 것을 피하기 위해, 도 6에서는 단일의 경로로서 도시된다.
제어 회로부(604)는 프로세싱 회로부(606)와 같은 임의의 적절한 프로세싱 회로부에 기초할 수도 있다. 본원에서 언급될 때, 프로세싱 회로부는, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 프로그래머블 로직 디바이스, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 주문형 반도체(application-specific integrated circuit; ASIC), 등등에 기초하는 회로부를 의미하는 것으로 이해되어야 하고, 다중 코어 프로세서(예를 들면, 듀얼 코어, 쿼드 코어, 헥사 코어, 또는 임의의 적절한 수의 코어) 또는 수퍼 컴퓨터를 포함할 수도 있다. 몇몇 실시형태에서, 프로세싱 회로부는, 다수의 별개의 프로세서 또는 프로세싱 유닛, 예를 들면, 다수의 동일한 타입의 프로세싱 유닛(예를 들면, 두 개의 인텔 코어 i7(Intel Core i7) 프로세서) 또는 다수의 상이한 프로세서(예를 들면, 인텔 코어 i5 프로세서 및 인텔 코어 i7 프로세서)에 걸쳐 분산될 수도 있다. 몇몇 실시형태에서, 제어 회로부(604)는 메모리(즉, 스토리지(608))에 저장되는 미디어 가이던스 애플리케이션에 대한 명령어를 실행한다. 구체적으로는, 제어 회로부(604)는 미디어 가이던스 애플리케이션에 의해 상기 및 하기에서 논의되는 기능을 수행하도록 지시받을 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 미디어 가이던스 디스플레이를 생성하도록 제어 회로부(604)에게 명령어를 제공할 수도 있다. 몇몇 구현예에서, 제어 회로부(604)에 의해 수행되는 임의의 액션은 미디어 가이던스 애플리케이션으로부터 수신되는 명령어에 기초할 수도 있다.
클라이언트-서버 기반의 실시형태에서, 제어 회로부(604)는 가이던스 애플리케이션 서버 또는 다른 네트워크 또는 서버와 통신하기에 적절한 통신 회로부를 포함할 수도 있다. 상기에서 언급된 기능성을 수행하기 위한 명령어는 가이던스 애플리케이션 서버 상에 저장될 수도 있다. 통신 회로부는, 케이블 모뎀, 통합 서비스 디지털 네트워크(Integrated Services Digital Network; ISDN) 모뎀, 디지털 가입자 회선(Digital Subscriber Line; DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 기기와의 통신을 위한 무선 모뎀, 또는 임의의 다른 적절한 통신 회로부를 포함할 수도 있다. 이러한 통신은 인터넷 또는 임의의 다른 적절한 통신 네트워크 또는 경로(이것은 도 7과 연계하여 더 상세하게 설명됨)를 수반할 수도 있다. 또한, 통신 회로부는, 사용자 기기 디바이스의 피어 투 피어(peer-to-peer) 통신, 또는 서로 멀리 떨어진 위치에 있는 사용자 기기 디바이스의 통신(하기에서 더 상세히 설명됨)을 가능하게 하는 회로부를 포함할 수도 있다.
메모리는 제어 회로부(604)의 일부인 스토리지(608)로서 제공되는 전자 스토리지 디바이스일 수도 있다. 본원에서 언급될 때, 어구 "전자적 스토리지 디바이스" 또는 "스토리지 디바이스"는, 랜덤 액세스 메모리, 리드 온리 메모리, 하드 드라이브, 광학 드라이브, 디지털 비디오 디스크(digital video disc; DVD) 레코더, 콤팩트 디스크(compact disc; CD) 레코더, BLU-RAY 디스크(BLU-RAY disc; BD) 레코더, BLU-RAY 3D 디스크 레코더, 디지털 비디오 레코더(digital video recorder)(DVR, 종종 개인용 비디오 레코더(personal video recorder), 또는 PVR로 칭해짐), 솔리드 스테이트 디바이스, 퀀텀 스토리지 디바이스(quantum storage device), 게임용 콘솔, 게임용 미디어, 또는 임의의 다른 적절한 고정식 또는 착탈식 스토리지 디바이스, 및/또는 이들의 임의의 조합과 같은, 전자 데이터, 컴퓨터 소프트웨어, 또는 펌웨어를 저장하기 위한 임의의 디바이스를 의미하는 것으로 이해되어야 한다. 스토리지(608)는 본원에서 설명되는 다양한 타입의 콘텐츠뿐만 아니라, 상기에서 설명되는 미디어 가이던스 데이터를 저장하기 위해 사용될 수도 있다. (예를 들면, 부트업 루틴 및 다른 명령어를 론칭하기 위해) 불휘발성 메모리가 또한 사용될 수도 있다. 도 7과 관련하여 설명되는 클라우드 기반의 스토리지는, 스토리지(608)를 보충하기 위해 또는 스토리지(608) 대신 사용될 수도 있다.
제어 회로부(604)는, 비디오 생성 회로부 및 튜닝 회로부, 예컨대 하나 이상의 아날로그 튜너, 하나 이상의 MPEG-2 디코더 또는 다른 디지털 디코딩 회로부, 고화질 튜너, 또는 임의의 다른 적절한 튜닝 또는 비디오 회로 또는 이러한 회로의 조합을 포함할 수도 있다. (예를 들면, 저장을 위해, 공중파(over-the-air), 아날로그 또는 디지털 신호를 MPEG 신호로 변환하기 위한) 인코딩 회로부가 또한 제공될 수도 있다. 제어 회로부(604)는 또한, 콘텐츠를 사용자 기기(600)의 선호되는 출력 포맷으로 상향 변환 및 하향 변환하기 위한 스케일러 회로부(scaler circuitry)를 포함할 수도 있다. 회로부(604)는 또한, 디지털 신호와 아날로그 신호 사이를 변환하기 위한 디지털 아날로그 컨버터 회로부 및 아날로그 디지털 컨버터 회로부를 포함할 수도 있다. 튜닝 및 인코딩 회로부는, 콘텐츠를 수신하여 디스플레이하기 위해, 재생하기 위해, 또는 녹화하기 위해, 사용자 기기 디바이스에 의해 사용될 수도 있다. 튜닝 및 인코딩 회로부는 또한, 가이던스 데이터를 수신하기 위해 사용될 수도 있다. 예를 들면, 튜닝, 비디오 생성, 인코딩, 디코딩, 암호화, 암호 해독, 스케일러, 및 아날로그/디지털 회로부를 비롯한, 본원에서 설명되는 회로부는, 하나 이상의 범용 또는 특수 프로세서 상에서 실행하는 소프트웨어를 사용하여 구현될 수도 있다. 동시적 튜닝 기능(예를 들면, 시청 및 녹화 기능, 픽쳐 인 픽쳐(picture-in-picture; PIP) 기능, 다중 튜너 녹화, 등등)을 핸들링하기 위해, 다수의 튜너가 제공될 수도 있다. 스토리지(608)가 사용자 기기(600)와는 별개의 디바이스로서 제공되는 경우, 튜닝 및 인코딩 회로부(다수의 튜너를 포함함)는 스토리지(608)와 관련될 수도 있다.
사용자는 사용자 입력 인터페이스(610)를 사용하여 제어 회로부(604)로 명령어를 전송할 수도 있다. 사용자 입력 인터페이스(610)는, 리모콘, 마우스, 트랙볼, 키패드, 키보드, 터치 스크린, 터치 패드, 스타일러스 입력, 조이스틱, 음성 인식 인터페이스, 또는 다른 사용자 입력 인터페이스와 같은 임의의 적절한 사용자 인터페이스일 수도 있다. 디스플레이(612)는 독립형 디바이스로서 제공될 수도 있거나 또는 사용자 기기 디바이스(600)의 다른 엘리먼트와 통합될 수도 있다. 예를 들면, 디스플레이(612)는 터치스크린 또는 터치 감지 디스플레이일 수도 있다. 이러한 환경에서, 사용자 입력 인터페이스(610)는 디스플레이(612)와 통합될 수도 있거나 또는 결합될 수도 있다. 디스플레이(612)는, 모니터, 텔레비전, 모바일 디바이스용 액정 디스플레이(liquid crystal display; LCD), 비정질 실리콘 디스플레이, 저온 폴리 실리콘 디스플레이, 전자 잉크 디스플레이, 전기영동 디스플레이(electrophoretic display), 액티브 매트릭스 디스플레이, 전자 습윤 디스플레이(electro-wetting display), 전기 유체 디스플레이(electrofluidic display), 음극선관 디스플레이, 발광 다이오드 디스플레이, 전자 발광 디스플레이, 플라즈마 디스플레이 패널, 고성능 어드레싱 디스플레이(high-performance addressing display), 박막 트랜지스터 디스플레이, 유기 발광 다이오드 디스플레이, 표면 전도 전자 방출 디스플레이(surface-conduction electron-emitter display; SED), 레이저 텔레비전, 탄소 나노튜브, 퀀텀 닷 디스플레이(quantum dot display), 간섭계 변조기 디스플레이(interferometric modulator display), 또는 시각적 이미지를 디스플레이하기 위한 임의의 다른 적절한 기기 중 하나 이상일 수도 있다. 몇몇 실시형태에서, 디스플레이(612)는 HDTV에 대응할 수도 있다. 몇몇 실시형태에서, 디스플레이(612)는 3D 디스플레이일 수도 있고, 상호 작용식 미디어 가이던스 애플리케이션 및 임의의 적절한 콘텐츠는 3D로 디스플레이될 수도 있다. 비디오 카드 또는 그래픽 카드가 디스플레이(612)로의 출력을 생성할 수도 있다. 비디오 카드는, 3D 장면 및 2D 그래픽의 가속 렌더링, MPEG-2/MPEG-4 디코딩, TV 출력, 또는 다수의 모니터를 연결하는 능력과 같은 다양한 기능을 제공할 수도 있다. 비디오 카드는 제어 회로부(604)와 관련하여 상기에서 설명되는 임의의 프로세싱 회로부일 수도 있다. 비디오 카드는 제어 회로부(604)와 통합될 수도 있다. 스피커(614)는 사용자 기기 디바이스(600)의 다른 엘리먼트와 통합되어 제공될 수도 있거나 또는 독립형 유닛일 수도 있다. 디스플레이(612) 상에 디스플레이 되는 비디오 및 다른 콘텐츠의 오디오 성분은 스피커(614)를 통해 재생될 수도 있다. 몇몇 실시형태에서, 오디오는, 스피커(614)를 통해 오디오를 프로세싱 및 출력하는 수신기(도시되지 않음)로 분배될 수도 있다.
가이던스 애플리케이션은 임의의 적절한 아키텍쳐를 사용하여 구현될 수도 있다. 예를 들면, 그것은 사용자 기기 디바이스(600) 상에서 전적으로 구현되는 독립형 애플리케이션일 수도 있다. 이러한 접근법에서, 애플리케이션의 명령어는 로컬하게(예를 들면, 스토리지(608)에) 저장되고, 애플리케이션에 의한 사용을 위한 데이터는 (예를 들면, 대역 외 피드로부터, 인터넷 리소스로부터, 또는 다른 적절한 접근법을 사용하여) 주기적 기반으로 다운로드된다. 제어 회로부(604)는 스토리지(608)로부터 애플리케이션의 명령어를 리트리브할 수도 있고 본원에서 논의되는 디스플레이 중 임의의 것을 생성하기 위해 명령어를 프로세싱할 수도 있다. 프로세싱된 명령어에 기초하여, 제어 회로부(604)는, 입력 인터페이스(610)로부터 입력이 수신될 때 어떤 액션을 수행할지를 결정할 수도 있다. 예를 들면, 디스플레이 상에서의 커서의 상/하 움직임은, 상/하 버튼이 선택되었다는 것을 입력 인터페이스(610)가 나타낼 때 프로세싱된 명령어에 의해 나타내어질 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 클라이언트-서버 기반의 애플리케이션이다. 사용자 기기 디바이스(600) 상에서 구현되는 씩 클라이언트(thick client) 또는 씬 클라이언트(thin client )에 의한 사용을 위한 데이터는, 사용자 기기 디바이스(600)에 대해 원격인 서버에 요청을 발행함으로써 요청에 따라 리트리브된다. 클라이언트-서버 기반의 가이던스 애플리케이션의 하나의 예에서, 제어 회로부(604)는 원격 서버에 의해 제공되는 웹 페이지를 해석하는 웹 브라우저를 실행한다. 예를 들면, 원격 서버는 애플리케이션에 대한 명령어를 스토리지 디바이스에 저장할 수도 있다. 원격 서버는 회로부(예를 들면, 제어 회로부(604))를 사용하여 저장된 명령어를 프로세싱할 수도 있고 상기 및 하기에서 논의되는 디스플레이를 생성할 수도 있다. 클라이언트 디바이스는 원격 서버에 의해 생성되는 디스플레이를 수신할 수도 있고, 디스플레이의 콘텐츠를 기기 디바이스(600) 상에서 로컬하게 디스플레이할 수도 있다. 이러한 방식에서, 명령어의 프로세싱은 서버에 의해 원격으로 수행되고, 한편, 결과적으로 나타나는 디스플레이는 기기 디바이스(600) 상에서 로컬하게 제공된다. 기기 디바이스(600)는 입력 인터페이스(610)를 통해 사용자로부터 입력을 수신할 수도 있고 대응하는 디스플레이를 프로세싱 및 생성하기 위해 그 입력을 원격 서버로 송신할 수도 있다. 예를 들면, 기기 디바이스(600)는, 상/하 버튼이 입력 인터페이스(610)를 통해 선택되었다는 것을 나타내는 통신을 원격 서버로 송신할 수도 있다. 원격 서버는 그 입력에 따라 명령어를 프로세싱할 수도 있고 입력에 대응하는 애플리케이션의 디스플레이(예를 들면, 커서를 상/하로 이동시키는 디스플레이)를 생성할 수도 있다. 그 다음, 생성된 디스플레이는, 사용자에 대한 표시를 위해, 기기 디바이스(600)로 송신된다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 인터프리터 또는 가상 머신(제어 회로부(604)에 의해 실행됨)에 의해 다운로드되어 해석되거나 또는 다르게는 실행된다. 몇몇 실시형태에서, 가이던스 애플리케이션은 ETV 바이너리 상호 교환 포맷(ETV Binary Interchange Format; EBIF)으로 인코딩될 수도 있고, 적절한 피드의 일부로서 제어 회로부(604)에 의해 수신될 수도 있고, 제어 회로부(604) 상에서 실행하는 사용자 에이전트에 의해 해석될 수도 있다. 예를 들면, 가이던스 애플리케이션은 EBIF 애플리케이션일 수도 있다. 몇몇 실시형태에서, 가이던스 애플리케이션은 제어 회로부(604)에 의해 실행되는 다른 적절한 미들웨어 또는 로컬 가상 머신에 의해 수신 및 실행되는 일련의 JAVA 기반 파일에 의해 정의될 수도 있다. 이러한 실시형태(예를 들면, MPEG-2 또는 다른 디지털 미디어 인코딩 스킴을 활용하는 실시형태) 중 몇몇에서, 가이던스 애플리케이션은, 예를 들면, 인코딩되어 프로그램의 MPEG 오디오 및 비디오 패킷을 갖는 MPEG-2 오브젝트 주기 전송(object carousel)에서 송신될 수도 있다.
도 6의 사용자 기기 디바이스(600)는, 도 7의 시스템(700)에서 사용자 텔레비전 기기(702), 사용자 컴퓨터 기기(704), 무선 사용자 통신 디바이스(706), 또는 콘텐츠에 액세스하는 데 적절한 임의의 다른 타입의 사용자 기기, 예컨대 비휴대용 게임용 머신으로서 구현될 수 있다. 간략화를 위해, 이들 디바이스는 본원에서 총칭하여 사용자 기기 또는 사용자 기기 디바이스로 칭해질 수도 있으며, 상기에서 설명되는 사용자 기기 디바이스와 실질적으로 유사할 수도 있다. 미디어 가이던스 애플리케이션이 구현될 수도 있는 사용자 기기 디바이스는 독립형 디바이스로서 기능할 수도 있거나 또는 디바이스의 네트워크의 일부일 수도 있다. 디바이스의 다양한 네트워크 구성이 구현될 수도 있으며, 이하에서 더 상세하게 논의된다.
도 6과 연계하여 상기에서 설명되는 시스템 피쳐 중 적어도 일부를 활용하는 사용자 기기 디바이스는, 사용자 텔레비전 기기(702), 사용자 컴퓨터 기기(704), 또는 무선 사용자 통신 디바이스(706)로서 단독으로 분류되지 않을 수도 있다. 예를 들면, 사용자 텔레비전 기기(702)는, 몇몇 사용자 컴퓨터 기기(704)처럼, 인터넷 콘텐츠에 대한 액세스를 허용하는 인터넷 대응일 수도 있고, 한편 사용자 컴퓨터 기기(702)는, 몇몇 텔레비전 기기(704)처럼, 텔레비전 프로그램에 대한 액세스를 허용하는 튜너를 포함할 수도 있다. 미디어 가이던스 애플리케이션은 여러 가지 상이한 타입의 사용자 기기 상에서 동일한 레이아웃을 가질 수도 있거나 또는 사용자 기기의 디스플레이 성능에 맞춰질 수도 있다. 예를 들면, 사용자 컴퓨터 기기(704) 상에서, 가이던스 애플리케이션은 웹 브라우저에 의해 액세스되는 웹 사이트로서 제공될 수도 있다. 다른 예에서, 가이던스 애플리케이션은 무선 사용자 통신 디바이스(706)에 대해 스케일 다운될 수도 있다.
시스템(700)에서, 통상적으로는, 하나보다 더 많은 각각의 타입의 사용자 기기 디바이스가 존재하지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 7에서는 각각의 하나만이 도시된다. 또한, 각각의 사용자는 하나보다 더 많은 타입의 사용자 기기 디바이스 및 또한 하나보다 더 많은 각각의 타입의 사용자 기기 디바이스를 활용할 수도 있다.
몇몇 실시형태에서, 사용자 기기 디바이스(예를 들면, 사용자 텔레비전 기기(702), 사용자 컴퓨터 기기(704), 무선 사용자 통신 디바이스(706))는 "제2 스크린 디바이스"로 칭해질 수도 있다. 예를 들면, 제2 스크린 디바이스는 제1 사용자 기기 디바이스 상에서 제시되는 콘텐츠를 보충할 수도 있다. 제2 스크린 디바이스 상에서 제시되는 콘텐츠는 제1 디바이스 상에서 제시되는 콘텐츠를 보충하는 임의의 적절한 콘텐츠일 수도 있다. 몇몇 실시형태에서, 제2 스크린 디바이스는, 제1 디바이스의 디스플레이 환경설정(preferences) 및 설정을 조정하기 위한 인터페이스를 제공한다. 몇몇 실시형태에서, 제2 스크린 디바이스는 다른 제2 스크린 디바이스와 상호 작용하도록 또는 소셜 네트워크와 상호 작용하도록 구성된다. 제2 스크린 디바이스는, 제1 디바이스와 동일한 방에, 동일한 집 또는 빌딩이지만 그러나 제1 디바이스와는 상이한 방에, 또는 제1 디바이스와는 상이한 빌딩에 위치될 수 있다.
사용자는 또한, 가정용(in-home) 디바이스 및 원격 디바이스 전체에 걸쳐 일관된 미디어 가이던스 애플리케이션 설정을 유지하기 위해 다양한 설정을 설정할 수도 있다. 설정은, 본원에서 설명되는 것뿐만 아니라, 채널 및 프로그램 즐겨찾기, 프로그램 추천을 하기 위해 가이던스 애플리케이션이 활용하는 프로그램 선호도, 디스플레이 환경 설정, 및 다른 바람직한 가이던스 설정을 포함한다. 예를 들면, 사용자가, 예를 들면, 그들의 사무실에 있는 그들의 개인용 컴퓨터 상에서 웹사이트 www.allrovi.com에 대한 즐겨찾기로서 채널을 설정하면, 동일한 채널은 사용자의 가정용 디바이스(예를 들면, 사용자 텔레비전 기기 및 사용자 컴퓨터 기기)뿐만 아니라, 소망되는 경우, 사용자의 모바일 디바이스 상에서 즐겨찾기로서 나타날 것이다. 따라서, 하나의 사용자 기기 디바이스 상에서 이루어지는 변경은, 다른 사용자 기기 디바이스 상에서, 그들이 동일한 타입의 사용자 기기 디바이스인지 또는 상이한 타입의 사용자 기기 디바이스인지의 여부에 관계없이, 가이던스 경험을 변경할 수 있다. 또한, 행해지는 변경은, 사용자에 의해 입력되는 설정뿐만 아니라, 가이던스 애플리케이션에 의해 모니터링되는 사용자 활동에 기초할 수도 있다.
사용자 기기 디바이스는 통신 네트워크(714)에 커플링될 수도 있다. 즉, 사용자 텔레비전 기기(702), 사용자 컴퓨터 기기(704), 및 무선 사용자 통신 디바이스(706)는, 각각, 통신 경로(708, 710 및 712)를 통해 통신 네트워크(714)에 커플링된다. 통신 네트워크(714)는, 인터넷, 이동 전화 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들면, 4G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환식 전화망(public switched telephone network), 또는 다른 타입의 통신 네트워크 또는 통신 네트워크의 조합을 포함하는 하나 이상의 네트워크일 수도 있다. 경로(708, 710, 및 712)는, 위성 경로, 광섬유 경로, 케이블 경로, 인터넷 통신(예를 들면, IPTV)을 지원하는 경로, (예를 들면, 방송 또는 다른 무선 신호를 위한) 자유 공간 연결, 또는 임의의 다른 적절한 유선 또는 무선 통신 경로 또는 이러한 경로의 조합과 같은 하나 이상의 통신 경로를, 개별적으로 또는 함께, 포함할 수도 있다. 경로(712)는 도 7에서 도시되는 예시적인 실시형태에서 그것이 무선 경로이다는 것을 나타내기 위해 점선으로 묘사되고, 경로(708 및 710)는 (비록 이들 경로가, 소망되는 경우, 무선 경로일 수도 있지만) 그들이 유선 경로이다는 것을 나타내기 위해 실선으로 묘사된다. 사용자 기기 디바이스와의 통신은, 이들 통신 경로 중 하나 이상에 의해 제공될 수도 있지만, 그러나 도면이 과도하게 복잡해지는 것을 방지하기 위해, 도 7에서는 단일의 경로로서 도시된다.
비록 사용자 기기 디바이스 사이에서 통신 경로가 묘사되지는 않지만, 이들 디바이스는 경로(708, 710 및 712)와 연계하여 상기에서 설명되는 것과 같은 통신 경로뿐만 아니라, 다른 단거리의 점대점(point-to-point) 통신 경로, 예컨대 USB 케이블, IEEE 1394 케이블, 무선 경로(예를 들면, 블루투스, 적외선, IEEE 802-11x, 등등), 또는 유선 또는 무선 경로를 통한 다른 단거리 통신을 통해 서로 직접적으로 통신할 수도 있다. BLUETOOTH는 Bluetooth SIG, INC.가 소유한 인증 마크이다. 사용자 기기 디바이스는 또한 통신 네트워크(714)를 통해 간접 경로를 통해 서로 직접적으로 통신할 수도 있다.
시스템(700)은 통신 경로(720 및 722)를 통해 통신 네트워크(714)에 각각 커플링되는 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)를 포함한다. 경로(720 및 722)는 경로(708, 710 및 712)와 연계하여 상기에서 설명되는 통신 경로 중 임의의 것을 포함할 수도 있다. 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)와의 통신은 하나 이상의 통신 경로를 통해 교환될 수도 있지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 7에서는 단일의 경로로서 도시된다. 또한, 하나보다 더 많은 각각의 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)가 존재할 수도 있지만, 그러나 도면을 과도하게 복잡하게 하는 것을 방지하기 위해, 도 7에서는 각각의 하나만이 도시된다. (이들 소스의 각각의 상이한 타입은 하기에서 논의된다). 소망되는 경우, 콘텐츠 소스(716) 및 미디어 가이던스 데이터 소스(718)는 하나의 소스 디바이스로서 통합될 수도 있다. 비록 사용자 기기 디바이스(702, 704, 및 706)와의 소스(716 및 718) 사이의 통신이 통신 네트워크(714)를 통하는 것으로 도시되지만, 몇몇 실시형태에서, 소스(716 및 718)는, 경로(708, 710, 및 712)와 연계하여 상기에서 설명되는 것과 같은 통신 경로(도시되지 않음)를 통해 사용자 기기 디바이스(702, 704, 및 706)와 직접적으로 통신할 수도 있다.
텔레비전 분배 설비, 케이블 시스템 중계국(cable system headend), 위성 분배 설비, 프로그램 소스(예를 들면, NBC, ABC, HBO, 등등과 같은 텔레비전 방송국), 중간 분배 설비 및/또는 서버, 인터넷 공급자, 주문형 미디어 서버, 및 다른 콘텐츠 공급자를 포함하는 콘텐츠 소스(716)는, 하나 이상의 타입의 콘텐츠 분배 기기를 포함할 수도 있다. NBC는 National Broadcasting Company, Inc. 소유의 상표이고, ABC는 American Broadcasting Company, Inc. 소유의 상표이며, HBO는 Home Box Office, Inc. 소유의 상표이다. 콘텐츠 소스(716)는 콘텐츠의 창작자(originator)(예를 들면, 텔레비전 방송국, 웹캐스트 공급자, 등등)일 수도 있거나 또는 콘텐츠의 창작자가 아닐 수도 있다(예를 들면, 주문형 콘텐츠 공급자, 다운로드용 방송 프로그램의 콘텐츠의 인터넷 공급자, 등등). 콘텐츠 소스(716)는, 케이블 소스, 위성 공급자, 주문형 공급자, 인터넷 공급자, 오버 더 톱(over-the-top) 콘텐츠 공급자, 또는 다른 콘텐츠 공급자를 포함할 수도 있다. 콘텐츠 소스(716)는 또한, 사용자 기기 디바이스 중 임의의 것으로부터 원격의 위치에서 상이한 타입의 콘텐츠(사용자에 의해 선택되는 비디오 콘텐츠를 포함함)를 저장하기 위해 사용되는 원격 미디어 서버를 포함할 수도 있다. 콘텐츠의 원격 저장을 위한, 그리고 원격으로 저장된 콘텐츠를 사용자 기기에 제공하기 위한 시스템 및 방법은, 2010년 7월 20일자로 발행된 Ellis 등등의 미국 특허 제7,761,892호와 연계하여 상세히 논의되는데, 이 특허는 참조에 의해 그 전체가 본원에 통합된다.
미디어 가이던스 데이터 소스(718)는 상기에서 설명되는 미디어 가이던스 데이터와 같은 미디어 가이던스 데이터를 제공할 수도 있다. 미디어 가이던스 데이터는 임의의 적절한 접근법을 사용하여 사용자 기기 디바이스로 제공될 수도 있다. 몇몇 실시형태에서, 가이던스 애플리케이션은, 데이터 피드(예를 들면, 연속하는 피드 또는 간헐적인 피드(trickle feed))를 통해 프로그램 가이드 데이터를 수신하는 독립형의 상호 작용식 텔레비전 프로그램 가이드일 수도 있다. 대역 내 디지털 신호를 사용하여, 대역 외 디지털 신호를 사용하여, 또는 임의의 다른 적절한 데이터 송신 기술에 의해, 프로그램 스케줄 데이터 및 다른 가이던스 데이터가 텔레비전 채널 측대역 상에서 사용자 기기로 제공될 수도 있다. 다수의 아날로그 또는 디지털 텔레비전 채널 상에서, 프로그램 스케줄 데이터 및 다른 미디어 가이던스 데이터가 사용자 기기로 제공될 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 데이터 소스(718)로부터의 가이던스 데이터는 클라이언트-서버 접근법을 사용하여 사용자의 기기로 제공될 수도 있다. 예를 들면, 사용자 기기 디바이스는 서버로부터 미디어 가이던스 데이터를 끌어낼 수도 있거나, 또는 서버가 미디어 가이던스 데이터를 사용자 기기 디바이스로 푸시할 수도 있다. 몇몇 실시형태에서, 사용자의 기기 상에 상주하는 가이던스 애플리케이션 클라이언트는, 필요시, 예를 들면, 가이던스 데이터가 오래된 경우 또는 사용자 기기 디바이스가 사용자로부터 데이터 수신 요청을 수신하는 경우, 가이던스 데이터를 획득하기 위해 소스(718)와의 세션을 개시할 수도 있다. 미디어 가이던스는, 임의의 적절한 빈도로(예를 들면, 연속적으로, 매일, 사용자가 명시한 시간 주기로, 시스템이 명시한 시간 주기로, 사용자 기기로부터의 요청에 응답하여, 등등으로) 사용자 기기로 제공될 수도 있다. 미디어 가이던스 데이터 소스(718)는 사용자 기기 디바이스(702, 704 및 706)에 미디어 가이던스 애플리케이션 그 자체 또는 미디어 가이던스 애플리케이션에 대한 소프트웨어 업데이트를 제공할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 데이터는 뷰어 데이터를 포함할 수도 있다. 예를 들면, 뷰어 데이터는, 현재 및/또는 과거(historical) 사용자 활동 정보(예를 들면, 사용자가 통상적으로 어떤 콘텐츠를 시청하는지, 사용자가 하루 중 어떤 시간에 콘텐츠를 시청하는지, 사용자가 소셜 네트워크와 상호 작용하는지의 여부, 사용자가 정보를 게시하기 위해 어떤 시간에 소셜 네트워크와 상호 작용하는지, 사용자가 통상적으로 어떤 타입의 콘텐츠(예를 들면, 유료 TV 또는 무료 TV)를 시청하는지, 무드, 뇌 활동 정보, 등등)를 포함할 수도 있다. 미디어 가이던스 데이터는 가입 데이터를 또한 포함할 수도 있다. 예를 들면, 가입 데이터는 주어진 사용자가 어떤 소스 또는 서비스에 가입하는지 및/또는 주어진 사용자가 이전에 가입했지만 그러나 나중에 액세스를 종료한 소스 또는 서비스가 어떤 것인지(예를 들면, 사용자가 프리미엄 채널에 가입하는지의 여부, 사용자가 프리미엄 레벨의 서비스를 추가했는지의 여부, 사용자가 인터넷 속도를 증가시켰는지의 여부)를 식별할 수도 있다. 몇몇 실시형태에서, 뷰어 데이터 및/또는 가입 데이터는 1 년이 넘은 기간 동안 주어진 사용자의 패턴을 식별할 수도 있다. 미디어 가이던스 데이터는, 주어진 사용자가 서비스/소스에 대한 액세스를 종료할 가능성을 나타내는 스코어를 생성하기 위해 사용되는 모델(예를 들면, 생존자 모델(survivor model))을 포함할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 주어진 사용자가 특정한 서비스 또는 소스에 대한 액세스를 종료할지의 여부의 가능성을 나타내는 값 또는 스코어를 생성하는 모델을 사용하여 가입 데이터와 함께 뷰어 데이터를 프로세싱할 수도 있다. 특히, 더 높은 스코어는, 사용자가 특정한 서비스 또는 소스에 대한 액세스를 종료할 것이라는 더 높은 레벨의 신뢰도를 나타낼 수도 있다. 스코어에 기초하여, 미디어 가이던스 애플리케이션은, 사용자가 액세스를 종료할 가능성이 있는 서비스 또는 소스로서 스코어에 의해 나타내어지는 특정한 서비스 또는 소스를 계속 유지하도록 사용자를 부추기는 프로모션 및 광고를 생성할 수도 있다.
미디어 가이던스 애플리케이션은, 예를 들면, 사용자 기기 디바이스 상에서 구현되는 독립형 애플리케이션일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지(608)에 저장될 수도 있고, 사용자 기기 디바이스(600)의 제어 회로부(604)에 의해 실행될 수도 있는 소프트웨어 또는 한 세트의 실행 가능한 명령어로서 구현될 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 클라이언트 애플리케이션만이 사용자 기기 디바이스 상에 상주하고, 서버 애플리케이션이 원격 서버 상에 상주하는 클라이언트-서버 애플리케이션일 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 부분적으로는 사용자 기기 디바이스(600)의 제어 회로부(604) 상에서 클라이언트 애플리케이션으로서 그리고 부분적으로는 원격 서버 상에서 원격 서버의 제어 회로부 상에서 실행하는 서버 애플리케이션(예를 들면, 미디어 가이던스 데이터 소스(718))으로서 구현될 수도 있다. (미디어 가이던스 데이터 소스(718)와 같은) 원격 서버의 제어 회로부에 의해 실행될 때, 미디어 가이던스 애플리케이션은, 가이던스 애플리케이션 디스플레이를 생성할 것을 그리고 생성된 디스플레이를 사용자 기기 디바이스로 송신할 것을 제어 회로부에게 지시할 수도 있다. 서버 애플리케이션은, 사용자 기기 상에서의 저장을 위해 데이터를 송신할 것을 미디어 가이던스 데이터 소스(718)의 제어 회로부에게 지시할 수도 있다. 클라이언트 애플리케이션은 가이던스 애플리케이션 디스플레이를 생성할 것을 수신 사용자 기기의 제어 회로부에게 지시할 수도 있다.
사용자 기기 디바이스(702, 704, 및 706)로 전달되는 콘텐츠 및/또는 미디어 가이던스 데이터는 오버 더 톱(over-the-top; OTT) 콘텐츠일 수도 있다. OTT 콘텐츠 전달은, 상기에서 설명되는 임의의 사용자 기기 디바이스를 비롯한, 인터넷 대응 사용자 디바이스가, 케이블 또는 위성 연결을 통해 수신되는 콘텐츠 외에도, 상기에서 설명되는 임의의 콘텐츠를 비롯한, 인터넷을 통해 전달되는 콘텐츠를 수신하는 것을 허용한다. OTT 콘텐츠는 인터넷 서비스 공급자(Internet service provider; ISP)에 의해 제공되는 인터넷 연결을 통해 전달되지만, 그러나 써드파티가 콘텐츠를 배포한다. ISP는 콘텐츠의 시청 능력, 저작권, 또는 재배포에 대한 책임을 지지 않을 수도 있고, OTT 콘텐츠 공급자에 의해 제공되는 IP 패킷만을 전송할 수도 있다. OTT 콘텐츠 공급자의 예는, IP 패킷을 통해 오디오 및 비디오를 제공하는 YOUTUBE(유튜브), NETFLIX(넷플릭스), 및 HULU(훌루)를 포함한다. 유튜브는 Google Inc. 소유의 상표이고, 넷플릭스는 Netflix Inc. 소유의 상표이며, 훌루는 Hulu, LLC 소유의 상표이다. OTT 콘텐츠 공급자는, 추가적으로 또는 대안적으로, 상기에서 설명되는 미디어 가이던스 데이터를 제공할 수도 있다. 콘텐츠 및/또는 미디어 가이던스 데이터 외에, OTT 콘텐츠의 공급자는 미디어 가이던스 애플리케이션(예를 들면, 웹기반의 애플리케이션 또는 클라우드 기반의 애플리케이션)을 배포할 수 있거나, 또는 콘텐츠는 사용자 기기 디바이스 상에 저장되어 있는 미디어 가이던스 애플리케이션에 의해 디스플레이될 수 있다.
미디어 가이던스 시스템(700)은 다수의 접근법, 또는 네트워크 구성을 예시하도록 의도되는데, 콘텐츠에 액세스하고 미디어 가이던스를 제공하는 목적을 위해 사용자 기기 디바이스 및 콘텐츠 및 가이던스 데이터의 소스는, 그 다수의 접근법, 또는 네트워크 구성에 의해 서로 통신할 수도 있다. 본원에서 설명되는 실시형태는 이들 접근법 중 임의의 하나 또는 서브세트에서, 또는 콘텐츠를 전달하고 미디어 가이던스를 제공하기 위한 다른 접근법을 활용하는 시스템에서 적용될 수도 있다. 다음의 네 가지 접근법은 도 7의 일반화된 예의 구체적인 예시를 제공한다.
하나의 접근법에서, 사용자 기기 디바이스는 홈 네트워크 내에서 서로 통신할 수도 있다. 사용자 기기 디바이스는, 상기에서 설명되는 단거리의 점대점 통신 스킴을 통해, 홈 네트워크 상에 제공되는 허브 또는 다른 유사한 디바이스를 통한 간접 경로를 통해, 또는 통신 네트워크(714)를 통해, 서로 직접적으로 통신할 수 있다. 단일의 가정 내의 다수의 개인의 각각은 홈 네트워크 상에서 상이한 사용자 기기 디바이스를 조작할 수도 있다. 결과적으로, 다양한 미디어 가이던스 정보 또는 설정이 상이한 사용자 기기 디바이스 사이에서 통신되는 것이 바람직할 수도 있다. 예를 들면, 2005년 7월 11일자로 출원된 Ellis 등등의 미국 특허 공개 공보 제2005/0251827호에서 상세히 설명되는 바와 같이, 사용자가 홈 네트워크 내의 상이한 사용자 기기 디바이스 상에서 일관된 미디어 가이던스 애플리케이션 설정을 유지하는 것이 바람직할 수도 있다. 홈 네트워크 내의 상이한 타입의 사용자 기기 디바이스는 또한, 콘텐츠를 송신하도록 서로 통신할 수도 있다. 예를 들면, 사용자는 사용자 컴퓨터 기기로부터 휴대용 비디오 플레이어 또는 휴대용 뮤직 플레이어로 콘텐츠를 송신할 수도 있다.
제2 접근법에서, 사용자는, 그들이 콘텐츠에 액세스하여 미디어 가이던스를 획득하게 하는 다수의 타입의 사용자 기기를 구비할 수도 있다. 예를 들면, 몇몇 사용자는 가정용 디바이스 및 모바일 디바이스에 의해 액세스되는 홈 네트워크를 구비할 수도 있다. 사용자는 원격 디바이스 상에서 구현되는 미디어 가이던스 애플리케이션을 통해 가정용 디바이스를 제어할 수도 있다. 예를 들면, 사용자는 그들의 사무실의 퍼스널 컴퓨터, 또는 PDA 또는 웹 대응 이동 전화와 같은 모바일 디바이스를 통해 웹사이트 상의 온라인 미디어 가이던스 애플리케이션에 액세스할 수도 있다. 사용자는, 사용자의 가정용 기기를 제어하기 위해, 온라인 가이던스 애플리케이션 상의 다양한 설정(예를 들면, 녹화, 리마인더, 또는 다른 설정)을 설정할 수도 있다. 온라인 가이드는 사용자의 기기를 직접적으로, 또는 사용자의 가정용 기기 상의 미디어 가이던스 애플리케이션과 통신함으로써 제어할 수도 있다. 사용자 기기 디바이스가 서로 멀리 떨어진 위치에 있는 경우, 통신하는 사용자 기기 디바이스에 대한 다양한 시스템 및 방법은, 예를 들면, 2011년 10월 25일자로 발행된 Ellis 등등의 미국 특허 제8,046,801호에서 논의되는데, 이 특허는 참조에 의해 그 전체가 본원에 통합된다.
제3 접근법에서, 가정 내부 및 외부의 사용자 기기 디바이스의 사용자는, 콘텐츠 소스(716)와 직접적으로 통신하여 콘텐츠에 액세스하기 위해, 그들의 미디어 가이던스 애플리케이션을 사용할 수 있다. 구체적으로, 가정 내에서, 사용자 텔레비전 기기(702) 및 사용자 컴퓨터 기기(704)의 사용자는, 소망하는 콘텐츠 사이를 탐색하고 소망하는 콘텐츠의 위치를 결정하기 위해, 미디어 가이던스 애플리케이션에 액세스할 수도 있다. 사용자는 또한, 소망하는 콘텐츠 사이를 탐색하고 소망하는 콘텐츠의 위치를 결정하기 위해, 무선 사용자 통신 디바이스(706)를 사용하여 가정 외부의 미디어 가이던스 애플리케이션에 액세스할 수도 있다.
제4 접근법에서, 사용자 기기 디바이스는 클라우드 서비스에 액세스하기 위해 클라우드 컴퓨팅 환경에서 동작할 수도 있다. 클라우드 컴퓨팅 환경에서, 콘텐츠 공유, 저장 또는 배포를 위한 다양한 타입의 컴퓨팅 서비스(예를 들면, 비디오 공유 사이트 또는 소셜 네트워킹 사이트)는, "클라우드"로 칭해지는 네트워크 액세스 가능 컴퓨팅 및 스토리지 리소스의 집합(collection)에 의해 제공된다. 예를 들면, 클라우드는 통신 네트워크(714)를 통해 인터넷과 같은 네트워크를 통해 연결되는 다양한 타입의 사용자 및 디바이스에게 클라우드 기반의 서비스를 제공하는, 중앙 집중식으로 또는 분산된 위치에 위치될 수도 있는 서버 컴퓨팅 디바이스의 집합을 포함할 수 있다. 이들 클라우드 리소스는 하나 이상의 콘텐츠 소스(716) 및 하나 이상의 미디어 가이던스 데이터 소스(718)를 포함할 수도 있다. 추가적으로 또는 대안적으로, 원격 컴퓨팅 사이트는 사용자 텔레비전 기기(702), 사용자 컴퓨터 기기(704), 및 무선 사용자 통신 디바이스(706)와 같은 다른 사용자 기기 디바이스를 포함할 수도 있다. 예를 들면, 다른 사용자 기기 디바이스는 비디오의 저장된 복사본 또는 스트리밍된 비디오에 대한 액세스를 제공할 수도 있다. 이러한 실시형태에서, 사용자 기기 디바이스는 중앙 서버와 통신하지 않고 피어 투 피어 방식으로 동작할 수도 있다.
클라우드는, 사용자 기기 디바이스에 대해, 다른 예 중에서도, 콘텐츠 저장, 콘텐츠 공유, 또는 소셜 네트워킹 서비스와 같은 서비스에 대한 액세스뿐만 아니라, 상기에서 설명되는 임의의 콘텐츠에 대한 액세스를 제공한다. 서비스는 클라우드 컴퓨팅 서비스 공급자를 통해, 또는 온라인 서비스의 다른 공급자를 통해 클라우드에서 제공될 수 있다. 예를 들면, 클라우드 기반의 서비스는, 콘텐츠 저장 서비스, 콘텐츠 공유 사이트, 소셜 네트워킹 사이트, 또는 연결된 디바이스 상에서 다른 사람이 보도록 사용자 출처의 콘텐츠(user-sourced content)가 배포되는 다른 서비스를 포함할 수 있다. 이들 클라우드 기반의 서비스는, 콘텐츠를 로컬하게 저장하고 로컬하게 저장된 콘텐츠에 액세스하는 대신, 사용자 기기 디바이스가 콘텐츠를 클라우드에 저장하는 것 및 클라우드로부터 콘텐츠를 수신하는 것을 허용할 수도 있다.
사용자는, 콘텐츠를 녹화하기 위해, 캠코더, 비디오 모드를 갖는 디지털 카메라, 오디오 레코더, 이동 전화, 및 핸드헬드 컴퓨팅 디바이스와 같은 다양한 콘텐츠 캡쳐 디바이스를 사용할 수도 있다. 사용자는, 예를 들면, 콘텐츠 캡쳐 피쳐를 갖는 무선 사용자 통신 디바이스(706) 또는 사용자 컴퓨터 기기(704) 중 어느 하나로부터 직접적으로 클라우드 상의 콘텐츠 저장 서비스에 콘텐츠를 업로드할 수 있다. 대안적으로, 사용자는 사용자 컴퓨터 기기(704)와 같은 사용자 기기 디바이스로 콘텐츠를 먼저 전송할 수 있다. 콘텐츠를 저장하는 사용자 기기 디바이스는 통신 네트워크(714) 상의 데이터 송신 서비스를 사용하여 콘텐츠를 클라우드로 업로드한다. 몇몇 실시형태에서, 사용자 기기 디바이스 그 자체는 클라우드 리소스이고, 다른 사용자 기기 디바이스는 사용자가 콘텐츠를 저장한 사용자 기기 디바이스로부터 직접적으로 콘텐츠에 액세스할 수 있다.
클라우드 리소스는, 예를 들면, 웹 브라우저, 미디어 가이던스 애플리케이션, 데스크탑 애플리케이션, 모바일 애플리케이션, 및/또는 이들의 액세스 애플리케이션의 임의의 조합을 사용하여 사용자 기기 디바이스에 의해 액세스될 수도 있다. 사용자 기기 디바이스는 애플리케이션 전달을 위해 클라우드 컴퓨팅에 의존하는 클라우드 클라이언트일 수도 있거나, 또는 사용자 기기 디바이스는 클라우드 리소스에 액세스하지 않는 몇몇 기능성을 가질 수도 있다. 예를 들면, 사용자 기기 디바이스 상에서 실행하는 몇몇 애플리케이션은 클라우드 애플리케이션, 즉, 인터넷을 통해 서비스로서 전달되는 애플리케이션일 수도 있고, 한편 다른 애플리케이션은 사용자 기기 디바이스 상에서 저장 및 실행될 수도 있다. 몇몇 실시형태에서, 사용자 디바이스는 다수의 클라우드 리소스로부터 동시에 콘텐츠를 수신할 수도 있다. 예를 들면, 사용자 디바이스는 하나의 클라우드 리소스로부터 오디오를 스트리밍할 수 있고, 동시에 제2 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 또는 더 효율적인 다운로드를 위해 사용자 디바이스가 다수의 클라우드 리소스로부터 콘텐츠를 다운로드할 수 있다. 몇몇 실시형태에서, 사용자 기기 디바이스는 도 6과 관련하여 설명되는 프로세싱 회로부에 의해 수행되는 프로세싱 동작과 같은 프로세싱 동작을 위해 클라우드 리소스를 사용할 수 있다.
본원에서 언급될 때, 용어 "~에 응답하여"는 ~의 결과로서 개시되는 것을 가리킨다. 예를 들면, 제1 액션이 제2 액션에 응답하여 수행되는 것은, 제1 액션과 제2 액션 사이에 개재하는(interstitial) 단계를 포함할 수도 있다. 본원에서 언급될 때, 용어 "~에 직접적으로 응답하여"는 ~에 의해 야기되는 것을 가리킨다. 예를 들면, 제1 액션이 제2 액션에 응답하여 직접적으로 수행되는 것은, 제1 액션과 제2 액션 사이에 개재하는 단계를 포함하지 않을 수도 있다.
도 8은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(800)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(800) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다.
프로세스(800)는 802에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물을 저장하려는 사용자 요청을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신한다. 예를 들면, 하기의 도 9에서 추가로 논의되는 바와 같이, 미디어 가이던스 애플리케이션은 사용자 입력 인터페이스를 통해(예를 들면, 사용자 입력 인터페이스(610)(도 6)를 통해) 프로그램 시리즈물 "Game of Thrones"의 모든 새로운 에피소드를 저장하는 옵션의 사용자 선택을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 사용자는, Game of Thrones에 대한 시리즈물 녹화 옵션을 통해, 모바일 디바이스를 사용하여 셋탑 박스로부터 원격으로, 또는 저장될 프로그램을 선택하기 위한 임의의 다른 방법을 통해, 프로그램 목록 스크린 내의(예를 들면, 그리드 가이드(도 4 및 도 5) 내의) 시리즈물을 저장하는 옵션을 선택할 수도 있다.
프로세스(800)는 804로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 스케줄링 데이터 구조에 저장한다. 예를 들면, 도 1에 대해 상기에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는 스케줄링 데이터 구조를 유지할 수도 있다. 스케줄링 데이터 구조는 테이블로서 편제될 수도 있는데, 여기서 각각의 명령어는 상이한 행에 저장되고 명령어와 관련되는 파라미터(예를 들면, 녹화 시작 시간, 종료 시간, 및/또는 소스)는 행 내의 필드에 저장된다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 사용자가 시리즈물 "Game of Thrones"을 저장할 것을 선택하는 것에 응답하여, 스케줄링 데이터 구조에 새로운 엔트리를 기록하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 새로운 엔트리는, 다음과 같은, "Game of Thrones"의 에피소드를 저장하기 위한 명령어와 관련되는 파라미터를 갖는 별개의 필드를 포함할 수도 있다: "타입 = 시리즈물", "소스 = HBO", "시작 시간 = 오후 9시", 및/또는 "종료 시간 = 오후 10시".
프로세스(800)는 806으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스토리지 디바이스 상에 시리즈물의 복수의 에피소드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장한다. 예를 들면, 도 1에 대해 상기에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은, 클록 시간을, 다양한 스케줄링 이벤트에 대한 스케줄링 데이터베이스에 저장되어 있는 시작 시간과 비교하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 클록 시간이 스케줄링 이벤트의 시작 시간에 대응하는 경우, 미디어 가이던스 애플리케이션은 적절한 액션(예를 들면, 스케줄링 데이터 구조에서 정의되는 바와 같은 특정한 소스로부터 데이터를 수신하고 그 데이터를 저장함)을 취할 수도 있다.
프로세스(800)는 808로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 사용자에 의한 복수의 에피소드의 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 사용자에 대응하는 사용자 프로파일에 저장한다. 예를 들면, 하기의 도 10에서 추가적으로 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장될 수도 있는 사용자 프로파일을 데이터 구조에서 유지할 수도 있다. 사용자 프로파일은 사용자별일 수도 있거나(예를 들면, 사용자가 로그인 자격 정보에 기초하여 미디어 가이던스 애플리케이션에 의해 식별되고 각각의 사용자에 대한 별개의 시청 진척도가 유지됨) 또는 디바이스별일 수도 있다(예를 들면, 디바이스가 미디어 자산을 보는 다수의 사용자를 갖더라도, 단지 단일의 시청 진척도만이 미디어 가이던스 애플리케이션에 의해 저장됨). 사용자 프로파일을 저장하는 데이터 구조는, 상기에서 설명되는 스케줄링 데이터 구조와 유사하게 편제될 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 사용자 프로파일을 테이블로서 (예를 들면, 제어 회로부(604)(도 6)를 통해) 편제할 수도 있는데, 여기서 사용자가 소비한 각각의 미디어 자산은 상이한 행에 저장되고 미디어 자산과 관련되는 파라미터(예를 들면, 사용자의 시청 진척도 및/또는 시간 및 미디어 자산이 마지막으로 액세스된 시간 및 날짜)가 행 내의 필드에 저장된다. 사용자가 특정한 미디어 자산에 액세스할 때마다, 미디어 가이던스 애플리케이션은 사용자 프로파일을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 조회하여 미디어 자산이 사용자에 의해 이전에 액세스되었는지의 여부를 결정하고 미디어 자산에 대응하는 엔트리에 대한 시청 진척도를 업데이트할 수도 있다. 사용자가 미디어 자산을 이전에 시청하지 않았다면, 미디어 가이던스 애플리케이션은 (예를 들면, 제어 회로부(604)(도 6)를 통해) 사용자 프로파일에 새로운 엔트리를 생성할 수도 있다.
프로세스(800)는 810으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스토리지 디바이스 상의 이용 가능한 스토리지의 양을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 메모리의 얼마나 많은 블록이 비어 있는지(예를 들면, 현재 데이터를 저장하도록 사용되지 않음) 따라서 미디어 자산을 저장하는데 이용 가능한지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 하기에서 설명되는 바와 같이, 이용 가능한 스토리지의 양을, 그것이 시리즈물 시청 함수에 입력될 수 있도록, (예를 들면, 제어 회로부(604)(도 6)를 통해) 프로세싱할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 메모리의 전체 비어 있는 블록을, 메모리의 전체 블록으로 제산하여, 새로운 미디어 자산을 저장하는 데 이용 가능한 공간의 백분율(예를 들면, 5 % 이용 가능)을 결정할 수도 있다.
프로세스(800)는 812로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물 시청 함수를 사용하여, 이용 가능한 스토리지의 양을 프로세싱함으로써 임계 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산한다. 예를 들면, 하기의 도 11에서 추가로 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 양을 임계 시청 진척도에 관련시키는 (예를 들면, 도 2와 관련하여 상기에서 설명되는 바와 같은) 수학 함수를, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장할 수도 있다. 수학 함수는 연속적일 수도 있고, 불연속적일 수도 있고, 및/또는 단일 값을 가질 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 스토리지 디바이스의 스토리지의 단지 10 %만이 이용 가능하다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 이것을 87.5 %의 출력을 리턴할 수도 있는 수학 함수에 입력할 수도 있다. 이 예에서, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지 공간이 거의 없기 때문에 높은 임계 시청 진척도를 계산한다.
프로세스(800)는 814로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 복수의 저장된 에피소드 사이의 집합적 시청 진척도를 나타내는 집성된 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산한다. 예를 들면, 하기의 도 12에서 추가로 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 사용자가 시청한 특정한 미디어 자산(예를 들면, 사용자 프로파일 내의 테이블 내의 엔트리)에 대한 시청 진척도를 리트리브하기 위해, SQL 스크립트와 같은 데이터베이스 쿼리 언어 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 각각의 에피소드에 대한 시청 진척도를 합산하여 그 시리즈물에 대한 사용자에 의한 집성된 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
프로세스(800)는 816으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 임계 시청 진척도를 초과하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은 집성된 시청 진척도 및 임계 시청 진척도에 대한 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교하여, (예를 들면, 다른 값으로부터 하나의 값을 감산하는 것 및 리턴되는 결과가 양인지, 음인지, 또는 제로인지의 여부를 결정함으로써) 집성된 시청 진척도가 임계치를 초과하는지의 여부를 결정할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가, 상기에서 설명되는 바와 같이 스토리지 디바이스 상에서 이용 가능한 스토리지의 양으로부터 계산된 50 %의 임계치를 충족하지 못하는 33 %이다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
집성된 시청 진척도가 임계 시청 진척도를 초과한다는 것을 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정하면, 프로세스(800)는 818로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하지 않을 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 시리즈물 시청 함수를 사용하여 계산되는 임계 시청 진척도가 80 %이고(즉, 시리즈물의 에피소드를 저장하기 위한 명령어를 조정하지 않기 위해서는 시리즈물의 80 %가 시청될 필요가 있음) 사용자가 10 개의 저장된 에피소드 중 9 개를 끝까지 시청했다면(예를 들면, 집성된 시청 진척도가 90 %이면), 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하지 않을 수도 있다.
집성된 시청 진척도가 임계 시청 진척도를 초과하지 않는다는 것을 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정하면, 프로세스(800)는 820으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수정한다. 예를 들면, 도 13에서 추가로 설명되는 바와 같이, 시리즈물 시청 함수를 사용하여 계산되는 임계 시청 진척도가 80 %이고(즉, 시리즈물의 에피소드를 저장하기 위한 명령어를 조정하지 않기 위해서는 시리즈물의 80 %가 시청될 필요가 있음) 사용자가 10 개의 저장된 에피소드 중 4 개를 끝까지 시청했다면(예를 들면, 집성된 시청 진척도가 40 %이면), 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정할 수도 있다.
도 9는, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 에피소드를 저장하기 위한 명령어를 저장하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(900)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(900) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(900)는 902로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 스케줄링 데이터 구조에 저장하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은 필요한 변수를 초기화할 수도 있고 프로세스(900)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(900)는 904로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 메모리(예를 들면, 스토리지(508))에 로컬하게, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는) 메모리 내의 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있다.
프로세스(900)는 906으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조의 콘텐츠를 판독하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스케줄링 데이터 구조의 연속하는 엔트리(예를 들면, 스케줄링 명령어를 각각 포함하는 행)를 통해 반복하는 그리고 각각의 엔트리로부터 명령어의 내용(예를 들면, 미디어 자산 시리즈물의 고유 식별자 또는 제목)을 리트리브하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(900)는 908로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 명령어가 스케줄링 데이터 구조에 이미 포함되어 있는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스케줄링 데이터 구조로부터 리트리브되는 엔트리의 내용(예를 들면, 특정한 엔트리에 저장되도록 스케줄링되는 미디어 자산의 식별자)을, 사용자 요청으로부터의 시리즈물의 식별자와 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교할 수도 있다.
시리즈물의 에피소드를 저장하기 위한 명령어가 데이터 구조 내에 포함되어 있지 않는 경우, 프로세스(900)는 910으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 스케줄링 데이터 구조의 엔트리에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 기록한다. 예를 들면, 상기의 도 1 및 도 8에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 사용자가 시리즈물 "Game of Thrones"을 저장할 것을 선택하는 것에 응답하여, 스케줄링 데이터 구조에 새로운 엔트리를 기록하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 새로운 엔트리는, 다음과 같은, "Game of Thrones"의 에피소드를 저장하기 위한 명령어와 관련되는 파라미터를 갖는 별개의 필드를 포함할 수도 있다: "타입 = 시리즈물", "소스 = HBO", "시작 시간 = 오후 9시", 및/또는 "종료 시간 = 오후 10시".
시리즈물의 에피소드를 저장하기 위한 명령어가 이미 데이터 구조에 포함되어 있는 경우, 프로세스(900)는 912로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 명령어가 스케줄링 데이터 구조에 이미 저장되어 있다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리턴한다. 예를 들면, 시리즈물 "Game of Thrones"을 저장하기 위한 명령어가 스케줄링 데이터 구조에 이미 저장되어 있다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 미디어 가이던스 애플리케이션이 결정하면, 새로운 명령어는 필요하지 않을 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, "Game of Thrones"의 단일의 에피소드가 스케줄링되어 있다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 (예를 들면, "타입 = 에피소드"에 대한 플래그를 "타입 = 시리즈물"로 변경함으로써) 명령어를 시리즈물 명령어로 (예를 들면, 제어 회로부(604)(도 6)를 통해) 변환할 수도 있다.
도 10은, 본 개시의 몇몇 실시형태에 따른, 사용자에 의한 복수의 저장된 에피소드의 시청 진척도를 저장하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(1000)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1000) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(1000)는 1002에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 사용자에 대응하는 사용자 프로파일에 사용자에 의한 복수의 저장된 에피소드의 시청 진척도를 저장하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은, 필요한 변수를 초기화할 수도 있고 프로세스(1000)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1000)는 1004로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 사용자가 복수의 에피소드 중 제1 에피소드를 선택했다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 미디어 가이던스 데이터 소스로부터 수신되는) "The Winds of Winter"와 관련되는 메타데이터에 기초하여, 사용자가 시리즈물 "Game of Thrones"의 제1 에피소드 "The Winds of Winter"를 선택했다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
프로세스(1000)는 1006으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 에피소드에 대한 사용자의 현재 재생 위치를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 모니터링한다. 예를 들면, 미디어 가이던스 애플리케이션은 "The Winds of Winter"를 보고 있는 사용자의 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 모니터링할 수도 있고, 사용자가 에피소드의 15 분을 시청했다는 것을 결정할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 미디어 자산 "The Winds of Winter"과 함께 수신되는 데이터 패킷으로부터, 미디어 자산에서의 재생의 현재 시간 및 프레임을 식별하는 타임 코드를 리트리브함으로써 것에 의해 시청 진척도를 모니터링할 수도 있다.
프로세스(1000)는 1008로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 사용자에 대응하는 사용자 프로파일 내의 시청 진척도 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 미디어 가이던스 애플리케이션은, (예를 들면, 메모리(예를 들면, 스토리지(508))에 로컬하게, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는) 시청 진척도 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 사용자 프로파일에 액세스하기 위해, (예를 들면, 사용자 입력 인터페이스(610)를 통한) 사용자로부터의 입력에 응답하여 생성 또는 수신될 수도 있는 인증 키를 송신한다.
프로세스(1000)는 1010으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 에피소드에 대한 사용자의 이전 재생 위치가 시청 진척도 데이터 구조에 저장되어 있는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물을 저장하기 위한 명령어가 스케줄링 데이터 구조에 이미 포함되는지의 여부를 결정하기 위한 상기의 도 9에서 설명되는 것과 유사한 방식으로, 제1 에피소드의 식별자에 기초하여, 이전 재생 위치를 포함하는 엔트리가 제1 에피소드에 대한 시청 진척도 데이터 구조에 존재하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다.
제1 에피소드에 대한 사용자의 이전 재생 위치가 저장되어 있지 않다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1012로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 에피소드에 대한 사용자의 현재 재생 위치를 엔트리로서 사용자 프로파일의 시청 진척도 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 에피소드에 대한 엔트리가 없다는 것을 결정하는 것에 응답하여 시청 진척도 데이터 구조에 새로운 엔트리를 기록하기 위해 (예를 들면, 제어 회로부(604)(도 6)를 통해) 프로그램 스크립트를 실행할 수도 있다. 새로운 엔트리(예를 들면, 테이블 내의 행)는, 에피소드의 제목 및 시간, 분, 초, 프레임에 대한 별개의 변수에 정수로서 저장되는 재생 진척도와 같은 파라미터를 갖는 별개의 필드를 포함할 수도 있다.
제1 에피소드에 대한 사용자의 이전 재생 위치가 이미 저장되어 있다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1000)는 1012로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 제1 에피소드에 대한 사용자의 이전 재생 위치를 현재 재생 위치로 (예를 들면, 제어 회로부(604)(도 6)를 통해) 업데이트한다. 예를 들면, 미디어 가이던스 애플리케이션은, 이전 재생 위치를 포함하는 시청 진척도 데이터 구조 내의 제1 에피소드에 대한 엔트리의 필드에 현재 재생 위치를 기록하기 위한 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
제1 에피소드에 대한 사용자의 현재 재생 위치를 사용자 프로파일의 시청 진척도 데이터 구조에 엔트리로서 저장하기 위해, 미디어 가이던스 애플리케이션은, 사용자의 현재 재생 위치 및 제1 에피소드의 지속 기간에 기초하여 사용자에 의해 시청된 제1 에피소드의 분율을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산할 수도 있다. 예를 들면, 상기에서 사용자 프로파일로부터 논의되는 바와 같이, 미디어 가이던스 애플리케이션은, 사용자에 의한 시리즈물 "Game of Thrones"의 에피소드 "The Winds of Winter"에 대한 현재 재생 진척도(예를 들면, 15 분)를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, (예를 들면, 미디어 가이던스 데이터 소스(718)로부터) 에피소드의 총 지속 기간을 60 분으로서 리트리브하는 것에 기초하여, 사용자에 의해 시청된 "The Winds of Winter"의 분율을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 1/4로서 계산할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 메모리에 저장되어 있는 임계 분율 시청 진척도를 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은 임계 분율 시청 진척도의 값을 사용자 프로파일 내의 필드로부터 (예를 들면, 제어 회로부(604)(도 6)를 통해) 1/2로서 리트리브할 수도 있다. 임계 분율 시청 진척도에 대한 값은 사용자 또는 디바이스에 고유할 수도 있다.
미디어 가이던스 애플리케이션은, 사용자에 의해 시청된 제1 에피소드의 분율을, 임계 분율 시청 진척도에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교한다. 예를 들면, 미디어 가이던스 애플리케이션은, 임계 분율 시청 진척도의 값(예를 들면, 1/2)을, 사용자에 의해 시청된 제1 에피소드의 분율(예를 들면, 1/4)에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교하여, 어떤 것이 더 큰지를 결정할 수도 있다. 미디어 가이던스 애플리케이션은, 사용자에 의해 시청된 제1 에피소드의 분율이 임계 분율 시청 진척도를 충족한다고 결정한 것에 응답하여, 제1 에피소드가 사용자에 의해 완전히 시청되었다는 표시를 엔트리와 함께 (예를 들면, 제어 회로부(604)(도 6)를 통해) 저장한다. 예를 들면, 사용자가 임계치보다 더 많이 시청했다는 것의 결정시, 미디어 가이던스 애플리케이션은, 사용자가 에피소드를 시청했는지의 여부에 대응하는 부울 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) "참"으로 설정할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 몇몇 사용자가 하나 이상의 에피소드 중 일부분만을 시청하기를 원할 수도 있지만, 그러나 그 시리즈물에 여전히 관심이 있을 수도 있기 때문에, 사용자가 임계 분율 시청 진척도를, 그들이 시청한 에피소드인 것으로 그들이 간주하는 것으로 (예를 들면, 사용자 입력 인터페이스(610)를 통해) 커스터마이징하는 것을 허용할 수도 있다.
도 11은, 본 개시의 몇몇 실시형태에 따른, 시리즈물 시청 함수를 사용하여, 이용 가능한 스토리지의 양을 프로세싱함으로써 임계 시청 진척도를 계산하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(1100)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1100) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(1100)는 1102에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물 시청 함수를 사용하여, 이용 가능한 스토리지의 양을 프로세싱함으로써 임계 시청 진척도를 계산하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은 필요한 변수를 초기화할 수도 있고 프로세스(1100)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1100)는 1104로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 이용 가능한 스토리지의 양의 제1 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은, 도 1 및 도 8에서 추가로 설명되는 바와 같이, 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 결정된 양에 대한 메모리(예를 들면, 스토리지(608))에 저장되어 있는 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다.
프로세스(1100)는 1106으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 값이 시리즈물 시청 함수에 대한 올바른 단위인지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 제1 값을 시리즈물 시청 함수에 대한 경계 조건에 비교함으로써 리트리브된 제1 값이 올바른 단위인지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 특정한 예로서, 함수가 백분율(예를 들면, 경계 조건이 0 내지 1임)이 되는 것을 시리즈물 시청 함수가 요구하는 경우, 메모리의 비어 있는 블록의 총 수(예를 들면, 100,000)는 경계 조건을 벗어날 것이고 따라서 미디어 가이던스 애플리케이션은 이 예에서 값이 변환될 필요가 있다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 것이다. 몇몇 실시형태에서, 단위의 식별자는, 변환이 필요한지의 여부를 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 신속하게 결정하는 것을 허용하는 "단위" 변수에서 제1 값을 가지고 저장된다.
제1 값이 올바른 단위가 아니라면, 프로세스(1100)는 1108로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 제1 값이 시리즈물 시청 함수에 대한 올바른 단위가 되도록 제1 값을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 변환한다. 예를 들면, 상기의 도 1 및 도 8에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은 제1 값의 단위를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고, 그 단위를, 시리즈물 시청 함수에 대해 필요로 되는 타겟 단위로 변환하기 위한 적절한 액션을 취할 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 메모리의 비어 있는 블록의 수를 메모리의 총 블록의 수로 (예를 들면, 제어 회로부(604)(도 6)를 통해) 제산하여 미디어 자산을 저장하는 데 이용 가능한 백분율을 획득할 수도 있다. 제1 값을 올바른 단위로 변환한 이후, 프로세스(1100)는 1110으로 계속된다.
제1 값이 올바른 단위인 경우, 프로세스(1100)는 1110으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 양에 대한 값을 임계 시청 진척도에 매핑하는 수학 함수에 제1 값이 입력되는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행한다. 예를 들면, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 양을 임계 시청 진척도에 관련시키는 (예를 들면, 도 2와 관련하여 하기에서 설명되는 바와 같은) 수학 함수를, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장할 수도 있다. 수학 함수는 연속적일 수도 있고, 불연속적일 수도 있고, 및/또는 단일 값을 가질 수도 있다. 특정한 예로서, 미디어 가이던스 애플리케이션은, 스토리지 디바이스의 스토리지의 단지 10 %만이 이용 가능하다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있고 이것을 7/8의 출력을 리턴할 수도 있는 수학 함수에 입력할 수도 있다. 이 예에서, 미디어 가이던스 애플리케이션은 이용 가능한 스토리지 공간이 거의 없기 때문에 높은 임계 시청 진척도를 계산한다.
프로세스(1100)는 1112로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 프로그램 스크립트로부터의 출력으로서, 임계 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신한다. 예를 들면, 상기에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은 임계치 시청 진척도에 대한 값(예컨대, 80 %)을 프로그램 스크립트의 출력으로서 수신할 수도 있다.
도 12는, 본 개시의 몇몇 실시형태에 따른, 복수의 저장된 에피소드 사이의 집성된 시청 진척도를 계산하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(1200)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1200) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(1200)는 1202에서 시작하는데, 여기서 미디어 가이던스 애플리케이션은 복수의 저장된 에피소드 사이의 집성된 시청 진척도를 계산하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은 필요한 변수를 초기화할 수도 있고 프로세스(1200)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1200)는 1204로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 사용자 프로파일의 시청 진척도 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 도 10에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, (예를 들면, 메모리(예를 들면, 스토리지(508))에 로컬하게, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는) 시청 진척도 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있다. 몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 사용자 프로파일에 액세스하기 위해, (예를 들면, 사용자 입력 인터페이스(610)를 통한) 사용자로부터의 입력에 응답하여 생성 또는 수신될 수도 있는 인증 키를 송신한다.
프로세스(1200)는 1206으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시청된 총 분(total minute)에 대한 변수 및 저장된 총 길이에 대한 변수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 초기화한다. 예를 들면, 미디어 가이던스 애플리케이션은 시청된 총 분 및 저장된 총 길이의 각각에 대한 정수 변수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 생성할 수도 있고 초기 값을 0 분으로 설정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 하기에서 설명되는 바와 같이, 시청 진척도 데이터 구조로부터 리트리브되는 데이터에 기초하여, 변수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 업데이트할 수도 있다.
프로세스(1200)는 1208로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시청 진척도 데이터 구조로부터 엔트리를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시청 진척도 데이터 구조의 연속하는 엔트리(예를 들면, 사용자에 의해 소비되는 상이한 미디어 자산에 대한 재생 진척도를 각각 포함하는 행)를 통해 반복하는 그리고 각각의 엔트리의 내용(예를 들면, 미디어 자산 시리즈물의 고유의 식별자 또는 제목)을 리트리브하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1200)는 1210으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시리즈물 식별자로부터, 엔트리가 시리즈물의 에피소드에 대한 시청 진척도를 포함하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스케줄링 데이터 구조로부터 리트리브되는 엔트리의 내용(예를 들면, 특정한 엔트리에 저장되도록 스케줄링되는 미디어 자산의 식별자)을, 조회되고 있는 시리즈물의 식별자와 (예를 들면, 제어 회로부(604)(도 6)를 통해) 비교하여, 조회되고 있는 시리즈물에 엔트리가 관련되는지의 여부를 결정할 수도 있다.
엔트리가 시리즈물의 에피소드에 대한 시청 진척도를 포함하지 않으면, 프로세스(1200)는 1220으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 하기에서 추가로 설명되는 바와 같이, 시청 진척도 데이터 구조 내에 임의의 추가적인 엔트리가 존재하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 엔트리가 시리즈물의 에피소드에 대한 시청 진척도를 포함하면, 프로세스(1200)는 1212로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시청 진척도 데이터 구조의 재생 위치 필드로부터, 사용자에 의해 시청된 에피소드의 분의 수(the number of minutes)를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은 사용자에 의해 시청된 에피소드의 분(minute)에 대한 정수 값을 사용자의 재생 진척도를 포함하는 필드로부터 (예를 들면, 제어 회로부(604)(도 6)를 통해) 추출할 수도 있다. 몇몇 실시형태에서, 재생 진척도는, 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 단일의 정수로 변환하고 가장 가까운 분으로 반올림할 수도 있는 타임 코드(예를 들면, 시 : 분 : 초 : 프레임)로서 저장될 수도 있다.
프로세스(1200)는 1214로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시청된 총 분에 대한 변수에, 사용자에 의해 시청된 에피소드의 분의 수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 가산한다. 예를 들면, 미디어 가이던스 애플리케이션은, 재생 진척도에 의해 반영되는 바와 같은 사용자에 의해 시청된 에피소드의 분의 수를, 저장되어 있는 시청된 총 분에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 가산하고 새로운 값을 (예를 들면, 스토리지(608)에) 저장한다.
프로세스(1200)는 1216으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시청 진척도 데이터 구조의 총 지속 기간 필드로부터, 저장된 에피소드의 분의 수를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은, 메모리에 저장되어 있는 에피소드의 총 지속 기간에 대한 값(예를 들면, 분 단위 또는 가장 가까운 분으로 반올림됨)을, 시청 진척도 데이터 구조 내의 엔트리 내의 필드로부터 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브할 수도 있다. 대안적으로, 미디어 가이던스 애플리케이션은 미디어 가이던스 데이터 소스(718)로부터 에피소드에 대한 총 지속 기간을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브할 수도 있다.
프로세스(1200)는 1218로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 저장된 에피소드의 분의 수를, 저장된 총 길이에 대한 변수에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 가산한다. 예를 들면, 미디어 가이던스 애플리케이션은 에피소드의 분 단위의 총 지속 기간을 저장된 총 길이에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 가산하고 새로운 값을 (예를 들면, 스토리지(608)에) 저장한다.
프로세스(1200)는 1220으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시청 진척도 데이터 구조 내에 임의의 추가적인 엔트리가 존재하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시청 진척도 데이터 구조 내의 모든 엔트리를 반복적으로 프로세싱하고 모든 엔트리가 체크된 경우 종료되는 "for" 루프를 포함하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 대안적으로 또는 추가적으로, 미디어 가이던스 애플리케이션은, 리트리브된 엔트리의 목록을 (예를 들면, 스토리지(608)(도 6)에) 유지할 수도 있고 시청 진척도 데이터 구조 내의 임의의 다른 엔트리가 아직 리트리브되지 않았는지의 여부를 결정할 수도 있다.
시청 진척도 데이터 구조에 추가적인 엔트리가 존재한다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1200)는 1208로 되돌아가는데, 여기서 미디어 가이던스 애플리케이션은 시청 진척도 데이터 구조로부터 엔트리를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다. 예를 들면, 상기에서 논의되는 바와 같이, 미디어 가이던스 애플리케이션은, 각각의 엔트리가 시리즈물의 에피소드에 대한 시청 진척도를 포함하는지의 여부를 확인하도록 각각의 엔트리가 체크될 때까지 엔트리를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계속 리트리브할 수도 있다.
시청 진척도 데이터 구조 내에 추가적인 엔트리가 존재하지 않는다는 것을 미디어 가이던스 애플리케이션이 결정하면, 프로세스(1200)는 1222로 계속되는데, 여기서 미디어 가이던스 애플리케이션은, 시청된 총 분에 대한 변수 내에 저장된 값을, 저장된 총 길이에 대한 변수 내에 저장된 값으로 제산함으로써, 집성된 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물의 사용자에 의해 시청된 총 분이 550 분이고 저장된 총 길이가 1000 분이다는 것을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 이 예에서, 미디어 가이던스 애플리케이션은 55 %의 집성된 시청 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산한다.
도 13은, 본 개시의 몇몇 실시형태에 따른, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하기 위한 예시적인 단계의 플로우차트이다. 예를 들면, 프로세스(1300)를 구현하는 미디어 가이던스 애플리케이션은 제어 회로부(604)(도 6)에 의해 실행될 수도 있다. 프로세스(1300) 또는 그 임의의 단계는, 도 6 및 도 7에서 도시되는 디바이스 중 임의의 디바이스 상에서 수행될 수 있거나, 또는 그 임의의 디바이스에 의해 제공될 수 있다는 것을 유의해야 한다. 프로세스(1300)는 1302로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하기 위한 프로세스를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 시작한다. 예를 들면, 미디어 가이던스 애플리케이션은 필요한 변수를 초기화할 수도 있고 프로세스(1300)를 실행하기 위해 특정한 방법을 호출하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1300)는 1304로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 미디어 가이던스 애플리케이션은 (예를 들면, 메모리(예를 들면, 스토리지(508))에 로컬하게, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는) 메모리 내의 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있다.
프로세스(1300)는 1306으로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조로부터 시리즈물에 대한 엔트리를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물에 대한 스케줄링 데이터 구조 내의 엔트리(예를 들면, 시리즈물을 저장하기 위한 명령어를 포함하는 행)를 선택 및 리트리브하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
프로세스(1300)는 1308로 계속되는데, 여기서 미디어 가이던스 애플리케이션은 시리즈물을 저장하기 위한 명령어를 포함하는 엔트리의 필드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수정한다. 예를 들면, 미디어 가이던스 애플리케이션은, 하기에서 추가로 설명되는 바와 같이, 어떤 에피소드가 저장되는지(예를 들면, 오로지 "새로운 에피소드"만)의 범위를 좁히는 추가적인 명령어를 기록함으로써 또는 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제함으로써 명령어를 수정할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 미디어 가이던스 애플리케이션은, 스토리지(예를 들면, 스토리지(608))에, 또는 통신 네트워크(예를 들면, 통신 네트워크(714))를 통해 액세스 가능한 미디어 가이던스 데이터 소스(예를 들면, 미디어 가이던스 데이터 소스(718))에 원격으로 저장되는 스케줄링 데이터 구조에 액세스할 수도 있다. 미디어 가이던스 애플리케이션은, 스케줄링 데이터 구조에 액세스하기 위해, 사용자 입력으로부터 획득될 수도 있는 인증 코드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 송신하도록 요구받을 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드의 서브세트를 저장하기 위한 추가적인 명령어를 (예를 들면, 스토리지(608)에) 저장한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 특정한 명령어에 대한 스케줄링 데이터 구조 내의 행 내의 필드에, 에피소드의 서브세트를 저장하기 위한 추가적인 명령어를 기록하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다. 서브세트는 모든 다른 에피소드일 수도 있거나, 단지 새로운 에피소드만일 수도 있거나, 단지 고화질 에피소드만일 수도 있거나, 또는 미디어 가이던스 애플리케이션에 의해 수신되는 시리즈물의 모든 에피소드를 포함하지 않는 임의의 다른 그룹일 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스한다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 메모리에 로컬하게 또는 미디어 가이던스 데이터 소스에 원격으로 저장되는 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물의 에피소드를 저장하기 위한 명령어를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 삭제한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 특정한 명령어에 대한 스케줄링 데이터 구조 내의 행을 삭제하는 프로그램 스크립트를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 실행할 수도 있다.
시리즈물의 에피소드를 저장하기 위한 명령어를 삭제한 이후, 미디어 가이던스 애플리케이션은, 사용자 프로파일의 시청 진척도 데이터 구조로부터 복수의 저장된 에피소드의 각각의 저장된 에피소드에 대한 현재 재생 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 추가적으로 리트리브할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은 복수의 미디어 자산에 대한 사용자의 시청 진척도를 포함하는 사용자 프로파일 내의 데이터 구조(예를 들면, 테이블에서 배열됨)에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있고, 시리즈물의 일부로서 식별되는 각각의 에피소드에 대한 재생 진척도를 (예를 들면, 에피소드에 대한 시리즈물 식별자를 열거하는 시리즈물 필드로부터) 리트리브할 수도 있다.
그 다음, 미디어 가이던스 애플리케이션은, 각각의 저장된 에피소드의 리트리브된 현재 재생 진척도에 기초하여 (예를 들면, 제어 회로부(604)(도 6)를 통해) 복수의 저장된 에피소드의 등급을 매긴다. 예를 들면, 미디어 가이던스 애플리케이션이 (예를 들면, 테이블 내의 각각의 연속하는 행의 콘텐츠를 체크하여 그것이 시리즈물의 에피소드인지의 여부를 확인하기 위해 "for-loop(for 루프문)"를 활용하는 프로그램 스크립트를 실행함으로써) 각각의 에피소드에 대한 재생 진척도를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 리트리브할 때, 미디어 가이던스 애플리케이션은 (예를 들면, 스토리지(608)에서) 각각의 에피소드에 대한 리트리브된 시청 진척도를, 시리즈물의 에피소드만을 갖는 데이터 구조(예를 들면, 어레이, 목록, 테이블, 등등)에 저장할 수도 있다. 시리즈물의 에피소드에 대한 시청 진척도를 리트리브하는 동안 또는 리트리브한 이후, 미디어 가이던스 애플리케이션은, 임의의 정렬 알고리즘(예를 들면, "병합 정렬")을 사용하여 시리즈물의 에피소드만을 갖는 데이터 구조의 콘텐츠를, 각각의 에피소드에서의 뷰어의 진척도에 기초하여 그들이 정렬되도록, (예를 들면, 제어 회로부(604)(도 6)를 통해) 정렬할 수도 있다(예를 들면, 사용자가 10 분 시청한 에피소드가 사용자가 완료한 에피소드보다 더 높게 등급이 매겨질 것이다). 그 다음, 미디어 가이던스 애플리케이션은 등급에 기초하여 제1 저장된 에피소드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 삭제한다. 예를 들면, 미디어 가이던스 애플리케이션은, 시청 진척도가 어떻게 등급이 매겨졌는지에 따라, 시리즈물의 에피소드만을 포함하는 등급이 매겨진 데이터 구조의 처음 또는 마지막 엔트리에 대응하는 에피소드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 삭제할 수도 있다. 이러한 방식으로, 미디어 가이던스 애플리케이션은 스토리지 디바이스로부터 사용자에 의해 가장 많이 또는 가장 적게 시청된 에피소드를 선택적으로 삭제할 수 있다.
추가적으로, 미디어 가이던스 애플리케이션은, 제1 저장된 에피소드를 삭제하는 것에 기초하여 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 새로운 양을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 계산할 수도 있다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 메모리의 얼마나 많은 블록이 비어 있고 미디어 자산을 저장하는 데 이용 가능한지를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은 시리즈물 시청 함수로 이용 가능한 스토리지의 새로운 양을 프로세싱함으로써 제2 임계 시청 진척도를 계산할 수도 있다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은, 이용 가능한 스토리지의 양을 임계 시청 진척도에 관련시키는 수학 함수를 (예를 들면, 스토리지(608)에) 저장할 수도 있다. 미디어 가이던스 애플리케이션은, 수학 함수를 사용하여 입력에 대해 동작하는 그리고 제2 임계 시청 진척도를 리턴하는 프로그램 스크립트에 이용 가능한 스토리지의 새로운 양을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 입력할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 임계 시청 진척도를 초과하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 집성된 시청 진척도 및 제2 임계 시청 진척도에 대한 값을 비교하여, (예를 들면, 다른 값으로부터 하나의 값을 감산하는 것 및 리턴되는 결과가 양인지, 음인지, 또는 제로인지의 여부를 결정함으로써) 집성된 시청 진척도가 제2 임계치를 초과하는지의 여부를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 집성된 시청 진척도가 제2 임계 시청 진척도를 초과하지 않는다고 결정한 것에 응답하여, 등급에 기초하여 제2 저장된 에피소드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 삭제할 수도 있다. 예를 들면, 미디어 가이던스 애플리케이션은, 시청 진척도가 어떻게 등급이 매겨졌는지에 따라, 시리즈물의 에피소드만을 포함하는 등급이 매겨진 데이터 구조의 처음 또는 마지막 엔트리에 대응하는 제2 에피소드를 (예를 들면, 제어 회로부(604)(도 6)를 통해) 삭제할 수도 있다. 몇몇 실시형태에서, 집성된 시청 진척도가 계산된 임계치를 초과한다는 것을 미디어 가이던스 애플리케이션이 (예를 들면, 제어 회로부(604)(도 6)를 통해) 결정할 때까지, 미디어 가이던스 애플리케이션은 등급이 매겨진 목록에 기초하여 스토리지로부터 에피소드를 계속 삭제할 수도 있다.
몇몇 실시형태에서, 미디어 가이던스 애플리케이션은, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정하는 옵션을 포함하는 사용자의 집성된 시청 진척도를 나타내는 통지를 (예를 들면, 제어 회로부(604)(도 6)를 통한) 디스플레이를 위해 생성한다. 예를 들면, 미디어 가이던스 애플리케이션은, 사용자가 특정한 시리즈물의 에피소드의 25 %만을 시청하였다는 것을 텔레비전 상에서의 (예를 들면, 제어 회로부(604)(도 6)를 통한) 디스플레이를 위해 생성할 수도 있고 명령어를 수정하는 옵션을 추가적으로 제시할 수도 있다. 명령어를 수정하는 옵션은, 상기에서 설명되는 바와 같이, 시리즈물의 에피소드를 저장하기 위한 명령어를 삭제하는 옵션, 사용자가 시청한(예를 들면, 에피소드의 소정의 백분율을 시청한 또는 액세스한) 에피소드를 삭제하는 옵션, 및/또는 시리즈물의 서브세트만을 녹화하는 옵션을 포함할 수도 있다. 미디어 가이던스 애플리케이션은 옵션의 사용자에 의한 사용자 선택을 수신한다. 예를 들면, 미디어 가이던스 애플리케이션은, 명령어를 삭제하는 옵션의, 사용자 입력 인터페이스(610)를 통한, 사용자 선택을 (예를 들면, 제어 회로부(604)(도 6)를 통해) 수신할 수도 있다. 몇몇 실시형태에서, 사용자는 스토리지 디바이스 상의 유한한 양의 스토리지가 사용되는 방법에서 더 큰 유연성을 허용하는 다수의 옵션을 선택할 수 있다. 예를 들면, 사용자는 그들이 50 % 시청한 에피소드를 삭제할 것을, 뿐만 아니라 시리즈물의 새로운 에피소드만을 저장할 것을 선택할 수도 있다. 그 다음, 미디어 가이던스 애플리케이션은, 수신된 사용자 선택에 기초하여, 시리즈물의 에피소드를 저장하기 위한 명령어를 수정한다. 예를 들면, 상기에서 설명되는 바와 같이, 미디어 가이던스 애플리케이션은 스케줄링 데이터 구조에 (예를 들면, 제어 회로부(604)(도 6)를 통해) 액세스할 수도 있고 수신된 사용자에 기초하여 (예를 들면, 현존하는 명령어에 대한 행의 필드에) 새로운 명령어를 (예를 들면, 프로그램 스크립트를 실행함으로써) 기록할 수도 있다.
도 8 내지 도 13의 각각의 단계 또는 설명은 본 개시의 임의의 다른 실시형태와 함께 사용될 수도 있다는 것이 고려된다. 또한, 도 8 내지 도 13과 관련하여 설명되는 단계 및 설명은 본 개시의 목적을 진전시키기 위해 대안적인 순서로 또는 병렬로 행해질 수도 있다. 예를 들면, 이 단계의 각각은, 시스템 또는 방법의 지연을 감소시키거나 또는 속도를 증가시키기 위해 임의의 순서로 또는 병렬로 또는 실질적으로 동시에 수행될 수도 있다. 더구나, 도 2 내지 도 7과 관련하여 논의되는 디바이스 또는 기기 중 임의의 것은 도 1 및 도 8 내지 도 13의 단계 중 하나 이상을 수행하기 위해 사용될 수 있을 것이다는 것을 유의해야 한다.
상기에서 논의되는 프로세스는, 제한하는 것이 아니라 예시적인 것으로 의도된 것이다. 기술 분야에서 숙련된 자는, 본원에서 논의되는 프로세스의 단계가 생략, 수정, 결합, 및/또는 재배열될 수도 있고, 임의의 추가적인 단계가 본 발명의 범위를 벗어나지 않으면서 수행될 수도 있다는 것을 인식할 것이다. 더욱 일반적으로, 상기의 개시는 제한하는 것이 아니라 예시적인 것으로 의도된다. 후속하는 청구범위만이 본 발명이 포함하는 바에 관한 한계를 설정하도록 의도된다. 더구나, 임의의 하나의 실시형태에서 설명되는 피쳐 및 제한은, 본원의 임의의 다른 실시형태에 적용될 수도 있다는 것, 및 하나의 실시형태에 관련이 있는 플로우차트 또는 예는 적절한 방식으로 임의의 다른 실시형태와 결합될 수도 있거나, 상이한 순서로 행해질 수도 있거나, 또는 병렬로 행해질 수도 있다는 것을 유의해야 한다. 또한, 본원에서 설명되는 시스템 및 방법은 실시간으로 수행될 수도 있다. 상기에서 설명되는 시스템 및/또는 방법은, 다른 시스템 및/또는 방법에 적용될 수도 있다는 것, 또는 다른 시스템 및/또는 방법에 따라 사용될 수도 있다는 것을 또한 유의해야 한다.

Claims (51)

  1. 시리즈물(series)의 스케줄링된 스토리지(storage)를, 이용 가능한 스토리지의 함수로서 수정하기 위한 방법으로서,
    상기 시리즈물의 에피소드들을 저장하기 위한 명령어를 스케줄링 데이터 구조에 저장하는 단계;
    사용자에 의한 상기 시리즈물의 복수의 저장된 에피소드들의 시청 진척도(viewing progress)를 상기 사용자에 대응하는 사용자 프로파일에 저장하는 단계;
    이용 가능한 스토리지의 양을 시리즈물 시청 함수(series viewing function)로 프로세싱함으로써 문턱 시청 진척도(threshold viewing progress)를 계산하는 단계;
    상기 시리즈물의 복수의 저장된 에피소드들 중 각각의 저장된 에피소드의 지속 기간(duration)을 합산함으로써 상기 시리즈물의 복수의 저장된 에피소드들의 집성된 지속 기간(aggregated duration)을 계산하는 단계;
    상기 시리즈물의 복수의 저장된 에피소드들 중 각각의 저장된 에피소드의 상기 사용자의 현재 재생 진척도를 합산함으로써 집합적 시청 진척도(collective viewing progress)를 계산하는 단계;
    상기 집합적 시청 진척도를 상기 복수의 저장된 에피소드들의 집성된 지속 기간으로 나눔으로써 집성된 시청 진척도를 계산하는 단계; 및
    상기 집성된 시청 진척도가 상기 문턱 시청 진척도를 초과하지 않는다고 결정한 것에 응답하여, 상기 시리즈물의 에피소드들을 저장하기 위한 명령어를 수정하는 단계
    를 포함하는, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 방법.
  2. 제1항에 있어서, 상기 사용자에 의한 상기 시리즈물의 복수의 저장된 에피소드들의 시청 진척도를 상기 사용자에 대응하는 사용자 프로파일에 저장하는 단계는,
    상기 사용자가 상기 복수의 저장된 에피소드들 중 제1 에피소드를 선택했다고 결정하는 단계;
    상기 제1 에피소드에 대한 상기 사용자의 현재 재생 위치를 모니터링하는 단계; 및
    상기 제1 에피소드에 대한 상기 사용자의 현재 재생 위치를 상기 사용자 프로파일의 시청 진척도 데이터 구조에 엔트리(entry)로서 저장하는 단계
    를 포함하는 것인, 방법.
  3. 제2항에 있어서, 상기 제1 에피소드에 대한 상기 사용자의 현재 재생 위치를 상기 사용자 프로파일의 시청 진척도 데이터 구조에 엔트리로서 저장하는 단계는,
    상기 제1 에피소드의 지속 기간 및 상기 사용자의 현재 재생 위치에 기초하여 상기 사용자에 의해 시청된 상기 제1 에피소드의 분율(fraction)을 계산하는 단계;
    메모리에 저장된 문턱 분율 시청 진척도를 리트리브(retrieve)하는 단계;
    상기 사용자에 의해 시청된 상기 제1 에피소드의 분율을 상기 문턱 분율 시청 진척도와 비교하는 단계;
    상기 사용자에 의해 시청된 상기 제1 에피소드의 분율이 상기 문턱 분율 시청 진척도를 충족한다고 결정한 것에 응답하여, 상기 제1 에피소드가 상기 사용자에 의해 완전히 시청되었다는 표시(indication)를 상기 엔트리와 함께 저장하는 단계
    를 포함하는 것인, 방법.
  4. 제1항에 있어서, 상기 이용 가능한 스토리지의 양을 시리즈물 시청 함수로 프로세싱함으로써 문턱 시청 진척도를 계산하는 단계는,
    상기 이용 가능한 스토리지의 양의 제1 값을 리트리브하는 단계;
    상기 이용 가능한 스토리지의 양에 대한 값들을 문턱 시청 진척도들과 매핑하는 수학 함수에 상기 제1 값이 입력되는 것인 프로그램 스크립트를 실행하는 단계;
    상기 문턱 시청 진척도를, 상기 프로그램 스크립트의 출력으로서 수신하는 단계
    를 포함하는 것인, 방법.
  5. 제1항에 있어서, 상기 시리즈물의 에피소드들을 저장하기 위한 명령어를 수정하는 단계는,
    상기 스케줄링 데이터 구조에 액세스하는 단계; 및
    상기 시리즈물의 에피소드들을 저장하기 위한 명령어를 삭제하는 단계
    를 포함하는 것인, 방법.
  6. 제5항에 있어서,
    상기 사용자 프로파일의 시청 진척도 데이터 구조로부터 상기 복수의 저장된 에피소드들 중 각각의 저장된 에피소드에 대한 현재 재생 진척도를 리트리브하는 단계;
    각각의 저장된 에피소드의 상기 리트리브된 현재 재생 진척도에 기초하여 상기 복수의 저장된 에피소드들의 등급을 매기는(ranking) 단계; 및
    상기 등급에 기초하여 제1의 저장된 에피소드를 삭제하는 단계
    를 더 포함하는, 방법.
  7. 제6항에 있어서,
    상기 제1의 저장된 에피소드를 삭제한 것에 기초하여 스토리지 디바이스 상에 남아 있는 이용 가능한 스토리지의 새로운 양을 계산하는 단계;
    상기 이용 가능한 스토리지의 새로운 양을 상기 시리즈물 시청 함수로 프로세싱함으로써 제2 임계 시청 진척도를 계산하는 단계;
    상기 집성된 시청 진척도가 상기 제2 임계 시청 진척도를 초과하는지의 여부를 결정하는 단계; 및
    상기 집성된 시청 진척도가 상기 제2 임계 시청 진척도를 초과하지 않는다고 결정한 것에 응답하여, 상기 등급에 기초하여 제2의 저장된 에피소드를 삭제하는 단계
    를 더 포함하는, 방법.
  8. 제1항에 있어서, 상기 시리즈물의 에피소드들을 저장하기 위한 명령어를 수정하는 단계는,
    상기 스케줄링 데이터 구조에 액세스하는 단계; 및
    상기 시리즈물의 에피소드들의 서브세트를 저장하기 위한 추가 명령어를 저장하는 단계
    를 포함하는 것인, 방법.
  9. 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 시스템으로서, 상기 시스템은 제1항 내지 제8항 중 어느 한 항의 방법을 실행하도록 구성된 제어 회로부(control circuitry)를 포함하는 것인, 시스템.
  10. 제어 회로부에 의해 실행될 때, 상기 제어 회로부가 제1항 내지 제8항 중 어느 한 항의 방법을 수행하게 하는, 시리즈물의 스케줄링된 스토리지를, 이용 가능한 스토리지의 함수로서 수정하기 위한 비일시적 컴퓨터 판독가능 명령어들이 인코딩되어 있는 비일시적 컴퓨터 판독가능 매체.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
KR1020197007942A 2016-08-30 2017-08-30 이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법 KR102406817B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/251,827 2016-08-30
US15/251,827 US10433009B2 (en) 2016-08-30 2016-08-30 Systems and methods for managing series recordings as a function of storage
PCT/US2017/049459 WO2018045082A1 (en) 2016-08-30 2017-08-30 System and method for managing series recordings as a function of available storage

Publications (2)

Publication Number Publication Date
KR20190043151A KR20190043151A (ko) 2019-04-25
KR102406817B1 true KR102406817B1 (ko) 2022-06-13

Family

ID=59856632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197007942A KR102406817B1 (ko) 2016-08-30 2017-08-30 이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법

Country Status (10)

Country Link
US (1) US10433009B2 (ko)
EP (1) EP3507989B1 (ko)
JP (1) JP7139314B2 (ko)
KR (1) KR102406817B1 (ko)
CN (1) CN109804637B (ko)
AU (1) AU2017319511C1 (ko)
BR (1) BR112019003886A2 (ko)
CA (1) CA3034013A1 (ko)
MX (1) MX2019002306A (ko)
WO (1) WO2018045082A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9912980B2 (en) * 2016-01-28 2018-03-06 Nagravision S.A. Method and apparatus to create intuitive favorites for users
US10170116B1 (en) * 2016-09-21 2019-01-01 Amazon Technologies, Inc. Maintaining context for voice processes
US10585686B2 (en) * 2017-01-02 2020-03-10 Microsoft Technology Licensing, Llc Context aware guided scenarios
US10038929B1 (en) 2017-03-31 2018-07-31 Rovi Guides, Inc. Systems and methods for creating a virtual channel for binge watching
US11941412B1 (en) * 2017-12-20 2024-03-26 Intuit Inc. Computer software program modularization and personalization
US10924776B2 (en) 2019-03-27 2021-02-16 Rovi Guides, Inc. Systems and methods for media content navigation and filtering
US10897642B2 (en) 2019-03-27 2021-01-19 Rovi Guides, Inc. Systems and methods for media content navigation and filtering
CA3104713A1 (en) * 2019-03-27 2020-10-01 Rovi Guides, Inc. Systems and methods for media content navigation and filtering
US11172245B2 (en) 2019-10-04 2021-11-09 Dish Network L.L.C. Unified program listing of content transmitted using different distribution types
US11392983B2 (en) * 2020-04-22 2022-07-19 At&T Intellectual Property I, L.P. Apparatuses and methods for identifying content distribution opportunities in accordance with advertising performance
CN112040283B (zh) * 2020-11-04 2021-02-05 北京爱奇艺智能科技有限公司 一种拆分视频海量选集列表的方法和系统
US20220174345A1 (en) * 2020-12-01 2022-06-02 Rovi Guides, Inc. Systems and methods for storing content items based on consumption history
US20240185891A1 (en) * 2022-12-03 2024-06-06 Synamedia Limited Common Timeline Processing for Unique Manifests

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140233923A1 (en) * 2013-02-21 2014-08-21 Comcast Cable Communications, Llc Managing Stored Content

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US6564378B1 (en) 1997-12-08 2003-05-13 United Video Properties, Inc. Program guide system with browsing display
JP2000013708A (ja) 1998-06-26 2000-01-14 Hitachi Ltd 番組選択支援装置
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
AR020608A1 (es) 1998-07-17 2002-05-22 United Video Properties Inc Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto
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
JP4863540B2 (ja) 2000-07-31 2012-01-25 ソニー株式会社 録画再生装置およびコンテンツ管理方法
KR101548473B1 (ko) * 2001-02-21 2015-08-28 로비 가이드스, 인크. 개인용 비디오 녹화 특징을 갖는 대화식 프로그램 가이드를 위한 시스템 및 방법
US7402185B2 (en) * 2002-04-24 2008-07-22 Afton Chemical Intangibles, Llc Additives for fuel compositions to reduce formation of combustion chamber deposits
US8086093B2 (en) * 2002-12-05 2011-12-27 At&T Ip I, Lp DSL video service with memory manager
US20050050578A1 (en) * 2003-08-29 2005-03-03 Sony Corporation And Sony Electronics Inc. Preference based program deletion in a PVR
JP2005312006A (ja) * 2004-03-26 2005-11-04 Denon Ltd 映像記録再生装置及び方法
US7490775B2 (en) * 2004-12-30 2009-02-17 Aol Llc, A Deleware Limited Liability Company Intelligent identification of multimedia content for synchronization
US7188675B2 (en) * 2005-01-14 2007-03-13 M-I L.L.C. Finger boot basket
US7524206B2 (en) * 2005-03-23 2009-04-28 Pulse Engineering, Inc. Power-enabled connector assembly with heat dissipation apparatus and method of manufacturing
WO2007001943A2 (en) * 2005-06-20 2007-01-04 The Regents Of The University Of California Prefoldin 4 in the treatment and diagnosis of cancer
JP2007104577A (ja) * 2005-10-07 2007-04-19 Sony Corp コンテンツ転送装置、コンテンツ転送方法及びコンテンツ転送プログラム
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
US20070154163A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for creating aggregations of episodes of series programming in order
US9015736B2 (en) * 2005-12-29 2015-04-21 Rovi Guides, Inc. Systems and methods for episode tracking in an interactive media environment
US7877765B2 (en) 2006-10-26 2011-01-25 International Business Machines Corporation Viewing pattern data collection
EP2335176A1 (en) * 2008-08-20 2011-06-22 Wherepro, LLC Data packet generator for generating passcodes
RU2012121968A (ru) * 2009-10-30 2013-12-10 Сони Компьютер Энтертэйнмент Инк. Устройство обработки информации, тюнер и способ обработки информации
US9172990B2 (en) * 2011-06-24 2015-10-27 Google Technology Holdings LLC Method and device for optimizing storage of recorded video programs
JP2013106274A (ja) 2011-11-15 2013-05-30 Buffalo Inc 録画制御システム、録画装置、録画制御方法、及び録画制御プログラム
CN105049926B (zh) * 2015-06-26 2019-02-05 Oppo广东移动通信有限公司 一种收藏、播放多媒体片段的方法及终端、播放设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140233923A1 (en) * 2013-02-21 2014-08-21 Comcast Cable Communications, Llc Managing Stored Content

Also Published As

Publication number Publication date
MX2019002306A (es) 2019-07-08
CN109804637B (zh) 2021-12-17
JP7139314B2 (ja) 2022-09-20
US20180063580A1 (en) 2018-03-01
CN109804637A (zh) 2019-05-24
WO2018045082A1 (en) 2018-03-08
AU2017319511A1 (en) 2019-03-07
AU2017319511B2 (en) 2022-10-20
EP3507989A1 (en) 2019-07-10
US10433009B2 (en) 2019-10-01
BR112019003886A2 (pt) 2019-05-21
AU2017319511C1 (en) 2023-08-03
EP3507989B1 (en) 2023-12-20
CA3034013A1 (en) 2018-03-08
KR20190043151A (ko) 2019-04-25
JP2019530305A (ja) 2019-10-17

Similar Documents

Publication Publication Date Title
KR102406817B1 (ko) 이용 가능한 스토리지의 함수로서 시리즈물 녹화를 관리하기 위한 시스템 및 방법
US11595728B2 (en) Systems and methods for loading interactive media guide data based on user history
KR102402910B1 (ko) 제2 유저의 뷰잉 활동에 기초하여 제2 유저에 대한 플레이리스트에 포함시키기 위한 미디어 자산을 제1 유저에게 추천하기 위한 방법 및 시스템
US20170251260A1 (en) Systems and methods for synchronizing media asset playback on multiple devices
KR102606156B1 (ko) 자연어 쿼리의 보충 기능을 수행하기 위한 시스템 및 방법
US11017009B2 (en) Systems and methods for arranging contextually related media assets
KR102589622B1 (ko) 복수의 디바이스 상에서의 미디어 자산 재생을 동기화하는 시스템 및 방법
US11223875B2 (en) Systems and methods for performing an action based on viewing positions of other users
US20180192137A1 (en) Systems and methods for predicting viewing behavior
US20230370688A1 (en) Systems and methods for sorting favorite content sources
US20240214652A1 (en) Systems and methods for identifying whether to use a tailored playlist
US20240040200A1 (en) Methods and systems for receiving ratings from a third-party source of ratings
US20230362426A1 (en) Systems and methods for determining whether to update embedded advertisements in downloaded content using advertisement update criteria
KR102441891B1 (ko) 미디어의 저장된 버전을 사용자에 보다 적합한 버전으로 대체하기 위한 시스템들 및 방법들

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right