(57)【要約】【課題】二次記憶装置に記憶されているデータを、一次記憶装置に格納して処理するシステムにおいて、イベントの発生によって中断した処理を復旧するまでの時間を短縮する。【解決手段】復旧制御装置２０は、中央処理装置２１が、二次記憶装置２４に記憶されているデータを、高速アクセス可能な揮発性の一次記憶装置２２に格納して処理する場合において、データを記憶可能な容量を有する、中央処理装置２１によって二次記憶装置２４よりも高速にアクセス可能な不揮発性記憶部２００と、データが一次記憶装置２２から消失する要因となるイベントの発生を検出する検出部２１０と、イベントが検出された場合に、一次記憶装置２２に格納されているデータを不揮発性記憶部２００に格納する格納部２２０と、不揮発性記憶部２００に格納されたデータを用いて、イベントの発生により中断した処理を再開するように中央処理装置２１を制御する制御部２３０と、を備える。【選択図】      図５
2019036259.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置が、二次記憶装置に記憶されているデータを、前記二次記憶装置よりも高速にアクセス可能な揮発性を有する一次記憶装置に格納したのち、前記一次記憶装置に格納された前記データに対する処理を行う場合において、
前記データを記憶可能な記憶容量を有する、前記中央処理装置によって前記二次記憶装置よりも高速にアクセス可能な不揮発性記憶手段と、
前記データが前記一次記憶装置から消失する要因となるイベントが発生したことを検出する検出手段と、
前記検出手段が、前記イベントが発生したことを検出した場合に、前記一次記憶装置に格納されている前記データを前記不揮発性記憶手段に格納する格納手段と、
前記不揮発性記憶手段に格納された前記データを用いて、前記イベントの発生によって中断した前記データに対する処理を再開するように前記中央処理装置を制御する制御手段と、
を備える復旧制御装置。
【請求項２】
前記検出手段は、前記中央処理装置が前記データに対する処理を実行中に発生した障害を、前記イベントとして検出する、
請求項１に記載の復旧制御装置。
【請求項３】
前記検出手段は、使用者による操作入力によって前記中央処理装置に対する所定の命令が入力されたことを、前記イベントとして検出する、
請求項１または請求項２に記載の復旧制御装置。
【請求項４】
前記一次記憶装置において前記データが格納されたアドレスと、前記不揮発性記憶手段に含まれる記憶領域と、を関連付ける管理情報を記憶する管理情報記憶手段をさらに備え、
前記格納手段は、前記データを前記不揮発性記憶手段に格納する際に、前記管理情報を更新し、
前記制御手段は、前記管理情報が示す前記記憶領域から前記データを読み出し、読み出した前記データを、前記管理情報によって前記記憶領域と関連付けられた、前記一次記憶装置における前記アドレスに格納する、
請求項１乃至請求項３のいずれか一項に記載の復旧制御装置。
【請求項５】
前記格納手段は、複数の前記記憶領域のうち、前記管理情報によって前記データが格納されていないことが示されている記憶領域に、前記データを格納する、
請求項４に記載の復旧制御装置。
【請求項６】
前記格納手段は、前記不揮発性記憶手段に対する初期化処理を行う場合において、複数の前記記憶領域のうち、前記管理情報によって前記データが格納されていることが示されている記憶領域に対する前記初期化処理を回避する、
請求項４または請求項５に記載の復旧制御装置。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載の復旧制御装置と、
前記中央処理装置と、
前記一次記憶装置と、
前記二次記憶装置と、
有する復旧制御システム。
【請求項８】
前記中央処理装置は、インメモリデータベースにおいて使用される前記データに対する処理を行う、
請求項７に記載の復旧制御システム。
【請求項９】
中央処理装置が、二次記憶装置に記憶されているデータを、前記二次記憶装置よりも高速にアクセス可能な揮発性を有する一次記憶装置に格納したのち、前記一次記憶装置に格納された前記データに対する処理を行う場合において、
前記データを記憶可能な記憶容量を有する、前記中央処理装置によって前記二次記憶装置よりも高速にアクセス可能な不揮発性記憶手段を備えた情報処理装置によって、
前記データが前記一次記憶装置から消失する要因となるイベントが発生したことを検出し、
前記イベントが発生したことを検出した場合に、前記一次記憶装置に格納されている前記データを前記不揮発性記憶手段に格納し、
前記不揮発性記憶手段に格納された前記データを用いて、前記イベントの発生によって中断した前記データに対する処理を再開するように前記中央処理装置を制御する、
復旧制御方法。
【請求項１０】
中央処理装置が、二次記憶装置に記憶されているデータを、前記二次記憶装置よりも高速にアクセス可能な揮発性を有する一次記憶装置に格納したのち、前記一次記憶装置に格納された前記データに対する処理を行う場合において、
前記データを記憶可能な記憶容量を有する、前記中央処理装置によって前記二次記憶装置よりも高速にアクセス可能な不揮発性記憶手段を備えるコンピュータに、
前記データが前記一次記憶装置から消失する要因となるイベントが発生したことを検出する検出機能と、
前記検出機能が、前記イベントが発生したことを検出した場合に、前記一次記憶装置に格納されている前記データを前記不揮発性記憶手段に格納する格納機能と、
前記不揮発性記憶手段に格納された前記データを用いて、前記イベントの発生によって中断した前記データに対する処理を再開するように前記中央処理装置を制御する制御機能と、
を実現させるための復旧制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、アクセス性能が低い二次記憶装置に記憶されているデータを、その二次記憶装置よりもアクセス性能が高い一次記憶装置に格納したのちに処理するシステムにおいて、イベントの発生によって中断した処理を復旧する技術に関する。
【背景技術】
【０００２】
高度に情報化された現代社会では、情報処理システムにおいて障害等が発生した場合に、復旧処理をより早くかつ確実に行うことを実現する技術への期待が高まってきている。
【０００３】
このような技術に関連する技術として、特許文献１には、１以上のプロセッサと、プログラム命令を格納するシステムメモリと、特殊メモリシステムとを備えたシステムが開示されている。当該特殊メモリシステムは、システム障害が発生した場合に、システムメモリにアプリケーションプログラム用に格納されているアプリケーションデータを、不揮発性データストレージにコピーすることにより保持するように構成されている。このシステムは、指示をアプリケーションプログラムに出すことにより、システムメモリに格納されているアプリケーションデータを保持するように処理する。このシステムは、システム障害が発生した場合に、システムメモリにアプリケーションプログラム用に格納されているアプリケーションデータに関するデータバックアップを有効化する。そして、このシステムは、システム障害から復旧したのち、システムメモリから不揮発性データストレージに移行されるアプリケーションデータに関するその後のデータバックアップを無効化するように構成される。
【０００４】
また、特許文献２には、不揮発記憶装置を備えた情報処理装置が開示されている。この装置は、停電検出時に、不揮発記憶装置にシステム情報を退避させる。この装置は、その退避の後に自装置を停止し、次回起動時に、不揮発記憶装置に退避したシステム情報を用いることにより、自装置の装置停止処理を続行する。
【０００５】
また、特許文献３には、電源異常終了通知レジスタを備えた装置が開示されている。この装置は、装置の電源投入時に、電源異常終了通知レジスタを参照する。この装置は、電源異常終了通知レジスタが装置の電源が異常に遮断されたことを示す情報を格納しており、プロセッサが不揮発性のプロセッサでない場合、電源が遮断される前に実行されていたプロセスを再起動する。この装置は、電源異常終了通知レジスタが装置の電源が異常に遮断されたことを示す情報を格納しており、プロセッサが不揮発性のプロセッサである場合、装置の電源が遮断される前に実行されていたプロセスを、プロセスが中断された処理から再開する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表2016-517122号公報
【特許文献２】国際公開第2014/147700号
【特許文献３】特開2010-108253号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
大規模なデータを高速に処理することが要求されるデータベースシステム等では、アクセス性能が低い磁気ディスク装置などの二次記憶装置に記憶されている処理対象とするデータを、その二次記憶装置よりもアクセス性能が高い主記憶メモリ等の一次記憶装置に格納（複写）したのちに処理することが一般的に行われている。このようにデータベースの実行環境を主記憶メモリ等の中に構築したインメモリデータベースシステムは、アクセス性能が高い主記憶メモリに格納されたデータに対する処理を行うことによって、大規模なデータを高速に処理することができる。
【０００８】
このようなインメモリデータベースシステム等では、通常、使用者による指示あるいは保守交換作業が必要となる障害発生などのイベントを契機としてシステムを再起動するたびに、二次記憶装置に記憶されている大規模なデータを一次記憶装置に格納する処理が発生する。なぜなら、主記憶メモリ等の一次記憶装置は、通常、揮発性を有する記憶デバイスにより構成されているので、システムを再起動した際に、一次記憶装置に格納されていたデータが消失するからである。
【０００９】
そして、このような処理に要する時間は、データの大きさが大きくなればなるほど長くなるので、システムの再起動を伴うようなイベントの発生により中断した処理を復旧（再開）するまでの時間が長くなるという問題がある。特許文献１乃至３は、このような問題について言及していない。本願発明の主たる目的は、この問題を解決する復旧制御装置等を提供することである。
【課題を解決するための手段】
【００１０】
本願発明の一態様に係る復旧制御装置は、中央処理装置が、二次記憶装置に記憶されているデータを、前記二次記憶装置よりも高速にアクセス可能な揮発性を有する一次記憶装置に格納したのち、前記一次記憶装置に格納された前記データに対する処理を行う場合において、前記データを記憶可能な記憶容量を有する、前記中央処理装置によって前記二次記憶装置よりも高速にアクセス可能な不揮発性記憶手段と、前記データが前記一次記憶装置から消失する要因となるイベントが発生したことを検出する検出手段と、前記検出手段が、前記イベントが発生したことを検出した場合に、前記一次記憶装置に格納されている前記データを前記不揮発性記憶手段に格納する格納手段と、前記不揮発性記憶手段に格納された前記データを用いて、前記イベントの発生によって中断した前記データに対する処理を再開するように前記中央処理装置を制御する制御手段と、を備える。
【００１１】
上記目的を達成する他の見地において、本願発明の一態様に係る復旧制御方法は、中央処理装置が、二次記憶装置に記憶されているデータを、前記二次記憶装置よりも高速にアクセス可能な揮発性を有する一次記憶装置に格納したのち、前記一次記憶装置に格納された前記データに対する処理を行う場合において、前記データを記憶可能な記憶容量を有する、前記中央処理装置によって前記二次記憶装置よりも高速にアクセス可能な不揮発性記憶手段を備えた情報処理装置によって、前記データが前記一次記憶装置から消失する要因となるイベントが発生したことを検出し、前記イベントが発生したことを検出した場合に、前記一次記憶装置に格納されている前記データを前記不揮発性記憶手段に格納し、前記不揮発性記憶手段に格納された前記データを用いて、前記イベントの発生によって中断した前記データに対する処理を再開するように前記中央処理装置を制御する。
【００１２】
また、上記目的を達成する更なる見地において、本願発明の一態様に係る復旧制御プログラムは、中央処理装置が、二次記憶装置に記憶されているデータを、前記二次記憶装置よりも高速にアクセス可能な揮発性を有する一次記憶装置に格納したのち、前記一次記憶装置に格納された前記データに対する処理を行う場合において、前記データを記憶可能な記憶容量を有する、前記中央処理装置によって前記二次記憶装置よりも高速にアクセス可能な不揮発性記憶手段を備えるコンピュータに、前記データが前記一次記憶装置から消失する要因となるイベントが発生したことを検出する検出機能と、前記検出機能が、前記イベントが発生したことを検出した場合に、前記一次記憶装置に格納されている前記データを前記不揮発性記憶手段に格納する格納機能と、前記不揮発性記憶手段に格納された前記データを用いて、前記イベントの発生によって中断した前記データに対する処理を再開するように前記中央処理装置を制御する制御機能と、を実現させる。
【００１３】
更に、本願発明は、係る復旧制御プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
【発明の効果】
【００１４】
本願発明は、アクセス性能が低い二次記憶装置に記憶されているデータを、その二次記憶装置よりもアクセス性能が高い一次記憶装置に格納したのちに処理するシステムにおいて、一次記憶装置からデータが消失するイベントの発生によって中断した処理を復旧するまでの時間を短縮することを可能とする。
【図面の簡単な説明】
【００１５】
【図１】本願発明の第１の実施形態に係る復旧制御システム１の構成を概念的に示すブロック図である。
【図２】本願発明の第１の実施形態に係る管理情報１４１の構成を概念的に例示する図である。
【図３】本願発明の第１の実施形態に係る復旧制御システム１が、主記憶１２に格納されているデータを不揮発性メモリ１００に格納する動作を示すフローチャートである。
【図４】本願発明の第１の実施形態に係る復旧制御システム１が、不揮発性メモリ１００に格納されているデータを用いて、中断した処理を再開する動作を示すフローチャートである。
【図５】本願発明の第２の実施形態に係る復旧制御装置２０の構成を概念的に示すブロック図である。
【図６】本願発明の各実施形態に係る復旧制御装置を実行可能な情報処理装置９００の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
＜第１の実施形態＞
図１は、本願発明の第１の実施の形態に係る復旧制御システム１の構成を概念的に示すブロック図である。復旧制御システム１は、大別して、復旧制御装置１０、ＣＰＵ（Central Processing Unit）１１、主記憶１２、ＩＯ制御部１３、及び、二次記憶装置１４を有している。復旧制御システム１は、例えば、サーバ装置などの単体の情報処理装置として構成されてもよい。尚、その場合、復旧制御装置１０、及び、二次記憶装置１４は、それぞれ、当該情報処理装置と通信可能に接続された、当該情報処理装置とは異なる装置であってもよい。また、復旧制御システム１は、ＣＰＵ１１、主記憶１２、ＩＯ制御部１３、及び、二次記憶装置１４を複数備えてもよい。
【００１８】
ＣＰＵ（中央処理装置）１１は、主記憶（一次記憶装置）１２に格納されているプログラムとデータとに対する情報処理を行う。主記憶１２は、電子メモリ等により構成された揮発性を有する記憶デバイスである。ＣＰＵ１１は、ＩＯ制御部１３を介して、二次記憶装置１４へアクセスする。二次記憶装置１４は、例えば磁気ディスク等により構成された不揮発性を有する記憶デバイスである。ＣＰＵ１１による主記憶１２に対するアクセス性能は、ＣＰＵ１１による二次記憶装置１４に対するアクセス性能と比較して十分に高いこととする。
【００１９】
そして、本実施形態に係る復旧制御システム１は、二次記憶装置１４に格納されているデータベースに対する処理を行う場合に、上述したインメモリデータベースシステムとして動作することとする。即ち、復旧制御システム１は、二次記憶装置１４に格納されているデータ（データベース）を、主記憶１２に格納（複写）したのち、主記憶１２に格納されたデータに対する処理を行う。復旧制御システム１は、例えば、所定のタイミングに、主記憶１２に記憶されているデータと、二次記憶装置１４に記憶されているデータとの同期を取る動作を行なう。
【００２０】
図１に示す管理端末装置２は、復旧制御システム１の使用者が、復旧制御システム１に対する操作入力を行なう、あるいは、復旧制御システム１から出力された情報を確認する際に使用する、例えばパーソナルコンピュータ等の情報処理装置である。管理端末装置２は、復旧制御システム１と通信可能に接続されている。使用者が管理端末装置２に対して操作入力した、命令（指示）を示す情報は、ＩＯ制御部１３を介して、ＣＰＵ１１に入力される。この場合、ＣＰＵ１１は、その命令を示す情報に応じた情報処理を行う。
【００２１】
本実施形態に係る復旧制御装置１０は、復旧制御システム１において、主記憶１２に格納されているデータが主記憶１２から消失する要因となるイベントが発生した場合、そのイベントの発生によって中断したその処理を復旧（再開）することを制御する装置である。
【００２２】
本実施形態に係る復旧制御装置１０は、不揮発性メモリ１００−１乃至１００−ｎ（ｎは任意の自然数である。尚、本願では以降、これらｎ個の不揮発性メモリをまとめて不揮発性メモリ１００と称する場合がある）、検出部１１０、格納部１２０、制御部１３０、及び、管理情報記憶部１４０を備えている。
【００２３】
不揮発性メモリ１００は、不揮発性の電子メモリであり、例えば、ＮＶＤＩＭＭ−Ｎ（Non-Volatile Dual-Inline Memory Module）、あるいはＮＶＤＩＭＭ−Ｆ等である。不揮発性メモリ１００は、ＣＰＵ１１によるアクセスが可能であり、主記憶１２及び二次記憶装置１４に格納されているデータ（データベース）を、記憶可能な記憶容量を備えることとする。そして、ＣＰＵ１１による不揮発性メモリ１００に対するアクセス性能は、ＣＰＵ１１による二次記憶装置１４に対するアクセス性能と比較して十分に高いこととする。
【００２４】
検出部１１０は、復旧制御システム１において、主記憶１２に格納されているデータが主記憶１２から消失する要因となるイベントが発生したことを検出する。このようなイベントの一例として、ＣＰＵ１１が当該データに対する処理を実行中に発生した所定の障害がある。但し、所定の障害とは、例えば、保守交換作業が発生することに伴い、復旧制御システム１を再起動することが必要となるような障害である。復旧制御システム１が再起動する際に、主記憶１２は初期化されるので、主記憶１２に格納されているデータは消失する。
【００２５】
あるいは、上述したイベントの別の一例として、復旧制御システム１の使用者がＣＰＵ１１に対する所定の命令を入力した、管理端末装置２に対する操作入力がある。この場合、所定の命令とは、例えば、復旧制御システム１を再起動することを指示する命令である。使用者は、復旧制御システム１の構成を変更する等の場合において、復旧制御システム１の再起動を指示する操作入力を行なう。
【００２６】
検出部１１０は、復旧制御システム１において生成されるログ情報、あるいは、管理端末装置２から復旧制御システム１に入力された情報などを監視することによって、上述したイベントを検出する。但し、検出部１１０は、監視することによって取得したこれらの情報に基づいて上述したイベントが発生したことを検出することを可能とする基準を保持していることとする。検出部１１は、当該イベントを検出した結果を、格納部１２０へ通知する。
【００２７】
格納部１２０は、検出部１１が当該イベントの発生を検出した場合に、主記憶１２に格納されているデータを不揮発性メモリ１００に格納（退避）する機能を有する。
【００２８】
格納部１２０は、検出部１１から当該イベントを検出したことを通知された場合、データに対する処理を実行中であるＣＰＵ１１に対してＳＭＩ（System Management Interrupts）を発行することによって、ＣＰＵ１１を通常動作モードからＳＭＭ（System Management Mode）に移行させる。これにより、ＣＰＵ１１は、主記憶１２に格納されているデータに対する処理を中断する。
【００２９】
そして格納部１２０は、主記憶１２に格納されているデータを、不揮発性メモリ１００に格納する処理を開始する。格納部１２０は、この際、管理情報記憶部１４０に記憶されている管理情報１４１を参照する。尚、管理情報記憶部１４０は、例えば電子メモリあるいは磁気ディスクなどの記憶デバイスである。
【００３０】
図２は、本実施形態に係る管理情報１４１の構成を概念的に例示する図である。管理情報１４１は、不揮発性メモリ１００−１乃至１００−ｎによる、個々の記憶領域に関する使用状況を管理する情報である。管理情報１４１に含まれる個々のエントリ（図２に例示する管理情報１４１に含まれる１行）は、不揮発性メモリ１００−１乃至１００−ｎのいずれかに関する使用状況を表す。
【００３１】
管理情報１４１は、使用フラグと、メモリスロット番号と、主記憶アドレスとを関連付けている。本実施形態に係る不揮発性メモリ１００−１乃至１００−ｎは、それぞれ、個別のメモリスロットに挿入されていることとする。したがって、管理情報１４１に含まれるメモリスロット番号は、不揮発性メモリ１００−１乃至１００−ｎを識別可能な情報（識別子）である。
【００３２】
管理情報１４１に含まれる使用フラグは、本実施形態に係る不揮発性メモリ１００−１乃至１００−ｎが使用中である（データを格納している）か否かを示す情報である。管理情報１４１は、使用フラグが「１」である不揮発性メモリ１００が使用中であることを示している。
【００３３】
管理情報１４１に含まれる主記憶アドレスは、不揮発性メモリ１００−１乃至１００−ｎが記憶しているデータに関する、主記憶１２における格納アドレスを示す情報である。図２に例示する管理情報１４１は、例えば、メモリスロット番号が「１」である不揮発性メモリ１００−１が、主記憶１２におけるアドレス「１０００００００Ｈ−１ＦＦＦＦＦＦＦＨ」に格納されているデータを記憶していることを示している。但し、アドレスにおける末尾の「Ｈ」は、当該アドレスが１６進数であることを示す。また、図２に示す例では、本実施形態に係る不揮発性メモリ１００−１乃至１００−ｎの個々の記憶容量は、４ＧＢ（Giga Byte）である。
【００３４】
図１に示す格納部１２０は、上述した管理情報１４１を参照することによって、未使用の不揮発性メモリ１００−ｉ（ｉは１乃至ｎの少なくともいずれかの整数）を、主記憶１２に格納されているデータの格納先として決定する。そして格納部１２０は、ＣＰＵ１１を制御することによって、主記憶１２に格納されているデータを、順次、不揮発性メモリ１００−ｉに格納する。格納部１２０は、この際、管理情報１４１における不揮発性メモリ１００−ｉに関する使用フラグを「０」から「１」に更新する。格納部１２０は、また、管理情報１４１における不揮発性メモリ１００−ｉに関する主記憶アドレスに、格納したデータに関する主記憶１２における格納アドレスを設定する。
【００３５】
格納部１２０は、上述した処理を行ったのち、ＣＰＵ１１がＳＭＭから通常動作モードに復帰するように制御する。
【００３６】
制御部１３０は、不揮発性メモリ１００に格納されたデータを用いて、上述したイベントの発生によって中断したデータに対する処理を再開するようにＣＰＵ１１を制御する機能を有する。
【００３７】
制御部１３０は、ＣＰＵ１１が復旧制御システム１の再起動に伴う初期化処理を開始した場合、管理情報記憶部１４０に記憶されている管理情報１４１を参照する。制御部１３０は、管理情報１４１において使用フラグが「１」であるエントリが無い（即ち、不揮発性メモリ１００が全く使用されていない）場合、一般的な初期化処理の後、二次記憶装置１４に格納されているデータを用いてデータに対する処理を再開するように、ＣＰＵ１１を制御する。但し、一般的な初期化処理とは、例えば一般的なサーバ装置等が、起動時に、ＣＰＵや主記憶等を含む、装置内の構成に対して行なう初期化処理のことである。この場合、ＣＰＵ１１は、不揮発性メモリ１００−１乃至１００−ｎを全て初期化する。
【００３８】
制御部１３０は、管理情報１４１において使用フラグが「１」であるエントリがある場合、使用フラグが「１」である不揮発性メモリ１００−iに対する初期化処理をスキップ（回避）するようにＣＰＵ１１を制御する。そして、制御部１３０は、ＣＰＵ１１を制御することによって、不揮発性メモリ１００−ｉに格納されているデータを、主記憶１２における管理情報１４１が示す主記憶アドレスに格納する。制御部１３０は、この際、管理情報１４１における不揮発性メモリ１００−ｉに関する使用フラグを「０」にリセットすることによって、不揮発性メモリ１００−iを未使用の状態に更新する。制御部１３０は、こののち、主記憶１２に格納されたデータに対する処理を再開するようにＣＰＵ１１を制御する。
【００３９】
次に図３及び図４のフローチャートを参照して、本実施形態に係る復旧制御システム１の動作（処理）について詳細に説明する。
【００４０】
図３は、本実施形態に係る復旧制御システム１が、主記憶１２に格納されているデータを、不揮発性メモリ１００に格納する動作を示すフローチャートである。
【００４１】
検出部１１０は、主記憶１２に格納されたデータが主記憶１２から消失する要因となるイベントが発生したことを検出し、格納部１２０へ通知する（ステップＳ１０１）。格納部１２０は、ＣＰＵ１１に対してＳＭＩを発行することによって、ＣＰＵ１１を通常動作モードからＳＭＭに移行させる（ステップＳ１０２）。ＣＰＵ１１は、主記憶１２に格納されているデータに対する処理を中断する（ステップＳ１０３）。
【００４２】
格納部１２０は、管理情報１４１を参照することによって、未使用の不揮発性メモリ１００−ｉを、主記憶１２に格納されているデータの格納先として決定する（ステップＳ１０４）。格納部１２０は、ＣＰＵ１１を制御することによって、主記憶１２に格納されているデータを、不揮発性メモリ１００−ｉに格納する（ステップＳ１０５）。
【００４３】
格納部１２０は、不揮発性メモリ１００−ｉに関して、管理情報１４１における使用フラグ及び主記憶アドレスを更新する（ステップＳ１０６）。格納部１２０は、ＣＰＵ１１がＳＭＭから通常動作モードに復帰するように制御し（ステップＳ１０７）、全体の処理は終了する。
【００４４】
図４は、本実施形態に係る復旧制御システム１が、不揮発性メモリ１００に格納されているデータを用いて、中断した処理を再開する動作を示すフローチャートである。
【００４５】
ＣＰＵ１１は、復旧制御システム１の再起動に伴う初期化処理を開始する（ステップＳ２０１）。制御部１３０は、管理情報１４１を確認する（ステップＳ２０２）。管理情報１４１において、使用フラグが「１」であるエントリが無い場合（ステップＳ２０３でＮｏ）、制御部１３０は、一般的な初期化処理の後、二次記憶装置１４に格納されているデータを用いてデータに対する処理を再開するように、ＣＰＵ１１を制御し（ステップＳ２０４）、全体の処理は終了する。
【００４６】
管理情報１４１において、使用フラグが「１」であるエントリがある場合（ステップＳ２０３でＹｅｓ）、制御部１３０は、使用フラグが「１」である不揮発性メモリ１００−iに対する初期化処理をスキップするように、ＣＰＵ１１を制御する（ステップＳ２０５）。ＣＰＵ１１は、二次記憶装置１４にアクセスすることによって、ＯＳ（Operating System）を起動する（ステップＳ２０６）。
【００４７】
制御部１３０は、ＣＰＵ１１を制御することによって、不揮発性メモリ１００−ｉに格納されているデータを、主記憶１２における管理情報１４１が示す主記憶アドレスに格納する（ステップＳ２０７）。制御部１３０は、不揮発性メモリ１００−iに関する管理情報１４１における使用フラグを「０」にリセットする（ステップＳ２０８）。制御部１３０は、主記憶１２に格納されたデータに対する処理を再開するようにＣＰＵ１１を制御し（ステップＳ２０９）、全体の処理は終了する。
【００４８】
本実施形態に係る復旧制御装置１０は、アクセス性能が低い二次記憶装置に記憶されているデータを、その二次記憶装置よりもアクセス性能が高い一次記憶装置に格納したのちに処理するシステムにおいて、一次記憶装置からデータが消失するイベントの発生によって中断した処理を復旧するまでの時間を短縮することができる。その理由は、復旧制御装置１０は、当該イベントが発生した場合、主記憶１２に記憶されているデータを不揮発性メモリ１００に格納（退避）し、不揮発性メモリ１００に格納したデータを使用して、中断した処理を復旧するからである。
【００４９】
以下に、本実施形態に係る復旧制御装置１０によって実現される効果について、詳細に説明する。
【００５０】
例えばインメモリデータベースシステム等では、磁気ディスク等の二次記憶装置に記憶されているデータを、揮発性を有する主記憶メモリ等の一次記憶装置に格納したのちに、そのデータに対する処理を行う。この場合、システムの再起動を伴うようなイベントが発生した際に、一次記憶装置に格納されていたデータが消失するので、そのようなイベントが発生するたびに、二次記憶装置に記憶されているデータを一次記憶装置に格納する処理が発生する。そして、このような処理に要する時間は、データの大きさが大きくなればなるほど長くなるので、そのようなイベントの発生により中断した処理を復旧（再開）するまでの時間が長くなるという問題がある。
【００５１】
このような問題に対して、本実施形態に係る復旧制御装置１０は、不揮発性メモリ１００と、検出部１１０と、格納部１２０と、制御部１３０と、を備え、例えば図１乃至図４を参照して上述する通り動作する。但し、本実施形態では、ＣＰＵ（中央処理装置）１１が、二次記憶装置１４に記憶されているデータを、二次記憶装置１４よりも高速にアクセス可能な揮発性を有する主記憶（一次記憶装置）１２に格納したのち、主記憶１２に格納されたデータに対する処理を行うことを前提とする。
【００５２】
このような場合において、不揮発性メモリ１００は、当該データを記憶可能な記憶容量を有し、ＣＰＵ１１によって二次記憶装置１４よりも高速にアクセス可能である。検出部１１０は、当該データが主記憶１２から消失する要因となるイベントが発生したことを検出する。格納部１２０は、検出部１１０が、当該イベントが発生したことを検出した場合に、主記憶１２に格納されている当該データを不揮発性メモリ１００に格納する。そして制御部１３０は、不揮発性メモリ１００に格納された当該データを用いて、当該イベントの発生によって中断した当該データに対する処理を再開するようにＣＰＵ１１を制御する。
【００５３】
即ち、本実施形態に係る復旧制御装置１０は、アクセス性能が低い二次記憶装置１４ではなく、アクセス性能が高い不揮発性メモリ１００に格納されたデータを用いて、当該イベントの発生によって中断した当該データに対する処理を再開するようにＣＰＵ１１を制御する。これにより、復旧制御装置１０は、主記憶１２からデータが消失するイベントの発生によって中断した処理を復旧するまでの時間を短縮することができる
また、本実施形態に係る復旧制御装置１０は、管理情報１４１を用いることによって、不揮発性メモリ１００に格納したデータを管理する。即ち、格納部１２０は、データを不揮発性メモリ１００に格納する際に、管理情報１４１を更新する。そして、制御部１３０は、管理情報１４１が示す不揮発性メモリ１００における記憶領域からデータを読み出し、読み出したデータを、管理情報１４１によって当該記憶領域と関連付けられた、主記憶１２におけるアドレスに格納する。これにより、本実施形態に係る復旧制御装置１０は、当該イベントの発生によって中断した当該データに対する処理を復旧することを確実に行なうことができる。
【００５４】
尚、上述した本実施形態では、主記憶１２と不揮発性メモリ１００とを、別々の構成としているが、例えば、復旧制御システム１は、不揮発性メモリ１００が主記憶１２に含まれるような構成を備えてもよい。その場合、主記憶１２は、例えばＮＶＤＩＭＭ−Ｎを使用することによって、揮発性を有する記憶領域と不揮発性を有する記憶領域とを備え、揮発性を有する記憶領域にインメモリデータベースを構築する。そして、復旧制御装置１０は、主記憶１２に含まれる不揮発性を有する記憶領域を使用することによって、上述したような動作を行なう。
【００５５】
また、本実施形態に係る復旧制御装置１０が対象とする情報処理（アプリケーション、業務）は、インメモリデータベースに限定されない。復旧制御装置１０は、二次記憶装置１４に記憶されているデータを主記憶１２に格納することによって、主記憶１２の中に実行環境を構築するような様々な情報処理に関しても、上述したような動作を行なうことが可能である。
【００５６】
＜第２の実施形態＞
図５は、本願発明の第２の実施形態に係る復旧制御装置２０の構成を概念的に示すブロック図である。本実施形態に係る復旧制御装置２０は、中央処理装置２１が、二次記憶装置２４に記憶されているデータを、二次記憶装置２４よりも高速にアクセス可能な揮発性を有する一次記憶装置２２に格納したのち、一次記憶装置２２に格納されたデータに対する処理を行う場合に、イベントの発生によって中断した当該データに対する処理を復旧することを制御する装置である。
【００５７】
本実施形態に係る復旧制御装置２０は、不揮発性記憶部２００、検出部２１０、格納部２２０、及び、制御部２３０を備えている。
【００５８】
不揮発性記憶部２００は、当該データを記憶可能な記憶容量を有する、中央処理装置２１によって二次記憶装置２４よりも高速にアクセス可能な記憶デバイスである。
【００５９】
検出部２１０は、当該データが一次記憶装置２２から消失する要因となるイベントが発生したことを検出する。
【００６０】
格納部２２０は、検出部２１０が、当該イベントが発生したことを検出した場合に、一次記憶装置２２に格納されている当該データを不揮発性記憶部２００に格納する。
【００６１】
制御部２３０は、不揮発性記憶部２００に格納された当該データを用いて、中断した当該データに対する処理を再開するように中央処理装置２１を制御する。
【００６２】
本実施形態に係る復旧制御装置２０は、アクセス性能が低い二次記憶装置に記憶されているデータを、その二次記憶装置よりもアクセス性能が高い一次記憶装置に格納したのちに処理するシステムにおいて、一次記憶装置からデータが消失するイベントの発生によって中断した処理を復旧するまでの時間を短縮することができる。その理由は、復旧制御装置２０は、当該イベントが発生した場合、一次記憶装置２２に記憶されているデータを不揮発性記憶部２００に格納（退避）し、不揮発性記憶部２００に格納したデータを使用して、中断した処理を復旧するからである。
【００６３】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図５に示した復旧制御装置における各部は、専用のＨＷ（ＨａｒｄＷａｒｅ）（電子回路）によって実現することができる。また、図１、及び、図５において、少なくとも、下記構成は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。
・検出部１１０、及び、２１０、
・格納部１２０、及び、２２０、
・制御部１３０、及び、２３０。
【００６４】
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図６を参照して説明する。
【００６５】
図６は、本願発明の各実施形態に係る復旧制御装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図６は、図１、及び、図５に示した復旧制御装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００６６】
図６に示した情報処理装置９００は、構成要素として下記を備えている。
・ＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）９０１、
・ＲＯＭ（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）９０２、
・ＲＡＭ（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）９０３、
・ハードディスク（記憶装置）９０４、
・外部装置との通信インタフェース９０５、
・バス９０６（通信線）、
・ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記録媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、
・入出力インタフェース９０９。
【００６７】
即ち、上記構成要素を備える情報処理装置９００は、これらの構成がバス９０６を介して接続された一般的なコンピュータである。情報処理装置９００は、ＣＰＵ９０１を複数備える場合もあれば、マルチコアにより構成されたＣＰＵ９０１を備える場合もある。
【００６８】
そして、上述した実施形態を例に説明した本願発明は、図６に示した情報処理装置９００に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図（図１、及び、図５）における上述した構成、或いはフローチャート（図３、及び、図４）の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ（ＲＡＭ９０３）、または、ＲＯＭ９０２やハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００６９】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、ＣＤ−ＲＯＭ等の各種記録媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体９０７によって構成されると捉えることができる。
【００７０】
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００７１】
１    復旧制御システム
１０    復旧制御装置
１００−１乃至１００−ｎ    不揮発性メモリ
１１０    検出部
１２０    格納部
１３０    制御部
１４０    管理情報記憶部
１４１    管理情報
１１    ＣＰＵ
１２    主記憶
１３    ＩＯ制御部
１４    二次記憶装置
２    管理端末装置
２０    復旧制御装置
２００    不揮発性記憶部
２１０    検出部
２２０    格納部
２３０    制御部
２１    中央処理装置
２２    一次記憶装置
２４    二次記憶装置
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク（記憶装置）
９０５    通信インタフェース
９０６    バス
９０７    記録媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2019036259.tif 000003
【図２】
2019036259.tif 000004
【図３】
2019036259.tif 000005
【図４】
2019036259.tif 000006
【図５】
2019036259.tif 000007
【図６】
2019036259.tif 000008