JP2004118622A - Load distributor, and method and program for the same - Google Patents

Load distributor, and method and program for the same Download PDF

Info

Publication number
JP2004118622A
JP2004118622A JP2002282394A JP2002282394A JP2004118622A JP 2004118622 A JP2004118622 A JP 2004118622A JP 2002282394 A JP2002282394 A JP 2002282394A JP 2002282394 A JP2002282394 A JP 2002282394A JP 2004118622 A JP2004118622 A JP 2004118622A
Authority
JP
Japan
Prior art keywords
request
address
node computer
data link
assigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002282394A
Other languages
Japanese (ja)
Inventor
Hideto Nakayama
中山 秀人
Akihiro Nomura
野村 明広
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JMNET Inc
Original Assignee
JMNET Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JMNET Inc filed Critical JMNET Inc
Priority to JP2002282394A priority Critical patent/JP2004118622A/en
Publication of JP2004118622A publication Critical patent/JP2004118622A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a load to be applied to a load distributor to practically improve efficiency of the load distributor by transmitting a request to a node computer by using a data link address without a necessity of changing address of a destination contained in the request. <P>SOLUTION: A client 100 transmits a request to a load balancer 202 (S3-1). An assignment request means 1 specifies a node computer 104, to which the request is assigned, on the basis of the predetermined algorithm (S3-2). A request transmitting means 204 converts the transmitted IP address IP2 into a corresponding MAC address, namely MAC2, and transmits it to the MAC2 on the internal network 108 (S3-3). The node computer 104b carries out the predetermined processing in relation to the transmitted request (S3-4). A result of processing transmitting means 208 transmits a result of the described processing to the client. When transmitting, it is unnecessary to convert the IP address. Since conversion of the IP address in the request is unnecessary, a burden of the load balancer 202 is reduced. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、負荷分散装置及び方法に関する。特に、性能の向上した負荷分散装置及び方法に関する。
【0002】
【従来の技術】
外部からの要求(リクエスト)に対してサービスを提供するサーバコンピュータ(以下、単にサーバという)が広く利用されている。要求はリクエストと呼ばれることも多い。本特許では、「要求」の言葉を用いる。このサーバの能力を高めるために、複数のコンピュータを組み合わせて、処理能力の大きな1台のサーバを構成するシステムが種々知られている。このようなシステムの典型的な例として、数多くの要求を処理する必要があるインターネット上のWEBサーバが挙げられよう。特に、インターネット上で商取引を行う電子商取引のサービスを提供するWEBサーバは、多くの購買注文を処理しなければならないので、実際には複数のサーバで構成されることが多い。また、複数のサーバで構成することによって、対障害性を向上させることができると考えられている。すなわち、複数台のサーバの中の1台が故障しても、残りのサーバで電子商取引のサービスを続行することができるのである。
【0003】
このように複数のサーバを利用する簡易な仕組みの一つとして、インターネット上におけるDNSラウンドロビンと呼ばれる仕組みが従来から広く知られている。このDNSラウンドロビンは、1のホスト名に複数のIPアドレスを割り当てていく手法で、外部からの要求がある度に、IPアドレスを順番に割り当てていくことで、1台のコンピュータにアクセス(要求)が集中することを防ぐ仕組みである。この仕組みは複数のIPアドレスを用いてしまう。
【0004】
これに対して、1個のIPアドレスに対する要求を、複数のコンピュータに分散させる装置も従来から知られており、しばしばロードバランサ(Load Balancer)と呼ばれている。このロードバランサ10を用いたWEBサーバの構成概念図が図4に示されている。
【0005】
ロードバランサ10は、複数のノードコンピュータ12a〜12dとネットワークで接続されており、互いに通信を行えるように構成されている。ロードバランサ10は、インターネット14を介してクライアント16a〜16cから送られてきた要求を各ノードコンピュータ12a〜12dに割り振る動作を実行している。本特許では、ロードバランサ10によって管理される複数のコンピュータをノードコンピュータ12と呼ぶ。
【0006】
ロードバランサ10がこのような動作を行うことによって、各クライアント16a〜16cからは、あたかも1台のWEBサーバがサービスを提供しているかのように見えるのである。提供されるサービスは、例えばWEBの閲覧サービスや、電子商取引のサービスや、翻訳のサービス、データベースのサービス、その他種々のサービスである。
【0007】
例えば、クライアント16aが出した電子商取引のサービス要求は、ノードコンピュータ12aに割り当てられる。ノードコンピュータ12aはクライアント16aに対する電子商取引サービスを実行し、その結果をロードバランサ10に返す。ロードバランサ10は、返ってきたサービス結果をクライアント16aに送信する。このような動作をするために、ロードバランサ10内には、どの要求をどのノードコンピュータ12に割り当てたかを記憶する機能が備えられている。
【0008】
一方、クライアント16bが出した要求は、ロードバランサ10が受信し、ノードコンピュータ12bに割り当てられる。ノードコンピュータ12bはクライアント16bに対する電子商取引サービスを実行し、その結果をロードバランサ10に返す。ロードバランサ10は、返ってきたサービス結果をクライアント16bに送信する。
【0009】
このような動作の結果、外部のインターネット14側からは、あたかも1台のサーバがサービスを提供しているかのように見えるのである。また、ロードバランサ10と複数のノードコンピュータ12a〜12dからなるシステムを本特許ではサーバシステム20と呼ぶ。
【0010】
従来のロードバランサが採用する負荷分散の原理の一つにNAT(Network Address Translation)と呼ばれる原理がある。
【0011】
このNATの簡単な説明図が図5に示されている。この図に示すように、クライアント100は、従来のロードバランサ102に要求パケットを送信する。そして、ロードバランサ102がこの要求パケットを所定の割り当てアルゴリズムに基づき、ノードコンピュータ104a、104b、104c、104dのいずれかに送信する。ロードバランサ102と、ノードコンピュータ104a〜104dは、IEEE802シリーズによるネットワーク106によって接続され、ネットワークを構成している。クライアント100とロードバランサ102との通信媒体もIEEE802シリーズによるネットワーク等で結ばれている。
【0012】
このような構成において、クライアントには、いわゆるIPアドレスIPcが付されており、ロードバランサ102には、IPアドレスIPblが付されている。また、ノードコンピュータ104a〜104dにも、それぞれIPアドレスIP1、IP2、IP3、IP4が付されている。
【0013】
まず、クライアント100は、ロードバランサ102に対して要求パケットを送信する。このパケット中のIPアドレスで表されるソースアドレスは、送信者であるクライアント100に付されているIPcである。また、このパケット中のIPアドレスで表されるディスティネーションアドレス(宛先のアドレス)は、宛先であるロードバランサ102に付されているIPblである。
【0014】
パケットのアドレスの内容が模式的に図5中に示されている。この図5において、模式的に表されたパケット中の「S」はソースアドレスを表し、「D」はディスティネーションアドレスをそれぞれ表す。
【0015】
ロードバランサ102は、この要求パケットを割り当てるノードコンピュータを決定した後、この要求パケットの異派dれすで表されるディスティネーションアドレスをその割当先のノードコンピュータ(104a〜104d)のIPアドレスに書き換える。例えば、割当先がノードコンピュータ104bである場合には、上記要求パケット中のディスティネーションアドレスを「IPbl」から、「IP2」に書き換えるのである。そして、書き換えた後の要求パケットをIEEE802シリーズによるネットワーク106中に送り出すのである。
【0016】
このように宛先のアドレスを書き換えることによって、ロードバランサ102は要求パケットの振り分けを行っている。
【0017】
ノードコンピュータ104bは、要求の処理を終えると、処理結果を結果パケットで送信する。この結果パケット中のIPアドレスで表されるソースアドレスは送信者であるロードバランサ102bのIPアドレスである「IP2」である。また、この結果パケット中のIPアドレスで表されるディスティネーションアドレスは要求パケット中に示されたソースアドレスである「IPc」、すなわちクライアント100のIPアドレスである。
【0018】
そして、ロードバランサは、ディスティネーションアドレスが「IPc」である結果パケット中のIPアドレスで表されるソースアドレスを自己のIPアドレスである「IPbl」に書き換えてから、この結果パケットを外部方向にルーティングする。クライアント10がこの結果パケットを受信し、クライアント100は所望の結果を受け取ることができる。
【0019】
NATを用いた従来のロードバランサ102はこのような動作を実行している。
【0020】
例えば、下記特許文献1では、負荷分散をアドレス変換で行う技術が開示されており、さらにアドレス変換を用いて多重化を行う技術が開示されている。
【0021】
また、下記特許文献2では、論理IPアドレスと物理IPアドレスとを変換することによって負荷分散を行う技術が開示されている。また、この特許文献2では、アドレス変換を用いて縮退運転ができる計算機が開示されている。
【0022】
【特許文献1】
特開2002−199006号公報
【特許文献2】
特開2000−332776号公報
【発明が解決しようとする課題】
しかしながら、このNATを用いた従来のロードバランサ102では、性能が思うように向上しないことが本願発明者らの研究により判明した。その理由は、ロードバランサが扱うセッション数が、ロードバランサ102を構成するコンピュータのシステムにより制限を受けるからである。
【0023】
つまり、ロードバランサ102も、ノードコンピュータ104a〜104dもまた、コンピュータで実現される場合が多いが、このコンピュータにおける制限を受けるのである。
【0024】
例えば、UNIX(登録商標)を用いたコンピュータで構成されたロードバランサでは、扱うセッション毎にスレッドを立てるようなソフトウェア構成が採用される場合が多い。しかし、UNIX(登録商標)では、立てられるスレッドは1024個程度に制限されていることが多いので、そのロードバランサが扱えるセッション数も1024個程度に制限されてしまう場合があった。数多くのクライアントから様々な要求を逐次出されるサーバにおいては、1024個のセッション数をすぐ使い切ってしまい、その結果、ロードバランサの性能の向上に限界が生じることも想定される。
【0025】
なお、セッションとは、一連のサービスの集合体である。例えば、電子商取引では、1個のセッションとは、クライアント16が要求を出してから、その後、商品カタログの閲覧や、購入の指示等を経て、最終的にログオフするまでの一連の処理(サービス)の集合体をいう。
【0026】
本発明は、ロードバランサの性能に関する上記課題に鑑みてなされたものであり、その目的は、扱えるセッション数を増やし、ロードバランサの性能を向上させることである。
【0027】
【課題を解決するための手段】
A.負荷分散装置に関する発明
本発明は、上記課題を解決するために、複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置において、前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手段と、前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信手段と、を含み、前記要求送信手段は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とする負荷分散装置である。
【0028】
このような構成によって、宛先アドレスのアドレス変換を行うことなく、負荷分散を行うことができる。
【0029】
また、本発明は、上記負荷分散装置において、前記割り当て手段は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、前記要求送信手段は、前記割り当て手段が割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置である。
【0030】
このような構成によれば、割り当てされたノードコンピュータをデータリンクアドレスで特定しているので、そのままこのデータリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【0031】
また、本発明は、上記負荷分散装置において、前記要求送信手段は、前記割り当て手段が割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置である。
【0032】
このような構成によって、データリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【0033】
また、本発明は、上記負荷分散装置において、前記割り当て手段が割り当てたノードコンピュータのアドレスは、IPアドレスであることを特徴とする負荷分散装置である。
【0034】
このような構成によって、IPアドレスからデータリンクアドレスを求め、これを用いて要求をノードコンピュータに送信することができる。
【0035】
また、本発明は、上記負荷分散装置において、前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手段、を含むことを特徴とする負荷分散装置である。
【0036】
このような構成によって、負荷分散装置は何らアドレス変換をすることなく、処理結果を外部に提供することができる。
【0037】
また、本発明は、上記負荷分散装置において、前記内部ネットワークはIEEE802シリーズで規定されるネットワークであり、前記データリンクアドレスは、MACアドレスであることを特徴とする負荷分散装置である。
【0038】
MACアドレスは、いわゆるデータリンク層のアドレスであるデータリンクアドレスの一種に、IEEE802シリーズで規定されるネットワークのMACアドレスが知られている。
【0039】
また、本発明は、上記負荷分散装置において、前記宛先アドレス及び発信元アドレスはIPアドレスであることを特徴とする負荷分散装置である。
【0040】
このような構成によって、負荷分散装置はIPアドレスの変換をすることなく、負荷分散を実行することができる。
【0041】
B.負荷分散方法の発明
本発明は、上記課題を解決するために、複数のノードコンピュータと内部ネットワークを介して接続された負荷分散装置上における負荷分散方法であって、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散方法において、前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当てステップと、 前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信ステップと、を含み、前記要求送信ステップにおいては、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求が送信されることを特徴とする負荷分散方法である。
【0042】
このような構成によって、宛先アドレスのアドレス変換を行うことなく、負荷分散を行うことができる。
【0043】
また、本発明は、上記負荷分散方法において、前記割り当てステップにおいては、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表され、前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法である。
【0044】
このような構成によれば、割り当てされたノードコンピュータをデータリンクアドレスで特定しているので、そのままこのデータリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【0045】
また、本発明は、上記負荷分散方法において、前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法である。
【0046】
このような構成によって、データリンクアドレスを用いてノードコンピュータに要求を送信することができる。
【0047】
また、本発明は、上記負荷分散方法において、前記割り当てステップにおいて割り当てられたノードコンピュータのアドレスは、IPアドレスであることを特徴とする負荷分散方法である。
【0048】
このような構成によって、IPアドレスからデータリンクアドレスを求め、これを用いて要求をノードコンピュータに送信することができる。
【0049】
また、本発明は、上記負荷分散方法において、前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信ステップ、を含むことを特徴とする負荷分散方法である。
【0050】
このような構成によって、負荷分散装置は何らアドレス変換をすることなく、処理結果を外部に提供することができる。
【0051】
また、本発明は、上記負荷分散方法において、前記内部ネットワークはIEEE802シリーズで規定されるネットワークであり、前記データリンクアドレスは、MACアドレスであることを特徴とする負荷分散方法である。
【0052】
MACアドレスは、いわゆるデータリンク層のアドレスであるデータリンクアドレスの一種に、IEEE802シリーズによるネットワークのMACアドレスが知られている。
【0053】
また、本発明は、上記負荷分散方法において、前記宛先アドレス及び発信元アドレスはIPアドレスであることを特徴とする負荷分散方法である。
【0054】
このような構成によって、負荷分散装置はIPアドレスの変換をすることなく、負荷分散を実行することができる。
【0055】
C.プログラムの発明
以下の発明は、上記負荷分散装置としてコンピュータを動作させるプログラムに関するものであり、その作用は、基本的に上記負荷分散装置の作用と同様である。
【0056】
本発明は、上記課題を解決するために、複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置として、コンピュータを動作させるプログラムにおいて、前記コンピュータに、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手順と、前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手順において割り当てたノードコンピュータに対して送信する要求送信手順と、を実行させ、前記要求送信手順は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とするプログラムである。
【0057】
また、本発明は、上記プログラムにおいて、前記割り当て手順は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、前記要求送信手順は、前記割り当て手順において割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラムである。
【0058】
また、本発明は、上記プログラムにおいて、前記要求送信手順は、前記割り当て手順において割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラムである。
【0059】
また、本発明は、上記プログラムにおいて、前記割り当て手順において割り当てたノードコンピュータのアドレスは、IPアドレスであることを特徴とするプログラムである。
【0060】
また、本発明は、上記プログラムにおいて、前記コンピュータに、前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手順、を実行させることを特徴とするプログラムである。
【0061】
また、本発明は、上記プログラムにおいて、前記内部ネットワークはIEEE802シリーズで規定されるネットワークであり、前記データリンクアドレスは、MACアドレスであることを特徴とするプログラムである。
【0062】
また、本発明は、上記プログラムにおいて、前記宛先アドレス及び発信元アドレスはIPアドレスであることを特徴とするプログラムである。
【0063】
【発明の実施の形態】
以下、本発明の好適な実施の形態を図面に基づき説明する。
【0064】
図1には、本発明の好適な実施の形態のサーバシステム200の構成を表す説明図が示されている。この図に示すように、クライアント100はロードバランサ202と例えばインターネット108を介して接続されており、このロードバランサ202に所定の要求を送信する。
【0065】
このロードバランサ202は、請求の範囲の負荷分散装置の一例に相当する。
【0066】
ロードバランサ202は、インターネット108とは直接接続されていない内部ネットワーク106にも接続されており、この内部ネットワークは、IEEE802シリーズによるネットワークで構成されている。ロードバランサ202には、この内部ネットワーク106を介してノードコンピュータ104a、104b、104c、104dが接続されている。ノードコンピュータ104aには内部IPアドレスとしてIP1が付与されており、MACアドレスとしてMAC1が付されている。
【0067】
なお、MACアドレスは、IEEE802シリーズによるネットワーク上でのアドレスであり、いわゆるデータリンク層におけるアドレスの一種である。すなわち、このMACアドレスは請求の範囲におけるデータリンクアドレスの一例に相当する。
【0068】
また、ノードコンピュータ104bには内部IPアドレスとしてIP2が付与されており、MACアドレスとしてMAC2が付されている。また、ノードコンピュータ104cには内部IPアドレスとしてIP3が付与されており、MACアドレスとしてMAC3が付されている。また、ノードコンピュータ104dには内部IPアドレスとしてIP4が付与されており、MACアドレスとしてMAC4が付されている。
【0069】
さらに、ノードコンピュータ104a、104b、104c、104dには、全て「IPbl」という仮想IPアドレスが付与されている。IPアドレスが2個以上付与されていることは、従来から仮想IPアドレス等と呼ばれる技術として知られており、しばしば行われることである。
【0070】
また、同様に、ロードバランサ202には、内部ネットワーク上の内部IPアドレスとしてIP5が付されており、MACアドレスとしてMAC5が付されている。
【0071】
ロードバランサの構成
図2には、本実施の形態のロードバランサ202の構成ブロック図が示されている。この図に示すように、ロードバランサ202は、要求送信手段204と、割り当て手段206と、処理結果送信手段208とを含んでいる。
【0072】
割り当て手段206は、クライアント100が送信してきた要求を所定のノードコンピュータ104に割り当てる手段であり、割り当ての原理そのものは従来のものと同様である。要求送信手段204は、割り当て手段206が要求を割り当てたノードコンピュータ104(a〜d)に要求を送信する手段である。処理結果送信手段208は、ノードコンピュータ104(a〜d)が要求を処理した結果をクライアント100に送信する手段である。
【0073】
なお、本実施の形態に係るノードコンピュータ104(a〜d)は、基本的には従来のノードコンピュータと同様のものである。
【0074】
動作
以下、本実施の形態に係るサーバシステム200の動作をフローチャートに基づき詳細に説明する。図3には、サーバシステム200の動作を表すフローチャートが示されている。
【0075】
まず、ステップS3−1において、クライアント100がロードバランサ202に対して要求を送信する。この要求は、図1において模式的に示されているように、IPアドレスで表されたソースアドレスが、クライアントのIPアドレス「IPc」である。また、IPアドレスで表されたディスティネーションアドレスはロードバランサ202のインターネット108上のIPアドレス「IPbl」である。
【0076】
なお、上記ソースアドレスは、請求の範囲の発信元アドレスの一例に相当する。また、上記ディスティネーションアドレスは、請求の範囲の宛先アドレスの一例に相当する。
【0077】
次に、ステップS3−2においては、ロードバランサ202に送信された要求が、割り当て手段206における割り当ての対象となる。すなわち、割り当て要求手段は、所定の割り当てアルゴリズムに基づき、その要求を割り当てるノードコンピュータ104を特定する。例えば、この割り当てがノードコンピュータ104bになされたとして以下説明を続ける。なお、割り当てアルゴリズム自体は従来の種々のアルゴリズムが適用可能である。そして、割り当て手段206は、割り当ての結果であるノードコンピュータ104bのIPアドレス「IP2」を要求送信手段204に送る。
【0078】
なお、このステップS3−2は、請求の範囲の割り当てステップの一例に相当する。
【0079】
ステップS3−3においては、要求送信手段204は、この送られてきたIPアドレス「IP2」をそれに対応するMACアドレス、すなわち「MAC2」に変換し、このMAC2宛に上記要求を内部ネットワーク108上で送信するのである。例えば、この変換のために、要求送信手段204は、その内部に変換テーブルを有することが好ましい。このテーブルには、 IP1−MAC1、IP2−MAC2、IP3−MAC3、IP4−MAC4、と言う内容が記述されていることが好ましい。
【0080】
本実施の形態において特徴的なことは、要求をノードコンピュータ104に送信するに当たって、IPアドレスではなく、MACアドレスそのものを用いていることと、要求中のIPアドレスを何ら変換していないことである。すなわち、ロードバランサ202からノードコンピュータ104bに送信される要求中のIPアドレスは、クライアント100から送信されてきたときと同様である。具体的に言えば、図1中で模式的に表しているように、IPアドレスで表したソースアドレスは「IPc」であり、IPアドレスで表したディスティネーションアドレスは、「IPbl」である。既に述べたように、ノードコンピュータ104a〜104dには全て「IPbl」というIPアドレスも付与されているので、IPアドレスの点からも不整合は何ら生じていない。
【0081】
本実施の形態においては、このように要求の中のIPアドレスを何ら変換していないので、ロードバランサ202の負担は従来の装置に比べて大幅に減少している。
【0082】
なお、このステップS3−3は、請求の範囲の要求送信ステップの一例に相当する。
【0083】
次に、ステップS3−4においては、送られてきた要求に対してノードコンピュータ104bが所定の処理を実行する。この処理自体は従来の技術と同様である。ノードコンピュータ104bは処理が終了するとその結果を送信先に返信する。この動作も従来と基本的には同様のものである。具体的に言えば、ノードコンピュータ104bに送信されてきた要求の発信元へ、処理の結果を返信するのであるから、処理結果の宛先、つまりディスティネーションアドレスはIPアドレスで表せば「IPc」である。
【0084】
そしてノードコンピュータ104bに送信されてきた要求の宛先(IPアドレス「IPbl」)が、処理結果の発信元になるべきである。すなわち、処理結果の発信元(ソースアドレス)はIPアドレスで表せば「IPbl」となる。ノードコンピュータ104bには既に説明したようにIPアドレス「IPbl」も付されているので、処理結果の発信元(ソースアドレス)が「IPbl」であることに何ら不整合ではない。なお、この様子が図1上で模式的に表されている。
【0085】
次に、ステップS3−5においては、ノードコンピュータ104bが送信した処理結果をロードバランサ202が受信する。受信した処理結果は、処理結果送信手段208が、そのままクライアントに送信する。この際、IPアドレスの変換等は一切しない。図1に示すように、IPアドレスで表したソースアドレスは「IPbl」のままであり、IPアドレスで表したディスティネーションアドレスも「IPc」のままである。すなわち、処理結果送信手段208は従来の通常のルーティングを行っているだけである。
【0086】
なお、このステップS3−5は、請求の範囲の処理結果送信ステップの一例に相当する。
【0087】
以上のような処理の結果、クライアント100は、要求を、IPアドレス「IPbl」宛に送信し、同じくIPアドレス「IPbl」からその処理結果を受信している。すなわち、クライアント100から見ると、従来のロードバランサと同様に、あたかも1台のサーバによって処理が行われているかのように見えるのである。
【0088】
以上述べたように、本実施の形態によれば、以下の効果が得られる。
【0089】
(1)ロードバランサ202は、IPアドレスの変換を一切行っていないので、その負担を減らすことができる。その結果、同じコンピュータを使用しながら、実質的にはロードバランサ202の処理能力増大させることが可能となる。
【0090】
(2)従来の技術では、アドレス変換によって要求を割り当てているので、その後その割り当てを覚えておく必要があるが、本実施の形態ではIPアドレスの変換を何ら行っていないので、そのような処理が必要なく、ロードバランサ202の負荷が減り、その結果、実質的にロードバランサ202の処理能力を増大させることができる。
【0091】
なお、これまで述べたように、ロードバランサ202は、コンピュータにより実現されている。すなわち、要求送信手段204は、コンピュータを要求送信手段として動作させるプログラム及び関連するハードウェアから構成される。ハードウェアとしては、プログラムを実行するプロセッサや、インターネット108との通信インターフェース、内部ネットワーク106との通信インターフェース等が挙げられる。
【0092】
また、同様に、割り当て手段206も、プログラムとそれを実行するプロセッサ等から構成される。同様に、処理結果送信手段も、プログラムとそれを実行するプロセッサ等から構成される。
【0093】
本実施の形態ではハードディスクを用いたが、CDROMやMO等、プログラムを格納可能な記憶手段であればどのようなものでもかまわない。
【0094】
変形例
上の例では、ステップS3−2において、割り当て手段206が、要求を割り当てたノードコンピュータ104を特定するのにIPアドレスを用いたが、直接MACアドレスを用いて特定することも好ましい。このようにMACアドレスを用いて特定することにより、割り当ての動作をIPアドレスのレベルより下位のレベル、すなわちIEEE802シリーズによるネットワーク上におけるルーティング動作とすることができるので、ロードバランサ202の負荷をより一層低減させることができる。
【0095】
この場合は、ステップS3−3においては、割り当て手段206が特定したMACアドレスをそのまま用いて要求送信手段204が要求をノードコンピュータ104に送信できるので、送信先を容易に特定することができ、さらにノードコンピュータの性能を向上させることができる。
【0096】
【発明の効果】
以上述べたように、本発明によれば、データリンクアドレスを用いて要求をノードコンピュータに送信したので、要求中に含まれる宛先のアドレス等を変換する必要がなく、負荷分散装置の負荷を軽減することができる。その結果、実質的には負荷分散装置の性能を向上させることが可能となる。
【図面の簡単な説明】
【図1】本実施の形態のロードバランサやノードコンピュータが利用されている様子を表す説明図である。
【図2】本実施の形態のロードバランサの機能構成ブロック図である。
【図3】本実施の形態の動作を表すフローチャートである。
【図4】従来のロードバランサやノードコンピュータが利用されいる様子を表す説明図である。
【図5】従来のロードバランサやノードコンピュータが利用されいる様子を表す説明図である。
【符号の説明】
10 ロードバランサ
12a、12b、12c、12d ノードコンピュータ
14 インターネット
16a、16b、16c クライアント
100 クライアント
102 ロードバランサ
104a、104b、104c、104d ノードコンピュータ
106 内部ネットワーク
108 インターネット
202 ロードバランサ
204 要求送信手段
206 割り当て手段
208 処理結果送信手段
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a load distribution device and method. In particular, the present invention relates to a load distribution apparatus and method with improved performance.
[0002]
[Prior art]
2. Description of the Related Art A server computer (hereinafter, simply referred to as a server) that provides a service to a request from the outside (request) is widely used. Requests are often called requests. In this patent, the word "request" is used. In order to increase the capacity of the server, various systems are known in which a plurality of computers are combined to constitute one server having a large processing capacity. A typical example of such a system would be a web server on the Internet that needs to handle a large number of requests. In particular, a WEB server that provides an e-commerce service for conducting business transactions on the Internet must process a large number of purchase orders, and thus is often actually configured with a plurality of servers. It is also considered that fault tolerance can be improved by using a plurality of servers. That is, even if one of the plurality of servers fails, the e-commerce service can be continued on the remaining servers.
[0003]
As one of the simple mechanisms for using a plurality of servers as described above, a mechanism called DNS round robin on the Internet has been widely known. The DNS round robin is a method in which a plurality of IP addresses are assigned to one host name. Each time an external request is made, an IP address is sequentially assigned to access (request) one computer. ) Is a mechanism to prevent concentration. This mechanism uses a plurality of IP addresses.
[0004]
On the other hand, a device for distributing a request for one IP address to a plurality of computers has been conventionally known, and is often called a load balancer (Load @ Balancer). FIG. 4 shows a conceptual diagram of the configuration of a WEB server using the load balancer 10.
[0005]
The load balancer 10 is connected to a plurality of node computers 12a to 12d via a network, and is configured to communicate with each other. The load balancer 10 performs an operation of allocating requests transmitted from the clients 16a to 16c via the Internet 14 to the node computers 12a to 12d. In this patent, a plurality of computers managed by the load balancer 10 are referred to as node computers 12.
[0006]
By performing such an operation by the load balancer 10, the clients 16a to 16c look as if one WEB server is providing a service. The services provided are, for example, web browsing services, electronic commerce services, translation services, database services, and various other services.
[0007]
For example, an e-commerce service request issued by the client 16a is assigned to the node computer 12a. The node computer 12a executes an e-commerce service for the client 16a and returns the result to the load balancer 10. The load balancer 10 transmits the returned service result to the client 16a. In order to perform such an operation, the load balancer 10 has a function of storing which request is assigned to which node computer 12.
[0008]
On the other hand, the request issued by the client 16b is received by the load balancer 10, and is assigned to the node computer 12b. The node computer 12b executes an e-commerce service for the client 16b and returns the result to the load balancer 10. The load balancer 10 transmits the returned service result to the client 16b.
[0009]
As a result of such an operation, the external Internet 14 looks as if one server is providing the service. Further, a system including the load balancer 10 and the plurality of node computers 12a to 12d is referred to as a server system 20 in this patent.
[0010]
One of the principles of load distribution employed by a conventional load balancer is a principle called NAT (Network Address Translation).
[0011]
A simple illustration of this NAT is shown in FIG. As shown in the figure, the client 100 transmits a request packet to the conventional load balancer 102. Then, the load balancer 102 transmits the request packet to any of the node computers 104a, 104b, 104c, and 104d based on a predetermined assignment algorithm. The load balancer 102 and the node computers 104a to 104d are connected by a network 106 according to the IEEE 802 series to form a network. A communication medium between the client 100 and the load balancer 102 is also connected by a network or the like according to the IEEE802 series.
[0012]
In such a configuration, a client is provided with a so-called IP address IPc, and the load balancer 102 is provided with an IP address IPbl. The node computers 104a to 104d are also assigned IP addresses IP1, IP2, IP3, and IP4, respectively.
[0013]
First, the client 100 transmits a request packet to the load balancer 102. The source address represented by the IP address in this packet is the IPc assigned to the client 100 as the sender. The destination address (destination address) represented by the IP address in this packet is the IPbl assigned to the load balancer 102 as the destination.
[0014]
The contents of the address of the packet are schematically shown in FIG. In FIG. 5, “S” in the packet schematically represented represents a source address, and “D” represents a destination address.
[0015]
After determining the node computer to which the request packet is to be assigned, the load balancer 102 rewrites the destination address of the request packet, which is indicated by a foreign word d, with the IP address of the node computer (104a to 104d) to which the request packet is assigned. . For example, when the assignment destination is the node computer 104b, the destination address in the request packet is rewritten from "IPbl" to "IP2". Then, the rewritten request packet is sent out to the network 106 based on the IEEE802 series.
[0016]
By rewriting the address of the destination in this way, the load balancer 102 distributes the request packet.
[0017]
After completing the request processing, the node computer 104b transmits the processing result as a result packet. As a result, the source address represented by the IP address in the packet is “IP2” that is the IP address of the load balancer 102b that is the sender. Also, the destination address represented by the IP address in the result packet is “IPc” which is the source address indicated in the request packet, that is, the IP address of the client 100.
[0018]
Then, the load balancer rewrites the source address represented by the IP address in the result packet whose destination address is "IPc" to its own IP address "IPbl", and then routes the result packet to the outside. I do. The client 10 receives the result packet, and the client 100 can receive a desired result.
[0019]
The conventional load balancer 102 using the NAT performs such an operation.
[0020]
For example, Patent Literature 1 below discloses a technique for performing load distribution by address conversion, and further discloses a technique for performing multiplexing using address conversion.
[0021]
Further, Japanese Patent Application Laid-Open No. H11-163,086 discloses a technique for performing load balancing by converting a logical IP address and a physical IP address. Patent Document 2 discloses a computer capable of performing a degenerate operation using address conversion.
[0022]
[Patent Document 1]
JP 2002-199006 A
[Patent Document 2]
JP 2000-332776 A
[Problems to be solved by the invention]
However, the present inventors have found that the performance of the conventional load balancer 102 using the NAT does not improve as expected. The reason is that the number of sessions handled by the load balancer is limited by the computer system constituting the load balancer 102.
[0023]
In other words, the load balancer 102 and the node computers 104a to 104d are also often realized by computers, but are subject to restrictions in these computers.
[0024]
For example, a load balancer configured by a computer using UNIX (registered trademark) often adopts a software configuration in which a thread is set up for each session to be handled. However, in UNIX (registered trademark), the number of threads that can be set up is often limited to about 1024, so that the number of sessions that the load balancer can handle is also limited to about 1024. In a server in which various requests are successively issued from a large number of clients, the number of 1024 sessions is used up immediately, and as a result, there is a possibility that the performance of the load balancer is limited.
[0025]
Note that a session is an aggregate of a series of services. For example, in e-commerce, one session is a series of processes (services) from the time when the client 16 issues a request, to the time when the product catalog is browsed, the purchase instruction, etc., and finally logs off. Means an aggregate.
[0026]
The present invention has been made in view of the above-mentioned problems relating to the performance of a load balancer, and an object of the present invention is to increase the number of sessions that can be handled and improve the performance of the load balancer.
[0027]
[Means for Solving the Problems]
A. Invention related to load balancer
The present invention, in order to solve the above problems, connected via a plurality of node computers and an internal network, a request from an external network different from the internal network, a load distribution device that allocates to any of the node computers, Allocating means for allocating the request to one of the node computers among the plurality of node computers, a destination address indicating a final destination of the request included in the request, and a transmission source indicating a source of the request Request sending means for sending the request to the node computer assigned by the assigning means without changing the original address, wherein the request sending means indicates a data transmission destination on the internal network. Using the data link address, which is an address, the assigned node computer Specifies over data, a load balancer, characterized by transmitting said request.
[0028]
With such a configuration, load distribution can be performed without performing address conversion of the destination address.
[0029]
Further, in the load distribution device according to the present invention, the allocating means may represent a node computer to which the request is allocated by its data link address, and the request transmitting means may include a data link of the node computer allocated by the allocating means. A load balancer for transmitting the request on the internal network to a node computer represented by the data link address using an address.
[0030]
According to such a configuration, since the assigned node computer is specified by the data link address, the request can be transmitted to the node computer using the data link address as it is.
[0031]
Further, in the load distribution device according to the present invention, the request transmitting unit obtains a data link address of the allocated node computer from an address of the node computer allocated by the allocating unit, and uses the obtained data link address. And transmitting the request to the node computer represented by the data link address on the internal network.
[0032]
With such a configuration, the request can be transmitted to the node computer using the data link address.
[0033]
Further, according to the present invention, in the load distribution device, the address of the node computer allocated by the allocating means is an IP address.
[0034]
With such a configuration, the data link address can be obtained from the IP address, and the request can be transmitted to the node computer using this.
[0035]
Also, the present invention provides the load distribution device, wherein the node computer transmits a processing result of the request transmitted through the internal network to a destination address indicating a final destination of the processing result and a transmission of the processing result. And a processing result transmitting means for transmitting a source address indicating a source to the external network without performing address conversion.
[0036]
With such a configuration, the load distribution device can provide the processing result to the outside without any address conversion.
[0037]
The present invention also provides the load distribution device, wherein the internal network is a network defined by the IEEE 802 series, and the data link address is a MAC address.
[0038]
The MAC address is a kind of data link address, which is a so-called data link layer address, and a network MAC address defined by the IEEE802 series is known.
[0039]
Further, the present invention is the load distribution device, wherein the destination address and the source address are IP addresses.
[0040]
With such a configuration, the load distribution device can execute the load distribution without converting the IP address.
[0041]
B. Invention of load balancing method
The present invention provides a load distribution method on a load distribution apparatus connected via a plurality of node computers and an internal network, in order to solve the above-mentioned problem, wherein a request from an external network different from the internal network is provided. Assigning the request to any one of the plurality of node computers, and indicating the final destination of the request included in the request. A request transmitting step of transmitting the request to the node computer assigned by the allocating means without changing a destination address and a source address indicating a source of the request, and in the request transmitting step, Is an address indicating the destination of data transmission on the internal network. Using the data link address is scan, specify the assigned node computer, the request is a load distribution method characterized in that it is transmitted.
[0042]
With such a configuration, load distribution can be performed without performing address conversion of the destination address.
[0043]
Further, in the load distribution method according to the present invention, in the assigning step, the node computer to which the request is assigned is represented by its data link address, and in the request transmitting step, the node assigned in the assigning step is A load distribution method, wherein the request is transmitted on the internal network to a node computer represented by the data link address using a data link address of the computer.
[0044]
According to such a configuration, since the assigned node computer is specified by the data link address, the request can be transmitted to the node computer using the data link address as it is.
[0045]
The present invention also provides the load distribution method, wherein, in the request transmitting step, a data link address of the assigned node computer is determined from an address of the node computer assigned in the assigning step, and the determined data link address is calculated. And transmitting the request to the node computer indicated by the data link address on the internal network.
[0046]
With such a configuration, the request can be transmitted to the node computer using the data link address.
[0047]
Further, the present invention is the load distribution method, wherein the address of the node computer assigned in the assigning step is an IP address.
[0048]
With such a configuration, the data link address can be obtained from the IP address, and the request can be transmitted to the node computer using this.
[0049]
Further, in the load distribution method according to the present invention, the processing result of the request transmitted from the node computer via the internal network may include a destination address indicating a final destination of the processing result and a transmission of the processing result. A process result sending step of sending a source address indicating a source to the external network without performing address conversion.
[0050]
With such a configuration, the load distribution device can provide the processing result to the outside without any address conversion.
[0051]
Further, the present invention provides the load distribution method, wherein the internal network is a network defined by the IEEE 802 series, and the data link address is a MAC address.
[0052]
The MAC address is a kind of data link address which is a so-called data link layer address, and a MAC address of a network based on the IEEE802 series is known.
[0053]
Further, the present invention is the load distribution method, wherein the destination address and the source address are IP addresses.
[0054]
With such a configuration, the load distribution device can execute the load distribution without converting the IP address.
[0055]
C. Invention of the program
The following invention relates to a program for operating a computer as the load distribution device, and its operation is basically the same as that of the load distribution device.
[0056]
The present invention, in order to solve the above problems, connected via a plurality of node computers and an internal network, a request from an external network different from the internal network, as a load distribution device to assign to any of the node computers, In a program for operating a computer, the computer
An allocation procedure for allocating the request to any one of the plurality of node computers, a destination address indicating a final destination of the request included in the request, and a transmission indicating a source of the request A request transmission step of transmitting the request to the node computer allocated in the allocation step without changing the original address, and executing the request transmission step. A program which specifies the assigned node computer using a data link address which is an address to be indicated, and transmits the request.
[0057]
Further, in the present invention, in the above-mentioned program, the assignment procedure represents a node computer to which the request is assigned by a data link address thereof, and the request transmission procedure includes a data link address of the node computer assigned in the assignment procedure. And transmitting the request to the node computer indicated by the data link address on the internal network.
[0058]
Further, in the program according to the present invention, in the request transmission procedure, from the address of the node computer assigned in the assignment procedure, the data link address of the assigned node computer is determined, using the determined data link address, A program for transmitting the request to a node computer represented by the data link address on the internal network.
[0059]
Further, the present invention is the program according to the above program, wherein the address of the node computer assigned in the assignment procedure is an IP address.
[0060]
The present invention also provides the computer readable storage medium, wherein the processing result of the request transmitted from the node computer via the internal network is transmitted to the computer by a destination address indicating a final destination of the processing result and the processing result. And transmitting the processing result to the external network without performing the address conversion on the source address indicating the source of the processing.
[0061]
Further, the present invention is the program according to the above program, wherein the internal network is a network defined by the IEEE802 series, and the data link address is a MAC address.
[0062]
Further, the present invention is the program according to the above program, wherein the destination address and the source address are IP addresses.
[0063]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0064]
FIG. 1 is an explanatory diagram showing a configuration of a server system 200 according to a preferred embodiment of the present invention. As shown in this figure, the client 100 is connected to the load balancer 202 via, for example, the Internet 108, and transmits a predetermined request to the load balancer 202.
[0065]
The load balancer 202 corresponds to an example of the load distribution device in the claims.
[0066]
The load balancer 202 is also connected to an internal network 106 that is not directly connected to the Internet 108, and this internal network is configured by an IEEE 802 series network. The node computers 104a, 104b, 104c and 104d are connected to the load balancer 202 via the internal network 106. The node computer 104a is provided with IP1 as an internal IP address and MAC1 as a MAC address.
[0067]
The MAC address is an address on a network according to the IEEE 802 series, and is a kind of address in a so-called data link layer. That is, this MAC address corresponds to an example of a data link address in the claims.
[0068]
The node computer 104b is assigned IP2 as an internal IP address, and is assigned MAC2 as a MAC address. The node computer 104c is assigned IP3 as an internal IP address, and is assigned MAC3 as a MAC address. The node computer 104d is assigned IP4 as an internal IP address, and is assigned MAC4 as a MAC address.
[0069]
Further, the node computers 104a, 104b, 104c, and 104d are all assigned a virtual IP address of "IPbl". The fact that two or more IP addresses are assigned is conventionally known as a technique called a virtual IP address or the like, and is often performed.
[0070]
Similarly, the load balancer 202 has IP5 as an internal IP address on the internal network, and MAC5 as a MAC address.
[0071]
Configuration of load balancer
FIG. 2 is a configuration block diagram of the load balancer 202 according to the present embodiment. As shown in this figure, the load balancer 202 includes a request transmitting unit 204, an allocating unit 206, and a processing result transmitting unit 208.
[0072]
The allocating means 206 is a means for allocating the request transmitted by the client 100 to a predetermined node computer 104, and the principle of the allocation itself is the same as the conventional one. The request transmission unit 204 is a unit that transmits a request to the node computers 104 (a to d) to which the request has been allocated by the allocation unit 206. The processing result transmitting unit 208 is a unit that transmits the result of processing the request by the node computers 104 (a to d) to the client 100.
[0073]
The node computers 104 (a to d) according to the present embodiment are basically the same as the conventional node computers.
[0074]
motion
Hereinafter, the operation of server system 200 according to the present embodiment will be described in detail based on a flowchart. FIG. 3 is a flowchart showing the operation of the server system 200.
[0075]
First, in step S3-1, the client 100 transmits a request to the load balancer 202. In this request, as schematically shown in FIG. 1, the source address represented by the IP address is the IP address “IPc” of the client. The destination address represented by the IP address is the IP address “IPbl” on the Internet 108 of the load balancer 202.
[0076]
The source address corresponds to an example of a source address in the claims. The destination address corresponds to an example of a destination address in the claims.
[0077]
Next, in step S3-2, the request transmitted to the load balancer 202 is to be allocated by the allocation unit 206. That is, the assignment requesting unit specifies the node computer 104 to which the request is assigned based on a predetermined assignment algorithm. For example, the description will be continued below assuming that this assignment is made to the node computer 104b. Various conventional algorithms can be applied to the allocation algorithm itself. Then, the allocating unit 206 transmits the IP address “IP2” of the node computer 104b as a result of the allocation to the request transmitting unit 204.
[0078]
Step S3-2 corresponds to an example of a step of assigning claims.
[0079]
In step S3-3, the request transmitting unit 204 converts the transmitted IP address “IP2” into a corresponding MAC address, that is, “MAC2”, and sends the request to the MAC2 on the internal network 108. Send it. For example, for this conversion, it is preferable that the request transmitting means 204 has a conversion table therein. It is preferable that this table describes the contents of $ IP1-MAC1, IP2-MAC2, IP3-MAC3, and IP4-MAC4.
[0080]
Characteristic features of the present embodiment are that, in transmitting a request to the node computer 104, the MAC address itself is used instead of the IP address, and the IP address in the request is not converted at all. . That is, the IP address in the request transmitted from the load balancer 202 to the node computer 104b is the same as when the IP address was transmitted from the client 100. Specifically, as schematically shown in FIG. 1, the source address represented by the IP address is “IPc”, and the destination address represented by the IP address is “IPbl”. As described above, since the node computers 104a to 104d are all provided with the IP address "IPbl", no inconsistency arises in terms of the IP address.
[0081]
In this embodiment, since the IP address in the request is not converted at all in this way, the load on the load balancer 202 is greatly reduced as compared with the conventional device.
[0082]
Step S3-3 corresponds to an example of a request transmitting step in the claims.
[0083]
Next, in step S3-4, the node computer 104b performs a predetermined process on the received request. This processing itself is the same as in the prior art. When the processing is completed, the node computer 104b returns the result to the transmission destination. This operation is basically the same as the conventional one. More specifically, since the result of the processing is returned to the source of the request transmitted to the node computer 104b, the destination of the processing result, that is, the destination address is “IPc” when represented by an IP address. .
[0084]
The destination (IP address “IPbl”) of the request transmitted to the node computer 104b should be the source of the processing result. That is, the source (source address) of the processing result is “IPbl” when represented by an IP address. Since the IP address “IPbl” is also assigned to the node computer 104b as described above, there is no inconsistency that the source (source address) of the processing result is “IPbl”. This situation is schematically shown in FIG.
[0085]
Next, in step S3-5, the load balancer 202 receives the processing result transmitted by the node computer 104b. The received processing result is transmitted to the client by the processing result transmitting means 208 as it is. At this time, the IP address is not converted at all. As shown in FIG. 1, the source address represented by the IP address remains “IPbl”, and the destination address represented by the IP address also remains “IPc”. That is, the processing result transmitting means 208 merely performs conventional ordinary routing.
[0086]
This step S3-5 corresponds to an example of the processing result transmitting step in the claims.
[0087]
As a result of the above processing, the client 100 transmits the request to the IP address “IPbl”, and receives the processing result from the IP address “IPbl”. That is, from the viewpoint of the client 100, it looks as if the processing is performed by one server, similarly to the conventional load balancer.
[0088]
As described above, according to the present embodiment, the following effects can be obtained.
[0089]
(1) Since the load balancer 202 does not convert any IP address, the load can be reduced. As a result, it is possible to substantially increase the processing capacity of the load balancer 202 while using the same computer.
[0090]
(2) In the prior art, since requests are assigned by address translation, it is necessary to remember the assignment after that. However, in the present embodiment, since no IP address translation is performed, such processing is performed. Therefore, the load on the load balancer 202 is reduced, and as a result, the processing capacity of the load balancer 202 can be substantially increased.
[0091]
Note that, as described above, the load balancer 202 is realized by a computer. That is, the request transmitting unit 204 includes a program for causing a computer to operate as the request transmitting unit and related hardware. Examples of the hardware include a processor that executes a program, a communication interface with the Internet 108, a communication interface with the internal network 106, and the like.
[0092]
Similarly, the allocating unit 206 also includes a program and a processor that executes the program. Similarly, the processing result transmitting means also includes a program and a processor for executing the program.
[0093]
In the present embodiment, a hard disk is used, but any storage means such as a CDROM or an MO that can store a program may be used.
[0094]
Modified example
In the above example, in step S3-2, the allocating unit 206 uses the IP address to specify the node computer 104 to which the request has been allocated, but it is also preferable to directly specify the node computer 104 using the MAC address. By specifying using the MAC address in this manner, the assignment operation can be performed at a lower level than the IP address level, that is, the routing operation on the network according to the IEEE802 series, so that the load of the load balancer 202 is further reduced. Can be reduced.
[0095]
In this case, in step S3-3, the request transmitting unit 204 can transmit the request to the node computer 104 using the MAC address specified by the allocating unit 206 as it is, so that the transmission destination can be easily specified. The performance of the node computer can be improved.
[0096]
【The invention's effect】
As described above, according to the present invention, since the request is transmitted to the node computer using the data link address, there is no need to convert the address of the destination included in the request, and the load on the load distribution device is reduced. can do. As a result, the performance of the load distribution device can be substantially improved.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing how a load balancer and a node computer according to an embodiment are used.
FIG. 2 is a functional configuration block diagram of a load balancer according to the present embodiment.
FIG. 3 is a flowchart illustrating the operation of the present embodiment.
FIG. 4 is an explanatory diagram showing how a conventional load balancer and node computer are used.
FIG. 5 is an explanatory diagram showing a state where a conventional load balancer or node computer is used.
[Explanation of symbols]
10 load balancer
12a, 12b, 12c, 12d Node Computer
14 Internet
16a, 16b, 16c client
100 $ client
102 load balancer
104a, 104b, 104c, 104d node computer
106 internal network
108 Internet
202 load balancer
204 Request transmission means
206 Assigning means
208 Processing result transmission means

