JP3901982B2 - ネットワークプロセッサの負荷分散装置 - Google Patents

ネットワークプロセッサの負荷分散装置 Download PDF

Info

Publication number
JP3901982B2
JP3901982B2 JP2001320959A JP2001320959A JP3901982B2 JP 3901982 B2 JP3901982 B2 JP 3901982B2 JP 2001320959 A JP2001320959 A JP 2001320959A JP 2001320959 A JP2001320959 A JP 2001320959A JP 3901982 B2 JP3901982 B2 JP 3901982B2
Authority
JP
Japan
Prior art keywords
balance control
load balance
control unit
distribution
load
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
JP2001320959A
Other languages
English (en)
Other versions
JP2003122731A (ja
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 JP2001320959A priority Critical patent/JP3901982B2/ja
Priority to US10/116,593 priority patent/US7310674B2/en
Priority to CNB021472645A priority patent/CN1188995C/zh
Publication of JP2003122731A publication Critical patent/JP2003122731A/ja
Application granted granted Critical
Publication of JP3901982B2 publication Critical patent/JP3901982B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/583Stackable routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ルーティングやアドレス検索等の機能を持つ複数のネットワークプロセッサを実装した通信装置に適用され、個々のネットワークプロセッサに対するフレーム処理の負荷分散制御を行う負荷分散装置に関する。
【0002】
【従来の技術】
近年のインターネット人口の急激な増加に伴い、インターネット上で扱われるデータ量も急激に増加している。これに伴い、ルータやスイッチ等の通信装置においても、IP等の通信フレーム(パケット)のルーティング処理やスイッチング処理、及びアドレス検索やルーティングテーブル検索等の処理に対する負荷が急激に増加し、通信装置の性能向上、及びネットワークプロセッサの処理能力向上が要求されている。このため、通信装置に対して要求される処理能力を満足するネットワークプロセッサを通信装置に実装する必要がある。
【0003】
しかし、ここ数年のインターネット通信量の急激な増加に伴い、必ずしも個々のネットワークプロセッサの処理能力が装置開発時点において要求を満足出来るとは限らない。この場合は、処理能力の劣るネットワークプロセッサを複数実装した並列処理を行うと共に、個々のネットワークプロセッサの処理能力を超えないように、各ネットワークプロセッサに対してフレーム処理量の負荷分散(ロードバランス)を行う必要がある。
【0004】
従来技術においては、並列実装されたネットワークプロセッサに対して、ロードバランスの処理を行う場合は、各フレームの持つアドレス等の情報から送信する方路の振り分けを行い、各ネットワークプロセッサへフレーム送信を行っていた。また、この方路の振り分けを計算する際の制御パラメータを予め複数設定しておき、特定のネットワークプロセッサに対して、送信フレームが集中するようなフレーム振り分けの偏りが生じた場合には、この制御パラメータの変更を行い、フレームの振り分け先を一括変更して、フレーム振り分けの偏りの解消を行っていた。
【0005】
【発明が解決しようとする課題】
しかしながら、上記した従来技術では、フレームの振り分け先が一括変更されるため、パラメータの変更の前後において、全てのフレームに対するフレームの送信先変更が発生する可能性があった。このとき、フレーム振り分けの偏りが生じていない方路のフレームが、制御パラメータの変更前後で異なるネットワークプロセッサへ送信された場合には、フレームの連続性が破壊される。これによって、フレームの切断が発生し、フレームが正常に通信できない。このような制御パラメータの動的な変更が頻繁に行われる場合には、通信装置の信頼性が低下する可能性があった。
【0006】
本発明の目的は、入力情報の振り分け先が特定のネットワークプロセッサに偏った場合に、他のネットワークプロセッサに振り分けられた入力情報に影響を与えることなく偏りを解消可能なネットワークプロセッサの負荷分散装置を提供することである。
【0007】
【課題を解決するための手段】
本発明は、上述した目的を達成するために以下の構成を採用する。
即ち、本発明は、受信手段と、この受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサとを含む通信装置に設けられ、直列に多段接続され、受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従ってネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、
2段目以降の各ロードバランス制御部は、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を、前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って、他のネットワークプロセッサに振り分ける、ネットワークプロセッサの負荷分散装置である。
【0008】
本発明によると、ロードバランス制御部を直列に多段接続し、入力情報(例えばフレーム)の振り分けに偏りが発生した場合に、偏りが発生している振り分け先(方路)の入力情報のみ、次段のロードバランス制御部において、フレームの再振り分け処理を自動的に行うことにより、他の方路向けのフレームに影響を与えること無く、迅速にフレーム振り分けの偏りを解消することが可能となる。
【0009】
本発明による負荷分散装置は、最終段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、全てのロードバランス制御部で使用されている振り分け条件を更新する更新制御部をさらに含む、構成とするのが好ましい。
【0010】
このようにすれば、全段のロードバランス制御部を使用してもロードバランスの偏りが解消されない場合は、全段のロードバランス制御部の振り分け条件(パラメータ)を自動的に更新し、最終的にネットワーク形態に適したロードバランス制御を提供することが可能となる。
【0011】
本発明による負荷分散装置は、各ロードバランス制御部が、受信手段から受け取った入力情報に対し、前記振り分け処理を実行することなく所定のネットワークプロセッサに振り分けるように構成するのが好ましい。このようにすれば、本発明による負荷分散装置に対し、開発評価を効率的に行う為の機能を付加することができる。
【0012】
本発明による負荷分散装置は、各ロードバランス制御部が、複数のネットワークプロセッサの何れかに障害が発生した場合に、自身が使用している振り分け条件を、この障害が発生したネットワークプロセッサを除く振り分け先に対応する他の振り分け条件に変更する、ように構成するのが好ましい。
【0013】
このようにすれば、障害発生時においても最適なロードバランス制御を継続させる機能も具備することとなり、ロードバランスシステム全体の信頼性を高めることができる。
【0014】
また、本発明は、受信手段と、
前記受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサと、
直列に多段接続され、前記受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従ってネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部は、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って他のネットワークプロセッサに振り分ける負荷分散装置と、を含む通信装置として特定することもできる。
【0015】
本発明による通信装置は、前記受信手段で受信された異常な入力情報を、前記ネットワークプロセッサの何れかに与えることなく廃棄する、ように構成するのが好ましい。
このようにすれば、ネットワークプロセッサに与えられる入力情報が減り、ネットワークプロセッサに対する負荷が軽減される。
【0016】
また、本発明は、受信手段と、
前記受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサと、
直列に多段接続され、前記受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従って前記複数のネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部が、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を、前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って他のネットワークプロセッサに振り分ける、複数の負荷分散装置とを含み、
前記負荷分散装置の何れかが現用系として使用され、他の負荷分散装置が予備系となっている場合に、この現用系の負荷分散装置に含まれた各ロードバランス制御部で使用される振り分け条件を、予備系の負荷分散装置に含まれた各ロードバランス制御部に設定する、通信装置として特定することもできる。
【0017】
このようにすれば、通信装置が冗長構成を持つ場合においても最適なロードバランス制御を継続させる機能も具備することとなり、ロードバランスシステム全体の信頼性を高めることができる。
【0018】
【発明の実施の形態】
〔本発明の原理〕
図1は、本発明の原理説明図である。図1には、本発明による負荷分散装置100と、負荷分散装置100が実装される通信装置の主要な構成要素が示されている。通信装置は、外部から送信されてきた入力情報としての通信データ(以下、「フレーム」という)をその宛先に応じた出方路へ出力するものであり、ルータ、レイヤ3スイッチ、MPLSラベルスイッチ、これらの組み合わせを例示することができる。
【0019】
図1では、通信装置の主要構成要素として、受信手段としての回線インターフェイス部1と、負荷分散装置100と、位相補正部3と、分配部7と、複数のネットワークプロセッサ(以下、「NWP」と表記)8と、スイッチ部(以下、「SW」と表記)9と、制御手段としてのCPU10が示されている。
【0020】
回線インターフェイス部1は、通信装置の外部からのフレームを受信する。回線インターフェイス部1にて受信されたフレームは、フレームを負荷分散装置100及び位相補正部3に与えられる。
【0021】
負荷分散装置100は、回線インターフェイス部1から入力されるフレームが持つアドレス等の情報を用い、NWP8へフレームを送信する方路の振り分け処理(NWP8に対するフレーム処理の割り当て)を、複数のNWP8に対する負荷が分散されるように行い、この振り分け処理の結果に基づくフレーム送信許可信号を位相補正部3に与えるとともに、方路選択信号を分配部7に与える。
【0022】
位相補正部3は、内部にFIFO(First-In-First-Out)を具備している。位相補正部3は、回線インタフェース部1から送信されるフレームを受信すると共に、負荷分散装置100(負荷分散装置100のセレクタ4)からフレーム送信許可信号を受信するまで、FIFOに一時的にフレームを蓄える。位相補正部3は、負荷分散装置100からのフレーム送信許可信号に従い、分配部7へフレームを送信する。
【0023】
分配部7は、位相補正部3から受信したフレームを、負荷分散装置100(負荷分散装置100のセレクタ5)から送信される方路選択信号に従い、任意のNWP8に対して振り分ける。
【0024】
各NWP8は、分配器7から受信したフレームのルーティング処理やアドレスフィルタリング処理等を行い、フレームにルーティングヘッダを付加し、SW9へフレームを送信する。ここでは、NWP8の1個当たりの処理能力が、回線インタフェース部1からフルレートで送信されるフレームに対する処理能力を下回るので、フルレートで送信されるフレームの処理を可能とするために、M(Mは1以上の整数)個のNPW8が並列に実装されている。以下、特定のNWP8を指す場合には、「NWP8-#Y(Y=1,2,3,・・・,M−1,M;Yは番目(NWP8に割り当てられた番号)を指す1以上の整数)」と表記する。
【0025】
SW9は、各NWP8から入力されるフレームに対し、フレームに付加されたルーティングヘッダ等を用いてフレームのスイッチング処理を行う。CPU10は、CPUバス経由で負荷分散装置100内のロードバランス制御部2に各種の設定を施す。
【0026】
本発明による負荷分散装置100は、NWP8に対する負荷を分散するため、複数個のロードバランス制御部2と、セレクタ4と、セレクタ5と、デコード部6とを備えている。ロードバランス制御部2は、複数個が多段(2段以上)接続されている。以下、特定のロードバランス制御部2を指す場合には、「ロードバランス制御部2-#X(X=1,2,3,・・・,N−1,N;Xは段目を指す1以上の整数)」と表記する。図1では、N(Nは1以上の整数)個のロードバランス制御部2が直列にN段接続されている。また、ロードバランス制御部2は、CPUバスインタフェースを持ち、CPU10から、ソフトウェアによる各種設定を施される。
【0027】
各ロードバランス制御部2は、回線インターフェイス部1から送信されるフレームを受信し、フレームのヘッダに含まれたプロトコルID やアドレス値をもとに、CPU10から設定されるパラメータに従い、任意のNWP8へフレームを振り分ける処理(ロードバランス制御)を行う。
【0028】
図1においては、前段のロードバランス制御部2による振り分け処理の結果は、次段のロードバランス制御部2へ、振り分け情報として通知される。各ロードバランス制御部2は、フレームの振り分け処理が完了すると、フレーム送信許可信号をセレクタ4へ送信すると共に、方路選択信号をセレクタ5へ送信する。さらに、各ロードバランス制御部2はステータス信号をデコード部6に与える。
【0029】
セレクタ4は、各ロードバランス制御部2から与えられるフレーム送信許可信号の中から何れか1つを選択する。どれを選択するかはデコード部6から受信するセレクタ信号に従う。
【0030】
セレクタ5は、各ロードバランス制御部2から与えられる方路選択信号の中から何れか1つを選択する。どれを選択するかはデコード部6から受信するセレクタ信号に従う。
【0031】
デコード部6は、各ロードバランス制御部2のON/OFF 状態を示すステータス信号を受信し、ONになっているロードバランス制御部2の中で一番後段に存するロードバランス制御部2から送信されるフレーム送信許可信号及び方路選択信号がセレクタ4及びセレクタ5にて夫々選択されるように、デコード処理したセレクタ信号をセレクタ4及びセレクタ5に送信する。
【0032】
本発明による負荷分散装置100の作用を図1をもとに説明する。複数のロードバランス制御部2による振り分け処理(ロードバランス制御)は、負荷分散装置100の動作開始時(例えば、通信装置の電源投入後、またはリセット解除後)にスタートする。このとき、1段目のロードバランス制御部2-#1のロードバランス制御のみON状態となり、その他はOFF状態となっている。各ロードバランス制御部2は、電源投入/リセット解除後は、自身のロードバランス制御のON/OFF状態を示すステータス信号を常時デコード部6へ通知する状態となる。
【0033】
また、電源投入/リセット解除後の初期設定として、CPU10は、各ロードバランス制御部2に対し、NWP8の負荷分散に必要な設定を行う。ここで行われる設定は、ロードバランス制御のON/OFF設定、フレームの振り分け時に使用するパラメータの設定を含む。さらに、初期設定は、試験モードのON/OFF設定を含むこともできる。
【0034】
フレームの振り分け処理(ロードバランス制御)は、所定の振り分け条件に従って実行される。振り分け条件は、ある条件式を演算することにより得ることができる。例えば、受信フレーム内に格納されているアドレスを、ある生成多項式で除算を行い、その余り値を振り分け先を示す方路番号(方路選択番号)として選択し、この方路選択番号に対応するNWP8の番号(予め割り当てられている)を持つNWP8へフレームを振り分けるという振り分け条件に従ってフレームの振り分けを行う方法が挙げられる。
【0035】
この場合、パラメータは生成多項式を指し、フレームの振り分け処理において、特定の方路に対してフレームの振り分けが集中した時に、パラメータの動的変更により振り分け条件を変更して異なるフレームの振り分け結果を得られるように、複数の異なる生成多項式を各ロードバランス制御部2に対して設定する。
【0036】
回線インターフェイス部1は、フレームを受信すると、そのフレームを各ロードバランス制御部2及び位相補正部3に送信する。
各ロードバランス制御部2は、回線インターフェイス部1からフレームを受信すると、フレーム内に格納されているプロトコルIDやアドレスをチェックする。但し、この段階では、1段目のロードバランス制御部2-#1のみがONとなっているので、ロードバランス制御部2-#1のみが、フレームのプロトコルID やアドレスのチェックを開始する。
【0037】
上記プロトコルIDは、例えば、回線インタフェースがPOS(Packet Over SONET/SDH)インタフェースの場合は、PPP(Point to Point Protocol)で規定されているプロトコルIDを指す。また、上記アドレスは、IPv4(Internet Protocol version 4)やIPv6(Internet Protocol version 6)等のプロトコルで夫々規定されている宛先アドレスや送信元アドレスを指している。
【0038】
ロードバランス制御部2-#1は、設定された生成多項式に従い、フレーム単位に、振り分け演算処理を行う。即ち、ロードバランス制御部2-#1は、フレームのアドレスの格納領域をチェックし、そのアドレス値を生成多項式で除算し、その結果得られる余り値を方路選択番号として取得し、これを含む信号を方路選択信号として、セレクタ5へ通知する。
【0039】
また、ロードバランス制御部2-#1は、上記振り分けの演算処理が完了した時点で、位相補正部3にフレーム送信許可信号を送信する。なお、OFF状態となっている残りのロードバランス制御部2-#2〜Nは、受信したフレームに対する振り分け処理を行わない。
【0040】
デコード部6は、各ロードバランス制御部2からステータス信号を受信し、ステータス信号をデコードして、セレクタ信号を生成し、セレクタ4及びセレクタ5へそれぞれ送信する。ロードバランス制御部2-#1のみがONであれば、ロードバランス制御部2-#1から送信される方路選択信号及びフレーム送信許可信号が選択されるように、デコード部6はセレクタ信号を生成する。
【0041】
位相補正部3は、受信したフレームをセレクタ4から送信されるフレーム送信許可信号を受信するまでFIFOへ一旦蓄積し、フレーム送信許可信号がONになる(フレーム送信許可信号をセレクタ4から受け取る)と、FIFOに蓄積していたフレームを分配部7へ送信する。
分配部7は、セレクタ5から送信される方路選択信号に従い、位相補正部3から受信したフレームを、該当するNWP8へ送信する。
【0042】
各NWP8は、分配部7から受信したフレームに対してルーティング等の処理やアドレスフィルタリング処理を行い、フレームにルーティングヘッダ等を付加してSW9へ送信する。SW9は、フレームのルーティングヘッダ等に従ったスイッチングを行い、フレームを適宜の出方路へ送出する。
【0043】
以上の動作によって、回線インタフェース部1で受信されたフレームは、ロードバランス制御部2-#1に設定されたパラメータに従って振り分けられ、振り分け結果に該当するNWP8に与えられる。このようにして、NWP8によるフレーム処理の負荷分散が行われる。
【0044】
次に、振り分けに偏りが生じた場合を説明する。ロードバランス制御部2-#1による振り分け処理に偏りが発生し、特定のNWP8に対するフレーム振り分けが集中した場合は、ロードバランス制御部2-#1のすぐ後段(次段)に存するロードバランス制御部2-#2は、ロードバランス制御部2-#1から送信される振り分け情報により振り分け先の偏りを認識する。
【0045】
ここで、ロードバランス制御部2-#2は、自身がOFF状態であり、前段のロードバランス制御部2-#1にてフレーム振り分けの偏りを検出した場合は、自身のロードバランス制御をON状態に切り替え、偏りが発生している方路のフレームに対してのみ振り分け処理(再振り分け)を行う。
【0046】
後段に存するロードバランス制御部2(ここでは、ロードバランス制御部2-#2)には、再振り分け時に使用する生成多項式として、その前段のロードバランス制御部2(ここでは、ロードバランス制御部2-#1)にて振り分け処理に使用される生成多項式と異なる生成多項式が、CPU10により初期設定時に設定されている。この異なる生成多項式では、偏りが生じている方路が選択される余り値が求められないようになっている。このため、次段の振り分け条件は前段の振り分け条件と異なる。従って、再振り分けの結果は、前段の振り分け結果と当然異なり、前段にて偏りが発生している方路(振り分け先)へ振り分けられたフレームは、他の方路に分散して振り分けられる。これによって、偏りが解消される。
【0047】
一方、ロードバランス制御部2-#2 は、再振り分けの対象以外のフレームについては、ローバランス制御部2-#1からの振り分け情報を使用して、セレクタ4にフレーム送信許可信号を、セレクタ5へ方路選択信号を送信する。
【0048】
また、ロードバランス制御部2-#2がONとなった時点で、ロードバランス制御部2-#2からデコード部6に与えられるステータス信号は、OFFからONに切り替わる。ここに、デコード部6は、ON状態のロードバランス制御部2のうち最も後段に存するロードバランス制御部2のフレーム送信許可信号及び方路選択信号を選択するようになっている。このため、デコード部6は、ロードバランス制御部2-#2のフレーム送信許可信号と方路選択信号を選択するセレクタ信号をセレクタ4及びセレクタ5に送信する。
【0049】
さらに、ロードバランス制御部2-#2による再振り分け処理によっても偏りが解消されない場合には、同様に、次段のロードバランス制御部2(ロードバランス2-#3)のロードバランス制御が、ロードバランス制御部2-#2からの振り分け情報に基づいてONとなり、同様の再振り分け処理を行う。
【0050】
以上のようにして、前段のロードバランス制御部2によるフレームの振り分けに偏りが生じた場合に、次段のロードバランス制御部2が、偏りの発生した方路のフレームのみ再度振り分けを行う。これによって、偏りが解消されるとともに、偏りが発生していない方路のフレームは、再振り分けによる影響を受けることなく通信装置による処理が継続されるので、フレームの連続性が維持され、そのフレームを用いた通信を継続することができる。
【0051】
図2及び図3は、図1に示した負荷分散装置が実装される通信装置20の構成を示す図である。図2において、通信装置20は、例えばルータであり、スイッチ部(SW)9と、SW9に対して並列に接続される1以上の(図2ではL個(Lは1以上の整数))回線インターフェイスカード21とを備えている。
【0052】
各回線インターフェイスカード21は、通信装置20の外部から入力される入力情報としての通信データ(フレーム)を制御する通信データ入力制御部22と、SW9から出力されるフレームを制御する通信データ出力制御部23とを備えている。
【0053】
図3は、図2に示した回線インターフェイスカード21(例として#1)中の通信データ入力制御部22の構成を示しており、図1に示した構成は、通信データ入力制御部22の構成に相当する。このように、負荷分散装置100は、例えば、通信装置に実装される回線インターフェイスカードの通信データ入力制御部に設けられる。なお、本発明の「通信装置」は、通信データ入力制御部22を持つ回線インターフェイスカード21のようなインターフェイス装置と、このインターフェイス装置が実装されるルータ(通信装置20),レイヤ3スイッチ,MPLSラベルスイッチのような交換機との双方を指す。
【0054】
〔第1実施例〕
次に、本発明の第1実施例を、図4〜8を用いて説明する。図4は、第1実施例による負荷分散装置100が実装される通信装置20の主要な構成要素(回線インターフェイスカード21の通信データ入力制御部22)を示すブロック図である。図5は、1段目のロードバランス制御部による振り分け処理を示すフローチャートである。図6は、2段目以降のロードバランス制御部による振り分け処理(再振り分け処理)を示すフローチャートである。図7は、第1実施例で扱われるPOSフレームのフォーマットを示す図である。図8は、第1実施例で扱われるPOS−PHYインタフェースの構成図である。
【0055】
図4に示すように、第1実施例による負荷分散装置100は、図1に示した負荷分散装置100とほぼ同じ構成を備えている。但し、第1実施例では、回線上を転送されるフレームとしてPOSフレームが適用され、回線インターフェイスとしてPOSインターフェイスが適用される。このため、第1実施例の通信装置(通信データ入力制御部22)は、回線インターフェイス部1に相当する受信手段としてのPOSインターフェイス部(POS−PHYインターフェイス部)1Aを有し、POSインターフェイス部1で受信されるPOSフレームに対する処理を行う。
【0056】
図7に示すように、POSフレームは、SONET/SDHフレームとPPPフレームからなる。POSは、“Packet Over SONET/SDH”の略で、SONET/SDH上でPPP(Point to Point Protocol)フレームを送信するためのプロトコルであり、RFC−1661等で規定されている(RFCはプロトコルを始めとするインターネット関連の情報をまとめた文書である)。
【0057】
簡単に説明すると、SONET/SDHフレームはOSI参照モデルのレイヤ1に当たり、PPPフレームはレイヤ2 に当たる。図7中のSOHは“Section Over Head”の略で、SONET/SDHフレームのレイヤ1の情報を格納する領域であり、ペイロードはユーザデータを格納する領域であり、ペイロードにPPPフレームが格納されている。
【0058】
PPPフレームはHDLC−likeのフレーム構成を取っており、PPP パケット内のInformation領域にIPv4,IPv6等のレイヤ3 のデータを格納している。またInformation領域に格納されているレイヤ3のプロトコルを示す情報をProtocol ID領域に格納している。プロトコルIDは、例えば、IPv4は“0x0021”に規定され、IPv6は“0x0057”に規定されている。
【0059】
図4に戻って、POSインターフェイス部1Aは、POSフレームを受信すると、SONET/SDHのフレームヘッダ(SOH)を外し、ペイロード内に格納されているPPPフレームのFlagとFCSを外したフレームを、各ロードバランス制御部2と、位相補正部3へPOS−PHYインタフェースを使用して送信する。
【0060】
POS−PHYインターフェイスは、PPPフレームをパラレル伝送するための一般的なインタフェースであり、通常、POSインタフェースを持つ回線インタフェース用デバイスは、POS−PHYインタフェースを具備している。
【0061】
POS−PHYインタフェースは、PHYデバイスとLINKデバイス間のデータ転送のためのインタフェースを規定したものであり、図4では、POSインターフェイス部1AがPHYデバイスに相当し、各ロードバランス制御部2、及び位相補正部3がLINKデバイスに相当する。
【0062】
図8(A)は、POS−PHYインターフェイスの構成イメージを示す図であり、図8(B)は、PHYデバイスからLINKデバイスへ伝送される信号のタイムチャートを示す図であり、図8(C)は、MOD[1:0]の機能説明表である。
【0063】
図8(A)において、CLKは、データ転送のためのクロック信号であり、PHY及びLINKデバイスに夫々供給される。PHYデバイスは、CLKに従って、LINKデバイスにDATA,SOP,EOP,MOD,VALID,及びERRの各信号を伝送する。
【0064】
図8(B)に示すように、DATA,SOP,EOP,MOD,VALID,及びERRの各信号はCLKの立ち上がりエッジに同期する。
DATA[31 :0]は、データバスであり、ビット幅は32ビットである。
SOPは“1(ON)”の時、DATA[31:0]上にフレームの先頭データがあることを示す。また、フレームの先頭バイトは、いつもDATA[31:24]のMSB側に配置されることが決められている。
【0065】
EOPは“1(ON)”の時、DATA[31:0]上にフレームの最終データがあることを示す。MOD[1:0]は、EOP=1の時におけるDATA[31:0]上の無効バイト数を示す。
【0066】
ERRは、EOP=1の時にERR=1であれば、そのフレームがエラーフレームであることを示す。エラーフレームは、POSインターフェイス1AがPOSフレーム受信時にFCS(Frame Check Sequence)エラーを検出した障害発生フレームである。
【0067】
VALIDは、“1”の時、DATA,SOP,EOP,MODが有効であることを示す。図8(B)に示すタイムチャートは、10バイト長の正常フレーム(ERR=0)と19バイト長のエラーフレーム(ERR=1)とを転送したときを例として示している。
【0068】
図8(C)に示すように、MOD[1:0]は、“00”,“01”,“10”,“11”の4つの状態をとり、“00”のときDATA[31:0]が有効データであることを示し、“01”のときDATA[7:0]が無効データであることを示し、“10”のときDATA[15:0]が無効データであることを示し、“11”のときDATA[23:0]が無効データであることを示す。
第1実施例の構成は、上記した点を除き、図1〜3とほぼ同じであるので、同じ点については説明を省略する。
【0069】
次に、第1実施例における負荷分散装置100の動作を、図5及び図6に示したフローチャートと併せて説明する。図5において、通信装置の電源投入又はリセットが解除されると、CPU10は、CPUバスを介して、各ロードバランス制御部2に対し、初期設定を実施する(ステップ(以下、「S」と表記)01)。即ち、CPU10は、初期設定として、ロードバランス制御部2-#1に対し、ロードバランス制御のON/OFF設定、DBGモードの設定、DBGモードON時の固定振り分け先値、振り分け処理で使用する生成多項式を設定する。
【0070】
もっとも、CPU10は、この初期設定を、2段目以降のロードバランス制御部2に対しても行う(図6のS01)。但し、CPU10は、ロードバランス制御部2-#1のみにロードバランス制御のON設定を行い、その他のロードバランス制御部2にはOFF設定を行う。
【0071】
DBGモードはDebug(試験/評価)モードを意味し、DBGモードがONの時(S02;YES)は、予め設定した固定振り分け先値(方路番号)が、方路選択信号としてセレクタ5に送信される(S14)。これによりDBGモードがON設定時は、ロードバランス制御による振り分けは発生せず、固定的に設定した方路に対してフレーム送信が可能となる。このため、評価時や試験時に効率良くフレームの負荷試験やロードバランス制御部の動作評価等を実施することが可能となる。このDBGモードは、本発明の負荷分散装置に対する付加的な構成であり、必要に応じて付加・削除できるものである。
【0072】
第1実施例で使用される振り分けアルゴリズム(ロードバランス制御)は、ロードバランス制御部2に入力されるフレームのアドレスビットを設定された生成多項式で除算するものとし、NWP8の実装数がN(Nは1以上の整数)個の場合、余りがN−1以下になるような生成多項式が設定される。これは、生成多項式の最高次数をNにすることで実現可能である。また、余りがL(Lは0以上の整数)であれば、L+1番のNWP8に対してフレーム送信を行う。例えば、NWP8の実装数が5個であれば、余りが4以下になるように最高次数が5の生成多項式を設定する。この生成多項式によるアドレスビットの除算において、余りが0であればNWP8-#1へフレームを送信し、余りが4であれば、NWP8-#5へ送信する。
【0073】
ロードバランス制御部2-#1は、POS−PHYインタフェース上で、VALID=1且つSOP=1を受信時(S03;YES)に、DATA上にフレームの先頭バイトがあることを認識し、Informationフィールドに格納されているレイヤ3のプロトコルを示すプロトコルIDの検索を行う(S04,S05,S06)。
【0074】
このとき、位相補正部3は、ロードバランス制御部2と同時にVALID=1且つSOP=1を受信すると、セレクタ4経由で、ロードバランス制御部2-#1からのフレーム送信許可信号がONとなる迄、このフレームを位相補正部3の内部に設けられたFIFOに格納し、分配部7への送信を停止する。これは、ロードバランス制御部2-#1によるフレーム振り分け処理による振り分け先が決定する前に、分配部7へフレームが送信されるのを防ぐ為である。
【0075】
ロードバランス制御部2は、プロトコル検索として、入力されたフレームのプロトコルIDがIPv4か否かの判定(S04)、IPv6か否かの判定(S05)、及びMPLS(MultiProtocol Label Switching)かそれ以外かの判定(S06)を行う。ここで、MPLS,IPv4,IPv6であるか否かをチェックするのは、POSフレーム上では、ユーザデータとしてMPLS,IPv4,IPv6が大半を占め、これら以外のプロトコルのレートはMPLS,IPv4,及びIPv6に比べて非常に低いことが予想されるので、特定のNWP8に集中して割り振るようにしても、通信品質に影響を与えないと考えられる為である。
【0076】
ロードバランス制御部2-#1は、MPLS,IPv4,IPv6以外の他プロトコルを検出した場合(S06;NO)には、振り分け先(割り振り先)の固定によりハードウェアの制御を簡易にするために、該当フレームが特定のNWP8(ここでは、NWP8-#1)に常に送信されるようにする。これは、方路選択信号として、NWP8-#1への振り分けを意味する値(ここでは、“0”)を送信することで実現される(S11)。
【0077】
ロードバランス制御部2-#1は、MPLS,IPv4,IPv6の各プロトコルを検出した場合には、各プロトコルに対応する演算処理(フレームの振り分け処理)を行う(S07,S08,S09)。各演算処理において、ロードバランス制御部2-#1は、プロトコルのアドレスフィールドを検索し、アドレスフィールドに格納されたアドレスビットに対して、設定された生成多項式による除算を行う。
【0078】
続いて、ロードバランス制御部2-#1は、除算の結果により得られた余り値を、方路選択信号として、セレクタ5へ送信する(S10)。さらに、ロードバランス制御部2-#1は、除算の結果が得られた演算終了時点,又は方路選択信号の送出が終わった時点で、セレクタ4に対し、フレーム送信許可信号をOFF→ON→OFFする送信制御を行う(S12,S13)。
【0079】
このとき、デコード部6は、ロードバランス制御部2-#1からのステータス信号がONであり、他のロードバランス制御部2からのステータス信号がOFFとなっているため、セレクタ信号“0”を各セレクタ4,5に与える。
【0080】
セレクタ信号“X−1”は、各セレクタ4及び5がX段目のロードバランス制御部2が出力した方路選択信号及びフレーム許可信号を夫々選択することを意味する。セレクタ信号が“0”であれば、ロードバランス制御部2-#1から送信されたフレーム送信許可信号がセレクタ4を経由して位相補正部3に与えられ、方路選択信号がセレクタ5を経由して分配部7へ与えられる。
【0081】
その後、位相補正部3は、フレーム送信許可信号がONとなると、FIFOに一旦蓄積していたフレームを分配部7へ送信する。分配部7は、方路選択信号の値に従い、フレームを送信すべきNWP8を選択する。例えば方路選択信号が“1”であれば、NWP8-#2へフレームが送信される制御を行う。これによって、位相補正部3から送信されたフレームは、分配部7を介して振り分け先に相当するNWP8に与えられる。負荷分散装置100は、1段目のロードバランス制御部2-#1による振り分け処理で偏りが発生しない場合には、上記の通り動作する。
【0082】
次に、1段目のロードバランス制御部2-#1によるフレームの振り分け処理によって、フレーム振り分けの偏りが生じた場合には、負荷分散装置100は、以下のように動作する。
【0083】
図6において、2段目のロードバランス制御部2-#2は、1段目のロードバランス制御部2-#1のロードバランス制御がON状態の時に、ロードバランス制御部2-#1から送信される振り分け情報をモニタ(監視)し、振り分けの偏りが発生しているか否かを判定する(S101)。
【0084】
前段に相当するロードバランス制御部2は、フレームに対する方路選択信号を生成する毎に、その方路選択信号を振り分け情報(振り分け結果)として次段のロードバランス制御部2に入力する。次段のロードバランス制御部2は、前段のロードバランス制御部2からの振り分け情報に基づき、単位時間あたりの振り分け数(方路選択信号の数)を方路(NWP8)毎にカウントする。各単位時間あたりの振り分け数には、所定の閾値が夫々設定(CPU10による初期設定で設定)されている。2段目以降のロードバランス制御部2は、ある方路に対する単位時間あたりの振り分け数が閾値を上回ると、フレームの振り分け先がその方路に偏っているものと判定し、これを偏りとして検出する。
【0085】
ロードバランス制御部2-#2は、フレームの振り分けに偏りを検出した場合(S101;YES)には、自身の振り分けアルゴリズム(ロードバランス制御)をONにし(S102)、その後、POSインターフェイス部1から入力されるフレームに対し、偏りの発生した方路向けのフレームか否かを判定する(S103)。
【0086】
次段のロードバランス制御部2は、自身に入力されるフレームに対する処理を、そのフレームに対する前段のロードバランス制御部2による振り分け結果(振り分け情報としての方路選択信号)と同期をとって行う(フレームの振り分け処理をその振り分け結果を参照して行う)ようになっており、そのフレームに対する振り分け結果が、偏りの発生している方路の方路選択信号であるか否かを判定することによって、当該フレームが偏りの発生した方路向けか否かを判定する。
【0087】
ロードバランス制御部2-#2は、入力されたフレームが偏りの発生した方路向けである場合(S103;YES)には、そのフレームに対してのみ、再度のフレームの振り分け処理を行い、振り分け結果として得た方路選択信号と異なる値の方路選択信号を生成しセレクタ5に送出する(図6のS04〜S10)。
【0088】
これに対し、ロードバランス制御部2-#2は、入力されたフレームが偏りの発生した方路向けでない場合(S103;NO)には、そのフレームに対する振り分け結果として得た方路選択信号をそのままセレクタ5に送出する(S104)。
【0089】
ロードバランス制御部2-#2からセレクタ5へ送信される方路選択信号は、振り分け情報として、次段のロードバランス制御部2-#3に与えられ、次段のロードバランス制御部2-#3の監視及び偏りの検出処理の利用に供される。
【0090】
ロードバランス制御部2-#2は、方路選択信号を送出した後に、フレーム送信許可信号のOFF→ON→OFF制御を行う(図6のS12,S13)。例えば、ロードバランス制御部2-#1によるフレーム振り分けにおいて、NWP8-#1に対するフレーム振り分けが集中し、偏りが発生した場合に、2段目のロードバランス制御部2-#2は、振り分け情報のモニタにより、NWP8-#1向けのフレームに偏りが生じていることを検出し、自身のロードバランス制御をOFFからONに自律的に切り替えて、NWP8-#1向けのフレームに対してのみ、1段目のロードバランス制御部2-#1とは異なる生成多項式で除算を行い、フレームの再振り分けを行う。一方、NWP8-#1向け以外のフレームは偏りが発生していないため、ロードバランス制御部2-#2は、ロードバランス制御部2-#1の振り分けをそのまま使用し、振り分け情報として得た方路選択信号を送信する。
【0091】
デコード部6は、ロードバランス制御部2-#2のステータス信号がOFFからONに切り替わった時点で、セレクタ信号を“0”から“1”(ロードバランス制御部2-#2からの出力を選択することを意味する)に変更し、セレクタ4及びセレクタ5ヘ送信する。
【0092】
従って、セレクタ4は、ロードバランス制御部2-#2からのフレーム送信許可信号を選択して位相補正部3に入力し、セレクタ4は、ロードバランス制御部2-#2からの方路選択信号を選択して分配部7に入力する。
【0093】
以上の動作によれば、フレームが集中していたNWP8-#1向けのフレームは、ロードバランス制御部2-#2において、再度他の方路(他のNWP8)に向けて散らばる。これによって、NWP8-#1へさらに負荷が集中することが防止されるとともに、振り分け先が分散されることによって、特定の他の方路へ振り分け先が集中することを防止することができる。一方、1段目のロードバランス制御部2-#1において、他の方路へ振り分けられていたフレームは、その振り分け先のままで、ロードバランス制御を継続して行うことが可能となる。従って、この方路に対しては、再振り分けによる影響は生じず、通信の品質を維持することができる。
【0094】
その後、2段目のロードバランス制御部2-#2をONにしてもフレーム振り分けの偏りが解消しない場合や、逆に他の方路でフレームの偏りが発生した場合には、次段に相当する3段目のロードバランス制御部2-#3のロードバランス制御がONとなる。ロードバランス制御部2-#3は、上記したロードバランス制御部2-#2と同様のロードバランス制御(図6参照)を行う。このような形式で次段以降のロードバランス制御が実施されることとなる。
【0095】
第1実施例による負荷分散装置100によれば、ロードバランス制御部2を1段通過することで、フレームは各方路へ散ることとなり、2段目以降は、偏った方路のフレームのみ再度振り分けを行う。このため、他の方路に対する影響を最小限に抑えたまま、各段を通過する度にフレームは均等な負荷分散に近づく。このようにして、負荷が集中していないNWP8へのフレームの振り分けは維持したままで、NWP8に対する負荷を均等に分散させることができる。
【0096】
〔第2実施例〕
本発明による負荷分散装置の第2実施例を、図9,10及び11を用いて説明する。図9は、負荷分散装置の第2実施例を実装した通信装置の主要な構成要素(回線インターフェイスカード21の通信データ入力制御部22)を示す図であり、図10は、第2実施例における1段目のロードバランス制御部2の処理を示すフローチャートであり、図11は、第2実施例における2段目以降のロードバランス制御部2の処理を示すフローチャートである。第2実施例は、第1実施例と共通点を有するので、共通点については説明を省略し、主として相違点について説明する。
【0097】
図9に示すように、第2実施例の負荷分散装置100Aは、第1実施例の負荷分散装置100に対し、更新制御部11を追加した構成となっている。更新制御部11は、N段目のロードバランス制御部2-#Nのロードバランス動作(振り分け処理)のON/OFF動作を示すステータス信号と振り分け情報をモニタ(監視)する。更新制御部11による最終段のロードバランス制御部2-#Nの監視及び偏りの検出手法は、2段目以降のロードバランス制御部2による手法と同様である。
【0098】
更新制御部11は、ロードバランス制御部2-#Nのロードバランス制御がON状態で、且つロードバランス制御部2-#Nのフレーム振り分けに偏りが生じた場合には、全てのロードバランス制御部2に対し、更新制御信号を与える。この更新制御信号の付与は、更新制御部11が各ロードバランス制御部2に対し、更新制御信号のOFF→ON→OFFの送信制御を行うことで実現される。
【0099】
第2実施例では、ロードバランス制御部2-#Nのロードバランス制御がON状態で、且つロードバランス制御部2-#Nのフレーム振り分けに偏りが生じた場合には、更新制御部11が、N段全てのロードバランス制御部2を使用してもフレームの偏りが解消されなかったものとして、全てのロードバランス制御部2に対し、更新制御信号が与えられる。
【0100】
図9に示すように、1段目のロードバランス制御部2-#1は、更新制御部11による更新制御信号のONを監視するようになっており(S201)、更新制御信号のONを検出した場合(S201;YES)には、フレームの振り分け処理に使用している生成多項式を更新する(S202)。
【0101】
一方、図11に示すように、2段目以降のロードバランス制御部2-#2〜Nの夫々は、ロードバランス制御部2-#1と同様に、更新制御部11による更新制御信号のONを監視するようになっており(S201)、更新制御信号のONを検出した場合(S201;YES)には、フレームの振り分け処理に使用している生成多項式を更新するとともに、自身のロードバランス制御(振り分け処理)をOFFにする(S203)。
【0102】
これによって、各ロードバランス制御部2の生成多項式が更新されると共に、1段目のロードバランス制御部2-#1のみONとなりフレームの振り分けが再度開始される。各ロードバランス制御部2には、初期設定時にCPU10より、それぞれ異なる更新用の複数の生成他項式が設定されるようになっている。このため、最終的に最適なロードバランスを実施できる生成多項式を選択することができる。
【0103】
〔第3実施例〕
次に、本発明による負荷分散装置の第3実施例を、図4,5及び12を用いて説明する。図12は、第3実施例における2段目以降のロードバランス制御部2の処理を示すフローチャートである。第3実施例は、第1実施例と共通点を有するので、共通点については説明を省略し、主として相違点について説明する。
【0104】
第3実施例では、2段目以降のロードバランス制御部2の夫々は、図12のフローチャートに示した動作を行う。ロードバランス制御部2-#1は、第1実施例と同様に、図5のフローチャートに示した動作を行う。
【0105】
第3実施例では、2段目以降のロードバランス制御部2は、前段のロードバランス制御部2によるフレーム振り分け状態の監視用のタイマを持つ。図12に示すように、CPU10は、初期設定において、タイマ値を設定する(S301)。タイマ値は、比較的大きな値(例えば、1時間以上)を設定可能となっている。
【0106】
2段目以降のロードバランス制御部2のロードバランス制御は、前段のロードバランス制御部2において振り分けの偏りが生じた場合にONとなる。しかし、フレームの送信状態が時間経過とともに変化し、前段のロードバランス制御部2の振り分け処理による振り分け先(方路)の偏りが解消した場合(単位時間あたりの振り分け数が閾値を下回った場合)には、2段目以降のロードバランス制御部2は、自身のロードバランス制御によって、偏りの生じた方路のフレームの再振り分けをする必要が無くなる。
【0107】
このため、偏り解消の状態が、タイマ(例えば、1時間周期)時間継続すれば(S302)、2段目以降のロードバランス制御部2は、自身のロードバランス制御をONからOFFに自律的に切り替える(S303)。これによって、限りのあるロードバランス制御の段数を有効的に使用することが可能となる。
【0108】
〔第4実施例〕
次に、本発明による負荷分散装置の第4実施例を、図13,14,15及び16を用いて説明する。図13は、負荷分散装置の第4実施例(負荷分散装置100B)を実装した通信装置の主要な構成要素(回線インターフェイスカード21の通信データ入力制御部22)を示す図であり、図14は、第4実施例における1段目のロードバランス制御部2の処理を示すフローチャートであり、図15は、第4実施例における2段目以降のロードバランス制御部2の処理を示すフローチャートである。第4実施例は、第1実施例と共通点を有するので、共通点については説明を省略し、主として相違点について説明する。
【0109】
図13に示すように、第4実施例では、各NWP8がCPUインタフェースを持ち、CPUバスを介してCPU10と通信を行う。CPU10は、CPUバスを介して、各NWP8の正常性を監視しており、特定のNWP8に障害が発生した場合には、直ちにそれを認識する。例えば、CPU10は、障害が発生したNWP8からのアラームを検出することによって障害発生を認識する。
【0110】
第4実施例では、特定のNWP8が障害となった場合、そのNWP8に振り分けられたフレームが通信不可となり廃棄されることを避ける為、CPU10は、各ロードバランス制御部2に対し、リセットを起動すると共に、正常なNWP8の数を意識した生成多項式を新たに設定する。これは、正常時にN個のNWP8が動作しているとすると、生成多項式は余りがN−1以下になるように最高次数がNの生成多項式が設定されているが、ある1つのNWP8が障害になった場合には、余りN−2以下となるように最高次数がN−1の生成多項式を新たに更新することを指す。
【0111】
また、複数のNWP8には、予め除算の余り値と1対1に対応するように方路番号を割り振っている為、この番号を変換する方法が必要となる。例えば、NWP8が5個実装されている場合には、NWP8-#1〜5に対応して、0〜4の方路番号を割り振ると共に、生成多項式で除算した余りも4以下になるように、最高次数が5の生成多項式が初期時に設定される。
【0112】
上記例でNWP8-#4が障害になった場合は、正常に動作可能なNWP8が4個となるため、除算の余りが3以下になるように最高次数が4の生成多項式に設定を変更する。ところが、正常なNWP8は、#1、#2、#3、#5(#4は障害)の4つであるので、生成多項式を変更するだけでは、余りが3の場合に、フレームがNWP8-#4へ送信されてしまう。このため、余りが3の場合には、NWP8-#5へ送信されるように、除算の余り値と方路選択信号の関係を正常時と異常時で変換する必要がある。
【0113】
第4実施例では、各ロードバランス制御部2は、除算の余り値と方路選択信号の関係を変換するための方路番号変換テーブルを持ち、リセット後の初期設定時にCPU10から初期設定(方路番号変換テーブルの設定内容変更)を行う。
【0114】
図16は、方路番号変換テーブルの例を示す。図16の例では、NWP8が通信装置に8個実際されている場合で、全てのNWP8が正常な場合(図16(A))、NWP8-#3が障害になった場合(図16(B))、NWP8-#及びNWP8-#5が障害になった場合(図16(C))の方路番号変換テーブルの設定内容を示している。
【0115】
CPU10は、全ての障害発生パターン(正常パターンを含む)の方路番号変換テーブルのマスタデータを持ち、初期設定時において、障害発生パターンに応じた設定内容を、各ロードバランス制御部2の方路番号変換テーブルに書き込む(図14,15のS401)。
【0116】
一方、各ロードバランス制御部2は、S04,S05,S06の何れかの演算処理により除算の余り値を求めた場合には、方路番号変換テーブルを参照し、余り値に対応する値の方路選択信号を取得し、これを送出する(図14,15のS402)。
【0117】
以上により、NWP8に障害が発生した場合でも、速やかに他の正常なNWP8にフレームの割り振りが可能となり、障害NWP8が交換等で正常に戻るまでの間、障害による影響を最小限に抑えることが可能となる。
【0118】
なお、図14,15に示すフローチャートでは、IPv4,IPv6及びMPLS以外のプロトコルのフレームが割り振られるNWP8に障害が発生した場合を考慮していないが、方路番号変換テーブルの設定内容を、当該NWP8に障害が発生した場合を想定して作成し、ロードバランス制御部2が、S06にてNOと判定した場合に、S11において方路番号変換テーブルを参照し、IPv4,IPv6及びMPLS以外のプロトコルのフレームが割り振られるNPW8の方路選択信号の値(方路選択番号)を取得し、これを送出するようにすれば良い。また、DBGモードの固定振り分け先(S14)についても、同様にすることが可能である。
【0119】
〔変形例〕
本発明の原理及び第1〜4実施例で示した通信装置(回線インターフェイスカード)は、以下の変形が可能である。第1の変形例として、位相補正部3は、不完全なフレーム長のフレームやエラーフレームを受信した場合に、NWP8に対する負荷を低減させるために該当フレームの廃棄処理を行うようにしても良い。
【0120】
不完全なフレーム長とは、本来あるべきフレーム長さでないフレームを指し、これは各プロトコルのヘッダ内に格納されているフレーム長フィールドの情報(フレームに付加されている)により、各ロードバランス制御部2においてチェックすることができる。また、エラーフレームとはPOS−PHYインタフェース上でEOP=1且つERR=1のフレームを指す。
【0121】
第1の変形例では、位相補正部3は、SOP=1のフレームをFIFOに受信及び蓄積したときには、EOP=1となるまで、ONのフレーム送信許可信号を受け取ってもそのフレーム送信を待機する。その後、EOP=1を受信した時に、フレーム長及びERR信号の状態をチェックし、正常であればそのフレームを分配部7に送信し、フレ−ム長違反やエラーフレームを受信した時は、そのフレーム全体を廃棄する。フレーム廃棄は、SOP=1のデータを格納したFIFOアドレスの1つ前のアドレスに強制的にアドレスポインタを戻すことにより容易に実現することができる。
【0122】
第1の変形例によれば、異常なフレームを受信した場合に、そのフレームをNWP8へ送信せず廃棄することで、NWP8に対する負荷を低減させることが可能となる。
【0123】
第2の変形例として、負荷分散装置100が2重化構成のような冗長構成を持つようにしても良い。この場合には、現用系(アクティブ系)の負荷分散装置の各ロードバランス制御部2に設定される生成多項式と同じ生成多項式を予備系(スタンバイ系)の負荷分散装置の各ロードバンス制御部2に設定する。この設定は、例えば、CPU10が初期設定において行う。
【0124】
第2の変形例によれば、系の切り替えが発生した場合においても、新現用系の各ロードバランス制御部2は、旧現用系において直前まで使用されていた生成多項式を使用できる。このため、系の切り替え後であっても、瞬時に最適なロードバランス制御を提供することが可能となる。
【0125】
第3の変形例として、CPUバスに表示手段としての表示装置(ディスプレイ)を接続し、振り分け処理を実行しているロードバランス制御部で使用されている振り分け条件、各ネットワークプロセッサに対する入力情報の振り分け状態、振り分け処理を実行する状態となっているロードバランス制御部の数として、各段のロードバランス制御部2によるフレーム振り分け状況、各方路への振り分け比率、方路単位の送信フレーム数、現在ON状態のロードバランス制御部、現在選択されている生成多項式等が、CPU10によるソフトウェアの実行によってディスプレイに表示されるようにしても良い。
【0126】
第3の変形例によれば、システム全体(負荷分散装置全体)としてのロードバランス状態をネットワーク管理者やユーザに対して公開し、運用管理を容易に行うことが可能となる。
【0127】
以上説明したように、本発明によれば、ロードバランス制御部を多段接続することで、フレームの振り分けに偏りが発生した場合でも、その偏りの生じた方路向けのフレームのみ次段のロードバランス制御部で再度振り分けを行うことより、他の方路のフレームに影響を与えることなく、最適なロードバランス制御の提供を行うことが可能となる。
【0128】
また、NWPの障害発生時や負荷分散装置の冗長構成時においても速やかに最適なロードバランス制御の提供を行うことが可能となり、通信装置内のNWP8の能力を最大限に引き出すことができる。これにより、通信装置の性能向上、及び信頼度の高いネットワークの提供に大きく寄与することができる。
【0129】
〔その他〕
本発明は、以下のように特定することができる。
(付記1) 受信手段と、この受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサとを含む通信装置に設けられ、直列に多段接続され、受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従ってネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部は、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を、前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って、他のネットワークプロセッサに振り分ける、ネットワークプロセッサの負荷分散装置。
(付記2) 最終段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、全てのロードバランス制御部で使用されている振り分け条件を更新する更新制御部をさらに含む、付記1記載のネットワークプロセッサの負荷分散装置。
(付記3) 前記2段目以降の各ロードバランス制御部は、前段のロードバランス制御部の振り分け処理による振り分け先の偏りが解消してから所定時間が経過した場合に、自身が振り分け処理を実行しているときには、この振り分け処理を停止する、付記1記載のネットワークプロセッサの負荷分散装置。
(付記4) 各ロードバランス制御部が、受信手段から受け取った入力情報に対し、前記振り分け処理を実行することなく所定のネットワークプロセッサに振り分ける、付記1記載のネットワークプロセッサの負荷分散装置。
(付記5) 各ロードバランス制御部は、複数のネットワークプロセッサの何れかに障害が発生した場合に、自身が使用している振り分け条件を、この障害が発生したネットワークプロセッサを除く振り分け先に対応する他の振り分け条件に変更する、付記1記載のネットワークプロセッサの負荷分散装置。
(付記6) 受信手段と、前記受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサと、直列に多段接続され、前記受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従ってネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部は、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って他のネットワークプロセッサに振り分ける負荷分散装置と、を含む通信装置。
(付記7) 前記受信手段で受信された異常な入力情報を、前記ネットワークプロセッサの何れかに与えることなく廃棄する、付記6記載の通信装置。
(付記8) 前記振り分け処理を実行しているロードバランス制御部で使用されている振り分け条件、各ネットワークプロセッサに対する入力情報の振り分け状態、前記振り分け処理を実行する状態となっているロードバランス制御部の数のうち、少なくとも一つを表示する表示手段をさらに含む、付記6記載の通信装置。
(付記9) 受信手段と、前記受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサと、直列に多段接続され、前記受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従って前記複数のネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部が、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を、前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って他のネットワークプロセッサに振り分ける、複数の負荷分散装置とを含み、前記負荷分散装置の何れかが現用系として使用され、他の負荷分散装置が予備系となっている場合に、この現用系の負荷分散装置に含まれた各ロードバランス制御部で使用される振り分け条件を、予備系の負荷分散装置に含まれた各ロードバランス制御部に設定する、通信装置。
【0130】
【発明の効果】
本発明によれば、入力情報の振り分け先が特定のネットワークプロセッサに偏った場合に、他のネットワークプロセッサに振り分けられた入力情報に影響を与えることなく偏りを解消することができる。
【図面の簡単な説明】
【図1】図1は、本発明の原理説明図である。
【図2】図2は、本発明による負荷分散装置が実装される通信装置の構成を示す図である。
【図3】図3は、本発明による負荷分散装置が実装される通信装置の構成を示す図である。
【図4】図4は、負荷分散装置の第1実施例を示すブロック図である。
【図5】図5は、1段目のロードバランス制御部による振り分け処理を示すフローチャートである。
【図6】図6は、2段目以降のロードバランス制御部による振り分け処理(再振り分け処理)を示すフローチャートである
【図7】図7は、第1実施例で扱われるPOSフレームのフォーマットを示す図である。
【図8】図8(A)はPOS−PHYインターフェイスの構成イメージを示す図であり、図8(B)はPHYデバイスからLINKデバイスへ伝送される信号のタイムチャートを示す図であり、図8(C)はMOD[1:0]の機能説明表である。
【図9】図9は、負荷分散装置の第2実施例を示すブロック図である。
【図10】図10は、第2実施例における1段目のロードバランス制御部の処理を示すフローチャートである。
【図11】図11は、第2実施例における2段目以降のロードバランス制御部の処理を示すフローチャートである。
【図12】図12は、第3実施例における2段目以降のロードバランス制御部の処理を示すフローチャートである。
【図13】図13は、負荷分散装置の第4実施例を示すブロック図である。
【図14】図14は、第4実施例における1段目のロードバランス制御部の処理を示すフローチャートである。
【図15】図15は、第4実施例における2段目以降のロードバランス制御部の処理を示すフローチャートである。
【図16】図16(A)、(B)及び(C)は、方路番号変換テーブルの例を示す図である。
【符号の説明】
1 回線インターフェイス部
1A POSインターフェイス部
2 ロードバランス制御部
3 位相補正部
4,5 セレクタ
6 デコーダ部
7 分配部
8 ネットワークプロセッサ(NWP)
9 スイッチ部(SW)
10 CPU
11 更新制御部
20 通信装置
21 回線インターフェイスカード
22 通信データ入力制御部
100 負荷分散装置

Claims (5)

  1. 受信手段と、この受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサとを含む通信装置に設けられ、直列に多段接続され、受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従ってネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、
    2段目以降の各ロードバランス制御部は、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を、前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って、他のネットワークプロセッサに振り分ける、ネットワークプロセッサの負荷分散装置。
  2. 各ロードバランス制御部は、複数のネットワークプロセッサの何れかに障害が発生した場合に、自身が使用している振り分け条件を、この障害が発生したネットワークプロセッサを除く振り分け先に対応する他の振り分け条件に変更する、請求項1記載のネットワークプロセッサの負荷分散装置。
  3. 受信手段と、
    前記受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサと、
    直列に多段接続され、前記受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従ってネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部は、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って他のネットワークプロセッサに振り分ける負荷分散装置と、を含む通信装置。
  4. 前記受信手段で受信された異常な入力情報を、前記ネットワークプロセッサの何れかに与えることなく廃棄する、請求項3記載の通信装置。
  5. 受信手段と、
    前記受信手段で受信された入力情報に対する処理を行う複数のネットワークプロセッサと、
    直列に多段接続され、前記受信手段から入力情報を夫々受け取り、入力情報を所定の振り分け条件に従って前記複数のネットワークプロセッサの何れかに振り分ける振り分け処理を入力情報毎に実行する複数のロードバランス制御部を含み、2段目以降の各ロードバランス制御部が、前段のロードバランス制御部による振り分け処理を監視し、入力情報の振り分け先が特定のネットワークプロセッサに偏っている場合には、自身に入力された入力情報であって前段のロードバランス制御部にて前記特定のネットワークプロセッサに振り分けられた入力情報を、前段のロードバランス制御部で使用された振り分け条件と異なる振り分け条件に従って他のネットワークプロセッサに振り分ける、複数の負荷分散装置とを含み、
    前記負荷分散装置の何れかが現用系として使用され、他の負荷分散装置が予備系となっている場合に、この現用系の負荷分散装置に含まれた各ロードバランス制御部で使用される振り分け条件を、予備系の負荷分散装置に含まれた各ロードバランス制御部に設定する、通信装置。
JP2001320959A 2001-10-18 2001-10-18 ネットワークプロセッサの負荷分散装置 Expired - Fee Related JP3901982B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001320959A JP3901982B2 (ja) 2001-10-18 2001-10-18 ネットワークプロセッサの負荷分散装置
US10/116,593 US7310674B2 (en) 2001-10-18 2002-04-04 Load balancer for network processor
CNB021472645A CN1188995C (zh) 2001-10-18 2002-10-18 通信设备和用于网络处理器的负载平衡器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001320959A JP3901982B2 (ja) 2001-10-18 2001-10-18 ネットワークプロセッサの負荷分散装置

Publications (2)

Publication Number Publication Date
JP2003122731A JP2003122731A (ja) 2003-04-25
JP3901982B2 true JP3901982B2 (ja) 2007-04-04

Family

ID=19138264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001320959A Expired - Fee Related JP3901982B2 (ja) 2001-10-18 2001-10-18 ネットワークプロセッサの負荷分散装置

Country Status (3)

Country Link
US (1) US7310674B2 (ja)
JP (1) JP3901982B2 (ja)
CN (1) CN1188995C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021732A1 (en) * 2003-06-30 2005-01-27 International Business Machines Corporation Method and system for routing traffic in a server system and a computer system utilizing the same
US7712102B2 (en) * 2004-07-30 2010-05-04 Hewlett-Packard Development Company, L.P. System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data
JP4786218B2 (ja) * 2005-04-13 2011-10-05 株式会社日立製作所 情報処理装置、情報処理装置の制御方法、及びプログラム
US7684419B2 (en) 2005-04-19 2010-03-23 Cisco Technology, Inc. Ethernet encapsulation over optical transport network
JP5156332B2 (ja) * 2007-10-30 2013-03-06 アラクサラネットワークス株式会社 パケット転送装置
US9054943B2 (en) * 2009-12-23 2015-06-09 Citrix Systems, Inc. Systems and methods for mixed mode handling of IPv6 and IPv4 traffic by a virtual server
US8850448B2 (en) 2010-02-11 2014-09-30 National Chiao Tung University Dynamic reconfigurable heterogeneous processor architecture with load balancing and dynamic allocation method thereof
TWI447645B (zh) * 2010-02-11 2014-08-01 Univ Nat Chiao Tung 具有負載平衡的可動態重組異質處理器架構以及動態配置方法
CN102783101A (zh) * 2010-03-25 2012-11-14 日本电气株式会社 负载平衡控制单元、负载平衡控制方法和存储介质
JP5070609B2 (ja) * 2010-05-07 2012-11-14 Necシステムテクノロジー株式会社 通信装置、通信システム及び通信方法
WO2012037125A1 (en) * 2010-09-13 2012-03-22 American International Group, Inc. Method and system for processing and optimizing travel insurance transactions
JP2014165560A (ja) * 2013-02-22 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> サーバおよびプログラム
JP5756142B2 (ja) * 2013-04-12 2015-07-29 日本電信電話株式会社 転送装置及び転送装置の制御方法
US10412020B2 (en) 2015-04-30 2019-09-10 Amazon Technologies, Inc. Background processes in update load balancers of an auto scaling group
US10038640B2 (en) * 2015-04-30 2018-07-31 Amazon Technologies, Inc. Managing state for updates to load balancers of an auto scaling group
US10341426B2 (en) 2015-04-30 2019-07-02 Amazon Technologies, Inc. Managing load balancers associated with auto-scaling groups

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000083055A (ja) 1998-09-04 2000-03-21 Hitachi Ltd ルータ
JP4001698B2 (ja) * 1999-10-14 2007-10-31 富士通株式会社 負荷分散システム
US20010034752A1 (en) * 2000-01-26 2001-10-25 Prompt2U Inc. Method and system for symmetrically distributed adaptive matching of partners of mutual interest in a computer network
JP3792985B2 (ja) * 2000-04-05 2006-07-05 キヤノン株式会社 ディレクトリサーバおよび周辺装置、その制御方法、並びに記録媒体
JP2001306537A (ja) * 2000-04-18 2001-11-02 Hitachi Ltd 分散オブジェクトシステム
US7272653B2 (en) * 2000-09-28 2007-09-18 International Business Machines Corporation System and method for implementing a clustered load balancer

Also Published As

Publication number Publication date
US7310674B2 (en) 2007-12-18
CN1188995C (zh) 2005-02-09
JP2003122731A (ja) 2003-04-25
CN1412990A (zh) 2003-04-23
US20030079004A1 (en) 2003-04-24

Similar Documents

Publication Publication Date Title
JP3901982B2 (ja) ネットワークプロセッサの負荷分散装置
US7957324B2 (en) Utilizing bandwidth in ring network using path cost and protection techniques
US7027390B2 (en) Packet routing apparatus and a method of communicating a packet
US6865149B1 (en) Dynamically allocated ring protection and restoration technique
US6717956B1 (en) Dual-mode virtual network addressing
US20030031126A1 (en) Bandwidth reservation reuse in dynamically allocated ring protection and restoration technique
EP2013996B1 (en) System and method of multi-nodal aps control protocol signalling
CN101682442A (zh) 用于第2层链路聚合的动态负载均衡
WO2001067685A2 (en) Routing switch for dynamically rerouting traffic due to detection of faulty link
JP2000269999A (ja) ネットワーク間通信装置
EP3525365A1 (en) Device for supporting sub-network connection protocol over packet network
JP2007049383A (ja) 伝送装置、ネットワーク管理方法およびネットワーク管理プログラム
JP2003501880A (ja) パケット化セキュリティ・コード、パリティ交換、および優先伝送スキームをもつモジュラ・スイッチを介する分散ルーティングを有する相対的階層通信ネットワーク
JP5375453B2 (ja) ネットワーク装置
US20090100193A1 (en) Synchronization of state information to reduce APS switchover time
JP2001285322A (ja) Lan間通信装置及びこれを用いるlan間通信ネットワーク
JP5471652B2 (ja) 通信ノード装置、通信システム及びそれらに用いる宛先受信インタフェース選択方法
US20110188401A1 (en) Error detection for data frames
JP4045197B2 (ja) 伝送装置及びコンカチネーション設定方法
JP4819596B2 (ja) 伝送装置
JP2002351853A (ja) ロード・バランス方式
US7260058B1 (en) Timer based system for preventing mismatch in automatic protection switching
CN113381930B (zh) 用于虚拟路由器冗余的组负载均衡
JP2001339370A (ja) 伝送路冗長切替方式
JP2009246802A (ja) ルータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061129

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: 20061219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees