JP5335552B2 - 情報処理装置、その制御方法、及びコンピュータプログラム - Google Patents
情報処理装置、その制御方法、及びコンピュータプログラム Download PDFInfo
- Publication number
- JP5335552B2 JP5335552B2 JP2009118042A JP2009118042A JP5335552B2 JP 5335552 B2 JP5335552 B2 JP 5335552B2 JP 2009118042 A JP2009118042 A JP 2009118042A JP 2009118042 A JP2009118042 A JP 2009118042A JP 5335552 B2 JP5335552 B2 JP 5335552B2
- Authority
- JP
- Japan
- Prior art keywords
- subsystem
- task
- counter
- updated
- software counter
- 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
- 230000010365 information processing Effects 0.000 title claims description 47
- 238000000034 method Methods 0.000 title claims description 40
- 238000004590 computer program Methods 0.000 title claims description 8
- 238000012545 processing Methods 0.000 claims description 110
- 238000012790 confirmation Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 description 59
- 238000012544 monitoring process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 241000255777 Lepidoptera Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、一般に、複数のサブシステムと、これらのサブシステムで共用されるメモリとを含む情報処理装置に適用できる。本実施形態においては、そのような情報処理装置として、TCP/IP以下の処理を通信用サブシステム110で処理し、アプリケーション用サブシステム120の処理負担を軽減する情報処理装置100を扱う。
図1を用いて、本実施形態に係る情報処理装置100の構成について説明する。情報処理装置100は、通信用サブシステム110、アプリケーション用サブシステム120、共有メモリ130、ユーザ・インタフェース141、通信インタフェース142、サブシステム間通信回路143を備える。図1においては簡略化のために、第1のサブシステムである通信用サブシステム110と第2のサブシステムであるアプリケーション用サブシステム120とだけを記載しているが、サブシステムの個数は2個以上であってもかまわない。また、本実施形態では、通信用サブシステム110の障害をアプリケーション用サブシステム120で監視する形態について説明するが、障害の監視は他のサブシステム(不図示)で行われてもよいし、複数のサブシステムの障害が監視されてもよい。
図2のフローチャートを用いて通信用サブシステム110の動作について説明する。このフローチャートは、コンピュータで読み取り可能な記録媒体である占有メモリ112に記憶されたコンピュータプログラムをCPU111が実行することにより処理される。
S206で、実行部113は、処理タスク116が実行中であるか否かを判定する。実行中である場合(S206において「YES」)は、処理タスク116よりも優先度が低いカウンタ・タスクL115は実行されずに待ち状態となる。そこで、処理はS203に戻り、カウンタ・タスクH114の更新タイミングであるか否かを判定する。実行中でない場合(S206において「NO」)は、カウンタ・タスクL115が実行され、カウンタL132が更新される。その後、処理はS201に戻り、新たな処理タスク116の実行が指示されるのを待つ。なお、S205において、すでに起動されているカウンタ・タスクL115が存在する場合には、新たなカウンタ・タスクL115を起動しなくてもよい。
図3のフローチャートを用いてアプリケーション用サブシステム120の動作について説明する。このフローチャートは、コンピュータで読み取り可能な記録媒体である占有メモリ122に記憶されたコンピュータプログラムをCPU121が実行することにより処理される。簡略化のために通信用サブシステム110の監視に関連する動作のみを説明する。
図4のシーケンス図を用いて正常時の情報処理装置100全体の動作について説明する。処理タスク116は、通信用サブシステム110が他の装置150への伝送処理を行う処理であるとする。処理タスク116の処理は、以下の実施例においても同様とする。
図5のシーケンス図を用いてソフトウェア障害発生時の情報処理装置100全体の動作について説明する。S501で、実行部113は処理タスク116を開始する。S502で、処理タスク116でデッドロックが発生したとする。この場合、デッドロックが解消されるまでは、実行中の処理タスク116より同じか低い優先度を有する処理タスク116には実行権は移らないため、これらの処理が実行されることはない。S503で、実行部113はカウンタ・タスクH114を起動する。カウンタ・タスクH114は処理タスク116よりも優先度が高いため、デッドロックが発生している場合でも、実行権がカウンタ・タスクH114に移り、処理タスク116の処理は中断され、S504でカウンタH131が更新される。S505で、実行部113は処理タスク116の処理を再開する。S506で、実行部113はカウンタ・タスクL115を起動するが、これよりも優先度の高い処理タスク116が実行中であるため、カウンタ・タスクL115はすぐには実行されずに待ち状態となる。カウンタ・タスクL115はデッドロックが解消されるまでは実行されない。
図6のシーケンス図を用いてハードウェア障害発生時の情報処理装置100全体の動作について説明する。
図7のシーケンス図を用いてエラー発生時の情報処理装置100の動作について説明する。図4を用いて上述したシーケンスと同様の処理は同一の参照符号を付して説明を省略する。S701で、通信インタフェース142において、エラーが発生したとする。そのため、S702で、通信インタフェース142は監視部124に対してイベント・エラー通知を行う。S703で、監視部124は、カウンタL132が更新されていることから通信用サブシステム110において障害は発生していないと判定し、通常のイベント・エラーに対するリカバリー処理を行う。
本実施形態は、第1の実施形態で説明した情報処理装置100において、処理タスク116もカウンタを更新する場合について説明する。本実施形態における情報処理装置100の構成図は第1の実施形態で用いた図1と同様であるため、説明を省略する。ただし、本実施形態では、第1の実施形態で用いなかったカウンタM133を用いる。処理タスク116は、自己の処理が正常に終了した場合に、カウンタM133を更新する第3の更新処理を実行する。確認部123はさらに、カウンタM133が更新されているか否かを確認する。通信用サブシステム110およびアプリケーション用サブシステム120の動作は第1の実施形態と同様のため、フローチャートによる説明は省略し、異なる部分のみを以下にシーケンス図を用いて説明する。
図8のシーケンス図を用いて処理正常終了時の情報処理装置100の動作について説明する。図4を用いて上述したシーケンスと同様の処理は同一の参照符号を付して説明を省略する。S801で、処理が再開された処理タスク116は、処理が正常に終了した場合に、カウンタM133を更新する。S802で、確認部123は、カウンタM133が更新されているか否かを確認する。この場合はカウンタM133が更新されているため、監視部124は処理タスク116が正常に終了したと判定する。なお、確認部123は、カウンタM133が更新されているか否かを確認するために、処理タスク116が開始される前のカウンタM133のカウント値を確認しておく。
図9のシーケンス図を用いて処理エラー終了時の情報処理装置100の動作について説明する。図4を用いて上述したシーケンスと同様の処理は同一の参照符号を付して説明を省略する。S901で、処理が再開された処理タスク116は、エラーにより処理が終了したとする。この場合、カウンタM133は更新されない。S902で、確認部123は、カウンタM133が更新されているか否かを確認する。この場合はカウンタM133が更新されていないため、監視部124は処理タスク116が正常に終了していないと判定する。さらに、カウンタL132は更新されているため、監視部124は、通信用サブシステム110において障害は発生していないと判定する。そこで、S903で、監視部124は、処理タスク116がエラーにより処理が終了したと判定して、エラー回復処理を実行する。
さらに、アプリケーション用サブシステム120は、そのエラーがソフトウェア障害によって発生したものであるか否かを判定することが出来る。
本実施形態は、第1の実施形態で説明した情報処理装置100において、複数の処理タスク116がそれぞれのカウンタを更新する場合について説明する。本実施形態における情報処理装置100の構成図は第1の実施形態で用いた図1と同様であるため、説明を省略する。
Claims (11)
- 第1のサブシステム及び第2のサブシステムを備える情報処理装置であって、
前記第1のサブシステムは、
前記第1のサブシステムが実行する処理タスクよりも高い優先度で第1のソフトウェアカウンタを更新する第1の更新手段と、
前記処理タスクよりも低い優先度で第2のソフトウェアカウンタを更新する第2の更新手段とを有し、
前記第2のサブシステムは、
前記第1のソフトウェアカウンタ及び前記第2のソフトウェアカウンタが更新されたか否かを確認する確認手段と、
前記第1のソフトウェアカウンタ及び前記第2のソフトウェアカウンタの少なくともいずれかが更新されていない場合に、前記第1のサブシステムにおいて障害が発生したと判定する判定手段と
を有することを特徴とする情報処理装置。 - 前記判定手段は、前記第1のソフトウェアカウンタが更新されたが前記第2のソフトウェアカウンタが更新されていない場合に、前記第1のサブシステムにおいてソフトウェア障害が発生したと判定することを特徴とする請求項1に記載の情報処理装置。
- 前記ソフトウェア障害は、前記第1のサブシステムで実行中の処理タスクで発生したデッドロックと無限ループとの少なくともいずれかを含むことを特徴とする請求項2に記載の情報処理装置。
- 前記判定手段は、前記第1のソフトウェアカウンタが更新されていない場合に、前記第1のサブシステムにおいてハードウェア障害が発生したと判定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- 前記ハードウェア障害は、前記第1のサブシステムで発生したCPU障害とメモリ障害との少なくともいずれかを含むことを特徴とする請求項4に記載の情報処理装置。
- 前記判定手段は、前記第2のソフトウェアカウンタが更新された場合に、前記第1のサブシステムにおいてソフトウェア障害とハードウェア障害とのいずれも発生していないと判定することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
- 前記第1のソフトウェアカウンタ及び前記第2のソフトウェアカウンタは、前記第1のサブシステム及び前記第2のサブシステムで共有されるメモリが有することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
- 前記情報処理装置は、第3のソフトウェアカウンタをさらに有し、
前記第1のサブシステムは、前記処理タスクが正常に終了した場合に前記第3のソフトウェアカウンタを更新する第3の更新手段を有し、
前記確認手段は、前記第3のソフトウェアカウンタが更新されたか否かを確認し、
前記判定手段は、前記第3のソフトウェアカウンタが更新されていないと判定された場合に、前記処理タスクが正常に終了しなかったと判定する
ことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 - 前記処理タスクは、異なる優先度を有する複数の処理タスクを含み、
前記情報処理装置は、前記複数の処理タスクのそれぞれに対応するタスク別ソフトウェアカウンタをさらに有し、
前記複数の処理タスクのそれぞれは、処理が終了した場合に前記対応するタスク別ソフトウェアカウンタを更新し、
前記確認手段は、前記タスク別ソフトウェアカウンタが更新されたか否かを確認し、
前記判定手段は、前記タスク別ソフトウェアカウンタが更新されていない場合に、更新されていない前記タスク別ソフトウェアカウンタに基づいて、ソフトウェア障害が発生した処理タスクの優先度を特定することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。 - 第1のサブシステム及び第2のサブシステムを備える情報処理装置の制御方法であって、
前記第1のサブシステムは、
処理タスクを実行する工程と、
前記処理タスクよりも高い優先度で第1のソフトウェアカウンタを更新する第1の更新工程と、
前記処理タスクよりも低い優先度で第2のソフトウェアカウンタを更新する第2の更新工程とを実行し、
前記第2のサブシステムは、
前記第1のソフトウェアカウンタ及び前記第2のソフトウェアカウンタが更新されたか否かを判定する工程と、
前記第1のソフトウェアカウンタ及び前記第2のソフトウェアカウンタの少なくともいずれかが更新されていない場合に、前記第1のサブシステムにおいて障害が発生したと判定する工程とを実行することを特徴とする制御方法。 - コンピュータを請求項1乃至9のいずれか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009118042A JP5335552B2 (ja) | 2009-05-14 | 2009-05-14 | 情報処理装置、その制御方法、及びコンピュータプログラム |
US12/771,013 US8156386B2 (en) | 2009-05-14 | 2010-04-30 | Information processing apparatus, and method and computer program for controlling same, for detecting certain failures |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009118042A JP5335552B2 (ja) | 2009-05-14 | 2009-05-14 | 情報処理装置、その制御方法、及びコンピュータプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2010267091A JP2010267091A (ja) | 2010-11-25 |
JP2010267091A5 JP2010267091A5 (ja) | 2012-06-28 |
JP5335552B2 true JP5335552B2 (ja) | 2013-11-06 |
Family
ID=43069480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009118042A Expired - Fee Related JP5335552B2 (ja) | 2009-05-14 | 2009-05-14 | 情報処理装置、その制御方法、及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8156386B2 (ja) |
JP (1) | JP5335552B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120221884A1 (en) * | 2011-02-28 | 2012-08-30 | Carter Nicholas P | Error management across hardware and software layers |
JP5737055B2 (ja) * | 2011-08-18 | 2015-06-17 | 三菱電機株式会社 | プログラム監視システム |
JP5906807B2 (ja) * | 2012-02-28 | 2016-04-20 | 日本電気株式会社 | 演算処理装置及びストール監視方法 |
WO2016204070A1 (ja) * | 2015-06-16 | 2016-12-22 | オリンパス株式会社 | Cpu監視装置 |
JP6536374B2 (ja) * | 2015-11-17 | 2019-07-03 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3996567A (en) * | 1972-05-23 | 1976-12-07 | Telefonaktiebolaget L M Ericsson | Apparatus for indicating abnormal program execution in a process controlling computer operating in real time on different priority levels |
JPS594054B2 (ja) * | 1979-04-17 | 1984-01-27 | 株式会社日立製作所 | マルチプロセツサ障害検出方式 |
JPS63163932A (ja) * | 1986-12-26 | 1988-07-07 | Fuji Electric Co Ltd | 制御用計算機のシステム監視方式 |
JPH05181760A (ja) | 1991-12-27 | 1993-07-23 | Sharp Corp | Cpuの暴走監視装置 |
JPH05324409A (ja) * | 1992-05-27 | 1993-12-07 | Meidensha Corp | ソフトウェアの暴走監視方式 |
US5737515A (en) * | 1996-06-27 | 1998-04-07 | Sun Microsystems, Inc. | Method and mechanism for guaranteeing timeliness of programs |
JPH1063544A (ja) * | 1996-08-20 | 1998-03-06 | Toshiba Corp | タイムアウト監視方式 |
JP3524700B2 (ja) * | 1996-11-01 | 2004-05-10 | シャープ株式会社 | タスク監視方法 |
US6351824B1 (en) * | 1998-01-05 | 2002-02-26 | Sophisticated Circuits, Inc. | Methods and apparatuses for controlling the operation of a digital processing system |
JP2000122900A (ja) * | 1998-10-20 | 2000-04-28 | Fujitsu Ltd | マイクロコントローラの暴走監視方法 |
US6665758B1 (en) * | 1999-10-04 | 2003-12-16 | Ncr Corporation | Software sanity monitor |
JP2001117796A (ja) * | 1999-10-22 | 2001-04-27 | Yamatake Building Systems Co Ltd | コンピュータ装置及びプログラム記録媒体 |
US7194665B2 (en) * | 2001-11-01 | 2007-03-20 | Advanced Micro Devices, Inc. | ASF state determination using chipset-resident watchdog timer |
US7219268B2 (en) * | 2003-05-09 | 2007-05-15 | Hewlett-Packard Development Company, L.P. | System and method for determining transaction time-out |
US7383470B2 (en) * | 2004-09-30 | 2008-06-03 | Microsoft Corporation | Method, system, and apparatus for identifying unresponsive portions of a computer program |
US20080126650A1 (en) * | 2006-09-21 | 2008-05-29 | Swanson Robert C | Methods and apparatus for parallel processing in system management mode |
JP2009075769A (ja) * | 2007-09-19 | 2009-04-09 | Seiko Epson Corp | プログラムの暴走検出システムおよびプログラムの暴走検出方法 |
US8099637B2 (en) * | 2007-10-30 | 2012-01-17 | Hewlett-Packard Development Company, L.P. | Software fault detection using progress tracker |
-
2009
- 2009-05-14 JP JP2009118042A patent/JP5335552B2/ja not_active Expired - Fee Related
-
2010
- 2010-04-30 US US12/771,013 patent/US8156386B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20100293414A1 (en) | 2010-11-18 |
US8156386B2 (en) | 2012-04-10 |
JP2010267091A (ja) | 2010-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108121630B (zh) | 电子装置、重新启动方法及记录媒介 | |
JP4468426B2 (ja) | 高可用システム及び実行状態制御方法 | |
JP5335552B2 (ja) | 情報処理装置、その制御方法、及びコンピュータプログラム | |
JP2009217474A (ja) | ジョブ管理プログラム、情報処理装置およびジョブ管理方法 | |
US20110197193A1 (en) | Device and method for controlling communication between bios and bmc | |
JP4851719B2 (ja) | 周辺装置管理システム及び方法 | |
JP5548647B2 (ja) | 計算機システムでの部分障害処理方法 | |
JP2006099331A5 (ja) | ||
US10379931B2 (en) | Computer system | |
JP5333735B2 (ja) | 仮想計算機システム、仮想計算機のマイグレーション方法、及びプログラム | |
JP2013182303A (ja) | 仮想マシン管理システム、方法、およびプログラム | |
JP2007206955A (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP5704176B2 (ja) | プロセッサ処理方法、およびプロセッサシステム | |
JP2018092571A (ja) | 電子装置、再起動方法およびプログラム | |
JP2009151440A (ja) | プログラムハング検出方法及びそれを適用したコンピュータ装置 | |
JP2008040750A (ja) | 遠隔監視制御装置及びシステム | |
JP3688217B2 (ja) | マルチプロセッサ初期化/並行診断方法 | |
JP5961507B2 (ja) | 地震発生時の自動運用切り替えシステムおよび方法 | |
JP4773715B2 (ja) | チェックポイント取得方法 | |
JP2008117268A (ja) | 情報管理システム | |
JP6465719B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP6112205B2 (ja) | 情報処理システム、装置、方法及びプログラム | |
JP5446666B2 (ja) | プロセス管理プログラム及びプロセス管理方法 | |
EP4068096A1 (en) | Data processing program, information processing system, and data processing method | |
JP5906807B2 (ja) | 演算処理装置及びストール監視方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120510 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120510 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130626 |
|
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: 20130701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130731 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5335552 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |