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