(57)【要約】【課題】  ソフトウェアの共有化機能を有するコンピュータ装置間で、３世代以上に亘る転送ファイルの転送を可能とすること。【解決手段】  ゲームカートリッジ２０に格納される転送ファイル２６は、ゲームプログラム２２が転送ファイル化された転送ファイル２６が重畳的に転送ファイル化された、転送ファイル化の入れ子構造を有している。即ち、入れ子構造の基底レベルであるレベル「１」ではゲームプログラム２２が転送ファイル化され、レベル「ｎ」それぞれでは、その直下レベル「ｎ−１」で転送ファイル化された転送ファイル２６［ｎ−１］とゲームプログラム２２とが転送ファイル化されている。但し、ｎ＝１，２，・・・，Ｎ、である。【選択図】図３
2006323451.tif 000002
【特許請求の範囲】
【請求項１】
他装置との間でデータ送受信が可能なコンピュータによる転送ファイルデータ受信・復元処理によって、ソフトウェアが転送ファイル化された転送ファイルデータの他装置からの受信と、受信した転送ファイルデータの転送ファイル化前の状態への復元とが行われ、復元されたソフトウェアに従った処理が前記コンピュータによって実行されることとなる転送ファイルデータのデータ構造であって、
転送ファイルデータが重畳的に転送ファイル化され、転送ファイル化の入れ子構造を有してなるデータ構造。
【請求項２】
入れ子構造の基底レベルではソフトウェアが転送ファイル化され、基底レベルより上のレベルではソフトウェアと当該レベルの直下のレベルの転送ファイル化された転送ファイルデータとが纏めて転送ファイル化されることで転送ファイル化の入れ子構造を有してなる請求項１に記載のデータ構造。
【請求項３】
前記転送ファイル化には少なくとも暗号化が含まれ、
前記コンピュータの前記転送ファイルデータ受信・復元処理において転送ファイルデータが復号される、
ことを特徴とする請求項１又は２に記載のデータ構造。
【請求項４】
前記転送ファイル化には少なくとも圧縮処理が含まれ、
前記コンピュータの前記転送ファイルデータ受信・復元処理において転送ファイルデータが伸張処理される、
ことを特徴とする請求項１〜３の何れか一項に記載のデータ構造。
【請求項５】
入れ子構造の各レベルのソフトウェアは、入れ子構造の各レベルに応じた処理をコンピュータに実行させるためのソフトウェアであることを特徴とする請求項１〜４の何れか一項に記載のデータ構造。
【請求項６】
前記ソフトウェアは、
転送ファイルデータの装置間の転送履歴を継承経過情報として管理する継承管理手段として前記コンピュータを機能させ、
前記継承管理手段が、他装置から当該装置の装置識別情報及び／又は当該装置の継承管理手段によって管理されている継承経過情報を取得することで、管理している継承経過情報を更新するように前記コンピュータを機能させる、
ためのソフトウェアであることを特徴する請求項１〜５の何れか一項に記載のデータ構造。
【請求項７】
前記ソフトウェアは、
前記継承管理手段により管理されている継承経過情報に基づいて、転送履歴にかかる所定処理を行う手段として前記コンピュータを機能させるためのソフトウェアであることを特徴とする請求項６に記載のデータ構造。
【請求項８】
前記ソフトウェアは、
当該ソフトウェアの復元時からの経過時間を判定する経過時間判定手段、
前記経過時間判定手段により判定された経過時間が所定の実行可能期間に達している場合、当該ソフトウェアの実行を禁止する実行禁止手段、
として前記コンピュータを機能させるためのソフトウェアであることを特徴とする請求項１〜７の何れか一項に記載のデータ構造。
【請求項９】
前記ソフトウェアは、
当該ソフトウェアの復元時からの実行回数を計数する計数手段、
前記計数手段により計数された実行回数が所定の実行可能回数に達している場合、当該ソフトウェアの実行を禁止する実行禁止手段、
として前記コンピュータを機能させるためのソフトウェアであることを特徴とする請求項１〜７の何れか一項に記載のデータ構造。
【請求項１０】
入れ子構造の各レベルのソフトウェアそれぞれは、
メイン処理を実行するメイン処理実行手段、
前記メイン処理実行手段による処理時に読み出されて使用される該処理に必要なデータである実行時参照データを他装置から受信する実行時参照データ受信手段、
として前記コンピュータを機能させるためのソフトウェアである、
ことを特徴とする請求項１〜９の何れか一項に記載のデータ構造である。
【請求項１１】
前記ソフトウェアは、
少なくとも前記実行時参照データを受信済みか否かを基に、前記実行時参照データを受信するか否かを判定する受信判定手段、
として前記コンピュータを機能させ、
前記実行時参照データ受信手段が、前記受信判定手段により受信すると判定された場合に前記実行時参照データを端装置から受信する、
ように前記コンピュータを機能させるためのソフトウェアである、
ことを特徴とする請求項１０に記載のデータ構造。
【請求項１２】
前記ソフトウェアは、
前記受信判定手段が、更に前記受信される実行時参照データが記憶されるメモリの空き容量を基に、前記実行時参照データを受信するか否かを判定する、
ように前記コンピュータを機能させるためのプログラムである、
ことを特徴とする請求項１１に記載のデータ構造。
【請求項１３】
前記ソフトウェアは、
他装置に記憶されている複数の実行時参照データの中から、受信する実行時参照データをメモリの空き容量を基に選択するデータ選択手段として前記コンピュータを機能させ、
前記実行時参照データ受信手段が、前記データ選択手段により選択された実行時参照データを受信するように前記コンピュータを機能させるためのソフトウェアである、
ことを特徴とする請求項１０〜１２の何れか一項に記載のデータ構造。
【請求項１４】
請求項１〜１３の何れか一項に記載のデータ構造を有する転送ファイルデータを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１５】
請求項１０〜１３の何れか一項に記載のデータ構造を有する転送ファイルデータと、前記実行時参照データとを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１６】
前記ソフトウェアは所定のゲームを実行するためのゲームソフトウェアであり、
前記実行時参照データには複数のゲームデータが含まれており、
前記ゲームソフトウェアは、
前記復元されたソフトウェアが入れ子構造の何れのレベルかを判定するレベル判定手段として前記コンピュータを機能させ、
前記メイン処理実行手段が、前記実行時参照データ受信手段により受信された実行時参照データに含まれる複数のゲームデータの中から、前記レベル判定手段により判定されたレベルに応じたゲームデータに基づくゲームを実行するように前記コンピュータを機能させる、
ためのゲームソフトウェアである、
ことを特徴とする請求項１５に記載の情報記憶媒体。
【請求項１７】
前記実行時参照データには、前記複数のゲームデータとして複数のゲームステージ情報が含まれており、
前記ソフトウェアは、
前記メイン処理実行手段が、前記実行時参照データ受信手段により受信された実行時参照データに含まれる複数のゲームステージ情報の中から、前記レベル判定手段により判定されたレベルに応じたゲームステージ情報に基づくゲームを実行する、
ように前記コンピュータを機能させるためのゲームソフトウェアである、
ことを特徴とする請求項１６に記載の情報記憶媒体。
【請求項１８】
前記実行時参照データには、前記複数のゲームデータとして複数のキャラクタ情報が含まれており、
前記ゲームソフトウェアは、
前記メイン処理実行手段が、前記実行時参照データ受信手段により受信された実行時参照データに含まれる複数のキャラクタ情報の中から、前記レベル判定手段により判定されたレベルに応じたキャラクタ情報に基づくゲームを実行する、
ようにコンピュータを機能させるためのゲームソフトウェアである、
ことを特徴とする請求項１６に記載の情報記憶媒体。
【請求項１９】
他装置との間でデータ送受信が可能なコンピュータによる転送ファイルデータ受信・復元処理によって、ソフトウェアが転送ファイル化された転送ファイルデータの他装置からの受信と、受信した転送ファイルデータの転送ファイル化前の状態への復元とが行われ、復元されたソフトウェアに従った処理が前記コンピュータによって実行されることとなる転送ファイルデータの製造方法であって、
転送ファイルデータを重畳的に転送ファイル化して、転送ファイル化の入れ子構造をなす転送ファイルデータを製造する製造方法。
【請求項２０】
基底レベルにおいてはソフトウェアを転送ファイル化し、基底レベルより上のレベルにおいてはソフトウェアと当該レベルの直下のレベルの転送ファイル化した転送ファイルデータとを纏めて転送ファイル化することで入れ子構造の転送ファイル化をなす転送ファイルデータを製造する請求項１９に記載の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアが転送ファイル化された転送ファイルデータのデータ構造等に関する。
【背景技術】
【０００２】
従来、コンピュータ機器間でのデータ送受信にかかる技術の１つとして、親機となる家庭用ゲーム装置のようなビデオゲーム機やパーソナルコンピュータといった家庭用コンソールに、子機となる携帯端末機等を着脱自在に接続し、この親機に搭載されたＣＤ−ＲＯＭ等の記録メディアに記録されているプログラムを子機にダウンロードし、子機においてそのプログラムを動作（実行）する技術が知られている（例えば、特許文献１参照）。
【特許文献１】特許第３５９７０５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
また近年、携帯型ゲーム機の中には、無線／有線通信により、他の同種のゲーム機との間でソフトウェアであるゲームプログラムの転送を行い、受信側のゲーム機においてその受信したゲームプログラムを実行可能とするソフトウェアの共有化機能を備えたものが知られている。かかる場合、予め、転送するゲームプログラムが暗号化を含む所定のファイル変換処理により転送ファイルに変換され（転送ファイル化）、この転送ファイルが、ゲームカートリッジ等のゲーム機に着脱自在な情報記憶媒体に格納（記憶）されている。
【０００４】
そして送信側のゲーム機では、装着した情報記憶媒体に格納されている転送ファイルデータを他のゲーム機に送信し、受信側のゲーム機では、送信されてくる転送ファイルデータを受信とともに復元して転送ファイル化前の元のゲームプログラムを得、その後このゲームプログラムを実行可能に構成されている。
【０００５】
つまり、送信側のゲーム機においては転送ファイルデータの送信が行われ、受信側のゲーム機においては転送ファイルデータの受信と復元とが行われれば良いため、ゲーム機にはソフトウェアを転送ファイル化する機能は備わっていない。またゲーム機には、ソフトウェアが不正にコピーされたり、製作者の意図に反した複製や改竄が行われるといった不正を防止し、製品の安全性を確保するため、ソフトウェア自身で自己コピーを行える機能は備わっていない。
【０００６】
このような構成の制約上、ソフトウェアであるゲームプログラムの転送は、情報記憶媒体が装着されたゲーム機とその他のゲーム機との間の２世代間のみで行われていた。従って、受信した転送ファイルを更に他のゲーム機に送信するといった、３世代以上に亘る転送は困難であった。
【０００７】
上記事情に鑑み、本発明は、ソフトウェアの共有化機能を有するコンピュータ装置間で、３世代以上に亘る転送ファイルの転送を可能とすることを目的としている。
【課題を解決するための手段】
【０００８】
上記課題を解決するための第１の発明は、
他装置との間でデータ送受信が可能なコンピュータ（例えば、図１，５の携帯型ゲーム機１）による転送ファイルデータ受信・復元処理（例えば、図７のステップＢ７〜Ｂ９）によって、ソフトウェア（例えば、図２のゲームプログラム９２２）が転送ファイル化された転送ファイルデータ（例えば、図２の転送ファイル９２６）の他装置からの受信（例えば、図７のステップＢ９）と、受信した転送ファイルデータの転送ファイル化前の状態への復元（例えば、図７のステップＢ９）とが行われ、復元されたソフトウェアに従った処理が前記コンピュータによって実行されることとなる転送ファイルデータのデータ構造であって、
転送ファイルデータが重畳的に転送ファイル化され、転送ファイル化の入れ子構造を有してなるデータ構造である。
【０００９】
また、第１９の発明は、
他装置との間でデータ送受信が可能なコンピュータによる転送ファイルデータ受信・復元処理によって、ソフトウェアが転送ファイル化された転送ファイルデータの他装置からの受信と、受信した転送ファイルデータの転送ファイル化前の状態への復元とが行われ、復元されたソフトウェアに従った処理が前記コンピュータによって実行されることとなる転送ファイルデータの製造方法であって、
転送ファイルデータを重畳的に転送ファイル化して、転送ファイル化の入れ子構造をなす転送ファイルデータを製造する製造方法（例えば、図１１の格納用転送ファイル作成処理）である。
【００１０】
この第１又は第１９の発明によれば、ソフトウェアが転送ファイル化された転送ファイルデータが重畳的に転送ファイル化され、転送ファイル化の入れ子構造を有してなるデータ構造の転送ファイルデータが実現される。即ち、他装置から受信し復元した転送ファイル化前の状態のデータもまた、転送化ファイルの入れ子構造を有する転送ファイルデータであるので、この復元した転送ファイルデータを、更に他装置に送信することができる。従って、３世代以上に亘る転送ファイルの転送が可能となる。
【００１１】
第２の発明は、第１の発明のデータ構造において、
入れ子構造の基底レベルではソフトウェアが転送ファイル化され、基底レベルより上のレベルではソフトウェアと当該レベルの直下のレベルの転送ファイル化された転送ファイルデータとが纏めて転送ファイル化されることで転送ファイル化の入れ子構造を有してなるデータ構造である。
【００１２】
また、第２０の発明は、第１９の発明の製造方法において、
基底レベルにおいてはソフトウェアを転送ファイル化し、基底レベルより上のレベルにおいてはソフトウェアと当該レベルの直下のレベルの転送ファイル化した転送ファイルデータとを纏めて転送ファイル化することで入れ子構造の転送ファイル化をなす転送ファイルデータを製造する製造方法である。
【００１３】
この第２又は第２０の発明によれば、転送ファイルデータは、入れ子構造の基底レベルではソフトウェアが転送ファイル化され、この基底レベルより上のレベルではソフトウェアと当該レベルの直下のレベルの転送ファイル化された転送ファイルとが纏めて転送ファイル化されることで、転送ファイルの入れ子構造を有してなる。即ち、復元した転送ファイル化前の状態のデータは、基底レベルより上のレベルにおいては転送ファイルデータ及びソフトウェアとなり、基底レベルにおいてはソフトウェアとなる。従って、転送ファイルデータが転送された各世代において、復元したソフトウェアの実行が可能となる。
【００１４】
第３の発明は、第１又は第２の発明のデータ構造において、
前記転送ファイル化には少なくとも暗号化が含まれ、
前記コンピュータの前記転送ファイルデータ受信・復元処理において転送ファイルデータが復号される、
ことを特徴とするデータ構造である。
【００１５】
この第３の発明によれば、ソフトウェアや転送ファイルデータが暗号化されて転送ファイル化されるので、転送ファイルデータの転送にかかるセキュリティが確保され、特に無線通信により転送ファイルデータの転送が為される場合に好適である。
【００１６】
第４の発明は、第１〜第３の何れかの発明にデータ構造において、
前記転送ファイル化には少なくとも圧縮処理が含まれ、
前記コンピュータの前記転送ファイルデータ受信・復元処理において転送ファイルデータが伸張処理される、
ことを特徴とするデータ構造である。
【００１７】
この第４の発明によれば、ソフトウェアや転送ファイルデータが圧縮されて転送ファイル化されるので、転送ファイル化後の転送ファイルのデータ量が削減され、転送ファイルデータの転送にかかる負担が軽減される。
【００１８】
第５の発明は、第１〜第４の何れかの発明のデータ構造において、
入れ子構造の各レベルのソフトウェアは、入れ子構造の各レベルに応じた処理をコンピュータに実行させるためのソフトウェアであることを特徴とするデータ構造である。
【００１９】
この第５の発明によれば、入れ子構造の各レベルのソフトウェアは、この各レベルに応じた処理をコンピュータに実行させるためのソフトウェアである。従って、転送ファイルの転送が可能な複数世代それぞれにおいて、復元した転送ファイルデータの入れ子構造のレベルに応じた処理が実行される。
【００２０】
第６の発明は、第１〜第５の何れかの発明のデータ構造において、
前記ソフトウェアは、
転送ファイルデータの装置間の転送履歴を継承経過情報として管理する継承管理手段として前記コンピュータを機能させ、
前記継承管理手段が、他装置から当該装置の装置識別情報及び／又は当該装置の継承管理手段によって管理されている継承経過情報を取得することで、管理している継承経過情報を更新するように前記コンピュータを機能させる、
ためのソフトウェアであることを特徴するデータ構造である。
【００２１】
この第６の発明によれば、転送ファイルデータの装置間の転送履歴が継承経過情報として管理され、他装置から当該装置の装置識別情報及び／又は継承経過情報を取得することで、管理されている継承経過情報が更新される。従って、この継承経過情報を参照することで、自装置が何世代目であるのか、受信した転送ファイルデータは何れの装置を経由して転送されてきたデータであるのかといったことをユーザに知らせることが可能となる。
【００２２】
第７の発明は、第６の発明のデータ構造において、
前記ソフトウェアは、
前記継承管理手段により管理されている継承経過情報に基づいて、転送履歴にかかる所定処理を行う手段として前記コンピュータを機能させるためのソフトウェアであることを特徴とするデータ構造である。
【００２３】
この第７の発明によれば、継承経過情報に基づいて、転送履歴にかかる、例えば表示処理といった所定処理が行われる。
【００２４】
第８の発明は、第１〜第７の何れかの発明のデータ構造において、
前記ソフトウェアは、
当該ソフトウェアの復元時からの経過時間を判定する経過時間判定手段、
前記経過時間判定手段により判定された経過時間が所定の実行可能期間に達している場合、当該ソフトウェアの実行を禁止する実行禁止手段、
として前記コンピュータを機能させるためのソフトウェアであることを特徴とするデータ構造である。
【００２５】
この第８の発明によれば、ソフトウェアの復元時からの経過時間が所定の実行可能期間に達している場合、該ソフトウェアの実行が禁止される。従って、例えば実行可能期間を転送ファイル化して転送ファイルに含めることで、転送ファイルの製造時に、復元されたソフトウェアの実行に制限を設けることが可能となる。
【００２６】
第９の発明は、第１〜第７の何れかの発明のデータ構造において、
前記ソフトウェアは、
当該ソフトウェアの復元時からの実行回数を計数する計数手段、
前記計数手段により計数された実行回数が所定の実行可能回数に達している場合、当該ソフトウェアの実行を禁止する実行禁止手段、
として前記コンピュータを機能させるためのソフトウェアであることを特徴とするデータ構造である。
【００２７】
この第９の発明によれば、ソフトウェアの復元時からの実行回数が所定の実行可能回数に達している場合、該ソフトウェアの実行が禁止される。従って、例えば実行可能回数を転送ファイル化して転送ファイルに含めることで、転送ファイルの製造時に、復元されたソフトウェアの実行に制限を設けることが可能となる。
【００２８】
第１０の発明は、第１〜第９の何れかの発明のデータ構造において、
入れ子構造の各レベルのソフトウェアそれぞれは、
メイン処理を実行するメイン処理実行手段、
前記メイン処理実行手段による処理時に読み出されて使用される該処理に必要なデータである実行時参照データを他装置から受信する実行時参照データ受信手段、
として前記コンピュータを機能させるためのソフトウェアである、
ことを特徴とするデータ構造である。
【００２９】
この第１０の発明によれば、復元したソフトウェアの実行により、メイン処理が実行されるとともに、このメイン処理に必要な実行時参照データが他装置から受信される。
【００３０】
第１１の発明は、第１０の発明のデータ構造において、
前記ソフトウェアは、
少なくとも前記実行時参照データを受信済みか否かを基に、前記実行時参照データを受信するか否かを判定する受信判定手段、
として前記コンピュータを機能させ、
前記実行時参照データ受信手段が、前記受信判定手段により受信すると判定された場合に前記実行時参照データを他装置から受信する、
ように前記コンピュータを機能させるためのソフトウェアである、
ことを特徴とするデータ構造である。
【００３１】
この第１１の発明によれば、実行時参照データが受信されていない場合、他装置からこの実行時参照データが受信される。
【００３２】
第１２の発明は、第１１の発明のデータ構造において、
前記ソフトウェアは、
前記受信判定手段が、更に前記受信される実行時参照データが記憶されるメモリの空き容量を基に、前記実行時参照データを受信するか否かを判定する、
ように前記コンピュータを機能させるためのプログラムである、
ことを特徴とするデータ構造である。
【００３３】
この第１２の発明によれば、実行時参照データが記憶されるメモリの空き容量を基に、実行時参照データを受信するか否かが判定される。
【００３４】
第１３の発明は、第１０〜第１２の何れかの発明のデータ構造において、
前記ソフトウェアは、
他装置に記憶されている複数の実行時参照データの中から、受信する実行時参照データをメモリの空き容量を基に選択するデータ選択手段として前記コンピュータを機能させ、
前記実行時参照データ受信手段が、前記データ選択手段により選択された実行時参照データを受信するように前記コンピュータを機能させるためのソフトウェアである、
ことを特徴とするデータ構造である。
【００３５】
この第１３の発明によれば、複数の実行時参照データの中から、メモリの空き容量を基に選択された実行時参照データが受信される。
【００３６】
第１４の発明は、
第１〜第１３の何れかの発明のデータ構造を有する転送ファイルデータを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図１，５のゲームカートリッジ２０）である。
【００３７】
ここで「情報記憶媒体」とは、記憶されている情報をコンピュータが読み取り可能な、例えばハードディスクやＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカード、ＩＣメモリ等の記憶媒体である。従って、この第１４の発明によれば、情報記憶媒体に記憶されている情報をコンピュータに読み取らせて演算処理を実行させることで、第１〜第１３の何れかの発明と同様の効果を奏することができる。
【００３８】
第１５の発明は、
第１０〜第１３の何れかの発明のデータ構造を有する転送ファイルデータと、前記実行時参照データとを記憶したコンピュータ読み取り可能な情報記憶媒体（例えば、図１，５のゲームカートリッジ２０）である。
【００３９】
この第１５の発明によれば、情報記憶媒体に記憶されている情報をコンピュータに読み取らせて演算処理を実行させることで、第１０〜第１３の何れかの発明と同様の効果を奏するとともに、この情報記憶媒体に記憶されている実行時参照データが、転送ファイルデータが転送される複数世代それぞれに送信され、この実行時参照データを使用したメイン処理が実行される。
【００４０】
第１６の発明は、第１５の発明の情報記憶媒体において、
前記ソフトウェアは所定のゲームを実行するためのゲームソフトウェアであり、
前記実行時参照データには複数のゲームデータが含まれており、
前記ゲームソフトウェアは、
前記復元されたソフトウェアが入れ子構造の何れのレベルかを判定するレベル判定手段として前記コンピュータを機能させ、
前記メイン処理実行手段が、前記実行時参照データ受信手段により受信された実行時参照データに含まれる複数のゲームデータの中から、前記レベル判定手段により判定されたレベルに応じたゲームデータに基づくゲームを実行するように前記コンピュータを機能させる、
ためのゲームソフトウェアである、
ことを特徴とする情報記憶媒体である。
【００４１】
この第１６の発明によれば、転送ファイル化されるソフトウェアはゲームソフトウェアであるとともに、実行時参照データには複数のゲームデータが含まれており、復元したソフトウェアの入れ子構造のレベルに応じたゲームデータに基づくゲームが実行される。
【００４２】
第１７の発明は、第１６の発明の情報記憶媒体において、
前記実行時参照データには、前記複数のゲームデータとして複数のゲームステージ情報が含まれており、
前記ソフトウェアは、
前記メイン処理実行手段が、前記実行時参照データ受信手段により受信された実行時参照データに含まれる複数のゲームステージ情報の中から、前記レベル判定手段により判定されたレベルに応じたゲームステージ情報に基づくゲームを実行する、
ように前記コンピュータを機能させるためのゲームソフトウェアである、
ことを特徴とする情報記憶媒体である。
【００４３】
この第１７の発明によれば、実行時参照データには複数のゲームステージ情報が含まれており、復元したソフトウェアの入れ子構造のレベルに応じたゲームステージ情報に基づくゲームが実行される。
【００４４】
第１８の発明は、第１６の発明の情報記憶媒体において、
前記実行時参照データには、前記複数のゲームデータとして複数のキャラクタ情報が含まれており、
前記ゲームソフトウェアは、
前記メイン処理実行手段が、前記実行時参照データ受信手段により受信された実行時参照データに含まれる複数のキャラクタ情報の中から、前記レベル判定手段により判定されたレベルに応じたキャラクタ情報に基づくゲームを実行する、
ようにコンピュータを機能させるためのゲームソフトウェアである、
ことを特徴とする情報記憶媒体である。
【００４５】
この第１８の発明によれば、実行時参照データには複数のキャラクタ情報が含まれており、復元したソフトウェアの入れ子構造のレベルに応じたキャラクタ情報に基づくゲームが実行される。
【発明の効果】
【００４６】
本発明によれば、ソフトウェアが転送ファイル化された転送ファイルデータが重畳的に転送ファイル化され、転送ファイル化の入れ子構造を有してなるデータ構造の転送ファイルデータが実現される。即ち、他装置から受信し復元した転送ファイル化前の状態のデータもまた、転送化ファイルの入れ子構造を有する転送ファイルデータであるので、この復元した転送ファイルデータを、更に他装置に送信することができる。従って、３世代以上に亘る転送ファイルの転送が可能となる。
【００４７】
また、復元した転送ファイル化前の状態のデータは、入れ子構造の基底レベルより上のレベルにおいては転送ファイルデータ及びソフトウェアとなり、基底レベルにおいてはソフトウェアとなる。このため、転送ファイルデータの転送が可能な各世代において、復元したソフトウェアの実行が可能となる。
【発明を実施するための最良の形態】
【００４８】
以下、図面を参照して本発明に好適な実施形態を説明する。尚、以下では、本発明を、所定のゲームを実行する携帯型ゲーム機に適用し、ソフトウェアの代表例であるプログラムを転送ファイル化する場合を説明するが、本発明を適用可能な実施形態がこれに限定されるものではない。
【００４９】
［携帯型ゲーム機の外観］
図１は、本実施形態における携帯型ゲーム機１の一例を示す外観図である。同図によれば、携帯型ゲーム機１は、ユーザが容易に携帯可能な大きさに形成された略四角形状の筐体を有し、この筐体の正面に、方向キー３と、ボタンスイッチ５と、ディスプレイ７と、スピーカ９とが設けられている。また筐体側面には、ゲームカートリッジ２０を装着するためのカードスロット１１や、図示しない電源スイッチや音量調節ボタン等が設けられている。
【００５０】
筐体内部には、ＣＰＵやＩＣメモリ類を搭載した制御装置１３や、他の携帯型ゲーム機１とデータ送受信するための無線通信装置１５、カードスロット１１に装着されたゲームカートリッジ２０の読取装置等が備えられている。制御装置１３に搭載されているＣＰＵは、方向キー３やボタンスイッチ５から入力される操作信号、ゲームカートリッジ２０から読み出したプログラムやデータ等に基づいて種々のゲーム処理を実行し、ゲーム画像の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号をディスプレイ７に出力してゲーム画面を表示させ、ゲーム音の音信号をスピーカ９に出力してゲーム音を出力させる。ユーザは、ディスプレイ７に表示されるゲーム画面を見ながら方向キー３やボタンスイッチ５を操作する等してゲームを楽しむ。
【００５１】
携帯型ゲーム機１がゲーム等を実行するために必要な情報（システムプログラムやゲームプログラム、ゲームデータ等）は、制御装置１３に搭載されているＩＣメモリやゲームカートリッジ２０に格納されている。より具体的には、システムプログラムは制御装置１３のＩＣメモリに格納され、ゲームプログラム及びゲームデータはゲームカートリッジ２０に格納されている。従って、ゲームカートリッジ２０を交換することで異なるゲームを携帯型ゲーム機１に実行させることができる。
【００５２】
［ソフトウェア共有化機能］
またこの携帯型ゲーム機１は、ソフトウェア共有化機能を備えている。このソフトウェア共有化機能とは、ある携帯型ゲーム機１から他の携帯型ゲーム機１へ、ゲームプログラム等のデータを無線通信装置１５を介して転送（送信）し、受信したゲームプログラムに従ったゲームを受信側の携帯型ゲーム機１において実行可能とする機能である。
【００５３】
図２は、ソフトウェア共有化機能を説明するための図である。同図では、ゲームカートリッジ９２０が装着された携帯型ゲーム機１Ａから、他の携帯型ゲーム機１Ｂへのソフトウェアの共有化を行う場合を示している。以下、ソフトウェア共有化機能による送信側の携帯型ゲーム機１を「親機」と言い、受信側の携帯型ゲーム機１を「子機」という。即ち、同図では、携帯型ゲーム機１Ａが「親機」であり、携帯型ゲーム機１Ｂが「子機」である。
【００５４】
同図によれば、ゲームカートリッジ９２０には、ゲームを実行するためのゲームプログラム９２２及びゲームデータ９２４と、ソフトウェアの共有化のための転送ファイル９２６とが格納されている。
【００５５】
転送ファイル９２６とは、子機に転送するための転送ファイルであり、ゲームソフトウェアであるゲームプログラム９２２が、ソフトウェアを転送ファイル化する転送ファイル化処理により転送ファイル化されたファイルである。この転送ファイル化処理には、暗号化及び圧縮処理が含まれている。本実施形態において、転送ファイル９２６は、無線通信により携帯型ゲーム機１間で送受信される。このため、暗号化することで、送受信されるゲームプログラムのセキュリティ上の安全性が確保される。また圧縮処理により転送ファイル９２６のデータ量が削減され、送受信にかかる負担が軽減される。
【００５６】
親機は、装着されているゲームカートリッジ９２０に格納されている転送ファイル９２６及びゲームデータ９２４を読み出し、これを子機に送信する。このとき、各携帯型ゲーム機１では、転送ファイル９２６については転送ファイル用通信部２２２を、ゲームデータ９２４についてはデータ用通信部２４２を、それぞれ介して送受信する。詳細には、親機では、転送ファイル用通信部２２２が転送ファイル９２６を、データ用通信部２４２がゲームデータ９２４を、それぞれ子機に送信する。
【００５７】
そして、子機では、転送ファイル用通信部２２２が、親機から送信されてくる転送ファイルを受信しつつ復元し、転送ファイル化される前の元のゲームプログラム９２２に変換する。また、データ用通信部２４２が、親機から送信されてくるゲームデータ９２４を受信する。ここで、転送ファイル用通信部２２２による転送ファイル９２６の復元は、上述した転送ファイル化に対応する方式である。具体的には、上述した暗号化に対応する復号、及び、圧縮処理に対応する伸張処理が含まれている。
【００５８】
子機において受信されたゲームプログラム９２２やゲームデータ９２４は、当該子機の内部メモリに記憶される。そして、子機では、このゲームプログラム９２２及びゲームデータ９２４に従ったゲームを実行可能となる。
【００５９】
尚、同図では、ゲームカートリッジ９２０が装着されている携帯型ゲーム機１を親機とし、このゲームカートリッジ９２０に格納されている転送ファイル９２６を読み出して子機に送信することとしたが、内部メモリに転送ファイル９２６が記憶されているとした場合には、この内部メモリに記憶されている転送ファイル９２６を子機に送信することとも可能である。
【００６０】
また転送ファイル９２６やゲームデータ９２４の転送は、無線通信による転送に限らず、例えば、親機と子機との間を通信ケーブル等でデータ送受信可能に接続し、有線通信によって転送することとしても良い。
以上がソフトウェア共有化機能の概要である。
【００６１】
次に、本実施形態の転送ファイル２６について説明する。
図３は、転送ファイル２６のデータ構造を説明するための図である。同図によれば、ゲームカートリッジ２０には、ゲーム実行のためのゲームプログラム２２及びゲームデータ２４と、ソフトウェアの共有化のための転送ファイル２６［Ｎ］とが格納されている。この転送ファイル２６［Ｎ］は、上述のようにゲームプログラム２２を転送ファイル化したファイルであり、転送ファイル２６が重畳的に転送ファイル化された転送ファイル化の入れ子構造を有している。
【００６２】
即ち、転送ファイル２６［Ｎ］は、ゲームプログラム２２と、転送ファイル２６［Ｎ−１］と、レベルデータ２８［Ｎ］とが纏めて１つのファイルとされ、転送ファイル化されたファイルである。また転送ファイル２６［Ｎ−１］は、ゲームプログラム２２と、転送ファイル２６［Ｎ−２］と、レベルデータ２８［Ｎ−１］とが纏めて転送ファイル化されたファイルである。また転送ファイル２６［Ｎ−２］は、ゲームプログラム２２と、転送ファイル２６［Ｎ−３］と、レベルデータ２８［Ｎ−２］とが纏めて転送ファイル化されたファイルである。
【００６３】
以降も同様に、転送ファイル２６［ｎ］それぞれは、ゲームプログラム２２と、転送ファイル２６［ｎ−１］と、レベルデータ２８［ｎ］とが纏めて転送ファイル化されたファイルである。但し、ｎ＝Ｎ，Ｎ−１，・・・、である。そして転送ファイル２６［１］はゲームプログラム２２と、レベルデータ２８［１］とが纏めて１つのファイルとされ、転送ファイル化されたファイルである。
【００６４】
ここでレベルデータ２８とは、当該レベルデータ２８が転送ファイル化された転送ファイル２６での入れ子構造のレベルを示すデータである。入れ子構造のレベルは、基底レベルである転送ファイル２６［１］をレベル「１」とし、この転送ファイル２６［１］を転送ファイル化した転送ファイル２６［２］をその上位レベルであるレベル「２」とし、そして、最上位レベルである転送ファイル２６［Ｎ］をレベル「Ｎ」とするといったように、「１」〜「Ｎ」の範囲の正の整数値で定義されている。
【００６５】
このように、ゲームカートリッジ２０に格納されている転送ファイル２６［Ｎ］のデータ構造は、基底レベルであるレベル「１」については、ゲームプログラム２２と、レベルデータ２８［１］とが転送ファイル化され、他の各レベル「ｎ」については、ゲームプログラム２２と、その直下レベル「ｎ−１」の転送ファイル２６［ｎ−１］と、レベルデータ２８［ｎ］とが転送ファイル化された、転送ファイル化の入れ子構造を有している。
【００６６】
即ち、転送ファイル２６［Ｎ］には、入れ子構造のレベル毎に１本のゲームプログラム２２が転送ファイル化されており、実質的にＮ本のゲームプログラム２２が含まれていることになる。
【００６７】
次いで、このような転送ファイル化の入れ子構造を有する転送ファイル２６［Ｎ］のソフトウェア共有化機能による転送について、図４を参照して説明する。
【００６８】
同図によれば、先ず、ゲームカートリッジ２０が装着された携帯型ゲーム機１（これを第１世代とし、ゲーム機［１］と称する。また、後述する第ｍ世代の各携帯型ゲーム機１を、ゲーム機［ｍ］と称する。）から、該ゲームカートリッジ２０に記憶されている転送ファイル２６［Ｎ］及びゲームデータ２４が、他の携帯型ゲーム機１に送信される。この携帯型ゲーム機１が、第２世代のゲーム機［２］となる。
【００６９】
尚ここで、転送ファイル２６及びゲームデータ２４の送信は、上述のように、転送ファイル２６については転送ファイル用通信部２２２を、ゲームデータ２４についてはデータ用通信部２４２を、それぞれ介して行われ、受信側の携帯型ゲーム機１（子機）では、送信されてきた転送ファイル２６の受信とともに復元が行われる。
【００７０】
ゲーム機［２］では、送信されてきた転送ファイル２６［Ｎ］を受信しつつ復元して、ゲームプログラム２２、転送ファイル２６［Ｎ−１］及びレベルデータ２８［Ｎ］を得るとともに、ゲームデータ２４を受信する。従って、ゲーム機［２］では、このゲームプログラム２２及びゲームデータ２４に従ったゲームを実行可能となる。また、ゲーム機［２］から、転送ファイル２６［Ｎ−１］及びゲームデータ２４が、更に他の携帯型ゲーム機１に送信される。この携帯型ゲーム機１が、第３世代のゲーム機［３］となる。
【００７１】
ゲーム機［３］では、同様に、送信されてきた転送ファイル２６［Ｎ−１］を受信しつつ復元して、ゲームプログラム２２、転送ファイル２６［Ｎ−２］及びレベルデータ２８［Ｎ−１］を得るとともに、ゲームデータ２４を受信する。従って、ゲーム機［３］では、このゲームプログラム２２及びゲームデータ２４に従ったゲームを実行可能となる。また、ゲーム機［３］から、転送ファイル２６［Ｎ−２］及びゲームデータ２４が、更に他の携帯型ゲーム機１に送信される。この携帯型ゲーム機１が、第４世代のゲーム機［４］となる。
【００７２】
そして、ゲーム機［Ｎ＋１］では、ゲーム機［Ｎ］から送信されてきた転送ファイル２６［１］を受信しつつ復元して、ゲームプログラム２２及びレベルデータ２８［１］を得るとともに、ゲームデータ２４を受信する。従って、ゲーム機［Ｎ＋１］では、このゲームプログラム２２及びゲームデータ２４に従ったゲームを実行可能となる。またここで、転送ファイル２６［１］には転送ファイル２６が含まれていない。このため、ゲーム機［Ｎ＋１］は、更に他の携帯型ゲーム機１への転送ファイル２６の送信を行うことはできない。
【００７３】
このように、ゲーム機［１］では、転送ファイル２６［Ｎ］をゲーム機［２］に送信する。そして、以降の各世代「ｍ」のゲーム機［ｍ］では、直前世代のゲーム機［ｍ−１］から送信されてくる転送ファイル２６［Ｎ−（ｍ−２）］より、ゲームプログラム２２及び転送ファイル２６［Ｎ−（ｍ−１）］を得、この転送ファイル２６［Ｎ−（ｍ−１）］を次世代のゲーム機［ｍ＋１］に送信する。但し、ｍ＝２，３，・・・，Ｎ、である。そして、最終世代であるゲーム機［Ｎ＋１］では、ゲーム機［Ｎ］から送信されてくる転送ファイル２６［１］により、ゲームプログラム２２を得る。
【００７４】
このような入れ子構造を有する転送ファイル２６［Ｎ］によれば、最大、第（Ｎ＋１）世代のゲーム機［Ｎ＋１］までのソフトウェアの共有化、即ち（Ｎ＋１）世代に亘るソフトウェアの共有化が可能である。このソフトウェアの共有化によって世代間の転送可能な最大数を、世代間転送可能回数という。同図においては、世代間転送可能回数は「Ｎ」となる。
【００７５】
またここで、ゲームカートリッジ２０に格納される転送ファイル２６［１］による世代間転送可能回数は、主に、転送されるゲームプログラム２２の容量と、転送ファイル２６として許容される最大のサイズである最大許容容量とによって決まる。転送ファイル２６としての最大許容容量は、例えば携帯型ゲーム機１内に記憶される際のメモリ容量によって規定される。転送ファイル化に伴うゲームプログラム２２の圧縮処理後の容量を「ａ」とし、転送ファイル２６の最大許容容量を「ｂ」とする。また転送ファイル２６［Ｎ］には、上述のように実質的にＮ本のゲームプログラム２２が圧縮されて含まれている。このため、世代間転送可能回数Ｎは、ａ×Ｎ≦ｂ、を満足する値となる。
【００７６】
［携帯型ゲーム機の機能構成］
図５は、携帯型ゲーム機１の機能構成を示すブロック図である。同図によれば、携帯型ゲーム機１は、機能的には、操作入力部１２０と、情報読出部１４０と、無線通信部１６０と、処理部２００と、画像表示部３２０と、音出力部３４０と、記憶部４００とを備えて構成される。
【００７７】
操作入力部１２０は、ユーザによる操作指示を受け付け、操作に応じた操作信号を処理部２００に出力する。図１では、方向キー３やボタンスイッチ５、不図示の電源スイッチや音量調節スイッチがこれに該当する。
【００７８】
情報読出部１４０は、情報記憶媒体であるゲームカートリッジ２０に対して情報の読み出しを行い、読み出した情報を処理部２００に出力する。図１では、筐体に内蔵される読取装置がこれに該当する。
【００７９】
無線通信部１６０は、主に他の携帯型ゲーム機１等の外部機器と通信接続し、当該外部機器との間でデータの送受信を行う。この機能は、無線ＬＡＮやＩｒＤＡ、ＢｌｕｅＴｏｏｔｈ（Ｒ）等の無線通信規格に準拠した無線通信モジュールによって実現される。図１では、筐体に内蔵された無線通信装置１５がこれに該当する。
【００８０】
処理部２００は、携帯型ゲーム機１全体の制御やゲームの進行制御、ソフトウェア共有化の制御、通信制御、画像生成や音生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）やＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、制御装置１３に搭載されたＣＰＵがこれに該当する。
【００８１】
また本実施形態において、処理部２００は、ソフトウェアの共有に係る演算処理を行うソフトウェア共有部２２０と、主にゲームに係る演算処理を行うゲーム演算部２４０と、ソフトウェア共有部２２０やゲーム演算部２４０の処理によって求められた各種のデータに基づき、各種表示画面の画像信号を生成するための画像生成部２６０と、効果音やＢＧＭ等の各種音の音信号を生成する音生成部２８０とを含んでいる。
【００８２】
ソフトウェア共有部２２０は、他の携帯型ゲーム機１との間での転送ファイル２６の送受信を制御する転送ファイル用通信部２２２を含み、ソフトウェア共有プログラム４１０に従ったソフトウェア共有化処理を実行する。
【００８３】
具体的には、先ず、ゲームカートリッジ２０の装着有無の判断や、受信情報用記憶部４２０における転送ファイル２６の記憶有無の判断、操作入力部１２０からの操作信号等に基づいて、該携帯型ゲーム機１が親機であるか子機であるかの判断を行う。ここで、親機であるためには、（１）ゲームカートリッジ２０が装着されている、（２）受信情報用記憶部４２０に転送ファイル２６が記憶されている、の少なくとも一方を満足する必要がある。
【００８４】
そして親機である場合には、転送ファイル用通信部２２２が、装着されているゲームカートリッジ２０に格納されている転送ファイル２６、或いは、受信情報用記憶部４２０に記憶されている転送ファイル２６を子機に送信する制御を行う。
【００８５】
また、子機である場合には、転送ファイル用通信部２２２が、親機から送信されてくる転送ファイル２６の受信及び復元を行う。ここで復元された情報（ゲームプログラム２２や転送ファイル２６、レベルデータ２８）は、受信情報用記憶部４２０に記憶される。そして、操作入力部１２０からの操作信号等に基づいて、復元されたゲームプログラム２２を実行するか否かを判断し、実行する場合には、ゲーム演算部２４０に、この復元されたゲームプログラム２２に従ったゲーム処理を実行させる。
【００８６】
ゲーム演算部２４０は、他の携帯型ゲーム機１との間のゲームデータ２４の送受信を制御するデータ用通信部２４２を含み、ゲームカートリッジ２０に格納されているゲームプログラム２２、或いは、受信情報用記憶部４２０に記憶されているゲームプログラム２２に従ったゲーム処理を実行する。
【００８７】
具体的には、先ず、当該ゲームプログラム２２によるメイン処理であるゲーム実行に必要な実行時参照データであるゲームデータ２４の有無を判断する。即ち、ゲームカートリッジ２０に格納されているゲームプログラム２２を実行しているならば、ゲームカートリッジ２０に格納されているゲームデータ２４を使用するので「有り」と判断し、受信情報用記憶部４２０に記憶されているゲームプログラム２２を実行しているならば、この受信情報用記憶部４２０にゲームデータ２４が記憶されているか否かを判断する。
【００８８】
ゲームデータ２４が有るならば、当該ゲームデータ２４を使用してゲームを実行する。ゲームデータ２４が無いならば、無線通信部１６０を介して親機である携帯型ゲーム機１と１対１通信を確立し、データ用通信部２４２が、この親機から送信されてくるゲームデータ２４を受信する制御を行う。ここで親機とは、当該ゲームプログラム２２の送信元である携帯型ゲーム機１のことである。受信されたゲームデータ２４は、受信情報用記憶部４２０に記憶される。その後、この受信されたゲームデータ２４を使用してゲームを実行する。
【００８９】
画像生成部２６０は、ソフトウェア共有部２２０やゲーム演算部２４０による演算結果に基づき、ゲーム画面等の表示画面を表示するための表示画像を生成し、生成した画像の画像信号を画像表示部３２０に出力する。
画像表示部３２０は、画像生成部２６０からの画像信号に基づいて、例えば１／６０秒毎に１フレームの画像を再描画しながら表示画面を表示する。この機能は、例えばＬＣＤやＥＬＤ、ＰＤＰ、ＨＭＤ等によって実現される。図１では、ディスプレイ７がこれに該当する。
【００９０】
音生成部２８０は、ソフトウェア共有部２２０やゲーム演算部２４０による演算結果に基づき、効果音やＢＧＭ等の各種音声を生成し、生成した音声の音信号を音出力部３４０に出力する。
音出力部３４０は、音生成部２８０からの音信号に基づいて、ＢＧＭや効果音等の各種音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ９がこれに該当する。
【００９１】
記憶部４００は、処理部２００に携帯型ゲーム機１を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームやソフトウェア共有化等の各種アプリケーションを実行させるために必要なプログラムやデータ等を記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１２０から入力される操作信号データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、制御装置１３に搭載されたＩＣメモリがこれに相当する。
【００９２】
本実施形態では、記憶部４００は、処理部２００をソフトウェア共有部２２０として機能させるためのソフトウェア共有プログラム４１０を記憶しているとともに、受信情報用記憶部４２０を備えている。この受信情報用記憶部４２０は、ソフトウェア共有化機能により、親機である他の携帯型ゲーム機１から受信した情報を記憶する。具体的には、転送ファイル用通信部２２２において受信、復元されたゲームプログラム２２、転送ファイル２６及びレベルデータ２８と、データ用通信部２４２において受信されたゲームデータ２４とを記憶する。
【００９３】
［携帯型ゲーム機における処理の流れ］
図６は、携帯型ゲーム機１における全体処理の流れを説明するためのフローチャートである。同図によれば、処理部２００は、先ず、ゲームカートリッジ２０が装着されているか否か（装着有無）を判定する（ステップＡ１）。また、受信情報用記憶部４２０に、ゲームプログラム２２及び転送ファイル２６が記憶されているか否か（記憶有無）を判定する（ステップＡ３）。
【００９４】
次に、処理部２００は、この装着有無や記憶有無の判定結果、操作入力部１２０からの操作信号等に基づいて、ゲームを実行するか、ソフトウェアの共有化を行うかを判断する。ソフトウェアの共有化を行うならば（ステップＡ５：共有）、続いて、ソフトウェア共有部２２０がソフトウェア共有化処理を実行する（ステップＡ７）。また、ゲームを実行するならば（ステップＡ５：ゲーム）、ゲーム演算部２４０がゲーム処理を実行する（ステップＡ９）。そして各処理が終了すると、本全体処理は終了となる。
【００９５】
図７は、ソフトウェア共有化処理の流れを説明するためのフローチャートである。この処理は、ソフトウェア共有部２２０がソフトウェア共有プログラム４１０を実行することで実現される。同図によれば、ソフトウェア共有部２２０は、先ず、ゲームカートリッジ２０の装着有無や転送ファイル２６の記憶有無、操作入力部１２０からの操作信号等に基づいて、当該携帯型ゲーム機１が親機であるか子機であるかを判断する。
【００９６】
そして、親機であるならば（ステップＢ１：親機）、次の処理を行う。即ち、無線通信部１６０を介して、子機である他の携帯型ゲーム機１との間の１対１通信を確立させる（ステップＢ３）。次いで、転送ファイル用通信部２２２が、装着されているゲームカートリッジ２０に格納されている転送ファイル２６、或いは、受信情報用記憶部４２０に記憶されている転送ファイル２６を、子機に送信する制御を行う（ステップＢ５）。
【００９７】
一方、当該携帯型ゲーム機１が子機であるならば（ステップＢ１：子機）、ソフトウェア共有部２２０は次の処理を行う。即ち、無線通信部１６０を介して、親機である他の携帯型ゲーム機１との間の１対１通信を確立させる（ステップＢ７）。次いで、転送ファイル用通信部２２２が、親機から送信されてくる転送ファイルを受信しつつ復元し、得られた情報（ゲームプログラム２２や転送ファイル２６、レベルデータ２８）を受信情報用記憶部４２０に記憶させる（ステップＢ９）。
【００９８】
その後、ソフトウェア共有部２２０は、例えば操作入力部１２０からの操作信号に基づいて、復元されたゲームプログラム２２を実行するか否かを判断する。実行するならば（ステップＢ１１：ＹＥＳ）、ゲーム演算部２４０に、この復元されたゲームプログラム２２に従ったゲーム処理を実行させる（ステップＢ１３）。
以上の処理を行うと、本ソフトウェア共有化処理は終了となる。
【００９９】
図８は、ゲーム処理の流れを説明するためのフローチャートである。この処理は、ゲーム演算部２４０が、ゲームカートリッジ２０に格納されているゲームプログラム２２、或いは、受信情報用記憶部４２０に記憶されているゲームプログラム２２を実行することで実現される。
【０１００】
同図によれば、ゲーム演算部２４０は、先ず、ゲームカートリッジ２０の装着有無やゲームデータ２４の記憶有無等に基づいて、当該ゲームプログラム２２によるゲームの実行に必要なゲームデータ２４の有無を判断する（ステップＣ１）。そして、ゲームデータ２４が有るならば（ステップＣ３：ＹＥＳ）、当該ゲームデータ２４を使用してゲームを実行する（ステップＣ１１）。
【０１０１】
一方、ゲームデータ２４が無いならば（ステップＣ３：ＮＯ）、ゲーム演算部２４０は、無線通信部１６０を介して、親機である他の携帯型ゲーム機１との間の１対１通信の確立させる（ステップＣ５）。次いで、この親機にゲームデータ２４の転送を要求する（ステップＣ７）。そして、データ用通信部２４２が、親機から送信されてくるゲームデータ２４を受信する制御を行い、受信したゲームデータ２４を受信情報用記憶部４２０に記憶させる（ステップＣ９）。その後、この受信したゲームデータ２４を使用してゲームを実行する（ステップＣ１１）。
以上の処理を行うと、本ゲーム処理は終了となる。
【０１０２】
［転送ファイルの生成］
次に、ゲームカートリッジ２０に格納される転送ファイル２６（以下、「格納用転送ファイル」と称する）の生成について説明する。転送ファイル２６の生成は、ゲームカートリッジ２０のメーカ側で実施されるものである。
【０１０３】
図９は、格納用転送ファイルを生成するための生成システム４０の全体構成を示す図である。この生成システム４０は、転送ファイル化サーバ４２と、格納用転送ファイル作成サーバ４４とを含み、与えられたゲームプログラム２２から格納用転送ファイルを生成するシステムであり、例えばゲームメーカ側に設置、管理される。
【０１０４】
転送ファイル化サーバ４２は、格納用転送ファイル作成サーバ４４からの被転送情報を転送ファイル化して転送ファイルに変換する転送ファイル化処理を行う。この転送ファイル化処理には、上述のように暗号化処理及び圧縮処理が含まれている。
【０１０５】
格納用転送ファイル作成サーバ４４は、与えられたゲームプログラム２２や、転送ファイル化サーバ４２で変換された転送ファイル２６等を基に被転送情報を生成し、転送ファイル化サーバ４２にこの被転送情報を転送ファイルに変換させる処理を繰り返し行うことで、格納用転送ファイルを作成する。そして、格納用転送ファイル作成サーバ４４により作成された格納用転送ファイルは、ゲームプログラム２２及びゲームデータ２４とともにゲームカートリッジ２０に格納され、例えば製品として販売されたり、無償配布されたりする。
【０１０６】
図１０は、生成システム４０による格納用転送ファイルの生成方法を説明するための図である。但し、世代間転送可能回数は「Ｎ」であるとする。同図によれば、先ず、格納用転送ファイル作成サーバ４４により、ゲームプログラム２２と、レベルを基底レベルである「１」としたレベルデータ２８［１］とが纏めて被転送情報とされ、この被転送情報が、転送ファイル化サーバ４２によって転送ファイル２６［１］に変換される。
【０１０７】
次に、格納用転送ファイル作成サーバ４４により、この転送ファイル２６［１］と、ゲームプログラム２２と、レベルを「２」としたレベルデータ２８［２］とが纏めて被転送情報とされ、転送ファイル化サーバ４２によって転送ファイル２６［２］に変換される。続いて、格納用転送ファイル作成サーバ４４により、この転送ファイル２６［２］と、ゲームプログラム２２と、レベルを「３」としたレベルデータ２８［３］とが纏めて被転送情報とされ、転送ファイル化サーバ４２によって転送ファイル２６［３］に変換される。
【０１０８】
以降も同様に、格納用転送ファイル作成サーバ４４により転送ファイルが作成されていき、最後に、転送ファイル２６［Ｎ−１］と、ゲームプログラム２２と、レベルを「Ｎ」としたレベルデータ２８［Ｎ］とが纏めて被情報とされ、転送ファイル化サーバ４２によって転送ファイル２６［Ｎ］に変換される。この転送ファイル２６［Ｎ］が、格納用転送ファイルとされる。
【０１０９】
このように、直前に変換された転送ファイル２６と、ゲームプログラム２２と、レベルデータ２８が纏めて被転送情報とされ、転送ファイル２６に変換される一連の処理が世代間転送可能回数に等しい回数だけ繰り返されることで、格納用転送ファイルである転送ファイル２６が生成される。
【０１１０】
図１１は、格納用転送ファイル作成サーバ４４によって実行される格納用転送ファイル作成処理の流れを説明するためのフローチャートである。同図によれば、格納用転送ファイル作成サーバ４４は、先ず、世代間転送可能回数Ｎを決定する（ステップＤ１）。また、入れ子構造のレベルを表す変数ｎを、基底レベルである「１」に設定する（ステップＤ３）。
【０１１１】
次に、与えられたゲームプログラム２２と、レベルを「ｎ」としたレベルデータ２８とを含む被転送情報を生成し（ステップＤ５）、転送ファイル化サーバ４２に、この被転送情報に対する転送ファイル化処理を行わせ、転送ファイル２６に変換させる（ステップＤ７）。
【０１１２】
続いて、格納用転送ファイル作成サーバ４４は、変数ｎが世代間転送可能回数Ｎに一致するか否かを判断し、一致しないないならば（ステップＤ９：ＮＯ）、この変数ｎを「１」加算した値に更新する（ステップＤ１１）。次いで、ステップＤ７において直前に変換された転送ファイルと、レベルを「ｎ」としたレベルデータ２８とを含む被転送情報を生成した後（ステップＤ１３）、ステップＤ７に戻り、転送ファイル化サーバ４２に、この被転送情報に対する転送ファイル化処理を行わせ、転送ファイルに変換させる（ステップＤ７）。
【０１１３】
一方、ステップＤ９において、変数ｎが世代間転送可能回数Ｎに一致するならば（ステップＤ９：ＹＥＳ）、格納用転送ファイル作成サーバ４４は、ステップＤ７において直前に変換された転送ファイルを格納用転送ファイルとし（ステップＤ１５）、本格納用転送ファイル生成処理を終了する。
【０１１４】
［作用・効果］
以上、本実施形態によれば、ゲームカートリッジ２０に格納される転送ファイル２６は、ゲームプログラム２２が転送ファイル化された転送ファイル２６が重畳的に転送ファイル化された、転送ファイル化の入れ子構造を有している。即ち、携帯型ゲーム機１において、親機であるこのゲームカートリッジ２０が装着された携帯型ゲーム機１から受信し復元したデータもまた、転送ファイル化の入れ子構造を有する転送ファイル２６である。このため、この復号した転送ファイル２６を、更に他の携帯型ゲーム機１に転送することができる。従って、３世代以上に亘る転送ファイル２６の転送が可能となる。
【０１１５】
また、入れ子構造の基底レベルであるレベル「１」ではゲームプログラム２２が転送ファイル化され、レベル「１」より上のレベル「ｎ」では、その直下レベル「ｎ−１」で転送ファイル化された転送ファイル２６［ｎ−１］とゲームプログラム２２とが転送ファイル化される。このため、転送ファイル２６が転送された各世代においてゲームプログラム２２の実行が可能となる。
【０１１６】
［変形例］
尚、本発明を適用可能な実施形態は上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【０１１７】
（Ａ）例えば上述した実施形態では、転送ファイル化の入れ子構造の各レベルにおいてゲームプログラム２２を同一とし、ゲームプログラム２２の実行時に使用されるゲームデータ２４を同一のものとして説明したが、次のようにしても良い。
【０１１８】
（Ａ−１）例えば、ゲームプログラム２２は同一であるが、入れ子構造のレベルに応じてゲームプログラム２２の実行時に使用されるゲームデータ２４中のデータを異なることとする。
【０１１９】
具体的には、図１２に示すように、ゲームカートリッジ２０には、第１世代の携帯型ゲーム機１においてゲームプログラム２２の実行時に使用されるゲームデータ２４［０］と、第２世代以降の各携帯型ゲーム機１に転送されるゲームデータ２４Ａとが格納される。ゲームデータ２４Ａは、入れ子構造のレベル「１」〜「Ｎ」それぞれに対応するゲームデータ２４［１］〜２４［Ｎ］から構成される。
【０１２０】
そして第２世代以降のゲーム機［２］〜［Ｎ＋１］それぞれでは、ゲームプログラム２２の実行の際、受信したゲームデータ２４Ａから、その入れ子構造のレベルに対応するゲームデータ２４［Ｎ］〜２４［１］を選択して使用する。ゲーム機［２］〜［Ｎ＋１］それぞれにおいて、入れ子構造のレベルは、レベルデータ２８［Ｎ］〜２８［１］によって知ることができる。
【０１２１】
ここでゲームデータ２４［１］〜２４［Ｎ］は、何れもゲームプログラム２２に対応したものであり、その内容が異なっている。具体的には、例えば、（ａ）自キャラクタや敵キャラクタといったゲームに登場するキャラクタのモデルデータやテクスチャ、能力パラメータが異なっていたり、キャラクタそのものが異なるといったキャラクタ情報が異なる場合や、（ｂ）背景を含むゲームステージや天候等のゲーム条件、ゲームクリア条件が異なるといったゲームステージ情報が異なる場合がある。従って、世代が異なる各携帯型ゲーム機１において、登場するキャラクタやゲームステージが異なるのゲームを楽しむことができる。
【０１２２】
（Ａ−２）また、ゲームデータ２４を同一とし、入れ子構造のレベル毎に転送ファイル化されるゲームプログラム２２が異なることとしても良い。この場合、例えばある世代の携帯型ゲーム機１においては野球ゲームが実行可能であり、他のある世代の携帯型ゲーム機１においてはサッカーゲームが実行可能となるといった、世代間で異なるゲームを楽しむことができる。
【０１２３】
（Ａ−３）更に、入れ子構造のレベル毎に、転送ファイル化されるゲームプログラム２２及び使用されるゲームデータ２４中のデータが異なることとしても良い。具体的には、図１３に示すように、入れ子構造のレベル「１」〜「Ｎ」それぞれにおいて、ゲームプログラム２２［１］〜２２「Ｎ」を転送ファイル化する。そして、この各ゲームプログラム２２［１］〜２２［Ｎ］に対応するゲームデータ２４［１］〜［Ｎ］から構成されるゲームデータ２４Ｂを、ゲームカートリッジ２０に格納する。またこのゲームデータ２４［１］〜２４［Ｎ］それぞれは、入れ子構造のレベル「１」〜「Ｎ」に対応付けられていることとする。
【０１２４】
（Ｂ）また上述した実施形態では、ゲームプログラム２２を転送ファイル化して転送ファイル２６を生成することとしたが、ゲームプログラム２２及びゲームデータ２４を纏めて転送ファイル化することとしても良い。
【０１２５】
具体的には、図１４に示すように、入れ子構造のレベル「１」〜「Ｎ」それぞれにおいて、ゲームプログラム２２［１］〜２２［Ｎ］と、このゲームプログラム２２［１］〜２２［Ｎ］の実行時に使用されるゲームデータ２４［１］〜２４［Ｎ］とを纏めて転送ファイル化することとしても良い。そして生成した転送ファイル２６［Ｎ］を、ゲーム機［１］で実行されるゲームプログラム２２［０］及びゲームデータ２４［０］とともに、ゲームカートリッジ２０に格納する。
【０１２６】
この場合、上述した実施形態のように、各携帯型ゲーム機１において、復元したゲームプログラム２２の最初の実行時に親機から対応するゲームデータ２４の受信を行う必要が無い。但し、転送ファイル２６には最大許容容量があるので、その分、ゲームデータ２４を転送ファイル化しない場合と比較して世代間転送可能回数Ｎが小さくなる。
【０１２７】
（Ｃ）また上述した実施形態では、復元したゲームプログラム２２の実行時に、該ゲームプログラム２２に従ったゲームの実行に必要なゲームデータ２４が受信されていない場合、該ゲームデータ２４を親機から受信することとしたが、更に、携帯型ゲーム機１の内部メモリである受信情報用記憶部４２０の空き容量に応じて、ゲームデータ２４の受信有無を決定することとしても良い。
【０１２８】
具体的には、受信することとなるゲームデータ２４の容量が、受信情報用記憶部４２０の空き容量以下である場合に、該ゲームデータ２４を受信する。更に、親機において、それぞれ容量が異なる複数のゲームデータ２４が記憶されることとし、子機は、受信情報用記憶部４２０の空き容量以下の容量のゲームデータ２４を選択して受信することとしても良い。
【０１２９】
（Ｄ）また、各携帯型ゲーム機１において、携帯型ゲーム機１間の転送ファイル２６の転送履歴の情報である継承経過情報を管理することととしても良い。継承経過情報とは、ゲームカートリッジ２０に格納された１つの転送ファイル２６が、どの携帯型ゲーム機１間で転送（継承）されたかを示す情報であり、そのデータ構造は、例えば各携帯型ゲーム機１の世代を基準とした階層構造を有している。
【０１３０】
具体的には、親機から子機への転送ファイル２６の送信時に、親機が、自機の継承経過情報と、機器ＩＤやユーザ名等の装置識別情報とを子機に送信し（例えば、図７のステップＢ５の次）、子機が自機の装置識別情報を親機に送信する（例えば、図７のステップＢ９の次）。そして、親機では、受信した子機の装置識別情報を、継承経過情報における自機の直下層に追加して更新し、子機では、受信した親機の装置識別情報を、受信した継承経過情報における自機の直上層に追加して更新する。尚、継承経過情報の送信及び更新等は、転送ファイル２６の送信時ではなく、復元したゲームプログラム２２の実行時、具体的には、例えばゲームデータ２４の送信時（例えば、図８のステップＣ９の次）に行うこととしても良い。
【０１３１】
更に、子機は、通信可能な範囲内の親機以外の他の携帯型ゲーム機１との無線通信を確立し、該他の携帯型ゲーム機１と互いに自機の装置識別情報の送受信を行う。受信した他の携帯型ゲーム機１の装置識別情報が自機の継承経過情報に含まれている場合、該他の携帯型ゲーム機１と互いに自機の継承経過情報の送受信を行い、受信した継承経過情報を基に、自機の継承経過情報を更新する。
【０１３２】
更に、各携帯型ゲーム機１において、継承経過情報に基づく転送ファイル２６の転送履歴を表示しても良い。具体的には、例えば自機の世代数を表示したり、自機と親機との間の各世代の携帯型ゲーム機１のユーザ名等を、その転送ファイル２６の転送順に従って図示した系譜を表示したりする。
【０１３３】
（Ｅ）また、復元したゲームプログラム２２の実行に制限を設けることとしても良い。
【０１３４】
（Ｅ−１）例えば、復元したゲームプログラム２２の実行可能な期間に制限を設けることとする。具体的には、親機からの転送ファイル２６の受信時に、転送ファイル２６を復元した各情報（ゲームプログラム２２や転送ファイル２６等）とともに、この転送ファイル２６の受信時刻を示す時刻データを受信情報用記憶部４２０に記憶する。
【０１３５】
そして、受信情報用記憶部４２０に記憶されているゲームプログラム２２の実行時には、先ず、受信情報用記憶部４２０に記憶されている時刻データが示す受信時刻から現在時刻までの経過時間を算出し、この経過時間が予め定められたゲームプログラム２２の実行可能な期間である実行可能期間に達しているか否かを判定する（例えば、図８のステップＣ１の前）。経過時間が実行可能期間を超えていないならば、該ゲームプログラム２２の実行を継続し、超えているならば、例えば該ゲームプログラム２２の実行可能な期限を過ぎたとするエラーメッセージを表示させ、該ゲームプログラム２２の実行を禁止する。
【０１３６】
（Ｅ−２）また、復元したゲームプログラム２２の実行可能な回数に制限を設けることとする。具体的には、親機からの転送ファイル２６の受信時に、転送ファイル２６を復元した各情報（ゲームプログラム２２や転送ファイル２６等）とともに、復元したゲームプログラム２２の実行回数を示す実行回数データを初期値「０」として受信情報用記憶部４２０に記憶する。
【０１３７】
そして、受信情報用記憶部４２０に記憶されているゲームプログラム２２の実行時には、先ず、受信情報用記憶部４２０に記憶されている実行回数を「１」加算した値に更新し、更新後の実行回数が、予め定められたゲームプログラム２２を実行可能な回数である実行可能回数に達しているか否かを判定する（例えば、図８のステップＣ１の前）。実行回数が実行可能回数に達していないならば、該ゲームプログラム２２の実行を継続し、達しているならば、例えば該ゲームプログラム２２の実行可能な回数を過ぎたとするエラーメッセージを表示させ、該ゲームプログラム２２の実行を禁止する。尚ここで、実行回数の初期値として実行可能回数を記憶し、ゲームプログラム２２の実行毎に実行回数を「１」減算した値に更新し、この実行回数が「０」になると該ゲームプログラム２２の実行を禁止することとしても良い。
【０１３８】
（Ｆ）また上述した実施形態では、コンピュータ機器として携帯型ゲーム機に適用した場合を説明したが、これ以外のゲーム機、例えば家庭用ゲーム機や業務用ゲーム機、通信機能を備え、ゲームを実行可能なパーソナルコンピュータや、携帯電話機やＰＤＡ等の携帯端末機に適用することとしても良い。
【０１３９】
（Ｇ）また、転送ファイル化されるソフトウェアはゲームプログラムに限らず、音楽再生ソフトといった他のアプリケーションソフトウェアであっても良い。この場合、適用するコンピュータ機器として、例えば携帯電話機やＰＤＡ等の携帯端末機、パーソナルコンピュータといった通信機能を備えた機器に適用する。
【０１４０】
（Ｈ）また機器間の通信方式としては、無線通信に限らず、有線通信であっても良い。
【０１４１】
（Ｉ）更に上述した実施形態では、ソフトウェアの転送ファイル化として暗号化及び圧縮処理を行うこととしたが、どちらか一方のみを行うこととしても良い。この場合、受信した転送ファイルを復元する際、暗号及び圧縮処理のどちらが行われたかに応じて復号又は伸張処理が行われる。
【図面の簡単な説明】
【０１４２】
【図１】携帯型ゲーム機の外観例。
【図２】ソフトウェア共有化機能の説明図。
【図３】転送ファイルのデータ構造の説明図。
【図４】転送ファイルの転送の説明図。
【図５】携帯型ゲーム機の機能構成図。
【図６】携帯型ゲーム機における全体処理の流れ図。
【図７】全体処理中に実行されるソフトウェア共有化処理の流れ図。
【図８】全体処理中に実行されるゲーム処理の流れ図。
【図９】格納用転送ファイルの生成システムの構成図。
【図１０】格納用転送ファイルの生成の説明図。
【図１１】格納用転送ファイル作成処理の流れ図。
【図１２】転送ファイルのデータ構造の変形例。
【図１３】転送ファイルのデータ構造の変形例。
【図１４】転送ファイルのデータ構造の変形例。
【符号の説明】
【０１４３】
１（１Ａ，１Ｂ）  携帯型ゲーム機
１２０  操作入力部
１４０  情報読出部
１６０  無線通信部
２００  処理部
２２０  ソフトウェア共有部
２２２  転送ファイル用通信部
２４０  ゲーム演算部
２４２  データ用通信部
２６０  画像生成部
２８０  音生成部
３２０  画像表示部
３４０  音出力部
４００  記憶部
４１０  ソフトウェア共有プログラム
４２０  受信情報用記憶部
２２  ゲームプログラム
２６  転送ファイル
２８  レベルデータ
２４  ゲームデータ
２０  ゲームカートリッジ
２２  ゲームプログラム
２４  ゲームデータ
２６  転送ファイル（格納用転送ファイル）
４０  生成システム
４２  転送ファイル化サーバ
４４  格納用転送ファイル作成サーバ
【図１】
2006323451.tif 000003
【図２】
2006323451.tif 000004
【図３】
2006323451.tif 000005
【図４】
2006323451.tif 000006
【図５】
2006323451.tif 000007
【図６】
2006323451.tif 000008
【図７】
2006323451.tif 000009
【図８】
2006323451.tif 000010
【図９】
2006323451.tif 000011
【図１０】
2006323451.tif 000012
【図１１】
2006323451.tif 000013
【図１２】
2006323451.tif 000014
【図１３】
2006323451.tif 000015
【図１４】
2006323451.tif 000016