Claims (21)

複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置において、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手段と、
前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信手段と、
を含み、
前記要求送信手段は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とする負荷分散装置。
In a load balancing device connected via a plurality of node computers and an internal network, a request from an external network different from the internal network is assigned to any of the node computers.
Assigning means for assigning the request to any one of the plurality of node computers;
Without changing the destination address indicating the final destination of the request and the source address indicating the source of the request included in the request, the request is transmitted to the node computer assigned by the allocating unit. Request transmitting means for transmitting;
Including
The load distribution device, wherein the request transmission unit specifies the assigned node computer using a data link address which is an address indicating a data transmission destination on the internal network, and transmits the request.
請求項1記載の負荷分散装置において、
前記割り当て手段は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、
前記要求送信手段は、前記割り当て手段が割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置。
The load distribution device according to claim 1,
The assigning means represents a node computer to which the request is assigned by its data link address,
The load distribution device, wherein the request transmission unit transmits the request to the node computer represented by the data link address on the internal network using the data link address of the node computer allocated by the allocation unit. .
請求項1記載の負荷分散装置において、
前記要求送信手段は、前記割り当て手段が割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散装置。
The load distribution device according to claim 1,
The request transmitting unit obtains a data link address of the assigned node computer from an address of the node computer allocated by the allocating unit, and transmits the request on the internal network using the obtained data link address. A load distribution apparatus for transmitting a packet to a node computer represented by a link address.
請求項3記載の負荷分散装置において、
前記割り当て手段が割り当てたノードコンピュータのアドレスは、IPアドレスであることを特徴とする負荷分散装置。
The load distribution device according to claim 3,
The load balancing device according to claim 1, wherein the address of the node computer assigned by the assigning means is an IP address.
請求項1、2、3又は4記載の負荷分散装置において、
前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手段、
を含むことを特徴とする負荷分散装置。
The load distribution device according to claim 1, 2, 3, or 4,
The processing result of the request transmitted by the node computer via the internal network is not converted between a destination address indicating a final destination of the processing result and a source address indicating a transmission source of the processing result. A processing result sending means for sending the processing result to the external network as it is,
A load balancing device comprising:
請求項1、2、3、4又は5記載の負荷分散装置において、前記内部ネットワークはIEEE802シリーズで規定されるネットワークであり、
前記データリンクアドレスは、MACアドレスであることを特徴とする負荷分散装置。
The load distribution device according to claim 1, wherein the internal network is a network defined by IEEE802 series,
The load distribution device according to claim 1, wherein the data link address is a MAC address.
請求項1、2、3、4又は5記載の負荷分散装置において、前記宛先アドレス及び発信元アドレスはIPアドレスであることを特徴とする負荷分散装置。6. The load distribution device according to claim 1, wherein the destination address and the source address are IP addresses. 複数のノードコンピュータと内部ネットワークを介して接続された負荷分散装置上における負荷分散方法であって、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散方法において、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当てステップと、
前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手段が割り当てたノードコンピュータに対して送信する要求送信ステップと、
を含み、
前記要求送信ステップにおいては、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求が送信されることを特徴とする負荷分散方法。
A load balancing method on a load balancing device connected via a plurality of node computers and an internal network, wherein a request from an external network different from the internal network is assigned to any of the node computers.
Assigning the request to any one of the plurality of node computers;
Without changing the destination address indicating the final destination of the request and the source address indicating the source of the request included in the request, the request is transmitted to the node computer assigned by the allocating unit. A request sending step to send;
Including
In the request transmitting step, the assigned node computer is specified using a data link address which is an address indicating a data transmission destination on the internal network, and the request is transmitted. Method.
請求項8記載の負荷分散方法において、
前記割り当てステップにおいては、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表され、
前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法。
The load distribution method according to claim 8,
In the assigning step, a node computer to which the request is assigned is represented by its data link address,
In the request transmitting step, the request is transmitted to the node computer represented by the data link address on the internal network by using the data link address of the node computer assigned in the assigning step. Dispersion method.
請求項8記載の負荷分散方法において、
前記要求送信ステップにおいては、前記割り当てステップにおいて割り当てられノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とする負荷分散方法。
The load distribution method according to claim 8,
In the request transmitting step, a data link address of the assigned node computer is obtained from an address of the node computer allocated in the allocating step, and the request is transmitted on the internal network using the obtained data link address. A load distribution method, wherein the load is transmitted to a node computer represented by a data link address.
請求項10記載の負荷分散方法において、
前記割り当てステップにおいて割り当てられたノードコンピュータのアドレスは、IPアドレスであることを特徴とする負荷分散方法。
The load distribution method according to claim 10,
A load distribution method, wherein the address of the node computer assigned in the assigning step is an IP address.
請求項8、9、10又は11記載の負荷分散方法において、
前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信ステップ、
を含むことを特徴とする負荷分散方法。
The load distribution method according to claim 8, 9, 10, or 11,
The processing result of the request transmitted by the node computer via the internal network is not converted between a destination address indicating a final destination of the processing result and a source address indicating a transmission source of the processing result. A processing result transmission step of sending the processing result to the external network as it is,
A load distribution method comprising:
請求項8、9、10、11又は12記載の負荷分散方法において、
前記内部ネットワークはIEEE802シリーズで規定されるネットワークであり、
前記データリンクアドレスは、MACアドレスであることを特徴とする負荷分散方法。
The load distribution method according to claim 8, 9, 10, 11, or 12,
The internal network is a network defined by the IEEE802 series,
The method according to claim 1, wherein the data link address is a MAC address.
請求項8、9、10、11又は12記載の負荷分散方法において、
前記宛先アドレス及び発信元アドレスはIPアドレスであることを特徴とする負荷分散方法。
The load distribution method according to claim 8, 9, 10, 11, or 12,
The load distribution method, wherein the destination address and the source address are IP addresses.
複数のノードコンピュータと内部ネットワークを介して接続され、内部ネットワークとは異なる外部ネットワークからの要求を、いずれかの前記ノードコンピュータに割り当てる負荷分散装置として、コンピュータを動作させるプログラムにおいて、前記コンピュータに、
前記要求を、前記複数のノードコンピュータ中の、いずれかのノードコンピュータに割り当てる割り当て手順と、
前記要求に含まれる、前記要求の最終的な宛先を示す宛先アドレスと、前記要求の発信元を示す発信元アドレスを変更せずに、前記要求を、前記割り当て手順において割り当てたノードコンピュータに対して送信する要求送信手順と、
を実行させ、
前記要求送信手順は、前記内部ネットワーク上でデータの伝送先を示すアドレスであるデータリンクアドレスを用いて、前記割り当てたノードコンピュータを指定し、前記要求を送信することを特徴とするプログラム。
A plurality of node computers connected via an internal network, a request from an external network different from the internal network, as a load distribution device to assign to any of the node computers, in a program that operates a computer, the computer,
An assignment step of assigning the request to any of the node computers in the plurality of node computers;
In the request, without changing the destination address indicating the final destination of the request and the source address indicating the source of the request, the request is transmitted to the node computer assigned in the assignment procedure. Request sending procedure to send,
And execute
The program for transmitting the request, wherein the request is transmitted by designating the assigned node computer using a data link address which is an address indicating a transmission destination of data on the internal network.
請求項15記載のプログラムにおいて、
前記割り当て手順は、前記要求を割り当てるノードコンピュータを、そのデータリンクアドレスで表し、
前記要求送信手順は、前記割り当て手順において割り当てた前記ノードコンピュータのデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラム。
The program according to claim 15,
The assigning step represents a node computer assigning the request by its data link address,
The request transmission step transmits the request to the node computer represented by the data link address on the internal network using the data link address of the node computer allocated in the allocation step.
請求項15記載のプログラムにおいて、
前記要求送信手順は、前記割り当て手順において割り当てたノードコンピュータのアドレスから、前記割り当てたノードコンピュータのデータリンクアドレスを求め、前記求めたデータリンクアドレスを用いて、前記内部ネットワーク上で前記要求を前記データリンクアドレスが表すノードコンピュータに送信することを特徴とするプログラム。
The program according to claim 15,
The request transmitting step determines a data link address of the assigned node computer from the address of the node computer assigned in the assigning step, and uses the determined data link address to transmit the request on the internal network to the data. A program transmitted to a node computer represented by a link address.
請求項17記載のプログラムにおいて、
前記割り当て手順において割り当てたノードコンピュータのアドレスは、IPアドレスであることを特徴とするプログラム。
The program according to claim 17,
The address of the node computer assigned in the assignment procedure is an IP address.
請求項15、16、17又は18記載のプログラムにおいて、前記コンピュータに、
前記ノードコンピュータが前記内部ネットワークを介して送信してきた前記要求の処理結果を、前記処理結果の最終的な宛先を示す宛先アドレスと前記処理結果の発信元を示す発信元アドレスとをアドレス変換せずに、そのまま前記外部ネットワークに送り出す処理結果送信手順、
を実行させることを特徴とするプログラム。
The program according to claim 15, 16, 17, or 18, wherein
The processing result of the request transmitted by the node computer via the internal network is not converted between a destination address indicating a final destination of the processing result and a source address indicating a transmission source of the processing result. A processing result transmission procedure for sending the processing result to the external network as it is,
A program characterized by executing
請求項15、16、17、18又は19記載のプログラムにおいて、
前記内部ネットワークはIEEE802シリーズで規定されるネットワークであり、
前記データリンクアドレスは、MACアドレスであることを特徴とするプログラム。
The program according to claim 15, 16, 17, 18, or 19,
The internal network is a network defined by the IEEE802 series,
The data link address is a MAC address.
請求項15、16、17、18又は19記載のプログラムにおいて、
前記宛先アドレス及び発信元アドレスはIPアドレスであることを特徴とするプログラム。
The program according to claim 15, 16, 17, 18, or 19,
The program wherein the destination address and the source address are IP addresses.
JP2002282394A 2002-09-27 2002-09-27 Load distributor, and method and program for the same Pending JP2004118622A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002282394A JP2004118622A (en) 2002-09-27 2002-09-27 Load distributor, and method and program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002282394A JP2004118622A (en) 2002-09-27 2002-09-27 Load distributor, and method and program for the same

