JP4398354B2 - 中継システム - Google Patents
中継システム Download PDFInfo
- Publication number
- JP4398354B2 JP4398354B2 JP2004367864A JP2004367864A JP4398354B2 JP 4398354 B2 JP4398354 B2 JP 4398354B2 JP 2004367864 A JP2004367864 A JP 2004367864A JP 2004367864 A JP2004367864 A JP 2004367864A JP 4398354 B2 JP4398354 B2 JP 4398354B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- unit
- frame
- client
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1017—Server selection for load balancing based on a round robin mechanism
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
Description
ラヒックを常に同一のサーバに振り分ける機能を持っている。これをパーシステンス機能と呼ぶ。以降の説明では、このパーシステンス機能による負荷分散をL7負荷分散と呼ぶ。また、上記のようなセッション情報を持たないトラヒックについては、パーシステンス機能は不要となる。この場合には、パーシステンス機能以外の負荷分散ルール、例えばサーバ負荷状況にもとづく負荷分散、ラウンドロビンによる振分などが行われる。
状態の管理)が必要となる。
、クロック数向上、CPU並列化などCPU性能の向上が図られていた。しかし、CPU性能には限界があり(1Gigabit per second程度)、ネットワークの広帯域化(10 Gigabit
per secondが普及段階)により、負荷分散装置自身がエンドホスト間通信のボトルネッ
クとなる可能性がある。
ける所定のフィールドデータを抽出することにより中継先サーバを決定するという処理(後段装置)とに、分割することができる。
データ量を増やすことができる中継システムを提供することができる。
〔発明の実施形態の概要〕
本発明の実施形態を説明するにあたって、まず本発明の実施形態の概要について説明する。図1は、本発明の実施形態に係る負荷分散システムの概要説明図である。図1には、前段装置10と後段装置30とで構成される本発明の実施形態に係る負荷分散システム(以降、単に本負荷分散システムとする)が示されている。以下、本負荷分散システムの機能及びやりとりする通信データ等を説明する上で、OSI(Open Systems Interconnection)階層モデルに基づいて説明する。
kieとは、Webサーバとクライアントの間で暗黙的に情報交換するための仕組みであり、Webサーバの指示により、当該Webサーバにアクセスしたクライアントのコンピュータにデータを一時的に保存する仕組みである。ここでは、クライアント50にサーバ60を識別するための情報がCookieにより保存されている場合を例に挙げる。
号フィールド)に設定する(図1に示すフレーム4及び5)。前段装置10は、予めL7情報と上記特定フィールドに設定すべき識別情報の対応ルールを決めている。
〔第一実施形態〕
以下、図面を参照して、本発明の第一実施形態における負荷分散システムについて説明する。
〈システム構成〉
図5は、第一実施形態における負荷分散システムのネットワーク構成を示す図である。以下に、本実施形態のネットワーク構成について図5を用いて説明する。
は、それぞれ各クライアント端末(以降、クライアントとする)50−52が含まれる。また、サーバネットワーク87には、各種アプリケーションを提供するサーバ端末(以降、サーバとする)60−62が含まれる。
荷分散を実現する。以降、前段装置11−13は全て同じものであるため、前段装置11を例に説明する。
0.1を持ち、サーバ60−62は、仮想IPアドレス50.0.0.1を持ち、サーバ60−62のMACアドレス(Media Access Control address)を、それぞれ「MS1」、「MS2」及び「MS3」とした場合について説明する。サーバ60−62が1つの仮想IPアドレスを持つのは、それらが負荷分散されているからであり、そのサーバ群にアクセスするクライアントにとっては、1つのサーバとして認識される。従って、各クライアント50−52は、サーバ60−62にアプリケーションの提供を求める場合には、1つの仮想IPアドレス50.0.0.1に対して要求することになる。
サーバ60−62は、本発明に係る負荷分散システムにより、負荷分散されるサーバ群である。各サーバ60−62は、例示として、それぞれ同一のWebサーバであり、同一のHTMLコンテンツを提供するものとする。また、クライアント50−52は、アクセスすべきサーバ60−62が、本発明に係る負荷分散システムにより負荷分散されることにより、快適にサーバ群からHTMLコンテンツの提供を受ける端末である。
前段装置11は、例えば、CPU(Central Processing Unit)、メモリ及び入出力イ
ンターフェースなどを備え、IP通信機能を持つ1つのブリッジ装置である。しかし、専用装置に限定されるものではなく、IP通信機能を持つ汎用的なコンピュータ上で動作する1つのアプリケーションであってもよい。第一実施形態における前段装置11は、IPアドレス20.0.0.1を持つブリッジ装置である。
後段装置30は、前段装置11と同様のH/W構成を持つ1つのブリッジ装置である。さらに後段装置30についても専用装置に限定されるものではなく、IP通信機能を持つ
汎用的なコンピュータ上で動作する1つのアプリケーションであってもよい。
次に、図5に示した前段装置11−13の機能構成について説明する。図6は、図5に示した第一実施形態における前段装置の機能ブロックを示す図である。図5に示す前段装置11−13は全て同一の機能構成を持つため、ここでは、そのうちの前段装置11を例に説明する。
クライアントL7セッション終端部101は、クライアント50から送信される1以上のフレームを受信し、ひとかたまりのL7データを合成する。クライアント50のアプリケーション層の送信データ(L7データ)は、ネットワーク層における送信可能なサイズに分割され、複数のフレームとして送信されるため、クライアントL7セッション終端部101は、それらを合成する。そして、クライアントL7セッション終端部101は、合成されたL7データを特定パターン抽出部102及びサーバL7セッション終端部105に通知する。
特定パターン抽出部102は、クライアントL7セッション終端部101により合成されたL7データを受け取り、特定のルールで照合を行い、マッチしたデータ(ビットパターン)を抽出する。ここでは、特定パターン抽出部102は、L7データのCookie中に、「Cookie:server=“serverID”」というビットパターンがあるか否かの判定を行い、当該ビットパターンがあった場合に、serverIDの部分に設定されているビットパターンを抽出する。そして、特定パターン抽出部102は、抽出したビットパターンを送信パラメータ決定部104に通知する。
マッピングルール保持部103は、特定パターン抽出部102が抽出したビットパターンと、それに対応する識別情報を保持する。マッピングルール保持部103は、図7に示すマッピングルールテーブルを持つ。すなわち、マッピングルール保持部103は、CookieのserverIDに設定されるビットパターン(例えば、図7に示すSV1)と、それに対応するポート番号の範囲データとの相対表を保持する。
送信パラメータ決定部104は、特定パターン抽出部102から渡されたビットパターンを元に、マッピングルール保持部103を検索し、後段装置30に送信するフレームに設定すべき、フィールド値を決定する。すなわち、送信パラメータ決定部104は、通知されたビットパターンに基づき、対応するポート番号を決定する。そして、送信パラメータ決定部104は、決定したフィールド値をサーバL7セッション終端部105に通知する。
サーバL7セッション終端部105は、送信パラメータ決定部104から通知されるフィールド値により、後段装置30に転送するフレームの送信元ポート番号フィールドの値を置き換え、当該フレームを後段装置30へ転送する。このとき、サーバL7セッション終端部105は、置き換える前の送信元ポート番号フィールドの値と、そのフレームの送信元であるクライアント50のIPアドレス、及び置き換え後のフィールド値を保持する。
次に、図5に示した後段装置30における機能構成について説明する。図8は、図5に示した第一実施形態における後段装置の機能ブロックを示す図である。
特定フィールド抽出部131は、前段装置11から転送されるフレームを受信し、前段装置11により付与された識別情報が設定されている箇所(特定フィールド)の値を取得する。ここでは、フレーム内の送信元ポート番号フィールドの値が取得される。特定フィールド抽出部131は、取得したフィールド値を振分ルール選択部135に通知する。また、特定フィールド抽出部131は、受信したフレームをそのまま送信先変更部134に転送する。
振分ルール選択部135は、特定フィールド抽出部131から通知される上記特定フィールドの値をもとに、L7負荷分散処理を行うか、それ以外のルールを用いるかを決定する。つまり、振分ルール選択部135は、上記特定フィールド値が特定パターンを抽出できなかったことを示すポート番号となっていた場合には、新たな負荷分散が要求されるため、L7負荷分散以外のルールを用いることを決定する。そして振分ルール選択部135は、上記決定に応じて、L7負荷分散処理であれば、L7振分先決定部133に特定フィールド値であるポート番号を通知し、L7負荷分散以外のルールを用いる必要がある場合であれば、振分先決定部136にその旨のポート番号を通知する。後段装置によるL7負荷分散処理とは、特定フィールドに設定されるポート番号を元に、ポート番号に対応するサーバに受信フレームを振り分ける処理をいう。一方、L7負荷分散以外のルールについては、振分先決定部136の機能として以下に説明する。
L7振分ルール保持部132は、特定フィールド抽出部131が抽出したポート番号と、それに対応する振分先サーバのアドレス情報を保持する。L7振分ルール保持部132は、図9に示す振分ルールテーブルを持つ。すなわち、L7振分ルール保持部132は、前段装置11により付加されるポート番号と、それに対応する振分先サーバのMACアドレスとの相対表を保持する。
L7振分先決定部133は、振分ルール選択部135より通知された特定フィールド値を元に、L7振分ルール保持部132を検索し、振分先サーバを決定する。すなわち、L7振分先決定部133は通知されたポート番号に基づき、対応する振分先サーバのMACアドレスを決定する。そして、L7振分先決定部133は、決定した振分先サーバのMACアドレスを送信先変更部134に通知する。
振分先決定部136は、振分ルール選択部135よりL7負荷分散以外のルールを用いる必要がある場合のポート番号を通知されると、所定のルールを元に振分先サーバを決定する。所定のルールとは、例えば、ラウンドロビンによる決定方法などがある。ここでは、振分先決定部136は、負荷分散すべき各サーバ60―62のCPU負荷を常時監視し、その決定時点で最も負荷の軽いサーバを振分先サーバとして決定し、そのサーバのMACアドレスを送信先変更部134に通知する。
送信先変更部134は、特定フィールド抽出部131より転送されるフレームの送信先MACアドレスを、L7振分先決定部133、または振分先決定部136より通知された振分先サーバのMACアドレスに書き換え、決定された振分サーバに送信する。
〈動作例〉
次に、第一実施形態における負荷分散システムの動作について説明する。
ある。また、第1の通信フェーズは、サーバがCookieをサポートしない場合などにも実行される。
クライアント50は、仮想IPアドレス「50.0.0.1」宛てに、送信元ポート番号を「4000」と設定したTCPのSYNパケットを送信する。SYNパケットは、一般にクライアントとサーバとの間のTCPコネクションを作成する上で使用されるパケットである。このようにTCPコネクションが作成される理由は、HTTPによるクライアント(Webブラウザ)とWebサーバとの間の通信がトランスポート層(L4)の提供する仮想的な通信回線(ポート)を利用して行われるためである。
の送信元ポート番号フィールドに設定されている値「15001」を抽出し、振分ルール選択部135に通知する。
アント50は、以降のサーバ60との通信において、このCookieが暗黙的に付与されたL7データを送信することになる。
第2の通信フェーズは、Cookieが記録された状態でクライアント50がサーバ60にHTMLコンテンツを要求するフェーズである。この場合も第1の通信フェーズと同様にまず、クライアント50は、仮想IPアドレス「50.0.0.1」宛てに、送信元ポート番号を「4001」と設定したTCPのSYNパケットを送信し、前段装置11のクライアントL7セッション終端部101との間に、TCPコネクションを作成する。
CPのSYNフレーム)の送信先MACアドレスを、L7振分先決定部133により通知された上記アドレス「MS1」に書き換え、サーバ側に転送する。
上記の説明では、通信シーケンスに従って他の装置の動作と関連させ、第一実施形態における負荷分散システムの各機能構成の動作を説明したが、ここでは、前段装置11及び後段装置30のそれぞれの動作について図11及び12を用いて説明する。
図11は、第一実施形態における前段装置11の動作を示すフローチャートである。
図12は、第一実施形態における後段装置30の動作を示すフローチャートである。
信すると(S21)、当該フレームの送信元ポート番号フィールドの値を抽出する(S22)。後段装置30の振分ルール選択部135は、当該ポート番号がL7負荷分散を行うためのものか否かを判定する(S23)。これにより、当該ポート番号がL7負荷分散を行うための番号であれば(S23;YES)、L7振分先決定部133は、L7振分ルール保持部132のテーブルから当該ポート番号に対応する振分先サーバのアドレスを決定する(S24)。一方、当該ポート番号がL7負荷分散以外の番号であった場合(S23;NO)には、振分先決定部136は、その時に一番CPU負荷が軽いと判断したサーバを振分先サーバとして選択し、そのサーバのアドレスを取得する(S25)。そして、送信先変更部134が、決定された振分先サーバのアドレスにより送信すべきフレームのアドレスを書き換え、サーバ60−62方向へ送信する(S26)。
第一実施形態における負荷分散システムでは、クライアントから送出されたアプリケーション層(L7)のデータであって1以上のフレームに分割され送出された通信データが前段装置11−13及び後段装置30を中継し、これら前段装置及び後段装置によって振分先として決定されたサーバ60−62の1つに送られる。
以下、図面を参照して、本発明の第二実施形態における負荷分散システムについて説明
する。
図13は、第二実施形態における負荷分散システムのネットワーク構成を示す図である。第一実施形態におけるネットワーク構成では、図5に示すように、各クライアント50−52がサーバ群60−62にアクセスする場合には、必ず、各前段装置11−13を中継し、後段装置30にフレームが送信されることで負荷分散が実現されていた。第二実施形態では、第一実施形態におけるネットワーク構成に換わり、クライアントネットワーク81内にあった前段装置11が、サーバネットワーク87内に配置される。すなわち、第二実施形態における負荷分散システムは、クライアント50からサーバ群60−62へのアクセスにおいて、直接、クライアント50から後段装置30にデータが送信された場合に対応し得る構成となる。
図13に示した後段装置30における機能構成について説明する。図14は、図13に示した第二実施形態における後段装置の機能ブロックを示す図である。
前段装置転送部137は、受信フレームが特定の送信元アドレスから送信されたフレームではない場合、前段装置11に当該受信フレームを転送する。つまり、前段装置転送部137は、クライアント50から送信されるフレームを直接受信した場合に、前段装置11に転送する。
次に、第二実施形態における負荷分散システムの動作について説明する。
クライアント50は、仮想サーバ「50.0.0.1」宛てに、送信元ポート番号を「4000」と設定したTCPのSYNフレームを送信する。
第二実施形態における負荷分散システムは、第2の通信フェーズについても第1の通信フェーズの場合と同様に動作する。クライアント50が仮想サーバ「50.0.0.1」宛てのTCPのSYNパケットを送信すると、そのフレームを受信した後段装置30の前段装置転送部137は、それらを前段装置11に転送する。そして、前段装置11のクライアントL7セッション終端部101とクライアント50との間に、TCPコネクションを作成する。以降、クライアント50が送信するHTTPリクエストについても同様である。
上記説明では、他の装置の動作と関連させて説明したが、ここでは、第二実施形態における後段装置30の動作フローについて図15を用いて説明する。前段装置11については、第一実施形態と同様であるため説明を省略する。
図15は、第二実施形態における後段装置30の動作を示すフローチャートである。
第二実施形態における負荷分散システムでは、前段装置11を経由せず、後段装置30が直接クライアントからの送信フレームを受信した場合に、後段装置30の前段装置転送部137により前段装置11に転送される。
以下、図面を参照して、本発明の第三実施形態における負荷分散システムについて説明する。
図16は、第三実施形態における負荷分散システムのネットワーク構成を示す図である。第一実施形態におけるネットワーク構成では、図5に示すように、各クライアント50−52がアクセスするサーバ群60−62は、1つのサーバネットワーク87に配置されていた。第三実施形態では、第一実施形態におけるネットワーク構成に加えて、サーバネットワーク88がさらに接続され、そのネットワーク内にサーバ群63−65が配置される。
に分かれているような場合に対応し得る構成となる。第三実施形態におけるネットワーク構成において、サーバ60−65の全サーバを示す仮想IPアドレスを50.0.0.1とし、後段装置30配下にあるサーバ60−62を示す仮想IPアドレスを60.0.0.1とし、後段装置31配下にあるサーバ63−65を示す仮想IPアドレスを70.0.0.1とする。
図16に示した前段装置11における機能構成について説明する。図17は、図16に示した第三実施形態における負荷分散システムの前段装置における機能ブロックを示す図である。
特定パターン抽出部102は、抽出したビットパターンを送信パラメータ決定部104とともに後段装置振分部106に通知する。ビットパターンを抽出できない場合においても、特定パターン抽出部102は、特定パターンがない旨の通知を送信パラメータ決定部104とともに後段装置振分部106に通知する。
後段装置振分部106は、特定パターン抽出部102から渡されたビットパターンを元に、転送先の後段装置を複数の後段装置の中から選択する。そして、後段装置振分部106は、選択した後段装置に該当する仮想IPアドレスをサーバL7セッション終端部105に渡す。ここでは、後段装置振分部106は、ビットパターンが「SV1」、「SV2」、「SV3」の場合は後段装置30の仮想IPアドレス「60.0.0.1」を決定し、ビットパターンが「SV4」、「SV5」、「SV6」の場合は後段装置31の仮想IPアドレス「70.0.0.1」を決定する。
サーバL7セッション終端部105は、送信パラメータ決定部104から通知されるフィールド値により、転送するフレームの送信元ポート番号フィールドの値を置き換える。さらに、サーバL7セッション終端部105は、後段装置振分部106から通知される転送先後段装置の仮想IPアドレスにより、転送するフレームの送信先アドレスを書き換え、当該フレームを後段装置へ転送する。
次に、第三実施形態における負荷分散システムの動作について説明する。
62にHTMLコンテンツの提供を要求する場合の上記各構成要素の動作について説明する。通信シーケンスは、第一実施形態と同様であるので、第1の通信フェーズ及び第2の通信フェーズに分け、以下に説明する。
前段装置11のクライアントL7セッション終端部101が、クライアント50の送信するHTTPリクエストを受信フレームから抽出し、そのHTTPリクエストを特定パターン抽出部102に渡すところまでは、第一実施例の場合の動作と同様である。
第2の通信手順は、Cookieが記録された状態でクライアント50がサーバ60にHTMLコンテンツを要求するフェーズである。この場合も、前段装置11のクライアントL7セッション終端部101が、クライアント50の送信するHTTPリクエストを受信フレームから抽出し、そのHTTPリクエストを特定パターン抽出部102に渡すところまでは、第一実施例の場合の動作と同様である。
上記説明では、他の装置の動作と関連させて説明したが、ここでは、第三実施形態における前段装置11の動作フローについて図18を用いて説明する。後段装置30については、第一実施形態と同様であるため説明を省略する。
図18は、第三実施形態における前段装置11の動作を示すフローチャートである。
第三実施形態における負荷分散システムでは、前段装置11−13の後段装置振分部106が特定パターン抽出部102により抽出されたパターンデータに基づき、転送すべき後段装置30−31を決定する。その後、前段装置11−13のサーバL7セッション終端部105により、送信元ポート番号が送信パラメータ決定部104によって決定されたポート番号に書き換えられ、当該決定された後段装置に送出される。
本発明の実施形態では、特定パターン抽出部102によって抽出されるビットパターン(例えば、「SV1」など)とフレームに付与する特定フィールド値(例えば、ポート番号)のマッピングルールが、あらかじめマッピングルール保持部103に記録されている(例えば、図7に示すマッピングルールテーブル)。
そこで、第一変形例における負荷分散システムでは、上記マッピングルールを動的に変更し得る構成とする。第一変形例における負荷分散システムでは、前段装置にマッピングルール変更部107(本発明の対応表変更部に相当)が新たに含まれる。それ以外の構成は、全て上記実施形態と同様である。
特定フィールドの値の更新要求を受け付け、その受け付けた要求に基づきマッピングルール保持部103の内容を変更する。以降、送信パラメータ決定部104は、更新されたマッピングルール保持部103の情報を元に特定フィールド値(ポート番号)を決定する。
上記実施形態の図7に示すマッピングルールテーブルにおいて、「SV3」のポート番号の範囲を「20001〜30000」に変更する場合の第一変形例における負荷分散システムの動作について説明する。
第一変形例における負荷分散システムでは、前段装置11−13のマッピングルール変更部107により、送信パラメータ決定部104がポート番号を決定する上で参照するマッピングルール保持部103のマッピングルールが変更される。
本発明の実施形態において、特定パターン抽出部102がビットパターンを抽出する上で利用するマッチングルールは予め用意されている。例えば、特定パターン抽出部102は、L7データについて「Cookie:server=“serverID”」というビットパターンと照合を行うことで、“serverID”部に設定されるビットパターンを抽出する。
そこで、第二変形例における負荷分散システムでは、上記マッチングルールを動的に変更し得る構成とする。第二変形例における負荷分散システムでは、前段装置にマッチングルール変更部108及びマッチングルール保持部109が新たに追加される。それ以外の構成は、全て上記実施形態と同様である。
部109の保持するマッチングルールを利用して、特定フィールド値を抽出する。
第二変形例では、マッチングルール保持部109にマッチングルールが設定されていない状態において、「Cookie:server=“serverID”」のルールをシステム外部の端末より追加する場合の第二変形例における負荷分散システムの動作について説明する。
第二変形例における負荷分散システムでは、前段装置11−13のマッチングルール変更部108により、特定パターン抽出部102が特定のビットパターンを抽出する上で判定するルールが変更される。
本発明の実施形態では、前段装置のサーバL7セッション終端部105で設定されるのは、1つのフィールド(例えば、送信元ポート番号)である。それにより、後段装置の特定フィールド抽出部131で抽出されるのも1つの特定フィールドであり、L7振分先決定部133における振分先決定も1つのフィールドによって決定される。
ルド種別:SrcPort)フィールドに「10001〜11000」が設定されており、または、送信元IPアドレス(フィールド種別:SrcIP)フィールドに「20.0.0.10」が設定されている場合に、振分先サーバとして「MS1」が選択されるという形で定義されている。つまり、振分先サーバを決定するのに、送信元ポート番号か送信元IPアドレスのどちらかが利用されるようになる。
第三変形例における負荷分散システムでは、後段装置30が振分の判断に利用する特定フィールドを複数利用することが可能となる。これにより、第三変形例における負荷分散システムは、高度な負荷分散を可能とする。
本実施形態は次の発明を開示する。各項に開示される発明は、必要に応じて可能な限り組み合わせることができる。
同一アプリケーションを有する1以上のサーバとクライアントから構成され、前記クライアントとサーバ間でやりとりされる通信データが1以上のフレームに分割され送受信されるネットワークにおいて、前記クライアントが前記サーバへアプリケーションの提供を求める際に前記クライアントから送信される通信データを前記サーバのうちの1つへ中継する中継システムであって、
前記クライアントに接続される前段装置と前記1以上のサーバに接続される後段装置とを備え、
前記前段装置は、
前記クライアントより送信される前記フレームから前記通信データを取得する取得部と、
前記取得した通信データから所定のデータを抽出する抽出部と、
前記所定のデータに対応する所定のフィールドデータを決定する決定部と、
前記フレームに前記所定のフィールドデータを設定し、送信する送信部とを備え、
前記後段装置は、
前記前段装置により送信された前記フレームを受信し、その受信フレームから前記所定のフィールドデータを抽出する後段抽出部と、
前記後段装置に接続されるサーバの中から、前記抽出された所定のフィールドデータに対応する中継先サーバを決定する中継先決定部と、
前記前段装置からの前記受信フレームの宛先を、前記決定されたサーバの宛先に変更し、送信する送信先変更部とを備える中継システム。(1)
(付記2)
前記決定部は、前記取得した通信データから前記所定のデータを抽出できない場合に、所定の第2フィールドデータを決定し、
前記中継先決定部は、前記抽出された所定のフィールドデータが前記所定の第2フィールドデータであることを判別した場合には、前記後段装置に接続されるサーバの中から、所定のルールにより中継先サーバを決定する付記1記載の中継システム。(2)
(付記3)
前記後段装置は、
前記受信フレームが前記前段装置により送信されたものでない場合に、前記前段装置に当該受信したフレームを転送する転送部を備える付記1記載の中継システム。(3)
(付記4)
前記後段装置が複数存在する場合において、
前記前段装置は、
前記抽出部により抽出された前記所定のデータに基づき、前記複数の後段装置の中か
ら、転送先となる後段装置を選択する後段選択部を備え、
前記送信部は、前記フレームに前記所定のフィールドデータを設定すると共に、前記フレームの宛先を前記選択された後段装置の宛先に変更し、送信する付記1記載の中継システム。(4)
(付記5)
前記前段装置は、
前記所定のデータと前記所定のフィールドデータとの対応関係を示し、前記決定部により前記所定のフィールドデータを決定する際に参照される対応表を保持する対応表保持部と、
前記対応表の内容を変更する対応表変更部とを備える付記1記載の中継システム。(5)
(付記6)
前記前段装置は、
前記通信データから前記所定のデータを抽出するための抽出ルールであって、前記抽出部により前記所定のデータを抽出する際に参照される抽出ルールを保持する抽出ルール保持部と、
前記抽出ルールの内容を変更するルール変更部とを備える付記1記載の中継システム。
前記決定部は、前記所定のデータに対応する複数の所定のフィールドデータを決定し、
前記送信部は、前記フレームに前記複数の所定のフィールドデータを設定、送信し、
前記後段抽出部は、前記受信フレームから前記複数の所定のフィールドデータを抽出し、
前記中継先決定部は、前記後段装置に接続されるサーバの中から、前記抽出された複数の所定のフィールドデータに対応する中継先サーバを決定する付記1記載の中継システム。
同一アプリケーションを有する1以上のサーバとクライアントから構成され、前記クライアントとサーバ間でやりとりされる通信データが1以上のフレームに分割され送受信されるネットワークにおいて、前記クライアントが前記サーバへアプリケーションの提供を求める際に前記クライアントから送信される通信データを前記サーバのうちの1つへ中継するデータ中継方法において、
前記クライアントに接続される前段装置が、
前記クライアントより送信される前記フレームから前記通信データを取得するステップと、
前記取得した通信データから所定のデータを抽出するステップと、
前記所定のデータに対応する所定のフィールドデータを決定するステップと、
前記フレームに前記所定のフィールドデータを設定、送信するステップと、
前記1以上のサーバに接続される前記後段装置が、
前記前段装置により送信された前記フレームを受信し、その受信フレームから前記所定のフィールドデータを抽出するステップと、
前記後段装置に接続されるサーバの中から、前記抽出された所定のフィールドデータに対応する中継先サーバを決定するステップと、
前記前段装置からの前記受信フレームの宛先を、前記決定されたサーバの宛先に変更、送信するステップとを備えるデータ中継方法。
60、61、62、63、64、65…サーバ
10、11、12、13…前段装置
30、31…後段装置
1…送信データ
2、3、4、5、6、7…フレーム
80…バックボーンネットワーク
87、88…サーバネットワーク
81、82、83…クライアントネットワーク
101…クライアントL7セッション終端部
102…特定パターン抽出部
103…マッピングルール保持部
104…送信パラメータ決定部
105…サーバL7セッション終端部
106…後段装置振分部
107…マッピングルール変更部
108…マッチングルール変更部
109…マッチングルール保持部
131…特定フィールド抽出部
132…L7振分ルール保持部
133…L7振分ルール決定部
134…送信先変更部
135…振分ルール選択部
136…振分先決定部
137…前段装置転送部
Claims (5)
- 同一アプリケーションを有する1以上のサーバとクライアントとから構成され、前記クライアントとサーバ間でやりとりされる通信データが1以上のフレームに分割され送受信されるネットワークにおいて、前記クライアントが前記サーバへアプリケーションの提供を求める際に前記クライアントから送信される通信データを前記サーバのうちの1つへ中継する中継システムであって、
前記クライアントに接続される前段装置と前記1以上のサーバに接続される後段装置とを備え、
前記前段装置は、
前記クライアントより送信される前記フレームから前記通信データを取得する取得部と、
前記取得した通信データから所定のデータを抽出する抽出部と、
前記所定のデータに対応する所定のフィールドデータを決定する決定部と、
前記フレームに前記所定のフィールドデータを設定し、送信する送信部とを備え、
前記後段装置は、
前記前段装置により送信された前記フレームを受信し、その受信フレームから前記所定のフィールドデータを抽出する後段抽出部と、
前記後段装置に接続されるサーバの中から、前記抽出された所定のフィールドデータに対応する中継先サーバを決定する中継先決定部と、
前記前段装置からの前記受信フレームの宛先を、前記決定されたサーバの宛先に変更し、送信する送信先変更部とを備える中継システム。 - 前記決定部は、前記取得した通信データから前記所定のデータを抽出できない場合に、所定の第2フィールドデータを決定し、
前記中継先決定部は、前記抽出された所定のフィールドデータが前記所定の第2フィールドデータであることを判別した場合には、前記後段装置に接続されるサーバの中から、所定のルールにより中継先サーバを決定する請求項1記載の中継システム。 - 前記後段装置は、
前記受信フレームが前記前段装置により送信されたものでない場合に、前記前段装置に当該受信したフレームを転送する転送部を備える請求項1記載の中継システム。 - 前記後段装置が複数存在する場合において、
前記前段装置は、
前記抽出部により抽出された前記所定のデータに基づき、前記複数の後段装置の中から、転送先となる後段装置を選択する後段選択部を備え、
前記送信部は、前記フレームに前記所定のフィールドデータを設定すると共に、前記フレームの宛先を前記選択された後段装置の宛先に変更し、送信する請求項1記載の中継システム。 - 前記前段装置は、
前記所定のデータと前記所定のフィールドデータとの対応関係を示し、前記決定部により前記所定のフィールドデータを決定する際に参照される対応表を保持する対応表保持部と、
前記対応表の内容を変更する対応表変更部とを備える請求項1記載の中継システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004367864A JP4398354B2 (ja) | 2004-12-20 | 2004-12-20 | 中継システム |
US11/100,371 US20060133371A1 (en) | 2004-12-20 | 2005-04-06 | Communication data relay system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004367864A JP4398354B2 (ja) | 2004-12-20 | 2004-12-20 | 中継システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006174374A JP2006174374A (ja) | 2006-06-29 |
JP4398354B2 true JP4398354B2 (ja) | 2010-01-13 |
Family
ID=36595645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004367864A Expired - Fee Related JP4398354B2 (ja) | 2004-12-20 | 2004-12-20 | 中継システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20060133371A1 (ja) |
JP (1) | JP4398354B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8572759B2 (en) | 2006-08-24 | 2013-10-29 | Duaxes Corporation | Communication management system and communication management method |
WO2008023424A1 (fr) * | 2006-08-24 | 2008-02-28 | Duaxes Corporation | Système de gestion de communication et procédé de gestion de communication associé |
US8265003B2 (en) * | 2006-09-15 | 2012-09-11 | Nec Corporation | Packet distribution system and packet distribution method |
JP5332117B2 (ja) * | 2007-03-06 | 2013-11-06 | 日本電気株式会社 | Wwwコンテンツ取得システム及びwwwコンテンツ取得方法 |
US9203921B2 (en) * | 2008-08-26 | 2015-12-01 | British Telecommunications Public Limited Company | Operation of a content distribution network |
EP2159983A1 (en) * | 2008-08-26 | 2010-03-03 | BRITISH TELECOMMUNICATIONS public limited company | Content distribution network |
EP2159994A1 (en) * | 2008-08-26 | 2010-03-03 | BRITISH TELECOMMUNICATIONS public limited company | Operation of a content distribution network |
JP5482353B2 (ja) * | 2009-07-06 | 2014-05-07 | 株式会社リコー | 中継機器、中継方法およびプログラム |
JP5338555B2 (ja) | 2009-08-11 | 2013-11-13 | 富士通株式会社 | 負荷分散装置、負荷分散方法および負荷分散プログラム |
JP5526015B2 (ja) * | 2010-12-22 | 2014-06-18 | 株式会社日立製作所 | ゲートウェイシステム、ゲートウェイ装置、負荷分散方法 |
WO2012105677A1 (ja) * | 2011-02-04 | 2012-08-09 | 日本電気株式会社 | パケット処理装置、パケット処理方法およびプログラム |
JP5645269B2 (ja) * | 2011-10-17 | 2014-12-24 | 株式会社日立製作所 | ネットワークシステム |
CN104205749B (zh) * | 2012-03-28 | 2017-04-05 | 日本电气株式会社 | 一种通信系统、上层交换机、控制装置及交换机控制方法 |
US10091112B1 (en) * | 2015-04-24 | 2018-10-02 | Cisco Technology, Inc. | Highly-scalable virtual IP addresses in a load balancing switch |
US10848432B2 (en) | 2016-12-18 | 2020-11-24 | Cisco Technology, Inc. | Switch fabric based load balancing |
EP3404886A1 (en) * | 2017-05-15 | 2018-11-21 | IMEC vzw | Network stack for a plurality of physical communication interfaces |
US11082312B2 (en) | 2017-10-04 | 2021-08-03 | Cisco Technology, Inc. | Service chaining segmentation analytics |
US10965596B2 (en) | 2017-10-04 | 2021-03-30 | Cisco Technology, Inc. | Hybrid services insertion |
US10965598B1 (en) | 2017-10-04 | 2021-03-30 | Cisco Technology, Inc. | Load balancing in a service chain |
CN108111578B (zh) * | 2017-11-28 | 2021-06-04 | 国电南瑞科技股份有限公司 | 基于nio的配电终端数据采集平台接入终端设备的方法 |
JP7347182B2 (ja) | 2019-12-10 | 2023-09-20 | 株式会社デンソー | 中継装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0589250B1 (de) * | 1992-09-14 | 2003-01-02 | Siemens Aktiengesellschaft | Verfahren zum Rundsenden von Zellen in einem im Asynchron-Transfer-Modus wirkenden Kommunikationsnetz |
US5526344A (en) * | 1994-04-15 | 1996-06-11 | Dsc Communications Corporation | Multi-service switch for a telecommunications network |
US6266335B1 (en) * | 1997-12-19 | 2001-07-24 | Cyberiq Systems | Cross-platform server clustering using a network flow switch |
WO2000072509A2 (en) * | 1999-05-26 | 2000-11-30 | Bigband Networks, Inc. | Communication management system and method |
JP3601393B2 (ja) * | 2000-01-11 | 2004-12-15 | 日本電気株式会社 | データグラム中継装置及びその方法 |
WO2002013479A2 (en) * | 2000-08-04 | 2002-02-14 | Avaya Technology Corporation | Intelligent demand driven recognition of url objects in connection oriented transactions |
US20020188754A1 (en) * | 2001-04-27 | 2002-12-12 | Foster Michael S. | Method and system for domain addressing in a communications network |
US7209977B2 (en) * | 2001-10-01 | 2007-04-24 | International Business Machines Corporation | Method and apparatus for content-aware web switching |
CA2411806A1 (en) * | 2001-11-16 | 2003-05-16 | Telecommunications Research Laboratory | Wide-area content-based routing architecture |
US8135772B2 (en) * | 2002-05-01 | 2012-03-13 | Oracle International Corporation | Single servlets for B2B message routing |
JP4431315B2 (ja) * | 2003-01-14 | 2010-03-10 | 株式会社日立製作所 | パケット通信方法およびパケット通信装置 |
JP4052956B2 (ja) * | 2003-02-07 | 2008-02-27 | 富士通株式会社 | Rprネットワークシステム,ステーションノード,ブリッジノード及びrprカード |
-
2004
- 2004-12-20 JP JP2004367864A patent/JP4398354B2/ja not_active Expired - Fee Related
-
2005
- 2005-04-06 US US11/100,371 patent/US20060133371A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2006174374A (ja) | 2006-06-29 |
US20060133371A1 (en) | 2006-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4398354B2 (ja) | 中継システム | |
US9647954B2 (en) | Method and system for optimizing a network by independently scaling control segments and data flow | |
US7697427B2 (en) | Method and system for scaling network traffic managers | |
US8892768B2 (en) | Load balancing apparatus and load balancing method | |
US8380854B2 (en) | Simplified method for processing multiple connections from the same client | |
JP3399928B2 (ja) | コンピュータシステムにおけるネットワークパケットの高速転送及びフィルタリング | |
US6370583B1 (en) | Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image | |
US7079501B2 (en) | Method and system for efficiently delivering content to multiple requesters | |
US20020152307A1 (en) | Methods, systems and computer program products for distribution of requests based on application layer information | |
US20080002736A1 (en) | Virtual network interface cards with VLAN functionality | |
EP2140351B1 (en) | Method and apparatus for cluster data processing | |
JP2006031063A (ja) | 優先制御装置 | |
US20030229702A1 (en) | Server network controller including packet forwarding and method therefor | |
US20040133631A1 (en) | Communication system | |
US8854977B2 (en) | Relay node | |
US20050169309A1 (en) | System and method for vertical perimeter protection | |
US7564848B2 (en) | Method for the establishing of connections in a communication system | |
US20070291782A1 (en) | Acknowledgement filtering | |
US7783784B1 (en) | Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards | |
US7672299B2 (en) | Network interface card virtualization based on hardware resources and software rings | |
US11706290B2 (en) | Direct server reply for infrastructure services | |
JP3655575B2 (ja) | ゲートウェイ装置 | |
US7228562B2 (en) | Stream server apparatus, program, and NAS device | |
JP2008294983A (ja) | 優先制御システム、優先設定制御システム、優先制御装置、及び優先制御方法 | |
JP2001007862A (ja) | 通信負荷分散方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091002 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091006 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |