JP5985121B1 - プログラム実行装置及びプログラム実行システム及びプログラム実行方法 - Google Patents
プログラム実行装置及びプログラム実行システム及びプログラム実行方法 Download PDFInfo
- Publication number
- JP5985121B1 JP5985121B1 JP2016525120A JP2016525120A JP5985121B1 JP 5985121 B1 JP5985121 B1 JP 5985121B1 JP 2016525120 A JP2016525120 A JP 2016525120A JP 2016525120 A JP2016525120 A JP 2016525120A JP 5985121 B1 JP5985121 B1 JP 5985121B1
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- program execution
- execution device
- error
- 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
- 238000000034 method Methods 0.000 title claims description 26
- 230000000737 periodic effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000013078 crystal Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000007788 liquid Substances 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2035—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/85—Active fault masking without idle spares
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)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
他のプログラム実行装置にエラーが発生した場合に前記他のプログラム実行装置から少なくとも1つのプログラムの実行を引き継ぐプログラム実行装置であって、
1つ以上のプログラムを指定する第1情報と、前記第1情報によって指定されたプログラムと前記他のプログラム実行装置により実行されるプログラムとのうち、前記他のプログラム実行装置により実行されるプログラムを少なくとも1つ含む一部のプログラムを指定する第2情報とを記憶するメモリと、
前記エラーを検知するエラー処理部を有し、前記エラー処理部により前記エラーが検知されていない場合、前記メモリに記憶された第1情報によって指定されたプログラムを実行し、前記エラー処理部により前記エラーが検知された場合、前記メモリに記憶された第2情報によって指定されたプログラムを実行する命令処理部とを備える。
本実施の形態に係るシステム及び装置の構成、本実施の形態に係る装置の動作、本実施の形態の効果を順番に説明する。
図1を参照して、本実施の形態に係るシステムであるプログラム実行システム500の構成を説明する。
図4及び図5を参照して、本実施の形態に係るプログラム実行装置100Xの動作を説明する。プログラム実行装置100Xの動作は、本実施の形態に係るプログラム実行方法に相当する。なお、他のプログラム実行装置100Yの動作については、プログラム実行装置100Xの動作と同様であるため、説明を省略する。
本実施の形態では、プログラム実行装置100Xが、他のプログラム実行装置100Yのエラーを検知した場合、予め定義された情報に基づいて、実行中のプログラムと他のプログラム実行装置100Yのプログラムとのうち、他のプログラム実行装置100Yのプログラムを少なくとも1つ含む一部のプログラムを実行する。プログラム実行装置100Xが、実行中のプログラムと他のプログラム実行装置100Yのプログラムとの全てを実行できるほどの余裕を持っていなくても、他のプログラム実行装置100Yからプログラムの実行を引き継ぐことができるため、プログラム実行システム500の信頼性が向上する。
本実施の形態において、プログラム実行装置100X,100Yは、ローカルメモリが搭載されたCPUであるが、プログラム実行装置100X,100Yは、ローカルメモリが搭載されていないCPUとCPUに接続されたローカルメモリとの組み合わせであってもよい。或いは、プログラム実行装置100X,100Yは、プログラムを実行可能な他の要素又は他の要素の組み合わせであってもよい。
本実施の形態に係るシステム及び装置の構成、本実施の形態に係る装置の動作、本実施の形態の効果を順番に説明する。主に実施の形態1との差異を説明する。
本実施の形態に係るシステムであるプログラム実行システム500の構成については、図1に示した実施の形態1のものと同じであるため、説明を省略する。
図8及び図9を参照して、本実施の形態に係るプログラム実行装置100Xの動作を説明する。プログラム実行装置100Xの動作は、本実施の形態に係るプログラム実行方法に相当する。なお、他のプログラム実行装置100Yの動作については、プログラム実行装置100Xの動作と同様であるため、説明を省略する。
本実施の形態では、1つのCPUが故障したときでも、他のCPUが故障したCPUの処理を引き継ぐことで、組み込みシステムを停止させないため、高信頼組み込みシステムを実現することができる。処理を引き継ぐCPUは、新たに追加される処理について、一部のみを引き継いだり、精度を落としたり、実行すべき周期に制約を加えたりするだけでなく、予め決められた周期時間を変更する。具体的には、処理を引き継ぐCPUは、周期時間の変更が許される処理について、周期時間を長めに変更する。これにより、システム動作を継続させるための処理を実行することが可能となる。
Claims (7)
- 他のプログラム実行装置にエラーが発生した場合に前記他のプログラム実行装置から少なくとも1つのプログラムの実行を引き継ぐプログラム実行装置であって、
1つ以上のプログラムを指定する第1情報と、前記第1情報によって指定されたプログラムと前記他のプログラム実行装置により実行されるプログラムとのうち、前記他のプログラム実行装置により実行されるプログラムを少なくとも1つ含む一部のプログラムを指定する第2情報とを記憶するメモリと、
前記エラーを検知するエラー処理部を有し、前記エラー処理部により前記エラーが検知されていない場合、前記メモリに記憶された第1情報によって指定されたプログラムを実行し、前記エラー処理部により前記エラーが検知された場合、前記メモリに記憶された第2情報によって指定されたプログラムを実行する命令処理部と
を備え、
前記メモリは、前記第2情報の付加情報として、前記第2情報によって指定されたプログラムごとに、プログラムにおける処理の精度を下げてもよいかどうかを示す情報を記憶し、
前記命令処理部は、前記第2情報によって指定されたプログラムを実行する際に、前記第2情報の付加情報を参照して、プログラムにおける処理の精度を下げるかどうかを決定するプログラム実行装置。 - 前記他のプログラム実行装置は、複数のプログラムを実行し、
前記メモリは、前記第1情報として、2つ以上のプログラムを指定する情報を記憶し、前記第2情報として、前記第1情報によって指定されたプログラムのうち一部のプログラムと前記他のプログラム実行装置により実行されるプログラムのうち一部のプログラムとを指定する情報を記憶する請求項1に記載のプログラム実行装置。 - 前記メモリは、さらに、前記第1情報に対応し、前記第1情報によって指定されたプログラムを実行する周期を指定する第3情報と、前記第2情報に対応し、前記第2情報によって指定されたプログラムを実行する周期を指定する第4情報とを記憶し、
前記命令処理部は、前記エラー処理部により前記エラーが検知されていない場合、前記メモリに記憶された第3情報によって指定された周期で、前記第1情報によって指定されたプログラムを実行し、前記エラー処理部により前記エラーが検知された場合、前記メモリに記憶された第4情報によって指定された周期で、前記第2情報によって指定されたプログラムを実行する請求項1又は2に記載のプログラム実行装置。 - 前記メモリは、前記第4情報として、前記第3情報によって指定された周期よりも長い周期を指定する情報を記憶する請求項3に記載のプログラム実行装置。
- 前記命令処理部は、CPUに実装され、
前記メモリは、前記CPUにより専用されるローカルメモリである請求項1から4のいずれか1項に記載のプログラム実行装置。 - 請求項1から5のいずれか1項に記載のプログラム実行装置である複数のプログラム実行装置
を備え、
それぞれのプログラム実行装置は、いずれかのプログラム実行装置にエラーが発生した場合にそのプログラム実行装置から少なくとも1つのプログラムの実行を引き継ぐプログラム実行システム。 - 他のプログラム実行装置にエラーが発生した場合に前記他のプログラム実行装置から少なくとも1つのプログラムの実行を引き継ぐプログラム実行装置が、前記エラーを検知していない場合、1つ以上のプログラムを指定する第1情報をメモリから読み取り、読み取った第1情報によって指定されたプログラムを実行し、
前記プログラム実行装置が、前記エラーを検知した場合、前記第1情報によって指定されたプログラムと前記他のプログラム実行装置により実行されるプログラムとのうち、前記他のプログラム実行装置により実行されるプログラムを少なくとも1つ含む一部のプログラムを指定する第2情報をメモリから読み取り、読み取った第2情報によって指定されたプログラムを実行し、
前記プログラム実行装置が、前記第2情報によって指定されたプログラムを実行する際に、前記第2情報の付加情報としてメモリに記憶され、前記第2情報によって指定されたプログラムごとに、プログラムにおける処理の精度を下げてもよいかどうかを示す情報を参照して、プログラムにおける処理の精度を下げるかどうかを決定するプログラム実行方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/071594 WO2017017829A1 (ja) | 2015-07-30 | 2015-07-30 | プログラム実行装置及びプログラム実行システム及びプログラム実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5985121B1 true JP5985121B1 (ja) | 2016-09-06 |
JPWO2017017829A1 JPWO2017017829A1 (ja) | 2017-07-27 |
Family
ID=56843300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525120A Active JP5985121B1 (ja) | 2015-07-30 | 2015-07-30 | プログラム実行装置及びプログラム実行システム及びプログラム実行方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10579489B2 (ja) |
JP (1) | JP5985121B1 (ja) |
CN (1) | CN107851055B (ja) |
DE (1) | DE112015006749T5 (ja) |
WO (1) | WO2017017829A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58107978A (ja) * | 1981-12-21 | 1983-06-27 | Fuji Facom Corp | ロ−ドシエアデユプレツクスシステムの運用方式 |
JPH10124338A (ja) * | 1996-10-23 | 1998-05-15 | Mitsubishi Electric Corp | 並列処理装置 |
JP2004310252A (ja) * | 2003-04-03 | 2004-11-04 | Matsushita Electric Ind Co Ltd | マルチプロセッサシステムの故障復帰方法 |
JP2012073748A (ja) * | 2010-09-28 | 2012-04-12 | Denso Corp | 制御装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6054052A (ja) | 1983-09-02 | 1985-03-28 | Nec Corp | 処理継続方式 |
JP3296378B2 (ja) | 1993-08-27 | 2002-06-24 | 株式会社東芝 | コンピュータバックアップシステム |
JPH07114521A (ja) | 1993-10-20 | 1995-05-02 | Hitachi Ltd | マルチマイクロコンピュータシステム |
JP3345626B2 (ja) | 1994-09-29 | 2002-11-18 | 富士通株式会社 | マルチプロセッサシステムにおけるプロセッサ異常対策装置およびマルチプロセッサシステムにおけるプロセッサ異常対策方法 |
US5978933A (en) * | 1996-01-11 | 1999-11-02 | Hewlett-Packard Company | Generic fault tolerant platform |
JP2853654B2 (ja) | 1996-04-17 | 1999-02-03 | 日本電気株式会社 | 密結合マルチプロセッサシステムにおける代替処理方式 |
DE19780639C2 (de) * | 1996-06-20 | 2003-12-04 | Fujitsu Ltd | Arbeitsübernahmesystem |
US6671704B1 (en) * | 1999-03-11 | 2003-12-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for handling failures of resource managers in a clustered environment |
JP2001022599A (ja) | 1999-07-06 | 2001-01-26 | Fujitsu Ltd | フォールトトレラント・システム,フォールトトレラント処理方法およびフォールトトレラント制御用プログラム記録媒体 |
US6947752B2 (en) * | 2001-12-31 | 2005-09-20 | Samsung Electronics Co., Ltd. | System and method for distributed call processing using load sharing groups |
US20030172106A1 (en) * | 2002-02-14 | 2003-09-11 | Iti, Inc. | Method of increasing system availability by assigning process pairs to processor pairs |
JP4708088B2 (ja) | 2005-05-17 | 2011-06-22 | 富士通テン株式会社 | 障害復旧方法およびマイクロコンピュータ |
US9043640B1 (en) * | 2005-08-26 | 2015-05-26 | Open Invention Network, LLP | System and method for event-driven live migration of multi-process applications |
US7966514B2 (en) * | 2005-09-19 | 2011-06-21 | Millennium It (Usa), Inc. | Scalable fault tolerant system |
US7930684B2 (en) * | 2005-10-12 | 2011-04-19 | Symantec Operating Corporation | System and method for logging and replaying asynchronous events |
US9384103B2 (en) * | 2006-05-16 | 2016-07-05 | Oracle International Corporation | EJB cluster timer |
JP4458119B2 (ja) | 2007-06-11 | 2010-04-28 | トヨタ自動車株式会社 | マルチプロセッサシステム及びその制御方法 |
US20090019258A1 (en) * | 2007-07-09 | 2009-01-15 | Shi Justin Y | Fault tolerant self-optimizing multi-processor system and method thereof |
JP4420944B2 (ja) | 2007-07-27 | 2010-02-24 | 三菱電機株式会社 | 車載エンジン制御装置 |
JP5644380B2 (ja) | 2010-11-04 | 2014-12-24 | トヨタ自動車株式会社 | 情報処理装置 |
JP5545250B2 (ja) | 2011-03-22 | 2014-07-09 | 株式会社デンソー | 制御装置 |
JP5434942B2 (ja) | 2011-03-22 | 2014-03-05 | 株式会社デンソー | 制御装置 |
JP6024138B2 (ja) * | 2012-03-21 | 2016-11-09 | 日本電気株式会社 | クラスタシステム |
US9027098B2 (en) * | 2013-03-14 | 2015-05-05 | Genband Us Llc | Systems, methods, and computer program products for recording service status of applications |
CN103440173B (zh) * | 2013-08-23 | 2016-09-21 | 华为技术有限公司 | 一种多核处理器的调度方法和相关装置 |
CN103870350A (zh) * | 2014-03-27 | 2014-06-18 | 浪潮电子信息产业股份有限公司 | 一种基于watchdog的微处理器多核加固方法 |
-
2015
- 2015-07-30 US US15/569,157 patent/US10579489B2/en active Active
- 2015-07-30 JP JP2016525120A patent/JP5985121B1/ja active Active
- 2015-07-30 DE DE112015006749.3T patent/DE112015006749T5/de active Pending
- 2015-07-30 CN CN201580081746.2A patent/CN107851055B/zh active Active
- 2015-07-30 WO PCT/JP2015/071594 patent/WO2017017829A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58107978A (ja) * | 1981-12-21 | 1983-06-27 | Fuji Facom Corp | ロ−ドシエアデユプレツクスシステムの運用方式 |
JPH10124338A (ja) * | 1996-10-23 | 1998-05-15 | Mitsubishi Electric Corp | 並列処理装置 |
JP2004310252A (ja) * | 2003-04-03 | 2004-11-04 | Matsushita Electric Ind Co Ltd | マルチプロセッサシステムの故障復帰方法 |
JP2012073748A (ja) * | 2010-09-28 | 2012-04-12 | Denso Corp | 制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2017017829A1 (ja) | 2017-07-27 |
DE112015006749T5 (de) | 2018-04-12 |
WO2017017829A1 (ja) | 2017-02-02 |
CN107851055B (zh) | 2021-06-29 |
US20180150366A1 (en) | 2018-05-31 |
CN107851055A (zh) | 2018-03-27 |
US10579489B2 (en) | 2020-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2012398458B2 (en) | Recovery after input/output error-containment events | |
KR20170003356A (ko) | 악성 취약점 파일을 검출하기 위한 방법, 장치 및 단말기 | |
EP3734466A1 (en) | Apparatus, systems, and methods to detect and/or correct bit errors using an in band link over a serial peripheral interface | |
US10909247B2 (en) | Computing device having two trusted platform modules | |
TWI510912B (zh) | 多核電路中之容錯 | |
US20210208923A1 (en) | Method and apparatus for handling memory failure, electronic device and storage medium | |
EP2615551B1 (en) | Abnormality inspection device, central processing unit, and abnormality inspection method | |
CN115934389A (zh) | 用于错误报告和处理的系统和方法 | |
US8850273B2 (en) | Dynamic hardware watchpoint | |
US8769333B2 (en) | Application reliability and fault tolerant chip configurations | |
US20170308454A1 (en) | Adaptive debug tracing for microprocessors | |
WO2013008326A1 (ja) | ソフトウェア検証方法、およびソフトウェア検証システム | |
JP5985121B1 (ja) | プログラム実行装置及びプログラム実行システム及びプログラム実行方法 | |
TW201346529A (zh) | 訊號處理電路以及使用該訊號處理電路的測試裝置 | |
US10635444B2 (en) | Shared compare lanes for dependency wake up in a pair-based issue queue | |
US11182316B2 (en) | Program interrupt code conversion | |
JP5440673B1 (ja) | プログラマブルロジックデバイス、情報処理装置、被疑箇所指摘方法およびプログラム | |
JP2013175076A (ja) | 情報処理装置および情報処理装置における異常分析方法 | |
US20170371710A1 (en) | Detecting and enforcing control-loss restrictions within an application programming interface | |
KR101064650B1 (ko) | 리눅스 운영체제 기반의 시스템에서 usb 디바이스 드라이버의 커널 하드닝을 수행하는 방법 및 그 장치 | |
KR100668676B1 (ko) | 기지국 보드 장애 검출 및 상태 변화 감지 장치 및 방법 | |
JPWO2013008326A1 (ja) | ソフトウェア検証方法、およびソフトウェア検証システム | |
JP2013175077A (ja) | 情報処理装置および情報処理装置における異常分析方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20160629 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5985121 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |