特許第6046748号(P6046748)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

<>
  • 特許6046748-情報処理装置およびファイル管理方法 図000002
  • 特許6046748-情報処理装置およびファイル管理方法 図000003
  • 特許6046748-情報処理装置およびファイル管理方法 図000004
  • 特許6046748-情報処理装置およびファイル管理方法 図000005
  • 特許6046748-情報処理装置およびファイル管理方法 図000006
  • 特許6046748-情報処理装置およびファイル管理方法 図000007
  • 特許6046748-情報処理装置およびファイル管理方法 図000008
  • 特許6046748-情報処理装置およびファイル管理方法 図000009
  • 特許6046748-情報処理装置およびファイル管理方法 図000010
  • 特許6046748-情報処理装置およびファイル管理方法 図000011
  • 特許6046748-情報処理装置およびファイル管理方法 図000012
  • 特許6046748-情報処理装置およびファイル管理方法 図000013
  • 特許6046748-情報処理装置およびファイル管理方法 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6046748
(24)【登録日】2016年11月25日
(45)【発行日】2016年12月21日
(54)【発明の名称】情報処理装置およびファイル管理方法
(51)【国際特許分類】
   G06F 9/54 20060101AFI20161212BHJP
   A63F 13/77 20140101ALI20161212BHJP
【FI】
   G06F9/06 640C
   A63F13/77
