KR100585539B1 - 최신의 클라이언트 요구 피드백에 기초한 호기적 브로드캐스트 스케쥴 생성 방법과 장치, 머신 판독 가능한 매체 및 시스템 - Google Patents

최신의 클라이언트 요구 피드백에 기초한 호기적 브로드캐스트 스케쥴 생성 방법과 장치, 머신 판독 가능한 매체 및 시스템 Download PDF

Info

Publication number
KR100585539B1
KR100585539B1 KR1020037016423A KR20037016423A KR100585539B1 KR 100585539 B1 KR100585539 B1 KR 100585539B1 KR 1020037016423 A KR1020037016423 A KR 1020037016423A KR 20037016423 A KR20037016423 A KR 20037016423A KR 100585539 B1 KR100585539 B1 KR 100585539B1
Authority
KR
South Korea
Prior art keywords
content
broadcast
client
piece
data
Prior art date
Application number
KR1020037016423A
Other languages
English (en)
Other versions
KR20040007725A (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 KR20040007725A publication Critical patent/KR20040007725A/ko
Application granted granted Critical
Publication of KR100585539B1 publication Critical patent/KR100585539B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/61Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/66Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for using the result on distributors' side
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/06Arrangements for scheduling broadcast services or broadcast-related services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • H04H60/33Arrangements for monitoring the users' behaviour or opinions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • 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/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • 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/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/454Content or additional data filtering, e.g. blocking advertisements
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4756End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for rating content, e.g. scoring a recommended movie
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • 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/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Abstract

분산 브로드캐스트 클라이언트 집합으로부터 가장 최신의 클라이언트 요구 피드백에 기초하는 최적의 브로드캐스트 스케쥴을 연속 및 호기적으로(opportunistically) 유도하는 브로드캐스트 방법 및 시스템이 개시된다. 브로드캐스트 시스템은 메타 데이터를 다수의 클라이언트 시스템에 브로드캐스트하는 동작 센터를 포함한다. 메타 데이터는 서버에 의한 다음 브로드캐스트를 위해 고려되는 다수의 콘텐츠 조각을 기술한다. 각 클라이언트는 동작 센터로부터 브로드캐스트된 메타 데이터를 수신하고, 클라이언트 요구 피드백 데이터 집합을 그것에 하향 전송하는데, 사용자 피드백 데이터는 적어도 그 콘텐츠 조각부에 대한 클라이언트 관심 수준을 반영한다. 전형적으로, 레이팅 및/또는 상대적인 랭킹을 포함할 수 있는 피드백 데이터는 사용자 생성, 자동 생성 또는 이 둘의 조합일 수 있다. 이어서, 시스템은 클라이언트 요구 피드백 데이터의 집합에 따라 브로드캐스트될 가장 호기의 콘텐츠 조각을 판별한다.

Description

최신의 클라이언트 요구 피드백에 기초한 호기적 브로드캐스트 스케쥴 생성 방법과 장치, 머신 판독 가능한 매체 및 시스템{METHOD AND APPARATUS FOR DETERMINING BROADCAST SCHEDULE BASED ON MOST RECENT CLIENT DEMAND FEEDBACK}
본 발명은 일반적으로 브로드캐스트 시스템(broadcast system)에 관한 것이고, 보다 구체적으로, 본 발명은 브로드캐스트 영역 전체에 분포된 다양한 클라이언트에 의해 제공되는 요구 피드백 데이터(demand feedback data)에 기초한 다수의 콘텐츠 조각들 중에서 가장 호기적인(opportunistic) 콘텐츠 조각을 연속적으로 스케쥴링하고 브로드캐스트하는 것에 관한 것이다.
전형적으로, 브로드캐스트 시스템은 안테나, 위성 또는 컴퓨터 서버 시스템과 같은 브로드캐스트 소스로부터 다수의 브로드캐스트 소비자에게 단방향으로 데이터를 전송하며, 이들 소비자는 통상적으로 텔레비전 수신기, 케이블 박스, 셋톱 박스(set-top boxes) 또는 클라이언트 컴퓨터를 사용하여 그 브로드캐스트 데이터를 수신한다. 본 명세서에서 사용되는 목적을 위해서, 브로드캐스트 소스는 "서버 시스템" 또는 "브로드캐스트 서버"라고 지칭되고, 브로드캐스트 소비자(즉, 사용자)는 "클라이언트 시스템"을 통해 콘텐츠를 수신하는 "클라이언트"라고 지칭된다. 일반적으로, 클라이언트 시스템의 사용자는 서버 시스템으로부터 브로캐스트되어 수신되는 신호를 사용한다. 예컨대, 라이브 이벤트(live event)에 대응하는 브로드캐스트 신호는 거의 실시간으로 수신된다. 사전 녹화된 텔레비전 쇼 및 영화와 같은 다른 유형의 브로드캐스트 콘텐츠에 대해서도 마찬가지이다. 라이브 이벤트와 달리, 사전 녹화된 쇼 및 영화에 대응하는 데이터는 브로드캐스트 시스템 내의 소정의 장소에 미리 저장된다.
현재, 클라이언트 실사용자(end user)에게 콘텐츠가 제공되는 공용 콘텐츠 전달 브로드캐스트 방법은 동일한 데이터를 연속적으로 및/또는 시차 간격을 두어(at staggered intervals) 브로드캐스트하는 서버 시스템을 포함한다. 따라서, 사용자가 영화 또는 텔레비전 쇼와 같은 특정 콘텐츠 조각(piece of content)을 사용하기를 원하는 경우, 그 사용자는 브로드캐스트가 발생할 때 반복되는 브로드캐스트 콘텐츠 중 하나에 튠 인(tune-in)한다. 이 패러다임의 일례는 현재 케이블 또는 위성 텔레비전 제공자로부터 이용 가능한 "페이 퍼 뷰 방식(pay per view)"의 영화를 들 수 있다. 예를 들면, 통상적으로, 케이블 텔레비전 제공자는 시차 간격을 두어 다수의 채널 상에서 동일한 영화를 반복적으로 브로드캐스트한다. 특정 영화를 시청하기 원하는 사용자는 희망하는 영화가 브로드캐스트되는 복수의 시간 중 어느 한 시간의 시작 시에 그 희망하는 영화가 브로드캐스트되는 채널들 중 하나에 간단히 튠인한다. 동일 데이터 또는 프로그램의 연속적이고 반복적인 브로드캐스트는 브로드캐스트 대역폭의 사용을 매우 비효율적이게 한다. 이와 달리, 다수의 채널 상에서 동일한 데이터를 반복적으로 브로드캐스트하는 데 사용되는 대역폭은 다른 데이터를 브로드캐스트하는 데 사용될 수 있다.
브로드캐스트 시스템에서 콘텐츠를 제공하는 다른 패러다임은 사용자가 특정 데이터 파일을 기록하고 그 후에 "사용자 주문형(on demand)" 데이터 파일을 액세스하는 것을 포함한다. 위에서 논의한 텔레비전 브로드캐스트 설명을 계속하면, 이 패러다임의 예는 사용자가 자신의 카세트 레코더(cassette recorder, VCR)를 설정하여 희망하는 텔레비전 프로그램을 녹화하는 것이다. 나중에, 사용자가 "사용자 주문형" 텔레비전 프로그램을 시청하려면, 그 사용자는 자신의 VCR로부터 이전에 녹화된 프로그램을 간단히 재생한다. 최근에는, 보다 향상된 디지털 비디오 레코더가 이용 가능하게 되어, 전형적인 VCR에 의해 사용되는 비디오 카세트 테이프 대신에 내부 하드 드라이브 상에 텔레비전 브로드캐스트를 기록한다. 그러나, 디지털 비디오 레코더의 사용은 내부 하드 드라이브에 어느 브로드캐스트가 기록될지의 여부를 결정하기 위한 기준(예를 들면, 날짜나 시각)을 명확하게 설정하기 위하여 다시 사용자의 입력이 요구된다는 점에서 일반적인 VCR과 유사하다.
오늘날의 브로드캐스트 시스템이 갖는 또 다른 제한은 클라이언트 시스템의 대부분의 사용자가 브로드캐스터에게 프로그래밍에 관한 피드백을 제공하기가 곤란하다는 것이다. 예컨대, 위에서 논의된 텔레비전 브로드캐스트 설명을 계속하면, 현재의 브로드캐스터들 중 대다수는 네일슨 레이팅(Neilson ratings)에 의존하여 브로드캐스트 프로그래밍 및/또는 스케쥴링을 결정한다. 일반적으로, 네일슨 레이팅은 모집단의 소규모 샘플링에만 기초하고, 통상적으로, 시청률(share)(쇼가 브로드캐스트되는 시점에서 모든 텔레비전 쇼에 대해 주어진 텔레비전 쇼를 시청하는 사용자의 추정된 백분율) 및 시청자(주어진 쇼의 적어도 일부를 시청하는 사람 수의 추정 수)만을 측정한다. 결과적으로, 대부분의 텔레비전 시청자는 브로드캐스트 스케쥴 및/또는 콘텐츠에 대해 비교적 적은 영향을 끼치거나 아무런 영향을 끼치지 않는다.
본 발명은 예를 들어 설명되며, 첨부한 도면으로 한정되는 것은 아니다.
본 발명의 일 측면에서는, 클라이언트 피드백 정보에 따라 브로드캐스트 시스템을 통해 콘텐츠를 제공하는 시그널링 방법 및 장치가 개시된다. 본 발명의 또 다른 측면에서는, 다음(upcoming) 브로드캐스트 윈도우가 나타나는 동안 브로드캐스트되기 위해 고려되는 다양한 콘텐츠 조각으로부터 콘텐츠를 레이팅(rating)하고 랭킹하기 위한 방법 및 장치가 개시된다. 본 발명의 또 다른 측면에서, 브로드캐스트 작업 센터의 브로드캐스트 콘텐츠 및/또는 스케쥴을 동적으로 결정하는 장치 및 방법이 개시된다. 다음 설명에서, 본 발명의 완전한 이해를 돕기 위해 다양한 특정 세부사항이 설명되어 있다. 그러나, 본 발명을 실시하는 데 이 특정 세부사항들을 이용할 필요가 없다는 것이 당업자들에게 명백할 것이다. 다른 경우에서는, 잘 알려져 있는 재료나 방법이 본 발명의 요지를 흐리는 것을 방지하기 위해 상세히 설명되지 않았다.
도 1a는 브로드캐스트 서버가 다양한 데이터를 다수의 클라이언트 시스템에 브로드캐스트하는 본 발명의 교시에 따른 브로드캐스트 시스템의 일 실시예를 도시하는 개략 블록도,
도 1b는 상향 채널(back channel) 통신 링크가 클라이언트 시스템으로 하여금 데이터를 브로드캐스트 서버로 상향 전송하게 하는 본 발명의 교시에 따른 브로드캐스트 시스템의 다른 실시예를 도시하는 개략 블록도,
도 1c는 브로드캐스트 서버 및 다양한 클라이언트 시스템이 컴퓨터 네트워크를 통해 통신하게 하는 본 발명의 교시에 따른 브로드캐스트 시스템의 또 다른 실시예를 도시하는 개략 블록도,
도 2는 본 발명의 교시에 따른 클라이언트 시스템 또는 서버를 나타내는 컴퓨터 시스템의 일 실시예의 개략 블록도,
도 3은 본 발명의 교시에 따른 메타 데이터(meta-data) 및 데이터 파일을 브로드캐스트 및 프로세싱할 때 브로드캐스트 서버 및 클라이언트 시스템 내에서의 이벤트 흐름의 일 실시예를 도시하는 순서도,
도 4a는, 메타 데이터 및 콘텐츠가 위성 네트워크를 통해 다수의 클라이언트 시스템에 브로드캐스트되고, 클라이언트 요구 피드백 데이터가 클라이언트 시스템으로부터 원격통신 링크를 통해 상향 전송되는 본 발명의 제 1 브로드캐스트 시스템 구현을 도시하는 개략도,
도 4b는, 메타 데이터 및 콘텐츠가 다수의 클라이언트 시스템에 브로드캐스트되고, 클라이언트 요구 피드백 데이터가 클라이언트 시스템으로부터 양방향 케이블 네트워크를 통해 상향 전송되는 본 발명의 제 2 브로드캐스트 시스템 구현을 도시하는 개략도,
도 4c는, 메타 데이터 및 콘텐츠가 다수의 클라이언트 시스템에 브로드캐스트되고, 클라이언트 요구 피드백 데이터가 클라이언트 시스템으로부터 컴퓨터 네트워크를 통해 상향 전송되는 본 발명의 제 2 브로드캐스트 시스템 구현을 도시하는 개략도,
도 5는 서버로부터 브로드캐스트되는 메타 데이터를 프로세싱하여 메타 데이터 테이블 및 콘텐츠 레이팅 테이블(content rating table)을 유지할 때의 클라이언트 시스템에서의 이벤트 흐름의 일 실시예를 도시하는 순서도,
도 6은 본 발명의 교시에 따라 서버에 의해 브로드캐스트되는 기술용 메타 데이터의 일 실시예를 도시하는 도면,
도 7은 본 발명의 교시에 따라 클라이언트에 의해 업데이트되고 유지되는 메타 데이터 테이블의 일례를 도시하는 도면,
도 8은 본 발명에 교시에 따라 클라이언트에 의해 업데이트되고 유지되는 콘텐츠 레이팅 테이블의 일 실시예를 도시하는 도면,
도 9는 본 발명의 교시에 따라 사용자에 의해 분류되는 데이터 파일의 일 실시예를 도시하는 다이어그램,
도 10은 본 발명의 교시에 따라 사용자 분류에 응답하여 업데이트되는 메타 데이터 테이블의 일 실시예를 도시하는 다이어그램,
도 11은 본 발명의 교시에 따라 사용자 액세스 후에 업데이트되는 메타 데이터 테이블의 일 실시예를 도시하는 다이어그램,
도 12는 본 발명의 교시에 따라 사용자 액세스 후에 업데이트되는 콘텐츠 레이팅 테이블의 일 실시예를 도시하는 다이어그램,
도 13은 본 발명의 교시에 따라 다른 사용자 액세스 후에 업데이트되는 메타 데이터 테이블의 다른 실시예를 도시하는 다이어그램,
도 14는, 클라이언트 시스템의 사용자가 레이팅 및 랭킹 데이터를 입력하게 하고, 레이팅 탭(rating tab)과의 사용자 상호작용이 도시되는 사용자 인터페이스를 나타내는 도면,
도 15a는 랭킹 데이터의 수치 입력 및 콘텐츠 식별자의 드래그 앤드 드롭(drag and drop)을 지원하는 랭킹 탭을 통해 사용자가 상대적인 랭킹 정보를 입력하게 하여 상대적인 랭킹을 다시 정하는(reorder) 도 14의 사용자 인터페이스를 나타내는 도면,
도 15b는 도 15a의 콘텐츠 조각에 대응하는 콘텐츠 식별자를 드래그 앤드 드롭하는 효과를 도시하는 도 14의 사용자 인터페이스를 나타내는 도면,
도 15c는 업데이트 랭크 버튼을 활성화함으로써 상대적인 랭킹이 어떻게 업데이트될 수 있는지 도시하는 도 14의 사용자 인터페이스를 나타내는 도면,
도 16은 다양한 클라이언트 시스템이 지형 및 브로드캐스트 네트워크에 따라 어떻게 분할될 수 있는지를 도시하는 개략도,
도 17은 클라이언트 시스템으로부터 수신할 때의 클라이언트 요구 피드백 데이터 및 데이터베이스 내로 입력된 후의 동일한 데이터의 집합 구성을 도시하는 개략도,
도 18은 브로드캐스트 스케쥴 큐에 대응하는 순서 목록(orderd list)을 형성하는 데 사용되는 질의 프로세스를 도시하는 개략도,
도 19는 종래의 가변 레이트 데이터 스트림을 브로드캐스트 방법을 도시하는 개략도,
도 20은 본 발명의 교시에 따라 종래의 가변 레이트 데이터 스트림 브로드케스트에서 미사용된 대역폭을 전부 이용하기 위해 데이터의 널 패킷(null packet) 삽입의 사용을 도시하는 개략도,
도 21은 본 발명의 교시에 따라 배치(batch) 프로세싱 실시예 동안 콘텐츠 조각이 어떻게 선택되는지를 도시하는 블록도,
도 22는 배치 콘텐츠 선택 프로세스의 일 실시예를 수행할 때 본 발명에 의해 사용되는 로직을 도시하는 순서도,
도 23은 주어진 콘텐츠 배치(batch)용으로 남아 있는 공간보다 그 크기가 크기 때문에 콘텐츠 조각이 스킵(skip)되는 예를 설명하는 개략도.
도 1a는 본 발명의 교시에 따른 브로드캐스트 시스템의 일 실시예의 도시이다. 도시된 실시예에 도시되는 바와 같이, 브로드캐스트 서버(103)는 정보를 다수의 클라이언트 시스템(105, 107, 109)에 브로드캐스트하도록 구성된다. 도 1a에 도시되는 실시예에서, 클라이언트 시스템(105)은 브로드캐스트 서버(103)로부터의 브로드캐스트를 브로드캐스트 안테나(111)로부터의 브로드캐스트 링크(115)를 통해 수신한다. 이와 유사하게, 클라이언트 시스템(107)은 브로드캐스트 서버(103)로부터의 브로드캐스트를 브로드캐스트 링크(117)를 통해 수신하고, 클라이언트 시스템(109)은 브로드캐스트 서버(103)로부터의 브로드캐스트를 브로드캐스트 안테나(111)로부터 브로드캐스트 링크(119)를 통해 수신한다. 일 실시예에서, 브로드캐스트 링크(115, 117, 119)는 예컨대, 대기를 통해 브로드캐스트되는 알려져 있는 진폭 변조(AM) 또는 주파수 변조(FM) 무선 신호, 텔레비전(TV) 신호, 디지털 비디오 브로드캐스트(DVB) 신호 등과 같은 포맷인 브로드캐스트 안테나로부터의 단방향 무선 주파수(RF) 링크이지만, 이와 같이 국한될 필요는 없다.
일 실시예에서, 브로드캐스트 서버(103)는 다수의 데이터 파일을 브로드캐스트하도록 구성되는데, 이들 데이터 파일은 클라이언트 시스템(105, 107, 109)에 의해 수신될 수 있다. 일 실시예에서, 데이터 파일은 예컨대, 비디오, 오디오, 그래픽, 텍스트, 멀티미디어 등을 포함하는 임의의 다수의 상이한 유형의 파일 조합일 수 있다. 본 명세서에서 본 발명의 설명을 돕기 위해 제공되는 많은 실시예는 서버에 의해 브로드캐스트될 데이터 파일이 예컨대 움직이는 화상 및 사운드를 갖는 영화와 같은 오디오/비디오 파일이라 가정하며, 이는 본 명세서에서 "콘텐츠 조각"이라고 지칭된다. 그러나, 본 발명의 교시에 따른 데이터 파일 브로드캐스트는 오디오/비디오 파일에만 국한되지 않는다.
도 1a에 도시되는 실시예에 도시되는 바와 같이, 브로드캐스트 링크(115, 117, 119)는 브로드캐스트 서버(103)와 클라이언트 시스템(105, 107, 109) 간에 한 방향 즉 단방향 통신 링크를 포함한다. 그러나, 또 다른 실시예에서, 각 클라이언트 시스템(105, 107, 109)과 브로드캐스트 서버(103) 간에 각각의 제 2 통신 링크도 있을 수 있다. 특히, 도 1b는 정보를 브로드캐스트 서버(103)로 상향 전송하기 위해, 각 클라이언트 시스템(105, 107, 109)과 브로드캐스트 서버(103) 간에 "상향 채널" 또는 통신 링크가 추가된 도 1a의 브로드캐스트 시스템의 도면이다. 특히, 도 1b에 도시되는 실시예는 클라이언트 시스템(105, 107, 109)에 의해 사용되어 브로드캐스트 서버(103)로 정보를 상향 전송할 수 있는 각각의 통신 링크(121, 123, 125)를 도시한다. 통신 링크(121, 123, 125)가 도 1b에 클라이언트 시스템(105, 107, 109)과 브로드캐스트 서버(103) 간 직접 링크로서 도시되어 있으나, 클라이언트 시스템(105, 107, 109)은 예컨대 브로드캐스트 무선 신호, 네트워크 통신 등과 같은 간접 링크를 통해 브로드캐스트 서버(103)에 정보를 전달할 수 있다.
도 1c는 본 발명의 교시에 따른 브로드캐스트 시스템의 또 다른 실시예를 나타낸다. 도시되는 바와 같이, 브로드캐스트 서버(103)는 정보를 브로드캐스트하기 위해 네트워크(113)를 통해 다수의 클라이언트 시스템(105, 107, 109)과 결합된다. 일 실시예에서, 네트워크(113)는 인터넷, 광대역 네트워크(WAN), 근거리 네트워크(LAN), 인트라넷 등과 같이, 다수의 상이한 장치가 통신할 수 있는 임의의 유형의 통신 네트워크일 수도 있다.
도 1c에 도시되는 실시예에서, 클라이언트 시스템(105)은 브로드캐스트 서버(103)로부터 브로드캐스트된 정보를 브로드캐스트 링크(115)를 통해 수신하도록 결합된다. 이와 유사하게, 클라이언트 시스템(107)은 브로드캐스트 서버(103) 로부터 브로드캐스트된 정보를 브로드캐스트 링크(117)를 통해 수신하도록 결합되고, 클라이언트 시스템(109)은 브로드캐스트 서버(103)로부터 브로드캐스트된 정보를 브로드캐스트 링크(119)를 통해 수신하도록 결합된다. 도 1c에 도시되는 실시예에서, 브로드캐스트 링크(115, 117, 119)는 네트워크(113)로부터 클라이언트 시스템(105, 107, 109)으로의 양방향 링크로서 나타나 있고, 이들 링크는 클라이언트 시스템(105, 107, 109)이 브로드캐스트 서버(103)에 정보를 전송할 수 있다.
도 2는 본 발명의 교시에 따른 브로드캐스트 서버(103) 또는 클라이언트 시스템(103, 105, 107)으로 사용될 수 있는 머신(301)의 일 실시예를 도시하는 블록도이다. 일반적으로, 클라이언트 시스템(103, 105, 107)은 셋톱 박스(102), 데스크탑 컴퓨터 또는 워크스테이션(104) 및 랩탑 컴퓨터(106)를 포함하는 다양한 유형의 머신을 사용할 수 있다. 일반적으로, 서버(103)로 사용되는 머신은 컴퓨터 서버(108) 등 다수의 클라이언트에 데이터를 브로드캐스트하도록 설계되는 형태의 서버를 포함할 것이다. 일 실시예에서, 머신(301)은 버스(307)에 결합되는 프로세서(303)를 포함하는 컴퓨터 또는 셋톱 박스이다. 일 실시예에서, 메모리(305), 저장소(311), 디스플레이 제어기(309), 통신 인터페이스(313), 입/출력 제어기(315) 및 오디오 제어기(327) 역시 버스(307)에 결합된다.
일 실시예에서, 머신(301)은 통신 인터페이스(313)를 통해 외부 시스템을 인터페이스한다. 통신 인터페이스(313)는 AM, FM, TV, 디지털 TV, DVB, 무선 전화 신호 등과 호환성이 있는 무선 송수신기 트랜시버를 포함할 수 있다. 통신 인터페이스(313)는 또한 아날로드 모뎀, ISDN 모뎀, 케이블 모뎀, DSL 모뎀, T-1 라인 인터페이스, T-3 라인 인터페이스, 광학 반송 인터페이스(optical carrier interface)(예를 들면, OC-3), 토큰 링 인터페이스(token ring interface), 위성 전송 인터페이스, 무선 인터페이스 등 장치를 다른 장치에 결합하는 인터페이스를 포함할 수 있다.
일 실시예에서, 반송파 신호(carrier wave signal)(323)는 통신 인터페이스(313)에 의해 수신되어 안테나(111)와 통신한다. 일 실시예에서 반송파 신호(325)는 통신 인터페이스(313)와 네트워크(113) 사이에 수신/전송된다. 일 실시예에서, 통신 신호(325)는, 머신(301)이 또 다른 통신 시스템, 네트워크 허브, 라우터와 인터페이스하는 데 사용될 수 있다. 일 실시예에서, 반송파 신호(323, 325)는 유선, 케이블, 광학 파이버 또는 대기 등을 통해 전송될 수 있는 머신 판독 가능한 매체로 간주된다.
일 실시예에서, 예컨대 프로세서(303)는 인텔 x86 또는 펜티엄계 마이크로프로세서, 모토로라계 마이크로 프로세서 등과 같은 기존의 마이크로프로세서일 수 있으나, 이에 국한되지 않는다. 메모리(305)는 다이나믹 랜덤 액세스 메모리(DRAM)와 같은 머신 판독 가능한 매체일 수 있고, 스태틱 랜덤 액세스 메모리를 포함할 수 있다. 디스플레이 제어기(309)는 일 실시예에서 음극선관(cathode ray tube, CRT), 액정 디스플레이(LCD), 능동 매트릭스 디스플레이(active matrix display), 텔레비전 모니터 등일 수 있는 디스플레이(319)를 종래의 방식으로 제어한다. 입출력 제어기(315)에 결합되는 입출력 장치(317)는 키보드, 디스크 드라이브, 프린터, 스캐너 및 텔레비전 리모콘(television remote), 마우스, 트랙볼, 트랙패드, 조이스틱 등을 포함하는 입출력 장치일 수 있다. 일 실시예에서, 오디오 제어기(327)는 예컨대, 오디오 스피커, 해드폰, 오디오 수신기, 증폭기 등을 포함할 수 있는 오디오 출력(331)을 종래의 방식으로 제어한다. 일 실시예에서, 제어기는 예컨대 마이크 또는 오디오 또는 음악 장치 등으로부터의 입력과 같은 오디오 입력(329)도 종래의 방식으로 제어한다.
일 실시예에서 저장소(311)는 예컨대, 마그네틱 하드디스크, 플로피 디스크, 광 디스크, 롬(read-only memory, ROM) 구성요소, 스마트 카드, 또는 데이터를 저장하기 위한 다른 형태의 저장소 등과 같은 머신 판독 가능한 매체를 포함할 수 있으나, 이에 국한되지 않는다. 일 실시예에서, 저장소(311)는 삭제 가능한 매체, 판독 전용 매체, 판독 가능/기록 가능 매체 등을 포함할 수 있다. 데이터의 일부는 컴퓨터 시스템(301) 내에서 소프트웨어의 실행 동안에 메모리(305) 내로 직접 메모리 액세스 프로세스에 의해 기록될 수 있다. 소프트웨어는 저장소(311), 메모리(305) 내에 상주하거나 모뎀 또는 통신 인터페이스(313)를 통해 전송 또는 수신될 수 있다. 본 명세서에서, 용어 "머신 판독 가능한 매체"는 데이터, 정보를 저장하거나 프로세서(303)가 본 발명의 방법을 수행하도록 일련의 명령을 인코딩할 수 있는 임의의 매체를 포함한다고 정의될 것이다. 용어 "머신 판독 가능한 매체"는 고정 소자 메모리(solid-state memories), 광학 및 마그네틱 디스크, 반송파 신호 등을 포함하는 것으로 정의되지만, 이에 국한되지 않는다.
일 실시예에서, 예컨대, 도 1a~1c의 도면에 도시되는 것들 중 어느 하나와 유사한 브로드캐스트 시스템은 브로드캐스트 서버(103)가 다수의 데이터 파일을 다수의 클라이언트 시스템(105, 107, 109)에 브로드캐스트하도록 구성된다. 아래에 더 상세히 설명하는 바와 같이, 다수의 데이터의 각 파일은 본 발명의 교시에 따라 메타 데이터로 설명되는 각 콘텐츠 조각에 대응한다. 일반적으로, 메타 데이터는 서버(103)로부터 브로드캐스트되거나 앞으로 브로드캐스트될 콘텐츠 또는 데이터 파일을 기술하는 기술자(descriptor) 또는 속성값의 집합으로 생각될 수 있다. 본 발명의 메타 데이터는 브로드캐스트 서버(103)에 의해 나중에 브로드캐스트될 데이터 파일의 콘텐츠에 관해 클라이언트 시스템(105, 107, 109)이 판별하여 결정하도록 한다. 다음에 기술될 바와 같이, 본 발명의 다양한 실시예는 후속하는 서버 브로드캐스트의 브로드캐스트 스케쥴 및 콘텐츠를 결정할 뿐만 아니라 클라이언트측 필터링, 저장소 관리 및 다른 개인화(personalization) 기법을 사용한다.
본 발명은 클라이언트 요구 피드백 정보에 따라 콘텐츠를 브로드캐스트하는 방법 및 시스템을 제공함으로써 종래 기술에서의 원하지 않는 콘텐츠를 브로드캐스트하는 불합리성을 해결한다. 본 발명은 최적화 브로드캐스트 스케쥴을 생성하는 메카니즘을 정의하여, 브로드캐스트 작업 센터가 브로드캐스트하기 위해 고려되는 다양한 콘텐츠 조각(가령, 영화, 사전 기록 및 라이브 TV 쇼 등)에 대응하는 콘텐츠 기술 정보는 클라이언트 시스템에 주기적으로 브로드캐스트되는데, 클라이언트 시스템은 사용자 피드백, 종전의 사용자의 시청 습관(user's previous viewing habits) 및 다른 고려사항들 또는 이 둘의 조합에 따른 자동 피드백을 사용하여 콘텐츠 조각을 레이팅(rate) 및/또는 랭킹한다. 이어서, 클라이언트 시스템으로부터의 요구 피드백은 브로드캐스트 작업 센터에 상향 전송되고, 이어서, 적어도 부분적으로 클라이언트 시스템으로부터 수신된 요구 피드백 정보에 따라 브로드캐스트될 콘텐츠 순서 목록을 포함하는 브로드캐스트 스케쥴 큐를 생성하거나 업데이트한다. 이어서, 브로드캐스트 스케쥴 큐 내의 배치에 따라, 콘텐츠 조각이 클라이언트 시스템에 브로드캐스트되고, 이에 따라 클라이언트 시스템은 브로드캐스트되는 콘텐츠 조각 중 어느 것이라도 나중에 "온디멘드"로 보기 위해 클라이언트 시스템은 캐시되어야 하는지의 여부를 선택적으로 판별할 수 있다. 일 실시예에서, 이 프로세스는 연속적으로 반복되어, 브로드캐스트 작업 센터가 종래의 사전 결정된 브로드캐스트 스케쥴을 사용하게 하는 것이 아니라 클라이언트 요구 피드백에 따라 그 브로드캐스트 스케쥴을 최적화하게 한다.
본 발명의 예시적인 실시예에 따른 순서도는 도 3이다. 위에서 논의한 바와 같이, 제 1 작업은, 브로드캐스트 작업 센터에 의해 제공되는 콘텐츠를 보기 원하는 사용자에 의해 동작될 수 있는 다양한 클라이언트 시스템에 콘텐츠 기술 정보를 제공하는 것이다. 일 실시예에서, 콘텐츠 기술 정보는 브로드캐스트 스케쥴에서 고려되는 각 콘텐츠 조각에 대한 콘텐츠 기술자 집합을 포함하는 메타 데이터로서 전송된다. 일반적으로, 콘텐츠 기술자는, 클라이언트 시스템이 임의의 시점에서 콘텐츠 기술 정보를 캡쳐하기 위하여 접속할 수 있는 연속 스트림으로서 전송될 수 있다. 필요에 따라, 콘텐츠 기술자 스트림은 그 스트림이 어디에 있는지(예컨대, 스트림이 브로드캐스트되는 채널이 무엇인지)와 그것을 어떻게 찾는지에 대한 공시가 선행될 수 있다. 콘텐츠 기술자 스트림은 또한 파일로써 주기적으로 보내질 수도 있다. 일 실시예에서, 트리거가 전송되어 콘텐츠 기술 파일이 이제 클라이언트 시스템에 전송될 예정이라는 것을 알려서 그 클라이언트 시스템이 콘텐츠 기술자 메타 데이터를 수신 및 저장할 수 있도록 한다.
블록(301)에 의해 도시되는 바와 같이, 일 실시예에서, 메타 데이터 브로드캐스트 스케쥴은 적절한 브로드캐스트 링크를 통해 클라이언트 시스템에 브로드캐스트된다. 예컨대, 도 4a에 도시되는 바와 같이, 클라이언트 시스템은 셋톱 박스를 포함할 수 있고, 브로드캐스트 링크는 위성 텔레비전 링크를 포함할 수 있다. 이러한 경우, 브로드캐스트 작업 센터(126a)에 의해 동작되는 브로드캐스트 서버(103a)는 지상국(132)을 통해 업링크 신호(128)를 위성(130)에 전송한다. 이어서, 위성(130)은 메타 데이터 브로드캐스트 스케쥴을 클라이언트 시스템(103a, 105a, 107a)에 전송한다. 이어서, 위성(130)은, RF 데이터 전송에 의해 형성되는 위성으로부터 각 안테나(134, 136, 138)로의 무선 주파수(RF) 링크(115a, 117a, 119a)를 통해 메타 데이터 브로드캐스트 스케쥴을 클라이언트 시스템(105a, 107a, 109a)에 브로드캐스트한다. 일반적으로, 위성(130)은 각 대역이 제각기의 채널에 대응하는 소정의 무선 주파수 대역을 사용하여 데이터 스트림을 전송하는 다중 채널 트랜스폰더로서의 기능을 수행한다. 일 실시예에서, 선택 채널이 이 메타 데이터 브로드캐스트 스케쥴 데이터를 전송하기 위해 사용될 수 있다. 또 다른 실시예에서, 선택 채널 또는 멀티플렉스 채널의 사용되지 않은 부분은 아래에서 더욱 상세히 기술되는 바와 같이 스케쥴 데이터를 전송하기 위하여 사용될 수 있다.
위에서 기술한 바와 같이, 위성 RF 링크를 통해 콘텐츠를 브로드캐스트하는 것과 아울러, 콘텐츠는 케이블 시스템 및 네트워크와 같은 다양한 네트워크 상에 브로드캐스트될 수 있다. 양방향 케이블 시스템을 사용하여 본 발명을 구현하는 예시적인 시스템이 도 4b에 도시되어 있다. 이 시스템에서, 브로드캐스트 작업 센터(126b)에 의해 동작되는 브로드캐스트 서버(103b)는 메타 데이터 브로드캐스트 스케쥴 등의 브로드캐스트 데이터를 케이블 시스템 헤드 엔드(head-end)(142)에 제출한다. 케이블 시스템 헤드 엔드는 케이블 시스템이 브로드캐스트 기능을 수행할 수 있도록 데이터가 케이블 네트워크(113b) 및 양방향 케이블 링크(115b, 117b, 119b) 각각을 통해 셋톱 박스 클라이언트 시스템(115b, 117b, 119b)에 브로드캐스트되도록 한다.
브로드캐스트 및 클라이언트 피드백 데이터가 컴퓨터 네트워크를 통해 전송되는, 본 발명을 구현하는 예시적인 시스템이 도 4c에 도시되어 있다. 이 실시예에서, 브로드캐스트 작업 센터(126c)에 의해 동작되는 브로드캐스트 서버(103c)는 컴퓨터 네트워크(113c)를 통해 UDP, TCP/IP 또는 새로운 다양한 종류의 컴퓨터 네트워크 브로드캐스트 프로토콜 등과 같은 공통 네트워크 프로토콜을 사용하여 네트워크 링크(115c, 117c, 119c)를 통해 컴퓨터 클라이언트 시스템(105c, 107c, 109c)에 데이터를 브로드캐스트한다.
일 실시예에서, 메타 데이터 브로드캐스트 스케쥴은 본 발명의 실제 메타 데이터가 브로드캐스트 서버에 의해 브로드캐스트되는 장래의 어느 시점을 가리킨다. 일 실시예에서, 클라이언트 시스템은 프로그램 및 시스템 정보 프로토콜(PSIP), DVB, 서비스 광고 프로토콜(SAP) 등 같이 공지된 포트를 사용하여 브로드캐스트 서버로부터 후속하는 서비스의 공시를 수신한다.
일 실시예에서, 각 클라이언트(105x, 107x, 109x)(105"x"는 105a, 105b, 105c 등을 포함함) 는 브로드캐스트 서버(103x)에 의해 브로드캐스트되는 정보를 수신하는 특정 시간에 웨이크 업(wake-up) 또는 활성화 요청을 수신하는 공지된 스케쥴링 서비스를 포함한다. 이 스케쥴링 서비스는 클라이언트 시스템이 특정 시간에 웨이크업하여 특정 서비스를 선택할 수 있도록 한다. 예컨대, 일 실시예에서, 이와 같은 선택 프로세스는 예컨대, ATSC(Advanced Television Systems Committee) 또는 DVB 트랜스폰더 등과 같이 특정 주파수로 튜닝함으로써 수행될 수 있다. 일 실시예에서, 선택 프로세스는 예컨대, 서비스를 정의하는 멀티캐스트 인터넷 프로토콜(IP) 어드레스와 같은 데이터의 집합에 기초할 수 있다.
일 실시예에서, 클라이언트 애플리케이션은 클라이언트 시그널링 시스템을 등록하여 특정 콘텐츠 제공자로부터 신호를 수신한다. 클라이언트 시그널링 시스템은 특정 콘텐츠 제공자와 연관되는 애플리케이션 표를 유지한다. 일 실시예에서, 브로드캐스트 서버로부터의 정보는 각 클라이언트에게 알려진 어드레스를 사용할 수 있도록 알고 있는 어드레스 상에 브로드캐스트된다.
도 3의 순서도를 참조하면, 블록(304)에서, 클라이언트는 브로드캐스트 서버로부터 메타 데이터 브로드캐스트 스케쥴을 수신한다. 일 실시예에서, 클라이언트 시스템(105x, 107x, 109x)은 언제 웨이크업하여 콘텐츠를 수신할 지, 어디서 콘텐츠를 수신할 지 그리고 어느 콘텐츠를 수신할 지를 결정하기 위해서 이 사전 브로드캐스트 정보를 캡쳐하여 프로세싱한다. 일 실시예에서 메타데이터 브로드캐스트 스케쥴이 클라이언트 시스템에 의해 수신되면, 클라이언트 시스템 내의 등록 애플리케이션은 메타 데이터 브로드캐스트 스케쥴을 수신하라고 통지된다.
다른 실시예에서, 메타 데이터는 클라이언트 시스템이 임의의 시간에서 접속할 수 있는 스트림으로 연속적으로 브로드캐스트된다. 따라서, 이러한 실시예에서, 블록(300, 302)에 의해 수행되는 동작은 이들 블록이 파선(선택적임을 나타냄)에 의해 표시된다는 사실에서 알 수 있듯이 필수적이지 않다. 바람직하게, 스트리밍 실시예가 사용되면, 메타 데이터 스트림은 현재 메타 데이터 집합에 대한 시작점을 나타내는 마커 신호를 포함해서 (현재 메타 데이터의 전체 세트가 수신되었다는 것을 보장하는) 두 개의 마커 신호가 수신되는 기간 동안만 클라이언트 시스템이 메타 데이터를 수신해야 한다. 선택적으로, 클라이언트 시스템은 스트림 내에서 발생하는 각각의 콘텐츠 기술자를 추적할 수 있어서, 클라이언트 시스템은 이전에 수신한 콘텐츠 기술자를 수신하면 전체 메타 데이터 집합을 수신했다는 것을 알 수 있을 것이다.
블록(304)에서, 메타 데이터(127)(도 4a~c 참조)는 데이터 브로드캐스트 스케쥴에서 규정되는 시간에 또는 연속 스트리밍을 사용하여 브로드캐스트 서버로부터 클라이언트 시스템에 브로드캐스트된다. 일 실시예에서, 클라이언트는 메타 데이터 브로드캐스트 스케쥴에 나타나 있는 사전에 규정된 시간에 웨이크업하여 서버로부터 메타 데이터(127)를 수신한다. 블록(306)에서, 클라이언트 시스템은 브로드캐스트 서버로부터 메타 데이터의 브로드캐스트를 수신한다. 다음에 기술될 바와 같이, 메타 데이터는 서버 시스템에 의해 브로드캐스트되거나 추후에 브로드캐스트될 수 있는 다수의 데이터 파일 기술자를 포함한다. 여기서, 도 3 및 4a~4c에 원 안의 "1"과 같이 클라이언트 시스템에 메타 데이터를 제공하는 제 1 작업이 완 료된다.
블록(308)에 의해 나타난 바와 같이, 메타 데이터(127)를 수신하면, 클라이언트 시스템은 메타 데이터에 대응하는 콘텐츠 조각을 레이팅 및/또는 랭크하여 주어진 클라이언트 시스템의 사용자가 브로드캐스트되길 원하는 콘텐츠 조각을 나타내는 클라이언트 요구 피드백 데이터를 상향 브로드캐스트 작업 센터에 제공해서 이들 클라이언트 시스템의 사용자가 "온 디멘드로" 볼 수 있도록 이들 콘텐츠 조각이 클라이언트 시스템 상에 캡쳐 및 캐싱될 수 있게 된다. 클라이언트 시스템이 클라이언트 요구 피드백 데이터를 생성할 수 있는 방법에는 세 가지가 있다. 일 실시예에서, 클라이언트 시스템의 사용자는 현재의 메타 데이터에 의해 기술되는 콘텐츠 조각을 수동으로 레이팅하거나 상대적인 랭킹을 제공하여 클라이언트 시스템의 사용자가 브로드캐스트하기 원하는 것을 명확히 나타낸다. 이 프로세스는 순서도에서 블록(310)에 의해 도시되고, 아래에서 더욱 상세히 설명된다. 다른 실시예에서, 레이팅 및/또는 상대적인 랭킹 데이터는 블록(312)에서 클라이언트 시스템에 의해 적어도 부분적으로 사용자의 종전의 시청 기호에 따라서 자동적으로 생성된다. 이 프로세스 또한 이하에서 보다 상세히 설명되어 있다. 제 3 실시예에서, 클라이언트 요구 피드백 데이터는 사용자와, 클라이언트 시스템 생성 레이팅 및/또는 랭킹 데이터의 조합을 포함한다.
블록(314)에서, 클라이언트 시스템은 자신의 요구 피드백 데이터를 서버에 상향 전송하고, 서버는 블록(316)에서 그 데이터를 수신한다. 요구 피드백 데이터는 도 4a~c에서 "클라이언트 피드백 데이터(CLIENT FEEDBACK DATA)"(129) 또는 "CFD"(129)로 표시되고, 요구 피드백 데이터를 브로드캐스트 작업 센터에 상향 전송하는 프로세스는 도 3 및 4a~c에서 원 안의 "2"로 표시된다. 일 실시예에서, 브로드캐스트 네트워크의 각 클라이언트는 브로드캐스트 서버(103x)로부터 보다 먼저 브로드캐스트된 현재의 메타 데이터 집합(127)에 의해 표시되는 모든 콘텐츠 조각에 대응하는 요구 피드백 데이터를 전송한다. 또는, 각 클라이언트 시스템은 클라이언트 시스템 상에 유지되는 모든 또는 일부의 콘텐츠 레이팅/랭킹 테이블을 전송하는데, 이는 아래에서 보다 상세히 설명된다.
사용되는 브로드캐스트 시스템에 따라, 클라이언트 요구 피드백 데이터를 브로드캐스트 작업 센터에 상향 제공하기 위하여 사용될 수 있는 여러 유형의 상이한 통신 링크가 있다. 도 1b를 참조하여 위에서 설명한 바와 같이, 각 클라이언트(105, 107, 109)에는 통신 링크(121, 123, 125)에 의해 각각 표시되는 "상향 채널(back channel)" 통신 링크가 제공된다. 도 4a에 도시되는 것과 같은 종래의 위성 텔레비전 브로드캐스트 시스템의 경우, 위성(들)과 수신 안테나 사이에는 단방향 링크만 있다. 그 결과, 이들 시스템 내에서 브로드캐스트 작업 센터로의 상향 링크는 텔코 네트워크(Telco network)(113a) 및 네트워크 링크(144)를 통해 브로드캐스트 작업 센터(126a)에 접속되는 클라이언트로부터의 링크(121a, 123a, 125a)에 의해 표시되는 어떠한 형태의 전자 통신 (텔코(Telco) 링크)를 포함한다. 장래의 위성 브로드캐스트 시스템이 양방향 통신 링크를 제공하여 클라이언트 요구 피드백 데이터가 송수신기 안테나를 사용하여 브로드캐스트 작업 센터로 상향 전송될 수 있을 것이다. 이 유형의 통신 기술은 VSAT 시스템의 사용자에게 양방향 위성 통신 기능을 제공하는 오늘날의 VSAT(Very Small Aperture Terminal) 기술과 유사하다.
도 4b에 도시된 바와 같이, 양방향 케이블 브로드캐스트 시스템이 사용되는 예에서, 주어진 클라이언트 시스템을 위한 동일한 통신 링크는 브로드캐스트 데이터를 수신하고 클라이언트 요구 데이터를 브로드캐스트 동작 센서(126b)에 상향 전송하기 위해 사용될 수 있다. 이와 유사하게, 도 4c에 도시되는 것과 같은 컴퓨터 네트워크 브로드캐스트 인프라구조가 사용되면, 동일한 링크가 브로드캐스트 데이터를 수신하고, 클라이언트 요구 피드백 데이터를 브로드캐스트 작업 센터(126c)에 상향 전송하기 위해 사용된다. 컴퓨터 네트워크에서, 실제의 "링크"는 동적일 수 있어, 데이터 패킷이 동적 라우팅을 사용하여 클라이언트 시스템과 서버 사이와 같은 엔드 포인트간에 전송될 수 있다. 그러나, 예시적인 목적에서, 이들 링크는 도 4c에서 실선으로 나타나 있다.
클라이언트 요구 피드백 데이터(129)를 수신하면, 브로드캐스트 작업 센터는 적어도 부분적으로 클라이언트 요구 피드백 데이터를 모음으로써 순서가 정해지고, 최상의 요구를 갖는 콘텐츠 조각이 목록의 위쪽에 배치되는 콘텐츠 조각 목록을 포함하는 브로드캐스트 스케쥴 큐(133)를 생성하거나 업데이트한다. 이 프로세스는 도 3 및 도 4a~c에 원 안의 "3"으로써 표시된다. 일반적으로 클라이언트 요구 피드백 데이터를 모으고, 선택에 따라, 콘텐츠 조각이 최근에 브로드캐스트되었는지 여부와 같은 서버측의 고려사항 및 브로드캐스트 서비스 제공자와의 계약과 같은 다양한 사업적 고려사항들을 적용함으로써 목록이 생성된다. 브로드캐스트 스케쥴 큐가 어떻게 생성되는지에 관한 다른 세부사항들은 아래에 설명되어 있다.
이어서, 일 실시예에서, 브로드캐스트 작업 센터는 클라이언트 요구 피드백 데이터에 기초하여 브로드캐스트될 콘텐츠 조각을 선택한다. 일 실시예에서, 브로드캐스트될 콘텐츠 조각은 클라이언트 시스템에 의해 제공되는 레이팅 정보에 기초하여 결정된다. 그 결과, 고객 베이스(customer base)(즉, 클라이언트 시스템의 사용자)를 위해 가장 적당한 콘텐츠 조각만 브로드캐스트 작업 센터에 의해 브로드캐스트된다. 예컨대, 일 실시예에서, 전체 중 최상의 레이팅을 갖는 콘텐츠 조각만 브로드캐스트되고, 최하의 레이팅을 갖는 콘텐츠 조각은 브로드캐스트되지 않는다. 일 실시예에서, 브로드캐스트 스케쥴은 또한 랭킹에 응답하여 결정된다. 예컨대, 일 실시예에서, 최상의 랭킹 데이터 파일은 하위 랭킹 데이터 파일보다 먼저 브로드캐스트된다. 또 다른 실시예에서, 최상의 랭킹 콘텐츠 조각은 높게 랭킹된 콘텐츠를 전송하기에 가장 적당하다고 생각되는 시간에 브로드캐스트된다. 예컨대, 목요일 저녁 골든 아워(primetime)가, 브로드캐스터가 브로드캐스트하는 데 최상의 레이팅을 갖는 가장 중요한 시간이라 가정하자. 이 예에서, 본 발명의 교시에 따른 브로드캐스트 작업 센터는 최상의 랭킹 콘텐츠 조각에 대응하는 데이터 파일을 목요일 저녁 골든 아워 동안 브로드캐스트할 것이다. 물론, 이 예는 설명을 위해서만 제공되었고, 클라이언트 시스템으로부터 수신된 요구 피드백 데이터에 응답하여 다른 방법으로 브로드캐스트 스케쥴을 결정할 수 있다.
일 실시예에서, 브로드캐스트될 데이터 파일 및/또는 브로드캐스트 스케쥴은 본 발명의 교시에 따라 클라이언트 시스템으로부터 수신된 클라이언트 요구 피드백 데이터에 응답하여 브로드캐스트 작업 센터에 의해 동적으로 결정된다. 그러므로, 일 실시예에서, 브로드캐스트 스케쥴은 시간이 지남에 따라 브로드캐스트 작업 센터로부터 어느 콘텐츠 조각이 이용 가능한 지 그리고 어느 콘텐츠 또는 데이터 파일이 클라이언트에 의해 액세스 및/또는 분류되는지의 여부에 따라 변할 수 있다.
브로드캐스트될 콘텐츠 조각 및 브로드캐스트 스케쥴이 브로드캐스트 서버에 의해 결정되면, 블록(320)에서 브로드캐스트 서버(103)는 콘텐츠 브로드캐스트 스케쥴을 클라이언트에 브로드캐스트한다. 이어서, 클라이언트는 블록(322)에서 콘텐츠 브로드캐스트 스케쥴을 수신한다. 다른 실시예에서, 블록(320, 322)의 점선 윤곽에 의해 표시되는 바와 같이, 브로드캐스트되는 콘텐츠 스케쥴이 없다.
다음에 수행될 동작은 최상의 클라이언트 요구 레벨을 갖는 콘텐츠를 (일반적으로) 클라이언트에게 전달하는 것이다. 이는 도 3에서 블록(326, 328)에 의해 표시되고, 도 3 및 4a~c에 원 안의 "4"로 표시된다. 일 실시예에서, 호기적 스케쥴링(opportunistic scheduling)이 사용되는데, 여기서, 다음으로 "가치 있는(valuable)" 콘텐츠 조각이 연속적으로 브로드캐스트된다. 또 다른 실시예에서, 콘텐츠의 배치(batch)는 주기적으로 브로드캐스트된다. 예시적인 콘텐츠 조각 A, B 및 C에 대응하는 하나 이상의 데이터 파일의 브로드캐스트는 도 4a~4c에 도시되어 있는데, 여기서 콘텐츠는 콘텐츠 데이터 파일 세트(135)에 의해 집합적으로 식별된다. 각각의 이들 콘텐츠 브로드캐스트 실시예의 다른 세부사항들은 아래에 설명되어 있다.
콘텐츠 브로드캐스트 스케쥴이 이전에 전송된 실시예에 있어서, 스케쥴 내의 각 콘텐츠 조각에 대응하는 데이터 파일은 스케쥴된 시간에 브로드캐스트 작업 센터로부터 브로드캐스트된다. 일 실시예에서, 클라이언트는 데이터 파일 브로드캐스트 스케쥴 내에 표시되는 사전 규정 시간에 웨이크업하여 브로드캐스트 서버로부터 콘텐츠 조각에 대한 데이터 파일을 수신한다. 다른 실시예에서, 콘텐츠는 이전의 스케쥴 정보가 그 콘텐츠에 대해 브로드캐스트되지 않은 콘텐츠의 것인 경우 "거의 실시간(near real-time)"으로 그 콘텐츠가 브로드캐스트된다. 본 발명의 목적을 위해, "거의 실시간"이란 의미는 그 콘텐츠가 (예컨대 1시간 이하의) 가장 원하는 콘텐츠로서 식별된 후 곧 전송된다는 것을 의미한다.
콘텐츠 조각을 브로드캐스트한 후, 그 콘텐츠에 대응하는 속성 값이 재계산되어 브로드캐스트 스케쥴 큐를 위해 사용되는 순서 목록 내의 콘텐츠 조각을 다시 랭킹(re-rank)한다. 일반적으로, 이는 클라이언트 시스템에 의한 그 콘텐츠 조각에 대한 요구는 선행하는 콘텐츠 브로드캐스트에 의해 효과적으로 채워져야 하기 때문에 블록(228)에 의해 도시되는 바와 같이, 콘텐츠 조각을 목록의 최하위로 복귀시킬 것이다. 아래에 설명되는 바와 같이, 순서 목록이 재계산되면 그 콘텐츠 조각에 대한 새로운(즉, 그 후에 수신된) 클라이언트 요구 피드백 데이터만 고려되도록 그 콘텐츠 조각에 대한 클라이언트 요구 피드백 데이터가 "리셋"된다.
일 실시예에서, 브로드캐스트 콘텐츠를 수신하면, 클라이언트는 블록(330)에 도시되는 바와 같이, 데이터 파일이 브로드캐스트될 때 클라이언트 시스템 상에 저장되는 콘텐츠 레이팅 테이블에 따라 데이터 파일이 선택적으로 저장된다. 주어진 클라이언트 시스템 상에 특정 콘텐츠 조각이 캡쳐 및 캐시(즉, 저장)되고 다른 브 로드캐스트 콘텐츠는 무시될 지를 결정하기 위하여 사용될 수 있는 메카니즘에는 다양한 것들이 있다. 일 실시예에서, 클라이언트 시스템 상에 저장되는 콘텐츠 레이팅 및/또는 랭킹 데이터와 같은 클라이언트 요구 피드백 정보는 특정 콘텐츠 조각에 대응하는 데이터 파일이 캡쳐 및 캐시될 지 여부를 결정할 때 사용된다. 클라이언트 시스템 상의 이용 가능한 저장 공간 또한 고려될 수 있다. 예컨대, 클라이언트 시스템은 특정 영화가 최대 레이팅을 갖는 콘텐츠 레이팅 테이블을 가지면, 일반적으로 그 영화에 대응하는 데이터 파일이 브로드캐스트될 때 캡쳐 및 캐시될 것이다.
소정의 예에서, 새로운 콘텐츠 조각을 캡쳐 및 캐시할 지에 관한 결정은 현재 클라이언트 시스템 상에 저장되어 있는 콘텐츠를 사용자가 어떻게 레이팅하였는지에 의존할 것이다. 예컨대, 클라이언트 시스템이 거의 완전히 채워졌고(즉, 새로운 콘텐츠 조각에 대응하는 전체 데이터 파일 또는 파일들을 저장할 수 없고) 아직 시청되지 않은 클라이언트 시스템 상에 저장된 모든 콘텐츠 조각이 다음에 브로드캐스트될 콘텐츠 조각보다 높은 레이팅을 가지면, 그 콘텐츠는 무시될 것이다. 캐시되고 무시되는 콘텐츠의 예는 도 4a~c에 도시되는데, 여기서, 클라이언트 시스템(105x)은 콘텐츠 A 및 B를 선택적으로 캐시하고, 콘텐츠 C를 무시하며, 클라이언트 시스템(107x)은 콘텐츠 A를 선택적으로 캐시하고, 콘텐츠 B 및 C를 무시하며, 클라이언트 시스템(109x)은 콘텐츠 C를 선택적으로 캐시하고, 콘텐츠 A 및 B를 무시한다.
일 실시예에서, 주어진 클라이언트 시스템 상의 특정 콘텐츠 조각이 액세스 되는 경우에, 그 콘텐츠 조각에 대한 레이팅이 원래 생성되었을 때 사용자가 액세스한 콘텐츠 조각만큼 많은 콘텐츠 조각을 액세스하는 것을 더 이상 요구하지 않는다고 일반적으로 가정된다. 본 명세서에서는, 사용자 액세스는 사용자가 데이터 파일을 보는 것, 시청하는 것, 청취하는 것, 읽는 것, 소비하는 것 등을 포함할 수 있다. 예컨대, 사용자가 데이터 파일을 액세스하는 일 실시예는 사용자가 클라이언트 내에 저장된 데이터 파일 중 하나에 의해 제공되는 특정 영화를 시청하거나 특정 노래를 청취하는 것일 수 있다. 따라서, 사용자가 보기 위해 콘텐츠 조각을 액세스하면, 그 콘텐츠 조각에 대응하는 메타 데이터 테이블 및 콘텐츠 레이팅 테이블은 블록(332)에서 클라이언트 시스템에 의해 업데이트된다.
도 5는 본 발명의 교시에 따라 메타 데이터(127)를 프로세싱하고, 메타 데이터 테이블 및 콘텐츠 레이팅 테이블을 업데이트하고 유지할 때 클라이언트 내에서의 이벤트 흐름의 일 실시예를 더욱 상세히 도시하는 순서도이다. 특히, 메타 데이터 테이블이 서버로부터 브로드캐스트된 메타 데이터 내에 포함되는 속성 및 속성 값으로 업데이트되는 프로세스는 블록(403)에서 시작한다. 이어서, 블록(405)에서, 콘텐츠 레이팅 테이블은 메타 데이터에 의해 기술되는 데이터 파일 각각에 대한 엔트리로 업데이트된다.
일 실시예에서, 메타 데이터 테이블, 콘텐츠 레이팅 테이블 및 다수의 데이터 파일은 이미 클라이언트 시스템 내에 존재한다고 가정된다. 일 실시예에서, 메타 데이터 테이블, 콘텐츠 레이팅 테이블 및 다수의 데이터 파일은 도 2에 도시되는 실시예와 같이 클라이언트 시스템 내의 메모리(305) 내에 또는 지역적 네트워크 등의 머신(301)을 액세스함으로써 저장 및 유지될 수 있다.
네 개의 콘텐츠 조각에 대응하는 예시적인 메타 데이터 집합(501)이 도 6에 도시되어 있다. 설명의 편의를 위해, 네 개의 콘텐츠 조각에 대응하는 데이터 파일이 영화 또는 TV 프로그램과 같은 오디오/비디오 파일이라 가정된다. 위에서 언급한 바와 같이, 브로드캐스트되는 데이터 파일은 오디오, 그래픽, 텍스트, 멀티미디어, 또는 다른 유형의 파일을 포함할 수 있다.
도시되는 실시예에서, 메타 데이터(501)는 네 개의 영화, 보다 구체적으로, 네 개의 영화에 대응하는 네 개의 데이터 파일이, 브로드캐스트 작업 센터에 의한 브로드캐스트를 위해 고려된다는 것을 나타낸다. 이들 영화는 "Action Dude", "The Funny Show", "Blast 'EM" 및 "Hardy Har Har"를 포함한다. 일반적으로, 메타 데이터는 그 메타 데이터가 대응하는 각 콘텐츠 조각을 "기술하는" 속성 및 속성 값을 포함할 것이다. 일 실시예에서, 메타 데이터는 테이블형 포맷으로 전달되는데, 여기서 속성은 그 포맷에서의 열에 대응하고, 속성 값은 메타 데이터에 대한 행 데이터를 포함한다. 예컨대, 메타 데이터(501)는 "이름", "배우" 및 "장르"라 라벨링된 세 개의 속성 열을 포함한다. 본 발명의 다른 실시예는 상이한 속성 값과 상이한 속성을 포함할 수 있다. 예컨대, 영화를 설명하는 데 사용될 수 있는 예시적인 목록에는 "감독", "추가 배우들", "연도", "효과", "엔딩" 등이 포함될 수 있다. 일 실시예에서, 예컨대 40~50 개의 상이한 속성들이 제공되어 본 발명의 교시에 따라 영화를 기술한다.
메타 데이터(501)의 예시적인 세트에서, "Action Dude"는 배우 "Joe Smith" 가 출연한 "액션" 영화이다. "The Funny Show"는 배우 "Jane Doe"가 출연한 "코미디" 영화이다. 이에 더하여 "Blast 'EM"은 배우 "Jane Doe"가 출연한 "액션" 영화이고, "Hardy Har Har"는 배우 "Joe Smith"가 출연한 "코미디" 영화이다.
본 발명의 메타 데이터 테이블 측면에 대한 설명을 돕기 위하여, 도 7은 각 클라이언트(105, 107, 109)에 의해 지역적으로 업데이트 및 유지되는 메타 데이터 테이블(601)의 일 실시예이다. 도시되는 실시예에서, 도 6의 메타 데이터 테이블(601)은 서버(103)로부터 보다 먼저 브로드캐스트된 메타 데이터(501)의 데이터로 채워졌다. 일 실시예에서, 메타 데이터 테이블(601)은 속성, 속성값과 대응하는 관련값(relevance values) 및 신뢰계수(believability factors)의 목록을 포함한다. 특히, 메타 데이터 테이블(601)은 속성값 "Joe Smith", "Jane Doe", "액션" 및 "코미디" 를 포함한다. 이 때, 속성값 "Joe Smith", "Jane Doe", "액션" 및 "코미디"에 대한 관련값 및 신뢰 계수는 모두 0이다. 일 실시예에서 설명될 바와 같이, 본 발명의 관련값 및 신뢰 계수는 사용자가 클라이언트 시스템과 상호작용함으로써 업데이트 및 유지될 것이다.
일 실시예에서, 메타 데이터 테이블(601) 내의 관련값은, 연관된 속성 및 속성값이 특정 사용자의 행동을 예측하는 데 어느 정도의 관련성이 있는 가를 나타내는 표시이다. 예컨대, 관련값은 이 특정 속성 값 때문에 사용자가 특정 영화를 시청할 가능성을 나타낸다. 일 실시예에서, 메타 데이터 테이블(601) 내의 관련값은 예컨대 -10 내지 10과 같은 값 범위 내이다. 설명될 바와 같이, 사용자가 예컨대 특정 속성값을 갖는 특정 영화를 시청하거나 또는 적어도 시청하는 데 관심을 나타 내면 관련값은 증가될 수 있다. 이와 반대로, 예컨대, 사용자가, 특정 속성값을 갖는 특정 영화를 보지 않거나 보고 싶지 않기를 원한다고 명확히 나타내면 관련값은 감소될 수 있다.
일 실시예에서, 메타 데이터 테이블(601) 내의 신뢰 계수는 그 특정 속성값을 갖는 특정 콘텐츠 조각을 사용자가 실제로 액세스할 지 여부를 레이팅 또는 예측할 때 특정 속성 및 속성값의 쌍에 적용되는 가중 계수(weighting factors)이다. 일 실시예에서, 메타 데이터 테이블(601) 내의 신뢰 계수는 -10 내지 10과 같은 값의 범위 내이다. 일 실시예에서, 신뢰 계수는, 사용자가 관심을 갖는 콘텐츠 조각을 정확하게 예측하면 증가될 수 있다. 이와 반대로, 특정 속성값이 그와 다르게 나타내더라도 사용자가 그 콘텐츠 조각에 관심을 가지면 신뢰 계수는 감소될 수 있다.
일 실시예에서, 메타 데이터 테이블(601) 엔트리는 서버(103)로부터 브로드캐스트될 잠재적 콘텐츠 또는 데이터 파일과 연관되는 모든 전체 메타 데이터(501)로부터 구성된다. 일 실시예에서, 메타 데이터 테이블(601)의 엔트리는 명확한 사용자 요청에 따라 업데이트된다. 이에 더하여, 메타 데이터 테이블(601)은 또한 사용자가 특정 속성값을 갖는 특정 데이터 파일을 액세스하는지의 여부에 묵시적으로 근거하고, 사용자가 특정 영화를 명확히 분류하는지의 여부와는 독립적으로 업데이트될 수 있다.
본 발명의 콘텐츠 레이팅 테이블 측면의 이해를 돕기 위해, 도 8은 각 클라이언트(105x, 107x, 109x)에 의해 지역적으로 업데이트되고 유지되는 콘텐츠 레이 팅 테이블(701)의 일 실시예를 도시한다. 도시되는 실시예에서, 콘텐츠 레이팅 테이블(701)은 클라이언트 시스템 상에 현재 로컬로 저장 또는 캐시되는 임의의 추가 데이터 파일뿐만 아니라 메타 데이터(501) 내에 설명되는 데이터 파일 목록을 포함한다.
일 실시예에서, 이전에 캐시된 콘텐츠 조각에 대응하는 데이터 파일은 도 2의 클라이언트에 의해 로컬 메모리(305), 저장소(311) 내 또는 머신(301)에 의해 지역적으로 액세스 가능한 네트워크 내에 저장될 수 있다. 본 명세서에는, 클라이언트에 의해 로컬 저장되는 데이터 파일은, 서버와 별도인 공지의 네트워크 저장소 구성에 따라 클라이언트에 의해 "로컬로" 저장되는 데이터 파일도 포함한다. 일 실시예에서, 본 발명의 로컬 캐시는 제 1 레벨 캐시이다. 그래서, 본 발명의 로컬 캐시는 단일 히트 가능성을 향상시키는 크기로 만들어진다.
오디오/비디오 파일을 나타내는 데이터 파일의 예를 계속하여 참조하면, 영화는 클라이언트에 의해 로컬로 저장된다. 사용자가 그 영화를 본 후에, 그 영화에 의해 점유된 저장소 공간은 언젠가 나중에 브로드캐스트될 또 다른 콘텐츠 조각을 저장하기 위하여 이용할 수 있다고 일반적으로 간주된다. 그래서, 본 발명의 교시에 따라 클라이언트 시스템의 지역적 캐시는 단일의 사용 시스템, 예컨대, 자동 추적(fire and forget)으로서 모델링된다. 일 실시예에서, 사용자가 데이터 파일을 액세스하면, 사용자가 그 동일한 데이터 파일은 다시 액세스하려 하지 않을 가능성이 높다. 사용자가 특정 콘텐츠 조각을 보지 않았다면, 그 콘텐츠 조각에 의해 점유된 저장소 공간은 또 다른 콘텐츠 조각을 저장하는 데 이용될 수 없다고 일반적으로 간주된다. 그러나, 이용 가능한 추가 저장 공간이 없고, 브로드캐스트될 콘텐츠의 레이팅이 더 높다면, 보다 낮은 레이팅의 시청되지 않는 콘텐츠 조각은 본 발명의 교시에 따라 보다 높은 레이팅의 콘텐츠 조각에 의해 대체될 수 있다. 예컨대, 일 실시예에서, 클라이언트 시스템의 사용자는 그들 데이터 파일이 브로드캐스트되면, 스위치를 선택하여 보다 높은 레이팅의 콘텐츠 조각에 대응하는 하나 이상의 데이터 파일에 의해 저장된 데이터가 자동적으로 대체되게 할 수 있다. 이와 반대로, 사용자는 어느 데이터 파일이 자신의 클라이언트 시스템 상에 저장될 지 수동으로 관리하기를 원할 수도 있다.
도 8에 도시되는 콘텐츠 레이팅 테이블(701)의 실시예를 다시 참조하면, 각 영화 또한 연관된 "레이팅" 값, "레이팅 유형" 표식자, " 인 캐시(IN CACHE)" 표식자 및 "다음 처리" 표식자를 갖는다. 일 실시예에서, 레이팅값은 연관된 콘텐츠 조각의 수신을 원하는 정도를 나타낸다. 일 실시예에서, 레이팅값은 사용자에 의해 명확히 입력되거나 그 특정 데이터 파일과 연관되는 메타 데이터를 프로세싱함으로써 클라이언트 시스템에 의해 명확히 생성될 수 있다. 일 실시예에서, 상대적으로 높은 레이팅값은 특정 데이터 파일이 사용자에게 관심의 대상일 수 있다는 것을 예측한다. 이와 반대로, 상대적으로 낮은 레이팅값은 특정 데이터 파일이 사용자에게 관심의 대상이 아닐 수 있다는 것을 예측한다.
일 실시예에서, "레이팅 유형"은 이 특정 콘텐츠 조각의 레이팅값이 사용자로부터의 명시한 입력의 결과였을 지 또는 레이팅값이 묵시적으로 클라이언트 시스템에 의해 생성되었는지의 여부를 나타낸다. 그래서, 일 실시예에서, 콘텐츠 레이팅 테이블(701)의 "레이팅 유형" 표시자는 "명시", "묵시" 또는 데이터 파일 또는 영화가 아직 레이팅되지 않았다면 "N/A"일 수 있다. 일 실시예에서, 데이터 파일이 사용자에 의해 명시적으로 분류되었다면, 데이터 파일의 속성값의 레이팅값은 더 이상 클라이언트 시스템에 의해 묵시적으로 업데이트되지 않는다. 그러나, 데이터 파일이 분류되지 않았거나 클라이언트 시스템에 의해 묵시적으로만 레이팅되었다면, 데이터 파일의 속성값의 레이팅은 클라이언트 시스템에 의해 더 업데이트 또는 조정될 수 있다.
일 실시예에서, "인 캐시" 표식자는 특정 데이터 파일이 클라이언트에 의해 현재 저장되어 있거나 지역적으로 캐시되는지를 나타낸다. 도 8에 도시되는 실시예에서, 영화 "Action Dude", "The Funny Show" 및 "Blast 'EM"은 클라이언트 시스템의 로컬 저장소 내에 이미 존재한다. 이와 반대로, 영화 "Hardy Har Har"는 클라이언트 시스템의 로컬 저장소 내에 저장되지 않았다.
일 실시예에서, "다음 처리" 표식자는 특정 데이터 파일을 위해 취하게 될 장래의 동작(action)을 추적하는 데 사용된다. 예컨대, 사용자가 영화를 이미 봤다면, 다음 처리 표식자는 "대체"를 나타내어 특정 영화에 의해 점유된 저장소 공간이 또 다른 영화를 저장하는 데 이용될 수 있다는 것을 나타낸다. 일 실시예에서, 사용자가 영화를 보지 않았다면, 다음 처리 표식자는 "유지"를 나타낼 것이다. 일 실시예에서, 영화가 클라이언트에 의해 로컬 저장되었거나 특정 영화가 사용자의 관심 대상일 수 있다는 것을 레이팅값이 나타내면, 다음 처리 표식자는 "캡쳐"를 나타낼 것이다. 일 실시예에서, 영화가 아직 서버에 의해 브로드캐스트되지 않 았고, 레이팅이 이 영화가 사용자의 관심 대상일 수 없다고 예측하면, 다음 처리 표식자는 "무시"를 나타낼 것이다.
위에서 논의된 바와 같이, 사용자는 어느 콘텐츠가 캐시되어야 하는지 그리고 어느 콘텐츠가 무시되어야 하는지를 판별하는 데 사용되는 명시 입력을 제공할 수 있고, 이들 입력은 "분류"라 지칭된다. 일 실시예에서, 도 9에 도시되는 바와같이, 사용자는 선택 콘텐츠 조각을 명백히 "분류"하여 "수신" 또는 "거절" 각각을 입력 또는 선택함으로써 그 콘텐츠 조각이 캐시 또는 캐시되지 않게 할 지의 여부를 나타낼 수 있다. 도 9에 도시되는 예에서, 사용자가 "수신" 분류로 그 영화를 분류함으로써 영화 "Action Dude"를 캐시하고, "거절" 분류로 그 영화를 분류함으로써 영화 "The Funny Show"에 관심을 가진다는 것을 나타내었다. 이 예에서, 사용자는 모든 나머지 영화에 관해서는 어떤 정보 또는 분류도 제공하지 않는다.
도 5의 순서도를 참조하면, 사용자가 임의의 데이터 파일을 분류하면, 판별 블록(407)에의 답은 "예"이고, 블록(409)에서 분류된 콘텐츠 데이터의 특정 속성의 관련값은 메타 데이터 테이블(601)에서 업데이트된다. 블록(411)에서, 사용자 분류(들)에 대응하여 조정된 관련값으로의 속성값을 갖는 데이터 파일의 레이팅 또한 조정된다. 사용자가 어느 데이터 파일도 분류하지 않으면, 블록(409, 411)은 생략된다.
사용자가 데이터 파일을 분류할 때의 예를 나타내기 위해, 도 10은 사용자 분류에 응답하여 업데이트 또는 조정된 후의 메타 데이터 테이블(601)을 도시한다. 위에서 기술된 바와같이, 사용자가 영화 "Action Dude"에 관심을 가진다고 나타내 었다. 메타 데이터(501)에 의해 기술되는 바와같이, "Action Dude"는 배우 "Joe Smith"가 주연한 "액션" 영화이다. 그래서, 도 10의 메타 데이터 테이블(601a)을 참조하면, 속성값 "Joe Smith" 및 "액션"에 대한 관련값은, 사용자가 "Action Dude"에 대한 관심을 명시적으로 나타낸다는 것을 반영하도록 조정된다. 일 실시예에서, 관련값이 증가되어 사용자가 관심을 가졌다는 것을 반영한다. 위에서 설명하는 바와 같이, 일 실시예에서, 특정 속성값을 갖는 콘텐츠 조각에 대응하는 데이터 파일을 사용자가 액세스할 때까지 각 속성값과 연관되는 신뢰 계수는 업데이트되지 않는다.
도 9의 예를 계속하여 참조하면, 사용자는 영화 "The Funny Show"에 관심을 갖지 않는다는 것을 나타내었다. 메타 데이터(501)는 "The Funny Show"가 배우 "Jane Doe"가 주연한 "코미디" 영화라는 것을 도시한다. 그래서, 메타 데이터 테이블(601a)을 다시 참조하면, 속성값 "Jane Doe" 및 "코미디"에 대한 관련값은, 사용자가 "The Funny Show"에 관심을 갖지 않는다는 것을 명시적으로 나타냈다는 사실을 반영하도록 조정된다. 일 실시예에서, 관련값은 감소되어 사용자가 관심 갖지 않는다는 것을 반영한다.
도 9의 예를 계속하여 참조하면, 사용자는 영화 "Blast 'EM" 및 "Hardy Har Har"에 관한 어떤 정보도 제공하지 않는다. 따라서, "Blast 'Em" 및 "Hardy Har Har"와 연관되는 속성값의 관련값은 메타 데이터 테이블(601a)에서 업데이트되지 않는다.
논의될 바와 같이, 일 실시예에서, 블록(411)에 도시되는 바와 같이, 콘텐츠 레이팅 테이블(701)에서의 레이팅에 대한 업데이트는 메타 데이터 테이블(601) 내에 열거된 속성값의 관련값 및 신뢰계수에 관련된다. 블록(411)에서 발생하는 상세한 프로세싱 기술은 아래의 블록(417)에서 발생하는 프로세싱과 실질적으로 동일하다.
도 5를 다시 참조하면, 판별 블록(413)에서 판별되는 바와 같이, 사용자가 임의의 데이터 파일을 액세스하면, 예컨대 사용자가 영화를 보면, 블록(415)에서, 사용자가 액세스한 데이터 파일의 특정 속성의 관련값 및 신뢰 계수는 메타 데이터 테이블(601) 내에서 업데이트된다. 이어서 로직은 블록(417)으로 가서, 사용자 액세스에 응답하여 조정된 관련값을 갖는 속성값을 갖는 데이터 파일의 레이팅도 조정된다. 사용자가 어떤 데이터 파일도 액세스하지 않으면, 블록(415, 417)은 생략된다.
사용자가 액세스하는 데이터 파일의 예를 설명하기 위해, 사용자가 영화 "Action Dude"를 본다고 가정하자. 메타 데이터(501)는 "Action Dude"가 배우 "Joe Smith"가 주연한 "액션" 영화라는 것을 나타낸다. 일 실시예에서, 사용자가 특정 데이터 파일을 액세스 또는 그와 상호 작용할 때마다, 그 영화의 속성값의 신뢰 계수는 조정 또는 업데이트된다. 일 실시예에서, 0보다 큰 관련값을 갖는 속성값의 경우에는, 사용자가 액세스할 데이터 파일에 대한 예측자로서 속성값이 정확하게 작용했기 때문에 그 속성값에 대한 신뢰 계수는 증가된다. 일 실시예에서, 0보다 작은 관련값을 갖는 속성값의 경우에는, 사용자가 액세스할 데이터 파일에 대한 예측자로서 그 속성값이 정확히 작용하지 않았기 때문에 속성값에 대한 신뢰 계 수는 감소한다. 그러므로, 도 11은 "신뢰성" 열이 "Action Dude"의 사용자 액세스에 응답하여 업데이트 또는 조정되는 메타 데이터 테이블(601b)을 도시한다. 이 예에서 "Joe Smith" 및 "액션"의 신뢰 계수는 증가되는데, 이러한 이유는 이들 속성값에 대한 관련값이 0보다 컸기 때문이다.
일 실시예에서, 명시적으로 레이팅된 콘텐츠 조각과 관련된 관련값도 사용자 액세스에 응답하여 메타 데이터 테이블(601b) 내에서 증가된다. 그러나, 도 11에 도시되어 있는 메타 데이터 테이블(601b)의 예에서, "Action Dude"는 사용자에 의해 명시적으로 분류되었다. 일 실시예에서, 관련값은 사용자에 의해 명시적으로 분류된 데이터 파일의 사용자 액세스에 응답하여 업데이트되지 않는다.
도 12는 "Action Dude"의 사용자 액세스에 응답하여 블록(417)에서 업데이트된 후, 콘텐츠 레이팅 테이블(701)에 대응하는 콘텐츠 레이팅 테이블(701a)을 도시한다. 위에서 논의된 바와 같이, 콘텐츠 레이팅 테이블(701) 또한 본 발명의 교시에 따라 블록(411)에서 업데이트된다. 콘텐츠 레이팅 테이블(701a)에 도시되어 있는 바와 같이, "Action Dude"는 1의 레이팅값을 갖는다. 도 9와 관련하여 위에서 설명한 바와 같이, "Action Dude"의 레이팅 유형은 사용자가 "Action Dude"를 명시적으로 분류했기 때문에 "명시"이다. "인 캐시" 표식자는 "Action Dude"가 클라이언트 시스템에 의해 현재 로컬 저장되어 있다는 것을 나타낸다. 사용자가 이미 "Action Dude"를 보았기 때문에 "다음 처리" 표식자는 "대체"를 나타낸다.
일 실시예에서, 콘텐츠 레이팅 테이블(701) 내의 레이팅값은 다음과 같이 결정된다. 메타 데이터(501)는 "Action Dude"가 속성값 "Joe Smith" 및 "액션"을 갖 는다는 것을 나타낸다. 메타 데이터 테이블(601b)은 "Joe Smith"가 1의 관련값 및 1의 신뢰 계수를 갖는다는 것을 나타낸다. 메타 데이터 테이블(601b)은 "액션" 또한 1의 관련값 및 1의 신뢰 계수를 갖는다는 것을 나타낸다. 일 실시예에서, 특정 데이터 파일의 레이팅값은 데이터 파일의 모든 속성값에 대한 각각의 신뢰 계수와 결합된 모든 관련값을 고려하여 결정된다. 예컨대, 일 실시예에서 데이터 파일에 대한 레이팅값은 데이터 파일의 속성값에 대한 각각의 관련값 및 대응 신뢰 계수의 모든 곱의 평균과 같다.
설명을 위해, 콘텐츠 레이팅 테이블(701a) 내의 "Action Dude"를 참조하면, "Joe Smith"의 관련값 및 신뢰 계수의 곱은 1×1 이어서, 1과 같다. "액션"의 관련값 및 신뢰 계수의 곱은 1×1 이어서, 1이다. 그러므로, 콘텐츠 레이팅 테이블(701a) 내의 "Action Dude"의 레이팅은 1이다.
이와 유사하게, 콘텐츠 레이팅 테이블(701) 내의 "Blast 'EM"에 있어서, "Blast 'Em"은 속성값 "Jane Doe" 및 "액션"을 갖는다. 메타 데이터 테이블(601b) 내의 "Jane Doe"에 대한 관련값 및 신뢰 계수는 각각 -1 및 0이다. 따라서, 콘텐츠 레이팅 테이블(701a) 내의 "Blast 'Em"의 레이팅은 1×0 과 1×1의 평균, 즉, 0.5와 같다. 도 12에 나타난 예에서 콘텐츠 레이팅 테이블(701a) 내의 "The Funny Show" 및 "Hardy Har Har"를 위한 레이팅은 본 발명의 일 실시예와 유사한 방식으로 결정된다.
위 도 9에서 사용자가 "Action Dude" 및 "Funny Show"를 분류했기 때문에, 이들 영화는 콘텐츠 레이팅 테이블(701a) 내에 도시되는 바와 같이 "명시" 레이팅 유형을 갖는다. 사용자가 영화 "Blast 'Em" 및 "Hardy Har Har"를 분류하지 않기 때문에, 이들 영화는 콘텐츠 레이팅 테이블(701a) 내에서 "묵시" 레이팅 유형을 갖는다.
위에서 기술된 내용, 본 발명의 교시 따라 콘텐츠 레이팅 테이블(701) 내에서 레이팅값이 어떻게 분류되는지에 대한 일례를 제공한다. 본 발명의 교시에 따라, 레이팅값은 콘텐츠 조각의 각각의 속성값에 대한 관련값 및 신뢰 계수를 고려하는 다른 방법으로 결정될 수 있다는 것이 이해해야 한다.
일 실시예에서, 콘텐츠 레이팅 테이블(701a) 내의 "다음 처리" 열에 대한 엔트리는 부분적으로, 특정 콘텐츠 조각에 대한 레이팅 및 인 캐시 값으로 결정된다. 예컨대, 0보다 큰 레이팅은 일 실시예에서, 사용자가 특정 영화에 관심을 조금이라도 가질 것이라고 예측된다는 것을 나타낸다고 하라. 그러므로, 영화 "Blast 'Em" 및 "Hardy Har Har"는 사용자에게 조금이라도 관심의 대상일 수 있다. 그래서, 다음 처리는 영화 "Blast 'Em"은 저장소 내에 유지되고, 서버에 의해 나중에 브로드캐스트되면 영화 "Hardy Har Har"는 캡쳐된다는 것을 나타낸다. 위에서 언급한 바와 같이, 영화 "Action Dude"는 사용자가 이미 시청했기 때문에 다음 처리에서 대체되도록 마킹된다.
일 실시예에서, 클라이언트 시스템을 이용하는 사용자에 의해 장래의 상호작용은 위에서 설명한 것과 유사한 프로세싱을 초래한다. 예컨대, 이제 사용자가 "Blast "Em"을 본다고 가정하자. 이 특정 예에서, 사용자는 그 영화를 보기 전에 "Blast 'Em"를 분류하지 않았다. 일 실시예에서, 도 13의 메타 데이터 테이블(601c)에 도시되는 바와 같이, 액세스되는 미분류 데이터 파일의 속성값에 대한 관련값 및 신뢰 계수가 업데이트된다. 영화 "Blast 'Em"은 배우 "Jane Doe"가 주연한 "액션" 영화라는 것을 메타 데이터(501)로 기억하라. 도 11에 도시되는 바와 같이, "Jane Doe"의 관련값은 사용자가 "Blast 'Em"을 보기 전에 0보다 작거나 -1이다. 그러나, 이 예에서, 사용자는 영화가 배우 "Jane Doe"가 주연했다는 사실에도 불구하고 "Blast 'Em"을 시청했다. 따라서, 사용자의 보기 습성을 예측할 때 이 특정 속성값이 관련이 적다고 보이기 때문에 "Jane Doe" 속성값의 신뢰 계수는 하향 조정된다. 그러나, 사용자가 "Blast 'Em"을 보기 전에 "액션"이 0보다 큰 값을 가졌기 때문에 속성값 "액션"에 대한 관련값 및 신뢰 계수는 상향 조정된다. 그래서, 이 예에서, 관련값은 1부터 2로 상향 조정되고, 신뢰 계수 또한 1부터 2로 상향 조정된다. 그러므로, 이제 콘텐츠 레이팅 테이블(601c)은, "액션" 영화가 사용자가 볼 가능성이 높은 영화라고 예측한다.
일 실시예에서, 사용자가 클라이언트 시스템과 상호작용할 때마다, 메타 데이터 테이블(601) 및 콘텐츠 레이팅 테이블(701)은 업데이트된다. 메타 데이터 테이블(601) 및 콘텐츠 레이팅 테이블(701)의 업데이트는 사용자가 콘텐츠 조각을 명시적으로 분류하는 경우 뿐만 아니라, 사용자가 각 콘텐츠 조각에 대응하는 데이터 파일을 액세스할 경우에 수행된다. 메타 데이터 테이블(601) 및 콘텐츠 레이팅 테이블(701)이 업데이트되도록 사용자가 콘텐츠 조각을 명시적으로 분류할 필요가 없다는 사실에 주목하여야 한다. 그 결과, 시간이 지남에 따라 콘텐츠 레이팅 테이블은 사용자가 삽입되는 콘텐츠 조각을 보다 정확하게 예측할 것이다.
일 실시예에서, 사용자가 명시적으로 분류하는 콘텐츠 조각뿐만 아니라 가장 사용자가 가장 관심을 보일 것이라 묵시적으로 예측되는 콘텐츠 조각은 클라이언트 시스템 상에 로컬 캐시되는 콘텐츠 조각일 것이다. 결과적으로, 사용자가 가장 보고 싶어하는 콘텐츠 조각은 자동적으로 로컬 저장되므로 본 발명의 교시에 따라 사용자가 이들 영화를 미리 명시적으로 요청하거나 그 영화를 식별하는 데 사용되는 범위를 명시적으로 규정하지 않고도 온 디멘드로 이용할 수 있다.
이해될 수 있듯이, 본 발명의 교시에 따르면 각 클라이언트 상의 콘텐츠 조각에 대응하는 데이터 파일을 로컬 저장함으로써 브로드캐스트 대역폭이 보다 효율적으로 이용된다. 사실, 사용자가 클라이언트의 로컬 저장소의 영화를 볼 때에는, 어떠한 추가적인 브로드캐스트 대역폭도 이용되지 않는다. 이에 더하여, 본 발명의 교시에 따라 시스템 내에서 수행되는 실질적 프로세싱 양은 그 각각의 메타 데이터 테이블 및 콘텐츠 레이팅 테이블을 업데이트할 때 각 클라이언트 시스템 상에서 수행된다. 본 발명의 분산 프로세싱은 각 추가 클라이언트에 대한 서버에의 비용 증가분이 최소가 되기 때문에 이와 같이 개시된 브로드캐스트 시스템은, 아주 많은 사용자에게 사용 가능하다.
위에서 기술한 바와 같이, 클라이언트 시스템은, 클라이언트 시스템이 과거 의 시청 습관, 콘텐츠 레이팅 및 분류에 기초하여 자동으로, 클라이언트 시스템의 사용자에 의해 수동으로 또는 자동 및 수동의 조합에 의해 생성되는 생성 피드백 정보를 전송할 수 있다. 예컨대, 도 11과 관련하여 위에서 설명한 바와 같이, 각 콘텐츠 조각에 대한 레이팅값은 자동적으로 생성되었다.
다음 브로드캐스트에 대해 고려되는 콘텐츠 조각을 레이팅 및/또는 그에 대한 각각의 랭킹을 제공하게 하는 예시적인 사용자 인터페이스(801)가 도 14에 도시되어 있다. 사용자 인터페이스(801)는 레이팅 탭(803), 랭킹 탭(805), "업데이트 랭크" 버튼(807), 및 "OK" 버튼(809) 및 "취소(CANCEL)" 버튼(811)을 포함한다. 또한, 사용자 인터페이스는 수직 스크롤바(810) 및 수평 스크롤바(812)를 포함할 수 있다. 레이팅 탭(803)은, 일반적으로, 사용자가 각 콘텐츠 조각에 대한 레이팅값(817)을 입력할 수 있는 레이팅열(815)을 따라서 가장 최근에 보낸 현재의 메타 데이터 집합에 관련되는 열 집단을 포함하는 레이팅 테이블(813)을 포함한다. 도시된 실시예에서, 레이팅 테이블(813)은 메타 데이터(501) 전체를 포함한다. 레이팅 테이블은 감독, 추가적인 배우, 나레이션 등과 같은 다른 메타 데이터 속성에 대응하는 (도시되지 않은) 추가 열을 포함할 수 있다. 이들 추가 열은 수평 스크롤바(812)를 작동하여 액세스할 수 있는데, 여기서 사용자 인터페이스는 속성이 현재 디스플레이되는 여부와 무관하게 레이팅열(815)이 항상 사용자에게 보이도록 인터페이스가 일 실시예에 설계되어 있다.
일 실시예에서, 사용자는 선택 콘텐츠 조각에 대한 레이팅값(817)을 0~100까지 입력할 수 있는데, 여기서 낮은 레이팅값은, 사용자가 콘텐츠 조각에 대응되는 데이터 파일을 수신하는 데 관심이 없다는 것을 나타내고, 높은 레이팅값은 그 콘텐츠 조각에 관심을 갖는다는 것을 나타낸다. 일 실시예에서, 사용자는 키보드, 키패드 등을 사용함으로써 레이팅값(817)을 입력할 수 있다. 예컨대, 위에서 논의한 바와 같이, 클라이언트 시스템은 일반적으로 원격 제어나 도 4a 및 4b의 원격 키보드(137)에 의해 도시되는 것과 같은 원격 키보드의 사용을 통해 액세스되는 셋톱 박스를 포함할 수 있다. 클라이언트 시스템이 데스크탑 컴퓨터를 포함하면, 컴퓨터의 키보드는 도 4c의 키보드(139)에 의해 도시되는 바와 같이, 데이터를 입력하기 위하여 사용될 수 있다. 선택에 따라, 드롭다운 제어(819)가 각 행에 대해 제공될 수 있는데, 사용자는 셋톱 박스 클라이언트 시스템을 위한 셋톱 박스 커서 장치(도시 생략) 또는 도 4c의 마우스(141)에 의해 도시되는 것과 같은 컴퓨터 클라이언트 시스템을 위한 마우스 등 입력 장치의 사용을 통해 드롭다운(dropdown) 목록(821)으로부터 레이팅값을 선택할 수 있다.
랭킹탭(805)의 다양한 사용자 인터페이스 뷰는 도 15a~15c에 도시되어 있다. 랭킹탭(805)은 레이팅열(815)이 랭킹 열(825)로 대체된다는 것만 제외하고 레이팅 테이블(813)의 열과 유사한 열을 포함하는 랭킹 테이블(823)을 포함한다. 사용자는 랭킹 열(825) 내의 상대적인 랭킹값(827)을 입력하여 클라이언트 시스템에 의해 수신된 현재의 메타 데이터 집합에 대응하는 모든 또는 일부 콘텐츠 조각의 사용자 상대적인 랭킹을 반영할 수 있다. 예컨대, 사용자는 도 15a에 도시되는 바와 같이 1, 2, 3 등의 랭킹값을 입력할 수 있다. 선택에 따라, 사용자는 도 15a의 커서 드래그 앤드 드롭 이동(829)에 의해 도시되는 바와 같이, 랭킹 테이블(823) 내의 새로운 위치에 선택된 콘텐츠 조각을 드래그 앤드 드롭(drag and drop)할 수 있는데, 이 동작의 결과는 도 15b에 반영되어 있다. 도 15c에 도시되는 바와 같이, 일 실시예에서, 사용자는 업데이트 랭크 버튼(807)을 활성화하여 랭킹 테이블(805) 내의 콘텐츠 조각이 그 랭킹에 따라 다시 순서가 정해지게 하는데, 여기서 최상의 랭킹 콘텐츠 조각이 테이블의 상단에 나타난다.
콘텐츠 레이팅 및/또는 상대적인 랭킹이 수동으로 입력 및/또는 자동으로 생성된 후에, 현재 메타 데이터 집합에 대응하는 클라이언트 요구 피드백 세트는 브로드캐스트 작업 센터에 다시 전송된다. 일반적으로, 클라이언트 요구 피드백 데이터는 주기적 또는 비동기적으로 상향 전송될 수 있다. 예컨대, 메타 데이터가 스케쥴을 통해 브로드캐스트되는 일 실시예에서, 메타 데이터 브로드캐스트 스케쥴로부터 오프셋되는 유사 스케쥴은 클라이언트 요구 피드백 데이터가 실질적으로 "배치(batch)" 모드로 브로드캐스트 작업 센터에 상향 전송되게 하는 데 사용될 수 있다. 또는, 소정의 시간이 만료되거나, 사용자가 현재 메타 데이터 집합에 대응하는 콘텐츠 조각을 레이팅 또는 랭킹했다고 판별하면, 클라이언트 요구 피드백 데이터는 브로드캐스트 작업 센터에 상향 전송될 수 있다. 이는 "비동기적"이라 지칭되는데, 이러한 이유는 클라이언트 요구 피드백 데이터가 스케쥴에 따르지 않는 방식으로 실질적으로 랜덤한 방식으로 전송되기 때문이다. 또 다른 실시예에서, 각각의 콘텐츠 조각에 대한 레이팅 데이터는, 클라이언트 시스템이 그 콘텐츠 조각에 대한 콘텐츠 기술자를 프로세싱함에 따라 브로드캐스트 작업 센터에 전송된다.
일반적으로, 클라이언트 요구 피드백 데이터는 주어진 클라이언트 시스템의 사용자가 원하는 정도를 반영하여 현재의 메타 데이터 집합에 대응하는 콘텐츠 조각을 수신한다. 이 피드백 요구 데이터는 수동 레이팅, 수동 랭킹, 자동 생성 레이팅 또는 이러한 피드백 요구 속성값의 조합을 포함할 수 있다. 예컨대, 일 실시예에서, 클라이언트 요구 피드백 데이터는 사용자 생성 레이팅 및/또는 랭킹만 포 함하는데, 여기서 클라이언트 시스템의 사용자에 의해 레이팅 및/또는 랭킹되지 않은 콘텐츠 조각에 대해서는 피드백 데이터가 없다. 일 실시예에서, 사용자 생성이 아닌 임의의 콘텐츠 조각에 대한 레이팅은 도 5의 순서도에 관하여 위에서 설명한 프로세스를 사용하여 자동으로 생성된다. 또 다른 실시예에서, 자동 및 수동으로 생성되는 피드백의 조합이 사용되나 피드백 데이터는 현재의 메타 데이터 집합 내의 콘텐츠 조각부에만 대응한다.
수동 및 자동 생성 요구 피드백 데이터의 조합이 사용되는 예에서, 스케일링/오프셋 알고리즘이 적용되어, 사용자가 콘텐츠 조각을 수신하기 원하는 정도를 보다 정확하게 반영하는 공통적으로 가중된 요구 피드백 데이터의 집합을 제공할 수 있다. 예컨대, 위의 예에서, 자동 생성된 레이팅이 -10~10의 범위를 갖고, 사용자 생성 레이팅은 0~100의 범위를 갖는다. 공통 범위를 사용하여 레이팅값 세트를 생성하도록 두 가지 범위 중 하나가 조정된다. 예컨대, -10~10 범위 내의 각 값에는 5가 곱해지고, 이어서 50이 더해져 0~100 범위에 맞는 값을 생성한다. 또 다른 예에서, 자동 생성된 레이팅보다 사용자의 명시적 레이팅을 높게 가중하는 것이 바람직할 수 있다. 그래서, 전술의 예에서, -10~10 자동 범위값은 스케일 계수(scale factor) 및 오프셋에 의해 스케일링되어 최대 자동 생성 값 10에 대해 100보다 작은 레이팅값을 초래할 것이다.
콘텐츠 조각을 수동으로 랭킹하는 것과 아울러, 다른 콘텐츠 조각은 그 콘텐츠 조각들에 대한 레이팅값을 먼저 자동으로 생성하고, 이어서 이들 레이팅값에 기초하여 각각의 랭킹을 생성함으로써 자동으로 랭킹될 수 있다. 일 실시예에서, 수 동 및 자동으로 랭킹된 값이 결합되면, 최상으로 랭킹된 자동 랭킹 콘텐츠 조각은 최하로 랭킹된 수동 랭킹 콘텐츠 조각보다 아래로 랭킹된다. 일 실시예에서, 자동 랭킹 콘텐츠 조각은 클라이언트 요구 피드백 데이터 내에 포함되는 각각의 랭킹 조합 세트 내에서 임의의 위치를 점유할 수 있다. 또 다른 실시예에서, 최하로 랭킹된 수동 랭킹 콘텐츠 조각과 최상으로 랭킹된 자동 랭킹 콘텐츠 조각 간에 갭이 있다. 예컨대, 특정 메타 데이터 집합은 브로드캐스트 작업 센터에 의한 브로캐스트를 위해 고려되는 40개의 콘텐츠 조각에 대응하고, 사용자는 선택된 콘텐츠 조각을 1~9로 랭크한다. 이어서, 나머지 콘텐츠 조각(31)은 10~40, 또는 15~45, 20~50 등으로 랭킹될 수 있다. 이는, 자동으로 생성된 랭킹보다 사용자 랭킹을 선호하는 가중 계수를 제공한다.
클라이언트 요구 피드백 데이터를 가중하는 데 사용될 수 있는 또 다른 고려 사항은 클라이언트 시스템이 특정 콘텐츠 조각을 캐시함으로써 생성될 수 있는 잠재적 수입이다. 예컨대, 페이 퍼 뷰 콘텐츠는 클라이언트 요구 피드백 데이터 내의 이러한 콘텐츠에 대한 요구 "값"을 증가시키는 가중 계수를 가질 수 있다. 일 실시예에서, 잠재적 수입은 랭킹이 동일할 때 우선 순위를 결정하기 위하여 사용될 수 있다. 다른 실시예에서, 잠재적 수입은 레이팅값 또는 상대적인 랭킹값을 올릴 수 있다.
본 발명의 또 다른 측면은 클라이언트 시스템의 분할과 관련되는데, 여기서 상이한(또는 동일한) 메타 데이터 및 대응 클라이언트 요구 피드백 데이터의 집합은 상이한 분할 클라이언트 세트로 브로드캐스트되고 그로부터 수신될 수 있다. 예컨대, 5개의 클라이언트 시스템(151, 153, 155, 157, 159)의 집합을 포함할 수 있는 클라이언트 시스템 집합은 도 16에 도시되는 것과 같이 지리적 구역에 따라 분할될 수 있다. 이는, 북서 영역 NW, 남서 영역 SW, 중동 영역 ME, 북동 영역 NE 및 남서 영역 SW를 포함하는 5개의 영역으로 분할된다. 일 실시예에서, 다양한 클라이언트 시스템 집합은, 도 16에 도시되는 것과 같은 AT&T 브로드캐스트 가입자(152), 서든 캘리포니아 미디어 원 가입자(154), 시카고 지역 미디어 원 가입자(156), 뉴욕 지역 타임 워너 케이블 가입자(158) 및 사우스 이스트 TWE-AN 가입자(160)와 같은 지역 케이블 제공자에 의해 제공되는 케이블 시스템과 같은 브로드캐스트를 수신하기 위하여 사용하는 네트워크에 따라 다양한 클라이언트 세트가 분할된다. 또 다른 실시예에서, 클라이언트 조합은 그 브로드캐스트 네트워크를 운영하는 MSO(복수 시스템 운영자)에 기초하여 분할된다. 예컨대, 상위 7개의 케이블 MSO는 AT&T 브로드밴드, 타임워너 케이블, 컴캐스트 케이블 커뮤니케이션, 차터 커뮤니케이션, 콕스 커뮤니케이션, 아델피아 커뮤니케이션 및 케이블비전 시스템을 포함하는데, 여기서, 각각의 MSO는 넓은 지리적 구역에 거쳐 산재될 수 있는 다수의 지역적 케이블 시스템을 운영한다.
도 16에 도시되는 바와 같이, 일 실시예에서, 동일 또는 상이한 메타 데이터 집합 및/또는 후속하는 콘텐츠의 브로드캐스트 집합은 중앙 브로드캐스트 작업 센터(161)로부터 브로드캐스트된다. 여기서, 중앙 브로드캐스트 작업 센터는 안테나(162)로부터 업링크를 통해 하나 이상의 위성(164)에 데이터를 전송하고, 그 다음, 위성은 그 데이터를 각각의 지역 케이블 시스템 운영자에 의해 동작되는 수 신 안테나(163, 165, 167, 169, 171)로 브로드캐스트할 수 있다. 이어서, 지역적 케이블 시스템 조작자는 메타 데이터 및/또는 브로드캐스트 콘텐츠를 그 가입자 클라이언트에게 전송한다. 어떤 예에서, 케이블 시스템 조작자는 수신하는 브로드캐스트 데이터를 "저장"하고 그 후, 그 데이터를 가입자 클라이언트에게 "전달"할 것이다. 이 유형의 브로드캐스트 방법은 다단 "저장 및 전달" 브로드캐스트(multistage "store and forward" broadcast)로서 알려져 있는데, 여기서 데이터는 상이한 "단" 간에 브로드캐스트되고, 그 단에 의해 저장되고 다음 단으로 전달되어 현재 단의 브로드캐스트 스케쥴 선호도를 충족시킨다. 도 16에 도시되는 일 실시예에서, 세 개의 단은 중앙 브로드캐스트 작업 센터, 지역 케이블 시스템 운영자 및 지역 케이블 시스템의 가입자 클라이언트에 대응하는 클라이언트 시스템이다. 이 예에서, 케이블 시스템 운영자는 중간 단을 나타낸다. 또한, 중앙 위치에서 브로드캐스트 데이터를 수신 및 저장하고, 이어서 MSO 하에서 동작되는 하나 이상의 지역 케이블 시스템 운영자에게 브로드캐스트 전달하고, 이에 따라, 지역적 케이블 시스템 운영자는 브로드캐스트 데이터를 독립적으로 저장하고 그 가입자에게 전달하는 등의 추가적인 중간 단계를 구비할 수 있다. 일 실시예에서, MSO는 브로드캐스트 데이터를 지역 케이블 시스템 운영자에게 다른 시간에 전달한다.
클라이언트 시스템을 브로드캐스트 작업 센터에 결합시키는 위성 브로드캐스트 시스템 또는 다른 유형의 브로드캐스트 링크로부터 통신을 수신하도록 구성되면 클라이언트 시스템은 중앙 브로드캐스트 작업 센터(161)로부터 데이터를 직접 수신 할 수 있다는 것을 유념해야 한다. 일 실시예에서, 도 16에 도시되는 바와 같이, 각 분할 클라이언트 집합은 클라이언트 피드백 데이터를 로컬 서버(175)에 제공하고, 이어서 그 클라이언트 요구 피드백 데이터를 중앙 브로드캐스트 작업 센터(151)에 전달한다. 선택에 따라, 각 분할 클라이언트 집합은 브로드캐스트를 수신하여 클라이언트 요구 피드백 데이터를 지역 브로드캐스트 작업 센터에 상향 전송한다.
위에서 논의한 바와 같이, 개개의 클라이언트 요구 피드백 데이터 집합이 다양한 클라이언트 시스템에 의해 생성되면, "상향 채널" 통신 링크를 통해 브로드캐스트 작업 센터에 하향 전송되고, 여기서 이들은 브로드캐스트 작업 센터에 모여서 브로드캐스트 스케쥴 큐(133)를 위해 사용되는 순서를 형성한다. 사용되는 특정 "상향 채널" 통신 링크는 브로드캐스트 및 피드백 시스템 인프라구조에 의존할 것이다. 일단 클라이언트 요구 피드백 데이터가 클라이언트로부터 전송되면, 브로드캐스트 작업 센터에서의 "프론트-앤드"에 의해 수신되고, 여기서, 클라이언트 요구 피드백 데이터가 저장 및 프로세싱되는 데이터베이스(149)를 동작시키는 데이터 서버(147)에 전달된다. 전형적인 프론트 앤드는 클라이언트 피드백 데이터를 수신하여 그것을 데이터베이스 서버(147)로 라우팅하기 위하여 사용되는 애플리케이션 코드를 갖는 하나 이상의 네트워크 또는 웹 서버(148)(도 4c 참조)를 포함할 수 있다. 이에 더하여, 다양한 스위치 및 방화벽이 프론트 앤드와 데이터베이스 서버 사이에 위치할 수 있다(명확성을 위해, 이들 시스템의 프론트 앤드에서 사용되는 다양한 구성요소들은 본 명세서의 도면에 도시되지 않는다). 또 다른 실시예에서, 데이터베이스 서버(147)는 이들 프론트 앤드 프로세스를 위해 직접 사용될 수 있다. 다른 실시예에서, 클라이언트 요구 피드백 데이터는 로컬 서버에 전송될 수 있고, 이어서, 클라이언트 요구 피드백 데이터는 그 클라이언트 요구 피드백 데이터는 브로드캐스트 작업 센터에 의해 동작되는 데이터베이스 서버에 전달한다.
위에 기술한 바와 같이, 자동 생성 레이팅은 사용자의 이전 보기 습성(즉, 현재 캐시되거나 이전에 캐시된 콘텐츠 조각에 응답하는 보기 습성)과, 사용자에 의해 제공되는 이전의 레이팅 및 분류로부터, 그리고 관련성 및 신뢰 계수의 사용을 통해 유도될 수 있다. 어떤 경우에는, 사용자의 이전 보기 습성에 관련된 데이터는 프라이버시를 고려하여 사용되지 않을 수 있다. 그러나, 대부분의 프라이버시에 따른 문제를 극복하기 위해, 일 실시예에서, 클라이언트 요구 피드백 데이터 집합이 전송된 클라이언트 및/또는 사용자를 식별하지 않도록 보장되는 메카니즘을 통해 클라이언트 요구 피드백 데이터를 브로드캐스트 센터에 상향 전송된다. 예컨대, 이 "익명의" 클라이언트 구성은 프록시(proxy)로서 제 3 자를 사용하는 암호화 프로세스를 통해 구현될 수 있는데, 여기서, 제 3자에 의해 운영되는 암호 해독 서비스를 통해 클라이언트 요구 피드백 데이터는 암호화되고 브로드캐스트 작업 센터나 다른 사람들은 접근할 수 없는 개인키(private key)를 사용하여 전달되어야 한다. 이어서, 제 3 자는 클라이언트 요구 피드백 데이터를 브로드캐스트 작업 센터에 전달한다. 이러한 방식으로, 브로드캐스트 작업 센터는, 소정의 클라이언트 요구 피드백 데이터의 집합을 어느 클라이언트 시스템으로부터 수신하였는지에 대해서는 알지 못한다.
사용자에 의해 및/또는 자동으로 생성된 레이팅 및/또는 상대적인 랭킹 요구 데이터가 저장되는 콘텐츠 피드백 요구 테이블(177)을 포함하는 전형적인 클라이언트 요구 피드백 데이터 집합(175)이 도 17에 도시되어 있다. 이 요구 데이터에 더하여, 각 클라이언트 요구 피드백 데이터 집합은 적절한 클라이언트 요구 피드백 데이터(즉, 가장 최신(갱신된) 메타 데이터 집합에 대응하는 클라이언트 요구 피드백 데이터)만 브로드캐스트 스케쥴 큐(133)를 판별하는 데 사용되도록 그 데이터를 조직하는 데 데이터베이스(149)에 의해 사용되는 메타 데이터 집합 식별자를 포함할 것이다. 예컨대, 브로드캐스트되는 각 메타 데이터의 집합은 그 메타 데이터 집합을 유일하게 식별하는 타임 스탬프 또는 일련 번호를 포함하는 메타 데이터 식별자(179)를 가질 수 있는데, 여기서 메타 데이터 식별자는 콘텐츠 피드백 요구 테이블(177) 내의 데이터를 이용하여 상향 전송된다. 클라이언트 시스템이 분할되도록 구현되면, 영역 식별자(181), 로컬 브로드캐스트 시스템 식별자(183) 및 MSO 식별자(185)에 의해 설명의 편의상 도시되는 바와 같이, 클라이언트 피드백 데이터(175)는 하나 이상의 대응 분할 식별자를 포함하는 것이 바람직하다.
일반적으로, 콘텐츠 피드백 요구 테이블 내의 열은 다양한 클라이언트 시스템에 의해 제공되는 피드백 데이터 유형에 따라 변할 수 있다. 그러나, 콘텐츠 피드백 요구 테이블은 클라이언트 요구 피드백 데이터가 적절한 콘텐츠 조각을 식별하기 위하여 사용되는 열을 항상 포함할 것이다. 도 17에 도시되는 실시예에서, 이 열은 "CONTENT_ID" 열(187)로서 도시되는데, 이는 클라이언트 요구 피드백 데이터 집합이 사용하는 각 콘텐츠 조각에 대한 이름을 포함하는 콘텐츠 식별자를 포함 한다. 바람직하게, 각 콘텐츠 식별자는 유일한 알파벳 문자 조합을 포함할 것이다. 몇몇 경우에 있어서는, 목록은 전체 클라이언트 요구 피드백 데이터에 대응하는 현재 메타 데이터 집합에 대응하는 모든 콘텐츠 조각에 대한 콘텐츠 식별자를 포함할 것이고, 다른 경우에 있어서는, 클라이언트 요구 피드백 데이터의 부분 집합만이 클라이언트 시스템으로부터 수신될 것이다.
다양한 콘텐츠 조각에 대응하는 사용자 생성 레이팅은 USER_RATING 열(189) 내에 포함되고, 자동 생성된 레이팅은 AUTO_RATING 열(191) 내에 포함된다. 선택적인 실시예에서, 사용자 및 자동 레이팅은 하나의 열로 병합될 수 있다. 이러한 실시예에서, 레이팅이 명시적 또는 묵시적으로 생성되었는 지 나타내는 또 하나의 열이 사용될 수 있다. 이 정보를 제공함으로써, 가중치가 데이터베이스 서버(147)에 의해 다양한 레이팅 데이터에 사용될 수 있다. 선택에 따라, 레이팅 데이터는 클라이언트 시스템에 의해 사용되는 하나 이상의 가중치 알고리즘에 의해 이미 가중치가 적용된 상태일 수 있다.
전술한 열에 더하여, "USER_RANK" 열(193)은 사용자 생성 상대적인 랭킹을 포함하고, "COMB_RANK" 열(195)은 사용자가 생성하거나 자동 생성된 상대적인 랭킹의 조합을 포함한다. 위에서 논의한 것과 유사하게, 상대적인 랭킹 데이터는 각 콘텐츠 조각에 대한 랭킹이 어떻게 유도되었는 지 식별하는 별도의 열과 사용자가 생성하거나 자동 생성된 랭킹에 대한 별도의 열을 갖거나 갖지 않는 단일의 열(예컨대, "COMB_RANK" 열(195))을 사용하여 제공될 수 있다.
클라이언트 요구 피드백 데이터가 레이팅 데이터만, 또는 상대적인 랭킹 데 이터만 또는 레이팅 및 상대적인 랭킹 데이터의 조합을 포함할 수 있다는 것에 유념하여야 한다. 또한, 각각의 클라이언트 요구 피드백 데이터 집합은 단일 콘텐츠 기술자에 대응하는 데이터, 현재의 메타 데이터 집합 내에 제공되는 콘텐츠 기술자 부분 또는 현재의 메타 데이터 집합 내의 각 콘텐츠 기술자에 대응하는 데이터를 일반적으로 포함한다. 레이팅 피드백에 있어서, 클라이언트 시스템은 각각의 콘텐츠 기술자에 대한 레이팅 피드백을 제공할 수 있는데, 여기서 제공된 클라이언트 시스템은 메타 데이터의 브로드캐스트를 통해 대응하는 콘텐츠 기술자를 수신하는 것에 응답하여 레이팅 피드백을 제공할 수 있다. 예컨대, 일 실시예에서, 클라이언트 시스템의 전부 또는 일부가 콘텐츠 조각에 대한 콘텐츠 기술자를 수신하는 것에 응답하여 각 콘텐츠 조각에 대한 레이팅 피드백을 자동으로 생성할 수 있는데, 레이팅 피드백은 브로드캐스트 작업 센터에 전송되어 비동기적으로 취합될 것이다. 상대적인 랭킹 데이터의 경우에, 적어도 두 개의 콘텐츠 조각이 랭킹되어야 한다. 다른 실시예에서, 각 클라이언트 요구 피드백 데이터의 집합은 현재의 메타 데이터 집합에 대응하는 각 콘텐츠 조각에 대한 피드백 데이터인 "전체" 피드백 데이터 집합을 포함할 것이다.
다양한 클라이언트 피드백 요구 데이터가 브로드캐스트 작업 센터에 의해 수신됨에 따라, 이는 데이터베이스 서버(147)에 의해 데이터베이스(149) 내에 저장된다. 일반적으로, 데이터베이스 서버(147)는 오라클에 의해 개발된 SQL형 RDBMS 서버 제품(예컨대, 오라클 8i 엔터프라이즈 에디션), 마이크로소프트(SQL서버 7), 인포믹스 및 시베이스와 같은 관계 데이터베이스 관리 시스템(RDBMS) 서버 소프트웨 어 패키지를 실행하는 컴퓨터 서버를 포함할 것이다. 전술한 데이터베이스 서버 제품은 다수의 접속부를 사용하여 대량의 처리량을 취급하도록 구성된다. 다른 실시예에서, 마이크로소프트 액세스 및 파라독스(paradox)와 같은 덜 복잡한 데이터베이스 서버 제품이 사용될 수 있다. 일부 시스템 구성에서, 데이터베이스 서버 및 브로드캐스트 서버는 단일의 머신을 포함할 수 있다. 다른 구성에서, 데이터베이스 서버 및 브로드캐스트 서버는 별도의 머신을 포함할 것이다.
일반적으로, 클라이언트 피드백 요구 데이터는 하나 이상의 데이터베이스 테이블을 사용하여 집합적으로 데이터베이스 "스키마(schema)"를 포함하는 데이터베이스(149) 내에 저장될 것이다. 예컨대, 클라이언트 요구 피드백 데이터(175)에 대응하는 데이터는 메타 데이터 식별자가 저장되는 "META_ID" 열(199), 영역 식별자가 저장되는 "REG_ID" 열(201), 브로드캐스트 식별자가 저장되는 "BCAST_ID" 열 및 콘텐츠 식별자가 저장되는 "CONTENT_ID" 열(205)을 포함하는 "요구 데이터" 테이블(197) 내에 저장될 수 있다. 요구 데이터 테이블(197)은 사용자 레이팅 데이터가 저장되는 "USER_RANK" 열(207), 자동 생성 레이팅이 저장되는 "AUTO_RATING" 열(209), 사용자 상대적인 랭킹이 저장되는 "USER_RANK" 열(211) 및 사용자 및 자동 생성 랭킹의 조합이 저장되는 "COMB_RANK" 열(213)을 더 포함한다.
브로드캐스트 스케쥴 큐(133)는 데이터베이스(149)에 질의 작업을 수행하여 일반적으로 유도될 수 있는 데이터베이스 서버(147) 또는 브로드캐스트 서버(103)에 의해 유지될 수 있다. 일반적으로, 브로드캐스트 스케쥴 큐(133)는 현재의 메타 데이터 집합에 대한 콘텐츠 조각에 대응하는 콘텐츠 식별자 순서 목록을 포함할 것인고, 여기서, 콘텐츠 식별자는 클라이언트 시스템에 의해 제공되는 클라이언트 요구 피드백 데이터를 모음으로써 그 대응하는 콘텐츠 조각에 대한 제각기의 요구에 따라 결정되는 위에서부터 아래로 순서가 정해진다. 선택에 따라, 순서 목록은 이용 가능한 브로드캐스트 대역폭, 다양한 브로드캐스트와의 계약 요구사항 등과 같은 다른 고려사항에 따라 조정될 수 있다.
일 실시예에서, 각 클라이언트 피드백 데이터 집합이 데이터베이스 서버(147)에 의해 수신되면, 데이터는 파싱(parsed)되고, 요구 피드백 데이터를 갖는 각 콘텐츠 조각에 대응하는 각각의 레코드는 데이터베이스(149)에 입력되고, 순서 목록은 새로운 데이터 집합에 따라 자동으로 기록된다. 예컨대, 클라이언트 요구 피드백 데이터는 데이터베이스 서버(147)에 의해 수신되고, 개개의 "행"으로 변환되고, "요구 데이터 "테이블(197) 내로 삽입되는 콤마 구분(comma-delimitated) 목록 또는 XML 데이터 집합을 포함할 수 있다. 삽입되는 것에 응답하여, 요구 데이터 테이블(197)에 대한 "삽입 후(after insert)" 트리거는 현재의 메타 데이터 집합에 대한 메타 데이터 식별자를 참조하는 요구 데이터 테이블(197) 내의 기존 데이터에 기초하여 순서 목록 순서를 다시 정하는 질의(215)를 자동으로 실행하는 데 사용될 수 있다. 그 결과, 브로드캐스트 스케쥴 큐(133)는 브로드캐스트 작업 센터에 의해 수신되는 각 클라이언트 요구 피드백 데이터 집합에 응답하여 업데이트될 것이다.
질의(215)의 다른 세부사항들은 도 18에 도시되어 있다. 일반적으로, 질의(215)는 클라이언트 시스템(105, 107, 109)으로부터 수신되는 다양한 클라이언 트 피드백 데이터(129)를 취합함으로써 브로드캐스트 스케쥴 큐(133)에 사용되는 순서 목록을 생성한다. 위에서 기술한 바와 같이, 이들 클라이언트 요구 피드백 데이터는 데이터베이스(149) 내의 하나 이상의 테이블 내에 저장된다. 이들 테이블에 더하여, 데이터베이스(149)는 수입 계수(revenue factor), 메타 데이터, 가중 계수, 콘텐츠 속성 테이블, 분할 테이블 등과 같은 질의(215)에 의해 사용되는 정보를 포함하는 다른 테이블도 포함할 수 있다. 일반적으로, 질의(215)는 데이터베이스 서버(147) 상에서 실행하거나 브로드캐스트 서버(103)로부터 실행하는 애플리케이션에 의해 공급되는 다양한 입력에 의하여 형성될 것이다. 일반적으로, 이들은 다음의 하나나 그 이상을 포함할 수 있다 : 현재의 메타 데이터 집합에 대응하는 메타 데이터 식별자(217), 분할이 사용되는 경우 다양한 분할 식별자(219), 레이팅 가중 계수(221), 랭킹 가중 계수(223), 취합 공식(225)(예컨대, 합, 평균, 최대 등), 사업적 고려사항(227) 및 통계적 고려사항(229).
브로드캐스트 스케쥴 큐(133)를 생성하기 위하여 사용되는 특정 질의는 브로드캐스트 작업 센터에 의해 제공되는 소정의 입력에 의존할 것이다. 예컨대, 일 실시예에서, 레이팅은 순서 목록을 결정하는 데 사용되는데, 여기서 콘텐츠 조각은 평균 레이팅 또는 통계적 평균 레이팅과 같은 레이팅 집합에 따라 순서가 정해진다. 또 다른 실시예에서, 상대적인 랭킹이 사용되고, 순서 목록은 사전결정된 랭킹 공식에 따라 결정된다. 상위 25개 단체 대학 스포츠 팀 랭킹과 같이 많은 랭킹에 사용되는 랭킹 공식을 예로 들 수 있다. 현재의 메타 데이터 집합에 대해 랭킹 범위가 결정된다. 예컨대, 현재 메타 데이터의 집합이 50개의 콘텐츠 조각에 관련 되는 콘텐츠 기술자를 포함하고 수동 내지 자동 생성된 랭킹 오프셋이 사용되지 않으면, 이들 콘텐츠 조각에 알맞은 클라이언트 요구 피드백 데이터는 1 내지 50의 랭킹값을 가질 것이다. (일부 콘텐츠 조각은 클라이언트 시스템부에 의해 랭킹되지 않으나, 모든 콘텐츠 조각은 적어도 어떤 클라이언트 시스템에 의해 랭킹될 것이라는 것을 유념해야 한다) 이어서, 각 랭킹값에 1을 더한 값과의 차이에 기초하여 재계산될 것이다. 예컨대, 본 예에서, 51로부터의 차이값이 취해져 원래 랭킹 1은 이제 50값을 가질 것이고, 원래 랭킹 50은 이제 1값을 가질 것이다. 재계산된 값은 간단히 합쳐져, 최상의 합을 갖는 콘텐츠 조각은 순서 목록의 상부에 배치된다.
전술한 방법은 랭킹되지 않은 콘텐츠보다 랭킹된 콘텐츠가 더 많은 가중치가 추가되도록 한다. 예를 들면, 어떤 경우에는, 관심이 없는 콘텐츠 랭킹보다 사용자가 관심을 갖는 콘텐츠 랭킹에 사용자가 보다 관심을 가질 것이다. 따라서, 어떠한 레이팅이라도 갖는 콘텐츠 조각이 가중되지 않은 콘텐츠 조각보다 더 많이 요구된다고 생각될 것이다. 이와 반대로, 다른 경우에는, 사용자가 특정 콘텐츠를 랭크하는 경향이 있다고 판별되지만, 사용자는 콘텐츠가 브로드캐스트되면 일반적으로 이 콘텐츠를 캐시하지 않고, 대신 사용자가 명시적으로 랭크하지 않은 콘텐츠를 캐시하도록 선택한다. 이 경우에, 이들 자동 랭킹된 콘텐츠 조각에 보다 높은 가중치가 주어질 수 있다. 다른 실시예에서, 레이팅 및 랭킹 데이터의 조합은 브로드캐스트 스케쥴 큐(133)에 사용되는 순서 목록을 결정하는 데 사용될 수 있다.
위에서 기술한 바와 같이, 레이팅 데이터를 리스케일링하고 오프세팅과, 그 데이터 웨이팅 등과 같은 다양한 데이터 처리 기능이 클라이언트 시스템 상에서 수 행되었다. 선택적인 실시예에서, 이들 기능은 데이터베이스 서버(147)에 의해 수행될 수 있다. 예컨대, 클라이언트 피드백 데이터는 테이블형 포맷에 대응하여 전송될 수 있는데, 여기서 데이터값이 어떻게 생성되었는 지 식별하는 데 추가의 열이 사용될 수 있고, 삽입 질의 또는 질의 세트가 데이터베이스 서버(147)에 의해 수행되어 레이팅 데이터를 리스케일링 및 오프셋하고, 상이한 가중 계수를 사용자 및 자동 생성 클라이언트 요구 피드백 데이터 등에 적용한다.
도 18의 아래쪽에 도시되고 위에서 기술한 바와 같이, 각 콘텐츠 조각을 브로드캐스트하면, 그 콘텐츠 조각에 대한 클라이언트 요구 데이터는 블록(231)에서 리셋된다. 일 실시예에서, 현재의 메타 데이터 집합 및 콘텐츠 조각에 대응하는 모든 레코드는 삭제된다. 또 다른 실시예에서, 현재의 메타 데이터 집합 및 콘텐츠 조각에 대한 모든 데이터값은 무효화(nulled)된다. 또 다른 실시예에서, 모든 행에 있어서, 현재의 메타 데이터 콘텐츠 조각트에 대응하는 메타 데이터 식별자는 변환된다. 이들 각 리셋 프로세스의 결과는 콘텐츠 조각이 브로드캐스트 스케쥴 큐(133)의 하부로 떨어지는 것이고, 새로운 클라이언트 피드백 요구 데이터에 응답이 있는 경우에만 큐의 상부로 복귀될 수 있다.
현재의 메타 데이터 집합에 대응하는 콘텐츠 조각 전부 또는 일부에 대해 제한된 양의 클라이언트 요구 피드백 데이터가 있는 경우에는 통계적 고려사항(229)이 사용될 수 있다. 예컨대, 위에서 설명한 바와 같이, 제공된 콘텐츠 조각에 대한 클라이언트 요구 피드백 데이터는 그 콘텐츠 조각을 브로드캐스트할 때 리셋된다. 이는, 콘텐츠 조각에 대한 새로운 클라이언트 요구 피드백 데이터가 수신될 때까지 그 콘텐츠 조각이 순서 목록의 상부로 올라갈 수 없다는 것을 보장한다. 질의(215)가 평균 레이팅 데이터를 포함하면, 일반적으로 충분한 개수의 클라이언트 시스템이 그 콘텐츠 조각에 대한 요구 피드백 데이터를 제공할 때까지 그 콘텐츠 조각이 순서 목록의 상부로 복귀하는 것을 방지하는 것이 바람직할 것이다. 예컨대, 최근에 브로드캐스트된 특정 콘텐츠 조각이 요구도가 높은 새로이 개봉된 주요 블럭버스터 영화라고 가정하자. 그 콘텐츠 조각 레이트에 관한 첫 10개 세트의 클라이언트 피드백 요구 데이터가 100(또는 다른 최대 값)으로서 레이트하면, 그 콘텐츠 조각은 보통 순서 목록의 상부로 이동할 것이다. 그러나, 최소 개수의 클라이언트 피드백 요구 데이터 개수를 요구하는 것과 같은 통계적 고려 사항(229)을 사용함으로써, 최소 범위에 도달될 때까지 그 콘텐츠 조각은 고려되지 않을 수 있다.
다른 질의 고려사항들은 하나 이상의 메타 데이터 집합에 대응하는 클라이언트 요구 피드백 데이터가 순서 목록을 형성하기 위하여 사용되는 경우를 예로 들 수 있다. 이 경우에, 콘텐츠 조각 목록은 다수의 메타 데이터 집합 내에 설명되는 모든 상이한 콘텐츠 조각을 포함할 것이다. 일반적으로, 다양한 콘텐츠 조각의 선호도가 떨어지면, 연속되는 메타 데이터의 집합이 변할 수 있도록 그 콘텐츠 조각은 새로운 콘텐츠 조각으로 대체될 수 있을 것이다. 일반적으로, 브로드캐스트를 위해 고려되는 콘텐츠 조각에 대응하는 목록은 전체적으로 변경되지 않고 다소 서서히 변할 것이다. 예컨대, 메타 데이터 집합이 100개의 콘텐츠 조각에 대응하면, 새로운 메타 데이터는 일반적으로, 20개 이하가 아니라 적어도 이전의 세트로부터의 80 또는 90개의 콘텐츠 조각을 포함할 것이다. 순서 목록이 단일(예컨대, 현재) 메타 데이터 집합으로부터의 콘텐츠 조각만 포함하면, 순서 목록의 상부 근처에 떨어지는 콘텐츠 조각일 수 있으나, 상부 단계에 결코 도달하지 않기 때문에 브로드캐스트되지 않는다. 다수의 메타 데이터 집합을 통해 클라이언트 요구 피드백 데이터를 모음으로써, 이러한 콘텐츠 조각은 상부로 오를 수 있고, 그 때 그 콘텐츠 조각은 브로드캐스트될 것이다. 일 실시예에서, 브로드캐스트 스케쥴 큐(133)가 질의(215)에 의해 가장 호기적이라 판별되는 단일의 콘텐츠 조각을 포함할 수 있는데, 질의는 새로운 브로드캐스트 스케쥴일 생성될 필요가 있을 때마다 반복된다는 것을 유념해야 한다.
메타 데이터 및 콘텐츠 조각은 여러 상이한 브로드캐스트 메카니즘을 사용하여 브로드캐스트될 수 있다. 일 실시예에서, 콘텐츠 조각은 전용 브로드캐스트 채널 또는 멀티플렉싱된 채널 세트를 사용하여 브로드캐스트될 있다. 또 다른 실시예에서, 콘텐츠 조각은 널 데이터 패킷의 포스트 멀티플렉스 삽입(post-multiplex insertion)을 사용하여 브로드캐스트될 수 있다. 도 19에 도시되는 바와 같이, 종래의 브로드캐스트 방법 하에, 대역폭의 일부는 사용되지 않는다. 도시된 예에서, 프로그램 1은 초당 10 메가 비트(Mbps)의 대역폭이 할당되는 가변 비트 레이트 MPEG2 데이터 스트림(233)을 포함하고, 프로그램 2는 9.2Mbps의 대역폭이 할당되는 가변 비트 레이트 MPEG2 데이터 스트림(235)을 포함한다. 데이터 스트림(233, 235)은 멀티플렉서(MUX)(237)로 입력되고, 멀티플렉서(MUX)(237)는 두 개의 스트림을 1.92Mpbs의 대역폭을 갖는 하나로 결합된 데이터 스트림(239)으로 멀티플렉싱한 다. 이어서, 결합된 데이터 스트림(239)은 변조기(241)로 변조되어 브로드캐스트 업링크로 설정된다(예를 들면, 위성으로 전송된다).
도 19에 도시되는 바와 같이, 각 데이터 스트림(233, 235)에 미사용 대역폭부분(스펙트럼)과, 결합된 스트림(239)에 훨씬 더 큰 미사용부가 있다. 이는 가변 비트 레이트 MPEG2 인코딩(또는 다른 유형의 가변 비트 레이트 인코딩)을 사용하여 콘텐츠가 스트림되면, 상이한 콘텐츠부에 대응하는 데이터량이 시간에 따라 변하기 때문이다. 예컨대, 영화에서 액션 장면은 배우 및/또는 배경이 보다 정적인 장면 보다 많은 데이터를 요구한다. 일반적으로, 이러한 고려사항 하에서, 데이터 스트림에 대한 대역폭은 보다 높은 데이터 레이트 장면을 적절하게 처리할 것이라 예상되는 최대 대역폭을 다루도록 선택되어 데이터 스트림부의 일부에 데이터가 포함되지 않는다. 패킷 전송이 사용되면, 이들 사용되지 않은 대역폭부는 통상적으로 "널" 패킷을 포함한다.
본 발명은 이 이전 미사용 대역폭부가 브로드캐스트 데이터를 전송하게 하는 브로드캐스트 메카니즘을 제공한다. 도 20의 일 실시예에 의해 도시되는 바와 같이, 널 패킷 삽입기(null packet inserter)(243)는 결합 데이터 스트림(237) 내에 널 패킷을 배치하여 현재 브로드캐스트된 콘텐츠 데이터에 대응하는 데이터 패킷을 삽입하는는 데 사용되어 완전하게 사용되는 대역폭 데이터 스트림(245)을 생성한다. 다음에 완전히 사용되는 대역폭 데이터 스트림(245)은 데이터 스트림을 변조하고 그것을 브로드캐스트 업링크에 도 19와 관련하여 위에서 기술한 것과 유사한 방식으로 전송하는 변조기(241)에 전달된다.
대부분의 경우에, 콘텐츠 조각의 브로드캐스트에 대응하는 데이터 레이트는 콘텐츠가 재생되는 데이터 레이트와 매칭될 필요가 없다는 것을 유념해야 한다. 예를 들면, 콘텐츠 조각이 영화라고 가정하자. 종래의 브로드캐스트에서, 영화에 대응하는 데이터는 종래의 텔레비전 수신기에 의해 그 브로드캐스트를 수신 및 재생하는 일정한 레이트로 브로드캐스트될 것이다. 이는, 수신된 콘텐츠가 그것이 수신되면서 또는 실시간으로 "재생"되기 때문이다. 이와 반대로, 본 발명의 교시에 따라 브로드캐스트되는 많은 콘텐츠 조각은 그 브로드캐스트가 클라이언트 시스템에 의해 수신 및 캐시된 후에 "온 디멘드로" 보게될 것이다. 그 결과, 다양한 콘텐츠 조각을 브로드캐스트하기 위하여 사용되는 데이터 레이트는 시간에 따라 달라질 수 있는데, 여기서 콘텐츠는 실시간 브로드캐스트 데이터보다 상당히 빠르거나 느린 속도로 전달될 수 있다.
전술한 고려사항들에 따라, 콘텐츠 조각을 전송하는 또 다른 방법은 콘텐츠 의 배치(batch)가 전송되는 "배치(batch)" 브로드캐스트를 통해서이다. 이는 모든 디지털 브로드캐스트 시스템에 대해 유리하고, 도 16과 관려하여 위에서 기술한 상이한 단들 간의 저장 및 전달 메카니즘이 사용될 수 있는 다단 브로드캐스트 네트워크와 함께 사용되면 특히 유용하다.
본 발명에 따른 교시에 따른 콘텐츠 배치 브로드캐스트에 대한 일 실시예는 도 21에 도시되어 있다. 프로세스는 브로드캐스트 스케쥴 큐(133)에 대응하는 순서 목록에서 시작된다. 제 2 질의(247)는 순서 목록 상에서 실행되어 다음 브로드캐스트 윈도우 동안 브로드캐스트되도록 스케쥴링되는 하나 이상의 콘텐츠 조각을 결정한다. 주어진 콘텐츠 배치(batch)에서 선택된 콘텐츠 조각은 각 콘텐츠 조각의 콘텐츠 크기(249), 브로드캐스트 윈도우 길이(251) 및 브로드캐스트 대역폭(253)에 기초할 것이다. 그 제각기의 크기와, 브로드캐스트 윈도우 길이와 브로드캐스트 대역폭을 곱합으로써 결정되는 배치 리미트 내에 남은 가용 공간에 기초하여 순서 목록(133a)의 상부에 올 콘텐츠 조각이 선택된다. 그 크기가 배치(batch) 내에 남아 있는 공간 이하라면 순서 목록(133a) 내의 각 다음 콘텐츠 조각이 추가될 것이다. 다음 콘텐츠 조각의 크기가 남아 있는 공간을 초과하면, 다음 콘텐츠 조각이 브로드캐스트될 콘텐츠 배치(batch)에서 고려될 것이다. 이 프로세스는, 선택된 콘텐츠 조각의 총 크기가 배치 리미트를 (대략) 채울 때까지 반복된다. 배치를 위한 콘텐츠 조각이 선택되면, 그 콘텐츠 조각은 다음 스케쥴링된 브로드캐스트 윈도우 동안 배치로 함께 브로드캐스트되도록 스케쥴링된다. 위와 마찬가지로, 콘텐츠 배치(batch)가 브로드캐스트되면, 배치 내의 각 콘텐츠 조각에 대한 클라이언트 요구 피드백 데이터는 블록(231)에서 리셋된다.
도 22와 관련하여, 어느 콘텐츠 조각이 제공된 콘텐츠 배치를 완수할 지 결정하는 프로세스의 일 실시예는 블록(501)에서 시작되는데, 각 콘텐츠 조각의 크기를 포함하는 콘텐츠의 순서 목록이 형성되고, 도 21의 순서 목록(133a)에 의해 도시되는 것과 같다. 위에서 논의한 바와 같이, 순서 목록(133a)은 질의(247)를 사용하여 순서 브로드캐스트 스케쥴 큐(133)로부터 유도될 수 있다. 그러나, 데이터베이스 기술 분야의 당업자에 의해 인식되는 바와 같이, 질의(215, 247)는 하나의 질의로 병합되어 순서 목록(133a)을 생성할 수 있다.
다음으로, 블록(503)에서, 배치 크기의 제한이 결정된다. 이는 브로드캐스트 윈도(251)를 그 윈도우(253)에 대한 브로드캐스트 대역폭과 곱함으로써 계산된다. 이어서, 남아 있는 공간은 블록(505)에서 배치 크기 리미트와 동일하게 설정된다. 시작 및 종료 루프 블록(507, 509) 각기에 의해 도시되는 바와 같이, 다음 동작은 순서 목록(133a)에서 하나 이상의 콘텐츠 조각에 대해 순서대로 수행된다. 먼저, 판별 블록(511)에서, 콘텐츠 조각이 남아 있는 공간 이하의 크기를 갖는 지의 여부가 판별된다. 대답이 예라면, 로직은 블록(513)으로 진행하여, 콘텐츠 조각이 배치(batch)에 추가되고, 블록(515)에서 남아 있는 공간은 최근 추가된 콘텐츠 조각의 크기만큼 감소된다. 이어서, 로직은 판별 블록(517)으로 진행하는데, 여기서 임의의 공간이 남아 있는지의 여부가 판별된다. 대답이 아니오라면, 배치에 추가된 콘텐츠 조각의 목록은 리턴 블록(519)에서 리턴된다. 판별 블록(511)에서 판별이 거짓이라면, 블록(513, 515, 517)은 생략된다.
다음으로, 판별 블록(512)에서, 고려되는 목록 내에 남아 있는 콘텐츠 조각이 있는 지의 여부가 판별된다. 대답이 아니오라면, 로직은 리턴 블록(519)으로 진행한다. 고려되는 콘텐츠 블록이 남이 있다면, 로직은 시작 블록(507)으로 다시 돌아가 다음 콘텐츠 조각의 평가를 시작한다. 이 프로세스 루프는 로직이 리턴 블록(519)을 통해 빠져나갈 때까지 연속적으로 수행된다.
배치 스케쥴 프로세스의 결과의 예가 도 21 및 23에 도시되어 있다. 예를 들면, 도 21에 도시되는 바와 같이, 브로드캐스트 윈도우 길이가 1000초이고, 브로드캐스트 대역폭이 3Mbps라 가정하자. 배치 리미트는 3 기가 바이트일 것이고, 시 스템은 순서 목록(133a)의 상부로부터 상위 3 기가 바이트에 해당하는 콘텐츠 콘텐츠를 선택할 것이다. 이 경우에서, 다음 방식으로 결정되는 콘텐츠 조각 F, B 및 D가 전송된다. 콘텐츠 조각 F는 순서 목록(133a)의 상부에 있기 때문에 먼저 고려된다. 그것은, 3 기가 바이트 배치 리미트에서 시작하는 남아 있는 공간 보다 작은 1.0 기가 바이트를 가진다. 이어서 남아 있는 공간은 1.0 기가 바이트만큼 감소되어서 이제 2 기가 바이트가 되고, 순서 목록(133a) 내의 다음 콘텐츠 조각, 콘텐츠 B가 고려된다. 콘텐츠 B는 남아 있는 2 기가 바이트의 공간보다 작은 0.8 기가 바이트의 크기를 가져서 이는 배치(batch)에 추가되고 나머지 공간은 0.8 기가 바이트 만큼 감소되어서 이제 1.2 기가 바이트가 된다. 다음에, 콘텐츠 C가 고려되고, 그것은 또 남아 있는 공간보다 작은 1.0 기가 바이트의 크기를 가져서 배치(batch)에 추가되고, 남아 있는 공간은 1.1 기가 바이트만큼 감소되어 이제 0.1 기가 바이트가 된다. 그 후, 남아 있는 공간이 고려되어, 순서대로 콘텐츠가 0.1 기가 바이트 이하의 크기를 갖는 지 여부를 확인한다. 어느 콘텐츠도 이 크기를 가지지 않기 때문에, 콘텐츠 F, B 및 D를 포함하는 콘텐츠 배치(batch)가 다음 브로드캐스트 윈도우 동안에 브로드캐스트되도록 스케쥴링된다.
도 23에서, 배치 리미트는 2.5 기가 바이트로 감소되었다. 콘텐츠 F 및 B가 위에서와 같이 배치(batch)에 추가되어 0.7 기가 바이트의 공간이 남는다. 다음에, 콘텐츠 D가 고려된다. 그러나, 블록(511)에서 콘텐츠 D의 크기가 남아 있는 공간보다 크다고 판별되어서 로직은 콘텐츠 A를 평가하도록 리턴한다. 이 경우에, 블록(511)에의 대답이 참(true)이면, 콘텐츠 A는 콘텐츠의 배치(batch)에 추가된다. 이어서, 판별 블록(517)은 모든 남아 있는 공간이 사용되었는 지를 판별하고, 로직은 리턴 블록(519)에서 배치를 위한 콘텐츠 F, B 및 A를 리턴한다.
일 실시예에서, 질의는 순서 목록(133a)을 형성하기 위하여 사용되는데, 질의는 질의 결과를 통해 배치를 위한 적당한 콘텐츠 조각 세트를 선택하는 것을 반복하는 커서 루프 내로 통합된다. 또 다른 실시예에서, 배치를 위한 적당한 콘텐츠 조각 세트를 선택하기 위하여 다소 더 복잡한 질의가 사용될 수 있다.
위의 상세한 설명에서, 본 발명의 방법 및 장치는 그 특정 실시예에 관해 설명되었다. 그러나, 본 발명의 사상 및 범주로부터 벗어나지 않고 다양한 변경이 이루어질 수 있다는 것이 명백할 것이다. 이에 따라, 본 설명 및 도면은 제한적인 것이 아니라 예시인 것으로 간주된다.

Claims (56)

  1. 호기적 브로드캐스트 스케쥴(opportunistic broadcast schedule)을 생성하는 방법에 있어서,
    다수의 클라이언트 시스템으로 메타 데이터 - 상기 메타 데이터는 조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 다수의 콘텐츠 조각의 기술(description)을 포함함 - 를 브로드캐스트하는 단계와,
    상기 브로드캐스트된 메타 데이터에 응답하여 상기 다수의 클라이언트 시스템 중 적어도 일부로부터 개개의 클라이언트 요구 피드백 데이터 집합 - 각 개개의 클라이언트 요구 피드백 데이터 집합은 상기 브로드캐스트된 메타 데이터에 제공된 상기 다수의 콘텐츠 조각의 기술에 대응하는 상기 다수의 콘텐츠 조각 중 적어도 일부에 대한 클라이언트의 관심 수준을 나타내는 레이팅 데이터 및 랭킹 데이터와, 브로드캐스트 스케쥴 큐를 결정하는 데 사용되는 메타 데이터 식별자를 포함함 - 을 수신하는 단계와,
    상기 개개의 클라이언트 요구 피드백 데이터 집합을 취합함으로써 상기 다수의 콘텐츠 조각 중에서 다음 브로드캐스트를 위해 가장 호기적인 콘텐츠 조각을 판별하는 단계와,
    각 콘텐츠 조각에 대한 상대적인 클라이언트 관심 수준에 따라 상기 클라이언트 요구 피드백 데이터 집합으로부터 유도된 시퀀스로 브로드캐스트되도록 스케쥴링된 콘텐츠 조각의 순서 목록(ordered list)을 포함하는 브로드캐스트 스케쥴 큐를 유지하는 단계와,
    다음 브로드캐스트를 위해 가장 호기적인 것으로 판별된 콘텐츠 조각을 상기 브로드캐스트 스케쥴 큐의 상부에 두어 다음에 브로드캐스트되게 하는 단계를 포함하되,
    다음 브로드캐스트를 위해 상기 가장 호기적인 콘텐츠 조각의 판별이 계속해서 수행되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    다음 브로드캐스트를 위해 가장 호기적인 것으로 판별된 각각의 콘텐츠 조각에 대해 그 콘텐츠 조각의 브로드캐스트에 대한 응답으로 상기 클라이언트 요구 피드백 데이터를 리셋하여, 그 콘텐츠 조각에 대응하는 새로운 클라이언트 요구 피드백 데이터가 수신될 때까지는 상기 콘텐츠 조각이 다음 브로드캐스트를 위해 가장 호기적인 상기 콘텐츠 조각으로 다시 판별될 수 없게 하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  4. 제 1 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합은 제각기의 클라이언트 시스템으로부터 비동기식으로 수신되고,
    상기 브로드캐스트 스케쥴 큐는 각각의 개개의 클라이언트 요구 피드백 데이터 집합을 수신하면 재계산되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  5. 제 1 항에 있어서,
    사업 목적을 고려하여 상기 브로드캐스트 스케쥴 큐를 조정하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  6. 제 1 항에 있어서,
    상기 클라이언트 요구 피드백 데이터는 각각의 콘텐츠 조각에 대응하는 레이팅 데이터를 더 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 레이팅 데이터의 취합체로부터 유도되는 최고 레이팅 콘텐츠 조각을 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  7. 제 6 항에 있어서,
    상기 레이팅 데이터의 상기 집합은 각각의 콘텐츠 조각에 대한 평균 레이팅값을 계산하는 단계를 포함하고,
    상기 최고 레이팅 콘텐츠 조각은 상기 최고 평균 레이팅 값을 갖는 콘텐츠 조각인
    호기적 브로드캐스트 스케쥴 생성 방법.
  8. 제 6 항에 있어서,
    상기 레이팅 데이터의 적어도 일부는 상기 클라이언트 시스템의 사용자에 의해 제공되는 레이팅 입력 - 각 레이팅 입력은 주어진 사용자가 대응하는 콘텐츠 조각을 수신하기 위한 희망 정도를 나타냄 - 을 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  9. 제 6 항에 있어서,
    상기 레이팅 데이터의 적어도 일부는 상기 클라이언트 시스템 상에 저장되어 상기 클라이언트 시스템의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 상기 클라이언트 시스템에 의해 자동으로 생성되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  10. 제 6 항에 있어서,
    이들 콘텐츠 조각에 대한 잠재적인 수익성(revenue-generating)을 고려하여, 주어진 클라이언트 시스템에 의해 레이팅되는 임의의 콘텐츠 조각에 대응하는 레이팅 데이터를 조정하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  11. 제 6 항에 있어서,
    클라이언트 시스템으로부터 수신된 각 개개의 클라이언트 요구 피드백 데이터 집합에 대해, 상기 레이팅 데이터의 제 1 부분은 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 레이팅 입력을 포함하고,
    상기 레이팅 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이언트 시스템에 의해 자동으로 생성되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  12. 제 6 항에 있어서,
    상기 메타 데이터는 연속 스트림으로서 브로드캐스트되고, 그 콘텐츠 조각을 설명하는 데 사용되는 속성 및 속성값 집합을 포함하는 각 콘텐츠 조각에 대한 콘텐츠 기술자를 포함하며,
    상기 클라이언트 시스템의 적어도 일부는 그 콘텐츠 조각에 대한 상기 콘텐츠 기술자를 수신하는 데 응답하여 개개의 콘텐츠 조각에 대응하는 레이팅 데이터를 제공하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  13. 제 1 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 적어도 두 개의 콘텐츠 조각에 대한 상대적인 관심 수준에 알맞은 상대적인 랭킹 데이터를 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 상대적인 랭킹 데이터를 취합함으로써 적어도 부분적으로 판별되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  14. 제 13 항에 있어서,
    상기 상대적인 랭킹 데이터의 상기 집합은 상기 다수의 콘텐츠 조각 중에서 각 콘텐츠 조각에 대한 평균 랭킹을 계산하는 단계를 포함하고,
    다음 브로드캐스트를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 최고 평균 랭킹을 갖는 콘텐츠 조각인
    호기적 브로드캐스트 스케쥴 생성 방법.
  15. 제 13 항에 있어서,
    상기 상대적인 랭킹 데이터의 적어도 일부는 상기 클라이언트 시스템의 사용자에 의해 제공된 개개의 상대적인 랭킹 입력 집합 - 각 개개의 상대적인 랭킹 입력 집합은 적어도 두 개의 콘텐츠 조각의 상대적인 랭킹을 포함함 - 을 포함하고,
    상기 상대적인 랭킹은 각 클라이언트 시스템의 주어진 사용자가 그 사용자에 의해서 랭킹된 콘텐츠 조각의 브로드캐스트를 수신하기 위한 상대적인 희망 정도를 나타내는
    호기적 브로드캐스트 스케쥴 생성 방법.
  16. 제 13 항에 있어서,
    상기 상대적인 랭킹 데이터의 적어도 일부는 상기 클라이언트 시스템 상에 저장되어 상기 클라이언트 시스템의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 상기 클라이언트 시스템에 의해 자동으로 생성되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  17. 제 13 항에 있어서,
    이들 콘텐츠 조각에 대한 잠재적 수익성을 고려하여, 주어진 클라이언트 시스템에 의해 레이팅되는 콘텐츠 조각에 대응하는 상대적인 랭킹 데이터를 조정하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  18. 제 13 항에 있어서,
    상대적인 랭킹 데이터를 포함하는 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부 중 각 개개의 클라이언트 요구 피드백 데이터 집합에 대하여, 상대적인 랭킹 데이터의 제 1 부분은 그 개개의 클라이언트 피드백 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 상대적인 랭킹 입력을 포함하고,
    상대적인 랭킹 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이어트 시스템에 의해 자동으로 생성되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  19. 제 13 항에 있어서,
    조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 콘텐츠 조각의 집합에 대응하는 메타 데이터의 현재 집합은, 상기 콘텐츠 조각 집합 내에 포함되는 각 콘텐츠 조각에 대한 제각기의 콘텐츠 기술자를 포함하며 반복적인 연속 스트림으로서 브로드캐스트되고,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 상기 콘텐츠 조각 집합 내의 모든 상기 콘텐츠 조각에 대한 상대적인 관심을 나타내는 랭킹 목록을 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  20. 제 1 항에 있어서,
    상기 다음 브로드캐스트를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각을 브로드캐스트하기 전에 브로드캐스트 스케쥴을 브로드캐스트하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  21. 제 1 항에 있어서,
    상기 다수의 클라이언트 시스템은 각 클라이언트 시스템이 다수의 세그먼트 중 특정 세그먼트의 구성원이도록 분할되고,
    각 개개의 클라이언트 피드백 데이터 집합은 상기 클라이언트 시스템이 구성원인 상기 세그먼트를 식별하는 데이터를 포함하며,
    각 세그먼트마다, 다음 브로드캐스트를 위해 가장 호기적인 콘텐츠 조각이 판별되어 스케쥴링되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  22. 제 21 항에 있어서,
    상기 다수의 클라이언트 시스템은 각 클라이언트가 지리적 영역에 할당되도록 지리에 기초하여 분할되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  23. 제 21 항에 있어서,
    상기 다수의 클라이언트 시스템은 각 클라이언트가 브로드캐스트 콘텐츠를 수신하는 네트워크에 기초하여 분할되는
    호기적 브로드캐스트 스케쥴 생성 방법.
  24. 제 1 항에 있어서,
    널 데이터 패킷(null data packets)의 포스트 멀티플렉스 삽입(post multiplex insertion)을 사용하여 다음 브로드캐스트를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각의 적어도 일부를 브로드캐스트하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  25. 제 1 항에 있어서,
    통계적 멀티플렉싱을 사용하여 다음 브로드캐스를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각의 적어도 일부를 브로드캐스트하는 단계를 더 포함하는
    호기적 브로드캐스트 스케쥴 생성 방법.
  26. 명령을 실행하는 회로를 구비하는 프로세서와,
    상기 프로세서에 결합되어 하나 이상의 클라이언트 시스템으로부터 데이터를 수신하는 통신 인터페이스와,
    상기 프로세서에 결합되고, 명령 시퀀스가 저장되는 저장 디바이스
    를 포함하는 장치로서,
    상기 명령 시퀀스가 상기 프로세서에 의해 실행되면,
    상기 장치는,
    다수의 클라이언트 시스템으로부터 클라이언트 요구 피드백 데이터의 개개의 집합 - 각 개개의 클라이언트 요구 피드백 데이터 집합은 상기 다수의 클라이언트 시스템에 브로드캐스트되는 메타 데이터에 응답하여 생성되며, 상기 메타 데이터는 조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 다수의 콘텐츠 조각의 기술(description)을 포함하고, 각 개개의 클라이언트 요구 피드백 데이터 집합은 상기 브로드캐스트된 메타 데이터 내에 제공되는 상기 다수의 콘텐츠 조각의 상기 기술에 대응하는 상기 다수의 콘텐츠 조각의 적어도 일부에 대한 클라이언트 관심 수준을 나타내는 레이팅 데이터 및 랭킹 데이터와, 브로드캐스트 스케쥴 큐를 판별하는 데 사용되는 메타 데이터 식별자를 포함함 - 을 수신하고,
    상기 개개의 클라이언트 요구 피드백 데이터 집합을 모음으로써 상기 다수의 콘텐츠 조각 중 다음 브로드캐스트를 위해 가장 호기적인 콘텐츠 조각을 판별하며,
    각각의 콘텐츠 조각에 대한 상대적인 클라이언트 관심 수준에 따라 상기 클라이언트 요구 피드백 데이터 집합으로부터 유도된 시퀀스로 브로드캐스트되도록 스케쥴링된 콘텐츠 조각의 순서 목록(ordered list)을 포함하는 브로드캐스트 스케쥴 큐를 유지하고,
    다음 브로드캐스트를 위해 가장 호기적인 것으로 판별된 콘텐츠 조각을 상기 브로드캐스트 스케쥴 큐의 상부에 두어 다음에 브로드캐스트하되,
    다음 브로드캐스트를 위해 상기 가장 호기적인 콘텐츠 조각의 판별이 계속해서 수행되는
    장치.
  27. 삭제
  28. 제 26 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합은 제각기의 클라이언트 시스템으로부터 비동기식으로 수신되고,
    상기 브로드캐스트 스케쥴 큐는 각각의 개개의 클라이언트 요구 피드백 데이터 집합을 수신하면 재계산되는
    장치.
  29. 제 26 항에 있어서,
    상기 클라이언트 요구 피드백 데이터는 각각의 콘텐츠 조각에 대응하는 레이팅 데이터를 더 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 레이팅 데이터의 집합으로부터 유도되는 최고 레이팅 콘텐츠 조각을 포함하는
    장치.
  30. 제 29 항에 있어서,
    상기 클라이언트 시스템으로부터 수신된 각 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부에 대해, 상기 레이팅 데이터의 제 1 부분은 그 개개의 클라이언트 요구 피드백 데이터 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 레이팅 입력을 포함하고,
    상기 레이팅 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이언트 시스템에 의해 자동으로 생성되는
    장치.
  31. 제 29 항에 있어서,
    상기 메타 데이터는 연속 스트림으로서 브로드캐스트되고, 그 콘텐츠 조각을 설명하는 데 사용되는 속성 및 속성값 집합을 포함하는 각 콘텐츠 조각에 대한 콘텐츠 기술자를 포함하며,
    상기 클라이언트 시스템의 적어도 일부는 그 콘텐츠 조각에 대한 상기 콘텐츠 기술자를 수신하는 데 응답하여 개개의 콘텐츠 조각에 대응하는 레이팅 데이터를 제공하는
    장치.
  32. 제 26 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 적어도 두 개의 콘텐츠 조각에 대한 상대적인 관심 수준에 알맞은 상대적인 랭킹 데이터를 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 상대적인 랭킹 데이터를 취합함으로써 적어도 부분적으로 판별되는
    장치.
  33. 제 32 항에 있어서,
    상대적인 랭킹 데이터를 포함하는 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부 중 각 개개의 클라이언트 요구 피드백 데이터 집합에 대하여, 상대적인 랭킹 데이터의 제 1 부분은 그 개개의 클라이언트 피드백 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 상대적인 랭킹 입력을 포함하고,
    상대적인 랭킹 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이어트 시스템에 의해 자동으로 생성되는
    장치.
  34. 제 32 항에 있어서,
    조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 콘텐츠 조각의 집합에 대응하는 메타 데이터의 현재 집합은,
    상기 콘텐츠 조각 집합 내에 포함되는 각 콘텐츠 조각에 대한 제각기의 콘텐츠 기술자를 포함하며 반복적인 연속 스트림으로서 브로드캐스트되고,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 상기 콘텐츠 조각 집합 내의 모든 상기 콘텐츠 조각에 대한 상대적인 관심을 나타내는 랭킹 목록을 포함하는
    장치.
  35. 다수의 머신 실행 가능한 명령이 저장되는 머신 판독 가능 매체에 있어서,
    상기 명령이 머신에 의해 실행되면,
    상기 머신은,
    다수의 클라이언트 시스템으로부터 개개의 클라이언트 요구 피드백 데이터 집합 - 상기 개개의 클라이언트 요구 피드백 데이터 집합은 상기 다수의 클라이언트 시스템에 브로드캐스트되는 메타 데이터에 응답하여 생성되며, 상기 메타 데이터는 조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 다수의 콘텐츠 조각의 기술(descriptions)을 포함하고, 각 개개의 클라이언트 요구 피드백 데이터 집합은 상기 브로드캐스트된 메타 데이터 내에 제공되는 상기 다수의 콘텐츠 조각의 상기 기술에 대응하는 상기 다수의 콘텐츠 조각의 적어도 일부에 대한 클라이언트 관심 수준을 나타내는 레이팅 데이터 및 랭킹 데이터와, 브로드캐스트 스케쥴 큐를 판별하는 데 사용되는 메타 데이터 식별자를 포함함 - 을 수신하고,
    상기 개개의 클라이언트 요구 피드백 데이터 집합을 모음으로써 상기 다수의 콘텐츠 조각 중 다음 브로드캐스트를 위해 가장 호기적인 콘텐츠 조각을 판별하며,
    각각의 콘텐츠 조각에 대한 상대적인 클라이언트 관심 수준에 따라 상기 클라이언트 요구 피드백 데이터 집합으로부터 유도된 시퀀스로 브로드캐스트되도록 스케쥴링된 콘텐츠 조각의 순서 목록(ordered list)을 포함하는 브로드캐스트 스케쥴 큐를 유지하고,
    다음 브로드캐스트를 위해 가장 호기적인 것으로 판별된 콘텐츠 조각을 상기 브로드캐스트 스케쥴 큐의 상부에 두어 다음에 브로드캐스트하되,
    다음 브로드캐스트를 위해 상기 가장 호기적인 콘텐츠 조각의 판별이 계속해서 수행되는
    머신 판독 가능한 매체.
  36. 삭제
  37. 제 35 항에 있어서,
    상기 클라이언트 요구 피드백 데이터는 각각의 콘텐츠 조각에 대응하는 레이팅 데이터를 더 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 레이팅 데이터의 취합체로부터 유도되는 최고 레이팅 콘텐츠 조각을 포함하는
    머신 판독 가능한 매체.
  38. 제 35 항에 있어서,
    상기 클라이언트 요구 피드백 데이터는 각각의 콘텐츠 조각에 대응하는 레이팅 데이터를 더 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 레이팅 데이터의 취합체로부터 유도되는 최고 레이팅 콘텐츠 조각을 포함하는
    머신 판독 가능한 매체.
  39. 제 38 항에 있어서,
    상기 클라이언트 시스템으로부터 수신된 각 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부에 대해, 상기 레이팅 데이터의 제 1 부분은 그 개개의 클라이언트 요구 피드백 데이터 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 레이팅 입력을 포함하고,
    상기 레이팅 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이언트 시스템에 의해 자동으로 생성되는
    머신 판독 가능한 매체.
  40. 제 38 항에 있어서,
    상기 메타 데이터는 연속 스트림으로서 브로드캐스트되고, 그 콘텐츠 조각을 설명하는 데 사용되는 속성 및 속성값 집합을 포함하는 각 콘텐츠 조각에 대한 콘텐츠 기술자를 포함하며,
    상기 클라이언트 시스템의 적어도 일부는 그 콘텐츠 조각에 대한 상기 콘텐츠 기술자를 수신하는 데 응답하여 개개의 콘텐츠 조각에 대응하는 레이팅 데이터를 제공하는
    머신 판독 가능한 매체.
  41. 제 35 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 적어도 두 개의 콘텐츠 조각에 대한 상대적인 관심 수준에 알맞은 상대적인 랭킹 데이터를 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 상대적인 랭킹 데이터를 취합함으로써 적어도 부분적으로 판별되는
    머신 판독 가능한 매체.
  42. 제 41 항에 있어서,
    상대적인 랭킹 데이터를 포함하는 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부 중 각 개개의 클라이언트 요구 피드백 데이터 집합에 대하여, 상대적인 랭킹 데이터의 제 1 부분은 그 개개의 클라이언트 피드백 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 상대적인 랭킹 입력을 포함하고,
    상대적인 랭킹 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이어트 시스템에 의해 자동으로 생성되는
    머신 판독 가능한 매체.
  43. 제 41 항에 있어서,
    조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 콘텐츠 조각의 집합에 대응하는 메타 데이터의 현재 집합은, 상기 콘텐츠 조각 집합 내에 포함되는 각 콘텐츠 조각에 대한 제각기의 콘텐츠 기술자를 포함하며 반복적인 연속 스트림으로서 브로드캐스트되고,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 상기 콘텐츠 조각 집합 내의 모든 상기 콘텐츠 조각에 대한 상대적인 관심을 나타내는 랭킹 목록을 포함하는
    머신 판독 가능한 매체.
  44. 브로드캐스트 서버와,
    상기 브로드캐스트 서버와 통신으로 연결되는 데이터베이스 서버와,
    제 1 통신 링크를 통해 상기 브로드캐스트 서버와 통신으로 연결되고, 제 2 통신 링크를 통해 상기 데이터베이스 서버와 통신으로 연결되는 다수의 클라이언트 시스템
    을 포함하는 시스템에 있어서,
    상기 브로드캐스트 서버는 상기 제 1 통신 링크를 통해 상기 다수의 클라이언트 시스템에 메타 데이터 - 상기 메타 데이터는 조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 다수의 콘텐츠 조각의 기술을 포함함 - 를 브로드캐스트하도록 프로그래밍되고,
    상기 다수의 클라이언트 시스템의 각각은 상기 브로드캐스트된 메타 데이터에 응답하여 개개의 클라이언트 요구 피드백 데이터 집합 - 상기 개개의 클라이언트 요구 피드백 데이터 집합은 상기 브로드캐스트된 메타 데이터 내에 제공된 상기 다수의 콘텐츠 조각의 기술(descriptions)에 대응하는 상기 다수의 콘텐츠 조각의 적어도 일부에 대한 클라이언트 관심 수준을 나타내는 레이팅 데이터 및 랭킹 데이터와, 브로드캐스트 스케쥴러 큐를 판별하는 데 사용되는 메타 데이터 식별자를 포함함 - 을 생성하도록 프로그래밍되며,
    상기 다수의 클라이언트 시스템의 적어도 일부는 상기 제 2 통신 링크를 통해 상기 데이터베이스 서버에 개개의 클라이언트 요구 피드백 데이터 집합을 전송하고,
    상기 데이터베이스 서버는 상기 개개의 클라이언트 요구 피드백 데이터를 취합함으로써 상기 다수의 콘텐츠 조각 중에서 다음 브로드캐스트를 위해 가장 호기적인 콘텐츠 조각을 판별하도록 프로그래밍되며,
    상기 브로드캐스트 서버 및 데이터베이스 서버 중 적어도 하나는 다음 브로드캐스트를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각을 스케쥴링하도록 프로그래밍되고,
    상기 브로드캐스트 서버는, 상기 제 1 통신 링크 상에서 대역폭이 이용 가능하게 될 때, 가장 호기적이라 판별되는 상기 콘텐츠 조각을 브로드캐스트하도록 더 프로그래밍되는
    시스템.
  45. 제 44 항에 있어서,
    상기 데이터베이스 서버 및 브로드캐스트 서버 중 하나는,
    각 콘텐츠 조각에 대한 상대적인 클라이언트 관심 수준에 기초한 상기 클라이언트 요구 피드백 데이터의 상기 집합으로부터 유도된 시퀀스로 브로드캐스트되도록 스케쥴링되는 콘텐츠 조각의 순서 목록을 포함하는 브로드캐스트 스케쥴 큐를 유지하는 동작과,
    다음 브로드캐스트를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각이 다음에 브로드캐스트되도록 상기 브로드캐스트 스케쥴 큐의 상단에 배치시키는 동작
    을 수행함으로써 다음 브로드캐스트를 위해 가장 호기적이라 판별되는 상기 콘텐츠 조각을 스케쥴링하되,
    다음 브로드캐스트를 위해 가장 호기적인 상기 콘텐츠 조각의 판별은 연속적으로 수행되는
    시스템.
  46. 제 45 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합은 제각기의 클라이언트 시스템으로부터 비동기식으로 수신되고,
    상기 브로드캐스트 스케쥴 큐는 각 개개의 클라이언트 요구 피드백 데이터 집합을 수신하면 상기 데이터베이스 서버에 의해 재계산되는
    시스템.
  47. 제 44 항에 있어서,
    상기 클라이언트 요구 피드백 데이터는 제각기의 콘텐츠 조각에 대응하는 레이팅 데이터를 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 레이팅 데이터의 집합으로부터 유도된 최고 레이팅 콘텐츠 조각을 포함하는
    시스템.
  48. 제 47 항에 있어서,
    상기 클라이언트 시스템으로부터 수신된 각 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부에 대해, 상기 레이팅 데이터의 제 1 부분은 그 개개의 클라이언트 요구 피드백 데이터 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 레이팅 입력을 포함하고,
    상기 레이팅 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이언트 시스템에 의해 자동으로 생성되는
    시스템.
  49. 제 47 항에 있어서,
    상기 클라이언트 요구 피드백 데이터는 제각기의 콘텐츠 조각에 대응하는 레이팅 데이터를 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 레이팅 데이터의 집합으로부터 유도된 최고 레이팅 콘텐츠 조각을 포함하는
    시스템.
  50. 제 44 항에 있어서,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 적어도 두 개의 콘텐츠 조각에 대한 상대적인 관심 수준에 알맞은 상대적인 랭킹 데이터를 포함하고,
    브로드캐스트하기에 가장 호기적이라 판별되는 상기 콘텐츠 조각은 상기 상대적인 랭킹 데이터를 취합함으로써 적어도 부분적으로 판별되는
    시스템.
  51. 제 50 항에 있어서,
    상대적인 랭킹 데이터를 포함하는 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부 중 각 개개의 클라이언트 요구 피드백 데이터 집합에 대하여, 상대적인 랭킹 데이터의 제 1 부분은 그 개개의 클라이언트 피드백 집합이 수신되는 상기 클라이언트 시스템의 하나 이상의 사용자에 의해 제공된 상대적인 랭킹 입력을 포함하고,
    상대적인 랭킹 데이터의 제 2 부분은 그 클라이언트 시스템 상에 저장되어 그 클라이언트 시스템의 상기 하나 이상의 사용자의 콘텐츠 기호를 나타내는 데이터에 따라 그 클라이언트 시스템에 의해 자동으로 생성되는
    시스템.
  52. 제 50 항에 있어서,
    조만간 스케쥴링될 다음 브로드캐스트 내에 포함시킬 것으로 고려되는 콘텐츠 조각의 집합에 대응하는 메타 데이터의 현재 집합은, 상기 콘텐츠 조각 집합 내에 포함되는 각 콘텐츠 조각에 대한 제각기의 콘텐츠 기술자를 포함하며 반복적인 연속 스트림으로서 브로드캐스트되고,
    상기 개개의 클라이언트 요구 피드백 데이터 집합의 적어도 일부는 상기 콘텐츠 조각 집합 내의 모든 상기 콘텐츠 조각에 대한 상대적인 관심을 나타내는 랭킹 목록을 포함하는
    시스템.
  53. 제 44 항에 있어서,
    상기 제 1 통신 링크는 위성 브로드캐스트 링크를 포함하고, 상기 제 2 통신 링크는 원격통신 링크를 포함하는
    시스템.
  54. 제 44 항에 있어서,
    상기 제 1 통신 링크 및 제 2 통신 링크는 양방향 케이블 시스템 링크를 포함하는
    시스템.
  55. 제 44 항에 있어서,
    상기 제 1 통신 링크는 위성 브로드캐스트 링크를 포함하고, 상기 제 2 통신 링크는 컴퓨터 네트워크 통신 링크를 포함하는
    시스템.
  56. 제 44 항에 있어서,
    상기 제 1 통신 링크 및 상기 제 2 통신 링크는 컴퓨터 네트워크 통신 링크를 포함하는
    시스템.
KR1020037016423A 2001-06-15 2002-05-31 최신의 클라이언트 요구 피드백에 기초한 호기적 브로드캐스트 스케쥴 생성 방법과 장치, 머신 판독 가능한 매체 및 시스템 KR100585539B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/882,487 US7020893B2 (en) 2001-06-15 2001-06-15 Method and apparatus for continuously and opportunistically driving an optimal broadcast schedule based on most recent client demand feedback from a distributed set of broadcast clients
US09/882,487 2001-06-15
PCT/US2002/017166 WO2002104030A1 (en) 2001-06-15 2002-05-31 Method and apparatus for determining broadcast schedule based on most recent client demand feedback

Publications (2)

Publication Number Publication Date
KR20040007725A KR20040007725A (ko) 2004-01-24
KR100585539B1 true KR100585539B1 (ko) 2006-05-30

Family

ID=25380692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016423A KR100585539B1 (ko) 2001-06-15 2002-05-31 최신의 클라이언트 요구 피드백에 기초한 호기적 브로드캐스트 스케쥴 생성 방법과 장치, 머신 판독 가능한 매체 및 시스템

Country Status (6)

Country Link
US (1) US7020893B2 (ko)
EP (1) EP1400119A1 (ko)
JP (1) JP4236574B2 (ko)
KR (1) KR100585539B1 (ko)
CN (1) CN1263306C (ko)
WO (1) WO2002104030A1 (ko)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US20020100052A1 (en) * 1999-01-06 2002-07-25 Daniels John J. Methods for enabling near video-on-demand and video-on-request services using digital video recorders
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US8574074B2 (en) 2005-09-30 2013-11-05 Sony Computer Entertainment America Llc Advertising impression determination
US7895076B2 (en) 1995-06-30 2011-02-22 Sony Computer Entertainment Inc. Advertisement insertion, profiling, impression, and feedback
BRPI9812104B1 (pt) 1997-07-21 2016-12-27 Guide E Inc método para navegar por um guia de programa interativo
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
US6792197B1 (en) 1998-12-07 2004-09-14 Index Systems, Inc. System and method for generating video taping reminders
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
FR2809839A1 (fr) * 1999-12-30 2001-12-07 Thomson Multimedia Sa Procede de telechargement de donnees procedees par des signaux d'annonce
US7284064B1 (en) * 2000-03-21 2007-10-16 Intel Corporation Method and apparatus to determine broadcast content and scheduling in a broadcast system
DE60135567D1 (de) 2000-10-11 2008-10-09 United Video Properties Inc Systeme und verfahren zur bereitstellung von datenspeichern in servern in einem medien-auf-anfrage liefersystem
US8751310B2 (en) 2005-09-30 2014-06-10 Sony Computer Entertainment America Llc Monitoring advertisement impressions
US20020144265A1 (en) * 2001-03-29 2002-10-03 Connelly Jay H. System and method for merging streaming and stored content information in an electronic program guide
US20020143591A1 (en) * 2001-03-30 2002-10-03 Connelly Jay H. Method and apparatus for a hybrid content on demand broadcast system
US20020144269A1 (en) * 2001-03-30 2002-10-03 Connelly Jay H. Apparatus and method for a dynamic electronic program guide enabling billing broadcast services per EPG line item
US7185352B2 (en) * 2001-05-11 2007-02-27 Intel Corporation Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform
US20020193066A1 (en) * 2001-06-15 2002-12-19 Connelly Jay H. Methods and apparatus for providing rating feedback for content in a broadcast system
US20030005465A1 (en) * 2001-06-15 2003-01-02 Connelly Jay H. Method and apparatus to send feedback from clients to a server in a content distribution broadcast system
US7055165B2 (en) * 2001-06-15 2006-05-30 Intel Corporation Method and apparatus for periodically delivering an optimal batch broadcast schedule based on distributed client feedback
US7328455B2 (en) * 2001-06-28 2008-02-05 Intel Corporation Apparatus and method for enabling secure content decryption within a set-top box
US8713623B2 (en) 2001-09-20 2014-04-29 Time Warner Cable Enterprises, LLC Technique for effectively providing program material in a cable television system
US20030061611A1 (en) * 2001-09-26 2003-03-27 Ramesh Pendakur Notifying users of available content and content reception based on user profiles
US20030066090A1 (en) * 2001-09-28 2003-04-03 Brendan Traw Method and apparatus to provide a personalized channel
US8943540B2 (en) * 2001-09-28 2015-01-27 Intel Corporation Method and apparatus to provide a personalized channel
US7191243B2 (en) * 2001-11-15 2007-03-13 Microsoft Corporation Scheduling and multiplexing data for broadcast transmission over multiple streams
US20030135553A1 (en) * 2002-01-11 2003-07-17 Ramesh Pendakur Content-based caching and routing of content using subscription information from downstream nodes
US8181215B2 (en) * 2002-02-12 2012-05-15 Comcast Cable Holdings, Llc System and method for providing video program information or video program content to a user
FR2836321B1 (fr) * 2002-02-18 2006-02-24 Cit Alcatel Recepteur selectif d'elements d'information
US20030196198A1 (en) * 2002-04-11 2003-10-16 International Business Machines Corporation System and method for scheduling news stories based upon voting by viewers/listeners
US20030226147A1 (en) * 2002-05-31 2003-12-04 Richmond Michael S. Associating an electronic program guide (EPG) data base entry and a related internet website
FR2841079B1 (fr) * 2002-06-14 2005-02-25 Canal Plus Technologies Procede de diffusion d'application html
US7493289B2 (en) * 2002-12-13 2009-02-17 Aol Llc Digital content store system
US7797064B2 (en) 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
US20040177115A1 (en) * 2002-12-13 2004-09-09 Hollander Marc S. System and method for music search and discovery
US7912920B2 (en) 2002-12-13 2011-03-22 Stephen Loomis Stream sourcing content delivery system
US7412532B2 (en) * 2002-12-13 2008-08-12 Aol Llc, A Deleware Limited Liability Company Multimedia scheduler
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
US20040216158A1 (en) * 2003-04-23 2004-10-28 International Business Machines Corporation Preferred entertainment guide
US7457973B2 (en) * 2003-06-20 2008-11-25 Texas Instruments Incorporated System and method for prioritizing data transmission and transmitting scheduled wake-up times to network stations based on downlink transmission duration
US7454120B2 (en) 2003-07-02 2008-11-18 Macrovision Corporation Methods and apparatus for client aggregation of television programming in a networked personal video recording system
US8438601B2 (en) 2003-07-02 2013-05-07 Rovi Solutions Corporation Resource management for a networked personal video recording system
US20050068915A1 (en) * 2003-09-10 2005-03-31 Wi Networks Inc. Wireless infrastructure for broadcasting with return channel
US20050055724A1 (en) * 2003-09-10 2005-03-10 Wi Networks Inc. Head end installation for broadcasting with return channel
US20050055720A1 (en) * 2003-09-10 2005-03-10 Wi Networks Inc. Receiver installation for multi channel broadcasting with return channel, and method of modifying the same
US20050055729A1 (en) * 2003-09-10 2005-03-10 Wi Networks Inc. Video broadcasting with return channel
US20050097624A1 (en) * 2003-10-31 2005-05-05 Nokia Corporation System and associated terminal, method and computer program product for providing broadcast content
US8495089B2 (en) 2004-05-14 2013-07-23 Google Inc. System and method for optimizing media play transactions
US20050273835A1 (en) * 2004-05-14 2005-12-08 Ryan Steelberg System and method for utilizing dual feedback loops
US8763157B2 (en) 2004-08-23 2014-06-24 Sony Computer Entertainment America Llc Statutory license restricted digital media playback on portable devices
KR100636198B1 (ko) * 2004-11-26 2006-10-19 삼성전자주식회사 데이터 방송 컨텐츠 전송 방법 및 장치, 데이터 방송컨텐츠 수신 방법 및 장치
US9723267B2 (en) 2004-12-15 2017-08-01 Time Warner Cable Enterprises Llc Method and apparatus for wideband distribution of content
KR100694216B1 (ko) * 2005-06-07 2007-03-14 삼성전자주식회사 다중 디지털 방송 제공 장치 및 방법
JP4311387B2 (ja) * 2005-08-26 2009-08-12 ブラザー工業株式会社 放送グループ決定装置、放送グループ決定処理プログラム、放送グループ決定方法、及び放送システム
US8181201B2 (en) * 2005-08-30 2012-05-15 Nds Limited Enhanced electronic program guides
US8626584B2 (en) 2005-09-30 2014-01-07 Sony Computer Entertainment America Llc Population of an advertisement reference list
US8582584B2 (en) * 2005-10-04 2013-11-12 Time Warner Cable Enterprises Llc Self-monitoring and optimizing network apparatus and methods
US11004089B2 (en) 2005-10-25 2021-05-11 Sony Interactive Entertainment LLC Associating media content files with advertisements
US20070118425A1 (en) 2005-10-25 2007-05-24 Podbridge, Inc. User device agent for asynchronous advertising in time and space shifted media network
US10657538B2 (en) 2005-10-25 2020-05-19 Sony Interactive Entertainment LLC Resolution of advertising rules
US8676900B2 (en) 2005-10-25 2014-03-18 Sony Computer Entertainment America Llc Asynchronous advertising placement based on metadata
US8582946B2 (en) 2005-11-04 2013-11-12 Rovi Guides, Inc. Systems and methods for recording programs using a network recording device as supplemental storage
US20070129062A1 (en) * 2005-12-02 2007-06-07 Sony Ericsson Mobile Communications Ab Broadcast content request for mobile devices
JP5260301B2 (ja) * 2005-12-05 2013-08-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 柔軟なケアプランの方法および装置
US20070147409A1 (en) * 2005-12-22 2007-06-28 Nokia Corporation Optimized method for multiplexing digital data
US20070157220A1 (en) * 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for managing content
US8819112B2 (en) 2006-02-03 2014-08-26 Lg Electronics Inc. Method, system and terminal for changing a management object of broadcast service guide
CN100505867C (zh) * 2006-02-14 2009-06-24 腾讯科技(深圳)有限公司 点播服务系统和方法
US20070244983A1 (en) * 2006-04-12 2007-10-18 Penthera Technologies Inc. System and method for delivering content based on demand to a client
CN103279874B (zh) 2006-05-05 2016-08-03 美国索尼电脑娱乐公司 广告旋转
US7739275B2 (en) * 2006-05-19 2010-06-15 Yahoo! Inc. System and method for selecting object metadata evolving over time
US8615550B2 (en) * 2006-05-31 2013-12-24 Red Hat, Inc. Client-side data scraping for open overlay for social networks and online services
US8185584B2 (en) * 2006-05-31 2012-05-22 Red Hat, Inc. Activity history management for open overlay for social networks and online services
US7792903B2 (en) 2006-05-31 2010-09-07 Red Hat, Inc. Identity management for open overlay for social networks and online services
US8688742B2 (en) 2006-05-31 2014-04-01 Red Hat, Inc. Open overlay for social networks and online services
US9165282B2 (en) 2006-05-31 2015-10-20 Red Hat, Inc. Shared playlist management for open overlay for social networks and online services
US8612483B2 (en) * 2006-05-31 2013-12-17 Red Hat, Inc. Link swarming in an open overlay for social networks and online services
US8185435B2 (en) * 2006-06-16 2012-05-22 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for facilitating content-based selection of long-tail business models and billing
US8468561B2 (en) 2006-08-09 2013-06-18 Google Inc. Preemptible station inventory
US20080098436A1 (en) * 2006-10-19 2008-04-24 Sbc Knowledge Ventures, L.P. Top recording events list for media device
US8056101B2 (en) 2006-11-02 2011-11-08 At&T Intellectual Property I, L.P. Customized interface based on viewed programming
US8463893B2 (en) * 2006-11-30 2013-06-11 Red Hat, Inc. Automatic playlist generation in correlation with local events
US8176191B2 (en) 2006-11-30 2012-05-08 Red Hat, Inc. Automated identification of high/low value content based on social feedback
US8943210B2 (en) * 2006-11-30 2015-01-27 Red Hat, Inc. Mastering music played among a plurality of users
US8060827B2 (en) * 2006-11-30 2011-11-15 Red Hat, Inc. Method and system for preloading suggested content onto digital video recorder based on social recommendations
US9021045B2 (en) * 2006-11-30 2015-04-28 Red Hat, Inc. Sharing images in a social network
US9405827B2 (en) * 2006-11-30 2016-08-02 Red Hat, Inc. Playlist generation of content gathered from multiple sources
US8091032B2 (en) * 2006-11-30 2012-01-03 Red Hat, Inc. Automatic generation of content recommendations weighted by social network context
US8832277B2 (en) * 2006-11-30 2014-09-09 Red Hat, Inc. Community tagging of a multimedia stream and linking to related content
US8812582B2 (en) * 2006-11-30 2014-08-19 Red Hat, Inc. Automated screen saver with shared media
US20080196055A1 (en) * 2007-02-09 2008-08-14 Cable Television Laboratories, Inc. Restricting access to content
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US7950046B2 (en) * 2007-03-30 2011-05-24 Uranus International Limited Method, apparatus, system, medium, and signals for intercepting a multiple-party communication
US8627211B2 (en) * 2007-03-30 2014-01-07 Uranus International Limited Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication
US8060887B2 (en) * 2007-03-30 2011-11-15 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7765261B2 (en) * 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers
US7765266B2 (en) 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium, and signals for publishing content created during a communication
US8702505B2 (en) 2007-03-30 2014-04-22 Uranus International Limited Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication
US9276664B2 (en) * 2007-04-30 2016-03-01 Dish Network Corporation Mobile interactive satellite services
US9398346B2 (en) * 2007-05-04 2016-07-19 Time Warner Cable Enterprises Llc Methods and apparatus for predictive capacity allocation
US8769585B2 (en) * 2007-09-28 2014-07-01 At&T Knowledge Ventures, Lp Systems and methods of processing programming wish list data
EP2046063A1 (en) * 2007-10-02 2009-04-08 Alcatel Lucent Method for rate control of multimedia streams and apparatus for performing this method
US8416247B2 (en) 2007-10-09 2013-04-09 Sony Computer Entertaiment America Inc. Increasing the number of advertising impressions in an interactive environment
US20090187936A1 (en) * 2007-12-21 2009-07-23 Jelli, Inc. Social broadcasting
US8498946B1 (en) * 2007-12-21 2013-07-30 Jelli, Inc. Social broadcasting user experience
US8490133B1 (en) * 2007-12-21 2013-07-16 Jelli, Inc. Social broadcasting platform
WO2009095590A1 (fr) * 2008-01-29 2009-08-06 Thomson Licensing Procede de transmission de contenus vod
US9060208B2 (en) * 2008-01-30 2015-06-16 Time Warner Cable Enterprises Llc Methods and apparatus for predictive delivery of content over a network
US8769558B2 (en) 2008-02-12 2014-07-01 Sony Computer Entertainment America Llc Discovery and analytics for episodic downloaded media
US8561108B2 (en) * 2008-03-25 2013-10-15 International Business Machines Corporation Video episode order adherence
US8689266B2 (en) 2008-03-25 2014-04-01 International Business Machines Corporation Dynamic rebroadcast scheduling of videos
US20110225026A1 (en) * 2008-06-13 2011-09-15 Google Inc. Map-Based Interface for Booking Broadcast Advertisements
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US8938467B2 (en) * 2009-03-25 2015-01-20 Eloy Technology, Llc System and method for intelligent storage of time shifted content
US20120117585A1 (en) 2009-04-29 2012-05-10 Eloy Technology, Llc Method and system for applying content restrictions to renderers in identified network viewing areas
US8763090B2 (en) 2009-08-11 2014-06-24 Sony Computer Entertainment America Llc Management of ancillary content delivery and presentation
US10003851B2 (en) * 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
US8863192B2 (en) * 2010-01-07 2014-10-14 Qualcomm Incorporated Adaptive monitoring method for update detection in a mobile broadcast network
US9300445B2 (en) 2010-05-27 2016-03-29 Time Warner Cable Enterprise LLC Digital domain content processing and distribution apparatus and methods
US9185341B2 (en) 2010-09-03 2015-11-10 Time Warner Cable Enterprises Llc Digital domain content processing and distribution apparatus and methods
US8977767B2 (en) * 2010-10-20 2015-03-10 Qualcomm Incorporated Methods and apparatuses for affecting programming of content for transmission over a multicast network
US20120101869A1 (en) * 2010-10-25 2012-04-26 Robert Manganelli Media management system
CN102202238B (zh) * 2011-05-23 2013-11-20 深圳市九洲电器有限公司 一种节目传送系统、数字机顶盒及其节目过滤的方法
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
JP5957235B2 (ja) * 2012-01-30 2016-07-27 株式会社東芝 運転計画システム
US8978079B2 (en) 2012-03-23 2015-03-10 Time Warner Cable Enterprises Llc Apparatus and methods for managing delivery of content in a network with limited bandwidth using pre-caching
US10764609B2 (en) * 2016-05-18 2020-09-01 Disney Enterprises Inc. Systems and methods for creating broadcast media channels playing media contents based on user ratings
US20170366854A1 (en) * 2016-06-21 2017-12-21 Facebook, Inc. Systems and methods for event broadcasts
US10846779B2 (en) 2016-11-23 2020-11-24 Sony Interactive Entertainment LLC Custom product categorization of digital media content
US10860987B2 (en) 2016-12-19 2020-12-08 Sony Interactive Entertainment LLC Personalized calendar for digital media content-related events
US11954564B2 (en) 2017-09-21 2024-04-09 International Business Machines Corporation Implementing dynamically and automatically altering user profile for enhanced performance
US10931991B2 (en) 2018-01-04 2021-02-23 Sony Interactive Entertainment LLC Methods and systems for selectively skipping through media content
US10687104B2 (en) * 2018-05-10 2020-06-16 Arris Enterprises Llc Push video on demand schedule simulator
US11743524B1 (en) 2023-04-12 2023-08-29 Recentive Analytics, Inc. Artificial intelligence techniques for projecting viewership using partial prior data sources

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4602279A (en) 1984-03-21 1986-07-22 Actv, Inc. Method for providing targeted profile interactive CATV displays
US5155591A (en) 1989-10-23 1992-10-13 General Instrument Corporation Method and apparatus for providing demographically targeted television commercials
US5446919A (en) 1990-02-20 1995-08-29 Wilkins; Jeff K. Communication system and method with demographically or psychographically defined audiences
US5404505A (en) * 1991-11-01 1995-04-04 Finisar Corporation System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
US5564088A (en) 1992-02-07 1996-10-08 Sony Corporation Broadcast signal receiver with means for prioritizing broadcast signals based on previous selections thereof
US5659350A (en) * 1992-12-09 1997-08-19 Discovery Communications, Inc. Operations center for a television program packaging and delivery system
EP0856993B1 (en) 1992-12-09 2002-07-31 Discovery Communications, Inc. Set top terminal for cable television delivery systems
US5600364A (en) 1992-12-09 1997-02-04 Discovery Communications, Inc. Network controller for cable television delivery systems
JP3297914B2 (ja) 1993-01-08 2002-07-02 ソニー株式会社 テレビジョン受像機
CA2431951C (en) * 1993-12-02 2005-02-22 Discovery Communications, Inc. Network manager for cable television system headends
JP3644455B2 (ja) 1994-09-29 2005-04-27 ソニー株式会社 番組情報放送方式、番組情報表示方法および受信装置
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6002393A (en) 1995-08-22 1999-12-14 Hite; Kenneth C. System and method for delivering targeted advertisements to consumers using direct commands
JPH09121337A (ja) * 1995-10-26 1997-05-06 Fujitsu Ltd ビデオ・オン・デマンド方法及びセンターシステム
JP3747541B2 (ja) * 1995-12-12 2006-02-22 ソニー株式会社 番組関連情報伝送制御方法、番組関連情報伝送制御装置及び番組関連情報伝送制御システム
US5790935A (en) * 1996-01-30 1998-08-04 Hughes Aircraft Company Virtual on-demand digital information delivery system and method
JPH09284746A (ja) * 1996-04-19 1997-10-31 Sony Corp 双方向情報伝送システムおよび双方向情報伝送方法
US5945988A (en) 1996-06-06 1999-08-31 Intel Corporation Method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system
PT932398E (pt) 1996-06-28 2006-09-29 Ortho Mcneil Pharm Inc Utilizacao do topiramento ou dos seus derivados para a producao de um medicamento para o tratamento de disturbios bipolares maniaco- depressivos
JPH1056600A (ja) * 1996-08-09 1998-02-24 Matsushita Electric Ind Co Ltd 番組情報検索装置
US6144376A (en) 1996-11-15 2000-11-07 Intel Corporation Method and apparatus for merging, displaying and accessing personal computer content listings via a television user interface
JPH10164551A (ja) * 1996-12-02 1998-06-19 Matsushita Electric Ind Co Ltd 番組提供システム
JPH10301793A (ja) * 1997-04-30 1998-11-13 Toshiba Corp 情報処理装置及びスケジューリング方法
US6114376A (en) 1997-04-30 2000-09-05 Mcgill University Methods for using macrocyclic lactone compounds as multidrug resistance reversing agents in tumor and other cells
IL125141A0 (en) 1998-06-29 1999-01-26 Nds Ltd Advanced television system
US6119189A (en) 1997-09-24 2000-09-12 Intel Corporation Bus master transactions on a low pin count bus
US5991841A (en) 1997-09-24 1999-11-23 Intel Corporation Memory transactions on a low pin count bus
US6131127A (en) 1997-09-24 2000-10-10 Intel Corporation I/O transactions on a low pin count bus
US6184918B1 (en) 1997-09-30 2001-02-06 Intel Corporation Method and apparatus for monitoring viewing of broadcast data
US6029045A (en) * 1997-12-09 2000-02-22 Cogent Technology, Inc. System and method for inserting local content into programming content
JPH11341054A (ja) * 1998-05-22 1999-12-10 Nec Corp データパケット送出装置
US6614987B1 (en) 1998-06-12 2003-09-02 Metabyte, Inc. Television program recording with user preference determination
JP2000156851A (ja) * 1998-11-20 2000-06-06 Jisedai Joho Hoso System Kenkyusho:Kk 番組配信システム
US6996098B2 (en) * 1999-03-31 2006-02-07 Sedna Patent Services, Llc Method and apparatus for injecting information assets into a content stream
CA2383352C (en) 1999-04-20 2008-07-08 Charles A. Eldering Advertising management system for digital video streams
WO2001015451A1 (en) 1999-08-24 2001-03-01 Enreach Technology, Inc. Method for providing a personalized video channel
US7444660B2 (en) * 2000-11-16 2008-10-28 Meevee, Inc. System and method for generating metadata for video programming events
US7055165B2 (en) * 2001-06-15 2006-05-30 Intel Corporation Method and apparatus for periodically delivering an optimal batch broadcast schedule based on distributed client feedback

Also Published As

Publication number Publication date
US7020893B2 (en) 2006-03-28
JP4236574B2 (ja) 2009-03-11
EP1400119A1 (en) 2004-03-24
KR20040007725A (ko) 2004-01-24
US20020194598A1 (en) 2002-12-19
CN1516972A (zh) 2004-07-28
JP2004537201A (ja) 2004-12-09
CN1263306C (zh) 2006-07-05
WO2002104030A1 (en) 2002-12-27

Similar Documents

Publication Publication Date Title
KR100585539B1 (ko) 최신의 클라이언트 요구 피드백에 기초한 호기적 브로드캐스트 스케쥴 생성 방법과 장치, 머신 판독 가능한 매체 및 시스템
KR100630798B1 (ko) 브로드캐스트 스케쥴 생성 방법, 브로드캐스트 장치, 브로드캐스트 시스템 및 머신 판독 가능한 매체
US20020193066A1 (en) Methods and apparatus for providing rating feedback for content in a broadcast system
US20020194585A1 (en) Methods and apparatus for providing ranking feedback for content in a broadcast system
EP1312216B1 (en) Method and apparatus to determine broadcast content and scheduling in a broadcast system
KR100603091B1 (ko) 피드백 전송 시스템, 장치 및 방법
US7167895B1 (en) Signaling method and apparatus to provide content on demand in a broadcast system
US8544048B2 (en) System for content delivery
US9154824B2 (en) System for content delivery
US20030066090A1 (en) Method and apparatus to provide a personalized channel
US8943540B2 (en) Method and apparatus to provide a personalized channel
US20030005451A1 (en) Method and apparatus to distribute content descriptors in a content distribution broadcast system
US20020194603A1 (en) Method and apparatus to distribute content using a multi-stage broadcast system

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee