JP2004208181A - 通信制御装置 - Google Patents
通信制御装置 Download PDFInfo
- Publication number
- JP2004208181A JP2004208181A JP2002377205A JP2002377205A JP2004208181A JP 2004208181 A JP2004208181 A JP 2004208181A JP 2002377205 A JP2002377205 A JP 2002377205A JP 2002377205 A JP2002377205 A JP 2002377205A JP 2004208181 A JP2004208181 A JP 2004208181A
- Authority
- JP
- Japan
- Prior art keywords
- call processing
- processing program
- load
- control device
- communication control
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
【課題】急激な負荷に対して有効に対応する。
【解決手段】送信バッファ107又は受信バッファ105の蓄積量を監視することによって、端末間の呼接続を制御する通信制御装置において、少なくとも2以上の呼処理プログラムと、前記受信バッファの占有率を監視するバッファ監視手段106と、受信バッファの占有率に基づいて、前記呼処理プログラムを切り替える切替手段と、を備える。
【選択図】 図1
【解決手段】送信バッファ107又は受信バッファ105の蓄積量を監視することによって、端末間の呼接続を制御する通信制御装置において、少なくとも2以上の呼処理プログラムと、前記受信バッファの占有率を監視するバッファ監視手段106と、受信バッファの占有率に基づいて、前記呼処理プログラムを切り替える切替手段と、を備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、端末間通信における、通信制御装置の短時間の負荷増大に対処する通信制御装置に関する。
【0002】
【従来の技術】
不特定多数ユーザによる通信における輻輳制御は、特定日時におけるユーザからの一斉の発呼動作などを除いても、通常の通信ネットワークシステムと比較して、予め想定しにくい瞬間的な負荷がかかる場合がある。特に、音声通信以外のメール、画像通信などのマルチメディア系の通信を含む最新の通信ネットワークは、現在も発展途上にあり、負荷の予測は極めて困難である。このようなネットワークを、瞬間的な最大負荷を処理するハードウェア/ソフトウェアを基準に設計すると、スペックは著しく過剰なものになり、コスト的にも過剰なシステムとなってしまう。したがって、想定される最大負荷の目標値を定め、これを超える過負荷時の処理をあらかじめシステムに組みこむ必要がある。
【0003】
【発明が解決しようとする課題】
従来の構成では、負荷状態をCPUの使用率やバッファ量の監視から検出し、輻輳状態を上位装置へ通知することで、発信制限をかける輻輳制御を実行している。従来の輻輳制御は、瞬間的な負荷に対してはユーザへの発信拒否を行い、システムの運用が停止しない状態で一部の処理を継続する手段が採られていた。このような運用では、優先制御により緊急度の高い通信制御だけを行うため、全体として呼損率が著しく増加していた。
【0004】
従来例として、特開平7−50673号公報には、バーストデータと通常データとを区別する方式が開示されている。これは、バーストデータの検出をバッファ使用率を周期的に監視するだけでなく、ある区間の増減差分による変化率から検出し、バッファ使用率が高いという理由だけで通常規制をかけることを回避し、同時に通常の輻輳検出よりも短時間にバーストデータの流入を検出するものである。
【0005】
しかし、バッファ占有率の変化を短時間の周期で監視した場合、バッファ使用率の変化(例えば0%から10%)が、ごく短時間の場合がある。このように、急激な変化率の発生をバーストデータの到着と判定したとしても、実際にはすぐに負荷が低減してしまうような単発データで終始してしまう場合がある。
【0006】
短時間に変化するバッファ占有率の変化をバーストデータと判定しないためには、バッファ占有率の監視周期を長くすればよいが、監視周期が長くなると、監視精度が低下するという問題がある。また、ユーザデータ用通信路と呼接続制御用通信路が分離した通信制御装置では、一斉発呼による呼接続制御負荷の急激な増大を規制するためには、バーストデータの早期検出が必須であるにもかかわらず、バーストデータを有効に検出することができないため、負荷の増大による輻輳が他装置へ波及しないようにしているに過ぎない。
【0007】
本発明は、かかる点に鑑みてなされたものであり、急激な負荷に対して有効に対応することができる通信制御装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明の通信制御装置は、送信バッファ又は受信バッファの蓄積量を監視することによって、端末間の呼接続を制御する通信制御装置において、少なくとも2以上の呼処理プログラムと、前記受信バッファの占有率を監視するバッファ監視手段と、前記受信バッファの占有率に基づいて、前記呼処理プログラムを切り替える切替手段と、を備える。
【0009】
本発明の通信制御装置では、処理負荷が急激に変化する呼処理プログラムのタスクを最高位のプライオリティとして別に準備し、さらに通常とは異なるメモリ領域を別に確保し、負荷増大時は高いプライオリティに設定された呼処理プログラムの処理に切り替え、タスクロックにより処理占有時間を確保して呼処理プログラムの処理量を低減する。また、CPUのデータキャッシュ対象を高プライオリティタスクで使用するメモリ領域にダイナミックにアサインする。さらに、呼処理プログラムが使用する高頻度のインストラクションをキャッシュに読み込ませ、これをロックすることでメモリアクセスを減らして処理時間を短縮することができる。また、あらかじめ測定した通常処理時間と、別の呼処理プログラムへの処理変更時間、キャッシュフィル・ロック時間及び高速化時の処理時間との比較に基づいて、有効な時間処理を継続した後、負荷量を計測し、通常動作に戻ることにより、瞬時負荷増大に対応した処理を行うことができる。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図1は本発明の一実施の形態に係る通信制御装置の呼接続制御部の構成を示す図である。呼接続制御部101は、CPU部102、インストラクション/データキャッシュメモリ部103、メインメモリ104、受信バッファ105、受信バッファ105のバッファ監視回路106、送信バッファ7、送信バッファ107のバッファ監視回路108を備え、外部バス109を介して外部装置I/O部110と接続されている。
【0011】
図2は呼接続制御部のソフトウェア構成を示す図である。呼接続制御部は上位装置より指示されたサービスごとに呼制御を行い、端末間とのアクセスおよび上位装置とのリンクを確立する通信制御を実行する。図2において、210は呼処理部を含む呼制御タスクであり、ウオッチドッグタイマ監視部202及び定周期処理部203を伴い第1のプログラム群(呼処理プログラム)を構成している。呼制御タスク220は第2のプログラム群(呼処理プログラム)であり、第1のプログラム群と同様に、呼処理部、ウオッチドッグタイマ監視部及び定周期処理部を含む。呼制御タスク230は第3のプログラム群であり、処理量を減らすために処理を一定量間引く処理間引き部を含む他、第1のプログラム群と同様に、呼処理部、ウオッチドッグタイマ監視部及び定周期処理部を含む。さらに、呼接続制御部は、運用/保守上必要なその他処理部240を備える。
【0012】
呼制御タスク2、3は、呼処理部、過負荷/ソフトウェアの暴走検出のためのウォッチドッグタイマ監視部、定周期処理部を呼制御タスク1から移植して同一構成にすることで、呼制御タスクを切り替えた場合でも、呼制御タスク2、3のプログラム動作中の他機能への影響を低減することができる。
【0013】
呼処理タスク2、3を備える構成により、タスクロックを行うとウォッチドッグタイマのタイムアウトが発生する長時間処理の場合や、定期的な処理に影響を与えるような場合に対処することができ、瞬時負荷よりも継続負荷が発生しやすい環境において有効である。
【0014】
この構成により装置全体としては、瞬時負荷を処理するために、タスクロックなどに頼るとウォッチドッグタイマタイムアウトが発生する長時間処理の場合や、保守的に定期的に必ず行わなくてはならない処理に影響を与えないようにするための処理の作りこみであり、比較的瞬時負荷よりも継続負荷が発生しやすい環境において、有効であるといえる。
【0015】
本発明の通信制御装置は、呼接続処理が瞬時負荷動作状態であることを示すフラグをCPU内のレジスタに定義し、これを必要に応じてセットする。呼制御タスク1の呼処理プログラムは、新たなユーザサービスの発呼処理を開始する際に常に負荷状態を確認するためにフラグがセットされているレジスタにアクセスする。この結果、瞬時負荷動作状態である場合は、OSにより起動時にあらかじめ設定された通常時と異なる最高位プライオリティに設定された第2の呼制御タスク2のメインプログラムを呼び出す。呼制御タスク2は、メインプログラム部のみ呼び出し形式が異なるが、その他は通常の呼制御タスク1と同一の処理を行うものとし、制御を切り替える際に、OSよりタスクロックを行い占有時間を長くすることで相対的に呼処理の処理時間を長くし負荷の低減を図る。
【0016】
受信バッファ5は瞬時の負荷増大時のデータを確保するだけの容量を確保する。バッファ容量は、1呼あたりの外部装置から受信すべき制御データ最大データ長(Aバイト)及び設定する負荷状態に到着する最大データ頻度(B回/秒)に基づき、A×Bバイト以上のデータを保持できるだけの容量である。但し、呼制御タスク2への切り替え時間等、処理の遅延を考慮して、例えば、3秒間負荷が連続しても受信可能な容量であることが好ましい。なお、制御通信はデータの増減が少ないため、おのおの平均データ長から容量を決定してもよい。
【0017】
バッファ監視回路6は、例えば、3秒間の受信期間の1/3の1秒程度の定周期で受信バッファ5を監視してCPU負荷率を収集し、この負荷率を呼制御タスク1の負荷の基準に用いる。最大負荷を処理するときでも、2秒間連続して100%の負荷にならない限り問題にらないため、この周期で受信バッファ5を監視する。
【0018】
瞬時負荷の検出は、受信バッファ5の占有率の変化を受信バッファ監視部6で周期的に監視し、例えば、次の2秒負荷が続き受信バッファ5がフルになる占有率に達した時点で、これをトリガにして、監視周期を10ミリ秒間隔の高頻度監視に切り替えて、受信バッファ5の占有率を統計的に保持する。
【0019】
瞬時負荷状態は、受信データを2秒間継続したときに受信が不可能になるときを定義し、瞬時負荷状態を検出した時点でCPU2に対して割り込みをかけ、割り込み処理ルーチンの中でCPUレジスタに瞬時負荷状態の状態フラグを書き込む。その後、呼制御タスク2への切り替えが行われる。
【0020】
瞬時負荷の増大を監視するバッファ監視回路をソフトウェアで構成することは可能だが、ソフトウェア処理を行うためCPUの負荷が増大する。したがって、瞬時負荷を表す受信バッファ占有率をあらかじめ規定し、その占有率に達する際の受信データを格納するアドレスへのアクセスの発生をハードウェアで監視する。また、10ミリ秒以下程度の短周期でハードウェアがバッファ使用域のアクセスアドレスを監視して、負荷状態をCPUのレジスタにセットし、割り込み制御により呼制御タスク2へ動作変更を実施することが好ましい。ハードウェアで受信バッファの占有率を監視することにより、ソフトウェア処理による負荷が減る。また、バッファ占有率を細かく監視できるため、不連続、不安定な制御データの増減であっても、判定ロジックを準備することで、精度良く負荷状態を監視することができる。例えば、バッファ占有率の増減を10ミリ秒間隔で10回分=100ミリ秒間分のデータを収集し、これらのデータの推移から時間軸に対する変化量を直線補間することで、次の100ミリ秒のバッファ占有率の予測、負荷状態からの脱出、バッファフルまでの残り時間算出を、ソフトウェア制御よりも精度良く行うことも可能である。
【0021】
瞬時負荷及び継続負荷の状態を判別するために、受信バッファ5を瞬時負荷用の数倍確保し、瞬時負荷状態を検出した時点からさらに受信バッファ5を別の指標で監視し、負荷が継続し、例えば1秒以内にバッファがフルになることを検出したときを継続負荷と定義する。その時点で割り込み制御により、CPUのレジスタに継続負荷の状態フラグを書き込むことで、呼制御タスク3への変更が可能となる。
【0022】
呼処理プログラムが、新たなユーザサービスの発呼処理を開始する際に常にレジスタにアクセスしており、継続負荷の場合は、OSにより起動時に予め設定された通常時と異なる最高位プライオリティに設定された第3のプログラム群を呼び出す。第3のプラグム群は、第2のプログラム群と同じ位置付けであるが、処理間引き部で一定間隔で処理を間引く(破棄もしくはNG応答する)ことにより通常負荷時以上の処理を行わないことで、占有時間を長くすることで相対的に呼処理の処理時間を長くして負荷の低減を図る。第3のプログラム群による処理を行うことで、ネットワーク全体の輻輳制御が動作し、あらかじめ定められた負荷まで負荷が軽減するまで、システムの運用を正常に継続することができる。
【0023】
なお、送信バッファ7に瞬時の負荷増大時のデータを確保できる容量を確保させ、ソフトウェアもしくはハードウェアによる送信バッファ監視回路8で送信バッファの占有率を監視し、予め定められた値を超えたとき、呼制御タスク3による呼処理に切り替えることで、上り下り方向の負荷の低減を図ることができる。
【0024】
また、送信バッファ監視回路8をハードウェアで構成し、送信バッファ内の特定アドレスにアクセスしたことの監視を周期的に行うことにより、監視精度の向上とCPUにかかる監視のための負荷の低減を図ることができる。また、送信バッファ7の特定アドレスとのマッチングを監視することにより、送信バッファの占有率を監視することができる。さらに、監視アドレスポイントを複数個用意すれば、送信バッファ占有率の変化の状況を収集することができる。
【0025】
また、呼制御タスク2の実行命令部のみを、CPUのキャッシュ3へのロック機構を使用し、呼制御タスク2への切り替え時に、あらかじめプログラムが使用するマシン語命令を調査し、その全てあるいは一部をメインメモリ4からキャッシュ3に読み込ませ、インストラクションキャッシュのヒット率を上げて、メインメモリ4へのアクセスを低減させることで、呼処理の実行処理性能を一時的に上げることができる。また、通常負荷時に戻ったときは、キャッシュ3のフラッシュとロックの解除を行うことで、他の制御プログラムの相対的な動作速度低下を短時間に抑えることができる。
【0026】
なお、呼制御タスク2のプログラムがアクセスするメインメモリ4上のテーブルのみCPUのキャッシュ3のロック機構を使用し、呼制御タスク2のプログラムへの切り替え時に、あらかじめプラグラムに必要なテーブルを、その全てあるいは一部をキャッシュ3に読み込ませ、データキャッシュのヒット率を上げて、メインメモリ4へのアクセスを低減させることで、呼処理の実行処理性能を一時的に上げることができる。
【0027】
但し、メインメモリ4上のテーブルデータのサイズを、キャッシュ3に収まるように制限するため、通常プログラム動作領域とは異なるアドレスに同形式のテーブルをコピーする必要があり、既存のデータを使用したり、書き換えたりする処理には用いず、専ら新規呼設定情報に使用する。したがって、テーブルの選定には他の制御からの使用の可能性があるものは除外しておく。なお、通常動作に戻る場合は、差分をコピーバックする処理を行う。そのため、新規呼設定情報以外の処理は変更せず、通常プログラムが使用するテーブル領域に書き込みを行うように、呼制御タスク2、3の呼処理部は処理を区分して動作させるようにプログラムする。
【0028】
また、呼制御タスク2、3の上位装置への処理応答時間を予め測定し、規定値が最大になるまで、処理応答を故意に遅延させ、結果的に、単位時間あたりの呼処理量を減らすことができる。なお、ハードウェアタイマを用いて処理応答を遅延させ、OSの機能を用いないことでCPUの負荷を低減することができる。
【0029】
【発明の効果】
以上説明したように、バッファの占有率に基づいて呼処理を行う呼処理プログラムを変更することで、急激な負荷に対応することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る通信制御装置の呼接続制御部の構成を示すブロック図である。
【図2】呼接続制御部のソフトウェア構成を示す図である。
【符号の説明】
101 呼接続制御部
102 CPU部
103 キャッシュ
104 メインメモリ
105 受信バッファ
106 受信バッファ監視回路
107 送信バッファ
108 送信バッファ監視回路
109 外部バス
110 外部装置I/O部
【発明の属する技術分野】
本発明は、端末間通信における、通信制御装置の短時間の負荷増大に対処する通信制御装置に関する。
【0002】
【従来の技術】
不特定多数ユーザによる通信における輻輳制御は、特定日時におけるユーザからの一斉の発呼動作などを除いても、通常の通信ネットワークシステムと比較して、予め想定しにくい瞬間的な負荷がかかる場合がある。特に、音声通信以外のメール、画像通信などのマルチメディア系の通信を含む最新の通信ネットワークは、現在も発展途上にあり、負荷の予測は極めて困難である。このようなネットワークを、瞬間的な最大負荷を処理するハードウェア/ソフトウェアを基準に設計すると、スペックは著しく過剰なものになり、コスト的にも過剰なシステムとなってしまう。したがって、想定される最大負荷の目標値を定め、これを超える過負荷時の処理をあらかじめシステムに組みこむ必要がある。
【0003】
【発明が解決しようとする課題】
従来の構成では、負荷状態をCPUの使用率やバッファ量の監視から検出し、輻輳状態を上位装置へ通知することで、発信制限をかける輻輳制御を実行している。従来の輻輳制御は、瞬間的な負荷に対してはユーザへの発信拒否を行い、システムの運用が停止しない状態で一部の処理を継続する手段が採られていた。このような運用では、優先制御により緊急度の高い通信制御だけを行うため、全体として呼損率が著しく増加していた。
【0004】
従来例として、特開平7−50673号公報には、バーストデータと通常データとを区別する方式が開示されている。これは、バーストデータの検出をバッファ使用率を周期的に監視するだけでなく、ある区間の増減差分による変化率から検出し、バッファ使用率が高いという理由だけで通常規制をかけることを回避し、同時に通常の輻輳検出よりも短時間にバーストデータの流入を検出するものである。
【0005】
しかし、バッファ占有率の変化を短時間の周期で監視した場合、バッファ使用率の変化(例えば0%から10%)が、ごく短時間の場合がある。このように、急激な変化率の発生をバーストデータの到着と判定したとしても、実際にはすぐに負荷が低減してしまうような単発データで終始してしまう場合がある。
【0006】
短時間に変化するバッファ占有率の変化をバーストデータと判定しないためには、バッファ占有率の監視周期を長くすればよいが、監視周期が長くなると、監視精度が低下するという問題がある。また、ユーザデータ用通信路と呼接続制御用通信路が分離した通信制御装置では、一斉発呼による呼接続制御負荷の急激な増大を規制するためには、バーストデータの早期検出が必須であるにもかかわらず、バーストデータを有効に検出することができないため、負荷の増大による輻輳が他装置へ波及しないようにしているに過ぎない。
【0007】
本発明は、かかる点に鑑みてなされたものであり、急激な負荷に対して有効に対応することができる通信制御装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明の通信制御装置は、送信バッファ又は受信バッファの蓄積量を監視することによって、端末間の呼接続を制御する通信制御装置において、少なくとも2以上の呼処理プログラムと、前記受信バッファの占有率を監視するバッファ監視手段と、前記受信バッファの占有率に基づいて、前記呼処理プログラムを切り替える切替手段と、を備える。
【0009】
本発明の通信制御装置では、処理負荷が急激に変化する呼処理プログラムのタスクを最高位のプライオリティとして別に準備し、さらに通常とは異なるメモリ領域を別に確保し、負荷増大時は高いプライオリティに設定された呼処理プログラムの処理に切り替え、タスクロックにより処理占有時間を確保して呼処理プログラムの処理量を低減する。また、CPUのデータキャッシュ対象を高プライオリティタスクで使用するメモリ領域にダイナミックにアサインする。さらに、呼処理プログラムが使用する高頻度のインストラクションをキャッシュに読み込ませ、これをロックすることでメモリアクセスを減らして処理時間を短縮することができる。また、あらかじめ測定した通常処理時間と、別の呼処理プログラムへの処理変更時間、キャッシュフィル・ロック時間及び高速化時の処理時間との比較に基づいて、有効な時間処理を継続した後、負荷量を計測し、通常動作に戻ることにより、瞬時負荷増大に対応した処理を行うことができる。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図1は本発明の一実施の形態に係る通信制御装置の呼接続制御部の構成を示す図である。呼接続制御部101は、CPU部102、インストラクション/データキャッシュメモリ部103、メインメモリ104、受信バッファ105、受信バッファ105のバッファ監視回路106、送信バッファ7、送信バッファ107のバッファ監視回路108を備え、外部バス109を介して外部装置I/O部110と接続されている。
【0011】
図2は呼接続制御部のソフトウェア構成を示す図である。呼接続制御部は上位装置より指示されたサービスごとに呼制御を行い、端末間とのアクセスおよび上位装置とのリンクを確立する通信制御を実行する。図2において、210は呼処理部を含む呼制御タスクであり、ウオッチドッグタイマ監視部202及び定周期処理部203を伴い第1のプログラム群(呼処理プログラム)を構成している。呼制御タスク220は第2のプログラム群(呼処理プログラム)であり、第1のプログラム群と同様に、呼処理部、ウオッチドッグタイマ監視部及び定周期処理部を含む。呼制御タスク230は第3のプログラム群であり、処理量を減らすために処理を一定量間引く処理間引き部を含む他、第1のプログラム群と同様に、呼処理部、ウオッチドッグタイマ監視部及び定周期処理部を含む。さらに、呼接続制御部は、運用/保守上必要なその他処理部240を備える。
【0012】
呼制御タスク2、3は、呼処理部、過負荷/ソフトウェアの暴走検出のためのウォッチドッグタイマ監視部、定周期処理部を呼制御タスク1から移植して同一構成にすることで、呼制御タスクを切り替えた場合でも、呼制御タスク2、3のプログラム動作中の他機能への影響を低減することができる。
【0013】
呼処理タスク2、3を備える構成により、タスクロックを行うとウォッチドッグタイマのタイムアウトが発生する長時間処理の場合や、定期的な処理に影響を与えるような場合に対処することができ、瞬時負荷よりも継続負荷が発生しやすい環境において有効である。
【0014】
この構成により装置全体としては、瞬時負荷を処理するために、タスクロックなどに頼るとウォッチドッグタイマタイムアウトが発生する長時間処理の場合や、保守的に定期的に必ず行わなくてはならない処理に影響を与えないようにするための処理の作りこみであり、比較的瞬時負荷よりも継続負荷が発生しやすい環境において、有効であるといえる。
【0015】
本発明の通信制御装置は、呼接続処理が瞬時負荷動作状態であることを示すフラグをCPU内のレジスタに定義し、これを必要に応じてセットする。呼制御タスク1の呼処理プログラムは、新たなユーザサービスの発呼処理を開始する際に常に負荷状態を確認するためにフラグがセットされているレジスタにアクセスする。この結果、瞬時負荷動作状態である場合は、OSにより起動時にあらかじめ設定された通常時と異なる最高位プライオリティに設定された第2の呼制御タスク2のメインプログラムを呼び出す。呼制御タスク2は、メインプログラム部のみ呼び出し形式が異なるが、その他は通常の呼制御タスク1と同一の処理を行うものとし、制御を切り替える際に、OSよりタスクロックを行い占有時間を長くすることで相対的に呼処理の処理時間を長くし負荷の低減を図る。
【0016】
受信バッファ5は瞬時の負荷増大時のデータを確保するだけの容量を確保する。バッファ容量は、1呼あたりの外部装置から受信すべき制御データ最大データ長(Aバイト)及び設定する負荷状態に到着する最大データ頻度(B回/秒)に基づき、A×Bバイト以上のデータを保持できるだけの容量である。但し、呼制御タスク2への切り替え時間等、処理の遅延を考慮して、例えば、3秒間負荷が連続しても受信可能な容量であることが好ましい。なお、制御通信はデータの増減が少ないため、おのおの平均データ長から容量を決定してもよい。
【0017】
バッファ監視回路6は、例えば、3秒間の受信期間の1/3の1秒程度の定周期で受信バッファ5を監視してCPU負荷率を収集し、この負荷率を呼制御タスク1の負荷の基準に用いる。最大負荷を処理するときでも、2秒間連続して100%の負荷にならない限り問題にらないため、この周期で受信バッファ5を監視する。
【0018】
瞬時負荷の検出は、受信バッファ5の占有率の変化を受信バッファ監視部6で周期的に監視し、例えば、次の2秒負荷が続き受信バッファ5がフルになる占有率に達した時点で、これをトリガにして、監視周期を10ミリ秒間隔の高頻度監視に切り替えて、受信バッファ5の占有率を統計的に保持する。
【0019】
瞬時負荷状態は、受信データを2秒間継続したときに受信が不可能になるときを定義し、瞬時負荷状態を検出した時点でCPU2に対して割り込みをかけ、割り込み処理ルーチンの中でCPUレジスタに瞬時負荷状態の状態フラグを書き込む。その後、呼制御タスク2への切り替えが行われる。
【0020】
瞬時負荷の増大を監視するバッファ監視回路をソフトウェアで構成することは可能だが、ソフトウェア処理を行うためCPUの負荷が増大する。したがって、瞬時負荷を表す受信バッファ占有率をあらかじめ規定し、その占有率に達する際の受信データを格納するアドレスへのアクセスの発生をハードウェアで監視する。また、10ミリ秒以下程度の短周期でハードウェアがバッファ使用域のアクセスアドレスを監視して、負荷状態をCPUのレジスタにセットし、割り込み制御により呼制御タスク2へ動作変更を実施することが好ましい。ハードウェアで受信バッファの占有率を監視することにより、ソフトウェア処理による負荷が減る。また、バッファ占有率を細かく監視できるため、不連続、不安定な制御データの増減であっても、判定ロジックを準備することで、精度良く負荷状態を監視することができる。例えば、バッファ占有率の増減を10ミリ秒間隔で10回分=100ミリ秒間分のデータを収集し、これらのデータの推移から時間軸に対する変化量を直線補間することで、次の100ミリ秒のバッファ占有率の予測、負荷状態からの脱出、バッファフルまでの残り時間算出を、ソフトウェア制御よりも精度良く行うことも可能である。
【0021】
瞬時負荷及び継続負荷の状態を判別するために、受信バッファ5を瞬時負荷用の数倍確保し、瞬時負荷状態を検出した時点からさらに受信バッファ5を別の指標で監視し、負荷が継続し、例えば1秒以内にバッファがフルになることを検出したときを継続負荷と定義する。その時点で割り込み制御により、CPUのレジスタに継続負荷の状態フラグを書き込むことで、呼制御タスク3への変更が可能となる。
【0022】
呼処理プログラムが、新たなユーザサービスの発呼処理を開始する際に常にレジスタにアクセスしており、継続負荷の場合は、OSにより起動時に予め設定された通常時と異なる最高位プライオリティに設定された第3のプログラム群を呼び出す。第3のプラグム群は、第2のプログラム群と同じ位置付けであるが、処理間引き部で一定間隔で処理を間引く(破棄もしくはNG応答する)ことにより通常負荷時以上の処理を行わないことで、占有時間を長くすることで相対的に呼処理の処理時間を長くして負荷の低減を図る。第3のプログラム群による処理を行うことで、ネットワーク全体の輻輳制御が動作し、あらかじめ定められた負荷まで負荷が軽減するまで、システムの運用を正常に継続することができる。
【0023】
なお、送信バッファ7に瞬時の負荷増大時のデータを確保できる容量を確保させ、ソフトウェアもしくはハードウェアによる送信バッファ監視回路8で送信バッファの占有率を監視し、予め定められた値を超えたとき、呼制御タスク3による呼処理に切り替えることで、上り下り方向の負荷の低減を図ることができる。
【0024】
また、送信バッファ監視回路8をハードウェアで構成し、送信バッファ内の特定アドレスにアクセスしたことの監視を周期的に行うことにより、監視精度の向上とCPUにかかる監視のための負荷の低減を図ることができる。また、送信バッファ7の特定アドレスとのマッチングを監視することにより、送信バッファの占有率を監視することができる。さらに、監視アドレスポイントを複数個用意すれば、送信バッファ占有率の変化の状況を収集することができる。
【0025】
また、呼制御タスク2の実行命令部のみを、CPUのキャッシュ3へのロック機構を使用し、呼制御タスク2への切り替え時に、あらかじめプログラムが使用するマシン語命令を調査し、その全てあるいは一部をメインメモリ4からキャッシュ3に読み込ませ、インストラクションキャッシュのヒット率を上げて、メインメモリ4へのアクセスを低減させることで、呼処理の実行処理性能を一時的に上げることができる。また、通常負荷時に戻ったときは、キャッシュ3のフラッシュとロックの解除を行うことで、他の制御プログラムの相対的な動作速度低下を短時間に抑えることができる。
【0026】
なお、呼制御タスク2のプログラムがアクセスするメインメモリ4上のテーブルのみCPUのキャッシュ3のロック機構を使用し、呼制御タスク2のプログラムへの切り替え時に、あらかじめプラグラムに必要なテーブルを、その全てあるいは一部をキャッシュ3に読み込ませ、データキャッシュのヒット率を上げて、メインメモリ4へのアクセスを低減させることで、呼処理の実行処理性能を一時的に上げることができる。
【0027】
但し、メインメモリ4上のテーブルデータのサイズを、キャッシュ3に収まるように制限するため、通常プログラム動作領域とは異なるアドレスに同形式のテーブルをコピーする必要があり、既存のデータを使用したり、書き換えたりする処理には用いず、専ら新規呼設定情報に使用する。したがって、テーブルの選定には他の制御からの使用の可能性があるものは除外しておく。なお、通常動作に戻る場合は、差分をコピーバックする処理を行う。そのため、新規呼設定情報以外の処理は変更せず、通常プログラムが使用するテーブル領域に書き込みを行うように、呼制御タスク2、3の呼処理部は処理を区分して動作させるようにプログラムする。
【0028】
また、呼制御タスク2、3の上位装置への処理応答時間を予め測定し、規定値が最大になるまで、処理応答を故意に遅延させ、結果的に、単位時間あたりの呼処理量を減らすことができる。なお、ハードウェアタイマを用いて処理応答を遅延させ、OSの機能を用いないことでCPUの負荷を低減することができる。
【0029】
【発明の効果】
以上説明したように、バッファの占有率に基づいて呼処理を行う呼処理プログラムを変更することで、急激な負荷に対応することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る通信制御装置の呼接続制御部の構成を示すブロック図である。
【図2】呼接続制御部のソフトウェア構成を示す図である。
【符号の説明】
101 呼接続制御部
102 CPU部
103 キャッシュ
104 メインメモリ
105 受信バッファ
106 受信バッファ監視回路
107 送信バッファ
108 送信バッファ監視回路
109 外部バス
110 外部装置I/O部
Claims (17)
- 送信バッファ又は受信バッファの蓄積量を監視することによって、端末間の呼接続を制御する通信制御装置において、
少なくとも2以上の呼処理プログラムと、
前記受信バッファの占有率を監視するバッファ監視手段と、
前記受信バッファの占有率に基づいて、前記呼処理プログラムを切り替える切替手段と、
を備えたことを特徴とする通信制御装置。 - 前記呼処理プログラムは、通常負荷時における呼処理を行う呼処理プログラム及び瞬時負荷時における呼処理を行う呼処理プログラムであることを特徴とする請求項1記載の通信制御装置。
- 前記瞬時負荷時における呼処理プログラムは、前記通常負荷時における呼処理プログラムよりも長い時間をかけて呼処理を実行することを特徴とする請求項2記載の通信制御装置。
- 前記瞬時負荷時における呼処理プログラムは、前記通常負荷時における呼処理プログラムよりも高いタスクプライオリティに設定され、前記通常負荷時における呼処理プログラムと同一機能を備え、タスクロックにより前記通常負荷時における呼処理プログラムよりも長い時間をかけて呼処理を実行することを特徴とする請求項3記載の通信制御装置。
- 前記呼処理プログラムは、前記通常負荷時における呼処理を行う呼処理プログラム及び前記継続負荷時における呼処理を行う呼処理プログラムであることを特徴とする請求項1から4のいずれか1項記載の通信制御装置。
- 前記継続負荷時における呼処理プログラムは、前記通常負荷時における呼処理プログラムと同一構成で、一定間隔で間引いた呼処理を実行することを特徴とする請求項5記載の通信制御装置。
- 前記継続負荷時における呼処理プログラムは、前記通常負荷時における呼処理プログラムよりも高いタスクプライオリティに設定され、前記通常負荷時における呼処理プログラムと同一機能を備えることを特徴とする請求項6記載の通信制御装置。
- 前記切替手段は、前記通常負荷状態を基準に前記受信バッファの占有率が所定値を越えたときに判定される前記瞬時負荷状態において、前記通常負荷時における呼処理プログラムから前記瞬時負荷時における呼処理プログラムへ切り替えることを特徴とする請求項2から4のいずれか1項記載の通信制御装置。
- 前記切替手段は、前記通常負荷状態を基準に前記受信バッファの占有率が所定値を一定期間越えたときに判定される前記継続負荷状態において、前記通常負荷時における呼処理プログラムから前記継続負荷時における呼処理プログラムへ切り替えることを特徴とする請求項5から7のいずれか1項記載の通信制御装置。
- 前記切替手段は、前記通常負荷状態を基準に前記受信バッファの占有率が所定値を越えてからの周期的監視結果に基づく予測値が所定値を越えたときに判定される前記継続負荷状態において、前記通常負荷時における呼処理プログラムから前記継続負荷時における呼処理プログラムへ切り替えることを特徴とする請求項5から7のいずれか1項記載の通信制御装置。
- 前記送信バッファの占有率を監視するバッファ監視手段と、
前記送信バッファの占有率が所定値を越えた際に、請求項5又は7記載の通常負荷時における呼処理プログラムから継続負荷時における呼処理プログラムへ切り替える切替手段と、
を具備したことを特徴とする請求項1記載の通信制御装置。 - 前記バッファ監視手段は、バッファの特定アドレスへのアクセスの発生をハードウェアで監視し、バッファの占有率を監視することを特徴とする請求項1又は11に記載の通信制御装置。
- 前記瞬時負荷時における呼処理プログラムが使用する命令を格納するメインメモリと、
前記メインメモリから前記命令を読み込み格納するキャッシュメモリと、
前記瞬時負荷時における呼処理プログラムの実行命令部にキャッシュロック機構を使用するCPUと、を備え、
前記通常負荷時における呼処理プログラムから前記瞬時負荷時における呼処理プログラムへの切り替え時に、キャッシュロックを行い、前記命令を予め前記キャッシュメモリに読み込ませることを特徴とする請求項2から4のいずれか1項記載の通信制御装置。 - 前記CPUは、前記瞬時負荷時における呼処理プログラムがアクセスする前記メインメモリ上のテーブルに対してのみ、キャッシュロック機構を使用することを特徴とする請求項13記載の通信制御装置。
- 前記瞬時負荷時における呼処理プログラムから前記通常負荷時における呼処理プログラムへの切り替え時に、前記キャッシュメモリをフラッシュすることを特徴とする請求項13又は14記載の通信制御装置。
- 前記瞬時負荷時における呼処理プログラムの上位装置への処理応答時間をあらかじめ測定し、規定値最大になるまで、処理応答を遅延させることを特徴とする請求項2記載の通信制御装置。
- 前記継続負荷時における呼処理プログラムの上位装置への処理応答時間をあらかじめ測定し、規定値最大になるまで、処理応答を遅延させることを特徴とする請求項5記載の通信制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377205A JP2004208181A (ja) | 2002-12-26 | 2002-12-26 | 通信制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377205A JP2004208181A (ja) | 2002-12-26 | 2002-12-26 | 通信制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004208181A true JP2004208181A (ja) | 2004-07-22 |
Family
ID=32814445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002377205A Pending JP2004208181A (ja) | 2002-12-26 | 2002-12-26 | 通信制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004208181A (ja) |
-
2002
- 2002-12-26 JP JP2002377205A patent/JP2004208181A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727372B2 (en) | Scheduling computer jobs for execution | |
EP2701074B1 (en) | Method, device, and system for performing scheduling in multi-processor core system | |
JP4387970B2 (ja) | データ入出力プログラム,装置,および方法 | |
JP4747307B2 (ja) | ネットワーク処理制御装置,プログラムおよび方法 | |
US20060256804A1 (en) | Call processing control apparatus, control method therefor and mobile communication control apparatus | |
JPH117429A (ja) | 共有バス型マルチプロセッサシステムの割り込み負荷分散システム | |
WO2009150815A1 (ja) | マルチプロセッサシステム | |
EP1390848A2 (en) | Task supervision | |
US20030149814A1 (en) | System and method for low-overhead monitoring of transmit queue empty status | |
JP2001216170A (ja) | 専用ポーリング処理組み込みオペレーティング方法及び専用ポーリング処理組み込みオペレーティングシステム | |
EP1029284B1 (en) | Shared memory access controller | |
US5594868A (en) | Processor unit for a parallel processor system discards a received packet when a reception buffer has insufficient space for storing the packet | |
JP2004208181A (ja) | 通信制御装置 | |
CN102760079B (zh) | 移动应用处理器的自适应中断调控方法及装置 | |
JPH11237993A (ja) | タスクの優先度制御方法およびタスクの優先度制御装置 | |
US7353366B2 (en) | Processing device | |
US5598578A (en) | Data processing system having event word handling facility which can send event word of higher significance without failure | |
JP2001092798A (ja) | 負荷分散型マルチプロセッサシステム及び方法 | |
JPH10177489A (ja) | タスクのスケジュール方法 | |
US20130007758A1 (en) | Multi-core processor system, thread switching control method, and computer product | |
JP5058416B2 (ja) | オンライン併用システムのバッチ制御システム、オンライン併用システムのバッチ制御用プログラム、及びそのプログラムを記録した記録媒体 | |
JP2007323256A (ja) | 割込制御方法および情報処理装置 | |
JP2918297B2 (ja) | 割込規制方式 | |
JP2009212862A (ja) | 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム | |
JP5413098B2 (ja) | 調停優位性の切り替え方法、調停装置、及びプロセッサ |