【請求項の数】8
【全頁数】28
(21)【出願番号】特願2014-557184(P2014-557184)
(86)(22)【出願日】2013年10月4日
(86)【国際出願番号】JP2013005918
(87)【国際公開番号】WO2014111984
(87)【国際公開日】20140724
【審査請求日】2015年4月15日
(31)【優先権主張番号】61/753,450
(32)【優先日】2013年1月17日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】橋本 武
(72)【発明者】
【氏名】高橋 正貴
(72)【発明者】
【氏名】村岡 秀哉
(72)【発明者】
【氏名】沖野 直人
(72)【発明者】
【氏名】テラー アンドリュー アール
(72)【発明者】
【氏名】鈴鹿 倫之
【審査官】 塚田 肇
(56)【参考文献】
【文献】 特開2003−288290(JP,A)
【文献】 特開平11−065914(JP,A)
【文献】 特開2012−037981(JP,A)
【文献】 特開2011−161704(JP,A)
【文献】 特開2004−295542(JP,A)
【文献】 米国特許出願公開第2013/0232229(US,A1)
【文献】 米国特許出願公開第2012/0278439(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/54
A63F 13/77
(57)【特許請求の範囲】
【請求項1】
デジタルコンテンツを構成する複数のファイルを格納するための記憶装置と、
デジタルコンテンツのファイルを前記記憶装置に記録する処理部と、
デジタルコンテンツを実行するコンテンツ実行部と、を備え、
各ファイルは複数のグループのうち少なくとも1つのグループに属し、また各グループには少なくとも1つのファイルが属しており、
前記処理部は、
ネットワークに接続されたサーバからデジタルコンテンツを取得するダウンロード実行部と、
グループ単位で、ファイルが前記記憶装置に記録されているか判定する判定部を有し、
複数のデジタルコンテンツがダウンロードの対象として決定されると、前記ダウンロード実行部は、各デジタルコンテンツの最初にダウンロードするべき第1グループに属する1以上のファイルを優先して取得するものであって
前記ダウンロード実行部によるダウンロード処理の実行中、前記判定部は、第1グループに属する1以上のファイルの全てが前記記憶装置に記録されたか判定し、
前記判定部が、第1グループに属する1以上のファイルの全てが前記記憶装置に記録されたことを判定した後、前記ダウンロード実行部によるダウンロード処理の実行中に、前記コンテンツ実行部は、ユーザからの指示を受けて又はユーザからの指示なしに、デジタルコンテンツを実行することが可能となり、
前記ダウンロード実行部が、複数のデジタルコンテンツの第1グループに属する1以上のファイルを取得した後、前記コンテンツ実行部が、いずれかのデジタルコンテンツを起動すると、前記ダウンロード実行部は、起動されたデジタルコンテンツの第1グループ以外のグループに属するファイルを取得する、
ことを特徴とする情報処理装置。
【請求項2】
前記ダウンロード実行部は、デジタルコンテンツから指定されたグループ特定情報にしたがって、サーバから、そのグループに属するファイルを取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
当該情報処理装置においては、使用される言語の情報が設定されており、
前記ダウンロード実行部は、複数の言語用に設定されたグループのうち、当該情報処理装置において設定されている言語に対応するグループに属するファイルをダウンロードし、設定されている言語に対応しないグループに属するファイルをダウンロードしないことを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記ダウンロード実行部は、各デジタルコンテンツの第1グループのダウンロード進行状況をディスプレイに表示する、
ことを特徴とする請求項1からのいずれかに記載の情報処理装置。
【請求項5】
前記処理部は、前記判定部があるグループに属するファイルが全て前記記憶装置に記録されたことを判定すると、そのグループを特定するグループ特定情報を、前記コンテンツ実行部に通知する通知部をさらに有することを特徴とする請求項1からのいずれかに記載の情報処理装置。
【請求項6】
複数のファイルで構成されるデジタルコンテンツであって、各ファイルは複数のグループのうち少なくとも1つのグループに属し、また各グループには少なくとも1つのファイルが属しているデジタルコンテンツのファイルを、ネットワークに接続されたサーバからダウンロードして記憶装置に記録する記録ステップと、
グループ単位でファイルが前記記憶装置に記録されているか判定する判定ステップと、
デジタルコンテンツを実行する実行ステップと、を含み、
前記記録ステップは、複数のデジタルコンテンツがダウンロードの対象として決定されると、各デジタルコンテンツの最初にダウンロードするべき第1グループに属する1以上のファイルを優先してダウンロード
前記記録ステップによるダウンロード処理の実行中、前記判定ステップは、第1グループに属する1以上のファイルの全てが前記記憶装置に記録されたか判定し、
前記判定ステップが、第1グループに属する1以上のファイルの全てが前記記憶装置に記録されたことを判定した後、前記記録ステップによるダウンロード処理の実行中に、前記実行ステップは、ユーザからの指示を受けて又はユーザからの指示なしに、デジタルコンテンツを実行するものであって、
前記記録ステップが、複数のデジタルコンテンツの第1グループに属する1以上のファイルをダウンロードした後、前記実行ステップが、いずれかのデジタルコンテンツを起動すると、前記記録ステップは、起動されたデジタルコンテンツの第1グループ以外のグループに属するファイルをダウンロードする、
ことを特徴とするファイル管理方法。
【請求項7】
コンピュータに、
複数のファイルで構成されるデジタルコンテンツであって、各ファイルは複数のグループのうち少なくとも1つのグループに属し、また各グループには少なくとも1つのファイルが属しているデジタルコンテンツのファイルを、ネットワークに接続されたサーバからダウンロードして記憶装置に記録する記録機能と、
グループ単位でファイルが前記記憶装置に記録されているか判定する判定機能と、
デジタルコンテンツを実行する実行機能と、を実現させるためのプログラムであって、
前記記録機能は、複数のデジタルコンテンツがダウンロードの対象として決定されると、各デジタルコンテンツの最初にダウンロードするべき第1グループに属する1以上のファイルを優先してダウンロードする機能を含み、
前記記録機能によるダウンロード処理の実行中、前記判定機能は、第1グループに属する1以上のファイルの全てが前記記憶装置に記録されたか判定する機能を含み、
前記判定機能により、第1グループに属する1以上のファイルの全てが前記記憶装置に記録されたことが判定された後、前記記録機能によるダウンロード処理の実行中に、前記実行機能は、ユーザからの指示を受けて又はユーザからの指示なしに、デジタルコンテンツを実行する機能を含み、
前記記録機能により、複数のデジタルコンテンツの第1グループに属する1以上のファイルがダウンロードされた後、前記実行機能により、いずれかのデジタルコンテンツが起動されると、前記記録機能は、起動されたデジタルコンテンツの第1グループ以外のグループに属するファイルをダウンロードする機能を含む、
ことを特徴とするプログラム。
【請求項8】
請求項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置などの情報処理装置で実行される情報処理技術に関する。
【背景技術】
【0002】
従来よりゲームソフトウェアは、光ディスクや光磁気ディスク、ブルーレイディスクなどのROM媒体の形態で流通、販売されてきた。また最近ではインターネットにおけるデータ通信の高速化により、ゲームサーバがインターネット経由でゲームソフトウェアを配信できるようになっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】US2011/32250号公開公報
【特許文献2】US2012/192171号公開公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながらブロードバンド回線が整備されていない地域もあり、そのような地域ではゲームソフトウェアのダウンロードに時間がかかるという問題がある。特にゲーム装置の処理速度が向上すると、それに合わせて製作されるゲームソフトウェアのデータサイズも大規模化する傾向があり、たとえばデータサイズが数十ギガバイト(GB)〜数百GBともなると、回線によってはダウンロードに数十分〜数十時間かかることが予想される。
【0005】
ゲーム装置がインターネット経由でゲームソフトウェアを購入してダウンロードする場合、当然のことながら、ユーザはゲーム購入後、すみやかにゲームプレイすることを希望する。しかしながらダウンロード完了までに長時間かかってしまうと、ユーザがゲーム購入後すみやかにゲームプレイできるとはとても言えない。そのためユーザがゲームソフトウェアをダウンロードする際、すみやかにゲームプレイできる仕組みを構築することが好ましい。
【0006】
またゲーム装置は、通常ハードディスクドライブ(HDD)やフラッシュメモリなどの補助記憶装置を有しているが、これら補助記憶装置からのデータの読み出しは、ドライブ装置に挿入されるROM媒体からのデータの読み出しよりも高速である。たとえば3次元(3D)グラフィックスの演算量が多いゲームでは、できるだけ高速にデータを読み出してゲームに渡すことが要求されるため、データ処理の観点から見れば、ROM媒体に記録されているゲームソフトウェアを補助記憶装置にコピーした後、補助記憶装置から必要なデータを読み出してゲームを実行することが好ましい。
【0007】
しかしながら上述したように、ゲームソフトウェアのデータサイズが大規模化すると、ゲームソフトウェアを構成する全てのファイルを補助記憶装置にコピーするのに相当な時間がかかり、その間、ユーザはゲームプレイを待たされることになる。そのためROM媒体にゲームソフトウェアが記録されている場合に、ユーザのゲームプレイを可能としつつ、実行中のゲームが可能な限り高速なデータアクセスを実現できる仕組みを構築することが好ましい。
【0008】
そこで本発明は、ユーザが快適にゲームをプレイすることのできる環境を実現する技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある態様の情報処理装置は、デジタルコンテンツを構成する複数のファイルを格納するための記憶装置と、デジタルコンテンツのファイルを記憶装置に記録する処理部とを備える。各ファイルは複数のグループのうち少なくとも1つのグループに属し、また各グループには少なくとも1つのファイルが属しており、処理部は、グループ単位で、ファイルが記憶装置に記録されているか判定する判定部を有する。
【0010】
本発明の別の態様は、ファイル管理方法である。この方法は、複数のファイルで構成されるデジタルコンテンツであって、各ファイルは複数のグループのうち少なくとも1つのグループに属し、また各グループには少なくとも1つのファイルが属しているデジタルコンテンツのファイルを記憶装置に記録するステップと、グループ単位でファイルが記憶装置に記録されているか判定するステップとを含む。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明の情報処理技術によると、ユーザが快適にゲームをプレイすることのできる環境を実現することが可能となる。
【図面の簡単な説明】
【0013】
図1】本発明の実施例にかかる情報処理システムを示す図である。
図2】情報処理装置の機能ブロック図である。
図3】ゲームソフトウェアの構成を示す図である。
図4】ゲームソフトウェアの具体的な構成例を示す図である。
図5】グループとファイルの関係の一例を示す図である。
図6】グループファイルの一例を示す図である。
図7】情報処理装置におけるダウンロード処理およびコピー処理を実行するための機能ブロックを示す図である。
図8】ディスプレイに表示されるダウンロード状況の一例を示す図である。
図9】ディスプレイに表示されるダウンロード順選択画面の一例を示す図である。
図10】各ゲームソフトウェアの構成を示す図である。
図11】コピー処理の一例を説明するための図である。
図12】コピー処理の別の例を説明するための図である。
図13】データの先読み処理を説明するための図である。
【発明を実施するための形態】
【0014】
図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、情報処理装置10と、ネットワークサーバ5と、デジタルコンテンツを配信するコンテンツサーバ12と、デジタルコンテンツを販売するストアサーバ16とを備え、これらはインターネットやLAN(Local Area Network)などのネットワーク3を介して接続している。コンテンツサーバ12は、デジタルコンテンツのメーカやパブリッシャなどにより保守、管理される。
【0015】
アクセスポイント(以下、「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、ネットワーク3上のネットワークサーバ5、コンテンツサーバ12、ストアサーバ16と通信可能に接続する。
【0016】
情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作結果を示す操作情報を情報処理装置10に出力する。情報処理装置10は入力装置6から操作情報を受け付けるとシステムソフトウェアやアプリケーションソフトウェアの処理に反映し、出力装置4から処理結果を出力させる。情報処理システム1において情報処理装置10はゲームソフトウェアを実行するゲーム装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作情報を供給する機器であってよい。ゲームをプレイするためにユーザは情報処理装置10のOS(システムソフトウェア)にログインする。システムソフトウェアにログインするユーザは、情報処理装置10において登録されているユーザアカウントによって管理される。
【0017】
ネットワークサーバ5は情報処理システム1の運営主体により保守、管理され、情報処理システム1のユーザに対してゲームのネットワークサービスを提供する。ネットワークサーバ5はユーザを識別するネットワークアカウントを管理しており、ユーザは、ネットワークアカウントを用いて、ネットワークサーバ5が提供するネットワークサービスにサインインする。ユーザは情報処理装置10からネットワークサービスにサインインすることで、ストアサーバ16からデジタルコンテンツを購入し、またコンテンツサーバ12からデジタルコンテンツの配信を受けることができる。なお本実施例において、デジタルコンテンツは、アプリケーションソフトウェアや、ムービーなどのAVデータであってよいが、以下では、特にデジタルコンテンツがゲームソフトウェアである場合について説明する。
【0018】
補助記憶装置2はHDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってよく、内蔵型記憶装置であってもよい。出力装置4は画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、無線接続されてもよい。
【0019】
入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側方に配置されてもよく、いずれにしても出力装置4の前方でゲームをプレイするユーザを撮像できる位置に配置される。情報処理装置10は、カメラ7の撮像画像からユーザを顔認証する機能をもつ。
【0020】
図2は、情報処理装置10の機能ブロック図を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
【0021】
メインシステム60は、メインCPU(Central Processing Unit)を有して構成され、サブシステム50は、サブCPUを有して構成される。サブCPUは、メインCPUがスタンバイ状態にある場合でも、アクティブ状態を維持する。情報処理装置10のメイン電源がオンされている間、メインCPUはシステムソフトウェアが生成する環境下においてアプリケーションの実行などの各種処理を実行する。一方で情報処理装置10のメイン電源がオフされると、サブCPUが、ダウンロード処理などを実行する。
【0022】
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。以下、メイン電源がオン状態にあるとは、メインシステム60がアクティブ状態にあることを意味し、メイン電源がオフ状態にあるとは、メインシステム60がスタンバイ状態にあることを意味する。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
【0023】
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
【0024】
メインCPUは補助記憶装置2やROM媒体44にインストールされているゲームプログラムを実行する機能をもつ一方で、サブCPUはそのような機能をもたない。しかしながらサブCPUは、メインCPUがスタンバイ状態にある間、補助記憶装置2にアクセスする機能、ネットワークサーバ5との間で情報を送受信する機能を有している。サブCPUは、このような制限された処理機能のみを有して構成されており、したがってメインCPUと比較して小さい消費電力で動作できる。
【0025】
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
【0026】
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【0027】
メディアドライブ32は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。以下では、プログラムおよびデータを特に区別しない場合には、まとめてデータと呼ぶこともあるが、データは、ファイルを構成する要素を表現するものとしても使用する。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【0028】
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置6と無線通信する。なお無線通信モジュール38は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、たとえばAP8を介してネットワーク3に接続する。
【0029】
メインシステム60は、メインCPU、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUはシステムソフトウェアを起動し、システムソフトウェアが提供する環境下において、補助記憶装置2にインストールされたアプリケーションを実行する機能をもつ。
【0030】
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。上記したように、サブCPUは、メインCPUがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。なおサブCPUおよびメモリは、別個のチップに形成されてもよい。
【0031】
図1に戻ってコンテンツサーバ12は、情報処理装置10にデジタルコンテンツであるゲームソフトウェアを提供する。ゲームソフトウェアは、起動ファイル、ゲームプログラムなどのゲームを実行するためのリソースファイル群、および情報処理装置10のシステムソフトウェアが使用するファイル群を含んでいる。ゲームプログラムは、ゲームの実行に必要なプログラムであり、ゲームプログラムを走らせることで、ゲームが進行する。起動ファイルは、ゲームプログラムを起動するためのプログラムであり、起動ファイルを実行すると、ゲームプログラムが呼び出されて実行される。システムソフトウェアが使用するファイル群は、たとえば、情報処理装置10におけるメニュー画面に表示されるゲームアイコン画像などを含む。
【0032】
コンテンツサーバ12は情報処理装置10に、ゲームに適用するパッチを提供することもできる。パッチは、バグを修正したゲームプログラムや、ゲーム機能を変更するためのデータファイルなどを含む。パッチはゲームソフトウェアと同じファイル構成を有し、ゲームソフトウェアに含まれるファイルと置き換えられるべきファイルを含んでいる。
【0033】
そのため情報処理装置10は、ゲームソフトウェアおよびパッチの両方を補助記憶装置2にインストールすると、両方に同名のファイルが含まれている場合には、パッチに含まれるファイルを利用してゲームを実行する。なお、ゲームソフトウェアとパッチは、情報処理装置10において別個のディレクトリに格納され、ゲームソフトウェアのファイルがパッチのファイルにより上書きされるわけではない。なお、情報処理装置10が、複数のバージョンのパッチをダウンロードしている場合には、より新しいバージョンのパッチのファイルが使用されることで、ゲームが最新の状態で実行されることになる。
【0034】
本実施例の情報処理装置10は効率的なインストール処理を実現し、ユーザがすみやかにゲームをプレイできる仕組みを提供する。1つの利用場面は、情報処理装置10がコンテンツサーバ12からゲームソフトウェアを補助記憶装置2にダウンロードする場合であり、もう1つの利用場面は、情報処理装置10がメディアドライブ32に装着されたROM媒体44に記録されたファイルを用いてゲームを実行しつつ、ゲームソフトウェアをROM媒体44から補助記憶装置2にコピーする場合である。後者の利用場面においては、情報処理装置10がROM媒体44に記録されたファイルを適宜補助記憶装置2にコピーし、ゲームの実行に必要なデータが補助記憶装置2にあれば、補助記憶装置2にコピーされたファイルを利用し、補助記憶装置2になければROM媒体44に記録されたデータを利用して、ゲームを進行させる。以下、それぞれの利用場面における情報処理装置10の動作を説明するが、両場面において共通の動作および内容については敢えて重複して説明しない。
【0035】
<サーバからゲームソフトウェアをダウンロードする場合>
ゲームソフトウェアは、起動ファイル、ゲームプログラムなどのゲームを実行するためのリソースファイル群、および情報処理装置10のシステムソフトウェアが使用するファイル群を含んでいる。本実施例のゲームソフトウェアは、販売または流通する単位となるパッケージソフトウェアである。情報処理システム1において、ゲームソフトウェアは、コンテンツサーバ12からネットワーク3経由で情報処理装置10にダウンロードされるものと、ROM媒体44から情報処理装置10に供給されるものとが存在するが、両者とも、同一のディレクトリ構造を有し、各ディレクトリは同一のファイルを有して構成されている。このようにディレクトリ構造およびディレクトリに含まれるファイルを同一とすることで、ゲーム開発メーカは、販売または流通形態に依存しない1種類のゲームソフトウェアを製作すればよいため、開発コストの負担を下げられる利点がある。
【0036】
ゲームソフトウェアはツリー型ディレクトリ構造を有し、最上層のルートディレクトリには起動ファイルが含まれている。下層のサブディレクトリは、ファイルの種類ごとに分類され、たとえば3Dモデル用のサブディレクトリ、テクスチャ用のサブディレクトリ、スクリプト用のサブディレクトリなどが形成されている。各サブディレクトリには、対応するファイルが含まれており、3Dモデル用サブディレクトリには複数の3Dモデルファイルが、テクスチャ用サブディレクトリには複数のテクスチャファイルが、スクリプト用サブディレクトリには複数のスクリプトファイルが含まれる。たとえばテクスチャ用のサブディレクトリには、ゲームのシーン1用のテクスチャファイル、シーン2用のテクスチャファイル、シーン3用のテクスチャファイルなどが含まれている。
【0037】
図3は、ゲームソフトウェアの構成を示す。本実施例のゲームソフトウェア70は複数のファイルによって構成され、図示されるように複数のグループ72に論理的に分割される。各ファイルは複数のグループ72のうち少なくとも1つのグループに属し、また各グループ72には少なくとも1つのファイルが属している。図3に示すゲームソフトウェア70には、先頭グループとして第1グループ72aが存在し、それに後続するグループとして第2グループ72b、第3グループ72c、第4グループ72d、第5グループ72e、第6グループ72fが存在している。なお第6グループ72fに後続する7番目以降のグループ72が存在していてもよい。各グループは、第1、第2などのグループ番号によって識別される。
【0038】
既述したように、ゲームソフトウェア70はツリー型ディレクトリ構造を有しており、そのディレクトリ構造には、ファイルの種類ごとに複数のサブディレクトリが形成されている。論理的に分割された各グループには、複数のサブディレクトリに含まれるファイルが属し、すなわち各グループは、種類の異なるファイルによって構成され、情報処理装置10がゲーム中のシーンやステージなどの特定の単位を実行するのに必要なファイルが属するように設定されている。なお後述する言語用のグループは、ゲーム中のシーンで使用されるものであり、必ずしも特定の単位を実行するのに必要なファイルが属していなくてもよい。
【0039】
第1グループ72aには、ゲームソフトウェア70の起動に必要なプログラムファイルおよびデータファイルが属している。したがって情報処理装置10は、第1グループ72aに属する全てのファイルをダウンロードすれば、後続の第2グループ72b以降のファイルをダウンロードしなくても、ただちにゲームソフトウェア70を起動することが可能となる。なお情報処理装置10は、第1グループ72aに属する全てのファイルを取得して、ゲームソフトウェア70を起動した後に、後続のグループ72に属するファイルをバックグランドでダウンロードする。このようにゲームの実行に必要な最低限のファイルをまず最初にダウンロードさせ、それらのファイルが揃った時点でゲームを実行可能とすることで、ユーザのダウンロード待ち時間を短くすることが可能となる。
【0040】
図4は、ゲームソフトウェアの具体的な構成例を示す。第1グループ72aは、ゲームソフトウェア70の中で一番最初にダウンロードされるべきファイル群で構成されており、ここではゲームパラメータファイル、グループファイル、起動ファイルおよび必須リソースファイルが示されている。
【0041】
ここでゲームパラメータファイルは、情報処理装置10のシステムソフトウェアが使用するファイルであり、たとえばタイトルIDやディスプレイ解像度などの情報、またアイコン画像データなどを含んでいる。
【0042】
グループファイルは、各ファイルがどのグループに含まれるかを記述する定義ファイルである。たとえばグループファイルはXMLで表現されてよいが、他のプログラム言語によって表現されてもよく、その形式は問わない。グループファイルについては、図5図6に関して後述する。
【0043】
起動ファイルは、ゲームプログラムを起動するためのプログラムである。また必須リソースファイルは、ゲーム実行に必須となるプログラムなどのリソースファイルやゲーム全体で使用する共通ファイルなどを含む。
【0044】
情報処理装置10は、第1グループ72aに属するファイル群を全て取得すれば、ゲームを起動することができる。逆に言えば、第1グループ72aは、ユーザがゲームの一部をプレイするために必要なファイル群を含むように構成されている。なお、ここでいうゲームプレイは、たとえばユーザがキャラクタを決定したり、ゲームレベルを決定するなど、ゲーム開始時に行う設定行動も含むものであってよい。つまり第1グループ72aは、ゲームを起動し、ユーザが少なくとも何らかの動作を行える状態にするために必要なファイル群を含んで構成されている。第1グループ72aに含まれるファイル群を用いて実行可能となるゲームプレイは、たとえばゲームの初期設定だけであってもよく、またゲームの第1ステージまでプレイ可能とするものであってもよい。これはゲームメーカ次第である。
【0045】
図4に示す例では、第2グループ72bには、シーン1用の複数のリソースファイルが属しており、第3グループ72cには、シーン2用の複数のリソースファイルが属しており、第4グループ72dには、シーン3用の複数のリソースファイルが属している。具体的に複数のリソースファイルは、特定のシーン用の3Dモデルファイル、テクスチャファイル、スクリプトファイルなどであり、ディレクトリ構造の複数のサブディレクトリに含まれるファイルを含む。また第10グループ72kには、英語用のリソースファイルが属しており、また第11グループ72lには、日本語用のリソースファイルが属している。
【0046】
近年のゲームは、言語が異なる複数の国で実行可能に作成されているものが多い。音声データおよび画像データは、複数の言語に対応して作成され、複数言語の音声ファイルおよび画像ファイルが、1つのパッケージソフトウェアに収められている。以下、このようなファイルを「言語依存」ファイルと呼ぶこともあるが、音声ファイルおよび画像ファイルは、基本的にデータサイズが大きくなる傾向があり、このような言語依存ファイルのデータサイズは、ゲームソフトウェア全体のデータサイズに対して、かなりの割合を占めることがある。そこで本実施例のゲームソフトウェア70は、必要な言語依存ファイルのみを取得できるように、言語ごとに音声ファイルおよび画像ファイルを集合させた言語用のリソースファイルのグループを含むようにしている。
【0047】
図5は、グループとファイルの関係の一例を示す。ここでは、ファイルA〜Nが、各グループ72に属していることが示される。図示されるように、各ファイルは複数のグループ72のうち少なくとも1つのグループに属し、また各グループ72には少なくとも1つのファイルが属している。なおファイルGは、第2グループ72b、第3グループ72cおよび第4グループ72dに属している。このことは、ファイルGが、ゲーム中のシーン1、シーン2、シーン3を構成する上で必要なファイルであることを意味し、このように1つのファイルが、複数のグループに所属することもある。なお同様にファイルKも、複数のグループ72、すなわち第4グループ72dおよび第5グループ72eに属している。
【0048】
図6は、グループファイルの一例を示す。既述したように、グループファイルはXMLによって表現されてもよく、他のプログラム言語によって表現されてもよい。図6には、理解を容易にするために、グループとファイルの対応関係をテーブル形式で表現したグループファイルを示している。情報処理装置10は、ゲームソフトウェア70の各ファイルをダウンロードする際に、グループファイルを参照して、あるグループに属するファイルが全て揃ったか、または揃ってないかを判定することが可能となる。たとえば第1グループ72aに関して言えば、情報処理装置10はグループファイルを参照することで、第1グループ72aに属するファイルが、ファイルA,B,C,D,E,Fであることを認識できるため、これらのファイルが補助記憶装置2に記録されていれば、第1グループ72aに属するファイルが全て揃ったことを判定する。
【0049】
図7は、情報処理装置10におけるダウンロード処理およびコピー処理を実行するための機能ブロックを示す。本実施例においてダウンロード処理は、コンテンツサーバ12からゲームソフトウェアを取得(ダウンロード)して補助記憶装置2にインストールする処理であり、またコピー処理は、ROM媒体44に記録されたゲームソフトウェアを補助記憶装置2にコピー(インストール)する処理である。そのため、ダウンロード処理およびコピー処理を、本実施例ではまとめてインストール処理と呼ぶこともある。
【0050】
情報処理装置10は、入力部90、メインシステム60、補助記憶装置2、メモリ64、およびメディアドライブ32を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラム、ストレージなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0051】
補助記憶装置2はたとえばHDDやフラッシュメモリであり、メディアドライブ32はROM媒体44などの記録媒体が装着されて記録媒体からデータを読み出すことができる。なおメディアドライブ32に装着される記録媒体はROM媒体44に限られるものではない。情報処理装置10において補助記憶装置2のデータ読出速度とメディアドライブ32のデータ読出速度を比較すると、補助記憶装置2のデータ読出速度の方が、メディアドライブ32のデータ読出速度よりも高速となる。この意味において、本実施例では補助記憶装置2を高速デバイス、メディアドライブ32を低速デバイスと呼ぶこともある。入力部90は、ユーザが入力装置6を操作した操作情報を受け付け、受付部102に提供する。
【0052】
メインシステム60は、インストール処理部100、ファイルシステム130、コンテンツ実行部140およびデータ受渡部150を備える。ファイルシステム130は補助記憶装置2、フラッシュメモリ36およびROM媒体44に記録されたファイルを管理し、さらにはファイルに含まれるデータがどの媒体に記録されているか、具体的にはデータが補助記憶装置2、フラッシュメモリ36およびROM媒体44のどこに記録されているかを管理する。ファイルシステム130のファイル管理機能は、システムソフトウェアのカーネルレイヤや、ユーティリティソフトウェアなどにより実現される。
【0053】
インストール処理部100は、ゲームソフトウェアのダウンロード処理およびコピー処理を行って、ゲームソフトウェアのファイルを補助記憶装置2に記録する機能を有し、受付部102、ダウンロード実行部104、記録処理部106、判定部108、通知部110およびグループ決定部112を備える。コンテンツ実行部140は、ライセンス情報が存在していることを前提としてデジタルコンテンツを実行し、本実施例ではゲームソフトウェアを実行する。ライセンス情報はゲーム購入時にストアサーバ16より提供されて、補助記憶装置2またはフラッシュメモリ36に記録されている。データ受渡部150は、データの受渡処理を行い、パス取得部152、読出部154および提供部156を備える。
【0054】
ゲームソフトウェアのダウンロード処理において、補助記憶装置2は、ゲームソフトウェアを構成する複数のファイルを格納するための記憶装置として利用される。ゲームソフトウェアにおいて、各ファイルは少なくとも1つのグループに所属しており、また各グループには少なくとも1つのファイルが所属しているが、ダウンロード処理は、グループ単位で実行される。たとえば、ファイルX,Y,ZがグループSに属している場合、グループSのダウンロード要求が生成された場合には、ファイルX,Y,Zがコンテンツサーバ12からダウンロードされて、グループSに属する全てのファイルX,Y,Zが補助記憶装置2に記録されるようになる。なお既にファイルXがダウンロード済みである場合には、ファイルY,Zがコンテンツサーバ12からダウンロードされて、これによりグループSに属する全てのファイルX,Y,Zが補助記憶装置2に記録されるようになる。
【0055】
ゲームソフトウェアの購入処理において、システムソフトウェアは、ストアサーバ16からゲームソフトウェアの販売ページのアドレスを受け取り、出力装置4のディスプレイに販売ページを表示させる。ユーザが入力装置6を操作して、所望のゲームソフトウェアを選択すると、課金処理が行われてライセンス情報が情報処理装置10に付与されるとともに、選択したゲームソフトウェアを特定するゲーム特定情報(タイトルID)を含むダウンロード情報がコンテンツサーバ12に送信され、コンテンツサーバ12が、情報処理装置10に対して、ゲーム特定情報で指定されるゲームソフトウェアのファイルを配信可能な状態となる。
【0056】
インストール処理部100において、グループ決定部112は、ダウンロード実行部104がダウンロードするゲームソフトウェアのグループを決定する。新たなゲームソフトウェアのダウンロード処理を開始する際、グループ決定部112は、最初にダウンロードするべきグループとして、第1グループ72aを決定する。ダウンロード実行部104はネットワーク3に接続されたコンテンツサーバ12からゲームソフトウェアをダウンロードして取得する機能を有し、具体的には、グループ決定部112で決定されたグループを特定する情報(グループ特定情報)を含むダウンロード要求をコンテンツサーバ12に送信して、そのグループに含まれるファイルをダウンロードする。
【0057】
図3に示すように、ゲームソフトウェアのグループはグループ番号で特定することができる。グループ番号は1から降順に設定されており、グループ決定部112は、グループの1つの決定手法として、ダウンロードするグループの順番を、グループ番号順と同じく定めてもよい。つまりグループ決定部112は、より番号の小さいグループを、より早い順番でダウンロードする対象として決定し、したがって第1グループ72a、第2グループ72b、第3グループ72c・・・と、グループ番号順にダウンロードすることを決定してもよい。グループ決定部112は、ダウンロードするグループの順番を決めると、その順番をダウンロード実行部104に通知し、ダウンロード実行部104が、その順番にしたがってグループに含まれるファイルをダウンロードする。
【0058】
グループ決定部112が最初にダウンロードするべきグループとして第1グループ72aを決定すると、ダウンロード実行部104は、コンテンツサーバ12に、第1グループ72aを特定する情報を含むダウンロード要求を送信する。コンテンツサーバ12は、ダウンロード要求されたゲームソフトウェアのグループファイルを参照して、第1グループ72aに含まれるファイルを特定する。図6に示されるように、第1グループ72aには、ファイルA,B,C,D,E,Fが含まれており、コンテンツサーバ12は、ファイルA,B,C,D,E,Fを順に情報処理装置10に配信する。ダウンロード実行部104がファイルA,B,C,D,E,Fを受け取ると、記録処理部106が、補助記憶装置2にファイルA,B,C,D,E,Fを記録する。
【0059】
判定部108は、グループ単位で、ファイルが補助記憶装置2に記録されているか判定する。グループとファイルの対応関係はグループファイルに記述されているため、判定部108は、補助記憶装置2にグループファイルが記録された後、グループファイルを参照して、グループに属するファイルが全て補助記憶装置2に記録されているか判定する。なお本実施例の情報処理装置10は、第1グループ72aのファイルをダウンロードした後、後続グループのファイルのダウンロードを待たずにゲーム起動することができるが、ゲーム実行中、通知部110は、グループに含まれる全てのファイルが補助記憶装置2に記録されたグループの特定情報をコンテンツ実行部140に通知する。このグループ特定情報はゲームに渡され、これによりゲームは、そのグループのファイルを使用できることを知ることができる一方で、グループに含まれるファイルが未ダウンロードであれば、そのグループのファイルを使用できないことを知ることができる。使用できない場合には、ゲームは、そのグループのファイルを利用するシーンを表現できないため、そのグループのファイルがダウンロードされるまで前のシーンを出力装置4から表示して待機し、突然ゲーム進行が中断しないように対応する。
【0060】
第1グループ72aに含まれるファイルのダウンロード中、ダウンロード実行部104は、ダウンロード進捗状況を、プログレスバーの形式でディスプレイに表示してもよい。
図8は、ディスプレイに表示されるダウンロード状況の一例を示す。図8ではゲームタイトルを“TENNIS4”とするゲームソフトウェアがダウンロード中であり、2ギガバイト(GB)のうち0.8GBのデータがダウンロード済みであることが示されている。ここで表示されるダウンロードの進捗状況は、TENNIS4を構成する全ファイルの進捗状況を表現するのではなく、あくまでも第1グループ72aに属するファイルのダウンロード進捗状況を表現している。したがって、図8に示す例では、第1グループ72aに属するファイルのデータサイズが2GBであって、そのうちの0.8GBがダウンロード済みであり、あと2分で残りのデータがダウンロードできることが示されている。
【0061】
既述したように第1グループ72aは、ゲームを起動するために最低限必要なファイル群を含んで構成されているため、第1グループ72aのファイル群が補助記憶装置2に記録されると、ユーザがゲームを開始しうる状態となる。そこでダウンロード実行部104は、ユーザがゲームを開始できるようになるまでのダウンロード残り時間、また進捗状況をディスプレイに表示し、ユーザに長時間待機する必要のないことを知らせるようにしている。
【0062】
ダウンロード実行部104は、第1グループ72aに含まれるファイルのダウンロードを完了すると、引き続きダウンロード処理を継続し、続いて第2グループ72bに含まれるファイルのダウンロードを行う。このとき後続グループのダウンロードはバックグランドで行われるため、その進捗状況についてはディスプレイに表示しなくてよい。
【0063】
一方で、ユーザが後続グループのダウンロード状況を確認したいことも考えられる。そこでダウンロード実行部104は、後続グループのダウンロード進捗状況をプログレスバーの形式でディスプレイに表示してもよい。たとえばディスプレイの縁部分に表示してもよく、またユーザから確認要求があった際に、図8に示すように画面中央にダウンロード進捗状況を表示してもよい。このときダウンロード実行部104は、第2グループから最終グループまでの合計のデータサイズと、それらのグループに含まれるダウンロード済みのデータサイズとを比較できる進捗状況を表示してもよく、ゲームソフトウェア70の全データサイズと、ダウンロード済みの全データサイズとを比較できる進捗状況を表示してもよい。
【0064】
判定部108は、ダウンロード実行部104によるダウンロード処理の実行中、第1グループ72aに属するファイルの全てが補助記憶装置2に記録されたか判定する。判定部108は、第1グループ72aに属するファイルの全てが補助記憶装置2に記録されたことを判定すると、通知部110がコンテンツ実行部140にその旨を通知する。これによりコンテンツ実行部140は、ゲームタイトル“TENNIS4”を起動可能な状態となったことを認識し、メニュー画面上に“TENNIS4”のアイコンをユーザが選択できるように表示する。ユーザはメニュー画面上で“TENNIS4”のアイコンを選択して決定すると、コンテンツ実行部140が“TENNIS4”を起動し、ユーザがプレイすることができるようになる。なおユーザがゲームを起動し、プレイしている間にも、ダウンロード実行部104はバックグランドでダウンロード処理を継続している。そのため、たとえばユーザが第1グループ72aにより提供されるゲームを終了したときには、次のシナリオのグループ(たとえば第2グループ72b)に属するファイルが補助記憶装置2に記録されており、したがってゲームソフトウェアは、第2グループ72bに属するファイルを用いてゲームを進行することができる。なお、通知部110が第2グループ72bに属するファイルの全てが補助記憶装置2に記録されていることをゲームに通知していなければ、ゲームは、第2グループ72bのダウンロードが完了したことの通知を受けるまで、第1グループ72aのファイルで表現できるゲーム実行画面をディスプレイに表示し続けてよい。このようにゲームが第2グループ72bのダウンロード完了を待機することで、円滑なゲーム進行が実現される。
【0065】
なお、ゲームソフトウェアのアイコンは、ダウンロードステータスに応じて、異なる態様で表示されてよい。具体的に、ダウンロードステータスは、ダウンロード開始前、第1グループのダウンロード中、第1グループのダウンロード終了、全グループのダウンロード終了の4種類がある。これらに、後続グループのダウンロード中というステータスを加えてもよい。これらのステータスに応じて、アイコンの表示態様を変えることで、ユーザは、アイコンを見るだけで、ダウンロード状況を確認することができる。なお、ダウンロード開始前のステータスは、ユーザがストアからゲームソフトウェアを購入したが、まだダウンロードを開始していない状態であり、したがってダウンロード開始前には、システムソフトウェアが用意したアイコンがゲームタイトルともに表示されることになる。
【0066】
なお上記のようにコンテンツ実行部140は、ユーザからの指示(アイコン操作)を受けてゲームソフトウェアを実行してもよいが、ユーザからの指示なしにゲームソフトウェアを実行してもよい。ユーザからの指示なしにゲームソフトウェアを自動起動する場合、ユーザにメニュー画面を提示する必要がなくなるため、ユーザを自然にゲームの世界に導くことが可能となる。
【0067】
ファイルシステム130は、補助記憶装置2の記録状況を管理しており、具体的には補助記憶装置2に記録されたファイルを管理している。したがって判定部108は、ファイルシステム130に、どのファイルが記録されているか問い合わせて、グループに属するファイルの記録状況を知ることができる。
【0068】
なおコンテンツ実行部140はデータ受渡部150に、コンテンツの実行に必要なデータの取得を要求すると、データ受渡部150は、補助記憶装置2におけるデータのパス情報をファイルシステム130から取得して補助記憶装置2にアクセスし、補助記憶装置2からデータを読み出して、コンテンツ実行部140に提供する。具体的には、パス取得部152がパス情報をファイルシステム130から取得し、読出部154がパス情報にしたがって補助記憶装置2からデータを読み出し、提供部156が、読み出したデータをコンテンツ実行部140経由でゲームソフトウェアに提供する。本実施例のファイルシステム130は、データが補助記憶装置2にあるかROM媒体44にあるかを管理して、適切なパス情報をデータ受渡部150に提供する機能を有しているが、その機能については後述する。
【0069】
このようにダウンロード実行部104は、グループ決定部112により決定された順序にしたがってファイルを次々にダウンロードし、記録処理部106が補助記憶装置2に記録する。ファイルシステム130は、補助記憶装置2に記録されたファイルを管理し、判定部108は、ファイルシステム130で管理されているファイル情報にしたがって、グループ単位で、グループに含まれるファイルが全て補助記憶装置2に記録されているか判定する。ゲームソフトウェア70を構成する全てのファイルが補助記憶装置2に記録されると、ダウンロード処理は終了する。
【0070】
なお上記した例では、グループ決定部112が、ダウンロードするグループの順番をグループ番号順と同じに定めたが、たとえばダウンロードするグループの順番は、順番定義ファイルに記述されており、グループ決定部112は、この順番定義ファイルにしたがってダウンロードするグループの順番を定めてもよい。順番定義ファイルは、第1グループ72aに含まれており、したがってグループ決定部112は、順番定義ファイルがダウンロードされた後に、順番定義ファイルに含まれるダウンロード順序を参照して、後続のグループのダウンロード順序を決定することができる。この順番定義ファイルは、グループ番号順と同じダウンロード順序を定めたものであってもよいが、ゲームの進行状況に応じて分岐する複数種類のダウンロード順序を定めたものであってもよい。たとえば、ゲームのシーンPの後、ユーザのゲーム中の選択によってシーン(P+1)またはシーンQに進むルートが用意されている場合には、シーンPを構成するグループから、シーン(P+1)を構成するグループおよびシーン(P+1)に後続するグループと、シーンQを構成するグループおよびシーンQに後続するグループとのダウンロード順序が分岐するように設定されていてもよい。
【0071】
なお図5または図6を参照して、たとえばファイルGやファイルKのように、1つのファイルが複数のグループに属しているケースも存在する。ファイルGに関して言えば、たとえば第2グループ72bのダウンロード処理において、ファイルGが補助記憶装置2にダウンロードされていれば、第3グループ72cや第4グループ72dのダウンロード処理の際には、ファイルGを再度ダウンロードする必要はない。
【0072】
そこでダウンロード実行部104は、第1グループ72aに属するファイルをダウンロードした後、後続のグループに属するファイルをダウンロードする前に、そのグループに属するファイルをグループファイルを参照して特定し、特定したファイルが補助記憶装置2に記録済みであるかファイルシステム130に問い合わせる。既に記録済みであれば、そのファイルはダウンロード対象から除外し、記録されていないファイルを特定したダウンロード要求をコンテンツサーバ12に送信することが好ましい。このようにダウンロード実行部104は、ダウンロード処理の開始時においては、第1グループ72aを指定したダウンロード要求を生成するが、後続のグループに関しては、そのグループに属する未ダウンロードのファイルを指定したダウンロード要求を生成して、ファイルの重複ダウンロードを回避することが好ましい。
【0073】
なおダウンロード処理の開始時にダウンロード実行部104は、第1グループ72aに属するファイルを指定したダウンロード要求を生成することもできる。このためにはダウンロード実行部104が、第1グループ72aに属するファイルを知っている必要があるが、たとえばダウンロード実行部104がダウンロード処理に先だって、コンテンツサーバ12に対してタイトルIDの情報を通知すると、コンテンツサーバ12が、第1グループ72aに属するファイルを特定する情報をインストール処理部100に返すようにしてもよい。これによりダウンロード実行部104は、最初にダウンロードするべきファイルを把握できるため、ダウンロード処理の開始時に第1グループ72aに属するファイルを指定したダウンロード要求を生成できるようになる。
【0074】
上記した例では、グループ決定部112が、第1グループ72aに含まれるグループファイルないしは順番定義ファイルにしたがってダウンロードするグループの順番を決定することを示したが、ゲームソフトウェアが指定したグループを、ダウンロードするグループとして決定してもよい。コンテンツ実行部140がゲームを実行し、バックグランドでダウンロード実行部104がダウンロード処理を実行している場合、ゲームの進行状況に応じて、ゲームのシナリオが変化する場合がある。
【0075】
図4を参照して、第2グループ72bはシーン1用のリソースファイルを含み、第3グループ72cはシーン2用のリソースファイルを含み、第4グループ72dはシーン3用のリソースファイルを含んでいる。ゲームが、シーン1、シーン2、シーン3と進行する場合には、ダウンロード実行部104は、第2グループ72b、第3グループ72c、第4グループ72dの順にダウンロードすることが好ましいが、ゲームがシーン1、シーン3と進行する場合には、シーン2のリソースファイルを、シーン3のリソースファイルよりも先にダウンロードする必要がない。そこでゲームソフトウェアは、ゲームの進行状況に応じて近いうちに必要となるグループを決定し、そのグループ特定情報をグループ決定部112に伝達する。
【0076】
このときグループ決定部112は、ファイルシステム130に、そのグループに属する全てのファイルが補助記憶装置2に記録済みであるか問い合わせ、記録済みであれば予め決定しているダウンロード順序を変更せず、記録されていなければ、そのグループをダウンロード順序の先頭にして、変更したダウンロード順序をダウンロード実行部104に通知する。これによりダウンロード実行部104は、ゲームソフトウェアから指定されたグループ特定情報にしたがって、そのグループに属するファイルを優先的に取得し、ゲームの円滑な進行をサポートすることが可能となる。なお、ゲームソフトウェアにより指定されたグループに属するファイルが補助記憶装置2に記録済みであるか否かの問い合わせは、ダウンロード実行部104が行ってもよい。この場合、グループ決定部112は、ファイルシステム130に問い合わせることなくダウンロード順序を決定してダウンロード実行部104に通知し、ダウンロード実行部104が、新たなダウンロード順序にしたがって、先頭に位置するグループに属するファイルが記録済みであるか否かをファイルシステム130に問い合わせてもよい。
【0077】
なお順番定義ファイルが第1グループ72aに含まれている場合、ゲームは、設定された複数のダウンロード順序の分岐点において、分岐先のグループを指定する。上記した例でいえば、シーンPのあと、ゲームソフトウェアはシーン(P+1)またはシーンQのいずれに進むかを判定して、判定結果にしたがって分岐先のグループを決定し、グループ決定部112に通知する。これによりグループ決定部112は、分岐点からのルートを知ることができ、そのルートにしたがったダウンロード順序を決定して、ダウンロード実行部104に通知する。
【0078】
このようにグループ決定部112は、ゲームソフトウェアからの要求を受けて、ダウンロード順序を再決定することで、ゲーム進行に応じた効率的なダウンロード処理が可能となる。グループ決定部112は、一度ダウンロード順序を決定した後も、ゲームからの要求などに応じて逐次ダウンロード順序を適切に変更してダウンロード実行部104に通知することで、ユーザが快適にゲームをプレイすることのできる環境を実現できる。
【0079】
なおインストール処理部100において、受付部102がダウンロード処理の開始前にユーザからグループのダウンロード順を指定する情報を受け付け、ダウンロード実行部104は、受け付けた情報にしたがってゲームソフトウェアをダウンロードしてもよい。
【0080】
図9は、ディスプレイに表示されるダウンロード順選択画面の一例を示す。このダウンロード順選択画面は、ストアサーバ16によって提供される。ユーザが出力装置4のディスプレイに表示された販売ページにおいて購入するゲームソフトウェアを選択すると、課金ページを経由して、図9に示すダウンロード順選択画面が表示される。
【0081】
ゲームソフトウェアの中には、1人でゲームをプレイするシングルプレイと、2人以上でゲームをプレイするマルチプレイの両方をサポートしているものがある。シングルプレイ用とマルチプレイ用のリソースファイルは異なっており、ユーザがこれからシングルプレイをしようとしているときに、マルチプレイ用のリソースファイルを先にダウンロードするのは非効率である。そこでユーザにいずれのリソースファイルを優先してダウンロードするかを選択させて、第1グループ72aのダウンロードが完了後、すみやかにユーザが選択したシングルプレイまたはマルチプレイ用のリソースファイルがダウンロードされるようにする。図9に示す選択画面において、ユーザが1人でシングルプレイを行う予定であれば選択肢74aを選択し、また複数人でマルチプレイを行う予定であれば選択肢74bを選択する。受付部102が、ユーザの選択操作を受け付けると、グループ決定部112は、その選択操作にしたがってダウンロードするグループを決定する。
【0082】
たとえば、シングルプレイ用のリソースファイルが第2グループから第Mグループに属し、マルチプレイ用のリソースファイルが第(M+1)グループから第Nグループに属する場合には、グループ決定部112は、選ばれた選択肢74に応じて優先してダウンロードするグループを決定し、ダウンロード実行部104が、その決定されたグループ特定情報にしたがってダウンロード処理を実行する。具体的に選択肢74aが選択された場合には、ダウンロード実行部104は、第1グループ72aのダウンロード後、第2グループから第Mグループを優先してダウンロードし、選択肢74bが選択された場合には、ダウンロード実行部104は、第1グループ72aのダウンロード後、第(M+1)グループから第Nグループを優先してダウンロードする。なおダウンロード処理の実行中、既述したように、ダウンロード実行部104は、ゲームソフトウェアから指定されたグループ特定情報にしたがって、そのグループに属するファイルを優先的に取得し、ゲームの円滑な進行をサポートすることが好ましい。
【0083】
なお、たとえばシステムソフトウェアが、ユーザのプレイ傾向を管理している場合には、そのプレイ傾向をもとに、グループ決定部112が、優先ダウンロードするグループを決定してもよい。このプレイ傾向は、ユーザがシングルプレイを好むのか、またはマルチプレイを好むのかというユーザ属性情報により表現されてもよく、たとえば常にシングルプレイを行っているユーザであれば、グループ決定部112が、そのプレイ傾向をもとに、第2グループから第Mグループを優先してダウンロードするグループとして決定してもよい。グループ決定部112は、たとえばユーザが過去にシングルプレイを行った回数およびマルチプレイを行った回数をカウントして蓄積してユーザ属性情報として保持し、回数の多いプレイ形態をもとに、優先ダウンロードするグループを決定してもよい。
【0084】
またゲームソフトウェアには、言語依存ファイルが存在することが多く、言語依存ファイルは音声や画像のデータであるため、ゲームソフトウェア全体のデータサイズのかなりの割合を占めることがある。図4においては、英語用のリソースファイルおよび日本語用のリソースファイルが示されているが、実際にはスペイン語用のリソースファイル、中国語用のリソースファイルなども含まれている。一般に情報処理装置10においては、初期設定で、使用される言語の情報が設定されている。たとえばユーザが日本人であれば、使用される言語が日本語に設定され、ユーザが米国人であれば、使用される言語は英語に設定されている。日本人ユーザは、日本語用のリソースファイルを必要とするが、英語用やスペイン語用のリソースファイルは必要としないことが多い。
【0085】
そこでグループ決定部112は、情報処理装置10において設定されている使用言語情報を参照して、その使用言語情報に対応するグループをダウンロード対象とし、対応しないグループをダウンロード対象から除外してもよい。これによりダウンロード実行部104は、複数の言語用に設定されたグループのうち、情報処理装置10において設定されている言語に対応するグループに属するファイルをダウンロードし、設定されている言語に対応しないグループに属するファイルをダウンロードしないように動作することが可能となる。こうすることで、ゲームソフトウェア全体のダウンロード時間を短縮できるとともに、補助記憶装置2の記録容量を無駄に消費することも回避できる。
【0086】
なおゲーム購入時に、図9に示すような言語選択画面が出力装置4のディスプレイに表示されてもよい。言語選択画面においては、ユーザが、そのゲームタイトルで使用する言語を選択できるようになっている。グループ決定部112は、ユーザにより選択された言語に対応するグループをダウンロード対象とし、対応しないグループをダウンロード対象から除外してもよい。なお他の言語用のリソースファイルが後に必要となったときには、ダウンロード実行部104があらためてその言語用のリソースファイルをダウンロードすればよい。たとえばユーザがゲームプレイ中に使用する言語を切り替えたような場合に、グループ決定部112が、切り替えた言語に対応するグループをダウンロード対象として追加する。
【0087】
なお、以上は1つの言語用のグループをダウンロードし、その他の言語用のグループをダウンロードしないことを説明したが、その他の言語用のグループを、当該1つの言語用グループよりも後にダウンロードするようにしてもよい。
【0088】
図4を参照して、シーン用のリソースファイルと、言語依存ファイルとの関係の一例を説明する。ゲームが、シーン1、シーン2、シーン3と進行する場合に、ダウンロード実行部104は、第2グループ72b、第3グループ72c、第4グループ72dの順にダウンロードすることが好ましいが、いずれかのシーンにおいて言語依存ファイルが必要となる場合には、そのシーンの前に、言語依存ファイルをダウンロードすることが好ましい。たとえば第2グループ72bは、シーン1用の言語依存ファイルを含んでおり、第3グループ72cは、シーン2用の言語依存ファイルを含んでいない場合には、ダウンロード実行部104が、第3グループ72cの前に、言語用グループをダウンロードする。これによりゲームが第3グループ72cを利用する際には、既に言語依存ファイルがダウンロードされる状況を作り出すことが可能となる。
【0089】
ユーザはストアサーバ16において、複数のゲームソフトウェアをまとめて購入することができる。以下、たとえば3つのゲームソフトウェア70a、70b、70cを購入した場合について説明する。
図10は、各ゲームソフトウェア70の構成を示す。ゲームソフトウェア70a、70b、70cともに、第1グループおよび後続グループから構成されている。グループ決定部112は、各ゲームソフトウェア70a、70b、70cの第1グループを、たとえばこの順にダウンロードする対象として決定し、ダウンロード実行部104が、各グループの第1グループに属する1以上のファイルを優先して取得すると、グループ決定部112は、いずれかのグループの第2グループ以降の後続グループを、ダウンロードするグループとして決定する。
【0090】
このように複数のゲームソフトウェアがダウンロードの対象として決定された場合、ダウンロード実行部104は、各ゲームソフトウェアの第1グループに属する1以上のファイルを優先して取得する。各ゲームソフトウェアの第1グループに属するファイルのダウンロードは、比較的短時間で完了するため、したがってユーザは、ゲームソフトウェア70a、70b、70cの第1グループのダウンロードが完了すると、いずれかのゲームをすみやかに起動することが可能となる。なおいずれかのゲームが起動されると、グループ決定部112は、起動されたゲームソフトウェア70の後続グループを、ダウンロードするグループとして決定することが好ましい。このように複数のゲームソフトウェアがダウンロード対象となった場合には、各ゲームソフトウェアの第1グループをダウンロードして、ユーザが、いずれのゲームソフトウェアも実行できるような態勢を整えることが好ましい。
【0091】
なおダウンロード実行部104は、複数のゲームソフトウェアを同時並列的にダウンロードすることも可能である。そのときダウンロード実行部104は、各ゲームソフトウェアについて、第1グループのダウンロード進捗状況をプログレスバーの形式で並べてディスプレイに表示してもよい。これによりユーザは、各ゲームソフトウェアのダウンロード状況を一目で確認できる。なお、1つのゲームソフトウェアの第1グループのダウンロードが完了すると、そのゲームソフトウェアの後続グループのダウンロードが引き続き実行されてもよい。このときダウンロード実行部104は、後続グループのダウンロード進捗状況をプログレスバーの形式でディスプレイに表示する。なお、他のゲームソフトウェアの第1グループのダウンロード処理はまだ完了していないため、後続グループのダウンロード進捗状況については、他のゲームソフトウェアの第1グループのダウンロード進捗状況と、表示態様を異ならせることが好ましい。たとえば、後続グループのダウンロード状況を示すプログレスバーは、第1グループのダウンロード状況を示すプログレスバーと異なる色で表現されてもよく、いずれにしても、第1グループのダウンロード進捗状況であるか、または後続グループのダウンロード進捗状況であるかをユーザが識別できる表示態様でプログレスバーが表現されることが好ましい。
【0092】
本実施例の情報処理システム1においてコンテンツサーバ12は情報処理装置10に、ゲームに適用するパッチを提供することもできる。パッチはゲームソフトウェアと同じファイル構成を有し、ゲームソフトウェアに含まれるファイルと置き換えられるべきファイルを含んでいる。つまりパッチも図3に示したゲームソフトウェア70と同様のグループ構成を有している。
【0093】
ゲームソフトウェア70がすでに補助記憶装置2にダウンロードされている場合に、インストール処理部100がコンテンツサーバ12においてパッチが存在していることを検出すると、グループ決定部112は、ダウンロードする必要のあるパッチのグループを特定し、ダウンロード実行部104が、特定されたパッチのグループに属するファイルをダウンロードする。
【0094】
なおゲームソフトウェア70をダウンロードする際に、すでにパッチがコンテンツサーバ12において用意されていることもある。その場合、まず最初にダウンロード実行部104は、ゲームソフトウェア70の第1グループ72aをダウンロードするが、その後はグループ決定部112が、パッチの第1グループに属するファイルをダウンロードする対象として決定する。つまり、ゲームソフトウェアの第Lグループをダウンロードすると、対応するパッチの第Lグループをダウンロードし、ゲームソフトウェアとパッチとがセットでダウンロードされるようにする。これにより、ダウンロードしたゲームソフトウェアのグループに、すぐにパッチをあてることで、そのグループに属するファイルをゲーム進行にすみやかに利用できるようにする。
【0095】
なお判定部108は、パッチが適用されているか否かをグループ単位で判定してもよい。通知部110は、パッチが適用されているか否かを示すパッチ適用情報をゲームに通知する。ゲームが、パッチが適用されたグループのファイルの処理を終了し、次のグループのファイルの処理に移る際、ゲームは、通知されたパッチ適用情報を参照して、次にグループにパッチが適用されているか判断する。このときパッチが適用されていなければ、ゲームは、グループ決定部112に、次のグループのパッチをダウンロード対象として指定し、これによりダウンロード実行部104は、優先的に次のグループのパッチのファイルをダウンロードできるようになる。これにより次のグループにはすみやかにパッチをあてることができ、ゲームを円滑に進行することが可能となる。なおゲームは、次に利用するグループにパッチが適用されていない場合には、そのグループのパッチのファイルがダウンロードされるまで前のシーンをディスプレイに表示して待機し、突然ゲーム進行が中断しないように対応する。
【0096】
実施例の情報処理装置10では、ファイルシステム130が、ファイルのパスを仮想的な所定のマウントポイント(たとえば、“GAME0”)に対応付ける。ゲームソフトウェアには、この所定のマウントポイント“GAME0”を特定する情報が予め含まれており、ゲームソフトウェアは、このマウントポイントを指定して、ファイルにアクセスする。マウントポイントとファイルのパスの対応付けは、ファイルシステム130により管理され、ファイルシステム130は、補助記憶装置2におけるゲームのファイルのパスを取得して、そのパスを仮想的なマウントポイント“GAME0”に対応付けるマウント処理を行っている。これによりゲームソフトウェアは、ファイルの実際のパスを指定する必要はなく、単に、“GAME0”を指定するだけで、所望のファイルにアクセスできるようになる。なお、ここでは補助記憶装置2におけるファイルのパスについて示したが、ROM媒体44およびフラッシュメモリ36におけるファイルのパスについても同様に管理される。
【0097】
具体的にファイルシステム130は、ゲームソフトウェアを所定のマウントポイントにマウントして、仮想的なゲームディレクトリを生成した後、同一のタイトルIDをもつパッチを探索する。ファイルシステム130は、パッチを見つけると、ゲームソフトウェアに仮想的に上書きするファイルをゲームディレクトリから探し出し、パッチのファイルで仮想的に上書きしたゲームソフトウェアを生成する。なおファイルシステム130は、実際にゲームソフトウェアのディレクトリにパッチのファイルを上書きするのではなく、あくまでもゲームソフトウェアにパッチが上書きされているような仮想的なゲームディレクトリを生成する。この仮想的なゲームディレクトリを利用することで、ゲームソフトウェアは、アクセスするファイルがゲームソフトウェアに含まれるものなのか、またはパッチに含まれるものなのかを意識することなく、所望のファイルにアクセスすることができる。
【0098】
以上はゲームソフトウェアないしはパッチをコンテンツサーバ12から取得する例について説明した。コンテンツサーバ12から配信するゲームソフトウェア70の第1グループ72aに属するファイルが全て揃えば、とりあえずゲームが起動できるようにされることで、ユーザは、ゲームソフトウェア70の全てのファイルがダウンロードできていなくても、ゲームをプレイできるようになる。なおゲームソフトウェア70の各グループには、ゲーム中のシーンやステージなどの特定の単位を実行するのに必要なファイルが属するように設定されているため、インストール処理部100がグループ単位でファイルが補助記憶装置2に記録されているか判定して、判定結果をゲームに通知することで、ゲームは、判定結果をもとにゲームの進行を調整することも可能となり、円滑なゲーム進行が可能となる。また本実施例の情報処理装置10では、グループの管理機能をシステムソフトウェアに実現させることで、ゲームソフトウェアはそのような機能をもつ必要がないため、ゲームメーカのソフトウェア開発の負担を大幅に削減することが可能となっている。
【0099】
情報処理システム1では、情報処理装置10がゲームソフトウェアを取得するルートとして、コンテンツサーバ12からダウンロードする以外に、ROM媒体44に記録されたゲームソフトウェアを読み出すルートが存在する。ROM媒体44に記録されたゲームソフトウェアはメディアドライブ32からメモリ64に読み出されるが、補助記憶装置2からメモリ64へのデータ読出速度と比較すると、相対的に低速である。そこで本実施例の情報処理装置10は、ゲームソフトウェアの実行中に、バックグランドでROM媒体44からデータを補助記憶装置2にコピーし、補助記憶装置2へのコピーが完了したファイルについては、ROM媒体44からではなく補助記憶装置2からデータを読み出すようにして、高速なデータ読出を可能とする。以下、ROM媒体44から補助記憶装置2へのデータコピー処理について説明する。
【0100】
<記録媒体からHDDにゲームソフトウェアをコピーする場合>
図7に戻って、メディアドライブ32には、ゲームソフトウェアを構成する複数のファイルを記録したROM媒体44が装着される。読出部154は、メディアドライブ32からメモリ64に、ROM媒体44に記録されたデータを読み出す機能をもつ。メモリ64は、読出部154により読み出されるデータを一時的に記憶する役割をもつ。
【0101】
コンテンツ実行部140はライセンス情報が存在していることを前提としてゲームソフトウェアを実行し、データ受渡部150に対して、ゲーム進行に必要なデータの取得を要求する。データ受渡部150において、パス取得部152は、ファイルシステム130に問い合わせて取得要求されたデータのパス情報を取得し、読出部154は、メディアドライブ32からパス情報にしたがって、取得要求されたデータをメモリ64に読み出し、提供部156が、メモリ64に一時記憶されたデータをコンテンツ実行部140に提供してもよい。これによりコンテンツ実行部140は、ROM媒体44に記録されたゲームソフトウェアを読み出して実行するようになる。
【0102】
なお既述したように、ファイルシステム130は、ファイルないしデータのパスを仮想的な所定のマウントポイント(たとえば、“GAME0”)に対応付けて管理している。ダウンロードされたゲームソフトウェアとパッチの例で説明したように、ファイルシステム130は、仮想的なゲームディレクトリを生成して、ゲームがアクセスするべきファイルのパス情報を管理している。ダウンロードされたゲームソフトウェアのファイルとパッチのファイルの関係は、ROM媒体44に記録されたゲームソフトウェアのファイルと補助記憶装置2にコピーされたゲームソフトウェアのファイルの関係に近似する。つまり、補助記憶装置2にファイルのデータがコピーされると、仮想的なゲームディレクトリにおいて、コピーされたデータが補助記憶装置2から読み出し可能となるように設定される。これによりゲームは、アクセスするファイルがROM媒体44に記録されているのか、または補助記憶装置2に記録されているのかを意識することなく、所望のファイルにアクセスすることができる。
【0103】
なお、ファイルシステム130は、ファイルより細かい粒度、すなわちファイルを構成するデータ単位で、ファイルを管理してもよい。つまりファイルの一部のデータが補助記憶装置2にコピーされていれば、そのデータが補助記憶装置2に記録されていることをファイルシステム130が管理してもよい。これによりゲームは、データが補助記憶装置2に記録されていれば高速デバイスである補助記憶装置2からデータを読み出し、補助記憶装置2に記録されていなければ低速デバイスであるROM媒体44からデータを読み出すように動作できる。
【0104】
図11は、コピー処理の一例を説明するための図である。このコピー処理においては、コンテンツ実行部140がゲームソフトウェアを実行していることが前提となる。図中、D1は、コンテンツ実行部140で実行されているゲームが読み出しを要求したデータである。図11においてバッファ66は、コンテンツ実行部140にデータを提供するために一時記憶するメモリであり、またキャッシュ68は、ROM媒体44から読み出したデータを補助記憶装置2にコピーするために一時記憶するメモリである。
【0105】
ゲームがD1の読み出しをデータ受渡部150に要求すると、パス取得部152がファイルシステム130からD1のパス情報を取得し、読出部154がメディアドライブ32からROM媒体44に記録されたD1を読み出し、バッファ66が、読み出されたD1を一時的に記憶する(ST1)。なおパス情報は、ROM媒体44のセクタを指定するものであってよい。続いて読出部154は、バッファ66に読み出したD1をキャッシュ68にコピーする(ST2)。提供部156は、バッファ66に記憶されたD1をコンテンツ実行部140に提供する(ST3)。これによりゲームは、D1を用いてゲームを進行することができる。
【0106】
インストール処理部100において、記録処理部106は、キャッシュ68に記憶されたデータを読み出し(ST4)、補助記憶装置2に記録する(ST5)。このように、ゲームからの要求にしたがってバッファ66に読み出されたデータを、ゲームに提供するだけではなく、補助記憶装置2に記録することで、データを低速デバイスから高速デバイスにコピーすることが可能となる。補助記憶装置2にコピーされたD1は、ゲームにより次に必要とされたときに、補助記憶装置2からゲームに対して読み出される。なお、ST2においてD1がバッファ66からキャッシュ68にコピーされているが、このコピー処理は必ずしも行われる必要がない。このキャッシュコピーを行わない場合、記録処理部106は、バッファ66からD1を読み出して、補助記憶装置2に記録すればよい。
【0107】
図12は、コピー処理の別の例を説明するための図である。図12の説明図は、図11に示したコピー処理の発展型を示している。図中、D1は、コンテンツ実行部140で実行されているゲームが読み出しを要求したデータであり、D2は、D1を読み出す際、いわばついでに読み出されるデータである。すなわちD1はゲームに提供されるべきデータであるが、D2は、いわゆる先読みされるデータであって、D1をゲームに提供する際に、D2がゲームに提供されることはない。インストール処理部100は、D1およびD2を補助記憶装置2に記録する。このように図12に示す発展型では、より多くのデータをROM媒体44から補助記憶装置2にコピーすることが可能となる。
【0108】
具体的に、ゲームがD1の読み出しをデータ受渡部150に要求すると、パス取得部152がファイルシステム130からD1のパス情報を取得し、読出部154がメディアドライブ32からROM媒体44に記録されたD1を読み出し、バッファ66が、読み出されたD1を一時的に記憶する(ST1)。続いて読出部154は、バッファ66に読み出したD1をキャッシュ68にコピーする(ST2)。提供部156は、バッファ66に記憶されたD1をコンテンツ実行部140に提供する(ST3)。これによりゲームは、D1を用いてゲームを進行することができる。
【0109】
この発展型では、読出部154がROM媒体44からD1を読み出す際、あわせてD2を読み出して、キャッシュ68に一時記憶させる。
図13は、データの先読み処理を説明するための図である。読出部154は、D1を読み出す際、あわせてD2も先読みする。メディアドライブ32では光ピックアップが設けられ、D1のセクタに光ピックアップを移動してレーザ反射光を取得することで、D1の読み出しが行われる。たとえばROM媒体44がブルーレイディスクである場合、記録処理部106は、D1と同一レイヤに記録されているデータ(D2)の先読み処理を読出部154に指示し(ST10)、この指示を受けて読出部154は、メディアドライブ32から、読み出しを要求されたデータ(D1)に加えて、他のデータ(D2)もメモリ64に読み出すようにする。このとき光ピックアップは、D1のセクタから外周方向に位置するセクタまで移動して、D2のデータも読み出すように制御される。このように記録処理部106は、読み出し要求されたD1のセクタに物理的に隣接ないしは近いセクタにある他のデータ(D2)の先読み処理を読出部154に指示する。図12の例では、読出部154がD1をバッファ66に読み出し(ST1)、D2をキャッシュ68に読み出している(ST11)。その後、記録処理部106は、キャッシュ68に記憶されたデータ(D1+D2)を補助記憶装置2に記録する(ST12)。
【0110】
このように、ゲームからの要求にしたがってバッファ66に読み出されたD1を、ゲームに提供するだけではなく、補助記憶装置2に記録するとともに、D1とともに先読みしたD2を補助記憶装置2に記録することで、データを効率よく低速デバイスから高速デバイスにコピーすることが可能となる。補助記憶装置2にコピーされたD1は、ゲームにより次に必要とされたときに、補助記憶装置2からゲームに対して読み出される。なお、ST2においてD1がバッファ66からキャッシュ68にコピーされているが、このコピー処理は必ずしも行われる必要がない。このキャッシュコピーを行わない場合、記録処理部106は、バッファ66からD1を読み出して、補助記憶装置2に記録すればよい。
【0111】
1つのファイルを構成する全てのデータが補助記憶装置2にコピーされた段階で、そのファイルのデータが補助記憶装置2から読み出されるようにしてもよいが、一部のデータのみが補助記憶装置2にコピーされた段階で、その一部のデータが補助記憶装置2から読み出されるようにしてもよい。このようなデータ管理はファイルシステム130によって行われるが、ファイルシステム130が、細かい粒度でデータを管理することで、ゲームが高速デバイスに記録されたデータを効率的に利用できるようになる。このようにファイルシステム130がデータの記録場所を管理することで、ゲームは、補助記憶装置2またはROM媒体44のいずれかから必要なデータを読み出して、ゲームソフトウェアを実行することになる。
【0112】
図7を参照して、判定部108はグループ単位でファイルが補助記憶装置2に記録されているか判定し、通知部110は、属するファイルが全て補助記憶装置2に記録されたグループを特定するグループ特定情報を、コンテンツ実行部140を介してゲームに通知する。判定部108は、グループに属するファイルの一部のデータが補助記憶装置2にコピーされていなければ、そのグループをまだコピーされていないグループとして判定する。これによりゲームは、これから実行しようとするゲームシーンを構成するリソースファイルが補助記憶装置2から読み出されるか、またはROM媒体44から読み出されるか知ることができる。なお既述したように、補助記憶装置2に記録されたデータは、補助記憶装置2から読み出すことは可能であるが、ゲームは、少なくとも一部のデータが補助記憶装置2にコピーされていなければ、そのグループのデータの読み出し元がROM媒体44であり、高速処理が困難なグループとして取り扱う。
【0113】
ROM媒体44から読み出される場合、読出速度が低速であるために、データをリアルタイム処理することが困難なことも想定される。その場合、たとえばゲームは表示解像度を下げてデータ処理量を落とし、リアルタイム処理を間に合わせるようにしてもよい。このようにゲームは、データの読み出し元がROM媒体44であるのか、または補助記憶装置2であるのかに応じて、データ処理内容を変更するようにしてもよい。
【0114】
なお記録処理部106は、ROM媒体44へのデータアクセスを監視して、コンテンツ実行部140が所定時間(たとえば25ms)読み出し要求を行わなければ、読出部154に対して、データの先読み処理を指示する。読出部154は、この先読み処理の指示を受けて、メディアドライブ32から、補助記憶装置2に記録されていないデータをキャッシュ68に読み出し、記録処理部106が、キャッシュ68に読み出されたデータを補助記憶装置2に記録する。このとき記録処理部106は、現在ゲームにより使用中のグループのファイルの全てのコピーが完了していなければ、そのグループのデータを優先して先読み処理させることが好ましい。このように記録処理部106は、ROM媒体44へのアクセス空き時間を効率的に利用してROM媒体44のデータを補助記憶装置2に先読みさせることで、ROM媒体44から補助記憶装置2へのゲームソフトウェアのファイルコピーを短時間で完了させることが可能となる。なおゲームからグループの指定があった場合には、グループ決定部112が、指定されたグループを優先コピーするグループとして決定するが、この場合は、記録処理部106が、グループ決定部112において決定されたグループを先読み処理させることになる。
【0115】
なおコンテンツ実行部140は、ライセンス情報の存在を前提としてゲームソフトウェアを起動する。ライセンス情報はROM媒体44に記録されているが、補助記憶装置2にはコピーされない。したがってコンテンツ実行部140は、ROM媒体44がメディアドライブ32に装着されていなければ、ライセンス情報の存在を確認することができないために、ゲームソフトウェアを構成する全てのファイルが補助記憶装置2に記録されている場合であっても、ゲームソフトウェアを実行しない。このように情報処理装置10は、ゲームソフトウェアを低速デバイスから高速デバイスにコピーして、高速なゲーム処理を実現するが、ライセンス情報が記録されている低速デバイスの存在をゲーム起動の条件とすることで、不適正なゲームソフトウェアの利用を防止している。
【0116】
なお補助記憶装置2へのコピー処理が完了する前に、ゲームが終了し、ROM媒体44がメディアドライブ32から取り外された場合には、ダウンロード実行部104が、残りのファイルをコンテンツサーバ12からダウンロードして記録処理部106が補助記憶装置2に記録してもよい。
【0117】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、アプリケーションの例としてゲームを示したが、それ以外のアプリケーションであってもよい。
【0118】
たとえばゲームソフトウェアをアンインストールする場合、記録処理部106は、第1グループ72aに属するファイルのみを補助記憶装置2に残し、後続グループに属するファイルを補助記憶装置2から削除するようにしてもよい。既述したように、コンテンツ実行部140は、第1グループ72aに属するファイルさえあればゲームを起動でき、後続グループに属するファイルは、ダウンロード実行部104によりバックグランドでダウンロードできるため、記録処理部106が、全てのファイルを補助記憶装置2から削除するのではなく第1グループ72aのみを残しておくことは、補助記憶装置2の記録容量に大きな影響を与えるものではないため、有効である。なお、第1グループのみを残してアンインストールされたゲームソフトウェアのアイコンは、前述した全グループのダウンロード終了ステータスを表現するアイコンから、第1グループのダウンロード終了ステータスを表現するアイコンに変更されることになる。
【符号の説明】
【0119】
1・・・情報処理システム、2・・・補助記憶装置、3・・・ネットワーク、10・・・情報処理装置、12・・・コンテンツサーバ、16・・・ストアサーバ、44・・・ROM媒体、64・・・メモリ、66・・・バッファ、68・・・キャッシュ、70・・・ゲームソフトウェア、90・・・入力部、100・・・インストール処理部、102・・・受付部、104・・・ダウンロード実行部、106・・・記録処理部、108・・・判定部、110・・・通知部、112・・・グループ決定部、130・・・ファイルシステム、140・・・コンテンツ実行部、150・・・データ受渡部、152・・・パス取得部、154・・・読出部、156・・・提供部。
【産業上の利用可能性】
【0120】
本発明は、ゲーム装置などの情報処理装置で実行される情報処理の分野で利用できる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13