(57)【特許請求の範囲】
【請求項１】
他の情報処理装置と通信可能な情報処理装置であって、
アプリケーションプログラムを実行するアプリケーション実行手段と、
前記アプリケーション実行手段が実行したアプリケーションプログラムの実行履歴を記憶する実行履歴記憶手段と、
アプリケーションプログラムを表すアイコン画像であるメタデータを記憶するメタデータ記憶手段と、
ユーザの操作に基づいて、当該ユーザのメッセージの入力を受け付ける入力手段と、
ユーザの操作に応じて、前記メタデータ記憶手段に記憶された前記メタデータを選択する選択手段と、
前記入力手段が受け付けたメッセージ及び前記選択手段が選択したメタデータを、前記他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から、メッセージ、及びアプリケーションプログラムを表すアイコン画像であるメタデータを受信する受信手段と、
前記受信手段が受信したメッセージ及びメタデータを出力する情報出力手段とを備え、
前記選択手段は、前記実行履歴記憶手段に記憶された前記実行履歴に基づいて、実行履歴のあるアプリケーションプログラムに対応するメタデータを、ユーザが選択可能にする、情報処理装置。
【請求項２】
前記情報処理装置は、アプリケーションプログラム及び当該アプリケーションプログラムに対応するメタデータを記憶した、当該情報処理装置に装着された着脱可能な第１記憶部又は当該情報処理装置に備えられた第２記憶部から、当該メタデータを取得して前記メタデータ記憶手段に記憶させるメタデータ取得手段を更に備える、請求項１に記載の情報処理装置。
【請求項３】
前記入力手段は、ユーザのメッセージの入力を受け付けるための入力インターフェースを当該ユーザに提供し、
前記選択手段は、前記入力手段によって提供される前記入力インターフェースの中に、ユーザが前記メタデータを選択するための操作部分を提供する、請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記受信手段が受信したメタデータに基づいて、当該メタデータに対応するアプリケーションプログラムの詳細情報を取得する詳細情報取得手段を更に備え、
前記情報出力手段は、前記詳細情報取得手段が取得した詳細情報を出力する、請求項１に記載の情報処理装置。
【請求項５】
前記メタデータ取得手段は、前記第１記憶部が当該情報処理装置に装着されたときに当該第１記憶部に記憶されたメタデータを取得して前記メタデータ記憶手段に記憶させる、請求項２に記載の情報処理装置。
【請求項６】
前記詳細情報は、前記受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザが購入するためのガイド情報を含む、請求項４に記載の情報処理装置。
【請求項７】
前記情報処理装置は、
前記情報出力手段によって出力された前記メタデータに対するユーザによる入力を受付ける受付手段と、
前記受付手段によって前記ユーザによる入力が受け付けられた場合に、当該メタデータに対応するアプリケーションプログラムを購入するためのサーバに接続する接続手段とを更に備える、請求項１に記載の情報処理装置。
【請求項８】
前記接続手段は、前記情報出力手段によって出力された前記メタデータに基づいて、前記サーバが開設する当該メタデータに対応するアプリケーションプログラムを購入するためのサイトに接続する、請求項７に記載の情報処理装置。
【請求項９】
前記詳細情報は、前記受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザに紹介するための紹介情報を含む、請求項４に記載の情報処理装置。
【請求項１０】
前記詳細情報取得手段は、前記詳細情報をサーバから取得する、請求項４に記載の情報処理装置。
【請求項１１】
前記ガイド情報は、前記受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザが購入するための購入操作をガイドする情報であり、
前記詳細情報取得手段は、前記詳細情報をサーバから受信して取得し、
前記情報処理装置は、
前記ガイド情報に従ったユーザによる前記購入操作を受け付ける購入操作受付手段と、
前記購入操作受付手段によって前記購入操作が受け付けられたアプリケーションプログラムの購入要求を前記サーバに送信する購入要求送信手段と、
前記購入要求されたアプリケーションプログラムを前記サーバから受信するアプリケーション受信手段とを更に備える、請求項６に記載の情報処理装置。
【請求項１２】
前記ガイド情報は、前記受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザが購入するための購入操作をガイドする情報であり、
前記詳細情報取得手段は、前記詳細情報をサーバから受信して取得し、
前記情報処理装置は、
前記ガイド情報に従ったユーザによる前記購入操作を受け付ける購入操作受付手段と、
前記購入操作受付手段によって前記購入操作が受け付けられたアプリケーションプログラムの購入要求を前記サーバに送信する購入要求送信手段と、
ユーザに決済情報の入力操作をガイドするための決済関連情報を前記サーバから受信する決済関連情報受信手段と、
前記決済関連情報を出力する決済関連情報出力手段と、
前記決済関連情報によるガイドに従った前記決済情報の入力をユーザから受け付ける決済操作受付手段と、
前記決済操作受付手段が受け付けた決済情報を前記サーバに送信する決済情報送信手段と、
前記購入要求されたアプリケーションプログラムを前記サーバから受信するアプリケーション受信手段とを更に備える、請求項６に記載の情報処理装置。
【請求項１３】
前記情報処理装置は、前記受信手段が受信したメッセージ及びメタデータを第３の情報処理装置に転送する転送手段を更に備える、請求項１に記載の情報処理装置。
【請求項１４】
前記送信手段は、前記入力手段が受け付けたメッセージ及び前記選択手段が選択したメタデータを、当該メッセージ内に当該メタデータが貼り付けられた状態で、前記他の情報処理装置に送信し、
前記受信手段は、メッセージ及びアプリケーションプログラムに対応するメタデータを、当該メッセージ内に当該メタデータが貼り付けられた状態で、前記他の情報処理装置から受信する、請求項１に記載の情報処理装置。
【請求項１５】
前記送信手段は、前記入力手段が受け付けたメッセージ及び前記選択手段が選択したメタデータを、電磁波を用いた近距離通信により不特定の前記他の情報処理装置に自動送信し、
前記受信手段は、メッセージ及びアプリケーションプログラムに対応するメタデータを、前記近距離通信により不特定の前記他の情報処理装置から自動受信する、請求項１に記載の情報処理装置。
【請求項１６】
他の情報処理システムと通信可能な情報処理システムであって、
アプリケーションプログラムを実行するアプリケーション実行手段と、
前記アプリケーション実行手段が実行したアプリケーションプログラムの実行履歴を記憶する実行履歴記憶手段と、
アプリケーションプログラムを表すアイコン画像であるメタデータを記憶するメタデータ記憶手段と、
ユーザの操作に基づいて、当該ユーザのメッセージの入力を受け付ける入力手段と、
ユーザの操作に応じて、前記メタデータ記憶手段に記憶された前記メタデータを選択する選択手段と、
前記入力手段が受け付けたメッセージ及び前記選択手段が選択したメタデータを、前記他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から、メッセージ、及びアプリケーションプログラムを表すアイコン画像であるメタデータを受信する受信手段と、
前記受信手段が受信したメッセージ及びメタデータを出力する情報出力手段とを備え、
前記選択手段は、前記実行履歴記憶手段に記憶された前記実行履歴に基づいて、実行履歴のあるアプリケーションプログラムに対応するメタデータを、ユーザが選択可能にする、情報処理システム。
【請求項１７】
他の情報処理装置と通信可能な情報処理装置のコンピュータに実行させる情報処理プログラムであって、
前記コンピュータを、
アプリケーションプログラムを実行するアプリケーション実行手段と、
前記アプリケーション実行手段が実行したアプリケーションプログラムの実行履歴を記憶する実行履歴記憶手段と、
アプリケーションプログラムを表すアイコン画像であるメタデータを記憶するメタデータ記憶手段と、
ユーザの操作に基づいて、当該ユーザのメッセージの入力を受け付ける入力手段と、
ユーザの操作に応じて、前記メタデータ記憶手段に記憶された前記メタデータを選択する選択手段と、
前記入力手段が受け付けたメッセージ及び前記選択手段が選択したメタデータを、前記他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から、メッセージ、及びアプリケーションプログラムを表すアイコン画像であるメタデータを受信する受信手段と、
前記受信手段が受信したメッセージ及びメタデータを出力する情報出力手段として機能させ、
前記選択手段は、前記実行履歴記憶手段に記憶された前記実行履歴に基づいて、実行履歴のあるアプリケーションプログラムに対応するメタデータを、ユーザが選択可能にする、情報処理プログラム。
【請求項１８】
他の情報処理装置と通信可能な情報処理装置において用いられる情報処理方法であって、
アプリケーションプログラムを実行するアプリケーション実行ステップと、
前記アプリケーション実行ステップで実行したアプリケーションプログラムの実行履歴を記憶する実行履歴記憶ステップと、
アプリケーションプログラムを表すアイコン画像であるメタデータを記憶するメタデータ記憶ステップと、
ユーザの操作に基づいて、当該ユーザのメッセージの入力を受け付ける入力ステップと、
ユーザの操作に応じて、前記メタデータ記憶ステップで記憶された前記メタデータを選択する選択ステップと、
前記入力ステップで受け付けたメッセージ及び前記選択ステップで選択したメタデータを、前記他の情報処理装置に送信する送信ステップと、
前記他の情報処理装置から、メッセージ、及びアプリケーションプログラムを表すアイコン画像であるメタデータを受信する受信ステップと、
前記受信ステップで受信したメッセージ及びメタデータを出力する情報出力ステップとを備え、
前記選択ステップでは、前記実行履歴記憶ステップで記憶された前記実行履歴に基づいて、実行履歴のあるアプリケーションプログラムに対応するメタデータを、ユーザが選択可能にする、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムに関し、より特定的には、コンテンツのメタデータを送信等する情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムに関する。
【背景技術】
【０００２】
従来、インターネット等を用いたオンラインショッピングにおいて、ユーザが商品を他のユーザに紹介するための技術が存在する。例えば、特許文献１に開示されるシステムでは、ユーザが、商品注文ページにおいて商品の紹介ボタンをクリックした後、紹介相手のメールアドレスや紹介メッセージを記入するためのフォームに必要事項を記入して送信指示を行う。このことで、商品の紹介画面に割り当てられたＵＲＬを含んだ電子メールが、紹介相手のメールアドレスに送信される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１５２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記した従来のシステムにおいては、ユーザ自らが購入等して自己の装置に記憶されているコンテンツ（商品）のみを他のユーザに紹介するようなものではない。つまり、従来のシステムでは、ユーザは、自分が持っておらず使用もしていない商品を他のユーザに紹介できてしまう。このことを、商品を紹介される側のユーザの立場から見ると、このユーザは、紹介する側のユーザが持ってもいない商品を紹介され得るということとなる。この結果として、上記した従来のシステムにおいては、商品紹介の信頼性を高く保つことが出来難いという面があった。
【０００５】
それ故に、本発明の目的は、ユーザ間で行われるコンテンツ（商品）の紹介の信頼性を高く保つことができる情報処理装置、情報処理プログラム、情報処理方法及び情報処理システムを提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明は、他の情報処理装置と通信可能な情報処理装置であって、アプリケーション実行手段と、メタデータ記憶手段と、入力手段と、選択手段と、送信手段と、受信手段と、情報出力手段とを備える。メタデータ記憶手段は、アプリケーションプログラムに対応するメタデータを記憶する。入力手段は、ユーザの操作に基づいて、当該ユーザのメッセージの入力を受け付ける。入力手段は、ユーザの操作に基づいて、このユーザのメッセージの入力を受け付ける。選択手段は、ユーザの操作に応じて、メタデータ取得手段が取得したメタデータを選択する。送信手段は、入力手段が受け付けたメッセージ及び選択手段が選択したメタデータを、他の情報処理装置に送信する。受信手段は、他の情報処理装置からメッセージ及びアプリケーションプログラムに対応するメタデータを受信する。情報出力手段は、受信手段が受信したメッセージ及びメタデータを出力する。
【０００８】
この構成によると、ユーザは、自分の情報処理装置に備えられたメタデータ記憶手段（保存用データメモリ３４等）に記憶されているメタデータを、他の情報処理装置に対してメッセージと共に送信できる。
【０００９】
また、情報処理装置は、アプリケーションプログラム及び当該アプリケーションプログラムに対応するメタデータを記憶した、当該情報処理装置に装着された着脱可能な第１記憶部又は当該情報処理装置に備えられた第２記憶部から、当該メタデータを取得してメタデータ記憶手段に記憶させるメタデータ取得手段を更に備えてもよい。
【００１０】
この構成によると、ユーザは、購入等した情報処理装置に着脱可能な第１記憶部（カートリッジ２９等）に記憶されたアプリケーションプログラム、この第１記憶部から情報処理装置に備えられた第２記憶部に複製されたアプリケーションプログラム、又は第２記憶部にサーバ等から購入等してダウンロードしたアプリケーションプログラム等に対応するメタデータを、他の情報処理装置に対してメッセージと共に送信できる。つまり、ユーザは、購入等して少なくとも手元に在る（又は在った）アプリケーションプログラムのみを相手ユーザに紹介できる。この結果として、ユーザ間で行われるコンテンツ（アプリケーションプログラム）の紹介の信頼性を高く保つことができる。
【００１１】
また、入力手段は、ユーザのメッセージの入力を受け付けるための入力インターフェースを当該ユーザに提供し、選択手段は、入力手段によって提供される入力インターフェースの中に、ユーザがメタデータを選択するための操作部分を提供してもよい。
【００１２】
この構成によると、ユーザによるメッセージの入力が入力手段によって受け付けられているときに、メタデータ記憶手段に記憶されたメタデータが選択手段によってユーザに選択可能にされる。例えば、メッセージの入力が受け付けられているときに、メタデータ記憶手段に記憶されたメタデータの一覧がメッセージの入力画面と共に表示されて、ユーザは、メッセージの入力と並行してメタデータの選択ができるものとしてもよい。または、ユーザによるメッセージの入力が入力手段によって受付けられているときに、メタデータ記憶手段に記憶されたメタデータの一覧を呼び出すための操作をユーザから受付けて、当該操作があったときに、当該一覧が表示されるようにしてもよい。これらの場合、ユーザは、メッセージの入力とメタデータの選択とをシームレスに行うことができる。
【００１３】
また、情報処理装置は、受信手段が受信したメタデータに基づいて、メタデータに対応するアプリケーションプログラムの詳細情報を取得する詳細情報取得手段を更に備え、情報出力手段は、詳細情報取得手段が取得した詳細情報を出力してもよい。
【００１４】
この構成によると、ユーザは、相手ユーザからメッセージと共に受け取ったメタデータを用いて、紹介されたアプリケーションプログラムの詳細情報を得ることができる。
【００１５】
また、メタデータ記憶手段は、アプリケーション実行手段によって実行されたアプリケーションプログラムに対応するメタデータを記憶し、選択手段は、ユーザの操作に応じて、メタデータ記憶手段に記憶されたアプリケーション実行手段によって実行されたアプリケーションプログラムに対応するメタデータを、ユーザが選択可能にしてもよい。
【００１６】
この構成によると、ユーザは、自分の情報処理装置で実行したことのあるアプリケーションプログラムのみを相手ユーザに紹介できる。この結果として、ユーザ間で行われるコンテンツ（アプリケーションプログラム）の紹介の信頼性を高く保つことができる。
【００１７】
また、情報処理装置は、アプリケーション実行手段が実行したアプリケーションプログラムの実行履歴を記憶する実行履歴記憶手段を更に備え、選択手段は、実行履歴記憶手段に記憶された実行履歴に基づいて、実行履歴のあるアプリケーションプログラムに対応するメタデータを、ユーザが選択可能にしてもよい。
【００１８】
この構成によると、ユーザは、自己の情報処理装置で実行して実行履歴のあるアプリケーションプログラムに対応するメタデータのみを、他の情報処理装置に対して、実行した感想等のメッセージと共に送信できる。つまり、ユーザは、自ら実行したことのあるアプリケーションプログラムのみを相手ユーザに紹介できる。この結果として、ユーザ間で行われるコンテンツ（アプリケーションプログラム）の紹介の信頼性を更に高く保つことができる。
【００１９】
また、メタデータ取得手段は、第１記憶部が情報処理装置に装着されたときに第１記憶部に記憶されたメタデータを取得してメタデータ記憶手段に記憶させてもよい。
【００２０】
この構成によると、情報処理装置に装着されて取り外された第１記憶部に記憶されているメタデータを、情報処理装置に備えられたメタデータ記憶手段に蓄積できる。つまり、情報処理装置に一度でも装着された第１記憶部に記憶されたメタデータを、情報処理装置に備えられたメタデータ記憶手段に蓄積できる。この結果として、情報処理装置に一度でも装着された第１記憶部に記憶されたアプリケーションプログラムを、相手ユーザにメッセージと共に紹介できる。
【００２１】
また、詳細情報は、受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザが購入するためのガイド情報を含んでもよい。
【００２２】
この構成によると、ユーザは、相手ユーザから紹介されたアプリケーションプログラムを購入するためのガイド情報を、容易に得ることができる。
【００２３】
また、情報処理装置は、情報出力手段によって出力されたメタデータに対するユーザによる入力を受付ける受付手段と、受付手段によってユーザによる入力が受け付けられた場合に、当該メタデータに対応するアプリケーションプログラムを購入するためのサーバに接続する接続手段とを更に備えてもよい。
【００２４】
この構成によると、ユーザは、相手ユーザからメタデータを用いて紹介されたアプリケーションプログラムを購入するためのサーバに、極めて容易に接続することができる。
【００２５】
また、接続手段は、情報出力手段によって出力されたメタデータに基づいて、サーバが開設する当該メタデータに対応するアプリケーションプログラムを購入するためのサイトに接続してもよい。
【００２６】
この構成によると、ユーザは、相手ユーザからメタデータを用いて、相手ユーザに紹介されたアプリケーションプログラムを購入するためのサイトに、極めて容易に接続することができる。
【００２７】
また、詳細情報は、受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザに紹介するための紹介情報を含んでもよい。
【００２８】
この構成によると、ユーザは、相手ユーザから紹介されたアプリケーションプログラムの内容、価格等を知ることができる。
【００２９】
また、詳細情報取得手段は、詳細情報をサーバから取得してもよい。
【００３０】
この構成によると、ユーザは、情報処理装置の出荷時に未発売・未完成であったアプリケーションプログラムに関する詳細情報を取得できる。また、ユーザは、詳細情報が更新された場合には、最新の紹介情報を取得できる。
【００３１】
また、ガイド情報は、受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザが購入するための購入操作をガイドする情報であり、詳細情報取得手段は、詳細情報をサーバから受信して取得し、情報処理装置は、ガイド情報に従ったユーザによる購入操作を受け付ける購入操作受付手段と、購入操作受付手段によって購入操作が受け付けられたアプリケーションプログラムの購入要求をサーバに送信する購入要求送信手段と、購入要求されたアプリケーションプログラムをサーバから受信するアプリケーション受信手段とを更に備えてもよい。
【００３２】
この構成によると、ユーザは、ガイド情報に従って、容易かつ迅速にアプリケーションプログラムを購入することができる。
【００３３】
また、ガイド情報は、受信手段が受信したメタデータに対応するアプリケーションプログラムをユーザが購入するための購入操作をガイドする情報であり、詳細情報取得手段は、詳細情報をサーバから受信して取得し、情報処理装置は、ガイド情報に従ったユーザによる購入操作を受け付ける購入操作受付手段と、購入操作受付手段によって購入操作が受け付けられたアプリケーションプログラムの購入要求をサーバに送信する購入要求送信手段と、ユーザに決済情報の入力操作をガイドするための決済関連情報をサーバから受信する決済関連情報受信手段と、決済関連情報を出力する決済関連情報出力手段と、決済関連情報によるガイドに従った決済情報の入力をユーザから受け付ける決済操作受付手段と、決済操作受付手段が受け付けた決済情報をサーバに送信する決済情報送信手段と、購入要求されたアプリケーションプログラムをサーバから受信するアプリケーション受信手段とを更に備えてもよい。
【００３４】
この構成によると、ユーザは、ガイド情報及び決済関連情報に従って、容易かつ迅速にアプリケーションプログラムを購入することができる。
【００３５】
また、メタデータは、アプリケーションプログラムを表すアイコンを含んでもよい。
【００３６】
この構成によると、ユーザは、視覚的、直観的に、紹介されたアプリケーションプログラムの内容を想起できる。
【００３７】
また、メタデータは、アプリケーションプログラムのタイトルを含んでもよい。
【００３８】
この構成によると、ユーザは、アプリケーションの内容を容易に認知できる。
【００３９】
また、情報処理装置は、受信手段が受信したメッセージ及びメタデータを第３の情報処理装置に転送する転送手段を更に備えてもよい。
【００４０】
この構成によると、ユーザは、容易に、相手ユーザから紹介されたアプリケーションプログラムを、他のユーザに紹介できる。そして、この場合であっても、最初の紹介元のユーザが購入等して少なくとも手元に持っていたアプリケーションプログラムのみが、転送によって他のユーザに紹介される。この結果として、この場合であっても、ユーザ間で行われるコンテンツ（アプリケーションプログラム）の紹介の信頼性を高く保つことができる。
【００４１】
また、情報処理装置は、アプリケーション実行手段によるアプリケーションプログラムの実行状態が所定の状態になったか否かを判定する実行状態判定手段と、実行状態が所定の状態になったと判定された場合、実行中のアプリケーションプログラムに関連するメッセージ及びメタデータを取得するメッセージ取得手段とを更に備え、送信手段は、メッセージ取得手段が取得したメッセージ及びメタデータを他の情報処理装置に送信してもよい。
【００４２】
この構成によると、ユーザは、アプリケーションが所定の状態になったときに（例えば、ユーザがゲームクリアしたときに）自動的にメタデータを配置したメッセージが自分宛に提供され、それを他の情報処理装置に送信できる。このことから、ユーザは、紹介メッセージを入力することなく、手間をかけずに、アプリケーションプログラムを紹介できる。
【００４３】
以上では、情報処理装置として本発明を構成する場合について記載した。しかし、本発明は、情報処理プログラム、情報処理方法、又は情報処理システムとして構成されてもよい。更には、本発明は、上記情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体として構成されてもよい。
【発明の効果】
【００４４】
本発明によれば、ユーザ間で行われるコンテンツ（商品）の紹介の信頼性を高く保つことができる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態に係るシステムを構成するゲーム装置１の概観図
【図２】ゲーム装置１の内部構成の一例を示すブロック図
【図３】本発明の一実施形態に係るシステムの一例を示す図
【図４】本発明の一実施形態に係るシステムを構成するサーバ４の内部構成の一例を示すブロック図
【図５】保存用データメモリ３４のメモリマップの一例を示す図
【図６】保存用データメモリ３４に記憶されるメタデータの一例を示す図
【図７】保存用データメモリ３４に記憶されるアプリ用データ１０３の例を示す図
【図８】保存用データメモリ３４に記憶されるメタデータデータベース２００の一例を示す図
【図９】保存用データメモリ３４に記憶されるすれ違いボックスデータ３００の例を示す図
【図１０】メイン処理の一例を示すフローチャート
【図１１】ゲーム装置１が表示させるメニュー画面の一例を示す図
【図１２】すれ違い通信処理の一例を示す通信シーケンス図
【図１３】すれ違い通信処理によって送受信されるフレームＤ６〜Ｄ８について説明するための図
【図１４】すれ違い通信処理の一例を示すフローチャート
【図１５】メッセージアプリ処理の一例を示すフローチャート
【図１６】ローカル通信処理の一例を示すフローチャート
【図１７】所定のゲームアプリ処理の一例を示すフローチャート
【図１８】アプリ選択時処理の一例を示すフローチャート
【図１９】サーバ４のデータ配信処理の一例を示すフローチャート
【発明を実施するための形態】
【００４６】
以下、本発明の一実施形態について、図面を参照して説明する。なお、この実施形態によって本発明が限定されるものではない。
【００４７】
（本発明の一実施形態）
［ゲーム装置の外部構成］
図１は、本発明の一実施形態に係るシステムを構成するゲーム装置１の概観図である。以下では、図１を参照して、本発明の情報処理装置の一例であるゲーム装置１の外部構成を説明する。
【００４８】
図１において、ゲーム装置１は、折り畳み型の携帯ゲーム装置であり、開いた状態（開状態）のゲーム装置１を示している。ゲーム装置１は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
【００４９】
ゲーム装置１は、下側ハウジング１１及び上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１及び上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回転可能に連結されている。通常、ユーザは、開状態でゲーム装置１を使用する。また、ユーザは、ゲーム装置１を使用しないときには閉状態としてゲーム装置１を保管する。
【００５０】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２が設けられる。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置１に内蔵されている表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用してもよい。
【００５１】
下側ハウジング１１には、入力装置として、各操作ボタン１４Ａ〜１４Ｋ及びタッチパネル１３が設けられる。図１に示すように、各操作ボタン１４Ａ〜１４Ｋのうち、方向入力ボタン１４Ａ、操作ボタン１４Ｂ、操作ボタン１４Ｃ、操作ボタン１４Ｄ、操作ボタン１４Ｅ、電源ボタン１４Ｆ、スタートボタン１４Ｇ、及びセレクトボタン１４Ｈは、上側ハウジング２１と下側ハウジング１１とを折りたたんだときに内側となる、下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａは、例えば選択操作等に用いられる。各操作ボタン１４Ｂ〜１４Ｅは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン１４Ｆは、ゲーム装置１の電源をオン／オフするために用いられる。スタートボタン１４Ｇ、及びセレクトボタン１４Ｈは、ゲーム装置１に対する各種操作を行うために用いられる。
【００５２】
なお、図１においては、操作ボタン１４Ｉ〜１４Ｋの図示を省略している。例えば、Ｌボタン１４Ｉは、下側ハウジング１１の上側面の左端部に設けられ、Ｒボタン１４Ｊは、下側ハウジング１１の上側面の右端部に設けられる。Ｌボタン１４Ｉ及びＲボタン１４Ｊは、ゲーム装置１に対して、例えば撮影指示操作（シャッター操作）を行うために用いられる。さらに、音量ボタン１４Ｋは、下側ハウジング１１の左側面に設けられる。音量ボタン１４Ｋは、ゲーム装置１が備えるスピーカの音量を調整するために用いられる。
【００５３】
また、ゲーム装置１は、各操作ボタン１４Ａ〜１４Ｋとは別の入力装置として、さらにタッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３として、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３として、例えば下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。また、下側ハウジング１１の右側面には、挿入口（図１に示す破線）が設けられている。挿入口は、タッチパネル１３に対する操作を行うために用いられるタッチペン２７を収納することができる。
【００５４】
また、下側ハウジング１１の右側面には、メモリカード２８（本発明の第１記憶部の一例）を収納するための挿入口（図１では、二点鎖線で示している）が設けられている。この挿入口の内側には、ゲーム装置１とメモリカード２８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２８は、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードであり、コネクタに着脱自在に装着される。メモリカード２８は、例えば、ゲーム装置１によって撮影された画像を記憶（保存）したり、他の装置で生成された画像をゲーム装置１に読み込んだりするために用いられる。
【００５５】
さらに、下側ハウジング１１の上側面には、カートリッジ２９（本発明の第１記憶部の一例）を収納するための挿入口（図１では、一点鎖線で示している）が設けられている。この挿入口の内側にも、ゲーム装置１とカートリッジ２９とを電気的に接続するためのコネクタ（図示せず）が設けられる。カートリッジ２９は、ゲームプログラム等を記録した記録媒体であり、下側ハウジング１１に設けられた挿入口に着脱自在に装着される。
【００５６】
下側ハウジング１１と上側ハウジング２１との連結部の左側部分には、３つのＬＥＤ１５Ａ〜１５Ｃが取り付けられる。ここで、ゲーム装置１は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１５Ａは、ゲーム装置１の電源がオンであるときに点灯する。第２ＬＥＤ１５Ｂはゲーム装置１の充電中に点灯する。第３ＬＥＤ１５Ｃは無線通信が確立している場合に点灯する。したがって、３つのＬＥＤ１５Ａ〜１５Ｃによって、ゲーム装置１の電源のオン／オフ状況、充電状況、及び、通信確立状況をユーザに通知することができる。
【００５７】
一方、上側ハウジング２１には、上側ＬＣＤ２２が設けられる。上側ＬＣＤ２２は横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ２２に代えて、他の任意の方式（及び任意の解像度）の表示装置を利用してもよい。例えば、上側ＬＣＤ２２には、ユーザに各操作ボタン１４Ａ〜１４Ｋやタッチパネル１３の役割を教えるための、操作説明画面が表示される。
【００５８】
また、上側ハウジング２１には、２つのカメラ（内側カメラ２３及び外側カメラ２５）が設けられる。図１に示すように、内側カメラ２３は、上側ハウジング２１の連結部付近の内側主面に取り付けられる。一方、外側カメラ２５は、内側カメラ２３が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング２１の外側主面（ゲーム装置１が閉状態となった場合に外側となる面であり、図１に示す上側ハウジング２１の背面）に取り付けられる。なお、図１においては、外側カメラ２５を破線で示している。これによって、内側カメラ２３は、上側ハウジング２１の内側主面が向く方向を撮影することが可能であり、外側カメラ２５は、内側カメラ２３の撮影方向の逆方向、すなわち、上側ハウジング２１の外側主面が向く方向を撮影することが可能である。
【００５９】
なお、上記連結部付近の内側主面には、音声入力装置としてマイク（図２に示すマイク４１）が収納されている。また、上記連結部付近の内側主面には、マイク４１がゲーム装置１外部の音を検知できるように、マイクロフォン用孔１６が形成される。
【００６０】
また、上側ハウジング２１の外側主面には、第４ＬＥＤ２６（図１では、破線で示す）が取り付けられる。第４ＬＥＤ２６は、外側カメラ２５によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、外側カメラ２５によって動画が撮影される間点灯する。第４ＬＥＤ２６によって、ゲーム装置１による撮影が行われた（行われている）ことを撮影対象者や周囲に通知することができる。
【００６１】
また、上側ハウジング２１の内側主面中央付近に設けられる上側ＬＣＤ２２に対して、左右両側の当該主面に音抜き孔２４がそれぞれ形成される。音抜き孔２４の奥の上側ハウジング２１内にはスピーカが収納されている。音抜き孔２４は、スピーカからの音をゲーム装置１の外部に放出するための孔である。
【００６２】
以上に説明したように、上側ハウジング２１には、画像を撮影するための構成である内側カメラ２３及び外側カメラ２５と、例えば撮影の際に操作説明画面を表示する表示手段である上側ＬＣＤ２２とが設けられる。一方、下側ハウジング１１には、ゲーム装置１に対する操作入力を行うための入力装置（タッチパネル１３及び各ボタン１４Ａ〜１４Ｋ）と、ゲーム画面を表示するための表示手段である下側ＬＣＤ１２とが設けられる。したがって、ゲーム装置１を使用する際には、ユーザは、下側ＬＣＤ１２に表示される撮影画像（カメラによって撮影された画像）を見ながら、下側ハウジング１１を把持して入力装置に対する入力を行うことができる。
【００６３】
［ゲーム装置の内部構成］
図２は、ゲーム装置１の内部構成の一例を示すブロック図である。以下では、図２を参照して、ゲーム装置１の内部構成を説明する。
【００６４】
図２に示すように、ゲーム装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１、メインメモリ３２、メモリ制御回路３３、保存用データメモリ３４（本発明の第２記憶部の一例）、プリセットデータ用メモリ３５、メモリカードインターフェース（メモリカードＩ／Ｆ）３６及びカートリッジインタフェース（カートリッジＩ／Ｆ）４３、無線通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、電源回路３９、及びインタフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００６５】
ＣＰＵ３１は、所定のプログラムを実行するための情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１内のメモリ（保存用データメモリ３４）、メモリカード２８、又はカートリッジ２９に記憶されており、ＣＰＵ３１は、当該所定のプログラムを実行することによって、後述するメイン処理等を行う。
【００６６】
なお、後に説明するが、ＣＰＵ３１によって実行されるプログラムは、ゲーム装置１内のメモリに予め記憶されていてもよいし、メモリカード２８及び／またはカートリッジ２９から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。例えば、上記プログラムは、インターネットを経由して所定のサーバからダウンロードすることで取得しても良いし、据置型ゲーム装置と通信を行うことで、当該据置型ゲーム装置に記憶されている所定のプログラムをダウンロードすることで取得しても良い。
【００６７】
ＣＰＵ３１には、メインメモリ３２、メモリ制御回路３３、及びプリセットデータ用メモリ３５が接続される。また、メモリ制御回路３３には、保存用データメモリ３４が接続される。メインメモリ３２は、ＣＰＵ３１のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ３２は、上記したＣＰＵ３１の実行する処理に用いられる各種データを記憶したり、外部（メモリカード２８及び２９や他の機器等）から取得されるプログラムを記憶したりする。本実施形態では、メインメモリ３２として、例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ３４は、ＣＰＵ３１によって実行されるプログラムや内側カメラ２３及び外側カメラ２５によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ３４は、不揮発性の記憶媒体によって構成されており、例えば本実施例ではＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路３３は、ＣＰＵ３１の指示に従って、保存用データメモリ３４に対するデータの読み出し及び書き込みを制御する回路である。プリセットデータ用メモリ３５は、ゲーム装置１において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ３５としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ３１と接続されるフラッシュメモリを用いることができる。
【００６８】
メモリカードＩ／Ｆ３６はＣＰＵ３１に接続される。メモリカードＩ／Ｆ３６は、コネクタに装着されたメモリカード２８に対するデータの読み出し及び書き込みを、ＣＰＵ３１の指示に応じて行う。
【００６９】
カートリッジＩ／Ｆ４３はＣＰＵ３１に接続される。カートリッジＩ／Ｆ４３は、コネクタに装着されたカートリッジ２９に対するデータの読み出し及び書き込みをＣＰＵ３１の指示に従って行う。本実施形態では、アプリケーションプログラムがカートリッジ２９から読み出されてＣＰＵ３１によって実行されたり、当該アプリケーションプログラムに関するデータ（例えばゲームのセーブデータ等）がカートリッジ２９に書き込まれたりする。なお、以下では、アプリケーションプログラムを、アプリケーション、又はアプリという場合がある。
【００７０】
無線通信モジュール３７は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。無線通信モジュール３７はＣＰＵ３１に接続される。ＣＰＵ３１は、無線通信モジュール３７を用いてインターネットを介して、又は介さないで他の機器との間でデータを送受信することができる。
【００７１】
また、無線通信モジュール３７は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。ここで、この無線通信で使用される電波は例えば無線局の免許が不要な微弱電波であり、無線通信モジュール３７は、例えばデータ伝送距離が１０ｍの範囲内である近距離無線通信を行う。従って、ＣＰＵ３１は、他のゲーム装置１の通信可能範囲内（例えば、両装置間の距離が１０ｍ以内）に位置するときに、無線通信モジュール３７を用いて当該他のゲーム装置１とデータを送受信することができる。このデータの送受信は、ユーザの指示があったときに行われる（ローカル通信）のに加え、ユーザの指示を条件とせずに所定周期毎に自動的に繰り返し行われる。すなわち、ＣＰＵ３１は、通信可能範囲内にある他のゲーム装置１を探索して、探索の結果見つかったゲーム装置１との間で自動的に通信を行い自動的にデータを送受信する。そして、当該通信が完了した後で自動的に通信の切断を行う。この一連の処理が所定周期毎に繰り返し行われる。この通信を以下「すれ違い通信」と記載し、すれ違い通信を行うための処理を「すれ違い通信処理」と記載する。なお、「すれ違い通信処理」の詳細は、図１４を用いて後述する。
【００７２】
また、ＣＰＵ３１にはＲＴＣ３８及び電源回路３９が接続される。ＲＴＣ３８は時間をカウントしてＣＰＵ３１に出力する。例えば、ＣＰＵ３１は、ＲＴＣ３８によって計時された時間に基づいて、現在時刻（日時等）等を計算することもできる。電源回路３９は、ゲーム装置１が有する電源（典型的には電池であり、下側ハウジング１１に収納される）から供給される電力を制御し、ゲーム装置１の各部品に電力を供給する。
【００７３】
また、ゲーム装置１はマイク４１及びアンプ４２を備えている。マイク４１及びアンプ４２はそれぞれＩ／Ｆ回路４０に接続される。マイク４１は、ゲーム装置１に向かって発声されたユーザの音声を検知して、当該音声を示す音声信号をＩ／Ｆ回路４０に出力する。アンプ４２はＩ／Ｆ回路４０から音声信号を増幅してスピーカ（図示せず）から出力させる。Ｉ／Ｆ回路４０はＣＰＵ３１に接続される。
【００７４】
また、タッチパネル１３はＩ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０は、マイク４１及びアンプ４２（スピーカ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換及びＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ３１に出力する。例えば、タッチ位置データは、タッチパネル１３の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、及び、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ３１は、Ｉ／Ｆ回路４０を介して、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００７５】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｋから構成され、ＣＰＵ３１に接続される。操作ボタン１４からＣＰＵ３１へは、各操作ボタン１４Ａ〜１４Ｋに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【００７６】
内側カメラ２３及び外側カメラ２５は、それぞれＣＰＵ３１に接続される。内側カメラ２３及び外側カメラ２５は、ＣＰＵ３１の指示に応じて画像を撮影し、撮影した画像データをＣＰＵ３１に出力する。
【００７７】
また、下側ＬＣＤ１２及び上側ＬＣＤ２２は、それぞれＣＰＵ３１に接続される。下側ＬＣＤ１２及び上側ＬＣＤ２２は、それぞれＣＰＵ３１の指示に従って画像を表示する。
【００７８】
［本実施形態に係るシステム］
図３は、本実施形態に係るシステムの一例を示す図である。図３に示すように、本実施形態に係るシステムは、複数のゲーム装置１と、アクセスポイント２及びネットワーク３を介して複数のゲーム装置１と通信可能に接続されたサーバ４とを備える。複数のゲーム装置１は、サーバ４やネットワーク３を介して互いに通信を行い、また、これらを介さずに直接通信を行う（例えば、ローカル通信及びすれ違い通信を行う）ことで互いに通信を行う。
【００７９】
なお、図３ではゲーム装置１が２台しか存在しないが、本実施形態のシステムは３台以上のゲーム装置１で構成されてもよい。また、本実施形態のシステムはサーバ４を複数台備えてもよい。なお、ネットワーク３は、有線又は無線のネットワークであり、例えばインターネットやＷＡＮ、ＬＡＮ等である。
【００８０】
［サーバの内部構成］
図４は、本実施形態に係るシステムを構成するサーバ４の内部構成の一例を示すブロック図である。図４に示すように、サーバ４は、操作部６０、通信部６１、ＲＯＭ６２、ＨＤＤ６３、ＲＡＭ６４及びＣＰＵ６５を有し、これらはバス６６で互いに通信可能に接続されている。
【００８１】
操作部６０は、サーバ４の管理者からの操作を受け付ける機能を有する。通信部６１は、ネットワーク３を介して他の装置と通信する機能を有する。ＲＯＭ６２は、サーバ４本体を起動するとともに基本的な機能を実現するためのシステムプログラムを記憶している。ＨＤＤ６３は、サーバ４にゲーム装置１との間の通信を行わせる通信プログラムを含むプログラム、及びこのプログラムの実行に必要なデータを記憶している。このデータには、ゲーム装置１にダウンロード（配信）するための詳細情報等が含まれる。ＲＡＭ６４は、ＣＰＵ６５の作業領域として機能し、ＨＤＤ６３から読み出されたテーブルＴを記憶する。このテーブルＴには、アプリケーションＩＤ、アプリケーションＩＤが示すアプリケーションに対応するメタデータ、アプリケーションＩＤが示すアプリケーションの詳細情報及びオンライン販売情報とが対応付けて登録されている。ここで、メタデータとは、図７（１）を用いて後に説明するが、そのアプリケーションに関連する情報であり、例えば、そのアプリケーションを表すアイコンやそのアプリケーションのタイトルである。また、詳細情報は、対応するプリケーションＩＤによって示されるアプリケーションの詳細情報であり、例えば、アプリケーションの内容や価格を示す情報である。また、オンライン販売情報は、サーバ４によるアプリケーションのオンライン販売（配信）の有無を示す情報である。
【００８２】
ＣＰＵ６５は、ゲーム装置１からの詳細情報の配信要求に応じて、この要求に含まれるメタデータでテーブルＴを検索してメタデータに対応する詳細情報を読み出し、この詳細情報をゲーム装置１に送信等する。
【００８３】
［ゲーム装置が実行する処理の概要］
以下では、ゲーム装置１が実行する処理の概要について説明する。ゲーム装置１が実行するアプリケーションは、内蔵アプリケーション（以下、内蔵アプリという）と、カードアプリケーション（以下、カードアプリという）と、ダウンロードアプリケーション（以下、ＤＬアプリという）に分類される。
【００８４】
内蔵アプリは、ゲーム装置１のメーカ出荷時（新品のゲーム装置１の販売時と言ってもよい）に予めゲーム装置１の格納されているアプリケーションである。ＤＬアプリは、ゲーム装置１の外部（典型的にはサーバ４）から有線又は無線でダウンロードされるアプリケーションである。ゲーム装置１は、内蔵アプリ又はＤＬアプリを初めて実行する時点で、当該内蔵アプリ又は当該ＤＬアプリのメタデータを登録（格納）する。
【００８５】
カードアプリは、カートリッジ２９又はメモリカード２８（図１参照）に格納されているアプリケーションである。ゲーム装置１は、カートリッジ２９がゲーム装置１の挿入口（図１では、一点鎖線で示している）に初めて収納された時点、又はメモリカード２８がゲーム装置１の挿入口（図１では、二点鎖線で示している）に初めて収納された時点で、当該カートリッジ２９又は当該メモリカード２８に格納されているカードアプリを記憶し、そのメタデータを登録する。なお、以下の説明では、説明の簡単のために、カートリッジ２９に格納されたアプリケーションのみをカードアプリとして説明して、メモリカード２８に格納されたアプリケーションについての説明は省略するが、メモリカード２８に格納されたアプリケーションについても同様に考えることができる。
【００８６】
そして、ゲーム装置１は、内蔵アプリ、カードアプリ、又はＤＬアプリを実行した場合、実行したアプリの履歴（以下、プレイ履歴という）を記録する。
【００８７】
つまり、ゲーム装置１は、アプリケーションの実行時点又は実行可能な状態となった時点で、当該アプリケーションのメタデータを登録し、当該アプリケーションを実行する場合にそのプレイ履歴を記録する。この処理の詳細については、図１０を用いて後述する。
【００８８】
また、ゲーム装置１は、後に図１５を用いて説明するメッセージアプリ処理によって、他のゲーム装置１との間で、ユーザが作成したメッセージの送受信を行う。その際、ゲーム装置１は、プレイ履歴が記録されているアプリケーションのメタデータ（典型的にはアプリのアイコン又はタイトル）をユーザの指示に応じてメッセージ内に貼り付けて送信し、相手のゲーム装置１のユーザから同様にしてメタデータが貼り付けられたメッセージを受信することができる。このメッセージの送信及び受信は、サーバ４を介した通信、ローカル通信、又はすれ違い通信によって行われる。そして、ゲーム装置１は、相手のゲーム装置１からメタデータの貼り付けられたメッセージを受信した場合には、ユーザの指示に応じて、サーバ４に接続してこのメタデータに対応するアプリケーションの詳細情報を取得して表示する。その後、ゲーム装置１は、この詳細情報を見たユーザがこのアプリケーションを購入（取得）する操作を行った場合には、サーバ４からこのアプリケーションをダウンロードする。
【００８９】
以上に説明したように、ゲーム装置１のユーザは、購入等して自己の装置の記憶領域（自装置に収納されたカートリッジ２９又はメモリカード２８の記憶領域を含む）に記憶されてプレイしたアプリケーションを、他のゲーム装置１のユーザに、プレイした感想等のメッセージと共に紹介することができる。言い換えると、アプリケーションを紹介される側のゲーム装置１のユーザは、実際にアプリケーションをプレイしたユーザの感想等と共にそのアプリケーションを紹介されることとなる。この結果として、本実施形態によれば、ユーザ間で行われるコンテンツ（商品）の紹介の信頼性を高く保つことができる。
【００９０】
［保存用データメモリのメモリマップ］
次に、ゲーム装置１によって実行される処理の詳細を説明する。まず、図５〜図９を用いて、保存用データメモリ３４に記憶されるデータについて説明する。図５は、ゲーム装置１の保存用データメモリ３４のメモリマップの一例を示す図である。図５に示すように、保存用データメモリ３４には、メイン処理プログラム８０とすれ違い通信プログラム９０等の各種プログラムが記憶される。また、保存用データメモリ３４は、アプリ記憶領域１００含み、アプリ記憶領域１００には、アプリケーション毎に、アプリ本体データ１０１とメタデータ１０２とアプリ用データ１０３がセットで記憶される。また、保存用データメモリ３４には、メタデータデータベース２００とすれ違いボックスデータ３００とフレンドリストデータ４００等の各種データが記憶される。
【００９１】
なお、内蔵アプリのアプリ本体データ１０１及びメタデータ１０２は、メーカ出荷時から既に保存用データメモリ３４に記憶されている。また、ＤＬアプリのアプリ本体データ１０１及びメタデータ１０２は、これらのデータがダウンロードされた時点で保存用データメモリ３４に記憶される。また、カードアプリのアプリ本体データ１０１及びメタデータ１０２は、カートリッジ２９（又は、メモリカード２８）がゲーム装置１に挿入（装着）された時点で保存用データメモリ３４に記憶される。
【００９２】
保存用データメモリ３４の上記データ（アプリ及びプログラムを含む）は、各アプリケーションの実行時に、ＣＰＵ３１によって、必要に応じてメインメモリ３２に読み出されて使用され、必要に応じて記憶又は上書きされる。このことによって、ＣＰＵ３１は、メインメモリ３２に読み出した各データを用いて、各アプリケーションの処理を実行する。なお、カードアプリのアプリ本体データ１０１及びメタデータ１０２は、保存用データメモリ３４に記憶されない構成にして、ＣＰＵ３１は、これらのデータをカートリッジ２９（又はメモリカード２８）から直接メインメモリ３２に読み出して処理を実行してもよい。
【００９３】
メイン処理プログラム８０は、図１０を用いて後述するメイン処理を実現するためのプログラムである。
【００９４】
すれ違い通信プログラム９０は、図１４を用いて後述するすれ違い通信処理を実現するためのプログラムである。
【００９５】
アプリ本体データ１０１は、アプリケーションの本体データである。アプリ本体データ１０１は、例えば、図１５を用いて後述するメッセージアプリや、種々のゲームアプリ等の本体データである。
【００９６】
メタデータ１０２は、対応するアプリ本体データ１０１にかかるアプリケーションに関する情報を示すメタデータである。以下に、図６を用いて、メタデータ１０２について具体的に説明する。メタデータ１０２は、アイコンの画像（大）データ１０２ａとアイコンの画像（小）データ１０２ｂとアプリＩＤデータ１０２ｃとバージョンデータ１０２ｄとタイトル（短）データ１０２ｅとタイトル（長）データ１０２ｆとベンダー名称データ１０２ｇと仕向地（リージョン）データｈとレーティングデータ１０２ｉとアクセス日時データ１０２ｊ等のメタデータを含む。
【００９７】
アイコンの画像（大）データ１０２ａは、アプリケーションを視覚的に表す比較的大きいサイズの画像データである。アイコンの画像（小）データ１０２ｂは、アプリケーションを視覚的に表す比較的小さいサイズの画像データである。アプリＩＤデータ１０２ｃは、アプリケーション固有の識別子を示すデータである。バージョンデータ１０２ｄは、アプリケーションのバージョンを示すデータである。タイトル（短）データ１０２ｅは、アプリケーションの比較的短いタイトル（例えば短縮されたタイトル）を示すデータである。タイトル（長）データ１０２ｆは、アプリケーションの比較的長いタイトル（例えば正式なタイトル）を示すデータである。ベンダー名称データ１０２ｇは、アプリケーションの販売者の名称を示すデータである。仕向地（リージョン）データｈは、アプリケーションの仕向地を示すデータである。レーティングデータ１０２ｉは、アプリケーションの格付け（レーティング）を示すデータであり、例えば、未成年者は使用できないことを示すデータである。アクセス日時データ１０２ｊは、アプリケーションにアクセスした日時を示すデータである。
【００９８】
アプリ用データ１０３は、対応するアプリケーションで使用される種々のデータである。以下に、図７を用いて、アプリ用データ１０３について具体的に説明する。
【００９９】
図７（１）は、メッセージアプリのアプリ用データ１０３を示す図である。なお、メッセージアプリは、図１５等を用いて後述するが、ゲーム装置１が他のゲーム装置１との間でメッセージの送受信等を行うアプリケーションである。
【０１００】
メッセージアプリのアプリ用データ１０３は、作成／受信メッセージデータ１０３ａと送信トレイデータ１０３ｇとを含む。
【０１０１】
作成／受信メッセージデータ１０３ａは、ユーザによって作成されたメッセージのデータ及び他のゲーム装置１から受信したメッセージのデータ等から成り、保存されているデータである。図７（１）では、説明の便宜のために、これらのメッセージのデータのうちの１つのみを、保存メッセージデータ１０３ｂとして図示している。
【０１０２】
保存メッセージデータ１０３ｂは、手書きメッセージデータ１０３ｃと貼付け画像データ１０３ｄと貼付けメタデータ１０３ｅとメタデータ貼付け位置データ１０３ｆとを含む。手書きメッセージデータ１０３ｃは、ユーザがタッチペン２７等を用いてタッチパネル１３に書いた手書きメッセージのデータである。貼付け画像データ１０３ｄは、上記手書きメッセージ内に貼付けられる画像データであり、例えば、内側カメラ２３又は外側カメラ２５で撮影された画像のデータである。なお、貼付け画像データ１０３ｄは、上記画像データが貼付けられる手書きメッセージ内の位置を示すデータを含んでいてもよい。貼付けメタデータ１０３ｅは、上記手書きメッセージ内に貼付けられるメタデータであり、典型的には、アプリのアイコン画像データ又はアプリのタイトルデータである。メタデータ貼付け位置データ１０３ｆは、上記メタデータが貼付けられる手書きメッセージ内の位置を示すデータである。
【０１０３】
送信トレイデータ１０３ｇは、保存されている保存メッセージデータ１０３ｂのうちから他のゲーム装置１に送信（又は転送）されるために複製され、送信されるまでの間一時的に保存されているデータである。図７（１）では、説明の便宜のために、このデータのうちの１つのみを、送信予定メッセージデータ１０３ｈとして図示している。
【０１０４】
送信予定メッセージデータ１０３ｈは、他のゲーム装置１に送信されるために保存メッセージデータ１０３ｂから複製されたデータであり、手書きメッセージデータ１０３ｉと貼付け画像データ１０３ｊと貼付けメタデータ１０３ｋとメタデータ貼付け位置データ１０３ｌとを含む。手書きメッセージデータ１０３ｉは、手書きメッセージデータ１０３ｃから複製されたデータである。貼付け画像データ１０３ｊは、貼付け画像データ１０３ｄから複製されたデータである。貼付けメタデータ１０３ｋは、貼付けメタデータ１０３ｅから複製されたデータである。メタデータ貼付け位置データ１０３ｌは、メタデータ貼付け位置データ１０３ｆから複製されたデータである。
【０１０５】
図７（２）は、所定のゲームアプリのアプリ用データ１０３を示す図である。なお、この所定のゲームアプリは、図１７を用いて後述するが、レースゲームアプリ、戦闘ゲームアプリ、パズルゲームアプリ、スポーツゲームアプリ等の様々なゲームアプリである。
【０１０６】
所定のゲームアプリのアプリ用データ１０３は、ユーザがこのゲームアプリのゲームをクリアした場合にこのユーザに提供されるゲームクリア時提供データ１０３ｍを含む。ゲームクリア時提供データ１０３ｍは、メッセージデータ１０３ｎと貼付け画像データ１０３ｏと貼付けメタデータ１０３ｐとメタデータ貼付け位置データ１０３ｑとを含む。メッセージデータ１０３ｎは、ユーザがこのゲームアプリのゲームをクリアした場合にこのユーザに提供されるメッセージのデータであり、典型的には、このゲームをクリアしたことを賞賛し証明するメッセージのデータである。貼付け画像データ１０３ｏは、上記メッセージ内に貼り付けられる画像のデータであり、予め保存されているデータ、又は、例えば、内側カメラ２３でゲームクリア時のユーザを撮影した画像のデータである。なお、貼付け画像データ１０３ｏは、上記画像データが貼付けられるメッセージ内の位置を示すデータを含んでいてもよい。貼付けメタデータ１０３ｐは、上記メッセージ内に貼付けられるユーザがクリアしたゲームの上記ゲームアプリのメタデータであり、例えば、このアプリのアイコン画像データ又はこのアプリのタイトルデータである。メタデータ貼付け位置データ１０３ｑは、上記メタデータが貼付けられるメッセージ内の位置を示すデータである。なお、図７（２）では、ゲームクリア時提供データ１０３ｍは１つ（１つのタイプ）であるが、ゲームクリア時提供データ１０３ｍは複数のタイプが用意されてもよい。
【０１０７】
メタデータデータベース２００は、メタデータ１０２のデータベースである。メタデータデータベース２００には、図８（１）に示すように、ゲーム装置１が自ら実行又は実行の準備（具体的にはカートリッジ２９等をゲーム装置１に挿入）をしたアプリケーションのメタデータ１０２及びそのアプリケーションのプレイ履歴を記録したプレイ履歴データ１０４が、アプリケーション毎に記憶されている。プレイ履歴データ１０４には、図８（２）に示すように、プレイ毎のプレイデータ１０４１が記憶されている。各プレイデータ１０４１は、プレイ開始の日時を示すプレイ開始時刻データ１０４１ａと、プレイ終了の日時を示すプレイ終了時刻データ１０４１ｂとから成る。
【０１０８】
すれ違いボックスデータ３００は、図９（１）に示すように、ゲーム装置１で実行可能な状態の全てのアプリケーション（本実施形態では、アプリ記憶領域１００に記憶されているアプリケーション）毎のアプリＩＤデータ１０２ｃと送信ボックスデータ３００ａと受信ボックスデータ３００ｂとのセットから成る。送信ボックスデータ３００ａは、図１４のすれ違い通信処理によって他のゲーム装置１に送信する送信情報である。受信ボックスデータ３００ｂは、図１４のすれ違い通信処理によって他のゲーム装置１から受信する受信情報である。なお、この送信情報及び受信情報は、アプリケーション毎に設定された情報である。
【０１０９】
以下に、図１５を用いて後述するメッセージアプリのすれ違いボックスデータについて、説明する。図９（２）に示すように、メッセージアプリのすれ違いボックスデータは、メッセージアプリのＩＤデータ１０２ｃと、送信ボックスデータ３００ａである他のゲーム装置１に送信するメッセージデータ３０１及び貼付けメタデータ３０２及びメタデータ貼付け位置データ３０３と、送信ボックスデータ３００ｂである他のゲーム装置１から受信したメッセージデータ３０４及び貼付けメタデータ３０５及びメタデータ貼付け位置データ３０６とから成る。
【０１１０】
フレンドリストデータ４００は、ユーザの操作に応じて所定の処理で登録されたフレンドの他のゲーム装置１それぞれを示すフレンドコードのリストデータである。
【０１１１】
［メイン処理］
次に、図１０を参照して、メイン処理プログラム８０に基づいて実行されるＣＰＵ３１の処理を説明する。図１０は、メイン処理の一例を示すフローチャートである。なお、ステップＳ１１でアプリケーションを実行している場合を除いて図１０のフローチャートの処理が所定時間毎に繰り返されることによって、メイン処理は進行する。また、以降の全ての図面では、ＣＰＵ３１が実行する各ステップを「Ｓ」と略称する。また、以降の説明で、ステップＳを単に「Ｓ」と略称する場合がある。
【０１１２】
まず、ゲーム装置１の電源がオンされてメイン処理プログラム８０の実行が開始されると、図１０のステップＳ１において、ＣＰＵ３１は、下側ＬＣＤ１２にメニュー画面を表示させる。図１１は、ゲーム装置１が表示させるメニュー画面の一例を示す図である。図１１に示すように、メニュー画面には、ゲーム装置１で実行可能なアプリケーションのアイコンＧ１が表示される。ここで、この実行可能なアプリケーションとは、保存用データメモリ３４に記憶されている内蔵アプリ、ＤＬアプリ及びカードアプリである。なお、カードアプリが保存用データメモリ３４に記憶されない構成とする場合には、ゲーム装置１に挿入（収納）された状態ではないカートリッジ２９（又はメモリカード２８）に記憶されているアプリケーションは、この実行可能なアプリケーションからは除かれる。ユーザは、タッチペン２７等を使用して、メニュー画面に表示された何れかのアイコンＧ１を連続的に２回タッチすることで、ゲーム装置１に実行させるアプリケーションを選択できる。なお、図１１では、下側ＬＣＤ１２には４つのアイコンＧ１しか表示されていないが、ユーザは、左方向又は右方向へのスクロール操作を行うことで、下側ＬＣＤ１２に他のアイコンＧ１を表示させることができる。その後、処理はステップＳ２に移る。
【０１１３】
ステップＳ２において、ＣＰＵ３１は、カートリッジ２９がゲーム装置１に挿入されたか否かを判定する。具体的には、ＣＰＵ３１は、カートリッジ２９がカートリッジＩ／Ｆ４３に接続されたか否かを判定する。ステップＳ２の判定がＹＥＳの場合処理はステップＳ３に移り、この判定がＮＯの場合処理はステップＳ６に移る。
【０１１４】
ステップＳ３において、ＣＰＵ３１は、カートリッジ２９に記憶されているアプリケーションのデータ（本体データ（１０１）、そのメタデータ（１０２）、及びアプリ用データ（１０３））を、保存用データメモリ３４のアプリ記憶領域１００に記憶する。なお、記憶すべきデータが既に記憶されている場合には、上書きするか、又は記憶を行わない。その後、処理はステップＳ４に移る。
【０１１５】
ステップＳ４において、ＣＰＵ３１は、メタデータデータベース２００（図８（１）参照）に、ステップＳ３で保存用データメモリ３４に記憶したカードアプリのメタデータを登録する。なお、登録すべきメタデータが既に登録されている場合には、上書きするか、又は登録を行わない。その後、処理はステップＳ５に移る。
【０１１６】
ステップＳ５において、ＣＰＵ３１は、ステップＳ３で保存用データメモリ３４に記憶したカードアプリに固有のアイコンを、ステップＳ１で表示させたメニュー画面（図１１参照）に追加して表示させる。その後、処理はステップＳ６に移る。
【０１１７】
ステップＳ６において、ＣＰＵ３１は、ユーザの操作によって、メニュー画面に表示されているアプリのアイコンうちの何れかが選択されたか否かを判定する。ステップＳ６での判定がＹＥＳの場合処理はステップＳ７に移り、この判定がＮＯの場合処理はステップＳ１に戻る。
【０１１８】
ステップＳ７において、ＣＰＵ３１は、ステップＳ６で選択されたと判定されたアイコンが、カードアプリのアイコンであるか否かを判定する。ステップＳ７での判定がＹＥＳの場合処理はステップＳ９に移り、この判定がＮＯの場合処理はステップＳ８に移る。
【０１１９】
ステップＳ８において、ＣＰＵ３１は、メタデータデータベース２００に、ステップＳ６で選択されたと判定されたアイコンに対応するアプリ（つまり、内蔵アプリ又はＤＬアプリ）のメタデータを登録する。なお、登録すべきメタデータが既に登録されている場合には、上書きするか、又は登録を行わない。その後、処理はステップＳ９に移る。ここで、ステップＳ７及びＳ８の処理によって、ステップＳ４で登録されたカードアプリのメタデータを重複して登録することを回避している。
【０１２０】
ステップＳ９において、ＣＰＵ３１は、ステップＳ６で選択されたと判定されたアプリに対応するプレイ履歴データ１０４のプレイ開始時刻データ１０４１ａ（図８（２）参照）に、現時点の日時を記憶する。その後、処理はステップＳ１０に移る。
【０１２１】
ステップＳ１０において、ＣＰＵ３１は、ステップＳ６で選択されたと判定されたアプリを起動する。その後、処理はステップＳ１１に移る。
【０１２２】
ステップＳ１１において、ＣＰＵ３１は、ステップＳ１０で起動したアプリの処理を実行する。なお、ステップＳ１１で実行されるアプリケーションは、対戦ゲーム、レースゲーム、スポーツゲーム、及び後述するメッセージアプリ（図１７参照）等の様々なアプリケーションである。その後、処理はステップＳ１２に移る。
【０１２３】
ステップＳ１２において、ＣＰＵ３１は、ステップＳ１１で実行したアプリに対応するプレイ履歴データ１０４のプレイ終了時刻データ１０４１ｂ（図８（２）参照）に、現時点の日時を記憶する。その後、処理はステップＳ１に戻る。
【０１２４】
以上に説明したように、メイン処理によって、カートリッジ２９がゲーム装置１に初めて収納された時点で、そのカートリッジ２９に記憶されているアプリケーションのメタデータがメタデータデータベース２００に登録される（Ｓ４）。また、メイン処理によって、内蔵アプリ又はＤＬアプリが初めて実行された時点で、そのアプリのメタデータがメタデータデータベース２００に登録される（Ｓ８）。そして、カードアプリ、内蔵アプリ、又はＤＬアプリがプレイ（実行）される際に、そのアプリのプレイ履歴が記録される（Ｓ９、Ｓ１２）。
【０１２５】
［すれ違い通信処理］
次に、保存用データメモリ３４に記憶されたすれ違い通信プログラム９０がＣＰＵ３１及び無線通信モジュール３７によって実行されることによって実現されるすれ違い通信処理について説明する。ゲーム装置１と他のゲーム装置１がそれぞれすれ違い通信処理を実行することで、両方が同じアプリを実行可能な場合に、これらのゲーム装置１の間でそのアプリに定められた所定情報の送受信が行われる。
【０１２６】
図１２は、すれ違い通信処理の一例を示す通信シーケンス図である。図１２では、自ゲーム装置１が他のゲーム装置１に対して接続要求フレームを送信する場合を示している。自ゲーム装置１は、通信可能圏内に存在する他のゲーム装置１に対して、接続要求フレームＤ６（ビーコンフレーム）をブロードキャスト送信する。他のゲーム装置１は、接続要求フレームＤ６を受信すると、この接続要求フレームＤ６の送信元のゲーム装置１に対して、接続応答フレームＤ７を送信する。
【０１２７】
自ゲーム装置１は、この接続応答フレームＤ７を受信すると、他のゲーム装置１に対して、自機の送信ボックスデータ３００ａ（図９参照）を含んだデータフレームＤ８を送信する。ここで、送信ボックスデータ３００ａには、対応するアプリＩＤデータ１０２ｃ（図９（１）参照）が付加される。例えば、後述するメッセージアプリでは、メッセージアプリのＩＤデータ１０２ｃと、メッセージデータ３０１と、貼付けメタデータ３０２と、メタデータ貼付け位置データ３０３とがデータフレームＤ８に含められる（図９（２）参照）。他のゲーム装置１は、このデータフレームＤ８を受信すると、自ゲーム装置１に対して、自ら生成したデータフレームＤ８を返信する。本実施形態では、この様な一連の通信が所定周期で繰り返し行われる。なお、自ゲーム装置１が接続要求フレームＤ６を受信する場合には、図１２において、自ゲーム装置１の記載と他のゲーム装置１の記載とを入れ替えて考えればよい。
【０１２８】
以下に、図１３を用いて、すれ違い通信処理によって送受信されるフレームＤ６〜Ｄ８について説明する。図１３（１）は、接続要求フレームＤ６の一例を示す図である。接続要求フレームＤ６は、フレームタイプＦ＿ＴＹＰ、送信元ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、及びアプリＩＤリストを含む。フレームタイプＦ＿ＴＹＰは、当該フレームの種別を示しており、この場合には接続要求フレームＤ６であることを示す情報が記述される。アプリＩＤリストは、この接続要求フレームＤ６を送信するゲーム装置１のすれ違いボックスデータ３００内の全てのアプリＩＤデータ１０２ｃ（図９（１）参照）のリストである。言い換えれば、アプリＩＤリストは、保存用データメモリ３４のアプリ記憶領域１００に記憶されている全てのアプリケーションのアプリＩＤのリストである。また、言い換えれば、アプリＩＤリストは、自ゲーム装置１で実行可能な状態の全てのアプリケーションのアプリＩＤのリストである。
【０１２９】
図１３（２）は、接続応答フレームＤ７の一例を示す図である。接続応答フレームＤ７は、フレームタイプＦ＿ＴＹＰ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス及びアプリＩＤリストを含む。フレームタイプＦ＿ＴＹＰには、接続応答フレームＤ７であることを示す情報が記述される。アプリＩＤリストは、この接続応答フレームＤ７を送信するゲーム装置１のすれ違いボックスデータ３００内の全てのアプリＩＤデータ１０２ｃ（図９（１）参照）のリストである。
【０１３０】
図１３（３）は、データフレームＤ８の一例を示す図である。データフレームＤ８は、フレームタイプＦ＿ＴＹＰ、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、アプリＩＤデータ及び送信ボックスデータを含む。フレームタイプＦ＿ＴＹＰには、データフレームＤ８であることを示す情報が記述される。
【０１３１】
以下では、図１４を用いて、ゲーム装置１が実行するすれ違い通信処理について説明する。図１４は、ゲーム装置１が実行するすれ違い通信処理の一例を示すフローチャートである。すれ違い通信処理は、所定周期毎に（例えば数秒に１回の短い時間間隔で）繰り返し実行される。
【０１３２】
まず、ステップＳ２１において、無線通信モジュール３７は、応答時刻から所定時間経過したＭＡＣアドレスを自メモリ（無線通信モジュール３７の内部メモリ）に記憶しているか否かを判定する。ここで、応答時刻とは、後述するステップＳ３５において接続応答フレームＤ７を送信した時点の時刻、又は、後述するステップＳ２６において通信相手装置に送信ボックスデータを送信した時点の時刻である。ステップＳ２１での判定がＹＥＳの場合処理はステップＳ２２に移り、この判定がＮＯの場合処理はステップＳ２３に移る。
【０１３３】
ステップＳ２２において、無線通信モジュール３７は、このＭＡＣアドレスを自メモリから削除する。その後、処理はステップＳ２３に移る。
【０１３４】
ステップＳ２３において、無線通信モジュール３７は、自機のアプリＩＤリストを含む接続要求フレームＤ６（図１３（１）参照）を生成してブロードキャスト送信する。その後、処理はステップＳ２４に移る。
【０１３５】
ステップＳ２４において、無線通信モジュール３７は、他機のアプリＩＤリストを含む接続応答フレームＤ７（図１３（２）参照）を受信したか否かを判断する。ステップＳ２４での判定がＹＥＳの場合処理はステップＳ２５に移り、この判定がＮＯの場合処理はステップＳ３２に移る。
【０１３６】
ステップＳ２５において、無線通信モジュール３７は、受信した接続応答フレームＤ７に含まれる他機のアプリＩＤリストを構成するアプリＩＤのうちの少なくとも１つが自機のアプリＩＤリストを構成するアプリＩＤと一致するか否かを判定する。ステップＳ２５での判定がＹＥＳの場合処理はステップＳ２６に移り、この判定がＮＯの場合今回のすれ違い通信処理は終了する。なお、無線通信モジュール３７は、電源がオンされたときに自メモリに自機のアプリＩＤリストを記憶しておき、このアプリＩＤリストを用いてステップＳ２５の判定を行う。
【０１３７】
ステップＳ２６において、無線通信モジュール３７は、ステップＳ２５で一致したアプリＩＤのアプリケーションに対応する送信ボックスデータを、ＣＰＵ３１によってすれ違いボックスデータ３００（図９（１）参照）から読み出させ、データフレームＤ８に含めて通信相手装置（接続応答フレームＤ７の送信元）に送信する。その後、処理はステップＳ２７に移る。
【０１３８】
ステップＳ２７において、無線通信モジュール３７は、通信相手装置（接続応答フレームＤ７の送信元）のＭＡＣアドレスと、ステップＳ２６で送信ボックスデータを送信した時刻（応答時刻）とを自メモリに記憶する。その後、処理はステップＳ２８に移る。ここで、通信相手装置のＭＡＣアドレス及び応答時刻は、当該応答時刻から所定時間内には同じ通信相手との通信を禁止するために用いられる。このことによって、短期間のうちに同じ相手と重複した通信を行うことを回避できる。なお、応答時刻から所定時間経過した時には、上記ステップＳ２１及びＳ２２の処理によって通信相手装置のＭＡＣアドレスは削除されて、通信の禁止は解除される。
【０１３９】
ステップＳ２８において、無線通信モジュール３７は、通信相手装置の送信ボックスデータ（データフレームＤ８）の受信処理を既に行っているか否かを判定する。ステップＳ２８での判定がＹＥＳの場合すれ違い通処理は終了し、この判定がＮＯの場合処理はステップＳ２９に移る。
【０１４０】
ステップＳ２９において、無線通信モジュール３７は、通信相手装置から送信ボックスデータ３００ａ（データフレームＤ８）を受信するための処理を実行する。すれ違い通信処理を行う２つのゲーム装置１は、データフレームＤ８を相互に送受信し合うため、自ゲーム装置１が未だデータフレームＤ８を受信していない場合、ステップＳ２９に処理が進められるのである。そして、ステップＳ２９において、通信相手装置から送信ボックスデータ３００ａを受信した場合処理はステップＳ３０に移り、受信しなかった場合すれ違い通信処理は終了する。
【０１４１】
ステップＳ３０において、無線通信モジュール３７は、ＣＰＵ３１に指示して、ステップＳ２９で受信した通信相手装置の送信ボックスデータを、自機の受信ボックスデータ３００ｂ（図９参照）として記憶させる。その際、ＣＰＵ３１は、送信ボックスデータに付加されているアプリＩＤデータが示すアプリケーションの受信ボックスデータとして、当該送信ボックスデータを記憶する。つまり、アプリＩＤデータを用いて、同じアプリケーションの受信ボックスに、受信した送信ボックスデータを記憶させる。その後、処理はステップＳ３１に移る。
【０１４２】
ステップＳ３１において、無線通信モジュール３７は、自機の送信ボックスデータ（データフレームＤ８）の送信処理を既に行っているか否かを判定する。ステップＳ３１での判定がＹＥＳの場合すれ違い通処理は終了し、この判定がＮＯの場合処理はステップＳ２６に移る。
【０１４３】
一方、ステップＳ３２において、無線通信モジュール３７は、他機のアプリＩＤリストを含む接続要求フレームＤ６（図１３（１）参照）を受信したか否かを判断する。ステップＳ３２での判定がＹＥＳの場合処理はステップＳ３３に移り、この判定がＮＯの場合すれ違い通信処理は終了する。
【０１４４】
ステップＳ３３において、無線通信モジュール３７は、自メモリに、送信元のＭＡＣアドレスが記憶されているか否かを判定する。ステップＳ３３での判定がＹＥＳの場合今回のすれ違い通処理は終了し、この判定がＮＯの場合処理はステップＳ３４に移る。この処理によって、短期間に同じ相手と重複した通信を行うことを回避できる。
【０１４５】
ステップＳ３４において、無線通信モジュール３７は、受信した接続要求フレームＤ６に含まれる他機のアプリＩＤリストを構成するアプリＩＤのうちの少なくとも１つが自機のアプリＩＤリストを構成するアプリＩＤと一致するか否かを判定する。ステップＳ３４での判定がＹＥＳの場合処理はステップＳ３５に移り、この判定がＮＯの場合今回のすれ違い通信処理は終了する。なお、無線通信モジュール３７は、電源がオンされたときに自メモリに自機のアプリＩＤリストを記憶しておき、このアプリＩＤリストを用いてステップＳ３４の判定を行う。
【０１４６】
ステップＳ３５において、無線通信モジュール３７は、自機のアプリＩＤリストを含む接続応答フレームＤ７（図１３（２）参照）を生成して、通信相手装置（接続要求フレームの送信元）に送信する。その後、処理はステップＳ３６に移る。
【０１４７】
ステップＳ３６において、無線通信モジュール３７は、通信相手装置（接続要求フレームＤ６の送信元）のＭＡＣアドレスと、ステップＳ３５で接続応答フレームＤ７を送信した時刻（応答時刻）とを自メモリに記憶する。その後、処理はステップＳ２９に移る。ここで、通信相手装置のＭＡＣアドレス及び応答時刻は、当該応答時刻から所定時間内には同じ通信相手との通信を禁止するために用いられる。このことによって、短期間に同じ相手と重複した通信を行うことを回避できる。なお、応答時刻から所定時間経過した時には、上記ステップＳ２１及びＳ２２の処理によって通信相手装置のＭＡＣアドレスは削除されて、通信の禁止は解除される。
【０１４８】
［メッセージアプリ処理］
次に、保存用データメモリ３４のアプリ記憶領域１００に記憶されるアプリケーションの一つであるメッセージアプリが、ＣＰＵ３１によって実行されることによって実現されるメッセージアプリ処理について説明する。図１５は、メッセージアプリ処理の一例を示すフローチャートである。なお、メッセージアプリ処理は、図１０のメイン処理におけるステップＳ１１で実行されるアプリケーション処理の１つである。
【０１４９】
まず、ステップＳ４１において、ＣＰＵ３１は、すれ違い通信のメッセージアプリの受信ボックス３００ｂ（図９（２）参照）に新着の受信データが有るか否を判定する。より具体的には、ＣＰＵ３１は、図９（２）に示したメッセージアプリのすれ違いボックスデータの受信ボックスデータとして、すれ違い通信によって新たなデータが受信されているか否かを判定する。ステップＳ４１での判定がＹＥＳの場合処理はステップＳ４２に移り、この判定がＮＯの場合処理はステップＳ４４に移る。
【０１５０】
ステップＳ４２において、ＣＰＵ３１は、ステップＳ４１で新着ありと判定した新着データ（図９（２）のメッセージアプリの受信ボックスデータ３００ｂ）を、図７（１）に示した保存メッセージデータ１０３ｂとして読み込む。その後、処理はステップＳ４３に移る。
【０１５１】
ステップＳ４３において、ＣＰＵ３１は、メッセージアプリの受信ボックスデータ３００ｂを削除する。その後、処理はステップＳ４４に移る。ステップＳ４１〜Ｓ４３の処理が実行されることで、すれ違い通信を用いたメッセージアプリによるデータ（メッセージ）の受信が定期的に行われる。
【０１５２】
ステップＳ４４において、ＣＰＵ３１は、下側ＬＣＤ１２にメッセージアプリのメニュー画面を表示させる。このメニュー画面には、「メッセージ作成」の操作子、「サーバからメッセージ受信」の操作子、「ローカル通信でメッセージ送受信」の操作子、及び図７（１）に示した作成／受信メッセージデータとして保存されている保存メッセージのリスト（例えば、直近１０個の保存メッセージのリスト）が表示されている。その後、処理はステップＳ４５に移る。
【０１５３】
ステップＳ４５において、ＣＰＵ３１は、ユーザの操作によって、「メッセージ作成」の操作子が選択されたか否かを判定する。具体的には、ＣＰＵ３１は、ユーザが行う「メッセージ作成」の操作子を選択する操作を、タッチパネル１３を用いて検出することによって、「メッセージ作成」の操作子が選択されたか否かを判定する。ステップＳ４５での判定がＹＥＳの場合処理はステップＳ４６に移り、この判定がＮＯの場合処理はステップＳ６９に移る。
【０１５４】
ステップＳ４６において、ＣＰＵ３１は、下側ＬＣＤ１２に、メッセージ作成画面を表示させる。ユーザは、タッチペン２７等を用いてこのメッセージ作成画面内の手書き領域上で文字等を書く動作を行うことで、このメッセージ作成画面に手書きのメッセージを書くことができる。その後、処理はステップＳ４７に移る。なお、本実施形態では、下側ＬＣＤ１２における所定領域が手描き領域に設定される。
【０１５５】
ステップＳ４７において、ＣＰＵ３１は、軌跡描画（軌跡による描画操作）を検出したか否かを判定する。具体的には、ＣＰＵ３１は、タッチパネル１３からのタッチ操作の検出信号に基づいて、ユーザがタッチペン２７等を用いてメッセージ作成画面上で行った文字等を書く動作を検出したか否かを判定する。ステップＳ４７での判定がＹＥＳの場合処理はステップＳ４８に移り、この判定がＮＯの場合処理はステップＳ４９に移る。
【０１５６】
ステップＳ４８において、ＣＰＵ３１は、ステップＳ４７での検出に基づいて、ユーザがタッチペン２７等を用いてメッセージ作成画面上で描いた軌跡を、メッセージ作成画面に手書きメッセージとして描画する。その後、処理はステップＳ４９に移る。
【０１５７】
ステップＳ４９において、ＣＰＵ３１は、ユーザが行うボタン操作等に基づいて、メッセージにメタデータを貼り付ける指示が有ったか否かを判定する。ステップＳ４９での判定がＹＥＳの場合処理はステップＳ５０に移り、この判定がＮＯの場合処理はステップＳ５３に移る。
【０１５８】
ステップＳ５０において、ＣＰＵ３１は、プレイ履歴データ１０４（図８参照）を参照して、プレイ履歴の有るアプリケーションのメタデータ（典型的には、アプリのアイコン又はアプリのタイトル）の一覧を、メッセージ作成画面上に表示する。より具体的には、例えば、下側ＬＣＤ１２における手描き領域とは別の領域に、手描き領域の表示と共に、メタデータの一覧が表示される。また、別の例では、下側ＬＣＤ１２における手描き領域の表示と共に、メタデータの一覧を呼び出すためのタッチボタンが表示されていてもよい。この場合、ユーザの操作に応じて、このタッチボタンが選択されるとメタデータの一覧が表示され、メタデータが選択された後に、この一覧は非表示となって、その後、手描き領域が再び出現して、さらにメッセージの作成が可能となる。なお、このメタデータの一覧は、プレイされた時期が近い順に（つまり時系列で）整列して表示されてもよい。その後、処理はステップＳ５１に移る。
【０１５９】
ステップＳ５１において、ＣＰＵ３１は、ステップＳ５０で表示したメタデータの一覧から、ユーザのタッチペン等による操作に基づいて、何れかのメタデータが選択されたか否かを判定する。ステップＳ５１での判定がＹＥＳの場合処理はステップＳ５２に移り、この判定がＮＯの場合処理はステップＳ５０に戻る。
【０１６０】
ステップＳ５２において、ＣＰＵ３１は、ステップＳ５１で選択されたと判定したメタデータを、手書きメッセージ内の初期位置に、貼付けメタデータとして貼付ける。具体的には、ＣＰＵ３１は、選択されたメタデータをメタデータデータベース２００（図８（１）参照）から読み出して（複製して）、作成中のメッセージ内の所定位置に貼り付ける。なお、この初期位置は、メッセージ作成画面の中央下側等の所定位置である。その後、処理はステップＳ５３に移る。
【０１６１】
ステップＳ５３において、ＣＰＵ３１は、ユーザが行うタッチペン２７等による操作（例えばドラッグ操作）によって、貼付けメタデータの貼付け位置を移動させる指示が有ったか否かを判定する。ステップＳ５３での判定がＹＥＳの場合処理はステップＳ５４に移り、この判定がＮＯの場合処理はステップＳ５６に移る。
【０１６２】
ステップＳ５４において、ＣＰＵ３１は、貼付けメタデータの貼付け位置を移動させる指示に従って、メッセージ作成画面に表示された貼付けメタデータの位置を移動させる。その後、処理はステップＳ５５に移る。
【０１６３】
ステップＳ５５において、ＣＰＵ３１は、ステップＳ５４での処理で移動させた後の位置で、メインメモリ３２に一時的に記憶している貼付けメタデータの位置を更新する。その後、処理はステップＳ５６に移る。
【０１６４】
ステップＳ５６において、ＣＰＵ３１は、ユーザが行うボタン操作等によって、作成した手書きメッセージの送信指示が有ったか否かを判定する。ステップＳ５６での判定がＹＥＳの場合処理はステップＳ５７に移り、この判定がＮＯの場合処理はステップＳＳ４６に戻る。
【０１６５】
ステップＳ５７において、ＣＰＵ３１は、送信指示のあった手書きメッセージを、メッセージアプリのアプリ用データ１０３内の保存メッセージデータ１０３ｂ（図７（１）参照）として保存する。具体的には、ＣＰＵ３１は、ステップＳ４８で描画した手書きメッセージのデータを手書きメッセージデータ１０３ｂとして保存メッセージデータ１０３ｂ内に保存し、ステップＳ５２で手書きメッセージ内に貼り付けた貼付けメタデータのデータを貼付けメタデータ１０３ｅとして保存メッセージデータ１０３ｂ内に保存し、ステップＳ５５で更新した貼付けメタデータの最新位置のデータをメタデータ貼付け位置データ１０３ｆとして保存メッセージデータ１０３ｂ内に保存する。なお、図１５では処理を記載していないが、内側カメラ２３又は外側カメラ２５で撮影された画像データ、又は他装置から取得した画像データ等が、ユーザの操作に応じて手書きメッセージ内に貼り付けられた場合、ステップＳ５７において、ＣＰＵ３１は、この画像データを貼付け画像データ１０３ｄとして保存メッセージデータ１０３ｂ内に保存する。その後、処理はステップＳ５８に移る。
【０１６６】
ステップＳ５８において、ＣＰＵ３１は、下側ＬＣＤ１２に送信設定画面を表示させる。この送信設定画面には、「サーバ経由で送信」の操作子と、「ローカル通信で送信」の操作子と、「すれ違い通信で送信」の操作子とが表示されている。その後、処理はステップＳ５９に移る。
【０１６７】
ステップＳ５９において、ＣＰＵ３１は、ユーザによるタッチペン２７等の操作によって、送信設定画面の「サーバ経由で送信」の操作子が選択されたか否かを判定する。言い換えれば、ＣＰＵ３１は、ステップＳ５７で保存した手書きメッセージ等の送信方法として、サーバ４経由で送信する方法が選択されたか否かを判定する。ステップＳ５９での判定がＹＥＳの場合処理はステップＳ６０に移り、この判定がＮＯの場合処理はステップＳ６３に移る。
【０１６８】
ステップＳ６０において、ＣＰＵ３１は、ステップＳ５７で保存した手書きメッセージを送信する宛先を、ユーザの操作に応じて設定する。具体的には、ＣＰＵ３１は、送信設定画面に、フレンドリストデータ４００（図５参照）によって示されるフレンド（フレンド登録された他のゲーム装置１）の一覧を表示し、ユーザは、この一覧から所望のフレンドを選択することによって送信宛先を指定する。また、送信設定画面には「フレンド全員に送信」の操作子が表示されており、ユーザは、この操作子を選択することによって、フレンドリストデータ４００によって示されるフレンド全員を送信宛先として一括指定できる。その後、処理はステップＳ６１に移る。
【０１６９】
ステップＳ６１において、ＣＰＵ３１は、送信トレイに、送信する手書きメッセージメッセージを複製する。具体的には、ＣＰＵ３１は、ステップＳ５７で保存メッセージデータ１０３ｂとして保存した手書きメッセージのデータを、送信トレイデータ１０３ｇ内に、送信予定メッセージデータ１０３ｈとして複製する（図７（１）参照）。その後、処理はステップＳ６２に移る。
【０１７０】
ステップＳ６２において、ＣＰＵ３１は、送信トレイに複製された手書きメッセージを、サーバ４に送信する。具体的には、ＣＰＵ３１は、送信トレイデータ１０３ｇ内に複製された送信予定メッセージデータ１０３ｈを、無線通信モジュール３７を用いてネットワーク３を通じてサーバ４に送信する（図３参照）。サーバ４は、受信した手書きメッセージ（１０３ｈ）を、ステップＳ６０で設定された宛先の他のゲーム装置１に、ネットワーク３を通じて送信（転送）する。ここで、上記したサーバ４経由で送信する方法は、ゲーム装置１とネットワーク３との接続状態に依存する。このことから、ゲーム装置１とネットワーク３との接続が確立した時点で、送信トレイの手書きメッセージは、サーバ４に送信されることとなる。その後、処理はステップＳ４４に戻る。
【０１７１】
一方、ステップＳ６３において、ＣＰＵ３１は、ユーザによるタッチペン２７等の操作によって、送信設定画面の「ローカル通信で送信」の操作子が選択されたか否かを判定する。言い換えれば、ＣＰＵ３１は、ステップＳ５７で保存した手書きメッセージ等の送信方法として、ローカル通信で送信する方法が選択されたか否かを判定する。なお、ローカル通信については、後に図１６を用いて説明する。ステップＳ６３での判定がＹＥＳの場合処理はステップＳ６４に移り、この判定がＮＯの場合処理はステップＳ６６に移る。
【０１７２】
ステップＳ６４において、ＣＰＵ３１は、ステップＳ６１と同様に、送信トレイに、送信する手書きメッセージメッセージを複製する。その後、処理はステップＳ６５に移る。
【０１７３】
ステップＳ６５において、ＣＰＵ３１は、ローカル通信処理を実行する。図１６は、図１５のステップＳ６５のローカル通信処理の一例を示すフローチャートである。以下では、図１６を用いて、ローカル通信処理について説明する。
【０１７４】
まず、ステップＳ８１において、無線通信モジュール３７は、通信相手装置をサーチする。具体的には、無線通信モジュール３７は、ビーコンフレームを送信することによって、通信相手となる他のゲーム装置１を所定時間サーチする。その後、処理はステップＳ８２に移る。
【０１７５】
ステップＳ８２において、無線通信モジュール３７は、通信相手装置を発見したか否かを判定する。具体的には、無線通信モジュール３７は、ステップＳ８１で送信したビーコンフレームに応答する応答フレームを受信したか否かに基づいて、通信相手となる他のゲーム装置１を発見したか否かを判定する。ステップＳ８２での判定がＹＥＳの場合処理はステップＳ８３に移り、この判定がＮＯの場合ローカル無線処理は終了して処理は図１５のステップＳ６６に移る。
【０１７６】
ステップＳ８３において、ＣＰＵ３１は、ステップＳ８２で発見された通信相手装置のリストを下側ＬＣＤ１２に表示させる。その後、処理はステップＳ８４に移る。
【０１７７】
ステップＳ８４において、ＣＰＵ３１は、ユーザによるタッチペン２７等の操作によって、下側ＬＣＤ１２に表示させた通信相手装置のリストから通信相手装置の何れかが選択されるまで待機し、何れかが選択された場合処理をステップＳ８５に進める。
【０１７８】
ステップＳ８５において、ＣＰＵ３１は、無線通信モジュール３７を用いて、ステップＳ８４で選択された通信相手装置に、通信相手として選択した旨を通知する選択通知を送信する。その後、処理はステップＳ８６に移る。
【０１７９】
ステップＳ８６において、ＣＰＵ３１は、ステップＳ８５で選択通知を送信した通信相手装置から、この通信相手装置が送信した選択通知を受信したか否かを判定する。ステップＳ８６での判定がＹＥＳの場合処理はステップＳ８７に移り、この判定がＮＯの場合ローカル無線処理は終了して処理は図１５のステップＳ６６に移る。
【０１８０】
ステップＳ８７において、ＣＰＵ３１は、ステップＳ８５で選択通知を送信した通信相手装置に、無線通信モジュール３７を用いた近距離無線通信によって、送信トレイにあるメッセージを送信する。より具体的には、ＣＰＵ３１は、図１５のステップＳ６４で送信トレイデータ１０３ｇ内に複製された送信予定メッセージデータ１０３ｈを、近距離無線通信によって送信する。その後、処理はステップＳ８８に移る。
【０１８１】
ステップＳ８８において、ＣＰＵ３１は、ステップＳ８５で選択通知を送信した通信相手装置が、上記したステップＳ８７と同様の処理を実行することによって送信したメッセージを、受信する。その後、処理はステップＳ８９に移る。なお、通信相手装置が送信すべきメッセージを持たない場合には、ステップＳ８８において、通信相手装置からメッセージを受信しないこととなる。
【０１８２】
ステップＳ８９において、ＣＰＵ３１は、ステップＳ８８で受信した通信相手装置からのメッセージを、保存メッセージデータ１０３ｂ（図７（１）参照）として保存する。その後、ローカル通信処理は終了して、処理は図１５のステップＳ６６に移る。
【０１８３】
以上に説明したように、ローカル通信処理によって、他のゲーム装置１との間で、近距離無線通信を用いたメッセージの送受信が行われる。
【０１８４】
図１５のステップＳ６６において、ＣＰＵ３１は、ステップＳ６５のローカル通信処理おいて、通信相手装置からメッセージを受信したか否かを判定する。ステップＳ６６での判定がＹＥＳの場合処理はステップＳ７１に移り、この判定がＮＯの場合処理はステップＳ４４に戻る。
【０１８５】
次に、ステップＳ６７において、ＣＰＵ３１は、ユーザによるタッチペン２７等の操作によって、送信設定画面の「すれ違い通信で送信」の操作子が選択されたか否かを判定する。言い換えれば、ＣＰＵ３１は、ステップＳ５７等で保存した手書きメッセージの送信方法として、図１４を用いて説明したすれ違い通信で送信する方法が選択されたか否かを判定する。ステップＳ６７での判定がＹＥＳの場合処理はステップＳ６８に移り、この判定がＮＯの場合処理はステップＳ４４に戻る。
【０１８６】
ステップＳ６８において、ＣＰＵ３１は、ステップＳ５７で保存メッセージデータ１０３ｂ（図７（１）参照）として保存した手書きメッセージのデータを、メッセージアプリのすれ違いボックスデータ内の送信ボックスデータ３００ａ（図９（２）参照）として複製する。このことによって、図１４のすれ違い通信処理が実行されて、不特定の通信相手装置との間でデータの送受信が行われて、不特定の通信相手装置に対して手書きメッセージが送信される。その後、処理はステップＳ４４に戻る。
【０１８７】
一方、ステップＳ６９において、ＣＰＵ３１は、ユーザの操作によって、「サーバからメッセージ受信」の操作子が選択されたか否かを判定する。具体的には、ＣＰＵ３１は、ユーザが行う「サーバからメッセージ受信」の操作子を選択する操作をタッチパネル１３を用いて検出することによって、「サーバからメッセージ受信」の操作子が選択されたか否かを判定する。ステップＳ６９での判定がＹＥＳの場合処理はステップＳ７０に移り、この判定がＮＯの場合処理はステップＳ７８に移る。
【０１８８】
ステップＳ７０において、ＣＰＵ３１は、ネットワーク３を通じてサーバ４に接続して、サーバ４から自己のゲーム装置１宛てのメッセージを受信して、図７（１）に示した保存メッセージデータ１０３ｂとして保存する。ここで、サーバ４からメッセージを受信する処理は、ゲーム装置１とネットワーク３との接続状態に依存する。このことから、ゲーム装置１とネットワーク３との接続が確立した時点で、サーバ４からメッセージを受信することとなる。その後、処理はステップＳ７１に戻る。
【０１８９】
ステップＳ７８において、ＣＰＵ３１は、ユーザの操作によって、「ローカル通信でメッセージ受信」の操作子が選択されたか否かを判定する。具体的には、ＣＰＵ３１は、ユーザが行う「ローカル通信でメッセージ受信」の操作子を選択する操作を、タッチパネル１３を用いて検出することによって、「ローカル通信でメッセージ受信」の操作子が選択されたか否かを判定する。ステップＳ７８での判定がＹＥＳの場合処理はステップＳ７９に移り、この判定がＮＯの場合処理はステップＳ８０に移る。
【０１９０】
ステップＳ７９において、ＣＰＵ３１は、図１６を用いて説明したローカル通信処理を実行して、通信相手装置との間で近距離無線通信を用いたメッセージの送受信を行って、通信相手装置からメッセージを受信する。その後、処理はステップＳ７１に移る。
【０１９１】
ステップＳ８０において、ＣＰＵ３１は、メニュー画面に表示されている保存メッセージのリスト中のメッセージの何れかが選択されたか否かを判定する。具体的には、ＣＰＵ３１は、ユーザが行うメッセージを選択する操作を、タッチパネル１３を用いて検出することによって、メッセージの何れかが選択されたか否かを判定する。ステップＳ８０での判定がＹＥＳの場合処理はステップＳ７１に移り、この判定がＮＯの場合処理はステップＳ４４に戻る。
【０１９２】
ステップＳ７１において、ＣＰＵ３１は、ステップＳ７０でサーバ４から受信したメッセージ、ステップＳ７９でのローカル通信処理で受信したメッセージ、ステップＳ８０でユーザによって選択されたメッセージ、又はステップＳ６５でのローカル通信処理で受信したメッセージに、メタデータ（典型的にはアプリのアイコン又はタイトル）が貼り付けられているか否かを判定する。ステップＳ７１での判定がＹＥＳの場合処理はステップＳ７２に移り、この判定がＮＯの場合処理はステップＳ７６に移る。
【０１９３】
ステップＳ７２において、ＣＰＵ３１は、ステップＳ７１で判定対象としたメッセージ（つまり、受信等したメッセージ）を、当該メッセージに貼り付けられているメタデータと共に下側ＬＣＤ１２に表示する。その後、処理はステップＳ７３に移る。より具体的には、メタデータはメッセージに重ねて表示されてもよい。この場合に、前述のステップＳ５２からＳ５５において設定されたメッセージ内の「メタデータの位置」を再現するようにしてもよい。また、別の例では、メタデータを、メッセージの表示領域とは別の領域に、メッセージと共に表示してもよい。
【０１９４】
ステップＳ７３において、ＣＰＵ３１は、ステップＳ７２で表示させたメタデータが、ユーザによって選択されたか否かを判定する。具体的には、ＣＰＵ３１は、ユーザが行うメタデータを選択する操作を、タッチパネル１３を用いて検出することによって、メタデータが選択されたか否かを判定する。ステップＳ７３での判定がＹＥＳの場合処理はステップＳ７４に移り、この判定がＮＯの場合処理はステップＳ７７に移る。なお、ＣＰＵ３１は、複数のメタデータが添付されているためにステップＳ７２で複数のメタデータを表示させた場合、ステップＳ７３において、複数のメタデータの何れかがユーザによって選択されたか否かを判定する。
【０１９５】
一方、ステップＳ７６において、ＣＰＵ３１は、ステップＳ７１で判定の対象としたメッセージ（つまり、受信等したメッセージ）を下側ＬＣＤ１２に表示する。その後、処理はステップＳ７７に移る。
【０１９６】
ステップＳ７７において、ＣＰＵ３１は、ステップＳ７２又はステップＳ７６で表示したメッセージを他のゲーム装置１に転送するか否かを判定する。具体的には、ステップＳ７２及びステップＳ７６での表示画面には、「受信メッセージ転送」の操作子が表示されており、ＣＰＵ３１は、ユーザが行うこの操作子を選択する操作をタッチパネル１３を用いて検出することによって、ステップＳ７２又はステップＳ７６で表示したメッセージを他のゲーム装置１に転送するか否かを判定する。ステップＳ７７での判定がＹＥＳの場合処理はステップＳ５８に移り、この判定がＮＯの場合処理はステップＳ４４に戻る。
【０１９７】
一方、ステップＳ７４において、ＣＰＵ３１は、図１８及び図１９を用いて後に説明するアプリ選択時処理を実行する。なお、アプリ選択時処理において、ＣＰＵ３１は、サーバ４と通信して、ステップＳ７３で選択されたと判定したメタデータが示すアプリケーションについての詳細情報（内容や価格等）を下側ＬＣＤ１２等に表示し、ユーザの指示に応じてそのアプリケーションをサーバ４からダウンロードする。その後、処理はステップＳ７５に移る。
【０１９８】
ステップＳ７５において、ＣＰＵ３１は、ステップＳ７２で表示したメッセージを他のゲーム装置１に転送するか否かを判定する。具体的には、ステップＳ７２での表示画面には、「受信メッセージ転送」の操作子が表示されており、ＣＰＵ３１は、ユーザが行うこの操作子を選択する操作をタッチパネル１３を用いて検出することによって、ステップＳ７２で表示したメッセージを他のゲーム装置１に転送するか否かを判定する。ステップＳ７５での判定がＹＥＳの場合処理はステップＳ５８に移り、この判定がＮＯの場合処理はステップＳ４４に戻る。
【０１９９】
［所定のゲームアプリの処理］
以下に、所定のゲームアプリの処理の一例について、図１７を用いて説明する。ここで、所定のゲームアプリは、このゲームアプリによるゲームがクリアされた場合に、このゲームをクリアしたユーザに対してメッセージを提供するタイプのゲームアプリである。このメッセージは、典型的には、このゲームをクリアしたことを賞賛し証明するメッセージである。ユーザは、このゲームアプリのゲームをクリアして提供されたメッセージを、図１５で処理を説明したメッセージアプリによって、他のゲーム装置１に送信することができる。以下、詳細に説明する。
【０２００】
所定のゲームが開始されると、ステップＳ９１において、ＣＰＵ３１は、所定のゲーム処理を実行する。なお、この所定のゲームは、レースゲーム、スポーツゲーム、戦闘ゲーム等の様々なゲームであってよく、どのようなゲームのゲームでもよい。その後、処理はステップＳ９２に移る。
【０２０１】
ステップＳ９１において、ＣＰＵ３１は、ステップＳ９１で実行しているゲーム処理のゲームがクリアされたか否かを判定する。ステップＳ９１での判定がＹＥＳの場合処理はステップＳ９３に移り、この判定がＮＯの場合処理はステップＳ９５に移る。
【０２０２】
ステップＳ９５において、ＣＰＵ３１は、ステップＳ９１で実行しているゲーム処理のゲームの終了が、ユーザによる所定の操作によって指示されたか否かを判定する。ステップＳ９５での判定がＹＥＳの場合ゲームは終了し、この判定がＮＯの場合処理はステップＳ９１に戻ってゲームは継続する。
【０２０３】
一方、ステップＳ９３において、ＣＰＵ３１は、ゲームクリア時提供データ１０３ｍ（ゲームをクリアしたユーザに提供されるメッセージのデータ）を、メッセージアプリの保存メッセージデータ１０３ｂとして読み込む。具体的には、ＣＰＵ３１は、所定のゲームアプリのアプリ用データ１０３内のゲームクリア時提供データ１０３ｍ（図７（２）参照）を、メッセージアプリのアプリ用データ１０３内の保存メッセージデータ１０３ｂ（図７（１）参照）として読み込む。その後、処理はステップＳ９４に移る。
【０２０４】
ステップＳ９４において、ＣＰＵ３１は、メッセージアプリを起動して、図１５のメッセージアプリ処理を開始する。その際、ＣＰＵ３１は、図１５のステップＳ５８の送信画面を表示する処理からメッセージアプリ処理を開始し、処理は図１５のステップＳ５８に移る。以上に説明したように、所定のゲームアプリ処理によって、ゲーム処理が行われ、ゲームクリアされた場合には、所定のメッセージがメッセージアプリの保存メッセージとしてユーザに提供される。
【０２０５】
図１７のステップＳ９４から図１５のステップＳ５８に処理が移行した場合、ＣＰＵ３１は、ステップＳ６０〜Ｓ６２の処理を行う場合、図１７のステップＳ９３で読み込んだゲームクリア時提供データ１０３ｍをサーバ４経由で送信し、ステップＳ６４及びＳ６５の処理を行う場合、このゲームクリア時提供データ１０３ｍをローカル通信処理で送信し、ステップＳ６８の処理を行う場合、このゲームクリア時提供データ１０３ｍをすれ違い通信で送信する。
【０２０６】
［アプリ選択時処理］
以下に、図１８を用いて、図１５のメッセージアプリ処理のステップＳ７４で実行されるアプリ選択時処理の一例を説明する。図１８は、アプリ選択時処理の一例を示すフローチャートである。
【０２０７】
まず、ステップＳ１０１において、ＣＰＵ３１は、図１５のステップＳ７３で選択されたと判定されたメタデータ（典型的にはアプリのアイコン又はアプリのタイトル）が示すアプリケーションの詳細情報のダウンロード要求を、ネットワーク３を通じてサーバ４に送信する。なお、この要求には、図１５のステップＳ７３で選択されたと判定されたメタデータが含まれている。その後、処理はステップＳ１０２に移る。
【０２０８】
ステップＳ１０２において、ＣＰＵ３１は、ステップＳ１０１でダウンロード要求した詳細情報をサーバ４から受信するまで待機し、この詳細情報をサーバ４から受信したと判定した場合、処理をステップＳ１０３に進める。
【０２０９】
ステップＳ１０３において、ＣＰＵ３１は、詳細情報（本発明の紹介情報及びガイド情報の一例）に基づいてアプリ紹介画面を生成して、下側ＬＣＤ１２又は上側ＬＣＤ２２に表示する。その後、処理はステップＳ１０４に移る。ここで、アプリ紹介画面には、アプリを紹介する画像やアプリの説明文が表示されるとともに、そのアプリを購入するために必要な金額（またはお金の代わりとなるポイント）など、ユーザがそのアプリを購入する判断をするために必要な情報が表示される。また、所定の場合（後述するステップＳ１０４でＹＥＳと判定される場合）には、アプリ紹介画面には、そのアプリを購入するための操作をユーザから受付けるユーザインターフェース（典型的には、ユーザがクリック操作可能な「購入ボタン」が表示され、当該ボタンに対するクリック操作の受付け処理がされる）が提供される。なお、ステップＳ１０２で受信した詳細情報に対応するアプリケーションをサーバ４が販売していない場合、アプリ紹介画面には、アプリを購入するための操作をユーザから受付けるユーザインターフェースは提供されない（つまり「購入ボタン」は表示されない）。
【０２１０】
ステップＳ１０４において、ＣＰＵ３１は、ステップＳ１０３で表示したアプリ紹介画面に「購入ボタン」の操作子が表示されているか否かを判定する。ステップＳ１０４での判定がＹＥＳの場合処理はステップＳ１０５に移り、この判定がＮＯの場合アプリ選択時処理は終了して処理は図１５のステップＳ７５に移る。
【０２１１】
ここで、サーバ４は、受信したメタデータに対応するアプリケーションを販売（インターネットを介して配信）するショップサーバ（少なくとも、ダウンロード販売のユーザインターフェースを提供するサーバであり、通常は、ダウンロード販売の対象となる複数のアプリケーションが記憶されているサーバ）としての機能を有し、ステップＳ１０３で表示されるアプリ紹介画面が商品（アプリ）の購入のためのインターフェースとなる。そして、ＣＰＵ３１は、このインターフェースを用いて、ユーザによるアプリケーションの購入操作があったか否かを判定する。具体的には、ステップＳ１０５において、ＣＰＵ３１は、アプリ紹介画面に表示された「購入ボタン」の操作子をユーザが選択したか否かを判定する。ステップＳ１０５での判定がＹＥＳの場合処理はステップＳ１０６に移り、この判定がＮＯの場合アプリ選択時処理は終了して処理は図１５のステップＳ７５に移る。
【０２１２】
ステップＳ１０６において、ＣＰＵ３１は、ステップＳ１０５での操作（購入操作）によって受け付けた購入要求を、サーバ４に送信する。その後、処理はステップＳ１０７に移る。
【０２１３】
ステップＳ１０７において、ＣＰＵ３１は、ユーザにアプリケーション購入の最終確認を行うための最終確認画面のデータをサーバ４から受信するまで待機し、最終確認画面のデータを受信したと判定すると処理をステップＳ１０８に進める。
【０２１４】
ステップＳ１０８において、ＣＰＵ３１は、ステップＳ１０７で受信した最終確認画面のデータに基づいて、下側ＬＣＤ１２又は上側ＬＣＤ２２に最終確認画面を表示する。ここで、この最終確認画面には、アプリ紹介画面の表示されたアプリケーションを購入することに最終確認するための「最終確認」の操作子が表示されている。その後、処理はステップＳ１０９に移る。
【０２１５】
ステップＳ１０９において、ＣＰＵ３１は、最終確認画面に表示された「最終確認」の操作子をユーザが選択したか否かを判定する。ステップＳ１０９での判定がＹＥＳの場合処理はステップＳ１１０に移り、この判定がＮＯの場合アプリ選択時処理は終了して処理は図１５のステップＳ７５に移る。
【０２１６】
ステップＳ１１０において、ＣＰＵ３１は、最終購入要求及び決済情報をサーバ４に送信する。ここで、決済情報とは、例えばクレジットカード番号や、このサーバ４の提供するサービスにおけるユーザＩＤ等である。なお、決済情報がクレジットカード番号等の場合、ＣＰＵ３１は、この番号等をユーザに入力させた後に送信を行う。その後、処理はステップＳ１１１に移る。
【０２１７】
ステップＳ１１１において、ＣＰＵ３１は、サーバ４から購入したアプリケーションが受信されるまで待機し、受信された場合処理をステップＳ１１２に進める。
【０２１８】
ステップＳ１１２において、ＣＰＵ３１は、受信したアプリケーションを保存用データメモリ３４に記憶させる。その後、アプリ選択時処理は終了して処理は図１５のステップＳ７５に移る。
【０２１９】
［サーバ４のデータ配信処理］
以下に、図１９を用いて、サーバ４が、上記アプリ選択時処理を実行するゲーム装置１に対して上記詳細情報や、アプリケーションを配信するための処理の一例を説明する。
【０２２０】
まず、ステップＳ１２１において、ＣＰＵ６５は、詳細情報のダウンロード要求を受信するまで待機し、受信した場合処理をステップＳ１２２に進める。なお、この要求は、図１８のステップＳ１０１においてゲーム装置１から送信される。
【０２２１】
ステップＳ１２２において、ＣＰＵ６５は、ステップＳ１２１で受信した詳細情報のダウンロード要求に含まれるメタデータでＲＡＭ６４に格納されているテーブルＴ（図４参照）を検索して、このメタデータが対応するアプリの詳細情報を特定する。その後、処理はステップＳ１２３に移る。
【０２２２】
ステップＳ１２３において、ＣＰＵ６５は、ＲＡＭ６４に格納されているテーブルＴのオンライン販売情報を参照して、ステップＳ１２１で受信した詳細情報のダウンロード要求に含まれるメタデータが対応するアプリケーションがサーバ４でオンライン販売されているか否かを判定する。ステップＳ１２３での判定がＹＥＳの場合処理はステップＳ１２４に移り、この判定がＮＯの場合処理はステップＳ１３２に移る。
【０２２３】
ステップＳ１２４において、ＣＰＵ６５は、図１８のステップＳ１０３においてゲーム装置１がアプリ紹介画面を表示するための詳細情報を生成する。ここで、ステップＳ１２４で生成される詳細情報は、図１８のステップＳ１０５等で説明した「購入ボタン」の操作子があるアプリ紹介画面を表示するためのものである。その後、処理はステップＳ１２５に移る。つまり、ステップＳ１２４で生成される詳細情報は、アプリの紹介画像や説明文、そのアプリを購入するために必要な金額など、ユーザがそのアプリを購入の判断をするために必要な情報を含み、また、そのアプリを購入するための操作を受付けるユーザインターフェースを提供するための情報を含む。
【０２２４】
ステップＳ１２５において、ＣＰＵ６５は、ステップＳ１２４で生成した詳細情報を、ステップＳ１２１で受信した詳細情報のダウンロード要求を行ったゲーム装置１（以下、配信先ゲーム装置１という）にネットワーク３を通じて送信する。その後、処理はステップＳ１２６に移る。
【０２２５】
ステップＳ１２６において、ＣＰＵ６５は、所定期間待機して配信先ゲーム装置１から購入要求を受信したか否かを判定する。なお、この購入要求は、図１８のステップＳ１０６において、購入先ゲーム装置１が送信するものである。ステップＳ１２６での判定がＹＥＳの場合処理はステップＳ１２７に移り、この判定がＮＯの場合処理はステップＳ１２１に戻る。
【０２２６】
ステップＳ１２７において、ＣＰＵ６５は、最終確認画面のデータをＲＡＭ６４から読み出して配信先ゲーム装置１にネットワーク３を通じて送信する。なお、この最終確認画面のデータは、図１８のステップＳ１０７で配信先ゲーム装置１が受信する。その後、処理はステップＳ１２８に移る。
【０２２７】
ステップＳ１２８において、ＣＰＵ６５は、所定の期間待機して配信先ゲーム装置１から最終購入要求及び決済情報を受信したか否かを判定する。なお、この最終購入要求及び決済情報は、図１８のステップＳ１１０において、配信先ゲーム装置１が送信するものである。ステップＳ１２８での判定がＹＥＳの場合処理はステップＳ１２９に移り、この判定がＮＯの場合処理はステップＳ１２１に戻る。
【０２２８】
ステップＳ１２９において、ＣＰＵ６５は、決済処理を実行する。この決済処理は、例えばクレジットカード番号に基づく決済処理等である。また、サーバ４がユーザＩＤに対応づけてユーザポイントを管理している場合には、決済処理はユーザポイントから配信するアプリケーションの対価となる分のポイントを減算する処理等である。その後、処理はステップＳ１３０に移る。
【０２２９】
ステップＳ１３０において、ＣＰＵ６５は、配信対象のアプリケーションを配信先ゲーム装置１にネットワーク３を通じて配信する。なお、配信されたこのアプリケーションは、図１８のステップＳ１１１で配信先ゲーム装置１に受信される。その後、処理はステップＳ１２１に戻る。
【０２３０】
一方、ステップＳ１３２において、ＣＰＵ６５は、図１８のステップＳ１０１においてゲーム装置１に要求されたアプリのアプリ紹介画面を表示するための詳細情報を生成する。ここで、ステップＳ１３２で生成される詳細情報は、図１８のステップＳ１０５等で説明した「購入ボタン」の操作子が無いアプリ紹介画面を表示するためのものである。その後、処理はステップＳ１３３に移る。
【０２３１】
ステップＳ１３３において、ＣＰＵ６５は、詳細情報を、配信先ゲーム装置１にネットワーク３を通じて送信する。その後、処理はステップＳ１２１に戻る。
【０２３２】
以上に説明した本実施形態によれば、ゲーム装置１のユーザは、購入等して自己の装置の記憶領域（自装置に収納されたカートリッジ２９又はメモリカード２８の記憶領域を含む）に記憶されてプレイしたアプリケーションを、他のゲーム装置１のユーザに、プレイした感想等のメッセージと共に紹介することができる。言い換えると、アプリケーションを紹介される側のゲーム装置１のユーザは、実際にアプリケーションをプレイしたユーザの感想等と共にそのアプリケーションを紹介されることとなる。この結果として、本実施形によれば、ユーザ間で行われるコンテンツ（商品）の紹介の信頼性を高く保つことができる。
【０２３３】
また、本実施形態によれば、ゲーム装置１のユーザは、紹介するアプリケーションのメタデータ（アプリのアイコン又はアプリのタイトル等）をメッセージに貼り付けて、このアプリケーションを他のゲーム装置１のユーザに紹介できる。そして、紹介された側のユーザは、紹介メッセージに貼り付けられているメタデータを選択することによって、紹介されたアプリケーションの内容等を確認した後に、このアプリケーションをサーバ４からダウンロードすることができる。
【０２３４】
また、本実施形態によれば、ゲーム装置１のユーザは、他のゲーム装置１のユーザから受信した紹介メッセージを、第３のゲーム装置１（のユーザ）に転送できる。このことから、第３のゲーム装置のユーザは、実際にアプリケーションをプレイしたユーザの感想等と共にそのアプリケーションを紹介されることとなる。この結果として、紹介メッセージが転送される場合であっても、ユーザ間で行われるコンテンツ（商品）の紹介の信頼性を高く保つことができる。
【０２３５】
（本実施形態の変形例）
【０２３６】
また、本実施形態では、カードアプリのメタデータは、カートリッジ２９がゲーム装置１に挿入された時点でメタデータデータベース２００に登録されている。しかし、カードアプリのメタデータは、挿入時ではなく起動時にメタデータデータベース２００に登録されてもよい。この場合、図１０のメイン処理において、ステップＳ４及びＳ７の処理は削除されることとなる。
【０２３７】
また、本実施形態では、カードアプリは、カートリッジ２９又はメモリカード２８に記録されているものとした。しかし、カードアプリは、光ディスクやその他の記録媒体に記録されているものとしてもよい。
【０２３８】
また、以上の実施形態は、本発明をゲーム装置１に適用したものであるが、本発明はゲーム装置に限定されない。例えば、携帯電話機、簡易型携帯電話機（ＰＨＳ）、ＰＤＡ等の携帯情報端末にも本発明の適用は可能である。また、据え置き型ゲーム機やパーソナルコンピュータ等にも本発明の適用は可能である。
【０２３９】
また、本実施形態では、１つのサーバ４で上述した処理を実行しているが、複数のサーバで上記処理を分担してもよい。例えば、あるサーバが詳細情報をゲーム装置１に提供するための処理を行い、他のサーバが決済画面（決済関連情報）をゲーム装置１に表示させるための処理を行い、更に他のサーバが決済処理を行って購入されたアプリケーションをゲーム装置１に送信する構成等を採用してもよい。また、本実施形態では、１つのゲーム装置１で上述した処理を実行しているが、有線又は無線で通信可能な複数の装置で上記処理を分担してもよい。
【０２４０】
また、本実施形態で説明したアプリケーション購入の処理（図１８及び図１９参照）としては、様々な態様が考えられる。例えば、アプリケーション購入時に、クレジットカード情報等の決済情報を入力する態様、予め決済情報は入力（サーバ４に送信）済みであるか後日請求を行うために単に購入指示を行う態様、或いは、予め決済情報は入力済みであるが本人確認のためにパスワード等を要求する態様等が考えられる。
【０２４１】
また、本実施形態では、アプリケーション購入の処理（図１８及び図１９参照）において、メタデータ（典型的には、アプリのアイコン又はタイトル）を用いて、配信対象となるアプリケーションを特定していた（図１８のＳ１０１及び図１９のＳ１２２の説明を参照）。しかし、アプリケーション購入の処理において、アプリＩＤを用いて、配信対象となるアプリケーションを特定してもよい。この場合、図１５のステップＳ５２において手書きメッセージにメタデータが貼り付けられる際に、このメタデータが示すアプリを特定するアプリＩＤ（アプリＩＤデータ１０２ｃ；図６参照）がメタデータとともにこのメッセージに付加される。そして、図１８のステップＳ１０１においてＣＰＵ３１は受信等したメッセージに付加されているアプリＩＤをサーバ４に送信することによってアプリケーションの詳細情報のダウンロード要求を行い、図１９のステップ１２２においてＣＰＵ６５はこのアプリＩＤでＲＡＭ６４に格納されているテーブルＴ（図４参照）を検索して、このアプリＩＤに対応するアプリの詳細情報を特定することとなる。
【０２４２】
また、本実施形態では、メッセージアプリ処理（図１５参照）においてサーバ４経由でメッセージの通信を行う場合、ゲーム装置１間でネットワーク３及びサーバ４を介して通信を行っていた。しかし、メッセージアプリ処理（図１５参照）においてサーバ４経由でメッセージの通信を行う場合において、ゲーム装置１間でネットワーク３を介して（サーバ４は介さないで）、いわゆるＰ２Ｐ通信を行ってもよい。
【０２４３】
また、本実施形態では、ローカル通信（図１６参照）及びすれ違い通信（図１４参照）において、一例として無線局の免許が不要な微弱電波である近距離無線通信を使用するものとして説明した。しかし、ローカル通信（図１６参照）及び／又はすれ違い通信（図１４参照）の通信方法はこれに限られず、例えば、光通信（赤外線通信等）を使用してもよい。
【０２４４】
また、本実施形態では、メッセージアプリ処理（図１５参照）においてユーザが手書きメッセージにメタデータを貼り付ける際に、メタデータデータベース２００（図８参照）のプレイ履歴データ１０４を参照して貼付けるメタデータを決定していた。しかし、メタデータデータベース２００には、プレイ履歴データ１０４とアプリＩＤデータ１０２ｃのみが蓄積され、メタデータ１０２（アイコン画像データ等）は蓄積されなくともよい。この場合、メッセージアプリ処理（図１５参照）においてユーザが手書きメッセージにメタデータを貼り付ける際に、アプリ記憶領域１００（図５参照）のメタデータ１０２を参照して、貼付けるメタデータを決定することとなる。
【０２４５】
また、本実施形態では、メッセージアプリ処理において、プレイ履歴のあるアプリのメタデータを手書きメッセージに貼り付けるものとした（図１５のＳ５０〜Ｓ５２参照）。しかし、メッセージアプリ処理において、保存用データメモリ３４に記憶されているメタデータを手書きメッセージに貼り付けるものとしてもよい。この場合、図１５のステップＳ５０において、ＣＰＵ３１は、保存用データメモリ３４を参照して、メタデータデータベース２００（又はアプリ記憶領域１００）に記憶されているメタデータの一覧を、メッセージ作成画面上に表示することとなる。このようにした場合、ゲーム装置１のユーザは、購入等して持っている（又は持っていた）アプリケーションを、他のゲーム装置１のユーザに、メッセージと共に紹介することができる。言い換えると、アプリケーションを紹介される側のゲーム装置１のユーザは、実際にアプリケーションを購入等して持っている（又は持っていた）ユーザのメッセージと共にそのアプリケーションを紹介されることとなる。この結果として、このようにした場合であっても、ユーザ間で行われるコンテンツ（商品）の紹介の信頼性を高く保つことができる。
【０２４６】
また、本実施形態では、メイン処理（図１０参照）において、カートリッジ２９（又はメモリカード２８）がゲーム装置１に装着された際に、カートリッジ２９等に記憶されているアプリケーション及びそれに対応するメタデータを、保存用メインメモリ３４に蓄積記憶させている（Ｓ２〜Ｓ４参照）。しかし、カートリッジ２９（又はメモリカード２８）に記憶されているアプリケーションは保存用データメモリ３４に記憶されない（メタデータは蓄積記憶される）構成にして、ＣＰＵ３１は、カートリッジ２９（又はメモリカード２８）からアプリケーションを直接メインメモリ３２に読み出して処理を実行してもよい。この場合、メイン処理において、ステップＳ３の処理が削除されることとなる。このような構成にした場合、ゲーム装置１に装着されたカートリッジ２９等に記憶されているアプリケーションを保存用データメモリ３４に蓄積記憶する必要がないので、保存用データメモリの記憶容量を節約できる。また、１つのカートリッジ２９等を多数のゲーム装置１に次々と装着することによって、このカートリッジ２９等に記憶されているアプリケーションが次々と複製されることを回避できる。
【０２４７】
また、本実施形態では、すれ違い通信処理（図１４参照）によって、不特定の通信相手装置との間でメッセージ等のすれ違い通信を行った。しかし、すれ違い通信処理において、フレンドリストデータ４００（図５参照）に登録されているフレンド（のゲーム装置１）のみと通信を行うものとしてもよい。この場合、図１４のすれ違い通信処理において、各ゲーム装置１は、通信相手装置がフレンドであるか否かを判定して、フレンドの通信相手装置のみと通信を行う構成となる。
【０２４８】
また、本実施形態において、ゲーム装置１の形状や、それに設けられている各種操作ボタン１４等、タッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず、本発明の範囲を逸脱しなければ他の順序や値であっても、本発明を実現できることは言うまでもない。
【０２４９】
また、本実施形態のゲーム装置１において実行される各種情報処理プログラムは、カートリッジ２９やメモリカード２８等の記憶媒体を通じてゲーム装置１０に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置１に供給されてもよい。また、上記プログラムは、ゲーム装置１内部の不揮発性記憶装置（保存用データメモリ３４等）に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【０２５０】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【産業上の利用可能性】
【０２５１】
本発明は、コンテンツ等のメタデータを送信等する情報処理装置等において有用である。
【符号の説明】
【０２５２】
１…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作ボタン
１５、２６…ＬＥＤ
１６…マイクロフォン用孔
２１…上側ハウジング
２２…上側ＬＣＤ
２３…内側カメラ
２４…音抜き孔
２５…外側カメラ
２７…タッチペン
２８、２９…メモリカード
３１…ＣＰＵ
３２…メインメモリ
３３…メモリ制御回路
３４…保存用データメモリ
３５…プリセットデータ用メモリ
３６…メモリカードＩ／Ｆ
３７…無線通信モジュール
３８…ＲＴＣ
３９…電源回路
４０…Ｉ／Ｆ回路
４１…マイク
４２…アンプ
【図１】
0005893827.tif 000002
【図２】
0005893827.tif 000003
【図３】
0005893827.tif 000004
【図４】
0005893827.tif 000005
【図５】
0005893827.tif 000006
【図６】
0005893827.tif 000007
【図７】
0005893827.tif 000008
【図８】
0005893827.tif 000009
【図９】
0005893827.tif 000010
【図１０】
0005893827.tif 000011
【図１１】
0005893827.tif 000012
【図１２】
0005893827.tif 000013
【図１３】
0005893827.tif 000014
【図１４】
0005893827.tif 000015
【図１５】
0005893827.tif 000016
【図１６】
0005893827.tif 000017
【図１７】
0005893827.tif 000018
【図１８】
0005893827.tif 000019
【図１９】
0005893827.tif 000020