(57)【要約】【課題】  情報処理装置を提供すること。【解決手段】  情報処理装置１３０は、仮想化環境を有しており、さらに、仮想マシン１７０を起動するに際して、基本ソフトウェア１７２を含むディスクイメージ１６０であって、特定領域１６４に識別情報１６６を有するディスクイメージ１６０の該特定領域１６４から識別情報１６６を読み出す読出手段１５４を含む。情報処理装置１３０は、さらに、読み出した識別情報に基づいて、ディスクイメージ１６０の正当性を検証する検証手段１５０と、正当性が確認された場合に、ディスクイメージ１６０に基づいて仮想マシン１７０を起動する起動手段１４６とを含む。情報処理装置１３０は、起動した基本ソフトウェア１７２の停止に際して、ディスクイメージ１６０の特定領域１６４の所定位置に識別情報を書き込む書込手段１５４をさらに含む。【選択図】図３
2019160133.tif 000002
【特許請求の範囲】
【請求項１】
仮想化環境を有する情報処理装置であって、
仮想マシンを起動するに際して、基本ソフトウェアを含むディスクイメージであって、特定領域に識別情報を有するディスクイメージの該特定領域から識別情報を読み出す読出手段と、
読み出した識別情報に基づいて、前記ディスクイメージの正当性を検証する検証手段と、
正当性が確認された場合に、前記ディスクイメージに基づいて仮想マシンを起動する起動手段と、
起動した前記基本ソフトウェアの停止に際して、前記ディスクイメージの前記特定領域の所定位置に識別情報を書き込む書込手段と
を含む、情報処理装置。
【請求項２】
前記基本ソフトウェアが起動した後、読み出した識別情報を該基本ソフトウェアに渡す手段と、
前記基本ソフトウェアの停止が完了する前に、該基本ソフトウェアから識別情報を受け取る手段と
を含み、前記書込手段は、前記基本ソフトウェアから受け取った識別情報を書き込む、請求項１に記載の情報処理装置。
【請求項３】
前記基本ソフトウェアは、渡された識別情報に基づいて正当性を判断するとともに、該基本ソフトウェア上での変更に応答して前記識別情報を更新することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記ディスクイメージ内の前記識別情報は、前記読出手段が識別情報を読み出し後、前記仮想マシンを起動する前に削除される、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記識別情報は、前記ディスクイメージのバージョン情報、前記ディスクイメージの名称、前記ディスクイメージの特性、前記基本ソフトウェア上でインストールされた応用ソフトウェアのバージョン情報、前記情報処理装置のハードウェア情報、対象地域情報およびステータス情報の少なくとも１つを含む、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記識別情報は、前記ディスクイメージに基づく起動した回数を示す情報を含む、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記ディスクイメージをインストールした直後の仮想マシンの起動に際して前記読出手段が前記識別情報を読み出す所定位置は、事前定義された既定位置であり、前記基本ソフトウェアの停止に際して前記書込手段が識別情報を書き込む所定位置および前記ディスクイメージをインストールした２回目以降の起動に際して前記読出手段が識別情報を読み出す所定位置は、前記情報処理装置固有の位置である、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記ディスクイメージのビルドに際して、特定領域の事前定義された既定位置に識別情報を書き込む手段をさらに含み、前記特定領域は、前記仮想マシンが使用しない非使用領域である、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
仮想化環境を有する情報処理装置を含む情報処理システムであって、
基本ソフトウェアを含み、特定領域に識別情報を有するディスクイメージを格納する格納手段と、
仮想マシンを起動するに際して、前記ディスクイメージの特定領域から識別情報を読み出す読出手段と、
読み出した識別情報に基づいて、前記ディスクイメージの正当性を検証する検証手段と、
正当性が確認された場合に、前記ディスクイメージに基づいて仮想マシンを起動する起動手段と、
起動した前記基本ソフトウェアの停止に際して、前記ディスクイメージの前記特定領域の所定位置に識別情報を書き込む書込手段と
を含む、情報処理システム。
【請求項１０】
仮想化環境を有する情報処理装置が実行する方法であって、
情報処理装置が、仮想マシンを起動するに際して、基本ソフトウェアを含むディスクイメージであって、特定領域に識別情報を有するディスクイメージの該特定領域から識別情報を読み出すステップと、
読み出した識別情報に基づいて、前記ディスクイメージの正当性を検証するステップと、
正当性が確認された場合に、前記ディスクイメージに基づいて仮想マシンを起動するステップと、
起動した前記基本ソフトウェアの停止に際して、前記ディスクイメージの前記特定領域の所定位置に識別情報を書き込むステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよび情報処理装置が実行する方法に関し、より詳細には、仮想化環境を有する情報処理装置、情報処理システムおよび情報処理装置が実行する方法に関する。
【背景技術】
【０００２】
ホスト装置から印刷データを受信し、プリンタエンジンへ送出するコントローラにおいて、コントローラ本体の基本ソフトウェア（オペレーティングシステムともいう。以下、ＯＳという。）とは異なるＯＳ環境で各種処理を行うためのアプリケーションを動作させる場合がある。このような背景から、本体とは異なるＯＳが使用するための仮想ハードディスクドライブ（ＨＤＤ）のイメージを作成し、インストールして利用する仮想化技術が既に知られている。
【０００３】
しかしながら、従来技術では、ディスクイメージを作成した際に、作成したディスクイメージのバージョンや動作したときの構成などが、ディスクイメージファイルの状態では区別が難しかった。このため、本来インストールすべきディスクイメージであることを識別するために、ディスクイメージの名称を識別しやすいものに変更したり、バージョンなどの識別情報を別ファイルとして同じ場所に配置するような運用がなされる場合があった。
【０００４】
しかしながら、名称の変更をしても、元の同一名称に変更してからインストールするため、結局同一の名称に変更した後は区別ができなくなる。さらに、ディスクイメージと同じ場所に配置する別ファイルを保存する場合、常にファイルをセットで移動したり複製したりする必要があり、管理が困難となる。
【０００５】
上記に関連して、特開２００９−１８７２４７号公報（特許文献１）は、仮想マシンのディスクイメージファイルの配布元を特定したり、ディスクイメージファイルの流出を防止することを目的とした技術を開示する。特許文献１の従来技術では、仮想マシンのディスクイメージを暗号化したり、署名をしてハッシュデータを添付してセキュリティが高くされている。
【０００６】
しかしながら、インストールや起動前に正しいディスクイメージであるかどうかを容易に判断することができるものではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本開示は、上記点に鑑み、基本ソフトウェアを含むディスクイメージの正当性を簡便かつ迅速に確認することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本開示によれば、上記課題を解決するために、仮想化環境を有し、下記特徴を有する情報処理装置が提供される。本情報処理装置は、仮想マシンを起動するに際して、基本ソフトウェアを含むディスクイメージであって、特定領域に識別情報を有するディスクイメージの該特定領域から識別情報を読み出す読出手段を含む。情報処理装置は、さらに、読み出した識別情報に基づいて、前記ディスクイメージの正当性を検証する検証手段と、正当性が確認された場合に、前記ディスクイメージに基づいて仮想マシンを起動する起動手段とを含む。さらに、本情報処理装置は、起動した前記基本ソフトウェアの停止に際して、前記ディスクイメージの前記特定領域の所定位置に識別情報を書き込む書込手段とを含む。
【発明の効果】
【０００９】
上記構成により、基本ソフトウェアを含むディスクイメージの正当性を簡便かつ迅速に確認することが可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態による印刷システムの全体構成を示す図。
【図２】本実施形態による印刷システムを構成するコントローラのハードウェア構成図。
【図３】本実施形態によるコントローラのソフトウェア構成を示すブロック図。
【図４】本実施形態によるコントローラがアクセス可能に保存されたディスクイメージのデータ構造を示す図。
【図５】本実施形態によるコントローラ上の識別情報管理機能に関する機能ブロック図。
【図６】本実施形態によるコントローラが実行する、ビルド時の識別情報の書き込み処理を示すフローチャート。
【図７】本実施形態によるコントローラが実行する、インストール時の識別情報の読み出しおよび読み出された識別情報に基づく正当性検証処理を示すフローチャート。
【図８】本実施形態によるコントローラにおいて正当性が確認できなかった場合に表示される警告画面を例示する図。
【図９】本実施形態によるコントローラが実行する、ゲストＯＳがシャットダウンされた際の識別情報の書き込み処理を示すフローチャート。
【図１０】本実施形態によるコントローラが実行する、インストール後２回目以降の起動の際に行われる識別情報の読み出しおよび読み出された識別情報に基づく正当性検証処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について説明するが、本実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下、情報処理装置、および情報処理装置を含む情報処理システムについて、印刷装置１９０を制御するコントローラ１３０、該コントローラ１３０を含む印刷システム１００を一例として参照しながら説明する。しかしながら、情報処理装置および情報処理システムは、特に限定されるものではない。
【００１２】
図１は、本実施形態による印刷システム１００の全体構成を示す図である。図１に示す印刷システム１００は、ホスト装置１１０と、該ホスト装置１１０とインタフェースまたはストレージ１２０を介して接続されるコントローラ１３０と、該コントローラ１３０とインタフェースを介して接続される印刷装置１９０とを含み構成される。
【００１３】
ホスト装置１１０は、汎用的なコンピュータで構成されており、ホスト装置１１０上で、印刷に必要な印刷データが作成されたり、編集がなされてたりする。印刷データは、インタフェースを介してコントローラ１３０に送出され、または、ストレージ１２０を介してコントローラ１３０に渡される。
【００１４】
コントローラ１３０は、ホスト装置１１０から印刷データを受信したり、またはストレージ１２０から印刷データ読み出すことができる。コントローラ１３０は、取得した印刷データに対する変換を適宜行い、変換後のデータを印刷装置１９０に送信する。本実施形態によるコントローラ１３０は、仮想化環境を有しており、仮想マシン上で複数の基本ソフトウェア、いわゆるオペレーティングシステム（以下、ＯＳと参照する）を稼働できるように構成されている。特定の実施形態では、コントローラのＯＳ（以下、ホストＯＳ）とは別のＯＳ（ゲストＯＳ）が起動され、ゲストＯＳ上で所定のアプリケーションが動作する。
【００１５】
印刷装置１９０は、コントローラ１３０からのデータを受け取り、印刷を行う。印刷装置１９０は、は、インクジェット方式、電子写真方式などの印刷方式のプリンタヘッドを備えており、ロール紙などの転写部材に対し印刷出力を実行する。
【００１６】
続いて、図２を参照しながら、印刷システム１００を構成するコントローラ１３０のハードウェア構成について説明する。図２は、本実施形態によるコントローラ１３０のハードウェア構成を示す図である。
【００１７】
図２に示すコントローラ１３０は、シングルコアまたはマルチコアのＣＰＵ（Central Processing Unit）１２と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１６と、ＨＤＤ（Hard Disk Drive）１８と、ドライブ装置２４と、ネットワークインタフェース２６とを含み構成されている。また、コントローラ１３０は、必要に応じて、入力装置２０と、表示装置２２とを含むことができる。
【００１８】
ＣＰＵ１２は、コントローラ１３０内部の処理などの全体制御を行う。ＲＡＭ１４は、ＣＰＵ１２の作業領域を提供する。ＲＯＭ１６は、ＢＩＯＳ（Basic Input / Output System）などの制御プログラムを記憶する。ＨＤＤ１８は、コントローラ１３０を制御するためのＯＳ（Operating System）、後述する機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。ドライブ装置２４には、記録媒体３０が着脱可能に挿入され、ドライブ装置２４は、挿入された記録媒体３０に対する読み書きを行う。
【００１９】
入力装置２０は、マウス、キーボード、タッチスクリーンパネルなどの入力装置である。表示装置２２は、液晶ディスプレイ装置、有機ＥＬ（Electroluminescence）ディスプレイなどの表示装置である。入力装置２０および表示装置２２は、操作者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供することができる。ネットワークインタフェース２６は、ＮＩＣ（Network Interface Card）など、コントローラ１３０をネットワークに接続させるためのインタフェース機器である。
【００２０】
本実施形態によるコントローラ１３０は、ＲＯＭ１６やＨＤＤ１８からプログラムを読み出し、ＲＡＭ１４が提供する作業空間に展開することにより、ＣＰＵ１２の制御の下、コントローラ１３０として後述する各部の機能および各処理を実現する。
【００２１】
以下、図３を参照しながら、本実施形態によるコントローラ１３０のソフトウェア構成について説明する。図３は、本実施形態によるコントローラ１３０のソフトウェア構成を示すブロック図である。
【００２２】
図３に示すソフトウェア構成は、ホストＯＳ１４０を含み、ホストＯＳ１４０上には、印刷データ受信部１４２と、印刷データ送信部１４４と、仮想マシン起動制御部１４６とが含まれる。さらに、コントローラ１３０は、複数のＯＳを稼働できるように１以上の仮想マシン１７０を有する。
【００２３】
ホストＯＳ１４０は、コントローラ１３０上で稼働し、各種処理を行っている。ここで、印刷データ受信部１４２は、インタフェースを介して接続されたホスト装置１１０から送出される印刷データを受信する。ホストＯＳ１４０は、インタフェースを介してホスト装置１１０から受信した印刷データを、該ホストＯＳ１４０が有する記憶装置に保存する。
【００２４】
仮想マシン起動制御部１４６は、仮想マシン１７０の起動、動作、停止などの制御を行う。仮想マシン起動制御部１４６は、ＯＳを含んでいるディスクイメージ１６０に基づいて仮想マシン１７０を起動する。ディスクイメージ１６０は、仮想マシン１７０上にロードされて、ゲストＯＳ１７２として起動する。ゲストＯＳ１７２は、起動する前は、ディスクイメージ１６０のファイルの形で記憶装置に格納されている。ディスクイメージ１６０は、通常、コントローラ１３０が有する記憶装置に格納され、起動時に読み出される。しかしながら、ディスクイメージ１６０は、コントローラ１３０がアクセス可能であればよく、他の実施形態では、ネットワークを介してディスクイメージ１６０を取得する形としてもよい。また、ディスクイメージ１６０は、ファイルの形式であることに限定されるものではなく、物理ディスクの全領域またはパーティションの一部領域であってもよい。
【００２５】
ゲストＯＳ１７２は、コントローラ１３０のホストＯＳ１４０と同一または異なるＯＳとすることができるが、印刷システム１００のコントローラ１３０上に仮想化環境が導入される目的から、典型的には異なるＯＳとなる。ゲストＯＳ１７２上では、このホストＯＳとは異なるＯＳで稼働するアプリケーション１７４を動作させることができる。アプリケーション１７４も、ディスクイメージ１６０のファイルの中に格納されている。
【００２６】
ホストＯＳ１４０上には、さらに、ディスクイメージ１６０を識別するための識別情報を管理およびその読み書きを制御する識別情報管理制御部１５０が含まれる。識別情報管理制御部１５０は、より詳細には、ディスクイメージ１６０内の所定の箇所に上記識別情報を書き込む識別情報書込部１５２と、ディスクイメージ１６０内の所定の箇所から上記識別情報を読出す識別情報読出部１５４とを含み構成される。識別情報の読み込みまたは書き込みについては、詳細を後述する。
【００２７】
印刷データ送信部１４４は、ゲストＯＳ１７２上で上記アプリケーション１７４を用いて加工および編集した印刷データを、インタフェースを介して接続された印刷装置１９０へ送信する。
【００２８】
なお、上述した実施形態では、仮想化環境のアーキテクチャは限定されない。仮想化ソフトウェアがホストＯＳ上で動作し、さらにその上でゲストＯＳが動作するホスト型の仮想化環境であってもよい。あるいは、上述したホストＯＳ１４０およびゲストＯＳ１７２を含む全てのＯＳが、ハードウェア上で動作するハイパーバイザ上で動作する、ベアメタル型の仮想化環境であってもよい。
【００２９】
以下、図４を参照しながら、ディスクイメージ１６０について説明する。図４は、本実施形態によるコントローラ１３０がアクセス可能に保存されたディスクイメージ１６０のデータ構造を示す図である。
【００３０】
ここで、ディスクイメージ１６０は、ゲストＯＳ１７２および適宜アプリケーション１７４が格納される仮想的なディスクドライブイメージファイルであり、採用される仮想化方式に応じて、各種フォーマットで保存される。ディスクイメージ１６０の主要フォーマットとしては、ｉｍｇ形式、ｖｄｉ形式、ｖｍｄｋ形式およびｖｈｄ形式を挙げることができる。これらのそれぞれの形式は、ＯＳと、それに付属するアプリケーションや起動後の動作に必要な情報を固定化するための固有のフォーマットになっている。
【００３１】
具体的なフォーマットに依存するが、ディスクイメージ１６０は、ゲストＯＳ１７２自身および動作上必要な情報で構成される部分（以下、ＯＳ使用領域という。）１６２と、ディスクイメージファイルとしては構成の一部だが、ゲストＯＳ１７２が動作するためには必ずしも使用されない部分（以下、ＯＳ非使用領域）１６４とを含み構成され得る。本実施形態においては、ＯＳ非使用領域１６４には、ディスクイメージ１６０を識別することができる識別情報を格納する識別情報記録領域１６６が設けられる。ＯＳ非使用領域は、未使用領域を含んでおり、特定のデータによってあらかじめ詰められていることが多い。
【００３２】
以下、図５を参照しながら、本実施形態によるコントローラ１３０が備える識別情報を管理する機能について、より詳細に説明する。図５は、本実施形態によるコントローラ１３０上の識別情報管理機能に関する機能ブロック図である。
【００３３】
図５に示す機能ブロックとしては、ディスクイメージビルド部１４８と、識別情報管理制御部１５０を含むホストＯＳ１４０と、ディスクイメージ１６０と、ゲストＯＳ１７２とが示されている。識別情報管理制御部１５０は、上述した識別情報書込部１５２および識別情報読出部１５４に加えて、識別情報記憶部１５６を含んでいる。
【００３４】
ディスクイメージビルド部１４８は、所定のＯＳを含むディスクイメージ１６０をビルドする手段である。ビルド対象のゲストＯＳ１７２およびその構成、バージョンなどの情報に基づいて、予め識別情報が作成され、識別情報記憶部１５６に記憶される。ここで、識別情報は、ディスクイメージ１６０のバージョン情報、名称、特性、ゲストＯＳ１７２上でインストールされたアプリケーション１７４のバージョン情報、コントローラ１３０のハードウェア情報、および、対象地域情報（例えば仕向け地情報）などの識別に利用可能な固有情報およびその他の更新され得るステータス情報、起動情報などを含むことができる。さらに好ましい実施形態では、識別情報は、ディスクイメージ１６０に基づく起動した回数を示す情報を有することができる。識別情報管理制御部１５０は、ディスクイメージビルド部１４８によるディスクイメージ１６０のビルドに際して、ビルドされたディスクイメージ１６０のＯＳ非使用領域１６４の事前定義された既定位置に、上記作成した識別情報を書き込む。
【００３５】
なお、ディスクイメージ１６０をビルドする手段およびビルド時に識別情報を書き込む手段は、典型的には、当該コントローラ１３０上のディスクイメージビルド部１４８および識別情報管理制御部１５０とすることができるが、特に限定されるものではない。他の実施形態では、コントローラ１３０以外のコンピュータ上でディスクイメージ１６０をビルドし、同一のもしくは別のコンピュータで識別情報が書き込まれることとしてもよい。
【００３６】
上述したビルドされたディスクイメージ１６０がインストールされた際には、識別情報読出部１５４は、ＯＳ非使用領域１６４を検出して、予め決められたデフォルト（既定）のＲ／Ｗ位置情報を使用して、識別情報記録領域１６６から識別情報を読み出し、識別情報記憶部１５６に保存する。一方でディスクイメージ１６０上の識別情報記録領域１６６は、ディスクイメージ１６０から削除して元の状態に戻す。ここで、ディスクイメージ１６０から識別情報を消すことにより、書き込み位置が変わる場合に、次に書き込む際に識別情報を不必要に残さないようにすることができる。ここで、識別情報記憶部１５６に保持される識別情報は、適宜、ホストＯＳ１４０におけるコントローラとしての処理の中で、正当であるかの判断に利用することができる。
【００３７】
また、識別情報記憶部１５６に保持される識別情報は、共有メモリなど別のインタフェースを介してホストＯＳ１４０からゲストＯＳ１７２へと渡されて、ゲストＯＳ１７２内部での正当性判断にも利用することができる。
【００３８】
例えば、ゲストＯＳ１７２は、自らが持つ識別情報ＢとホストＯＳ１４０から渡された識別情報Ａを比較してその正当性を判断することができる。これにより、迅速に、インストールされたディスクイメージが正しいものであり、かつ最初のインストール直後であることが判断できるようになる。また、ゲストＯＳ１７２は、起動後にソフトウェアのアップデートが行われた場合などに、新たに設定された状態を保持する。
【００３９】
そして、ゲストＯＳ１７２は、利用者からの入力などによりシャットダウン処理を行う際には、内部で保持する識別情報Ａを自らの設定の状態に応じた更新を行い、更新された識別情報Ａ’をホストＯＳ１４０に戻す。ゲストＯＳ１７２は、設定情報に応じて更新された自らが持つ識別情報Ｂ’は、そのまま保持する。
【００４０】
ホストＯＳ１４０の識別情報管理制御部１５０は、更新され戻された識別情報Ａ’を識別情報記憶部１５６に保持する。識別情報管理制御部１５０は、固有のＲ／Ｗ位置情報１５８を保持しており、識別情報書込部１５２は、ゲストＯＳ１７２のシャットダウンが完了してから、固有のＲ／Ｗ位置情報１５８に基づいて、更新された識別情報Ａ’を新たな書込み位置に書き込む。これによって、次回ゲストＯＳ１７２を起動する前に、識別情報が正しいかどうかをチェックして起動の可否を判断できるようになる。
【００４１】
なお、識別情報読出部１５４が、ディスクイメージ１６０をインストールした直後の仮想マシン１７０の起動に際して識別情報を読み出す所定位置は、上述したように、事前定義された既定（デフォルト）位置である。一方で、識別情報書込部１５２が、ゲストＯＳ１７２の停止に際して識別情報を書き込む所定位置は、コントローラ１３０固有のＲ／Ｗ位置情報１５８に基づくものとすることができ、インストールした２回目以降の仮想マシン１７０の起動に際して識別情報読出部１５４が識別情報を読み出す所定位置も、固有のＲ／Ｗ位置情報１５８に基づくものとすることができる。
【００４２】
以下、図６を参照しながら、ビルド時の識別情報の書き込み処理について、より詳細に説明する。図６は、本実施形態によるコントローラ１３０が実行する、ビルド時の識別情報の書き込み処理を示すフローチャートである。図６に示す処理は、操作者からのビルド実行の指示に応答して、ステップＳ１００から開始される。
【００４３】
ステップＳ１０１では、識別情報管理制御部１５０は、ディスクイメージ１６０のビルドが終了するのを待機し、処理は、終了するまで（ＮＯの間）、ステップＳ１０１をループする。ステップＳ１０１で、ディスクイメージ１６０のビルドが終了したと判定された場合（ＹＥＳ）は、ステップＳ１０２へ処理が進められる。
【００４４】
ステップＳ１０２では、識別情報管理制御部１５０は、予め作成された識別情報を取得する。ステップＳ１０３では、識別情報管理制御部１５０は、ビルドされたディスクイメージ１６０を検査し、ディスクイメージ１６０内のゲストＯＳ１７２が動作するためには使用されないＯＳ非使用領域１６４を検出する。非使用領域は、ディスクイメージのフォーマット仕様から得ることができるが、一般的には、ディスクイメージ１６０が固定サイズの場合は、必要な構成が生成された以降、指定されたサイズまで特定の値のデータで充填されるので、この部分を用いることができる。固定のサイズでない場合でも、非使用領域があれば利用することができる。
【００４５】
ステップＳ１０４では、識別情報管理制御部１５０は、ビルド時用の既定のＲ／Ｗ位置情報１５８を取得する。識別情報を書き込む位置を決める情報は、ビルドを実行するすべての装置で固定の値であっても良いし、たとえば、ある値の倍数位置やビルドによって生成するディスクイメージ１６０の作成年月日時分などを利用して特定の位置を決定しても良い。ステップＳ１０５では、識別情報管理制御部１５０は、ディスクイメージ１６０内のＯＳ非使用領域１６４における、決定された位置に識別情報を書き込み、ステップＳ１０６で、ビルド時に行われる当該処理を終了する。
【００４６】
以下、図７を参照しながら、インストール時の識別情報の読み出しおよび読み出した識別情報に基づく正当性検証処理について、より詳細に説明する。図７は、本実施形態によるコントローラ１３０が実行する、インストール時の識別情報の読み出しおよび読み出された識別情報に基づく正当性検証処理を示すフローチャートである。図７に示す処理は、操作者からの、対象となるディスクイメージ１６０を指定したインストールに指示に応答して、ステップＳ２００から開始される。ここで、ディスクイメージをインストールするとは、当該コントローラ１３０の実動作環境において、ディスクイメージを所定の仮想マシンに関連付けて利用可能に設定することをいう。
【００４７】
ステップＳ２０１では、識別情報管理制御部１５０は、ディスクイメージ１６０のインストール処理が終了するのを待機し、処理は、インストール処理が終了するまで（ＮＯの間）、ステップＳ２０１をループする。ステップＳ２０１で、ディスクイメージ１６０のインストール処理が終了したと判定された場合（ＹＥＳ）は、ステップＳ２０２へ処理が進められる。
【００４８】
ステップＳ２０２では、識別情報管理制御部１５０は、インストールされたディスクイメージ１６０を検査して、ディスクイメージ１６０内のＯＳ非使用領域１６４を検出する。ステップＳ２０３では、識別情報管理制御部１５０は、インストール直後であるため、ビルド時用の既定のＲ／Ｗ位置情報１５８を取得する。ステップＳ２０４では、識別情報管理制御部１５０は、識別情報読出部１５４により、既定のＲ／Ｗ位置情報を利用して、ＯＳ非使用領域１６４から識別情報を読み出す。
【００４９】
ステップＳ２０５では、識別情報管理制御部１５０は、読み出した識別情報と、正当な識別情報と比較して正しい識別情報であるか否かを検証する。ここで、正当な識別情報は、インストールすべきディスクイメージかどうかを事前にホストＯＳ１４０上で操作者に入力させたり、ホスト装置１１０からインタフェース経由で入手したり、印刷装置１９０側で取得済みのディスクイメージの識別情報を受信したりして、取得される。
【００５０】
ステップＳ２０５で、読み出した識別情報が正当であると判定された場合（ＹＥＳ）は、ステップＳ２０６へ処理が分岐される。
【００５１】
ステップＳ２０６では、識別情報管理制御部１５０は、正当なディスクイメージ１６０であると判断したので、ディスクイメージ１６０から識別情報を削除して、ディスクイメージ１６０を元の状態に戻す。ステップＳ２０７では、識別情報管理制御部１５０は、仮想マシン起動制御部１４６に対し、仮想マシン１７０の起動を許可し、仮想マシン１７０にディスクイメージ１６０をロードさせる。仮想マシン起動制御部１４６は、ディスクイメージ１６０に基づいて仮想マシン１７０を起動する。
【００５２】
ゲストＯＳ１７２が起動すると、ホストＯＳ１４０とゲストＯＳ１７２間のデータ交換の仕組みが動作開始する。ステップＳ２０８では、識別情報管理制御部１５０が識別情報記憶部１５６に保持している識別情報が、ホストＯＳ１４０からゲストＯＳ１７２へ渡される。データ交換の仕組みは、仮想化システムが提供する共有メモリやネットワーク共有ディレクトリなどのデータを共有する各種機構を利用することができる。なお、ゲストＯＳ１７２は、ホストＯＳ１４０から渡された識別情報を用いて自己の正当性のチェックを行うことができ、また、識別情報を動作中も保持する。
【００５３】
ステップＳ２０５で読み出した識別情報から正当ではないと判定された場合（ＮＯ）は、ステップＳ２０９へ処理が分岐される。ステップＳ２０９では、コントローラ１３０上エラー状態に変更し、必要に応じて、図８に示すような「使用できない」旨のメッセージ３１０を含む警告画面３００を、コントローラ１３０が備える表示装置２２に、または、コントローラ１３０にネットワークを介して接続される他の端末の表示装置上に表示する。
【００５４】
図７に示した処理により、識別情報管理制御部１５０は、ディスクイメージ１６０を実動作環境にインストールする際に、インストールされたディスクイメージ１６０が正しいものであるかを識別するための識別情報をディスクイメージ１６０から読み出し、その正当性を確認することができる。
【００５５】
以下、図９を参照しながら、インストール後のゲストＯＳがシャットダウンされた際の識別情報の書き込み処理について、より詳細に説明する。図９は、本実施形態によるコントローラ１３０が実行する、ゲストＯＳ１７２がシャットダウンされた際の識別情報の書き込み処理を示すフローチャートである。図９に示す処理は、仮想マシン１７０が起動したことに応答して、ステップＳ３００から開始される。
【００５６】
ステップＳ３０１では、識別情報管理制御部１５０は、ゲストＯＳ１７２のシャットダウンが開始するのを待機し、処理は、シャットダウンが開始するまで（ＮＯの間）、ステップＳ３０１をループする。ステップＳ３０１で、ゲストＯＳ１７２がシャットダウンを開始したことを検知した場合（ＹＥＳ）は、ステップＳ３０２へ処理が進められる。
【００５７】
ステップＳ３０２では、識別情報管理制御部１５０は、上述したデータ交換の仕組みを利用して、ゲストＯＳ１７２から識別情報Ａ’を取得する。ここで、ゲストＯＳ１７２は、シャットダウン処理を行う前に、自らが保持していた識別情報Ａ’を現在のステータスで更新する。ここで、ステータスは、ゲストＯＳ１７２が稼働中に発生した更新によって変化するものである。更新は、内部で動作するアプリケーション１７４の動作結果の影響やバージョンアップなどの変化であったり、ゲストＯＳ１７２の起動によって発生するセットアップや設定状態の変化を意味する。ステップＳ３０３では、識別情報管理制御部１５０は、取得した識別情報Ａ’で、識別情報記憶部１５６に保持している識別情報を上書きして更新する。
【００５８】
ステップＳ３０４では、識別情報管理制御部１５０は、ゲストＯＳ１７２のシャットダウンが完了するまで待機し、処理は、シャットダウンが完了するまで（ＮＯの間）、ステップＳ３０４をループする。ステップＳ３０４で、ゲストＯＳ１７２のシャットダウンが完了したことを検知した場合（ＹＥＳ）は、ステップＳ３０５へ処理が進められる。
【００５９】
ステップＳ３０４では、識別情報管理制御部１５０は、インストール直後ではなく１回以上ゲストＯＳ１７２が起動した後なので、コントローラ１３０固有のＲ／Ｗ位置情報１５８を取得する。ステップＳ３０５では、識別情報管理制御部１５０は、識別情報書込部１５２により、固有のＲ／Ｗ位置情報１５８を利用して、動作終了したディスクイメージ１６０のＯＳ非使用領域１６４の新たな書込み位置にゲストＯＳ１７２が更新した識別情報を書き込む。固有のＲ／Ｗ位置情報は、たとえば、機器に一意で付けられるシリアル番号やインストールしたホストＯＳ１４０のバージョンや言語設定、ハードウェアのグレードなどを利用して設定することができる。固有のＲ／Ｗ位置情報は、複数個所を指定したり、取り出すべき識別情報の内容に応じて複数個所に分散して書き込んでもよい。
【００６０】
以下、図１０を参照しながら、インストール後２回目以降の起動の際に行われる処理について、より詳細に説明する。図１０は、本実施形態によるコントローラ１３０が実行する、インストール後２回目以降の起動の際に行われる識別情報の読み出しおよび読み出された識別情報に基づく正当性検証処理を示すフローチャートである。図１０に示す処理は、例えば当該コントローラ１３０の起動に応答して、ステップＳ４００から開始される。
【００６１】
ステップＳ４０１では、識別情報管理制御部１５０は、インストールされたゲストＯＳ１７２の起動要求を待ち受け、処理は、起動要求を受け付けるまで（ＮＯの間）、ステップＳ４０１をループする。ステップＳ４０１で、ゲストＯＳの起動要求を受け付けたと判定された場合（ＹＥＳ）は、ステップＳ４０２へ処理が進められる。ゲストＯＳの起動要求は、コントローラ１３０の起動、ホストＯＳ１４０上でのユーザ・インタフェース操作、ホスト装置１１０からの起動要求、または印刷装置１９０からの起動要求の受信に応答して検知される。
【００６２】
ステップＳ４０２では、識別情報管理制御部１５０は、指定されたディスクイメージ１６０を検査して、ディスクイメージ１６０内のＯＳ非使用領域１６４を検出する。ステップＳ４０３では、識別情報管理制御部１５０は、インストール直後の起動ではないため、コントローラ１３０固有に設定されているＲ／Ｗ位置情報１５８を取得する。上記と同様に、固有のＲ／Ｗ位置情報は、たとえば、機器に一意で付けられるシリアル番号やインストールしたホストＯＳ１４０のバージョンや言語設定、ハードウェアのグレードなどを利用して設定することができる。固有のＲ／Ｗ位置情報は、複数個所を指定したり、取り出すべき識別情報の内容に応じて複数個所から取得して合成させてもよい。なお、固有のＲ／Ｗ位置情報を得るには、ゲストＯＳに関する情報は要さない。ステップＳ４０４では、識別情報管理制御部１５０は、識別情報読出部１５４により、固有のＲ／Ｗ位置情報を利用して、ＯＳ非使用領域１６４から識別情報を読み出す。
【００６３】
ステップＳ４０５では、識別情報管理制御部１５０は、読み出した識別情報と、前回シャットダウンをしたときに保存しておいた識別情報と比較して正しい識別情報であるか否かを検証する。ステップＳ４０５で読み出した識別情報が正当であると判定された場合（ＹＥＳ）は、ステップＳ４０６へ処理が分岐される。例えば、ゲストＯＳ１７２が一度稼働すると最初に稼働した環境に適した設定が内部で行われるが、誤って、または意図的に、別のコントローラ上の仮想マシンで動作させようとした場合、シリアル番号等の固有の情報が相違するので、正しい動作環境であるかどうかを識別判断することができる。また、起動回数が識別情報として書き込まれている場合、起動がインストール時ではないので起動回数が１以上であり、かつ前回シャットダウンしたときに保存していた識別情報の起動回数と一致していれば正当と判断することができる。
【００６４】
ステップＳ４０６では、識別情報管理制御部１５０は、正当なディスクイメージ１６０であると判断したので、ディスクイメージ１６０から識別情報を削除して、ディスクイメージ１６０を元の状態に戻す。ステップＳ４０７では、識別情報管理制御部１５０は、仮想マシン起動制御部１４６に対し、仮想マシン１７０の起動を許可し、仮想マシン１７０にディスクイメージ１６０をロードさせる。ステップＳ４０８では、通信可能となった後、識別情報管理制御部１５０が識別情報記憶部１５６に保持する識別情報がホストＯＳ１４０からゲストＯＳ１７２へと渡される。
【００６５】
ステップＳ４０５で読み出した識別情報が正当ではないと判定された場合（ＮＯ）は、ステップＳ４０９へ処理が分岐される。ステップＳ４０９では、コントローラ１３０上エラー状態に変更し、必要に応じて、図８に示すような「使用できない」旨の警告画面３００を表示する。
【００６６】
図１０に示した処理により、ゲストＯＳ１７２が起動する前に、一度起動して使用を開始したディスクイメージが、ホストＯＳ１４０からインストール時の動作環境と同一であって正しいものであることを確認することができる。
【００６７】
以上説明したように本実施形態によれば、基本ソフトウェアを含むディスクイメージの正当性を簡便かつ迅速に確認することが可能な情報処理装置、情報処理システム、および、情報処理装置が実行する方法を提供することができる。
【００６８】
上記実施形態においては、仮想マシンを起動するに際して、基本ソフトウェアを含むディスクイメージの特定領域から識別情報が読み出され、読み出した識別情報に基づいてディスクイメージの正当性が検証され、起動した基本ソフトウェアの停止に際して、ディスクイメージの特定領域の所定位置に識別情報が書き込まれる。これにより、仮想マシンのディスクイメージをインストールする際などに仮想マシンを起動せずとも正しいバージョンのディスクイメージであるかどうかをすばやく判断可能となる。ひいては、ディスクイメージの名称を変更したり、バージョンなどの識別情報を別ファイルとして同じ場所に配置されるよう管理する必要がなくなる。また、基本ソフトウェアが一度稼働すると最初に稼働した環境に適した設定が内部で行われることがあるが、一度起動した仮想マシンが誤って別の動作環境に移動されたときに正常に動作できない環境であることを簡易な構成で判断することができる。ひいては、誤って起動してしまい動作に不具合が発生してしまうことを防止することができる。
【００６９】
特定の実施形態においては、基本ソフトウェアが起動した後、読み出した識別情報が該基本ソフトウェアに渡される。また、基本ソフトウェアの停止が完了する前に、該基本ソフトウェアから受け取った識別情報が書き込まれる。これにより、仮想マシン上の基本ソフトウェア側で、更新などが行われても、それを書き込む識別情報に反映することができるようになる。
【００７０】
特定の実施形態においては、基本ソフトウェアは、渡された識別情報に基づいて正当性を判断するとともに、該基本ソフトウェア上での変更に応答して識別情報を更新することを特徴とすることができる。これにより、仮想マシンの基本ソフトウェア側でも正当性を検証することが可能となるとともに、仮想マシンの基本ソフトウェア側で、更新などが行われても、更新された識別情報をディスクイメージに書き込むことが可能となる。
【００７１】
さらに、特定の実施形態においては、ディスクイメージ内の識別情報は、識別情報が読み出された後、仮想マシンを起動する前に削除される。これにより、書込み位置が変化する場合に、次に書き込む際に、識別情報を不必要に残さないようにすることができる。
【００７２】
特定の実施形態においては、識別情報は、ディスクイメージのバージョン情報、ディスクイメージの名称、ディスクイメージの特性、基本ソフトウェア上でインストールされた応用ソフトウェアのバージョン情報、情報処理装置のハードウェア情報、対象地域情報およびステータス情報の少なくとも１つを含むことができる。これにより、これら識別に利用可能な固有情報や更新され得るステータス情報などの正当性を検証することが可能となる。
【００７３】
好ましい実施形態においては、上記識別情報は、上記ディスクイメージに基づく起動した回数を示す情報を有することができる。これにより、別の装置で起動してディスクイメージが入った記録媒体を誤って別のコントローラに設置して起動して不具合を発生してしまうことを防止できる。
【００７４】
さらに他の好ましい実施形態においては、ディスクイメージをインストールした直後の仮想マシンの起動に際して識別情報が読み出される所定位置は、事前定義された既定位置であり、基本ソフトウェアの停止に際して識別情報が書き込まれる所定位置およびディスクイメージをインストールした２回目以降の起動に際して識別情報が読み出される所定位置は、情報処理装置固有の位置である。これにより、ディスクイメージを不正に複製して別のコントローラに持ち込んでも異なるコントローラ用であることがわかる。
【００７５】
さらに、特定の実施形態においては、ディスクイメージのビルドに際して、特定領域の事前定義された既定位置に識別情報を書き込むことができ、特定領域を仮想マシンが使用しない非使用領域とすることができる。これにより、仮想マシンの動作に影響を与えないようにしながら、ディスクイメージに識別情報を保持させることができる。
【００７６】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【００７７】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００７８】
１００…印刷システム、１１０…ホスト装置、１３０…コントローラ、１４０…ホストＯＳ、１４２…印刷データ受信部、１４４…印刷データ送信部、１４６…仮想マシン起動制御部、１４８…ディスクイメージビルド部、１５０…識別情報管理制御部、１５２…識別情報書込部、１５４…識別情報読出部、１５６…識別情報記憶部、１６０…ディスクイメージ、１６２…使用領域、１６４…非使用領域、１６６…識別情報記録領域、１７０…仮想マシン、１７２…ゲストＯＳ、１７４…アプリケーション、１９０…印刷装置
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特開２００９−１８７２４７号公報
【図１】
2019160133.tif 000003
【図２】
2019160133.tif 000004
【図３】
2019160133.tif 000005
【図４】
2019160133.tif 000006
【図５】
2019160133.tif 000007
【図６】
2019160133.tif 000008
【図７】
2019160133.tif 000009
【図８】
2019160133.tif 000010
【図９】
2019160133.tif 000011
【図１０】
2019160133.tif 000012