【文献】
サン牧研究会,サンシャイン牧場完全ガイド,株式会社グローリー,2010年 3月 1日,初版第1刷,P.18, 26-27
【文献】
神部 竜二,mixiアプリをつくろう!,株式会社ソーテック社,2010年 4月30日,初版,pp.250-261
(58)【調査した分野】(Int.Cl.,DB名)
前記特定部は、前記種別情報に関連付けて当該種別情報が示すアプリケーションを利用している利用者情報を備える利用者情報テーブルを参照して、前記条件を充足する候補利用者を特定する、
ことを特徴とする請求項1に記載の管理サーバ。
前記特定部は、前記条件に加え、前記種別情報に関連付けて、仲間関係となる仲間申請を行った利用者の利用者識別情報と仲間申請を受諾した利用者の利用者情報との組を備える仲間関係テーブルを参照して、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築される利用者を前記候補利用者として特定する、
ことを特徴とする請求項1に記載の管理サーバ。
前記特定部は、前記種別情報に関連付けて、招待をした利用者の利用者情報と招待をされた利用者の利用者情報の組と、招待の状態を示す状態情報とを備える招待テーブルを参照して、前記受付部で受付けた種別情報と関連付けられており、前記要求利用者の利用者情報と招待した利用者の利用者情報とが一致し、且つ前記状態情報が少なくとも拒否を示すレコードの招待をされた利用者の利用者情報を特定し、特定した利用者を前記候補利用者から除く、
ことを特徴とする請求項1に記載の管理サーバ。
前記特定部は、前記種別情報に関連付けて、招待をした利用者の利用者情報と招待をされた利用者の利用者情報の組と、招待の状態を示す状態情報と、招待した日時を示す招待日時情報とを備える招待テーブルを参照して、前記受付部で受付けた種別情報と関連付けられており、前記要求利用者の利用者情報と招待した利用者の利用者情報とが一致し、且つ前記状態情報が少なくとも招待の拒否を示すレコードと、前記状態情報が招待の申請中を示し、前記招待日時情報の示す日時から所定期間が経過しているレコードとについて、招待をされた利用者の利用者情報を特定し、特定した利用者を前記候補利用者から除く、
ことを特徴とする請求項1に記載の管理サーバ。
前記特定部は、前記種別情報に関連付けて、招待をした利用者の利用者情報と招待をされた利用者の利用者情報の組と、招待の状態を示す状態情報と、招待した日時を示す招待日時情報とを備える招待テーブルを参照して、前記受付部で受付けた種別情報と関連付けらており、前記要求利用者の利用者情報と招待した利用者の利用者情報とが一致し、且つ前記状態情報が少なくとも招待の拒否を示すレコードについて、招待された利用者の利用者情報を特定し、特定した利用者を前記候補利用者から除き、
前記招待申請を通知した日時から所定期間が経過しても招待された利用者から応答がない場合、前記状態情報の状態を招待の申請中から招待の拒否へ書き換える書換部とを備える、
ことを特徴とする請求項10に記載の管理サーバ。
種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能な管理サーバのコンピュータに用いられるプログラムであって、
前記コンピュータを、
招待の候補となる候補利用者を提示することを要求する要求利用者が端末装置を操作して指定したアプリケーションの種類を示す種別情報を受付ける受付部と、
前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築される利用者を抽出すると共に、前記受付部で受付けた種別情報が示すアプリケーションを利用していないことを条件としたとき、前記条件を充足する候補利用者の一部又は全部を、前記抽出した仲間関係が構築される利用者の中から抽出し、前記抽出した前記条件を充足する候補利用者の一部又は全部の中から、未だ招待申請を通知していない一部又は全部の候補利用者を特定する特定部と、
前記特定部で特定した前記一部又は全部の候補利用者を選択できるように前記要求利用者の端末装置に表示させる表示制御部と、
前記要求利用者が、前記端末装置に表示された候補利用者の中から選択した候補利用者に対して招待申請を通知する通知部として、
機能させるためのプログラム。
【発明を実施するための形態】
【0025】
以下、実施形態として、本発明に係る管理サーバを用いたアプリケーションシステムについて、図面を参照しつつ説明する。
<1.アプリケーションシステムの構成>
図1は、本発明の実施形態に係るアプリケーションシステム100のブロック図である。このアプリケーションシステム100は、インターネットなどの通信網1、利用者の端末装置2、管理サーバ3A、アプリケーションサーバ3B、3C、3D…を備える。アプリケーションサーバ3B、3C、3D…は、利用者同士のコミュニケーションを可能にするSNSサイトを各利用者に対して提供するとともに、各種のサービスを利用者に提供する。利用者同士のコミュニケーションとは、利用者の間でメッセージの授受を行うことをいう。メッセージの授受は、例えば、掲示板、メール、チャット等を用いて行われる。この例ではアプリケーションサーバ3B、3C、3D…が提供するサービスはゲームb、ゲームc、ゲームd…である。各アプリケーションサーバ3B、3C、3D…の利用者は、同じゲーム(アプリケーション)の利用者と仲間関係を構築し、仲間同士で挨拶やコメントなどのコミュニケーションを行うことによってゲーム上で交換価値があるポイントを獲得できる。また、ゲーム上での戦闘では、仲間の応援が得られるなど、仲間の数が多いほどゲームが有利に進行する。
【0026】
仲間関係は、申請元の利用者が仲間申請を行い、これを申請先の利用者が承認することによって構築される。くわえて、アプリケーションシステム100では、あるゲームをプレイしている利用者が、当該ゲームをプレイしていない他の利用者を当該ゲームに招待できるようになっている。
【0027】
また、管理サーバ3Aは、利用者同士のコミュニケーションを可能にするSNSサイトを各利用者に対して提供するとともに、ポータルサイトとしても機能する。即ち、管理サーバ3Aは、各アプリケーションサーバ3B、3C、…で構築された仲間関係を一元的に管理している。
【0028】
利用者の端末装置2は、通信網1を介した通信が可能であり、例えば、パーソナルコンピュータや携帯電話機が該当する。アプリケーションシステム100は、利用者に対して、利用者どうしのコミュニティ機能やゲームあるいはサービス及び商品の販売を提供することが可能である。
【0029】
図2に管理サーバの構成を示す。この図に示すように、管理サーバ3Aは、装置全体を制御するCPU(Central Processing Unit)30、CPU30の作業領域として機能するRAM(Random Access Memory)31、ブートプログラムなどを記憶したROM(Read Only Memory)32、各種のプログラムやデータを記憶するハードディスク33、キーボードやマウスなどを含む入力部34、画像を表示するディスプレイ35、通信網1を介して外部の装置と通信を行う通信インターフェース36、及びコンパクトディスクなどの情報記録媒体を読み取る読取装置37を備える。
【0030】
ハードディスク33には、利用者情報テーブルTBL11、仲間上限数テーブルTBL12、関係テーブルTBL13、インバイトテーブルTBL14、アプリ情報テーブルTBL15、及びID管理テーブルTBL16などが記憶されている。
【0031】
図3に利用者情報テーブルTBL11のデータ構造を示す。利用者情報テーブルTBL11には複数のレコードが記録されている。1つのレコードは、レコードを一意に識別するレコード識別情報ID、アプリケーションの種別を示す種別情報AppID、利用者を一意に識別する参照識別情報RefID、アプリケーションと利用者を一意に識別する利用者識別情報UID、および最後にログインした日付を示すラストログイン情報LastLoginとを備える。
【0032】
参照識別情報RefIDは利用者に知らされておらず、システムの内部で用いられる。参照識別情報RefIDはID管理テーブルTBL16で、利用者に既知であるログイン識別情報UserIDと参照識別情報RefIDとが対応づけられて管理されている。参照識別情報RefIDは、利用者が同じであれば、アプリケーションの種別が異なっていても同一であるが、利用者識別情報UIDは、アプリケーション毎に異なる。即ち、利用者識別情報UIDの機能は、種別情報AppIDの機能と参照識別情報RefIDの機能とを組み合わせたものに相当する。ただし、利用者識別情報UIDのみからアプリケーションの種別を特定できる必要はない。
【0033】
例えば、ID=1,2,3の各レコードには参照識別情報RefIDが「00000011」である同一の利用者が割り当てられており、ID=1,2,3の各レコードは、種別情報AppIDが異なっており、利用者識別情報UIDも異なっている。
また、ログイン識別情報UserIDと参照識別情報RefIDの対応づけをID管理テーブルTBL16で管理することで、例えばログイン識別情報UserIDが第三者に盗まれた場合には、新たなログイン識別情報UserIDを発行し、これを参照識別情報RefIDと紐づければよい。即ち、ID管理テーブルを更新するだけで、他のテーブルには影響を与えることがない。
【0034】
図4に仲間上限数テーブルTBL12のデータ構造を示す。仲間上限数テーブルTBL12には複数のレコードが記録されている。1つのレコードは、レコード識別情報ID、利用者識別情報UID、および仲間上限数Limitが対応づけられて記憶される。上述したように、各アプリケーションサーバ3B、3C、3D、…はアプリケーションとしてゲームを提供するが、ゲームごとに仲間の上限数が定められており、さらに、利用者のレベルに応じて上限数が変動する。各アプリケーションサーバ3B、3C、3D、…は利用者の仲間上限数が変化すると、利用者識別情報UIDと仲間上限数Limitとの組みを管理サーバ3Aに仲間上限数通知を送信するようになっている。管理サーバ3Aは、仲間上限数通知を受信すると、仲間上限数テーブルTBL12の内容を更新する。これによって、管理サーバ3Aは、各利用者の仲間上限数Limitを一元的に管理することができる。
【0035】
図5に関係テーブルTBL13のデータ構造を示す。関係テーブルTBL13には複数のレコードが記録されている。1つのレコードは、レコード識別情報ID、種別情報AppID、関係の種別を示すグループ情報Group、申請元の利用者の参照識別情報RefIDである申請元参照識別情報RefID_From、申請先の利用者の参照識別情報RefIDである申請先参照識別情報RefID_To、申請元の利用者の利用者識別情報UIDである申請元利用者識別情報UID_From、申請先の利用者の利用者識別情報UIDである申請先利用者識別情報UID_To、及び申請の状態を示す状態情報Statが対応づけられて記憶される。
【0036】
仲間関係を記憶する場合に、申請元と申請先を分けて記憶したのは、記憶容量を削減する利点がある。仮に、ある利用者識別情報UIDと当該利用者と仲間関係にある全ての利用者の利用者識別情報UIDとを対応づけて記憶したとすると、2倍の記憶容量が必要となる。例えば、利用者Aが申請元であり利用者Bが申請先であるとする。各利用者ごとに仲間関係にある利用者の利用者識別情報を記憶する場合には、利用者Aについて利用者Bが仲間関係にあることを記憶し、さらに、利用者Bについて利用者Aが仲間関係にあることを記憶する必要がある。これに対して、本実施形態では、申請先の利用者識別情報と申請元の利用者識別情報とを対応づけて1つのレコードに記憶するので記憶容量を半分にすることができる。また、状態情報Statを更新する場合でも半分の処理となる。
【0037】
ある利用者と他の利用者の関係には、仲間関係、ライバル関係、及びブロック関係がある。仲間関係は、ある利用者から仲間申請があったことが他の利用者に伝えられ、他の利用者が承諾したことによって成立する。ライバル関係は、ある利用者がライバル視する他の利用者を申請することによって成立し、他の利用者の承諾を必要としない関係である。例えば、同じゲームをプレイしており、気になる他の利用者をライバルとして登録する場合に用いられる。ブロック関係は、ライバル関係と同様にブロックしたい他の利用者を申請することによって成立し、他の利用者の承諾を必要としない関係である。拒否しているにも拘わらず仲間申請が度々あったり、掲示板での発言などから迷惑している他の利用者を登録する場合に用いられる。
【0038】
グループ情報Groupは、レコードが仲間関係を示す場合に「Friends」、レコードがライバル関係を示す場合に「Rival」、レコードがブロック関係を示す場合に「Block」を記録する。また、状態情報Statは、仲間申請中で「0」、承認済みで「1」、拒否済みで「2」を記録する。なお、ライバル関係とブロック関係は、申請のみで成立するため、状態情報Statは記録する必要がないため、「null」に設定している。なお、ライバル関係及びブロック関係では状態情報Statを一律「0」としてもよい。
【0039】
例えば、ID=1のレコードは、種別情報AppIDが「00000001」のゲームにおいて、参照識別情報RefIDが「00000011」の利用者から参照識別情報RefIDが「00003120」の利用者に対して仲間申請して承認されたことを示している。参照識別情報RefIDが「00000011」の利用者が仲間申請を行ったタイミングでID=1のレコードが生成され、状態情報Statが「0」にセットされる。この後、参照識別情報RefIDが「00003120」の利用者が仲間申請を受領し、承認又は拒否したタイミングで、状態情報Statが承認「1」又は拒否「2」に更新される。
【0040】
関係テーブルTBL13を参照して、種別情報AppID を特定のゲームに限定すれば、そのゲームにおける利用者の仲間関係を把握することができる。状態情報Statから、既に仲間関係にある相手や、仲間申請中の仲間を把握することができる。
また、仲間関係が構築された後で仲間関係が解除された場合には、そのレコードを削除する。なお、レコードを削除せずに、レコードの有効/無効を示す項目を新たに追加し、仲間関係が解除されたレコードを無効とするようにしてもよい。仲間関係を解除した相手と仲間関係を再び構築する場合には新たなレコードを作成すればよい。
【0041】
図6に招待の履歴を管理するインバイトテーブルTBL14のデータ構造を示す。インバイトテーブルTBL14の1つのレコードは、レコード識別情報ID、種別情報AppID、招待元の利用者の参照識別情報RefIDである申請元参照識別情報RefID_From、招待先の利用者の参照識別情報RefIDである申請先参照識別情報RefID_To、招待の年月日を示す日時情報Date及び招待の状態を示す状態情報Statが対応づけられて記憶される。状態情報Statが「0」の場合は招待を申請中であることを示し、状態情報Statが「1」の場合は招待を承認又は拒否したことを示す。
【0042】
インバイトテーブルTBL14を参照することによって、誰から誰にどのゲームに招待したかを知ることができる。例えば、例えば、ID=1のレコードは、種別情報AppIDが「00000001」のゲームにおいて、参照識別情報RefIDが「00000011」の利用者から参照識別情報RefIDが「00003120」の利用者に対して招待して承認又は拒否されたことを示している。参照識別情報RefIDが「00000011」の利用者が招待を行ったタイミングでID=1のレコードが生成され、状態情報Statが「0」にセットされる。この後、参照識別情報RefIDが「00003120」の利用者が招待を受領し、承認又は拒否したタイミングで、状態情報Statが「1」に更新される。
【0043】
状態情報Statが「1」の場合は招待が承認又は拒否されており、この場合、管理サーバ3Aは、承認又は拒否された相手には再度招待することができないように制御している。また、CPU30は、招待の年月日を示す日時情報Dateに基づいて、招待してから所定期間を超えて、招待申請中が継続した場合には、強制的に状態情報Statを拒否「1」に書き換える。なお、レコードの有効/無効を示す項目を新たに追加し、所定期間が過ぎた場合にレコードを無効とするようにしてもよい。
【0044】
次に、
図2に示すアプリ情報テーブルTBL15の1つのレコードは、レコード識別情報ID、種別情報AppID、アプリケーション名(ゲーム名)を示すアプリ名情報、アプリケーション(ゲーム)の内容を示す説明情報、及びアプリケーションに対応するアイコンを示すアイコン情報が対応づけられて記憶されている。
【0045】
管理サーバ3AのCPU30は、所定の制御プロクラムを実行することによって、
図1に示す受付部11、特定部12、指示部13、表示制御部14、情報取得部15、及び通知部16として機能する。
受付部11は、仲間の候補となる候補利用者を提示することを要求する要求利用者が端末装置2を操作して指定したアプリケーションの種類を示す種別情報AppIDを受け付ける。ここで、種別情報AppIDは端末装置2から提供されてもよいし、あるいは、アプリケーションサーバ3B、3C、3D…から提供されてもよい。
仲間申請において、特定部12は、受付部11で受付けた種別情報AppIDが示すアプリケーションを利用していることを第1条件、当該アプリケーションについて前記要求利用者と仲間関係が構築されていないことを第2条件、当該アプリケーションにおいて仲間上限数に達していないことを第3条件としたとき、要求利用者が利用したことのある利用済みアプリケーションのうち仲間に誘おうとするアプリケーション以外において仲間関係が構築されている利用者のうち前記各条件の全てを充足する候補利用者の一部又は全部を特定する。即ち、仲間申請では、仲間に誘おうとするゲーム以外で要求利用者と仲間関係が構築されている他の利用者であることを前提とし、仲間に誘おうとするゲームを対象として仲間申請を行うのであるから、当該ゲームを既に利用していることが必要である(第1条件)。また。これらから仲間になるように誘うのであるから、まだ仲間関係にないのは当然である(第2条件)。さらに、仲間上限数を考慮する必要がある(第3条件)。
一方、招待において、特定部12は、受付部11で受付けた種別情報AppIDが示すアプリケーションを利用していないことを条件としたとき、前記条件を充足する候補利用者の一部又は全部を特定する。
【0046】
表示制御部14は、特定部12で特定した一部又は全部の候補利用者を選択できるように要求利用者の端末装置2に表示させる。より具体的には、候補利用者を選択可能なページを生成する(後述する
図13参照)。ここで、特定部12で特定した一部の候補利用者を選択できるようにするとは、全部の候補利用者のうち、所定個数単位でページを切り替えて、順番に候補利用者を要求利用者に選択可能にする態様や、全部の候補利用者の中からランダムまたは所定の規則に従って抽出された候補利用者を要求利用者に選択可能にする態様が含まれる。また、下記情報取得部15により取得したアプリケーションに関する利用情報を要求利用者の端末装置2に表示させる。
指示部13は、受付部11で受付けた種別情報AppIDが示すアプリケーションに対応したアプリケーションサーバ3B、3C、3D、…に対して、要求利用者が候補利用者の中から選択した利用者に対して仲間申請を要求する指示を行う。これにより、仲間申請された利用者はアプリケーションサーバ3B、3C、3D、…にアクセスした際に、仲間申請がなされていることに気がつく。すなわち、仲間申請された利用者は、自身のマイページ等で仲間申請が来ていることが知らされる。
情報取得部15は、後述する問合処理において、受付部11で受付けた所定の仲間に人気のある所定のアプリケーションに関する利用情報を取得する。詳しくは後述する。
通知部16は、端末装置2に表示された候補利用者の中から選択した候補利用者に対して、招待申請を通知する。詳しくは後述する。
【0047】
図7に端末装置2の構成を示す。端末装置2は、装置全体を制御するCPU20、CPU20の作業領域として機能するRAM21、ブートプログラムなどを記憶したROM22、各種のプログラムやデータを記憶する記憶装置23、テンキーなどを含む入力部24、画像を表示するディスプレイ25、及び通信網1を介して外部の装置と通信を行う通信インターフェース26を備える。
【0048】
<2.アプリケーションシステムの動作>
アプリケーションシステム100では、ある利用者がプレイしているゲームに当該ゲームをプレイしていない他の利用者を招待したり、あるいは当該ゲームをプレイしている他の利用者(他のゲームでの仲間を含む)に対して仲間申請を行うことができる。また、利用者は自身がプレイしている複数のゲームでの仲間に人気が高いゲームや各ゲームをプレイしている仲間数などを問い合わせることができる。以下、招待と仲間申請に共通の共通処理、仲間申請に係る仲間申請処理、招待に係る招待処理、及び各種の問い合わせに関する問合処理について説明する。
【0049】
<2−1:共通処理>
図8に共通処理に関するアプリケーションシステムの動作シーケンスを示す。端末装置2の利用者が、ウェブブラウザ上で動作したり、端末装置2にインストールされて動作するアプリケーションを起動して、アプリケーションのログインページにアクセスすると、端末装置2のディスプレイ25には、ログイン画面が表示される。このログイン画面には、ログイン識別情報UserIDとパスワードPSWとを入力する入力ボックスが表示される。利用者が、入力ボックスに入力して送信ボタンを押すと、端末装置2のCPU20は、入力したログイン識別情報UserID及びパスワードを含むログイン要求を管理サーバ3Aに送信する。
【0050】
ログイン要求を管理サーバ3AのCPU30が受信すると、管理サーバ3AのCPU30は認証処理を実行する(S1)。具体的には、CPU30は、ログイン識別情報UserIDとパスワードとの組みが記憶されているか否かを判定し、判定条件を充足する場合にはログインを許可し、判定条件が充足されない場合にはログインを拒絶する。そして、CPU30は判定結果を示すログイン応答を端末装置2に送信する。なお、
図8に示す例では、ログインが許可されたものとする。一度、端末装置2で入力されたログイン識別情報UserIDとパスワードとの組みは、端末装置2に所定期間記憶されて、当該所定期間内であればログインを省略可能としてもよい。
【0051】
この後、利用者がメニューを選択してゲームbを選択したとする(S2)。この場合、端末装置2のCPU20は、ゲームbのマイページ閲覧要求を管理サーバ3Aに送信する。
管理サーバ3AのCPU30はマイページ閲覧要求を受信すると、ID管理テーブルTBL16を参照して、ログイン識別情報UserIDに対応した参照識別情報RefIDを取得し、さらに利用者情報テーブルTBL11を参照して、参照識別情報RefID及びゲームbの種別情報AppIDに対応する利用者識別情報UIDを取得する(S3)。
【0052】
この後、管理サーバ3AのCPU30が、利用者識別情報UIDを含むマイページ閲覧要求をゲームbを提供するアプリケーションサーバ3Bに送信すると、アプリケーションサーバ3Bは、利用者識別情報UIDに対応するゲームbのマイページを生成し、これをページ閲覧応答として、管理サーバ3Aを介して端末装置2に送信する。
なお、ステップS3で取得した利用者識別情報UIDを端末装置2へ通知し、それ以降、管理サーバ3Aを介さずに、端末装置2とアプリケーションサーバ3Bとの間で通信を行わせるようにしてもよい。
【0053】
端末装置2のCPU20はマイページ閲覧応答を受信すると、ディスプレイ25にゲームbのマイページを表示する(S5)。利用者がマイページのメニューから「仲間を誘う」を選択すると、例えば、
図9に示す画面が表示される。この画面において、利用者が「おまかせで申請」のボタン112をクリックすると、アプリケーションサーバ3Bは、当該利用者と仲間関係が構築されていない他の利用者を抽出し、抽出した利用者のリストのページを生成して端末装置2に通知する。利用者は、リストの中から仲間になりたい利用者を選択する。管理サーバ3AのCPU30は、利用者によって選択された利用者に仲間申請があったことを当該利用者のマイページに表示することなどで伝える。なお、利用者の現在の仲間数がゲームbでの仲間上限数に達している場合には、「おまかせで申請」のボタン112を操作できないように無効化されていたり、ボタン112が表示されないようになっている。
【0054】
一方、この画面において、利用者がボタン111をクリックして「他のゲームから探す」を選択すると、管理サーバ3Aの仲間ページへ移行する。即ち、ボタン111はSNSサイトの仲間ページへのリンクが定義されたものである。なお、このリンクの定義には、ゲームbを示す種別情報AppIDと利用者を示す利用者識別情報UIDが含まれる。管理サーバ3AのCPU30が仲間ページへのアクセス要求を受信すると、管理サーバ3AのCPU30は仲間処理を実行し(S7)、アクセス応答を返信する。
【0055】
次に、仲間処理の処理内容を
図10及び
図11を参照して説明する。以下の説明では、「他のゲームから探す」を選択した利用者を利用者Aと称し、利用者Aに関する情報には「a」を添え字として付加し、他の利用者の情報には「*」を添え字として付加する。また、種別情報AppIDは、利用者Aと他の利用者とに共通の情報であり、ゲームごとに一意に定められる情報なので、「x」を添え字として付加する。さらに、利用者識別情報UIDは、ゲームごとに付与される情報であり、同一の利用者であってもゲームが異なれば利用者識別情報UIDも異なる。そこで、利用者Aの利用者識別情報UIDには「ax」を添え字として付加し、他の利用者の利用者識別情報UIDには「*x」を添え字として付加する。
まず、CPU30は、受信したアクセス要求に含まれる利用者識別情報UIDaxと、他の利用者を誘うゲームの種別情報AppIDxとを取得する(S100)。ここで、取得した種別情報AppIDxは「00000001」であり「ゲームb」を示しており、仲間申請や招待の対象となるゲームである。また、取得した利用者識別情報UIDaxは「XCV56714」とする。
【0056】
次に、CPU30は、利用者A自身が仲間上限数に達しているか否かの判断を行う処理(S101〜S104)を行う。まず、CPU30は、関係テーブルTBL13を参照して、利用者Aの利用者識別情報UIDaxと仲間関係(Stat=1)または仲間申請中(Stat=0)にある利用者の利用者識別情報UID*xを抽出し、その数を集計する(S101)。さらに、CPU30は、仲間上限数テーブルTBL12を参照して、着目する利用者Aの利用者識別情報UIDaxに対応する仲間上限数を取得する(S102)。
【0057】
次に、CPU30は、取得した仲間上限数が仲間の利用者識別情報UID*xの集計数を超えるか否かを判定する(S103)。この判定条件が否定される場合は、既に利用者Aにおける仲間の利用者識別情報UID*xは他の利用者を誘う対象となるゲームについて仲間上限数に達しているので、仲間申請が不能となる。この場合、CPU30は、仲間申請が不能である旨のフラグをセットする(S104)。
【0058】
次に、CPU30は、利用者情報テーブルTBL11を参照して、利用者識別情報UIDaxから利用者Aの参照識別情報RefIDaを取得する(S105)。さらに、CPU30は、利用者情報テーブルTBL11を参照して、利用者Aの参照識別情報RefIDaに対応する種別情報AppIDxと利用者識別情報UIDaxとの組みを一又は複数特定する(S106)。例えば、利用者情報テーブルTBL11の記憶内容が
図3に示すものであり、利用者Aの参照識別情報RefIDaが「00000011」であるとする。この場合、種別情報AppIDxと利用者識別情報UIDaxとの組みは、(AppID=00000001,UID=XCV56714)、(AppID=00000002,UID=YUJ85224)、(AppID=00000003,UID=23150QWE)となる。なお、抽出した全ての種別情報AppIDxと利用者識別情報UIDaxとの組みには、仲間申請や招待の対象となるゲームにおける組(AppID=00000001,UID=XCV56714)が含まれているので、以降の処理では当該ゲームを除いた組を、抽出した全ての種別情報AppIDxと利用者識別情報UIDaxとの組みとして説明する。つまり、当該ゲームで既に仲間となっている利用者に対しては、仲間申請や招待の対象に成りえないからである。
【0059】
次に、CPU30は、抽出した全ての種別情報AppIDxと利用者識別情報UIDaxとの組みに対してS108〜S119の処理が終了したか否かを判定する(S107)。S108〜S119の処理が終了の処理が終了している場合には、仲間処理を終了する。一方、抽出したの種別情報AppIDxと利用者識別情報UIDaxとの組みのうち、S108〜S119の処理が終了していない場合には、未処理の種別情報AppIDxと利用者識別情報UIDaxとの組みのうち一つに着目する。
【0060】
この後、CPU30は、アプリ情報テーブルTBL15を参照して、着目する種別情報AppIDxに対応するアプリケーション名やアイコン情報を取得する(S108)。取得したアプリケーション名(ゲーム名)は、後述する仲間探しページの領域122に表示され(
図12参照)、アイコン情報で示されるアイコンは領域121に表示される。
【0061】
次に、CPU30は、着目するアプリケーションでの仲間数を計数する処理(S109〜S110)を行う。まず、CPU30は、関係テーブルTBL13を参照して、着目する利用者識別情報UIDaxに対応する仲間の利用者識別情報UID*xを抽出する(S109)。これによって、利用者Aが他の利用者を誘おうとするゲーム以外のあるゲームにおいて、利用者Aと仲間関係が構築されている仲間の利用者識別情報UID*xが抽出される。より具体的には、あるゲームにおける利用者Aの利用者識別情報UIDaxと申請元利用者識別情報UID_Fromとが一致するレコードから申請先参照識別情報RefID_Toを抽出するとともに、利用者識別情報UIDaxと申請先利用者識別情報UID_Toとが一致するレコードから申請元参照識別情報RefID_Fromを抽出する。そして、抽出した申請先参照識別情報RefID_Toと抽出した申請元参照識別情報RefID_Fromに対応する利用者識別情報UIDが、利用者Aと仲間関係が構築されている仲間の利用者識別情報UID*xとなる。
【0062】
次に、CPU30は、抽出した仲間の利用者識別情報UID*xの数を集計する(S110)。集計された仲間の数は、仲間探しページにおいてゲームごとに表示される仲間数として表示される(後述する
図12の領域123を参照)。
【0063】
次に、着目するアプリケーションに招待することが可能な利用者を特定する処理(S111〜S112)を行う。まず、CPU30は、招待の対象となるゲームをプレイしていない利用者を候補利用者としたとき、利用者情報テーブルTBL11を参照して、S109で抽出した仲間の利用者識別情報UID*xの中で、招待するゲームをプレイしていない候補利用者の利用者識別情報UID*xを抽出する(S111)。具体的には、CPU30は、利用者情報テーブルTBL11を参照して、S109で抽出した仲間の利用者識別情報UID*xに対応する仲間の参照識別情報RefID*を取得し、さらに、取得した参照識別情報RefID*に対応する一又は複数の種別情報AppIDxを取得する。そして、取得した一又は複数の種別情報AppIDxに招待するゲームの種別情報AppIDxが含まれていない場合に、招待するゲームをプレイしていない候補利用者の利用者識別情報UID*xと参照識別情報RefID*とを抽出する。このように、本実施形態によれば、各種のゲームの種別情報と全ての利用者の利用者識別情報UIDとを対応づける利用者情報テーブルTBL11を備えるので、複数のゲームの利用者を一元的に管理することが可能となる。
【0064】
次に、CPU30は、インバイトテーブルTBL14を参照して、利用者Aを示す参照識別情報RefIDaが招待元、且つ候補利用者の利用者識別情報UID*xに対応する参照識別情報RefID*が招待先としてインバイトテーブルTBL14に記録されている場合には、当該利用者識別情報UID*xを、候補利用者の利用者識別情報UID*xから除外し、残りの候補利用者の利用者識別情報UID*xを抽出し、集計する(S112)。即ち、インバイトテーブルTBL14には招待中または招待済みの招待元の利用者と招待先の利用者とが組で記録されているので、過去に一度でも招待したことのある利用者の組では、再度招待しないようにしている。これにより、利用者Aが招待可能な他の利用者とその人数とを特定することができる。集計された招待可能な仲間の数は、仲間探しページにおいてゲームごとに表示される(後述する
図12の領域124を参照)。
【0065】
次に、CPU30は着目するアプリケーションで仲間申請が可能な利用者を特定する処理(S113〜S118)を行う。なお、S104の処理で仲間申請が不能である旨のフラグがセットされている場合、CPU30は、当該処理を行わずに、S119へ進む。まず、CPU30は、関係テーブルTBL13を参照して、まだ仲間になっていない非仲間の利用者の利用者識別情報UID*xを抽出する(S113)。CPU30は、仲間に誘おうとするゲーム以外で仲間申請を行う利用者Aと仲間関係がある他の利用者であって、当該ゲームを既に利用している利用者を抽出し(第1条件)、さらに、関係テーブルTBL13を参照して、当該ゲームにおいて利用者Aと仲間関係が構築されていない利用者(第2条件)を抽出する。したがって、本実施形態によれば、仲間申請において申請側と承諾側との組を関係テーブルTBL13に記憶することにより、一つの利用者情報をキーとして当該利用者情報と仲間関係にある全ての利用者情報を記憶する必要はないので、データの記憶容量を削減することが可能となる。
【0066】
上述したS105において、利用者Aが利用しているゲームの種別を示す種別情報AppIDxとそれらのゲームの利用者Aの利用者識別情報UIDaxが特定され、S106以降では、抽出された種別情報AppIDxと、当該種別情報AppIDxに対応するゲームを利用している他の利用者の利用者識別情報UIDaxとの組の一つに着目している。即ち、CPU30は、利用者情報テーブルTBL11を参照して、利用者Aが利用しているゲームを利用している他の利用者(第1条件)を抽出している。
また、CPU30は、上述した第1の条件を充足する他の利用者を、S109の抽出結果を用いて特定してもよい。また、CPU30が、関係テーブルTBL13を参照して、利用者Aが仲間に誘おうとするゲームにおいて利用者Aと仲間関係が構築されている他の利用者の利用者識別情報UID*xをS105の抽出結果を用いて特定してもよい。そして、CPU30は、第1条件を充足する他の利用者から、S105の抽出結果で特定される他の利用者を除いて、まだ仲間になっていない非仲間の利用者の利用者識別情報UID*xを抽出する。
【0067】
次に、CPU30は、S113で抽出した全ての非仲間の利用者識別情報UID*xについて、S115〜S119の処理が完了したか否かを判定する(S114)。判定条件が充足される場合、CPU30は処理をS118に進める。一方、判定条件が充足されなかった場合、CPU30は処理をS115に進め、関係テーブルTBL13を参照して着目する非仲間の利用者識別情報UID*xの仲間数を集計する。この場合、CPU30は、上述したS109と同様に、非仲間の利用者識別情報UID*xと申請元利用者識別情報UID_Fromとが一致するレコードから申請先参照識別情報RefID_Toを抽出するとともに、非仲間の利用者識別情報UID*xと申請先利用者識別情報UID_Toとが一致するレコードから申請元参照識別情報RefID_Fromを抽出する。そして、抽出した申請先参照識別情報RefID_Toと抽出した申請元参照識別情報RefID_Fromに対応する利用者識別情報UIDの数が、非仲間の利用者識別情報UID*xの数となり、CPU30はこれを集計する。
【0068】
次に、CPU30は、仲間上限数テーブルTBL12を参照して着目する非仲間の利用者識別情報UID*xの仲間上限数を取得する(S116)。この後、CPU30は、取得した仲間上限数と集計した仲間数とを比較し、集計数が仲間上限数に達していない場合に、非仲間の利用者を仲間申請可能であると判断し(第3条件を充足)、集計数が仲間上限数に達している場合に非仲間の利用者を仲間申請不可能であると判断する(S117)。次に、CPU30は処理をS114に戻し、S114の判定条件が充足されるまでS114からS117を繰り返し、S114の判定条件が充足されと、処理をS118に進める。
【0069】
S118において、CPU30は、仲間申請可能な非仲間の利用者識別情報UID*xを特定し、非仲間の人数を集計する。非仲間の集計数は、当該ゲーム以外の他のゲームにおいて仲間関係にあり当該ゲームにおいて仲間関係にない利用者の人数である。非仲間の集計数は、仲間探しページにおいてゲームごとに表示される(後述する
図12の領域125を参照)。
【0070】
次に、CPU30は、着目する種別情報AppIDxに対応するゲームについて、S104の処理で取得したゲーム情報、S110の処理で集計したプレイしている仲間数、S112の処理で集計した招待可能な人数、およびS118の処理で集計した仲間申請可能な人数を一時的に変数領域やワークエリアに記憶させる(S119)。
この後、CPU30は、処理を
図10に示すS107に戻す。そして、S102で抽出した全ての種別情報AppIDxについてS107からS119の処理を終了すると、仲間の人数が多い順にゲームを配置した仲間探しページを生成し(S120)、処理を終了する。
なお、S104の処理で仲間申請が不能である旨のフラグがセットされている場合には、S110の処理で集計したプレイしている仲間数の替わりに、その表示を非表示にしたり、「申請可能人数に達しているため申請できません」といった表示をする。
【0071】
説明を
図8に戻す。管理サーバ3Aにおいて仲間処理が終了し(S7)、仲間探しページが生成されると、管理サーバ3AのCPU30は仲間探しページを含む仲間応答を端末装置2に送信する。端末装置2のCPU20は、仲間応答を受信すると、仲間探しページをディスプレイ25に表示する。
図12に仲間探しページの一例を示す。この例では、ゲーム表示領域120、130、140が設けられており、利用している仲間の人数が多い順にゲームをゲーム表示領域120→ゲーム表示領域130→ゲーム表示領域140に表示する。
【0072】
まず、領域121にはアプリ情報テーブルTBL15から読み出したアイコン情報に基づいてアイコンが表示され、領域122にはアプリケーション名(ゲーム名)が表示される。これらの情報は、上述したS108の処理で取得される。次に領域123には、利用者Aと仲間関係にある仲間の人数が表示される。この情報は、上述したS110の処理で取得される。次に領域124には、利用者Aが招待可能な仲間の人数が表示される。この情報は、上述したS112の処理で取得される。さらに、領域125には、利用者Aが仲間申請能な仲間の人数が表示される。この情報は、上述したS118の処理で取得される。
なお、この例では、CPU30は、利用済みアプリケーションごとに、利用者Aが招待可能な仲間の人数と利用者Aが仲間申請能な仲間の人数とを端末装置2に合わせて表示させたが、どちらか一方のみを表示させるように一部の機能だけを具備させてもよい。さらに、人数を表示させるのではなく、仲間申請または招待の候補となる利用者のユーザ名を表示されるようにしてもよいし、人数と候補となる利用者のユーザ名の両方を表示させるようにしてもよい。
また、この例では、CPU30は、仲間申請が可能な人数について、利用済みアプリケーションごとに特定し、利用済みアプリケーションごとに端末装置2に表示させたが、CPU30は、複数の利用済みアプリケーションの合計の仲間申請が可能な人数を特定し、これを要求利用者の端末装置2に表示させてもよい。また、招待可能な人数も仲間申請と同様に複数の利用済みアプリケーションの合計の人数を特定し、これを要求利用者の端末装置2に表示させてもよい。
【0073】
次に、領域120、領域130、領域140に表示されるゲームのいずれかを利用者が選択すると(
図8に示すS9)、端末装置2のCPU20は、詳細ページ要求を管理サーバ3Aに送信する。管理サーバ3AのCPU30は詳細ページ要求を受信すると、選択されたゲームに対応する詳細ページを生成し(S10)、詳細ページを含む詳細ページ応答を端末装置2に返送する。端末装置2のCPU20は、詳細ページ応答を受信すると、詳細ページをディスプレイ25に表示させる。
【0074】
図13に詳細ページの一例を示す。この例では、
図12に示す仲間探しページにおいて利用者Aがゲームbを選択したものとする。
図13に示すように詳細ページには、ボタン140とボタン141とが表示される。ボタン140は招待に対応しており、ボタン141は仲間申請に対応している。
図13に示す状態で利用者が「招待する」と表示されたボタン140をクリックすると、
図16に示す招待用の詳細ページに切り替わる。
【0075】
また、
図13に示す仲間申請用の詳細ページには、領域142に、利用者Aがゲームbについて他のゲームで仲間の利用者を、あと何人、仲間申請可能かが表示される。仲間申請可能な人数は、
図12に示す領域125に表示される人数と同じであり、上述したS118の処理で取得される。なお、利用者A自身の仲間上限数が、当該人数よりも少ない場合には、仲間上限数から現在の仲間数の差となる人数が表示される。また、領域143〜145には、仲間申請の候補となる利用者のユーザ名と、チェックボックス143b、144b、145bが表示される。チェックボックス143b、144b、145bにチェックを設定して、ボタン146をクリックすることにより、仲間申請を行うことができる。なお、仲間申請は、複数の相手に同時に行うことができる。
また、本実施形態によれば、利用済みゲームを選択できる画面を要求利用者の端末装置2に表示させ、選択した利用済みゲームについて仲間関係にあることが候補利用者の要件となるので、要求利用者は、招待しようとするゲームと類似する利用済みゲームを選択するなど、好みに合わせた選択が可能となる。
【0076】
<2−2:仲間申請処理>
図14に仲間申請処理に関するアプリケーションシステムの動作シーケンスを示す。まず、端末装置2において利用者Aが仲間申請において仲間を選択すると(S140)、端末装置2のCPU20は、仲間申請要求を管理サーバ3Aに送信する。仲間申請要求には、申請元利用者識別情報UID_Fromと申請先利用者識別情報UID_Toが含まれている。
【0077】
仲間申請要求を管理サーバ3AのCPU30が受信すると、CPU30は、関係テーブルTBL13の記憶内容を更新する(S141)。具体的には、CPU30は、利用者情報テーブルTBL11を参照して申請元利用者識別情報UID_Fromに対応する申請元参照識別情報RefID_From及び申請先利用者識別情報UID_Toに対応する申請先参照識別情報RefID_Toを取得し、状態情報Statを「申請中」(Stat=0)に設定したレコードを生成し、関係テーブルTBL13に記録する。このとき、種別情報AppIDは、仲間申請要求に含まれているのであれば、これを用いてもよいし、あるいは、利用者情報テーブルTBL11を参照して申請元利用者識別情報UID_Fromあるいは申請先利用者識別情報UID_Toに対応する種別情報AppIDを取得してもよい。
【0078】
ここで、利用者Aが仲間申請しようとするのがゲームbであり、ゲームbでは仲間関係にはないが、ゲームcにおいて仲間関係にある他の利用者に仲間申請する場合を想定する。この場合、管理サーバ3AのCPU30は、仲間申請通知を申請先のゲームbを管理するアプリケーションサーバ3Bに対して申請先の他の利用者の利用者識別情報UIDと共に送信する。即ち、CPU30は、ゲームbを提供するアプリケーションサーバ3Bに対して、利用者Aが候補利用者の中から選択した利用者に対して仲間申請を要求する指示を行う指示部として機能する。アプリケーションサーバ3Bは、仲間申請通知を受信すると、申請先の他の利用者のマイページにおいて、利用者Aから仲間申請通知があったことを表示できるように管理テーブルを更新する(S142)。
また、管理サーバ3Aは、仲間申請応答を端末装置2に返信する。端末装置2のCPU20は、仲間申請応答を受信すると、マイページなどに仲間申請中であることを表示する。
【0079】
このように本実施形態によれば、管理サーバ3Aは第1条件乃至第3条件を充足する候補利用者を選択できるように利用者Aの端末装置2に表示させる。ここで、第1条件乃至第3条件は以下の通りである。
第1条件:利用者Aが利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち、利用者Aが利用しているアプリケーションを利用している利用者。
第2条件:当該アプリケーションについて利用者Aと仲間関係が構築されていない利用者。
第3条件:当該アプリケーションにおいて仲間上限数に達していない利用者。
これによって、異なるアプリケーションで形成された信頼関係を新しいアプリケーションでも活用できるようになる。つまり、あるゲームを利用者がプレイしている場合に、全く見知らぬ相手に仲間申請するのではなく、他のゲームで仲間になった気心の知れた利用者に仲間申請をすることができるので、新たなゲームを始める場合に、仲間関係を構築し易いといった利点がある。
また、本実施形態によれば、管理サーバ3Aの関係テーブルTBL13に、仲間関係となる利用者情報の組を記憶するから、各種のアプリケーションで構築される仲間関係を一元的に管理することができる。さらに、種別情報と利用者情報とを対応づけて記憶する利用者情報テーブルTBL11を備えるので、この利用者情報テーブルTBL11を参照することによって第1条件を充足することができる。
また、本実施形態によれば、申請側と承諾側との組を関係テーブルTBL13に記憶することにより、一つの利用者情報をキーとして当該利用者情報と仲間関係にある全ての利用者情報を記憶する必要はないので、データの記憶容量を削減することが可能となる。
さらに、本実施形態によれば、第1の仲間上限数テーブルTBL12を用いて、アプリケーションごとに定められる仲間上限数を管理サーバ3Aで一元的に管理するので、第3条件を充足させることが可能となる。
また、本実施形態によれば、利用済みアプリケーションを選択できるように利用者Aの端末装置2に表示させ、選択した利用済みアプリケーションについて仲間関係にあることが候補利用者の要件となるので、仲間申請を要求する利用者は、仲間関係を構築しようとするアプリケーションと類似する利用済みアプリケーションを選択することができたり、具体的にどのアプリケーションのどの仲間を誘いたいかがあらかじめ決まっている場合に探し易くなる。
さらに、本実施形態によれば、仲間申請が可能な人数を知ることができるので、仲間申請を要求する利用者に利便性が大幅に向上する。
【0080】
<2−3:招待処理>
図15に招待処理に関するアプリケーションシステムの動作シーケンスを示す。まず、端末装置2において利用者Aが招待において仲間を選択すると(S150)、端末装置2のCPU20は、招待要求を管理サーバ3Aに送信する。
図16に招待用の詳細ページの一例を示す。この例では、
図12に示す仲間探しページにおいて利用者Aがゲームbを選択したものとする。招待用の詳細ページには、領域142に、利用者Aがゲームbについて他のゲームで仲間の利用者を、あと何人、招待可能かが表示される。招待可能な人数は、
図12に示す領域124に表示される人数と同じであり、上述したS112の処理で取得される。また、領域143〜145には、招待の候補となる利用者のユーザ名と、チェックボックス143b、144b、145bが表示される。チェックボックス143b、144b、145bにチェックを設定して、ボタン148をクリックすることにより、仲間の招待を行うことができる。なお、招待は、複数の相手に同時に行うことができる。
また、本実施形態によれば、招待申請が可能な人数を知ることができるので、要求利用者に利便性が大幅に向上する。
領域142に表示される招待可能な人数は、上述したS111及びS112の処理で取得される。まず、CPU30は、招待の対象となるゲームをプレイしていないことを条件として、この条件を満たす候補利用者を抽出する。つまり、CPU30は、利用者情報テーブルTBL11を参照して、招待の対象となるゲーム以外のあるゲームにおいて利用者Aと仲間関係が構築されている仲間の利用者識別情報UID*xの中で、招待するゲームをプレイしていない候補利用者の利用者識別情報UID*xを抽出する(S111)。具体的には、利用者情報テーブルTBL11を参照して、S109で抽出した仲間の利用者識別情報UID*xに対応する仲間の参照識別情報RefID*を取得し、さらに、当該仲間の利用者識別情報UID*xと、取得した参照識別情報RefID*と、当該参照識別情報RefID*に対応する一又は複数の種別情報AppIDxとの組を取得する。そして、取得した一又は複数の組の中から、招待するゲームの種別情報AppIDxを含まない組の候補利用者の利用者識別情報UID*xと参照識別情報RefID*、つまり、招待の対象となるゲームをプレイしていない候補利用者の利用者識別情報UID*xと参照識別情報RefID*とを抽出する。
次に、CPU30は、インバイトテーブルTBL14を参照して、利用者Aを示す参照識別情報RefIDaが招待元として、且つ候補利用者の利用者識別情報UID*xに対応する参照識別情報RefID*xが招待先としてインバイトテーブルTBL14に記録されている組以外の組を抽出し、集計する(S112)。即ち、インバイトテーブルTBL14に記録された招待中または招待済みの利用者を除外して、利用者Aが新たに招待可能な候補利用者とその人数とを特定する。
【0081】
図15において、招待要求を管理サーバ3AのCPU30が受信すると、CPU30は、インバイトテーブルTBL14の記憶内容を更新する(S151)。具体的には、CPU30は、利用者情報テーブルTBL11を参照して申請元利用者識別情報UID_Fromに対応する申請元参照識別情報RefID_From、申請先利用者識別情報UID_Toに対応する申請先参照識別情報RefID_To、及び種別情報AppID取得し、状態情報Statを「申請中」(Stat=0)に設定したレコードを生成し、インバイトテーブルTBL14に記録する。
図6に示すように、インバイトテーブルTBL14の1つのレコードは、レコード識別情報ID、種別情報AppID、招待元の利用者の参照識別情報RefIDである申請元参照識別情報RefID_From、招待先の利用者の参照識別情報RefIDである申請先参照識別情報RefID_To、招待の年月日を示す日時情報Date及び招待の状態を示す状態情報Statが対応づけられて記憶される。状態情報Statが「0」の場合は招待を申請中であることを示し、状態情報Statが「1」の場合は招待を承認又は拒否したことを示す。CPU30は、状態に応じて状態情報Statの内容を書き換える。
図6に示す例では、CPU30は、参照識別情報RefIDが「00000011」の利用者が招待を行ったタイミングでインバイトテーブルTBL14におけるID=1のレコードを生成し、状態情報Statを「0」に書き換える。この後、書換部53は、参照識別情報RefIDが「00003120」の利用者が招待を受領し、承認又は拒否したタイミングで、状態情報Statを「1」に書き換える。
本実施形態においては、拒否と承認をまとめて第1状態としている。したがって、招待を拒否された場合だけでなく、招待が承認された場合にも候補利用者から除外される。招待を承認した利用者は、そもそも招待の対象となるゲームを既に利用しているから、招待する必要がない。このようなデータ構造を採用することにより、拒否した利用者と招待された利用者を同時に排除できるので処理負荷が軽減される。
【0082】
ここで、利用者Aが招待しようとするゲームがゲームbであり、ゲームcにおいて仲間関係にある他の利用者Bを招待する場合を想定する。利用者Aは端末装置2-1を管理しており、利用者Bは端末装置2-2を管理しているとする。この場合、管理サーバ3AのCPU30は、招待があったことを通知する招待メールを端末装置2-2に送信する。あるいは、管理サーバ3AのCPU30は、利用者Bの管理サーバ3AのSNSサイトのマイページに利用者Aがゲームbに招待していることを知らせるメッセージを表示するようにしてもよい。また、管理サーバ3AのCPU30は、他のソーシャルメディアや掲示板へ招待記事を投稿するように送信してもよい。このようにCPU30は、
図1に示すように、利用者Aが、端末装置2-1に表示された候補利用者の中から選択した候補利用者に対して招待申請を通知する通知部16として機能する。
【0083】
また、管理サーバ3AのCPU30は、招待応答を端末装置2-1に返信する。端末装置2-1のCPU20は、招待応答を受信すると、招待中であることを表示する。
このように本実施形態によれば、あるゲームを利用者がプレイしている場合に、全く見知らぬ相手を招待するのではなく、他のゲームで仲間になった気心の知れた利用者を招待することができるので、新たなゲームを他のゲームの仲間に広めることができ、さらに他のゲームの仲間が当該ゲームに参加した場合には、当該ゲームでも仲間関係を構築し易いといった利点がある。
また、特定部12としてのCPU30は、S112において、インバイトテーブルTBL14を参照して招待可能な候補利用者の利用者識別情報UID*xを含むレコードを抽出する際、状態情報Statが「1」であるレコードについては、抽出対象のレコードから除外する。つまり、特定部12は、状態情報Statが「1」の場合には招待が承認又は拒否されている場合なので、そのような相手には再度招待しないように制御している。したがって、本実施形態によれば、招待の状態を示す状態情報と利用者情報とを対応づけてインバイトテーブルTBL14で管理するので、インバイトテーブルTBL14を参照することによって、招待の状態を知ることができる。そして、状態情報が拒否を示す場合には、候補利用者から除かれるので、招待を拒否しているに拘わらず再度の招待があるといった迷惑行為を未然に防止することがきる。
また、本実施形態によれば、招待申請中の利用者も候補利用者から除かれるから、申請中に拘わらず、再度、招待を申請するといった無駄をなくし、管理サーバ3Aの処理負荷を軽減することができる。
【0084】
<2−4:問合処理>
問合処理は、利用者Aの仲間の利用者が利用しているアプリケーションに関する利用情報を管理サーバ3Aに問い合わせる処理である。利用情報には、仲間の中で人気のあるゲームのランキングやあるゲームを利用している仲間数、仲間申請できる人数、招待できる人数などが含まれる。
問合処理は、仲間に人気のゲームを知ることができるランキング処理と、あるゲームを特定して、特定したゲームを遊んでいる仲間の人数を問い合わせる仲間数処理を含む。
まず、ランキング処理について説明する。ランキング処理には、第1ランキング処理と第2ランキング処理とがある。第1ランキング処理は、特定のゲームで仲間関係にある利用者において人気のあるゲームの順位付けを行う処理である。一方、第2ランキング処理は、不特定のゲームで仲間関係にある利用者において人気のあるゲームの順位付けを行う処理である。
【0085】
利用者Aが端末装置2のディスプレイには、
図9に示す画面が表示される。この画面においてボタン113は第1ランキング処理に対応しており、ボタン114は第2ランキング処理に対応している。
【0086】
図17にランキング処理に関するアプリケーションシステムの動作シーケンスを示す。 ボタン113(
図9)をクリックして「この仲間に人気のゲームを見る」(第1ランキング処理)を選択すると(S160)、管理サーバ3Aの人気アプリページへ移行する。即ち、ボタン113はSNSサイトの人気アプリページへのリンクが定義されたものである。なお、このリンクの定義には、利用者を示す利用者識別情報UIDのリンク情報が含まれる。管理サーバ3AのCPU30は、種別情報AppIDで示されるゲームでの仲間の間で人気アプリページへのアクセス要求を受信すると、第1ランキングページを生成する第1ランキング処理を実行する(S161)。
【0087】
図23に第1ランキング処理の内容を示す。まず、CPU30は、受信したアクセス要求に含まれる利用者識別情報UIDaxを取得する(S200)。次に、CPU30は、関係テーブルTBL13を参照して、グループ情報Groupが「Friends」を示し、利用者Aの利用者識別情報UIDaxに対応する仲間の利用者の利用者識別情報UID*xを特定する(S201)。
より具体的には、CPU30は、(Group= Friends)*{(UID_To=UIDax)+(UID_From=UIDax)}*(Stat=1)を充足するレコードを抽出し、それらに含まれる一又は複数の利用者識別情報UID*xを特定する。
次に、CPU30は、抽出した利用者識別情報UID*xの数を種別情報AppIDxごとに集計する(S202)。さらに、CPU30は、仲間の利用者識別情報UID*xの集計数に基づいて、種別情報AppIDxで特定されるゲームの人気順を特定する。さらに、CPU30は、アプリ情報テーブルTBL15を参照して、抽出した種別情報AppIDxに対応するゲーム名、説明情報、及びアイコン情報を取得する。この後、CPU30は、第1ランキングページを生成する。この際、CPU30は、遊んでいる仲間の多い順にゲームの説明などを配置して第1ランキングページを生成する。
端末装置2は、管理サーバ3Aから第1ランキングページを含むアクセス応答を受信すると、第1ランキングページをディスプレイ25に表示する(S162)。
即ち、CPU30は、S201において複数のゲームのうち、
図9に表示されるゲームにおける利用者Aの利用者識別情報UIDaxを特定し、さらに、当該ゲームにおいて利用者Aと仲間関係が構築されている利用者を利用者識別情報UID*xで特定し、さらに、特定した利用者、即ち、仲間がプレイしている各ゲームのランキングと、各ゲームをプレイしている仲間数とを示す利用情報を取得する情報取得部15として機能する。
本実施形態によれば、情報取得部15は、仲間の間で人気アプリページへのアクセス要求要求に対応づけられたアプリケーションにおいて、要求利用者である利用者Aの仲間が利用しているアプリケーションに関する利用情報を取得する。そして、表示制御部14はこれを端末装置2に表示させるので、要求利用者は特定のアプリケーションを介した仲間に関して様々な情報を得ることが可能となる。
【0088】
また、ボタン114(
図9)をクリックして「他の仲間に人気のゲームを見る」を選択すると(S163)、管理サーバ3Aの人気アプリページへ移行する。即ち、ボタン113はSNSサイトの人気アプリページへのリンクが定義されたものである。なお、このリンクの定義には、利用者を示す利用者識別情報UIDのリンク情報が含まれる。管理サーバ3AのCPU30は、利用者がプレイした複数ゲームでの仲間の間で人気アプリページへのアクセス要求を受信すると、第2ランキングページを生成する第2ランキング処理を実行する(S164)。端末装置2のCPU20は、管理サーバ3Aから第2ランキングページを含むアクセス応答を受信すると、第2ランキングページをディスプレイ25に表示する(S165)。
なお、ボタン113による人気アプリのランキングは、利用者の対象がある特定のゲームの仲間であることに対して、ボタン114による人気アプリのランキングは、利用者の対象が、当該利用者がプレイしている複数のゲームのいずれかで仲間であることである。仮に利用者が1つのゲームしかプレイしていない場合には、ボタン113による人気アプリのランキングの内容と、ボタン113による人気アプリのランキングの内容が同一になる。
【0089】
図18にランキング処理の内容を示す。まず、CPU30は、受信したアクセス要求に含まれる利用者識別情報UIDaxを取得する(S170)。次に、CPU30は、利用者情報テーブルTBL11を参照して、利用者識別情報UIDaxから利用者Aの参照識別情報RefIDaを取得する(S171)。さらに、CPU30は、関係テーブルTBL13を参照して、グループ情報Groupが「Friends」を示し、利用者Aの参照識別情報RefIDaに対応する種別情報AppIDxと利用者識別情報UIDaxとの組みを特定する(S172)。
より具体的には、(Group= Friends)*{(RefID_To=RefIDa)+(RefID_From=RefIDa)}*(Stat=1)を充足するレコードを抽出し、それらに含まれる一又は複数の種別情報AppIDxと利用者識別情報UID*xとの組みを特定する。
【0090】
次に、CPU30は、抽出した利用者識別情報UID*xの数を種別情報AppIDxごとに集計する(S173)。さらに、CPU30は、仲間の利用者識別情報UID*xの集計数に基づいて、種別情報AppIDxで特定されるゲームの人気順を特定する(S174)。次に、CPU30は、アプリ情報テーブルTBL15を参照して、抽出した種別情報AppIDxに対応するゲーム名、説明情報、及びアイコン情報を取得する。この後、CPU30は、ランキングページを生成する(S176)。この際、CPU30は、遊んでいる仲間の多い順にゲームの説明などを配置して第2ランキングページを生成する。端末装置2は、管理サーバ3Aから第2ランキングページを含むアクセス応答を受信すると、第2ランキングページをディスプレイ25に表示する。
即ち、CPU30は、S172において複数のゲームのうち、利用者Aが利用したことがあるゲームの種別情報AppIDxを特定し、さらに、利用者と仲間関係が構築されている利用者を利用者識別情報UID*xで特定し、さらに特定した利用者、即ち、仲間がプレイしている各ゲームのランキングと、各ゲームをプレイしている仲間数とを示す利用情報を取得する情報取得部15として機能する。
【0091】
図19に第2ランキングページの一例を示す。この例では、ランキング表示領域220、230、240が設けられており、ランキングの高い順にゲームをランキング表示領域220→ランキング表示領域230→ランキング表示領域240に表示する。
本実施形態によれば、仲間内で利用されている人数の多い順にアプリケーション(ゲーム)が表示されるので、利用者は、アプリケーション(ゲーム)の人気ランキングを一見して知ることができる。
【0092】
まず、領域221にはアプリ情報テーブルTBL15から読み出したアイコン情報に基づいてアイコンが表示され、領域222にはアプリケーション名(ゲーム名)が表示される。これらの情報は、上述したS175の処理で取得される。次に領域223には、利用者Aがプレイしているゲームのいずれかで、利用者Aと仲間関係にありゲームbを遊んだことのある他の利用者の人数が表示される。この情報は、上述したS173の処理で取得される。次に領域224には、ゲームbの説明が表示される。この情報は、上述したS175の処理で取得される。なお、ここで表示されるゲームは利用者Aがプレイしていないものも含まれる。
【0093】
このように本実施形態によれば、ゲームごとに利用者の仲間がプレイしている仲間数を知ることができるので、仲間内で人気のあるゲームを知ることができる。これにより、利用者は新しいゲームを選択する場合の目安を得ることができる。
また、本実施形態によれば、情報取得部15は、要求利用者である利用者Aが利用済みのアプリケーションにおいて仲間関係が構築されている仲間について、当該仲間が利用しているアプリケーションに関する利用情報を取得する。そして、表示制御部14はこれを端末装置2に表示させる。したがって、要求利用者である利用者Aは、仲間が利用しているアプリケーションの関して様々な情報を得ることが可能となる。
【0094】
次に、仲間数処理について説明する。
図20に仲間数処理に関するアプリケーションシステムの動作シーケンスを示す。管理サーバ3Aが提供する利用者ごとのSNSサイトのマイページには、ゲームを特定して仲間数を問い合わせることができる仲間数ボタンが用意されている。
【0095】
利用者Aが端末装置2において、あるゲームに係る仲間数ボタンをクリックして仲間数を選択すると(S180)、端末装置2のCPU20は仲間数要求を管理サーバ3Aに送信する。管理サーバ3AのCPU30は、仲間数要求を受信すると、仲間数ページを生成する仲間数処理を実行する(S181)。
【0096】
図21に仲間数処理の内容を示す。まず、CPU30は、受信した仲間数要求に含まれる利用者識別情報UIDaxと着目するゲームの種別情報AppIDxを取得する(S190)。次に、CPU30は、利用者情報テーブルTBL11を参照して、利用者識別情報UIDaxから利用者Aの参照識別情報RefIDaを取得する(S191)。さらに、CPU30は、関係テーブルTBL13を参照して、グループ情報Groupが「Friends」を示し、種別情報AppIDが「AppIDx」を示し、且つ、利用者Aの参照識別情報RefIDaに対応する仲間の利用者の利用者識別情報UID*xを抽出する(S192)。
より具体的には、(Group= Friends)*(AppID= AppIDx)*{(RefID_To=RefIDa)+(RefID_From=RefIDa)}を充足するレコードを抽出し、それらに含まれる一又は利用者識別情報UID*xを抽出する。
【0097】
次に、CPU30は、抽出した利用者識別情報UID*xの数を集計する(S193)。さらに、CPU30は、アプリ情報テーブルTBL15を参照して、種別情報AppIDxに対応するゲーム名、説明情報、及びアイコン情報を取得する。この後、CPU30は、仲間数ページを生成する(S195)。
【0098】
図22に仲間数ページの一例を示す。この例では、仲間数表示領域320に処理結果が表示される。具体的には、領域321にはアプリ情報テーブルTBL15から読み出したアイコン情報に基づいてアイコンが表示され、領域322にはアプリケーション名(ゲーム名)が表示される。これらの情報は、上述したS194の処理で取得される。次に領域323には、利用者Aと仲間関係にありゲームbを遊んだことのある他の利用者の人数が表示される。この情報は、上述したS193の処理で取得される。次に領域324には、ゲームbの説明が表示される。この情報は、上述したS194の処理で取得される。
【0099】
このように本実施形態によれば、ゲームを指定して利用者の仲間がプレイしている仲間数を知ることができるので、利用者は気がかりなゲームについて、仲間内で当該ゲームがどの程度人気があるかを知ることができる。
また、本実施形態によれば、アプリケーション(ゲーム)を利用している利用者数が端末装置2に表示されるので、相対的なランキングよりも詳細な情報を利用者は得るこができる。
【0100】
<3.変形例>
本発明は上述した実施形態に限定されるものではなく、以下の変形が可能である。また、各変形例は適宜組み合わせることができる。
(1)上述した実施形態では、アプリケーションの一例としてゲームを取り上げて説明したが本発明はこれに限定されるものではない。招待や人気アプリのランキングについては、どのようなものであってもよい。例えば、占いや診断のアプリケーション、便利ツールのアプリケーション、写真画像処理のアプリケーションであってもよい。仲間申請については、仲間関係を構築して利用するチャットや掲示板のアプリケーションが好適である。
【0101】
(2)上述した実施形態では、仲間の候補利用者を特定する場合、あるいはランキング処理、もしくは、特定のゲームを特定した仲間数処理において、最後にログインした日時は問題としなかったが、本発明はこれに限定されるものではない。例えば、アクセステーブルの一例として利用者情報テーブルTBL11を用い、利用者情報テーブルTBL11に利用者識別情報UIDと関連付けて記憶されているラストログイン情報LastLoginを用いて、仲間申請の対象となるアプリケーションを利用している候補利用者を特定する場合、あるいはアプリケーションごとに利用している仲間数を特定する場合に、もしくは、特定のゲームにおける仲間数を特定する場合に、所定期間内にアプリケーションを利用していることを条件に加えてもよい。
【0102】
例えば、
図10に示す仲間処理の代わりとして、
図24に示す仲間処理を行うようにしてもよい。
図24は、
図10に対応する仲間処理のフローチャートであり、ステップS109の処理の後に、ステップS250とステップS251の処理が追加されている。管理サーバ3AのCPU30は、
図10に示す仲間処理と同様に、ステップS100からステップS109までの処理を行う。その後、CPU30は、利用者情報テーブルTBL11を参照して、ステップS109で抽出した仲間の利用者識別情報UID*x及び着目する種別情報AppIDxの組と一致する組の最終ログイン日を取得する(S250)。最終ログイン日は、利用者情報テーブルTBL11のラストログイン情報LastLoginのフィールドに記憶されている。そして、CPU30は、取得した最終ログイン日と、処理が行われている現在の日付とから、最終ログイン日が所定期間内である仲間の利用者識別情報UID*x及び着目する種別情報AppIDxの組を抽出し、さらに、抽出した組における仲間の利用者識別情報UID*xを抽出する(S251)。このような処理により、所定期間内にアプリケーションを利用している仲間の候補利用者のみを特定することが可能になる。
【0103】
また、
図18に示すランキング処理の代わりとして、
図25に示すランキング処理を行うようにしてもよい。
図25は、
図18に示す第2ランキング処理に対応するランキング処理のフローチャートであり、ステップS172とステップS173の処理の間に、ステップS252とステップS253の処理が追加されている。管理サーバ3AのCPU30は、
図18に示すランキング処理と同様に、受信したアクセス要求に含まれる利用者識別情報UIDaxを取得する(S170)。次に、CPU30は、利用者情報テーブルTBL11を参照して、利用者識別情報UIDaxから利用者Aの参照識別情報RefIDaを取得する(S171)。さらに、CPU30は、関係テーブルTBL13を参照して、グループ情報Groupが「Friends」を示し、利用者Aの参照識別情報RefIDaに対応する種別情報AppIDxと仲間の利用者識別情報UID*xとの組みを特定する(S172)。その後、CPU30は、利用者情報テーブルTBL11のラストログイン情報LastLoginを参照して、ステップS172で特定した仲間の利用者識別情報UID*x及び種別情報AppIDxの組と一致する組の最終ログイン日を取得する(S252)。最終ログイン日は、利用者情報テーブルTBL11のラストログイン情報LastLoginのフィールドに記憶されている。そして、CPU30は、取得した最終ログイン日と、処理が行われている現在の日付とから、最終ログイン日が所定期間内である仲間の利用者識別情報UID*x及び種別情報AppIDxの組を抽出し、さらに、抽出した組における仲間の利用者識別情報UID*xを抽出する(S253)。
次に、CPU30は、抽出した利用者識別情報UID*xの数を種別情報AppIDxごとに集計する(S173)。さらに、CPU30は、仲間の利用者識別情報UID*xの集計数に基づいて、種別情報AppIDxで特定されるゲームの人気順を特定する(S174)。次に、CPU30は、アプリ情報テーブルTBL15を参照して、抽出した種別情報AppIDxに対応するゲーム名、説明情報、及びアイコン情報を取得する。この後、CPU30は、ランキングページを生成する(S176)。この際、CPU30は、遊んでいる仲間の多い順にゲームの説明などを配置して第2ランキングページを生成する。端末装置2は、管理サーバ3Aから第2ランキングページを含むアクセス応答を受信すると、第2ランキングページをディスプレイ25に表示する。このような処理により、所定期間内にアプリケーションを利用している仲間の候補利用者のみについて、アプリケーションごとにランキングを表示することが可能になる。
【0104】
さらに、
図21に示す仲間数処理の代わりとして、
図26に示す仲間数処理を行うようにしてもよい。
図26は、
図21に対応する仲間数処理のフローチャートであり、ステップS192とステップS193の処理の間に、ステップS254とステップS255の処理が追加されている。管理サーバ3AのCPU30は、
図21に示す仲間数処理と同様に、ステップS190からステップS192までの処理を行う。その後、CPU30は、利用者情報テーブルTBL11を参照して、ステップS192で抽出した仲間の利用者識別情報UID*x及び着目する種別情報AppIDxの組と一致する組の最終ログイン日を取得する(S254)。最終ログイン日は、利用者情報テーブルTBL11のラストログイン情報LastLoginのフィールドに記憶されている。そして、CPU30は、取得した最終ログイン日と、処理が行われている現在の日付とから、最終ログイン日が所定期間内である仲間の利用者識別情報UID*x及び着目する種別情報AppIDxの組を抽出し、さらに、抽出した組における仲間の利用者識別情報UID*xを抽出する(S255)。これ以降の処理は
図21に示す仲間数処理と同様である。このような処理により、所定期間内にアプリケーションを利用している仲間の候補利用者のみについて、仲間数を表示することが可能になる。
【0105】
ゲームでは試しにプレイして、気に入らないのでその後、全くプレイしないゲームもあるが、所定期間内にアプリケーションを利用していることを条件とすることで、そのゲームをプレイしている利用者に対して仲間申請を行うことができるようになる。なお、仲間申請する際に、利用者が所定期間として、「1カ月」「1週間」のように選択可能としてもよい。また、所定期間は、アプリケーションの種別に応じて異なる期間が設定されるようにしてもよい。また、本発明は、利用者識別情報UIDとラストログイン情報LastLoginとを対応づけて記憶するのであれば、どのようなテーブルを用いてもよく、これを利用者情報テーブルTBL11とは別に設けてもよい。
本変形例によれば、アプリケーションの利用から所定期間内の候補利用者に限定しているので、アプリケーションを試しに利用し、その後、利用しなくなった利用者については候補利用者から除くので、着目するアプリケーションについて実際に使用している利用者を候補利用者とすることができるといった利点がある。
【0106】
また、本変形例のによれば、日時情報を参照することによって、所定期間において仲間内で利用されている人数の多い順にアプリケーションが表示されるので、ある期間において仲間内で利用しているアプリケーションの人気ランキングを一見して知ることができる。アプリケーションを試しに利用し、その後、利用しなくなることも考えられ、このような試用をランキングの対象から除外したい場合もある。本変形例によれば、所定期間に利用されているアプリケーションをランキングの対象とするので、試用を除外したランキングを行うことが可能となる。
また、本変形例によれば、日時情報を参照することによって、所定期間において仲間内であるアプリケーションを利用している人数を特定するので、ある期間においてあるアプリケーションを仲間内で利用している人数を一見して知ることができる。
なお、本変形例では、第2ランキング処理において、各ゲームにおける仲間数を特定する場合に、所定期間内にゲームを利用していることを条件に加えた場合について説明したが、本変形例は、第1ランキング処理にも適用可能である。第1ランキング処理に本変形例を適用する場合には、
図23に示すS201とS202の間に、
図24に示すS300に相当する処理を行えばよい。
【0107】
(3)上述した実施形態において、招待は、複数の利用者に対して行うことができたが、これに制限を設けてもよい。具体的には、所定期間(例えば、1日、1週間)に招待できる利用者の数に制限を設けてもよい。あるいは、多数の招待メールが来ることを防止するために、招待メールの数に上限を設けてもよい。この場合には、インバイトテーブルTBL14において申請先の利用者の状態情報Statが「0」(申請中)を示すレコードが10件未満の利用者にしか「招待する」ができないようにしてもよい。また、申請を受ける側で受信を制限するようにしてもよい。例えば、状態情報Statが「0」(申請中)を示すレコードが10件を超える場合には、招待メールを申請先に送信せずに招待を拒否にしてもよい。
さらに、申請元において状態情報Statが「0」(申請中)を示すレコードが10件をこえないように制限をしてもよい。くわえて、招待した相手がそのゲームを開始した場合に、例えば、招待者にインセンティブ(ポイント等)を付与してもよい。
【0108】
(4)上述した実施形態では、「仲間申請」や「招待する」や「ランキング」の処理は、アプリケーションサーバ3B、3C、3D…におけるゲームのマイページから遷移する例を説明したが、本発明はこれに限定されるものではなく、管理サーバ3AのSNSサイトのマイページから遷移できるようにしてもよい。
ゲームのマイページから「仲間申請」や「招待する」や「ランキング」の処理へ遷移する場合には、アプリケーションサーバ3B、3C、3D…から「ゲームb」と「Xさん」からの要求であることの情報が通知される。管理サーバ3AのSNSサイトのマイページから遷移する場合には、同様の情報を与えればよい。SNSサイトでは「Xさん」のマイページにログインしていることから、仲間申請要求や招待要求が「Xさん」であることは把握できる。このため、どのゲームを誘うのかを選択する手段を設ける。つまり、どのゲームへの「仲間申請」なのか「招待」なのか、またはどのゲームでの仲間に人気のあるアプリケーションの「ランキング」なのかを選択できるようにする。また、ゲームを指定しない「ランキング」も選択できるようにする。これらの選択は、SNSサイトのマイページに選択のためにボタンを設ければよい。なお、ゲームを指定した「ランキング」は、上述した実施形態の第1ランキング処理であり、ゲームを指定しない「ランキング」は、上述した実施形態の第2ランキング処理である。
【0109】
(5)上述した実施形態では、各ゲームにおける利用者毎の仲間上限数を管理サーバ3Aで一元的に管理したが、本発明はこれに限定されるものではなく、各アプリケーションサーバ3B、3C、3D…で管理するようにし、管理サーバ3Aから必要に応じて各アプリケーションサーバ3B、3C、3D…に問い合わせるようにしてもよい。この場合、管理サーバ3AのCPU30は、受付部11で受付けた種別情報に対応するアプリケーションサーバ3B、3C、…において設定された利用者の仲間上限数を取得する取得部9として機能する(
図27参照)。あるいは、管理サーバ3AのCPU30は、受付部11で受付けた種別情報AppIDに対応するアプリケーションサーバ3B、3C、…に対して利用者の仲間上限数を問い合わせる要求を送信し、要求に対する応答として当該アプリケーションサーバ3B、3C、…から仲間上限数を取得する取得部9として機能してもよい(
図27参照)。
【0110】
図28は、
図8の共通処理に関するアプリケーションシステムの動作シーケンスに対応する本変形例の動作シーケンスを示す。
図28示す動作シーケンスでは、管理サーバ3AのCPU30が仲間処理を実行する際(S7)、必要に応じてアプリケーションサーバ3B、3C、…に対して利用者の仲間上限数を問い合わせる要求を送信し、要求に対する応答として当該アプリケーションサーバ3B、3C、…から仲間上限数を取得する。具体的には、
図29及び
図30に示すように仲間上限数の取得処理が行われる。
図29は
図10に対応する本変形例の仲間処理のフローチャートであり、
図30は
図11に対応する本変形例の仲間処理のフローチャートである。
図29に示すように、本変形例では、
図10に示すステップS102の代わりに、ステップS300の処理が行われる。つまり、CPU30は、アプリケーションサーバ3B、3C、…に対して、着目する利用者Aの利用者識別情報UIDaxに対応する仲間上限数を要求し、アプリケーションサーバ3B、3C、…から利用者Aの利用者識別情報UIDaxに対応する仲間上限数を取得する(S300)。また、
図30に示すように、本変形例では、
図11に示すステップS116の代わりに、ステップS301の処理が行われる。つまり、CPU30は、抽出された種別情報AppIDxに対応するアプリケーションを提供するアプリケーションサーバ3B、3C、…のうちのいずれかのアプリケーションサーバに対して、着目する非仲間の利用者識別情報UID*xの仲間上限数を要求し、当該アプリケーションサーバから当該仲間上限数を取得する(S301)。
【0111】
また、仲間上限数以外のデータでも各アプリケーションサーバ3B、3C、3D…で管理することが可能なものは、同様に、各アプリケーションサーバ3B、3C、3D…で管理するようにし、管理サーバ3Aから必要に応じて各アプリケーションサーバ3B、3C、3D…に問い合わせるようにしてもよい。
また、仲間上限数が各アプリケーションで固定化されていてもよい。その場合、例えば、アプリ情報テーブルTBL15で種別情報AppIDに関連付けて固定化された仲間上限数が記録されていてもよい。さらに、アプリケーションによって仲間上限数が固定化されているものと変動するものを含む場合、アプリ情報テーブルTBL15に種別情報AppIDに関連付けて仲間上限数が記憶されていれば固定化されているものとし、記憶されていなければ(null)仲間上限数テーブルTBL12を参照するようにしてもよい。
本変形例によれば、アプリケーションサーバから仲間上限数を取得する取得部を備えるので、仲間上限数を取得することが可能となる。
【0112】
(6)上述した実施形態では、管理サーバ3AのSNSサイトのマイページからランキングの選択や仲間数の選択が実行できるようにしたが、本発明はこれに限定されるものではなく、アプリケーションサーバ3B、3C、3D…が提供する画面(ページ)で利用者の操作に基づく要求(ランキング要求、仲間数要求)を受け付けて、アプリケーションサーバ3B、3C、3D…が管理サーバ3Aに要求するものであってもよい。なお、仲間数要求の場合には、利用者がどのゲームについて仲間数の提供を希望するかを選択できるようになっている。
【0113】
(7)上述した実施形態では、仲間上限数が変化すると、各アプリケーションサーバ3B、3C、3D、…から管理サーバ3Aに通知が送信されたが、本発明はこれに限定されるものでない。例えば、アプリケーション(ゲーム)において、仲間上限数の変化に影響を与える事象(ゲームであればレベルがアップしたとき等)が発生した場合に、仲間上限数の変化の有無に関わらず仲間上限数を通知するようにしてもよい。さらに、端末装置2から管理サーバ3Aに通知してしてもよい。この場合、端末装置2のCPU20は、
図31に示すように、端末装置2の利用者の仲間上限数が変化したことを検出する検出部27と、検出部27によって仲間上限数が変化したことが検出されると、変化した後の仲間上限数を管理サーバ3Aに通知する通知部28として機能する。
【0114】
また、種類の異なる複数のアプリケーション(ゲーム)のそれぞれにおける仲間関係が構築された利用者識別情報UIDをアプリケーション(ゲーム)の種類を示す種別情報に関連付けて一元的に管理する管理サーバと通信可能なアプリケーションサーバ3B、3C、3D、…に、
図32に示すように管理部51と通知部52とを備えるようにしてもよい。管理部51は、利用者(プレイヤ)の所定の利用実績の度合い(レベルやゲーム進行度を示すステージ数)に関連付けて仲間関係を構築できる仲間上限数Limitを管理する。通知部52は、アプリケーション(ゲーム)の利用中(ゲーム進行中)に前記利用実績を示す度合いが更新されて仲間上限数が変更された場合に、前記管理部51で管理する前記利用実績の度合いに応じた仲間上限数Limitを、種別情報及び利用者識別情報UIDと関連付けて前記端末装置2に通知する。また、通知部52は、アプリケーションの利用中に前記利用実績を示す度合いが更新された場合に通知するようにしてもよい。
【0115】
本変形例においては、
図33に示すように、アプリケーションサーバ3B、3C、3D、…の管理部51が利用者の前記所定の利用実績の度合いに関連付けて仲間関係を構築できる仲間上限数Limitを管理する(S400)。そして、アプリケーションサーバ3B、3C、3D、…の通知部52は、アプリケーションの利用中に前記利用実績を示す度合いが更新されて仲間上限数が変更された場合に、前記管理部51で管理する前記利用実績の度合いに応じた仲間上限数Limitを、種別情報及び利用者識別情報UIDと関連付けて前記端末装置2に通知する。
アプリケーションサーバ3B、3C、3D、…から種別情報及び利用者識別情報UIDと関連付けられた仲間上限数Limitの通知を受けた端末装置2は、検出部27によって端末装置2の利用者の仲間上限数が変化したことを検出する(S401)。そして、端末装置2の通知部28は、変化した後の仲間上限数を管理サーバ3Aに通知する。
端末装置2から変化した後の仲間上限数の通知を受けた管理サーバ3AのCPU30は、仲間上限数テーブルTBL12に変化した後の仲間上限数を記憶させる(S402)。
なお、本変形例においては、アプリケーションサーバ3B、3C、3D、…の通知部52は、前記管理部51で管理する前記利用実績の度合いに応じた仲間上限数Limitを、種別情報及び利用者識別情報UIDと関連付けて前記管理サーバ3Aに通知するようにしてもよい。
【0116】
さらに管理サーバは、前記複数のアプリケーション(ゲーム)のうち他のアプリケーション(ゲーム)で仲間関係が構築されている利用者を対象に仲間の候補となる利用者を提示することを前記管理サーバに対して要求する要求部と、前記要求部の要求に応じて行われる前記管理サーバの処理の結果として、要求利用者が選択した利用者に対にする仲間申請の要求を、前記管理サーバから仲間申請の対象となるプレイヤ情報と関連付けて受付る受付部とから構成されてもよい。さらに、前記通知部は、前記仲間申請を受付けた利用者の承諾または拒否に応じた通知を前記管理サーバに通知するようにしてもよい。
【0117】
(8)上述した実施形態では、CPU30は、インバイトテーブルTBL14を参照して、利用者Aが招待元となっている招待先の利用者を特定し、特定された利用者を候補利用者から除いた(S112)。インバイトテーブルTBL14には、招待中(Stat=0)、拒否又は承諾(Stat=1)が記録されているので、これらに該当する利用者が除かれる。即ち、状態情報Statが拒否又は承諾を示す第1状態(Stat=1)及び状態情報Statが招待中を示す第2状態(Stat=0)の利用者は招待の候補利用者から除かれる。
本発明はこれに限定されるものではなく、以下の態様をとり得る。第1に、CPU30は、状態情報Statが第1状態である場合に、招待の候補利用者から除いてもよい。即ち、
状態情報Statが招待中を示す第2状態において、再度、招待を認めてもよい。
また、状態情報Statにおいて、Stat=1を拒否、Stat=2を承認といったように、拒否と承認を区別して管理してもよい。この場合、CPU30は、状態情報Statが「0」拒否を示す場合に招待の候補利用者から除いてもよい。
これらを、総合すると、CPU30は、状態情報Statによって示される招待の状態が少なくとも拒否である場合に、利用者を候補利用者から除外する。
【0118】
また、管理サーバ3Aは、
図34に示すように、インバイトテーブルTBL14の替わりに、招待した利用者と招待を拒否した利用者とを管理する管理部51を備え、特定部12は、管理部51を用いて、要求利用者が招待した利用者のうち、招待を拒否した利用者を特定し、特定した利用者を前記候補利用者から除くようにしてもよい。
具体的には、
図35に示す処理が行われる。
図35は、
図11に対応するフローチャートである。本変形例では、例えば、特定部12は、S111の処理が行われた後に、管理部51に対して、招待を拒否した利用者のリストを要求する。そして、特定部12は、当該リスト中の利用者とS111で抽出した利用者との間で一致する利用者が存在した場合には、当該利用者を、招待を拒否した利用者として特定する(S500)。
次に、CPU30は、インバイトテーブルTBL14を参照して、利用者Aを示す参照識別情報RefIDaが招待元、且つ候補利用者の利用者識別情報UID*xに対応する参照識別情報RefID*が招待先としてインバイトテーブルTBL14に記録されている場合には、当該利用者識別情報UID*xを、候補利用者の利用者識別情報UID*xから除外し、残りの候補利用者の利用者識別情報UID*xを抽出する。そして、CPU30は、抽出した候補利用者の利用者識別情報UID*xの中から、S500で特定した利用者の利用者識別情報UID*xを除外し、残りの利用者識別情報UID*xを集計する(S501)。
この変形例によれば、招待した利用者と招待を拒否した利用者とを対応づけて管理するので、一度、拒否された利用者を再度、招待することを未然に防止することができる。
【0119】
(9)上述した実施形態では、CPU30は、インバイトテーブルTBL14に記録された招待の年月日を示す日時情報Dateに基づいて、招待してから所定期間を超えて、招待申請中が継続した場合には、強制的に状態情報Statを拒否又は承認(第1状態)を示す「1」に書き換えた。
しかし、本発明はこれに限定されるものではなく、CPU30は、日時情報Dateに基づいて状態情報Statを書き換えるのではなく、状態情報Statが招待中を示している場合に、
招待の年月日を示す日時情報Dateから所定期間が経過した場合に、拒否されたとみなして取り扱ってもよい。例えば、本変形例では、
図36に示す処理が行われる。
図36は、
図11に対応するフローチャートである。
図36に示すように、CPU30は、招待を拒否した利用者と、招待中(第2状態)であって、招待日から所定期間が経過した利用者とを特定する(S510)。所定期間の経過は、招待の年月日を示す日時情報Dateに基づいて判断すればよい。
【0120】
次に、CPU30は、インバイトテーブルTBL14を参照して、利用者Aを示す参照識別情報RefIDaが招待元、且つ候補利用者の利用者識別情報UID*xに対応する参照識別情報RefID*が招待先としてインバイトテーブルTBL14に記録されている場合には、当該利用者識別情報UID*xを、候補利用者の利用者識別情報UID*xから除外し、残りの候補利用者の利用者識別情報UID*xを抽出する。そして、CPU30は、抽出した利用者識別情報UID*xの中から、S510で特定した利用者の利用者識別情報UID*xを含むレコードを除外し、残りの利用者識別情報UID*xを集計する(S511)。
この変形例によれば、招待を申請中の利用者に対して、再度の招待申請を許容する。これにより、招待を承認するか否かをまよっている利用者に対して、再び招待することによって、ゲームへの参加を促すことができる。しかしながら、何度も招待するのは迷惑である。そこで、本変形例は、状態情報が申請中を示していても、招待の日時から所定期間が経過すると、状態情報が申請中を示していても、候補利用者から除外している。これにより、ゲームへの参加を促しつつ、迷惑行為を防止することが可能となる。また、拒否と承認を一つの状態として管理できるので、データ構造を簡素化できる。
【0121】
また、CPU30は、招待の年月日を示す日時情報Dateに基づいて、招待してから所定期間を超えて、招待申請中(第2状態)が継続した場合には、強制的にインバイトテーブルTBL14の状態情報Statを拒否「1」(第1状態)に書き換えるようにしてもよい。この場合には、CPU30は、
図37に示すように書換部53として機能する。具体的には、例えば
図38に示す処理が行われる。
図38は、
図15に示すように管理サーバ3Aから端末装置2に招待メールを送信した後に、定期的に実行される処理のフローチャートである。
図37に示すように、CPU30は、端末装置2に招待メールを送信した後、インバイトテーブルTBL14の日時情報Dateを読み取る(S520)。そして、CPU30は、日時情報Dateに基づいて、招待してから所定期間が経過したか否かを判断する(S521)。CPU30は、所定期間が経過していないと判断した場合には(S521:NO)、処理を終了する。しかし、CPU30は、所定期間が経過したと判断した場合には(S521:YES)、インバイトテーブルTBL14の状態情報Statを拒否「1」に書き換える(S522)。
なお、インバイトテーブルTBL14に、レコードの有効/無効を示す項目を新たに追加し、所定期間が過ぎた場合にレコードを無効とするようにしてもよい。
この変形例によれば、招待申請を通知した日時から所定期間が経過しても招待された利用者から応答がない場合、前記状態情報の状態を招待の申請中から招待の拒否へ書き換えるので、候補利用者に該当するか否かの判定を簡素化することができる。
また、招待を拒否された場合だけでなく、招待が承認された場合にも候補利用者から除外される。招待を承認した利用者は、そもそも招待の対象となるゲームを既に利用しているから、招待する必要がない。このようなデータ構造を採用することにより、拒否した利用者と招待された利用者を同時に排除できるので処理負荷が軽減される。
【0122】
(10)上述した問合処理において、CPU30は、
図10及び
図11を参照して説明した処理を実行して仲間申請可能な人数や招待可能な人数を端末装置2に表示させてもよい。
さらに、CPU30は、仲間申請可能な利用者の数と招待可能な利用者の数と並べて表示させるページを生成し、さらに仲間申請が可能な候補利用者と招待可能な利用者とを選択的に端末装置2に表示させてもよい。
具体的には、
図39及び
図40に示す処理が行われる。
図39は、
図18の第2ランキング処理に対応する本変形例におけるランキング処理のフローチャートである。
図40は、
図10及び
図11に示す仲間申請可能な人数及び招待可能な人数の算出処理に対応する本変形例の処理のフローチャートである。
まず、CPU30は、
図39に示すように、受信したアクセス要求に含まれる利用者識別情報UIDaxを取得する(S170)。次に、CPU30は、利用者情報テーブルTBL11を参照して、利用者識別情報UIDaxから利用者Aの参照識別情報RefIDaを取得する(S171)。さらに、CPU30は、関係テーブルTBL13を参照して、グループ情報Groupが「Friends」を示し、利用者Aの参照識別情報RefIDaに対応する種別情報AppIDxと利用者識別情報UID*xとの組みを特定する(S172)。
より具体的には、CPU30は、(Group= Friends)*{(RefID_To=RefIDa)+(RefID_From=RefIDa)}*(Stat=1)を充足するレコードを抽出し、それらに含まれる一又は複数の種別情報AppIDxと利用者識別情報UID*xとの組みを特定する。
【0123】
次に、CPU30は、特定した組に含まれる全ての利用者識別情報UID*xの中から、重複する利用者識別情報UID*xを除外して、ユニークな利用者識別情報UID*xを全て抽出する(S600)。この処理により、利用者Aの全ての仲間の利用者識別情報UID*xが抽出される。抽出した全ての仲間の利用者識別情報UID*xは後述する招待可能な利用者の人数算出処理の際に用いられる。
利用者Aの全ての仲間の利用者識別情報UID*xを抽出した後、CPU30は、S172で抽出した組みにおいて、利用者識別情報UID*xの数を種別情報AppIDxごとに集計する(S173)。さらに、CPU30は、仲間の利用者識別情報UID*xの集計数に基づいて、種別情報AppIDxで特定されるゲームの人気順を特定する(S174)。
次に、CPU30は、抽出した全ての種別情報AppIDxと利用者識別情報UID*xとの組みに対してS700〜S713の処理が終了したか否かを判定する(S601)。全ての組みに対してS700〜S713の処理が終了していない場合には(S601:NO)、CPU30は、一つの種別情報AppIDxに着目し、当該種別情報AppIDxに対応するゲームに招待可能な利用者の人数の算出処理と、当該種別情報AppIDxに対応するゲームにおいて仲間申請可能な人数の算出処理とを行う。
【0124】
まず、CPU30は、利用者情報テーブルTBL11を参照して、着目するAppIDxにおける利用者Aの参照識別情報RefIDaに対応する利用者識別情報UIDaxを取得する(S700)。例えば、着目する種別情報AppIDxが「00000001」であり、利用者Aの参照識別情報RefIDaが「00000011」だとすると、利用者識別情報UIDaxは「XCV56714」となる。
次に、CPU30は、利用者A自身が仲間上限数に達しているか否かの判断を行う処理(S701〜S703)を行う。まず、CPU30は、仲間上限数テーブルTBL12を参照して、利用者Aの利用者識別情報UIDaxに対応する仲間上限数を取得する(S702)。
そして、CPU30は、取得した仲間上限数が、
図39のS173で集計した種別情報AppIDxごとの仲間の利用者識別情報UID*xの数のうち、着目する種別情報AppIDxについての仲間の利用者識別情報UID*xの数を超えるか否かを判定する(S702)。この判定条件が否定される場合は(S702:NO)、着目する種別情報AppIDxに対応するゲームについて、既に利用者Aにおける仲間の利用者識別情報UID*xの総数が、仲間上限数に達しているので、仲間申請が不能となる。したがって、CPU30は、仲間申請が不能である旨のフラグをセットする(S703)。しかし、前記判定条件が否定される場合は(S702:YES)、着目する種別情報AppIDxに対応するゲームについて、利用者Aにおける仲間の利用者識別情報UID*xの総数は、未だ仲間上限数に達していないので、フラグをセットすることなく次の処理に移行する。
【0125】
次に、着目する種別情報AppIDxに対応するゲームに招待することが可能な利用者を特定する処理(S704〜S705)を行う。まず、CPU30は、招待の対象となるゲームをプレイしていない利用者を候補利用者としたとき、
図39のS600で抽出した全ての仲間の利用者識別情報UID*xの中から、着目する種別情報AppIDxに対応するゲームをプレイしていない候補利用者の利用者識別情報UID*xを抽出する(S704)。具体的には、CPU30は、全ての仲間の利用者識別情報UID*xのうち、一つの利用者識別情報UID*xに着目し、利用者情報テーブルTBL11を参照して、着目する一つの利用者識別情報UID*xに対応する仲間の参照識別情報RefID*を取得する。さらに、CPU30は、取得した参照識別情報RefID*に対応する一又は複数の種別情報AppIDxを取得する。そして、CPU30は、取得した一又は複数の種別情報AppIDxに、着目する種別情報AppIDxが含まれているかどうかを判断する。含まれていない場合には、当該参照識別情報RefID*に対応する仲間は、着目する種別情報AppIDxに対応するゲームをプレイしていない場合なので、当該参照識別情報RefID*に対応する利用者識別情報UID*xを候補利用者の利用者識別情報UID*xとして抽出する。以上の処理を、
図39のS600で抽出した全ての仲間の利用者識別情報UID*xについて行う。
【0126】
次に、CPU30は、インバイトテーブルTBL14を参照して、着目する種別情報AppIDxを含むレコードのうち、利用者Aを示す参照識別情報RefIDaが招待元として記録され、且つ候補利用者の利用者識別情報UID*xに対応する参照識別情報RefID*が招待先として記録されているレコードを抽出する。そして、CPU30は、抽出したレコードに含まれる候補利用者の参照識別情報RefID*に対応する利用者識別情報UID*xを、S704で抽出した候補利用者の利用者識別情報UID*xから除外して、インバイトテーブルTBL14に記録されていない候補利用者の利用者識別情報UID*xを抽出し、集計する(S705)。
即ち、インバイトテーブルTBL14には招待中または招待済みの招待元の利用者と招待先の利用者とが組がレコードとして記録されており、このようなレコードに記録されている利用者というのは、過去に一度でも招待したことのある利用者ということになる。そこで、このように過去に一度でも招待したことのある利用者については、再度招待しないようにしている。これにより、利用者Aが招待可能な他の利用者とその人数とを特定することができる。集計された招待可能な仲間の数は、本変形例の第2ランキングページにおいてゲームごとに表示される(後述する
図41の領域225を参照)。
【0127】
次に、CPU30は、着目する種別情報AppIDxに対応するアプリケーションで仲間申請が可能な利用者を特定する処理(S706〜S711)を行う。なお、S703の処理で仲間申請が不能である旨のフラグがセットされている場合、CPU30は、当該処理を行わずに、フラグをリセットして、S712へ進む。
まず、CPU30は、関係テーブルTBL13を参照して、着目する種別情報AppIDxについて、まだ仲間になっていない非仲間の利用者の利用者識別情報UID*xを抽出する(S706)。CPU30は、着目する種別情報AppIDxに対応するゲーム以外で仲間申請を行う利用者Aと仲間関係がある他の利用者であって、当該ゲームを既に利用している利用者を抽出し(第1条件)、さらに、関係テーブルTBL13を参照して、当該ゲームにおいて利用者Aと仲間関係が構築されていない利用者(第2条件)を抽出する。
【0128】
次に、CPU30は、S706で抽出した全ての非仲間の利用者識別情報UID*xについて、S708〜S710の処理が完了したか否かを判定する(S707)。判定条件が充足される場合(S707:YES)、CPU30は処理をS711に進める。一方、判定条件が充足されなかった場合(S707:NO)、CPU30は処理をS708に進め、関係テーブルTBL13を参照して着目する非仲間の利用者識別情報UID*xの仲間数を集計する。この場合、CPU30は、関係テーブルTBL13を参照して、非仲間の利用者識別情報UID*xと申請元利用者識別情報UID_Fromとが一致するレコードから申請先参照識別情報RefID_Toを抽出するとともに、非仲間の利用者識別情報UID*xと申請先利用者識別情報UID_Toとが一致するレコードから申請元参照識別情報RefID_Fromを抽出する。そして、抽出した申請先参照識別情報RefID_Toと抽出した申請元参照識別情報RefID_Fromに対応する利用者識別情報UID*xの数が、非仲間の利用者識別情報UID*xの数となり、CPU30はこれを集計する。
【0129】
次に、CPU30は、仲間上限数テーブルTBL12を参照して着目する非仲間の利用者識別情報UID*xの仲間上限数を取得する(S709)。この後、CPU30は、取得した仲間上限数と集計した仲間数とを比較し、集計数が仲間上限数に達していない場合に、非仲間の利用者を仲間申請可能であると判断し(第3条件を充足)、集計数が仲間上限数に達している場合に非仲間の利用者を仲間申請不可能であると判断する(S710)。次に、CPU30は処理をS707に戻し、S707の判定条件が充足されるまでS707からS710を繰り返し、S707の判定条件が充足されと、処理をS711に進める。
S711において、CPU30は、仲間申請可能な非仲間の利用者識別情報UID*xを特定し、非仲間の人数を集計する。非仲間の集計数は、当該ゲーム以外の他のゲームにおいて仲間関係にあり当該ゲームにおいて仲間関係にない利用者の人数である。非仲間の集計数は、本変形例の第2ランキングページにおいてゲームごとに表示される(後述する
図41の領域226を参照)。
【0130】
次に、CPU30は、着目する種別情報AppIDxに対応するゲームについて、S705の処理で集計した招待可能な人数、およびS711の処理で集計した仲間申請可能な人数を一時的に変数領域やワークエリアに記憶させる(S712)。
この後、CPU30は、処理を
図39に示すS601に戻す。そして、S172で抽出した全ての種別情報AppIDxについてS700からS713の処理を終了すると(S601:YES)、アプリ情報テーブルTBL15を参照して、抽出した種別情報AppIDxに対応するゲーム名、説明情報、及びアイコン情報を取得する。この後、CPU30は、S173で集計した各種別情報AppIDxに対応するゲームをプレイしている仲間数、S512で記憶させた各種別情報AppIDxに対応するゲームについて招待可能な人数及び仲間申請可能な人数、並びに、S175で取得した各種別情報AppIDxに対応するゲーム名、説明情報、及びアイコン情報に基づいて、ランキングページを生成する(S176)。この際、CPU30は、遊んでいる仲間の多い順にゲームの説明などを配置して第2ランキングページを生成する。端末装置2は、管理サーバ3Aから第2ランキングページを含むアクセス応答を受信すると、第2ランキングページをディスプレイ25に表示する。
なお、S703の処理で仲間申請が不能である旨のフラグがセットされている場合には、仲間申請可能な人数の替わりに、その表示を非表示にしたり、「申請可能人数に達しているため申請できません」といった表示をする。
【0131】
図41に本変形例における第2ランキングページの一例を示す。この例では、ランキング表示領域220、230、240が設けられており、ランキングの高い順にゲームをランキング表示領域220→ランキング表示領域230→ランキング表示領域240に表示する。
領域221にはアプリ情報テーブルTBL15から読み出したアイコン情報に基づいてアイコンが表示され、領域222にはアプリケーション名(ゲーム名)が表示される。これらの情報は、上述したS175の処理で取得される。次に領域223には、利用者Aがプレイしているゲームのいずれかで、利用者Aと仲間関係にありゲームbを遊んだことのある他の利用者の人数が表示される。この情報は、上述したS173の処理で取得される。領域224には、ゲームbの説明が表示される。この情報は、上述したS175の処理で取得される。なお、ここで表示されるゲームは利用者Aがプレイしていないものも含まれる。
また、領域225には、利用者Aがゲームbについて他のゲームで仲間の利用者を、あと何人、招待可能かが表示される。招待可能な人数は、S705の処理で集計される。そして、領域226には、利用者Aがゲームbにおいて、新たに仲間申請可能な利用者の数が表示される。仲間申請可能な人数は、S711の処理で集計される。
【0132】
以上のように、本変形例によれば、具体的にどのアプリケーションのどの仲間を誘いたいかがあらかじめ決まっているような場合に、その相手が要求されたアプリケーションを未だ利用していないことが判明すれば、招待可能な利用者の表示に切り替えることで、仲間申請でなく招待をすることができるようになる。このように、あるアプリケーションに仲間申請したい相手が当該アプリケーションを利用していない場合もあり得るので、仲間申請の機能と招待の機能を組にして端末装置2で利用者に提供させることは、利用者にとって利便性が高まることになる。
また、本変形例によれば、要求されたアプリケーションにおいて仲間関係が構築されている利用者がアプリケーションを利用しており(第1条件)、当該アプリケーションについて要求利用者と仲間関係が構築されておらず(第2条件)、当該アプリケーションにおいて仲間上限数に達していない(第3条件)利用者の数を表示することが可能となる。これにより、要求されたアプリケーションについて、仲間申請可能な人数を知ることができ、利便性が向上する。
さらに、本変形例によれば、要求されたアプリケーションについて、招待可能な仲間の人数を知ることができ、利便性が向上する。
なお、本変形例は、第2ランキング処理を行う際に、ランクキング表示された各ゲームに招待可能な人数、及び、各ゲームにおいて新たに仲間申請可能な人数を表示する例について説明した。しかし、本変形例は、第1ランキング処理を行う際にも同様に適用可能である。第1ランキング処理を行う際に本変形例を適用する場合には、
図9に示す画面において表示されているゲーム(
図9の例ではゲームb)に対応する種別情報AppIDxについて、
図40に示すS700からS712までの処理を行うようにすればよい。
【0133】
(11)上述した実施形態および変形例においては、管理サーバ3Aにおいて、利用者情報テーブルTBL11、仲間上限数テーブルTBL12、及び関係テーブルTBL13を設け、各種の情報を集約して管理した。このような一元的な管理を行う場合に、アプリケーションサーバ3B、3C、3D…の一部又は全部において、個別の利用者情報テーブルTBL11a、個別の仲間上限数テーブルTBL12a、及び個別の関係テーブルTBL13aを設け、利用者情報テーブルTBL11と利用者情報テーブルTBL11a、仲間上限数テーブルTBL12と仲間上限数テーブルTBL12a、及び関係テーブルTBL13と関係テーブルTBL13aとの同期を取るようにしてもよい。
【0134】
図42に変形例に係るアプリケーションシステム100のブロック図を示す。この例では、アプリケーションサーバ3Bが、個別の利用者情報テーブルTBL11a、個別の仲間上限数テーブルTBL12a、及び個別の関係テーブルTBL13aを備え、他のアプリケーションサーバ3C、3D…は、それらのテーブルを備えないものとする。但し、他のアプリケーションサーバ3C、3D…においてもそれらのテーブルを備えてもよい。
【0135】
以下の説明では、管理サーバ3Aとアプリケーションサーバ3Bとのテーブルを区別するため、管理サーバ3Aに設けられた利用者情報テーブルTBL11、仲間上限数テーブルTBL12、及び関係テーブルTBL13を第1の利用者情報テーブルTBL11、第1の仲間上限数テーブルTBL12、及び第1の関係テーブルTBL13と称し、アプリケーションサーバ3Bに設けられた、利用者情報テーブルTBL11a、仲間上限数テーブルTBL12a、及び関係テーブルTBL13aを、第2の利用者情報テーブルTBL11a、第2の仲間上限数テーブルTBL12a、及び第2の関係テーブルTBL13aと称する。
【0136】
図43に第2の利用者情報テーブルTBL11aのデータ構造を示す。この図に示すように第2の利用者情報テーブルTBL11aには、複数のレコードが記録されている。1つのレコードは、レコードを一意に識別するレコード識別情報ID、利用者を一意に識別する利用者識別情報UID、および最後にログインした日付を示すラストログイン情報LastLoginとからなる。ここで、
図3に示す第1の利用者情報テーブルTBL11に記憶されている参照識別情報RefIDを第2の利用者情報テーブルTBL11aに記憶しないのは、参照識別情報RefIDは、管理サーバ3Aにおける管理用の識別情報であり、アプリケーションサーバ3Bでは管理する必要がないからである。また、第1の利用者情報テーブルTBL11に記憶されている種別情報AppIDを第2の利用者情報テーブルTBL11aに記憶しないのは、アプリケーションサーバ3Bが提供するのはゲームbでありアプリケーションの種別は一意に特定されるため、種別情報AppIDを記憶する必要がないからである。
【0137】
図44に第2の仲間上限数テーブルTBL12aのデータ構造を示す。この図に示すように第2の仲間上限数テーブルTBL12aには複数のレコードが記録されている。1つのレコードは、レコード識別情報ID、利用者識別情報UID、および仲間上限数Limitが対応づけられて記憶される。
図4に示す第1の仲間上限数テーブルTBL12には、全てのアプリケーションサーバ3B、3C、3D…で管理する仲間上限数Limitが集約されているのに対し、
図44に示す第2の仲間上限数テーブルTBL12aはアプリケーションサーバ3Bで管理するゲームbに関する仲間上限数Limitが記憶されている点で相違する。
【0138】
図45に第2の関係テーブルTBL13aのデータ構造を示す。第2の関係テーブルTBL13aには複数のレコードが記録されている。1つのレコードは、レコード識別情報ID、種別情報AppID、関係の種別を示すグループ情報Group、申請元の利用者の利用者識別情報UIDである申請元利用者識別情報UID_From、申請先の利用者の利用者識別情報UIDである申請先利用者識別情報UID_To、及び申請の状態を示す状態情報Statが対応づけられて記憶される。
図5に示す第2の関係テーブルTBL13で記憶する申請元の利用者の参照識別情報RefIDである申請元参照識別情報RefID_From、及び申請先の利用者の参照識別情報RefIDである申請先参照識別情報RefID_Toを記憶しないのは、参照識別情報RefIDは、管理サーバ3Aにおける管理用の識別情報であり、アプリケーションサーバ3Bでは管理する必要がないからである。
【0139】
説明を
図42に戻す。アプリケーションサーバ3Bは、さらに同期部50を備える。同期部50は、管理サーバ3Aの利用者情報同期部10、仲間上限数同期部18及び仲間関係同期部19と連携して、第2の利用者情報テーブルTBL11a、第2の仲間上限数テーブルTBL12a、及び第2の関係テーブルTBL13aと、第1の利用者情報テーブルTBL11、第1の仲間上限数テーブルTBL12、及び第1の関係テーブルTBL13との記憶内容を同期させるように動作する。具体的にはアプリケーションサーバ3BのCPUが、所定のAPI(Application Programming Interface)を実行することによって、実現される。
【0140】
利用者情報同期部10は、第1の利用者情報テーブルTBL11の記憶内容と第2の利用者情報テーブルTBL11aの記憶内容とを同期させる。具体的には、アプリケーションサーバ3Bにおいて、第2の利用者情報テーブルTBL11aの記憶内容に変化があると、同期部50は、変更内容を示す利用者情報変更通知を管理サーバ3Aに送信する。管理サーバ3Aの利用者情報同期部10は、利用者情報変更通知を受信すると、第1の利用者情報テーブルTBL11の記憶内容を更新する。例えば、新たな利用者識別情報UIDが追加された場合、利用者識別情報UIDが削除された場合、ラストログイン情報LastLoginが変更された場合が該当する。
【0141】
なお、同期部50は、所定のタイミングで利用者情報変更通知を管理サーバ3Aに送信すればよい。例えば、利用者識別情報UID及びラストログイン情報LastLoginの変更があれば直ちに利用者情報変更通知を送信してもよいし、所定時刻に変更分をまとめて送信してもよい。さらに、利用者情報同期部10が、所定のタイミングで利用者情報の変更をアプリケーションサーバ3Bに問い合わせると、同期部50は、前回の問い合わせからの変更内容を含む利用者情報変更通知を管理サーバ3Aに送信してもよい。この場合、管理サーバ3Aの利用者情報同期部10は、利用者情報変更通知を受信すると、第1の利用者情報テーブルTBL11の記憶内容を更新する。
【0142】
仲間上限数同期部18は、受付部11で受付けた種別情報AppIDに対応するアプリケーションサーバにおいて設定された利用者の仲間上限数Limitを取得する取得部として機能する。仲間上限数同期部18は、第1の仲間上限数テーブルTBL12の記憶内容と第2の仲間上限数テーブルTBL12aの記憶内容とを同期させる。具体的には、アプリケーションサーバ3Bにおいて、第2の仲間上限数テーブルTBL12aの記憶内容に変化があると、同期部50は、変更内容を示す仲間上限数変更通知を管理サーバ3Aに送信する。管理サーバ3Aの仲間上限数同期部18は、仲間上限数変更通知を受信すると、第1の仲間上限数テーブルTBL12aの記憶内容を更新する。
【0143】
仲間関係同期部19は、第1の関係テーブルTBL13の記憶内容と第2の関係テーブルTBL13aの記憶内容とを同期させる。具体的には、アプリケーションサーバ3Bにおいて、第2の関係テーブルTBL13の記憶内容に変化があると、同期部50は、変更内容を示す仲間関係変更通知を管理サーバ3Aに送信する。管理サーバ3Aの仲間関係同期部19は、仲間関係変更通知を受信すると、第1の関係テーブルTBL13の記憶内容を更新する。
【0144】
同期部50は、アプリケーションサーバ3Bにおいて、仲間申請が承認されて仲間関係が成立した場合に、仲間関係変更通知を管理サーバ3Aに送信する。仲間申請が拒否されて不成立になった場合、同期部50は仲間関係変更通知を管理サーバ3Aに送信して第1の関係テーブルTBL13の記憶内容と第2の関係テーブルTBL13aの記憶内容とを同期させてもよいが、この点は必須ではなく、仲間関係変更通知を送信せずに同期を取らなくてもよい。なお、状態情報Statについても記憶内容を同期させるようにすると、管理サーバ3Aにおいて仲間申請中であることを知ることができる。
【0145】
また、アプリケーションサーバ3Bにおいて、仲間関係が解除されると、第2の関係テーブルTBL13aに仲間関係が解除されたことが反映されるが、同期部50はこれを検知して、仲間関係変更通知を管理サーバ3Aに送信する。仲間関係同期部19は、仲間関係変更通知を受信すると、仲間関係が解除されたことを第1の関係テーブルTBL13の記憶内容に反映させる。
【0146】
管理サーバ3Aと連携しないアプリケーションサーバでは、第2の利用者情報テーブルTBL11a、第2の仲間上限数テーブルTBL12a、及び第2の関係テーブルTBL13aを用いて、当該アプリケーションサーバで閉じたサービスを提供している。この変形例によれば、そのようなアプリケーションサーバにおいても、APIなどによって同期部50を追加することによって、アプリケーションシステム100に容易に取り込むことが可能となる。
このように、本変形例によれば、アプリケーションサーバに設けられた第2の利用者情報テーブルTBL11a及び第2の関係テーブルTBL13aと、管理サーバ3Aに設けられた第1の利用者情報テーブルTBL11及び第1の関係テーブルTBL13との同期を取るので、アプリケーションサーバにおける個別のアプリケーションの管理を管理サーバ3Aに容易に反映させることができる。
また、本変形例によれば、アプリケーションサーバに設けられた第2の仲間上限数テーブルTBL12aと、管理サーバ3Aに設けられた第1の仲間上限数テーブルTBL12との同期を取るので、アプリケーションサーバにおける個別のアプリケーションにおける仲間上限数の管理を管理サーバ3Aに容易に反映させることができる。
さらに、反映させた個別のアプリケーションの管理に基づいて、上述したような問合処理を行うことができる。
【0147】
(12)上述した実施形態および各変形例においては、利用者情報テーブル(アクセステーブル)TBL11、仲間上限数テーブルTBL12、関係テーブルTBL13、インバイトテーブルTBL14を、管理サーバ3Aのハードディスク33に記憶させる例について説明した。しかしながら、本発明はこのような例に限定されるものではなく、
図46に示すように、通信網1を介して管理サーバ3Aと通信可能なストレージサーバ60に、利用者情報テーブル(アクセステーブル)TBL11、仲間上限数テーブルTBL12、関係テーブルTBL13、インバイトテーブルTBL14を記憶させるようにしてもよい。この場合には、管理サーバ3Aは、必要に応じてストレージサーバ60にアクセスし、各テーブルから情報を読み取るようにすればよい。
また、
図47に示すように、通信網1を介して管理サーバ3Aと通信可能なストレージサーバ70に、利用者情報テーブル(アクセステーブル)TBL11、仲間上限数テーブルTBL12、関係テーブルTBL13を記憶させるようにしてもよい。また、通信網1を介してアプリケーションサーバ3B、3C、3D…と通信可能なストレージサーバ80に、利用者情報テーブルTBL11a、仲間上限数テーブルTBL12a、関係テーブルTBL13aを記憶させるようにしてもよい。
この場合には、管理サーバ3Aは、必要に応じてストレージサーバ70にアクセスし、各テーブルから情報を読み取るようにすればよい。また、アプリケーションサーバ3B、3C、3D…は、必要に応じてストレージサーバ60にアクセスし、各テーブルから情報を読み取るようにすればよい。
【0148】
(13)上述した実施形態および各変形例においては、管理サーバ3Aまたは端末装置2において実行されるプログラムは、コンピュータ読み取り可能な記録媒体に記憶させても良い。この記録媒体を用いれば、例えば前記コンピュータに前記プログラムをインストールすることができる。
なお、ここでいう「コンピュータ」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM、コンピュータに内蔵されるハードディスク等の非一過性の記録媒体であっても良い。
さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。また、本発明における機能またはその一部を実現するためのプログラムを配信する配信サーバ及び当該配信サーバに備えられた記憶媒体、及び当該配信サーバの外部に存在し、当該プログラムを前記配信サーバにより配信するために記憶している記憶媒体も、本発明の範囲に含まれる。
また、上述した機能の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0149】
<4.実施形態及び変形例から導かれる発明>
招待処理に関する発明の他、上述した実施形態及び変形例から、以下に述べる仲間申請処理に関する発明及び問合処理に関する発明なども導かれる。
(1)仲間申請処理に関する発明
あるアプリケーションで、他のアプリケーションで仲間関係となった利用者と仲間関係を容易に構築可能とするなどの課題を解決するため、管理サーバは、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能なものであって、仲間の候補となる候補利用者を提示することを要求する要求利用者が端末装置を操作して指定したアプリケーションの種類を示す種別情報を受付ける受付部と、前記受付部で受付けた種別情報が示すアプリケーションを利用していることを第1条件、当該アプリケーションについて前記要求利用者と仲間関係が構築されていないことを第2条件、当該アプリケーションにおいて仲間上限数に達していないことを第3条件としたとき、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち前記各条件の全てを充足する候補利用者の一部又は全部を特定する特定部と、前記特定部で特定した前記一部又は全部の候補利用者を選択できるように前記要求利用者の端末装置に表示させる表示制御部と、前記受付部で受付けた種別情報が示すアプリケーションに対応したアプリケーションサーバに対して、前記要求利用者が前記候補利用者の中から選択した利用者に対して仲間申請を要求する指示を行う指示部と、を備える。
【0150】
この発明によれば、管理サーバは第1乃至第3条件を充足する候補利用者を選択できるように要求利用者の端末装置に表示させるので、要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち、要求利用者が利用しているアプリケーションを利用しており(第1条件)、当該アプリケーションについて要求利用者と仲間関係が構築されておらず(第2条件)、当該アプリケーションにおいて仲間上限数に達していない(第3条件)利用者を仲間の候補として提示することが可能となる。
これによって、異なるアプリケーションで形成された信頼関係を新しいアプリケーションでも活用できるようになる。なお、アプリケーションとしては、ゲームアプリケーションを例示することができるが、本発明はこれに限定されるものではなく、いかなるものであってもよいことは勿論である。
【0151】
上述した管理サーバにおいて、前記種別情報に関連付けて仲間関係となる利用者情報の組を記憶する仲間関係テーブルと、前記種別情報に関連付けて当該種別情報が示すアプリケーションを利用している利用者情報を記憶する利用者情報テーブルと、を備え、前記特定部は、前記利用者情報テーブルを参照して前記第1条件を充足する候補利用者を特定し、前記仲間関係テーブルを参照して前記第2条件を充足する候補利用者を特定することが好ましい。
【0152】
この発明によれば、管理サーバの仲間関係テーブルに、仲間関係となる利用者情報の組を記憶するから、各種のアプリケーションで構築される仲間関係を一元的に管理することができる。さらに、種別情報と利用者情報とを対応づけて記憶する利用者情報テーブルを備えるので、この利用者情報テーブルを参照することによって第1条件を充足することができる。
【0153】
上述した管理サーバにおいて、前記仲間関係テーブルが記憶する前記利用者情報の組は、仲間申請を行った利用者の利用者情報と、仲間申請を承諾した利用者の利用者情報とからなることが好ましい。
この発明によれば、申請側と承諾側との組を記憶することにより、一つの利用者情報をキーとして当該利用者情報と仲間関係にある全ての利用者情報を記憶する必要はないので、データの記憶容量を削減することが可能となる。
さらに、前記特定部は、前記仲間関係テーブルを参照して、前記要求利用者が利用したことのある利用済みアプリケーションに対応する種別情報と関連付けて記憶されている前記利用者情報の組のうち、仲間申請を行った利用者の利用者情報が前記要求利用者の利用情報と一致する仲間申請を受諾した利用者の利用者情報を抽出するとともに、仲間申請を受諾した利用者の利用者情報が前記要求利用者の利用情報と一致する仲間申請を行った利用者の利用者情報を抽出し、抽出した利用者情報の利用者を、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者とすることが好ましい。
【0154】
上述した管理サーバにおいて、前記受付部で受付けた種別情報に対応する前記アプリケーションサーバにおいて設定された利用者の仲間上限数を取得する取得部と、前記取得部が取得した仲間上限数を利用者情報と関連付けて記憶する仲間上限数テーブルとを備え、前記特定部は、前記仲間上限数テーブルを参照して前記第3条件を充足する候補利用者を特定することが好ましい。この発明によれば、仲間上限数テーブルを用いて、アプリケーションごとに定められる仲間上限数を管理サーバで一元的に管理するので、第3条件を充足させることが可能となる。
【0155】
上述した管理サーバにおいて、前記受付部で受付けた種別情報に対応する前記アプリケーションサーバに対して利用者の仲間上限数を問い合わせる要求を送信し、前記要求に対する応答として当該アプリケーションサーバから仲間上限数を取得する取得部を備え、 前記特定部は、前記取得部で取得した仲間上限数に基づいて前記第3条件を充足する候補利用者を特定することが好ましい。この例では、アプリケーションサーバから仲間上限数を取得する取得部を備えるので、仲間上限数を取得することが可能となる。
【0156】
上述した管理サーバにおいて、アプリケーションの利用日時を示す日時情報を利用者識別情報と関連付けて記憶するアクセステーブルを備え、前記特定部は、前記アクセステーブルを参照して所定期間内にアプリケーションを利用していることを前記第1条件に加えて、前記第1条件を充足する候補利用者を特定することが好ましい。
【0157】
この発明によれば、アプリケーションの利用から所定期間内の候補利用者に限定しているので、アプリケーションを試しに利用し、その後、利用しなくなった利用者については候補利用者から除くので、着目するアプリケーションについて実際に使用している利用者を候補利用者とすることができるといった利点がある。
なお、本発明は各種のテーブルの構造を限定するものではない。例えば、利用者情報テーブルとアクセステーブルとは同一のテーブルで構成してもよい。
【0158】
上述した管理サーバにおいて、前記表示制御部は、前記要求利用者が利用したことのある利用済みアプリケーションを選択できるように前記要求利用者の端末装置に表示させ、 前記特定部は、前記端末装置において前記要求利用者が選択した利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち前記各条件の全てを充足する候補利用者の一部又は全部を特定することが好ましい。
【0159】
この発明によれば、利用済みアプリケーションを選択できるように要求利用者の端末装置に表示させ、選択した利用済みアプリケーションについて仲間関係にあることが候補利用者の要件となるので、要求利用者は、仲間関係を構築しようとするアプリケーションと類似する利用済みアプリケーションを選択することができたり、具体的にどのアプリケーションのどの仲間を誘いたいかがあらかじめ決まっている場合に探し易くなる。
【0160】
上述した管理サーバにおいて、前記特定部は、前記要求利用者が利用したことのある利用済みアプリケーションについて、仲間申請が可能な人数を特定し、前記表示制御部は、前記特定部が特定した仲間申請が可能な人数を前記要求利用者の端末装置に表示させることが好ましい。
この発明によれば、仲間申請が可能な人数を知ることができるので、要求利用者に利便性が大幅に向上する。なお、仲間申請が可能な人数は、利用済みアプリケーションごとに特定し、利用済みアプリケーションごとに要求利用者の端末装置に表示させてもよいし、複数の利用済みアプリケーションの合計の仲間申請が可能な人数を特定し、これを要求利用者の端末装置に表示させてもよい。
【0161】
上述した発明は、管理サーバのコンピュータに用いられるプログラムとして把握することができる。この場合、本発明に係るプログラムは、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能な管理サーバのコンピュータに用いられ、前記コンピュータを、仲間の候補となる候補利用者を提示することを要求する要求利用者が端末装置を操作して指定したアプリケーションの種類を示す種別情報を受付ける受付部と、前記受付部で受付けた種別情報が示すアプリケーションを利用していることを第1条件、当該アプリケーションについて前記要求利用者と仲間関係が構築されていないことを第2条件、当該アプリケーションにおいて仲間上限数に達していないことを第3条件としたとき、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち前記各条件の全てを充足する候補利用者の一部又は全部を特定する特定部と、前記特定部で特定した前記一部又は全部の候補利用者を選択できるように前記要求利用者の端末装置に表示させる表示制御部と、前記受付部で受付けた種別情報が示すアプリケーションに対応したアプリケーションサーバに対して、前記要求利用者が前記候補利用者の中から選択した利用者に対して仲間申請を要求する指示を行う指示部として、機能させることを特徴とする。
【0162】
上述した発明は、管理サーバの制御方法としても捉えることができる。この場合、本発明に係る管理サーバの制御方法は、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能な管理サーバを制御する方法であって、仲間の候補となる候補利用者を提示することを要求する要求利用者が端末装置を操作して指定したアプリケーションの種類を示す種別情報を受付け、受付けた種別情報が示すアプリケーションを利用していることを第1条件、当該アプリケーションについて前記要求利用者と仲間関係が構築されていないことを第2条件、当該アプリケーションにおいて仲間上限数に達していないことを第3条件としたとき、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち前記各条件の全てを充足する候補利用者の一部又は全部を特定し、特定した前記一部又は全部の候補利用者を選択できるように前記要求利用者の端末装置に表示させ、受付けた種別情報が示すアプリケーションに対応したアプリケーションサーバに対して、前記要求利用者が前記候補利用者の中から選択した利用者に対して仲間申請を要求する、ことを特徴とする。
【0163】
上述した発明は、端末装置のコンピュータに用いられるプログラムとして把握することができる。この場合、本発明に係るプログラムは、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバと接続された管理サーバと通信可能な利用者の端末装置のコンピュータに用いられ、前記複数のアプリケーションサーバの各々は、仲間の上限数を利用者ごとに管理しており、前記管理サーバは、仲間の候補となる候補利用者を提示することを要求する要求利用者が端末装置を操作して指定したアプリケーションの種類を示す種別情報を受付ける受付部と、前記受付部で受付けた種別情報が示すアプリケーションを利用していることを第1条件、当該アプリケーションについて前記要求利用者と仲間関係が構築されていないことを第2条件、当該アプリケーションにおいて仲間上限数に達していないことを第3条件としたとき、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち前記各条件の全てを充足する候補利用者の一部又は全部を特定する特定部と、前記特定部で特定した前記一部又は全部の候補利用者を選択できるように前記要求利用者の端末装置に表示させる表示制御部と、前記受付部で受付けた種別情報が示すアプリケーションに対応したアプリケーションサーバに対して、前記要求利用者が前記候補利用者の中から選択した利用者に対して仲間申請を要求する指示を行う指示部と、を備え、前記端末装置のコンピュータを、当該端末装置の利用者の仲間上限数が変化したことを検出する検出部と、前記検出部によって前記仲間上限数が変化したことが検出されると、変化した後の仲間上限数を前記管理サーバに通知する通知部として、機能させること特徴とする。
【0164】
(2)問合処理に関する発明
各種のアプリケーションにおける仲間全体の状況を利用者に知らせる管理サーバなどを提供するといった課題を解決するため、本発明に係る管理サーバは、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能であって、利用者の端末装置の操作に基づく要求を受ける受付部と、前記複数のアプリケーションのうち、前記受付部で受け付けた要求の利用者である要求利用者が利用したことがある利用済みアプリケーションにおいて、前記要求利用者と仲間関係が構築されている利用者が利用しているアプリケーションに関する利用情報を取得する情報取得部と、前記情報取得部で取得した前記利用情報を前記要求利用者の端末装置に表示させる表示制御部と、を備える。
【0165】
この発明によれば、情報取得部は、要求利用者の利用済みアプリケーションにおいて仲間関係が構築されている仲間が利用しているアプリケーションに関する利用情報を取得し、表示制御部はこれを端末装置に表示させるので、要求利用者は仲間が利用しているアプリケーションの関して様々な情報を得ることが可能となる。
なお、利用情報は、例えば、人気ゲームランキング、遊んでいる人数、仲間申請できる人数、招待できる人数の情報を含む。
また、利用者の端末装置の操作に基づく要求には、管理サーバが提供するページを閲覧している要求利用者が端末装置を操作することによって、端末装置から管理サーバに直接送信される要求の他に、複数のアプリケーションサーバのいずれかが提供するページを閲覧している要求利用者が端末装置を操作することによって、アプリケーションサーバから管理サーバに送信される要求がある。
また、より具体的には、上述した管理サーバは、アプリケーションの種類を示す種別情報に関連付けて仲間関係となる利用者情報の組を記憶する仲間関係テーブルを備え、前記要求には、アプリケーションの種類を示す種別情報が含まれており、前記情報取得部は、前記仲間関係テーブルを参照して、前記要求利用者の利用者情報と仲間関係にある利用者の利用者情報と前記種別情報との組みを抽出し、抽出した前記利用者情報と前記種別情報との組みに基づいて前記利用情報を取得することが好ましい。
【0166】
また、本発明に係る管理サーバは、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能であって、 利用者の端末装置の操作に基づく要求を受ける受付部と、前記複数のアプリケーションのうち、前記要求に対応づけられたアプリケーションにおいて、前記受付部で受け付けた要求の利用者である要求利用者と仲間関係が構築されている利用者が利用しているアプリケーションに関する利用情報を取得する情報取得部と、前記情報取得部で取得した前記利用情報を前記要求利用者の端末装置に表示させる表示制御部と、を備えることを特徴とする。
【0167】
この発明によれば、情報取得部は、要求に対応づけられたアプリケーションにおいて、要求利用者の仲間が利用しているアプリケーションに関する利用情報を取得し、表示制御部はこれを端末装置に表示させるので、要求利用者は特定のアプリケーションを介した仲間に関して様々な情報を得ることが可能となる。
利用者の端末装置の操作に基づく要求には、管理サーバが提供するページを閲覧している要求利用者が端末装置を操作することによって、端末装置から管理サーバに直接送信される要求の他に、複数のアプリケーションサーバのいずれかが提供するページを閲覧している要求利用者が端末装置を操作することによって、アプリケーションサーバから管理サーバに送信される要求がある。
また、要求が端末装置から管理サーバに送信される場合、前記要求には、複数のアプリケーションのうち要求利用者が選択したアプリケーションを示す種別情報が含まれており、前記情報取得部は、前記要求に含まれる種別情報に基づいて、前記要求に対応づけられたアプリケーションを特定してもよい。一方、要求がアプリケーションサーバから送信される場合、前記情報取得部は、送信元であるアプリケーションサーバで提供するアプリケーションを前記要求に対応づけられたアプリケーションとして特定してもよい。
また、より具体的には、上述した管理サーバは、アプリケーションの種類を示す種別情報に関連付けて仲間関係となる利用者情報の組を記憶する仲間関係テーブルと、前記種別情報とアプリケーションの内容を示すアプリ情報とを関連付けて記憶したアプリ情報テーブルとを備え、前記要求には、アプリケーションの種類を示す種別情報が含まれており、前記情報取得部は、前記仲間関係テーブルを参照して、前記要求利用者の利用者情報と仲間関係にある利用者の利用者情報と前記種別情報との組みを抽出し、前記アプリ情報テーブルを参照して抽出した前記種別情報に対応するアプリ情報を前記利用情報として取得してもよい。
【0168】
上述した管理サーバにおいて、前記表示制御部は、前記利用情報として、前記要求利用者と仲間関係が構築されている利用者のいずれかが利用しているアプリケーションを対象として、各アプリケーションを利用している前記要求利用者と仲間関係が構築されている利用者の数の多い順にアプリケーションの種類の一部または全部を表示することが好ましい。
【0169】
この発明によれば、仲間内で利用されている人数の多い順にアプリケーションが表示されるので、利用者は、アプリケーションの人気ランキングを一見して知ることができる。
この場合、表示制御部は、要求利用者と仲間関係が構築されている利用者の数の多い順にアプリケーションの種類を表示するが、具体的には、前記情報取得部は、利用者の数をアプリケーションごとに集計し、アプリケーションごとの集計数を前記利用情報として生成し、表示制御部は、集計した利用者の数の多い順にアプリケーションの種類を表示すればよい。
【0170】
上述した管理サーバにおいて、アプリケーションの種類を示す種別情報、前記アプリケーションの利用日時を示す日時情報、および利用者を特定する利用者情報を関連付けて記憶するアクセステーブルを備え、前記表示制御部は、前記要求利用者と仲間関係が構築されている利用者のいずれかが利用しているアプリケーションを対象として、前記アクセステーブルを用いて、前記要求利用者と仲間関係が構築されている利用者であって、且つ所定期間内にアプリケーションを利用している利用者の数の多い順にアプリケーションの種類の一部または全部を表示することが好ましい。
【0171】
この発明によれば、日時情報を参照することによって、所定期間において仲間内で利用されている人数の多い順にアプリケーションが表示されるので、ある期間において仲間内で利用しているアプリケーションの人気ランキングを一見して知ることができる。アプリケーションを試しに利用し、その後、利用しなくなることも考えられ、試用をランキングの対象から除外したい場合もある。この発明によれば、所定期間に利用されているアプリケーションをランキングの対象とするので、試用を除外したランキングを行うことが可能となる。
なお、表示制御部は、所定期間内にアプリケーションを利用している利用者の数の多い順にアプリケーションの種類を表示するが、具体的には、前記情報取得部は、前記要求利用者と仲間関係が構築されている利用者のいずれかが利用しているアプリケーションを対象として、前記アクセステーブルを用いて、前記要求利用者と仲間関係が構築されている利用者であって、且つ所定期間内にアプリケーションを利用している利用者の数をアプリケーションごとに集計し、アプリケーションごとの集計数を前記利用情報として生成し、表示制御部は、集計した利用者の数の多い順にアプリケーションの種類を表示すればよい。
【0172】
上述した管理サーバにおいて、前記情報取得部は、前記要求利用者と仲間関係が構築されている利用者のいずれかが利用しているアプリケーションを対象として、前記要求利用者と仲間関係が構築されている利用者の数をアプリケーションごとに特定して前記利用情報を生成し、前記表示制御部は、アプリケーションごとに前記利用者の数を表示することが好ましい。
この発明によれば、アプリケーションを利用している利用者数が端末装置に表示されるので、相対的なランキングよりも詳細な情報を利用者は得るこができる。
【0173】
上述した管理サーバにおいて、アプリケーションの種類を示す種別情報、前記アプリケーションの利用日時を示す日時情報、および利用者を特定する利用者情報を関連付けて記憶するアクセステーブルを備え、前記情報取得部は、前記要求利用者と仲間関係が構築されている利用者のいずれかが利用しているアプリケーションを対象として、前記アクセステーブルを用いて、前記要求利用者と仲間関係が構築されている利用者であって、且つ所定期間内にアプリケーションを利用している利用者の数をアプリケーションごとに特定して前記利用情報を生成し、前記表示制御部は、アプリケーションごとに前記利用者の数を表示することが好ましい。
この発明によれば、日時情報を参照することによって、所定期間において仲間内であるアプリケーションを利用している人数を特定するので、ある期間においてあるアプリケーションを仲間内で利用している人数を一見して知ることができる。
【0174】
上述した管理サーバにおいて、前記受付部は、アプリケーションの種類を示す種別情報を含む要求を受け付け、前記情報取得部は、前記受付部で受付けた種別情報が示すアプリケーションを利用していることを第1条件、当該アプリケーションについて前記要求利用者と仲間関係が構築されていないことを第2条件、当該アプリケーションにおいて仲間上限数に達していないことを第3条件としたとき、前記要求利用者が利用したことのある利用済みアプリケーションにおいて仲間関係が構築されている利用者のうち前記各条件の全てを充足する仲間申請が可能な利用者数を特定し前記利用者情報として取得する、ことを特徴とする。
この発明によれば、要求されたアプリケーションにおいて仲間関係が構築されている利用者がアプリケーションを利用しており(第1条件)、当該アプリケーションについて要求利用者と仲間関係が構築されておらず(第2条件)、当該アプリケーションにおいて仲間上限数に達していない(第3条件)利用者の数を表示することが可能となる。これにより、要求されたアプリケーションについて、仲間申請可能な人数を知ることができ、利便性が向上する。さらに仲間申請が可能な候補利用者の一部または全部を選択できるように端末装置に表示させて、利用者が候補利用者の中から選択して仲間申請が可能にするようにしてもよい。
【0175】
上述した管理サーバにおいて、前記受付部は、アプリケーションの種類を示す種別情報を含む要求を受け付け、前記情報取得部は、前記受付部で受付けた種別情報が示すアプリケーションを利用していないことを条件としたとき、前記条件を充足する利用者の数である招待が可能な利用者数を前記利用者情報として取得することが好ましい。
この発明よれば、要求されたアプリケーションについて、招待可能な仲間の人数を知ることができ、利便性が向上する。さらに、招待が可能な候補利用者の一部または全部を選択できるように端末装置に表示させて、利用者が候補利用者の中から選択して招待が可能にするようにしてもよい。
さらに、仲間申請可能な利用者の数と招待可能な利用者の数と並べて表示させ、さらに仲間申請が可能な候補利用者と招待可能な利用者とを選択的に端末装置に表示させるようにすると、例えば、具体的にどのアプリケーションのどの仲間を誘いたいかがあらかじめ決まっているような場合に、その相手が要求されたアプリケーションを未だ利用していないことが判明した場合に、招待可能な利用者の表示に切り替えることで、仲間申請でなく招待をすることができるようになる。このように、あるアプリケーションに仲間申請したい相手が当該アプリケーションを利用していない場合もあり得るので、仲間申請の機能と招待の機能を組にして端末装置で利用者に提供させることは、利用者にとって利便性が高まることになる。
【0176】
上述した発明は、管理サーバのコンピュータに用いられるプログラムとして把握することができる。この場合、本発明に係るプログラムは、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能な管理サーバのコンピュータに用いられ、前記コンピュータを、利用者の端末装置の操作に基づく要求を受ける受付部と、前記複数のアプリケーションのうち、前記受付部で受け付けた要求の利用者である要求利用者が利用したことがある利用済みアプリケーションにおいて、前記要求利用者と仲間関係が構築されている利用者が利用しているアプリケーションに関する利用情報を取得する情報取得部と、前記情報取得部で取得した前記利用情報を前記要求利用者の端末装置に表示させる表示制御部として、機能させることを特徴とする。
【0177】
上述した発明は、管理サーバの制御方法としても捉えることができる。この場合、本発明に係る管理サーバの制御方法は、種類の異なる複数のアプリケーションのそれぞれに対応した複数のアプリケーションサーバおよび利用者の端末装置と通信可能な管理サーバを制御する方法であって、利用者の端末装置の操作に基づく要求を受ける受付け、前記複数のアプリケーションのうち、前記受付部で受け付けた要求の利用者である要求利用者が利用したことがある利用済みアプリケーションにおいて、前記要求利用者と仲間関係が構築されている利用者が利用しているアプリケーションに関する利用情報を取得し、前記取得した前記利用情報を前記要求利用者の端末装置に表示させる、ことを特徴とする。