(57)【特許請求の範囲】
【請求項１】
アクセス元アドレスとアクセス先アドレスとを入力する入力部と、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する第１の取得部と、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する第２の取得部と、
前記アドレスを関連付けたノードの中から、前記入力部によって入力されたアクセス元アドレスにマッチする前記アドレスが関連付けられたノードを特定する特定部と、
前記第１および第２の取得部によって取得された接続情報および統一情報に基づいて、前記特定部によって特定されたノードから推移可能なノードを探索する探索部と、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記入力部によって入力されたアクセス先アドレスがマッチするか否かを判定する判定部と、
前記判定部によってマッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する設定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記探索部は、
前記接続情報に基づいて、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記探索部は、
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記入力部は、
前記アクセス先アドレスから受信するレスポンスの種別を入力し、
前記第１の取得部は、
前記推移元ノードから前記推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得し、
前記探索部は、
前記接続情報に基づいて、前記入力部によって入力された種別が前記第１の取得部によって取得された種別情報が示す種別であって、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記探索部は、
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、前記入力部によって入力された種別が前記第１の取得部によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記アドレスを関連付けたノードの中から、共通のアドレスがマッチするノードの組を特定し、特定したノードの組を示す前記統一情報を生成する統一情報生成部を有し、
前記第２の取得部は、
前記統一情報生成部によって生成された統一情報を取得する、
ことを特徴とする請求項１〜５のいずれか一つに記載の情報処理装置。
【請求項７】
前記統一化可能な言語によるパターンにより表現されたアドレスはＵＲＩであり、スキーマ、ホスト名の前半、およびポート番号の少なくともいずれかにワイルドカードを使用可能であることを特徴とする請求項１〜６のいずれか一つに記載の情報処理装置。
【請求項８】
前記判定部による判定結果を出力する出力部、
を有することを特徴とする請求項１〜７のいずれか一つに記載の情報処理装置。
【請求項９】
前記判定部によってマッチしないと判定された場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を、推移可能なノードＮの組として設定するか否かを示す許可情報を受け付ける受付部と、
前記受付部によって受け付けられた許可情報が設定することを示す場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を示す接続情報を生成する接続情報生成部と、
を有することを特徴とする請求項１〜８のいずれか一つに記載の情報処理装置。
【請求項１０】
コンピュータが、
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行することを特徴とする情報処理方法。
【請求項１１】
コンピュータに、
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、ウェブブラウザがＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）呼び出しが埋め込まれたウェブページを取得した場合、ＡＰＩがウェブページのＯｒｉｇｉｎとは異なるＯｒｉｇｉｎから取得した情報にアクセスすることを禁止する「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」が規定されている。Ｏｒｉｇｉｎとは、例えば、ＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）の中のスキーム、ホスト名、ポート番号の組み合わせである。
【０００３】
ここで、情報利用の効率化のために、「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」を回避する場合がある。例えば、ウェブブラウザの利用者は、ウェブブラウザに情報のアクセスを許可するＯｒｉｇｉｎやＵＲＩやＵＲＬ（（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ））を設定することにより、「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」を回避することができる。
【０００４】
また、ＵＲＩを関連付けたノード群を含み、ノード群のうち、アクセスを許可するアクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとをエッジにより接続したグラフに推移律を適用する技術がある（例えば、下記特許文献１参照）。推移律とは、アクセスの許可関係を示すグラフにおいて、アクセス元ＵＲＩのノードから推移可能なノードの中に、アクセス先ＵＲＩのノードがあれば、アクセス可能と判定する規則である。また、辞書や文法規則などの知識を示すグラフのノードに変数を関連付けられるようにした上で、共通の文字列を示すノードを統一化する技術がある（例えば、下記特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２５９０６５号公報
【特許文献２】特開平５−２０４６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術のようにアクセスを許可するＵＲＩをグラフのノードとして設定する場合、アクセスを許可するＵＲＩを網羅的に設定することになり、利用者による設定作業量が増大する。また、複数のＵＲＩをパターンを用いて１つのＵＲＩとして表してグラフのノードに関連付けた場合、当該ノード間が接続されていないため、ウェブブラウザは、当該ノード間を推移できないと判定する。そのため、ウェブブラウザは、推移律を適用しても、本来、推移可能になるべき或るＵＲＩのノードから或るＵＲＩのノードへの推移ができず、アクセス可能と判定すべきＵＲＩの組をアクセス不可能なＵＲＩの組と判定してしまう。結果として、ウェブブラウザは、アクセス可能と判定すべき或るＵＲＩから或るＵＲＩへのアクセスを禁止してしまう。
【０００７】
例えば、利用者が、ＵＲＩ「Ａ」からパターンを用いて表現されたＵＲＩ「Ｂ」へのアクセスを許可し、パターンを用いて表現されたＵＲＩ「Ｂ」に含まれるＵＲＩ「Ｂ１」からＵＲＩ「Ｃ」へのアクセスを許可したとする。この場合、ＵＲＩ「Ａ」からＵＲＩ「Ｂ」へアクセスが許可され、ＵＲＩ「Ｂ」に含まれるＵＲＩ「Ｂ１」からＵＲＩ「Ｃ」へアクセスが許可されたため、ＵＲＩ「Ａ」からＵＲＩ「Ｃ」へのアクセスは許可されるべきである。しかしながら、上述した従来技術では、ＵＲＩ「Ｂ」のノードからＵＲＩ「Ｂ１」のノードへは接続されていないため、ウェブブラウザは、ＵＲＩ「Ｂ」のノードからＵＲＩ「Ｂ１」のノードへは推移できないと判定する。そのため、ウェブブラウザは、ＵＲＩ「Ａ」のノードからＵＲＩ「Ｃ」のノードへは、ＵＲＩ「Ｂ」のノードやＵＲＩ「Ｂ１」のノードを経由しても推移できないと判定し、ＵＲＩ「Ａ」からＵＲＩ「Ｃ」へのアクセスを禁止してしまう。
【０００８】
本発明は、アクセスの許可設定の効率化を図ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、アクセス元アドレスとアクセス先アドレスとを入力し、統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、マッチすると判定された場合、アクセス元アドレスからアクセス先アドレスへのアクセスを禁止する状態から、アクセス元アドレスからアクセス先アドレスへのアクセスを許可する状態に設定する情報処理装置、情報処理方法、および情報処理プログラムが提案される。
【発明の効果】
【００１０】
本発明の一側面によれば、アクセスの許可設定の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、情報処理装置によるアクセス可否判定の流れを示す説明図である。
【図２】図２は、実施の形態にかかる情報処理装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、情報処理装置１００の機能的構成を示すブロック図である。
【図４】図４は、関係グラフ１０１の一例を示す説明図である。
【図５】図５は、統一化可能な言語によるパターンにより表現されたＵＲＩの一例を示す説明図である。
【図６】図６は、情報処理装置１００による統一グラフ１０２の生成例を示す説明図である。
【図７】図７は、関係グラフ１０１にノードが追加された場合の統一グラフ１０２の生成を示す説明図である。
【図８】図８は、統一グラフ生成処理の詳細な処理手順を示すフローチャートである。
【図９】図９は、ステップＳ８０４の統一化判定処理の詳細な処理手順を示すフローチャートである。
【図１０】図１０は、情報処理装置１００によるアクセス可否の判定例を示す説明図である。
【図１１】図１１は、アクセス可否判定処理の詳細な処理手順を示すフローチャート（その１）である。
【図１２】図１２は、アクセス可否判定処理の詳細な処理手順を示すフローチャート（その２）である。
【図１３】図１３は、アクセス許可の入力例を示す説明図である。
【図１４】図１４は、アクセス許可設定処理の詳細な処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理方法、および情報処理プログラムの実施の形態を詳細に説明する。
【００１３】
図１は、情報処理装置によるアクセス可否判定の流れを示す説明図である。情報処理装置１００は、関係グラフ１０１と統一グラフ１０２とを交互に辿ることにより、或るアクセス元ＵＲＩから或るアクセス先ＵＲＩへのアクセスが許可できるか否かを判定するコンピュータである。実際には、情報処理装置１００は、例えば、ウェブブラウザを用いて、或るアクセス元ＵＲＩから或るアクセス先ＵＲＩへのアクセスが許可できるか否かを判定する。
【００１４】
関係グラフ１０１とは、統一化判定可能な言語によるパターンで表現されたＵＲＩを関連付けたノード群を有するグラフである。また、関係グラフ１０１とは、利用者によってアクセスを許可すると設定されたアクセス元ＵＲＩとアクセス先ＵＲＩとを関連付けたノードの組を有向エッジにより接続したグラフである。有向エッジは、推移可能な方向を、アクセス元ＵＲＩを関連付けたノードからアクセス先ＵＲＩを関連付けたノードへの方向に制限したエッジである。換言すれば、アクセス先ＵＲＩを関連付けたノードからアクセス元ＵＲＩを関連付けたノードへは推移できない。関係グラフ１０１は、例えば、情報処理装置１００の利用者により入力される。
【００１５】
統一グラフ１０２とは、関係グラフ１０１と同一のノード群を有し、共通のＵＲＩがマッチするパターンで表現されたＵＲＩが関連付けられたノードの組をエッジにより接続したグラフである。また、統一グラフ１０２とは、各ノードを、各ノード自体とエッジにより接続したグラフである。統一グラフ１０２は、例えば、情報処理装置１００により関係グラフ１０１から生成される。
【００１６】
アクセス元ＵＲＩは、情報処理装置１００により取得されたＡＰＩ呼び出しがあるウェブページのＵＲＩである。ＡＰＩ呼び出しは、ウェブサーバにアクセスし、ウェブサーバから情報を取得するＡＰＩの呼び出しである。アクセス先ＵＲＩは、ＡＰＩによりアクセスされるウェブページのＵＲＩである。
【００１７】
ここで、ＡＰＩ呼び出しがあるウェブページのＵＲＩとＡＰＩによりアクセスされるウェブページのＵＲＩの組は、「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」に従ってアクセスが禁止されたＵＲＩの組である場合がある。そのため、情報処理装置１００はアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可するか否かを判定する。
【００１８】
図１の（Ａ）に示すように、（１）情報処理装置１００は、利用者から関係グラフ１０１の入力を受け付ける。図１の例では、関係グラフ１０１は、ノードＮ１〜Ｎ４を含む。ノードＮ１は、ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ」を関連付けたノードである。ノードＮ２は、ＵＲＩ「／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」を関連付けたノードである。ノードＮ３は、ＵＲＩ「ｈｔｔｐｓ：／／＠ｅｘａｍｐｌｅ．ｎｅｔ」を関連付けたノードである。ノードＮ４は、ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」を関連付けたノードである。
【００１９】
（２）情報処理装置１００は、関係グラフ１０１から統一グラフ１０２を生成する。情報処理装置１００は、例えば、ノードＮ１〜Ｎ４の中から、統一化可能なノード同士を特定する。統一化可能なノード同士とは、共通のＵＲＩがマッチする統一化判定可能な言語によるパターンで表現されたＵＲＩを関連付けられた２つのノードである。図１の例では、ノードＮ２とノードＮ３とは、共通のＵＲＩ（例えば、「ｈｔｔｐｓ：／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」）がマッチするＵＲＩ「／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」と「ｈｔｔｐｓ：／／＠ｅｘａｍｐｌｅ．ｎｅｔ」とが関連付けられているため、統一化可能なノード同士である。次に、情報処理装置１００は、統一化可能なノード同士を接続した統一グラフ１０２を生成する。関係グラフ１０１からの統一グラフ１０２の生成の詳細については図４〜図９を用いて後述する。
【００２０】
ここで、図１の（Ｂ）に示すように、（３）情報処理装置１００は、ＡＰＩがあるウェブページを取得する。次に、情報処理装置１００は、取得したウェブページにあるＡＰＩが、或るウェブページにリクエストを送信しレスポンスを受信したことを検出する。情報処理装置１００は、レスポンスを受信したことを検出すると、ＡＰＩがあるウェブページのＵＲＩをアクセス元ＵＲＩとして入力し、ウェブページにあるＡＰＩ呼び出しがアクセスするＵＲＩをアクセス先ＵＲＩとして入力する。
【００２１】
図１の例では、情報処理装置１００は、アクセス元ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」と、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」と、の入力を受け付ける。
【００２２】
（４）次に、情報処理装置１００は、推移律を用いて、アクセス元ＵＲＩからアクセス先ＵＲＩへとアクセス可能か否かを判定する。推移律とは、アクセスの許可関係を示す関係グラフ１０１において、アクセス元ＵＲＩがマッチするＵＲＩが関連付けられたノードから推移可能なノードの中に、アクセス先ＵＲＩがマッチするＵＲＩが関連付けられたノードがあれば、アクセス可能と判定する規則である。
【００２３】
図１の例では、情報処理装置１００は、アクセス元ＵＲＩがマッチする統一化判定可能な言語によるパターンで表現されたＵＲＩが関連付けられたノードＮ１を特定する。次に、情報処理装置１００は、関係グラフ１０１において、ノードＮ１に隣接し、ノードＮ１から推移可能なノードＮ２を探索する。
【００２４】
そして、情報処理装置１００は、統一グラフ１０２において、ノードＮ２に隣接し、ノードＮ２から推移可能なノードＮ３を探索する。次に、情報処理装置１００は、関係グラフ１０１において、ノードＮ３に隣接し、ノードＮ３から推移可能なノードＮ４を探索する。ここで、ノードＮ４は、アクセス先ＵＲＩがマッチする統一化判定可能な言語によるパターンで表現されたＵＲＩが関連付けられている。
【００２５】
そのため、情報処理装置１００は、アクセス元ＵＲＩがマッチするＵＲＩを関連付けられたノードＮ１から、アクセス先ＵＲＩがマッチするＵＲＩを関連付けられたノードＮ４へと、推移可能であると判定する。そのため、情報処理装置１００は、アクセス元ＵＲＩからアクセス先ＵＲＩへアクセス可能であると判定する。情報処理装置１００は、アクセス可能と判定された場合、アクセス元ＵＲＩのウェブページにあるＡＰＩによる、アクセス先ＵＲＩのウェブページからのレスポンスへのアクセスを許可する。アクセス可否の判定の詳細については図１０〜図１２を用いて後述する。
【００２６】
このように、情報処理装置１００は、統一化判定可能な言語によるパターンで表現されたＵＲＩを含む関係グラフ１０１に対して、推移律を用いることができる。そのため、情報処理装置１００は、統一化判定可能な言語により、アクセス許可の設定の効率化を図ることができ、かつ、推移律を用いてアクセス可否を判定できるようになる。
【００２７】
図１の例では、ネットワークにおけるウェブページの場所を示す情報として、ＵＲＩを使用したが、これに限らない。例えば、ネットワークにおけるウェブページの場所を示す情報として、Ｏｒｉｇｉｎを使用してもよいし、ＵＲＬを使用してもよい。
【００２８】
（情報処理装置１００のハードウェア構成例）
図２は、実施の形態にかかる情報処理装置１００のハードウェア構成例を示すブロック図である。図２において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２９】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御に従って磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００３０】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御に従って光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３１】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３２】
インターフェース（以下、「Ｉ／Ｆ」と略する。）２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００３３】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３４】
スキャナ２１２は、画像を光学的に読み取り、情報処理装置１００内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。なお、光ディスクドライブ２０６、光ディスク２０７、ディスプレイ２０８、キーボード２１０、マウス２１１、スキャナ２１２、およびプリンタ２１３の少なくともいずれか１つは、なくてもよい。
【００３５】
（情報処理装置１００の機能的構成例）
次に、図３を用いて、情報処理装置１００の機能的構成例について説明する。図３は、情報処理装置１００の機能的構成を示すブロック図である。情報処理装置１００は、入力部３０１と、取得部３０２と、生成部３０３と、特定部３０４と、探索部３０５と、判定部３０６と、設定部３０７と、出力部３０８と、を含む。入力部３０１と、取得部３０２と、生成部３０３と、特定部３０４と、探索部３０５と、判定部３０６と、設定部３０７と、出力部３０８とは、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００３６】
入力部３０１は、アクセス元アドレスとアクセス先アドレスとを入力する。アドレスとは、ネットワークにおけるウェブページの場所を示す情報であり、例えば、ＯｒｉｇｉｎやＵＲＩやＵＲＬである。アクセス元アドレスとは、例えば、情報処理装置１００が取得したウェブページのＯｒｉｇｉｎやＵＲＩやＵＲＬである。アクセス先アドレスとは、例えば、ウェブページ内のＡＰＩ呼び出しによるリクエストの送信先になりレスポンスを返すウェブページのＯｒｉｇｉｎやＵＲＩやＵＲＬである。
【００３７】
ここで、ウェブページ内のＡＰＩ呼び出しの生成元のＵＲＩとＡＰＩによるリクエストの送信先になるＵＲＩは、「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」に従ってアクセスが禁止されたＵＲＩの組である場合がある。アクセスの禁止とは、例えば、アクセス元ＵＲＩのウェブページにおいて呼び出されたＡＰＩからの、アクセス先ＵＲＩのウェブページから返されたレスポンスへのアクセスを、禁止することをいう。
【００３８】
入力部３０１は、具体的には、図１の例では、ウェブサーバにリクエストを送信するＡＰＩ呼び出しを有するウェブページのデータを取得する。ウェブページのデータとは、例えば、ＨＴＭＬ文書のデータである。ＨＴＭＬ文書には、例えば、「Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ」を用いて、ＡＰＩ呼び出しが記述されている。次に、入力部３０１は、ウェブページのＡＰＩが呼び出されると、ＡＰＩ呼び出しを有するウェブページのＵＲＬを抽出する。
【００３９】
そして、入力部３０１は、抽出したＵＲＬをＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」に変換して、アクセス元ＵＲＩの入力として受け付ける。ここで、入力部３０１は、より具体的には、例えば、ＵＲＬのスキーム、ホスト名、ポート番号を抽出して連結することにより、ＵＲＬをＵＲＩに変換する。また、入力部３０１は、ポート番号が省略されている場合は、ポート番号を補完する。一般に、入力部３０１は、ポート番号が省略されている場合、ポート番号として８０番を補完する。
【００４０】
また、入力部３０１は、呼び出されたＡＰＩの引数として指定されるリクエストの送信先になるＵＲＬを抽出し、ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」に変換して、アクセス先ＵＲＩの入力として受け付ける。ＵＲＬからＵＲＩへの変換の処理は、上述したアクセス元ＵＲＩの変換の処理と同様である。
【００４１】
また、入力部３０１は、アクセス先アドレスから受信するレスポンスの種別を入力してもよい。入力部３０１は、具体的には、例えば、ＡＰＩによって受信されたレスポンスの種別「ｔｅｘｔ／ｈｔｍｌ」の入力を受け付ける。入力部３０１は、より具体的には、例えば、ＡＰＩによって受信したレスポンスの種別を、受信したレスポンスのヘッダデータから抽出する。これにより、判定部３０６は、入力部３０１によって入力されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセス可否を判定することができる。入力されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４２】
取得部３０２は、統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する。ここで、統一化可能な言語によるパターンとは、文字列の集合を或る文字列により表したパターンである。パターンには、例えば、いわゆるワイルドカードがある。
【００４３】
統一化可能な言語によるパターンにより表現されたアドレスとは、統一化可能な言語によるパターンにより表現されたＯｒｉｇｉｎやＵＲＩやＵＲＬである。統一化可能な言語によるパターンにより表現されたＵＲＩとは、例えば、スキーマを省略することにより任意のスキーマを表したＵＲＩがある。統一化可能な言語によるパターンにより表現されたＵＲＩについては図５を用いて後述する。
【００４４】
アドレスが関連付けられたノードとは、例えば、上述した関係グラフ１０１のノードである。接続情報とは、例えば、上述した関係グラフ１０１のエッジである。エッジとは、例えば、推移元ノードに関連付けられた情報であり、推移先ノードが格納されたメモリアドレスを示すポインタである。
【００４５】
取得部３０２は、具体的には、例えば、情報処理装置１００の利用者により入力され、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている関係グラフ１０１を取得する。
【００４６】
また、取得部３０２は、具体的には、例えば、ＡＰＩ呼び出しが埋め込まれたウェブページを提供するウェブサーバから、関係グラフ１０１を取得してもよい。この場合、入力部３０１は、利用者のキーボード２１０やマウス２１１の操作を受け付けて、ウェブサーバから取得した関係グラフ１０１を使用するか否かを入力してもよい。そして、取得部３０２は、入力部３０１によって使用しないと入力された場合、取得した関係グラフ１０１を破棄してもよい。
【００４７】
また、取得部３０２は、推移元ノードから推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得してもよい。種別情報とは、例えば、レスポンスのＣｏｎｔｅｎｔ−Ｔｙｐｅである。取得部３０２は、具体的には、例えば、情報処理装置１００の利用者によって、或るアクセス元が呼び出したＡＰＩから或るアクセス先へのアクセスを許可するアクセス先レスポンスの種別として入力された、種別「ｔｅｘｔ／ｈｔｍｌ」を取得する。
【００４８】
また、取得部３０２は、具体的には、例えば、ＡＰＩ呼び出しが埋め込まれたウェブページを提供するウェブサーバから、種別情報を取得してもよい。この場合、入力部３０１は、利用者のキーボード２１０やマウス２１１の操作を受け付けて、ウェブサーバから取得した種別情報を使用するか否かを入力してもよい。そして、取得部３０２は、入力部３０１によって使用しないと入力された場合、取得した種別情報を破棄してもよい。
【００４９】
取得部３０２は、アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する。共通のアドレスが存在するとは、ノードの組の各ノードに関連付けた統一化可能な言語によるパターンにより表現されたアドレスに、共通のアドレスがマッチすることをいう。アドレスがマッチするとは、統一化可能な言語によるパターンにより表現されたアドレスが示すアドレス群に含まれることをいう。統一情報とは、例えば、上述した統一グラフ１０２のエッジである。
【００５０】
取得部３０２は、具体的には、例えば、情報処理装置１００の利用者により入力され、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されている統一グラフ１０２を取得する。
【００５１】
また、取得部３０２は、生成部３０３によって生成された統一情報を取得してもよい。この場合、生成部３０３は、アドレスを関連付けたノードの中から、共通のアドレスがマッチするノードの組を特定し、特定したノードの組を示す統一情報を生成することになる。生成部３０３は、具体的には、例えば、取得した関係グラフ１０１の中から、統一化可能なノードを特定してエッジを追加することにより、統一グラフ１０２を生成する。
【００５２】
また、取得部３０２は、ＡＰＩ呼び出しが埋め込まれたウェブページを提供するウェブサーバから、統一グラフ１０２を取得してもよい。この場合、入力部３０１は、利用者のキーボード２１０やマウス２１１の操作を受け付けて、ウェブサーバから取得した統一グラフ１０２を使用するか否かを入力してもよい。そして、取得部３０２は、入力部３０１によって使用しないと入力された場合、取得した統一グラフ１０２を破棄してもよい。
【００５３】
これにより、探索部３０５は、取得部３０２によって取得された関係グラフ１０１と統一グラフ１０２とを用いて、アクセス元ＵＲＩにマッチするＵＲＩが関連付けられたノードから推移可能な隣接するノードを探索することができる。取得されたデータは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５４】
特定部３０４は、アドレスを関連付けたノードの中から、入力部３０１によって入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定する。特定部３０４は、具体的には、図１の例では、関係グラフ１０１のノードＮ１〜Ｎ４の中から、アクセス元ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」にマッチする統一化可能な言語によるパターンにより表現されたＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ」が関連付けられたノードＮ１を特定する。
【００５５】
また、統一化可能な言語によるパターンにより表現されたＵＲＩ「／／＠ｅｘａｍｐｌｅ．ｃｏｍ」が関連付けられたノードがある場合を例に挙げる。この場合、特定部３０４は、アクセス元ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」にマッチする統一化可能な言語によるパターンにより表現されたＵＲＩ「／／＠ｅｘａｍｐｌｅ．ｃｏｍ」が関連付けられたノードを特定してもよい。
【００５６】
これにより、探索部３０５は、特定部３０４によって特定されたノードから探索を開始することができる。特定されたノードは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５７】
探索部３０５は、取得部３０２によって取得された接続情報および統一情報に基づいて、特定部３０４によって特定されたノードから推移可能なノードを探索する。探索部３０５は、具体的には、例えば、接続情報に基づいて、特定されたノードを推移元ノードにする推移先ノードを探索する。
【００５８】
探索部３０５は、より具体的には、図１の例では、関係グラフ１０１において、特定されたノードＮ１からエッジにより接続されたノードＮ２を探索する。これにより、判定部３０６は、探索されたノードに、アクセス先ＵＲＩにマッチする統一化可能な言語によるパターンにより表現されたＵＲＩが関連付けられているか否かを判定することができる。
【００５９】
また、探索部３０５は、具体的には、例えば、統一情報に基づいて、判定部３０６によってマッチしないと判定されたノードから推移可能なノードを探索してもよい。次に、探索部３０５は、接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索してもよい。
【００６０】
探索部３０５は、より具体的には、図１の例では、統一グラフ１０２において、ノードＮ２からエッジにより接続されたノードＮ３を探索する。次に、探索部３０５は、関係グラフ１０１において、探索されたノードＮ３からエッジにより接続されたノードＮ４を探索する。これにより、判定部３０６は、探索されたノードに、アクセス先ＵＲＩにマッチする統一化可能な言語によるパターンにより表現されたＵＲＩが関連付けられているか否かを判定することができる。
【００６１】
また、探索部３０５は、具体的には、例えば、接続情報に基づいて、入力部３０１によって入力された種別が取得部３０２によって取得された種別情報が示す種別であって、特定されたノードを推移元ノードにする推移先ノードを探索してもよい。
【００６２】
探索部３０５は、具体的には、例えば、関係グラフ１０１において、特定されたノードから種別情報「ｔｅｘｔ／ｈｔｍｌ」が関連付けられたエッジにより接続されたノードを探索する。また、探索部３０５は、特定されたノードから任意の種別を示す種別情報「空集合」が関連付けられたエッジにより接続されたノードを探索してもよい。これにより、判定部３０６は、探索されたノードに、アクセス先ＵＲＩにマッチする統一化可能な言語によるパターンにより表現されたＵＲＩが関連付けられているか否かを判定することができる。
【００６３】
探索部３０５は、統一情報に基づいて、判定部３０６によってマッチしないと判定されたノードから推移可能なノードを探索する。次に、探索部３０５は、接続情報に基づいて、入力部３０１によって入力された種別が取得部３０２によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索する。
【００６４】
ここで、探索されたノードに、アクセス先ＵＲＩにマッチする統一化可能な言語によるパターンにより表現されたＵＲＩが関連付けられていない場合を例に挙げる。この場合、探索部３０５は、統一グラフ１０２において、アクセス先ＵＲＩにマッチする統一化可能な言語によるパターンにより表現されたＵＲＩが関連付けられていないノードからエッジにより接続されたノードを探索する。
【００６５】
次に、探索部３０５は、関係グラフ１０１において、探索されたノードから種別情報「ｔｅｘｔ／ｈｔｍｌ」が関連付けられたエッジにより接続されたノードを探索する。これにより、判定部３０６は、探索されたノードに、アクセス先ＵＲＩとマッチする統一化可能な言語によるパターンにより表現されたＵＲＩが関連付けられているか否かを判定することができる。探索されたノードは、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６６】
判定部３０６は、探索部３０５によって探索されたノードに関連付けられたアドレスに、入力部３０１によって入力されたアクセス先アドレスがマッチするか否かを判定する。判定部３０６は、具体的には、図１の例では、探索されたノードＮ４に関連付けられたＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」に、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」がマッチすると判定する。
【００６７】
また、統一化可能な言語によるパターンにより表現されたＵＲＩ「／／＠ｅｘａｍｐｌｅ．ｃｏｍ」が関連付けられたノードが、探索された場合を例に挙げる。この場合、探索されたノードに関連付けられ、統一化可能な言語によるパターンにより表現されたＵＲＩ「／／＠ｅｘａｍｐｌｅ．ｃｏｍ」に、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」がマッチする。そのため、判定部３０６は、マッチすると判定する。
【００６８】
これにより、設定部３０７は、判定結果を用いて、アクセス元ＵＲＩを生成元にするＡＰＩからアクセス先ＵＲＩへのアクセスを許可することができる。判定結果は、例えば、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００６９】
設定部３０７は、判定部３０６によってマッチすると判定された場合、アクセス元アドレスからアクセス先アドレスへのアクセスを禁止する状態から、アクセス元アドレスからアクセス先アドレスへのアクセスを許可する状態に設定する。アクセスを禁止する状態とは、アクセス元アドレスのウェブページにおいて呼び出されたＡＰＩによる、アクセス先アドレスのウェブページから返されたレスポンスへのアクセスを禁止することをいう。
【００７０】
設定部３０７は、具体的には、例えば、ウェブブラウザを「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」を回避するように設定する。これにより、ウェブブラウザ内のアクセス元ＵＲＩにより呼び出されるＡＰＩは、アクセス先ＵＲＩから送られてきたレスポンスへアクセスすることができる。
【００７１】
また、情報処理装置１００は、判定部３０６によってマッチしないと判定された場合、アクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとを、関係グラフ１０１に追加して、エッジにより接続してもよい。
【００７２】
この場合、入力部３０１は、利用者からアクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとの組を、推移可能なノードの組として設定するか否かを示す許可情報の入力を受け付ける。
【００７３】
この場合、生成部３０３は、許可情報が設定することを示す場合、アクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとを関係グラフ１０１に追加して、エッジにより接続する。これにより、情報処理装置１００の利用者は、アクセスが不可能と判定されたＵＲＩの組を関係グラフに追加して、アクセス可能なＵＲＩの組に設定することができる。
【００７４】
ここでは、情報処理装置１００は、情報処理装置１００が取得したウェブページのＵＲＩから、ウェブページ内のＡＰＩ呼び出しによるリクエストの送信先になりレスポンスを返すウェブページのＵＲＩへのアクセスの可否を判定したが、これに限らない。例えば、情報処理装置１００は、利用者から任意のアクセス元アドレスとアクセス先アドレスの組の入力を受け付けて、アクセスの可否を判定してもよい。
【００７５】
ここで、取得部３０２と特定部３０４と探索部３０５と判定部３０６の機能は、ウェブページのＵＲＩから、ウェブページ内のＡＰＩにレスポンスを返すウェブページのＵＲＩへのアクセス可否を判定する場合と同様のため、説明を省略する。
【００７６】
この場合、入力部３０１は、利用者によるキーボード２１０やマウス２１１の操作を受けて、アクセス元アドレスとアクセス先アドレスとを入力する。入力部３０１は、具体的には、例えば、アクセス元ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」と、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」と、を入力する。
【００７７】
この場合、出力部３０８は、判定部３０５による判定結果を出力する。出力形式としては、例えば、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部装置への送信がある。また、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶することとしてもよい。これにより、情報処理装置１００の利用者は、入力した任意のアクセス元アドレスからアクセス先アドレスへのアクセスが可能か否かを知ることができる。
【００７８】
（関係グラフ１０１から統一グラフ１０２の生成）
次に、図４〜図９を用いて、関係グラフ１０１から統一グラフ１０２を生成する詳細について説明する。まず、図４を用いて、関係グラフ１０１の一例について説明する。
【００７９】
図４は、関係グラフ１０１の一例を示す説明図である。図４に示すように、関係グラフ１０１は、統一化可能な言語によるパターンにより表現されたＵＲＩを関連付けたノード群を含むグラフである。関係グラフ１０１は、パターンを用いずに表現されたＵＲＩを関連付けたノードを含んでもよい。
【００８０】
また、関係グラフ１０１は、アクセスが許可されたアクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとが、有向エッジにより接続されたグラフである。図４の例では、ノードＮ１からノードＮ２へ有向エッジにより接続されている。また、ノードＮ３からノードＮ４へ有向エッジにより接続されている。
【００８１】
また、関係グラフ１０１は、有向エッジに、レスポンスのＣｏｎｔｅｔ−Ｔｙｐｅを指定する情報を関連付けていてもよい。図４の例では、ノードＮ１からノードＮ２への有向エッジには、ｔｅｘｔ／ｈｔｍｌが関連付けられている。ノードＮ３からノードＮ４への有向エッジには、空集合が関連付けられている。空集合は任意のＣｏｎｔｅｎｔ−Ｔｙｐｅが関連付けられていることを示す。
【００８２】
上述したように、関係グラフ１０１のノードに関連付けられたＵＲＩは、統一化可能な言語によるパターンを用いて表すことができる。ＵＲＩは、例えば、スキーマを省略して表すことができる。スキーマが省略されたＵＲＩは、任意のスキーマのＵＲＩにマッチする。
【００８３】
また、ＵＲＩは、例えば、ホスト名の前方に、ユーザ情報を示す＠を付与して表すことができる。例えば、＠を用いたＵＲＩは、＠を０文字に置き換えたＵＲＩにマッチする。また、例えば、＠を用いたＵＲＩは、＠を、末尾が「．（ドット）」になる任意の文字列に置き換えたＵＲＩにマッチする。
【００８４】
また、ＵＲＩは、例えば、ポート番号を省略して表すことができる。ポート番号が省略されたＵＲＩは、任意のポート番号のＵＲＩにマッチする。ここで、図５を用いて、統一化可能な言語によるパターンにより表現されたＵＲＩの一例について説明する。
【００８５】
図５は、統一化可能な言語によるパターンにより表現されたＵＲＩの一例を示す説明図である。図５の（Ａ）に示すように、ＵＲＩ「／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」は、スキーマとポート番号とが省略して表されている。そのため、ＵＲＩ「／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」は、例えば、ＵＲＩ「ｈｔｔｐ：／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ：８０８０」やＵＲＩ「ｈｔｔｐｓ：／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」にマッチする。
【００８６】
図５の（Ｂ）に示すように、ＵＲＩ「ｈｔｔｐｓ：／／＠ｅｘａｍｐｌｅ．ｎｅｔ」は、ホスト名の前方にユーザ情報＠を付与して、ポート番号が省略して表されている。そのため、ＵＲＩ「ｈｔｔｐｓ：／／＠ｅｘａｍｐｌｅ．ｎｅｔ」は、例えば、ＵＲＩ「ｈｔｔｐｓ：／／ｅｘａｍｐｌｅ．ｎｅｔ：８４４３」やＵＲＩ「ｈｔｔｐｓ：／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」にマッチする。
【００８７】
図５の（Ｃ）に示すように、ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」は、統一化可能な言語によるパターンが使用されていない。ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」は、例えば、ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」自体にマッチする。
【００８８】
ここで、情報処理装置１００は、統一化可能な言語によるパターンにより表現されたＵＲＩの中から統一化可能なＵＲＩ同士を特定して、統一化可能なＵＲＩ同士を関連付けたノード同士をエッジにより接続した統一グラフ１０２を生成する。次に、図６を用いて、情報処理装置１００による統一グラフ１０２の生成例について説明する。
【００８９】
図６は、情報処理装置１００による統一グラフ１０２の生成例を示す説明図である。情報処理装置１００は、例えば、ノードＮ２に関連付けられたＵＲＩ「／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」と、ノードＮ３に関連付けられたＵＲＩ「ｈｔｔｐｓ：／／＠ｅｘａｍｐｌｅ．ｎｅｔ」と、を比較する。
【００９０】
ここで、ノードＮ２に関連付けられたＵＲＩのスキーマが省略されており、ノードＮ３に関連付けられたＵＲＩのスキーマが「ｈｔｔｐｓ」である。また、ノードＮ２に関連付けられたＵＲＩのホスト名が「ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」であり、ノードＮ３に関連付けられたＵＲＩのホスト名の前方にユーザ情報「＠」が付与された「＠ｅｘａｍｐｌｅ．ｎｅｔ」である。ノードＮ２とノードＮ３とに関連付けられたＵＲＩのポート番号は互いに省略されている。
【００９１】
そのため、情報処理装置１００は、ノードＮ２とノードＮ３とに関連付けられたＵＲＩには、共通のＵＲＩ（例えば、「ｈｔｔｐｓ：／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」）がマッチすると判定し、統一化可能であると判定する。そして、情報処理装置１００は、図６の（Ａ）に示すように、ノードＮ２とノードＮ３とをエッジにより接続する。
【００９２】
また、情報処理装置１００は、図６の（Ｂ）に示すように、有向２部グラフにより統一グラフ１０２を表してもよい。有向２部グラフの左側はアクセス元のＵＲＩを示し、有向２部グラフの右側はアクセス先のＵＲＩを示す。情報処理装置１００は、有向２部グラフにおいて、右側のＵＲＩと左側のＵＲＩとを比較し、統一化可能なＵＲＩを関連付けたノードがあればエッジにより右側から左側へ接続する。
【００９３】
次に、図７を用いて、関係グラフ１０１にノードが追加された場合の統一グラフ１０２の生成について説明する。
【００９４】
図７は、関係グラフ１０１にノードが追加された場合の統一グラフ１０２の生成を示す説明図である。図７の例では、（１）ＵＲＩ「ｈｔｔｐｓ：／／＠ｅｘａｍｐｌｅ．ｃｏｍ」を関連付けたノードＮ５と、ＵＲＩ「ｈｔｔｐ：／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」を関連付けたノードＮ６とが、関係グラフ１０１に追加される。ノードＮ５からノードＮ６へはエッジにより接続されている。
【００９５】
（２）ここで、情報処理装置１００は、ノードＮ５，Ｎ６を統一グラフ１０２にも追加する。次に、情報処理装置１００は、ノードＮ１〜Ｎ４に関連付けられたＵＲＩの中から、追加されたノードＮ５，Ｎ６に関連付けられたＵＲＩと統一化可能なＵＲＩを特定して、統一化可能なＵＲＩを関連付けたノード同士をエッジにより接続する。図７の例では、情報処理装置１００は、ノードＮ１とノードＮ５と、ノードＮ４とノードＮ５と、ノードＮ２とノードＮ６と、をそれぞれ接続する。
【００９６】
次に、図８を用いて、統一グラフ生成処理の詳細な処理手順について説明する。統一グラフ生成処理は、図４〜図７に示した情報処理装置１００による関係グラフ１０１を用いて統一グラフ１０２を生成する処理である。
【００９７】
図８は、統一グラフ生成処理の詳細な処理手順を示すフローチャートである。図８に示すように、まず、情報処理装置１００は、関係グラフ１０１に追加されたノードＮａを統一グラフ１０２に追加する（ステップＳ８０１）。
【００９８】
次に、情報処理装置１００は、未処理のノードＮｉがあるか否かを判定する（ステップＳ８０２）。ここで、ノードＮｉは、任意のノードを示す。未処理のノードＮｉがない場合（ステップＳ８０２：Ｎｏ）、情報処理装置１００は、統一グラフ生成処理を終了する。
【００９９】
一方、未処理のノードＮｉがある場合（ステップＳ８０２：Ｙｅｓ）、情報処理装置１００は、未処理のノードＮｉを選択する（ステップＳ８０３）。次に、情報処理装置１００は、選択したノードＮｉに関連付けられたＵＲＩと追加したノードＮａに関連付けられたＵＲＩとに対して、図９に示す統一化判定処理を実行する（ステップＳ８０４）。
【０１００】
そして、情報処理装置１００は、統一化判定処理による判定結果が統一化「可能」であるか否かを判定する（ステップＳ８０５）。ここで、統一化「可能」でない場合（ステップＳ８０５：Ｎｏ）、情報処理装置１００は、ステップＳ８０２に戻る。
【０１０１】
一方、情報処理装置１００は、統一化「可能」である場合（ステップＳ８０５：Ｙｅｓ）、統一グラフ１０２のうち、選択したノードＮｉと追加したノードＮａとをエッジにより接続し（ステップＳ８０６）、ステップＳ８０２に戻る。
【０１０２】
これにより、情報処理装置１００は、関係グラフ１０１にノードが追加される都度、追加されたノードを統一グラフ１０２にも追加していくことにより、関係グラフ１０１から統一グラフ１０２を生成することができる。次に、図９を用いて、ステップＳ８０４の統一化判定処理の詳細な処理手順について説明する。
【０１０３】
図９は、ステップＳ８０４の統一化判定処理の詳細な処理手順を示すフローチャートである。図９に示すように、情報処理装置１００は、ＵＲＩの組を受け付ける（ステップＳ９０１）。次に、情報処理装置１００は、受け付けたＵＲＩの組を、スキーマとユーザ情報とホスト名とポート番号とに分解する（ステップＳ９０２）。
【０１０４】
そして、情報処理装置１００は、スキーマが異なる文字列か否かを判定する（ステップＳ９０３）。ＵＲＩの組のいずれかのＵＲＩのスキーマが省略されている場合はスキーマは異なる文字列でないと判定する。
【０１０５】
ここで、スキーマが異なる文字列である場合（ステップＳ９０３：Ｙｅｓ）、情報処理装置１００は、ステップＳ９１０に移行する。
【０１０６】
一方、スキーマが異なる文字列でない場合（ステップＳ９０３：Ｎｏ）、情報処理装置１００は、ホスト名が同一か否かを判定する（ステップＳ９０４）。ここで、ホスト名が同一の場合（ステップＳ９０４：Ｙｅｓ）、情報処理装置１００は、ステップＳ９０９に移行する。
【０１０７】
一方、ホスト名が同一でない場合（ステップＳ９０４：Ｎｏ）、情報処理装置１００は、ＵＲＩの組のうち、ホスト名が短い方のＵＲＩをＵＲＩ１として設定し、ホスト名が長い方のＵＲＩをＵＲＩ２として設定する（ステップＳ９０５）。
【０１０８】
次に、情報処理装置１００は、ＵＲＩ１にユーザ情報＠があるか否かを判定する（ステップＳ９０６）。ここで、ユーザ情報＠がない場合（ステップＳ９０６：Ｎｏ）、情報処理装置１００は、ステップＳ９１０に移行する。
【０１０９】
一方、ユーザ情報＠がある場合（ステップＳ９０６：Ｙｅｓ）、情報処理装置１００は、ＵＲＩ１のホスト名が空であるか否かを判定する（ステップＳ９０７）。ここで、空である場合（ステップＳ９０７：Ｙｅｓ）、情報処理装置１００は、ステップＳ９０９に移行する。
【０１１０】
一方、空でない場合（ステップＳ９０７：Ｎｏ）、情報処理装置１００は、ＵＲＩ２のホスト名の末尾が「．ＵＲＩ１のホスト名」であるか否かを判定する（ステップＳ９０８）。ここで、ＵＲＩ２のホスト名の末尾が「．ＵＲＩ１のホスト名」でない場合（ステップＳ９０８：Ｎｏ）、情報処理装置１００は、ステップＳ９１０に移行する。
【０１１１】
一方、ＵＲＩ２のホスト名の末尾が「．ＵＲＩ１のホスト名」である場合（ステップＳ９０８：Ｙｅｓ）、情報処理装置１００は、ポート番号が異なる値であるか否かを判定する（ステップＳ９０９）。ＵＲＩの組のいずれかのＵＲＩのポート番号が省略されている場合はポート番号は異なる値でないと判定する。
【０１１２】
ここで、ポート番号が異なる値である場合（ステップＳ９０９：Ｙｅｓ）、情報処理装置１００は、統一化「不可能」を出力し（ステップＳ９１０）、統一化判定処理を終了する。
【０１１３】
一方、ポート番号が異なる値でない場合（ステップＳ９０９：Ｎｏ）、情報処理装置１００は、統一化「可能」を出力し（ステップＳ９１１）、統一化判定処理を終了する。これにより、情報処理装置１００は、統一グラフ１０２において、エッジにより接続すべきノードの組を特定することができる。
【０１１４】
（アクセス可否の判定）
次に、図１０〜図１２を用いて、情報処理装置１００によるアクセス可否の判定について説明する。まず、図１０を用いて、情報処理装置１００によるアクセス可否の判定例について説明する。
【０１１５】
図１０は、情報処理装置１００によるアクセス可否の判定例を示す説明図である。図１０の（Ａ）に示すように、（１）情報処理装置１００は、ウェブサーバＳ１からウェブページを取得する。取得したウェブページにはＡＰＩ呼び出しがある。ＡＰＩは、ウェブサーバＳ２にアクセスし、ウェブサーバＳ２から情報を取得するＡＰＩである。ＡＰＩは、例えば、「Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ」の「ＸＭＬＨｔｔｐＲｅｑｕｅｓｔ」である。
【０１１６】
ここで、情報処理装置１００は、ＡＰＩが呼び出された場合、ＡＰＩ呼び出しがあるウェブページのＵＲＩから、ＡＰＩによりアクセスされるＵＲＩへのアクセスが許可されているか否かを判定する。そのため、情報処理装置１００は、ＡＰＩ呼び出しがあるウェブページのＵＲＬをＵＲＩに変換してアクセス元ＵＲＩとして設定し、ＡＰＩによりアクセスされるＵＲＬをＵＲＩに変換してアクセス先ＵＲＩとして設定し、アクセス可否を判定する。
【０１１７】
情報処理装置１００は、例えば、ＵＲＬのスキーム、ホスト名、ポート番号を抽出して連結することにより、ＵＲＬをＵＲＩに変換する。また、情報処理装置１００は、ポート番号が省略されている場合は、ポート番号を補完する。一般に、情報処理装置１００は、ポート番号が省略されている場合、ポート番号として８０番を補完する。
【０１１８】
また、情報処理装置１００は、呼び出したＡＰＩのレスポンスの種別として、種別「ｔｅｘｔ／ｈｔｍｌ」を取得してもよい。呼び出したＡＰＩによりどのようなレスポンスが受信されたかは、例えば、ＨＴＴＰレスポンスのヘッダデータから取得することができる。
【０１１９】
図１０の（Ａ）の例では、情報処理装置１００は、アクセス元ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」と、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」とを設定したとする。また、情報処理装置１００は、ＡＰＩのレスポンスの種別として「ｔｅｘｔ／ｈｔｍｌ」を取得したとする。
【０１２０】
図１０の（Ｂ）に示すように、（２）情報処理装置１００は、ノードの中から、アクセス元ＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」とマッチするＵＲＩ「ｈｔｔｐｓ：／／ａ．ｅｘａｍｐｌｅ．ｃｏｍ」を関連付けられたノードＮ１を特定する。
【０１２１】
次に、情報処理装置１００は、関係グラフ１０１において、ノードＮ１と隣接し、種別「ｔｅｘｔ／ｈｔｍｌ」が関連付けられたエッジを辿って、ノードＮ１から推移可能なノードＮ２を探索する。隣接するとは、ノード同士が、１本のエッジにより接続されていることをいう。ここで、情報処理装置１００は、探索されたノードＮ２に関連付けられたＵＲＩ「／／ｂ．ｅｘａｍｐｌｅ．ｎｅｔ」に、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」がマッチするか否かを判定する。
【０１２２】
そして、情報処理装置１００は、ノードＮ２に関連付けられたＵＲＩにアクセス先ＵＲＩがマッチしないため、図１０の（Ｃ）の（３）の処理に移行して、統一グラフ１０２において、ノードＮ２と隣接し、ノードＮ２から推移可能なノードを探索する。
【０１２３】
図１０の（Ｃ）に示すように、（３）情報処理装置１００は、統一グラフ１０２において、ノードＮ２と隣接し、ノードＮ２から推移可能なノードＮ３を探索する。次に、情報処理装置１００は、図１０の（Ｃ）の（４）の処理に移行して、関係グラフ１０１において、ノードＮ３と隣接し、ノードＮ３から推移可能なノードを探索する。
【０１２４】
（４）次に、情報処理装置１００は、関係グラフ１０１において、ノードＮ３と隣接し、種別「ｔｅｘｔ／ｈｔｍｌ」を含む種別「空集合」が関連付けられたエッジを辿って、ノードＮ３から推移可能なノードＮ４を探索する。ここで、情報処理装置１００は、探索されたノード４に関連付けられたＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」に、アクセス先ＵＲＩ「ｈｔｔｐｓ：／／ｃ．ｅｘａｍｐｌｅ．ｃｏｍ：４４３」がマッチするか否かを判定する。
【０１２５】
そして、情報処理装置１００は、ノードＮ４に関連付けられたＵＲＩにアクセス先ＵＲＩがマッチすると判定する。そのため、情報処理装置１００は、アクセス元ＵＲＩがマッチするＵＲＩが関連付けられたノードＮ１から、アクセス先ＵＲＩがマッチするＵＲＩが関連付けられたノードＮ４へと推移可能であると判定して、アクセス可能であると判定する。
【０１２６】
次に、図１１および図１２を用いて、アクセス可否判定処理の詳細な処理手順について説明する。アクセス可否判定処理は、図１０に示した情報処理装置１００により実行される処理である。
【０１２７】
図１１および図１２は、アクセス可否判定処理の詳細な処理手順を示すフローチャートである。図１１に示すように、情報処理装置１００は、アクセス元ＵＲＩとアクセス先ＵＲＩとの入力を受け付ける（ステップＳ１１０１）。
【０１２８】
次に、情報処理装置１００は、受け付けたＵＲＩが同一か否かを判定する（ステップＳ１１０２）。ここで、ＵＲＩが同一である場合（ステップＳ１１０２：Ｙｅｓ）、情報処理装置１００は、アクセス「可能」と出力し（ステップＳ１１０３）、アクセス可否判定処理を終了する。
【０１２９】
一方、ＵＲＩが同一でない場合（ステップＳ１１０２：Ｎｏ）、情報処理装置１００は、アクセス元ＵＲＩと関係グラフ１０１の各ノードに関連付けられたＵＲＩとに対して、ノードごとの統一化判定処理を実行する（ステップＳ１１０４）。統一化判定処理は、図９に示した処理である。
【０１３０】
次に、情報処理装置１００は、統一化判定処理により統一化「可能」と出力されたノードを抽出する（ステップＳ１１０５）。ステップＳ１１０４およびステップＳ１１０５の処理により、情報処理装置１００は、ノードの数だけ統一化判定処理を行い、統一化可能な全ノードを抽出する。そして、情報処理装置１００は、抽出されたノードを、ｈｉｓｔｏｒｙＳｅｔとｓｔａｃｋとに格納する（ステップＳ１１０６）。
【０１３１】
ここで、ｈｉｓｔｏｒｙＳｅｔは、処理済みのノードを格納する記憶領域である。情報処理装置１００は、ｈｉｓｔｏｒｙＳｅｔの格納内容を参照することにより、処理済みのノードを再び処理することを防止することができる。ｓｔａｃｋは、処理待ちのノードを格納する記憶領域である。
【０１３２】
次に、情報処理装置１００は、ｓｔａｃｋが空でないか否かを判定する（ステップＳ１１０７）。ここで、ｓｔａｃｋが空でない場合（ステップＳ１１０７：Ｙｅｓ）、情報処理装置１００は、図１２のステップＳ１２０１に移行する。
【０１３３】
一方、ｓｔａｃｋが空である場合（ステップＳ１１０７：Ｎｏ）、情報処理装置１００は、アクセス「不可能」と出力し（ステップＳ１１０８）、アクセス可否判定処理を終了する。
【０１３４】
図１２において、情報処理装置１００は、ｓｔａｃｋからノードを選択し、選択したノードをｓｔａｃｋから消去する（ステップＳ１２０１）。次に、情報処理装置１００は、関係グラフ１０１において、選択したノードと隣接し、選択したノードから推移可能なエッジを抽出する（ステップＳ１２０２）。
【０１３５】
そして、情報処理装置１００は、抽出したエッジの中に、未処理のエッジがあるか否かを判定する（ステップＳ１２０３）。未処理のエッジがない場合（ステップＳ１２０３：Ｎｏ）、情報処理装置１００は、図１１のステップＳ１１０７に移行する。
【０１３６】
一方、未処理のエッジがある場合（ステップＳ１２０３：Ｙｅｓ）、情報処理装置１００は、未処理のエッジを選択する（ステップＳ１２０４）。次に、情報処理装置１００は、選択したエッジに関連付けられたＣｏｎｔｅｎｔ−Ｔｙｐｅが、アクセス先のＣｏｎｔｅｎｔ−Ｔｙｐｅを含むか否かを判定する（ステップＳ１２０５）。
【０１３７】
ここで、Ｃｏｎｔｅｎｔ−Ｔｙｐｅを含まない場合（ステップＳ１２０５：Ｎｏ）、情報処理装置１００は、ステップＳ１２０３に戻る。一方、Ｃｏｎｔｅｎｔ−Ｔｙｐｅを含む場合（ステップＳ１２０５：Ｙｅｓ）、情報処理装置１００は、選択したノードと隣接し、選択したエッジにより推移可能なノードに関連付けられたＵＲＩとアクセス先ＵＲＩとに対して、統一化判定処理を実行する（ステップＳ１２０６）。統一化判定処理は、図９に示した処理である。
【０１３８】
次に、情報処理装置１００は、統一化判定処理による判定結果が統一化「可能」であるか否かを判定する（ステップＳ１２０７）。ここで、統一化「可能」である場合（ステップＳ１２０７：Ｙｅｓ）、情報処理装置１００は、図１１のステップＳ１１０３に移行する。
【０１３９】
一方、統一化「不可能」である場合（ステップＳ１２０７：Ｎｏ）、情報処理装置１００は、統一グラフ１０２において、判定結果が統一化「不可能」であるノードに隣接して推移可能なノードを抽出する（ステップＳ１２０８）。
【０１４０】
次に、情報処理装置１００は、抽出したノードの中に、未処理のノードがあるか否かを判定する（ステップＳ１２０９）。ここで、未処理のノードがない場合（ステップＳ１２０９：Ｎｏ）、情報処理装置１００は、ステップＳ１２０３に戻る。
【０１４１】
一方、未処理のノードがある場合（ステップＳ１２０９：Ｙｅｓ）、情報処理装置１００は、未処理のノードを選択する（ステップＳ１２１０）。次に、情報処理装置１００は、選択したノードがｈｉｓｔｏｒｙＳｅｔに含まれるか否かを判定する（ステップＳ１２１１）。
【０１４２】
ここで、ｈｉｓｔｏｒｙＳｅｔに含まない場合（ステップＳ１２１１：Ｎｏ）、情報処理装置１００は、選択したノードをｈｉｓｔｏｒｙＳｅｔとｓｔａｃｋとに追加して（ステップＳ１２１２）、ステップＳ１２０９に戻る。
【０１４３】
一方、ｈｉｓｔｏｒｙＳｅｔに含まれる場合（ステップＳ１２１１：Ｙｅｓ）、情報処理装置１００は、ステップＳ１２０９に戻る。これにより、情報処理装置１００の利用者は、許可していないアクセス元ＵＲＩとアクセス先ＵＲＩの組について、アクセス元ＵＲＩからのアクセス先ＵＲＩのレスポンスへのアクセスを禁止してセキュリティを確保することができる。
【０１４４】
また、情報処理装置１００は、アクセス可否判定処理を実行するか否かを、情報処理装置１００の利用者に入力させてもよい。これにより、情報処理装置１００の利用者は、信頼できないウェブページにあるＡＰＩが、アクセス先ＵＲＩのウェブページの情報へアクセスできないようにすることができる。
【０１４５】
また、情報処理装置１００は、情報処理装置１００の利用者から、任意のアクセス元ＵＲＩとアクセス先ＵＲＩとの組の入力を受け付けてもよい。そして、情報処理装置１００は、受け付けたＵＲＩの組に対して、アクセス可否判定処理を実行してもよい。これにより、情報処理装置１００の利用者は、任意のアクセス元ＵＲＩとアクセス先ＵＲＩとの組が、アクセス可能なＵＲＩの組か否かを知ることができる。結果として、情報処理装置１００の利用者は、自身が設定した関係グラフ１０１によりアクセス可能と判定されるＵＲＩの組が、自身の想定したＵＲＩの組になっているかを確認することができる。
【０１４６】
ここで、情報処理装置１００は、アクセス「不可能」と判定された場合、情報処理装置１００の利用者から、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可するか否かの入力を受け付けてもよい。次に、図１３を用いて、アクセス許可の入力例について説明する。
【０１４７】
図１３は、アクセス許可の入力例を示す説明図である。図１３に示すように、情報処理装置１００は、「Ｓａｍｅ  Ｏｒｉｇｉｎ  Ｐｏｌｉｃｙ」を回避する危険性を示す注意文と、アクセス「不可能」と判定されたアクセス元ＵＲＩ、アクセス先ＵＲＩ、およびＣｏｎｔｅｎｔ−Ｔｙｐｅをディスプレイ２０８に表示する。
【０１４８】
また、情報処理装置１００は、ディスプレイ２０８に、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可することを示す入力ボタン「了解」を表示する。また、情報処理装置１００は、ディスプレイ２０８に、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可しないことを示す入力ボタン「取消」を表示する。
【０１４９】
そして、情報処理装置１００は、利用者のキーボード２１０やマウス２１１の操作により、「了解」の入力ボタンが押下された場合、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可する。これにより、情報処理装置１００は、「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスのうち、「了解」の入力ボタンが押下された今回のアクセスのみを許可することができる。
【０１５０】
また、情報処理装置１００は、「了解」の入力ボタンが押下された場合、アクセス「不可能」と判定されたアクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとを関係グラフ１０１に追加し、エッジにより接続してもよい。これにより、情報処理装置１００は、「了解」の入力ボタンが押下された以降において、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可することができる。
【０１５１】
次に、図１４を用いて、アクセス許可設定処理の詳細な処理手順について説明する。アクセス許可設定処理は、図１３に示した情報処理装置１００による「了解」の入力ボタンが押下され、ノードを関係グラフ１０１に追加する場合の処理である。
【０１５２】
図１４は、アクセス許可設定処理の詳細な処理手順を示すフローチャートである。図１４に示すように、情報処理装置１００は、アクセス「不可能」と判定されたアクセス元ＵＲＩとアクセス先ＵＲＩとＣｏｎｔｅｎｔ−Ｔｙｐｅとを受け付ける（ステップＳ１４０１）。
【０１５３】
次に、情報処理装置１００は、関係グラフ１０１において、アクセス元アドレスからアクセス先アドレスを接続したエッジがあるか否かを判定する（ステップＳ１４０２）。ここで、エッジがある場合（ステップＳ１４０２：Ｙｅｓ）、情報処理装置１００は、エッジにＣｏｎｔｅｎｔ−Ｔｙｐｅを追加して（ステップＳ１４０３）、アクセス許可設定処理を終了する。
【０１５４】
一方、エッジがない場合（ステップＳ１４０２：Ｎｏ）、情報処理装置１００は、関係グラフ１０１に、アクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとを追加して、エッジにより接続する（ステップＳ１４０４）。
【０１５５】
次に、情報処理装置１００は、エッジにＣｏｎｔｅｎｔ−Ｔｙｐｅを追加する（ステップＳ１４０５）。そして、情報処理装置１００は、統一グラフ１０２を更新し（ステップＳ１４０６）、アクセス許可設定処理を終了する。これにより、情報処理装置１００は、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスが、以降において許可されるように、関係グラフ１０１と統一グラフ１０２を修正することができる。
【０１５６】
以上説明したように、情報処理装置１００は、関係グラフ１０１のエッジと、統一グラフ１０２のエッジと、を交互に辿ることにより、アクセス元ＵＲＩを関連付けたノードからアクセス先ＵＲＩを関連付けたノードに推移可能か否かを判定する。次に、情報処理装置１００は、推移可能である場合、アクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可する。
【０１５７】
これにより、情報処理装置１００は、アクセス許可関係をＵＲＩのパターンで表現でき、かつ推移律を適用できる。結果として、情報処理装置１００の利用者は、アクセスを許可するＵＲＩをパターンを用いて表して、関係グラフ１０１の設定量を低減することができるため、関係グラフ１０１を効率よく生成することができる。また、ＵＲＩは、ＯｒｉｇｉｎやＵＲＬであってもよい。
【０１５８】
情報処理装置１００は、関係グラフ１０１のエッジに、アクセスを許可するレスポンスの種別を示す種別情報を関連付けておいてもよい。これにより、情報処理装置１００は、推移律によるアクセス可否の判定において、レスポンスの種別を制限してアクセスを許可することができる。
【０１５９】
情報処理装置１００は、関係グラフ１０１から統一グラフ１０２を生成してもよい。これにより、情報処理装置１００の利用者による統一グラフ１０２の生成作業を削減することができる。
【０１６０】
また、情報処理装置１００は、アクセス元ＵＲＩのウェブページを提供したウェブサーバから関係グラフ１０１や統一グラフ１０２を取得してもよい。これにより、情報処理装置１００の利用者は、関係グラフ１０１や統一グラフ１０２の生成作業を削減することができる。また、この場合、情報処理装置１００は、取得した関係グラフ１０１や統一グラフ１０２を使用するか否かを情報処理装置１００の利用者に入力させ、使用しないと入力された場合は取得した関係グラフ１０１や統一グラフ１０２を破棄してもよい。これにより、情報処理装置１００の利用者は、信頼できないウェブサーバから取得した関係グラフ１０１や統一グラフ１０２を破棄し、セキュリティを確保することができる。
【０１６１】
また、情報処理装置１００は、情報処理装置１００の利用者から、任意のアクセス元ＵＲＩとアクセス先ＵＲＩとの組の入力を受け付けてもよい。そして、情報処理装置１００は、受け付けたＵＲＩの組に対して、アクセス可否判定処理を実行してもよい。これにより、情報処理装置１００の利用者は、任意のアクセス元ＵＲＩとアクセス先ＵＲＩとの組が、アクセス可能なＵＲＩの組か否かを知ることができる。結果として、情報処理装置１００の利用者は、自身が設定した関係グラフ１０１によりアクセス可能と判定されるＵＲＩの組が、自身の想定したＵＲＩの組になっているかを確認することができる。
【０１６２】
また、情報処理装置１００は、情報処理装置１００の利用者から、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスを許可するか否かの入力を受け付けてもよい。そして、情報処理装置１００は、利用者により許可された場合、アクセス「不可能」と判定されたアクセス元ＵＲＩを関連付けたノードとアクセス先ＵＲＩを関連付けたノードとを関係グラフ１０１に追加し、エッジにより接続してもよい。これにより、情報処理装置１００は、アクセス「不可能」と判定されたアクセス元ＵＲＩからアクセス先ＵＲＩへのアクセスが、以降において許可されるように、関係グラフ１０１と統一グラフ１０２を修正することができる。
【０１６３】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１６４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１６５】
（付記１）アクセス元アドレスとアクセス先アドレスとを入力する入力部と、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得する第１の取得部と、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得する第２の取得部と、
前記アドレスを関連付けたノードの中から、前記入力部によって入力されたアクセス元アドレスにマッチする前記アドレスが関連付けられたノードを特定する特定部と、
前記第１および第２の取得部によって取得された接続情報および統一情報に基づいて、前記特定部によって特定されたノードから推移可能なノードを探索する探索部と、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記入力部によって入力されたアクセス先アドレスがマッチするか否かを判定する判定部と、
前記判定部によってマッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する設定部と、
を有することを特徴とする情報処理装置。
【０１６６】
（付記２）前記探索部は、
前記接続情報に基づいて、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記１に記載の情報処理装置。
【０１６７】
（付記３）前記探索部は、
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記２に記載の情報処理装置。
【０１６８】
（付記４）前記入力部は、
前記アクセス先アドレスから受信するレスポンスの種別を入力し、
前記第１の取得部は、
前記推移元ノードから前記推移先ノードへ推移可能にする条件として設定されたアクセス先レスポンスの種別を示す種別情報を取得し、
前記探索部は、
前記接続情報に基づいて、前記入力部によって入力された種別が前記第１の取得部によって取得された種別情報が示す種別であって、前記特定されたノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記１に記載の情報処理装置。
【０１６９】
（付記５）前記探索部は、
前記統一情報に基づいて、前記判定部によってマッチしないと判定されたノードから推移可能なノードを探索し、前記接続情報に基づいて、前記入力部によって入力された種別が前記第１の取得部によって取得された種別情報が示す種別であって、探索された推移可能なノードを推移元ノードにする推移先ノードを探索し、
前記判定部は、
前記探索部によって探索されたノードに関連付けられた前記アドレスに、前記アクセス先アドレスがマッチするか否かを判定する、
ことを特徴とする付記４に記載の情報処理装置。
【０１７０】
（付記６）前記アドレスを関連付けたノードの中から、共通のアドレスがマッチするノードの組を特定し、特定したノードの組を示す前記統一情報を生成する統一情報生成部を有し、
前記第２の取得部は、
前記統一情報生成部によって生成された統一情報を取得する、
ことを特徴とする付記１〜５のいずれか一つに記載の情報処理装置。
【０１７１】
（付記７）前記統一化可能な言語によるパターンにより表現されたアドレスはＵＲＩであり、スキーマ、ホスト名の前半、およびポート番号の少なくともいずれかにワイルドカードを使用可能であることを特徴とする付記１〜６のいずれか一つに記載の情報処理装置。
【０１７２】
（付記８）前記判定部による判定結果を出力する出力部、
を有することを特徴とする付記１〜７のいずれか一つに記載の情報処理装置。
【０１７３】
（付記９）前記判定部によってマッチしないと判定された場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を、推移可能なノードＮの組として設定するか否かを示す許可情報を受け付ける受付部と、
前記受付部によって受け付けられた許可情報が設定することを示す場合、前記アクセス元アドレスを関連付けたノードと前記アクセス先アドレスを関連付けたノードとの組を示す接続情報を生成する接続情報生成部と、
を有することを特徴とする付記１〜８のいずれか一つに記載の情報処理装置。
【０１７４】
（付記１０）コンピュータが、
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行することを特徴とする情報処理方法。
【０１７５】
（付記１１）コンピュータに、
アクセス元アドレスとアクセス先アドレスとを入力し、
統一化可能な言語によるパターンにより表現されたアドレスが関連付けられたノードのうち、推移可能に設定された推移元ノードと推移先ノードとの組を示す接続情報を取得し、
前記アドレスを関連付けたノードのうち、共通のアドレスが存在するノード同士が推移可能なノードの組を示す統一情報を取得し、
前記アドレスを関連付けたノードの中から、入力されたアクセス元アドレスにマッチするアドレスが関連付けられたノードを特定し、
取得された接続情報および統一情報に基づいて、特定されたノードから推移可能なノードを探索し、
探索されたノードに関連付けられたアドレスに、入力されたアクセス先アドレスがマッチするか否かを判定し、
マッチすると判定された場合、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを禁止する状態から、前記アクセス元アドレスから前記アクセス先アドレスへのアクセスを許可する状態に設定する、
処理を実行させることを特徴とする情報処理プログラム。
【符号の説明】
【０１７６】
１００  情報処理装置
１０１  関係グラフ
１０２  統一グラフ
３０１  入力部
３０２  取得部
３０３  生成部
３０４  特定部
３０５  探索部
３０６  判定部
３０７  設定部
３０８  送信部
【図１】
0005811006.tif 000002
【図２】
0005811006.tif 000003
【図３】
0005811006.tif 000004
【図４】
0005811006.tif 000005
【図５】
0005811006.tif 000006
【図６】
0005811006.tif 000007
【図７】
0005811006.tif 000008
【図８】
0005811006.tif 000009
【図９】
0005811006.tif 000010
【図１０】
0005811006.tif 000011
【図１１】
0005811006.tif 000012
【図１２】
0005811006.tif 000013
【図１３】
0005811006.tif 000014
【図１４】
0005811006.tif 000015