Publications (1)

Publication Number Publication Date
JP2004118622A true JP2004118622A (en) 2004-04-15

Family

ID=32276548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002282394A Pending JP2004118622A (en) 2002-09-27 2002-09-27 Load distributor, and method and program for the same

Country Status (1)

Country Link
JP (1) JP2004118622A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100435530C (en) * 2006-04-30 2008-11-19 西安交通大学 Method for realizing two-way load equalizing mechanism in multiple machine servicer system
WO2011083567A1 (en) * 2010-01-06 2011-07-14 富士通株式会社 Load distribution system and method for same
JPWO2014111993A1 (en) * 2013-01-18 2017-01-19 パナソニックIpマネジメント株式会社 PWM output and AD conversion conflict avoidance control apparatus, conflict avoidance control method, and power control system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100435530C (en) * 2006-04-30 2008-11-19 西安交通大学 Method for realizing two-way load equalizing mechanism in multiple machine servicer system
WO2011083567A1 (en) * 2010-01-06 2011-07-14 富士通株式会社 Load distribution system and method for same
JP5360233B2 (en) * 2010-01-06 2013-12-04 富士通株式会社 Load balancing system and method
JPWO2014111993A1 (en) * 2013-01-18 2017-01-19 パナソニックIpマネジメント株式会社 PWM output and AD conversion conflict avoidance control apparatus, conflict avoidance control method, and power control system

