KR101036036B1 - 프로그램 실행 장치 - Google Patents

프로그램 실행 장치 Download PDF

Info

Publication number
KR101036036B1
KR101036036B1 KR1020067018753A KR20067018753A KR101036036B1 KR 101036036 B1 KR101036036 B1 KR 101036036B1 KR 1020067018753 A KR1020067018753 A KR 1020067018753A KR 20067018753 A KR20067018753 A KR 20067018753A KR 101036036 B1 KR101036036 B1 KR 101036036B1
Authority
KR
South Korea
Prior art keywords
program
executed
execution
executing
monitoring
Prior art date
Application number
KR1020067018753A
Other languages
English (en)
Other versions
KR20070006771A (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 KR20070006771A publication Critical patent/KR20070006771A/ko
Application granted granted Critical
Publication of KR101036036B1 publication Critical patent/KR101036036B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6168Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • 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
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
    • 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/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6118Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • 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/643Communication protocols
    • H04N21/6433Digital Storage Media - Command and Control Protocol [DSM-CC]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Abstract

실행중인 어플리케이션(프로그램)이 이상 종료하였다고 해도, 어플리케이션을 이용할 수 없게 되는 것을 방지하여, 이용자의 편리성을 향상할 수 있는 프로그램 실행 장치를 제공한다. MA 관리부(1205f)는, 초기화 서브 프로그램으로부터의 지시를 접수하여, MA 관리부(1205f) 내의 다른 구성 요소를 제어하는 MA 관리부 메인(2101), 헤드 엔드에서 이송되어 온 XAIT를 해석하는 XAIT 취득 해석부(2102), XAIT의 해석 결과에 의거해 기동해야 할 프로그램을 선택하는 MA 선택부 A(2103), 지정된 프로그램의 기동을 행하는 MA 기동부(2104), 지정된 프로그램의 동작 상황을 감시하여, 이상 종료가 발생한 경우에 통지하는 MA 감시부(2105), 및, 대체 프로그램을 선택하는 MA 선택부 B(2106)를 구비한다.

Description

프로그램 실행 장치{PROGRAM EXECUTION DEVICE}
본 발명은, 프로그램을 실행시켜, 그 동작을 관리하는 프로그램 실행 장치에 관한 것이다. 특히, 디지털 텔레비전에 있어서, 프로그램이 이상 종료하였을 때에 대체 프로그램을 실행시키는 것에 관한 것이다.
최근, 각국에 있어서, 디지털 텔레비전용 사양이 책정되고 있고, 그에 따라, 각 사양에 준거하는 STB(Set Top Box)가 개발되고 있다.
북미 케이블 방송용의 사양인 OCAP 1.0 사양(OCAP 1.0 Profile OC-SP-OCAP1.0-IF-I09-031121)에서는, 영상 및 음성을 각 가정에 배송할 뿐만 아니라, 그것들에 부수하는 어플리케이션도 배송함으로써, 다양한 서비스(예를 들면 인터랙티브 방송 프로그램)를 제공하는 것이 가능해진다. 또한, 방송 사업자가 준비한 어플리케이션(예를 들면, 전자 방송 프로그램표)을 STB 상에서 동작시키는 것도 가능하게 하고 있다.
특허문헌 1의 「데이터의 다운로드」에서는, 방송파(요컨대 MPEG2 트랜스포트 스트림)로부터, 방송에 관련되는 어플리케이션을 다운로드하여 실행하는 방법에 대해 기술되어 있다. 이 특허문헌 1에 기재된 기술에 의해, 각 가정에 영상이나 음성 뿐만 아니라, 어플리케이션도 배송하는 것이 가능해진다.
또, 특허문헌 2의 「어플리케이션 라이프 사이클에 따라 어플리케이션을 관리하기 위한 방법 및 장치」에서는, 어플리케이션의 동작 관리 기술에 대해 기술되어 있다. OCAP 1.0 사양에서는, 특허문헌 2에 기재된 기술을 이용함으로써, 배송된 각각의 어플리케이션의 라이프 사이클을 관리하는 것을 가능하게 하고 있다.
또, OCAP 1.0 사양에서는, STB 기동시에, 방송 사업자가 준비한 어플리케이션이 존재하는 경우에 있어서, 그 방송 사업자가 준비한 어플리케이션을 기동하지 않으면 안되고, 또한 그 방송 사업자가 준비한 어플리케이션이 이상 종료한 경우는, 재기동을 시도하는 것으로 규정되어 있다.
종래의 기술을 이용함으로써, 어플리케이션을 다운로드 및 실행시킨 후, 그 어플리케이션의 라이프 사이클을 감시하여, 이상 종료를 검지하는 것이 가능하고, 또한, 이상 종료한 어플리케이션을 재실행시키는 것이 가능하다.
특허문헌 1 : 일본국 특표 2001-519627호 공보
특허문헌 2 : 일본국 특표 2003-504753호 공보
그러나, 종래의 기술에 있어서는, 이상 종료를 일으킨 어플리케이션을 재실행시키기 때문에, 재차 어플리케이션이 이상 종료를 일으킬 확률이 높고, STB를 이용하여 방송 프로그램을 시청하는 시청자에 대한 편리성을 손상시키는 요인이 되고 있었다.
그래서, 본 발명은 상기의 사정을 감안하여 이루어진 것으로, 실행중인 어플리케이션(프로그램)이 이상 종료하였다고 해도, 어플리케이션을 이용할 수 없게 되는 것을 방지하여, 이용자의 편리성을 향상할 수 있는 프로그램 실행 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명에 따른 프로그램 실행 장치는, 프로그램을 실행하는 프로그램 실행 장치로서, 다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과, 실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과, 상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단과, 상기 프로그램 감시 수단에 의해 이상 종료가 검지된 상기 프로그램의 이상 종료의 원인을 취득하는 원인 취득 수단과, 상기 이상 종료의 원인에 의거하여 회피책을 실행하는 회피책 실행 수단을 구비하고, 상기 실행 수단은, 상기 회피책 실행 수단에 의해 상기 회피책이 실행된 후, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 것을 특징으로 한다. 이에 따라, 실행중인 프로그램이 이상 종료하였다고 해도, 대체 프로그램으로서 같은 종류의 프로그램을 실행함으로써, 항상 프로그램이 동작하고 있는 상태를 유지하는 것이 가능해진다. 여기에서, 같은 종류의 프로그램이란, 예를 들면 전자 방송 프로그램표를 표시하는 등의 기능이 동일하고, 이용자에 의한 조작성, 또는 표시하는 정보의 정보량이나 표시 형식 등의 표시성 등이 상이한 프로그램 등이다. 또한, 같은 종류의 프로그램에는, 이상 종료한 프로그램과 같은 프로그램도 포함하는 것으로 한다.
또, 상기 제2 프로그램 선택 수단은, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 다른 프로그램을 실행해야 할 프로그램으로서 선택해도 된다. 이에 따라, 대체 프로그램으로서, 이상 종료한 프로그램과 같은 종류로, 또한 다른 프로그램을 실행할 수 있다.
또, 상기 제2 프로그램 선택 수단은, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 같은 프로그램을 실행해야 할 프로그램으로서 선택해도 된다. 이에 따라, 이상 종료한 프로그램과 같은 프로그램을 다시 실행할 수 있다.
또, 상기 제2 프로그램 선택 수단은, 소정 조건을 만족하지 않는 경우, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 같은 프로그램을 실행해야 할 프로그램으로서 선택하고, 상기 소정 조건을 만족하는 경우, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 다른 프로그램을 실행해야 할 프로그램으로서 선택해도 된다. 이에 따라, 일정 기간만 최초와 같은 프로그램을 기동하고, 그 후는 다른 프로그램을 실행시키는 것이 가능해진다.
또, 상기 프로그램 감시 수단은, 실행중인 상기 프로그램의 이상 종료를 검지하면, 이상 종료의 발생을 이용자에게 제시해도 된다. 이에 따라, 이용자는 실행중인 프로그램의 이상 종료가 발생한 것을 인식하는 것이 가능해진다.
또, 본 발명에 따른 프로그램 실행 장치는, 프로그램을 실행하는 프로그램 실행 장치로서, 다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과, 실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 이용자의 지시에 의거하여 상기 프로그램과 같은 종류의 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과, 상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단을 구비하는 것을 특징으로 한다. 이에 따라, 이용자가 지시한 프로그램을 실행하는 것이 가능해진다.
또, 상기 제2 프로그램 선택 수단은, 선택 가능한 프로그램의 후보를 제시하는 동시에, 이용자에 의해 선택된 프로그램을 실행해야 할 상기 프로그램으로서 선택해도 된다. 이에 따라, 이용자가 선택한 프로그램을 실행하는 것이 가능해진다. 한편, 이용자는 실행시키는 프로그램을 결정하는 것이 용이해진다.
또, 상기 제2 프로그램 선택 수단은, 이용자로부터의 선택이 소정의 시간 내에 행해지지 않는 경우, 소정의 프로그램을 상기 프로그램으로서 선택해도 된다. 이에 따라, 이용자로부터의 선택이 소정의 시간 내에 행해지지 않아도, 프로그램을 선택하는 것이 가능해진다.
또, 본 발명에 따른 프로그램 실행 장치는, 프로그램을 실행하는 프로그램 실행 장치로서, 다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과, 실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램으로서, 이용자로부터의 채널 선택 요구를 접수하여 처리를 행하는 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과, 상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단을 구비하는 것을 특징으로 한다.
또, 본 발명에 따른 프로그램 실행 장치는, 프로그램을 실행하는 프로그램 실행 장치로서, 다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과, 실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램으로서, 전자 방송 프로그램표를 표시하는 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과, 상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단을 구비하는 것을 특징으로 한다.
또한, 본 발명은, 이러한 프로그램 실행 장치로서 실현할 수 있을 뿐만 아니라, 이러한 프로그램 실행 장치가 구비하는 특징적인 수단을 단계로 하는 프로그램 실행 방법으로서 실현하거나, 그러한 단계를 컴퓨터에 실행시키는 프로그램으로서 실현하거나 할 수도 있다. 그리고, 그러한 프로그램은, CD-ROM 등의 기록 매체나 인터넷 등의 전송 매체를 통해 배송할 수 있는 것은 말할 필요도 없다.
(발명의 효과)
본 발명에 따른 프로그램 실행 장치에 의하면, 실행중인 프로그램이 이상 종료하였다고 해도, 대체 프로그램으로서, 이상 종료한 프로그램과 같은 프로그램, 또는 같은 종류의 프로그램을 실행함으로써, 항상 프로그램이 동작하고 있는 상태를 유지하는 것이 가능해진다. 따라서, 어플리케이션(프로그램)을 이용할 수 없게 되는 것을 방지하여, 이용자의 편리성을 향상할 수 있다.
도 1은 본 발명에 따른 케이블 텔레비전 시스템의 실시 형태 1의 구성도이다.
도 2는 본 발명에 따른 케이블 텔레비전 시스템에 있어서 헤드 엔드와 단말 장치간의 통신에 사용되는 주파수 대역의 사용법의 일례를 도시하는 도면이다.
도 3은 본 발명에 따른 케이블 텔레비전 시스템에 있어서 헤드 엔드와 단말 장치간의 통신에 사용되는 주파수 대역의 사용법의 일례를 도시하는 도면이다.
도 4는 본 발명에 따른 케이블 텔레비전 시스템에 있어서 헤드 엔드와 단말 장치간의 통신에 사용되는 주파수 대역의 사용법의 일례를 도시하는 도면이다.
도 5는 본 발명에 따른 케이블 텔레비전 시스템에 있어서 단말 장치의 구성도이다.
도 6은 본 발명에 따른 케이블 텔레비전 시스템에 있어서 단말 장치의 외관의 일례를 도시하는 도면이다.
도 7은 본 발명에 따른 POD의 하드웨어 구성의 구성도이다.
도 8은 본 발명에 따른 POD가 보존하는 프로그램 구성의 구성도이다.
도 9는 MPEG 규격으로 정의되어 있는 패킷의 구성도이다.
도 10은 MPEG2 트랜스포트 스트림의 일례를 도시하는 도면이다.
도 11은 입력부를 프론트 패널로 구성한 경우의 외관의 일례를 도시하는 도면이다.
도 12는 본 발명에 따른 단말 장치가 보존하는 프로그램 구성의 구성도이다.
도 13의 (a)는 본 발명에 따른 디스플레이의 표시의 일례를 도시하는 도면이다. (b)는 본 발명에 따른 디스플레이의 표시의 일례를 도시하는 도면이다.
도 14는 본 발명에 따른 2차 기억부가 보존하는 정보의 일례를 도시하는 도면이다.
도 15는 본 발명에 따른 1차 기억부가 보존하는 정보의 일례를 도시하는 도면이다.
도 16은 본 발명에 따른 MPEG2 규격이 규정하는 PAT의 내용을 나타내는 모식도이다.
도 17은 본 발명에 따른 MPEG2 규격이 규정하는 PMT의 내용을 나타내는 모식도이다.
도 18은 본 발명에 따른 OCAP 1.0 사양이 규정하는 AIT의 내용을 나타내는 모식도이다.
도 19는 본 발명에 따른 DSMCC 방식으로 송신되는 파일 시스템을 나타내는 모식도이다.
도 20은 본 발명에 따른 XAIT의 내용을 나타내는 모식도이다.
도 21은 본 발명에 따른 MA 관리부의 구성도이다.
도 22는 실시 형태 1에 있어서, MA 관리부가 모니터 어플리케이션의 기동을 행할 때의 동작을 나타내는 흐름도이다.
도 23은 실시 형태 1에 있어서, 기동된 모니터 어플리케이션이, 예기치 못한 타이밍으로 이상 종료하였을 때의 동작을 나타내는 흐름도이다.
도 24는 실시 형태 1에 있어서, MA 관리부가, 모니터 어플리케이션이 이상 종료한 경우, 이상 종료의 내용을 보존 및 송신할 때의 동작을 나타내는 흐름도이다.
도 25는 실시 형태 2에 있어서, MA 선택부 B가 MA 선택부 A의 선택 결과와 같은 프로그램을 재차 선택할 때의 동작을 나타내는 흐름도이다.
도 26의 (a)는 실시 형태 2에 있어서, 1차 기억부에 유지되어 있는 데이터를 모식적으로 나타낸 도면이다. (b)는 실시 형태 2에 있어서, 1차 기억부에 유지되어 있는 데이터를 모식적으로 나타낸 도면이다. (c)는 실시 형태 2에 있어서, 1차 기억부에 유지되어 있는 데이터를 모식적으로 나타낸 도면이다.
도 27은 실시 형태 3에 있어서, N회까지는, MA 선택부 B가 MA 선택부 A(2103)의 선택 결과와 같은 프로그램을 재차 선택하고, N+1회째 이후는, 다른 프로그램을 선택할 때의 동작을 나타내는 흐름도이다.
도 28은 실시 형태 4에 있어서, 선택 후보가 되는 프로그램의 일람을 시청자에게 제시하여, 시청자에게 선택시킬 때의 동작을 나타내는 흐름도이다.
도 29는 실시 형태 4에 있어서, 대체 프로그램으로서 선택 가능한 프로그램의 일람의 일례를 모식적으로 나타낸 도면이다.
도 30은 실시 형태 4에 있어서, 시청자에게 제시되는 표시의 일례를 도시하는 도면이다.
도 31은 실시 형태 5에 있어서, 시청자에 대한 통지 방법의 일례를 도시하는 도면이다.
도 32는 실시 형태 5에 있어서, 시청자에 대한 통지 방법의 일례를 도시하는 도면이다.
도 33은 본 발명에 따른 XAIT의 내용을 나타내는 모식도이다.
도 34는 본 발명에 따른 방송 프로그램 구입을 재촉하는 메시지의 일례이다.
도 35는 본 발명에 따른 Java(R) 프로그램의 정보를 보존하고 있는 상태의 일례이다.
도 36은 본 발명에 따른 디스플레이의 표시의 일례이다.
도 37은 POD Lib에 Java(R) 프로그램이 등록되는 경우에 있어서의 POD Lib의 동작을 정리한 흐름도이다.
도 38은 본 발명에 따른 POD와의 메시지의 배송처의 변화를 나타내는 모식도이다.
도 39는 본 발명에 따른 POD와의 메시지의 배송처의 변화를 나타내는 모식도이다.
도 40은 본 발명에 따른 POD Lib에 Java(R) 프로그램의 등록을 삭제하는 경우에 있어서의 POD Lib의 동작을 정리한 흐름도이다.
도 41은 본 발명에 따른 Java(R) 프로그램이 이상 종료한 경우의 처리를 행하는 구성도이다.
도 42는 본 발명에 따른 Java(R) 프로그램이 이상 종료한 경우의 처리를 나타내는 흐름도이다.
도 43은 본 발명에 따른 Java(R) 프로그램이 이상 종료한 경우의 처리를 나타내는 흐름도이다.
도 44는 본 발명에 따른 Java(R) 프로그램이 이상 종료한 경우의 처리를 나타내는 흐름도이다.
(부호의 설명)
1200…프로그램 1201…OS
1201a…커널 1201b…라이브러리
1202…EPG 1202a…방송 프로그램 표시부
1202b…재생부 1203…VM
1204…서비스 매니저 1205…라이브러리
1205a…JMF 1205b…AM
1205c…Tuner 1205d…CA
1205e…POD Lib 1205f…MA 관리부
이하 본 발명의 실시 형태에 대해, 도면을 참조하면서 설명한다.
(실시 형태 1)
본 발명에 따른 케이블 텔레비전 시스템의 실시 형태를, 도면을 참조하면서 설명한다. 도 1은, 케이블 시스템을 구성하는 장치의 관계를 나타낸 블록도이고, 헤드 엔드(101) 및 3개의 단말 장치 A(111), 단말 장치 B(112), 단말 장치 C(113)으로 구성된다. 본 실시 형태에서는, 1개의 헤드 엔드에 대해서 3개의 단말 장치 가 결합되어 있지만, 임의의 수의 단말 장치를 헤드 엔드에 결합해도, 본 발명은 실시 가능하다.
헤드 엔드(101)는, 복수의 단말 장치에 대해서 영상·음성·데이터 등의 방송 신호를 송신하는 동시에, 단말 장치로부터의 데이터 송신을 수신한다. 이것을 실현하기 위해서, 헤드 엔드(101)와 단말 장치 A(111), 단말 장치 B(112), 단말 장치 C(113)간의 전송에 이용되는 주파수 대역은, 분할하여 이용된다. 도 2는, 주파수 대역의 분할의 일례를 나타내는 표이다. 주파수 대역은, Out Of Band(약칭 OOB)와 In-Band의 2종류로 크게 구별된다. 5∼130MHz가 OOB에 할당되고, 주로 헤드 엔드(101)와 단말 장치 A(111), 단말 장치 B(112), 단말 장치 C(113)간의 데이터의 교환에 사용된다. 130MHz∼864MHz는 In-Band에 할당되고, 주로, 영상·음성을 포함하는 방송 채널에 사용된다. OOB에서는 QPSK 변조 방식이, In-Band는 QAM64 변조 방식이 사용된다. 변조 방식 기술에 대해서는, 본 발명에 관여가 적은 공지 기술이기 때문에, 상세한 설명은 생략한다. 도 3은, OOB 주파수 대역의 한층 더 상세한 사용의 일례이다. 70MHz∼74MHz는 헤드 엔드(101)로부터의 데이터 송신에 사용되고, 모든 단말 장치 A(111), 단말 장치 B(112), 단말 장치 C(113)이, 헤드 엔드(101)로부터 같은 데이터를 수취하게 된다. 한편, 10.0MHz∼10.1MHz는 단말 장치 A(111)로부터 헤드 엔드(101)로의 데이터 송신에 사용되고, 10.1MHz∼10.2MHz는 단말 장치 B(112)로부터 헤드 엔드(101)로의 데이터 송신에 사용되고, 10.2MHz∼10.3MHz는 단말 장치 C(113)으로부터 헤드 엔드(101)로의 데이터 송신에 사용된다. 이에 따라, 각 단말 장치 고유의 데이터를 각 단말 장치 A(111), 단말 장치 B(112), 단말 장치 C(113)으로부터 헤드 엔드(101)로 송신할 수 있다. 도 4는, In-Band의 주파수대에 대한 사용의 일례이다. 150∼156MHz와 156∼162MHz는 각각 텔레비젼 채널 1과 텔레비젼 채널 2에 할당되고, 이후, 6MHz 간격으로 텔레비전 채널이 할당되어 있다. 310MHz 이후는, 1MHz 단위로 라디오 채널에 할당되어 있다. 이러한 각 채널은 아날로그 방송으로서 사용해도 디지털 방송으로서 사용해도 된다. 디지털 방송의 경우는, MPEG2 사양에 의거한 트래스포트 패킷 형식으로 전송되고, 음성이나 영상에 더해, 각종 데이터 방송용 데이터도 송신할 수 있다.
헤드 엔드(101)는, 이러한 주파수대 역에 적절한 방송 신호를 송신하기 위해서, QPSK 변조부나 QAM 변조부 등을 갖는다. 또, 단말 장치로부터의 데이터를 수신하기 위해서, QPSK 복조기를 갖는다. 또, 헤드 엔드(101)는, 이들 변조부 및 복조부에 관련되는 다양한 기기를 갖는다고 생각된다. 그러나, 본 발명은 주로 단말 장치에 관한 것이기 때문에, 상세한 설명은 생략한다.
단말 장치 A(111), 단말 장치 B(112), 단말 장치 C(113)은, 헤드 엔드(101)로부터의 방송 신호를 수신하여 재생한다. 또, 헤드 엔드(101)에 대해서, 각 단말 장치 고유의 데이터를 송신한다. 3개의 단말 장치는 본 실시 형태에서는 같은 구성을 취한다.
도 5는, 단말 장치의 하드웨어 구성을 나타내는 블록도이다. 단말 장치(500)는, QAM 복조부(501), QPSK 복조부(502), QPSK 변조부(503), TS 디코더(505), 오디오 디코더(506), 스피커(507), 비디오 디코더(508), 디스플레이(509), 2차 기억부(510), 1차 기억부(511), ROM(512), 입력부(513), CPU(514)로 구성된다. 또 단말 장치(500)에는, POD(504)를 착탈할 수 있다.
도 6은, 단말 장치(500)의 외관의 일례인 박형 텔레비전이다.
박형 텔레비전의 하우징체(601)는, POD(504)를 제외한, 단말 장치(500)의 구성 요소를 모두 내장하고 있다.
디스플레이(602)는, 도 5에 있어서의 디스플레이(509)에 상당한다.
프론트 패널부(603)는 복수의 버튼으로 구성되고, 도 5의 입력부(513)에 상당한다.
신호 입력 단자(604)는, 헤드 엔드(101)와의 신호의 송수신을 행하기 위해서 케이블선을 접속한다. 또, 신호 입력 단자(604)는, 도 5의 QAM 복조부(501), QPSK 복조부(502), QPSK 변조부(503)와 접속되어 있다.
POD 카드(605)는, 도 5의 POD(504)에 상당한다. POD(504)는, 도 6의 POD 카드(605)와 같이, 단말 장치(500)와는 독립한 형태를 취하고, 단말 장치(500)에 착탈 가능하게 되어 있다. POD(504)의 상세한 설명은 후술한다.
삽입 슬롯(606)은, POD 카드(605)가 삽입되는 삽입 슬롯이다.
도 5를 참조하여, QAM 복조부(501)는, CPU(514)에서 지정된 주파수를 포함하는 튜닝 정보이고, 헤드 엔드(101)에서 QAM 변조되어 송신되어 온 신호를 복조하여, POD(504)에 인도한다.
QPSK 복조부(502)는, CPU(514)에서 지정된 주파수를 포함하는 튜닝 정보이고, 헤드 엔드(101)에서 QPSK 변조되어 송신되어 온 신호를 복조하여, POD(504)에 인도한다.
QPSK 변조부(503)는, CPU(514)에서 지정된 주파수를 포함하는 변조 정보이고, POD(504)에서 전해진 신호를 QPSK 변조하여, 헤드 엔드(101)로 송신한다.
POD(504)는, 도 6과 같이 단말 장치 본체(500)로부터 착탈 가능한 형태를 하고 있다. 단말 본체(500)와 POD(504)의 접속 인터페이스는, OpenCable(R) HOST-POD Interface Specification(OC-SP-HOSTPOD-IF-I12-030210) 및, 이 사양서로부터 참조되고 있는 사양서로 정의되어 있다. 여기에서는, 상세한 설명은 생략하고, 본 발명에 관한 부분만을 해설한다.
도 7은, POD(504)의 내부 구성을 나타내는 블록도이다. POD(504)는, 제1 디스크램블러부(701), 제2 디스크램블러부(702), 스크램블러부(703), 제1 기억부(704), 제2 기억부(705), CPU(706)로 구성된다.
제1 디스크램블러부(701)는, CPU(706)로부터의 지시에 의해, 단말 장치(500)의 QAM 복조부(501)로부터 암호화된 신호를 수취하여, 복호를 행한다. 그리고, 복호된 신호를 단말 장치(500)의 TS 디코더(505)로 보낸다. 디코드에 필요한 키 등의 정보는 CPU(706)로부터 적절히 부여된다. 구체적으로는, 헤드 엔드(101)는 몇 개의 유료 채널을 방송하고 있다. 유저가, 이 유료 채널을 구매하면, 제1 디스크램블러부(701)는, CPU(706)로부터 키 등의 필요한 정보를 수취하여 디스크램블함으로써, 유저는 유료 채널을 열람할 수 있다. 키 등의 필요한 정보가 부여되지 않은 경우는, 제1 디스크램블러부(701)는, 디스크램블을 행하지 않고, 수취한 신호를 그대로, TS 디코더(505)로 보낸다.
제2 디스크램블러부(702)는, CPU(706)로부터의 지시에 의해, 단말 장치(500) 의 QPSK 복조부(502)로부터 암호화된 신호를 수취하여, 복호를 행한다. 그리고, 복호된 데이터를 CPU(706)에 인도한다.
스크램블러부(703)는, CPU(706)로부터의 지시에 의해, CPU(706)에서 수취한 데이터를 암호화하여, 단말 장치(500)의 QPSK 변조부(503)로 보낸다.
제1 기억부(704)는, 구체적으로는 RAM 등의 1차 기억 메모리로 구성되고, CPU(706)가 처리를 행할 때, 일시적으로 데이터를 보존하기 위해서 사용된다.
제2 기억부(705)는, 구체적으로는 플래시 ROM 등의 2차 기억 메모리로 구성되고, CPU(706)가 실행하는 프로그램을 저장하며, 또, 전원 OFF가 되어도 소거되어서는 곤란한 데이터의 보존에 사용된다.
CPU(706)는, 제2 기억부(705)가 기억하는 프로그램을 실행한다. 프로그램은 복수의 서브 프로그램으로 구성된다. 도 8은, 제2 기억부(705)가 기억하는 프로그램의 일례이다. 도 8에서는, 프로그램(800)은, 메인 프로그램(801), 초기화 서브 프로그램(802), 네트워크 서브 프로그램(803), 재생 서브 프로그램(804), PPV 서브 프로그램(805) 등 복수의 서브 프로그램으로 구성되어 있다.
여기에서 PPV란 Pay Per View의 약자이고, 영화 등 특정한 방송 프로그램을 유료로 시청할 수 있도록 하는 서비스이다. 유저가 비밀번호를 입력하면, 구입한 것이 헤드 엔드(101)로 통지되어 스크램블이 해제되어 시청할 수 있다. 이 시청에 의해, 유저는 후일, 구입 대금을 지불하는 것이다.
메인 프로그램(801)은, CPU(706)가 전원 투입시에 최초로 기동하는 서브 프로그램이고, 다른 서브 프로그램의 제어를 행한다.
초기화 서브 프로그램(802)은, 전원 투입시에 메인 프로그램(801)에 의해 기동되고, 단말 장치(500)와의 정보 교환 등을 행하며, 초기화 처리를 행한다. 초기화 처리의 상세한 설명은, OpenCable(R) HOST-POD Interface Specification(OC-SP-HOSTPOD-IF-I12-030210) 및, 이 사양서에서 참조되어 있는 사양서로 정의되어 있다. 또, 사양서에 정의되어 있지 않은 초기화 처리도 행한다. 여기에서는, 그 일부를 소개한다. 전원이 투입되면, 초기화 서브 프로그램(802)은, 제2 기억부(705)가 기억하는 제1 주파수를 단말 장치(500)의 CPU(514)를 통해, QPSK 복조부(502)에 통지한다. QPSK 복조부(502)는, 부여된 제1 주파수로 튜닝을 행하고, 신호를 제2 디스크램블러부(702)로 보낸다. 또, 초기화 서브 프로그램(802)은, 제2 기억부(705)가 기억하는 제1 키 등의 복호 정보를 제2 디스크램블러부(702)에 부여한다. 그 결과, 제2 디스크램블러부(702)는, 디스크램블을 행하여, 초기화 서브 프로그램(802)을 실행하는 CPU(706)에 인도한다. 따라서, 초기화 서브 프로그램(802)은 정보를 수취할 수 있다. 본 실시 형태에서는, 초기화 서브 프로그램(802)은 네트워크 서브 프로그램(803)을 통해 정보를 수취하는 것으로 한다. 상세한 설명은 후술한다.
또, 초기화 서브 프로그램(802)은, 제2 기억부(705)가 기억하는 제2 주파수를 단말 장치(500)의 CPU(514)를 통해, QPSK 변조부(503)에 통지한다. 초기화 서브 프로그램(802)은 제2 기억부(705)가 기억하는 암호화 정보를 스크램블러부(703)에 부여한다. 초기화 서브 프로그램(802)이 송신하고 싶은 정보를, 네트워크 서브 프로그램(803)을 통해, 스크램블러부(703)에 부여하면, 스크램블러부(703)는, 부여 된 암호화 정보를 이용하여 데이터를 암호화해, 단말 장치(500)의 QPSK 변조부(503)에 부여한다. QPSK 변조부(503)는, 부여된 암호화된 정보를 변조하여, 헤드 엔드(101)로 송신한다.
이 결과, 초기화 서브 프로그램(802)은, 단말 장치(500), 제2 디스크램블러부(702), 스크램블러부(703), 네트워크 서브 프로그램(803)을 통해, 헤드 엔드(101)와 쌍방향 통신을 행할 수 있다.
또, 초기화 서브 프로그램(802)은, 헤드 엔드(101)에서 보내져 오는 특수한 프로그램 정보를 기초로 특권적인 프로그램의 기동을 행한다. 상세한 설명에 대해서는 후술한다.
네트워크 서브 프로그램(803)은, 메인 프로그램(801), 초기화 서브 프로그램(802) 등의 복수의 서브 프로그램에서 사용되는, 헤드 엔드(101)와의 쌍방향 통신을 행하기 위한 서브 프로그램이다. 구체적으로는, 네트워크 서브 프로그램(803)을 사용하는 다른 서브 프로그램에 대해서, TCP/IP에 의해, 헤드 엔드(101)와 쌍방향 통신을 행하도록 작동한다. TCP/IP는, 복수의 장치간에 정보 교환을 행하기 위한 프로토콜을 규정한 공지의 기술이며, 상세한 설명은 생략한다. 네트워크 서브 프로그램(803)은, 전원 투입시에 초기화 서브 프로그램(802)에 기동되면, 미리 제2 기억부(705)가 기억하고 있는 POD(504)를 식별하는 식별자인 MAC 어드레스(Media Access Control 어드레스의 약자)를 단말 장치(500)을 통해 헤드 엔드(101)에 통지하여, IP 어드레스의 취득을 요구한다. 헤드 엔드(101)는, 단말 장치(500)를 통해 POD(504)에 IP 어드레스를 통지하고, 네트워크 서브 프로그램(803)은, IP 어드레스 를 제1 기억부(704)에 기억한다. 이후, 헤드 엔드(101)와 POD(504)는, 이 IP 어드레스를, POD(504)의 식별자로서 사용하여, 통신을 행한다.
재생 서브 프로그램(804)은, 제2 기억부(705)가 기억하는 제2 키 등의 복호 정보나, 단말 장치(500)에서 부여되는 제3 키 등의 복호 정보를 제1 디스크램블러부(701)에 부여하여, 디스크램블을 가능하게 한다. 또, 네트워크 서브 프로그램(803)을 통해, 제1 디스크램블러부(701)에 입력되어 있는 신호가, PPV 채널인 것의 정보를 수취한다. PPV 채널인 것을 알았을 때는, PPV 서브 프로그램(805)을 기동한다.
PPV 서브 프로그램(805)은 기동되면, 단말 장치(500)에 방송 프로그램의 구입을 재촉하는 메시지를 표시하고, 유저의 입력을 수취한다. 구체적으로는, 단말 장치(500)의 CPU(514)에 화면에 표시하고 싶은 정보를 보내면, 단말 장치(500)의 CPU(514) 상에서 동작하는 프로그램이, 단말 장치(500)의 디스플레이(509) 상에 메시지를 표시한다. 유저는, 단말 장치(500)의 입력부(513)을 통해 비밀번호를 입력하면, 단말 장치(500)의 CPU(514)가 그것을 수취하여, POD(504)의 CPU(706) 상에서 동작하는 PPV 서브 프로그램(805)에 통지한다. PPV 서브 프로그램(805)은, 수취한 비밀번호를 네트워크 서브 프로그램(803)을 통해 헤드 엔드(101)로 송신한다. 헤드 엔드(101)는, 비밀번호가 정확하면, 복호에 필요한 제4 키 등의 복호화 정보를 네트워크 서브 프로그램(803)을 통해, PPV 서브 프로그램(805)에 통지한다. PPV 서브 프로그램(805)은 수취한 제4 키 등의 복호화 정보를 제1 디스크램블러부(701)에 부여하고, 제1 디스크램블러부(701)는, 입력되어 있는 신호를 디스크램블한다.
도 5를 참조하여, TS 디코더(505)는, POD(504)에서 수취한 신호의 필터링을 실시하고, 필요한 데이터를 오디오 디코더(506) 및 비디오 디코더(508), CPU(514)에 인도한다. 여기에서, POD(504)에서 오는 신호는 MPEG2 트랜스포트 스트림이다. MPEG2 트랜스포트 스트림의 상세한 설명은 MPEG 규격서 ISO/IEC13818-1에 기재되어 있고, 본 실시 형태에서는 상세한 설명은 생략한다. MPEG2 트랜스포트 스트림은, 복수의 고정길이 패킷으로 구성되고, 각 패킷에는, 패킷 ID가 붙여져 있다. 도 9는 패킷의 구성도이다. 900은 패킷이며, 고정길이인 188바이트로 구성된다. 선두 4바이트가 헤더(901)이고, 패킷의 식별 정보를 저장하고 있으며, 나머지 184바이트가 페이로드(902)이고, 송신하고 싶은 정보를 포함하고 있다. 903은, 헤더(901)의 내역이다. 선두로부터 12비트째∼24비트째까지의 13비트에 패킷 ID가 포함되어 있다. 도 10은 이송되어 오는 복수의 패킷의 열을 표현한 모식도이다. 패킷 1001은, 헤더에 패킷 ID「1」을 갖고, 페이로드에는 영상 A의 1번째의 정보가 들어가 있다. 패킷 1002는, 헤더에 패킷 ID「2」를 갖고, 페이로드에는 음성 A의 1번째의 정보가 들어가 있다. 패킷 1003은, 헤더에 패킷 ID「3」을 갖고, 페이로드에는 음성 B의 1번째의 정보가 들어가 있다.
패킷 1004는, 헤더에 패킷 ID「1」을 갖고, 페이로드에는 영상 A의 2번째의 정보가 들어가 있으며, 이것은 패킷 1001의 연결로 되어 있다. 동일하게 패킷 1005, 1026, 1027도 다른 패킷의 후속 데이터를 저장하고 있다. 이와 같이, 같은 패킷 ID를 갖는, 패킷의 페이로드의 내용을 연결하면, 연속한 영상이나 음성을 재현할 수 있다.
도 10을 참조하여, CPU(514)가 패킷 ID「1」과 출력처로서「비디오 디코더(508)」를 TS 디코더(505)에 지시하면, TS 디코더(505)는 POD(504)에서 수취한 MPEG2 트랜스포트 스트림으로부터 패킷 ID「1」의 패킷을 추출하여, 비디오 디코더(508)에 인도한다. 도 10에 있어서는, 영상 데이터만을 비디오 디코더(508)에 인도하게 된다. 동시에, CPU(514)가 패킷 ID「2」와「오디오 디코더(506)」를 TS 디코더(505)에 지시하면, TS 디코더(505)는 POD(504)에서 수취한 MPEG2 트랜스포트 스트림으로부터 패킷 ID「2」의 패킷을 추출하여, 오디오 디코더(506)에 인도한다. 도 10에 있어서는, 음성 데이터만을 오디오 디코더(506)에 인도하게 된다.
이 패킷 ID에 따라 필요한 패킷만을 취출하는 처리가, TS 디코더(505)가 행하는 필터링이다. TS 디코더(505)는 CPU(514)에서 지시된 복수의 필터링을 동시에 실행할 수 있다.
도 5를 참조하여, 오디오 디코더(506)는, TS 디코더(505)에서 부여된 MPEG2 트랜스포트 스트림의 패킷에 매설된 오디오 데이터를 연결하여, 디지털-아날로그 변환을 행하여 스피커(507)에 출력한다.
스피커(507)는, 오디오 디코더(506)에서 부여된 신호를 음성 출력한다.
비디오 디코더(508)는, TS 디코더(505)에서 부여된 MPEG2 트랜스포트 스트림의 패킷에 매설된 비디오 데이터를 연결하여, 디지털-아날로그 변환을 행하여 디스플레이(509)에 출력한다.
디스플레이(509)는, 구체적으로는 브라운관이나 액정 등으로 구성되고, 비디오 디코더(508)에서 부여된 비디오 신호를 출력하거나, CPU(514)에서 지시된 메시 지를 표시하거나 한다.
2차 기억부(510)는, 구체적으로는, 플래시 메모리나 하드 디스크 등으로 구성되고, CPU(514)에서 지시된 데이터나 프로그램을 보존하거나 삭제하거나 한다. 또, 보존되어 있는 데이터나 프로그램은 CPU(514)에 참조된다. 보존되어 있는 데이터나 프로그램은, 단말 장치(500)의 전원이 절단된 상태로도 계속 보존된다.
1차 기억부(511)는, 구체적으로는, RAM 등으로 구성되고, CPU(514)에서 지시된 데이터나 프로그램을 일차적으로 보존하거나 삭제하거나 한다. 또, 보존되어 있는 데이터나 프로그램은 CPU(514)에 참조된다. 보존되어 있는 데이터나 프로그램은, 단말 장치(500)의 전원이 절단되었을 때에 말소된다.
ROM(512)은, 고쳐쓰기 불가능한 메모리 디바이스이고, 구체적으로는 ROM이나 CD-ROM, DVD 등으로 구성된다. ROM(512)은, CPU(514)가 실행하는 프로그램이 저장되어 있다.
입력부(513)는, 구체적으로는, 프론트 패널이나 리모콘으로 구성되고, 유저로부터의 입력을 접수한다. 도 11은, 프론트 패널로 입력부(513)를 구성한 경우의 일례이다. 1100은 프론트 패널이며, 도 6의 프론트 패널부(603)에 상당한다. 프론트 패널(1100)은 7개의 버튼, 위쪽 커서 버튼(1101), 아래쪽 커서 버튼(1102), 왼쪽 커서 버튼(1103), 오른쪽 커서 버튼(1104), OK 버튼(1105), 취소 버튼(1106), EPG 버튼(1107)을 구비하고 있다. 유저가 버튼을 누르면, 눌러진 버튼의 식별자가, CPU(514)에 통지된다.
CPU(514)는, ROM(512)이 기억하는 프로그램을 실행한다. 실행하는 프로그램 의 지시에 따라, QAM 복조부(501), QPSK 복조부(502), QPSK 변조부(503), POD(504), TS 디코더(505), 디스플레이(509), 2차 기억부(510), 1차 기억부(511), ROM(512)을 제어한다.
도 12는, ROM(512)에 기억되어 CPU(514)에 실행되는 프로그램의 구성도의 일례이다.
프로그램(1200)은, 복수의 서브 프로그램으로 구성되고, 구체적으로는 OS(1201), EPG(1202), Java(R)VM(1203)(이후 VM(1203)이라고 칭한다), 서비스 매니저(1204), Java(R)라이브러리(1205)(이후 라이브러리(1205)라고 칭한다)로 구성된다.
OS(1201)는, 단말 장치(500)의 전원이 투입되면, CPU(514)가 기동하는 서브 프로그램이다. OS(1201)는, 오퍼레이팅 시스템의 약자이고, Linux 등이 일례이다. OS(1201)는, 다른 서브 프로그램을 평행하게 실행하는 커널(1201a) 및 라이브러리(1201b)로 구성되는 공지의 기술의 총칭이며, 상세한 설명은 생략한다. 본 실시 형태에 있어서는, OS(1201)의 커널(1201a)은, EPG(1202)와 VM(1203)을 서브 프로그램으로서 실행한다. 또, 라이브러리(1201b)는, 이들 서브 프로그램에 대해서, 단말 장치(500)가 유지하는 구성 요소를 제어하기 위한 복수의 기능을 제공한다.
기능의 일례로서 튜닝 기능을 소개한다. 튜닝 기능은, 다른 서브 프로그램으로부터 주파수를 포함하는 튜닝 정보를 수취하여, 그것을 QAM 복조부(501)에 인도한다. QAM 복조부(501)는 부여된 튜닝 정보에 의거하여 복조 처리를 행하고, 복조한 데이터를 POD(504)에 인도할 수 있다. 이 결과, 다른 서브 프로그램은 라이 브러리(1201b)를 통해 QAM 복조기를 제어할 수 있다.
EPG(1202)는, 유저에게 방송 프로그램 일람을 표시 및, 유저로부터의 입력을 접수하는 방송 프로그램 표시부(1202a)와, 채널 선국을 행하는 재생부(1202b)로 구성된다. 여기에서, EPG는 Electric Program Guide의 약자이다. EPG(1202)는, 단말 장치(500)의 전원이 투입되면, 커널(1201a)에 의해 기동되고, 기동된 EPG(1202)의 내부에서는, 방송 프로그램 표시부(1202a)가 단말 장치(500)의 입력부(513)를 통해, 유저로부터의 입력을 기다린다. 여기에서, 입력부(513)가 도 11에 도시되는 프론트 패널로 구성되어 있는 경우, 유저가, 입력부(513)의 EPG 버튼(1107)을 누르면, EPG 버튼의 식별자가 CPU(514)에 통지된다. CPU(514) 상에서 동작하는 서브 프로그램인 EPG(1202)의 방송 프로그램 표시부(1202a)는, 이 식별자를 수취하여, 방송 프로그램 정보를 디스플레이(509)에 표시한다. 도 13(a) 및 (b)는, 디스플레이(509)에 표시된 방송 프로그램표의 일례이다. 도 13(a)를 참조하여, 디스플레이(509)에는, 격자모양으로 방송 프로그램 정보가 표시되어 있다. 열 1301에는, 시각 정보가 표시되어 있다. 열 1302에는, 채널명「채널 1」과, 열 1301의 시각에 대응하는 시간대에 방영되는 방송 프로그램이 표시되어 있다. 「채널 1」에서는, 9:00∼10:30에 방송 프로그램「뉴스 9」이 방영되고, 10:30∼12:00에는「영화 AAA」가 방영되는 것을 나타낸다. 열 1303도 열 1302와 동일하게, 채널명「채널 2」와, 열 1301의 시각에 대응하는 시간대에 방영되는 방송 프로그램이 표시되어 있다. 9:00∼11:00에 방송 프로그램「영화 BBB」가 방영되고, 11:00∼12:00에는「뉴스 11」이 방영된다. 1330은 커서이다. 커서 1330은, 프론트 패널(1100)의 왼쪽 커서(1103)와 오른쪽 커서(1104)를 누르면 이동한다. 도 13(a) 상태로, 오른쪽 커서(1104)를 누르면, 커서(1330)는 오른쪽으로 이동하여, 도 13(b)와 같이 된다. 또, 도 13(b)의 상태로, 왼쪽 커서(1103)를 누르면, 커서(1330)는 왼쪽으로 이동하여, 도 13(a)와 같이 된다.
도 13(a)의 상태로, 프론트 패널(1100)의 OK 버튼(1105)이 눌러지면, 방송 프로그램 표시부(1202a)는,「채널 1」의 식별자를 재생부(1202b)에 통지한다. 도 13(b)의 상태로, 프론트 패널(1100)의 OK 버튼(1105)이 눌러지면, 방송 프로그램 표시부(1202a)는,「채널 2」의 식별자를 재생부(1202b)에 통지한다.
또, 방송 프로그램 표시부(1202a)는, 표시하는 방송 프로그램 정보를, POD(504)를 통해 헤드 엔드(101)로부터 정기적으로, 1차 기억부(511)에 기억해 둔다. 일반적으로, 헤드 엔드로부터의 방송 프로그램 정보의 취득은 시간이 걸린다. 입력부(513)의 EPG 버튼(1107)이 눌러졌을 때, 1차 기억부(511)에 미리 보존된 방송 프로그램 정보를 표시함으로써, 재빨리 방송 프로그램표를 표시할 수 있다.
재생부(1202b)는, 수취한 채널의 식별자를 이용하여 채널을 재생한다. 채널의 식별자와 채널의 관계는, 채널 정보로서, 2차 기억부(510)에 미리 저장되어 있다. 도 14는 2차 기억뷰(510)에 저장되어 있는 채널 정보의 일례이다. 채널 정보는 표 형식으로 저장되어 있다. 열 1401은 채널의 식별자이다. 열 1402는 채널명이다. 열 1403은 튜닝 정보이다. 여기에서, 튜닝 정보는 주파수나 전송 레이트, 부호화율 등을 포함하고, QAM 복조부(501)에 부여하는 값이다. 열 1404는 프로그램 넘버이다. 프로그램 넘버란, MPEG2 규격으로 규정되어 있는 PMT를 식별하기 위 한 번호이다. PMT에 관해서는 후술한다. 행 1411∼1414의 각 행은, 각 채널의 식별자, 채널명, 튜닝 정보의 조가 된다. 행 1411은 식별자가「1」, 채널명이 「채널 1」, 튜닝 정보에 주파수「150MHz」, 프로그램 넘버가「101」을 포함하는 조로 되어 있다. 재생부(1202b)는, 채널의 재생을 행하기 위해서, 수취한 채널의 식별자를 그대로 서비스 매니저에게 인도한다.
또, 재생부(1202b)는, 재생중에, 유저가 프론트 패널(1100)의 위쪽 커서(1101)와 아래쪽 커서(1102)를 누르면, 입력부(513)로부터 CPU(514)를 통해, 눌러진 통지를 수취하여, 재생하고 있는 채널을 변경한다. 우선, 재생부(1202b)는, 1차 기억부(511)에 현재 재생중인 채널의 식별자를 기억한다. 도 15(a) (b) 및 (c)는, 1차 기억부(511)에 보존되어 있는 채널의 식별자의 예이다. 도 15(a)에서는 식별자「3」이 기억되어 있고, 도 14를 참조하여, 채널명 「TV 3」의 채널이 재생중인 것을 나타낸다. 도 15(a) 상태로, 유저가 위쪽 커서(1101)를 누르면 재생부(1202b)는, 도 14의 채널 정보를 참조하여, 표 중의 앞의 채널인 채널명「채널 2」의 채널에 재생을 전환하기 위해서, 서비스 매니저에 채널명「채널 2」의 식별자「2」를 인도한다. 동시에, 1차 기억부(511)에 기억되어 있는 채널 식별자「2」로 고쳐쓴다. 도 15(b)는, 채널 식별자가 고쳐진 상태를 나타낸다. 또, 도 15(a)의 상태로, 유자가 아래쪽 커서(1102)를 누르면 재생부(1202b)는, 도 14의 채널 정보를 참조하여, 표 중의 다음의 채널인 채널명「TV Japan」의 채널로 재생을 전환하기 위해서, 서비스 매니저에 채널명「TV Japan」의 식별자「4」를 인도한다. 동시에, 1차 기억부(511)에 기억되어 있는 채널 식별자「4」로 고쳐쓴다. 도 15(c)는, 채널 식별자가 고쳐진 상태를 나타낸다.
VM(1203)은, Java(R) 언어로 기술된 프로그램을 순서대로 해석하여 실행하는 Java(R) 버추얼 머신이다. Java(R) 언어로 기술된 프로그램은 바이트 코드라고 불리는, 하드웨어에 의존하지 않는 중간 코드로 컴파일된다. Java(R) 버추얼 머신은, 이 바이트 코드를 실행하는 인터프리터이다. 또, 일부의 Java(R) 버추얼 머신은, 바이트 코드를 CPU(514)가 이해 가능한 실행 형식으로 번역한 후, CPU(514)에 인도하여 실행하는 것도 행한다. VM(1203)은, 커널(1201a)에 실행하는 Java(R) 프로그램을 지정하여 기동된다. 본 실시 형태에서는, 커널(1201a)은, 실행하는 Java(R) 프로그램으로서 서비스 매니저(1204)를 지정한다. Java(R) 언어의 상세한 설명은, 서적「Java(R) Language Specification(ISBN 0-201-63451-1)」등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 설명을 생략한다. 또, Java(R) VM 자체의 상세한 동작 등은,「Java(R) Virtual Machine Specification(ISBN 0-201-63451-X)」등의 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 설명을 생략한다.
서비스 매니저(1204)는, Java(R) 언어로 쓰여진 Java(R) 프로그램이며, VM(1203)에 의해 순서대로 실행된다. 서비스 매니저(1204)는, JNI(Java(R) Native Interface)를 통해, Java(R) 언어로 기술되어 있지 않은 다른 서브 프로그램을 호출하거나, 또는, 호출되거나 하는 것이 가능하다. JNI에 관해서도, 서적「Java(R) Native Interface」등이 많은 서적에서 해설되어 있다. 여기에서는, 그 상세한 설명을 생략한다.
서비스 매니저(1204)는, JNI를 통해, 재생부(1202b)로부터 채널의 식별자를 수취한다.
서비스 매니저(1204)는, 처음에 라이브러리(1205) 내에 있는 Tuner(1205c)에, 채널의 식별자를 인도하여, 튜닝을 의뢰한다. Tuner(1205c)는, 2차 기억부(510)가 기억하는 채널 정보를 참조하여, 튜닝 정보를 획득한다. 서비스 매니저(1204)가 채널의 식별자「2」를 Tuner(1205c)에 인도하면, Tuner(1205c)는, 도 14의 행 1412를 참조하여, 대응하는 튜닝 정보「156MHz」를 획득한다. Tuner(1205c)는, OS(1201)의 라이브러리(1201b)를 통해, QAM 복조부(501)에 튜닝 정보를 인도한다. QAM 복조부(501)는 부여된 튜닝 정보에 따라 헤드 엔드(101)에서 송신되어 온 신호를 복조하여, POD(504)에 인도한다.
다음에 서비스 매니저(1204)는, 라이브러리(1205) 내에 있는 CA(1205d)에 디스크램블을 의뢰한다. CA(1205d)는, OS(1201)의 라이브러리(1201b)를 통해 복호에 필요한 정보를 POD(504)에 부여한다. POD(504)는, 부여된 정보를 기초로, QAM 복조부(501)에서 부여된 신호를 복호하여 TS 디코더(505)에 인도한다.
다음에 서비스 매니저(1204)는, 라이브러리(1205) 내에 있는 JMF(1205a)에 채널의 식별자를 부여하여, 영상·음성의 재생을 의뢰한다.
우선, 처음에 JMF(1205a)는, 재생해야 할 영상과 음성을 특정하기 위한 패킷 ID를 PAT, PMT에서 취득한다. PAT나 PMT는 MPEG2 규격으로 규정되어 있는, MPEG2 트랜스포트 스트림 내의 방송 프로그램 구성을 표현하는 테이블이고, MPEG2 트랜스포트 스트림에 포함되는 패킷의 페이로드에 매설되어, 음성이나 영상과 함께 송신 되는 것이다. 상세한 설명은 규격서를 참조하길 바란다. 여기에서는, 개략만 설명한다. PAT는, Program Association Table의 약자로, 패킷 ID「0」의 패킷에 저장되어 송신되고 있다. JMF(1205a)는 PAT를 취득하기 위해서, OS(1201)의 라이브러리(1201b)를 통해, TS 디코더(505)에 패킷 ID「0」과 CPU(514)를 지정한다. TS 디코더(505)가 패킷 ID「0」으로 필터링을 행하여, CPU(514)에 인도함으로써 JMF(1205a)는 PAT의 패킷을 수집한다. 도 16은, 수집한 PAT의 정보의 일례를 모식적으로 나타낸 표이다. 열 1601은 프로그램 넘버이다. 열 1602는 패킷 ID이다. 열 1602의 패킷 ID는 PMT를 취득하기 위해서 이용된다. 행 1611∼1613은, 채널의 프로그램 넘버와 대응하는 패킷 ID의 조이다. 여기에서는, 3개의 채널이 정의되어 있다. 행 1611은 프로그램 넘버「101」과 패킷 ID「501」의 조가 정의되어 있다. JMF(1205a)에 부여된 채널의 식별자가「2」라고 하면, JMF(1205a)는, 도 14의 행 1412를 참조하여, 대응하는 프로그램 넘버「102」를 획득하고, 다음에, 도 16의 PAT의 행 1612를 참조하여, 프로그램 넘버「102」에 대응하는 패킷 ID「502」를 획득한다. PMT는, Program Map Table의 약자로, PAT로 규정된 패킷 ID의 패킷에 저장되어 송신되고 있다. JMF(1205a)는, PMT를 취득하기 위해서, OS(1201)의 라이브러리(1201b)를 통해, TS 디코더(505)에 패킷 ID와 CPU(514)를 지정한다. 여기에서, 지정하는 패킷 ID는「502」로 한다. TS 디코더(505)가 패킷 ID「502」로 필터링을 행하여, CPU(514)에 인도함으로써 JMF(1205a)는 PMT의 패킷을 수집한다. 도 17은, 수집한 PMT의 정보의 일례를 모식적으로 나타낸 표이다. 열 1701은 스트림 종별이고, 열 1702는 패킷 ID이다. 열 1702에서 지정되는 패킷 ID의 패킷에는, 스 트림 종별로 지정된 정보가 페이로드에 저장되어 송신되고 있다. 열 1703은 보충 정보이다. 행 1711∼1714는 엘리멘터리-스트림이라고 불리는, 패킷 ID와 송신하고 있는 정보의 종별의 조이다. 행 1711은, 스트림 종별 「음성」과 패킷 ID「5011」의 조이며, 패킷 ID「5011」의 페이로드에는 음성이 저장되어 있는 것을 나타낸다. JMF(1205a)는, PMT에서 재생하는 영상과 음성의 패킷 ID를 획득한다. 도 17을 참조하여, JMF(1205a)는 행 1711에서 음성의 패킷 ID「5011」을, 행 1712에서 영상의 패킷 ID「5012」를 획득한다.
다음에, JMF(1205a)는, OS(1201)의 라이브러리(1201b)를 통해, 획득한 음성의 패킷 ID와 출력처로서 오디오 디코더(506), 영상의 패킷 ID와 출력처로서 비디오 디코더(508)의 조를, TS 디코더(505)에 부여한다. TS 디코더(505)는 부여된 패킷 ID와 출력처에 의거하여 필터링을 행한다. 여기에서는 패킷 ID「5011」의 패킷을 오디오 디코더(506)에, 패킷 ID「5012」의 패킷을 비디오 디코더(508)에 인도한다. 오디오 디코더(506)는, 부여된 패킷의 디지털-아날로그 변환을 행하여 스피터(507)를 통해 음성을 재생한다. 비디오 디코더(508)는, 부여된 패킷의 디지털-아날로그 변환을 행하여 디스플레이(509)에 영상을 표시한다.
마지막으로 서비스 매니저(1204)는, 라이브러리(1205) 내에 있는 AM(1205b)에 채널의 식별자를 부여하여, 데이터 방송 재생을 의뢰한다. 여기에서, 데이터 방송 재생이란, MPEG2 트랜스포트 스트림에 포함되는 Java(R) 프로그램을 추출하여, VM(1203)에 실행시키는 것이다. MPEG2 트랜스포트 스트림에 Java(R) 프로그램을 매설하는 방법은, MPEG 규격서 ISO/IEC13818-6에 기술된 DSMCC라는 방식을 이용 한다. 여기에서는 DSMCC의 상세한 설명은 생략한다. DSMCC 방식은, MPEG2 트랜스포트 스트림의 패킷 내에, 컴퓨터에서 사용되고 있는 디렉토리나 파일로 구성되는 파일 시스템을 인코드하는 방법을 규정하고 있다. 또, 실행하는 Java(R) 프로그램의 정보는 AIT라고 불리는 형식으로, MPEG2 트랜스포트 스트림의 패킷 내에 매설되어 송신되고 있다. AIT는, OCAP 1.0 사양(정식으로는, OCAP 1.0 Profile OC-SP-OCAP1.0-IF-I09-031121)으로 정의되어 있는, Application Information Table의 약자이다.
AM(1205b)은, 우선, AIT를 획득하기 위해서, JMF(1205a)와 동일하게 PAT, PMT를 취득하여, AIT가 저장되어 있는 패킷의 패킷 ID를 획득한다. 부여된 채널의 식별자가「2」이고, 도 16의 PAT, 도 17의 PMT가 송신되어 있으면, JMF(1205a)와 동일한 순서로, 도 17의 PMT를 획득한다. AM(1205b)은, PMT로부터 스트림 종별이「데이터」이고 보충 정보로서「AIT」를 갖는 엘리멘터리-스트림으로부터 패킷 ID를 추출한다. 도 17을 참조하여, 행 1713의 엘리멘터리-스트림이 해당하고, 패킷 ID「5013」을 획득한다.
AM(1205b)은, OS(1201)의 라이브러리(1201b)를 통해 TS 디코더(505)에 AIT의 패킷 ID와 출력처 CPU(514)를 부여한다. TS 디코더(505), 부여된 패킷 ID로 필터링을 행하여, CPU(514)에 인도한다. 이 결과, AM(1205b)은, AIT의 패킷을 수집할 수 있다. 도 18은, 수집한 AIT의 정보의 일례를 모식적으로 나타낸 표이다. 열 1801은 Java(R) 프로그램의 식별자(도면에서는 프로그램 식별자라고 표기)이다. 열 1802는 Java(R) 프로그램의 제어 정보이다. 제어 정보에는「autostart」「 present」「kill」등이 있고,「autostart」는 즉시 단말 장치(500)가 이 프로그램을 자동적으로 실행하는 것을 의미하며,「present」는 자동 실행하지 않는 것을 의미하고,「kill」은 프로그램을 정지하는 것을 의미한다. 열 1803은, DSMCC 방식으로 Java(R) 프로그램을 포함하고 있는 패킷 ID를 추출하기 위한 DSMCC 식별자이다. 열 1804가 Java(R) 프로그램의 프로그램명이다. 행 1811과 행 1812는, Java(R) 프로그램의 정보의 조이다. 행 1811로 정의되는 Java(R) 프로그램은, 식별자「301」, 제어 정보「autostart」, DSMCC 식별자「1」, 프로그램명「a/TopXlet」의 조이다. 행 1812로 정의되는 Java(R) 프로그램은, 식별자「302」, 제어 정보「present」, DSMCC 식별자「1」, 프로그램명「b/GameXlet」의 조이다. 여기에서 2개의 Java(R) 프로그램은 같은 DSMCC 식별자를 갖지만, 이것은 1개의 DSMCC 방식으로 인코드된 파일 시스템 내에 2개의 Java(R) 프로그램이 포함되어 있는 것을 나타낸다. 여기에서는, Java(R) 프로그램에 대해서 4개의 정보밖에 규정하지 않지만, 실제로는 보다 많은 정보가 정의된다. 상세한 설명은 OCAP 1.0 사양을 참조하기 바란다.
AM(1205b)은, AIT 중에서「autostart」의 Java(R) 프로그램을 찾아내어, 대응하는 DSMCC 식별자 및 Java(R) 프로그램명을 추출한다. 도 18을 참조하여, AM(1205b)은 행 1811의 Java(R) 프로그램을 추출하여, DSMCC 식별자「1」 및 Java(R) 프로그램명「a/TopXlet」를 획득한다.
다음에 AM(1205b)은, AIT에서 취득한 DSMCC 식별자를 이용하여, Java(R) 프로그램을 DSMCC 방식으로 저장하고 있는 패킷의 패킷 ID를 PMT에서 획득한다. 구체적으로는, PMT 중에서 스트림 종별이「데이터」이고, 보충 정보의 DSMCC 식별자 가 합치하는 엘리멘터리-스트림의 패킷 ID를 취득한다.
DSMCC 식별자가「1」이고, PMT가 도 17이라고 하면, 행 1714의 엘리멘터리-스트림이 합치하여, 패킷 ID「5014」를 취출한다.
AM(1205b)은, OS(1201)의 라이브러리(1201b)를 통해 TS 디코더(505)에 DSMCC 방식으로 데이터가 매설된 패킷의 패킷 ID와 출력처로서 CPU(514)를 지정한다. 여기에서는, 패킷 ID「5014」를 부여한다. TS 디코더(505), 부여된 패킷 ID로 필터링을 행하여 CPU(514)에 인도한다. 이 결과, AM(1205b)은, 필요한 패킷을 수집할 수 있다. AM(1205b)은, 수집한 패킷으로부터 DSMCC 방식에 따라 파일 시스템을 복원하여, 1차 기억부(511)에 보존한다. MPEG2 트랜스포트 스트림 중의 패킷으로부터 파일 시스템 등의 데이터를 취출하여 1차 기억부(511) 등의 기억 수단에 보존하는 것을 이후, 다운로드라고 부른다.
도 19는, 다운로드한 파일 시스템의 일례이다. 도면 중, 동그라미는 디렉토리를 네모는 파일을 나타내고, 1901은 루트 디렉토리, 1902는 디렉토리「a」, 1903은 디렉토리「b」, 1904는 파일「TopXlet. class」, 1905는 파일「GameXlet. class」이다.
다음에 AM(1205b)은, 1차 기억부(511)에 다운로드한 파일 시스템 중에서 실행하는 Java(R) 프로그램을 VM(1203)에 인도한다. 실행하는 Java(R) 프로그램명이「a/TopXlet」라고 하면, Java(R) 프로그램명의 마지막에「. class」를 부가한 파일「a/TopXlet. class」가 실행해야 할 파일이 된다. 「/」은 디렉토리나 파일명의 단락이며, 도 19를 참조하여, 파일 1904가 실행해야 할 Java(R) 프로그램이다. 다음에 AM(1205b)은, 파일 1904를 VM(1203)에 인도한다.
VM(1203)은, 인도된 Java(R) 프로그램을 실행한다.
서비스 매니저(1204)는, 다른 채널의 식별자를 수취하면, 라이브러리(1205)에 포함되는 각 라이브러리를 통해 재생하고 있는 영상·음성 및 Java(R) 프로그램의 실행을, 동일하게 라이브러리(1205)에 포함되는 각 라이브러리를 통해 정지하고, 새롭게 수취한 채널의 식별자에 의거하여, 영상·음성의 재생 및 Java(R) 프로그램의 실행을 행한다.
라이브러리(1205)는, ROM(512)에 저장되어 있는 복수의 Java(R) 라이브러리의 집합이다. 본 실시 형태에서는, 여기에서는, 라이브러리(1205)는, JMF(1205a), AM(1205b), Tuner(1205c), CA(1205d), POD Lib(1205e), MA 관리부(1205f) 등을 포함하고 있다.
초기화 서브 프로그램(802)은, 헤드 엔드(101)에서 이송되어 오는 특수한 프로그램 정보를 기초로 특권적인 프로그램의 기동을 행한다고 기술하였지만, 그 상세한 설명에 대해서 기술한다.
OCAP 1.0 사양에서는, 상기 EPG(1202)와 같은, 미리 단말 내에 준비되어 있는 프로그램 대신에, 단말 장치의 외부에서 특권적인 프로그램(이하, 모니터 어플리케이션이라고 부른다)을 다운로드하여 실행하는 순서가 규정되어 있다. 모니터 어플리케이션의 기능으로서, 예를 들면 전자 방송 프로그램표의 표시가 있다. 또한, 모니터 어플리케이션이 존재하고, 또한 그것이 자동적으로 기동하도록 지정되어 있었던 경우, 반드시 실행하지 않으면 안된다고 규정되어 있다. 여기에서는, 상세한 설명은 생략하고, 본 발명에 관한 부분만을 해설한다.
도 20은, 헤드 엔드(101)에서 이송되어 오는 특수한 프로그램 정보(이하 XAIT라고 부른다)의 일례를 모식적으로 나타낸 표이다. XAIT의 구성은, 도 18에 나타낸 상기 AlT와 유사한 구성을 취하기 때문에, 동일 구성 요소에 대해서는 동일 번호를 붙여 설명을 생략한다. 열 2005는, 모니터 어플리케이션 식별자이다. 상기 AM(1205b)에 있어서의 AIT의 처리와는 달리, 예를 들면, 모니터 어플리케이션 식별자가 1이상으로 되어 있는 것만이 모니터 어플리케이션으로서 취급된다. XAIT 내에 모니터 어플리케이션 식별자가 1이상인 프로그램이 복수 존재한 경우는, 그것들 모두를 모니터 어플리케이션으로서 취급한다. 상세한 설명에 대해서는 후술한다.
또한, 모니터 어플리케이션 식별자가 1이상으로 되어 있는 것만이 모니터 어플리케이션으로서 취급된다고 기술하였지만, 다른 조건에 의해 모니터 어플리케이션으로서 취급할지의 여부를 결정해도 실시 가능하다.
초기화 서브 프로그램(802)은, MA 관리부(1205f)에 대해서 모니터 어플리케이션 기동을 지시함으로써, 헤드 엔드(101)에서 이송되어 오는 특수한 프로그램 정보를 기초로 특권적인 프로그램의 기동을 행한다.
도 21은, MA 관리부(1205f)의 구성의 일례를 도시하는 블록도이다.
MA 관리부(1205f)는, MA 관리부 메인(2101), XAIT 취득 해석부(2102), MA 선택부 A(2103), MA 기동부(2104), MA 감시부(2105), 및 MA 선택부 B(2106)로 구성된다.
MA 관리부 메인(2101)은, MA 관리부(1205f)의 중심적 역할을 하는 것으로, 초기화 서브 프로그램(802)으로부터의 지시를 접수하여, MA 관리부(1205f) 내의 다른 구성 요소를 이용함으로써, MA 관리부(1205f)로서의 기능을 실현한다.
XAIT 취득 해석부(2102)는, MA 관리부 메인(2101)으로부터의 지시에 따라, 헤드 엔드(101)에서 이송되어 온 XAIT를 해석하여, 해석 결과를 MA 관리부 메인(2101)으로 돌려보낸다. 예를 들면 도 20에 나타낸 내용을 해석 결과로서 돌려보낸다.
MA 선택부 A(2103)는, MA 관리부 메인(2101)에서 전해진 XAIT의 해석 결과에 의거하여, 기동해야 할 모니터 어플리케이션을 선택하여, 결과를 MA 관리부 메인(2101)으로 돌려보낸다. 예를 들면, 도 20에서 나타낸 내용이 XAIT의 해석 결과로서 전해진 경우, MA 선택부 A(2103)는, 기동해야 할 모니터 어플리케이션으로서 행 1811로 표시되는 프로그램을 선택할지도 모른다.
MA 기동부(2104)는, MA 관리부 메인(2101)에서 지정된 모니터 어플리케이션의 기동을 행한다. 예를 들면, 도 20에 있어서의 행 1811로 표시되는 프로그램이 지시된 경우, 모니터 어플리케이션으로서「/a/MA1」을 기동한다. 기동 방법에 대해서는, 상기 AM(1205b)의 동작과 동일하기 때문에 설명을 생략한다.
MA 감시부(2105)는, MA 관리부 메인(2101)에서 지정된 모니터 어플리케이션의 동작 상황을 감시하여, 이상 종료가 발생한 경우에는, MA 관리부 메인(2101)으로 통지한다. 이상 종료의 발생을 인지하기 위한 수법으로서, 예를 들면, 모니터 어플리케이션이 제공한 예외를 수취하는 등으로 판단 가능하다. 예외에 대해서는, Java(R) 언어 사양으로 규정되어 있기 때문에 설명을 생략한다. 또, MA 감시부(2105)는, 동시에 복수의 모니터 어플리케이션의 동작 상황을 감시할 수 있어도 된다.
MA 선택부 B(2106)는, MA 관리부 메인(2101)으로부터의 지시에 따라, 대체 어플리케이션을 선택하여, 선택 결과를 MA 관리부 메인(2101)으로 돌려보낸다.
도 22는, MA 관리부(1205f)가 모니터 어플리케이션의 기동을 행하는 순서를 나타내는 흐름도이다.
초기화 서브 프로그램(802)으로부터의 지시를, MA 관리부 메인(2101)이 수취하면, 우선, MA 관리부 메인(2101)은, XAIT 취득 해석부(2102)에 대해서 XAIT 해석 지시를 내리고, XAIT 취득 해석부(2102)는, 헤드 엔드(101)에서 이송되어 오는 XAIT의 취득을 시도한다(S2201). 또한, XAIT 취득 해석부(2102)는 XAIT를 해석하여(S2203), 해석 결과를 MA 관리부 메인(2101)으로 돌려보낸다. MA 관리부 메인(2101)은 상기 해석 결과를 기초로, MA 선택부 A(2103)에 모니터 어플리케이션의 선택을 의뢰하면, MA 선택부 A(2103)는, MA 관리부 메인(2101)에서 전해진 정보를 기초로, 기동해야 할 모니터 어플리케이션을 선택하여, 선택 결과를 MA 관리부 메인(2101)으로 돌려보낸다(S2204). 또한, S2201, 또는 S2203에 있어서, XAIT의 취득이나 해석에 실패하고 있었던 경우, MA 선택부 A(2103)는, 대체 프로그램(예를 들면 EPG(1202))을 선택 결과로서 MA 관리부 메인(2101)으로 돌려보낸다. MA 관리부 메인(2101)은, MA 선택부 A(2103)에서 되돌아온 결과를 기초로, MA 기동부(2104)에 대해서 모니터 어플리케이션의 기동을 지시하면, MA 기동부(2104)는, MA 관리부 메인(2101)에서 지시된 모니터 어플리케이션을 기동한다(S2205). MA 관리부 메인(2101)은, 또한 MA 감시부(2105)에 대해서, MA 기동부(2104)가 기동한 모니터 어플리케이션의 동작 상황을 감시하도록 지시하면, MA 감시부(2105)는, 지시된 모니터 어플리케이션의 동작 상황의 감시를 개시한다(S2206). 또한, MA 관리부 메인(2101)은, S2204에 있어서 복수의 모니터 어플리케이션이 선택되어 있었던 경우, 그 중 아직 MA 기동부(2104)에 기동을 지시하고 있지 않는 모니터 어플리케이션을 선택하여, 동일하게 모니터 어플리케이션의 기동 및 감시를 시도한다(S2207). MA 관리부 메인(2101)이 S2204에 있어서 선택된 모든 모니터 어플리케이션에 대한 기동 및 감시의 지시를 완료하면, 모니터 어플리케이션의 기동에 관한 처리를 완료한다. 여기에서, 결과를 초기화 서브 프로그램(802)으로 돌려보내도 된다. 또, S2204에 있어서, 기동해야 할 모니터 어플리케이션이 선택되지 않았던 경우, MA 관리부 메인(2101)은, 대체 프로그램(예를 들면 EPG(1202))이 선택된 것으로 하여, S2205 이후의 처리를 행해도 된다.
여기에서, 기동된 모니터 어플리케이션이, 예기치 못한 타이밍으로 이상 종료 한 경우의 처리에 대해 기술한다.
OCAP 1.0 사양에서는, 모니터 어플리케이션이 이상 종료한 경우, 모니터 어플리케이션의 재기동을 시도하도록 규정되어 있다. 그러나, 이상 종료한 실적으로부터, 재기동 후에도 다시 이상 종료하는 것이 충분히 예상된다.
그래서, 본 발명에서는, 이상 종료가 예상되는 모니터 어플리케이션 대신에 대체 프로그램을 실행시키는 방법에 대해 기술한다. 또한, 대체 프로그램은, 미리 정상 동작(요컨대, 이상 종료를 일으키지 않는 것)이 보증되어 있는 것이 바람직하지만, 보증되어 있지 않아도 실시 가능하다.
도 23은, 기동된 모니터 어플리케이션이, 예기치 못한 타이밍으로 이상 종료한 경우의 처리를 나타낸 흐름도이다.
MA 감시부(2105)가 감시중인 모니터 어플리케이션의 이상 종료를 검지하면(S2301), MA 감시부(2105)는 이상 종료한 모니터 어플리케이션의 감시를 종료하고(S2302), MA 관리부 메인(2101)에 대해서 이상 종료가 발생한 것을 통지한다(S2303).
MA 관리부 메인(2101)은, MA 감시부(2105)에서 이상 종료의 통지를 받으면, MA 선택부 B(2106)에 대해서 대체 프로그램의 선택을 의뢰한다. MA 선택부 B(2106)는, MA 관리부 메인(2101)으로부터의 의뢰에 의거하여 대체 프로그램을 선택하고, 대체 프로그램의 기동에 필요한 정보를 MA 관리부 메인(2101)으로 돌려보낸다(S2304). 대체 프로그램의 기동에 필요한 정보란, 예를 들면, 프로그램명, 보존 장소 등이다.
MA 관리부 메인(2101)은, MA 선택부 B(2106)에서 되돌아온 정보를 기초로, MA 기동부(2104)에 대해서, 대체 프로그램의 기동을 지시한다(S2305).
MA 관리부 메인(2101)은, MA 감시부(2105)에 대해서, 대체 프로그램의 동작 상황의 감시를 의뢰한다(S2306).
또한, 대체 프로그램이 이상 종료한 경우, 전술한 모니터 어플리케이션이 이상 종료한 경우와 동일한 순서(S2301∼S2306)로 다음의 대체 프로그램이 선택되어 기동된다.
또, S2303의 결과, MA 관리부 메인(2101)은, 반드시 대체 프로그램의 기동 처리(요컨대 S2304 이후)를 행할 필요는 없다. 예를 들면, 도 22의 S2204에 있어서 복수의 모니터 어플리케이션이 선택되고, 그 결과로서 복수의 모니터 어플리케이션이 기동되고 있었던 경우, MA 관리부 메인(2101)은, 그러한 모든 모니터 어플리케이션이 이상 종료한 경우에만, 대체 프로그램의 기동 처리(요컨대 S2304 이후)를 행하는 것도 가능하다.
또한, 특정한 모니터 어플리케이션이 이상 종료한 경우에만 대체 프로그램의 기동 처리를 행하는 것도 가능하다. 특정한 모니터 어플리케이션이란, 예를 들면 도 20에 있어서의 열 2005 모니터 어플리케이션 식별자가 1로 지정된 모니터 어플리케이션이다. 이 경우, 모니터 어플리케이션 식별자가 2로 지정된 모니터 어플리케이션이 이상 종료하였다고 해도, 대체 프로그램의 기동 처리는 행해지지 않아도 된다. 또한 이 경우, 모니터 어플리케이션 식별자가 1이 아닌 모니터 어플리케이션에 대해서, 도 22에 있어서의 S2206의 처리(요컨대 모니터 어플리케이션의 동작 상황의 감시)를 행하지 않아도 실시 가능하다.
또한, 대체 프로그램의 예로서 EPG(1202)를 기술하였지만, 기동 가능하면, 다른 프로그램을 대체 프로그램으로서 이용해도 실시 가능하다. 예를 들면, 대체 프로그램으로서, 단말 장치를 재기동하는 것이나, 단순하게 채널 전환만을 행하는 것이어도 실시 가능하다. 또, 대체 프로그램은, MA 관리부 메인(2101)에 대해서 프로그램의 정보를 지정함으로써, 다른 대체 프로그램의 기동을 의뢰하는 것도 가 능하다. 예를 들면, 대체 프로그램은, 먼저 이상 종료한 모니터 어플리케이션의 재기동을 지시하고, 그 후, 모니터 어플리케이션이 기동되는 것도 가능하다.
또한, 대체 프로그램의 예인 EPG(1202)는 미리 단말 장치에 준비되어 있는 것으로서 기술하였지만, 미리 준비되어 있지 않아도 본 발명은 실시 가능하다. 예를 들면, 대체 프로그램을 기동하는 단계에 있어서, 외부로부터 다운로드하여 기동하는 것으로도 실시 가능하다. 예를 들면, 대체 프로그램을 네트워크 경유로 다운로드하거나, 단말 장치가 수신하고 있는 MPEG 스트림 중에서 다운로드해도 된다. 이에 따라, 미리 준비된 것이 아닌 프로그램을 대체 프로그램으로서 기동 가능해진다.
또한, 모니터 어플리케이션을 다운로드하여 실행한다고 기술하였지만, 1회째의 다운로드시에 2차 기억부(705)에 보존해 두고, 2회째 이후는, 다운로드하는 대신에 2차 기억부(705)에 보존한 것을 이용하여 기동하였다고 해도, 본 발명은 실시 가능하다.
또한, MA 선택부 B(2106)가 대체 프로그램으로서 EPG(1202)를 선택하는 경우에 대해 기술하였지만, 임의의 선택 방식을 이용하여, 기동 가능한 임의의 프로그램을 선택할 수 있으면 실시 가능하다.
또한, MA 관리부(1205f)는, 모니터 어플리케이션이 이상 종료한 경우, 이상 종료의 내용을 제1 기억부(511) 또는 제2 기억부(510)에 보존하는 것도 가능하다. 또한, 보존한 내용을 단말 장치의 외부로 송신하는 것도 가능하다. 보존하는 내용이란, 예를 들면, 이상 종료가 발생한 시각, Java(R) 프로그램 식별자, 프로그램 명, 이상 종료의 종류(예를 들면 메모리 부족) 등이지만, 적어도 이상 종료가 일어난 것을 판별할 수 있는 것이면 실시 가능하다. 또, 정보 단말의 외부의 예로서, 단말 장치 제조자나 방송 사업자가 있다. 이에 따라, 예를 들면 단말 장치의 문제로 이상 종료가 발생한 경우에는 단말 장치 제조자에게 송신함으로써, 단말 장치 제조자가 신속한 대응책을 강구하는 것이 가능하고, 모니터 어플리케이션의 문제로 발생한 경우는 방송 사업자에게 송신함으로써, 모니터 어플리케이션의 문제를 신속하게 수정하는 것이 가능해진다. 이 경우에 있어서의 처리를 도 24에 나타낸다. 또한, 도 24에 있어서, 도 23에서 나타낸 처리와 동일한 부분에 관해서는, 동일 번호를 붙여 설명을 생략한다.
도 24의 S2303에 의해 MA 관리부 메인(2101)이 모니터 어플리케이션의 이상 종료를 검지하면, MA 관리부 메인(2101)은, 그 이상 종료의 내용을 1차 기억부(511) 또는 2차 기억부(510)로 보존한다(S2410). 또한, MA 관리부 메인(2101)은, 보존한 내용을 단말 장치의 외부로 송신한다. 그 후, MA 관리부 메인(2101)은, S2304 이후의 처리를 계속한다.
또한, 송신 수단에 대해서는, 단말 장치 외부로 정보를 전달할 수 있는 것이면 실시 가능하다. 예를 들면, 주지의 기술인 FTP나 E-mail 등을 이용하여 보존 내용을 송신하는 것이 가능하다.
또한, 2차 기억부(510)로서, 착탈 가능한 기억 장치를 이용해도 실시 가능하다. 이 경우, 외부로의 송신을 행하지 않고, 착탈 가능한 기억 장치를, 어떠한 수송 수단을 이용하여 수송하는 것으로도 실시 가능하다.
또, 본 실시 형태에서는, ROM(512)이 보존하는 내용을 2차 기억부(510)가 보존함으로써, ROM(512)을 삭제하는 것도 실시 가능하다. 또, 2차 기억부(510)는, 복수의 서브 2차 기억부로 구성하고, 각각의 서브 2차 기억부가 다른 정보를 보존해도 실시 가능하다. 예를 들면, 1개의 서브 2차 기억부는 튜닝 정보만을 보존하고, 다른 서브 2차 기억부는 OS(1201)의 라이브러리(1201b)를 보존하며, 또한 다른 서브 2차 기억부는 다운로드한 Java(R) 프로그램을 보존하는 등, 상세하게 분할하는 것이 가능하다.
또, 본 실시 형태에서는, 등록된 Java(R) 프로그램을 2차 기억부(510)에 보존하고 있었지만, 1차 기억부(511)에 보존하는 것도 실시 가능하다. 1차 기억부(511)에 보존하는 경우, 전원 OFF시에, 보존된 정보는 모두 사라진다.
(실시 형태 2)
실시 형태 1에서는, 예로서, MA 선택부 B(2106)가 대체 프로그램으로서 EPG(1202)를 선택하는 경우에 대해 기술하였지만, 본 실시 형태에서는, 또한, 다른 선택 방식으로서, MA 선택부 B(2106)가 MA 선택부 A(2103)의 선택 결과와 같은 프로그램(요컨대 이상 종료한 프로그램)을 재차 선택하는 경우에 대해 기술한다.
이것은, 예를 들면, MA 관리부(1205f)가, 모니터 어플리케이션이 이상 종료하였다고 해도, 어떠한 판단 근거에 의거하여, 같은 모니터 어플리케이션을 재기동하는 경우이다. 판단 근거란, 예를 들면, 이상 종료의 원인에 대한 회피책을 미리 알고 있고, 이상 종료 후, 그 회피책을 강구함으로써 재기동 후의 정상 동작을 기대할 수 있는 경우이다. 회피책이란, 예를 들면, 메모리 부족에 의해 모니터 어플 리케이션이 이상 종료한 경우, 다른 프로그램을 종료시키는 것 등에 의해, 모니터 어플리케이션이 이용 가능한 메모리 용량을 확보하는 것이다.
본 실시 형태에서는, MA 감시부(2105)는, 모니터 어플리케이션의 이상 종료가 발생하였을 때에, 이상 종료의 발생의 통지와 함께, 모니터 어플리케이션이 이상 종료한 원인을 나타내는 예를 들면 코드를 MA 관리부 메인(2101)으로 통지한다. MA 관리부 메인(2101)은, 코드(이상 종료한 원인)에 대응한 회피책을 미리 테이블 등에 유지하고 있고, 통지된 코드에 대응한 회피책을 결정하여, 결정한 회피책을 실시한다.
본 실시 형태에 있어서의 동작 순서를 도 25에 나타낸다.
도 25에 있어서, 도 23에서 나타낸 처리와 동일한 부분에 관해서는, 동일 번호를 붙여 설명을 생략한다.
S2303에 있어서, MA 감시부(2105)는, 모니터 어플리케이션의 이상 종료가 발생한 것을 통지하는 동시에, 모니터 어플리케이션이 이상 종료한 원인을 나타내는 코드를 MA 관리부 메인(2101)으로 통지한다. 그리고, MA 관리부 메인(2101)은, MA 선택부 B(2106)에 대해서, 대체 프로그램의 선택을 의뢰하면, MA 선택부 B(2106)는, 대체 프로그램으로서, 이상 종료한 모니터 어플리케이션을 선택하여, 모니터 어플리케이션의 기동에 필요한 정보를 MA 관리부 메인(2101)으로 돌려보낸다(S2510). 모니터 어플리케이션의 기동에 필요한 정보란, 도 22의 S2204에서 되돌아온 정보, 또는 그 일부, 및 부가 정보이다. 부가 정보로서 예를 들면, 선택된 모니터 어플리케이션이 이상 종료한 회수나, 선택된 모니터 어플리케이션이 대체 프로그램으로서 선택된 회수 등이다. 이 경우, MA 선택부 B(2106)는, 모니터 어플리케이션이 이상 종료한 회수를 유지하기 위해서, 예를 들면 1차 기억부(511)에 정보를 유지한다. 도 26(a), (b) 및 (c)는, 1차 기억부(511)에 유지되어 있는 데이터를 모식적으로 나타낸 표이다. 열 2601은 Java(R) 프로그램 식별자이고, 열 2602는 Java(R) 프로그램 식별자로 표시되는 프로그램이 이상 종료한 회수이다. 행 2611 및 행 2612는, Java(R) 프로그램의 정보의 조이다. 예를 들면, 도 26(a)를 참조하여, 행 2611로 정의되는 Java(R) 프로그램은, 식별자「301」, 프로그램이 이상 종료한 회수「0」의 조이다. 행 2612로 정의되는 Java(R) 프로그램은, 식별자「302」, 프로그램이 이상 종료한 한 회수「0」의 조이다.
도 26(a)는, 도 23에 있어서의 S2303을 처리하기 전의 유지 내용이다. 도 25의 S2303에 있어서 Java(R) 식별자가 301인 모니터 어플리케이션의 이상 종료가 통지된 경우, 1차 기억부(511)에 유지되는 데이터는, 도 26(b)와 같이 변화한다. 또한, 부가 정보가 없어도 실시 가능하다.
MA 관리부 메인(2101)은, 통지된 코드에 대응한 회피책을 결정하고, 결정한 이상 종료의 원인에 대한 회피책을 실시한다(S2511). 그 후, S2305 이후의 처리를 행한다.
본 순서에 의해, 모니터 어플리케이션이 이상 종료한 후, 재차, 동일한 모니터 어플리케이션을 기동하는 것이 가능해진다.
(실시 형태 3)
실시 형태 2에서는, 예로서 MA 선택부 B(2106)가 MA 선택부 A(2103)의 선택 결과와 같은 프로그램(요컨대 이상 종료한 프로그램)을 재차 선택하는 경우에 대해 기술하였지만, 본 실시 형태에서는, 다른 선택 방식으로서, 이상 종료의 회수가 N회까지는, MA 선택부 B(2106)가 MA 선택부 A(2103)의 선택 결과와 같은 프로그램(요컨대 이상 종료한 프로그램)을 재차 선택하고, N+1회째 이후는, 다른 프로그램(예를 들면 EPG(1202) 등)을 선택해도 된다.
여기에서는, N=2의 경우이고, 또한, Java(R) 프로그램 식별자가 301인 모니터 어플리케이션이 이상 종료하였을 때에 대체 프로그램을 선택하는 경우에 대해 설명한다.
도 27은, 본 실시 형태에 있어서의 동작 순서를 나타낸 것이다.
도 27에 있어서, 도 23에서 나타낸 처리와 동일한 부분에 관해서는, 동일 번호를 붙여 설명을 생략한다.
Java(R) 프로그램 식별자가 301인 모니터 어플리케이션이 1회째의 이상 종료를 일으킨 경우, S2303의 결과, MA 관리부 메인(2101)은, MA 선택부 B(2106)에 대해서, 대체 프로그램의 선택을 의뢰하면, MA 선택부 B(2106)는, 우선, 이상 종료의 회수를 카운트한다(단계 S2701). 즉, 1차 기억부(511)에 보존되어 있는 내용을 도 26(a)에서 도 26(b)와 같이 변경한다. 다음에, 도 26에 나타낸 프로그램이 이상 종료한 회수를 참조하여, 이상 종료 회수가 소정 회수(N회) 이상인지의 여부를 판정한다(단계 S2702). 여기에서, 이상 종료 회수가 소정 회수(N회) 이상이 아닌 경우(단계 S2702에서 No)에는, MA 선택부 B(2106)는, Java(R) 프로그램 식별자가 301인 모니터 어플리케이션을 선택하고(단계 S2704), 이후, S2305 이후의 처리가 행해 진다. 한편, 이상 종료 회수가 소정 회수(N회) 이상인 경우(단계 S2702에서 Yes)에는, Java(R) 프로그램 식별자가 301인 모니터 어플리케이션 이외의 프로그램(예를 들면 EPG(1202) 등)을 선택하고(단계 S2703), 이후, S2305 이후의 처리가 행해진다.
여기의 예에서는, 도 26(b)의 열 2602를 참조하여, 지금까지의 이상 종료 회수가 1회인 것을 알 수 있다. 따라서, MA 선택부 B(2106)는, Java(R) 프로그램 식별자가 301인 모니터 어플리케이션을 선택한다. 이후, S2305 이후의 처리가 행해진다.
다음에, Java(R) 프로그램 식별자가 301인 모니터 어플리케이션이 2회째의 이상 종료를 일으킨 경우, S2303의 결과, MA 관리부 메인(2101)은, MA 선택부 B(2106)에 대해서, 대체 프로그램의 선택을 의뢰하면, MA 선택부 B(2106)는, 우선, 1차 기억부(511)에 보존되어 있는 내용을 도 26(b)에서 도 26(c)와 같이 변경한다. 다음에, 도 26에 나타낸 프로그램이 이상 종료한 회수를 참조한다. 이 때, 도 26(c)의 열 2602를 참조하여, 지금까지의 이상 종료 회수가 2회인 것을 알 수 있다. 여기에서, MA 선택부 B(2106)는, 이미 소정 회수(이 경우 2회)에 도달하였기 때문에, Java(R) 프로그램 식별자가 301인 모니터 어플리케이션 이외의 프로그램(예를 들면 EPG(1202) 등)을 선택한다. 이후, S2305 이후의 처리가 행해진다.
이에 따라, Java(R) 프로그램 식별자가 301인 이상 종료에 대해서, 1회째까지는 Java(R) 프로그램 식별자가 301을 재기동하고, 2회째 이후는 모니터 어플리케이션 이외의 프로그램을 기동하는 것이 가능해진다.
또한, 여기에서는 N=2의 경우에 대해 설명하였지만, N은 1이상의 정수이면 실시 가능하다.
(실시 형태 4)
실시 형태 1∼3에서는, MA 선택부 B(2106)가 대체 프로그램의 선택 방식으로서, 선택하는 프로그램이 미리 결정되어 있는 경우에 대해 기술하였지만, 다른 선택 방식으로서, 선택 후보가 되는 프로그램의 일람을 시청자에게 제시하여, 시청자에게 선택시키는 방법을 취해도 된다.
도 28은, 본 실시 형태에 있어서의 동작 순서를 나타낸 것이다. 또한, 도 23에서 나타낸 처리와 동일한 부분에 관해서는, 동일 번호를 붙여 설명을 생략한다.
S2303의 결과, MA 관리부 메인(2101)은, MA 선택부 B(2106)에 대해서, 대체 프로그램의 선택을 의뢰하면, MA 선택부 B(2106)는, 우선, 대체 프로그램으로서 선택 가능한 프로그램의 일람을 작성한다(S2810). 다음에, MA 선택부 B(2106)는, 작성한 프로그램의 일람을, 시청자에게 제시하여 선택을 재촉한다(S2811). MA 선택부 B(2106)는, 시청자의 선택에 의거하여, 대체 프로그램을 결정한다(S2812). 이후, S2305 이후의 처리가 행해진다.
여기에서, 도 29는, S2810에 있어서 작성한 대체 프로그램으로서 선택 가능한 프로그램의 일람의 일례를 모식적으로 나타낸 표이다. 열 2901은 Java(R) 프로그램의 식별자이다. 열 2902는 프로그램명이다. 행 2911과 행 2912는, Java(R) 프로그램의 정보의 조이다. 행 2911로 정의되는 Java(R) 프로그램은, 식별자「301 」, 프로그램명「MA1」의 조이다. 행 2912로 정의되는 Java(R) 프로그램은, 식별자「701」, 프로그램명「EPG」의 조이다.
또한, 도 29에서 나타낸 표의 내용이 아니어도, MA 선택부 B(2106)가 프로그램을 식별할 수 있는 정보가 포함되어 있으면, 다른 내용을 이용해도 실시 가능하다.
또, 일람에 포함되는 프로그램은, 기동 가능하면, 어디에 존재하고 있어도 실시 가능하다.
도 30은, S2810에 있어서 시청자에게 제시되는 표시의 일례를 나타낸 것이다. 여기에서는, 디스플레이(509)에, 다이얼로그(3001)가 표시되어 있다. 시청자는, 표시된 프로그램의 일람으로부터 프로그램을 선택한다. 예를 들면, 리모콘의「1」버튼을 누름으로써「MA1」을 선택한다. 그 경우, MA 선택부 B(2106)는, 시청자가 식별자「301」의 프로그램을 선택한 것을 알 수 있기 때문에, MA 선택부 B(2106)는, 대체 프로그램으로서 식별자「301」을 갖는 프로그램을 대체 프로그램으로서 결정한다. 또, 시청자가 리모콘의「2」버튼을 누름으로써「EPG」를 선택한 경우, MA 선택부 B(2106)는, 시청자가 식별자「701」의 프로그램을 선택한 것을 알 수 있기 때문에, MA 선택부 B(2106)는, 대체 프로그램으로서 식별자「701」을 갖는 프로그램인 EPG(1202)를 대체 프로그램으로서 결정한다.
또한, 적어도 시청자가 프로그램을 식별할 수 있는 정보가 포함되어 있으면, 다른 내용을 이용해도 실시 가능하다.
또, 적어도 시청자가 어느 프로그램을 선택하였는지가 MA 선택부 B(2106)로 전해지는 것이면, 어떠한 표시 형태, 및 선택 방법을 이용해도 실시 가능하다.
또, MA 선택부 B(2106)는, 어떤 조건을 만족함으로써, 시청자의 선택을 기다리지 않고, 대체 프로그램을 결정하는 방법도 실시 가능하다. 예를 들면, 시청자에게 제시한 후, 30초 경과해도 시청자가 선택하지 않았던 경우, MA 선택부 B(2106)는 대체 프로그램으로서 식별자「701」을 갖는 프로그램인 EPG(1202)를 대체 프로그램으로서 결정하는 것이 가능하다.
(실시 형태 5)
실시 형태 1∼3에 있어서, MA 관리부 메인(2101)은, MA 감시부(2105)에서 이상 종료 통지를 수취하였을 때, 시청자에 대해서, 이상 종료의 발생을 통지해도 된다.
도 31은, 시청자에 대한 통지 방법의 일례를 나타낸 것이다. 예를 들면, 단말 장치 본체의 7세그먼트 LED(3102)에 표시하거나, 또는, 단말 장치 본체의 램프(3101)를 점등함으로써 통지 가능하다.
도 32는, 디스플레이(509)에 표시함으로써 모니터 어플리케이션의 이상 종료를 통지하는 경우의 표시의 일례이다. 다이얼로그(3201) 내에 시청자에 대한 메시지를 기술하고, 다이얼로그(3201)를 디스플레이(509)에 표시함으로써, 시청자에 대해서, 이상 종료의 발생을 통지할 수 있다.
또한, 예로서 도 31, 도 32에 나타낸 방법이 아니어도, 시청자가 인식 가능한 방법으로 제시하면 실시 가능하다.
(실시 형태 6)
본 실시 형태에서는, 헤드 엔드(101)에서 취득한 XAIT의 정보를 기초로 기동된 Java(R) 프로그램이, OS(1201)의 라이브러리(1202b) 내의 프로그램과 치환되어, POD(504)에서 참조 가능한 Java(R) 프로그램으로서 등록되고, POD(504) 내의 서브 프로그램과 메시지를 송수신할 수 있는 특수한 모니터 어플리케이션인 경우에 대해 기술한다.
예를 들면, Java(R) 프로그램을, OS(1201)의 라이브러리(1202b) 내의 프로그램인 다이얼로그 표시 프로그램과 치환함으로써, 그 Java(R) 프로그램은, POD(504) 내의 서브 프로그램인 PPV 서브 프로그램(805)과 메시지의 송수신을 행하는 것이 가능하다.
다른 실시 형태와는 달리, 본 실시 형태의 경우, OS(1201)의 라이브러리(1202b) 내의 프로그램은 항상 계속 동작하여, Java(R) 프로그램이 등록된 경우에 있어서도, OS(1201)의 라이브러리(1202b) 내의 프로그램은 종료되지 않아도 된다. 단, 이 경우에 있어서도, 등록된 Java(R) 프로그램이 이상 종료한 경우, 재차 그 Java(R) 프로그램을 실행시켰다고 해도, 다시 이상 종료하는 것이 충분히 예상되기 때문에, 유저의 요구(예를 들면 PPV의 시청)를 방해하게 된다. 본 실시 형태에서는, 이 과제에 대한 본 발명의 적용에 대해 기술한다.
본 실시 형태에 있어서는, 우선, OS(1201)의 라이브러리(1202b) 내의 프로그램과 치환되어 POD(504)에서 참조 가능한 Java(R) 프로그램의, 등록 처리 및 등록 삭제 처리에 대해 설명하고, 다음에, 주제인 Java(R) 프로그램이 이상 종료한 경우에 있어서의 처리에 대해 기술한다.
도 33은, 본 실시 형태에 있어서의 Java(R) 프로그램에 관한 XAIT의 정보의 일례이다. 도 33에 있어서, 도 20과 동일 요소에 대해서는 동일 번호를 붙여 설명을 생략한다. 열 3311과 열 3312는, Java(R) 프로그램의 정보의 조이다. 열 3311로 정의되는 Java(R) 프로그램은, Java(R) 프로그램 식별자「701」, 제어 정보「autostart」, DSMCC 식별자「1」, 프로그램명 「/a/PPV1Xlet」, 모니터 어플리케이션 식별자「1」의 조이다. 열 3312로 정의되는 Java(R) 프로그램은, Java(R) 프로그램 식별자「702」, 제어 정보「present」, DSMCC 식별자「1」, 프로그램명「/b/PPV2Xlet」, 모니터 어플리케이션 식별자「2」의 조이다. 여기에서는, Java(R) 프로그램에 대해서 5개의 정보밖에 규정하지 않지만, 보다 많은 정보가 정의되어 있어도 본 발명은 실시 가능하다
여기에서, 행 3311로 표시되는 Java(R) 프로그램「PPV1Xlet」는 POD(504)가 내부에 갖는 PPV 서브 프로그램(805)과 제휴하여, PPV 대상의 방송 프로그램 정보를 표시하는 프로그램으로 한다. 단말 장치(500)에, Java(R) 프로그램「PPV1Xlet」가 없을 때는, PPV 서브 프로그램(805)이 단말 장치(500)의 CPU(514)에 대해서 화면에 표시하고 싶은 정보를 보내면, OS(1201)의 라이브러리(1202b)에 포함되는 다이얼로그 표시 프로그램이, 도 34에 나타내는 방송 프로그램 구입을 재촉하는 메시지를 디스플레이(509)에 표시한다. 3401은 다이얼로그 박스이며, 메시지(3402), 4자리수의 비밀번호를 입력하기 위한 비밀번호 박스(3403), OK 버튼(3404), 취소 버튼(3405)의 표시 요소를 갖는다. 그러나, 이 표시에서는, 방송 프로그램 내용이 불명확하기 때문에, 유저는 방송 프로그램 가이드 등의 책을 참조하는 등으로 하여 방송 프로그램 내용을 확인할 필요가 있어 불편하다.
단말 장치(500) 상에 있어서, Java(R) 프로그램「PPV1Xlet」가 기동되면, Java(R) 프로그램「PPV1Xlet」는, Java(R) 라이브러리(1205)의 POD Lib(1205e)에 대해서, 자신을 POD(504)로부터 참조 가능한 Java(R) 프로그램으로서 등록한다. 등록시, 자신의 Java(R) 프로그램의 모듈 식별자로서「PPV」도 동시에 등록한다. POD Lib(1205e)는 등록된 내용을 2차 기억부(510)에 기억한다. 도 35는, 2차 기억부(510)가, 등록된 POD(504)로부터 참조 가능한 Java(R) 프로그램의 정보를 보존하고 있는 상태의 일례이다. 이 예에서는, 표 형식으로 보존하고 있고, 열 3501은 Java(R) 프로그램의 모듈 식별자, 열 3504는 Java(R) 프로그램의 이름을 기억하고 있다. 행 3511 및 행 3512는, 등록되어 있는 Java(R) 프로그램을 나타낸다. 행 3511은, 모듈 식별자「PPV」, Java(R) 프로그램의 이름「PPV1Xlet」의 조이다. 행 2312는, 모듈 식별자「VOD」, Java(R) 프로그램의 이름「VODXlet」의 조이다. 또한, 여기에서는 Java(R) 프로그램의 모듈 식별자(3501) 및 Java(R) 프로그램의 이름(3504)을 보존하고 있지만, 적어도 Java(R) 프로그램의 모듈 식별자 및, 등록된 Java(R) 프로그램을 일의(一意)로 특정할 수 있는 정보가 보존되어 있으면 실시 가능하다.
POD Lib(1205e)가, 등록된 Java(R) 프로그램의 정보를 POD(504)에 통지함으로써, POD(504) 내의 서브 프로그램과, 등록된 Java(R) 프로그램간에 메시지의 송수신이 가능해진다. 예를 들면, POD(504) 내의 PPV 서브 프로그램(805)은, 도 35의 행 3511로 표시되는 등록된 Java(R) 프로그램에, PPV 구입 대상의 방송 프로그 램 내용을 보내고, 그 Java(R) 프로그램은, 다이얼로그 표시 프로그램 대신에, 도 36과 같이 디스플레이(509)에 표시를 행할 수 있다. 여기에서는, 3601은 등록된 Java(R) 프로그램에 의해, 방송 프로그램 정보, 및 다이얼로그 표시 프로그램과 동등한 표시가 행해진 것이다.
단, 여기에서는 OS(1201)의 라이브러리(1202b)의 다이얼로그 표시 프로그램은 아무것도 표시하고 있지 않지만, 실제로는 등록된 Java(R) 프로그램과 함께 실행되고 있어도 된다. 이 때, POD(504)로부터는, 등록된 Java(R) 프로그램의 종별을 참조하여 메시지를 보내는 상대의 Java(R) 프로그램을 식별하고 있다. 구체적으로는, OS(1201)의 라이브러리(1202b)의 다이얼로그 표시 프로그램이 모듈 식별자「PPV」를 갖고, 등록하는 Java(R) 프로그램에, OS(1201)의 라이브러리(1202b)의 다이얼로그 표시 프로그램과 같은 모듈 식별자「PPV」를 갖게 하고, POD(504)는 이 모듈 식별자를 참조하여 메시지를 송수신하는 상대의 Java(R) 프로그램을 식별하고 있다.
본 실시 형태에 있어서는, POD(504)의 각 서브 프로그램은, 동일 모듈 식별자를 갖는 복수의 프로그램에 대해서 동시에 메시지의 송수신이 불가능한(요컨대, 어떤 모듈 식별자에 대해서, POD(504)의 각 서브 프로그램을 송수신할 수 있는 프로그램은 최대로도 1개밖에 허용되지 않는다) 것으로 한다.
도 37은, POD Lib(1205e)에 Java(R) 프로그램이 등록되는 경우에 있어서의 POD Lib(1205e)의 동작을 정리한 흐름도이다.
POD Lib(1205e)는, Java(R) 프로그램과의 메시지의 배송(송신/수신의 적어도 한 쪽을 또는 양쪽 모두를 포함한다)의 등록을 접수하면, 2차 기억부(510)로 필요한 정보(예를 들면 도 35에 나타내는 정보)를 보존하고(단계 S3701), 단계 S3701에 있어서 등록을 접수한 Java(R) 프로그램의 모듈 식별자와, 이미 2차 기억부(510)에 등록되어 있는 다른 Java(R) 프로그램 및 라이브러리(1201b) 내의 프로그램의 모듈 식별자를 비교함으로써, 등록을 접수한 Java(R) 프로그램의 모듈 식별자와 같은 모듈 식별자의 프로그램이 존재하는지의 여부를 판정한다(단계 S3702).
그 결과, 같은 모듈 식별자의 프로그램이 존재하는 경우(단계 S3702에서 Yes인 경우)는, POD Lib(1205e)는, 그때까지 메시지 배송을 행하고 있었던 대상, 구체적으로는, 2차 기억부(510)에 등록되어 있는 다른 Java(R) 프로그램 또는 OS(1201)의 라이브러리(1201b) 내의 프로그램에 대해서, 메시지 배송이 정지하는 것을 사전에 통지한다(단계 S3703).
정지의 통지를 받은 Java(R) 프로그램이나 OS(1201)의 라이브러리(1201b)는, 필요한 처리(POD(504)와의 메시지의 배송의 정지(요컨대 메시지의 배송의 등록을 비등록으로 하는 것)를 하기 위해서 필요한 내부 처리)를 종료한 후, POD Lib(1205e)에 메시지 송신의 정지의 양해를 통지한다(단계 S3704).
그 양해 통지를 받은 POD Lib(1205e)는, POD(504)와, 기존의(2차 기억부(510)에 이미 등록되어 있고, POD(504)와의 메시지의 배송의 정지의 대상이 되고 있다) Java(R) 프로그램 또는 OS(1201)의 라이브러리(1201b) 내의 프로그램과의 메시지 배송의 등록을 삭제(요컨대 비등록)하고, 그 프로그램과의 메시지 배송을 정지한다(단계 S3705). 그리고, 단계 S3701에 있어서 등록을 접수한 Java(R) 프로그 램에 대해서 메시지 배송을 개시하는 취지를 통지한다(단계 S3706). 그 후, 단계 S3701에 있어서 등록을 접수한 Java(R) 프로그램으로의 POD(504)로부터의 메시지의 배송을 접수하는 등록을 행함으로써, 메시지의 배송을 유효하게 한다(단계 S3707).
한편, 같은 모듈 식별자의 프로그램이 존재하지 않는 경우(단계 S3702에서 No인 경우)는, POD Lib(1205e)는, 단계 S3701에 있어서 등록을 접수한 Java(R) 프로그램에 대해서 메시지 배송을 개시하는 취지를 통지한 후에(단계 S3706), 단계 S3701에 있어서 등록을 접수한 Java(R) 프로그램으로의 POD(504)와의 메시지의 배송을 접수하는 등록을 행함으로써, 메시지의 배송을 유효하게 한다(단계 S3707).
도 38, 도 39는, 본 동작의 흐름도(도 37)에 의거하여, POD(504)와의 메시지의 배송처의 변화를 나타내는 모식도이다. 도 38(a)은, Java(R) 프로그램이 등록되어 있지 않은 상태를 나타내고, POD(504)와의 메시지 배송이 OS(1201)의 라이브러리(1201b)(보다 구체적으로는, 예를 들면 라이브러리(1201b)의 다이얼로그 표시 프로그램)와 행해지고 있다. 화살표 3801은 메시지 배송을 나타낸다. 도 38(a) 상태로, OS(1201)의 라이브러리(1201b) 내의 프로그램과 동일한 모듈 식별자를 갖는 Java(R) 프로그램(3811)이 등록되면, 도 37의 흐름도에 따라, 화살표 3801로 표시되는 POD(504)와 라이브러리(1201b)의 메시지 배송을 정지하고, POD(504)와 Java(R) 프로그램(3811)의 메시지의 배송이 설정되어, 도 38(b)의 상태가 된다.
도 39(a)는, Java(R) 프로그램(3911)이 등록되고, POD(504)와의 메시지 배송이, 등록되어 있는 Java(R) 프로그램(3911)과 행해지고 있는 상태를 나타낸다. 화살표 3901은 메시지 배송을 나타낸다. 도 39(a) 상태로, Java(R) 프로그램(3911) 과 동일 모듈 식별자를 갖는 Java(R) 프로그램(3912)이 등록되면, 도 37의 흐름도에 따라, 화살표 3901로 표시되는 POD(504)와 Java(R) 프로그램(3911)의 메시지의 배송을 정지하고, POD(504)와 Java(R) 프로그램(3912)의 메시지의 배송이 설정되어(화살표 3902), 도 39(b)의 상태가 된다.
또, POD Lib(1205e)는, Java(R) 프로그램의 등록을 접수하는 동시에, 등록의 삭제(요컨대 비등록의 요구)도 접수한다.
도 40은, POD Lib(1205e)가 Java(R) 프로그램의 등록을 삭제하는(요컨대 2차 기억부(510)에 등록되어 있는 Java(R) 프로그램과의 메시지의 배송의 등록을 비등록으로 한다) 경우에 있어서의 POD Lib(1205e)의 동작을 정리한 흐름도이다.
POD Lib(1205e)는, Java(R) 프로그램의 삭제를 접수하면(단계 S4001), 삭제의 대상이 되는 Java(R) 프로그램에 대해서, 메시지의 배송이 정지하는 것을 사전에 통지한다(단계 S4002). 통지를 접수한 Java(R) 프로그램은, 필요한 처리(POD(504)와의 메시지 배송의 정지(요컨대 메시지 배송의 등록을 비등록으로 하는 것) 전에 해야 할 필요한 내부 처리)를 종료한 후, POD Lib(1205e)에 메시지의 배송의 정지의 양해를 통지한다(단계 S4003). 그 양해 통지를 받은 POD Lib(1205e)는, 2차 기억부(510)에 등록된 Java(R) 프로그램 중 요구된 삭제의 대상이 되어 있는 Java(R) 프로그램으로의 메시지 배송의 등록을 삭제(요컨대 비등록으로 한다)함으로써, POD(504)와, 대상이 되는 Java(R) 프로그램과의 메시지 배송을 정지한다(단계 S4004). 그리고, POD Lib(1205e)는, OS(1201)의 라이브러리(1201b)에 대해서 POD(504)와의 메시지의 배송을 접수하는 등록을 행함으로써, POD(504)와 OS(1201) 의 라이브러리(1201b)(보다 구체적으로는, 그 중에 포함되는, 삭제의 대상이 되는 Java(R) 프로그램과 같은 모듈 식별자를 갖는 프로그램)와의 메시지의 배송을 유효하게 한다(단계 S4005). 여기에서, 만일, OS(1201)의 라이브러리(1201b) 내의 프로그램 중, 삭제의 대상이 되는 Java(R) 프로그램과 같은 모듈 식별자를 갖는 프로그램이 동작하고 있지 않으면, 같은 모듈 식별자를 갖는 프로그램을 기동한 후에 메시지의 배송을 유효하게 함으로써 동일한 동작이 가능해진다.
또, 단계 S4005에 있어서 2차 기억부(510)에 등록되어 있는 다른 Java(R) 프로그램 또는 새롭게 등록된 Java(R) 프로그램이 있고, 이러한 Java(R) 프로그램 중 어느 1개와의 메시지의 배송을 행하고 싶은(또는 행할 수 있다) 경우에는, POD(504)와 대상이 되는 Java(R) 프로그램과의 메시지의 배송을 접수하는 등록을 행함으로써 대상이 되는 Java(R) 프로그램과의 메시지의 배송을 유효하게 하도록 해도 된다.
다음에, 주제인 Java(R) 프로그램이 이상 종료한 경우에 있어서의 처리에 대해 기술한다.
도 38(b)의 상태에 있어서, Java(R) 프로그램(3811)이 이상 종료한 경우의 처리에 대해 기술한다. 도 41을 참조하여, MA 관리부(1205f)는, 그 이상 종료를 검지하는 동시에, POD Lib(1205e)에 대해서 이상 종료한 취지를 통지한다. 도 42는, 그 때의 동작을 정리한 흐름도이다. 도 23과 동일한 처리에 대해서는 동일 번호를 붙여 설명을 생략한다. MA 감시부(2105)가 감시중인 모니터 어플리케이션(여기에서는 Java(R) 프로그램(3811))의 이상 종료를 검지하면(S2301), MA 감시부 (2105)는 이상 종료한 모니터 어플리케이션의 감시를 종료하고(S2302), MA 관리부 메인(2101)에 대해서 이상 종료가 발생한 것을 통지한다(S2303). MA 관리부 메인(2101)은, POD Lib(1205e)에 대해서, 모니터 어플리케이션의 종료를 통지한다(S4204).
POD Lib(1205e)는, 이상 종료의 통지를 수취하면, 이상 종료한 Java(R) 프로그램(3811)과의 메시지 배송의 등록을 삭제하는 처리를 행한다. 도 43은, 그 때의 동작을 정리한 흐름도이다. POD Lib(1205e)는, Java(R) 프로그램의 이상 종료를 수취하면(S4301), POD(504)와 그 Java(R) 프로그램과의 메시지 배송의 등록을 삭제(요컨대 비등록으로 한다)함으로써, POD(504)와 그 Java(R) 프로그램과의 메시지 배송을 정지한다(단계 S4302). 그리고, POD Lib(1205e)는, OS(1201)의 라이브러리(1201b)에 대해서 POD(504)와의 메시지의 배송을 접수하는 등록을 행함으로써 OS(1201)의 라이브러리(1201b)와의 메시지의 배송을 유효하게 한다(단계 S4304).
또, 도 39(b)와 같이, 2차 기억부(510)에, 동일 모듈 식별자를 갖는 다른 Java(R) 프로그램(여기에서는 3911을 의미한다)이 기억되어 있는 경우에 대해 기술한다. Java(R) 프로그램(3912)이 이상 종료한 경우, POD Lib(1205e)는, OS(1201)의 라이브러리(1201b)에 대해서 POD(504)와의 메시지의 배송을 접수하는 등록을 하는 것이 아니라, 동일 모듈 식별자를 갖는 다른 Java(R) 프로그램(3912)을 등록해도 된다. 도 44는, 그 때의 동작을 정리한 흐름도이다. 도 43과 동일 처리에 대해서는, 동일 번호를 붙여 설명을 생략한다. POD(504)와 이상 종료한 Java(R) 프로그램의 메시지 배송을 정지하면(단계 S4302), 동일 모듈 식별자를 갖는 다른 Java(R) 프로그램이 존재하고 있는지의 여부를 조사한다(S4403). 존재하고 있는 경우(S4403에서 Yes인 경우), 그 Java(R) 프로그램을 등록한다. 이 등록 처리는 도 37에서 나타낸 흐름도에 따라, S3702에 있어서 No인 경우의 처리가 된다. 다른 Java(R) 프로그램이 존재하지 않는 경우, POD Lib(1205e)는, OS(1201)의 라이브러리(1201b)에 대해서 POD(504)와의 메시지의 배송을 접수하는 등록을 행함으로써 OS(1201)의 라이브러리(1201b)와의 메시지의 배송을 유효하게 한다(단계 S4304).
또한, 동일 모듈 식별자를 갖는 다른 Java(R) 프로그램이 존재하고 있는 경우에 있어서도, 도 43에 나타낸 처리를 행해도(요컨대 S504의 처리로 이행해도) 된다.
또한, 본 실시 형태에 있어서는, POD(504) 내의 PPV 서브 프로그램(805)과 Java(R) 프로그램이 메시지 교환을 행하여, 동작을 행하는 것으로 하고 있지만, PPV에 한정되지 않고, POD(504) 상의 어떠한 서브 프로그램과, 단말 장치(500) 상의 어떠한 Java(R) 프로그램의 사이에 메시지 교환을 행하여, 동작하는 것에 대해서도 적응 가능하다. 또, Java(R) 프로그램은 Java(R) 사양으로 규정되는 서식에 의거한 형식의 부분과, CPU가 직접 실행할 수 있는 형식의 부분의 혼합이어도 되고, CPU가 직접 실행할 수 있는 형식만으로 구성되어 있어도 실시 가능하다.
또한, 본 실시 형태에 있어서는, 등록된 Java(R) 프로그램에 관련되는 내용을 2차 기억부(510)에 보존하였지만, 1차 기억부(511)에 보존해도 실시 가능하다.
본 실시 형태에 의해, POD(504)와의 메시지 송수신을 행할 수 있도록 등록된 Java(R) 프로그램이 이상 종료한 경우에 있어서도, OS(1201)의 라이브러리(1201b) 의 프로그램과의 메시지 송수신을 재개함으로써, POD(504)는 단말 상의 프로그램과의 메시지 송수신을 계속할 수 있다.
본 발명에 따른 프로그램 실행 장치는, 디지털 텔레비전 수신기의 동작의 안정성 향상에 대해서 유용하고, 또 디지털 텔레비전 수신기에 한정되지 않고 퍼스널 컴퓨터나 휴대전화 등, 소프트웨어에 의해 제어되는 정보 기기의 동작의 안정성 향상에 대해서도 응용할 수 있다.

Claims (34)

  1. 프로그램을 실행하는 프로그램 실행 장치로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과,
    상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과,
    상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단과,
    상기 프로그램 감시 수단에 의해 이상 종료가 검지된 상기 프로그램의 이상 종료의 원인을 취득하는 원인 취득 수단과,
    상기 이상 종료의 원인에 의거하여 회피책을 실행하는 회피책 실행 수단을 구비하고,
    상기 실행 수단은, 상기 회피책 실행 수단에 의해 상기 회피책이 실행된 후, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 것을 특징으로 하는 프로그램 실행 장치.
  2. 청구항 1에 있어서, 상기 제2 프로그램 선택 수단은, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 다른 프로그램을 실행해야 할 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  3. 청구항 1에 있어서, 상기 제2 프로그램 선택 수단은, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 같은 프로그램을 실행해야 할 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  4. 청구항 1에 있어서, 상기 제2 프로그램 선택 수단은, 소정 조건을 만족하지 않는 경우, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 같은 프로그램을 실행해야 할 프로그램으로서 선택하고, 상기 소정 조건을 만족하는 경우, 제1 프로그램 선택 수단에 의해 선택된 프로그램과 다른 프로그램을 실행해야 할 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  5. 청구항 4에 있어서, 상기 제2 프로그램 선택 수단은, 상기 프로그램 감시 수단에 의해 이상 종료가 검지된 상기 프로그램의 이상 종료의 회수가 소정 회수를 넘는지의 여부를 상기 소정 조건으로 하여, 상기 프로그램의 이상 종료의 회수가 소정 회수를 넘지 않는 경우에는 상기 소정 조건을 만족하지 않는 것으로 하고, 상기 프로그램의 이상 종료의 회수가 소정 회수를 넘고 있는 경우에는 상기 소정 조 건을 만족하는 것으로 하는 것을 특징으로 하는 프로그램 실행 장치.
  6. 청구항 4에 있어서, 상기 제2 프로그램 선택 수단은, 선택한 상기 프로그램의 선택 회수가 소정 회수를 넘는지의 여부를 상기 소정 조건으로 하여, 상기 프로그램의 선택 회수가 소정 회수를 넘지 않는 경우에는 상기 소정 조건을 만족하지 않는 것으로 하고, 상기 프로그램의 선택 회수가 소정 회수를 넘고 있는 경우에는 상기 소정 조건을 만족하는 것으로 하는 것을 특징으로 하는 프로그램 실행 장치.
  7. 청구항 4에 있어서, 상기 제2 프로그램 선택 수단은, 시각 정보를 상기 소정 조건으로 하는 것을 특징으로 하는 프로그램 실행 장치.
  8. 청구항 4에 있어서, 상기 제2 프로그램 선택 수단은, 이용자의 지시를 접수하였는지의 여부를 상기 소정 조건으로 하여, 상기 이용자의 지시를 접수하지 않은 경우에는 상기 소정 조건을 만족하지 않는 것으로 하고, 상기 이용자의 지시를 접수한 경우에는 상기 소정 조건을 만족하는 것으로 하는 것을 특징으로 하는 프로그램 실행 장치.
  9. 청구항 1에 있어서, 상기 제2 프로그램 선택 수단은, 불휘발성 메모리 상에 존재하는 프로그램을 실행해야 할 상기 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  10. 청구항 1에 있어서, 상기 제1 프로그램 선택 수단 또는 상기 제2 프로그램 선택 수단은, 네트워크를 경유하여 취득 가능한 프로그램을 실행해야 할 상기 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  11. 청구항 1에 있어서, 상기 제1 프로그램 선택 수단 또는 상기 제2 프로그램 선택 수단은, 방송파에 포함되는 프로그램을 실행해야 할 상기 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  12. 삭제
  13. 청구항 1에 있어서, 상기 프로그램 감시 수단은, 실행중인 상기 프로그램의 이상 종료를 검지하면, 이상 종료의 발생을 이용자에게 제시하는 것을 특징으로 하는 프로그램 실행 장치.
  14. 청구항 13에 있어서, 상기 프로그램 감시 수단은, 이상 종료의 발생을 LED 표시로서 이용자에게 제시하는 것을 특징으로 하는 프로그램 실행 장치.
  15. 청구항 13에 있어서, 상기 프로그램 감시 수단은, 이상 종료의 발생을 디스플레이 상의 표시로서 이용자에게 제시하는 것을 특징으로 하는 프로그램 실행 장치.
  16. 프로그램을 실행하는 프로그램 실행 장치로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과,
    상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 이용자의 지시에 의거하여 상기 프로그램과 같은 종류의 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과,
    상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단을 구비하는 것을 특징으로 하는 프로그램 실행 장치.
  17. 청구항 16에 있어서, 상기 제2 프로그램 선택 수단은, 선택 가능한 프로그램의 후보를 제시하는 동시에, 이용자에 의해 선택된 프로그램을 실행해야 할 상기 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  18. 청구항 17에 있어서, 상기 제2 프로그램 선택 수단은, 선택 가능한 프로그램의 후보로서 불휘발성 메모리 상에 존재하는 프로그램을 적어도 제시하는 것을 특징으로 하는 프로그램 실행 장치.
  19. 청구항 17에 있어서, 상기 제2 프로그램 선택 수단은, 선택 가능한 프로그램의 후보로서 네트워크 경유로 취득 가능한 프로그램을 적어도 제시하는 것을 특징으로 하는 프로그램 실행 장치.
  20. 청구항 17에 있어서, 상기 제2 프로그램 선택 수단은, 선택 가능한 프로그램 의 후보로서 방송파에 포함되는 프로그램을 적어도 제시하는 것을 특징으로 하는 프로그램 실행 장치.
  21. 청구항 17에 있어서, 상기 제2 프로그램 선택 수단은, 이용자로부터의 선택이 소정의 시간 내에 행해지지 않는 경우, 소정의 프로그램을 상기 프로그램으로서 선택하는 것을 특징으로 하는 프로그램 실행 장치.
  22. 프로그램을 실행하는 프로그램 실행 장치로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과,
    상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램으로서, 이용자로부터의 채널 선택 요구를 접수하여 처리를 행하는 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과,
    상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단을 구비하는 것을 특징으로 하는 프로그램 실행 장치.
  23. 프로그램을 실행하는 프로그램 실행 장치로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 수단과,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 수단과,
    상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램으로서, 전자 방송 프로그램표를 표시하는 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 수단과,
    상기 제1 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 수단에 의해 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 수단에 의해 선택된 프로그램을 실행하는 실행 수단을 구비하는 것을 특징으로 하는 프로그램 실행 장치.
  24. 청구항 1, 청구항 16, 청구항 22, 또는 청구항 23 중 어느 한 항에 있어서, 상기 프로그램 감시 수단은, 이상 종료를 검지한 상기 프로그램에 관한 정보를 기록하는 것을 특징으로 하는 프로그램 실행 장치.
  25. 청구항 24에 있어서, 상기 프로그램 감시 수단은, 상기 정보를 착탈 가능한 기록 매체에 기록하는 것을 특징으로 하는 프로그램 실행 장치.
  26. 청구항 24에 있어서, 상기 프로그램 감시 수단은, 상기 정보를 외부로 송신하는 것을 특징으로 하는 프로그램 실행 장치.
  27. 프로그램을 실행하는 프로그램 실행 방법으로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계 또는 상기 제2 프로그램 선택 단계에서 선택된 프로그램을 실행하는 실행 단계와,
    상기 프로그램 감시 단계에서 이상 종료가 검지된 상기 프로그램의 이상 종료의 원인을 취득하는 원인 취득 단계와,
    상기 이상 종료의 원인에 의거하여 회피책을 실행하는 회피책 실행 단계를 포함하고,
    상기 실행 단계에서는, 상기 회피책 실행 단계에서 상기 회피책이 실행된 후, 상기 제2 프로그램 선택 단계에서 선택된 프로그램을 실행하는 것을 특징으로 하는 프로그램 실행 방법.
  28. 실행 프로그램을 실행하기 위한 프로그램을 저장한 기록 매체로서,
    다운로드하여 실행되는 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 실행 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 상기 실행 프로그램과 같은 종류의 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계 또는 상기 제2 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 실행 단계와,
    상기 프로그램 감시 단계에서 이상 종료가 검지된 상기 실행 프로그램의 이상 종료의 원인을 취득하는 원인 취득 단계와,
    상기 이상 종료의 원인에 의거하여 회피책을 실행하는 회피책 실행 단계를 컴퓨터에 실행시키고,
    상기 실행 단계에서는, 상기 회피책 실행 단계에서 상기 회피책이 실행된 후, 상기 제2 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 프로그램을 저장한 것을 특징으로 하는 기록 매체.
  29. 프로그램을 실행하는 프로그램 실행 방법으로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 이용자의 지시에 의거하여 상기 프로그램과 같은 종류의 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계에서 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 단계에서 선택된 프로그램을 실행하는 실행 단계를 포함하는 것을 특징으로 하는 프로그램 실행 방법.
  30. 실행 프로그램을 실행하기 위한 프로그램을 저장한 기록 매체로서,
    다운로드하여 실행되는 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 실행 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 이용자의 지시에 의거하여 상기 실행 프로그램과 같은 종류의 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 동시에, 상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 실행 단계를 컴퓨터에 실행시키는 프로그램을 저장한 것을 특징으로 하는 기록 매체.
  31. 프로그램을 실행하는 프로그램 실행 방법으로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램으로서, 이용자로부터의 채널 선택 요구를 접수하여 처리를 행하는 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계에서 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 단계에서 선택된 프로그램을 실행하는 실행 단계를 포함하는 것을 특징으로 하는 프로그램 실행 방법.
  32. 실행 프로그램을 실행하기 위한 프로그램을 저장한 기록 매체로서,
    다운로드하여 실행되는 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 실행 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 상기 실행 프로그램과 같은 종류의 실행 프로그램으로서, 이용자로부터의 채널 선택 요구를 접수하여 처리를 행하는 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 동시에, 상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 실행 단계를 컴퓨터에 실행시키는 프로그램을 저장한 것을 특징으로 하는 기록 매체.
  33. 프로그램을 실행하는 프로그램 실행 방법으로서,
    다운로드하여 실행되는 프로그램을 실행해야 할 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 프로그램과 같은 종류의 프로그램으로서, 전자 방송 프로그램표를 표시하는 프로그램을 실행해야 할 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계에서 선택된 프로그램을 실행하는 동시에, 상기 프로그램 감시 단계에서 실행중인 상기 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 단계에서 선택된 프로그램을 실행하는 실행 단계를 포함하는 것을 특징으로 하는 프로그램 실행 방법.
  34. 실행 프로그램을 실행하기 위한 프로그램을 저장한 기록 매체로서,
    다운로드하여 실행되는 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제1 프로그램 선택 단계와,
    실행중인 실행 프로그램의 동작 상황을 감시하는 프로그램 감시 단계와,
    상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 상기 실행 프로그램과 같은 종류의 실행 프로그램으로서, 전자 방송 프로그램표를 표시하는 실행 프로그램을 실행해야 할 실행 프로그램으로서 선택하는 제2 프로그램 선택 단계와,
    상기 제1 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 동시에, 상기 프로그램 감시 단계에서 실행중인 상기 실행 프로그램의 이상 종료가 검지된 경우, 상기 제2 프로그램 선택 단계에서 선택된 실행 프로그램을 실행하는 실행 단계를 컴퓨터에 실행시키는 프로그램을 저장한 것을 특징으로 하는 기록 매체.
KR1020067018753A 2004-04-06 2005-04-04 프로그램 실행 장치 KR101036036B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004111803 2004-04-06
JPJP-P-2004-00111803 2004-04-06

Publications (2)

Publication Number Publication Date
KR20070006771A KR20070006771A (ko) 2007-01-11
KR101036036B1 true KR101036036B1 (ko) 2011-05-19

Family

ID=35125456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067018753A KR101036036B1 (ko) 2004-04-06 2005-04-04 프로그램 실행 장치

Country Status (8)

Country Link
US (1) US8037456B2 (ko)
EP (1) EP1734748A4 (ko)
JP (1) JPWO2005099250A1 (ko)
KR (1) KR101036036B1 (ko)
CN (1) CN100502476C (ko)
AU (1) AU2005232103C1 (ko)
CA (1) CA2561962A1 (ko)
WO (1) WO2005099250A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4544246B2 (ja) * 2006-12-28 2010-09-15 ソニー株式会社 制御装置および方法、プログラム、並びに記録媒体
EP2259591A4 (en) * 2008-03-28 2013-08-14 Samsung Electronics Co Ltd METHOD AND DEVICE FOR RECEIVING DATA FOR APPLICATIONS PROVIDING AN IP TELEVISION COMMUNICATIONS SERVICE
WO2009128232A1 (ja) * 2008-04-16 2009-10-22 パナソニック株式会社 再生装置、再生方法、プログラム
US20100211988A1 (en) * 2009-02-18 2010-08-19 Microsoft Corporation Managing resources to display media content
US20100215340A1 (en) * 2009-02-20 2010-08-26 Microsoft Corporation Triggers For Launching Applications
US9069585B2 (en) * 2009-03-02 2015-06-30 Microsoft Corporation Application tune manifests and tune state recovery
JP5751881B2 (ja) * 2011-03-28 2015-07-22 京セラ株式会社 電子機器、アプリケーション決定方法及びアプリケーション決定プログラム
CN103853610B (zh) * 2012-12-07 2018-11-16 腾讯科技(深圳)有限公司 资源优化方法及装置
KR102379173B1 (ko) * 2015-01-06 2022-03-28 삼성전자주식회사 운동 기록 관리 방법 및 이를 지원하는 전자 장치
WO2017122327A1 (ja) * 2016-01-14 2017-07-20 三菱電機株式会社 デジタル放送受信装置、デジタル放送受信方法及びデジタル放送受信プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121490A (ja) * 1993-08-31 1995-05-12 Toshiba Corp 多重処理システムおよびプログラム実行制御方法
JP2003179905A (ja) 2001-12-13 2003-06-27 Sony Corp 通信制御システム、通信制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381694B1 (en) * 1994-02-18 2002-04-30 Apple Computer, Inc. System for automatic recovery from software problems that cause computer failure
US6446224B1 (en) 1995-03-03 2002-09-03 Fujitsu Limited Method and apparatus for prioritizing and handling errors in a computer system
EP0907285A1 (en) 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
US6230284B1 (en) * 1998-04-24 2001-05-08 Intel Corporation Initiating corrective action after the occurrence of a program error
JP2000268441A (ja) * 1999-03-17 2000-09-29 Jisedai Joho Hoso System Kenkyusho:Kk 放送番組予約記録方法
JP2002543494A (ja) 1999-04-28 2002-12-17 ユニバーサル・ミュージック・グループ・インコーポレーテッド 分散コンピュータシステム内のエラーを処理するための方法およびシステム
CN1227588C (zh) 1999-07-13 2005-11-16 太阳微系统有限公司 用于根据应用生存周期管理该应用的方法和设备
JP3777279B2 (ja) 1999-12-20 2006-05-24 富士通株式会社 データ通信システム並びにデータ受信端末及びデータ送信端末
ES2385644T3 (es) * 2000-03-16 2012-07-27 Thomson Licensing Información de guía de programa y procesador para proporcionar un programa y la sustitución de canal
JP2004227143A (ja) 2003-01-21 2004-08-12 Pioneer Electronic Corp 情報処理装置および情報処理方法
CN101185326A (zh) 2005-05-27 2008-05-21 松下电器产业株式会社 广播记录和再现装置及其方法
WO2006129813A1 (en) 2005-05-31 2006-12-07 Matsushita Electric Industrial Co., Ltd. Broadcast recording and reproduction apparatus with expiration date management unit
CA2609827A1 (en) 2005-06-23 2006-12-28 Matsushita Electric Industrial Co. Ltd. Program execution apparatus and execution method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121490A (ja) * 1993-08-31 1995-05-12 Toshiba Corp 多重処理システムおよびプログラム実行制御方法
JP2003179905A (ja) 2001-12-13 2003-06-27 Sony Corp 通信制御システム、通信制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
CN1939051A (zh) 2007-03-28
WO2005099250A1 (ja) 2005-10-20
KR20070006771A (ko) 2007-01-11
EP1734748A4 (en) 2008-12-03
JPWO2005099250A1 (ja) 2008-03-06
CN100502476C (zh) 2009-06-17
AU2005232103B2 (en) 2009-07-23
AU2005232103A1 (en) 2005-10-20
US8037456B2 (en) 2011-10-11
EP1734748A1 (en) 2006-12-20
CA2561962A1 (en) 2005-10-20
US20070277172A1 (en) 2007-11-29
AU2005232103C1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
KR101036036B1 (ko) 프로그램 실행 장치
KR101193347B1 (ko) 다운로드 실행 장치
US7590331B2 (en) Broadcast recording apparatus
WO2009093457A2 (en) Multimedia data transmitting apparatus and multimedia data management method
US9264757B2 (en) Service executing apparatus
US7089554B2 (en) Program executing apparatus
US8850511B2 (en) Program replacing method
WO2005060256A1 (en) Method for authenticating and executing an application program
KR20080078829A (ko) 방송 수신 장치, 영상 축적 장치 및 멀티미디어 배포시스템
US20070174356A1 (en) Program execution device, program execution method, and program
KR20000076404A (ko) 전송된 데이터 스트림으로부터 데이터 섹션들의 추출
US20030185540A1 (en) Storage-type broadcast service system and reception storage unit
JP2013149171A (ja) プログラム実行方法およびその装置
MXPA06011297A (en) Program execution device
KR20120018954A (ko) 네트워크 이용 서비스 제공 방법 및 그에 따른 영상 표시 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140421

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee