説明

ユーザ管理システム、制御方法及び制御プログラム

【課題】セキュリティを向上すること。
【解決手段】IDMSは、SNSにより送信された識別情報のペアを受信すると、受信した識別情報により識別されるユーザの識別情報を取得する。IDMSは、一方の識別情報について取得した識別情報が用いられるSNSに判定用情報を送信し、他方の識別情報について取得した識別情報が用いられるSNSに判定指示情報を送信する。判定用情報を受信したSNSは、判定用情報を格納する。判定指示情報を受信したSNSは、判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を関係記憶部から取得し、格納された判定用情報に含まれる識別情報がある場合に関係が結ばれていると判定する。SNSは、判定結果をIDMSに送信する。そして、IDMSは、判定結果を受信すると、識別情報のペアの送信元となるSNSに判定結果を送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ管理システム、制御方法及び制御プログラムに関する。
【背景技術】
【0002】
ユーザ間で関係を結べるサーバ(SNS、Social Network Sever)がある。SNSでは、ユーザは、交友関係のある人と関係を結ぶ。例えば、SNSでは、ユーザは、関係を結んだ人に対して自分の情報を公開し、関係を結んでいない人に対して自分の情報を公開しない。SNSは複数あり、一人のユーザが複数のSNSを利用することもある。異なるSNS各々では、それぞれ異なるID(Identification)を用いてユーザを識別する。言い換えると、ユーザは、SNSごとに異なるIDを用いる。
【0003】
SNSは、ユーザ間の関係を示すリストを記憶する。SNSにより記憶されるリストを「関係リスト」とも称する。例えば、ユーザ401とユーザ402とは、SNS410にて関係を結び、SNS420にて関係を結んでいない場合を用いて説明する。以下では、関係が結ばれていることを「関係がある」とも称し、関係が結ばれていないことを「関係がない」とも称する。この場合、SNS410の関係リストには、ユーザ401とユーザ402との間に関係があることを示す情報が含まれ、SNS420の関係リストには、ユーザ401とユーザ402との間に関係があることを示す情報が含まれない。この場合、SNS410は、ユーザ402に対してユーザ401の情報を公開し、SNS420は、ユーザ402に対してユーザ401の情報を公開しない。
【0004】
また、SNSごとに異なるIDをユーザが管理するのは煩雑であり、ユーザのIDを束ねて管理するサーバ(IDMS、ID Management Server)がある。IDMSは、SNSごとに用いられる識別情報をユーザごとに記憶する。具体的には、IDMSは、ユーザが参加するSNSとユーザのIDとの対応付けをユーザごとに記憶する。IDMSにより記憶されるリストを「参加SNSリスト」とも称する。
【0005】
ここで、他のSNSの関係リストを取得し、他のSNSにて関係が結ばれているか否かを判定する判定手法がある。例えば、SNS420においてユーザ401とユーザ402とが関係を結んでいない場合に、SNS420は、SNS410の関係リストを取得し、取得したSNS410の関係リストにおいてユーザ401とユーザ402とが関係を結んでいるかを判定する。また、IDMSにより保持されたSNS参加リストをユーザが公開する公開手法もある。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】“plaxo お客様の生活を豊かにするアドレスブック”、[online]、[平成22年4月14日検索]、インターネット(URL:http://www.plaxo.com/)
【非特許文献2】“Googleアカウント ヘルプ”、[online]、[平成22年4月7日検索]、インターネット(URL:http://www.google.com/support/accounts/bin/answer.py?answer=98085&hl=ja)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した判定手法では、個人情報を含む関係リストが他のSNSに公開され、セキュリティ上好ましくないという問題がある。また、上述した判定手法では、他のSNSの関係リストを取得したとしても、他のSNSにおいては異なるIDが用いられており、ユーザを特定することが難しいという問題がある。
【0008】
また、上述した判定手法に公開手法を応用した応用装置が考えられる。応用装置では、IDMSにより公開されたSNS参加リストを参照することで、他のSNSの関係リストのユーザを特定する。例えば、他のSNSにおいてユーザ401とユーザ402との間に関係が結ばれているかをSNS420が判定する場合を用いて説明する。この場合、SNS420は、ユーザ401が参加する他のSNSであるSNS410の関係リストを取得する。そして、SNS420は、IDMSにより公開されたSNS参加リストを参照することで、SNS410におけるユーザ401のIDやユーザ402のIDを特定し、特定したID間に関係があるかを確認する。
【0009】
しかしながら、応用装置では、確認手法と同様に、SNSの関係リストが他のSNSに公開され、セキュリティ上好ましくないという問題がある。また、応用装置では、IDMSによりSNS参加リストが公開され、セキュリティ上好ましくないという問題がある。
【0010】
開示の技術は、上述に鑑みてなされたものであって、セキュリティを向上可能であるユーザ管理システム、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
開示の技術は、一つの態様において、ユーザごとに当該ユーザと関係が結ばれているユーザの識別情報を記憶する関係記憶部を有するサーバであって複数ある当該サーバがそれぞれ異なる識別情報を用いてユーザを識別する第一のサーバと、複数ある前記第一のサーバにより用いられる異なる識別情報を当該識別情報により識別されるユーザごとに記憶する識別情報記憶部を有する第二のサーバとを備えるユーザ管理システムであって、前記第一のサーバは、関係の有無が判定されるユーザのペアについて、当該ペアに含まれるユーザの識別情報各々を前記第二のサーバに送信する第一の送信部を有し、前記第二のサーバは、前記第一の送信部により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得する取得部と、前記ペアに含まれるユーザの識別情報のうち一方の識別情報について前記取得部により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報を含む前記判定に用いられる判定用情報を送信し、前記ペアに含まれるユーザの識別情報のうち他方の識別情報について前記取得部により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報について前記判定を実行する旨の指示である判定指示情報を送信する第二の送信部と、前記第一のサーバは、前記第二の送信部により送信された判定用情報を受信すると、当該判定用情報を判定用情報記憶部に格納する格納部と、前記第二の送信部により送信された判定指示情報を受信すると、当該判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を前記関係記憶部から取得し、前記判定用情報記憶部に格納された判定用情報に含まれる場合に関係が結ばれていると判定し、含まれない場合に関係が結ばれていないと判定する判定部と、前記判定部による判定結果を前記第二のサーバに送信する第三の送信部とを有し、前記第二のサーバは、前記第三の送信部により送信された判定結果を受信すると、前記第一の送信部が識別情報を送信した送信元となる前記第一のサーバに当該判定結果を送信する第四の送信部を有する。
【発明の効果】
【0012】
開示の技術の一つの態様によれば、セキュリティを向上可能であるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】図1は、実施例1に係るユーザ管理システムの全体像について示す図である。
【図2】図2は、実施例1におけるユーザ間の関係の一例について示す図である。
【図3】図3は、実施例1に係るユーザ管理システムによる処理の全体像について示すシーケンス図である。
【図4】図4は、実施例1に係るユーザ管理システムの構成の一例を示すブロック図である。
【図5】図5は、実施例1における関係テーブルに記憶された情報の一例を示す図である。
【図6】図6は、実施例1における識別情報テーブルに記憶された情報の一例を示す図である。
【図7】図7は、実施例1における関係テーブルに記憶された情報の一例を示す図である。
【図8】図8は、実施例1における判定用情報テーブルに記憶された情報の一例を示す図である。
【図9】図9は、実施例1における判定部による判定処理の流れの一例を示すフローチャートである。
【図10】図10は、実施例1における判定用情報配布部による処理の流れの一例を示すフローチャートである。
【図11】図11は、実施例1における格納部による処理の流れの一例について示すフローチャートである。
【発明を実施するための形態】
【0014】
以下に、開示するユーザ管理システム、制御方法及び制御プログラムの実施例について、図面に基づいて詳細に説明する。なお、本実施例により開示する発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0015】
[ユーザ管理システムの全体像]
実施例1に係るユーザ管理システムは、クライアント端末100とSNS200とIDMS300とを有する。クライアント端末100は、ユーザにより用いられる端末である。SNS200は、ユーザと関係が結ばれているユーザの識別情報をユーザごとに記憶する関係記憶部を有するサーバである。言い換えると、SNS200は、ユーザ間の関係を示す関係リストを記憶する。SNS200は、複数あり、複数あるSNS200各々は、それぞれ異なる識別情報を用いてユーザを識別する。IDMS300は、SNS200ごとに用いられる識別情報をユーザごとに記憶する識別情報記憶部を有するサーバである。言い換えると、IDMS300は、参加SNSリストを記憶する。SNS200は、「第1のサーバ」とも称する。IDMS300は、「第2のサーバ」とも称する。
【0016】
図1を用いて、実施例1に係るユーザ管理システムの全体像について示す。図1は、実施例1に係るユーザ管理システムの全体像について示す図である。図1において、10は、ネットワークを示す。ネットワーク10は、例えば、インターネットやイントラネットなどが該当し、任意のネットワークであって良い。100は、クライアント端末を示す。200a〜200cは、SNS200を示す。図1に示す例では、SNS200が3つある場合を例に示したが、本発明はこれに限定されるものではなく、任意の数であって良い。300aと300bとは、IDMS300を示す。図1に示す例では、IDMS300が2つある場合を例に示したが、本発明はこれに限定されるものではなく、任意の数であって良い。図1に示すように、クライアント端末100とSNS200とIDMS300とは、インターネット10を介して相互に接続される。
【0017】
以下では、図2に示すように、SNS200aにて、ユーザ「r1」と「o1」とが関係を結んでおり、ユーザ「r1」と「a1」とが関係を結んでいない場合を用いて説明する。また、SNS200bにて、ユーザ「r2」と「a2」と「o2」とが関係を結んでいる場合を用いて説明する。図2は、実施例1におけるユーザ間の関係の一例について示す図である。
【0018】
また、以下では、図2に示すように、IDMS300aは、ユーザ「r0」を識別する識別情報を記憶する場合を用いて説明する。すなわち、IDMS300aは、ユーザ「r0」を識別する識別情報が、SNS200aでは識別情報「r1」であることを記憶し、SNS200bでは識別情報「r2」であることを記憶し、SNS200dでは識別情報「r4」であることを記憶する場合を用いて説明する。また、IDMS300bは、ユーザ「a0」を識別する識別情報を記憶する場合を用いて説明する。すなわち、IDMS300bは、ユーザ「a0」を識別する識別情報が、SNS200aでは識別情報「a1」であることを記憶し、SNS200bでは識別情報「a2」であることを記憶し、SNS200cでは識別情報「a3」であることを記憶する。
【0019】
また、以下では、図2に示すように、SNS200aにおいて、ユーザ「a1」から「r1」へのアクセス要求が行われた場合を用いて説明する。言い換えると、ユーザ「a0」が、SNS200aにて、ユーザ「r0」に対してアクセス要求を実行する場合を用いて説明する。
【0020】
[ユーザ管理システムによる処理の全体像]
図3を用いて、実施例1に係るユーザ管理システムによる処理の全体像について示す。図3は、実施例1に係るユーザ管理システムによる処理の全体像について示すシーケンス図である。図3では、クライアント端末100と、SNS200aとSNS200bと、IDMS300aとIDMS300bとを用いて説明する。ただし、本発明はこれに限定されるものではなく、SNS200の数は3つ以上であっても良く、IDMS300の数は1つでも良く、3つ以上でも良い。
【0021】
クライアント端末100は、SNS200aにおいてユーザ「a1」から「r1」へのアクセスするアクセス要求をユーザから受け付けると(ステップS101)、受け付けたアクセス要求をSNS200aに送信する(ステップS102)。
【0022】
SNS200aは、アクセス要求を受信すると、関係記憶部を参照することで、SNS200aにおいてアクセス要求の対象となるユーザ間に関係が結ばれているかを判定する(ステップS103)。ここで、SNS200aは、関係が結ばれていないと判定すると、マッチングコードを生成する(ステップS104)。マッチングコードは、他のSNS200において関係が結ばれているか否かを判定する際に用いられる情報である。マッチングコードは、例えば、任意の文字列である。例えば、マッチングコードは、「1a56b872b8cd」や「81c25e9f7bc9」などが該当する。なお、マッチングコードは「判定用情報識別情報」とも称する。
【0023】
なお、SNS200aは、関係が結ばれていると判定すると、アクセス要求を許可してサービスを提供する。例えば、SNS200aは、「a1」に対して「r1」の情報を公開する。この場合、以下に説明する一連の処理は実行されない。
【0024】
そして、SNS200aは、関係が結ばれているかを判定する対象となるユーザのペアに含まれるユーザのうち一方のユーザの識別情報を含む他のSNS200における判定に用いられる判定用情報を生成し、IDMS300に送信する(ステップS105)。ここで、関係が結ばれているかを判定する対象となるユーザのペアとは、SNS200aにて関係が結ばれていないと判定した「a1」と「r1」とになる。例えば、SNS200aは、識別情報「a1」を含む判定用情報を生成し、識別情報「a1」により識別されるユーザ「a0」の識別情報を管理するIDMS300bに送信する。
【0025】
また、SNS200aは、関係が結ばれているかを判定する対象となるユーザのペアに含まれるユーザのうち他方のユーザの識別情報について判定を実行する旨の指示である判定指示情報を生成し、IDMS300に送信する(ステップS106)。例えば、SNS200aは、識別情報「r1」を含む判定指示情報を生成し、識別情報「r1」により識別されるユーザ「r0」の識別情報を管理するIDMS300aに送信する。
【0026】
ここで、判定用情報を受信したIDMS300bは、判定用情報に含まれる識別情報により識別されるユーザに対応付けられた識別情報を識別情報記憶部から取得する(ステップS107)。例えば、識別情報「a1」により識別されるユーザは「a0」であり、IDMS300bは、ユーザ「a0」に対応付けられた識別情報「a2」や「a3」を関係記憶部から取得する。
【0027】
そして、IDMS300bは、取得した識別情報が用いられるSNS200に対して、取得した識別情報を含む判定用情報を送信する(ステップS108)。例えば、IDMS300bは、識別情報「a2」が用いられるSNS200bに対して、識別情報「a2」を含む判定用情報を送信する。また、図3には示していないが、同様に、IDMS300bは、識別情報「a3」が用いられるSNS200cに対して、識別情報「a3」を含む判定用情報を送信する。
【0028】
そして、判定用情報を受信したSNS300bは、判定用情報を判定用情報記憶部に格納する(ステップS109)。例えば、SNS300bは、識別情報「a2」を含む判定用情報を判定用情報記憶部に格納する。
【0029】
一方、判定指示情報を受信したIDMS300aは、判定指示情報に含まれる識別情報により識別されるユーザに対応付けられた識別情報を識別情報記憶部から取得する(ステップS110)。例えば、識別情報「r1」により識別されるユーザは「r0」であり、IDMS300aは、ユーザ「r0」に対応付けられた識別情報「r2」や「r4」を識別情報記憶部から取得する。
【0030】
そして、IDMS300aは、取得した識別情報が用いられるSNS200に対して、取得した識別情報を含む判定指示情報を送信する(ステップS111)。例えば、IDMS300aは、識別情報「r2」が用いられるSNS200bに対して、識別情報「r2」を含む判定指示情報を送信する。また、図3には示していないが、同様に、IDMS300aは、識別情報「r4」が用いられるSNS200dに対して、識別情報「r4」を含む判定指示情報を送信する。
【0031】
そして、判定指示情報を受信したSNS200bは、判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を関係記憶部から取得し、判定用情報記憶部に格納された判定用情報に含まれる場合には関係が結ばれていると判定し、含まれない場合には関係が結ばれていないと判定する(ステップS112)。図2に示す例では、SNS200bは、関係記憶部を参照し、判定指示情報に含まれる「r2」に対応付けられた識別情報「a2」「o2」を読み出す。つまり、SNS200bは、「r2」と関係が結ばれているユーザの識別情報を読み出す。そして、判定用情報記憶部は、識別情報「a2」を含む判定用情報を記憶しており、SNS200bは、関係が結ばれていると判定する。
【0032】
そして、判定指示情報を受信したSNS200bは、判定指示情報の送信元となったIDMS300aに対して判定結果を送信する(ステップS113)。例えば、SNS200bは、関係が結ばれている旨の判定結果を送信する。
【0033】
そして、判定結果を受信したIDMS300は、判定指示情報の送信元となるSNS200に判定結果を送信する(ステップS114)。例えば、IDMS300aは、SNS200aに対して、関係が結ばれている旨の判定結果を送信する。
【0034】
その後、判定結果を受信したSNS200は、判定結果に応じた処理を実行する(ステップS115)。例えば、関係が結ばれている旨の判定結果を受信したSNS200aは、SNS200aの関係記憶部を更新し、ユーザ「a1」から「r1」へのアクセス要求を許可する。一方、例えば、関係が結ばれていない旨の判定結果を受信したSNS200aは、ユーザ「a1」から「r1」へのアクセス要求を許可しない。
【0035】
[ユーザ管理システムの構成]
図4を用いて、実施例1に係るユーザ管理システムの構成の一例を示す。図4は、実施例1に係るユーザ管理システムの構成の一例を示すブロック図である。図4に示す例では、ユーザ管理システムは、クライアント端末100と、SNSサーバ200aと、SNS200bと、IDMS300とを有する。なお、図1〜図3では、IDMS300aとIDMS300bとを記載したが、図4では記載の便宜上、IDMS300aとIDMS300bとに対応するIDMSとして、IDMS300を記載した。
【0036】
図4に示す例では、記載の便宜上、クライアント端末100を1つ記載し、IDMS300を1つ記載し、SNSサーバ200を2つ記載した。ただし、本発明はこれに限定されるものではなく、任意の数であって良い。
【0037】
[クライアント端末100]
クライアント端末100は、SNS200aとネットワークを介して接続される。クライアント端末100は、利用者がSNSを利用する際に用いられる。クライアント端末100は、例えば、既知のパーソナルコンピュータや、携帯電話、PHS(Personal Handyphone System)端末、移動体通信端末、又は、PDA(Personal Digital Assistant)などの情報処理装置が該当する。
【0038】
クライアント端末100は、アクセス要求をSNS200aに送信する。例えば、クライアント端末100は、ユーザ「a」によって用いられる。また、クライアント端末100は、SNS200aにおけるユーザ「a」の識別情報である「a1」が、SNS200aにおける他のユーザに対してのアクセスを要求するアクセス要求をSNS200aに送信する。以下では、SNS200aにおいて「a1」が「r1」に対してアクセスするアクセス要求をクライアント端末100が送信する場合を用いて説明する。
【0039】
[SNS200a]
SNS200aは、クライアント端末100及びIDMS300とネットワークを介して接続される。以下に説明するように、SNS200aは、判定用情報や判定指示情報をIDMS300に送信する。その後、SNS200aは、別のSNSであるSNS200bにおける関係の有無についての判定結果をIDMS300から受信する。
【0040】
図4に示す例では、SNS200aは、SNS記憶部210aと、SNS制御部220aとを有する。SNS記憶部210aは、SNS制御部220aと接続される。SNS記憶部210aは、SNS制御部220aによる各種処理に用いるデータを記憶する。SNS記憶部210aは、例えば、RAM(Random Access Memory)や、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、リレーショナルデータベースやキーバリューストアなどのミドルウェア、又は、ハードディスクや光ディスクなどの記憶装置が該当する。SNS記憶部210aは、図4に示す例では、関係テーブル211aを有する。関係テーブルは、「関係記憶部」や「関係リスト」とも称する。
【0041】
図5に示すように、関係テーブル211aは、SNS200aにおいて関係が結ばれているユーザの識別情報をユーザごとに記憶する。つまり、関係テーブル211aは、ユーザごとに、関係が結ばれているユーザのリストを記憶する。図5は、実施例1における関係テーブルに記憶された情報の一例を示す図である。図5に示す例では、関係テーブル211aは、識別情報「r1」に対応付けて識別情報「o1」を記憶する。すなわち、関係テーブル211aは、SNS200aにおいて、ユーザ「r1」とユーザ「o1」との間に関係が結ばれていることを記憶する。また、関係テーブル211aは、同様に、他のユーザについても関係が結ばれているユーザの識別情報を記憶する。
【0042】
以下では、関係テーブル211aが、識別情報「r1」に対応付けて「a1」を記憶しない場合を用いて説明する。すなわち、以下では、関係テーブル211aは、SNS200aにおいて、「r1」と「a1」とが関係を結んでいない場合を用いて説明する。
【0043】
SNS制御部220aは、SNS記憶部210aと接続される。SNS制御部220aは、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。SNS制御部220aは、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの電子回路が該当する。図4に示す例では、SNS制御部220aは、関係判定部221aと、マッチングコード生成部222aと、判定用情報送信部223aと、判定指示情報送信部224aと、判定結果受信部225aとを有する。
【0044】
関係判定部221aは、アクセス要求をクライアント端末100から受信すると、関係テーブル211aを参照することで、SNS200aにおいてアクセス要求の対象となるユーザ間に関係が結ばれているかを判定する。例えば、「a1」が「r1」に対してアクセスするアクセス要求を受信した場合には、関係判定部221aは、識別情報「a1」に対応付けて識別情報「r1」が関係テーブル211aに記憶されているかを判定する。そして、図5に示す例では、関係テーブル211aが識別情報「r1」に対応付けて「a1」を記憶しておらず、関係判定部221aは、「a1」と「r1」との間に関係が結ばれていないと判定する。一方、関係判定部221aは、記憶されている場合には、関係が結ばれていると判定する。関係判定部221aによって関係が結ばれていると判定された場合には、SNS制御部220aは、アクセス要求を許可する。
【0045】
マッチングコード生成部222aは、関係判定部221aにより関係が結ばれていないと判定された場合に、マッチングコードを生成する。マッチングコード生成部222aは、マッチングコードを生成するごとに異なるマッチングコードを生成する。以下では、「a1」が「r1」に対してアクセスするアクセス要求について、マッチングコード生成部222aが、マッチングコード「1a56b872b8cd」を生成した場合を用いて説明する。
【0046】
判定用情報送信部223aや判定指示情報送信部224aは、関係の有無を判定するユーザのペアについて、ペアに含まれるユーザの識別情報各々をIDMS300bに送信する。例えば、判定用情報送信部223aや判定指示情報送信部224aは、識別情報「a1」により識別されるユーザ「a」の識別情報を記憶するIDMS300bに識別情報「a1」を送信し、識別情報「r1」により識別されるユーザ「r」の識別情報を記憶するIDMS300aに識別情報「r1」を送信する。
【0047】
具体的には、判定用情報送信部223aは、ペアに含まれるユーザのうち一方のユーザについて、一方のユーザの識別情報を含む判定用情報を生成し、一方のユーザの識別情報を識別情報記憶部に記憶するIDMS300aに送信する。例えば、判定用情報送信部223aは、識別情報「a1」により識別されるユーザ「a」の識別情報を記憶するIDMS300bに対して、識別情報「a1」とマッチングコード「1a56b872b8cd」とを判定用情報として送信する。
【0048】
また、具体的には、判定指示情報送信部224aは、ペアに含まれるユーザのうち他方のユーザについて、他方のユーザの識別情報についての判定指示情報を生成し、他方のユーザの識別情報を識別情報記憶部に記憶するIDMS300に送信する。例えば、判定指示情報送信部224aは、識別情報「r1」により識別されるユーザ「r」の識別情報を記憶するIDMS300aに対して、識別情報「r1」とマッチングコード「1a56b872b8cd」と判定を実行する旨の指示とを判定指示情報として送信する。
【0049】
このように、SNS200aでは、ペアに含まれるユーザのうち一方のユーザについて、判定用情報を送信し、他方のユーザについて判定指示情報を送信する。マッチングコード生成部222aと判定用情報送信部223aと判定指示情報送信部224aとは、「第一の送信部」とも称する。
【0050】
判定結果受信部225aは、その後、他のSNS200における判定結果をIDMS300から受信する。例えば、判定結果受信部225aは、「a1」と「r1」との間に関係が結ばれている旨の判定結果をIDMS300から受信する。
【0051】
すなわち、上述したように、SNS200aは、関係テーブル211aの関係リストを送信することはなく、また、他のSNS200aの関係テーブル211aの関係リストを受信こともない。また、SNS200aは、IDMS300のSNS参加リストを受信することもない。
【0052】
[IDMS300]
IDMS300は、SNS200a及びSNS200bとネットワークを介して接続される。IDMS300は、以下に説明するように、SNS200aから判定用情報や判定指示情報を受信し、受信した判定用情報や判定指示情報をSNS200aとは別のSNSであるSNS200bに送信する。その後、IDMS300は、判定指示情報の送信先となるSNSから関係の有無についての判定結果をSNS200bから受信し、判定結果をSNS200aに送信する。
【0053】
図4に示す例では、IDMS300は、IDMS記憶部310と、IDMS制御部320とを有する。IDMS記憶部310は、IDMS制御部320と接続される。IDMS記憶部310は、例えば、RAMや、フラッシュメモリなどの半導体メモリ素子、リレーショナルデータベースやキーバリューストアなどのミドルウェア、又は、ハードディスクや光ディスクなどの記憶装置が該当する。IDMS記憶部310は、図4に示す例では、識別情報テーブル311を有する。
【0054】
図6に示すように、識別情報テーブル311は、複数あるSNS200ごとに用いられるそれぞれ異なる識別情報をユーザごとに記憶する。図6は、実施例1における識別情報テーブルに記憶された情報の一例を示す図である。図6に示す例では、識別情報テーブル311は、ユーザごとに、識別情報とSNS名との対応付けを記憶する。すなわち、識別情報テーブル311は、複数あるSNS200により用いられる異なる識別情報をユーザごとに記憶する。
【0055】
より詳細な一例をあげて説明すると、識別情報テーブル311は、ユーザ「a0」について、識別情報「a1」とSNS名「SNS200a」とを対応付けて記憶し、識別情報「a2」とSNS名「SNS200b」とを対応付けて記憶し、識別情報「a3」とSNS名「SNS200c」とを対応付けて記憶する。すなわち、識別情報テーブル311は、ユーザ「a0」は、SNS200aにて識別情報「a1」で識別されることを記憶し、SNS200bにて識別情報「a2」で識別されることを記憶し、SNS200cにて識別情報「a3」で識別されることを記憶する。また、識別情報テーブル311は、同様に、他のユーザについても識別情報とSNS名との対応付けを記憶する。
【0056】
IDMS制御部320は、IDMS記憶部310と接続される。IDMS制御部320は、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。IDMS制御部320は、例えば、ASIC、FPGA、CPU、MPUなどの電子回路が該当する。図4に示す例では、IDMS制御部320は、判定用情報配布部321と、判定指示情報配布部322と、判定結果送受信部323とを有する。
【0057】
判定用情報配布部321は、判定用情報を受信すると、受信した判定用情報に含まれる識別情報より識別されるユーザに対応付けられた識別情報を識別情報テーブル311から取得する。
【0058】
例えば、判定用情報配布部321は、識別情報「a1」を含む判定用情報を受信すると、識別情報「a1」をキーとして識別情報テーブル311を検索し、ユーザ「a0」を取得する。そして、判定用情報配布部321は、取得したユーザ「a0」に対応付けられた識別情報とSNS名との対応付けを識別情報テーブル311から取得する。図6に示す例では、判定用情報配布部321は、識別情報「a1」SNS名「SNS200a」を取得し、識別情報「a2」SNS名「SNS200b」を取得し、識別情報「a3」SNS名「SNS200c」を取得する。
【0059】
また、判定用情報配布部321は、ペアに含まれるユーザの識別情報のうち一方の識別情報について取得した識別情報が用いられるSNS200に対して、取得された識別情報を含む判定用情報を送信する。具体的には、判定用情報配布部321は、受信した判定用情報に含まれる識別情報を取得した識別情報に更新した上で、更新後の識別情報が用いられるSNS200に対して判定用情報を送信する。その際、判定用情報配布部321は、判定用情報の送信元となったSNS以外のSNSに対して、判定用情報を送信する。
【0060】
例えば、判定用情報配布部321は、受信した判定用情報に含まれる識別情報を「a1」から識別情報「a2」に更新し、識別情報「a2」が用いられるSNS200bに送信する。また、判定用情報配布部321は、受信した判定用情報に含まれる識別情報を「a1」から「a3」に更新し、更新後の判定用情報を識別情報「a3」が用いられるSNS200cに送信する。なお、判定用情報配布部321は、判定用情報の送信元となったSNS200aには判定用情報を送信しない。ただし、本発明はこれに限定されるものではなく、判定用情報配布部321は、判定用情報の送信元となったSNS200aに判定用情報を送信しても良い。なお、判定用情報配布部321による処理の流れの一例については、後述するため説明を省略する。判定用情報配布部321は、「取得部」や「第二の送信部」とも称する。
【0061】
判定指示情報配布部322は、判定指示情報を受信すると、受信した判定指示情報に含まれる識別情報より識別されるユーザに対応付けられた識別情報を識別情報テーブル311から取得する。
【0062】
例えば、判定指示情報配布部322は、識別情報「r1」を含む判定用情報を受信すると、識別情報「r1」をキーとして識別情報テーブル311を検索し、ユーザ「r0」を取得する。そして、判定指示情報配布部322は、取得したユーザ「r0」に対応付けられた識別情報とSNS名との対応付けを識別情報テーブル311から取得する。図6に示す例では、判定指示情報配布部322は、識別情報「r1」SNS名「SNS200a」を取得し、識別情報「r2」SNS名「SNS200b」を取得し、識別情報「r4」SNS名「SNS200d」を取得する。
【0063】
また、判定指示情報配布部322は、ペアに含まれるユーザの識別情報のうち他方の識別情報について取得した識別情報が用いられるSNS200に対して、判定指示情報を送信する。具体的には、判定指示情報配布部322は、判定指示情報に含まれる識別情報を取得した識別情報に更新した上で、更新後の識別情報が用いられるSNS200に対して、更新後の判定指示情報を送信する。その際、判定指示情報配布部322は、判定指示情報の送信元となったSNS以外のSNSに対して、判定指示情報を送信する。
【0064】
例えば、判定指示情報配布部322は、受信した判定指示情報に含まれる識別情報を「r1」から識別情報「r2」に更新し、識別情報「r2」が用いられるSNS200bに送信する。また、判定指示情報配布部322は、受信した判定指示情報に含まれる識別情報を「r1」から「r4」に更新し、更新後の判定指示情報を識別情報「r4」が用いられるSNS200dに送信する。なお、判定指示情報配布部322は、判定指示情報の送信元となったSNS200aには判定指示情報を送信しない。ただし、本発明はこれに限定されるものではなく、判定指示情報配布部322は、判定指示情報の送信元となったSNS200aに判定指示情報を送信しても良い。判定指示情報配布部322による処理の流れの一例については、後述するため説明を省略する。判定指示情報配布部322は、「取得部」や「第二の送信部」とも称する。
【0065】
判定結果送受信部323は、IDMS300から判定結果を受信すると、識別情報を送信した送信元となるSNS200aに判定結果を送信する。具体的には、判定結果送受信部323は、判定結果を受信すると、判定指示情報の送信元となるSNS200aに判定結果を送信する。例えば、判定結果送受信部323は、「a1」と「r1」との間に関係が結ばれている旨の判定結果をSNS200aに送信する。
【0066】
[SNS200b]
SNS200bは、IDMS300とネットワークを介して接続される。SNS200bは、以下に説明するように、IDMS300から、判定用情報を受信したり、判定指示情報を受信したりする。また、SNS200bは、判定指示情報を受信すると、関係の有無について判定し、判定結果をIDMS300に送信する。
【0067】
図4に示す例では、SNS200bは、SNS記憶部210bと、SNS制御部220bとを有する。SNS記憶部210bは、SNS制御部220bと接続される。SNS記憶部210bは、SNS制御部220bによる各種処理に用いるデータを記憶する。SNS記憶部210bは、例えば、RAMや、フラッシュメモリなどの半導体メモリ素子、リレーショナルデータベースやキーバリューストアなどのミドルウェア、又は、ハードディスクや光ディスクなどの記憶装置が該当する。SNS記憶部210bは、図4に示す例では、関係テーブル211bと、判定用情報テーブル212bとを有する。
【0068】
図7に示すように、関係テーブル211bは、SNS200bにおいて関係が結ばれているユーザの識別情報をユーザごとに記憶する。図7は、実施例1における関係テーブルに記憶された情報の一例を示す図である。図7に示す例では、関係テーブル211bは、識別情報「r2」に対応付けて識別情報「a2」を記憶し、識別情報「r2」に対応付けて識別情報「o2」を記憶する。すなわち、関係テーブル211bは、SNS200bにおいて、ユーザ「r2」とユーザ「a2」との間に関係が結ばれていることを記憶し、ユーザ「r2」とユーザ「o2」との間に関係が結ばれていることを記憶する。また、関係テーブル211bは、同様に、他のユーザについても関係が結ばれているユーザの識別情報を記憶する。
【0069】
関係テーブル211aと関係テーブル211bとの違いについて簡単に説明する。関係テーブル211aは、SNS200aに設けられ、SNS200aにおけるユーザ間の関係を記憶する。一方、関係テーブル211bは、SNS200bに設けられ、SNS200bにおけるユーザ間の関係を記憶する。
【0070】
図8に示すように、判定用情報テーブル212bは、IDMS300から受信した判定用情報を記憶する。図8は、実施例1における判定用情報テーブルに記憶された情報の一例を示す図である。図8に示す例では、判定用情報テーブル212bは、判定用情報と、有効期限とを記憶する。有効期限は、判定用情報が有効な期限を示す。図8に示す例では、判定用情報として、識別情報とマッチングコードとを記憶する場合を示した。判定用情報テーブル212bは、「判定用情報記憶部」とも称する。
【0071】
例えば、判定用情報テーブル212bは、識別情報「a2」とマッチングコード「1a56b872b8cd」と有効期限「2010/3/2 12:55」とを記憶する。すなわち、判定用情報テーブル212bは、識別情報「a2」とマッチングコード「1a56b872b8cd」とを含む判定用情報をSNS200bが受信し、識別情報「a2」とマッチングコード「1a56b872b8cd」とを含む判定用情報が「2010/3/2 12:55」まで有効であることを記憶する。また、判定用情報テーブル212bは、その他の判定用情報についても同様に記憶する。
【0072】
SNS制御部220bは、SNS記憶部210bと接続される。SNS制御部220bは、各種の処理手順などを規定したプログラムを記憶する内部メモリを有し、種々の処理を制御する。SNS制御部220bは、例えば、ASIC、FPGA、CPU、MPUなどの電子回路が該当する。図4に示す例では、SNS制御部220bは、格納部221bと、判定部222bと、判定結果送信部223bとを有する。
【0073】
格納部221bは、判定用情報をIDMS300から受信すると、受信した判定用情報を判定用情報テーブル212bに格納する。例えば、格納部221bは、識別情報「a2」とマッチングコード「1a56b872b8cd」とを含む判定用情報を受信すると、受信した識別情報「a2」とマッチングコード「1a56b872b8cd」とを判定用情報テーブル212bに格納する。また、例えば、格納部221bは、判定用情報を格納するとともに、判定用情報を受信した日時から所定の時間後の日時を有効期限として格納する。例えば、図8に示す例では、有効期限「2010/3/2 12:55」を格納する。ただし、本発明はこれに限定されるものではない。例えば、有効期限は、判定用情報が作成される際に併せて作成され、判定用情報に含まれていても良い。格納部221bによる処理の流れの一例については後述する。
【0074】
判定部222bは、判定指示情報を受信すると、判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を関係記憶部から取得し、判定用情報記憶部に格納された判定用情報に含まれる場合には関係が結ばれていると判定し、含まれない場合には関係が結ばれていないと判定する。
【0075】
例えば、識別情報「r2」とマッチングコード「1a56b872b8cd」とを含む判定指示情報を受信した場合を用いて説明する。この場合、判定部222bは、識別情報「r2」をキーとして関係テーブル211bを検索し、SNS200bにおいて「r2」と関係が結ばれているユーザを示す識別情報「a2」「o2」を取得する。
【0076】
また、例えば、判定部222bは、判定用情報テーブル212bを参照することで、受信した判定指示情報に含まれるマッチングコード「1a56b872b8cd」を含む有効期限内の判定用情報が判定用情報テーブル212bにあるかを判定する。ここで、あると判定した場合には、マッチングコード「1a56b872b8cd」を含む有効期限内の判定用情報を取得し、取得した判定用情報に含まれる識別情報を取得する。図8に示す例では、判定部222bは、識別情報「a2」を取得する。一方、判定部222bは、ないと判定した場合には、関係が結ばれていないと判定する。
【0077】
また、例えば、判定部222bは、関係テーブル211bから取得した識別情報「a2」「o2」に、判定用情報テーブル212bから取得した識別情報「a2」が含まれるかを判定する。そして、含まれていると判定した場合には、関係が結ばれていると判定し、含まれていないと判定した場合には、関係が結ばれていないと判定する。この場合、識別情報「a2」は含まれており、判定部222bは、関係が結ばれていると判定する。
【0078】
判定結果送信部223bは、判定部222bによる判定結果をIDMS300に送信する。例えば、判定結果送信部223bは、関係が結ばれている旨の判定結果をIDMS300に送信する。
【0079】
上述した例では、SNS200bが、判定用情報と判定指示情報との両方を受信した場合を用いて説明した。ただし、SNS200は、判定用情報と判定指示情報との両方をSNS200が受信するとは限らず、判定用情報と判定指示情報とのうちいずれか一方を受信する場合もあり、判定用情報と判定指示情報との両方を受信しない場合もある。
【0080】
識別情報「a1」を含む判定用情報をSNS200aが送信し、識別情報「r1」を含む判定指示情報をSNS200aが送信した場合を用いて説明する。この場合、ユーザ「a0」に対応付けられたSNS200bにおける識別情報を識別情報テーブル311が記憶していなければ、IDMS300が判定用情報をSNS200bに送信することはなく、SNS200bは判定用情報を受信しない。また、同様に、ユーザ「r0」に対応付けられたSNS200bにおける識別情報を識別情報テーブル311が記憶していなければ、IDMS300が判定指示情報をSNS200bに送信することはなく、SNS200bは、判定指示情報を受信しない。
【0081】
このため、以下では、判定用情報と判定指示情報とのうちいずれか一方を受信した場合における判定結果や、判定用情報と判定指示情報との両方を受信しない場合における判定結果についても、簡単に説明する。
【0082】
判定用情報を受信したが判定指示情報を受信しなかった場合には、判定指示情報を受信しておらず、判定部222bはそもそも判定処理自体を行わない。また、判定用情報を受信しなかったが判定用情報を受信した場合には、判定用情報が判定用情報テーブル212bに格納されておらず、判定部222bは関係が結ばれていないと判定する。また、判定用情報及び判定指示情報を受信しなかった場合には、判定指示情報を受信しておらず、判定部222bはそもそも判定処理自体を行わない。
【0083】
[ユーザ管理システムの各部による処理の流れの一例]
ユーザ管理システムの各部による処理の流れの一例について説明する。具体的には、判定部222bによる判定処理の流れと、判定用情報配布部321による処理の流れと、格納部221bによる処理の流れとを順に説明する。
【0084】
[判定部による判定処理の流れ]
図9を用いて、実施例1における判定部222bによる判定処理の流れの一例を示す。図9は、実施例1における判定部による判定処理の流れの一例を示すフローチャートである。以下では、識別情報「r2」とマッチングコード「1a56b872b8cd」とを含む判定指示情報を受信した場合を用いて説明する。
【0085】
図9に示すように、判定部222bは、判定指示情報を受信すると(ステップS201肯定)、判定指示情報の送信元となるIDMS300の認証処理を行う(ステップS202)。具体的には、判定部222bは、送信元となるIDMS300が、受信した判定用情報に含まれる識別情報により識別されるユーザの識別情報を記憶するIDMS300であるかを判定する。ここで、判定部222bは、記憶するIDMS300であると判定した場合には認証成功とし、記憶しないと判定した場合には認証失敗とする。例えば、判定部222bは、識別情報「r2」により識別されるユーザ「r0」の識別情報を記憶するIDMS300aであれば認証成功とし、そうでなければ認証失敗とする。
【0086】
そして、判定部222bは、認証失敗と判定した場合には(ステップS203否定)、そのまま処理を終了する。一方、判定部222bは、認証成功と判定した場合には(ステップS203肯定)、判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を関係記憶部から取得する(ステップS204)。例えば、判定部222bは、識別情報「r2」をキーとして関係テーブル211bを検索し、SNS200bにおいて識別情報「a2」「o2」を取得する。
【0087】
そして、判定用情報テーブルを参照する(ステップS205)。そして、判定部222bは、受信した判定用情報のマッチングコードを含む有効期限内の判定用情報があるかを判定する(ステップS206)。例えば、判定部222bは、マッチングコード「1a56b872b8cd」を含む有効期限内の判定用情報が判定用情報テーブル212bにあるかを判定する。ここで、判定部222bは、判定用情報がないと判定すると(ステップS206否定)、関係が結ばれていないと判定する(ステップ207)。
【0088】
一方、判定部222bは、判定用情報があると判定すると(ステップS206肯定)、マッチングコード「1a56b872b8cd」を含む有効期限内の判定用情報を取得し(ステップS208)、取得した判定用情報の識別情報を取得する(ステップS209)。図8に示す例では、判定部222bは、識別情報「a2」を取得する。
【0089】
そして、判定部222bは、関係テーブルから取得した識別情報に含まれるかを判定する(ステップS210)。例えば、判定部222bは、関係テーブル211bから取得した識別情報が「a2」「o2」であり、判定用情報テーブル212bから取得した識別情報が「a2」である場合には、含まれると判定する(ステップS210肯定)。そして、含まれると判定すると、関係が結ばれていると判定する(ステップS211)。一方、判定部222bは、含まれないと判定すると(ステップS210否定)、関係が結ばれていないと判定する(ステップ207)。
【0090】
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップS204をS209の後に実行しても良い。
【0091】
[判定用情報配布部による処理]
図10を用いて、実施例1における判定用情報配布部321による処理の流れの一例を示す。図10は、実施例1における判定用情報配布部による処理の流れの一例を示すフローチャートである。以下では、判定用情報配布部321が、識別情報「a1」とマッチングコード「1a56b872b8cd」とを含む判定用情報を受信した場合を用いて説明する。
【0092】
図10に示すように、判定用情報配布部321は、判定用情報を受信すると(ステップS301肯定)、判定用情報の送信元となるSNS200の認証処理を行う(ステップS302)。具体的には、判定用情報配布部321は、受信した識別情報により識別されるユーザに対応付けられたSNS名を識別情報テーブル311から取得する。そして、判定用情報配布部321は、判定用情報の送信元となるSNS200が取得したSNS名のいずれかと一致する場合には認証成功とし、いずれかと一致しない場合には認証失敗とする。
【0093】
例えば、判定用情報配布部321は、受信した判定用情報に含まれる識別情報「a1」をキーとして識別情報テーブル311を検索し、ユーザ「a0」を取得する。そして、判定用情報配布部321は、取得したユーザ「a0」に対応付けられたSNS名「SNS200a」「SNS200b」「SNS200c」を取得する。そして、判定用情報配布部321は、判定用情報の送信元となるSNS200を識別し、SNS名「SNS200a」「SNS200b」「SNS200c」のいずれかである場合には認証成功とし、SNS名「SNS200a」「SNS200b」「SNS200c」のいずれでもない場合には認証失敗とする。
【0094】
そして、判定用情報配布部321は、認証が失敗した場合には(ステップS303否定)、処理を終了する。一方、判定用情報配布部321は、認証が成功した場合には(ステップS303肯定)、受信した判定用情報に含まれる識別情報により識別されるユーザを取得する(ステップS304)。例えば、判定用情報配布部321は、識別情報「a1」をキーとして識別情報テーブル311を検索し、ユーザ「a0」を取得する。
【0095】
そして、判定用情報配布部321は、取得したユーザに対応付けられた識別情報とSNS名との対応付けを識別情報テーブル311から取得する(ステップS305)。図6に示す例では、判定用情報配布部321は、識別情報「a1」SNS名「SNS200a」を取得し、識別情報「a2」SNS名「SNS200b」を取得し、識別情報「a3」SNS名「SNS200c」を取得する。
【0096】
そして、判定用情報配布部321は、判定用情報の送信元となるSNS200以外のSNS200に対して、判定用情報を送信する(ステップS306)。例えば、判定用情報配布部321は、受信した判定用情報に含まれる識別情報を「a1」から識別情報「a2」に更新し、識別情報「a2」が用いられるSNS200bに送信する。また、判定用情報配布部321は、受信した判定用情報に含まれる識別情報を「a1」から「a3」に更新し、識別情報「a3」が用いられるSNS200cに送信する。
【0097】
ここで、判定用情報配布部321は、送信が成功したか否かをログとして記憶しておき、送信が失敗した送信先に対しては、所定の時間後にリトライを実行することで、判定用情報の送信元となるSNS200以外のSNS200すべてに対して判定用情報を送信する。ただし、本発明は、送信が失敗した送信先にリトライを実行する場合に限定されるものではない。例えば、送信が失敗した場合に、判定用情報配布部321は、リトライを実行することなく、判定用情報の送信元となるSNS200に送信エラーを返す形で処理を終了してもよい。例えば、判定用情報配布部321は、判定用情報の送信元となるSNS200に対して、送信が失敗した送信先についてエラーが発生した旨の情報を送信して処理を終了しても良い。
【0098】
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、図10に示す例では、認証を行う場合を例に示したが、本発明はこれに限定されるものではなく、認証を実行しなくても良い。また、図10に示す例では、判定用情報の送信元となるSNS200に対して判定用情報を送信しない場合を例に示したが、本発明はこれに限定されるものではなく、定用情報の送信元となるSNS200に対して送信しても良い。
【0099】
[格納部による処理]
図11を用いて、実施例1における格納部221bによる処理の流れの一例について示す。図11は、実施例1における格納部による処理の流れの一例について示すフローチャートである。以下では、判定用情報配布部321が、識別情報「a1」とマッチングコード「1a56b872b8cd」とを含む判定用情報を受信した場合を用いて説明する。
【0100】
図11に示すように、IDMS300から判定用情報を受信すると(ステップS401肯定)、判定用情報の送信元となるIDMS300の認証処理を行う(ステップS402)。
【0101】
具体的には、格納部221bは、送信元となるIDMS300が、受信した判定用情報に含まれる識別情報により識別されるユーザの識別情報を記憶するかを判定する。ここで、格納部221bは、記憶すると判定した場合には認証成功とし、記憶しないと判定した場合には認証失敗とする。例えば、識別情報「a1」により識別されるユーザ「a0」の識別情報を記憶するIDMS300であれば認証成功とし、そうでなければ認証失敗とする。
【0102】
そして、格納部221bは、認証が失敗した場合には(ステップS403否定)、そのまま処理を終了する。一方、格納部221bは、認証成功である場合には(ステップS403肯定)、受信した判定用情報を判定用情報テーブル212bに格納し(ステップS404)、有効期限を追加する(ステップS405)。例えば、格納部221bは、識別情報「a1」とマッチングコード「1a56b872b8cd」とを判定用情報テーブル212bに格納し、図8に示す例では、有効期限「2010/3/2 12:55」を格納する。
【0103】
なお、上記の処理手順は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲で適宜変更しても良い。例えば、上記のステップS404をS405の後に実行しても良い。
【0104】
[実施例1の効果]
上述したように、実施例1によれば、SNS200は、関係の有無が判定されるユーザのペアについて、ペアに含まれるユーザの識別情報各々をIDMS300に送信する。そして、IDMS300は、SNS200により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を識別情報テーブル311から取得する。そして、IDMS300は、ペアに含まれるユーザの識別情報のうち一方の識別情報について取得した識別情報が用いられるSNS200に対して、取得した識別情報を含む判定用情報を送信する。また、IDMS300は、ペアに含まれるユーザの識別情報のうち他方の識別情報について取得した識別情報が用いられるSNS200に対して、取得した識別情報についての判定指示情報を送信する。そして、IDMS300により送信された判定用情報を受信した別のSNS200は、判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を関係テーブル211bから取得し、判定用情報テーブル212bに格納された判定用情報に含まれる場合に関係が結ばれていると判定し、含まれない場合に関係が結ばれていないと判定する。そして、別のSNS200は、判定結果をIDMS300に送信する。そして、IDMS300は、SNS200により送信された判定結果を受信すると、識別情報の送信元となるSNS200に判定結果を送信する。この結果、セキュリティを向上可能である。
【0105】
具体的には、実施例1によれば、SNS200とIDMS300間において送受信される情報は、判定用情報や判定指示情報、判定結果であり、関係リストや参加SNSリストは送受信されない。この結果、関係リストやSNS参加リストを送受信することになる手法と比較して、SNS200とIDMS30との間において送受信される情報やSNS200間において送受信される情報を抑えることができ、別のSNS200における関係の有無を判定する際のセキュリティを向上可能である。
【0106】
また、実施例2によれば、IDMS300は複数あり、複数あるIDMS300各々は異なるユーザについての識別情報を識別情報テーブル311に記憶する。また、SNS200aは、ペアに含まれるユーザのうち一方のユーザについて、一方のユーザの識別情報を含む判定用情報を生成し、一方のユーザの識別情報を識別情報テーブル311に記憶するIDMS300に送信する。また、SNS200aは、ペアに含まれるユーザのうち他方のユーザについて、他方のユーザの識別情報についての判定指示情報を生成し、他方のユーザの識別情報を識別情報テーブル311に記憶するIDMS300に送信する。また、IDMS300は、識別情報を含む判定用情報又は識別情報を含む判定指示情報を受信すると、識別情報テーブル311から識別情報を取得し、判定用情報を受信した場合には、判定用情報に含まれる識別情報を取得した識別情報に更新した上で送信し、判定指示情報を受信した場合には、判定指示情報に含まれる識別情報を取得した識別情報に更新した上で送信する。また、IDMS300は、判定用情報及び判定指示情報の送信元となるSNS200に判定結果を送信する。この結果、別のSNS200における関係の有無を判定する際のセキュリティを向上可能である。
【0107】
また、実施例2によれば、判定用情報は、判定用情報を他の判定用情報から一意に識別するマッチングコードと識別情報とを含み、判定指示情報は、マッチングコードと識別情報とを含む。また、IDMS300は、判定指示情報を受信すると、判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報が、判定指示情報に含まれるマッチングコードを含み判定用情報テーブル212bに格納された判定用情報に含まれているかを判定する。この結果、判定用情報が複数格納されていたとしても、判定に用いられる判定用情報を特定でき、セキュリティを向上しながら別のSNS200における関係の有無を判定可能である。また、この結果、関係の有無の判定が同時期に複数行うことが可能である。
【実施例2】
【0108】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例を示す。
【0109】
[SNS]
上述した実施例では、アクセス要求を受信するSNS200aと、IDMS300から判定用情報や判定指示情報とを受信するSNS200bとを区別して説明したが、本発明はこれに限定されるものではない。具体的には、SNSは、SNS200aが有する機能とSNS200bが有する機能の両方を有しても良い。例えば、図4に示す例では、SNS200aは、SNS200bの機能を更に有しても良く、SNS200bは、SNS200aの機能を更に有しても良い。
【0110】
[判定用情報や判定指示情報の生成元]
例えば、上述した実施例では、SNS200aが判定用情報又は判定指示情報を生成して送信する場合を用いて説明した。ただし、本発明はこれに限定されるものではない。例えば、IDMS300が判定用情報や判定指示情報を生成して送信しても良い。例えば、関係の有無を判定する対象となるペアに含まれるユーザの双方について、同じIDMS300が識別情報を記憶する場合に、IDMS300が判定用情報や判定指示情報を生成して送信するようにしても良い。
【0111】
具体的には、SNS200aは、判定用情報や判定指示情報をIDMS300に送信するのではなく、関係の有無を判定する対象となるペアに含まれるユーザの識別情報各々を同じIDMS300に送信する。そして、IDMS300は、ペアの識別情報各々を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を受信した識別情報ごとに取得する。そして、IDMS300は、受信した識別情報各々のうち一方の識別情報について取得した識別情報について、取得した識別情報を含む判定用情報を生成して送信する。また、IDMS300は、受信した識別情報各々のうち他方の識別情報について取得した識別情報について、取得した識別情報についての判定指示情報を生成して送信する。この結果、例えば、SNS200aによる処理量を軽減でき、SNS200aにおける処理負荷を軽減することが可能である。
【0112】
[判定指示情報の送信手法]
また、例えば、上述した実施例では、判定指示情報配布部322が、判定指示情報の送信元となるSNS以外のSNSすべてに対して送信する場合について説明したが、本発明はこれに限定されるものではない。例えば、判定指示情報配布部322は、判定指示情報を送信するごとに、送信先となったSNS200からの判定結果を受信するのを待ち、関係が結ばれている旨の判定結果が得られた場合には、次の判定指示情報を送信することなく判定処理を終了しても良い。一方、例えば、判定指示情報配布部322は、関係が結ばれていない旨の判定結果が得られた場合には、次の判定指示情報を送信しても良い。
【0113】
[システム構成]
また、本実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。また、例えば、SNS200aは、アクセス要求を受信すると自動的に一連の処理を実行する場合を例に示したが、本発明はこれに限定されるものではなく、例えば、ユーザが手動にて設定したタイミングにて一連の処理を実行しても良い。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については(図1〜図11)、特記する場合を除いて任意に変更して良い。
【0114】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、図1に示す例を用いて説明すると、SNS200aは、クライアント端末100からアクセス要求を受信する場合を例に示したが、本発明はこれに限定されるものではなく、ユーザから直接アクセス要求を受け付けても良い。また、例えば、IDMS記憶部310をIDMS300の外部装置としてネットワーク経由で接続するようにしても良い。
【0115】
[その他]
また、ユーザ管理システムの各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現される。あるいは、ワイヤードロジックによるハードウェアとして実現され得る。言い換えると、ユーザ管理システムの各装置にて行われる各処理機能は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することで実現しても良い。
【0116】
また、上述した実施例にて説明した出力方法は、ユーザ管理プログラムによる情報処理がコンピュータを用いて具体的に実現されることで実行されても良い。コンピュータは、例えば、CPUと、システムメモリと、ディスクドライブインターフェイスと、シリアルポートインターフェイスと、ビデオアダプタと、ネットワークインターフェイスとを有する。また、コンピュータは、各部がシステムバスにより接続される。システムメモリは、ROMやRAMを有する。ROMは、例えば、BIOS(Basic Input Output System)などのブートプログラムを記憶する。ハードディスクインターフェイスは、HDDと接続される。ディスクドライブインターフェイスは、ディスクドライブと接続される。ディスクドライブには、例えば、磁気ディスクや光ディスクなどの着脱可能な記憶媒体が挿入される。シリアルポートインターフェイスは、例えば、マウスやキーボードと接続される。ビデオアダプタは、例えば、ディスプレイと接続される。
【0117】
HDDは、例えば、OS(Operating System)、アプリケーションプログラム、プログラムモジュール、プログラムデータなどを記憶する。すなわち、開示の技術に係る出力プログラムは、コンピュータによって実行される指令が記述されたプログラムモジュールとして、例えば、HDDに記憶される。図1を例に説明すると、関係判定部221aと同様の処理を実行する手順と、マッチングコード生成部222aと同様の処理を実行する手順と、判定用情報送信部223aと同様の処理を実行する手順と、判定指示情報送信部224aと同様の処理を実行する手順と、判定結果受信部225aと同様の処理を実行する手順と、格納部221bと同様の処理を実行する手順と、判定部222bと同様の処理を実行する手順と、判定結果送信部223bと同様の処理を実行する手順と、判定用情報配布部321と同様の処理を実行する手順と、判定指示情報配布部322と同様の処理を実行する手順と、判定結果送受信部333と同様の処理を実行する手順とがHDDに記憶される。ただし、これらの手順すべてがHDDに記憶される場合に限定されるものではない。
【0118】
また、上述した実施例で説明した関係テーブル211aや関係テーブル211bに記憶されるデータ及び識別情報テーブル311に記憶されるデータのように、ユーザ管理プログラムによる処理に用いられるデータは、プログラムデータとして、例えば、HDDに記憶される。そして、CPUは、HDDに記憶されたプログラムモジュールやプログラムデータを適宜RAMに読み出し、上述した手順を実行する。
【0119】
なお、ユーザ管理プログラムに係るプログラムモジュールやプログラムデータは、HDDに記憶される場合に限定されるものではない。例えば、プログラムモジュールやプログラムデータは、着脱可能な記憶媒体に記憶され、ディスクドライブなどを介してCPUによって読み出されても良い。また、例えば、プログラムモジュールやプログラムデータは、ネットワーク(LAN(Local Area Network)やWAN(Wide Area Network)など)を介して接続された他のコンピュータに記憶され、ネットワークインターフェイスを介してCPUによって読み出されても良い。
【符号の説明】
【0120】
10 インターネット
100 クライアント端末
200 SNSサーバ
210a SNS記憶部
211a 関係テーブル
220a SNS制御部
221a 関係判定部
222a マッチングコード生成部
223a 判定用情報送信部
224a 判定指示情報送信部
225a 判定結果受信部
210b SNS記憶部
211b 関係テーブル
212b 判定用情報テーブル
220b SNS制御部
221b 格納部
222b 判定部
223b 判定結果送信部
310 IDMS記憶部
311 識別情報テーブル
320 IDMS制御部
321 判定用情報配布部
322 判定指示情報配布部
323 判定結果送受信部

【特許請求の範囲】
【請求項1】
ユーザごとに当該ユーザと関係が結ばれているユーザの識別情報を記憶する関係記憶部を有するサーバであって複数ある当該サーバがそれぞれ異なる識別情報を用いてユーザを識別する第一のサーバと、複数ある前記第一のサーバにより用いられる異なる識別情報を前記ユーザごとに記憶する識別情報記憶部を有する第二のサーバとを備えるユーザ管理システムであって、
前記第一のサーバは、関係の有無が判定されるユーザのペアについて、当該ペアに含まれるユーザの識別情報各々を前記第二のサーバに送信する第一の送信部を有し、
前記第二のサーバは、
前記第一の送信部により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得する取得部と、
前記ペアに含まれるユーザの識別情報のうち一方の識別情報について前記取得部により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報を含む前記判定に用いられる判定用情報を送信し、前記ペアに含まれるユーザの識別情報のうち他方の識別情報について前記取得部により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報について前記判定を実行する旨の指示である判定指示情報を送信する第二の送信部と、
前記第一のサーバは、
前記第二の送信部により送信された判定用情報を受信すると、当該判定用情報を判定用情報記憶部に格納する格納部と、
前記第二の送信部により送信された判定指示情報を受信すると、当該判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を前記関係記憶部から取得し、前記判定用情報記憶部に格納された判定用情報に含まれる場合に関係が結ばれていると判定し、含まれない場合に関係が結ばれていないと判定する判定部と、
前記判定部による判定結果を前記第二のサーバに送信する第三の送信部とを有し、
前記第二のサーバは、前記第三の送信部により送信された判定結果を受信すると、前記第一の送信部が識別情報を送信した送信元となる前記第一のサーバに当該判定結果を送信する第四の送信部を有することを特徴とするユーザ管理システム。
【請求項2】
前記取得部は、前記ペアの識別情報各々を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を受信した識別情報ごとに取得し、
前記第二の送信部は、前記取得部が受信した識別情報各々のうち一方の識別情報について前記取得部により取得された識別情報について、取得された識別情報を含む前記判定用情報を生成して送信し、前記取得部が受信した識別情報各々のうち他方の識別情報について前記取得部により取得された識別情報について、取得された識別情報についての前記判定指示情報を生成して送信することを特徴とする請求項1に記載のユーザ管理システム。
【請求項3】
前記第二のサーバは複数あり、複数ある第二のサーバ各々は異なるユーザについての識別情報を前記識別情報記憶部に記憶し、
前記第一の送信部は、前記ペアに含まれるユーザのうち一方のユーザについて、当該一方のユーザの識別情報を含む前記判定用情報を生成し、当該一方のユーザの識別情報を前記識別情報記憶部に記憶する第二のサーバに送信し、前記ペアに含まれるユーザのうち他方のユーザについて、当該他方のユーザの識別情報についての前記判定指示情報を生成し、当該他方のユーザの識別情報を前記識別情報記憶部に記憶する第二のサーバに送信し、
前記取得部は、前記識別情報を含む前記判定用情報又は前記識別情報を含む前記判定指示情報を受信すると、前記識別情報記憶部から識別情報を取得し、
前記第二の送信部は、前記取得部が前記判定用情報を受信した場合には、当該判定用情報に含まれる識別情報を当該取得部により取得された識別情報に更新した上で送信し、前記取得部が前記判定指示情報を受信した場合には、当該判定指示情報に含まれる識別情報を当該取得部により取得された識別情報に更新した上で送信し、
前記第四の送信部は、前記判定用情報及び前記判定指示情報の送信元となる前記第一のサーバに前記判定結果を送信することを特徴とする請求項1に記載のユーザ管理システム。
【請求項4】
前記判定用情報は、当該判定用情報を他の判定用情報から一意に識別する判定用情報識別情報と前記識別情報とを含み、前記判定指示情報は、当該判定用情報識別情報と前記識別情報とを含むものであって、
前記判定部は、前記判定指示情報を受信すると、当該判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報が、当該判定指示情報に含まれる前記判定用情報識別情報を含み前記判定用情報記憶部に格納された判定用情報に含まれているかを判定することを特徴とする請求項2又は3に記載のユーザ管理システム。
【請求項5】
ユーザごとに当該ユーザと関係が結ばれているユーザの識別情報を記憶する関係記憶部を有するサーバであって複数ある当該サーバがそれぞれ異なる識別情報を用いてユーザを識別する第一のサーバであって、
複数ある前記第一のサーバにより用いられる異なる識別情報を前記ユーザごとに記憶する識別情報記憶部を有する第二のサーバに対して、関係の有無が判定されるユーザのペアについて、当該ペアに含まれるユーザの識別情報各々を送信する第一の送信部と、
前記第一の送信部により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得し、前記ペアに含まれるユーザの識別情報のうち一方の識別情報について取得した識別情報を含む前記判定に用いられる判定用情報を送信する前記第二のサーバから、当該判定用情報を受信すると、当該判定用情報を判定用情報記憶部に格納する格納部と、
前記第一の送信部により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得し、前記ペアに含まれるユーザの識別情報のうち他方の識別情報について取得した識別情報について前記判定を実行する旨の指示である判定指示情報を送信する前記第二のサーバから、判定指示情報を受信すると、当該判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を前記関係記憶部から取得し、前記判定用情報記憶部に格納された判定用情報に含まれる場合に関係が結ばれていると判定し、含まれない場合に関係が結ばれていないと判定する判定部と
を備えたことを特徴とする第一のサーバ。
【請求項6】
ユーザごとに当該ユーザと関係が結ばれているユーザの識別情報を記憶する関係記憶部を有するサーバであって複数ある当該サーバがそれぞれ異なる識別情報を用いてユーザを識別する第一のサーバに用いられる異なる識別情報を前記ユーザごとに記憶する識別情報記憶部を有する第二のサーバであって、
前記第一のサーバにより送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得する取得部と、
前記ペアに含まれるユーザの識別情報のうち一方の識別情報について前記取得部により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報を含む前記判定に用いられる判定用情報を送信し、前記ペアに含まれるユーザの識別情報のうち他方の識別情報について前記取得部により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報について前記判定を実行する旨の指示である判定指示情報を送信する第二の送信部と、
前記第一のサーバから関係の有無についての判定結果を受信すると、前記第一の送信部が識別情報を送信した送信元となる前記第一のサーバに当該判定結果を送信する第四の送信部と
を有することを特徴とするユーザ管理システム。
【請求項7】
ユーザごとに当該ユーザと関係が結ばれているユーザの識別情報を記憶する関係記憶部を有するサーバであって複数ある当該サーバがそれぞれ異なる識別情報を用いてユーザを識別する第一のサーバと、複数ある前記第一のサーバにより用いられる異なる識別情報を前記ユーザごとに記憶する識別情報記憶部を有する第二のサーバとを備えるユーザ管理システムの制御方法であって、
前記第一のサーバは、
関係の有無が判定されるユーザのペアについて、当該ペアに含まれるユーザの識別情報各々を前記第二のサーバに送信する第一の送信工程を含み、
前記第二のサーバは、
前記第一の送信工程により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得する取得工程と、
前記ペアに含まれるユーザの識別情報のうち一方の識別情報について前記取得工程により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報を含む前記判定に用いられる判定用情報を送信し、前記ペアに含まれるユーザの識別情報のうち他方の識別情報について前記取得工程により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報について前記判定を実行する旨の指示である判定指示情報を送信する第二の送信工程とを含み、
前記第一のサーバは、
前記第二の送信工程により送信された判定用情報を受信すると、当該判定用情報を判定用情報記憶部に格納する格納工程と、
前記第二の送信工程により送信された判定指示情報を受信すると、当該判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を前記関係記憶部から取得し、前記判定用情報記憶部に格納された判定用情報に含まれる場合に関係が結ばれていると判定し、含まれない場合に関係が結ばれていないと判定する判定工程と、
前記判定工程による判定結果を前記第二のサーバに送信する第三の送信工程とを含み、
前記第二のサーバは、前記第三の送信工程により送信された判定結果を受信すると、前記第一の送信工程が識別情報を送信した送信元となる前記第一のサーバに当該判定結果を送信する第四の送信工程を含むことを特徴とする制御方法。
【請求項8】
ユーザごとに当該ユーザと関係が結ばれているユーザの識別情報を記憶する関係記憶部を有するサーバであって複数ある当該サーバがそれぞれ異なる識別情報を用いてユーザを識別する第一のサーバと、複数ある前記第一のサーバにより用いられる異なる識別情報を前記ユーザごとに記憶する識別情報記憶部を有する第二のサーバとを備えるユーザ管理システムを制御する制御プログラムであって、
前記第一のサーバは、
関係の有無が判定されるユーザのペアについて、当該ペアに含まれるユーザの識別情報各々を前記第二のサーバに送信する第一の送信手順を実行し、
前記第二のサーバは、
前記第一の送信手順により送信された識別情報を受信すると、受信した識別情報により識別されるユーザに対応付けられた識別情報を前記識別情報記憶部から取得する取得手順と、
前記ペアに含まれるユーザの識別情報のうち一方の識別情報について前記取得手順により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報を含む前記判定に用いられる判定用情報を送信し、前記ペアに含まれるユーザの識別情報のうち他方の識別情報について前記取得手順により取得された識別情報が用いられる前記第一のサーバに対して、取得された識別情報について前記判定を実行する旨の指示である判定指示情報を送信する第二の送信手順とを実行し、
前記第一のサーバは、
前記第二の送信手順により送信された判定用情報を受信すると、当該判定用情報を判定用情報記憶部に格納する格納手順と、
前記第二の送信手順により送信された判定指示情報を受信すると、当該判定指示情報に含まれる識別情報により識別されるユーザと関係が結ばれているユーザの識別情報を前記関係記憶部から取得し、前記判定用情報記憶部に格納された判定用情報に含まれる場合に関係が結ばれていると判定し、含まれない場合に関係が結ばれていないと判定する判定手順と、
前記判定手順による判定結果を前記第二のサーバに送信する第三の送信手順とを実行し、
前記第二のサーバは、前記第三の送信手順により送信された判定結果を受信すると、前記第一の送信手順が識別情報を送信した送信元となる前記第一のサーバに当該判定結果を送信する第四の送信手順を実行することを特徴とする制御プログラム。

【図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

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−257961(P2011−257961A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−131479(P2010−131479)
【出願日】平成22年6月8日(2010.6.8)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(899000068)学校法人早稲田大学 (602)
【Fターム(参考)】