JP4057434B2 - Distribution control device - Google Patents
Distribution control device Download PDFInfo
- Publication number
- JP4057434B2 JP4057434B2 JP2003016694A JP2003016694A JP4057434B2 JP 4057434 B2 JP4057434 B2 JP 4057434B2 JP 2003016694 A JP2003016694 A JP 2003016694A JP 2003016694 A JP2003016694 A JP 2003016694A JP 4057434 B2 JP4057434 B2 JP 4057434B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- rule
- distribution
- unit
- session
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、負荷分散システムに用いられる振り分け制御装置に関するものであり、特には、トラヒックを振り分け先へ振り分ける負荷分散機能を有する振り分け制御装置に関するものである。
【0002】
【従来の技術】
近年では、インターネット技術を用いたネットワークサービスが普及している。インターネットのサービス提供者においては、予想外の急激なユーザ/トラヒックの増加にも安定して対応することが求められている。
【0003】
特に、電子商取引/仮想店舗などを運営する場合、レスポンス低下や通信異常(ショッピング操作中にショッピングカートの中身が消える)等のサービス停止は、サービス利用者に不快感を与え、サービス提供者に対する信頼度の低下を招く等、深刻な問題となる。
【0004】
ここで、サービス提供者がユーザ/トラヒックの増加に対応する一般的な方法としては、コンテンツサーバ/ネットワーク装置を増設し、処理負荷を分散する方法や、ネットワークの拡張を即座に行うことができるスケーラビリティを確保する方法等が挙げられる。
【0005】
また、コンテンツサーバ/ネットワーク装置に対してパケットを振り分ける振り分け装置においては、振り分け先(コンテンツサーバ/ネットワーク装置)の処理速度よりも高速にパケットを振り分けることが必須条件とされる。
【0006】
従来より、上記の振り分け先となるネットワーク装置としては、サーバ負荷分散装置、ファイアウォール装置、キャッシュ装置等が利用されている。サーバ負荷分散装置は、HTTP(Hyper Text Transfer Protocol)メッセージに応じたサーバ負荷を分散する装置である。ファイアウォール装置は、SYNフラッド/Nimda等のHTTPメッセージを利用したウィルスを検出する装置である。キャッシュ装置は、要求コンテンツに応じたキャッシュ内容を返答する装置である。
【0007】
また、かかるネットワーク装置(サーバ負荷分散装置、ファイアウォール装置、キャッシュ装置等)は、トラヒックのセッション(通信のやりとり)を管理している。
【0008】
ここで、以下では、トラヒックのセッションを管理するネットワーク装置を高位レイヤ装置と称し、上記セッションの例としてTCP(Transport Control Protocol)のセッション/コネクションを扱う場合について説明をする。
【0009】
なお、TCPの詳細についてはRFC793(TCPの基本的な仕様)や、文献(例:"TCP/IP Illustrated, Volume 1: The Protocols", W. Richard Stevens)を参照されたい。
【0010】
ここで、従来より、複数台の高位レイヤ装置に対してパケットを振り分け負荷分散を実現するための負荷分散システムとしては、スター型、コピー(マルチキャスト)型、リダイレクト(マスタ/スレーブ)型という三つが挙げられる。
【0011】
図40は、上述した従来のスター型の負荷分散システムの構成を示すブロック図である。この図において、クライアント101 およびクライアント102 は、インターネット20に接続されており、振り分け装置30および高位レイヤ装置群51を経由して、サーバ群61との間でパケットの送受信を行うコンピュータ装置である。
【0012】
振り分け装置30は、インターネット20と高位レイヤ装置501 〜503 との間に介挿されており、予め設定された振り分けルールに従って、クライアント101 および102 からのパケット(トラヒック)を対応する各高位レイヤ装置(高位レイヤ装置501 〜503 のうちいずれか一つの高位レイヤ装置)に振り分ける装置である。
【0013】
ここで、振り分け装置30には、振り分けルールの一つとして、「クライアント101 からのパケットを高位レイヤ装置501 へ振り分ける」というルール1が設定されているものとする。
【0014】
高位レイヤ装置501 〜503 のそれぞれは、振り分け装置30におけるパケットの振り分け先となるネットワーク装置であり、高位レイヤ装置群51を構成している。また、高位レイヤ装置501 〜503 のそれぞれは、トラヒックのセッションを管理する。
【0015】
例えば、高位レイヤ装置501 は、セッション1_1、・・・を管理する。高位レイヤ装置502 は、セッション2_1、・・・を管理する。高位レイヤ装置503 は、セッション3_1、・・・を管理する。
【0016】
ここで、高位レイヤ装置501 は、振り分け装置30とサーバ601 _ 1 〜601 _ n との間に介挿されている。高位レイヤ装置502 は、振り分け装置30とサーバ602 _ 1 〜602 _ n との間に介挿されている。
【0017】
また、高位レイヤ装置503 は、振り分け装置30とサーバ603 _ 1 〜603 _ n との間に介挿されている。これらのサーバ601 _ 1 〜601 _ n 、サーバ602 _ 1 〜602 _ n およびサーバ603 _ 1 〜603 _ n は、サーバ群61を構成している。
【0018】
つぎに、図40に示した従来のスター型の負荷分散システムの動作について説明する。以下では、クライアント101 から、同一のセッション1_1でパケット1〜3を送信する場合について説明する。
【0019】
まず、クライアント101 からパケット1が送信されると、該パケット1は、インターネット20を介して、振り分け装置30に受信される。振り分け装置30は、前述したルール1に従って、受信したパケット1を高位レイヤ装置501 へ振り分ける。
【0020】
これにより、セッション1_1でパケット1が振り分けられ、該パケット1は、高位レイヤ装置501 に受信された後、例えば、サーバ601_1 に受信される。このセッション1_1は、高位レイヤ装置501 により管理される。
【0021】
続いて、クライアント101 から上記セッション1_1に対応するパケット2が送信されると、該パケット2は、インターネット20を介して、振り分け装置30に受信された後、前述したルール1に従って、高位レイヤ装置501 へ振り分けられる。そして、パケット2は、高位レイヤ装置501 に受信された後、例えば、サーバ601_1 に受信される。
【0022】
続いて、クライアント101 から上記セッション1_1に対応するパケット3が送信されると、該パケット3は、インターネット20を介して、振り分け装置30に受信された後、前述したルール1に従って、高位レイヤ装置501 へ振り分けられる。
【0023】
そして、パケット3は、高位レイヤ装置501 に受信された後、例えば、サーバ601_1 に受信される。これにより、パケット1〜3を送信するというパケット通信が終了し、セッション1_1が正常終了で切断される。
【0024】
ここで、図40に示した負荷分散システムのメンテナンスにおいては、システム全体の処理性能を上げるために高位レイヤ装置を増設したり、振り分け先の高位レイヤ装置を変更する等の状況が発生する。
【0025】
かかる状況では、振り分け装置30の振り分け先としての高位レイヤ装置群51の構成が変化する。つまり、高位レイヤ装置の増設や変更に伴って、構成上、高位レイヤ装置群51に特定の高位レイヤ装置を追加したり、高位レイヤ装置を変更することになる。
【0026】
例えば、振り分け装置30においては、前述したルール1(「クライアント101 からのパケットを高位レイヤ装置501 へ振り分ける」)が、ルール2(「クライアント101 からのパケットを高位レイヤ装置502 へ振り分ける」)に変更される。
【0027】
【特許文献1】
特開2000−112909号公報
【特許文献2】
特開2002−183106号公報
【0028】
【発明が解決しようとする課題】
ところで、前述したように、従来の負荷分散システム(図40参照)においては、メンテナンス時の振り分け装置30における振り分けルールの変更により、同一のトラヒックに対する振り分け先の高位レイヤ装置が変更された場合、処理対象のトラヒックのセッションに不整合が生じ、正常処理を行うことができず、セッションが切断されるという問題があった。
【0029】
以下では、図40に示したセッション1_1で、クライアント101 から送信されたパケット1が、振り分け装置30で前述したルール1に従って、高位レイヤ装置501 に振り分けられた後、振り分けルールがルール1(旧ルール)からルール2(新ルール)へ変更された場合について、説明する。
【0030】
この場合、振り分けルールの変更後に、クライアント101 からセッション1_1に対応するパケット2が送信されると、このパケット2は、振り分け装置30で、ルール2に従って、高位レイヤ装置502 に振り分けられる。
【0031】
しかしながら、高位レイヤ装置502 では、上記セッション1_1の情報を持っていないため、パケット2を正常受信できず、破棄等が発生する。一方、高位レイヤ装置501 では、パケット1に続くパケット2を受信できないため、タイムアウト等により、セッション1_1が切断される。
【0032】
ここで、上記セッションの切断を回避する方法としては、高位レイヤ装置501 〜503 の相互間でセッションの情報を交換することで、セッションの整合を採り、新ルールにおける振り分け先の高位レイヤ装置が、旧ルール下のセッションの状態を維持できるようにする方法が考えられる。
【0033】
しかしながら、この方法は、セッションの情報の交換に際して、高位レイヤ装置の処理負荷を増大させるとともに、高位レイヤ装置間のネットワーク帯域をいたずらに消費させるという重大な欠点がある。
【0034】
本発明は、上記に鑑みてなされたもので、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更時にセッションの切断を防ぐことができる振り分け制御装置を提供することを目的とする。
【0035】
【課題を解決するための手段】
上記目的を達成するために、本発明は、トラヒックを振り分け先装置群へ振り分ける振り分けルールの変更要求を受け、前記トラヒックのセッションが、ルール変更要求前に確立した既存セッションであるのか、ルール変更要求後に確立した新規セッションであるのかを判断するセッション判断手段と、前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け手段と、を備えたことを特徴とする。
【0036】
この発明によれば、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更のセッション切断を防ぐことができる。
【0037】
【発明の実施の形態】
以下、図面を参照して本発明にかかる振り分け制御装置の実施の形態1〜6について詳細に説明する。
【0038】
(実施の形態1)
図1は、本発明にかかる実施の形態1が適用される負荷分散システムの構成を示すブロック図である。同図に示した負荷分散システムにおいて、クライアント1001 およびクライアント1002 は、インターネット200に接続されており、振り分け装置300および高位レイヤ装置群501を経由して、サーバ群601との間でパケットの送受信を行うコンピュータ装置である。
【0039】
クライアント1001 には、IPアドレス<101.0.0.1>が付与されている。また、クライアント1002 には、IPアドレス<102.0.0.1>が付与されている。
【0040】
振り分け装置300は、インターネット200と高位レイヤ装置5001 〜5003 との間に介挿されており、予め設定された振り分けルールに従って、クライアント1001 および1002 からのパケット(トラヒック)を高位レイヤ装置5001 〜5003 のうちいずれか一つの高位レイヤ装置へ振り分ける装置である。
【0041】
具体的には、振り分け装置300は、クライアント1001 および1002 からのパケット(トラヒック)の送信先IPアドレスを、振り分けルールに基づいて、高位レイヤ装置5001 〜5003 のうちいずれか一つの高位レイヤ装置のIPアドレスに書き換えることで振り分け処理を実行する。
【0042】
ネットワーク管理者端末400は、ネットワーク管理者により操作されるコンピュータ端末であり、振り分け装置300に接続されている。このネットワーク管理者端末400は、例えば、振り分け装置300における振り分けルールを変更するためのメンテナンスを行う場合に、メンテナンス要求のパケットを振り分け装置300へ送信する。
【0043】
このメンテナンス要求のパケットは、図3(a)に示したフォーマット(振り分けルール種別、必要パラメータ、高位レイヤ装置リスト)とされている。メンテナンス要求の例としては、図3(b)に示したものとされる。
【0044】
ここで、振り分け装置300においては、図4に示したように、上記メンテナンスが行われるメンテナンス状態と、メンテナンスを行わない通常状態という二つの装置状態が存在する。
【0045】
図1に戻り、高位レイヤ装置5001 〜5003 のそれぞれは、振り分け装置300におけるパケットの振り分け先となるネットワーク装置であり、トラヒックのセッション状態を管理する。これらの高位レイヤ装置5001 〜5003 は、高位レイヤ装置群501を構成している。この高位レイヤ装置群501には、代表IPアドレス<200.0.0.10>が付与されている。
【0046】
ここで、高位レイヤ装置5001 は、振り分け装置300とサーバ6001_1 〜6001_n との間に介挿されている。高位レイヤ装置5002 は、振り分け装置300とサーバ6002_1 〜6002_n との間に介挿されている。また、高位レイヤ装置5003 は、振り分け装置300とサーバ6003_1 〜6003 _ n との間に介挿されている。これらのサーバ6001 _ 1 〜6001 _ n 、サーバ6002 _ 1 〜6002 _ n およびサーバ6003 _ 1 〜6003 _ n は、サーバ群601を構成している。
【0047】
また、高位レイヤ装置5001 〜5003 は、サーバ群601からクライアント1001 および1002 へのパケットに対して、送信元IPアドレスを高位レイヤ装置群501の代表IPアドレス<200.0.0.10>に書き換えて送信する。
【0048】
従って、振り分け装置300は、高位レイヤ装置5001 〜5003 からクライアント1001 、1002 へ送信されたパケットに対して、IPアドレスの書き換え処理を実行することはなく、単にパケットをクライアント側へ転送すればよい。
【0049】
また、別の構成として、高位レイヤ装置5001 〜5003 が、クライアント1001 および1002 へのパケットに対して、送信元IPアドレスを各高位レイヤ装置のIPアドレス<200.0.0.1〜3>に書き換えて送信してもよい。
【0050】
この場合、振り分け装置300は、高位レイヤ装置5001 〜5003 からクライアント1001 、1002 へ送信されたパケットに対して、その送信元IPアドレスを高位レイヤ装置群501の代表IPアドレス<200.0.0.10>に書き換える機能を有している。
【0051】
なお、以下では、高位レイヤ装置群501とサーバ群601と間の通信、およびサーバ群601からクライアント1001 および1002 へ送信されたパケットに対する処理については、実施の形態1の本質ではないためその詳細な説明を省略する。
【0052】
図2は、図1に示した振り分け装置300の構成を示すブロック図である。同図に示した振り分け装置300において、クライアント側パケット受信部301は、図1に示したクライアント1001 および1002 から送信されたパケットをインターネット200を介して受信し、該パケットを、振り分け装置300で内部処理が可能な形式の受信パケットデータに変換する。
【0053】
また、クライアント側パケット受信部301は、ネットワーク管理者端末400(図1参照)よりメンテナンス要求(図3(a)参照)のパケットを受信した場合に、メンテナンスの開始を指示するためのメンテナンス開始信号をメンテナンス/通常状態切替部302へ渡す。
【0054】
また、クライアント側パケット受信部301は、上記メンテナンス要求(図3(a)参照)のパケットを受信した場合に、振り分けルール種別に対応する振り分けルールを、新ルールとして、新ルール適用部306へ渡す。
【0055】
さらに、クライアント側パケット受信部301は、クライアント1001 、1002 からのパケットを受信した場合に、該パケットに対して、ヘッダチェック等のパケット受信処理を行い、受信パケットデータを利用する各部へ渡す。
【0056】
メンテナンス/通常状態切替部302は、図4に示したように、振り分け装置300の装置状態をメンテナンス状態または通常状態に切り替える。このメンテナンス/通常状態切替部302は、クライアント側パケット受信部301よりメンテナンス開始信号を受け取ると、振り分け装置300の装置状態をメンテナンス状態と決定し、装置状態を通常状態からメンテナンス状態に切り替える。
【0057】
一方、後述するタイマ309からメンテナンス終了信号を受け取ると、装置状態を通常状態と決定し、装置状態をメンテナンス状態から通常状態に切り替える。
【0058】
ここで、図4に示したように、振り分け装置300は、ネットワーク管理者端末400より送信された、振り分けルールを変更するためのメンテナンス要求のパケットを受信した時、変更前の振り分けルール(旧ルール)と変更後の振り分けルール(新ルール)の2つの振り分けルールを併用する併用期間(メンテナンス状態)に移る。
【0059】
ここで、パケットの振り分けルールとしては、例えば、図5(a)、図5(b)および図5(c)に示した<ルールA>、<ルールB>および<ルールC>が挙げられる。
【0060】
例えば、<ルールA>が適用された場合、クライアント1001 からのパケットは、振り分け装置300により、高位レイヤ装置5003 へ振り分けられる。また、クライアント1002 からのパケットは、振り分け装置300により、高位レイヤ装置5002 へ振り分けられる。
【0061】
また、図4に示した例では、装置状態が通常状態でルールA(通常ルール)が用いられている場合にメンテナンスが開始されると、装置状態が通常状態からメンテナンス状態に変更される。このメンテナンス状態では、上記ルールAが旧ルールとされるとともに、新ルールとしてのルールBが設定される。
【0062】
このメンテナンス状態では、ルールAに対応するセッション▲1▼(既存セッション)におけるパケット通信が終了するまで、ルールA(旧ルール)とルールB(新ルール)とが併用され、セッション▲1▼(既存セッション)に対応するパケット(途中パケット、終了パケット)がルールA(旧ルール)に従って振り分けられる。
【0063】
一方、メンテナンス状態で新たに確立されたセッション▲2▼(新規セッション)に対応するパケット(開始パケット、途中パケット)は、ルールB(新ルール)で振り分けられる。
【0064】
ここで、セッションにおいては、例えば、開始パケット、途中パケットおよび終了パケットという三種類のパケットが送信される。開始パケットは、SYNフラグがオンに設定されており、他の途中パケットおよび終了パケット(SYNフラグがオフに設定)と区別される。
【0065】
このように、振り分けルール変更時に既存のセッションが全て終了するまで、新ルールと旧ルールを併用する併用期間を設けることにより、振り分けルールの変更時にセッションが切断されることを防ぐことができる。
【0066】
また、つぎの通常状態では、ルールA(旧ルール)が用いられずに、ルールBが新ルールから通常ルールとされ、セッション▲2▼に対応するパケット(終了パケット)がルールB(通常ルール)に従って振り分けられる。
【0067】
つぎのメンテナンス状態では、上記ルールBが旧ルールとされるとともに、新ルールとしてのルールCが設定される。
【0068】
このメンテナンス状態では、ルールBに対応するセッション▲3▼(既存セッション)におけるパケット通信が終了するまで、ルールB(旧ルール)とルールC(新ルール)とが併用され、セッション▲3▼(既存セッション)に対応するパケット(途中パケット、終了パケット)がルールB(旧ルール)に従って振り分けられる。
【0069】
一方、メンテナンス状態で新たに確立されたセッション▲4▼(新規セッション)に対応するパケット(開始パケット)は、ルールC(新ルール)で振り分けられる。
【0070】
また、つぎの通常状態では、ルールB(旧ルール)が用いられずに、ルールCが新ルールから通常ルールとされ、セッション▲4▼に対応するパケット(途中パケット、終了パケット)がルールC(通常ルール)に従って振り分けられる。
【0071】
このように、振り分け装置300は、以下のように振り分けルールを選択し、パケットを振り分ける。
【0072】
・通常状態:振り分けルール変更前のルール(「通常ルール」)で振り分ける。
・メンテナンス状態:メンテナンス前に開始済みセッション(既存セッショ ン)に対応するパケットは、「旧ルール」で振り分ける。
・該メンテナンス状態で確立されたセッション(新規セッション)に対応するパケットは、「新ルール」で振り分ける。
【0073】
ここで、振り分けルール変更時にセッションが切断されないようにするためには、各セッションに対して開始と終了、およびその時刻(=新規、既存)を確認する必要がある。そのためには、セッションの開始・終了・途中の全ての状態を識別しなければならない。このような識別処理を全てのセッションに対して行うと、その処理負荷が高くなるため、高速な振り分け装置の実現が難しくなる。
【0074】
そこで、振り分け装置300では、セッションを識別する処理をメンテナンス状態のみ行い、通常状態におけるパケット振り分け処理でセッションの識別を行わないことで、通常状態での高速なパケットの振り分け処理を可能にしている。
【0075】
図2に戻り、メンテナンス/通常状態切替部302は、上述した決定に基づいて、振り分け先決定部307および新規/既存セッション判断部303へ現在の装置状態(通常状態またはメンテナンス状態)を通知する。
【0076】
新規/既存セッション判断部303は、処理対象のトラヒックのセッションが、新規セッション、既存セッションのいずれかであるかを判断する。具体的には、新規/既存セッション判断部303は、装置状態がメンテナンス状態で、クライアント側パケット受信部301がパケットを受信した場合に、後述する新規セッション識別子データベース304を検索することで、該パケットが、新規セッションのパケットであるか、また既存セッションのパケットであるかを高速に判断する。
【0077】
また、新規/既存セッション判断部303は、メンテナンス状態で開始パケット以外のパケットが受信されるたびに、リセット信号をタイマ309へ渡す。
【0078】
新規セッション識別子データベース304は、図6に示したように、パケットに関する「送信元IPアドレス」、「送信元ポート番号」、「送信先IPアドレス」および「送信先ポート番号」からなる新規セッション識別子が格納される。この新規セッション識別子は、パケットに含まれており、新規セッションを識別するためのものである。
【0079】
「送信元IPアドレス」は、パケットの送信元(クライアント1001 、1002 )に付与されたIPアドレスである。「送信元ポート番号」は、上記送信元のポート番号である。「送信先IPアドレス」は、送信先(高位レイヤ装置群501)の代表IPアドレスである。「送信先ポート番号」は、上記送信先のポート番号である。
【0080】
また、図7に示したように、メンテナンス開始時に、開始パケットから抽出された新規セッション識別子(「送信元IPアドレス」、「送信元ポート番号」、「送信先IPアドレス」および「送信先ポート番号」)がエントリとして新規セッション識別子データベース304に追加される。
【0081】
また、メンテナンス終了時に、新規セッション識別子データベース304からエントリ(新規セッション識別子)が削除される。
【0082】
図2に戻り、旧ルール適用部305は、クライアント側パケット受信部301から受信パケットデータを渡された場合に、旧ルールで振り分け先を決定し、得られた振り分け先の識別子を振り分け先決定部307へ通知する。
【0083】
新ルール適用部306は、クライアント側パケット受信部301から受信パケットデータを渡された場合に、新ルールで振り分け先を決定し、得られた振り分け先の識別子を振り分け先決定部307に通知する。
【0084】
また、新ルール適用部306は、クライアント側パケット受信部301から振り分けルールを渡されると、これを新ルールとして適用する。また、新ルール適用部306は、既存の新ルールを旧ルールとして、旧ルール適用部305へ渡す。この場合、旧ルール適用部305は、新ルール適用部306から渡された旧ルールを適用する。
【0085】
振り分け先決定部307は、装置状態(通常状態/メンテナンス状態)、セッション種別(新規セッション/既存セッション)、旧ルール振り分け先および新ルール振り分け先に基づいて、クライアント側パケット受信部301で受信されたパケットの振り分け先を決定し、振り分け先をサーバ側パケット送信部308へ通知する。
【0086】
図8は、実施の形態1におけるパケット種別と振り分けルールとの対応関係を説明する図である。この図において、パケット種別が開始パケット、途中パケットまたは終了パケット(図4参照)、装置状態がメンテナンス状態、セッション種別が新規セッションである場合には、振り分けルールとして新ルールが適用される。
【0087】
また、パケット種別が途中パケットまたは終了パケット(図4参照)、装置状態がメンテナンス状態、セッション種別が既存セッションである場合には、振り分けルールとして旧ルールが適用される。
【0088】
また、パケット種別が開始パケット、途中パケットまたは終了パケット(図4参照)、装置状態が通常状態、セッション種別が既存セッションまたは新規セッションである場合には、振り分けルールとして通常ルールが適用される。なお、本実施の形態1では、通常状態において新ルール適用部306で通常ルールを格納しておくものとする。
【0089】
図2に戻り、サーバ側パケット送信部308は、振り分け先決定部307から通知された振り分け先をもとに、高位レイヤ装置5001 〜5003 のうちいずれか一つの高位レイヤ装置へパケットを送信する。また、サーバ側パケット送信部308は、IP/MAC/VLANや出力物理ポートなどを決定したり、送信パケットのヘッダを更新する。
【0090】
タイマ309は、パケット到着間隔を計り、メンテナンス終了の時間を決定する。具体的には、タイマ309は、メンテナンス状態でパケットが到着する毎に、新規/既存セッション判断部303よりリセット信号を受信する。
【0091】
また、タイマ309は、上記リセット信号を受信するたびに、あらかじめ設定されている時間からカウントダウンを始め、タイムアウトすると、既存セッションが正常終了したものとして、メンテナンス終了信号をメンテナンス/通常状態切替部302へ渡す。
【0092】
つぎに、実施の形態1の動作について、図9に示したシーケンス図、図10〜図16に示したフローチャートを参照しつつ説明する。図9は、図1に示した負荷分散システムの動作を説明するシーケンス図である。
【0093】
ここで、図2に示した振り分け装置300の旧ルール適用部305には、パケットの振り分けルールとして、図5(a)に示した<ルールA>が設定されているものとする。一方、新ルール適用部306には、パケットの振り分けルールとして、図5(b)に示した<ルールB>が設定されているものとする。
【0094】
また、振り分け装置300においては、装置状態が通常状態であるものとする。従って、この場合、メンテナンス/通常状態切替部302からは、新規/既存セッション判断部303および振り分け先決定部307へ通常状態が通知されている。
【0095】
ここで、図10に示したステップSB1では、図2に示した振り分け装置300のクライアント側パケット受信部301は、インターネット200(図1参照)を介して、パケットを受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0096】
また、図11に示したステップSC1では、メンテナンス/通常状態切替部302は、クライアント側パケット受信部301よりメンテナンス開始信号を渡されたか否かを判断し、この場合、判断結果を「No」とする。
【0097】
ステップSC3では、メンテナンス/通常状態切替部302は、タイマ309よりメンテナンス終了信号を渡されたか否かを判断し、この場合、判断結果を「No」とする。以後、メンテナンス/通常状態切替部302は、判断結果が「Yes」になるまで、ステップSC1およびステップSC3の判断を繰り返す。
【0098】
また、図12に示したステップSD1では、新規/既存セッション判断部303は、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0099】
また、図14に示したステップSF1では、新ルール適用部306および旧ルール適用部305のそれぞれは、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0100】
また、図15に示したステップSG1では、振り分け先決定部307は、旧ルール適用部305および新ルール適用部306の双方からパケットの振り分け先が通知されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0101】
また、図16に示したステップSH1では、サーバ側パケット送信部308は、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0102】
(通常状態におけるパケット1の振り分け処理)
上記通常状態において、図9に示したステップSA1では、クライアント1001 は、既存セッション1でパケット1を送信する。このパケット1においては、<送信元IPアドレス>が<101.0.0.1>、<送信元ポート番号>が<200>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0103】
ステップSA2では、パケット1は、図1に示したインターネット200を介して、図2に示した振り分け装置300のクライアント側パケット受信部301に受信される。
【0104】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット1がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0105】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット1を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部305、新ルール適用部306およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0106】
クライアント側パケット受信部301より受信パケットデータ(パケット1)を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、通常状態である。
【0107】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「No」として、ステップSD1の判断を行う。つまり、通常状態においては、新規/既存セッション判断部303は、受信パケットデータ(パケット1)に対して何も処理を実行しない。
【0108】
また、クライアント側パケット受信部301より受信パケットデータ(パケット1)を渡されると、旧ルール適用部305は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、旧ルール適用部305は、現在設定されている旧ルールとしてのルールA(図5(a)参照)を適用し、該ルールAにおけるパケット1の振り分け先を決定する。
【0109】
この場合、ルールA(旧ルール)によれば、クライアント1001 からのパケット1を受信したので、このパケット1の振り分け先は、高位レイヤ装置5003 のIPアドレス<200.0.0.3>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置5003 のIPアドレス<200.0.0.3>)を振り分け先決定部307へ通知する。
【0110】
また、クライアント側パケット受信部301より受信パケットデータ(パケット1)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールB(図5(b)参照)を適用し、該ルールBにおけるパケット1の振り分け先を決定する。
【0111】
この場合、ルールB(新ルール)によれば、クライアント1001 からのパケット1を受信したので、このパケット1の振り分け先は、高位レイヤ装置5001 のIPアドレス<200.0.0.1>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0112】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置5003 のIPアドレス<200.0.0.3>)と、新ルール適用部306から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0113】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0114】
ステップSG5では、振り分け先決定部307は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)をパケット1の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0115】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0116】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。一方、振り分け先決定部307より振り分け先が通知されない場合、サーバ側パケット送信部308は、ステップSH2の判断結果を「No」として、同判断を繰り返す。
【0117】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット1のヘッダを更新し、送信用のパケット1を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)に基づいて、パケット1の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0118】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット1を振り分け先の高位レイヤ装置5001 へ送信(図9:ステップSA3参照)した後、ステップSH1の判断を行う。
【0119】
(パケット2によるメンテナンス要求)
そして、図9に示したステップSA4では、ネットワーク管理者は、振り分け装置300における振り分けルール(新ルール)を現在のルールB(図5(b)参照)からルールC(図5(c)参照)に変更するために、図1に示したネットワーク管理者端末400を用いてメンテナンス要求を出す。
【0120】
これにより、ネットワーク管理者端末400からは、上記メンテナンス要求に対応するパケット2が振り分け装置300へ送信される。図9に示したステップSA5では、パケット2は、振り分け装置300のクライアント側パケット受信部301に受信される。
【0121】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット2がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0122】
ステップSB3では、クライアント側パケット受信部301は、新ルールとしてのルールC(図5(c)参照)を新ルール適用部306へ通知する。これにより、新ルール適用部306には、新ルールとしてルールCが設定される。
【0123】
また、新ルール適用部306は、ルールCが設定される前に設定されていたルールB(図5(b)参照)を旧ルール適用部305へ通知する。これにより、旧ルール適用部305には、旧ルールとしてルールBが設定される。
【0124】
ステップSB4では、クライアント側パケット受信部301は、メンテナンス開始信号をメンテナンス/通常状態切替部302へ渡した後、ステップSB1の判断を行う。
【0125】
そして、メンテナンス開始信号を受信すると、メンテナンス/通常状態切替部302は、図11に示したステップSC1の判断結果を「Yes」とする。ステップSC2では、メンテナンス/通常状態切替部302は、新規/既存セッション判断部303および振り分け先決定部307へ、現在の装置状態がメンテナンス状態であることを通知する。
【0126】
ステップSC3では、メンテナンス/通常状態切替部302は、タイマ309よりメンテナンス終了信号を渡されたか否かを判断し、この場合、判断結果を「No」として、ステップSC1の判断を行う。
【0127】
(メンテナンス状態におけるパケット3の振り分け)
そして、メンテナンス状態において、図9に示したステップSA6では、クライアント1001 は、上述したパケット1と同一の既存セッション1で、パケット3を送信する。このパケット3においては、上述したパケット1と同様にして、<送信元IPアドレス>が<101.0.0.1>、<送信元ポート番号>が<200>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0128】
ステップSA7では、パケット3は、図1に示したインターネット200を介して、図2に示した振り分け装置300のクライアント側パケット受信部301に受信される。
【0129】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット3がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0130】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット3を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部305、新ルール適用部306およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0131】
クライアント側パケット受信部301より受信パケットデータ(パケット3)を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、メンテナンス状態である。
【0132】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、新規/既存セッション判断部303は、メンテナンス状態処理を実行する。
【0133】
具体的には、図13に示したステップSE1では、新規/既存セッション判断部303は、パケット3のセッション識別子(<送信元IPアドレス>=<101.0.0.1>、<送信元ポート番号>=<200>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をキーとして、新規セッション識別子データベース304を検索し、上記セッション識別子と同一のエントリの有無をチェックする。
【0134】
ステップSE2では、新規/既存セッション判断部303は、新規セッション識別子データベース304に、パケット3のセッション識別子と同一のエントリがあるか否かを判断し、この場合、判断結果を「No」とする。
【0135】
ステップSE3では、新規/既存セッション判断部303は、パケット3が、セッションの開始パケットであるか否かをチェックする。ステップSE4では、新規/既存セッション判断部303は、パケット3のSYNフラグのオン/オフから判断する。この場合、パケット3のSYNフラグがオフに設定されているものとすると、新規/既存セッション判断部303は、ステップSE4の判断結果を「No」とする。
【0136】
ステップSE7では、新規/既存セッション判断部303は、リセット信号をタイマ309へ送信する。リセット信号を受けて、タイマ309は、予め設定された時間(例えば、15秒)について、カウントダウンを開始する。
【0137】
ステップSE8では、新規/既存セッション判断部303は、振り分け先決定部307へ、パケット3のセッションが、既存セッションである旨を通知した後、図12に示したステップSD1の判断を行う。
【0138】
また、クライアント側パケット受信部301より受信パケットデータ(パケット3)を渡されると、旧ルール適用部305は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、旧ルール適用部305は、現在設定されている旧ルールとしてのルールB(図5(b)参照)を適用し、該ルールBにおけるパケット3の振り分け先を決定する。
【0139】
この場合、ルールB(旧ルール)によれば、クライアント1001 からのパケット3を受信したので、このパケット3の振り分け先は、高位レイヤ装置5001 のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0140】
また、クライアント側パケット受信部301より受信パケットデータ(パケット3)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット3の振り分け先を決定する。
【0141】
この場合、ルールC(新ルール)によれば、クライアント1001 からのパケット3を受信したので、このパケット3の振り分け先は、高位レイヤ装置5002 のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0142】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0143】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0144】
ステップSG3では、振り分け先決定部307は、新規/既存セッション判断部303からの通知(新規セッションまたは既存セッション)に基づいて、パケット3のセッションが既存セッションであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0145】
ステップSG4では、振り分け先決定部307は、旧ルール適用部305から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)をパケット3の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0146】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0147】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0148】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット3のヘッダを更新し、送信用のパケット3を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)に基づいて、パケット3の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0149】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット3を振り分け先の高位レイヤ装置5001 へ送信(図9:ステップSA8参照)した後、ステップSH1の判断を行う。
【0150】
(メンテナンス状態におけるパケット4の振り分け)
そして、メンテナンス状態において、図9に示したステップSA9では、クライアント1002 は、上述したパケット1および3の既存セッション1と異なる新規セッション2で、パケット4を送信する。このパケット4においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0151】
ステップSA10では、パケット4は、図1に示したインターネット200を介して、図2に示した振り分け装置300のクライアント側パケット受信部301に受信される。
【0152】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット4がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0153】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット4を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部305、新ルール適用部306およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0154】
クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、メンテナンス状態である。
【0155】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、新規/既存セッション判断部303は、メンテナンス状態処理を実行する。
【0156】
具体的には、図13に示したステップSE1では、新規/既存セッション判断部303は、パケット4のセッション識別子(<送信元IPアドレス>=<102.0.0.1>、<送信元ポート番号>=<300>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をキーとして、新規セッション識別子データベース304を検索し、上記セッション識別子と同一のエントリの有無をチェックする。
【0157】
ステップSE2では、新規/既存セッション判断部303は、新規セッション識別子データベース304に、パケット4のセッション識別子と同一のエントリがあるか否かを判断し、この場合、判断結果を「No」とする。
【0158】
ステップSE3では、新規/既存セッション判断部303は、パケット4が、セッションの開始パケットであるか否かを、パケット4のSYNフラグのオン/オフから判断する。この場合、パケット4のSYNフラグがオンに設定されているものとすると、新規/既存セッション判断部303は、ステップSE4の判断結果を「Yes」とする。
【0159】
ステップSE5では、新規/既存セッション判断部303は、新規セッション識別子データベース304にエントリを追加する。具体的には、新規/既存セッション判断部303は、パケット4のセッション識別子(<送信元IPアドレス>=<102.0.0.1>、<送信元ポート番号>=<300>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をエントリとして新規セッション識別子データベース304に追加する。
【0160】
ステップSE6では、新規/既存セッション判断部303は、振り分け先決定部307へ、パケット4のセッションが、新規セッションである旨を通知した後、図12に示したステップSD1の判断を行う。
【0161】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、旧ルール適用部305は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、旧ルール適用部305は、現在設定されている旧ルールとしてのルールB(図5(b)参照)を適用し、該ルールBにおけるパケット4の振り分け先を決定する。
【0162】
この場合、ルールB(旧ルール)によれば、クライアント1002 からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置5001 のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0163】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット4の振り分け先を決定する。
【0164】
この場合、ルールC(新ルール)によれば、クライアント1002 からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置5002 のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0165】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0166】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0167】
ステップSG3では、振り分け先決定部307は、新規/既存セッション判断部303からの通知(新規セッションまたは既存セッション)に基づいて、パケット4のセッションが既存セッションであるか否かを判断し、この場合、判断結果を「No」とする。
【0168】
ステップSG5では、振り分け先決定部307は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)をパケット4の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0169】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0170】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0171】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット4のヘッダを更新し、送信用のパケット4を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に基づいて、パケット4の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0172】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット4を振り分け先の高位レイヤ装置5002 へ送信(図9:ステップSA11参照)した後、ステップSH1の判断を行う。
【0173】
(メンテナンス状態におけるパケット5の振り分け)
そして、メンテナンス状態において、図9に示したステップSA12では、クライアント1002 は、上述したパケット4と同一の新規セッション2で、パケット5を送信する。このパケット5においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0174】
ステップSA13では、パケット5は、図1に示したインターネット200を介して、図2に示した振り分け装置300のクライアント側パケット受信部301に受信される。
【0175】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット5がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0176】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット5を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部305、新ルール適用部306およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0177】
クライアント側パケット受信部301より受信パケットデータ(パケット5)を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、メンテナンス状態である。
【0178】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、新規/既存セッション判断部303は、メンテナンス状態処理を実行する。
【0179】
具体的には、図13に示したステップSE1では、新規/既存セッション判断部303は、パケット5のセッション識別子(<送信元IPアドレス>=<102.0.0.1>、<送信元ポート番号>=<300>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をキーとして、新規セッション識別子データベース304を検索し、上記セッション識別子と同一のエントリの有無をチェックする。
【0180】
ステップSE2では、新規/既存セッション判断部303は、新規セッション識別子データベース304に、パケット5のセッション識別子と同一のエントリがあるか否かを判断し、この場合、判断結果を「Yes」とする。
【0181】
ステップSE6では、新規/既存セッション判断部303は、振り分け先決定部307へ、パケット5のセッションが、新規セッションである旨を通知した後、図12に示したステップSD1の判断を行う。
【0182】
また、クライアント側パケット受信部301より受信パケットデータ(パケット5)を渡されると、旧ルール適用部305は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、旧ルール適用部305は、現在設定されている旧ルールとしてのルールB(図5(b)参照)を適用し、該ルールBにおけるパケット5の振り分け先を決定する。
【0183】
この場合、ルールB(旧ルール)によれば、クライアント1002 からのパケット5を受信したので、このパケット5の振り分け先は、高位レイヤ装置5001 のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0184】
また、クライアント側パケット受信部301より受信パケットデータ(パケット5)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット5の振り分け先を決定する。
【0185】
この場合、ルールC(新ルール)によれば、クライアント1002 からのパケット5を受信したので、このパケット5の振り分け先は、高位レイヤ装置5002 のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0186】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0187】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0188】
ステップSG3では、振り分け先決定部307は、新規/既存セッション判断部303からの通知(新規セッションまたは既存セッション)に基づいて、パケット5のセッションが既存セッションであるか否かを判断し、この場合、判断結果を「No」とする。
【0189】
ステップSG5では、振り分け先決定部307は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)をパケット5の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0190】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0191】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0192】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット5のヘッダを更新し、送信用のパケット5を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に基づいて、パケット5の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0193】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット5を振り分け先の高位レイヤ装置5002 へ送信(図9:ステップSA14参照)した後、ステップSH1の判断を行う。
【0194】
そして、タイマ309のカウントダウンが0になると、図9に示したステップSA15では、タイマ309は、メンテナンス終了信号をメンテナンス/通常状態切替部302へ送信し、メンテナンスを終了させる。
【0195】
上記メンテナンス終了信号が受信されると、メンテナンス/通常状態切替部302は、図11に示したステップSC3の判断結果を「Yes」とする。ステップSC4では、メンテナンス/通常状態切替部302は、新規/既存セッション判断部303および振り分け先決定部307へ、現在の装置状態が通常状態であることを通知する。
【0196】
これにより、新規/既存セッション判断部303は、現在の装置状態がメンテナンス状態から通常状態に変わったので、新規セッション識別子データベース304のエントリを全て消去する。
【0197】
(通常状態におけるパケット6の振り分け)
そして、通常状態において、図9に示したステップSA16では、クライアント1002 は、上述したパケット4および5と同一の新規セッション2で、パケット6を送信する。このパケット6においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0198】
ステップSA17では、パケット6は、図1に示したインターネット200を介して、図2に示した振り分け装置300のクライアント側パケット受信部301に受信される。
【0199】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット6がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0200】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット6を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部305、新ルール適用部306およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0201】
クライアント側パケット受信部301より受信パケットデータ(パケット6)を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、通常状態である。
【0202】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「No」として、ステップSD1の判断を行う。つまり、通常状態においては、新規/既存セッション判断部303は、受信パケットデータ(パケット6)に対して何も処理を実行しない。
【0203】
また、クライアント側パケット受信部301より受信パケットデータ(パケット6)を渡されると、旧ルール適用部305は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、旧ルール適用部305は、現在設定されている旧ルールとしてのルールB(図5(b)参照)を適用し、該ルールBにおけるパケット6の振り分け先を決定する。
【0204】
この場合、ルールB(旧ルール)によれば、クライアント1002 からのパケット6を受信したので、このパケット6の振り分け先は、高位レイヤ装置5001 のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0205】
また、クライアント側パケット受信部301より受信パケットデータ(パケット6)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット6の振り分け先を決定する。
【0206】
この場合、ルールC(新ルール)によれば、クライアント1002 からのパケット6を受信したので、このパケット6の振り分け先は、高位レイヤ装置5002 のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0207】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0208】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0209】
ステップSG5では、振り分け先決定部307は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)をパケット6の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0210】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0211】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0212】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット6のヘッダを更新し、送信用のパケット6を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部306から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に基づいて、パケット6の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0213】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット6を振り分け先の高位レイヤ装置5002 へ送信(図9:ステップSA18参照)した後、ステップSH1の判断を行う。
【0214】
以上説明したように、実施の形態1によれば、トラヒック(パケット)を高位レイヤ装置群501へ振り分ける場合に適用されるルールを変更するためのメンテナンス要求を受けて、旧ルール(変更前のルール)と新ルール(変更後のルール)とを併用する併用期間(図4参照)を設定し、この併用期間内で生じたトラヒックのセッションが、既存セッションであると判断された場合、旧ルールに従って、トラヒックを高位レイヤ装置群501へ振り分け、一方、セッションが新規セッションであると判断された場合、新ルールに従って、トラヒックを高位レイヤ装置群501へ振り分けることとしたので、併用期間のみセッションの管理を行えばよいため、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更時のセッション切断を防ぐことができる。
【0215】
また、実施の形態1によれば、併用期間内に確立した新規セッションを識別するための新規セッション識別子を新規セッション識別子データベース304(図6参照)に保持しておき、該新規セッション識別子とトラヒックに含まれるセッション識別子とを照合することにより、既存セッションまたは新規セッションの判断を行うこととしたので、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更時のセッション切断を防ぐことができる。
【0216】
また、実施の形態1によれば、タイマ309で、既存セッションに対応するトラヒックの到着間隔を計時し、該到着間隔が設定時間になった場合に既存セッションが正常終了したとして、メンテナンス終了信号をメンテナンス/通常状態切替部302へ渡し、併用期間を終了させることとしたので、到着間隔を計時するという簡単な手法で既存セッションの切断を防ぐことができる。
【0217】
(実施の形態2)
さて、前述した実施の形態1においては、装置状態が通常状態で、新規/既存セッション判断部303(図2参照)が受信パケットデータ(パケット)に対して何も処理を実行しないという構成例について説明したが、新ルールの振り分け先と旧ルールの振り分け先とが同一の場合にも上記処理を実行しない構成としてもよい。以下では、この構成例を実施の形態2として説明する。
【0218】
図17は、本発明にかかる実施の形態2が適用される負荷分散システムの構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付けその説明を省略する。図17においては、図1に示した振り分け装置300に代えて、振り分け装置700が設けられている。
【0219】
図18は、図17に示した振り分け装置700の構成を示すブロック図である。この図において、図2の各部に対応する部分には同一の符号を付け、その説明を省略する。図18においては、図2に示した新規/既存セッション判断部303、旧ルール適用部305、新ルール適用部306および振り分け先決定部307に代えて、新規/既存セッション判断部701、旧ルール適用部702および新ルール適用部703および振り分け先決定部704が設けられている。また、振り分け装置700においては、振り分け先比較部705が新たに設けられている。
【0220】
新規/既存セッション判断部701は、新規/既存セッション判断部303(図2参照)の機能に加えて、新ルールの振り分け先と、旧ルールの振り分け先とが同一である場合に、受信したパケットに対して何も処理を行わないという機能を備えている。
【0221】
旧ルール適用部702は、クライアント側パケット受信部301でパケットが受信された場合に、旧ルールで振り分け先を決定し、得られた振り分け先の識別子を振り分け先決定部704および振り分け先比較部705へ通知する。
【0222】
新ルール適用部703は、クライアント側パケット受信部301でパケットが受信された場合に、新ルールで振り分け先を決定し、得られた振り分け先の識別子を振り分け先決定部704および振り分け先比較部705へ通知する。
【0223】
振り分け先比較部705は、新ルール適用部703から通知された振り分け先と、旧ルール適用部702から通知された振り分け先とを比較し、比較結果(同一または別)を新規/既存セッション判断部701および振り分け先決定部704へ通知する。
【0224】
振り分け先決定部704は、装置状態(通常状態/メンテナンス状態)、セッション状態(新規セッション/既存セッション)、旧ルール振り分け先、新ルール振り分け先、振り分け先比較部705からの比較結果に基づいて、クライアント側パケット受信部301で受信されたパケットの振り分け先を決定し、振り分け先をサーバ側パケット送信部308へ通知する。
【0225】
つぎに、前述した実施の形態1と同様にして、図17に示したクライアント1001 および1002 と高位レイヤ装置5001 および5002 との間で図9に示したシーケンスでパケット通信を行う場合の動作について説明する。
【0226】
ここで、実施の形態2では、説明を簡単にするために、実施の形態1で用いたルールB(図5(b)参照)に代えて、図19に示したルールBを用いる。同図に示したルールBでは、下線部が変更点である。
【0227】
図9における実施の形態2の動作においては、実施の形態1の動作とほぼ同様であるが、パケット4およびパケット5の場合に実施の形態1と実施の形態2との間で動作上の差分が表れる。
【0228】
従って、以下では、パケット4および5の振り分けについて、詳述する。なお、パケット5の振り分けについては、パケット4と同様であるため、その説明を省略する。
【0229】
(メンテナンス状態におけるパケット4の振り分け)
メンテナンス状態において、図9に示したステップSA9では、クライアント1002 は、上述したパケット1および3の既存セッション1と異なる新規セッション2で、パケット4を送信する。このパケット4においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0230】
この時点で、旧ルール適用部702には、ルールB(図19参照)が設定されている。また、新ルール適用部306には、ルールC(図5(c)参照)が設定されている。
【0231】
ここで、図20に示したステップSI1では、新規/既存セッション判断部701は、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0232】
また、図21に示したステップSJ1では、新ルール適用部703は、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0233】
また、図21に示したステップSJ1では、旧ルール適用部702は、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0234】
また、図22に示したステップSK1では、振り分け先比較部705は、新ルール適用部703および旧ルール適用部702の双方から振り分け先が通知されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0235】
また、図23に示したステップSL1では、振り分け先決定部704は、新ルール適用部703および旧ルール適用部702の双方からパケットの振り分け先が通知されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0236】
そして、図9に示したステップSA10では、パケット4は、図17に示したインターネット200を介して、図18に示した振り分け装置700のクライアント側パケット受信部301に受信される。
【0237】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット4がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0238】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット4を受信パケットデータに変換し、新規/既存セッション判断部701、旧ルール適用部702、新ルール適用部703およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0239】
クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、新規/既存セッション判断部701は、図20に示したステップSI1の判断結果を「Yes」とする。ステップSI2では、新規/既存セッション判断部701は、振り分け先比較部705より比較結果が通知されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0240】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、旧ルール適用部702は、図21に示したステップSJ1の判断結果を「Yes」とする。ステップSJ2では、旧ルール適用部702は、現在設定されている旧ルールとしてのルールB(図19参照)を適用し、該ルールBにおけるパケット4の振り分け先を決定する。
【0241】
この場合、ルールB(旧ルール)によれば、クライアント1002 からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置5002 のIPアドレス<200.0.0.2>である。ステップSJ3では、旧ルール適用部702は、上記振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を振り分け先決定部704および振り分け先比較部705へ通知する。
【0242】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、新ルール適用部703は、図21に示したステップSJ1の判断結果を「Yes」とする。ステップSJ2では、新ルール適用部703は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット4の振り分け先を決定する。
【0243】
この場合、ルールC(新ルール)によれば、クライアント1002 からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置5002 のIPアドレス<200.0.0.2>である。ステップSJ3では、新ルール適用部703は、上記振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を振り分け先決定部704および振り分け先比較部705へ通知する。
【0244】
そして、新ルール適用部703から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)が、旧ルール適用部702から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)が通知されると、振り分け先比較部705は、図22に示したステップSK1の判断結果を「Yes」とする。
【0245】
ステップSK2では、振り分け先比較部705は、新ルール適用部703からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)と、旧ルール適用部702からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とを比較する。
【0246】
ステップSK3では、振り分け先比較部705は、ステップSK2の比較結果に基づいて、両振り分け先が同一であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSK4では、振り分け先比較部705は、比較結果(同一)を新規/既存セッション判断部701および振り分け先決定部704へ通知する。
【0247】
なお、ステップSK3の判断結果が「No」である場合、ステップSK5では、振り分け先比較部705は、比較結果(別)を新規/既存セッション判断部701および振り分け先決定部704へ通知する。
【0248】
これにより、新規/既存セッション判断部701は、図20に示したステップSI2の判断結果を「Yes」とする。ステップSI3では、新規/既存セッション判断部701は、通知された比較結果(この場合、同一)に基づいて、両振り分け先が同一であるか否かを判断し、この場合、判断結果を「Yes」として、ステップSI1の判断を行う。
【0249】
このように、装置状態がメンテナンス状態で両振り分け先が同一である場合、新規/既存セッション判断部701は、実施の形態1で説明した通常状態の場合と同様にして、受信パケットデータ(パケット4)に対して何も処理を実行しない。
【0250】
なお、ステップSI3の判断結果が「No」である場合には、ステップSD2〜ステップSD4(図12参照)と同様にして、ステップSI4〜ステップSI6が実行される。
【0251】
そして、旧ルール適用部702からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)と、新ルール適用部703からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部704にそれぞれ通知されると、振り分け先決定部704は、図23に示したステップSL1の判断結果を「Yes」とする。
【0252】
ステップSL2では、振り分け先決定部704は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0253】
ステップSL3では、振り分け先決定部704は、振り分け先比較部705から通知された比較結果に基づいて、両振り分け先が同一であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0254】
ステップSL6では、振り分け先決定部704は、新ルール適用部703から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)をパケット4の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSL1の判断を行う。
【0255】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0256】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部704より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0257】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット4のヘッダを更新し、送信用のパケット4を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部703から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に基づいて、パケット4の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0258】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット4を振り分け先の高位レイヤ装置5002 へ送信(図9:ステップSA11参照)した後、ステップSH1の判断を行う。
【0259】
一方、図23に示したステップSL3の判断結果が「No」である場合、ステップSL4では、振り分け先決定部704は、新規/既存セッション判断部701からの通知(新規セッションまたは既存セッション)に基づいて、パケット4のセッションが既存セッションであるか否かを判断し、この判断結果が「No」である場合、ステップSL6の処理を実行する。
【0260】
一方、ステップSL4の判断結果が「Yes」である場合、ステップSL5では、振り分け先決定部704は、旧ルール適用部702から通知された振り分け先をパケット4の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSL1の判断を行う。
【0261】
以上説明したように、実施の形態2によれば、併用期間内で生じたトラヒックについて、振り分け先比較部705からの比較結果が、旧ルールが適用された振り分け先と新ルールが適用された振り分け先とが同一である場合、新規/既存セッション判断部701で判断を行わず、両振り分け先が同一である場合、新ルールが適用された振り分け先に基づいて、トラヒックを高位レイヤ装置群501へ振り分けることとしたので、上記判断を行わない分だけ振り分け処理を高速化することができる。
【0262】
(実施の形態3)
さて、前述した実施の形態1においては、パケットの振り分け先が固定化された振り分けルール(振り分け先固定ルール)を適用した構成例について説明した。例えば、図5(b)に示したルールBでは、クライアント1001 からパケットとして、同一のセッションに対応する開始パケット、途中パケットおよび終了パケットが順次、振り分け装置300(図1参照)に受信された場合、開始パケット、途中パケットおよび終了パケットの全てが高位レイヤ装置5001 へ振り分けられる。
【0263】
ここで、パケットの振り分けルールとしては、上述した振り分け先固定ルールの他に、パケットをランダムに振り分けるというランダムルールも存在する。
【0264】
このランダムルールを適用した場合には、同一のセッションに対応する開始パケット、途中パケットおよび終了パケットが順次、振り分け装置300(図1参照)に受信されると、開始パケット、途中パケットおよび終了パケットの振り分け先がランダムに決定されるため、各パケットの振り分け先が異なり、セッションの切断が発生する。
【0265】
そこで、ランダムルールを適用した場合にも、セッション単位で振り分け先をランダムに決定し、同一のセッションに対応する開始パケット、途中パケットおよび終了パケットを同一の振り分け先に振り分けるための構成が必要になる。以下では、この構成例を実施の形態3として説明する。
【0266】
図24は、本発明にかかる実施の形態3が適用される負荷分散システムの構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付けその説明を省略する。図24においては、図1に示した振り分け装置300に代えて、振り分け装置800が設けられている。
【0267】
図25は、図24に示した振り分け装置800の構成を示すブロック図である。この図において、図2の各部に対応する部分には同一の符号を付け、その説明を省略する。図25においては、図2に示した旧ルール適用部305および新ルール適用部306に代えて、旧ルール適用部801および新ルール適用部802が設けられている。また、振り分け装置800においては、振り分け先情報保持部803が新たに設けられている。
【0268】
旧ルール適用部801は、クライアント側パケット受信部301から受信パケットデータを渡された場合に、旧ルールで振り分け先を決定し、得られた振り分け先の識別子を振り分け先決定部307へ通知する。旧ルール適用部801には、旧ルールとして、セッション単位でパケットをランダムに振り分けるためのランダムルールが設定されているものとする。
【0269】
また、旧ルール適用部801は、過去に振り分けを行っていないセッションのパケット(この場合、開始パケット)が受信された場合に、旧ルール(ランダムルール)に従って、当該開始パケットの振り分け先を振り分け先決定部307へ通知した後、図26に示した「振り分けルール」、「送信元IPアドレス」、「送信元ポート番号」、「送信先IPアドレス」、「送信先ポート番号」および「振り分け先IPアドレス」からなる振り分け先情報を振り分け先情報保持部803に格納する。
【0270】
振り分け先情報において、「送信元IPアドレス」、「送信元ポート番号」、「送信先IPアドレス」および「送信先ポート番号」は、図6に示した新規セッション識別子データベース304に格納されたセッション識別子に対応している。
【0271】
「振り分けルール」は、過去に振り分けを行っていないセッションのパケット(この場合、開始パケット)に対して適用された振り分けルール(同図ではランダムルールB’)である。「振り分け先IPアドレス」は、「振り分けルール」の適用により決定された振り分け先(高位レイヤ装置5001 〜5003 のいずれか一つの高位レイヤ装置)に付与されたIPアドレスである。
【0272】
また、旧ルール適用部801は、過去に振り分けを行ったセッションのパケット(この場合、途中パケットや終了パケット)が受信された場合に、振り分けルール(旧ルール)およびセッション識別子をキーとして、振り分け先情報保持部803から振り分け先IPアドレスを検索する。旧ルール適用部801は、検索結果の振り分け先IPアドレスを当該パケットの振り分け先として、振り分け先決定部307へ通知する。
【0273】
新ルール適用部802は、クライアント側パケット受信部301から受信パケットデータを渡された場合に、新ルールで振り分け先を決定し、得られた振り分け先の識別子を振り分け先決定部307へ通知する。新ルール適用部802には、新ルールとして、パケットをランダムに振り分けるためのランダムルールが設定されているものとする。
【0274】
また、新ルール適用部802は、過去に振り分けを行っていないセッションのパケット(この場合、開始パケット)が受信された場合に、新ルール(ランダムルール)に従って、当該開始パケットの振り分け先を振り分け先決定部307へ通知した後、図26に示した「振り分けルール」、「送信元IPアドレス」、「送信元ポート番号」、「送信先IPアドレス」、「送信先ポート番号」および「振り分け先IPアドレス」からなる振り分け先情報を振り分け先情報保持部803に格納する。
【0275】
また、新ルール適用部802は、過去に振り分けを行ったセッションのパケット(この場合、途中パケットや終了パケット)が受信された場合に、振り分けルール(新ルール)およびセッション識別子をキーとして、振り分け先情報保持部803から振り分け先IPアドレスを検索する。新ルール適用部802は、検索結果の振り分け先IPアドレスを当該パケットの振り分け先として、振り分け先決定部307へ通知する。
【0276】
つぎに、前述した実施の形態1と同様にして、図24に示したクライアント1001 および1002 と高位レイヤ装置5001 および5002 との間で図9に示したシーケンスでパケット通信を行う場合の動作について説明する。
【0277】
図9における実施の形態3の動作においては、セッション単位でパケットをランダムに振り分ける場合について説明する。具体的には、既存セッション1に対応するパケット1およびパケット3をランダムルールB’により同一の振り分け先へ振り分け、新規セッションに対応するパケット4、パケット5およびパケット6をランダムルールC’により同一の振り分け先へ振り分ける場合について説明する。
【0278】
ここで、図25に示した振り分け装置300の旧ルール適用部801には、パケットの振り分けルールとして、<ランダムルールA’>(図示略)が設定されているものとする。一方、新ルール適用部802には、パケットの振り分けルールとして、上述した<ランダムルールB’>(図26参照)が設定されているものとする。
【0279】
また、振り分け装置800においては、装置状態が通常状態であるものとする。従って、この場合、メンテナンス/通常状態切替部302からは、新規/既存セッション判断部303および振り分け先決定部307へ通常状態が通知されている。
【0280】
また、図27に示したステップSM1では、新ルール適用部802および旧ルール適用部801のそれぞれは、クライアント側パケット受信部301より受信パケットデータを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0281】
(通常状態におけるパケット1(開始パケット)の振り分け処理)
上記通常状態において、図9に示したステップSA1では、クライアント1001 は、既存セッション1でパケット1(開始パケット)を送信する。このパケット1(開始パケット)においては、<送信元IPアドレス>が<101.0.0.1>、<送信元ポート番号>が<200>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0282】
ステップSA2では、パケット1(開始パケット)は、図24に示したインターネット200を介して、図25に示した振り分け装置800のクライアント側パケット受信部301に受信される。
【0283】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット1(開始パケット)がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0284】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット1(開始パケット)を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部801、新ルール適用部802およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0285】
クライアント側パケット受信部301より受信パケットデータ(パケット1(開始パケット))を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、通常状態である。
【0286】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「No」として、ステップSD1の判断を行う。
【0287】
また、クライアント側パケット受信部301より受信パケットデータ(パケット1(開始パケット))を渡されると、旧ルール適用部801は、図27に示したステップSM1の判断結果を「Yes」とする。
【0288】
ステップSM2では、旧ルール適用部801は、現在設定されている振り分けルール(この場合、ランダムルールA’)とパケット1(開始パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0289】
ステップSM3では、旧ルール適用部801は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「No」とする。ステップSM4では、旧ルール適用部801は、現在設定されているランダムルールA’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置5003 のIPアドレス<200.0.0.3>)を決定する。
【0290】
ステップSM5では、旧ルール適用部801は、エントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、旧ルール適用部801は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0291】
また、クライアント側パケット受信部301より受信パケットデータ(パケット1(開始パケット))を渡されると、新ルール適用部802は、図27に示したステップSM1の判断結果を「Yes」とする。
【0292】
ステップSM2では、新ルール適用部802は、現在設定されている振り分けルール(この場合、ランダムルールB’)とパケット1(開始パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0293】
ステップSM3では、新ルール適用部802は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「No」とする。ステップSM4では、新ルール適用部802は、現在設定されているランダムルールB’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を決定する。
【0294】
ステップSM5では、新ルール適用部802は、図26に示した「振り分けルール」(ランダムルールB’)に対応するエントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、新ルール適用部802は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0295】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置5003 のIPアドレス<200.0.0.3>)と、新ルール適用部802からの振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0296】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0297】
ステップSG5では、振り分け先決定部307は、新ルール適用部802から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)をパケット1(開始パケット)の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0298】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0299】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0300】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット1(開始パケット)のヘッダを更新し、送信用のパケット1(開始パケット)を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部802から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)に基づいて、パケット1(開始パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0301】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット1(開始パケット)を振り分け先の高位レイヤ装置5001 へ送信(図9:ステップSA3参照)した後、ステップSH1の判断を行う。
【0302】
(パケット2によるメンテナンス要求)
そして、図9に示したステップSA4では、ネットワーク管理者は、振り分け装置300における振り分けルールを現在のランダムルールB’からランダムルールC’に変更するために、図24に示したネットワーク管理者端末400を用いてメンテナンス要求を出す。
【0303】
これにより、ネットワーク管理者端末400からは、上記メンテナンス要求に対応するパケット2が振り分け装置800へ送信される。図9に示したステップSA5では、パケット2は、振り分け装置800のクライアント側パケット受信部301に受信される。
【0304】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット2がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0305】
ステップSB3では、クライアント側パケット受信部301は、新ルールとしてのランダムルールC’を新ルール適用部802へ通知する。これにより、新ルール適用部802には、新ルールとしてランダムルールC’が設定される。
【0306】
また、新ルール適用部802は、ランダムルールC’が設定される前に設定されていたランダムルールB’を旧ルール適用部801へ通知する。これにより、旧ルール適用部801には、旧ルールとしてランダムルールB’が設定される。
【0307】
ステップSB4では、クライアント側パケット受信部301は、メンテナンス開始信号をメンテナンス/通常状態切替部302へ渡した後、ステップSB1の判断を行う。
【0308】
そして、メンテナンス開始信号を受信すると、メンテナンス/通常状態切替部302は、図11に示したステップSC1の判断結果を「Yes」とする。ステップSC2では、メンテナンス/通常状態切替部302は、新規/既存セッション判断部303および振り分け先決定部307へ、現在の装置状態がメンテナンス状態であることを通知する。
【0309】
ステップSC3では、メンテナンス/通常状態切替部302は、タイマ309よりメンテナンス終了信号を渡されたか否かを判断し、この場合、判断結果を「No」として、ステップSC1の判断を行う。
【0310】
(メンテナンス状態におけるパケット3の振り分け)
そして、メンテナンス状態において、図9に示したステップSA6では、クライアント1001 は、上述したパケット1(開始パケット)と同一の既存セッション1で、パケット3(終了パケット)を送信する。このパケット3(終了パケット)においては、上述したパケット1(開始パケット)と同様にして、<送信元IPアドレス>が<101.0.0.1>、<送信元ポート番号>が<200>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0311】
ステップSA7では、パケット3(終了パケット)は、図24に示したインターネット200を介して、図25に示した振り分け装置800のクライアント側パケット受信部301に受信される。
【0312】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット3(終了パケット)がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0313】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット3(終了パケット)を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部801、新ルール適用部802およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0314】
クライアント側パケット受信部301より受信パケットデータ(パケット3(終了パケット))を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、メンテナンス状態である。
【0315】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、新規/既存セッション判断部303は、メンテナンス状態処理を実行する。
【0316】
具体的には、図13に示したステップSE1では、新規/既存セッション判断部303は、パケット3(終了パケット)のセッション識別子(<送信元IPアドレス>=<101.0.0.1>、<送信元ポート番号>=<200>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をキーとして、新規セッション識別子データベース304を検索し、上記セッション識別子と同一のエントリの有無をチェックする。
【0317】
ステップSE2では、新規/既存セッション判断部303は、新規セッション識別子データベース304に、パケット3(終了パケット)のエントリ識別子と同一のエントリがあるか否かを判断し、この場合、判断結果を「No」とする。
【0318】
ステップSE3では、新規/既存セッション判断部303は、パケット3(終了パケット)が、セッションの開始パケットであるか否かを、パケット3(終了パケット)のSYNフラグのオン/オフから判断する。この場合、パケット3(終了パケット)のSYNフラグがオフに設定されているものとすると、新規/既存セッション判断部303は、ステップSE4の判断結果を「No」とする。
【0319】
ステップSE7では、新規/既存セッション判断部303は、リセット信号をタイマ309へ送信する。リセット信号を受けて、タイマ309は、予め設定された時間(例えば、15秒)について、カウントダウンを開始する。
【0320】
ステップSE8では、新規/既存セッション判断部303は、振り分け先決定部307へ、パケット3(終了パケット)のセッションが、既存セッションである旨を通知した後、図12に示したステップSD1の判断を行う。
【0321】
また、クライアント側パケット受信部301より受信パケットデータ(パケット3(終了パケット))を渡されると、旧ルール適用部801は、図27に示したステップSM1の判断結果を「Yes」とする。
【0322】
ステップSM2では、旧ルール適用部801は、現在設定されている振り分けルール(この場合、ランダムルールB’)とパケット3(終了パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0323】
この場合、図26に示した振り分け先情報保持部803には、上記パケット3のセッション識別子および「振り分けルール」(ランダムルールB’)に対応するエントリ(振り分け先情報)が格納されている。
【0324】
ステップSM3では、旧ルール適用部801は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSM7では、旧ルール適用部801は、振り分け先情報保持部803から上記「振り分けルール」(ランダムルールB’)に対応する振り分け先情報を読み込む。
【0325】
ステップSM6では、旧ルール適用部801は、上記振り分け先情報から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)の情報を取得し、この振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0326】
また、クライアント側パケット受信部301より受信パケットデータ(パケット3(終了パケット))を渡されると、新ルール適用部802は、図27に示したステップSM1の判断結果を「Yes」とする。
【0327】
ステップSM2では、新ルール適用部802は、現在設定されている振り分けルール(この場合、ランダムルールB’)とパケット3(終了パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0328】
ステップSM3では、新ルール適用部802は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「No」とする。ステップSM4では、新ルール適用部802は、現在設定されているランダムルールC’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を決定する。
【0329】
ステップSM5では、新ルール適用部802は、図26に示した「振り分けルール」(ランダムルールC’)に対応するエントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、新ルール適用部802は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0330】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部802からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0331】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0332】
ステップSG3では、振り分け先決定部307は、新規/既存セッション判断部303からの通知(新規セッションまたは既存セッション)に基づいて、パケット3(終了パケット)のセッションが既存セッションであるか否かを判断し、この場合、判断結果を「Yes」とする。
【0333】
ステップSG4では、振り分け先決定部307は、旧ルール適用部801から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)をパケット3(終了パケット)の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0334】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0335】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0336】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット3(終了パケット)のヘッダを更新し、送信用のパケット3(終了パケット)を生成する。具体的には、サーバ側パケット送信部308は、旧ルール適用部801から通知された振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)に基づいて、パケット3(終了パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0337】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット3(終了パケット)を、パケット1(開始パケット)と同一の振り分け先の高位レイヤ装置5001 へ送信(図9:ステップSA8参照)した後、ステップSH1の判断を行う。
【0338】
(メンテナンス状態におけるパケット4(開始パケット)の振り分け)
そして、メンテナンス状態において、図9に示したステップSA9では、クライアント1002 は、上述したパケット1および3の既存セッション1と異なる新規セッション2で、パケット4(開始パケット)を送信する。このパケット4(開始パケット)においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0339】
ステップSA10では、パケット4(開始パケット)は、図24に示したインターネット200を介して、図25に示した振り分け装置800のクライアント側パケット受信部301に受信される。
【0340】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット4(開始パケット)がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0341】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット4(開始パケット)を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部801、新ルール適用部802およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0342】
クライアント側パケット受信部301より受信パケットデータ(パケット4(開始パケット))を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、メンテナンス状態である。
【0343】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、新規/既存セッション判断部303は、メンテナンス状態処理を実行する。
【0344】
具体的には、図13に示したステップSE1では、新規/既存セッション判断部303は、パケット4(開始パケット)のセッション識別子(<送信元IPアドレス>=<102.0.0.1>、<送信元ポート番号>=<300>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をキーとして、新規セッション識別子データベース304を検索し、上記セッション識別子と同一のエントリの有無をチェックする。
【0345】
ステップSE2では、新規/既存セッション判断部303は、新規セッション識別子データベース304に、パケット4(開始パケット)のセッション識別子と同一のエントリがあるか否かを判断し、この場合、判断結果を「No」とする。
【0346】
ステップSE3では、新規/既存セッション判断部303は、パケット4(開始パケット)が、セッションの開始パケットであるか否かを、パケット4(開始パケット)のSYNフラグのオン/オフから判断する。この場合、パケット4(開始パケット)のSYNフラグがオンに設定されているものとすると、新規/既存セッション判断部303は、ステップSE4の判断結果を「Yes」とする。
【0347】
ステップSE5では、新規/既存セッション判断部303は、新規セッション識別子データベース304にエントリを追加する。具体的には、新規/既存セッション判断部303は、パケット4(開始パケット)のセッション識別子(<送信元IPアドレス>=<102.0.0.1>、<送信元ポート番号>=<300>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をエントリとして新規セッション識別子データベース304に追加する。
【0348】
ステップSE6では、新規/既存セッション判断部303は、振り分け先決定部307へ、パケット4(開始パケット)のセッションが、新規セッションである旨を通知した後、図12に示したステップSD1の判断を行う。
【0349】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4(開始パケット))を渡されると、旧ルール適用部801は、図27に示したステップSM1の判断結果を「Yes」とする。
【0350】
ステップSM2では、旧ルール適用部801は、現在設定されている振り分けルール(この場合、ランダムルールB’)とパケット4(開始パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0351】
ステップSM3では、旧ルール適用部801は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「No」とする。ステップSM4では、旧ルール適用部801は、現在設定されているランダムルールB’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置5001 のIPアドレス<200.0.0.1>)を決定する。
【0352】
ステップSM5では、旧ルール適用部801は、エントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、旧ルール適用部801は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0353】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4(開始パケット))を渡されると、新ルール適用部802は、図27に示したステップSM1の判断結果を「Yes」とする。
【0354】
ステップSM2では、新ルール適用部802は、現在設定されている振り分けルール(この場合、ランダムルールC’)とパケット4(開始パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0355】
ステップSM3では、新ルール適用部802は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「No」とする。ステップSM4では、新ルール適用部802は、現在設定されているランダムルールC’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置5002 のIPアドレス<200.0.0.2>)を決定する。
【0356】
ステップSM5では、新ルール適用部802は、図26に示した「振り分けルール」(ランダムルールC’)に対応するエントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、新ルール適用部802は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0357】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部802からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0358】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0359】
ステップSG3では、振り分け先決定部307は、新規/既存セッション判断部303からの通知(新規セッションまたは既存セッション)に基づいて、パケット4(開始パケット)のセッションが既存セッションであるか否かを判断し、この場合、判断結果を「No」とする。
【0360】
ステップSG4では、振り分け先決定部307は、新ルール適用部802から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)をパケット4(開始パケット)の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0361】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0362】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0363】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット4(開始パケット)のヘッダを更新し、送信用のパケット4(開始パケット)を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部802から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に基づいて、パケット4(開始パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0364】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット4(開始パケット)を振り分け先の高位レイヤ装置5002 へ送信(図9:ステップSA11参照)した後、ステップSH1の判断を行う。
【0365】
(メンテナンス状態におけるパケット5の振り分け)
そして、メンテナンス状態において、図9に示したステップSA12では、クライアント1002 は、上述したパケット4(開始パケット)と同一の新規セッション2で、パケット5(途中パケット)を送信する。このパケット5(途中パケット)においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0366】
ステップSA13では、パケット5(途中パケット)は、図24に示したインターネット200を介して、図25に示した振り分け装置800のクライアント側パケット受信部301に受信される。
【0367】
これにより、クライアント側パケット受信部301は、図10に示したステップSB1の判断結果を「Yes」とする。ステップSB2では、クライアント側パケット受信部301は、受信したパケット5(途中パケット)がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「No」とする。
【0368】
ステップSB5では、クライアント側パケット受信部301は、受信したパケット5(途中パケット)を受信パケットデータに変換し、新規/既存セッション判断部303、旧ルール適用部801、新ルール適用部802およびサーバ側パケット送信部308へ渡した後、ステップSB1の判断を行う。
【0369】
クライアント側パケット受信部301より受信パケットデータ(パケット5(途中パケット))を渡されると、新規/既存セッション判断部303は、図12に示したステップSD1の判断結果を「Yes」とする。ステップSD2では、新規/既存セッション判断部303は、メンテナンス/通常状態切替部302からの通知に基づいて、装置状態をチェックする。この場合、装置状態は、メンテナンス状態である。
【0370】
ステップSD3では、新規/既存セッション判断部303は、装置状態がメンテナンス状態であるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSD4では、新規/既存セッション判断部303は、メンテナンス状態処理を実行する。
【0371】
具体的には、図13に示したステップSE1では、新規/既存セッション判断部303は、パケット5(途中パケット)のセッション識別子(<送信元IPアドレス>=<102.0.0.1>、<送信元ポート番号>=<300>、<送信先IPアドレス>=<200.0.0.10>、<送信先ポート番号>=<80>)をキーとして、新規セッション識別子データベース304を検索し、上記セッション識別子と同一のエントリの有無をチェックする。
【0372】
ステップSE2では、新規/既存セッション判断部303は、新規セッション識別子データベース304に、パケット5(途中パケット)のセッション識別子と同一のエントリがあるか否かを判断し、この場合、判断結果を「Yes」とする。
【0373】
ステップSE6では、新規/既存セッション判断部303は、振り分け先決定部307へ、パケット5(途中パケット)のセッションが、新規セッションである旨を通知した後、図12に示したステップSD1の判断を行う。
【0374】
また、クライアント側パケット受信部301より受信パケットデータ(パケット5(途中パケット))を渡されると、旧ルール適用部801は、図27に示したステップSM1の判断結果を「Yes」とする。
【0375】
ステップSM2では、旧ルール適用部801は、現在設定されている振り分けルール(この場合、ランダムルールB’)とパケット5(途中パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0376】
この場合、図26に示した振り分け先情報保持部803には、上記パケット5のセッション識別子および「振り分けルール」(ランダムルールB’)に対応するエントリ(振り分け先情報)が格納されている。
【0377】
ステップSM3では、旧ルール適用部801は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSM7では、旧ルール適用部801は、振り分け先情報保持部803から上記「振り分けルール」(ランダムルールB’)に対応する振り分け先情報を読み込む。
【0378】
ステップSM6では、旧ルール適用部801は、上記振り分け先情報から振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)の情報を取得し、この振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0379】
また、クライアント側パケット受信部301より受信パケットデータ(パケット5(途中パケット))を渡されると、新ルール適用部802は、図27に示したステップSM1の判断結果を「Yes」とする。
【0380】
ステップSM2では、新ルール適用部802は、現在設定されている振り分けルール(この場合、ランダムルールC’)とパケット5(途中パケット)に含まれるセッション識別子とをキーとして、振り分け先情報保持部803にエントリがあるかをチェックする。
【0381】
この場合、図26に示した振り分け先情報保持部803には、上記パケット5のセッション識別子および「振り分けルール」(ランダムルールC’)に対応するエントリ(振り分け先情報)が格納されている。
【0382】
ステップSM3では、新ルール適用部802は、振り分け先情報保持部803にエントリがあるか否かを判断し、この場合、判断結果を「Yes」とする。ステップSM7では、新ルール適用部802は、振り分け先情報保持部803から上記「振り分けルール」(ランダムルールC’)に対応する振り分け先情報を読み込む。
【0383】
ステップSM6では、新ルール適用部802は、上記振り分け先情報から振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)の情報を取得し、この振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0384】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置5001 のIPアドレス<200.0.0.1>)と、新ルール適用部802からの振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0385】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0386】
ステップSG3では、振り分け先決定部307は、新規/既存セッション判断部303からの通知(新規セッションまたは既存セッション)に基づいて、パケット5(途中パケット)のセッションが既存セッションであるか否かを判断し、この場合、判断結果を「No」とする。
【0387】
ステップSG4では、振り分け先決定部307は、新ルール適用部802から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)をパケット5(途中パケット)の振り分け先として決定し、サーバ側パケット送信部308へ通知した後、ステップSG1の判断を行う。
【0388】
また、クライアント側パケット受信部301から受信パケットデータを渡されると、サーバ側パケット送信部308は、図16に示したステップSH1の判断結果を「Yes」とする。
【0389】
ステップSH2では、サーバ側パケット送信部308は、振り分け先決定部307より振り分け先が通知されたか否かを判断し、この場合、判断結果を「Yes」とする。
【0390】
ステップSH3では、サーバ側パケット送信部308は、受信パケットデータに対応するパケット5(途中パケット)のヘッダを更新し、送信用のパケット5(途中パケット)を生成する。具体的には、サーバ側パケット送信部308は、新ルール適用部802から通知された振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に基づいて、パケット5(途中パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0391】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット5(途中パケット)を、パケット4(開始パケット)と同一の振り分け先の高位レイヤ装置5002 へ送信(図9:ステップSA14参照)した後、ステップSH1の判断を行う。
【0392】
そして、タイマ309のカウントダウンが0になると、図9に示したステップSA15では、タイマ309は、メンテナンス終了信号をメンテナンス/通常状態切替部302へ送信し、メンテナンスを終了させる。
【0393】
上記メンテナンス終了信号が受信されると、メンテナンス/通常状態切替部302は、図11に示したステップSC3の判断結果を「Yes」とする。ステップSC4では、メンテナンス/通常状態切替部302は、新規/既存セッション判断部303および振り分け先決定部307へ、現在の装置状態が通常状態であることを通知する。
【0394】
これにより、新規/既存セッション判断部303は、現在の装置状態がメンテナンス状態から通常状態に変わったので、新規セッション識別子データベース304のエントリを全て消去する。
【0395】
(通常状態におけるパケット6の振り分け)
そして、通常状態において、図9に示したステップSA16では、クライアント1002 は、上述したパケット4(開始パケット)およびパケット5(途中パケット)と同一の新規セッション2で、パケット6(終了パケット)を送信する。このパケット6(終了パケット)においては、<送信元IPアドレス>が<102.0.0.1>、<送信元ポート番号>が<300>、<送信先IPアドレス>が<200.0.0.10>、<送信先ポート番号>が<80>に設定されている。
【0396】
ステップSA17では、パケット6(終了パケット)は、図24に示したインターネット200を介して、図25に示した振り分け装置800のクライアント側パケット受信部301に受信される。
【0397】
以後、前述した動作を経て、新規セッション2に対応するパケット6(終了パケット)は、同じく、新規セッション2に対応するパケット4(開始パケット)およびパケット5(途中パケット)と同一の振り分け先(高位レイヤ装置5002 のIPアドレス<200.0.0.2>)に振り分けられる。
【0398】
以上説明したように、実施の形態3によれば、ランダムルールにおいて、旧ルールの振り分け先情報(既存セッション振り分け先情報)と新ルールの振り分け先情報(新規セッション振り分け先情報)とを振り分け先情報保持部803(図26参照)に保持しておき、セッションが既存セッションであると判断された場合、既存セッション振り分け先情報に基づいて、既存セッションに対応するトラヒックを振り分け、一方、セッションが新規セッションであると判断された場合、新規セッション振り分け先情報に基づいて、新規セッションに対応するトラヒックを振り分けることとしたので、ランダムルールであってもセッション単位でトラヒックを振り分けることができる。
【0399】
(実施の形態4)
さて、前述した実施の形態1においては、図2に示したクライアント側パケット受信部301に、メンテナンス開始信号や振り分けルールの出力を行う機能を持たせた構成例について説明したが、上記機能を独立的に実現する構成要素を設けてもよい。以下では、この構成例を実施の形態4として説明する。
【0400】
図28は、本発明にかかる実施の形態4が適用される負荷分散システムの構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付けその説明を省略する。図28においては、図1に示した振り分け装置300に代えて、振り分け装置900が設けられている。
【0401】
図29は、図28に示した振り分け装置900の構成を示すブロック図である。この図において、図2の各部に対応する部分には同一の符号を付け、その説明を省略する。図29においては、図2に示したクライアント側パケット受信部301に代えて、クライアント側パケット受信部901が設けられている。また、振り分け装置900においては、メンテナンス要求制御部902が新たに設けられている。
【0402】
クライアント側パケット受信部901は、図28に示したクライアント1001 および1002 から送信されたパケットをインターネット200を介して受信し、該パケットを、振り分け装置900で内部処理が可能な形式の受信パケットデータに変換した後、各部へ渡す。
【0403】
また、クライアント側パケット受信部901は、ネットワーク管理者端末400(図28参照)よりメンテナンス要求(図3(a)参照)のパケットを受信した場合に、このパケットをメンテナンス要求制御部902へ渡す。
【0404】
メンテナンス要求制御部902は、クライアント側パケット受信部901よりメンテナンス要求のパケットを受信した場合に、振り分けルール種別に対応する振り分けルールを、新ルールとして、新ルール適用部306へ渡す。
また、メンテナンス要求制御部902は、メンテナンス要求のパケットを受信した後、メンテナンス状態でさらにつぎのメンテナンス要求のパケットを受信した場合、先のパケットの処理が終了するまで、後のパケットを保持する機能を備えている。
【0405】
メンテナンス要求制御部902は、先のパケットの処理が終了すると、後のパケットに対応するメンテナンス開始信号や振り分けルールを通知する処理を実行する。これにより、実施の形態4では、連続的にメンテナンス要求を受け付けることができる。
【0406】
つぎに、前述した実施の形態1と同様にして、図28に示したクライアント1001 および1002 と高位レイヤ装置5001 および5002 との間で図9に示したシーケンスでパケット通信を行う場合の動作について説明する。
【0407】
図9における実施の形態4の動作においては、実施の形態1の動作とほぼ同様であるが、メンテナンス要求のパケット2の場合に実施の形態1と実施の形態4との間で動作上の差分が表れる。従って、以下では、パケット2の場合ついて、詳述する。
【0408】
(パケット2によるメンテナンス要求)
図9に示したステップSA4では、ネットワーク管理者は、振り分け装置900における振り分けルールを現在のルールB(図5(b)参照)からルールC(図5(c)参照)に変更するために、図28に示したネットワーク管理者端末400を用いてメンテナンス要求を出す。
【0409】
ここで、図30に示したステップSN1では、メンテナンス要求制御部902は、クライアント側パケット受信部901よりメンテナンス要求のパケットを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0410】
そして、ネットワーク管理者端末400からは、上記メンテナンス要求に対応するパケット2が振り分け装置900へ送信される。図9に示したステップSA5では、パケット2は、振り分け装置900のクライアント側パケット受信部901に受信される。
【0411】
クライアント側パケット受信部901は、受信したパケット2がメンテナンス要求に対応するものであるため、このパケット2をメンテナンス要求制御部902へ渡す。これにより、メンテナンス要求制御部902は、図30に示したステップSN1の判断結果を「Yes」とする。
【0412】
ステップSN2では、メンテナンス要求制御部902は、パケット2に対応するメンテナンス開始信号をメンテナンス/通常状態切替部302へ渡す。
【0413】
そして、メンテナンス開始信号を受信すると、メンテナンス/通常状態切替部302は、図11に示したステップSC1の判断結果を「Yes」とする。以後、前述したステップSC2以降の処理が実行される。
【0414】
図30に示したステップSN3では、メンテナンス要求制御部902は、新ルールとしてのルールC(図5(c)参照)を新ルール適用部306へ通知した後、ステップSN1の判断を行う。これにより、新ルール適用部306には、新ルールとしてルールCが設定される。
【0415】
また、新ルール適用部306は、ルールCが設定される前に設定されていたルールB(図5(b)参照)を旧ルール適用部305へ通知する。これにより、旧ルール適用部305には、旧ルールとしてルールBが設定される。
【0416】
そして、ネットワーク管理者端末400から続けてメンテナンス要求に対応するパケット2’(図示略)が振り分け装置900へ送信される。このパケット2’は、振り分け装置900のクライアント側パケット受信部901に受信される。ここで、クライアント側パケット受信部901は、先にパケット2のメンテナンス要求を実行中であるため、受信したパケット2’を保持し、パケット2に対応する処理が終了した後にパケット2’をメンテナンス要求制御部902へ渡す。以降、前述したように、パケットが受信される度に処理が実行される。
【0417】
以上説明したように、実施の形態4によれば、クライアント側パケット受信部901にメンテナンス要求のパケットが連続的に受信された場合、メンテナンス要求制御部902で先のメンテナンス要求のパケットに対応する処理を実行し、後のメンテナンス要求のパケットを保持しておき、先のメンテナンス要求のパケットに対応する処理が終了した後、後のメンテナンス要求のパケットに対応する処理を実行させることとしたので、複数のメンテナンス要求を順次処理することができるので、頻繁なルール変更に対応することができる。
【0418】
(実施の形態5)
さて、前述した実施の形態1においては、図2に示したタイマ309でメンテナンス終了信号を生成する構成例について説明したが、このタイマ309に代えて、終了タイミングを測定する構成要素によりメンテナンス終了信号を生成する構成としてもよい。以下では、この構成例を実施の形態5として説明する。
【0419】
図31は、本発明にかかる実施の形態5が適用される負荷分散システムの構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付けその説明を省略する。図31においては、図1に示した振り分け装置300に代えて、振り分け装置1000が設けられている。
【0420】
図32は、図31に示した振り分け装置1000の構成を示すブロック図である。この図において、図2の各部に対応する部分には同一の符号を付け、その説明を省略する。
【0421】
図32においては、図2に示したメンテナンス/通常状態切替部302、タイマ309および新規/既存セッション判断部303に代えて、メンテナンス/通常状態切替部1001、終了タイミング測定部1002および新規/既存セッション判断部1003が設けられている。
【0422】
メンテナンス/通常状態切替部1001は、クライアント側パケット受信部301よりメンテナンス開始信号を渡された場合に、振り分け先決定部307および新規/既存セッション判断部1003へメンテナンス状態を通知する。
【0423】
また、メンテナンス/通常状態切替部1001は、上記メンテナンス開始信号を渡された場合に、終了タイミング測定部1002へ測定開始信号を渡す。また、メンテナンス/通常状態切替部1001は、終了タイミング測定部1002よりメンテナンス終了信号を渡された場合に、振り分け先決定部307および新規/既存セッション判断部1003へ通常状態を通知する。
【0424】
終了タイミング測定部1002は、メンテナンス/通常状態切替部1001より測定開始信号を渡された場合に、設定時間が経過するまで計時を行い、メンテナンス状態の終了タイミング、すなわち、装置状態をメンテナンス状態から通常状態へ移行させるタイミングを測定する。
【0425】
つぎに、前述した実施の形態1と同様にして、図31に示したクライアント1001 および1002 と高位レイヤ装置5001 および5002 との間で図9に示したシーケンスでパケット通信を行う場合の動作について説明する。
【0426】
図9における実施の形態5の動作においては、実施の形態1の動作とほぼ同様であるが、メンテナンス要求のパケット2の場合に実施の形態1と実施の形態5との間で動作上の差分が表れる。従って、以下では、パケット2の場合について、詳述する。
【0427】
(パケット2によるメンテナンス要求)
図9に示したステップSA4では、ネットワーク管理者は、振り分け装置1000における振り分けルールを現在のルールB(図5(b)参照)からルールC(図5(c)参照)に変更するために、図31に示したネットワーク管理者端末400を用いてメンテナンス要求を出す。
【0428】
ここで、図33に示したステップSO1では、メンテナンス/通常状態切替部1001は、クライアント側パケット受信部301よりメンテナンス開始信号を渡されたか否かを判断し、この場合、判断結果を「No」とする。ステップSO4では、メンテナンス/通常状態切替部1001は、終了タイミング測定部1002よりメンテナンス終了信号を渡されたか否かを判断し、この場合、判断結果を「No」とする。以後、判断結果が「Yes」になるまで、ステップSO1およびステップSO4の判断を繰り返す。
【0429】
また、図34に示したステップSP1では、終了タイミング測定部1002は、メンテナンス/通常状態切替部1001より測定開始信号を渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0430】
そして、ネットワーク管理者端末400からは、上記メンテナンス要求に対応するパケット2が振り分け装置1000へ送信される。図9に示したステップSA5では、パケット2は、振り分け装置1000のクライアント側パケット受信部301に受信される。
【0431】
クライアント側パケット受信部301は、受信したパケット2がメンテナンス要求に対応するものであるため、メンテナンス開始信号をメンテナンス/通常状態切替部1001へ渡す。これにより、メンテナンス/通常状態切替部1001は、図33に示したステップSO1の判断結果を「Yes」とする。
【0432】
ステップSO2では、メンテナンス/通常状態切替部1001は、振り分け先決定部307および新規/既存セッション判断部1003へメンテナンス状態を通知する。ステップSO3では、メンテナンス/通常状態切替部1001は、終了タイミング測定部1002へ測定開始信号を渡す。
【0433】
ステップSO4では、メンテナンス/通常状態切替部1001は、メンテナンス終了信号が終了タイミング測定部1002より渡されたか否かを判断し、この場合、判断結果を「No」として、ステップSO1の判断を行う。
【0434】
また、メンテナンス/通常状態切替部1001より測定開始信号を渡されると、終了タイミング測定部1002は、図34に示したステップSP1の判断結果を「Yes」とする。ステップSP2では、終了タイミング測定部1002は、計時を開始する。ステップSP3では、終了タイミング測定部1002は、設定時間が経過したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0435】
そして、ステップSP3の判断結果が「Yes」になると、ステップSP4では、終了タイミング測定部1002は、メンテナンス終了信号をメンテナンス/通常状態切替部1001へ渡す。
【0436】
これにより、メンテナンス/通常状態切替部1001は、図33に示したステップSO4の判断結果を「Yes」とする。ステップSO5では、メンテナンス/通常状態切替部1001は、振り分け先決定部307および新規/既存セッション判断部1003へ通常状態を通知した後、ステップSO1の判断を行う。
【0437】
以上説明したように、実施の形態5によれば、クライアント側パケット受信部301でルールを変更するためのメンテナンス要求のパケットを受信し、メンテナンス/通常状態切替部1001から測定開始信号を渡されてから所定時間経過後に、終了タイミング測定部1002からメンテナンス/通常状態切替部1001へ併用期間を終了させるためのメンテナンス終了信号を渡すこととしたので、所定時間経過を監視するという簡単な手法で既存セッションの切断を防ぐことができる。
【0438】
(実施の形態6)
さて、前述した実施の形態1においては、図1にクライアント1001 および1002 と高位レイヤ装置群501との間に振り分け装置300を設けて、クライアント1001 および1002 からのパケットを振り分ける構成例について説明したが、高位レイヤ装置群501とサーバ群601との間にも振り分け装置を設けて、サーバ群601からのパケットも振り分ける構成としてもよい。以下では、この構成例を実施の形態6として説明する。
【0439】
図35は、本発明にかかる実施の形態6が適用される負荷分散システムの構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付けその説明を省略する。
【0440】
図35においては、図1に示した振り分け装置300に代えて、振り分け装置1100が設けられている。また、図35においては、高位レイヤ装置群501とサーバ群601との間に振り分け装置1200が新たに設けられている。
【0441】
振り分け装置1100は、振り分け装置300(図1参照)と同様にして、クライアント1001 および1002 からのパケットを、振り分けルールに従って、高位レイヤ装置5001 〜5003 のうちいずれか一つの高位レイヤ装置へ振り分ける機能を備えている。
【0442】
また、振り分け装置1100は、ネットワーク管理者端末400からのメンテナンス要求のパケットを振り分け装置1200へ送信し、振り分け装置1200との間でメンテナンスの開始タイミングの同期をとる機能も備えている。ここで、実施の形態6においては、上記メンテナンス要求のパケットには、振り分け装置1100と振り分け装置1200とで同時にメンテナンスを開始する時刻が同期時刻として設定されている。
【0443】
図36は、図35に示した振り分け装置1100の構成を示すブロック図である。この図において、図2の各部に対応する部分には同一の符号を付け、その説明を省略する。
【0444】
図36においては、図2に示したクライアント側パケット受信部301に代えて、クライアント側パケット受信部1101が設けられている。また、振り分け装置1100においては、メンテナンス要求パケット送信部1102、メンテナンス要求制御部1103および同期タイミング測定部1104が新たに設けられている。
【0445】
クライアント側パケット受信部1101は、図35に示したクライアント1001 および1002 から送信されたパケットをインターネット200を介して受信し、該パケットを、振り分け装置1100で内部処理が可能な形式の受信パケットデータに変換した後、各部へ渡す。
【0446】
また、クライアント側パケット受信部1101は、ネットワーク管理者端末400(図35参照)よりメンテナンス要求(図3(a)参照)のパケットを受信した場合に、このパケットをメンテナンス要求パケット送信部1102およびメンテナンス要求制御部1103へ渡す。
【0447】
メンテナンス要求パケット送信部1102は、クライアント側パケット受信部1101より渡されたメンテナンス要求のパケットを振り分け装置1200(図35参照)へ送信する機能を備えている。
【0448】
メンテナンス要求制御部1103は、クライアント側パケット受信部1101よりメンテナンス要求のパケットを受信した場合に、振り分けルール種別に対応する振り分けルールを、新ルールとして、新ルール適用部306へ渡す。
【0449】
また、メンテナンス要求制御部1103は、メンテナンス要求のパケットに設定されている同期時刻を同期タイミング測定部1104へ通知する。さらに、メンテナンス要求制御部1103は、同期タイミング測定部1104より開始指示が出されると、メンテナンス開始信号をメンテナンス/通常状態切替部302へ渡す。
【0450】
同期タイミング測定部1104は、振り分け装置1100と振り分け装置1200との同期タイミングを測定する機能を備えており、内部タイマ(図示略)の時刻が、メンテナンス要求制御部1103から通知された同期時刻になると、メンテナンス要求制御部1103に対して、メンテナンスの開始を指示するための開始指示を出す。
【0451】
図35に示した振り分け装置1200は、上述した振り分け装置1100(図36参照)の構成とほぼ同一である。但し、振り分け装置1200においては、メンテナンス要求パケット送信部1102(図36参照)に相当する構成要素が設けられていない。
【0452】
つぎに、前述した実施の形態1と同様にして、図35に示したクライアント1001 および1002 と高位レイヤ装置5001 および5002 との間で図9に示したシーケンスでパケット通信を行う場合の動作について説明する。
【0453】
図9における実施の形態6の動作においては、実施の形態1の動作とほぼ同様であるが、メンテナンス要求のパケット2の場合に実施の形態1と実施の形態6との間で動作上の差分が表れる。従って、以下では、パケット2の場合ついて、詳述する。
【0454】
(パケット2によるメンテナンス要求)
図9に示したステップSA4では、ネットワーク管理者は、振り分け装置1100における振り分けルールを現在のルールB(図5(b)参照)からルールC(図5(c)参照)に変更するために、図35に示したネットワーク管理者端末400を用いてメンテナンス要求を出す。
【0455】
ここで、図37に示したステップSQ1では、クライアント側パケット受信部1101は、パケットを受信したか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0456】
また、図38に示したステップSR1では、メンテナンス要求制御部1103は、クライアント側パケット受信部1101よりメンテナンス要求のパケットを渡されたか否かを判断し、この場合、判断結果を「No」として、同判断を繰り返す。
【0457】
そして、ネットワーク管理者端末400からは、上記メンテナンス要求に対応するパケット2が振り分け装置1100へ送信される。このパケット2には、同期時刻が設定されているものとする。
【0458】
図9に示したステップSA5では、パケット2は、振り分け装置1100のクライアント側パケット受信部1101に受信される。これにより、クライアント側パケット受信部1101は、図37に示したステップSQ1の判断結果を「Yes」とする。
【0459】
ステップSQ2では、パケット2がメンテナンス要求に対応するものであるか否かを判断し、この場合、判断結果を「Yes」とする。なお、ステップSQ2の判断結果が「No」である場合、ステップSQ4では、クライアント側パケット受信部1101は、パケットを受信パケットデータに変換し、各部へ渡す。
【0460】
ステップSQ3では、クライアント側パケット受信部1101は、メンテナンス要求のパケット2をメンテナンス要求パケット送信部1102およびメンテナンス要求制御部1103へ渡した後、ステップSQ1の判断を行う。
【0461】
メンテナンス要求パケット送信部1102は、振り分け装置1200(図35参照)へメンテナンス要求のパケット2を送信する。また、メンテナンス要求のパケット2を渡されると、メンテナンス要求制御部1103は、図38に示したステップSR1の判断結果を「Yes」とする。
【0462】
ステップSR2では、メンテナンス要求制御部1103は、メンテナンス要求のパケット2に設定された同期時刻を同期タイミング測定部1104へ通知する。ステップSR3では、メンテナンス要求制御部1103は、同期タイミング測定部1104より開始指示があるか否かを判断し、この場合、判断結果を「No」として同判断を繰り返す。
【0463】
そして、同期タイミング測定部1104は、内部タイマが、メンテナンス要求制御部1103より通知された同期時刻になると、メンテナンス要求制御部1103に対して開始指示を出す。
【0464】
これにより、メンテナンス要求制御部1103は、図38に示したステップSR3の判断結果を「Yes」とする。ステップSR4では、メンテナンス要求制御部1103は、メンテナンス開始信号をメンテナンス/通常状態切替部302へ渡す。これにより、振り分け装置1100では、同期時刻で、装置状態が通常状態からメンテナンス状態に移行し、メンテナンスが開始される。
【0465】
ステップSR5では、メンテナンス要求制御部1103は、新ルールとしてのルールC(図5(c)参照)を新ルール適用部306へ通知した後、ステップSR1の判断を行う。これにより、新ルール適用部306には、新ルールとしてルールCが設定される。
【0466】
また、新ルール適用部306は、ルールCが設定される前に設定されていたルールB(図5(b)参照)を旧ルール適用部305へ通知する。これにより、旧ルール適用部305には、旧ルールとしてルールBが設定される。
【0467】
一方、振り分け装置1100よりメンテナンス要求のパケット2が振り分け装置1200(図35参照)に受信されると、振り分け装置1200側でも、図37および図38で説明した処理が実行され、パケット2に設定された同期時刻で、装置状態が通常状態からメンテナンス状態に移行し、メンテナンスが開始される。
【0468】
以上説明したように、実施の形態6によれば、振り分け装置1100から、高位レイヤ装置群501を挟んで対向側に設けられた振り分け装置1200(対向側振り分け装置)へルールを変更するためのメンテナンス要求のパケットを送信することとしたので、高位レイヤ装置群501に対して上りおよび下りの双方のトラヒックについてセッションを切断することなく振り分けを行うことができる。
【0469】
また、実施の形態6によれば、ルールの変更を同時に実行する同期時刻を含むパケットを振り分け装置1100から振り分け装置1200(対向側振り分け装置)へ送信することとしたので、ルール変更開始の同期をとることができる。
【0470】
以上本発明にかかる実施の形態1〜6について図面を参照して詳述してきたが、具体的な構成例はこれらの実施の形態1〜6に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0471】
例えば、前述した実施の形態1〜6においては、振り分け装置300(図2参照)、振り分け装置700(図18参照)、振り分け装置800(図25参照)、振り分け装置900(図29参照)、振り分け装置1000(図32参照)、振り分け装置1100(図36参照)または振り分け装置1200(図35参照)の機能を実現するためのプログラムを図39に示したコンピュータ読み取り可能な記録媒体1400に記録して、この記録媒体1400に記録されたプログラムを同図に示したコンピュータ1300に読み込ませ、実行することにより各機能を実現してもよい。
【0472】
同図に示したコンピュータ1300は、上記プログラムを実行するCPU(Central Processing Unit)1310と、キーボード、マウス等の入力装置1320と、各種データを記憶するROM(Read Only Memory)1330と、演算パラメータ等を記憶するRAM(Random Access Memory)1340と、記録媒体1400からプログラムを読み取る読取装置1350と、ディスプレイ、プリンタ等の出力装置1360と、装置各部を接続するバス1370とから構成されている。
【0473】
CPU1310は、読取装置1350を経由して記録媒体1400に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体1400としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【0474】
また、実施の形態1〜6において、例示した構成は、一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。
【0475】
また、実施の形態1〜6においては、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。
【0476】
(付記1)コンピュータを、
トラヒックを振り分け先装置群へ振り分ける振り分けルールの変更要求を受け、前記トラヒックのセッションが、ルール変更要求前に確立した既存セッションであるのか、ルール変更要求後に確立した新規セッションであるのかを判断するセッション判断手段、
前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け手段、
として機能させるための振り分け制御プログラム。
【0477】
(付記2)前記セッション判断手段は、前記ルール変更要求後に確立した前記新規セッションを識別するための新規セッション識別子を保持しておき、該新規セッション識別子と前記トラヒックに含まれるセッション識別子とを照合することにより、前記判断を行うことを特徴とする付記1に記載の振り分け制御プログラム。
【0478】
(付記3)前記コンピュータを、前記既存セッションが正常終了してから、前記ルール変更要求前の振り分けルールと前記ルール変更要求後の振り分けルールとを併用する併用期間を終了させる併用期間設定手段として機能させることを特徴とする付記1または2に記載の振り分け制御プログラム。
【0479】
(付記4)前記併用期間設定手段は、前記既存セッションに対応するトラヒックの到着間隔を計時し、該到着間隔が設定時間になった場合に前記既存セッションが正常終了したとして、前記併用期間を終了させることを特徴とする付記3に記載の振り分け制御プログラム。
【0480】
(付記5)前記併用期間設定手段は、前記ルール変更要求を受けてから所定時間経過後に、前記併用期間を終了させることを特徴とする付記3に記載の振り分け制御プログラム。
【0481】
(付記6)前記セッション判断手段は、前記ルール変更要求後で生じた前記トラヒックについて、前記ルール変更要求前の振り分けルールが適用された振り分け先と、前記ルール変更要求後の振り分けルールが適用された振り分け先とが同一である場合、前記判断を行わず、前記振り分け手段は、前記同一である場合、前記ルール変更要求後の振り分けルールが適用された振り分け先に基づいて、前記トラヒックを前記振り分け先装置群へ振り分けることを特徴とする付記1〜5のいずれか一つに記載の振り分け制御プログラム。
【0482】
(付記7)前記振り分けルールは、トラヒックをランダムに振り分けるランダムルールであり、前記ルール変更要求前のランダムルールに従って最初に振り分けられた前記既存セッションに対応するトラヒックに関する既存セッション振り分け先情報と、前記ルール変更要求後のランダムルールに従って最初に振り分けられた前記新規セッションに対応するトラヒックに関する新規セッション振り分け先情報とを保持する振り分け先情報保持手段とを備え、前記振り分け手段は、前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記既存セッション振り分け先情報に基づいて、前記既存セッションに対応するトラヒックを振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記新規セッション振り分け先情報に基づいて、前記新規セッションに対応するトラヒックを振り分けることを特徴とする付記1〜6のいずれか一つに記載の振り分け制御プログラム。
【0483】
(付記8)前記ルール変更要求が連続的にあった場合、先のルール変更要求に対応する処理を実行させ、後のルール変更要求を保持しておき、前記先のルール変更要求に対応する処理が終了した後、前記後のルール変更要求に対応する処理を実行させる制御手段、を備えたことを特徴とする付記1〜7のいずれか一つに記載の振り分け制御プログラム。
【0484】
(付記9)前記コンピュータを、前記振り分け先装置群を挟んで対向側に設けられた対向側振り分け装置へ前記ルールを変更するための要求を通知する要求通知手段として機能させることを特徴とする付記1〜8のいずれか一つに記載に振り分け制御プログラム。
【0485】
(付記10)前記要求通知手段は、前記ルールの変更を同時に実行する時刻を前記対向側振り分け装置へ通知することを特徴とする付記9に記載の振り分け制御プログラム。
【0486】
(付記11)トラヒックを振り分け先装置群へ振り分ける振り分けルールの変更要求を受け、前記トラヒックのセッションが、ルール変更要求前に確立した既存セッションであるのか、ルール変更要求後に確立した新規セッションであるのかを判断するセッション判断手段と、
前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け手段と、
を備えたことを特徴とする振り分け制御装置。
【0487】
(付記12)前記セッション判断手段は、前記ルール変更要求後に確立した前記新規セッションを識別するための新規セッション識別子を保持しておき、該新規セッション識別子と前記トラヒックに含まれるセッション識別子とを照合することにより、前記判断を行うことを特徴とする付記11に記載の振り分け制御装置。
【0488】
(付記13)前記既存セッションが正常終了してから、前記ルール変更要求前の振り分けルールと前記ルール変更要求後の振り分けルールとを併用する併用期間を終了させる併用期間設定手段、を備えたことを特徴とする付記11または12に記載の振り分け制御装置。
【0489】
(付記14)前記併用期間設定手段は、前記既存セッションに対応するトラヒックの到着間隔を計時し、該到着間隔が設定時間になった場合に前記既存セッションが正常終了したとして、前記併用期間を終了させることを特徴とする付記13に記載の振り分け制御装置。
【0490】
(付記15)前記併用期間設定手段は、前記ルール変更要求を受けてから所定時間経過後に、前記併用期間を終了させることを特徴とする付記13に記載の振り分け制御装置。
【0491】
(付記16)前記セッション判断手段は、前記ルール変更要求後で生じた前記トラヒックについて、前記ルール変更要求前の振り分けルールが適用された振り分け先と、前記ルール変更要求後の振り分けルールが適用された振り分け先とが同一である場合、前記判断を行わず、前記振り分け手段は、前記同一である場合、前記ルール変更要求後の振り分けルールが適用された振り分け先に基づいて、前記トラヒックを前記振り分け先装置群へ振り分けることを特徴とする付記11〜15のいずれか一つに記載の振り分け制御装置。
【0492】
(付記17)前記振り分けルールは、トラヒックをランダムに振り分けるランダムルールであり、前記ルール変更要求前のランダムルールに従って最初に振り分けられた前記既存セッションに対応するトラヒックに関する既存セッション振り分け先情報と、前記ルール変更要求後のランダムルールに従って最初に振り分けられた前記新規セッションに対応するトラヒックに関する新規セッション振り分け先情報とを保持する振り分け先情報保持手段とを備え、前記振り分け手段は、前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記既存セッション振り分け先情報に基づいて、前記既存セッションに対応するトラヒックを振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記新規セッション振り分け先情報に基づいて、前記新規セッションに対応するトラヒックを振り分けることを特徴とする付記11〜16のいずれか一つに記載の振り分け制御装置。
【0493】
(付記18)前記ルール変更要求が連続的にあった場合、先のルール変更要求に対応する処理を実行させ、後のルール変更要求を保持しておき、前記先のルール変更要求に対応する処理が終了した後、前記後のルール変更要求に対応する処理を実行させる制御手段、を備えたことを特徴とする付記11〜17のいずれか一つに記載の振り分け制御装置。
【0494】
(付記19)前記振り分け先装置群を挟んで対向側に設けられた対向側振り分け装置へ前記ルールを変更するための要求を通知する要求通知手段、を備えたことを特徴とする付記11〜18のいずれか一つに記載に振り分け制御装置。
【0495】
(付記20)前記要求通知手段は、前記ルールの変更を同時に実行する時刻を前記対向側振り分け装置へ通知することを特徴とする付記19に記載の振り分け制御装置。
【0496】
(付記21)トラヒックを振り分け先装置群へ振り分ける振り分けルールの変更要求を受け、前記トラヒックのセッションが、ルール変更要求前に確立した既存セッションであるのか、ルール変更要求後に確立した新規セッションであるのかを判断するセッション判断工程と、
前記セッション判断工程により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け工程と、
を含むことを特徴とする振り分け制御方法。
【0497】
(付記22)前記セッション判断工程では、前記ルール変更要求後に確立した前記新規セッションを識別するための新規セッション識別子を保持しておき、該新規セッション識別子と前記トラヒックに含まれるセッション識別子とを照合することにより、前記判断を行うことを特徴とする付記21に記載の振り分け制御方法。
【0498】
(付記23)前記既存セッションが正常終了してから、前記ルール変更要求前の振り分けルールと前記ルール変更要求後の振り分けルールとを併用する併用期間を終了させる併用期間設定工程、を含むことを特徴とする付記21または22に記載の振り分け制御方法。
【0499】
(付記24)前記併用期間設定工程では、前記既存セッションに対応するトラヒックの到着間隔を計時し、該到着間隔が設定時間になった場合に前記既存セッションが正常終了したとして、前記併用期間を終了させることを特徴とする付記23に記載の振り分け制御方法。
【0500】
(付記25)前記併用期間設定工程では、前記ルール変更要求を受けてから所定時間経過後に、前記併用期間を終了させることを特徴とする付記23に記載の振り分け制御方法。
【0501】
(付記26)前記セッション判断工程では、前記ルール変更要求後で生じた前記トラヒックについて、前記ルール変更要求前の振り分けルールが適用された振り分け先と、前記ルール変更要求後の振り分けルールが適用された振り分け先とが同一である場合、前記判断を行わず、前記振り分け工程では、前記同一である場合、前記ルール変更要求後の振り分けルールが適用された振り分け先に基づいて、前記トラヒックを前記振り分け先装置群へ振り分けることを特徴とする付記21〜25のいずれか一つに記載の振り分け制御方法。
【0502】
(付記27)前記振り分けルールは、トラヒックをランダムに振り分けるランダムルールであり、前記ルール変更要求前のランダムルールに従って最初に振り分けられた前記既存セッションに対応するトラヒックに関する既存セッション振り分け先情報と、前記ルール変更要求後のランダムルールに従って最初に振り分けられた前記新規セッションに対応するトラヒックに関する新規セッション振り分け先情報とを保持する振り分け先情報保持工程とを含み、前記振り分け工程では、前記セッション判断工程により、前記セッションが前記既存セッションであると判断された場合、前記既存セッション振り分け先情報に基づいて、前記既存セッションに対応するトラヒックを振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記新規セッション振り分け先情報に基づいて、前記新規セッションに対応するトラヒックを振り分けることを特徴とする付記21〜26のいずれか一つに記載の振り分け制御方法。
【0503】
(付記28)前記ルール変更要求が連続的にあった場合、先のルール変更要求に対応する処理を実行させ、後のルール変更要求を保持しておき、前記先のルール変更要求に対応する処理が終了した後、前記後のルール変更要求に対応する処理を実行させる制御工程、を含むことを特徴とする付記21〜27のいずれか一つに記載の振り分け制御方法。
【0504】
(付記29)前記振り分け先装置群を挟んで対向側に設けられた対向側振り分け装置へ前記ルールを変更するための要求を通知する要求通知工程、を含むことを特徴とする付記21〜28のいずれか一つに記載に振り分け制御方法。
【0505】
(付記30)前記要求通知工程では、前記ルールの変更を同時に実行する時刻を前記対向側振り分け装置へ通知することを特徴とする付記29に記載の振り分け制御方法。
【0506】
【発明の効果】
以上説明したように、本発明によれば、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更のセッション切断を防ぐことができるという効果を奏する。
【0507】
また、本発明によれば、ルール変更要求前の振り分けルールが適用された振り分け先と、ルール変更要求後の振り分けルールが適用された振り分け先とが同一である場合の振り分け処理を高速化することができるという効果を奏する。
【0508】
また、本発明によれば、ランダムルールであってもセッション単位でトラヒックを振り分けることができるという効果を奏する。
【0509】
また、本発明によれば、複数の要求を順次処理することができるので、頻繁なルール変更に対応することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる実施の形態1が適用される負荷分散システムの構成を示すブロック図である。
【図2】図1に示した振り分け装置300の構成を示すブロック図である。
【図3】同実施の形態1におけるメンテナンス要求(パケット)のフォーマットおよび例を示す図である。
【図4】同実施の形態1の動作原理を説明する図である。
【図5】本発明にかかる実施の形態1〜6で適用される振り分けルールを示す図である。
【図6】図2に示した新規セッション識別子データベース304のテーブル構造を示す図である。
【図7】同実施の形態1の動作原理を説明する図である。
【図8】同実施の形態1におけるパケット種別と振り分けルールとの対応関係を説明する図である。
【図9】同実施の形態1〜6が適用される負荷分散システムの動作を説明するシーケンス図である。
【図10】図2に示したクライアント側パケット受信部301の動作を説明するフローチャートである。
【図11】図2に示したメンテナンス/通常状態切替部302の動作を説明するフローチャートである。
【図12】図2に示した新規/既存セッション判断部303の動作を説明するフローチャートである。
【図13】図12および図20に示したメンテナンス状態処理を説明するフローチャートである。
【図14】図2に示した新ルール適用部306および旧ルール適用部305の動作を説明するフローチャートである。
【図15】図2に示した振り分け先決定部307の動作を説明するフローチャートである。
【図16】図2に示したサーバ側パケット送信部308の動作を説明するフローチャートである。
【図17】本発明にかかる実施の形態2が適用される負荷分散システムの構成を示すブロック図である。
【図18】図17に示した振り分け装置700の構成を示すブロック図である。
【図19】同実施の形態2におけるルールBを示す図である。
【図20】図18に示した新規/既存セッション判断部701の動作を説明するフローチャートである。
【図21】図18に示した新ルール適用部703および旧ルール適用部702の動作を説明するフローチャートである。
【図22】図18に示した振り分け先比較部705の動作を説明するフローチャートである。
【図23】図18に示した振り分け先決定部704の動作を説明するフローチャートである。
【図24】本発明にかかる実施の形態3が適用される負荷分散システムの構成を示すブロック図である。
【図25】図24に示した振り分け装置800の構成を示すブロック図である。
【図26】図25に示した振り分け先情報保持部803のテーブル構造を示す図である。
【図27】図25に示した新ルール適用部802および旧ルール適用部801の動作を説明するフローチャートである。
【図28】本発明にかかる実施の形態4が適用される負荷分散システムの構成を示すブロック図である。
【図29】図28に示した振り分け装置900の構成を示すブロック図である。
【図30】図29に示したメンテナンス要求制御部902の動作を説明するフローチャートである。
【図31】本発明にかかる実施の形態5が適用される負荷分散システムの構成を示すブロック図である。
【図32】図31に示した振り分け装置1000の構成を示すブロック図である。
【図33】図32に示したメンテナンス/通常状態切替部1001の動作を説明するフローチャートである。
【図34】図32に示した終了タイミング測定部1002の動作を説明するフローチャートである。
【図35】本発明にかかる実施の形態6が適用される負荷分散システムの構成を示すブロック図である。
【図36】図35に示した振り分け装置1100の構成を示すブロック図である。
【図37】図36に示したクライアント側パケット受信部1101の動作を説明するフローチャートである。
【図38】図36に示したメンテナンス要求制御部1103の動作を説明するフローチャートである。
【図39】同実施の形態1〜6の変形例の構成を示すブロック図である。
【図40】従来のスター型の負荷分散システムの構成を示すブロック図である。
【符号の説明】
1001 、1002 クライアント
300 振り分け装置
301 クライアント側パケット受信部
302 メンテナンス/通常状態切替部
303 新規/既存セッション判断部
305 旧ルール適用部
306 新ルール適用部
307 振り分け先決定部
501 高位レイヤ装置群
601 サーバ群
700 振り分け装置
701 新規/既存セッション判断部
702 旧ルール適用部
703 新ルール適用部
704 振り分け先決定部
705 振り分け先比較部
800 振り分け装置
801 旧ルール適用部
802 新ルール適用部
900 振り分け装置
901 クライアント側パケット受信部
902 メンテナンス要求制御部
1000 振り分け装置
1001 メンテナンス/通常状態切替部
1002 終了タイミング測定部
1100 振り分け装置
1101 クライアント側パケット受信部
1102 メンテナンス要求パケット送信部
1103 メンテナンス要求制御部
1104 同期タイミング測定部
1200 振り分け装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distribution control device used in a load distribution system, and more particularly to a distribution control device having a load distribution function for distributing traffic to a distribution destination.
[0002]
[Prior art]
In recent years, network services using Internet technology have become widespread. Internet service providers are required to stably cope with unexpected and sudden increase in users / traffic.
[0003]
In particular, when operating e-commerce / virtual stores, service stoppages such as poor response and abnormal communication (the contents of a shopping cart disappear during a shopping operation) can cause discomfort to service users and provide trust to service providers. This causes serious problems such as lowering the degree.
[0004]
Here, as a general method for the service provider to cope with the increase in users / traffic, a method of distributing the processing load by adding more content servers / network devices and scalability that can immediately expand the network The method etc. of ensuring are mentioned.
[0005]
In addition, in a distribution device that distributes packets to a content server / network device, it is an indispensable condition to distribute packets faster than the processing speed of the distribution destination (content server / network device).
[0006]
Conventionally, a server load distribution device, a firewall device, a cache device, or the like has been used as the network device that is the distribution destination. The server load distribution device is a device that distributes a server load according to an HTTP (Hyper Text Transfer Protocol) message. The firewall device is a device that detects a virus using an HTTP message such as SYN flood / Nimda. The cache device is a device that returns cache contents according to the requested content.
[0007]
Such network devices (server load distribution device, firewall device, cache device, etc.) manage traffic sessions (communication exchanges).
[0008]
Here, hereinafter, a network device that manages a traffic session is referred to as a higher layer device, and a case where a TCP (Transport Control Protocol) session / connection is handled as an example of the session will be described.
[0009]
For details of TCP, please refer to RFC793 (basic specification of TCP) and literature (eg "TCP / IP Illustrated, Volume 1: The Protocols", W. Richard Stevens).
[0010]
Conventionally, there are three types of load distribution systems for distributing packets to a plurality of higher layer devices and realizing load distribution: a star type, a copy (multicast) type, and a redirect (master / slave) type. Can be mentioned.
[0011]
FIG. 40 is a block diagram showing a configuration of the above-described conventional star-type load distribution system. In this figure, the
[0012]
The
[0013]
Here, the
[0014]
Higher layer device 501~ 50ThreeAre network devices that serve as packet distribution destinations in the
[0015]
For example, the higher layer device 501Manages sessions 1_1,... Higher layer device 502Manages sessions 2_1,... Higher layer device 50ThreeManages sessions 3_1,...
[0016]
Here, the higher layer apparatus 501The
[0017]
Also, the higher layer device 50ThreeThe
[0018]
Next, the operation of the conventional star-type load distribution system shown in FIG. 40 will be described. In the following, the client 101A case in which
[0019]
First,
[0020]
As a result, the
[0021]
Subsequently, the
[0022]
Subsequently, the
[0023]
The
[0024]
Here, in the maintenance of the load distribution system shown in FIG. 40, a situation occurs in which, for example, a higher layer device is added or a higher layer device as a distribution destination is changed in order to improve the processing performance of the entire system.
[0025]
In such a situation, the configuration of the higher
[0026]
For example, in the
[0027]
[Patent Document 1]
JP 2000-112909 A
[Patent Document 2]
JP 2002-183106 A
[0028]
[Problems to be solved by the invention]
By the way, as described above, in the conventional load distribution system (see FIG. 40), when the distribution-destination high-level layer device for the same traffic is changed due to the change of the distribution rule in the
[0029]
In the following, in the session 1_1 shown in FIG.1Packet 1 transmitted from the higher layer device 50 according to the
[0030]
In this case, after changing the distribution rule, the
[0031]
However, the higher layer device 502Then, since the information of the session 1_1 is not held, the
[0032]
Here, as a method for avoiding the disconnection of the session, the higher layer device 50 may be used.1~ 50ThreeBy exchanging session information between each other, it is possible to achieve session matching so that the higher layer device that is the distribution destination in the new rule can maintain the state of the session under the old rule.
[0033]
However, this method has a serious drawback in that, when exchanging session information, the processing load of the higher layer device is increased and the network bandwidth between the higher layer devices is consumed unnecessarily.
[0034]
The present invention has been made in view of the above, and provides a distribution control device capable of preventing session disconnection when a distribution rule is changed without increasing the processing load of a traffic distribution destination and the consumption of network bandwidth. For the purpose.
[0035]
[Means for Solving the Problems]
In order to achieve the above object, the present invention receives a request for changing a distribution rule for distributing traffic to a distribution destination device group, and determines whether the traffic session is an existing session established before the rule change request. A session determining means for determining whether the session is a new session established later; and when the session determining means determines that the session is the existing session, the traffic is distributed according to a distribution rule before the rule change request. A distribution unit that distributes traffic to the destination device group, on the other hand, when it is determined that the session is the new session, according to a distribution rule after the rule change request; Features.
[0036]
According to the present invention, it is possible to prevent session disconnection for changing the distribution rule without increasing the processing load of the traffic distribution destination and the consumption of the network bandwidth.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
[0038]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a load distribution system to which the first exemplary embodiment of the present invention is applied. In the load balancing system shown in FIG.1And client 1002Is a computer device that is connected to the
[0039]
Client 1001Is assigned an IP address <101.0.0.1>. In addition, the client 1002Is assigned an IP address <102.0.0.1>.
[0040]
The
[0041]
Specifically, the
[0042]
The
[0043]
This maintenance request packet has the format shown in FIG. 3A (sorting rule type, necessary parameters, and higher layer device list). An example of the maintenance request is as shown in FIG.
[0044]
Here, in the
[0045]
Returning to FIG. 1, the higher layer apparatus 5001~ 500ThreeAre network devices that serve as packet distribution destinations in the
[0046]
Here, the higher layer apparatus 5001The
[0047]
Also, the higher layer apparatus 5001~ 500ThreeFrom the server group 601 to the client 1001And 1002The source IP address is rewritten to the representative IP address <200.0.0.10> of the higher
[0048]
Therefore, the
[0049]
Further, as another configuration, the higher layer apparatus 5001~ 500ThreeBut the client 1001And 1002The source IP address may be rewritten to the IP address <200.0.0.1-3> of each higher layer device and transmitted.
[0050]
In this case, the
[0051]
In the following, communication between the higher
[0052]
FIG. 2 is a block diagram illustrating a configuration of the
[0053]
The client side
[0054]
Further, when receiving the packet of the maintenance request (see FIG. 3A), the client-side
[0055]
Further, the client side
[0056]
As shown in FIG. 4, the maintenance / normal
[0057]
On the other hand, when a maintenance end signal is received from a
[0058]
Here, as shown in FIG. 4, when the
[0059]
Here, examples of the packet distribution rule include <Rule A>, <Rule B>, and <Rule C> shown in FIGS. 5A, 5B, and 5C.
[0060]
For example, when <Rule A> is applied, the client 1001Packets from the higher layer apparatus 500 are distributed by the distribution apparatus 300.ThreeBe distributed to. In addition, the client 1002Packets from the higher layer apparatus 500 are distributed by the distribution apparatus 300.2Be distributed to.
[0061]
In the example shown in FIG. 4, when maintenance is started when the device state is the normal state and the rule A (normal rule) is used, the device state is changed from the normal state to the maintenance state. In this maintenance state, the rule A is set as the old rule, and the rule B as the new rule is set.
[0062]
In this maintenance state, rule A (old rule) and rule B (new rule) are used together until packet communication in session (1) (existing session) corresponding to rule A ends, and session (1) (existing session). Packets (intermediate packet, end packet) corresponding to (session) are distributed according to rule A (old rule).
[0063]
On the other hand, packets (start packet, intermediate packet) corresponding to session (2) (new session) newly established in the maintenance state are distributed according to rule B (new rule).
[0064]
Here, in the session, for example, three types of packets are transmitted: a start packet, an intermediate packet, and an end packet. The start packet has the SYN flag set to ON, and is distinguished from other midway packets and end packets (SYN flag set to OFF).
[0065]
Thus, by providing a combined period in which the new rule and the old rule are used together until all existing sessions are completed when the distribution rule is changed, it is possible to prevent the session from being disconnected when the distribution rule is changed.
[0066]
In the next normal state, rule A (old rule) is not used, rule B is changed from the new rule to a normal rule, and a packet (end packet) corresponding to session {circle around (2)} is rule B (normal rule). According to the distribution.
[0067]
In the next maintenance state, the rule B is set as the old rule, and the rule C as the new rule is set.
[0068]
In this maintenance state, rule B (old rule) and rule C (new rule) are used together until packet communication in session (3) (existing session) corresponding to rule B ends, and session (3) (existing) Packets (intermediate packet, end packet) corresponding to session) are distributed according to rule B (old rule).
[0069]
On the other hand, the packet (start packet) corresponding to the session (4) (new session) newly established in the maintenance state is distributed according to the rule C (new rule).
[0070]
Also, in the next normal state, rule B (old rule) is not used, rule C is changed from the new rule to the normal rule, and packets (intermediate packet, end packet) corresponding to session (4) are rule C ( Sorted according to normal rules).
[0071]
As described above, the
[0072]
-Normal state: Sort according to the rule before the change of the distribution rule ("normal rule").
・ Maintenance status: Packets corresponding to sessions that have been started before maintenance (existing sessions) are distributed according to the “old rules”.
A packet corresponding to a session (new session) established in the maintenance state is distributed by the “new rule”.
[0073]
Here, in order to prevent the session from being disconnected when the distribution rule is changed, it is necessary to confirm the start and end of each session and the time (= new or existing). For this purpose, all the states of the session start / end / must be identified. If such identification processing is performed for all sessions, the processing load increases, and it is difficult to realize a high-speed distribution device.
[0074]
Therefore, the
[0075]
Returning to FIG. 2, the maintenance / normal
[0076]
The new / existing
[0077]
In addition, the new / existing
[0078]
As shown in FIG. 6, the new
[0079]
“Source IP address” is the source of the packet (client 1001, 1002). The “transmission source port number” is the port number of the transmission source. The “transmission destination IP address” is a representative IP address of the transmission destination (higher layer apparatus group 501). “Destination port number” is the port number of the destination.
[0080]
Further, as shown in FIG. 7, when the maintenance is started, the new session identifiers extracted from the start packet (“source IP address”, “source port number”, “destination IP address”, and “destination port number”) ]) Is added to the new
[0081]
At the end of maintenance, the entry (new session identifier) is deleted from the new
[0082]
Returning to FIG. 2, when the received packet data is passed from the client side
[0083]
When receiving the received packet data from the client-side
[0084]
In addition, when the distribution rule is passed from the client side
[0085]
The distribution
[0086]
FIG. 8 is a diagram for explaining the correspondence between the packet type and the distribution rule in the first embodiment. In this figure, when the packet type is a start packet, an intermediate packet or an end packet (see FIG. 4), the device state is a maintenance state, and the session type is a new session, the new rule is applied as a distribution rule.
[0087]
Further, when the packet type is an in-progress packet or an end packet (see FIG. 4), the device state is a maintenance state, and the session type is an existing session, the old rule is applied as the distribution rule.
[0088]
Further, when the packet type is a start packet, an intermediate packet or an end packet (see FIG. 4), the device state is a normal state, and the session type is an existing session or a new session, the normal rule is applied as a distribution rule. In the first embodiment, the normal rule is stored in the new
[0089]
Returning to FIG. 2, the server-side
[0090]
The
[0091]
Each time the
[0092]
Next, the operation of the first embodiment will be described with reference to the sequence diagram shown in FIG. 9 and the flowcharts shown in FIGS. FIG. 9 is a sequence diagram for explaining the operation of the load distribution system shown in FIG.
[0093]
Here, it is assumed that <rule A> shown in FIG. 5A is set as the packet distribution rule in the old
[0094]
In the
[0095]
Here, in step SB1 shown in FIG. 10, the client side
[0096]
In step SC1 shown in FIG. 11, the maintenance / normal
[0097]
In step SC3, the maintenance / normal
[0098]
In step SD1 shown in FIG. 12, the new / existing
[0099]
In step SF1 shown in FIG. 14, each of the new
[0100]
In step SG1 shown in FIG. 15, the distribution
[0101]
In step SH1 shown in FIG. 16, the server-side
[0102]
(Distribution processing of
In the normal state, in step SA1 shown in FIG.1Transmits packet 1 in the existing
[0103]
In step SA2, the
[0104]
Thereby, the client side
[0105]
In step SB5, the client side
[0106]
When the received packet data (packet 1) is passed from the client side
[0107]
In step SD3, the new / existing
[0108]
When the received packet data (packet 1) is passed from the client side
[0109]
In this case, according to rule A (old rule), the client 1001Since the
[0110]
When the received packet data (packet 1) is passed from the client side
[0111]
In this case, according to the rule B (new rule), the client 1001Since the
[0112]
Then, the distribution destination (higher layer device 500) is transferred from the old rule application unit 305.ThreeIP address <200.0.0.3>) and the distribution destination (higher layer device 500) from the new rule application unit 3061) Is notified to the distribution
[0113]
In step SG2, the distribution
[0114]
In step SG5, the distribution
[0115]
When the received packet data is passed from the client side
[0116]
In step SH2, the server-side
[0117]
In step SH3, the server-side
[0118]
In step SH4, the server-side
[0119]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule (new rule) in the
[0120]
Thereby, the
[0121]
Thereby, the client side
[0122]
In step SB3, the client side
[0123]
Also, the new
[0124]
In step SB4, the client side
[0125]
When the maintenance start signal is received, the maintenance / normal
[0126]
In step SC3, the maintenance / normal
[0127]
(Distribution of
In the maintenance state, at step SA6 shown in FIG.1Transmits the
[0128]
In step SA7, the
[0129]
Thereby, the client side
[0130]
In step SB5, the client side
[0131]
When the received packet data (packet 3) is passed from the client side
[0132]
In step SD3, the new / existing
[0133]
Specifically, in step SE1 shown in FIG. 13, the new / existing
[0134]
In step SE2, the new / existing
[0135]
In step SE3, the new / existing
[0136]
In step SE7, the new / existing
[0137]
In step SE8, the new / existing
[0138]
When the received packet data (packet 3) is passed from the client side
[0139]
In this case, according to rule B (old rule), the client 1001
[0140]
When the received packet data (packet 3) is passed from the client side
[0141]
In this case, according to rule C (new rule), the client 1001
[0142]
Then, the distribution destination (higher layer device 500) is transferred from the old rule application unit 305.1IP address <200.0.0.1>) and the distribution destination (higher layer device 500) from the new
[0143]
In step SG2, the distribution
[0144]
In step SG3, the distribution
[0145]
In step SG4, the distribution
[0146]
When the received packet data is passed from the client side
[0147]
In step SH2, the server-side
[0148]
In step SH3, the server-
[0149]
In step SH4, the server-side
[0150]
(Distribution of
Then, in the maintenance state, in step SA9 shown in FIG.2Transmits a
[0151]
In step SA10, the
[0152]
Thereby, the client side
[0153]
In step SB5, the client side
[0154]
When the received packet data (packet 4) is passed from the client side
[0155]
In step SD3, the new / existing
[0156]
Specifically, in step SE1 shown in FIG. 13, the new / existing
[0157]
In step SE2, the new / existing
[0158]
In step SE3, the new / existing
[0159]
In step SE5, the new / existing
[0160]
In step SE6, the new / existing
[0161]
When the received packet data (packet 4) is passed from the client-side
[0162]
In this case, according to rule B (old rule), the client 1002Since the
[0163]
Further, when the received packet data (packet 4) is passed from the client side
[0164]
In this case, according to rule C (new rule), the client 1002Since the
[0165]
Then, the distribution destination (higher layer device 500) is transferred from the old rule application unit 305.1IP address <200.0.0.1>) and the distribution destination (higher layer device 500) from the new
[0166]
In step SG2, the distribution
[0167]
In step SG3, the distribution
[0168]
In step SG5, the distribution
[0169]
When the received packet data is passed from the client side
[0170]
In step SH2, the server-side
[0171]
In step SH3, the server-
[0172]
In step SH4, the server-side
[0173]
(Distribution of packet 5 in maintenance state)
Then, in the maintenance state, in step SA12 shown in FIG.2Transmits the packet 5 in the same
[0174]
In step SA13, the packet 5 is received by the client side
[0175]
Thereby, the client side
[0176]
In step SB5, the client side
[0177]
When the received packet data (packet 5) is passed from the client side
[0178]
In step SD3, the new / existing
[0179]
Specifically, in step SE1 shown in FIG. 13, the new / existing
[0180]
In step SE2, the new / existing
[0181]
In step SE6, the new / existing
[0182]
When the received packet data (packet 5) is passed from the client side
[0183]
In this case, according to rule B (old rule), the client 1002Since the packet 5 is received from the higher layer apparatus 500, the distribution destination of the packet 5 is1IP address <200.0.0.1>. In step SF3, the old
[0184]
When the received packet data (packet 5) is passed from the client side
[0185]
In this case, according to rule C (new rule), the client 1002Since the packet 5 is received from the higher layer apparatus 500, the distribution destination of the packet 5 is2IP address <200.0.0.2>. In step SF3, the new
[0186]
Then, the distribution destination (higher layer device 500) is transferred from the old rule application unit 305.1IP address <200.0.0.1>) and the distribution destination (higher layer device 500) from the new
[0187]
In step SG2, the distribution
[0188]
In step SG3, the distribution
[0189]
In step SG5, the distribution
[0190]
When the received packet data is passed from the client side
[0191]
In step SH2, the server-side
[0192]
In step SH3, the server-side
[0193]
In step SH4, the server-side
[0194]
When the countdown of the
[0195]
When the maintenance end signal is received, the maintenance / normal
[0196]
As a result, the new / existing
[0197]
(Distribution of packet 6 in normal state)
In the normal state, in step SA16 shown in FIG.2Transmits the packet 6 in the same
[0198]
In step SA17, the packet 6 is received by the client side
[0199]
Thereby, the client side
[0200]
In step SB5, the client side
[0201]
When the received packet data (packet 6) is passed from the client side
[0202]
In step SD3, the new / existing
[0203]
When the received packet data (packet 6) is passed from the client side
[0204]
In this case, according to rule B (old rule), the client 1002Since the packet 6 is received from the higher layer apparatus 500, the distribution destination of the packet 6 is1IP address <200.0.0.1>. In step SF3, the old
[0205]
When the received packet data (packet 6) is passed from the client side
[0206]
In this case, according to rule C (new rule), the client 1002Since the packet 6 is received from the higher layer apparatus 500, the distribution destination of the packet 6 is2IP address <200.0.0.2>. In step SF3, the new
[0207]
Then, the distribution destination (higher layer device 500) is transferred from the old rule application unit 305.1IP address <200.0.0.1>) and the distribution destination (higher layer device 500) from the new
[0208]
In step SG2, the distribution
[0209]
In step SG5, the distribution
[0210]
When the received packet data is passed from the client side
[0211]
In step SH2, the server-side
[0212]
In step SH3, the server-
[0213]
In step SH4, the server-side
[0214]
As described above, according to the first embodiment, in response to a maintenance request for changing a rule applied when traffic (packets) is distributed to the higher
[0215]
Further, according to the first embodiment, a new session identifier for identifying a new session established within the combined use period is stored in the new session identifier database 304 (see FIG. 6), and the new session identifier and traffic are stored in the new session identifier database 304 (see FIG. 6). Since the existing session or new session is determined by checking the included session identifier, the session when changing the distribution rule without increasing the processing load of the traffic distribution destination and the consumption of network bandwidth Cutting can be prevented.
[0216]
Further, according to the first embodiment, the
[0217]
(Embodiment 2)
In the first embodiment described above, a configuration example in which the apparatus state is the normal state and the new / existing session determination unit 303 (see FIG. 2) does not perform any processing on the received packet data (packet). As described above, the above process may not be executed even when the new rule distribution destination and the old rule distribution destination are the same. Hereinafter, this configuration example will be described as a second embodiment.
[0218]
FIG. 17 is a block diagram showing a configuration of a load distribution system to which the second exemplary embodiment of the present invention is applied. In this figure, parts corresponding to those in FIG. 1 are given the same reference numerals and explanation thereof is omitted. 17, a
[0219]
FIG. 18 is a block diagram showing a configuration of the
[0220]
In addition to the function of the new / existing session determination unit 303 (see FIG. 2), the new / existing
[0221]
When the client side
[0222]
When the client side
[0223]
The distribution
[0224]
Based on the comparison result from the device state (normal state / maintenance state), session state (new session / existing session), old rule distribution destination, new rule distribution destination, distribution
[0225]
Next, in the same manner as in the first embodiment, the client 100 shown in FIG.1And 1002And higher layer device 5001And 5002The operation when packet communication is performed in the sequence shown in FIG. 9 will be described.
[0226]
Here, in the second embodiment, in order to simplify the description, the rule B shown in FIG. 19 is used instead of the rule B (see FIG. 5B) used in the first embodiment. In the rule B shown in the figure, the underlined portion is a change point.
[0227]
The operation of the second embodiment in FIG. 9 is substantially the same as the operation of the first embodiment, but the difference in operation between the first and second embodiments in the case of
[0228]
Therefore, the distribution of the
[0229]
(Distribution of
In the maintenance state, in step SA9 shown in FIG.2Transmits a
[0230]
At this time, the rule B (see FIG. 19) is set in the old rule application unit 702. In the new
[0231]
Here, in step SI1 shown in FIG. 20, the new / existing
[0232]
Further, in step SJ1 shown in FIG. 21, the new
[0233]
Further, in step SJ1 shown in FIG. 21, the old rule applying unit 702 determines whether or not the received packet data is passed from the client side
[0234]
In step SK1 shown in FIG. 22, the distribution
[0235]
In step SL1 shown in FIG. 23, the distribution
[0236]
In step SA10 shown in FIG. 9, the
[0237]
Thereby, the client side
[0238]
In step SB5, the client side
[0239]
When the received packet data (packet 4) is passed from the client side
[0240]
When the received packet data (packet 4) is passed from the client side
[0241]
In this case, according to rule B (old rule), the client 1002Since the
[0242]
When the received packet data (packet 4) is passed from the client side
[0243]
In this case, according to rule C (new rule), the client 1002Since the
[0244]
Then, the new
[0245]
In step SK2, the distribution
[0246]
In step SK3, the distribution
[0247]
If the determination result in step SK3 is “No”, in step SK5, the distribution
[0248]
As a result, the new / existing
[0249]
As described above, when the apparatus state is the maintenance state and the distribution destinations are the same, the new / existing
[0250]
If the determination result in step SI3 is “No”, steps SI4 to SI6 are executed in the same manner as in steps SD2 to SD4 (see FIG. 12).
[0251]
The distribution destination from the old rule application unit 702 (higher layer device 500)2IP address <200.0.0.2>) and the distribution destination from the new rule application unit 703 (higher layer device 500)2, IP address <200.0.0.2>) is notified to the distribution
[0252]
In step SL2, the distribution
[0253]
In step SL3, the distribution
[0254]
In step SL6, the distribution
[0255]
When the received packet data is passed from the client side
[0256]
In step SH2, the server-side
[0257]
In step SH3, the server-
[0258]
In step SH4, the server-side
[0259]
On the other hand, when the determination result in step SL3 shown in FIG. 23 is “No”, in step SL4, the distribution
[0260]
On the other hand, if the determination result in step SL4 is “Yes”, in step SL5, the distribution
[0261]
As described above, according to the second embodiment, for the traffic generated within the combined period, the comparison result from the distribution
[0262]
(Embodiment 3)
In the first embodiment described above, the configuration example in which the distribution rule (distribution destination fixed rule) in which the packet distribution destination is fixed has been described. For example, in the rule B shown in FIG.1When the start packet, the midway packet, and the end packet corresponding to the same session are sequentially received by the distribution device 300 (see FIG. 1), all of the start packet, the midway packet, and the end packet are included in the higher layer device 500.1Be distributed to.
[0263]
Here, as a packet distribution rule, in addition to the above-described distribution destination fixing rule, there is also a random rule that distributes packets at random.
[0264]
When this random rule is applied, when a start packet, an intermediate packet, and an end packet corresponding to the same session are sequentially received by the distribution device 300 (see FIG. 1), the start packet, the intermediate packet, and the end packet Since the distribution destination is determined at random, the distribution destination of each packet is different and session disconnection occurs.
[0265]
Therefore, even when the random rule is applied, it is necessary to have a configuration for randomly determining the distribution destination for each session and distributing the start packet, intermediate packet, and end packet corresponding to the same session to the same distribution destination. . Hereinafter, this configuration example will be described as a third embodiment.
[0266]
FIG. 24 is a block diagram showing a configuration of a load distribution system to which the third exemplary embodiment of the present invention is applied. In this figure, parts corresponding to those in FIG. 1 are given the same reference numerals and explanation thereof is omitted. In FIG. 24, a
[0267]
FIG. 25 is a block diagram showing the configuration of the
[0268]
When receiving the received packet data from the client-side
[0269]
Further, when a packet of a session that has not been distributed in the past (in this case, a start packet) is received, the old
[0270]
In the distribution destination information, “transmission source IP address”, “transmission source port number”, “transmission destination IP address”, and “transmission destination port number” are the session identifiers stored in the new
[0271]
The “distribution rule” is a distribution rule (random rule B ′ in the figure) applied to a packet of a session that has not been distributed in the past (in this case, a start packet). The “distribution destination IP address” is a distribution destination (higher layer device 500) determined by applying the “distribution rule”.1~ 500ThreeAny one of the higher layer devices).
[0272]
In addition, when a packet of a session that has been distributed in the past (in this case, an intermediate packet or an end packet) is received, the old
[0273]
When receiving the received packet data from the client-side
[0274]
Further, when a packet of a session that has not been distributed in the past (in this case, a start packet) is received, the new rule application unit 802 distributes the distribution destination of the start packet according to the new rule (random rule) After notifying the
[0275]
In addition, when a packet of a session that has been distributed in the past (in this case, a halfway packet or an end packet) is received, the new rule application unit 802 uses the distribution rule (new rule) and the session identifier as keys as a distribution destination. The distribution destination IP address is searched from the
[0276]
Next, in the same manner as in the first embodiment, the client 100 shown in FIG.1And 1002And higher layer device 5001And 5002The operation when packet communication is performed in the sequence shown in FIG. 9 will be described.
[0277]
In the operation of the third embodiment in FIG. 9, a case where packets are randomly distributed in session units will be described. Specifically,
[0278]
Here, it is assumed that <Random Rule A '> (not shown) is set as the packet distribution rule in the old
[0279]
Further, in the
[0280]
In step SM1 shown in FIG. 27, each of the new rule application unit 802 and the old
[0281]
(Distribution processing of packet 1 (start packet) in normal state)
In the normal state, in step SA1 shown in FIG.1Transmits packet 1 (start packet) in the existing
[0282]
In step SA2, packet 1 (start packet) is received by the client-
[0283]
Thereby, the client side
[0284]
In step SB5, the client side
[0285]
When the received packet data (packet 1 (start packet)) is passed from the client side
[0286]
In step SD3, the new / existing
[0287]
When the received packet data (packet 1 (start packet)) is passed from the client side
[0288]
In step SM2, the old
[0289]
In step SM3, the old
[0290]
In step SM5, the old
[0291]
When the received packet data (packet 1 (start packet)) is passed from the client side
[0292]
In step SM2, the new rule application unit 802 uses the currently set distribution rule (in this case, the random rule B ′) and the session identifier included in the packet 1 (start packet) as keys, and the distribution destination
[0293]
In step SM3, the new rule application unit 802 determines whether there is an entry in the distribution destination
[0294]
In step SM5, the new rule application unit 802 adds an entry (distribution destination information) corresponding to the “distribution rule” (random rule B ′) illustrated in FIG. 26 to the distribution destination
[0295]
The distribution destination from the old rule application unit 801 (higher layer device 500)ThreeIP address <200.0.0.3>) and the distribution destination from the new rule application unit 802 (higher layer device 500)1) Is notified to the distribution
[0296]
In step SG2, the distribution
[0297]
In step SG5, the distribution
[0298]
When the received packet data is passed from the client side
[0299]
In step SH2, the server-side
[0300]
In step SH3, the server-
[0301]
In step SH4, the server-side
[0302]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the
[0303]
As a result, the
[0304]
Thereby, the client side
[0305]
In step SB3, the client side
[0306]
Further, the new rule application unit 802 notifies the old
[0307]
In step SB4, the client side
[0308]
When the maintenance start signal is received, the maintenance / normal
[0309]
In step SC3, the maintenance / normal
[0310]
(Distribution of
In the maintenance state, at step SA6 shown in FIG.1Transmits packet 3 (end packet) in the same existing
[0311]
In step SA7, the packet 3 (end packet) is received by the client side
[0312]
Thereby, the client side
[0313]
In step SB5, the client side
[0314]
When the received packet data (packet 3 (end packet)) is passed from the client side
[0315]
In step SD3, the new / existing
[0316]
Specifically, in step SE1 shown in FIG. 13, the new / existing
[0317]
In step SE2, the new / existing
[0318]
In step SE3, the new / existing
[0319]
In step SE7, the new / existing
[0320]
In step SE8, the new / existing
[0321]
When the received packet data (packet 3 (end packet)) is passed from the client side
[0322]
In step SM2, the old
[0323]
In this case, the distribution destination
[0324]
In step SM3, the old
[0325]
In step SM6, the old
[0326]
When the received packet data (packet 3 (end packet)) is passed from the client side
[0327]
In step SM2, the new rule applying unit 802 uses the currently set distribution rule (in this case, the random rule B ′) and the session identifier included in the packet 3 (end packet) as keys, and the distribution destination
[0328]
In step SM3, the new rule application unit 802 determines whether there is an entry in the distribution destination
[0329]
In step SM5, the new rule application unit 802 adds an entry (distribution destination information) corresponding to the “distribution rule” (random rule C ′) illustrated in FIG. 26 to the distribution destination
[0330]
The distribution destination from the old rule application unit 801 (higher layer device 500)1IP address <200.0.0.1>) and the distribution destination from the new rule application unit 802 (higher layer device 500)2Are assigned to the distribution
[0331]
In step SG2, the distribution
[0332]
In step SG3, the distribution
[0333]
In step SG4, the distribution
[0334]
When the received packet data is passed from the client side
[0335]
In step SH2, the server-side
[0336]
In step SH3, the server-
[0337]
In step SH4, the server-side
[0338]
(Distribution of packet 4 (start packet) in maintenance state)
Then, in the maintenance state, in step SA9 shown in FIG.2Transmits a packet 4 (start packet) in a
[0339]
In step SA10, the packet 4 (start packet) is received by the client side
[0340]
Thereby, the client side
[0341]
In step SB5, the client side
[0342]
When the received packet data (packet 4 (start packet)) is passed from the client-side
[0343]
In step SD3, the new / existing
[0344]
Specifically, in step SE1 shown in FIG. 13, the new / existing
[0345]
In step SE2, the new / existing
[0346]
In step SE3, the new / existing
[0347]
In step SE5, the new / existing
[0348]
In step SE6, the new / existing
[0349]
When the received packet data (packet 4 (start packet)) is passed from the client side
[0350]
In step SM2, the old
[0351]
In step SM3, the old
[0352]
In step SM5, the old
[0353]
When the received packet data (packet 4 (start packet)) is passed from the client side
[0354]
In step SM2, the new rule application unit 802 uses the currently set distribution rule (in this case, the random rule C ′) and the session identifier included in the packet 4 (start packet) as keys, and the distribution destination
[0355]
In step SM3, the new rule application unit 802 determines whether there is an entry in the distribution destination
[0356]
In step SM5, the new rule application unit 802 adds an entry (distribution destination information) corresponding to the “distribution rule” (random rule C ′) illustrated in FIG. 26 to the distribution destination
[0357]
The distribution destination from the old rule application unit 801 (higher layer device 500)1IP address <200.0.0.1>) and the distribution destination from the new rule application unit 802 (higher layer device 500)2Are assigned to the distribution
[0358]
In step SG2, the distribution
[0359]
In step SG3, the distribution
[0360]
In step SG4, the distribution
[0361]
When the received packet data is passed from the client side
[0362]
In step SH2, the server-side
[0363]
In step SH3, the server-
[0364]
In step SH4, the server-side
[0365]
(Distribution of packet 5 in maintenance state)
Then, in the maintenance state, in step SA12 shown in FIG.2Transmits packet 5 (intermediate packet) in the same
[0366]
In step SA13, the packet 5 (intermediate packet) is received by the client side
[0367]
Thereby, the client side
[0368]
In step SB5, the client side
[0369]
When the received packet data (packet 5 (intermediate packet)) is passed from the client side
[0370]
In step SD3, the new / existing
[0371]
Specifically, in step SE1 shown in FIG. 13, the new / existing
[0372]
In step SE2, the new / existing
[0373]
In step SE6, the new / existing
[0374]
When the received packet data (packet 5 (intermediate packet)) is passed from the client side
[0375]
In step SM2, the old
[0376]
In this case, the distribution destination
[0377]
In step SM3, the old
[0378]
In step SM6, the old
[0379]
When the received packet data (packet 5 (intermediate packet)) is passed from the client side
[0380]
In step SM2, the new rule application unit 802 uses the currently set distribution rule (in this case, the random rule C ′) and the session identifier included in the packet 5 (intermediate packet) as keys, and the distribution destination
[0381]
In this case, the distribution destination
[0382]
In step SM3, the new rule application unit 802 determines whether or not there is an entry in the distribution destination
[0383]
In step SM6, the new rule application unit 802 determines the distribution destination (higher layer device 500) from the distribution destination information.2IP address <200.0.0.2>) is acquired and the distribution destination is notified to the distribution
[0384]
The distribution destination from the old rule application unit 801 (higher layer device 500)1IP address <200.0.0.1>) and the distribution destination from the new rule application unit 802 (higher layer device 500)2Are assigned to the distribution
[0385]
In step SG2, the distribution
[0386]
In step SG3, the distribution
[0387]
In step SG4, the distribution
[0388]
When the received packet data is passed from the client side
[0389]
In step SH2, the server-side
[0390]
In step SH3, the server-
[0390]
In step SH4, the server-side
[0392]
When the countdown of the
[0393]
When the maintenance end signal is received, the maintenance / normal
[0394]
As a result, the new / existing
[0395]
(Distribution of packet 6 in normal state)
In the normal state, in step SA16 shown in FIG.2Transmits packet 6 (end packet) in the same
[0396]
In step SA17, the packet 6 (end packet) is received by the client side
[0397]
Thereafter, through the above-described operation, the packet 6 (end packet) corresponding to the
[0398]
As described above, according to the third embodiment, in the random rule, the distribution destination information of the distribution destination information of the old rule (existing session distribution destination information) and the distribution destination information of the new rule (new session distribution destination information). If the session is determined to be an existing session, the traffic corresponding to the existing session is allocated based on the existing session allocation destination information, while the session is a new session. If it is determined that the traffic corresponding to the new session is distributed based on the new session distribution destination information, the traffic can be distributed on a session basis even with the random rule.
[0399]
(Embodiment 4)
In the first embodiment described above, the configuration example in which the client-side
[0400]
FIG. 28 is a block diagram showing a configuration of a load distribution system to which the fourth exemplary embodiment of the present invention is applied. In this figure, parts corresponding to those in FIG. 1 are given the same reference numerals and explanation thereof is omitted. In FIG. 28, a
[0401]
FIG. 29 is a block diagram showing the configuration of the
[0402]
The client-side
[0403]
In addition, when receiving a maintenance request packet (see FIG. 3A) from the network administrator terminal 400 (see FIG. 28), the client-side
[0404]
When the maintenance
Further, the maintenance
[0405]
When the processing of the previous packet is completed, the maintenance
[0406]
Next, in the same manner as in the first embodiment, the client 100 shown in FIG.1And 1002And higher layer device 5001And 5002The operation when packet communication is performed in the sequence shown in FIG. 9 will be described.
[0407]
The operation of the fourth embodiment in FIG. 9 is almost the same as the operation of the first embodiment, but the difference in operation between the first and fourth embodiments in the case of the
[0408]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the
[0409]
Here, in step SN1 shown in FIG. 30, the maintenance
[0410]
Then, the
[0411]
The client side
[0412]
In
[0413]
When the maintenance start signal is received, the maintenance / normal
[0414]
In step SN3 shown in FIG. 30, the maintenance
[0415]
Also, the new
[0416]
Subsequently, a
[0417]
As described above, according to the fourth embodiment, when a maintenance request packet is continuously received by the client-side
[0418]
(Embodiment 5)
In the first embodiment described above, the configuration example in which the maintenance end signal is generated by the
[0419]
FIG. 31 is a block diagram showing a configuration of a load distribution system to which the fifth exemplary embodiment of the present invention is applied. In this figure, parts corresponding to those in FIG. 1 are given the same reference numerals and explanation thereof is omitted. In FIG. 31, a
[0420]
FIG. 32 is a block diagram showing the configuration of the
[0421]
32, instead of the maintenance / normal
[0422]
When the maintenance start signal is passed from the client side
[0423]
The maintenance / normal
[0424]
When the measurement start signal is passed from the maintenance / normal
[0425]
Next, in the same manner as in the first embodiment, the client 100 shown in FIG.1And 1002And higher layer device 5001And 5002The operation when packet communication is performed in the sequence shown in FIG. 9 will be described.
[0426]
The operation of the fifth embodiment in FIG. 9 is almost the same as the operation of the first embodiment, but the difference in operation between the first and fifth embodiments in the case of the
[0427]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the
[0428]
Here, in step SO1 shown in FIG. 33, the maintenance / normal
[0429]
In step SP1 shown in FIG. 34, the end
[0430]
Then, the
[0431]
The client side
[0432]
In step SO2, the maintenance / normal
[0433]
In step SO4, the maintenance / normal
[0434]
Further, when the measurement start signal is passed from the maintenance / normal
[0435]
When the determination result in step SP3 is “Yes”, in step SP4, the end
[0436]
Thereby, the maintenance / normal
[0437]
As described above, according to the fifth embodiment, the client side
[0438]
(Embodiment 6)
In the first embodiment described above, the client 100 is shown in FIG.1And 1002And a higher
[0439]
FIG. 35 is a block diagram showing a configuration of a load distribution system to which the sixth exemplary embodiment of the present invention is applied. In this figure, parts corresponding to those in FIG. 1 are given the same reference numerals and explanation thereof is omitted.
[0440]
35, a
[0441]
The
[0442]
The
[0443]
FIG. 36 is a block diagram showing a configuration of the
[0444]
36, a client side
[0445]
The client-side
[0446]
When the client side
[0447]
The maintenance request packet transmission unit 1102 has a function of transmitting a maintenance request packet passed from the client side
[0448]
When the maintenance
[0449]
The maintenance
[0450]
The synchronization
[0451]
The
[0452]
Next, in the same manner as in the first embodiment, the client 100 shown in FIG.1And 1002And higher layer device 5001And 5002The operation when packet communication is performed in the sequence shown in FIG. 9 will be described.
[0453]
The operation of the sixth embodiment in FIG. 9 is substantially the same as the operation of the first embodiment, but the difference in operation between the first and sixth embodiments in the case of the
[0454]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the
[0455]
Here, in step SQ1 shown in FIG. 37, the client-side
[0456]
In step SR1 shown in FIG. 38, the maintenance
[0457]
Then, the
[0458]
In step SA5 illustrated in FIG. 9, the
[0459]
In step SQ2, it is determined whether or not the
[0460]
In step SQ3, the client side
[0461]
The maintenance request packet transmission unit 1102 transmits the
[0462]
In step SR2, the maintenance
[0463]
Then, the synchronization
[0464]
Accordingly, the maintenance
[0465]
In step SR5, the maintenance
[0466]
Also, the new
[0467]
On the other hand, when the
[0468]
As described above, according to the sixth embodiment, the maintenance for changing the rule from the
[0469]
Further, according to the sixth embodiment, since the packet including the synchronization time for simultaneously executing the rule change is transmitted from the
[0470]
Although
[0471]
For example, in the first to sixth embodiments described above, the distribution device 300 (see FIG. 2), the distribution device 700 (see FIG. 18), the distribution device 800 (see FIG. 25), the distribution device 900 (see FIG. 29), the distribution A program for realizing the functions of the device 1000 (see FIG. 32), the sorting device 1100 (see FIG. 36), or the sorting device 1200 (see FIG. 35) is recorded on the computer-
[0472]
A
[0473]
The
[0474]
Further, in the first to sixth embodiments, the illustrated configuration is an example and is not intended to exclude other configurations, and a part of the illustrated configuration may be replaced with another or illustrated configuration Other configurations obtained by omitting a part of the above, adding another function to the illustrated configuration, combining them, and the like are also possible.
[0475]
In the first to sixth embodiments, another configuration that is logically equivalent to the illustrated configuration, another configuration that includes a portion that is logically equivalent to the illustrated configuration, and logical parts of the illustrated configuration are logically included. Other equivalent configurations are possible.
[0476]
(Appendix 1)
A session that receives a distribution rule change request for distributing traffic to a distribution destination device group, and determines whether the traffic session is an existing session established before the rule change request or a new session established after the rule change request Judgment means,
When the session determining means determines that the session is the existing session, traffic is distributed to the distribution destination device group according to a distribution rule before the rule change request, while the session is the new session. If it is determined, according to the distribution rule after the rule change request, a distribution means for distributing traffic to the distribution destination device group,
Distribution control program to function as
[0477]
(Supplementary Note 2) The session determination means holds a new session identifier for identifying the new session established after the rule change request, and collates the new session identifier with a session identifier included in the traffic. The distribution control program according to
[0478]
(Supplementary note 3) The computer functions as a combined period setting means for ending the combined period in which the distribution rule before the rule change request and the distribution rule after the rule change request are used together after the existing session is normally terminated The distribution control program according to
[0479]
(Supplementary note 4) The combined period setting means measures the arrival interval of traffic corresponding to the existing session, and terminates the combined period assuming that the existing session has ended normally when the arrival interval reaches a set time. The distribution control program according to
[0480]
(Supplementary note 5) The distribution control program according to
[0481]
(Appendix 6) The session determination means applies a distribution destination to which a distribution rule before the rule change request is applied and a distribution rule after the rule change request to the traffic generated after the rule change request. When the distribution destination is the same, the determination is not performed, and when the distribution destination is the same, the distribution unit distributes the traffic based on the distribution destination to which the distribution rule after the rule change request is applied. 6. The distribution control program according to any one of
[0482]
(Additional remark 7) The said distribution rule is a random rule which distributes traffic at random, The existing session distribution destination information regarding the traffic corresponding to the said existing session initially distributed according to the random rule before the said rule change request | requirement, and the said rule And distribution destination information holding means for holding new session distribution destination information related to traffic corresponding to the new session initially distributed according to the random rule after the change request, and the distribution means includes the session determination means, When it is determined that the session is the existing session, traffic corresponding to the existing session is distributed based on the existing session distribution destination information, while it is determined that the session is the new session. If, on the basis of the new session distribution destination information, distribution control program according to any one of
[0483]
(Additional remark 8) When the said rule change request | requirement was continuous, the process corresponding to a previous rule change request is performed, the subsequent rule change request is hold | maintained, and the process corresponding to the said previous rule change request The distribution control program according to any one of
[0484]
(Supplementary note 9) The computer is caused to function as a request notification unit that notifies a request for changing the rule to a counter-side distribution device provided on a side opposite to the distribution destination device group. The distribution control program according to any one of 1 to 8.
[0485]
(Supplementary note 10) The distribution control program according to supplementary note 9, wherein the request notification means notifies the opposing distribution device of the time at which the rule change is executed simultaneously.
[0486]
(Appendix 11) In response to a distribution rule change request for distributing traffic to a distribution destination device group, whether the traffic session is an existing session established before the rule change request or a new session established after the rule change request Session determination means for determining
When the session determining means determines that the session is the existing session, traffic is distributed to the distribution destination device group according to a distribution rule before the rule change request, while the session is the new session. When it is determined, according to the distribution rule after the rule change request, a distribution unit that distributes traffic to the distribution destination device group,
A distribution control device comprising:
[0487]
(Supplementary Note 12) The session determination unit holds a new session identifier for identifying the new session established after the rule change request, and collates the new session identifier with a session identifier included in the traffic. The distribution control device according to
[0488]
(Additional remark 13) It was provided with the combined period setting means to complete | finish the combined period which uses together the distribution rule before the said rule change request, and the distribution rule after the said rule change request, after the said existing session is completed normally 13. The distribution control device according to
[0489]
(Supplementary note 14) The combined period setting means measures the arrival interval of traffic corresponding to the existing session, and terminates the combined period assuming that the existing session has ended normally when the arrival interval reaches a set time. 14. The distribution control device according to
[0490]
(Supplementary note 15) The distribution control device according to
[0491]
(Supplementary Note 16) For the traffic generated after the rule change request, the session determination unit has applied a distribution destination to which a distribution rule before the rule change request is applied and a distribution rule after the rule change request is applied. When the distribution destination is the same, the determination is not performed, and when the distribution destination is the same, the distribution unit distributes the traffic based on the distribution destination to which the distribution rule after the rule change request is applied. The distribution control device according to any one of
[0492]
(Additional remark 17) The said distribution rule is a random rule which distributes traffic at random, The existing session distribution destination information regarding the traffic corresponding to the said existing session initially distributed according to the random rule before the said rule change request | requirement, and the said rule And distribution destination information holding means for holding new session distribution destination information related to traffic corresponding to the new session initially distributed according to the random rule after the change request, and the distribution means includes the session determination means, If it is determined that the session is the existing session, traffic corresponding to the existing session is distributed based on the existing session distribution destination information, while the session is determined to be the new session. When the new session based on the distribution destination information, distribution control apparatus according to any one of
[0493]
(Additional remark 18) When the said rule change request | requirement was continuously, the process corresponding to a previous rule change request is performed, the subsequent rule change request is hold | maintained, and the process corresponding to the said previous rule change request The distribution control device according to any one of
[0494]
(Supplementary note 19) Supplementary notes 11 to 18, further comprising request notifying means for notifying a request for changing the rule to the opposing distribution device provided on the opposite side across the distribution destination device group. The distribution control device according to any one of the above.
[0495]
(Supplementary note 20) The distribution control device according to supplementary note 19, wherein the request notifying unit notifies the opposing distribution device of times for simultaneously executing the rule change.
[0496]
(Appendix 21) In response to a distribution rule change request for distributing traffic to a distribution destination device group, whether the traffic session is an existing session established before the rule change request or a new session established after the rule change request A session determination process for determining
When the session determination step determines that the session is the existing session, traffic is distributed to the distribution destination device group according to a distribution rule before the rule change request, while the session is the new session If it is determined, according to the distribution rule after the rule change request, a distribution step of distributing traffic to the distribution destination device group,
A distribution control method comprising:
[0497]
(Supplementary Note 22) In the session determination step, a new session identifier for identifying the new session established after the rule change request is held, and the new session identifier is compared with the session identifier included in the traffic. 23. The distribution control method according to appendix 21, wherein the determination is performed as described above.
[0498]
(Supplementary Note 23) A combination period setting step of ending a combination period in which the distribution rule before the rule change request and the distribution rule after the rule change request are used together after the existing session is normally ended is included. The distribution control method according to appendix 21 or 22,
[0499]
(Supplementary Note 24) In the combined period setting step, the arrival interval of traffic corresponding to the existing session is measured, and when the arrival interval reaches a set time, the existing period ends normally, and the combined period ends. 24. The distribution control method according to attachment 23, wherein the distribution control method is performed.
[0500]
(Supplementary note 25) The distribution control method according to supplementary note 23, wherein, in the combined period setting step, the combined period is ended after a predetermined time has elapsed since the rule change request was received.
[0501]
(Supplementary note 26) In the session determination step, a distribution destination to which a distribution rule before the rule change request is applied and a distribution rule after the rule change request are applied to the traffic generated after the rule change request. If the distribution destination is the same, the determination is not performed, and in the distribution step, if the same, the traffic is routed to the distribution destination based on the distribution destination to which the distribution rule after the rule change request is applied. 26. The distribution control method according to any one of appendices 21 to 25, wherein the distribution control method distributes to a device group.
[0502]
(Supplementary note 27) The distribution rule is a random rule that distributes traffic at random, the existing session distribution destination information related to traffic corresponding to the existing session that is initially distributed according to the random rule before the rule change request, and the rule A distribution destination information holding step for holding new session distribution destination information related to traffic corresponding to the new session initially distributed according to the random rule after the change request, and in the distribution step, the session determination step, If it is determined that the session is the existing session, traffic corresponding to the existing session is distributed based on the existing session distribution destination information, while the session is determined to be the new session. If it is, on the basis of the new session distribution destination information, distribution control method according to any one of Appendices 21-26, characterized in that for distributing traffic corresponding to the new session.
[0503]
(Additional remark 28) When the said rule change request | requirement has been continuous, the process corresponding to a previous rule change request is performed, the subsequent rule change request is hold | maintained, and the process corresponding to the said previous rule change request 28. The distribution control method according to any one of appendices 21 to 27, further comprising: a control step of executing a process corresponding to the subsequent rule change request after completion of.
[0504]
(Additional remark 29) The request notification process of notifying the request | requirement for changing the said rule to the opposing distribution apparatus provided in the other side on both sides of the said allocation destination apparatus group of the additional remarks 21-28 characterized by the above-mentioned The distribution control method according to any one of the above.
[0505]
(Supplementary note 30) The distribution control method according to supplementary note 29, wherein, in the request notification step, the opposite side distribution device is notified of a time at which the rule change is executed simultaneously.
[0506]
【The invention's effect】
As described above, according to the present invention, it is possible to prevent session disconnection for changing a distribution rule without increasing the processing load of a traffic distribution destination and the consumption of network bandwidth.
[0507]
In addition, according to the present invention, it is possible to speed up the distribution process when the distribution destination to which the distribution rule before the rule change request is applied and the distribution destination to which the distribution rule after the rule change request is applied are the same. There is an effect that can be.
[0508]
In addition, according to the present invention, there is an effect that traffic can be distributed on a session basis even with a random rule.
[0509]
In addition, according to the present invention, since a plurality of requests can be processed sequentially, there is an effect that it is possible to cope with frequent rule changes.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a load distribution system to which a first embodiment according to the present invention is applied.
FIG. 2 is a block diagram showing a configuration of a
FIG. 3 is a diagram showing a format and an example of a maintenance request (packet) in the first embodiment.
FIG. 4 is a diagram for explaining the operation principle of the first embodiment.
FIG. 5 is a diagram showing a distribution rule applied in the first to sixth embodiments according to the present invention.
6 is a diagram showing a table structure of a new
FIG. 7 is a diagram for explaining the operation principle of the first embodiment.
FIG. 8 is a diagram for explaining a correspondence relationship between a packet type and a distribution rule in the first embodiment.
FIG. 9 is a sequence diagram for explaining the operation of the load distribution system to which the first to sixth embodiments are applied.
10 is a flowchart for explaining the operation of the client side
11 is a flowchart for explaining the operation of the maintenance / normal
12 is a flowchart for explaining the operation of a new / existing
13 is a flowchart illustrating the maintenance state process shown in FIGS. 12 and 20. FIG.
14 is a flowchart for explaining operations of a new
15 is a flowchart for explaining the operation of a distribution
16 is a flowchart for explaining the operation of the server-side
FIG. 17 is a block diagram showing a configuration of a load distribution system to which the second exemplary embodiment of the present invention is applied.
18 is a block diagram showing a configuration of a
FIG. 19 is a diagram showing a rule B in the second embodiment.
20 is a flowchart for explaining the operation of a new / existing
FIG. 21 is a flowchart for explaining operations of a new
22 is a flowchart for explaining the operation of a distribution
23 is a flowchart for explaining the operation of a distribution
FIG. 24 is a block diagram showing a configuration of a load distribution system to which the third exemplary embodiment of the present invention is applied.
25 is a block diagram showing a configuration of a
26 is a diagram showing a table structure of a distribution destination
27 is a flowchart for explaining operations of a new rule application unit 802 and an old
FIG. 28 is a block diagram showing a configuration of a load distribution system to which the fourth exemplary embodiment of the present invention is applied.
29 is a block diagram showing a configuration of a
30 is a flowchart for explaining the operation of the maintenance
FIG. 31 is a block diagram showing a configuration of a load distribution system to which a fifth embodiment according to the present invention is applied;
32 is a block diagram showing a configuration of a
33 is a flowchart for explaining the operation of the maintenance / normal
34 is a flowchart for explaining the operation of the end
FIG. 35 is a block diagram showing a configuration of a load distribution system to which a sixth embodiment according to the present invention is applied.
36 is a block diagram showing a configuration of the
FIG. 37 is a flowchart for explaining the operation of the client side
38 is a flowchart for explaining the operation of the maintenance
FIG. 39 is a block diagram showing a configuration of a modified example of the first to sixth embodiments.
FIG. 40 is a block diagram showing a configuration of a conventional star-type load distribution system.
[Explanation of symbols]
1001, 1002 client
300 Sorting device
301 Client side packet receiver
302 Maintenance / normal state switching unit
303 New / Existing Session Judgment Section
305 Old Rule Application Department
306 New Rule Application Department
307 Sorting destination determination unit
501 Higher layer device group
601 server group
700 Sorting device
701 New / Existing Session Judgment Section
702 Old Rule Application Department
703 New Rule Application Department
704 Distribution destination determination unit
705 Distribution comparison unit
800 Sorting device
801 Old Rule Application Department
802 New Rule Application Department
900 Sorting device
901 Client side packet receiver
902 Maintenance request control unit
1000 sorter
1001 Maintenance / normal state switching part
1002 End timing measurement unit
1100 Sorting device
1101 Client side packet receiver
1102 Maintenance request packet transmitter
1103 Maintenance Request Control Unit
1104 Synchronization timing measurement unit
1200 Sorting device
Claims (5)
前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け手段と、
を備えたことを特徴とする振り分け制御装置。A session that receives a distribution rule change request for distributing traffic to a distribution destination device group, and determines whether the traffic session is an existing session established before the rule change request or a new session established after the rule change request Judgment means,
When the session determining means determines that the session is the existing session, traffic is distributed to the distribution destination device group according to a distribution rule before the rule change request, while the session is the new session. When it is determined, according to the distribution rule after the rule change request, a distribution unit that distributes traffic to the distribution destination device group,
A distribution control device comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003016694A JP4057434B2 (en) | 2003-01-24 | 2003-01-24 | Distribution control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003016694A JP4057434B2 (en) | 2003-01-24 | 2003-01-24 | Distribution control device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004229130A JP2004229130A (en) | 2004-08-12 |
| JP4057434B2 true JP4057434B2 (en) | 2008-03-05 |
Family
ID=32904067
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003016694A Expired - Fee Related JP4057434B2 (en) | 2003-01-24 | 2003-01-24 | Distribution control device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4057434B2 (en) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5592222B2 (en) * | 2010-10-06 | 2014-09-17 | 株式会社日立製作所 | Request relay method, request relay program, and relay device |
| JP6187304B2 (en) * | 2014-02-18 | 2017-08-30 | 富士ゼロックス株式会社 | Information processing apparatus, information processing system, and information processing program |
| JP5866555B1 (en) * | 2014-10-21 | 2016-02-17 | パナソニックIpマネジメント株式会社 | GAME SYSTEM AND MANAGEMENT DEVICE |
| JP5866554B1 (en) * | 2014-10-21 | 2016-02-17 | パナソニックIpマネジメント株式会社 | GAME SYSTEM, MANAGEMENT DEVICE, AND READER / WRITER DEVICE |
| JP5866558B1 (en) * | 2014-11-26 | 2016-02-17 | パナソニックIpマネジメント株式会社 | GAME SYSTEM AND MANAGEMENT DEVICE |
| JP6241891B2 (en) * | 2015-01-15 | 2017-12-06 | 日本電信電話株式会社 | Session continuation system and method |
| US12074793B2 (en) * | 2020-07-01 | 2024-08-27 | Nippon Telegraph And Telephone Corporation | L2 switch, communication control method, and communication control program |
| CN116097223A (en) | 2020-08-18 | 2023-05-09 | 富士胶片株式会社 | Information processing device, information processing method, and information processing program |
| JPWO2022038933A1 (en) | 2020-08-18 | 2022-02-24 |
-
2003
- 2003-01-24 JP JP2003016694A patent/JP4057434B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004229130A (en) | 2004-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3701476B2 (en) | Data communication method | |
| US5918021A (en) | System and method for dynamic distribution of data packets through multiple channels | |
| EP2731313B1 (en) | Distributed cluster processing system and message processing method thereof | |
| JP3923863B2 (en) | Request router device | |
| CN104272708B (en) | It is distributed with the stateless first order grouping to server farm and is distributed to the secondary data packets of the stateful second level grouping distribution of some server in group | |
| Wang et al. | Implementation of multipath network virtualization with SDN and NFV | |
| JP2003069619A (en) | Route change method in label transfer network, and label switching node and management node | |
| Xie et al. | Supporting seamless virtual machine migration via named data networking in cloud data center | |
| RU2556464C2 (en) | Method and appropriate device for joint use of traffic at multicast | |
| JP5107339B2 (en) | System and method for active geographic redundancy | |
| JP4057434B2 (en) | Distribution control device | |
| JP2011160363A (en) | Computer system, controller, switch, and communication method | |
| JP5164953B2 (en) | Internetwork equipment | |
| JP2006174374A (en) | Relay system | |
| JP5564661B2 (en) | Relay node and relay processing program | |
| CN114553886B (en) | Data transmission method and communication device | |
| WO2020055149A1 (en) | Credit-based multipath data transmission method for load balancing of data center network | |
| US20080247400A1 (en) | System and method for increasing the efficiency in the delivery of media within a network | |
| Thomas et al. | Multipath congestion control with network assistance | |
| CN112751766B (en) | Message forwarding method and system, related equipment and chip | |
| JP2005057693A (en) | Network virtualization system | |
| JP3727572B2 (en) | Content distribution network, address notification terminal, and communication control device | |
| JP2002185521A (en) | Routing device and recording medium | |
| You et al. | A coordinated algorithm with resource evaluation for service function chain allocation | |
| JP3553918B2 (en) | Edge router device, network management system, program therefor, and network management method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060116 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071127 |
|
| 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: 20071211 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071213 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4057434 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101221 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111221 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121221 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131221 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |