Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4057434B2 - Distribution control device - Google Patents
[go: Go Back, main page]

JP4057434B2 - Distribution control device - Google Patents

Distribution control device Download PDF

Info

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
Application number
JP2003016694A
Other languages
Japanese (ja)
Other versions
JP2004229130A (en
Inventor
一峰 的場
健策 天羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003016694A priority Critical patent/JP4057434B2/en
Publication of JP2004229130A publication Critical patent/JP2004229130A/en
Application granted granted Critical
Publication of JP4057434B2 publication Critical patent/JP4057434B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 client 101And client 102Is a computer device that is connected to the Internet 20 and transmits / receives packets to / from the server group 61 via the distribution device 30 and the higher layer device group 51.
[0012]
The distribution device 30 includes the Internet 20 and a higher layer device 50.1~ 50ThreeBetween the client 10 and the client 10 in accordance with a preset distribution rule.1And 102Each higher layer device (higher layer device 50) corresponding to the packet (traffic) from1~ 50ThreeIs one of the higher layer devices).
[0013]
Here, the distribution device 30 includes “client 10” as one of the distribution rules.1Packets from the higher layer device 501It is assumed that rule 1 “assign to” is set.
[0014]
Higher layer device 501~ 50ThreeAre network devices that serve as packet distribution destinations in the distribution device 30, and constitute a higher layer device group 51. Also, the higher layer device 501~ 50ThreeEach manages a traffic session.
[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 distribution device 30 and the server 601 _ 1~ 601 _ n It is inserted between. Higher layer device 502The distribution device 30 and the server 602 _ 1~ 602 _ n It is inserted between.
[0017]
Also, the higher layer device 50ThreeThe distribution device 30 and the server 60Three _ 1~ 60Three _ n It is inserted between. These servers 601 _ 1~ 601 _ n , Server 602 _ 1~ 602 _ n And server 60Three _ 1~ 60Three _ n Constitutes a server group 61.
[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 packets 1 to 3 are transmitted in the same session 1_1 will be described.
[0019]
First, client 101Packet 1 is transmitted to the distribution device 30 via the Internet 20. The distribution device 30 transmits the received packet 1 to the higher layer device 50 in accordance with the rule 1 described above.1Sort out.
[0020]
As a result, the packet 1 is distributed in the session 1_1, and the packet 1 is assigned to the higher layer device 50.1For example, the server 601_1Received. This session 1_1 includes the higher layer device 501It is managed by.
[0021]
Subsequently, the client 101When the packet 2 corresponding to the session 1_1 is transmitted from the Internet, the packet 2 is received by the distribution device 30 via the Internet 20, and then the higher layer device 50 according to the rule 1 described above.1Be distributed to. The packet 2 is sent to the higher layer device 50.1For example, the server 601_1Received.
[0022]
Subsequently, the client 101When the packet 3 corresponding to the session 1_1 is transmitted from the Internet, the packet 3 is received by the distribution device 30 via the Internet 20, and then the higher layer device 50 according to the rule 1 described above.1Be distributed to.
[0023]
The packet 3 is sent to the higher layer device 50.1For example, the server 601_1Received. As a result, the packet communication for transmitting the packets 1 to 3 is terminated, and the session 1_1 is disconnected upon normal termination.
[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 layer device group 51 as a distribution destination of the distribution device 30 changes. That is, with the addition or change of the higher layer device, a specific higher layer device is added to the higher layer device group 51 or the higher layer device is changed due to the configuration.
[0026]
For example, in the distribution device 30, the above-described rule 1 (“client 101Packets from the higher layer device 501”) Is rule 2 (“ client 101Packets from the higher layer device 502”)”.
[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 distribution device 30 at the time of maintenance, There is a problem that inconsistency occurs in the target traffic session, normal processing cannot be performed, and the session is disconnected.
[0029]
In the following, in the session 1_1 shown in FIG.1Packet 1 transmitted from the higher layer device 50 according to the rule 1 described above in the distribution device 30.1A case where the distribution rule is changed from rule 1 (old rule) to rule 2 (new rule) will be described.
[0030]
In this case, after changing the distribution rule, the client 101When the packet 2 corresponding to the session 1_1 is transmitted from the high-layer device 50 according to the rule 2, the distribution device 302It is distributed to.
[0031]
However, the higher layer device 502Then, since the information of the session 1_1 is not held, the packet 2 cannot be normally received, and the discard or the like occurs. On the other hand, the higher layer device 501Then, since the packet 2 following the packet 1 cannot be received, the session 1_1 is disconnected due to a timeout or the like.
[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
Embodiments 1 to 6 of the distribution control device according to the present invention will be described below in detail with reference to the drawings.
[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 Internet 200 and transmits / receives packets to / from the server group 601 via the distribution device 300 and the higher layer device group 501.
[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 distribution device 300 includes an Internet 200 and a higher layer device 500.1~ 500ThreeAnd the client 100 according to a preset distribution rule.1And 1002Packets (traffic) from the higher layer device 5001~ 500ThreeIs a device that distributes to any one of the higher layer devices.
[0041]
Specifically, the distribution device 300 is a client 1001And 1002Based on the distribution rule, the destination IP address of the packet (traffic) from the higher layer device 5001~ 500ThreeThe distribution process is executed by rewriting the IP address of any one of the higher layer devices.
[0042]
The network administrator terminal 400 is a computer terminal operated by the network administrator, and is connected to the distribution device 300. The network administrator terminal 400 transmits a maintenance request packet to the distribution device 300 when performing maintenance for changing the distribution rule in the distribution device 300, for example.
[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 distribution device 300, as shown in FIG. 4, there are two device states: a maintenance state in which the maintenance is performed and a normal state in which the maintenance is not performed.
[0045]
Returning to FIG. 1, the higher layer apparatus 5001~ 500ThreeAre network devices that serve as packet distribution destinations in the distribution device 300, and manage the session state of the traffic. These higher layer devices 5001~ 500ThreeConstitutes the higher layer apparatus group 501. A representative IP address <200.0.0.10> is assigned to the higher layer apparatus group 501.
[0046]
Here, the higher layer apparatus 5001The distribution device 300 and the server 6001_1~ 6001_n It is inserted between. Higher layer device 5002The distribution device 300 and the server 6002_1~ 6002_n It is inserted between. Also, the higher layer apparatus 500ThreeThe distribution device 300 and the server 600Three_1~ 600Three _ n It is inserted between. These servers 6001 _ 1~ 6001 _ n , Server 6002 _ 1~ 6002 _ n And server 600Three _ 1~ 600Three _ n Constitutes a server group 601.
[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 layer apparatus group 501 and transmitted.
[0048]
Therefore, the distribution device 300 is configured so that the higher layer device 5001~ 500Three To client 1001, 1002The IP address rewriting process is not performed on the packet transmitted to the client, and the packet is simply transferred to the client side.
[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 distribution device 300 is configured by the higher layer device 500.1~ 500Three To client 1001, 1002Has a function of rewriting the transmission source IP address to the representative IP address <200.0.0.10> of the higher layer apparatus group 501.
[0051]
In the following, communication between the higher layer apparatus group 501 and the server group 601, and the server group 601 to the client 1001And 1002Since the processing for the packet transmitted to is not the essence of the first embodiment, its detailed description is omitted.
[0052]
FIG. 2 is a block diagram illustrating a configuration of the sorting apparatus 300 illustrated in FIG. In the distribution apparatus 300 shown in the figure, the client-side packet receiving unit 301 includes the client 100 shown in FIG.1And 1002Is transmitted via the Internet 200, and the packet is converted into received packet data in a format that can be internally processed by the distribution device 300.
[0053]
The client side packet reception unit 301 receives a maintenance request packet (see FIG. 3A) from the network administrator terminal 400 (see FIG. 1), and a maintenance start signal for instructing the start of maintenance. To the maintenance / normal state switching unit 302.
[0054]
Further, when receiving the packet of the maintenance request (see FIG. 3A), the client-side packet receiving unit 301 passes the distribution rule corresponding to the distribution rule type to the new rule application unit 306 as a new rule. .
[0055]
Further, the client side packet receiving unit 301 includes the client 100.1, 1002When a packet is received, a packet reception process such as a header check is performed on the packet, and the received packet data is passed to each unit.
[0056]
As shown in FIG. 4, the maintenance / normal state switching unit 302 switches the apparatus state of the sorting apparatus 300 to the maintenance state or the normal state. When the maintenance / normal state switching unit 302 receives a maintenance start signal from the client-side packet reception unit 301, the maintenance / normal state switching unit 302 determines the device state of the distribution device 300 as the maintenance state, and switches the device state from the normal state to the maintenance state.
[0057]
On the other hand, when a maintenance end signal is received from a timer 309, which will be described later, the apparatus state is determined as the normal state, and the apparatus state is switched from the maintenance state to the normal state.
[0058]
Here, as shown in FIG. 4, when the distribution device 300 receives a maintenance request packet for changing the distribution rule transmitted from the network administrator terminal 400, the distribution rule (the old rule) before the change is received. ) And the changed distribution rule (new rule).
[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 distribution apparatus 300 selects a distribution rule as described below, and distributes packets.
[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 distribution apparatus 300 performs high-speed packet distribution processing in the normal state by performing session identification processing only in the maintenance state and not performing session identification in the packet distribution processing in the normal state.
[0075]
Returning to FIG. 2, the maintenance / normal state switching unit 302 notifies the distribution destination determination unit 307 and the new / existing session determination unit 303 of the current device state (normal state or maintenance state) based on the above-described determination.
[0076]
The new / existing session determination unit 303 determines whether the traffic session to be processed is a new session or an existing session. Specifically, the new / existing session determination unit 303 searches the new session identifier database 304, which will be described later, when the apparatus state is the maintenance state and the client-side packet reception unit 301 receives a packet, thereby detecting the packet. Determines whether the packet is for a new session or an existing session.
[0077]
In addition, the new / existing session determination unit 303 passes a reset signal to the timer 309 every time a packet other than the start packet is received in the maintenance state.
[0078]
As shown in FIG. 6, the new session identifier database 304 has a new session identifier consisting of “source IP address”, “source port number”, “destination IP address”, and “destination port number” for a packet. Stored. This new session identifier is included in the packet and is for identifying the new session.
[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 session identifier database 304 as an entry.
[0081]
At the end of maintenance, the entry (new session identifier) is deleted from the new session identifier database 304.
[0082]
Returning to FIG. 2, when the received packet data is passed from the client side packet receiving unit 301, the old rule applying unit 305 determines a distribution destination according to the old rule, and assigns the obtained distribution destination identifier to the distribution destination determining unit. 307 is notified.
[0083]
When receiving the received packet data from the client-side packet receiving unit 301, the new rule applying unit 306 determines a distribution destination according to the new rule, and notifies the distribution destination determination unit 307 of the obtained distribution destination identifier.
[0084]
In addition, when the distribution rule is passed from the client side packet reception unit 301, the new rule application unit 306 applies this as a new rule. Further, the new rule application unit 306 passes the existing new rule to the old rule application unit 305 as an old rule. In this case, the old rule application unit 305 applies the old rule passed from the new rule application unit 306.
[0085]
The distribution destination determination unit 307 is received by the client side packet reception unit 301 based on the device state (normal state / maintenance state), the session type (new session / existing session), the old rule distribution destination, and the new rule distribution destination. The packet distribution destination is determined, and the distribution destination is notified to the server-side packet transmission unit 308.
[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 rule application unit 306 in the normal state.
[0089]
Returning to FIG. 2, the server-side packet transmission unit 308 determines that the higher layer apparatus 500 is based on the distribution destination notified from the distribution destination determination unit 307.1~ 500ThreeThe packet is transmitted to any one of the higher layer devices. The server-side packet transmission unit 308 determines an IP / MAC / VLAN, an output physical port, etc., and updates the header of the transmission packet.
[0090]
The timer 309 measures the packet arrival interval and determines the maintenance end time. Specifically, the timer 309 receives a reset signal from the new / existing session determination unit 303 every time a packet arrives in the maintenance state.
[0091]
Each time the timer 309 receives the reset signal, the timer 309 starts counting down from a preset time, and when a time-out occurs, the timer 309 sends a maintenance end signal to the maintenance / normal state switching unit 302 as an existing session is normally completed. hand over.
[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 rule application unit 305 of the distribution apparatus 300 shown in FIG. On the other hand, it is assumed that <rule B> shown in FIG. 5B is set in the new rule application unit 306 as a packet distribution rule.
[0094]
In the sorting apparatus 300, the apparatus state is assumed to be a normal state. Therefore, in this case, the normal state is notified from the maintenance / normal state switching unit 302 to the new / existing session determining unit 303 and the distribution destination determining unit 307.
[0095]
Here, in step SB1 shown in FIG. 10, the client side packet receiving unit 301 of the distribution apparatus 300 shown in FIG. 2 determines whether or not a packet has been received via the Internet 200 (see FIG. 1). In this case, the determination result is “No” and the determination is repeated.
[0096]
In step SC1 shown in FIG. 11, the maintenance / normal state switching unit 302 determines whether a maintenance start signal is passed from the client side packet reception unit 301. In this case, the determination result is “No”. To do.
[0097]
In step SC3, the maintenance / normal state switching unit 302 determines whether or not a maintenance end signal is passed from the timer 309. In this case, the determination result is “No”. Thereafter, the maintenance / normal state switching unit 302 repeats the determinations of step SC1 and step SC3 until the determination result becomes “Yes”.
[0098]
In step SD1 shown in FIG. 12, the new / existing session determination unit 303 determines whether or not the received packet data is passed from the client side packet reception unit 301. In this case, the determination result is “No”. Repeat the same judgment.
[0099]
In step SF1 shown in FIG. 14, each of the new rule applying unit 306 and the old rule applying unit 305 determines whether or not received packet data is passed from the client side packet receiving unit 301. The result is “No” and the same determination is repeated.
[0100]
In step SG1 shown in FIG. 15, the distribution destination determination unit 307 determines whether or not the packet distribution destination is notified from both the old rule application unit 305 and the new rule application unit 306. The result is “No” and the same determination is repeated.
[0101]
In step SH1 shown in FIG. 16, the server-side packet transmission unit 308 determines whether or not the received packet data has been passed from the client-side packet reception unit 301. In this case, the determination result is “No”. Repeat the same judgment.
[0102]
(Distribution processing of packet 1 in normal state)
In the normal state, in step SA1 shown in FIG.1Transmits packet 1 in the existing session 1. In this packet 1, <source IP address> is <101.0.0.1>, <source port number> is <200>, <destination IP address> is <200.0.0.10>, and <destination port number> is It is set to <80>.
[0103]
In step SA2, the packet 1 is received by the client side packet receiving unit 301 of the distribution apparatus 300 shown in FIG. 2 via the Internet 200 shown in FIG.
[0104]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 1 corresponds to the maintenance request. In this case, the determination result is “No”.
[0105]
In step SB5, the client side packet receiving unit 301 converts the received packet 1 into received packet data, and a new / existing session determining unit 303, an old rule applying unit 305, a new rule applying unit 306, and a server side packet transmitting unit 308. After passing to step SB1, the determination of step SB1 is performed.
[0106]
When the received packet data (packet 1) is passed from the client side packet receiving unit 301, the new / existing session determining unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a normal state.
[0107]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “No” and the determination in step SD1 is performed. In other words, in the normal state, the new / existing session determination unit 303 performs no processing on the received packet data (packet 1).
[0108]
When the received packet data (packet 1) is passed from the client side packet receiving unit 301, the old rule applying unit 305 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the old rule application unit 305 applies rule A (see FIG. 5A) as the currently set old rule, and determines the distribution destination of the packet 1 in the rule A.
[0109]
In this case, according to rule A (old rule), the client 1001Since the packet 1 is received from the higher layer apparatus 500, the distribution destination of the packet 1 isThreeIP address <200.0.0.3>. In step SF3, the old rule application unit 305 determines that the distribution destination (higher layer apparatus 500)ThreeIP address <200.0.0.3>) to the distribution destination determination unit 307.
[0110]
When the received packet data (packet 1) is passed from the client side packet receiving unit 301, the new rule applying unit 306 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the new rule applying unit 306 applies rule B (see FIG. 5B) as the new rule that is currently set, and determines the distribution destination of packet 1 in the rule B.
[0111]
In this case, according to the rule B (new rule), the client 1001Since the packet 1 is received from the higher layer apparatus 500, the distribution destination of the packet 1 is1IP address <200.0.0.1>. In step SF3, the new rule application unit 306 determines the distribution destination (higher layer apparatus 500).1IP address <200.0.0.1>) to the distribution destination determination unit 307.
[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 destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0113]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “Yes”. And
[0114]
In step SG5, the distribution destination determination unit 307 determines the distribution destination (higher layer apparatus 500) notified from the new rule application unit 306.1IP address <200.0.0.1>) is determined as a distribution destination of the packet 1 and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0115]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0116]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”. On the other hand, when the distribution destination is not notified from the distribution destination determination unit 307, the server-side packet transmission unit 308 repeats the same determination with “No” as the determination result in step SH2.
[0117]
In step SH3, the server-side packet transmission unit 308 updates the header of packet 1 corresponding to the received packet data, and generates packet 1 for transmission. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer device 500) notified from the new rule application unit 306.1<Destination IP address> of packet 1 is rewritten from <200.0.0.10> to <200.0.0.1>.
[0118]
In step SH4, the server-side packet transmission unit 308 distributes the packet 1 generated in step SH3 in the existing session 1 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.1After transmitting to (see step SA3 in FIG. 9), the determination in step SH1 is performed.
[0119]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule (new rule) in the distribution device 300 from the current rule B (see FIG. 5B) to rule C (see FIG. 5C). In order to change to the above, a maintenance request is issued using the network administrator terminal 400 shown in FIG.
[0120]
Thereby, the packet 2 corresponding to the maintenance request is transmitted from the network administrator terminal 400 to the distribution device 300. In step SA5 illustrated in FIG. 9, the packet 2 is received by the client-side packet reception unit 301 of the distribution device 300.
[0121]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 2 corresponds to the maintenance request. In this case, the determination result is “Yes”.
[0122]
In step SB3, the client side packet receiving unit 301 notifies the new rule applying unit 306 of the rule C (see FIG. 5C) as the new rule. Thereby, the rule C is set as a new rule in the new rule application unit 306.
[0123]
Also, the new rule application unit 306 notifies the old rule application unit 305 of the rule B (see FIG. 5B) set before the rule C is set. As a result, the rule B is set as the old rule in the old rule application unit 305.
[0124]
In step SB4, the client side packet receiving unit 301 passes the maintenance start signal to the maintenance / normal state switching unit 302, and then performs the determination in step SB1.
[0125]
When the maintenance start signal is received, the maintenance / normal state switching unit 302 sets “Yes” as a result of the determination made at step SC1 shown in FIG. In step SC2, the maintenance / normal state switching unit 302 notifies the new / existing session determination unit 303 and the distribution destination determination unit 307 that the current device state is the maintenance state.
[0126]
In step SC3, the maintenance / normal state switching unit 302 determines whether or not a maintenance end signal is passed from the timer 309. In this case, the determination result is “No” and the determination in step SC1 is performed.
[0127]
(Distribution of packet 3 in the maintenance state)
In the maintenance state, at step SA6 shown in FIG.1Transmits the packet 3 in the same existing session 1 as the packet 1 described above. In this packet 3, in the same manner as the packet 1 described above, <source IP address> is <101.0.0.1>, <source port number> is <200>, and <destination IP address> is <200.0.0.10. >, <Destination port number> is set to <80>.
[0128]
In step SA7, the packet 3 is received by the client side packet receiving unit 301 of the distribution apparatus 300 shown in FIG. 2 via the Internet 200 shown in FIG.
[0129]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 3 corresponds to the maintenance request. In this case, the determination result is “No”.
[0130]
In step SB5, the client side packet receiving unit 301 converts the received packet 3 into received packet data, and a new / existing session determining unit 303, an old rule applying unit 305, a new rule applying unit 306, and a server side packet transmitting unit 308. After passing to step SB1, the determination of step SB1 is performed.
[0131]
When the received packet data (packet 3) is passed from the client side packet receiving unit 301, the new / existing session determining unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a maintenance state.
[0132]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “Yes”. In step SD4, the new / existing session determination unit 303 executes a maintenance state process.
[0133]
Specifically, in step SE1 shown in FIG. 13, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <101.0.0.1>, <source port number> = < 200>, <destination IP address> = <200.0.0.10>, <destination port number> = <80>) as a key, the new session identifier database 304 is searched for the presence or absence of the same entry as the session identifier. To check.
[0134]
In step SE2, the new / existing session determination unit 303 determines whether there is an entry in the new session identifier database 304 that is the same as the session identifier of the packet 3, and in this case, the determination result is “No”.
[0135]
In step SE3, the new / existing session determining unit 303 checks whether or not the packet 3 is a session start packet. In step SE4, the new / existing session determination unit 303 determines whether the SYN flag of the packet 3 is on / off. In this case, assuming that the SYN flag of the packet 3 is set to OFF, the new / existing session determination unit 303 sets the determination result in step SE4 to “No”.
[0136]
In step SE7, the new / existing session determination unit 303 transmits a reset signal to the timer 309. Upon receiving the reset signal, the timer 309 starts counting down for a preset time (for example, 15 seconds).
[0137]
In step SE8, the new / existing session determination unit 303 notifies the distribution destination determination unit 307 that the session of the packet 3 is an existing session, and then performs the determination of step SD1 shown in FIG.
[0138]
When the received packet data (packet 3) is passed from the client side packet receiving unit 301, the old rule applying unit 305 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the old rule application unit 305 applies the rule B (see FIG. 5B) as the old rule that is currently set, and determines the distribution destination of the packet 3 in the rule B.
[0139]
In this case, according to rule B (old rule), the client 1001Packet 3 is received, the distribution destination of this packet 3 is the higher layer device 5001IP address <200.0.0.1>. In step SF3, the old rule application unit 305 determines that the distribution destination (higher layer apparatus 500)1IP address <200.0.0.1>) to the distribution destination determination unit 307.
[0140]
When the received packet data (packet 3) is passed from the client side packet receiving unit 301, the new rule applying unit 306 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the new rule application unit 306 applies the rule C (see FIG. 5C) as the new rule that is currently set, and determines the distribution destination of the packet 3 in the rule C.
[0141]
In this case, according to rule C (new rule), the client 1001Packet 3 is received, the distribution destination of this packet 3 is the higher layer device 5002IP address <200.0.0.2>. In step SF3, the new rule application unit 306 determines the distribution destination (higher layer apparatus 500).2IP address <200.0.0.2>) to the distribution destination determination unit 307.
[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 rule application unit 3062Are assigned to the distribution destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0143]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0144]
In step SG3, the distribution destination determination unit 307 determines whether the session of the packet 3 is an existing session based on the notification (new session or existing session) from the new / existing session determination unit 303. In this case, The determination result is “Yes”.
[0145]
In step SG4, the distribution destination determination unit 307 determines the distribution destination (higher layer apparatus 500) notified from the old rule application unit 305.1IP address <200.0.0.1>) is determined as the distribution destination of the packet 3 and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0146]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0147]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0148]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 3 corresponding to the received packet data, and generates a packet 3 for transmission. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer device 500) notified from the new rule application unit 306.1<Destination IP address> of packet 3 is rewritten from <200.0.0.10> to <200.0.0.1>.
[0149]
In step SH4, the server-side packet transmission unit 308 distributes the packet 3 generated in step SH3 in the existing session 1 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.1After transmitting to (see step SA8 in FIG. 9), the determination in step SH1 is performed.
[0150]
(Distribution of packet 4 in maintenance state)
Then, in the maintenance state, in step SA9 shown in FIG.2Transmits a packet 4 in a new session 2 different from the existing sessions 1 of the packets 1 and 3 described above. In this packet 4, <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, and <destination port number> is It is set to <80>.
[0151]
In step SA10, the packet 4 is received by the client side packet receiving unit 301 of the distribution device 300 shown in FIG. 2 via the Internet 200 shown in FIG.
[0152]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 4 corresponds to the maintenance request. In this case, the determination result is “No”.
[0153]
In step SB5, the client side packet receiving unit 301 converts the received packet 4 into received packet data, and a new / existing session determining unit 303, an old rule applying unit 305, a new rule applying unit 306, and a server side packet transmitting unit 308. After passing to step SB1, the determination of step SB1 is performed.
[0154]
When the received packet data (packet 4) is passed from the client side packet receiving unit 301, the new / existing session determining unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a maintenance state.
[0155]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “Yes”. In step SD4, the new / existing session determination unit 303 executes a maintenance state process.
[0156]
Specifically, in step SE1 shown in FIG. 13, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <102.0.0.1>, <source port number> = < 300>, <destination IP address> = <200.0.0.10>, <destination port number> = <80>) as a key, the new session identifier database 304 is searched for the presence or absence of the same entry as the session identifier. To check.
[0157]
In step SE2, the new / existing session determination unit 303 determines whether there is an entry in the new session identifier database 304 that is identical to the session identifier of the packet 4, and in this case, the determination result is “No”.
[0158]
In step SE3, the new / existing session determination unit 303 determines whether or not the packet 4 is a session start packet from the ON / OFF state of the SYN flag of the packet 4. In this case, if the SYN flag of the packet 4 is set to ON, the new / existing session determination unit 303 sets the determination result in step SE4 to “Yes”.
[0159]
In step SE5, the new / existing session determination unit 303 adds an entry to the new session identifier database 304. Specifically, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <102.0.0.1>, <source port number> = <300>, <destination IP address> of the packet 4. = <200.0.0.10>, <destination port number> = <80>) is added to the new session identifier database 304 as an entry.
[0160]
In step SE6, the new / existing session determination unit 303 notifies the distribution destination determination unit 307 that the session of the packet 4 is a new session, and then performs the determination in step SD1 shown in FIG.
[0161]
When the received packet data (packet 4) is passed from the client-side packet receiving unit 301, the old rule applying unit 305 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the old rule application unit 305 applies the rule B (see FIG. 5B) as the old rule that is currently set, and determines the distribution destination of the packet 4 in the rule B.
[0162]
In this case, according to rule B (old rule), the client 1002Since the packet 4 is received, the distribution destination of the packet 4 is the higher layer apparatus 500.1IP address <200.0.0.1>. In step SF3, the old rule application unit 305 determines that the distribution destination (higher layer apparatus 500)1IP address <200.0.0.1>) to the distribution destination determination unit 307.
[0163]
Further, when the received packet data (packet 4) is passed from the client side packet receiving unit 301, the new rule applying unit 306 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the new rule application unit 306 applies rule C (see FIG. 5C) as a new rule that is currently set, and determines a distribution destination of the packet 4 in the rule C.
[0164]
In this case, according to rule C (new rule), the client 1002Since the packet 4 is received, the distribution destination of the packet 4 is the higher layer apparatus 500.2IP address <200.0.0.2>. In step SF3, the new rule application unit 306 determines the distribution destination (higher layer apparatus 500).2IP address <200.0.0.2>) to the distribution destination determination unit 307.
[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 rule application unit 3062Are assigned to the distribution destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0166]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0167]
In step SG3, the distribution destination determination unit 307 determines whether or not the session of the packet 4 is an existing session based on the notification (new session or existing session) from the new / existing session determination unit 303. In this case, The determination result is “No”.
[0168]
In step SG5, the distribution destination determination unit 307 determines the distribution destination (higher layer apparatus 500) notified from the new rule application unit 306.2IP address <200.0.0.2>) is determined as a distribution destination of the packet 4 and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0169]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0170]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0171]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 4 corresponding to the received packet data, and generates a packet 4 for transmission. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer device 500) notified from the new rule application unit 306.2<Destination IP address> of packet 4 is rewritten from <200.0.0.10> to <200.0.0.2>.
[0172]
In step SH4, the server-side packet transmission unit 308 distributes the packet 4 generated in step SH3 in the new session 2 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.2After transmitting to (see step SA11 in FIG. 9), the determination in step SH1 is performed.
[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 new session 2 as the packet 4 described above. In this packet 5, <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, and <destination port number> is It is set to <80>.
[0174]
In step SA13, the packet 5 is received by the client side packet receiving unit 301 of the distribution device 300 shown in FIG. 2 via the Internet 200 shown in FIG.
[0175]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 5 corresponds to the maintenance request. In this case, the determination result is “No”.
[0176]
In step SB5, the client side packet receiving unit 301 converts the received packet 5 into received packet data, and a new / existing session determining unit 303, an old rule applying unit 305, a new rule applying unit 306, and a server side packet transmitting unit 308. After passing to step SB1, the determination of step SB1 is performed.
[0177]
When the received packet data (packet 5) is passed from the client side packet receiving unit 301, the new / existing session determining unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a maintenance state.
[0178]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “Yes”. In step SD4, the new / existing session determination unit 303 executes a maintenance state process.
[0179]
Specifically, in step SE1 shown in FIG. 13, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <102.0.0.1>, <source port number> = < 300>, <destination IP address> = <200.0.0.10>, <destination port number> = <80>) as a key, the new session identifier database 304 is searched for the presence or absence of the same entry as the session identifier. To check.
[0180]
In step SE2, the new / existing session determination unit 303 determines whether there is an entry in the new session identifier database 304 that is the same as the session identifier of the packet 5. In this case, the determination result is “Yes”.
[0181]
In step SE6, the new / existing session determination unit 303 notifies the distribution destination determination unit 307 that the session of the packet 5 is a new session, and then performs the determination in step SD1 shown in FIG.
[0182]
When the received packet data (packet 5) is passed from the client side packet receiving unit 301, the old rule applying unit 305 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the old rule application unit 305 applies the rule B (see FIG. 5B) as the old rule that is currently set, and determines the distribution destination of the packet 5 in the rule B.
[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 rule application unit 305 determines that the distribution destination (higher layer apparatus 500)1IP address <200.0.0.1>) to the distribution destination determination unit 307.
[0184]
When the received packet data (packet 5) is passed from the client side packet receiving unit 301, the new rule applying unit 306 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the new rule application unit 306 applies rule C (see FIG. 5C) as a new rule that is currently set, and determines a distribution destination of the packet 5 in the rule C.
[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 rule application unit 306 determines the distribution destination (higher layer apparatus 500).2IP address <200.0.0.2>) to the distribution destination determination unit 307.
[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 rule application unit 3062Are assigned to the distribution destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0187]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0188]
In step SG3, the distribution destination determination unit 307 determines whether or not the session of the packet 5 is an existing session based on the notification (new session or existing session) from the new / existing session determination unit 303. In this case, The determination result is “No”.
[0189]
In step SG5, the distribution destination determination unit 307 determines the distribution destination (higher layer apparatus 500) notified from the new rule application unit 306.2IP address <200.0.0.2>) is determined as a distribution destination of the packet 5 and notified to the server-side packet transmission unit 308, and then the determination of step SG1 is performed.
[0190]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0191]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0192]
In step SH3, the server-side packet transmission unit 308 updates the header of the packet 5 corresponding to the received packet data, and generates a transmission packet 5. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer device 500) notified from the new rule application unit 306.2<Destination IP address> of packet 5 is rewritten from <200.0.0.10> to <200.0.0.2>.
[0193]
In step SH4, the server-side packet transmission unit 308 distributes the packet 5 generated in step SH3 in the new session 2 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.2After transmitting to (see step SA14 in FIG. 9), the determination in step SH1 is performed.
[0194]
When the countdown of the timer 309 becomes 0, in step SA15 shown in FIG. 9, the timer 309 transmits a maintenance end signal to the maintenance / normal state switching unit 302 to end the maintenance.
[0195]
When the maintenance end signal is received, the maintenance / normal state switching unit 302 sets “Yes” as a result of the determination made at step SC3 shown in FIG. In step SC4, the maintenance / normal state switching unit 302 notifies the new / existing session determination unit 303 and the distribution destination determination unit 307 that the current apparatus state is the normal state.
[0196]
As a result, the new / existing session determination unit 303 deletes all entries in the new session identifier database 304 because the current apparatus state has changed from the maintenance state to the normal state.
[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 new session 2 as the packets 4 and 5 described above. In this packet 6, <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, and <destination port number> is It is set to <80>.
[0198]
In step SA17, the packet 6 is received by the client side packet receiving unit 301 of the distribution device 300 shown in FIG. 2 via the Internet 200 shown in FIG.
[0199]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 6 corresponds to the maintenance request. In this case, the determination result is “No”.
[0200]
In step SB5, the client side packet receiving unit 301 converts the received packet 6 into received packet data, and a new / existing session determining unit 303, an old rule applying unit 305, a new rule applying unit 306, and a server side packet transmitting unit 308. After passing to step SB1, the determination of step SB1 is performed.
[0201]
When the received packet data (packet 6) is passed from the client side packet receiving unit 301, the new / existing session determining unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a normal state.
[0202]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “No” and the determination in step SD1 is performed. In other words, in the normal state, the new / existing session determination unit 303 performs no processing on the received packet data (packet 6).
[0203]
When the received packet data (packet 6) is passed from the client side packet receiving unit 301, the old rule applying unit 305 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the old rule application unit 305 applies the rule B (see FIG. 5B) as the old rule that is currently set, and determines the distribution destination of the packet 6 in the rule B.
[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 rule application unit 305 determines that the distribution destination (higher layer apparatus 500)1IP address <200.0.0.1>) to the distribution destination determination unit 307.
[0205]
When the received packet data (packet 6) is passed from the client side packet receiving unit 301, the new rule applying unit 306 sets “Yes” as a result of the determination made at step SF1 shown in FIG. In step SF2, the new rule application unit 306 applies rule C (see FIG. 5C) as a new rule that is currently set, and determines a distribution destination of the packet 6 in the rule C.
[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 rule application unit 306 determines the distribution destination (higher layer apparatus 500).2IP address <200.0.0.2>) to the distribution destination determination unit 307.
[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 rule application unit 3062Are assigned to the distribution destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0208]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “Yes”. And
[0209]
In step SG5, the distribution destination determination unit 307 determines the distribution destination (higher layer apparatus 500) notified from the new rule application unit 306.2IP address <200.0.0.2>) is determined as a distribution destination of the packet 6 and notified to the server-side packet transmission unit 308, and then the determination of step SG1 is performed.
[0210]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0211]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0212]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 6 corresponding to the received packet data, and generates a transmission packet 6. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer device 500) notified from the new rule application unit 306.2<Destination IP address> of packet 6 is rewritten from <200.0.0.10> to <200.0.0.2>.
[0213]
In step SH4, the server-side packet transmission unit 308 distributes the packet 6 generated in step SH3 in the new session 2 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.2After sending to (see step SA18 in FIG. 9), the determination in step SH1 is performed.
[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 layer apparatus group 501, an old rule (rule before change) ) And the new rule (the rule after the change) are used together (see Fig. 4), and if it is determined that the traffic session that occurred within this combined period is an existing session, follow the old rule The traffic is distributed to the higher layer device group 501. On the other hand, if it is determined that the session is a new session, the traffic is distributed to the higher layer device group 501 according to the new rule. Do not increase the processing load of the traffic distribution destination and the consumption of network bandwidth. , It is possible to prevent the session disconnection at the time of change of the distribution rules.
[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 timer 309 measures the arrival interval of traffic corresponding to the existing session, and when the arrival interval reaches the set time, the existing session is normally terminated and a maintenance end signal is sent. Since the combined period is passed to the maintenance / normal state switching unit 302, the existing session can be prevented from being disconnected by a simple method of timing the arrival interval.
[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 distribution device 700 is provided instead of the distribution device 300 shown in FIG.
[0219]
FIG. 18 is a block diagram showing a configuration of the sorting apparatus 700 shown in FIG. In this figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted. 18, instead of the new / existing session determination unit 303, the old rule application unit 305, the new rule application unit 306, and the distribution destination determination unit 307 shown in FIG. 2, a new / existing session determination unit 701, old rule application A section 702, a new rule application section 703, and a distribution destination determination section 704 are provided. In the distribution apparatus 700, a distribution destination comparison unit 705 is newly provided.
[0220]
In addition to the function of the new / existing session determination unit 303 (see FIG. 2), the new / existing session determination unit 701 receives the received packet when the new rule distribution destination and the old rule distribution destination are the same. Has the function of not performing any processing.
[0221]
When the client side packet receiving unit 301 receives a packet, the old rule application unit 702 determines a distribution destination based on the old rule, and assigns the distribution destination identifiers to the distribution destination determination unit 704 and the distribution destination comparison unit 705. To notify.
[0222]
When the client side packet receiving unit 301 receives a packet, the new rule applying unit 703 determines a distribution destination based on the new rule, and assigns the obtained distribution destination identifier to the distribution destination determination unit 704 and the distribution destination comparison unit 705. To notify.
[0223]
The distribution destination comparison unit 705 compares the distribution destination notified from the new rule application unit 703 with the distribution destination notified from the old rule application unit 702, and compares the comparison result (same or different) with the new / existing session determination unit. 701 and the distribution destination determination unit 704 are notified.
[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 destination comparison unit 705, the distribution destination determination unit 704 The client side packet receiving unit 301 determines a distribution destination of the received packet, and notifies the server side packet transmission unit 308 of the distribution destination.
[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 packet 4 and packet 5. Appears.
[0228]
Therefore, the distribution of the packets 4 and 5 will be described in detail below. Note that the distribution of the packet 5 is the same as that of the packet 4, and therefore the description thereof is omitted.
[0229]
(Distribution of packet 4 in maintenance state)
In the maintenance state, in step SA9 shown in FIG.2Transmits a packet 4 in a new session 2 different from the existing sessions 1 of the packets 1 and 3 described above. In this packet 4, <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, and <destination port number> is It is set to <80>.
[0230]
At this time, the rule B (see FIG. 19) is set in the old rule application unit 702. In the new rule application unit 306, a rule C (see FIG. 5C) is set.
[0231]
Here, in step SI1 shown in FIG. 20, the new / existing session determination unit 701 determines whether or not the received packet data is passed from the client side packet reception unit 301. In this case, the determination result is “No”. The same judgment is repeated.
[0232]
Further, in step SJ1 shown in FIG. 21, the new rule applying unit 703 determines whether or not the received packet data is passed from the client side packet receiving unit 301. In this case, the determination result is “No” and the same. Repeat judgment.
[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 packet receiving unit 301. In this case, the determination result is “No” and the same result is obtained. Repeat judgment.
[0234]
In step SK1 shown in FIG. 22, the distribution destination comparison unit 705 determines whether the distribution destination is notified from both the new rule application unit 703 and the old rule application unit 702. In this case, the determination result is displayed. The determination is repeated as “No”.
[0235]
In step SL1 shown in FIG. 23, the distribution destination determination unit 704 determines whether or not the packet distribution destination is notified from both the new rule application unit 703 and the old rule application unit 702. The result is “No” and the same determination is repeated.
[0236]
In step SA10 shown in FIG. 9, the packet 4 is received by the client side packet receiving unit 301 of the distribution apparatus 700 shown in FIG. 18 via the Internet 200 shown in FIG.
[0237]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 4 corresponds to the maintenance request. In this case, the determination result is “No”.
[0238]
In step SB5, the client side packet receiving unit 301 converts the received packet 4 into received packet data, and a new / existing session determining unit 701, an old rule applying unit 702, a new rule applying unit 703, and a server side packet transmitting unit 308. After passing to step SB1, the determination of step SB1 is performed.
[0239]
When the received packet data (packet 4) is passed from the client side packet receiving unit 301, the new / existing session determining unit 701 sets “Yes” as a result of the determination made at step SI1 shown in FIG. In step SI2, the new / existing session determination unit 701 determines whether or not the comparison result is notified from the distribution destination comparison unit 705. In this case, the determination result is “No” and the determination is repeated.
[0240]
When the received packet data (packet 4) is passed from the client side packet receiving unit 301, the old rule applying unit 702 sets “Yes” as a result of the determination made at step SJ1 shown in FIG. In step SJ2, the old rule application unit 702 applies rule B (see FIG. 19) as the old rule that is currently set, and determines a distribution destination of the packet 4 in the rule B.
[0241]
In this case, according to rule B (old rule), the client 1002Since the packet 4 is received, the distribution destination of the packet 4 is the higher layer apparatus 500.2IP address <200.0.0.2>. In step SJ3, the old rule application unit 702 sends the distribution destination (higher layer apparatus 500).2Of the IP address <200.0.0.2>) to the distribution destination determination unit 704 and the distribution destination comparison unit 705.
[0242]
When the received packet data (packet 4) is passed from the client side packet receiving unit 301, the new rule applying unit 703 sets “Yes” as a result of the determination made at step SJ1 shown in FIG. In step SJ2, the new rule application unit 703 applies the rule C (see FIG. 5C) as the new rule that is currently set, and determines the distribution destination of the packet 4 in the rule C.
[0243]
In this case, according to rule C (new rule), the client 1002Since the packet 4 is received, the distribution destination of the packet 4 is the higher layer apparatus 500.2IP address <200.0.0.2>. In step SJ3, the new rule application unit 703 executes the distribution destination (higher layer device 500).2Of the IP address <200.0.0.2>) to the distribution destination determination unit 704 and the distribution destination comparison unit 705.
[0244]
Then, the new rule application unit 703 distributes the distribution destination (higher layer device 500).2IP address <200.0.0.2>) is distributed from the old rule application unit 702 (higher layer apparatus 500)2When the IP address <200.0.0.2> is notified, the distribution destination comparing unit 705 sets “Yes” as a result of the determination made at step SK1 shown in FIG.
[0245]
In step SK2, the distribution destination comparison unit 705 distributes the distribution destination (higher layer apparatus 500) from the new rule application unit 703.2IP address <200.0.0.2>) and the distribution destination from the old rule application unit 702 (higher layer device 500)2IP address <200.0.0.2>).
[0246]
In step SK3, the distribution destination comparison unit 705 determines whether or not both distribution destinations are the same based on the comparison result in step SK2. In this case, the determination result is “Yes”. In step SK4, the distribution destination comparison unit 705 notifies the comparison result (same) to the new / existing session determination unit 701 and the distribution destination determination unit 704.
[0247]
If the determination result in step SK3 is “No”, in step SK5, the distribution destination comparison unit 705 notifies the new / existing session determination unit 701 and the distribution destination determination unit 704 of the comparison result (separate).
[0248]
As a result, the new / existing session determination unit 701 sets “Yes” as the determination result of step SI2 shown in FIG. In step SI3, the new / existing session determination unit 701 determines whether or not both allocation destinations are the same based on the notified comparison result (same in this case). In this case, the determination result is “Yes”. In step SI1, the determination is made.
[0249]
As described above, when the apparatus state is the maintenance state and the distribution destinations are the same, the new / existing session determination unit 701 receives the received packet data (packet 4) in the same manner as in the normal state described in the first embodiment. ) Is not executed.
[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 destination determination unit 704, the distribution destination determination unit 704 sets “Yes” as a result of the determination made at step SL1 shown in FIG.
[0252]
In step SL2, the distribution destination determination unit 704 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0253]
In step SL3, the distribution destination determination unit 704 determines whether or not both distribution destinations are the same based on the comparison result notified from the distribution destination comparison unit 705. In this case, the determination result is “Yes”. To do.
[0254]
In step SL6, the distribution destination determination unit 704 distributes the distribution destination (higher layer apparatus 500) notified from the new rule application unit 703.2IP address <200.0.0.2>) is determined as a distribution destination of the packet 4 and notified to the server-side packet transmission unit 308, and then the determination in step SL1 is performed.
[0255]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0256]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 704. In this case, the determination result is “Yes”.
[0257]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 4 corresponding to the received packet data, and generates a packet 4 for transmission. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer device 500) notified from the new rule application unit 703.2<Destination IP address> of packet 4 is rewritten from <200.0.0.10> to <200.0.0.2>.
[0258]
In step SH4, the server-side packet transmission unit 308 distributes the packet 4 generated in step SH3 in the new session 2 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.2After transmitting to (see step SA11 in FIG. 9), the determination in step SH1 is performed.
[0259]
On the other hand, when the determination result in step SL3 shown in FIG. 23 is “No”, in step SL4, the distribution destination determination unit 704 is based on the notification (new session or existing session) from the new / existing session determination unit 701. Then, it is determined whether or not the session of the packet 4 is an existing session. If the determination result is “No”, the process of step SL6 is executed.
[0260]
On the other hand, if the determination result in step SL4 is “Yes”, in step SL5, the distribution destination determination unit 704 determines the distribution destination notified from the old rule application unit 702 as the distribution destination of the packet 4, and the server side packet After notifying the transmitting unit 308, the determination in step SL1 is performed.
[0261]
As described above, according to the second embodiment, for the traffic generated within the combined period, the comparison result from the distribution destination comparison unit 705 shows that the distribution destination to which the old rule is applied and the distribution to which the new rule is applied. When the destination is the same, the new / existing session determination unit 701 does not make a determination, and when both the destinations are the same, the traffic is transferred to the higher layer apparatus group 501 based on the destination to which the new rule is applied. Since the distribution is performed, the distribution process can be speeded up by the amount that the above determination is not performed.
[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 distribution device 800 is provided instead of the distribution device 300 shown in FIG.
[0267]
FIG. 25 is a block diagram showing the configuration of the sorting apparatus 800 shown in FIG. In this figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted. 25, an old rule application unit 801 and a new rule application unit 802 are provided instead of the old rule application unit 305 and the new rule application unit 306 shown in FIG. In the distribution apparatus 800, a distribution destination information holding unit 803 is newly provided.
[0268]
When receiving the received packet data from the client-side packet receiving unit 301, the old rule applying unit 801 determines a distribution destination based on the old rule, and notifies the distribution destination determining unit 307 of the obtained distribution destination identifier. In the old rule application unit 801, it is assumed that a random rule for randomly distributing packets in session units is set as an old rule.
[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 rule application unit 801 distributes the start packet according to the old rule (random rule). After notifying the determination unit 307, the “distribution rule”, “transmission source IP address”, “transmission source port number”, “transmission destination IP address”, “transmission destination port number” and “distribution destination IP” shown in FIG. The distribution destination information consisting of “address” is stored in the distribution destination information holding unit 803.
[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 session identifier database 304 shown in FIG. It corresponds to.
[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 rule application unit 801 uses the distribution rule (old rule) and the session identifier as keys to distribute The distribution destination IP address is searched from the information holding unit 803. The old rule application unit 801 notifies the distribution destination determination unit 307 of the distribution destination IP address of the search result as the distribution destination of the packet.
[0273]
When receiving the received packet data from the client-side packet receiving unit 301, the new rule applying unit 802 determines a distribution destination using the new rule, and notifies the distribution destination determination unit 307 of the obtained distribution destination identifier. In the new rule application unit 802, a random rule for randomly distributing packets is set as a new rule.
[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 determination unit 307, the “distribution rule”, “transmission source IP address”, “transmission source port number”, “transmission destination IP address”, “transmission destination port number” and “distribution destination IP” shown in FIG. The distribution destination information consisting of “address” is stored in the distribution destination information holding unit 803.
[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 information holding unit 803. The new rule application unit 802 notifies the distribution destination determination unit 307 of the distribution destination IP address of the search result as the distribution destination of the packet.
[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, packet 1 and packet 3 corresponding to the existing session 1 are distributed to the same distribution destination by the random rule B ′, and packet 4, packet 5 and packet 6 corresponding to the new session are the same by the random rule C ′. A case of distribution to the distribution destination will be described.
[0278]
Here, it is assumed that <Random Rule A '> (not shown) is set as the packet distribution rule in the old rule application unit 801 of the distribution apparatus 300 shown in FIG. On the other hand, it is assumed that the above-described <random rule B ′> (see FIG. 26) is set in the new rule application unit 802 as a packet distribution rule.
[0279]
Further, in the sorting device 800, the device state is assumed to be a normal state. Therefore, in this case, the normal state is notified from the maintenance / normal state switching unit 302 to the new / existing session determining unit 303 and the distribution destination determining unit 307.
[0280]
In step SM1 shown in FIG. 27, each of the new rule application unit 802 and the old rule application unit 801 determines whether or not the received packet data is passed from the client side packet reception unit 301. The result is “No” and the same determination is repeated.
[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 session 1. In this packet 1 (start packet), <source IP address> is <101.0.0.1>, <source port number> is <200>, <destination IP address> is <200.0.0.10>, <destination Port number> is set to <80>.
[0282]
In step SA2, packet 1 (start packet) is received by the client-side packet receiver 301 of the distribution apparatus 800 shown in FIG. 25 via the Internet 200 shown in FIG.
[0283]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet reception unit 301 determines whether or not the received packet 1 (start packet) corresponds to the maintenance request. In this case, the determination result is “No”.
[0284]
In step SB5, the client side packet receiving unit 301 converts the received packet 1 (start packet) into received packet data, and the new / existing session determining unit 303, the old rule applying unit 801, the new rule applying unit 802, and the server side After passing to the packet transmission unit 308, the determination of step SB1 is performed.
[0285]
When the received packet data (packet 1 (start packet)) is passed from the client side packet receiving unit 301, the new / existing session determination unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a normal state.
[0286]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “No” and the determination in step SD1 is performed.
[0287]
When the received packet data (packet 1 (start packet)) is passed from the client side packet receiving unit 301, the old rule applying unit 801 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[0288]
In step SM2, the old rule application unit 801 uses the currently set distribution rule (in this case, the random rule A ′) and the session identifier included in the packet 1 (start packet) as keys, and the distribution destination information holding unit 803. Check if there is an entry in.
[0289]
In step SM3, the old rule application unit 801 determines whether there is an entry in the distribution destination information holding unit 803. In this case, the determination result is “No”. In step SM4, the old rule application unit 801 applies the currently set random rule A ′ and randomly assigns the assignment destination (for example, the higher layer device 500).ThreeIP address <200.0.0.3>).
[0290]
In step SM5, the old rule application unit 801 adds an entry (distribution destination information) to the distribution destination information holding unit 803. In step SM6, the old rule application unit 801 notifies the distribution destination to the distribution destination determination unit 307, and then performs the determination in step SM1.
[0291]
When the received packet data (packet 1 (start packet)) is passed from the client side packet receiving unit 301, the new rule applying unit 802 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[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 information holding unit 803. Check if there is an entry in.
[0293]
In step SM3, the new rule application unit 802 determines whether there is an entry in the distribution destination information holding unit 803, and in this case, the determination result is “No”. In step SM4, the new rule application unit 802 applies the currently set random rule B ', and randomly assigns it to a distribution destination (for example, the higher layer device 500).1IP address <200.0.0.1>).
[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 information holding unit 803. In step SM6, the new rule application unit 802 notifies the distribution destination to the distribution destination determination unit 307, and then performs the determination in step SM1.
[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 destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0296]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “Yes”. And
[0297]
In step SG5, the distribution destination determination unit 307 determines the distribution destination (higher layer device 500) notified from the new rule application unit 802.1IP address <200.0.0.1>) is determined as a distribution destination of the packet 1 (start packet) and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0298]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0299]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0300]
In step SH3, the server-side packet transmitter 308 updates the header of packet 1 (start packet) corresponding to the received packet data, and generates packet 1 (start packet) for transmission. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer apparatus 500) notified from the new rule application unit 802.1<Destination IP address> of packet 1 (start packet) is rewritten from <200.0.0.10> to <200.0.0.1>.
[0301]
In step SH4, the server-side packet transmission unit 308 distributes the packet 1 (start packet) generated in step SH3 in the existing session 1 (see FIG. 9) to the higher layer apparatus 500 that is the distribution destination.1After transmitting to (see step SA3 in FIG. 9), the determination in step SH1 is performed.
[0302]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the distribution device 300 from the current random rule B ′ to the random rule C ′, and the network administrator terminal 400 shown in FIG. Make a maintenance request using.
[0303]
As a result, the network administrator terminal 400 transmits the packet 2 corresponding to the maintenance request to the distribution device 800. In step SA5 illustrated in FIG. 9, the packet 2 is received by the client-side packet reception unit 301 of the distribution device 800.
[0304]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 2 corresponds to the maintenance request. In this case, the determination result is “Yes”.
[0305]
In step SB3, the client side packet receiving unit 301 notifies the new rule applying unit 802 of the random rule C ′ as the new rule. As a result, a random rule C ′ is set as a new rule in the new rule application unit 802.
[0306]
Further, the new rule application unit 802 notifies the old rule application unit 801 of the random rule B ′ set before the random rule C ′ is set. As a result, the random rule B ′ is set as the old rule in the old rule application unit 801.
[0307]
In step SB4, the client side packet receiving unit 301 passes the maintenance start signal to the maintenance / normal state switching unit 302, and then performs the determination in step SB1.
[0308]
When the maintenance start signal is received, the maintenance / normal state switching unit 302 sets “Yes” as a result of the determination made at step SC1 shown in FIG. In step SC2, the maintenance / normal state switching unit 302 notifies the new / existing session determination unit 303 and the distribution destination determination unit 307 that the current device state is the maintenance state.
[0309]
In step SC3, the maintenance / normal state switching unit 302 determines whether or not a maintenance end signal is passed from the timer 309. In this case, the determination result is “No” and the determination in step SC1 is performed.
[0310]
(Distribution of packet 3 in the maintenance state)
In the maintenance state, at step SA6 shown in FIG.1Transmits packet 3 (end packet) in the same existing session 1 as packet 1 (start packet) described above. In this packet 3 (end packet), similarly to the above-described packet 1 (start packet), <source IP address> is <101.0.0.1>, <source port number> is <200>, <destination <IP address> is set to <200.0.0.10>, and <destination port number> is set to <80>.
[0311]
In step SA7, the packet 3 (end packet) is received by the client side packet receiving unit 301 of the distribution apparatus 800 shown in FIG. 25 via the Internet 200 shown in FIG.
[0312]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 3 (end packet) corresponds to the maintenance request. In this case, the determination result is “No”.
[0313]
In step SB5, the client side packet receiving unit 301 converts the received packet 3 (end packet) into received packet data, and the new / existing session determining unit 303, the old rule applying unit 801, the new rule applying unit 802, and the server side. After passing to the packet transmission unit 308, the determination of step SB1 is performed.
[0314]
When the received packet data (packet 3 (end packet)) is passed from the client side packet reception unit 301, the new / existing session determination unit 303 sets the determination result in step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a maintenance state.
[0315]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “Yes”. In step SD4, the new / existing session determination unit 303 executes a maintenance state process.
[0316]
Specifically, in step SE1 shown in FIG. 13, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <101.0.0.1>, <source port> of packet 3 (end packet). Number> = <200>, <destination IP address> = <200.0.0.10>, <destination port number> = <80>) as a key, and the new session identifier database 304 is searched and is the same as the above session identifier Check for entry.
[0317]
In step SE2, the new / existing session determination unit 303 determines whether there is an entry in the new session identifier database 304 that is the same as the entry identifier of packet 3 (end packet). In this case, the determination result is “No”. "
[0318]
In step SE3, the new / existing session determination unit 303 determines whether or not the packet 3 (end packet) is a session start packet from ON / OFF of the SYN flag of the packet 3 (end packet). In this case, if the SYN flag of packet 3 (end packet) is set to OFF, the new / existing session determination unit 303 sets the determination result in step SE4 to “No”.
[0319]
In step SE7, the new / existing session determination unit 303 transmits a reset signal to the timer 309. Upon receiving the reset signal, the timer 309 starts counting down for a preset time (for example, 15 seconds).
[0320]
In step SE8, the new / existing session determination unit 303 notifies the distribution destination determination unit 307 that the session of packet 3 (end packet) is an existing session, and then determines the determination in step SD1 shown in FIG. Do.
[0321]
When the received packet data (packet 3 (end packet)) is passed from the client side packet receiving unit 301, the old rule applying unit 801 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[0322]
In step SM2, the old rule application unit 801 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 information holding unit 803. Check if there is an entry in.
[0323]
In this case, the distribution destination information holding unit 803 shown in FIG. 26 stores a session identifier of the packet 3 and an entry (distribution destination information) corresponding to the “distribution rule” (random rule B ′).
[0324]
In step SM3, the old rule application unit 801 determines whether there is an entry in the distribution destination information holding unit 803. In this case, the determination result is “Yes”. In step SM7, the old rule application unit 801 reads the distribution destination information corresponding to the “distribution rule” (random rule B ′) from the distribution destination information holding unit 803.
[0325]
In step SM6, the old rule application unit 801 determines the distribution destination (higher layer apparatus 500 from the distribution destination information).1IP address <200.0.0.1>) is acquired and the distribution destination is notified to the distribution destination determination unit 307, and then the determination in step SM1 is performed.
[0326]
When the received packet data (packet 3 (end packet)) is passed from the client side packet receiving unit 301, the new rule applying unit 802 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[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 information holding unit 803. Check if there is an entry in.
[0328]
In step SM3, the new rule application unit 802 determines whether there is an entry in the distribution destination information holding unit 803, and in this case, the determination result is “No”. In step SM4, the new rule application unit 802 applies the currently set random rule C ′ and randomly distributes the distribution destination (for example, the higher layer device 500).2IP address <200.0.0.2>).
[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 information holding unit 803. In step SM6, the new rule application unit 802 notifies the distribution destination to the distribution destination determination unit 307, and then performs the determination in step SM1.
[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 destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0331]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0332]
In step SG3, the distribution destination determination unit 307 determines whether the session of the packet 3 (end packet) is an existing session based on the notification (new session or existing session) from the new / existing session determination unit 303. In this case, the determination result is “Yes”.
[0333]
In step SG4, the distribution destination determination unit 307 determines the distribution destination (higher layer apparatus 500) notified from the old rule application unit 801.1IP address <200.0.0.1>) is determined as a distribution destination of the packet 3 (end packet) and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0334]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0335]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0336]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 3 (end packet) corresponding to the received packet data, and generates a packet 3 (end packet) for transmission. Specifically, the server-side packet transmission unit 308 sends the distribution destination (higher layer device 500) notified from the old rule application unit 801.1<Destination IP address> of packet 3 (end packet) is rewritten from <200.0.0.10> to <200.0.0.1>.
[0337]
In step SH4, the server-side packet transmission unit 308 transmits the packet 3 (end packet) generated in step SH3 in the existing session 1 (see FIG. 9) to the same distribution layer as packet 1 (start packet). Device 5001After transmitting to (see step SA8 in FIG. 9), the determination in step SH1 is performed.
[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 new session 2 different from the existing sessions 1 of the packets 1 and 3 described above. In this packet 4 (start packet), <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, <destination Port number> is set to <80>.
[0339]
In step SA10, the packet 4 (start packet) is received by the client side packet receiving unit 301 of the distribution device 800 shown in FIG. 25 via the Internet 200 shown in FIG.
[0340]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 4 (start packet) corresponds to the maintenance request. In this case, the determination result is “No”.
[0341]
In step SB5, the client side packet receiving unit 301 converts the received packet 4 (start packet) into received packet data, and the new / existing session determining unit 303, the old rule applying unit 801, the new rule applying unit 802, and the server side After passing to the packet transmission unit 308, the determination of step SB1 is performed.
[0342]
When the received packet data (packet 4 (start packet)) is passed from the client-side packet receiving unit 301, the new / existing session determining unit 303 sets the determination result in step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a maintenance state.
[0343]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “Yes”. In step SD4, the new / existing session determination unit 303 executes a maintenance state process.
[0344]
Specifically, in step SE1 shown in FIG. 13, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <102.0.0.1>, <source port> of packet 4 (start packet). Number> = <300>, <destination IP address> = <200.0.0.10>, <destination port number> = <80>) as a key, and searches for a new session identifier database 304, which is the same as the above session identifier. Check for entry.
[0345]
In step SE2, the new / existing session determination unit 303 determines whether there is an entry in the new session identifier database 304 that is identical to the session identifier of the packet 4 (start packet). In this case, the determination result is “No”. "
[0346]
In step SE3, the new / existing session determining unit 303 determines whether or not the packet 4 (start packet) is a session start packet from the ON / OFF state of the SYN flag of the packet 4 (start packet). In this case, if the SYN flag of packet 4 (start packet) is set to ON, the new / existing session determination unit 303 sets the determination result in step SE4 to “Yes”.
[0347]
In step SE5, the new / existing session determination unit 303 adds an entry to the new session identifier database 304. Specifically, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <102.0.0.1>, <source port number> = <300>, <transmission of the packet 4 (start packet). (Destination IP address> = <200.0.0.10>, <destination port number> = <80>) is added to the new session identifier database 304 as an entry.
[0348]
In step SE6, the new / existing session determination unit 303 notifies the distribution destination determination unit 307 that the session of packet 4 (start packet) is a new session, and then determines the determination in step SD1 shown in FIG. Do.
[0349]
When the received packet data (packet 4 (start packet)) is passed from the client side packet receiving unit 301, the old rule applying unit 801 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[0350]
In step SM2, the old rule application unit 801 uses the currently set distribution rule (in this case, the random rule B ′) and the session identifier included in the packet 4 (start packet) as keys, and the distribution destination information holding unit 803. Check if there is an entry in.
[0351]
In step SM3, the old rule application unit 801 determines whether there is an entry in the distribution destination information holding unit 803. In this case, the determination result is “No”. In step SM4, the old rule applying unit 801 applies the currently set random rule B ', and randomly assigns the assignment destination (for example, the higher layer device 500).1IP address <200.0.0.1>).
[0352]
In step SM5, the old rule application unit 801 adds an entry (distribution destination information) to the distribution destination information holding unit 803. In step SM6, the old rule application unit 801 notifies the distribution destination to the distribution destination determination unit 307, and then performs the determination in step SM1.
[0353]
When the received packet data (packet 4 (start packet)) is passed from the client side packet receiving unit 301, the new rule applying unit 802 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[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 information holding unit 803. Check if there is an entry in.
[0355]
In step SM3, the new rule application unit 802 determines whether there is an entry in the distribution destination information holding unit 803, and in this case, the determination result is “No”. In step SM4, the new rule application unit 802 applies the currently set random rule C ′ and randomly distributes the distribution destination (for example, the higher layer device 500).2IP address <200.0.0.2>).
[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 information holding unit 803. In step SM6, the new rule application unit 802 notifies the distribution destination to the distribution destination determination unit 307, and then performs the determination in step SM1.
[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 destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0358]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0359]
In step SG3, the distribution destination determination unit 307 determines whether the session of the packet 4 (start packet) is an existing session based on the notification (new session or existing session) from the new / existing session determination unit 303. In this case, the determination result is “No”.
[0360]
In step SG4, the distribution destination determination unit 307 determines the distribution destination (higher layer device 500) notified from the new rule application unit 802.2IP address <200.0.0.2>) is determined as a distribution destination of the packet 4 (start packet) and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0361]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0362]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0363]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 4 (start packet) corresponding to the received packet data, and generates a packet 4 (start packet) for transmission. Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer apparatus 500) notified from the new rule application unit 802.2<Destination IP address> of packet 4 (start packet) is rewritten from <200.0.0.10> to <200.0.0.2>.
[0364]
In step SH4, the server-side packet transmission unit 308 distributes the packet 4 (start packet) generated in step SH3 in the new session 2 (see FIG. 9) to the distribution-destination higher layer apparatus 500.2After transmitting to (see step SA11 in FIG. 9), the determination in step SH1 is performed.
[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 new session 2 as packet 4 (start packet) described above. In this packet 5 (intermediate packet), <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, <destination Port number> is set to <80>.
[0366]
In step SA13, the packet 5 (intermediate packet) is received by the client side packet receiving unit 301 of the distribution apparatus 800 shown in FIG. 25 via the Internet 200 shown in FIG.
[0367]
Thereby, the client side packet receiving unit 301 sets “Yes” as a result of the determination made at step SB1 shown in FIG. In step SB2, the client side packet receiving unit 301 determines whether or not the received packet 5 (intermediate packet) corresponds to the maintenance request. In this case, the determination result is “No”.
[0368]
In step SB5, the client side packet receiving unit 301 converts the received packet 5 (intermediate packet) into received packet data, and the new / existing session determining unit 303, the old rule applying unit 801, the new rule applying unit 802, and the server side. After passing to the packet transmission unit 308, the determination of step SB1 is performed.
[0369]
When the received packet data (packet 5 (intermediate packet)) is passed from the client side packet receiving unit 301, the new / existing session determination unit 303 sets the determination result of step SD1 shown in FIG. In step SD <b> 2, the new / existing session determination unit 303 checks the device state based on the notification from the maintenance / normal state switching unit 302. In this case, the apparatus state is a maintenance state.
[0370]
In step SD3, the new / existing session determination unit 303 determines whether or not the apparatus state is a maintenance state. In this case, the determination result is “Yes”. In step SD4, the new / existing session determination unit 303 executes a maintenance state process.
[0371]
Specifically, in step SE1 shown in FIG. 13, the new / existing session determination unit 303 determines the session identifier (<source IP address> = <102.0.0.1>, <source port> of packet 5 (intermediate packet). Number> = <300>, <destination IP address> = <200.0.0.10>, <destination port number> = <80>) as a key, and searches for a new session identifier database 304, which is the same as the above session identifier. Check for entry.
[0372]
In step SE2, the new / existing session determination unit 303 determines whether there is an entry in the new session identifier database 304 that is the same as the session identifier of the packet 5 (intermediate packet). In this case, the determination result is “Yes”. "
[0373]
In step SE6, the new / existing session determination unit 303 notifies the distribution destination determination unit 307 that the session of packet 5 (intermediate packet) is a new session, and then determines the determination in step SD1 shown in FIG. Do.
[0374]
When the received packet data (packet 5 (intermediate packet)) is passed from the client side packet receiving unit 301, the old rule applying unit 801 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[0375]
In step SM2, the old rule application unit 801 uses the currently set distribution rule (in this case, the random rule B ′) and the session identifier included in the packet 5 (intermediate packet) as keys, and the distribution destination information holding unit 803. Check if there is an entry in.
[0376]
In this case, the distribution destination information holding unit 803 shown in FIG. 26 stores a session identifier of the packet 5 and an entry (distribution destination information) corresponding to the “distribution rule” (random rule B ′).
[0377]
In step SM3, the old rule application unit 801 determines whether there is an entry in the distribution destination information holding unit 803. In this case, the determination result is “Yes”. In step SM7, the old rule application unit 801 reads the distribution destination information corresponding to the “distribution rule” (random rule B ′) from the distribution destination information holding unit 803.
[0378]
In step SM6, the old rule application unit 801 determines the distribution destination (higher layer apparatus 500 from the distribution destination information).1IP address <200.0.0.1>) is acquired and the distribution destination is notified to the distribution destination determination unit 307, and then the determination in step SM1 is performed.
[0379]
When the received packet data (packet 5 (intermediate packet)) is passed from the client side packet receiving unit 301, the new rule applying unit 802 sets “Yes” as a result of the determination made at step SM1 shown in FIG.
[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 information holding unit 803. Check if there is an entry in.
[0381]
In this case, the distribution destination information holding unit 803 shown in FIG. 26 stores a session identifier of the packet 5 and an entry (distribution destination information) corresponding to the “distribution rule” (random rule C ′).
[0382]
In step SM3, the new rule application unit 802 determines whether or not there is an entry in the distribution destination information holding unit 803. In this case, the determination result is “Yes”. In step SM7, the new rule application unit 802 reads distribution destination information corresponding to the “distribution rule” (random rule C ′) from the distribution destination information holding unit 803.
[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 destination determination unit 307, and then the determination at step SM1 is performed.
[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 destination determination unit 307, the distribution destination determination unit 307 sets “Yes” as a result of the determination made at step SG1 shown in FIG.
[0385]
In step SG2, the distribution destination determination unit 307 determines whether or not the current device state is the normal state based on the notification from the maintenance / normal state switching unit 302. In this case, the determination result is “No”. And
[0386]
In step SG3, the distribution destination determination unit 307 determines whether the session of the packet 5 (intermediate packet) is an existing session based on the notification (new session or existing session) from the new / existing session determination unit 303. In this case, the determination result is “No”.
[0387]
In step SG4, the distribution destination determination unit 307 determines the distribution destination (higher layer device 500) notified from the new rule application unit 802.2IP address <200.0.0.2>) is determined as a distribution destination of the packet 5 (intermediate packet) and notified to the server-side packet transmission unit 308, and then the determination in step SG1 is performed.
[0388]
When the received packet data is passed from the client side packet receiving unit 301, the server side packet transmitting unit 308 sets “Yes” as a result of the decision made at step SH1 shown in FIG.
[0389]
In step SH2, the server-side packet transmission unit 308 determines whether or not the distribution destination is notified from the distribution destination determination unit 307. In this case, the determination result is “Yes”.
[0390]
In step SH3, the server-side packet transmitter 308 updates the header of the packet 5 (intermediate packet) corresponding to the received packet data, and generates a transmission packet 5 (intermediate packet). Specifically, the server-side packet transmission unit 308 assigns the distribution destination (higher layer apparatus 500) notified from the new rule application unit 802.2<Destination IP address> of packet 5 (intermediate packet) is rewritten from <200.0.0.10> to <200.0.0.2>.
[0390]
In step SH4, the server-side packet transmission unit 308 transmits the packet 5 (intermediate packet) generated in step SH3 in the new session 2 (see FIG. 9) to the same high-order layer as the packet 4 (start packet). Device 5002After transmitting to (see step SA14 in FIG. 9), the determination in step SH1 is performed.
[0392]
When the countdown of the timer 309 becomes 0, in step SA15 shown in FIG. 9, the timer 309 transmits a maintenance end signal to the maintenance / normal state switching unit 302 to end the maintenance.
[0393]
When the maintenance end signal is received, the maintenance / normal state switching unit 302 sets “Yes” as a result of the determination made at step SC3 shown in FIG. In step SC4, the maintenance / normal state switching unit 302 notifies the new / existing session determination unit 303 and the distribution destination determination unit 307 that the current apparatus state is the normal state.
[0394]
As a result, the new / existing session determination unit 303 deletes all entries in the new session identifier database 304 because the current apparatus state has changed from the maintenance state to the normal state.
[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 new session 2 as packet 4 (start packet) and packet 5 (intermediate packet) described above. In this packet 6 (end packet), <source IP address> is <102.0.0.1>, <source port number> is <300>, <destination IP address> is <200.0.0.10>, <destination Port number> is set to <80>.
[0396]
In step SA17, the packet 6 (end packet) is received by the client side packet receiving unit 301 of the distribution apparatus 800 shown in FIG. 25 via the Internet 200 shown in FIG.
[0397]
Thereafter, through the above-described operation, the packet 6 (end packet) corresponding to the new session 2 is similarly assigned to the same distribution destination (high order packet) as the packet 4 (start packet) and packet 5 (intermediate packet) corresponding to the new session 2. Layer device 5002IP address <200.0.0.2>).
[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 packet reception unit 301 illustrated in FIG. 2 has a function of outputting a maintenance start signal and a distribution rule has been described. The component which implement | achieves automatically may be provided. Hereinafter, this configuration example will be described as a fourth embodiment.
[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 distribution device 900 is provided instead of the distribution device 300 shown in FIG.
[0401]
FIG. 29 is a block diagram showing the configuration of the sorting apparatus 900 shown in FIG. In this figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted. 29, a client side packet receiving unit 901 is provided instead of the client side packet receiving unit 301 shown in FIG. In the distribution apparatus 900, a maintenance request control unit 902 is newly provided.
[0402]
The client-side packet receiving unit 901 receives the client 100 shown in FIG.1And 10021 is received via the Internet 200, and the packet is converted into received packet data in a format that can be internally processed by the distribution device 900, and then passed to each unit.
[0403]
In addition, when receiving a maintenance request packet (see FIG. 3A) from the network administrator terminal 400 (see FIG. 28), the client-side packet receiving unit 901 passes this packet to the maintenance request control unit 902.
[0404]
When the maintenance request control unit 902 receives a maintenance request packet from the client-side packet reception unit 901, the maintenance request control unit 902 passes the distribution rule corresponding to the distribution rule type to the new rule application unit 306 as a new rule.
Further, the maintenance request control unit 902 has a function of holding a subsequent packet until the processing of the previous packet is completed when the next maintenance request packet is further received in the maintenance state after receiving the maintenance request packet. It has.
[0405]
When the processing of the previous packet is completed, the maintenance request control unit 902 executes processing for notifying a maintenance start signal and a distribution rule corresponding to the subsequent packet. Thereby, in Embodiment 4, a maintenance request can be received continuously.
[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 maintenance request packet 2. Appears. Therefore, in the following, the case of packet 2 will be described in detail.
[0408]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the distribution device 900 from the current rule B (see FIG. 5B) to the rule C (see FIG. 5C). A maintenance request is issued using the network administrator terminal 400 shown in FIG.
[0409]
Here, in step SN1 shown in FIG. 30, the maintenance request control unit 902 determines whether or not a maintenance request packet is passed from the client side packet receiving unit 901. In this case, the determination result is “No”. Repeat the same judgment.
[0410]
Then, the packet 2 corresponding to the maintenance request is transmitted from the network administrator terminal 400 to the distribution device 900. In step SA5 shown in FIG. 9, the packet 2 is received by the client-side packet receiving unit 901 of the distribution apparatus 900.
[0411]
The client side packet receiving unit 901 passes the packet 2 to the maintenance request control unit 902 because the received packet 2 corresponds to the maintenance request. Accordingly, the maintenance request control unit 902 sets “Yes” as a result of the determination made at step SN1 shown in FIG.
[0412]
In step SN 2, maintenance request control section 902 passes a maintenance start signal corresponding to packet 2 to maintenance / normal state switching section 302.
[0413]
When the maintenance start signal is received, the maintenance / normal state switching unit 302 sets “Yes” as a result of the determination made at step SC1 shown in FIG. Thereafter, the processing after step SC2 described above is executed.
[0414]
In step SN3 shown in FIG. 30, the maintenance request control unit 902 notifies the new rule application unit 306 of the rule C (see FIG. 5C) as a new rule, and then makes a determination in step SN1. Thereby, the rule C is set as a new rule in the new rule application unit 306.
[0415]
Also, the new rule application unit 306 notifies the old rule application unit 305 of the rule B (see FIG. 5B) set before the rule C is set. As a result, the rule B is set as the old rule in the old rule application unit 305.
[0416]
Subsequently, a packet 2 ′ (not shown) corresponding to the maintenance request is transmitted from the network administrator terminal 400 to the distribution device 900. This packet 2 ′ is received by the client side packet receiving unit 901 of the distribution apparatus 900. Here, since the client side packet receiving unit 901 is executing the maintenance request for the packet 2 first, the client side packet receiving unit 901 holds the received packet 2 ′ and requests the maintenance of the packet 2 ′ after the processing corresponding to the packet 2 is completed. It passes to the control unit 902. Thereafter, as described above, the process is executed every time a packet is received.
[0417]
As described above, according to the fourth embodiment, when a maintenance request packet is continuously received by the client-side packet reception unit 901, the maintenance request control unit 902 performs processing corresponding to the previous maintenance request packet. Is executed, and after the processing corresponding to the previous maintenance request packet is completed, the processing corresponding to the subsequent maintenance request packet is executed. Since the maintenance requests can be sequentially processed, frequent rule changes can be handled.
[0418]
(Embodiment 5)
In the first embodiment described above, the configuration example in which the maintenance end signal is generated by the timer 309 shown in FIG. 2 has been described. However, instead of the timer 309, the maintenance end signal is replaced by a component that measures the end timing. It is good also as a structure which produces | generates. Hereinafter, this configuration example will be described as a fifth embodiment.
[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 distribution device 1000 is provided instead of the distribution device 300 shown in FIG.
[0420]
FIG. 32 is a block diagram showing the configuration of the sorting apparatus 1000 shown in FIG. In this figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted.
[0421]
32, instead of the maintenance / normal state switching unit 302, the timer 309, and the new / existing session determination unit 303 shown in FIG. 2, a maintenance / normal state switching unit 1001, an end timing measuring unit 1002, and a new / existing session are included. A determination unit 1003 is provided.
[0422]
When the maintenance start signal is passed from the client side packet receiving unit 301, the maintenance / normal state switching unit 1001 notifies the distribution destination determining unit 307 and the new / existing session determining unit 1003 of the maintenance state.
[0423]
The maintenance / normal state switching unit 1001 passes the measurement start signal to the end timing measurement unit 1002 when the maintenance start signal is passed. Also, when the maintenance / normal state switching unit 1001 receives a maintenance end signal from the end timing measuring unit 1002, the maintenance / normal state switching unit 1001 notifies the distribution destination determining unit 307 and the new / existing session determining unit 1003 of the normal state.
[0424]
When the measurement start signal is passed from the maintenance / normal state switching unit 1001, the end timing measuring unit 1002 measures time until the set time elapses, and the end timing of the maintenance state, that is, the device state is changed from the maintenance state to the normal state. Measure the timing to enter the state.
[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 maintenance request packet 2. Appears. Therefore, in the following, the case of packet 2 will be described in detail.
[0427]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the distribution apparatus 1000 from the current rule B (see FIG. 5B) to the rule C (see FIG. 5C). A maintenance request is issued using the network administrator terminal 400 shown in FIG.
[0428]
Here, in step SO1 shown in FIG. 33, the maintenance / normal state switching unit 1001 determines whether or not a maintenance start signal is passed from the client side packet receiving unit 301. In this case, the determination result is “No”. And In step SO4, the maintenance / normal state switching unit 1001 determines whether a maintenance end signal is passed from the end timing measurement unit 1002, and in this case, the determination result is “No”. Thereafter, the determinations in steps SO1 and SO4 are repeated until the determination result is “Yes”.
[0429]
In step SP1 shown in FIG. 34, the end timing measurement unit 1002 determines whether or not a measurement start signal is passed from the maintenance / normal state switching unit 1001, and in this case, the determination result is “No”. Repeat the same judgment.
[0430]
Then, the packet 2 corresponding to the maintenance request is transmitted from the network administrator terminal 400 to the distribution apparatus 1000. In step SA5 illustrated in FIG. 9, the packet 2 is received by the client-side packet reception unit 301 of the distribution apparatus 1000.
[0431]
The client side packet receiving unit 301 passes a maintenance start signal to the maintenance / normal state switching unit 1001 because the received packet 2 corresponds to the maintenance request. Thereby, the maintenance / normal state switching unit 1001 sets “Yes” as a result of the determination made at step SO1 shown in FIG.
[0432]
In step SO2, the maintenance / normal state switching unit 1001 notifies the distribution destination determination unit 307 and the new / existing session determination unit 1003 of the maintenance state. In step SO3, the maintenance / normal state switching unit 1001 passes a measurement start signal to the end timing measuring unit 1002.
[0433]
In step SO4, the maintenance / normal state switching unit 1001 determines whether or not a maintenance end signal has been passed from the end timing measurement unit 1002, and in this case, the determination result is “No” and the determination in step SO1 is performed.
[0434]
Further, when the measurement start signal is passed from the maintenance / normal state switching unit 1001, the end timing measurement unit 1002 sets “Yes” as a result of the determination made at step SP1 shown in FIG. In step SP2, the end timing measuring unit 1002 starts measuring time. In step SP3, the end timing measurement unit 1002 determines whether or not the set time has elapsed. In this case, the determination result is “No” and the determination is repeated.
[0435]
When the determination result in step SP3 is “Yes”, in step SP4, the end timing measurement unit 1002 passes a maintenance end signal to the maintenance / normal state switching unit 1001.
[0436]
Thereby, the maintenance / normal state switching unit 1001 sets “Yes” as a result of the determination made at step SO4 shown in FIG. In step SO5, the maintenance / normal state switching unit 1001 notifies the distribution destination determination unit 307 and the new / existing session determination unit 1003 of the normal state, and then performs the determination in step SO1.
[0437]
As described above, according to the fifth embodiment, the client side packet reception unit 301 receives a maintenance request packet for changing a rule, and receives a measurement start signal from the maintenance / normal state switching unit 1001. Since a maintenance end signal for ending the combination period is passed from the end timing measuring unit 1002 to the maintenance / normal state switching unit 1001 after a predetermined time has elapsed from the previous session, an existing session is monitored by a simple method of monitoring the elapse of the predetermined time. Can prevent cutting.
[0438]
(Embodiment 6)
In the first embodiment described above, the client 100 is shown in FIG.1And 1002And a higher layer device group 501 are provided with a distribution device 300, and the client 1001And 1002However, it is also possible to provide a distribution device between the higher layer device group 501 and the server group 601 to distribute packets from the server group 601. Hereinafter, this configuration example will be described as a sixth embodiment.
[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 distribution device 1100 is provided instead of the distribution device 300 shown in FIG. In FIG. 35, a distribution device 1200 is newly provided between the higher layer device group 501 and the server group 601.
[0441]
The distribution apparatus 1100 is similar to the distribution apparatus 300 (see FIG. 1), and the client 1001And 1002Packets from the higher layer device 500 according to the distribution rule1~ 500ThreeIs provided with a function of allocating to any one of the higher layer devices.
[0442]
The distribution apparatus 1100 also has a function of transmitting a maintenance request packet from the network administrator terminal 400 to the distribution apparatus 1200 and synchronizing the maintenance start timing with the distribution apparatus 1200. Here, in the sixth embodiment, in the maintenance request packet, a time at which maintenance is simultaneously started by the distribution device 1100 and the distribution device 1200 is set as a synchronization time.
[0443]
FIG. 36 is a block diagram showing a configuration of the sorting apparatus 1100 shown in FIG. In this figure, parts corresponding to those in FIG. 2 are denoted by the same reference numerals, and description thereof is omitted.
[0444]
36, a client side packet receiving unit 1101 is provided instead of the client side packet receiving unit 301 shown in FIG. In the distribution apparatus 1100, a maintenance request packet transmission unit 1102, a maintenance request control unit 1103, and a synchronization timing measurement unit 1104 are newly provided.
[0445]
The client-side packet receiving unit 1101 is the client 100 shown in FIG.1And 10021 is received via the Internet 200, and the packet is converted into received packet data in a format that can be internally processed by the distribution apparatus 1100, and then passed to each unit.
[0446]
When the client side packet receiving unit 1101 receives a maintenance request packet (see FIG. 3A) from the network administrator terminal 400 (see FIG. 35), the client side packet receiving unit 1101 sends the packet to the maintenance request packet transmitting unit 1102 and the maintenance request packet. The request is transferred to the request control unit 1103.
[0447]
The maintenance request packet transmission unit 1102 has a function of transmitting a maintenance request packet passed from the client side packet reception unit 1101 to the distribution device 1200 (see FIG. 35).
[0448]
When the maintenance request control unit 1103 receives a maintenance request packet from the client side packet reception unit 1101, the maintenance request control unit 1103 passes the distribution rule corresponding to the distribution rule type to the new rule application unit 306 as a new rule.
[0449]
The maintenance request control unit 1103 notifies the synchronization timing measurement unit 1104 of the synchronization time set in the maintenance request packet. Further, when a start instruction is issued from the synchronization timing measurement unit 1104, the maintenance request control unit 1103 passes a maintenance start signal to the maintenance / normal state switching unit 302.
[0450]
The synchronization timing measurement unit 1104 has a function of measuring the synchronization timing between the distribution device 1100 and the distribution device 1200. When the time of an internal timer (not shown) becomes the synchronization time notified from the maintenance request control unit 1103. Then, a start instruction for instructing the maintenance request control unit 1103 to start maintenance is issued.
[0451]
The distribution device 1200 shown in FIG. 35 is substantially the same as the configuration of the distribution device 1100 (see FIG. 36) described above. However, the distribution device 1200 is not provided with a component corresponding to the maintenance request packet transmission unit 1102 (see FIG. 36).
[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 maintenance request packet 2. Appears. Therefore, in the following, the case of packet 2 will be described in detail.
[0454]
(Maintenance request by packet 2)
In step SA4 shown in FIG. 9, the network administrator changes the distribution rule in the distribution device 1100 from the current rule B (see FIG. 5B) to rule C (see FIG. 5C). A maintenance request is issued using the network administrator terminal 400 shown in FIG.
[0455]
Here, in step SQ1 shown in FIG. 37, the client-side packet receiving unit 1101 determines whether or not a packet has been received. In this case, the determination result is “No” and the determination is repeated.
[0456]
In step SR1 shown in FIG. 38, the maintenance request control unit 1103 determines whether or not a maintenance request packet is passed from the client side packet reception unit 1101, and in this case, the determination result is “No”. Repeat the same judgment.
[0457]
Then, the packet 2 corresponding to the maintenance request is transmitted from the network administrator terminal 400 to the distribution apparatus 1100. It is assumed that a synchronization time is set in this packet 2.
[0458]
In step SA5 illustrated in FIG. 9, the packet 2 is received by the client-side packet reception unit 1101 of the distribution device 1100. As a result, the client-side packet receiving unit 1101 sets “Yes” as a result of the determination made at step SQ1 shown in FIG.
[0459]
In step SQ2, it is determined whether or not the packet 2 corresponds to the maintenance request. In this case, the determination result is “Yes”. If the determination result in step SQ2 is “No”, in step SQ4, the client side packet receiving unit 1101 converts the packet into received packet data and passes it to each unit.
[0460]
In step SQ3, the client side packet receiving unit 1101 transfers the maintenance request packet 2 to the maintenance request packet transmitting unit 1102 and the maintenance request control unit 1103, and then performs the determination in step SQ1.
[0461]
The maintenance request packet transmission unit 1102 transmits the maintenance request packet 2 to the distribution device 1200 (see FIG. 35). When the maintenance request packet 2 is passed, the maintenance request control unit 1103 sets “Yes” as a result of the determination made at step SR1 shown in FIG.
[0462]
In step SR2, the maintenance request control unit 1103 notifies the synchronization timing measurement unit 1104 of the synchronization time set in the maintenance request packet 2. In step SR3, the maintenance request control unit 1103 determines whether or not there is a start instruction from the synchronization timing measurement unit 1104. In this case, the determination result is “No” and the determination is repeated.
[0463]
Then, the synchronization timing measurement unit 1104 issues a start instruction to the maintenance request control unit 1103 when the internal timer reaches the synchronization time notified from the maintenance request control unit 1103.
[0464]
Accordingly, the maintenance request control unit 1103 sets “Yes” as a result of the determination made at step SR3 shown in FIG. In step SR4, the maintenance request control unit 1103 passes a maintenance start signal to the maintenance / normal state switching unit 302. Thereby, in the distribution device 1100, at the synchronization time, the device state shifts from the normal state to the maintenance state, and the maintenance is started.
[0465]
In step SR5, the maintenance request control unit 1103 notifies the rule C (see FIG. 5C) as a new rule to the new rule application unit 306, and then makes a determination in step SR1. Thereby, the rule C is set as a new rule in the new rule application unit 306.
[0466]
Also, the new rule application unit 306 notifies the old rule application unit 305 of the rule B (see FIG. 5B) set before the rule C is set. As a result, the rule B is set as the old rule in the old rule application unit 305.
[0467]
On the other hand, when the maintenance request packet 2 is received from the distribution apparatus 1100 to the distribution apparatus 1200 (see FIG. 35), the distribution apparatus 1200 also executes the processing described in FIG. 37 and FIG. At the synchronized time, the apparatus state shifts from the normal state to the maintenance state, and maintenance starts.
[0468]
As described above, according to the sixth embodiment, the maintenance for changing the rule from the distribution device 1100 to the distribution device 1200 (opposite side distribution device) provided on the opposite side across the higher layer device group 501 is performed. Since the request packet is transmitted, it is possible to distribute the upstream and downstream traffic to the higher layer apparatus group 501 without disconnecting the session.
[0469]
Further, according to the sixth embodiment, since the packet including the synchronization time for simultaneously executing the rule change is transmitted from the distribution device 1100 to the distribution device 1200 (opposite distribution device), the synchronization of the rule change start is performed. Can take.
[0470]
Although Embodiments 1 to 6 according to the present invention have been described in detail with reference to the drawings, specific configuration examples are not limited to these Embodiments 1 to 6 and depart from the gist of the present invention. Even if there is a design change within a range not to be included, it is included in the present invention.
[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-readable recording medium 1400 shown in FIG. Each function may be realized by causing the computer 1300 shown in the figure to read and execute the program recorded in the recording medium 1400.
[0472]
A computer 1300 shown in the figure includes a CPU (Central Processing Unit) 1310 that executes the above-described program, an input device 1320 such as a keyboard and a mouse, a ROM (Read Only Memory) 1330 that stores various data, an operation parameter, and the like RAM (Random Access Memory) 1340, a reading device 1350 for reading a program from a recording medium 1400, an output device 1360 such as a display and a printer, and a bus 1370 for connecting each part of the device.
[0473]
The CPU 1310 implements the above-described functions by reading a program recorded on the recording medium 1400 via the reading device 1350 and then executing the program. Note that examples of the recording medium 1400 include an optical disk, a flexible disk, and a hard disk.
[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 supplementary note 1, wherein the determination is performed as described above.
[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 appendix 1 or 2, characterized in that:
[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 attachment 3, wherein the distribution control program is executed.
[0480]
(Supplementary note 5) The distribution control program according to supplementary note 3, wherein the combination period setting unit terminates the combination period after a predetermined time has elapsed since the rule change request was received.
[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 appendices 1 to 5, wherein the distribution control program is distributed to a device group.
[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 Appendices 1 to 6, characterized in that for distributing traffic corresponding to the new session.
[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 appendices 1 to 7, further comprising: a control unit that executes a process corresponding to the subsequent rule change request after the process is completed.
[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 supplementary note 11, wherein the determination is made as described above.
[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 Supplementary Note 11 or 12,
[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 appendix 13, wherein
[0490]
(Supplementary note 15) The distribution control device according to supplementary note 13, wherein the combination period setting unit terminates the combination period after a predetermined time has elapsed after receiving the rule change request.
[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 appendices 11 to 15, wherein the distribution control device is distributed to a device group.
[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 Appendices 11 to 16, characterized in that for distributing traffic corresponding to the new session.
[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 appendices 11 to 17, further comprising: a control unit that executes processing corresponding to the subsequent rule change request after completion of the process.
[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 sorting apparatus 300 shown in FIG.
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 session identifier database 304 shown in FIG. 2. FIG.
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 packet reception unit 301 shown in FIG.
11 is a flowchart for explaining the operation of the maintenance / normal state switching unit 302 shown in FIG. 2;
12 is a flowchart for explaining the operation of a new / existing session determination unit 303 shown in FIG.
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 rule application unit 306 and an old rule application unit 305 shown in FIG.
15 is a flowchart for explaining the operation of a distribution destination determination unit 307 shown in FIG.
16 is a flowchart for explaining the operation of the server-side packet transmission unit 308 shown in FIG.
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 sorting apparatus 700 shown in FIG.
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 session determination unit 701 shown in FIG.
FIG. 21 is a flowchart for explaining operations of a new rule application unit 703 and an old rule application unit 702 shown in FIG. 18;
22 is a flowchart for explaining the operation of a distribution destination comparing unit 705 shown in FIG.
23 is a flowchart for explaining the operation of a distribution destination determination unit 704 shown in FIG.
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 sorting apparatus 800 shown in FIG.
26 is a diagram showing a table structure of a distribution destination information holding unit 803 shown in FIG.
27 is a flowchart for explaining operations of a new rule application unit 802 and an old rule application unit 801 shown in FIG.
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 sorting apparatus 900 shown in FIG.
30 is a flowchart for explaining the operation of the maintenance request control unit 902 shown in FIG. 29. FIG.
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 sorting apparatus 1000 shown in FIG. 31. FIG.
33 is a flowchart for explaining the operation of the maintenance / normal state switching unit 1001 shown in FIG. 32;
34 is a flowchart for explaining the operation of the end timing measuring unit 1002 shown in FIG. 32. FIG.
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 sorting apparatus 1100 shown in FIG. 35. FIG.
FIG. 37 is a flowchart for explaining the operation of the client side packet receiving unit 1101 shown in FIG. 36;
38 is a flowchart for explaining the operation of the maintenance request control unit 1103 shown in FIG. 36.
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:
前記セッション判断手段は、前記ルール変更要求後に確立した前記新規セッションを識別するための新規セッション識別子を保持しておき、該新規セッション識別子と前記トラヒックに含まれるセッション識別子とを照合することにより、前記判断を行うことを特徴とする請求項1に記載の振り分け制御装置。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, thereby The distribution control device according to claim 1, wherein the determination is performed. 前記セッション判断手段は、前記ルール変更要求後で生じた前記トラヒックについて、前記ルール変更要求前の振り分けルールが適用された振り分け先と、前記ルール変更要求後の振り分けルールが適用された振り分け先とが同一である場合、前記判断を行わず、前記振り分け手段は、前記同一である場合、前記ルール変更要求後の振り分けルールが適用された振り分け先に基づいて、前記トラヒックを前記振り分け先装置群へ振り分けることを特徴とする請求項1または2に記載の振り分け制御装置。The session determination means includes a distribution destination to which a distribution rule before the rule change request is applied and a distribution destination to which a distribution rule after the rule change request is applied for the traffic generated after the rule change request. If they are the same, the determination is not performed, and if the same, the distribution unit distributes the traffic to the distribution destination device group based on a distribution destination to which the distribution rule after the rule change request is applied. The distribution control device according to claim 1 or 2, wherein 前記振り分けルールは、トラヒックをランダムに振り分けるランダムルールであり、前記ルール変更要求前のランダムルールに従って最初に振り分けられた前記既存セッションに対応するトラヒックに関する既存セッション振り分け先情報と、前記ルール変更要求後のランダムルールに従って最初に振り分けられた前記新規セッションに対応するトラヒックに関する新規セッション振り分け先情報とを保持する振り分け先情報保持手段とを備え、前記振り分け手段は、前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記既存セッション振り分け先情報に基づいて、前記既存セッションに対応するトラヒックを振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記新規セッション振り分け先情報に基づいて、前記新規セッションに対応するトラヒックを振り分けることを特徴とする請求項1〜3のいずれか一つに記載の振り分け制御装置。The distribution rule is a random rule that randomly distributes traffic, existing session distribution destination information related to traffic corresponding to the existing session first distributed according to the random rule before the rule change request, and after the rule change request Distribution destination information holding means for holding new session distribution destination information relating to traffic corresponding to the new session initially distributed according to a random rule, wherein the distribution means is configured to determine whether the session is the existing session by the session determination means. When it is determined that it is a session, traffic corresponding to the existing session is distributed based on the existing session distribution destination information, while when it is determined that the session is the new session, Serial based on the new session distribution destination information, distribution control device according to any one of claims 1 to 3, characterized in that for distributing traffic corresponding to the new session. 前記ルール変更要求が連続的にあった場合、先のルール変更要求に対応する処理を実行させ、後のルール変更要求を保持しておき、前記先のルール変更要求に対応する処理が終了した後、前記後のルール変更要求に対応する処理を実行させる制御手段、を備えたことを特徴とする請求項1〜4のいずれか一つに記載の振り分け制御装置。When there is a continuous rule change request, the process corresponding to the previous rule change request is executed, the subsequent rule change request is retained, and the process corresponding to the previous rule change request is completed The distribution control device according to claim 1, further comprising: a control unit that executes a process corresponding to the subsequent rule change request.
JP2003016694A 2003-01-24 2003-01-24 Distribution control device Expired - Fee Related JP4057434B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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