(57)【特許請求の範囲】
【請求項１】
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、
前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第１外部アドレスによる第１アクセス要求があった場合に、前記マウントポイント情報を用いて前記第１外部アドレスを前記内部サーバに固有の内部アドレスに変換して、対応する前記内部サーバに前記第１アクセス要求を受け渡す第１変換処理と、前記内部サーバから前記外部クライアントの前記第１アクセス要求に対する応答があった場合に、前記応答にかかる前記内部アドレスを、前記マウントポイント情報を含む前記第１外部アドレスに変換する第２変換処理を実行するアドレス変換手段と、
前記第１アクセス要求があった場合に、前記第１アクセス要求に係る前記第１変換処理または前記第２変換処理の少なくとも何れか一方において、前記第１外部アドレスから前記マウントポイント情報と前記第１アクセス要求の対象ファイルの位置を示す第１位置情報とを抽出し、前記マウントポイント情報と前記第１位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段と、
前記外部クライアントから、前記マウントポイント情報を含まない第２外部アドレスによる第２アクセス要求があった場合に、前記第２外部アドレスから前記第２アクセス要求の対象ファイルの位置を示す第２位置情報を抽出し、前記第２位置情報をキーとして前記第２位置情報と一部または全部が共通する前記第１位置情報を有する前記アクセス履歴情報を検索して前記マウントポイント情報を抽出し、当該マウントポイント情報を用いて、前記第２外部アドレスを前記内部アドレスに変換するアドレス補完手段と、
を備えることを特徴とするリバースプロキシシステム。
【請求項２】
前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、
前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、前記第２アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第２外部アドレスを前記内部アドレスに変換することを特徴とする請求項１に記載のリバースプロキシシステム。
【請求項３】
前記アクセス履歴記憶手段が、前記第１アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、
前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第２外部アドレスを前記内部アドレスに変換することを特徴とする請求項１または２に記載のリバースプロキシシステム。
【請求項４】
前記アクセス履歴記憶手段が、前記第１外部アドレスから取得した前記マウントポイント情報及び前記第１位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第１位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第１アクセス要求の前記時間情報に更新することを特徴とする請求項３に記載のリバースプロキシシステム。
【請求項５】
前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第１外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第１位置情報として抽出することを特徴とする請求項１〜４の何れか１項に記載のリバースプロキシシステム。
【請求項６】
前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第２外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第２位置情報として抽出することを特徴とする請求項５に記載のリバースプロキシシステム。
【請求項７】
前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第２位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第２位置情報を含む前記第１位置情報が検索されなかった場合に、前記第２位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第２位置情報として再設定する再設定処理と、前記第２位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第２位置情報を含む前記第１位置情報が検索されるまで、或いは、前記第２位置情報の再設定が実行できなくなるまで繰り返し実行することを特徴とする請求項１〜６の何れか１項に記載のリバースプロキシシステム。
【請求項８】
前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第１位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第１位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、
前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第１位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを特徴とする請求項７に記載のリバースプロキシシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムに関する。
【背景技術】
【０００２】
外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムでは、外部クライアントから内部サーバに対するアクセス要求が必ずリバースプロキシシステムを介して行われることから、外部クライアントが直接的に内部サーバにアクセスすることがない。このため、リバースプロキシシステムに、アクセス要求を行った外部クライアントが内部サーバへのアクセスを許容されているか否かをチェックする外部クライアントに対する認証機能や、中継するデータの内容をチェックする機能を持たせることにより、セキュリティの強化が可能になる。
【０００３】
以下、リバースプロキシシステムの動作例について図１０を基に簡単に説明する。ここで、図１０は、従来のリバースプロキシシステム１００とその周辺装置の一構成例を示している。
【０００４】
リバースプロキシシステム１００は、ＤＭＺ(ＤｅＭｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ、非武装地帯)に設置され、外部クライアント２が操作するクライアント端末２ｉ（ｉ＝１〜ｍ）とインターネット等の通信ネットワーク４を介してアクセス可能に構成され、クライアント端末２ｉから内部サーバ３の一例としてのＷｅｂサーバ３ｊ（ｊ＝１〜ｎ）に対するアクセス要求を中継するように構成されている。
【０００５】
尚、図１０に示すリバースプロキシシステム１００は、内部サーバ３にアクセスするためにクライアント端末２ｉが指定する外部ＵＲＬと、実際に内部サーバ３が有する内部ＵＲＬとが異なっている。リバースプロキシシステム１００は、外部クライアント２から内部サーバ３に対するアクセス要求（上り）では、外部ＵＲＬを内部ＵＲＬに変換し、内部サーバ３から外部クライアント２への応答（下り）では、内部ＵＲＬを外部ＵＲＬに変換する。
【０００６】
ここでの外部ＵＲＬは、“ｈｔｔｐ：／／［リバースプロキシシステム１００のＵＲＬ］／［リバースプロキシシステムがアクセス要求を中継する内部サーバ３を特定するためのマウントポイント］／”で規定されている。例えば、図１０に示すＷｅｂサーバ３ｊの場合、外部ＵＲＬは“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ｗｅｂ０ｊ／”であり、内部ＵＲＬは“ｈｔｔｐ：／／ｗｅｂ０ｊ．ｘｘｘ．ｃｏ．ｊｐ／”であり、マウントポイントは“ｗｅｂ０ｊ”である。
【０００７】
より具体的には、リバースプロキシシステム１００は、例えば、クライアント端末２１により、“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ｗｅｂ０１／”に対するアクセス要求（上り）があった場合、先ず、当該外部ＵＲＬからマウントポイント“ｗｅｂ０１”を抽出する。続いて、リバースプロキシシステム１００は、外部ＵＲＬを、マウントポイント“ｗｅｂ０１”が示すＷｅｂサーバ３１の内部ＵＲＬ“ｈｔｔｐ：／／ｗｅｂ０１．ｘｘｘ．ｃｏ．ｊｐ／”に置き換える。
【０００８】
更に、リバースプロキシシステム１００は、Ｗｅｂサーバ３１から、クライアント端末２１に対してコンテンツが返された場合（下り）、コンテンツの内部ＵＲＬ“ｈｔｔｐ：／／ｗｅｂ０１．ｘｘｘ．ｃｏ．ｊｐ／”を、リバースプロキシシステム１００のＵＲＬ“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／”と、マウントポイント“ｗｅｂ０１”を用いて、外部ＵＲＬ“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ｗｅｂ０１／”に置き換える。
【０００９】
ところで、リバースプロキシシステムでは、一般的に、例えば、テキスト形式のデータの場合には、データ内部に記述された内部ＵＲＬを外部ＵＲＬに置き換えることは可能であるが、Ｊａｖａｓｃｒｉｐｔ（登録商標）等のプログラミング言語で記述されたプログラムの内部ＵＲＬを外部ＵＲＬに置き換えることは非常に困難である。
【００１０】
このため、リバースプロキシシステムに適合するように開発されていないＷｅｂサーバの場合、例えば、クライアント端末上でＵＲＬを生成するプログラムを含むコンテンツが、外部ＵＲＬを正しく生成できない場合がある。より具体的には、Ｗｅｂサーバが、クライアント端末上でＵＲＬを生成するプログラムを含むコンテンツをクライアント端末に返した場合、クライアント端末上で、当該プログラムにより、マウントポイントの欠落した情報欠落ＵＲＬが生成される可能性がある。このような場合には、クライアント端末が、生成された情報欠落ＵＲＬに基づいて、再度、リバースプロキシシステムにアクセスしようとすると、リバースプロキシシステムは情報欠落ＵＲＬを正しく内部ＵＲＬに変換できない場合があるという問題があった。
【００１１】
これに対し、マウントポイントの補完のための技術としては、例えば、外部クライアントからのアクセス要求を中継する全てのＷｅｂサーバの夫々について、Ｗｅｂサーバに固有のキーワードを設定し、Ｗｅｂサーバとキーワードの関係を示した対応テーブルを予め準備しておき、内部ＵＲＬを外部ＵＲＬに変換する際に、マウントポイントとキーワードを含む外部ＵＲＬを生成し、マウントポイントが欠落した外部ＵＲＬによるアクセス要求があった場合に、当該マウントポイントが欠落した外部ＵＲＬから抽出したキーワードを用いて対応テーブルを検索してマウントポイントを取得し、当該マウントポイントを用いて外部ＵＲＬを補完するリバースプロキシシステムがある。ここで、図１１は、対応テーブルによるマウント補完を行うリバースプロキシシステムの動作の概要について示している。ここでは、キーワードは、各Ｗｅｂサーバの最上位ディレクトリ名と一致している。
【００１２】
また、マウントポイントの補完のための技術としては、例えば、Ｗｅｂサーバから外部クライアントに対する応答（下り）において、Ｃｏｏｋｉｅにマウントポイントを保存しておき、前記外部クライアントから前記Ｗｅｂサーバに対するアクセス要求があったときに、マウントポイントが欠落していると認められた場合、Ｃｏｏｋｉｅに保存されたマウントポイントを用いて内部ＵＲＬを生成するリバースプロキシシステムが提案されている（例えば、特許文献１参照）。ここで、図１２は、特許文献１に記載のリバースプロキシシステムの動作の概要について示している。
【００１３】
【特許文献１】特開２００４−９４８０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、図１１に示す対応テーブルによるマウントポイントの補完を行うリバースプロキシシステムの場合、Ｗｅｂサーバに固有のキーワード（ディレクトリ名）を設定する必要があるため、Ｗｅｂサーバの開発において、他のＷｅｂサーバとの調整が不可欠となり、Ｗｅｂサーバの開発に手間がかかる。また、既存のＷｅｂサーバについては、最上位ディレクトリのディレクトリ名を変更する必要が生じる場合があり、適用することが困難である。
【００１５】
また、上記特許文献１に記載のＣｏｏｋｉｅによるマウントポイントの補完を行うリバースプロキシシステムの場合、同じ外部クライアントが複数のブラウザを利用している場合には、Ｃｏｏｋｉｅがページの閲覧毎に上書きされてしまう。このため、過去に閲覧したページからのアクセス要求において、正しくマウントポイントが補完されない場合が生じる可能性がある。ここで、図１３は、Ｃｏｏｋｉｅによるマウントポイントの補完を行うリバースプロキシシステムにおける動作の例を示している。マウントポイント“ｗｅｂ０１”を有するＷｅｂサーバからの応答の後、マウントポイント“ｗｅｂ０２”を有するＷｅｂサーバからの応答があった場合、Ｃｏｏｋｉｅには、ｗｅｂ０２が上書き設定されることとなる。この場合に、マウントポイント“ｗｅｂ０１”を有するＷｅｂサーバに対するアクセス要求を行うと、マウントポイントが欠落している場合、“ｈｔｔｐ：／／ｗｅｂ０１．ｘｘｘ．ｃｏ．ｊｐ／ｉｎｆｏ／”と補完すべきところ、“ｈｔｔｐ：／／ｗｅｂ０２．ｘｘｘ．ｃｏ．ｊｐ／ｉｎｆｏ／”と補完されることとなり、マウントポイントを正しく補完できない。
【００１６】
本発明は上記の問題に鑑みてなされたものであり、その目的は、内部サーバ側で特別な開発を行う必要がなく、且つ、Ｃｏｏｋｉｅを利用することなく、より正確にマウントポイント情報の補完を行うことができるリバースプロキシシステムを提供する点にある。
【課題を解決するための手段】
【００１７】
上記目的を達成するための本発明に係るリバースプロキシシステムは、外部クライアントから内部サーバへのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムであって、前記外部クライアントから、前記内部サーバを特定するマウントポイント情報を含む第１外部アドレスによる第１アクセス要求があった場合に、前記マウントポイント情報を用いて前記第１外部アドレスを前記内部サーバに固有の内部アドレスに変換して、対応する前記内部サーバに前記第１アクセス要求を受け渡す第１変換処理と、前記内部サーバから前記外部クライアントの前記第１アクセス要求に対する応答があった場合に、前記応答にかかる前記内部アドレスを、前記マウントポイント情報を含む前記第１外部アドレスに変換する第２変換処理を実行するアドレス変換手段と、前記第１アクセス要求があった場合に、前記第１アクセス要求に係る前記第１変換処理または前記第２変換処理の少なくとも何れか一方において、前記第１外部アドレスから前記マウントポイント情報と前記第１アクセス要求の対象ファイルの位置を示す第１位置情報とを抽出し、前記マウントポイント情報と前記第１位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段と、前記外部クライアントから、前記マウントポイント情報を含まない第２外部アドレスによる第２アクセス要求があった場合に、前記第２外部アドレスから前記第２アクセス要求の対象ファイルの位置を示す第２位置情報を抽出し、前記第２位置情報をキーとして前記第２位置情報と一部または全部が共通する前記第１位置情報を有する前記アクセス履歴情報を検索して前記マウントポイント情報を抽出し、当該マウントポイント情報を用いて、前記第２外部アドレスを前記内部アドレスに変換するアドレス補完手段と、を備えることを第１の特徴とする。
【００１８】
上記特徴の本発明に係るリバースプロキシシステムは、前記外部クライアント別に前記外部クライアントに固有のクライアント識別情報を記憶した認証情報データベースを備え、前記外部クライアントから前記内部サーバへの前記アクセス要求があった場合に、前記アクセス要求を行った認証対象の前記外部クライアントから前記外部クライアントの前記クライアント識別情報を取得し、前記認証情報データベースに認証対象の前記外部クライアントの前記クライアント識別情報が記憶されている場合に前記外部クライアントを認証する認証手段を備え、前記アクセス履歴記憶手段が、前記クライアント識別情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、前記第２アクセス要求を行った前記外部クライアントの前記クライアント識別情報を有する前記アクセス履歴情報を用いて、前記第２外部アドレスを前記内部アドレスに変換することを第２の特徴とする。
【００１９】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第１アクセス要求のあった時間を示す時間情報を前記アクセス履歴情報と対応付けて記憶し、前記アドレス補完手段が、所定の時間条件範囲内の前記時間情報を有する前記アクセス履歴情報を用いて、前記第２外部アドレスを前記内部アドレスに変換することを第３の特徴とする。
【００２０】
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記第１外部アドレスから取得した前記マウントポイント情報及び前記第１位置情報を前記アクセス履歴情報として記憶するときに、同じ前記マウントポイント情報及び前記第１位置情報を有する前記アクセス履歴情報が記憶されている場合は、既に記憶されている前記アクセス履歴情報の前記時間情報を、新たな前記第１アクセス要求の前記時間情報に更新することを第４の特徴とする。
【００２１】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第１外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第１位置情報として抽出することを第５の特徴とする。
【００２２】
上記特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有する場合に、前記第２外部アドレスから、前記内部サーバにおける最上位から予め設定された所定階層数以内の階層名を前記第２位置情報として抽出することを第６の特徴とする。
【００２３】
上記何れかの特徴の本発明に係るリバースプロキシシステムは、前記アドレス補完手段が、前記内部サーバが階層構造を有し、前記第２位置情報をキーとして前記アクセス履歴情報を検索したときに、前記アクセス履歴情報に前記第２位置情報を含む前記第１位置情報が検索されなかった場合に、前記第２位置情報を構成する前記階層名の内、最下位の前記階層名を除いたものを前記第２位置情報として再設定する再設定処理と、前記第２位置情報をキーとして前記アクセス履歴情報を検索する検索処理とを、前記アクセス履歴情報に前記第２位置情報を含む前記第１位置情報が検索されるまで、或いは、前記第２位置情報の再設定が実行できなくなるまで繰り返し実行することを第７の特徴とする。
【００２４】
上記特徴の本発明に係るリバースプロキシシステムは、前記アクセス履歴記憶手段が、前記内部サーバが階層構造を有する場合に、前記第１位置情報が複数の階層名で構成される前記アクセス履歴情報の夫々について、前記第１位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、前記部分位置情報と前記マウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、前記部分位置情報を前記第１位置情報として前記統合対象アクセス履歴情報を統合する統合処理を実行することを第８の特徴とする。
【発明の効果】
【００２５】
上記特徴のリバースプロキシシステムによれば、マウントポイント情報を含む第１外部アドレスによるアクセス要求があった場合に、マウントポイント情報とアクセス要求対象の第１位置情報を対応付けてアクセス履歴情報として記憶し、当該アクセス履歴情報を用いてマウントポイント情報の欠落した第２外部アドレスを補完するように構成したので、従来技術のように、Ｗｅｂサーバにキーワードを設定する等、Ｗｅｂサーバ側において特別な開発や変更作業を必要としないため、既存のリバースプロキシシステムにより容易に適用できる。
【００２６】
また、上記特徴のリバースプロキシシステムによれば、アクセス履歴情報を用いてマウントポイント情報の欠落した第２外部アドレスを補完するように構成したので、Ｃｏｏｋｉｅを利用せず、より正確にマウントポイント情報の補完を行うことが可能になる。
【００２７】
上記第２の特徴のリバースプロキシシステムによれば、外部クライアントの認証を行う認証手段を利用し、第１アクセス要求があった場合にクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第２アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【００２８】
上記第３の特徴のリバースプロキシシステムによれば、第１アクセス要求があった時間を示す時間情報をクライアント識別情報と対応づけてアクセス履歴情報を作成するので、例えば、複数の内部サーバで同じディレクトリ名が用いられており、複数の外部クライアントから同時に内部サーバに対する第２アクセス要求があった場合でも、外部クライアントのアクセス要求先をより正確に類推することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【００２９】
また、上記第４の特徴のリバースプロキシシステムによれば、時間情報に基づき、最新のアクセス履歴情報を記憶するので、一定期間以上経過し信頼性の低くなったと考えられるアクセス履歴情報を除外することが可能になり、より正確にマウントポイント情報の補完を行うことが可能になる。
【００３０】
上記第５の特徴のリバースプロキシシステムによれば、内部サーバが階層構造を有する場合に、第１外部アドレスから、最上位階層から予め設定された所定階層数以内の階層名を第１位置情報として抽出するため、アクセス履歴情報の作成及び検索における処理効率を高めることができる。尚、一般的に、アクセス要求対象のコンテンツの位置情報は、深いほど信頼性が高くなるといえるが、ある程度の深さ以上であれば、信頼性は十分に確保できると考えられる。従って、上記第５の特徴のリバースプロキシシステムの如く、最上位階層から所定階層以内の階層名を第１位置情報として抽出するように構成した場合、アクセス履歴情報の信頼性を低下させることなく、アクセス履歴情報の作成及び検索における処理効率を高めることが可能になる。
【００３１】
また、上記第６の特徴のリバースプロキシシステムによれば、第２外部アドレスから、最上位階層から所定階層以内の階層名を第２位置情報として抽出するので、アクセス履歴情報の検索及びマウントポイント情報の補完における処理効率を更に高めることが可能になる。
【００３２】
上記第７の特徴のリバースプロキシシステムによれば、第２位置情報の全体が第１位置情報と完全に一致しない場合であっても、ある程度の範囲で一致する場合には、当該第１位置情報に対応するマウントポイント情報を、第２アクセス要求の欠落したマウントポイント情報として特定することが可能になる。これにより、第２アクセス要求における第２外部アドレスに柔軟に対応して、マウントポイント情報の補完の達成率を向上させることが可能になる。
【００３３】
更に、上記第８の特徴のリバースプロキシシステムによれば、内部サーバの階層数が相当多い或いは階層構造が複雑な場合に、第１位置情報から最下位の階層名を除いた部分位置情報とマウントポイント情報が一致するアクセス履歴情報を統合できるので、アクセス履歴情報の検索効率を高めることが可能になる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明に係るリバースプロキシシステム（以下、適宜「本発明システム」と略称する）の実施形態を図面に基づいて説明する。
【００３５】
〈第１実施形態〉
本発明システムの第１実施形態について、図１〜図６を基に説明する。
【００３６】
先ず、本発明システム１の構成について図１及び図２を基に説明する。ここで、図１は、本発明システム１とその周辺装置の一構成例を示しており、図２は、本発明システム１の概略構成を示している。
【００３７】
本発明システム１は、本実施形態では、ＤＭＺに設置され、内部サーバ３の閲覧を特定の外部クライアント２に制限する認証認可システムとしての機能を備え、外部クライアント２が操作するクライアント端末２ｉ（ｉ＝１〜ｍ）から内部サーバ３へのアクセス要求を中継するリバースプロキシを用いたリバースプロキシシステムである。尚、本実施形態では、クライアント端末２ｉとして、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の端末を想定している。また、本実施形態では、説明のために、内部サーバ３として、ポータルサイト等のＷｅｂサーバ３ｊ（ｊ＝１〜ｎ）を想定しているが、メールサーバ等の他のサーバであっても良い。
【００３８】
本発明システム１は、図２に示すように、認証認可システムに係る機能として、外部クライアント２別に外部クライアント２に固有のクライアント識別情報を記憶した認証情報データベースを備え、クライアント端末２ｉからＷｅｂサーバ３ｊへのアクセス要求があった場合に、アクセス要求を行った認証対象のクライアント端末２ｉから、クライアント端末２ｉを操作する外部クライアント２のクライアント識別情報を取得し、認証情報データベースに認証対象の外部クライアント２のクライアント識別情報が記憶されている場合に外部クライアント２を認証する認証手段１４を備えている。
【００３９】
本発明システム１は、図２に示すように、クライアント端末２ｉから、Ｗｅｂサーバ３ｊを特定するマウントポイント情報を含む第１外部ＵＲＬ（第１外部アドレスに相当）による第１アクセス要求があった場合に、マウントポイント情報を用いて第１外部ＵＲＬをＷｅｂサーバ３ｊに固有の内部アドレスに変換して、対応するＷｅｂサーバ３ｊに第１アクセス要求を受け渡す第１変換処理と、Ｗｅｂサーバ３ｊからクライアント端末２ｉの第１アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを、マウントポイント情報を含む第１外部ＵＲＬに変換する第２変換処理を実行するアドレス変換手段１１と、第１アクセス要求があった場合に、第１アクセス要求に係る第１変換処理において、第１外部ＵＲＬからマウントポイント情報と第１アクセス要求の対象ファイルの位置を示す第１位置情報とを抽出し、マウントポイント情報と第１位置情報を対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段１２と、クライアント端末２ｉから、マウントポイント情報を含まない第２外部ＵＲＬ（第２外部アドレス）による第２アクセス要求があった場合に、第２外部ＵＲＬから第２アクセス要求の対象ファイルの位置を示す第２位置情報を抽出し、第２位置情報をキーとして第２位置情報と全部が共通する第１位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第２外部ＵＲＬを内部アドレスに変換するアドレス補完手段１３と、インターネット等の通信ネットワーク４を介してクライアント端末２ｉとデータ通信を行うための機能と、内部ＬＡＮ５を介してＷｅｂサーバ３ｊとデータ通信を行うための機能とを有する通信インターフェース１０を備えて構成されている。
【００４０】
以下、本発明システム１の処理動作について、図４を基に説明する。ここで、図４は、本発明システム１の処理動作の概略構成例を示している。
【００４１】
本実施形態では、Ｗｅｂサーバ３ｊが階層構造を備えており、第１外部ＵＲＬが“ｈｔｔｐ：／／［本発明システム１のＵＲＬ］／［ｐｒｅｆｉｘ］／［ｄｉｒｅｃｔｒｙ］／［ｆｉｌｅｎａｍｅ］”で規定され、内部ＵＲＬが“ｈｔｔｐ：／／［Ｗｅｂサーバ３ｊのＵＲＬ］／［ｄｉｒｅｃｔｒｙ］／［ｆｉｌｅｎａｍｅ］”で規定される場合を想定して説明する。尚、“［ｄｉｒｅｃｔｒｙ］”及び“［ｆｉｌｅｎａｍｅ］”部分は必ずしも備える必要は無い。
【００４２】
より具体的には、図１に示すＷｅｂサーバ３ｊの外部ＵＲＬは、“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ｗｅｂ０ｊ／”から始まるように構成されている。この場合、“ｗｅｂ０ｊ”がＷｅｂサーバ３ｊを特定するマウントポイント情報である。更に、Ｗｅｂサーバ３ｊの内部ＵＲＬは、“ｈｔｔｐ：／／ｗｅｂ０ｊ．ｘｘｘ．ｃｏ．ｊｐ／”（ｊ＝１〜ｎ）から始まるように構成されている。ここで、図３（ａ）は、Ｗｅｂサーバ３１のディレクトリ構成の一例を、図３（ｂ）は、Ｗｅｂサーバ３２のディレクトリ構成の一例を、図３（ｃ）は、Ｗｅｂサーバ３３のディレクトリ構成の一例を夫々示している。
【００４３】
本実施形態の本発明システム１は、図４に示すように、クライアント端末２ｉから認証要求を受け付けると（ステップ＃１２１）、認証手段１４が、クライアント端末２ｉに対し、クライアント識別情報の一例としてのユーザＩＤ及びパスワードの入力要求を行う（ステップ＃１１１）。
【００４４】
クライアント端末２ｉからユーザＩＤ及びパスワードが返されると（ステップ＃１２２）、認証手段１４は、内部サーバ３へのアクセス要求を許可された外部クライアント２のユーザＩＤとパスワードを管理する認証データベースを検索し、クライアント端末２ｉから入力された外部クライアント２のユーザＩＤ及びパスワードが登録されている場合に、外部クライアント２を認証する（ステップ＃１１２）。
【００４５】
外部クライアント２が認証されると、認証手段１４は、認証された外部クライアント２が操作するクライアント端末２ｉからの内部サーバ３に対するアクセス要求を許可する。
【００４６】
続いて、認証された外部クライアント２が操作するクライアント端末２ｉからアクセス要求があると（ステップ＃１２３）、先ず、本発明システム１のアドレス変換手段１１が、当該アクセス要求が、マウントポイント情報を含む第１外部ＵＲＬによる第１アクセス要求であるか、マウントポイント情報が欠落した第２外部ＵＲＬによる第２アクセス要求であるかを判定する（ステップ＃１１３）。
【００４７】
より詳細には、アドレス変換手段１１は、本発明システム１がアクセス要求を中継する全ての内部サーバ３についてマウントポイント情報を記憶したマウントポイント情報テーブルを備えている。ここで、図５は、マウントポイント情報テーブルの一例を示している。アドレス変換手段１１は、アクセス要求に係る外部ＵＲＬから、第１外部ＵＲＬの［ｐｒｅｆｉｘ］に相当する部分を抽出し、抽出した部分がマウントポイント情報としてマウントポイント情報テーブルに登録されている場合、第１外部ＵＲＬによる第１アクセス要求であると判定する。これに対し、アドレス変換手段１１は、マウントポイント情報テーブルに登録が無い場合、第２外部ＵＲＬによる第２アクセス要求であると判定する。
【００４８】
ステップ＃１１３において、アクセス要求に係る外部ＵＲＬが第１外部ＵＲＬであると判定した場合、アドレス変換手段１１は、第１外部ＵＲＬを内部ＵＲＬに変換して（ステップ＃１１４）、対応するＷｅｂサーバ３ｊにアクセス要求を中継する（ステップ＃１１６）。
【００４９】
ステップ＃１１３において、アドレス変換手段１１によりクライアント端末２ｉからのアクセス要求が第１アクセス要求であると判定された場合、アクセス履歴記憶手段１２が、当該第１アクセス要求についてアクセス履歴情報を記憶する（ステップ＃１１５）。尚、アクセス履歴情報の記憶処理とＷｅｂサーバ３ｊへのアクセス要求の中継処理は、同時に実行しても良いし順番に実行しても良い。
【００５０】
具体的には、例えば、第１アクセス要求の第１外部ＵＲＬが、“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ｗｅｂ０１／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”の場合、アクセス履歴記憶手段１２は、第１外部ＵＲＬから、マウントポイント情報“ｗｅｂ０１”と、第１位置情報“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ”を抽出し、対応付けてアクセス履歴情報として記憶する。ここで、図６は、アクセス履歴情報の一例を示している。本実施形態では、アクセス履歴情報には、クライアント識別情報としてのユーザＩＤ、第１アクセス要求の合った時間を示す時間情報としてのアクセス日時、マウントポイント情報、及び、第１位置情報が記憶されている。
【００５１】
また、本実施形態のアクセス履歴記憶手段１２は、第１外部ＵＲＬから取得したマウントポイント情報及び第１位置情報をアクセス履歴情報として記憶するときに、同じマウントポイント情報及び第１位置情報を有するアクセス履歴情報が記憶されている場合は、既に記憶されているアクセス履歴情報のアクセス日時を、新たな第１アクセス要求のアクセス日時に更新するように構成されている。尚、アクセス履歴情報に、マウントポイント情報及び第１位置情報以外の他の情報が記憶されている場合は、アクセス日時を除く他の全ての情報が完全に一致する場合に、アクセス日時を更新する。本実施形態では、マウントポイント情報及び第１位置情報以外に、ユーザＩＤが記録されているので、マウントポイント情報、第１位置情報、及び、ユーザＩＤが全て一致する場合に、アクセス履歴情報のアクセス日時を更新する。
【００５２】
尚、認証直後の内部サーバ３へのアクセス要求については、マウントポイント情報が正しく含まれる第１外部ＵＲＬによる第１アクセス要求であると考えられるため、ステップ＃１１３を実行せずに、後述するアクセス履歴情報の記憶（ステップ＃１１５）及び第１アクセス要求の中継処理（ステップ＃１１６）を実行するように構成しても良い。
【００５３】
引き続き、内部サーバ３から第１アクセス要求に対する応答があると（ステップ＃１３１）、アドレス変換手段１１は、当該応答に係る内部ＵＲＬを外部ＵＲＬに変換する第２変換処理を実行する（ステップ＃２１１）。
【００５４】
認証された外部クライアント２が操作するクライアント端末２ｉから、２回目以降のアクセス要求があり（ステップ＃３２１）、アドレス変換手段１１により、当該アクセス要求が、マウントポイント情報が欠落した第２外部ＵＲＬによる第２アクセス要求であると判定された場合（ステップ＃３１１）、アドレス補完手段１３は、アクセス履歴記憶手段１２によって記憶されたアクセス履歴情報を用いて、第２アクセス要求に係る第２外部ＵＲＬの補完処理を行う（ステップ＃３１２）。
【００５５】
より具体的には、本実施形態のアドレス補完手段１３は、第２アクセス要求を行ったクライアント端末２ｉを操作する外部クライアント２のユーザＩＤが記憶されているアクセス要求履歴の内、所定の時間条件範囲内、例えば、１年以内のアクセス日時を持つアクセス履歴情報を用いて、第２外部ＵＲＬを内部アドレスに変換する。尚、時間条件は、本実施形態では１年としたが、外部クライアント２の利用状況や内部サーバ３の機能等に応じて適切に設定する。また、時間条件は、外部クライアント２別、内部サーバ３別（コンテンツ別）に設定しても良い。
【００５６】
ここで、第２外部ＵＲＬは、第１外部ＵＲＬの［ｐｒｅｆｉｘ］部分が欠落したものであることから、第２外部ＵＲＬの構成は、“ｈｔｔｐ：／／［本発明システム１のＵＲＬ］／［ｄｉｒｅｃｔｒｙ］／［ｆｉｌｅｎａｍｅ］”となる。尚、“／［ｆｉｌｅｎａｍｅ］”部分は必ずしも備える必要は無い。アドレス補完手段１３は、第２外部ＵＲＬから、第２位置情報として［ｄｉｒｅｃｔｒｙ］部分を抽出する。具体的には、例えば、第２外部ＵＲＬが“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”の場合、第２位置情報として“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ”を抽出する。
【００５７】
第２位置情報を抽出すると、アドレス補完手段１３は、抽出した第２位置情報と共通する第１位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。より詳細には、本実施形態では、図６に示すアクセス履歴情報の場合、ユーザＩＤが“１２３４５６７”のアクセス履歴情報の内、第２位置情報“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ”と全部が共通する第１位置情報が記憶されているＮｏ１のアドレス履歴情報を抽出する。
【００５８】
アドレス履歴情報を抽出すると、アドレス補完手段１３は、抽出したＮｏ１のアドレス履歴情報に記憶されているマウントポイント情報“／ｗｅｂ０１”を用いて、第２外部ＵＲＬ“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”を、内部アドレス“ｈｔｔｐ：／／ｗｅｂ０１．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”に変換する。
【００５９】
本発明システム１は、アドレス補完手段１３によって補完した内部アドレスを用いて、内部サーバ３に対するアクセス要求を中継する（ステップ＃３１３）。内部サーバ３、ここでは、Ｗｅｂサーバ３１から第２アクセス要求に対する応答があると（ステップ＃３３１）、アドレス変換手段１１は、当該応答に係る内部ＵＲＬを外部ＵＲＬに変換する第２変換処理を実行する（ステップ＃３１４）。
【００６０】
尚、本実施形態では、アドレス補完手段１３を、第２位置情報と全部が共通する第１位置情報を有するアクセス履歴情報を検索するように構成したが、これに限るものではなく、一部が共通する第１位置情報を有するアクセス履歴情報を検索するように構成しても良い。例えば、最上位階層から予め設定された階層数以上が一致する第１位置情報を有するアクセス履歴情報を検索する構成、或いは、一致度が最も高い第１位置情報を有するアクセス履歴情報を検索する構成等、他の検索条件に従って、アクセス履歴情報を検索するように構成しても良い。この場合には、検索成功率を向上させることが可能になる。
【００６１】
〈第２実施形態〉
本発明システム１の第２実施形態について、図７を基に説明する。尚、本実施形態では、上記第１実施形態とは、アクセス履歴記憶手段１２及びアドレス補完手段１３の構成が異なる場合について説明する。より詳細には、上記第１実施形態では、アクセス履歴記憶手段１２が、第１位置情報として第１外部ＵＲＬの全階層名（ディレクトリ名）を抽出したが、本実施形態では、第１外部ＵＲＬから抽出する階層名の階層数を制限する場合について説明する。
【００６２】
本実施形態の本発明システム１は、上記第１実施形態と同様に、ＤＭＺに設置され、認証認可システムとしての機能を備えたリバースプロキシシステムである。本発明システム１は、上記第１実施形態と同様に、クライアント端末２ｉからＷｅｂサーバ３ｊへのアクセス要求があった場合に、外部クライアント２の認証処理を行う認証手段１４と、クライアント端末２ｉからマウントポイント情報を含む第１外部ＵＲＬによる第１アクセス要求があった場合に、第１外部ＵＲＬを内部アドレスに変換して、対応するＷｅｂサーバ３ｊに第１アクセス要求を受け渡す第１変換処理と、Ｗｅｂサーバ３ｊから第１アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第１外部ＵＲＬに変換する第２変換処理を実行するアドレス変換手段１１と、第１アクセス要求があった場合に、第１アクセス要求に係る第１変換処理において、第１外部ＵＲＬからマウントポイント情報と第１位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段１２と、クライアント端末２ｉから、マウントポイント情報を含まない第２外部ＵＲＬによる第２アクセス要求があった場合に、第２外部ＵＲＬから第２位置情報を抽出し、当該第２位置情報と一部または全部が共通する第１位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第２外部ＵＲＬを内部アドレスに変換するアドレス補完手段１３と、インターネット等の通信ネットワーク４を介して利用者端末とデータ通信を行うための通信インターフェース１０を備えて構成されている。尚、認証手段１４、アドレス変換手段１１、及び、通信インターフェース１０の構成は、上記第１実施形態と同じである。
【００６３】
アクセス履歴記憶手段１２は、本実施形態では、図４に示すステップ＃１１５のアクセス履歴の記憶処理において、Ｗｅｂサーバ３ｊが階層構造を有する場合、第１外部ＵＲＬから、Ｗｅｂサーバ３ｊにおける最上位から予め設定された所定階層数以内の階層名を第１位置情報として抽出する。
【００６４】
より具体的には、例えば、最上位階層を含む２階層以内の階層名を第１位置情報として抽出するように構成されている場合に、第１アクセス要求の第１外部ＵＲＬが“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ｗｅｂ０３／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”である場合、アクセス履歴記憶手段１２は、第１外部ＵＲＬから、マウントポイント情報“ｗｅｂ０３”と、第１位置情報“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ”を抽出する。ここで、図７は、本実施形態におけるアクセス履歴情報の一例を示している。
【００６５】
アドレス補完手段１３は、本実施形態では、図４に示すステップ＃３１２のアドレス補完処理において、Ｗｅｂサーバ３ｊが階層構造を有する場合、第２外部ＵＲＬから、Ｗｅｂサーバ３ｊにおける最上位から予め設定された所定階層数以内の階層名を第２位置情報として抽出する。本実施形態では、第１位置情報の場合と同様に、第１外部ＵＲＬの最上位階層から、最上位階層を含む２階層以内の階層名を第２位置情報として抽出する。
【００６６】
より具体的には、例えば、第２外部ＵＲＬが“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”である場合、本実施形態のアドレス補完手段１３は、第２位置情報として“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ”を抽出する。第２位置情報を抽出すると、アドレス補完手段１３は、上記第１実施形態と同様に、抽出した第２位置情報と共通する第１位置情報を有するアクセス履歴情報を検索してマウントポイント情報を取得する。ここでは、図７に示すアクセス履歴情報から、抽出された第２位置情報“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ”を有するＮｏ４のアクセス履歴情報を抽出し、マウントポイント情報“ｗｅｂ０３”を取得する。
【００６７】
続いて、本実施形態のアドレス補完手段１３は、マウントポイント情報“ｗｅｂ０３”を用いて、第２外部ＵＲＬを補完して、内部ＵＲＬ“ｈｔｔｐ：／／ｗｅｂ０３．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ／ｈｔｍｌ／ｉｎｄｅｘ．ｈｔｍｌ”を生成する。
【００６８】
本実施形態の本発明システム１は、Ｗｅｂサーバ３ｊが階層構造を有する場合、特に、Ｗｅｂサーバ３ｊに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合に、アクセス履歴情報の第１位置情報と、第２外部ＵＲＬから抽出する第２位置情報を簡略化（縮退）させることができるので、アクセス履歴情報の簡素化や、アクセス履歴情報の第１位置情報に対する検索効率を向上させることができる。
【００６９】
更に、一般的には、全階層名が一致していなくても、ある程度の階層数の階層名が一致していれば、同じマウントポイント情報を有すると類推可能であることから、本実施形態のアドレス補完手段１３のように、最上位階層からマウントポイント情報を類推可能な所定階層数以内の階層名を第２情報として抽出するように構成すれば、結果的に、第１位置情報と第２位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Ｗｅｂサーバ３ｊに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部ＵＲＬから第１外部ＵＲＬへの変換成功率を向上させることが可能になる。
【００７０】
〈第３実施形態〉
本発明システム１の第３実施形態について、図８を基に説明する。尚、本実施形態では、上記第１及び第２実施形態とは、アクセス履歴情報の第１位置情報の検索方法が異なる場合について説明する。
【００７１】
本実施形態の本発明システム１は、上記第１及び第２実施形態と同様に、ＤＭＺに設置され、認証認可システムとしての機能を備えたリバースプロキシシステムである。本発明システム１は、上記第１実施形態と同様に、クライアント端末２ｉからＷｅｂサーバ３ｊへのアクセス要求があった場合に、外部クライアント２の認証処理を行う認証手段１４と、クライアント端末２ｉからマウントポイント情報を含む第１外部ＵＲＬによる第１アクセス要求があった場合に、第１外部ＵＲＬを内部アドレスに変換して、対応するＷｅｂサーバ３ｊに第１アクセス要求を受け渡す第１変換処理と、Ｗｅｂサーバ３ｊから第１アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第１外部ＵＲＬに変換する第２変換処理を実行するアドレス変換手段１１と、第１アクセス要求があった場合に、第１アクセス要求に係る第１変換処理において、第１外部ＵＲＬからマウントポイント情報と第１位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段１２と、クライアント端末２ｉから、マウントポイント情報を含まない第２外部ＵＲＬによる第２アクセス要求があった場合に、第２外部ＵＲＬから第２位置情報を抽出し、当該第２位置情報と一部または全部が共通する第１位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第２外部ＵＲＬを内部アドレスに変換するアドレス補完手段１３と、インターネット等の通信ネットワーク４を介して利用者端末とデータ通信を行うための通信インターフェース１０を備えて構成されている。尚、認証手段１４、アドレス変換手段１１、アクセス履歴記憶手段１２、及び、通信インターフェース１０の構成は、上記第１実施形態と同じである。
【００７２】
アドレス補完手段１３は、本実施形態では、図４に示すステップ＃３１２のアドレス補完処理において、Ｗｅｂサーバ３ｊが階層構造を有し、第２位置情報をキーとしてアクセス履歴情報を検索したときに、アクセス履歴情報に第２位置情報を含む第１位置情報が検索されなかった場合に、第２位置情報を構成する階層名の内、最下位の階層名を除いたものを第２位置情報として再設定する再設定処理と、第２位置情報をキーとしてアクセス履歴情報を検索する検索処理とを、アクセス履歴情報に第２位置情報を含む第１位置情報が検索されるまで、或いは、第２位置情報の再設定が実行できなくなるまで繰り返し実行する。
【００７３】
以下、本実施形態におけるアドレス補完手段１３の動作について図８を基に説明する。ここで、図８は、図４に示すステップ＃３１２の詳細な処理動作を示している。
【００７４】
本実施形態のアドレス補完手段１３は、図４に示すステップ＃３１２において、先ず、第２外部ＵＲＬから第２位置情報を抽出する（ステップ＃３２１）。より具体的には、例えば、第２外部ＵＲＬが“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ／ｊｐｇ／＊＊＊．ｊｐｇ”の場合、アドレス補完手段１３は、第２位置情報として“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ／ｊｐｇ”を抽出する。
【００７５】
続いて、アドレス補完手段１３は、第２位置情報をキーとしてアクセス履歴情報を検索する（ステップ＃３２２）。
【００７６】
ステップ＃３２３において、第２位置情報を含む第１位置情報を有するアクセス履歴情報が検索されなかった場合（ステップ＃３２３で「ＮＯ」分岐）、アドレス補完手段１３は、第２位置情報の再設定が可能か否かを判定する（ステップ＃３２４）。
【００７７】
より具体的には、例えば、現在の第２位置情報が“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ／ｊｐｇ”である場合、図６に示すアクセス履歴情報には、当該第２位置情報を含むアクセス履歴情報はない。この場合、第２位置情報が複数の階層名で構成されているため、アドレス補完手段１３は、ステップ＃３２４において、第２位置情報の再設定が可能であると判定する。
【００７８】
ステップ＃３２４において第２位置情報の再設定が可能であると判定した場合、即ち、第２位置情報が複数のディレクトリ名で構成される場合は（ステップ＃３２４で「ＹＥＳ」分岐）、現在の第２位置情報から最下位の階層名を除いて、新たな第２位置情報として再設定する（ステップ＃３２５）。より具体的には、アドレス補完手段１３は、例えば、現在の第２位置情報が“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ／ｊｐｇ”の場合、最下位の階層名“ｊｐｇ”を除いた“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ”を新たな第２位置情報として再設定する。
【００７９】
ステップ＃３２４において第２位置情報の再設定が可能ではない判定した場合は、アドレス補完手段１３は、マウントポイント情報の補完が正常に実行できないとして、エラー情報を出力する。この場合、本発明システム１は、クライアント端末に対し、エラー情報を出力する。
【００８０】
ステップ＃３２３において、第２位置情報を含む第１位置情報を有するアクセス履歴情報が検索された場合（ステップ＃３２３で「ＹＥＳ」分岐）、アドレス補完手段１３は、検索されたアクセス履歴情報からマウントポイント情報を抽出し（ステップ＃３２７）、抽出したマウントポイント情報を用いて第２外部ＵＲＬを内部ＵＲＬに変換する（ステップ＃３２８）。
【００８１】
より具体的には、例えば、ステップ＃３２５で再設定された第２位置情報“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ”は、図６に示すＮｏ３のアクセス履歴情報の第１位置情報に含まれる。この場合、アドレス補完手段１３は、Ｎｏ３のアクセス履歴情報からマウントポイント情報“ｗｅｂ０１”を抽出する。アドレス補完手段１３は、抽出したマウントポイント情報“ｗｅｂ０１”を用いて、第２外部ＵＲＬ“ｈｔｔｐ：／／ｐｒｏｘｙ．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ／ｊｐｇ／＊＊＊．ｊｐｇ”を、内部ＵＲＬ“ｈｔｔｐ：／／ｗｅｂ０１．ｘｘｘ．ｃｏ．ｊｐ／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ｉｍａｇｅｓ／ｊｐｇ／＊＊＊．ｊｐｇ”に補完する。
【００８２】
尚、本実施形態では、説明のために、アクセス履歴記憶手段１２が上記第１実施形態と同じ構成である場合を想定して説明したが、第２実施形態と同様に、最上位階層から所定階層数の階層名を第１位置情報として抽出するように構成しても良い。
【００８３】
また、本実施形態では、アドレス補完手段１３を、アクセス履歴情報が検索されなかった場合に、最下位の階層名を除いた第２位置情報を新たな第２位置情報として設定する再設定処理と、新たな第２位置情報を用いた検索処理を実行するように構成したので、上記第２実施形態と同様に、第１位置情報と第２位置情報の全部が共通する場合に加え、一部のみが共通する場合にもアドレス履歴情報を一意的に検索することが可能になる。これにより、特に、Ｗｅｂサーバ３ｊに階層数が非常に多いコンテンツがある場合や階層構造が複雑な場合でも、より高確率に一意的にアドレス履歴情報を検索することができ、内部ＵＲＬから第１外部ＵＲＬへの変換成功率を向上させることが可能になる。
【００８４】
〈第４実施形態〉
本発明システム１の第３実施形態について、図９を基に説明する。尚、本実施形態では、上記第２実施形態とは、アクセス履歴記憶手段１２におけるアクセス履歴情報の生成方法が異なる場合について説明する。
【００８５】
本発明システム１は、上記第１実施形態と同様に、クライアント端末２ｉからＷｅｂサーバ３ｊへのアクセス要求があった場合に、外部クライアント２の認証処理を行う認証手段１４と、クライアント端末２ｉからマウントポイント情報を含む第１外部ＵＲＬによる第１アクセス要求があった場合に、第１外部ＵＲＬを内部アドレスに変換して、対応するＷｅｂサーバ３ｊに第１アクセス要求を受け渡す第１変換処理と、Ｗｅｂサーバ３ｊから第１アクセス要求に対する応答があった場合に、応答にかかる内部アドレスを第１外部ＵＲＬに変換する第２変換処理を実行するアドレス変換手段１１と、第１アクセス要求があった場合に、第１アクセス要求に係る第１変換処理において、第１外部ＵＲＬからマウントポイント情報と第１位置情報とを抽出し対応付けてアクセス履歴情報として記憶するアクセス履歴記憶手段１２と、クライアント端末２ｉから、マウントポイント情報を含まない第２外部ＵＲＬによる第２アクセス要求があった場合に、第２外部ＵＲＬから第２位置情報を抽出し、当該第２位置情報と一部または全部が共通する第１位置情報を有するアクセス履歴情報を検索してマウントポイント情報を抽出し、当該マウントポイント情報を用いて、第２外部ＵＲＬを内部アドレスに変換するアドレス補完手段１３と、インターネット等の通信ネットワーク４を介して利用者端末とデータ通信を行うための通信インターフェース１０を備えて構成されている。尚、認証手段１４、アドレス変換手段１１、アドレス補完手段１３、及び、通信インターフェース１０の構成は、上記第２または第３実施形態の何れかと同じである。
【００８６】
アクセス履歴記憶手段１２は、本実施形態では、内部サーバ３が階層構造を有する場合に、第１位置情報が複数の階層名で構成されるアクセス履歴情報の夫々について、第１位置情報の内、最上位から所定階層数の階層名で構成された部分位置情報を求め、部分位置情報とマウントポイント情報が完全に一致する統合対象アクセス履歴情報が複数ある場合に、部分位置情報を第１位置情報として統合対象アクセス履歴情報を統合する統合処理を実行する。
【００８７】
以下、本実施形態におけるアクセス履歴記憶手段１２の統合処理について、図９を基に説明する。ここで、図９（ａ）は、統合前のアクセス履歴情報の一例を示しており、図９（ｂ）は、統合後のアクセス履歴情報の一例を示している。尚、本実施形態では、説明のため、特に、ユーザＩＤが“１２３４５６７”であり、マウントポイント情報が“ｗｅｂ０３”であるアクセス履歴情報を統合する場合について説明する。
【００８８】
より具体的には、図９（ａ）には、ユーザＩＤが“１２３４５６７”及びマウントポイント情報“ｗｅｂ０３”のアクセス履歴情報として、ＮＯ４のアクセス履歴情報とＮＯ５のアクセス履歴情報が記憶されている。アクセス履歴記憶手段１２は、ＮＯ４の第１位置情報の階層数が３であり、ＮＯ５の第１位置情報の階層数が４であることから、例えば、部分位置情報の階層数を３に設定して、部分位置情報を夫々比較する。この場合には、ＮＯ４の部分位置情報は“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ／ｈｔｍｌ”となり、ＮＯ５の部分位置情報は“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ／ｉｍａｇｅｓ”となり、一致しない。
【００８９】
部分位置情報が一致しない場合、アクセス履歴記憶手段１２は、部分位置情報の階層数を２に再設定して、部分位置情報を夫々比較する。この場合、ＮＯ４の部分位置情報は“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ”となり、ＮＯ５の部分位置情報は“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ”となり、完全に一致する。
【００９０】
部分位置情報が一致した場合、アクセス履歴記憶手段１２は、部分位置情報が一致したアクセス履歴情報を統合する。詳細には、部分位置情報が一致したアクセス履歴情報の内、最新のアクセス日時を有するアクセス履歴情報の第１位置情報を部分位置情報に置き換え、他のアクセス履歴情報を削除する。より具体的には、例えば、ＮＯ４のアクセス履歴情報の部分位置情報“／ＷｅｂＡｐｐｌｉｃａｔｉｏｎ０１／ａａａ”を第１位置情報として、ＮＯ５のアクセス履歴情報を削除する。ここで、図９（ｂ）は、統合後のアクセス履歴情報の一例を示している。これにより、アクセス履歴情報を統合することができ、アドレス補完手段１３において検索処理等を効率よく実施することが可能になる。
【００９１】
〈別実施形態〉
〈１〉上記第１〜第４実施形態では、第１変換処理においてアクセス履歴情報を記憶する場合について説明したが、これに限るものではない。第２変換処理においてアクセス履歴情報を記憶するように構成しても良いし、第１変換処理及び第２変換処理の両方において夫々アクセス履歴情報を記憶し、比較するように構成しても良い。
【００９２】
〈２〉上記第１〜第４実施形態では、アクセス履歴記憶手段１２が、アクセス履歴情報を記憶する際に、アクセス日時以外の情報が完全に一致するアクセス履歴情報がある場合に、既に記憶されているアクセス履歴情報のアクセス日時を更新するように構成したが、これに限るものではない。例えば、アクセス履歴情報を全て記憶しておき、所定の時間条件範囲内のアクセス履歴情報、例えば、過去１年以内に記憶されたアクセス履歴情報を利用する、或いは、アクセス日時以外の情報が完全に一致するアクセス履歴情報の内、最新のアクセス履歴情報のみを利用するように構成しても良い。
【００９３】
〈３〉上記第１〜第４実施形態において、外部クライアント２及び内部サーバ３の夫々に、例えば、外部クライアント２の役職や部署名、内部サーバ３の機密度等に応じてセキュリティレベルを設定し、外部クライアント２毎に、セキュリティレベルに応じて、内部サーバ３別、或いは、内部サーバ３のコンテンツ別にアクセス要求の許可及び禁止を設定するように構成しても良い。
【００９４】
このような場合には、同じ或いは所定範囲のセキュリティレベルが設定された１または複数の外部クライアント２で構成される１または複数のセキュリティグループを設定し、アドレス補完手段１３を、外部クライアント２別ではなく、第２アクセス要求を行った外部クライアント２と同じセキュリティグループに属する外部クライアント２のユーザＩＤが記憶されているアクセス要求履歴を用いて、第２外部ＵＲＬを内部アドレスに変換するように構成しても良い。また、アクセス要求履歴にアクセス日時等の時間情報が記憶されている場合には、外部クライアント２のセキュリティレベル別に、内部サーバ３別やコンテンツ別に時間条件を設定しても良い。
【００９５】
更に、セキュリティグループ別のアクセス要求履歴を用いて第２外部ＵＲＬを内部アドレスに変換するように構成する場合には、アクセス履歴情報を、セキュリティグループ別に作成するように構成しても良い。
【図面の簡単な説明】
【００９６】
【図１】本発明に係るリバースプロキシシステムとその周辺装置の一構成例を示す概略ブロック図
【図２】本発明に係るリバースプロキシシステムの概略構成例を示す概略ブロック図
【図３】内部サーバの階層構造例を示す概略ブロック図
【図４】本発明に係るリバースプロキシシステム及び周辺装置の処理動作の概略を示す概略フロー図
【図５】本発明に係るリバースプロキシシステムで用いるマウントポイント情報テーブルの一例を示す図
【図６】本発明に係るリバースプロキシシステムの第１実施形態で生成するアクセス履歴情報の概略構成例を示す概略ブロック図
【図７】本発明に係るリバースプロキシシステムの第２実施形態で生成するアクセス履歴情報の概略構成例を示す概略ブロック図
【図８】本発明に係るリバースプロキシシステムの第３実施形態におけるマウントポイント情報の補完に係る処理動作の概略を示す概略フロー図
【図９】本発明に係るリバースプロキシシステムの第４実施形態における統合前のアクセス履歴情報と統合後のアクセス履歴情報の概略構成例を示す概略ブロック図
【図１０】従来技術に係るリバースプロキシシステムとその周辺装置の一構成例を示す概略ブロック図
【図１１】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【図１２】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【図１３】従来技術に係るリバースプロキシシステムの概略動作例を示す概略図
【符号の説明】
【００９７】
１      本発明に係るリバースプロキシシステム
２      外部クライアント
２ｉ    クライアント端末
３      内部サーバ
３ｊ    Ｗｅｂサーバ
４      通信ネットワーク
５      内部ＬＡＮ
１０    通信インターフェース
１１    アドレス変換手段
１２    アクセス履歴記憶手段
１３    アドレス補完手段
１４    認証手段
１５    記憶手段
１００  従来技術に係るリバースプロキシシステム
【図１】
0005049172.tif 000002
【図２】
0005049172.tif 000003
【図３】
0005049172.tif 000004
【図４】
0005049172.tif 000005
【図５】
0005049172.tif 000006
【図６】
0005049172.tif 000007
【図７】
0005049172.tif 000008
【図８】
0005049172.tif 000009
【図９】
0005049172.tif 000010
【図１０】
0005049172.tif 000011
【図１１】
0005049172.tif 000012
【図１２】
0005049172.tif 000013
【図１３】
0005049172.tif 000014