Similar Documents

Publication Publication Date Title
Zhang Linux virtual server for scalable network services
Cardellini et al. The state of the art in locally distributed web-server systems
Hunt et al. Network dispatcher: A connection router for scalable internet services
Apostolopoulos et al. Design, implementation and performance of a content-based switch
US7353276B2 (en) Bi-directional affinity
US6122666A (en) Method for collaborative transformation and caching of web objects in a proxy network
US8595378B1 (en) Managing communications having multiple alternative destinations
CN111345012A (en) DNS resolution using link-level capacity of destination system
US8898331B2 (en) Method, network and computer program for processing a content request
EP2291982B1 (en) Providing access over an ip network to a server application program
US20040093416A1 (en) Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
CN103905572B (en) The processing method and processing device of domain name mapping request
CN108780410A (en) The network virtualization of container in computing system
US7380002B2 (en) Bi-directional affinity within a load-balancing multi-node network interface
US8578053B2 (en) NAS load balancing system
JPH114261A (en) Dynamic routing method and program storage device
US20220318071A1 (en) Load balancing method and related device
US8266639B2 (en) Remote procedure call (RPC) bind service with physical interface query and selection
Zhang et al. Creating Linux virtual servers
US9021510B2 (en) Remote procedure call (RPC) bind service with physical interface query and selection
US8051176B2 (en) Method and system for predicting connections in a computer network
US7711780B1 (en) Method for distributed end-to-end dynamic horizontal scalability
JP2004118622A (en) Load distributor, and method and program for the same
US11647083B2 (en) Cluster-aware multipath transmission control protocol (MPTCP) session load balancing
KR100459951B1 (en) Method and apparatus of server load balancing using MAC address translation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061205