説明

情報処理装置、サーバおよび情報処理システム

【課題】ユーザのステータス情報を効率よく提示できる技術を提供する。
【解決手段】取得部140が、サーバ6から、他のユーザの情報処理装置のプレゼンス情報を取得する。取得部140が、2以上の他の情報処理装置から同じユーザアカウントを含むプレゼンス情報を取得した場合、状態画像生成部150は、最新のプレゼンス情報をもとに、ユーザアカウントで特定されるユーザの状態を示す状態画像を生成する。ユーザの状態を表現するために、状態画像生成部150は、ユーザが実行中のアプリケーション名を状態画像に含める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理システムに関する。
【背景技術】
【0002】
通信機能を搭載したゲーム装置が広く普及し、複数のユーザでチャットやオンラインゲームを楽しむことができるようになっている。また、ゲーム専用機ではなく、パーソナルコンピュータにゲームプログラムをインストールして、複数のユーザでオンラインゲームを楽しむことも一般的になっている。
【0003】
携帯型のゲーム機やPDA(Personal Digital Assistant)等の電子機器が普及しているが、近年では、たとえばスマートフォンのように、携帯電話やPDA等の機能を一つにまとめた多機能型の電子機器が登場している。このような電子機器は、大容量のメモリおよび高速プロセッサを搭載しており、アプリケーションプログラムをダウンロードしてインストールすることで、複数のユーザがチャットしたり、またオンラインゲームをプレイすることも可能となっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許第7,558,820号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
複数のユーザで同じアプリケーションを同期して実行するためには、まず、そのアプリケーションのセッションを作成して、複数のユーザが、そのセッションに参加する必要がある。ユーザ同士が集まってゲームをするような場合には、お互いに相談しながらセッションを作成して、それぞれが参加すればよいが、それぞれのユーザが離れた位置にいるような場合には、互いの状態を目で見て確認することができない。そのため、互いの状態を容易に確認できるユーザインタフェースの開発が望まれている。
【0006】
また、1人のユーザが複数の端末装置を有して、それぞれの端末装置が、ゲームシステム上でユーザを一意に識別するユーザアカウントを用いて、ゲームサーバに接続(サインイン)することも可能になっている。たとえば、1人のユーザが、据置型のゲーム装置と携帯型のゲーム装置を有して、それぞれがネットワーク上のゲームサーバに接続するような場合である。複数の端末装置を起動しているユーザの状態を確認しようとする場合、そのユーザの全ての端末装置に関する情報が提示されても、情報量が多くなることで、相手の状態の確認が容易でなくなることも考えられる。そこで、効率よくユーザの状態を提示できるユーザインタフェースの開発が望まれる。
【0007】
そこで本発明は、ユーザの状態を効率よく提示できる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の情報処理装置は、ユーザにより操作される情報処理装置であって、通信部と、通信部を介して、同じユーザアカウントの2以上の他の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、取得したプレゼンス情報をもとに、他のユーザの状態を示す状態画像を生成する状態画像生成部と、を備える。状態画像生成部は、2以上の他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、ユーザアカウントで特定されるユーザの状態を示す状態画像を生成する。
【0009】
本発明の別の態様もまた、情報処理装置である。この装置は、ユーザにより操作される情報処理装置であって、ネットワーク上のサーバを介して、他のユーザにより操作される複数の情報処理装置と接続されており、他のユーザの少なくとも1人は、同一のユーザアカウントを用いて2以上の情報処理装置を操作しているものであって、複数の他のユーザの状態を示す第1状態画像を生成する第1画像生成部と、第1状態画像において、いずれか1人のユーザが選択されると、選択されたユーザの状態を示す第2状態画像を生成する第2画像生成部とを備える。第1画像生成部は、他のユーザごとに、他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、当該他のユーザの状態を示す第1状態画像を生成する。
【0010】
本発明のさらに別の態様は、情報処理システムである。この情報処理システムは、複数の情報処理装置を含んで構成される情報処理システムであって、各情報処理装置は、通信部と、アプリケーションを実行する実行部と、実行しているアプリケーションを特定する情報を含んだプレゼンス情報を生成するプレゼンス情報生成部と、通信部を介して、生成したプレゼンス情報を送信する送信部と、通信部を介して、同じユーザアカウントの2以上の他の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、取得したプレゼンス情報をもとに、ユーザの状態を示す状態画像を生成する状態画像生成部と、を備える。状態画像生成部は、2以上の他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、ユーザアカウントで特定されるユーザの状態を示す状態画像を生成する。
【0011】
本発明のさらに別の態様は、サーバである。このサーバは、通信部と、通信部を介して、同じユーザアカウントの2以上の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、取得したプレゼンス情報をもとに、ユーザの状態を示す状態画像を生成するための状態画像生成用データを生成するデータ生成部と、を備える。データ生成部は、2以上の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、ユーザアカウントで特定されるユーザの状態を示す状態画像を生成するための状態画像生成用データを生成する。
【0012】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0013】
本発明によると、ユーザの状態を効率よく提示する技術を提供できる。
【図面の簡単な説明】
【0014】
【図1】実施例にかかる情報処理システムの構成の一例を示す図である。
【図2】実施例にかかる第1情報処理装置の外観の一例を示す図である。
【図3】実施例にかかる第2情報処理装置の使用環境を示す図である。
【図4】入力装置の外観構成を示す図である。
【図5】第1情報処理装置の機能ブロックを示す図である。
【図6】フレンドリスト画面の一例を示す図である。
【図7】フレンドの詳細情報画面の一例を示す図である。
【図8】フレンドの詳細情報画面の別の例を示す図である。
【図9】図7に示すGUIを生成するフローチャートを示す図である。
【発明を実施するための形態】
【0015】
図1は、実施例にかかる情報処理システム1の構成の一例を示す。情報処理システム1では、携帯型端末装置である第1情報処理装置10a、10b、10c(以下、区別しない場合には「第1情報処理装置10」と呼ぶ)と、据置型端末装置である第2情報処理装置30a、30b、30c(以下、区別しない場合には「第2情報処理装置30」と呼ぶ)とが、サーバ6経由で、互いにデータを送受信できるように接続されている。無線LANルータ2は、無線アクセスポイントおよびルータの機能を有し、第1情報処理装置10および第2情報処理装置30は、無線LANルータ2およびモデム(図示せず)などを介してインターネットなどのネットワーク4に接続する。
【0016】
第1情報処理装置10は無線通信機能を有し、無線LANルータ2を介してネットワーク4上のサーバ6に接続して、サーバ6に自身のデータを送信するとともに、サーバ6から他の第1情報処理装置10または第2情報処理装置30のデータを受信する。第1情報処理装置10は、無線LAN(Local Area Network)方式による通信機能を有し、インフラストラクチャモードでサーバ6と通信してもよいが、第3世代移動通信システムなど、携帯電話などで採用される通信方式によりサーバ6と通信してもよい。この場合、第1情報処理装置10は、広範囲の通信エリアをもつ基地局を介してサーバ6と通信するため、ユーザは、屋外でも第1情報処理装置10を利用できる。
【0017】
第2情報処理装置30はケーブル14で無線LANルータ2に接続される。第2情報処理装置30は、無線LANルータ2を介してネットワーク4上のサーバ6に接続し、サーバ6に自身のデータを送信するとともに、サーバ6から他の第2情報処理装置30または第1情報処理装置10のデータを受信する。
【0018】
本実施例において、第1情報処理装置10は携帯型のゲーム機であり、第2情報処理装置30は据置型のゲーム機である。情報処理システム1において、ユーザは、自身を識別するユーザアカウントを有し、ユーザアカウントを用いて、サーバ6が提供するネットワークサービスにサインインする。本実施例では、少なくとも1人のユーザが、複数の情報処理装置からネットワークサービスにサインインする状況を想定しているが、全てのユーザが、複数の情報処理装置からサインインする必要は必ずしもない。
【0019】
第1情報処理装置10aおよび第2情報処理装置30aは、ユーザAにより操作され、それぞれユーザAを識別するアカウント(ユーザアカウント)を用いてサーバ6との間でデータを送受信する。同様に、第1情報処理装置10bおよび第2情報処理装置30bはユーザBにより操作され、それぞれユーザBを識別するアカウントを用いてサーバ6との間でデータを送受信し、第1情報処理装置10cおよび第2情報処理装置30cはユーザCにより操作され、それぞれユーザCを識別するアカウントを用いてサーバ6との間でデータを送受信する。
【0020】
なお、各ユーザが操作する情報処理装置は2台に限定されるものではなく、それ以上の台数であってもよい。また各ユーザは、無線通信機能を有する第1情報処理装置10と、有線通信機能を有する第2情報処理装置30とを操作する必要はなく、無線通信機能を有する2台の情報処理装置を操作してもよく、また有線通信機能を有する2台の情報処理装置を操作してもよい。また情報処理システム1において、全てのユーザが2台以上の情報処理装置を操作してなくてもよく、少なくとも1人のユーザが、2台以上の情報処理装置からネットワークサービスにサインインしていればよい。またユーザの数も3名に限定するものではなく、それ以上のユーザ数が存在していてもよい。
【0021】
図2は、実施例にかかる第1情報処理装置10の外観の一例を示す。
図2に示すように、第1情報処理装置10の表側には、指示入力ボタン21、方向キー22、Rボタン23、Lボタン24などの入力装置20と、表示装置68が備えられている。表示装置68には、ユーザの指やスタイラスペンなどによる接触を検知するためのタッチパネル69が併設されている。第1情報処理装置10の裏側に、背面タッチパネルが備えられてもよい。第1情報処理装置10の内部には、第1情報処理装置10の傾きを検知する傾きセンサ25が設けられる。
【0022】
ユーザは、第1情報処理装置10を両手で把持した状態で、例えば、右手親指で指示入力ボタン21を操作し、左手親指で方向キー22を操作し、右手人差し指又は中指でRボタン23を操作し、左手人差し指又は中指でLボタン24を操作する。またタッチパネル69を操作する場合には、第1情報処理装置10を両手で把持した状態で、それぞれの親指でタッチパネル69を操作してもよく、また第1情報処理装置10を左手で把持した状態で、右手でタッチパネル69を操作し、左手親指で方向キー22を操作し、左手人差し指又は中指でLボタン24を操作してもよい。
【0023】
図3は、実施例にかかる第2情報処理装置30の使用環境を示す。
第2情報処理装置30は、ユーザが操作する入力装置34と無線または有線で接続し、入力装置34からの操作信号を受け付ける。第2情報処理装置30は、表示装置32と接続して、表示装置32に処理結果を出力させる。表示装置32は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。表示装置32は、第2情報処理装置30に有線ケーブルで接続されてよく、また無線LANにより無線接続されてもよい。
【0024】
図4は、入力装置34の外観構成を示す。入力装置34は、ユーザが操作可能な操作手段として、十字キー41、アナログスティック47a、47bと、4種の操作ボタン46を備える。4種の操作ボタン46は、○ボタン42、×ボタン43、□ボタン44および△ボタン45から構成される。ユーザは、左グリップ48aを左手で把持し、右グリップ48bを右手で把持して、操作手段を操作する。入力装置34は、ユーザにより入力された操作信号を第2情報処理装置30に伝送する機能をもち、第2情報処理装置30との間で無線通信可能に構成される。
【0025】
実施例の概要を述べる。ネットワークサービスにサインインしている第1情報処理装置10または第2情報処理装置30のそれぞれが、状態に変化があると、変化後の状態を含むプレゼンス情報を生成してサーバ6に送信する。プレゼンス情報の生成処理は、情報処理装置にインストールされているステータス管理用のアプリケーション、またはシステムソフトウェアにより実行される。以下、説明の便宜上、ユーザAの操作する第1情報処理装置10aおよび第2情報処理装置30cがプレゼンス情報を生成してサーバ6に送信し、ユーザBの操作する第1情報処理装置10bが、サーバ6にアクセスしてユーザAのプレゼンス情報を取得し、ユーザAの状態を示す状態画像を生成する場合を実施例の概要として示す。
【0026】
第1情報処理装置10aにおいて、ステータス管理アプリケーション(またはシステムソフトウェア)が、第1情報処理装置10aにおける状態の変化を検出する。状態の変化は、代表的には、アプリケーション(ゲーム)が起動されたとき、またゲームが終了したときに検出される。第1情報処理装置10aが、複数のアプリケーションを同時に起動できる場合には、各アプリケーションが起動されたとき、また各アプリケーションが終了したときに、第1情報処理装置10aにおける状態変化が検出されて、プレゼンス情報が生成される。
【0027】
また、情報処理システム1においては、各情報処理装置が、複数のユーザが参加することのできるアプリケーション(マルチプレイヤオンラインアプリケーション)を実行できる。ユーザAは、第1情報処理装置10aを用いて、マルチプレイヤオンラインアプリケーションのセッションの作成指示を生成する。このアプリケーションは、チャットやゲームが代表的であるが、他の種類のものであってもよい。第1情報処理装置10aが、生成した作成指示をサーバ6に送信すると、サーバ6は、作成指示にしたがってセッションを作成する。具体的にサーバ6は、セッションを特定する識別情報(以下、「セッションID」と呼ぶ)を発行して、第1情報処理装置10aに返信する。セッションIDは、セッションに参加する他の第1情報処理装置10や第2情報処理装置30がサーバ6を介して同期通信をするために利用される、サーバ6へ接続するためのURI(Universal Resource Identifier)であってよい。第1情報処理装置10aにおいて、ステータス管理アプリケーションは、サーバ6からセッションIDを付与されると、状態変化を検出して、取得したセッションIDを含むプレゼンス情報を生成する。
【0028】
状態変化は、実行中のゲームによってステータス管理アプリケーションに通知される。ゲームは、状態の変化ポイントを任意に設定してもよく、たとえば、所定のミッションをクリアしたことや、所定のアイテムを獲得したことを、状態の変化ポイントに設定してもよい。ステータス管理アプリケーションは、ゲームから状態変化を通知されると、状態変化を検出して、プレゼンス情報を生成する。
【0029】
以上のように、ユーザAの第1情報処理装置10aは、自身の状態の変化を検出すると、プレゼンス情報を生成してサーバ6に送信する。なお、ユーザAの第2情報処理装置30aにおいても、同様の処理が実行され、状態に変化があると、第2情報処理装置30aは、プレゼンス情報を生成して、サーバ6に送信する。
【0030】
サーバ6は、ユーザAの第1情報処理装置10aおよび第2情報処理装置30aのそれぞれから送信されるプレゼンス情報を管理する。なお、第1情報処理装置10aおよび第2情報処理装置30aは、状態変化を検出するたびにプレゼンス情報をサーバ6に送信するが、サーバ6は、第1情報処理装置10aおよび第2情報処理装置30aのそれぞれから送信されるプレゼンス情報のうち、それぞれの最新のプレゼンス情報のみを記憶するようにしてもよい。この場合、サーバ6は、ユーザAに関して、第1情報処理装置10aの最新のプレゼンス情報と、第2情報処理装置30aの最新のプレゼンス情報のみを記憶することで、記憶するデータ量を低減できる。なお、サーバ6は、第1情報処理装置10aおよび第2情報処理装置30のそれぞれから送信されるプレゼンス情報を、それぞれ所定数の範囲内で記憶してもよい。
【0031】
他のユーザ(この実施例概要では、ユーザB)の第1情報処理装置10bは、定期的にサーバ6にアクセスすることで、ユーザAのプレゼンス情報を取得する。第1情報処理装置10bは、ユーザAの第1情報処理装置10aおよび第2情報処理装置30aのそれぞれにおけるプレゼンス情報を取得すると、2つのプレゼンス情報のうち、より新しいプレゼンス情報を特定する。
【0032】
ユーザAは、第1情報処理装置10aおよび第2情報処理装置30aを起動しており、第1情報処理装置10aおよび第2情報処理装置30aは、ユーザAによって操作されるものであるが、ユーザAが両方を同時に操作していることは希であり、通常はどちらか一方のみを操作している。そこで、第1情報処理装置10bは、ユーザAの2つのプレゼンス情報のうち、より新しいプレゼンス情報をもとに、ユーザAの状態を示す状態画像を生成してユーザBに提示する。これによりユーザBは、ユーザAの近況を容易に知ることができるようになる。
【0033】
またユーザAの第1情報処理装置10aおよび第2情報処理装置30aは、プレゼンス情報に、アプリケーションの実行状態を示す状態情報を含めておく。この状態情報は、アプリケーションのセッションへの参加の可否情報を含んでおり、ユーザBの第1情報処理装置10bは、ユーザAのプレゼンス情報を取得すると、状態情報にしたがって、ユーザAの第1情報処理装置10aおよび第2情報処理装置30aにおけるアプリケーションの状態を示すGUIを生成し、アプリケーションのセッションに参加できるか否かを提示する。
【0034】
第1情報処理装置10bは、状態情報が参加許可情報を含む場合には、ユーザBが参加可能なアプリケーションをユーザAが実行中であることを示すGUIを生成し、一方で、状態情報が参加禁止情報を含む場合には、GUIを生成しない。これにより、ユーザBは、ユーザAが実行しているアプリケーションの状態を確認でき、ユーザAのセッションに参加できるか否かの判断を容易に行うことができる。
【0035】
図5は、第1情報処理装置10の機能ブロックを示す。第1情報処理装置10は、入力装置20、タッチパネル69、入力部80、処理部100、表示装置68、通信部160および記憶部180を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0036】
なお、第2情報処理装置30も、図5に示す第1情報処理装置10の機能ブロックと同様の構成を備える。ここで、第2情報処理装置30は、図5に示す構成のうち、入力部80、処理部100、記憶部180および通信部160を備えている。図3を参照して、図5に示す入力装置20および表示装置68は、第2情報処理装置30に接続する入力装置34および表示装置32にそれぞれ対応している。
【0037】
入力部80は、入力装置20およびタッチパネル69から入力されるユーザによる操作指示を受け付ける。通信部160は、サーバ6に接続して、処理部100で生成したプレゼンス情報を送信し、また他の情報処理装置で生成されたプレゼンス情報を取得する。なお、通信部160は、他の第1情報処理装置10と直接無線または有線で接続して、プレゼンス情報の送受信を行ってもよい。処理部100は、他のユーザが操作する情報処理装置のプレゼンス情報を取得すると、他のユーザの状態を示す状態画像を生成して、ユーザに提示する。表示装置68は、処理部100により生成される状態画像を表示し、またはアプリケーションの実行画面を表示する。
【0038】
処理部100は、アプリケーション実行部110、プレゼンス情報生成部120、送信部130、取得部140、状態画像生成部150およびセッション制御部170を有する。状態画像生成部150は、プレゼンス情報更新部152、参加判定部154、フレンドリスト画像生成部156および詳細画像生成部158を有する。セッション制御部170は、セッション作成部172、セッションID保持部174およびセッション参加部176を有する。状態画像生成部150は、同じユーザアカウントの2以上の他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、当該ユーザアカウントで特定されるユーザの状態を示す状態画像を生成する。
【0039】
セッション制御部170は、サーバ6との連携のもとで、アプリケーションのセッションに関する処理を制御する。具体的には、セッション作成部172が、セッションの作成指示を生成し、セッションID保持部174が、サーバ6により設定されたセッションIDを保持し、セッション参加部176が、セッションID保持部174に保持されたセッションIDを、送信データに含めさせることで、第1情報処理装置10をアプリケーションのセッションに参加させる役割をもつ。なお、セッション制御部170の機能は、アプリケーション実行部110で実行されるアプリケーションにより実現されてもよく、サーバ6により設定されたセッションIDはアプリケーションに渡されて、アプリケーションが、セッションIDを用いてセッションに参加するように動作してもよい。
【0040】
本実施例の情報処理装置は、自身の状態(ステータス)を示すプレゼンス情報をサーバ6を介して他のユーザの情報処理装置に通知し、また他のユーザの情報処理装置から、他のユーザの情報処理装置の状態を示すプレゼンス情報を取得する。以下、情報処理システム1に含まれる情報処理装置を代表して、ユーザAの第1情報処理装置10aが、プレゼンス情報を送信する場合について説明し、ユーザBの第1情報処理装置10bが、他のユーザのプレゼンス情報を取得する場合について説明する。なお、全ての第1情報処理装置10および第2情報処理装置30が、プレゼンス情報の送信機能および受信機能の双方を有しており、第1情報処理装置10aのみが送信機能をもち、また第1情報処理装置10bのみが受信機能をもつわけではない。
【0041】
<プレゼンス情報の送信機能>
第1情報処理装置10aにおいて、アプリケーション実行部110は、入力部80で受け付けた操作指示に応じて、たとえばチャットやゲームなど、複数ユーザが参加できるアプリケーションを起動する。このとき、セッション作成部172は、他のユーザがアプリケーションに参加するためのセッションの作成指示を生成し、送信部130がサーバ6に送信する。セッションの作成指示には、ユーザAの識別情報(ユーザアカウント)およびアプリケーションを特定する情報(以下、「アプリケーションID」と呼ぶ)が含まれる。サーバ6は、セッションの作成指示を受け取ると、セッションIDを設定して、アプリケーション実行部110により実行されるアプリケーションのセッションを作成する。サーバ6は、セッションIDを第1情報処理装置10aに送信し、取得部140が、通信部160を介してセッションIDを取得する。取得したセッションIDは、セッションID保持部174に保持される。なお上記したように、セッション制御部170の機能は、アプリケーション実行部110により実行されるアプリケーションにより実現されてもよい。
【0042】
アプリケーション実行部110は、複数のマルチプレイヤオンラインアプリケーションを同時に実行してもよい。複数のアプリケーションを同時実行する場合には、セッション作成部172は、アプリケーションごとにセッションの作成指示を生成し、サーバ6が、受け取った作成指示ごとにセッションを作成して、それぞれのセッションIDを第1情報処理装置10aに通知する。
【0043】
アプリケーション実行部110は、アプリケーションの実行に際して、ユーザAによるアプリケーションの実行状態を示す状態情報を生成する。この状態情報は、実行中のアプリケーションが、他のユーザからの参加を受け付け可能であるか否かを特定する情報である。たとえば状態情報はフラグ値によって表現されてよく、フラグ1は、参加許可情報であって、他のユーザが参加可能であることを示し、フラグ0は、参加禁止情報であって、他のユーザが参加不能であることを示す。
【0044】
たとえば、チャットセッションでは、アプリケーション実行部110が、参加人数に制限を設けることができる。なおユーザが、アプリケーションに対して参加人数の上限を入力してもよい。参加人数に上限を設けた場合、アプリケーション実行部110は、まだ参加人数が上限に達していなければ、参加可能であることを示すフラグ値1の状態情報(参加許可情報)をプレゼンス情報生成部120に引き渡し、参加人数が上限に達していれば、参加不能であることを示すフラグ値0の状態情報(参加禁止情報)をプレゼンス情報生成部120に引き渡す。また、たとえばカーレースのゲームセッションにおいて、アプリケーション実行部110は、レースがスタートする前は、フラグ値1の状態情報をプレゼンス情報生成部120に引き渡し、一方で、レースがスタートすると、フラグ値0の状態情報をプレゼンス情報生成部120に引き渡す。このように、アプリケーション実行部110は、実行しているアプリケーションのセッションに、他のユーザの情報処理装置が参加できるか否かを判定する。このように情報処理システム1では、アプリケーションセッションに他のユーザが参加できるか否かの判定は、アプリケーション自身により実行され、その判定結果が状態情報としてプレゼンス情報生成部120に引き渡される。
【0045】
プレゼンス情報生成部120は、ユーザアカウント、機器を特定する情報、セッションID、プレゼンス情報の生成日時を特定するタイムスタンプ、アプリケーションIDおよびアプリケーションの実行状態を示す状態情報を含んだプレゼンス情報を生成する。なお複数のアプリケーションが同時に起動されている場合には、各アプリケーションのセッションID、アプリケーションIDおよびアプリケーションの状態情報が、プレゼンス情報に含められる。プレゼンス情報生成部120は、各アプリケーションの最新の状態情報を記憶部180に保持しておき、いずれかのアプリケーションに状態変化が生じた場合に、各アプリケーションの最新の状態情報を含んだプレゼンス情報を生成する。機器を特定する情報は、情報処理装置を識別するためのID(機器ID)および機器名に関する情報を含む。機器名に関する情報は、情報処理装置の呼び名であってもよく、また第1情報処理装置10であるか、または第2情報処理装置30であるかを特定する情報であってもよい。本実施例では、第1情報処理装置10の呼び名を“PortableGameMachine”とし、第2情報処理装置30の呼び名を“GameConsole”とするが、実際には、一般に流通している名称が利用される。プレゼンス情報は、さらに第1情報処理装置10aにおけるゲームのプレイ履歴、使用可能言語などの情報も含んでよい。
【0046】
プレゼンス情報生成部120は、アプリケーション実行部110からアプリケーションIDおよびアプリケーションの状態情報を受け取り、またセッションID保持部174からセッションIDを受け取ることで、プレゼンス情報を生成する。なおアプリケーションがセッションIDを保持している場合には、セッションIDはアプリケーションより提供される。プレイ履歴などをプレゼンス情報に含める場合には、プレゼンス情報生成部120が、記憶部180から必要な情報を読み出す。
【0047】
プレゼンス情報生成部120は、第1情報処理装置10aの状態(ステータス)に変化があると、プレゼンス情報を生成(更新)する。たとえばプレゼンス情報生成部120は、アプリケーションの状態が変化するとプレゼンス情報を更新する。状態の変化ポイントとしては、たとえば、以下のような場合が挙げられる。
(1)アプリケーションが起動された場合
(2)アプリケーションにおいて、他のユーザの参加が可能となった場合
(3)アプリケーションにおいて、他のユーザの参加が可能だった状態から、参加不能な状態となった場合
(4)アプリケーションが終了された場合
なお、状態の変化ポイントは、(1)〜(4)に加えて、アプリケーションによって任意に設定されてよい。設定される状態変化ポイントは、プレゼンス情報の更新契機となる。
【0048】
以下、上記した状態変化ポイントに関して、プレゼンス情報に含められるアプリケーションIDと状態情報の関係について説明する。
アプリケーションが起動されたとき、プレゼンス情報には、アプリケーションIDと、フラグ値0の状態情報(参加禁止情報)が含められる。
アプリケーションにおいて、他のユーザの参加が可能となった場合、プレゼンス情報には、アプリケーションIDと、フラグ値1の状態情報(参加許可情報)が含められる。
アプリケーションにおいて、他のユーザの参加が可能だった状態から、参加不能な状態となった場合、プレゼンス情報には、アプリケーションIDと、フラグ値0の状態情報(参加禁止情報)が含められる。
アプリケーションが終了されたとき、プレゼンス情報には、アプリケーションIDおよび状態情報ともに含められない。つまり、この場合は、アプリケーションIDなどをプレゼンス情報に含めないことで、アプリケーションの終了を通知するプレゼンス情報が生成される。
なお、この例では、状態情報は、参加の可否を特定する情報であるが、たとえばゲーム中の所定のミッションをクリアしたことや、所定のアイテムを獲得したことが状態変化ポイントに設定されている場合には、ミッションをクリアしたこと、またはアイテムを獲得したことが、状態情報としてプレゼンス情報に含められてもよい。
【0049】
送信部130は、プレゼンス情報生成部120により生成されたプレゼンス情報を、通信部160を介して、サーバ6に送信する。以上は、プレゼンス情報を送信する第1情報処理装置10aにおける処理である。
【0050】
なお、ユーザAの第2情報処理装置30aにおいても、同様の処理が実行される。同じく、ユーザBの第1情報処理装置10b、第2情報処理装置30b、およびユーザCの第1情報処理装置10c、第2情報処理装置30cにおいても、同様の処理が実行される。すなわち、各情報処理装置は、アプリケーションの状態に変更があると、その変更された最新の状態をプレゼンス情報に含めてサーバ6に送信する。なお情報処理装置は、複数のアプリケーションを実行している場合、最新の状態変化が生じたアプリケーションについては、変更後の最新の状態情報をプレゼンス情報に含める一方で、状態変化が生じていないアプリケーションについては、記憶部180に保持されている最新の状態情報をプレゼンス情報に含めて、サーバ6に送信する。
【0051】
サーバ6は、各ユーザの情報処理装置から送信されるプレゼンス情報を蓄積する。情報処理システム1において、各ユーザは複数の情報処理装置からネットワークサービスにサインインしており、サーバ6は、ユーザの情報処理装置ごとに、プレゼンス情報を記憶する。ユーザAに関して言えば、サーバ6は、ユーザAのアカウントに紐付けて、第1情報処理装置10aから送信されるプレゼンス情報と、第2情報処理装置30aから送信されるプレゼンス情報を保持する。このとき、サーバ6は、最新のプレゼンス情報のみを保持するようにしており、したがって第1情報処理装置10aのプレゼンス情報を保持している状態で、第1情報処理装置10aから新たなプレゼンス情報が送信されると、前のプレゼンス情報を、新たなプレゼンス情報で上書きする。なおサーバ6は、必ずしもプレゼンス情報を上書きする必要はなく、情報処理装置ごとに、所定数を上限としてプレゼンス情報を記憶してもよい。
【0052】
サーバ6は、各ユーザごとに、「フレンド」と呼ばれる特定のユーザをリスト形式で登録している。予めユーザ間で合意がなされた場合に、フレンドの登録は行われ、ユーザは、フレンドを増やすことで、一緒にチャットやゲームをする仲間を増やすことができる。サーバ6は、ユーザBのフレンドリストを保持しており、ユーザBの情報処理装置からプレゼンス情報の取得要求を受信すると、ユーザBに対して、ユーザBのフレンドリストに含まれるユーザのプレゼンス情報を送信する。ここで、ユーザBのフレンドリストに、ユーザA、Cが登録されていれば、サーバ6は、プレゼンス情報の取得要求に応じて、ユーザBの情報処理装置に、ユーザAの第1情報処理装置10a、第2情報処理装置30a、ユーザCの第1情報処理装置10c、第2情報処理装置30cのプレゼンス情報を送信する。
【0053】
<プレゼンス情報の受信機能>
ユーザBの第1情報処理装置10bが、ユーザBのフレンドリストに登録されている他のユーザのプレゼンス情報を取得する場合について説明する。なおサーバ6において、ユーザBのフレンドリストに、ユーザA、Cが登録されているものとする。
【0054】
第1情報処理装置10bにおいて、取得部140が、通信部160を介して、サーバ6に定期的にアクセスし、ユーザA、Cのプレゼンス情報を取得する。このとき、取得部140は、既に取得したプレゼンス情報については取得しないようにし、ユーザA、Cの未取得のプレゼンス情報がサーバ6に蓄積されている場合に、未取得のプレゼンス情報を取得するようにすることが好ましい。
【0055】
取得部140が取得するプレゼンス情報は、ユーザAの第1情報処理装置10a、第2情報処理装置30a、およびユーザCの第1情報処理装置10c、第2情報処理装置30cにおいて生成されたプレゼンス情報そのものであってもよく、サーバ6において何らかの情報が追加または削除されて加工されたものであってもよい。いずれにしても、取得部140が取得するプレゼンス情報には、ユーザアカウント、機器特定情報、セッションID、タイムスタンプ、アプリケーションIDおよびアプリケーションの状態情報が含まれている。
【0056】
状態画像生成部150は、取得したプレゼンス情報をもとに、他のユーザの状態を示す状態画像を生成する。本実施例において、他のユーザの状態は、他のユーザの情報処理装置で実行されているアプリケーション名によって表現され、ユーザBは、アプリケーション名を見ることで、他のユーザがどのアプリケーションをプレイしているか容易に知ることができる。
【0057】
図6は、フレンドリスト画面の一例を示す。ユーザBは、メニュー画面(図示せず)において入力装置20またはタッチパネル69を操作し、フレンドリスト画面の表示ボタンを選択すると、状態画像生成部150が、フレンドリスト画面を生成する。ここでは、ユーザBのフレンドとしてユーザA、Cが登録されていることを前提としている。第1情報処理装置10bにおいて、取得部140は、サーバ6から、ユーザAの第1情報処理装置10aおよび第2情報処理装置30aのプレゼンス情報と、ユーザCの第1情報処理装置10cおよび第2情報処理装置30cのプレゼンス情報を取得し、状態画像生成部150は、取得したプレゼンス情報をもとに、フレンド登録しているユーザの状態を示す状態画像を生成する。
【0058】
なおプレゼンス情報は、情報処理装置において状態変化が生じるたびにサーバ6に送信される。通信部160がネットワーク4に常時接続している場合、取得部140は定期的にサーバ6にアクセスし、サーバ6は、ユーザBのフレンドのプレゼンス情報が更新されていれば、更新されたプレゼンス情報を第1情報処理装置10bに送信する。これにより取得部140は、更新されたプレゼンス情報を取得する。取得部140は、プレゼンス情報を状態画像生成部150のプレゼンス情報更新部152に渡し、プレゼンス情報更新部152は、プレゼンス情報を受け取ると、記憶部180において、それ以前のプレゼンス情報を上書きする。
【0059】
なお、通信部160がネットワーク4に常時接続していない場合には、取得部140は、ユーザBによりフレンドリスト画面の表示ボタンが選択されたタイミングで、サーバ6からプレゼンス情報を取得する。この場合、サーバ6は、最新のプレゼンス情報を通信部160に送信する。
【0060】
プレゼンス情報更新部152は、プレゼンス情報に含まれる機器特定情報をもとに、プレゼンス情報の送信元を特定し、同じ送信元のプレゼンス情報が既に記憶部180に記憶されていれば、新しいプレゼンス情報で上書きし、その送信元のプレゼンス情報が記憶部180に記憶されていなければ、そのプレゼンス情報を記憶部180に記憶する。これにより、記憶部180には、フレンドの情報処理装置ごとに、最新のプレゼンス情報が記憶されることになる。なおプレゼンス情報更新部152は、それ以前のプレゼンス情報を上書きするのではなく、記憶部180において、複数のプレゼンス情報を記憶するようにしてもよい。この場合、プレゼンス情報更新部152は、他のユーザの情報処理装置ごとに、所定数を上限としてプレゼンス情報を記憶してもよく、また現在日時から所定時間以内(たとえば6時間以内)のプレゼンス情報を記憶するようにしてもよい。
【0061】
参加判定部154は、プレゼンス情報に含まれる状態情報(参加可否情報)を参照して、フレンドごとに、ユーザBが参加可能なアプリケーションが実行されているか否かを判定する。ユーザAは第1情報処理装置10aと第2情報処理装置30aを起動しており、それぞれにおいてアプリケーションが実行されているが、第1情報処理装置10aと第2情報処理装置30aとで実行されている複数のアプリケーションのうち、1つでもユーザBが参加可能なアプリケーションがあれば、参加判定部154は、ユーザAが実行中のアプリケーションに、ユーザBが参加可能であることを判定する。このように、フレンドリスト画像の生成時には、参加判定部154は、フレンドごとに、ユーザBが参加可能なアプリケーションが実行されているか否かを判定する。
【0062】
なお参加判定部154は、状態情報に加えて、アプリケーションIDも加味して、ユーザBが参加可能なアプリケーションが実行されているか否かを判定してもよい。情報処理システム1には、第1情報処理装置10と第2情報処理装置30の2種類の情報処理装置が混在しているが、これらのプラットフォームは異なっている。異なるプラットフォームでも他のユーザの参加を可能とするアプリケーションが存在する一方で、異なるプラットフォームでは他のユーザの参加を受け付けないアプリケーションも存在する。これは、アプリケーションによって予め定められている。参加判定部154は、プレゼンス情報に含まれる機器特定情報を参照して、プレゼンス情報に含まれるアプリケーションIDをもとに、ユーザBが参加可能なアプリケーションであるか判定する。したがって、プレゼンス情報に参加許可情報が含まれている場合でも、アプリケーションIDで特定されるアプリケーションが、異なるプラットフォームの情報処理装置からの参加を受け付けないものであり、且つプレゼンス情報に含まれる機器特定情報から、第1情報処理装置10bとプラットフォームが異なることが判定されれば、参加判定部154は、そのアプリケーションに、ユーザBが参加できないことを判定する。
【0063】
また参加判定部154は、ユーザBの第1情報処理装置10bが、アプリケーションを実行できる環境にあるか否かを判定する。たとえば第1情報処理装置10bに、プレゼンス情報に含まれるアプリケーションIDで特定されるソフトウェアがインストールされていなければ、参加判定部154は、ユーザBが参加できないアプリケーションであることを判定する。
【0064】
フレンドリスト画像生成部156は、ユーザA、Cの最新のプレゼンス情報と、参加判定部154における判定結果を用いて、フレンドリスト画像を生成し、表示装置68で表示させる。フレンドリスト画像は、1以上の他のユーザの状態を示す状態画像であり、具体的には1以上の他のユーザがプレイしているゲーム名を含む画像である。フレンドリスト画像生成部156は、プレゼンス情報に含まれるユーザアカウントをもとに、プレゼンス情報のユーザを特定する。フレンドリスト画像生成部156は、2以上の情報処理装置から取得された同じユーザアカウントを含むプレゼンス情報のうち、最新のプレゼンス情報をもとに、ユーザの状態を示す状態画像を生成する。
【0065】
図6に示すフレンドリスト画面には、ユーザごとに、最新のプレゼンス情報の少なくとも一部が表示される。ユーザ状態表示領域200aには、ユーザAの状態として、ユーザAの情報処理装置で実行中のアプリケーション名、すなわちゲームタイトルが表示される。具体的にユーザ状態表示領域200aにおいて、ユーザ名202aは、ユーザAの名前(ニックネーム)を示し、ゲーム名204aは、ユーザAが実行中のゲームタイトルを示し、機器情報206aは、ゲーム名204aで特定されるゲームタイトルが実行されている情報処理装置の機器名を示す。ここで、“PortableGameMachine”は、携帯型の第1情報処理装置10aの呼び名である。
【0066】
フレンドリスト画像生成部156は、記憶部180から、ユーザAの第1情報処理装置10aおよび第2情報処理装置30aのプレゼンス情報を読み出す。フレンドリスト画像生成部156は、2つのプレゼンス情報に含まれるタイムスタンプで特定される日時情報を比較して、最新のものを特定する。なお、プレゼンス情報更新部152は、記憶部180にプレゼンス情報を記憶させるとき、記憶した日時情報をプレゼンス情報に対応付けておいてもよい。フレンドリスト画像生成部156は、プレゼンス情報にタイムスタンプが含まれていなければ、代わりに記憶した日時情報を用いて、2つのプレゼンス情報のうち新しい方を特定してもよい。
【0067】
図6に示すフレンドリスト画面においては、第1情報処理装置10aのプレゼンス情報が、第2情報処理装置30aのプレゼンス情報よりも新しかったため、フレンドリスト画像生成部156が、第1情報処理装置10aのプレゼンス情報から、アプリケーションID、機器特定情報を抽出して、ユーザ状態表示領域200aのゲーム名204a、機器情報206aを生成する。ゲーム名は、アプリケーションIDに対応し、フレンドリスト画像生成部156は、アプリケーションIDからゲーム名を導出してもよいが、ゲーム名がプレゼンス情報に予め含まれていてもよい。なお、第2情報処理装置30aのプレゼンス情報が第1情報処理装置10aのプレゼンス情報よりも新しければ、フレンドリスト画像生成部156は、第2情報処理装置30aのプレゼンス情報から、アプリケーションID、機器特定情報を抽出して、ユーザ状態表示領域200aのゲーム名204a、機器情報206aに表示する情報を生成する。
【0068】
またユーザ状態表示領域200bには、ユーザCの状態として、ユーザCの情報処理装置で実行中のアプリケーション名が表示される。ユーザ状態表示領域200bにおいて、ユーザ名202bは、ユーザCの名前(ニックネーム)を示し、ゲーム名204bは、ユーザCが実行中のゲームタイトルを示し、機器情報206bは、ゲーム名204bで特定されるゲームタイトルが実行されている情報処理装置の機器名を示す。ここで、“GameConsole”は、据置型の第2情報処理装置30cの呼び名である。
【0069】
フレンドリスト画像生成部156は、記憶部180から、ユーザCの第1情報処理装置10cおよび第2情報処理装置30cのプレゼンス情報を読み出す。フレンドリスト画像生成部156は、2つのプレゼンス情報に含まれるタイムスタンプで特定される日時情報を比較して、最新のものを特定する。ここでは、第2情報処理装置30cのプレゼンス情報が、第1情報処理装置10cのプレゼンス情報よりも新しかったため、フレンドリスト画像生成部156が、第2情報処理装置30cのプレゼンス情報から、アプリケーションID、機器特定情報を抽出して、ユーザ状態表示領域200bのゲーム名204b、機器情報206bを生成する。
【0070】
このように、フレンドリスト画像生成部156は、フレンドごとに、最新のプレゼンス情報をもとにユーザ状態表示領域200のゲーム名204、機器情報206を定めることで、ユーザBは、フレンドの最新の状態を知ることができる。
【0071】
ユーザAのユーザ状態表示領域200aおよびユーザCのユーザ状態表示領域200bに、最新の状態変化が生じた1つのアプリケーション名(ゲームタイトル)のみを表示することで、ユーザBは容易にフレンドA、Cの状態を把握できる。フレンドが使用する情報処理装置のプレゼンス情報の内容を全て表示すると、情報量が多くなり、ユーザBは、フレンドA、Cがいま何をやっているのか理解しづらくなる。このような理由から、フレンドリスト画面においては、フレンドの最新のプレゼンス情報のみを用いて、ユーザ状態表示領域200の表示内容を決定している。これにより、ユーザBは、ユーザA、Cがどの情報処理装置で、何のゲームをプレイしているか容易に把握できるようになる。
【0072】
このようにユーザ状態表示領域200には、最新の状態変化が生じたアプリケーション名のみを表示することが好ましいが、2以上のアプリケーション名が表示されてもよい。この場合であっても、フレンドが操作する情報処理装置のプレゼンス情報の内容を全て表示するのではなく、表示するアプリケーション名の数は、所定数を上限として設定されていることが好ましい。プレゼンス情報更新部152は、タイムスタンプが現在日時から近い順に所定数のプレゼンス情報を記憶部180に記憶しておき、フレンドリスト画像生成部156が、最新のプレゼンス情報および直近のプレゼンス情報を用いて、現在日時から近いタイミングで状態変化の生じた2以上のアプリケーション名をユーザ状態表示領域200に含めてもよい。これにより、ユーザBは、ユーザAが最近、どの情報処理装置で、何のゲームをプレイしていたかの履歴を容易に把握できるようになる。
【0073】
ユーザ状態表示領域200aにおいて、Joinマーク208は、ユーザBが参加可能なアプリケーションを、ユーザAが実行していることを示す情報である。フレンドリスト画像生成部156は、参加判定部154による判定結果をもとに、ユーザAが実行中のアプリケーションにユーザBが参加可能なものが存在する場合に、Joinマーク208をユーザ状態表示領域200aに付加する。図6に示すフレンドリスト画面では、ユーザAのユーザ状態表示領域200aにおいてJoinマーク208が付加される一方で、ユーザCのユーザ状態表示領域200bには、Joinマーク208が付加されていない。これは、ユーザAが実行中のアプリケーションに、ユーザBが参加可能なものが存在することを示す一方で、ユーザCが実行中のアプリケーションには、ユーザBが参加可能なものが存在しないことを示している。
【0074】
このようにフレンドリスト画像生成部156は、参加判定部154により参加可能なアプリケーションが実行されていることが判定されたユーザAの状態を表示するユーザ状態表示領域200aと、参加可能なアプリケーションが実行されていないことが判定されたユーザCの状態を表示するユーザ状態表示領域200bとで、表示態様を異ならせる。これにより、ユーザBは、即座に、自身が参加可能なアプリケーションを実行しているフレンドを知ることができる。
【0075】
なおユーザAのユーザ状態表示領域200aにJoinマーク208が付加されることは、ユーザAが実行中のアプリケーションにユーザBが参加可能なものが含まれることを意味するのであって、ユーザBがゲーム名204aに示されるゲームタイトル“CAR RACE2”に参加可能であることを必ずしも示すものではない。たとえば、第1情報処理装置10aで実行中の“CAR RACE2”は、ユーザBの参加を受け付けていなくても、第2情報処理装置30aで実行中のアプリケーションがユーザBの参加を受け付けていれば、Joinマーク208が付加される。
【0076】
なお、Joinマーク208は、参加可能であることを示す表示の一態様であり、他の表示態様が利用されてもよい。たとえば、フレンドリスト画像生成部156は、ユーザ状態表示領域200aの全体を点滅させる一方で、ユーザ状態表示領域200bの全体を点滅させないように表示することで、ユーザBに、参加可能なアプリケーションをユーザAが実行していることを知らせてもよい。またフレンドリスト画像生成部156は、参加可能な場合と参加不能な場合とで、ユーザ状態表示領域200の表示色を異ならせたり、また文字色や文字フォント、文字サイズを異ならせたりしてもよい。ユーザBは、自身が参加可能なアプリケーションをフレンドが実行していることに関心をもっているため、参加可能なアプリケーションを実行しているユーザのユーザ状態表示領域200は、目立つように表示することが好ましい。
【0077】
図6には、2つのユーザ状態表示領域200が示されているが、ユーザ状態表示領域200の数は、フレンドの数に一致する。そのため、ユーザ状態表示領域200の数は、フレンドの数に応じて、3つ以上になり得るし、また1つ以下にもなり得る。ユーザBは、フレンドを選択すると、そのフレンドの詳細情報を閲覧できる。具体的にフレンドリスト画面において、ユーザBがユーザ状態表示領域200aを選択すると、ユーザAの詳細情報を閲覧でき、ユーザ状態表示領域200bを選択すると、ユーザCの詳細情報を閲覧できる。この選択操作は、ユーザ状態表示領域200をタップして、タッチパネル69によりタップ位置を検出されることで行われてもよく、また、入力装置20を操作してカーソルを動かすことで行われてもよい。
【0078】
図7は、フレンドの詳細情報画面の一例を示す。図6に示すフレンドリスト画面において、ユーザ状態表示領域200aがタップされると、詳細画像生成部158は、記憶部180に記憶されているユーザAのプレゼンス情報をもとに、ユーザAの状態を示す詳細情報画像を生成する。フレンドの詳細情報画像は、1人のユーザの状態を示す状態画像であり、具体的には、1人のユーザがプレイしているゲーム名を表示する領域と、ユーザBが参加可能なゲーム名を表示する領域とを含む画像である。
【0079】
詳細画像生成部158は、1人のフレンドの状態を示す状態画像を生成する。参加判定部154は、プレゼンス情報に含まれる状態情報(参加可否情報)を参照して、アプリケーションが参加可能なものであるか否かを判定する。フレンド詳細情報画像の生成時には、参加判定部154は、プレゼンス情報ごとに、ユーザBが参加可能なアプリケーションが実行されているか否かを判定する。なお上記したように、参加判定部154は、状態情報に加えて、アプリケーションIDも加味して、ユーザBが参加可能なアプリケーションであるか否かを判定してもよい。
【0080】
詳細画像生成部158は、ユーザAのプレゼンス情報と、参加判定部154における判定結果を用いて、フレンドの詳細情報画像を生成し、表示装置68で表示させる。まず詳細画像生成部158は、ユーザAのユーザアカウントをもとに、記憶部180から第1情報処理装置10aおよび第2情報処理装置30aのプレゼンス情報を読み出す。
【0081】
図7に示すフレンド詳細情報画面において、詳細画像生成部158は、最新のプレゼンス情報をもとに、アプリケーション名を表示するユーザ状態表示領域220aと、参加判定部154により参加可能であることが判定されたアプリケーション名を表示するアプリケーション状態表示領域230とを生成する。なお詳細画像生成部158は、参加判定部154により、参加可能でないことが判定されたアプリケーションについても、所定の表示領域に、アプリケーション名を表示してもよい。
【0082】
ユーザ状態表示領域220aには、ユーザAの状態として、ユーザAの情報処理装置で実行中のアプリケーション名が表示される。ユーザ状態表示領域220aにおいて、ゲーム名224aは、ユーザAが実行中のゲームタイトルを示し、機器情報226aは、ゲーム名224aで特定されるゲームタイトルが実行されている情報処理装置の機器名を示す。
【0083】
詳細画像生成部158は、第1情報処理装置10aおよび第2情報処理装置30aのプレゼンス情報に含まれるタイムスタンプで特定される日時情報を比較して、最新のものを特定する。図6に関しても説明したように、ここでは第1情報処理装置10aのプレゼンス情報が、第2情報処理装置30aのプレゼンス情報よりも新しかったため、詳細画像生成部158は、第1情報処理装置10aのプレゼンス情報から、アプリケーションID、機器特定情報を抽出して、ユーザ状態表示領域220aのゲーム名224a、機器情報226aを生成する。
【0084】
このように、詳細画像生成部158は、ユーザAの最新のプレゼンス情報をもとにユーザ状態表示領域220aのゲーム名224a、機器情報226aを定めることで、ユーザBは、ユーザAの最新の状態を知ることができる。詳細画像生成部158は、フレンド詳細情報画面において、ユーザ状態表示領域220aを見えやすい位置、たとえば最上部に近い位置に配置する。なお詳細画像生成部158は、他のアプリケーション状態表示領域230などの表示項目よりも上方に、ユーザ状態表示領域220aを配置することが好ましい。一番目立つ位置にユーザ状態表示領域220aを配置することで、ユーザBは、ユーザAが今何をしているのか、一目で理解することができる。
【0085】
なお詳細画像生成部158は、複数のプレゼンス情報をもとに、ユーザ状態表示領域220aの表示内容を定めてもよい。図7に示すユーザ状態表示領域220aには、最新の(1つの)アプリケーション名のみを表示しているが、所定数を上限とする2以上のアプリケーション名が表示されてもよい。たとえば詳細画像生成部158は、現在日時に近いタイムスタンプを含む複数のプレゼンス情報を用いて、ユーザ状態表示領域220aに、所定数の範囲内で、状態変化の生じたゲーム名224aを表示する。これにより、ユーザBは、ユーザAが最近どのゲームをプレイしているのか、一目で理解することができる。この場合、表示するアプリケーション名の数を所定数に制限することで、表示する情報量を抑えることができる。このように詳細画像生成部158は、最新のプレゼンス情報および直近のプレゼンス情報を用いて、現在日時から近いタイミングで状態変化の生じた所定数のアプリケーション名をユーザ状態表示領域220aに含めてもよい。
【0086】
また詳細画像生成部158は、ユーザ状態表示領域220aの下方に、ユーザBが参加可能であるアプリケーション名を含むアプリケーション状態表示領域230a、230bを生成する。アプリケーション状態表示領域230aにおいて、ゲーム名234aは、ユーザAが第1情報処理装置10aで実行中のゲームタイトルを示し、機器情報236aは、ゲーム名234aで特定されるゲームタイトルが実行されている第1情報処理装置10aの機器名を示す。またアプリケーション状態表示領域230bにおいて、ゲーム名234bは、ユーザAが第2情報処理装置30aで実行中のゲームタイトルを示し、機器情報236bは、ゲーム名234bで特定されるゲームタイトルが実行されている第2情報処理装置30aの機器名を示す。
【0087】
ここでは参加判定部154が、第1情報処理装置10aにおいて実行されている“CAR RACE2”、および第2情報処理装置30aにおいて実行されている“CHAT”の両方に、ユーザBが参加可能であることを判定している。これにより、アプリケーション状態表示領域230a、230bにて、各アプリケーションの情報が表示されている。
【0088】
参加可能でないことが判定されたアプリケーションが存在する場合、そのアプリケーションの情報は、アプリケーション状態表示領域230a、230bよりも下方に表示されることが好ましい。ユーザBにとって、ユーザBが参加可能なアプリケーションが実行されていることは、参加できないアプリケーションが実行されていることよりも有用な情報であるため、有用な情報を画面中のより上方に配置することは、効率的な情報提示を実現する。
【0089】
なお、参加可能でないことが判定されたアプリケーションが存在する場合、そのアプリケーション名は、表示されないようにしてもよい。特に、表示装置68が小型ディスプレイである場合、有用性の低い情報を表示しないことで、効率的な情報提示を実現する。このように詳細画像生成部158が、参加可能なアプリケーションの情報のみを表示し、参加不能なアプリケーションの情報は表示しないことで、ユーザBは、自身にとって有用な情報のみを入手できるようになる。なお、図7には示していないが、ユーザAの様々な情報(プレイ履歴などの情報)をフレンド詳細情報画面に含める場合、有用性の低い情報は可能な限り削除することが好ましい。そこで、ユーザBにとって必要な情報を提示し、有用性の低い情報は可能な限り提示しないことで、効率よい情報提示を可能とするユーザインタフェースを実現する。
【0090】
アプリケーション状態表示領域230はGUI(Graphical User Interface)であり、ユーザBが、アプリケーション状態表示領域230をタップすると、対応するアプリケーションが起動して、ユーザBはそのアプリケーションのセッションに参加できる。たとえばユーザBは、アプリケーション状態表示領域230bをタップすると、ユーザAが第2情報処理装置30aで実行している“CHAT”に参加できる。
【0091】
具体的にユーザBがアプリケーション状態表示領域230bをタップすると、アプリケーション実行部110は、有効な選択操作として受け付けて、チャットアプリケーションを起動するとともに、セッションID保持部174が、第2情報処理装置30aのプレゼンス情報から抽出されるセッションIDを取得する。なお、セッションIDは、チャットアプリケーション自身により保持されてもよい。これにより、第1情報処理装置10bは、セッションIDを用いて、第2情報処理装置30aとの間でチャットを楽しむことができるようになる。
【0092】
第1情報処理装置10bは、チャットセッションにおいて、入力したチャットテキストと、セッションIDおよびユーザBのアカウントとを少なくとも含むチャットデータをサーバ6に送信し、サーバ6は、チャットデータを第2情報処理装置30aに送信する。第2情報処理装置30aは、チャットデータに含まれるセッションIDを参照して、チャットセッションのデータであることを認識し、チャットウィンドウに表示する。第2情報処理装置30aから第1情報処理装置10bにチャットデータを送信する処理も同様である。これにより、第2情報処理装置30aおよび第1情報処理装置10bは、同期して共通のアプリケーションを実行することができる。
【0093】
図8は、フレンドの詳細情報画面の別の例を示す。図6に示すフレンドリスト画面において、ユーザ状態表示領域200bがタップされると、詳細画像生成部158は、記憶部180に記憶されているユーザCのプレゼンス情報をもとに、ユーザCの状態を示す詳細情報画像を生成する。
【0094】
参加判定部154は、プレゼンス情報に含まれる状態情報(参加可否情報)を参照して、アプリケーションが参加可能なものであるか否かを判定する。フレンド詳細情報画像の生成時には、参加判定部154は、プレゼンス情報ごとに、ユーザBが参加可能なアプリケーションが実行されているか否かを判定する。
【0095】
詳細画像生成部158は、ユーザCのプレゼンス情報と、参加判定部154における判定結果を用いて、フレンドの詳細情報画像を生成し、表示装置68で表示させる。まず詳細画像生成部158は、ユーザCのユーザアカウントをもとに、記憶部180から第1情報処理装置10cおよび第2情報処理装置30cのプレゼンス情報を読み出す。
【0096】
図8に示すフレンド詳細情報画面において、詳細画像生成部158は、最新のプレゼンス情報をもとに、アプリケーション名を表示するユーザ状態表示領域220bを生成する。ユーザ状態表示領域220bには、ユーザCの状態として、ユーザCの情報処理装置で実行中のアプリケーション名が表示される。ユーザ状態表示領域220bにおいて、ゲーム名224bは、ユーザCが実行中のゲームタイトルを示し、機器情報226bは、ゲーム名224bで特定されるゲームタイトルが実行されている情報処理装置の機器名を示す。
【0097】
このフレンド詳細情報画面では、ユーザBが参加可能なアプリケーション名を表示するアプリケーション状態表示領域230は生成されていない。これは、参加判定部154により、ユーザCが実行中のアプリケーションに、ユーザBが参加できるものがないことが判定されたためである。これにより、ユーザBは、ユーザCが実行中のアプリケーションに参加できないことを知ることができる。なおユーザBは、図6に示すユーザ状態表示領域200bにおいて、Joinマーク208が付与されていないことから、ユーザCが実行中のアプリケーションに、ユーザBが参加できるものがないことを知ることもできる。
【0098】
図8においては、ユーザBが参加可能でないアプリケーション名が示されていないが、上記したように、フレンド詳細情報画面には、フレンドが実行中のアプリケーション名が全て表示されてもよい。なお、参加可能なアプリケーション名と、参加不能なアプリケーション名とは、異なる態様で表示されることが好ましい。たとえば参加可能なアプリケーション名の近傍には、参加可能であることを示す「JOIN」マークが付加され(図7参照)、参加不能なアプリケーション名には「JOIN」マークが付加されない。
【0099】
図8において、ユーザ状態表示領域220bの下方には、ユーザCの詳細情報、たとえばユーザCのプレイ履歴を示すプレイ履歴領域240や、ユーザCの使用可能な言語を示す言語領域242などが生成されている。
【0100】
図9は、図7に示すGUIを生成するフローチャートを示す。メニュー画面において、ユーザが入力装置20またはタッチパネル69を操作して、フレンドリスト画面の表示ボタンを選択すると(S10)、取得部140が、サーバ6から、自分のフレンドリストに登録されているフレンドのプレゼンス情報を取得する(S12)。なお取得部140が定期的にサーバ6からプレゼンス情報を取得している場合には、フレンドリスト画像生成部156が、記憶部180から、フレンドのプレゼンス情報を読み出してもよい。
【0101】
参加判定部154は、プレゼンス情報を参照して、フレンドごとに、参加可能なアプリケーションが実行されているか判定する(S14)。フレンドリスト画像生成部156は、フレンドの最新のプレゼンス情報と、参加判定部154における判定結果を用いて、図6に示すフレンドリスト画面を生成する(S16)。
【0102】
続いて、ユーザが、いずれかのフレンドのユーザ状態表示領域200を選択し、フレンドを指定すると(S18)、参加判定部154は、フレンドが実行中のアプリケーションが参加可能なものであるか判定する(S20)。この判定により、参加可能であると判定されたアプリケーションについては(S20のY)、詳細画像生成部158は、アプリケーション状態表示領域230を生成して(S22)、フレンド詳細情報画面を生成する(S24)。一方、参加可能でないと判定されたアプリケーションについては(S20のN)、詳細画像生成部158は、アプリケーション状態表示領域230を生成せずに、フレンド詳細情報画面を生成する(S24)。
【0103】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0104】
実施例は、複数の第1情報処理装置10が無線LANのインフラストラクチャモードで接続している例を示したが、アドホックモードで接続していてもよい。この場合、第1情報処理装置10は、プレゼンス情報を互いに送受信することで、他の第1情報処理装置10のアプリケーションの状態に応じた状態画像を生成できる。
【0105】
また実施例では、情報処理装置の取得部140が、定期的にサーバ6にアクセスしてプレゼンス情報を取得しているが、たとえばサーバ6が、情報処理装置にプレゼンス情報を送信するようにしてもよい。このとき、サーバ6は、情報処理装置のユーザのフレンドリストに登録されているすべてのユーザのプレゼンス情報を定期的に送信してもよく、また、フレンドリストに登録されているユーザのプレゼンス情報に更新があった場合に、更新されたプレゼンス情報を、更新があるたびに送信するようにしてもよい。
【0106】
また実施例では、各情報処理装置において、取得部140が、サーバ6から、フレンドの2以上の情報処理装置で生成されたプレゼンス情報を取得し、状態画像生成部150が、最新のプレゼンス情報をもとに、フレンドの状態を示す状態画像を生成することを説明した。変形例では、サーバ6が、フレンドリスト画像生成部156および詳細画像生成部158における表示用データの生成処理を担当する。具体的にサーバ6は、情報処理装置からのフレンドリスト画像の生成要求に応じて、フレンドリスト画像に含める表示内容を決定してフレンドリスト画像生成用のデータを生成し、またフレンド詳細情報画像の生成要求に応じて、フレンド詳細情報画像に含める表示内容を決定してフレンド詳細情報画像生成用のデータを生成する。
【0107】
具体的にサーバ6は、ユーザBの情報処理装置から、フレンドリスト画像の生成要求を受けると、ユーザBのフレンドリストに含まれるユーザA、Cのプレゼンス情報を読み出し、ユーザA、Cの最新のプレゼンス情報を特定して、フレンドリスト画像(図6参照)に含める表示内容を決定する。またサーバ6は、ユーザAの詳細情報画像の生成要求を受けると、ユーザAのプレゼンス情報を読み出し、ユーザAの最新のプレゼンス情報を特定して、フレンド詳細情報画像(図7参照)に含める表示内容を決定する。
【0108】
このときサーバ6は、ユーザBの情報処理装置のインストール状況などを把握しておき、ユーザBがアプリケーションに参加できるか否かを判断する参加判定部154の機能を実現することが好ましい。これにより、状態画像生成部150の機能を、そのままサーバ6に移すことができ、情報処理装置の処理負荷を低減することが可能となる。なお、参加判定部154の機能については、情報処理装置側で担当して、状態画像生成処理を、サーバ6と情報処理装置とで協働して実行してもよい。
【0109】
サーバ6は、通信部と、通信部を介して、同じユーザアカウントの2以上の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、取得したプレゼンス情報をもとに、情報処理装置においてフレンドの状態を示す状態画像を生成するための状態画像生成用データを生成するデータ生成部とを備える。
【0110】
データ生成部は、実施例において説明した状態画像生成部150における機能の少なくとも一部を実現し、同じユーザアカウントの2以上の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、そのユーザアカウントで特定されるユーザの状態を示す状態画像を生成するための状態画像生成用データを生成する。データ生成部は、ユーザBの情報処理装置から、フレンドリスト画像の生成要求を受けると、ユーザBのフレンドリストに含まれるユーザA、Cのプレゼンス情報を読み出し、ユーザA、Cの最新のプレゼンス情報を特定して、フレンドリスト画像(図6参照)を生成するための表示用データを生成する。またデータ生成部は、ユーザAの詳細情報画像の生成要求を受けると、ユーザAのプレゼンス情報を読み出し、ユーザAの最新のプレゼンス情報を特定して、フレンド詳細情報画像(図7参照)を生成するための表示用データを生成する。データ生成部が、表示用データを生成すると、通信部が、ユーザBの情報処理装置に表示用データを送信する。ユーザBの情報処理装置は、受信した表示用データを用いて、フレンドリスト画像(図6参照)またはフレンド詳細情報画像(図7参照)を生成して、表示装置68において表示する。
【符号の説明】
【0111】
1・・・情報処理システム、6・・・サーバ、10・・・第1情報処理装置、30・・・第2情報処理装置、68・・・表示装置、69・・・タッチパネル、80・・・入力部、100・・・処理部、110・・・アプリケーション実行部、120・・・プレゼンス情報生成部、130・・・送信部、140・・・取得部、150・・・状態画像生成部、152・・・プレゼンス情報更新部、154・・・参加判定部、156・・・フレンドリスト画像生成部、158・・・詳細画像生成部、160・・・通信部、170・・・セッション制御部、172・・・セッション作成部、174・・・セッションID保持部、176・・・セッション参加部、180・・・記憶部。

【特許請求の範囲】
【請求項1】
ユーザにより操作される情報処理装置であって、
通信部と、
前記通信部を介して、同じユーザアカウントの2以上の他の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、
取得したプレゼンス情報をもとに、他のユーザの状態を示す状態画像を生成する状態画像生成部と、を備え、
前記状態画像生成部は、2以上の他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、前記ユーザアカウントで特定されるユーザの状態を示す状態画像を生成することを特徴とする情報処理装置。
【請求項2】
前記取得部が、2以上の他の情報処理装置から同じユーザアカウントを含むプレゼンス情報を取得した場合、前記状態画像生成部は、最新のプレゼンス情報をもとに、前記ユーザアカウントで特定されるユーザの状態を示す状態画像を生成することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記状態画像生成部は、他のユーザの状態として、他のユーザのアカウントを含む最新のプレゼンス情報に含まれるアプリケーション特定情報に対応するアプリケーション名を含んだ状態画像を生成することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
プレゼンス情報は、当該プレゼンス情報を生成した情報処理装置の機器名に関する情報を含んでおり、
前記状態画像生成部は、他のユーザの状態として、アプリケーション名とともに、機器名を含んだ状態画像を生成することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
プレゼンス情報は、他の情報処理装置で実行されているアプリケーションのセッションへの参加の可否情報を含み、
前記状態画像生成部は、プレゼンス情報に含まれる参加可否情報を参照して、他のユーザごとに、参加可能なアプリケーションが実行されているか判定する参加判定部を有することを特徴とする請求項1から4のいずれかに記載の情報処理装置。
【請求項6】
前記状態画像生成部は、複数のユーザの状態を示す状態画像を生成する第1画像生成部を有し、
前記第1画像生成部は、前記参加判定部により参加可能なアプリケーションが実行されていることが判定されたユーザの状態を表示する領域と、前記参加判定部により参加可能なアプリケーションが実行されていないことが判定されたユーザの状態を表示する領域とで、表示態様を異ならせることを特徴とする請求項5に記載の情報処理装置。
【請求項7】
プレゼンス情報は、他の情報処理装置で実行されているアプリケーションのセッションへの参加の可否情報を含み、
前記状態画像生成部は、
プレゼンス情報に含まれる参加可否情報を参照して、参加可能なアプリケーションであるか判定する参加判定部と、
1人の他のユーザの状態を示す状態画像を生成する第2画像生成部と、を有し、
前記取得部が、2以上の他の情報処理装置から同じユーザアカウントを含むプレゼンス情報を取得した場合、前記第2画像生成部は、
最新のプレゼンス情報をもとに、アプリケーション名を表示する領域と、
前記参加判定部により、参加可能であることが判定されたアプリケーション名を表示する領域と、を生成することを特徴とする請求項1から6のいずれかに記載の情報処理装置。
【請求項8】
前記第2画像生成部は、前記参加判定部により、参加可能でないことが判定されたアプリケーションについては、アプリケーション名を表示しないことを特徴とする請求項7に記載の情報処理装置。
【請求項9】
アプリケーションを実行する実行部と、
実行しているアプリケーションを特定する情報を含んだプレゼンス情報を生成するプレゼンス情報生成部と、
前記通信部を介して、生成したプレゼンス情報を送信する送信部と、
をさらに備えることを特徴とする請求項1から8のいずれかに記載の情報処理装置。
【請求項10】
ユーザにより操作される情報処理装置であって、ネットワーク上のサーバを介して、他のユーザにより操作される複数の情報処理装置と接続されており、他のユーザの少なくとも1人は、同一のユーザアカウントを用いて2以上の情報処理装置を操作しているものであって、
複数の他のユーザの状態を示す第1状態画像を生成する第1画像生成部と、
第1状態画像において、いずれか1人のユーザが選択されると、選択されたユーザの状態を示す第2状態画像を生成する第2画像生成部と、を備え、
前記第1画像生成部は、他のユーザごとに、他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、当該他のユーザの状態を示す第1状態画像を生成することを特徴とする情報処理装置。
【請求項11】
複数の情報処理装置を含んで構成される情報処理システムであって、
各情報処理装置は、
通信部と、
アプリケーションを実行する実行部と、
実行しているアプリケーションを特定する情報を含んだプレゼンス情報を生成するプレゼンス情報生成部と、
前記通信部を介して、生成したプレゼンス情報を送信する送信部と、
前記通信部を介して、同じユーザアカウントの2以上の他の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、
取得したプレゼンス情報をもとに、ユーザの状態を示す状態画像を生成する状態画像生成部と、を備え、
前記状態画像生成部は、2以上の他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、前記ユーザアカウントで特定されるユーザの状態を示す状態画像を生成することを特徴とする情報処理システム。
【請求項12】
コンピュータに、
ネットワークに接続している同じユーザアカウントの2以上の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する機能と、
取得したプレゼンス情報をもとに、ユーザの状態を示す状態画像を生成する機能と、を実現させるためのプログラムであって、
状態画像の生成機能は、2以上の他の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、前記ユーザアカウントで特定されるユーザの状態を示す状態画像を生成する機能を含むことを特徴とするプログラム。
【請求項13】
請求項12に記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【請求項14】
通信部と、
前記通信部を介して、同じユーザアカウントの2以上の情報処理装置において実行されているアプリケーションを特定する情報を含んだプレゼンス情報を取得する取得部と、
取得したプレゼンス情報をもとに、ユーザの状態を示す状態画像を生成するための状態画像生成用データを生成するデータ生成部と、を備え、
前記データ生成部は、2以上の情報処理装置において最新の状態変化が生じたアプリケーションを特定する情報を用いて、前記ユーザアカウントで特定されるユーザの状態を示す状態画像を生成するための状態画像生成用データを生成することを特徴とするサーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−249810(P2012−249810A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2011−124570(P2011−124570)
【出願日】平成23年6月2日(2011.6.2)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】