(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【0011】
[第1の実施形態]
<システム構成>
まず、第1の実施形態に係るサービス提供システム1について、
図1を参照しながら説明する。
図1は、第1の実施形態に係るサービス提供システムの一例のシステム構成図である。
図1に示すサービス提供システム1は、複数の携帯端末10と、サーバ装置20とを有する。携帯端末10とサーバ装置20とは、無線又は有線により、例えばインターネット等の広域的なネットワークNを介して通信可能に接続されている。
【0012】
携帯端末10は、ユーザが利用するスマートフォン、携帯電話、ノート型PC、ウェアラブル端末、ゲーム機器等の端末装置である。携帯端末10には、サーバ装置20に予め登録されたユーザの携帯端末10との間でネットワークNを介して、IMサービスによりメッセージのやり取りを行うためのIMアプリケーション11が搭載(インストール)されている。ユーザは、携帯端末10に搭載されたIMアプリケーション11を用いて、他のユーザとの間でメッセージの送受信を行うことができる。すなわち、携帯端末10のユーザは、例えば、同一のグループとして登録された他のユーザや友達として登録された他のユーザとの間でメッセージのやり取りを行うことができる。
【0013】
ここで、複数のユーザを同一のグループとして登録することにより、グループに含まれる一のユーザは、同一のグループに含まれる他のユーザに対してメッセージを送信することができるようなる。また、他のユーザを友達として登録することで、登録されたユーザが例えばコンタクトリスト(友達一覧)等に追加され、ユーザは、友達として登録されたユーザと容易にメッセージの送受信が行えるようになる。
【0014】
なお、以降では、複数のユーザにより構成されるグループを「グループ関係」とも表す。また、同様に、2つのユーザが互いに友達であることを「友達関係」とも表す。
【0015】
また、携帯端末10は、近距離無線通信により、周囲の所定の範囲(例えば、数センチメートル乃至数十メートル)にある他の携帯端末10を探索することができる。そして、携帯端末10のユーザは、探索された他の携帯端末10のユーザのうち、所望のユーザの登録をサーバ装置20に要求することができる。すなわち、携帯端末10は、1以上のユーザとのグループ関係の登録要求や1以上のユーザとの友達関係の登録要求をサーバ装置20に行うことができる。
【0016】
なお、以降では、複数の携帯端末10をそれぞれ区別して記載するときは「携帯端末10A」、「携帯端末10B」、「携帯端末10C」等と記載する。また、本実施形態では、主として、携帯端末10Aのユーザが、他の複数のユーザとのグループ関係をサーバ装置20に登録する場合について説明する。
【0017】
サーバ装置20は、サーバプログラム21が搭載(インストール)されており、IMサービスを利用するユーザのグループ関係を管理する情報処理装置である。
【0018】
なお、
図1に示すサービス提供システム1は、一例であり、他の構成であってもよい。例えば、サーバ装置20は、複数台の情報処理装置で構成されていてもよい。また、携帯端末10を用いてユーザが利用するサービスは、IMサービスに限られず、例えば、SNS(Social Networking Service)サービスやブログ(blog)サービス等であってもよい。すなわち、本実施形態は、サービスを利用するユーザ同士をグループ関係や友達関係等の所定の関係で関係付けて、当該関連付けられたユーザ間でメッセージ等のデータの送受信を行うサービスに対して適用され得る。
【0019】
<ハードウェア構成>
次に、第1の実施形態に係るサービス提供システム1のハードウェア構成について、
図2を参照しながら説明する。
図2は、第1の実施形態に係るサービス提供システムの一例のハードウェア構成図である。
【0020】
≪携帯端末≫
図2(a)に示すように、携帯端末10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、記憶装置104とを有する。また、携帯端末10は、入力装置105と、表示装置106と、通信装置107と、近距離無線通信装置108とを有する。これらの各ハードウェア構成は、例えばバス等で接続されている。
【0021】
CPU101は、ROM102や記憶装置104等のメモリからプログラムやデータをRAM103上に読み出し、処理を実行することで、携帯端末10全体の制御や機能を実現する演算装置である。ROM102は、携帯端末10の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及び各種設定等のプログラムやデータが格納されている。RAM103は、プログラムやデータを一時保持する揮発性の半導体メモリである。記憶装置104は、プログラムやデータを格納している不揮発性のメモリである。記憶装置104に格納されるプログラムには、例えば、IMアプリケーション11等がある。
【0022】
入力装置105は、例えばタッチパネル等であり、ユーザが各種操作信号を入力するのに用いられる。表示装置106は、例えばディスプレイ等であり、携帯端末10による処理結果を表示する。通信装置107は、携帯端末10をネットワークNに接続するためのインタフェースである。
【0023】
近距離無線通信装置108は、例えば、BLE(Bluetooth Low Energy)チップ等であり、他の携帯端末10と近距離無線通信により通信を行うためのインタフェースである。ただし、携帯端末10間で行う近距離無線通信は、BLEに限られず、例えば、赤外線や超音波等を用いてもよい。また、ICタグ等によりRFID(Radio Frequency Identifier)の技術を用いて、電波により他の携帯端末10と近距離無線通信を行うものであってもよい。
【0024】
≪サーバ装置≫
図2(b)に示すように、サーバ装置20は、CPU201と、ROM202と、RAM203と、記憶装置204と、入力装置205と、表示装置206と、通信装置207とを有する。これらの各ハードウェア構成は、例えばバス等で接続されている。
【0025】
CPU201は、ROM202や記憶装置204等のメモリからプログラムやデータをRAM203上に読み出し、処理を実行することで、サーバ装置20全体の制御や機能を実現する演算装置である。ROM202は、サーバ装置20の起動時に実行されるBIOS、OS設定、及び各種設定等のプログラムやデータが格納されている。RAM203は、プログラムやデータを一時保持する揮発性の半導体メモリである。記憶装置204は、プログラムやデータを格納している不揮発性のメモリである。記憶装置204に格納されるプログラムには、例えば、サーバプログラム21等がある。
【0026】
入力装置205は、例えばキーボードやマウス等であり、ユーザが各種操作信号を入力するのに用いられる。表示装置206は、例えばディスプレイ等であり、サーバ装置20による処理結果を表示する。なお、入力装置205又は/及び表示装置206は、必要なときに接続して利用する形態であってもよい。通信装置207は、サーバ装置20をネットワークNに接続するためのインタフェースである。
【0027】
本実施形態に係る携帯端末10及びサーバ装置20は、上記のハードウェア構成を有することにより、後述する各種処理を実現できる。
【0028】
<機能構成>
次に、本実施形態に係るサービス提供システム1の機能構成について、
図3を参照しながら説明する。
図3は、第1の実施形態に係るサービス提供システムの一例の機能構成図である。
【0029】
≪携帯端末≫
図3に示すように、携帯端末10のIMアプリケーション11は、入力部12と、探索処理部13と、表示部14と、登録要求部15と、承諾応答部16とを有する。
【0030】
入力部12は、例えばCPU101、入力装置105等により実現され、ユーザによる操作入力を受け付ける。ユーザにより行われる操作入力としては、例えば、自身の携帯端末10の周囲の所定の範囲内にある他の携帯端末10を探索するための操作等がある。
【0031】
探索処理部13は、例えばCPU101、近距離無線通信装置108等により実現され、入力部12からの指示に応じて携帯端末10の周囲の所定の範囲内に、他の携帯端末10を探索するための情報(応答要求情報)を送信する。
【0032】
また、探索処理部13は、他の携帯端末10から応答要求情報を受信した場合、携帯端末10のユーザを識別するためのユーザIDやユーザ名等を含む情報(応答情報)を、応答要求情報の送信元の携帯端末10又はサーバ装置20に送信する。
【0033】
表示部14は、例えばCPU101、表示装置106等により実現され、他の各部からの指示に応じて処理結果を表示装置106に表示させる。表示部14は、例えば、探索処理部13により探索された、携帯端末10の周囲の所定の範囲内にある他の携帯端末10の一覧(探索結果の一覧)を表示装置106に表示させる。また、表示部14は、例えば、グループに参加することに対してユーザに承諾を求める承諾要求をサーバ装置20から受信した場合、当該グループの参加に対して承諾又は拒否を行うための承諾画面を表示装置106に表示させる。
【0034】
登録要求部15は、例えばCPU101、通信装置107等により実現され、探索結果の一覧においてユーザから選択された他の携帯端末10のユーザを含むグループ関係の登録要求をサーバ装置20に送信する。すなわち、登録要求部15は、携帯端末10のユーザと、この携帯端末10のユーザにより探索結果の一覧から選択された複数のユーザとを1つのグループとするグループ関係の登録要求をサーバ装置20に送信する。
【0035】
承諾応答部16は、例えばCPU101、通信装置107等により実現され、表示部14により表示された承諾画面において、ユーザにより承諾又は拒否のいずれかが選択された場合、ユーザの選択に応じた応答をサーバ装置20に送信する。
【0036】
≪サーバ装置≫
図3に示すように、サーバ装置20のサーバプログラム21は、登録処理部22と、承諾要求部23とを有する。また、サーバ装置20のサーバプログラム21は、グループ関係データベース24を利用する。
【0037】
登録処理部22は、例えばCPU201、通信装置207等により実現され、携帯端末10からグループ関係の登録要求を受信すると、当該登録要求に含まれるユーザID及びユーザ名に基づきグループ関係を作成し、グループ関係データベース24に登録する。
【0038】
また、登録処理部22は、承諾要求部23により送信された承諾要求に対して携帯端末10から承諾を示す応答(承諾応答)を受信すると、登録したグループ関係に含まれるユーザのうち、承諾応答を送信したユーザの情報を更新する。これにより、登録されたグループ関係に含まれる登録要求を行ったユーザ及び承諾応答を行ったユーザ同士がそれぞれ相互にメッセージの送受信等を行うことができるようになる。
【0039】
このように、登録処理部22によりグループ関係の登録要求を受信した段階で当該登録要求に含まれるユーザIDのユーザで構成されるグループ関係が作成されるが、この段階では、グループ関係の各ユーザ同士はメッセージの送受信を行うことはできない。このようにすることで、グループの参加に対して承諾を行っていないユーザに対して、グループ関係に含まれる他のユーザからメッセージが送信されてしまうことが防止される。
【0040】
承諾要求部23は、例えばCPU201、通信装置207等により実現され、登録処理部22によりグループ関係が登録されると、当該登録要求を行ったユーザ以外のユーザであって、当該グループ関係に含まれるユーザの携帯端末10に対して承諾要求を送信する。
【0041】
グループ関係データベース24は、例えば記憶装置204等により実現され、複数のユーザから構成されるグループ関係を、グループID毎に管理する。ここで、グループ関係データベース24について、
図4を参照しながら説明する。
図4は、グループ関係データベースの一例を示す図である。
【0042】
図4に示すように、グループ関係データベース24は、グループID毎に、複数のユーザから構成されるグループが管理されるグループ関係テーブルを記憶する。グループIDは、グループ関係テーブルを一意に識別する情報であり、例えば、グループ関係の登録要求を登録処理部22が受信した際に発行される。また、グループ関係データベース24は、グループ関係を構成するユーザのユーザID及びユーザ名、並びに当該ユーザがグループの参加に対して承諾したか拒否したかを示す承諾区分等のデータ項目を有する。これにより、携帯端末10のユーザは、IMアプリケーション11を用いて、承諾区分が、グループの参加に対して承諾したことを示す「済」となっているユーザ同士でメッセージの送受信を行うことができる。なお、登録処理部22により、グループ関係の登録要求を行ったユーザの承諾区分は初めから「済」としてグループ関係テーブルが作成され、グループ関係データベース24に登録される。
【0043】
<処理の詳細>
次に、本実施形態に係るサービス提供システム1の処理の詳細について説明する。
【0044】
≪探索処理≫
まず、携帯端末10Aのユーザ(ユーザID「uid001」、ユーザ名「satoh」)が、自身の携帯端末10Aの周囲の所定の範囲内にある他の携帯端末10を探索する処理について、
図5を参照しながら説明する。
図5は、第1の実施形態に係る探索処理の一例のフローチャートである。
【0045】
ステップS501において、携帯端末10Aのユーザは、自身の携帯端末10Aの周囲の所定の範囲内(例えば数センチメートル乃至数十メートル)にある他の携帯端末10を探索するための操作等を行う。すると、携帯端末10Aの入力部12は、当該操作を受け付け、探索処理部13に対して、他の携帯端末10の探索を要求する。そして、携帯端末10Aの探索処理部13は、この携帯端末10Aの周囲の所定の範囲内に、所定の時間(例えば、1秒乃至数秒)の間、応答要求情報を送信する。
【0046】
一方、携帯端末10Aから応答要求情報を受信した他の携帯端末10の探索処理部13は、携帯端末10A又はサーバ装置20に対して応答情報を送信する。ここで、応答情報には、当該応答情報を送信した携帯端末10のユーザのユーザIDやユーザ名等が含まれる。なお、サーバ装置20は、携帯端末10から応答情報を受信した場合、受信した応答情報に含まれるユーザIDやユーザ名等の一覧を、応答要求情報の送信元の携帯端末10Aに送信する。また、サーバ装置20が応答情報を受信する場合、応答情報にはユーザ名が含まれていなくてもよい。このとき、サーバ装置20は、受信した応答情報に含まれるユーザIDに対応するユーザ名を所定の記憶領域から取得すればよい。
【0047】
ここで、以降では、携帯端末10Aは、携帯端末10B、携帯端末10C、及び携帯端末10D等のユーザID及びユーザ名を受信したものとする。すなわち、携帯端末10Aは、携帯端末10BのユーザID「uid002」及びユーザ名「suzuki」、携帯端末10Cの
ユーザID「uid003」及びユーザ名「tanaka」、携帯端末10DのユーザID「uid004」及びユーザ名「yamada」を受信したものとする。
【0048】
ステップS502において、携帯端末10Aの探索処理部13は、周囲の所定の範囲内に他の携帯端末10があるか否かを判定する。すなわち、携帯端末10Aの探索処理部13は、他の携帯端末10のユーザID及びユーザ名等を受信したか否かを判定する。携帯端末10Aの探索処理部13は、他の携帯端末10のユーザID及びユーザ名等を受信した場合、ステップS503に進む一方、他の携帯端末10のユーザID及びユーザ名等を受信しなかった場合、ステップS504に進む。
【0049】
ステップS503において、携帯端末10Aの表示部14は、受信した他の携帯端末10のユーザID及びユーザ名等に基づき、例えば
図6に示すような探索結果の一覧画面1000を表示装置106等に表示させる。
【0050】
図6は、探索結果の一覧画面の一例のイメージ図である。
図6に示す探索結果の一覧画面1000には、携帯端末10Aの探索処理部13が他の携帯端末10から受信した他の携帯端末10のユーザID及びユーザ名の一覧が表示されている。このように、探索結果の一覧画面1000には、携帯端末10Aの周囲の所定の範囲内にある他の携帯端末10のユーザのユーザID及びユーザ名が一覧で表示される。
【0051】
また、
図6に示す探索結果の一覧画面1000において、ユーザは、チェックボックス1001により、作成されるグループ関係を構成するユーザを選択することができる。すなわち、携帯端末10Aのユーザは、チェックボックス1001により所望のユーザを選択し、グループ作成ボタン1002を押下する。これにより、携帯端末10Aは、携帯端末10Aのユーザ及びチェックボックス1001で選択されたユーザのグループ関係の登録要求を、サーバ装置20に行う。なお、チェックボックス1001は、一例であり、ユーザは、一覧として表示されたユーザ名をタップすること等により、作成されるグループ関係を構成するユーザを選択してもよい。
【0052】
ステップS504において、携帯端末10Aの表示部14は、この携帯端末10Aの周囲の所定の範囲内に他の携帯端末10がないことを示すメッセージ等を表示装置106等に表示させる。これにより、携帯端末10Aのユーザは、自身の周囲に他のユーザがいないことを知ることができる。
【0053】
以上のように、本実施形態に係る携帯端末10は、BLE等の近距離無線通信を用いて、周囲にある他の携帯端末10を探索し、探索結果を一覧として表示する。そして、詳細は後述するが、携帯端末10のユーザは、一覧に表示された他の携帯端末10から所望のユーザを選択することで、自身及び選択されたユーザを含むグループ関係を登録することができるようになる。
【0054】
≪グループ関係の登録処理≫
ここで、携帯端末10Aのユーザが、
図6に示す探索結果の一覧画面1000において、携帯端末10Bのユーザ(ユーザID「uid002」、ユーザ名「suzuki」)及び携帯端末10Dのユーザ(ユーザID「uid004」、ユーザ名「yamada」)を選択したものとする。このとき、携帯端末10Aのユーザが、グループ作成ボタン1002を押下した場合の処理について、
図7を参照しながら説明する。
図7は、第1の実施形態に係るグループ関係の登録処理の一例のシーケンス図である。
【0055】
ステップS701において、携帯端末10Aの登録要求部15は、上述したように探索結果の一覧画面1000でグループ作成ボタン1002が押下されると、グループ関係の登録要求をサーバ装置20に送信する。ここで、グループ関係の登録要求には、携帯端末10AのユーザのユーザID及びユーザ名、探索結果の一覧画面1000のチェックボックス1001で選択されたユーザのユーザID及びユーザ名等が含まれる。すなわち、本実施形態では、グループ関係の登録要求には、ユーザID「uid001」及びユーザ名「satoh」、ユーザID「uid002」及びユーザ名「suzuki」、並びにユーザID「uid004」及びユーザ名「yamada」が含まれる。
【0056】
ステップS702において、サーバ装置20の登録処理部22は、グループ関係の登録要求を受信すると、当該グループ関係の登録要求に基づきグループ関係テーブルを作成し、グループ関係データベース24に登録する。
【0057】
すなわち、登録処理部22は、グループ関係テーブルを一意に識別するグループIDを発行し、受信したグループ関係の登録要求に含まれるユーザID及びユーザ名を含む1つのグループであるグループ関係を示すグループ関係テーブルを作成する。そして、登録処理部22は、作成したグループ関係テーブルをグループ関係データベース24に登録する。このとき、グループ関係の登録要求の送信元の携帯端末10のユーザ(つまり、ユーザID「uid001」のユーザ)の承諾区分を「済」に設定する一方、他のユーザ(つまり、ユーザID「uid002」及びユーザID「uid004」のユーザ)の承諾区分を「未済」に設定する。なお、ここで登録されたグループ関係テーブルのグループIDは、「G001」であるものとする。
【0058】
ステップS703において、サーバ装置20の登録処理部22は、グループ関係の登録が完了したことを示す通知を、グループ関係の登録要求の送信元である携帯端末10Aに送信する。これにより、携帯端末10Aのユーザは、探索結果の一覧画面1000で選択したユーザを含むグループが作成及び登録されたことを知ることができる。
【0059】
ステップS704−1において、サーバ装置20の承諾要求部23は、登録したグループ関係のグループに参加することに対して承諾を求める承諾要求を携帯端末10Bに送信する。同様に、ステップS704−2において、サーバ装置20の承諾要求部23は、承諾要求を携帯端末10Dに送信する。このように、承諾要求部23は、登録されたグループ関係に含まれるユーザのうち、グループ関係の登録要求の送信元のユーザ以外のユーザに対して承諾要求を送信する。ここで、承諾要求には、上記のステップS702で登録されたグループ関係テーブルのグループID、登録されたグループ関係に含まれるユーザID及びユーザ名が含まれる。
【0060】
ステップS705−1において、携帯端末10Bの表示部14は、サーバ装置20から承諾要求を受信すると、
図8(a)に示すようなグループ参加の承諾画面2000を表示装置106等に表示させる。
図8(a)に示すグループ参加の承諾画面2000は、携帯端末10Bの表示装置106に表示されるものであり、携帯端末10Bのユーザに対して、登録されたグループ関係のグループに参加するか否かを選択させるための画面である。なお、グループ参加の承諾画面2000には、登録されたグループ関係のグループに含まれる他のメンバーが表示される。
【0061】
同様に、ステップS705−2において、携帯端末10Dの表示部14は、サーバ装置20から承諾要求を受信すると、
図8(b)に示すようなグループ参加の承諾画面3000を表示装置106等に表示させる。
図8(b)に示すグループ参加の承諾画面3000は、携帯端末10Cの表示装置106に表示されるものであり、携帯端末10Dのユーザに対して、登録されたグループ関係のグループに参加するか否かを選択させるための画面である。なお、グループ参加の承諾画面3000には、登録されたグループ関係のグループに含まれる他のメンバーが表示される。
【0062】
本実施形態では、携帯端末10Bのユーザは、グループ参加の承諾画面2000において、登録されたグループ関係のグループに参加することを承諾するための承諾ボタン2001を押下したものとする。一方、携帯端末10Dのユーザは、グループ参加の承諾画面3000において、登録されたグループ関係のグループに参加することを拒否するための拒否ボタン3002を押下したものとする。
【0063】
ステップS706−1において、携帯端末10Bの承諾応答部16は、グループ参加の承諾画面2000において承諾ボタン2001が押下されると、登録されたグループ関係のグループに参加することの承諾を示す承諾応答をサーバ装置20に送信する。ここで、承諾応答には、上記のステップS702で登録されたグループ関係を示すグループ関係テーブルのグループIDが含まれる。
【0064】
一方、ステップS706−2において、携帯端末10Dの承諾応答部16は、グループ参加の承諾画面3000において拒否ボタン3002が押下されると、登録されたグループ関係のグループに参加することへの拒否を示す拒否応答をサーバ装置20に送信する。ここで、拒否応答には、上記のステップS702で登録されたグループ関係を示すグループ関係テーブルのグループIDが含まれる。
【0065】
ステップS707において、サーバ装置20の登録処理部22は、携帯端末10から承諾応答又は拒否応答を受信すると、当該承諾応答又は拒否応答に含まれるグループIDのグループ関係テーブルを更新する。
【0066】
すなわち、登録処理部22は、携帯端末10Bから承諾応答を受信すると、当該承諾応答に含まれるグループID「G001」のグループ関係テーブルにおいて携帯端末10Bのユーザ(ユーザID「uid002」、ユーザ名「suzuki」)の承認区分を「済」に更新する。一方、登録処理部22は、携帯端末10Dから拒否応答を受信すると、当該拒否応答に含まれるグループID「G001」のグループ関係テーブルにおいて携帯端末10Dのユーザ(ユーザID「uid004」、ユーザ名「yamada」)を削除する。これにより、承諾応答を行ったユーザの携帯端末10とはメッセージの送受信を行うことができるようになる一方で、拒否応答を行ったユーザの携帯端末10をグループに参加させないようにすることができる。
【0067】
なお、登録処理部22は、拒否応答を受信した場合、当該拒否応答に含まれるグループIDのグループ関係テーブルにおいて拒否応答の送信元の携帯端末10のユーザを削除したが、これに限られず、例えば、承諾区分を「拒否」等に更新してもよい。
【0068】
以上のように、本実施形態に係るサーバ装置20は、携帯端末10から送信されたグループ関係の登録要求に基づき、複数のユーザにより構成されるグループ関係を登録することができる。これにより、本実施形態に係る携帯端末10のユーザは、登録されたグループ関係に含まれるユーザとの間でメッセージの送受信を行えるようになる。
【0069】
なお、本実施形態では、複数のユーザにより構成されるグループのグループ関係を登録する場合について説明したが、これに限られず、例えば、探索結果の一覧画面1000で選択されたユーザとの間で友達関係を登録してもよい。
【0070】
また、本実施形態では、探索結果の一覧画面1000で選択されたユーザの携帯端末10に対して、サーバ装置20が承諾要求を送信したが(ステップS704−1及びステップS704−2)、承諾要求を送信しないようにしてもよい。例えば、探索結果の一覧画面1000で選択されたユーザの携帯端末10が、予め承諾不要の設定がなされている場合、サーバ装置20は、このような設定がなされている携帯端末10に対しては。承諾要求を送信しないようにしてもよい。または、
図5のステップS501において携帯端末10が探索する時間及び範囲を、短時間及び短距離とすることにより、サーバ装置20が承諾要求を送信しないようにしてもよい。
【0071】
[第2の実施形態]
次に、第2の実施形態に係るサービス提供システム1について説明する。第2の実施形態に係るサービス提供システム1では、携帯端末10の周囲の所定の範囲にある他の携帯端末10のユーザうち、ソーシャルグラフに基づき、他の携帯端末10のユーザとの友達関係を登録するものである。なお、第2の実施形態の説明では、第1の実施形態との相違点について説明し、第1の実施形態と同様の機能構成を有するものには第1の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【0072】
<機能構成>
まず、第2の実施形態に係るサービス提供システム1の機能構成について、
図9を参照しながら説明する。
図9は、第2の実施形態に係るサービス提供システムの一例の機能構成図である。
【0073】
≪携帯端末≫
図9に示すように、携帯端末10のIMアプリーション11Aは、登録要求部15Aを有する。登録要求部15Aは、探索結果の一覧においてユーザから選択された他の携帯端末10のユーザとの友達関係の登録要求をサーバ装置20に送信する。
【0074】
≪サーバ装置≫
サーバ装置20のサーバプログラム21は、登録処理部22A、グラフ作成部25、登録可否判定部26を有する。また、サーバ装置20のサーバプログラム21Aは、友達関係データベース27を利用する。
【0075】
登録処理部22Aは、携帯端末10から受信した友達関係の登録要求に含まれるユーザID及びユーザ名と、登録可否判定部26により判定結果とに基づき、友達関係データベース27に登録されている友達関係を更新する。
【0076】
グラフ作成部25は、例えばCPU201等により実現され、友達関係の登録要求を受信すると、友達関係データベース27に基づき、指定されたユーザIDのユーザを中心として、中心から距離がN(Nは2以上の整数)以下のソーシャルグラフを作成する。ここで、ソーシャルグラフとは、ユーザをノード、友達関係があるユーザ同士をリンクとしたグラフである。なお、リンクは「エッジ」とも称される。また、距離とは、中心のノードから目的のノードに至るまでに必要な最小のリンク数をいう。
【0077】
登録可否判定部26は、例えばCPU201等により実現され、グラフ作成部25により作成されたソーシャルグラフに基づき、受信した友達関係の登録要求に含まれるユーザIDのうち、友達として友達関係を更新するユーザIDを判定する。すなわち、登録可否判定部26は、ユーザ名「satoh」を中心とした距離N以下のソーシャルグラフにおいて、ユーザ名「suzuki」のユーザIDが当該ソーシャルグラフに含まれる場合、ユーザ名「satoh」と「suzuki」を友達として友達関係を更新すると判定する。一方、登録可否判定部26は、ユーザ名「suzuki」のユーザIDが当該ソーシャルグラフに含まれない場合、ユーザ名「satoh」と「suzuki」を友達としないと判定する。これは、例えば距離Nが2又は3である場合、「共通の友達」がいるユーザ同士を友達とすること又は「共通の友達の友達」がいるユーザ同士を友達とすることを意味する。
【0078】
友達関係データベース27は、例えば記憶装置204等により実現され、ユーザID毎に、このユーザの友達として登録されたユーザが管理される友達関係テーブルを記憶する。ここで、友達関係データベース27について、
図10を参照しながら説明する。
図10は、友達関係データベースの一例を示す図である。
【0079】
図10に示すように、友達関係データベース27は、ユーザID毎に、このユーザIDのユーザと友達となっている(友達関係がある)ユーザのユーザID及びユーザ名等のデータ項目を有する。
図10の例では、ユーザID「uid001」のユーザ(ユーザ名「satoh」)は、ユーザID「uid005」のユーザ(ユーザ名「sasaki」)やユーザID「uid007」のユーザ(ユーザID「nakamura」)等と友達であることが示されている。このように、友達関係データベース27には、ユーザ毎に、友達として登録されているユーザ(つまり、友達関係があるユーザ)が管理される友達関係テーブルが記憶されている。
【0080】
<処理の詳細>
次に、本実施形態に係るサービス提供システム1の処理の詳細について説明する。
【0081】
≪探索処理≫
第1の実施形態と同様に、携帯端末10Aのユーザ(ユーザID「uid001」、ユーザ名「satoh」)が、自身の携帯端末10Aの周囲の所定の範囲内にある他の携帯端末10を探索する処理について、
図11を参照しながら説明する。
図11は、第2の実施形態に係る探索処理の一例のフローチャートである。
【0082】
ステップS1101において、携帯端末10Aのユーザは、自身の携帯端末10Aの周囲の所定の範囲内(例えば数センチメートル乃至数十メートル)にある他の携帯端末10を探索するための操作等を行う。すると、携帯端末10Aの入力部12は、当該操作を受け付け、探索処理部13に対して、他の携帯端末10の探索を要求する。そして、携帯端末10Aの探索処理部13は、この携帯端末10Aの周囲の所定の範囲内に、所定の時間(例えば、1秒乃至数秒)の間、応答要求情報を送信する。
【0083】
一方、携帯端末10Aから応答要求情報を受信した他の携帯端末10の探索処理部13は、携帯端末10A又はサーバ装置20に対して受信した応答要求情報に対する応答情報を送信する。ここで、送信される応答情報には、当該応答情報を送信した携帯端末10のユーザのユーザIDやユーザ名等が含まれる。なお、サーバ装置20は、携帯端末10から応答情報を受信した場合、受信した応答情報に含まれるユーザIDやユーザ名等の一覧を、応答要求情報の送信元の携帯端末10Aに送信する。また、サーバ装置20が応答情報を受信する場合、応答情報にはユーザ名が含まれていなくてもよい。このとき、サーバ装置20は、受信した応答情報に含まれるユーザIDに対応するユーザ名を所定の記憶領域から取得すればよい。
【0084】
ここで、以降では、第1の実施形態と同様に、携帯端末10Aは、携帯端末10B、携帯端末10C、及び携帯端末10D等のユーザID及びユーザ名を受信したものとする。
【0085】
ステップS1102において、携帯端末10Aの探索処理部13は、周囲の所定の範囲内に他の携帯端末10があるか否かを判定する。すなわち、携帯端末10Aの探索処理部13は、他の携帯端末10のユーザID及びユーザ名等を受信したか否かを判定する。携帯端末10Aの探索処理部13は、他の携帯端末10のユーザID及びユーザ名等を受信しなかった場合、ステップS1103に進む。
【0086】
ステップS1103において、携帯端末10Aの表示部14は、この携帯端末10Aの周囲の所定の範囲内に他の携帯端末10がないことを示すメッセージ等を表示装置106等に表示させる。これにより、携帯端末10Aのユーザは、自身の周囲に他のユーザがいないことを知ることができる。
【0087】
以上のように、本実施形態に係る携帯端末10は、BLE等の近距離無線通信を用いて、周囲にある他の携帯端末10を探索する。すなわち、第1の実施形態と異なり、探索結果の一覧を表示させない。これは、詳細は後述するように、距離Nが適切に設定されることで、「共通の友達」がいるユーザや「共通の友達の友達」がいるユーザと友達関係を登録するものだからである。ただし、本実施形態においても、第1の実施形態と同様に探索結果の一覧を表示させて、友達関係の登録を所望するユーザを選択できるようにしてもよい。
【0088】
≪友達関係の登録処理≫
次に、上述した探索処理の後に行われる処理について、
図12を参照しながら説明する。
図12は、第2の実施形態に係る友達関係の登録処理の一例のシーケンス図である。
【0089】
ステップS1201において、携帯端末10Aの登録要求部15Aは、友達関係の登録要求をサーバ装置20に送信する。ここで、友達関係の登録要求には、携帯端末10AのユーザのユーザID及びユーザ名、
図11のステップS1101で受信した他の携帯端末10のユーザID及びユーザ名等が含まれる。すなわち、本実施形態では、友達関係の登録要求には、ユーザID「uid001」及びユーザ名「satoh」、ユーザID「uid002」及びユーザID「suzuki」、ユーザID「uid003」及びユーザ名「tanaka」、並びにユーザID「uid004」及びユーザ名「yamada」が含まれる。
【0090】
ステップS1202において、サーバ装置20のグラフ作成部25は、友達関係の登録要求を受信すると、当該友達関係の登録要求に含まれるユーザIDのそれぞれについて、予め設定された距離N以下のソーシャルグラフを作成する。
【0091】
ここで、ユーザID「uid001」を中心として、中心から距離がN=3以下のソーシャルグラフを
図13に示す。
図13は、ソーシャルグラフの一例を示す図である。
図13に示すソーシャルグラフは、ユーザID「uid001」を中心として、リンクの数が3以下(すなわち、距離が3以下)のユーザIDのノードにより構成される。グラフ作成部25は、予め設定された距離Nに基づき、友達関係の登録要求に含まれるユーザIDのそれぞれについて、このようなソーシャルグラフを作成する。すなわち、本実施形態では、グラフ作成部25は、ユーザID「uid001」、「uid002」、「uid003」、及び「uid004」のそれぞれについて、予め設定された距離Nに基づき、ソーシャルグラフを作成する。なお、距離Nは、すべてのユーザに対して同一の値が設定されてもよいし、ユーザ毎に異なる値が設定されてもよい。また、携帯端末10のユーザは、このような距離Nを自身で所望の値に設定できるようにしてもよい。
【0092】
ステップS1203において、サーバ装置20の登録可否判定部26は、友達関係の登録要求に含まれるユーザIDのそれぞれについて、当該友達関係の登録要求に含まれる他のユーザIDと友達関係を登録するか否かを判定する。
【0093】
具体的には、上記のステップS1202で作成されたユーザID「uid001」のソーシャルグラフに、友達関係の登録要求に含まれる他のユーザID「uid002」、「uid003」、及び「uid004」がそれぞれ含まれるか否かを判定する。そして、登録可否判定部26は、ユーザID「uid001」のソーシャルグラフに含まれる他のユーザIDと友達関係を登録すると判定する。例えば、
図13に示す例では、ユーザID「uid002」及び「uid004」がユーザID「uid001」のソーシャルグラフに含まれる。したがって、この場合、登録可否判定部26は、ユーザID「uid001」とユーザID「uid002」、及びユーザID「uid001」とユーザID「uid004」をそれぞれ友達関係として登録すると判定する。一方で、登録可否判定部26は、ユーザID「uid001」とユーザID「uid003」は友達関係として登録しないと判定する。
【0094】
同様に、登録可否判定部26は、ユーザID「uid002」のソーシャルグラフに、ユーザID「uid003」及び「uid004」がそれぞれ含まれるか否かを判定する。同様に、登録可否判定部26は、ユーザID「uid003」のソーシャルグラフに、ユーザID「uid004」が含まれるか否かを判定する。
【0095】
このように、登録可否判定部26は、友達関係の登録要求に含まれる一のユーザのソーシャルグラフに、当該登録要求に含まれる他のユーザが含まれるか否かを判定する。換言すれば、登録可否判定部26は、友達関係の登録要求に含まれる一のユーザと、当該登録要求に含まれる他のユーザとの距離が、予め設定された値N以下か否かを判定する。そして、距離がN以下であるユーザ同士を友達関係として登録すると判定する。
【0096】
ステップS1204において、サーバ装置20の登録処理部22Aは、友達関係データベース27の上記のステップS1203で友達関係として登録すると判定されたユーザIDの友達関係テーブルを更新する。
【0097】
例えば、上記のステップS1203でユーザID「uid001」とユーザID「uid002」を友達関係として登録する判定された場合、登録処理部22Aは、友達関係データベース27のユーザID「uid001」の友達関係テーブルにユーザID「uid002」のレコードを追加する。同様に、登録処理部22は、友達関係データベース27のユーザID「uid002」のテーブルにユーザID「uid001」のレコードを追加する。これにより、ユーザID「uid001」のユーザと、ユーザID「uid002」のユーザとが友達関係となり、お互いにメッセージの送受信等を行うことができるようになる。
【0098】
なお、ステップS1204において、上記のステップS1203で友達関係として登録すると判定されたユーザID同士が既に友達である場合(友達関係が登録されている場合)は、何もしないようにすればよい。
【0099】
ステップS1205−1において、サーバ装置20の登録処理部22Aは、上記のステップS1204で友達関係が登録された結果を携帯端末10B〜10Dに送信する。同様に、ステップS1205−2において、サーバ装置20の登録処理部22Aは、上記のステップS1204で友達関係が登録された結果を携帯端末10Aに送信する。このように、登録処理部22Aは、友達関係の登録要求に含まれる各ユーザIDの携帯端末10に対して、友達関係が登録された結果を送信する。ここで、登録処理部22Aにより送信される友達関係が登録された結果には、例えば、送信先の携帯端末10のユーザと友達となった(すなわち、友達関係が登録された)ユーザのユーザIDやユーザ名等が含まれる。これにより、携帯端末10のユーザは、自身と友達となった他のユーザを知ることができる。
【0100】
以上のように、本実施形態に係るサーバ装置20は、携帯端末10から複数のユーザIDを含む友達関係の登録要求を受信すると、予め設定された距離Nに基づき、それぞれのユーザIDのソーシャルグラフを作成する。そして、本実施形態に係るサーバ装置20は、作成されたソーシャルグラフに基づき、複数のユーザを相互に友達関係として登録する。これにより、本実施形態に係るサービス提供システム1では、一度に、複数のユーザのそれぞれと互いに友達関係を登録することができるようになる。
【0101】
なお、本実施形態では、友達関係の登録要求に含まれるユーザIDについて、それぞれを相互に友達関係として登録するか否かを判定したが、これに限られない。例えば、携帯端末10Aのユーザと、携帯端末10B〜10Dのそれぞれのユーザとを友達関係として登録するか否かを判定するようにしてもよい(この場合、例えば、携帯端末10Bのユーザと携帯端末10Cのユーザとは友達とならない。)。
【0102】
また、本実施形態では、複数のユーザを相互に友達関係として登録する場合について説明したが、これに限られず、ソーシャルグラフに基づき、複数のユーザを含むグループ関係を登録してもよい。すなわち、
図12のステップS1201において、携帯端末10は、グループを構成する複数のユーザのユーザID及びユーザ名を含むグループ関係の登録要求をサーバ装置20に送信してもよい。この場合、サーバ装置20は、当該登録要求に含まれる複数のユーザのうち、当該登録要求を送信した携帯端末10のユーザと、このユーザの距離N以下のソーシャルグラフに含まれるユーザとを含むグループ関係を登録すればよい。
【0103】
なお、本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。