JP2004229130A - 振り分け制御装置 - Google Patents

振り分け制御装置 Download PDF

Info

Publication number
JP2004229130A
JP2004229130A JP2003016694A JP2003016694A JP2004229130A JP 2004229130 A JP2004229130 A JP 2004229130A JP 2003016694 A JP2003016694 A JP 2003016694A JP 2003016694 A JP2003016694 A JP 2003016694A JP 2004229130 A JP2004229130 A JP 2004229130A
Authority
JP
Japan
Prior art keywords
rule
packet
unit
session
distribution
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.)
Granted
Application number
JP2003016694A
Other languages
English (en)
Other versions
JP4057434B2 (ja
Inventor
Kazumine Matoba
一峰 的場
Kensaku Amo
健策 天羽
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/ja
Publication of JP2004229130A publication Critical patent/JP2004229130A/ja
Application granted granted Critical
Publication of JP4057434B2 publication Critical patent/JP4057434B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更時のセッション切断を防ぐこと。
【解決手段】トラヒック(パケット)を振り分けるルールを変更するための要求を受けて、ルール変更要求前の旧ルールと変更後の新ルールとを併用する併用期間内で生じたトラヒックのセッションが、併用期間よりも前に確立した既存セッション、併用期間内に確立した新規セッションのうちいずれのものであるかを判断する新規/既存セッション判断部303と、既存セッションであると判断された場合、旧ルールに従って、トラヒックを振り分け先装置群へ振り分け、新規セッションであると判断された場合、新ルールに従って、トラヒックを振り分ける振り分け先決定部307およびサーバ側パケット送信部308とを備えている。
【選択図】 図2

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は、上述した従来のスター型の負荷分散システムの構成を示すブロック図である。この図において、クライアント10およびクライアント10は、インターネット20に接続されており、振り分け装置30および高位レイヤ装置群51を経由して、サーバ群61との間でパケットの送受信を行うコンピュータ装置である。
【0012】
振り分け装置30は、インターネット20と高位レイヤ装置50〜50との間に介挿されており、予め設定された振り分けルールに従って、クライアント10および10からのパケット(トラヒック)を対応する各高位レイヤ装置(高位レイヤ装置50〜50のうちいずれか一つの高位レイヤ装置)に振り分ける装置である。
【0013】
ここで、振り分け装置30には、振り分けルールの一つとして、「クライアント10からのパケットを高位レイヤ装置50へ振り分ける」というルール1が設定されているものとする。
【0014】
高位レイヤ装置50〜50のそれぞれは、振り分け装置30におけるパケットの振り分け先となるネットワーク装置であり、高位レイヤ装置群51を構成している。また、高位レイヤ装置50〜50のそれぞれは、トラヒックのセッションを管理する。
【0015】
例えば、高位レイヤ装置50は、セッション1_1、・・・を管理する。高位レイヤ装置50は、セッション2_1、・・・を管理する。高位レイヤ装置50は、セッション3_1、・・・を管理する。
【0016】
ここで、高位レイヤ装置50は、振り分け装置30とサーバ60 _ 〜60 _ との間に介挿されている。高位レイヤ装置50は、振り分け装置30とサーバ60 _ 〜60 _ との間に介挿されている。
【0017】
また、高位レイヤ装置50は、振り分け装置30とサーバ60 _ 〜60 _ との間に介挿されている。これらのサーバ60 _ 〜60 _ 、サーバ60 _ 〜60 _ およびサーバ60 _ 〜60 _ は、サーバ群61を構成している。
【0018】
つぎに、図40に示した従来のスター型の負荷分散システムの動作について説明する。以下では、クライアント10から、同一のセッション1_1でパケット1〜3を送信する場合について説明する。
【0019】
まず、クライアント10からパケット1が送信されると、該パケット1は、インターネット20を介して、振り分け装置30に受信される。振り分け装置30は、前述したルール1に従って、受信したパケット1を高位レイヤ装置50へ振り分ける。
【0020】
これにより、セッション1_1でパケット1が振り分けられ、該パケット1は、高位レイヤ装置50に受信された後、例えば、サーバ60_に受信される。このセッション1_1は、高位レイヤ装置50により管理される。
【0021】
続いて、クライアント10から上記セッション1_1に対応するパケット2が送信されると、該パケット2は、インターネット20を介して、振り分け装置30に受信された後、前述したルール1に従って、高位レイヤ装置50へ振り分けられる。そして、パケット2は、高位レイヤ装置50に受信された後、例えば、サーバ60_に受信される。
【0022】
続いて、クライアント10から上記セッション1_1に対応するパケット3が送信されると、該パケット3は、インターネット20を介して、振り分け装置30に受信された後、前述したルール1に従って、高位レイヤ装置50へ振り分けられる。
【0023】
そして、パケット3は、高位レイヤ装置50に受信された後、例えば、サーバ60_に受信される。これにより、パケット1〜3を送信するというパケット通信が終了し、セッション1_1が正常終了で切断される。
【0024】
ここで、図40に示した負荷分散システムのメンテナンスにおいては、システム全体の処理性能を上げるために高位レイヤ装置を増設したり、振り分け先の高位レイヤ装置を変更する等の状況が発生する。
【0025】
かかる状況では、振り分け装置30の振り分け先としての高位レイヤ装置群51の構成が変化する。つまり、高位レイヤ装置の増設や変更に伴って、構成上、高位レイヤ装置群51に特定の高位レイヤ装置を追加したり、高位レイヤ装置を変更することになる。
【0026】
例えば、振り分け装置30においては、前述したルール1(「クライアント10からのパケットを高位レイヤ装置50へ振り分ける」)が、ルール2(「クライアント10からのパケットを高位レイヤ装置50へ振り分ける」)に変更される。
【0027】
【特許文献1】
特開2000−112909号公報
【特許文献2】
特開2002−183106号公報
【0028】
【発明が解決しようとする課題】
ところで、前述したように、従来の負荷分散システム(図40参照)においては、メンテナンス時の振り分け装置30における振り分けルールの変更により、同一のトラヒックに対する振り分け先の高位レイヤ装置が変更された場合、処理対象のトラヒックのセッションに不整合が生じ、正常処理を行うことができず、セッションが切断されるという問題があった。
【0029】
以下では、図40に示したセッション1_1で、クライアント10から送信されたパケット1が、振り分け装置30で前述したルール1に従って、高位レイヤ装置50に振り分けられた後、振り分けルールがルール1(旧ルール)からルール2(新ルール)へ変更された場合について、説明する。
【0030】
この場合、振り分けルールの変更後に、クライアント10からセッション1_1に対応するパケット2が送信されると、このパケット2は、振り分け装置30で、ルール2に従って、高位レイヤ装置50に振り分けられる。
【0031】
しかしながら、高位レイヤ装置50では、上記セッション1_1の情報を持っていないため、パケット2を正常受信できず、破棄等が発生する。一方、高位レイヤ装置50では、パケット1に続くパケット2を受信できないため、タイムアウト等により、セッション1_1が切断される。
【0032】
ここで、上記セッションの切断を回避する方法としては、高位レイヤ装置50〜50の相互間でセッションの情報を交換することで、セッションの整合を採り、新ルールにおける振り分け先の高位レイヤ装置が、旧ルール下のセッションの状態を維持できるようにする方法が考えられる。
【0033】
しかしながら、この方法は、セッションの情報の交換に際して、高位レイヤ装置の処理負荷を増大させるとともに、高位レイヤ装置間のネットワーク帯域をいたずらに消費させるという重大な欠点がある。
【0034】
本発明は、上記に鑑みてなされたもので、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更時にセッションの切断を防ぐことができる振り分け制御装置を提供することを目的とする。
【0035】
【課題を解決するための手段】
上記目的を達成するために、本発明は、トラヒックを振り分け先装置群へ振り分ける振り分けルールの変更要求を受け、前記トラヒックのセッションが、ルール変更要求前に確立した既存セッションであるのか、ルール変更要求後に確立した新規セッションであるのかを判断するセッション判断手段と、前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け手段と、を備えたことを特徴とする。
【0036】
この発明によれば、トラヒックの振り分け先の処理負荷やネットワーク帯域の消費を増大させることなく、振り分けルールの変更のセッション切断を防ぐことができる。
【0037】
【発明の実施の形態】
以下、図面を参照して本発明にかかる振り分け制御装置の実施の形態1〜6について詳細に説明する。
【0038】
(実施の形態1)
図1は、本発明にかかる実施の形態1が適用される負荷分散システムの構成を示すブロック図である。同図に示した負荷分散システムにおいて、クライアント100およびクライアント100は、インターネット200に接続されており、振り分け装置300および高位レイヤ装置群501を経由して、サーバ群601との間でパケットの送受信を行うコンピュータ装置である。
【0039】
クライアント100には、IPアドレス<101.0.0.1>が付与されている。また、クライアント100には、IPアドレス<102.0.0.1>が付与されている。
【0040】
振り分け装置300は、インターネット200と高位レイヤ装置500〜500との間に介挿されており、予め設定された振り分けルールに従って、クライアント100および100からのパケット(トラヒック)を高位レイヤ装置500〜500のうちいずれか一つの高位レイヤ装置へ振り分ける装置である。
【0041】
具体的には、振り分け装置300は、クライアント100および100からのパケット(トラヒック)の送信先IPアドレスを、振り分けルールに基づいて、高位レイヤ装置500〜500のうちいずれか一つの高位レイヤ装置のIPアドレスに書き換えることで振り分け処理を実行する。
【0042】
ネットワーク管理者端末400は、ネットワーク管理者により操作されるコンピュータ端末であり、振り分け装置300に接続されている。このネットワーク管理者端末400は、例えば、振り分け装置300における振り分けルールを変更するためのメンテナンスを行う場合に、メンテナンス要求のパケットを振り分け装置300へ送信する。
【0043】
このメンテナンス要求のパケットは、図3(a)に示したフォーマット(振り分けルール種別、必要パラメータ、高位レイヤ装置リスト)とされている。メンテナンス要求の例としては、図3(b)に示したものとされる。
【0044】
ここで、振り分け装置300においては、図4に示したように、上記メンテナンスが行われるメンテナンス状態と、メンテナンスを行わない通常状態という二つの装置状態が存在する。
【0045】
図1に戻り、高位レイヤ装置500〜500のそれぞれは、振り分け装置300におけるパケットの振り分け先となるネットワーク装置であり、トラヒックのセッション状態を管理する。これらの高位レイヤ装置500〜500は、高位レイヤ装置群501を構成している。この高位レイヤ装置群501には、代表IPアドレス<200.0.0.10>が付与されている。
【0046】
ここで、高位レイヤ装置500は、振り分け装置300とサーバ600_〜600_ との間に介挿されている。高位レイヤ装置500は、振り分け装置300とサーバ600_〜600_ との間に介挿されている。また、高位レイヤ装置500は、振り分け装置300とサーバ600_〜600 _ との間に介挿されている。これらのサーバ600 _ 〜600 _ 、サーバ600 _ 〜600 _ およびサーバ600 _ 〜600 _ は、サーバ群601を構成している。
【0047】
また、高位レイヤ装置500〜500は、サーバ群601からクライアント100および100へのパケットに対して、送信元IPアドレスを高位レイヤ装置群501の代表IPアドレス<200.0.0.10>に書き換えて送信する。
【0048】
従って、振り分け装置300は、高位レイヤ装置500〜500 からクライアント100、100へ送信されたパケットに対して、IPアドレスの書き換え処理を実行することはなく、単にパケットをクライアント側へ転送すればよい。
【0049】
また、別の構成として、高位レイヤ装置500〜500が、クライアント100および100へのパケットに対して、送信元IPアドレスを各高位レイヤ装置のIPアドレス<200.0.0.1〜3>に書き換えて送信してもよい。
【0050】
この場合、振り分け装置300は、高位レイヤ装置500〜500 からクライアント100、100へ送信されたパケットに対して、その送信元IPアドレスを高位レイヤ装置群501の代表IPアドレス<200.0.0.10>に書き換える機能を有している。
【0051】
なお、以下では、高位レイヤ装置群501とサーバ群601と間の通信、およびサーバ群601からクライアント100および100へ送信されたパケットに対する処理については、実施の形態1の本質ではないためその詳細な説明を省略する。
【0052】
図2は、図1に示した振り分け装置300の構成を示すブロック図である。同図に示した振り分け装置300において、クライアント側パケット受信部301は、図1に示したクライアント100および100から送信されたパケットをインターネット200を介して受信し、該パケットを、振り分け装置300で内部処理が可能な形式の受信パケットデータに変換する。
【0053】
また、クライアント側パケット受信部301は、ネットワーク管理者端末400(図1参照)よりメンテナンス要求(図3(a)参照)のパケットを受信した場合に、メンテナンスの開始を指示するためのメンテナンス開始信号をメンテナンス/通常状態切替部302へ渡す。
【0054】
また、クライアント側パケット受信部301は、上記メンテナンス要求(図3(a)参照)のパケットを受信した場合に、振り分けルール種別に対応する振り分けルールを、新ルールとして、新ルール適用部306へ渡す。
【0055】
さらに、クライアント側パケット受信部301は、クライアント100、100からのパケットを受信した場合に、該パケットに対して、ヘッダチェック等のパケット受信処理を行い、受信パケットデータを利用する各部へ渡す。
【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>が適用された場合、クライアント100からのパケットは、振り分け装置300により、高位レイヤ装置500へ振り分けられる。また、クライアント100からのパケットは、振り分け装置300により、高位レイヤ装置500へ振り分けられる。
【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アドレス」は、パケットの送信元(クライアント100、100)に付与された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から通知された振り分け先をもとに、高位レイヤ装置500〜500のうちいずれか一つの高位レイヤ装置へパケットを送信する。また、サーバ側パケット送信部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では、クライアント100は、既存セッション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(旧ルール)によれば、クライアント100からのパケット1を受信したので、このパケット1の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.3>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.3>)を振り分け先決定部307へ通知する。
【0110】
また、クライアント側パケット受信部301より受信パケットデータ(パケット1)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールB(図5(b)参照)を適用し、該ルールBにおけるパケット1の振り分け先を決定する。
【0111】
この場合、ルールB(新ルール)によれば、クライアント100からのパケット1を受信したので、このパケット1の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.1>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0112】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.3>)と、新ルール適用部306から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0113】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0114】
ステップSG5では、振り分け先決定部307は、新ルール適用部306から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)に基づいて、パケット1の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0118】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット1を振り分け先の高位レイヤ装置500へ送信(図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では、クライアント100は、上述したパケット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(旧ルール)によれば、クライアント100からのパケット3を受信したので、このパケット3の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0140】
また、クライアント側パケット受信部301より受信パケットデータ(パケット3)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット3の振り分け先を決定する。
【0141】
この場合、ルールC(新ルール)によれば、クライアント100からのパケット3を受信したので、このパケット3の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0142】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)に基づいて、パケット3の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0149】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット3を振り分け先の高位レイヤ装置500へ送信(図9:ステップSA8参照)した後、ステップSH1の判断を行う。
【0150】
(メンテナンス状態におけるパケット4の振り分け)
そして、メンテナンス状態において、図9に示したステップSA9では、クライアント100は、上述したパケット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(旧ルール)によれば、クライアント100からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0163】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット4の振り分け先を決定する。
【0164】
この場合、ルールC(新ルール)によれば、クライアント100からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0165】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)に基づいて、パケット4の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0172】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット4を振り分け先の高位レイヤ装置500へ送信(図9:ステップSA11参照)した後、ステップSH1の判断を行う。
【0173】
(メンテナンス状態におけるパケット5の振り分け)
そして、メンテナンス状態において、図9に示したステップSA12では、クライアント100は、上述したパケット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(旧ルール)によれば、クライアント100からのパケット5を受信したので、このパケット5の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0184】
また、クライアント側パケット受信部301より受信パケットデータ(パケット5)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット5の振り分け先を決定する。
【0185】
この場合、ルールC(新ルール)によれば、クライアント100からのパケット5を受信したので、このパケット5の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0186】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)に基づいて、パケット5の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0193】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット5を振り分け先の高位レイヤ装置500へ送信(図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では、クライアント100は、上述したパケット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(旧ルール)によれば、クライアント100からのパケット6を受信したので、このパケット6の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.1>である。ステップSF3では、旧ルール適用部305は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)を振り分け先決定部307へ通知する。
【0205】
また、クライアント側パケット受信部301より受信パケットデータ(パケット6)を渡されると、新ルール適用部306は、図14に示したステップSF1の判断結果を「Yes」とする。ステップSF2では、新ルール適用部306は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット6の振り分け先を決定する。
【0206】
この場合、ルールC(新ルール)によれば、クライアント100からのパケット6を受信したので、このパケット6の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.2>である。ステップSF3では、新ルール適用部306は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)を振り分け先決定部307へ通知する。
【0207】
そして、旧ルール適用部305から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部306から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0208】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0209】
ステップSG5では、振り分け先決定部307は、新ルール適用部306から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)に基づいて、パケット6の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0213】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット6を振り分け先の高位レイヤ装置500へ送信(図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に示したクライアント100および100と高位レイヤ装置500および500との間で図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では、クライアント100は、上述したパケット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(旧ルール)によれば、クライアント100からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.2>である。ステップSJ3では、旧ルール適用部702は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)を振り分け先決定部704および振り分け先比較部705へ通知する。
【0242】
また、クライアント側パケット受信部301より受信パケットデータ(パケット4)を渡されると、新ルール適用部703は、図21に示したステップSJ1の判断結果を「Yes」とする。ステップSJ2では、新ルール適用部703は、現在設定されている新ルールとしてのルールC(図5(c)参照)を適用し、該ルールCにおけるパケット4の振り分け先を決定する。
【0243】
この場合、ルールC(新ルール)によれば、クライアント100からのパケット4を受信したので、このパケット4の振り分け先は、高位レイヤ装置500のIPアドレス<200.0.0.2>である。ステップSJ3では、新ルール適用部703は、上記振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)を振り分け先決定部704および振り分け先比較部705へ通知する。
【0244】
そして、新ルール適用部703から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)が、旧ルール適用部702から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)が通知されると、振り分け先比較部705は、図22に示したステップSK1の判断結果を「Yes」とする。
【0245】
ステップSK2では、振り分け先比較部705は、新ルール適用部703からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)と、旧ルール適用部702からの振り分け先(高位レイヤ装置500の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からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)と、新ルール適用部703からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)とが振り分け先決定部704にそれぞれ通知されると、振り分け先決定部704は、図23に示したステップSL1の判断結果を「Yes」とする。
【0252】
ステップSL2では、振り分け先決定部704は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「No」とする。
【0253】
ステップSL3では、振り分け先決定部704は、振り分け先比較部705から通知された比較結果に基づいて、両振り分け先が同一であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0254】
ステップSL6では、振り分け先決定部704は、新ルール適用部703から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)に基づいて、パケット4の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0258】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット4を振り分け先の高位レイヤ装置500へ送信(図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では、クライアント100からパケットとして、同一のセッションに対応する開始パケット、途中パケットおよび終了パケットが順次、振り分け装置300(図1参照)に受信された場合、開始パケット、途中パケットおよび終了パケットの全てが高位レイヤ装置500へ振り分けられる。
【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アドレス」は、「振り分けルール」の適用により決定された振り分け先(高位レイヤ装置500〜500のいずれか一つの高位レイヤ装置)に付与された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に示したクライアント100および100と高位レイヤ装置500および500との間で図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では、クライアント100は、既存セッション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’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置500の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’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置500のIPアドレス<200.0.0.1>)を決定する。
【0294】
ステップSM5では、新ルール適用部802は、図26に示した「振り分けルール」(ランダムルールB’)に対応するエントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、新ルール適用部802は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0295】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.3>)と、新ルール適用部802からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)とが振り分け先決定部307にそれぞれ通知されると、振り分け先決定部307は、図15に示したステップSG1の判断結果を「Yes」とする。
【0296】
ステップSG2では、振り分け先決定部307は、メンテナンス/通常状態切替部302からの通知に基づいて、現在の装置状態が通常状態であるか否かを判断し、この場合、判断結果を「Yes」とする。
【0297】
ステップSG5では、振り分け先決定部307は、新ルール適用部802から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)に基づいて、パケット1(開始パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0301】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット1(開始パケット)を振り分け先の高位レイヤ装置500へ送信(図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では、クライアント100は、上述したパケット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は、上記振り分け先情報から振り分け先(高位レイヤ装置500の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’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置500のIPアドレス<200.0.0.2>)を決定する。
【0329】
ステップSM5では、新ルール適用部802は、図26に示した「振り分けルール」(ランダムルールC’)に対応するエントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、新ルール適用部802は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0330】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部802からの振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)に基づいて、パケット3(終了パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.1>に書き換える。
【0337】
ステップSH4では、サーバ側パケット送信部308は、既存セッション1(図9参照)で、ステップSH3で生成されたパケット3(終了パケット)を、パケット1(開始パケット)と同一の振り分け先の高位レイヤ装置500へ送信(図9:ステップSA8参照)した後、ステップSH1の判断を行う。
【0338】
(メンテナンス状態におけるパケット4(開始パケット)の振り分け)
そして、メンテナンス状態において、図9に示したステップSA9では、クライアント100は、上述したパケット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’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置500の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’を適用し、ランダムに振り分け先(例えば、高位レイヤ装置500のIPアドレス<200.0.0.2>)を決定する。
【0356】
ステップSM5では、新ルール適用部802は、図26に示した「振り分けルール」(ランダムルールC’)に対応するエントリ(振り分け先情報)を振り分け先情報保持部803に追加する。ステップSM6では、新ルール適用部802は、上記振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0357】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部802からの振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)に基づいて、パケット4(開始パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0364】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット4(開始パケット)を振り分け先の高位レイヤ装置500へ送信(図9:ステップSA11参照)した後、ステップSH1の判断を行う。
【0365】
(メンテナンス状態におけるパケット5の振り分け)
そして、メンテナンス状態において、図9に示したステップSA12では、クライアント100は、上述したパケット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は、上記振り分け先情報から振り分け先(高位レイヤ装置500の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は、上記振り分け先情報から振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)の情報を取得し、この振り分け先を振り分け先決定部307へ通知した後、ステップSM1の判断を行う。
【0384】
そして、旧ルール適用部801からの振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.1>)と、新ルール適用部802からの振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500の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から通知された振り分け先(高位レイヤ装置500のIPアドレス<200.0.0.2>)に基づいて、パケット5(途中パケット)の<送信先IPアドレス>を、<200.0.0.10>から<200.0.0.2>に書き換える。
【0391】
ステップSH4では、サーバ側パケット送信部308は、新規セッション2(図9参照)で、ステップSH3で生成されたパケット5(途中パケット)を、パケット4(開始パケット)と同一の振り分け先の高位レイヤ装置500へ送信(図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では、クライアント100は、上述したパケット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(途中パケット)と同一の振り分け先(高位レイヤ装置500の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に示したクライアント100および100から送信されたパケットをインターネット200を介して受信し、該パケットを、振り分け装置900で内部処理が可能な形式の受信パケットデータに変換した後、各部へ渡す。
【0403】
また、クライアント側パケット受信部901は、ネットワーク管理者端末400(図28参照)よりメンテナンス要求(図3(a)参照)のパケットを受信した場合に、このパケットをメンテナンス要求制御部902へ渡す。
【0404】
メンテナンス要求制御部902は、クライアント側パケット受信部901よりメンテナンス要求のパケットを受信した場合に、振り分けルール種別に対応する振り分けルールを、新ルールとして、新ルール適用部306へ渡す。
また、メンテナンス要求制御部902は、メンテナンス要求のパケットを受信した後、メンテナンス状態でさらにつぎのメンテナンス要求のパケットを受信した場合、先のパケットの処理が終了するまで、後のパケットを保持する機能を備えている。
【0405】
メンテナンス要求制御部902は、先のパケットの処理が終了すると、後のパケットに対応するメンテナンス開始信号や振り分けルールを通知する処理を実行する。これにより、実施の形態4では、連続的にメンテナンス要求を受け付けることができる。
【0406】
つぎに、前述した実施の形態1と同様にして、図28に示したクライアント100および100と高位レイヤ装置500および500との間で図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に示したクライアント100および100と高位レイヤ装置500および500との間で図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にクライアント100および100と高位レイヤ装置群501との間に振り分け装置300を設けて、クライアント100および100からのパケットを振り分ける構成例について説明したが、高位レイヤ装置群501とサーバ群601との間にも振り分け装置を設けて、サーバ群601からのパケットも振り分ける構成としてもよい。以下では、この構成例を実施の形態6として説明する。
【0439】
図35は、本発明にかかる実施の形態6が適用される負荷分散システムの構成を示すブロック図である。この図において、図1の各部に対応する部分には同一の符号を付けその説明を省略する。
【0440】
図35においては、図1に示した振り分け装置300に代えて、振り分け装置1100が設けられている。また、図35においては、高位レイヤ装置群501とサーバ群601との間に振り分け装置1200が新たに設けられている。
【0441】
振り分け装置1100は、振り分け装置300(図1参照)と同様にして、クライアント100および100からのパケットを、振り分けルールに従って、高位レイヤ装置500〜500のうちいずれか一つの高位レイヤ装置へ振り分ける機能を備えている。
【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に示したクライアント100および100から送信されたパケットをインターネット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に示したクライアント100および100と高位レイヤ装置500および500との間で図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】従来のスター型の負荷分散システムの構成を示すブロック図である。
【符号の説明】
100、100 クライアント
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 振り分け装置

Claims (5)

  1. トラヒックを振り分け先装置群へ振り分ける振り分けルールの変更要求を受け、前記トラヒックのセッションが、ルール変更要求前に確立した既存セッションであるのか、ルール変更要求後に確立した新規セッションであるのかを判断するセッション判断手段と、
    前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記ルール変更要求前の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記ルール変更要求後の振り分けルールに従って、トラヒックを前記振り分け先装置群へ振り分ける振り分け手段と、
    を備えたことを特徴とする振り分け制御装置。
  2. 前記セッション判断手段は、前記ルール変更要求後に確立した前記新規セッションを識別するための新規セッション識別子を保持しておき、該新規セッション識別子と前記トラヒックに含まれるセッション識別子とを照合することにより、前記判断を行うことを特徴とする請求項1に記載の振り分け制御装置。
  3. 前記セッション判断手段は、前記ルール変更要求後で生じた前記トラヒックについて、前記ルール変更要求前の振り分けルールが適用された振り分け先と、前記ルール変更要求後の振り分けルールが適用された振り分け先とが同一である場合、前記判断を行わず、前記振り分け手段は、前記同一である場合、前記ルール変更要求後の振り分けルールが適用された振り分け先に基づいて、前記トラヒックを前記振り分け先装置群へ振り分けることを特徴とする請求項1または2に記載の振り分け制御装置。
  4. 前記振り分けルールは、トラヒックをランダムに振り分けるランダムルールであり、前記ルール変更要求前のランダムルールに従って最初に振り分けられた前記既存セッションに対応するトラヒックに関する既存セッション振り分け先情報と、前記ルール変更要求後のランダムルールに従って最初に振り分けられた前記新規セッションに対応するトラヒックに関する新規セッション振り分け先情報とを保持する振り分け先情報保持手段とを備え、前記振り分け手段は、前記セッション判断手段により、前記セッションが前記既存セッションであると判断された場合、前記既存セッション振り分け先情報に基づいて、前記既存セッションに対応するトラヒックを振り分け、一方、前記セッションが前記新規セッションであると判断された場合、前記新規セッション振り分け先情報に基づいて、前記新規セッションに対応するトラヒックを振り分けることを特徴とする請求項1〜3のいずれか一つに記載の振り分け制御装置。
  5. 前記ルール変更要求が連続的にあった場合、先のルール変更要求に対応する処理を実行させ、後のルール変更要求を保持しておき、前記先のルール変更要求に対応する処理が終了した後、前記後のルール変更要求に対応する処理を実行させる制御手段、を備えたことを特徴とする請求項1〜4のいずれか一つに記載の振り分け制御装置。
JP2003016694A 2003-01-24 2003-01-24 振り分け制御装置 Expired - Fee Related JP4057434B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003016694A JP4057434B2 (ja) 2003-01-24 2003-01-24 振り分け制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003016694A JP4057434B2 (ja) 2003-01-24 2003-01-24 振り分け制御装置

Publications (2)

Publication Number Publication Date
JP2004229130A true JP2004229130A (ja) 2004-08-12
JP4057434B2 JP4057434B2 (ja) 2008-03-05

Family

ID=32904067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003016694A Expired - Fee Related JP4057434B2 (ja) 2003-01-24 2003-01-24 振り分け制御装置

Country Status (1)

Country Link
JP (1) JP4057434B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080493A (ja) * 2010-10-06 2012-04-19 Hitachi Ltd アクセス中継方法、アクセス中継プログラム、および、中継装置
JP2015154396A (ja) * 2014-02-18 2015-08-24 富士ゼロックス株式会社 情報処理装置、端末、情報処理システム及び情報処理プログラム
JP5866554B1 (ja) * 2014-10-21 2016-02-17 パナソニックIpマネジメント株式会社 ゲームシステム、管理装置、及び、リーダライタ装置
JP5866558B1 (ja) * 2014-11-26 2016-02-17 パナソニックIpマネジメント株式会社 ゲームシステム及び管理装置
JP5866555B1 (ja) * 2014-10-21 2016-02-17 パナソニックIpマネジメント株式会社 ゲームシステム及び管理装置
JP2016131353A (ja) * 2015-01-15 2016-07-21 日本電信電話株式会社 セッション継続システムおよびその方法
WO2022038934A1 (ja) 2020-08-18 2022-02-24 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2022038933A1 (ja) 2020-08-18 2022-02-24 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US20230254248A1 (en) * 2020-07-01 2023-08-10 Nippon Telegraph And Telephone Corporation L2 switch, communication control method, and communication control program

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012080493A (ja) * 2010-10-06 2012-04-19 Hitachi Ltd アクセス中継方法、アクセス中継プログラム、および、中継装置
JP2015154396A (ja) * 2014-02-18 2015-08-24 富士ゼロックス株式会社 情報処理装置、端末、情報処理システム及び情報処理プログラム
JP5866554B1 (ja) * 2014-10-21 2016-02-17 パナソニックIpマネジメント株式会社 ゲームシステム、管理装置、及び、リーダライタ装置
JP5866555B1 (ja) * 2014-10-21 2016-02-17 パナソニックIpマネジメント株式会社 ゲームシステム及び管理装置
JP5866558B1 (ja) * 2014-11-26 2016-02-17 パナソニックIpマネジメント株式会社 ゲームシステム及び管理装置
JP2016131353A (ja) * 2015-01-15 2016-07-21 日本電信電話株式会社 セッション継続システムおよびその方法
US20230254248A1 (en) * 2020-07-01 2023-08-10 Nippon Telegraph And Telephone Corporation L2 switch, communication control method, and communication control program
WO2022038934A1 (ja) 2020-08-18 2022-02-24 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2022038933A1 (ja) 2020-08-18 2022-02-24 富士フイルム株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JP4057434B2 (ja) 2008-03-05

Similar Documents

Publication Publication Date Title
US9659075B2 (en) Providing high availability in an active/active appliance cluster
US10404773B2 (en) Distributed cluster processing system and packet processing method thereof
CN104025552B (zh) 链路聚合中流量多路复用的同步
WO2021135468A1 (zh) 段标识的确定方法和设备
Xie et al. Supporting seamless virtual machine migration via named data networking in cloud data center
JP2021536708A (ja) トラフィックスケジューリング方法、デバイス、およびシステム
JP4398354B2 (ja) 中継システム
WO2021082575A1 (zh) 一种报文转发方法、设备、存储介质及系统
WO2021098271A1 (zh) 下发oam配置信息的方法及控制节点
JP5164953B2 (ja) インタネットワーク装置
JP5107339B2 (ja) アクティブ地理的冗長性のためのシステムおよび方法
JP2011160363A (ja) コンピュータシステム、コントローラ、スイッチ、及び通信方法
JP4057434B2 (ja) 振り分け制御装置
CN109587286A (zh) 一种设备接入控制方法及装置
Wang et al. An AODV-based anycast protocol in mobile ad hoc network
JP5564661B2 (ja) 中継ノード及び中継処理プログラム
Li et al. Fast congestion-free consistent flow forwarding rules update in software defined networking
CN112291815A (zh) 一种mptcp连接建立方法及装置
JP2007272540A (ja) データ配信方法及びデータ配信システム
WO2021083228A1 (zh) 报文转发方法、装置及计算机存储介质
JP4579850B2 (ja) ブレード型システムおよびコネクション管理方法
WO2022062956A1 (zh) 一种流量处理方法、装置和网络设备
JP2005057693A (ja) ネットワーク仮想化システム
JP5673268B2 (ja) 通信装置、およびプログラム
JP5889813B2 (ja) 通信システムおよびプログラム

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