(57)【要約】【課題】クラウド環境で、より使いやすい開発環境を提供できる情報処理システムの提供。【解決手段】サーバーは、サーバーのハードウェア上でソフトウェアを稼働させるためのホストオペレーティングシステムと、ホストオペレーティングシステム上で稼働し、仮想マシンを実現するハイパーバイザーと、ハイパーバイザー上で稼働し、１種類以上の画像形成装置のハードウェアをそれぞれエミュレートする１以上のシミュレーター環境とを備え、１以上のシミュレーター環境の各々は、下層から順に、仮想マシンと、仮想マシン上で稼働するソフトウェアの動作を制御するゲストオペレーティングシステムと、ゲストオペレーティングシステム上で稼働し、１種類以上の画像形成装置のいずれかのハードウェアをエミュレートするエミュレーターと、エミュレーター上で稼働する、エミュレーターがエミュレートする画像形成装置のファームウェアとを含む。【選択図】図３
2018142076.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続された、１以上のパーソナルコンピューターとサーバーとを含み、
前記サーバーは、
前記サーバーのハードウェア上でソフトウェアを稼働させるためのホストオペレーティングシステムと、
前記ホストオペレーティングシステム上で稼働し、仮想マシンを実現するハイパーバイザーと、
前記ハイパーバイザー上で稼働し、１種類以上の画像形成装置のハードウェアをそれぞれエミュレートする１以上のシミュレーター環境と
を備え、
前記１以上のシミュレーター環境の各々は、下層から順に、
前記仮想マシンと、
前記仮想マシン上で稼働するソフトウェアの動作を制御するゲストオペレーティングシステムと、
前記ゲストオペレーティングシステム上で稼働し、前記１種類以上の画像形成装置のいずれかのハードウェアをエミュレートするエミュレーターと、
前記エミュレーター上で稼働する、前記エミュレーターがエミュレートする画像形成装置のファームウェアと
を含んだ
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記サーバーは、
前記１以上の画像形成装置の製品ごとに用意された前記１以上のシミュレーター環境をマスターとして、前記マスターのいずれかを複製してユーザーが使用するシミュレーター環境を新たに作成するシミュレーター環境複製部をさらに備えた
情報処理システム。
【請求項３】
請求項１または２に記載の情報処理システムであって、
前記サーバーは、
前記１以上のシミュレーター環境のいずれかの、複数のユーザーによる共有を管理するシミュレーター環境共有管理部をさらに備えた
情報処理システム。
【請求項４】
サーバーのハードウェア上でソフトウェアを稼働させるためのホストオペレーティングシステム、
前記ホストオペレーティングシステム上で稼働し、仮想マシンを実現するハイパーバイザー、および
前記ハイパーバイザー上で稼働し、１種類以上の画像形成装置のハードウェアをそれぞれエミュレートする１以上のシミュレーター環境
として前記サーバーを機能させるプログラムであって、
前記１以上のシミュレーター環境の各々は、下層から順に、
前記仮想マシンと、
前記仮想マシン上で稼働するソフトウェアの動作を制御するゲストオペレーティングシステムと、
前記ゲストオペレーティングシステム上で稼働し、前記１種類以上の画像形成装置のいずれかのハードウェアをエミュレートするエミュレーターと、
前記エミュレーター上で稼働する、前記エミュレーターがエミュレートする画像形成装置のファームウェアと
を含んだ
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーターによる開発環境を提供する情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
近年、クラウド環境を利用した製品開発が行われるようになってきており、クラウド環境での開発がやりやすいように、様々な工夫がなされてきた。
【０００３】
例えば、特許文献１において開示されている技術では、クラウド上にある開発環境を、クラウドとの通信がオフラインになる場合には手元のクライアント側にコピーし保持する。そのため、通信がオフラインの時でも手元のクライアント上で開発が出来るというものである。
【０００４】
また、例えば、特許文献２の技術は、顧客にクラウド環境上でのシステム開発環境を提供しているベンダーが、顧客の開発進捗状況に応じて適切な営業を行えるよう支援するものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＷＯ２０１５／０６３８３１号公報
【特許文献２】ＷＯ２０１３／１４５１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、クラウド環境での開発に関する様々な工夫がなされてきているが、より使いやすいクラウド上での開発環境が求められている。
【０００７】
以上のような事情に鑑み、本発明の目的は、クラウド環境で、より使いやすい開発環境を提供できる情報処理システムおよびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一形態に係る情報処理システムは、ネットワーク接続された、１以上のパーソナルコンピューターとサーバーとを含み、前記サーバーは、前記サーバーのハードウェア上でソフトウェアを稼働させるためのホストオペレーティングシステムと、前記ホストオペレーティングシステム上で稼働し、仮想マシンを実現するハイパーバイザーと、前記ハイパーバイザー上で稼働し、１種類以上の画像形成装置のハードウェアをそれぞれエミュレートする１以上のシミュレーター環境とを備え、前記１以上のシミュレーター環境の各々は、下層から順に、前記仮想マシンと、前記仮想マシン上で稼働するソフトウェアの動作を制御するゲストオペレーティングシステムと、前記ゲストオペレーティングシステム上で稼働し、前記１種類以上の画像形成装置のいずれかのハードウェアをエミュレートするエミュレーターと、前記エミュレーター上で稼働する、前記エミュレーターがエミュレートする画像形成装置のファームウェアとを含む。
【０００９】
そのため、クラウド環境で、より使いやすい開発環境を提供できる。
【００１０】
上記目的を達成するため、本発明の一形態に係る情報処理システムでは、前記サーバーは、前記１以上の画像形成装置の製品ごとに用意された前記１以上のシミュレーター環境をマスターとして、前記マスターのいずれかを複製してユーザーが使用するシミュレーター環境を新たに作成するシミュレーター環境複製部をさらに備えてもよい。
【００１１】
上記目的を達成するため、本発明の一形態に係る情報処理システムでは、前記サーバーは、前記１以上のシミュレーター環境のいずれかの、複数のユーザーによる共有を管理するシミュレーター環境共有管理部をさらに備えてもよい。
【００１２】
上記目的を達成するため、本発明の一形態に係るプログラムは、サーバーのハードウェア上でソフトウェアを稼働させるためのホストオペレーティングシステム、前記ホストオペレーティングシステム上で稼働し、仮想マシンを実現するハイパーバイザー、および前記ハイパーバイザー上で稼働し、１種類以上の画像形成装置のハードウェアをそれぞれエミュレートする１以上のシミュレーター環境として前記サーバーを機能させるプログラムであって、前記１以上のシミュレーター環境の各々は、下層から順に、前記仮想マシンと、前記仮想マシン上で稼働するソフトウェアの動作を制御するゲストオペレーティングシステムと、前記ゲストオペレーティングシステム上で稼働し、前記１種類以上の画像形成装置のいずれかのハードウェアをエミュレートするエミュレーターと、前記エミュレーター上で稼働する、前記エミュレーターがエミュレートする画像形成装置のファームウェアとを含んでもよい。
【発明の効果】
【００１３】
以上のように、本発明によれば、クラウド環境で、より使いやすい開発環境を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る情報処理システム１００の全体構成図である。
【図２】シミュレーター提供クラウド１を実現するためのハードウェアであるサーバーの構成図である。
【図３】ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明するための機能ブロック図である。
【図４】ＰＣ２０が一般的なコンピューターにより構成される場合の構成図である。
【図５】ユーザーがシミュレーター環境１１ｘを利用するまでの処理の流れについて説明するための図である。
【図６】複数のユーザーがシミュレーター環境１１ｘを共有するまでの処理の流れについて説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００１６】
［概要］
最初に、概要を説明する。
【００１７】
画像形成装置に組み込まれるソフトウェアを開発する際には、実機を用いる代わりに実機をシミュレートするシミュレーターを用いての開発が多く行われている。
【００１８】
従来、ローカルＰＣ（Personal Computer）上でシミュレーターを利用して画像形成装置のソフトウェアを開発する際、開発者（シミュレーターのユーザー）はシミュレーターの開発環境をユーザーごとに設定していた。そのため、ユーザーがシミュレーターの環境を設定するために多くの時間をかける必要があった。
【００１９】
また、画像形成装置のソフトウェアで問題が発生し開発担当者以外がデバッグを行わなければならない時など、元の開発者の開発環境を他の開発者が再現できなかったり、開発環境の再現に多大な時間がかかったりする場合があった。
【００２０】
このように、ある開発者がローカルで設定した開発環境を他の開発者へ提供することは容易ではなかった。
【００２１】
そこで、本発明では、クラウドの仮想マシン上にシミュレーター環境を構築する。ハイパーバイザー上で稼働する仮想マシンを利用することにより、環境の複製や共有設定などをユーザーが容易に利用できるようにして、ローカルＰＣ上でシミュレーターを利用する時に発生する画像形成装置のソフトウェア開発の問題を解決する。
【００２２】
複数のユーザーに同じシミュレーター環境を簡単に提供できるので、チーム全体での開発効率の向上にも寄与することが出来る。
【００２３】
以上、概要について説明した。
【００２４】
［全体構成］
次に、本発明の一実施形態に係る情報処理システムの全体構成を説明する。図１は、本発明の一実施形態に係る情報処理システム１００の全体構成図である。
【００２５】
情報処理システム１００は、シミュレーターを提供するシミュレーター提供クラウド１と、そのシミュレーター提供クラウド１にネットワーク経由でアクセスしシミュレーターを利用する１台以上のＰＣ２０から構成される。
【００２６】
画像形成装置のソフトウェアの開発者であるユーザーは、各ＰＣ２０を用いることでシミュレーター提供クラウド１にアクセスし、シミュレーターを用いてソフトウェアの開発を行う。
【００２７】
以上、本発明の一実施形態に係る情報処理システム１００の全体構成を説明した。
【００２８】
［クラウドを提供するサーバーの構成］
次に、上述したシミュレーター提供クラウド１を実現するためのハードウェアであるサーバーの構成について説明する。図２は、シミュレーター提供クラウド１を実現するためのハードウェアであるサーバーの構成図である。
【００２９】
同図に示すように、サーバー１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、操作入力部１４、通信部１５、表示部１６、および記憶部１７を有し、これら各ブロックがバス１８を介して接続されている。
【００３０】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ（Operating System）、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００３１】
記憶部１７は、例えばＨＤＤ（Hard Disk Drive）や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データが記憶される。
【００３２】
通信部１５は、ＰＣ２０と情報のやりとりを行う為のネットワークと結ばれている。
【００３３】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、操作入力部１４から又は通信部１５経由で与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する。
【００３４】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００３５】
表示部１６は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ、プラズマディスプレイ等である。
【００３６】
次に、ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明する。図３は、ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明するための機能ブロック図である。
【００３７】
サーバー１０のＣＰＵ１１において実現される機能ブロックは、ハードウェアに近い下層から順に、大きく分けて、ホストＯＳ１１ａ、ハイパーバイザー１１ｂ、１以上のシミュレーター環境１１ｘを含んで構成される。
【００３８】
ホストＯＳ１１ａは、サーバー１０のハードウェア上で各種ソフトウェアを稼働させるためのＯＳである。なお、ホストＯＳ１１ａは、ハイパーバイザー１１ｂに含まれる形でもよい。
【００３９】
ハイパーバイザー１１ｂは、ホストＯＳ１１ａ上で稼働する。ハイパーバイザー１１ｂは、仮想マシンを実現するための制御プログラムである。ハイパーバイザー１１ｂには、シミュレーター環境１１ｘを複製するシミュレーター環境複製部１１ｙと、シミュレーター環境１１ｘをユーザー間で共有して利用するために共有の設定および共有の解除を管理するシミュレーター環境共有管理部１１ｚとが含まれている。
【００４０】
シミュレーター環境１１ｘは、画像形成装置のハードウェアをエミュレートするものであり、下層から順に、仮想マシン１１ｃ、ゲストＯＳ１１ｄ、エミュレーター１１ｅ、１１ｇ、画像形成装置のファームウェア１１ｆ、１１ｈの順で構成される。
【００４１】
仮想マシン１１ｃは、シミュレーター環境が構築され設定された１つのコンピューター環境を提供する。シミュレーター環境１１ｘの複製および共有設定は、仮想マシン１１ｃ単位で行われる。
【００４２】
ゲストＯＳは、仮想マシン１１ｃ上で稼働するソフトウェアの動作を制御する。
【００４３】
エミュレーター１１ｅ、１１ｇは、シミュレーター環境１１ｘがエミュレートする画像形成装置のＣＰＵの種類ごとに用意される。エミュレーター１１ｅ、１１ｇは、画像形成装置のハードウェアをエミュレートする。例えば、画像形成装置に用いられるＣＰＵが、ＡＲＭ  ＣＰＵ、ＰｏｗｅｒＰＣ  ＣＰＵ、ｘ８６系ＣＰＵの３種類であれば、エミュレーターもそれに合せて、少なくとも３種類が用意される。
【００４４】
画像形成装置のファームウェア１１ｆ、１１ｈは、エミュレーター１１ｅ、１１ｇがエミュレートする各画像形成装置および各ＣＰＵに対応して動作するものであり、画像形成装置を制御するために、画像形成装置に組み込まれるソフトウェアである。
【００４５】
以上、サーバー１０の構成について説明した。
【００４６】
［ＰＣの構成］
次に、ＰＣ２０の構成について説明する。ＰＣ２０は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。ＰＣ２０が一般的なコンピューターにより構成される場合の構成図を図４に示す。
【００４７】
同図に示すように、ＰＣ２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、操作入力部２４、通信部２５（第１の通信部）、表示部２６、および記憶部２７を有し、これら各ブロックがバス２８を介して接続されている。
【００４８】
ＲＯＭ２２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ２３は、ＣＰＵ２１の作業用領域として用いられ、ＯＳ、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００４９】
記憶部２７は、例えばＨＤＤや、フラッシュメモリー、その他の不揮発性メモリーである。記憶部２７には、ＯＳや各種アプリケーション、各種データが記憶される。
【００５０】
通信部２５は、サーバー１０と情報のやりとりを行う為のネットワークと結ばれている。
【００５１】
ＣＰＵ２１は、ＲＯＭ２２や記憶部２７に格納された複数のプログラムのうち、操作入力部２４から与えられる命令に対応するプログラムをＲＡＭ２３に展開し、この展開されたプログラムにしたがって、表示部２６及び記憶部２７を適宜制御する。
【００５２】
操作入力部２４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００５３】
表示部２６は、例えば液晶ディスプレイ、ＥＬディスプレイ、プラズマディスプレイ等である。
【００５４】
次に、ＣＰＵ２１においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【００５５】
ＰＣ２０のＣＰＵ２１において実現される機能ブロックは、シミュレーター環境用クライアントソフトウェア２１ａである。
【００５６】
シミュレーター環境用クライアントソフトウェア２１ａは、ユーザーがクラウド上のシミュレーター環境１１ｘを利用するために用いられる。
【００５７】
以上、ＰＣ２０の構成について説明した。
【００５８】
［シミュレーター環境利用の流れ］
次に、ユーザーがシミュレーター環境１１ｘを利用するまでの処理の流れについて説明する。図５は、ユーザーがシミュレーター環境１１ｘを利用するまでの処理の流れについて説明するための図である。
【００５９】
（０）まず、シミュレーター提供クラウド１の管理者が、画像形成装置の各ＣＰＵ（例えば、図ではＡＲＭ、ＰｏｗｅｒＰＣ、ｘ８６系のＣＰＵ）に特化し、各種ツールに関するパス指定などの設定も済ませてある標準的なシミュレーター環境１１ｘを「マスター」として、対象とする画像形成装置の製品ごとに用意する。
【００６０】
なお、「マスター」は、個々のユーザーが利用するシミュレーター環境を作成するためのコピー元となるものであり、個々のユーザーにより実際のファームウェア開発で利用されるものではない。
【００６１】
（１）次に、ユーザーＡが、ＰＣ２０経由で、シミュレーター提供クラウド１のハイパーバイザー１１ｂに対し、自身が利用するシミュレーター環境１１ｘを選択し、要求する。
【００６２】
（２）次に、ハイパーバイザー１１ｂのシミュレーター環境複製部１１ｙがユーザーに指定されたマスターのシミュレーター環境１１ｘを複製して、ユーザーＡ用のシミュレーター環境を作成する。シミュレーター環境１１ｘは仮想マシン１１ｃ上に構築されているので、容易に複製することが出来る。
【００６３】
（３）次に、ユーザーＡは、ＰＣ２０を介してマスターからコピーされたシミュレーター環境１１ｘを利用し、画像形成装置のファームウェアの開発を行う。マスターからコピーされたシミュレーター環境１１ｘには各ツールのパス指定や設定などが既に行われているので、ユーザーＡはすぐに開発作業に取りかかることが出来る。
【００６４】
以上、ユーザーがシミュレーター環境１１ｘを利用するまでの処理の流れについて説明した。
【００６５】
［シミュレーター環境共有の流れ］
次に、複数のユーザーがシミュレーター環境１１ｘを共有するまでの処理の流れについて説明する。図６は、複数のユーザーがシミュレーター環境１１ｘを共有するまでの処理の流れについて説明するための図である。
【００６６】
なお、以下の説明では、ユーザーＡがシミュレーター提供クラウド１上で排他的に利用するシミュレーター環境１１ｘは既に作成されているものとする。
【００６７】
（１）まず、ユーザーＡが自身の利用しているシミュレーター環境１１ｘを他のユーザーと共有するために、ＰＣ２０経由でハイパーバイザー１１ｂのシミュレーター環境共有管理部１１ｚに環境の共有を要求する。
【００６８】
（２）次に、シミュレーター環境共有管理部１１ｚがユーザーＡのシミュレーター環境１１ｘが共有できるように設定する。
【００６９】
（３）次に、ユーザーＢがユーザーＡのシミュレーター環境１１ｘを共有する要求をシミュレーター環境共有管理部１１ｚに出す。この要求により、ユーザーＢによるユーザーＡのシミュレーター環境１１ｘの共有が行われる。シミュレーター環境１１ｘは仮想マシン１１ｃ上に構築されているので、ハイパーバイザー１１ｂからの制御で、容易に共有したり共有を解除したりすることが出来る。
【００７０】
（４）次に、ユーザーＢは、自身のＰＣ２０を介して、ユーザーＡのシミュレーター環境１１ｘにアクセスし、ユーザーＡのシミュレーター環境を利用する。ユーザーＢは、例えば、共有したシミュレーター環境１１ｘで画像形成装置のファームウェアのバグフィックスを行った後、その環境をそのままユーザーＡに返すことが出来る。
【００７１】
以上、複数のユーザーがシミュレーター環境１１ｘを共有するまでの処理の流れについて説明した。
【００７２】
［補足事項］
上記の説明では、シミュレーター提供クラウド１の管理者が、画像形成装置の製品ごとに、仮想マシン、ゲストＯＳ、エミュレーター、画像形成装置ファームウェアが予め組み合わされたシミュレーター環境１１ｘを用意するとした。
【００７３】
しかし、この構成に限らず、例えば、シミュレーター提供クラウド１の管理者は、組み合わせる前のゲストＯＳ、エミュレーター、画像形成装置ファームウェアを別々に用意しておき、ユーザーが使用目的に合せて、個々のゲストＯＳ、エミュレーター、画像形成装置ファームウェアを適宜組み合わせてシミュレーター環境を構築する構成でもよい。
【００７４】
このような構成とすることにより、シミュレーター提供クラウド１の管理者が数多くのシミュレーター環境１１ｘを用意する手間を省くことが出来る。
【００７５】
以上のように、本発明に係る情報処理システム１００は、ネットワーク接続された、１以上のパーソナルコンピューター２０とサーバー１０とを含み、前記サーバー１０は、前記サーバー１０のハードウェア上でソフトウェアを稼働させるためのホストオペレーティングシステム１１ａと、前記ホストオペレーティングシステム１１ａ上で稼働し、仮想マシン１１ｃを実現するハイパーバイザー１１ｂと、前記ハイパーバイザー１１ｂ上で稼働し、１種類以上の画像形成装置のハードウェアをそれぞれエミュレートする１以上のシミュレーター環境１１ｘとを備え、前記１以上のシミュレーター環境１１ｘの各々は、下層から順に、前記仮想マシン１１ｃと、前記仮想マシン１１ｃ上で稼働するソフトウェアの動作を制御するゲストオペレーティングシステム１１ｄと、前記ゲストオペレーティングシステム１１ｄ上で稼働し、前記１種類以上の画像形成装置のいずれかのハードウェアをエミュレートするエミュレーター１１ｅ、１１ｇと、前記エミュレーター１１ｅ、１１ｇ上で稼働する、前記エミュレーター１１ｅ、１１ｇがエミュレートする画像形成装置のファームウェア１１ｆ、１１ｈとを含む。
【００７６】
そのため、クラウド環境で、より使いやすい開発環境を提供できる。
【００７７】
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００７８】
１  …  シミュレーター提供クラウド
１０  …  サーバー
１１  …  ＣＰＵ
１１ａ…  ホストＯＳ
１１ｂ…  ハイパーバイザー
１１ｃ…  仮想マシン
１１ｄ…  ゲストＯＳ
１１ｅ…  エミュレーター
１１ｆ…  画像形成装置のファームウェア
１１ｇ…  エミュレーター
１１ｈ…  画像形成装置のファームウェア
１１ｘ…  シミュレーター環境
１１ｙ…  シミュレーター環境複製部
１１ｚ…  シミュレーター環境共有管理部
１２  …  ＲＯＭ
１３  …  ＲＡＭ
１４  …  操作入力部
１５  …  通信部
１６  …  表示部
１７  …  記憶部
１８  …  バス
２０  …  ＰＣ
２１ａ…  シミュレーター環境用クライアントソフトウェア
１００  …  情報処理システム
【図１】
2018142076.tif 000003
【図２】
2018142076.tif 000004
【図３】
2018142076.tif 000005
【図４】
2018142076.tif 000006
【図５】
2018142076.tif 000007
【図６】
2018142076.tif 000008