KR20140044883A - 전자 프로그램 가이드를 캐싱하기 위한 시스템 및 방법 - Google Patents
전자 프로그램 가이드를 캐싱하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20140044883A KR20140044883A KR1020147002460A KR20147002460A KR20140044883A KR 20140044883 A KR20140044883 A KR 20140044883A KR 1020147002460 A KR1020147002460 A KR 1020147002460A KR 20147002460 A KR20147002460 A KR 20147002460A KR 20140044883 A KR20140044883 A KR 20140044883A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- portable device
- program
- channel
- caching
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
- H04N21/41265—The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
휴대용 디바이스(26)에 전자 프로그램 가이드를 캐싱하기 위한 방법은 로컬 캐시가 관련 정보를 포함할 때 로컬 캐시(22)로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩함으로써 시작한다. 하지만, 로컬 캐시가 이러한 정보가 부족한 경우, 휴대용 디바이스는 서버(12)로부터 채널 정보 및 프로그램 정보를 다운로딩한다. 그런 다음, 휴대용 디바이스들은 전자 프로그램 가이드를 휴대용 디바이스에 각각 확립하기 위해, 다운로딩된 채널 정보 및 프로그램 정보로부터 채널 색인 및 프로그램 색인을 조성한다.
Description
본 출원은 2011년 08월 10일에 출원된 미국 가특허 출원번호 제61/521,971호에 대해 35 U.S.C. 119(e) 하에서 우선권을 주장하며, 이의 가르침들은 본 명세서에서 병합된다.
본 발명은 전자 프로그램 가이드들(EPGs: Electronic Program Guides)에 관한 것이다.
기술의 진보는 다양한 프로그래밍을 텔레비전 시청자들 및 라디오 청취자들에 제공하였다. 이를 위해, 텔레비전 및 라디오 컨텐츠의 제공자들은 전형적으로 현재 및 다가오는 프로그래밍에 대한 일정 정보를 디스플레이하는 계속 업데이트되는 메뉴를 포함하는 전자 프로그램 가이드들(EPGs) 및 상호 작용 프로그램 가이드들을 이들의 소비자들에게 제공한다. ITV와 같은 일부 EPG들은 또한 사용자가 컨텐츠를 따라잡게 하기 위한 백워드 스크롤링(backward scrolling)을 특징으로 한다.
대부분의 사례들에서, 셋톱 박스(STB)는 시청자가 케이블 텔레비전 또는 위성 텔레비전 제공자 또는 다른 네트워크 서비스 운영자에 의해 제공되는 컨텐츠를 동조(즉, 선택)할 메커니즘의 역할을 한다. 시청자에게 이용 가능한 컨텐츠를 식별하기 위해, STB는 네트워크 서비스 운영자에 의해 유지되는 백 엔드 서버(back end server)로부터 EPG를 검색할 것이다. 대안적으로, STB는 네트워크 서비스 운영자로부터 수신된 전송 스트림(TS: Transport Stream) 내의 코딩된 정보를 디코딩함으로써 EPG를 획득할 수 있다. STB는 긴(lengthy) 것임이 입증될 수 있는 EPG 설치(installation)로 알려진 프로세스 동안 하드 디스크 또는 유사한 것에 EPG를 기록할 것이다. 실제로, 네트워크 서비스 운영자는 채널 할당 및 프로그래밍의 변경에 기초하여 EPG를 빈번하게 업데이트할 것이다. 따라서, STB는 사용자들에게 가장 현재의 EPG를 제공하기 위해 배경 내의 EPG를 업데이트할 필요가 있다.
애플 iPad®와 같은 태블릿 컴퓨터들, 뿐만 아니라 스마트 폰들과 같은 다른 휴대용 디바이스들은, 전형적으로 텔레비전 세트와 같은 1차 디스플레이 디바이스 상에서의 디스플레이를 경험하는 컨텐츠와 연관된 메타데이터의 형태로 정보를 디스플레이하기 위한 제2 스크린을 제공하기 위해, 홈 네트워크 내의 홈 게이트웨이 또는 STB와 상호 작용할 수 있다. 이러한 태블릿 컴퓨터들 및 스마트 폰들과 STB의 상호 작용은 채널 잽핑(zapping), 음량 조절, 컨텐츠 동조, 관련 및 보충 정보 네비게이션, 및 시청과 같은 기능들을 포함할 수 있다. 태블릿 컴퓨터 또는 스마트 폰으로부터 백-엔드 서버로의 중복적인 네트워크 요청을 피하기 위해, EPG의 캐싱은 필수적인 것이 된다. 이러한 캐싱은 EPG의 로컬 검색을 허용하는데, 이는 채널들, 프로그램들, 및 일정 정보의 원활한 브라우징(browsing)을 가능하게 한다.
기존의 EPG 캐싱 방법들은 XML 파일 포맷의 방식으로 EPG를 하드 디스크에 기록하기 위한 방법, 및 파일명에 따라 파일들을 판독 및 기입한 다음, 특정 정보를 얻기 위해 XML 파일을 분석하기 위한 방법에 집중된다. 이러한 종류의 해법의 단점은 다음을 포함할 수 있다:
1. XML 파일들은 요소 이름들, 속성 이름들, 태그들 등을 저장하기 위한 큰 부피의 중복적인 저장 공간을 소비한다.
2. 모든 채널들, 프로그램들, 및 일정 정보를 단 하나의 XML 파일에 저장하는 것은 매우 어려운 것임이 입증될 수 있다. 이러한 정보를 분리된 XML 파일들로 저장하는 것은 특정 디렉토리에 모든 XML 파일들을 로딩하기 위한 중복적인 파일 I/O 및 중복적인 시간을 요구한다.
XML 포맷을 대신하여 자바스크립트 객체 표기법(JSON) 메시지 포맷을 이용하는 것은 시간 및 저장 용량의 제한된 절약(savings)을 산출할 것이다. 하지만, JSON 메시지 포맷은 텍스트 기반이며, 키(key) 및 값(value) 쌍을 표시하기 위한 일부 태그들(tags)을 더 필요로 한다. EPG 데이터를 2진 포맷으로 로컬 디스크에 차례로 나열하는 것은 일부 개선을 산출할 수 있지만, 분리된 상이한 프로그램들을 상이한 파일들로 편성하는 것을 요구하며, 따라서 색인 붙이기(indexing) 및 네비게이션은 여전히 시간이 많이 소요되고 비효율적이다.
따라서, 앞서 언급된 어려움들을 극복한, 휴대용 디바이스에 EPG를 캐싱하기 위한 기술에 대한 필요가 존재한다.
간략하게, 본 발명의 원리들의 한 선호되는 실시예에 따르면, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법은 로컬 캐시가 관련 정보를 포함할 때 로컬 캐시로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩함으로써 시작한다. 하지만, 로컬 캐시가 이러한 정보가 부족한 경우, 휴대용 디바이스는 서버로부터 채널 정보 및 프로그램 정보를 다운로딩한다. 그런 다음, 휴대용 디바이스들은 전자 프로그램 가이드를 휴대용 디바이스에 각각 확립하기 위해, 다운로딩된 채널 정보 및 프로그램 정보로부터 채널 색인 및 프로그램 색인을 조성(build)한다.
본 발명을 통해, 종래 기술의 단점을 극복한 효율적인 색인 붙이기 및 네비게이션 등을 가능하게 하는 휴대용 디바이스에 EPG를 캐싱하기 위한 기술이 제공된다.
도 1은 본 발명의 원리들에 따라 로컬 캐시 또는 백 엔드 시스템 중 하나로부터 전자 프로그램 가이드를 캐싱하기 위한 적어도 하나의 휴대용 디바이스를 포함하는 홈 네트워크의 블록도를 도시하는 도면.
도 2는 본 발명의 원리들에 따라 전자 프로그램 가이드를 캐싱하는 도 1의 휴대용 디바이스와 연관된 이벤트들의 시간 시퀀스를 도시하는 도면.
도 3은 개별적인 일들(days)에서의 개별적인 채널들에 대한 프로그램들의 시퀀스를 보여주는 표를 도시하는 도면.
도 4는 주어진 일에서의 주어진 채널에 대한 프로그램 세그먼트들의 조성(build-up)을 보여주는 도 3의 확대도를 도시하는 도면.
도 5는 프로그램 정보의 2진 저장(binary storage)을 보여주는 표를 도시하는 도면.
도 2는 본 발명의 원리들에 따라 전자 프로그램 가이드를 캐싱하는 도 1의 휴대용 디바이스와 연관된 이벤트들의 시간 시퀀스를 도시하는 도면.
도 3은 개별적인 일들(days)에서의 개별적인 채널들에 대한 프로그램들의 시퀀스를 보여주는 표를 도시하는 도면.
도 4는 주어진 일에서의 주어진 채널에 대한 프로그램 세그먼트들의 조성(build-up)을 보여주는 도 3의 확대도를 도시하는 도면.
도 5는 프로그램 정보의 2진 저장(binary storage)을 보여주는 표를 도시하는 도면.
도 1은 네트워크(14)에 걸쳐 백 엔드 시스템(12)으로부터 컨텐츠 및 프로그램 가이드 정보 모두를 수신하는 홈 네트워크(10)의 블록도를 도시한다. 도 1의 예증된 실시예에서, 네트워크(14)는 인터넷을 구성한다. 하지만, 네트워크(14)는 케이블 텔레비전, 위성 텔레비전 제공자, 또는 다른 네트워크 시스템 운영자에 의해 유지되는 전용 네트워크(proprietary network)와 같은 다른 형태들을 가질 수 있다. 또한, 네트워크(14)는 광역 네트워크, 로컬 영역 네트워크 또는 무선 네트워크, 또는 퍼블릭(public) 또는 프라이빗(private) 액세스를 갖는 이들의 결합의 형태를 가질 수 있다.
백 엔드 시스템(12)은 전형적으로 적어도 하나의 데이터베이스(18)로부터의 정보를 제공하기 위해 네트워크(14)에 결합된 적어도 하나의 서버(16)를 포함한다. 정보는, 예를 들어 영화들 또는 텔레비전 프로그래밍을 표현하는 오디오-비주얼 파일들의 형태의 컨텐츠를 포함할 수 있다. 또한, 정보는 전자 프로그램 가이드를 생성하기 위해 홈 네트워크 내의 디바이스들에 의해 사용되는 채널 정보 및 프로그램 정보를 포함할 수 있다. 비록 도 1이 단일 서버(16) 및 단일 데이터베이스(18)로 구성된 백 엔드 시스템을 도시할지라도, 실제로 백 엔드 시스템은 다수의 서버들 및/또는 다수의 데이터베이스들을 포함할 수 있다.
홈 네트워크(10)는 네트워크(14)와, 예를 들어 텔레비전 세트(24) 상에 디스플레이하기 위한 컨텐츠(예컨대, 텔레비전 프로그래밍)를 선택하기 위한 셋톱 박스(STB)(22)와 같은 홈 네트워크 내의 다른 디바이스들 사이의 1차 인터페이스를 제공하는 홈 게이트웨이(20)를 포함한다. 비록 도 1이 단일 STB(22)를 도시할지라도, 홈 게이트웨이(20)는, 백 엔드 시스템(12) 또는 다른 시스템(도시되지 않음)이 홈 네트워크(10)로의 인터넷 연결성을 제공하는 경우, 다수의 STB들, 뿐만 아니라 개인용 컴퓨터와 같은 다른 디바이스들에 서비스하는 능력(capability)을 가진다.
홈 네트워크(10)는, 예를 들어 하나 이상의 프로세서들(도시되지 않음)을 갖는 애플 iPad®와 같은 태블릿 컴퓨터의 형태를 가질 수 있다. 실제로, 휴대용 디바이스(26)는 게이트웨이 또는 거기에 연결된 무선 라우터(도시되지 않음)에 의해 제공된 와이-파이 링크와 같은 무선 링크를 통해 홈 네트워크(20)와 통신한다. 게이트웨이(20)와 통신하기 위한 휴대용 디바이스(26)의 능력은 태블릿 컴퓨터가 STB(22)와 상호 작용하는 것을 허용한다. 이러한 방식으로, 휴대용 디바이스(26)는 채널 잽핑, 음량 조절, 컨텐츠 동조, 관련 및 보충 정보 네비게이션, 및 시청과 같은 기능들을 포함 및 수행할 수 있다.
예를 들어, 채널 동조와 같은 기능들을 수행하도록 사용자가 휴대용 디바이스(26)를 사용하기 위해, 휴대용 디바이스는 전형적으로 STB(22)에 의해 제공되는 전자 프로그램 가이드와 유사한 전자 프로그램 가이드를 디스플레이하기 위한 능력을 소유할 것이다. EPG를 디스플레이하기 위해, STB(22)는 홈 게이트웨이(20)를 통해 백 엔드 시스템으로부터 EPG를 검색할 수 있다. 대안적으로, STB는 홈 게이트웨이(20)를 통해 백 엔드 시스템(12)으로부터 수신되는 컨텐츠들을 포함하는 전송 스트림(TS) 내의 코딩된 정보를 디코딩함으로써 이를 획득할 수 있다. STB(22)는 하드 디스크 또는 유사한 것(도시되지 않음)에 EPG를 기록할 것이다. 실제로, 네트워크 서비스 운영자는 채널 할당 및 프로그래밍의 변경들에 기초하여 EPG를 빈번하게 업데이트할 것이다.
EPG를 휴대용 디바이스에 캐싱하기 위한 현재의 기술들은 일반적으로, 휴대용 디바이스가 자체 업데이트를 필요로 할 때마다, 휴대용 디바이스가 백 엔드 시스템(12)으로부터 직접 필수 정보를 직접 다운로딩하도록 요구한다. 홈 네트워크(10) 내에 존재하는 휴대용 디바이스들이 많을수록, 백 엔드 시스템에 대한 수요(demand)가 커지며, 이로써 네트워크(14) 상에 트래픽이 증가한다.
본 발명의 원리들에 따르면, 휴대용 디바이스(26)에의 EPG의 캐싱은 이후에 설명되는 바와 같이, 휴대용 디바이스가 프로그램 명령어들의 세트를 실행하게 함으로써 유리하게 발생한다. 프로그램 명령어들의 세트는, 휴대용 디바이스(26)에 의해 실행될 때, 디바이스가 먼저 "관련(relevant)" EPG 정보에 대한 도 1의 셋톱 박스(22)에 먼저 질문하며, 만약 이러한 정보가 STB에 존재하는 경우, 휴대용 디바이스는 거기로부터 데이터를 다운로딩할 것이다. 하지만, STB(22)가 이러한 정보가 부족한 경우, 휴대용 디바이스(26)는 백 엔드 시스템(12)로부터 정보를 다운로딩할 것이다. 용어 "관련"은 특정 간격(interval) 내에서 최근에 업데이트된 EPG 정보(전형적으로, 채널 및 프로그램 정보)를 말한다. 실제로, 도 1의 백 엔드 시스템(12)은, 예를 들어 10분마다 규칙적인 간격으로 STB(22)를 업데이트할 것이다. 10분마다의 업데이트 빈도를 가정하면, 10분보다 더 오래된 STB(22) 내의 EPG 정보는, 휴대용 디바이스(26)가 관련 EPG 정보에 대해 STB에 질문할 때, 관련성(relevance)을 소유하지 않는다.
도 2는 본 발명의 원리들에 따라 전자 프로그램 가이드를 캐싱하는 도 1의 휴대용 디바이스(26)와 연관된 이벤트들의 시퀀스를 도시한다. 도 2의 업데이트 간격(30)으로 예증된 규칙적인 간격으로, 도 1의 휴대용 디바이스(26)는 단계(34)를 준비하기 위해 초기화 단계(32)를 먼저 실행함으로써 EPG를 캐싱할 것이며, 단계(34) 동안에 휴대용 디바이스(26)는 관련 EPG 정보를 저장하는 도 1의 홈 네트워크(10) 내의 로컬 캐시에 먼저 질문한다. 실제로, EPG 정보의 로컬 캐시는 도 1의 STB(22)에 존재한다. 하지만, 일부 사례들에서, 로컬 캐시는 홈 게이트웨이(20)와 같은 홈 네트워크 내의 다른 디바이스에 존재할 수 있으며, 이러한 디바이스는 EPG 정보를 기록하는 것으로 가정된다.
휴대용 디바이스(26)로부터의 질문에 응답하여, 로컬 캐시{예컨대, STB(22)}는 그것의 상태, 즉 로컬 캐시가 현재 관련 EPG 정보를 포함하는지의 여부에 대해 응답할 것이다. 로컬 캐시가 EPG 정보를 가진다는 것을 가정하면; 휴대용 디바이스(26)는 로컬 캐시로부터 이러한 정보를 다운로딩할 것이며, 이러한 관련 EPG 정보를 전형적으로 하드 드라이브, 또는 휴대용 디바이스 내의 다른 저장 메커니즘에 저장할 것이다. 로컬 캐시가 관련 EPG 정보를 소유하지 않는 경우, 즉 캐싱된 EPG 정보가 더 이상 현재의 것이 아닌 경우, 휴대용 디바이스(26)는 휴대용 디바이스에 저장을 위해 도 1의 백 엔드 서버(12)로부터 EPG 정보를 다운로딩할 것이다.
도 2의 블록(38)은 휴대용 디바이스(26)에 의해 EPG 정보를 캐싱하는 것과 연관된 단계들의 보다 상세한 예증을 도시한다. 이전에 논의된 바와 같이, 캐싱 프로세스는 로컬 캐시에 질문하는 단계들을 포함하고, 로컬 캐시는 또한 그것의 상태에 대해 응답할 것이다. 로컬 캐시가 관련 EPG 정보를 가지는 경우, 휴대용 디바이스(26)는 휴대용 디바이스에 저장을 위해 로컬 캐시로부터 이러한 정보를 다운로딩할 것이다. 그렇지 않으면, 휴대용 디바이스(26)는 휴대용 디바이스에 저장을 위해 백 엔드 시스템(12)으로부터 그 정보를 다운로딩할 것이다.
실제로, EPG 정보는 사이즈가 100 메가 바이트를 초과할 수 있으며, 이에 따라 단 하나의 요청으로 EPG 정보를 캐싱(즉, 다운로딩)하는 것은 실용적이지 못하다. 그러한 이유로, 휴대용 디바이스(26)는 EPG 정보를 연속적으로 판독하기 위해 블록(38)의 단계들을 실행한다. 실제로, 휴대용 디바이스(26)는 이전에 설명된 바와 같이, 로컬 캐시로부터, 또는 백 엔드 시스템(12)으로부터 채널 정보를 연속적으로 판독하기 위해 제1 루프(40)를 실행한 다음에, 휴대용 디바이스에 저장을 위해 채널 정보를 다운로딩할 것이다. 채널 정보를 다운로딩 및 저장한 이후에, 휴대용 디바이스(26)는 채널 색인을 조성할 것이다. 휴대용 디바이스(26)는 프로그램 정보를 연속적으로 판독하기 위해 제2 루프(42)를 실행한 다음에, 휴대용 디바이스에 저장을 위해 프로그램 정보를 다운로딩할 것이다. 채널 정보를 다운로딩 및 저장한 이후에, 휴대용 디바이스(26)는 프로그램 색인을 조성할 것이다. 채널 색인 및 프로그램 색인으로부터, 휴대용 디바이스(26)는 사용자로부터의 EPG 그래픽 사용자 인터페이스에 대한 요청에 응답하여, 디스플레이를 위한 단계(43) 동안에 EPG를 생성할 것이다.
각 채널은 적어도 하나, 및 바람직하게는 복수의 프로그램들을 포함하며, 이들 각각은 각자의 일정을 가진다. 시작 및 정지 시간은 각 프로그램 일정에 대한 중요한 특성들(properties)을 구성한다. 다음은 프로그램 일정들의 시간 블록들을 계산하기 위한 예시적인 C-언어 프로그램을 포함한다:
EPG 데이터를 검색하기 위한 C-프로그래밍 언어의 프로그래밍 명령어들의 한 예시적인 세트는 아래에 나타난다. 도 1의 휴대용 디바이스(26) 내의 프로세서(도시되지 않음)에 의해 실행될 때, 아래에 열거된 프로그래밍 명령어들은 "startDateTime" 및 "duration"의 입력 파라미터들에 따라 시간 블록들을 계산한다. 변수 "startDateTime"은 단 하나의 질문을 위해 EPG 내의 프로그램들의 특정 시작 일자(date) 및 시간을 표시한다. 휴대용 디바이스 내의 로컬 디스크 또는 다른 저장 메커니즘에 기록된 프로그램 정보의 오프셋 및 길이의 계산은 "startBlock" 및 "endBlock"을 포함하는 시간 블록 변수들을 이용한다. 오프셋 및 길이는 저장 디바이스로부터의 프로그램 정보의 판독을 용이하게 한다.
도 3은 개별적인 일들(days)에서의 개별적인 채널들에 대한 프로그램들의 시퀀스를 보여주는 표를 도시하며, 이는 본 발명의 원리들에 따라 캐싱 방법의 개관(overview)을 제공한다. 예증의 용이함을 위해, 도 3은 0에서부터 M-1에 이르는 일 범위(day range)를 도시하며, 채널 범위는 0에서부터 N-1이다. EPG 프로그램 정보는 시간 일정들의 시퀀스에 따른 배열(arrangement)을 가진다. 한 예시로서, 일(i) 및 채널(j)에 대한 EPG 내의 프로그램 블록은 3개의 프로그램들을 포함하며, 이들 각각은 상이한 명암(shading)으로 표기된다.
도 4는 프로그램 (k), 프로그램 (k+1), 및 프로그램 (k+2)으로 각각 지정된 3개의 프로그램들 각각에 대한 프로그램 세그먼트들의 조성을 보여주는 도 3의 확대도를 도시한다. 프로그램 (k)는 block[p], block[p+1] ... block[q-1]로 표현된 세그먼트들의 시퀀스를 포함한다. 프로그램 (k+1)은 block[q], block[q+1] ... block[r-1]로 표현된 세그먼트들의 시퀀스를 포함한다. 마지막으로, 프로그램 (k+2)은 block[r], block[r+1] ... block[s-1]로 표현된 세그먼트들의 시퀀스를 포함한다. 각 블록은 프로그램 일정에 의존한다.
데이터 구조들인 "ChannelIndex" 및 "ProgramIndex"은 도 4에 도시된 EPG 가이드 부분에 있어서 중요한 역할을 한다. "ChannelIndex" 데이터 구조 내에서, 표기법 "channel Number"을 지닌(bearing) 요소는 채널 번호에 대응하며, 특정 채널의 고유의 식별의 역할을 한다. 프로그램 세그먼트들은 정수 배열(interger array)을 구성하며, 이는 연관된 채널 내의 특정 프로그램의 한 지점(point)에 대한 레퍼런스(reference)를 가능하게 한다. 이전에 논의된 바와 같이, 프로그램 세그먼트들은 프로그램의 시작 시간 및 종료 시간을 포함하는 프로그램 일정에 의존한다. 데이터 구조 "ProgramIndex"는 값들의 배열(array)을 구성하며, 이들 각각은 표기법 "ProgramIndex"을 지닌다. 데이터 구조 "ProgramIndex"에 대해, 변수들 "off" 및 "len"은 도 1의 휴대용 디바이스(26)의 로컬 디스크에 각각 기록된 프로그램 정보의 레코딩된 오프셋 및 길이를 식별하는 역할을 한다. 이들 두 데이터 구조들로부터, EPG 시작 및 종료 시간은 블록들의 계산을 가능하게 하며, 이는 지시된 프로그램들의 계산을 가능하게 한다. 지시된 프로그램들은 이들의 오프셋 및 길이에 따라 로컬 디스크로부터 판독될 수 있다.
도 5는 프로그램 정보의 2진 저장을 보여주는 표를 도시하며, 이는 분리된 메모리 블록에 저장된 각 프로그램의 개별적인 세그먼트들 각각을 보여준다. 이전에 논의된 바와 같이, "ProgrammingIndex" 데이터 구조와 연관된 변수들 "off" 및 "len"은 프로그램 정보의 레코딩된 오프셋 및 길이를 각각 식별한다. 오프셋 및 "length"은 정수 값들을 구성하며, 기록된 프로그램 정보에 대한 오프셋 및 길이의 2진 바이트를 나타낸다.
앞의 사항은 전자 프로그램 가이드(EPG) 정보를 휴대용 디바이스에 기록하기 위한 기술을 설명한다.
10: 프론트 엔드 시스템 12: 백 엔드 시스템
14: 인터넷 16: 백 엔드 서버
18: 데이터베이스 20: 홈 게이트웨이
22: 셋톱 박스 24: TV
26: 태블릿 디바이스 또는 휴대용 디바이스
14: 인터넷 16: 백 엔드 서버
18: 데이터베이스 20: 홈 게이트웨이
22: 셋톱 박스 24: TV
26: 태블릿 디바이스 또는 휴대용 디바이스
Claims (10)
- 휴대용 디바이스에 전자 프로그램 가이드(electronic program guide)를 캐싱(caching)하기 위한 방법으로서,
로컬 캐시(local cache)가 관련 정보를 포함할 때 로컬 캐시로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩하는 단계와, 그렇지 않으면,
서버로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩하는 단계와,
전자 프로그램 가이드를 휴대용 디바이스에 각각 확립하기 위해, 다운로딩된 채널 정보 및 프로그램 정보로부터 채널 색인 및 프로그램 색인을 조성(building)하는 단계
를 포함하는, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법. - 제1항에 있어서, 로컬 캐시로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩하는 단계는 홈 네트워크에서 셋톱 박스로부터 채널 정보 및 프로그램 정보를 다운로딩하는 단계를 포함하는, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법.
- 제1항에 있어서, 로컬 캐시로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩하는 단계는 홈 네트워크에서 게이트웨이로부터 채널 정보 및 프로그램 정보를 다운로딩하는 단계를 포함하는, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법.
- 제1항에 있어서, 다운로딩된 채널 정보는 특정 채널 번호로 각각 식별되는 블록들의 시퀀스를 포함하는, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법.
- 제4항에 있어서, 다운로딩된 프로그램 정보는 채널 정보의 각 블록 내의 프로그램들의 시작 시간 및 프로그램 길이 정보를 포함하는, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법.
- 제1항에 있어서, 관련 정보는 최근에 업데이트된 EPG 정보를 포함하는, 휴대용 디바이스에 전자 프로그램 가이드를 캐싱하기 위한 방법.
- 전자 프로그램 가이드를 캐싱하기 위한 휴대용 디바이스로서,
로컬 캐시가 관련 정보를 포함할 때 로컬 캐시로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩하기 위한 수단과, 그렇지 않으면,
서버로부터 휴대용 디바이스로 채널 정보 및 프로그램 정보를 다운로딩하기 위한 수단과,
전자 프로그램 가이드를 휴대용 디바이스에 각각 확립하기 위해, 다운로딩된 채널 정보 및 프로그램 정보로부터 채널 색인 및 프로그램 색인을 확립하기 위한 수단
을 포함하는, 전자 프로그램 가이드를 캐싱하기 위한 휴대용 디바이스. - 제7항에 있어서, 다운로딩된 채널 정보는 특정 채널 번호로 각각 식별되는 블록들의 시퀀스를 포함하는, 전자 프로그램 가이드를 캐싱하기 위한 휴대용 디바이스.
- 제8항에 있어서, 다운로딩된 프로그램 정보는 채널 정보의 각 블록 내의 프로그램들의 시작 시간 및 프로그램 길이 정보를 포함하는, 전자 프로그램 가이드를 캐싱하기 위한 휴대용 디바이스.
- 제7항에 있어서, 관련 정보는 최근에 업데이트된 EPG 정보를 포함하는, 전자 프로그램 가이드를 캐싱하기 위한 휴대용 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161521971P | 2011-08-10 | 2011-08-10 | |
US61/521,971 | 2011-08-10 | ||
PCT/US2012/044565 WO2013022527A1 (en) | 2011-08-10 | 2012-06-28 | System and method for caching an electronic program guide |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140044883A true KR20140044883A (ko) | 2014-04-15 |
Family
ID=46457102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147002460A Withdrawn KR20140044883A (ko) | 2011-08-10 | 2012-06-28 | 전자 프로그램 가이드를 캐싱하기 위한 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20140157313A1 (ko) |
EP (1) | EP2742698A1 (ko) |
JP (1) | JP2014525700A (ko) |
KR (1) | KR20140044883A (ko) |
CN (1) | CN103733636A (ko) |
WO (1) | WO2013022527A1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9071859B2 (en) | 2007-09-26 | 2015-06-30 | Time Warner Cable Enterprises Llc | Methods and apparatus for user-based targeted content delivery |
US9854280B2 (en) | 2012-07-10 | 2017-12-26 | Time Warner Cable Enterprises Llc | Apparatus and methods for selective enforcement of secondary content viewing |
KR101533064B1 (ko) * | 2012-11-01 | 2015-07-01 | 주식회사 케이티 | 콘텐츠 맞춤형 인터페이스를 표시하는 모바일 디바이스 및 모바일 디바이스 사용 방법 |
CN105791970B (zh) * | 2013-02-28 | 2018-09-18 | 青岛海信电器股份有限公司 | 移动终端、电视机、电视数字节目切换系统、装置和方法 |
CN105847909B (zh) * | 2013-02-28 | 2018-11-02 | 青岛海信电器股份有限公司 | 移动终端、电视机、电视数字节目切换系统、装置和方法 |
CN104144358A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 实现跨屏导视的方法、装置和系统 |
US20150039725A1 (en) * | 2013-08-02 | 2015-02-05 | Time Warner Cable Enterprises Llc | Apparatus and methods for resolving resource contention in a content distribution network |
CN105025305A (zh) * | 2014-04-22 | 2015-11-04 | 中兴通讯股份有限公司 | Iptv图片文件的请求、发送方法及装置 |
US10313468B2 (en) | 2015-06-16 | 2019-06-04 | Comcast Cable Communications, Llc | Caching of metadata objects |
CN105163173A (zh) * | 2015-08-27 | 2015-12-16 | 四川长虹电器股份有限公司 | 基于智能机顶盒上频道节目信息的全文检索方法 |
CN105282589A (zh) * | 2015-10-20 | 2016-01-27 | 浪潮软件集团有限公司 | 一种使用移动智能终端实现数字电视便捷选台的方法 |
CN105657568B (zh) * | 2016-01-07 | 2019-05-03 | 青岛海信电器股份有限公司 | 一种节目控制方法、装置及显示系统 |
US10911794B2 (en) | 2016-11-09 | 2021-02-02 | Charter Communications Operating, Llc | Apparatus and methods for selective secondary content insertion in a digital network |
CN107995506A (zh) * | 2017-12-12 | 2018-05-04 | 深圳Tcl数字技术有限公司 | 节目指南的发送和下载方法、信号发送装置及数字电视 |
WO2019242649A1 (zh) * | 2018-06-20 | 2019-12-26 | 青岛海信电器股份有限公司 | 一种epg用户界面上焦点移动的控制方法及显示设备 |
CN110446111A (zh) * | 2019-08-05 | 2019-11-12 | 广州珠江数码集团股份有限公司 | 机顶盒电子节目单数据更新方法、装置、介质及终端设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9400101D0 (en) * | 1994-01-05 | 1994-03-02 | Thomson Consumer Electronics | Consumer interface for a satellite television system |
AU2003220619A1 (en) * | 2002-04-05 | 2003-10-27 | Matsushita Electric Industrial Co., Ltd. | User configurable electronic program guide drawing upon disparate content sources |
US8209717B2 (en) * | 2002-07-17 | 2012-06-26 | Pace Micro Technology Plc | Receiver with concurrent multi-user electronic program guide |
GB0511774D0 (en) * | 2005-06-09 | 2005-07-20 | Nds Ltd | Extended service information 2 (XSI-2) |
KR101214165B1 (ko) * | 2006-10-02 | 2012-12-21 | 삼성전자주식회사 | Epg 제공 장치 및 방법 |
JP4375390B2 (ja) * | 2006-12-12 | 2009-12-02 | ソニー株式会社 | 携帯端末装置および表示方法、並びにプログラム |
JP2009239686A (ja) * | 2008-03-27 | 2009-10-15 | Hitachi Ltd | 放送受信システム、ホームゲートウェイ装置及び放送受信端末装置 |
JP5007710B2 (ja) * | 2008-09-16 | 2012-08-22 | ソニー株式会社 | 情報処理システム、記録装置、及び通信装置 |
-
2012
- 2012-06-28 JP JP2014525017A patent/JP2014525700A/ja not_active Ceased
- 2012-06-28 US US14/130,992 patent/US20140157313A1/en not_active Abandoned
- 2012-06-28 KR KR1020147002460A patent/KR20140044883A/ko not_active Withdrawn
- 2012-06-28 EP EP12731887.1A patent/EP2742698A1/en not_active Withdrawn
- 2012-06-28 WO PCT/US2012/044565 patent/WO2013022527A1/en active Application Filing
- 2012-06-28 CN CN201280037498.8A patent/CN103733636A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP2742698A1 (en) | 2014-06-18 |
JP2014525700A (ja) | 2014-09-29 |
WO2013022527A1 (en) | 2013-02-14 |
CN103733636A (zh) | 2014-04-16 |
US20140157313A1 (en) | 2014-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20140044883A (ko) | 전자 프로그램 가이드를 캐싱하기 위한 시스템 및 방법 | |
US7805741B2 (en) | Systems and methods for networking digital video recorders | |
US11765432B2 (en) | Systems and methods for adjusting the priority of media assets scheduled to be recorded | |
US9386341B2 (en) | Optimized HTML5 electronic programming guide application | |
KR20180128824A (ko) | 미디어 자산을 효율적으로 다운로드하는 방법 및 시스템 | |
US20250045273A1 (en) | Systems and methods for replacing a stored version of media with a version better suited for a user | |
US12301926B2 (en) | Systems and methods for retrieving segmented media guidance data | |
AU2010100616A4 (en) | Remote Content Download | |
US9258175B1 (en) | Method and system for sharing playlists for content stored within a network | |
AU2013101518C4 (en) | Remote content download | |
AU2014101162A4 (en) | Remote content download | |
US20180091864A1 (en) | User-tailored content access menus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20140128 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |