JP6023898B1 - 情報処理装置及び情報処理方法及び情報処理プログラム - Google Patents
情報処理装置及び情報処理方法及び情報処理プログラム Download PDFInfo
- Publication number
- JP6023898B1 JP6023898B1 JP2015550888A JP2015550888A JP6023898B1 JP 6023898 B1 JP6023898 B1 JP 6023898B1 JP 2015550888 A JP2015550888 A JP 2015550888A JP 2015550888 A JP2015550888 A JP 2015550888A JP 6023898 B1 JP6023898 B1 JP 6023898B1
- Authority
- JP
- Japan
- Prior art keywords
- application
- state
- application program
- abnormally
- abnormal termination
- 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
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/14—Error detection or correction of the data by redundancy in operation
Abstract
問合せ処理部(205)は、いずれかのアプリケーションプログラムが異常終了した場合に、異常終了した異常終了アプリケーションプログラムと連携して動作していた連携アプリケーションプログラムに、異常終了アプリケーションプログラムが異常終了する前の異常終了アプリケーションプログラムの状態を問い合わせる。復元処理部(206)は、問合せ処理部(205)による問い合わせに対して連携アプリケーションプログラムから通知された、異常終了アプリケーションプログラムが異常終了する前の異常終了アプリケーションプログラムの状態を復元する。
Description
本発明は、アプリケーションプログラム(以下、単にアプリケーションともいう)が異常終了した際の復旧処理に関する。
カーナビゲーションシステム等の組込システムでは、様々なアプリケーションが複雑に動作する。
このような組込システムでは、アプリケーションに障害が発生した際に高速に復旧処理を行うことが必要である。
特許文献1では、アプリケーションの状態に関する情報を集中管理し、集中管理した情報を復旧時に利用することによって高速な障害復旧を行う方法が開示されている。
また、特許文献2では、RAM(Random Access Memory)の状態をイメージ化したスナップショットイメージを用いることによって高速な障害復旧を行う方法が開示されている。
このような組込システムでは、アプリケーションに障害が発生した際に高速に復旧処理を行うことが必要である。
特許文献1では、アプリケーションの状態に関する情報を集中管理し、集中管理した情報を復旧時に利用することによって高速な障害復旧を行う方法が開示されている。
また、特許文献2では、RAM(Random Access Memory)の状態をイメージ化したスナップショットイメージを用いることによって高速な障害復旧を行う方法が開示されている。
しかし、特許文献1の方法では、集中管理を行う管理アプリケーションもしくは管理サービスに障害が発生した場合は、復旧対象のアプリケーションの障害復旧を行うことができないという課題がある。
特許文献2の方法では、集中管理は行われないので、特許文献1の課題は生じない。
しかしながら、特許文献2の方法では、障害が発生したアプリケーションは、スナップショットイメージが取得された時点の状態で復旧される。
このため、複数のアプリケーションが密結合している場合は、アプリケーション間で状態の不整合が発生するため、復旧対象アプリケーションと復旧対象アプリケーション以外のアプリケーションとの整合性をとる必要があるという課題がある。
しかしながら、特許文献2の方法では、障害が発生したアプリケーションは、スナップショットイメージが取得された時点の状態で復旧される。
このため、複数のアプリケーションが密結合している場合は、アプリケーション間で状態の不整合が発生するため、復旧対象アプリケーションと復旧対象アプリケーション以外のアプリケーションとの整合性をとる必要があるという課題がある。
この発明は上記のような課題を解決することを主な目的としており、複数のアプリケーションが密結合している場合でも、異常終了したアプリケーションの復旧を高速にできるようにすることを主な目的とする。
本発明に係る情報処理装置は、
複数のアプリケーションプログラムが実行される情報処理装置であって、
いずれかのアプリケーションプログラムが異常終了した場合に、異常終了した異常終了アプリケーションプログラムと連携して動作していた連携アプリケーションプログラムに、前記異常終了アプリケーションプログラムが異常終了する前の前記異常終了アプリケーションプログラムの状態を問い合わせる問合せ処理部と、
前記問合せ処理部による問い合わせに対して前記連携アプリケーションプログラムから通知された、前記異常終了アプリケーションプログラムが異常終了する前の前記異常終了アプリケーションプログラムの状態を復元する復元処理部と有する。
複数のアプリケーションプログラムが実行される情報処理装置であって、
いずれかのアプリケーションプログラムが異常終了した場合に、異常終了した異常終了アプリケーションプログラムと連携して動作していた連携アプリケーションプログラムに、前記異常終了アプリケーションプログラムが異常終了する前の前記異常終了アプリケーションプログラムの状態を問い合わせる問合せ処理部と、
前記問合せ処理部による問い合わせに対して前記連携アプリケーションプログラムから通知された、前記異常終了アプリケーションプログラムが異常終了する前の前記異常終了アプリケーションプログラムの状態を復元する復元処理部と有する。
本発明では、連携アプリケーションプログラムに、異常終了アプリケーションプログラムが異常終了する前の異常終了アプリケーションプログラムの状態を問い合わせ、連携アプリケーションプログラムから通知された、異常終了アプリケーションプログラムが異常終了する前の異常終了アプリケーションプログラムの状態を復元する。
従って、複数のアプリケーションが密結合している場合でも、異常終了アプリケーションと連携アプリケーションとの間で状態の不整合が発生せず、異常終了アプリケーションと連携アプリケーションとの間で状態の整合をとる処理が不要のため、異常終了アプリケーションの復旧を高速に行うことができる。
従って、複数のアプリケーションが密結合している場合でも、異常終了アプリケーションと連携アプリケーションとの間で状態の不整合が発生せず、異常終了アプリケーションと連携アプリケーションとの間で状態の整合をとる処理が不要のため、異常終了アプリケーションの復旧を高速に行うことができる。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る情報処理装置100のハードウェア構成例を示す。
***構成の説明***
図1は、本実施の形態に係る情報処理装置100のハードウェア構成例を示す。
図1において、情報処理装置100は、CPU(Central Processing Unit)101、NOR Flash型のROM(Read Only Memory)102、NAND Flash型のROM103、RAM104、各種I/F(Inferface)105を備える。
CPU101は、情報処理装置100の制御を行う演算装置(演算回路)である。
NOR Flash型のROM102は、情報処理装置100が起動直後に実行するためのプログラムであるブートローダや設定情報等が格納される不揮発性記録装置である。
NAND Flash型のROM103は、SD(登録商標)カードやSSD(Solid State Disk)等の、OS(Operating System)及びアプリケーション、スナップショットイメージを格納する不揮発性記憶装置である。
NAND Flash型のROMのかわりにHDD(Hard Disk Drive)を用いてもよいし、NAND Flash型のROMとHDDの双方を用いてもよい。
NOR Flash型のROM102は、情報処理装置100が起動直後に実行するためのプログラムであるブートローダや設定情報等が格納される不揮発性記録装置である。
NAND Flash型のROM103は、SD(登録商標)カードやSSD(Solid State Disk)等の、OS(Operating System)及びアプリケーション、スナップショットイメージを格納する不揮発性記憶装置である。
NAND Flash型のROMのかわりにHDD(Hard Disk Drive)を用いてもよいし、NAND Flash型のROMとHDDの双方を用いてもよい。
図2は、本実施の形態に係る情報処理装置100のソフトウェア構成例を示す。
情報処理装置100では、複数のアプリケーションとOSが実行される。
図2において、情報処理装置100は、OS110、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113を備える。
以下では、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113を区別する必要がない場合は、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113をまとめて、アプリケーションという。
OS110は、スナップショット取得部114と、スナップショットロード部115とを備える。
スナップショット取得部114は、アプリケーションの状態を表すRAM104のイメージデータであるスナップショットイメージ及びスナップショット差分イメージを取得し、取得したスナップショットイメージ及びスナップショット差分イメージをROM103に格納する。
スナップショットロード部115は、ROM103からスナップショットイメージ及びスナップショット差分イメージをRAM104にロードする。
情報処理装置100では、複数のアプリケーションとOSが実行される。
図2において、情報処理装置100は、OS110、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113を備える。
以下では、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113を区別する必要がない場合は、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113をまとめて、アプリケーションという。
OS110は、スナップショット取得部114と、スナップショットロード部115とを備える。
スナップショット取得部114は、アプリケーションの状態を表すRAM104のイメージデータであるスナップショットイメージ及びスナップショット差分イメージを取得し、取得したスナップショットイメージ及びスナップショット差分イメージをROM103に格納する。
スナップショットロード部115は、ROM103からスナップショットイメージ及びスナップショット差分イメージをRAM104にロードする。
図3は、本実施の形態に係るROM(NAND Flash)103に格納されているデータの例を示す。
図3に示すように、ROM(NAND Flash)103はプログラム121、スナップショットイメージ122、各アプリケーションのスナップショット差分イメージ123を記憶する。
プログラム121はプログラムコードである。
図3に示すように、ROM103には、アプリケーション(0)111のプログラムコード、アプリケーション(1)112のプログラムコード、アプリケーション(2)113のプログラムコード、OS110のプログラムコードが格納されている。
また、スナップショットイメージ122は、各アプリケーション及びOS110の初期状態のスナップショットイメージである。
スナップショット差分イメージ123は、各アプリケーション及びOS110の初期状態からの差分を示すスナップショットイメージである。
スナップショット取得部114は、各アプリケーション及びOS110の起動時に、初期状態のスナップショットイメージを取得し、取得したスナップショットイメージをスナップショットイメージ122としてROM103に格納する。
また、スナップショット取得部114は、各アプリケーション及びOS110において状態が遷移する度に、遷移後の状態のスナップショットイメージを取得し、取得したスナップショットイメージをスナップショット差分イメージ123としてROM103に格納する。
なお、図3では、説明の便宜上、アプリケーション(1)112のスナップショット差分イメージ123のみを図示しているが、アプリケーション(0)111、アプリケーション(2)113及びOS110についてもスナップショット差分イメージ123がROM103に格納されている。
図3に示すように、ROM(NAND Flash)103はプログラム121、スナップショットイメージ122、各アプリケーションのスナップショット差分イメージ123を記憶する。
プログラム121はプログラムコードである。
図3に示すように、ROM103には、アプリケーション(0)111のプログラムコード、アプリケーション(1)112のプログラムコード、アプリケーション(2)113のプログラムコード、OS110のプログラムコードが格納されている。
また、スナップショットイメージ122は、各アプリケーション及びOS110の初期状態のスナップショットイメージである。
スナップショット差分イメージ123は、各アプリケーション及びOS110の初期状態からの差分を示すスナップショットイメージである。
スナップショット取得部114は、各アプリケーション及びOS110の起動時に、初期状態のスナップショットイメージを取得し、取得したスナップショットイメージをスナップショットイメージ122としてROM103に格納する。
また、スナップショット取得部114は、各アプリケーション及びOS110において状態が遷移する度に、遷移後の状態のスナップショットイメージを取得し、取得したスナップショットイメージをスナップショット差分イメージ123としてROM103に格納する。
なお、図3では、説明の便宜上、アプリケーション(1)112のスナップショット差分イメージ123のみを図示しているが、アプリケーション(0)111、アプリケーション(2)113及びOS110についてもスナップショット差分イメージ123がROM103に格納されている。
図4は、本実施の形態に係るアプリケーション(1)112の起動時にRAM104に展開されるデータの例を示す。
アプリケーション(1)112の初期状態は状態Aである。
図4において、RAM領域131及びRAM領域132は、アプリケーション(1)112の実行時に使用されるRAM領域である。
RAM領域131には、状態Aのアプリケーション(1)112のプログラムコードが展開されている。
RAM領域132には、状態Aのアプリケーション(1)112に利用されるデータ(Data:a)がロードされている。
RAM領域133は、アプリケーション2の動作時に使用されるRAM領域である。
RAM領域133には、アプリケーション(2)113のプログラムコードが展開されている。
アドレス134は、RAM104に設定されているアドレスである。
なお、図4では図示を省略しているが、アプリケーション(0)111及びOS110もRAM104にプログラムコード及び必要なデータがロードされている。
アプリケーション(1)112の初期状態は状態Aである。
図4において、RAM領域131及びRAM領域132は、アプリケーション(1)112の実行時に使用されるRAM領域である。
RAM領域131には、状態Aのアプリケーション(1)112のプログラムコードが展開されている。
RAM領域132には、状態Aのアプリケーション(1)112に利用されるデータ(Data:a)がロードされている。
RAM領域133は、アプリケーション2の動作時に使用されるRAM領域である。
RAM領域133には、アプリケーション(2)113のプログラムコードが展開されている。
アドレス134は、RAM104に設定されているアドレスである。
なお、図4では図示を省略しているが、アプリケーション(0)111及びOS110もRAM104にプログラムコード及び必要なデータがロードされている。
図5は、アプリケーション(1)112が状態Bとなった際にRAM104に展開されるデータの例を示す。
図5では、状態Bのアプリケーション(1)112のプログラムコードがRAM領域135に展開されている。
図5では、状態Bのアプリケーション(1)112のプログラムコードがRAM領域135に展開されている。
図6は、アプリケーション(1)112が状態Cとなった際にRAM104に展開されるデータの例を示す。
図6では、状態Cのアプリケーション(1)112に利用されるデータ(Data:c)がRAM領域136に展開されている。
図6では、状態Cのアプリケーション(1)112に利用されるデータ(Data:c)がRAM領域136に展開されている。
図7は、ROM(NAND Flash)103に格納する、アプリケーション(1)112のスナップショットイメージの例を示す。
図7は、初期状態(状態A)のアプリケーション(1)112のスナップショットイメージである。
なお、ROM103には、アプリケーション(0)111、アプリケーション(2)113及びOS110のスナップショットイメージも格納されている。
図7は、初期状態(状態A)のアプリケーション(1)112のスナップショットイメージである。
なお、ROM103には、アプリケーション(0)111、アプリケーション(2)113及びOS110のスナップショットイメージも格納されている。
図8は、ROM(NAND Flash)103に格納する、アプリケーション(1)112のスナップショット差分イメージの例を示す。
図8は、状態B及び状態Cのアプリケーション(1)112のスナップショット差分イメージである。
なお、ROM103には、アプリケーション(0)111、アプリケーション(2)113及びOS110のスナップショット差分イメージも格納されている。
図8は、状態B及び状態Cのアプリケーション(1)112のスナップショット差分イメージである。
なお、ROM103には、アプリケーション(0)111、アプリケーション(2)113及びOS110のスナップショット差分イメージも格納されている。
図9は、アプリケーションの機能モジュール構成例を示す。
つまり、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113の各々は、図9に示す構成を備える。
つまり、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113の各々は、図9に示す構成を備える。
図9において、状態関係保持部201は、アプリケーションの状態と、当該アプリケーションと連携して動作する連携アプリケーションプログラム(以下、単に、連携アプリケーションともいう)の状態とが示される状態関係情報を保持する。
子プロセス連携アプリケーション保持部202は、子プロセスに相当するアプリケーションの連携アプリケーションが示される子プロセス連携アプリケーション情報を保持する。
子プロセス連携アプリケーション保持部202は、子プロセスに相当するアプリケーションの連携アプリケーションが示される子プロセス連携アプリケーション情報を保持する。
本実施の形態では、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112及びアプリケーション(2)113がアプリケーション(0)111により呼び出された子プロセスであると仮定する。
また、アプリケーション(1)112とアプリケーション(2)113とが、互いに他方のアプリケーションの連携アプリケーションであると仮定する。
つまり、アプリケーション(1)112は、アプリケーション(2)113の連携アプリケーションであり、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションである。
また、アプリケーション(1)112とアプリケーション(2)113とが、互いに他方のアプリケーションの連携アプリケーションであると仮定する。
つまり、アプリケーション(1)112は、アプリケーション(2)113の連携アプリケーションであり、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションである。
アプリケーション(1)112の状態関係保持部201は、図10に示す状態関係情報210を保持している。
アプリケーション(2)113の状態関係保持部201は、図11に示す状態関係情報220を保持している。
図10の状態関係情報210は、アプリケーション(1)112の状態がAもしくはBの時はアプリケーション(2)113の状態はaであり、アプリケーション(1)112の状態がCの時はアプリケーション(2)113の状態はcであることを示している。
また、図11の状態関係情報220は、アプリケーション(2)113の状態がaの時はアプリケーション(1)112の状態はAもしくはBであり、アプリケーション(2)113の状態がcの時はアプリケーション(1)112の状態はCであることを示している。
このように、アプリケーション(1)112と連携アプリケーションであるアプリケーション(2)113は、相互に並行して、連携しながら動作し、一方のアプリケーション(例えば、アプリケーション(1)112)の状態に基づいて他方のアプリケーション(例えば、アプリケーション(2)113)の状態を識別できる関係にある。
アプリケーション(2)113の状態関係保持部201は、図11に示す状態関係情報220を保持している。
図10の状態関係情報210は、アプリケーション(1)112の状態がAもしくはBの時はアプリケーション(2)113の状態はaであり、アプリケーション(1)112の状態がCの時はアプリケーション(2)113の状態はcであることを示している。
また、図11の状態関係情報220は、アプリケーション(2)113の状態がaの時はアプリケーション(1)112の状態はAもしくはBであり、アプリケーション(2)113の状態がcの時はアプリケーション(1)112の状態はCであることを示している。
このように、アプリケーション(1)112と連携アプリケーションであるアプリケーション(2)113は、相互に並行して、連携しながら動作し、一方のアプリケーション(例えば、アプリケーション(1)112)の状態に基づいて他方のアプリケーション(例えば、アプリケーション(2)113)の状態を識別できる関係にある。
なお、アプリケーション(0)111に連携アプリケーションがあれば、アプリケーション(0)111の状態関係保持部201は、アプリケーション(0)111の状態と連携アプリケーションの状態とが関連付けられる状態関連情報を保持する。
アプリケーション(0)111の子プロセス連携アプリケーション保持部202は、図12に示す子プロセス連携アプリケーション情報230を保持する。
図12の子プロセス連携アプリケーション情報230の1行目は、アプリケーション(0)111の子プロセスであるアプリケーション(1)112の連携アプリケーションがアプリケーション(2)113であることを示している。
また、図12の子プロセス連携アプリケーション情報230の2行目は、アプリケーション(0)111の子プロセスであるアプリケーション(2)113の連携アプリケーションがアプリケーション(1)112であることを示している。
図12の子プロセス連携アプリケーション情報230の1行目は、アプリケーション(0)111の子プロセスであるアプリケーション(1)112の連携アプリケーションがアプリケーション(2)113であることを示している。
また、図12の子プロセス連携アプリケーション情報230の2行目は、アプリケーション(0)111の子プロセスであるアプリケーション(2)113の連携アプリケーションがアプリケーション(1)112であることを示している。
なお、アプリケーション(1)112、アプリケーション(2)113に子プロセスがあれば、アプリケーション(1)112、アプリケーション(2)113は、子プロセスのアプリケーションと子プロセスのアプリケーションの連携アプリケーションとを関連付けて示す子プロセス連携アプリケーション情報を保持する。
なお、状態関係保持部201に保持される状態関連情報と、子プロセス連携アプリケーション保持部202に保持される子プロセス連携アプリケーション情報をアプリケーションが参照することを明確にするために、図9では、状態関係保持部201及び子プロセス連携アプリケーション保持部202をアプリケーションの内部要素として説明している。
状態関係保持部201及び子プロセス連携アプリケーション保持部202は、厳密には、RAM104内の記憶領域であり、アプリケーションの構成要素ではない。
状態関係保持部201及び子プロセス連携アプリケーション保持部202は、厳密には、RAM104内の記憶領域であり、アプリケーションの構成要素ではない。
次に、図9に示す、終了判定部203、情報取得部204、問合せ処理部205、復元処理部206を説明する。
終了判定部203は、親プロセスのアプリケーションで動作する。
終了判定部203は、子プロセスの終了を検知した際に、子プロセスの終了が正常終了であるか異常終了であるかを判定する。
正常終了は、正規の終了手順に従ったアプリケーションの終了であり、システムシャットダウン等による終了である。
異常終了は、正規の終了手順に従わないアプリケーションの終了であり、障害発生等による終了である。
終了判定部203は、子プロセスの終了を検知した際に、子プロセスの終了が正常終了であるか異常終了であるかを判定する。
正常終了は、正規の終了手順に従ったアプリケーションの終了であり、システムシャットダウン等による終了である。
異常終了は、正規の終了手順に従わないアプリケーションの終了であり、障害発生等による終了である。
情報取得部204は、状態関係保持部201から状態関連情報を取得し、子プロセス連携アプリケーション保持部202から子プロセス連携アプリケーション情報を取得する。
より具体的には、アプリケーションが親プロセスである場合には、情報取得部204は、子プロセス連携アプリケーション保持部202から子プロセス連携アプリケーション情報を取得する。
また、他のアプリケーションから、異常終了したアプリケーション(以下、異常終了アプリケーションプログラム又は異常終了アプリケーションという)の親プロセスのアプリケーションから、問い合わせがあった場合に、情報取得部204は、状態関係保持部201から状態関連情報を取得する。
より具体的には、アプリケーションが親プロセスである場合には、情報取得部204は、子プロセス連携アプリケーション保持部202から子プロセス連携アプリケーション情報を取得する。
また、他のアプリケーションから、異常終了したアプリケーション(以下、異常終了アプリケーションプログラム又は異常終了アプリケーションという)の親プロセスのアプリケーションから、問い合わせがあった場合に、情報取得部204は、状態関係保持部201から状態関連情報を取得する。
問合せ処理部205は、親プロセスのアプリケーションと子プロセスのアプリケーションで動作する。
具体的には、問合せ処理部205は、親プロセスのアプリケーションでは、終了判定部203により子プロセスのアプリケーションが異常終了したと判定された場合に、異常終了アプリケーションプログラムである子プロセスのアプリケーションの連携アプリケーションに、子プロセスのアプリケーションが異常終了する前の子プロセスのアプリケーションの状態を問い合わせる。
また、問合せ処理部205は、子プロセスのアプリケーションでは、親プロセスのアプリケーションから異常終了アプリケーションの状態の問合せがあった際に、異常終了アプリケーションの状態を親プロセスのアプリケーションに応答する。
例えば、アプリケーション(1)112が異常終了した場合は、親アプリケーションであるアプリケーション(0)111の問合せ処理部205は、アプリケーション(1)112の連携アプリケーションであるアプリケーション(2)113に、アプリケーション(1)112の異常終了前のアプリケーション(1)112の状態を問い合わせる。
また、アプリケーション(2)113の問合せ処理部205は、アプリケーション(0)111の問合せ処理部205からアプリケーション(1)112の異常終了前のアプリケーション(1)112の状態の問合せがあった際に、アプリケーション(1)112の状態をアプリケーション(0)111に応答する。
具体的には、問合せ処理部205は、親プロセスのアプリケーションでは、終了判定部203により子プロセスのアプリケーションが異常終了したと判定された場合に、異常終了アプリケーションプログラムである子プロセスのアプリケーションの連携アプリケーションに、子プロセスのアプリケーションが異常終了する前の子プロセスのアプリケーションの状態を問い合わせる。
また、問合せ処理部205は、子プロセスのアプリケーションでは、親プロセスのアプリケーションから異常終了アプリケーションの状態の問合せがあった際に、異常終了アプリケーションの状態を親プロセスのアプリケーションに応答する。
例えば、アプリケーション(1)112が異常終了した場合は、親アプリケーションであるアプリケーション(0)111の問合せ処理部205は、アプリケーション(1)112の連携アプリケーションであるアプリケーション(2)113に、アプリケーション(1)112の異常終了前のアプリケーション(1)112の状態を問い合わせる。
また、アプリケーション(2)113の問合せ処理部205は、アプリケーション(0)111の問合せ処理部205からアプリケーション(1)112の異常終了前のアプリケーション(1)112の状態の問合せがあった際に、アプリケーション(1)112の状態をアプリケーション(0)111に応答する。
復元処理部206は、親プロセスであるアプリケーションで動作する。
復元処理部206は、問合せ処理部205による問い合わせに対して連携アプリケーションから通知された、子プロセスのアプリケーションが異常終了する前の子プロセスのアプリケーションの状態を復元する。
例えば、アプリケーション(1)112が異常終了した場合は、親プロセスであるアプリケーション(0)111の復元処理部206は、連携アプリケーションであるアプリケーション(2)113から通知された、アプリケーション(1)112の異常終了前の状態を復元する。
復元処理部206は、問合せ処理部205による問い合わせに対して連携アプリケーションから通知された、子プロセスのアプリケーションが異常終了する前の子プロセスのアプリケーションの状態を復元する。
例えば、アプリケーション(1)112が異常終了した場合は、親プロセスであるアプリケーション(0)111の復元処理部206は、連携アプリケーションであるアプリケーション(2)113から通知された、アプリケーション(1)112の異常終了前の状態を復元する。
なお、情報処理装置100はコンピュータであり、ROM103に格納されているOS110、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113がRAM104にロードされ、CPU101に読み込まれ、CPU101によって実行される。
また、OS110、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113の処理の結果を示す情報やデータや信号値や変数値が、ROM103、RAM104又はCPU101内のレジスタ又はキャッシュメモリに記憶される。
また、OS110、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113の処理の結果を示す情報やデータや信号値や変数値が、ROM103、RAM104又はCPU101内のレジスタ又はキャッシュメモリに記憶される。
***動作の説明***
次に、本実施の形態に係る情報処理装置100の動作例を説明する。
次に、本実施の形態に係る情報処理装置100の動作例を説明する。
情報処理装置100の電源が投入され、リセットが解除されると、CPU101は、ROM(NOR Flash)102内に格納されているブートローダを読み込み、OS110の起動を開始する。
この際、CPU101は、ROM(NAND Flash)103内のプログラム121からOS110のプログラムコードを取得し、OS110のプログラムコードをRAM104に展開してOS110を起動する。
この際、CPU101は、ROM(NAND Flash)103内のプログラム121からOS110のプログラムコードを取得し、OS110のプログラムコードをRAM104に展開してOS110を起動する。
OS110の起動後に、CPU101は、アプリケーションの起動を行う。
この際、CPU101は、ROM(NAND Flash)103内のプログラム121からアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113のプログラムコードを取得し、取得したプログラムコードをRAM104に展開してアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113を起動する。
この際、CPU101は、ROM(NAND Flash)103内のプログラム121からアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113のプログラムコードを取得し、取得したプログラムコードをRAM104に展開してアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113を起動する。
前述したように、各アプリケーションの起動直後のRAM104のデータ例を図4に示している。
アプリケーション(1)112は、起動直後は状態Aであり、RAM領域131及び132を用いて動作している。
また、アプリケーション(2)113はRAM領域133を用いて動作している。
状態が遷移してアプリケーション(1)112が状態Bとなった場合は、アプリケーション(1)112は図5に示すRAM領域131、132及び135を用いて動作する。
また、アプリケーション(1)112が状態Cとなった場合は、アプリケーション(1)112は、図6に示すRAM領域131及び136を用いて動作を行う。
アプリケーション(1)112は、起動直後は状態Aであり、RAM領域131及び132を用いて動作している。
また、アプリケーション(2)113はRAM領域133を用いて動作している。
状態が遷移してアプリケーション(1)112が状態Bとなった場合は、アプリケーション(1)112は図5に示すRAM領域131、132及び135を用いて動作する。
また、アプリケーション(1)112が状態Cとなった場合は、アプリケーション(1)112は、図6に示すRAM領域131及び136を用いて動作を行う。
OS110のスナップショット取得部114は、各アプリケーションにおいて状態が遷移する度にスナップショットイメージを取得する。
スナップショット取得部114により取得される各状態のスナップショットイメージはスナップショットイメージ122と各アプリケーションのスナップショット差分イメージ123から成る。
アプリケーション(1)112を例にすると、スナップショットイメージ122内のアプリケーション(1)スナップショットイメージ140は、図7に示す領域141及び142とその格納先となるアドレスデータ143から成る。
また、各アプリケーションスナップショット差分イメージ123のうちアプリケーション(1)スナップショット差分イメージ150では、起動直後の状態である状態Aとの差分が記憶される。
つまり、状態Bの差分保存領域151では、差分領域153及びその格納先となるアドレスデータ154が記憶される。
また、状態Cの差分保存領域152では、差分領域155及びその格納先となるアドレスデータ156が記憶される。
スナップショット取得部114により取得される各状態のスナップショットイメージはスナップショットイメージ122と各アプリケーションのスナップショット差分イメージ123から成る。
アプリケーション(1)112を例にすると、スナップショットイメージ122内のアプリケーション(1)スナップショットイメージ140は、図7に示す領域141及び142とその格納先となるアドレスデータ143から成る。
また、各アプリケーションスナップショット差分イメージ123のうちアプリケーション(1)スナップショット差分イメージ150では、起動直後の状態である状態Aとの差分が記憶される。
つまり、状態Bの差分保存領域151では、差分領域153及びその格納先となるアドレスデータ154が記憶される。
また、状態Cの差分保存領域152では、差分領域155及びその格納先となるアドレスデータ156が記憶される。
次に、図13及び図14を参照して、子プロセスのアプリケーションが異常終了した際の動作例を説明する。
図13は、子プロセスのアプリケーションが異常終了した際の親プロセスのアプリケーションの動作例を示す。
図13に示す手順は、情報処理方法及び情報処理プログラムの例に相当する。
図14は、異常終了したアプリケーションの連携アプリケーションの動作例を示す。
以下では、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112とアプリケーション(2)113が子プロセスであるとする。
また、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションであるとする。
図13は、子プロセスのアプリケーションが異常終了した際の親プロセスのアプリケーションの動作例を示す。
図13に示す手順は、情報処理方法及び情報処理プログラムの例に相当する。
図14は、異常終了したアプリケーションの連携アプリケーションの動作例を示す。
以下では、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112とアプリケーション(2)113が子プロセスであるとする。
また、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションであるとする。
子プロセスのアプリケーションが終了すると、一般的に、親プロセスのアプリケーションに終了ステータスが通知される。
親プロセスのアプリケーションは、終了ステータスの受信タイミング等で子プロセスのアプリケーションが異常終了したと判定した場合に、親プロセスのアプリケーションは子プロセスのアプリケーションを再起動させる処理を行う。
終了ステータスは子プロセスが終了したタイミングで親プロセスに通知されるため、システムシャットダウン等の正常終了の場合でも終了ステータスは通知される。
このため、親プロセスのアプリケーションの終了判定部203は、処理501にて、子プロセスから通知された終了ステータスの内容を確認して、子プロセスがシステムシャットダウン等により正常終了したか、障害発生等により異常終了したかを判定する。
ここでは、子プロセスであるアプリケーション(1)112の終了ステータスが親プロセスであるアプリケーション(0)111に通知され、処理501にて、アプリケーション(0)111の終了判定部203がアプリケーション(1)112が正常終了したか異常終了したかを判定する。
親プロセスのアプリケーションは、終了ステータスの受信タイミング等で子プロセスのアプリケーションが異常終了したと判定した場合に、親プロセスのアプリケーションは子プロセスのアプリケーションを再起動させる処理を行う。
終了ステータスは子プロセスが終了したタイミングで親プロセスに通知されるため、システムシャットダウン等の正常終了の場合でも終了ステータスは通知される。
このため、親プロセスのアプリケーションの終了判定部203は、処理501にて、子プロセスから通知された終了ステータスの内容を確認して、子プロセスがシステムシャットダウン等により正常終了したか、障害発生等により異常終了したかを判定する。
ここでは、子プロセスであるアプリケーション(1)112の終了ステータスが親プロセスであるアプリケーション(0)111に通知され、処理501にて、アプリケーション(0)111の終了判定部203がアプリケーション(1)112が正常終了したか異常終了したかを判定する。
処理501においてシステムシャットダウン等による正常終了であると判定された場合は、処理502に移行し、アプリケーション(0)111は、そのまま再起動処理を行わず、図13のフローを終了する。
処理501においてシステムシャットダウン等による正常終了ではないと判定された場合、つまり、アプリケーション(1)112が異常終了したと判定された場合は、アプリケーション(0)111は、処理503以降の再起動処理を実施する。
処理501においてシステムシャットダウン等による正常終了ではないと判定された場合、つまり、アプリケーション(1)112が異常終了したと判定された場合は、アプリケーション(0)111は、処理503以降の再起動処理を実施する。
処理503では、アプリケーション(0)111の終了判定部203が情報取得部204に子プロセス連携アプリケーション情報の取得を指示し、情報取得部204が子プロセス連携アプリケーション保持部202から、子プロセス連携アプリケーション情報を取得する。
具体的には、情報取得部204は、図12に示す子プロセス連携アプリケーション情報230を取得する。
そして、情報取得部204は取得した子プロセス連携アプリケーション情報230を問合せ処理部205に転送する。
問合せ処理部205は、子プロセス連携アプリケーション情報230を参照して、アプリケーション(1)112の連携アプリケーションは、アプリケーション(2)113であることを認識する。
具体的には、情報取得部204は、図12に示す子プロセス連携アプリケーション情報230を取得する。
そして、情報取得部204は取得した子プロセス連携アプリケーション情報230を問合せ処理部205に転送する。
問合せ処理部205は、子プロセス連携アプリケーション情報230を参照して、アプリケーション(1)112の連携アプリケーションは、アプリケーション(2)113であることを認識する。
次に、処理504にて、問合せ処理部205が、連携アプリケーションであるアプリケーション(2)113に、異常終了した子プロセスのアプリケーション(1)112の異常終了の直前の状態を問い合わせる。
処理504の問合せは、プロセス間通信により行われる。
処理504の問合せは、プロセス間通信により行われる。
アプリケーション(2)113は、被問い合わせ側の処理として、図14のフローを実施する。
アプリケーション(2)113の問合せ処理部205が、処理510にてアプリケーション(0)111からの問い合わせを受け、処理511にてアプリケーション(2)113の状態を用いてアプリケーション(1)112の異常終了直前の状態を確認する。
具体的には、問合せ処理部205は情報取得部204に状態関係情報の取得を指示する。
情報取得部204は、状態関係保持部201から、図11の状態関係情報220を取得する。
問合せ処理部205は、状態関係情報220を参照して、アプリケーション(2)113の現在の状態に対応するアプリケーション(1)112の状態を判定する。
例えば、アプリケーション(2)113の現在の状態がcであれば、アプリケーション(1)112の異常終了の直前の状態は状態Cであると判定する。
次に、処理512にて、問合せ処理部205は、アプリケーション(0)111に対して、アプリケーション(1)112の異常終了の直前の状態を通知する。
処理512の通知は、プロセス間通信により行われる。
アプリケーション(2)113の問合せ処理部205が、処理510にてアプリケーション(0)111からの問い合わせを受け、処理511にてアプリケーション(2)113の状態を用いてアプリケーション(1)112の異常終了直前の状態を確認する。
具体的には、問合せ処理部205は情報取得部204に状態関係情報の取得を指示する。
情報取得部204は、状態関係保持部201から、図11の状態関係情報220を取得する。
問合せ処理部205は、状態関係情報220を参照して、アプリケーション(2)113の現在の状態に対応するアプリケーション(1)112の状態を判定する。
例えば、アプリケーション(2)113の現在の状態がcであれば、アプリケーション(1)112の異常終了の直前の状態は状態Cであると判定する。
次に、処理512にて、問合せ処理部205は、アプリケーション(0)111に対して、アプリケーション(1)112の異常終了の直前の状態を通知する。
処理512の通知は、プロセス間通信により行われる。
次に、親プロセスであるアプリケーション(0)111の説明に戻る。
アプリケーション(0)111の問合せ処理部205は、処理504に対する図14に示す処理512の通知を受信すると、受信した通知を復元処理部206に転送する。
復元処理部206は、処理505にて、アプリケーション(2)113から通知された状態となるよう、スナップショットイメージをRAM104上に展開し、子プロセスのアプリケーションを再起動する。
アプリケーション(2)113から、問合せ応答として、状態Cが通知された場合は、復元処理部206は、スナップショットロード部115をコールし、スナップショットロード部115に図7のアプリケーション(1)スナップショットイメージ140と図8のアプリケーション(1)スナップショット差分イメージの内の状態Cの差分保存領域152をRAM104に展開させる。
この結果、RAM104には、アプリケーション(1)112について図6に示す状態が再現され、アプリケーション(1)112の再起動時にアプリケーション(1)112の異常終了の直前の状態が復元される。
アプリケーション(0)111の問合せ処理部205は、処理504に対する図14に示す処理512の通知を受信すると、受信した通知を復元処理部206に転送する。
復元処理部206は、処理505にて、アプリケーション(2)113から通知された状態となるよう、スナップショットイメージをRAM104上に展開し、子プロセスのアプリケーションを再起動する。
アプリケーション(2)113から、問合せ応答として、状態Cが通知された場合は、復元処理部206は、スナップショットロード部115をコールし、スナップショットロード部115に図7のアプリケーション(1)スナップショットイメージ140と図8のアプリケーション(1)スナップショット差分イメージの内の状態Cの差分保存領域152をRAM104に展開させる。
この結果、RAM104には、アプリケーション(1)112について図6に示す状態が再現され、アプリケーション(1)112の再起動時にアプリケーション(1)112の異常終了の直前の状態が復元される。
***実施の形態の効果の説明***
以上のように、本実施の形態では、アプリケーションの状態を連携アプリケーション間で把握し、あるアプリケーションが異常終了した場合に、親プロセスのアプリケーションが、異常終了アプリケーションの再起動前に、異常終了アプリケーションの異常終了の直前の状態を連携アプリケーションに問い合わせ、連携アプリケーションから通知された異常終了の直前の状態となるように、異常終了アプリケーションを再起動する。
従って、複数のアプリケーションが密結合している場合でも、異常終了アプリケーションと連携アプリケーションとの間で状態の不整合が発生せず、異常終了アプリケーションと連携アプリケーションとの間で状態の整合をとる処理が不要のため、異常終了アプリケーションの復旧を高速に行うことができる。
以上のように、本実施の形態では、アプリケーションの状態を連携アプリケーション間で把握し、あるアプリケーションが異常終了した場合に、親プロセスのアプリケーションが、異常終了アプリケーションの再起動前に、異常終了アプリケーションの異常終了の直前の状態を連携アプリケーションに問い合わせ、連携アプリケーションから通知された異常終了の直前の状態となるように、異常終了アプリケーションを再起動する。
従って、複数のアプリケーションが密結合している場合でも、異常終了アプリケーションと連携アプリケーションとの間で状態の不整合が発生せず、異常終了アプリケーションと連携アプリケーションとの間で状態の整合をとる処理が不要のため、異常終了アプリケーションの復旧を高速に行うことができる。
また、本実施の形態は、特許文献1のように、アプリケーションの状態を集中管理する方式ではないため、集中管理を行っているシステムで障害が発生した場合にアプリケーションの復旧が不可能になるという問題は発生しない。
また、特許文献1の方法では、アプリケーションの暴走等によって誤った情報が、集中管理を行っているシステムに登録されることにより異常終了したアプリケーションの復旧が不能もしくは復旧後に同一の障害が当該アプリケーションに発生する可能性もある。
本実施の形態では、予め定義されている連携アプリケーション間の状態の対応関係を用いて、異常終了アプリケーションの異常終了直前の状態を導出するため、特許文献1のような問題は発生しない。
本実施の形態では、予め定義されている連携アプリケーション間の状態の対応関係を用いて、異常終了アプリケーションの異常終了直前の状態を導出するため、特許文献1のような問題は発生しない。
実施の形態2.
実施の形態1では、スナップショットイメージを用いて異常終了アプリケーションの復旧を行っているが、本実施の形態では、スナップショットイメージを用いずに、異常終了アプリケーションの復旧を行う例を説明する。
実施の形態1では、スナップショットイメージを用いて異常終了アプリケーションの復旧を行っているが、本実施の形態では、スナップショットイメージを用いずに、異常終了アプリケーションの復旧を行う例を説明する。
***構成の説明***
図15は、本実施の形態に係る情報処理装置100のソフトウェア構成例を示す。
図15に示すように、本実施の形態では、OS110にはスナップショット取得部114とスナップショットロード部115が含まれていない。
なお、図15において、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113は、図2に示したものと同様であり、説明を省略する。
また、本実施の形態に係る情報処理装置100のハードウェア構成例は、図1に示したものと同様である。
図15は、本実施の形態に係る情報処理装置100のソフトウェア構成例を示す。
図15に示すように、本実施の形態では、OS110にはスナップショット取得部114とスナップショットロード部115が含まれていない。
なお、図15において、アプリケーション(0)111、アプリケーション(1)112、アプリケーション(2)113は、図2に示したものと同様であり、説明を省略する。
また、本実施の形態に係る情報処理装置100のハードウェア構成例は、図1に示したものと同様である。
図16は、本実施の形態に係るROM(NAND Flash)103に格納されるデータの例を示す。
図16に示すように、本実施の形態では、ROM103には、図3に示したスナップショットイメージ122及びスナップショット差分イメージ123は記憶されない。
本実施の形態では、ROM103には、図3のプログラム121に相当するプログラム601のみが記憶される。
図16に示すように、本実施の形態では、ROM103には、図3に示したスナップショットイメージ122及びスナップショット差分イメージ123は記憶されない。
本実施の形態では、ROM103には、図3のプログラム121に相当するプログラム601のみが記憶される。
図17は、本実施の形態に係るアプリケーションの機能モジュール構成例を示す。
状態関係保持部201は、実施の形態1で説明したものと同じである。
つまり、アプリケーション(1)112の状態関係保持部201は、図10の状態関係情報210を保持する。
また、アプリケーション(2)113の状態関係保持部201は、図11の状態関係情報220を保持する。
つまり、アプリケーション(1)112の状態関係保持部201は、図10の状態関係情報210を保持する。
また、アプリケーション(2)113の状態関係保持部201は、図11の状態関係情報220を保持する。
終了判定部203も、実施の形態1で説明したものと同じである。
連携アプリケーション保持部611は、図18に例示する連携アプリケーション情報620を保持する。
図18は、アプリケーション(1)112の連携アプリケーション保持部611が保持する連携アプリケーション情報620を示す。
連携アプリケーション情報620には、アプリケーション(1)112の連携アプリケーションであるアプリケーション(2)113が記述されている。
図18は、アプリケーション(1)112の連携アプリケーション保持部611が保持する連携アプリケーション情報620を示す。
連携アプリケーション情報620には、アプリケーション(1)112の連携アプリケーションであるアプリケーション(2)113が記述されている。
起動指示部612は、親プロセスのアプリケーションで動作する。
起動指示部612は、子プロセスのアプリケーションが異常終了した場合に、子プロセスのアプリケーションに起動を指示する。
起動指示部612は、子プロセスのアプリケーションが異常終了した場合に、子プロセスのアプリケーションに起動を指示する。
起動判定部613は、子プロセスのアプリケーションで動作する。
起動判定部613は、子プロセスのアプリケーションの起動の形態が、通常起動であるか復旧起動であるかを判定する。
通常起動は、通常のルーティンに従った起動の形態である。
復旧起動は、連携アプリケーションへの状態の問合せが必要な起動の形態である。
起動判定部613は、子プロセスのアプリケーションの起動の形態が、通常起動であるか復旧起動であるかを判定する。
通常起動は、通常のルーティンに従った起動の形態である。
復旧起動は、連携アプリケーションへの状態の問合せが必要な起動の形態である。
情報取得部614は、状態関係保持部201から状態関係情報を取得し、また、連携アプリケーション保持部611から連携アプリケーション情報を取得する。
問合せ処理部615は、再起動した異常終了アプリケーションと、再起動した異常終了アプリケーションの連携アプリケーションで動作する。
具体的には、問合せ処理部615は、再起動した異常終了アプリケーションでは、連携アプリケーションに、異常終了アプリケーションが異常終了する直前の異常終了アプリケーションの状態を問い合わせる。
また、問合せ処理部615は、連携アプリケーションでは、異常終了アプリケーションから状態の問合せがあった際に、異常終了アプリケーションの異常終了の直前の状態を異常終了アプリケーションに応答する。
具体的には、問合せ処理部615は、再起動した異常終了アプリケーションでは、連携アプリケーションに、異常終了アプリケーションが異常終了する直前の異常終了アプリケーションの状態を問い合わせる。
また、問合せ処理部615は、連携アプリケーションでは、異常終了アプリケーションから状態の問合せがあった際に、異常終了アプリケーションの異常終了の直前の状態を異常終了アプリケーションに応答する。
復元処理部616は、再起動した異常終了アプリケーションで動作する。
復元処理部616は、再起動後の異常終了アプリケーションの状態を、連携アプリケーションから通知された異常終了の直前の状態に変更する。
復元処理部616は、再起動後の異常終了アプリケーションの状態を、連携アプリケーションから通知された異常終了の直前の状態に変更する。
***動作の説明***
次に、本実施の形態に係る情報処理装置100の動作例を説明する。
次に、本実施の形態に係る情報処理装置100の動作例を説明する。
情報処理装置100の電源が投入され、リセットが解除されると、CPU101は、ROM(NOR Flash)102内に格納されているブートローダを読み込み、OSの起動を開始する。
この際、CPU101は、ROM(NAND Flash)103内のプログラム601からOSのプログラムコードを取得し、OSのプログラムコードをRAM104に展開してOS110を起動する。
この際、CPU101は、ROM(NAND Flash)103内のプログラム601からOSのプログラムコードを取得し、OSのプログラムコードをRAM104に展開してOS110を起動する。
OS110の起動後に、CPU101は、アプリケーションの起動を行う。
この際、CPU101は、ROM(NAND Flash)103内のプログラム601からアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113のプログラムコードを取得し、取得したプログラムコードをRAM104に展開してアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113を起動する。
この際、CPU101は、ROM(NAND Flash)103内のプログラム601からアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113のプログラムコードを取得し、取得したプログラムコードをRAM104に展開してアプリケーション(0)111、アプリケーション(1)112及びアプリケーション(2)113を起動する。
次に、図19及び図20を参照して、子プロセスのアプリケーションが異常終了した際の動作例を説明する。
図19は、子プロセスのアプリケーションが異常終了した際の親プロセスのアプリケーションの動作例を示す。
図20は、異常終了した子プロセスのアプリケーションが再起動した後の動作例を示す。
なお、本実施の形態でも、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112とアプリケーション(2)113が子プロセスであるとする。
また、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションであるとする。
図19は、子プロセスのアプリケーションが異常終了した際の親プロセスのアプリケーションの動作例を示す。
図20は、異常終了した子プロセスのアプリケーションが再起動した後の動作例を示す。
なお、本実施の形態でも、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112とアプリケーション(2)113が子プロセスであるとする。
また、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションであるとする。
親プロセスであるアプリケーション(0)111に、子プロセスであるアプリケーション(1)112の終了ステータスが通知されると、処理631にて、アプリケーション(0)111の終了判定部203がアプリケーション(1)112が正常終了したか異常終了したかを判定する。
処理631においてシステムシャットダウン等による正常終了であると判定された場合は、処理632に移行し、アプリケーション(0)111は、そのまま再起動処理を行わず、図19のフローを終了する。
処理631においてシステムシャットダウン等による正常終了ではないと判定された場合、つまり、アプリケーション(1)112が異常終了したと判定された場合は、起動指示部612が、アプリケーション(1)112に復旧起動を指示する。
復旧起動の指示方法は、例えばパラメータ渡しによる方法が考えられる。
処理631においてシステムシャットダウン等による正常終了ではないと判定された場合、つまり、アプリケーション(1)112が異常終了したと判定された場合は、起動指示部612が、アプリケーション(1)112に復旧起動を指示する。
復旧起動の指示方法は、例えばパラメータ渡しによる方法が考えられる。
起動が指示されたアプリケーション(1)112は、図20のフローに従って動作する。
つまり、処理641において、CPU101によりアプリケーション(1)112が起動される。
そして、起動されたアプリケーション(1)112では、起動判定部613が、処理642にて、処理641の起動形態が通常起動であるか、復旧起動であるかを判定する。
起動判定部613により処理641の起動形態が通常起動であると判定された場合は、処理643にて、アプリケーション(1)112では、通常起動に後続する処理を実施する。
通常起動に後続する処理は任意の処理であり、本実施の形態では詳細は記載しない。
つまり、処理641において、CPU101によりアプリケーション(1)112が起動される。
そして、起動されたアプリケーション(1)112では、起動判定部613が、処理642にて、処理641の起動形態が通常起動であるか、復旧起動であるかを判定する。
起動判定部613により処理641の起動形態が通常起動であると判定された場合は、処理643にて、アプリケーション(1)112では、通常起動に後続する処理を実施する。
通常起動に後続する処理は任意の処理であり、本実施の形態では詳細は記載しない。
一方、処理642にて起動判定部613により処理641の起動形態が復旧起動であると判定された場合は、処理644にて、起動判定部613が情報取得部614に連携アプリケーション情報の取得を指示し、情報取得部614が連携アプリケーション保持部611から、連携アプリケーション情報を取得する。
具体的には、情報取得部614は、図18に示す連携アプリケーション情報620を取得する。
そして、情報取得部614は取得した連携アプリケーション情報620を問合せ処理部615に転送する。
問合せ処理部615は、連携アプリケーション情報620を参照して、アプリケーション(1)112の連携アプリケーションは、アプリケーション(2)113であることを認識する。
具体的には、情報取得部614は、図18に示す連携アプリケーション情報620を取得する。
そして、情報取得部614は取得した連携アプリケーション情報620を問合せ処理部615に転送する。
問合せ処理部615は、連携アプリケーション情報620を参照して、アプリケーション(1)112の連携アプリケーションは、アプリケーション(2)113であることを認識する。
次に、処理645にて、問合せ処理部615が、連携アプリケーションであるアプリケーション(2)113に、アプリケーション(1)112の異常終了の直前の状態を問い合わせる。
処理645の問合せは、プロセス間通信により行われる。
処理645の問合せは、プロセス間通信により行われる。
アプリケーション(2)113は、被問い合わせ側の処理として、図14のフローを実施する。
図14のフローは実施の形態1で説明した通りなので、説明は省略する。
ここでは、アプリケーション(2)113は、アプリケーション(1)112の異常終了の直前の状態として、状態Cをアプリケーション(1)112に通知するものとする。
図14のフローは実施の形態1で説明した通りなので、説明は省略する。
ここでは、アプリケーション(2)113は、アプリケーション(1)112の異常終了の直前の状態として、状態Cをアプリケーション(1)112に通知するものとする。
アプリケーション(1)112の問合せ処理部615は、処理645に対する図14に示す処理512の通知を受信すると、受信した通知を復元処理部616に転送する。
復元処理部616は、処理646にて、アプリケーション(2)113から通知された状態となるよう、アプリケーション(1)112の状態を変更する。
アプリケーション(2)113から、問合せ応答として、状態Cが通知された場合は、復元処理部616は、アプリケーション(1)112の状態を状態Cに遷移させる。
この結果、RAM104には、アプリケーション(1)112について図6に示す状態が再現され、アプリケーション(1)112の異常終了の直前の状態が復元される。
復元処理部616は、処理646にて、アプリケーション(2)113から通知された状態となるよう、アプリケーション(1)112の状態を変更する。
アプリケーション(2)113から、問合せ応答として、状態Cが通知された場合は、復元処理部616は、アプリケーション(1)112の状態を状態Cに遷移させる。
この結果、RAM104には、アプリケーション(1)112について図6に示す状態が再現され、アプリケーション(1)112の異常終了の直前の状態が復元される。
***実施の形態の効果の説明***
以上のように、本実施の形態では、アプリケーションの状態を連携アプリケーション間で把握し、あるアプリケーションが異常終了した場合に、異常終了アプリケーションが再起動した後に、再起動後の異常終了アプリケーションが、異常終了の直前の状態を連携アプリケーションに問い合わせ、連携アプリケーションから通知された異常終了の直前の状態となるように、再起動後の異常終了アプリケーションの状態を変更する。
従って、複数のアプリケーションが密結合している場合でも、異常終了アプリケーションと連携アプリケーションとの間で状態の不整合が発生せず、異常終了アプリケーションと連携アプリケーションとの間で状態の整合をとる処理が不要のため、異常終了アプリケーションの復旧を高速に行うことができる。
更に、本実施の形態ではスナップショットイメージを用いないため、スナップショットイメージを保存する領域を削減できるという効果が得られる。
以上のように、本実施の形態では、アプリケーションの状態を連携アプリケーション間で把握し、あるアプリケーションが異常終了した場合に、異常終了アプリケーションが再起動した後に、再起動後の異常終了アプリケーションが、異常終了の直前の状態を連携アプリケーションに問い合わせ、連携アプリケーションから通知された異常終了の直前の状態となるように、再起動後の異常終了アプリケーションの状態を変更する。
従って、複数のアプリケーションが密結合している場合でも、異常終了アプリケーションと連携アプリケーションとの間で状態の不整合が発生せず、異常終了アプリケーションと連携アプリケーションとの間で状態の整合をとる処理が不要のため、異常終了アプリケーションの復旧を高速に行うことができる。
更に、本実施の形態ではスナップショットイメージを用いないため、スナップショットイメージを保存する領域を削減できるという効果が得られる。
実施の形態3.
実施の形態では、異常終了アプリケーションの再起動前に、親プロセスのアプリケーションが連携アプリケーションに状態の問合せを行い、異常終了アプリケーションを通常起動させ、通常起動した後の異常終了アプリケーションが、通常起動した後の異常終了アプリケーションの状態を連携アプリケーションから通知された状態に変更する例を説明する。
実施の形態では、異常終了アプリケーションの再起動前に、親プロセスのアプリケーションが連携アプリケーションに状態の問合せを行い、異常終了アプリケーションを通常起動させ、通常起動した後の異常終了アプリケーションが、通常起動した後の異常終了アプリケーションの状態を連携アプリケーションから通知された状態に変更する例を説明する。
***構成の説明***
なお、本実施の形態に係る情報処理装置100のハードウェア構成例は図1に示したものと同様である。
また、本実施の形態に係るソフトウェア構成例は図15に示したものと同様である。
本実施の形態に係るアプリケーションの機能モジュール構成例は図21に示す通りである。
図21において、状態関係保持部201、子プロセス連携アプリケーション保持部202、終了判定部203は図9に示したものと同様である。
また、図21において、起動指示部612、起動判定部613、情報取得部614、問合せ処理部615、復元処理部616は、図17に示したものと同様である。
なお、本実施の形態に係る情報処理装置100のハードウェア構成例は図1に示したものと同様である。
また、本実施の形態に係るソフトウェア構成例は図15に示したものと同様である。
本実施の形態に係るアプリケーションの機能モジュール構成例は図21に示す通りである。
図21において、状態関係保持部201、子プロセス連携アプリケーション保持部202、終了判定部203は図9に示したものと同様である。
また、図21において、起動指示部612、起動判定部613、情報取得部614、問合せ処理部615、復元処理部616は、図17に示したものと同様である。
***動作の説明***
次に、図22及び図23を参照して、子プロセスのアプリケーションが異常終了した際の動作例を説明する。
図22は、子プロセスのアプリケーションが異常終了した際の親プロセスのアプリケーションの動作例を示す。
図23は、異常終了した子プロセスのアプリケーションが再起動した後の動作例を示す。
なお、本実施の形態でも、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112とアプリケーション(2)113が子プロセスであるとする。
また、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションであるとする。
次に、図22及び図23を参照して、子プロセスのアプリケーションが異常終了した際の動作例を説明する。
図22は、子プロセスのアプリケーションが異常終了した際の親プロセスのアプリケーションの動作例を示す。
図23は、異常終了した子プロセスのアプリケーションが再起動した後の動作例を示す。
なお、本実施の形態でも、アプリケーション(0)111が親プロセスであり、アプリケーション(1)112とアプリケーション(2)113が子プロセスであるとする。
また、アプリケーション(2)113は、アプリケーション(1)112の連携アプリケーションであるとする。
親プロセスであるアプリケーション(0)111に、子プロセスであるアプリケーション(1)112の終了ステータスが通知されると、処理501にて、アプリケーション(0)111の終了判定部203がアプリケーション(1)112が正常終了したか異常終了したかを判定する。
処理501においてシステムシャットダウン等による正常終了であると判定された場合は、処理502に移行し、アプリケーション(0)111は、そのまま再起動処理を行わず、図22のフローを終了する。
処理501においてシステムシャットダウン等による正常終了ではないと判定された場合、つまり、アプリケーション(1)112が異常終了したと判定された場合は、アプリケーション(0)111は、処理503以降の再起動処理を実施する。
処理501においてシステムシャットダウン等による正常終了ではないと判定された場合、つまり、アプリケーション(1)112が異常終了したと判定された場合は、アプリケーション(0)111は、処理503以降の再起動処理を実施する。
処理503は、図13の処理503と同じである。
すなわち、処理503において、アプリケーション(0)111の終了判定部203が情報取得部614に子プロセス連携アプリケーション情報の取得を指示し、情報取得部614が子プロセス連携アプリケーション保持部202から、子プロセス連携アプリケーション情報を取得する。
そして、情報取得部614は取得した子プロセス連携アプリケーション情報230を問合せ処理部615に転送する。
問合せ処理部615は、子プロセス連携アプリケーション情報230を参照して、アプリケーション(1)112の連携アプリケーションは、アプリケーション(2)113であることを認識する。
すなわち、処理503において、アプリケーション(0)111の終了判定部203が情報取得部614に子プロセス連携アプリケーション情報の取得を指示し、情報取得部614が子プロセス連携アプリケーション保持部202から、子プロセス連携アプリケーション情報を取得する。
そして、情報取得部614は取得した子プロセス連携アプリケーション情報230を問合せ処理部615に転送する。
問合せ処理部615は、子プロセス連携アプリケーション情報230を参照して、アプリケーション(1)112の連携アプリケーションは、アプリケーション(2)113であることを認識する。
また、処理504も図13の処理504と同じである。
つまり、処理504にて、問合せ処理部615が、連携アプリケーションであるアプリケーション(2)113に、異常終了した子プロセスのアプリケーション(1)112の異常終了の直前の状態を問い合わせる。
つまり、処理504にて、問合せ処理部615が、連携アプリケーションであるアプリケーション(2)113に、異常終了した子プロセスのアプリケーション(1)112の異常終了の直前の状態を問い合わせる。
アプリケーション(2)113は、被問い合わせ側の処理として、図14のフローを実施する。
図14のフローは実施の形態1で説明した通りなので、説明は省略する。
ここでは、アプリケーション(2)113は、アプリケーション(1)112の異常終了の直前の状態として、状態Cをアプリケーション(0)111に通知するものとする。
図14のフローは実施の形態1で説明した通りなので、説明は省略する。
ここでは、アプリケーション(2)113は、アプリケーション(1)112の異常終了の直前の状態として、状態Cをアプリケーション(0)111に通知するものとする。
アプリケーション(0)111の問合せ処理部615は、処理504に対する図14に示す処理512の通知を受信すると、受信した通知を起動指示部612に転送する。
起動指示部612は、処理507にて、子プロセスのアプリケーションであるアプリケーション(1)112に通常起動を指示し、更に、アプリケーション(1)112にアプリケーション(2)113から通知された状態(状態C)を通知する。
起動指示部612は、処理507にて、子プロセスのアプリケーションであるアプリケーション(1)112に通常起動を指示し、更に、アプリケーション(1)112にアプリケーション(2)113から通知された状態(状態C)を通知する。
起動が指示されたアプリケーション(1)112は、図23のフローに従って動作する。
つまり、処理641において、CPU101によりアプリケーション(1)112が起動される。
そして、起動されたアプリケーション(1)112では、起動判定部613が、処理647にて、親プロセスであるアプリケーション(0)111から状態が通知されているか否かを判定する。
アプリケーション(0)111から状態が通知されていない場合は、処理643にて、アプリケーション(1)112では、通常起動に後続する処理を実施する。
一方、アプリケーション(0)111から状態が通知されている場合は、起動判定部613はアプリケーション(0)111から通知された状態を復元処理部616に通知する。
そして、復元処理部616は、処理648にて、アプリケーション(0)111から通知された状態となるよう、アプリケーション(1)112の状態を変更する。
アプリケーション(0)111から、問合せ応答として、状態Cが通知された場合は、復元処理部616は、アプリケーション(1)112の状態を状態Cに遷移させる。
この結果、RAM104には、アプリケーション(1)112について図6に示す状態が再現され、アプリケーション(1)112の異常終了の直前の状態が復元される。
つまり、処理641において、CPU101によりアプリケーション(1)112が起動される。
そして、起動されたアプリケーション(1)112では、起動判定部613が、処理647にて、親プロセスであるアプリケーション(0)111から状態が通知されているか否かを判定する。
アプリケーション(0)111から状態が通知されていない場合は、処理643にて、アプリケーション(1)112では、通常起動に後続する処理を実施する。
一方、アプリケーション(0)111から状態が通知されている場合は、起動判定部613はアプリケーション(0)111から通知された状態を復元処理部616に通知する。
そして、復元処理部616は、処理648にて、アプリケーション(0)111から通知された状態となるよう、アプリケーション(1)112の状態を変更する。
アプリケーション(0)111から、問合せ応答として、状態Cが通知された場合は、復元処理部616は、アプリケーション(1)112の状態を状態Cに遷移させる。
この結果、RAM104には、アプリケーション(1)112について図6に示す状態が再現され、アプリケーション(1)112の異常終了の直前の状態が復元される。
***実施の形態の効果の説明***
本実施の形態においても、実施の形態2と同様の効果が得られる。
本実施の形態においても、実施の形態2と同様の効果が得られる。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
100 情報処理装置、101 CPU、102 ROM、103 ROM、104 RAM、105 各種I/F、110 OS、111 アプリケーション(0)、112 アプリケーション(1)、113 アプリケーション(2)、114 スナップショット取得部、115 スナップショットロード部、201 状態関係保持部、202 子プロセス連携アプリケーション保持部、203 終了判定部、204 情報取得部、205 問合せ処理部、206 復元処理部、612 起動指示部、613 起動判定部、614 情報取得部、615 問合せ処理部、616 復元処理部。
Claims (7)
- 複数のアプリケーションプログラムが実行される情報処理装置であって、
いずれかのアプリケーションプログラムが異常終了した場合に、異常終了した異常終了アプリケーションプログラムと連携して動作していた連携アプリケーションプログラムの現在のプログラム遷移状態に基づいて、前記異常終了アプリケーションプログラムの複数の状態のうち前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を判定する問合せ処理部と、
前記問合せ処理部により判定された、前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を復元する復元処理部と有する情報処理装置。 - 前記問合せ処理部は、
前記異常終了アプリケーションプログラムの再起動前に、前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を判定し、
前記復元処理部は、
再起動後の前記異常終了アプリケーションプログラムの状態が、前記問合せ処理部により判定された異常終了の直前の状態となるように、前記異常終了アプリケーションプログラムを再起動する請求項1に記載の情報処理装置。 - 前記復元処理部は、
前記異常終了アプリケーションプログラムのスナップショットイメージを用いて、再起動後の前記異常終了アプリケーションプログラムの状態が、前記問合せ処理部により判定された異常終了の直前の状態となるように、前記異常終了アプリケーションプログラムを再起動する請求項2に記載の情報処理装置。 - 前記問合せ処理部は、
前記異常終了アプリケーションプログラムの再起動後に、前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を判定し、
前記復元処理部は、
再起動後の前記異常終了アプリケーションプログラムの状態を、前記問合せ処理部により判定された異常終了の直前の状態に変更する請求項1に記載の情報処理装置。 - 前記問合せ処理部は、
前記異常終了アプリケーションプログラムの再起動前に、前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を判定し、
前記復元処理部は、
前記異常終了アプリケーションプログラムを再起動するとともに、再起動後の前記異常終了アプリケーションプログラムの状態を、前記問合せ処理部により判定された異常終了の直前の状態に変更する請求項1に記載の情報処理装置。 - 複数のアプリケーションプログラムを実行するコンピュータが、
いずれかのアプリケーションプログラムが異常終了した場合に、異常終了した異常終了アプリケーションプログラムと連携して動作していた連携アプリケーションプログラムの現在のプログラム遷移状態に基づいて、前記異常終了アプリケーションプログラムの複数の状態のうち前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を判定し、
判定した、前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を復元する情報処理方法。 - 複数のアプリケーションプログラムを実行するコンピュータに、
いずれかのアプリケーションプログラムが異常終了した場合に、異常終了した異常終了アプリケーションプログラムと連携して動作していた連携アプリケーションプログラムの現在のプログラム遷移状態に基づいて、前記異常終了アプリケーションプログラムの複数の状態のうち前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を判定する問合せ処理と、
前記問合せ処理により判定された、前記異常終了アプリケーションプログラムが異常終了する直前の前記異常終了アプリケーションプログラムの状態を復元する復元処理とを実行させる情報処理プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/061909 WO2016166900A1 (ja) | 2015-04-17 | 2015-04-17 | 情報処理装置及び情報処理方法及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6023898B1 true JP6023898B1 (ja) | 2016-11-09 |
JPWO2016166900A1 JPWO2016166900A1 (ja) | 2017-04-27 |
Family
ID=57125719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015550888A Expired - Fee Related JP6023898B1 (ja) | 2015-04-17 | 2015-04-17 | 情報処理装置及び情報処理方法及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6023898B1 (ja) |
WO (1) | WO2016166900A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835961B (zh) * | 2021-09-23 | 2023-05-16 | 中国联合网络通信集团有限公司 | 告警信息监控方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332734A (ja) * | 1993-05-24 | 1994-12-02 | Nec Corp | システム稼動維持方式 |
JPH0830473A (ja) * | 1994-07-12 | 1996-02-02 | Hitachi Ltd | プロセス復旧方法 |
JP2007133863A (ja) * | 2006-10-13 | 2007-05-31 | Nippon Telegr & Teleph Corp <Ntt> | サーバ再開方法、サーバ再開装置、サーバ再開プログラム |
JP2007226547A (ja) * | 2006-02-23 | 2007-09-06 | Yokogawa Electric Corp | 分散コンピューティングシステム |
JP2014142741A (ja) * | 2013-01-23 | 2014-08-07 | Chugoku Electric Power Co Inc:The | ジョブ再実行支援システム |
-
2015
- 2015-04-17 JP JP2015550888A patent/JP6023898B1/ja not_active Expired - Fee Related
- 2015-04-17 WO PCT/JP2015/061909 patent/WO2016166900A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06332734A (ja) * | 1993-05-24 | 1994-12-02 | Nec Corp | システム稼動維持方式 |
JPH0830473A (ja) * | 1994-07-12 | 1996-02-02 | Hitachi Ltd | プロセス復旧方法 |
JP2007226547A (ja) * | 2006-02-23 | 2007-09-06 | Yokogawa Electric Corp | 分散コンピューティングシステム |
JP2007133863A (ja) * | 2006-10-13 | 2007-05-31 | Nippon Telegr & Teleph Corp <Ntt> | サーバ再開方法、サーバ再開装置、サーバ再開プログラム |
JP2014142741A (ja) * | 2013-01-23 | 2014-08-07 | Chugoku Electric Power Co Inc:The | ジョブ再実行支援システム |
Also Published As
Publication number | Publication date |
---|---|
WO2016166900A1 (ja) | 2016-10-20 |
JPWO2016166900A1 (ja) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9471435B2 (en) | Information processing device, information processing method, and computer program | |
US9946553B2 (en) | BMC firmware recovery | |
US7975188B2 (en) | Restoration device for BIOS stall failures and method and computer program product for the same | |
US9229815B2 (en) | Information processing apparatus, program update method, and program | |
CN109144776B (zh) | 虚拟机镜像文件处理方法及装置 | |
US11704198B2 (en) | Method and apparatus for providing recovery from a computing device boot up error | |
WO2012149774A1 (zh) | 一种处理器启动方法及装置 | |
JP6023898B1 (ja) | 情報処理装置及び情報処理方法及び情報処理プログラム | |
CN115904793B (zh) | 一种基于多核异构系统的内存转存方法、系统及芯片 | |
JP2011053780A (ja) | 復旧システム、復旧方法及びバックアップ制御システム | |
JP2014179039A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6160688B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
US20190227865A1 (en) | Information processing device and information processing method | |
EP3159795B1 (en) | Image forming apparatus that ensures operation while hdd is inoperative, and recording medium therefor | |
JP5944017B2 (ja) | 情報処理装置およびプログラム | |
JP2010102441A (ja) | 情報処理装置、情報処理プログラム | |
JP5921306B2 (ja) | 情報処理装置および情報処理方法およびプログラム | |
JP5791524B2 (ja) | Os動作装置及びos動作プログラム | |
JP7363617B2 (ja) | 通信装置、情報処理方法、およびシステム | |
JP2019079309A (ja) | 起動管理装置、起動管理システム、起動管理方法、および、起動管理プログラム | |
US20160266960A1 (en) | Information processing apparatus and kernel dump method | |
JP2007249382A (ja) | コンピュータシステムおよびその障害時の復旧方法ならびにプログラム | |
JP2008198152A (ja) | 冗長構成を有するコンピュータシステム及びコンピュータシステムの系切り換え方法 | |
JP2007004364A (ja) | デバッグシステム、デバッグ方法およびプログラム | |
JP6430321B2 (ja) | 制御サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160607 |
|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6023898 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |