(57)【要約】【課題】エニーキャストを用いる際の通信性能の劣化を防ぐ。【解決手段】複数のサーバと、エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末と、クライアント端末およびサーバ間のデータ送受を中継するルータと、を備え、ルータは、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する。【選択図】図１
2010206736.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバと、エニーキャストアドレスを用いて前記複数のサーバの一つと通信するクライアント端末と、前記クライアント端末および前記サーバ間のデータ送受を中継するルータと、を備え、
前記ルータは、前記複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、前記クライアント端末の通信対象となる前記複数のサーバの一つを選択することを特徴とするネットワークシステム。
【請求項２】
前記ルータは、
前記クライアント端末の通信対象を表す前記エニーキャストアドレスと、前記エニーキャストアドレスに対応する前記複数のサーバのそれぞれの識別子と、前記複数のサーバのそれぞれにおける処理負荷の情報と、前記複数のサーバのそれぞれに係るネットワーク負荷の情報と、前記複数のサーバのそれぞれに対するメトリックとを、それぞれ対応させて記録した対応表を備え、
前記クライアント端末から前記エニーキャストアドレスを用いた通信の要求が到来した場合に前記対応表を参照することで前記複数のサーバの一つを選択することを特徴とする請求項１記載のネットワークシステム。
【請求項３】
前記ルータは、他のルータと前記対応表の内容を交換可能とするように構成されることを特徴とする請求項２記載のネットワークシステム。
【請求項４】
前記サーバは、自身の処理負荷の情報を定期的に前記ルータに対して通知することを特徴とする請求項１または２記載のネットワークシステム。
【請求項５】
前記ルータは、前記選択したサーバに対応する経路情報を設定するルーティングテーブルを備えることを特徴とする請求項１または２記載のネットワークシステム。
【請求項６】
エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末および前記サーバ間のデータ送受を中継するルータであって、
前記複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、前記クライアント端末の通信対象となる前記複数のサーバの一つを選択することを特徴とするルータ。
【請求項７】
前記クライアント端末の通信対象を表す前記エニーキャストアドレスと、前記エニーキャストアドレスに対応する前記複数のサーバのそれぞれの識別子と、前記複数のサーバのそれぞれにおける処理負荷の情報と、前記複数のサーバのそれぞれに係るネットワーク負荷の情報と、前記複数のサーバのそれぞれに対するメトリックとを、それぞれ対応させて記録した対応表を備え、
前記クライアント端末から前記エニーキャストアドレスを用いた通信の要求が到来した場合に前記対応表を参照することで前記複数のサーバの一つを選択することを特徴とする請求項６記載のルータ。
【請求項８】
他のルータと前記対応表の内容を交換可能とするように構成されることを特徴とする請求項７記載のルータ。
【請求項９】
前記サーバの処理負荷の情報を定期的に受信することを特徴とする請求項６または７記載のルータ。
【請求項１０】
前記選択したサーバに対応する経路情報を設定するルーティングテーブルを備えることを特徴とする請求項６または７記載のルータ。
【請求項１１】
エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末および前記サーバ間のデータ送受を中継するルータを構成するコンピュータに、
前記複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、前記クライアント端末の通信対象となる前記複数のサーバの一つを選択する処理を実行させるプログラム。
【請求項１２】
前記ルータは、前記クライアント端末の通信対象を表す前記エニーキャストアドレスと、前記エニーキャストアドレスに対応する前記複数のサーバのそれぞれの識別子と、前記複数のサーバのそれぞれにおける処理負荷の情報と、前記複数のサーバのそれぞれに係るネットワーク負荷の情報と、前記複数のサーバのそれぞれに対するメトリックとを、それぞれ対応させて記録した対応表を備え、
前記クライアント端末から前記エニーキャストアドレスを用いた通信の要求が到来した場合に前記対応表を参照することで前記複数のサーバの一つを選択する処理を実行させる請求項１１記載のプログラム。
【請求項１３】
他のルータと前記対応表の内容を交換する処理を実行させる請求項１２記載のプログラム。
【請求項１４】
前記サーバの処理負荷の情報を定期的に受信する処理を実行させる請求項１１または１２記載のプログラム。
【請求項１５】
前記選択したサーバに対応する経路情報をルーティングテーブルに設定する処理を実行させる請求項１１または１２記載のプログラム。
【請求項１６】
エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末および前記サーバ間のデータ送受を中継するルータにおける通信方法であって、
前記複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、前記クライアント端末の通信対象となる前記複数のサーバの一つを選択することを特徴とする通信方法。
【請求項１７】
前記クライアント端末から前記エニーキャストアドレスを用いた通信の要求が到来した場合に、
前記クライアント端末の通信対象を表す前記エニーキャストアドレスと、前記エニーキャストアドレスに対応する前記複数のサーバのそれぞれの識別子と、前記複数のサーバのそれぞれにおける処理負荷の情報と、前記複数のサーバのそれぞれに係るネットワーク負荷の情報と、前記複数のサーバのそれぞれに対するメトリックとを、それぞれ対応させて記録した対応表を参照することで前記複数のサーバの一つを選択することを特徴とする請求項１６記載の通信方法。
【請求項１８】
他のルータと前記対応表の内容を交換可能とすることを特徴とする請求項１７記載の通信方法。
【請求項１９】
前記サーバの処理負荷の情報を定期的に受信することを特徴とする請求項１６または１７記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステム、その通信方法、ルータ、およびプログラムに係り、特に、エニーキャストを用いるネットワークシステム、その通信方法、ルータ、およびプログラムに係る。
【背景技術】
【０００２】
ＩＰｖ６において、サーバの負荷分散を目的としたエニーキャストという通信方式が知られている。エニーキャストでは、距離が最も近いノードに対して送信を行う。この場合の距離は、ネットワーク上で利用しているルーティングプロトコルのメトリックで判断される。メトリックは、複数のルートから最適なルートを選択するために、ルータが使用する基準のことであり、ルーティングプロトコルによって定められる。クライアント端末がエニーキャストアドレスを送信パケットの送信先アドレスとして指定すると、パケットを中継するルータは、同一のエニーキャストアドレスを持つ複数のサーバの中からクライアントからの距離が最も近いサーバを選択してパケットを送信する。
【０００３】
このようなエニーキャストによって、同一のサブネット内に複数のブート・サーバ等が存在する場合であっても、これらの複数のブート・サーバ等がクライアント端末からのＯＳイメージ・ファイル等のリクエストに対して対応できるシステムが特許文献１において開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４１７４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は本発明において与えられる。
【０００６】
エニーキャストでは、クライアント端末からサーバまでの距離で通信経路を判断している。しかしながら、高負荷のかかったサーバが選択された場合、サーバの選択においてサーバの負荷状況を考慮していないため、クライアントとサーバ間の通信性能が大きく劣化する虞がある。また、選択されたサーバとクライアント間の通信経路が輻輳状態であるような場合、サーバ選択においてサーバからクライアント間のネットワークの負荷状況を考慮していないため、クライアントとサーバ間の通信性能が大きく劣化する虞がある。
【０００７】
したがって、本発明の目的は、エニーキャストを用いる際の通信性能の劣化を防ぐネットワークシステム、その通信方法、ルータ、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の１つのアスペクト（側面）に係るネットワークシステムは、複数のサーバと、エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末と、クライアント端末およびサーバ間のデータ送受を中継するルータと、を備え、ルータは、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する。
【０００９】
本発明の他のアスペクト（側面）に係るルータは、エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末およびサーバ間のデータ送受を中継するルータであって、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する。
【００１０】
本発明のさらに他のアスペクト（側面）に係るプログラムは、エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末およびサーバ間のデータ送受を中継するルータを構成するコンピュータに、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する処理を実行させる。
【００１１】
本発明の別のアスペクト（側面）に係る通信方法は、エニーキャストアドレスを用いて複数のサーバの一つと通信するクライアント端末およびサーバ間のデータ送受を中継するルータにおける通信方法であって、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する。
【発明の効果】
【００１２】
本発明によれば、メトリックに加え、サーバの負荷、ネットワークの負荷のそれぞれの情報を用いて通信対象となるサーバを選択する。したがって、適切なサーバが選択され、エニーキャストを用いる際の通信性能の劣化を防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施例に係るネットワークシステムの一形態の構成を示すブロック図である。
【図２】ルータおよびサーバの構成の詳細を表す図である。
【図３】エニーキャストリストの構成を表す図である。
【図４】サーバ選択部の動作を表すフローチャートである。
【発明を実施するための形態】
【００１４】
本発明の実施形態に係るネットワークシステムは、サーバと、エニーキャストアドレスを用いてサーバと通信するクライアント端末と、クライアント端末およびサーバ間のデータ送受を中継するルータと、を備える。
【００１５】
ルータは、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する。
【００１６】
ルータは、クライアント端末の通信対象を表すエニーキャストアドレスと、エニーキャストアドレスに対応する複数のサーバのそれぞれの識別子と、複数のサーバのそれぞれにおける処理負荷の情報と、複数のサーバのそれぞれに係るネットワーク負荷の情報と、複数のサーバのそれぞれに対するメトリックとを、それぞれ対応させて記録した対応表を備え、クライアント端末からエニーキャストアドレスを用いた通信の要求が到来した場合に対応表を参照することで複数のサーバの一つを選択するようにしてもよい。
【００１７】
ルータは、他のルータと対応表の内容を交換可能とするように構成されるようにしてもよい。
【００１８】
サーバは、自身の処理負荷の情報を定期的にルータに対して通知するようにしてもよい。
【００１９】
ルータは、選択したサーバに対応する経路情報を設定するルーティングテーブルを備えるようにしてもよい。
【００２０】
ルータは、コンピュータを備え、このコンピュータに、複数のサーバのそれぞれに対する、メトリック、サーバの処理負荷およびサーバに係るネットワーク負荷に基づいて、クライアント端末の通信対象となる複数のサーバの一つを選択する処理を実行させてもよい。
【実施例１】
【００２１】
図１は、本発明の第１の実施例に係るネットワークシステムの一形態の構成を示すブロック図である。図１において、ネットワークシステムは、直列形態で繋がるルータ１０ａ、１０ｂ、１０ｃと、ルータ１０ａと繋がるサーバ２０ａと、ルータ１０ｃと繋がるサーバ２０ｂと、ルータ１０ａと繋がるクライアント端末３０で構成される。ここで、サーバ２０ａ、２０ｂは、同一のエニーキャストアドレス「ａ」を保持するものとする。
【００２２】
図２は、ルータおよびサーバの構成の詳細を表す図である。サーバ２０は、自身の負荷状況を監視する負荷監視部２１と、自身の負荷状況と生存性をルータへ通知するキープアライブ部２２を備える。
【００２３】
また、ルータ１０は、サーバの負荷状況とサーバの生存性を調査するキープアライブ部１２と、自身の負荷状況を監視する負荷監視部１３と、エニーキャストアドレスに括りついた複数のサーバから最適なサーバを選択するサーバ選択部１４と、サーバ選択のための判断情報が格納されるエニーキャストリスト１１と、ルータ間でエニーキャストリスト情報の交換するルータ間通信部１６と、経路情報が格納されるルーティングテーブル１５を備える。なお、クライアントとの通信方法およびルータ間の通信方法には、既存のルーティングプロトコルを利用することができる。
【００２４】
図３は、エニーキャストリストの構成を表す図である。図３において、エニーキャストリスト１１は、エニーキャストアドレスに括りついたサーバのサーバ識別子と、サーバ負荷の値と、ネットワーク負荷の値と、メトリックとをエニーキャストアドレスに対応させて格納する。
【００２５】
サーバ識別子は、サーバのユニキャストアドレスもしくはＭＡＣアドレスを利用するが、サーバを識別できれば、これ以外の識別子を用いても良い。また、ネットワーク負荷について、サーバからクライアント間の通信において通過するルータ負荷の合計と定義するが、ネットワーク負荷を表す他のパラメータであってもよい。
【００２６】
図１、図２において、サーバ２０（２０ａ、２０ｂ）は、負荷監視部２１を用いて自身の負荷状況を調査し、キープアライブ部２２を用いてルータ１０（１０ａ、１０ｃ）へ自身の負荷情報を定期的に通知する。
【００２７】
ルータ１０（１０ａ、１０ｃ）は、キープアライブ部１２を用いて、それぞれの２０（２０ａ、２０ｂ）からサーバ負荷状況を取得し、エニーキャストリスト１１中のサーバ負荷の値を更新する。
【００２８】
また、各ルータ１０（１０ａ、１０ｃ）は、定期的にサーバ２０（２０ａ、２０ｂ）から通知されるサーバ負荷状況のメッセージが受信できている場合、サーバを生存状態であると判断し、受信できなくなった場合、サーバを生存状態ではないと判断する。
【００２９】
さらに、ルータ１０（１０ａ、１０ｂ、１０ｃ）は、自身の負荷状況を負荷監視部１３によって調査し、エニーキャストリスト１１中のネットワーク負荷の値を更新する。
【００３０】
各ルータ１０（１０ａ、１０ｂ、１０ｃ）は、ルータ間通信部１６を用いて定期的に他のルータとエニーキャストリスト情報を交換するとともに、他のルータの保持するエニーキャストリスト情報を取得し、エニーキャストリスト１１の内容を更新する。
【００３１】
また、ルータ１０（１０ａ、１０ｂ、１０ｃ）は、他ルータから定期的に通知されるメッセージが受信できている場合、他ルータが生存状態であると判断し、受信できなくなった場合、他ルータが生存状態ではないと判断する。そして、サーバ選択部１４を用いて、各ルータは、エニーキャストリスト１１を参照し、最適なサーバを決定する。
【００３２】
ルータ１０（１０ａ、１０ｂ、１０ｃ）は、選択したサーバに応じた経路情報をルーティングテーブル１５に反映させる。
【００３３】
次に、サーバ選択部１４の動作について説明する。図４は、サーバ選択部１４の動作を表すフローチャートである。サーバ選択部１４は、クライアント端末３０からエニーキャストアドレスを用いた通信の要求がルータ１０に到来した場合に、以下のように動作する。
【００３４】
ステップＳ１１において、サーバ選択部１４は、図３に示すエニーキャストリスト１１を参照し、同一のエニーキャストアドレスに係るサーバ選択処理を行う。
【００３５】
ステップＳ１２において、サーバ選択部１４は、図３に示すエニーキャストリスト１１を参照し、リストに格納された各情報を取得する。
【００３６】
ステップＳ１３において、サーバ選択部１４は、抽出されたエントリにおいて、経路アルゴリズムを用い、サーバ負荷、ネットワーク負荷、メトリックを用いて適切なサーバを選択する。例えば、サーバ負荷、ネットワーク負荷、メトリックをそれぞれ数値化して、Ｓｉ、Ｎｉ、Ｍｉとするとき、Ｓ＝ｗ１・Ｓｉ＋ｗ２・Ｎｉ＋ｗ３・Ｍｉ（ただし、ｗ１〜ｗ３はそれぞれの重み）を求め、Ｓの大小に基づいてサーバを選択する。すなわち、サーバ負荷およびネットワーク負荷が軽く、メトリックの小さなサーバを選択する。
【００３７】
このような構成のネットワークシステムにおいて、ルータ１０（１０ａ、１０ｂ、１０ｃ）は、メトリックに加え、サーバ負荷状況、ネットワーク負荷状況を基に複数のサーバの一つを選択することによって、最適なサーバを選択することができる。したがって、適切なサーバが選択され、エニーキャストを用いる際の通信性能の劣化を防ぐことができる。
【００３８】
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００３９】
１０、１０ａ、１０ｂ、１０ｃ  ルータ
１１  エニーキャストリスト
１２  キープアライブ部
１３  負荷監視部
１４  サーバ選択部
１５  ルーティングテーブル
１６  ルータ間通信部
２０、２０ａ、２０ｂ  サーバ
２１  負荷監視部
２２  キープアライブ部
３０  クライアント端末
【図１】
2010206736.tif 000003
【図２】
2010206736.tif 000004
【図３】
2010206736.tif 000005
【図４】
2010206736.tif 000006