JP4317565B2 - プログラム実行装置 - Google Patents

プログラム実行装置 Download PDF

Info

Publication number
JP4317565B2
JP4317565B2 JP2006520577A JP2006520577A JP4317565B2 JP 4317565 B2 JP4317565 B2 JP 4317565B2 JP 2006520577 A JP2006520577 A JP 2006520577A JP 2006520577 A JP2006520577 A JP 2006520577A JP 4317565 B2 JP4317565 B2 JP 4317565B2
Authority
JP
Japan
Prior art keywords
program
activation
time
history information
information
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.)
Expired - Fee Related
Application number
JP2006520577A
Other languages
English (en)
Other versions
JPWO2006075557A1 (ja
Inventor
聡 寺尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2006075557A1 publication Critical patent/JPWO2006075557A1/ja
Application granted granted Critical
Publication of JP4317565B2 publication Critical patent/JP4317565B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44204Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、プログラムをダウンロードして実行するプログラム実行装置に関する。特に、プログラムのダウンロードと起動に関する。
デジタルテレビにおけるプログラムをダウンロードして、そのプログラムを起動する機能は、DVB−MHP規格書"ETSI TS 101 812 V1.2.1 DVB−MHP仕様1.0.2等に記載されており、サービスが選択されると、そのサービスに対応するプログラムに関して記述されているAIT(Application Information Table)に基づきプログラムのダウンロード及び起動が行われる。
一方、例えば特許文献1では、コンテンツのダウンロード時と閲覧、操作時が異なったとしても、クライアントにおけるコンテンツの閲覧および操作履歴を的確に収集することができる操作履歴収集システム、操作履歴収集サーバ、操作履歴収集方法および操作履歴収集プログラムとコンテンツ付与プログラムを記録した記録媒体が提案されている。この操作履歴収集サーバは、クライアントにダウンロードするコンテンツに対して、ユーザの閲覧および操作履歴を記録し、かつこの閲覧のおよび操作履歴をサーバにアップロードするプログラム、ユーザID、コンテンツIDを付与してクライアントにダウンロードし、プログラムの制御によりクライアントからアップロードされるユーザの閲覧および操作履歴を操作履歴として記録し、またクライアントにダウンロードされようとするコンテンツ名とユーザIDをダウンロード履歴として記録している。
特開2001−209603号公報
しかしながら、ユーザ(例えば視聴者)がサービス選択を行なうと、そのサービスのAITに基づきプログラムが自動でダウンロードされ起動されるが、ユーザにとっては、そのプログラムの起動までにどれくらいの時間が要するのか分からない。また、そのプログラムが以前にストレージに保存済みの場合、一般的に起動までに要する時間は短いが、その状態についてユーザは分からない。
そこで、本発明は上記の問題に鑑みてなされたものであり、ユーザに対して、プログラムのダウンロードおよび起動に関する時間や情報を知らせることができるプログラム実行装置を提供することを目的とする。
上記目的を達成するため、本発明に係るプログラム実行装置は、プログラムのダウンロードおよび起動を行うプログラム実行装置であって、前記プログラムのダウンロード時間を計測するダウンロード時間計測手段と、前記プログラムの起動時間を計測する起動時間計測手段と、計測された前記ダウンロード時間および前記起動時間をプログラム毎に履歴情報として記憶する履歴情報記憶手段と、プログラムの起動指示を受け付ける起動管理手段と、起動指示が受け付けられたプログラムの履歴情報を検索する履歴情報検索手段と、前記履歴情報検索手段により検索された履歴情報に基づいて、起動指示が受け付けられたプログラムが起動指示から起動されるまでの起動待ち時間を予測し、予測した起動待ち時間をユーザに通知する通知手段とを備えることを特徴とする。
これによって、ユーザ(視聴者)にプログラムの起動指示からプログラムが起動されるまでの起動待ち時間を伝えることができる。
また、前記通知手段は、前記履歴情報検索手段により検索された履歴情報の前記ダウンロード時間および前記起動時間を加算した時間を、前記起動待ち時間として予測してもよい。
これによって、例えばプログラムの起動毎にプログラムのダウンロードが必要である場合等に、ユーザにプログラムの起動指示からプログラムが起動されるまでの起動待ち時間を伝えることができる。
また、前記プログラム実行装置は、さらに、ダウンロードされたプログラムを保存する保存手段を備え、前記通知手段は、起動指示が受け付けられたプログラムが前記保存手段に保存されていない場合、前記履歴情報検索手段により検索された履歴情報の前記ダウンロード時間および前記起動時間を加算した時間を、前記起動待ち時間として予測し、起動指示が受け付けられたプログラムが前記保存手段に保存されている場合、前記履歴情報検索手段により検索された履歴情報の前記起動時間を、前記起動待ち時間として予測してもよい。
これによって、例えばダウンロードされたプログラムを保存することが可能である場合等に、起動しようとするプログラムが保存されているか否かに応じて、ユーザにプログラムの起動指示からプログラムが起動されるまでの起動待ち時間を伝えることができる。
また、前記プログラム実行装置は、さらに、前記プログラムに対して、当該プログラムが前記保存手段に保存されているか否かに応じた認証を行う認証手段を備え、起動指示が受け付けられたプログラムが前記保存手段に保存されていない場合、前記ダウンロード時間計測手段は、前記認証手段における前記プログラムの認証時間を前記ダウンロード時間に含めて計測し、起動指示が受け付けられたプログラムが前記保存手段に保存されている場合、前記起動時間計測手段は、前記認証手段における前記プログラムの認証時間を前記起動時間に含めて計測してもよい。これによって、ダウンロードされたプログラムに対して認証を行う場合であっても、起動しようとするプログラムが保存されているか否かに応じて、ユーザにプログラムの起動指示からプログラムが起動されるまでの起動待ち時間を伝えることができる。
また、前記プログラム実行装置は、さらに、前記プログラムに対して前記認証手段における認証を行う必要があるか否かを判断する認証判断手段を備え、前記認証手段は、前記認証判断手段によって認証を行う必要があると判断された場合に、前記プログラムに対して認証を行ってもよい。これによって、ダウンロードされたプログラムに応じて認証を行うことができる。
また、前記プログラム実行装置は、さらに、前記履歴情報記憶手段に記憶されている前記履歴情報を、新たに計測された前記起動時間、または、前記ダウンロード時間および前記起動時間を用いて更新する履歴情報更新手段を備えてもよい。これによって、最新の履歴情報に基づいて起動待ち時間を伝えることができる。
また、前記通知手段は、前記起動待ち時間に加えて、当該プログラムのプログラム名をユーザに通知してもよい。これによって、ユーザにどのプログラムの起動待ち時間であるかを伝えることができる。
また、前記通知手段は、前記起動待ち時間をカウントダウン形式で通知してもよい。これによって、ユーザにプログラムが起動されるまでに後どれくらいの時間がかかるのかを伝えることができる。
また、前記通知手段は、前記履歴情報検索手段により検索した結果、起動指示が受け付けられたプログラムの履歴情報が取得できなかった場合、前記起動待ち時間を不明として予測してもよい。これによって、ユーザにプログラムのダウンロードおよび起動が最初であることを伝えることができる。
なお、本発明は、このようなプログラム実行装置として実現することができるだけでなく、このようなプログラム実行装置が備える特徴的な手段をステップとするプログラム実行方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
以上の説明から明らかなように、本発明に係るプログラム実行装置によれば、ユーザ(視聴者)にプログラムの起動指示からプログラムが起動されるまでの起動待ち時間を伝えることができる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本発明に係るケーブルテレビシステムの実施の形態を、図面を参照しながら説明する。図1は、ケーブルシステムを構成する装置の関係を表したブロック図であり、ヘッドエンド101及び3個の端末装置A111、端末装置B112、端末装置C113で構成される。本実施の形態では、1つのヘッドエンドに対して3つの端末装置が結合されているが、任意の数の端末装置をヘッドエンドに結合しても、本発明は実施可能である。
ヘッドエンド101は、複数の端末装置に対して映像・音声・データ等の放送信号を送信するとともに、端末装置からのデータ送信を受信する。これを実現するため、ヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間の伝送に用いられる周波数帯域は、分割して用いられる。
図2は、周波数帯域の分割の一例を示す表である。周波数帯域は、Out Of Band(略称OOB)とIn−Bandの2種類に大別される。5〜130MHzがOOBに割り当てられ、主にヘッドエンド101と端末装置A111、端末装置B112、端末装置C113間のデータのやり取りに使用される。130MHz〜864MHzはIn−Bandに割り当てられ、主として、映像・音声を含む放送チャンネルに使用される。OOBではQPSK変調方式が、In−BandはQAM64変調方式が使用される。変調方式技術については、本発明に関与が薄い公知技術であるので、詳細な説明は省略する。
図3は、OOB周波数帯域の更に詳細な使用の一例である。70MHz〜74MHzはヘッドエンド101からのデータ送信に使用され、全ての端末装置A111、端末装置B112、端末装置C113が、ヘッドエンド101から同じデータを受け取ることになる。一方、10.0MHz〜10.1MHzは端末装置A111からヘッドエンド101へのデータ送信に使用され、10.1MHz〜10.2MHzは端末装置B112からヘッドエンド101へのデータ送信に使用され、10.2MHz〜10.3MHzは端末装置C113からヘッドエンド101へのデータ送信に使用される。これにより、各端末装置固有のデータを各端末装置A111、端末装置B112、端末装置C113からヘッドエンド101に送信することができる。
図4は、In−Bandの周波数帯に対する使用の一例である。150〜156MHzと156〜162MHzはそれぞれテレビチャンネル1とテレビチャンネル2に割り当てられ、以降、6MHz間隔でテレビチャンネルが割り当てられている。310MHz以降は、1MHz単位でラジオチャンネルに割り当てられている。これらの各チャンネルはアナログ放送として使用してもデジタル放送として使用してもよい。デジタル放送の場合は、MPEG2仕様に基づいたトラスポートパケット形式で伝送され、音声や映像に加え、各種データ放送用データも送信することができる。
ヘッドエンド101は、これらの周波数帯域に適切な放送信号を送信するため、QPSK変調部やQAM変調部等を有する。また、端末装置からのデータを受信するため、QPSK復調器を有する。また、ヘッドエンド101は、これら変調部及び復調部に関連する様々な機器を有すると考えられる。しかし、本発明は主として端末装置に関わるので、詳細な説明は省略する。
端末装置A111、端末装置B112、端末装置C113は、ヘッドエンド101からの放送信号を受信し再生する。また、ヘッドエンド101に対して、各端末装置固有のデータを送信する。3つの、端末装置は本実施の形態では同じ構成を取る。
図5は、端末装置のハードウエア構成を表すブロック図である。端末装置500は、QAM復調部501、QPSK復調部502、QPSK変調部503、TSデコーダ505、オーディオデコーダ506、スピーカ507、ビデオデコーダ508、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512、入力部513、CPU514で構成される。また端末装置500には、POD504が着脱できる。
図6は、端末装置500の外観の一例である薄型テレビである。端末装置は様々な構成で実現できるが、本実施例ではOpenCable(R)及びOCAPに基づいて構成された端末装置を例にとって説明する。
薄型テレビの筐体601は、POD504を除く、端末装置500の構成要素をすべて内蔵している。
ディスプレイ602は、図5におけるディスプレイ509に相当する。
フロントパネル部603は複数のボタンで構成され、図5の入力部513に相当する。
信号入力端子604は、ヘッドエンド101との信号の送受信を行うためにケーブル線を接続する。また、信号入力端子604は、図5のQAM復調部501、QPSK復調部502、QPSK変調部503と接続されている。
PODカード605は、図5のPOD504に相当する。POD504は、図6のPODカード605のように、端末装置500とは独立した形態を取り、端末装置500に着脱可能となっている。POD504の詳細は後述する。
挿入スロット606は、PODカード605が挿入される挿入スロットである。
図5を参照して、QAM復調部501は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQAM変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK復調部502は、CPU514から指定された周波数を含むチューニング情報で、ヘッドエンド101でQPSK変調され送信されてきた信号を復調し、POD504に引き渡す。
QPSK変調部503は、CPU514から指定された周波数を含む復調情報で、POD504から渡された信号をQPSK復調し、ヘッドエンド101に送信する。
POD504は、図6のように端末装置本体500から着脱可能な形態をしている。端末本体500とPOD504の接続インターフェースは、OpenCable(R) CableCARD(R) Interface Specification(OC−SP−CC−IF−I15−031121)及び、この仕様書から参照されている仕様書で定義されている。なお、仕様書のCableCARDとはPODのことを指している。ここでは、詳細は省略し、本発明に関する部分のみを解説する。
図7は、POD504の内部構成を表すブロック図である。POD504は、第1デスクランブラ部701、第2デスクランブラ部702、スクランブラ部703、第1記憶部704、第2記憶部705、CPU706で構成される。
第1デスクランブラ部701は、CPU706からの指示により、端末装置500のQAM復調部501から暗号化された信号を受け取り、復号を行う。そして、復号された信号を端末装置500のTSデコーダ505に送る。デコードに必要な鍵などの情報はCPU706から適宜与えられる。具体的には、ヘッドエンド101はいくつかの有料チャンネルを放送している。ユーザが、この有料チャンネルを購買すると、第1デスクランブラ部701は、CPU706から鍵等の必要な情報を受け取りデスクランブルすることで、ユーザは有料チャンネルを閲覧することができる。鍵などの必要な情報が与えられない場合は、第1デスクランブラ部701は、デスクランブルを行わず、受け取った信号をそのまま、TSデコーダ505に送る。
第2デスクランブラ部702は、CPU706からの指示により、端末装置500のQPSK復調部502から暗号化された信号を受け取り、復号を行う。そして、復号されたデータをCPU706に引き渡す。
スクランブラ部703は、CPU706からの指示により、CPU706から受け取ったデータを暗号化し、端末装置500のQPSK変調部503に送る。
第1記憶部704は、具体的にはRAM等の1次記憶メモリーで構成され、CPU706が処理を行う際、一時的にデータを保存するために使用される。
第2記憶部705は、具体的にはフラッシュROM等の2次記憶メモリーで構成され、CPU706が実行するプログラムを格納し、また、電源OFFになっても消去されては困るデータの保存に使用される。
CPU706は、第2記憶部705が記憶するプログラムを実行する。プログラムは複数のサブプログラムで構成される。図8は、第2記憶部705が記憶するプログラムの一例である。図8では、プログラム800は、メインプログラム801、初期化サブプログラム802、ネットワークサブプログラム803、再生サブプログラム804、PPVサブプログラム805等複数のサブプログラムで構成されている。
ここでPPVとはPay Per Viewの略であり、映画など特定の番組を有料で視聴できるようにするサービスである。ユーザが暗証番号を入力すると、購入したことがヘッドエンド101に通知され、スクランブルが解除され、視聴することが出来る。この視聴により、ユーザは後日、購入代金を支払うものである。
メインプログラム801は、CPU706が電源投入時に最初に起動するサブプログラムであり、他のサブプログラムの制御を行う。
初期化サブプログラム802は、電源投入時にメインプログラム801によって起動され、端末装置500との情報交換等を行い、初期化処理を行う。初期化処理の詳細は、OpenCable(R) CableCARD(R) Interface Specification(OC−SP−CC−IF−I15−031121)及び、この仕様書から参照されている仕様書で定義されている。また、仕様書に定義されていない初期化処理も行う。ここでは、その一部を紹介する。電源が投入されると、初期化サブプログラム802は、第2記憶部705が記憶する第1の周波数を端末装置500のCPU514を通して、QPSK復調部502に通知する。QPSK復調部502は、与えられた第1の周波数でチューニングを行い、信号を第2デスクランブラ部702に送る。また、初期化サブプログラム802は、第2記憶部705が記憶する第1の鍵等の復号情報を第2デスクランブラ部702に与える。その結果、第2デスクランブラ部702は、デスクランブルを行い、初期化サブプログラム802を実行するCPU706に引き渡す。よって、初期化サブプログラム802は情報を受け取ることができる。本実施の形態では、初期化サブプログラム802はネットワークサブプログラム803を通して情報を受け取ることとする。詳細は後述する。
また、初期化サブプログラム802は、第2記憶部705が記憶する第2の周波数を端末装置500のCPU514を通して、QPSK変調部503に通知する。初期化サブプログラム802は第2記憶部705が記憶する暗号化情報をスクランブラ部703に与える。初期化サブプログラム802が送信したい情報を、ネットワークサブプログラム803を介して、スクランブラ部703に与えると、スクランブラ部703は、与えられた暗号化情報を用いて、データを暗号化し、端末装置500のQPSK変調部503に与える。QPSK変調部503は、与えられた暗号化された情報を変調し、ヘッドエンド101に送信する。
この結果、初期化サブプログラム802は、端末装置500、第2デスクランブラ部702、スクランブラ部703、ネットワークサブプログラム803を通して、ヘッドエンド101と双方向通信を行うことができる。
ネットワークサブプログラム803は、メインプログラム801、初期化サブプログラム802等の複数のサブプログラムから使用される、ヘッドエンド101との双方向通信を行うためのサブプログラムである。具体的には、ネットワークサブプログラム803を使用する他のサブプログラムに対して、TCP/IPによって、ヘッドエンド101と双方向通信を行っているように振舞う。TCP/IPは、複数の装置間で情報交換を行うためのプロトコルを規定した公知の技術であり、詳細な説明は省略する。ネットワークサブプログラム803は、電源投入時に初期化サブプログラム802に起動されると、予め第2記憶部705が記憶しているPOD504を識別する識別子であるMACアドレス(Media Access Controlアドレスの略)を、端末装置500を通してヘッドエンド101に通知し、IPアドレスの取得を要求する。ヘッドエンド101は、端末装置500を介してPOD504にIPアドレスを通知し、ネットワークサブプログラム803は、IPアドレスを第1記憶部704に記憶する。以降、ヘッドエンド101とPOD504は、このIPアドレスを、POD504の識別子として使用し、通信を行う。
再生サブプログラム804は、第2記憶部705が記憶する第2の鍵等の復号情報や、端末装置500から与えられる第3の鍵等の復号情報を第1デスクランブラ部701に与えて、デスクランブルを可能にする。また、ネットワークサブプログラム803を通して、第1デスクランブラ部701に入力されている信号が、PPVチャンネルであることの情報を受け取る。PPVチャンネルと知ったときは、PPVサブプログラム805を起動する。
PPVサブプログラム805は、起動されると、端末装置500に番組の購入を促すメッセージを表示し、ユーザの入力を受け取る。具体的には、端末装置500のCPU514に画面に表示したい情報を送ると、端末装置500のCPU514上で動作するプログラムが、端末装置500のディスプレイ509上にメッセージを表示する。ユーザは、端末装置500の入力部513を通して暗証番号を入力すると、端末装置500のCPU514が、それを受け取り、POD504のCPU706上で動作するPPVサブプログラム805に通知する。PPVサブプログラム805は、受け取った暗証番号をネットワークサブプログラム803を通してヘッドエンド101に送信する。ヘッドエンド101は、暗証番号が正しければ、復号に必要な第4の鍵などの復号化情報をネットワークサブプログラム803を介して、PPVサブプログラム805に通知する。PPVサブプログラム805は受け取った第4の鍵などの復号化情報を第1デスクランブラ部701に与え、第1デスクランブラ部701は、入力されている信号をデスクランブルする。
図5を参照して、TSデコーダ505は、POD504から受け取った信号のフィルタリングを実施し、必要なデータをオーディオデコーダ506及びビデオデコーダ508、CPU514に引き渡す。ここで、POD504から来る信号はMPEG2トランスポートストリームである。MPEG2トランスポートストリームの詳細はMPEG規格書 ISO/IEC138181−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を参照して、CPU514がパケットID「1」と出力先として「ビデオデコーダ508」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「1」のパケットを抽出し、ビデオデコーダ508に引き渡す。図10においては、映像データのみをビデオデコーダ508に引き渡すことになる。同時に、CPU514がパケットID「2」と「オーディオデコーダ506」をTSデコーダ505に指示すると、TSデコーダ505はPOD504から受け取ったMPEG2トランスポートストリームからパケットID「2」のパケットを抽出し、オーディオデコーダ506に引き渡す。図10においては、音声データのみをビデオデコーダ508に引き渡すことになる。
このパケットIDに応じて必要なパケットだけを取り出す処理が、TSデコーダ505が行うフィルタリングである。TSデコーダ505はCPU514から指示された複数のフィルタリングを同時に実行することができる。
図5を参照して、オーディオデコーダ506は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたオーディオデータを連結し、デジタル−アナログ変換を行いスピーカ507に出力する。
スピーカ507は、オーディオデコーダ506から与えられた信号を音声出力する。
ビデオデコーダ508は、TSデコーダ505から与えられたMPEG2トランスポートストリームのパケットに埋め込まれたビデオデータを連結し、デジタル−アナログ変換を行いディスプレイ509に出力する。
ディスプレイ509は、具体的にはブラウン管や液晶等で構成され、ビデオデコーダ508から与えられたビデオ信号を出力したり、CPU514から指示されたメッセージを表示したりする。
2次記憶部510は、具体的には、フラッシュメモリーやハードディスク等で構成され、CPU514から指示されたデータやプログラムを保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された状態でも保存しつづける。
1次記憶部511は、具体的には、RAM等で構成され、CPU514から指示されたデータやプログラムを1次的に保存したり削除したりする。また、保存されているデータやプログラムはCPU514に参照される。保存されているデータやプログラムは、端末装置500の電源が切断された際に、抹消される。
ROM512は、書き換え不可能なメモリーデバイスであり、具体的にはROMやCD−ROM、DVDなどで構成される。ROM512は、CPU514が実行するプログラムが格納されている。
入力部513は、具体的には、フロントパネルやリモコンで構成され、ユーザからの入力を受け付ける。図11は、フロントパネルで入力部513を構成した場合の一例である。1100はフロントパネルであり、図6のフロントパネル部603に相当する。フロントパネル1100は7つのボタン、上カーソルボタン1101、下カーソルボタン1102、左カーソルボタン1103、右カーソルボタン1104、OKボタン1105、取消ボタン1106、EPGボタン1107を備えている。ユーザがボタンを押下すると、押下されたボタンの識別子が、CPU514に通知される。
CPU514は、ROM512が記憶するプログラムを実行する。実行するプログラムの指示に従い、QAM復調部501、QPSK復調部502、QPSK変調部503、POD504、TSデコーダ505、ディスプレイ509、2次記憶部510、1次記憶部511、ROM512を制御する。
図12は、ROM512に記憶され、CPU514に実行されるプログラムの構成図の一例である。
プログラム1200は、複数のサブプログラムで構成され、具体的にはOS1201、EPG1202、Java(登録商標)VM1203(以後VM1203と称す)、サービスマネージャ1204、Java(登録商標)ライブラリ1205(以後ライブラリ1205と称す)で構成される。
OS1201は、端末装置500の電源が投入されると、CPU514が起動するサブプログラムである。OS1201は、オペレーティングシステムの略であり、Linux等が一例である。OS1201は、他のサブプログラムを平行して実行するカーネル1201a及びライブラリ1201bで構成される公知の技術の総称であり、詳細な説明は省略する。本実施の形態においては、OS1201のカーネル1201aは、EPG1202とVM1203をサブプログラムとして実行する。また、ライブラリ1201bは、これらサブプログラムに対して、端末装置500が保持する構成要素を制御するための複数の機能を提供する。
機能の一例として、チューニング機能を紹介する。チューニング機能は、他のサブプログラムから周波数を含むチューニング情報を受け取り、それをQAM復調部501に引き渡す。QAM復調部501は与えられたチューニング情報に基づき復調処理を行い、復調したデータをPOD504に引き渡すことができる。この結果、他のサブプログラムはライブラリ1201bを通してQAM復調器を制御することができる。
EPG1202は、ユーザに番組一覧を表示及び、ユーザからの入力を受け付ける番組表示部1202aと、チャンネル選局を行う再生部1202bで構成される。ここで、EPGはElectric Program Guideの略である。EPG1202は、端末装置500の電源が投入されると、カーネル1201aによって起動される、起動されたEPG1202の内部では、番組表示部1202aが端末装置500の入力部513を通して、ユーザからの入力を待つ。ここで、入力部513が図11で示されるフロントパネルで構成されている場合、ユーザが、入力部513のEPGボタン1107を押下すると、EPGボタンの識別子がCPU514に通知される。CPU514上で動作するサブプログラムであるEPG1202の番組表示部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は、表示する番組情報を、POD504を通してヘッドエンド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」、チューニング情報に周波数「312MHz」、プログラムナンバーが「101」を含む組となっている。再生部1202bは、チャンネルの再生を行うため、受け取ったチャンネルの識別子をそのままサービスマネージャに引き渡す。
また、再生部1202bは、再生中に、ユーザがフロントパネル1100の上カーソル1101と下カーソル1102を押下すると、入力部513からCPU514を通して、押下された通知を受け取り、再生しているチャンネルを変更する。まず、再生部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)は、チャンネル識別子が書き換えられた状態を表す。
VM1203は、Java(登録商標)言語で記述されたプログラムを逐次解析し実行するJava(登録商標)バーチャルマシンである。Java(登録商標)言語で記述されたプログラムはバイトコードと呼ばれる、ハードウエアに依存しない中間コードにコンパイルされる。Java(登録商標)バーチャルマシンは、このバイトコードを実行するインタープリタである。また、一部のJava(登録商標)バーチャルマシンは、バイトコードをCPU514が理解可能な実行形式に翻訳してから、CPU514に引き渡し、実行することも行う。VM1203は、カーネル1201aに実行するJava(登録商標)プログラムを指定され起動される。本実施の形態では、カーネル1201aは、実行するJava(登録商標)プログラムとしてサービスマネージャ1204を指定する。Java(登録商標)言語の詳細は、書籍「Java(登録商標) Language Specification(ISBN 0−201−63451−1)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。また、Java(登録商標)VM自体の詳細な動作などは、「Java(登録商標) Virtual Machine Specification(ISBN 0−201−63451―X)」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、Java(登録商標)言語で書かれたJava(登録商標)プログラムであり、VM1203によって逐次実行される。サービスマネージャ1204は、JNI(Java(登録商標) Native Interface)を通して、Java(登録商標)言語で記述されていない他のサブプログラムを呼び出したり、または、呼び出されたりすることが可能である。JNIに関しても、書籍「Java(登録商標) Native Interface」等の多くの書籍で解説されている。ここでは、その詳細を省略する。
サービスマネージャ1204は、JNIを通して、再生部1202bよりチャンネルの識別子を受け取る。
サービスマネージャ1204は、最初にライブラリ1205の中にあるTuner1205cに、チャンネルの識別子を引き渡し、チューニングを依頼する。Tuner1205cは、2次記憶部510が記憶するチャンネル情報を参照し、チューニング情報を獲得する。今、サービスマネージャ1204がチャンネルの識別子「2」をTuner1205cに引き渡すと、Tuner1205cは、図14の列1412を参照して、対応するチューニング情報「156MHz,」を獲得する。Tuner1205cは、OS1201のライブラリ1201bを通して、QAM復調部501にチューニング情報を引き渡す。QAM復調部501は与えられたチューニング情報に従ってヘッドエンド101から送信されてきた信号を復調し、POD504に引き渡す。
次にサービスマネージャ1204は、ライブラリ1205の中にあるCA1205dにデスクランブルを依頼する。CA1205dは、OS1201のライブラリ1201bを通して復号に必要な情報をPOD504に与える。POD504は、与えられた情報を元に、QAM復調部501から与えられた信号を復号しTSデコーダ505に引き渡す。
次にサービスマネージャ1204は、ライブラリ1205の中にあるJMF1205aにチャンネルの識別子を与え、映像・音声の再生を依頼する。
まず、最初にJMF1205aは、再生すべき映像と音声を特定するためのパケットIDをPAT、PMTから取得する。PATやPMTはMPEG2規格で規定されている、MPEG2トランスポートストリーム内の番組構成を表現するテーブルであり、MPEG2トランスポートストリームに含まれるパケットのペイロードに埋め込まれて、音声や映像と共に送信されるものである。詳細は規格書を参照されたい。ここでは、概略のみ説明する。
PATは、Program Association Tableの略で、パケットID「0」のパケットに格納され送信されている。JMF1205aは、PATを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットID「0」とCPU514を指定する。TSデコーダ505がパケットID「0」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PATのパケットを収集する。図16は、収集したPATの情報の一例を模式的に表した表である。列1601は、プログラムナンバーである。列1602は、パケットIDである。列1602のパケットIDはPMTを取得するために用いられる。行1611〜1613は、チャンネルのプログラムナンバーと対応するパケットIDの組である。ここでは、3つのチャンネルが定義されている。行1611はプログラムナンバー「101」とパケットID「501」の組が定義されている。今、JMF1205aに与えられたチャンネルの識別子が「2」とすると、JMF1205aは、図14の行1412を参照して、対応するプログラムナンバー「102」を獲得し、次に、図16のPATの行1612を参照し、プログラムナンバー「102」に対応するパケットID「502」を獲得する。PMTは、Program Map Tableの略で、PATで規定されたパケットIDのパケットに格納され送信されている。JMF1205aは、PMTを取得するため、OS1201のライブラリ1201bを通して、TSデコーダ505にパケットIDとCPU514を指定する。ここで、指定するパケットIDは「502」とする。TSデコーダ505がパケットID「502」でフィルタリングを行い、CPU514に引き渡すことでJMF1205aは、PMTのパケットを収集する。
図17は、収集したPMTの情報の一例を模式的に表した表である。列1701は、ストリーム種別であり。列1702は、パケットIDである。列1702で指定されるパケットIDのパケットには、ストリーム種別で指定された情報がペイロードに格納され送信されている。列1703は補足情報である。列1711〜1714はエレメンタリーストリームと呼ばれる、パケットIDと送信している情報の種別の組である。列1711は、ストリーム種別「音声」とパケットID「5011」の組であり、パケットID「5011」のペイロードには音声が格納されていることを表す。JMF1205aは、PMTから再生する映像と音声のパケットIDを獲得する。図17を参照して、JMF1205aは、行1711から音声のパケットID「5011」を、行1712から映像のパケットID「5012」を獲得する。
次に、JMF1205aは、OS1201のライブラリ1201bを通して、獲得した音声のパケットIDと出力先としてオーディオデコーダ506、映像のパケットIDと出力先としてビデオデコーダ508の組を、TSデコーダ505に与える。TSデコーダ505は与えられたパケットIDと出力先に基づいて、フィルタリングを行う。ここではパケットID「5011」のパケットをオーディオデコーダ506に、パケットID「5012」のパケットをビデオデコーダ508に引き渡す。オーディオデコーダ506は、与えられたパケットのデジタル−アナログ変換を行いスピーカ507を通して音声を再生する。ビデオデコーダ508は、与えられたパケットのデジタル−アナログ変換を行いディスプレイ509に映像を表示する。
最後にサービスマネージャ1204は、ライブラリ1205の中にあるAM1205bにチャンネルの識別子を与え、データ放送再生を依頼する。ここで、データ放送再生とは、MPEG2トランスポートストリームに含まれるJava(登録商標)プログラムを抽出し、VM1203に実行させることである。MPEG2トランスポートストリームにJava(登録商標)プログラムを埋め込む方法は、MPEG規格書ISO/IEC138181−6に記述されたDSMCCという方式を用いる。ここではDSMCCの詳細な説明は省略する。DSMCC方式は、MPEG2トランスポートストリームのパケットの中に、コンピュータで使用されているディレクトリやファイルで構成されるファイルシステムをエンコードする方法を規定している。また、実行するJava(登録商標)プログラムの情報はAITと呼ばれる形式で、MPEG2トランスポートストリームのパケットの中に埋め込まれ送信されている。AITは、DVB−MHP規格の10章に定義されている、Application Information Tableの略である。
AM1205bは、まず、AITを獲得するため、JMF1205a同様PAT、PMTを取得し、AITが格納されているパケットのパケットIDを獲得する。今、与えられたチャンネルの識別子が「2」で、図16のPAT、図17のPMTが送信されていると、JMF1205aと同様の手順で、図17のPMTを獲得する。AM1205bは、PMTからストリーム種別が「データ」で補足情報として「AIT」を持つエレメンタリーストリームからパケットIDを抽出する。図17を参照して、行1713のエレメンタリーストリームが該当し、パケットID「5013」を獲得する。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にAITのパケットIDと出力先CPU514を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、AITのパケットを収集することができる。
図18は、収集したAITの情報の一例を模式的に表した表である。列1801はJava(登録商標)プログラムの識別子である。MHP規格によれば、この識別子はApplication IDとして定義さる。列1802はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」「kill」などがあり、「autostart」は即時に端末装置500がこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味し、「kill」はプログラムを停止することを意味する。列1803は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列1804はJava(登録商標)プログラムのプログラム名である。列1805はJava(登録商標)プログラムのバージョン番号である。
行1811と1812は、Java(登録商標)プログラムの情報の組である。行1811で定義されるJava(登録商標)プログラムは、識別子「0x201」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/TopXlet」、バージョン番号「1」の組である。行1812で定義されるJava(登録商標)プログラムは、識別子「0x202」、制御情報「present」、DSMCC識別子「1」、プログラム名「b/GameXlet」、バージョン番号「2」の組である。ここで2つのJava(登録商標)プログラムは同じDSMCC識別子を持つが、これは1つのDSMCC方式でエンコードされたファイルシステム内に2つのJava(登録商標)プログラムが含まれていることを表す。ここでは、Java(登録商標)プログラムに対して5つの情報しか規定しないが、実際にはより多くの情報が定義される。詳細はDVB−MHP規格を参照されたい。
AM1205bは、AITの中から「autostart」のJava(登録商標)プログラムを見つけ出し、対応するDSMCC識別子及びJava(登録商標)プログラム名を抽出する。図18を参照して、AM1205bは行1811のJava(登録商標)プログラムを抽出し、DSMCC識別子「1」及びJava(登録商標)プログラム名「a/TopXlet」を獲得する。ここで、行1811のAITの情報を起動AIT情報と呼ぶこととする。
次にAM1205bは、AITから取得したDSMCC識別子を用いて、Java(登録商標)プログラムをDSMCC方式で格納しているパケットのパケットIDをPMTから獲得する。具体的には、PMTの中でストリーム種別が「データ」で、補足情報のDSMCC識別子が合致するエレメンタリーストリームのパケットIDを取得する。
今、DSMCC識別子が「1」であり、PMTが図17とすると、行1714のエレメンタリーストリームが合致し、パケットID「5014」を取り出す。
AM1205bは、OS1201のライブラリ1201bを通してTSデコーダ505にDSMCC方式でデータが埋めこめられたパケットのパケットIDと出力先としてCPU514を指定する。ここでは、パケットID「5014」を与える。TSデコーダ505、与えられたパケットIDでフィルタリングを行い、CPU514に引き渡す。この結果、AM1205bは、必要なパケットを収集することができる。AM1205bは、収集したパケットから、DSMCC方式に従ってファイルシステムを復元し、1次記憶部511に保存する。MPEG2トランスポート中のパケットからファイルシステム等のデータを取り出し1次記憶部511等の記憶手段に保存すことを以降、ダウンロードと呼ぶ。
図19は、ダウンロードしたファイルシステムの一例である。図中、丸はディレクトリを四角はファイルを表し、1901はルートディレクトリ、1902はディレクトリ「a」、1903はディレクトリ「b」、1904はファイル「TopXlet.class」、1905はファイル「GameXlet.class」である。
次にAM1205bは、1次記憶部511にダウンロードしたファイルシステム中から実行するJava(登録商標)プログラムをVM1203に引き渡す。今、実行するJava(登録商標)プログラム名が「a/TopXlet」とすると、Java(登録商標)プログラム名の最後に「.class」を付加したファイル「a/TopXlet.class」が実行すべきファイルとなる。「/」はディレクトリやファイル名の区切りであり、図19を参照して、ファイル1904が実行すべきJava(登録商標)プログラムである。次にAM1205bは、ファイル1904をVM1203に引き渡す。
VM1203は、引き渡されたJava(登録商標)プログラムを実行する。
サービスマネージャ1204は、他のチャンネルの識別子を受け取ると、ライブラリ1205に含まれる各ライブラリを通して再生している映像・音声及びJava(登録商標)プログラムの実行を、同じくライブラリ1205に含まれる各ライブラリを通して停止し、新たに受け取ったチャンネルの識別子に基づいて、映像・音声の再生及びJava(登録商標)プログラムの実行を行う。
ライブラリ1205は、ROM512に格納されている複数のJava(登録商標)ライブラリの集合である。本実施の形態では、ここでは、ライブラリ1205は、JMF1205a、AM1205b、Tuner1205c、CA1205d、POD Lib1205e等を含んでいる。
次に、本発明の機能であるJava(登録商標)プログラムのダウンロードおよび起動に関する時間や情報の履歴取り、その履歴情報をユーザに知らせる機能について説明する。
図20は、AM1205bが収集した起動AIT情報に基づき、Java(登録商標)プログラムのダウンロードおよび起動に関する時間や情報の履歴取り、その履歴情報をユーザに知らせる機能を実行する際のAM1205bの構成要素のみを示すブロック図である。他の構成要素は本発明と直接関係しないので省略する。
AM1205bは、図20に示すようにプログラム起動情報管理部2001、プログラム起動履歴情報取得部2002、プログラム起動履歴情報更新部2003、プログラム起動時間計測部2004、およびプログラム起動情報通知部2005を備えている。
プログラム起動情報管理部2001は、AM1205bが収集した起動AIT情報に基づき、Java(登録商標)プログラムの起動履歴情報の取得要求と、Java(登録商標)プログラムの起動履歴情報等の通知要求と、Java(登録商標)プログラムのダウンロードおよび起動に要する時間の計測要求を行う。また、Java(登録商標)プログラムのダウンロードおよび起動に要した時間の計測結果取得と、Java(登録商標)プログラムの起動履歴情報の更新要求を行う。
プログラム起動履歴情報取得部2002は、プログラム起動情報管理部2001の要求に基づき、以前ダウンロードおよび起動したJava(登録商標)プログラムの履歴情報の取得を行う。
プログラム起動履歴情報更新部2003は、プログラム起動情報管理部2001の要求に基づき、Java(登録商標)プログラムの履歴情報の更新を行う。
プログラム起動時間計測部2004は、プログラム起動情報管理部2001の要求に基づき、Java(登録商標)プログラムのダウンロードおよび起動に要する時間の計測を行う。すなわち、このダウンロードに要する時間(ダウンロード時間)と起動に要する時間(起動時間)とを合わせた時間が、図21(a)に示すようにプログラムの起動指示から実際に起動されるまでの起動待ち時間となる。ここで、プログラムの起動時間は、ダウンロードされているプログラムを起動するまでの時間であり、プログラムの初期化等の前処理の時間も含まれる。また、プログラムのダウンロード時間は、起動指示からプログラムがダウンロードされるまでの時間であり、プログラムの認証や起動指示から実際のダウンロード開始までの時間等も含まれる。
プログラム起動情報通知部2005は、プログラム起動情報管理部2001の要求に基づき、Java(登録商標)プログラムの履歴情報の通知を行う。
まず、Java(登録商標)プログラムの起動履歴情報の取得要求と起動履歴情報等の通知とダウンロードおよび起動に要する時間の計測の動作について説明する。
図22は、プログラム起動情報管理部2001のJava(登録商標)プログラムの起動履歴情報の取得要求と起動履歴情報等の通知とダウンロードおよび起動に要する時間の計測の動作をまとめたフローチャートである。AM1205bが起動AIT情報の収集を完了した時点で、プログラム起動情報管理部2001は、AM1205bからAM1205bが収集した起動AIT情報を渡される(S2201)。プログラム起動情報管理部2001は、プログラム起動履歴情報取得部2002に渡されたAIT情報を渡し、Java(登録商標)プログラムの起動履歴情報の取得要求を行う(S2202)。S2202の取得要求の結果、起動履歴情報の取得ができたか判断し(S2203)、取得できた場合(S2203でYes)、プログラム起動情報管理部2001は起動AIT情報と取得した起動履歴情報をプログラム起動情報通知部2005に渡して通知要求を行う(S2204)。S2202の取得要求の結果、起動履歴情報の取得ができたか判断し(S2203)、取得できない場合(S2203でNo)、プログラム起動情報管理部2001は起動AIT情報をプログラム起動情報通知部2005に渡して通知要求を行う(S2205)。最後に、プログラム起動情報管理部2001は、プログラム起動時間計測部2004に起動AIT情報を渡して計測要求を行う(S2206)。
図23は、プログラム起動情報管理部2001から起動AIT情報を渡されJava(登録商標)プログラムの起動履歴情報の取得を要求された時のプログラム起動履歴情報取得部2002の動作をまとめたフローチャートである。プログラム起動情報管理部2001から起動AIT情報を渡され起動履歴情報の取得要求を受けると、プログラム起動履歴情報取得部2002は渡された起動AIT情報から識別子とバージョン番号を抽出する(S2301)。ここで識別子とバージョン番号は、図18の行1811の識別子1801とバージョン番号1805を例として用いる。次に、プログラム起動履歴情報取得部2002は、2次記憶部510に記憶している図24に示すような起動履歴情報から、識別子1801とバージョン番号1805の合致する起動履歴情報を検索する(S2302)。図24は、起動履歴情報の一例を模式的に表した表である。列2401はJava(登録商標)プログラムの識別子であり、起動履歴情報の検索時に識別子1801と比較される。列2402はJava(登録商標)プログラムのバージョン番号であり、起動履歴情報の検索時にバージョン番号1805と比較される。列2403は、Java(登録商標)プログラムのダウンロードおよび起動に要した処理時間(起動待ち時間)である。尚、列2403の処理時間の単位は本実施例では秒であるが、単位は時間が判断できるものであれば良いものとする。列2411と2412は、起動履歴情報の組である。従って、識別子1801とバージョン番号1805の値に合致する起動履歴情報は列2411の起動履歴情報ということになる。S2302の検索の結果、合致する起動履歴情報の検索ができたか判断し(S2303)、検索ができた場合(S2303でYes)、検索した起動履歴情報を1次記憶部511に展開し(S2304)、展開した起動履歴情報をプログラム起動情報管理部2001 に返す(S2305)。S2302の検索の結果、合致する起動履歴情報の検索ができたか判断し(S2303)、検索ができなかった場合(S2303でNo)、起動履歴情報なしを意味するNULLをプログラム起動情報管理部2001 に返す(S2306)。
図25は、プログラム起動情報管理部2001から起動AIT情報と起動履歴情報を渡され通知要求された時のプログラム起動情報通知部2005の動作をまとめたフローチャートである。プログラム起動情報管理部2001から起動AIT情報と起動履歴情報を渡され通知要求を受けると、プログラム起動情報通知部2005は、起動AIT情報からプログラム名を抽出し(S2501)、起動履歴情報から処理時間を抽出する(S2502)。ここでプログラム名を図18の行1811のプログラム名1804とすると「a/TopXlet」となり、処理時間を図24の行2411の処理時間2403とすると「240」秒となる。次に、プログラム起動情報通知部2005は、抽出したプログラム名と、抽出した処理時間を起動待ち時間としてユーザへ通知する(S2503)が、プログラム起動情報通知部2005が端末装置500のCPU514に画面に表示するプログラム名と処理時間の情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図26に示すような情報をディスプレイ509に表示することにより実現される。ダイアログボックス2601は、メッセージ2602の表示要素をもつ。尚、ユーザにプログラムのダウンロード及び起動の処理時間を知らせるのに必要な情報を提供できる方法であれば、プログラム起動情報通知部2005で抽出する情報はプログラム名、処理時間に限定されず、メッセージ2602の文字列は、図26中の文字列に限定されず他の文字列であってもよく、また、メッセージ2602の形式は文字列に限定されず他の形式であってもよい。また、起動待ち時間の表示はカウントダウンの表示であってもよい。
図27は、プログラム起動情報管理部2001から起動AIT情報を渡され通知要求された時のプログラム起動情報通知部2005の動作をまとめたフローチャートである。プログラム起動情報管理部2001から起動AIT情報を渡され通知要求を受けると、プログラム起動情報通知部2005は、起動AIT情報からプログラム名を抽出する(S2701)。ここでプログラム名を図18の行1811のプログラム名1804とすると「a/TopXlet」となる。次に、プログラム起動情報通知部2005は、抽出したプログラム名と処理時間(起動待ち時間)不明であることをユーザへ通知する(S2702)が、プログラム起動情報通知部2005が端末装置500のCPU514に画面に表示するプログラム名と処理時間が不明であることの情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図28に示すような情報をディスプレイ509に表示することにより実現される。2801はダイアログボックスであり、メッセージ2802の表示要素をもつ。尚、ユーザにプログラムのダウンロード及び起動の処理時間が不明であること知らせるのに必要な情報を提供できる方法であれば、プログラム起動情報通知部2005で抽出する情報はプログラム名に限定されず、メッセージ2802の文字列は、図28中の文字列に限定されず他の文字列であってもよく、また、メッセージ2802の形式は文字列に限定されず他の形式であってもよい。
図29は、プログラム起動情報管理部2001から計測要求された時のプログラム起動時間計測部2004の動作をまとめたフローチャートである。プログラム起動情報管理部2001から起動AIT情報を渡され計測要求を受けると、プログラム起動時間計測部2004は、起動AIT情報から識別子とバージョン番号を抽出する(S2901)。プログラム起動時間計測部2004は、現在の時間を取得する(S2902)。プログラム起動時間計測部2004は、図30に示すように識別子3001とバージョン番号3002と開始時間3003の組でプログラム起動時間情報3011を1次記憶部511に記憶する(S2803)。識別子3001はS2901で抽出した識別子、バージョン番号3002はS2901で抽出したバージョン番号、開始時間3003はS2902で取得した現在の時間である。
次に、Java(登録商標)プログラムのダウンロードおよび起動に要した時間の計測結果取得と起動履歴情報の更新の動作について説明する。
図31は、プログラム起動情報管理部2001のJava(登録商標)プログラムのダウンロードおよび起動に要した時間の計測結果取得と起動履歴情報の更新の動作をまとめたフローチャートである。AM1205bがJava(登録商標)プログラムの起動完了した時点で、プログラム起動情報管理部2001は、AM1205bから起動AIT情報を渡される(S3101)。プログラム起動情報管理部2001は、プログラム起動時間計測部2004に起動AIT情報を渡して計測結果取得を行う(S3102)。プログラム起動情報管理部2001は、プログラム起動履歴情報更新部2003に起動AIT情報と取得した計測結果を渡して更新要求を行う(S3103)。
図32は、プログラム起動情報管理部2001から計測結果取得を要求された時のプログラム起動時間計測部2004の動作をまとめたフローチャートである。プログラム起動情報管理部2001から起動AIT情報を渡され計測結果取得要求を受けると、プログラム起動時間計測部2004は、起動AIT情報から識別子とバージョン番号を抽出する(S3201)。プログラム起動時間計測部2004は、現在の時間を取得する(S3202)。プログラム起動時間計測部2004は、1次記憶部511に記憶されている図30に示すような識別子3001とバージョン番号3002が、S3201で抽出した識別子とバージョン番号と合致するプログラム起動時間情報3011を検索する(S3203)。プログラム起動時間計測部2004は、S3202で取得した現在の時間からS3203で検索したプログラム起動時間情報3011の開始時間3003を引き、ダウンロードおよび起動に要した時間を算出する(S3204)。プログラム起動時間計測部2004は、算出したダウンロードおよび起動に要した時間をプログラム起動情報管理部2001に返す(S3205)。
図33は、プログラム起動情報管理部2001から起動AIT情報とダウンロードおよび起動に要した時間を渡されJava(登録商標)プログラムの起動履歴情報の更新を要求された時のプログラム起動履歴情報取得部2003の動作をまとめたフローチャートである。プログラム起動情報管理部2001から起動AIT情報とダウンロードおよび起動に要した時間を渡され起動履歴情報の更新要求を受けると、プログラム起動履歴情報取得部2002は渡された起動AIT情報から識別子とバージョン番号を抽出する(S3301)。プログラム起動履歴情報取得部2002は、2次記憶部510に記憶している図24に示すような起動履歴情報から、S3301で抽出した識別子とバージョン番号と合致する起動履歴情報を検索する(S3302)。S3302の検索の結果、合致する起動履歴情報の検索ができたか判断し(S3303)、検索ができた場合(S3303でYes)、2次記憶部510に記憶している検索した起動履歴情報の処理時間2403を渡されたダウンロードおよび起動に要した時間に更新する(S3304)。S3302の検索の結果、合致する起動履歴情報の検索ができたか判断し(S3303)、検索ができなかった場合(S3303でNo)、S3301で抽出した識別子とバージョン番号と渡されたダウンロードおよび起動に要した時間で起動履歴情報を構成し、2次記憶部510に記憶している起動履歴情報に追加する。(S3305)。
このように、Java(登録商標)プログラムの起動履歴情報を管理することにより、ユーザにJava(登録商標)プログラムの起動待ち時間を通知することが可能となる。
(実施の形態2)
サービスマネージャ1204は、ライブラリ1205に含まれるPOD Lib1205eを通してヘッドエンド101と双方向通信を行う。この双方向通信は、POD Lib1205eはOS1201のライブラリ1201b及び、POD504を介して、QPSK復調部502、QPSK変調部503を使用して実現される。
また、サービスマネージャ1204は、この通信を用いてヘッドエンド101から、端末装置500が2次記憶部510に保存すべきJava(登録商標)プログラムの情報を受け取る。この情報をXAIT情報と呼ぶ。XAIT情報は、ヘッドエンド101とPOD504間で、任意の形式で送信される。どのような送信形式を採用しても、XAITに必要とする情報が含まれていれば、本発明は実施可能である。
図34は、ヘッドエンド101から取得したXAITの情報の一例を模式的に表した表である。列3401はJava(登録商標)プログラムの識別子である。列3402はJava(登録商標)プログラムの制御情報である。制御情報には「autostart」「present」などがあり、「autostart」は端末装置500が電源投入時にこのプログラムを自動的に実行することを意味し、「present」は自動実行しないことを意味する。列3403は、DSMCC方式でJava(登録商標)プログラムを含んでいるパケットIDを抽出するためのDSMCC識別子である。列3404はJava(登録商標)プログラムのプログラム名である。列3405は、Java(登録商標)プログラムの優先度である。行3411と3412は、Java(登録商標)プログラムの情報の組である。行3411で定義されるJava(登録商標)プログラムは、識別子「701」、制御情報「autostart」、DSMCC識別子「1」、プログラム名「a/Banner1Xlet」の組である。ここでは、Java(登録商標)プログラムに対して5つの情報しか規定しないが、より多くの情報が定義されていても本発明は実施可能である。
サービスマネージャ1204は、XAIT情報を受け取ると、AIT情報からJava(登録商標)プログラムをダウンロードした手順と同じ手順で、MPEG2トランスポートストリームからファイルシステムを1次記憶部511に保存する。その後、保存したファイルシステムを2次記憶部510に複写する。なお、1次記憶部511を介さず、直接2次記憶部510にダウンロードすることも実施可能である。次に、サービスマネージャ1204は、XAIT情報にダウンロードしたファイルシステムの格納位置を対応つけて2次記憶部510に保存する。図35は、2次記憶部510がXAIT情報とダウンロードしたファイルシステムが対応つけられて保存されている一例を表す。図35の中で、図34と同じ番号の要素は図34と同じなので、説明は省略する。列3501は対応するダウンロードしたファイルシステムの保存位置を格納する。図中、保存位置は矢印で示している。3510はダウンロードしたファイルシステムであり、内部にトップディレクトリ3511、ディレクトリ「a」3512、ディレクトリ「b」3513、ファイル「Banner1Xlet.class」3514、ファイル「Banner2Xlet.class」3515を保持する。
ここで、XAIT情報は、Java(登録商標)プログラムを保存してから保存しているが、Java(登録商標)プログラムを保存する前に保存することも実施可能である。
端末装置500に電源が投入後、OS1201が、サービスマネージャ1204をVM1203に指定し、VM1203がサービスマネージャ1204を起動した後、サービスマネージャ1204は、最初に2次記憶部510に保存されたXAIT情報を参照する。ここで各Java(登録商標)プログラムの制御情報を参照し「autostart」のプログラムをVM1203に引き渡し、起動する。図35を参照して、行3411で定義されるJava(登録商標)プログラム「Banner1Xlet」が起動される。
次に、本発明の機能であるJava(登録商標)プログラムのダウンロードおよび起動に関する時間や情報の履歴取り、その履歴情報をユーザに知らせる機能について説明する。
図36は、XAIT情報に基づき、Java(登録商標)プログラムのダウンロードと起動に関する時間や情報の履歴取り、その履歴情報をユーザに知らせる機能を実行する際のAM1205bの構成要素のみ示す。他の構成要素は本発明と直接関係しないので省略する。
AM1205bは、図36に示すようにプログラム起動情報管理部3601、プログラム起動履歴情報取得部3602、プログラム起動履歴情報更新部3603、プログラム起動時間計測部3604、プログラム起動情報通知部3605、およびプログラム保存管理部3606を備えている。
プログラム起動情報管理部3601は、XAIT情報に基づき、Java(登録商標)プログラムの起動履歴情報の取得要求と、Java(登録商標)プログラムの起動履歴情報等の通知要求と、Java(登録商標)プログラムのダウンロードに要する時間(ダウンロード時間)と起動に要する時間(起動時間)の計測要求を行う。また、Java(登録商標)プログラムのダウンロード時間と起動時間の計測結果取得と、Java(登録商標)プログラムの起動履歴情報の更新要求を行う。
プログラム起動履歴情報取得部3602は、プログラム起動情報管理部3601の要求に基づき、以前ダウンロードと起動したJava(登録商標)プログラムの履歴情報の取得を行う。
プログラム起動履歴情報更新部3603は、プログラム起動情報管理部3601の要求に基づき、Java(登録商標)プログラムの履歴情報の更新を行う。
プログラム起動時間計測部3604は、プログラム起動情報管理部3601の要求に基づき、Java(登録商標)プログラムのダウンロード時間と起動時間の計測を行う。
プログラム起動情報通知部3605は、プログラム起動情報管理部3601の要求に基づき、Java(登録商標)プログラムの履歴情報の通知を行う。
プログラム保存管理部3606は、以前にダウンロードされ、2次記憶部510に保存されているJava(登録商標)プログラムの情報を管理する。
まず、Java(登録商標)プログラムの起動履歴情報の取得要求と起動履歴情報等の通知とダウンロード時間と起動時間の計測の動作について説明する。
図37は、プログラム起動情報管理部3601のJava(登録商標)プログラムの起動履歴情報の取得要求と起動履歴情報等の通知とダウンロード時間と起動時間の計測の動作をまとめたフローチャートである。AM1205bがXAIT情報受け取った時点で、プログラム起動情報管理部3601は、AM1205bからAM1205bが受け取ったXAIT情報を渡される(S3701)。プログラム起動情報管理部3601は、プログラム起動履歴情報取得部3602に渡されたXAIT情報を渡し、Java(登録商標)プログラムの起動履歴情報の取得要求を行う(S3702)。S3702の取得要求の結果、起動履歴情報の取得ができたか判断し(S3703)、取得できた場合(S3703でYes)、プログラム起動情報管理部3601はXAIT情報と取得した起動履歴情報をプログラム起動情報通知部3605に渡して通知要求を行う(S3704)。S3702の取得要求の結果、起動履歴情報の取得ができたか判断し(S3703)、取得できない場合(S3703でNo)、プログラム起動情報管理部3601はXAIT情報をプログラム起動情報通知部3605に渡して通知要求を行う(S3705)。最後に、プログラム起動情報管理部3601は、プログラム起動時間計測部3604にXAIT情報を渡して計測要求を行う(S3706)。
図38は、プログラム起動情報管理部3601からXAIT情報を渡されJava(登録商標)プログラムの起動履歴情報の取得を要求された時のプログラム起動履歴情報取得部3602の動作をまとめたフローチャートである。プログラム起動情報管理部3601から起動AIT情報を渡され起動履歴情報の取得要求を受けると、プログラム起動履歴情報取得部3602は渡されたXAIT情報から識別子とバージョン番号を抽出する(S3801)。ここで識別子とバージョン番号は、図34の行3411の識別子3401とバージョン番号3405を例として用いる。次に、プログラム起動履歴情報取得部3602は、2次記憶部510に記憶している図39に示すような起動履歴情報から、識別子3401とバージョン番号3405の合致する起動履歴情報を検索する(S3802)。図39は、起動履歴情報の一例を模式的に表した表である。列3901はJava(登録商標)プログラムの識別子であり、起動履歴情報の検索時に識別子3401と比較される。列3902はJava(登録商標)プログラムのバージョン番号であり、起動履歴情報の検索時にバージョン番号3405と比較される。列3903は、Java(登録商標)プログラムのダウンロードに要した処理時間(ダウンロード時間)である。列3904は、Java(登録商標)プログラムの起動に要した処理時間(起動時間)である。尚、列3903と列3904の時間の単位は本実施例では秒であるが、単位は時間が判断できるものであれば良いものとする。列3911と3912は、起動履歴情報の組である。従って、識別子3401とバージョン番号3405の値に合致する起動履歴情報は列3911の起動履歴情報ということになる。S3702の検索の結果、合致する起動履歴情報の検索ができたか判断し(S3803)、検索ができた場合(S3803でYes)、検索した起動履歴情報を1次記憶部511に展開し(S3804)、展開した起動履歴情報をプログラム起動情報管理部3501 に返す(S3805)。S3802の検索の結果、合致する起動履歴情報の検索ができたか判断し(S3803)、検索ができなかった場合(S3803でNo)、起動履歴情報なしを意味するNULLをプログラム起動情報管理部3601 に返す(S3806)。
図40は、プログラム起動情報管理部3601からXAITと起動履歴情報を渡され通知要求された時のプログラム起動情報通知部3605の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報と起動履歴情報を渡され通知要求を受けると、プログラム起動情報通知部3605は、XAIT情報からプログラム名を抽出し(S4001)、起動履歴情報からダウンロード時間と起動時間を抽出する(S4002)。ここでプログラム名を図34の行3411のプログラム名3404とすると「a/Banner1Xlet」となり、ダウンロード時間を図39の行3911のダウンロード時間3903とすると「80」秒となり、起動時間を図39の行3911の起動時間3904とすると「70」秒となる。次に、プログラム起動情報通知部3605は、プログラム保存管理部3606に、このプログラムが2次記憶部510に保存されているか問い合わせる(S4003)。S4003にて保存されている場合(S4003でYes)は、起動待ち時間を起動時間「70」秒として算出する(S4004)。すなわち、プログラムが2次記憶部510に保存されている場合には、ダウンロードを行う必要がないので、図21(b)に示すように起動時間が、プログラムの起動指示から実際に起動されるまでの起動待ち時間となる。S4003にて保存されていない場合(S4003でNo)は、起動待ち時間をダウンロード時間「80」秒と起動時間「70」秒を足して「150」秒として算出する(S4005)。すなわち、プログラムが2次記憶部510に保存されていない場合には、実施の形態1と同様にダウンロードを行う必要があるので、図21(a)に示すようにダウンロード時間と起動時間とを合わせた時間が、プログラムの起動指示から実際に起動されるまでの起動待ち時間となる。次に、プログラム起動情報通知部3605は、抽出したプログラム名と算出した起動待ち時間をユーザへ通知する(S4006)が、プログラム起動情報通知部3605が端末装置500のCPU514に画面に表示するプログラム名と起動待ち時間の情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図41に示すような情報をディスプレイ509に表示することにより実現される。4101はダイアログボックスであり、メッセージ4102の表示要素をもつ。尚、ユーザにプログラムのダウンロードと起動の処理時間を知らせるのに必要な情報を提供できる方法であれば、プログラム起動情報通知部3605で抽出する情報はプログラム名、ダウンロード時間および起動時間に限定されず、メッセージ4102の文字列は、図41中の文字列に限定されず他の文字列であってもよく、また、メッセージ4102の形式は文字列に限定されず他の形式であってもよい。また、起動待ち時間の表示はカウントダウンの表示であってもよい。
図42は、プログラム起動情報管理部3601からXAIT情報を渡され通知要求された時のプログラム起動情報通知部3605の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報を渡され通知要求を受けると、プログラム起動情報通知部3605は、XAIT情報からプログラム名を抽出する(S4201)。ここでプログラム名を図34の行3411のプログラム名3404とすると「a/Banner1Xlet」となる。次に、プログラム起動情報通知部3605は、抽出したプログラム名と起動待ち時間が不明であることをユーザへ通知する(S4202)が、プログラム起動情報通知部3605が端末装置500のCPU514に画面に表示するプログラム名と起動待ち時間が不明であることの情報を送り、OS1201のライブラリ1201bに含まれるダイアログ表示プログラムが、図43に示すような情報をディスプレイ509に表示することにより実現される。4301はダイアログボックスであり、メッセージ4302の表示要素をもつ。尚、ユーザにプログラムのダウンロードと起動の起動待ち時間が不明であること知らせるのに必要な情報を提供できる方法であれば、プログラム起動情報通知部3605で抽出する情報はプログラム名に限定されず、メッセージ4302の文字列は、図43中の文字列に限定されず他の文字列であってもよく、また、メッセージ4302の形式は文字列に限定されず他の形式であってもよい。
図44は、プログラム起動情報管理部3601から計測要求された時のプログラム起動時間計測部3604の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報を渡され計測要求を受けると、プログラム起動時間計測部3604は、起動AIT情報から識別子とバージョン番号を抽出する(S4401)。プログラム起動時間計測部3604は、現在の時間を取得する(S4402)。プログラム起動時間計測部3604は、図45に示すように識別子4501とバージョン番号4502と開始時間4503の組でプログラム起動時間情報4511を1次記憶部511に記憶する(S4403)。識別子4501はS4401で抽出した識別子、バージョン番号4502はS4401で抽出したバージョン番号、開始時間4503はS4402で取得した現在の時間である。
次に、Java(登録商標)プログラムのダウンロード時間と起動時間の計測結果取得と起動履歴情報の更新の動作について説明する。
図46は、プログラム起動情報管理部3601のJava(登録商標)プログラムのダウンロードの計測結果取得と起動履歴情報の更新の動作をまとめたフローチャートである。AM1205bがJava(登録商標)プログラムのダウンロード完了した時点で、プログラム起動情報管理部3601は、AM1205bからXAIT情報を渡される(S4601)。プログラム起動情報管理部3601は、プログラム起動時間計測部3604にXAIT情報を渡してダウンロード時間の計測結果取得を行う(S4602)。プログラム起動情報管理部3601は、プログラム起動履歴情報更新部3603にXAIT情報と取得したダウンロード時間の計測結果を渡してダウンロード時間の更新要求を行う(S4603)。
図47は、プログラム起動情報管理部3601からダウンロード時間の計測結果取得を要求された時のプログラム起動時間計測部3604の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報を渡されダウンロード時間の計測結果取得要求を受けると、プログラム起動時間計測部3604は、XAIT情報から識別子とバージョン番号を抽出する(S4701)。プログラム起動時間計測部3604は、現在の時間を取得する(S4702)。プログラム起動時間計測部3604は、1次記憶部511に記憶されている図45に示すような識別子4501とバージョン番号4502が、S4701で抽出した識別子とバージョン番号と合致するプログラム起動時間情報4511を検索する(S4703)。プログラム起動時間計測部3604は、S4702で取得した現在の時間からS4703で検索したプログラム起動時間情報4511の開始時間4503を引き、ダウンロード時間を算出する(S4704)。プログラム起動時間計測部3604は、S4703で検索したプログラム起動時間情報4511の開始時間4503をS4702で取得した現在の時間にする(S4705)。プログラム起動時間計測部3604は、算出したダウンロード時間をプログラム起動情報管理部3601に返す(S4706)。
図48は、プログラム起動情報管理部3601からXAIT情報とダウンロード時間を渡されJava(登録商標)プログラムの起動履歴情報の更新を要求された時のプログラム起動履歴情報取得部3603の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報とダウンロード時間を渡され起動履歴情報の更新要求を受けると、プログラム起動履歴情報取得部3602は渡されたXAIT情報から識別子とバージョン番号を抽出する(S4801)。プログラム起動履歴情報取得部3602は、2次記憶部510に記憶している図39に示すような起動履歴情報から、S4801で抽出した識別子とバージョン番号と合致する起動履歴情報を検索する(S4802)。S4802の検索の結果、合致する起動履歴情報の検索ができたか判断し(S4803)、検索ができた場合(S4803でYes)、2次記憶部510に記憶している検索した起動履歴情報のダウンロード時間3903を渡されたダウンロード時間に更新する(S4804)。S4802の検索の結果、合致する起動履歴情報の検索ができたか判断し(S4803)、検索ができなかった場合(S4803でNo)、S4801で抽出した識別子とバージョン番号と渡されたダウンロード時間とダミー(例えば0秒)の起動時間で起動履歴情報を構成し、2次記憶部510に記憶している起動履歴情報に追加する。(S4805)。
図49は、プログラム起動情報管理部3601のJava(登録商標)プログラムの起動時間の計測結果取得と起動履歴情報の更新の動作をまとめたフローチャートである。AM1205bがJava(登録商標)プログラムの起動完了した時点で、プログラム起動情報管理部3601は、AM1205bからXAIT情報を渡される(S4901)。プログラム起動情報管理部3601は、プログラム起動時間計測部3604にXAIT情報を渡して起動時間の計測結果取得を行う(S4902)。プログラム起動情報管理部3601は、プログラム起動履歴情報更新部3603にXAIT情報と取得した起動時間の計測結果を渡して起動時間の更新要求を行う(S4903)。
図50は、プログラム起動情報管理部3601から起動時間の計測結果取得を要求された時のプログラム起動時間計測部3604の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報を渡され起動時間の計測結果取得要求を受けると、プログラム起動時間計測部3604は、XAIT情報から識別子とバージョン番号を抽出する(S5001)。プログラム起動時間計測部3604は、現在の時間を取得する(S5002)。プログラム起動時間計測部3604は、1次記憶部511に記憶されている図45に示すような識別子4501とバージョン番号4502が、S5001で抽出した識別子とバージョン番号と合致するプログラム起動時間情報4511を検索する(S5003)。プログラム起動時間計測部3604は、S5002で取得した現在の時間からS5003で検索したプログラム起動時間情報4511の開始時間(ダウンロードを完了した時間)4503を引き、起動時間を算出する(S5004)。プログラム起動時間計測部3604は、算出した起動時間をプログラム起動情報管理部3601に返す(S5005)。
図51は、プログラム起動情報管理部3601からXAIT情報と起動時間を渡されJava(登録商標)プログラムの起動履歴情報の更新を要求された時のプログラム起動履歴情報取得部3603の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報と起動間を渡され起動履歴情報の更新要求を受けると、プログラム起動履歴情報取得部3602は渡されたXAIT情報から識別子とバージョン番号を抽出する(S5101)。プログラム起動履歴情報取得部3602は、2次記憶部510に記憶している図39に示すような起動履歴情報から、S5101で抽出した識別子とバージョン番号と合致する起動履歴情報を検索する(S5102)。S5102の検索の結果、合致する起動履歴情報の検索ができたか判断し(S5103)、検索ができた場合(S5103でYes)、2次記憶部510に記憶している検索した起動履歴情報の起動時間3904を渡された起動時間に更新する(S5104)。
このように、Java(登録商標)プログラムの起動履歴情報を管理することにより、ユーザにJava(登録商標)プログラムの起動待ち時間を通知することが可能となる。
(実施の形態3)
実施の形態2ではXAIT情報に基づいてJava(登録商標)プログラムをダウンロードする場合について説明したが、本実施の形態では、さらにJava(登録商標)プログラムの認証処理を行う場合について説明する。
図52は、本実施の形態の端末装置が保存するプログラム構成の構成図である。なお、実施の形態2と同様の部分については説明を省略する。
本実施の形態では、Java(登録商標)ライブラリ1205は、図52に示すように、図12に示す構成に加えてセキュリティマネージャ1205fを備えている。セキュリティマネージャ1205fは、AM1205bからの指示により、端末装置上で実行されるプログラムに対して、このプログラムが2次記憶部510に保存されているか否かに応じた認証を行う。すなわち、セキュリティマネージャ1205fは、プログラムが2次記憶部510に保存されていない場合には、ファイルシステムのハッシュ値を算出し、ハッシュファイルに存在するハッシュ値と一致するか否かを判断するハッシュ値チェック、および、ルート証明書等の証明書の認証を行うルート証明チェックを行う。一方、セキュリティマネージャ1205fは、プログラムが2次記憶部510に保存されている場合には、ルート証明書等の証明書の認証を行うルート証明チェックだけを行う。なお、MHP規格によれば、図34の列3401示すようなJava(登録商標)プログラムの識別子に応じて、Java(登録商標)プログラムが端末装置500のセキュリティマネージャ1205fによって認証されるべきものであるかが判別できることになっている。識別子の値が、0x0から0x3fffの範囲であれば認証は不要で、0x4000から0x7fffであれば認証されなければならない。
また、本実施の形態のAM1205bは、実施の形態2の図36に示す構成と同様であるが、プログラム起動時間計測部3604の動作が相違する。なお、実施の形態2と同様の部分については説明を省略する。
プログラム起動時間計測部3604は、プログラム起動情報管理部3601の要求に基づき、Java(登録商標)プログラムのダウンロード時間と起動時間の計測を行う。すなわち、プログラム起動時間計測部3604は、起動指示が受け付けられたプログラムが2次記憶部510に保存されていない場合、プログラムの認証に要する時間(認証時間)をダウンロード時間に含めて計測し、起動指示が受け付けられたプログラムが2次記憶部510に保存されている場合、プログラムの認証時間を起動時間に含めて計測する。
図53は、認証時間、ダウンロード時間、起動時間、および起動待ち時間の関係を示す図であり、(a)プログラムのダウンロードが必要な場合、(b)プログラムのダウンロードが必要でない場合を示す図である。
プログラムのダウンロードが必要な場合は、ダウンロードしたプログラムが2次記憶部510へ保存される前にセキュリティマネージャ1205fによって認証が行われるので、図53(a)に示すように、プログラムの起動指示からプログラムが1次記憶部511に保存されるまでの時間、1次記憶部511に保存されたプログラムに対するハッシュ値チェックに要する時間、1次記憶部511に保存されたプログラムに対するルート証明チェックに要する時間、および1次記憶部511に保存されたプログラムを2次記憶部510へ保存するまでの時間の合計がダウンロード時間であり、起動に要する時間が起動時間である。
一方、プログラムのダウンロードが必要でない、すなわちプログラムが2次記憶部510に保存されている場合は、セキュリティマネージャ1205fによってルート証明チェックだけの認証が行われるので、図53(b)に示すように、2次記憶部510に保存されたプログラムに対するルート証明チェックに要する時間、および起動に要する時間の合計が起動時間である。
図54は、起動履歴情報の一例を模式的に表した表である。列5401はJava(登録商標)プログラムの識別子であり、列5402はJava(登録商標)プログラムのバージョン番号であり、列5403はJava(登録商標)プログラムのダウンロードに要した処理時間(ダウンロード時間)であり、列5404はJava(登録商標)プログラムの起動に要した処理時間(起動時間)である。さらに、ダウンロード時間は、列5405のハッシュ値チェックに要する時間、列5406のルート証明チェックに要する時間、列5407のプログラムの起動指示からプログラムが1次記憶部511に保存されるまでの時間および1次記憶部511に保存されたプログラムを2次記憶部510へ保存するまでの時間の合計である保存時間として管理される。なお、ここでは、プログラムの起動指示からプログラムが1次記憶部511に保存されるまでの時間および1次記憶部511に保存されたプログラムを2次記憶部510へ保存するまでの時間の合計を保存時間としているが、それぞれ別に管理しても構わない。
次に、Java(登録商標)プログラムのダウンロード時間と起動時間の計測の動作について説明する。図55は、プログラム起動情報管理部3601から計測要求された時のプログラム起動時間計測部3604の動作をまとめたフローチャートである。
プログラム起動情報管理部3601からXAIT情報を渡され計測要求を受けると、プログラム起動時間計測部3604は、起動AIT情報から識別子とバージョン番号を抽出する(S5501)。プログラム起動時間計測部3604は、現在の時間をダウンロード開始時間として取得する(S5502)。プログラム起動時間計測部3604は、図56(a)に示すように識別子5601とバージョン番号5602とダウンロード開始時間5603の組でプログラム起動時間情報5611を1次記憶部511に記憶する(S5503)。次に、セキュリティマネージャ1205fからハッシュ値チェックの開始の通知を受けると、現在の時間をハッシュ値チェック開始時間として取得する(S5504)。プログラム起動時間計測部3604は、図56(b)に示すように識別子5601とバージョン番号5602とハッシュ値チェック開始時間5604の組でプログラム起動時間情報5612を1次記憶部511に記憶する(S5505)。次に、セキュリティマネージャ1205fからルート証明チェックの開始の通知を受けると、現在の時間をルート証明チェック開始時間として取得する(S5506)。プログラム起動時間計測部3604は、図56(c)に示すように識別子5601とバージョン番号5602とルート証明チェック開始時間5605の組でプログラム起動時間情報5613を1次記憶部511に記憶する(S5507)。次に、セキュリティマネージャ1205fからルート証明チェックの終了の通知を受けると、現在の時間をルート証明チェック終了時間として取得する(S5508)。プログラム起動時間計測部3604は、図56(d)に示すように識別子5601とバージョン番号5602とルート証明チェック終了時間5606の組でプログラム起動時間情報5614を1次記憶部511に記憶する(S5509)。
以上のように、プログラム起動時間計測部3604は、各プログラム起動時間情報を1次記憶部511に記憶する。その後、Java(登録商標)プログラムのダウンロード完了した時点で、AM1205bからXAIT情報を渡されたプログラム起動情報管理部3601は、プログラム起動時間計測部3604にXAIT情報を渡してダウンロード時間の計測結果取得を行う。
プログラム起動時間計測部3604は、図56(a)〜(d)に示す各プログラム起動時間情報を用いて、上記実施の形態2と同様に、ダウンロード時間および起動時間、さらに、ダウンロード時間の内訳としては、ハッシュ値チェックに要する時間、ルート証明チェックに要する時間、保存時間を算出する。
図57は、プログラム起動情報管理部3601からXAITと起動履歴情報を渡され通知要求された時のプログラム起動情報通知部3605の動作をまとめたフローチャートである。プログラム起動情報管理部3601からXAIT情報と起動履歴情報を渡され通知要求を受けると、プログラム起動情報通知部3605は、XAIT情報からプログラム名を抽出し(S5701)、起動履歴情報からダウンロード時間、起動時間、およびルート証明チェックに要する時間を抽出する(S5702)。ここで、ダウンロード時間を図54の行5411のダウンロード時間5403とすると「80」秒となり、起動時間を図54の行5411の起動時間5404とすると「70」秒となり、ルート証明チェックに要する時間を図54の行5411のルート証明チェックに要する時間5406とすると「20」秒となる。次に、プログラム起動情報通知部3605は、プログラム保存管理部3606に、このプログラムが2次記憶部510に保存されているか問い合わせる(S5703)。S5703にて保存されている場合(S5703でYes)は、起動待ち時間を起動時間「70」秒とルート証明チェックに要する時間「20」秒とを足して「90」秒として算出する(S5704)。すなわち、プログラムが2次記憶部510に保存されている場合には、ダウンロードを行う必要はないが、ルート証明チェックは行う必要があるので、図53(b)に示すようにルート証明チェックに要する時間と起動時間とを合わせた時間が、プログラムの起動指示から実際に起動されるまでの起動待ち時間となる。S5703にて保存されていない場合(S5703でNo)は、起動待ち時間をダウンロード時間「80」秒と起動時間「70」秒を足して「150」秒として算出する(S5705)。すなわち、プログラムが2次記憶部510に保存されていない場合には、実施の形態1と同様にダウンロードを行う必要があるので、図53(a)に示すようにダウンロード時間と起動時間とを合わせた時間が、プログラムの起動指示から実際に起動されるまでの起動待ち時間となる。次に、プログラム起動情報通知部3605は、上記実施の形態2と同様に抽出したプログラム名と算出した起動待ち時間をユーザへ通知する(S5706)。
このように、Java(登録商標)プログラムの起動履歴情報を管理することにより、ユーザにJava(登録商標)プログラムの起動待ち時間を通知することが可能となる。
なお、本実施の形態では、セキュリティマネージャ1205fは、プログラムが2次記憶部510に保存されていない場合には、ダウンロードしたプログラムが2次記憶部510へ保存される前に、ハッシュ値チェックおよびルート証明チェックを行っているが、プログラムが2次記憶部510に保存された後でプログラムを起動する直前に、再度ルート証明チェックを行う構成であっても構わない。この場合には、起動時間にルート証明チェックに要する時間が含まれることになるため、プログラムが2次記憶部510に保存されていると、起動時間がプログラムの起動指示から実際に起動されるまでの起動待ち時間となる。
また、実施の形態1〜3を通して、以下の応用が可能である。
本発明は、パーソナルコンピュータや携帯電話などの情報機器であれば、適応可能である。
また、POD504は着脱可能な形態としているが、内蔵していても実施可能である。なお、内蔵した場合、POD504のCPU706を取り外し、CPU514がCPU706の動作も行うことも実施可能である。
また、プログラムはJava(登録商標)プログラムとしているが、Java(登録商標)プログラム以外でも実施可能である。
また、本発明の主要な機能構成しているプログラム起動情報管理部2001とプログラム起動履歴情報取得部2002とプログラム起動履歴情報更新部2003とプログラム起動時間計測部2004とプログラム起動情報通知部2005やプログラム起動情報管理部3601とプログラム起動履歴情報取得部3602とプログラム起動履歴情報更新部3603とプログラム起動時間計測部3604とプログラム起動情報通知部3605とプログラム保存管理部3606はAM1205b内に構成されている形態としているが、他のモジュール内で構成されていても実施可能であり、OCAP仕様に記述されているモニターアプリケーションで構成されていても実施可能である。また、他の組み込みソフトウェアでも実施可能である。
本発明は、例えばデジタルテレビ、パーソナルコンピュータ、および携帯電話等のプログラムをダウンロードして実行するプログラム実行装置に利用可能である。
図1は、本発明に係るケーブルテレビシステムの実施の形態1の構成図である。 図2は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図3は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図4は、本発明に係るケーブルテレビシステムにおいてヘッドエンドと端末装置間の通信に使用される周波数帯域の使い方の一例を示す図である。 図5は、本発明に係るケーブルテレビシステムにおいて端末装置の構成図である。 図6は、本発明に係るケーブルテレビシステムにおいて端末装置の外観の一例を示す図である。 図7は、本発明に係るPODのハードウエア構成の構成図である。 図8は、本発明に係るPODが保存するプログラム構成の構成図である。 図9は、MPEG規格で定義されているパケットの構成図である。 図10は、MPEG2トランスポートストリームの一例を示す図である。 図11は、入力部をフロントパネルで構成した場合の外観の一例を示す図である。 図12は、本発明に係る端末装置が保存するプログラム構成の構成図である。 図13(a)、(b)は、本発明に係るディスプレイの表示の一例を示す図である。 図14は、本発明に係る2次記憶部が保存する情報の一例を示す図である。 図15(a)〜(c)は、本発明に係る1次記憶部が保存する情報の一例を示す図である。 図16は、本発明に係るMPEG2規格が規定するPATの内容を表す模式図である。 図17は、本発明に係るMPEG2規格が規定するPMTの内容を表す模式図である。 図18は、本発明に係るAITの内容を表す模式図である。 図19は、本発明に係るDSMCC方式で送信されるファイルシステムを表す模式図である。 図20は、本発明に係るAIT情報に基づき、Java(登録商標)プログラムのダウンロードおよび起動に関する時間や情報の履歴取り、その履歴情報をユーザに知らせる機能を実行する際のAMの構成要素を示すブロック図である。 図21は、本発明に係るダウンロード時間および起動時間と起動待ち時間との関係を示す図であり、(a)プログラムのダウンロードが必要な場合、(b)プログラムのダウンロードが必要でない場合を示す図である。 図22は、本発明に係るプログラム起動情報管理部のJava(登録商標)プログラムの起動履歴情報の取得要求と起動履歴情報等の通知とダウンロードおよび起動時間の計測の動作をまとめたフローチャートである。 図23は、本発明に係るプログラム起動情報管理部から起動AIT情報を渡されJava(登録商標)プログラムの起動履歴情報の取得を要求された時のプログラム起動履歴情報取得部の動作をまとめたフローチャートである。 図24は、本発明に係る起動履歴情報の一例を模式的に表した表である。 図25は、本発明に係るプログラム起動情報管理部から起動AIT情報と起動履歴情報を渡され通知要求された時のプログラム起動情報通知部の動作をまとめたフローチャートである。 図26は、本発明に係るプログラム名と処理時間を通知する表示画面である。 図27は、本発明に係るプログラム起動情報管理部から起動AIT情報を渡され通知要求された時のプログラム起動情報通知部の動作をまとめたフローチャートである。 図28は、本発明に係るプログラム名と処理時間が不明であることを通知する表示画面である。 図29は、本発明に係るプログラム起動情報管理部から計測要求された時のプログラム起動時間計測部の動作をまとめたフローチャートである。 図30は、本発明に係るプログラム起動時間情報の模式図である。 図31は、本発明に係るプログラム起動情報管理部のJava(登録商標)プログラムのダウンロードおよび起動時間の計測結果取得と起動履歴情報の更新の動作をまとめたフローチャートである。 図32は、本発明に係るプログラム起動情報管理部2001から計測結果取得を要求された時のプログラム起動時間計測部の動作をまとめたフローチャートである。 図33は、本発明に係るプログラム起動情報管理部から起動AIT情報とダウンロードおよび起動時間を渡されJava(登録商標)プログラムの起動履歴情報の更新を要求された時のプログラム起動履歴情報取得部の動作をまとめたフローチャートである。 図34は、本発明に係るXAITの内容を表す模式図である。 図35は、本発明に係る2次記憶部が保存する情報の一例を示す図である。 図36は、本発明に係るXAIT情報に基づき、Java(登録商標)プログラムのダウンロードと起動に関する時間や情報の履歴取り、その履歴情報をユーザに知らせる機能を実行する際のAMの構成要素を示すブロック図である。 図37は、本発明に係るプログラム起動情報管理部のJava(登録商標)プログラムの起動履歴情報の取得要求と起動履歴情報等の通知とダウンロードと起動時間の計測の動作をまとめたフローチャートである。 図38は、本発明に係るプログラム起動情報管理部からXAIT情報を渡されJava(登録商標)プログラムの起動履歴情報の取得を要求された時のプログラム起動履歴情報取得部の動作をまとめたフローチャートである。 図39は、本発明に係る起動履歴情報の一例を模式的に表した表である。 図40は、本発明に係るプログラム起動情報管理部からXAITと起動履歴情報を渡され通知要求された時のプログラム起動情報通知部の動作をまとめたフローチャートである。 図41は、本発明に係るプログラム名と算出した処理時間を通知する表示画面である。 図42は、本発明に係るプログラム起動情報管理部からXAIT情報を渡され通知要求された時のプログラム起動情報通知部の動作をまとめたフローチャートである。 図43は、本発明に係るプログラム名と処理時間が不明であること通知する表示画面である。 図44は、本発明に係るプログラム起動情報管理部から計測要求された時のプログラム起動時間計測部の動作をまとめたフローチャートである。 図45は、本発明に係るプログラム起動時間情報の一例を示す模式図である。 図46は、本発明に係るプログラム起動情報管理部のJava(登録商標)プログラムのダウンロードの計測結果取得と起動履歴情報の更新の動作をまとめたフローチャートである。 図47は、本発明に係るプログラム起動情報管理部からダウンロード計測結果取得を要求された時のプログラム起動時間計測部の動作をまとめたフローチャートである。 図48は、本発明に係るプログラム起動情報管理部からXAIT情報とダウンロード時間を渡されJava(登録商標)プログラムの起動履歴情報の更新を要求された時のプログラム起動履歴情報取得部3503の動作をまとめたフローチャートである。 図49は、本発明に係るプログラム起動情報管理部のJava(登録商標)プログラムの起動の計測結果取得と起動履歴情報の更新の動作をまとめたフローチャートである。 図50は、本発明に係るプログラム起動情報管理部から起動計測結果取得を要求された時のプログラム起動時間計測部の動作をまとめたフローチャートである。 図51は、本発明に係るプログラム起動情報管理部からXAIT情報と起動間を渡されJava(登録商標)プログラムの起動履歴情報の更新を要求された時のプログラム起動履歴情報取得部の動作をまとめたフローチャートである。 図52は、本発明に係る端末装置が保存するプログラム構成の他の構成例を示す構成図である。 図53は、本発明に係る認証時間、ダウンロード時間、起動時間、および起動待ち時間の関係を示す図であり、(a)プログラムのダウンロードが必要な場合、(b)プログラムのダウンロードが必要でない場合を示す図である。 図54は、本発明に係る起動履歴情報の一例を模式的に表した表である。 図55は、本発明に係るプログラム起動情報管理部から計測要求された時のプログラム起動時間計測部の動作をまとめたフローチャートである。 図56(a)〜(d)は、本発明に係るプログラム起動時間情報の一例を示す模式図である。 図57は、本発明に係るプログラム起動情報管理部からXAITと起動履歴情報を渡され通知要求された時のプログラム起動情報通知部の動作をまとめたフローチャートである。
符号の説明
2001、3601 プログラム起動情報管理部
2002、3602 プログラム起動履歴情報取得部
2003、3603 プログラム起動履歴情報更新部
2004、3604 プログラム起動時間計測部
2005、3605 プログラム起動情報通知部
3606 プログラム保存管理部

Claims (12)

  1. プログラムのダウンロードおよび起動を行うプログラム実行装置であって、
    前記プログラムのダウンロード時間を計測するダウンロード時間計測手段と、
    前記プログラムの起動時間を計測する起動時間計測手段と、
    計測された前記ダウンロード時間および前記起動時間をプログラム毎に履歴情報として記憶する履歴情報記憶手段と、
    プログラムの起動指示を受け付ける起動管理手段と、
    起動指示が受け付けられたプログラムの履歴情報を検索する履歴情報検索手段と、
    前記履歴情報検索手段により検索された履歴情報に基づいて、起動指示が受け付けられたプログラムが起動指示から起動されるまでの起動待ち時間を予測し、予測した起動待ち時間をユーザに通知する通知手段と
    を備えることを特徴とするプログラム実行装置。
  2. 前記通知手段は、前記履歴情報検索手段により検索された履歴情報の前記ダウンロード時間および前記起動時間を加算した時間を、前記起動待ち時間として予測する
    ことを特徴とする請求項1記載のプログラム実行装置。
  3. 前記プログラム実行装置は、さらに、
    ダウンロードされたプログラムを保存する保存手段を備え、
    前記通知手段は、起動指示が受け付けられたプログラムが前記保存手段に保存されていない場合、前記履歴情報検索手段により検索された履歴情報の前記ダウンロード時間および前記起動時間を加算した時間を、前記起動待ち時間として予測し、起動指示が受け付けられたプログラムが前記保存手段に保存されている場合、前記履歴情報検索手段により検索された履歴情報の前記起動時間を、前記起動待ち時間として予測する
    ことを特徴とする請求項1記載のプログラム実行装置。
  4. 前記プログラム実行装置は、さらに、
    前記プログラムに対して、当該プログラムが前記保存手段に保存されているか否かに応じた認証を行う認証手段を備え、
    起動指示が受け付けられたプログラムが前記保存手段に保存されていない場合、前記ダウンロード時間計測手段は、前記認証手段における前記プログラムの認証時間を前記ダウンロード時間に含めて計測し、
    起動指示が受け付けられたプログラムが前記保存手段に保存されている場合、前記起動時間計測手段は、前記認証手段における前記プログラムの認証時間を前記起動時間に含めて計測する
    ことを特徴とする請求項3記載のプログラム実行装置。
  5. 前記プログラム実行装置は、さらに、
    前記プログラムに対して前記認証手段における認証を行う必要があるか否かを判断する認証判断手段を備え、
    前記認証手段は、前記認証判断手段によって認証を行う必要があると判断された場合に、前記プログラムに対して認証を行う
    ことを特徴とする請求項4記載のプログラム実行装置。
  6. 前記プログラム実行装置は、さらに、
    前記履歴情報記憶手段に記憶されている前記履歴情報を、新たに計測された前記起動時間、または、前記ダウンロード時間および前記起動時間を用いて更新する履歴情報更新手段を備える
    ことを特徴とする請求項1記載のプログラム実行装置。
  7. 前記通知手段は、前記起動待ち時間に加えて、当該プログラムのプログラム名をユーザに通知する
    ことを特徴とする請求項1記載のプログラム実行装置。
  8. 前記通知手段は、前記起動待ち時間をカウントダウン形式で通知する
    ことを特徴とする請求項1記載のプログラム実行装置。
  9. 前記通知手段は、前記履歴情報検索手段により検索した結果、起動指示が受け付けられたプログラムの履歴情報が取得できなかった場合、前記起動待ち時間を不明として予測する
    ことを特徴とする請求項1記載のプログラム実行装置。
  10. プログラムのダウンロードおよび起動を行うコンピュータが実行するプログラム実行方法であって、
    前記プログラムのダウンロード時間を計測するダウンロード時間計測ステップと、
    前記プログラムの起動時間を計測する起動時間計測ステップと、
    計測された前記ダウンロード時間および前記起動時間をプログラム毎に履歴情報として記憶する履歴情報記憶ステップと、
    プログラムの起動指示を受け付ける起動管理ステップと、
    起動指示が受け付けられたプログラムの履歴情報を検索する履歴情報検索ステップと、
    前記履歴情報検索ステップにおいて検索された履歴情報に基づいて、起動指示が受け付けられたプログラムが起動指示から起動されるまでの起動待ち時間を予測し、予測した起動待ち時間をユーザに通知する通知ステップと
    を含むことを特徴とするプログラム実行方法。
  11. 実行プログラムのダウンロードおよび起動をコンピュータにわせるためのプログラムであって、
    前記実行プログラムのダウンロード時間を計測するダウンロード時間計測ステップと、
    前記実行プログラムの起動時間を計測する起動時間計測ステップと、
    計測された前記ダウンロード時間および前記起動時間を実行プログラム毎に履歴情報として記憶する履歴情報記憶ステップと、
    プログラムの起動指示を受け付ける起動管理ステップと、
    起動指示が受け付けられた実行プログラムの履歴情報を検索する履歴情報検索ステップと、
    前記履歴情報検索ステップにおいて検索された履歴情報に基づいて、起動指示が受け付けられた実行プログラムが起動指示から起動されるまでの起動待ち時間を予測し、予測した起動待ち時間をユーザに通知する通知ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  12. 実行プログラムのダウンロードおよび起動をコンピュータにわせるためのプログラムを格納したコンピュータ読み取り可能な記録媒体であって、
    前記実行プログラムのダウンロード時間を計測するダウンロード時間計測ステップと、
    前記実行プログラムの起動時間を計測する起動時間計測ステップと、
    計測された前記ダウンロード時間および前記起動時間を実行プログラム毎に履歴情報として記憶する履歴情報記憶ステップと、
    プログラムの起動指示を受け付ける起動管理ステップと、
    起動指示が受け付けられた実行プログラムの履歴情報を検索する履歴情報検索ステップと、
    前記履歴情報検索ステップにおいて検索された履歴情報に基づいて、起動指示が受け付けられた実行プログラムが起動指示から起動されるまでの起動待ち時間を予測し、予測した起動待ち時間をユーザに通知する通知ステップと
    をコンピュータに実行させるプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2006520577A 2005-01-17 2006-01-06 プログラム実行装置 Expired - Fee Related JP4317565B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005009676 2005-01-17
