KR102010499B1 - 미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법 - Google Patents

미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102010499B1
KR102010499B1 KR1020187021207A KR20187021207A KR102010499B1 KR 102010499 B1 KR102010499 B1 KR 102010499B1 KR 1020187021207 A KR1020187021207 A KR 1020187021207A KR 20187021207 A KR20187021207 A KR 20187021207A KR 102010499 B1 KR102010499 B1 KR 102010499B1
Authority
KR
South Korea
Prior art keywords
user
media program
events
media
event
Prior art date
Application number
KR1020187021207A
Other languages
English (en)
Other versions
KR20180088488A (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 KR20180088488A publication Critical patent/KR20180088488A/ko
Application granted granted Critical
Publication of KR102010499B1 publication Critical patent/KR102010499B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • H04N21/44226Monitoring of user activity on external systems, e.g. Internet browsing on social networks
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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/47211End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting pay-per-view content
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • 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
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

추천에 대한 사용자의 요청에 대한 응답으로, 추천된 프로그램이 시작하기 전에, 미디어 프로그램들을 검색하고 그리고/또는 그에 가입하는 것 및 사용자에게 통지하는 것을 위한 시스템 및 방법이 제공된다. 서버는, 클라이언트 디바이스로부터 미디어 프로그램 이벤트 추천에 대한 사용자 요청을 수신한다. 서버는 사용자 요청에 따라 검색 질의를 생성한다. 사버는 하나 이상의 미디어 프로그램 이벤트들을 포함하는 추천을 생성하기 위해, 하나 이상의 데이터베이스들에 대해 검색 질의를 실행한다. 데이터베이스들 중 적어도 하나는 스케줄링된 미디어 프로그램 이벤트들로 이루어진다. 서버는, 사용자 상호작용없이, 추천된 미디어 프로그램 이벤트에 대응하는 캘린더 이벤트를 하나 이상의 사용자-지정 캘린더 프로그램들에 자동으로 전송한다. 캘린더 이벤트는 각각의 날짜, 시간 및 지속시간을 포함한다.

Description

미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR RECOMMENDING MEDIA PROGRAMS AND NOTIFYING A USER BEFORE PROGRAMS START}
[0001] 본 개시된 구현들은 일반적으로 검색 강화 분야 및 보다 구체적으로, 추천을 위한 사용자의 요청에 응답하여 미디어 프로그램 이벤트들을 검색 및 가입하고, 추천된 프로그램 이벤트가 시작하기 전에 사용자에게 통지하는 것에 관한 것이다.
[0002] 넓은 범위의 청중 및 시청자(viewer)들에 대해 이용 가능한 멀티미디어 쇼들 및 프로그램들의 다양성 및 수는 지난 몇십 년들에서 급격히 증가하였다. 요즘에, 사람들은 상이한 플랫폼들(TV, 인터넷-연결 전자 디바이스들) 상에서 그리고 상이한 장소(venue)들(몇가지만 말하면, 집, 영화관들, 콘서트 홀들)에서 이들 미디어 프로그램들을 즐길 수 있다.
[0003] 놀랍지도 않게, 어떤 프로그램을 시청할지를 사람들이 선택하는 것을 돕기 위하여 사람들에게 제공되는 많은 프로그램 가이드들이 있다. 이들 프로그램 가이드들은 최근에 다양한 온라인 콘텐츠 스트리밍 서비스들의 형성 후 흔해진 프로그램들 및 쇼들의 온라인 스케줄들뿐 아니라 TV 가이드 및 영화 리스팅들 같은 종래의 미디어 프로그램 이벤트 가이드들을 포함한다. 그러나, 이들 프로그램 이벤트 가이드들은 각각의 개별 관심에 대해 맞추어져 있지 않다. 예를 들어, 사용자는 특정 채널들에 대한 프로그램 리스트만을 시청할 수 있다. 게다가, 이들 프로그램 가이드들은 사용자에게 관심 있는 프로그램들이 언제 플레이될 것인지 또는 수행될 것인지를 사용자에게 리마인드(remind)하지 않는다.
[0004] 상기 설명된 제한들 및 단점들을 극복하는 다수의 구현들이 아래에 보다 상세히 제시된다. 이들 구현들은 사용자에게 관심 있는 미디어 프로그램들에 대한 검색 및/또는 가입, 및 추천된 프로그램이 시작하기 전에 사용자에게 통지하기 위한 방법들 및 시스템들을 제공한다.
[0005] 아래에 더 상세히 설명된 바와 같이, 일부 구현들은 프로그램들을 실행하기 위한 하나 이상의 프로세서들 및 하나 이상의 프로그램들을 저장하는 메모리를 포함하는 컴퓨터 시스템에서 수행되는 방법을 포함한다. 방법은 클라이언트 디바이스로부터, 미디어 프로그램 이벤트 추천을 위한 사용자 요청을 수신하는 단계를 포함한다. 사용자 요청은 사용자 미디어 프로그램 추천 세팅을 포함한다. 방법은 사용자 요청에 따른 검색 질의를 생성하는 단계를 더 포함한다. 그 다음 방법은 하나 이상의 미디어 프로그램 이벤트들을 포함하는 추천을 생성하기 위하여 하나 이상의 데이터베이스들에 대해 검색 질의를 실행한다. 하나 이상의 데이터베이스들 중 적어도 하나는 스케줄링된 미디어 프로그램 이벤트들로 이루어진다. 방법은 사용자 상호 작용 없이, 사용자에 의해 지정된 하나 이상의 캘린더 프로그램(calendar program)으로, 추천된 미디어 프로그램 이벤트에 대응하는 캘린더 이벤트를 자동으로 전송하는 단계를 더 포함한다. 캘린더 이벤트는 개별 날짜, 시간, 및 지속 시간을 포함한다. 방법은 미디어 프로그램들을 검색 및/또는 가입하고, 추천된 프로그램이 시작하기 전에 사용자에게 통지하기 위하여 사용될 수 있다.
[0006] 일부 구현들에서, 방법은 사용자 요청을 수신하기 전에 미디어 프로그램 이벤트들과 연관된 사용자 웹 액티비티 데이터를 수집하는 단계; 및 사용자 요청뿐 아니라 사용자 웹 액티비티 데이터를 고려하여 검색 질의를 생성하는 단계를 더 포함한다.
[0007] 일부 구현들에서, 사용자의 수집된 웹 액티비티 데이터는 사용자의 이전 검색들에 대한 툴바 정보 및 사용자의 미디어 프로그램 액티비티 데이터로 이루어진 그룹으로부터 선택된 정보를 포함한다.
[0008] 일부 실시예들에서, 검색 질의를 실행하는 단계는 웹 액티비티를 고려하여 하나 이상의 데이터 베이스들에서 미디어 프로그램 이벤트들을 랭킹(ranking)하는 단계를 더 포함한다.
[0009] 일부 실시예들에서, 검색 질의를 생성하는 단계는 사용자 웹 액티비티 데이터에 기초하여 하나 이상의 용어(term)들을 식별하는 단계; 및 사용자 웹 액티비티 데이터 및 사용자 요청의 적어도 일부에 기초하여 용어들 중 적어도 하나를 포함하는 검색 질의를 확립(building)하는 단계를 더 포함한다.
[0010] 일부 구현들에서, 하나 이상의 데이터베이스들에 대해 검색 질의를 실행하는 단계는: 하나 이상의 데이터베이스들에서 미디어 프로그램 이벤트들의 세트를 식별하는 단계; 미디어 프로그램 선호도 세팅에 따라 미디어 프로그램 이벤트 세트에서 미디어 프로그램 이벤트들을 랭킹하는 단계; 및 미디어 프로그램 이벤트들의 랭킹들에 따라 미디어 프로그램 이벤트 세트로부터 하나 이상의 미디어 프로그램 추천들을 생성하는 단계를 더 포함한다. 상기 세트 내의 미디어 프로그램 이벤트는 검색 질의의 적어도 일부에 매칭한다.
[0011] 일부 구현들에서, 방법은 개별 미디어 프로그램 이벤트 추천의 가입 또는 페이 퍼 뷰(pay per view) 정보를 식별하는 단계; 및 가입 또는 페이 퍼 뷰 정보를 클라이언트 디바이스를 통해 사용자에게 전송하는 단계를 더 포함한다.
[0012] 일부 구현들에서, 방법은 미디어 프로그램 추천에 대응하는 미디어 프로그램 이벤트들에 대한 하나 이상의 리마인더들을 생성하는 단계를 더 포함한다. 하나 이상의 리마인더들의 양식은 다음 중 적어도 하나를 포함한다: 이메일, 텍스트 메시징, 음성 메일, 캘린더 팝-업, 푸시 통지(push notification), IM 채팅 메시지 및 소셜 네트워크로의 포스트(post to a social network).
[0013] 일부 구현들에서, 미디어 프로그램 선호도 세팅은 하기의 것으로 이루어진 그룹으로부터 선택된 하나 이상의 팩터들에 대한 파라미터들의 세트이다: 미디어 타입, 장르, 타이틀, 작가, 배우, 최신 미디어 프로그램, 미디어 프로그램의 빈도, 및 미국 영화 협회 레이팅(rating)들 같은 프로그램 레이팅들.
[0014] 일부 구현들에서, 가입 또는 페이 퍼 뷰 정보를 식별하는 단계는 하나 이상의 데이터베이스들로부터 분리된 추가 소스들에서 가입 또는 페이 퍼 뷰 정보를 검색하는 단계를 더 포함한다.
[0015] 일부 구현들에서, 방법은, 각각의 미디어 프로그램 이벤트 추천에 대한 구매 요청을 사용자로부터 수신하는 단계; 및 구매 요청에 응답하여, 사용자 명령에 따라 스케줄링된 시간에 미디어 프로그램 이벤트를 공급하는 서비스에 가입하거나 그 서비스에 대해 대금을 지불하는 단계를 더 포함한다.
[0016] 일부 구현들에서, 상기 방법은 미디어 프로그램 추천에 대응하는 하나 이상의 캘린더 이벤트들을 하나 이상의 사용자 지정 캘린더들에 부가하는 단계를 더 포함한다.
[0017] 일부 구현들에서, 상기 방법은 추천된 미디어 프로그램 이벤트들이 스케줄링되는 시간 윈도우 및 추천할 미디어 프로그램 이벤트들의 수를 포함하는, 사용자의 추천 선호도들을 식별하는 정보를 사용자로부터 수신하는 단계를 더 포함한다.
[0018] 일부 구현들에서, 상기 방법은 하나 이상의 사용자 지정 캘린더 프로그램들에 대한 사용자 계정 정보를 포함하는, 사용자를 식별하는 정보를 사용자로부터 수신하는 단계를 더 포함한다.
[0019] 전술한 방법들의 하나 이상의 단계들을 실행하기 위한 명령들을 포함하는 컴퓨터 시스템들 및 비일시적 컴퓨터 판독가능 저장 매체들이 또한 본 명세서에 개시된다.
[0020] 따라서, 사용자가 풍부한 미디어 프로그램들을 더 잘 즐기도록 개인 맞춤형 미디어 프로그램 추천 및 다른 추가의 강화된 특징들을 제공하는 방법들, 컴퓨터 시스템들 및 비일시적 컴퓨터 판독가능 저장 매체들이 본 명세서에 제공된다.
[0021] 개시된 구현들은 물론 이들의 추가의 양상들 및 구현들을 더 잘 이해하기 위해, 이하의 도면들과 함께, 이하의 구현들의 설명에 대해 참조가 행해질 것이며, 여기서, 동일한 참조 번호들은 도면들 전체에 걸쳐 대응하는 부분들을 지칭한다.
[0022] 도 1은 일부 구현들에 따라, 미디어 프로그램 이벤트들을 검색하고 추천된 미디어 프로그램 이벤트들을 사용자 지정 캘린더로 전송하기 위한 서버 시스템을 포함하는 예시적인 컴퓨터 네트워크를 도시하는 블록도이다.
[0023] 도 2a는 일부 구현들에 따른 서버 시스템을 도시하는 블록도이다.
[0024] 도 2b는 일부 구현들에 따른 서버 시스템 메모리의 메모리를 추가로 도시하는 블록도이다.
[0025] 도 3은 일부 구현들에 따른 클라이언트 시스템을 도시하는 블록도이다.
[0026] 도 4는 일부 구현들에 따라 사용자 웹 액티비티 정보를 저장하기 위해 사용자 웹 액티비티 데이터베이스에 의해 사용되는 예시적인 데이터 구조의 블록도이다.
[0027] 도 5는 일부 구현들에 따라 미디어 프로그램 이벤트들의 세트에 대한 정보를 저장하기 위해 미디어 프로그램 이벤트 데이터베이스에 의해 사용되는 예시적인 데이터 구조의 블록도이다.
도 6a-6e는 일부 구현들에 따라 미디어 프로그램 이벤트를 검색하고 추천된 미디어 프로그램 이벤트를 사용자의 지정 캘린더에 전송하는 방법을 도시하는 흐름도를 포함한다.
도 7은 일부 구현들에 따라 클라이언트와 서버 시스템 사이의 통신을 도시하는 흐름도이다.
[0030] 도 1은 일부 구현들에 따른 예시적인 클라이언트-서버 환경(100)을 도시하는 블록도이다. 도 1에서, 클라이언트-서버 환경(100)은 서버 시스템(120), 하나 이상의 클라이언트 시스템들 또는 디바이스들(이하에서 클라이언트로 지칭됨)(102)을 포함한다. 하나 이상의 통신 네트워크들(110)은 이러한 컴포넌트들을 상호 접속한다. 통신 네트워크(110)는, 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 무선 네트워크, 유선 네트워크, 인터넷 또는 이러한 네트워크들의 조합을 포함하는 임의의 다양한 네트워크일 수 있다. 일부 구현들에서, 클라이언트(102)는 서버 시스템(120)에 대해 원격 위치에 로케이팅될 수 있다. 일부 다른 구현들에서, 클라이언트(102)는 서버 시스템(120)에 근접하게 있다.
[0031] 일부 구현들에 따라, 클라이언트(102)는 클라이언트 애플리케이션(104) 및 사용자 인터페이스(106)를 포함한다. 클라이언트(102)에 의해 실행될 때, 클라이언트 애플리케이션(104)은 미디어 프로그램 이벤트 추천에 대한 요청을 서버 시스템(120)에 전송한다. 일부 구현들에서, 클라이언트 애플리케이션(104)은 검색 애플리케이션, 브라우저 애플리케이션을 위한 검색 엔진 플러그-인, 및 브라우저 애플리케이션을 위한 검색 엔진 확장으로 구성된 세트로부터 선택된다. 일부 구현들에서, 사용자 인터페이스(106)는 사용자 입력을 위한 사용자 입력 디바이스 및 미디어 프로그램을 디스플레이할 수 있는 디스플레이 디바이스(108)를 포함한다.
[0032] 클라이언트(102)는 미디어 프로그램 추천 요청(112) 및 명령들을 서버 시스템(120)에 전송하고 이로부터 데이터(미디어 프로그램 추천(114)을 포함함)를 수신한다. 클라이언트(102)는 서버 시스템(120)과 통신할 수 있는 임의의 컴퓨터 또는 다른 전자 디바이스일 수 있다. 클라이언트(102)의 예들은, 데스크탑 및 노트북 컴퓨터들, 메인프레임 컴퓨터들, 서버 컴퓨터들, 모바일 디바이스들, 이를테면 모바일 폰, 스마트폰, 및 개인 휴대 정보 단말기, 네트워크 단말들 및 셋탑 박스들을 포함하지만, 이에 제한되지 않는다.
[0033] 일부 구현들에 따라, 서버 시스템(120)은 검색 질의 생성 모듈(122), 미디어 프로그램 이벤트 데이터베이스(124), 미디어 프로그램 결정 모듈(126), 사용자 캘린더 통신 모듈(128)을 포함한다. 일부 구현들에서, 서버 시스템(120)은 또한 사용자 웹 액티비티 데이터베이스(들)(130)를 포함한다. 일부 구현들에서, 서버 시스템(120)은 사용자 웹 액티비티 데이터베이스(130)를 포함하지 않고, 다른 서버들에 위치되고 그리고 다른 서버들에 의해 관리되는 사용자 웹 액티비티 데이터베이스(130)에 액세스한다.
[0034] 서버 시스템(120)은 통신 네트워크(110)를 통해 하나 이상의 클라이언트(102)로부터 프로그램 요청(112)을 수신한다. 검색 질의 생성 모듈(122)은 요청(112)을 받아들여 대응하는 검색 질의를 생성한다. 일부 구현들에서, 검색 질의는 사용자 웹 액티비티 데이터베이스(130)에 저장된 관련 사용자 행동 데이터를 고려하여 생성된다. 미디어 프로그램 결정 모듈(126)은 미디어 프로그램 이벤트 데이터베이스(124)에 대해 검색 질의 생성 모듈(122)에 의해 생성된 검색 질의를 실행하고, 요청(112)에 응답하여 사용자에게 추천할 미디어 프로그램의 리스트를 결정한다. 다음에, 사용자 캘린더 전달 모듈(128)이 미디어 프로그램 결정 모듈(126)에 의해 결정된 추천된 프로그램들의 리스트를 포맷화하여, 통신 네트워크(110)를 통해 미디어 프로그램 이벤트 추천(114)을 각각의 클라이언트(102)에 전송한다.
[0035] 본 명세서에서 사용되는 바와 같이, "미디어 프로그램 이벤트"라는 용어는 미래의 플레이 날짜로 스케줄링된 미디어 프로그램을 의미한다. 예시적인 미디어 프로그램 이벤트들은 특정 시간들 및 날짜들을 갖는 미래의 특정 시간 기간 동안 플레이 또는 공연될 TV 쇼들, 영화들, 공연들(예를 들어, 지역 공연장들에서 공연될 발레, 오페라 또는 콘서트들), 그리고 온라인 미디어 스트리밍 또는 생방송을 포함하지만 이들에 한정된 것은 아니다.
[0036] 본 명세서에서 사용되는 바와 같이, "추천 요청" 또는 "사용자 요청"이라는 용어들은 미디어 프로그램 이벤트들의 추천에 대한 사용자 요청(112)을 의미한다. 일부 구현들에서, 사용자 요청(112)은 시간 기간, 쇼 제목, 쇼 설명, 시리즈 id, 출연자 및 장르 중 하나 이상의 것의 결합이다. 일부 구현들에서, 사용자 요청은 심지어, 특정 배우에 의해 연기될 프로그램들 또는 추천할 프로그램 이벤트들의 수와 같은 사용자 선호도들 중 일부를 포함할 수도 있다.
[0037] 도 2는 일부 구현들에 따른 서버 시스템(120)을 나타내는 블록도이다. 서버 시스템(120)은 일반적으로 하나 이상의 처리 유닛들(CPU들)(202), 하나 이상의 네트워크 인터페이스들(204), 메모리(206), 그리고 이러한 컴포넌트들을 상호 접속하기 위한 그리고 다른 시스템들과 접속하기 위한 하나 이상의 통신 버스들(208)을 포함한다. 메모리(206)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며, 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 고체 상태 저장 디바이스들과 같은 비휘발성 메모리를 포함할 수 있다. 메모리(206)는 선택적으로 CPU(들)(202)로부터 원격으로 로케이팅된 하나 이상의 저장 디바이스들을 포함한다. 메모리(206), 또는 대안으로 메모리(206) 내의 비휘발성 메모리 디바이스(들)는 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(206) 또는 메모리(206)의 컴퓨터 판독 가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트를 포함한다:
Figure 112018072485717-pat00001
다양한 기본 시스템 서비스들을 처리하기 위한 그리고 하드웨어 의존 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(210);
Figure 112018072485717-pat00002
하나 이상의 통신 네트워크 인터페이스들(204)(유선 또는 무선) 및 인터넷, 다른 광역 네트워크들, 근거리 네트워크들, 대도시권 네트워크들 등과 같은 하나 이상의 통신 네트워크들(110)(도 1)을 통해 서버 시스템(120)을 다른 컴퓨터들에 접속하는데 사용되는 네트워크 통신 모듈(또는 명령들)(212);
Figure 112018072485717-pat00003
아래 모듈들을 포함하지만, 이들에 한정된 것은 아닌 서버 시스템에 의해 제공되는 서비스들을 수행하기 위한 서버 애플리케이션 모듈들(214):
o 사용자 요청(112)에 적어도 부분적으로 기초하여 검색 질의(262)를 결정하기 위한 검색 질의 생성 모듈(122).
o 검색 질의 생성 모듈(122)에 의해 생성된 검색 질의(262)를 사용하여 미디어 프로그램 이벤트 데이터베이스들(124)에서 복수의 미디어 프로그램 이벤트들을 식별하기 위한 미디어 프로그램 결정 모듈(126). 미디어 프로그램 결정 모듈(126)은 일반적으로 다음의 모듈들을 포함하지만 이들에 한정된 것은 아니다:
Figure 112018072485717-pat00004
미디어 프로그램 이벤트 데이터베이스(124)를 액세스하기 위한 데이터베이스 액세스 모듈(224);
Figure 112018072485717-pat00005
사용자 미디어 프로그램 선호도 세팅(264)에 따라 검색 질의(262)의 각각의 용어에 대한 가중 스코어를 식별하기 위한 선호도 결정 모듈(226);
Figure 112018072485717-pat00006
미디어 프로그램 이벤트 정보 데이터베이스(124)에 대해 생성된 검색 질의(262)를 실행하고, 검색 질의(262)의 적어도 한 용어와 매칭하는 한 세트의 후보 미디어 프로그램 이벤트들(267)을 식별하는 매칭 모듈(228);
Figure 112018072485717-pat00007
매칭 모듈(228)에 의해 식별된 후보 프로그램 이벤트들을 이들의 가중 스코어들에 따라 랭킹하기 위한 랭킹 모듈(230);
o 추천된 미디어 프로그램 이벤트들에 대응하는 캘린더 이벤트들이 사용자 지정된 캘린더들에서 적절히 셋업되도록, 사용자에 의해 지정된 캘린더 계정들의 캘린더 서버들과 통신하기 위한 사용자 캘린더 전달 모듈(128);
o 추천 요청(112) 외에도, 사용자 캘린더 계정 정보(254), 추천 요청(112)에 관한 사용자 추천 선호도들(260)을 포함하고 있지만 이들에 한정된 것은 아닌, 클라이언트(102)의 사용자로부터 피드백을 수신하기 위한 피드백 수신 모듈(232). 일부 구현들에서, 사용자 피드백은 추천된 미디어 프로그램 이벤트들 중 하나 이상의 이벤트의 가입 또는 구매에 관한 사용자 명령 또는 응답 데이터(276)를 포함한다;
o 선택적으로, 랭킹 모듈(230)에 의해 결정된 미디어 프로그램 추천 리스트로부터 가입 또는 구매를 요청하는 미디어 프로그램들을 식별하기 위한 구매/가입 식별 모듈(234);
o 사용자의 명령에 따라 프로그램들에 가입 또는 구매하기 위해 가입 또는 구매를 요청하는 미디어 프로그램의 서버들과 연락하기 위한 구매/가입 모듈(236);
o 다른 서버 애플리케이션 모듈들.
Figure 112018072485717-pat00008
서버 시스템(120)에 관련된 데이터를 보유하고, 다음을 포함(그러나 이들로 제한되지 않음)하는 서버 데이터(240):
o 다음의 카테고리의 데이터를 포함(그러나 이들로 제한되지 않음)하는 사용자 데이터(252):
Figure 112018072485717-pat00009
사용자 추천 요청(112);
Figure 112018072485717-pat00010
사용자 캘린더 통신 모듈(128)에 대한 사용자 지정 캘린더들(254)에 관한 데이터;
Figure 112018072485717-pat00011
사용자 웹 액티비티 데이터베이스(130)로부터 리트리브되는 사용자 웹 액티비티 데이터(256);
Figure 112018072485717-pat00012
미디어 프로그램 결정 모듈(126), 사용자 캘린더 통신 모듈(128), 및 구매/가입 식별 모듈(234)을 포함(그러나 이들로 제한되지 않음)하는 다양한 모듈들에 의해 이용될 수 있는 사용자 선호도 세팅들(258). 사용자 선호도 세팅들(258)의 예들은 다음의 데이터 카테고리들을 포함(그러나 이들로 제한되지 않음)한다:
● 선호도 결정 모듈(226)에 의해 이용되는 사용자 미디어 프로그램 선호도 세팅들(260)(예를 들어, 공포 영화들);
● 추천될 다수의 미디어 프로그램 이벤트들과 같은 추천 선호도들(262);
● 팝 업(pop up), 이메일 또는 SMS 텍스트 메시징과 같은 선호되는 리마인더 양식(264);
● 선택적으로, 피드백 수신 모듈(232)에 의해 수신되는 사용자 응답 데이터(266);
● 검색 질의 결정 모듈(122)에 의해 생성되는 검색 질의(268);
Figure 112018072485717-pat00013
사용자 특정 미디어 프로그램 용어 가중 데이터(270);
Figure 112018072485717-pat00014
다음의 데이터를 포함(그러나 이들로 제한되지 않음)하는, 클라이언트(102)의 사용자에게 전송하기 위한 미디어 프로그램 이벤트 추천(114);
● 미디어 프로그램 이벤트 추천(272)의 캘린더 이벤트들;
● 가입 또는 구매 정보(274); 및
● 미디어 프로그램 리마인더 데이터(276);
Figure 112018072485717-pat00015
매칭 모듈(228)에 의해 결정된 생성된 검색 질의(262)와 연관되는 매칭 미디어 프로그램 이벤트들(278);
Figure 112018072485717-pat00016
선택적으로, 특정한 미디어 프로그램(280)의 구매 또는 가입 데이터를 포함(그러나 이들로 제한되지 않음)하는, 국부적으로 저장된 미디어 프로그램 이벤트 정보 데이터베이스(124);
o 다른 서버 데이터(282).
[0038] 일부 구현들에서, 사용자 미디어 프로그램 선호도 세팅들(260)은 사용자의 관심(interest) 가입을 포함한다. 서버 시스템(120)은 미디어 프로그램 이벤트들에 연관되는 사용자 관심 가입들을 수집, 유지 및 업데이트한다. 사용자는 키워드를 타이핑하거나 장르를 선택함으로써 자신의 프로그램 관심들을 제출할 수 있다. 사용자 관심 가입 데이터는 서버 시스템(120)이 보다 효율적인 검색을 수행하도록 그리고 보다 적절한 프로그램을 사용자에게 추천하도록 허용한다. 예를 들어, 사용자가 "레이디 가가"의 열광적인 팬인 경우, 그는 임의의 레이디 가가 관련 프로그램들 또는 이벤트들에 대한 "레이디 가가"라 불리는 관심 카테고리에 가입할 수 있다. 다른 예로서, 사용자는 "공상-과학 영화(sci-fi movie)"라 불리는 관심 카테고리에 가입할 수 있다. 아래에서 보다 상세히 설명되는 바와 같이, 서버 시스템(120)은, 사용자의 관심 가입과 매칭하는(사용자 미디어 프로그램 선호도 세팅들의 부분으로서) 새로 나올 프로그램들이 있다고 서버 시스템(120)이 결정할 때, 추천된 프로그램들을 사용자에게 통지한다.
[0039] 일부 구현들에서, 검색 질의 생성 모듈(122)은 국부적으로 또는 원격으로 저장될 수 있는 각각의 사용자의 웹 액티비티 데이터베이스(130)에 액세스하고 사용자 추천 요청(112)에 관련되는 적절한 사용자 액티비티들을 결정한다. 일부 구현들에서, 검색 질의 생성 모듈(122)은 검색 결과들을 개선하기 위해 검색 질의(262)에서 포함할 부가적인 용어들을 식별한다. 일부 구현들에서, 검색 질의 생성 모듈(122)은 부가적인 용어들을 식별하고 검색 질의(262)에 부가하도록 사용자 요청(112)에 포함되는 용어들에 기초하여 인터넷(예를 들어, 특정한 디폴트 웹사이트들에서) 상에서 온더 플라이(on the fly)로 검색을 수행한다.
[0040] 일부 구현들에서, 미디어 프로그램 이벤트 데이터베이스(124)가 원격으로 로케이팅될 때, 데이터베이스 액세스 모듈(224)은 또한 네트워크들 상에서 원격 데이터베이스 서버 또는 매니저와 통신하고 적절한 데이터를 리트리브하는 것을 담당한다.
[0041] 일부 구현들에서, 사용자 미디어 프로그램 선호도 세팅(264)은 소스들: 서버 상에 이미 저장된 사용자 선호도 세팅, 추천 요청(112) 또는 다른 사용자 응답 데이터(276)에 포함되는 현재의 사용자 선호도들, 또는 사용자 웹 액티비티 데이터베이스(들)(130)에 저장된 데이터에 기초하여 결정된 사용자 선호도 세팅의 결합으로부터 유도된다.
[0042] 일부 구현들에서, 가중 스코어들은 아래에서 보다 상세히 논의되는 바와 같이 선호도 결정 모듈(226)에 의해 결정된 검색 질의 용어들에 대한 가중 값에 기초하여 계산된다. 랭킹 모듈(230)은 이어서 미리 결정된 수의 탑 랭킹된 프로그램 이벤트들을 사용자 캘린더 통신 모듈(128)에 전송한다. 특정한 사용자 선호도 세팅(256)은 통상적으로 추천할 프로그램들의 수(예를 들어, 상위 5개, 상위 10개 등)를 포함한다.
[0043] 상기 식별된 모듈들, 애플리케이션들 또는 프로그램들 각각은 위에서 설명된 기능을 수행하기 위해 서버(120)의 하나 이상의 프로세서들에 의해 실행 가능한 명령들의 세트에 대응한다. 상기 식별된 모듈들, 애플리케이션들 또는 프로그램들(즉, 명령들의 세트)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없고, 이들 모듈들의 다양한 서브세트들이 다양한 실시예들에서 결합되거나, 또는 그와 달리 재배열될 수 있다. 일부 구현들에서, 메모리(206)는 선택적으로 상기 식별된 모듈 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(206)는 위에서 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장할 수 있다.
[0044] 도 3은 일부 구현들에 따른 클라이언트 시스템(102)을 도시한 블록도를 도시한다. 클라이언트 시스템(102)은 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(302), 하나 이상의 네트워크 인터페이스들(304), 메모리(308), 및 이들 컴포넌트들을 상호접속하기 위한 하나 이상의 통신 버스들(306)을 포함한다. 클라이언트 시스템(102)은 사용자 인터페이스(106)를 포함한다. 사용자 인터페이스(106)는 디스플레이 디바이스(108) 및 사용자 입력(109)을 포함한다. 사용자 인터페이스(109)는 선택적으로, 키보드, 마우스, 터치 감지형 디스플레이, 또는 다른 입력 버튼들(미도시)과 같은 입력 수단을 포함한다. 또한, 몇몇 클라이언트 시스템들은 키보드를 보완하거나 대체하기 위해 마이크로폰 및 음성 인식을 사용한다.
[0045] 메모리(308)는, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며; 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비-휘발성 고체 상태 저장 디바이스들과 같은 비-휘발성 메모리를 포함할 수도 있다. 메모리(308)는 선택적으로, CPU(들)(302)로부터 원격으로 로케이팅된 하나 이상의 저장 디바이스들을 포함한다. 메모리(308) 또는 대안적으로는 메모리(308) 내의 비-휘발성 메모리 디바이스(들)는 비-일시적인 컴퓨터 판독가능 저장 매체를 포함한다. 일부 구현들에서, 메모리(308) 또는 메모리(308)의 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트를 저장한다.
● 다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(310);
● 하나 이상의 통신 네트워크 인터페이스들(304)을 통해 (유선 또는 무선으로) 그리고, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시 영역 네트워크들 등과 같은 하나 이상의 통신 네트워크들을 통해 클라이언트 시스템(102)을 다른 컴퓨터들에 접속시키기 위해 사용되는 네트워크 통신 모듈(312);
● 운영 시스템(310) 및 클라이언트 애플리케이션들(104)에 의해 생성된 정보가 디스플레이(108) 상에 시각적으로 제시될 수 있게 하기 위한 디스플레이 모듈(314);
● 미디어 프로그램 추천 서버(120)로 추천 요청을 전송하고 그 서버로부터 수신하기 위한 브라우저 애플리케이션(316)을 포함하지만 이에 제한되지는 않는, 미디어 프로그램 추천 서버(120)와 상호작용하는 다양한 양상들을 처리하기 위한 하나 이상의 애플리케이션 모듈들(104);
● 클라이언트 미디어 프로그램 선호도 세팅(320), 클라이언트 캘린더 계정 정보(322), 클라이언트 웹 액티비티 데이터(324)를 포함하지만 이에 제한되지는 않는 클라이언트들에 관련된 데이터를 저장하기 위한 클라이언트 데이터 모듈(318);
[0046] 도 4 및 5는 각각, 미디어 프로그램 이벤트 정보를 저장하기 위한 미디어 프로그램 이벤트 정보 데이터베이스(130), 및 사용자 이력 용어들 및 웹 액티비티들을 저장하기 위한 사용자 웹 액티비티 데이터베이스의 개념적인 블록도를 포함한다. 다양한 구현들에서, 데이터베이스 내의 정보는 다수의 데이터 구조들, 또는 심지어 다수의 컴퓨터들에 저장될 수도 있으며, 도 4 및 5에 도시된 특정한 방식으로 조직화될 필요는 없을 수도 있다.
[0047] 도 4를 참조하면, 도 4는 일부 구현들에 따른, 미디어 프로그램 이벤트 정보(410)를 저장하기 위한 미디어 프로그램 이벤트 정보 데이터베이스(130)에 대한 예시적인 데이터 구조의 블록도를 도시한다. 데이터베이스 데이터 구조(130)는 복수의 미디어 프로그램 프로파일 레코드들(410-1 내지 410-N)을 포함하며, 이들 각각은 특정한 미디어 프로그램 이벤트에 대응한다. 일부 구현들에서, 각각의 미디어 프로그램 프로파일 레코드(410)는, 특정한 미디어 프로그램 이벤트를 식별하는 미디어 프로그램 ID(412), 프로그램의 타이틀(414), 대응하는 쇼 시간들의 세트(416)(시간들의 세트, 각각의 시간은 미디어 프로그램이 플레이되는 하나의 기간에 대응함), 미디어 프로그램 이벤트를 분류하기 위한 레이팅 리스트(418), 베뉴/플랫폼 정보(420), 미디어 프로그램의 콘텐츠를 요약하는 프로그램 설명(422), 캐스트 정보(424), 가입/구매 정보(426), 장르 정보(428), 및 미디어 프로그램과 연관된 다른 관련 용어들(430)을 비롯하여 미디어 프로그램 메타데이터를 포함한다.
[0048] 도 5는 일부 구현들에 따른, 사용자 이력 용어들 및 웹 액티비티(특히, 미디어 프로그램 관련된 것들)를 저장하기 위한 사용자 웹 액티비티 데이터베이스(130)에 대한 예시적인 데이터 구조의 블록도를 도시한다. 도시된 바와 같이, 데이터베이스 데이터 구조(130)는 복수의 사용자 웹 액티비티 레코드들(502-1 내지 520-N)을 포함하며, 이들 각각은 사용자에 대응한다. 일부 구현들에서, 각각의 사용자 웹 액티비티 레코드(502)는 데이터 엔트리들 중 적어도 2개의 카테고리들, 즉 사용자가 브라우저 또는 포털(예를 들어, 웹 브라우저, 유투브, 구글 검색)의 검색창에 입력하는 검색 문구들(504) 및 사용자가 이전에 시청했던 미디어 프로그램들(506)(또는 미디어 프로그램들의 예고편들)을 포함한다.
[0049] 일부 구현들에서, 미디어 프로그램 레코드(506)는, 프로그램 타이틀(512), 미디어 프로그램의 가장 최근의 시청의 날짜 및 시간, 사용자가 그 미디어 프로그램의 예고편을 시청했던 총 횟수들(516)을 포함한다. 일부 구현들에서, 미디어 프로그램(506)은 또한, 사용자가 프로그램을 검색했던 횟수들(미도시)을 포함한다. 일부 구현들에서, 미디어 프로그램(506)은 또한, 동일한 타이틀을 갖는 2개의 상이한 미디어 프로그램들이 사실상 2개의 상이한 미디어 프로그램(506) 엔트리들을 갖도록 프로그램 설명 엔트리, 미디어 타입(예를 들어, TV 또는 영화) 또는 다른 정보(미도시)를 포함한다.
[0050] 도 6a-6e는 일부 구현들에 따라, 미디어 프로그램 이벤트 추천을 검색하여 사용자의 지정된 캘린더에 전송하는 방법을 예시하는 흐름도들이다. 도 6a-6e에 도시된 동작들 각각은 컴퓨터 메모리 또는 컴퓨터 판독가능한 저장 매체에 저장된 명령들에 대응할 수 있다. 선택적 동작들은 (예를 들어, 점선 테두리들을 가지는 박스들)로 표시된다.
[0051] 일부 구현들에서, 서버 시스템(120)(도 1)은 클라이언트(102)로부터 미디어 프로그램 이벤트들에 대한 사용자의 추천 요청(112)을 수신한다(602). 전형적으로, 사용자 요청(112)은 사용자 미디어 프로그램 선호도 세팅(320) 전부는 아니더라도 일부를 포함한다. 추천 세팅(320)의 예들은 추천할 프로그램 이벤트의 수, 최대 또는 최소 프로그램 시간 및 추천될 프로그램들의 만료일을 포함하지만, 이들에 제한되는 것은 아니다. 일부 구현들에서, 서버 시스템(120)은, 아래의 단계(616) 및 단계(620)에 관하여 논의되는 바와 같이, 사용자 요청(112)을 수신한 이후, 추가 정보를 수신하기 위해 클라이언트(102)와 통신한다.
[0052] 일부 구현들에서, 서버 시스템(120)은 요청(112)을 수신하기 전에, 미디어 프로그램 이벤트들과 연관된 사용자의 웹 액티비티 데이터를 수집한다(604). 일부 구현들에서, 서버 시스템(120)은 인터넷에 대한 자신의 루틴 크롤링 동안 미디어 프로그램들에 관한 사용자의 웹 액티비티를 반영하는 데이터를 수집함으로써 사용자에 대한 웹 액티비티 데이터베이스(130)를 유지 및/또는 업데이트한다. 예를 들어, 사용자가 "Seinfeld"라 칭해지는 특정 TV 시트콤 시리즈에 관한 정보를 검색하면, 서버 시스템(120)은 우선, 데이터 엔트리가 그 사용자에 대해 웹 액티비티 데이터베이스(130)에 이미 존재하는지 여부를 결정할 수 있다. 만약 그렇지 않다면, 서버 시스템(120)은 우선, 그 사용자에 대한 엔트리(예를 들어, 도 5의 502 참조)를 생성한다. 그 사용자에 대해 존재하는 데이터 구조가 이미 존재한다면, 서버 시스템(120)은 단순히, 검색 윈도우에서 사용자가 입력하는 검색 문구(search phrase)에 대해 검색된 문구(504)라 칭해지는 엔트리를 부가한다. 검색된 문구(504)는 대응하는 값들 "Seinfeld," "TV" 및 "시트콤"에 의한 프로그램 타이틀, 미디어 타입 및 장르와 같은 메타데이터에 대한 엔트리들을 더 포함한다. 일부 구현들에서, 검색된 문구(504)는 또한, 사용자가 동일한 미디어 프로그램 및 사용자의 웹 액티비티에 관한 다른 데이터를 검색한 횟수를 레코딩한다.
[0053] 일부 구현들에서, 사용자의 수집된 웹 액티비티 데이터는 사용자가 이전에 시청하였던 미디어 프로그램들(또는 쇼의 예고편)(도 2b의 256, 도 5의 506)을 포함하며, 이는 프로그램 타이틀(512), 마지막으로 시청한 시간(514) 및 사용자가 프로그램에 대한 정보를 검색한 횟수(516)와 같은 특정 미디어 프로그램에 대한 정보 및 그 프로그램에 관한 사용자의 행동 둘 모두를 더 포함한다. 위의 예에서, 사용자가 그 후 "Seinfeld"의 파일럿을 시청하였으면, 서버 시스템(120)은 웹 액티비티 데이터베이스(130) 내의 동일한 사용자에 대해 시청된 미디어 프로그램 엔트리(506)를 "Seinfeld"인 프로그램의 서브엔트리의 타이틀(512)의 값과 함께 부가한다.
[0054] 일부 구현들에서, 서버 시스템(120)은 다른 서버들에 의해 생성되어 관리되는 사용자 웹 액티비티 데이터베이스들에 액세스한다. 이러한 경우들에서, 사용자 요청(112)을 수신한 이후, 서버 시스템(120)은 사용자 요청(112)에 포함되는 사용자 식별 정보를 데이터베이스들의 서버들에 제공함으로써, 사용자에 대한 관련 사용자 웹 액티비티 데이터(502)를 리트리브할 수 있다.
[0055] 사용자 요청(112)을 수신한 이후, 서버 시스템(120)은 다음으로, 수신된 사용자 요청(112)에 따라 검색 질의(262)를 생성한다(608). 일부 구현들에서, 생성된 검색 질의는 단지, 사용자 캘린더들을 식별하는 정보와 같은 비-프로그램-식별 정보를 제거한 후, 사용자 요청(112)으로부터 추출된 용어들을 포함한다. 이것은 전형적으로, 자연 언어 프로세싱을 통해 행해진다. 질의를 생성하기 위해 많은 텍스트 상에서 자연 언어 프로세싱을 수행하면서, 서버(도 1, 120)는 "하나(a)" 또는 "그(the)"와 같은 모든 기록에 걸쳐 빈번하게 나타나는 관심이 없는 단어들을 무시한다. 대신에, 질의 서버 시스템(도 1, 120)은, 관심 있는 엔티티들로 또한 알려져 있는, 사람들, 장소들 및 물건들을 식별하는 단어들과 같은 더 중요한 단어에 포커싱한다. 검색 공간을 관심 있는 엔티티들로 제한함으로써, 개별 질의를 생성하는데 필요한 시간, 및 질의들이 데이터베이스에 저장되는 경우 데이터 검색에 필요한 시간은 감소될 수 있다. 예를 들어, 사용자 요청(112)이 "나의 구글 캘린더에 대해 다음 2주 동안 3개의 TV 시트콤 프로그램들을 추천해주세요"이라면, 검색 질의는 "TV" 및 "시트콤"이라는 용어들을 포함한다. 또 다른 예로서, 사용자 요청(112)이 "이 달 동안 Bruce Willis의 5개의 액션 영화들을 나의 아웃룩 캘린더에서 리마인드해주세요"이라면, 검색 질의는 "액션", "영화" 및 "Bruce Willis"라는 용어들을 포함할 것이다.
[0056] 일부 구현들에서, 서버 시스템(120)이 사용자 웹 액티비티 데이터에 액세스할 때, 서버 시스템(120)은 사용자 요청(112)뿐만 아니라 사용자 웹 액티비티 데이터(256)를 고려하여 검색 질의를 생성한다(610). 전형적으로, 서버 시스템(120)은 우선, 각각의 사용자에 대한 사용자 웹 액티비티 데이터에 기초하여 사용자 요청(112)에 관한 하나 이상의 용어들을 식별한다(612). 그 다음, 서버 시스템(120)은, 사용자 요청으로부터의 적어도 하나의 용어 및 수신된 사용자 요청(112)과 관련된 각각의 사용자의 웹 액티비티 데이터로부터 서버 시스템(120)에 의해 식별된 용어들 중 적어도 하나를 포함하는 검색 질의(262)를 구축한다(614). 위의 TV 시트콤 추천 예에 대한 동일한 사용자 요청을 이용하여, 그 사용자에 대한 검색 문구(504) 중 하나가 "TV 시트콤" 및 "Seinfeld" 둘 모두를 포함한다면, "Seinfeld"가 현재 사용자 요청(112)에 존재하지 않을지라도, 서버 시스템(120)은 구성되는 검색 질의(262)에 용어로서 "Seinfeld"를 부가할 것이다.
[0057] 일부 구현들에서, 검색 질의를 생성하면서, 서버 시스템(120)은 추천할 미디어 프로그램 이벤트들의 수 및 추천된 미디어 프로그램 이벤트들이 스케줄링되는 시간 윈도우를 포함하는 사용자의 추천 선호도들을 식별하는 정보를 사용자로부터 수신한다(616). 일부 다른 구현들에서, 검색 질의의 생성을 시작하기 이전, 서버 시스템(120)은 사용자 요청(112)을 수신한 다음의 것으로서 추천 선호도들을 식별하는 정보를 수신한다(미도시).
[0058] 검색 질의가 생성된 이후, 서버 시스템(120)은 하나 이상의 미디어 프로그램 이벤트들을 포함하는 프로그램 추천을 생성하기 위해, 하나 이상의 미디어 프로그램 데이터베이스들(130)에 대해 검색 질의(262)를 실행하며, 상기 데이터베이스들 중 적어도 하나는 스케줄링된 미디어 프로그램 이벤트들로 구성된다(618, 도 6a 및 도 6b). 본원에서 이용되는 바와 같이, "스케줄링된 미디어 프로그램 이벤트들"은 추후 스케줄링되는 쇼 시간들을 갖는 미디어 프로그램들을 지칭한다.
[0059] 일부 구현들에서, 미디어 프로그램 데이터베이스들(130)은 제삼자 제공자(third party provider)들로부터 라이센싱된다. 통상적으로, 라이센싱된 또는 구매된 미디어 프로그램 데이터베이스들(130)의 데이터는, 프로그램 타이틀, 스케줄링된 프리젠테이션 시간(들), 및 그것이 예를 들어, TV 상에서, 또는 영화 극장들에서, 또는 가입 웹사이트에서 플레이하는 장소(venue)/플랫폼을 포함한다. 그러나, 일반적으로, 구매된 프로그램 리스팅은, 사용자들에게 적절한 추천을 하기 위해 필요한 프로그램의 설명 및 배우들의 이름들과 같은 모든 중요한 정보를 제공하지 않는다. 이러한 경우들에서, 서버 시스템(120)은 구매된 프로그램 리스팅에 포함된 매칭 타이틀 및 다른 프로그램 정보를 이용하여 인터넷을 크롤링(crawling)함으로써, 누락 정보(missing information)를 보충한다.
[0060] 일부 구현들에서, 서버 시스템(120)은, 웹 액티비티를 고려하여 하나 이상의 미디어 프로그램 이벤트 추천들을 생성하기 위해 미디어 프로그램 이벤트들을 랭킹한다(624). 서버 시스템(120)이 이용할 수 있는 많은 상이한 랭킹 방법들이 존재한다. 단순한 예로서, 서버 시스템(120)은 일부 구현들에 따라 상이한 장르들의, 사용자의 유투브 시청의 빈도에 기초하여 미디어 프로그램 이벤트들을 랭킹한다. 다음 2주 동안 이용가능한 영화들을 추천하는 것에 대한 사용자 요청(112)을 서버 시스템이 수신하고, 사용자가 유투브 영화 예고편들 상에서 코미디를 가장 자주 시청하고, 액션 영화들이 바로 뒤따르고, 액션 영화들 다음에 차례로 다른 장르들이 뒤따른다는 것을 사용자 웹 액티비티 데이터가 보여주는 경우, 서버 시스템(120)은 먼저, 다음 2주 동안 지역 극장들에서 이용가능한 모든 영화들을 식별하고, 그 다음으로 이러한 영화들을 코미디, 액션 및 나머지 장르들의 순서로 랭킹할 것이다.
[0061] 일부 구현들에서, 서버 시스템(120)은 먼저, 검색 질의(262)의 적어도 일부분에 매칭되는 미디어 프로그램 이벤트들을 선택함으로써, 스케줄링된 미디어 프로그램 이벤트들의 하나 이상의 데이터베이스들에서 미디어 프로그램 이벤트들의 세트를 식별한다(626). 예를 들어, 사용자 요청(112)에서의 용어 "코미디"가 미디어 프로그램 이벤트 데이터베이스(130)의 프로그램(410-1)의 엔트리에서 발견되고, 프로그램(410-1)이 미래에 쇼 시간(show time)(416)을 갖는 경우, 프로그램(410-1)이, 식별된 세트에 부가된다.
[0062] 그 다음으로, 서버 시스템(120)은 미디어 프로그램 선호도 세팅에 따라, 식별된 미디어 프로그램 이벤트들의 세트를 랭킹한다(628). 미디어 프로그램 선호도 세팅은, 다음의 카테고리들 모두 또는 카테고리들의 서브세트에 대한 파라미터들의 세트이다: 미디어의 타입, 장르, 타이틀, 작가, 배역, 최신 미디어 프로그램, 미디어 프로그램의 빈도, 및 미국 영화 협회 레이팅들과 같은 MPAA 프로그램 레이팅들(630). 미디어의 타입의 몇몇 예들은, TV 프로그램들, 극장에서 상영된 영화들, 인터넷 스트리밍 또는 라이브 콘서트이다. 본 명세서에서 이용되는 바와 같이, 용어 "최신 미디어 프로그램"은, 사용자가 그러한 미디어 프로그램에 관하여 검색한 또는 시청한 마지막 시간과 같은 상대적 타이밍 정보를 나타내고, 그러한 프로그램을 시청하는데 있어서의 사용자의 관심의 양호한 표시자이다.
[0063] 일부 구현들에서, 선호도 세팅의 각각의 파라미터는, 특정 사용자에 대한 값들의 세트를 갖는다. 식별된 세트의 각각의 프로그램에 있어서, 서버 시스템(120)은 선호도 세팅의 각각의 파라미터의 값에 기초하여 총 스코어를 계산한다. 그 다음으로, 서버 시스템(112)은, 스코어들에 기초하여, 단계(626)에서 식별된 모든 후보 프로그램들을 랭킹하고, 스코어가 높을수록 더 많이 관련된 프로그램이 사용자의 요청에 응답된다. 예를 들어, 선호도 세팅은 다음의 미리 결정된 값들을 갖는 3개의 파라미터들을 갖는다: 장르는 5의 가능한 값들(코미디에 대해 5, 액션 영화들 또는 TV들에 대해 4, 음악 공연들에 대해 3, 스포츠 이벤트들에 대해 2, 그리고 나머지 프로그램 장르들에 대해 1)을 가짐; 미디어의 타입은 5개의 가능한 값들(인터넷 스트리밍을 통한 프로그램들에 대해 4, 극장들에서의 영화들에 대해 3, TV 프로그램들에 대해 2, 공연 홀(performance hall)들에 대해 1, 나머지에 대해 0)을 가짐; 및 빈도 파라미터는 단순하게, 사용자가 특정 프로그램을 검색한 또는 시청한 횟수들을 값으로서 취함. 따라서, 인터넷 상에서 구매 가능하고, 사용자가 이전에 인터넷 상에서 5회 검색한, 식별된 세트의 코미디 영화는 14의 스코어를 가질 것인 반면; TV 상에서 이용가능하고, 사용자가 이전에 인터넷 상에서 한번도 검색하지 않은, 식별된 세트의 액션 영화는 6의 총 스코어를 갖는다. 따라서, 14의 스코어를 갖는 코미디 영화가 6의 스코어를 갖는 액션 TV보다 더 높이 랭킹된다.
[0064] 일부 구현들에서, 미디어 프로그램 선호도 세팅의 파라미터들 중 몇몇은 사용자 특정되지 않는다. 이러한 포괄적 선호도 파라미터들은 통상적으로, 라이브 사이드-바이-사이드 실험(live side-by-side experiment)들에 기초하여 미리 결정된다. 예를 들어, 특정 파라미터의 값을 미세 조정하기 위해, 사용자들의 2개의 그룹들이 선택된다. 각각의 그룹에는 프로그램 추천의 2개의 상이한 세트들 중 하나가 제시된다. 추천 결과들의 각각의 세트는, 조정되는 상이한 값의 파라미터에 기초하지만, 파라미터들의 나머지는 동일하게 유지된다. 더 많이 수신된 추천 세트에 대응하는 파라미터 값이 유지된다. 선호도 파라미터 값의 이러한 미세 조정은 일반적으로, 많은 횟수의 실험들을 거친다.
[0065] 검색 질의의 적어도 일부분에 매칭되는 각각의 미디어 프로그램을 갖는 미디어 프로그램 이벤트 세트가 랭킹되면, 서버 시스템은 미디어 프로그램 이벤트들의 랭킹들에 따라, 식별된 미디어 프로그램 이벤트 세트로부터 하나 이상의 미디어 프로그램 추천들을 생성한다(632). 예를 들어, 사용자가 사용자 요청(112)에서 5개의 프로그램 이벤트들을 추천해주길 요청한 경우, 서버 시스템(120)은 상위 5개의 미디어 프로그램 이벤트들로 이루어진 추천을 생성한다.
[0066] 도 6a로 돌아가서, 일부 구현예들에서, 서버 시스템(120)은, 사용자로부터 사용자 요청(112)의 일부로서, 하나 이상의 사용자-지정된 캘린더 프로그램들을 위한 사용자 계정 정보를 포함하는, 사용자를 식별하는 정보를 수신한다. 일부 다른 구현예들에서, 서버 시스템(120)은, 하나 이상의 사용자-지정된 캘린더 프로그램들을 위한 사용자 계정 정보를 포함하는, 사용자를 식별하는 정보를, 서버 시스템(112)이 데이터베이스들에 대해 검색 질의를 실행하는 것을 완료한 이후에, 사용자로부터 수신한다(620).
[0067] 일부 구현예들에서, 그 다음에, 서버 시스템(120)은, 상기 단계(618)에서 생성된 미디어 프로그램 이벤트 추천에 대응하는 캘린더 이벤트를 사용자 상호작용 없이 자동적으로 하나 이상의 사용자-지정된 캘린더 프로그램들에 전송한다. 각각의 캘린더 이벤트는 각각의 미디어 프로그램 이벤트의 각각의 날짜, 시간, 및 지속 기간을 포함한다(622). 일부 구현예들에서, 서버 시스템(112)은, 추천된 미디어 프로그램 이벤트들을 지정된 캘린더들 상에 어떻게 나타낼 지를 결정하기 위해서, 사용자 지정된 캘린더들의 캘린더 서버에 캘린더 이벤트를 남겨둔다. 일부 구현예들에서, 서버 시스템(120)은 사용자 요청에서 식별된 하나 이상의 사용자-지정된 캘린더들에, 미디어 프로그램 추천에 대응하는 하나 이상의 캘린더 이벤트들을 직접 부가한다(도 6c)(634).
[0068] 도 6d는 일부 구현예들에 따라, 추천에서의 각각의 미디어 프로그램에 대해 사용자를 대신하여 가입하거나 페이 퍼 뷰를 설정(setting up)하는 서버 시스템(120)의 흐름(636)을 도시한다. 서버 시스템(120)은 우선, 미디어 프로그램 이벤트 데이터베이스(들)의 정보에 기초하여 추천에서의 각각의 미디어 프로그램 이벤트의 가입 또는 페이 퍼 뷰 정보를 식별한다(638). 일부 구현예들에서, 서버 시스템은, 가입 또는 페이 퍼 뷰 정보를 식별하기 위해서, 로컬(즉, 단지 인터넷뿐만 아니라) 이벤트들을 포함해서, 하나 이상의 데이터베이스들로부터 분리된 부가적인 소스들에서 가입 또는 페이 퍼 뷰 정보를 검색한다(640). 예를 들어, 오는 일요일에 로컬 극장에서 상영될 추천된 영화에 대한 페이 퍼 뷰 정보는 티켓 가격 및 이용 가능한 지불 방법들(예를 들어, 신용 카드 번호를 이용하는 온라인)을 포함한다. 다른 예로서, 추천된 프로그램은, 멤버쉽을 요구하는 웹사이트에서 특정 시간 동안 시청될 수 있다. 그러면, 가입 정보는 가입 웹사이트 URL 및 멤버쉽 요금이 필요한 지를 포함한다.
[0069] 가입 또는 페이 퍼 뷰 정보를 획득하면, 그 다음에, 서버 시스템(120)은 그러한 정보를 클라이언트 디바이스를 통해서 사용자에게 송신한다(642).
[0070] 일부 구현예들에서, 서버 시스템(120)은 사용자로부터, 각각의 미디어 프로그램 이벤트 추천에 대한 구매 요청을 수신한다(644). 구매 요청에 응답하여, 서버 시스템(120)은, 사용자 구매 요청에 따라 스케줄링된 시간에 미디어 프로그램 이벤트를 제공하는 서비스에 가입하거나 비용을 지불한다(646).
[0071] 도 6e는, 서버 시스템(120)이, 미디어 프로그램 추천에 대응하는 미디어 프로그램 이벤트들에 대한 하나 이상의 리마인더들(reminders)을 생성하는 것을 도시한다. 일부 구현예들에서, 하나 이상의 리마인더들의 양상은, 이메일, 텍스트 메시징, 음성 메일, 캘린더 팝-업, 푸시 통지, IM 채팅 메시지 및 소셜 네트워크들로의 포스팅(post)으로 구성된 그룹으로부터의 적어도 하나의 형태를 포함한다(648).
[0072] 도 7은 일부 구현예들에 따른, 서버 시스템(120)과 클라이언트(102) 사이의 통신을 도시한다. 전형적으로, 클라이언트(102)는 미디어 프로그램 이벤트 추천에 대한 사용자 요청(112)을 서버 시스템(120)에 전송한다(702). 일부 구현예들에서, 사용자 요청(112)은 사용자가 원하는 미디어 프로그램들의 유형뿐만 아니라, 프로그램들의 수, 프로그램들의 지속 기간 및 서버 시스템(120)이 추천된 프로그램 이벤트들을 전송할 수 있는 사용자 캘린더 계정들과 같은, 추천 선호도들을 포함한다. 서버 시스템(120)은 클라이언트 디바이스로부터 사용자 추천 요청을 수신하고(704) 그런 다음에 사용자 요청과 연관된 검색 질의를 생성한다(706). 그 다음에, 서버 시스템(120)은 생성된 검색 질의를 하나 이상의 미디어 프로그램 이벤트 데이터베이스들에 대해서 실행하여 미디어 프로그램 이벤트 추천을 생성한다(708).
[0073] 그런 다음에, 서버 시스템(120)은 추천 이벤트들을 사용자 지정된 캘린더 프로그램들에 전송한다(710). 일부 구현예들에서, 클라이언트(102)는, 사용자 요청(112)에 응답하여 서버 시스템(120)으로부터 직접 추천을 수신한다(712). 일부 다른 구현예들에서, 클라이언트(102)는 사용자 지정된 캘린더들의 서버를 통하여 추천 통지를 수신한다(미도시).
[0074] 일부 구현예들에서, 클라이언트(102)는 수신된 추천에 응답하여, 사용자 피드백을 서버 시스템(120)에 전송한다(714). 예를 들어, 사용자는 추천된 이벤트들 중 하나를 좋아하지 않고, 이를 전달하는 메시지를 서버(120)에 전송한다. 서버 시스템(120)은 추천에 대한 사용자 응답을 수신하고(716), 그에 따라, 사용자 웹 액티비티 데이터베이스(130) 및 사용자 선호도 세팅(258)을 갱신한다.
[0075] 일부 구현예들에서, 추천된 프로그램 이벤트들 중 하나 이상은 추가적인 사용자 동작을 요구한다. 예를 들어, 추천된 프로그램 이벤트는 오는 일요일에 시작하는 극장에서 상영될 영화이다. 다른 예로서, 추천된 프로그램 이벤트는, 멤버쉽을 요구하는 웹사이트에서 특정 시간 동안 시청할 수 있는 프로그램이다. 지불 또는 가입이 필요한 것으로 결정되면, 서버 시스템(120)은 부가적인 정보(예를 들어, 티켓 가격, 신용 카드를 사용하여 티켓을 구매할 수 있는 웹 사이트, 또는 가입 웹사이트 URL)를 클라이언트(102)를 통해서 사용자에게 송신한다(718). 클라이언트 디바이스(102)는 서버 시스템(120)으로부터 지불 또는 가입 관련된 정보를 수신하고(720), 그리고 그 정보를 사용자에게 제시한다(미도시). 그러면, 사용자는 추천된 프로그램에 가입하거나 구매할 지에 관하여서, 클라이언트(102)를 통해 명령을 전송한다(724). 사용자 명령이 긍정적이라면, 서버 시스템(120)은 사용자를 대신하여, 추천된 프로그램에 가입하거나 비용을 지불한다(722).
[0076] 일부 구현들에서, 서버 시스템(120)은, 이벤트들을 캘린더들(726)에 부가하는 것 이외에, 추천 미디어 프로그램 이벤트들에 대한 리마인더들을 사용자의 지정 캘린더들에 또한 부가한다. 예를 들어, 서버 시스템(120)은, 사용자 지정 캘린더의 서버와 통신하여, 추천 영화의 최초의 날짜, 또는 서버 시스템(120)이 사용자를 위해 구입한 티켓에 대한 영화의 날짜에 이틀 앞서 이메일 리마인더를 부가할 수도 있다.
[0077] 설명의 목적을 위한 전술한 설명은 특정 구현들을 참조하여 설명되었다. 그러나, 상기 예시적인 논의들은, 총망라하는 것 또는 본 발명을 기재된 정확한 형태들로 제한하는 것으로 의도되지 않는다. 상기 교시들의 관점에서 많은 변형들 및 변화들이 가능하다. 구현들은, 본 발명 및 본 발명의 실용적 적용들의 원리들을 최상으로 설명하기 위해 선택 및 설명되었고, 따라서, 당업자들이, 고려되는 특정한 이용에 적합한 다양한 변형들로 본 발명 및 다양한 구현들을 최상으로 활용하게 한다.
[0078] 본 명세서에서 이용되는 용어는 단지 특정한 구현들을 설명하기 위한 목적이고, 청구항들의 제한으로 의도되지 않는다. 구현들의 설명 및 첨부된 청구항들에서 이용되는 바와 같이, 단수형 형태들은, 문맥에서 명시적으로 달리 표시하지 않으면 복수형 형태들을 또한 포함하는 것으로 의도된다. 본 명세서에서 이용되는 용어 "및/또는"은 연관된 나열된 항목들 중 하나 이상의 임의의 그리고 모든 가능한 조합들을 지칭하고 포함함이 또한 이해될 것이다. 본 명세서에서 사용되는 경우, 용어들 "포함하다" 및/또는 "포함하는"은, 언급된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그들의 그룹들의 존재 또는 부가를 배제하지 않음이 추가로 이해될 것이다.
[0079] 본 명세서에서 이용되는 경우, 용어 "만약(if)"은, 맥락에 따라, 언급된 선행 조건이 참(true)인 "경우(when)" 또는 "때(upon)" 또는 "결정에 대한 응답으로" 또는 "결정에 따라" 또는 "검출에 대한 응답으로"를 의미하도록 해석될 수도 있다. 유사하게, 어구 "[언급된 선행 조건이 참인 것이] 결정되면" 또는 "만약 [언급된 선행 조건이 참]이면" 또는 "[언급된 선행 조건이 참인] 경우"는, 맥락에 따라, 언급된 선행 조건이 참인 "것으로 결정한 때" 또는 "것을 결정하는 것에 대한 응답으로" 또는 "결정에 따라" 또는 "것을 검출할 때" 또는 "것을 검출하는 것에 대한 응답으로"를 의미하도록 해석될 수 있다.
[0080] 미디어 프로그램들을 검색 및/또는 미디어 프로그램들에 가입하고, 추천 프로그램이 시작하기 이전에 사용자에게 통지하기 위한 방법들 및 시스템들이 위에 설명되었다. 특정한 구현들에 대한 참조들이 상세히 이루어졌으며, 그 예들은 첨부된 도면에 도시된다. 본 발명이 구현들과 함께 설명되지만, 구현들은, 본 발명을 오직 이들 특정한 구현들로 제한하는 것으로 의도되지 않음이 이해될 것이다. 일부 구현들이 이들 특정한 세부사항들 없이 실시될 수도 있음이 당업자에게 명백할 것이다. 당업자들에게 잘-알려진 다른 예시들, 방법들, 절차들, 컴포넌트들, 및 네트워크들은, 본 문헌에 설명된 구현들의 양상들을 불명료하게 하는 것을 회피하기 위해 상세히 설명되지 않는다.

Claims (20)

  1. 개인 맞춤형 미디어 프로그램 추천들을 위한 방법으로서,
    하나 또는 그 초과의 프로세서들 및 상기 하나 또는 그 초과의 프로세서들에 의한 실행을 위한 프로그램들을 저장하는 메모리를 갖는 서버 시스템에서:
    사용자와 연관된 클라이언트 디바이스로부터, 미디어 프로그램 이벤트 추천을 위한 사용자 요청을 수신하는 단계;
    상기 사용자 요청을 수신하기 전에, 미디어 프로그램 이벤트들과 연관된 상기 사용자의 검색 이력 데이터를 수집하고 저장하는 단계;
    상기 사용자 요청에 따라 검색 질의를 생성하는 단계 ― 상기 검색 질의는 상기 사용자 요청의 적어도 일부 및 상기 사용자의 검색 이력 데이터에 기초하는 용어들 중의 적어도 하나의 용어를 포함함 ―;
    제 1 세트의 추후(future) 미디어 이벤트들에 대한 하나 또는 그 초과의 미디어 프로그램 이벤트 추천들을 생성하기 위해 검색 이력 데이터베이스 및 추후 미디어 이벤트들의 스케줄링된 미디어 프로그램 이벤트 데이터베이스를 포함하는 복수의 데이터베이스들에 대해 상기 검색 질의를 실행하는 단계;
    상기 사용자의 선호도 세팅 및 상기 사용자의 상기 검색 이력 데이터를 참작하여 상기 생성된 미디어 프로그램 이벤트 추천들을 랭킹(rank)하는 단계 ― 상기 선호도 세팅은 복수의 파라미터들을 포함하고 그리고 상기 파라미터들 각각은 파라미터에 대한 사용자 선호도를 표시하는 값들의 세트를 세트를 포함함 ―; 및
    사용자 상호작용 없이, 상기 랭킹에 따라 각각의 미디어 프로그램 이벤트 추천에 대응하는 캘린더 이벤트를, 상기 사용자와 연관된 캘린더에, 자동적으로 추가하는 단계를 포함하고,
    상기 캘린더 이벤트는 각각의 날짜, 시간 및 지속시간을 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  2. 제 1 항에 있어서,
    검색 이력 데이터를 수집하고 저장하는 것은 미디어 프로그램 이벤트들과 연관된 상기 사용자의 웹 액티비티 데이터를 수집하고 저장하는 것을 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  3. 제 2 항에 있어서,
    제 2 서버 시스템에 액세스하는 것을 통해 상기 웹 액티비티 데이터를 수집하는 단계를 더 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  4. 제 1 항에 있어서,
    이전에 수신된 추천에 관한 피드백을 상기 사용자로부터 수신하는 단계; 및
    상기 검색 질의를 생성할 때 상기 피드백을 포함시키는 단계를 더 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  5. 제 1 항에 있어서,
    상기 사용자 요청은, 시간 기간, 쇼 타이틀, 쇼 설명, 캐스트(cast) 식별, 및 장르 중 하나 또는 그 초과의 것들의 조합을 포함하고, 그리고 상기 복수의 파라미터들 중 제 1 파라미터는 장르에 대응하고 그리고 상기 제 1 파라미터와 연관된 값들의 세트 각각은 각각의 장르 타입에 대응하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  6. 제 1 항에 있어서,
    상기 미디어 프로그램 추천에 대응하는 미디어 프로그램 이벤트들에 대한 하나 또는 그 초과의 리마인더(reminder)들을 생성하는 단계를 더 포함하고,
    상기 하나 또는 그 초과의 리마인더들의 양식은 이메일, 텍스트 메시징, 음성 메일, 캘린더 팝-업, 푸시 통지(push notification), IM 채팅 메시지 및 소셜 네트워크들로의 포스트(post)로 구성된 그룹 중 적어도 하나를 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  7. 제 1 항에 있어서,
    상기 복수의 데이터베이스들에 대해 상기 검색 질의를 실행하는 단계는:
    상기 복수의 데이터베이스들 내의 미디어 프로그램 이벤트들의 세트를 식별하는 단계 ― 상기 세트 내의 미디어 프로그램 이벤트는 상기 검색 질의의 적어도 일부에 매칭됨 ―;
    미디어 프로그램 선호도 세팅에 따라 상기 미디어 프로그램 이벤트들의 세트 내의 미디어 프로그램 이벤트들을 랭킹하는 단계; 및
    상기 미디어 프로그램 이벤트들의 랭킹에 따라 상기 미디어 프로그램 이벤트들의 세트로부터 하나 또는 그 초과의 미디어 프로그램 추천들을 생성하는 단계를 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  8. 제 1 항에 있어서,
    각각의 미디어 프로그램 이벤트 추천의 가입(substiption) 또는 페이 퍼 뷰(pay per view) 정보를 식별하는 단계; 및
    상기 클라이언트 디바이스를 통해 상기 사용자에 상기 가입 또는 페이 퍼 뷰 정보를 송신하는 단계를 더 포함하는, 개인 맞춤형 미디어 프로그램 추천들을 위한 방법.
  9. 서버 시스템으로서,
    하나 또는 그 초과의 프로세서들; 및
    상기 하나 또는 그 초과의 프로세서들에 의한 실행을 위한 하나 또는 그 초과의 프로그램들을 저장하는 메모리를 포함하고,
    상기 하나 또는 그 초과의 프로그램들은:
    사용자와 연관된 클라이언트 디바이스로부터, 미디어 프로그램 이벤트 추천을 위한 사용자 요청을 수신하고;
    상기 사용자 요청을 수신하기 전에, 미디어 프로그램 이벤트들과 연관된 상기 사용자의 검색 이력 데이터를 수집하고 저장하고;
    상기 사용자 요청에 따라 검색 질의를 생성하고 ― 상기 검색 질의는 상기 사용자 요청의 적어도 일부 및 상기 사용자의 검색 이력 데이터에 기초하는 용어들 중의 적어도 하나의 용어를 포함함 ―;
    제 1 세트의 추후 미디어 이벤트들에 대한 하나 또는 그 초과의 미디어 프로그램 이벤트 추천들을 생성하기 위해 검색 이력 데이터베이스 및 추후 미디어 이벤트들의 스케줄링된 미디어 프로그램 이벤트 데이터베이스를 포함하는 복수의 데이터베이스들에 대해 상기 검색 질의를 실행하고;
    상기 사용자의 선호도 세팅 및 상기 사용자의 상기 검색 이력 데이터를 참작하여 상기 생성된 미디어 프로그램 이벤트 추천들을 랭킹하고 ― 상기 선호도 세팅은 복수의 파라미터들을 포함하고 그리고 상기 파라미터들 각각은 파라미터에 대한 사용자 선호도를 표시하는 값들의 세트를 세트를 포함함 ―; 그리고
    사용자 상호작용 없이, 상기 랭킹에 따라 각각의 미디어 프로그램 이벤트 추천에 대응하는 캘린더 이벤트를, 상기 사용자와 연관된 캘린더에, 자동적으로 추가하기 위한
    명령들을 포함하고,
    상기 캘린더 이벤트는 각각의 날짜, 시간 및 지속시간을 포함하는, 서버 시스템.
  10. 제 9 항에 있어서,
    상기 스케줄링된 미디어 프로그램 이벤트 데이터베이스는 복수의 미디어 프로그램 프로파일 레코드(profile record)들을 포함하고, 상기 미디어 프로그램 프로파일 레코드들 각각은 특정 미디어 프로그램 이벤트에 대응하는, 서버 시스템.
  11. 제 10 항에 있어서,
    상기 복수의 미디어 프로그램 프로파일 레코드들에서의 미디어 프로그램 프로파일 레코드들 각각은 미디어 프로그램 메타데이터를 포함하는, 서버 시스템.
  12. 제 11 항에 있어서,
    상기 미디어 프로그램 메타데이터는, 프로그램의 식별, 상기 프로그램의 타이틀, 상기 프로그램의 대응하는 시간, 상기 프로그램의 콘텐츠를 요약(outline)하는 설명, 및 캐스트 정보 중 하나 또는 그 초과의 것들을 포함하는, 서버 시스템.
  13. 제 9 항에 있어서,
    상기 복수의 데이터베이스들을 유지하기 위한 명령들을 더 포함하는, 서버 시스템.
  14. 제 9 항에 있어서,
    상기 복수의 데이터베이스들은 스케줄링된 미디어 프로그램 이벤트 데이터베이스를 더 포함하고, 그리고
    상기 미디어 프로그램 이벤트 데이터베이스는 제삼자 제공자(third party provider)로부터 라이센싱되는, 서버 시스템.
  15. 제 9 항에 있어서,
    상기 사용자와 연관된 하나 또는 그 초과의 선호도들을 획득하고 그리고 저장하기 위한 명령들을 더 포함하고,
    상기 하나 또는 그 초과의 선호도들은 상기 사용자와 연관된 하나 또는 그 초과의 선호(favorite) 배우들 및 다수의 미디어 프로그램 이벤트 추천들을 포함하는, 서버 시스템.
  16. 제 9 항에 있어서,
    미디어 프로그램 선호도 세팅을 위한 파라미터들의 세트를 식별하고;
    상기 파라미터들의 세트 내의 각각의 파라미터에 대한 값들의 세트를 결정하고; 그리고
    상기 선호도 세팅에서의 각각의 파라미터의 값에 기초하여 총 스코어를 계산하기 위한
    명령들을 더 포함하는, 서버 시스템.
  17. 제 16 항에 있어서,
    상기 랭킹하는 것은 상기 계산된 총 스코어를 참작하는 것을 더 포함하는, 서버 시스템.
  18. 서버의 하나 또는 그 초과의 프로세서들에 의한 실행을 위한 하나 또는 그 초과의 프로그램들을 저장하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 하나 또는 그 초과의 프로그램들은:
    사용자와 연관된 클라이언트 디바이스로부터, 미디어 프로그램 이벤트 추천을 위한 사용자 요청을 수신하고;
    상기 사용자 요청을 수신하기 전에, 미디어 프로그램 이벤트들과 연관된 상기 사용자의 검색 이력 데이터를 수집하고 저장하고;
    상기 사용자 요청에 따라 검색 질의를 생성하고 ― 상기 검색 질의는 상기 사용자 요청의 적어도 일부 및 상기 사용자의 검색 이력 데이터에 기초하는 용어들 중의 적어도 하나의 용어를 포함함 ―;
    제 1 세트의 추후 미디어 이벤트들에 대한 하나 또는 그 초과의 미디어 프로그램 이벤트 추천들을 생성하기 위해 검색 이력 데이터베이스 및 추후 미디어 이벤트들의 스케줄링된 미디어 프로그램 이벤트 데이터베이스를 포함하는 복수의 데이터베이스들에 대해 상기 검색 질의를 실행하고;
    상기 사용자의 선호도 세팅 및 상기 사용자의 상기 검색 이력 데이터를 참작하여 상기 생성된 미디어 프로그램 이벤트 추천들을 랭킹하고 ― 상기 선호도 세팅은 복수의 파라미터들을 포함하고 그리고 상기 파라미터들 각각은 파라미터에 대한 사용자 선호도를 표시하는 값들의 세트를 세트를 포함함 ―; 그리고
    사용자 상호작용 없이, 상기 랭킹에 따라 각각의 미디어 프로그램 이벤트 추천에 대응하는 캘린더 이벤트를, 상기 사용자와 연관된 캘린더에, 자동적으로 추가하기 위한
    명령들을 포함하고,
    상기 캘린더 이벤트는 각각의 날짜, 시간 및 지속시간을 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  19. 제 18 항에 있어서,
    상기 검색 질의를 생성하기 전에 비-프로그램-식별 정보를 제거하기 위한 명령들을 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제 18 항에 있어서,
    상기 사용자 요청을 수신하기 전에 상기 사용자의 하나 또는 그 초과의 관심(interest) 가입들을 획득하고 그리고 저장하기 위한 명령들을 더 포함하고, 그리고
    상기 검색 질의를 실행하는 것은 상기 사용자의 상기 하나 또는 그 초과의 관심 가입들에 대해 상기 검색 질의를 실행하는 것을 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020187021207A 2012-09-27 2013-09-27 미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법 KR102010499B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/629,167 2012-09-27
US13/629,167 US9817826B2 (en) 2012-09-27 2012-09-27 System and method for recommending media programs and notifying a user before programs start
PCT/US2013/062360 WO2014052865A1 (en) 2012-09-27 2013-09-27 System and method for recommending media programs and notifying a user before programs start

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020157010992A Division KR101883367B1 (ko) 2012-09-27 2013-09-27 미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180088488A KR20180088488A (ko) 2018-08-03
KR102010499B1 true KR102010499B1 (ko) 2019-08-13

Family

ID=49326879

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157010992A KR101883367B1 (ko) 2012-09-27 2013-09-27 미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법
KR1020187021207A KR102010499B1 (ko) 2012-09-27 2013-09-27 미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020157010992A KR101883367B1 (ko) 2012-09-27 2013-09-27 미디어 프로그램들을 추천하고 프로그램들 시작 전에 사용자에게 통지하기 위한 시스템 및 방법

Country Status (5)

Country Link
US (2) US9817826B2 (ko)
EP (1) EP2901317A1 (ko)
KR (2) KR101883367B1 (ko)
CN (2) CN104995620B (ko)
WO (1) WO2014052865A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817826B2 (en) * 2012-09-27 2017-11-14 Google Inc. System and method for recommending media programs and notifying a user before programs start
US9948998B1 (en) 2012-11-01 2018-04-17 Google Llc Providing content related to a selected channel for presentation to a user via a client device
US20140129505A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Social event recommendation system
US9390456B2 (en) * 2012-12-26 2016-07-12 Google Inc. Summary view of a profile
US9244977B2 (en) 2012-12-31 2016-01-26 Google Inc. Using content identification as context for search
US9955231B2 (en) * 2013-03-14 2018-04-24 DISH Technologies L.L.C. Relevant video content pushed to a mobile phone
US20150019642A1 (en) * 2013-07-11 2015-01-15 Papaya Mobile, Inc. Calendar-event recommendation system
US20160012453A1 (en) 2014-07-11 2016-01-14 Shamim A. Naqvi System and Method for Inferring the Intent of a User While Receiving Signals On a Mobile Communication Device From a Broadcasting Device
US9986299B2 (en) 2014-09-22 2018-05-29 DISH Technologies L.L.C. Scheduled programming recommendation system
US9467733B2 (en) 2014-11-14 2016-10-11 Echostar Technologies L.L.C. Intuitive timer
US9503791B2 (en) 2015-01-15 2016-11-22 Echostar Technologies L.L.C. Home screen intelligent viewing
KR101634773B1 (ko) * 2015-01-22 2016-06-29 주식회사 데이투라이프 캘린더를 이용한 스케쥴 관리시스템 및 스케쥴 관리방법
US10271103B2 (en) * 2015-02-11 2019-04-23 Hulu, LLC Relevance table aggregation in a database system for providing video recommendations
CN105868955A (zh) * 2015-11-19 2016-08-17 乐视体育文化产业发展(北京)有限公司 日历中统计事件的方法及装置
US20170150231A1 (en) * 2015-11-19 2017-05-25 Echostar Technologies Llc Media content delivery selection
CN105868232A (zh) * 2015-12-01 2016-08-17 乐视体育文化产业发展(北京)有限公司 日历中关注事件的方法、装置及系统
CN105893442A (zh) * 2015-12-15 2016-08-24 乐视网信息技术(北京)股份有限公司 信息推送方法及设备
US10021051B2 (en) * 2016-01-01 2018-07-10 Google Llc Methods and apparatus for determining non-textual reply content for inclusion in a reply to an electronic communication
CN105760061B (zh) * 2016-02-05 2019-01-22 腾讯科技(深圳)有限公司 信息交互方法及装置
CN105916026A (zh) * 2016-04-18 2016-08-31 乐视控股(北京)有限公司 关注行为的处理方法及装置
CN105872805A (zh) * 2016-04-19 2016-08-17 乐视控股(北京)有限公司 提醒播放直播节目的方法以及移动终端
US9924217B1 (en) 2016-11-22 2018-03-20 Echostar Technologies L.L.C. Home screen recommendations determination
US10659910B2 (en) * 2016-12-30 2020-05-19 Spotify Ab System and method for providing access to media content associated with events, using a digital media content environment
US11159856B2 (en) 2017-07-10 2021-10-26 Sony Interactive Entertainment LLC Non-linear content presentation and experience
US10728622B2 (en) 2017-08-25 2020-07-28 Sony Interactive Entertainment LLC Management of non-linear content presentation and experience
US10212479B1 (en) * 2017-12-12 2019-02-19 Hulu, LLC Live programming event query generation for recording and notification in a video delivery system
CN108595492B (zh) * 2018-03-15 2020-12-29 腾讯科技(深圳)有限公司 内容的推送方法和装置、存储介质、电子装置
CN108737636B (zh) * 2018-03-30 2021-01-08 北京奇艺世纪科技有限公司 一种消息提醒的方法、装置和电子设备
CN109511015B (zh) * 2018-08-10 2021-12-14 腾讯科技(深圳)有限公司 多媒体资源推荐方法、装置、存储介质及设备
CN109120964B (zh) * 2018-09-30 2021-02-02 武汉斗鱼网络科技有限公司 视频集合的消息推送方法、装置、计算机设备及存储介质
US11896909B2 (en) * 2018-12-14 2024-02-13 Sony Interactive Entertainment LLC Experience-based peer recommendations
US11178464B2 (en) 2018-12-14 2021-11-16 Roku, Inc. Audio search results in a multi-content source environment
CN111352949B (zh) * 2018-12-21 2024-04-02 北京金山云网络技术有限公司 一种信息显示方法及装置
CN112417259B (zh) * 2019-08-20 2023-07-14 腾讯科技(深圳)有限公司 媒体资源的处理方法、装置、设备及存储介质
CN110674338B (zh) * 2019-09-27 2022-11-01 百度在线网络技术(北京)有限公司 语音技能推荐方法、装置、设备及存储介质
KR20220155443A (ko) * 2020-03-13 2022-11-23 구글 엘엘씨 지식-기반 미디어 컨텐츠 추천들 및 통합형 사용자 인터페이스들을 갖는 네트워크-연결된 텔레비전 디바이스들
JP7208244B2 (ja) 2020-03-13 2023-01-18 グーグル エルエルシー ネットワーク接続されたテレビ装置におけるメディアコンテンツのキャスティング
CN111711828B (zh) * 2020-05-18 2022-04-05 北京字节跳动网络技术有限公司 一种信息处理方法、装置和电子设备
KR102467616B1 (ko) * 2020-09-16 2022-11-15 최종호 기관 리포지토리와 연계된 개인기록 통합 관리 서비스 제공 시스템
CN112423079A (zh) * 2020-10-30 2021-02-26 深圳Tcl新技术有限公司 节目提醒方法、装置、终端与计算机可读存储介质
CN112256972A (zh) * 2020-10-30 2021-01-22 北京达佳互联信息技术有限公司 直播间的信息推荐方法、装置、电子设备及存储介质
WO2022119345A1 (en) 2020-12-03 2022-06-09 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CN112637685B (zh) * 2020-12-11 2024-01-30 上海连尚网络科技有限公司 视频的处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126600A1 (en) 2001-12-27 2003-07-03 Koninklijke Philips Electronics N.V. Smart suggestions for upcoming TV programs
WO2003088655A1 (en) 2002-04-05 2003-10-23 Matsushita Electric Industrial Co., Ltd. Handheld device that integrates personal information management with audio/video control
US20080010253A1 (en) 2006-07-06 2008-01-10 Aol Llc Temporal Search Query Personalization
US20090055385A1 (en) 2007-08-24 2009-02-26 Google Inc. Media-Based Recommendations
US20110225015A1 (en) 2010-03-12 2011-09-15 Nova Spivack Interactive calendar of scheduled web-based events

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007294B1 (en) * 2000-10-30 2006-02-28 Koninklijke Philips Electronics N.V. Method and apparatus for automatic generation of query search terms for a program recommender
US7475416B2 (en) * 2001-06-13 2009-01-06 Microsoft Corporation System and methods for searching interactive broadcast data
US9477666B2 (en) * 2007-01-29 2016-10-25 Home Box Office, Inc. Method and system for providing “what's next” data
JP2009043156A (ja) * 2007-08-10 2009-02-26 Toshiba Corp 番組検索装置および番組検索方法
US20110161242A1 (en) * 2009-12-28 2011-06-30 Rovi Technologies Corporation Systems and methods for searching and browsing media in an interactive media guidance application
US9367615B2 (en) * 2010-03-12 2016-06-14 Aol Inc. Systems and methods for organizing and displaying electronic media content
US20110283232A1 (en) * 2010-05-14 2011-11-17 Rovi Technologies Corporation User interface for public and personal content browsing and selection in a content system
CN102685602A (zh) * 2011-03-08 2012-09-19 国基电子(上海)有限公司 自动产生推荐信息的电视装置及方法
US8984559B2 (en) * 2012-06-11 2015-03-17 Google Inc. Personalized auto-generated electronic programming guide for content delivery platforms
US9384472B2 (en) * 2012-09-07 2016-07-05 Time.ly Network Inc. Methods and systems for a web-based calendar application
US9817826B2 (en) * 2012-09-27 2017-11-14 Google Inc. System and method for recommending media programs and notifying a user before programs start

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126600A1 (en) 2001-12-27 2003-07-03 Koninklijke Philips Electronics N.V. Smart suggestions for upcoming TV programs
WO2003088655A1 (en) 2002-04-05 2003-10-23 Matsushita Electric Industrial Co., Ltd. Handheld device that integrates personal information management with audio/video control
US20080010253A1 (en) 2006-07-06 2008-01-10 Aol Llc Temporal Search Query Personalization
US20090055385A1 (en) 2007-08-24 2009-02-26 Google Inc. Media-Based Recommendations
US20110225015A1 (en) 2010-03-12 2011-09-15 Nova Spivack Interactive calendar of scheduled web-based events

Also Published As

Publication number Publication date
EP2901317A1 (en) 2015-08-05
CN104995620A (zh) 2015-10-21
CN104995620B (zh) 2018-05-08
KR20150063494A (ko) 2015-06-09
KR20180088488A (ko) 2018-08-03
US10402437B2 (en) 2019-09-03
US20140089953A1 (en) 2014-03-27
CN108650533A (zh) 2018-10-12
US9817826B2 (en) 2017-11-14
WO2014052865A1 (en) 2014-04-03
CN108650533B (zh) 2021-01-15
US20180046624A1 (en) 2018-02-15
KR101883367B1 (ko) 2018-07-30

Similar Documents

Publication Publication Date Title
US10402437B2 (en) System and method for recommending media programs and notifying a user before programs start
US11934372B2 (en) Systems and methods for updating a knowledge graph through user input
EP3209023B1 (en) Systems and methods for detecting inconsistent user actions and providing feedback
US9361373B1 (en) Content aggregation and presentation
CN106164895B (zh) 用于呈现对媒体内容的建议的方法、系统和介质
US20150172787A1 (en) Customized movie trailers
US20180032622A1 (en) Displaying a Summary of Media Content Items
US20150370864A1 (en) Displaying Information Related to Spoken Dialogue in Content Playing on a Device
CN112579825B (zh) 显示与设备上播放的内容有关的信息
US20240184765A1 (en) Systems and methods for updating a knowledge graph through user input

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant