(57)【特許請求の範囲】
【請求項１】
デジタルコンテンツを構成する複数のファイルを格納するための記憶装置と、
デジタルコンテンツのファイルを前記記憶装置に記録する処理部と、
デジタルコンテンツを実行するコンテンツ実行部と、を備え、
各ファイルは複数のグループのうち少なくとも１つのグループに属し、また各グループには少なくとも１つのファイルが属しており、
前記処理部は、
ネットワークに接続されたサーバからデジタルコンテンツを取得するダウンロード実行部と、
グループ単位で、ファイルが前記記憶装置に記録されているか判定する判定部を有し、
複数のデジタルコンテンツがダウンロードの対象として決定されると、前記ダウンロード実行部は、各デジタルコンテンツの最初にダウンロードするべき第１グループに属する１以上のファイルを優先して取得するものであって、
前記ダウンロード実行部によるダウンロード処理の実行中、前記判定部は、第１グループに属する１以上のファイルの全てが前記記憶装置に記録されたか判定し、
前記判定部が、第１グループに属する１以上のファイルの全てが前記記憶装置に記録されたことを判定した後、前記ダウンロード実行部によるダウンロード処理の実行中に、前記コンテンツ実行部は、ユーザからの指示を受けて又はユーザからの指示なしに、デジタルコンテンツを実行することが可能となり、
前記ダウンロード実行部が、複数のデジタルコンテンツの第１グループに属する１以上のファイルを取得した後、前記コンテンツ実行部が、いずれかのデジタルコンテンツを起動すると、前記ダウンロード実行部は、起動されたデジタルコンテンツの第１グループ以外のグループに属するファイルを取得する、
ことを特徴とする情報処理装置。
【請求項２】
前記ダウンロード実行部は、デジタルコンテンツから指定されたグループ特定情報にしたがって、サーバから、そのグループに属するファイルを取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
当該情報処理装置においては、使用される言語の情報が設定されており、
前記ダウンロード実行部は、複数の言語用に設定されたグループのうち、当該情報処理装置において設定されている言語に対応するグループに属するファイルをダウンロードし、設定されている言語に対応しないグループに属するファイルをダウンロードしないことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記ダウンロード実行部は、各デジタルコンテンツの第１グループのダウンロード進行状況をディスプレイに表示する、
ことを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
前記処理部は、前記判定部があるグループに属するファイルが全て前記記憶装置に記録されたことを判定すると、そのグループを特定するグループ特定情報を、前記コンテンツ実行部に通知する通知部をさらに有することを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
複数のファイルで構成されるデジタルコンテンツであって、各ファイルは複数のグループのうち少なくとも１つのグループに属し、また各グループには少なくとも１つのファイルが属しているデジタルコンテンツのファイルを、ネットワークに接続されたサーバからダウンロードして記憶装置に記録する記録ステップと、
グループ単位でファイルが前記記憶装置に記録されているか判定する判定ステップと、
デジタルコンテンツを実行する実行ステップと、を含み、
前記記録ステップは、複数のデジタルコンテンツがダウンロードの対象として決定されると、各デジタルコンテンツの最初にダウンロードするべき第１グループに属する１以上のファイルを優先してダウンロードし、
前記記録ステップによるダウンロード処理の実行中、前記判定ステップは、第１グループに属する１以上のファイルの全てが前記記憶装置に記録されたか判定し、
前記判定ステップが、第１グループに属する１以上のファイルの全てが前記記憶装置に記録されたことを判定した後、前記記録ステップによるダウンロード処理の実行中に、前記実行ステップは、ユーザからの指示を受けて又はユーザからの指示なしに、デジタルコンテンツを実行するものであって、
前記記録ステップが、複数のデジタルコンテンツの第１グループに属する１以上のファイルをダウンロードした後、前記実行ステップが、いずれかのデジタルコンテンツを起動すると、前記記録ステップは、起動されたデジタルコンテンツの第１グループ以外のグループに属するファイルをダウンロードする、
ことを特徴とするファイル管理方法。
【請求項７】
コンピュータに、
複数のファイルで構成されるデジタルコンテンツであって、各ファイルは複数のグループのうち少なくとも１つのグループに属し、また各グループには少なくとも１つのファイルが属しているデジタルコンテンツのファイルを、ネットワークに接続されたサーバからダウンロードして記憶装置に記録する記録機能と、
グループ単位でファイルが前記記憶装置に記録されているか判定する判定機能と、
デジタルコンテンツを実行する実行機能と、を実現させるためのプログラムであって、
前記記録機能は、複数のデジタルコンテンツがダウンロードの対象として決定されると、各デジタルコンテンツの最初にダウンロードするべき第１グループに属する１以上のファイルを優先してダウンロードする機能を含み、
前記記録機能によるダウンロード処理の実行中、前記判定機能は、第１グループに属する１以上のファイルの全てが前記記憶装置に記録されたか判定する機能を含み、
前記判定機能により、第１グループに属する１以上のファイルの全てが前記記憶装置に記録されたことが判定された後、前記記録機能によるダウンロード処理の実行中に、前記実行機能は、ユーザからの指示を受けて又はユーザからの指示なしに、デジタルコンテンツを実行する機能を含み、
前記記録機能により、複数のデジタルコンテンツの第１グループに属する１以上のファイルがダウンロードされた後、前記実行機能により、いずれかのデジタルコンテンツが起動されると、前記記録機能は、起動されたデジタルコンテンツの第１グループ以外のグループに属するファイルをダウンロードする機能を含む、
ことを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム装置などの情報処理装置で実行される情報処理技術に関する。
【背景技術】
【０００２】
従来よりゲームソフトウェアは、光ディスクや光磁気ディスク、ブルーレイディスクなどのＲＯＭ媒体の形態で流通、販売されてきた。また最近ではインターネットにおけるデータ通信の高速化により、ゲームサーバがインターネット経由でゲームソフトウェアを配信できるようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＵＳ２０１１／３２２５０号公開公報
【特許文献２】ＵＳ２０１２／１９２１７１号公開公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながらブロードバンド回線が整備されていない地域もあり、そのような地域ではゲームソフトウェアのダウンロードに時間がかかるという問題がある。特にゲーム装置の処理速度が向上すると、それに合わせて製作されるゲームソフトウェアのデータサイズも大規模化する傾向があり、たとえばデータサイズが数十ギガバイト（ＧＢ）〜数百ＧＢともなると、回線によってはダウンロードに数十分〜数十時間かかることが予想される。【０００５】
ゲーム装置がインターネット経由でゲームソフトウェアを購入してダウンロードする場合、当然のことながら、ユーザはゲーム購入後、すみやかにゲームプレイすることを希望する。しかしながらダウンロード完了までに長時間かかってしまうと、ユーザがゲーム購入後すみやかにゲームプレイできるとはとても言えない。そのためユーザがゲームソフトウェアをダウンロードする際、すみやかにゲームプレイできる仕組みを構築することが好ましい。【０００６】
またゲーム装置は、通常ハードディスクドライブ（ＨＤＤ）やフラッシュメモリなどの補助記憶装置を有しているが、これら補助記憶装置からのデータの読み出しは、ドライブ装置に挿入されるＲＯＭ媒体からのデータの読み出しよりも高速である。たとえば３次元（３Ｄ）グラフィックスの演算量が多いゲームでは、できるだけ高速にデータを読み出してゲームに渡すことが要求されるため、データ処理の観点から見れば、ＲＯＭ媒体に記録されているゲームソフトウェアを補助記憶装置にコピーした後、補助記憶装置から必要なデータを読み出してゲームを実行することが好ましい。【０００７】
しかしながら上述したように、ゲームソフトウェアのデータサイズが大規模化すると、ゲームソフトウェアを構成する全てのファイルを補助記憶装置にコピーするのに相当な時間がかかり、その間、ユーザはゲームプレイを待たされることになる。そのためＲＯＭ媒体にゲームソフトウェアが記録されている場合に、ユーザのゲームプレイを可能としつつ、実行中のゲームが可能な限り高速なデータアクセスを実現できる仕組みを構築することが好ましい。【０００８】
そこで本発明は、ユーザが快適にゲームをプレイすることのできる環境を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の情報処理装置は、デジタルコンテンツを構成する複数のファイルを格納するための記憶装置と、デジタルコンテンツのファイルを記憶装置に記録する処理部とを備える。各ファイルは複数のグループのうち少なくとも１つのグループに属し、また各グループには少なくとも１つのファイルが属しており、処理部は、グループ単位で、ファイルが記憶装置に記録されているか判定する判定部を有する。【００１０】
本発明の別の態様は、ファイル管理方法である。この方法は、複数のファイルで構成されるデジタルコンテンツであって、各ファイルは複数のグループのうち少なくとも１つのグループに属し、また各グループには少なくとも１つのファイルが属しているデジタルコンテンツのファイルを記憶装置に記録するステップと、グループ単位でファイルが記憶装置に記録されているか判定するステップとを含む。【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明の情報処理技術によると、ユーザが快適にゲームをプレイすることのできる環境を実現することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例にかかる情報処理システムを示す図である。
【図２】情報処理装置の機能ブロック図である。
【図３】ゲームソフトウェアの構成を示す図である。
【図４】ゲームソフトウェアの具体的な構成例を示す図である。
【図５】グループとファイルの関係の一例を示す図である。
【図６】グループファイルの一例を示す図である。
【図７】情報処理装置におけるダウンロード処理およびコピー処理を実行するための機能ブロックを示す図である。
【図８】ディスプレイに表示されるダウンロード状況の一例を示す図である。
【図９】ディスプレイに表示されるダウンロード順選択画面の一例を示す図である。
【図１０】各ゲームソフトウェアの構成を示す図である。
【図１１】コピー処理の一例を説明するための図である。
【図１２】コピー処理の別の例を説明するための図である。
【図１３】データの先読み処理を説明するための図である。
【発明を実施するための形態】
【００１４】
図１は、本発明の実施例にかかる情報処理システム１を示す。情報処理システム１は、情報処理装置１０と、ネットワークサーバ５と、デジタルコンテンツを配信するコンテンツサーバ１２と、デジタルコンテンツを販売するストアサーバ１６とを備え、これらはインターネットやＬＡＮ（Local Area Network）などのネットワーク３を介して接続している。コンテンツサーバ１２は、デジタルコンテンツのメーカやパブリッシャなどにより保守、管理される。
【００１５】
アクセスポイント（以下、「ＡＰ」とよぶ）８は、無線アクセスポイントおよびルータの機能を有し、情報処理装置１０は、無線または有線経由でＡＰ８に接続して、ネットワーク３上のネットワークサーバ５、コンテンツサーバ１２、ストアサーバ１６と通信可能に接続する。
【００１６】
情報処理装置１０は、ユーザが操作する入力装置６と無線または有線で接続し、入力装置６はユーザの操作結果を示す操作情報を情報処理装置１０に出力する。情報処理装置１０は入力装置６から操作情報を受け付けるとシステムソフトウェアやアプリケーションソフトウェアの処理に反映し、出力装置４から処理結果を出力させる。情報処理システム１において情報処理装置１０はゲームソフトウェアを実行するゲーム装置であり、入力装置６はゲームコントローラなど情報処理装置１０に対してユーザの操作情報を供給する機器であってよい。ゲームをプレイするためにユーザは情報処理装置１０のＯＳ（システムソフトウェア）にログインする。システムソフトウェアにログインするユーザは、情報処理装置１０において登録されているユーザアカウントによって管理される。
【００１７】
ネットワークサーバ５は情報処理システム１の運営主体により保守、管理され、情報処理システム１のユーザに対してゲームのネットワークサービスを提供する。ネットワークサーバ５はユーザを識別するネットワークアカウントを管理しており、ユーザは、ネットワークアカウントを用いて、ネットワークサーバ５が提供するネットワークサービスにサインインする。ユーザは情報処理装置１０からネットワークサービスにサインインすることで、ストアサーバ１６からデジタルコンテンツを購入し、またコンテンツサーバ１２からデジタルコンテンツの配信を受けることができる。なお本実施例において、デジタルコンテンツは、アプリケーションソフトウェアや、ムービーなどのＡＶデータであってよいが、以下では、特にデジタルコンテンツがゲームソフトウェアである場合について説明する。
【００１８】
補助記憶装置２はＨＤＤ（ハードディスクドライブ）やフラッシュメモリなどの大容量記憶装置であり、ＵＳＢ（Universal Serial Bus）などによって情報処理装置１０と接続する外部記憶装置であってよく、内蔵型記憶装置であってもよい。出力装置４は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置４は、情報処理装置１０に有線ケーブルで接続されてよく、無線接続されてもよい。
【００１９】
入力装置６は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。撮像装置であるカメラ７は出力装置４の近傍に設けられ、出力装置４周辺の空間を撮像する。図１ではカメラ７が出力装置４の上部に取り付けられている例を示しているが、出力装置４の側方に配置されてもよく、いずれにしても出力装置４の前方でゲームをプレイするユーザを撮像できる位置に配置される。情報処理装置１０は、カメラ７の撮像画像からユーザを顔認証する機能をもつ。
【００２０】
図２は、情報処理装置１０の機能ブロック図を示す。情報処理装置１０は、メイン電源ボタン２０、電源ＯＮ用ＬＥＤ２１、スタンバイ用ＬＥＤ２２、システムコントローラ２４、クロック２６、デバイスコントローラ３０、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０を有して構成される。
【００２１】
メインシステム６０は、メインＣＰＵ（Central Processing Unit）を有して構成され、サブシステム５０は、サブＣＰＵを有して構成される。サブＣＰＵは、メインＣＰＵがスタンバイ状態にある場合でも、アクティブ状態を維持する。情報処理装置１０のメイン電源がオンされている間、メインＣＰＵはシステムソフトウェアが生成する環境下においてアプリケーションの実行などの各種処理を実行する。一方で情報処理装置１０のメイン電源がオフされると、サブＣＰＵが、ダウンロード処理などを実行する。
【００２２】
メイン電源ボタン２０は、ユーザからの操作入力が行われる入力部であって、情報処理装置１０の筐体の前面に設けられ、情報処理装置１０のメインシステム６０への電源供給をオンまたはオフするために操作される。以下、メイン電源がオン状態にあるとは、メインシステム６０がアクティブ状態にあることを意味し、メイン電源がオフ状態にあるとは、メインシステム６０がスタンバイ状態にあることを意味する。電源ＯＮ用ＬＥＤ２１は、メイン電源ボタン２０がオンされたときに点灯し、スタンバイ用ＬＥＤ２２は、メイン電源ボタン２０がオフされたときに点灯する。
【００２３】
システムコントローラ２４は、ユーザによるメイン電源ボタン２０の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オフ指示」として取得する。
【００２４】
メインＣＰＵは補助記憶装置２やＲＯＭ媒体４４にインストールされているゲームプログラムを実行する機能をもつ一方で、サブＣＰＵはそのような機能をもたない。しかしながらサブＣＰＵは、メインＣＰＵがスタンバイ状態にある間、補助記憶装置２にアクセスする機能、ネットワークサーバ５との間で情報を送受信する機能を有している。サブＣＰＵは、このような制限された処理機能のみを有して構成されており、したがってメインＣＰＵと比較して小さい消費電力で動作できる。
【００２５】
クロック２６はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ２４やサブシステム５０およびメインシステム６０に供給する。
【００２６】
デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【００２７】
メディアドライブ３２は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したＲＯＭ媒体４４を装着して駆動し、ＲＯＭ媒体４４からプログラムやデータなどを読み出すドライブ装置である。以下では、プログラムおよびデータを特に区別しない場合には、まとめてデータと呼ぶこともあるが、データは、ファイルを構成する要素を表現するものとしても使用する。ＲＯＭ媒体４４は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【００２８】
ＵＳＢモジュール３４は、外部機器とＵＳＢケーブルで接続するモジュールである。ＵＳＢモジュール３４は補助記憶装置２およびカメラ７とＵＳＢケーブルで接続してもよい。フラッシュメモリ３６は、内部ストレージを構成する補助記憶装置である。無線通信モジュール３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置６と無線通信する。なお無線通信モジュール３８は、ＩＴＵ（International Telecommunication Union；国際電気通信連合）によって定められたＩＭＴ−２０００（International Mobile Telecommunication 2000）規格に準拠した第３世代（3rd Generation）デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール４０は、外部機器と有線通信し、たとえばＡＰ８を介してネットワーク３に接続する。
【００２９】
メインシステム６０は、メインＣＰＵ、主記憶装置であるメモリおよびメモリコントローラ、ＧＰＵ（Graphics Processing Unit）などを備える。ＧＰＵはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、１つのチップ上に形成されてよい。メインＣＰＵはシステムソフトウェアを起動し、システムソフトウェアが提供する環境下において、補助記憶装置２にインストールされたアプリケーションを実行する機能をもつ。
【００３０】
サブシステム５０は、サブＣＰＵ、主記憶装置であるメモリおよびメモリコントローラなどを備え、ＧＰＵを備えない。サブＣＰＵの回路ゲート数は、メインＣＰＵの回路ゲート数よりも少なく、サブＣＰＵの動作消費電力は、メインＣＰＵの動作消費電力よりも少ない。上記したように、サブＣＰＵは、メインＣＰＵがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。なおサブＣＰＵおよびメモリは、別個のチップに形成されてもよい。
【００３１】
図１に戻ってコンテンツサーバ１２は、情報処理装置１０にデジタルコンテンツであるゲームソフトウェアを提供する。ゲームソフトウェアは、起動ファイル、ゲームプログラムなどのゲームを実行するためのリソースファイル群、および情報処理装置１０のシステムソフトウェアが使用するファイル群を含んでいる。ゲームプログラムは、ゲームの実行に必要なプログラムであり、ゲームプログラムを走らせることで、ゲームが進行する。起動ファイルは、ゲームプログラムを起動するためのプログラムであり、起動ファイルを実行すると、ゲームプログラムが呼び出されて実行される。システムソフトウェアが使用するファイル群は、たとえば、情報処理装置１０におけるメニュー画面に表示されるゲームアイコン画像などを含む。
【００３２】
コンテンツサーバ１２は情報処理装置１０に、ゲームに適用するパッチを提供することもできる。パッチは、バグを修正したゲームプログラムや、ゲーム機能を変更するためのデータファイルなどを含む。パッチはゲームソフトウェアと同じファイル構成を有し、ゲームソフトウェアに含まれるファイルと置き換えられるべきファイルを含んでいる。
【００３３】
そのため情報処理装置１０は、ゲームソフトウェアおよびパッチの両方を補助記憶装置２にインストールすると、両方に同名のファイルが含まれている場合には、パッチに含まれるファイルを利用してゲームを実行する。なお、ゲームソフトウェアとパッチは、情報処理装置１０において別個のディレクトリに格納され、ゲームソフトウェアのファイルがパッチのファイルにより上書きされるわけではない。なお、情報処理装置１０が、複数のバージョンのパッチをダウンロードしている場合には、より新しいバージョンのパッチのファイルが使用されることで、ゲームが最新の状態で実行されることになる。
【００３４】
本実施例の情報処理装置１０は効率的なインストール処理を実現し、ユーザがすみやかにゲームをプレイできる仕組みを提供する。１つの利用場面は、情報処理装置１０がコンテンツサーバ１２からゲームソフトウェアを補助記憶装置２にダウンロードする場合であり、もう１つの利用場面は、情報処理装置１０がメディアドライブ３２に装着されたＲＯＭ媒体４４に記録されたファイルを用いてゲームを実行しつつ、ゲームソフトウェアをＲＯＭ媒体４４から補助記憶装置２にコピーする場合である。後者の利用場面においては、情報処理装置１０がＲＯＭ媒体４４に記録されたファイルを適宜補助記憶装置２にコピーし、ゲームの実行に必要なデータが補助記憶装置２にあれば、補助記憶装置２にコピーされたファイルを利用し、補助記憶装置２になければＲＯＭ媒体４４に記録されたデータを利用して、ゲームを進行させる。以下、それぞれの利用場面における情報処理装置１０の動作を説明するが、両場面において共通の動作および内容については敢えて重複して説明しない。
【００３５】
＜サーバからゲームソフトウェアをダウンロードする場合＞
ゲームソフトウェアは、起動ファイル、ゲームプログラムなどのゲームを実行するためのリソースファイル群、および情報処理装置１０のシステムソフトウェアが使用するファイル群を含んでいる。本実施例のゲームソフトウェアは、販売または流通する単位となるパッケージソフトウェアである。情報処理システム１において、ゲームソフトウェアは、コンテンツサーバ１２からネットワーク３経由で情報処理装置１０にダウンロードされるものと、ＲＯＭ媒体４４から情報処理装置１０に供給されるものとが存在するが、両者とも、同一のディレクトリ構造を有し、各ディレクトリは同一のファイルを有して構成されている。このようにディレクトリ構造およびディレクトリに含まれるファイルを同一とすることで、ゲーム開発メーカは、販売または流通形態に依存しない１種類のゲームソフトウェアを製作すればよいため、開発コストの負担を下げられる利点がある。
【００３６】
ゲームソフトウェアはツリー型ディレクトリ構造を有し、最上層のルートディレクトリには起動ファイルが含まれている。下層のサブディレクトリは、ファイルの種類ごとに分類され、たとえば３Ｄモデル用のサブディレクトリ、テクスチャ用のサブディレクトリ、スクリプト用のサブディレクトリなどが形成されている。各サブディレクトリには、対応するファイルが含まれており、３Ｄモデル用サブディレクトリには複数の３Ｄモデルファイルが、テクスチャ用サブディレクトリには複数のテクスチャファイルが、スクリプト用サブディレクトリには複数のスクリプトファイルが含まれる。たとえばテクスチャ用のサブディレクトリには、ゲームのシーン１用のテクスチャファイル、シーン２用のテクスチャファイル、シーン３用のテクスチャファイルなどが含まれている。
【００３７】
図３は、ゲームソフトウェアの構成を示す。本実施例のゲームソフトウェア７０は複数のファイルによって構成され、図示されるように複数のグループ７２に論理的に分割される。各ファイルは複数のグループ７２のうち少なくとも１つのグループに属し、また各グループ７２には少なくとも１つのファイルが属している。図３に示すゲームソフトウェア７０には、先頭グループとして第１グループ７２ａが存在し、それに後続するグループとして第２グループ７２ｂ、第３グループ７２ｃ、第４グループ７２ｄ、第５グループ７２ｅ、第６グループ７２ｆが存在している。なお第６グループ７２ｆに後続する７番目以降のグループ７２が存在していてもよい。各グループは、第１、第２などのグループ番号によって識別される。
【００３８】
既述したように、ゲームソフトウェア７０はツリー型ディレクトリ構造を有しており、そのディレクトリ構造には、ファイルの種類ごとに複数のサブディレクトリが形成されている。論理的に分割された各グループには、複数のサブディレクトリに含まれるファイルが属し、すなわち各グループは、種類の異なるファイルによって構成され、情報処理装置１０がゲーム中のシーンやステージなどの特定の単位を実行するのに必要なファイルが属するように設定されている。なお後述する言語用のグループは、ゲーム中のシーンで使用されるものであり、必ずしも特定の単位を実行するのに必要なファイルが属していなくてもよい。
【００３９】
第１グループ７２ａには、ゲームソフトウェア７０の起動に必要なプログラムファイルおよびデータファイルが属している。したがって情報処理装置１０は、第１グループ７２ａに属する全てのファイルをダウンロードすれば、後続の第２グループ７２ｂ以降のファイルをダウンロードしなくても、ただちにゲームソフトウェア７０を起動することが可能となる。なお情報処理装置１０は、第１グループ７２ａに属する全てのファイルを取得して、ゲームソフトウェア７０を起動した後に、後続のグループ７２に属するファイルをバックグランドでダウンロードする。このようにゲームの実行に必要な最低限のファイルをまず最初にダウンロードさせ、それらのファイルが揃った時点でゲームを実行可能とすることで、ユーザのダウンロード待ち時間を短くすることが可能となる。
【００４０】
図４は、ゲームソフトウェアの具体的な構成例を示す。第１グループ７２ａは、ゲームソフトウェア７０の中で一番最初にダウンロードされるべきファイル群で構成されており、ここではゲームパラメータファイル、グループファイル、起動ファイルおよび必須リソースファイルが示されている。
【００４１】
ここでゲームパラメータファイルは、情報処理装置１０のシステムソフトウェアが使用するファイルであり、たとえばタイトルＩＤやディスプレイ解像度などの情報、またアイコン画像データなどを含んでいる。
【００４２】
グループファイルは、各ファイルがどのグループに含まれるかを記述する定義ファイルである。たとえばグループファイルはＸＭＬで表現されてよいが、他のプログラム言語によって表現されてもよく、その形式は問わない。グループファイルについては、図５、図６に関して後述する。
【００４３】
起動ファイルは、ゲームプログラムを起動するためのプログラムである。また必須リソースファイルは、ゲーム実行に必須となるプログラムなどのリソースファイルやゲーム全体で使用する共通ファイルなどを含む。
【００４４】
情報処理装置１０は、第１グループ７２ａに属するファイル群を全て取得すれば、ゲームを起動することができる。逆に言えば、第１グループ７２ａは、ユーザがゲームの一部をプレイするために必要なファイル群を含むように構成されている。なお、ここでいうゲームプレイは、たとえばユーザがキャラクタを決定したり、ゲームレベルを決定するなど、ゲーム開始時に行う設定行動も含むものであってよい。つまり第１グループ７２ａは、ゲームを起動し、ユーザが少なくとも何らかの動作を行える状態にするために必要なファイル群を含んで構成されている。第１グループ７２ａに含まれるファイル群を用いて実行可能となるゲームプレイは、たとえばゲームの初期設定だけであってもよく、またゲームの第１ステージまでプレイ可能とするものであってもよい。これはゲームメーカ次第である。
【００４５】
図４に示す例では、第２グループ７２ｂには、シーン１用の複数のリソースファイルが属しており、第３グループ７２ｃには、シーン２用の複数のリソースファイルが属しており、第４グループ７２ｄには、シーン３用の複数のリソースファイルが属している。具体的に複数のリソースファイルは、特定のシーン用の３Ｄモデルファイル、テクスチャファイル、スクリプトファイルなどであり、ディレクトリ構造の複数のサブディレクトリに含まれるファイルを含む。また第１０グループ７２ｋには、英語用のリソースファイルが属しており、また第１１グループ７２ｌには、日本語用のリソースファイルが属している。
【００４６】
近年のゲームは、言語が異なる複数の国で実行可能に作成されているものが多い。音声データおよび画像データは、複数の言語に対応して作成され、複数言語の音声ファイルおよび画像ファイルが、１つのパッケージソフトウェアに収められている。以下、このようなファイルを「言語依存」ファイルと呼ぶこともあるが、音声ファイルおよび画像ファイルは、基本的にデータサイズが大きくなる傾向があり、このような言語依存ファイルのデータサイズは、ゲームソフトウェア全体のデータサイズに対して、かなりの割合を占めることがある。そこで本実施例のゲームソフトウェア７０は、必要な言語依存ファイルのみを取得できるように、言語ごとに音声ファイルおよび画像ファイルを集合させた言語用のリソースファイルのグループを含むようにしている。
【００４７】
図５は、グループとファイルの関係の一例を示す。ここでは、ファイルＡ〜Ｎが、各グループ７２に属していることが示される。図示されるように、各ファイルは複数のグループ７２のうち少なくとも１つのグループに属し、また各グループ７２には少なくとも１つのファイルが属している。なおファイルＧは、第２グループ７２ｂ、第３グループ７２ｃおよび第４グループ７２ｄに属している。このことは、ファイルＧが、ゲーム中のシーン１、シーン２、シーン３を構成する上で必要なファイルであることを意味し、このように１つのファイルが、複数のグループに所属することもある。なお同様にファイルＫも、複数のグループ７２、すなわち第４グループ７２ｄおよび第５グループ７２ｅに属している。
【００４８】
図６は、グループファイルの一例を示す。既述したように、グループファイルはＸＭＬによって表現されてもよく、他のプログラム言語によって表現されてもよい。図６には、理解を容易にするために、グループとファイルの対応関係をテーブル形式で表現したグループファイルを示している。情報処理装置１０は、ゲームソフトウェア７０の各ファイルをダウンロードする際に、グループファイルを参照して、あるグループに属するファイルが全て揃ったか、または揃ってないかを判定することが可能となる。たとえば第１グループ７２ａに関して言えば、情報処理装置１０はグループファイルを参照することで、第１グループ７２ａに属するファイルが、ファイルＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆであることを認識できるため、これらのファイルが補助記憶装置２に記録されていれば、第１グループ７２ａに属するファイルが全て揃ったことを判定する。
【００４９】
図７は、情報処理装置１０におけるダウンロード処理およびコピー処理を実行するための機能ブロックを示す。本実施例においてダウンロード処理は、コンテンツサーバ１２からゲームソフトウェアを取得（ダウンロード）して補助記憶装置２にインストールする処理であり、またコピー処理は、ＲＯＭ媒体４４に記録されたゲームソフトウェアを補助記憶装置２にコピー（インストール）する処理である。そのため、ダウンロード処理およびコピー処理を、本実施例ではまとめてインストール処理と呼ぶこともある。
【００５０】
情報処理装置１０は、入力部９０、メインシステム６０、補助記憶装置２、メモリ６４、およびメディアドライブ３２を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラム、ストレージなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００５１】
補助記憶装置２はたとえばＨＤＤやフラッシュメモリであり、メディアドライブ３２はＲＯＭ媒体４４などの記録媒体が装着されて記録媒体からデータを読み出すことができる。なおメディアドライブ３２に装着される記録媒体はＲＯＭ媒体４４に限られるものではない。情報処理装置１０において補助記憶装置２のデータ読出速度とメディアドライブ３２のデータ読出速度を比較すると、補助記憶装置２のデータ読出速度の方が、メディアドライブ３２のデータ読出速度よりも高速となる。この意味において、本実施例では補助記憶装置２を高速デバイス、メディアドライブ３２を低速デバイスと呼ぶこともある。入力部９０は、ユーザが入力装置６を操作した操作情報を受け付け、受付部１０２に提供する。
【００５２】
メインシステム６０は、インストール処理部１００、ファイルシステム１３０、コンテンツ実行部１４０およびデータ受渡部１５０を備える。ファイルシステム１３０は補助記憶装置２、フラッシュメモリ３６およびＲＯＭ媒体４４に記録されたファイルを管理し、さらにはファイルに含まれるデータがどの媒体に記録されているか、具体的にはデータが補助記憶装置２、フラッシュメモリ３６およびＲＯＭ媒体４４のどこに記録されているかを管理する。ファイルシステム１３０のファイル管理機能は、システムソフトウェアのカーネルレイヤや、ユーティリティソフトウェアなどにより実現される。
【００５３】
インストール処理部１００は、ゲームソフトウェアのダウンロード処理およびコピー処理を行って、ゲームソフトウェアのファイルを補助記憶装置２に記録する機能を有し、受付部１０２、ダウンロード実行部１０４、記録処理部１０６、判定部１０８、通知部１１０およびグループ決定部１１２を備える。コンテンツ実行部１４０は、ライセンス情報が存在していることを前提としてデジタルコンテンツを実行し、本実施例ではゲームソフトウェアを実行する。ライセンス情報はゲーム購入時にストアサーバ１６より提供されて、補助記憶装置２またはフラッシュメモリ３６に記録されている。データ受渡部１５０は、データの受渡処理を行い、パス取得部１５２、読出部１５４および提供部１５６を備える。
【００５４】
ゲームソフトウェアのダウンロード処理において、補助記憶装置２は、ゲームソフトウェアを構成する複数のファイルを格納するための記憶装置として利用される。ゲームソフトウェアにおいて、各ファイルは少なくとも１つのグループに所属しており、また各グループには少なくとも１つのファイルが所属しているが、ダウンロード処理は、グループ単位で実行される。たとえば、ファイルＸ，Ｙ，ＺがグループＳに属している場合、グループＳのダウンロード要求が生成された場合には、ファイルＸ，Ｙ，Ｚがコンテンツサーバ１２からダウンロードされて、グループＳに属する全てのファイルＸ，Ｙ，Ｚが補助記憶装置２に記録されるようになる。なお既にファイルＸがダウンロード済みである場合には、ファイルＹ，Ｚがコンテンツサーバ１２からダウンロードされて、これによりグループＳに属する全てのファイルＸ，Ｙ，Ｚが補助記憶装置２に記録されるようになる。
【００５５】
ゲームソフトウェアの購入処理において、システムソフトウェアは、ストアサーバ１６からゲームソフトウェアの販売ページのアドレスを受け取り、出力装置４のディスプレイに販売ページを表示させる。ユーザが入力装置６を操作して、所望のゲームソフトウェアを選択すると、課金処理が行われてライセンス情報が情報処理装置１０に付与されるとともに、選択したゲームソフトウェアを特定するゲーム特定情報（タイトルＩＤ）を含むダウンロード情報がコンテンツサーバ１２に送信され、コンテンツサーバ１２が、情報処理装置１０に対して、ゲーム特定情報で指定されるゲームソフトウェアのファイルを配信可能な状態となる。
【００５６】
インストール処理部１００において、グループ決定部１１２は、ダウンロード実行部１０４がダウンロードするゲームソフトウェアのグループを決定する。新たなゲームソフトウェアのダウンロード処理を開始する際、グループ決定部１１２は、最初にダウンロードするべきグループとして、第１グループ７２ａを決定する。ダウンロード実行部１０４はネットワーク３に接続されたコンテンツサーバ１２からゲームソフトウェアをダウンロードして取得する機能を有し、具体的には、グループ決定部１１２で決定されたグループを特定する情報（グループ特定情報）を含むダウンロード要求をコンテンツサーバ１２に送信して、そのグループに含まれるファイルをダウンロードする。
【００５７】
図３に示すように、ゲームソフトウェアのグループはグループ番号で特定することができる。グループ番号は１から降順に設定されており、グループ決定部１１２は、グループの１つの決定手法として、ダウンロードするグループの順番を、グループ番号順と同じく定めてもよい。つまりグループ決定部１１２は、より番号の小さいグループを、より早い順番でダウンロードする対象として決定し、したがって第１グループ７２ａ、第２グループ７２ｂ、第３グループ７２ｃ・・・と、グループ番号順にダウンロードすることを決定してもよい。グループ決定部１１２は、ダウンロードするグループの順番を決めると、その順番をダウンロード実行部１０４に通知し、ダウンロード実行部１０４が、その順番にしたがってグループに含まれるファイルをダウンロードする。
【００５８】
グループ決定部１１２が最初にダウンロードするべきグループとして第１グループ７２ａを決定すると、ダウンロード実行部１０４は、コンテンツサーバ１２に、第１グループ７２ａを特定する情報を含むダウンロード要求を送信する。コンテンツサーバ１２は、ダウンロード要求されたゲームソフトウェアのグループファイルを参照して、第１グループ７２ａに含まれるファイルを特定する。図６に示されるように、第１グループ７２ａには、ファイルＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆが含まれており、コンテンツサーバ１２は、ファイルＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆを順に情報処理装置１０に配信する。ダウンロード実行部１０４がファイルＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆを受け取ると、記録処理部１０６が、補助記憶装置２にファイルＡ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆを記録する。
【００５９】
判定部１０８は、グループ単位で、ファイルが補助記憶装置２に記録されているか判定する。グループとファイルの対応関係はグループファイルに記述されているため、判定部１０８は、補助記憶装置２にグループファイルが記録された後、グループファイルを参照して、グループに属するファイルが全て補助記憶装置２に記録されているか判定する。なお本実施例の情報処理装置１０は、第１グループ７２ａのファイルをダウンロードした後、後続グループのファイルのダウンロードを待たずにゲーム起動することができるが、ゲーム実行中、通知部１１０は、グループに含まれる全てのファイルが補助記憶装置２に記録されたグループの特定情報をコンテンツ実行部１４０に通知する。このグループ特定情報はゲームに渡され、これによりゲームは、そのグループのファイルを使用できることを知ることができる一方で、グループに含まれるファイルが未ダウンロードであれば、そのグループのファイルを使用できないことを知ることができる。使用できない場合には、ゲームは、そのグループのファイルを利用するシーンを表現できないため、そのグループのファイルがダウンロードされるまで前のシーンを出力装置４から表示して待機し、突然ゲーム進行が中断しないように対応する。
【００６０】
第１グループ７２ａに含まれるファイルのダウンロード中、ダウンロード実行部１０４は、ダウンロード進捗状況を、プログレスバーの形式でディスプレイに表示してもよい。
図８は、ディスプレイに表示されるダウンロード状況の一例を示す。図８ではゲームタイトルを“ＴＥＮＮＩＳ４”とするゲームソフトウェアがダウンロード中であり、２ギガバイト（ＧＢ）のうち０．８ＧＢのデータがダウンロード済みであることが示されている。ここで表示されるダウンロードの進捗状況は、ＴＥＮＮＩＳ４を構成する全ファイルの進捗状況を表現するのではなく、あくまでも第１グループ７２ａに属するファイルのダウンロード進捗状況を表現している。したがって、図８に示す例では、第１グループ７２ａに属するファイルのデータサイズが２ＧＢであって、そのうちの０．８ＧＢがダウンロード済みであり、あと２分で残りのデータがダウンロードできることが示されている。
【００６１】
既述したように第１グループ７２ａは、ゲームを起動するために最低限必要なファイル群を含んで構成されているため、第１グループ７２ａのファイル群が補助記憶装置２に記録されると、ユーザがゲームを開始しうる状態となる。そこでダウンロード実行部１０４は、ユーザがゲームを開始できるようになるまでのダウンロード残り時間、また進捗状況をディスプレイに表示し、ユーザに長時間待機する必要のないことを知らせるようにしている。
【００６２】
ダウンロード実行部１０４は、第１グループ７２ａに含まれるファイルのダウンロードを完了すると、引き続きダウンロード処理を継続し、続いて第２グループ７２ｂに含まれるファイルのダウンロードを行う。このとき後続グループのダウンロードはバックグランドで行われるため、その進捗状況についてはディスプレイに表示しなくてよい。
【００６３】
一方で、ユーザが後続グループのダウンロード状況を確認したいことも考えられる。そこでダウンロード実行部１０４は、後続グループのダウンロード進捗状況をプログレスバーの形式でディスプレイに表示してもよい。たとえばディスプレイの縁部分に表示してもよく、またユーザから確認要求があった際に、図８に示すように画面中央にダウンロード進捗状況を表示してもよい。このときダウンロード実行部１０４は、第２グループから最終グループまでの合計のデータサイズと、それらのグループに含まれるダウンロード済みのデータサイズとを比較できる進捗状況を表示してもよく、ゲームソフトウェア７０の全データサイズと、ダウンロード済みの全データサイズとを比較できる進捗状況を表示してもよい。
【００６４】
判定部１０８は、ダウンロード実行部１０４によるダウンロード処理の実行中、第１グループ７２ａに属するファイルの全てが補助記憶装置２に記録されたか判定する。判定部１０８は、第１グループ７２ａに属するファイルの全てが補助記憶装置２に記録されたことを判定すると、通知部１１０がコンテンツ実行部１４０にその旨を通知する。これによりコンテンツ実行部１４０は、ゲームタイトル“ＴＥＮＮＩＳ４”を起動可能な状態となったことを認識し、メニュー画面上に“ＴＥＮＮＩＳ４”のアイコンをユーザが選択できるように表示する。ユーザはメニュー画面上で“ＴＥＮＮＩＳ４”のアイコンを選択して決定すると、コンテンツ実行部１４０が“ＴＥＮＮＩＳ４”を起動し、ユーザがプレイすることができるようになる。なおユーザがゲームを起動し、プレイしている間にも、ダウンロード実行部１０４はバックグランドでダウンロード処理を継続している。そのため、たとえばユーザが第１グループ７２ａにより提供されるゲームを終了したときには、次のシナリオのグループ（たとえば第２グループ７２ｂ）に属するファイルが補助記憶装置２に記録されており、したがってゲームソフトウェアは、第２グループ７２ｂに属するファイルを用いてゲームを進行することができる。なお、通知部１１０が第２グループ７２ｂに属するファイルの全てが補助記憶装置２に記録されていることをゲームに通知していなければ、ゲームは、第２グループ７２ｂのダウンロードが完了したことの通知を受けるまで、第１グループ７２ａのファイルで表現できるゲーム実行画面をディスプレイに表示し続けてよい。このようにゲームが第２グループ７２ｂのダウンロード完了を待機することで、円滑なゲーム進行が実現される。
【００６５】
なお、ゲームソフトウェアのアイコンは、ダウンロードステータスに応じて、異なる態様で表示されてよい。具体的に、ダウンロードステータスは、ダウンロード開始前、第１グループのダウンロード中、第１グループのダウンロード終了、全グループのダウンロード終了の４種類がある。これらに、後続グループのダウンロード中というステータスを加えてもよい。これらのステータスに応じて、アイコンの表示態様を変えることで、ユーザは、アイコンを見るだけで、ダウンロード状況を確認することができる。なお、ダウンロード開始前のステータスは、ユーザがストアからゲームソフトウェアを購入したが、まだダウンロードを開始していない状態であり、したがってダウンロード開始前には、システムソフトウェアが用意したアイコンがゲームタイトルともに表示されることになる。
【００６６】
なお上記のようにコンテンツ実行部１４０は、ユーザからの指示（アイコン操作）を受けてゲームソフトウェアを実行してもよいが、ユーザからの指示なしにゲームソフトウェアを実行してもよい。ユーザからの指示なしにゲームソフトウェアを自動起動する場合、ユーザにメニュー画面を提示する必要がなくなるため、ユーザを自然にゲームの世界に導くことが可能となる。
【００６７】
ファイルシステム１３０は、補助記憶装置２の記録状況を管理しており、具体的には補助記憶装置２に記録されたファイルを管理している。したがって判定部１０８は、ファイルシステム１３０に、どのファイルが記録されているか問い合わせて、グループに属するファイルの記録状況を知ることができる。
【００６８】
なおコンテンツ実行部１４０はデータ受渡部１５０に、コンテンツの実行に必要なデータの取得を要求すると、データ受渡部１５０は、補助記憶装置２におけるデータのパス情報をファイルシステム１３０から取得して補助記憶装置２にアクセスし、補助記憶装置２からデータを読み出して、コンテンツ実行部１４０に提供する。具体的には、パス取得部１５２がパス情報をファイルシステム１３０から取得し、読出部１５４がパス情報にしたがって補助記憶装置２からデータを読み出し、提供部１５６が、読み出したデータをコンテンツ実行部１４０経由でゲームソフトウェアに提供する。本実施例のファイルシステム１３０は、データが補助記憶装置２にあるかＲＯＭ媒体４４にあるかを管理して、適切なパス情報をデータ受渡部１５０に提供する機能を有しているが、その機能については後述する。
【００６９】
このようにダウンロード実行部１０４は、グループ決定部１１２により決定された順序にしたがってファイルを次々にダウンロードし、記録処理部１０６が補助記憶装置２に記録する。ファイルシステム１３０は、補助記憶装置２に記録されたファイルを管理し、判定部１０８は、ファイルシステム１３０で管理されているファイル情報にしたがって、グループ単位で、グループに含まれるファイルが全て補助記憶装置２に記録されているか判定する。ゲームソフトウェア７０を構成する全てのファイルが補助記憶装置２に記録されると、ダウンロード処理は終了する。
【００７０】
なお上記した例では、グループ決定部１１２が、ダウンロードするグループの順番をグループ番号順と同じに定めたが、たとえばダウンロードするグループの順番は、順番定義ファイルに記述されており、グループ決定部１１２は、この順番定義ファイルにしたがってダウンロードするグループの順番を定めてもよい。順番定義ファイルは、第１グループ７２ａに含まれており、したがってグループ決定部１１２は、順番定義ファイルがダウンロードされた後に、順番定義ファイルに含まれるダウンロード順序を参照して、後続のグループのダウンロード順序を決定することができる。この順番定義ファイルは、グループ番号順と同じダウンロード順序を定めたものであってもよいが、ゲームの進行状況に応じて分岐する複数種類のダウンロード順序を定めたものであってもよい。たとえば、ゲームのシーンＰの後、ユーザのゲーム中の選択によってシーン（Ｐ＋１）またはシーンＱに進むルートが用意されている場合には、シーンＰを構成するグループから、シーン（Ｐ＋１）を構成するグループおよびシーン（Ｐ＋１）に後続するグループと、シーンＱを構成するグループおよびシーンＱに後続するグループとのダウンロード順序が分岐するように設定されていてもよい。
【００７１】
なお図５または図６を参照して、たとえばファイルＧやファイルＫのように、１つのファイルが複数のグループに属しているケースも存在する。ファイルＧに関して言えば、たとえば第２グループ７２ｂのダウンロード処理において、ファイルＧが補助記憶装置２にダウンロードされていれば、第３グループ７２ｃや第４グループ７２ｄのダウンロード処理の際には、ファイルＧを再度ダウンロードする必要はない。
【００７２】
そこでダウンロード実行部１０４は、第１グループ７２ａに属するファイルをダウンロードした後、後続のグループに属するファイルをダウンロードする前に、そのグループに属するファイルをグループファイルを参照して特定し、特定したファイルが補助記憶装置２に記録済みであるかファイルシステム１３０に問い合わせる。既に記録済みであれば、そのファイルはダウンロード対象から除外し、記録されていないファイルを特定したダウンロード要求をコンテンツサーバ１２に送信することが好ましい。このようにダウンロード実行部１０４は、ダウンロード処理の開始時においては、第１グループ７２ａを指定したダウンロード要求を生成するが、後続のグループに関しては、そのグループに属する未ダウンロードのファイルを指定したダウンロード要求を生成して、ファイルの重複ダウンロードを回避することが好ましい。
【００７３】
なおダウンロード処理の開始時にダウンロード実行部１０４は、第１グループ７２ａに属するファイルを指定したダウンロード要求を生成することもできる。このためにはダウンロード実行部１０４が、第１グループ７２ａに属するファイルを知っている必要があるが、たとえばダウンロード実行部１０４がダウンロード処理に先だって、コンテンツサーバ１２に対してタイトルＩＤの情報を通知すると、コンテンツサーバ１２が、第１グループ７２ａに属するファイルを特定する情報をインストール処理部１００に返すようにしてもよい。これによりダウンロード実行部１０４は、最初にダウンロードするべきファイルを把握できるため、ダウンロード処理の開始時に第１グループ７２ａに属するファイルを指定したダウンロード要求を生成できるようになる。
【００７４】
上記した例では、グループ決定部１１２が、第１グループ７２ａに含まれるグループファイルないしは順番定義ファイルにしたがってダウンロードするグループの順番を決定することを示したが、ゲームソフトウェアが指定したグループを、ダウンロードするグループとして決定してもよい。コンテンツ実行部１４０がゲームを実行し、バックグランドでダウンロード実行部１０４がダウンロード処理を実行している場合、ゲームの進行状況に応じて、ゲームのシナリオが変化する場合がある。
【００７５】
図４を参照して、第２グループ７２ｂはシーン１用のリソースファイルを含み、第３グループ７２ｃはシーン２用のリソースファイルを含み、第４グループ７２ｄはシーン３用のリソースファイルを含んでいる。ゲームが、シーン１、シーン２、シーン３と進行する場合には、ダウンロード実行部１０４は、第２グループ７２ｂ、第３グループ７２ｃ、第４グループ７２ｄの順にダウンロードすることが好ましいが、ゲームがシーン１、シーン３と進行する場合には、シーン２のリソースファイルを、シーン３のリソースファイルよりも先にダウンロードする必要がない。そこでゲームソフトウェアは、ゲームの進行状況に応じて近いうちに必要となるグループを決定し、そのグループ特定情報をグループ決定部１１２に伝達する。
【００７６】
このときグループ決定部１１２は、ファイルシステム１３０に、そのグループに属する全てのファイルが補助記憶装置２に記録済みであるか問い合わせ、記録済みであれば予め決定しているダウンロード順序を変更せず、記録されていなければ、そのグループをダウンロード順序の先頭にして、変更したダウンロード順序をダウンロード実行部１０４に通知する。これによりダウンロード実行部１０４は、ゲームソフトウェアから指定されたグループ特定情報にしたがって、そのグループに属するファイルを優先的に取得し、ゲームの円滑な進行をサポートすることが可能となる。なお、ゲームソフトウェアにより指定されたグループに属するファイルが補助記憶装置２に記録済みであるか否かの問い合わせは、ダウンロード実行部１０４が行ってもよい。この場合、グループ決定部１１２は、ファイルシステム１３０に問い合わせることなくダウンロード順序を決定してダウンロード実行部１０４に通知し、ダウンロード実行部１０４が、新たなダウンロード順序にしたがって、先頭に位置するグループに属するファイルが記録済みであるか否かをファイルシステム１３０に問い合わせてもよい。
【００７７】
なお順番定義ファイルが第１グループ７２ａに含まれている場合、ゲームは、設定された複数のダウンロード順序の分岐点において、分岐先のグループを指定する。上記した例でいえば、シーンＰのあと、ゲームソフトウェアはシーン（Ｐ＋１）またはシーンＱのいずれに進むかを判定して、判定結果にしたがって分岐先のグループを決定し、グループ決定部１１２に通知する。これによりグループ決定部１１２は、分岐点からのルートを知ることができ、そのルートにしたがったダウンロード順序を決定して、ダウンロード実行部１０４に通知する。
【００７８】
このようにグループ決定部１１２は、ゲームソフトウェアからの要求を受けて、ダウンロード順序を再決定することで、ゲーム進行に応じた効率的なダウンロード処理が可能となる。グループ決定部１１２は、一度ダウンロード順序を決定した後も、ゲームからの要求などに応じて逐次ダウンロード順序を適切に変更してダウンロード実行部１０４に通知することで、ユーザが快適にゲームをプレイすることのできる環境を実現できる。
【００７９】
なおインストール処理部１００において、受付部１０２がダウンロード処理の開始前にユーザからグループのダウンロード順を指定する情報を受け付け、ダウンロード実行部１０４は、受け付けた情報にしたがってゲームソフトウェアをダウンロードしてもよい。
【００８０】
図９は、ディスプレイに表示されるダウンロード順選択画面の一例を示す。このダウンロード順選択画面は、ストアサーバ１６によって提供される。ユーザが出力装置４のディスプレイに表示された販売ページにおいて購入するゲームソフトウェアを選択すると、課金ページを経由して、図９に示すダウンロード順選択画面が表示される。
【００８１】
ゲームソフトウェアの中には、１人でゲームをプレイするシングルプレイと、２人以上でゲームをプレイするマルチプレイの両方をサポートしているものがある。シングルプレイ用とマルチプレイ用のリソースファイルは異なっており、ユーザがこれからシングルプレイをしようとしているときに、マルチプレイ用のリソースファイルを先にダウンロードするのは非効率である。そこでユーザにいずれのリソースファイルを優先してダウンロードするかを選択させて、第１グループ７２ａのダウンロードが完了後、すみやかにユーザが選択したシングルプレイまたはマルチプレイ用のリソースファイルがダウンロードされるようにする。図９に示す選択画面において、ユーザが１人でシングルプレイを行う予定であれば選択肢７４ａを選択し、また複数人でマルチプレイを行う予定であれば選択肢７４ｂを選択する。受付部１０２が、ユーザの選択操作を受け付けると、グループ決定部１１２は、その選択操作にしたがってダウンロードするグループを決定する。
【００８２】
たとえば、シングルプレイ用のリソースファイルが第２グループから第Ｍグループに属し、マルチプレイ用のリソースファイルが第（Ｍ＋１）グループから第Ｎグループに属する場合には、グループ決定部１１２は、選ばれた選択肢７４に応じて優先してダウンロードするグループを決定し、ダウンロード実行部１０４が、その決定されたグループ特定情報にしたがってダウンロード処理を実行する。具体的に選択肢７４ａが選択された場合には、ダウンロード実行部１０４は、第１グループ７２ａのダウンロード後、第２グループから第Ｍグループを優先してダウンロードし、選択肢７４ｂが選択された場合には、ダウンロード実行部１０４は、第１グループ７２ａのダウンロード後、第（Ｍ＋１）グループから第Ｎグループを優先してダウンロードする。なおダウンロード処理の実行中、既述したように、ダウンロード実行部１０４は、ゲームソフトウェアから指定されたグループ特定情報にしたがって、そのグループに属するファイルを優先的に取得し、ゲームの円滑な進行をサポートすることが好ましい。
【００８３】
なお、たとえばシステムソフトウェアが、ユーザのプレイ傾向を管理している場合には、そのプレイ傾向をもとに、グループ決定部１１２が、優先ダウンロードするグループを決定してもよい。このプレイ傾向は、ユーザがシングルプレイを好むのか、またはマルチプレイを好むのかというユーザ属性情報により表現されてもよく、たとえば常にシングルプレイを行っているユーザであれば、グループ決定部１１２が、そのプレイ傾向をもとに、第２グループから第Ｍグループを優先してダウンロードするグループとして決定してもよい。グループ決定部１１２は、たとえばユーザが過去にシングルプレイを行った回数およびマルチプレイを行った回数をカウントして蓄積してユーザ属性情報として保持し、回数の多いプレイ形態をもとに、優先ダウンロードするグループを決定してもよい。
【００８４】
またゲームソフトウェアには、言語依存ファイルが存在することが多く、言語依存ファイルは音声や画像のデータであるため、ゲームソフトウェア全体のデータサイズのかなりの割合を占めることがある。図４においては、英語用のリソースファイルおよび日本語用のリソースファイルが示されているが、実際にはスペイン語用のリソースファイル、中国語用のリソースファイルなども含まれている。一般に情報処理装置１０においては、初期設定で、使用される言語の情報が設定されている。たとえばユーザが日本人であれば、使用される言語が日本語に設定され、ユーザが米国人であれば、使用される言語は英語に設定されている。日本人ユーザは、日本語用のリソースファイルを必要とするが、英語用やスペイン語用のリソースファイルは必要としないことが多い。
【００８５】
そこでグループ決定部１１２は、情報処理装置１０において設定されている使用言語情報を参照して、その使用言語情報に対応するグループをダウンロード対象とし、対応しないグループをダウンロード対象から除外してもよい。これによりダウンロード実行部１０４は、複数の言語用に設定されたグループのうち、情報処理装置１０において設定されている言語に対応するグループに属するファイルをダウンロードし、設定されている言語に対応しないグループに属するファイルをダウンロードしないように動作することが可能となる。こうすることで、ゲームソフトウェア全体のダウンロード時間を短縮できるとともに、補助記憶装置２の記録容量を無駄に消費することも回避できる。
【００８６】
なおゲーム購入時に、図９に示すような言語選択画面が出力装置４のディスプレイに表示されてもよい。言語選択画面においては、ユーザが、そのゲームタイトルで使用する言語を選択できるようになっている。グループ決定部１１２は、ユーザにより選択された言語に対応するグループをダウンロード対象とし、対応しないグループをダウンロード対象から除外してもよい。なお他の言語用のリソースファイルが後に必要となったときには、ダウンロード実行部１０４があらためてその言語用のリソースファイルをダウンロードすればよい。たとえばユーザがゲームプレイ中に使用する言語を切り替えたような場合に、グループ決定部１１２が、切り替えた言語に対応するグループをダウンロード対象として追加する。
【００８７】
なお、以上は１つの言語用のグループをダウンロードし、その他の言語用のグループをダウンロードしないことを説明したが、その他の言語用のグループを、当該１つの言語用グループよりも後にダウンロードするようにしてもよい。
【００８８】
図４を参照して、シーン用のリソースファイルと、言語依存ファイルとの関係の一例を説明する。ゲームが、シーン１、シーン２、シーン３と進行する場合に、ダウンロード実行部１０４は、第２グループ７２ｂ、第３グループ７２ｃ、第４グループ７２ｄの順にダウンロードすることが好ましいが、いずれかのシーンにおいて言語依存ファイルが必要となる場合には、そのシーンの前に、言語依存ファイルをダウンロードすることが好ましい。たとえば第２グループ７２ｂは、シーン１用の言語依存ファイルを含んでおり、第３グループ７２ｃは、シーン２用の言語依存ファイルを含んでいない場合には、ダウンロード実行部１０４が、第３グループ７２ｃの前に、言語用グループをダウンロードする。これによりゲームが第３グループ７２ｃを利用する際には、既に言語依存ファイルがダウンロードされる状況を作り出すことが可能となる。
【００８９】
ユーザはストアサーバ１６において、複数のゲームソフトウェアをまとめて購入することができる。以下、たとえば３つのゲームソフトウェア７０ａ、７０ｂ、７０ｃを購入した場合について説明する。
図１０は、各ゲームソフトウェア７０の構成を示す。ゲームソフトウェア７０ａ、７０ｂ、７０ｃともに、第１グループおよび後続グループから構成されている。グループ決定部１１２は、各ゲームソフトウェア７０ａ、７０ｂ、７０ｃの第１グループを、たとえばこの順にダウンロードする対象として決定し、ダウンロード実行部１０４が、各グループの第１グループに属する１以上のファイルを優先して取得すると、グループ決定部１１２は、いずれかのグループの第２グループ以降の後続グループを、ダウンロードするグループとして決定する。
【００９０】
このように複数のゲームソフトウェアがダウンロードの対象として決定された場合、ダウンロード実行部１０４は、各ゲームソフトウェアの第１グループに属する１以上のファイルを優先して取得する。各ゲームソフトウェアの第１グループに属するファイルのダウンロードは、比較的短時間で完了するため、したがってユーザは、ゲームソフトウェア７０ａ、７０ｂ、７０ｃの第１グループのダウンロードが完了すると、いずれかのゲームをすみやかに起動することが可能となる。なおいずれかのゲームが起動されると、グループ決定部１１２は、起動されたゲームソフトウェア７０の後続グループを、ダウンロードするグループとして決定することが好ましい。このように複数のゲームソフトウェアがダウンロード対象となった場合には、各ゲームソフトウェアの第１グループをダウンロードして、ユーザが、いずれのゲームソフトウェアも実行できるような態勢を整えることが好ましい。
【００９１】
なおダウンロード実行部１０４は、複数のゲームソフトウェアを同時並列的にダウンロードすることも可能である。そのときダウンロード実行部１０４は、各ゲームソフトウェアについて、第１グループのダウンロード進捗状況をプログレスバーの形式で並べてディスプレイに表示してもよい。これによりユーザは、各ゲームソフトウェアのダウンロード状況を一目で確認できる。なお、１つのゲームソフトウェアの第１グループのダウンロードが完了すると、そのゲームソフトウェアの後続グループのダウンロードが引き続き実行されてもよい。このときダウンロード実行部１０４は、後続グループのダウンロード進捗状況をプログレスバーの形式でディスプレイに表示する。なお、他のゲームソフトウェアの第１グループのダウンロード処理はまだ完了していないため、後続グループのダウンロード進捗状況については、他のゲームソフトウェアの第１グループのダウンロード進捗状況と、表示態様を異ならせることが好ましい。たとえば、後続グループのダウンロード状況を示すプログレスバーは、第１グループのダウンロード状況を示すプログレスバーと異なる色で表現されてもよく、いずれにしても、第１グループのダウンロード進捗状況であるか、または後続グループのダウンロード進捗状況であるかをユーザが識別できる表示態様でプログレスバーが表現されることが好ましい。
【００９２】
本実施例の情報処理システム１においてコンテンツサーバ１２は情報処理装置１０に、ゲームに適用するパッチを提供することもできる。パッチはゲームソフトウェアと同じファイル構成を有し、ゲームソフトウェアに含まれるファイルと置き換えられるべきファイルを含んでいる。つまりパッチも図３に示したゲームソフトウェア７０と同様のグループ構成を有している。
【００９３】
ゲームソフトウェア７０がすでに補助記憶装置２にダウンロードされている場合に、インストール処理部１００がコンテンツサーバ１２においてパッチが存在していることを検出すると、グループ決定部１１２は、ダウンロードする必要のあるパッチのグループを特定し、ダウンロード実行部１０４が、特定されたパッチのグループに属するファイルをダウンロードする。
【００９４】
なおゲームソフトウェア７０をダウンロードする際に、すでにパッチがコンテンツサーバ１２において用意されていることもある。その場合、まず最初にダウンロード実行部１０４は、ゲームソフトウェア７０の第１グループ７２ａをダウンロードするが、その後はグループ決定部１１２が、パッチの第１グループに属するファイルをダウンロードする対象として決定する。つまり、ゲームソフトウェアの第Ｌグループをダウンロードすると、対応するパッチの第Ｌグループをダウンロードし、ゲームソフトウェアとパッチとがセットでダウンロードされるようにする。これにより、ダウンロードしたゲームソフトウェアのグループに、すぐにパッチをあてることで、そのグループに属するファイルをゲーム進行にすみやかに利用できるようにする。
【００９５】
なお判定部１０８は、パッチが適用されているか否かをグループ単位で判定してもよい。通知部１１０は、パッチが適用されているか否かを示すパッチ適用情報をゲームに通知する。ゲームが、パッチが適用されたグループのファイルの処理を終了し、次のグループのファイルの処理に移る際、ゲームは、通知されたパッチ適用情報を参照して、次にグループにパッチが適用されているか判断する。このときパッチが適用されていなければ、ゲームは、グループ決定部１１２に、次のグループのパッチをダウンロード対象として指定し、これによりダウンロード実行部１０４は、優先的に次のグループのパッチのファイルをダウンロードできるようになる。これにより次のグループにはすみやかにパッチをあてることができ、ゲームを円滑に進行することが可能となる。なおゲームは、次に利用するグループにパッチが適用されていない場合には、そのグループのパッチのファイルがダウンロードされるまで前のシーンをディスプレイに表示して待機し、突然ゲーム進行が中断しないように対応する。
【００９６】
実施例の情報処理装置１０では、ファイルシステム１３０が、ファイルのパスを仮想的な所定のマウントポイント（たとえば、“ＧＡＭＥ０”）に対応付ける。ゲームソフトウェアには、この所定のマウントポイント“ＧＡＭＥ０”を特定する情報が予め含まれており、ゲームソフトウェアは、このマウントポイントを指定して、ファイルにアクセスする。マウントポイントとファイルのパスの対応付けは、ファイルシステム１３０により管理され、ファイルシステム１３０は、補助記憶装置２におけるゲームのファイルのパスを取得して、そのパスを仮想的なマウントポイント“ＧＡＭＥ０”に対応付けるマウント処理を行っている。これによりゲームソフトウェアは、ファイルの実際のパスを指定する必要はなく、単に、“ＧＡＭＥ０”を指定するだけで、所望のファイルにアクセスできるようになる。なお、ここでは補助記憶装置２におけるファイルのパスについて示したが、ＲＯＭ媒体４４およびフラッシュメモリ３６におけるファイルのパスについても同様に管理される。
【００９７】
具体的にファイルシステム１３０は、ゲームソフトウェアを所定のマウントポイントにマウントして、仮想的なゲームディレクトリを生成した後、同一のタイトルＩＤをもつパッチを探索する。ファイルシステム１３０は、パッチを見つけると、ゲームソフトウェアに仮想的に上書きするファイルをゲームディレクトリから探し出し、パッチのファイルで仮想的に上書きしたゲームソフトウェアを生成する。なおファイルシステム１３０は、実際にゲームソフトウェアのディレクトリにパッチのファイルを上書きするのではなく、あくまでもゲームソフトウェアにパッチが上書きされているような仮想的なゲームディレクトリを生成する。この仮想的なゲームディレクトリを利用することで、ゲームソフトウェアは、アクセスするファイルがゲームソフトウェアに含まれるものなのか、またはパッチに含まれるものなのかを意識することなく、所望のファイルにアクセスすることができる。
【００９８】
以上はゲームソフトウェアないしはパッチをコンテンツサーバ１２から取得する例について説明した。コンテンツサーバ１２から配信するゲームソフトウェア７０の第１グループ７２ａに属するファイルが全て揃えば、とりあえずゲームが起動できるようにされることで、ユーザは、ゲームソフトウェア７０の全てのファイルがダウンロードできていなくても、ゲームをプレイできるようになる。なおゲームソフトウェア７０の各グループには、ゲーム中のシーンやステージなどの特定の単位を実行するのに必要なファイルが属するように設定されているため、インストール処理部１００がグループ単位でファイルが補助記憶装置２に記録されているか判定して、判定結果をゲームに通知することで、ゲームは、判定結果をもとにゲームの進行を調整することも可能となり、円滑なゲーム進行が可能となる。また本実施例の情報処理装置１０では、グループの管理機能をシステムソフトウェアに実現させることで、ゲームソフトウェアはそのような機能をもつ必要がないため、ゲームメーカのソフトウェア開発の負担を大幅に削減することが可能となっている。
【００９９】
情報処理システム１では、情報処理装置１０がゲームソフトウェアを取得するルートとして、コンテンツサーバ１２からダウンロードする以外に、ＲＯＭ媒体４４に記録されたゲームソフトウェアを読み出すルートが存在する。ＲＯＭ媒体４４に記録されたゲームソフトウェアはメディアドライブ３２からメモリ６４に読み出されるが、補助記憶装置２からメモリ６４へのデータ読出速度と比較すると、相対的に低速である。そこで本実施例の情報処理装置１０は、ゲームソフトウェアの実行中に、バックグランドでＲＯＭ媒体４４からデータを補助記憶装置２にコピーし、補助記憶装置２へのコピーが完了したファイルについては、ＲＯＭ媒体４４からではなく補助記憶装置２からデータを読み出すようにして、高速なデータ読出を可能とする。以下、ＲＯＭ媒体４４から補助記憶装置２へのデータコピー処理について説明する。
【０１００】
＜記録媒体からＨＤＤにゲームソフトウェアをコピーする場合＞
図７に戻って、メディアドライブ３２には、ゲームソフトウェアを構成する複数のファイルを記録したＲＯＭ媒体４４が装着される。読出部１５４は、メディアドライブ３２からメモリ６４に、ＲＯＭ媒体４４に記録されたデータを読み出す機能をもつ。メモリ６４は、読出部１５４により読み出されるデータを一時的に記憶する役割をもつ。
【０１０１】
コンテンツ実行部１４０はライセンス情報が存在していることを前提としてゲームソフトウェアを実行し、データ受渡部１５０に対して、ゲーム進行に必要なデータの取得を要求する。データ受渡部１５０において、パス取得部１５２は、ファイルシステム１３０に問い合わせて取得要求されたデータのパス情報を取得し、読出部１５４は、メディアドライブ３２からパス情報にしたがって、取得要求されたデータをメモリ６４に読み出し、提供部１５６が、メモリ６４に一時記憶されたデータをコンテンツ実行部１４０に提供してもよい。これによりコンテンツ実行部１４０は、ＲＯＭ媒体４４に記録されたゲームソフトウェアを読み出して実行するようになる。
【０１０２】
なお既述したように、ファイルシステム１３０は、ファイルないしデータのパスを仮想的な所定のマウントポイント（たとえば、“ＧＡＭＥ０”）に対応付けて管理している。ダウンロードされたゲームソフトウェアとパッチの例で説明したように、ファイルシステム１３０は、仮想的なゲームディレクトリを生成して、ゲームがアクセスするべきファイルのパス情報を管理している。ダウンロードされたゲームソフトウェアのファイルとパッチのファイルの関係は、ＲＯＭ媒体４４に記録されたゲームソフトウェアのファイルと補助記憶装置２にコピーされたゲームソフトウェアのファイルの関係に近似する。つまり、補助記憶装置２にファイルのデータがコピーされると、仮想的なゲームディレクトリにおいて、コピーされたデータが補助記憶装置２から読み出し可能となるように設定される。これによりゲームは、アクセスするファイルがＲＯＭ媒体４４に記録されているのか、または補助記憶装置２に記録されているのかを意識することなく、所望のファイルにアクセスすることができる。
【０１０３】
なお、ファイルシステム１３０は、ファイルより細かい粒度、すなわちファイルを構成するデータ単位で、ファイルを管理してもよい。つまりファイルの一部のデータが補助記憶装置２にコピーされていれば、そのデータが補助記憶装置２に記録されていることをファイルシステム１３０が管理してもよい。これによりゲームは、データが補助記憶装置２に記録されていれば高速デバイスである補助記憶装置２からデータを読み出し、補助記憶装置２に記録されていなければ低速デバイスであるＲＯＭ媒体４４からデータを読み出すように動作できる。
【０１０４】
図１１は、コピー処理の一例を説明するための図である。このコピー処理においては、コンテンツ実行部１４０がゲームソフトウェアを実行していることが前提となる。図中、Ｄ１は、コンテンツ実行部１４０で実行されているゲームが読み出しを要求したデータである。図１１においてバッファ６６は、コンテンツ実行部１４０にデータを提供するために一時記憶するメモリであり、またキャッシュ６８は、ＲＯＭ媒体４４から読み出したデータを補助記憶装置２にコピーするために一時記憶するメモリである。
【０１０５】
ゲームがＤ１の読み出しをデータ受渡部１５０に要求すると、パス取得部１５２がファイルシステム１３０からＤ１のパス情報を取得し、読出部１５４がメディアドライブ３２からＲＯＭ媒体４４に記録されたＤ１を読み出し、バッファ６６が、読み出されたＤ１を一時的に記憶する（ＳＴ１）。なおパス情報は、ＲＯＭ媒体４４のセクタを指定するものであってよい。続いて読出部１５４は、バッファ６６に読み出したＤ１をキャッシュ６８にコピーする（ＳＴ２）。提供部１５６は、バッファ６６に記憶されたＤ１をコンテンツ実行部１４０に提供する（ＳＴ３）。これによりゲームは、Ｄ１を用いてゲームを進行することができる。
【０１０６】
インストール処理部１００において、記録処理部１０６は、キャッシュ６８に記憶されたデータを読み出し（ＳＴ４）、補助記憶装置２に記録する（ＳＴ５）。このように、ゲームからの要求にしたがってバッファ６６に読み出されたデータを、ゲームに提供するだけではなく、補助記憶装置２に記録することで、データを低速デバイスから高速デバイスにコピーすることが可能となる。補助記憶装置２にコピーされたＤ１は、ゲームにより次に必要とされたときに、補助記憶装置２からゲームに対して読み出される。なお、ＳＴ２においてＤ１がバッファ６６からキャッシュ６８にコピーされているが、このコピー処理は必ずしも行われる必要がない。このキャッシュコピーを行わない場合、記録処理部１０６は、バッファ６６からＤ１を読み出して、補助記憶装置２に記録すればよい。
【０１０７】
図１２は、コピー処理の別の例を説明するための図である。図１２の説明図は、図１１に示したコピー処理の発展型を示している。図中、Ｄ１は、コンテンツ実行部１４０で実行されているゲームが読み出しを要求したデータであり、Ｄ２は、Ｄ１を読み出す際、いわばついでに読み出されるデータである。すなわちＤ１はゲームに提供されるべきデータであるが、Ｄ２は、いわゆる先読みされるデータであって、Ｄ１をゲームに提供する際に、Ｄ２がゲームに提供されることはない。インストール処理部１００は、Ｄ１およびＤ２を補助記憶装置２に記録する。このように図１２に示す発展型では、より多くのデータをＲＯＭ媒体４４から補助記憶装置２にコピーすることが可能となる。
【０１０８】
具体的に、ゲームがＤ１の読み出しをデータ受渡部１５０に要求すると、パス取得部１５２がファイルシステム１３０からＤ１のパス情報を取得し、読出部１５４がメディアドライブ３２からＲＯＭ媒体４４に記録されたＤ１を読み出し、バッファ６６が、読み出されたＤ１を一時的に記憶する（ＳＴ１）。続いて読出部１５４は、バッファ６６に読み出したＤ１をキャッシュ６８にコピーする（ＳＴ２）。提供部１５６は、バッファ６６に記憶されたＤ１をコンテンツ実行部１４０に提供する（ＳＴ３）。これによりゲームは、Ｄ１を用いてゲームを進行することができる。
【０１０９】
この発展型では、読出部１５４がＲＯＭ媒体４４からＤ１を読み出す際、あわせてＤ２を読み出して、キャッシュ６８に一時記憶させる。
図１３は、データの先読み処理を説明するための図である。読出部１５４は、Ｄ１を読み出す際、あわせてＤ２も先読みする。メディアドライブ３２では光ピックアップが設けられ、Ｄ１のセクタに光ピックアップを移動してレーザ反射光を取得することで、Ｄ１の読み出しが行われる。たとえばＲＯＭ媒体４４がブルーレイディスクである場合、記録処理部１０６は、Ｄ１と同一レイヤに記録されているデータ（Ｄ２）の先読み処理を読出部１５４に指示し（ＳＴ１０）、この指示を受けて読出部１５４は、メディアドライブ３２から、読み出しを要求されたデータ（Ｄ１）に加えて、他のデータ（Ｄ２）もメモリ６４に読み出すようにする。このとき光ピックアップは、Ｄ１のセクタから外周方向に位置するセクタまで移動して、Ｄ２のデータも読み出すように制御される。このように記録処理部１０６は、読み出し要求されたＤ１のセクタに物理的に隣接ないしは近いセクタにある他のデータ（Ｄ２）の先読み処理を読出部１５４に指示する。図１２の例では、読出部１５４がＤ１をバッファ６６に読み出し（ＳＴ１）、Ｄ２をキャッシュ６８に読み出している（ＳＴ１１）。その後、記録処理部１０６は、キャッシュ６８に記憶されたデータ（Ｄ１＋Ｄ２）を補助記憶装置２に記録する（ＳＴ１２）。
【０１１０】
このように、ゲームからの要求にしたがってバッファ６６に読み出されたＤ１を、ゲームに提供するだけではなく、補助記憶装置２に記録するとともに、Ｄ１とともに先読みしたＤ２を補助記憶装置２に記録することで、データを効率よく低速デバイスから高速デバイスにコピーすることが可能となる。補助記憶装置２にコピーされたＤ１は、ゲームにより次に必要とされたときに、補助記憶装置２からゲームに対して読み出される。なお、ＳＴ２においてＤ１がバッファ６６からキャッシュ６８にコピーされているが、このコピー処理は必ずしも行われる必要がない。このキャッシュコピーを行わない場合、記録処理部１０６は、バッファ６６からＤ１を読み出して、補助記憶装置２に記録すればよい。
【０１１１】
１つのファイルを構成する全てのデータが補助記憶装置２にコピーされた段階で、そのファイルのデータが補助記憶装置２から読み出されるようにしてもよいが、一部のデータのみが補助記憶装置２にコピーされた段階で、その一部のデータが補助記憶装置２から読み出されるようにしてもよい。このようなデータ管理はファイルシステム１３０によって行われるが、ファイルシステム１３０が、細かい粒度でデータを管理することで、ゲームが高速デバイスに記録されたデータを効率的に利用できるようになる。このようにファイルシステム１３０がデータの記録場所を管理することで、ゲームは、補助記憶装置２またはＲＯＭ媒体４４のいずれかから必要なデータを読み出して、ゲームソフトウェアを実行することになる。
【０１１２】
図７を参照して、判定部１０８はグループ単位でファイルが補助記憶装置２に記録されているか判定し、通知部１１０は、属するファイルが全て補助記憶装置２に記録されたグループを特定するグループ特定情報を、コンテンツ実行部１４０を介してゲームに通知する。判定部１０８は、グループに属するファイルの一部のデータが補助記憶装置２にコピーされていなければ、そのグループをまだコピーされていないグループとして判定する。これによりゲームは、これから実行しようとするゲームシーンを構成するリソースファイルが補助記憶装置２から読み出されるか、またはＲＯＭ媒体４４から読み出されるか知ることができる。なお既述したように、補助記憶装置２に記録されたデータは、補助記憶装置２から読み出すことは可能であるが、ゲームは、少なくとも一部のデータが補助記憶装置２にコピーされていなければ、そのグループのデータの読み出し元がＲＯＭ媒体４４であり、高速処理が困難なグループとして取り扱う。
【０１１３】
ＲＯＭ媒体４４から読み出される場合、読出速度が低速であるために、データをリアルタイム処理することが困難なことも想定される。その場合、たとえばゲームは表示解像度を下げてデータ処理量を落とし、リアルタイム処理を間に合わせるようにしてもよい。このようにゲームは、データの読み出し元がＲＯＭ媒体４４であるのか、または補助記憶装置２であるのかに応じて、データ処理内容を変更するようにしてもよい。
【０１１４】
なお記録処理部１０６は、ＲＯＭ媒体４４へのデータアクセスを監視して、コンテンツ実行部１４０が所定時間（たとえば２５ｍｓ）読み出し要求を行わなければ、読出部１５４に対して、データの先読み処理を指示する。読出部１５４は、この先読み処理の指示を受けて、メディアドライブ３２から、補助記憶装置２に記録されていないデータをキャッシュ６８に読み出し、記録処理部１０６が、キャッシュ６８に読み出されたデータを補助記憶装置２に記録する。このとき記録処理部１０６は、現在ゲームにより使用中のグループのファイルの全てのコピーが完了していなければ、そのグループのデータを優先して先読み処理させることが好ましい。このように記録処理部１０６は、ＲＯＭ媒体４４へのアクセス空き時間を効率的に利用してＲＯＭ媒体４４のデータを補助記憶装置２に先読みさせることで、ＲＯＭ媒体４４から補助記憶装置２へのゲームソフトウェアのファイルコピーを短時間で完了させることが可能となる。なおゲームからグループの指定があった場合には、グループ決定部１１２が、指定されたグループを優先コピーするグループとして決定するが、この場合は、記録処理部１０６が、グループ決定部１１２において決定されたグループを先読み処理させることになる。
【０１１５】
なおコンテンツ実行部１４０は、ライセンス情報の存在を前提としてゲームソフトウェアを起動する。ライセンス情報はＲＯＭ媒体４４に記録されているが、補助記憶装置２にはコピーされない。したがってコンテンツ実行部１４０は、ＲＯＭ媒体４４がメディアドライブ３２に装着されていなければ、ライセンス情報の存在を確認することができないために、ゲームソフトウェアを構成する全てのファイルが補助記憶装置２に記録されている場合であっても、ゲームソフトウェアを実行しない。このように情報処理装置１０は、ゲームソフトウェアを低速デバイスから高速デバイスにコピーして、高速なゲーム処理を実現するが、ライセンス情報が記録されている低速デバイスの存在をゲーム起動の条件とすることで、不適正なゲームソフトウェアの利用を防止している。
【０１１６】
なお補助記憶装置２へのコピー処理が完了する前に、ゲームが終了し、ＲＯＭ媒体４４がメディアドライブ３２から取り外された場合には、ダウンロード実行部１０４が、残りのファイルをコンテンツサーバ１２からダウンロードして記録処理部１０６が補助記憶装置２に記録してもよい。
【０１１７】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、アプリケーションの例としてゲームを示したが、それ以外のアプリケーションであってもよい。
【０１１８】
たとえばゲームソフトウェアをアンインストールする場合、記録処理部１０６は、第１グループ７２ａに属するファイルのみを補助記憶装置２に残し、後続グループに属するファイルを補助記憶装置２から削除するようにしてもよい。既述したように、コンテンツ実行部１４０は、第１グループ７２ａに属するファイルさえあればゲームを起動でき、後続グループに属するファイルは、ダウンロード実行部１０４によりバックグランドでダウンロードできるため、記録処理部１０６が、全てのファイルを補助記憶装置２から削除するのではなく第１グループ７２ａのみを残しておくことは、補助記憶装置２の記録容量に大きな影響を与えるものではないため、有効である。なお、第１グループのみを残してアンインストールされたゲームソフトウェアのアイコンは、前述した全グループのダウンロード終了ステータスを表現するアイコンから、第１グループのダウンロード終了ステータスを表現するアイコンに変更されることになる。
【符号の説明】
【０１１９】
１・・・情報処理システム、２・・・補助記憶装置、３・・・ネットワーク、１０・・・情報処理装置、１２・・・コンテンツサーバ、１６・・・ストアサーバ、４４・・・ＲＯＭ媒体、６４・・・メモリ、６６・・・バッファ、６８・・・キャッシュ、７０・・・ゲームソフトウェア、９０・・・入力部、１００・・・インストール処理部、１０２・・・受付部、１０４・・・ダウンロード実行部、１０６・・・記録処理部、１０８・・・判定部、１１０・・・通知部、１１２・・・グループ決定部、１３０・・・ファイルシステム、１４０・・・コンテンツ実行部、１５０・・・データ受渡部、１５２・・・パス取得部、１５４・・・読出部、１５６・・・提供部。
【産業上の利用可能性】
【０１２０】
本発明は、ゲーム装置などの情報処理装置で実行される情報処理の分野で利用できる。
【図１】
0006046748.tif 000002
【図２】
0006046748.tif 000003
【図３】
0006046748.tif 000004
【図４】
0006046748.tif 000005
【図５】
0006046748.tif 000006
【図６】
0006046748.tif 000007
【図７】
0006046748.tif 000008
【図８】
0006046748.tif 000009
【図９】
0006046748.tif 000010
【図１０】
0006046748.tif 000011
【図１１】
0006046748.tif 000012
【図１２】
0006046748.tif 000013
【図１３】
0006046748.tif 000014