JP2015185054A - 輻輳制御システム及び輻輳制御方法 - Google Patents

輻輳制御システム及び輻輳制御方法 Download PDF

Info

Publication number
JP2015185054A
JP2015185054A JP2014062861A JP2014062861A JP2015185054A JP 2015185054 A JP2015185054 A JP 2015185054A JP 2014062861 A JP2014062861 A JP 2014062861A JP 2014062861 A JP2014062861 A JP 2014062861A JP 2015185054 A JP2015185054 A JP 2015185054A
Authority
JP
Japan
Prior art keywords
congestion
processing
unit
state
message
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
JP2014062861A
Other languages
English (en)
Other versions
JP6357825B2 (ja
Inventor
中澤 正史
Masashi Nakazawa
正史 中澤
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2014062861A priority Critical patent/JP6357825B2/ja
Publication of JP2015185054A publication Critical patent/JP2015185054A/ja
Application granted granted Critical
Publication of JP6357825B2 publication Critical patent/JP6357825B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】 主機能部の輻輳監視と共に従機能部も輻輳状態に陥った際に自身で輻輳回復処理を行う輻輳制御システム、輻輳制御方法および輻輳制御プログラムを提供する。【解決手段】輻輳制御システム10は、情報処理実行部111、輻輳監視部112および従機能部12〜15を備え、輻輳監視部112は、輻輳状態か非輻輳状態かを判定する手段112hと、判定内容を情報処理実行部へ通知する手段112iとを有し、従機能部12〜15は、輻輳状態か非輻輳状態かを判定する手段12aと、判定した内容を情報処理実行部へ通知する手段12fとを有し、情報処理実行部111は、輻輳監視部が故障した場合に自ら輻輳状態か非輻輳状態かを判定する手段111fと、輻輳監視部、従機能部および自らが判定した内容が輻輳状態を示す場合に処理を抑制する手段111eを有する。【選択図】 図1

Description

本発明は、処理対象の増大に伴い生じた輻輳を制御する輻輳制御システム及び輻輳制御方法に関する。
情報処理装置を構成する各機能部は、通常の情報処理を行う他に、当該情報処理装置やプロセッサ(CPU:Central Processing Unit)に生じ得る輻輳状況を監視して、輻輳発生を回避し、発生した場合には輻輳から回復する必要がある。例えば、イントラネットのパケット中継を行う装置は、輻輳を監視しつつ、パケットトラヒックの増大に伴い装置の処理能力を拡大することで、装置の処理能力を上回るトラヒックによって通信障害が発生するのを抑制し、輻輳発生の回避を行う。
しかしながら、通常処理を行う主機能部で、並行して輻輳監視や輻輳回避を実行すると、輻輳監視や輻輳回避そのものの処理負荷によって、情報処理装置自体の処理能力(パフォーマンス)が劣化する。また、通常処理を行うプロセッサ周辺に輻輳監視を行う専用のハードウェア機能部を設置して輻輳監視を行う場合には、上記機能部の設置に対するコストが増大する。
これに対し、主機能部の輻輳監視を主機能部の周辺に位置する機能部、例えば現用予備構成の機能部であれば待機系主機能部が、現用系機能部の輻輳状況を推定することにより、主機能部の処理能力を劣化させることなく輻輳監視を行える手法が開示されている(特許文献1)。
特開2009−212862公報
しかしながら、特許文献1の手法では、主機能部の輻輳監視については記載されているが、従機能部の輻輳状態の監視や、輻輳状態に陥った時にどう回復させるかについては開示していなかった。従機能部もプロセッサによるマルチタスク処理を行うため、主機能部と同様に輻輳状態に陥ることがある。よって、システム全体の輻輳を回避するためには、従機能部の輻輳監視および輻輳回復の処理も必要であった。
本発明は上記の課題に鑑みてなされたものであり、主機能部の輻輳監視と共に従機能部の輻輳監視を行い、従機能部が輻輳状態に陥った際に自身で輻輳回復処理を行う輻輳制御システムおよび輻輳制御方法を提供することを目的とする。
上記目的を達成するために本発明の第1の特徴は、外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、情報処理実行部に併設され処理メッセージ数を監視する輻輳監視部と、情報処理実行部および輻輳監視部に接続された、処理メッセージに含まれるタスクを実行する従機能部とを備えた輻輳制御システムであって、輻輳監視部は、(a)処理メッセージに対する処理時間を推定し、この処理時間、処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、(b)この判定した内容を情報処理実行部へ通知する手段とを有し、従機能部は、(c)処理メッセージに含まれる少なくとも1つ以上のタスクの、周期内における処理未完了数をカウントし、未完了数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、(d)この判定した内容を情報処理実行部へ通知する手段とを有し、情報処理実行部は、(e)輻輳監視部が故障した場合に、自ら、処理メッセージに対する処理時間を推定し、この処理時間、処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、(f)輻輳監視部および従機能部から通知される内容、または自らが判定した内容が輻輳状態を示す場合に処理メッセージに対する処理を抑制する手段とを有する輻輳制御システムであることを要旨とする。
本発明の第2の特徴は、外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、情報処理実行部に併設され処理メッセージ数を監視する輻輳監視部と、情報処理実行部および輻輳監視部に接続された、処理メッセージに含まれるタスクを実行する従機能部を備えたシステムに用いられる輻輳制御方法であって、輻輳監視部が、(a)処理メッセージに対する処理時間を推定し、この処理時間、処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、(b)この判定した内容を情報処理実行部へ通知する工程を有し、従機能部は、(c)処理メッセージに含まれる少なくとも1つ以上のタスクの、周期内における処理未完了数をカウントし、未完了数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、(d)この判定した内容を情報処理実行部へ通知する工程とを有し、情報処理実行部は、(e)輻輳監視部が故障した場合に、自ら、処理メッセージに対する処理時間を推定し、この処理時間、処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、(f)輻輳監視部および従機能部から通知される内容、または自らが判定した内容が輻輳状態を示す場合に処理メッセージに対する処理を抑制する工程とを有する輻輳制御方法であることを要旨とする。
本発明の輻輳制御システムおよび輻輳制御方法によれば、主機能部の輻輳監視と共に、従機能部の輻輳監視を行い、輻輳状態に陥った際に輻輳回復処理を行う。これによりシステム全体の輻輳発生を回避し、システムの安定度を向上させることができる。
第一の実施形態の輻輳制御システムの実施形態を示す概略ブロック図である。 現用主機能部の内部構成を示す図である。 予備主機能部の内部構成を示す図である。 負荷判定記憶部の内部データを示す図である。 従機能部の内部構成を示す図である。 従機能部でのタスク処理の概略を示す図である。 従機能部でのタスク処理の概略を示す図である。 予備主機能部の動作を示すフロー図である。 現用主機能部の動作を示すフロー図である。 従機能部の動作を示すフロー図である。 第二の実施形態の輻輳制御システムの実施形態を示す概略ブロック図である。 情報処理部の内部構成を示す図である。 輻輳監視部の内部構成を示す図である。 情報処理部の動作を示すフロー図である。 輻輳監視部の動作を示すフロー図である。
次に図面を参照して、本発明の実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであることに留意すべきである。更に以下に記載される実施形態は一例であり、その本質を同一とする範囲において適宜変更可能であることに留意すべきである。
また、以下の実施形態の説明において、各装置の各構成要素は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。各装置の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラム、そのプログラムを格納するハードディスクなどの記憶メディア、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置には様々な変形例がある。
<第1の実施形態>
(輻輳制御システム)
本発明の第1の実施形態に係る輻輳制御システム10は、図1に示すように、主機能部11と複数の従機能部12、13、14、15を備えている。主機能部11は、現用予備構成となっており、現用主機能部111および予備主機能部112を備える。現用主機能部111は、所定の処理を要求するメッセージ(以下「処理メッセージ」と記載)を、主機能部11に処理を依頼する外部の端末(以下単に「外部」と記載する)から受信し、この処理メッセージに対して所定の情報処理を行う情報処理実行部として機能する。予備主機能部112は、現用主機能部111での処理メッセージ数を監視する輻輳監視部として機能する。現用主機能部111および予備主機能部112は、同一のCPU(Central Processing Unit)で動作する。CPUを共有する為、現用主機能部の輻輳状態を、専用のハードウェアを設けることなく、予備主機能部が監視することができる。尚、処理メッセージの内、ある特定の処理に対しては、現用主機能部111は、システム内部の従機能部12〜15に対して処理を依頼する。
各従機能部12〜15は、現用主機能部111からのメッセージを受信すると所定処理を実行し、全ての処理結果を現用主機能部111および予備主機能部112の2箇所へ送信する。現用主機能部111および予備主機能部112と、各従機能部12〜15との間の通信線は全てワイヤードオアで接続されている。更に、従機能部12〜15は、自身の受信メッセージ数をカウントして輻輳を監視する。更に、輻輳が発生した場合、自装置保護のために、現用主機能部111へ輻輳の発生状態を通知したり、現用主機能部111からの受信メッセージを破棄したりする。
(現用主機能部)
現用主機能部111は、図2に示すように、外部処理要求受信部111a、内部処理要求送信部111b、内部処理結果受信部111c、外部処理結果送信部111d、輻輳処理部111e、臨時輻輳監視部111f、臨時閾値設定部111g、メッセージ判別処理部111h、処理実行部111i、臨時輻輳処理記憶部111jおよび重要度記憶部111k等を備える。
外部処理要求受信部111aは、外部より処理メッセージを受信する。内部処理要求送信部111bは、外部から受信する処理メッセージのうち、従機能部12〜15に依頼すべき処理メッセージを、従機能部12〜15に送信する。内部処理結果受信部111cは、従機能部12〜15より処理結果を受信する。処理実行部111iは、外部より受ける処理メッセージの内容を実行する。また処理実行部111iは、従機能部12〜15から受け取る処理結果を用いて、外部より受ける処理メッセージの内容を実行する。外部処理結果送信部111dは、処理メッセージに対する実行結果を、外部へ送信する。
臨時輻輳処理記憶部111jは、予備主機能部112が故障した場合に、自らの輻輳状態を監視するために使用する記憶部であり、図3の推定走行時間記憶部112jと負荷判定記憶部112kと同一のデータを格納する。尚、臨時閾値とは、予備主機能部112が故障した場合に自らで監視処理を行う場合の閾値であるが、この臨時閾値は予備主機能部112の閾値記憶部112c内の閾値と比べて低めに設定される。これは現用主機能部111内で通常の情報処理と輻輳監視を同時に行う環境下で、CPUの処理能力が限界を超えないようにするためである。
重要度記憶部111kは、メッセージの種類毎にその重要度を判定するための重要度表を格納する。
臨時輻輳監視部111fは、予備主機能部112が故障した場合に、自らの輻輳状態を監視する。臨時輻輳監視部111fは、外部より依頼された処理メッセージに対する処理時間を推定し、推定処理時間、処理メッセージ数および臨時閾値記憶部111gに格納される閾値に基づき、輻輳状態か非輻輳状態かを判定する。具体的には、後述する予備主機能部112の受信カウンタ部112a、メッセージ種別判定部112b、周期タイマ部112c、走行時間算出部112d、累計カウンタ部112e、カウンタ比較部112f、負荷状況算出部112g、負荷判定部112hと同一機能を備える。なお、予備主機能部112の故障は、例えば予備主機能部112に対する定期的な通信が断絶することによって、現用主機能部111側で認識することができる。
輻輳処理部111eは、輻輳防止または解消の為、メッセージ処理を抑制する。具体的には、処理数を一時的に減らすために外部から新たな処理メッセージを受け付けないようにしたり、処理スピードを一時的に落としたりする。処理の抑制は、予備主機能部112から輻輳状態と判定されたとの結果を受けた場合、自らの臨時輻輳監視部111fが輻輳状態と判定した場合、および従機能部12〜15から輻輳状態であると通知された場合に行われる。更に輻輳処理部111eは、予備主機能部112から輻輳状態通知を受けているか、所定間隔毎にチェックする。所定間隔輻輳状態通知を受けていない場合は、予備主機能部112が停止していると判断し、自己の臨時輻輳監視部111fを起動させる。
臨時閾値設定部111gは、図3の閾値記憶部112cに格納される閾値を基に、輻輳状態を考慮した、閾値より低い値の臨時閾値を設定し、臨時閾値記憶部111hに格納する。
メッセージ判別処理部111hは、予備主機能部112から輻輳状態にあると通知された場合に、各従機能部12〜15から受け取る処理メッセージの種別およびその重要度を、重要度記憶部111k内の重要度表を基に判別し、その重要度に応じて各メッセージの処理を行う。例えば、重要度の低い処理メッセージについては、現用主機能部111における実行処理にかかる負荷を軽減する為、破棄または異常終了とする処理(輻輳回避処理)を行う。重要度の低いメッセージとしては、例えば、新たな通信リンクの確立要求に属するもの等がある。重要度の高いメッセージと判定された処理メッセージに対しては、輻輳状態であっても通常の処理を行う。なお、重要度の高いメッセージとは、例えば、通信中の通信リンクの解放要求や保守監視要求に属するもの等がある。なお、輻輳状態を輻輳の度合いに応じて複数の状態に細分化し、メッセージ判別部111hが、これに対応して細分化された重要度表を基に、メッセージ重要度を判定してもよい。これにより、より柔軟な輻輳回避制御が可能となる。
尚、上述した各部は図示しないコンピュータのCPU(Central Processing Unit)等に格納されている。または図示しないROM(Read Only Memory)やRAM(Random Access Memory)に格納されて、適宜CPUが演算処理を行うことでこれらの処理は実行される。
(予備主機能部)
予備主機能部112は、図3に示すように、受信カウンタ部112a、メッセージ種別特定部112b、周期タイマ部112c、走行時間算出部112d、累計カウンタ部112e、カウンタ比較部112f、負荷量算出部112g、負荷判定部112h、判定結果通知部112i、推定走行時間記憶部112jおよび負荷判定記憶部112k等を備えている。
推定走行時間記憶部112jは、現用主機能部111の推定走行時間表と、推定走行時間の累積値を格納する。推定走行時間表とは、従機能部12〜15から受信する処理メッセージの種別と、現用主機能部111がこのメッセージ種別の実行処理にかかる時間の推定値(以下「CPU走行時間」という)とを対応付けてリスト化した表である。推定走行時間の累積値とは、複数の処理メッセージが処理される場合の、各処理に要すると推定されるCPUの走行時間を全て合算した値である。
負荷判定記憶部112kは、現用主機能部111の輻輳状態を判定するための負荷の閾値および負荷判定表を格納する。
受信カウンタ部112aは、各従機能部12〜15から受信する処理メッセージの数をカウントする。
メッセージ種別判定部112b、各従機能部12〜15から受信する処理メッセージのメッセージ種別を判定する。メッセージ種別判定部112bは、判定結果に基づいて、受信する処理メッセージのうち受信メッセージとしてカウントするメッセージと、カウントしないメッセージとを選別する機能を有していてもよい。
周期タイマ部112cは、主機能部11が処理メッセージに対して行う処理の周期を、予め設定された測定周期に基づき計測する。
累計カウンタ部112eは、現用主機能部111にて実行された処理メッセージの総数をカウントする。
走行時間算出部112dは、各メッセージ種別に対応したCPU走行時間を、推定走行時間記憶部112j内の推定走行時間表を参照して取得し、取得された推定走行時間を、これまで実行された走行時間の累積値である走行時間累積値に加算して、走行時間累計値を更新する。各メッセージとは、予め設定された測定周期内で実行された処理メッセージを指す。
カウンタ比較部112fは、取得された各推定走行時間を走行時間累計値に対して加算するごとに累計カウンタの数値を「1」増やし、累計カウンタと受信カウンタの数を比較する。ここで、受信カウンタの値と累計カウンタの値が等しいか否かを判定することにより、受信カウンタにカウントされた処理メッセージ全てについて走行時間が算出され、累計カウンタに加算されたか否かの判定を行う。
負荷量算出部112gは、更新された走行時間累積値に基づいて、測定周期内で現用主機能部111にかかると推定される負荷量(以下「テンポラリ負荷量」という)を算出する。テンポラリ負荷量を推測することで、予備主機能部112は、受信された各処理メッセージのメッセージ種別を迅速に判定することができ、更には、推定走行時間を迅速に算出することができる。
負荷判定部112hは、算出されたテンポラリ負荷量と、負荷判定記憶部112k内の負荷の閾値を比較し、現用主機能部111における負荷レベルの状態を図4の負荷判定記憶部112k内の負荷判定表に基づき判定する。負荷判定表には、現在算出されたテンポラリ負荷量が負荷判定表の低負荷、中負荷、又は高負荷のいずれに属するかを、現在より一つ前の測定周期の負荷状況に基づき判定可能に記載されている。ここでテンポラリ負荷量の判定結果の1つである中負荷は、低負荷、高負荷の間に設定され、非輻輳状態の負荷レベルであることを示す。
例えば、図4に示すように、現在の測定周期で現用主機能部111が非輻輳状態であった場合は、この後の測定周期で低負荷であれば非輻輳状態、中負荷であれば非輻輳状態と判定される。また、現用主機能部111が高負荷である場合には、予め設定された閾値以上の負荷がかかっている場合、輻輳状態と判定され、予め設定された閾値未満であれば、非輻輳状態と判定される。
一方、現在の測定周期で現用主機能部111が輻輳状態であった場合は、この後の周期で現用主機能部111が低負荷である場合、予め設定された閾値以上の負荷がかかっている場合は、輻輳状態と判定、負荷が閾値未満であれば、非輻輳状態と判定される。また、後の測定周期で中負荷または高負荷であると判定された場合は、いずれの場合も輻輳状態と判定される。
なお、上記のように、連続する測定周期で非輻輳状態と輻輳状態の間の状態遷移が行われる場合には、過度に状態遷移が発生するのを防ぐ為、所定時間間隔に、所定回数連続して輻輳状態が通知された場合に輻輳状態であると判断することが好ましい。また、所定時間間隔に、所定回数連続して非輻輳状態が通知された場合に非輻輳状態であると判断することが好ましい。これには、低負荷、中負荷および高負荷間の遷移、即ち輻輳状態の遷移に数階の負荷段数(以下「保護段数」と記載)を設け、所定回数の状態通知を受ける毎に保護段階を上げるように設定する。これにより輻輳状態及び非輻輳状態が頻繁に更新されるのを軽減することができる。
ただし、非輻輳から輻輳状態への状態遷移が遅くなると、その分高い負荷が長い時間継続し、現用主機能部111の安定動作に支障をきたす恐れがあるので、非輻輳から輻輳状態への遷移に用いる保護段数は小さく設定してもよい。
判定結果通知部112iは、輻輳状態又非輻輳状態と判定された場合に、その判定結果を現用主機能部111へ通知する。これにより、上記通知に応じて現用主機能部111が迅速に輻輳回避動作を実行するのを促す。
尚、上述した各部は図示しないコンピュータのCPU等に格納されている。または図示しないROMやRAMに格納されて、適宜CPUが演算処理を行うことでこれらの処理は実行される。ここで、図2と図3に示す機能ブロック図は同一のCPU、ROMおよびRAM内に存在することに留意すべきである。
(従機能部)
従機能部は図5に示すように、輻輳監視部12a、遅延カウンタ部12b、メッセージ受信部12c、メッセージ処理部12d、処理結果送信部12e、輻輳通知部12fおよび閾値記憶部12gを備える。
閾値記憶部12gは、輻輳状態と判断する基準となる、遅延タスク数の閾値を格納する。
遅延カウンタ部12bは、処理の遅延しているタスク数を遅延カウンタにてカウントする。具体的には、遅延カウンタ部12bは、周期的に発生する高優先度のタスク処理(後述するタスクD)の1周期内に処理が完了していないタスクD以外のタスクの数をカウントする。尚、遅延カウント対象となるのは、リアルタイム性に対する優先度は高くないが、他のタスクの稼動の影響を受けやすいタスクである。また、1周期とは、後述するタスクDの起動開始から次の起動開始前までの間を指す。
輻輳監視部12aは、自身の処理の遅延状態を監視する。具体的には、周期毎に処理中のタスク数の分、遅延カウントを増加させる。また、遅延カウンタ部12bと閾値を比較することで、自身が輻輳状態か非輻輳状態かを判定する。尚、輻輳状態にあると判定されると、輻輳を回避するための処理を行う。又、輻輳監視部12aは、輻輳通知部12fに対し、輻輳状態又は非輻輳状態を現用主機能部111に通知するよう促す。
メッセージ受信部12cは、現用主機能部111より、処理メッセージを受信する。
メッセージ処理部12dは、処理メッセージを実行し、処理結果を得る。
処理結果送信部12eは、処理結果を現用主機能部111および予備主機能部112に送信する。
輻輳通知部12fは、輻輳監視部12aの監視による輻輳状態の結果を、主機能部11に対して通知する。
尚、上述した各部は図示しないコンピュータのCPU等に格納されている。または図示しないROMやRAMに格納されて、適宜CPUが演算処理を行うことでこれらの処理は実行される。
次に、従機能部12〜15での処理遅延の発生のメカニズムについて説明する。従機能部12〜15においては現用主機能部111から受信するメッセージをマルチタスクにて処理するが、マルチタスク処理では、各1つの処理(以下「タスク」と記載)の内、リアルタイム性が重要でないタスクは、優先度の高いタスクによる割り込みを受ける。このため、負荷が大きくなると、リアルタイム性は高くないが、使用頻度の高いタスクには、遅れが生じる。
図6を用いてリアルタイム性に対するタスクの優先度があり且つメッセージの受信が少ない場合のプロセッサの稼働状態について説明する。図6中、横軸は実行されるタスクの種類、縦軸は時間経過、右端のプロセッサ稼働グラフはプロセッサがタスク毎の処理のため稼働している時間を示す。リアルタイム性に対するタスクの優先度は、タスクDが最も高く、次にタスクC、タスクB、タスクAの順に優先度が低い。タスクB、Cは処理の動作が異なるため、プロセッサ稼働時間も異なる。これに対して、タスクDは、メッセージ受け付けとは関係なく、従機能部12〜15内部での周期的なタイマをトリガに発生する処理であり、他のタスクと同じくプロセッサを使用する。メッセージaはタスクAとBを実行し、メッセージbはタスクAとCを実行する。タスク図6の区間(a)では、主機能部11からのメッセージaを受け付けた時にタスクAが発生し、タスクAの処理完了後、所定機能処理を実行するためのタスクBへ遷移し、処理結果を主機能部11へメッセージで送出後、処理を完了する。同様に、図6の区間(b)ではメッセージb受信後にタスクAを実行し、タスクC実行完了後に処理結果を主機能部11へ送出する。図6の区間(c)は図6の区間(a)と同様にメッセージaの処理を行うが、メッセージaの受信時刻によって発生するタスクDの処理発生時間が異なる。両図共にタスクAおよびBを処理するが、区間(a)はタスクB完了後間もなくタスクDが発生しているのに対し、区間(c)はタスクB完了後しばらくしてからタスクDが発生している。図6の例では右端のプロセッサ稼働グラフから明らかなように、タスクの優先度に関係なく各タスクが順調に処理されている。
次にリアルタイム性に対するタスクの優先度があり且つ受信メッセージの数が多く各タスクで処理が競合する場合のプロセッサの稼働状態について図7を用いて説明する。タスクの優先度は図6と同じである。図7の区間(a)ではメッセージa1受信後にタスクAおよびBを終了する。また、メッセージa1のタスクBの処理中に、別のメッセージb1を受信したため、メッセージa1の処理完了直後に、メッセージb1のタスクAを実行する。しかしタスクAの処理中に優先度の高いタスクDが起動したため、処理中のタスクAは待機状態となり、タスクDの完了を待ってタスクAは待機状態から実行状態へ戻り、処理を完了させる。これに続きタスクCを実行し、メッセージb1に対する処理が完了する。しかしこの時点でメッセージb1の全体の処理時間は遅延している。図7の区間(b)では、メッセージa2のタスクBの処理中にメッセージb2を受け付ける。この場合、メッセージa2のタスクB完了まで、メッセージb2のタスクAは待機状態となり、待機時間の分、メッセージb2の処理完了は遅れる。さらにこの状態において、図7の区間(c)にてメッセージb3とa3を続けて受け付ける場合、メッセージb2のタスクCの処理中にタスクDが起動し、タスクCの処理は待機状態となり更にタスクCの処理完了時刻は遅延する。メッセージb2のタスクCの完了後直ぐに、メッセージb3のタスクAとタスクCを完了させ、次にメッセージa3のタスクAとタスクCを完了させるが、結果として、メッセージa3の処理完了時刻は予定より大幅に遅れる。このように、図7の例ではタスクの優先度の為、他のタスク処理完了に遅延が生じる。
(輻輳制御システムの動作)
次に、輻輳制御システム10の予備主機能部112における輻輳状態監視動作、現用主機能部111における輻輳回避動作および従機能部12〜15における輻輳回避動作について説明する。まず、予備主機能部112における輻輳状態の監視動作について図8のフロー図を用いて説明する。
(a)まず、ステップS101において、図3の予備主機能部112は、周期タイマ部112cを起動し、予め設定された測定周期にてCPU走行時間を計測できるようにする。またステップS102において、受信カウンタ部112a、累計カウンタ部112eおよび推定走行時間記憶部112jに格納される推定走行時間累積値の初期化を行う。
(b)ステップS103において、メッセージ種別判定部112bは、受信する処理メッセージの数を受信カウンタ部112aに登録するとともに、各処理メッセージを外部又は従機能部12〜15から受信し、メッセージ種別を特定する。
(c)ステップS104において、走行時間算出部112dは、推定走行時間記憶部112jに格納される推定走行時間表に基づき、メッセージ種別が特定された処理メッセージの推定走行時間値を取得する。ステップS105において、走行時間算出部112dは、累積カウンタ部112eに保持される推定走行時間累計値に、取得した推定走行時間値を加算する。ステップS106において、走行時間算出部112dは、累計カウンタの値を「1」増やす。
(d)ステップS107において、カウンタ比較部112fは、受信カウンタと累計カウンタの値が等しいか否かの判定を行い、等しい場合は、受信された処理メッセージ全ての推定走行時間値が設定されたと判定し、ステップS108へ進む。等しくない場合は、ステップS103へ戻り、受信された他の処理メッセージの推定走行時間値の設定を続ける。
03へ)。
(e)ステップS108において、負荷算出部112gは、推定走行時間累計値に基づきテンポラリ負荷量を算出する。負荷判定部112hは、テンポラリ負荷量が、低負荷、中負荷、または高負荷のいずれに該当するかを、負荷判定記憶部112k内の負荷閾値を基に判定する。ステップS109において、負荷判定部112hは、この判定結果および負荷判定記憶部112k内の負荷判定表に記載される現用主機能部111の前状態等に基づいて、現用主機能部111が輻輳状態にあるか、非輻輳状態にあるかの判定を行う。ステップS110において、現用主機能部111の状態が非輻輳状態から輻輳状態に状態遷移した場合や、前状態によらず輻輳状態と判定された場合、判定結果通知部112iは、現用主機能部111に輻輳状態であるという内容の輻輳状態通知を送信する。逆に、現用主機能部111の状態が輻輳状態から非輻輳状態に状態遷移した場合や、前状態によらず非輻輳状態と判定された場合、判定結果通知部112iは、現用主機能部111に非輻輳状態であるという内容の輻輳状態通知を送信する。
上述した動作により、現用主機能部111の輻輳回避動作を促すことができる。ここで、非輻輳から輻輳状態への遷移が遅くなると、その分高い負荷が長い時間継続し、主機能部111の安定動作に支障をきたす恐れがあるので、非輻輳状態から輻輳状態への遷移に用いる負荷閾値は小さくしておくことが望ましい。
次に、予備主機能部112から現用主機能部111に対して輻輳又は非輻輳状態であることが通知された場合の、現用主機能部111における輻輳回避動作について、図9のフロー図を参照して説明する。
(a)まずステップS200において、図2の現用主機能部111の輻輳処理部111eは、所定の間隔毎に、予備主機能部112より輻輳状態通知を受信しているか判定する。輻輳状態通知を受信している場合はステップS201へ進み、輻輳状態通知を受信していない場合はステップS206へ進む。ステップS201において、処理実行部111iは外部や従機能部12〜15からの処理メッセージを受信し、受信した処理メッセージの処理を開始する。ステップS202において、輻輳処理部111eが、予備主機能部112から受信する輻輳状態通知に基づいて、現用主機能部111が輻輳状態にあるのか、非輻輳状態にあるのかを判断する。輻輳状態であればステップS203へ進み、輻輳状態でなければステップS205にて通常処理を行う。
(b)ステップS203において、メッセージ判定部111hは、受信した処理メッセージについて、予め重要度記憶部111kに設定されたメッセージ種別の重要度に応じて重要度の高低を判定する。判定の結果重要度が低ければステップS204へ進み、重要度が低ければステップS205にて通常処理を行う。
(c)ステップS204では、輻輳処理部111eが、重要度が低いと判断された処理メッセージに対しては、破棄処理又は異常終了処理(輻輳回避処理)を実行する。例えば、新たな通信リンクの確立要求等は破棄処理等される。
(d)ステップS206においては、予備主機能部112が故障したと判断し、現用主機能部111の臨時輻輳監視部111fが、ステップS101〜S109までの処理を行う。この際、ステップS108において臨時閾値設定部111gは、図3の負荷判定記憶部112kに格納される閾値を基に、輻輳状態を考慮した、この閾値より低い値の臨時閾値を設定する。負荷判定部は、この臨時閾値を基準とした判定結果および負荷判定記憶部112k内の負荷判定表に記載される現用主機能部111の前状態等に基づいて、現用主機能部111が輻輳状態にあるか、非輻輳状態にあるかの判定を行う。
次に、従機能部12〜15における輻輳回避動作について図10のフロー図を参照して説明する。
(a)ステップS301において、図5の輻輳監視部12aは、遅延カウンタ部12bを0に初期化する。ステップS302において、現用主機能部111より処理メッセージを受信すると、メッセージ処理部12dが一周期分のタスク処理を行う。ステップS303において輻輳監視部12aは、前回のタスクDから今回のタスクDが起動するまでの間に、処理が完了していない未完了タスクがあるかを判定する。具体的には、タスクDが周期的に起動して未完了タスクの数をカウントし、輻輳監視部12aはこのカウント結果を受けて未完了タスクの有無を判断する。
(b)未完了タスクがある場合、ステップS304にて輻輳監視部12aは、このタスクが遅延の対象タスク、すなわちリアルタイム性に対する優先度は低いが他のタスク稼働の影響を受けやすいタスクかどうかを判定し、対象タスクならば、ステップS305において遅延カウンタ部12bを対象タスクの数の分「+1」インクリメントする。尚、対象タスクでない場合はステップS302へ戻る。ステップS306において輻輳監視部12aは、この遅延カウンタ部12bの値を判定閾値記憶部112eに格納される閾値と比較する。比較の結果、遅延カウンタ部12bの値が閾値より大きい場合には、ステップS307において輻輳監視部12aは、自身が輻輳状態にあると判断し、非輻輳状態から輻輳状態へと状態を遷移する。尚、輻輳状態の場合は、輻輳通知部12fが、負荷を軽減するために主機能部11へ輻輳状態を通知し、現用主機能部111からの新規の処理受付を抑制させる。更に、新規の処理を受付けた時点で破棄する。これらの処理により従機能部12〜15の輻輳の回避や解消を簡易に実現する。尚、ステップS306における比較の結果、遅延カウンタ部12bの値が閾値より低いなら、輻輳監視部12aは非輻輳状態と判断し、そのままステップS302へ戻る。
(c)ステップS303で、一周期内に全てのタスク処理が完了したなら、ステップS308において輻輳監視部12aは、これらのタスクが対象タスクかどうかを判定する。対象タスクなら、ステップS309において、遅延カウンタ部12bは対象タスクの数の分遅延カウント値を「1」減少させる。対象タスクでないなら、そのままステップS302へ戻る。ステップS310において輻輳監視部12aは、遅延カウンタの値を判定閾値記憶部112eの閾値と比較する。閾値より小さい場合にはステップ311において、自身の状態を輻輳状態から非輻輳状態へと遷移させる。尚、非輻輳状態の場合は、輻輳通知部12fが、主機能部11へ非輻輳状態を通知し、現用主機能部111からの新規の処理受付を再開する。尚、ステップS310における比較の結果、閾値より大きい場合には、輻輳監視部12aは、まだ輻輳状態であると判断し、そのままステップ302へ戻る。
尚、タスクの稼働時間は、その種類や負荷の状況によっても変動するため、一時的な変動による誤判定を抑制する、保護段数判定処理を行ったほうが好ましい。
以上のように、本発明の第一の実施形態によると、現用主機能部111宛ての処理メッセージが全て予備主機能部112にも送信されることにより、予備主機能部112が、現用主機能部111の輻輳状態を推定することができる。このため、処理メッセージに対する実行処理を行う現用機能部111の処理能力を劣化させることなく、現用機能部111の処理状態の監視を行うことができる。
また、現用機能部111の輻輳状態を推定することにより、より迅速に輻輳状態を通知することができる。このため、現用機能部111は、高負荷のかかった輻輳状態を軽減する処理を迅速に行うことができるため、現用主機能部111は、安定動作を維持することができる。
従機能部12〜15においては、自身の輻輳監視を行うことで、輻輳状態に陥ることを防ぐことができる。又、処理遅延の原因となるタスクのみをカウント対象とすることで、処理遅延の判定を簡易にかつ的確に行うことができる。また、従機能部12〜15が自装置内にて輻輳監視を行い、輻輳状態に陥った際に輻輳回復処理を行うことで、システムの安定度をより向上させることができる。
更に、現用主機能部111の輻輳回避処理、予備主機能部112の輻輳監視処理、および従機能部12〜15の輻輳監視処理をソフトウェア制御によりで実現することで、情報処理装置の設置にかかるコストを軽減することができる。
尚、第一の実施形態における輻輳制御方法は、輻輳制御システム10の各動作を方法の発明として捉えたものである。第一の実施形態の輻輳制御プログラムは、輻輳制御システム10が有する各手段を、コンピュータに機能させるためのものである。
<第二の実施形態>
(輻輳制御システム)
第一の実施形態では主機能部11の情報処理実行部と輻輳監視部が現行予備系の輻輳制御システム10について説明したが、情報処理実行部と輻輳監視部は独立して存在しても構わない。よって第二の実施形態においては、主機能部の情報処理実行部と輻輳監視部が別々の情報処理装置に存在し、互いに通信可能に接続されている輻輳制御システム20について図11を参照して説明する。
輻輳制御システム20は、主機能部21として情報処理装置1、2、3を備え、情報処理装置1は情報処理実行部としてのインタフェース機能部17を、情報処理装置2、3は輻輳監視部としてのインタフェース機能部27、37を備える。インタフェース機能部17とインタフェース機能部27、およびインタフェース機能部17とインタフェース機能部37は、通信回線を介して接続されている。インタフェース機能部17は、インタフェース機能部27が故障した場合に、別の情報処理装置3に、外部から送り込まれた処理メッセージに対する輻輳監視処理の少なくとも一部を移行する。この場合、情報処理装置3のインタフェース機能部37が新たな輻輳監視部として機能する。
尚、図11には図示しないが、図1と同じく複数の従機能部が情報処理装置1〜3と通信可能に接続されている。従機能部は第一の実施形態と同様の構成を備えている。説明は省略する。
インタフェース機能部17は、図12に示すように、処理時間記憶部17a、処理メッセージ受信部17b、処理メッセージ実行処理部17c、メッセージ判別部17d、輻輳状態確認部17e、メッセージ処理実行部17f等を備える。
処理時間記憶部17aは、インタフェース機能部17内で単一の受信メッセージの受信及び送信処理にかかるCPU処理時間を記憶する。
処理メッセージ受信部17bは、外部又は従機能部から送り込まれた処理メッセージを受信する。
処理メッセージ実行処理部17cは、処理メッセージの内容を実行処理する。
メッセージ判別部17dは、受信した処理メッセージの種別、及びその重要度を判別する。判別された処理メッセージの重要度に応じて処理方法は決定される。
輻輳状態確認部17eは、インタフェース機能部27から受信する輻輳状態通知に基づいて、インタフェース機能部17の輻輳状態を確認する。更に、輻輳状態確認部17eは、インタフェース機能部27から一定期間輻輳状態通知を受信しない場合、インタフェース機能部27が故障したと判断して、予備のインタフェース機能部37に輻輳状態の監視を依頼する。
メッセージ処理実行部17fは、輻輳状態にあると通知された場合に、重要度に応じて異なる処理を行う。例えば、重要度の低い処理メッセージについては、破棄、又は異常終了とする処理(輻輳回避処理)を行う。これにより、輻輳状態にあるインタフェース機能部17の実行処理にかかる負荷を軽減する。重要度の低いメッセージとしては、例えば、新たな通信リンクの確立要求に属するもの等を示す。重要度の高いメッセージについては、通常の処理を行う。重要度の高いメッセージとは、例えば、通信中の通信リンクの解放要求や保守監視要求に属するものを示す。
なお、通知された輻輳状態を、更に輻輳の度合いに応じて複数の状態に細分化し、かつメッセージの重要度もそれに応じて細分化し設定してもよい。これにより、より柔軟な輻輳回避制御ができる。
インタフェース機能部27は図13に示すように、メッセージ送受信カウンタ部27a、送受信処理推定時間記憶部27b、周期タイマ部27c、走行時間値算出部27d、負荷量算出部27e、輻輳状態判定部27fおよび輻輳状態通知部27g等を備える。
メッセージ送受信カウンタ部27aは、インタフェース機能部17とインタフェース機能部27又は37の間で実行される処理メッセージの送信又は受信イベントを処理する毎に、その処理数をカウントする。
送受信処理推定時間記憶部27bは、インタフェース機能部17における処理メッセージ毎の送受信処理にかかる処理時間が予め設定された送受信処理推定時間表を格納する。送受信処理推定時間表により、インタフェース機能部27は、インタフェース機能部17における送受信イベントの処理時間を、迅速に読み出すことができる。
周期タイマ部27cは、予め設定された測定周期を計測する。
走行時間値算出部27dは、予め設定された測定周期内で実行された処理メッセージの送信イベント又は受信イベントの数と、上記送受信処理推定時間表から読み出された処理時間とを掛け合わせて、インタフェース機能部17のCPUにおける推定CPU走行時間値を算出する。
負荷量算出部27eは、算出された推定CPU走行時間値に基づいて、周期内で、インタフェース機能部17にかかると推定される負荷量(以下「テンポラリ負荷量」という)を算出する。
輻輳状態判定部27fは、算出されたテンポラリ負荷量に基づいてインタフェース機能部27又は37の輻輳状態の判定が低負荷、中負荷、又は高負荷の何れであるかを判定する。ここで、テンポラリ負荷量の判定結果の1つである中負荷は、低負荷、高負荷の間に設定され、非輻輳状態の負荷レベルであることを示す。第一の実施形態と同様に、インタフェース機能部17が輻輳状態か非輻輳状態かの判定は、図4に示すように、一つ前の測定周期の負荷状況に基づき行われる。ここでは、前の測定周期でインタフェース機能部17が非輻輳状態であった場合は、後の測定周期で低負荷であれば非輻輳状態、中負荷であれば非輻輳状態と判定される。また、前の測定周期でインタフェース機能部17が高負荷であった場合には、予め設定された閾値以上の負荷がかかっている場合、輻輳状態と判定、閾値未満であれば、非輻輳状態と判定される。
一方、前の測定周期でインタフェース機能部17が輻輳状態であった場合は、後の周期でインタフェース機能部17が低負荷である場合、予め設定された閾値以上の負荷がかかっている場合は、輻輳状態と判定、負荷が閾値未満であれば、非輻輳状態と判定される。また、後の測定周期で中負荷または高負荷であると判定された場合は、いずれの場合も輻輳状態と判定される。
なお、上記のように、連続する測定周期で非輻輳状態から輻輳状態への状態遷移が行われる場合には、状態遷移の保護段数を設けることで、輻輳状態及び非輻輳状態が頻繁に更新されるのを軽減することができる。ただし、非輻輳から輻輳状態への状態遷移が遅くなると、その分高い負荷が長い時間継続し、インタフェース機能部17の安定動作に支障をきたす恐れがあるので、非輻輳から輻輳状態への遷移に用いる保護段数は小さく設定してもよい。
輻輳状態通知部27gは、インタフェース機能部17が輻輳状態であると判定された場合、あるいは、インタフェース機能部17の状態が非輻輳状態から輻輳状態へ遷移したと判定された場合に、当該インタフェース機能部17に対して輻輳状態にあることを通知する。これにより、インタフェース機能部17が、上記通知に応じて輻輳回避動作を実行するのを促す。
尚、インタフェース機能部37は、インタフェース機能部27と同様の構成を有する。説明は省略する。
(輻輳制御システムの動作)
次に、輻輳制御システム20の動作について説明する。輻輳制御システム20の動作としては、情報処理装置2のインタフェース機能部27の輻輳監視動作と、情報処理装置1のインタフェース機能部17の輻輳回避動作がある。従機能部の輻輳回避動作については第一の実施形態と同様であるため説明を省略する。
最初に、情報処理装置2のインタフェース機能部27の輻輳監視動作について、図14のフロー図を参照して説明する。
(a)まず、ステップS401において、インタフェース機能部27が、周期タイマ部27cを起動し、予め設定された測定周期を計測する。ステップS402において、走行時間算出部27dが、送受信処理推定時間記憶部27bの送受信処理推定時間表からインタフェース機能部17の送受信イベント処理時間を示す処理時間情報を読み出す。ステップS403において、走行時間値算出部27dは、読み出された処理時間情報と、メッセージ送受信カウンタ部27aに予め記憶された処理メッセージの送信及び受信イベント数とを掛け合わせて、推定CPU走行時間値を算出する。
(b)ステップS404において、負荷量算出部27eが、推定CPU走行時間値からテンポラリ負荷量を算出し、算出されたテンポラリ負荷量が、低負荷、中負荷、又は高負荷のいずれに該当するかを判定する。
(c)ステップS405においては、輻輳状態判定部27fが、判定結果に基づいて、インタフェース機能部17が輻輳状態にあるか、非輻輳状態にあるかの判定を行う。ステップS406において、輻輳状態通知部27gが、インタフェース機能部17の状態が非輻輳状態から輻輳状態に状態遷移した場合や、前状態によらず輻輳状態(高負荷状態)と判定された場合に、インタフェース機能部17に輻輳状態であることを示す対向ノード輻輳状態通知を送信する。また、インタフェース機能部17が非輻輳状態である場合は、非輻輳状態であることを通知する。
この通知により、インタフェース機能部17の輻輳回避動作を促すことができる。ここで、非輻輳から輻輳状態への遷移が遅くなると、その分高い負荷が長い時間継続し、インタフェース機能部17の安定動作に支障をきたす恐れがあるので、非輻輳状態から輻輳状態への遷移に用いる保護段数は小さくしておくことが望ましい。
なお、ここでは、インタフェース機能部27が、インタフェース機能部17に対して輻輳監視処理を行う場合について説明したが、インタフェース機能部37も同様に輻輳監視処理を行うことができる。
次いで、インタフェース機能部27からインタフェース機能部17に対して輻輳状態であることが通知された場合の、インタフェース機能部17の輻輳回避動作について、図15のフローチャートに基づき説明する。
(a)ステップS500において、図12のインタフェース機能部17の輻輳状態監視部17eは、所定期間内にインタフェース機能部27からの処理メッセージや輻輳状態通知を受信するか判断する。所定期間内に処理メッセージや輻輳状態通知を受信する場合は、ステップS501において処理を開始する。所定期間内に処理メッセージや輻輳状態通知を受信しない場合はステップS506へ進む。
(b)ステップS502において、輻輳状態確認部17eは、受信した輻輳状態通知を基に、インタフェース機能部17自身が、輻輳状態にあるのか非輻輳状態にあるのかを判断する。非輻輳状態と判定されると、ステップS505にてメッセージ処理実行部17fが通常処理を行う。輻輳状態と判定されるとステップS503へ進む。
(c)ステップS503においてメッセージ判別部17dは、予め設定重要度記憶部17gの重要度表に記載されたメッセージ種別に応じて、受信された処理メッセージの重要度の高低を判定する。重要度が高いと判定されると、ステップS505にてメッセージ処理実行部17fが通常処理を行う。重要度が低いと判定されるとステップS504へ進む。
(d)ステップS504において、メッセージ処理実行部17fは、重要度が低いと判断された処理メッセージを、破棄するまたは異常終了として処理する。更に処理メッセージの受信を抑制する。
(e)所定期間インタフェース機能部27から処理メッセージを受信しない場合、ステップS506にて輻輳状態確認部17eは、インタフェース機能部27が故障したと判断し、予備のインタフェース機能部37に輻輳状態の監視を依頼する。依頼を受けたインタフェース機能部37は、代わりにステップS401〜S406の輻輳監視処理を行う。
以上のように、第二の実施形態では、インタフェース機能部17は、インタフェース機能部27又は37に輻輳状態を監視させる。これによりインタフェース機能部17における実行処理能力を劣化させることなく、輻輳状態の監視を行うことができる。
また、インタフェース機能部17の輻輳状態を推定することにより、より迅速に輻輳状態を通知することができる。このため、インタフェース機能部17は、高負荷のかかった輻輳状態を軽減する処理を迅速に行うことができるため、安定動作を維持することができる。
第二の実施形態によれば、第一の実施形態の効果に加え、輻輳監視部としてのインタフェース機能部27が故障した場合に、情報処理装置3に処理メッセージに対する処理の一部を移行することにより、情報処理実行部としてのインタフェース機能部17の処理負担を軽減できる。
更に、上記インタフェース機能部17の輻輳回避処理、及びインタフェース機能部27又は37の輻輳監視処理をソフトウェア制御により実現することで、情報処理装置の設置にかかるコストを軽減することができる。
尚、第二の実施形態における輻輳制御方法は、輻輳制御システム20の各動作を方法の発明として捉えたものである。第二の実施形態の輻輳制御プログラムは、輻輳制御システム20が有する各手段を、コンピュータに機能させるためのものである。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、前記情報処理実行部に併設され前記処理メッセージ数を監視する輻輳監視部と、前記情報処理実行部および前記輻輳監視部に接続された、前記処理メッセージに含まれるタスクを実行する従機能部
とを備えた輻輳制御システムであって、
前記輻輳監視部は、
前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、
この判定した内容を前記情報処理実行部へ通知する手段
とを有し、前記従機能部は、
前記処理メッセージに含まれる少なくとも1つ以上のタスクの、周期内における処理未完了数をカウントし、前記未完了数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、
この判定した内容を前記情報処理実行部へ通知する手段
とを有し、前記情報処理実行部は、
前記輻輳監視部が故障した場合に、自ら、前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、
前記輻輳監視部および前記従機能部から通知される内容、または自らが判定した内容が輻輳状態を示す場合に前記処理メッセージに対する処理を抑制する手段
とを有することを特徴とする輻輳制御システム。
[付記2]
前記情報処理実行部は、前記輻輳監視部が故障した場合に前記閾値を低く設定し直す手段を更に有することを特徴とする付記1に記載の輻輳制御システム。
[付記3]
前記情報処理実行部及び前記輻輳監視部は、通信回線を介して接続され相互に通信可能
な異なる情報処理装置にそれぞれ別々に設けられた、
付記1又は2に記載の輻輳制御システム。
[付記4]
前記情報処理実行部は、前記輻輳監視部が故障した場合に、前記通信回線を介して接続され相互に通信可能な他の前記情報処理装置に、外部から送り込まれた前記処理メッセージに対する処理の一部を移行する手段
を更に有することを特徴とする付記3記載の輻輳制御システム。
[付記5]
前記情報処理実行部及び前記輻輳監視部は、同一の中央演算処理装置でプログラム制御により動作する機能部である、
付記1又は2記載の輻輳制御システム。
[付記6]
前記従機能部の判定する手段は、前記処理未完了のタスクのうち、リアルタイム性に対する優先度は高くないが、他のタスクの稼動の影響を受けやすいタスクをカウントする
ことを特徴とする付記1に記載の輻輳制御システム。
[付記7]
前記輻輳監視部の判定する手段および前記情報処理実行部の判定する手段の少なくとも片方は、所定間隔における所定回数以上前記輻輳状態又は前記非輻輳状態が通知された場合に状態を変化させることを特徴とする付記1に記載の輻輳制御システム。
[付記8]
外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、前記情報処理実行部に併設され前記処理メッセージ数を監視する輻輳監視部と、前記情報処理実行部および前記輻輳監視部に接続された、前記処理メッセージに含まれるタスクを実行する従機能部を備えたシステムに用いられる輻輳制御方法であって、
前記輻輳監視部が、
前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、
この判定した内容を前記情報処理実行部へ通知する工程
を有し、前記従機能部は、
前記処理メッセージに含まれる少なくとも1つ以上のタスクの、周期内における処理未完了数をカウントし、前記未完了数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、
この判定した内容を前記情報処理実行部へ通知する工程
とを有し、前記情報処理実行部は、
前記輻輳監視部が故障した場合に、自ら、前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、
前記輻輳監視部および前記従機能部から通知される内容、または自らが判定した内容が輻輳状態を示す場合に前記処理メッセージに対する処理を抑制する工程
とを有することを特徴とする輻輳制御方法。
[付記9]
前記情報処理実行部は、前記輻輳監視部が故障した場合に前記閾値を低く設定し直す工程を更に有することを特徴とする付記8に記載の輻輳制御方法。
[付記10]
前記従機能部の判定する工程は、前記処理未完了のタスクのうち、リアルタイム性に対する優先度は高くないが、他のタスクの稼動の影響を受けやすいタスクをカウントする
ことを特徴とする付記8又は9に記載の輻輳制御方法。
[付記11]
前記情報処理実行部及び前記輻輳監視部は、通信回線を介して接続され相互に通信可能な異なる情報処理装置にそれぞれ別々に設けられた
ことを特徴とする付記10に記載の輻輳制御方法。
[付記12]
前記情報処理実行部は、前記輻輳監視部が故障した場合に、前記通信回線を介して接続され相互に通信可能な他の前記情報処理装置に、外部から送り込まれた前記処理メッセージに対する処理の一部を移行する工程
を更に有することを特徴とする付記8又は9に記載の輻輳制御方法。
[付記13]
前記情報処理実行部及び前記輻輳監視部は、同一の中央演算処理装置でプログラム制御により動作する機能部である、
付記8又は9に記載の輻輳制御方法。
[付記14]
前記輻輳監視部の判定する工程および前記情報処理実行部の判定する工程の少なくとも片方は、所定間隔における所定回数以上前記輻輳状態又は前記非輻輳状態が通知された場合に状態を変化させることを特徴とする付記8に記載の輻輳制御方法。
1、2、3 情報処理装置
10、20 輻輳制御システム
11 主機能部
111 現用主機能部
112 予備主機能部
12、13、14、15 従機能部
17、27、37 インタフェース機能部

