(57)【要約】【課題】負荷分散のための処理を軽減する。【解決手段】通信システムは、サービスを要求する通信装置、サービスの提供に使用される複数のサーバ、複数の負荷分散装置を備える。複数の負荷分散装置は、サービスの要求による負荷を複数のサーバに分散させる。ここで、受信装置は、複数の負荷分散装置のうち、通信装置から要求パケットを受信する負荷分散装置である。受信装置は、要求パケット中のデータから、複数のサーバのうちで要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出する。受信装置は、付加情報に対応付けられたサーバを特定する情報である特定情報を、要求パケットのヘッダ中に付加することにより、要求パケットを転送パケットに変換する。受信装置は、受信装置から前記処理サーバまでに至る経路に含まれている負荷分散装置に、転送パケットを転送する。【選択図】図２
2014225157.tif 000002
【特許請求の範囲】
【請求項１】
サービスを要求する通信装置と、
前記サービスの提供に使用される複数のサーバと、
前記サービスの要求による負荷を前記複数のサーバに分散させる複数の負荷分散装置
を備え、
前記複数の負荷分散装置のうち、前記通信装置から要求パケットを受信する負荷分散装置である受信装置は、
前記要求パケット中のデータから、前記複数のサーバのうちで前記要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出し、
前記付加情報に対応付けられたサーバを特定する情報である特定情報を、前記要求パケットのヘッダ中に付加することにより、前記要求パケットを転送パケットに変換し、
前記受信装置から前記処理サーバまでに至る経路に含まれている負荷分散装置に、前記転送パケットを転送する
ことを特徴とする通信システム。
【請求項２】
前記転送パケットを受信した負荷分散装置は、前記転送パケットのヘッダを解析することにより、前記特定情報を取得し、
前記特定情報で特定されるサーバに向けて、前記転送パケットを転送する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記処理サーバから、前記端末宛の前記付加情報を含むパケットである応答パケットを受信した負荷分散装置である通知装置は、
前記応答パケット中のデータから前記付加情報を抽出し、
前記付加情報と前記処理サーバを識別する識別情報を、前記応答パケットのヘッダ中に含めることにより、前記応答パケットを、前記処理サーバの情報を通知する通知パケットに変換し、
前記通知装置から前記端末に至る経路に含まれている負荷分散装置に、前記通知パケットを転送する
ことを特徴とする請求項１または２に記載の通信システム。
【請求項４】
前記通知パケットを受信した負荷分散装置は、
前記通知パケットのヘッダを解析することにより、前記付加情報と前記識別情報の組み合わせを取得し、
前記識別情報を、前記付加情報を生成した処理サーバを特定する特定情報として、前記付加情報に対応付けて記憶し、
前記通知パケットを前記端末に向けて転送する
ことを特徴とする請求項３に記載の通信システム。
【請求項５】
前記受信装置は、前記通知パケットを受信すると、
前記通知パケットのヘッダを解析することにより、前記付加情報と前記識別情報の組み合わせを取得し、
前記識別情報を、前記付加情報を生成した処理サーバを特定する特定情報として、前記付加情報に対応付けて記憶し、
前記通知パケットのヘッダから、前記付加情報と前記識別情報を削除することにより、前記通知パケットを前記応答パケットに変換し、
前記応答パケットを、前記端末に送信する
ことを特徴とする請求項３に記載の通信システム。
【請求項６】
前記通知装置は、前記転送パケットを受信すると、
前記転送パケットのヘッダから、前記特定情報を削除することにより、前記転送パケットを前記要求パケットに変換し、
前記要求パケットを、前記処理サーバに送信する
ことを特徴とする請求項３〜５のいずれか１項に記載の通信システム。
【請求項７】
複数のサーバと複数の負荷分散装置を含むネットワーク中で動作する第１の負荷分散装置であって、
サービスを要求する通信装置から要求パケットを受信する受信部と、
前記要求パケット中のデータから、前記複数のサーバのうちで前記要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出する抽出部と、
前記付加情報に対応付けられたサーバを特定する情報である特定情報を検索する検索部と、
前記要求パケットのヘッダ中に前記特定情報を付加することにより、前記要求パケットを、前記特定情報を含むパケットである転送パケットに変換する変換部と、
前記第１の負荷分散装置から前記処理サーバまでに至る経路に含まれている第２の負荷分散装置に、前記転送パケットを転送する送信部
を備えることを特徴とする負荷分散装置。
【請求項８】
前記受信部で受信したパケットのヘッダに前記特定情報が含まれているかを判定するとともに、前記特定情報を取得する取得部をさらに備え、
前記取得部は、前記特定情報が含まれていないパケットを、前記抽出部の処理対象として前記抽出部に通知し、
前記送信部は、前記取得部が前記特定情報を抽出できたパケットを、前記特定情報で特定されるサーバに向けて転送する
ことを特徴とする請求項７に記載の負荷分散装置。
【請求項９】
複数のサーバと複数の負荷分散装置を含むネットワーク中で動作する第１の負荷分散装置であって、
前記複数のサーバに含まれる処理サーバから、前記処理サーバへサービスを要求した端末に対する応答データと、前記処理サーバの識別に用いるために前記処理サーバが前記応答データに付加する情報である付加情報を含む応答パケットを受信する受信部と、
前記応答パケット中のデータから、前記付加情報を抽出する抽出部と、
前記付加情報と前記処理サーバを識別する識別情報を、前記応答パケットのヘッダ中に付加することにより、前記応答パケットを、前記処理サーバの情報を通知する通知パケットにする情報付加部と、
前記通知パケットを、前記端末に至る経路に含まれる第２の負荷分散装置に送信する送信部
を備えることを特徴とする負荷分散装置。
【請求項１０】
複数のサーバと複数の負荷分散装置を含むネットワーク中で動作する第１の負荷分散装置に、
サービスを要求する通信装置からパケットを受信し、
前記パケット中のデータから、前記複数のサーバのうちで前記パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出し、
前記付加情報に対応付けられたサーバを特定する情報である特定情報を検索し、
前記パケットのヘッダ中に前記特定情報を付加することにより、前記パケットを、前記特定情報を含むパケットである転送パケットに変換し、
前記第１の負荷分散装置から前記処理サーバまでに至る経路に含まれている第２の負荷分散装置に、前記転送パケットを転送する
処理を行わせることを特徴とする負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで行われる負荷分散に関する。
【背景技術】
【０００２】
クライアントサーバシステムでは、クライアントとなっている端末がサーバにリクエストを送信し、サーバは、リクエストに応じた処理結果を端末に送信する。端末の数が多くなると、サーバへの負荷が大きくなる。このため、ネットワーク中に、複数のサーバと負荷分散装置が設置されることがある。複数のサーバと負荷分散装置を備えるネットワークにおいて、負荷分散装置は、システムを効率的に運用するために、端末からのリクエストを、そのリクエストの処理に適したサーバに振り分ける。
【０００３】
負荷分散技術に関連する技術として、一意性保障技術がある。一意性保障技術は、同一の端末から送信されてくるリクエストの中で関連のあるリクエストを同じサーバに振り分けることにより、１つのセッションを維持するための技術である。図１は、一意性を保障できる負荷分散システムで行われる処理の例を示す図である。
【０００４】
（Ａ）端末が初めてサーバにアクセスするときに、負荷分散装置は、予め設定されている分散方式に基づいて、リクエストを振り分けるサーバを決定する。
【０００５】
（Ｂ）リクエストが振り分けられたサーバは、付加情報を生成し、端末への応答データに挿入する。ここで、付加情報は、例えば、ｃｏｏｋｉｅ情報など、リクエストが振り分けられたサーバを一意に識別できる情報である。サーバからの応答データを含むパケットは、負荷分散装置に送信される。負荷分散装置は、パケットから付加情報を取得し、付加情報に対応付けて、負荷分散装置に付加情報を含むパケットを送信してきた装置を識別する情報を記憶する。図１の場合、負荷分散装置は応答データを作成したサーバから、直接、付加情報を含むパケットを受信しているので、リクエストが振り分けられたサーバの識別情報が、付加情報と対応付けて記憶される。負荷分散装置は、応答データを含むパケットを、端末に送信する。
【０００６】
（Ｃ）端末は、サーバから付加された付加情報を記憶し、次にサーバにアクセスするときのリクエストに、付加情報を含める。
【０００７】
（Ｄ）端末からリクエストパケットを受信した負荷分散装置は、リクエストパケットから付加情報を取得する。負荷分散装置は、付加情報に対応付けられたサーバを、リクエストパケットの送信先とする。
【０００８】
近年、システムの規模やサーバ規模の拡大に伴って、複数の負荷分散装置を備えるネットワークも使用されている。この場合、複数の負荷分散装置が、多段階に配置される。
【０００９】
関連する技術として、ネットワークに接続された前段負荷分散装置と、前段負荷分散装置に接続された複数の後段負荷分散装置を備える多段負荷分散装置が考案されている。多段負荷分散装置では、後段負荷分散装置ごとに、１つ以上のサーバが接続されている（例えば、特許文献１）。
【００１０】
また、移動端末が接続されるネットワークで負荷分散を行うシステムも提案されている。負荷分散装置は、一連の通信内のパケットを、サービス提供サーバとの間に設置されている複数のゲートウェイのうちの同じゲートウェイに振り分ける。パケットが振り分けられたゲートウェイは、一連の通信内のパケットを、同一のサービスを実行可能なサービス提供サーバのいずれかに振り分ける（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−２２７９６３号公報
【特許文献２】特開２００７−３１２４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
負荷分散装置が多段階に設置される場合、アプリケーションレベルでの一意性を保障するために、前段の負荷分散装置と後段の負荷分散装置の両方で、パケットの解析が行われる。このため、各負荷分散装置において、パケットのバッファリング、パケットの解析、サーバの振り分けの判別の処理が行われることになる。このため、ネットワーク中の負荷分散装置の台数に比例して、システム全体での負荷分散のための処理負荷が高くなるという問題がある。
【００１３】
１つの側面では、本発明は、負荷分散のための処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【００１４】
実施形態に係る通信システムは、通信装置、複数のサーバ、複数の負荷分散装置を備える。通信装置は、サービスを要求する。複数のサーバは、前記サービスの提供に使用される。複数の負荷分散装置は、前記サービスの要求による負荷を前記複数のサーバに分散させる。ここで、受信装置は、前記複数の負荷分散装置のうち、通信装置から要求パケットを受信する負荷分散装置である。受信装置は、前記要求パケット中のデータから、前記複数のサーバのうちで前記要求パケットを処理するサーバである処理サーバから付加された情報である付加情報を抽出する。受信装置は、前記付加情報に対応付けられたサーバを特定する情報である特定情報を、前記要求パケットのヘッダ中に付加することにより、前記要求パケットを転送パケットに変換する。受信装置は、前記受信装置から前記処理サーバまでに至る経路に含まれている負荷分散装置に、前記転送パケットを転送する。
【発明の効果】
【００１５】
負荷分散のための処理負荷が軽減される。
【図面の簡単な説明】
【００１６】
【図１】一意性を保障できる負荷分散システムで行われる処理の例を示す図である。
【図２】一意性を保障できる負荷分散システムで行われる処理の例を示す図である。
【図３】負荷分散装置の構成の例を示す図である。
【図４】負荷分散装置のハードウェア構成の例を示す図である。
【図５】ＩＰヘッダのフォーマットの例を示す図である。
【図６】故障監視パケットの送受信の例を示すシーケンス図である。
【図７】接続テーブルの例を示す図である。
【図８】ＩＰヘッダのフォーマットの例を示す図である。
【図９】サーバから端末あての応答パケットの転送処理の例を説明する図である。
【図１０】端末から付加情報を含むパケットが送信されたときの処理の例を示す。
【図１１】負荷分散装置の処理の例を説明するフローチャートである。
【図１２】負荷分散装置の処理の例を説明するフローチャートである。
【図１３】負荷分散装置の処理の例を説明するフローチャートである。
【図１４】負荷分散装置の処理の例を説明するフローチャートである。
【図１５】第２の実施形態での故障監視パケットの送受信の例を示すシーケンス図である。
【図１６】第２の実施形態でのパケットの送受信の例を示すシーケンス図である。
【図１７】負荷分散装置の処理の例を説明するフローチャートである。
【図１８】負荷分散装置の処理の例を説明するフローチャートである。
【図１９】アプリケーションレベルの故障監視を行う場合のパケットの送受信の例を示すシーケンス図である。
【図２０】第４の実施形態で使用されるパケットに含まれるＩＰヘッダの例である。
【図２１】索引値を用いたときの通知パケットの転送処理の例を示すシーケンス図である。
【図２２】転送パケットの転送処理の例を示すシーケンス図である。
【図２３】負荷分散装置の処理の例を説明するフローチャートである。
【図２４】負荷分散装置の処理の例を説明するフローチャートである。
【図２５】負荷分散装置の処理の例を説明するフローチャートである。
【図２６】索引値を用いたときの転送パケットの転送処理の例を示すシーケンス図である。
【図２７】ＴＣＰヘッダのフォーマットの例を示す図である。
【発明を実施するための形態】
【００１７】
図２は、一意性を保障できる負荷分散システムで行われる処理の例を示す図である。図２の例では、端末２とサーバ５（５ａ〜５ｆ）の間に、２段階の負荷分散装置が含まれているものとする。以下、複数の負荷分散装置を区別し易くするため、端末と通信する負荷分散装置１０ａを前段の負荷分散装置、サーバと通信する負荷分散装置（１０ｂ、１０ｃ）を後段の負荷分散装置と記載する。負荷分散装置１０ｂはサーバ５ａ〜５ｃに接続され、負荷分散装置１０ｃはサーバ５ｄ〜５ｆに接続されているものとする。なお、以下の説明では、パケットの「ヘッダ」は、ネットワーク層やトランスポート層での処理で使用されるヘッダを指すものとする。従って、負荷分散装置１０は、例えば、Internet Protocol（ＩＰ）ヘッダやTransmission Control Protocol（ＴＣＰ）ヘッダを参照して処理を行うことができる。
【００１８】
（１）端末２は、初めてサーバにアクセスする場合、アクセス可能なサーバ５ａ〜５ｆのグループに対応付けられた仮想ＩＰアドレス宛に、サービスのリクエストに使用されるパケット（要求パケット）を送信する。仮想ＩＰアドレスは、負荷分散装置１０ａに設定されているため、負荷分散装置１０ａが要求パケットを受信する。負荷分散装置１０ａは、要求パケットを受信すると、予め設定されている分散方式に基づいて、後段の負荷分散装置（１０ｂ、１０ｃ）の中から、要求パケットを振り分ける負荷分散装置を決定する。ここでは、負荷分散装置１０ｂに要求パケットが振り分けられたものとする。
【００１９】
（２）負荷分散装置１０ｂは、要求パケットをサーバ５ａ〜５ｃのいずれかに割り振ることができる。そこで、予め設定されている分散方式に基づいて、受信した要求パケットを振り分けるサーバを決定する。ここでは、サーバ５ｂに要求パケットが振り分けられたものとする。
【００２０】
（３）サーバ５ｂは、要求パケットを処理し、要求パケットに応答するデータを含む応答パケットを生成する。このとき、サーバ５ｂは、付加情報を生成し、応答パケット中の応答データに挿入する。付加情報は、端末２からの次の要求パケットを処理するサーバ５を特定するときに使用される。サーバ５ｂは、端末宛のパケットとして、応答パケットを負荷分散装置１０ｂに送信する。
【００２１】
（４）負荷分散装置１０ｂは、サーバ５ｂから応答パケットを受信すると、サーバ５ｂから端末に宛てて送信されたパケット中の応答データから、付加情報を取得する。負荷分散装置１０ｂは、付加情報と、応答データを生成したサーバ５ｂを識別する情報を対応付けて記憶する。さらに、負荷分散装置１０ｂは、応答パケットのヘッダ中に、応答パケットを生成したサーバ５ｂを識別する情報と、付加情報を含める。以下、応答データを生成したサーバ５を識別する情報をヘッダに含むパケットのことを「通知パケット」と記載することがある。負荷分散装置１０ｂは、通知パケットを前段の負荷分散装置１０ａに送信する。
【００２２】
（５）通知パケットを受信した負荷分散装置１０は、通知パケットから、付加情報と応答パケットを生成したサーバ５の情報を取得して記憶する。例えば、負荷分散装置１０ａは、負荷分散装置１０ｂから通知パケットを受信すると、ヘッダから、応答パケットがサーバ５ｂで生成されたことと、サーバ５ｂで生成された付加情報を特定する。負荷分散装置１０ａは、付加情報に対応付けて、サーバ５ｂを識別する情報と、通知パケットを転送してきた負荷分散装置１０ｂを識別する情報を記憶する。さらに、負荷分散装置１０ａは、通知パケットから、付加情報とサーバ５ｂを識別する情報を削除することにより、通知パケットを応答パケットに変換する。負荷分散装置１０ａは、応答パケットを端末に送信する。
【００２３】
（６）端末は、応答パケットを処理することにより、応答データと付加情報を取得する。端末は、サーバ５ｂから付加された付加情報を記憶する。
【００２４】
（７）次に、端末は、再度サーバにアクセスするために、第２の要求パケットを生成したとする。端末は第２の要求パケットに付加情報を含める。
【００２５】
（８）端末から第２の要求パケットを受信すると、負荷分散装置１０ａは、第２の要求パケットに含まれているデータから付加情報を取得する。負荷分散装置１０ａは、付加情報に対応付けられたサーバを検索する。ここでは、手順（４）により、付加情報にサーバ５ｂと負荷分散装置１０ｂが対応付けられている。そこで、負荷分散装置１０ａは、第２の要求パケットのヘッダに、サーバ５ｂの識別情報を書き込む。以下、要求パケットのヘッダ中に要求パケットの処理を行うサーバの情報が含まれているパケットを「転送パケット」と記載する。負荷分散装置１０ａは、転送パケットを負荷分散装置１０ｂに転送する。
【００２６】
（９）転送パケットを受信した負荷分散装置１０は、転送パケットのヘッダから転送先のサーバ５を特定する。例えば、負荷分散装置１０ｂは、負荷分散装置１０ａから転送パケットを受信すると、転送パケットのヘッダを参照することにより、転送パケットに含まれているデータがサーバ５ｂで処理されることを特定する。負荷分散装置１０ｂは、転送パケットのヘッダからサーバ５ｂの識別情報を消去することにより、転送パケットを第２の要求パケットに変換する。さらに、負荷分散装置１０ｂは、第２の要求パケットをサーバ５ｂに転送する。サーバ５ｂは、受信したパケットを処理する。
【００２７】
このように、実施形態にかかる方法では、端末から要求パケットを受信した負荷分散装置が、要求パケットを処理するサーバの情報をヘッダに記録することにより、要求パケットを転送パケットに変換する。このため、後段の負荷分散装置は、転送パケットのヘッダを参照することにより、転送パケットの転送先のサーバに転送することができるので、後段の負荷分散装置での処理負担が軽減される。
【００２８】
＜装置構成＞
図３は、負荷分散装置１０の構成の例を示す。負荷分散装置１０は、故障監視部１１、パケット処理部２０、解析部３０、付加情報処理部４０、記憶部５０を備える。パケット処理部２０は、受信部２１、パケットバッファ２２、選択部２３、書き換え部２４、送信部２５を有する。解析部３０は、取得部３１と抽出部３２を有する。付加情報処理部４０は、検索部４１、振り分けリスト管理部４２、情報付加部４３、変換部４４を有する。記憶部５０は、振り分けリスト５１と接続テーブル５２を保持し、さらに、負荷分散装置１０での処理に使用されるデータなどを記憶する。
【００２９】
受信部２１は、端末、他の負荷分散装置１０、またはサーバ５から送信されたパケットを受信する。受信部２１は、受信したパケットを、パケットバッファ２２と取得部３１に出力する。パケットバッファ２２は、取得部３１からの要求に応じて、受信されたパケットを格納する。ここで、取得部３１は、抽出部３２がパケット中のデータを解析する場合に、パケットバッファ２２に受信パケットの格納を要求する。例えば、抽出部３２がＨＴＴＰメッセージを解析する場合、パケットバッファ２２は、取得部３１からの要求に応じて、パケットをバッファリングする。パケットバッファ２２は、バッファリングしたデータを抽出部３２に出力する。
【００３０】
受信したパケットがサーバ５宛ての要求パケットであって、かつ、受信パケットを処理するサーバ５で生成された付加情報を含まない場合、選択部２３は、予め、記憶している振分けアルゴリズムに応じて、パケットの振分け先を選択する。前段の負荷分散装置１０に含まれている選択部２３は、受信パケットを転送する後段の負荷分散装置１０を選択する。一方、後段の負荷分散装置１０に含まれている選択部２３は、受信パケットを処理するサーバ５を選択する。ここで、振り分けアルゴリズムは、ラウンドロビン、重み付けラウンドロビンなどを含む任意のアルゴリズムを使用できる。
【００３１】
書き換え部２４は、パケットの転送を行うために、適宜、アドレス情報を書き換える。書き換え部２４は、アドレス情報を設定したパケットを、送信部２５に出力する。送信部２５は、入力されたパケットを、宛先に向けて送信する。
【００３２】
取得部３１は、入力されたパケットのヘッダに付加情報やサーバの識別情報が含まれているかを判定する。入力されたパケットが転送パケットである場合、取得部３１は、転送パケットのヘッダから、転送パケットに含まれているデータを処理するサーバ５の識別情報を取得する。また、入力されたパケットが通知パケットである場合、取得部３１は、付加情報とサーバの識別情報の両方を、通知パケットから取得する。取得部３１は、通知パケットから取得した付加情報とサーバの識別情報の両方を、振り分けリスト管理部４２に出力する。一方、取得部３１は、転送パケットから取得した識別情報を、書き換え部２４に出力する。
【００３３】
一方、入力されたパケットが受信パケットか応答パケットである場合は、パケットのヘッダに付加情報とサーバの識別情報のいずれも含まれていないので、取得部３１は、パケットが抽出部３２によって処理されると判定する。そこで、取得部３１は、パケットバッファ２２に、パケットの格納を要求するとともに、抽出部３２にパケットの処理を要求する。
【００３４】
抽出部３２は、取得部３１からの要求に応じて、パケットバッファ２２に格納されたパケットのデータを解析する。例えば、抽出部３２は、データ中のHypertext Transfer Protocol（ＨＴＴＰ）ヘッダを解析し、付加情報の有無を判定する。さらに、抽出部３２は、処理対象のパケットが端末２からサーバ５に送信されたパケットと、サーバ５から端末２に送信されたパケットのいずれであるかも判定する。このとき、抽出部３２は、適宜、接続テーブル５２を参照することができる。また、抽出部３２は、処理対象のパケットがＨＴＴＰリクエストとＨＴＴＰレスポンスのいずれであるかによって、処理対象のパケットがサーバ５から端末２に送信されたパケットであるかを判定しても良い。ＨＴＴＰリクエストなど、端末２からサーバ５に向けて送信されたパケットのデータ中に付加情報が含まれている場合、抽出部３２は、付加情報を検索部４１に出力する。一方、ＨＴＴＰレスポンスなど、サーバ５から端末２に向けて送信されたパケットに付加情報が含まれている場合、抽出部３２は、抽出した付加情報を、送信元の識別情報とともに、振り分けリスト管理部４２と情報付加部４３に出力する。送信元の識別情報は、例えば、送信元ＩＰアドレスと送信元ポート番号の組合せとすることができる。
【００３５】
振り分けリスト管理部４２は、抽出部３２から通知された付加情報を、付加情報に対応する後段の負荷分散装置１０の識別子や、付加情報を生成したサーバ５の識別情報に対応付けて、振り分けリスト５１に記憶する。振り分けリスト５１の例については後述する。
【００３６】
検索部４１は、抽出部３２から入力された付加情報を用いて、付加情報に対応付けられている負荷分散装置１０やサーバ５の情報を、振り分けリスト５１から取得する。検索部４１に付加情報が入力される場合、入力されたパケットは、端末２から受信した要求パケットである。このため、検索部４１は、振り分けリスト５１から得られた情報を変換部４４に出力する。
【００３７】
変換部４４は、検索部４１から入力された付加情報を、要求パケットのヘッダに格納することにより、要求パケットを転送パケットに変換する。変換部４４は、生成した転送パケットを、書き換え部２４に出力する。
【００３８】
情報付加部４３に付加情報とサーバ５の識別情報が抽出部３２から入力される場合は、負荷分散装置１０が応答パケットを受信している。このため、情報付加部４３は、抽出部３２から付加情報が入力されると、応答パケットのヘッダに付加情報と識別情報を加えることにより、応答パケットを通知パケットに変換する。情報付加部４３は、通知パケットを書き換え部２４に出力する。
【００３９】
故障監視部１１は、サーバ５または負荷分散装置１０が正常に動作しているかを判定するための故障監視パケットを生成し、送信部２５に出力する。前段の負荷分散装置１０に含まれている故障監視部１１は、後段の負荷分散装置１０のそれぞれに、故障監視パケットを送信する。サーバ５に接続されている負荷分散装置１０は、サーバ５に故障監視パケットを送信する。このため、故障監視部１１は、故障監視パケットの送受信を用いて、他の負荷分散装置１０に対して前段と後段のいずれであるかを特定する。例えば、負荷分散装置１０ｂが負荷分散装置１０ａからの故障監視パケットを受信すると、負荷分散装置１０ｂの故障監視部１１は、負荷分散装置１０ｂが負荷分散装置１０ａの後段に位置していると判定する。故障監視部１１は、負荷分散装置１０が正常に動作している場合、受信した故障監視パケットに対して、確認応答を返信する。故障監視部１１は、得られた接続情報を接続テーブル５２に記録する。故障監視部１１の動作と故障監視パケット、接続テーブル５２の例については後述する。
【００４０】
図４は、負荷分散装置１０のハードウェア構成の例を示す。負荷分散装置１０は、プロセッサ６１、メモリ６２、バス６５、外部記憶装置６６、ネットワーク接続装置６９を備える。さらにオプションとして、負荷分散装置１０は、入力装置６３、出力装置６４、媒体駆動装置６７を備えても良い。負荷分散装置１０は、例えば、コンピュータなどで実現されることがある。
【００４１】
プロセッサ６１は、Central Processing Unit（ＣＰＵ）を含む任意の処理回路とすることができる。プロセッサ６１は、故障監視部１１、選択部２３、書き換え部２４、解析部３０、付加情報処理部４０として動作する。なお、プロセッサ６１は、例えば、外部記憶装置６６に記憶されたプログラムを実行することができる。メモリ６２は、プロセッサ６１の動作により得られたデータや、プロセッサ６１の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置６９は、他の装置との通信に使用され、受信部２１、送信部２５として動作する。
【００４２】
入力装置６３は、例えば、ボタン、キーボードやマウスとして実現され、出力装置６４は、ディスプレイなどとして実現される。バス６５は、プロセッサ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６６、媒体駆動装置６７、ネットワーク接続装置６９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置６６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ６１などに提供する。媒体駆動装置６７は、メモリ６２や外部記憶装置６６のデータを可搬記憶媒体６８に出力することができ、また、可搬記憶媒体６８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体６８は、フロッピイディスク、Magneto-Optical（ＭＯ）ディスク、Compact Disc Recordable（ＣＤ−Ｒ）やDigital Versatile Disk Recordable（ＤＶＤ−Ｒ）を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００４３】
＜第１の実施形態＞
以下、第１の実施形態を、故障監視パケットを用いた接続関係の特定と、負荷分散装置１０によって行われる転送処理に分けて説明する。以下の説明では、図２を用いて説明したネットワークを例として用いる。すなわち、端末２と負荷分散装置１０ａが接続され、負荷分散装置１０ａには、負荷分散装置１０ｂと負荷分散装置１０ｃが接続されている。さらに、負荷分散装置１０ｂはサーバ５ａ〜５ｃに接続され、負荷分散装置１０ｃはサーバ５ｄ〜５ｆに接続されている。なお、第１の実施形態では、負荷分散装置１０同士での情報の交換にＩＰヘッダが用いられる場合を例とする。負荷分散装置１０同士での通信に用いられるＴＣＰヘッダは、規定に沿ったフォーマットであって、コネクションの制御のために、ＳＹＮ、ＡＣＫ、ＦＩＮなどの制御ビットを含むものとする。
【００４４】
さらに、以下の説明では、負荷分散装置１０ａと負荷分散装置１０ｂのいずれの動作であるかを分り易くするために、負荷分散装置１０中の部分の番号の後ろに、その処理を行っている負荷分散装置１０の番号に含まれているアルファベットを記載するものとする。例えば、故障監視部１１ａは負荷分散装置１０ａに含まれている故障監視部１１である。
【００４５】
〔接続関係の特定〕
図５は、ＩＰヘッダのフォーマットの例を示す図である。図５は、故障監視パケットと、確認応答に使用されるＩＰヘッダの例を示す。ＩＰヘッダのオプション部以外には、バージョン、ヘッダ長、サービスタイプ、データグラム長、ＩＤ、フラグ、フラグメントオフセット、ＴＴＬ（Time to live）、プロトコル番号、ヘッダチェックサム、送信元ＩＰアドレス、宛先ＩＰアドレスが含まれる。ＩＰヘッダのオプション部以外に含まれている情報要素は、プロトコルの規定に沿って設定される。オプション部には、オプションタイプ、オプション長、送信元ＩＰアドレス、パディングが含まれる。オプションタイプには、パケットの種類を特定するための情報が記録される。例えば、故障監視パケットに含まれているオプションタイプフィールドには、故障監視パケットであることを表す値が設定される。オプション長は、オプション部に含まれている情報要素の長さを指定する。故障監視パケットのオプション部の送信元ＩＰアドレスフィールドには、故障監視パケットの送信元の負荷分散装置１０に割り当てられているＩＰアドレスが記録される。一方、確認応答のオプション部の送信元ＩＰアドレスフィールドには、確認応答の送信元のＩＰアドレスが記録される。オプション長は予め決められた値に設定される。
【００４６】
図６は、故障監視パケットの送受信の例を示すシーケンス図である。以下、図６を参照しながら、ポートチェックによる故障監視が行われる場合を説明する。図６は、見やすくするために、負荷分散装置１０ａと負荷分散装置１０ｂの間での故障監視パケットを用いた通信と、負荷分散装置１０ｂとサーバ５ｂの間での通信を例として示している。
【００４７】
（ａ１）負荷分散装置１０ａの故障監視部１１ａは、負荷分散装置１０ｂに対して故障監視パケットを送信する。このとき、故障監視部１１ａは、故障監視パケットとして、ＩＰヘッダ中のアドレス等を以下のように設定し、さらに、ＴＣＰヘッダ中のＳＹＮビット＝１に設定したパケットを生成する。
送信元ＩＰアドレス：負荷分散装置１０ａのＩＰアドレス
宛先ＩＰアドレス  ：負荷分散装置１０ｂのＩＰアドレス
オプションタイプ  ：故障監視パケット
オプション部中の送信元ＩＰアドレス：負荷分散装置１０ａのＩＰアドレス
なお、宛先ＩＰアドレスとして設定される仮想ＩＰアドレスは、サーバ５ａ〜５ｃへのパケットの振り分けに使用されるアドレスである。故障監視部１１ａは、生成した故障監視パケットを、送信部２５ａを介して、負荷分散装置１０ｂに送信する。
【００４８】
（ａ２）負荷分散装置１０ｂの受信部２１ｂは、故障監視パケットを取得部３１ｂに出力する。取得部３１ｂは、受信したパケットのオプションタイプの値が故障監視パケットを示す値になっていることから、故障監視パケットが入力されたと判定し、入力されたパケットを、故障監視部１１ｂに出力する。このとき、故障監視部１１ｂは、故障監視パケットの送信元を示す情報要素に記録されている送信元ＩＰアドレスの値が、オプション部に含まれている送信元ＩＰアドレスの値と一致するかを判定する。両者が一致すると、故障監視部１１ｂは、前段の負荷分散装置１０から故障監視パケットを受信したと判定する。また、オプション部に送信元ＩＰアドレスが含まれていることから、故障監視パケットの送信元の負荷分散装置１０ａが、ＩＰヘッダのオプション部の情報を処理できると判定する。そこで、故障監視部１１ｂは、図７（ａ）のＮｏ．１に示すように、負荷分散装置１０ａが負荷分散装置１０ｂの前段にあることと、負荷分散装置１０ａがオプション部の処理を行うことを、接続テーブル５２ｂに記録する。
【００４９】
（ｂ１）負荷分散装置１０ｂは、負荷分散装置１０ｂに接続されているサーバ５のいずれか１つ以上が正常に動作している場合、負荷分散装置１０ａからのパケットをサーバ５に転送できるので、正常に動作している旨の確認応答を返送できる。そこで、負荷分散装置１０ｂが負荷分散装置１０ａから故障監視パケットを受信すると、故障監視部１１ｂは、負荷分散装置１０ｂに接続されているサーバ５ａ〜５ｃに故障監視パケットを送信する。サーバ５ｂに送信される故障監視パケットでは、ＩＰヘッダ中のアドレス等の情報は以下のように設定され、ＴＣＰヘッダ中のＳＹＮビット＝１に設定されている。
送信元ＩＰアドレス：負荷分散装置１０ｂのＩＰアドレス
宛先ＩＰアドレス  ：サーバ５ｂのＩＰアドレス
オプションタイプ  ：故障監視パケット
オプション部中の送信元ＩＰアドレス：負荷分散装置１０ｂのＩＰアドレス
故障監視部１１ｂは、生成した故障監視パケットを、送信部２５ｂを介して、サーバ５ｂに送信する。
【００５０】
（ｂ２）サーバ５ｂは、負荷分散装置１０ｂから故障監視パケットを受信する。サーバ５ｂは、ＩＰヘッダのオプション部についての処理を行わない。このため、サーバ５ｂは、単に負荷分散装置１０ｂから接続を要求するために、ＳＹＮビット＝１のパケットが送信されてきたと解釈する。サーバ５ｂは、負荷分散装置１０ｂとの間で新たな通信を開始できる場合、ＴＣＰヘッダ中のＳＹＮビットとＡＣＫビットの両方を１に設定した確認応答を、負荷分散装置１０ｂに返送する。なお、サーバ５ｂは、ＩＰヘッダのオプション部の処理を行わないため、サーバ５ｂが負荷分散装置１０ｂに送信する確認応答では、ＩＰヘッダには送信元ＩＰアドレスが格納されていない。
【００５１】
（ｂ３）負荷分散装置１０ｂがサーバ５ｂからの確認応答を受信したとする。負荷分散装置１０ｂの故障監視部１１ｂは、取得部３１ｂと受信部２１ｂを介して、確認応答を取得する。故障監視部１１ｂは、確認応答の送信元を示す情報要素に記録されている送信元ＩＰアドレスの値が、オプション部に含まれている送信元ＩＰアドレスの値と一致するかを判定する。サーバ５ｂから受信した確認応答のＩＰヘッダには、オプション部に送信元アドレスが格納されていない。このため、故障監視部１１ｂは、サーバ５ｂではＩＰヘッダ内のオプション部の処理が行われていないと判定する。さらに、故障監視部１１ｂは、判定結果を、接続関係とともに接続テーブル５２ｂに記録する。故障監視部１１ｂは、確認応答の送信元であるサーバ５ｂを接続先ノードとする。このとき、故障監視部１１ｂは、サーバ５ｂが負荷分散装置１０ｂの後段に位置することも合わせて記憶する。このため、そこで、故障監視部１１ｂは、図７（ａ）のＮｏ．２に示す情報を記憶する。
【００５２】
（ａ３）負荷分散装置１０ｂは、手順（ｂ３）でＡＣＫ＝１、ＳＹＮ＝１となっている確認応答を受信したので少なくとも、サーバ５ｂには、データを転送できると判定する。そこで、手順（ａ２）で受信した故障監視パケットに対する確認応答を、負荷分散装置１０ａに送信する。このとき、故障監視部１１ｂは、確認応答に含まれているＴＣＰヘッダのＳＹＮビットとＡＣＫビットの両方を１に設定した上で、確認応答のＩＰヘッダ中のアドレスの情報を以下のように設定する。
送信元ＩＰアドレス：負荷分散装置１０ｂのＩＰアドレス
宛先ＩＰアドレス  ：負荷分散装置１０ａのＩＰアドレス
オプション部中の送信元ＩＰアドレス：負荷分散装置１０ｂのＩＰアドレス
故障監視部１１ｂは、生成した確認応答を、送信部２５ｂを介して、負荷分散装置１０ａに送信する。
【００５３】
（ａ４）負荷分散装置１０ａの故障監視部１１ａは、負荷分散装置１０ｂで生成された確認応答を、受信部２１ａや取得部３１ａを介して受信する。故障監視部１１ａは、確認応答の送信元を示す情報要素に記録されている送信元ＩＰアドレスの値が、オプション部に含まれている送信元ＩＰアドレスの値と一致するかを判定する。両者が一致すると、故障監視部１１ａは、確認応答を生成した後段の負荷分散装置１０は、ＩＰヘッダ中のオプション部を処理できると判定する。そこで、故障監視部１１ａは、手順（ｂ３）での故障監視部１１ｂと同様の処理により、図７（ｂ）のＮｏ．１に示す情報を記憶する。さらに、故障監視部１１ａは、負荷分散装置１０ｂから負荷分散装置１０ａに向かう通信路を確保するために、ＡＣＫビット＝１に設定した確認応答を負荷分散装置１０ｂに送信する。
【００５４】
（ａ５）故障監視部１１ａは、負荷分散装置１０ｂとの間の接続関係を取得し、負荷分散装置１０ｂが正常に動作していると判定すると、負荷分散装置１０ｂとの間の通信を終了する。このため、故障監視部１１ａは、ＴＣＰヘッダ中のＦＩＮビット＝１、ＡＣＫビット＝１に指定したパケットを生成し、送信部２５ａを介して負荷分散装置１０ｂに送信する。このとき、ＩＰヘッダの設定は、手順（ａ１）と同様に行われる。
【００５５】
（ｂ５）負荷分散装置１０ｂの故障監視部１１ｂは、負荷分散装置１０ａから通信の終了が要求された場合、負荷分散装置１０ｂに接続されているサーバ５のうちで、負荷分散装置１０ａとの通信路を確立しているサーバ５ｂに、通信の終了を通知する。このとき、負荷分散装置１０ｂも手順（ａ５）での故障監視部１１ａと同様に、ＦＩＮビット＝１、ＡＣＫビット＝１に指定したパケットを、サーバ５ｂに送信する。
【００５６】
（ｂ６）サーバ５ｂは、故障監視のための通信の切断が要求されると、負荷分散装置１０ｂとの間の通信を終了するために、ＦＩＮビット＝１、ＡＣＫビット＝１に指定したパケットを、負荷分散装置１０ｂに送信する。
【００５７】
（ａ６）負荷分散装置１０ｂがサーバ５ｂから通信の切断のためのパケットを受信すると、故障監視部１１ｂは、負荷分散装置１０ａあてに、通信の切断を要求するためのパケットを生成する。このときに生成されるパケットは、ＦＩＮビット＝１、ＡＣＫビット＝１であり、手順（ａ３）で生成されたパケットと同様のＩＰヘッダを含む。負荷分散装置１０ａが負荷分散装置１０ｂからのパケットを受信することにより、負荷分散装置１０ａと負荷分散装置１０ｂの間のコネクションが終了される。
【００５８】
図６を参照しながら説明した処理と同様の処理が、負荷分散装置１０ａと負荷分散装置１０ｃの間でも行われるため、接続テーブル５２ａは、図７（ｂ）に示すようになる。また、負荷分散装置１０ｂとサーバ５ａ、５ｃの間でも同様の処理が行われるので、故障監視部１１ｂは、図７（ｃ）に示す接続テーブル５２ｂを生成する。さらに、負荷分散装置１０ｃとサーバ５ｄ〜５ｆの間でも同様の処理が行われる。
【００５９】
〔転送処理の例〕
図８（ａ）と図８（ｂ）は、ＩＰヘッダのフォーマットの例を示す。図８（ａ）に示すＩＰヘッダは、通知パケットで使用される。図８（ａ）に示すＩＰヘッダの情報要素のうち、ＩＰヘッダのオプション部以外は、図５を参照しながら説明したＩＰヘッダの情報要素と同様である。オプション部は、オプションタイプ、オプション長、処理サーバポート番号、処理サーバＩＰアドレス、付加情報を含む。オプションタイプは、パケットが通知パケットであることを示す値が設定される。通知パケットは、サーバ５で生成された応答パケットを受信した負荷分散装置１０が、その負荷分散装置１０よりも前段に位置している他の負荷分散装置１０に、付加情報と、付加情報を生成したサーバ５の情報を通知するために用いられる。このため、処理サーバＩＰアドレスフィールドには、応答パケットを生成したサーバ５のＩＰアドレスが格納される。また、処理サーバポート番号フィールドには、応答パケットを生成したアプリケーションにアクセスするときに使用されるポート番号が格納される。付加情報フィールドには、応答パケットのデータに含まれている付加情報が格納される。
【００６０】
従って、応答パケットを受信した負荷分散装置１０ｂは、応答パケットのＩＰヘッダを、図８（ａ）に示すフォーマットに変換することにより、応答パケットを通知パケットに変換する。以下の説明で、応答パケットを通知パケットに変換する負荷分散装置１０のことを「通知装置」と呼ぶことがある。通知装置は、サーバ５と直接パケットを送受信する負荷分散装置１０である。
【００６１】
図８（ｂ）に示すＩＰヘッダは、転送パケットで使用される。図８（ｂ）に示すＩＰヘッダでも、ＩＰヘッダのオプション部以外の情報要素は、図５を参照しながら説明したＩＰヘッダと同様である。オプション部は、オプションタイプ、オプション長、処理サーバポート番号、処理サーバＩＰアドレス、パディングを含む。オプションタイプフィールドには、パケットが転送パケットであることを示す値が設定される。転送パケットは、端末２から要求パケットを受信した負荷分散装置１０が、その負荷分散装置１０よりも後段に位置する負荷分散装置１０に、要求パケット中のデータを処理するサーバ５の情報を通知するために使用される。このため、処理サーバＩＰアドレスは、要求パケットのデータ中の付加情報を生成したサーバ５のＩＰアドレスとなる。また、処理サーバポート番号は、処理サーバにおいて、付加情報を含む応答パケット中のデータを生成したアプリケーションにアクセスするためのポート番号である。
【００６２】
以下、負荷分散装置１０ａ、１０ｂ、および、サーバ５ａ〜５ｆの間で接続関係の特定が終わった後に、端末２がサーバ５にサービスを要求した場合について説明する。端末２が新規にサーバ５との通信を開始する場合、端末２からの要求パケットは、サーバ５ａ〜５ｆのいずれによって処理されても良い。以下の説明では、負荷分散装置１０ａは、端末２からの要求パケットを負荷分散装置１０ｂに振り分け、負荷分散装置１０ｂは、端末２からの要求をサーバ５ｂに振り分けたとする。
【００６３】
図９は、サーバ５ｂから端末２あての応答パケットの転送処理の例を示す。なお、以下の手順の番号は、図９中の番号と同じである。なお、以下の説明では、応答パケットを生成したサーバ５のことを「処理サーバ」と記載することがある。図９では、サーバ５ｂが処理サーバとして動作する。さらに、図面を見やすくするために、負荷分散装置１０ｂがサーバ５ａ〜５ｃへの振り分けに使用しているＩＰアドレスとポートをあわせた情報を、図９では「ＳＬＢ＃Ｂ」と記載する。同様に、負荷分散装置１０ｃがサーバ５ｄ〜５ｆへの振り分けに使用しているＩＰアドレスとポートをあわせた情報を「ＳＬＢ＃Ｃ」と表す。
【００６４】
（１１）サーバ５ｂは、端末２で生成された要求パケットを処理し、端末２に送信する応答データを生成する。さらに、サーバ５ｂは、今回の要求パケットに関連する以後のサービスを要求する要求パケットを、サーバ５ｂが処理することができるようにするため、付加情報を生成する。付加情報は、例えば、Ｃｏｏｋｉｅ情報、セッションＩＤなどとすることができ、ネットワークに含まれているサーバ群から、要求パケットを処理するサーバを一意に決定するために使用可能な任意の情報である。サーバ５ｂは、応答データと付加情報をデータ中に含む応答パケット８１ａ〜８１ｃを生成する。このとき、サーバ５ｂは、応答パケット８１ａ〜８１ｃのＩＰヘッダのオプション部には、情報を格納しない。サーバ５ｂは、応答パケット８１ａ〜８１ｃを、端末２に向けて送信する。
【００６５】
（１２）負荷分散装置１０ｂの受信部２１ｂは、サーバ５ｂから応答パケット８１ａを受信する。受信部２１ｂは、応答パケット８１ａを取得部３１ｂに出力する。取得部３１ｂは、応答パケット８１ａのＩＰヘッダのオプション部を参照する。応答パケット８１ａのＩＰヘッダのオプション部には、付加情報や処理サーバの識別情報などが含まれていないので、取得部３１ｂはパケットバッファ２２ｂに応答パケット８１ａの格納を要求する。さらに、取得部３１ｂは、送信元ＩＰアドレスをキーとして接続テーブル５２ｂを参照することにより、送信元が負荷分散装置１０ｂの前段と後段のいずれに位置しているかを判定する。応答パケット８１ａの送信元はサーバ５ｂであり、サーバ５ｂは負荷分散装置１０の後段に位置している。そこで、取得部３１ｂは、抽出部３２ｂに、応答パケット８１ａのデータの解析を要求するとともに、応答パケット８１を負荷分散装置１０ｂの後段に位置する装置から受信したことを通知する。
【００６６】
取得部３１ｂは、応答パケット８１ａを生成したサーバ５ｂの識別情報として、ＩＰヘッダから送信元ＩＰアドレス、ＴＣＰヘッダから送信元ポート番号を取得する。さらに、取得部３１ｂは、ＩＰヘッダから取得した送信元ＩＰアドレスと、ＴＣＰヘッダから取得した送信元ポート番号を、サービスを要求するためのパケットの転送先として特定する。従って、取得部３１ｂは、以下の情報を取得する。
処理サーバの識別情報：サーバ５ｂに割り当てられたＩＰアドレスとポート番号
転送先              ：サーバ５ｂに割り当てられたＩＰアドレスとポート番号
取得部３１ｂは、取得した識別情報と転送先の情報を抽出部３２ｂに出力する。応答パケット８１ｂ、８１ｃも、同様の処理により、パケットバッファ２２ｂに格納される。
【００６７】
（１３）抽出部３２ｂは、応答パケット８１ａのデータを解析することにより、応答パケット８１ａに含まれている付加情報を抽出する。図９の例では、応答パケット８１ａ中の付加情報は、「クライアントＡ」という情報である。抽出部３２ｂは、応答パケット８１ａの送信元が負荷分散装置１０ｂよりも後段の装置であるため、付加情報を、処理サーバの識別情報、および、転送先の情報とともに、振り分けリスト管理部４２ｂに出力する。さらに、抽出部３２ｂは、サーバの識別情報とともに、抽出した付加情報を、情報付加部４３ｂに出力する。
【００６８】
（１４）振り分けリスト管理部４２ｂは、抽出部３２ｂから入力された情報を振り分けリスト５１ｂに記録する。このため、振り分けリスト５１ｂには以下の情報が記録される。
付加情報：クライアントＡ
処理サーバの識別情報：サーバ５ｂに割り当てられたＩＰアドレスとポート番号
転送先              ：サーバ５ｂに割り当てられたＩＰアドレスとポート番号
【００６９】
（１５）情報付加部４３ｂは、抽出部３２ｂから入力された付加情報と識別情報を応答パケット８１ａのＩＰヘッダのオプション部に加える。すなわち、情報付加部４３ｂは、図８（ａ）に示すＩＰヘッダのオプション部内の送信元ＩＰアドレスフィールドに、サーバ５ｂに割り当てられたＩＰアドレスを格納する。さらに、情報付加部４３ｂは、ＩＰヘッダのオプション部内の送信元ポート番号フィールドに、サーバ５ｂが応答パケット８１ａを生成するために使用したアプリケーションに対応するポート番号を記録する。このとき、情報付加部４３ｂは、ＩＰヘッダのオプション部内の送信元ポート番号フィールドに、応答パケット８１ａのＴＣＰヘッダ中の送信元ポート番号と同じ値を記録するものとする。これらの処理により、情報付加部４３ｂは、応答パケット８１ａを通知パケット８２ａに変換する。情報付加部４３ｂは、得られた通知パケット８２ａを書き換え部２４ｂに出力する。
【００７０】
（１６）書き換え部２４は、通知パケット８２ａの宛先ＩＰアドレスをキーとして接続テーブル５２を検索する。接続テーブル５２に該当するエントリがない場合、書き換え部２４ｂは、前段の負荷分散装置１０ａに転送するパケットであると判定し、送信元ＩＰアドレスを負荷分散装置１０ｂに割り当てられた仮想ＩＰアドレスに書き換える。書き換え部２４ｂでの処理が終わると、通知パケット８２ａは、送信部２５ｂを介して負荷分散装置１０ａに送信される。
【００７１】
（１７）負荷分散装置１０ａの受信部２１ａは、負荷分散装置１０ｂから通知パケット８２ａを受信する。受信部２１ａは、通知パケット８２ａを取得部３１ａに出力する。取得部３１ａは、通知パケット８２ａのＩＰヘッダのオプション部から、付加情報と、処理サーバの識別情報、送信元ＩＰアドレスを取得する。取得部３１ａは、取得した情報を振り分けリスト管理部４２ａに出力する。図９の例では、抽出部３２ａは、通知パケット８２ａから以下の情報を取得して、振り分けリスト管理部４２ａに出力する。
付加情報：クライアントＡ
処理サーバの識別情報：サーバ５ｂに割り当てられたＩＰアドレスとポート番号
送信元  ：負荷分散装置１０ｂに割り当てられたＩＰアドレスとポート番号
振り分けリスト管理部４２ａは、取得部３１ａから入力された情報を振り分けリスト５１ａに記録する。
【００７２】
（１８）取得部３１ａは、振り分けリスト管理部４２ａに出力する情報を取得すると、通知パケット８２ａを書き換え部２４ａに出力する。書き換え部２４ａは、通知パケット８２ａの宛先ＩＰアドレスをキーとして接続テーブル５２を検索する。負荷分散装置１０ａの接続テーブル５２ａ（図７（ｂ））には、負荷分散装置１０ａよりも前段に位置する負荷分散装置１０が記録されていない。書き換え部２４ａは、接続テーブル５２ａに該当するエントリがない場合、端末２に転送するパケットであると判定し、送信元ＩＰアドレスを負荷分散装置１０ａに割り当てられた仮想ＩＰアドレスに書き換える。さらに、書き換え部２４ａは、ＩＰヘッダのオプション部に含まれている情報を削除する。従って、書き換え部２４ａは、通知パケット８２ａを応答パケット８１ｄに変換している。応答パケット８１ｄのデータは、応答パケット８１ａのデータと同じである。しかし、応答パケット８１ｄでは、送信元ＩＰアドレスと送信元ポート番号は負荷分散装置１０ａがサーバ５ａ〜５ｆへの負荷分散を行うために使用するアドレスとポート番号となっている。書き換え部２４ａは、応答パケット８１ｄを送信部２５ａに出力する。送信部２５ａは、応答パケット８１ｄを端末２に送信する。
【００７３】
（１９）端末２は、応答パケット８１ｄを受信する。端末２は、応答パケット８１ｄの送信元ＩＰアドレスと送信元ポート番号に対応付けて、付加情報を保存する。応答パケット８１ｄでは、送信元ＩＰアドレスと送信元ポート番号は、負荷分散装置１０ａがサーバ５ａ〜５ｆへの負荷分散を行うために使用するアドレスとポート番号である。なお、端末２は、適宜、応答パケット８１ｄの送信元アドレスとポート番号から特定できるアプリケーションに対応付けて、付加情報を記憶しても良い。
【００７４】
応答パケット８１ｂ、８１ｃについても、同様に処理が行われる。このため、応答パケット８１ａ〜８１ｃがサーバ５ｂから端末２に送信される間に、各パケットについて１回ずつ、パケット中のデータの解析が行われるだけですむ。換言すると、サーバ５から応答パケットを受信している負荷分散装置１０ｂ以外は、パケット中のデータを処理しない。このため、ネットワークの処理負荷が小さくなる。
【００７５】
図１０は、端末２から付加情報を含むパケットが送信されたときの処理の例を示す。
（２１）次に、端末２が、応答パケット８１ｄの宛先ポート番号で特定されるアプリケーションから、サーバ５に再度、サービスを要求したとする。端末２は、サービスを要求するために、要求パケット８３ａを生成する。要求パケット８３ａのデータ中には、「クライアントＡ」という付加情報が含まれている。また、要求パケット８３ａの送信先ＩＰアドレスと送信先ポート番号は、負荷分散装置１０ａがサーバ５ａ〜５ｆへの振り分けに使用する値に設定される。端末２は、負荷分散装置１０ａに要求パケット８３ａを送信する。なお、端末２はＩＰヘッダのオプション部を処理しないので、要求パケット８３ａのＩＰヘッダのオプション部には、情報が格納されていない。
【００７６】
（２２）負荷分散装置１０ａの受信部２１ａは、端末２から要求パケット８３ａを受信すると、要求パケット８３ａを取得部３１ａに出力する。取得部３１ａは、要求パケット８３ａのＩＰヘッダのオプション部に情報に転送先のサーバ５を識別するためのＩＰアドレスとポート番号が含まれていないので、パケットバッファ２２ａに要求パケット８３ａの格納を要求する。取得部３１ａは、抽出部３２ａに、要求パケット８３ａのデータの解析を要求する。なお、要求パケット８３ａの処理中にさらに負荷分散装置１０ａがさらに要求パケット８３ｂ、８３ｃを受信した場合、要求パケット８３ｂ、８３ｃは、適宜、パケットバッファ２２ａに格納される。
【００７７】
（２３）抽出部３２ａは、要求パケット８３ａのデータを解析することにより、要求パケット８３ａに含まれている付加情報を抽出する。図１０の例では、要求パケット８３ａ中の付加情報は、「クライアントＡ」という情報である。抽出部３２ａは、得られた付加情報を検索部４１ａに出力する。
【００７８】
（２４）検索部４１ａは、抽出部３２ａから入力された付加情報に対応付けられているエントリを、振り分けリスト５１ａ中で検索することにより、転送先の負荷分散装置１０と処理サーバの情報を取得する。図１０の例では、「クライアントＡ」という付加情報に対して以下の情報が対応付けられている。
付加情報：クライアントＡ
処理サーバの識別情報：サーバ５ｂに割り当てられたＩＰアドレスとポート番号
送信元  ：負荷分散装置１０ｂに割り当てられたＩＰアドレスとポート番号
そこで、検索部４１ａは、処理サーバの識別情報を変換部４４ａに出力し、送信先の情報を書き換え部２４ａに出力する。
【００７９】
（２５）変換部４４ａは、処理サーバの識別情報を抽出部３２ａから取得すると、取得した情報を要求パケット８３ａのＩＰヘッダのオプション部に加える。すなわち、変換部４４ａは、図８（ｂ）に示すＩＰヘッダのオプション部内の処理サーバＩＰアドレスフィールドに、サーバ５ｂに割り当てられたＩＰアドレスを格納する。さらに、変換部４４ａは、抽出部３２ａから通知されたポート番号を、ＩＰヘッダのオプション部内の処理サーバポート番号フィールドに記録する。これらの処理により、変換部４４ａは、要求パケット８３ａを転送パケット８４ａに変換する。変換部４４ａは、送信先のアドレスを設定するために、得られた転送パケット８４を書き換え部２４ｂに出力する。
【００８０】
（２６）書き換え部２４ａは、変換部４４ａから入力された転送パケット８４ａの宛先ＩＰアドレスと宛先ポート番号を、検索部４１ａから通知された値に変更する。このため、転送パケット８４ａには、以下の情報が設定される。
送信元          ：端末２
宛先ＩＰアドレス：負荷分散装置１０ｂに設定されたＩＰアドレス
宛先ポート番号  ：サーバ５ａ〜５ｃへの負荷分散用のポート番号
オプション部の処理サーバＩＰアドレス：サーバ５ｂに設定されたＩＰアドレス
オプション部の処理サーバポート番号：サーバ５ｂのアプリケーションのポート番号
書き換え部２４ａは、宛先の情報の設定が終わると、転送パケット８４ａを送信部２５ａに出力する。
【００８１】
（２７）負荷分散装置１０ｂの受信部２１ｂは、転送パケット８４ａを受信する。受信部２１ｂは、転送パケット８４ａを取得部３１ｂに出力する。取得部３１ｂは、ＩＰヘッダのオプション部に処理サーバＩＰアドレスと処理サーバポート番号が含まれているかを判定する。取得部３１ｂは、転送パケット８４ａのＩＰヘッダのオプション部から、処理サーバＩＰアドレスと処理サーバポート番号を取得する。
【００８２】
さらに、取得部３１ｂは、転送パケット８４ａの送信元ＩＰアドレスをキーとして、接続テーブル５２ｂ（図７（ｃ））を検索することにより、前段側と後段側のいずれの装置からパケットを受信したかを判定する。取得部３１ｂは、転送パケット８４ｂの送信元は負荷分散装置１０ａであり、負荷分散装置１０ａは負荷分散装置１０ｂの前段側に位置すると判定する。そこで、取得部３１ｂは、転送パケット８４ａから取得した処理サーバＩＰアドレスおよび処理サーバポート番号を検索部４１ｂに出力する。ここでは、取得部３１ｂは、処理サーバの識別情報として、サーバ５ｂのＩＰアドレスとポート番号を検索部４１ｂに通知する。
【００８３】
（２８）検索部４１ｂは、転送パケット８４ａから取得した処理サーバＩＰアドレスおよび処理サーバポート番号をキーとして、振り分けリスト５１ｂを検索することにより、転送先のＩＰアドレスとポート番号を特定する。図１０に示すように、振り分けリスト５１ｂでは、処理サーバがサーバ５ｂである場合の転送先は、サーバ５ｂとなっている。このため、検索部４１ｂは、負荷分散装置１０ｂが処理サーバに直接パケットを送信できると判定する。さらに、検索部４１ｂは、転送先となるサーバ５ｂでは、ＩＰヘッダのオプション部の処理ができるかを、接続テーブル５２ｂを用いて判定する。ここでは、検索部４１ｂは、転送先のノードでは、ＩＰヘッダのオプション部を処理できないと判定する。検索部４１ｂは、転送先であるサーバ５ｂのＩＰアドレスおよびポート番号、および、転送先ではＩＰヘッダのオプション部を処理できないことを、書き換え部２４ｂに通知する。
【００８４】
（２９）書き換え部２４ｂは、検索部４１ｂから通知された転送先の情報に従い、サーバ５ｂの情報を、ＩＰヘッダ中の宛先ＩＰアドレスと、宛先ポート番号に設定する。さらに、書き換え部２４ｂは、サーバ５ｂがＩＰヘッダのオプション部の処理を行わないため、ＩＰヘッダのオプション部の情報を削除する。従って、書き換え部２４ｂは、転送パケット８４ａを要求パケット８３ｄに変換しているといえる。要求パケット８３ｄのデータは、要求パケット８３ａのデータと同じである。書き換え部２４ｂは、要求パケット８３ｄを送信部２５ｂに出力する。送信部２５ｂは、要求パケット８３ｄをサーバ５ｂに送信する。
【００８５】
（３０）サーバ５ｂは、要求パケット８３ｄを受信する。サーバ５ｂは、要求パケット８３ｄのデータを処理する。
【００８６】
要求パケット８３ｂ、８３ｃについても、同様に処理が行われる。このため、要求パケット８３ａ〜８３ｃが端末２からサーバ５ｂに送信される間に、各パケットについて１回ずつ、パケット中のデータの解析が行われるだけですむ。換言すると、端末２から要求パケット８３ａ〜８３ｃを受信している負荷分散装置１０ａ以外は、パケット中のデータを処理しない。このため、ネットワークの処理負荷が小さくなる。
【００８７】
図１１は、負荷分散装置１０の処理の例を説明するフローチャートである。図１１は、前段の負荷分散装置１０が要求パケット８３を受信したときに行う処理の例を示している。図１１は、要求パケット８３がＨＴＴＰリクエストを含むパケットである場合を例としているが、端末２側からサーバ５に送信される他の要求パケット８３についても、同様に処理が行われる。
【００８８】
受信部２１は、要求パケット８３を受信する（ステップＳ１）。前段の負荷分散装置１０が受信する要求パケット８３には、ＩＰヘッダのオプション部にサーバの識別情報が含まれていない。そこで、取得部３１からの要求に応じて、パケットバッファ２２は、要求パケット８３をバッファリングする（ステップＳ２）。抽出部３２は、パケットバッファ２２にバッファリングされている要求パケット８３のデータからＨＴＴＰヘッダを特定し、ＨＴＴＰヘッダを解析する（ステップＳ３）。抽出部３２は、解析の結果、ＨＴＴＰヘッダ中に付加情報が含まれているかを判定する（ステップＳ４）。付加情報がＨＴＴＰヘッダ中に含まれていない場合、選択部２３は、要求パケット８３の振り分け先を決定する（ステップＳ４でＮｏ、ステップＳ７）。書き換え部２４は、選択部２３で決定された転送先に応じて、要求パケット８３のＩＰヘッダ中の宛先ＩＰアドレスと宛先ポート番号を変更する（ステップＳ８）。送信部２５は、書き換え部２４での処理後の要求パケット８３を転送先に送信する（ステップＳ１２）。
【００８９】
一方、付加情報が含まれている場合、抽出部３２は、付加情報を検索部４１に出力し、検索部４１は、振り分けリスト５１中から付加情報に対応付けられたエントリを検索する（ステップＳ４でＹｅｓ、ステップＳ５）。付加情報に対応付けられたエントリが振り分けリスト５１にない場合、ステップＳ７以降の処理が行われる（ステップＳ６でＮｏ）。振り分けリスト５１から、付加情報を含むエントリを取得できた場合、検索部４１は、付加情報に対応付けられている転送先と、処理サーバの識別情報を取得する（ステップＳ６でＹｅｓ、ステップＳ９）。なお、処理サーバの識別情報は、処理サーバに割り当てられたＩＰアドレスと、要求パケット８３に含まれているデータを処理するアプリケーションを指定するポート番号である。検索部４１は、処理サーバの識別情報を変換部４４、転送先の情報を書き換え部２４に出力する。変換部４４は、処理サーバについての識別情報をＩＰヘッダのオプション部に格納することにより、要求パケット８３を転送パケット８４に変換する（ステップＳ１０）。送信部２５は、書き換え部２４での処理後の要求パケット８３を転送先に送信する（ステップＳ１２）。
【００９０】
図１２は、負荷分散装置１０の処理の例を説明するフローチャートである。図１２は、後段の負荷分散装置１０が、前段の負荷分散装置１０からパケットを受信したときに行う処理の例を示している。
【００９１】
受信部２１は、パケットを受信する（ステップＳ２１）。後段の負荷分散装置１０が受信するパケットには、ヘッダのオプション部にサーバの識別情報が含まれている可能性がある。そこで、取得部３１は、受信したパケットのヘッダに処理サーバを特定する情報が含まれているかを判定する（ステップＳ２２）。処理サーバの情報がヘッダに含まれていない場合、パケットバッファ２２は、取得部３１からの要求に応じて、パケットをバッファリングする（ステップＳ２３）。その後、図１１を参照しながら説明したステップＳ７、Ｓ８、Ｓ１２と同様の処理によって、パケットの転送が行われる（ステップＳ２６、Ｓ２７、Ｓ３１）。
【００９２】
一方、後段の負荷分散装置１０が転送パケット８４を受信した場合、受信したヘッダのオプション部には処理サーバの識別情報が含まれている。ヘッダのオプション部にサーバの識別情報が含まれている場合、取得部３１は、パケットのヘッダから処理サーバの情報を取得する（ステップＳ２４）。取得部３１は、処理サーバの情報を検索部４１に出力する。検索部４１は、取得部３１から通知された処理サーバの情報を含むエントリを、振り分けリスト５１から検索する（ステップＳ２５）。処理サーバの情報を含むエントリがある場合、そのエントリに含まれている転送先のＩＰアドレスとポート番号を取得し、書き換え部２４に出力する（ステップＳ２５でＹｅｓ、ステップＳ２８）。書き換え部２４は、パケットのヘッダに含まれている処理サーバの情報を削除することにより、転送パケット８４を要求パケット８３に変換する（ステップＳ２９）。さらに、書き換え部２４は、要求パケット８３の送信先を、検索部４１から通知された転送先の装置のＩＰアドレスとポート番号に変更し、送信部２５を介して要求パケット８３を転送する（ステップＳ３０、Ｓ３１）。一方、処理サーバの情報を含むエントリが無い場合、ステップＳ２６以降の処理が行われる（ステップＳ２５でＮｏ）。
【００９３】
図１３は、負荷分散装置１０の処理の例を説明するフローチャートである。図１３は、後段の負荷分散装置１０がサーバ５からパケットを受信したときに行う処理の例を示している。ステップＳ４１、Ｓ４２は、図１１を参照しながら説明したステップＳ１、２と同様である。抽出部３２は、パケットバッファ２２にバッファリングされている応答パケット８１のデータに付加情報が含まれているかを判定する（ステップＳ４３）。付加情報がデータに含まれている場合、抽出部３２は、付加情報を振り分けリスト管理部４２と情報付加部４３に出力する（ステップＳ４３でＹｅｓ）。振り分けリスト管理部４２は、送信元のサーバ５の識別情報と付加情報を対応付けて、振り分けリスト５１に記録する（ステップＳ４４）。情報付加部４３は、応答パケット８１のヘッダに、処理サーバの情報と付加情報を含めることにより、応答パケット８１を通知パケット８２に変換する（ステップＳ４５）。書き換え部２４は、通知パケット８２の転送を行うことができるように、ＩＰヘッダ中のＩＰアドレスとポート番号の情報を設定する（ステップＳ４６）。送信部２５は、書き換え部２４での処理後の通知パケット８２を、前段の負荷分散装置１０に送信する（ステップＳ４８）。
【００９４】
一方、付加情報がデータに含まれていない場合、パケットは書き換え部２４に出力される（ステップＳ４３でＮｏ）。書き換え部２４は、受信したパケットを前段の負荷分散装置１０に送信できるように、ＩＰヘッダ中のＩＰアドレスとポート番号を設定する（ステップＳ４７）。送信部２５は、書き換え部２４での処理後の通知パケット８２を、前段の負荷分散装置１０に送信する（ステップＳ４８）。
【００９５】
図１４は、負荷分散装置１０の処理の例を説明するフローチャートである。図１４は、前段の負荷分散装置１０が後段の負荷分散装置１０からパケットを受信したときに行う処理の例を示している。ステップＳ５１は、図１１を参照しながら説明したステップＳ１と同様である。取得部３１は、パケットバッファ２２にバッファリングされているパケットのヘッダに処理サーバの情報と付加情報が含まれているかを判定する（ステップＳ５２）。パケットのヘッダに処理サーバの情報と付加情報が含まれている場合、前段の負荷分散装置１０は、通知パケット８２を受信している（ステップＳ５２でＹｅｓ）。そこで、パケットのヘッダに処理サーバの情報と付加情報が含まれている場合、取得部３１は,ヘッダからそれらの情報を取得する（ステップＳ５３）。振り分けリスト管理部４２は、振り分けリスト５１に、処理サーバの識別情報、送信元の装置の情報、付加情報を対応付けて記録する（ステップＳ５４）。書き換え部２４は、接続テーブル５２を用いて、通知パケット８２に含まれている情報の宛先が端末２であることを特定すると、通知パケット８２を応答パケット８１に変換する（ステップＳ５５）。このとき、書き換え部２４は、ヘッダ部から付加情報と処理サーバの情報を削除する。さらに、書き換え部２４は、得られた応答パケット８１の送信元ＩＰアドレスと送信元ポート番号を、サーバ５への振り分けに使用しているＩＰアドレスとポート番号に書き換える（ステップＳ５６）。書き換え部２４での処理が終わると、送信部２５は、応答パケット８１を端末２に転送する（ステップＳ５８）。一方、パケットのヘッダに処理サーバの情報と付加情報が含まれていない場合、前段の負荷分散装置１０は、付加情報を含むパケットを受信していないと判定する（ステップＳ５２でＮｏ）。そこで、書き換え部２４は、受信したパケットの送信元ＩＰアドレスと送信元ポート番号を、サーバ５への振り分けに使用しているＩＰアドレスとポート番号に書き換え、送信部２５を介して、端末２に転送する（ステップＳ５７、Ｓ５８）。
【００９６】
このように、第１の実施形態にかかる方法によると、応答パケット８１は、サーバ５から応答パケット８１を受信した後段の負荷分散装置１０（通知装置）において、通知パケット８２に変換される。このため、通知装置以外の負荷分散装置１０は、通知パケット８２のヘッダを解析することによって、付加情報、処理サーバ、次に要求パケット８３を転送する場合の転送先の組合せを取得できる。従って、通知装置以外の負荷分散装置１０は、データの解析やデータの解析に伴うパケットのバッファリングを行わないため、効率的にパケットが処理できる。さらに、要求パケット８３は、端末２から要求パケット８３を受信した前段の負荷分散装置１０（受信装置）において、転送パケット８４に変換される。このため、受信装置以外の負荷分散装置１０は、転送パケット８４のヘッダを解析することにより、転送先の装置を特定することができる。従って、受信装置以外の負荷分散装置１０は、データの解析やデータの解析に伴うパケットのバッファリングを行わないため、効率的にパケットが処理できる。
【００９７】
＜第２の実施形態＞
第１の実施形態では、負荷分散装置１０が２段階に接続されている場合を例として説明したが、３以上の負荷分散装置１０を経由してパケットがサーバ５に転送される場合でも、パケットの処理を効率化することができる。
【００９８】
図１５は、第２の実施形態での故障監視パケットの送受信の例を示すシーケンス図である。図１５は、負荷分散装置１０が３段階に接続されている場合を例として示す。負荷分散装置１０ａは端末２と通信する負荷分散装置１０であるとする。負荷分散装置１０ｂと負荷分散装置１０ｃは、負荷分散装置１０ａに接続されており、負荷分散装置１０ｄと負荷分散装置１０ｅ（図示せず）が負荷分散装置１０ｂに接続されているものとする。負荷分散装置１０ｄには、サーバ５ｇを含む複数のサーバ５が接続されているものとする。故障監視パケットの送受信に際して、負荷分散装置１０ａと負荷分散装置１０ｂの間の通信について行われる処理は、第１の実施形態において図６を参照しながら説明した手順（ａ１）〜（ａ６）と同様である。
【００９９】
故障監視パケットを負荷分散装置１０ａから受信した負荷分散装置１０ｂは、負荷分散装置１０ｄを宛先として、故障監視パケットを送信する（ｃ１）。負荷分散装置１０ｄは、負荷分散装置１０ｂから故障監視パケットを受信すると、負荷分散装置１０ｂが負荷分散装置１０ｄの前段であることを接続テーブル５２ｄに記録する（ｃ２）。ここで、負荷分散装置１０ｄに接続されているサーバ５のうちのいずれか１つ以上が正常に動作していれば、負荷分散装置１０ｂからのパケットをサーバ５に転送できる。このため、負荷分散装置１０ｄは、サーバ５ｇに故障監視パケットを送信する（ｄ１）。
【０１００】
サーバ５ｇからの負荷分散装置１０ｄに故障監視パケットに対する確認応答により、負荷分散装置１０ｄは、サーバ５ｇが正常に動作していると判定したとする。すると、負荷分散装置１０ｄは、サーバ５ｇが負荷分散装置１０ｄの後段であることを接続テーブル５２ｄに記録する（ｄ２）。さらに、負荷分散装置１０ｄは、負荷分散装置１０ｄが正常に動作しているという旨の確認応答を負荷分散装置１０ｂに返信する（ｄ３）。負荷分散装置１０ｂは、負荷分散装置１０ｄからの確認応答を受信すると、負荷分散装置１０ａに、負荷分散装置１０ｂが正常に動作している旨の確認応答を返信する（ｃ３）。その後、適宜、故障監視パケットを用いて確立されたコネクションが切断される。
【０１０１】
図１６は、第２の実施形態でのパケットの送受信の例を示すシーケンス図である。
（４１）これまでサーバ５へアクセスしていない端末２が、サーバ５にアクセスするために、パケットを送信したとする。このとき、パケットには付加情報が含まれていないので、パケットを受信した負荷分散装置１０は、予め決められた方法に基づいて、パケットを転送する。ここでは、パケットは、負荷分散装置１０ａ、１０ｂ、１０ｄを経て、サーバ５ｇに転送されたとする。
【０１０２】
（４２）サーバ５ｇは、端末２宛ての応答データと付加情報を含む応答パケット８１ｅを生成し、負荷分散装置１０ｄに送信する。
【０１０３】
（４３）負荷分散装置１０ｄは、応答パケット８１ｅをサーバ５ｇから受信しているので、応答パケット８１ｅの処理においては、通知装置として動作する。そこで、負荷分散装置１０ｄは、応答パケット８１ｅを通知パケット８２ｅに変換し、負荷分散装置１０ｂに転送する。このときの負荷分散装置１０ｄで行われる処理は、図９を参照しながら説明した手順（１２）〜（１６）と同様である。
【０１０４】
（４４）負荷分散装置１０ｂは、通知パケット８２ｅのヘッダから付加情報、処理サーバがサーバ５ｇであること、通知パケット８２ｅの送信元が負荷分散装置１０ｄであることを特定し、振り分けリスト５１ｂに記録する。このとき行われる処理は、図９を参照しながら説明した手順（１７）と同様である。負荷分散装置１０ｂの書き換え部２４ｂは、接続テーブル５２ｂを参照することにより、負荷分散装置１０ａが負荷分散装置１０ｂの前段に位置していることを特定する。そこで、書き換え部２４ｂは、通知パケット８２ｅの送信元の情報を負荷分散装置１０ｂがサーバ５への振り分けに使用するＩＰアドレスとポート番号に変換した上で、負荷分散装置１０ａに転送する。
【０１０５】
（４５）負荷分散装置１０ａは、負荷分散装置１０ｂから通知パケット８２ｅを受信する。負荷分散装置１０ａは、通知パケット８２ｅのヘッダを用いて、付加情報、処理サーバがサーバ５ｇであること、通知パケット８２ｅの送信元が負荷分散装置１０ｂであることを特定し、振り分けリスト５１ａに記録する。さらに、負荷分散装置１０ａは、通知パケット８２ｅを応答パケット８１ｆに変換する。このとき行われる処理は、図９を参照しながら説明した手順（１８）と同様である。
【０１０６】
（４６）端末２は、応答パケット８１ｆを受信すると、図９の手順（１９）と同様に、付加情報を保存する。
【０１０７】
（４７）次に、端末２が、付加情報を含めた要求パケット８３ｆを生成したとする。要求パケット８３ｆは、負荷分散装置１０ａに送信される。
【０１０８】
（４８）負荷分散装置１０ａは、要求パケット８３ｆを端末２から受信しているので、要求パケット８３ｆの処理においては、受信装置として動作する。そこで、負荷分散装置１０ａは、要求パケット８３ｆを転送パケット８４ｆに変換し、負荷分散装置１０ｂに転送する。このときの負荷分散装置１０ａで行われる処理は、図１０を参照しながら説明した手順（２２）〜（２６）と同様である。
【０１０９】
（４９）負荷分散装置１０ｂは、転送パケット８４ｆのヘッダから処理サーバがサーバ５ｇであることを特定する。このとき行われる処理は、図１０を参照しながら説明した手順（２７）と同様である。さらに、負荷分散装置１０ｂは、振り分けリスト５１ｂから、サーバ５ｇに転送パケット８４ｆを転送するための転送先を特定する。さらに、接続テーブル５２を参照することにより、負荷分散装置１０ｂは、転送先の負荷分散装置１０ｄがＩＰヘッダのオプション部分を処理できることを特定する。そこで、負荷分散装置１０ｂは、転送パケット８４ｆを負荷分散装置１０ｄに転送する。
【０１１０】
（５０）負荷分散装置１０ｄは、負荷分散装置１０ｂから転送パケット８４ｆを受信する。負荷分散装置１０ｄは、転送パケット８４ｆのヘッダを用いて、処理サーバがサーバ５ｇであることを特定する。さらに、振り分けリスト５１ｄと接続テーブル５２ｄを用いて、転送パケット８４ｆの転送先がサーバ５ｇであることと、サーバ５ｇがＩＰヘッダのオプション部の処理を行わないことを特定する。そこで、負荷分散装置１０ｄは、転送パケット８４ｆを要求パケット８３ｇに変換して、サーバ５ｇに転送する。このとき行われる処理は、図１０を参照しながら説明した手順（２７）〜（２９）と同様である。
【０１１１】
なお、図１６では、負荷分散装置１０が３段階に設置されている場合を例として説明したが、負荷分散装置１０が設定される段数は、３以上の任意の数である。負荷分散装置１０が４段以上接続されている場合、端末２と直接通信を行う負荷分散装置１０は、負荷分散装置１０ａと同様の処理を行う。また、サーバ５と直接通信を行う負荷分散装置１０は、図１６を用いて説明した負荷分散装置１０ｄと同様の処理を行う。端末２とサーバ５のいずれとも直接通信を行わない負荷分散装置１０の処理は、図１６を用いて説明した負荷分散装置１０ｂの処理と同様である。
【０１１２】
図１７は、負荷分散装置１０の処理の例を説明するフローチャートである。図１７は、通知装置と受信装置のいずれとしても動作しない負荷分散装置１０が、受信装置から転送パケット８４を受信したときに行う処理の例を示している。なお、通知装置と受信装置のいずれとしても動作しない負荷分散装置１０は、ネットワーク中で、最も前段の負荷分散装置１０ではなく、さらに、最も後段の負荷分散装置１０でもない負荷分散装置１０である。このような負荷分散装置１０を、中段の負荷分散装置１０と記載することもある。図１７のステップＳ６１〜Ｓ６８は、図１２を参照しながら説明したステップＳ２１〜Ｓ２８と同様である。しかし、中段の負荷分散装置１０装置は、転送パケット８４を要求パケット８３に変換しないで、転送先に転送する（ステップＳ６９、Ｓ７０）。また、ステップＳ６７の処理が終わったパケットも、転送先に転送される（ステップＳ７０）。
【０１１３】
図１８は、負荷分散装置１０の処理の例を説明するフローチャートである。図１８は、通知装置と受信装置のいずれとしても動作しない負荷分散装置１０が、通知装置から通知パケット８２を受信したときに行う処理の例を示している。図１８のステップＳ８１〜ＳＳ８４、Ｓ８６、Ｓ８７は、図１４を参照しながら説明したステップＳ５１〜Ｓ５４、Ｓ５７、Ｓ５８と同様である。ステップＳ８４の処理の後、中段の負荷分散装置１０は、通知パケット８２を応答パケット８１に変換しないで、転送先に転送する（ステップＳ８５、Ｓ８７）。
【０１１４】
なお、サーバ５と直接通信を行う負荷分散装置１０の処理と、端末２と直接通信を行う負荷分散装置１０の処理を表すフローチャートは、第１の実施形態と同様に表せる。
【０１１５】
このように、付加情報を含む応答パケット８１は、応答パケット８１を受信した負荷分散装置１０である通知装置により、通知パケット８２に変換される。このため、通知装置よりも前段側の負荷分散装置１０は、通知パケット８２のヘッダを用いて付加情報、処理サーバ、次に送信される要求パケット８３の転送先の組合せを取得する。さらに、付加情報を含む要求パケット８３は、要求パケット８３を受信した負荷分散装置１０である受信装置によって、転送パケット８４に変換される。このため、受信装置よりも後段に設置されている負荷分散装置１０は、転送パケット８４のヘッダから、処理サーバを特定し、転送先を決定できる。このため、応答パケット８１や要求パケット８３のデータの解析が行われる回数は、全ての負荷分散装置１０がデータの処理を行う場合の回数を負荷分散装置１０の段数の数で割った回数となる。例えば、図１６の例では、応答パケット８１や要求パケット８３のデータの解析が行われる回数は、全ての負荷分散装置１０がデータの処理を行う場合の３分の１である。
【０１１６】
＜第３の実施形態＞
図１９は、アプリケーションレベルの故障監視を行う場合のパケットの送受信の例を示すシーケンス図である。第３の実施形態では、アプリケーションレベルの故障監視を行うことにより、接続テーブル５２が生成される場合の例を説明する。なお、図１９は、図６と比較しやすくするために、負荷分散装置１０ａと負荷分散装置１０ｂの間での故障監視パケットを用いた通信と、負荷分散装置１０ｂとサーバ５ｂの間での通信を例として示している。
【０１１７】
（ｆ１）負荷分散装置１０ａは、通信を開始するための制御パケットを負荷分散装置１０ｂとの間で送受信する。このときに生成される制御パケットのＩＰヘッダ内のオプション部には、情報は記録されていないものとする。負荷分散装置１０ａと負荷分散装置１０ｂは、ＴＣＰのプロトコルに基づいて、コネクションを確立する。
【０１１８】
（ｆ２）故障監視部１１ａは、負荷分散装置１０ｂと負荷分散装置１０ａの間のコネクションが確立すると、ＨＴＴＰリクエストを、故障監視パケットとして、負荷分散装置１０ｂに送信する。なお、図１９の例では、ＨＴＴＰリクエストのメソッドとしてＨＥＡＤが使用されている。故障監視部１１ａは、負荷分散装置１０ａがＩＰヘッダのオプション部を処理できることを通知するために、故障監視パケットとして送信するＨＴＴＰリクエスト中のメッセージヘッダに、送信元のＩＰアドレスを通知するための情報を含める。送信元のＩＰアドレスを通知するための情報は、ＩＰアドレスを通知するために使用するヘッダ名と、送信元のＩＰアドレスが対になっているものとする。例えば、負荷分散装置１０ａのＩＰアドレスがＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸである場合、負荷分散装置１０ａから負荷分散装置１０ｂに送信されるＨＴＴＰリクエストでは「送信元ＩＰアドレス通知：ＸＸＸ．ＸＸＸ．ＸＸＸ．ＸＸＸ」のように表記できる。
【０１１９】
（ｆ３）負荷分散装置１０ｂは、負荷分散装置１０ａから、故障監視パケットを受信する。故障監視部１１ｂは、故障監視パケットに送信元のＩＰアドレスを通知するための情報が含まれているかを判定する。故障監視パケットの送信元のＩＰアドレスが故障監視パケットのメッセージヘッダを用いて通知されている場合、故障監視部１１ｂは、故障監視パケットで通知されたＩＰアドレスが割り当てられた負荷分散装置１０の後段に位置すると判定する。図１９の例では、故障監視部１１ｂは、負荷分散装置１０ａが負荷分散装置１０ｂの前段にあることを、接続テーブル５２ｂに記録する。
【０１２０】
（ｇ１）負荷分散装置１０ｂは、負荷分散装置１０ａに応答する内容を決定するために、データの転送先となるサーバ５ｂとの間の故障監視を行う。故障監視部１１ｂは、サーバ５ｂとの間でＴＣＰプロトコルを用いてコネクションを確立する。
【０１２１】
（ｇ２）故障監視部１１ｂは、サーバ５ｂとの間にコネクションを確立すると、手順（ｆ２）の故障監視部１１ａと同様の手順で生成した故障監視パケットとなるＨＴＴＰリクエストをサーバ５ｂに送信する。このとき、故障監視部１１ｂは、負荷分散装置１０ｂがＩＰヘッダ中のオプション部を処理できることを通知するために、送信元アドレスを通知するヘッダを、ＨＴＴＰリクエストに含めておく。
【０１２２】
（ｇ３）サーバ５ｂは、正常に動作している場合、負荷分散装置１０ｂから受信した故障監視パケットに対して確認応答を送信する。図１９の例では、確認応答は、サーバ５ｂが負荷分散装置１０ｂに「２００  ＯＫ」を通知するためのＨＴＴＰレスポンスである。ここで、サーバ５ｂは、ＩＰヘッダ中のオプション部を処理しないので、送信元アドレスを通知する情報はＨＴＴＰレスポンスに含まれていない。
【０１２３】
（ｇ４）負荷分散装置１０ｂは、サーバ５ｂからＨＴＴＰレスポンスを受信する。すると、故障監視部１１ｂは、サーバ５ｂを、負荷分散装置１０ｂの後段の装置として接続テーブル５２ｂに記録する。このとき、サーバ５ｂから送信されてきたＨＴＴＰレスポンス中に、送信元のＩＰアドレスを通知する情報が含まれていないので、故障監視部１１ｂは、サーバ５ｂをＩＰヘッダのオプション部を処理しない装置として記録する。
【０１２４】
（ｆ４）故障監視部１１ｂは、サーバ５ｂが正常に動作していると判定すると、負荷分散装置１０ａに対して、負荷分散装置１０ｂが正常に動作していることを通知するための確認応答を送信する。このとき、故障監視部１１ｂは、負荷分散装置１０ｂがＩＰヘッダのオプション部を処理できることを負荷分散装置１０ａに通知するために、負荷分散装置１０ｂに割り当てられたＩＰアドレスを、ＨＴＴＰレスポンスのメッセージヘッダに含める。
【０１２５】
（ｆ５）負荷分散装置１０ａは、負荷分散装置１０ｂからＨＴＴＰレスポンスを受信する。すると、故障監視部１１ａは、負荷分散装置１０ｂの情報を、負荷分散装置１０ａの後段の装置として接続テーブル５２ａに記録する。なお、故障監視部１１ａは、メッセージヘッダ中に負荷分散装置１０ｂのＩＰアドレスが含まれていることから、負荷分散装置１０ｂをＩＰヘッダのオプション部を処理する装置として記録する。
【０１２６】
（ｆ６）故障監視を行うための通信が終了すると、負荷分散装置１０ａと１０ｂの間のコネクションと、負荷分散装置１０ｂとサーバ５ｂの間のコネクションが終了される。
【０１２７】
第３の実施形態では、故障監視部１１を用いて行われる故障監視を、アプリケーションレベルの故障監視とすることができるので、コネクションが正常に確立できてもアプリケーションが正常に応答しない場合も検出できる。端末２とサーバ５の間での通信に際しては、応答パケットや要求パケットは、第３の実施形態においても第１の実施形態と同様に扱われる。このため、第３の実施形態でも、端末２とサーバ５の間の通信が効率的に行われる。
【０１２８】
＜第４の実施形態＞
第４の実施形態では、付加情報が長いため、ヘッダのオプション部に入りきらない場合に、付加情報を受信した通知装置と受信装置が、付加情報に対応する情報（索引値）を、他の負荷分散装置１０に通知する場合について説明する。
【０１２９】
図２０は、第４の実施形態で使用されるパケットに含まれるＩＰヘッダのフォーマットの例である。図２０に示すＩＰヘッダは、通知パケット８２、および、転送パケット８４で使用される。図２０に示すＩＰヘッダのオプション部には、付加情報の代わりに、索引値が含まれている。通知パケット８２中のＩＰヘッダのオプション部には、通知パケット８２の転送元の負荷分散装置１０で生成された索引値が含まれている。一方、転送パケット８４では、転送パケット８４の転送処理を行う負荷分散装置１０が、転送先の負荷分散装置１０から通知された索引値が含まれている。図２０に示すＩＰヘッダ中の索引値以外の情報要素は、図８（ａ）、図８（ｂ）を参照しながら説明した情報要素と同様である。
【０１３０】
図２１は、索引値を用いたときの通知パケット８２の転送処理の例を示す。手順（４１）と（４２）は、図１６を参照しながら説明した処理と同様である。
【０１３１】
（６１）負荷分散装置１０ｄは、応答パケット８１ｈをサーバ５ｇから受信しているので、応答パケット８１ｈの処理においては、通知装置として動作する。そこで、負荷分散装置１０ｄは、応答パケット８１ｈのデータから付加情報を取得し、付加情報に対応する索引値Ａを生成する。索引値の生成方法は、付加情報を一意に特定できる任意の方法である。以下、索引値は、負荷分散装置１０ｄ中の記憶部５０ｄの中で、付加情報か通知された索引値の書き込みに使用したアドレスの値である場合を例として説明する。この場合、振り分けリスト管理部４２ｄが振り分けリスト５１ｄを生成するときに、索引値を求め、情報付加部４３ｄに出力する。振り分けリスト管理部４２ｄは、付加情報と処理サーバがサーバ５ｇであることを、索引値Ａに対応付けて、振り分けリスト５１ｄに記録する。この例では、索引値Ａは、負荷分散装置１０ｄに備えられたメモリ中で、振り分けリスト管理部４２ｄが処理サーバ５ｇの識別情報の書き込みに使用したアドレスであるものとする。
【０１３２】
（６２）情報付加部４３ｄは、索引値Ａと処理サーバ５ｇの識別情報をヘッダに含めることにより、応答パケット８１ｈを通知パケット８２ｈに変換する。さらに、書き換え部２４ｄは、送信元の情報を負荷分散装置１０ｄの情報に変更する。書き換え部２４ｄでの処理が終わると、送信部２５ｄは、通知パケット８２ｈを前段の負荷分散装置１０ｂに転送する。
【０１３３】
（６３）負荷分散装置１０ｂの取得部３１ｂは、通知パケット８２ｈのヘッダから、索引値Ａと処理サーバ５ｇの識別情報を取得する。振り分けリスト管理部４２ｂは、索引値Ｂを生成し、索引値Ａと処理サーバ５ｇの識別情報を、索引値Ｂに対応付けて振り分けリスト５１ｂに記憶する。ここで、索引値Ｂは、索引値Ａの書き込みに使用したアドレスの値であるものとする。振り分けリスト管理部４２ｂは、索引値Ｂを情報付加部４３ｂに出力する。
【０１３４】
（６４）情報付加部４３ｂは、通知パケット８２ｈに含まれている索引値Ａを、負荷分散装置１０ｂで生成された索引値（索引値Ｂ）に変更する。さらに、書き換え部２４ｂは、通知パケット８２ｈの送信元を負荷分散装置１０ｂでの振り分けに使用している情報に変更する。書き換え部２４ｂでの処理により得られた通知パケット８２ｊは、送信部２５ｂにより、負荷分散装置１０ａに転送される。
【０１３５】
（６５）負荷分散装置１０ａは、負荷分散装置１０ａよりも前段の負荷分散装置１０が設置されていないことを認識している。このため、後段側の負荷分散装置１０ｂから通知パケット８２ｊを受信すると、パケットバッファ２２ａは、通知パケット８２ｊのバッファリングを行う。並行して、取得部３１ａは、通知パケット８２ｊのヘッダから、索引値Ｂと識別情報を取得する。抽出部３２ａは、通知パケット８２ｊ中のデータから、付加情報を取得する。
【０１３６】
（６６）振り分けリスト管理部４２ａは、付加情報に対応付けて、索引値Ｂ、索引値Ｂを通知してきたノードが負荷分散装置１０ｂであること、および、処理サーバがサーバ５ｇであることを、振り分けリスト５１ａに記録する。
【０１３７】
（６７）書き換え部２４ａは、ヘッダから索引値Ｂ、サーバ５ｇの識別情報などを削除し、通知パケット８２ｊを応答パケット８１ｊに変換する。このとき、応答パケット８１ｊの送信元は、負荷分散装置１０ａが、パケットの振り分けに使用するＩＰアドレスとポート番号に設定されているものとする。端末２は、応答パケット８１ｊを受信すると、負荷分散装置１０ａが、パケットの振り分けに使用するＩＰアドレスとポート番号に対応付けて、付加情報を記憶する。
【０１３８】
図２２は、転送パケット８４について行われる転送処理の例を示す。端末２から要求パケット８３ｊが送信されるときの処理は、図１６を参照しながら説明した手順（４７）と同様である。
【０１３９】
（７１）負荷分散装置１０ａは、要求パケット８３ｊを端末２から受信しているので、要求パケット８３ｊの処理においては、受信装置として動作する。そこで、抽出部３２ａは、要求パケット８３ｊ中のデータを解析して、付加情報を取得する。
【０１４０】
（７２）検索部４１ａは、抽出部３２ａから通知された付加情報に対応付けられた識別情報を、振り分けリスト５１ａから特定する。検索部４１ａは、得られた識別情報を変換部４４ａに出力する。
【０１４１】
（７３）変換部４４ａは、入力された識別情報を用いて、要求パケット８３ｊを転送パケット８４ｊに変換し、負荷分散装置１０ｂに転送する。
【０１４２】
（７４）負荷分散装置１０ｂの取得部３１ｂは、転送パケット８４ｊのヘッダから、識別情報を取得し、検索部４１ｂに出力する。検索部４１ｂは、識別情報に含まれているＩＰヘッダとポート番号の組み合わせに対応付けられた負荷分散装置１０を、振り分けリスト５１ｂを用いて検索する。ここでは、手順（６３）によりサーバ５ｇの識別情報と負荷分散装置１０ｄの情報が対応付けられている。そこで、書き換え部２４ｂは、検索部４１ｂからの要求に応じて、転送パケット８４ｊの宛先を負荷分散装置１０ｄに変更し、送信部２５ｂを介して送信する。
【０１４３】
（７５）負荷分散装置１０ｄの取得部３１ｄは、転送パケット８４ｊに含まれている識別情報を用いて、転送パケット８４ｊに含まれているデータがサーバ５ｇで処理されることを特定する。そこで、書き換え部２４ｄは、転送パケット８４ｊのヘッダから識別情報などを削除することにより、転送パケット８４ｊを要求パケット８３ｋに変換する。書き換え部２４ｄは、要求パケット８３ｋを、送信部２５ｄを介してサーバ５ｇに送信する。
【０１４４】
図２３は、負荷分散装置１０の処理の例を説明するフローチャートである。図２３は、通知装置として動作する負荷分散装置１０がサーバ５から応答パケット８１を受信したときの処理の例を示す。ステップＳ９１〜Ｓ９４は、図１３を参照しながら説明したステップＳ４１〜Ｓ４４と同様である。その後、振り分けリスト管理部４２は、付加情報に対応する索引値を生成し、付加情報に対応付けて振り分けリスト５１に記憶する（ステップＳ９５）。情報付加部４３は、応答パケット８１のヘッダに、処理サーバの情報と索引値を含めることにより、応答パケット８１を通知パケット８２に変換する（ステップＳ９６）。ステップＳ９７〜Ｓ９９の処理は、図１３を参照しながら説明したステップＳ４６〜Ｓ４８と同様である。
【０１４５】
図２４は、負荷分散装置１０の処理の例を説明するフローチャートである。図２４は、受信装置として動作する負荷分散装置１０以外の負荷分散装置１０が、通知パケット８２を受信した負荷分散装置１０の処理の例を示す。ステップＳ１０１、Ｓ１０２は、図１８を参照しながら説明したステップＳ８１、Ｓ８２と同様である。取得部３１はヘッダから処理サーバの識別情報と索引値を取得する（ステップＳ１０３）。振り分けリスト管理部４２は、取得部３１が取得した索引値を記録するアドレスの値を取得し、得られた値を通知用の索引値とする（ステップＳ１０４）。振り分けリスト管理部４２は、通知用の索引値に対応付けて、処理サーバの識別情報、通知パケット８２の転送元、通知パケット８２の転送元から通知された索引値を、振り分けリスト５１に記憶する（ステップＳ１０５）。書き換え部２４は、通知パケット８２中の索引値を、自ノードが通知用に生成した索引値に変更する（ステップＳ１０６）。ステップＳ１０７〜Ｓ１０９は、図１８のステップＳ８５〜Ｓ８７と同様である。
【０１４６】
図２５は、負荷分散装置１０の処理の例を説明するフローチャートである。図２５は、受信装置として動作する負荷分散装置１０が、通知パケット８２を受信した場合の処理の例を示す。ステップＳ１１１〜Ｓ１１３は、図２４のステップＳ１０１〜Ｓ１０３と同様である。書き換え部２４は、ヘッダから識別情報などを除去することにより、通知パケット８２を応答パケット８１に変換する（ステップＳ１１４）。さらに、パケットバッファ２２で変換後の応答パケット８１をバッファリングし、抽出部３２がデータから付加情報を取得する（ステップＳ１１５、Ｓ１１６）。振り分けリスト管理部４２は、付加情報に対応付けて、ステップＳ１１３で取得した索引値、通知パケット８２を転送してきた負荷分散装置１０の情報、および、処理サーバの識別情報を、振り分けリスト５１に記録する（ステップＳ１１７）。ステップＳ１１８〜Ｓ１２０は、図２４のステップＳ１０７〜Ｓ１０９と同様である。
【０１４７】
なお、要求パケットが端末２からサーバ５に送信されるときの処理は、図１１、図１２、図１７と同様である。
【０１４８】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１４９】
例えば、第４の実施形態において、送受信される転送パケット８４のヘッダに付加情報と索引値が含まれていてもよい。図２６は、索引値を用いたときの転送パケット８４の転送処理の例を示す。図２６中の手順（４７）と手順（７１）は、図２２と同様である。手順（８１）において、検索部４１ａは、抽出部３２ａから通知された付加情報に対応付けられた識別情報と索引値Ｂを、振り分けリスト５１ａから特定する。検索部４１ａは、得られた識別情報を変換部４４ａに出力する。手順（８２）では、変換部４４ａは、識別情報と索引値を要求パケット８３のヘッダに含めることにより、要求パケット８３ｊを転送パケット８４ｍに変換し、負荷分散装置１０ｂに転送する。手順（８３）で負荷分散装置１０ｂの取得部３１ｂは、転送パケット８４ｍのヘッダから索引値Ｂを取得し、検索部４１ｂに出力する。検索部４１ｂは、検索値Ｂに対応付けられている識別情報、検索値Ａ、転送先の情報を検索する。ここで、検索値Ｂは、メモリ中で、検索値Ａの書き込みに使用したアドレスを表す値である。このため、検索部４１ｂは、容易に、検索値Ａと識別情報を特定することができる。手順（８４）において、変換部４４ｂは、転送パケット８４ｍのアドレス中の索引値Ｂを、索引値Ａに変更することにより、転送パケット８４ｎを生成し、負荷分散装置１０ｄに送信する。手順（８５）では、負荷分散装置１０ｄの取得部３１ｄは、索引値Ａを転送パケット８４ｎのヘッダから取得し、検索部４１ｄに通知する。検索値Ａは、負荷分散装置１０ｄに備えられたメモリ中で、処理サーバ５ｇの識別情報の書き込みに使用したアドレスを表す値である。このため、検索部４１ｄは、検索値Ａの値のアドレスにアクセスすることにより識別情報を特定できる。手順（８６）において、書き換え部２４ｄは、転送パケット８４ｎを要求パケット８３ｎに変換した後で、要求パケット８３ｎをサーバ５ｇに転送する。
【０１５０】
図２６に示す方法で転送パケット８４を転送すると、図２２に示す方法に比べて、各負荷分散装置１０での処理負荷は重くなる。しかし、各負荷分散装置１０において、記憶している識別子を転送パケット８４か要求パケット８３に含めるので、通知パケット８２の転送の際に通知パケット８２のヘッダ中の識別情報が改変されたとしても、処理サーバを正しく特定できる可能性がある。
【０１５１】
上記の説明で記載したテーブルやパケットのフォーマットは一例であり、実装に応じて変形されうる。例えば、転送パケット８４のＩＰヘッダにも、通知パケット８２と同様に、付加情報が含まれていても良い。転送パケット８４に付加情報が含められる場合、図８（ｂ）のパディングの代わりに付加情報がＩＰヘッダのオプション部に記録される。
【０１５２】
上記の説明では、ＩＰヘッダのオプション部に付加情報等が記録される場合を例として説明したが、付加情報や識別情報の通知にＴＣＰヘッダのオプション部が使用されても良い。この場合、ＩＰヘッダは規定どおりに使用される。取得部３１は、ＴＣＰヘッダをから情報を取得し、ＴＣＰヘッダから情報が取得できない場合、パケットバッファ２２と抽出部３２に処理を要求する。図２７は、ＴＣＰヘッダの例を示す。ＴＣＰヘッダは、送信元ポート番号、宛先ポート番号、シーケンス番号、ＡＣＫ番号、データオフセット、リザーブ領域、制御ビット、ウィンドウサイズ、チェックサム、緊急ポインタ、オプション部を含む。オプション部以外の領域はＴＣＰの規定に沿って使用される。
【０１５３】
図２７（ａ）は、障害監視パケットに含まれるＴＣＰヘッダの例を示す。障害監視パケットのＴＣＰヘッダのオプション部は、オプションタイプ、オプション長、送信元ＩＰアドレス、パディングを保持する。図２７（ｂ）は、第１〜第３の実施形態で通知パケット８２や転送パケット８４のＴＣＰヘッダのフォーマットの例を示す。オプション部に含まれる情報は、図８を参照しながら説明したＩＰヘッダのオプション部と同様である。図２７（ｃ）は、第４の実施形態で通知パケット８２や転送パケット８４のＴＣＰヘッダのフォーマットの例を示す。オプション部に含まれる情報は、図２０を参照しながら説明したＩＰヘッダのオプション部と同様である。
【符号の説明】
【０１５４】
１０  負荷分散装置
１１  故障監視部
２０  パケット処理部
２１  受信部
２２  パケットバッファ
２３  選択部
２４  書き換え部
２５  送信部
３０  解析部
３１  取得部
３２  抽出部
４０  付加情報処理部
４１  検索部
４２  振り分けリスト管理部
４３  情報付加部
４４  変換部
５０  記憶部
５１  振り分けリスト
５２  接続テーブル
６１  プロセッサ
６２  メモリ
６３  入力装置
６４  出力装置
６５  バス
６６  外部記憶装置
６７  媒体駆動装置
６８  可搬記憶媒体
６９  ネットワーク接続装置
７０  ネットワーク
【図１】
2014225157.tif 000003
【図２】
2014225157.tif 000004
【図３】
2014225157.tif 000005
【図４】
2014225157.tif 000006
【図５】
2014225157.tif 000007
【図６】
2014225157.tif 000008
【図７】
2014225157.tif 000009
【図８】
2014225157.tif 000010
【図９】
2014225157.tif 000011
【図１０】
2014225157.tif 000012
【図１１】
2014225157.tif 000013
【図１２】
2014225157.tif 000014
【図１３】
2014225157.tif 000015
【図１４】
2014225157.tif 000016
【図１５】
2014225157.tif 000017
【図１６】
2014225157.tif 000018
【図１７】
2014225157.tif 000019
【図１８】
2014225157.tif 000020
【図１９】
2014225157.tif 000021
【図２０】
2014225157.tif 000022
【図２１】
2014225157.tif 000023
【図２２】
2014225157.tif 000024
【図２３】
2014225157.tif 000025
【図２４】
2014225157.tif 000026
【図２５】
2014225157.tif 000027
【図２６】
2014225157.tif 000028
【図２７】
2014225157.tif 000029