(57)【要約】【課題】従来は世界規模でのアクセス分散を行う場合にサーバシステム規模の大型化を避けることができず、また、クライアントからの接続要求に即座に応答して適切なサーバを通知することが困難であった。【解決手段】インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持するデータベースと、前記複数のサーバそれぞれに割り当てられているネットワークアドレスの一つを、クライアントのネットワークアドレスと先頭ビットから連続して一致するビット長に応じて、選択する選択手段とを有することを特徴とする前記インターネットに接続されるサーバ。【選択図】図１
2005045355.tif 000002
【特許請求の範囲】
【請求項１】
インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持するデータベースと、
前記複数のサーバそれぞれに割り当てられているネットワークアドレスの一つを、クライアントのネットワークアドレスと先頭ビットから連続して一致するビット長に応じて、選択する選択手段と
を有することを特徴とする前記インターネットに接続されるサーバ。
【請求項２】
前記選択手段は、前記ホスト名に対応するネットワークアドレスを求めるクライアントからの要求に基づき、前記ネットワークアドレスの一つを選択することを特徴とする請求項１に記載のサーバ。
【請求項３】
インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持する第１のデータベースと、
複数のエリアそれぞれに対して割り当てられるネットワークアドレス空間を保持する第２のデータベースと、
前記第２のデータベースを参照して、前記複数のサーバそれぞれに割り当てられているネットワークアドレスのうち、クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバのアドレスを選択する選択手段と
を更に備えることを特徴とするサーバ。
【請求項４】
前記クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバが存在しない場合には、前記複数のサーバそれぞれに割り当てられているネットワークアドレスを前記クライアントへ通知する通知手段を更に備えることを特徴とする請求項３に記載のサーバ。
【請求項５】
インターネットに接続され、前記インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持する第１のデータベースを備えるサーバの制御方法であって、
クライアントのネットワークアドレスを取得する取得工程と、
前記複数のサーバそれぞれに割り当てられているネットワークアドレスの一つを、前記クライアントのネットワークアドレスと先頭ビットから連続して一致するビット長に応じて、選択する選択工程と
を有することを特徴とするサーバの制御方法。
【請求項６】
前記クライアントは、ホスト名に対応するネットワークアドレスを要求したクライアントであることを特徴とする請求項５に記載のサーバの制御方法。
【請求項７】
インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持する第１のデータベースと、複数のエリアそれぞれに対して割り当てられるネットワークアドレス空間を保持する第２のデータベースとを備え、前記インターネットに接続されるサーバの制御方法であって、
クライアントのネットワークアドレスを取得する取得工程と、
前記第２のデータベースを参照して、前記複数のサーバそれぞれに割り当てられているネットワークアドレスのうち、クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバのアドレスを選択する選択工程と
を更に備えることを特徴とするサーバの制御方法。
【請求項８】
前記クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバが存在しない場合に、前記複数のサーバそれぞれに割り当てられているネットワークアドレスを前記クライアントへ通知する通知する通知工程を更に備えることを特徴とする請求項７に記載のサーバの制御方法。
【請求項９】
請求項５乃至請求項８のいずれかに記載のサーバの制御方法をコンピュータに実行させるためのサーバの制御プログラム。
【請求項１０】
請求項９に記載のサーバの制御プログラムを記憶するコンピュータで読取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グローバルに分散配置されたサーバへのアクセスする際に、アドレス情報を元にネットワーク的に近い適切なサーバを選択するための技術に関する。
【０００２】
【従来の技術】
従来、世界規模でのアクセス分散を行う場合、経路情報を参考にしたネットワーク的な距離を算出して適切なサーバを決定している。この経路情報を用いた手法を実現するシステムは、ルーティングプロトコルを実装した大規模なものとなってしまう。
【０００３】
また、各サーバとクライアント間のネットワーク距離を実際に算出して適切なサーバを決定する方法もあるが、ネットワーク検出ツール等を用いてのクライアント・サーバ間のネットワーク距離算出には相当の時間を要するので、リアルタイム性の要求を満たすことが困難となる（例えば、特許文献１参照。）。
【０００４】
【特許文献１】
特開２００２−３７４２９０号公報
【０００５】
【発明が解決しようとする課題】
以上のように、従来は世界規模でのアクセス分散を行う場合にサーバシステム規模の大型化を避けることができず、また、クライアントからの接続要求に即座に応答して適切なサーバを通知することが困難であった。
【０００６】
そこで、本発明は、世界規模でのアクセス分散を行う場合のサーバシステム規模の大型化を避け、かつ、クライアントからの接続要求に即座に応答して適切なサーバを通知することを可能とすることを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するための本発明は、インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持するデータベースと、前記複数のサーバそれぞれに割り当てられているネットワークアドレスの一つを、クライアントのネットワークアドレスと先頭ビットから連続して一致するビット長に応じて、選択する選択手段とを有する。
【０００８】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を詳細に説明する。
【０００９】
図１は本発明の一実施形態のネットワークの構成図である。図１において１０１はユーザのネットワークであり、ユーザのクライアント端末１０６がユーザネットワーク１０１に接続している。１０２は分散配置されたサーバのドメインを管理するＤＮＳサーバ１０７が接続しているドメイン管理ネットワークである。１０３〜１０５は前記クライアント１０６と通信を行うサーバ１０８〜１１０が接続しているサーバネットワークである。
【００１０】
上記のサーバ（１０８〜１１０）は内部データが同一のサーバであり、インターネット上に分散配置をすることで、サーバへのアクセス負荷の軽減とインターネット上におけるトラフィック量の軽減などの実現が可能である。
【００１１】
例えば、サーバ１０８は東京に設置し、１０９はニューヨークに設置し、１１０はパリに設置する。このような分散サーバ構成により、日本や中国のユーザは東京のサーバと通信し、アメリカやカナダのユーザはニューヨークのサーバと通信し、フランスやイギリスのユーザはパリのサーバと通信することで、アクセス集中による負荷を軽減でき、また、太平洋や大西洋など、通信コストの大きい経路のトラフィック量を軽減できる。
【００１２】
それぞれのネットワーク（ユーザ、ドメイン管理、サーバ）は１００のＩＰｖ６インターネットを介して、ＩＰｖ６通信プロトコルを用いたデータ通信を相互に行うことができる。
【００１３】
図２はＩＰｖ６アドレスの割り振り情報である。ＩＰｖ６アドレスはＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒ  Ａｕｔｈｏｒｉｔｙ）が統括管理しており、ここから世界の地域ＩＲ（Ｒｅｇｉｏｎａｌ  Ｉｎｔｅｒｎｅｔ  Ｒｅｇｉｓｔｒｙ）にアドレス空間を割り振る。
【００１４】
地域ＩＲは大きく３つ存在し、北・南米を担当するＡＲＩＮ（Ａｍｅｒｉｃａｎ  Ｒｅｇｉｓｔｒｙ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｎｕｍｂｅｒｓ）、アジアを担当するＡＰＮＩＣ（Ａｓｉａ−Ｐａｃｉｆｉｃ  Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｅｎｔｅｒ）、欧州やアフリカを担当するＲＩＰＥ  ＮＣＣ（Ｒｅｓｅａｕｘ  ＩＰ  Ｅｕｒｏｐｅｅｎｓ  Ｎｅｔｗｏｒｋ  Ｃｏｏｒｄｉｎａｔｉｏｎ  Ｃｅｎｔｒｅ）である。これらの地域ＩＲにはＩＡＮＡよりＩＰｖ６アドレス（／２３）が割り振られる。
【００１５】
例えば、アジア担当の地域ＩＲであるＡＰＮＩＣには「２００１：２００：：／２３」と「２００１：ｃ００：：／２３」が割り振られている。地域ＩＲはその地域に属する国やインターネット接続事業者に対して、割り振られたアドレス空間内より更に再割り振りを行う。地域ＩＲからインターネット接続事業者へ割り振られる最小単位（ｓＴＬＡ）は／３２（即ち、ＩＰｖ６アドレスの上位２４ビット目から３２ビット目までを、地域ＩＲがユニークに決定したアドレス）であり、各インターネット接続事業者は割り振られた／３２アドレスから、各エンドユーザに／４８アドレス（即ち、３３ビット目から４８ビット目までをインターネット接続事業者がユニークに決定したアドレス）を割当てる。
【００１６】
ＩＰｖ６では、この様なアドレス管理方法によってアドレスが階層的に割当てられており、ＩＰｖ６の特徴の一つである「経路情報の集約」に役立っている。つまり、日本で利用可能なＩＰｖ６アドレスはＡＰＮＩＣに割り振られたアドレス空間内のものであり、アメリカで利用可能なＩＰｖ６アドレスはＡＲＩＮに割り振られたアドレス空間内のものであるのが一般的である。
【００１７】
図３は本実施形態のモジュール構成図である。３０１はクライアント１０６内部に搭載された、ＤＮＳのリゾルバモジュールである。３０２〜３０５は前記ＤＮＳサーバ１０７内部のモジュールであり、３０２はクライアント１０６内部のリゾルバモジュール３０１からの名前解決要求（要するに、クライアント１０６からの所定のホスト名に対するＩＰアドレスの要求）に対して返答するネームサーバモジュールである。
【００１８】
３０３はＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）とＩＰアドレスの対を保持したデータベースであるマスタゾーンファイルであり、インターネット上に分散配置された複数のサーバに共通するホスト名と、複数のサーバそれぞれに割り当てられているネットワークアドレスとが対応づけて管理されている。３０４は送信先アドレスが複数ある場合の選択処理を行う最適アドレス選択モジュールである。ここにおける選択処理の詳細は、図４を参照して後述する。３０５は最適アドレス選択モジュールにて利用する、地域ＩＲアドレス割り振り状況を示したＲＩＲリストであり、ここでは、クライアントが存在し得るエリアの情報と、当該エリアに対して割り当てられるネットワークアドレス空間とを対応づけて管理される。このリストの詳細については図２を参照して後述する。
【００１９】
以下では、最適アドレス選択モジュール３０４において実行される選択処理の詳細を図４のフローチャートを参照して説明する。本選択処理は上記ネームサーバモジュール３０２内部から呼び出される。この呼び出しは、正引き問合せを受け付けたネームサーバモジュール３０２がマスターゾーンファイル３０３より、名前解決要求に対応する送信先ＩＰｖ６アドレスを複数取得した場合に発生する。
【００２０】
まず、Ｓ４０１では、選択アドレス選択モジュール３０４が、正引き問合せに対応する複数のＩＰｖ６アドレス（つまり、クライアント・サーバ間通信における送信先であるところのサーバアドレスのリスト）をネームサーバモジュール３０２より取得する。
【００２１】
次に、Ｓ４０２では正引き問合せを行った問合せ者（クライアント１０６）のＩＰｖ６アドレス（つまり、クライアント・サーバ間通信における送信元アドレス）を取得する。
【００２２】
Ｓ４０３においては、Ｓ４０１で取得した送信先アドレスリストに含まれるそれぞれのアドレスと、Ｓ４０２で取得した送信元アドレスのロンゲストマッチ処理を行う。このロンゲストマッチ処理とはルータ内の最適経路検索などに利用されている処理であり、二つのアドレスを上位ビットよりビット比較を行い、上位ビットから順に連続して一致するビット数を調査し、連続して一致したビット数が最も多いアドレスの組を検出する処理である。
【００２３】
例えば、送信先アドレスリストとして「２００１：３４０：１２３４：５６７８：：１」「２００１：５００：１：２：３：４：５：６」「２００１：７００：：１」が取得されたとする。また、送信元アドレスとして「２００１：２１８：４５０：１：：１」が取得されたとする。これらのＩＰｖ６アドレスは、１６進数で記載されているので、２進数に変換すると、例えば送信先アドレスは、
「２００１：３４０：１２３４：５６７８：：１」が、
「００１００００００００００００１：００００００１１０１００００００：・・・０００１」、
「２００１：５００：１：２：３：４：５：６」が、
「００１００００００００００００１：０００００１０１００００００００：・・・０１１０」、
「２００１：７００：：１」が、
「００１００００００００００００１：０００００１１１００００００００：・・・０００１」
となる。一方の送信元アドレスは、
「２００１：２１８：４５０：１：：１」が、
「００１００００００００００００１：００００００１００００１１０００：・・・０００１」
となる。
【００２４】
従って、各送信先アドレスと送信元アドレスのビット比較を行うと、「２００１：３４０：１２３４：５６７８：：１」と「２００１：２１８：４５０：１：：１」では上位から２３ビット（「００１００００００００００００１：００００００１」）が同一となっている。
【００２５】
同様に、「２００１：５００：１：２：３：４：５：６」と「２００１：２１８：４５０：１：：１」、及び、「２００１：７００：：１」と「２００１：２１８：４５０：１：：１」では２１ビット（「００１００００００００００００１：０００００」）となる。これらの結果より、ロンゲストマッチ処理では、上位２３ビットが一致する送信先アドレス「２００１：３４０：１２３４：５６７８：：１」及び送信元アドレス「２００１：２１８：４５０：１：：１」の組が選択される。
【００２６】
Ｓ４０４では、Ｓ４０３におけるロンゲストマッチ処理の結果について判定を行う。具体的には、ロンゲストマッチの結果として選択されたアドレスの組が２３ビット（所定ビット長）以上の一致を有する場合（Ｓ４０４でＹＥＳ）にはＳ４１１へ進み、一致したビット列が２３ビットより短い場合（Ｓ４０４でＮＯ）にはＳ４０５へ進むように分岐している。
【００２７】
ここで、送信先アドレスと送信元アドレスとが２３ビット以上一致する場合とは、二つのアドレス（送信先アドレスと送信元アドレス）が地域ＩＲに割当てた／２３のＩＰｖ６アドレス空間内に存在することを意味している。従って、Ｓ４１１では送信先アドレスとしてこの２３ビット以上一致した組に含まれる送信先アドレスをネームサーバモジュール３０２に返信する。
【００２８】
一方、Ｓ４０４にて２３ビットより小さいビット一致の組しか検出できなかった場合には、Ｓ４０３におけるアドレスの組の選択結果を破棄して、Ｓ４０５にて送信先アドレスリスト（即ち、正引き問合せに対応する上記複数のＩＰｖ６アドレス）についてエリア判定を行う。このエリア調査とは、ＲＩＲリスト３０５のデータに基づいて、当該複数のアドレスがそれぞれどのエリア（地域ＩＲ）に属しているかを判定する処理である。
【００２９】
ＲＩＲリストの一例は、図２に示すようになる。図２においては、まず、各エリア２０３に与えられるＩＰｖ６アドレス空間（当該アドレスのプレフィックス長（この場合は２３ビット）を含む。）２０１及び、ｓｕｂ−ＴＬＡ  Ｂｉｎａｒｙ２０２が登録されている。図２に示すｓｕｂ−ＴＬＡ  Ｂｉｎａｒｙは、対応するＩＰｖ６アドレスをバイナリ表現した場合のプレフィックス長前後（先頭から２３ビット前後）のビット列を示すものであり、０又は１で記載されているビット列は、ｓｕｂ−ＴＬＡに属するビット列であり、Ｘで示されるビット列はｓｕｂ−ＴＬＡ  Ｂｉｎａｒｙに属しない、即ちインターネット接続事業者が自由に決定できるビット列である。
【００３０】
このエリア判定が必要な場合としては、複数のＩＰｖ６アドレス（／２３アドレス）を保持するある地域ＩＲに属しているサーバとクライアントにおいて、サーバアドレスの所属する／２３アドレス空間（ＩＰアドレスの上位２３ビット）とクライアントアドレスの所属する／２３アドレス空間（ＩＰアドレスの上位２３ビット）が異なっている場合である。
【００３１】
例えば、図２を参照すると、ＡＰＮＩＣに割り当てられているＩＰｖ６アドレスは２種類、ＲＩＰＥ  ＮＣＣに割り当てられているＩＰｖ６アドレスは３種類あり、それぞれのｓＴＬＡが異なっている。即ち、送信先であるサーバーのＩＰｖ６アドレスが、「２００１：０２ＸＸ：：１」である場合に、送信元であるクライアントのＩＰｖ６アドレスが、「２００１：０ＣＸＸ：：１」ということがあり得るのである。この場合、ロンゲストマッチ処理を行えば、上位ビットから連続して一致するビット列の長さは、２０ビットとなってしまうので、２３ビットはおろか、場合によっては他のエリアのサーバーに与えられているＩＰアドレスよりも一致するビット列が短くなってしまう可能性がある。
【００３２】
このような場合には、ロンゲストマッチ処理のみを適用しただけではエリア（地域ＩＲ）の同一性を検知することが困難である。そこで、アドレスのロンゲストマッチのみでの判断ではなく、どのエリア（地域ＩＲ）に属するかも判断して最適なアドレスを選択する。
【００３３】
具体的な処理を上記３つの送信先アドレスを利用して説明すると、当該３つの送信先アドレス「２００１：３４０：１２３４：５６７８：：１」、「２００１：５００：１：２：３：４：５：６」及び「２００１：７００：：１」のそれぞれと、ＲＩＲリストのそれぞれ（図２に示す各アドレス）とでロンゲストマッチを行う。このロンゲストマッチにおいて２３ビット以上の一致が発見されたＲＩＲリストの項目から、各送信先アドレス（を与えられているサーバー）がどのエリアに属しているのかを判定する。この判定の結果、上記３つの送信先アドレスが属するエリアはそれぞれ、「２００１：３４０：１２３４：５６７８：：１」・・・ＡＰＮＩＣ、「２００１：５００：１：２：３：４：５：６」・・・ＡＲＩＮ、「２００１：７００：：１」・・・ＲＩＰＥ  ＮＣＣとなる。
【００３４】
次に、Ｓ４０６においては送信元アドレスのエリア判定を同様に行う。更にＳ４０７では、上記Ｓ４０５において決定された各送信先アドレスのエリア情報と、Ｓ４０６において決定された送信元アドレスのエリア情報とを比較する。この比較結果として、例えば、クライアントが属するエリアに該当サーバがない等の理由により送信先アドレスのエリア情報に、送信元アドレスのエリア情報と一致する情報がない場合（Ｓ４０８においてＮＯ）には、Ｓ４０９へ移行し、送信先アドレスのエリア情報に、送信元アドレスのエリア情報と一致する情報がある場合（Ｓ４０８においてＹＥＳ）には、Ｓ４１０へ移行する。すなわち、Ｓ４０７では、複数のサーバそれぞれに割り当てられているネットワークアドレス（３つの送信先アドレス）のうち、クライアントのネットワークアドレス（送信元アドレス）が属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバのアドレス（送信先アドレス）を選択する選択する。
【００３５】
Ｓ４１０では、送信元アドレスのエリアと同一エリアの送信先アドレスを、ネームサーバモジュール３０２に返信する。Ｓ４０９では、Ｓ４０１で取得した全ての送信先アドレスをネームサーバモジュール３０２へ返信する。
【００３６】
ネームサーバモジュール３０２では、最適アドレス選択モジュール３０４よりＳ４０９、Ｓ４１０又はＳ４１１において返信されたアドレスを問合せ元であるリゾルバモジュール３０１へ返信する。仮に複数のアドレスが最適アドレス選択モジュールより返信された場合（最適な送信先アドレスが検出できなかった場合や検出された最適な送信先アドレスが複数あった場合など）、通常のＤＮＳでのアドレス返信方法と同様に、ラウンドロビンにて返信する。
【００３７】
次に、本実施形態に対応する本発明を実施するためのハードウェア構成について説明する。図５は、本実施形態での機能を実現するソフトウェアプログラムを動作させるためのハードウェア構成の一例を示したものである。
【００３８】
例えば、クライアント１０６やサーバ類１０７〜１１０、は、上記図５に示すコンピュータ９００の機能により、本実施形態に対応する機能を実現することができる。コンピュータ９００は、ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、ハードディスク（ＨＤ）９０７及びフロッピー（登録商標）ディスク（ＦＤ）９０８のディスクコントローラ（ＤＣ）９０５と、ネットワークインタフェースカード（ＮＩＣ）９０６とが、システムバス９０４を介して互いに通信可能に接続された構成としている。
【００３９】
そして、システムバス９０４が、上記図１に示したネットワーク１０１とネットワークインタフェースカード９０６を介して接続される。ＣＰＵ９０１は、ＲＯＭ９０２あるいはＨＤ９０７に記憶されたソフトウェア、あるいはＦＤ９０８より供給されるソフトウェアを実行することで、ステムバス９０４に接続された各構成部を統括的に制御する。
【００４０】
すなわち、ＣＰＵ９０１は、本実施形態にて説明したような図４の処理シーケンスに従った処理プログラムを、ＲＯＭ９０２、あるいはＨＤ９０７、あるいはＦＤ９０８から読み出して実行することで、本実施形態での動作を実現するための制御を行う。ＲＡＭ９０３は、ＣＰＵ９０１の主メモリあるいはワークエリア等として機能する。
【００４１】
ＤＣ９０５は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、および本実施形態における上記処理プログラム等を記憶するＨＤ９０７、およびＦＤ９０８とのアクセスを制御する。ＮＩＣ９０６は、ネットワーク１０１を通じてＩＰｖ６インターネット１００に接続するサーバ１０８等と、ＩＰｖ６通信プロトコルを用いて相互にデータのやり取りをする。
【００４２】
次に、クライアント１０６からの名前解決要求に対応して実行される本実施形態に対応する通信シーケンスについて図６を参照して説明する。図６は本発明を導入したＤＮＳサーバ１０７とクライアント１０６との間における通信シーケンスを示す図である。
【００４３】
当該通信シーケンスでは、まず６０１にてクライアント１０６よりリゾルバモジュール３０１を介して正引き問合せが行われる。例として、ホスト名「ｗｗｗ．ｓｅｒｖｉｃｅ．ｃｏｍ」のＩＰｖ６アドレスの正引き問合せを行うとする。６０２において、ネームサーバモジュール３０２がリゾルバモジュール３０１からの問合せに対して、マスターゾーンファイル３０３を参照し、要求された「ｗｗｗ．ｓｅｒｖｉｃｅ．ｃｏｍ」のＩＰｖ６アドレスを検出する。ここでは「２００１：３４０：１２３４：５６７８：：１」、「２００１：５００：１：２：３：４：５：６」及び「２００１：７００：：１」が「ｗｗｗ．ｓｅｒｖｉｃｅ．ｃｏｍ」のＩＰｖ６アドレスとしてマスターゾーンファイル３０３に登録されていたとする。
【００４４】
６０３では、ネームサーバー３０２が、「ｗｗｗ．ｓｅｒｖｉｃｅ．ｃｏｍ」のアドレス（「２００１：３４０：１２３４：５６７８：：１」、「２００１：５００：１：２：３：４：５：６」及び「２００１：７００：：１」）と問合せ元であるクライアント１０６のアドレス（「２００１：２１８：４５０：１：：１」）とを最適アドレス選択モジュール３０４に通知し、アドレス選択処理を要求する。
【００４５】
６０４では、最適アドレス選択モジュール３０４において、図４を参照して説明した最適アドレス選択処理が実行される。この処理において、最適アドレスが検出され、６０５にて最適アドレス選択モジュール３０４からネームサーバモジュール３０２に対して検出された最適アドレス（この場合は、「２００１：３４０：１２３４：５６７８：：１」）が返信される。最適アドレス選択モジュール３０４よりアドレスを得たネームサーバモジュール３０２は、正引き問合せの返答として、通知されたアドレス（「２００１：３４０：１２３４：５６７８：：１」）をリゾルバモジュール３０１に返信する。
【００４６】
以上に説明した本実施形態における最適アドレス選択処理はＤＮＳに特化した処理手法ではないので、アドレス選択方法全般に対して適用可能である。また、地域ＩＲでの最適アドレス選択を行ったが、ＲＩＲリストの内容は、サイト内での割り振り情報など、その他のネットワーク情報を用いたサイト内分散サーバ環境や、ＡＳ内分散サーバ環境などにおいても利用することができる。さらに、最適アドレス選択処理におけるロンゲストマッチの判定閾値はこれに限定するものではなく、同時に保持するネットワーク情報のリスト（ＲＩＲリストに相当）に合わせて変更が可能である。
【００４７】
以上に説明した本実施形態に対応する本発明によれば、ＦＱＤＮとＩＰアドレスの対を保持するデータベースを利用して、クライアントに最適なサーバの決定が可能となる。また、当該サーバの決定に際しては、送信元アドレスと送信先アドレスの比較及び両アドレスのエリア情報の比較という、簡単な比較処理のみを実行すればよいのでシステムが大規模である必要は無く、また、最適サーバの決定に要する時間も大幅に短縮が可能となる。
【００４８】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５１】
【発明の効果】
以上に説明したように、本発明によれば、世界規模でのアクセス分散を行う場合のサーバシステム規模の大型化を避け、かつ、クライアントからの接続要求に即座に応答して適切なサーバを通知することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態に対応したネットワークの構成の一例を示す図である。
【図２】ＩＰｖ６アドレスの割り振りを示す図である。
【図３】本発明の実施形態に対応したモジュール構成の一例を示す図である。
【図４】本発明の実施形態に対応した最適アドレス選択モジュール３０４内部において実行される処理の一例に対応するフローチャートである。
【図５】本発明の実施形態に対応したハードウェア構成の一例を示す図である。
【図６】本発明の実施形態に対応する通信シーケンスの一例を示す図である。
【図１】
2005045355.tif 000003
【図２】
2005045355.tif 000004
【図３】
2005045355.tif 000005
【図４】
2005045355.tif 000006
【図５】
2005045355.tif 000007
【図６】
2005045355.tif 000008
【手続補正書】
【提出日】平成16年6月11日(2004.6.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持するデータベースと、
前記複数のサーバそれぞれに割り当てられているネットワークアドレスの一つを、クライアントのネットワークアドレスと先頭ビットから連続して一致するビット長に応じて、選択する選択手段と
を有することを特徴とする前記インターネットに接続されるサーバ。
【請求項２】
前記選択手段は、前記ホスト名に対応するネットワークアドレスを求めるクライアントからの要求に基づき、前記ネットワークアドレスの一つを選択することを特徴とする請求項１に記載のサーバ。
【請求項３】
インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持する第１のデータベースと、
複数のエリアそれぞれに対して割り当てられるネットワークアドレス空間に基づき、前記複数のサーバそれぞれに割り当てられているネットワークアドレスのうち、クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバのアドレスを選択する選択手段と
を有することを特徴とするサーバ。
【請求項４】
前記クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバが存在しない場合には、前記複数のサーバそれぞれに割り当てられているネットワークアドレスを前記クライアントへ通知する通知手段を更に備えることを特徴とする請求項３に記載のサーバ。
【請求項５】
インターネットに接続され、前記インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持する第１のデータベースを備えるサーバの制御方法であって、
クライアントのネットワークアドレスを取得する取得工程と、
前記複数のサーバそれぞれに割り当てられているネットワークアドレスの一つを、前記クライアントのネットワークアドレスと先頭ビットから連続して一致するビット長に応じて、選択する選択工程と
を有することを特徴とするサーバの制御方法。
【請求項６】
前記クライアントは、ホスト名に対応するネットワークアドレスを要求したクライアントであることを特徴とする請求項５に記載のサーバの制御方法。
【請求項７】
インターネット上に分散配置された複数のサーバに共通するホスト名と、前記複数のサーバそれぞれに割り当てられているネットワークアドレスとを対応づけて保持する第１のデータベースを備え、前記インターネットに接続されるサーバの制御方法であって、
クライアントのネットワークアドレスを取得する取得工程と、
複数のエリアそれぞれに対して割り当てられるネットワークアドレス空間に基づき、前記複数のサーバそれぞれに割り当てられているネットワークアドレスのうち、クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバのアドレスを選択する選択工程と
を有することを特徴とするサーバの制御方法。
【請求項８】
前記クライアントのネットワークアドレスが属するネットワークアドレス空間と同じエリアに割り当てられるネットワークアドレス空間に存在するサーバが存在しない場合に、前記複数のサーバそれぞれに割り当てられているネットワークアドレスを前記クライアントへ通知する通知する通知工程を更に備えることを特徴とする請求項７に記載のサーバの制御方法。
【請求項９】
請求項５乃至請求項８のいずれかに記載のサーバの制御方法をコンピュータに実行させるためのサーバの制御プログラム。
【請求項１０】
請求項９に記載のサーバの制御プログラムを記憶するコンピュータで読取り可能な記憶媒体。