JP7291107B2 - 電子計算機、再現試験方法及びプログラム - Google Patents
電子計算機、再現試験方法及びプログラム Download PDFInfo
- Publication number
- JP7291107B2 JP7291107B2 JP2020125140A JP2020125140A JP7291107B2 JP 7291107 B2 JP7291107 B2 JP 7291107B2 JP 2020125140 A JP2020125140 A JP 2020125140A JP 2020125140 A JP2020125140 A JP 2020125140A JP 7291107 B2 JP7291107 B2 JP 7291107B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- storage unit
- log information
- computer
- tasks
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
[電子計算機の全体構成]
まず、本発明の第1の実施形態に係る電子計算機の構成について図1を参照して説明する。
図1は、本発明の第1の実施形態に係る電子計算機の構成例を示すブロック図である。
タスク起動監視機構200(タスク起動監視部の一例)は、各タスクが実行を開始する時に、実行を開始するタスクの情報と、現在実行されているタスクの情報を、ログ情報(エントリポイントログ300)として記憶部120に格納する。図1では、複数のエントリポイントログ300(1)~300(k)が示されている。本明細書では、エントリポイントログ300(1)~300(k)を区別しない場合には、エントリポイントログ300と記載する。
以下、タスク起動監視機構200の動作について図2及び図3を参照して説明する。
図2は、タスク起動監視機構200の処理の手順例を示すフローチャートである。
図3は、エントリポイントログ300のデータ構造例を示す。
エントリポイント作成時間301には、時刻、クロックカウント、RTC(Real Time Clock)時間など、時系列が一意にわかる情報を使用する。
自起動タスク名称311は、起動したタスク(自起動タスク)の名称であり、引数などを含んだコマンドを示す。この自起動タスク名称311の情報により、自起動タスクが行う処理の内容がわかる。
自起動タスク状態312は、起動したタスクの状態コードを指し、動作中や停止、アイドル状態、スリープ状態などタスクの状態を示す。
他タスク番号321は、当該タスクのID等の識別子である。
他タスク名称322は、当該タスクの名称であり、引数などを含んだコマンドを示す。
他タスク状態323は、当該タスクの状態コードを指し、動作中や停止、アイドル状態、スリープ状態などタスクの状態を示す。
次に、タスク起動監視機構200の動作について図4を参照して具体的に説明する。
図4は、タスク起動監視機構200の動作の具体例を示す。図4の左側は電子計算機100におけるタスクの動作を表し、図4の右側は各タスク(IDで表示)のエントリポイントが作成された時間を表している。
横方向の実線は、各タスクの動作開始時点を示している。タスク起動監視機構200は、各タスクの開始時に、図2に示した手順でタスク1、タスク2、タスク3のエントリポイントログ300を作成する。
黒丸部は、上方に示した番号のIDに該当するタスクのエントリポイントログ300が作成されたことを示す。
破線部分は、障害が発生して電子計算機100が突然停止した時点を表す。図5の例では、障害発生後の時間5において、タスク3が再度起動している。また、時間5において、タスク2が動作中である。
図5に示したエントリポイントログ300は、図4の時間1~3に生成されたエントリポイントログを示す。タスク起動監視機構200は、時間3においてタスク2のエントリポイントログ300(3)を取得する。このとき、タスク起動監視機構200は、時間1におけるタスク1のエントリポイントログ300(1)、及び時間2におけるタスク3のエントリポイントログ300(2)を取得済みである。
エントリポイントログ300(2)は、時間2で取得したタスク3の自タスク情報格納テーブル310と、既に起動しているタスク1の他タスク情報格納テーブル320(1)を含む。すなわち、エントリポイントログ300(2)では、エントリポイント作成時間301が“時間2”、自タスク情報格納テーブル310の自起動タスク名称311が“タスク3”、自起動タスク状態が“動作”である。他タスク情報格納テーブル320(1)は、他タスク番号321が“1”、他タスク名称322が“タスク1”、他タスク状態323が“動作”である。
図6に示したエントリポイントログ300は、図5のエントリポイントログ300(1)~300(3)に、図4の障害が発生する前の時間4に生成されたエントリポイントログ300(4)が追加されている。
図6に示したようにタスク起動監視機構200は、時間2においてタスク3のエントリポイントログ300(2)を既に取得している。しかし、障害発生時点で実行されていないタスク、すなわち最新のエントリポイントログ以外はタスクの動作の再現に不要なため、エントリポイントログの保持は最新版のみとしてよい。このようにすることで、ログ容量の抑制が可能となる。
次に、タスク復帰機構400において、ログが残らないような障害が発生した後、電子計算機100を再度立ち上げて、障害が発生したときの電子計算機100の状態(障害が発生する前のタスクの動作)を再現する方法について、図8を参照して説明する。
はじめに、タスク復帰機構400は再現指令を受けると、各エントリポイントログ300のエントリポイント作成時間301を相互に照合し、時系列で最新のエントリポイントログを探索する(S11)。
ここで、タスク復帰機構400が保存するタスク復帰管理ログ500のデータ構造例について、図9を参照して説明する。
タスク復帰管理ログ500は、再現のために動作させるタスクごとに、タスク情報格納テーブルを作成する。図9では、タスク情報格納テーブルとして、タスク情報1~Nが作成されている。タスク情報は、「タスク起動時間差501」、「起動タスク名称502」、及び「タスク復帰機構からの呼出要求503」から構成されるテーブルである。
タスク復帰機構からの呼出要求503は、タスク復帰機構400から呼出要求が必要か否かを1ビット(真又は偽)のブーリアン情報として持つ。以降「タスク復帰機構からの呼出要求503」を「呼出要求503」と略して記載することがある。
この例では、時間4で作成されたエントリポイントログ300(4)’の他タスク情報格納テーブル320(1)において、タスク2の他タスク状態323が“アイドル”である。仮に、再現処理で動作した該当タスクの状態が“動作”であった場合には、タスク復帰機構400は、記憶部120に保持された再現結果の該当タスクの状態を“アイドル”に修正する。タスク復帰機構400は、タスク復帰管理ログ500と、修正後の再現結果(図示略)に記録されたタスクの状態情報とに基づいて、再度、再現試験を実施してもよい。これにより、エントリポイントログ300に記録された、実際に動作したタスクの状態を反映して再現試験を行うことが可能となる。
ところで、電子計算機100の起動時に自動的にタスク起動監視機構200を起動する構成とした場合、障害復旧後に再度電子計算機100を起動するとエントリポイント(エントリポイントログ300)が新たに作成(更新)されてしまう。このことを防ぐため、電子計算機100に正常停止監視機構を設けてもよい。
図11に示す電子計算機100Aは、図1の電子計算機100と比較して、制御部110AのOS層に正常停止監視機構1100と、記憶部120に正常停止ログ1200を備える点が異なる。
さらに、本発明は上述した各実施形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、その他種々の応用例、変形例を取り得ることは勿論である。
Claims (13)
- 複数のタスクを予め定められた順序で実行する制御部と、前記タスクのログ情報を記憶する記憶部と、を有し、
前記制御部は、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納するタスク起動監視部と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、起動した時間が古い順に前記タスクを実行することにより前記障害が発生したときのタスクの動作を再現するタスク復帰部と、を備え、
前記タスク復帰部は、前記障害が発生したときのタスクの動作を再現する際、再現されるタスクが呼出元タスクからの呼び出しにより動作する呼出タスクの場合には、前記呼出元タスクから前記呼出タスクを呼び出すように制御する
電子計算機。 - 複数のタスクを予め定められた順序で実行する制御部と、前記タスクのログ情報を記憶する記憶部と、を有し、
前記制御部は、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納するタスク起動監視部と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現するタスク復帰部と、を備え、
前記タスク復帰部は、動作を再現するタスクの状態が、前記ログ情報に格納された前記タスクの状態と一致しない場合には、前記動作を再現するタスクの状態を前記ログ情報に格納された前記タスクの状態に変更する
電子計算機。 - 複数のタスクを予め定められた順序で実行する制御部と、前記タスクのログ情報を記憶する記憶部と、を有し、
前記制御部は、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納するタスク起動監視部と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現するタスク復帰部と、を備え、
前記タスク起動監視部は、各タスクが実行を開始するときに、実行を開始したタスクの動作開始時間と、動作内容と、状態と、他に動作しているタスクの、識別子と、動作内容と、状態とを、前記ログ情報として前記記憶部に保持する
電子計算機。 - 複数のタスクを予め定められた順序で実行する制御部と、前記タスクのログ情報を記憶する記憶部と、を有する電子計算機であって、
前記制御部は、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納するタスク起動監視部と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現するタスク復帰部と、
前記電子計算機が正常に停止したかどうかを監視する正常停止監視部と、を備え、
前記正常停止監視部は、前記電子計算機が正常に停止した場合に、停止直前に正常停止ログを作成して前記記憶部に記憶し、前記電子計算機の再起動時に前記記憶部に前記正常停止ログがない場合には、前記タスク起動監視部を動作させない
電子計算機。 - 外部記憶装置と通信を行う通信部、を備え、
前記タスク起動監視部は、前記通信部により前記ログ情報を前記外部記憶装置に送信して前記外部記憶装置に前記ログ情報を記憶させる
請求項1乃至4のいずれか一項に記載の電子計算機。 - 複数のタスクを定められた順序で実行する制御部と、前記タスクのログ情報を記憶部と、を有する電子計算機により該電子計算機の動作を再現する再現試験方法であって、
前記制御部が、該制御部により各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納する処理と、
前記制御部が、前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、起動した時間が古い順に前記タスクを実行することにより前記障害が発生したときのタスクの動作を再現する処理と、
前記制御部が、前記障害が発生したときのタスクの動作を再現する際、再現されるタスクが呼出元タスクからの呼び出しにより動作する呼出タスクの場合には、前記呼出元タスクから前記呼出タスクを呼び出すように制御する処理と、を含む
再現試験方法。 - 複数のタスクを定められた順序で実行する制御部と、前記タスクのログ情報を記憶部と、を有する電子計算機により該電子計算機の動作を再現する再現試験方法であって、
前記制御部が、該制御部により各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納する処理と、
前記制御部が、前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現する処理と、
前記制御部が、動作を再現するタスクの状態が、前記ログ情報に格納された前記タスクの状態と一致しない場合には、前記動作を再現するタスクの状態を前記ログ情報に格納された前記タスクの状態に変更する処理と、を含む
再現試験方法。 - 複数のタスクを定められた順序で実行する制御部と、前記タスクのログ情報を記憶部と、を有する電子計算機により該電子計算機の動作を再現する再現試験方法であって、
前記制御部が、該制御部により各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納する処理と、
前記制御部が、前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現する処理と、を含み、
前記制御部が、各タスクが実行を開始するときに、実行を開始したタスクの動作開始時間と、動作内容と、状態と、他に動作しているタスクの、識別子と、動作内容と、状態とを、前記ログ情報として前記記憶部に格納する
再現試験方法。 - 複数のタスクを定められた順序で実行する制御部と、前記タスクのログ情報を記憶部と、を有する電子計算機により該電子計算機の動作を再現する再現試験方法であって、
前記制御部が、該制御部により各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として前記記憶部に格納する処理と、
前記制御部が、前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現する処理と、を含み、
前記制御部が、前記電子計算機が正常に停止したかどうかを監視し、前記電子計算機が正常に停止した場合に、停止直前に正常停止ログを作成して前記記憶部に記憶し、前記電子計算機の再起動時に前記記憶部に前記正常停止ログがない場合には、前記記憶部に前記ログ情報を格納する処理を行わない
再現試験方法。 - 複数のタスクを定められた順序で実行するコンピューターに、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として記憶部に格納する手順と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、起動した時間が古い順に前記タスクを実行することにより前記障害が発生したときのタスクの動作を再現する手順と、
前記障害が発生したときのタスクの動作を再現する際、再現されるタスクが呼出元タスクからの呼び出しにより動作する呼出タスクの場合には、前記呼出元タスクから前記呼出タスクを呼び出すように制御する手順と、
を実行させるためのプログラム。 - 複数のタスクを定められた順序で実行するコンピューターに、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として記憶部に格納する手順と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現する手順と、
動作を再現するタスクの状態が、前記ログ情報に格納された前記タスクの状態と一致しない場合には、前記動作を再現するタスクの状態を前記ログ情報に格納された前記タスクの状態に変更する手順と、
を実行させるためのプログラム。 - 複数のタスクを定められた順序で実行するコンピューターに、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として記憶部に格納する手順と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現する手順と、
各タスクが実行を開始するときに、実行を開始したタスクの動作開始時間と、動作内容と、状態と、他に動作しているタスクの、識別子と、動作内容と、状態とを、前記ログ情報として前記記憶部に格納する手順と、
を実行させるためのプログラム。 - 複数のタスクを定められた順序で実行するコンピューターに、
各タスクを実行する時に、起動して実行を開始するタスクと、既に起動しているタスクとをログ情報として記憶部に格納する手順と、
前記記憶部に格納した前記ログ情報を基に、障害が発生する前に動作していたタスクをそのタスクが起動した時間に復帰させて、前記障害が発生したときのタスクの動作を再現する手順と、
前記コンピューターが正常に停止したかどうかを監視し、前記コンピューターが正常に停止した場合に、停止直前に正常停止ログを作成して前記記憶部に記憶し、前記コンピューターの再起動時に前記記憶部に前記正常停止ログがない場合には、前記記憶部に前記ログ情報を格納する処理を行わないように処理する手順と、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020125140A JP7291107B2 (ja) | 2020-07-22 | 2020-07-22 | 電子計算機、再現試験方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020125140A JP7291107B2 (ja) | 2020-07-22 | 2020-07-22 | 電子計算機、再現試験方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022021528A JP2022021528A (ja) | 2022-02-03 |
JP7291107B2 true JP7291107B2 (ja) | 2023-06-14 |
Family
ID=80220470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020125140A Active JP7291107B2 (ja) | 2020-07-22 | 2020-07-22 | 電子計算機、再現試験方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7291107B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310748A (ja) | 2007-06-18 | 2008-12-25 | Honda Motor Co Ltd | タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム |
JP2014170464A (ja) | 2013-03-05 | 2014-09-18 | Mitsubishi Electric Corp | 処理装置および性能監視情報取得プログラム |
JP2017129931A (ja) | 2016-01-18 | 2017-07-27 | 株式会社日立製作所 | トレースデータ編集装置及び方法 |
JP2017194729A (ja) | 2016-04-18 | 2017-10-26 | 株式会社日立製作所 | 計算機システムおよびシステム状態再現方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02197954A (ja) * | 1989-01-27 | 1990-08-06 | Nec Corp | 並列実行再現方式 |
JP2541007B2 (ja) * | 1990-10-09 | 1996-10-09 | 日本電気株式会社 | 定電圧検出回路 |
JP3391990B2 (ja) * | 1996-09-19 | 2003-03-31 | 株式会社日立国際電気 | ロギング管理方法及びロギング用時計及び情報処理装置 |
-
2020
- 2020-07-22 JP JP2020125140A patent/JP7291107B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008310748A (ja) | 2007-06-18 | 2008-12-25 | Honda Motor Co Ltd | タスク実行時間記録装置、タスク実行時間記録方法、及びタスク実行時間記録用プログラム |
JP2014170464A (ja) | 2013-03-05 | 2014-09-18 | Mitsubishi Electric Corp | 処理装置および性能監視情報取得プログラム |
JP2017129931A (ja) | 2016-01-18 | 2017-07-27 | 株式会社日立製作所 | トレースデータ編集装置及び方法 |
JP2017194729A (ja) | 2016-04-18 | 2017-10-26 | 株式会社日立製作所 | 計算機システムおよびシステム状態再現方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2022021528A (ja) | 2022-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884837B2 (en) | Predicting, diagnosing, and recovering from application failures based on resource access patterns | |
US9354982B2 (en) | Manipulating electronic backups | |
JP4363676B2 (ja) | コンピュータシステム | |
US7908521B2 (en) | Process reflection | |
US8438546B2 (en) | System and method for mitigating repeated crashes of an application resulting from supplemental code | |
JP4321705B2 (ja) | スナップショットの取得を制御するための装置及び記憶システム | |
Ganapathi et al. | Windows XP Kernel Crash Analysis. | |
US8140907B2 (en) | Accelerated virtual environments deployment troubleshooting based on two level file system signature | |
US8132043B2 (en) | Multistage system recovery framework | |
US20040260678A1 (en) | State based configuration failure detection using checkpoint comparison | |
JP7291107B2 (ja) | 電子計算機、再現試験方法及びプログラム | |
US7114097B2 (en) | Autonomic method to resume multi-threaded preload imaging process | |
KR100358278B1 (ko) | 시스템 장애 자가 진단/복구기능을 갖는 컴퓨터 시스템 및그 방법 | |
CN114116330A (zh) | 服务器性能测试方法、系统、终端及存储介质 | |
WO2014147707A1 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
CN110658989B (zh) | 用于备份存储垃圾收集的系统和方法 | |
US20230315881A1 (en) | Universal platform for data protection | |
TW200426581A (en) | Method to record the power-on test flow | |
JP2011118792A (ja) | 計算機システム試験装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230125 |
|
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: 20230523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230602 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7291107 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |