JP2004118334A - Failure restoring method - Google Patents
Failure restoring method Download PDFInfo
- Publication number
- JP2004118334A JP2004118334A JP2002277787A JP2002277787A JP2004118334A JP 2004118334 A JP2004118334 A JP 2004118334A JP 2002277787 A JP2002277787 A JP 2002277787A JP 2002277787 A JP2002277787 A JP 2002277787A JP 2004118334 A JP2004118334 A JP 2004118334A
- Authority
- JP
- Japan
- Prior art keywords
- task
- priority
- failure
- recovery
- maintenance monitoring
- 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
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、障害復旧方法に係り、特に障害復旧タスクの優先度を制御することにより、障害が発生したときに確実に効率よく復旧できる障害復旧方法に関する。
【0002】
【従来の技術】
一般的にリアルタイム・マルチタスクシステムでは、アプリケーションを独立して並列に処理可能な単位に分割して作成し、この分割したプログラムをタスクと呼ぶ。
タスクは、生成時に、タスクの識別情報(タスクID)や属性、起動アドレス、タスク起動時優先度、タスク名称などがタスク生成情報として指定される。
【0003】
ここで、タスク起動時優先度は、タスク起動時の実行順序を決めるための値であり、通常1〜予め定められている最大タスク優先度(例えば255)の範囲の値を使用し、優先度0は特別で、コンピュータシステムにおいて、中核的な存在として機能するトッププロセスであるカーネルだけがこの優先度を使用する。カーネルは、メモリ管理やタスク管理など、OSの基本機能を実現する部分を意味する。
【0004】
尚、タスク優先度は、値が小さいほど優先順位が高く、複数のタスクに同じ優先度を指定することもできる。
そして、タスク起動時優先度は、システムコールを用いることによって、タスク生成後に変更することができる。
【0005】
任意のタスクが実行可能状態になると、システムコールを介してカーネルに実行要求などを行い、カーネルは、タスクのスケジューリングの処理を行う。
具体的には、現在CPUで実行中のタスクがない場合には、当該タスクを実行状態とする。
【0006】
また、カーネルは、実行要求のシステムコールを受け取ったときにCPUが実行中の場合には、実行要求してきたタスクに設定されている優先度に基づき、優先度毎に設けられているレディーキューと呼ばれるCPU割付待ち行列に当該タスクを入れ、実行順番を待たせることになる。
【0007】
そして、カーネルが、CPUで実行中のタスクが終了すると、優先度毎に設けられたレディーキューをチェックし、優先度の高いキューで実行待ちをしているタスクから順に選択してCPUを割り付け、実行状態にするようになっている。
【0008】
上記説明した優先順位付きのスケジュールリングを行うマルチタスク構成のシステムにおいて、異常や障害発生時の障害復旧方法としては、障害報告及び復旧処理を行う専用のタスク(保守監視タスク3′)を備え、障害発生タスク1′からの障害発生通知や監視による障害検知によって、復旧処理を行うようになっていた。
【0009】
この時、障害発生タスク1′或いは他の処理を行うタスク(他タスク2)が、障害報告及び復旧処理を行う保守監視タスク3′より優先順位が高いと、タスクのプリエンプションが行えず、適切な障害報告及び復旧処理が行えない場合があった。
【0010】
具体例を挙げて図3を用いて説明する。図3は、従来のリアルタイム・マルチタスクシステムにおける障害発生時の状況を示す説明図である。
まず、異常や障害が発生したタスク(障害発生タスク1′)と障害報告及び復旧処理を行うタスク(保守監視タスク3′)の二つの関係のみで説明すると、優先順位の関係が、障害発生タスク1′<保守監視タスク3′であれば、障害発生タスク3′が障害発生を通知するために保守監視タスク3′に障害報告を行い、当該障害報告を受けて保守監視タスク3′が動作し、即座に復旧処理を行うことができる。
【0011】
しかし、優先順位の関係が、障害発生タスク1′>保守監視タスク3′の場合、又は障害発生タスク1′=保守監視タスク3′の場合には、図3(a)に示すように、障害発生タスク1′から障害報告を受けても、優先順位の高い障害発生タスク1′が動作中であるから、タスクのプリエンプションが行われず、保守監視タスク3′が実行状態に移れず復旧処理ができない場合がある。
【0012】
次に、保守監視タスク3′と他の処理を行うタスク(他タスク2′)の二つの関係のみで説明すると、優先順位の関係が、他タスク2′<保守監視タスク3′であれば、障害発生タスクが保守監視タスク3′に障害報告を行い、最も優先順位の高い保守監視タスク3′が当該障害報告を受けて動作し、即座に復旧処理を行うことができる。
【0013】
しかし、優先順位の関係が、他タスク2′>保守監視タスク3′、又は他タスク2′=保守監視タスク3′の場合には、図3(b)に示すように、障害発生タスクから障害報告を受けても、優先順位の高い他タスク2′が動作中であるから、タスクのプリエンプションが行われず、保守監視タスク3′が実行状態に移れず復旧処理ができない場合がある。
【0014】
上記具体例のように、保守監視タスク3′は、障害発生タスク1′或いは他タスク2′より優先順位が高くない場合に、タスクのプリエンプションが行えず、適切な障害報告及び復旧処理が行えないことになる。つまり、保守監視タスク3′は、障害発生タスク1′或いは他タスク2′より優先順位を高くする必要がある。
【0015】
尚、タスクの優先順位を制御する従来技術としては、平成5年3月5日公開の特開平5−53836号「タスク実行優先順自動決定方法」(出願人:株式会社安川電機、発明者:中村 彰雄)がある。
この従来技術は、システムが実行優先順位変更可能なタスクに起動がかかる度に、その動作待ち時間と起動周期をサンプリングし、ある変更可能なタスクに関して起動周期が予め設定した設定値を超えた場合に、サンプリングデータの平均値から現在の実行優先順位が不適当であると判断された場合には、そのタスクの実行優先順位をパソコンメーカサーバ1ランク上げる処理を各タスクに関して繰り返すタスク実行優先順自動決定方法であり、これにより、ユーザに負担をかけずに、システム側で自動的にタスクを実行する優先順位を自動決定して、最適化することができるものである(特許文献1参照)。
【0016】
【特許文献1】
特開平5−53836号公報(第2−3頁)
【0017】
【発明が解決しようとする課題】
しかしながら、従来の障害復旧方法では、保守監視タスクの優先順位が障害発生タスクや他のタスクより低い場合に、障害復旧タスクが実行状態に移れず復旧処理ができないという問題点があった。
【0018】
また、リアルタイム処理を必要とするシステムおいて、確実に復旧処理を行うために常時保守監視タスクを最優先順位にする事はシステムスループットの低下を招くことを意味し、通常処理に影響を与える恐れがあるという問題点があった。
【0019】
本発明は上記実情に鑑みて為されたもので、システムとしての効率を低下することなく、確実に障害復旧できる障害復旧方法を提供することを目的とする。
【0020】
【課題を解決するための手段】
上記従来例の問題点を解決するための本発明は、障害復旧方法において、システム運用上の重要度に応じて優先度が与えられた複数のタスクが処理され、システムの状況に応じてタスクの優先度を変更可能なリアルタイム・マルチタスクシステムの障害復旧方法であって、
障害の発生したタスクが障害の度合いに応じて復旧タスクの優先度を上げる通知をシステムに発行するか、或いは保守監視タスクが任意のタスクにおける障害を検知し、障害が検知されたタスクの優先度よりも上位に復旧タスクの優先度を上げる通知をシステムに発行する第1のステップと、
通知を受けたシステムが、復旧タスクの優先度を通知に従って変更する第2のステップと、
変更された優先度で復旧タスクが障害復旧を行う第3のステップとを備え、
変更される復旧タスクの優先度が専用に予約されていることを特徴としており、システムとしての効率を低下することなく、確実に障害復旧できる。
【0021】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。
本発明の障害復旧方法は、第1のステップとして、障害の発生したタスクが障害の度合いに応じて復旧タスクの優先度を上げる通知をシステムに発行するか、或いは保守監視タスクが任意のタスクにおける障害を検知し、障害が検知されたタスクの優先度よりも上位に復旧タスクの優先度を上げる通知をシステムに発行し、第2のステップとして、通知を受けたシステムが、復旧タスクの優先度を通知に従って変更し、第3のステップとして変更された優先度で復旧タスクが障害復旧を行い、変更される復旧タスクの優先度が専用に予約されているものなので、システムとしての効率を低下することなく、確実に障害復旧できるものである。
【0022】
本発明の実施の形態に係る障害復旧方法について図1を用いて説明する。図1は、本発明の実施の形態に係る障害復旧方法の様子を示す説明図である。尚、図3と同様の構成をとる部分については同一の符号を付して説明する。
優先順位付きのスケジュールリングを行うマルチタスク構成のシステムにおいて、従来と同様に、障害が発生した障害発生タスク1と、他タスク2と、障害報告及び復旧処理を行う専用のタスク(保守監視タスク3)を備え、メモリ管理やタスク管理など、OSの基本機能を実現するシステムのカーネル4が各タスクからのシステムコールを受け付けるようになっている。
尚、図1においては、カーネル4とユーザタスクとのやり取りを解りやすくするために、□で示したユーザタスクの右側にカーネル4を示したが、ユーザタスクに関しては優先順位(優先度)の高低を意識した位置に示されており、カーネル4に関しては、優先順位(優先度)の高低は意識されていない。
【0023】
通常保守監視タスク3は、装置内の保守監視を行っており、リアルタイムに処理が必要でないタスクであるから、優先順位の低い優先度が設定されていると考えて良い。
そして、本発明の実施の形態に係る障害復旧方法では、例えば、あるタスク(障害発生タスク1)で障害が発生すると、当該障害発生タスク1がその障害の度合いを判断して、保守監視タスク3の優先度を障害の度合いに見合った優先度に設定変更することを要求する通知(設定変更要求)をシステムコールとしてカーネル4に出力する。
【0024】
尚、障害の種類や度合いは各タスクによって異なるが、最終的に保守監視タスク3の優先度を設定変更するレベルに対応するように、予め各タスクにおいて障害と変更レベルとを対応付けておいて、障害が発生した時に、発生した障害に対応する変更レベルで設定変更要求を出力するような機能をプログラムにより実現しておく。
【0025】
例えば、システムダウン並みの障害発生時には、保守監視タスク3の優先度を最高のレベルへ上げるよう要求し、障害報告及び復旧を最優先にしてもらう制御を要求する。
また、機能縮小を引き起こす障害発生時は、保守監視タスク3の優先度を残ったシステムのパフォーマンスの劣化を引き起こさない程度のレベルへ上げるよう要求し、障害報告及び復旧と、通常の処理を並列して行う制御を要求することになる。
【0026】
すると、カーネル4は、障害発生タスク1からの設定変更要求に従い、保守監視タスク3の優先度を上げるように変更し、優先度の上がった保守監視タスク3が実行状態となって障害の報告、或いは障害の復旧処理を行うようになっている。
【0027】
ここでいう障害の報告とは、異なる装置(例えば上位装置、配下装置、外部端末)への通知、或いは同一装置内のメモリへの障害ログなどの書込み全てを対象とする。
また、障害の復旧処理とは、大きくシステムの面からだと、コールスタンバイ、ホットスタンバイ装置への切替、ミラーサイトへの切替、デバイスの面からだと、初期化処理の再設定等が考えられる。
【0028】
また、障害発生タスク1で発生した障害が重大である場合、又は障害発生タスク1に上記機能が実現されていない場合などは、上記のように障害発生時に障害発生タスク1がカーネル4に対して、保守監視タスク3の優先度変更を要求する通知(設定変更要求)を出力できるとは限らないので、通常低い優先度でシステム内の障害発生を監視している保守監視タスク3が、障害発生タスク1における障害発生を検知すると、その障害発生タスク1の優先度に応じて、その優先度よりも高い(上位の)優先度に保守監視タスク3の優先度を設定変更するよう要求する通知(設定変更要求)をカーネル4に出力する。
【0029】
すると、カーネル4は、保守監視タスク3からの設定変更要求に従い、保守監視タスク3の優先度を上げるように変更し、優先度の上がった保守監視タスク3が実行状態となって復旧処理を行うようになっている。
【0030】
尚、保守監視タスク3は、動作中のタスクに関するタスクID、タスク優先度、タスク名称等のタスク情報を、監視を行う上で必要なプロセスリストとして保持しており、障害発生タスク1における障害発生を検知すると、プロセスリストからその障害発生タスク1の優先度を取得し、取得した優先度に応じて、その優先度よりも高い(上位の)優先度に保守監視タスク3の優先度を設定変更するように要求する。プロセスリストの内容は、各タスクのタスク情報を参照するようなシステムコールを定期的に全タスクに対して行い情報収集する例などがある。
【0031】
ここで、タスクの優先度について図2を使って具体例で説明する。図2は、本発明の障害復旧方法で用いるタスク優先度の具体例を示す説明図である。
タスクの優先度が、図2に示すように、例えば0〜255まであるとすると、優先度0は、通常トッププロセスであるシステムのカーネルだけが使用できる優先度であり、それに続く上位の優先度(図2中のグループ1)は、システム系の必須タスクが使用する優先度である。
【0032】
そして、システム系で使用する上位の優先度に対して、それ以外の優先度に複数のグループを設け、ユーザアプリケーションを構成するユーザタスクで使用できるようにしている。
図2の例では、ユーザタスクが使用する優先度に3つのグループを設け、その中で上位の方の優先度(図2中のグループ2)は、各ユーザアプリケーションを構成するタスクの中で、リアルタイム処理が要求されるデーモンと呼ばれるタスクなどが使用できる優先度とする。
なお、デーモンと呼ばれるタスクは、バックグラウンドで常駐して外部(携帯端末、上位装置など)からの要求(割り込み)に対して、常に応答できる状態にしておき、要求を受信すると、それを処理するタスクを起動して処理させるようにし、また要求待ちに入るようになっているタスクである。
【0033】
そして、下位の優先度(図2中のグループ4)は、各ユーザアプリケーションを構成するタスクの中で、リアルタイムに処理が必要でないタスク(図2では、アプリと記載)などが使用できる優先度とし、中位の優先度(図2中のグループ3)は、各ユーザアプリケーションを構成するタスクの中で、グループ2のタスクよりはリアルタイムに処理が必要でないが、グループ4のタスクよりはリアルタイムに処理が必要なタスク(図2では、アプリと記載)が使用できる優先度とする。
つまり、グループ3,4のタスク(アプリ)は、グループ2のデーモンが受けた要求を処理するタスクや要求毎に個別に起動されるタスク等である。
尚、通常保守監視タスク3は、装置内の保守監視を行っており、リアルタイムに処理が必要でないタスクであるから、グループ3又はグループ4に属する優先度が設定されていると考えて良い。
【0034】
そして、本発明の特徴部分として、上記のように優先度の複数のグループを設けたその間に、障害発生時に保守監視タスク3の優先度を変更するために専用に予約された優先度を確保し、それぞれが障害の度合いに対応付けられるようになっている。
【0035】
図2の具体例で説明すると、グループ1とグループ2の間の優先度10は、致命的な障害が発生したときの保守監視タスク3(復旧タスク)用とし、グループ2とグループ3の間の優先度20は、重大な障害が発生したときの保守監視タスク3(復旧タスク)用とし、グループ3とグループ4の間の優先度30は、機能低下程度の障害が発生したときの保守監視タスク3(復旧タスク)用としている。
即ち障害の度合いを3段階に切り分けるものとし、発生した障害の度合いに応じて、保守監視タスク3(復旧タスク)の優先度を、優先度10又は20又は30に変更することになる。
【0036】
次に、本発明の障害復旧方法の具体的動作について図1を使って説明する。
システム内の優先度が図2のように4つにグループ分けされており、ユーザタスクがその内3グループであるとして、図1のように3段階でグループ化された優先度を使用するユーザタスクがあるものとする。
【0037】
保守監視タスク3は、通常動作として装置内の保守監視を行っているので、低位のグループ(優先度31以上)の優先度が設定されて、カーネル4のタスク制御の元で動作している。
そして保守監視タスク3以外に、各グループの優先度が設定された多数のユーザタスクが、カーネル4のタスク制御の元で実行可能状態又は実行状態となって動作している。
【0038】
そして、例えば中位の優先度グループ(優先度21〜29)で動作していたタスク(障害発生タスク1)で障害が発生し、その障害の度合いから、例えば、保守監視タスク3の優先度を重大な障害時の復旧タスク用である優先度20に設定変更するよう要求する通知(設定変更要求)がカーネルに出力されると、カーネル4は、保守監視タスク3の優先度を優先度20に設定変更し、更に上位の優先度のタスクがなくなったときには、復旧動作を行えるように制御する。
【0039】
また、障害発生タスク1で発生した障害の度合いが重く、保守監視タスク3の優先度を致命的な障害時の復旧タスク用である優先度30に設定変更するよう要求する通知(設定変更要求)がカーネルに出力されると、カーネル4は、保守監視タスク3の優先度を優先度30に設定変更し、ユーザタスクの中では最優先で復旧動作を行えるように制御する。
【0040】
また、障害発生タスク1で重大な障害が発生し、カーネル4に設定変更要求の通知が出力できないような状態である場合、又はその機能を有していないような場合には、保守監視タスク3が通常の監視を行う中で、障害発生タスク1での障害発生を検知し、障害発生タスク1の優先度が21〜29の中位であるから、それよりも上位の優先度20,又は優先度30に設定変更するよう要求する通知(設定変更要求)がカーネルに出力されると、カーネル4は、保守監視タスク3の優先度を優先度20,又は30に設定変更し、復旧動作を行えるように制御する。
【0041】
尚、上記説明では、障害発生タスク1がカーネル4に対して、保守監視タスク3の優先度を障害の度合いに見合った優先度に設定変更することを要求する通知(設定変更要求)を出力するように説明したが、障害発生タスク1が保守監視タスク3へ障害の通知を行い、
保守監視タスク3から優先度のレベルを上げる要求をカーネル4に出力するようにしてもかまわない。
【0042】
尚、上記説明では、保守監視タスク3自身が障害復旧を行う場合で説明したが、障害復旧処理を行うタスク(復旧タスクと呼ぶ)を別に設けて、この復旧タスクの優先度を要求に応じて変更する、或いは、要求された優先度で復旧タスクを起動するようにしても良い。
【0043】
また、上記説明では、各タスク内には、障害発生時にカーネル4に対して保守監視タスク3の優先度を障害の度合いに見合った優先度に設定変更することを要求する通知(設定変更要求)を出力する機能のみを実現するように記載したが、各タスク内に障害報告、或いは障害復旧処理を行う機能を設け、障害の度合いに応じて自タスクの優先度を上位に上げるように要求するようにしても良い。
【0044】
ここでいう障害報告とは、同一装置内の保守監視タスク3へ通知、当該タスクで関連する異なる装置(例えば上位装置、配下装置、外部端末)への通知、或いは同一装置内のメモリへのアプリケーションログ等の書込みを対象とする。
また障害復旧処理とは、当該タスク又はアプリケーションがダイナミックに確保しているメモリ等の解放や使用中の媒体の解放などであり、当該タスクに関連する範囲の復旧である。
【0045】
本発明の実施の形態の障害復旧方法によれば、障害の発生した障害発生タスク1が、障害の度合いに応じて障害復旧を行う障害復旧タスク3の優先度を上げる通知をシステムのカーネル4に発行し、通知を受けたシステムのカーネル4が、障害復旧タスク3の優先度を通知に従って変更し、障害復旧タスク3が変更された優先度で動作して障害復旧を行うので、異常や障害発生時に、障害の度合いに応じた優先度で、障害発生タスク1や他のユーザタスクの動作処理に依存せずに、障害復旧タスク3が起動されて、障害報告及び復旧処理を行うことができ、効率よく復旧処理を行うことができる効果がある。
【0046】
また、本発明の実施の形態の障害復旧方法によれば、障害発生タスク1で障害が発生した場合に、保守監視タスク3が障害の発生を検知し、障害が検知された障害発生タスク1の優先度よりも上位に復旧タスクの優先度を上げる通知をシステムのカーネル4に発行し、通知を受けたシステムのカーネル4が、障害復旧タスク3の優先度を通知に従って変更し、障害復旧タスク3が変更された優先度で動作して障害復旧を行うので、異常や障害発生時に、障害発生タスク1が通知を出せなくても、保守監視タスク3の動作によって、障害が発生したタスクの優先度に応じた優先度で、障害発生タスク1や他のユーザタスクの動作処理に依存せずに保守監視タスク3が起動されて、障害報告及び復旧処理を行うことができ、効率よく復旧処理を行うことができる効果がある。
【0047】
また、本発明の実施の形態の障害復旧方法によれば、障害が発生した場合に、保守監視タスク3の優先度を上げる変更先の優先度が、予め専用に予約されているので、変更先の優先度の処理時間を他のタスクが占有していることがなく、優先度が変更されたら当該優先度においては、邪魔されることなく確実に実行状態になって障害報告及び復旧処理を行うことができ、確実に効率よく復旧処理を行うことができる効果がある。
【0048】
また、本発明の実施の形態の障害復旧方法によれば、保守監視タスク3の代わりに障害復旧処理を専門に行う復旧タスクを別に設けて、この復旧タスクの優先度を要求に応じて変更する、或いは、要求された優先度で復旧タスクを起動しても良いので、より迅速に障害復旧を開始できる効果がある。
【0049】
また、本発明の実施の形態の障害復旧方法によれば、保守監視タスク3は、通常は低い優先度でシステム内の障害発生を監視しており、障害が発生すると、その障害の度合いに応じた優先度で障害の復旧を行うので、正常動作時は、他のタスクの動作を妨げることなく、異常時には、フルにCPUの性能を用いて障害復旧を行うので、システムとしての効率を低下することなく、確実に効率よく障害復旧できる効果がある。
【0050】
また、本発明の実施の形態の障害復旧方法によれば、各タスク内に障害報告、或いは障害復旧処理を行うタスクを設け、障害の度合いに応じて自タスクの優先度を上位に上げるように要求し、高い優先度で、当該タスク内の障害復旧を行うことができるので、当該タスク内で閉じた障害についても、確実に効率よく復旧処理を行うことができる効果がある。するようにしても良い。
【0051】
【発明の効果】
本発明によれば、第1のステップとして、障害の発生したタスクが障害の度合いに応じて復旧タスクの優先度を上げる通知をシステムに発行するか、或いは保守監視タスクが任意のタスクにおける障害を検知し、障害が検知されたタスクの優先度よりも上位に復旧タスクの優先度を上げる通知をシステムに発行し、第2のステップとして、通知を受けたシステムが、復旧タスクの優先度を通知に従って変更し、第3のステップとして変更された優先度で復旧タスクが障害復旧を行い、変更される復旧タスクの優先度が専用に予約されている障害復旧方法としているので、システムとしての効率を低下することなく、確実に障害復旧できる効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る障害復旧方法の様子を示す説明図である。
【図2】本発明の障害復旧方法で用いるタスク優先度の具体例を示す説明図である。
【図3】従来のリアルタイム・マルチタスクシステムにおける障害発生時の状況を示す説明図である。
【符号の説明】
1、1′…障害発生タスク、 2…他タスク、 3、3′…保守監視タスク、
4…カーネル[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a failure recovery method, and more particularly to a failure recovery method capable of reliably and efficiently recovering from a failure by controlling the priority of the failure recovery task.
[0002]
[Prior art]
In general, in a real-time multitask system, an application is divided into units which can be processed independently and in parallel, and the divided programs are called tasks.
When a task is created, task identification information (task ID), attributes, activation addresses, task activation priorities, task names, and the like are specified as task generation information.
[0003]
Here, the task activation priority is a value for determining the execution order at the time of task activation, and usually uses a value in the range of 1 to a predetermined maximum task priority (for example, 255). 0 is special, and only the kernel, which is the top process acting as a core entity in a computer system, uses this priority. The kernel means a part that realizes basic functions of the OS, such as memory management and task management.
[0004]
The smaller the value of the task priority, the higher the priority, and the same priority can be designated to a plurality of tasks.
Then, the task activation priority can be changed after the task is created by using a system call.
[0005]
When an arbitrary task becomes ready for execution, the kernel issues an execution request to the kernel via a system call, and the kernel performs task scheduling processing.
Specifically, when there is no task currently being executed by the CPU, the task is set to the execution state.
[0006]
In addition, when the CPU is executing when the system call of the execution request is received, the kernel sets a ready queue provided for each priority based on the priority set for the task that requested the execution. The task is put in a called CPU allocation queue and the execution order is made to wait.
[0007]
When the task that is being executed by the CPU is completed, the kernel checks the ready queue provided for each priority, assigns the CPU by sequentially selecting tasks waiting to be executed in the queue with the highest priority, It is set to the execution state.
[0008]
In the system of the multitask configuration for performing the prioritized scheduling described above, as a failure recovery method when an abnormality or a failure occurs, a dedicated task (maintenance monitoring task 3 ') for performing a failure report and recovery processing is provided. A recovery process is performed by a failure occurrence notification from the failure occurrence task 1 'or a failure detection by monitoring.
[0009]
At this time, if the failure occurrence task 1 'or the task that performs other processing (the other task 2) has a higher priority than the maintenance monitoring task 3' that performs the failure report and recovery processing, the task cannot be preempted. In some cases, failure reporting and recovery processing could not be performed.
[0010]
A specific example will be described with reference to FIG. FIG. 3 is an explanatory diagram showing a situation when a failure occurs in a conventional real-time multitask system.
First, only the relationship between the task in which an error or a failure has occurred (failure task 1 ') and the task of performing a failure report and recovery process (maintenance monitoring task 3') will be described. If 1 '<maintenance monitoring task 3', the failure occurrence task 3 'reports a failure to the maintenance monitoring task 3' to notify the occurrence of the failure, and the maintenance monitoring task 3 'operates upon receiving the failure report. , The recovery process can be performed immediately.
[0011]
However, if the priority order is as follows: failure occurrence task 1 '> maintenance monitoring task 3', or failure occurrence task 1 '= maintenance monitoring task 3', as shown in FIG. Even if a failure report is received from the occurrence task 1 ', since the failure occurrence task 1' having a higher priority is in operation, the task is not preempted, and the maintenance monitoring task 3 'cannot move to the execution state and cannot perform recovery processing. There are cases.
[0012]
Next, only the relationship between the maintenance monitoring task 3 'and the task performing other processing (other task 2') will be described. If the relationship of the priority is other task 2 '<maintenance monitoring task 3', The fault occurrence task reports the fault to the maintenance monitoring task 3 ', and the maintenance monitoring task 3' having the highest priority operates upon receiving the fault report, and can immediately perform the recovery processing.
[0013]
However, when the priority order is other task 2 '> maintenance monitoring task 3' or other task 2 '= maintenance monitoring task 3', as shown in FIG. Even if a report is received, since the other task 2 'having a higher priority is in operation, the task may not be preempted, and the maintenance monitoring task 3' may not shift to the execution state and the recovery process may not be performed.
[0014]
As in the above specific example, when the priority of the
[0015]
As a prior art for controlling task priorities, Japanese Patent Application Laid-Open No. 5-53836, published on March 5, 1993, entitled "Automatic Determination of Task Execution Priority" (Applicant: Yaskawa Electric Corporation, Inventor: Akio Nakamura).
This conventional technique samples the operation waiting time and the activation cycle every time the system is activated by a task whose execution priority can be changed, and when the activation cycle exceeds a preset value for a certain modifiable task. If it is determined that the current execution priority is inappropriate from the average value of the sampling data, the task execution priority is automatically increased by repeating the process of raising the execution priority of the task by one rank on the personal computer maker server for each task. This is a determination method, which enables the system to automatically determine and optimize the priority of executing a task without burdening the user (see Patent Document 1).
[0016]
[Patent Document 1]
JP-A-5-53836 (pages 2-3)
[0017]
[Problems to be solved by the invention]
However, the conventional failure recovery method has a problem that when the priority of the maintenance monitoring task is lower than that of the failure occurrence task or other tasks, the failure recovery task cannot shift to the execution state and the recovery processing cannot be performed.
[0018]
Also, in a system that requires real-time processing, making the continuous monitoring task the highest priority to ensure recovery processing means lowering system throughput, which may affect normal processing. There was a problem that there is.
[0019]
The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a failure recovery method that can reliably recover from a failure without lowering the efficiency of the system.
[0020]
[Means for Solving the Problems]
The present invention for solving the problems of the above-mentioned conventional example provides a failure recovery method in which a plurality of tasks given priorities according to the importance of system operation are processed, and tasks are assigned according to the system status. A failure recovery method for a real-time multitasking system in which priority can be changed,
The failed task issues a notification to the system to raise the priority of the recovery task according to the degree of the failure, or the maintenance monitoring task detects a failure in any task and the priority of the task in which the failure was detected A first step of issuing a notification to the system to raise the priority of the recovery task to a higher level;
A second step in which the notified system changes the priority of the recovery task according to the notification;
A third step in which the recovery task performs the fault recovery with the changed priority;
The feature is that the priority of the recovery task to be changed is reserved for exclusive use, and the failure can be reliably recovered without lowering the efficiency of the system.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
An embodiment of the present invention will be described with reference to the drawings.
According to the failure recovery method of the present invention, as a first step, a notification is issued to the system in which the failed task raises the priority of the recovery task in accordance with the degree of the failure, or the maintenance monitoring task is performed in an arbitrary task. A failure is detected, and a notification that raises the priority of the recovery task to a higher priority than the priority of the task in which the failure is detected is issued to the system. As a second step, the system that has been notified receives the priority of the recovery task. Is changed according to the notification, and as a third step, the recovery task performs a fault recovery with the changed priority, and the priority of the changed recovery task is reserved for exclusive use, so that the efficiency of the system is reduced. It is possible to recover from a failure without any trouble.
[0022]
A failure recovery method according to an embodiment of the present invention will be described with reference to FIG. FIG. 1 is an explanatory diagram showing a state of a failure recovery method according to an embodiment of the present invention. Parts having the same configuration as in FIG. 3 are described with the same reference numerals.
In a multi-task configuration system that performs scheduling with priorities, similarly to the related art, a failed
In FIG. 1, the kernel 4 is shown on the right side of the user task indicated by □ in order to make it easy to understand the exchange between the kernel 4 and the user task, but the priority (priority) of the user task is high or low. The kernel 4 is not conscious of the level of the priority (priority).
[0023]
The normal
In the failure recovery method according to the embodiment of the present invention, for example, when a failure occurs in a certain task (failure task 1), the
[0024]
Note that the type and degree of a fault vary depending on each task, but a fault is associated with a change level in each task in advance so as to correspond to a level at which the priority of the
[0025]
For example, when a failure occurs at the same level as a system failure, a request is made to raise the priority of the
In addition, when a failure that causes a reduction in function occurs, a request is made to raise the priority of the
[0026]
Then, the kernel 4 changes the priority of the
[0027]
The fault report referred to here covers all notifications to different devices (for example, a higher-level device, a subordinate device, and an external terminal) or writing of a fault log or the like to a memory in the same device.
In addition, the failure recovery processing may include switching to a call standby or a hot standby apparatus, switching to a mirror site, and resetting an initialization processing from a device in terms of a system.
[0028]
In addition, when the failure occurred in the
[0029]
Then, in response to the setting change request from the
[0030]
The
[0031]
Here, the priority of the task will be described using a specific example with reference to FIG. FIG. 2 is an explanatory diagram showing a specific example of the task priority used in the failure recovery method of the present invention.
Assuming that the priority of a task is, for example, from 0 to 255 as shown in FIG. 2,
[0032]
Then, a plurality of groups are provided for other priorities with respect to the higher priorities used in the system system, so that the groups can be used in a user task constituting a user application.
In the example of FIG. 2, three groups are provided for the priority used by the user task, and the higher priority (
Note that a task called a daemon is resident in the background so that it can always respond to a request (interrupt) from the outside (a portable terminal, a higher-level device, etc.), and processes the request when it is received. The task is started and processed, and the task is set to wait for a request.
[0033]
The lower priority (group 4 in FIG. 2) is a priority at which a task that does not need to be processed in real time (described as an application in FIG. 2) among tasks constituting each user application can be used. , The middle priority (
That is, the tasks (applications) of the
It should be noted that the normal
[0034]
As a characteristic part of the present invention, a priority reserved exclusively for changing the priority of the
[0035]
2, the
That is, the degree of the failure is divided into three levels, and the priority of the maintenance monitoring task 3 (recovery task) is changed to the
[0036]
Next, a specific operation of the failure recovery method of the present invention will be described with reference to FIG.
Assuming that the priorities in the system are grouped into four groups as shown in FIG. 2 and the user tasks are three groups among them, the user tasks using the priorities grouped in three stages as shown in FIG. It is assumed that there is.
[0037]
Since the
In addition to the
[0038]
Then, for example, a fault occurs in the task (failure task 1) operating in the middle priority group (
[0039]
Further, a notification is issued to request that the priority of the
[0040]
Further, when a serious failure occurs in the
[0041]
In the above description, the
A request to increase the priority level from the
[0042]
In the above description, the case where the
[0043]
In the above description, each task includes a notification (a setting change request) requesting the kernel 4 to change the priority of the
[0044]
The failure report referred to here is a notification to the
The failure recovery processing is release of a memory or the like dynamically secured by the task or the application, release of a medium in use, and the like, and recovery of a range related to the task.
[0045]
According to the failure recovery method of the embodiment of the present invention, the failed
[0046]
Further, according to the failure recovery method of the embodiment of the present invention, when a failure occurs in the
[0047]
Further, according to the failure recovery method according to the embodiment of the present invention, when a failure occurs, the priority of the change destination for raising the priority of the
[0048]
Further, according to the failure recovery method of the embodiment of the present invention, a recovery task dedicated to failure recovery processing is separately provided instead of the
[0049]
Further, according to the failure recovery method of the embodiment of the present invention, the
[0050]
Further, according to the failure recovery method according to the embodiment of the present invention, a task for performing a failure report or a failure recovery process is provided in each task, and the priority of the own task is increased according to the degree of the failure. Since a failure can be requested and a high priority can be used to recover the fault in the task, there is an effect that even a fault closed in the task can be reliably and efficiently recovered. You may do it.
[0051]
【The invention's effect】
According to the present invention, as a first step, the failed task issues a notification for raising the priority of the recovery task to the system according to the degree of the failure, or the maintenance monitoring task detects the failure in any task. Detects and issues a notification to the system that raises the priority of the recovery task to a higher priority than the priority of the task where the failure was detected. As a second step, the notified system notifies the priority of the recovery task As a third step, the recovery task performs a failure recovery with the changed priority, and the priority of the changed recovery task is a dedicated recovery method. There is an effect that the failure can be surely recovered without lowering.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram showing a state of a failure recovery method according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram showing a specific example of task priorities used in the failure recovery method of the present invention.
FIG. 3 is an explanatory diagram showing a situation when a failure occurs in a conventional real-time multitask system.
[Explanation of symbols]
1, 1 '... fault occurrence task, 2 ... other task, 3, 3' ... maintenance monitoring task,
4 ... Kernel
Claims (1)
障害の発生したタスクが前記障害の度合いに応じて復旧タスクの優先度を上げる通知をシステムに発行するか、或いは保守監視タスクが任意のタスクにおける障害を検知し、前記障害が検知されたタスクの優先度よりも上位に復旧タスクの優先度を上げる通知をシステムに発行する第1のステップと、
前記通知を受けたシステムが、復旧タスクの優先度を通知に従って変更する第2のステップと、
前記変更された優先度で復旧タスクが障害復旧を行う第3のステップとを備え、
前記変更される復旧タスクの優先度が専用に予約されていることを特徴とするリアルタイム・マルチタスクシステムの障害復旧方法。A plurality of tasks given priority according to the importance of system operation are processed, a failure recovery method of a real-time multi-task system capable of changing the priority of the task according to the status of the system,
The failed task issues a notification to the system to raise the priority of the recovery task according to the degree of the failure, or the maintenance monitoring task detects a failure in any task, and A first step of issuing a notification to the system to raise the priority of the recovery task to a higher priority than the priority;
A second step in which the notified system changes the priority of the recovery task according to the notification;
A third step in which the recovery task performs fault recovery with the changed priority.
A failure recovery method for a real-time multitask system, wherein the priority of the recovery task to be changed is reserved exclusively.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002277787A JP2004118334A (en) | 2002-09-24 | 2002-09-24 | Failure restoring method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002277787A JP2004118334A (en) | 2002-09-24 | 2002-09-24 | Failure restoring method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004118334A true JP2004118334A (en) | 2004-04-15 |
Family
ID=32273283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002277787A Pending JP2004118334A (en) | 2002-09-24 | 2002-09-24 | Failure restoring method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004118334A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016147349A1 (en) * | 2015-03-18 | 2016-09-22 | 株式会社日立製作所 | Energy management system and method for executing business application |
CN114115025A (en) * | 2021-11-24 | 2022-03-01 | 国汽智控(北京)科技有限公司 | Fault information saving method, device and equipment based on automatic driving system |
-
2002
- 2002-09-24 JP JP2002277787A patent/JP2004118334A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016147349A1 (en) * | 2015-03-18 | 2016-09-22 | 株式会社日立製作所 | Energy management system and method for executing business application |
JPWO2016147349A1 (en) * | 2015-03-18 | 2017-07-20 | 株式会社日立製作所 | Energy management system and business application execution method |
CN114115025A (en) * | 2021-11-24 | 2022-03-01 | 国汽智控(北京)科技有限公司 | Fault information saving method, device and equipment based on automatic driving system |
CN114115025B (en) * | 2021-11-24 | 2024-05-28 | 国汽智控(北京)科技有限公司 | Method, device and equipment for storing fault information based on automatic driving system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5851503B2 (en) | Providing high availability for applications in highly available virtual machine environments | |
JP5642338B2 (en) | Job management program and job management method | |
JP3300776B2 (en) | Switching control method for parallel processors | |
WO2010001555A1 (en) | Execution order decision device, execution order decision program, execution order decision circuit, and information processing device | |
JPH08328880A (en) | Computer operation management system for operating system capable of simultaneous executing of plural application programs | |
JP2005209191A (en) | Remote enterprise management of high availability system | |
US8943191B2 (en) | Detection of an unresponsive application in a high availability system | |
JP2000293497A (en) | Generation system for cluster node relief signal | |
JP2008305070A (en) | Information processor and information processor system | |
CN111880906A (en) | Virtual machine high-availability management method, system and storage medium | |
US7925922B2 (en) | Failover method and system for a computer system having clustering configuration | |
JP4957765B2 (en) | Software program execution device, software program execution method, and program | |
CN101482829A (en) | Cluster system, processing equipment and its redundancy method | |
JP4761229B2 (en) | Operation management apparatus, operation management method and program | |
JP2004118334A (en) | Failure restoring method | |
JP4259390B2 (en) | Parallel processing unit | |
JPH05314075A (en) | On-line computer system | |
JP2004070582A (en) | Event notification task control processing system and method and its program | |
JP2004213122A (en) | Stable operation method of control system by client/server and program therefor | |
JP4567586B2 (en) | Processing equipment | |
JPH10207586A (en) | Power-off control system for computer | |
CN117544584B (en) | Control method, device, switch and medium based on double CPU architecture | |
JP3298837B2 (en) | Information processing system | |
JP2000148525A (en) | Method for reducing load of active system in service processor duplex system | |
JP2016224490A (en) | Redundant system |