(57)【要約】【課題】トラフィック量を少なくし、誤ることなくユーザ装置に対して認可を行う。【解決手段】ユーザ装置が第１サーバ装置にアクセス要求をし、第１サーバ装置が、アクセス要求されると、第１判定処理として当該ユーザ識別情報と第２ユーザ縮約情報とを判定フィルタにかけ、結果が陽であると、当該第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とし、第１サーバ装置が、決定後第２サーバ装置に対して、問い合わせ情報を送信し、第２サーバ装置が問い合わせ情報を受信すると、第２リストにユーザ識別情報が示されているか否かを検索し、結果を第１サーバ装置に送信する。【選択図】図２
2010166344.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ装置が、ユーザがアクセスを所望する第１ユーザ（以下、「所望第１ユーザ」という。）に対応する第１サーバ装置にユーザ識別情報とアクセス要求情報を送信するアクセス要求過程と、
前記第１サーバ装置が、前記アクセス要求情報を受信すると、第１判定処理として、当該ユーザ識別情報と前記所望第１ユーザの第１リストに含まれる第２ユーザ縮約情報とを判定フィルタにかけ、結果が陽である第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とする絞込み過程と、
前記第１サーバ装置が、前記決定後第２サーバ装置に対して、問い合わせ情報を送信する問い合わせ過程と、
前記決定後第２サーバ装置が、前記問い合わせ情報を受信すると、第２リストに前記ユーザ識別情報が示されているか否かを検索し、検索結果情報を前記第１サーバ装置に送信する検索過程と、
前記第１サーバ装置が、前記検索結果情報を用いて、前記アクセスの要求に対して認可判断をする認可過程と、を有する認可方法。
【請求項２】
請求項１記載の認可方法であって、
前記第２ユーザ縮約情報には有効期限が対応付けられており、
前記絞込み過程は、前記第１サーバ装置が、第２判定処理として、前記有効期限が経過している第２ユーザ縮約情報を陽と判定し、前記第１判定処理または前記第２判定処理のいずれかの結果が陽である第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とする過程であることを特徴とする認可方法。
【請求項３】
請求項１または２記載の認可方法であって、
前記アクセス要求過程は、ユーザ装置が、第１サーバ装置にユーザ縮約情報も送信する過程であり、
前記絞込み過程は、
前記第１サーバ装置は、第１判定処理として当該ユーザ識別情報と第２ユーザ縮約情報とを判定フィルタにかけるのではなく、前記ユーザ縮約情報と前記所望第１ユーザの第１リストに含まれる第２ユーザ識別情報とを判定フィルタにかけ、結果が陽である第２ユーザ識別情報に対応する第２サーバ装置を決定後第２サーバ装置とする過程であることを特徴とする認可方法。
【請求項４】
請求項１〜３何れかに記載の認可方法であって、
前記判定フィルタはブルームフィルタであることを特徴とする認可方法。
【請求項５】
ユーザがアクセスを所望する第１ユーザ（以下、「所望第１ユーザ」という。）に対応する第１サーバ装置に、ユーザ識別情報とアクセス要求情報を送信する送受信部を、
有するユーザ装置と、
第２ユーザ識別情報と第２ユーザ縮約情報と第２サーバ装置の宛先を対応付けた第１リストが記憶される記憶部と、
第１判定処理として、ユーザ装置から受信したユーザ識別情報と前記所望第１ユーザの第１リストに含まれる第２ユーザ縮約情報とを判定フィルタにかけ、結果が陽である第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とする絞込み部と、
前記決定後第２サーバ装置に対して、問い合わせ情報を送信する問い合わせ部と、
前記決定後第２サーバ装置から受信した検索結果情報を用いて、前記アクセスの要求に対して認可判断をする認可部と、
を有する第１サーバ装置と、
ユーザ識別情報を含む第２リストが記憶される記憶部と、
前記第２リストに前記ユーザ識別情報が示されているか否かを検索し、検索結果情報を前記第１サーバ装置に送信する検索部と、
を有する第２サーバ装置と、を具備する認可システム。
【請求項６】
請求項５記載の認可システムであって、
前記第１リストは、第２ユーザ縮約情報と有効期限が対応付けられているものであり、
前記絞込み部は、第２判定処理として、前記有効期限が経過している第２ユーザ縮約情報を陽と判定し、前記第１判定処理または前記第２判定処理のいずれかの結果が陽である第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とすることを特徴とする認可システム。
【請求項７】
請求項５または６記載の認可システムであって、
前記送受信部は、ユーザ縮約情報も第１サーバ装置に送信し、
前記絞り込み部は、第１判定処理として前記ユーザ識別情報と前記第２ユーザ縮約情報とを判定フィルタにかけるのではなく、前記ユーザ縮約情報と前記所望第１ユーザの第１リストに含まれる第２ユーザ識別情報とを判定フィルタにかけ、結果が陽である第２ユーザ識別情報に対応する第２サーバ装置を決定後第２サーバ装置とする認可システム。
【請求項８】
請求項５〜７記載の認可システムであって、
前記判定フィルタはブルームフィルタであることを特徴とする認可システム。
【請求項９】
ユーザ装置からアクセス要求情報とユーザ識別情報を受信する送受信部と、
第２ユーザ識別情報と第２ユーザ縮約情報と第２サーバ装置の宛先とを対応付けた第１リストが記憶される記憶部と、
第１判定処理として、ユーザ装置から受信したユーザ識別情報とユーザがアクセスを所望する第１ユーザ（以下、「所望第１ユーザ」という。）の第１リストに含まれる第２ユーザ縮約情報とを判定フィルタにかけ、結果が陽である第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とする絞込み部と、
前記決定後第２サーバ装置に対して、問い合わせ情報を送信する問い合わせ部と、
前記決定後第２サーバ装置から受信した前記問い合わせ情報に対する検索結果情報を用いて、前記アクセスの要求に対して認可判断をする認可部と、
を有する第１サーバ装置。
【請求項１０】
請求項９記載の第１サーバ装置であって、
前記第１リストは、第２ユーザ縮約情報と有効期限が対応付けられているものであり、
前記絞込み部は、第２判定処理として、前記有効期限が経過している第２ユーザ縮約情報を陽と判定し、前記第１判定処理または前記第２判定処理のいずれかの結果が陽である第２サーバ装置を決定後第２サーバ装置とすることを特徴とする第１サーバ装置。
【請求項１１】
請求項９または１０記載の第１サーバ装置であって、
前記送受信部は、ユーザ装置からユーザ縮約情報も受信し、
前記絞込み部は、第１判定処理として前記ユーザ識別情報と前記第２ユーザ縮約情報とを判定フィルタにかけるのではなく、前記ユーザ縮約情報と前記所望第１ユーザの第１リストに含まれる第２ユーザ識別情報とを判定フィルタにかけ、結果が陽である第２ユーザ識別情報に対応する第２サーバ装置を決定後第２サーバ装置とすることを特徴とする第１サーバ装置。
【請求項１２】
請求項９〜１１何れかに記載の第１サーバ装置であって、
前記判定フィルタはブルームフィルタであることを特徴とする第１サーバ装置。
【請求項１３】
請求項９〜１２何れかに記載の第１サーバ装置としてコンピュータを動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユーザ装置のアクセス要求を許可するか否かを判定する認可方法、認可システム、第１サーバ装置、プログラムに関する。
【背景技術】
【０００２】
以下で使用する記号を下記のように定義する。
・ユーザａ・・・ユーザ装置１００を利用し、ユーザ装置１００で第１サーバ装置２００に対してアクセス要求するユーザ
・ユーザ識別情報α・・・ユーザａの識別情報（例えばＩＤ、以下同じ）
・第１ユーザｒ・・・ユーザａからアクセス要求されているユーザ（第１サーバ装置２００と対応する（を利用している）ユーザ）
・第１リストＸ（ｒ）・・・ユーザｒが保持する第１リスト（第１サーバ装置２００に格納されている）
・第２ユーザｆｎ・・・第１リストに示されているＮ人の第２ユーザ（ｎ＝１、．．．、Ｎ）（第２サーバ装置３００ｎと対応する（を利用している）ユーザ）
・第２ユーザ識別情報βｎ・・・第２ユーザｆｎの識別情報
・第２リストＹ（ｆｎ）・・・第２ユーザｆｎが保持する第２リスト（第２サーバ装置３００ｎに格納されている）
図１に、この発明で用いるＦＯＡＦ（ｆｒｉｅｎｄ  ｏｆ  ａ  ｆｒｉｅｎｄ）の概念図を示す。例えば、第１ユーザｒが第１サーバ装置２００を利用して、ブログやスケジュラーなどを行っている場合に、ユーザａが第１ユーザｒにアクセスを所望している場合を考える。以下では、第１ユーザｒが第１サーバ装置２００を利用していることを、「第１ユーザｒと第１サーバ装置２００と対応している」といい、第２ユーザｆｎが第２サーバ装置３００ｎを利用していることを「第２ユーザｆｎと第２サーバ装置３００ｎと対応している」という。
【０００３】
この場合に、ユーザａがユーザ装置１００を用いて、第１ユーザｒに対応する第１サーバ装置にアクセス要求をするのであるが、アクセスする場合に、スパム書き込み、プライバシー侵害などの迷惑行為を防止するための適切な認可（例えば、アクセス許可）を第１ユーザｒは第１サーバ装置２００を用いて行う必要がある。そのため、図１に示すように、第１ユーザｒはホワイトリストである第１リストＸ（ｒ）を持っており、第１サーバ装置２００に格納させている。ホワイトリストとは、第１ユーザｒが認可をしてもよいＮ人のユーザの識別情報が示されており、ＲＤＢＭＳ（Relational DataBase Management System）を用いれば良い。なお、第１ユーザｒの他に、第１サーバ装置２００を利用しているユーザがＷ−１人いる場合には、Ｗ人のユーザ（第１ユーザｒも含む）ごとの第１リストが第１サーバ装置２００に格納されることになる。
【０００４】
ここで、装置Ｔ、装置Ｔのユーザ（利用者）ｔ、装置Ｕ、装置Ｕのユーザ（利用者）ｕを考えると、ユーザｔがユーザｕに対して、認可している場合には、ユーザｔとユーザｕは「友達である」と定義する。
【０００５】
第１リストＸ（ｒ）に登録されていないユーザａから第１ユーザｒに対してアクセス要求があり、かつ、第１ユーザｒがユーザａに対して認可していない場合に、認可判断の一手法として、ユーザａと、第１ユーザｒとの関係がＦＯＡＦ（友達の友達）であるか否かを判定する手法がある。
【０００６】
また、図１に示すように、第２ユーザｆｎは、第２ユーザｆｎが認可しているユーザの識別情報が示されている第２リストＹ（ｆｎ）（ホワイトリスト）を保持し、第２サーバ装置３００ｎに格納させている。なお、第２ユーザｆｎの他に、第２サーバ装置３００ｎを利用しているユーザがＶ−１人いる場合には、Ｖ人のユーザ（第２ユーザｆｎも含む）ごとの第２リストが第２サーバ装置３００ｎに格納されていることになる。
【０００７】
ここで、第１サーバ装置２００が保有する第１リストＸ（ｒ）にユーザ識別情報αが示されていない場合を考える。この場合に第１リストＸ（ｒ）に示されている識別情報を第２ユーザ識別情報βｎとすると、第２ユーザ識別情報βｎと対応する第２ユーザｆｎのいずれかが保有している第２リストＹ（ｆｎ）に、ユーザ識別情報αが示されている場合には、第１ユーザｒ（第１サーバ装置２００）は、ユーザａ（ユーザ装置１００）に対して、ＦＯＡＦ（友達の友達）の関係であるとして、認可する。なぜなら、ユーザａと第１ユーザｒとが直接、友達でなくても（第１リストＸ（ｒ）にユーザ識別情報αが示されていない場合であっても）、第１ユーザｒと第２ユーザｆｎとが友達であり（第１リストＸ（ｒ）に第２ユーザ識別情報βｎが示されており）、ユーザａと第２ユーザｆｎとが友達であれば（第２リストＹ（ｆｎ）にユーザ識別情報αが示されていれば）、ユーザ装置１００と第１サーバ装置２００とは「友達の友達」であり、ユーザ装置１００と第１サーバ装置２００とは「友達」であるとしてよいからである。
【０００８】
従来の認可手法として、ユーザ装置１００が、第１サーバ装置２００にアクセス要求をした際に、第１サーバ装置２００は、ユーザ装置１００のユーザ識別情報αを取得する。そして、第１サーバ装置２００が第１リストＸ（ｒ）にユーザ識別情報αが示されていないことを確認すると、第１サーバ装置２００は、第１リストＸ（ｒ）に示されている第２ユーザｆｎが利用している全ての第２サーバ装置３００ｎ（ｎ＝１、．．．、Ｎ）に対して、それぞれが保持する第２リストＹ（ｆｎ）にユーザ識別情報αが示されているか否かを問い合わせていた。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の認可手法では、ユーザ装置１００のアクセス要求ごとに、第１サーバ装置２００が第１リストＸ（ｒ）に示されている第２ユーザｆｎが利用している全ての第２サーバ装置３００ｎに対する問い合わせを行わなければならない。第１リストに示されている第２ユーザｆｎの数が多くなると、サーバ負荷、トラフィック量の増加につながる。また、典型的なスパムトラフィックはコンピュータプログラムで自動生成されるので、アクセス要求毎に問い合わせが発生する方式の導入は現実的に困難である。
【００１０】
ところで、ブルームフィルタというフィルタが存在する。ブルームフィルタの詳細については、「Ｊｏｓｈｕａ Ｓｃｈａｃｈｔｅｒ Ｍａｃｉｅｊ Ｃｅｇｌｏｗｓｋｉ”ＬＯＡＦ”［ｏｎｌｉｎｅ］２００４年  ［平成２０年１２月１５日検索］インターネット〈ＵＲＬ：http://pages.cs.wisc.edu/~cao/papers/summary-cache/node8.html  以下、「参考文献１」という。〉に記載されている。ブルームフィルタとは、空間効率の良い確率的データ構造であり、要素が、ある集合に属しているかどうかのテストに使われるフィルタである。そうすると、ブルームフィルタを用いた認可手法が考えられる。具体的には第１サーバ装置２００が当該ブルームフィルタを用いた判定処理を行い、要素（ユーザ識別情報α）が、ある集合（第２サーバ装置３００ｎが保持する第２リストＹ（ｆｎ））に属しているかどうかを判定できる。
【００１１】
このブルームフィルタを用いた手法であれば、従来技術のようなトラフィック量の増加などの問題が生じることはない。この手法を用いるためには、第１リストＸ（ｒ）には第２ユーザｆｎの識別情報βｎと、第２ユーザｆｎについてのＬＯＡＦ（Ｌｉｓｔ  ｏｆ  ａｌｌ  ｆｒｉｅｎｄｓ）とよばれる情報（以下、縮約情報Ｌ（βｎ）という。）とを対応させる必要がある。縮約情報Ｌ（βｎ）はブルームフィルタの手法に基づき、第２リストＹ（ｆｎ）に示されているユーザの識別情報を登録したビットパターンである。ＬＯＡＦの生成手法の詳細は上記参考文献１に記載されている。ブルームフィルタによる処理とは、ユーザ装置１００のユーザ識別情報αと、縮約情報Ｌ（βｎ）とを引数として、ブルームフィルタの検定アルゴリズム（後述する）を実行することにより、ユーザ識別情報αが第２リストＹ（ｆｎ）に示されているかどうかが判定される。ユーザ識別情報αが第２リストＹ（ｆｎ）に示されている場合は、判定結果を「陽」や「１」、示されていない場合は、「陰」や「０」を出力すればよい。
【００１２】
ここで、ブルームフィルタの特徴として、偽陽性（実際は、要素が集合に属していないのに、属していると判断すること）の誤検出が確率的に発生する。なお、偽陰性の誤検出（実際は、要素が集合に属しているのに、属していないと判断すること）が生じることはない。そうすると、正確な認可を行えないだけでなく、例えばスパム業者が偽陽性の誤検出が確率を予め知っている場合には、繰り返しユーザ識別情報αを変えながら、第１サーバ装置２００にアクセス要求を繰り返せば、ＦＯＡＦと誤検出されるユーザ識別情報を見つけることができてしまう。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、本発明は、ユーザ装置が第１サーバ装置にユーザ識別情報とアクセス要求情報を送信する。第１サーバ装置がアクセス要求情報を受信すると、絞込み部が、第１判定処理として当該ユーザ識別情報と第２ユーザ縮約情報とを判定フィルタにかけ、結果が陽であると、当該第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置とする。第１サーバ装置の問い合わせ部が、決定後第２サーバ装置に対して、問い合わせ情報を送信する。決定後第２サーバ装置が問い合わせ情報を受信すると、検索部が第２リストにユーザ識別情報が示されているか否かを検索し、検索結果情報を第１サーバ装置に送信する。
【発明の効果】
【００１４】
本発明の認可方法によれば、トラフィック量を増加させず、誤った認可を行わないという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】ＦＯＡＦの概念図。
【図２】本実施例のシステム構成例。
【図３】第１サーバ装置などの機能構成例。
【図４】本実施例の処理フローの前編を示した図。
【図５】本実施例の処理フローの後編を示した図。
【図６】第１リストの例を示した図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、詳細に説明する。
【実施例１】
【００１７】
図２に本実施例の認可システムの機能構成例を示し、図３にユーザ装置１００、第１サーバ装置２００、Ｎ個の第２サーバ装置３００ｎ（ｎ＝１、．．．、Ｎ）の機能構成例を示し、図４に本実施例の認可方法の処理フローの前編を示し、図５に後編を示す。図２に示すように、ユーザ装置１００、第１サーバ装置２００、第２サーバ装置３００ｎとがネットワーク網４００で接続されている。図６に、第１サーバ装置２００が保持している第１リストＸ（ｒ）の一例を示す。図６の例では、第１リストＸ（ｒ）は、第２ユーザｆｎの識別情報βｎ、第２ユーザｆｎについての縮約情報Ｌ（βｎ）、第２サーバ装置３００ｎの宛先（例えば、ＵＲＬ）γｎが対応付けられている。有効期限については、実施例２で説明する。
【００１８】
まず、ユーザａがアクセスを所望する第１ユーザｒ（以下、「所望第１ユーザｒ」という。）に対応する第１サーバ装置２００にアクセス要求する。具体的には、ユーザ装置１００の情報生成部１０４がアクセス要求情報Ａを生成する。また、ユーザ装置１００は、ユーザａに対して、ユーザ識別情報αを入力させる。ユーザ識別情報αは予め記憶部１０６に記憶させておいても良い。ユーザ装置１００の送受信部１０２は当該アクセス要求情報Ａと当該ユーザ識別情報αを第１サーバ装置２００に送信する（ステップＳ２）。
【００１９】
第１サーバ装置２００の送受信部２０２がアクセス要求情報Ａとユーザ識別情報αを受信すると、認証部２１０が、ユーザ装置１００が正当であるか否かをユーザ識別情報αを用いて認証する（ステップＳ４）。この認証方式は、様々な公知技術があるが、ＯｐｅｎＩＤなどを用いればよい。また、別方式として、ユーザ装置１００の電子メールアドレスを確認する方法がある。具体的には、ユーザ装置１００のユーザに電子メールアドレスを入力させ、第１サーバ装置２００に当該電子メールアドレスを送信する。第１サーバ装置２００は、乱数を生成し、受信した当該電子メールアドレスに当該乱数を送信する。そして、ユーザにユーザ装置１００に受信した乱数を入力させ、入力された乱数を第１サーバ装置２００に送信する。第１サーバ装置２００は生成した乱数と受信した乱数とが同一であるか否かを判定し、同一であれば、ユーザ装置１００の電子メールアドレスが正当であり、ユーザ装置１００は正当であると判断する。認証部２１０が正当でないと判断すると、ユーザ装置にもう一度、アクセス要求させるか、処理を終了させるなどを行う。
【００２０】
認証部２１０がユーザ装置１００が正当であると判断すると、検索部２１２が、第１リストＸ（ｒ）を参照して、ユーザ識別情報αが、第１リストＸ（ｒ）に示されているか否かを検索する（ステップＳ６）。ユーザ識別情報αが、第１リストＸ（ｒ）に示されていれば、第１ユーザｒとユーザａとが友達であるということなので、認可部２１６が、認可する旨の認可結果情報をユーザ装置１００に送信し、処理を終了させる。
【００２１】
第１リストＸ（ｒ）にユーザ識別情報αが示されていなければ、第１ユーザｒとユーザａとが友達でない（第１ユーザｒがユーザａに対して認可していない）ということである。絞込み部２０８が、判定フィルタを用いた絞込み処理を行う。ここで、判定フィルタは例えば、ブルームフィルタなどがあるが、これと同様の機能をもつものであれば、何でも良い。以下、詳細に説明する。
【００２２】
まず、絞込み部２０８が、記憶部２０６に格納されているＷ個の第１リストから、所望第１ユーザｒが保有する第１リストＸ（ｒ）を取り出す。そして、絞込み部２０８は、ユーザ識別情報αと第１リストＸ（ｒ）に含まれる第２ユーザ縮約情報Ｌ（βｎ）とを判定フィルタにかけて結果を出力する（ステップＳ７）。この判定処理を第１判定処理とする。詳細には、ユーザ識別情報αを一方向関数ｈ（）に代入し、ｈ（α）を求める（ステップＳ８）。判定フィルタがブルームフィルタである場合には、ブルームフィルタ用の一方向関数を用いれば良い。一方向関数ｈ（）とは、αからはｈ（α）を求めることができるが、ｈ（α）からはαを求めることができない関数であり、あらかじめ、記憶部２０６に記憶されている。そして、第１リストＸ（ｒ）の各第２ユーザ識別情報βｎについての縮約情報Ｌ（βｎ）を用いて、例えば、以下の式を満たす全ての行（全てのインデックスｎ）を取り出する（ステップＳ１０）。
ｈ（α）ＡＮＤＬ（βｎ）＝ｈ（α）      （１）
ここでＡＮＤは論理積を示し、上記式（１）を満たすｎについては「陽」と出力し、満たさないｎについては「陰」と出力する。以下では、「陽」と出力された縮約情報Ｌ（βｎ）に対応する第２サーバ装置３００ｎを決定後第２サーバ装置とし、決定後第２サーバ装置のリストである決定後第２サーバ装置リストＺを作成する。ここで、「縮約情報Ｌ（βｎ）に対応する第２サーバ装置３００ｎ」とは、「縮約情報Ｌ（βｎ）に対応する第２ユーザｆｎが利用する第２サーバ装置３００ｎ」のことをいう。また、決定後第２サーバ装置の個数をＭ（Ｍ≦Ｎ）とし、決定後第２サーバ装置の参照番号を３００ｍ（ｍ＝１、．．．、Ｍ）とする。決定後第２サーバ装置３００ｍの第２リストＹ（ｆｍ）には、ユーザ識別情報αが示されている可能性があるということになる。可能性があると言及する理由は、上述のように、判定フィルタはその特性上、偽陽性たる誤検出を行うことから、確実に第２リストＹ（ｆｍ）にユーザ識別情報αが示されているとは判定できないからである。
【００２３】
そこで、第２サーバ装置の問い合わせ部２０４が決定後第２サーバ装置３００ｍに問い合わせをかけ、実際に、決定後第２サーバ装置３００ｍの第２リストＹ（ｆｍ）にユーザ識別情報αが示されている否かを検証する。以下、詳細に説明する。
【００２４】
まず、判定結果の値を初期値０に設定しておき、記憶部２０６に記憶させる（ステップＳ１２）。そして、問い合わせ部２０４が問い合わせ情報Ｂを生成し、決定後第２サーバ装置３００ｍの宛先γｍ（ｍ＝１、．．．、Ｍ）を元に、決定後第２サーバ装置リストＺ中の、例えばインデックスｍ＝１から順番に問い合わせ情報Ｂを送信する（ステップＳ１４）。決定後第２サーバ装置３００ｍの送受信部３０２が問い合わせ情報Ｂを受信すると、検索部３０８が、第２リストＹ（ｆｍ）にユーザ識別情報αがあるか否かを検索し、当該検索の結果を示す検索結果情報Ｃを生成する。検索結果情報Ｃは例えば、第２リストＹ（ｆｍ）にユーザ識別情報αが示されていれば「１」とし、示されていなければ、「０」と設定すればよい。検索結果情報Ｃが「１」の場合は、ユーザ装置１００と第１サーバ装置２００とはＦＯＡＦの関係（図１参照）であるということになる。
【００２５】
また、問い合わせ情報Ｂを受信した決定後第２サーバ装置３００ｍは、新たな他のユーザと友達になったり（つまり、当該新たな他のユーザの識別情報が、第２リストに登録されている）、従来、友達であったが友達でなくなったり（つまり、第２リストに登録されていたユーザの識別情報が、抹消されている）する場合があり、決定後第２サーバ装置３００ｍの第２リストＹ（ｆｍ）が変更されている場合がある。この場合には、第１サーバ装置２００の第１リスト中の決定後第２サーバ装置３００ｍの縮約情報Ｌ（βｍ）を変更してもよい。この場合には、決定後２サーバ装置３００ｍは、変更すべき縮約情報Ｌ’（βｍ）を求める（ステップＳ１８）。具体的な求め方は、上記参考文献１に記載されているが、念のため、簡単に説明する。
【００２６】
現在の（最も新しい）第２リストＹ（ｆｍ）に示されている全てのユーザの個数をＱ個とし、それぞれの識別情報をδｑ（ｑ＝１、．．．、Ｑ）とする。更新部３１０が、現在のユーザの識別情報δｑを上記一方向関数ｈ（）に代入し、求められたｈ（δｑ）を全てＡＮＤ（論理積）演算し、得られた結果を変更後縮約情報Ｌ’（βｍ）とする。また、決定後第２サーバ装置３００ｍの第２リストＹ（ｆｍ）が変更されていない場合は、更新部３１０の縮約情報変更処理を行う必要はない。
【００２７】
決定後第２サーバ装置３００ｍの送受信部３０２は、変更後縮約情報Ｌ’（βｍ）と検索結果情報Ｃを第１サーバ装置２００に対して送信する。変更後縮約情報Ｌ’（βｍ）を生成していない場合は、これを送信する必要はない。
【００２８】
第１サーバ装置２００の送受信部２０２が変更後縮約情報Ｌ’（βｍ）と検索結果情報Ｃを受信すると、更新部２２０が検索結果情報Ｃに基づき、判定結果を更新する（ステップＳ２２）。つまり、検索結果情報Ｃが「１」であれば（第２リストＹ（ｆｎ）にユーザ識別情報αが示されている場合）、更新部２２０は判定結果を「１」に更新する。検索結果情報Ｃが「０」であれば、更新部２２０は判定結果を更新しない。また、変更後縮約情報Ｌ’（ｍ）がある場合には、更新部２２０は、縮約情報Ｌ（ｍ）を変更後縮約情報Ｌ’（ｍ）に更新する。
【００２９】
認可部２１６は、記憶部２０６中の判定結果を参照して（検索結果情報Ｃを用いて）アクセスの要求に対して認可判断する。具体的には、判定結果が「１」であれば（ステップＳ２４）、認可可能である旨の認可結果情報Ｄを生成し、送受信部２０２がユーザ装置１００に送信する（ステップＳ２８）。つまり、ユーザａ（ユーザ装置１００）を認可する。
【００３０】
判定結果が「１」でなければ、次の行の決定後第２サーバ装置３００ｍ＋１に対して、再度、問い合わせ情報Ｂを送信する。決定後第２サーバ装置リストＺ中の全ての行（全ての決定後第２サーバ装置３００ｍ）について、問い合わせ処理を行っても、判定結果が「０」である場合には、ユーザ装置１００に認可することなく、認可不可能である旨の認可結果情報Ｄを生成し、送受信部２０２がユーザ装置１００に送信し、処理を終了させる。また、第１サーバ装置２００が、ユーザ装置１００に対してサービスを提供するサービス提供装置であれば、認可したユーザ装置１００に対してサービスを提供してもよい。
【００３１】
ユーザ装置１００に認可するか否かを判断するだけなら、上記のステップＳ２４の処理でよいが、もし、第１サーバ装置２００の第１リストＸ（ｒ）中の全ての第２サーバ装置３００ｎの縮約情報を更新したいのであれば、ステップＳ２４で判定結果が「１」である場合であっても、ステップＳ２６に進み、残りの他の決定後第２サーバ装置について問い合わせ情報Ｂを送信してもよい。そして、それぞれの決定後第２サーバ装置から更新後縮約情報を受信し、第１リストＸ（ｒ）の縮約情報を更新する。
【００３２】
また、ステップＳ１８の縮約情報を求めなおす処理、ステップＳ２２の第１リストＸ（ｒ）の更新処理は、必ずしもこのタイミングで行う必要はなく、第１サーバ装置２００、第２サーバ装置３００ｎの処理に支障がなければ、いつ行っても良い。
【００３３】
このように、本実施例１の認可システムであれば、まず、第１サーバ装置２００が、ユーザ識別情報αが示されている第２リストを保持する第２サーバ装置３００を、判定フィルタ（例えばブルームフィルタ）を用いて判定する。しかし、この判定フィルタには、偽陽性を出力する可能性があり、陽と判定された決定後第２サーバ装置３００の第２リストにユーザ識別情報αが示されているとは限らない。そこで、第２サーバ装置３００が、決定後第２サーバ装置３００に第２リストにユーザ識別情報αが示されているか否かの問い合わせをかける。このようにすることで、トラフィック量を増加させず、誤った認可を行わない、という顕著な効果を有する。
【実施例２】
【００３４】
実施例２で説明する認可方法は、図６の破線で示すように、第１サーバ装置２００が保持する第１リストにおいて、第２ユーザ縮約情報Ｌ（βｎ）に有効期限を設ける。図６の例では、例えば、縮約情報Ｌ（β１）については有効期限が２００８年１月１日である。
【００３５】
ステップＳ１０において、絞込み部２０８は、第２判定処理として、第２ユーザ縮約情報Ｌ（βｎ）の有効期限が現在の時刻より経過しているか否かを判定する。そして、有効期限が経過している第２ユーザ縮約情報Ｌ（βｎ）を陽と判定する。そして、絞込み部２０８は、第１判定処理（実施例１で説明）の結果、または第２判定処理の結果のいずれかが陽である第２ユーザ縮約情報に対応する第２サーバ装置を決定後第２サーバ装置３００ｍとして、決定後第２サーバ装置リストＺを作成し、ステップＳ１２以降の処理を進める。ここで、「第２ユーザ縮約情報Ｌ（βｎ）に対応する第２サーバ装置」とは、「第２ユーザ縮約情報Ｌ（βｎ）と対応する第２ユーザｆｎと対応する第２サーバ装置」のことをいう。
【００３６】
有効期限を経過している縮約情報の第２サーバ装置については念のため、第１サーバ装置２００が問い合わせることで、より正確な認可が可能である。
【実施例３】
【００３７】
実施例３は、実施例１の第１サーバ装置の絞込み部２０８の第１判定処理が変更されたものである。この実施例３では、ユーザ装置１００は第３リスト（ホワイトリスト）を記憶部１０６に保持しているとする。第３リストには、認可しても良い（友達である）ユーザの識別情報が示されている。
【００３８】
上記第１判定処理は、第２サーバ装置からみて、ユーザ装置が友達であるか否かを判定するものであった。本実施例では、この判定をせずに、第３リストに第２サーバ装置３００ｎの識別情報βｎが示されているか否か（つまり、ユーザ装置からみて第２サーバ装置が友達であるか否か）を第１サーバ装置２００が判定し、更に第２サーバ装置の絞込みの精度を上げようというものである。以下、詳細に説明する。
【００３９】
ステップＳ２において、実施例１では、ユーザ装置１００が第１サーバ装置２００にアクセス要求情報Ａ、ユーザ識別情報αを送信した。しかし、実施例３では、ユーザ装置１００が第１サーバ装置２００にアクセス要求情報Ａ、ユーザ識別情報αの他、ユーザ縮約情報Ｌ（α）も送信する。
【００４０】
そして、ステップＳ１０において、絞込み部２０８が上記式（１）の演算ではなく、ユーザ縮約情報Ｌ（α）と第２ユーザ識別情報βｎとを判定フィルタにかけ、以下の式（２）を満たすか否かの演算を行う。
ｈ（βｎ）ＡＮＤＬ（α）＝ｈ（βｎ）      （２）
この式（２）を満たせば、判定処理の結果は陽であり、満たさなければ陰となる。絞込み部２０８は、結果が陽である第２ユーザ識別情報βｎに対応する第２サーバ装置を決定後第２サーバ装置として、決定後第２サーバ装置リストＺを作成する。ここで、「第２ユーザ識別情報βｎに対応する第２サーバ装置」とは、「第２ユーザ識別情報βｎに対応する第２ユーザｆｎに対応する第２サーバ装置」のことをいう。そして、ステップＳ１２以降の処理を進める。
【００４１】
また、所望第１ユーザｒの第１ユーザリストＸ（ｒ）中の全ての第２ユーザ識別情報βｎについて、上記式（２）の結果が「陰」である場合には、絞込み部２０８は、第１ユーザリストＸ（ｒ）中の全ての第２ユーザ縮約情報Ｌ（βｎ）について、上記式（１）の演算（実施例１で説明）を行っても良い。この場合には、絞込みの精度を上げることが出来る。
【００４２】
この実施例３によれば、第３リストの登録者数が少ない場合は絞込み部２０８の絞込み処理の精度を上げることが出来る。また、実施例２で説明した有効期限についても考慮する必要がないので、演算コストも削減できる。
【００４３】
＜ハードウェア構成＞
本発明は上述の実施の形態に限定されるものではない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００４４】
また、上述の構成をコンピュータによって実現する場合、第１サーバ装置２００が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、処理機能がコンピュータ上で実現される。
【００４５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記憶しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記憶装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００４６】
また、このプログラムの流通は、例えば、そのプログラムを記憶したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記憶されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００４８】
また、本実施例で説明した第１サーバ装置２００は、ＣＰＵ（Central Processing Unit）、入力部、出力部、補助記憶装置、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）及びバスを有している（何れも図示せず）。
【００４９】
ＣＰＵは、読み込まれた各種プログラムに従って様々な演算処理を実行する。補助記憶装置は、例えば、ハードディスク、ＭＯ（Magneto-Optical disc）、半導体メモリ等であり、ＲＡＭは、ＳＲＡＭ(Static Random Access Memory)、ＤＲＡＭ (Dynamic Random Access Memory)等である。また、バスは、ＣＰＵ、入力部、出力部、補助記憶装置、ＲＡＭ及びＲＯＭを通信可能に接続している。
【００５０】
＜ハードウェアとソフトウェアとの協働＞
本実施例の単語追加装置は、上述のようなハードウェアに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することによって構築される。以下、このように構築される各装置の機能構成を説明する。
第１サーバ装置２００の入力部、出力部は、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動するＬＡＮカード、モデム等の通信装置である。その他の絞込み部２０８などは、所定のプログラムがＣＰＵに読み込まれ、実行されることによって構築される演算部である。記憶部は前記補助記憶装置として機能する。
【図１】
2010166344.tif 000003
【図２】
2010166344.tif 000004
【図３】
2010166344.tif 000005
【図４】
2010166344.tif 000006
【図５】
2010166344.tif 000007
【図６】
2010166344.tif 000008