(57)【特許請求の範囲】
【請求項１】
異なるネットワークに存在する複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散装置に於いて、
負荷情報に基づいてクライアントからのクライアントパケットに対するサービスを自己のネットワークのサーバ又は別のネットワークのサーバを選択して振り分けるサーバ振分部と、
前記サーバ振分部で別のネットワークのサーバにサービスを振り分けた際に、前記クライアントパケットを転送データに含めた転送パケットを作り、該転送パケットを所定の転送プロトコルで前記別のネットワークの広域負荷分散装置へ転送する転送送信部と、
別のネットワークの広域負荷分散装置から転送パケットを受信した際に、該転送パケットからクライアントパケットを取り出す転送受信部と、
前記転送受信部で取り出したクライアントパケットの宛先を転送元の広域負荷分散装置アドレスからサーバアドレスに変換すると共に、送信元をクライアントアドレスから自己アドレスに変換して前記サーバへ送信するサーバ転送部と、
サーバから来た転送済みサービスの応答であるサーバパケットに対し、宛先を自己アドレスからクライアントアドレスへ変換すると共に、送信元をサーバアドレスから転送元の広域負荷分散装置アドレスに変換してクライアントへ中継するクライアント中継部と、
前記サーバ振分部、転送送信部、転送受信部、サーバ転送部及びクライアント転送部で処理するパケットに対するクライアント、転送先及びサーバの対応関係をサービス毎に保持して検索させる接続管理部と、
別の広域負荷分散装置との間で前記負荷情報を相互に交換して管理する負荷情報管理部と、
を備えたことを特徴とする広域負荷分散装置。
【請求項２】
異なるネットワークに存在する複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散装置に於いて、
負荷情報に基づいてクライアントからのクライアントパケットに対するサービスを自己のネットワークのサーバ又は別のネットワークのサーバを選択して振分けるサーバ振分部と、
前記サーバ振分部で別のネットワークのサーバにサービスを振り分けた際に、前記クライアントパケットを転送データに含めた転送パケットを作り、該転送パケットを所定の転送プロトコルで前記別のネットワークの広域負荷分散装置へ転送する転送送信部と、
別のネットワークの広域負荷分散装置から転送パケットを受信した際に、該転送パケットからクライアントパケットを取り出す転送受信部と、
前記転送受信部で取り出したクライアントパケットの宛先を転送元の広域負荷分散装置アドレスからサーバアドレスに変換すると共に、送信元をクライアントアドレスから転送元の広域負荷分散装置アドレスに変換して前記サーバへ送信するサーバ転送部と、
サーバから来た転送済みのサービスの応答であるサーバパケットに対し、宛先を自己アドレスからクライアントアドレスへ変換すると共に送信元をサーバアドレスから自己アドレスに変換してクライアントへ送信するクライアント中継部と、    前記サーバ振分部、転送送信部、転送受信部、サーバ転送部及びクライアント転送部で処理するパケットに対するクライアント、転送先、及びサーバの対応関係をサービス毎に保持して検索させる接続管理部と、
別の広域負荷分散装置との間で前記負荷情報を相互に交換して管理する負荷情報管理部と、
を備えたことを特徴とする広域負荷分散装置。
【請求項３】
請求項１又は２記載の広域負荷分散装置に於いて、前記接続管理部は、クライアント、転送元及びサーバの対応関係をサービス毎に登録する接続管理テーブルを有し、
前記サーバ転送部で転送パケットを受信した際に、該転送パケットから取り出したクライアントパケットの送信元クライアントアドレス、転送元の広域負荷分散装置アドレス及び宛先サーバアドレスの対応関係を前記接続管理テーブルに登録することを特徴とする広域負荷分散装置。
【請求項４】
請求項３記載の広域負荷分散装置に於いて、前記サーバ転送部は、前記転送受信部で転送パケットを受信した際に、該転送パケットから取り出したクライアントパケットの送信元クライアントアドレスと転送元の広域負荷分散装置アドレスにより前記接続管理テーブルを検索して宛先サーバアドレスを取得することを特徴とする広域負荷分散装置。
【請求項５】
請求項４記載の広域負荷分散装置に於いて、前記サーバ転送部は、前記接続管理テーブルを検索して宛先サーバを取得できなかった場合は、前記負荷情報に基づいて新たに宛先サーバを選択することを特徴とする広域負荷分散装置。
【請求項６】
請求項５記載の広域負荷分散装置に於いて、前記サーバ転送部により前記負荷情報に基づいて新たに宛先サーバを選択した際に、前記接続管理部は、該転送パケットから取り出したクライアントパケットの送信元クライアントアドレス、転送元の広域負荷分散装置アドレス及び前記負荷情報から選択した宛先サーバアドレスの対応関係を前記接続管理テーブルに新規登録することを特徴とする広域負荷分散装置。
【請求項７】
請求項３記載の広域負荷分散装置に於いて、前記サービス転送部は、前記転送パケットにサービス接続要求かサービス中かを示すフラグ情報を設け、
前記サーバ転送部は、前記中継パケットのフラグ情報からサービス接続要求を認識した場合は、前記接続管理テーブルを検索せずに負荷情報に基づいて新に宛先サーバを取得し、前記中継パケットのフラグ情報からサービス中を認識した場合は、前記接続管理テーブルを検索して宛先サーバを取得することを特徴とする広域負荷分散装置。
【請求項８】
請求項１又は２記載の広域負荷分散装置に於いて、前記負荷情報管理部は、複数の広域負荷分散装置からの負荷情報を収集して一括管理している負荷振分指示装置に対し自己の負荷情報を送信すると共に、他の広域負荷振分装置の負荷情報を前記負荷振分指示装置から取得することを特徴とする広域負荷振分装置。
【請求項９】
請求項２乃至８のいずれかに記載の広域負荷分散装置に於いて、前記クライアントアドレス、サーバアドレス及び広域負荷分散装置アドレスの各々は、ポート番号を含むことを特徴とする広域負荷振分装置。
【請求項１０】
ネットワーク毎に広域負荷分散装置を設け、異なるネットワークに存在する複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散方法に於いて、
負荷情報に基づいてクライアントからのクライアントパケットに対するサービスを自己のネットワークのサーバ又は別のネットワークのサーバを選択して振分けるサーバ振分過程と、
前記サーバ振分過程で別のネットワークのサーバにサービスを振り分けた際に、前記クライアントパケットを転送データに含めた転送パケットを作り、該転送パケットを所定の転送プロトコルで前記別のネットワークの広域負荷分散装置へ転送する転送送信過程と、
別のネットワークの広域負荷分散装置から転送パケットを受信した際に、該転送パケットからクライアントパケットを取り出す転送受信過程と、
前記転送受信過程で取り出したクライアントパケットの宛先を転送元の広域負荷分散装置アドレスからサーバアドレスに変換すると共に、送信元をクライアントアドレスから自己アドレスに変換してサーバへ送信するサーバ転送過程と、
サーバから来た転送済みのサービスの応答であるサーバパケットに対し、宛先を自己アドレス分からクライアントアドレスへ変換すると共に、送信元をサーバアドレスから転送元の広域負荷分散装置アドレスに変換してクライアントへ中継するクライアント中継過程と、
前記サーバ振分過程、転送送信過程、転送受信過程、サーバ転送過程及びクライアント転送過程で処理するパケットに対するクライアント、転送先及びサーバの対応関係をサービス毎に保持して検索させる接続管理過程と、
別の広域負荷分散装置との間で前記負荷情報を相互に交換して管理する負荷情報管理過程と、
を備えたことを特徴とする広域負荷分散方法。
【請求項１１】
ネットワーク毎に広域負荷分散装置を設け、異なるネットワークに存在する複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散方法に於いて、
負荷情報に基づいてクライアントからのクライアントパケットに対するサービスを自己のネットワークのサーバ又は別のネットワークのサーバを選択して振り分けるサーバ振分過程と、
前記サーバ振分過程で別のネットワークのサーバにサービスを振り分けた際に、前記クライアントパケットを転送データに含めた転送パケットを作り、該転送パケットを所定の転送プロトコルで前記別のネットワークの広域負荷分散装置へ転送する転送送信過程と、
別のネットワークの広域負荷分散装置から転送パケットを受信した際に、該転送パケットからクライアントパケットを取り出す転送受信過程と、
宛先を転送元の広域負荷分散装置アドレスからサーバアドレスに変換すると共に、送信元をクライアントアドレスから転送元の広域負荷分散装置アドレスに変換して前記サーバへ送信するサーバ転送過程と、
サーバから来た転送済みのサービスの応答であるサーバパケットに対し、宛先を自己アドレスからクライアントアドレスへ変換すると共に、送信元をサーバアドレスから自己アドレスに変換してクライアントへ送信するクライアント中継過程と、
前記サーバ振分過程、転送送信過程、転送受信過程、サーバ転送過程及びクライアント転送過程で処理するパケットに対するクライアント、転送先、及びサーバの対応関係をサービス毎に保持して検索させる接続管理過程と、
別の広域負荷分散装置との間で前記負荷情報を相互に交換して管理する負荷情報管理過程と、
を備えたことを特徴とする広域負荷分散方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散装置及び方法に関し、特に、異なるネットワークに属するサーバを負荷分散の対象とする広域負荷分散装置及び方法に関する。
【０００２】
【従来の技術】
近年、インターネットやイントラネットの急速な普及により、ネットワークサービスを提供するサーバの効率的な利用及びサービスの安定性が要求されてきている。サーバの効率的利用及び安定したサービス供給には、特定のサーバへのアクセス集中を回避するサービスの最適な振分けが不可欠であり、サーバの負荷状態に応じてサービスを振り分ける負荷分散方法が求められている。
【０００３】
従来、サーバの負荷状態に応じてサービス振分けを行う負荷分散方法としては、ドメインネームシステム（以下「ＤＮＳ」という）を利用した方法や仮想サーバを利用した方法が知られている。
【０００４】
ＤＮＳを利用した方法は、複数のＤＮＳを各ネットワークエリアに分散配置し、各ネットワークエリア毎に最適なサーバＩＰアドレスをドメイン名に対応づける方法である。各ＤＮＳは、１つのドメイン名に複数のＩＰアドレスを対応させており、ラウンドロビンでＩＰアドレスを選択してクライアントへ伝える。
【０００５】
更に詳細に説明すると、クライアントからドメイン名、例えばドメイン名、
「ｗｗｗ．  ｆｌａｂ．  ｆｕｊｉｔｓｕ．  ｃｏ．  ｊｐ」を自己の属するエリアに配置したＤＮＳに送ると、ドメイン名を受信したＤＮＳは、エリア外に位置する最上位となる第１階層ＤＮＳにアクセスし、続いて第１階層から第２階層、第２階層から第３階層、更に第３階層から第４階層と各階層のＤＮＳにアクセスし、クライアントは第４階層ＤＮＳからサーバのＩＰアドレスを獲得して送信する。
【０００６】
この第４階層ＤＮＳからのＩＰアドレスは、クライアントの属するネットのＤＮＳでキャッシングされる。次に同じドメイン名を他のクライアントから受信すると、キャッシュヒットによりＩＰアドレスを応答する。
【０００７】
仮想サーバを利用した方法は、複数のサーバの前段に仮想サーバを配置し、クライアントからのアクセスは全て仮想サーバを経由し、クライアントからのサービス要求をサーバの負荷状態に応じた比率で分配し、中継する。この仮想サーバ方法としては、例えば富士通株式会社製の「ＵＸＰ／ＤＳ  ＩｎｆｏＤｉｓｐａｔｃｈｅｒ  」が知られている。
【０００８】
また仮想サーバを利用した方法で使用される負荷分散機構としては、
▲１▼細井聡・高橋英一・山田拓也・高場浩一・安達基光著、１９９７年第５５回情報処理全国大会論文集「４Ｔ−０１  Ｓｍａｒｒｔ  Ｓｃｃａｔｔｅｒ：インターネット／イントラネットの負荷分散機構−全体構成と制御部−」
▲２▼今井祐二・岸本光弘・高場浩一・矢作毅彦著、１９９７年第５５回情報処理全国大会論文集「４Ｔ−２    Ｓｍａｒｒｔ  Ｓｃｃａｔｔｅｒ：インターネット／イントラネットの負荷分散機構−パケット振りわけ部−」
等に記載される。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来のＤＮＳを利用した負荷分散方法では、外部に設けた第１階層から第４階層までのＤＮＳの内、第４階層のＤＮＳがドメイン名に対して複数のサーバのＩＰアドレスを管理しており、その内の１つのＩＰアドレスのみを応答した場合、これがクライアント側のＤＮＳにキャッシュされる。
【００１０】
このため、ＤＮＳにキャッシュされた１つのサーバにアクセスが集中し、負荷が分散できない。またエリア毎にクライアントが固定されるため、十分なサービスを提供するためには、クライアントの数を見積もる必要がある。
【００１１】
また仮想サーバを利用した負荷分散方法は、負荷分散の対象となるサーバ全てが高負荷もしくは停止した場合への対処ができない。また、ネットワークの規模が大きくなるに従い、負荷分散の対象となるサーバの数が増え、負荷分散装置から離れた別のネットワークに属するサーバの負荷計測の精度が低下し、負荷分散装置自身がボトルネックとなって適切な負荷分散ができなくなる恐れがあり、負荷分散の対象となるサーバが制約される問題があった。
【００１２】
本発明は、異なるネットワークに属するサーバ間での負荷分散と故障隠蔽が適切にできる広域負荷分散装置及び方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
図１は本発明の原理説明図である。
【００１４】
本発明は、異なるネットワークに存在する複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散装置を提供するものであり、図１（Ａ）（Ｂ）のように、広域負荷分散１２は、転送送信部２４、転送受信部２６、サーバ振分部３２、サーバ転送部３４、クライアント中継部３６、接続管理部３８、負荷情報管理部４２を備える。
【００１５】
サーバ振分部３２は、図１（Ｃ）の広域負荷分散装置１２−１を例にとると、負荷情報に基づいてクライアント１６からのクライアントパケットに対するサービス要求を、自己のネットワーク１０−１のサーバ又は別のネットワーク１０−２のサーバに振り分ける。
【００１６】
転送送信部２４は、サーバ振分部３２で別のネットワーク１２−２のサーバ１４にサービスを振り分けた際に、クライアントパケット５４を転送データに含めた転送パケット５６を作り、この転送パケット５６を所定の転送プロトコルで別のネットワーク１０−２の広域負荷分散装置１２−２へ転送する。
【００１７】
転送受信部２６は、図１（Ｃ）の広域負荷分散装置１２−２を例にとると、別のネットワーク１０−１の広域負荷分散装置１２−１から転送パケット５６を受信した際に、この転送パケット５６からクライアントパケット５４を取り出す。
【００１８】
サーバ転送部３４は、図１（Ｃ）の広域負荷分散装置１２−２を例にとると、転送受信部２６で取り出したクライアントパケット５４の宛先を転送元の広域負荷分散装置アドレスＬｘからサーバアドレスＳに変換すると共に、送信元をクライアントアドレスＣから自己アドレスＬｙにへ変換したパケット５８をサーバ１４へ送信する。
【００１９】
クライアント中継部３６は、図１（Ｃ）の広域負荷分散装置１２−２を例にとると、サーバ１４から来た転送済みのサービスの応答であるサーバパケット６０に対し、宛先を自己アドレスＬｙからクライアントアドレスＣに変換すると共に、送信元をサーバアドレスＳから転送元の広域負荷分散装置アドレスＬｘに変換してパケット６２をクライアント１６へ中継する。
【００２０】
更に、接続管理部３８は、転送送信部２４、転送受信部２６、サーバ振分部３２、サーバ転送部３４及びクライアント中継部３６で処理するパケットに対するクライアント、転送元、及びサーバの対応関係をサービス毎に保持して検索させる。
【００２１】
このような広域負荷分散装置により、サービスの整合性を損なわずに異なるネットワークに属するサーバを負荷分散の対象にすることができ、結果として負荷分散対象とするサーバの設置場所を自由に決定できる。
【００２２】
また転送に用いるプロトコルを自由に定めることができるため、転送パケットに追加情報を付加したり、転送のための接続を常時確立するなど、柔軟性、拡張性や効率を上げることができる。
【００２３】
図１（Ｄ）は、本発明の別の形態であり、図１（Ｄ）のクライアント１６に対する広域負荷分散装置１２−２からの応答パケットの送信元アドレスがＬｘと正しい送信元アドレスＬｙでないため、不正アドレスをチェックするセキュリティ装置でサービスが排除されてしまう問題を解消する。
【００２４】
まず図１（Ｄ）の広域負荷分散１２は、図１（Ａ）（Ｂ）のように、転送送信部２４、転送受信負２６、サーバ振分部３２、サーバ転送部３４、クライアント中継部３６、接続管理部３８、負荷情報管理部４２を備える。この内、クライアント１６から別のネットワークのサーバ１８にサービス要求を転送するためのサーバ振分部３２と転送送信部２４及び転送受信部２６は、図１（Ｃ）と同じであるが、転送パケットをサーバ１４に振り分けるサーバ転送部３４と、転送済みサービスの応答パケットをサーバ１４からクライアント１６に中継するクライアント中継部３６が異なる。
【００２５】
まずサーバ振分部３２は、図１（Ｄ）の広域負荷配分装置１２−１のように、負荷情報に基づいてクライアント１６からのクライアントパケット１３２に対するサービスを自己のネットワーク１０−２のサーバ又は別のネットワークのサーバに振り分ける。
【００２６】
また転送送信部２４は、図１（Ｄ）の広域負荷配分装置１２−１のように、サーバ振分部３２で別のネットワーク１０−２のサーバ１４にサービスを振り分けた際に、クライアントパケット１３２を転送データに含めた転送パケット１３４を作り、この転送パケット１３４を所定の転送プロトコルで別のネットワーク１０−２の広域負荷分散装置１２−２へ転送し、転送先の転送受信装置２６で転送パケットからクライアントパケット１３２を取り出す。この点は、図１（Ｃ）の場合と同じである。
【００２７】
これに対しサーバ転送部３４は、転送パケットから取り出したクライアントパケットの宛先を転送元の広域負荷分散装置アドレスＬｘからサーバアドレスＳに変換すると共に、送信元をクライアントアドレスＣから転送元の広域負荷分散装置アドレスＬｘに変換したパケット１３６をサーバ１４へ送信する。
【００２８】
クライアント中継部３６は、図１（Ｄ）の広域負荷配分装置１２−１のように、サーバ１４から来た転送済みのサービスの応答であるサーバパケット１３８に対し、宛先を自己アドレスＬｘからクライアントアドレスＣへ変換すると共に、送信元をサーバアドレスＳから自己アドレスＬｘに変換したパケット１４２をクライアント１６へ中継する。接続管理部３８及び負荷情報転送部４２は図１（Ｂ）と同じである。
【００２９】
この図１（Ｄ）の形態により、サービスの整合性を損なわず、異なるネットワークに属するサーバを負荷分散対象にでき、結果として負荷分散対象とするサーバの設置場所を自由にすることができる。
【００３０】
また、セキュリティ装置１３０が設けられていても、サーバ１４から正しい宛先アドレスＬｘと送信元アドレスＳのパケット１３８が中継されるため、不正アドレスを検出するセキュリティ装置１３０で問題を起こすことなく、パケット応答をクライアント１６に転送できる。
【００３１】
図１（Ａ）の接続管理部３８は、クライアント、転送元、及びサーバの対応関係をサービス毎に登録する接続管理テーブル４０を有し、サーバ転送部３４で転送パケットを受信した際に、この転送パケットから取り出したクライアントパケットの送信元クライアントアドレス、転送元の広域負荷分散装置アドレス及び宛先サーバアドレスの対応関係を接続管理テーブル４０に登録する。
【００３２】
このためサーバ転送部３４は、転送パケットを受信した際に、転送パケットから取り出したクライアントパケットの送信元クライアントアドレスＣと転送元の広域負荷分散装置アドレスＬｘにより接続管理テーブル４０を検索して宛先サーバアドレスＳを取得する。
【００３３】
またサーバ転送部３４は、接続管理テーブル４０を検索して宛先サーバアドレスＳを取得できなかった場合は、負荷情報に基づいて新たな宛先サーバを選択する。サーバ転送部３４により負荷情報に基づいて宛先サーバを選択した場合に、接続管理部３８は、転送パケットから取り出したクライアントパケットの送信元クライアントアドレスＣ、転送元の広域負荷分散装置アドレスＬｘ及び負荷情報から選択した宛先サーバアドレスＳの対応関係を接続管理テーブル４０に新規登録する。
【００３４】
また転送パケットの負荷情報を利用し、サービス転送部３２は、転送パケットにサービス接続要求かサービス継続中かを示すフラグ情報を設け、サーバ転送部３４は、中継パケットのフラグ情報からサービス接続要求を認識した場合は、接続管理テーブル４０を検索せずに負荷情報に基づいて宛先サーバを取得し、中継パケットのフラグ情報からサービス継続中を認識した場合は、接続管理テーブル４０を検索して宛先サーバを取得する。
【００３５】
これによってクライアントから他のネットワークのサーバへのサービス要求のパケット転送の際の接続管理テーブルの検索を不要にし、広域負荷分散装置の処理負担を低減する。
【００３６】
負荷情報管理部４２は、複数の広域負荷分散装置からの負荷情報を収集して一括管理している負荷振分指示装置に対し自己の負荷情報を送信すると共に、他の広域負荷振分装置の負荷情報を前記負荷情報振分指示装置から取得する。このため、負荷情報の発信と取得によってネットワークの負荷が上がることを防ぎ、負荷情報を集中管理することで管理コストを下げ、柔軟性や拡張性を上げることができる。
【００３７】
本発明は、ネットワーク毎に広域負荷分散装置を設け、異なるネットワークに存在する複数のサーバによるクライアントへのサービスをサーバの負荷状態に応じて振り分ける広域負荷分散方法を提供する。
【００３８】
この広域負荷分散方法は、図１（Ｃ）の場合、次の過程を備える。
【００３９】
負荷情報に基づいてクライアント１６からクライアントパケットに対するサービスを自己のネットワーク１０−１のサーバ又は別のネットワーク１０−２のサーバに振り分けるサーバ振分過程；
サーバ振分過程で別のネットワーク１０−２のサーバ１４にサービスを振り分けた際に、クライアントパケットを転送データに含めた転送パケットを作り、この転送パケットを所定の転送プロトコルで別のネットワーク１０−２の広域負荷分散装置１２−２へ転送する転送送信過程；
別のネットワーク１０−１の広域負荷分散装置１２−１から転送パケットを受信した際に、この転送パケットからクライアントパケットを取り出す転送受信過程と、
転送受信過程で取り出したクライアントパケットの宛先を転送元の広域負荷分散装置アドレスＬｘからサーバアドレスＳに変換すると共に、送信元をクライアントアドレスＣから自己アドレスＬｙにへ変換してサーバ１４へ送信するサーバ転送過程；
サーバ１４から来た転送済みのサービスの応答であるサーバパケットに対し、宛先を自己アドレスＬｙからクライアントアドレスＣへ変換すると共に、送信元をサーバアドレスＳから転送元の広域負荷分散装置アドレスＬｘに変換してクライアントへ送信するクライアント中継過程；
サーバ振分過程、転送送信過程、転送受信過程、サーバ転送過程及びクライアント中継過程で処理するパケットに対するクライアント、転送元、及びサーバの対応関係をサービス毎に保持して検索させる接続管理過程；
別の広域負荷分散装置との間で前記負荷情報を相互に交換する負荷情報通信過程；
を備える。
【００４０】
また図１（Ｄ）の広域負荷分散方法の場合、次の過程を備える。
【００４１】
負荷情報に基づいてクライアント１６からクライアントパケットに対するサービスを自己のネットワーク１０−１のサーバ又は別のネットワーク１０−２のサーバを選択して振り分けるサーバ振分過程；
サーバ振分過程で別のネットワーク１０−２のサーバ１４にサービスを振り分けた際に、クライアントパケットを転送データに含めた転送パケットを作り、この転送パケットを所定の転送プロトコルで別のネットワーク１０−２の広域負荷分散装置１２−２へ転送する転送送信過程；
別のネットワーク１０−１の広域負荷分散装置１２−１から転送パケットを受信した際に、この転送パケットからクライアントパケットを取り出す転送受信過程；
転送受信過程で取り出したクライアントパケットの宛先を転送元の広域負荷分散装置アドレスＬｘからサーバアドレスＳに変換すると共に、送信元をクライアントアドレスＣから転送元の広域負荷分散装置アドレスＬｘに変換してサーバ１４へ送信するサーバ転送過程；
サーバ１４から来た転送済みのサービスの応答であるサーバパケットに対し、宛先を自己アドレスＬｘからクライアントアドレスＣへ変換すると共に、送信元をサーバアドレスＳから自己アドレスＬｘに変換してクライアントへ中継するクライアント中継過程；
サーバ振分過程、転送送信過程、転送受信過程、サーバ転送過程及びクライアント中継過程で処理するパケットに対するクライアント、転送元及びサーバの対応関係をサービス毎に保持して検索させる接続管理過程；
別の広域負荷分散装置との間で負荷情報を相互に交換する負荷情報管理過程；を備える。
【００４２】
【発明の実施の形態】
＜目次＞
１．装置構成
２．広域負荷分散処理その１
３．広域負荷分散処理その２
４．負荷情報管理処理
１．装置構成と機能
図２は本発明による広域負荷分散装置を備えたネットワーク構成の説明図である。
【００４３】
図２において、この実施形態にあっては４つのネットワーク１０−１，１０−２，１０−３，１０−４が相互に接続されており、これらのネットワーク１０−１〜１０−４としてはインターネットやイントラネット等が対応する。ネットワーク１０−１〜１０−３のそれぞれには、本発明の広域負荷分散装置１２−１，１２−２，１２−３が設けられ、それぞれネットワーク１０−１〜１０−３とネットワーク１０−４の間に配置されている。
【００４４】
ネットワーク１０−１〜１０−３は、サーバ１４−１１〜１４−１ｎ、１４−２１〜１４−２ｎ及び１４−３１〜１４−３ｎをそれぞれ接続し、更にクライアント１６−１，１６−２，１６−３で代表される複数のクライアントが接続される。またネットワーク１０−４側にも、図示しないが適宜の数のサーバ及びクライアントが接続されている。
【００４５】
図３は、図２のネットワーク１０−１に設けた広域負荷分散装置１２−１を例にとって装置構成の詳細を示している。
【００４６】
ネットワーク１０−１に設けた広域負荷分散装置１２−１は、サービス振分部２０、転送送信部２４、転送受信部２６、負荷情報受信部２８及び負荷情報送信部３０を備える。広域負荷分散装置１２−１は、例えばネットワーク１０−４のクライアント１６からのサービス要求であるクライアントパケットを受信すると、サービス振分部２０でそのときの負荷情報を参照し、自己のネットワーク１０−１のサーバまたは他のネットワーク１０−２のサーバのいずれかを選択してサービスを振り分ける。
【００４７】
自己のネットワーク１０−１のサーバを選択した場合には、要求元のクライアント１６と振分先の例えばサーバ１４−１１との間でのサービス接続要求のパケット転送と、サーバ１４−１１からクライアント１６に対する応答パケットの中継を、広域負荷分散装置１２−１のサーバ振分部２０が処理する。
【００４８】
これに対しサーバ振分部２０で別のネットワーク１２−２のサーバを選択するサーバ振分けを行った場合には、クライアント１６からのクライアントパケットを転送データに含めた転送パケットを作成し、転送送信部２４でネットワーク１０−４を経由して他のネットワーク１０−２の広域負荷分散装置１２−２に転送する。
【００４９】
広域負荷分散装置１２−１からの転送パケットを受信した広域負荷分散装置１２−２は、転送パケットの中からクライアントパケットを取り出し、そのときの負荷情報に基づいて自己のネットワーク１２−２の中の例えばサーバ１４−２１を選択して振り分け、クライアントパケットのデータをサーバ１４−２１に転送する。
【００５０】
このようなサーバ１４−２１に対するパケット転送が済むと、サーバ１４−２１から応答データを含む応答パケットがネットワーク１０−２を経由して、転送先となっている広域負荷分散装置１２−２に送られる。広域負荷分散装置１２−２は、既に処理済みの転送パケットの情報から要求元のクライアント１６が分かっていることから、サーバ１４−２１からの応答パケットをネットワーク１０−４を経由して直接クライアント１６に中継する。
【００５１】
このように本発明の広域負荷分散装置１２−１は、クライアント１６からのサービス要求に対し他のネットワーク１０−２のサーバを振り分け、振分サーバに対しクライアントからのサービス要求を転送した後に、応答サービスを直接中継させることになる。
【００５２】
この広域負荷分散装置１２−１によるサービスの振分けと中継のルートは、クライアントから他のネットワークのサーバにサービス振分けを行う振分ルートについては同じであるが、転送後のサーバからクライアントに対する中継ルートについては
▲１▼転送先の広域負荷分散装置１２−２を経由して直接クライアント１６に中継する中継ルート、
▲２▼サーバから転送元の広域負荷分散装置１２−１を経由してクライアント１６に中継する中継ルート、
の２つがある。この異なった中継ルートによる広域負荷分散装置の処理動作は、後の説明で更に詳細に説明する。
【００５３】
図４は、図３の広域負荷分散装置１２−１に設けたサービス振分部２０の機能ブロック図であり、ネットワークに対する送受信部と共に表わしている。
【００５４】
サービス振分部２０には、サーバ振分部３２、サーバ転送部３４、クライアント中継部３６、接続管理部３８、接続情報テーブル４０、負荷情報管理部４２及び負荷情報テーブル４４が設けられる。
【００５５】
サーバ振分部３２は、ネットワーク１０−１またはネットワーク１０−４側のクライアントからサービス要求のクライアントパケットを受信すると、そのとき負荷情報管理部４２により負荷情報テーブル４４を参照して得られる自己のネットワーク及び他のネットワークに設けているサーバの負荷情報に基づき、自己のネットワークのサーバまたは別のネットワークのサーバを選択してサービス提供先として振り分ける。
【００５６】
転送送信部２４は、サーバ振分部３２で他のネットワークのサーバにサービス提供を振り分けた際に、そのとき受信しているクライアントパケットを転送データに含めた転送パケットを作成し、この転送パケットを所定の転送プロトコルで別のネットワークの広域負荷分散装置に転送する。
【００５７】
図５はサーバ振分部３２で受信するクライアントからのプロトコルパケットと、転送送信部２４で作成して転送する転送パケットの説明図である。
【００５８】
図５（Ａ）のクライアントから受信したクライアントパケット６４は、ヘッダ６６とデータ６８で構成される。ヘッダ６６には送信元情報と宛先情報が格納されている。この送信元情報及び宛先情報は、それぞれのアドレスと割り当てられたポート番号で構成される。
【００５９】
図５（Ｂ）の転送パケット７０は、転送ヘッダ７２と転送データ７６で構成され、更に付加情報７４を備えている。転送データ７６には図５（Ａ）のクライアントから受信した受信パケット６４がそのまま格納されている。
【００６０】
クライアントからの受信パケット６４を転送データ７６とする転送パケット７０としては、例えばユーザデータグラム・プロトコルパケット（ＵＤＰパケット）を生成して送信する。このようにクライアントからの受信パケット６４を適宜の転送プロトコルの転送パケット７０の転送データ７６に含めて別のネットワークの広域負荷分散装置に送信することで、
▲１▼独自の転送プロトコルに従わせることができること
▲２▼付加情報７４を利用して、転送先で利用できる転送回数等の情報を加えられること
▲３▼転送のための接続を常時確立させて接続確立の手間を省略すること
など、図５（Ａ）の受信パケット６４のヘッダ６６のアドレス変換で転送する場合に比べ、より高い柔軟性や拡張性を持ち、高い転送効率を確保することができる。
【００６１】
再び図４を参照するに、転送受信部２６は、別のネットワークの広域負荷分散装置から図５（Ｂ）のような転送パケット７０を受信した際に、転送パケット７０の転送データ７６からクライアントパケット６４を取り出してサーバ転送部３４に供給する。
【００６２】
サーバ転送部３４は転送受信部２６からのクライアントパケットのサービス要求に対する提供先となるサーバを接続管理部３８による接続情報テーブル４０の検索で取得し、取得した振分先のサーバに対しクライアントパケットのデータを転送する。この場合、クライアントパケットの宛先と送信元をアドレス変換してサーバ側に転送する。
【００６３】
クライアント中継部３６は、転送先の広域負荷分散装置を経由して直接クライアントに中継する場合と、転送先の広域負荷分散装置を経由せずに転送元の広域負荷分散装置を経由してクライアントに中継するルートとで機能が異なる。
【００６４】
まず転送元の広域負荷分散装置を経由する中継ルートについては、クライアント中継部３６はネットワーク１０−１側のサーバからサーバパケットを受信すると、宛先と送信元のアドレス変換を行ってネットワーク１０−２より直接クライアントにサーバパケットを中継する。
【００６５】
これに対し転送元の広域負荷分散装置を経由する中継ルートにあっては、ネットワーク１０−４側よりサーバパケットをクライアント中継部３６が受信すると、このサーバパケットの宛先と送信元をアドレス変換し、ネットワーク１０−１を経由してクライアントに中継する。クライアント中継部３６におけるサーバパケットのアドレス変換の際には、接続管理部３８により接続情報テーブル４０を検索してクライアント転送元及びサーバの対応関係を取得してアドレス変換を行う。
【００６６】
図６（Ａ）は、図４の接続情報テーブル４０の説明図である。接続情報テーブル４０は、クライアント領域４０−１、転送元領域４０−２及びサーバ領域４０−３を備えており、それぞれアドレスとポート番号を格納する。
【００６７】
この接続情報テーブル４０は、基本的には図４の転送受信部２６で他の広域負荷分散装置より受信した図８（Ｂ）の転送パケット７０の転送データ７６に含まれているプロトコルパケット６４から得られたクライアント及び転送元のアドレスとポート番号により検索し、対応するサーバのアドレスとポート番号を取得する。
【００６８】
このとき最初のサービス接続要求の転送パケットであった場合には、転送パケットから得られたクライアントと転送元のアドレス及びポート番号で接続情報テーブル４０を検索しても振分先のサーバのアドレスとポート番号は得られない。この場合には図４の負荷情報管理部４２にサーバ振分けを依頼する。
【００６９】
負荷情報管理部４２は、自己のネットワーク１０−１に存在するサーバについての負荷情報テーブル４４の負荷情報に基づいて振分先のサーバを選択し、選択したサーバのアドレスとポート番号をクライアント及び転送元のアドレス及びポート番号と共に接続情報テーブル４０に新規登録する。
【００７０】
そして新規登録後に再度、転送パケットから得られたクライアントと転送元のアドレス及びポート番号で接続情報テーブル４０を検索することで、振分先のサーバのアドレスとポート番号を獲得することができる。
２．広域負荷分散処理その１
広域負荷分散処理その１は、図３の広域負荷分散装置１２−１に対するクライアント１６からのサービス要求に対し、他のネットワーク１０−２のサーバにサービス提供を振り分けた際に、サーバからの応答パケットの中継を、転送元の広域負荷分散装置１２−１を経由せず転送先の広域負荷分散装置１２−２を経由して直接クライアント１６に中継する処理である。
【００７１】
まず図３のサービス振分部２０でクライアント１６からのサービス要求に対し、自己のネットワーク１０−１のサーバをサービス提供先に振り分けた際の処理を、図７を参照して説明する。
【００７２】
図７において、ネットワーク１０−４のサーバ１６がクライアントパケット４６を広域負荷分散装置１２−１に送ってサービス要求を行ったとする。このクライアントパケット４６によるサービス要求に対し、広域負荷分散装置１２−１は、そのときの負荷情報に基づいて、例えば自己のネットワーク１０−１に属するサーバ１４−３をサービス提供先として割り振ったとする。
【００７３】
このため、クライアント１６からのクライアントパケット４６は広域負荷分散装置１２−１でアドレス変換４５が行われ、クライアントパケット４８としてサーバ１４−３に転送される。即ち、クライアント１６からのクライアントパケットは要求ルートＲ１により広域負荷分散装置１２−１に送られ、アドレス変換４５を経て振分ルートＲ２によりクライアント１４−３に転送される。
【００７４】
このような要求ルートＲ１及び振分ルートＲ２によるサービス要求を受けたクサーバ１４−３は、応答用のサーバパケット５０を中継ルートＲ３によって広域負荷分散装置１２−１に送り、アドレス変換４５で中継パケット５２として中継ルートＲ４によりクライアント１６に送る。
【００７５】
ここでクライアント１６のアドレスをＣｘ、広域負荷分散装置１２−１のアドレスをＬｘ、振り分けられたサーバ１４−３のアドレスをＳ３とする。但し、各アドレスＣｘ，Ｌｘ及びＳ３にはポート番号も含むものであるが、説明を簡単にするため、単にアドレスとする。
【００７６】
クライアント１６からのクライアントパケット４６は、送信元がクライアントアドレスＣｘであり、宛先が広域負荷分散装置アドレスＬｘとなっている。このクライアントパケット４６の送信元と宛先のアドレスは、アドレス変換４５により転送パケット４８に示す送信元が広域負荷分散装置アドレスＬｘ、宛先が振分先となるサーバアドレスＳ３に変換される。
【００７７】
一方、サーバ１４−３からの応答用のサーバパケット５０は、送信元をサーバアドレスＳ３、宛先を広域負荷分散装置アドレスＬｘとしており、アドレス変換４５により中継パケット５２に示すように、送信元は広域負荷分散装置１２−１に変換され、宛先はクライアントアドレスＣｘに変換されている。
【００７８】
この図７のように、サービス要求に対し自己のネットワークのクライアントを振り分けた際の振分ルート及び中継ルートにおけるアドレス変換ルールをアドレス変換ルール１とすると、次のようにまとめることができる。
0003633321.tif 000002
図８は、図３の広域負荷分散装置１２−１に対しクライアント１６よりサービス要求のクライアントパケットが送られた際に、そのサービス振分部２０で別のネットワーク１０−２のサーバをサービス提供先として振り分けた場合の処理動作である。
【００７９】
図８において、クライアント１６からのクライアントパケット５４は、サービス要求ルートＲ１により広域負荷分散装置１２−１に送られる。このクライアントパケット５４に対し、広域負荷分散装置１２−１でそのときの負荷情報を参照し、自己のネットワーク１２−１のサーバ１４−１１〜１４−１ｎは負荷が大きく、このため他のネットワーク１０−２のサーバの振分けが行われたとする。
【００８０】
この他のネットワーク１０−２のサーバ振分けに伴い、他のネットワーク１０−２に設けている広域負荷分散装置１２−２のアドレスＬｙが獲得できることから、クライアントパケット５４を転送データに含めた図５（Ｂ）の転送パケット７０と同様な転送パケット５６を作成し、ネットワーク１０−４を経由して転送ルートＲ２により広域負荷分散装置１２−２に転送する。
【００８１】
この転送パケット５６を受信した広域負荷分散装置１２−２は、転送パケット５６の転送データからクライアントパケット５４を取り出し、そのアドレスを変換して、クライアントパケット５８としてネットワーク１０−２を経由して振分け先のサーバ１４に転送する。
【００８２】
サーバ１４からはサービス応答としてのサーバパケット６０がネットワーク１０−２を経由して転送先の広域負荷分散装置１２−２に送られ、サーバパケット６０をアドレス変換し、中継ルートＲ５によって中継パケット６２を直接ネットワーク１０−４を経由してクライアント１６に転送する。
【００８３】
ここで転送パケット５６を受信した転送先の広域負荷分散装置１２−２におけるアドレス変換は、次のアドレス変換ルール２に従って行われる。
0003633321.tif 000003
ここで転送パケット５６を受信してクライアントパケット５８をサーバ１４に送る際のアドレス変換は、サービス振分けのための振分ルートとなるクライアント１６、転送元１２−１、転送先１２−２及びサーバ１４のアドレス遷移（Ｃ−Ｌｘ−Ｌｙ−Ｓ）に従っている。
【００８４】
これに対しサーバ１４からクライアント１６に対する中継ルートにあっては、サーバ１４、転送先１２−２、クライアント１６となる中継ルートアドレス（Ｓ−Ｌｙ−Ｃ）ではなく、転送先１２−２で変換前の宛先Ｌｙをそのまま変換後の送信元とせずに、転送元１２−１のアドレスを変換後の送信元アドレスＬｘとしている。
【００８５】
このため、サービス要求を行ったクライアント１６は中継ルートＲ５によって送信元を転送元アドレスＬｘとした中継パケット６２を別のネットワークの広域負荷分散装置１２−２から直接受け、クライアントパケット５４の宛先アドレスＬｘと中継パケット６２の送信元アドレスＬｘが一致することで整合性を保つことができる。
【００８６】
またサーバ１４からのサーバパケット６０の中継を、転送元の広域負荷分散装置１２−１を経由せずに転送先の広域負荷分散装置１２−２から直接クライアント１６に中継することで、転送元を経由した場合の中継ルートによるオーバヘッドを防ぐことができる。
【００８７】
図９は、図８の転送先の広域負荷分散装置１２−２で転送パケットを受信した際のサービス振分処理の詳細である。
【００８８】
図９において、転送先の広域負荷分散装置１２−２の転送受信部２６で転送パケット７０を受信すると、ヘッダ７２に続く転送データ７４からクライアントパケット６４を抽出し、サービス振分部２０に供給する。サービス振分部２０は転送受信部２６から供給されたクライアントパケット６４のヘッダ６６よりクライアントアドレスＣと転送元アドレスＬｘを取り出し、接続情報テーブル４０の検索８０−１，８０−２を実行する。
【００８９】
接続情報テーブル４０は、最初の接続要求の転送パケットの受信時にはクライアント転送元及びサーバの対応関係の登録がないことから、この場合には負荷情報に基づいてサーバ選択８２を行い、クライアントＣ、転送元Ｌｘ及び振分け先となったサーバＳの登録７４を行う。
【００９０】
この登録７４を行った後に、再度クライアントパケット６４から得られたクライアントアドレスＣ及び転送元アドレスＬｘで検索８０−１，８０−２を実行し、振分先サーバアドレスＳを獲得する。そこでクライアントパケット６４のヘッダのアドレスをクライアントパケット８６のヘッダ８８のようにアドレス変換し、自己のネットワークの振分先のサーバに送信する。
【００９１】
図１０は、図８においてサービス振分け先のサーバ１４からサービス応答用のサーバパケットを受信した場合の転送先の広域負荷分散装置１２−２におけるサービス振分部２０の処理動作である。
【００９２】
自己のネットワークのサーバ１４からサーバパケット６０を受信すると、そのヘッダ９６に含まれるサーバアドレスＳによって接続情報テーブル４０の検索１００を実行する。
【００９３】
このとき図９に示した転送パケットの振分処理の際に、このサービスに関するクライアント転送元及びサーバの対応関係が既に登録されているため、サーバアドレスＳに対応するクライアントアドレスＣと転送元アドレスＬｘが得られる。そこでサーバパケット６０のヘッダ９６を中継パケット６２のヘッダ１０４のようにアドレス変換し、ネットワークを経由してクライアントに送信する。
【００９４】
図１１は、図６のサービス振分処理のタイムチャートである。まずクライアント１６がステップＳ１でサービス要求を発生するとクライアントパケットを生成し、送信元をクライアントアドレスＣ、宛先を広域負荷分散装置１２−１の装置アドレスＬｘとしてパケット転送１０８を行う。
【００９５】
１０８のクライアントパケットを受信した広域負荷分散装置１２−１は、ステップＳ１１で要求サービスの振分けとなる転送先の広域負荷分散装置１２−２を決定し、転送パケットを生成し、パケット転送１１０を行う。
【００９６】
パケット転送１１０を受けた転送先の広域負荷分散装置１２−２は、ステップＳ２１で受信した転送パケットからクライアントパケットを取り出し、負荷情報に基づいてサーバを選択し、取り出したクライアントパケットのアドレス変換を行ってサーバ１４に対しパケット転送１１２を行う。続いてステップＳ２２で接続管理テーブルにクライアント転送元及びサーバの関係を登録する。
【００９７】
広域負荷分散装置１２−２からパケット転送１１２を受けたサービス提供先に振り分けられたサーバ１４は、ステップＳ３１でパケットデータに基づいたサービス処理を実行し、ステップＳ２でサービス応答書処理としてサーバパケットをパケット転送１１４により広域負荷分散装置１２−２に送る。
【００９８】
このサーバ１４からのサーバパケットは、ステップＳ２３でアドレス変換され、中継パケットとして直接クライアント１６にパケット転送１１６が行われる。この中継パケットを受けてクライアント１６は、ステップＳ２でサービスパケットの受信処理を行う。
【００９９】
続いてクライアント１６は、ステップＳ３で同じサービス要求の２回目を行い、２回目のサービス要求のクライアントパケットについても、ステップＳ１２で広域負荷分散装置１２−１が転送パケットを生成し、パケット転送１２０を行い、転送先の広域負荷分散装置１２−２がステップＳ２４でパケット取出し、サーバ選択及びアドレス変換を行って、サーバ１４にパケット転送１２２を行う。
【０１００】
このときステップＳ２１，Ｓ２２の最初のサービス要求の接続処理によって、接続管理テーブル４０には既にクライアント転送元及びサーバの対応関係が登録されていることから、接続管理テーブル４０の検索で直ちに振分先のサーバＳが決まり、負荷情報に基づくサーバ振分けを行うことなく、同じサーバ１４に対しサービスを継続することができる。
【０１０１】
２回目のサービス要求に対しては、サーバ１４がステップＳ３３でサービス処理を行い、ステップＳ３４でサービス応答処理としてサーバパケットを送り出し、転送先の広域負荷分散装置１２−２が、ステップＳ２５でアドレス変換により中継パケットをパケット転送１２６によって直接クライアント１６に対し行い、ステップＳ４でサービス受信処理が行われる。このようなサービス要求を、終了パケットをクライアント１６が送り出すまで同様に繰り返す。
【０１０２】
図１２は、図７及び図８のアドレス変換ルール１，２に従った本発明の広域負荷分散装置の振分処理のフローチャートである。まずステップＳ１でクライアントパケットを受信すると、ステップＳ２で負荷情報に基づき振分先となる宛先サーバを決定する。決定した宛先サーバが他の広域負荷分散装置に属する場合には、ステップＳ３で他の広域負荷分散装置への転送が判別され、ステップＳ４で転送パケットを作成して、他の広域負荷分散装置に転送する転送処理が行われる。
【０１０３】
一方、ステップＳ３で自己のネットワークのサーバが宛先として決定されていた場合には、ステップＳ３でネットワークを経由して直接サーバに転送処理を行う。
【０１０４】
次にステップＳ６で他の広域負荷分散装置からの転送パケットが受信された場合には、転送パケットから抽出したクライアントパケットのクライアントアドレスと転送元アドレスにより、ステップＳ７で接続情報テーブル４０を検索し、ステップＳ８で転送先サーバのアドレスと振分ポート番号が取得できたか否かチェックする。
【０１０５】
最初のサービス接続要求では転送先サーバのアドレス及び振分ポート番号が得られないことから、ステップＳ９に進み、そのときの負荷情報に基づき、振分先となる転送先サーバを選択し、選択した転送先サーバのアドレスと振分ポート番号を取得し、ステップＳ１１で接続管理テーブル４０に登録し、再びステップＳ７でテーブル検索を行う。
【０１０６】
これによって、新規登録された転送先サーバのアドレスと振分ポート番号が取得でき、ステップＳ１１でサーバ転送処理を行う。
【０１０７】
続いて図１３のステップＳ１２で転送後にサーバからサービス応答のサーバパケットを受信した場合には、ステップＳ１３で接続管理テーブルを検索して転送先、転送元及びクライアントのアドレス及びポート番号を取得し、サーバパケットのアドレスを変換して中継パケットとしてクライアントに転送する。
【０１０８】
図１４は、図１２のステップＳ６〜Ｓ１１の転送パケット受信処理の他の実施形態であり、この実施形態にあっては転送パケットの接続要求とサービス中を接続要求ポートとサービス中ポートで識別して受信し、接続要求ポートで転送パケットを受信した場合には接続管理テーブルの検索処理を行えないようにしたことを特徴とする。
【０１０９】
図１４において、ステップＳ１で転送パケットが接続要求ポートで受信されると、ステップＳ２に進み、接続管理テーブルを検索することなく直ちに負荷情報に基づき転送先サーバのアドレスと振分ポート番号を取得し、ステップＳ３で管理テーブルに登録し、ステップＳ６でサーバ転送処理を行う。
【０１１０】
このため、接続要求時の図１２のステップＳ７で行っていた接続管理テーブルの検索処理が不要となり、その分、処理負担を低減できる。
【０１１１】
一方、ステップＳ１でサービス中ポートでの受信が判別されると、ステップＳ４で接続管理テーブルの検索を行って、ステップＳ５で転送先サーバのアドレスと振分ポート番号を取得し、ステップＳ６でサーバ転送処理を行う。
【０１１２】
図１５は、図１２のステップＳ６〜Ｓ１１の転送パケット受信処理の他の実施形態である。この実施形態にあっては、図１６のように転送パケット７０の転送ヘッダ７２に続く付加情報として接続要求かサービス中かを示すフラグ情報１２８を設け、このフラグ情報１２８から接続要求かサービス中かを判別して接続管理テーブルの検索の有無を判断するようにしている。
【０１１３】
図１５において、まずステップＳ１で転送パケットから取り出した図１６のフラグ情報１２８が接続要求を示すオン状態か否かチェックする。オン状態であればステップＳ２に進み、負荷情報に基づき転送先サーバを選択してアドレスと振分ポート番号を取得し、ステップＳ３で接続管理テーブルに登録した後、ステップＳ６でサーバ転送処理を行う。
【０１１４】
これに対し、ステップＳ１で接続要求フラグがオフとなるサービス中であった場合には、ステップＳ４で接続管理テーブルを検索して、ステップＳ５で転送先サーバのアドレスと振分けポート番号を取得し、ステップＳ６でサーバ転送処理を行うことになる。
【０１１５】
図１７は図８のアドレス変換ルール２に従ったサービス振分処理の他の処理動作であり、相違点は、広域負荷分散装置１２−１のネットワーク１０−１に属するクライアント１６からサービス要求が行われた点である。
【０１１６】
この場合にも図８の場合と同様、要求ルートＲ１で送られたプロトコルパケット５４は転送元の広域負荷分散装置１２−１で転送パケットのデータに含めて転送パケット５６として転送ルートＲ２により別のネットワーク１０−２の転送先となる広域負荷分散装置１２−２に転送され、転送パケット５６から抽出したプロトコルパケットをアドレス変換したプロトコルパケット５８を振分先のサーバ１４に送る。
【０１１７】
サーバ１４からの応答パケット６０は、転送先の広域負荷分散装置１２−２で転送パケット６２にアドレス変換され、転送元の広域負荷分散装置１２−１を通らない中継ルートＲ５を経由して、直接クライアント１６に中継パケット６２を送る。
３．広域負荷分散処理その２
広域負荷分散処理その２は、クライアントから転送されたサービス要求の振分先のサーバからの応答パケットの中継が、転送先の広域負荷分散装置１２−２を経由せず転送元の広域負荷分散装置１２−１を経由してクライアントに中継されることを特徴とする。
【０１１８】
図１８は、転送先を通らず転送元を通ってクライアントにサーバから中継されるアドレス変換ルール３が適用される広域負荷分散処理の説明図である。このアドレス変換ルール３は次のようになる。
0003633321.tif 000004
図１８において、クライアント１６は要求ルートＲ１によりクライアントパケット１３２を広域負荷分散装置１２−１に転送し、ここでクライアントパケット１３２を転送データに含む転送パケット１３４を作成して、転送ルートＲ２により別の広域負荷分散装置１２−２に転送する。
【０１１９】
このとき転送元の広域負荷分散装置１２−１にあっては、サーバからの中継パケットを受けるためのポートｐｘをオープンし、このオープンポートｐｘのポート番号とクライアントアドレスを、右側に取り出して示す接続管理テーブル４０−１１に登録する。
【０１２０】
転送先の広域負荷分散装置１２−２は、転送パケット１３４からクライアントパケット１３２を取り出し、接続要求時であれば負荷情報から振分先のサーバアドレスＳを獲得してアドレス変換したクライアントパケット１３６をネットワーク１０−２を経由して振分先のサーバ１４に転送する。このサーバ１４に対するプロトコルパケット１３６の転送元アドレスは、実際の転送を行う転送先アドレスＬｙではなく転送元アドレスＬｘに変換されている。
【０１２１】
サービス要求を受けたサーバ１４は、送信元となる転送先アドレスＬｘを宛先とし送信元をサーバアドレスＳとしたサーバパケット１３８を、転送先の広域負荷分散装置１２−２ではなくネットワーク１０−２とネットワーク１０−４の間に設けられているルータ１２８にルートＲ４で送り、ネットワーク１０−４を通る中継ルートＲ５によって中継パケット１４０を転送元の広域負荷分散装置１２−１に中継する。
【０１２２】
この中継パケット１４０の中継ルートＲ５は、転送元の広域負荷分散装置１２−１の手前でセキュリティ装置１３０を通っている。セキュリティ装置１３０は転送パケットの不正アドレスをチェックして、不正アドレスを発見すると不正アクセスと見なしてパケット転送を強制終了させる。
【０１２３】
ここで図８に示したアドレス変換ルール２の中継パケット６２にあっては、実際に送信元となっている転送先アドレスＬｙではなく転送元アドレスＬｘを送信元アドレスとしている。このため、セキュリティ装置１３０を通過する際に不正アドレスが判別され、サービスが解除されてしまう。
【０１２４】
しかしながら、図１９のアドレス変換ルール３による中継パケット１３８，１４０にあっては、送信元は実際に送信を行ったサーバアドレスＳで、宛先アドレスは実際に宛先となる転送元のアドレスＬｘであり、セキュリティ装置１３０の不正アドレスのチェックに該当せず、転送元の広域負荷分散装置１２−１のオープン状態にあるポートｐｘに転送され、更に中継パケット１４２としてアドレス変換されて中継ルートＲ６によりクライアント１６に送られる。
【０１２５】
図２０は、図１９のアドレス変換ルール３に従ったサービス振分処理のタイムチャートであり、転送元の広域負荷分散装置１２−１つきステップＳ１１でクライアント１６からクライアントパケットを受信した際に、別のネットワークの広域負荷分散装置１２−２を転送先として決定した際にポート割当てをポート番号ｐｘについて行ってポートをオープンした後に転送パケットを生成して送り、次のステップＳ１２で接続管理テーブルにクライアントＣ及びオープン状態としたポート番号の関係を登録する点が、図１１のアドレス変換ルール２の場合と異なる。    またサーバ１４のステップＳ２からのサービス応答処理に伴うパケット転送１４８は、転送元の広域負荷分散装置１２−１に対し行われる点も、図１１のアドレス変換ルール２と異なる。もちろん、ステップＳ２１，Ｓ１３，Ｓ２３，Ｓ１５における転送パケット受信時及びサーバパケット受信時のアドレス変換も、前述したアドレス変換ルール３に従う点で相違する。
【０１２６】
図２１は、図１９のアドレス変換ルール３を適用した場合のサービス振分処理のタイムチャートであり、クライアントからのサービス要求に対し自己のネットワークのサーバをサービス振分先に選択する場合には、図７に示したアドレス変換ルール１が適用される。
【０１２７】
このフローチャートにあっても、ステップＳ４でパケット転送の際にサーバ受信用のポートｐｘをオープンし、クライアント及びポートｐｘを接続管理テーブルに登録する点が図１２のフローチャートと相違する。またステップＳ１１及びステップＳ１４のサーバ転送及びクライアント中継転送におけるアドレス変換もアドレス変換ルール３に従う点で相違する。それ以外の点は図１２のアドレス変換ルール２の場合と基本的に同じである。
【０１２８】
ここで、本発明のサービス振分処理における図７に示した自己のネットワークのサーバにサービスを振り分けるアドレス変換ルール１を、他のネットワークのサーバにサービスを振り分けるアドレス変換ルール２，３と共通のアドレス変換とする処理を説明する。
【０１２９】
図８のアドレス変換ルール２にあっては、転送パケット受信時には、
（Ｃ／Ｌｙ→Ｌｘ／Ｓ）
のアドレス変換を行っている。一方、図７のアドレス変換ルール１におけるクライアントパケット受信時のアドレス変換は
（Ｃ／Ｌｘ→Ｌｘ／Ｓ）
である。したがって、アドレス変換ルール２のアドレス変換と同じアドレス変換をアドレス変換ルール１で実現するためには、図７のように自己のネットワークのサーバを振分先として選択した場合には広域負荷分散装置１２−１のアドレスを転送元アドレス及び転送先アドレスとする。
【０１３０】
即ち自己のネットワークのサーバを振分先として選択した場合には、
転送先アドレスＬｙ＝転送元アドレスＬｘ
としてアドレス変換ルール２を適用すると、アドレス変換ルール１のクライアントパケット受信時のアドレス変換（Ｃ／Ｌｘ→Ｌｘ／Ｓ）と同じアドレス変換ができる。
【０１３１】
アドレス変換ルール１のサーバパケット受信時のアドレス変換は（Ｓ／Ｌｘ→Ｌｘ／Ｃ）であり、これもアドレス変換ルール２のサーバパケット受信時のアドレス変換（Ｓ／Ｌｘ→Ｌｙ／Ｃ）について、Ｌｙ＝Ｌｘとした場合のアドレス変換と同じになる。
【０１３２】
即ち、図７の自己のネットワークのサーバをサービス振分先として選択した場合には、図８のアドレス変換ルール２における転送パケット受信時のアドレス変換とサーバパケット受信時のアドレス変換のそれぞれについて、
転送先アドレスＬｙ＝転送元アドレスＬｘ
の関係に置き換えることで、アドレス変換ルール１のクライアントパケット受信時及びサーバパケット受信時のアドレス変換が実現でき、これによってアドレス変換ルール１と変換ルール２のアドレス変換機構を共通化できる。
【０１３３】
また図１９のアドレス変換ルール３にあっては、転送パケット受信時のアドレス変換（Ｃ／Ｌｘ→Ｌｘ／Ｓ）がアドレス変換ルール１のクライアントパケット受信時のアドレス変換と同じであり、またアドレス変換ルール３のサーバパケット受信時のアドレス変換（Ｓ／Ｌｘ→Ｌｘ／Ｃ）がアドレス変換ルール１のサーバパケット受信時のアドレス変換と同じであり、アドレス変換ルール１とアドレス変換ルール３のアドレス変換機構をそのまま共通化できる。
４．負荷情報管理処理
図２の広域負荷分散装置１２−１〜１２−３でサーバ振分けに使用する負荷情報は、図３及び図４に示す負荷情報送信部２６、負荷情報受信部２８、負荷情報管理部４２及び負荷情報テーブル４４により処理される。この処理のため、図２２ように、広域負荷分散装置１２−１〜１２−３はネットワーク１０−４を経由して互いに負荷情報を交換し、それぞれの負荷情報管理部４２により負荷情報テーブル４４に更新登録している。
【０１３４】
ここで負荷情報とは、クライアントからのサービス要求を受けた広域負荷分散装置が他のネットワークに設けている広域負荷分散装置を選択するときの基準となる情報であり、例えば
▲１▼高負荷でないサーバの数
▲２▼転送可能接続数
▲３▼転送許可及び禁止数
▲４▼サーバ負荷換算値
等を用いる。
【０１３５】
また各広域負荷分散装置１２−１〜１２−３に属するサーバの数ではなく、各広域負荷分散装置１２−１〜１２−３を１サーバと見なしてサーバ選択を行ってもよい。また、自己のネットワークに設けている全サーバが高負荷となったときまたは点検や故障等により停止した際に、他のネットワーク広域負荷分散装置を振分先として選択してもよい。
【０１３６】
広域負荷分散装置１２−１〜１２−３相互間における負荷情報の送信は、図４に示した負荷情報送信部２６が行う。負荷情報送信部２６による負荷情報の送信は、定期的に送信してもよいし負荷情報の更新時に送信してもよい。また負荷情報の送信先は、予め定めた広域負荷分散装置であってもよく、また負荷情報を送ってきた広域負荷分散装置であってもよい。
【０１３７】
他の広域負荷分散装置から送信された負荷情報は、図４の負荷情報受信部２８で受信する。負荷情報受信部２８は負荷情報を受信する度に負荷情報管理部４２によって負荷情報テーブル４４を更新し、この結果、受信された負荷情報がサーバ振分部３２における振分処理に反映できる。
【０１３８】
例えば負荷情報受信部２８で他の広域負荷分散装置から高負荷でないサーバの数を受け取ったとき、この負荷情報送信元の広域負荷分散装置を振分先候補として、負荷情報テーブル４４に未登録であれば登録し、更に高負荷でないサーバの数等の負荷情報を併せて更新する。
【０１３９】
また他の広域負荷分散装置より負荷情報として転送禁止を受信した場合には、該当する広域負荷分散装置を振分先候補から外す。
【０１４０】
図２３は、本発明の広域負荷分散装置における負荷情報の管理処理の他の実施形態であり、広域負荷分散装置１２−１〜１２−３に対し負荷情報を一括管理する負荷振分指示装置１８を別途設けたことを特徴とする。
【０１４１】
この場合、広域負荷分散装置１２−１〜１２−３は負荷振分指示装置１８に対してのみ負荷情報を送信し、負荷振分指示装置１８は負荷情報を受信して負荷情報の更新を行った際に、各広域負荷分散装置１２−１〜１２−３に更新済みの負荷情報を送る。
【０１４２】
このように負荷振分指示装置１８で複数の広域負荷分散装置１２−１〜１２−３の負荷情報を一括管理することで、広域負荷分散装置１２−１〜１２−３の相互間での負荷情報の送受信によりネットワークの負荷が上昇することを防ぎ、負荷情報を集中管理することで管理コストや負荷情報の柔軟性や拡張性を高めることができる。
【０１４３】
図２４は本発明の広域負荷分散装置を用いたネットワーク構成の他の実施形態である。このネットワーク構成にあっては、例えば３つのネットワーク１０−１〜１０−３をそれぞれの広域負荷分散装置１２−１，１２−２により直列に接続したことを特徴とする。この広域負荷分散装置によりネットワークを直列に接続する構成は、ネットワークの規模が大きい場合もしくは振分先となるサーバの数が多い場合に、ネットワーク１０−１とネットワーク１０−２に分割して負荷分散を分担できる利点がある。
【０１４４】
尚、上記の実施形態は、複数のネットワークにつき３台の広域負荷分散装置を設けた場合を例にとっているが、本発明は少なくとも２台の広域負荷分散装置を設けた場合に有効である。また本発明は目的及び利点を損なわない範囲の変形を全て含む。更に本発明は上記の実施形態による数値の限定は受けない。
【０１４５】
【発明の効果】
以上説明してきたように本発明によれば、異なるネットワークに属するサーバ間での負荷分散及び故障隠蔽が実現でき、これによって負荷分散対象とするサーバの設置場所の制約がなくなり、柔軟性及び拡張性の高い広域に亘る負荷分散のための振分処理が実現でき、ネットワークサーバの効率的な利用とサービスの安定性を高めることができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明の広域負荷分散装置を備えたネットワーク構成図
【図３】本発明の広域負荷分散装置のブロック図
【図４】図３の広域負荷分散装置におけるサービス振分部の機能ブロック図
【図５】図３の接続情報テーブルの説明図
【図６】本発明の広域負荷分散装置による自己のネットワークのサーバに対するサービス振分処理の説明図
【図７】本発明の広域負荷分散装置による別のネットワークのサーバに対するサービス振分処理の説明図
【図８】図７でクライアントから受信するクライアントパケットと別の広域負荷分散装置に転送する転送パケットの説明図
【図９】図７で本発明の広域負荷分散装置が転送パケットを受信した際のサーバ転送処理の説明図
【図１０】図７で本発明の広域負荷分散装置が転送済みサービスに対しサーバからサーバパケットを受信した際のクライアント転送処理の説明図
【図１１】図７の広域負荷分散装置で別のネットワークのサーバにサービス振分けを行った際の処理動作のタイムチャート
【図１２】本発明の広域負荷分散装置による図６及び図７のサービス振分処理のフローチャート
【図１３】図１２に続くサービス振分処理のフローチャート
【図１４】転送パケットを接続要求ポートとサービス継続中ポートで区別して受信する場合の本発明の広域負荷分散装置による転送パケット受信処理のフローチャート
【図１５】転送パケットに付加した接続要求かサービス中かのフラグ情報を認識して接続管理テーブルの検索の有無を決める本発明の広域負荷分散装置による転送パケット受信処理のフローチャート
【図１６】図１５で使用するフラグ情報付きの転送パケットの説明図
【図１７】図７において自己のネットワークのクライアントからサービス要求を受けた場合のサービス振分処理の説明図
【図１８】転送済みサーバからのサーバパケットの転送経路に不正アドレスをチェックするセキュリティ装置が配置された場合の本発明の広域負荷分散装置によるサービス振分処理の説明図
【図１９】図１８のサービス振分処理のタイムチャート
【図２０】図１８のサービス振分処理のフローチャート
【図２１】図２０に続くサービス振分処理のフローチャート
【図２２】本発明における負荷情報交換処理の第１実施形態の説明図
【図２３】本発明における負荷情報交換処理の第２実施形態の説明図
【図２４】ネットワークに対し本発明の広域負荷分散装置を直列接続した説明図
【符号の説明】
１０−１〜１０−４：ネットワーク
１２−１〜１２−３：広域負荷分散装置
１４，１４−１〜１４−ｎ：サーバ
１６，１６−１〜１６−３：クライアント
１８：負荷振分指示装置
２０：サービス振分部
２４：転送送信部
２６：転送送受信部
２８：負荷情報送受信部
３０：負荷情報送信部
３２：サービス転送部
３４：サーバ転送部（要求パケット転送部）
３６：クライアント転送部（応答パケット転送部）
３８：接続管理部
４０，４０−１，４０−２：接続管理テーブル
４１：クライアント（要求元）
４２：負荷情報管理部
４４：負荷情報テーブル
４６，５４，１３２：クライアントパケット
４８，５８，１３６：サーバ転送パケット
５０，５８，６０，１３８：サーバパケット
５２，６２，１４２：クライアント転送パケット
５６，１３４：サービス転送パケット
６４：受信パケット（クライアントパケット）
６６：ヘッダ
６８：データ
７０：サービス転送パケット
７２：転送ヘッダ
７４：負荷情報
７６：転送データ
１３０：セキュリティ装置
【図１】
0003633321.tif 000005
【図２】
0003633321.tif 000006
【図３】
0003633321.tif 000007
【図４】
0003633321.tif 000008
【図５】
0003633321.tif 000009
【図６】
0003633321.tif 000010
【図７】
0003633321.tif 000011
【図８】
0003633321.tif 000012
【図９】
0003633321.tif 000013
【図１０】
0003633321.tif 000014
【図１１】
0003633321.tif 000015
【図１２】
0003633321.tif 000016
【図１３】
0003633321.tif 000017
【図１４】
0003633321.tif 000018
【図１５】
0003633321.tif 000019
【図１６】
0003633321.tif 000020
【図１７】
0003633321.tif 000021
【図１８】
0003633321.tif 000022
【図１９】
0003633321.tif 000023
【図２０】
0003633321.tif 000024
【図２１】
0003633321.tif 000025
【図２２】
0003633321.tif 000026
【図２３】
0003633321.tif 000027
【図２４】
0003633321.tif 000028