図1〜図3には、本発明の一実施例であるゲーム装置10の外観が示される。ゲーム装置10は折り畳み型のゲーム装置であり、図1および図2は、開いた状態(開状態)におけるゲーム装置10を示し、図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。また、図1は、開状態におけるゲーム装置10の正面図であり、図2は、開状態におけるゲーム装置の側面図である。ゲーム装置10は、2つの表示装置(LCD12および14)および2つのカメラ(カメラ16および18)を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
ゲーム装置10は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
ゲーム装置10は、下側ハウジング20および上側ハウジング22という2つのハウジングを有する。下側ハウジング20と上側ハウジング22とは、開閉可能(折り畳み可能)に接続されている。この実施例では、各ハウジング20および22はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
上側ハウジング22は、下側ハウジング20の上側の一部で回動自在に支持されている。これによって、ゲーム装置10は、閉状態(下側ハウジング20と上側ハウジング22とのなす角度が約0°の状態(図3参照))と、開状態(下側ハウジング20と上側ハウジング22とのなす角度が約180°の状態(図2参照))とをとることができる。ユーザは通常、開状態でゲーム装置10を使用し、ゲーム装置10を使用しない場合には閉状態としてゲーム装置10を保管する。また、ゲーム装置10は、上記閉状態および開状態のみでなく、下側ハウジング20と上側ハウジング22とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング22を下側ハウジング20に対して任意の角度で静止させることができる。
まず、下側ハウジング20に設けられる構成について説明する。図1に示すように、ゲーム装置10は、下側LCD(液晶表示装置)12を有する。下側LCD12は横長形状であり、長辺方向が下側ハウジング20の長辺方向に一致するように配置される。下側LCD12は下側ハウジング20に収納される。下側LCD12は、下側ハウジング20の内側面に設けられる。したがって、ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置10は任意の解像度の表示装置を利用することができる。なお、ゲーム装置10を撮像装置として利用する場合、下側LCD12は主に、カメラ16または18で撮像されている画像をリアルタイムに表示(スルー表示)するために用いられる。
下側ハウジング20の内側面はほぼ平面状に形成される。当該内側面の中央には、下側LCD12を露出させるための開口部20bが形成される。当該開口部20bの左側(図示y軸負側)には開口部20cが形成され、当該開口部20bの右側には開口部20dが形成される。開口部20bおよび20cは、各キートップ(各ボタン24a〜24eの上面)を露出させるためのものである。そして、下側ハウジング20の内部に収納される下側LCD12の画面が開口部20bから露出し、各キートップが開口部20cおよび20dから露出される。このように、下側ハウジング20の内側面には、中央に設けられる下側LCD12用の開口部20bの左右両側に非画面領域(図1に示す点線領域A1およびA2。具体的には、各ボタン24a〜24eを配置するための領域;ボタン配置領域)がそれぞれ設けられる。
下側ハウジング20には、入力装置として、各ボタン24a〜24iおよびタッチパネル28が設けられる。図1に示されるように、各ボタン24a〜24iのうち、方向入力ボタン24a、ボタン24b、ボタン24c、ボタン24d、ボタン24e、および電源ボタン24fは、下側ハウジング20の内側面に設けられる。方向入力ボタン24aは例えば選択操作等に用いられ、各ボタン24b〜24eは例えば決定操作やキャンセル操作等に用いられる。電源ボタン24fは、ゲーム装置10の電源をオン/オフするために用いられる。ここでは、方向入力ボタン24aおよび電源ボタン24fは、下側ハウジング20の中央付近に設けられる下側LCD12に対して一方の側(図1では左側)に設けられ、ボタン24b〜24eは下側LCD12に対して他方の側(図1では右側)に設けられる。方向入力ボタン24aおよびボタン24b〜24eは、ゲーム装置10に対する各種操作を行うために用いられる。
図3(A)は閉状態におけるゲーム装置10の左側面図であり、図3(B)は当該ゲーム装置10の正面図であり、図3(C)は当該ゲーム装置10の右側面図であり、そして図3(D)は当該ゲーム装置10の背面図である。図3(A)に示されるように、音量ボタン24iは、下側ハウジング20の左側面に設けられる。音量ボタン24iは、ゲーム装置10が備えるスピーカ34の音量を調整するために用いられる。また、図3(D)に示されるように、ボタン24hは、下側ハウジング20の上面の右端部に設けられる。ボタン24gは、下側ハウジング20の上面の左端部に設けられる。各ボタン24gおよび24hは、ゲーム装置10に対して例えば撮影指示操作(シャッタ操作)を行うために用いられる。各ボタン24gおよび24hの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン24hを使用し、左利きのユーザはボタン24gを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置10は、各ボタン24gおよび24hを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして(メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく)、右利き設定のときにはボタン24hのみ有効とし、左利き設定のときにはボタン24gのみ有効とするようにしてもよい。
図1に示されるように、ゲーム装置10は、各操作ボタン24a〜24iとは別の入力装置として、タッチパネル28をさらに備えている。タッチパネル28は、下側LCD12の画面上に装着されている。なお、この実施例では、タッチパネル28は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル28として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル28の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング20の右側面には挿入口30(図1および図3(D)に示す点線)が設けられている。挿入口30は、タッチパネル28に対する操作を行うために用いられるタッチペン36を収納することができる。なお、タッチパネル28に対する入力は通常タッチペン36を用いて行われるが、タッチペン36に限らずユーザの指でタッチパネル28を操作することも可能である。
図2や図3(C)に示されるように、下側ハウジング20の右側面には開閉可能なカバー部11bが設けられる。このカバー部11bの内側には、メモリカード38aを挿入するための挿入口(2点鎖線)、およびゲーム装置10とメモリカード38aとを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード38aは、コネクタに着脱自在に装着される。メモリカード38aは、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられ、不揮発性メモリ等で構成される。
さらに、下側ハウジング20の上側面には、メモリカード38bを挿入するための挿入口(1点鎖線)、およびゲーム装置10とメモリカード38bとを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード38bは、例えば、ゲーム装置10で動作するプログラムを記憶するために用いられる。
図1に示されるように、下側ハウジング20の軸部20aの左側部分には、3つのLED26a〜26cが取り付けられる。ここで、ゲーム装置10は他の機器や同種の他のゲーム装置(図示せず)との間で無線通信(Wi−Fi通信およびローカル通信:後述)を行うことが可能であり、第1LED26aは、無線通信が確立している場合に点灯する。第2LED26bは、ゲーム装置10の充電中に点灯する。第3LED26cは、ゲーム装置10の電源がオンである場合に点灯する。したがって、3つのLED26a〜26cによって、ゲーム装置10の通信確立状況、充電状況、および、電源のオン/オフ状況をユーザに通知することができる。
以上に説明したように、下側ハウジング20には、ゲーム装置10に対する操作入力を行うための入力装置(タッチパネル28および各ボタン24a〜24i)が設けられる。したがって、ユーザは、ゲーム装置10を使用する際には下側ハウジング20を把持してゲーム装置10に対する操作を行うことができる。図4は、ユーザがゲーム装置10を両手で把持した様子を示す図である。図4に示すように、ユーザは、各LCD12および14がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング20の側面および外側面(内側面の反対側の面)を把持する。このように把持することで、ユーザは、下側ハウジング20を把持したまま、各ボタン24a〜24eに対する操作を親指で行い、ボタン24gおよび24hに対する操作を人差し指で行うことができる。
一方、上側ハウジング22には、画像を撮像するための構成(カメラ)、および、撮像した画像を表示するための構成(表示装置)が設けられる。以下、上側ハウジング22に設けられる構成について説明する。
図1に示すように、ゲーム装置10は、上側LCD14を有する。上側LCD14は上側ハウジング22に収納される。上側LCD14は横長形状であり、長辺方向が上側ハウジング22の長辺方向に一致するように配置される。上側LCD14は、上側ハウジング22の内側面(ゲーム装置10が閉状態となった場合に内側となる面)に設けられる。したがって、ゲーム装置10を使用しない場合には閉状態としておくことによって、上側LCD14の画面が汚れたり傷ついたりすることを防止することができる。なお、下側LCD12と同様、上側LCD14に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側LCD14上にもタッチパネルを設けてもよい。
また、ゲーム装置10は、2つのカメラ16および18を有する。各カメラ16および18はともに上側ハウジング22に収納される。図1に示されるように、内側カメラ16は、上側ハウジング22の内側面に取り付けられる。一方、図3(B)に示されるように、外側カメラ18は、内側カメラ16が取り付けられる面の反対側の面、すなわち、上側ハウジング22の外側面(ゲーム装置10が閉状態となった場合に外側となる面)に取り付けられる。これによって、内側カメラ16は、上側ハウジング22の内側面が向く方向を撮像することが可能であり、外側カメラ18は、内側カメラ16の撮像方向の逆方向、すなわち、上側ハウジング22の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、2つのカメラ16および18が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置10を持ち替えることなく、異なる2方向を撮像することができる。例えば、ユーザは、ゲーム装置10からユーザの方を見た景色を内側カメラ16で撮影することができるとともに、ゲーム装置10からユーザの反対側の方向を見た景色を外側カメラ18で撮影することができる。
また、内側カメラ16は、上側ハウジング22の下側の中央部に形成される軸部22aの中央に取り付けられる。つまり、内側カメラ16は、2つのハウジング20および22が接続される部分の中央に取り付けられる。したがって、ゲーム装置10を開状態にした場合、内側カメラ16は、2つのLCD12および14の間に配置されることになる(図1参照)。換言すれば、内側カメラ16は、ゲーム装置10の中心付近に配置されることになる。なお、「ゲーム装置10の中心」とは、ゲーム装置10の操作面(開状態における各ハウジング20および22の内側面からなる面)の中心という意味である。なお、内側カメラ16は、LCD12および14の横方向の中心付近に配置されているということもできる。
この実施例では、ゲーム装置10を開状態にした場合に内側カメラ16はゲーム装置10の中心付近に配置されるので、ユーザは、内側カメラ16によってユーザ自身を撮影する場合、ユーザがゲーム装置10に正対する位置でゲーム装置10を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
また、図3(B)に示されるように、外側カメラ18は、ゲーム装置10を開状態とした場合において上側ハウジング22の上部(下側ハウジング20から遠い側の部分)に配置される。なお、外側カメラ18は、ゲーム装置10を把持するユーザを撮影するものではないので、ゲーム装置10の中心に設ける必要性は高くない。
また、図1または図3(B)に示されるように、マイク32は、上側ハウジング22に収納されている。具体的には、マイク32は、上側ハウジング22の軸部22aに取り付けられる。この実施例では、マイク32は、内側カメラ16の周囲(図ではy軸の側方)に取り付けられ、より具体的には、内側カメラ16からy軸正方向側の側方に取り付けられる。また、軸部22aにおいては、マイク32がゲーム装置10外部の音を検知することができるように、マイク32に対応する位置(内側カメラ16の側方)にマイクロフォン用孔22cが設けられる。なお、マイク32は下側ハウジング20に収納されてもよい。たとえば、マイクロフォン用孔22cを下側ハウジング20の内側面、具体的には下側ハウジング20の内側面の左下部分(ボタン配置領域A1)に設け、マイク32を、下側ハウジング20内における、マイクロフォン用孔22cの近傍に配置することができる。また、マイク32は、その集音方向(感度が最大となる方向)が内側カメラ16の撮像方向(光軸)と略並行(言い換えれば集音方向および撮像方向がそれぞれz軸と略並行)となる向きに取り付けられる。これによって、内側カメラ16の撮像範囲内で発せられた音声は、マイク32によって好適に捉えられる。すなわち、マイク32による音声入力の検出と内側カメラ16の撮像画像によるユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
図3(B)に示されるように、上側ハウジング22の外側面には、第4LED26dが取り付けられる。第4LED26dは、外側カメラ18の周囲(この実施例では、外側カメラ18の右側)に取り付けられる。第4LED26dは、内側カメラ16または外側カメラ18によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ16または外側カメラ18によって動画が撮影される間点灯する。第4LED26dによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者に通知することができる。
また、上側ハウジング22の内側面はほぼ平面状に形成される。図1に示すように、当該内側面の中央には、上側LCD14を露出させるための開口部22bが形成される。上側ハウジング22の内部に収納される上側LCD14の画面は、開口部22bから露出する。また、上記開口部22bの左右両側には音抜き孔22dがそれぞれ1つずつ形成される。音抜き孔22dの奥の上側ハウジング22内にはスピーカ34が収納されている。音抜き孔22dは、スピーカ34からの音を外部に放出するための孔である。
このように、上側ハウジング22の内側面には、中央に設けられる上側LCD14用の開口部22bの左右両側に非画面領域(図1に示す点線領域B1およびB2。具体的には、スピーカ34を配置するための領域;スピーカ配置領域)がそれぞれ設けられる。2つの音抜き孔22dは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域(下側ハウジング20に近い側の領域)に配置される。
なお、上記のように、下側ハウジング20および上側ハウジング22に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置10は、図4に示すような横持ちで把持される場合だけでなく、縦持ち(図4に示す状態からゲーム装置10を左または右回りに90°回転させた状態)で把持される場合にも持ちやすい構成となっている。
以上に説明したように、上側ハウジング22には、画像を撮像するための構成であるカメラ16および18、および、撮像された画像を表示するための表示手段である上側LCD14が設けられる。一方、下側ハウジング20には、ゲーム装置10に対する操作入力を行うための入力装置(タッチパネル28および各ボタン24a〜24i)が設けられる。したがって、ゲーム装置10を撮像装置として使用する際には、ユーザは、上側LCD14に表示される撮像画像(カメラによって撮像された画像)を見ながら、下側ハウジング20を把持して入力装置に対する入力を行うことができる。
また、上側ハウジング22のカメラ16近傍には、音声を入力するための構成であるマイク32が設けられており、したがってゲーム装置10は、録音装置としても使用可能である。さらに、ユーザがマイク32を通して音声入力を行い、ゲーム装置10はこのマイク入力情報に基づいてゲーム処理やゲーム以外のアプリケーション処理を実行することもできる。
図5は、ゲーム装置10の内部構成(電気的構成)を示すブロック図である。図5に示すように、ゲーム装置10は、CPU42、メインメモリ48、メモリ制御回路50、保存用データメモリ52、プリセットデータ用メモリ54、メモリカードインターフェース(メモリカードI/F)44、Wi−Fi通信モジュール56、ローカル通信モジュール58、リアルタイムクロック(RTC)60、電源回路46、およびインターフェース回路(I/F回路)40等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング20(または上側ハウジング22でもよい)内に収納される。
CPU42は、各種のプログラムを実行するための情報処理手段である。ゲーム装置10を撮像装置として利用する場合には、そのためのプログラムがゲーム装置10内のメモリ(例えば保存用データメモリ52)に記憶される。CPU42が当該プログラムを実行することで、ゲーム装置10は撮影装置として機能する。なお、CPU42によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶されていてもよいし、メモリカード38bから取得されてもよいし、他の機器等との通信によって他の機器等から取得されてもよい。
CPU42には、メインメモリ48、メモリ制御回路50、およびプリセットデータ用メモリ54が接続される。また、メモリ制御回路50には保存用データメモリ52が接続される。メインメモリ48は、CPU42のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ48は、ゲーム処理やアプリケーション処理に用いられる各種データを記憶したり、外部(メモリカード38bや他の機器等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ48として例えばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ52は、CPU42によって実行されるプログラムや各カメラ16および18によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ52は、例えばNAND型フラッシュメモリ等の不揮発性メモリで構成される。メモリ制御回路50は、CPU42の指示に従って、保存用データメモリ52に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ54は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ54としては、SPI(Serial Peripheral Interface)バスによってCPU42と接続されるフラッシュメモリを用いることができる。
メモリカードI/F44はCPU42に接続される。メモリカードI/F44は、コネクタに装着されたメモリカード38aおよび38bに対するデータの読み出しおよび書き込みをCPU42の指示に従って行う。この実施例では、各カメラ16および18によって撮像された画像データがメモリカード38aに書き込まれたり、メモリカード38aに記憶された画像データがメモリカード38aから読み出されて保存用データメモリ52に記憶されたりする。また、メモリカード38bに記憶されているプログラムやデータを読み出してメインメモリ48に転送したりもする。
Wi−Fi通信モジュール56は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANアクセスポイントに接続し、インターネット110を介して他の機器(たとえばサーバ102:図6参照)とWi−Fi通信を行う機能を有する。また、ローカル通信モジュール58は、所定の方式(たとえばBluetooth(登録商標),ZigBee(登録商標),Wibree(登録商標),UWB(Ultra Wide Band),NFC(Near Field Communication),赤外線方式など)により同種のゲーム装置との間で近距離無線通信を行う機能を有する(この実施例では、ローカル通信モジュール58で行う同種の機器間の近距離無線通信を「ローカル通信」と呼ぶ)。Wi−Fi通信モジュール56およびローカル通信モジュール58はCPU42に接続される。CPU42は、Wi−Fi通信モジュール56を用いてインターネット110を介して他の機器(たとえばサーバ102)との間でデータを送受信したり、ローカル通信モジュール58を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
なお、ローカル通信モジュール58は、この実施例ではゲーム装置10に内蔵されるようになっているが、例えばメモリカード38bに設けてもよい。この場合、CPU42は、メモリカードI/F44を介して通信の制御を行うことになる。
また、CPU42には、RTC60および電源回路46が接続される。RTC60は、時間をカウントしてCPU42に出力する。CPU42は、RTC60によって計時された時間に基づいて、現在時刻(日付)を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路46は、ゲーム装置10が有する電源(電池;下ハウジングに収納される)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
また、ゲーム装置10は、マイク32およびスピーカ34を備えている。マイク32およびスピーカ34はそれぞれI/F回路40に接続される。マイク32は、ユーザの音声を検知して音声信号をI/F回路40に出力する。スピーカ34は、I/F回路40からの音声信号に応じた音声を出力する。I/F回路40はCPU42に接続される。また、タッチパネル28はI/F回路40に接続される。I/F回路40は、マイク32およびスピーカ34の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データは、メインメモリ48の音声エリア(図示せず)に書き込まれる。ゲーム装置10を録音装置として利用する場合には、音声エリアに格納された音声データは、後にメモリ制御回路50を介して保存用データメモリ52に書き込まれる(必要に応じてさらに、メモリカードI/F44を介してメモリカード38aに記録される)。また、音声エリアに格納された音声データ(マイク入力情報)は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル28からの信号に基づいて所定の形式のタッチ位置データを生成してCPU42に出力する。タッチ位置データは、タッチパネル28の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル28からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU42は、タッチ位置データを取得することにより、タッチパネル28に対して入力が行われた位置を知ることができる。
操作部24は、上記各ボタン24a〜24iからなり、CPU42に接続される。操作部24からCPU42へは、各ボタン24a〜24iに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU42は、操作部24から操作データを取得することによって、操作部24に対する入力に従った処理を実行する。
各カメラ16および18はCPU42に接続される。各カメラ16および18は、CPU42の指示に従って画像を撮像し、撮像した画像データをCPU42に出力する。CPU42は、各カメラ16および18からの画像データをメインメモリ48の画像エリア(図示せず)に書き込む。ゲーム装置10を撮像装置として利用する場合には、画像エリアに格納された画像データは、後にメモリ制御回路50を介して保存用データメモリ52に書き込まれる(必要に応じてさらに、メモリカードI/F44を介してメモリカード38aに記録される)。また、画像エリアに格納された画像データは、各種のゲーム処理にも利用される。
また、各LCD12および14はCPU42に接続される。各LCD12および14はCPU42の指示に従って画像を表示する。ゲーム装置10を撮像装置として利用する場合、CPU42は、各カメラ16および18のいずれかから取得した画像を上側LCD14に表示させ、所定の処理によって生成した操作画面を下側LCD12に表示させる。ゲーム装置10でゲームをプレイする場合には、LCD12および14の一方または両方にゲーム画像が表示される。
以上のように構成されたゲーム装置10では、保存用データメモリ52に保存されたコンテンツを、ローカル通信およびWi−Fi通信の2種類の通信を利用して、同種のゲーム装置(またはその上位機種)に“引っ越し”させることができる。コンテンツは、ゲームその他のアプリケーションに関するソフトウェアであり、ソフトウェアは、ゲームその他のアプリケーションを実行するためのプログラム(本体データ)と、そのプログラムによる実行結果ないし実行経過を示すセーブデータ(付加データ)とで構成され、そして、本体データの引っ越しにはWi−Fi通信が、付加データの引っ越しにはローカル通信が利用される。図6には、このような引っ越しを行うゲームシステム100の構成例が示される。
図6を参照して、ゲームシステム100は、引っ越し元であるゲーム装置P(ゲーム装置10P)および引っ越し先であるゲーム装置Q(ゲーム装置10Q)と、サーバ102とを含む。なお、ゲーム装置10Pおよび10Qは、上述したゲーム装置10と同じものであり、両者の間で対応する各構成要素についても、たとえば下側LCD12P/12Qなどのように、元/先を示す添え字P/Qを参照番号に付して区別する。
引っ越しを行う前のゲーム装置10のメモリマップが図11に示されている。図11(A)は引っ越し元つまりゲーム装置10P側のメモリマップであり、図11(B)は引っ越し先つまりゲーム装置10Q側のメモリマップである。
まず引っ越し元に関し、図11(A)を参照して、引っ越し開始前、メインメモリ(一時記憶領域)48Pには、引っ越しプログラム70、自己(P)および相手(Q)の使用権リスト72pおよび72q、自己(P)のペアレンタルコントロール情報74p、ならびに自己(P)および相手(Q)の操作情報76pおよび76qが記憶される。一時記憶領域48Pにはまた、相手(Q)のペアレンタルコントロール情報74qが引っ越し開始直後に書き込まれ、さらに、たとえばゲームXを引っ越すことが決定されたとき、ゲームXの引っ越し情報78が書き込まれる。
引っ越しプログラム70は、ゲーム装置10Pおよび10Qの間で引っ越し処理を実現するための制御プログラムであり、図21〜図38のフローに対応する。引っ越しプログラム70には、図38のフローに対応する操作情報通知プログラム70aが含まれている。操作情報通知プログラム70aは、ゲーム装置10Pおよび10Qでそれぞれ行われた操作の内容を示す情報(操作情報76pおよび76q)を互いに通知し合う(送受信する)ためのプログラムである。
自己(P)の使用権リスト72pは、ゲーム装置10Pが使用可能な(使用権を有する)コンテンツのIDを記載したリストであり、相手(Q)の使用権リスト72qは、ゲーム装置10Qが使用可能な(使用権を有する)コンテンツのIDを記載したリストである。自己(P)のペアレンタルコントロール情報は、ゲーム装置10Pにペアレンタルコントロール(詳細は後述)が設定されているか否かを示す情報であり、相手(Q)のペアレンタルコントロール情報は、ゲーム装置10Qにペアレンタルコントロールが設定されているか否かを示す情報である。自己(P)および相手(Q)の操作情報76pおよび76qは、ゲーム装置10Pおよび10Qでそれぞれ行われた操作の内容を示す情報である。ゲームXの引っ越し情報78は、これから引っ越そうとする対象つまりゲームXを識別する情報であり、たとえばタイトル(ゲームID),アイコンなどを含む。
保存用データメモリ(保存領域)52Pには、ゲームXのソフトウェア82、アプリZのソフトウェア84、および設定データ86が記憶される。ゲームXのソフトウェア82はその本体データ82aおよび付加データ82bを含み、アプリZのソフトウェア84はその本体データ84aおよび付加データ84bを含む。ここでは、本体データ82aおよび84aはプログラムであり、付加データ82bおよび84bはセーブデータである。設定データ86は、ゲーム装置10P本体に対する設定データである。
次に引っ越し先に関し、図11(B)を参照して、引っ越し開始前、メインメモリ(一時記憶領域)48Qには、相手(P)の使用権リスト72pを除いて、ゲーム装置10P側のものと同様のプログラム,リストおよび情報(70〜78)が記憶される(ただし、ゲーム装置10P側のものとでは、識別子pおよびqが逆となる)。一時記憶領域48Qにはまた、引っ越し開始後に、ゲームXの付加データ82bが記憶される。保存用データメモリ(保存領域)52Qには、未だ何も記憶されていない。
なお、詳細は後述するが、図11のメモリマップは、アプリXの引っ越し後には、図12のように変化する。まず引っ越し元に関し、図11(A)および図12(A)を参照して、保存領域52PからゲームXのソフトウェア82(本体データ82aおよび付加データ82b)が削除されている。次に引っ越し先に関し、図11(B)および図12(B)を参照して、保存領域52QにゲームXのソフトウェア82(本体データ82aおよび付加データ82b)が新たに記憶されている。保存領域52Qに新たに記憶されたゲームXの付加データ82bは、一時記憶領域48Qから移動されたものである。
サーバ102は、CPU104,メモリ106およびWi−Fi通信モジュール108などを備え、ゲーム装置10Pおよび10Qの各々とインターネット110を介してWi−Fi通信を行うことができる。メモリ106には、図10に示すように、ゲーム装置10Pおよび10Qにそれぞれ対応する使用権リスト72pおよび72q、ならびにゲームXおよびアプリZにそれぞれ対応する本体データ82aおよび82bなどが記憶されている。
ゲーム装置10Pの保存用データメモリ52P(保存領域)には、当初、図11(A)に示されるように、ゲームXのソフトウェア82つまりゲームXに対応する本体データ82aおよび付加データ82b、アプリZのソフトウェア84つまりアプリZに対応する本体データ84aおよび付加データ84b、ならびに設定データ86が記憶されている。なお、ゲーム装置10Pに記憶された本体データ82aおよび84aは、サーバ102に記憶された本体データ82aおよび84aと同じものである。設定データ86は、ゲーム装置10P自体の設定(たとえばユーザネーム,ユーザカラー,時刻など)を示すデータである。一方、ゲーム装置10Q側の保存用データメモリ52Qには、当初、図11(B)に示されるように、未だ何も記憶されていない。
たとえば、ゲーム装置10Pに保存されたゲームXのソフトウェア82をゲーム装置10Qに“引っ越し”する場合、ゲームシステム100では、図7および図8に示すシーケンスに従う通信が行われる。図7のシーケンスは、引っ越し準備処理に該当し、まずこれを通じて引っ越し元/引っ越し先が決定され、さらに引っ越し先の使用権リスト(72q)が引っ越し元に通知される。
ゲーム装置10Pおよび10Qはそれぞれ、最初、図14(A)および図14(B)に示すような元/先決定画面を通じて元/先選択操作を受け付け、各自の選択を互いに通知し合う。これにより、ゲーム装置10Pは“引っ越し元”に、ゲーム装置10Qは“引っ越し先”に決定される。次に、ローカル通信を実行して、引っ越し元の識別情報つまり“ゲーム装置P”を引っ越し先に送信する。引っ越し先つまりゲーム装置10Qは、引っ越し元がゲーム装置Pであることを確認するための確認画面(図13参照)を表示して確認操作を受け付け、引っ越し元つまりゲーム装置10Pに“OK”を通知する。
その後、ゲーム装置10Pおよび10Qはそれぞれ、Wi−Fi通信を実行して、サーバ102から自己の使用権リスト(72p,72q)を取得する。そして、ローカル通信を実行して、引っ越し先つまりゲーム装置10Qが、自己の使用権リスト(72q)を引っ越し元つまりゲーム装置10Pに通知する。こうして、引っ越し元で両方のリストが揃うと、引っ越しできるもの、できないものの判断ができるようになる。
次に、図8のシーケンスに移行して、引っ越し元であるゲーム装置10Pは、図16(A),図17(A)および図18(A)に示すような一連の選択画面を通じて、たとえば「選択引っ越し」→「ソフトウェア」→「ゲームX」のような一連の選択操作を受け付け、ゲームXの引っ越しを開始する。ゲーム装置10Pは、最初、ゲームXの引っ越し情報78(図11(A)参照)を生成してゲーム装置10Qに送信する。この引っ越し情報78には、ゲームXのタイトル,アイコンなどが含まれている。これに対する受信通知(Ackなど)が返信されてくると、ゲーム装置10Pは次に、ゲームXの付加データ(セーブデータなど)を送信する。ゲーム装置10Qは、この付加データを受信してメインメモリ48(一時記憶領域)に書き込み、付加データ引っ越し完了通知を送信する。なお、メインメモリ48のサイズを超える付加データについては、一時的に保存用データメモリ52Qに保存され、後に適宜メインメモリ48に取り込まれる。
ゲーム装置10Pは、付加データ引っ越し完了通知を受信すると、ローカル通信からWi−Fi通信への切り換えを行って、サーバ102に対しゲームXの使用権をゲーム装置10Pからゲーム装置10Qに移転するように指示する。サーバ102は、ゲーム装置10Pおよび10Qの使用権リスト72pおよび72qを更新することで、指示された使用権移転処理を実行し、使用権移転完了通知をゲーム装置10Pに送信する。ゲーム装置10Pは、サーバ102から使用権移転完了通知を受信すると、Wi−Fi通信からローカル通信への切り換えを行って、同様の使用権移転完了通知をゲーム装置10Qに転送する。
ゲーム装置10Qは、ゲーム装置10Pから使用権移転完了通知を受信すると、ローカル通信からWi−Fi通信への切り換えを行って、サーバ102に対しゲームXのダウンロードを指示する。サーバ102は、ゲームXの本体データ82aをゲーム装置10Qにダウンロードする。
ゲーム装置10Qは、ゲームXの本体データ82aのサーバ102からのダウンロードが完了すると、Wi−Fi通信からローカル通信への切り換えを行うと共に、そのダウンロードされたゲームXの本体データ82aを保存用データメモリ52Qに書き込む。次に、メインメモリ48Qに一時記憶しているゲームXの本体データ82aを保存用データメモリ52Qに移動して、ゲームXの本体データ82aと結合(統合)し、ゲーム装置10Pに引っ越し完了通知を送信する。
ゲーム装置10Pは、ゲーム装置10Qから引っ越し完了通知を受信すると、ゲームXの本体データ82aおよび付加データ82bを保存用データメモリ52Pから削除する。これにより、ゲームXの引っ越しが完了する。なお、アプリZのソフトウェア84も、上記と同様にして引っ越すことができる。
ゲームXの本体データ82aが既にゲーム装置10Qに記憶されている場合には、図9の通信シーケンスに従って、ゲームXの付加データ82bだけを引っ越すことも可能である。詳しくは、図17(A)の選択画面で「付加データ」が選択されると、ゲーム装置10Pは、そのセーブデータ(ここではゲームXの付加データ82b)をゲーム装置10Qに送信する。ゲーム装置10Qは、ゲーム装置10Pから受信したセーブデータをメインメモリ48Qに書き込み、引っ越し完了通知をゲーム装置10Pに送信する。ゲーム装置10Pがゲーム装置10Qから引っ越し完了通知を受信すると、そのセーブデータの引っ越しは完了となる。なお、セーブデータによっては、ゲーム装置10Pがゲーム装置10Qから引っ越し完了通知を受信したとき、これを保存用データメモリ52Pから削除するようにしてもよい。
なお、図9の通信シーケンスは、設定データ86の引っ越しにも適用される。すなわち、図17(A)の選択画面で「設定データ」が選択されると、ゲーム装置10Pからその設定データ86がゲーム装置10Qに送信される。ゲーム装置10Qは、ゲーム装置10Pから受信した設定データをメインメモリ48Qに書き込み、引っ越し完了通知をゲーム装置10Pに送信する。この引っ越し完了通知がゲーム装置10Pによって受信された時点で、設定データ86の引っ越しは完了となる。
また、図16(A)の選択画面で「一括引っ越し」を選択すれば、図7〜図9に示した通信シーケンスが順次実行され、ソフトウェア,セーブデータおよび設定データを一括的に引っ越すことができる。
以上のような“引っ越し”を行うとき、ゲーム装置10PのCPU42Pおよびゲーム装置10QのCPU42Qは、図11(A)および図11(B)(または図12(A)および図12(B))に示した引っ越しプログラム70および各種の情報72〜78(詳細は先述)に基づいて、図21〜図38のフローに従う処理を実行する。なお、図38のフローつまり操作情報通知プログラム70aに対応する操作情報通知処理は、図21〜図37に示すメイン処理のバックグラウンド処理として(つまり並列的に)実行される。
一方、サーバ102のメモリ106には、サーバ用の引っ越しプログラム71が記憶され、CPU104は、この引っ越しプログラム71に基づいて、図39のフローに従う処理を実行する。
ユーザは、ゲーム装置10Pおよび10Qをローカル通信可能な位置に配置し、それぞれで引っ越しプログラム70を起動する操作を行う。CPU42Pおよび42Qは、引っ越しプログラム70に従い、最初、図21の引っ越し準備処理を実行する。
図21を参照して、CPU42Pおよび42Qはそれぞれ、ステップS1で、図14(A)および図14(B)に示すような元/先決定画面をLCD12Pおよび12Qに表示する。ステップS3では、自己および相手の選択が引っ越し元および引っ越し先であるか否かを判別し、ここでNOであれば、ステップS5で自己および相手の選択が引っ越し先および引っ越し元であるか否かをさらに判別する。ここでもNO、つまり自己および相手の選択が共に引っ越し元または共に引っ越し先であれば、ステップS31で通信を終了し、このフローを終える。なお、以下では、ゲーム装置10Pが引っ越し元になり、ゲーム装置10Qが引っ越し先になったものとして説明する。
次に、CPU42Pおよび42Qはそれぞれ、ステップS7およびS17でローカル通信を開始する。具体的には、ビーコンなどの検出信号を通じて互いに相手を検出し、検出した相手との間でローカル通信モジュール58Pおよび58Qによるローカル接続を確立する。その後、CPU42Pは、ステップS9で自己の識別情報を相手に送信し、CPU42Qは、ステップS19で相手の識別情報を受信したか否かを判別する。ここでNOであれば、CPU42Qは、ステップS31で通信を終了し、このフローを終える。
ステップS19でYESであれば、CPU42Qは、ステップS21に進んで図13に示すような相手確定画面をLCD12Qに表示し、確定操作が行われたか否かをステップS23で判別する。相手確定画面には、引っ越し相手がゲーム装置10Pで間違いないかを確認するように促すダイアログと共に、“OK”,“やめる”といったボタンが提示されており、ゲーム装置10Qで“OK”ボタンが操作されると、CPU42Qは、ステップS23でYESと判別して、ステップS25に進み、相手に“OK”通知を送信する。ゲーム装置10Qで“やめる”ボタンが操作されると、CPU42Qは、ステップS23でNOと判別して、ステップS31で通信を終了し、このフローを終える。
一方、CPU42Pは、上記ステップS9で識別情報を送信した後、ゲーム装置10Qからの“OK”通知を待っており、ステップS11で“OK”通知を受信したか否かを判別する。ここでNOであれば、ステップS31に進んで通信を終了し、このフローを終える。ステップS11でYESであれば、ステップS13に進む。
ゲーム装置10Pおよび10Qの間で“OK”通知が送受信されると、CPU42Pおよび42Qはそれぞれ、ステップS13およびS27で、一時的にWi−Fi通信に切り換えて、サーバ102から自己の使用権リスト(72p,72q)をそれぞれ取得してメインメモリ48Pおよび48Qに書き込む。この時点で、使用権リスト72pには、ゲームXのソフトウェア82およびアプリZのソフトウェア84の2つの使用権が登録されている一方、使用権リスト72qには、どの使用権も登録されていない。なお、この書き込みは上書きであり、既に記憶されていた使用権リストは、上書きによって更新される。
その後、CPU42Qは、ステップS29で自己の使用権リスト72qを相手に送信し、そして、図25〜図27,図29,図31および図35〜図37に示される引っ越し先処理へ進む。CPU42Pは、ステップS15で、相手の使用権リスト72qを受信し、これをメインメモリ48Pに書き込む。そして、図22〜図24,図28,図30および図32〜図34に示される引っ越し先処理へ進む。
なお、ローカル通信中、CPU42Pおよび42Qは、操作情報通知プログラム70aに基づいて図38に示すようなバックグラウンド処理を周期的に実行することで、メインメモリ48Pおよび48Q(一時記憶領域)に一時記憶された各自の最新の操作情報(76pおよび76q)を互いに通知し合っている。
詳しくは、図38を参照して、CPU42Pおよび42Qは、ステップS51で、一時記憶領域に記憶された自己の操作情報を相手に送信するタイミングであるか否かを判別し、NOであればステップS53に移って、相手の操作情報をローカル通信モジュール56Pおよび56Qで受信したか否かをさらに判別し、ここでもNOであればステップS51に戻る。ステップS51でYESであれば、ステップS55で自己の操作情報をローカル通信モジュール56Pおよび56Qで相手に送信し、ステップS51に戻る。ステップS53でYESであれば、ステップS57で相手の操作情報を一時記憶領域に書き込み、ステップS51に戻る。こうして一時記憶領域に繰り返し書き込まれる相手の操作情報(76pまたは76q)に基づいて、CPU42Pおよび42Qは、相手でどのような操作が行われたかを知ることができる。
なお、この実施例では、ローカル接続を基本に、必要に応じてWi−Fi接続への切り換えを行うが、これに代えて、ローカル接続を常時確立しておき、必要に応じてWi−Fi接続をさらに確立してもよいし、両方の接続を常時確立しておくことも可能である。
先述した図11(A)および図11(B)は、こうして引っ越し元か引っ越し先かが決定された時点でのゲーム装置10Pおよび10Qのメモリマップである。図11(A)を参照して、メインメモリ48P(一時記憶領域)には、引っ越しプログラム70、自己(P)および相手(Q)の使用権リスト72pおよび72q、自己(P)のペアレンタルコントロール情報74p、ならびに自己(P)および相手(Q)の操作情報76pおよび76qが記憶されている。保存用データメモリ52P(保存領域)には、ゲームXのソフトウェア82、アプリZのソフトウェア84、および設定データ86が記憶されている。図11(B)を参照して、メインメモリ48Q(一時記憶領域)には、引っ越しプログラム70、自己(Q)および相手(P)の使用権リスト72qおよび72p、自己(Q)のペアレンタルコントロール情報74q、ならびに自己(Q)および相手(P)の操作情報76qおよび76pなどが記憶されている。保存用データメモリ52Q(保存領域)には、未だ何も記憶されてない。
一般に、ペアレンタルコントロールとは、子供によるコンテンツの使用や購入を保護者が制限する機能をいう。ここでは特に、ゲーム装置10へのソフトウェアの引っ越し(保存領域への書き込み)をパスワードによって制限する機能をペアレンタルコントロールと呼ぶ。ペアレンタルコントロール情報74pおよび74qは、ゲーム装置10Pおよび10Qにそれぞれペアレンタルコントロールが設定されているか否かを示す情報である。たとえば、ゲーム装置10Qにペアレンタルコントロールが設定されている場合には、ゲーム装置10Qに直接パスワードを入力して制限を解除した後に、ゲーム装置10Qへのソフトウェアの引っ越しを行う必要がある。
なお、引っ越しプログラム70とそれに含まれる通信制御プログラム70a、ペアレンタルコントロール以外の情報(72,76,78)、ソフトウェア(82,84)とそれを構成する本体データ(82a,84a)および付加データ(82b,84b)、ならびに設定データ86については、先に説明したので、詳しい説明を省略する。
まず、図22および図25を参照して、最初、CPU42Pは、ステップS101で引っ越し先からペアレンタルコントロール情報74qを取得し、一方、CPU42Qは、ステップS201で引っ越し元にペアレンタルコントロール情報74qを提供する。この結果、ゲーム装置10P側の一時記憶領域(図11(A)参照)に、相手(Q)のペアレンタルコントロール情報74qが追記される。
次に、CPU42Pは、ステップS103で、引っ越し先にペアレンタルコントロールが設定されているか否かを相手(Q)のペアレンタルコントロール情報74qに基づいて判別し、ここでNOであればステップS111に進む。ステップS103でYESであれば、ステップS105に移って、図15(A)に示すような、引っ越し先でパスワード入力を促す画面をLCD12Pに表示し、ステップS107で引越先の制限解除を待つ。そしてステップS109で、引っ越し先から解除通知があったか否かを判別し、ここでNOであればステップS165に進む一方、YESであればステップS111に進む。
一方、CPU42Qは、ステップS203で、ペアレンタルコントロールが設定されているか否かを自己(Q)のペアレンタルコントロール情報74qに基づいて判別し、ここでNOであればステップS211に進む。ステップS203でYESであれば、ステップS205に移って、図15(B)に示すようなパスワード入力画面をLCD12Qに表示し、ステップS207で入力を待つ。そしてステップS209aで、入力されたパスワードにより制限が解除されたか否かを判別し、ここでNOであればステップS265に進む一方、YESであればステップS209bで引っ越し元に解除通知を送信した後ステップS211に進む。
なお、上述したようなペアレンタルコントロールの設定チェックは、起動時に(たとえば図21に示した引っ越し準備処理で)、一度だけ行うようにしてもよい。これによって、引っ越し相手のペアレンタルコントロールを気にする必要がなくなる。この場合、引っ越し開始後は、ペアレンタルコントロール情報(74qおよび74q)を一時記憶領域(48Pおよび48Q)に記憶しておく必要がないので、図11および図12のメモリマップからこれらを削除してよい。
次に、CPU42Pは、ステップS111で、図16(A)に示すような方法選択画面をLCD12Pに表示し、ステップS113で選択操作を待つ。そして、ステップS115で「選択引っ越し」が選択されたか否かを判別し、ここでNOであれば、ステップS117に移って「一括引っ越し」が選択されたか否かをさらに判別し、ここでもNOつまり「やめる」が選択された場合には、ステップS165の通信終了処理を経てこの処理を終える。ステップS115でYESつまり「選択引っ越し」が選択された場合には、ステップS119〜S127による対象(カテゴリ)選択を経て、図23および図24に示すステップS129〜S163によるソフトウェアの引っ越しと、図28に示すステップS167〜S174による付加データの引っ越しと、図30に示すステップS175〜S182による設定データの引っ越しとを選択的に(個別の操作で)実行する。一方、ステップS117でYESつまり「一括引っ越し」が選択された場合には、図32および図33に示すステップS129〜S163によるソフトウェアの引っ越しと、図34に示すステップS167〜S174による付加データの引っ越しと、同じ図34に示すステップS175〜S182による設定データの引っ越しとを一括的に(単一の操作で)実行する。
詳しくは、ステップS115でYESであれば、ステップS119に進んで、図17(A)に示すような対象(カテゴリ)選択画面をLCD12Qに表示し、ステップS121で選択操作を待つ。そして、ステップS123で「ソフトウェア」が選択されたか否かを判別し、ここでNOであればステップS125に移って「セーブデータ」が選択されたか否かをさらに判別し、ここでもNOであればステップS127に移って「設定データ」が選択されたか否かをさらに判別し、そしてここでもNOつまり「もどる」が選択された場合には、ステップS111に戻る。ステップS123でYESであれば図23のステップS129に進み、ステップS125でYESであれば図28のステップS167に進み、ステップS127でYESであれば図30のステップS175に進む。
なお、上記ステップS115,S117,S123,S125およびS127の各判別は、メインメモリ48Pに記憶された自己(P)の操作情報76p(図11(A)参照)に基づく。
一方、CPU42Qは、ステップS211で、図16(B)に示すような、引っ越し元で方法選択を促す画面をLCD12Qに表示し、ステップS213で引っ越し元の選択操作を待つ。そしてステップS215で、引っ越し元で「選択引っ越し」が選択されたか否かを判別し、ここでNOであればステップS217に移って、引っ越し元で「一括引っ越し」が選択されたか否かをさらに判別し、ここでもNOつまり引っ越し元で「やめる」が選択された場合には、ステップS265に進む。ステップS215でYESつまり引っ越し元で「選択引っ越し」が選択された場合には、ステップS219〜S227による対象(カテゴリ)選択を経て、図26および図27に示すステップS229〜S263によるソフトウェアの引っ越しと、図28に示すステップS267〜S274による付加データの引っ越しと、図31に示すステップS275〜S282による設定データの引っ越しとを選択的に(引っ越し元の個別の操作で)実行する。一方、ステップS217でYESつまり「一括引っ越し」が選択された場合には、図35および図36に示すステップS229〜S263によるソフトウェアの引っ越しと、図37に示すステップS267〜S274による付加データの引っ越しと、同じ図37に示すステップS275〜S282による設定データの引っ越しとを一括的に(引っ越し元の単一の操作で)実行する。
詳しくは、ステップS215でYESであれば、ステップS219に進んで、図17(B)に示すような、引っ越し先で対象(カテゴリ)選択を促す画面をLCD12Qに表示し、ステップS221で引っ越し元の選択操作を待つ。そしてステップS223で、引っ越し元で「ソフトウェア」が選択されたか否かを判別し、ここでNOであればステップS225に移って、引っ越し元で「セーブデータ」が選択されたか否かをさらに判別し、ここでもNOであればステップS227に移って、引っ越し元で「設定データ」が選択されたか否かをさらに判別し、そして、ここでもNOつまり引っ越し元で「もどる」が選択された場合には、ステップS211に戻る。
なお、上記ステップS215,S217,S223,S225およびS227の各判別は、メインメモリ48Qに記憶された相手(P)の操作情報76p(図11(B)参照)に基づく。
次に、引っ越し対象(カテゴリ)として「ソフトウェア」が選択された場合の処理を説明する。この場合、CPU42Pは図23および図24のステップS129〜S163を、CPU42Qは図26および図27のステップS229〜S263をそれぞれ実行する。
まず、図23および図26を参照して、CPU42Pは、ステップS129で、相手(P)の使用権リスト72pおよび自己(Q)の使用権リスト72qに基づいて引っ越し可能なソフトウェアを検出し、一方、CPU42Qは、ステップS229で、自己(Q)の使用権リスト72qおよび相手(P)の使用権リスト72pに基づいて引っ越し可能なソフトウェアを検出する。具体的には、CPU42Pは、自己(P)の使用権リスト72pに登録されているが、相手(Q)の使用権リスト72qには登録されていないソフトウェアを、引っ越し可能なソフトウェアとして検出し、CPU42Qは、相手(P)の使用権リスト72pに登録されているが、自己(Q)の使用権リスト72qには登録されていないソフトウェアを、引っ越し可能なソフトウェアとして検出する。ここでは、使用権リスト72pには、ゲームXのソフトウェア82およびアプリZのソフトウェア84の2つの使用権が登録されている一方、使用権リスト72qには、どの使用権も登録されていないので、ゲームXのソフトウェア82およびアプリZのソフトウェア84が、引っ越し可能なソフトウェアとして検出される。
次に、CPU42Pは、ステップS130aで、ステップS129の検出結果に基づいて、引っ越し可能なソフトウェアがあるか否かを判別し、NOであれば、ステップS130bで「該当ソフトなし」を表示した後、図22のステップS119に戻る。ここでは、引っ越し可能なソフトウェアとしてゲームXのソフトウェア82およびアプリZのソフトウェア84が検出されたので、ステップS130aでYESと判別し、ステップS131に進む。ステップS131では、図18(A)に示すようなソフト選択画面を表示し、ステップS133で選択操作を待つ。そしてステップS135で、いずれかのソフトが選択されたか否かを判別し、ここでNOつまり「もどる」が選択された場合、ステップS119に戻る。ステップS135でYESであれば、ステップS137に進む。ここでは、「ゲームX」が選択されたものとする。
一方、CPU42Qは、ステップS230で、ステップS229の検出結果に基づいて、引っ越し可能なソフトウェアがあるか否かを判別し、NOであれば、図25のステップS219に戻る。ここでは、引っ越し可能なソフトウェアとしてゲームXのソフトウェア82およびアプリZのソフトウェア84が検出されたので、ステップS230でYESと判別し、ステップS231に進む。ステップS231では、図18(B)に示すような、引っ越し元でソフト選択を促す画面を表示し、ステップS233で選択操作を待つ。そしてステップS235で、引っ越し元でいずれかのソフトが選択されたか否かを判別し、ここでNOつまり引っ越し元で「もどる」が選択された場合、ステップS219に戻る。ステップS235でYESであれば、ステップS237に進む。ここでは、引っ越し元で「ゲームX」が選択されたものとする。
次に、CPU42Pは、ステップS137で図19(A)に示すようなメッセージ画面(たとえば“引っ越しの進み具合は引っ越し先の本体で確認してくだください”といったメッセージを含む)を表示し、ステップS139ではゲームXの引っ越し情報を送信する。この引っ越し情報には、ゲームXのタイトル(ゲームID),アイコンなどが含まれる。その後、引っ越し先から受信通知(たとえばAck)が送られてくるのをステップS141で待ってから、ステップS143に進んで、ゲームXの付加データ82bを送信する。そして、ステップS145で付加データ引っ越し完了通知を待ち、ステップS147で当該通知があったか否かを判別する。引っ越し先から付加データ引っ越し完了通知を受信すると、ステップS147でYESと判別し、図24のステップS149aに進む。エラー通知を受信した場合には、ステップS147でNOと判別し、ステップS148でエラー表示してから、図22のステップS165に進む。
一方、CPU42Qは、ステップS237で図19(B)に示すような引っ越し受信画面を表示し、ステップS239でゲームXの引っ越し情報を受信し、そしてステップS241で引っ越し先に受信通知(たとえばAck)を返信する。その後、ステップS243でゲームXの付加データ82bを受信し、ステップS245aでは、受信したゲームXの付加データ82bを一時保持領域つまりメインメモリ48Qに書き込む。そしてステップS245bで、メインメモリ48Qに記憶されたゲームXの付加データ82bにエラーがあるか否かを判別し、NOであればステップS247で付加データ引っ越し完了通知を送信する一方、YESであれば、ステップS248でエラー通知を送信した後、図25のステップS265に進む。
次に、図24および図27を参照して、CPU42Pは、ステップS149aでローカル通信からWi−Fi通信への切り替えを行った後、ステップS149bでサーバ102に対し使用権移転を指示する。ここでは、ゲーム装置10Pが保有しているゲームXの使用権をゲーム装置10Qに移転する旨が指示される。そしてステップS149cで、サーバ102から使用権移転完了通知が送られてくるのを待ち、ステップS149dで当該通知があったか否かを判別する。ここでYESであれば、ステップS149eでWi−Fi通信からローカル通信への切り替えを行った後、ステップS151に進む。ステップS149dでNOつまりエラー通知を受けた場合には、ステップS163でエラー表示を行った後、図22のステップS165に進む。
ステップS151では、引っ越し先に使用権移転完了を通知し、ステップS153では、ゲームXの本体データ82aおよび付加データ82b(すなわちゲームXのソフトウェア82)を保存領域つまり保存データメモリ52Pから削除する。そして、ステップS155で引っ越し先からの引っ越し完了通知を待ち、ステップS157で当該通知があったか否かを判別する。ステップS157でYESであれば、図22のステップS119に戻る。一方、ステップS157でNOつまりエラー通知を受けた場合には、ステップS159に移ってリトライ可能通知があったか否かを判別し、ここでもNOつまりさらなるエラー通知を受けた場合には、ステップS163でエラー表示を行った後、図22のステップS165に進む。ステップS159でYESであれば、つまりリトライ可能通知を受けた場合には、ステップS161に進んで、図20(A)に示されるように、引っ越し先でリトライを促すダイアログを図19(A)と同様のメッセージ画面上に表示する(メッセージの内容は更新されてよい)。その後、ステップS155に戻る。
一方、CPU42Qは、ステップS249で引っ越し元からの使用権移転完了通知を待ち、ステップS251で当該通知があったか否かを判別する。ここでYESであれば、ステップS253aに進む。ステップS251でNOつまりエラー通知を受けた場合には、図25のステップS265に進む。ステップS253aではローカル通信からWi−Fi通信への切り替えを行い、ステップS253bではサーバ102に対しゲームXの本体データ82aをダウンロードするよう指示し、そしてステップS253cでゲームXの本体データ82aを受信する。ステップS253dでは、受信が完了したか否かを判別し、ここでNOつまり受信完了に至らなかった場合には、ステップS259に移る。ステップS253dでYESであれば、ステップS253eでWi−Fi通信からローカル通信への切り替えを行う一方、受信したゲームXの本体データ82aをステップS255aで保存領域つまり保存用データメモリ52Qに書き込む。次に、ステップS255bで、先に受信したゲームXの付加データ82bを一時保持領域から保存領域に移動してゲームXの本体データ82aと結合(統合)し、ステップS255cでは、結合して得られたゲームXのソフトウェア82にエラーがあるか否かを判別する。ここでNOであれば、ステップS257で引っ越し完了通知を引っ越し元に送信した後、図25のステップS219に戻る。ステップS255cでYESであれば、ステップS263で引っ越しに関するエラー通知を送信した後、図25のステップS265に進む。
ステップS259では、サーバ102からのゲームXの本体データ82aのダウンロードに関してリトライ可能か否かを判別する。受信完了に至らなかった原因がサーバ102あるいはインターネット110の混雑である場合には、ステップS259でYESと判別してステップS261aに進む一方、混雑以外の原因たとえばサーバ102の故障などであれば、リトライ不可能と判別して、ステップS262に進む。ステップS261aでは、引っ越し元にリトライ可能通知を送信する。ステップS261bでは、図20(A)に示すような“リトライ”および“やめる”といったボタンを引っ越し受信画面上に表示し、ステップS261cでボタン操作を待つ。そしてステップS261dで、リトライ操作の有無を判別する。“リトライ”を示すボタン操作が行われると、ステップS253に戻る一方、“やめる” を示すボタン操作が行われるとステップS262に進む。ステップS262では、Wi−Fi通信からローカル通信への切り替えを行い、ステップS263では、リトライエラー通知を送信し、そして図25のステップS265に進む。
次に、引っ越し対象(カテゴリ)として「付加データ」が選択された場合の処理を説明する。この場合、CPU42Pは図28のステップS167〜S174を、CPU42Qは図29のステップS267〜S274をそれぞれ実行する。図28および図29を参照して、CPU42Pは、ステップS167で、引っ越し可能な付加データがあるか否かを判別する。具体的には、たとえば、自己(P)の使用権リスト72pおよび相手(Q)の使用権リスト72qに基づいて、自己(P)の使用権リスト72pおよび相手(Q)の使用権リスト72qの両方に登録されているソフトウェアについて、付加データが保存用データメモリ52Pに記憶されている場合に、YESと判別する。一方、このような付加データがなければ、NOと判別する。ステップS167でNOであれば、ステップS168で「該当ソフトなし」を表示した後、図22のステップS119に戻る。ステップS167でYESであれば、ステップS169で当該付加データを引っ越し先に送信し、ステップS171で付加データ引っ越し完了通知を待つ。そして、ステップS173で当該通知があったか否かを判別し、YESであれば図22のステップS119に戻る。ステップS173でNOつまりエラー通を受けた場合には、ステップS174でエラー表示を行った後、図22のステップS165に進む。
一方、CPU42Qは、ステップS267で、引っ越し元に引っ越し可能な付加データがあるか否かを判別する。具体的には、引っ越し元からステップS167の判別結果を取得して、それを自身の判別結果とすればよい(図28および図29では、判別結果を送受信するステップは省略している)。ステップS267でNOであれば、図25のステップS219に戻る。ステップS267でYESであれば、ステップS269で当該付加データを引っ越し元から受信し、ステップS271aでは当該付加データを保存領域つまり保存用データメモリ52Qに書き込む。そしてステップS271bで、保存された付加データにエラーがあるか否かを判別し、YESであればステップS274でエラー通知を送信した後、図25のステップS265に進む。ステップS271bでNOであれば、ステップS273で付加データ引っ越し完了通知を送信して、図22のステップS219に戻る。
なお、他の実施例では、ソフトウェアの使用権とは無関係に、保存用データメモリ52Pに記憶されている付加データを全てまたは選択的に送信してもよい。
次に、引っ越し対象(カテゴリ)として「設定データ」が選択された場合の処理を説明する。この場合、CPU42Pは図30のステップS175〜S182を、CPU42Qは図31のステップS275〜S282をそれぞれ実行する。図30および図31を参照して、CPU42Pは、ステップS175で、引っ越し可能な設定データがあるか否かを判別する。具体的には、ゲーム装置10P自体の設定(たとえばユーザネーム,ユーザカラー,時刻など)を示すデータが保存用データメモリ52Pに記憶されている場合に、YESと判別する。一方、このような設定データがなければ、NOと判別する。ステップS175でNOであれば、ステップS176で「該当設定データなし」を表示した後、図22のステップS119に戻る。ステップS175でYESであれば、ステップS177で当該設定データを引っ越し先に送信し、ステップS179で設定データ引っ越し完了通知を待つ。そして、ステップS181で当該通知があったか否かを判別し、YESであれば図22のステップS119に戻る。ステップS181でNOつまりエラー通知を受けた場合には、ステップS182でエラー表示を行った後、図22のステップS165に進む。
一方、CPU42Qは、ステップS275で、引っ越し元に引っ越し可能な設定データがあるか否かを判別する。具体的には、引っ越し元からステップS175の判別結果を取得して、それを自身の判別結果とすればよい(図30および図31では、判別結果を送受信するステップは省略している)。ステップS275でNOであれば、図25のステップS219に戻る。ステップS275でYESであれば、ステップS277で当該設定データを引っ越し元から受信し、ステップS279aでは当該設定データを保存領域つまり保存用データメモリ52Qに書き込む。そしてステップS279bで、保存された設定データにエラーがあるか否かを判別し、YESであればステップS282でエラー通知を送信した後、図25のステップS265に進む。ステップS279bでNOであれば、ステップS281で設定データ引っ越し完了通知を送信して、図22のステップS219に戻る。
次に、引っ越し方法として「一括引っ越し」が選択された場合を説明する。この場合、CPU42Pは図32〜図34に示すステップS129〜S182を、CPU42Qは図35〜図37に示すステップS229〜S282をそれぞれ実行する。
図32および図33に示すステップS129〜S163によるソフトウェアの引っ越しは、図23および図24に示すステップS129〜S163によるソフトウェアの引っ越しにおいて、ソフト選択に関連するステップS131〜S135を省略したものである。したがって、ステップS130aでYESであれば、直ちにステップS137へ進み、引っ越し送信画面が表示される。この点以外は、図23および図24に示したソフトウェアの引っ越し処理と同様なので、説明を省略する。
図34に示すステップS167〜S174による付加データの引っ越しは、図28に示すステップS167〜S174による付加データの引っ越しと同様の処理である。ただし、ステップS168の後、ステップS173でYESの場合、およびステップS174の後、それぞれステップS175に進む点が異なる。
同じ図34に示すステップS175〜S182による設定データの引っ越しは、図30に示すステップS175〜S182による設定データの引っ越しと同様の処理である。ただし、ステップS176の後、およびステップS181でYESの場合、それぞれステップS165に戻る点が異なる。
図35および図36に示すステップS229〜S263によるソフトウェアの引っ越しは、図26および図27に示すステップS229〜S263によるソフトウェアの引っ越しにおいて、ソフト選択に関連するステップS231〜235を省略したものである。したがって、ステップS230でYESであれば、直ちにステップS237へ進み、引っ越し受信画面が表示される。この点以外は、図26および図27に示したソフトウェアの引っ越し処理と同様なので、説明を省略する。
図37に示すステップS267〜S274による付加データの引っ越しは、図29に示すステップS267〜S274による付加データの引っ越しと同様の処理である。ただし、ステップS267でNOの場合、ステップS273の後、およびステップS274の後、それぞれステップS275に進む点が異なる。
同じ図37に示すステップS275〜S282による設定データの引っ越しは、図30に示すステップS275〜S282による設定データの引っ越しと同様の処理である。ただし、ステップS275でNOの場合、およびステップS281の後、それぞれステップS265に戻る点が異なる。
ゲーム装置10Pおよび10Qの少なくとも一方がサーバ102とWi−Fi接続された状態で、サーバ102のCPU104は、図39のフローに従う引っ越し処理を実行する。CPU104は、周期的に実行されるステップS301〜S303のイベント待ちループを通じて、ゲーム装置10Pおよび/または10Qからの要求または指示を待つ。ステップS301では使用権リスト要求があったか否かを、ステップS303では使用権移転指示があったか否かを、そしてステップS305ではダウンロード指示があったか否かをそれぞれ判別する。
ステップS301でYESであれば、ステップS307に移って、その要求元に対して要求元自身の使用権リストを提供し、その後、イベント待ちループに戻る。具体的には、ゲーム装置10P,10Qからの要求ないし指示には、ゲーム装置10P,10Q自身の識別情報(本体ID,コンテンツ引越サービスに関するアカウントなど)が付されており、CPU104は、その識別情報に対応する使用権リスト72p,72qをメモリ106から抽出して、Wi−Fi通信モジュール108を通して要求元宛に送信する。
ステップS303でYESであれば、ステップS309に移って、その使用権移転指示が適正か否かを判別し、NOであればステップS319でエラー通知を行った後、イベント待ちループに戻る。使用権移転指示には、引っ越し対象(ゲームX)の識別情報(X)と、引っ越し元(ゲーム装置10P)および引っ越し先(ゲーム装置10Q)の識別情報(P→Q)とが付されており、このような識別情報に基づいて、メモリ106内の使用権リスト72p,72qを検索して、引っ越し元および引っ越し先のアカウントが存在するか、引っ越し元が引っ越し対象の使用権を保持しているか、といった一連の項目について確認し、1つでも確認できない項目があれば、ステップS309でNOと判別する。全ての項目で確認が取れれば、ステップS309でYESと判別し、ステップS311に進む。
ステップS311では、メモリ106内の使用権リスト72p,72qを更新することで、引っ越し対象の使用権を引っ越し元から引っ越し先に移転する。そしてステップS313で、引っ越し元に対して(後述する変形例では引っ越し先に対して、場合によっては引っ越し元および引っ越し先の両方に対して)使用権移転完了を通知する。通知後、イベント待ちループに戻る。
ステップS305でYESであれば、ステップS315に移って、そのダウンロード指示が適正か否かを判別し、NOであればステップS319でエラー通知を行った後、イベント待ちループに戻る。ダウンロード指示には、引っ越し対象(ゲームX)の識別情報(X)と、引っ越し先(ゲーム装置10Q)の識別情報(Q)とが付されており、このような識別情報に基づいて、メモリ106内の使用権リスト72qを検索して、引っ越し先のアカウントが存在するか、引っ越し先が(先の使用権移転の結果として)引っ越し対象の使用権を保持しているか、といった一連の項目について確認し、1つでも確認できない項目があれば、ステップS315でNOと判別する。全ての項目で確認が取れれば、ステップS315でYESと判別し、ステップS317に進む。ステップS317では、引っ越し先に対して引っ越し対象をダウンロードし、その後、イベント待ちループに戻る。
なお、使用権リスト72pおよび72qに各ソフトウェアの使用許可契約書(EULA)への同意状況を記述しておき、引っ越し先が引っ越し対象の使用許可契約書(EULA)に未同意である場合には、引っ越し先で同意操作を行うように求め、同意した場合に限りダウンロードを行うようにしてもよい。この場合、引っ越し元のLCD12Pには、図40(A)に示すような、引っ越し先で同意操作を促す画面を表示し、引っ越し先のLCD12Qには、図40(B)に示すようなEULA同意画面を表示する。また、引っ越し先およびサーバ102のフローが、図41(A)および図41(B)に示すように一部変更される。
図41(A)に示される引っ越し先のフローは、図27に示されるそれにおいて、ステップS253bおよびS253cの間に、新たなステップS253A〜S253Eを追加したものである。ステップS253Aでは、サーバ102からEULA同意要求があるか否かを判別し、NOであればステップS253cに進む。ステップS253AでYESであれば、ステップS253Bで図40(B)のようなEULA同意画面を表示し、ステップS253Cで同意操作を待つ。ステップS253Dでは、同意操作が行われたか否かを判別し、ここでNOつまり“やめる”操作が行われると、ステップS262に進む。ステップS253DでYESつまり“同意する”操作が行われると、ステップS253Eで同意通知をサーバ102に送信し、その後、ステップS253cに進む。
図41(B)に示されるサーバ102のフローは、図39に示されるそれにおいて、ステップS315およびS317の間に、新たなステップS316A〜S316Dを追加したものである。ステップS316Aでは、引っ越し先が当該ソフトのEULAに同意済みか否かをメモリ106内の使用権リスト72qに基づいて判別し、ここでYESであればステップS317に進む。ステップS316AでNOであれば、ステップS316Bで引っ越し先に同意要求を送信し、ステップS316Cで同意通知を待つ。そして、ステップS316Dで同意通知があったか否かを判別し、NOであればステップS262に進む一方、YESであればステップS317に進む。
なお、サーバ102は、ステップS313で使用権移転完了通知を引っ越し元に送信したが、引っ越し先に対して直接送信してもよい。この場合、引っ越し元および引っ越し先のフローは、図42および図43に示すように一部変更される。図42に示されるステップS149a〜S163は、図24に示されるステップS149a〜S163において、ステップS149c,S149dおよびS151を省略したものである。したがって、引っ越し元は、サーバ102からの使用権移転通知待ちおよび引っ越し先への使用権移転通知は行わない。
図43に示されるステップS253a〜S263は、図27に示されるステップS249〜S263において、ステップS253aをステップS251よりも前に移動して、ステップS253aとステップS251の間にステップS249Aを追加したものである。したがって、引っ越し先は、図26のステップS247で付加データ引っ越し完了通知を送信した後、直ちに図43のステップS253aでローカルからWi−Fiへの通信切り換えを行い、ステップS249Aでサーバ102からの使用権移転通知を待って、ステップS251に進む。
加えて、サーバ102は、ステップS313で使用権移転完了通知を引っ越し元および引っ越し先の両方に送信してもよく、その場合には、図24に示されるステップS149a〜S163において、ステップS149cおよびS149dだけが省略される。引っ越し先のフローは、図43と同様でよい。
なお、以上では、ゲームXのソフトウェア82を引っ越す場合について説明したが、アプリZのソフトウェア84を引っ越す場合も上記と同様の処理が実行される。アプリZの一例としては、たとえば、カメラ16,18で撮影した画像やマイク32で録音した音声データの管理を行う画像/音声管理アプリが挙げられる。このようなアプリZの本体データ84aは、画像/音声データを階層的に管理するためのプログラムであり、付加データ84bには、プログラムを実行することで管理される画像/音声データに加え、プログラムを実行する過程で作成された階層の構造を示すデータなどが含まれる(ゲームXやアプリZなどのアプリケーションに対して設定された設定データは、そのアプリケーションの付加データに含めてよい)。
以上から明らかなように、この実施例のゲームシステム100は、ある観点から見ると、ゲーム装置10Pおよび10Qならびにサーバ102を含み、ゲーム装置10Pはプログラム(ゲームXの本体データ82a)およびセーブデータ(ゲームXの付加データ82b)で構成されるソフトウェア(ゲームXのソフトウェア80)を記憶した第1メモリ(保存用データメモリ52P)を、ゲーム装置10Qはソフトウェアを追記可能な第2メモリ(保存用データメモリ52Q)を、そしてサーバ102はプログラムを記憶した第3メモリ(メモリ106)を備える。
ゲーム装置10Pはゲーム装置10Qに第1メモリのセーブデータをローカル通信で送信し(S143)、サーバ102はゲーム装置10Qに第3メモリのプログラムをWi−Fi通信で送信する(S317)。ゲーム装置10Qは、セーブデータを受信し(S243)、プログラムを受信して(S253c)、それらをソフトウェアとして第2メモリに追記する(S245a,S255a,S255b)。これにより、サーバ102にかかる負担を軽減しながら、ゲーム装置10Pからゲーム装置10Qへソフトウェアを移行させることができる。
好ましくは、ソフトウェアには、ゲーム装置10Pに帰属する使用権が設定されており、第3メモリは、ソフトウェアの使用権に関する情報(使用権リスト72p,72q)をさらに記憶し、ゲーム装置10Pは、サーバ102に対して、ソフトウェアの使用権をゲーム装置10Pからゲーム装置10Qへ移転させる移転指示を行う(S149b)。サーバ102は、ゲーム装置10Pからの移転指示に基づき、第3メモリに記憶された使用権情報を更新する(S311)。ゲーム装置10Qは、サーバ102で使用権情報が更新された場合に追記処理を実行する。したがって、ソフトウェアの移行は、サーバ102で使用権情報が更新されて初めて完了する(ソフトウェアがゲーム装置10Qで使用可能となる)ので、ソフトウェアの移行を安全に行うことができる。
なお、上記の実施例では、引っ越し対象は、主としてソフトウェア(プログラムコンテンツ)であったが、文字,音声および映像の少なくとも1つを再生するためのAVコンテンツでもよい。
また、上記の実施例では、ゲーム装置10Pおよび10Qに共通の(ゲーム装置10Pおよび10Qで共通に利用可能な)本体データであるプログラムをサーバ102からゲーム装置10Qに送信し、ゲーム装置10Pに固有の付加データであるセーブデータをゲーム装置10Pからゲーム装置10Qに送信したが、ゲーム装置10Pおよび10Qに共通の本体データであるDRM付きコンテンツデータをゲーム装置10Pからゲーム装置10Qに送信し、ゲーム装置10Qに固有の付加データである鍵データをサーバ102からゲーム装置10Qに送信してもよい。このような実施例での通信シーケンスを図44に示す。
図44のシーケンスでは、まず、本体データであるDRM付きコンテンツデータが引っ越し元から引っ越し先にローカル通信を利用して送信され、次に、サーバ102での使用権移転を受けて、付加データである鍵データがサーバ102から引っ越し先にWi−Fi通信を利用してダウンロードされる。引っ越し先では、受信したDRM付きコンテンツデータおよび鍵データを保存領域に追記して、引っ越し先が引っ越し元と同等のまたは異なる条件でコンテンツを使用できる状態にする。なお、DRM付きコンテンツデータの引っ越しは、メモリカード38aなど携帯可能な記憶媒体を介して行われてもよい。
なお、付加データは、ゲーム装置10Pに固有のものとは限らず、本体データ利用時に参照されるものであってもよい。たとえば、本体データがゲーム装置10にインストールされたメディアプレイヤ(図示せず)で再生可能なコンテンツデータである場合、本体データは、付加データは、コンテンツデータをメディアプレイヤで再生するために必要となる鍵データである。これにより、鍵で保護されたメディアデータの引越しが可能になる。
また、この実施例のゲームシステム100は、別の観点から見ると、ゲーム装置10Pおよび10Qを含み、ゲーム装置10Pはデータ(82a,82b,…,86)を記憶した第1メモリ(52P)およびタッチパネル28Pを備え、ゲーム装置10Qはデータを追記可能な第2メモリ(52Q)およびLCD12Qを備える。ゲーム装置10Pは、タッチパネル28Pへの操作入力を受け付け(S113,S121,S133)、その操作入力情報(76p)を送信し(S55)、第1メモリのデータを送信する(S143,S169,S177)。ゲーム装置10Qは、操作入力情報を受信して(S57)、それに基づいた表示を行い(S211,S219,S231)、データを受信して(S243,S269,S277)、それを第2メモリに追記する(S245a,S255a,S255b,S271a,S279a)。これにより、ゲーム装置10P側の操作だけでデータの移行を行い、しかも誤操作を減らすことができる。
また、この実施例では、プログラム(ゲームXの本体データ82a)は、サーバ102からゲーム装置10QにWi−Fi通信で送信されたが、ゲーム装置10Pからゲーム装置10Qにローカル通信でセーブデータ(ゲームXの付加データ82b)と一緒に送信されてもよい。この場合、ゲーム装置10Pは、図17(A)の対象(カテゴリ)選択画面で「ソフトウェア」が選択された後に、図18(A)のソフト選択画面で「ゲームX」が選択された場合には、そのソフトウェアを実行するためのプログラム(ゲームXの本体データ82a)とセーブデータ(ゲームXの付加データ82b)とを送信する一方、図17(A)の対象(カテゴリ)選択画面で「セーブデータ」が選択された後に、図示しないセーブデータ選択画面を表示して、そこで「ゲームX」が選択された場合には、該当するセーブデータ(ゲームXの付加データ82b)を送信するようにしてもよい。または、図17(A)の対象(カテゴリ)選択画面で「ソフトウェア」が選択された時点で、ゲーム装置10PにゲームXの本体データ82aがあるか否かを判別して、NOであればゲームXの本体データ82aおよび付加データ82bを送信する一方、YESであればゲームXの付加データ82bだけを送信するようにしてもよい。
以上では、ゲームシステム100について説明したが、この発明は、第1および第2の情報処理装置を含み、Wi−Fi通信,各種の近距離無線通信または有線通信によって、もしくは携帯型の記憶媒体を介して、第1および第2の情報処理装置間でデータの移行を行う、情報処理システムに適用できる。