(57)【特許請求の範囲】
【請求項１】
ユーザが操作するユーザ装置とデータ送受信可能に接続されたサーバ装置であって、
前記ユーザにより指定されたアドレスへのアクセス要求を受け付ける要求受付手段と、
前記要求受付手段がアクセス要求を受け付けた場合、前記ユーザにより指定されたアドレスにアクセスさせるか否かを判定する判定手段と、
前記ユーザにより指定されたアドレスにアクセスさせないと判定された場合に、前記ユーザ装置に、前記ユーザにより指定されたアドレスの一部を変更させることによって他のアドレスを生成させるためのプログラムを送信するプログラム送信手段と、
を含むことを特徴とするサーバ装置。
【請求項２】
前記要求受付手段は、前記ユーザにより指定されたＵＲＬへのアクセス要求を受け付け、
前記判定手段は、前記要求受付手段がアクセス要求を受け付けた場合、前記ユーザにより指定されたＵＲＬにアクセスさせるか否かを判定し、
前記プログラム送信手段は、前記ユーザにより指定されたＵＲＬにアクセスさせないと判定された場合に、前記ユーザ装置に、前記ユーザにより指定されたＵＲＬに所与の記号列を追加させることによって、又は、前記ユーザにより指定されたＵＲＬの所与の記号列を他の記号列に置き換え若しくは削除させることによって、他のＵＲＬを生成させるためのプログラムを送信する、
ことを特徴とする請求項１に記載のサーバ装置。
【請求項３】
ユーザが操作するユーザ装置とデータ送受信可能に接続されたサーバ装置であって、
前記ユーザにより指定されたアドレスへのアクセス要求を受け付ける要求受付手段と、
前記要求受付手段がアクセス要求を受け付けた場合、前記ユーザにより指定されたアドレスにアクセスさせるか否かを判定する判定手段と、
前記ユーザにより指定されたアドレスにアクセスさせないと判定された場合に、前記ユーザ装置に、前記ユーザにより指定されたアドレスを他のアドレスにアドレス変換させるためのプログラムを送信するプログラム送信手段と、
一のアドレスにアクセスするユーザにより、当該一のアドレスが前記アドレス変換されてなる他のアドレスへのリンクの生成が指示された場合には、前記一のアドレスがリンク先として設定されたリンクを生成するリンク制御手段と、
を含むことを特徴とするサーバ装置。
【請求項４】
ユーザが操作するユーザ装置とデータ送受信可能に接続されたサーバ装置の制御方法であって、
前記ユーザにより指定されたアドレスへのアクセス要求を受け付ける要求受付ステップと、
前記要求受付ステップにおいてアクセス要求を受け付けた場合、前記ユーザにより指定されたアドレスにアクセスさせるか否かを判定する判定ステップと、
前記ユーザにより指定されたアドレスにアクセスさせないと判定された場合に、前記ユーザ装置に前記ユーザにより指定されたアドレスの一部を変更させることによって他のアドレスを生成させるためのプログラムを送信するプログラム送信ステップと、
を含むことを特徴とするサーバ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びサーバ装置の制御方法に関する。
【背景技術】
【０００２】
従来、ユーザが指定したアドレスに接続できない場合に、他のアドレスに自動的にリダイレクトさせる技術が知られている。特許文献１には、ユーザが指定したＵＲＬ（例えば、あるサーバ装置のＵＲＬ）のアクセス権限がない場合に、リダイレクトさせる他のＵＲＬ（例えば、他のサーバ装置のＵＲＬ）を、サーバ装置側で決定する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７１８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、サーバ装置にはユーザからのアクセスが集中することが多く、特許文献１のようにリダイレクト先をサーバ装置が決定する技術では、サーバ装置の処理負荷が増大する可能性がある。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、サーバ装置の処理負荷を軽減しつつ、リダイレクト処理を行うことが可能なサーバ装置及びサーバ装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係るサーバ装置は、ユーザが操作するユーザ装置とデータ送受信可能に接続されたサーバ装置であって、前記ユーザにより指定されたアドレスへのアクセス要求を受け付ける要求受付手段と、前記要求受付手段がアクセス要求を受け付けた場合、前記ユーザにより指定されたアドレスにアクセスさせるか否かを判定する判定手段と、前記ユーザにより指定されたアドレスにアクセスさせないと判定された場合に、前記ユーザ装置に、前記ユーザにより指定されたアドレスを他のアドレスにアドレス変換させるためのプログラムを送信するプログラム送信手段と、を含むことを特徴とする。
【０００７】
また、本発明に係るサーバ装置の制御方法は、ユーザが操作するユーザ装置とデータ送受信可能に接続されたサーバ装置の制御方法であって、前記ユーザにより指定されたアドレスへのアクセス要求を受け付ける要求受付ステップと、前記要求受付ステップにおいてアクセス要求を受け付けた場合、前記ユーザにより指定されたアドレスにアクセスさせるか否かを判定する判定ステップと、前記ユーザにより指定されたアドレスにアクセスさせないと判定された場合に、前記ユーザ装置に前記ユーザにより指定されたアドレスを他のアドレスにアドレス変換させるためのプログラムを送信するプログラム送信ステップと、を含むことを特徴とする。
【０００８】
本発明によれば、サーバ装置の処理負荷を軽減しつつ、リダイレクト処理を行うことが可能になる。
【０００９】
また、本発明の一態様では、前記要求受付手段は、前記ユーザにより指定されたＵＲＬへのアクセス要求を受け付け、前記判定手段は、前記要求受付手段がアクセス要求を受け付けた場合、前記ユーザにより指定されたＵＲＬにアクセスさせるか否かを判定し、前記プログラム送信手段は、前記ユーザにより指定されたＵＲＬにアクセスさせないと判定された場合に、前記ユーザ装置に前記ユーザにより指定されたＵＲＬを他のＵＲＬに文字列変換させるためのプログラムを送信する、ことを特徴とする。
【００１０】
また、本発明の一態様では、一のアドレスにアクセスするユーザにより、当該一のアドレスが前記アドレス変換されてなる他のアドレスへのリンクの生成が指示された場合には、前記一のアドレスがリンク先として設定されたリンクを生成するリンク制御手段、を更に含むことを特徴とする。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るアクセス制御システムのネットワーク構成例を示す図である。
【図２】ユーザ装置がサーバ装置にアクセスする様子を示す図である。
【図３】ユーザ装置がインターネットを介してサーバ装置にアクセスする様子を示す図である。
【図４】エラーページの画面例を示す図である。
【図５】アクセス制御システムの機能ブロック図である。
【図６】アクセス制御システムにおいて実行される処理を示す図である。
【図７】アクセス制御システムにおいて実行される処理を示す図である。
【図８】実施形態２の機能ブロック図である。
【図９】ユーザが社内からサーバ装置にアクセスする場合のリンクを示す図である。
【図１０】ユーザが社外からサーバ装置にアクセスする場合のリンクを示す図である。
【発明を実施するための形態】
【００１２】
［１．実施形態１］
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。本発明に係るサーバ装置は、ユーザ装置とデータ送受信可能に接続される。ここでは、本発明に係るサーバ装置とユーザ装置とを含んでなるアクセス制御システムについて説明する。
【００１３】
［１−１．アクセス制御システムの構成］
図１は、本発明に係るアクセス制御システムのネットワーク構成例を示す図である。図１に示すように、アクセス制御システム１は、ユーザが操作するユーザ装置１０ａ〜１０ｆ（以降、これらをまとめて単にユーザ装置１０ともいう。）とサーバ装置２０とを含んで構成される。
【００１４】
ユーザ装置１０は、例えば、ＣＰＵ等からなる制御部１１と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部１２と、マウスやキーボード等からなる操作部１３と、液晶ディスプレイ等からなる表示部１４と、光ディスク再生装置等からなる入力部１５と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部１６と、を含んで構成されている。
【００１５】
サーバ装置２０は、例えば、ＣＰＵ等からなる制御部２１と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部２２と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部２３と、を含んで構成されている。
【００１６】
なお、ユーザ装置１０及びサーバ装置２０は、パーソナルコンピュータ等の公知のコンピュータによって実現されるようにすればよく、ユーザ装置１０及びサーバ装置２０のハードウェア構成は、上記の例に限られない。また、本実施形態において、記憶部１２又は記憶部２２に記憶されていることとして説明するプログラムやデータは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ等の情報記憶媒体を介して供給されるようにしてもよいし、ＬＡＮ３０又はインターネット４０等の通信手段を介して供給されるようにしてもよい。
【００１７】
ユーザ装置１０とサーバ装置２０とはデータ送受信可能に接続される。ここでは、複数種別のネットワークによって両者が接続されている。例えば、図１に示すように、ユーザ装置１０ａ〜１０ｄとサーバ装置２０とは、第１のネットワークであるＬＡＮ（Local Area Network）３０を介して接続されている。一方、ユーザ装置１０ｅ，１０ｆとサーバ装置２０とは、第２のネットワークであるインターネット４０を介して接続されている。
【００１８】
例えば、ユーザ装置１０ａ〜１０ｄは、アクセス制御システム１を利用する会社の社内に配置される。即ち、ユーザ装置１０ａ〜１０ｄのユーザは、社内からＬＡＮ３０を介してサーバ装置２０に接続する。一方、例えば、ユーザ装置１０ｅ，１０ｆは、アクセス制御システム１を利用する会社の社外（各ユーザの自宅等）に配置される。即ち、ユーザ装置１０ｅ，１０ｆのユーザは、社外からインターネット４０を介してサーバ装置２０に接続する。
【００１９】
サーバ装置２０には、複数のユーザの各々を識別するためのユーザＩＤが記憶（登録）される。また、サーバ装置２０は、記憶部２２に記憶されているＣＧＩ（Common Gateway Interface）プログラム及びＨＴＴＰＤ（Http Daemon）によって、これらユーザＩＤが識別するユーザに対して各種サービスを提供する。例えば、サーバ装置２０は、ＨＴＴＰ（Hypertext Transfer Protocol）に則り、スケジュール管理サービス、掲示板管理サービス、アドレス帳管理サービス、ＴｏＤｏリスト管理サービス等を、ユーザ装置１０を操作する各ユーザに提供するようにしてもよい。
【００２０】
ユーザは、サーバ装置２０が提供するサービスを利用するにあたり、まず、記憶部１２に記憶されている公知のＷｅｂブラウザを起動させる。次いで、ユーザは、Ｗｅｂブラウザのショートカット機能を利用したり、所与のリンクを選択したりすることによって、サーバ装置２０のＵＲＬを指定（入力）する。
【００２１】
詳しくは後述するが、ユーザが社内からＬＡＮ３０を介してサーバ装置２０にアクセスするためのＵＲＬと、ユーザが社外からインターネット４０を介してサーバ装置２０にアクセスするためのＵＲＬと、がサーバ装置２０に設定されている。ユーザにより何れかのＵＲＬが指定されることによって、ユーザ装置１０は、Ｗｅｂブラウザを用いてサーバ装置２０のＣＧＩプログラムにアクセスすることになる。
【００２２】
一方、サーバ装置２０は、ユーザ装置１０からアクセス要求を受け付けると、ＣＧＩプログラムにより出力されるＨＴＭＬデータをユーザ装置１０に送信する。ユーザ装置１０は、当該ＨＴＭＬデータに基づいて各種サービスに係る画面を表示部１４に表示する。
【００２３】
図２は、ユーザ装置１０がサーバ装置２０にアクセスする様子を示す図である。例えば、ユーザは、ＵＲＬ欄５２に示すサーバ装置２０のＵＲＬを指定し、利用画面５０を表示部１４に表示させて、サーバ装置２０が提供する各種サービスを利用する。
【００２４】
本実施形態においては、サーバ装置２０が、１つの装置で複数のドメインを運用するバーチャルホスト技術を利用することによって、２つのドメインを運用する場合を例に挙げて説明する。例えば、ユーザが社内からサーバ装置２０にアクセスする場合には、第１のドメインが利用され、ユーザが社外からサーバ装置２０にアクセスする場合には、第２のドメインが利用される。
【００２５】
例えば、図２の利用画面５０は、社内にいるユーザがユーザ装置１０ａを操作してサーバ装置２０にアクセスすることによって表示される画面である。ここでは、ＵＲＬ欄５２に示すように、ユーザは、第１のドメインに対応する第１のＵＲＬ（以降、単に社内用ＵＲＬという。）である「http://xxx.yyy.com」にアクセスすることによって、ＬＡＮ３０を介してサーバ装置２０が提供するサービスを利用することができる。
【００２６】
図３は、ユーザ装置１０がインターネット４０を介してサーバ装置２０にアクセスする様子を示す図である。例えば、図３の利用画面５０は、社外にいるユーザがユーザ装置１０ｅを操作してサーバ装置２０にアクセスすることによって表示される画面である。
【００２７】
この場合、ＵＲＬ欄５２に示すように、ユーザは、第２のドメインに対応する第２のＵＲＬ（以降、単に社外用ＵＲＬという。）である「http://xxx.s.yyy.com」にアクセスすることによって、サーバ装置２０が提供するサービスを利用することができる。社内用ＵＲＬと社外用ＵＲＬとは所定の関係を有するものであり、ここでは、社内用ＵＲＬの「http://xxx.」と「yyy.com」との間に所定の文字列「s.」を挿入したＵＲＬが、社外用ＵＲＬとして設定されている。
【００２８】
本実施形態においては、社内用ＵＲＬについては、ＬＡＮ３０を介してのみアクセスできるように、アクセス制限がなされている。例えば、社内用ＵＲＬへのアクセスを許可するユーザ装置１０のＩＰアドレスを予め定めておくことによって、社内用ＵＲＬへのアクセス制限がなされるようにしてもよい。ユーザが、社外からインターネット４０を介して社内用ＵＲＬにアクセスしようとした場合には、このユーザにはアクセス権限がないので、表示部１４にエラーページが表示される。
【００２９】
図４は、エラーページの画面例を示す図である。例えば、社外のユーザ装置１０ｅを操作するユーザが、ＵＲＬ欄５２に社内用ＵＲＬの「http://xxx.yyy.com」を入力して、社外から社内用ＵＲＬへのアクセスを試みると、利用画面５０に遷移せずに、エラーページ５４が表示部１４に表示される。エラーページ５４は、社内用ＵＲＬへのアクセスが許可されなかったことをユーザに通知するための画面ともいえる。
【００３０】
図４に示すように、エラーページ５４には、社外用ＵＲＬへのリンク５６と、自動的に社外用ＵＲＬへリダイレクトするか否かをユーザが指定するためのチェックボックス５８（詳細後述）と、が含まれる。エラーページ５４が表示された場合、ユーザがリンク５６を選択することによって、社内用ＵＲＬから社外用ＵＲＬへのリダイレクト処理が実行される。
【００３１】
ここでは、社内用ＵＲＬに「s.」の文字列（記号列）を挿入して社外用ＵＲＬを生成するためのスクリプトが、エラーページ５４のＨＴＭＬデータに記述されている。即ち、本実施形態のアクセス制御システム１は、サーバ装置２０側ではなく、ユーザ装置１０側でリダイレクト先を決定する構成になっている。以降、この技術について詳細に説明する。
【００３２】
［１−２．アクセス制御システムにおいて実現される機能］
図５は、アクセス制御システム１の機能ブロック図である。図５に示すように、アクセス制御システム１は、第１アクセス要求部７０と、プログラム受信部７２と、アドレス変換部７４と、第２アクセス要求部７６と、要求受付部８０と、判定部８２と、プログラム送信部８４と、を実現する。
【００３３】
例えば、第１アクセス要求部７０と、プログラム受信部７２と、アドレス変換部７４と、第２アクセス要求部７６と、はユーザ装置１０において実現される。例えば、制御部１１が記憶部１２に記憶されたプログラムを実行することによって、これらの機能が実現される。
【００３４】
一方、例えば、要求受付部８０と、判定部８２と、プログラム送信部８４と、はサーバ装置２０において実現される。例えば、制御部２１が記憶部２２に記憶されたプログラムを実行することによって、これらの機能が実現される。
【００３５】
［１−２−１．第１アクセス要求部］
第１アクセス要求部７０は、例えば、制御部１１及び通信部１６を主として実現される。第１アクセス要求部７０は、ユーザにより指定されたアドレス（例えば、サーバ装置２０の社内用ＵＲＬ。）へのアクセス要求を行う。
【００３６】
ユーザが指定するアドレスは、ユーザ装置１０が接続する接続先の場所を識別するための情報であり、ＵＲＬの他にも、ＩＰアドレスやＭＡＣアドレス等が指定されるようにしてもよい。アクセス要求としては、例えば、アクセス元を識別する情報（例えば、ユーザ装置１０のＩＰアドレス）とユーザにより指定されたアドレスを示す情報とが送信される。アクセス要求は、アクセス先の装置に対して直接送信されるようにしてもよいし、アクセス先の装置に接続される他の装置（例えば、中継サーバ等）に対して送信されるようにしてもよい。
【００３７】
ここでは、社外のユーザ装置１０ｅを操作するユーザが、ＷｅｂブラウザのＵＲＬ欄５２に社内用ＵＲＬを入力したり、社内用ＵＲＬのリンクやショートカットを選択したりすると、インターネット４０を介してユーザ装置１０ｅからサーバ装置２０にアクセス要求が送信される場合を例に挙げて説明する。
【００３８】
［１−２−２．要求受付部］
要求受付部８０は、例えば、制御部２１及び通信部２３を主として実現される。要求受付部８０は、ユーザにより指定されたアドレスへのアクセス要求を受け付ける。即ち、要求受付部８０は、第１アクセス要求部７０が送信したアクセス要求を受信する。ここでは、社外のユーザ装置１０ｅからの社内用ＵＲＬへのアクセス要求が受け付けられることになる。
【００３９】
［１−２−３．判定部］
判定部８２は、例えば、制御部２１を主として実現される。判定部８２は、要求受付部８０がアクセス要求を受け付けた場合、ユーザにより指定されたアドレス（例えば、サーバ装置２０の社内用ＵＲＬ。）にアクセスさせるか否かを判定する。即ち、判定部８２は、要求受付部８０が受け付けたアクセス要求を許可するか否かを判定する。
【００４０】
例えば、社内用ＵＲＬへのアクセスを許可するユーザ装置１０（又は、ユーザ）を識別する情報が記憶部２２等に予め登録されており、アクセス要求をしたユーザ装置１０（又は、ユーザ）が登録されたものであるか否かが判定されることによって、ユーザ装置１０（又は、ユーザ）が社内用ＵＲＬにアクセスする権限があるか否かが判定される。ここでは、判定部８２は、社内用ＵＲＬへのアクセス要求をしたユーザ装置１０のＩＰアドレスを取得し、当該ＩＰアドレスが予め登録されたものであるか否かを判定することによって、このユーザ装置１０が社内用ＵＲＬにアクセスする権限があるか否かを判定する。
【００４１】
［１−２−４．プログラム送信部］
プログラム送信部８４は、例えば、制御部２１及び通信部２３を主として実現される。プログラム送信部８４は、ユーザにより指定されたアドレス（例えば、サーバ装置２０の社内用ＵＲＬ。）にアクセスさせないと判定された場合、ユーザ装置１０に、ユーザにより指定されたアドレスを他のアドレス（例えば、サーバ装置２０の社外用ＵＲＬ。）にアドレス変換させるためのプログラムを送信する。当該プログラムは、所定法則のもとで、あるアドレスを他のアドレスに変換するためのプログラムである。即ち、このプログラムは、変換前後のアドレスを関連付けたデータともいえる。
【００４２】
ここでは、プログラム送信部８４が、ユーザ装置１０に、ユーザにより指定されたＵＲＬ（社内用ＵＲＬ）を他のＵＲＬ（社外用ＵＲＬ）に文字列変換させるためのプログラムを送信する場合を例に挙げて説明する。ＵＲＬの文字列変換処理を実行するためのスクリプトが記述されたエラーページ５４のＨＴＭＬデータがユーザ装置１０に送信される。
【００４３】
エラーページ５４に含まれるスクリプトは、例えば、ユーザが指定したＵＲＬの文字列の一部又は全部を他の文字列に置き換えるためのプログラムである。ここでは、エラーページ５４のＨＴＭＬデータに含まれるスクリプトが実行されると、ユーザ装置１０が、社内用ＵＲＬに所与の記号列を追加することによって、又は、社内用ＵＲＬの所与の記号列を変更若しくは削除することによって、社外用ＵＲＬが決定される。
【００４４】
本実施形態においては、Ｗｅｂブラウザにおいて指定されているＵＲＬの「http://www.」の後に所定の文字列「s.」を挿入する命令が、エラーページ５４のスクリプトに記述されている。別の言い方をすれば、社内用ＵＲＬの「xxx.」の文字列を「xxx.s.」の文字列に置き換える命令が、エラーページ５４のスクリプトに記述されている。
【００４５】
［１−２−５．プログラム受信部］
プログラム受信部７２は、例えば、制御部１１及び通信部１６を主として実現される。プログラム受信部７２は、プログラム送信部８４が送信したプログラム（例えば、スクリプトが記述されたＨＴＭＬデータ）を受信する。ここでは、プログラム受信部７２は、エラーページ５４のＨＴＭＬデータを、インターネット４０を介してサーバ装置２０から受信する場合を例に挙げて説明する。プログラム受信部７２がエラーページ５４のＨＴＭＬデータを受信すると、このＨＴＭＬデータに含まれるスクリプトが自動的に実行される。
【００４６】
［１−２−６．アドレス変換部］
アドレス変換部７４は、例えば、制御部１１を主として実現される。アドレス変換部７４は、プログラム受信部７２が受信したプログラム（例えば、ＨＴＭＬデータに記述されたスクリプト）を実行し、ユーザにより指定されたアドレスを他のアドレスに変換する。ここでは、アドレス変換部７４が、ユーザにより指定されたＵＲＬ（例えば、社内用ＵＲＬ）の文字列を変換することによって、このＵＲＬを他のＵＲＬ（例えば、社外用ＵＲＬ）に変換する場合を例に挙げて説明する。
【００４７】
ここでは、アドレス変換部７４は、プログラム受信部７２が受信したＨＴＭＬデータに記述されているスクリプトに従い、現在指定されているＵＲＬの「http://www.」の後に所定の記号列「s.」を挿入することによって、社外用ＵＲＬを生成してリダイレクト先を決定することになる。
【００４８】
［１−２−７．第２アクセス要求部］
第２アクセス要求部７６は、例えば、制御部１１及び通信部１６を主として実現される。第２アクセス要求部７６は、第１アクセス要求部７０によるアクセス要求に代えて、アドレス変換部７４が変換したアドレス（例えば、社外用ＵＲＬ。）へのアクセス要求を行う。
【００４９】
例えば、アドレス変換部７４が決定した社外用ＵＲＬがユーザに案内され、当該案内された社外用ＵＲＬをユーザが選択した場合にアクセス要求が行われるようにしてもよい。他にも例えば、アドレス変換部７４が社外用ＵＲＬを決定した場合に、自動的に社外用ＵＲＬへのアクセス要求が行われるようにしてもよい。
【００５０】
本実施形態においては、要求受付部８０は、プログラム送信部８４がプログラムを送信したユーザ装置１０からの社外用ＵＲＬのアドレスへのアクセス要求を受け付ける。つまり、ここでは、１つのサーバ装置２０に社内用ＵＲＬと社外用ＵＲＬとが割り当てられるので、要求受付部８０は、第２アクセス要求部７６によるアクセス要求も受け付けることになる。
【００５１】
［１−３．アクセス制御システムにおいて実行される処理］
図６及び図７は、アクセス制御システムにおいて実行される処理を示す図である。例えば、制御部１１が記憶部１２に記憶されたプログラムを実行し、制御部２１が記憶部２２に記憶されたプログラムを実行することによって、図６及び図７に示す処理が行われる。
【００５２】
図６に示すように、まず、制御部１１は、Ｗｅｂブラウザを起動し、ユーザによるＵＲＬの指定を受け付ける（Ｓ１）。例えば、Ｗｅｂブラウザに表示されたリンクやショートカットが選択されたり、ＵＲＬ欄５２にＵＲＬが直接入力されたりすることによって、ＵＲＬの指定が受け付けられる。ここでは、社内用ＵＲＬ又は社外用ＵＲＬが指定される場合を説明する。
【００５３】
社外用ＵＲＬの指定が受け付けられた場合（Ｓ１；社外用ＵＲＬ）、処理は、後述のＳ１５に移行する。
【００５４】
社内用ＵＲＬの指定が受け付けられた場合（Ｓ１；社内用ＵＲＬ）、制御部１１は、社内用ＵＲＬへのアクセス要求をサーバ装置２０に対して行う（Ｓ２）。ユーザ装置１０ａ〜１０ｄが操作される場合には、ＬＡＮ３０を介してアクセス要求が送信され、ユーザ装置１０ｅ，１０ｆが操作される場合には、インターネット４０を介してアクセス要求が送信される。
【００５５】
サーバ装置２０においては、制御部２１は、社内用ＵＲＬへのアクセス要求を受信すると、当該アクセス要求をしたユーザ装置１０のＩＰアドレスを取得する（Ｓ３）。ユーザ装置１０のＩＰアドレスは、例えば、Ｓ２におけるアクセス要求とともにサーバ装置２０に送信される。
【００５６】
制御部２１は、Ｓ３で取得したＩＰアドレスと、記憶部２２に登録されたＩＰアドレスと、を比較することによって、アクセス要求をしたユーザに社内用ＵＲＬへのアクセスを許可するか否かを判定する（Ｓ４）。記憶部２２には、例えば、システム管理者等により、社内用ＵＲＬへのアクセスを許可するユーザ装置１０のＩＰアドレスが予め登録されている。Ｓ４においては、社内用ＵＲＬへのアクセス要求をしたユーザ装置１０のＩＰアドレスが記憶部２２に登録されていた場合、このユーザ装置１０による社内用ＵＲＬへのアクセスが許可される。
【００５７】
社内用ＵＲＬへのアクセスを許可すると判定された場合（Ｓ４；Ｙ）、制御部２１は、利用画面５０のＨＴＭＬデータをユーザ装置１０に送信する（Ｓ５）。
【００５８】
ユーザ装置１０においては、ＨＴＭＬデータを受信し、図２に示すような利用画面５０を表示部１４に表示させ（Ｓ６）、処理は終了する。以降、ユーザの操作に応じてサービスが提供されることになる。
【００５９】
一方、社内用ＵＲＬへのアクセスを許可すると判定されない場合（Ｓ４；Ｎ）、制御部２１は、エラーページ５４のＨＴＭＬデータをユーザ装置１０に送信する（Ｓ７）。このエラーページ５４のＨＴＭＬデータは、例えば、記憶部２２のＣＧＩプログラムが実行されることによって生成され、社内用ＵＲＬから社外用ＵＲＬを生成するためのスクリプトが記述されている。
【００６０】
ユーザ装置１０においては、制御部１１は、エラーページ５４のＨＴＭＬデータを受信すると、当該ＨＴＭＬデータに含まれるスクリプトを実行し、社内用ＵＲＬを取得する（Ｓ８）。次いで、制御部１１は、社内用ＵＲＬの所定位置に所与の文字列を挿入することによって、社外用ＵＲＬを生成する（Ｓ９）。例えば、スクリプトに従って処理を実行すると、社内用ＵＲＬ「http://xxx.yyy.com」に「s.」が挿入され、社外用ＵＲＬ「http://xxx.s.yyy.com」が生成される。
【００６１】
図７に移り、制御部１１は、記憶部１２に記憶されたＷｅｂブラウザのクッキーを参照し、過去にチェックボックス５８が選択されたか否かを判定する（Ｓ１０）。例えば、配列に格納された情報がクッキーとして使用される場合、この配列の所与の要素にチェックボックス５８が選択されたか否かを示す情報が格納される。Ｓ１０の判定は、この情報が参照されることによって行われる。
【００６２】
過去にチェックボックス５８が選択されたと判定された場合（Ｓ１０；Ｙ）、以降のＳ１１〜Ｓ１４は行われず、処理は、Ｓ１５に移行する。即ち、この場合、ユーザにリンク５６を選択させることなく、自動的に社外用ＵＲＬへのリダイレクト処理が実行される。
【００６３】
一方、過去にチェックボックス５８が選択されたと判定されない場合（Ｓ１０；Ｎ）、制御部１１は、サーバ装置２０から受信したＨＴＭＬデータに基づいて、Ｓ９で生成された社外用ＵＲＬのリンク５６を含むエラーページ５４（図４）を表示部１４に表示させる（Ｓ１１）。
【００６４】
制御部１１は、ユーザの操作によりチェックボックス５８が選択されたか否かを判定する（Ｓ１２）。チェックボックス５８が選択されたと判定された場合（Ｓ１２；Ｙ）、制御部１１は、記憶部１２に記憶されたＷｅｂブラウザのクッキーに、チェックボックス５８が選択されたことを示す情報を格納する（Ｓ１３）。例えば、クッキーの配列のうちの所与の要素に、予め定められた文字列が格納されるようにしてもよい。Ｓ１３においては、記憶部１２に記憶されたクッキーの内容が更新されることになる。
【００６５】
チェックボックス５８が選択されたと判定されない場合（Ｓ１２；Ｎ）、制御部１１は、エラーページ５４のリンク５６がユーザにより選択されたか否かを判定する（Ｓ１４）。リンク５６が選択されたと判定されない場合（Ｓ１４；Ｎ）、社外用ＵＲＬへのアクセスは行われず、処理は終了する。
【００６６】
リンク５６が選択されたと判定された場合（Ｓ１４；Ｙ）、制御部１１は、社外用ＵＲＬへのアクセス要求をサーバ装置２０に対して行う（Ｓ１５）。ここでは、例えば、社外のユーザ装置１０ｅ，１０ｆが操作されており、Ｓ４において社内用ＵＲＬへのアクセスが拒否されているので、Ｓ１５においては、インターネット４０を介してアクセス要求がサーバ装置２０に送信されることになる。
【００６７】
サーバ装置２０においては、制御部２１は、アクセス要求を受信すると、このアクセス要求をしたユーザ装置１０に対してクライアント証明書を要求する（Ｓ１６）。クライアント証明書は、ユーザ装置１０の身元を証明するためのものであり、例えば、過去（例えば、ユーザ登録を行ったとき）にサーバ装置２０によって発行される。発行されたクライアント証明書は、ユーザ装置１０に送信され、記憶部１２に記憶される。なお、本処理において用いられるクライアント証明書は、サーバ装置２０が発行したものに限られず、サーバ装置２０以外のコンピュータにおいて発行された証明書が用いられるようにしてもよい。
【００６８】
ユーザ装置１０においては、制御部１１は、クライアント証明書の要求を受け付けると、記憶部１２に記憶されたクライアント証明書をサーバ装置２０に送信する（Ｓ１７）。記憶部１２に記憶されたクライアント証明書が複数ある場合には、これらクライアント証明書がユーザに案内され、ユーザに選択されたクライアント証明書がサーバ装置２０に送信されるようにしてもよい。例えば、クライアント証明書の一覧が表示部１４に表示され、ユーザに選択させるようにしてもよい。なお、記憶部１２にクライアント証明書が記憶されていない場合には、Ｓ１７の処理は行われない。この場合は、ユーザは社外用ＵＲＬへのアクセスを許可されないことになる。
【００６９】
サーバ装置２０においては、制御部２１は、クライアント証明書を受信したか否かを判定する（Ｓ１８）。クライアント証明書を受信したと判定されない場合（Ｓ１８；Ｎ）、社外用ＵＲＬへのアクセスを許可せず、処理は終了する。この場合、社外用ＵＲＬへのアクセスを拒否する旨の画面を示すＨＴＭＬデータが、サーバ装置２０からユーザ装置１０に送信されるようにしてもよい。
【００７０】
一方、クライアント証明書を受信したと判定された場合（Ｓ１８；Ｙ）、制御部２１は、社外用ＵＲＬへのアクセスを許可し、利用画面５０のＨＴＭＬデータをユーザ装置１０に送信する（Ｓ１９）。
【００７１】
ユーザ装置１０においては、ＨＴＭＬデータを受信し、利用画面５０を表示部１４に表示させ（Ｓ２０）、処理は終了する。以降、ユーザの操作に応じてサービスが提供されることになる。
【００７２】
［１−４．実施形態のまとめ］
以上説明したアクセス制御システム１によれば、社外から社内用ＵＲＬへのアクセス要求が行われた場合、サーバ装置２０ではなく、ユーザ装置１０において、社内用ＵＲＬの所定の記号列を他の記号列に置き換えることによって社外用ＵＲＬを生成し、社外用ＵＲＬへのリダイレクト処理が実行される。したがって、リダイレクト先をサーバ装置２０に決定させるような場合に比べて、サーバ装置２０の処理負荷を軽減することができる。
【００７３】
更に、ユーザがハッシュ付きＵＲＬ（「＃」の記号を含むＵＲＬ）にアクセスする際に、サーバ装置２０がＵＲＬを変換してリダイレクトする方式（Locationヘッダ）を用いた場合、一部のＷｅｂブラウザにおいては、当該変換されたＵＲＬにハッシュを付けないことが知られている。この点、アクセス制御システム１では、ユーザ装置１０側でリダイレクト先のＵＲＬを決定しているため、ハッシュ以降の文字列が消去されることなくハッシュ付きＵＲＬのリダイレクト処理を確実に行うことができる。即ち、社外のユーザが、上記のようなｗｅｂブラウザを用いてハッシュ付きの社内用ＵＲＬへのアクセスを試みた場合であっても、ハッシュ付きの社外用ＵＲＬへのリダイレクト処理を行うことができる。
【００７４】
［２．実施形態２］
次に、アクセス制御システム１の別実施形態について説明する。実施形態１においては、ユーザが社外から社内用ＵＲＬにアクセスしようとした場合に、エラーページ５４のスクリプトが実行されることによって、ユーザ装置１０側で社外用ＵＲＬへのリダイレクト処理が実行される。
【００７５】
しかし、例えば、社外からアクセスしているユーザが、ＵＲＬ欄５２のリンクをコピーして掲示板に貼り付けた場合に、社内からアクセスしているユーザがこの掲示板を表示させたとする。その際に、リンク先が社外用ＵＲＬに設定されたリンクが生成されると、このユーザがリンクを選択した場合に、社内からアクセスしているにもかかわらず社外用ＵＲＬへのアクセス要求をすることになってしまう。
【００７６】
そこで、実施形態２においては、ユーザが社内からアクセスしている場合には、社内用ＵＲＬのリンクを生成し、ユーザが社外からアクセスしている場合には、社外用ＵＲＬのリンクを生成する。その結果、社内のユーザは、社外用ＵＲＬにアクセスすることがなくなり、社外のユーザは、社内用ＵＲＬにアクセスすることがなくなる。
【００７７】
なお、実施形態２のアクセス制御システム１のハードウェア構成は、実施形態１と同様であるので説明を省略する。
【００７８】
［２−１．実施形態２の機能ブロック図］
図８は、実施形態２の機能ブロック図である。図８に示すように、実施形態２においては、実施形態１の機能に加えてリンク制御部８６が実現される。
【００７９】
リンク制御部８６は、制御部２１を主として実現される。リンク制御部８６は、一のアドレス（例えば、社内用ＵＲＬ）にアクセスするユーザにより、当該一のアドレスがアドレス変換されてなる他のアドレス（例えば、社外用ＵＲＬ）へのリンクの生成が指示された場合には、一のアドレスがリンク先として設定されたリンクを生成する。
【００８０】
リンク制御部８６は、サーバ装置２０にアクセスするユーザが、ユーザ装置１０とサーバ装置２０との間の現在のセッションにおいてＳ１７でクライアント証明書を選択してサーバ装置２０に送信し、クライアント証明書を利用したアクセスを行っているか否かを判定することによって、社内用ＵＲＬにアクセスするユーザであるか、社外用ＵＲＬにアクセスするユーザであるか、を特定する。
【００８１】
ユーザがクライアント証明書を利用したアクセスを行っていなければ、社内からアクセスしていることになるので、社内用ＵＲＬのリンクが生成される。ここでは、社外用ＵＲＬの所与の文字列を他の文字列に置き換える（例えば、「xxx.s.」を「xxx.」に置き換える）ことによって社内用ＵＲＬを決定し、当該決定された社内用ＵＲＬをリンク先としたリンクが生成される。
【００８２】
一方、ユーザがクライアント証明書を利用したアクセスを行っていれば、社外からアクセスしていることになるので、社外用ＵＲＬのリンクが生成される。ここでは、社内用ＵＲＬの所与の文字列を他の文字列に置き換える（例えば、「xxx.」を「xxx.s.」に置き換える）ことによって社外用ＵＲＬを決定し、当該決定された社外用ＵＲＬをリンク先としたリンクが生成される。
【００８３】
別の言い方をすれば、リンク制御部８６は、社内用ＵＲＬにアクセスする資格のあるユーザについては、社外用ＵＲＬへのリンクの生成が指示された場合には、社内用ＵＲＬがリンク先として設定されたリンクを生成する。一方、リンク制御部８６は、社内用ＵＲＬにアクセスする資格のないユーザについては、社内用ＵＲＬへのリンクの生成が指示された場合には、社外用ＵＲＬがリンク先として設定されたリンクを生成する。
【００８４】
図９は、ユーザが社内からサーバ装置２０にアクセスする場合のリンクを示す図である。例えば、社外からアクセスしているユーザがＵＲＬ欄５２をコピーして社外用ＵＲＬを掲示板６０に貼り付けて書き込みを行った場合には、リンク６２の表示文字列は、「http://xxx.s.yyy.com」の社外用ＵＲＬを示すことになる（リンク６２の表示文字列も社内用ＵＲＬを示すようにしてもよい）。
【００８５】
ただし、社内からアクセスしているユーザがこの掲示板６０を表示させる場合、リンク先表示欄６４に示すように、「http://xxx.yyy.com」の社内用ＵＲＬが設定されたリンク６２が生成される。なお、この場合、社外からアクセスしているユーザについては、図９とは異なり、社外用ＵＲＬが設定されたリンク６２が生成されることになる。
【００８６】
図１０は、ユーザが社外からサーバ装置２０にアクセスする場合のリンクを示す図である。例えば、社内からアクセスしているユーザがＵＲＬ欄５２をコピーして社外用ＵＲＬを掲示板６０に貼り付けて書き込みを行った場合には、リンク６２の表示文字列は、「http://xxx.yyy.com」の社内用ＵＲＬを示すことになる（リンク６２の表示文字列も社外用ＵＲＬを示すようにしてもよい）。
【００８７】
ただし、社外からアクセスしているユーザがこの掲示板６０を表示させる場合、リンク先表示欄６４に示すように、「http://xxx.s.yyy.com」の社外用ＵＲＬが設定されたリンク６２が生成される。なお、この場合、社内からアクセスしているユーザについては、図１０とは異なり、社内用ＵＲＬが設定されたリンク６２が生成されることになる。
【００８８】
また、掲示板６０の内容を示すデータは、記憶部２２に記憶されているものとする。図９又は図１０に示す利用画面５０が表示される際には、このデータが参照されるとともに、ユーザがクライアント証明書を利用してアクセスしているか否かが判定される。先述のように、ユーザがクライアント証明書を利用せずに社内からアクセスしていれば、掲示板６０の内容を示すデータに含まれる社外用ＵＲＬが社内用ＵＲＬに変換されたリンクが生成される。一方、ユーザがクライアント証明書を利用して社外からアクセスしていれば、掲示板６０の内容を示すデータに含まれる社内用ＵＲＬが社外用ＵＲＬに変換されたリンクが生成される。
【００８９】
実施形態２のアクセス制御システム１によれば、例えば、図９及び図１０に示すような掲示板６０を表示させる際に、ユーザが社内からアクセスしている場合には、社内用ＵＲＬのリンクを生成し、ユーザが社外からアクセスしている場合には、社外用ＵＲＬのリンクを生成することができ、利便性を向上させることができる。
【００９０】
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００９１】
［３．変形例］
（１）例えば、実施形態においては、社内用ＵＲＬに文字列を挿入することによって社外用ＵＲＬを生成する場合を例に挙げて説明したが、互いに所定の関係を有する社内用ＵＲＬと社外用ＵＲＬとを用意しておき、エラーページ５４のＨＴＭＬデータに含まれるスクリプトに、この関係が記述されているようにすればよい。他にも例えば、社内用ＵＲＬから文字列を削除したものが社外用ＵＲＬとして設定されているようにしてもよいし、社内用ＵＲＬの文字列を他の文字列に置き換えたものが社外用ＵＲＬとして設定されているようにしてもよい。ユーザ装置１０においては、これらの関係が記述されたスクリプトが実行されることによって、リダイレクト先のＵＲＬが特定されることになる。
【００９２】
（２）例えば、実施形態においては、１つのサーバ装置２０に社内用ＵＲＬと社外用ＵＲＬとの両者が割り当てられている場合を説明したが、社内用ＵＲＬと社外用ＵＲＬとは、異なる装置に割り当てられているようにしてもよい。即ち、社内用ＵＲＬが設定された第１のサーバ装置と、社外用ＵＲＬが設定された第２のサーバ装置と、がアクセス制御システム１に含まれているようにしてもよい。この場合、第１アクセス要求部７０は前者にアクセス要求をし、第２アクセス要求部７６は後者にアクセス要求をすることになる。
【００９３】
（３）また例えば、実施形態においては、ユーザがアクセス先を指定する場合の一例として、ＵＲＬが指定される場合を挙げて説明したが、他のアドレスが指定されるようにしてもよい。例えば、ＵＲＬではなくアクセス先のＩＰアドレスがユーザによって指定されるようにしてもよい。例えば、２つのＩＰアドレスが用意されており、一方へのアクセスは、ＬＡＮ３０を介した場合にのみ許可されるようにし、他方へのアクセスは、インターネット４０を介した場合（より具体的には、クライアント証明書を保持している場合）に許可されるようにしてもよい。
【００９４】
ユーザがこれらのＩＰアドレスを指定することによって、アクセス要求が行われるようにしてもよい。この場合、アドレス変換部７４は、所与のアドレス変換処理に基づいて、ユーザにより指定されたＩＰアドレスを他のＩＰアドレスに変換する。例えば、ユーザにより指定されたＩＰアドレスの所定セグメントの数値を変化させることによって、他のＩＰアドレスが決定されるようにしてもよい。このアドレス変換は、実施形態と同様に、エラーページ５４のＨＴＭＬデータに含まれるスクリプトに記述されているようにしてもよい。
【００９５】
例えば、「192.168.1.0」と「192.168.2.0」とのＩＰアドレスが用意されており、社外のユーザについては前者へのアクセスを許可しない場合には、ユーザ装置１０が、第３セグメントの「1」をインクリメントすることによって、リダイレクト先のＩＰアドレス「192.168.2.0」を決定するようにしてもよい。
【００９６】
（４）また例えば、判定部８２が、ＩＰアドレスに基づいて社内用ＵＲＬへのアクセスを許可するか否かを判定する場合を説明したが、他の方法によって判定するようにしてもよい。他にも例えば、社内用ＵＲＬにアクセス要求をしたユーザのユーザＩＤに基づいて判定するようにしてもよいし、アクセス要求をしたユーザ装置１０のネットワーク種別に基づいて判定するようにしてもよい。
【００９７】
（５）また例えば、実施形態においては、判定部８２が、ユーザが社内用ＵＲＬにアクセスする資格があるか否かを判定する場合を説明したが、他にも例えば、ユーザがアクセスしようとしているＵＲＬが割り当てられているサーバ装置２０の負荷が所定範囲であるか否かが判定されるようにしてもよい。即ち、ユーザがアクセスしようとしているアクセス先のサーバ装置２０の混雑状況に応じて、他のリダイレクト先を、実施形態と同様の方法によってユーザ装置１０に決定させるようにしてもよい。
【００９８】
（６）また例えば、実施形態においては、エラーページ５４のＨＴＭＬデータのスクリプトが実行されることによって、社内用ＵＲＬが社外用ＵＲＬに変更される場合を説明したが、変更処理を行うプログラムはＨＴＭＬデータに記述されたスクリプトでなくてもよい。他にも例えば、記憶部１２に記憶された他のスクリプトを呼び出すようにエラーページ５４のＨＴＭＬデータが記述されているようにしてもよい。
【００９９】
（７）また例えば、実施形態においては、社内用ＵＲＬが社外用ＵＲＬに変更される場合を説明したが、ユーザにより指定されたＵＲＬ（このユーザにアクセスさせないＵＲＬ）が、他のＵＲＬ（このユーザにアクセスさせるＵＲＬ）に変更されるようにすればよい。
【０１００】
例えば、サーバ装置２０が管理する２つのアドレスのうち、一方は社内からのみアクセスさせ、他方は社外からのもアクセスさせる場合に、あるユーザが、アクセスできない一方のアドレスを指定したときに、このアドレスが他方のアドレス（このユーザがアクセスできるアドレス）に変換されるようにすればよい。即ち、社内のユーザが社外用ＵＲＬを指定した場合には社内用ＵＲＬに変換され、社外のユーザが社内用ＵＲＬを指定した場合には社外用ＵＲＬに変換されるようにすればよい。社外用ＵＲＬが社内用ＵＲＬに変更される際には、例えば、実施形態で説明した文字列変換の逆変換（即ち、「s.」の文字列を削除する）をするスクリプトが、サーバ装置２０からユーザ装置１０に送信されることになる。
【０１０１】
上記のように、社内用ＵＲＬと社外用ＵＲＬとの間で相互に変換を行うためのスクリプトがサーバ装置２０からユーザ装置１０に送信されるようにし、ユーザ装置１０が当該スクリプトを受信した場合に、社内用ＵＲＬから社外用ＵＲＬに変換、又は、社外用ＵＲＬから社内用ＵＲＬに変換するようにすればよい。
【０１０２】
（８）また例えば、ユーザ装置１０に、ユーザにより指定されたアドレスに基づいて他のアドレスを決定させる方法は、所与のアドレス変換処理によって実行されるようにすればよく、実施形態の例に限られない。
【符号の説明】
【０１０３】
１  アクセス制御システム、１０，１０ａ，１０ｂ，１０ｃ，１０ｄ，１０ｅ、１０ｆ  ユーザ装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、１５  入力部、１６  通信部、２０  サーバ装置、２１  制御部、２２  記憶部、２３  通信部、３０  ＬＡＮ、４０  インターネット、５０  利用画面、５２  ＵＲＬ欄、５４  エラーページ、５６  リンク、５８  チェックボックス、６０  掲示板、６２  リンク、６４  リンク先表示欄、７０  第１アクセス要求部、７２  プログラム受信部、７４  アドレス変換部、７６  第２アクセス要求部、８０  要求受付部、８２  判定部、８４  プログラム送信部、８６  リンク制御部。
【図１】
0005806067.tif 000002
【図２】
0005806067.tif 000003
【図３】
0005806067.tif 000004
【図４】
0005806067.tif 000005
【図５】
0005806067.tif 000006
【図６】
0005806067.tif 000007
【図７】
0005806067.tif 000008
【図８】
0005806067.tif 000009
【図９】
0005806067.tif 000010
【図１０】
0005806067.tif 000011