(57)【要約】【課題】  複数のサーバを選択してアクセスする際に、管理サーバを必要とせず、クライアント端末にサーバを特定するための処理負荷を与えることなく、クライアントが望むサーバを動的に選択して透過的に切り替える。【解決手段】  サーバ３ａ〜３nは、全て同一のＩＰｖ６エニキャストアドレスとマルチキャストアドレスとを実装し、端末１からのアクセスはエニキャストアドレスを用いる。サーバ３ａ〜３nは、端末１からのファイル要求に対し提供不可と判断した場合に、マルチキャストアドレスを用いて該ファイル要求内容を他のサーバに送信し、提供可能な旨を最初に受信したサーバのユニキャストアドレスをルーティング情報として端末１へ通知する。端末１は、ルーティング情報を受信した後、受信したエニキャストアドレスをルーティング情報とするＩＰｖ６拡張ヘッダを付加してエニキャストアドレス宛のメッセージを送信する。【選択図】  図１
2006338624.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末と、各々が同一のＩＰｖ６におけるエニキャストアドレスおよびマルチキャストアドレスを実装し、クライアント端末の要求に応じてファイル提供サービスを行う複数のサーバとがＩＰｖ６ネットワークを介して接続されるサーバアクセス制御システムであって、
各サーバは、
クライアント端末からのファイル要求を受信するファイル要求受信手段と、
少なくともファイルの一部を提供可能か否かを示すファイル情報を記憶するファイル情報記憶手段と、
クライアント端末からのファイル要求および前記ファイル情報を参照することによって、要求されたファイルを提供可能か否かを判断するファイル提供判断手段と、
前記ファイル提供判断手段により、要求されたファイルを提供できないと判断された場合に、前記ファイルを提供可能な別のサーバを探索するサーバ探索手段と、
前記ファイルを提供可能なサーバのユニキャストアドレスをルーティング情報としてクライアント端末へ送信するルーティング情報通知手段とを備え、
前記クライアント端末は、
前記ルーティング情報を受信した場合に、受信したユニキャストアドレスをルーティング情報として付加したファイル要求を送信するルーティング制御手段を
備えたことを特徴とするサーバアクセス制御システム。
【請求項２】
サーバ探索手段は、各サーバにマルチキャスト通信によって、ファイル提供可能なサーバの探索メッセージを送信し、ファイルを提供可能な旨を示す応答メッセージを最初に受信した場合に、前記応答メッセージを送信したサーバを探索結果とする
請求項１記載のサーバアクセス制御システム。
【請求項３】
各サーバは、自身のエニキャストアドレスとユニキャストアドレスとを連続してルーティングするよう登録されたルーティング情報が付加されたファイル要求を受信した場合に、次に指定されているＩＰアドレスへのルーティング動作を省略するルーティング省略手段を備え、
ルーティング情報通知手段は、ＩＰｖ６拡張ヘッダを用いて、ファイルを提供可能なサーバのユニキャストアドレスをルーティング情報としてクライアント端末へ送信し、
ルーティング制御手段は、前記ルーティング情報を受信した場合に、受信したユニキャストアドレスをルーティング情報とするＩＰｖ６拡張ヘッダを付加したファイル要求を送信する
請求項１または請求項２記載のサーバアクセス制御システム。
【請求項４】
ファイル情報記憶手段は、自身が提供可能なファイルの部分キャッシュの情報を含むファイル情報を記憶し、
ファイル提供判断手段は、クライアント端末からのファイル要求に含まれる開始アドレスに該当する部分キャッシュの有無を前記ファイル情報に基づいて判断することによって、要求されたファイルを提供可能か否かを判断する
請求項１から請求項３のうちのいずれか１項に記載のサーバアクセス制御システム。
【請求項５】
各サーバは、ファイルを分散して管理するミラーサーバであって、
サーバ探索手段は、クライアント端末から受信したファイル要求の宛先が正規のエニキャストアドレス以外の場合に、サーバ探索動作を行わない
請求項１から請求項４のうちのいずれか１項に記載のサーバアクセス制御システム。
【請求項６】
クライアント端末と、各々が同一のＩＰｖ６におけるエニキャストアドレスおよびマルチキャストアドレスを実装し、クライアント端末の要求に応じてファイル提供サービスを行う複数のサーバとが、ＩＰｖ６ネットワークを介して接続されるサーバアクセス制御システムに適用されるサーバアクセス制御方法であって、
各サーバが、
少なくともファイルの一部を提供可能か否かを示すファイル情報を記憶し、
クライアント端末からのファイル要求を受信し、
クライアント端末からのファイル要求および前記ファイル情報を参照することによって、要求されたファイルを提供可能か否かを判断し、
要求されたファイルを提供できないと判断した場合に、前記ファイルを提供可能な別のサーバを探索し、
前記ファイルを提供可能なサーバのユニキャストアドレスをルーティング情報としてクライアント端末へ送信し、
前記クライアント端末が、
前記ルーティング情報を受信した場合に、受信したユニキャストアドレスをルーティング情報として付加したファイル要求を送信する
ことを特徴とするサーバアクセス制御方法。
【請求項７】
クライアント端末と、各々が同一のＩＰｖ６におけるエニキャストアドレスおよびマルチキャストアドレスを実装し、クライアント端末の要求に応じてファイル提供サービスを行う複数のサーバとがＩＰｖ６ネットワークを介して接続されるサーバアクセス制御システムに適用されるサーバに搭載されるサーバアクセス制御プログラムであって、
少なくともファイルの一部を提供可能か否かを示すファイル情報を記憶するファイル情報記憶手段を備えたコンピュータに、
クライアント端末からのファイル要求を受信する処理、
クライアント端末からのファイル要求および前記ファイル情報を参照することによって、要求されたファイルを提供可能か否かを判断する処理、
要求されたファイルを提供できないと判断した場合に、前記ファイルを提供可能な別のサーバを探索する処理、および
前記ファイルを提供可能なサーバのユニキャストアドレスをルーティング情報としてクライアント端末へ送信する処理
を実行させるためのサーバアクセス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラムに関し、特にＩＰｖ６ネットワークにおけるサーバの動的切替を可能とするサーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラムに関する。
【背景技術】
【０００２】
インターネット上でコンテンツを配信するサーバでは、クライアントからの負荷を分散するためにコンテンツの複製を別のサーバで提供するミラーサーバもしくはキャッシュサーバと呼ばれる負荷分散装置を利用することがある。また、ミラーサーバは負荷分散のためだけでなく、バックアップサーバとしての役割を持ち、一つのサーバがダウンした場合でも継続的にサービスを提供できるようにするために用いられることがある。
【０００３】
ただし、複数のサーバが提供されていても利用者にとって最も適したサーバを選択できるとは限らない。そこで、レスポンスタイムの測定結果等のサービス負荷情報に基づいてサーバを選択し、選択されたサーバへユーザをアクセスさせるべく、自動で公開するサーバアドレスを切り替える手段を用いたシステムがある（例えば、特許文献１参照。）。
【０００４】
または、クライアントがプライマリサーバからミラーサーバを認識する情報を取得し、取得したミラーサーバとの間でデータの送受信を行い、その応答時間や転送速度や接続経路等に基づいてサーバを選択するシステムがある（例えば、特許文献２参照。）。
【０００５】
また近年では、ＩＰｖ６（Internet Protocol version 6）ネットワークが実装段階に入り、ＩＰｖ６のより有効的な活用方法が模索されている。特にエニキャストアドレス（Anycast address）はＩＰｖ４には存在しない新しい概念であって、より一層の活用方法が模索されている。エニキャストアドレスとは、複数のインタフェースに割り当てられ、そのうちのどれか一つに対して送信されることを目的とするＩＰアドレスである。エニキャストアドレスを送信先とするメッセージの伝送経路は、定期的に実行されるルータの近隣探索によって判別された、送信元に最も近いとされるノードが選択される。また、ＩＰｖ６におけるアドレス体系にはエニキャストアドレスの他に、唯一のインタフェースへ送信されるユニキャストアドレス（Unicast address）や同一アドレスを持つ全てのインタフェースへ送信されるマルチキャストアドレス（Multicast address）がある。また、ＩＰｖ６には送信元ノードが伝送経路を指定する方法として、拡張ヘッダの一つであるルーティングヘッダがある。ルーティングヘッダはＩＰｖ６の完全実装の項目として挙げられている機能であり、パケットの宛先への道のりである一つ以上の中間ノードをリスト化するために用いる。
【０００６】
【特許文献１】特開平１０−３０７７８３号公報（段落００１２−００１８）
【特許文献２】特開２０００−２９８１３号公報（段落００１５−００２１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の発明を用いた場合、負荷分散装置の他に選択されたサーバのアドレスをユーザへ知らせるための別の管理サーバが必要であり、一度ユーザがその管理サーバへ問い合わせる必要があり、手間がかかる。
【０００８】
また特許文献２に記載の発明を用いた場合、クライアント装置がプライマリサーバへアクセスする度にミラーサーバの状態認識処理が動作することとになり、クライアント端末側に処理負荷がかかり、処理時間が増加してしまう。
【０００９】
本発明の目的は、サーバを管理するための管理サーバを必要とせず、クライアント端末にサーバを特定するための処理負荷をかけず、ユーザの要求に応じることができる最適なサーバを動的に選択し、透過的に切り替えることができるシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明によるサーバアクセス制御システムは、各々が同一のＩＰｖ６におけるエニキャストアドレスおよびマルチキャストアドレスを実装し、クライアント端末の要求に応じてファイル提供サービスを行う複数のサーバと、クライアント端末とがＩＰｖ６ネットワークを介して接続される構成であって、各サーバが、クライアント端末からのファイル要求を受信するファイル要求受信手段と、少なくともファイルの一部を提供可能か否かを示すファイル情報を記憶するファイル情報記憶手段と、クライアント端末からのファイル要求およびファイル情報を参照することによって、要求されたファイルを提供可能か否かを判断するファイル提供手段と、ファイル提供判断手段により、要求されたファイルを提供できないと判断された場合に、ファイルを提供可能な別のサーバを探索するサーバ探索手段と、ファイルを提供可能なサーバのユニキャストアドレスをルーティング情報としてクライアント端末へ送信するルーティング情報通知手段とを備え、クライアント端末が、ルーティング情報を受信した場合に、受信したユニキャストアドレスをルーティング情報として付加したファイル要求を送信するルーティング制御手段を備えたことを特徴とする。
【００１１】
また、サーバ探索手段は、複数のサーバにマルチキャスト通信によって、ファイル提供可能なサーバの探索メッセージを送信し、ファイルを提供可能な旨を示す応答メッセージを最初に受信した場合に、応答メッセージを送信したサーバを探索結果としてもよい。そのような場合には、サーバのアクセス状態の管理や応答時間の比較等の特別なアルゴリズムを必要とせず、その瞬間における最も応答速度の早いサーバを探索することが可能となる。
【００１２】
また、各サーバが、自身のエニキャストアドレスとユニキャストアドレスとを連続してルーティングするよう登録されたルーティング情報が付加されたファイル要求を受信した場合に、次に指定されているＩＰアドレスへのルーティング動作を省略するルーティング省略手段を備え、ルーティング情報通知手段は、ＩＰｖ６拡張ヘッダを用いて、ファイルを提供可能なサーバのユニキャストアドレスをルーティング情報としてクライアント端末へ送信し、ルーティング制御手段は、ルーティング情報を受信した場合に、受信したユニキャストアドレスをルーティング情報とするＩＰｖ６拡張ヘッダを付加したファイル要求を送信してもよい。そのような場合には、ＩＰ層レベルの動作においてサーバ切替が可能となり、ＩＰ上位層はサーバ切替を意識することなく、一連の動作を継続することができる。
【００１３】
また、ファイル情報記憶手段は、自身が提供可能なファイルの部分キャッシュの情報を含むファイル情報を記憶し、ファイル提供判断手段は、クライアント端末からのファイル要求に含まれる開始アドレスに該当する部分キャッシュの有無をファイル情報に基づいて判定することにより、ファイルを提供可能か否かを判断してもよい。そのような場合には、ミラーリング途中のファイルをアクセスした場合でも、部分キャッシュ単位でサーバを切り替えることで、ユーザがファイル取得動作を継続することができる。
【００１４】
また、各サーバは、ファイルを分散して管理するミラーサーバであって、サーバ探索手段は、クライアント端末から受信したファイル要求の宛先が正規のエニキャストアドレス以外の場合に、サーバ探索動作を行わない仕組みを有していてもよい。そのような場合には、サーバに直接的にアクセスし、無許可にファイルを持ち出したとしても、意味を成さない部分的なファイルしか持ち出せず、正アクセスを防ぐ役割を待たせることができる。
【発明の効果】
【００１５】
本発明によれば、サーバを管理するための管理装置を必要とせず、また、クライアント端末にサーバを特定するための処理負荷をかけず、クライアントの要求に応じることができるサーバを動的に選択して、かつ透過的に切替ることができる。
【００１６】
更に、マルチキャスト通信を用いてサーバが自立して別のサーバを探索することで、サーバの数に依存せず、また、他のサーバを管理するための情報を必要とせずにその時点で最も応答速度が早いとされるサーバを選択することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照して説明する。
【００１８】
実施の形態１.
図１は、本発明によるサーバアクセス制御システムの構成例を示すシステム構成図である。図１に示すシステムでは、クライアント端末である端末１と、ミラーサーバであるサーバ３ａ，３ｂ，３ｎはルータ２を経由してＩＰｖ６ネットワークに接続されている。また、ネットワーク４はルータ２に接続されているサーバ３ａ，３ｂ，３ｎが所属するネットワークを表している。
【００１９】
サーバ３ａ，３ｂ，３ｎは、例えば、ファイルを提供する複数のミラーサーバであって、ＩＰネットワークを介してファイル配信が可能なプロトコルを有する。サーバ３ａは、図２に示すように、ＣＰＵ３１と外部インタフェース３２とファイル情報記憶装置３３とプログラム記憶装置３４とファイル記憶装置３５とを備える。図２は、本実施の形態におけるサーバ３ａの構成を表すブロック図である。ＣＰＵ３１はプログラムに従って処理を実行する。外部インタフェース３２はＩＰネットワークとのインタフェースである。ファイル情報記憶装置３３は自身が提供可能なファイルの情報を管理するためのファイル情報テーブルを記憶する。プログラム記憶装置３４はＣＰＵ３１に読み込まれてサーバ動作を実行させるプログラムを記憶する。ファイル記憶装置３５はクライアント端末に提供するファイルを記憶する。尚、図２ではサーバ３ａのブロック図を示しているが、他のサーバも同様の構成である。本発明におけるサーバ３ａ，３ｂ，３ｎは、全て同一のエニキャストアドレスとマルチキャストアドレスとを実装し、エニキャスト通信を用いてファイル要求が行われた場合に、別のサーバを探索するためのサーバ近隣探索パケットをマルチキャスト通信を用いて送信する機能と、サーバ近隣探索パケットを受信した場合に、ファイル提供可能な旨を通知するためのサーバ近隣探索応答パケットを送信する機能を有する。
【００２０】
端末１は、例えば、ＩＰｖ６が実装されているパーソナルコンピュータであって、ＩＰネットワークを介してファイル取得が可能なプロトコルを有する。図３は本実施の形態における端末１の構成を表すブロック図である。端末１は、プログラムに従って処理を実行するＣＰＵ１１と、ＩＰネットワークとのインタフェースである外部インタフェース１２と、ＣＰＵに読み込まれてクライアント動作を実行させるプログラムを記憶するプログラム記憶装置１３とを備えている。
【００２１】
ルータ２は、端末１とサーバ３ａ，３ｂ，３ｎとを中継するためのルータ装置であって、ネットワークを介して接続されているノードであるサーバ３ａ，３ｂ，３ｎへのルーティングを行う。ルータ２は、エニキャストアドレスを宛先とするパケットを、近隣探索によって検知されたサーバに対して配送する。また、ルータ２は、ルーティグヘッダによってルーティング情報が付加されたパケットの場合は、ルーティング情報に基づいて指定されたサーバに対して配送する。
【００２２】
また、サーバ３ａ，３ｂ，３ｎは、図４に示すような、自身が提供可能なファイルの情報を管理するためのファイル情報テーブルをファイル情報記憶装置３３に保持している。ファイル管理テーブルには、要求ファイル名、サイズ、サーバでのパス、部分キャッシュの情報が含まれている。サイズ、サーバでのパス、部分キャッシュの情報は、要求ファイル名に対応づけられ、要求ファイル名をキーとして特定することができる。要求ファイル名はクライアント端末がファイルを要求する場合に使用するファイル名である。サイズはファイルの総サイズを示す。サーバでのパスは、そのサーバにおける実際のファイルの保管場所を示し、提供しているファイルの場所と実際の保管場所が異なる場合でも特定可能とするためのマッピング情報の役割を持つ。部分キャッシュの情報は、ファイルをコピー中である場合などに現在どの部分までファイルができているかを示す情報である。また、部分キャッシュの情報は、サーバ作成者が意図的にファイル分割を行った場合には固定的に登録される場合もある。
【００２３】
要求ファイル名がファイルＡである場合を例にとると、本テーブルを保持しているミラーサーバ、例えばサーバ３ａでは、ファイルＡはサーバ３ａのファイル記憶装置３５に"/abc/ファイルＡ"というファイルパスで保存され、ファイルの総サイズは１００、現時点でのサーバ３ａが保持している部分キャッシュは１〜１０，１５〜２０，５０〜１００であって、存在しない部分キャッシュが１１〜１４，２１〜４９であることがわかる。同様にファイルＣでは、ファイルの総サイズと部分キャッシュの情報とが一致しているので、完全なファイルとして保持されていることがわかる。各サーバは、ファイル情報テーブルをファイルの状態が変化する度に随時更新する。
【００２４】
次に、本発明の実施の形態におけるＩＰアドレスの実装例を、記号を用いて説明する。サーバ３ａ，３ｂ，３ｎは、全て同一のエニキャストアドレスとマルチキャストアドレスとを実装する。本例では、エニキャストアドレスをａ３ｘ、マルチキャストアドレスをｍ３ｘと記す。また、サーバ３ａ，３ｂ，３ｎは、唯一のユニキャストアドレスを実装する。本例ではサーバ３ａ，３ｂ，３ｎのユニキャストアドレスをそれぞれ、ｕ３ａ，ｕ３ｂ，ｕ３ｎと記す。またルーティングを説明するため、端末１のユニキャストアドレスをｕ１ｎと記す。
【００２５】
次に、図５と図６のフローチャートを参照して、端末１からサーバ３ａ，３ｂ，３ｎに対してファイル要求を行う際のサーバアクセス制御の動作について説明する。図５は、クライアント端末からファイル要求パケットを受信した時のサーバの動作を示すフローチャットである。図６は、サーバ近隣探索パケットを受信した時のサーバの動作を示すフローチャートである。
【００２６】
まず、端末１は、エニキャストアドレス（ａ３ｘ）を送信先ＩＰアドレスとするファイル要求パケットを送信する。尚、エニキャストアドレスは文法上、ユニキャストアドレスと区別がないく、端末１は、特別にエニキャストアドレスを意識する必要はない。ファイル要求パケットには、要求ファイル名と開始アドレスとを含ませる。ルータ２は、端末１から送信されたファイル要求パケットの送信先ＩＰアドレスを認識し、エニキャストアドレス（ａ３ｘ）に基づく近隣探索により特定されたサーバ、例えばサーバ３ａに配送し、サーバ３ａはファイル要求パケットを受信する（ステップＳ１０）。サーバ３ａ，３ｂ，３ｎは、同一のエニキャストアドレス（ａ３ｘ）を実装しているため、ルータ２によってその時点で最も応答が早いとされるサーバが選択される。
【００２７】
ファイル要求パケットを受信したサーバ３ａのＣＰＵ３１は、ファイル要求パケットの情報に基づいて該当する部分キャッシュ領域を算出し、要求された部分キャッシュ領域とファイル情報テーブルとを比較し、要求されたファイルを送信可能かどうかを判定する（ステップＳ１１）。例えば、図４はサーバ３ａが保持するファイル情報テーブルであって、ファイル要求パケットに、要求ファイル名がファイルＡ、開始アドレスが１と設定されていたとする。そのような場合には、ＣＰＵ３１は、端末１からの要求が"/abc/ファイルＡ"というファイルの部分キャッシュ"１"を対象としたものであると認識し、ファイル情報テーブルのファイルＡをキーとする部分キャッシュ情報に１が登録されているかを確認し、ファイルＡを提供可能であると判断する。または、要求ファイル名がファイルＮ、開始アドレスが１０と設定されていた場合には、ＣＰＵ３１は、端末１からの要求が"/ファイルＮＮＮＮ"というファイルの部分キャッシュ"１０"を対象としたものであると認識し、ファイル情報テーブルのファイルＮをキーとする部分キャッシュ情報に１０が登録されているかを確認し、ファイルＮを提供不可であると判断する。
【００２８】
ファイルを提供可能と判断した場合に、サーバ３ａのＣＰＵ３１は、ファイル送信パケットとして要求されたファイルを指定されたアドレスから、端末１へ送信する。その際、端末１からのエニキャストアドレス（ａ３ｘ）宛のメッセージが自身のユニキャストアドレス（ｕ３ａ）へ到達されるようなルーティング情報をＩＰｖ６拡張ヘッダとして付加したファイル送信パケットを作成、送信する（ステップＳ１２，Ｓ１７）。ＣＰＵ３１は、例えば、通知したいユニキャストアドレス（ｕ３ａ）をエニキャストアドレス（ａ３ｘ）の次に経由する中間ノードとするルーティングヘッダを付加することで行う。
【００２９】
ファイル送信パケットを受信した端末１のＣＰＵ１１は、ＩＰｖ６拡張ヘッダに登録されているルーティング情報を受信した以降、エニキャストアドレス（ａ３ｘ）宛のメッセージを送信する場合に、通知されたユニキャストアドレス（ｕ３ａ）へ到達されるようなＩＰｖ６拡張ヘッダを付加して送信する。ＣＰＵ１１は、例えば、受信したルーティングヘッダのルーティング順序を逆にした、前記例では、通知されたユニキャストアドレス（ｕ３ａ）をエニキャストアドレス（ａ３ｘ）の前に経由する中間ノードとするルーティングヘッダを付加することで行う。本例を用いた場合では、ルータ２は、ルーティングヘッダに基づいて中継ノードであるユニキャストアドレス（ｕ３ａ）を持つサーバ３ａへ配送し、サーバ３ａは、受信したメッセージの次のルーティング先であるエニキャストアドレス（ａ３ｘ）が自身のインタフェースであることを認識し、次のルーティング動作を省略した上で省略したルーティング先のエニキャストアドレス（ａ３ｘ）が受信したかのように受信動作を継続する。
【００３０】
このように端末１が、エニキャストアドレス（ａ３ｘ）宛のメッセージに、サーバから通知されたユニキャストアドレス（ｕ３ａ）をルーティング情報として付加することで、エニキャストアドレス（ａ３ｘ）宛のメッセージを確実に通知されたユニキャストアドレス（ｕ３ａ）へ到達させることができ、その間、ユーザはサーバの切替を意識することなくファイル取得動作を継続することができる。
【００３１】
次に、端末１は、新たなファイル取得や分割ファイルを連続して取得するために、再度エニキャストアドレス（ａ３ｘ）を送信先ＩＰアドレスとするファイル要求パケットを送信する。ルータ２は、端末１から送信されたファイル要求パケットの送信先ＩＰアドレスを認識し、エニキャストアドレス（ａ３ｘ）に基づく近隣探索により特定されたサーバ、例えばサーバ３ａに配送し、サーバ３ａはファイル要求パケットを受信する（ステップＳ１０）。尚、端末１は、ファイル要求パケットを送信する際に、前回通知されたルーティング情報であるユニキャストアドレス（ｕ３ａ）を付加してもよい。そのような場合には、ルータ２は、ルーティング情報に基づいてユニキャストアドレス（ｕ３ａ）を持つサーバ３ａへ配送する。ファイル要求パケットを受信したサーバ３ａのＣＰＵ３１は、前回と同様に端末１からの要求に応じてファイルを提供可能かどうかを判断する。
【００３２】
ファイルを提供可能でないと判断した場合に、サーバ３ａのＣＰＵ３１は、ファイルを提供可能な別のサーバを探索するため、サーバ３ａ，３ｂ，３ｎのマルチキャストアドレス（ｍ３ｘ）を送信先ＩＰアドレスとするサーバ近隣探索パケットを作成、送信する（ステップＳ１３，Ｓ１４）。図７はサーバ近隣探索パケットのフォーマットの例を示す説明図である。サーバ近隣探索パケットには、フラグ部と、ＩＤ部と、要求ファイル名と、部分キャッシュの開始アドレスとが含まれる。フラグ部はサーバ近隣探索パケットがファイル要求メッセージであることを示す情報である。ＩＤ部はサーバ近隣探索パケットが一意性を持つためのＩＤを示す情報である。要求ファイル名と部分キャッシュの開始アドレスは、共にクライアント端末から受信したファイル要求パケットの内容である要求ファイル名と開始アドレスを示す。
【００３３】
ルータ２は、サーバ３ａ，３ｂ，３ｎのマルチキャストアドレス（ｍ３ｘ）を宛先ＩＰアドレスとするサーバ近隣探索パケットを全てのサーバに配送する。ここでは、サーバ３ｂを例にして説明する。サーバ近隣探索パケットを受信したサーバ３ｂのＣＰＵ３１は、サーバ近隣探索パケットに含まれているファイル名と部分キャッシュの開始アドレスとに基づいてファイルを提供可能かどうかを判断する（ステップＳ２０，Ｓ２１）。ファイルを提供可能かどうかの判断方法は、端末１からファイル要求パケットを受信した場合と同様である。
【００３４】
サーバ３ｂのＣＰＵ３１は、ファイルを提供可能と判断した場合に、自身のユニキャストアドレス（ｕ３ｂ）を送信元ＩＰアドレスとするサーバ近隣探索応答パケットを作成、送信元であるサーバ３ａへ送信する（ステップＳ２２，Ｓ２３）。また、ファイルを提供可能でないと判断した場合には、サーバ３ｂのＣＰＵ３１は、何も行わない。図８はサーバ近隣探索応答パケットのフォーマットの例を示す説明図である。サーバ近隣探索応答パケットには、フラグ部と、ＩＤ部とが含まれている。フラグ部はサーバ近隣探索応答パケットがファイル応答メッセージであることを示す情報である。ＩＤ部はサーバ近隣探索応答パケットがどのサーバ近隣探索パケットの応答であるかを示すためのＩＤを示す。ＩＤ部には、どのサーバ近隣探索要求パケットに対する応答かがわかるように要求パケットに設定されているＩＤと同じＩＤを設定する。
【００３５】
サーバ近隣探索パケットを受信した他のサーバも、サーバ３ｂと同様の動作を行う。例えば、サーバ近隣探索パケットを受信したサーバ３ｎも、ファイルを提供可能と判断した場合には、自身のユニキャストアドレス（ｕ３ｎ）を送信元ＩＰアドレスとするサーバ近隣探索応答パケットを作成、送信元であるサーバ３ａへ送信する。
【００３６】
次に、サーバ３ａは、サーバ近隣探索応答パケットを受信する（ステップＳ１５）。サーバ３ａのＣＰＵ３１は、最も早くサーバ近隣探索応答パケットを受信した際の送信元ＩＰアドレス、例えば、サーバ３ｂのユニキャストアドレス（ｕ３ｂ）をサーバ探索結果とし、端末１からのエニキャストアドレス（ａ３ｘ）宛のメッセージがユニキャストアドレス（ｕ３ｂ）へ到達されるようなルーティング情報をＩＰｖ６拡張ヘッダとして付加したファイル送信パケットを作成、送信する。（ステップＳ１６，Ｓ１７）。
【００３７】
ファイル送信パケットを受信した端末１のＣＰＵ１１は、前回と同様にＩＰｖ６拡張ヘッダに登録されているルーティング情報を受信した以降、エニキャストアドレス（ａ３ｘ）宛のメッセージを送信する場合に、ユニキャストアドレス（ｕ３ｂ）へ到達されるようなＩＰｖ６拡張ヘッダを付加して送信する。本例を用いた場合では、ルータ２は、ルーティングヘッダに基づいて中継ノードであるユニキャストアドレス（ｕ３ｂ）を持つサーバ３ｂへ配送し、サーバ３ｂは、受信したメッセージの次のルーティング先であるエニキャストアドレス（ａ３ｘ）が自身のインタフェースであることを認識し、次のルーティング動作を省略した上で省略したルーティング先のエニキャストアドレス（ａ３ｘ）が受信したかのように受信動作を継続する。ここで、サーバ３ａは、自身以外へのルーティング情報を通知する場合に、ファイル送信パケットの内容にはファイル要求パケットをリトライさせるような内容を設定する。もしくは、ルーティング情報の書き換えを認識した端末１が、自発的にファイル要求パケットを再送してもよい。
【００３８】
以上のように、サーバが自立的に別のサーバを探索し、その結果を端末１が送信するルーティング情報に反映させることで、サーバにファイルが完全な形で存在しない場合でもクライアント端末が意識することなく、サーバを切り替え、かつその時点で最も応答速度の速いサーバとのファイル受信動作が継続可能となる。
【００３９】
また、サーバ３ａは、一定時間を経過してもサーバ近隣探索応答パケットを受信できない場合には、サーバ要求パケットに対して提供不可の旨を端末１へ通知してもよい。そのような場合には、いち早く該当するサーバがないことをユーザに知らせることができる。
【００４０】
尚、本実施の形態において、ファイル要求受信手段、ファイル情報記憶手段、ファイル提供判断手段、サーバ探索手段、ルーティング情報通知手段、ルーティング情報省略手段は、サーバ３ａ，３ｂ，３ｎのＣＰＵ３１によって実現され、ルーティング制御手段は、端末１のＣＰＵ１１によって実現される。
【００４１】
実施の形態２．
次に、本発明における第２の実施の形態を説明する。サーバ３ａ，３ｂ，３ｎは、ファイルの部分キャッシュを分散させて保管する。各サーバのＣＰＵ３１は、端末１からファイル要求パケットを受信した場合に、送信先ＩＰアドレスが正規のエニキャストアドレス（ａ３ｘ）以外であったら、ファイルを提供可能でない場合であってもサーバ近隣探索の動作を行わないような仕組みをとってもよい。そのような場合には、仮に端末１が、各サーバに接続して無許可にファイルを持ち出した場合でも意味を成さないファイルしか持ち出せず、正規のエニキャストアドレスを用いてファイル要求を実施した場合のみ完全なファイルを受信することができるといったシステムを構築することができる。
【００４２】
実施の形態３．
次に、本発明における第３の実施の形態を説明する。サーバ３ａ，３ｂ，３ｎは、個人情報をランダムに保管する。また、個人情報を系統立てて取得するための情報は別途管理者によって管理されている。そのような場合には、仮に端末１が各サーバに接続して無許可にファイルを取得できた場合でも期待するデータを得ることができず、個人情報全てに対して管理しなくとも、個人情報を保護することができる。
【産業上の利用可能性】
【００４３】
本発明は、複数あるサーバのいずれか一つのサーバをクライアントの要求する条件に基づいて自動で切り替える場合に有意義であり、クライアント側が、複数あるサーバの個々のＩＰアドレスを認識することなくサーバアクセス制御を行うシステムを構築できる。
【図面の簡単な説明】
【００４４】
【図１】本発明によるサーバアクセス制御システムの構成例を示すシステム構成図である。
【図２】サーバの構成を示すブロック図である。
【図３】クライアント端末の構成を示すブロック図である。
【図４】ファイル情報テーブルの一例を示す説明図である。
【図５】サーバアクセス制御システムの動作を示すフローチャートである。
【図６】サーバアクセス制御システムの動作を示すフローチャートである。
【図７】サーバ近隣探索パケットの一例を示す説明図である。
【図８】サーバ近隣探索応答パケットの一例を示す説明図である。
【符号の説明】
【００４５】
１  端末
２  ルータ
３ａ，３ｂ，３ｎ  サーバ
【図１】
2006338624.tif 000003
【図２】
2006338624.tif 000004
【図３】
2006338624.tif 000005
【図４】
2006338624.tif 000006
【図５】
2006338624.tif 000007
【図６】
2006338624.tif 000008
【図７】
2006338624.tif 000009
【図８】
2006338624.tif 000010