(57)【要約】【課題】性能の向上したロードバランサを提供する。【解決手段】クライアント１００がロードバランサ２０２に対して要求を送信する（Ｓ３−１）。割り当て要求手段は、所定の割り当てアルゴリズムに基づき、その要求を割り当てるノードコンピュータ１０４を特定する（Ｓ３−２）。要求送信手段２０４は、この送られてきたＩＰアドレス「ＩＰ２」をそれに対応するＭＡＣアドレス、すなわち「ＭＡＣ２」に変換し、このＭＡＣ２宛に上記要求を内部ネットワーク１０８上で送信する（Ｓ３−３）。次に、送られてきた要求に対してノードコンピュータ１０４ｂが所定の処理を実行する（Ｓ３−４）。この処理の結果は、処理結果送信手段２０８が、そのままクライアントに送信する。この際、ＩＰアドレスの変換等は一切しない。要求の中のＩＰアドレスを何ら変換していないので、ロードバランサ２０２の負担は減少する。【選択図】　　　図１
2004118622.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置において、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手段と、
前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信手段と、
を含み、
前記要求送信手段は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とする負荷分散装置。
【請求項２】
請求項１記載の負荷分散装置において、
前記割り当て手段は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、
前記要求送信手段は、前記割り当て手段が割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置。
【請求項３】
請求項１記載の負荷分散装置において、
前記要求送信手段は、前記割り当て手段が割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置。
【請求項４】
請求項３記載の負荷分散装置において、
前記割り当て手段が割り当てたノードコンピュータのアドレスは、ＩＰアドレスであることを特徴とする負荷分散装置。
【請求項５】
請求項１、２、３又は４記載の負荷分散装置において、
前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手段、
を含むことを特徴とする負荷分散装置。
【請求項６】
請求項１、２、３、４又は５記載の負荷分散装置において、前記内部ネットワークはＩＥＥＥ８０２シリーズで規定されるネットワークであり、
前記データリンクアドレスは、ＭＡＣアドレスであることを特徴とする負荷分散装置。
【請求項７】
請求項１、２、３、４又は５記載の負荷分散装置において、前記宛先アドレス及び発信元アドレスはＩＰアドレスであることを特徴とする負荷分散装置。
【請求項８】
複数のノードコンピュータと内部ネットワークを介して接続された負荷分散装置上における負荷分散方法であって、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散方法において、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当てステップと、
前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信ステップと、
を含み、
前記要求送信ステップにおいては、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求が送信されることを特徴とする負荷分散方法。
【請求項９】
請求項８記載の負荷分散方法において、
前記割り当てステップにおいては、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表され、
前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法。
【請求項１０】
請求項８記載の負荷分散方法において、
前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法。
【請求項１１】
請求項１０記載の負荷分散方法において、
前記割り当てステップにおいて割り当てられたノードコンピュータのアドレスは、ＩＰアドレスであることを特徴とする負荷分散方法。
【請求項１２】
請求項８、９、１０又は１１記載の負荷分散方法において、
前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信ステップ、
を含むことを特徴とする負荷分散方法。
【請求項１３】
請求項８、９、１０、１１又は１２記載の負荷分散方法において、
前記内部ネットワークはＩＥＥＥ８０２シリーズで規定されるネットワークであり、
前記データリンクアドレスは、ＭＡＣアドレスであることを特徴とする負荷分散方法。
【請求項１４】
請求項８、９、１０、１１又は１２記載の負荷分散方法において、
前記宛先アドレス及び発信元アドレスはＩＰアドレスであることを特徴とする負荷分散方法。
【請求項１５】
複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置として、コンピュータを動作させるプログラムにおいて、前記コンピュータに、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手順と、
前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手順において割り当てたノードコンピュータに対して送信する要求送信手順と、
を実行させ、
前記要求送信手順は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とするプログラム。
【請求項１６】
請求項１５記載のプログラムにおいて、
前記割り当て手順は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、
前記要求送信手順は、前記割り当て手順において割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラム。
【請求項１７】
請求項１５記載のプログラムにおいて、
前記要求送信手順は、前記割り当て手順において割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラム。
【請求項１８】
請求項１７記載のプログラムにおいて、
前記割り当て手順において割り当てたノードコンピュータのアドレスは、ＩＰアドレスであることを特徴とするプログラム。
【請求項１９】
請求項１５、１６、１７又は１８記載のプログラムにおいて、前記コンピュータに、
前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手順、
を実行させることを特徴とするプログラム。
【請求項２０】
請求項１５、１６、１７、１８又は１９記載のプログラムにおいて、
前記内部ネットワークはＩＥＥＥ８０２シリーズで規定されるネットワークであり、
前記データリンクアドレスは、ＭＡＣアドレスであることを特徴とするプログラム。
【請求項２１】
請求項１５、１６、１７、１８又は１９記載のプログラムにおいて、
前記宛先アドレス及び発信元アドレスはＩＰアドレスであることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、負荷分散装置及び方法に関する。特に、性能の向上した負荷分散装置及び方法に関する。
【０００２】
【従来の技術】
外部からの要求（リクエスト）に対してサービスを提供するサーバコンピュータ（以下、単にサーバという）が広く利用されている。要求はリクエストと呼ばれることも多い。本特許では、「要求」の言葉を用いる。このサーバの能力を高めるために、複数のコンピュータを組み合わせて、処理能力の大きな１台のサーバを構成するシステムが種々知られている。このようなシステムの典型的な例として、数多くの要求を処理する必要があるインターネット上のＷＥＢサーバが挙げられよう。特に、インターネット上で商取引を行う電子商取引のサービスを提供するＷＥＢサーバは、多くの購買注文を処理しなければならないので、実際には複数のサーバで構成されることが多い。また、複数のサーバで構成することによって、対障害性を向上させることができると考えられている。すなわち、複数台のサーバの中の１台が故障しても、残りのサーバで電子商取引のサービスを続行することができるのである。
【０００３】
このように複数のサーバを利用する簡易な仕組みの一つとして、インターネット上におけるＤＮＳラウンドロビンと呼ばれる仕組みが従来から広く知られている。このＤＮＳラウンドロビンは、１のホスト名に複数のＩＰアドレスを割り当てていく手法で、外部からの要求がある度に、ＩＰアドレスを順番に割り当てていくことで、１台のコンピュータにアクセス（要求）が集中することを防ぐ仕組みである。この仕組みは複数のＩＰアドレスを用いてしまう。
【０００４】
これに対して、１個のＩＰアドレスに対する要求を、複数のコンピュータに分散させる装置も従来から知られており、しばしばロードバランサ（Ｌｏａｄ　Ｂａｌａｎｃｅｒ）と呼ばれている。このロードバランサ１０を用いたＷＥＢサーバの構成概念図が図４に示されている。
【０００５】
ロードバランサ１０は、複数のノードコンピュータ１２ａ〜１２ｄとネットワークで接続されており、互いに通信を行えるように構成されている。ロードバランサ１０は、インターネット１４を介してクライアント１６ａ〜１６ｃから送られてきた要求を各ノードコンピュータ１２ａ〜１２ｄに割り振る動作を実行している。本特許では、ロードバランサ１０によって管理される複数のコンピュータをノードコンピュータ１２と呼ぶ。
【０００６】
ロードバランサ１０がこのような動作を行うことによって、各クライアント１６ａ〜１６ｃからは、あたかも１台のＷＥＢサーバがサービスを提供しているかのように見えるのである。提供されるサービスは、例えばＷＥＢの閲覧サービスや、電子商取引のサービスや、翻訳のサービス、データベースのサービス、その他種々のサービスである。
【０００７】
例えば、クライアント１６ａが出した電子商取引のサービス要求は、ノードコンピュータ１２ａに割り当てられる。ノードコンピュータ１２ａはクライアント１６ａに対する電子商取引サービスを実行し、その結果をロードバランサ１０に返す。ロードバランサ１０は、返ってきたサービス結果をクライアント１６ａに送信する。このような動作をするために、ロードバランサ１０内には、どの要求をどのノードコンピュータ１２に割り当てたかを記憶する機能が備えられている。
【０００８】
一方、クライアント１６ｂが出した要求は、ロードバランサ１０が受信し、ノードコンピュータ１２ｂに割り当てられる。ノードコンピュータ１２ｂはクライアント１６ｂに対する電子商取引サービスを実行し、その結果をロードバランサ１０に返す。ロードバランサ１０は、返ってきたサービス結果をクライアント１６ｂに送信する。
【０００９】
このような動作の結果、外部のインターネット１４側からは、あたかも１台のサーバがサービスを提供しているかのように見えるのである。また、ロードバランサ１０と複数のノードコンピュータ１２ａ〜１２ｄからなるシステムを本特許ではサーバシステム２０と呼ぶ。
【００１０】
従来のロードバランサが採用する負荷分散の原理の一つにＮＡＴ（Ｎｅｔｗｏｒｋ　Ａｄｄｒｅｓｓ　Ｔｒａｎｓｌａｔｉｏｎ）と呼ばれる原理がある。
【００１１】
このＮＡＴの簡単な説明図が図５に示されている。この図に示すように、クライアント１００は、従来のロードバランサ１０２に要求パケットを送信する。そして、ロードバランサ１０２がこの要求パケットを所定の割り当てアルゴリズムに基づき、ノードコンピュータ１０４ａ、１０４ｂ、１０４ｃ、１０４ｄのいずれかに送信する。ロードバランサ１０２と、ノードコンピュータ１０４ａ〜１０４ｄは、ＩＥＥＥ８０２シリーズによるネットワーク１０６によって接続され、ネットワークを構成している。クライアント１００とロードバランサ１０２との通信媒体もＩＥＥＥ８０２シリーズによるネットワーク等で結ばれている。
【００１２】
このような構成において、クライアントには、いわゆるＩＰアドレスＩＰｃが付されており、ロードバランサ１０２には、ＩＰアドレスＩＰｂｌが付されている。また、ノードコンピュータ１０４ａ〜１０４ｄにも、それぞれＩＰアドレスＩＰ１、ＩＰ２、ＩＰ３、ＩＰ４が付されている。
【００１３】
まず、クライアント１００は、ロードバランサ１０２に対して要求パケットを送信する。このパケット中のＩＰアドレスで表されるソースアドレスは、送信者であるクライアント１００に付されているＩＰｃである。また、このパケット中のＩＰアドレスで表されるディスティネーションアドレス（宛先のアドレス）は、宛先であるロードバランサ１０２に付されているＩＰｂｌである。
【００１４】
パケットのアドレスの内容が模式的に図５中に示されている。この図５において、模式的に表されたパケット中の「Ｓ」はソースアドレスを表し、「Ｄ」はディスティネーションアドレスをそれぞれ表す。
【００１５】
ロードバランサ１０２は、この要求パケットを割り当てるノードコンピュータを決定した後、この要求パケットの異派ｄれすで表されるディスティネーションアドレスをその割当先のノードコンピュータ（１０４ａ〜１０４ｄ）のＩＰアドレスに書き換える。例えば、割当先がノードコンピュータ１０４ｂである場合には、上記要求パケット中のディスティネーションアドレスを「ＩＰｂｌ」から、「ＩＰ２」に書き換えるのである。そして、書き換えた後の要求パケットをＩＥＥＥ８０２シリーズによるネットワーク１０６中に送り出すのである。
【００１６】
このように宛先のアドレスを書き換えることによって、ロードバランサ１０２は要求パケットの振り分けを行っている。
【００１７】
ノードコンピュータ１０４ｂは、要求の処理を終えると、処理結果を結果パケットで送信する。この結果パケット中のＩＰアドレスで表されるソースアドレスは送信者であるロードバランサ１０２ｂのＩＰアドレスである「ＩＰ２」である。また、この結果パケット中のＩＰアドレスで表されるディスティネーションアドレスは要求パケット中に示されたソースアドレスである「ＩＰｃ」、すなわちクライアント１００のＩＰアドレスである。
【００１８】
そして、ロードバランサは、ディスティネーションアドレスが「ＩＰｃ」である結果パケット中のＩＰアドレスで表されるソースアドレスを自己のＩＰアドレスである「ＩＰｂｌ」に書き換えてから、この結果パケットを外部方向にルーティングする。クライアント１０がこの結果パケットを受信し、クライアント１００は所望の結果を受け取ることができる。
【００１９】
ＮＡＴを用いた従来のロードバランサ１０２はこのような動作を実行している。
【００２０】
例えば、下記特許文献１では、負荷分散をアドレス変換で行う技術が開示されており、さらにアドレス変換を用いて多重化を行う技術が開示されている。
【００２１】
また、下記特許文献２では、論理ＩＰアドレスと物理ＩＰアドレスとを変換することによって負荷分散を行う技術が開示されている。また、この特許文献２では、アドレス変換を用いて縮退運転ができる計算機が開示されている。
【００２２】
【特許文献１】
特開２００２−１９９００６号公報
【特許文献２】
特開２０００−３３２７７６号公報
【発明が解決しようとする課題】
しかしながら、このＮＡＴを用いた従来のロードバランサ１０２では、性能が思うように向上しないことが本願発明者らの研究により判明した。その理由は、ロードバランサが扱うセッション数が、ロードバランサ１０２を構成するコンピュータのシステムにより制限を受けるからである。
【００２３】
つまり、ロードバランサ１０２も、ノードコンピュータ１０４ａ〜１０４ｄもまた、コンピュータで実現される場合が多いが、このコンピュータにおける制限を受けるのである。
【００２４】
例えば、ＵＮＩＸ（登録商標）を用いたコンピュータで構成されたロードバランサでは、扱うセッション毎にスレッドを立てるようなソフトウェア構成が採用される場合が多い。しかし、ＵＮＩＸ（登録商標）では、立てられるスレッドは１０２４個程度に制限されていることが多いので、そのロードバランサが扱えるセッション数も１０２４個程度に制限されてしまう場合があった。数多くのクライアントから様々な要求を逐次出されるサーバにおいては、１０２４個のセッション数をすぐ使い切ってしまい、その結果、ロードバランサの性能の向上に限界が生じることも想定される。
【００２５】
なお、セッションとは、一連のサービスの集合体である。例えば、電子商取引では、１個のセッションとは、クライアント１６が要求を出してから、その後、商品カタログの閲覧や、購入の指示等を経て、最終的にログオフするまでの一連の処理（サービス）の集合体をいう。
【００２６】
本発明は、ロードバランサの性能に関する上記課題に鑑みてなされたものであり、その目的は、扱えるセッション数を増やし、ロードバランサの性能を向上させることである。
【００２７】
【課題を解決するための手段】
Ａ．負荷分散装置に関する発明
本発明は、上記課題を解決するために、複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置において、前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手段と、前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信手段と、を含み、前記要求送信手段は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とする負荷分散装置である。
【００２８】
このような構成によって、宛先アドレスのアドレス変換を行うことなく、負荷分散を行うことができる。
【００２９】
また、本発明は、上記負荷分散装置において、前記割り当て手段は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、前記要求送信手段は、前記割り当て手段が割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置である。
【００３０】
このような構成によれば、割り当てされたノードコンピュータをデータリンクアドレスで特定しているので、そのままこのデータリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【００３１】
また、本発明は、上記負荷分散装置において、前記要求送信手段は、前記割り当て手段が割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置である。
【００３２】
このような構成によって、データリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【００３３】
また、本発明は、上記負荷分散装置において、前記割り当て手段が割り当てたノードコンピュータのアドレスは、ＩＰアドレスであることを特徴とする負荷分散装置である。
【００３４】
このような構成によって、ＩＰアドレスからデータリンクアドレスを求め、これを用いて要求をノードコンピュータに送信することができる。
【００３５】
また、本発明は、上記負荷分散装置において、前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手段、を含むことを特徴とする負荷分散装置である。
【００３６】
このような構成によって、負荷分散装置は何らアドレス変換をすることなく、処理結果を外部に提供することができる。
【００３７】
また、本発明は、上記負荷分散装置において、前記内部ネットワークはＩＥＥＥ８０２シリーズで規定されるネットワークであり、前記データリンクアドレスは、ＭＡＣアドレスであることを特徴とする負荷分散装置である。
【００３８】
ＭＡＣアドレスは、いわゆるデータリンク層のアドレスであるデータリンクアドレスの一種に、ＩＥＥＥ８０２シリーズで規定されるネットワークのＭＡＣアドレスが知られている。
【００３９】
また、本発明は、上記負荷分散装置において、前記宛先アドレス及び発信元アドレスはＩＰアドレスであることを特徴とする負荷分散装置である。
【００４０】
このような構成によって、負荷分散装置はＩＰアドレスの変換をすることなく、負荷分散を実行することができる。
【００４１】
Ｂ．負荷分散方法の発明
本発明は、上記課題を解決するために、複数のノードコンピュータと内部ネットワークを介して接続された負荷分散装置上における負荷分散方法であって、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散方法において、前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当てステップと、　前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信ステップと、を含み、前記要求送信ステップにおいては、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求が送信されることを特徴とする負荷分散方法である。
【００４２】
このような構成によって、宛先アドレスのアドレス変換を行うことなく、負荷分散を行うことができる。
【００４３】
また、本発明は、上記負荷分散方法において、前記割り当てステップにおいては、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表され、前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法である。
【００４４】
このような構成によれば、割り当てされたノードコンピュータをデータリンクアドレスで特定しているので、そのままこのデータリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【００４５】
また、本発明は、上記負荷分散方法において、前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法である。
【００４６】
このような構成によって、データリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【００４７】
また、本発明は、上記負荷分散方法において、前記割り当てステップにおいて割り当てられたノードコンピュータのアドレスは、ＩＰアドレスであることを特徴とする負荷分散方法である。
【００４８】
このような構成によって、ＩＰアドレスからデータリンクアドレスを求め、これを用いて要求をノードコンピュータに送信することができる。
【００４９】
また、本発明は、上記負荷分散方法において、前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信ステップ、を含むことを特徴とする負荷分散方法である。
【００５０】
このような構成によって、負荷分散装置は何らアドレス変換をすることなく、処理結果を外部に提供することができる。
【００５１】
また、本発明は、上記負荷分散方法において、前記内部ネットワークはＩＥＥＥ８０２シリーズで規定されるネットワークであり、前記データリンクアドレスは、ＭＡＣアドレスであることを特徴とする負荷分散方法である。
【００５２】
ＭＡＣアドレスは、いわゆるデータリンク層のアドレスであるデータリンクアドレスの一種に、ＩＥＥＥ８０２シリーズによるネットワークのＭＡＣアドレスが知られている。
【００５３】
また、本発明は、上記負荷分散方法において、前記宛先アドレス及び発信元アドレスはＩＰアドレスであることを特徴とする負荷分散方法である。
【００５４】
このような構成によって、負荷分散装置はＩＰアドレスの変換をすることなく、負荷分散を実行することができる。
【００５５】
Ｃ．プログラムの発明
以下の発明は、上記負荷分散装置としてコンピュータを動作させるプログラムに関するものであり、その作用は、基本的に上記負荷分散装置の作用と同様である。
【００５６】
本発明は、上記課題を解決するために、複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置として、コンピュータを動作させるプログラムにおいて、前記コンピュータに、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手順と、前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手順において割り当てたノードコンピュータに対して送信する要求送信手順と、を実行させ、前記要求送信手順は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とするプログラムである。
【００５７】
また、本発明は、上記プログラムにおいて、前記割り当て手順は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、前記要求送信手順は、前記割り当て手順において割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラムである。
【００５８】
また、本発明は、上記プログラムにおいて、前記要求送信手順は、前記割り当て手順において割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラムである。
【００５９】
また、本発明は、上記プログラムにおいて、前記割り当て手順において割り当てたノードコンピュータのアドレスは、ＩＰアドレスであることを特徴とするプログラムである。
【００６０】
また、本発明は、上記プログラムにおいて、前記コンピュータに、前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手順、を実行させることを特徴とするプログラムである。
【００６１】
また、本発明は、上記プログラムにおいて、前記内部ネットワークはＩＥＥＥ８０２シリーズで規定されるネットワークであり、前記データリンクアドレスは、ＭＡＣアドレスであることを特徴とするプログラムである。
【００６２】
また、本発明は、上記プログラムにおいて、前記宛先アドレス及び発信元アドレスはＩＰアドレスであることを特徴とするプログラムである。
【００６３】
【発明の実施の形態】
以下、本発明の好適な実施の形態を図面に基づき説明する。
【００６４】
図１には、本発明の好適な実施の形態のサーバシステム２００の構成を表す説明図が示されている。この図に示すように、クライアント１００はロードバランサ２０２と例えばインターネット１０８を介して接続されており、このロードバランサ２０２に所定の要求を送信する。
【００６５】
このロードバランサ２０２は、請求の範囲の負荷分散装置の一例に相当する。
【００６６】
ロードバランサ２０２は、インターネット１０８とは直接接続されていない内部ネットワーク１０６にも接続されており、この内部ネットワークは、ＩＥＥＥ８０２シリーズによるネットワークで構成されている。ロードバランサ２０２には、この内部ネットワーク１０６を介してノードコンピュータ１０４ａ、１０４ｂ、１０４ｃ、１０４ｄが接続されている。ノードコンピュータ１０４ａには内部ＩＰアドレスとしてＩＰ１が付与されており、ＭＡＣアドレスとしてＭＡＣ１が付されている。
【００６７】
なお、ＭＡＣアドレスは、ＩＥＥＥ８０２シリーズによるネットワーク上でのアドレスであり、いわゆるデータリンク層におけるアドレスの一種である。すなわち、このＭＡＣアドレスは請求の範囲におけるデータリンクアドレスの一例に相当する。
【００６８】
また、ノードコンピュータ１０４ｂには内部ＩＰアドレスとしてＩＰ２が付与されており、ＭＡＣアドレスとしてＭＡＣ２が付されている。また、ノードコンピュータ１０４ｃには内部ＩＰアドレスとしてＩＰ３が付与されており、ＭＡＣアドレスとしてＭＡＣ３が付されている。また、ノードコンピュータ１０４ｄには内部ＩＰアドレスとしてＩＰ４が付与されており、ＭＡＣアドレスとしてＭＡＣ４が付されている。
【００６９】
さらに、ノードコンピュータ１０４ａ、１０４ｂ、１０４ｃ、１０４ｄには、全て「ＩＰｂｌ」という仮想ＩＰアドレスが付与されている。ＩＰアドレスが２個以上付与されていることは、従来から仮想ＩＰアドレス等と呼ばれる技術として知られており、しばしば行われることである。
【００７０】
また、同様に、ロードバランサ２０２には、内部ネットワーク上の内部ＩＰアドレスとしてＩＰ５が付されており、ＭＡＣアドレスとしてＭＡＣ５が付されている。
【００７１】
ロードバランサの構成
図２には、本実施の形態のロードバランサ２０２の構成ブロック図が示されている。この図に示すように、ロードバランサ２０２は、要求送信手段２０４と、割り当て手段２０６と、処理結果送信手段２０８とを含んでいる。
【００７２】
割り当て手段２０６は、クライアント１００が送信してきた要求を所定のノードコンピュータ１０４に割り当てる手段であり、割り当ての原理そのものは従来のものと同様である。要求送信手段２０４は、割り当て手段２０６が要求を割り当てたノードコンピュータ１０４（ａ〜ｄ）に要求を送信する手段である。処理結果送信手段２０８は、ノードコンピュータ１０４（ａ〜ｄ）が要求を処理した結果をクライアント１００に送信する手段である。
【００７３】
なお、本実施の形態に係るノードコンピュータ１０４（ａ〜ｄ）は、基本的には従来のノードコンピュータと同様のものである。
【００７４】
動作
以下、本実施の形態に係るサーバシステム２００の動作をフローチャートに基づき詳細に説明する。図３には、サーバシステム２００の動作を表すフローチャートが示されている。
【００７５】
まず、ステップＳ３−１において、クライアント１００がロードバランサ２０２に対して要求を送信する。この要求は、図１において模式的に示されているように、ＩＰアドレスで表されたソースアドレスが、クライアントのＩＰアドレス「ＩＰｃ」である。また、ＩＰアドレスで表されたディスティネーションアドレスはロードバランサ２０２のインターネット１０８上のＩＰアドレス「ＩＰｂｌ」である。
【００７６】
なお、上記ソースアドレスは、請求の範囲の発信元アドレスの一例に相当する。また、上記ディスティネーションアドレスは、請求の範囲の宛先アドレスの一例に相当する。
【００７７】
次に、ステップＳ３−２においては、ロードバランサ２０２に送信された要求が、割り当て手段２０６における割り当ての対象となる。すなわち、割り当て要求手段は、所定の割り当てアルゴリズムに基づき、その要求を割り当てるノードコンピュータ１０４を特定する。例えば、この割り当てがノードコンピュータ１０４ｂになされたとして以下説明を続ける。なお、割り当てアルゴリズム自体は従来の種々のアルゴリズムが適用可能である。そして、割り当て手段２０６は、割り当ての結果であるノードコンピュータ１０４ｂのＩＰアドレス「ＩＰ２」を要求送信手段２０４に送る。
【００７８】
なお、このステップＳ３−２は、請求の範囲の割り当てステップの一例に相当する。
【００７９】
ステップＳ３−３においては、要求送信手段２０４は、この送られてきたＩＰアドレス「ＩＰ２」をそれに対応するＭＡＣアドレス、すなわち「ＭＡＣ２」に変換し、このＭＡＣ２宛に上記要求を内部ネットワーク１０８上で送信するのである。例えば、この変換のために、要求送信手段２０４は、その内部に変換テーブルを有することが好ましい。このテーブルには、　ＩＰ１−ＭＡＣ１、ＩＰ２−ＭＡＣ２、ＩＰ３−ＭＡＣ３、ＩＰ４−ＭＡＣ４、と言う内容が記述されていることが好ましい。
【００８０】
本実施の形態において特徴的なことは、要求をノードコンピュータ１０４に送信するに当たって、ＩＰアドレスではなく、ＭＡＣアドレスそのものを用いていることと、要求中のＩＰアドレスを何ら変換していないことである。すなわち、ロードバランサ２０２からノードコンピュータ１０４ｂに送信される要求中のＩＰアドレスは、クライアント１００から送信されてきたときと同様である。具体的に言えば、図１中で模式的に表しているように、ＩＰアドレスで表したソースアドレスは「ＩＰｃ」であり、ＩＰアドレスで表したディスティネーションアドレスは、「ＩＰｂｌ」である。既に述べたように、ノードコンピュータ１０４ａ〜１０４ｄには全て「ＩＰｂｌ」というＩＰアドレスも付与されているので、ＩＰアドレスの点からも不整合は何ら生じていない。
【００８１】
本実施の形態においては、このように要求の中のＩＰアドレスを何ら変換していないので、ロードバランサ２０２の負担は従来の装置に比べて大幅に減少している。
【００８２】
なお、このステップＳ３−３は、請求の範囲の要求送信ステップの一例に相当する。
【００８３】
次に、ステップＳ３−４においては、送られてきた要求に対してノードコンピュータ１０４ｂが所定の処理を実行する。この処理自体は従来の技術と同様である。ノードコンピュータ１０４ｂは処理が終了するとその結果を送信先に返信する。この動作も従来と基本的には同様のものである。具体的に言えば、ノードコンピュータ１０４ｂに送信されてきた要求の発信元へ、処理の結果を返信するのであるから、処理結果の宛先、つまりディスティネーションアドレスはＩＰアドレスで表せば「ＩＰｃ」である。
【００８４】
そしてノードコンピュータ１０４ｂに送信されてきた要求の宛先（ＩＰアドレス「ＩＰｂｌ」）が、処理結果の発信元になるべきである。すなわち、処理結果の発信元（ソースアドレス）はＩＰアドレスで表せば「ＩＰｂｌ」となる。ノードコンピュータ１０４ｂには既に説明したようにＩＰアドレス「ＩＰｂｌ」も付されているので、処理結果の発信元（ソースアドレス）が「ＩＰｂｌ」であることに何ら不整合ではない。なお、この様子が図１上で模式的に表されている。
【００８５】
次に、ステップＳ３−５においては、ノードコンピュータ１０４ｂが送信した処理結果をロードバランサ２０２が受信する。受信した処理結果は、処理結果送信手段２０８が、そのままクライアントに送信する。この際、ＩＰアドレスの変換等は一切しない。図１に示すように、ＩＰアドレスで表したソースアドレスは「ＩＰｂｌ」のままであり、ＩＰアドレスで表したディスティネーションアドレスも「ＩＰｃ」のままである。すなわち、処理結果送信手段２０８は従来の通常のルーティングを行っているだけである。
【００８６】
なお、このステップＳ３−５は、請求の範囲の処理結果送信ステップの一例に相当する。
【００８７】
以上のような処理の結果、クライアント１００は、要求を、ＩＰアドレス「ＩＰｂｌ」宛に送信し、同じくＩＰアドレス「ＩＰｂｌ」からその処理結果を受信している。すなわち、クライアント１００から見ると、従来のロードバランサと同様に、あたかも１台のサーバによって処理が行われているかのように見えるのである。
【００８８】
以上述べたように、本実施の形態によれば、以下の効果が得られる。
【００８９】
（１）ロードバランサ２０２は、ＩＰアドレスの変換を一切行っていないので、その負担を減らすことができる。その結果、同じコンピュータを使用しながら、実質的にはロードバランサ２０２の処理能力増大させることが可能となる。
【００９０】
（２）従来の技術では、アドレス変換によって要求を割り当てているので、その後その割り当てを覚えておく必要があるが、本実施の形態ではＩＰアドレスの変換を何ら行っていないので、そのような処理が必要なく、ロードバランサ２０２の負荷が減り、その結果、実質的にロードバランサ２０２の処理能力を増大させることができる。
【００９１】
なお、これまで述べたように、ロードバランサ２０２は、コンピュータにより実現されている。すなわち、要求送信手段２０４は、コンピュータを要求送信手段として動作させるプログラム及び関連するハードウェアから構成される。ハードウェアとしては、プログラムを実行するプロセッサや、インターネット１０８との通信インターフェース、内部ネットワーク１０６との通信インターフェース等が挙げられる。
【００９２】
また、同様に、割り当て手段２０６も、プログラムとそれを実行するプロセッサ等から構成される。同様に、処理結果送信手段も、プログラムとそれを実行するプロセッサ等から構成される。
【００９３】
本実施の形態ではハードディスクを用いたが、ＣＤＲＯＭやＭＯ等、プログラムを格納可能な記憶手段であればどのようなものでもかまわない。
【００９４】
変形例
上の例では、ステップＳ３−２において、割り当て手段２０６が、要求を割り当てたノードコンピュータ１０４を特定するのにＩＰアドレスを用いたが、直接ＭＡＣアドレスを用いて特定することも好ましい。このようにＭＡＣアドレスを用いて特定することにより、割り当ての動作をＩＰアドレスのレベルより下位のレベル、すなわちＩＥＥＥ８０２シリーズによるネットワーク上におけるルーティング動作とすることができるので、ロードバランサ２０２の負荷をより一層低減させることができる。
【００９５】
この場合は、ステップＳ３−３においては、割り当て手段２０６が特定したＭＡＣアドレスをそのまま用いて要求送信手段２０４が要求をノードコンピュータ１０４に送信できるので、送信先を容易に特定することができ、さらにノードコンピュータの性能を向上させることができる。
【００９６】
【発明の効果】
以上述べたように、本発明によれば、データリンクアドレスを用いて要求をノードコンピュータに送信したので、要求中に含まれる宛先のアドレス等を変換する必要がなく、負荷分散装置の負荷を軽減することができる。その結果、実質的には負荷分散装置の性能を向上させることが可能となる。
【図面の簡単な説明】
【図１】本実施の形態のロードバランサやノードコンピュータが利用されている様子を表す説明図である。
【図２】本実施の形態のロードバランサの機能構成ブロック図である。
【図３】本実施の形態の動作を表すフローチャートである。
【図４】従来のロードバランサやノードコンピュータが利用されいる様子を表す説明図である。
【図５】従来のロードバランサやノードコンピュータが利用されいる様子を表す説明図である。
【符号の説明】
１０　ロードバランサ
１２ａ、１２ｂ、１２ｃ、１２ｄ　ノードコンピュータ
１４　インターネット
１６ａ、１６ｂ、１６ｃ　クライアント
１００　クライアント
１０２　ロードバランサ
１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ　ノードコンピュータ
１０６　内部ネットワーク
１０８　インターネット
２０２　ロードバランサ
２０４　要求送信手段
２０６　割り当て手段
２０８　処理結果送信手段
【図１】
2004118622.tif 000003
【図２】
2004118622.tif 000004
【図３】
2004118622.tif 000005
【図４】
2004118622.tif 000006
【図５】
2004118622.tif 000007