Claims (10)

  1. 外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、前記情報処理実行部に併設され前記処理メッセージ数を監視する輻輳監視部と、前記情報処理実行部および前記輻輳監視部に接続された、前記処理メッセージに含まれるタスクを実行する従機能部
    とを備えた輻輳制御システムであって、
    前記輻輳監視部は、
    前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、
    この判定した内容を前記情報処理実行部へ通知する手段
    とを有し、前記従機能部は、
    前記処理メッセージに含まれる少なくとも1つ以上のタスクの、周期内における処理未完了数をカウントし、前記未完了数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、
    この判定した内容を前記情報処理実行部へ通知する手段
    とを有し、前記情報処理実行部は、
    前記輻輳監視部が故障した場合に、自ら、前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する手段と、
    前記輻輳監視部および前記従機能部から通知される内容、または自らが判定した内容が輻輳状態を示す場合に前記処理メッセージに対する処理を抑制する手段
    とを有することを特徴とする輻輳制御システム。
  2. 前記情報処理実行部は、前記輻輳監視部が故障した場合に前記閾値を低く設定し直す手段を更に有することを特徴とする請求項1に記載の輻輳制御システム。
  3. 前記情報処理実行部及び前記輻輳監視部は、通信回線を介して接続され相互に通信可能
    な異なる情報処理装置にそれぞれ別々に設けられた、
    請求項1又は2に記載の輻輳制御システム。
  4. 前記情報処理実行部は、前記輻輳監視部が故障した場合に、前記通信回線を介して接続され相互に通信可能な他の前記情報処理装置に、外部から送り込まれた前記処理メッセージに対する処理の一部を移行する手段
    を更に有することを特徴とする請求項3記載の輻輳制御システム。
  5. 前記情報処理実行部及び前記輻輳監視部は、同一の中央演算処理装置でプログラム制御により動作する機能部である、
    請求項1又は2記載の輻輳制御システム。
  6. 外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、前記情報処理実行部に併設され前記処理メッセージ数を監視する輻輳監視部と、前記情報処理実行部および前記輻輳監視部に接続された、前記処理メッセージに含まれるタスクを実行する従機能部を備えたシステムに用いられる輻輳制御方法であって、
    前記輻輳監視部が、
    前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、
    この判定した内容を前記情報処理実行部へ通知する工程
    を有し、前記従機能部は、
    前記処理メッセージに含まれる少なくとも1つ以上のタスクの、周期内における処理未完了数をカウントし、前記未完了数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、
    この判定した内容を前記情報処理実行部へ通知する工程
    とを有し、前記情報処理実行部は、
    前記輻輳監視部が故障した場合に、自ら、前記処理メッセージに対する処理時間を推定し、この処理時間、前記処理メッセージ数および閾値に基づき、輻輳状態か非輻輳状態かを判定する工程と、
    前記輻輳監視部および前記従機能部から通知される内容、または自らが判定した内容が輻輳状態を示す場合に前記処理メッセージに対する処理を抑制する工程
    とを有することを特徴とする輻輳制御方法。
  7. 前記情報処理実行部は、前記輻輳監視部が故障した場合に前記閾値を低く設定し直す工程を更に有することを特徴とする請求項6に記載の輻輳制御方法。
  8. 前記従機能部の判定する工程は、前記処理未完了のタスクのうち、リアルタイム性に対する優先度は高くないが、他のタスクの稼動の影響を受けやすいタスクをカウントする
    ことを特徴とする請求項6又は7に記載の輻輳制御方法。
  9. 前記情報処理実行部及び前記輻輳監視部は、通信回線を介して接続され相互に通信可能な異なる情報処理装置にそれぞれ別々に設けられた
    ことを特徴とする請求項8に記載の輻輳制御方法。
  10. 前記情報処理実行部は、前記輻輳監視部が故障した場合に、前記通信回線を介して接続され相互に通信可能な他の前記情報処理装置に、外部から送り込まれた前記処理メッセージに対する処理の一部を移行する工程
    を更に有することを特徴とする請求項6又は7に記載の輻輳制御方法。
JP2014062861A 2014-03-26 2014-03-26 輻輳制御システム及び輻輳制御方法 Expired - Fee Related JP6357825B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014062861A JP6357825B2 (ja) 2014-03-26 2014-03-26 輻輳制御システム及び輻輳制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014062861A JP6357825B2 (ja) 2014-03-26 2014-03-26 輻輳制御システム及び輻輳制御方法

Publications (2)

Publication Number Publication Date
JP2015185054A true JP2015185054A (ja) 2015-10-22
JP6357825B2 JP6357825B2 (ja) 2018-07-18

Family

ID=54351470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014062861A Expired - Fee Related JP6357825B2 (ja) 2014-03-26 2014-03-26 輻輳制御システム及び輻輳制御方法

Country Status (1)

Country Link
JP (1) JP6357825B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018155409A1 (ja) * 2017-02-21 2018-08-30 日本電気株式会社 スイッチ、スイッチの制御方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0715506A (ja) * 1993-06-17 1995-01-17 Nippon Telegr & Teleph Corp <Ntt> 交換装置におけるレイヤ2処理の輻輳制御方式
JPH1027168A (ja) * 1996-07-11 1998-01-27 Nec Corp メッセージ動的負荷分散方式
JP2007027979A (ja) * 2005-07-13 2007-02-01 Matsushita Electric Ind Co Ltd ネットワーク対応型電子機器
JP2009212862A (ja) * 2008-03-04 2009-09-17 Nec Corp 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0715506A (ja) * 1993-06-17 1995-01-17 Nippon Telegr & Teleph Corp <Ntt> 交換装置におけるレイヤ2処理の輻輳制御方式
JPH1027168A (ja) * 1996-07-11 1998-01-27 Nec Corp メッセージ動的負荷分散方式
JP2007027979A (ja) * 2005-07-13 2007-02-01 Matsushita Electric Ind Co Ltd ネットワーク対応型電子機器
JP2009212862A (ja) * 2008-03-04 2009-09-17 Nec Corp 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018155409A1 (ja) * 2017-02-21 2018-08-30 日本電気株式会社 スイッチ、スイッチの制御方法及びプログラム
US11201822B2 (en) 2017-02-21 2021-12-14 Nec Corporation Switch, switch controlling method, and program

Also Published As

Publication number Publication date
JP6357825B2 (ja) 2018-07-18

Similar Documents

Publication Publication Date Title
JP4747307B2 (ja) ネットワーク処理制御装置,プログラムおよび方法
US8321065B2 (en) Method for controlling/regulating at least one task
JP4984162B2 (ja) 監視制御方法および監視制御装置
CN107995127B (zh) 一种过载保护方法及装置
US10389801B2 (en) Service request processing method, related apparatus, and system
JP5843020B2 (ja) 通信装置及び通信方法
CN111124829A (zh) 一种kubernetes计算节点状态监测方法
JP6357825B2 (ja) 輻輳制御システム及び輻輳制御方法
US20170111222A1 (en) Traffic switching method and apparatus
CN112866338B (zh) 一种服务器状态检测的方法及装置
US20130227135A1 (en) Monitoring resource congestion in a network processor
JP5428416B2 (ja) マルチタスク処理装置及び方法、並びにプログラム
JP2009212862A (ja) 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム
JP4968568B2 (ja) 障害監視方法、障害監視システムおよびプログラム
JP2014204136A (ja) 輻輳制御システム、輻輳制御方法及び輻輳制御プログラム
CN113965523A (zh) 一种基于环路的pfc死锁的处理方法及装置
JP2009194620A (ja) 処理輻輳制御装置
JP5677524B2 (ja) 通信制御装置、通信制御システム及び通信制御方法
JP2016024605A (ja) 分散処理方法、処理サーバ、および、プログラム
JP6453801B2 (ja) 監視システム、監視方法、監視装置、および、被監視装置
JP5884918B2 (ja) ネットワーク管理装置、システム、および方法
JP5603836B2 (ja) 保守管理装置、保守管理方法、および保守管理用プログラム
JP5449232B2 (ja) セッション制御方法およびセッション制御サーバ
JP2006325118A (ja) 監視データ収集システム
CN112272110B (zh) 存储集群控制器节点的连接抖动处理方法、系统及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180604

R150 Certificate of patent or registration of utility model

Ref document number: 6357825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees