JP3888762B2 - マルチタスクシステムの輻輳制御装置 - Google Patents
マルチタスクシステムの輻輳制御装置 Download PDFInfo
- Publication number
- JP3888762B2 JP3888762B2 JP05377498A JP5377498A JP3888762B2 JP 3888762 B2 JP3888762 B2 JP 3888762B2 JP 05377498 A JP05377498 A JP 05377498A JP 5377498 A JP5377498 A JP 5377498A JP 3888762 B2 JP3888762 B2 JP 3888762B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- congestion control
- processing
- dependent
- magnitude
- 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
Links
Images
Landscapes
- Exchange Systems With Centralized Control (AREA)
Description
【発明の属する技術分野】
本発明は、実質的に独立した複数の処理を単一の処理ユニットで並列的に実行するマルチタスクシステムで利用される輻輳制御装置に関する。
特に本発明の輻輳制御装置は、特定の第1の処理の実行に伴って生成される従属データに対して第2の処理を実行するとともに、前記第1の処理と第2の処理とを互いに異なる実行レベルで並列的に実行するマルチタスクシステムで利用される。
例えば、ディジタル交換機を制御するマルチタスクシステムにおいては、メインのサービス(第1の処理)として呼処理を実行する。すなわち、発信側端末装置からの発呼に応答して発信側端末装置と受信側端末装置との回線の接続を確立し、発信側端末装置と受信側端末装置との間におけるデータ転送を処理する。
また、ディジタル交換機の制御においては、メインのサービスに付随して課金データが生成される。課金データに対する処理(第2の処理)は、メインのサービスに比べて優先順位の低い下位の実行レベルで処理される。
【0002】
【従来の技術】
逐次入力されるデータを処理する様々な処理装置においては、入力データ量が過大になると、プロセッサの処理能力の不足、あるいは利用可能なメモリの不足によって新たな処理の実行ができなくなる。このような輻輳状態の発生を防止するために輻輳制御装置が用いられる。
【0003】
この種の輻輳制御装置の従来技術としては、特開昭62ー11355号公報や特開平5ー344552号公報が知られている。
特開昭62ー11355号公報の技術では、主プロセッサと従プロセッサを備える交換機の処理装置において、輻輳発生時には、輻輳の発生条件に応じて従プロセッサのみ又は主プロセッサと従プロセッサの両方の負荷を規制する。
【0004】
特開平5ー344552号公報の技術では、処理待ちタスク及び処理済みタスクを監視して輻輳の発生を検知する。また、輻輳が発生した場合には、負荷の大きい回線を優先的に規制する。
【0005】
【発明が解決しようとする課題】
従来の輻輳制御装置においては、主要なサービスを提供するうえで必要な資源、すなわちプロセッサの使用率やメインメモリの使用率に基づいて、輻輳の有無を識別し規制の発動を制御している。
【0006】
この種の輻輳制御では、主要なサービス(例えば呼処理)の実行に伴って生成される従属データ(例えば課金データ)の特性や条件とは無関係に規制が発動される。
ところで、複数の処理を並列的に処理するマルチタスクシステムにおいては、各々のタスクに優先順位あるいは実行レベルが割り当てられる。優先順位の高いタスクには、比較的高い比率で処理装置の資源(プロセッサの使用率やメモリの使用率)が割り当てられ、優先順位の低いタスクには少ない資源が割り当てられる。
【0007】
一般に、輻輳の発生によって規制が発動された場合に、優先順位の高い処理が受ける影響は比較的小さい。しかし、優先順位の低い処理は大きな影響を受ける。つまり、優先順位の低い処理は、それを実行可能な機会(タイミング)が大幅に減る。
従って、主要なサービスを優先順位の高いタスクで実行し、主要なサービスによって生成される従属データを優先順位の低いタスクで処理する場合には、輻輳の規制が発動されると、従属データの発生頻度が高いにもかかわらず、優先順位の低いタスクの実行頻度が大幅に低下するので、従属データに対する処理が間に合わなくなる。
【0008】
例えば、呼処理を優先順位の高いタスクで実行し、課金データの処理を優先順位の低いタスクで実行するディジタル交換機においては、輻輳が発生した場合に課金データ処理の実行頻度が著しく低下する。また、未処理の課金データを保持するためのメモリ容量は有限である。そのため、発生する重要な課金データが部分的に未処理のまま廃棄され、消失する可能性がある。
【0009】
本発明は、マルチタスクシステムの輻輳制御装置において、輻輳が発生した場合に、第1の処理の実行に伴って発生する未処理の従属データの消失を防止することを主な目的とする。
【0010】
【課題を解決するための手段】
図1に本発明の請求項1〜請求項12の構成に対応する機能ブロック図を示す。図1を参照しながら本発明の構成を以下に説明する。
【0011】
請求項1のマルチタスクシステムの輻輳制御装置は、互いに独立した複数の処理を並列的に実行するとともに、特定の第1の処理11の実行に伴って生成される従属データ12に対して、前記第1の処理11より優先度が低い第2の処理13をタスク管理に基づいて実行するマルチタスクシステムの輻輳制御装置において、処理の優先度の情報を有する前記従属データ12の状態に基づいて、前記第2の処理13に関する負荷の大きさを検出する従属負荷検出手段15と、前記従属負荷検出手段15が検出した第2の処理13に関する負荷の大きさに基づいて、前記第1の処理11を規制する従属負荷規制手段16とを設けたことを特徴とする。
【0012】
請求項1記載の発明においては、輻輳状態が発生して規制が発動されると、前記第2の処理13の実行頻度が低下するため、未処理の従属データ12が増大する。この場合、従属負荷検出手段15が検出する第2の処理13に関する負荷の大きさも増大する。
従って、従属負荷規制手段16が第1の処理11を規制する。第1の処理11が規制されると、第1の処理11の実行に伴って発生する従属データ12の増大が抑制される。
【0013】
つまり、第2の処理13の実行頻度が低下してその処理能力が減少すると、第2の処理13によって処理すべき従属データ12の発生が抑制されるので、未処理の従属データ12の消失防止に役立つ。
請求項2は、請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属データ12として処理の優先度が互いに異なる複数種類のデータが存在する場合に、前記従属負荷検出手段15が、第2の処理13に関する負荷の大きさを、優先度の区分に応じて複数検出することを特徴とする。
【0014】
例えばディジタル交換機において生成される課金データには、処理上の優先度が高いものと低いものとがある。すなわち、通話毎に料金の計算が必要な課金データについては、通話終了とほぼ同時に出力する必要があるので、処理の優先度が高い。また、定期的に行われる課金パルスの積算処理によって料金が計算される課金データについては、多少の処理の遅れは問題にならないので、処理の優先度が低い。
【0015】
また、ディジタル交換機の場合には、従属データ12として課金データの他にトラヒックデータなども生成される。課金データとトラヒックデータとは、処理の優先度や重要度が異なる。
請求項2の発明においては、従属負荷検出手段15が第2の処理13に関する負荷の大きさを優先度の区分に応じて複数検出するので、優先度に応じた輻輳制御が可能である。例えば、優先度の高い課金データの消失を防止することを最優先し、優先度の低い従属データの処理の遅れが輻輳制御に及ぼす影響を小さくするように輻輳制御することもできる。
【0016】
請求項3は、請求項2記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷検出手段15が、処理対象の従属データ12の優先度の区分に応じて、予め用意された複数組のパラメータ14の中から1組のパラメータ14を選択し、選択された前記パラメータ14に基づいて第2の処理13に関する負荷の大きさを識別することを特徴とする。
【0017】
請求項3の発明においては、複数組のパラメータ14が用意されているので、優先度が異なる複数の従属データ12の負荷の大きさを、それぞれに適した条件で求めることができる。
請求項4は、請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷検出手段15が、前記従属データ12の未処理の情報量と、前記従属データ12に割り当てられた記憶領域の大きさとに基づいて第2の処理13に関する負荷の大きさを検出することを特徴とする。
【0018】
輻輳状態に陥り処理の規制が発動されると、第2の処理13の実行頻度が低下する。一方、規制によって優先度の高い第1の処理11が受ける影響は小さいので、新たな従属データ12の発生頻度もあまり変化しない。その結果、第2の処理13の実行の遅れが生じ、従属データ12の未処理の情報量が増える。
通常、従属データ12に割り当てられる記憶領域の大きさは一定なので、従属データ12の未処理の情報量が増えると、割り当てられた記憶領域全体に占める未処理の従属データ12の割合、すなわちメモリ使用率が増大する。
【0019】
請求項4の発明においては、従属データ12に関するメモリ使用率を監視するので、第2の処理13の実行の遅れ、すなわち第2の処理13に関する負荷の大きさを検出することができる。
【0020】
請求項5は、請求項1記載のマルチタスクシステムの輻輳制御装置において、前記第1の処理11の実行に伴って変化するシステム資源17の利用状況に基づいて、第1の処理11に関する負荷の大きさを検出する一次負荷検出手段18を更に設け、前記従属負荷規制手段16が、前記一次負荷検出手段18の検出した第1の処理11に関する負荷の大きさと、前記従属負荷検出手段15の検出した第2の処理13に関する負荷の大きさとに基づいて前記第1の処理11を規制することを特徴とする。
【0021】
第1の処理11に関する負荷の大きさが増大すると、第2の処理13に関する負荷の大きさも増大する。従って、第2の処理13に関する負荷の大きさに基づいて前記第1の処理11を規制すれば、輻輳状態の緩和に効果がある。
しかし、第1の処理11の負荷の増大に比べて、第2の処理13の負荷の増大は多少遅れる。従って、例えば急激にトラヒック量が増大した場合には、輻輳状態の検出及び処理の規制が遅れる可能性がある。
【0022】
請求項5の発明においては、第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとに基づいて前記第1の処理11を規制するので、第1の処理11の負荷が急激に増大する場合であっても、輻輳状態の検出の遅れが生じにくい。
上記システム資源17は、各タスクに割り当てられるプロセッサの処理やメモリ領域などを意味する。
【0023】
請求項6は、請求項5記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段16が、前記第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとを比較して、何れか大きい方に基づいて前記第1の処理11を規制することを特徴とする。
請求項6においては、第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとの何れか大きい方に基づいて第1の処理11が規制される。従って、第1の処理11の負荷と第2の処理13の負荷の何れかが増大すれば、第1の処理11が規制されるので輻輳制御の遅れが生じにくい。
【0024】
請求項7は、請求項6記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段16が、前記第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとの少なくとも一方を重み付け補正し、重み付け補正後の第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとを比較して、何れか大きい方に基づいて前記第1の処理11を規制することを特徴とする。
【0025】
請求項7においては、第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさの少なくとも一方が重み付け補正される。従って、第1の処理11及び第2の処理13の特性や重要度などを考慮した上で両者を比較することができる。
請求項8は、請求項5記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段16が、前記第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとを平均化した結果に基づいて前記第1の処理11を規制することを特徴とする。
【0026】
請求項8においては、第1の処理11の負荷と第2の処理13の負荷の少なくとも一方が増大すれば、第1の処理11が規制されるので輻輳制御の遅れが生じにくい。
請求項9は、請求項8記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段16が、前記第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとの少なくとも一方を重み付け補正して、重み付け補正後の第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとを平均化した結果に基づいて前記第1の処理11を規制することを特徴とする。
【0027】
請求項9においては、第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさの少なくとも一方が重み付け補正される。従って、第1の処理11及び第2の処理13の特性や重要度などを考慮した上で、第1の処理11の規制を制御できる。
請求項10は、請求項5記載のマルチタスクシステムの輻輳制御装置において、処理の優先度が互いに異なる複数種類の従属データ12が存在する場合に、前記従属負荷規制手段16が、第2の処理13に関する複数区分の負荷の大きさを平均化して、平均化された第2の処理13の負荷の大きさと、前記第1の処理11に関する負荷の大きさとに基づいて前記第1の処理11を規制することを特徴とする。
【0028】
請求項10においては、優先度の比較的高い従属データ12に対する第2の処理13の負荷が増大した場合でも、優先度の比較的低い従属データ12に対する第2の処理13の負荷が増大した場合でも、第1の処理11を規制することができる。
請求項11は、請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷検出手段15が、前記第2の処理13に関する負荷の大きさを周期的に検出するとともに、検出された負荷の大きさの変化量と予め定めた閾値との比較結果に応じて、検出された第2の処理13に関する負荷の大きさを補正することを特徴とする。
【0029】
請求項11においては、第1の処理11の規制を制御する際に、第2の処理13に関する負荷の大きさの変化量、すなわち微分値を考慮することができる。従って、急激な負荷の変動に対する輻輳制御の応答性や、一時的な負荷の変動に対する応答性を調整できる。
請求項12は、請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段16が、前記従属負荷検出手段15が検出した第2の処理13に関する負荷の大きさが予め定めた下限閾値より小さい場合には、前記第1の処理11の規制を解除もしくは緩和することを特徴とする。
【0030】
請求項12においては、輻輳状態の検出によって第1の処理11の規制が発動された後、第2の処理13に関する負荷が減少すると、第1の処理11の規制が自動的に解除もしくは緩和される。
【0031】
【発明の実施の形態】
(第1の実施の形態)
この形態のマルチタスクシステムの輻輳制御装置の構成と動作を図2〜図15に示す。この形態は、請求項1〜請求項5並びに請求項8〜請求項12に対応する。
【0032】
図2は、マルチタスクシステムの輻輳制御装置を備えるディジタル交換機のハードウェアの構成例を示すブロック図である。図3は、図2のシステム制御部100で実行されるソフトウェアの主要部の構成を示すブロック図である。
図4は、従属データ処理タスク221の課金データ生成シーケンスを示すフローチャートである。図5は、従属データ処理タスク221が生成する優先度の大きい課金データの構成を示すマップである。図6は、従属データ処理タスク221が生成する優先度の小さい課金データの構成を示すマップである。
【0033】
図7は、図3の輻輳制御系200により実現される輻輳制御の制御シーケンスの一部分を示すフローチャートである。図8は、図3の輻輳制御系200により実現される輻輳制御の制御シーケンスの一部分を示すフローチャートである。図9は、図7のステップ411の処理の内容を示すフローチャートである。
図10は、図8のステップ425の処理の内容を示すフローチャートである。図11は、図7のステップ430の処理の内容を示すフローチャートである。図12は、図7のステップ431の処理の内容を示すフローチャートである。
【0034】
図13は、図12の処理によって実現する規制レベルの状態遷移を示すフローチャートである。図14は、図8のステップ435の処理の内容を示すフローチャートである。図15は、図8のステップ435の処理で参照される呼規制ビットマップの構成例を示すマップである。
この形態では、請求項1の第1の処理11,従属データ12,第2の処理13,従属負荷検出手段15及び従属負荷規制手段16は、それぞれ呼処理タスク211,従属データ203,従属データ処理タスク221,二次規制値算出タスク223及び呼処理規制タスク232として具体化されている。
【0035】
また、請求項5の一次負荷検出手段18は、一次規制値算出タスク213として具体化されている。
図2を参照すると、このディジタル交換機はシステム制御部100,回線インタフェース部110,セルスイッチ部120,シグナリング/クロック部130,ハードディスク140及び保守運用端末装置150で構成されている。
【0036】
回線インタフェース部110に接続されるデータ通信回線111に含まれる各々の回線は、セルスイッチ部120を介して指定された別の回線と接続される。システム制御部100は、回線インタフェース部110,セルスイッチ部120及びシグナリング/クロック部130を制御して、各回線間でのデータ転送を処理する。
【0037】
システム制御部100には、プロセッサバス106を介して互いに接続されたプロセッサ101,メインメモリ102,システムバス制御部103,SCSIインタフェース104及びLANインタフェース105が備わっている。
なお、システムの信頼性を高めるために、図2のディジタル交換機の主要な構成要素は各々2組備わっている。また、2組のシステムは必要に応じて切り替え可能である。しかし、本発明とは直接関連がないので、図2においては1組の構成要素を省略して1組の構成だけを示してある。
【0038】
図3に示すディジタル交換機の制御系は、図2に示すプロセッサ101のソフトウェアの実行によって実現する。ハードウェアと直接関連のある処理や基本的な処理は、オペレーティングシステム201によって実現する。
オペレーティングシステム201の動作の下で、様々なタスクを並列的に実行することができる。プロセッサ101の利用時間は小さいタイムスロット毎に予め区分され、各々のタイムスロットの利用権利が、各々のタスクに割り当てられる。従って、複数のタスクを時分割で実質的に同時に処理できる。
【0039】
優先順位の高いタスクには、多くのタイムスロットが割り当てられるので、優先順位の高いタスクでは、短い時間で大量の処理を実行できる。優先順位の低いタスクには、僅かなタイムスロットが割り当てられるので、優先順位の低いタスクの処理能力は低い。
例えば、輻輳制御によってプロセッサ101の使用率(単位時間当たりのタスクの占有時間)が制限されると、優先順位の低いタスクが実行される頻度は大幅に低下する。
【0040】
図3に示す制御系においては、オペレーティングシステム201上で実行されるタスクとして、メモリ管理タスク202,呼処理タスク211,呼処理リソース監視タスク212,一次規制値算出タスク213,従属データ処理タスク221,従属データリソース監視タスク222,二次規制値算出タスク223,規制値識別タスク231及び呼処理規制タスク232が含まれている。
【0041】
メモリ管理タスク202は、これ以外のタスクに対してメインメモリ102上のメモリ領域を割り当てる。また、メモリ管理タスク202は他の各タスクに割り当てられたメモリの利用状況を管理する。
図3においては、各タスクとオペレーティングシステム201との通信、並びにメモリ管理タスク202とそれ以外のタスクとの通信の経路が実線で示してある。また、メモリ管理タスク202を除くタスク間通信の経路は点線で示してある。
【0042】
以下、図3の輻輳制御系200に含まれる各タスクについて説明する。呼処理タスク211では、発呼,入呼,切断など「呼」に関する電話網の接続サービスを実施する。呼処理タスク211はディジタル交換機における主要なサービスなので、呼処理タスク211の処理上の優先順位は比較的高い。
ところで、呼処理タスク211を実行すると、それに付随して課金データやトラヒックデータなどが従属データ203として生成される。呼処理タスク211に伴って生成された従属データ203に関しては、フォーマットの変換,データ蓄積などの二次的な処理を実行しなければならない。この二次的な処理は、呼処理タスク211とは別の従属データ処理タスク221によって実行される。
【0043】
従属データ処理タスク221は、処理すべき単位時間当たりのデータ量が比較的少ないので、処理の優先順位が呼処理タスク211よりも低い。通常の状態では、従属データ処理タスク221は呼処理タスク211に伴って生成される課金データやトラヒックデータを処理するのに十分な能力を有している。
ところが、輻輳状態になって処理に規制が掛けられた場合、呼処理タスク211で生成される課金データやトラヒックデータの量があまり変化しないにもかかわらず、従属データ処理タスク221の処理能力は大幅に低下する。
【0044】
従って、輻輳状態になると、従属データ処理タスク221の処理の遅れによって、未処理の課金データやトラヒックデータの量が増大する。各々のタスクに割り当てられるメモリ領域の大きさは有限なので、未処理のデータ量が増大すると、新しいデータを記憶するメモリ領域を確保するために古いデータは廃棄しなければならない。
【0045】
このため、輻輳状態になると、重要な課金データが未処理のまま消失する可能性がある。このような不具合を無くすために、図3に示す輻輳制御系200においては、特別な輻輳制御を実施する。
従属データ処理タスク221で処理される従属データ203には、図5及び図6に示すような2種類の課金データが含まれる。図5に示す課金データは、処理の優先度が高いデータである。図6に示す課金データは、処理の優先度が低いデータである。
【0046】
課金データ生成シーケンスの内容を図4に示す。なお、図4に示す一時記憶バッファ102a及びタスク割り当てメモリ102bは、各々メインメモリ102上に割り当てられた特定のメモリ領域である。
図4において、呼処理タスク211のステップ301で通話完了が検出された後、呼処理タスク211は、ステップ302で未処理の課金データの内容を従属データ処理タスク221に通知する。
【0047】
従属データ処理タスク221では、新しい課金データが通知されると、そのデータをステップ303で一時記憶バッファ102aに一時的に蓄える。また、従属データ処理タスク221は、一定の周期(500msec)でステップ304,305,306の処理を繰り返し実行する。
ステップ304では、一時記憶バッファ102aに保持された未処理の課金データを読み出す。ステップ305では、ステップ304で読み出した未処理の課金データのデータ形式を予め定めたフォーマットに変換し、図5及び図6に示すような課金データを生成する。生成した課金データは、ステップ306でタスク割り当てメモリ102bに書き込まれる。
【0048】
更に、従属データ処理タスク221では、一定の周期(5sec)でステップ307,308を繰り返し実行する。ステップ307では、タスク割り当てメモリ102bに保持された課金データを読み出す。この課金データは、次のステップ308でハードディスク140に書き込まれる。
図3に示す輻輳制御系200の処理によって実現する輻輳制御の制御シーケンスについて、図7及び図8を参照して説明する。
【0049】
規制値識別タスク231は、図7のステップ401で呼処理タスク211に対してCPUアイドル時間の出力を要求する。この要求はタスク間通信である。この要求に応答して、呼処理タスク211は、ステップ402でその時のCPUアイドル時間を検出し、検出したCPUアイドル時間CPUIdleを規制値識別タスク231に出力する。
【0050】
このCPUアイドル時間CPUIdleは、呼処理タスク211が利用できるプロセッサ101の処理時間のうち、実際に利用されていない空き時間に比例する数値であり、この例では0〜1000の範囲内の値になる。実際には、呼処理タスク211は、オペレーティングシステム201に対するシステムコールを利用して、CPUアイドル時間CPUIdleを得る。
【0051】
規制値識別タスク231は、CPUアイドル時間CPUIdleを受け取った後、ステップ403でCPU使用率CPUUsgを算出する。CPU使用率CPUUsgは次式により算出される。
CPUUsg =(1000−CPUIdle)/10 ・・・ (1)
次のステップ404では、規制値識別タスク231は輻輳に関する規制が必要か否かを識別する。具体的には、ステップ403で得たCPU使用率CPUUsgを、予め定めた閾値CPUUsg0及びABFUsg0と比較する。
【0052】
CPU使用率CPUUsgが閾値CPUUsg0よりも大きいか、又はCPU使用率CPUUsgが閾値ABFUsg0よりも大きい場合には、規制値識別タスク231は規制要とみなしてステップ405に進む。CPU使用率CPUUsgが閾値CPUUsg0及びABFUsg0以下の場合には、規制不要とみなすので、ステップ405,413,430,431及び432は実行されない。
【0053】
ステップ405では、規制値識別タスク231は二次規制値算出タスク223に対して二次規制値の出力を要求する。この要求を受けると、二次規制値算出タスク223は、ステップ406で従属データリソース監視タスク222に対して従属データのメモリ使用率の出力を要求する。
従属データリソース監視タスク222は、従属データのメモリ使用率の出力要求を受けると、ステップ407で従属データ処理タスク221に対して従属データに関する負荷情報の出力を要求する。
【0054】
従属データ処理タスク221は、割り当てられたメモリ領域の大きさD1_ABF,単位データのサイズD2_ABF及び未処理データ数D3_ABFを、従属データの種類(優先度の大きい課金データ,優先度の小さい課金データ,トラヒック情報など)毎にそれぞれ取得して、それらのデータをステップ408で従属データリソース監視タスク222に通知する。
【0055】
従属データリソース監視タスク222は、従属データ処理タスク221から通知されたデータに基づいて、ステップ409で従属データの種類毎に従属データのメモリ使用率ABFUsgを算出する。メモリ使用率ABFUsgは次式で算出される。
ABFUsg=(D2_ABF・D3_ABF)/D1_ABF ・・・ (2)
従属データのメモリ使用率ABFUsgは、従属データ処理タスク221の負荷の大きさに応じて変化する。
【0056】
図4に示す従属データ処理タスク221のステップ307,308の処理は優先順位が非常に低いので、プロセッサ101の負荷が過大になると、最初に従属データ処理タスク221のステップ307,308の処理能力が大幅に低下する。その結果、タスク割り当てメモリ102bからハードディスク140へのデータ転送が滞る。
【0057】
そして、タスク割り当てメモリ102bから掃き出されるデータの量に比べてタスク割り当てメモリ102bに書き込まれるデータの量が大きくなる。つまり、輻輳状態になると、タスク割り当てメモリ102b上の従属データの量が徐々に増大し、従属データのメモリ使用率ABFUsgが上昇する。
従属データリソース監視タスク222が算出した従属データのメモリ使用率ABFUsgは、ステップ410の処理で二次規制値算出タスク223に通知される。
【0058】
二次規制値算出タスク223は、ステップ406における要求に対して従属データのメモリ使用率ABFUsgが通知されると、それに基づいて二次規制値NL_ABFを従属データの種類毎にステップ411の処理で算出する。
ステップ411の処理の内容については、後で詳細に説明する。ステップ411で算出された従属データの種類毎の二次規制値NL_ABFは、ステップ412で規制値識別タスク231に通知される。つまり、規制値識別タスク231のステップ405における要求に対して、二次規制値NL_ABFが通知される。
【0059】
また、規制値識別タスク231は、図8に示すステップ413で、一次規制値算出タスク213に対して一次規制値の出力を要求する。一次規制値算出タスク213は、一次規制値の出力要求を受けると、ステップ420で呼処理リソース監視タスク212に対して呼処理タスク211に関するCPU使用率CPUUsgの出力を要求する。
【0060】
呼処理リソース監視タスク212は、ステップ421で呼処理タスク211に対して、CPUアイドル時間の出力を要求する。この要求に応答して、呼処理タスク211は、ステップ422でその時のCPUアイドル時間を検出し、検出したCPUアイドル時間CPUIdleを呼処理リソース監視タスク212に通知する。
呼処理リソース監視タスク212は、CPUアイドル時間CPUIdleを受け取った後、ステップ423でCPU使用率CPUUsgを算出する。この処理の内容は、規制値識別タスク231のステップ403と同じである(第1式参照)。
【0061】
呼処理リソース監視タスク212は、算出したCPU使用率CPUUsgをステップ424で一次規制値算出タスク213に通知する。一次規制値算出タスク213は、呼処理リソース監視タスク212から得たCPU使用率CPUUsgに基づいて、ステップ425で一次規制値NL_CPUを算出する。
ステップ425の処理の内容については、後で詳細に説明する。一次規制値算出タスク213は、ステップ425で算出された一次規制値NL_CPUをステップ426で規制値識別タスク231に通知する。
【0062】
規制値識別タスク231は、二次規制値算出タスク223から受け取った二次規制値NL_ABFと、一次規制値算出タスク213から受け取った一次規制値NL_CPUとに基づいて、ステップ430で受付可能呼数RVを決定する。また、次のステップ431では規制レベルLV_CPUを算出する。これらの処理については、後で詳細に説明する。
【0063】
規制値識別タスク231は、ステップ430で決定した受付可能呼数RVとステップ431で算出した規制レベルLV_CPUとを、ステップ432で呼処理規制タスク232に通知する。また、規制の条件を満たす状態から条件を満たさなくなった場合には、規制緩和の指示を呼処理規制タスク232に通知する。
呼処理規制タスク232は、規制値識別タスク231から通知された受付可能呼数RV及び規制レベルLV_CPUに基づいて、受付呼数に関する規制率Rをステップ433で決定する。
【0064】
実際には、規制レベルLV_CPUと規制率Rとを対応付ける呼規制率テーブルが予め用意されている。この例では、規制レベルLV_CPUには0,1,2の3レベルがある。呼規制率テーブルにおいては、規制レベルLV_CPUの「0」,「1」,「2」のそれぞれに対して、「0%」,「50%」,「100%」の規制率Rが割り当ててある。
【0065】
呼処理規制タスク232は、上記呼規制率テーブルを参照して、規制レベルLV_CPUから規制率Rを求める。例えば、規制レベルLV_CPUが「1」の場合には規制率Rは50%になる。なお、呼規制率テーブルの内容の変更は可能である。
また、呼処理規制タスク232は、ステップ434で受付可能呼数RV及び規制率Rを呼処理タスク211に通知する。更に、規制緩和の指示を受けた場合には、それを呼処理タスク211に通知する。
【0066】
呼処理タスク211では、呼処理規制タスク232から呼の規制を指示する受付可能呼数RV及び規制率Rを通知された場合には、ステップ435で呼規制処理を実行する。この呼規制処理によって、呼処理タスク211の「呼」に対する処理が規制される。この処理については、後で詳細に説明する。
図7のステップ411で実行されるNL_ABF算出処理の内容を図9に示す。図9に記号で示される各パラメータは、次のように定義される。なお、これらのパラメータは従属データの種別に対応付けて複数組設けられている。処理対象の従属データの種別に応じて、1組のパラメータが選択的に使用される。
【0067】
NL_ABF:従属データ処理タスク221の受付可能呼数
NA_ABF:前の処理サイクルにおけるNL_ABF(初期値:0)
ABFUsg:従属データのメモリ使用率
ABFUsgP:前の処理サイクルにおけるABFUsg
ABFUsgMax:ABFUsgの閾値(上限値:初期値は90)
ABFUsg0:ABFUsgの閾値(NL_ABF算出を実行する下限値:初期値は50)
ABFUsgRest:ABFUsgの閾値(輻輳検出レベル:初期値は75)
MI:増加時のNL_ABF補正係数(0〜1の範囲内の値:初期値は0.5)
MD:減少時のNL_ABF補正係数(0〜1の範囲内の値:初期値は0.5)
AD:NL_ABF補正係数(0〜1の範囲内の値:初期値は0.5)
以下、図9を参照してNL_ABF算出処理の各ステップについて説明する。なお図9に示す処理は、例えば1秒周期で繰り返し実行される。
【0068】
ステップ501では、従属データのメモリ使用率ABFUsgと閾値ABFUsg0とを比較する。所定の条件(ABFUsg>ABFUsg0)を満たす場合にはステップ503に進む。この条件を満たさないときに、他のタスクから二次規制値の出力を要求された場合には、ステップ502で条件不一致のエラーを通知する。
ステップ503では、従属データのメモリ使用率ABFUsgと閾値ABFUsgRestとを比較する。所定の条件(ABFUsg>ABFUsgRest)を満たす場合にはステップ504に進み、条件を満たさない場合にはステップ505に進む。
【0069】
ステップ504及び505では、それぞれ次の第3式及び第4式に基づいて受付可能呼数NL_ABFを算出する。
NL_ABF=NA_ABF・(ABFUsgMax−ABFUsg0)/(ABFUsg−ABFUsg0) ・・・(3)
NL_ABF=NA_ABF・(ABFUsgP−ABFUsg0)/(ABFUsg−ABFUsg0) ・・・(4)
また、受付可能呼数NL_ABFが急激に変化するのを防止するために、ステップ506,507,508,509で補正処理を実施する。
【0070】
受付可能呼数NL_ABFが増大するときには、ステップ506の処理によって、処理周期の1サイクルの間の変化量がチェックされる。そして、所定の条件(NL_ABF>(1+MI)・NA_ABF)を満たす場合には、ステップ507で受付可能呼数NL_ABFが補正される。
また、受付可能呼数NL_ABFが減少するときには、ステップ508の処理によって、処理周期の1サイクルの間の変化量がチェックされる。そして、所定の条件(NL_ABF<(1-MD)・NA_ABF)を満たす場合には、ステップ509で受付可能呼数NL_ABFが補正される。
【0071】
また、従属データのメモリ使用率ABFUsgが異常に大きくなった場合には、ステップ510,511で更に補正を実施する。ステップ510では、メモリ使用率ABFUsgを上限値である閾値ABFUsgMaxと比較する。所定の条件(ABFUsg>ABFUsgMax)を満たす場合には、ステップ511で受付可能呼数NL_ABFを補正する。
ステップ512では、求めた受付可能呼数NL_ABFを前サイクルの受付可能呼数NA_ABFとして保存する。
【0072】
なお、図9には示されていないが、従属データは、優先度の高い課金データ,優先度の低い課金データ,トラヒックデータなどの種類毎にそれぞれ算出される。種類の異なる従属データを処理する場合には、それぞれ独立したパラメータが用いられる。
各パラメータの値については、保守運用端末装置150の操作により、次に示す制約の範囲内で変更可能である。
【0073】
50 ≦ ABFUsg0 ≦ ABFUsgRest ≦ ABFUsgMax ≦ 100 ・・・ (5)
図8のステップ425で実行されるNL_CPU算出処理の内容を図10に示す。図10に記号で示される各パラメータは、次のように定義される。なお、これらのパラメータは従属データの種別に対応付けて複数組設けられている。処理対象の従属データの種別に応じて、1組のパラメータが選択的に使用される。
【0074】
NL_CPU:呼処理タスク211の受付可能呼数
NA_CPU:前の処理サイクルにおけるNL_CPU(初期値:0)
CPUUsg:呼処理タスク211のCPU使用率
CPUUsgP:前の処理サイクルにおけるCPUUsg
CPUUsgMax:CPUUsgの閾値(上限値:初期値は90)
CPUUsg0:CPUUsgの閾値(NL_CPU算出を実行する下限値:初期値は50)
CPUUsgRest:CPUUsgの閾値(輻輳検出レベル:初期値は75)
MA:増加時のNL_CPU補正係数(0〜1の範囲内の値:初期値は0.5)
MB:減少時のNL_CPU補正係数(0〜1の範囲内の値:初期値は0.5)
AD2:NL_CPU補正係数(0〜1の範囲内の値:初期値は0.5)
以下、図10を参照してNL_CPU算出処理の各ステップについて説明する。なお図10に示す処理は、例えば1秒周期で繰り返し実行される。
【0075】
ステップ551では、呼処理タスク211のCPU使用率CPUUsgと閾値CPUUsg0とを比較する。所定の条件(CPUUsg>CPUUsg0)を満たす場合にはステップ553に進む。この条件を満たさないときに、他のタスクから一次規制値の出力を要求された場合には、ステップ552で条件不一致のエラーを通知する。
ステップ553では、呼処理タスク211のCPU使用率CPUUsgと閾値CPUUsgRestとを比較する。所定の条件(CPUUsg>CPUUsgRest)を満たす場合にはステップ554に進み、条件を満たさない場合にはステップ555に進む。
【0076】
ステップ554及び555では、それぞれ次の第6式及び第7式に基づいて受付可能呼数NL_CPUを算出する。
NL_CPU=NA_CPU・(CPUUsgMax−CPUUsg0)/(CPUUsg−CPUUsg0) ・・・(6)
NL_CPU=NA_CPU・(CPUUsgP−CPUUsg0)/(CPUUsg−CPUUsg0) ・・・(7)
また、受付可能呼数NL_CPUが急激に変化するのを防止するために、ステップ556,557,558,559で補正処理を実施する。
【0077】
受付可能呼数NL_CPUが増大するときには、ステップ556の処理によって、処理周期の1サイクルの間の変化量がチェックされる。そして、所定の条件(NL_CPU>(1+MA)・NA_CPU)を満たす場合には、ステップ557で受付可能呼数NL_CPUが補正される。
また、受付可能呼数NL_CPUが減少するときには、ステップ558の処理によって、処理周期の1サイクルの間の変化量がチェックされる。そして、所定の条件(NL_CPU<(1-MB)・NA_CPU)を満たす場合には、ステップ559で受付可能呼数NL_CPUが補正される。
【0078】
また、従属データのメモリ使用率CPUUsgが異常に大きくなった場合には、ステップ560,561で更に補正を実施する。ステップ560では、呼処理タスク211のCPU使用率CPUUsgを上限値である閾値CPUUsgMaxと比較する。所定の条件(CPUUsg>CPUUsgMax)を満たす場合には、ステップ561で受付可能呼数NL_CPUを補正する。
【0079】
ステップ562では、求めた受付可能呼数NL_CPUを前サイクルの受付可能呼数NA_CPUとして保存する。
上記各パラメータの値については、保守運用端末装置150の操作により、次に示す制約の範囲内で変更可能である。
50 ≦ CPUUsg0 ≦ CPUUsgRest ≦ CPUUsgMax ≦ 100 ・・・ (8)
規制値識別タスク231のステップ430で実行される処理の内容を図11に示す。図11に記号で示す各パラメータは、次のように定義される。
【0080】
RV:最終的に決定された受付可能呼数
RV2:従属データ処理タスク221に関する受付可能呼数
NL_ABF(1):優先度の高い従属データ(図5)に対するNL_ABF
NL_ABF(0):優先度の低い従属データ(図6)に対するNL_ABF
RW,K2:重み係数
図11を参照して説明する。この処理では、ステップ602,603,607において前記CPU使用率CPUUsgと閾値ABFUsg0,CPUUsg0とを比較して、4種類の状態を識別する。
【0081】
CPU使用率CPUUsgが閾値ABFUsg0より大きく、且つ閾値CPUUsg0よりも大きい場合には、ステップ604,605を実行する。ステップ604では、次式により従属データ処理タスク221に関する受付可能呼数RV2を算出する。
RV2=(NL_ABF(1)+NL_ABF(0)・RW)/2 ・・・ (9)
つまり、優先度の高い従属データに対する受付可能呼数NL_ABF(1)と、優先度の低い従属データに対する受付可能呼数NL_ABF(0)とを平均化した結果が、受付可能呼数RV2になる。また、受付可能呼数NL_ABF(1),NL_ABF(0)は重み係数RWで重み付けされる。
【0082】
ステップ605では、次式により受付可能呼数RVを算出する。
RV=(NL_CPU+RV2・K2)/2 ・・・ (10)
つまり、呼処理タスク211に関する受付可能呼数NL_CPUと、従属データ処理タスク221に関する受付可能呼数RV2とを平均化した結果が、最終的な受付可能呼数RVになる。また、呼処理タスク211に関する受付可能呼数と従属データ処理タスク221に関する受付可能呼数RV2とは、重み係数K2で重み付けされる。
【0083】
CPU使用率CPUUsgが閾値ABFUsg0より大きく、且つ閾値CPUUsg0以下の場合には、ステップ606を実行する。ステップ606では、次式により受付可能呼数RVを算出する。
RV=K2・(NL_ABF(1)+NL_ABF(0)・RW)/2 ・・・ (11)
つまり、優先度の高い従属データに対する受付可能呼数NL_ABF(1)と、優先度の低い従属データに対する受付可能呼数NL_ABF(0)とを平均化した結果が、最終的な受付可能呼数RVになる。また、受付可能呼数NL_ABF(1),NL_ABF(0)は重み係数RWで重み付けされる。従って、最終的な受付可能呼数RVは呼処理タスク211に関する受付可能呼数とは無関係に決定される。
【0084】
CPU使用率CPUUsgが閾値ABFUsg0以下で、且つ閾値CPUUsg0より大きい場合には、ステップ608を実行する。ステップ608では、呼処理タスク211に関する受付可能呼数NL_CPUが最終的な受付可能呼数RVとして決定される。従って、最終的な受付可能呼数RVは、従属データ処理タスク221に関する受付可能呼数NL_ABF(1),NL_ABF(0)とは無関係に決定される。
【0085】
図8のステップ431の規制レベル算出処理の内容を図12に示す。図12に記号で示す各パラメータは、次のように定義される。
CPUUsgP:1サイクル前の処理で検出されたCPUUsg
CPUUsg1:CPUUsgに関する閾値(輻輳緩和条件:初期値は50)
CPUUsg2:CPUUsgに関する閾値(輻輳条件:初期値は75)
LV_CPU:呼処理タスク211に対する規制のレベル(0,1,2:初期値は0)
図8に示す規制レベル算出処理においては、ステップ611,612,613,615,616,617によって、「規制強化」,「規制緩和」,「状態維持」の3種類の状態が識別される。
【0086】
すなわち、ステップ611,612,613の全ての条件が成立する場合には、「規制強化」をするためにステップ614を実行する。ステップ614では、規制レベルLV_CPUを1レベル上げる。規制レベルLV_CPUの上限が2なので、ステップ613の条件が成立しないときには、ステップ614は実行しない。
また、ステップ615,616,617の全ての条件が成立する場合には、「規制緩和」をするためにステップ618を実行する。ステップ618では、規制レベルLV_CPUを1レベル下げる。規制レベルLV_CPUの下限が0なので、ステップ617の条件が成立しないときには、ステップ618は実行しない。
【0087】
ステップ611,612,613,615,616,617の何れかの条件が成立しない場合には、「状態維持」をするために規制レベルLV_CPUの更新は実行しない。
つまり、呼処理タスク211のCPU使用率CPUUsgが閾値CPUUsg2より大きい状態が2サイクル連続すると、「規制強化」のために規制レベルLV_CPUを1レベル上げる。また、CPU使用率CPUUsgが閾値CPUUsg1より小さい状態が2サイクル連続すると、「規制緩和」のために規制レベルLV_CPUを1レベル下げる。
【0088】
図13を参照して、規制レベルLV_CPUの状態遷移を説明する。CPU使用率CPUUsgが閾値CPUUsg2より大きい状態が継続する場合には、条件Aが成立するので、「状態1」→「状態2」→「状態3」→「状態4」→「状態5」と順次に変化する。「状態2」及び「状態4」では規制レベルLV_CPUは前の値から変化しない。
また、CPU使用率CPUUsgが閾値CPUUsg1より小さい状態が継続する場合には、条件Bが成立するので、「状態5」→「状態4」→「状態3」→「状態2」→「状態1」と順次に変化する。「状態2」及び「状態4」では規制レベルLV_CPUは前の値から変化しない。
【0089】
通常、規制を強化するとCPU使用率CPUUsgは下がる。従って、例えば「状態1」から「状態2」を介して「状態3」に移行し、規制レベルLV_CPUが「0」から「1」に上がると、CPU使用率CPUUsgが下がるので、「状態3」から「状態2」を介して「状態1」に移行する場合もある。
上記閾値の値については、保守運用端末装置150の操作により、次に示す制約の範囲内で変更可能である。
【0090】
CPUUsg0 ≦ CPUUsg1 ≦ CPUUsg2 ≦ CPUUsgMax ・・・ (12)
図8のステップ435で実行される呼処理タスク211の呼規制処理の内容を図14に示す。この呼規制処理においては、呼処理規制タスク232から通知される受付可能呼数RV及び規制率Rに従って、「呼」に対する処理の実行を規制する。
【0091】
規制を開始すると、受付可能呼数RV及び規制率Rは定期的に呼処理規制タスク232から呼処理タスク211に通知される。図14の呼規制処理の内容について、以下に説明する。
呼処理タスク211は、受付可能呼数RV及び規制率Rとともに呼規制要求が通知されると、ステップ651から652に進む。ステップ652では、一定期間内(例えば1秒間)に検出された発呼,入呼の呼数を測定する。
【0092】
ステップ653では、ステップ652で検出された呼数を受付可能呼数RVと比較する。検出された呼数が受付可能呼数RVを上回ると、次のステップ654に進む。
また、受付可能呼数RV及び規制率Rが呼処理規制タスク232から呼処理タスク211に通知されると、ステップ652の測定値はクリアされ、呼数の測定が再開される。
【0093】
「呼」の要求が検出される度に、ステップ654からステップ656に進む。ステップ656では、予め用意された呼規制ビットマップの1つのビットを参照する。
呼規制ビットマップは、図15に示すように、呼拒否を示す「1」と呼受付を示す「0」とが、規制率Rに従って周期的に並べられたテーブルである。この呼規制ビットマップは、前述の呼規制率テーブルの内容が決定された時、及びそれが更新された時に、呼規制率テーブル基づいて作成される。全ての規制率Rについて、呼規制ビットマップがそれぞれ作成される。
【0094】
ステップ656では、呼処理規制タスク232から通知された規制率Rに対応する1つの呼規制ビットマップを選択し、それの1つのビットを参照する。ステップ656で参照したビットの状態(1/0)に応じて、ステップ658又は659が実行される。
【0095】
ステップ658では、ステップ654で検出された呼を受付拒否する。また、ステップ659では、呼を受け付ける。
ステップ660では、ステップ656で参照される呼規制ビットマップ上の位置を示すポインタの値を更新する。ステップ660の処理によって、ステップ656で参照される呼規制ビットマップ上の位置は、参照の度に1ビットずつ移動する。前記ポインタにより定まる参照位置が呼規制ビットマップの最終位置に達すると、参照位置は呼規制ビットマップの先頭位置に移動する。
【0096】
従って、呼の規制制御中は、呼の受付拒否と受付とが規制率Rに従って周期的に生じる。例えば、図15に示す規制率が50%の呼規制ビットマップを利用する場合には、2回に1回の割合で周期的に呼の受付が拒否される。
これによって呼処理の実行が間引かれるので、呼処理タスク211の負荷が低減される。そして、呼処理タスク211の実行に伴って生成される従属データの生成数も減るので、従属データ処理タスク221の負荷が低減される。従って、未処理の従属データの消失が回避される。
【0097】
呼処理タスク211が呼処理規制タスク232から規制緩和の通知を受けると、図14のステップ555を介してステップ651に戻るので、規制処理が解除される。規制処理を実行しないときには、ステップ661が実行される。ステップ661では、要求された全ての呼を受け付ける。
(第2の実施の形態)
この形態は、上記第1の実施の形態の変形例である。図11の処理の内容が図16の内容に変更された以外は、第1の実施の形態と同一である。この形態は、請求項6及び請求項7に対応する。
【0098】
図16を参照し、変更された部分を説明する。なお、図16において図11と同一の処理は同一のステップ番号で示されている。
図11と同様に、この処理では、ステップ602,603,607においてCPU使用率CPUUsgと閾値ABFUsg0,CPUUsg0とを比較して、4種類の状態を識別する。
【0099】
CPU使用率CPUUsgが閾値ABFUsg0より大きく、且つ閾値CPUUsg0よりも大きい場合には、ステップ604で従属データ処理タスク221に関する受付可能呼数RV2を算出する。この後で、ステップ610を実行する。
ステップ610では、従属データ処理タスク221に関する受付可能呼数RV2に重み係数K2をかけた結果と呼処理タスク211に関する受付可能呼数NL_CPUとを比較する。
【0100】
ステップ610の条件を満たす(NL_CPU>RV2・K2)場合には、ステップ611に進み、呼処理タスク211に関する受付可能呼数NL_CPUを最終的な受付可能呼数RVに決定する。ステップ610の条件を満たさない場合には、ステップ612に進み、従属データ処理タスク221に関する受付可能呼数RV2に重み係数K2をかけた結果を最終的な受付可能呼数RVに決定する。
【0101】
上記第1の実施の形態及び第2の実施の形態においては、一例として、ディジタル交換機の制御装置に本発明を適用する場合について説明した。本発明は、同様に第1の処理の実行に伴って生成される従属データに対して第2の処理を実行するマルチタスクシステムであれば、ディジタル交換機だけでなく様々なシステムに適用しうる。
【0102】
また、上記第1の実施の形態及び第2の実施の形態においては、ソフトウェアの実行によって輻輳制御を実現しているが、同様の機能をハードウェアに置き換えることも可能である。
更に、上記第1の実施の形態及び第2の実施の形態で示した制御の詳細については、必要に応じて変更しても良い。
【0103】
【発明の効果】
請求項1のマルチタスクシステムの輻輳制御装置によれば、第2の処理13の実行頻度が低下してその処理能力が減少すると、第2の処理13によって処理すべき従属データ12の発生が抑制されるので、未処理の従属データ12の消失防止に役立つ。
【0104】
請求項2のマルチタスクシステムの輻輳制御装置によれば、従属負荷検出手段15が第2の処理13に関する負荷の大きさを優先度の区分に応じて複数検出するので、優先度に応じた輻輳制御が可能である。
請求項3のマルチタスクシステムの輻輳制御装置によれば、複数組のパラメータ14が用意されているので、優先度が異なる複数の従属データ12の負荷の大きさを、それぞれに適した条件で求めることができる。
【0105】
請求項4のマルチタスクシステムの輻輳制御装置によれば、従属データ12に関するメモリ使用率を監視するので、第2の処理13の実行の遅れ、すなわち第2の処理13に関する負荷の大きさを検出することができる。
請求項5のマルチタスクシステムの輻輳制御装置によれば、第1の処理11に関する負荷の大きさと、第2の処理13に関する負荷の大きさとに基づいて前記第1の処理11を規制するので、第1の処理11の負荷が急激に増大する場合であっても、輻輳状態の検出の遅れが生じにくい。
【0106】
請求項6のマルチタスクシステムの輻輳制御装置によれば、第1の処理11の負荷と第2の処理13の負荷の何れかが増大すると、第1の処理11が規制されるので輻輳制御の遅れが生じにくい。
請求項7のマルチタスクシステムの輻輳制御装置によれば、第1の処理11及び第2の処理13の特性や重要度などを考慮した上で両者を比較することができる。
【0107】
請求項8のマルチタスクシステムの輻輳制御装置によれば、第1の処理11の負荷と第2の処理13の負荷の少なくとも一方が増大すれば、第1の処理11が規制されるので輻輳制御の遅れが生じにくい。
請求項9のマルチタスクシステムの輻輳制御装置によれば、第1の処理11及び第2の処理13の特性や重要度などを考慮した上で、第1の処理11の規制を制御できる。
【0108】
請求項10のマルチタスクシステムの輻輳制御装置によれば、優先度の比較的高い従属データ12に対する第2の処理13の負荷が増大した場合でも、優先度の比較的低い従属データ12に対する第2の処理13の負荷が増大した場合でも、第1の処理11を規制することができる。
請求項11のマルチタスクシステムの輻輳制御装置によれば、急激な負荷の変動に対する輻輳制御の応答性や、一時的な負荷の変動に対する応答性を調整できる。
【0109】
請求項12のマルチタスクシステムの輻輳制御装置によれば、輻輳状態の検出によって第1の処理11の規制が発動された後、第2の処理13に関する負荷が減少すると、第1の処理11の規制が自動的に解除もしくは緩和される。
【図面の簡単な説明】
【図1】本発明の請求項1〜請求項12の構成に対応する機能ブロック図である。
【図2】マルチタょスクシステムの輻輳制御装置を備えるディジタル交換機のハードウェアの構成例を示すブロック図である。
【図3】図2のシステム制御部100で実行されるソフトウェアの主要部の構成を示すブロック図である。
【図4】従属データ処理タスク221の課金データ生成シーケンスを示すフローチャートである。
【図5】従属データ処理タスク221が生成する優先度の大きい課金データの構成を示すマップである。
【図6】従属データ処理タスク221が生成する優先度の小さい課金データの構成を示すマップである。
【図7】図3の輻輳制御系200により実現される輻輳制御の制御シーケンスの一部分を示すフローチャートである。
【図8】図3の輻輳制御系200により実現される輻輳制御の制御シーケンスの一部分を示すフローチャートである。
【図9】図7のステップ411の処理の内容を示すフローチャートである。
【図10】図8のステップ425の処理の内容を示すフローチャートである。
【図11】第1の実施の形態における、図7のステップ430の処理の内容を示すフローチャートである。
【図12】図7のステップ431の処理の内容を示すフローチャートである。
【図13】図12の処理によって実現する規制レベルの状態遷移を示すフローチャートである。
【図14】図8のステップ435の処理の内容を示すフローチャートである。
【図15】図8のステップ435の処理で参照される呼規制ビットマップの構成例を示すマップである。
【図16】第2の実施の形態における受付可能呼数決定処理の内容を示すフローチャートである。
【符号の説明】
100 システム制御部
101 プロセッサ
102 メインメモリ
103 システムバス制御部
104 SCSIインタフェース
105 LANインタフェース
106 プロセッサバス
110 回線インタフェース部
111 データ通信回線
120 セルスイッチ部
130 シグナリング/クロック部
140 ハードディスク
150 保守運用端末装置
160 システムバス
200 輻輳制御系
201 オペレーティングシステム
202 メモリ管理タスク
203 従属データ
211 呼処理タスク
212 呼処理リソース監視タスク
213 一次規制値算出タスク
221 従属データ処理タスク
222 従属データリソース監視タスク
223 二次規制値算出タスク
231 規制値識別タスク
232 呼処理規制タスク
Claims (12)
- 互いに独立した複数の処理を並列的に実行するとともに、特定の第1の処理の実行に伴って生成される従属データに対して、前記第1の処理より優先度が低い第2の処理をタスク管理に基づいて実行するマルチタスクシステムの輻輳制御装置において、
処理の優先度の情報を有する前記従属データの状態に基づいて、前記第2の処理に関する負荷の大きさを検出する従属負荷検出手段と、
前記従属負荷検出手段が検出した第2の処理に関する負荷の大きさに基づいて、前記第1の処理を規制する従属負荷規制手段と
を設けたことを特徴とするマルチタスクシステムの輻輳制御装置。 - 請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属データとして処理の優先度が互いに異なる複数種類のデータが存在する場合に、前記従属負荷検出手段が、第2の処理に関する負荷の大きさを、優先度の区分に応じて複数検出することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項2記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷検出手段が、処理対象の従属データの優先度の区分に応じて、予め用意された複数組のパラメータの中から1組のパラメータを選択し、選択された前記パラメータに基づいて第2の処理に関する負荷の大きさを識別することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷検出手段が、前記従属データの未処理の情報量と、前記従属データに割り当てられた記憶領域の大きさとに基づいて第2の処理に関する負荷の大きさを検出することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項1記載のマルチタスクシステムの輻輳制御装置において、
前記第1の処理の実行に伴って変化するシステム資源の利用状況に基づいて、第1の処理に関する負荷の大きさを検出する一次負荷検出手段を更に設け、
前記従属負荷規制手段が、前記一次負荷検出手段の検出した第1の処理に関する負荷の大きさと、前記従属負荷検出手段の検出した第2の処理に関する負荷の大きさとに基づいて前記第1の処理を規制する
ことを特徴とするマルチタスクシステムの輻輳制御装置。 - 請求項5記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段が、前記第1の処理に関する負荷の大きさと、第2の処理に関する負荷の大きさとを比較して、何れか大きい方に基づいて前記第1の処理を規制することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項6記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段が、前記第1の処理に関する負荷の大きさと、第2の処理に関する負荷の大きさとの少なくとも一方を重み付け補正し、重み付け補正後の第1の処理に関する負荷の大きさと、第2の処理に関する負荷の大きさとを比較して、何れか大きい方に基づいて前記第1の処理を規制することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項5記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段が、前記第1の処理に関する負荷の大きさと、第2の処理に関する負荷の大きさとを平均化した結果に基づいて前記第1の処理を規制することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項8記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段が、前記第1の処理に関する負荷の大きさと、第2の処理に関する負荷の大きさとの少なくとも一方を重み付け補正して、重み付け補正後の第1の処理に関する負荷の大きさと、第2の処理に関する負荷の大きさとを平均化した結果に基づいて前記第1の処理を規制することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項5記載のマルチタスクシステムの輻輳制御装置において、処理の優先度が互いに異なる複数種類の従属データが存在する場合に、前記従属負荷規制手段が、第2の処理に関する複数区分の負荷の大きさを平均化して、平均化された第2の処理の負荷の大きさと、前記第1の処理に関する負荷の大きさとに基づいて前記第1の処理を規制することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷検出手段が、前記第2の処理に関する負荷の大きさを周期的に検出するとともに、検出された負荷の大きさの変化量と予め定めた閾値との比較結果に応じて、検出された第2の処理に関する負荷の大きさを補正することを特徴とするマルチタスクシステムの輻輳制御装置。
- 請求項1記載のマルチタスクシステムの輻輳制御装置において、前記従属負荷規制手段が、前記従属負荷検出手段が検出した第2の処理に関する負荷の大きさが予め定めた下限閾値より小さい場合には、前記第1の処理の規制を解除もしくは緩和することを特徴とするマルチタスクシステムの輻輳制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05377498A JP3888762B2 (ja) | 1998-03-05 | 1998-03-05 | マルチタスクシステムの輻輳制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05377498A JP3888762B2 (ja) | 1998-03-05 | 1998-03-05 | マルチタスクシステムの輻輳制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11249914A JPH11249914A (ja) | 1999-09-17 |
JP3888762B2 true JP3888762B2 (ja) | 2007-03-07 |
Family
ID=12952175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05377498A Expired - Fee Related JP3888762B2 (ja) | 1998-03-05 | 1998-03-05 | マルチタスクシステムの輻輳制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3888762B2 (ja) |
-
1998
- 1998-03-05 JP JP05377498A patent/JP3888762B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11249914A (ja) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0991253B1 (en) | Predictive overload control for SPC switching systems | |
US6687257B1 (en) | Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing | |
US7809876B2 (en) | Distributed real-time operating system | |
EP0822494B1 (en) | Load balancing method and apparatus | |
JP2940450B2 (ja) | クラスタ型コンピュータのジョブスケジュール方法及び装置 | |
US7636310B2 (en) | Communication control system and communication control method | |
US6134216A (en) | Integrated overload control for overload control for distributed real time systems | |
US20080071947A1 (en) | Method of balancing I/O device interrupt service loading in a computer system | |
JPH0964987A (ja) | 信号局輻輳制御システム | |
KR970002740B1 (ko) | 계층 구조를 갖는 분산 교환 시스템의 상위 프로세서 과부하 제어 방법 | |
JPS594398A (ja) | 中央制御装置の過負荷防止方法および装置 | |
EP0913771B1 (en) | Autonomous overload control for distributed real time systems | |
KR960016662B1 (ko) | 집중과 분산 운용의 혼성 교환기 시스템에서의 과부하 제어 방법 | |
US8171484B2 (en) | Resource management apparatus and radio network controller | |
JP3888762B2 (ja) | マルチタスクシステムの輻輳制御装置 | |
CN115470006B (zh) | 一种基于微内核的负载均衡方法 | |
US7353366B2 (en) | Processing device | |
JPH10190730A (ja) | トラフィック制御方法および装置 | |
RU2802911C1 (ru) | Способ балансировки трафика в узле коммутации транспортной сети связи | |
JP3995972B2 (ja) | 輻輳制御方法、及びトラヒックコントロールシステム | |
JP3166118B2 (ja) | サービス制御ノードにおける自律輻輳制御方法 | |
JP3601426B2 (ja) | 輻輳制御システムと輻輳制御方法およびその処理プログラムを記録した記録媒体 | |
JPH07297913A (ja) | 呼種別受け付け呼数決定方法 | |
JP2938630B2 (ja) | 複数の処理方法を有するシステムにおける負荷制御方式 | |
JP3225585B2 (ja) | 構内自動交換機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060711 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060911 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061004 |
|
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: 20061121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061128 |
|
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: 20091208 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131208 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |