(57)【要約】【課題】メモリの記録容量の増大化を抑制しつつ、プログラムの実行までに要する時間を短縮したプログラム実行装置を提供する。【解決手段】本発明に係るプログラム実行装置を備えたコンテンツ再生装置１００は、ＢＤ−Ｊディスクから読み出したプログラムファイルのうち、予め定められた条件を満たすプログラムファイルを記録部１３０に記録しておき、プログラムファイルに含まれるプログラムを実行する際に、実行対象となるプログラムを含むプログラムファイルが記録部１３０に記録されている場合には、記録部１３０から読み出したプログラムファイルに含まれるプログラムを実行する制御部１１０を備えている。【選択図】図１
2011018277.tif 000002
【特許請求の範囲】
【請求項１】
第１の記録媒体または当該第１の記録媒体より高速アクセス可能な第２の記録媒体に記録されているプログラムを実行するプログラム実行装置であって、
上記第１の記録媒体に記録されたプログラムファイルであって、１つ以上のプログラムを含むプログラムファイルのうち、予め定められた条件を満たすプログラムファイルを記録対象プログラムファイルとし、当該記録対象プログラムファイルが上記第２の記録媒体に記録されていなければ、当該記録対象プログラムファイルを上記第２の記録媒体に記録する記録手段と、
上記第１の記録媒体に記録されているプログラムを実行する実行手段であって、当該プログラムを含むプログラムファイルが上記第２の記録媒体に記録されていれば、当該プログラムファイルを上記第２の記録媒体から読み出して当該プログラムを実行する実行手段と、
を備えていることを特徴とするプログラム実行装置。
【請求項２】
上記第１の記録媒体に記録されたプログラムファイルの各々について、当該プログラムファイルに含まれるプログラムを実行するまでに要する所要時間が所定の閾値以上であるか否かを判定する第１の判定手段をさらに備えており、
上記記録手段は、上記第１の判定手段により上記所要時間が所定の閾値以上であると判定されたプログラムファイルを記録対象プログラムファイルとして上記第２の記録媒体に記録することを特徴とする請求項１に記載のプログラム実行装置。
【請求項３】
上記第１の判定手段は、ファイルサイズが所定の閾値以上であるプログラムファイルを上記所要時間が閾値以上であるプログラムファイルであると判定することを特徴とする請求項２に記載のプログラム実行装置。
【請求項４】
第１のプログラムファイルに含まれるプログラムを実行することにより動作する第１のコンテンツの終了時間と、当該第１のプログラムファイルの前に読み出された第２のプログラムファイルに含まれるプログラムを実行することにより動作する第２のコンテンツの開始時間とを判定する第２の判定手段をさらに備えており、
上記記録手段は、上記第１の判定手段において上記所要時間が閾値以上であると判定されたプログラムファイルであり、上記第２の判定手段において上記第２のコンテンツの開始時間が上記第１のコンテンツの終了時間よりも後であると判定されたプログラムファイルを、上記第２の記録媒体に記録することを特徴とする請求項２または３に記載のプログラム実行装置。
【請求項５】
上記第１の記録媒体に記録されたプログラムファイルのうち、読み出し順位が予め定められた順位のプログラムファイルを、記録対象プログラムファイルとして上記第２の記録媒体に記録することを特徴とする請求項１に記載のプログラム実行装置。
【請求項６】
上記記録手段は、上記第１の記録媒体に記録されたプログラムファイルのうち、最初に読み出されるプログラムファイルを、記録対象プログラムファイルとして上記第２の記録媒体に記録することを特徴とする請求項５に記載のプログラム実行装置。
【請求項７】
上記第１の判定手段は、上記第１の記録媒体に記録されたプログラムファイルに含まれるプログラムを実行するまでに要する実測時間が所定の閾値以上であるプログラムファイルを、上記所要時間が閾値以上であるプログラムファイルであると判定することを特徴とする請求項２に記載のプログラム実行装置。
【請求項８】
当該プログラム実行装置は、複数の読出部のいずれかを使用して上記第１の記録媒体からプログラムファイルを読み出すものであり、
上記第１の判定手段は、上記第１の記録媒体に記録されたプログラムファイルの各々について、当該プログラムファイルに含まれるプログラムを実行するまでに要する所要時間が所定の閾値以上であるか否かを、当該プログラムファイルを読み出すために使用する読出部の読出性能に基づいて判定することを特徴とする請求項２に記載のプログラム実行装置。
【請求項９】
上記第２の記録媒体が複数備えられており、かつ、複数の第２の記録媒体のうちの少なくとも１つが他の第２の記録媒体よりもアクセス速度が低い場合、上記記録手段は、アクセス速度の低い第２の記録媒体には、上記最初に読み出されるプログラムファイルを記録し、他の第２の記録媒体には、他の記録対象プログラムファイルを記録することを特徴とする請求項６に記載のプログラム実行装置。
【請求項１０】
上記第１の記録媒体が予め定められた条件を満たす場合に、上記第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去する消去手段をさらに備えていることを特徴とする請求項１から９のいずれか１項に記載のプログラム実行装置。
【請求項１１】
上記消去手段は、上記第１の記録媒体に記録されているプログラムファイルに含まれるプログラムを実行してからの経過時間が所定の時間以上である場合に、当該第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去することを特徴とする請求項１０に記載のプログラム実行装置。
【請求項１２】
上記消去手段は、上記第１の記録媒体に記録されているプログラムファイルに含まれるプログラムの実行回数が所定の回数以下である場合に、当該第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去することを特徴とする請求項１０または１１に記載のプログラム実行装置。
【請求項１３】
上記消去手段は、上記第１の記録媒体に記録されている全プログラムのうち、所定の割合以上のプログラムが実行されている場合に、当該第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去することを特徴とする請求項１０から１２のいずれか１項に記載のプログラム実行装置。
【請求項１４】
上記記録手段は、上記予め定められた条件を満たすプログラムファイルに加えて、上記第１の記録媒体から読み出されたプログラムファイルに含まれるプログラムを実行することにより外部から取得されるコンテンツを上記第２の記録媒体に記録することを特徴とする請求項１から１３のいずれか１項に記載のプログラム実行装置。
【請求項１５】
第１の記録媒体または当該第１の記録媒体より高速アクセス可能な第２の記録媒体に記録されているプログラムを実行するプログラム実行方法において、
上記第１の記録媒体に記録されたプログラムファイルであって、１つ以上のプログラムを含むプログラムファイルのうち、予め定められた条件を満たすプログラムファイルを記録対象プログラムファイルとし、当該記録対象プログラムファイルが上記第２の記録媒体に記録されていなければ、当該記録対象プログラムファイルを上記第２の記録媒体に記録する記録ステップと、
上記第１の記録媒体に記録されているプログラムを実行する実行ステップであって、当該プログラムを含むプログラムファイルが上記第２の記録媒体に記録されていれば、当該プログラムファイルを上記第２の記録媒体から読み出して当該プログラムを実行する実行ステップと、
を含むことを特徴とするプログラム実行方法。
【請求項１６】
請求項１から１４のいずれか１項に記載のプログラム実行装置により実行されるプログラムより動作するコンテンツを再生するコンテンツ再生装置。
【請求項１７】
請求項１から１４のいずれか１項に記載のプログラム実行装置が備えているコンピュータを動作させるプログラムであって、上記コンピュータを上記の各手段として機能させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の記録媒体、および、当該第１の記録媒体と比較してアクセス速度の速い第２の記録媒体から読み出したプログラムファイルに含まれるプログラムを実行するフプログラム実行装置に関する。特には、本発明は、光ディスクまたはフラッシュメモリから読み出したＪａｖａ（登録商標）プログラムを実行するプログラム実行装置に関する。
【背景技術】
【０００２】
いわゆるフルハイビジョンなどの高精細な表示が可能なテレビジョン受像機の普及と共に、フルハイビジョン番組などの大容量データを記録することができるＢｌｕ−ｒａｙディスク（ＢＤ）を搭載可能なレコーダー装置も一般に普及している。
【０００３】
ＢＤとしては、通常のディスクの他に、Ｂｌｕ−ｒａｙディスクＪａｖａ（以下、ＢＤ−Ｊと称する）のようなインタラクティブ機能を組み込んだディスクが存在する。ＢＤ−Ｊでは、ディスクの再生時にＪａｖａアプリケーションを実行するため、ディスクからＪａｖａプログラムが格納されているＢＤ−Ｊモジュールファイルを読み出す必要がある。
【０００４】
ＢＤ−Ｊを採用したＢＤにおけるファイル構成の一例を図１１に示す。図１１に示すように、ＢＤ−Ｊを採用したＢＤは、ムービーオブジェクトおよびＢＤ−Ｊオブジェクトの２つのオブジェクトファイル（モジュールファイル）を有している。オブジェクトファイルのそれぞれには、インデックステーブルにおけるタイトル名が関連付けられている。すなわち、例えば、トップメニュータイトルが選択される場合、ディスク再生装置はムービーオブジェクト２として記録されているコンテンツを再生することになる。また、例えばタイトル１が選択された場合には、ディスク再生装置はＢＤ−Ｊオブジェクト１として記録されているＪａｖａプログラムファイルにより動作するＪａｖａアプリケーションを再生する。
【０００５】
このように、ＢＤ−Ｊでは、Ｊａｖａプログラムにより動作するＪａｖａアプリケーションによる多様な表現が可能となっている。しかし、その反面、ＢＤ−Ｊオブジェクトの読み出しには時間を要するため、ユーザーはコンテンツの再生を指示してから、実際にコンテンツ（Ｊａｖａアプリケーション）が再生されるまでの間、待たされることになる。最近では、凝ったコンテンツ（Ｊａｖａアプリケーション）が再生されるＢＤも多くなっており、ＢＤ−Ｊオブジェクトの読み出しに要する時間はより一層長時間化しつつある。
【０００６】
特許文献１には、Ｊａｖａプログラムのクラスファイルをローディングしたランタイムデータをイメージ型でメモリに格納することにより、Ｊａｖａプログラムのローディングに要する時間を短縮する技術が開示されている。
【０００７】
また、特許文献２には、メモリに格納されているプログラムと、ディスクから読み出したプログラムの版数が一致しないときにのみ、ディスクから読み出したプログラムをメモリに記録して実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−２４０９６５号公報（公開日：２００４年８月２６日）
【特許文献２】特開平４−２４１０３０号公報（公開日：１９９２年８月２８日）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に開示されている技術では、圧縮ファイルを展開したランタイムデータをイメージ型ファイルで、かつ、Ｊａｖａプログラムの実行に必要なランタイムデータを全て記録しておくことになる。そのため、データを保存するためのメモリ容量が増大化するという問題を有している。
【００１０】
また、Ｊａｖａプログラムの版数の比較は、Ｊａｖａプログラムの格納されている圧縮ファイルを読み出して展開したうえで行う必要がある。すなわち、ディスクをディスクドライブから取り出した場合には、ディスクから圧縮ファイルを再度読み出す必要がある。そのため、特許文献２に開示されている技術を用いたとしても、Ｊａｖａアプリケーションの再生までに要する時間の短縮がディスクドライブからディスクを取り出さないときに限られるという問題を有している。特に、光ディスクドライブでは、記録媒体である光ディスクを入れ替えることにより様々なコンテンツの再生を可能にしており、この問題は重大な問題となる。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであり、その主たる目的は、読み出したプログラムファイルを記録しておくためのメモリの記録容量の増大化を抑制しつつ、実行対象となるプログラムの実行までに要する時間を短縮したプログラム実行装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係るプログラム実行装置は、上記課題を解決するために、
第１の記録媒体または当該第１の記録媒体より高速アクセス可能な第２の記録媒体に記録されているプログラムを実行するプログラム実行装置であって、
上記第１の記録媒体に記録されたプログラムファイルであって、１つ以上のプログラムを含むプログラムファイルのうち、予め定められた条件を満たすプログラムファイルを記録対象プログラムファイルとし、当該記録対象プログラムファイルが上記第２の記録媒体に記録されていなければ、当該記録対象プログラムファイルを上記第２の記録媒体に記録する記録手段と、
上記第１の記録媒体に記録されているプログラムを実行する実行手段であって、当該プログラムを含むプログラムファイルが上記第２の記録媒体に記録されていれば、当該プログラムファイルを上記第２の記録媒体から読み出して当該プログラムを実行する実行手段と、
を備えていることを特徴としている。
【００１３】
本発明に係るプログラム実行装置は、第１の記録媒体に記録されたプログラムファイルであって、１つ以上のプログラムを含むプログラムファイルのうち、予め定められた条件を満たすプログラムファイル（記録対象プログラムファイル）が第２の記録媒体に記録されていなければ、記録対象プログラムファイルを上記第２の記録媒体に記録する。
【００１４】
また、本発明に係るプログラム実行装置は、第１の記録媒体に記録されているプログラムを実行する際に、実行するプログラムを含むプログラムファイルが第２の記録媒体に記録されていれば、プログラムファイルを第２の記録媒体から読み出して実行する。なお、第２の記録媒体は、第１の記録媒体と比較して、アクセス速度の速い記録媒体である。
【００１５】
これによって、本発明に係るプログラム実行装置では、実行対象となるプログラムを含むプログラムファイルが第２の記録媒体に記録させていれば、第１の記録媒体に記録されている場合よりも迅速にプログラムファイル読み出すことができる。すなわち、実行対象となるプログラムを実行するまでに要する時間を短縮することができる。
【００１６】
また、本発明に係るプログラム実行装置では、予め定められた条件を満たすプログラムファイルのみを第２の記録媒体に記録することにより、全てのプログラムファイルを記録する場合に比べて、第２の記録媒体の必要とする記録容量を低減することができる。
【００１７】
すなわち、本発明に係るプログラム実行装置では、第２の記録媒体に必要な記録容量が増大化することを抑制しつつ、実行対象となるプログラムの実行までに要する時間を低減することができる効果を奏する。
【００１８】
なお、本明細書等におけるプログラムファイルとは、ファイルを構成する全てのデータが読み出された後に処理が実行されるプログラムファイルである。
【００１９】
本発明に係るプログラム実行装置では、さらに、上記第１の記録媒体に記録されたプログラムファイルの各々について、当該プログラムファイルに含まれるプログラムを実行するまでに要する所要時間が所定の閾値以上であるか否かを判定する第１の判定手段をさらに備えており、
上記記録手段は、上記第１の判定手段により上記所要時間が所定の閾値以上であると判定されたプログラムファイルを、記録対象プログラムファイルとして上記第２の記録媒体に記録することが好ましい。
【００２０】
上記の構成によれば、記録手段は、第１の判定手段において第１の記録媒体に記録されたプログラムファイルのうち、プログラムファイルに含まれるプログラムを実行するまでに要する時間が所定の閾値以上であると判定されたプログラムファイルを第２の記録媒体に記録する。
【００２１】
ここで、プログラムの実行までに要する時間は、第１の記録媒体からのプログラムファイルの読み出しに要する時間に起因する割合が最も大きい。
【００２２】
そのため、プログラムの実行までに要する時間が長いプログラムファイルを、第１の記録媒体よりもアクセス速度の速い第２の記録媒体に記録することにより、プログラムファイルの読み出しに要する時間を短縮することができるので、結果的にプログラムの実行までに要する時間を短縮することができる。また、全てのプログラムファイルを記録する場合に比べて、第２の記録媒体の必要とする記録容量を低減することができる。
【００２３】
すなわち、本発明に係るプログラム実行装置では、第２の記録媒体に必要な記録容量が増大化することを抑制しつつ、実行対象となるプログラムの実行までに要する時間をより一層低減することができる効果を奏する。
【００２４】
本発明に係るプログラム実行装置では、さらに、上記第１の判定手段は、ファイルサイズが所定の閾値以上であるプログラムファイルを上記所要時間が閾値以上であるプログラムファイルであると判定することが好ましい。
【００２５】
上記の構成によれば、プログラムファイルの読み出しに関わる第１の記録媒体の品質およびプログラム実行装置におけるプログラムファイルの読み出し以外の処理に起因する所要時間の増加または減少を取り除くことができる。
【００２６】
これによって、本発明に係るプログラム実行装置では、プログラムファイル自体に起因した所要時間に基づいて第２の記録媒体に記録するプログラムファイルを選択することができる効果を奏する。
【００２７】
本発明に係るプログラム実行装置では、さらに、第１のプログラムファイルに含まれるプログラムを実行することにより動作する第１のコンテンツの終了時間と、当該第１のプログラムファイルの前に読み出された第２のプログラムファイルに含まれるプログラムを実行することにより動作する第２のコンテンツの開始時間とを判定する第２の判定手段をさらに備えており、上記記録手段は、上記第１の判定手段において上記所要時間が閾値以上であると判定されたプログラムファイルであり、上記第２の判定手段において上記第２のコンテンツの開始時間が上記第１のコンテンツの終了時間よりも後であると判定されたプログラムファイルを、上記第２の記録媒体に記録することが好ましい。
【００２８】
上記の構成によれば、第１の判定手段においてプログラム実行までの所要時間が閾値以上であると判定されたプログラムファイルであり、かつ、第２の判定手段において第２のコンテンツの終了時間が第１のコンテンツの開始時間よりも前であると判定された第１のプログラムファイルを、第２の記録媒体に記録する。すなわち、本発明に係るプログラム実行装置では、第２のコンテンツの再生中に、再生が開始される第１のコンテンツを実行するためのプログラムを含むプログラムファイルは、第２の記録媒体には記録しない。
【００２９】
これは、先に動作しているコンテンツの再生中に再生が開始されるコンテンツであれば、ユーザーに待ち時間を与えないため、第２の記録媒体に記録しておく必要がないためである。
【００３０】
これによって、本発明に係るプログラム実行装置では、全てのプログラムファイルを第２の記録媒体に記録する場合と比較して、第２の記録媒体に記録するプログラムファイルの数を低減することができる。したがって、本発明に係るプログラム実行装置では、コンテンツの再生までに要する時間を短縮しつつ、第２の記録媒体の記録容量の増大をより一層抑制することができる効果を奏する。
【００３１】
本発明に係るプログラム実行装置では、さらに、上記第１の記録媒体に記録されたプログラムファイルのうち、読み出し順位が予め定められた順位のプログラムファイルを、記録対象プログラムファイルとして上記第２の記録媒体に記録することが好ましい。
【００３２】
上記の構成によれば、記録手段は、読み出し順位が予め決められた順位であるプログラムファイルを第２の記録媒体に記録する。
【００３３】
これによって、第２の記録媒体に記録されているプログラムファイルに含まれるプログラムを実行するまでに要する時間を短縮することができる。また、全てのプログラムファイルを第２の記録媒体に記録する場合と比較して、第２の記録媒体の記録容量の増大を抑制することができる。
【００３４】
すなわち、本発明に係るプログラム実行装置では、プログラムの実行までに要する時間を短縮しつつ、第２の記録媒体の記録容量の増大を抑制することができる効果を奏する。
【００３５】
本発明に係るプログラム実行装置では、さらに、上記記録手段は、上記第１の記録媒体に記録されたプログラムファイルのうち、最初に読み出されるプログラムファイルを、記録対象プログラムファイルとして上記第２の記録媒体に記録することが好ましい。
【００３６】
上記の構成によれば、第１の記録媒体から最初に読み出されるプログラムファイルは必ず第２の記録媒体に記録される。
【００３７】
このように、最初に読み出されるプログラムファイルを第２の記録媒体に記録するようにしておくことにより、最初に読み出されるプログラムファイルに含まれるプログラムを実行するまでに要する時間を短縮することができる効果を奏する。
【００３８】
これは、ユーザーがコンテンツの再生を指示してから実際にコンテンツが再生されるまでの時間を短縮することができる効果と換言することもできる。
【００３９】
なお、第１の記録媒体が光ディスクであり、第２の記録媒体が半導体メモリである場合には、光ディスクからのファイルの読み出し開始までに要する時間（例えば、光ディスクの回転の安定までに要する時間、シークタイムなど）を短縮することができるため、特に効果が大きい。
【００４０】
本発明に係るプログラム実行装置では、さらに、上記第１の判定手段は、上記第１の記録媒体に記録されたプログラムファイルに含まれるプログラムを実行するまでに要する実測時間が所定の閾値以上であるプログラムファイルを、上記所要時間が閾値以上であるプログラムファイルであると判定することが好ましい。
【００４１】
上記の構成によれば、プログラムファイルが実行されるまでに要した実時間を測定するため、プログラムファイルの実行に関し、より実動作に沿った情報を基に判定を行うことができる。
【００４２】
これによって、本発明に係るプログラム実行装置では、実際の読み込み動作に即した所要時間に基づいて、第２の記録媒体に記録するプログラムファイルを選択することができる効果を奏する。
【００４３】
なお、本構成は、プログラムファイルの読み出しに関わる第１の記録媒体の品質およびプログラム実行装置において実行されるプログラムファイルの読み出し以外の処理に起因する所要時間の増加または減少が小さい場合において特に好適である。
【００４４】
本発明に係るプログラム実行装置は、複数の読出部の何れかを使用して上記第１の記録媒体からプログラムファイルを読み出すものであり、上記第１の判定手段は、上記第１の記録媒体に記録されたプログラムファイルの各々について、当該プログラムファイルに含まれるプログラムを実行するまでに要する所要時間が所定の閾値以上であるか否かを、当該プログラムファイルを読み出すために使用する読出部の読出性能に基づいて判定することが好ましい。
【００４５】
上記の構成によれば、第１の記録媒体を装填した読出部におけるファイル読み出し速度および読み出し量が所定の閾値以下である場合に、その読出部から読み出されるプログラムファイルを所要時間が閾値以上であるプログラムファイルであると判定する。
【００４６】
すなわち、本発明に係るプログラム実行装置では、読出部のハードウェア性能に基づいて、プログラムの実行までの所要時間が閾値以上であるか否かを判定する。
【００４７】
これによって、本発明に係るプログラム実行装置では、プログラムの実行に必要なハードウェアの性能に基づいて、第２の記録媒体に記録するプログラムファイルを選択することができる効果を奏する。
【００４８】
なお、読出部におけるファイル読み出し速度およびファイル読み出し量は、読出部におけるキャッシュメモリの量、読出部とプログラム実行装置との間の伝送媒体の種類などに起因する。また、第１の記録媒体が光ディスクである場合には、読出部における第１の記録媒体の回転速度、レーザー強度もファイル読み出し速度を決める要因となる。
【００４９】
本発明に係るプログラム実行装置では、さらに、上記第２の記録媒体が複数備えられており、かつ、複数の第２の記録媒体のうちの少なくとも１つが他の第２の記録媒体よりもアクセス速度が低い場合、上記記録手段は、アクセス速度の低い第２の記録媒体には、上記最初に読み出されるプログラムファイルを記録し、他の第２の記録媒体には、他の記録対象プログラムファイルを記録することが好ましい。
【００５０】
上記の構成によれば、第１の記録媒体から最初に読み出されるプログラムファイルをアクセス速度の低い第２の記録媒体に記録し、他の記録対象プログラムファイルをアクセス速度の速い第２の記録媒体に記録する。
【００５１】
これによって、アクセス速度の速い第２の記録媒体の記録容量の増大を抑制することができる効果を奏する。また、アクセス速度が低速の第２の記録媒体であっても、第１の記録媒体よりはアクセス速度が高速であるため、最初に読み出されるプログラムファイルに含まれるプログラムを実行するまでに要する時間を短縮することができる効果も奏する。
【００５２】
本発明に係るプログラム実行装置では、さらに、上記第１の記録媒体が予め定められた条件を満たす場合に、上記第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去する消去手段をさらに備えていることが好ましい。
【００５３】
上記の構成によれば、予め定められた条件を満たすプログラムファイルについては第２の記録媒体から消去する。
【００５４】
これによって、第２の記録媒体が一杯になることを避けることができる効果を奏する。
【００５５】
本発明に係るプログラム実行装置では、さらに、上記消去手段は、上記第１の記録媒体に記録されているプログラムファイルに含まれるプログラムを実行してからの経過時間が所定の時間以上である場合に、当該第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去することが好ましい。
【００５６】
上記の構成によれば、所定の時間以上実行していないプログラムを含むプログラムファイルがある場合、そのプログラムファイルを消去する。
【００５７】
これによって、ユーザーが実行する可能性が低いと考えられるプログラムファイルから順に消去することができる効果を奏する。
【００５８】
本発明に係るプログラム実行装置では、さらに、上記消去手段は、上記第１の記録媒体に記録されているプログラムファイルに含まれるプログラムの実行回数が所定の回数以下である場合に、当該第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去することが好ましい。
【００５９】
上記の構成によれば、所定の回数以下しか実行していないプログラムを含むプログラムファイルがある場合、そのプログラムファイルを消去する。
【００６０】
これによって、ユーザーが実行する可能性が低いと考えられるプログラムファイルから順に消去することができる効果を奏する。
【００６１】
本発明に係るプログラム実行装置では、さらに、上記消去手段は、上記第１の記録媒体に記録されている全プログラムのうち、所定の割合以上のプログラムが実行されている場合に、当該第１の記録媒体から複製されたプログラムファイルを上記第２の記録媒体から消去することが好ましい。
【００６２】
上記の構成によれば、第１の記録媒体に記録されている全プログラムのうち、所定の割合以上のプログラムが実行されている場合には、第２の記録媒体からその第１の記録媒体に記録されているプログラムファイルを消去する。すなわち、本発明に係るプログラム実行装置では、所定の割合以上プログラムが実行されている第１の記録媒体は、すぐにユーザーが使用する可能性が低い記録媒体であると判断する。
【００６３】
これによって、ユーザーが実行する可能性が低いと考えられるプログラムファイルを優先的に消去することができる効果を奏する。
【００６４】
本発明に係るプログラム実行装置では、さらに、上記記録手段は、上記予め定められた条件を満たすプログラムファイルに加えて、上記第１の記録媒体から読み出されたプログラムファイルに含まれるプログラムを実行することにより外部から取得されるコンテンツを上記第２の記録媒体に記録することが好ましい。
【００６５】
上記の構成によれば、読み出されたプログラムファイルに含まれるプログラムを実行することによって取得したコンテンツについても第２の記録媒体に記録する。
【００６６】
これによって、次にプログラムを実行する際に、コンテンツを取得する処理を不要にすることができる。そのため、本発明に係るプログラム実行装置では、プログラムファイルに含まれるプログラムを実行することにより取得されるコンテンツの再生までに要する時間を短縮することができる効果を奏する。
【００６７】
本発明に係るプログラム実行方法では、上記課題を解決するために、
第１の記録媒体または当該第１の記録媒体より高速アクセス可能な第２の記録媒体に記録されているプログラムを実行するプログラム実行方法において、
上記第１の記録媒体に記録されたプログラムファイルであって、１つ以上のプログラムを含むプログラムファイルのうち、予め定められた条件を満たすプログラムファイルを記録対象プログラムファイルとし、当該記録対象プログラムファイルが上記第２の記録媒体に記録されていなければ、当該記録対象プログラムファイルを上記第２の記録媒体に記録する記録ステップと、
上記第１の記録媒体に記録されているプログラムを実行する実行ステップであって、当該プログラムを含むプログラムファイルが上記第２の記録媒体に記録されていれば、当該プログラムファイルを上記第２の記録媒体から読み出して当該プログラムを実行する実行ステップと、
を含むことを特徴としている。
【００６８】
上記の構成によれば、本発明に係るプログラム実行装置と同様の作用効果を奏する。
【００６９】
また、本発明に係るプログラム実行装置により実行されるプログラムにより動作するコンテンツを再生するコンテンツ再生装置も本発明の範疇に含まれる。
【００７０】
さらに、本発明に係るプログラム実行装置を動作させるためのプログラムであって、コンピュータを上記の各手段として機能させることを特徴とするプログラム、および、それらのプログラムを記録したコンピュータ読み取り可能な記録媒体についても本発明の範疇に含まれる。
【発明の効果】
【００７１】
以上説明したように、本発明に係るプログラム実行装置は、第１の記録媒体に記録されたプログラムファイルであって、１つ以上のプログラムを含むプログラムファイルのうち、予め定められた条件を満たすプログラムファイル（記録対象プログラムファイル）が第２の記録媒体に記録されていなければ、記録対象プログラムファイルを上記第２の記録媒体に記録する。また、本発明に係るプログラム実行装置は、第１の記録媒体に記録されているプログラムを実行する際に、実行するプログラムを含むプログラムファイルが第２の記録媒体に記録されていれば、プログラムファイルを第２の記録媒体から読み出して実行する。なお、第２の記録媒体は、第１の記録媒体と比較して、アクセス速度の速い記録媒体である。
【００７２】
これによって、本発明に係るプログラム実行装置では、第２の記録媒体に必要な記録容量が増大化することを抑制しつつ、実行対象となるプログラムの実行までに要する時間を低減することができる効果を奏する。
【図面の簡単な説明】
【００７３】
【図１】実施形態に係るコンテンツ再生装置の要部構成を示すブロック図である。
【図２】ＢＤ−Ｊディスクから最初に読み出されるjarファイルおよび偶数番目に読み出されるjarファイルを記録部に記録した場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【図３】ＢＤ−Ｊディスクから最初に読み出されるjarファイルおよびムービーモジュールファイルの後に読み出されるjarファイルを記録部に記録した場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【図４】ＢＤ−Ｊディスクから最初に読み出されるjarファイルおよび読み込みに時間を要するjarファイルを記録部に記録した場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【図５】先のアプリケーションにより次のアプリケーションが読み出され、かつ、先のアプリケーションの再生中に後のアプリケーションの再生が開始される場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【図６】記録部に記録されているjarファイルの管理テーブルを示す図である。
【図７】所定の時間以上読み出されていないjarファイルを消去する処理を示すフローチャートである。
【図８】再生回数が所定以下のＢＤ−Ｊディスクに記録されているjarファイルを消去する処理を示すフローチャートである。
【図９】jarファイルを消去する際の経過時間の閾値を再生回数に応じて設定する場合のフローチャートである。
【図１０】再生割合が所定値以上のＢＤ−Ｊディスクに記録されているjarファイルを消去する処理を示すフローチャートである。
【図１１】ＢＤ−Ｊを採用したＢＤにおけるファイル構成の一例を示す図である。
【発明を実施するための形態】
【００７４】
〔実施形態１〕
本発明に係るプログラム実行装置を備えたコンテンツ再生装置の一実施形態について、図１〜図１０を参照しつつ以下に説明する。ここで、本実施形態では、コンテンツ再生装置が、自装置に装填されている光ディスクから読み出されたファイルを処理することにより再生されるコンテンツを再生する装置を例に挙げて説明する。より具体的には、コンテンツ再生装置が、光ディスクから読み出されたムービーコンテンツの再生に加えて、光ディスクから読み出されるＪａｖａプログラムにより動作するＪａｖａアプリケーションを再生することができる装置である場合を例に挙げて説明する。
【００７５】
なお、本実施形態のコンテンツ再生装置において利用可能な光ディスクとしては、特に限定されるものではないが、ここでは、ＢＤ−Ｊを採用したＢＤ（以下、ＢＤ−Ｊディスクとも称する）を装填する場合を例に挙げて説明する。この場合の、コンテンツ再生装置の具体例としては、ＢＤプレイヤー装置、およびＢＤレコーダー装置となる。
【００７６】
以下に、本実施形態に係るコンテンツ再生装置の構成について説明する。
【００７７】
（コンテンツ再生装置１００の構成）
本実施形態に係るコンテンツ再生装置の構成について、図１を参照しつつ以下に説明する。図１は、コンテンツ再生装置１００の要部構成を示すブロック図である。
【００７８】
図１に示すように、コンテンツ再生装置１００は、制御部１１０、メモリ１２０、記録部１３０、コンテンツ再生処理部１４０、ディスクドライブ部１５０、出力部１６０および通信部１７０を備えている。なお、表示部２００は、コンテンツ再生装置１００を構成する部材ではないが、便宜上、図１に示している。これらの部材の詳細について、以下に説明する。
【００７９】
（制御部１１０）
制御部１１０は、ディスクドライブ部１５０に装填されているＢＤ−Ｊディスクからのファイル読み出しに関する処理、記録部１３０からのファイル読み出しおよび記録に関する処理、コンテンツ再生処理部１４０におけるコンテンツ再生に関する処理、ならびに通信部１７０における外部との通信に関する処理を制御する。
【００８０】
制御部１１０における各部材の制御の詳細については、下記で説明するため、ここではその説明を省略する。
【００８１】
（メモリ１２０）
メモリ１２０は、制御部１１０の主記憶部である。すなわち、メモリ１２０には、制御部１１０においてＢＤ−Ｊディスクまたは記録部１３０から読み込まれたＪａｖａプログラムが展開される。
【００８２】
また、メモリ１２０は、Ｊａｖａプログラムにより動作するＪａｖａアプリケーションが再生されるまでの時間についても記録するほか、コンテンツ再生装置１００においてコンテンツを再生する際の制御情報についても記録する。
【００８３】
（記録部１３０）
記録部１３０は、ディスクドライブ部１５０においてＢＤ−Ｊディスクから読み出したＢＤ−Ｊモジュールファイル（プログラムファイル）を記録する。通常、Ｊａｖａプログラムが格納されたＢＤ−Ｊモジュールファイルは、アプリケーションごとに１個の圧縮ファイル（以下、jarファイルと称する）として格納されているため、記録部１３０に対してもjarファイルのままの状態で記録するようにすればよい。
【００８４】
もちろん、jarファイルを展開（解凍）して記録するようにしてもよい。また、jarファイルのまま記録するデータと、展開して記録するデータとを混在させてもよい。この場合には、Ｊａｖａプログラムの実行時に、jarファイルの展開に要する時間を削減することができるため、記録部１３０の記録容量が不足しない限りは、展開したデータの割合が多くなるようにすることが好ましい。
【００８５】
また、記録部１３０は、上述したjarファイルに加えて、ＢＤ−Ｊディスクの管理情報を含むbdjoファイルも合わせて記録するようにしてもよい。
【００８６】
記録部１３０は、ＢＤ−Ｊディスク（すなわち、光ディスク）よりもデータの読み出し速度が速い記録媒体であればその種類は特に限定されるものではない。記録部１３０の具体例としては、フラッシュメモリを挙げることができる。
【００８７】
（コンテンツ再生処理部１４０）
コンテンツ再生処理部１４０は、ＢＤ−Ｊディスクから読み出したムービーコンテンツ（映像コンテンツおよび音声コンテンツ）を再生処理する。また、コンテンツ再生処理部１４０は、ＢＤ−Ｊディスクまたは記録部１３０から読み出してメモリ１２０に展開したＪａｖａプログラムにより動作するＪａｖａアプリケーションを再生処理する。
【００８８】
（ディスクドライブ部１５０）
ディスクドライブ部１５０は、制御部１１０により指定されたファイルを装填されているＢＤ−Ｊディスクから読み出す。また、ディスクドライブ部１５０は、制御部１１０により指定されたファイルを装填されたＢＤ−Ｊディスクの指定された領域に書き込み可能であってもよい。
【００８９】
なお、ディスクドライブ部１５０は、装填されるディスクが光ディスクである場合には、光ディスクドライブ装置として、搭載されているディスクが磁気ディスクである場合には、ハードディスクドライブ装置としてコンテンツ再生装置１００から着脱可能に設計されていてもよい。
【００９０】
（出力部１６０）
出力部１６０は、制御部１１０からの指示を受けて、コンテンツ再生処理部１４０において再生されたコンテンツを所定のタイミングで表示部２００へ出力する。
【００９１】
（通信部１７０）
通信部１７０は、ネットワークを介してコンテンツ再生装置１００に接続されている外部装置との間でデータの通信を行う。例えば、通信部１７０は、外部装置からコンテンツを受信する。また、記録部１３０またはディスクドライブ部１５０に装填されているＢＤ−Ｊディスクに記録されているコンテンツを読み出し、読み出したコンテンツを外部装置へ送信する。
【００９２】
（表示部２００）
表示部２００は、出力部１６０から出力されたコンテンツを表示するディスプレイである。表示部２００としては、例えば、液晶ディスプレイ、有機ＥＬディスプレイおよびプラズマディスプレイなどを挙げることができる。
【００９３】
（コンテンツ再生装置１００の動作の概要）
続いて、コンテンツ再生装置１００におけるコンテンツ再生処理動作の概要について以下に説明する。
【００９４】
まず、ディスクドライブ部１５０にＢＤ−Ｊディスクが装填されると、制御部１１０は、コンテンツ再生処理部１４０に対して装填されたＢＤ−Ｊディスクに格納されているモジュールファイルの読み出しを指示する。指示を受けたコンテンツ再生処理部１４０は、ディスクドライブ部１５０に対して、制御部１１０から読み出し指示を受けたモジュールファイルを読み出すように指示する。
【００９５】
指示を受けたディスクドライブ部１５０は、装填されているＢＤ−Ｊディスクからモジュールファイルを読み出して再生処理部１４０に対して出力する。
【００９６】
制御部１１０は、読み出したモジュールファイルがムービーファイル（動画ファイル、音声ファイル）である場合、コンテンツ再生処理部１４０に対して、読み出したデータから逐次再生するように指示する。指示を受けたコンテンツ再生処理部１４０は、再生したムービーデータを出力部１６０に対して出力する。出力部１６０は、制御部１１０からの指示を受けてコンテンツ再生処理部１４０から出力されるムービーデータを表示部２００に対して出力する。これによって、表示部２００では、ムービーコンテンツが表示（および出力）される。
【００９７】
対して、制御部１１０は、読み出したモジュールファイルがjarファイルである場合、ＢＤ−Ｊディスクから読み出されたjarファイルをメモリ１２０に展開する。そして、展開することにより得られるＪａｖａプログラム（クラスファイル）をＪａｖａ仮想マシンに対してクラスローディングする過程を経て、Ｊａｖａプログラムを実行する。このとき、クラスローディングでは、ローディング（Loading）、リンキング（Linking）および初期化（Initialization）処理が行われる。
【００９８】
実行されるＪａｖａプログラムにより動作するアプリケーション（コンテンツ）は、コンテンツ再生処理部１４０において再生され、出力部１６０に出力される。出力部１６０は、再生されたアプリケーションを表示部２００に出力する。これによって、表示部２００では、Ｊａｖａアプリケーションに基づいた映像（または音声）が表示（または出力）される。
【００９９】
ここで、制御部１１０は、メモリ１２０に読み込んだjarファイルが予め定められた条件を満たすファイルである場合、jarファイルを記録部１３０に記録する。
【０１００】
次に、上述した再生処理を行ったＢＤ−Ｊディスクを再び再生処理する場合、制御部１１０は、処理対象となるjarファイルが記録部１３０に記録されているか否かを判定する。処理対象となっているjarファイルが記録部１３０に記録されている場合には、制御部１１０は、ＢＤ−Ｊディスクから読み出す代わりに、記録部１３０から処理対象であるjarファイルを読み出す。
【０１０１】
なお、処理対象となっているjarファイルが記録部１３０に記録されていない場合には、先と同様に、ＢＤ−Ｊディスクから処理対象であるjarファイルを読み出す。
【０１０２】
以上説明したように、コンテンツ再生装置１００では、ＢＤ−Ｊディスクを２回目以降に再生する場合には、記録部１３０に記録されているjarファイルについては、ＢＤ−Ｊディスクの代わりに記録部１３０から読み出す。記録部１３０は、ＢＤ−Ｊディスクよりもデータの読み出し速度が速いため、jarファイルの読み出し時間が１回目の再生処理の際よりも短縮することができる。以下に、記録部１３０に記録するjarファイルの選択方法について説明する。
【０１０３】
（記録するjarファイルの選択方法）
次に、ＢＤ−Ｊディスクに格納されているjarファイルのうち、記録部１３０に記録するjarファイルの選択方法の詳細について、図２（ａ）および（ｂ）〜図５（ａ）および（ｂ）を参照しつつ以下に説明する。
【０１０４】
ここで、記録部１３０に記録するjarファイルの選択方法は、大別して、（１）予め定められた順番に読み出されたファイルを選択する方法と、（２）Ｊａｖａアプリケーションの再生までに要する時間の短縮効果の大きいファイルを選択する方法と、に分けることができる。以下に、それぞれの方法について詳細に説明する。
【０１０５】
（１：予め定められた順番に読み出されたファイルを選択）
制御部１１０は、ＢＤ−Ｊディスクから最初に読み出されるjarファイルを選択して、記録部１３０に記録するようにする。これは、予め定められた条件が、最初に読み出すjarファイルを記録するという条件である場合と換言することもできる。
【０１０６】
最初にＢＤ−Ｊディスクから読み出されるjarファイルを記録部１３０に記録しておくことにより、ＢＤ−Ｊディスクを装填してから（あるいは、コンテンツの再生を指示してから）実際にコンテンツが再生されるまでの時間を短縮することができる。
【０１０７】
加えて、最初に読み出されるjarファイルを記録部１３０に記録しておくことにより、最初に読み出されるjarファイルの展開およびアプリケーションの再生中に、次に読み出されるjarファイルの読み出しを開始することもできる。
【０１０８】
また、制御部１１０は、ＢＤ−Ｊディスクから偶数番目または奇数番目にＢＤ−Ｊディスクから読み出されるjarファイルを記録部１３０に記録するようにしてもよい。これは、予め定められた条件が、偶数番目または奇数番目に読み出すjarファイルを記録するという条件である場合と換言することができる。
【０１０９】
最初に読み出されるjarファイルおよび偶数番目に読み出されるjarファイルを記録部１３０に記録した場合におけるアプリケーションの再生待ち時間の短縮効果を図２（ａ）および（ｂ）に示す。図２（ａ）および（ｂ）は、最初に読み出されるjarファイルおよび偶数番目に読み出されるjarファイルを記録部１３０に記録した場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【０１１０】
図２（ｂ）に示すように、１番目、２番目および４番目に読み出されるjarファイルを記録部１３０に記録しておくことにより、１番目、２番目および４番目に実行されるアプリケーションの再生までに要する時間を短縮することができる。これによって、全体としても、タイトル１〜タイトル４までの再生に要する時間は、図２（ａ）に示す初回再生時に比べて短縮することができる。このとき、３番目に読み出されるjarファイルについては、記録部１３０に記録しないため、記録部１３０の記録容量の節約を図ることができる。
【０１１１】
また、制御部１１０は、ムービーモジュールファイルの後に読み出されるjarファイルを記録部１３０に記録するようにしてもよい。
【０１１２】
最初に読み出されるjarファイルおよびムービーモジュールファイルの後に読み出されるjarファイルを記録部１３０に記録した場合におけるアプリケーションの再生時間の短縮効果を図３（ａ）および（ｂ）に示す。図３（ａ）および（ｂ）は、最初に読み出されるjarファイルおよびムービーモジュールファイルの後に読み出されるjarファイルを記録部１３０に記録した場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【０１１３】
図３（ｂ）に示すように、ムービーモジュールファイルは、読み出したデータを逐次再生することができるため、記録部１３０に記録しておかなくてもコンテンツ（アプリケーション２およびアプリケーション３）の再生が指示されたから実際に再生されるまでに要する時間が長時間化することがない。
【０１１４】
ユーザーは、順調にコンテンツ（アプリケーション）が再生された後に、次のアプリケーション実行までに待ち時間が発生すると、急に発生した中断感により実際の待ち時間以上に長く待たされた感覚を持ち、不快に感じる事がある。このようなユーザーに発生する不快感の回避のため、ムービーモジュールファイルの次に読み出されるjarファイルを記録部１３０に記録しておくことにより、ユーザーのムービー再生後の待ち時間をユーザーの主観に対して効果的に短縮することができる。
【０１１５】
また、記録部１３０が複数備えられており、かつ、記録部１３０同士のファイルアクセス速度に差がある場合には、アクセス速度の異なる記録部ごとに記録するjarファイルの選択方法や選択基準を変更するようにしてもよい。一般的に、記録部１３０に使用されるメモリは、アクセス速度が高速メモリほど単価も高くなる。そこで、記録部１３０全体の記録容量を大容量化する際には、記録部１３０の一部に、比較的低速であるメモリを併用することにより、記録部１３０の価格の低減を図るようにしてもよい。また、フラッシュメモリでは、データアクセス速度が速くなるほど、信頼性が低下するため、記録部１３０にフラッシュメモリを使用する場合には、記録部１３０の一部に、比較的低速ではあるが高信頼性のメモリを併用するようにするようにしてもよい。これにより、記録部１３０の価格の低減と共に、記録部１３０の信頼性を向上させることができる。
【０１１６】
このような場合には、最初に読み出したプログラムファイルをアクセス速度が遅いが信頼性の高い記録部１３０に記録し、他のプログラムファイルをアクセス速度の速い記録部１３０に記録することが好ましい。これによって、少なくとも最初のプログラムファイルにより動作するプログラムの実行までに要する時間（アプリケーション再生までに要する時間）の短縮を保証するとともに、アクセス速度の速い記録部１３０の記録容量の節約を図ることができる。また、アクセス速度の遅い記録部１３０であっても、ＢＤ−Ｊディスクよりはアクセス速度が速いため、最初に実行されるプログラムファイルをＢＤ−Ｊディスクから読み出すよりは、プログラムの実行までに要する時間を短縮することができる。
【０１１７】
もちろん、最初に読み出したプログラムファイルのみをアクセス速度の遅い記録部１３０に記録することに限定するものではない。アクセス速度の速い記録部１３０の記録容量の節約を図れることを前提として、ＢＤ−Ｊディスクから読み出されるすべてのプログラムファイルの一部であるが複数をアクセス速度の遅い記録部１３０に記録するようにしてもよい。
【０１１８】
（２：時間短縮効果の大きいファイルを選択する場合）
次に、制御部１１０が、Ｊａｖａアプリケーションの再生までに要する時間が短縮効果の大きいファイルを選択して記録部１３０に記録する場合について説明する。
【０１１９】
この場合、制御部１１０は、ＢＤ−Ｊディスクからの読み出しに要する時間の長いjarファイルを優先的に記録部１３０に記録するようにすればよい。
【０１２０】
Ｊａｖａアプリケーションの再生までに要する時間の短縮効果は、ＢＤ−Ｊディスクからのjarファイルの読み出し速度と、記録部１３０からのjarファイルの読み出し速度との差が大きいほど大きくなる。ここで、jarファイルを記録部１３０に記録することにより最も短縮を図ることができる処理は、コンテンツ再生装置１００の性能に起因する部分が大きいローディング処理である。したがって、制御部１１０は、ＢＤ−Ｊディスクからの読み出しに要する時間の長いjarファイルを優先的に記録部１３０に記録することにより、Ｊａｖａアプリケーションの再生までに要する時間を効果的に削減することができる。
【０１２１】
ＢＤ−Ｊディスクからの読み出しに要する時間の長いjarファイルとしては、ファイルサイズの大きいjarファイルを挙げることができる。
【０１２２】
コンテンツ再生装置１００は、ディスクドライブ部１５０に装填されているＢＤ−Ｊディスクを初めて再生する際、または、前回までに再生した際に、読み出したjarファイルのファイルサイズを全て記録したファイルデータ情報を作成して記録する。そして、制御部１１０は、ＢＤ−Ｊディスクの再生が終了した後、作成したファイルデータ情報に基づいて、ファイルサイズの大きいjarファイルをＢＤ−Ｊディスクから読み出して、記録部１３０に記録させる。
【０１２３】
このとき、制御部１１０は、ファイルサイズが所定の閾値以上のサイズのjarファイルを記録部１３０に記録するjarファイルとして選択するようにすればよい。また、ファイルサイズの大きいjarファイルから順に記録部１３０に記録し、記録したjarファイルの総容量が所定の閾値となるまで記録するようにしてもよい。すなわち、ファイルサイズの大きいjarファイルから順に記録してゆき、所定の容量になった時点で記録をやめるようにしてもよい。
【０１２４】
また、制御部１１０は、jarファイルのファイルサイズの他に、jarファイルに格納されているファイルの数を参照して記録部１３０に記録するjarファイルを選択するようにしてもよい。ファイルサイズが同じ大きさであっても、ファイル数が多い方が展開に要する時間が長くなるため、同じファイルサイズの場合には、ファイル数が多いjarファイルをより優先して記録部１３０に記録することにより、より一層の再生時間の短縮を図ることができる。なお、jarファイルに格納されているファイル数についても、ファイルデータ情報に併せて記録するようにすればよい。
【０１２５】
なお、本項では、制御部１１０がファイルデータ情報に基づいて、記録部１３０に記録するjarファイルを選択する場合を例に挙げて説明しているが、もちろんファイルの読み込み時間またはファイルの展開時間を測定し、測定された読み込み時間または展開時間に基づいて記録部１３０に記録するjarファイルを選択するようにしてもよい。
【０１２６】
ただし、読み込み時間または展開時間は、コンテンツ再生装置１００においてディスクドライブ部１５０への割り込み処理、および装填されているＢＤ−Ｊディスクの表面の品位により左右されるため、これらの要因が起こり得る可能性のある場合には、ファイルデータ情報に基づいて、記録部１３０に記録するjarファイルを選択するようにすることが好ましい。逆に、上記要因による影響が小さいことが判明している場合には、測定された読み込み時間または展開時間に基づいて、記録部１３０に記録するjarファイルを選択するようにしてもよい。
【０１２７】
例えば、一般的に、同じファイルサイズのファイルの読み出しを行う場合でも、ディスク内周部より外周部に格納されたファイルの方が高速に読み込みすることができる。また、アプリケーション実行のために次に読み込む必要なファイルが、ディスクドライブの磁気ヘッドの現在位置から遠いトラックに収納されている場合には、目的のトラックまでのシーク時間や回転待ち時間が必要となる。このような場合には、同じファイルサイズのファイルの読み出しを行う場合でも、平均シーク時間を期待値として読み込み時間がかかることになる。したがって、Ｊａｖａアプリケーションの再生までに要する時間が、主としてディスクへのファイル格納状況に起因する場合には、測定された読み込み時間または展開時間に基づいて、記録部１３０に記録するjarファイルを選択するようにすることが好ましい。
【０１２８】
なお、読み込み時間または展開時間は、ディスクドライブ部１５０に装填されているＢＤ−Ｊディスクを初めて再生する際、または、前回までに再生した際の、ある特定の１回において測定された時間であればよい。もちろん、初回再生から前回（直近の）再生までの内の複数回で測定された時間を統計処理した時間情報を読み込み時間または展開時間としてもよい。統計処理としては、単なる平均値、重み付け平均値（例えば、直近の再生時における測定値ほど重み付けする）、メジアン値などを用いた処理であればよい。ここで、上記の複数回は、該当ディスクに格納されたjarファイルの記録部１３０への記録状態が同一である再生回であればよい。例えば、記録部１３０にjarファイルが記録されていない再生状態の回数であってもよいし、ディスクに格納された一部のjarファイルが記録部１３０に記録された再生状態の回数でもよい。
【０１２９】
さらに、ディスクの再生回数が多い場合などは、ディスクに格納されたjarファイルを記録部１３０追加記録するようにしてもよい。これは、追加記録されたjarファイルに対応するプログラムを実行するまでに要する時間を短縮した方が、ユーザーにとってメリットがあると推定される際に実行される。すなわち、制御部１１０は、ディスクの再生回数が所定よりも多い場合には、記録部１３０にjarファイルを追加記録するかどうかの判定を行う。これによって、ユーザーのディスク再生状況に適応して、記録部１３０にjarファイルを追加記録することにより、より一層プログラムの実行までに要する時間を短縮することができる。
【０１３０】
また、制御部１１０は、読み込み時間および展開時間を含むアプリケーションの実行時間に基づいて、記録部１３０に記録するjarファイルを選択するようにしてもよい。
【０１３１】
さらに、制御部１１０は、記録部１３０に記録するjarファイルを選択する場合に、ディスクドライブ部１５０、記録部１３０、ディスクのハード性能を基づいて、記録部１３０に記録するjarファイルを選択するようにしてもよい。
【０１３２】
例えば、コンテンツ再生装置１００が、ディスクドライブ部１５０（すなわち、内蔵ディスクドライブ装置）と、外部に接続されている外付けディスクドライブ装置とを備えている場合、ディスクドライブ装置のハード性能に起因して、内蔵ディスクドライブ装置と外付けディスクドライブ装置との間でjarファイルの読み出し速度に差異が生じることがある。例えば、内蔵ディスクドライブ装置と外付けディスクドライブ装置とでは、ディスクドライブ装置と制御部１１０との間のデータライン（または伝送媒体の種類）が異なるため、それに起因してjarファイルの読み出し速度に差異が生じる。また、他にも、ディスクドライブ装置のキャッシュメモリの空き容量が小さい場合には、ディスクドライブ装置からのファイルの読み出し量が制限されるため、読み出し速度が制限される。すなわち、ディスクドライブ装置ごとのキャッシュメモリの空き容量に応じてもファイルの読み出し速度に差異が生じる。
【０１３３】
このように、ディスクドライブ装置のハードウェアに起因してjarファイルの読み出し速度に差異が生じる場合には、jarファイルの読み出し速度の遅いディスクドライブ装置から読み出されたjarファイルを優先的に記録部１３０に記録するようにしてもよい。すなわち、制御部１１０は、読み出し速度が所定の性能以下であるディスクドライブ装置からjarファイルを読み出す場合には、読み出したjarファイルを記録部１３０に記録するようにしてもよい。
【０１３４】
さらに、javaプログラムが格納されているディスク自体の規格上の性能により、jarファイルの読み込み速度に差異が生じることもある。このような場合には、ディスクドライブ部１５０は、自身に装填されたディスクを読み取った際に、ディスクドライブ部１５０は、装填されたディスクがjarファイルの読み出しに時間を要するディスクであることを制御部１１０に通知する。そして、通知を受けた制御部１１０は、読み出されたjarファイルを記録部１３０に優先的に記録するようにしてもよい。
【０１３５】
ここで、ファイルサイズの大きいjarファイル（読み込みに時間を要するjarファイル）を記録部１３０に記録した場合におけるアプリケーションの再生時間の短縮効果を図４（ａ）および（ｂ）に示す。図４（ａ）および（ｂ）は、最初に読み出されるjarファイルおよび読み込みに時間を要するjarファイルを記録部１３０に記録した場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【０１３６】
図４（ｂ）に示すように、ＢＤ−Ｊディスクを初めて再生したとき、または、少なくとも前回までに再生したときに最もローディングに時間を要したアプリケーション２を動作させるＪａｖａプログラムを格納するjarファイルを記録部１３０に記録することにより、アプリケーション２の再生までに要する時間を短縮することができる。これによって、全体としても、タイトル１〜タイトル３までの再生に要する時間を、図４（ａ）に示す初回再生時に比べて短縮することができる。すなわち、読込み時間および展開時間を含むアプリケーションの実行時間に基づいて、記録部１３０に記録するjarファイルを選択することで、記録部１３０の記録容量の増大を抑制しつつ、コンテンツの再生に要する時間を短縮することができる。
【０１３７】
ここで、記録部１３０の記録容量の増大をより一層抑制するためには、先のアプリケーションが次のアプリケーションが再生される時間まで再生されている場合には、次のアプリケーションを動作させるＪａｖａプログラムを格納するjarファイルは記録部１３０に記録しないようにする。すなわち、先のアプリケーションを動作させるＪａｖａプログラムを格納するjarファイルのみを記録部１３０に記録するようにしてもよい。
【０１３８】
例えば、図５（ａ）および（ｂ）に示すように、アプリケーション２によりアプリケーション３を動作させるＪａｖａプログラムを格納するjarファイルが読み出されるような場合、制御部１１０は、アプリケーション２の再生中にアプリケーション３のクロスローディングを完了して、アプリケーション３を再生させることができる。すなわち、アプリケーション３はアプリケーション２の再生中に再生されるため、アプリケーション３を動作させるＪａｖａプログラムを格納するjarファイルについては、記録部１３０に記録させる必要がない。
【０１３９】
この場合、例えファイルサイズまたはファイル数が所定の閾値よりも大きいjarファイルであっても、先に再生されているアプリケーションの再生中にアプリケーションを再生させることができるものであれば記録部１３０に記録しないことが好ましい。
【０１４０】
このように、コンテンツの再生に要する時間の短縮に寄与しないjarファイルについては記録部１３０に記録しないようにすることによって、記録部１３０の記録容量の増大をより一層抑制することができる。
【０１４１】
なお、図５（ａ）および（ｂ）は、先のアプリケーションにより次のアプリケーションが読み出され、かつ、先のアプリケーションの再生中に後のアプリケーションの再生が開始される場合におけるアプリケーションの再生時間の短縮を示す図であり、（ａ）は初回再生時の再生時間であり、（ｂ）は２回目以降の再生時の再生時間である。
【０１４２】
（選択条件の併用）
上述した説明では、記録部１３０に記録するjarファイルが、予め定められた順番に読み出されたファイルである場合と、時間短縮効果の大きいファイルである場合とでそれぞれ独立している場合を例に挙げて説明しているが、もちろん２つの選択方法を併用するようにしてもよい。
【０１４３】
例えば、図４（ｂ）および図５（ｂ）に示すように、最初に読み出されるjarファイルは必ず記録部１３０に記録しておくと共に、アプリケーションの再生時間の短縮効果の大きいファイルを記録部１３０に記録するようにしてもよい。
【０１４４】
また、アプリケーションの再生時間の短縮効果の大きいファイルを選択して記録部１３０に記録するようにしたときの時間短縮効果を見積もり、見積もられた結果として時間短縮に大きな効果が得られない場合には、予め定められた順番に読み出されたファイルを記録部１３０に記録するようにしてもよい。これは、例えば、jarファイルのファイルサイズがほぼ同じ大きさである場合などに有効である。
【０１４５】
（ファイル管理方法）
次に、記録部１３０に記録したjarファイルのファイル管理方法について、図６を参照しつつ以下に説明する。図６は、記録部１３０に記録されているjarファイルの管理テーブルを示す図である。
【０１４６】
先に説明したように、制御部１１０は、ディスクドライブ部１５０に装填されているＢＤ−Ｊディスクを２回目以降再生する場合、読み出すjarファイルが記録部１３０に記録されているjarファイルであるか否かを判定する。このとき、制御部１１０は、図６に示すようなファイル管理テーブルを参照して、読み出すjarファイルが記録部１３０に記録されているのか否かを判定する。
【０１４７】
ファイル管理テーブルは、図６に示すように、ディスクＩＤに対して、ディスクタイトル情報と再生履歴情報と保存ファイル情報とが関連付けて記録されている。再生履歴情報には、該当するディスクＩＤを初回再生日時、前回再生日時、前回再生終了ポイントおよび再生回数の情報を含み、保存ファイル情報は、保存タイトル、保存ファイル名、対応アプリケーションおよび関連アプリケーションの情報を含む。
【０１４８】
例えば、図６に示すディスクＩＤ「０００１０」のディスクは、ディスクタイトル情報として「ディスク１」というコンテンツ名を指す情報を有している。また、ディスクＩＤ「０００１０」のディスクは、初めて再生された日時が「２００８年８月２０日１１時２０分」であり、最後に再生された日時が「２００８年１２月１０日２０時１５分」であり、最後に再生された時に「５０分３０秒」の時点で再生を終了しており、これまでに「３回」再生されていることを示している。さらに、ディスクＩＤ「０００１０」のディスクに格納されている「Ｆｉｌｅ１１．ｊａｒ」が記録部１３０に記録されていることを示している。この「Ｆｉｌｅ１１．ｊａｒ」は、「Ｔｉｔｌｅ１」に対応しており、「Ａｐｐｌｉｃａｔｉｏｎ１」を再生するためのファイルであることを示している。
【０１４９】
なお、ディスクタイトル情報としては、コンテンツ名を指す情報以外にも、各チャプターや各タイトルに関する情報、記録長、コンテンツジャンル、コンテンツ付随情報などの情報を含むようにしてもよい。コンテンツ再生装置１００は、これらの情報に基づいた処理を行うようにしてもよい。
【０１５０】
ディスクＩＤ「０００１０」のディスクでは、１つのディスクＩＤに対して１つの保存ファイル情報が関連付けられているが、１つのディスクＩＤに対して２つ以上の保存ファイル情報が関連付けられていてもよい。例えば、図６に示すように、ディスクＩＤ「００１０１」のディスクの場合、保存ファイル情報として「Ｆｉｌｅ２２．ｊａｒ」に関する情報および「Ｆｉｌｅ２３．ｊａｒ」に関する情報の２つの情報が関連付けてられている。また、ディスクＩＤ「０１０００」のディスクの場合には、保存ファイル情報として３つの情報が関連付けられている。
【０１５１】
なお、「Ｆｉｌｅ２３．ｊａｒ」は、「Ａｐｐｌｉｃａｔｉｏｎ２」の再生により読み出されるjarファイルであることを示している。これによって、制御部１１０は、図６に示す管理テーブルを参照することにより、「Ａｐｐｌｉｃａｔｉｏｎ２」の再生中に「Ｆｉｌｅ２３．ｊａｒ」が読み出されることを認識することができるため、「Ｆｉｌｅ２３．ｊａｒ」の先読みを行うこともできる。
【０１５２】
図６に示すファイル管理テーブルは、上記に説明したように、制御部１１０において読み出すjarファイルが記録部１３０に記録されているか否かの判定に用いると共に、記録部１３０に記録されているjarファイルの消去処理の際にも用いられる。記録部１３０に記録されているjarファイルの消去処理について、以下に説明する。
【０１５３】
なお、ファイル管理テーブルは、記録部１３０に記録するようにしてもよいし、メモリ１２０または不図示の他のメモリに記録するようにしてもよい。
【０１５４】
例えば、ディスクドライブ部１５０が制御部１１０とは独立した制御部を備えていると共に、jarファイルを格納可能なデータメモリを備えているような場合には、ファイル管理テーブルをディスクドライブ部１５０に備えられているデータメモリに記録するようにしてもよい。
【０１５５】
この場合、制御部１１０、および、コンテンツ再生処理部１４０は、読み出されたファイルが、ディスクから直接読み出されたファイルか、記録部１３０から読み出されたファイルかを認識する必要がなくなるため、制御処理時にかかる負荷を軽減することができる。また、コンテンツ再生処理部１４０における再生処理によるメモリアクセスと、記録ファイル読み込みのためのメモリアクセスが同時に行われる事によるメモリバスへのアクセス頻度を下げることもできる。
【０１５６】
なお、ファイル管理テーブルおよびjarファイルを格納可能なデータメモリは、ＢＤ−Ｊディスクに記録されているデータをキャッシュするためのキャッシュメモリとは異なるメモリであることが好ましい。
【０１５７】
（記録部１３０に記録されているjarファイルの消去処理）
次に、記録部１３０に記録したjarファイルを消去する際の処理の詳細について、図７〜図１０を参照しつつ以下に説明する。
【０１５８】
（一定期間再生されないディスクのjarファイルを消去する）
まず、所定時間以上読み出されていないjarファイルを消去する処理について、図６および図７を参照しつつ以下に説明する。図７は、所定時間以上読み出されていないjarファイルを消去する処理を示すフローチャートである。
【０１５９】
制御部１１０は、記録部１３０にjarファイルが記録されているか否かを判定する（ステップＳ１）。すなわち、ファイル管理テーブルにディスクＩＤが記録されているか否かを判定する。
【０１６０】
jarファイルが記録部１３０に記録されている場合（ステップＳ１においてＹｅｓ）、制御部１１０は、あるディスクＩＤに関連付けられた再生履歴情報における前回再生日時に関する情報および現時刻から、そのディスクＩＤを有するＢＤ−Ｊディスクが前回再生されてから現在までの経過時間を算出する（ステップＳ２）。
【０１６１】
算出された経過時間が、所定の閾値以上である場合（ステップＳ３においてＹｅｓ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（すなわち、jarファイル）を消去すると共に、再生履歴情報、ディスクタイトル情報およびディスクＩＤについても消去する（ステップＳ４）。一方で、算出された経過時間が、所定の閾値以下である場合（ステップＳ３においてＮｏ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を削除しない。
【０１６２】
次に、制御部１１０は、ファイル管理テーブルに記録されている全てのディスクＩＤに対して処理を完了したか否かを判定する（ステップＳ５）。
【０１６３】
全てのディスクＩＤに対して処理を完了した場合には（ステップＳ５においてＹｅｓ）、制御部１１０は、jarファイルの消去処理を終了する。全てのディスクＩＤに対して処理を完了していない場合には（ステップＳ５においてＮｏ）、制御部１１０は、次のディスクＩＤに関連付けられた再生履歴情報から経過時間を算出する。すなわち、制御部１１０は、全てのディスクＩＤに対する処理が完了するまで、ステップＳ２からの処理を繰り返す。
【０１６４】
上述した処理によって、ある一定期間以上再生されていないＢＤ−Ｊディスクに記録されているjarファイルについては、記録部１３０から消去することができる。これによって、記録部１３０の記録容量が不足することを避けることができる。
【０１６５】
なお、経過時間の閾値については、予め設定された固定値であってもよいし、ユーザーにより適宜設定される変動値であってもよい。
【０１６６】
（再生回数が少ないディスクに記録されているjarファイルを消去）
続いて、再生回数の少ないＢＤ−Ｊディスクに記録されているjarファイルを消去する処理について、図６および図８を参照しつつ以下に説明する。図８は、再生回数が所定以下のＢＤ−Ｊディスクに記録されているjarファイルを消去する処理を示すフローチャートである。なお、図８では、再生回数が少ないＢＤ−Ｊディスクのjarファイルを削除する処理と、先に説明した一定期間以上再生されていないＢＤ−Ｊディスクのjarファイルを削除する処理とを組み合わせた場合の処理を示す。
【０１６７】
制御部１１０は、先と同様に、記録部１３０にjarファイルが記録されているか否かを判定する（ステップＳ１０）。すなわち、ファイル管理テーブルにディスクＩＤが記録されているか否かを判定する。
【０１６８】
jarファイルが記録部１３０に記録されている場合（ステップＳ１０においてＹｅｓ）、制御部１１０は、あるディスクＩＤに関連付けられている再生履歴情報の再生回数が所定の回数以上であるか否かを判定する（ステップＳ１１）。再生回数が所定の回数以下である場合（ステップＳ１１においてＮｏ）、制御部１１０は、先と同様に、そのディスクＩＤを有するＢＤ−Ｊディスクが前回再生されてから現在までの経過時間を算出する（ステップＳ１２）。一方で、算出された経過時間が、所定の閾値以下である場合、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（すなわち、jarファイル）を削除しない。
【０１６９】
算出された経過時間が、所定の閾値以上である場合（ステップＳ１３においてＹｅｓ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を消去すると共に、再生履歴情報、ディスクタイトル情報およびディスクＩＤについても消去する（ステップＳ１４）。一方で、算出された経過時間が、所定の閾値以下である場合（ステップＳ１３においてＮｏ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（すなわち、jarファイル）を削除しない。
【０１７０】
次に、制御部１１０は、ファイル管理テーブルに記録されている全てのディスクＩＤに対して処理を完了したか否かを判定する（ステップＳ１５）。
【０１７１】
全てのディスクＩＤに対して処理を完了した場合には（ステップＳ１５においてＹｅｓ）、制御部１１０は、jarファイルの消去処理を終了する。全てのディスクＩＤに対して処理を完了していない場合には（ステップＳ１５においてＮｏ）、制御部１１０は、次のディスクＩＤに関連付けられた再生履歴情報から経過時間を算出する。すなわち、制御部１１０は、全てのディスクＩＤに対する処理が完了するまで、ステップＳ１１からの処理を繰り返す。
【０１７２】
上述したように、再生回数が所定の閾値以下のＢＤ−Ｊディスクをjarファイルの削除対象となるディスクとして選択することによって、ユーザーがあまり利用しないと考えられるＢＤ−Ｊディスクのjarファイルを優先して記録部１３０から消去することができる。これによって、記録部１３０の記録容量が不足することを避けることができると共に、ユーザーの使用状況に応じたjarファイルの消去を行うことができる。
【０１７３】
また、図９に示すように、再生回数と経過時間とを組み合わせた処理とすることによって、ユーザーの利用回数が少なく、かつ、前回の再生からの経過時間が長いＢＤ−Ｊディスクのjarファイルを優先して記録部１３０から消去することができる。これによって、記録部１３０の記録容量が不足することを避けることができると共に、より一層ユーザーの使用状況に応じたjarファイルの消去を行うことができる。
【０１７４】
なお、再生回数の閾値については、予め設定された固定値であってもよいし、ユーザーにより適宜設定される変動値であってもよい。
【０１７５】
（再生回数に応じて閾値を変化）
上述した消去処理では、再生回数および経過時間をそれぞれ独立した条件としてjarファイルの消去処理を行う場合について説明しているが、再生回数を経過時間の閾値の設定条件としてもよい。jarファイルを消去する際の閾値を再生回数に応じて設定するjarファイルの消去処理を図９を参照しつつ以下に説明する。図９は、jarファイルを消去する際の経過時間の閾値を再生回数に応じて設定する場合のフローチャートである。
【０１７６】
制御部１１０は、先と同様に、記録部１３０にjarファイルが記録されているか否かを判定する（ステップＳ２０）。すなわち、ファイル管理テーブルにディスクＩＤが記録されているか否かを判定する。
【０１７７】
jarファイルが記録部１３０に記録されている場合（ステップＳ２０においてＹｅｓ）、制御部１１０は、あるディスクＩＤに関連付けられた再生履歴情報における前回再生日時に関する情報および現時刻から、そのディスクＩＤを有するＢＤ−Ｊディスクが前回再生されてから現在までの経過時間を算出する（ステップＳ２１）。
【０１７８】
続いて、制御部１１０は、あるディスクＩＤに関連付けられている再生履歴情報の再生回数が所定の回数以上であるか否かを判定する（ステップＳ２２）。再生回数が所定の回数以上である場合（ステップＳ２２においてＹｅｓ）、制御部１１０は、値Ａを閾値として設定する（ステップＳ２３）。次に、制御部１１０は、ステップＳ２１において算出した経過時間がステップＳ２３において設定された閾値（値Ａ）以上であるか否かを判定する（ステップＳ２４）。
【０１７９】
ステップＳ２１において算出された経過時間が、ステップＳ２３において設定された閾値（値Ａ）以上である場合（ステップＳ２４においてＹｅｓ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を消去すると共に、再生履歴情報、ディスクタイトル情報およびディスクＩＤについても消去する（ステップＳ２５）。なお、ステップＳ２１において算出された経過時間が、ステップＳ２３において設定された閾値（値Ａ）以下である場合（ステップＳ２４においてＮｏ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（すなわち、jarファイル）を削除しない。
【０１８０】
一方で、再生回数が所定の回数以下である場合（ステップＳ２２においてＮｏ）、制御部１１０は、値Ｂを閾値として設定する（ステップＳ２６）。このとき、値Ｂは値Ａよりも小さい値とする。すなわち、再生回数が少ないＢＤ−Ｊディスクについては、より小さい閾値を設定する。
【０１８１】
そして、値Ａを閾値として設定した場合と同様に、ステップＳ２１において算出された経過時間が、ステップＳ２３において設定された閾値（値Ｂ）以上である場合（ステップＳ２４においてＹｅｓ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を消去すると共に、再生履歴情報、ディスクタイトル情報およびディスクＩＤについても消去する（ステップＳ２５）。
【０１８２】
また、ステップＳ２１において算出された経過時間が、ステップＳ２３において設定された閾値（値Ｂ）以下である場合（ステップＳ２４においてＮｏ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を削除しない。
【０１８３】
最後に、制御部１１０は、ファイル管理テーブルに記録されている全てのディスクＩＤに対して処理を完了したか否かを判定する（ステップＳ２７）。
【０１８４】
全てのディスクＩＤに対して処理を完了した場合には（ステップＳ２７においてＹｅｓ）、制御部１１０は、jarファイルの消去処理を終了する。全てのディスクＩＤに対して処理を完了していない場合には（ステップＳ２７においてＮｏ）、制御部１１０は、次のディスクＩＤに関連付けられた再生履歴情報から経過時間を算出する。すなわち、制御部１１０は、全てのディスクＩＤに対する処理が完了するまで、ステップＳ２１からの処理を繰り返す。
【０１８５】
上述したように、再生回数に応じて閾値を設定することによって、前回の再生からの経過時間が同じであったとしても、再生回数の少ないＢＤ−Ｊディスクのjarファイルの方が優先的に消去されるようにすることができる。これによって、記録部１３０の記録容量が不足することを避けることができると共に、より一層ユーザーの使用状況に応じたjarファイルの消去を行うことができる。
【０１８６】
なお、上述した処理における値Ａおよび値Ｂは、予め設定された固定値であってもよいし、ユーザーにより適設定される変動値であってもよい。
【０１８７】
また、上記の説明では、前回再生日時に基づいて保存ファイルの消去判定を行っているが、もちろんこれに限定されるものではない。前回再生日時以外の情報に基づいて消去判定を行ってもよい。例えば、初回再生日時、前回ディスク装填日時、または初回ディスク装填日時などの情報に基づいて保存ファイルの消去判定を行ってもよい。
【０１８８】
（再生割合の大きいjarファイルを消去）
続いて、再生割合の大きいＢＤ−Ｊディスクに記録されているjarファイルを消去する処理について、図６および図１０を参照しつつ以下に説明する。図１０は、再生割合が所定値以上のＢＤ−Ｊディスクに記録されているjarファイルを消去する処理を示すフローチャートである。
【０１８９】
制御部１１０は、先と同様に、記録部１３０にjarファイルが記録されているか否かを判定する（ステップＳ３０）。すなわち、ファイル管理テーブルにディスクＩＤが記録されているか否かを判定する。
【０１９０】
jarファイルが記録部１３０に記録されている場合（ステップＳ３０においてＹｅｓ）、制御部１１０は、あるディスクＩＤに関連付けられた再生履歴情報における前回再生終了ポイントから、あるディスクＩＤに関連付けられたＢＤ−Ｊディスクが再生途中で停止されたか否かを判定する（ステップＳ３１）。ＢＤ−Ｊディスクが再生途中で停止されている場合（ステップＳ３１においてＹｅｓ）、制御部１１０は再生割合が所定の閾値異常であるか否かを判定する（ステップＳ３２）。
【０１９１】
再生割合が所定の閾値以上である場合（ステップＳ３２においてＹｅｓ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を消去すると共に、再生履歴情報、ディスクタイトル情報およびディスクＩＤについても消去する（ステップＳ３３）。
【０１９２】
再生割合が所定の閾値以下である場合（ステップＳ３２においてＮｏ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を消去しない。
【０１９３】
一方で、ＢＤ−Ｊディスクが再生途中で停止されていない場合（ステップＳ３１においてＮｏ）、制御部１１０は、現在処理しているディスクＩＤに関連付けられた保存ファイル情報（jarファイル）を消去すると共に、再生履歴情報、ディスクタイトル情報およびディスクＩＤについても消去する（ステップＳ３３）。
【０１９４】
最後に、制御部１１０は、ファイル管理テーブルに記録されている全てのディスクＩＤに対して処理を完了したか否かを判定する（ステップＳ３４）。
【０１９５】
全てのディスクＩＤに対して処理を完了した場合には（ステップＳ３４においてＹｅｓ）、制御部１１０は、jarファイルの消去処理を終了する。全てのディスクＩＤに対して処理を完了していない場合には（ステップＳ３４においてＮｏ）、制御部１１０は、次のディスクＩＤに関連付けられた再生履歴情報から経過時間を算出する。すなわち、制御部１１０は、全てのディスクＩＤに対する処理が完了するまで、ステップＳ３１からの処理を繰り返す。
【０１９６】
上述した処理では、再生割合が所定の閾値よりも大きいＢＤ−Ｊディスクのjarファイルを優先して消去する。これは、ＢＤ−Ｊディスクに記録されているコンテンツが所定の割合以上再生されている場合には、ユーザーはこのコンテンツをほぼ視聴完了しており、少なくとも、同一ユーザーが直ぐにこのＢＤ−Ｊディスクを再生しないと考えられるためである。
【０１９７】
これによって、記録部１３０の記録容量が不足することを避けることができると共に、より一層ユーザーの使用状況に応じたjarファイルの消去を行うことができる。
【０１９８】
なお、本項における「再生割合」とは、コンテンツの全再生時間に対する、再生が完了している時間の割合を指す。ただし、特典映像やゲームなどの付属コンテンツを含むようなＢＤ−Ｊディスクの場合には、付属コンテンツを除いた主要コンテンツ（例えば、映画であれば映画本編に相当するコンテンツ）の再生時間に対する、再生が完了した時間の割合を指すものとする。
【０１９９】
また、再生割合の閾値については、予め設定された固定値であってもよいし、ユーザーにより適宜設定される変動値であってもよい。
【０２００】
（jarファイルの消去処理に関する付記事項）
上述したjarファイルの消去処理では、ディスクドライブ部１５０にＢＤ−Ｊディスクが装填されていない場合において、記録部１３０からjarファイルを消去する場合を例に挙げて説明している。ここで、ディスクドライブ部１５０にＢＤ−Ｊディスクが装填されている際にjarファイルを消去するようにしてもよい。例えば、ディスクが装填されているが、ディスク再生は行われていない状態、（例えば、コンテンツ再生装置がアイドル状態）である場合が考えられる。
【０２０１】
ディスクドライブ部１５０は、装填されているＢＤ−ＪディスクのディスクＩＤを読み出す。そして、制御部１１０は、読み出されたディスクＩＤに関連付けられた保存ファイル情報について消去するか否かの判定を行う。判定処理については、上述した処理と同様であればよい。
【０２０２】
また、上述した処理では、対応するＢＤ−Ｊディスクに格納されているjarファイルを一括して削除するようにしてもよい。例えば、図６に示すように、ディスクＩＤが「０１０００」のディスクの場合、記録部１３０には、「Ｆｉｌｅ３１．ｊａｒ」と「Ｆｉｌｅ３２．ｊａｒ」と「Ｆｉｌｅ３３．ｊａｒ」との３つのjarファイルが記録されているため、この３つのjarファイルを一括して削除する。
【０２０３】
また、対応するＢＤ−Ｊディスクに格納されているjarファイルの一部を削除するようにしてもよい。例えば、図６に示す例において、「Ｆｉｌｅ３１．ｊａｒ」が最初に再生されるアプリケーションである「Ａｐｐｌｉｃａｔｉｏｎ１」を動作させるＪａｖａプログラムが格納されているjarファイルである場合、「Ｆｉｌｅ３１．ｊａｒ」のみは削除することなく記録部１３０に記録しておくようにしてもよい。
【０２０４】
このように、最初に再生されるアプリケーションを動作させるＪａｖａプログラムが格納されているjarファイルを記録部１３０に記録させておくことにより、記録部１３０の記録容量を確保しつつ、次回再生時に最初に再生されるアプリケーションの再生までに要する時間を短縮することができる。
【０２０５】
（外部装置からの追加コンテンツのダウンロード）
コンテンツ再生装置１００は、再生されるアプリケーションに基づいて、ネットワークを介して追加コンテンツを取得する機能を有している。コンテンツ再生装置１００は、ネットワークを介して取得された追加コンテンツを記録部１３０に記録させておくようにしてもよい。また、上述したjarファイルの記録のように、追加コンテンツの一部のファイルを選択して記録するようにしてもよい。
【０２０６】
より具体的に説明すると、制御部１１０は、メモリ１２０に展開したＪａｖａプログラムにより動作するアプリケーションに基づいて、通信部１７０に対してネットワークを介して追加コンテンツを取得するように指示する。指示を受けた通信部１７０は、ネットワークを介して制御部１１０により指定された追加コンテンツを取得する。
【０２０７】
通信部１７０が追加コンテンツを取得すると、制御部１１０は、コンテンツ再生処理部１４０に対して取得した追加コンテンツの再生を指示する。コンテンツ再生処理部１４０は、取得した追加コンテンツを再生し、出力部１６０に対して出力する。
【０２０８】
出力部１６０は、制御部１１０からの指示にしたがって、表示部２００に対して映像および音声を出力する。
【０２０９】
通信部１７０が追加コンテンツを取得するためのネットワークは特に限定されるものではない。例えば、コンテンツ再生装置１００は、コンテンツ再生装置１００にインターネットを介して接続されている外部装置（例えば、コンテンツサーバ装置）から追加コンテンツを取得（ダウンロード）するようにすればよい。
【０２１０】
また、追加コンテンツとしては、例えば、ＢＤ−Ｊディスクに格納されているコンテンツに関連する関連コンテンツ（出演者の関連情報、シリーズ関連情報、新作情報など）、追加字幕、追加ゲームのゲームデータなどの拡張コンテンツなどを挙げることができる。例えば追加コンテンツが追加字幕などの拡張コンテンツである場合には、再生するコンテンツの機能を一時的に拡張することができる。
【０２１１】
なお、取得した追加コンテンツは、記録部１３０に記録するようにしてもよい。追加コンテンツを記録部１３０に記録しておくことにより、次にＢＤ−Ｊディスクを再生する場合に、追加コンテンツをネットワークを介して再取得するための時間を不要にすることでき、コンテンツ再生に要する時間を短縮することができる。また、追加コンテンツを取得するためのネットワーク環境が何らかの要因により不安定な場合、またはネットワーク通信ができない場合であっても、記録しておいた追加コンテンツを使用する事ができる。これによって、ネットワークを介した場合とほぼ同様か、あるいは全く同様にコンテンツを再生することができる。
【０２１２】
（付記事項）
本実施形態では、光ディスク（例えば、ＢＤ−Ｊディスク）から読み出したjarファイルを記録部１３０（例えば、フラッシュメモリ）に記録するコンテンツ再生装置を例に挙げて説明しているが、もちろんこれに限定されるものではない。
【０２１３】
例えば、磁気ディスク（いわゆる、ハードディスク）から読み出したjarファイルを記録部１３０（例えば、フラッシュメモリ）に記録するコンテンツ再生装置であってもよい。さらに、光ディスク（例えば、ＢＤ−Ｊディスク）から読み出したjarファイルを、磁気ディスク（いわゆる、ハードディスク）に記録するコンテンツ再生装置であってもよい。
【０２１４】
すなわち、一方の記録媒体が他方の記録媒体よりもデータの読み出し速度が速ければ、それぞれの記録媒体の種類については特に限定されるものではない。
【０２１５】
（プログラムおよび記録媒体）
最後に、コンテンツ再生装置１００に備えられている制御部１１０は、ハードウェアロジックによって構成すればよい。または、次のように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いてソフトウェアによって実現してもよい。
【０２１６】
すなわち、制御部１１０は、各機能を実現するプログラムの命令を実行するＣＰＵ、このプログラムを格納したＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、上記プログラムを実行可能な形式に展開するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、および、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）を備えている。この構成により、本発明の目的は、所定の記録媒体によっても、達成できる。
【０２１７】
この記録媒体は、上述した機能を実現するソフトウェアである制御部１１０のプログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録していればよい。制御部１１０に、この記録媒体を供給する。これにより、コンピュータとしての制御部１１０（またはＣＰＵやＭＰＵ）が、供給された記録媒体に記録されているプログラムコードを読み出し、実行すればよい。
【０２１８】
プログラムコードを制御部１１０に供給する記録媒体は、特定の構造または種類のものに限定されない。すなわちこの記録媒体は、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などとすることができる。
【０２１９】
また、コンテンツ再生装置１００を通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して制御部１１０に供給する。この通信ネットワークは制御部１１０にプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえばインターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、電話回線網、移動体通信網、衛星通信網等であればよい。
【０２２０】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえばＩＥＥＥ１３９４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０２２１】
本発明は、上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０２２２】
本発明に係るプログラム実行装置は、例えば、光ディスクを再生することによりコンテンツを再生するプレイヤー装置、レコーダー装置などのコンテンツ再生装置一般に広く適用することができる。
【符号の説明】
【０２２３】
１００      コンテンツ再生装置（コンテンツ再生装置）
１１０      制御部（記録手段、実行手段、第１の判定手段、第２の判定手段、消去手段）
１２０      メモリ
１３０      記録部（第２の記録媒体）
１４０      コンテンツ再生処理部
１５０      ディスクドライブ部（読出部）
１６０      出力部
１７０      通信部
２００      表示部
【図１】
2011018277.tif 000003
【図２】
2011018277.tif 000004
【図３】
2011018277.tif 000005
【図４】
2011018277.tif 000006
【図５】
2011018277.tif 000007
【図６】
2011018277.tif 000008
【図７】
2011018277.tif 000009
【図８】
2011018277.tif 000010
【図９】
2011018277.tif 000011
【図１０】
2011018277.tif 000012
【図１１】
2011018277.tif 000013