JP2005009676 2005-01-17
PCT/JP2006/300075 WO2006075557A1 (ja) 2005-01-17 2006-01-06 プログラム実行装置

Publications (2)

Publication Number Publication Date
JPWO2006075557A1 JPWO2006075557A1 (ja) 2008-06-12
JP4317565B2 true JP4317565B2 (ja) 2009-08-19

Family

ID=36677582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006520577A Expired - Fee Related JP4317565B2 (ja) 2005-01-17 2006-01-06 プログラム実行装置

Country Status (4)

Country Link
US (1) US20080276300A1 (ja)
JP (1) JP4317565B2 (ja)
CN (1) CN100454268C (ja)
WO (1) WO2006075557A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2087753A4 (en) * 2006-11-13 2012-03-07 M Biz Global Company Ltd METHOD FOR ALLOWING FULL-VERSION CONTENT EMBEDDED IN A MOBILE DEVICE AND SYSTEM THEREFOR
KR101448994B1 (ko) 2007-06-12 2014-10-08 엘지전자 주식회사 펌웨어 다운로드 이력 관리 기능을 갖는 영상표시기기 및그 제어방법
JP4946892B2 (ja) * 2008-01-28 2012-06-06 三菱電機株式会社 通信システム
CN102111422A (zh) * 2009-12-25 2011-06-29 中兴通讯股份有限公司 下载时间的估计方法及设备端
JP2011258141A (ja) * 2010-06-11 2011-12-22 Sony Computer Entertainment Inc 情報処理装置
JP5498986B2 (ja) * 2011-04-28 2014-05-21 京セラドキュメントソリューションズ株式会社 画像形成装置
EP2800366B1 (en) * 2011-12-27 2019-03-27 Saturn Licensing LLC Information processing device, information processing method, program, application information table supply device and application information table supply method
JP2015127898A (ja) 2013-12-27 2015-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
JP2015127899A (ja) * 2013-12-27 2015-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理システム
JP2015127900A (ja) 2013-12-27 2015-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、サーバシステムおよび情報処理システム
US20200326925A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Memory device firmware update and activation with memory access quiescence
CN112511499B (zh) * 2020-11-12 2023-03-24 视若飞信息科技(上海)有限公司 在hbbtv终端中对ait的处理方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573496A (ja) * 1991-09-12 1993-03-26 Hitachi Ltd コマンド実行制御方式
JPH0744477A (ja) * 1993-07-30 1995-02-14 Canon Inc マルチメディア機器の制御システム
US5951639A (en) * 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
JPH09305556A (ja) * 1996-05-17 1997-11-28 Nec Corp プログラム実行時における処理時間の予測方法および装置
JP3439326B2 (ja) * 1997-07-14 2003-08-25 松下電器産業株式会社 放送受信装置
US6337715B1 (en) * 1997-07-04 2002-01-08 Matsushita Electric Industrial Co., Ltd. Broadcasting reception apparatus and data broadcasting method
JP4045393B2 (ja) * 1999-06-01 2008-02-13 ソニー株式会社 情報信号複製管理方法および情報信号記録装置
JP2001053697A (ja) * 1999-08-05 2001-02-23 Matsushita Electric Ind Co Ltd 送信装置及び受信装置
JPWO2004034698A1 (ja) * 2002-10-09 2006-02-09 松下電器産業株式会社 情報処理装置
US20060253850A1 (en) * 2003-04-30 2006-11-09 Giorgio Bruno Method, system and computer program program product for evaluating download performance of web pages
PL360344A1 (en) * 2003-05-26 2004-11-29 Advanced Digital Broadcast Ltd. A system of decoding equipment management and method for managing decoding equipment
KR101020913B1 (ko) * 2003-07-28 2011-03-09 소니 주식회사 데이터 송신 장치, 데이터 사용 인정 방법, 데이터 수신 장치 및 방법, 및 기록 매체

