(57)【特許請求の範囲】
【請求項１】
複数のコアを有するメニーコアプロセッサと、
前記複数のコアのうち、所定の数のコアを割り当てられ、入力された処理データに対して映像処理を施す第１の仮想マシンと、
前記複数のコアのうち、前記第１の仮想マシンとは異なるコアを割り当てられ、ネットワークを介して外部と前記処理データを送受信する第２の仮想マシンと、
前記第１の仮想マシンに異常が発生した場合、前記処理データの入力先を前記第１の仮想マシンから前記第２の仮想マシンへ切り替える切替部と、
前記第２の仮想マシンから送信された前記処理データを受信し、当該処理データに対して前記第１の仮想マシンによる映像処理と同等の処理を施して前記第２の仮想マシンへ送信する外部データ処理装置と、
前記第１の仮想マシンに異常がない場合、前記第１の仮想マシンで映像処理を施された前記処理データを映像出力装置へ出力し、前記第１の仮想マシンに異常が発生した場合、前記外部データ処理装置から前記第２の仮想マシンが受信した前記処理データを前記映像出力装置へ出力する映像出力部と、
を備えたことを特徴とするデータ処理システム。
【請求項２】
前記第１の仮想マシンは、前記複数のコアのうち、前記第２の仮想マシンに割り当てられたコア以外のコアを割り当てられることを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記外部データ処理装置と前記第２の仮想マシン上で共有され、前記切替部により入力先を切り替えられた前記第２の仮想マシン上から前記外部データ処理装置上の前記処理データに対して映像処理を施すよう制御する分散ファイルシステム部と、
を更に備えたことを特徴とする請求項１に記載のデータ処理システム。
【請求項４】
前記メニーコアプロセッサは、メインクラスタに備えられ、
前記外部データ処理装置は、分散クラスタであり、
前記分散ファイルシステム部は、
前記第２の仮想マシン上で使用される第１の分散ファイルシステムと、
前記ネットワーク上で共有され、前記分散クラスタ上で使用される第２の分散ファイルシステムと、で構成され、
前記切替部により切り替えられた前記第２の仮想マシンは、前記分散クラスタ上の処理対象データに対して、前記第１の分散ファイルシステムを介して前記第２の分散ファイルシステム内の映像処理プログラムを実行することで映像処理を施すよう制御する
ことを特徴とする請求項３に記載のデータ処理システム。
【請求項５】
前記第１の仮想マシンの異常の有無を検知する異常検知部と、
前記異常検知部が前記第１の仮想マシンの異常を検知した場合に、前記第１の仮想マシンの復旧処理を行う復旧処理部と、を更に備え、
前記復旧処理部が前記第１の仮想マシンの復旧処理を完了した場合には、前記切替部は、前記第２の仮想マシンから前記第１の仮想マシンに切り替えることを特徴とする請求項１に記載のデータ処理システム。
【請求項６】
複数のコアを有するメニーコアプロセッサを有するデータ処理システムにおいてデータを処理する方法であって、
前記複数のコアのうち、所定の数のコアを割り当てられた第１の仮想マシンは、入力された処理データに対して映像処理を施し、
前記第１の仮想マシンとは異なるコアを割り当てられた第２の仮想マシンは、ネットワークを介して外部と前記処理データを送受信し、
前記第１の仮想マシンに異常が発生した場合、前記処理データの入力先を前記第１の仮想マシンから前記第２の仮想マシンへ切り替え、
外部データ処理装置は、前記第２の仮想マシンから送信された前記処理データを受信し、当該処理データに対して前記第１の仮想マシンによる映像処理と同等の処理を施して前記第２の仮想マシンへ送信し、
前記第１の仮想マシンに異常がない場合、前記第１の仮想マシンで映像処理を施された前記処理データを映像出力装置へ出力し、前記第１の仮想マシンに異常が発生した場合、前記第２の仮想マシンが前記外部データ処理装置から受信した前記処理データを前記映像出力装置へ出力するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを処理するデータ処理装置を備えるデータ処理システムにおいて、オペレーティングシステムに異常が検知された場合の対処方法に関する。
【背景技術】
【０００２】
従来技術として、ハードウェアを仮想化し、１つのプロセッサで複数のオペレーティングシステム（以下ＯＳとする）を動作させ、メインのＯＳに異常があった場合には他のＯＳに切り替える技術について開示されている（例えば、特許文献１、２及び３）。これによれば、メインのＯＳに異常が発生したときのために動作させるＯＳを用意しておく。メインのＯＳが異常等によりダウンしたときは、他のＯＳが起動して所定の処理動作を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１７３９６９号公報
【特許文献２】特開２００３−３６１７４号公報
【特許文献３】特開２００９−１１６６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の複数のＯＳを有するシステムにおいては、メインのＯＳに異常があった場合のために他のＯＳをシステムに搭載しておく必要がある。このため、システム構成が増大してしまい、通常時においては他のＯＳは動作しないため、処理性能にも無駄が生じてしまっていた。【０００５】
本発明は、データを処理するデータ処理システムにおいて、異常が検知されてリセットを行う場合であっても、無駄のない構成で、データ処理を継続することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るデータ処理システムによれば、複数のコアを備えたプロセッサを搭載したデータ処理装置と、前記データ処理装置とネットワークを介して互いに通信可能に接続され、処理対象データに対して処理を施す処理プログラムを備えた外部データ処理装置と、を有するデータ処理システムであって、前記データ処理装置は、前記複数のコアのうち、所定のコアを使用する通常時用オペレーティングシステムと、前記複数のコアのうち、前記所定のコアと異なるコアを使用し、前記外部データ処理装置と前記ネットワーク上で共有される非常時用オペレーティングシステムと、前記通常時用オペレーティングシステムの異常の有無を検知する異常検知部と、前記異常検知部が前記通常時用オペレーティングシステムの異常を検知した場合、前記通常時用オペレーティングシステムから前記非常時用オペレーティングシステムへと切り替えて動作させる切替部と、前記外部データ処理装置の間で、前記処理対象のデータの送受信を行う送受信部と、を備え、前記切替部により切り替えられた前記非常時用オペレーティングシステムは、前記データ送受信部により、前記処理対象データを前記データ処理装置から前記外部データ処理装置へと送信し、当該処理対象データに対して前記外部データ処理装置上の前記処理プログラムを実行するよう制御することを特徴とする。【０００７】
また、本発明の一態様に係るデータ処理方法によれば、複数のコアを備えたプロセッサを搭載したデータ処理装置と、前記データ処理装置とネットワークを介して互いに通信可能に接続され、処理対象データに対して処理を施す処理プログラムを備えた外部データ処理装置と、を有するデータ処理システムにおいてデータを処理する方法であって、前記データ処理装置において、前記複数のコアのうち、所定のコアを使用する通常時用オペレーティングシステムの異常の有無を検知し、前記通常時用オペレーティングシステムの異常を検知した場合、前記通常時用オペレーティングシステムから前記複数のコアのうち、前記所定のコアと異なるコアを使用し、前記外部データ処理装置と前記ネットワーク上で共有される非常時用オペレーティングシステムへと切り替えて動作させ、前記データ処理装置及び前記外部データ処理装置の間で、前記処理対象のデータの送受信を行い、前記切り替えられた前記非常時用オペレーティングシステムは、前記データの送受信により、前記処理対象データを前記データ処理装置から前記外部データ処理装置へと送信し、当該処理対象データに対して前記外部データ処理装置上の前記処理プログラムを実行するよう制御することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データを処理するデータ処理システムにおいて、異常が検知されてリセットを行う場合であっても、無駄のない構成で、データ処理を継続することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るデータ処理システムの全体ブロック構成を示す図である。
【図２】実施形態に係るデータ処理システムにおいて、メインＯＳの通常時に映像データを処理する際のシーケンスを示す図である。
【図３Ａ】実施形態に係るデータ処理システムにおいて、メインＯＳに異常が検知された場合に映像データを処理する際のシーケンスを示す図（その１）である。
【図３Ｂ】実施形態に係るデータ処理システムにおいて、メインＯＳに異常が検知された場合に映像データを処理する際のシーケンスを示す図（その２）である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
図１は、本実施形態に係るデータ処理システムの全体ブロック構成を示す図である。図１に示すデータ処理システム１００は、ビデオプロセッサ１、映像入力装置３、映像出力装置４及びワークステーション２を有する。図１においては、データ処理システム１００を構成する装置及び各装置内の構成については、本実施形態に係るデータの処理方法に係わる構成のみを記載している。
【００１１】
映像入力装置３は、実施例では、スコープであり、先端のＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary MOS（Metal Oxide Semiconductor））にて撮像を行って映像データを取得し、取得した映像データをビデオプロセッサ１に出力する。
【００１２】
ビデオプロセッサ１は、実施例では、内視鏡ビデオプロセッサであり、映像入力装置３及び映像出力装置４と有線または無線で接続されている。ビデオプロセッサ１は、映像入力装置３から入力された映像データに対して必要な映像処理を施し、得られた処理済の映像データを映像出力装置４に出力する。
【００１３】
映像出力装置４は、実施例では、モニタであり、ビデオプロセッサ１から入力された処理済の映像データに基づき、映像を表示する。
このように、データ処理システム１００は、実施例では、内視鏡システムである。内視鏡システムでは、スコープ等の映像入力装置３で取得した映像データに対してビデオプロセッサ１にて必要な処理を施し、処理済の映像データをモニタ４等の映像出力装置４に出力する。映像出力装置４は、ビデオプロセッサ１から受信した映像データに基づき、映像を出力する。
【００１４】
図１に示すビデオプロセッサ１は、メニーコアプロセッサ１２、集積回路（図１においてはＦＰＧＡ（Field-Programmable Gate Array）＃１）１１Ａ、１１Ｂ及びインターフェース部１３を有する。
【００１５】
ＦＰＧＡ＃１（１１Ａ）は、映像入力装置３から３Ｇ−ＳＤＩ規格により伝送された映像データを受け付けて、前段処理を施した映像データをメニーコアプロセッサ１２に出力する。ＦＰＧＡ１１Ａから出力された映像データは、メニーコアプロセッサ１２の状態に応じて、第１のインターフェース部であるＰＣＩｅ（Peripheral Component Interconnect express）＃１（１３Ａ）または第２のインターフェース部であるＰＣＩｅ＃２（１３Ｂ）のいずれかを介してメニーコアプロセッサ１２に入力される。また、ＦＰＧＡ＃１（１１Ｂ）は、メニーコアプロセッサ１２から出力された映像データに後段処理を施し、これを映像出力装置４に向けて送出する。
【００１６】
図１においては、映像入力装置３や映像出力装置４との入出力関係を図示するため、映像入力装置３から入力された映像データに対して前段処理を実行するための構成には符号「１１Ａ」を付している。メニーコアプロセッサ１２にて必要な処理を施された映像データに対して後段処理を実行するための構成には符号「１１Ｂ」を付している。
【００１７】
メニーコアプロセッサ１２は、ＰＣＩｅ＃１（１３Ａ）またはＰＣＩｅ＃２（１３Ｂ）を介して入力された映像データに対して必要な処理を施し、ＦＰＧＡ＃１（１１Ｂ）に向けて処理済の映像データを出力する。メニーコアプロセッサ１２は、多数のプロセッサコアを有し、ハイパーバイザ２１を実行する。ハイパーバイザ２１は、通常時用、非常時用及び監視用の仮想マシンを稼動させる。
【００１８】
通常時用仮想マシンは、メニーコアプロセッサ１２が有する多数のプロセッサコアのうちの所定のコアを使用して、メインＯＳインスタンス２２、ファイルシステム２３、映像処理アプリケーション２４を実装する。通常時用仮想マシンは、通常時、すなわちメインＯＳが正常に動作しているときは、メインＯＳインスタンス２２上で動作する映像処理アプリケーション２４において、ＰＣＩｅ＃１（１３Ａ）を介して入力された映像データに対し、ファイルシステム２３を利用して必要な処理を施す。映像処理アプリケーション２４は、必要な処理を施した映像データを、ＦＰＧＡ＃１（１１Ｂ）を介して映像出力装置４に向けて送出する。
【００１９】
非常時用仮想マシンは、メニーコアプロセッサ１２が有する多数のプロセッサコアのうちの通常時用仮想マシンに使用するコアとは異なるコアを使用する。非常時用仮想マシンは、非常時用ＯＳインスタンス（ＦＴ（Fault Tolerant）−ＯＳインスタンス）２５、分散ファイルシステム２６ｆ及び映像データ送受信アプリケーション２７を実装する。非常時用仮想マシンは、非常時、すなわちメインＯＳの異常が検知されてメインＯＳがリセット処理を実行している間は、ＦＴ−ＯＳインスタンス２５上で動作する映像データ送受信アプリケーション２５において、分散クラスタを用いて映像データを処理させる。実施例では、図１に示すように、映像データ送受信アプリケーション２７は、ビデオプロセッサ１外部の装置であるワークステーション２に向けて映像データを転送する。映像データ送受信アプリケーション２７は、ワークステーション２から処理済の映像データを受信すると、これをＦＰＧＡ＃１（１１Ｂ）を介して映像出力装置４に向けて送出する。非常時用仮想マシンとワークステーション１とは、分散ファイルシステム２６を共有する。
なお、メインＯＳのリセット処理については、ＯＳをリセットして再起動するための公知の技術を用いている。
【００２０】
なお、メインＯＳのリセット処理については、ＯＳをリセットして再起動するための公知の技術を用いている。
監視用仮想マシンは、監視用ＯＳインスタンス２８、ファイルシステム２９及び監視アプリケーション３０を実装する。監視用ＯＳインスタンス２８上で動作する監視アプリケーション３０は、メインＯＳインスタンス２２を定期的に監視する。監視アプリケーション３０は、メインＯＳインスタンス２２の異常を検知すると、メインＯＳインスタンス２２及びＦＰＧＡ＃１（１１Ａ）にコマンドを送信し、それぞれメインＯＳのリセット及び出力先の切り替えを実行させる。監視用仮想マシンは、監視アプリケーション３０においてメインＯＳが復旧したことを認識すると、通常用仮想マシンによる映像データの処理へと切り替えるための処理を実行する。これらの切り替え処理の具体的な内容については、図３Ａ及び図３Ｂを参照して後に詳しく説明する。
【００２１】
ワークステーション２は、ビデオプロセッサ１とギガビットイーサネット（ＧｂＥ、イーサネットは登録商標）等を介して相互接続される、ビデオプロセッサ１外部の情報処理装置である。上記のとおり、データ処理システム１００上においては、メインクラスタを構成するビデオプロセッサ１に対し、ワークステーション２は、分散クラスタを構成する。ワークステーション２のＣＰＵ５は、ＯＳ５１、分散ファイルシステム２６ｗ及び実行ファイル５３を実装する。ＣＰＵ５は、ビデオプロセッサ１からの実行ファイル５３を実行する旨のコマンドにしたがって、実行ファイル５３を実行し、実行ファイル５３に記述されている処理を開始させる。
【００２２】
実施例では、実行ファイル５３は、映像処理アプリケーションのプログラムを含む。実行ファイル５３に含まれる映像処理アプリケーションは、メインＯＳインスタンス２２上で動作する映像処理アプリケーション２４と同様の処理を行う。非常時、すなわち、メインＯＳがリセット処理を実行している間は、メインＯＳインスタンス２２上で動作する映像処理アプリケーション２４が動作することができない。この期間においては、実行ファイル５３の映像処理アプリケーションが、ビデオプロセッサ１の映像処理アプリケーション２４に替わり、映像処理を実行する。ワークステーション２は、実行ファイル５３の映像処理アプリケーションにより得た処理済の映像データを、ビデオプロセッサ１に転送する。こうして、分散クラスタにおける映像データの処理により、メインＯＳのリセット中であっても、通常時用仮想マシンの映像処理アプリケーション２４にて処理された場合と同様に、メニーコアプロセッサ１２からＦＰＧＡ＃１（１１Ｂ）を介して映像出力装置４に向けて送出されることとなる。
【００２３】
上記のとおり、本実施形態に係るデータ処理システム１００においては、ハイパーバイザ２１により複数の（図１に示す構成例では２つの）ＯＳインスタンスを実装する。データ処理システム１００においては、メインクラスタであるビデオプロセッサ１上で動作するハイパーバイザ２１を有し、ハイパーバイザ２１上では、通常時用のメインＯＳインスタンス２２と、非常時用のＦＴ−ＯＳインスタンス２５とが動作する。データ処理システム１００は、非常時用のＦＴ−ＯＳインスタンス２５と、分散クラスタであるワークステーション２との間で共通にアクセスできる分散ファイルシステム２６（図１においては２６ｆ及び２６ｗ）を有している。ＦＴ−ＯＳインスタンス２５は、ＦＴ−ＯＳインスタンス２５上に設けられる分散ファイルシステム２６ｆを介して、分散クラスタ上の分散ファイルシステム２６ｗ内の処理プログラムを実行可能に構成される。そして、メインＯＳインスタンス２２に異常が検知されてリセット処理を実行している間は、分散ファイルシステム２６（２６ｆ及び２６ｗ）を利用して、ワークステーション２にて映像処理を継続させる。
【００２４】
次に、本実施形態に係るデータ処理システム１００による通常時及び非常時のデータの処理方法について、シーケンス図を参照して具体的に説明する。
図２は、本実施形態に係るデータ処理システム１００において、メインＯＳの通常時に映像データを処理する際のシーケンスを示す図である。まず、図２を参照して、通常時におけるデータ処理システム１００の動作について説明する。
【００２５】
図２に示すように、ＦＰＧＡ＃１（１１Ａ）において、映像入力装置３から送信された映像データを受け付けると、図１のＰＣＩｅ＃１（１３Ａ）を介して通常時仮想マシンに映像データを転送する。通常時用仮想マシンは、受信した映像データに対して必要な処理を施す。具体的には、上記のとおり、メインＯＳインスタンス２２上で動作する映像処理アプリケーション２４がファイルシステム２３を用いて必要な処理を施し、ＰＣＩｅ＃１（１３Ａ）を介してＦＰＧＡ＃１（１１Ｂ）に処理済の映像データを出力する。こうして、メニーコアプロセッサ１２のメインＯＳインスタンス２２上で動作する映像処理アプリケーション２４は、ＦＰＧＡ＃１（１１Ｂ）を介して処理済の映像データを映像出力装置４に送出し、映像出力装置４は、受信した映像データに基づき映像を出力する。なお、図２においては簡単のため、映像入力装置３側のＦＰＧＡ＃１（１１Ａ）と映像出力装置４側のＦＰＧＡ＃１（１１Ｂ）とを共通のオブジェクトとして記載している。
【００２６】
監視用仮想マシンの監視用ＯＳインスタンス２８上で動作する監視アプリケーション３０は、メインＯＳの状態を定期的に監視している。図２に示すように、メインＯＳの異常が検知されていない間（通常時）は、ビデオプロセッサ１のメインＯＳインスタンス２２上で動作する映像処理アプリケーション２４が、映像入力装置３から入力された映像データを順次処理する。こうして、メインＯＳの異常が検知されていない間は、ビデオプロセッサ１のメインＯＳインスタンス２２上で動作する映像処理アプリケーション２４が、処理済の映像データを映像出力装置４に出力していく処理を継続する。
【００２７】
図３Ａ及び図３Ｂは、本実施形態に係るデータ処理システム１００において、メインＯＳに異常が検知された場合に映像データを処理する際のシーケンスを示す図である。このうち、図３Ａは、通常時用仮想マシン（メインＯＳ）において映像データを処理しているときに、メインＯＳに異常が検知され、メインＯＳのリセットを開始する処理のシーケンスを表す。図３Ｂは、リセット処理によってメインＯＳが復旧した後の処理のシーケンスを表す。次に、図３Ａ及び図３Ｂを参照して、非常時におけるデータ処理システム１００の動作について説明する。
【００２８】
まず、図３Ａの（＊）においては、図２と同様の処理を実行する。すなわち、メインＯＳインスタンス２２上の映像処理アプリケーション２４が、映像入力装置３からＦＰＧＡ＃１（１１Ａ）を介して入力された映像データを処理し、ＦＰＧＡ＃１（１１Ｂ）を介して映像出力装置４に処理済の映像データを出力する。
【００２９】
ここで、監視用ＯＳインスタンス２８上で動作する監視アプリケーション３０が定期的にメインＯＳを監視していたところ、メインＯＳに不具合が発生し、監視アプリケーション３０にてその異常を検知したとする（図３Ａの（※１））。監視アプリケーション３０は、メインＯＳインスタンス２２に対してはリセット処理を実行するようコマンドを出す。これとともに、監視アプリケーション３０は、ＦＰＧＡ＃１（１１Ａ）に対しては、出力先を切り替えるようコマンドを出す。また、分散クラスタ（図１ではワークステーション２）に対しては、実行ファイルの実行、すなわち、映像処理アプリケーション５３による映像処理を実行するようコマンドを出す。
【００３０】
メインＯＳインスタンス２２は、監視アプリケーション３０からリセット処理を実行する旨のコマンドを受信すると、これにしたがって、リセット処理を実行する。ＦＰＧＡ＃１（１１Ａ）は、監視アプリケーション３０から出力先を切り替える旨のコマンドを受信すると、出力先を指示されたインターフェース部へと切り替える。図３Ａに示すように、メインＯＳインスタンス２２の異常が検知された場合は、ＦＰＧＡ＃１（１１Ａ）は、出力先をＰＣＩｅ＃１（１３Ａ）からＰＣＩｅ＃２（１３Ｂ）へと切り替える。
【００３１】
なお、図１に示す構成のように、ＦＰＧＡ＃１（１１Ａ）の出力先が２つである場合は、切り替えコマンドにより、現在の出力先から他方の出力先へと切り替える構成としてもよい。
【００３２】
ＦＴ−ＯＳインスタンス２５は、第２のインターフェース部であるＰＣＩｅ＃２（１３Ｂ）から映像データが入力されると、これを検知する。映像データの入力を検知すると、ＦＴ−ＯＳインスタンス２５上で動作する映像データ送受信アプリケーション２７は、ワークステーション２との通信を開始して、分散クラスタを利用して、入力された映像データの処理を行っていく。
【００３３】
具体的には、映像送受信アプリケーション２７は、入力された映像データをＧｂＥで分散クラスタへと転送する。分散クラスタであるワークステーション２上の映像処理アプリケーション５３は、監視アプリケーション３０から映像処理を実行する旨のコマンドを受信してから処理を開始するための準備処理を実行して映像データの受信を待ち受けている。映像データ送受信アプリケーション２７から映像データを受信すると、映像処理アプリケーション５３は、受信した映像データに対して映像処理の実施を開始する。分散クラスタの映像処理アプリケーション５３は、処理済の映像データを映像データ送受信アプリケーション２７へと転送し、映像データ送受信アプリケーション２７は、ＰＣＩｅ＃２（１３Ｂ）及びＦＰＧＡ＃１（１１Ｂ）を介して映像出力装置４へと出力する。
【００３４】
その後、メインＯＳが復旧した後のシーケンスは、図３Ｂに示すとおりである。
図３Ａ及び図３Ｂに示すように、監視アプリケーション３０は、メインＯＳがリセットを行っている期間中も、引き続き定期的にメインＯＳの状態監視を行っている。監視アプリケーション３０は、メインＯＳインスタンス２２側からメインＯＳのリセットが完了した旨の通知を受け取る（図３Ｂの（※２））と、分散クラスタにおける代替の映像処理から再びメインＯＳインスタンス２２上での映像処理へと戻すためのコマンドを各部に出す。
【００３５】
具体的には、監視アプリケーション３０は、ＦＰＧＡ＃１（１１Ａ）に対し、出力先を切り替えるようコマンドを出す。ＦＰＧＡ＃１（１１Ａ）は、監視アプリケーション３０から受信したコマンドに基づき、出力先をＰＣＩｅ＃２（１３Ｂ）からＰＣＩｅ＃１（１３Ａ）へと切り替える。ＦＰＧＡ＃１（１１Ａ）による出力先の切り替え処理が完了すると、映像入力装置３からビデオプロセッサ１に入力された映像データは、ＰＣＩｅ＃１（１３Ａ）を介してメインＯＳ上で動作する映像処理アプリケーション２４へと渡されることとなる。こうして、メインＯＳのリセットが完了してメインＯＳが再び正常に動作するようになると、メインＯＳインスタンス２２上で動作する映像処理アプリケーション２４が、映像処理動作を実行していく。メインＯＳが正常な動作を再開して以降の各部の処理動作については、先に図２を参照して説明したとおりである。
【００３６】
以上説明したように、本実施形態に係るデータ処理システム１００によれば、ビデオプロセッサ１は、メインクラスタを構成し、メインＯＳインスタンス２２に異常を検知すると、メインＯＳインスタンス２２がリセット処理を実行している間は、ＦＴ−ＯＳインスタンス２５が分散クラスタであるワークステーション２に処理対象の映像データを転送する。ワークステーション２においては、メインＯＳインスタンス２２上で動作する映像処理プログラム２４と同様の処理を実行する映像処理プログラムを含む実行ファイル５３を有する。ワークステーション２上で実行ファイル５３の映像処理プログラムを実行することで、メインＯＳインスタンス２２がリセット中であっても、映像データの処理を継続し、映像出力装置４への映像の出力を継続することができる。通常時用のメインＯＳインスタンス２２に異常があるときは、外部の装置であるワークステーション２において映像データの処理を継続させる構成とすることで、ビデオプロセッサ１内に非常時に映像データを処理するＯＳインスタンスを備えておくことが不要となる。これにより、ビデオプロセッサ１内の構成の無駄を省きつつ、映像データの処理を継続して、映像出力装置４への映像の出力を継続させることが可能となる。
【００３７】
なお、上記においては、映像データを処理するために用意する仮想マシンとして２台を備える構成、すなわち、通常時用のメインＯＳインスタンス２２に対して、一のＦＴ−ＯＳインスタンス２５を備える構成例に説明したが、これには限定されない。例えば、仮想マシンを３台以上備える構成としてもよい。この場合、非常時用に、ＦＴ−ＯＳインスタンスを２以上用意しておく構成としてもよい。
【００３８】
ＦＴ−ＯＳインスタンスについては、メインＯＳがリセットしている間（非常時）にのみ動作して、上記のようにメインＯＳに替わり映像処理を実行する構成としてもよい。あるいは、メインＯＳが正常に動作している間（通常時）においても、例えば映像処理以外の処理動作を実行している構成としてもよい。メインＯＳが映像処理を実行できない間においては映像出力装置４への映像出力に与える影響を抑制しつつ、効率的にＦＴ−ＯＳインスタンスを活用することが可能となる。
【００３９】
また、上記においては、メインＯＳのリセット中には、メインＯＳインスタンス２２上で動作する各種アプリケーションのうち、映像処理アプリケーション２４による動作のみを、ＦＴ−ＯＳインスタンス２５及び分散クラスタ（ワークステーション２）に代替させている。このように、メインＯＳインスタンス２２上で動作する全てのアプリケーションを分散クラスタにて処理継続させるのではなく、メインＯＳのリセット中においても処理を中断させないことが望ましい処理のみを継続させている。これにより、ＦＴ−ＯＳインスタンス２５にかかる負荷が過度に大きくなってしまうことを防ぎつつ、データ処理システム１００のユーザは映像の観察を継続でき、メインＯＳのリセットによりユーザに与える影響を最小限に抑えている。
【００４０】
更には、図１に示すように、本実施形態に係るデータ処理システム１００は、メニーコアプロセッサ１２を採用している。メニーコアプロセッサ１２は、１つのプロセッサ内に多数のコアを有しており、これによって多くの機能を同時並行的に実行することが可能である。このため、１つのデータ処理システム内で必要となる機能の全部または殆どの部分を１つのメニーコアプロセッサ１２のみで実行することも可能である。
【００４１】
従来のデータ処理システムによれば、仮にあるＦＰＧＡやＣＰＵ等のどこか１箇所で不具合が発生した場合であっても、その不具合が発生した部分を他の部分が補い、その間に不具合の発生した箇所をリセットし再起動をすることで、データ処理システム内で最低限の処理を継続させている。メニーコアプロセッサを搭載するデータ処理システムにかかる方法を採用すると、システム内のどこか１箇所で不具合が発生してメニーコアプロセッサをリセットすると、システム全体またはその大部分がリセットされてしまうこととなり、最低限の必要な処理の継続さえ難しくなる、という問題があった。このような問題に対しても、上記の本実施形態に係るデータの処理方法によれば、メニーコアプロセッサ１２を搭載する装置（ビデオプロセッサ１）の外部の装置であるワークステーション２を分散クラスタとし、分散クラスタにおいて必要な処理を実行する。このため、データ処理システム全体やその大部分がリセットされてしまい、映像処理が継続できないために映像出力装置４への映像の出力が滞る等の事態を回避することが可能となる。
【００４２】
本発明は、上述した実施形態そのままに限定されるものではく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能であることはもちろんである。
【図１】
0005945637.tif 000002
【図２】
0005945637.tif 000003
【図３Ａ】
0005945637.tif 000004
【図３Ｂ】
0005945637.tif 000005