JP2002304301A - ダウンロード装置及びダウンロード方法 - Google Patents

ダウンロード装置及びダウンロード方法

Info

Publication number
JP2002304301A
JP2002304301A JP2002010802A JP2002010802A JP2002304301A JP 2002304301 A JP2002304301 A JP 2002304301A JP 2002010802 A JP2002010802 A JP 2002010802A JP 2002010802 A JP2002010802 A JP 2002010802A JP 2002304301 A JP2002304301 A JP 2002304301A
Authority
JP
Japan
Prior art keywords
download
loader
objects
class
preloader
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.)
Pending
Application number
JP2002010802A
Other languages
English (en)
Inventor
Lars Skaringer
ラーズ スカリンガー
Sebastien Fouss
セバスティアン フース
Olivier Thiery
オリビエ ティアリー
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.)
Sony Europe BV United Kingdom Branch
Original Assignee
Sony Service Center Europe NV
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 Sony Service Center Europe NV filed Critical Sony Service Center Europe NV
Publication of JP2002304301A publication Critical patent/JP2002304301A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 分散アプリケーション環境からアプリケーシ
ョンデータをダウンロードするオブジェクトローダのダ
ウンロードに要する時間を短縮する。 【解決手段】 オブジェクトローダと同時に動作可能で
あり、ターゲットオブジェクトを分析し、ターゲットオ
ブジェクトが依存する他の全てのオブジェクトを判定
し、他のオブジェクトをダウンロードし、オブジェクト
ローダが他のオブジェクトのダウンロードを要求したと
きに、オブジェクトローダが他のオブジェクトを読み出
せるように、他のオブジェクトを保存するプレローダと
を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、分散アプリケーシ
ョン環境からアプリケーションデータをダウンロードす
るダウンロード装置及びダウンロード方法に関し、例え
ばDSM−CCオブジェクトカルーセルからトランスポ
ートストリームにより伝送されてくるJavaクラスを
ダウンロードするダウンロード装置及びダウンロード方
法に関する。
【0002】
【従来の技術】アプリケーションデータが分散された状
態で提供され、受信側の装置がアプリケーションを単一
のユニットとしてではなく、例えば個別のセクション又
はパケットとしてダウンロードする分散アプリケーショ
ン環境が知られている。
【0003】DSM−CC(digital storage media co
mmand and control)オブジェクトカルーセル(DSM-CC
Object Carousels)等の待ち時間の長いファイルシステ
ム(high-latency file systems)からアプリケーショ
ンデータをロードする手法が知られている。特に、Ja
vaクラス(Java classes)等の様々なファイルは、D
SM−CCオブジェクトカルーセルの一部となるBIO
Pとして再フォーマットされ、DSM−CCデータカル
ーセル用のモジュールに組み込まれ、デジタルビデオ放
送(digital video broadcasting:以下、DVBとい
う。)又はMPEGセクションとして送信される。
【0004】エンドユーザはトランスポートストリーム
から適切なセクションをダウンロードし、所望のオブジ
ェクト又はファイルを再構築する。
【0005】通常、ファイルは相互に関連付けられてい
る。インタラクティブテレビジョンサービスは、ダウン
ロードした特定のオブジェクトに基づいて、1つのペー
ジを表示することができる。しかしながら、そのページ
内のセクションによっては、テレビジョン装置は、他の
オブジェクトのデータに基づく他のページを表示するこ
とを望むこともある。
【0006】
【発明が解決しようとする課題】分散アプリケーション
環境においては、特定のオブジェクトを構成するデータ
は、例えばカルーセルにより提供されているため、即時
に入手することができず、このため、次のオブジェクト
をダウンロードして処理するまで、例えば上述の例で
は、次のページを表示するまでには、幾らかの時間が必
要となる。
【0007】このような問題は、上述の例のようにオブ
ジェクトがダウンロードされる同様のあらゆるシステム
において存在する。
【0008】本発明は上述の課題に鑑みてなされたもの
であり、本発明の目的は、分散アプリケーション環境か
らアプリケーションデータをダウンロードするオブジェ
クトローダのダウンロードに要する時間を短縮できるダ
ウンロード装置及びダウンロード方法を提供することで
ある。
【0009】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明に係るダウンロード方法は、ターゲットオ
ブジェクトのダウンロードを要求するステップと、ター
ゲットオブジェクトをダウンロードするステップと、タ
ーゲットオブジェクトを処理するステップと、ターゲッ
トオブジェクトが依存する他のオブジェクトのダウンロ
ードを要求するステップとを有するダウンロード方法に
おいて、ターゲットオブジェクトの処理と同時に、ター
ゲットオブジェクトのオブジェクト分析を行い、ターゲ
ットオブジェクトが依存する他の全てのオブジェクトを
判定し、他のオブジェクトをダウンロードするステップ
と、他のオブジェクトのダウンロードを要求するステッ
プに応じて、他のオブジェクトを読み出せるように他の
オブジェクトを記憶するステップとを有する。
【0010】また、上述の目的を達成するために、本発
明に係るダウンロード方法は、オブジェクトをダウンロ
ードするオブジェクトローダと、ターゲットオブジェク
トを処理するために、オブジェクトローダにターゲット
オブジェクトをダウンロードするよう要求するととも
に、必要に応じて、オブジェクトローダに、ターゲット
オブジェクトが依存する他のオブジェクトをダウンロー
ドするよう要求するコントローラとを備えるダウンロー
ド装置により分散アプリケーション環境からアプリケー
ションデータをダウンロードするダウンロード方法にお
いて、ターゲットオブジェクトをオブジェクト分析し、
ターゲットオブジェクトが依存する他の全てのオブジェ
クトを判定するステップと、他のオブジェクトをダウン
ロードするステップと、他のオブジェクトのダウンロー
ドの要求に応じて、オブジェクトローダが他のオブジェ
クトを読み出せるように他のオブジェクトを記憶するス
テップとを有する。
【0011】また、上述の課題を解決するために、本発
明に係るダウンロード装置は、分散アプリケーション環
境からアプリケーションデータをダウンロードするダウ
ンロード装置において、オブジェクトをダウンロードす
るオブジェクトローダと、ターゲットオブジェクトを処
理するために、オブジェクトローダにターゲットオブジ
ェクトをダウンロードするよう要求するとともに、必要
に応じて、オブジェクトローダに、ターゲットオブジェ
クトが依存する他のオブジェクトをダウンロードするよ
う要求するコントローラと、オブジェクトローダと同時
に動作可能であり、ターゲットオブジェクトを分析し、
ターゲットオブジェクトが依存する他の全てのオブジェ
クトを判定し、他のオブジェクトをダウンロードし、オ
ブジェクトローダが他のオブジェクトのダウンロードを
要求したときに、オブジェクトローダが他のオブジェク
トを読み出せるように、他のオブジェクトを保存するプ
レローダとを備える。
【0012】このように、まず、ターゲットオブジェク
トがダウンロードされると、プレローダは、ターゲット
オブジェクトが依存する他の全てのオブジェクトを判定
する。これにより、ターゲットオブジェクトが処理され
ている間、プレローダは、ターゲットオブジェクトによ
り要求されるであろう他のオブジェクトを先にダウンロ
ードすることができる。ターゲットオブジェクトが他の
オブジェクトの1つの参照を要求するまでには、この他
のオブジェクトは既にプレローダによりダウンロードさ
れているか、既にダウンロード処理が開始されている。
したがって、処理の遅延が解消又は短縮される。
【0013】好ましくは、複数のセクションフィルタを
設け、各セクションフィルタにより、受信トランスポー
トストリームから、要求された各オブジェクトに関連す
るセクションをフィルタリングしてもよい。
【0014】セクションフィルタは、オブジェクトロー
ダ及びプレローダの制御の下、異なるオブジェクトを同
時にダウンロードする。セクションフィルタは、MPE
Gセクションフィルタであってもよい。
【0015】DVB−MHP環境においては、テレビジ
ョン受信機は、通常、受信機のマルチプレクサハードウ
ェア内に複数のMPEG−2セクションフィルタを備え
ている。これらのMPEG−2セクションフィルタをD
SM−CCに準拠させることにより、オブジェクトをパ
ラレルにダウンロードすることができる。
【0016】プレローダは、異なるセクションフィルタ
のそれぞれを介して、異なるオブジェクトを同時にダウ
ンロードしてもよい。
【0017】また、本発明に係るダウンロード装置は、
プレローダがダウンロードしたオブジェクトを格納する
受信メモリを備えていてもよい。
【0018】受信メモリは、専用のメモリであってもよ
く、例えば、プレローダの一部として形成してもよい。
なお、プレローダは、ソフトウェアで実現してもよい。
この場合、受信メモリは、ダウンロード装置の様々な要
素が共有するメインメモリ内のアドレスで指定される領
域であってもよい。
【0019】プレローダによりダウンロードされたオブ
ジェクトは、受信メモリに格納され、オブジェクトロー
ダがこれらのオブジェクトのダウンロードを要求したと
きに、直ちに使用することができる。
【0020】好ましくは、起動された各アプリケーショ
ンに対するファイルを維持管理してもよい。このファイ
ルは、ターゲットオブジェクトに対応する。このファイ
ルは、ターゲットオブジェクトが依存し、ダウンロード
に長い時間がかかる全てのオブジェクトのリストを含
む。
【0021】これにより、アプリケーション又はターゲ
ットオブジェクトが要求されると、プレローダは、この
ファイルにリストされているオブジェクトを先にダウン
ロードすることができる。オブジェクト分析は、より速
やかにダウンロードできるオブジェクトを判定するため
のみに行ってもよい。
【0022】オブジェクトが互いにモジュールの一部と
して提供されている場合、受信メモリには、モジュール
全体を格納してもよい。
【0023】これにより、アプリケーションの呼出の
間、オブジェクトが以前にダウンロードされ、保存され
ているモジュールから入手可能な場合、ダウンロード時
間を大幅に短縮することができる。したがって、ファイ
ル内のリストは、改めてダウンロードすべきオブジェク
トを示すものであるとよい。
【0024】オブジェクトはJavaクラスであっても
よい。これは、本発明をDVB−MHP環境に適用した
場合に特に有効である。この場合、ダウンロード装置
は、MHP規格に準拠するものであってもよく、例えば
統合型テレビジョン装置又はセットトップボックス等の
テレビジョン装置であってもよい。
【0025】オブジェクトがJavaクラスである場
合、オブジェクトローダは、逐次実行型Javaクラス
ローダ(sequential Java class loader)であってもよ
い。
【0026】これにより、オブジェクトローダは、コン
トローラにより要求されたJavaクラスを逐次ダウン
ロードする。
【0027】プレローダは、ロードしたクラスファイル
に対するクラス分析を行い、このクラスが依存する他の
クラスを判定してもよい。
【0028】プレローダは、ターゲットオブジェクトが
依存する他のオブジェクトをさらに分析してもよい。こ
れにより、プレローダは、既にダウンロードしたオブジ
ェクトが依存する更なるオブジェクトを判定し、これら
の更なるオブジェクトをダウンロードし、これらの更な
るオブジェクトが、後に遅延なく読み出されるように、
これらの更なるオブジェクトを保存してもよい。
【0029】オブジェクトローダ及びコントローラは、
ダウンロード装置の他の機能とともに、ソフトウェアで
実現してもよい。
【0030】この場合、プレローダは、追加的なソフト
ウェアで実現してもよく、このソフトウェアを適切な装
置にロードして本発明に基づく機能を実現してもよい。
特に、オブジェクトローダは、プレローダの動作に関す
る特定の知識を有することなく、その動作を逐次続ける
ことができる。すなわち、オブジェクトローダは、オブ
ジェクトを逐次ダウンロードすることができ、さらに、
本発明によれば、プレローダは、オブジェクトを事前に
ダウンロードし、或いはダウンロードを開始し、これに
より、オブジェクトローダは、オブジェクトをそれぞれ
個別にダウンロードするよりも速やかにオブジェクトを
入手することができる。
【0031】
【発明の実施の形態】以下、本発明に係るダウンロード
装置及びダウンロード方法について図面を参照して詳細
に説明する。
【0032】以下では、DVB−MHP環境においてJ
avaクラスをダウンロードする具体例に基づいて本発
明を説明する。しかしながら、本発明は、特にファイル
アクセスに時間がかかる如何なる分散アプリケーション
環境に適用してもよく、またダウンロードするオブジェ
クトも如何なる形式のものであってもよい。
【0033】図1は、本発明を適用したダウンロード装
置の構成を示す図である。このダウンロード装置におい
ては、オブジェクトローダ2がトランスポートストリー
ム4からオブジェクトをダウンロードする。この処理
は、コントローラ6の制御の下に実行される。なお、実
際には、オブジェクトローダ2とコントローラ6を個別
に設けず、これらの機能を一体化した回路を設けてもよ
い。さらに、後述するように、オブジェクトローダ2
は、低レベルローダ12を介してオブジェクトをダウン
ロードしてもよい。
【0034】オブジェクトは、オブジェクト自身の性質
に応じてダウンロード及び処理される。すなわち、この
具体例においては、オブジェクトは、特定のインタラク
ティブテレビジョンのページを表示するために必要なデ
ータを含んでいてもよい。通常、如何なるオブジェクト
もある種の機能又は動作を実行するためのものである。
この動作は、例えばメッセージを表示するといった高レ
ベルの動作(high-level activity)であってもよく、
或いは名称の内部データベースを維持管理するといった
低レベルの動作(low-level activity)であってもよ
い。
【0035】トランスポートストリーム4は、ロードさ
れる様々なJavaクラスを伝送する。ここで、クラス
がロードされると、このクラスが依存するクラスもロー
ドしなくてはならない。DSM−CCカルーセルを介し
てアプリケーションが配信されるDVB−MHP環境
等、ファイルアクセス時間が長い分散アプリケーション
環境においては、このロード処理は、完了するまでにか
なりの時間がかかる。
【0036】この環境に対応するため、図1に示すオブ
ジェクトローダ2は、Javaクラスをロードするため
の仮想マシンクラスローダ(virtual machine class lo
ader)を備えている。図1に示すように、ダウンロード
装置は、プレローダ8を備え、このプレローダ8も低レ
ベルローダ12を介して動作する。プレローダ8は、V
Mクラスローダから独立しており、独立のソフトウェア
コンポーネントとして実現してもよい。このプレローダ
8は、まず、オブジェクトローダ2により要求されるク
ラスファイルをロードし、このクラスファイルに対する
クラス分析(class parsing)を実行し、このクラスが
他のどのクラスを必要とするかを判定する。クラスファ
イルは、特定の種類のオブジェクトをインスタント化
(instantiate)するために必要な情報を含んでいる。
さらに、クラスファイルは、このクラスをインスタント
化するために、他のどのクラスをダウンロード装置にロ
ードする必要があるかを示す情報も含んでいる。
【0037】これにより、プレローダ8は、現時点でダ
ウンロード装置にダウンロードする必要があるクラスの
リストを維持することができる。
【0038】次に、プレローダ8は、これらの全てのク
ラスの非同期ロード処理(asynchronous loading)を実
行してもよい。クラスは、受信メモリ(receiver memor
y)又はオブジェクトキャッシュ(object cache)に記
憶することができ、この受信メモリ又はオブジェクトキ
ャッシュは、プレローダ8内に設けてもよく、ダウンロ
ード装置の一部である単独の要素として設けてもよい。
これにより、Javaクラスをロードするオブジェクト
ローダ2によりファイルが要求された場合、そのファイ
ルは既に受信メモリ又はオブジェクトキャッシュに記憶
されているか、又はトランスポートストリーム4からダ
ウンロードされている最中である可能性が高くなる。こ
のため、クラスのロード処理を速やかに実行することが
できる。
【0039】プレローダ8により維持されるリストの項
目を並べ替えることもできる。特に、オブジェクト又は
クラスが事前にダウンロードされている場合、プレロー
ダ8は、そのダウンロード処理にどれだけの時間がかか
ったを示すデータを記録してもよい。これにより、プレ
ローダ8は、現在未処理の要求されたクラスのリストを
ダウンロードの時間が長い順に並べ替えることもでき
る。
【0040】MHP及びデジタルテレビジョン受信機の
場合、多くの受信機は複数のオブジェクトをパラレルに
ダウンロードすることができる。実際、図1に示すダウ
ンロード装置は、複数のセクションフィルタ10を備え
ている。この構成では、パラレルにダウンロードできる
オブジェクトの数は、セクションフィルタ10の数のみ
により制限される。MHP環境における具体例では、セ
クションフィルタ10は、受信機のデマルチプレクサハ
ードウェアにおけるMPEG−2セクションフィルタと
して実現することができる。物理的な制約は、セクショ
ンフィルタ10の数のみであり、これは、DSM−CC
に準拠させることができる。
【0041】プレローダ8は、オブジェクトローダ2に
より要求されるDSM−CCファイル等のオブジェクト
のパラレル非同期ロード(parallel asynchronous load
ing)を用いて、逐次実行型オブジェクトローダ2の動
作速度を高めることができる。特に、プレローダ8は、
クラス分析により識別されたクラスの非同期ロード処理
を実行し、これによりこれらのクラスは、各セクション
フィルタ10を介してパラレルにダウンロードされる。
【0042】これにより、複数のセクションフィルタ1
0を効果的に利用するメカニズムが提供される。このよ
うなメカニズムは、オブジェクトローダ2が逐次実行型
クラスローダ(sequential class loader)として実現
され、近い将来にロードする必要が生じると予測される
クラスを予め読み込む(pre-fetch)といったインテリ
ジェンス機能を有さない場合に有効である。本発明によ
れば、オブジェクトローダ2を変更することなく、プレ
ローダ8を設けることにより、オブジェクトローダ2の
処理速度を高めることができる。
【0043】通常の動作においては、クラスローダであ
るオブジェクトローダ2は低レベルローダ12を介し
て、必要なオブジェクト又はクラスをセクションフィル
タ10にダウンロードすることを要求する。低レベルロ
ーダ12は、オブジェクトローダ2からの要求に応じ
て、セクションフィルタ10を管理及び制御する。要求
されたクラス又はオブジェクトがダウンロードされる
と、低レベルローダ12に接続されているプレローダ8
がこのオブジェクト又はクラスを分析する。例えば、プ
レローダ8は、クラスファイルを分析し、このクラスと
依存関係にある全てのクラスを判定する。
【0044】プレローダ8は、自らが判定した依存クラ
スに基づき、複数のクラスを要求し、低レベルローダ1
2は、複数のセクションフィルタ10を制御して、要求
されたクラス又はオブジェクトをトランスポートストリ
ーム4からフィルタリングさせ、データバス14を介し
てこれらのクラス又はオブジェクトを受け取る。
【0045】オブジェクト又はクラスが他のオブジェク
ト又はクラスの参照を要求すると判定された場合、オブ
ジェクトローダ2は、要求されたオブジェクト又はクラ
スをダウンロードするために、低レベルローダ12に要
求を送る。ここで、要求されたオブジェクトがプレロー
ダ8により既にダウンロードされている場合、低レベル
ローダ12は、プレローダ8により、このオブジェクト
データを受信メモリ又はオブジェクトキャッシュからオ
ブジェクトローダ2に供給させる。これにより、オブジ
ェクトローダ2は、プレローダ8の存在を意識すること
なく、オブジェクトをより早く受け取ることができる。
要求されたオブジェクトが完全にはダウンロードされて
いない場合、オブジェクトローダ2は、プレローダ8か
らデータの一部を受け取り、残りのデータは、セクショ
ンフィルタ10がダウンロードした後、セクションフィ
ルタ10から受け取る。
【0046】好ましくは、要求されたクラス又はオブジ
ェクトがダウンロードされると、これらのクラス又はオ
ブジェクトが分析され、これらのオブジェクト又はクラ
スが必要とするオブジェクト又はクラスがさらに要求さ
れる。このように、オブジェクトローダ2によるロード
処理と平行して、非同期クラスロード処理が繰り返し実
行されることもある。
【0047】図2は、メインアプリケーションクラス又
はターゲットクラスAがクラスB及びクラスCに依存す
るシナリオを図式的に示したものである。クラスCは、
さらにクラスD及びクラスEを必要とする。
【0048】ここで、例えばDSM−CC等のある種の
分散環境において、オブジェクトはモジュールとしてグ
ループ化されていることがある。図2に示す具体例で
は、クラスAは1つのモジュールであり、クラスB及び
クラスCは第2のモジュールとしてグループ化されてお
り、クラスD及びクラスEは第3のモジュールとしてグ
ループ化されている。
【0049】モジュール内のオブジェクトのデータをダ
ウンロードするためには、通常、モジュール全体のデー
タをダウンロードする必要がある。そこで、本発明の好
ましい具体例においては、オブジェクトローダ2又はプ
レローダ8のいずれかがオブジェクトをダウンロードす
ると、常にそのオブジェクトが含まれるモジュール全体
を保存する。サービスプロバイダは、通常、関連するオ
ブジェクトを同一のモジュールに含ませている。したが
って、モジュール全体を保存することにより、関連する
オブジェクトが既にダウンロードされている確率が高く
なり、これによりアクセス時間を短縮することができ
る。
【0050】様々なオブジェクト又はクラスをダウンロ
ードするために実行される処理ステップを図3に示す。
【0051】「Java DSM−CC」層は、ローカ
ルファイルシステムへのアクセスと非常に近い手法でD
SM−CCオブジェクトへのアクセスを提供する高レベ
ルのAPIである。「ネイティブDSM−CCスタック
(Native DSM-CC stack)」は、実際のダウンロードを
実行する低レベルのソフトウェアコンポーネントであ
る。この層は、DSM−CCオブジェクトカルーセルの
性質に特有の機能、すなわち複数のオブジェクトのパラ
レル非同期ロード処理を実行する。
【0052】オブジェクトローダ2は、例えばコントロ
ーラ6の制御の下、ファイルAをロードする必要がある
と判定する。この判定に応じて、プレローダのスレッド
が生成される。このプレローダのスレッドは、プレロー
ダ8の図式的表現に対応している。オブジェクトローダ
2は、ロードすべき最初のファイルはファイルAである
ことを指示し、これにより、ファイルAは、プレローダ
8及びオブジェクトローダ2の両方から要求される。
【0053】ファイルAロードされると、プレローダ8
は、ファイルAを分析し、セクションフィルタ10に対
し、ファイルB及びファイルCを直ちにロードするよう
要求する。
【0054】ファイルAがロードされると、ファイルA
に対する通常の処理が実行される。この処理は、例えば
コントローラ6によって行われる。この処理の結果、フ
ァイルBへの参照を確立する必要が生じる。これによ
り、オブジェクトローダ2は、ファイルBをロードする
ための要求を発する。
【0055】ファイルBがロードされると、プレローダ
8はこのファイルBを分析する。ここでは、新たな依存
は検出されない。
【0056】ファイルBは、以前に発せられた要求に応
じて、オブジェクトローダ2に渡される。ファイルA及
びファイルBを継続的に使用する間、ファイルBに関し
ては新たな依存は検出されない。次に、ファイルCへの
参照が必要であると判定される。これにより、オブジェ
クトローダ2は、ファイルCを要求する。
【0057】ファイルCがロードされると、プレローダ
8は、ファイルCを分析する。ここで、プレローダ8
は、ファイルCがファイルD及びファイルEに依存して
いると判定し、セクションフィルタ10に対し、これら
のファイルD、Eをダウンロードするよう要求する。
【0058】次に、ファイルCは、オブジェクトローダ
2に返される。これに続く処理において、ファイルDが
必要であると判定され、これにより、オブジェクトロー
ダ2は、ファイルDを要求する。
【0059】ファイルDがロードされると、プレローダ
8は、新たな依存はないと判定し、ファイルDがオブジ
ェクトローダ2に返される。さらに、処理の途中で、フ
ァイルCがファイルEに追加的に依存していると判定さ
れ、これにより、ファイルEが要求される。
【0060】ファイルEがロードされると、プレローダ
8は、新たな依存はないと判定し、スレッドを終了させ
る。
【0061】次に、オブジェクトローダ2にファイルE
が返され、ロード処理が完了する。
【0062】アプリケーションデータの非同期プレロー
ディングは、初期アプリケーションクラスのダウンロー
ド時間を短縮するために、アプリケーションのブート時
に実行してもよい。或いは、非同期プレローディングを
他の時点で行ってもよい。例えば、オブジェクトローダ
2が未だロードしていないクラスをロードしようとして
いる場合、これは、アプリケーションの機能的状態が変
化していることを意味しているので、このような状況が
発生するたびに、プレローダ8を使用してもよい。例え
ば、アプリケーションが「天気予報」モードに入り、こ
のモードにネイティブなクラスをロードする必要が生じ
たとする。この場合、このアプリケーションが実行され
ている期間、プレローダ8を使用し、これにより受信機
の性能及びアプリケーションの応答性を向上させること
ができる。実際、放送局は、アプリケーションのブート
時に初期クラスが高速にロードされるよう自らのアプリ
ケーションを最適化することができるため、プレローダ
8及びプレローダ8が実行する処理は、アプリケーショ
ンのブート時より、後の遷移処理時(transitionalstag
es)において有用となる。
【0063】図4は、上述の処理手順を示すフローチャ
ートである。
【0064】ステップS1において、初期クラスファイ
ルが要求される。この要求は、例えばコントローラ6に
より発せられる。
【0065】ステップS2においては、未処理の要求さ
れたファイルのリストに対し、要求されたファイルの名
称が付される。上述のように、このリストは、以前に記
録したダウンロード時刻に基づいて並べ替えることがで
きる。要求数(request count)を記録してもよい。こ
の数は、未処理の要求されたファイルの数を表してい
る。すなわち、この処理段階において、要求数がインク
リメントされる。要求数は、ネイティブDSM−CCス
タックに対して既に発せられているが、処理が完了して
いない要求の数を示している。
【0066】ステップS3において、ダウンロード装置
は、要求したファイルの1つがダウンロードされるのを
待機する。なお、ファイルは、要求された順序とは異な
る順序でダウンロードされることもある。これは、ファ
イルが入手可能となる時刻が異なり、及びファイルのダ
ウンロードに要する時間が異なるためである。
【0067】所定の期間が経過しても要求されたファイ
ルがダウンロードされなかった場合、時間切れと判定さ
れ、処理はステップS9に進む。このステップS9にお
いては、要求数が0であるか否かが判定される。要求数
が0である場合、これ以上オブジェクトメッセージがダ
ウンロードされることはないと判定され、スレッドを終
了できる状態となる。
【0068】すなわち、要求数が0の場合、処理は完了
し、ステップS10において、プレローダのスレッドが
終了される。一方、要求数が0ではない場合、処理はス
テップS3に戻る。
【0069】オブジェクトメッセージがダウンロードさ
れると、ステップS4において、ダウンロードされたク
ラスは他のクラスに依存しているか否かが判定される。
そして、ここで判定された依存関係及びそのクラスの名
称(以下、クラス名という。)のリスト(以下、依存リ
ストという。)が作成される。次に、この依存リスト内
にクラス名が存在するか否かが判定され、又は、処理が
繰り返されるたび、この依存リスト内に更なるクラス名
が存在するか否かが判定される。
【0070】この具体例においては、2つのリストが存
在する。1つのリストは、プレローダ8により維持管理
される。このリストは、未処理のロード要求を含んでい
る。他方のリスト、すなわち依存リストは、クラスファ
イル自身に含まれるリストであり、そのクラスファイル
が依存する全てのファイルを示すリストである。
【0071】クラス名が存在しない場合、或いは更なる
クラス名が存在しない場合、処理はステップS5に進
み、要求ファイルの1つがダウンロードされたことを示
すために要求数がデクリメントされる。換言すれば、オ
ブジェクトメッセージがダウンロードされ、他の依存関
係が確認されたので、未処理のクラスを示す要求数が1
ファイル分デクリメントされる。
【0072】そして、オブジェクトカルーセルからダウ
ンロードされたファイルが閉じられる。ファイルを閉じ
ることにより、ファイルはメモリから消去される。
【0073】新たにダウンロードされたオブジェクトメ
ッセージの依存リストが1以上のクラス名を含む場合、
ステップS5において、新たに導入されたクラス名、す
なわちロードされたクラスが依存するクラスが選択され
る。
【0074】ステップS6において、このクラス名がプ
レローダ8により維持管理されているリスト内に既に含
まれているか否かが判定される。
【0075】このクラス名が既にリストに含まれている
場合、処理はステップS4に戻る。一方、このクラス名
がリストに未だ含まれていない場合、このファイルが要
求され、クラス名がリストに追加され、ステップS7に
おいて要求数がインクリメントされる。
【0076】ここで、ダウンロード装置はダウンロード
した各クラスを検査し、各クラスが既にプレローダ8に
よりダウンロードされているクラス以外のクラスに依存
しているか否かを判定する。これにより、必要に応じ
て、ダウンロードすべきクラスのリストに更なるクラス
が追加される。
【0077】図5は、プレローダのスレッドが待機する
「オブジェクトメッセージ」の生成処理を説明するフロ
ーチャートである。オブジェクトメッセージは、ロード
されたクラスファイルを具現化するものである。オブジ
ェクトメッセージは、メッセージキューに送られ、プレ
ローダのスレッドは、このメッセージキューからメッセ
ージを読み出す。
【0078】図5に示すフローチャートは、ロード処理
が完了したときにDSM−CCスタックにより呼び出さ
れるコールバックを示している。なお、このフローチャ
ートに示す処理は、プレローダのスレッド上ではなくD
SM−CCスタックのスレッド上で実行される。ここで
は、未処理のロード要求の数を監視するために、要求数
が使用される。この要求数は、上述の説明において参照
した要求数と同じものである。オブジェクトメッセージ
は、ロードされたオブジェクトを非同期的に他の実行ス
レッドに供給する低レベルのDSM−CCスタックを提
供する。DSM−CCスタックのスレッドは、ダウンロ
ードされたDSM−CCセクションの処理のために使用
する必要があるため、実際の処理は、DSM−CCスタ
ックのスレッドにおいては実行されない。メッセージの
ダウンロード時又はメッセージの送信時にエラーが発生
した場合、コールバックは単に要求数をデクリメントし
て返す。コールバック関数自身は、値を返さない。
【0079】すなわち、図5に示すフローチャートのス
テップS11において、DSM−CCからのコールバッ
クにエラーが発生しているか否かが判定される。ここ
で、エラーが発生していると判定された場合、処理は、
ステップS12に進み、ステップS12において、要求
数をデクリメントして、このコールバックルーチンは終
了する。一方、ステップS11において、エラーが発生
していないと判定された場合、処理はステップS13に
進み、オブジェクトメッセージが作成され、ステップS
14において、オブジェクトメッセージが送信される。
次に、ステップS15において、オブジェクトメッセー
ジの送信時にエラーが発生したか否かが判定される。こ
こで、エラーが発生していない場合、このコールバック
ルーチンは終了する。一方、ステップS15においてオ
ブジェクトメッセージの送信時にエラーが発生したと判
定された場合、処理はステップS16に進み、要求数が
デクリメントされた後、このコールバックルーチンは終
了する。
【0080】以下、図6及び図7を用いて、上述した処
理の具体例を説明する。以下に示す具体例は、本発明に
基づくメカニズムがクラスロード処理の効率を如何に高
めるかを示すものである。この具体例においては、クラ
スAがロードされ、クラスAは、図6に示すように、ク
ラスB、C、D、E、Fに依存している。クラスB及び
クラスEは、第1のモジュールM1に含まれている。ク
ラスC及びクラスFは、第2のモジュールM2に含まれ
ており、クラスDは、第3のモジュールM3に含まれて
いる。受信機は、DVB−MHPにより定義されている
トランスペアレントなキャッシングを実現する。すなわ
ち、受信機がシステムメモリにおいて既に使用可能なモ
ジュールを返す前に、受信機は、ストリームからDownlo
adInfoIndication(DII)メッセージに対するモジュ
ールのバージョンを確認しなくてはならない。
【0081】ここで、以下のような状況を仮定する。 ・DIIメッセージの待機に必要な平均時間をtDII
とする。 ・クラスを分析するために必要な時間をtとする。 ・M1、M2、M3のダウンロードに必要な時間は、い
ずれもおよそ同じ値tXとする(すなわち、各モジュー
ルは同じサイズを有している)。 ・t、tDII及びモジュールのダウンロード時間の
関係は、0.5tX<t +tDII<tXとする。 ・クラスAの分析は、時刻tから開始され、時刻tは、
モジュールがカルーセルに現れてから所定時間経過した
時刻とする。 ・受信機は、3つのモジュールをパラレルにダウンロー
ドするのに十分なセクションフィルタを備えているもの
とする。 ・カルーセルサイクルの全体の時間をTとする。
【0082】これらの仮定により、クラスの逐次ローデ
ィングのみを用いて全てのクラスをロードするのに必要
な時間を以下のように算出することができる。 ・クラスAを分析し、クラスBをロードする時間:t
+T−t+t1 ・クラスBを分析し、クラスEをロードする時間:t
+tDII ・クラスEを分析し、クラスCをロードする時間:t
+T(ロード要求は、t2の途中で発せられる) ・クラスCを分析し、クラスFをロードする時間:t
+tDII ・クラスFを分析し、クラスDをロードする時間:t
+T(ロード要求は、t3の途中で発せられる) これにより、総ロード時間は、3T−t+5t+2t
DII+t1となる。ここで、上述したプレロード処理
を用いると、最大の総ロード時間は、T−t+t1+t
2+t3+5t+2tDIIとなる。すなわち、総ロ
ード時間において短縮される時間は、2T−t2−t3
である。ここで、具体的な時間を以下のように仮定す
る。 ・T=20秒 ・tX=1秒(すなわち、500kb/sのレートで転
送される64kBのモジュールをロードするおよその時
間) この具体例では、総ロード時間を38秒短縮することが
できる。
【0083】なお、カルーセルサイクルタイムをTと
し、ロードすべきモジュールの数をNとすると、逐次実
行型クラスローダが必要な全てのクラスをロードするの
にかかる時間は、単純に約N*Tとなる。ここで、本発
明に基づくプレローダメカニズムを用いると、総ロード
時間をT*f(class tree)とすることができる。ここ
で、f(class tree)は、パラレルプレローディングの
観点から、カルーセルを如何に組織化できるかを示す関
数であり、この値は1からNの間で変化する。プレロー
ダメカニズムは、複数のダウンロード処理をパラレルに
実行する利益を享受するため、基底に存在するカルーセ
ル構造の依存性により高速なクラスロード処理を実現す
ることができる。
【0084】上述の処理において、アプリケーション
は、2つの呼出(invocations)間においては、変更さ
れないことが多い。すなわち、最初のアプリケーション
の呼出と、アプリケーションが完全に開始できる状態に
なった時点との間では、同じクラスが要求される可能性
が高い。同様に、次のアプリケーションの呼出に対して
も、同じクラスが要求される可能性が高い。
【0085】アプリケーションが開始されると、アプリ
ケーションの振舞いは、通常、ユーザにより定義され
る。したがって、アプリケーションの有効期間(lifeti
me)中にロードすべきクラスは、必ずしも、実行処理の
たびに識別されるわけではない。
【0086】なお、アプリケーションにより要求される
様々なオブジェクト又はクラスについて、ロード時間
は、均一には分布していない。
【0087】上述のように、モジュール全体は、通常、
メモリに記憶される。したがって、クラス又はオブジェ
クトが新たなモジュール、すなわち以前にロードされて
おらず、メモリに記憶されていないモジュールの一部で
ある場合、このようなオブジェクトのダウンロードは、
既にメモリに記憶されているモジュールからのクラス又
はオブジェクトのダウンロードより時間がかかる。
【0088】最も単純な構成においては、上述したプレ
ローダ処理は、モジュール内の構成要素(membership)
に関する知識を有しておらず、したがって、既にダウン
ロードしたモジュールからオブジェクト又はクラスを入
手できるか否かに関する知識を有していない。プレロー
ダ8は、単にクラスローダ又はオブジェクトローダ2が
要求した順序に従って、クラス又はオブジェクトをダウ
ンロードする。
【0089】ここで、上述のように、クラス又はオブジ
ェクトのロード時間が非常に長い場合、このクラス又は
オブジェクトのロードを先に開始するとよい。これに関
連して、アプリケーションがロードされるたびに、以前
のロード処理において長い時間を要した全てのクラス又
はオブジェクトの名称の順序付けされたリストを含むフ
ァイルを作成してもよい。換言すれば、このファイル
は、先のアプリケーションの呼出の間に、以前にメモリ
に格納されたモジュールからは入手できず、受信トラン
スポートストリームからダウンロードする必要があった
全てのクラス又はオブジェクトのリストを格納してい
る。
【0090】カルーセルが再組織されると、ファイルは
次にアプリケーションが起動(launch)されたときに更
新される。
【0091】ファイルには、アプリケーションの起動よ
り先にロードされたクラスの名称のみが格納される。
【0092】したがって、アプリケーションをロードす
る要求が発せられた場合、まず、このアプリケーション
が以前にロードされたことがあるか否かが判定される。
この判定は、対応するファイルが存在するか否かに基づ
いて行うこともできる。対応するファイルが存在する場
合、そのファイルが分析され、クラス又はオブジェクト
が直ちにロードされる。実際には、このファイルにリス
トされているクラス又はオブジェクトのロードは、アプ
リケーションの第1のクラスのロードが実際に開始され
るよりも前に開始してもよい。
【0093】このように、アプリケーションのクラスロ
ード処理のプロファイルを記述する小さなファイルを維
持管理することにより、アプリケーションのダウンロー
ド処理の時間を短縮することができる。
【0094】
【発明の効果】以上のように、本発明に係るダウンロー
ド装置は、オブジェクトをダウンロードするオブジェク
トローダと、ターゲットオブジェクトを処理するため
に、オブジェクトローダにターゲットオブジェクトをダ
ウンロードするよう要求するとともに、必要に応じて、
オブジェクトローダに、ターゲットオブジェクトが依存
する他のオブジェクトをダウンロードするよう要求する
コントローラと、オブジェクトローダと同時に動作可能
であり、ターゲットオブジェクトを分析し、ターゲット
オブジェクトが依存する他の全てのオブジェクトを判定
し、他のオブジェクトをダウンロードし、オブジェクト
ローダが他のオブジェクトのダウンロードを要求したと
きに、オブジェクトローダが他のオブジェクトを読み出
せるように、他のオブジェクトを保存するプレローダと
を備える。これにより、分散アプリケーション環境から
アプリケーションデータをダウンロードするオブジェク
トローダのダウンロードに要する時間を短縮できる。
【0095】また、本発明に係るダウンロード方法は、
ターゲットオブジェクトのダウンロードを要求するステ
ップと、ターゲットオブジェクトをダウンロードするス
テップと、ターゲットオブジェクトを処理するステップ
と、ターゲットオブジェクトが依存する他のオブジェク
トのダウンロードを要求するステップとを有するダウン
ロード方法において、ターゲットオブジェクトの処理と
同時に、ターゲットオブジェクトのオブジェクト分析を
行い、ターゲットオブジェクトが依存する他の全てのオ
ブジェクトを判定し、他のオブジェクトをダウンロード
するステップと、他のオブジェクトのダウンロードを要
求するステップに応じて、他のオブジェクトを読み出せ
るように他のオブジェクトを記憶するステップとを有す
る。これにより、分散アプリケーション環境からアプリ
ケーションデータをダウンロードするオブジェクトロー
ダのダウンロードに要する時間を短縮できる
【図面の簡単な説明】
【図1】本発明を適用したダウンロード装置の構成を示
すブロック図である。
【図2】オブジェクトの依存関係の具体例を示す図であ
る。
【図3】図2に示す具体例の非同期プレロード処理を説
明する図である。
【図4】プレロード処理の手順を示すフローチャートで
ある。
【図5】DSM−CCコールバック機能を示すフローチ
ャートである。
【図6】オブジェクトの依存関係を示す図である。
【図7】図6に示すオブジェクトのダウンロード時間を
示す図である。
【符号の説明】
2 オブジェクトローダ、4 トランスポートストリー
ム、6 コントローラ、8 プレローダ、10 セクシ
ョンフィルタ、12 低レベルローダ、14 データバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フース セバスティアン ベルギー国、ブリュッセル、1130 サント スティーブンス ヴォルヴェストラート 55 ソニー デジタル メディア ヨーロ ッパ内 (72)発明者 ティアリー オリビエ ベルギー国、ブリュッセル、1130 サント スティーブンス ヴォルヴェストラート 55 ソニー デジタル メディア ヨーロ ッパ内 Fターム(参考) 5B045 BB28 BB42 GG06 HH02 5B076 BA04 BB06 BB17 5C025 DA01 DA05

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 分散アプリケーション環境からアプリケ
    ーションデータをダウンロードするダウンロード装置に
    おいて、 オブジェクトをダウンロードするオブジェクトローダ
    と、 ターゲットオブジェクトを処理するために、上記オブジ
    ェクトローダに該ターゲットオブジェクトをダウンロー
    ドするよう要求するとともに、必要に応じて、上記オブ
    ジェクトローダに、該ターゲットオブジェクトが依存す
    る他のオブジェクトをダウンロードするよう要求するコ
    ントローラと、 上記オブジェクトローダと同時に動作可能であり、上記
    ターゲットオブジェクトを分析し、該ターゲットオブジ
    ェクトが依存する他の全てのオブジェクトを判定し、該
    他のオブジェクトをダウンロードし、上記オブジェクト
    ローダが該他のオブジェクトのダウンロードを要求した
    ときに、該オブジェクトローダが該他のオブジェクトを
    読み出せるように、該他のオブジェクトを保存するプレ
    ローダとを備えるダウンロード装置。
  2. 【請求項2】 それぞれが要求されたオブジェクトに関
    連するセクションを受信トランスポートストリームから
    フィルタリングして取り出す複数のセクションフィルタ
    を備える請求項1記載のダウンロード装置。
  3. 【請求項3】 上記セクションフィルタは、MPEGセ
    クションフィルタであることを特徴とする請求項2記載
    のダウンロード装置。
  4. 【請求項4】 上記プレローダは、異なるセクションフ
    ィルタのそれぞれを用いて、異なるオブジェクトを同時
    にダウンロードすることを特徴とする請求項2又は3記
    載のダウンロード装置。
  5. 【請求項5】 上記プレローダは、上記複数のオブジェ
    クトを同時にダウンロードすることを特徴とする請求項
    1乃至4いずれか1項記載のダウンロード装置。
  6. 【請求項6】 上記プレローダは、上記他のオブジェク
    トを分析し、これら他のオブジェクトが依存する更なる
    オブジェクトを判定し、該更なるオブジェクトをダウン
    ロードし、保存することを特徴とする請求項1乃至5い
    ずれか1項記載のダウンロード装置。
  7. 【請求項7】 上記プレローダがダウンロードしたオブ
    ジェクトを記憶する受信メモリを備える請求項1乃至6
    いずれか1項記載のダウンロード装置。
  8. 【請求項8】 上記オブジェクトは、Java(登録商
    標)クラスであることを特徴とする請求項1乃至7いず
    れか1項記載のダウンロード装置。
  9. 【請求項9】 上記オブジェクトローダは、逐次実行型
    Javaクラスローダであることを特徴とする請求項8
    記載のダウンロード装置。
  10. 【請求項10】 上記プレローダは、ロードされたクラ
    スファイルのクラス分析を行うことを特徴とする請求項
    8又は9記載のダウンロード装置。
  11. 【請求項11】 以前にダウンロードした各ターゲット
    オブジェクトについて、ダウンロードに最も時間がかか
    るターゲットオブジェクトが依存するオブジェクトのリ
    ストを含むファイルを格納するメモリを備え、 上記プレローダは、上記ファイルにおいて特定されてい
    るオブジェクトを第1にダウンロードすることを特徴と
    する請求項1乃至10いずれか1項記載のダウンロード
    装置。
  12. 【請求項12】 上記オブジェクトは、互いにモジュー
    ルの一部として提供され、上記オブジェクトローダ又は
    プレローダがオブジェクトをダウンロードしたとき、該
    オブジェクトが属するモジュール全体がメモリに記憶さ
    れることを特徴とする請求項1乃至11いずれか1項記
    載のダウンロード装置。
  13. 【請求項13】 MHP規格に準拠することを特徴とす
    る請求項1乃至12いずれか1項記載のダウンロード装
    置。
  14. 【請求項14】 テレビジョン装置であることを特徴と
    する請求項1乃至13いずれか1項記載のダウンロード
    装置。
  15. 【請求項15】 ターゲットオブジェクトのダウンロー
    ドを要求するステップと、 上記ターゲットオブジェクトをダウンロードするステッ
    プと、 上記ターゲットオブジェクトを処理するステップと、 上記ターゲットオブジェクトが依存する他のオブジェク
    トのダウンロードを要求するステップとを有するダウン
    ロード方法において、 上記ターゲットオブジェクトの処理と同時に、該ターゲ
    ットオブジェクトのオブジェクト分析を行い、該ターゲ
    ットオブジェクトが依存する他の全てのオブジェクトを
    判定し、該他のオブジェクトをダウンロードするステッ
    プと、 上記他のオブジェクトのダウンロードを要求するステッ
    プに応じて、該他のオブジェクトを読み出せるように該
    他のオブジェクトを記憶するステップとを有するダウン
    ロード方法。
  16. 【請求項16】 オブジェクトをダウンロードするオブ
    ジェクトローダと、ターゲットオブジェクトを処理する
    ために、上記オブジェクトローダに該ターゲットオブジ
    ェクトをダウンロードするよう要求するとともに、必要
    に応じて、上記オブジェクトローダに、該ターゲットオ
    ブジェクトが依存する他のオブジェクトをダウンロード
    するよう要求するコントローラとを備えるダウンロード
    装置により分散アプリケーション環境からアプリケーシ
    ョンデータをダウンロードするダウンロード方法におい
    て、 上記ターゲットオブジェクトをオブジェクト分析し、該
    ターゲットオブジェクトが依存する他の全てのオブジェ
    クトを判定するステップと、 該他のオブジェクトをダウンロードするステップと、 上記他のオブジェクトのダウンロードの要求に応じて、
    上記オブジェクトローダが該他のオブジェクトを読み出
    せるように該他のオブジェクトを記憶するステップとを
    有するダウンロード方法。
  17. 【請求項17】 コンピュータにロード及び実行され
    て、請求項1乃至14いずれか1項記載のダウンロード
    装置又は請求項15又は16記載のダウンロード方法を
    実現するプログラムコードが記録されたコンピュータに
    より読取可能な媒体。
JP2002010802A 2001-01-18 2002-01-18 ダウンロード装置及びダウンロード方法 Pending JP2002304301A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01300429A EP1227666A1 (en) 2001-01-18 2001-01-18 Method and device for downloading application data
EP01300429.6 2001-01-18

Publications (1)

Publication Number Publication Date
JP2002304301A true JP2002304301A (ja) 2002-10-18

Family

ID=8181650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002010802A Pending JP2002304301A (ja) 2001-01-18 2002-01-18 ダウンロード装置及びダウンロード方法

Country Status (5)

Country Link
US (1) US20020124244A1 (ja)
EP (1) EP1227666A1 (ja)
JP (1) JP2002304301A (ja)
KR (1) KR20020061543A (ja)
CN (1) CN1190728C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527556A (ja) * 2003-06-13 2006-11-30 エレクトラ エンタテインメント リミテッド 対話式テレビジョンシステム
JP2006331307A (ja) * 2005-05-30 2006-12-07 Hitachi Kokusai Electric Inc 分散システム
KR100720558B1 (ko) 2005-08-30 2007-05-22 엘지전자 주식회사 데이터 방송의 저장 및 실행 기능을 구비한 영상기기 및 그제어방법
KR101523380B1 (ko) * 2008-10-29 2015-05-27 주식회사 알티캐스트 인터랙티브 서비스 제공 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110995B2 (en) * 2002-02-27 2006-09-19 International Business Machines Corporation Apparatus and method for generating graphic presentation of estimated time of completion of a server request
US20030177484A1 (en) * 2002-03-15 2003-09-18 Bosschaert Allaert J. D. Firewall class loader
US7318229B1 (en) * 2003-07-29 2008-01-08 Sun Microsystems, Inc. Method, system, and program for dispatching a method call
US7500235B2 (en) * 2003-09-05 2009-03-03 Aol Time Warner Interactive Video Group, Inc. Technique for updating a resident application and associated parameters in a user terminal through a communications network
US20080209453A1 (en) * 2004-09-30 2008-08-28 Koninklijke Philips Electronics, N.V. System and Method for Reducing the Start-up Time of Mhp Applications
US8291431B2 (en) * 2006-08-29 2012-10-16 Qualcomm Incorporated Dependent instruction thread scheduling
US8132152B2 (en) * 2007-06-08 2012-03-06 Apple Inc. Extending a scripting language to provide an object hierarchy
US8069438B2 (en) * 2007-06-08 2011-11-29 Apple Inc. Class declaration in a non-class-based programming environment
US8079025B2 (en) * 2007-06-08 2011-12-13 Apple Inc. Asynchronous load of source dependencies
KR101490688B1 (ko) * 2008-03-03 2015-02-06 삼성전자주식회사 컨텐츠 저장 및 처리 장치 및 그 장치에서 미디어 전송프로토콜에 의하여 컨텐츠에 관한 오브젝트 메타 정보를전송하는 방법
EP2288113B1 (en) * 2009-08-21 2014-09-24 Samsung Electronics Co., Ltd. Apparatuses for downloading applications via application lists
US8788615B1 (en) * 2009-10-02 2014-07-22 Adobe Systems Incorporated Systems and methods for creating and using electronic content that requires a shared library

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2743245B1 (fr) * 1995-12-29 1998-01-23 Thomson Multimedia Sa Dispositif de demultiplexage
US5826031A (en) * 1996-06-10 1998-10-20 Sun Microsystems, Inc. Method and system for prioritized downloading of embedded web objects
US6260078B1 (en) * 1996-07-03 2001-07-10 Sun Microsystems, Inc. Using a distributed object system to find and download java-based applications
DE19652629A1 (de) * 1996-12-18 1998-06-25 Philips Patentverwaltung System zum Austausch von Software
WO1998057273A1 (en) * 1997-06-13 1998-12-17 Koninklijke Philips Electronics N.V. Cyclic transmission of a plurality of mutually related objects
US6092120A (en) * 1998-06-26 2000-07-18 Sun Microsystems, Inc. Method and apparatus for timely delivery of a byte code and serialized objects stream
US6604235B1 (en) * 1999-01-06 2003-08-05 Icebox, Llc Operating system upgrading
GB2349548A (en) * 1999-04-27 2000-11-01 Roke Manor Research Downloading software to mobile telecommunication users

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527556A (ja) * 2003-06-13 2006-11-30 エレクトラ エンタテインメント リミテッド 対話式テレビジョンシステム
JP2006331307A (ja) * 2005-05-30 2006-12-07 Hitachi Kokusai Electric Inc 分散システム
KR100720558B1 (ko) 2005-08-30 2007-05-22 엘지전자 주식회사 데이터 방송의 저장 및 실행 기능을 구비한 영상기기 및 그제어방법
KR101523380B1 (ko) * 2008-10-29 2015-05-27 주식회사 알티캐스트 인터랙티브 서비스 제공 방법

Also Published As

Publication number Publication date
CN1369779A (zh) 2002-09-18
US20020124244A1 (en) 2002-09-05
CN1190728C (zh) 2005-02-23
EP1227666A1 (en) 2002-07-31
KR20020061543A (ko) 2002-07-24

Similar Documents

Publication Publication Date Title
US5925100A (en) Client/server system with methods for prefetching and managing semantic objects based on object-based prefetch primitive present in client's executing application
JP2002304301A (ja) ダウンロード装置及びダウンロード方法
EP1194838B1 (en) Methods and apparatus for implementing individual class loaders
US6016520A (en) Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
US8341620B2 (en) Streaming optimized virtual application images
US7996826B2 (en) Method of executing virtual machine application program and digital broadcast receiver using the same
EP0753811B1 (en) Data processing method and device
CA2518645C (en) Method and apparatus enabling multiple application sharing of classes
CN113504985B (zh) 一种任务处理方法以及网络设备
KR100888355B1 (ko) 다운로드된 오브젝트들을 애플리케이션에 제공하기 위한방법 및 장치
US20100011370A1 (en) Control unit, distributed processing system, and method of distributed processing
US20060212869A1 (en) Resource management method and apparatus
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
EP1378822A1 (en) Data processing system and data processing method, information processing device and information processing method, and storage medium
US7213245B2 (en) Software on demand system
US20070033239A1 (en) Preloading resources from data carousel of broadcast file system
EP1780976A1 (en) Methods and system to offload data processing tasks
CN113934435A (zh) 一种函数冷启动方法及装置
EP1037144A2 (en) Data processing system, data processing method, and program-providing medium therewith
EP1377034A1 (en) Data processing device and method for interactive television
US20040122983A1 (en) Deadline scheduling with buffering
US11755534B2 (en) Data caching method and node based on hyper-converged infrastructure
EP1515465A1 (en) Digital broadcast system
CN104620563B (zh) 一种用于减少计算设备的网络使用的方法和系统
CN113760885A (zh) 增量日志处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807