Also Published As

Publication number Publication date
WO2006075557A1 (ja) 2006-07-20
JPWO2006075557A1 (ja) 2008-06-12
CN1942868A (zh) 2007-04-04
CN100454268C (zh) 2009-01-21
US20080276300A1 (en) 2008-11-06

Similar Documents

Publication Publication Date Title
JP4317565B2 (ja) プログラム実行装置
KR101878510B1 (ko) 수신 장치, 수신 방법, 프로그램 및 방송 시스템
KR101070545B1 (ko) 애플리케이션 프로그램을 인증 및 실행하는 방법
KR101193347B1 (ko) 다운로드 실행 장치
US9264757B2 (en) Service executing apparatus
US20050138401A1 (en) Program data file storage method and authenticated program execution method
JP4243571B2 (ja) 放送受信装置
KR20070043783A (ko) 애플리케이션 프로그램 인증 및 실행 방법
CN100385910C (zh) 在多信道中传输应用数据的方法和数字电视系统中的解码器
US20070174356A1 (en) Program execution device, program execution method, and program
KR20140007907A (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법, 프로그램 및 방송 시스템
JPWO2005099250A1 (ja) プログラム実行装置
JP2001518256A5 (ja)
US20160105717A1 (en) Receiving device, receiving method, transmitting device, transmitting method, and program
KR20060070533A (ko) 디지털 방송 시스템용 복제-방지된 애플리케이션
JP2003264748A (ja) デジタル放送受信機
JP2005073239A (ja) サービス実行装置
JP4543881B2 (ja) コンテンツ再生方法、再生プログラム、および再生装置
JP4149414B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP2009094702A (ja) 操作履歴を記憶する情報処理装置
JP2013149171A (ja) プログラム実行方法およびその装置
JP4554659B2 (ja) プログラム置き換え方法およびプログラム置き換え装置
JP4149502B2 (ja) プログラム置き換え方法およびプログラム置き換え装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090522

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees