(57)【要約】      （修正有）【課題】処理メッセージに対する実行処理にかかる負荷を有効に軽減する。【解決手段】処理メッセージに対する処理を行うと共に当該処理に輻輳が生じた場合に当該処理の抑制行う現用主機能部１１−１と、上記処理メッセージの数を監視する予備主機能部１１−２を有し、この予備主機能部１１−２が、予め推定設定された現用主機能部１１−１の処理時間を記憶する処理時間記憶手段と、情報処理実行部が輻輳状態にあるか否かを上記記憶された処理時間および前記処理メッセージ数に基づき判定する手段と、この判定内容を現用主機能部１１−１に通知する手段を備える。【選択図】図１
2009212862.tif 000002
【特許請求の範囲】
【請求項１】
外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、当該情報処理実行部に併設され前記処理メッセージ数を監視する輻輳監視部とを備えた輻輳制御システムであって、
前記輻輳監視部は、前記情報処理実行部の前記処理メッセージに対する処理時間を予め推定し記憶する処理時間記憶手段と、前記情報処理実行部が輻輳状態にあるか否かを前記記憶された処理時間および前記処理メッセージ数に基づき判定する手段と、前記判定内容を前記情報処理実行部に通知する手段とを備え、
前記情報処理実行部は、前記内容が輻輳状態を示す場合に前記処理メッセージに対する処理の抑制を行う手段を備えたことを特徴とする輻輳制御システム。
【請求項２】
前記請求項１に記載の輻輳制御システムにおいて、
前記情報処理実行部および輻輳監視部は、同一の中央演算処理装置でプログラム制御により動作する機能部であることを特徴とした輻輳制御システム。
【請求項３】
前記請求項２に記載の輻輳制御システムにおいて、
前記中央演算処理装置内に前記処理メッセージを複製すると共に前記輻輳監視部に対して送信するメッセージ複製送信部を備え、
前記輻輳監視部は、前記送信された処理メッセージの種別を解析する種別解析手段と、前記解析により特定されたメッセージ種別に基づき前記処理負荷量の算出を行うメッセージ種別算出機能を有することを特徴とした輻輳制御システム。
【請求項４】
前記請求項１に記載の輻輳制御システムにおいて、
前記情報処理実行部および輻輳監視部はそれぞれ、通信回線を介して接続され相互通信を行う異なる情報処理装置に設定され動作することを特徴とした輻輳制御システム。
【請求項５】
前記請求項３、４に記載の輻輳制御システムにおいて、
前記輻輳監視部は、前記記憶された処理時間および前記処理メッセージ数に基づき前記情報処理実行部の処理にかかる処理負荷量を算出する負荷量算出手段と、前記情報処理実行部の処理負荷量が予め設定された基準値に基づき低負荷、中負荷、または高負荷の何れに該当するかを判定する負荷判定手段とを有することを特徴とした輻輳制御システム。
【請求項６】
前記請求項３、４に記載の輻輳制御システムにおいて、
前記情報処理実行部は、当該情報処理実行部が輻輳状態であることが通知された場合に、前記送り込まれた処理メッセージに対する処理を抑制する抑制処理機能を有することを特徴とした輻輳制御システム。
【請求項７】
前記請求項３、４に記載の輻輳制御システムにおいて、
前記輻輳監視部は、前記記憶された処理時間および前記処理メッセージ数に基づき前記情報処理実行部の処理にかかる処理負荷量を算出する負荷量算出手段と、前記情報処理実行部の処理負荷量が予め設定された基準値に基づき低負荷、中負荷、または高負荷の何れに該当するかを判定する負荷判定手段とを備え、
前記前記情報処理実行部は、当該情報処理実行部が輻輳状態であることが通知された場合に、前記送り込まれた処理メッセージの重要度を判別するメッセージ重要度判別機能と、前記処理メッセージの重要度が予め設定された基準値より低い場合に前記処理メッセージに対する処理を抑制する低重要度抑制処理機能とを有することを特徴とした輻輳制御システム。
【請求項８】
外部から送られた処理メッセージに対する処理を行う情報処理実行部と、当該情報処理実行部に併設され前記処理時間および処理メッセージ数を監視する輻輳監視部とを備え、前記情報処理実行部に輻輳が生じた場合に当該輻輳の制御を行う輻輳制御方法において、
前記処理メッセージ数および前記処理にかかる時間として予め設定された時間値を取得する工程と、前記処理メッセージ数および時間値に基づいて前記情報処理実行部が輻輳状態にあるか否かを判定する工程と、前記判定内容を前記情報処理実行部に通知する工程と、前記通知内容が輻輳状態を示す場合に前記処理メッセージに対する処理の抑制を行なう工程とを有することを特徴とした輻輳制御方法。
【請求項９】
外部から送られた処理メッセージに対する処理を行うと共に当該処理が輻輳状態の場合に前記処理の抑制を行なう情報処理実行部と、当該情報処理実行部に併設され前記処理時間と前記処理メッセージ数を監視する輻輳監視部とを備え、前記情報処理実行部に輻輳が生じた場合に輻輳制御を行うための輻輳制御プログラムにおいて、
前記処理メッセージ数および前記処理にかかる時間として予め設定された時間値を読み出す処理時間読出し機能と、前記読み出された処理メッセージ数および処理時間値に基づき前記情報処理実行部が輻輳状態にあるか否かを判定する輻輳状態判定機能と、前記判定内容を前記情報処理実行部に通知する処理を行う輻輳状態通知機能とを前記輻輳監視部の備えたコンピュータに実行させることを特徴とする輻輳制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置内に設置された中央演算処理部(ＣＰＵ)で、送り込まれた処理対象情報の増大に伴い生じた輻輳を制御する手法に関する。
【背景技術】
【０００２】
情報処理装置を構成する各機能部は、通常の情報処理を行う他に、当該情報処理装置やプロセッサ(ＣＰＵ)に生じ得る輻輳状況を、例えば、ソフトウェアの実行処理によって監視及び保護処理を行う必要がある。
例えば、イントラネットのパケット中継を行う装置は、パケットトラヒックの増大に伴い、装置の処理能力を拡大する必要性が生じており、装置の処理能力を上回るトラヒックによって通信障害が発生するのを抑制する輻輳保護制御が必要となっている。
【０００３】
しかしながら、情報処理装置における通常処理を行う機能部で輻輳監視処理や輻輳保護処理を実行する場合、当該輻輳監視処理や輻輳保護処理そのものの処理負荷によって、情報処理装置自体のパフォーマンスが劣化してしまうという不都合がある。
又、通常の処理を行うプロセッサ周辺に輻輳監視処理を行う専用のハードウェア機能部を設置して輻輳監視処理を行う場合には、上記機能部の設置に対するコストが増大してしまう。例えば、上記輻輳監視処理を行う機能を専用のハードウェアを設置することにより実現することは、情報処理装置のコストアップとなってしまい、望ましくない。
【０００４】
これに対する関連技術として、現用ホーム位置レジスタ(ＨＬＲ)と予備ＨＬＲとで構成される携帯電話およびＰＨＳ網において、移動交換局からのアクセスが特定の現用ＨＬＲに集中して輻輳が発生した場合に、輻輳制御を行い、正常な通信状態に復旧させる手法が開示されている(特許文献１)。
【０００５】
また、関連技術として、シェーピング機能を有する分解組立用集積回路(ＳＡＲ)を備えたＡＴＭアダプテーション終端装置において、周期起動を行なう高優先度タスクＡと、カウンタ値を＋１すると共に一定時間のループ動作を行なう最低優先の常駐タスクＢとによって、タスク処理の走行時間を計測し、計測された結果値が一定値以上であった場合に、上記分解組立用集積回路が輻輳状態であると判断し、シェーピング機能を制限制御して、ＣＰＵにおける輻輳状態の復旧を行なう手法が開示されている(特許文献２)。
【０００６】
【特許文献１】特開平１１−３３１９２０公報
【特許文献２】特開平２００１−００７８１０公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に開示された関連技術では、ヘルスチェック信号の送受信トランザクション数の読出し処理が該当機能部(ＨＬＲ)に発生する。このため、該当機能部に処理負荷が生じ、これにより、処理能力が低下してしまうという不都合があった。
【０００８】
又、上記特許文献２に開示された関連技術では、該当機能部におけるタスク処理の走行時間を計測するため、当該タスク処理の走行時間の算出に時間がかかるという不都合が生じ得る。
【０００９】
［発明の目的］
本発明は、上記従来例の有する不都合を改善し、処理メッセージの実行処理にかかる負荷を有効に軽減する輻輳制御システム、輻輳制御方法、および輻輳制御プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る輻輳制御システムは、外部から送り込まれた処理メッセージに対して処理を行う情報処理実行部と、当該情報処理実行部に併設され前記処理メッセージ数を監視する輻輳監視部とを備えた輻輳制御システムであって、前記輻輳監視部は、予め推定設定された前記情報処理実行部の処理時間を記憶する処理時間記憶手段と、前記情報処理実行部が輻輳状態にあるか否かを前記記憶された処理時間および前記処理メッセージ数に基づき判定する手段と、前記判定内容を前記情報処理実行部に通知する手段とを備え、前記情報処理実行部は、前記内容が輻輳状態を示す場合に前記処理メッセージに対する処理の抑制を行う手段を備えた構成をとっている。
【００１１】
又、本発明にかかる輻輳制御方法は、外部から送られた処理メッセージに対する処理を行う情報処理実行部と、当該情報処理実行部に併設され前記処理にかかる時間と前記処理メッセージ数を監視する輻輳監視部とを備え、前記情報処理実行部における輻輳制御を行う輻輳制御方法において、前記処理メッセージ数および前記処理にかかる時間として予め設定された時間値を取得する工程と、前記処理メッセージ数および時間値に基づいて前記情報処理実行部が輻輳状態にあるか否かを判定する工程と、前記判定内容を前記情報処理実行部に通知する工程と、前記通知内容が輻輳状態を示す場合に前記処理メッセージに対する処理の抑制を行なう工程と、を有することを特徴としている。
【００１２】
更に、本発明にかかる要求処理プログラムは、外部から送られた処理メッセージに対する処理を行うと共に当該処理が輻輳状態の場合に前記処理の抑制を行なう情報処理実行部と、当該情報処理実行部に併設され前記処理時間と前記処理メッセージ数を監視する輻輳監視部とを備え、前記情報処理実行部における輻輳制御を行うための輻輳制御方法において、前記処理メッセージ数および前記処理にかかる時間として予め設定された時間値を読み出す機能と、前記読み出された処理メッセージ数および処理時間値に基づき前記情報処理実行部が輻輳状態にあるか否かを判定する機能と、前記判定内容を前記情報処理実行部に通知する処理を行う機能とを前記輻輳監視部の備えたコンピュータに実行させることを特徴としている。
【発明の効果】
【００１３】
本発明は、以上のように構成され機能するので、これによると、処理メッセージに対する処理を行う情報処理実行部と、当該情報処理実行部における輻輳の発生を推定し通知する輻輳監視部とを備えた構成としたことにより、処理メッセージの実行処理にかかる処理負荷を有効に軽減し、且つ迅速に輻輳制御を行う輻輳制御システム、輻輳制御方法、および輻輳制御プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１４】
［実施形態１］
次に、本発明の実施形態１について、その基本的構成内容を説明する。
【００１５】
本実施形態の輻輳制御システムは、プログラム制御により動作するＣＰＵと、このＣＰＵを制御するプログラムとプログラムが制御するデータを保持する記憶手段を有し機能する情報処理装置１０であって、図１に示すように、上記情報処理装置１０内における処理の命令やデータのアドレス等を示す処理メッセージを受け、当該処理メッセージに応じた処理を行う主機能部１１と、上記ＣＰＵの周辺装置や上記プログラムの実行に伴い生じる処理メッセージを主機能部１１に対して送信する従機能部１２〜１５を備えている。
【００１６】
又、上記主機能部１１は、従機能部１２〜１５それぞれから送り込まれた処理メッセージに対して実際に実行処理を行う上記ＣＰＵの現用主機能部１１−１と、この現用主機能部(情報処理実行部に相当)１１−１による実行処理が行われている間、実行待機状態にある予備主機能部(輻輳監視部に相当)１１−２からなる。
更に、この予備主機能部１１−２は、同一ＣＰＵ内で現用主機能部１１−１の周辺機能部として機能して、現用主機能部１１−１の処理状態の監視を行う。
【００１７】
これにより、ＣＰＵ内で設定されたＣＰＵ機能部(現用主機能部)の輻輳状態を、専用のハードウェアを設けることなく、同一ＣＰＵ内に設定された他のＣＰＵ機能部(予備主機能部)により監視することができる。
尚、主機能部１１と各従機能部１２〜１５との間の通信線は全てワイヤードオアで接続されており、各従機能部１２〜１５から送出される処理メッセージは、主機能部１１−１、および１１−２に送り込まれるものとする。
【００１８】
以下、これを詳説する。
【００１９】
現用主機能部１１−１は、情報処理装置１０の従機能部１２、１３、１４、および１５それぞれから送り込まれた処理メッセージ受信する処理メッセージ受信機能と、各従機能部１２〜１５から送り込まれた処理メッセージの内容を実行処理する処理メッセージ実行処理機能と、実行処理された結果を処理メッセージの送出元に返信する実行結果送信機能を備えている。
【００２０】
又、現用主機能部１１−１は、各従機能部１２〜１５から送り込まれた処理メッセージの種別、およびその重要度を判別するメッセージ判別機能を備え、判別された処理メッセージの重要度に応じて処理方法を判定する。
【００２１】
更に、現用主機能部１１−１は、予備主機能部１１−２から送り込まれた輻輳状態通知に基づいて、現用主機能部１１−１の輻輳状態を確認する輻輳状態確認機能を備え、非輻輳状態であることが確認された場合に処理メッセージに対する通常処理を行う。
【００２２】
又、現用主機能部１１−１は、予備主機能部１１−２から輻輳状態にあると判定された場合に、上記メッセージ判別機能により処理メッセージの種別、およびその重要度を予め設定された基準に基づき判別して、重要度が高いと判別された処理メッセージと、重要度が低いと判別された処理メッセージとに対して異なる処理を行う。
【００２３】
ここで、現用主機能部１１−１は、重要度の低い処理メッセージについては、破棄、又は異常終了とする処理(輻輳保護処理)を行う。
これにより、輻輳状態にある現用主機能部１１−１における実行処理にかかる負荷を軽減することができる。
又、ここで、重要度の低いメッセージとしては、例えば、新たな通信リンクの確立要求に属するもの等を示すものとする。また、重要度の高いメッセージと判定された処理メッセージに対しては、通常の処理を行う。
尚、重要度の高いメッセージとは、例えば、通信中の通信リンクの解放要求や保守監視要求に属するものを示す。
【００２４】
尚、現用主機能部１１−１は、上記通知された輻輳状態を、更に輻輳の度合いに応じて複数の状態に細分化し、かつメッセージの重要度もそれに応じて細分化することで、設定としてもよい。
これにより、現用主機能部１１−１は、より柔軟な輻輳保護制御を行うことができる。
【００２５】
予備主機能部１１−２は、各従機能部１２〜１５から送り込まれた処理メッセージの解析を行う処理メッセージ解析機能と、この解析結果に基づいて各従機能部から送り込まれた処理メッセージのメッセージ種別を特定するメッセージ種別特定機能を有する。
ここで、予備主機能部１１−２は、上記解析結果に基づいて、送り込まれた処理メッセージのうち受信メッセージとしてカウントするメッセージと、カウントしないメッセージとを選別する機能を有していてもよい。
【００２６】
又、予備主機能部１１−２は、従機能部１２〜１５それぞれから送り込まれた処理メッセージについて、予め設定されたメッセージ種別と、現用主機能部１１−１が上記メッセージ種別の実行処理にかかる時間の推定値(以下「ＣＰＵ走行時間」という)とを対応付けてリスト化した推定走行時間テーブル(処理時間記憶手段に相当)を有する。
これにより、予備主機能部１１−２は、現用主機能部１１−１の処理メッセージに対する処理時間としてのＣＰＵ走行時間を、迅速に取得することができる。
【００２７】
更に、予備主機能部１１−２は、主機能部１１が処理メッセージに対して行う処理の周期を、予め設定された測定周期に基づき計測する周期タイマと、各従機能部１２〜１５から送り込まれた処理メッセージの数をカウントする受信カウンタを有している。
これにより、上記測定周期内の現用主機能部１１−１のＣＰＵ走行時間を推定計測することができる。
【００２８】
又、予備主機能部１１−２は、上記解析処理により特定されたメッセージ種別に対応したＣＰＵ走行時間を、推定走行時間テーブルを参照して読み出すと共に、読み出された推定走行時間を、上記測定周期内で加算して走行時間累計値を算出する累計値算出機能を有する。
又、予備主機能部１１−２は、走行時間累計値に推定走行時間が加算された処理メッセージの数をカウントする累計カウンタを備えている。
【００２９】
更に、予備主機能部１１−２は、取得された各推定走行時間を走行時間累計値に対して加算するごとに累計カウンタの数値を１増やし、累計カウンタと受信カウンタの数を比較するカウンタ数値比較機能を有する。
ここで、受信カウンタの値と累計カウンタの値が等しいか否かを判定することにより、受信カウンタにカウントされた処理メッセージ全てについて走行時間が算出され、累計カウンタに加算されたか否かの判定を行うことができる。
【００３０】
又、予備主機能部１１−２は、上記算出された走行時間累積値に基づいて、上記測定周期内で現用主機能部１１−１にかかると推定される負荷量(以下「テンポラリ負荷量」という)を算出する負荷量算出機能を備えている。
これにより、予備主機能部１１−２は、受信された各処理メッセージのメッセージ種別を迅速に解析することができ、更には、推定走行時間を迅速に算出することができる。
【００３１】
又、予備主機能部１１−２は、算出されたテンポラリ負荷量に基づき、現用主機能部１１−１における処理負荷が、低負荷、中負荷、又は高負荷の何れの状況であるかを判定する処理負荷状況判定機能を備えている。
ここで、上記テンポラリ負荷量の輻輳判定は、図７に示すように、現用主機能部１１−１が輻輳状態にあるのか、非輻輳状態にあるのかを、一つ前の測定周期の負荷状況に基づき行われる。
ここでは、前の測定周期で現用主機能部１１−１が非輻輳状態であった場合は、後の測定周期で低負荷であれば非輻輳状態、中負荷であれば非輻輳状態と判定される。また、現用主機能部１１−１高負荷である場合には、予め設定された閾値以上の保護段数(負荷)がかかっている場合、輻輳状態と判定、保護段数が閾値未満であれば、非輻輳状態と判定される。
一方、前の測定周期で現用主機能部１１−１が輻輳状態であった場合は、後の周期で現用主機能部１１−１が低負荷である場合、予め設定された閾値以上の保護段数(負荷)がかかっている場合は、輻輳状態と判定、保護段数(負荷)が閾値未満であれば、非輻輳状態と判定される。又、後の測定周期で中負荷または高負荷であると判定された場合は、いずれの場合も輻輳状態と判定される。
【００３２】
尚上記のように、連続する測定周期で非輻輳状態から輻輳状態への状態遷移が行われる場合には、状態遷移の保護段数を設ける事で、輻輳状態および非輻輳状態が頻繁に更新されるのを軽減することができる。
ただし、非輻輳から輻輳状態への状態遷移が遅くなると、その分高い負荷が長い時間継続し、現用主機能部１１−１の安定動作に支障をきたす恐れがあるので、非輻輳から輻輳状態への遷移に用いる保護段数は小さく設定してもよい。
【００３３】
又、予備主機能部１１−２は、現用主機能部１１−１が輻輳状態であると判定された場合、もしくは現用主機能部１１−１の状態が非輻輳状態から輻輳状態へ遷移したと判定された場合に、現用主機能部１１−１に対して輻輳状態にあることを通知する輻輳状態通知機能を有する。
これにより、上記通知に応じて現用主機能部１１−１が迅速に輻輳保護動作を実行するのを促すことができる。
【００３４】
各従機能部１２〜１５は、それぞれ情報処理装置１０内に予め設けられたＣＰＵが実行されることにより機能するＣＰＵ機能部であって、主機能部１１に対して予め設定されたメモリ(キャッシュ)から読み出された命令やデータアドレスを処理メッセージとして送信する機能を有する。
又、各従機能部１２〜１５は、処理メッセージを複製すると共に、複製された各処理メッセージそれぞれを現用主機能部１１−１および予備主機能部１１−２に対して送信するメッセージ複製送信機能を備えている。
これにより、現用主機能部１１−１で実行処理される処理メッセージは、全て予備主機能部１１−２に対しても送信される。
【００３５】
［実施形態１の動作説明］
次に、本実施形態１の全体の動作について、説明する。
先ず、予備主機能部１１−２は、処理メッセージ数および処理メッセージの処理にかかる時間として予め設定された処理時間値を読み出し(処理時間読出し工程)、この処理メッセージ数および処理時間値に基づいて、現用主機能部１１−１が、輻輳状態にあるか否かを判定する(輻輳状態判定工程)。次に、予備主機能部１１−２は、上記判定内容を現用主機能部１１−１に通知する(輻輳判定通知工程)と、この通知内容が輻輳状態を示す場合に、現用主機能部１１−１は、処理メッセージに対する処理の抑制を行なう(輻輳保護処理工程)。
【００３６】
ここで、上記処理時間読出し工程、輻輳状態判定工程、および輻輳状態通知工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
【００３７】
次に、上記実施形態１の動作を、図２および図３のフローチャートに基づいて詳説する。
ここでは、予備主機能部１１−２における輻輳状態の監視動作について図２のフローチャートに基づき説明し、その後、現用主機能部１１−１における輻輳保護動作について、図３のフローチャートに基づき説明する。
【００３８】
まず、予備主機能部１１−２における輻輳状態の監視動作について、図２のフローチャートに基づき説明する。
【００３９】
先ず、予備主機能部１１−２が、予め設定された周期タイマを起動して(ステップＳ１０１：周期タイマ割り込み)、累計カウンタ、および推定走行時間累計値の初期化を行う(ステップＳ１０２)。
【００４０】
次に、予備主機能部１１−２は、従機能部(ここでは、従機能部１２とする)から送り込まれた処理メッセージの数を受信カウンタに登録すると共に、各処理メッセージを解析しメッセージ種別を特定する(ステップＳ１０３：メッセージ解析工程)
【００４１】
次いで、予備主機能部１１−２は、予め設定された推定走行時間テーブルに基づき、メッセージ種別が特定された処理メッセージの推定走行時間値を読み出す(ステップＳ１０４：走行時間読出し工程)と共に、推定走行時間累計値に上記読み出された推定走行時間値を加算する(ステップＳ１０５)。
【００４２】
次いで、予備主機能部１１−２は、累計カウンタの値を１増やす(ステップＳ１０６)。
ここで、受信カウンタと累計カウンタの値が等しいか否かを判定をおこない(ステップＳ１０７)、異なる場合は、受信された他の処理メッセージの解析を行う(ステップＳ１０３へ)。
ここで、受信カウンタと累計カウンタの値が等しい場合は、受信された処理メッセージ全ての推定走行時間値が設定されたと判定される(ステップＳ１０８へ)。
【００４３】
次いで、予備主機能部１１−２は、推定走行時間累計値に基づきテンポラリ負荷量を算出すると共に、当該テンポラリ負荷量が、低負荷、中負荷、もしくは高負荷のいずれに該当するかを判定する(ステップＳ１０８)。
次に、予備主機能部１１−２は、上記判定結果、および現用主機能部１１−１の前状態等に基づいて、現用主機能部１１−１が輻輳状態にあるか、非輻輳状態にあるかの判定を行う(ステップＳ１０９：輻輳状態判定工程)。
【００４４】
ここで、予備主機能部１１−２は、現用主機能部１１−１の状態が非輻輳状態から輻輳状態に状態遷移した場合や、前状態によらず輻輳状態(高負荷状態)と判定された場合には、現用系主機能部１１−１に輻輳状態であることを通知する(ステップＳ１１０)。
【００４５】
これにより、現用系主機能部１１−１の輻輳保護動作を促すことができる。
ここで、非輻輳から輻輳状態への遷移が遅くなると、その分高い負荷が長い時間継続し、主機能部１１−１の安定動作に支障をきたす恐れがあるので、非輻輳状態から輻輳状態への遷移に用いる保護段数は小さくしておく事が望ましい。
【００４６】
次に、予備主機能部１１−２から現用系主機能部１１−１に対して輻輳又は非輻輳状態であることが通知された場合(〈１〉)の、現用系主機能部１１−１における輻輳保護動作について、図３のフローチャートに基づき説明する。
【００４７】
まず、現用系主機能部１１−１は、従機能部からの処理メッセージを受信すると共に当該処理メッセージの処理イベントを開始する(ステップＳ２０１)と共に、予備主機能部１１−２から送り込まれた輻輳状態通知に基づいて、当該現用主機能部１１−１が輻輳状態にあるのか、非輻輳状態にあるのかを判断する(ステップＳ２０２：輻輳状態判断工程)
【００４８】
ここで、現用系主機能部１１−１は、上記受信された処理メッセージについて、予め設定されたメッセージ種別の重要度に応じて重要度の高低を判定する(ステップＳ２０３：メッセージ重要度判定工程)。
【００４９】
ここで、新たな通信リンクの確立要求など重要度が低いと判断された処理メッセージに対しては、破棄処理又は異常終了処理(輻輳保護処理)が実行される(ステップＳ２０４)。一方、重要度が高いと判断された処理メッセージに対しては通常の処理が実行される(ステップＳ２０５)。
【００５０】
以上のように、本実施形態１では、現用主機能部１１−１宛ての処理メッセージが全て予備主機能部１１−２にも送信されることにより、予備主機能部１１−２が、現用主機能部１１−１の輻輳状態を推定することができる。
このため、処理メッセージに対する実行処理を行う現用機能部１１−１の処理能力を劣化させることなく、現用機能部１１−１の処理状態の監視を行うことができる。
又、現用機能部１１−１の輻輳状態を推定することにより、より迅速に輻輳状態を通知することができる。このため、現用機能部１１−１は、高負荷のかかった輻輳状態を軽減する処理を迅速に行うことができるため、現用主機能部１１−１は、安定動作を維持することができる。
【００５１】
更に、上記現用主機能部１１−１の輻輳保護処理、及び予備主機能部１１−２の輻輳監視処理をソフトウェア制御によりで実現する事で、情報処理装置の設置にかかるコストを軽減することができる。
又、本発明における予備主機能部１１−２は、現用機能部１１−１の周辺機能部であり、ボトルネックでないので、輻輳監視処理を実行しても主機能部１１全体としての処理能力低下は生じない。
【００５２】
[実施形態２]
次に、本発明の実施形態２について、その基本的構成内容を説明する。
【００５３】
本実施形態の輻輳制御システムは、図４に示すように、他の情報処理装置から送り込まれる処理メッセージに対して処理を行う情報処理装置１と、当該情報処理装置１にそれぞれ通信回線を介して接続され、上記情報処理装置１における処理進捗状況の監視(以下「輻輳監視処理」という)を行う情報処理装置２及び３を備えた構成となっている。
また、上記情報処理装置１、２、及び３は、それぞれ処理メッセージの実行処理および送受信を行うインタフェース機能部１７(情報処理実行部に相当)、２７及び３７を備え、情報処理装置１のインタフェース機能部１７は、情報処理装置２のインタフェース機能部２７(輻輳監視部に相当)、および情報処理装置３のインタフェース機能部３７(輻輳監視部に相当)にそれぞれ接続され、相互に輻輳監視処理を行う構成をとっている。
【００５４】
以下、これを詳説する。
インタフェース機能部１７は、上述のように、対向して設置されたインタフェース機能部２７、又は３７との間で実行される処理メッセージの送受信イベントをカウントするメッセージ送受信カウンタを備えている。
このメッセージ送受信カウンタは、インタフェース機能部２７又は３７との間で実行される処理メッセージの送信又は受信イベントを処理するたびに、その処理数をカウントしていく。
【００５５】
又、インタフェース機能部１７は、インタフェース機能部２７、又は３７が単一の処理メッセージの送受信処理にかかる処理時間が予め設定された送受信処理推定時間テーブルを備えている。
これにより、インタフェース機能部１７は、インタフェース機能部２７、又は３７における送受信イベントの処理時間を、迅速に読み出すことができる。
更に、インタフェース機能部１７は、予め設定された測定周期を計測する周期タイマを有する。
【００５６】
更に、インタフェース機能部１７は、予め設定された測定周期内で実行された処理メッセージの送信イベント又は受信イベントの数と、上記送受信処理推定時間テーブルから読み出された処理時間を掛け合わせて、インタフェース機能部２７又は３７のＣＰＵにおける推定ＣＰＵ走行時間値を算出する走行時間値算出機能を備えている。
これにより、インタフェース機能部１７は、対向するインタフェース機能部２７又は３７における上記測定周期内の走行時間を、推定計測することができる。
【００５７】
又、インタフェース機能部１７は、上記算出された推定ＣＰＵ走行時間値に基づいて、上記周期内で、インタフェース機能部２７又は３７にかかると推定される負荷量(以下「テンポラリ負荷量」という)を算出する負荷量算出機能を備えている。
これにより、インタフェース機能部１７は、対向して設けられたインタフェース機能部２７又は３７にかかるテンポラリ負荷量を迅速に算出することができる。
【００５８】
又、インタフェース機能部１７は、算出されたテンポラリ負荷量に基づいてインタフェース機能部２７又は３７の輻輳状態の判定が低負荷、中負荷、又は高負荷の何れであるかを判定する輻輳状態判定機能を備えている。
ここで、テンポラリ負荷量の判定結果の１つである中負荷は、低負荷、高負荷の間に設定され、非輻輳状態を示す負荷レベルを示す。
【００５９】
ここで、上記テンポラリ負荷量の輻輳判定は、図７に示すように、インタフェース機能部２７又は３７が輻輳状態にあるのか、非輻輳状態にあるのかを、一つ前の測定周期の負荷状況に基づき行われる。
ここでは、前の測定周期でインタフェース機能部２７又は３７が非輻輳状態であった場合は、後の測定周期で低負荷であれば非輻輳状態、中負荷であれば非輻輳状態と判定される。また、前の測定周期でインタフェース機能部２７又は３７が高負荷であった場合には、予め設定された閾値以上の保護段数(負荷)がかかっている場合、輻輳状態と判定、保護段数が閾値未満であれば、非輻輳状態と判定される。
【００６０】
一方、前の測定周期でインタフェース機能部２７又は３７が輻輳状態であった場合は、後の周期でインタフェース機能部２７又は３７が低負荷である場合、予め設定された閾値以上の保護段数(負荷)がかかっている場合は、輻輳状態と判定、保護段数(負荷)が閾値未満であれば、非輻輳状態と判定される。又、後の測定周期で中負荷または高負荷であると判定された場合は、いずれの場合も輻輳状態と判定される。
【００６１】
尚、上記のように、連続する測定周期で非輻輳状態から輻輳状態への状態遷移が行われる場合には、状態遷移の保護段数を設ける事で、輻輳状態および非輻輳状態が頻繁に更新されるのを軽減することができる。
ただし、非輻輳から輻輳状態への状態遷移が遅くなると、その分高い負荷が長い時間継続し、インタフェース機能部２７又は３７の安定動作に支障をきたす恐れがあるので、非輻輳から輻輳状態への遷移に用いる保護段数は小さく設定してもよい。
【００６２】
又、インタフェース機能部１７は、インタフェース機能部２７又は３７が輻輳状態であると判定された場合、もしくはインタフェース機能部２７又は３７の状態が非輻輳状態から輻輳状態へ遷移したと判定された場合に、当該インタフェース機能部２７又は３７に対して輻輳状態にあることを通知する輻輳状態通知機能を有する。
これにより、インタフェース機能部２７又は３７が、上記通知に応じて輻輳保護動作を実行するのを促すことができる。
【００６３】
インタフェース機能部２７は、当該インタフェース機能部２７内で単一の受信メッセージの受信及び送信処理(イベント)にかかるＣＰＵ処理時間を記憶する処理時間記憶機能を備えている。また、インタフェース機能部３７は、インタフェース機能部２７と同様の構成を有するものとする。
【００６４】
又、インタフェース機能部２７又は３７は、インタフェース機能部１７から送り込まれた処理メッセージ受信する処理メッセージ受信機能と、当該処理メッセージの内容を実行処理する処理メッセージ実行処理機能とを備えている。
更に、インタフェース機能部２７又は３７は、インタフェース機能部１７から送り込まれた処理メッセージの種別、およびその重要度を判別するメッセージ判別機能を備え、判別された処理メッセージの重要度に応じて処理方法を判定する。
【００６５】
また、インタフェース機能部２７は、インタフェース機能部１７から送り込まれた輻輳状態通知に基づいて、インタフェース機能部２７の輻輳状態を確認する輻輳状態確認機能を備え、非輻輳状態であることが確認された場合に処理メッセージに対する通常処理を行う。又、インタフェース機能部３７は、上記インタフェース機能部２７と同様の構成を有するものとする。
【００６６】
更に、インタフェース機能部２７又は３７は、インタフェース機能部１７から輻輳状態にあると判定された場合に、上記メッセージ判別機能により処理メッセージの種別、およびその重要度を予め設定された基準に基づき判別して、重要度が高いと判別された処理メッセージと、重要度が低いと判別された処理メッセージとに対して異なる処理を行う。
【００６７】
ここで、インタフェース機能部２７又は３７は、重要度の低い処理メッセージについては、破棄、又は異常終了とする処理(輻輳保護処理)を行う。
これにより、輻輳状態にあるインタフェース機能部２７又は３７における実行処理にかかる負荷を軽減することができる。
又、ここで、重要度の低いメッセージとしては、例えば、新たな通信リンクの確立要求に属するもの等を示すものとする。また、重要度の高いメッセージと判定された処理メッセージに対しては、通常の処理を行う。
尚、重要度の高いメッセージとは、例えば、通信中の通信リンクの解放要求や保守監視要求に属するものを示す。
【００６８】
尚、インタフェース機能部２７又は３７は、上記通知された輻輳状態を、更に輻輳の度合いに応じて複数の状態に細分化し、かつメッセージの重要度もそれに応じて細分化することで、設定としてもよい。
これにより、インタフェース機能部２７又は３７は、より柔軟な輻輳保護制御を行うことができる。
【００６９】
［実施形態２の動作説明］
次に、本実施形態２の全体の動作について、説明する。
先ず、情報処理装置１のインタフェース機能部１７は、処理メッセージ数および処理メッセージの処理にかかる時間として予め設定された処理時間値を読み出し(処理時間読出し工程)、この処理メッセージ数および処理時間値に基づいて、インタフェース機能部２７が、輻輳状態にあるか否かを判定する(輻輳状態判定工程)。次に、インタフェース機能部１７は、上記判定内容をインタフェース機能部２７に通知する(輻輳判定通知工程)と、この通知内容が輻輳状態を示す場合に、インタフェース機能部２７は、処理メッセージに対する処理の抑制を行なう(輻輳保護処理工程)。
【００７０】
ここで、上記処理時間読出し工程、輻輳状態判定工程、および輻輳状態通知工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
【００７１】
次に、上記実施形態２の動作を、図５および図６のフローチャートに基づいて説明する。
ここでは、情報処理装置１のインタフェース機能部１７の輻輳監視動作について、図５のフローチャートに基づき説明し、その後、情報処理装置２のインタフェース機能部２７における輻輳保護動作について、図６のフローチャートに基づき説明する。
【００７２】
まず、情報処理装置１のインタフェース機能部１７の輻輳監視動作について、図５のフローチャートに基づき説明する。
【００７３】
先ず、インタフェース機能部１７が、予め設定された周期タイマを起動する(ステップＳ３０１：周期タイマ割り込み)と共に、送受信処理推定時間テーブルからインタフェース機能部２７(又は２８)の送受信イベント処理時間を示す処理時間情報を読み出す(ステップＳ３０２：処理時間情報読出し工程)。
次いで、インタフェース機能部１７は、読み出された処理時間情報と、メッセージ送受信カウンタに予め記憶された処理メッセージの送信及び受信イベント数とを掛け合わせて推定ＣＰＵ走行時間値を算出する(ステップＳ３０３：推定ＣＰＵ走行時間値算出工程)。
【００７４】
次いで、インタフェース機能部１７は、推定ＣＰＵ走行時間値からテンポラリ負荷量を算出すると共に、当該テンポラリ負荷量が、低負荷、中負荷、もしくは高負荷のいずれに該当するかを判定する(ステップＳ３０４)。
次に、インタフェース機能部１７は、上記判定結果に基づいて、インタフェース機能部２７が輻輳状態にあるか、非輻輳状態にあるかの判定を行う(ステップＳ３０５：輻輳状態判定工程)。
【００７５】
ここで、インタフェース機能部１７は、インタフェース機能部２７の状態が非輻輳状態から輻輳状態に状態遷移した場合や、前状態によらず輻輳状態(高負荷状態)と判定された場合には、インタフェース機能部２７に輻輳状態であることを示す対向ノード輻輳状態通知を送信する。又、インタフェース機能部２７が非輻輳状態である場合、インタフェース機能部１７は、インタフェース機能部２７に対して非輻輳状態であることを通知する(ステップＳ３０６)。
【００７６】
これにより、インタフェース機能部１７は、インタフェース機能部２７の輻輳保護動作を促すことができる。
ここで、非輻輳から輻輳状態への遷移が遅くなると、その分高い負荷が長い時間継続し、インタフェース機能部２７の安定動作に支障をきたす恐れがあるので、非輻輳状態から輻輳状態への遷移に用いる保護段数は小さくしておく事が望ましい。
【００７７】
尚、ここでは、インタフェース機能部１７が、インタフェース機能部２７に対して輻輳監視処理を行う場合について説明したが、インタフェース機能部３７に対しても同様にして輻輳監視処理を行うことができる。
【００７８】
次に、インタフェース機能部１７からインタフェース機能部２７又は３７に対して輻輳状態であることが通知された場合(図５及び６の〈２〉)に、現用系主機能部１１−１における輻輳保護動作について、図６のフローチャートに基づき説明する。
【００７９】
まず、インタフェース機能部２７又は３７は、インタフェース機能部１７からの処理メッセージを受信すると共に当該処理メッセージの処理イベントを開始する(ステップＳ４０１)と共に、インタフェース機能部１７から送り込まれた対向ノード輻輳状態通知に基づいて、インタフェース機能部２７又は３７が、輻輳状態にあるのか、非輻輳状態にあるのかを判断する(ステップＳ４０２：輻輳状態判断工程)
【００８０】
ここで、インタフェース機能部１７は、上記受信された処理メッセージについて、予め設定されたメッセージ種別に応じて、処理メッセージの重要度の高低を判定する(ステップＳ４０３：メッセージ重要度判定工程)。
【００８１】
ここで、インタフェース機能部２７又は３７は、重要度が低いと判断された処理メッセージに対しては、破棄処理又は異常終了処理を行う、又は処理メッセージの送信を抑制する(ステップＳ４０４：輻輳保護処理)。一方、重要度が高いと判断された処理メッセージに対しては、通常の処理を実行すると共にインタフェース機能部１７に対する処理メッセージの送信を行う(ステップＳ４０５)。
【００８２】
以上のように、本実施形態２では、インタフェース機能部１７が、インタフェース機能部２７又は３７の輻輳状態を監視して、推定することができる。
このため、処理メッセージに対する実行処理を行うインタフェース機能部２７又は３７の処理能力を劣化させることなく、インタフェース機能部２７又は３７の処理状態の監視を行うことができる。
又、インタフェース機能部２７又は３７の輻輳状態を推定することにより、より迅速に輻輳状態を通知することができる。このため、インタフェース機能部２７又は３７は、高負荷のかかった輻輳状態を軽減する処理を迅速に行うことができるため、インタフェース機能部２７又は３７は、安定動作を維持することができる。
更に、上記インタフェース機能部２７又は３７の輻輳保護処理、及びインタフェース機能部１７の輻輳監視処理をソフトウェア制御によりで実現する事で、情報処理装置の設置にかかるコストを軽減することができる。
【産業上の利用可能性】
【００８３】
本発明は、企業内で汎用性の低い専用の情報処理を行うイントラネット・システムで、パケット中継を行う装置に適用する事ができ、装置の処理能力を上回るパケットトラヒックが生じた場合に、イントラネット・システムにおける通信障害を輻輳保護機能により抑制することができる。
【図面の簡単な説明】
【００８４】
【図１】本発明による輻輳制御システムの一実施形態を示す概略ブロック図である。
【図２】図１に開示した輻輳制御システムにおける予備主機能部の動作処理ステップを示したシーケンスチャートである。
【図３】図１に開示した輻輳制御システムにおける現用主機能部の動作処理ステップを示したシーケンスチャートである。
【図４】本発明による輻輳制御システムの一実施形態を示す概略ブロック図である。
【図５】図４に開示した輻輳制御システムにおける輻輳状態の監視を行うインタフェース機能部の動作処理ステップを示したシーケンスチャートである。
【図６】図４に開示した輻輳制御システムにおける輻輳状態の保護処理を行うインタフェース機能部の動作処理ステップを示したシーケンスチャートである。
【図７】図１及び４に開示した輻輳制御システムにおける輻輳状態判定の判定基準の一例を示す説明図である。
【符号の説明】
【００８５】
１、２、３、１０  情報処理装置
１１  主機能部
１１−１  現用主機能部
１１−２  予備主機能部
１２、１３、１４、１５  従機能部
１７、２７、３７  インタフェース機能部
【図１】
2009212862.tif 000003
【図２】
2009212862.tif 000004
【図３】
2009212862.tif 000005
【図４】
2009212862.tif 000006
【図５】
2009212862.tif 000007
【図６】
2009212862.tif 000008
【図７】
2009212862.tif 000009