説明

制御装置、画像形成装置、及び制御プログラム

【課題】画像形成装置が提供する機能の拡張性を高める制御装置、画像形成装置、及び制御プログラムを提供する。
【解決手段】画像形成装置2が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けて格納するソフトウェア配布情報テーブル103と、画像形成装置2がきどうされると、物理計算機を複数の論理区画に分割し、各論理区画上で、画像形成装置2が起動された目的に関連付けられたオペレーティングシステムを起動する起動部101と、ソフトウェア配布情報テーブル103において画像形成装置2が起動された目的に関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部102と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、画像形成装置、及び制御プログラムに関する。
【背景技術】
【0002】
近年、CPU(Central Processing Unit)の高機能化に伴い、一つの物理計算機上で複数の仮想計算機を実現し、各仮想計算機上でそれぞれOS(Operating System)を動作させる仮想化技術が注目されている。具体的には、ハイパーバイザなどのファームウェア(または、ミドルウェア)によって、一つの物理計算機を複数の論理区画に分割し、各論理区画に対してCPU、メモリ、及び入出力装置等のハードウェア資源を割当て、各論理区画上でそれぞれOSを動作させる。
【0003】
一方、複合機のような画像形成装置では、スキャナ等の画像読取装置や、プリンタ等の画像出力装置の制御といったリアルタイム性が要求される処理(リアルタイム処理)と、画像形成装置がサーバとして機能する際の通信処理、ユーザインタフェースへのデータ出力といった時間制約がない処理(非リアルタイム処理)とが混在している。ここで、複合機とは、プリント機能、スキャナ機能、ファクシミリ(以後、FAXと記載)機能およびコピー機能のうちいずれかを複合的に有する画像形成装置のことをいう。
【0004】
上述の仮想化技術を使えば、リアルタイム処理を行うアプリケーションを動作させるOSと、非リアルタイム処理を行うアプリケーションを動作させるOSとを分けることができるため、画像形成装置において仮想化技術が提供する環境に対する期待が高まっている。
【0005】
特許文献1には、仮想化技術において、複数のオペレーティングシステムのうち、起動に要する時間(起動時間)が短い第1オペレーティングシステムにより特定デバイスを制御し、起動時間が長い第2オペレーティングシステムがエミュレートされた特定デバイスを制御するように管理する技術が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−93439号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、画像形成装置が提供する機能の拡張性を高める制御装置、画像形成装置、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
請求項1に記載の制御装置は、制御対象となる装置が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けて格納する格納部と、前記制御対象となる装置が起動されると、物理計算機を複数の論理区画に分割し、各論理区画上で、前記制御対象が起動された目的に関連付けられたオペレーティングシステムを起動する起動部と、前記格納部において前記制御対象が起動された目的に関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部と、を備えることを特徴とする。
【0009】
請求項2に記載の制御装置は、請求項1に記載の制御装置において、前記起動部は、前記制御対象が起動された目的に関連付けられたオペレーティングシステムが複数ある場合に、各オペレーティングシステムの起動タイミングを調整することを特徴とする。
【0010】
請求項3に記載の制御装置は、請求項1又は2に記載の制御装置において、前記ソフトウェアは、前記制御対象となる装置が起動された後の前記制御対象となる装置の動作モードと対応付けられており、前記格納部において、各オペレーティングシステムに配布すべきソフトウェアは、前記制御対象となる装置で実現される動作モードに合わせて変更されることを特徴とする。
【0011】
請求項4に記載の画像形成装置は、画像形成装置が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けて格納する格納部と、前記制御対象となる装置が起動されると、物理計算機を複数の論理区画に分割し、各論理区画上で、前記判別部が判別した目的に関連付けられたオペレーティングシステムを起動する起動部と、前記格納部において、前記起動部により起動されたオペレーティングシステムに関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部と、を有する制御装置と、前記ソフトウェアにより制御される装置とを備えることを特徴とする。
【0012】
請求項5に記載の制御プログラムは、制御対象となる装置が起動されると、物理計算機を複数の論理区画に分割し、各論理区画上で、前記制御対象となる装置が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けられたソフトウェア配布情報において前記制御対象が起動された目的に関連付けられたオペレーティングシステムを起動する起動ステップと、前記ソフトウェア配布情報において、前記起動ステップにより起動されたオペレーティングシステムに関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部ステップと、を、コンピュータに実行させることを特徴とする。
【発明の効果】
【0013】
請求項1に記載の制御装置によれば、画像形成装置が提供する機能の拡張性が高まる。
【0014】
請求項2に記載の制御装置によれば、各オペレーティングシステムのハードウェアリソースへのアクセスが、起動部により排他制御される。
【0015】
請求項3に記載の制御装置によれば、起動後の画像形成装置の動作を簡易に変更することができる。
【0016】
請求項4に記載の画像形成装置によれば、画像形成装置が提供する機能の拡張性が高まる。
【0017】
請求項5に記載の制御プログラムによれば、画像形成装置が提供する機能の拡張性が高まる。
【図面の簡単な説明】
【0018】
【図1】本発明が適用される画像形成装置を含むシステム構成の一例を示す図である。
【図2】制御装置のハードウェア構成の一例を示す図である。
【図3】画像形成装置に仮想化技術を適用した場合の、ソフトウェア構成の一例を示す図である。
【図4】ハイパーバイザが実現する機能の一例を示す機能ブロック図である。
【図5】ソフトウェア配布情報テーブルの一例を示す図である。
【図6】起動モードと、起動されるOS及び配布されるソフトウェアの関係を説明するための図である。
【図7】ハイパーバイザが実行する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について、添付図面を参照しつつ説明する。
【0020】
図1は、本発明が適用される画像形成装置を含む画像形成システムのシステム構成の一例を示す図である。画像形成システムは、ユーザ端末1と、画像形成装置2とを備える。
【0021】
ユーザ端末1は、例えばPC(パーソナルコンピュータ)であり、ユーザインタフェースとして機能する。ユーザは、ユーザ端末1を介して、画像形成装置2に画像データを送信したり、画像処理を要求したりできる。また、ユーザは、画像形成装置2で読み取った原稿情報を、ユーザ端末1が備える表示装置に表示させることもできる。
【0022】
画像形成装置2は、入出力部3、制御装置4、操作表示部5、画像読取装置(IIT:Image Input Terminal)6、画像出力装置(IOT:Image Output Terminal)7、及びFAX装置8を備える。なお、本実施例では画像形成装置2が複合機であるとして説明を行うが、画像形成装置2は、複写機やプリンタであってもよい。
【0023】
入出力部3は、ユーザ端末1が送信した画像データを受付ける。入出力部3は、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークに接続された情報処理装置、スキャナ等の画像入力装置等から画像データを受付けることもできる。また、入出力部3は、ユーザ端末1を介して、画像形成装置2に対するユーザの指示情報を受付ける。入出力部3は、受付けた画像データ及び指示情報を、制御装置4へ出力する。
【0024】
制御装置4は、入出力部3、操作表示部5、画像読取装置6、画像出力装置70、及びFAX装置8との間で、信号及びデータの送受信を行い、画像形成装置(制御対象の装置)2の全体の動作を制御する。具体的には、制御装置4は、入出力部3から画像データを受付ける。制御装置4は、受付けた画像データを、画像出力装置7が出力できる形式に変換すると、画像出力装置7を制御して、画像形成装置2に設置された用紙(記録媒体)に、受付けた画像データに基づいた画像を形成させる。また、制御装置4は、画像読取装置6が読み取った原稿の画像データを、入出力部3を介してユーザ端末1に表示させる。また、制御装置4は、FAX装置8を制御し、ユーザ端末1から受付けた画像データや、画像読取装置6が読み取った原稿の画像データを、FAX送信させる。
【0025】
操作表示部5は、ユーザインタフェースとして機能する。操作表示部5は、ユーザから、例えば、画像形成に係る操作入力を受付ける。操作表示部5は、入力された操作に係る情報を制御装置4に出力する。また、操作表示部5は、制御装置4の制御に基づいて、例えば、画像形成に係る情報や、画像処理の結果等を表示する。
【0026】
画像読取装置6は、例えば、スキャナ装置であり、制御装置4の制御に基づいて画像読取装置6に配置された原稿を読み取り、読み取った原稿の画像データを制御装置4に出力する。
【0027】
画像出力装置7は、出力対象の画像データを制御装置4から受付け、制御装置4の制御に基づいて、用紙に画像を出力する。
【0028】
FAX装置8は、送信対象の画像データを制御装置4から受付け、制御装置4の制御に基づいてFAXを送信する。
【0029】
次に、制御装置4のハードウェア構成の一例について説明する。図2は、制御装置4のハードウェア構成の一例を示す図である。制御装置4は、入出力部41、ROM(Read Only Memory)42、CPU43、RAM(Random Access Memory)44、及びハードディスク(HDD:Hard Disk Drive)45を備える。
【0030】
入出力部41は、入出力部3、操作表示部5、画像読取装置6、画像出力装置7、及びFAX装置8との間でデータおよび信号の入出力を行なう。ROM42は、ハイパーバイザの機能を実現するためのプログラム(詳細は後述する)等を格納する。CPU43は、ROM42に格納されたプログラムを読み込んで実行する。RAM44は、プログラムを実行する際に使用される一時的なデータを保存する。HDD45は、画像データを含む各種データを格納する。
【0031】
次に、ROM42に格納されたプログラムのCPU43による演算によって実現される、制御装置4のソフトウェアシステムの構成について説明する。まず、図3を用いて、画像形成装置2に仮想化技術を適用した場合のソフトウェア構成の一例について説明する。
【0032】
図3に示すように、制御装置4のソフトウェアシステムは、ハイパーバイザ100、第1の仮想計算機200、第2の仮想計算機300、及び第3の仮想計算機400を備える。
【0033】
ハイパーバイザ100は、上述した制御装置4のハードウェア上にOS1が動作する第1の仮想計算機200、OS2が動作する第2の仮想計算機300、及びOS3が動作する第3の仮想計算機400を生成する。ハイパーバイザ100は、制御装置4のハードウェアリソースの各OSへの割り当てを制御する。また、各OSには、画像形成装置2に備えられた各種デバイス(例えば、画像読取装置6、画像出力装置7等)、及び画像形成装置2と接続された外部装置を制御するための制御ソフトウェア(デバイスドライバ:以後、ドライバとも記載する)が実装されている。
【0034】
第1の仮想計算機200では、OS1が動作する。本説明では、OS1は、VxWorks(登録商標)、QNX(登録商標)等、リアルタイム処理の実行に適したリアルタイムOSであるものとする。OS1には、ファイルシステム201、プロトコルスタック202が実装されている。また、OS1には、後述するOS2に実装されたIDEドライバ302を介してHDD45へのデータの書き込み・読み出しを行うための仮想IDEドライバ203、OS3に実装されたNETドライバ404を介して外部装置との通信を制御する仮想Netドライバ204が実装されている。さらに、OS1には、IOTドライバ205、IITドライバ206、FAXドライバ207、及びLCDドライバ208が実装されている。
【0035】
OS1上では、印刷処理部209、コピー処理部210、FAX処理部211が動作する。また、OS1上では、ジョブの登録、削除、ジョブの実行等を各処理部に対して指示するジョブ制御部212も動作する。なお、本説明では、ユーザから要求された処理をジョブという。なお、印刷処理部209、コピー処理部210、FAX処理部211、及びジョブ制御部212は、OS1上で動作するアプリケーションプログラムのCPU43による演算によって実現される。
【0036】
ファイルシステム201は、HDD45に画像データ等のファイルを書き込む、又は、HDD45からファイルを読み出すための仕組みである。OS1上で動作する印刷処理部209、コピー処理部210、FAX処理部211、及びジョブ制御部212は、このファイルシステムを利用できる。例えば、印刷処理部209は、ファイルシステム201を利用して、HDD45から画像データを取得することができる。また、例えば、FAX処理部211は、ファイルシステム201を利用して、FAX8で受信した画像データをHDD45に格納できる。仮想IDEドライバ203は、実際にHDD45へのデータの書き込み・読み出しを制御できる実ドライバ(IDEドライバ302)を操作するための仮想ドライバである。ファイルシステム201は、仮想IDEドライバ203を操作することで、OS2のIDEドライバ302を操作し、HDD45へのファイルの書き込み、及び、ファイルの読み出しを行う。
【0037】
プロトコルスタック202は、ジョブ制御部212、印刷処理部209等の各アプリケーションに対してIF(Interface)を公開する。各アプリケーションは、このIFを操作して、各種プロトコルで外部の情報処理装置と通信できる。例えば、印刷処理部209は、外部から伝送される画像データを受信するために、このIFを利用する。プロトコルスタック202は、仮想Netドライバ204を操作することで、NETドライバ404を操作し、外部の情報処理装置と通信を行う。なお、NETドライバ404は、入出力部3に備えられた、外部の情報処理装置との通信を制御するネットワークコントローラ(Net)9を制御する。
【0038】
IOTドライバ205は、画像出力装置(IOT)7を制御する。IITドライバ206は、画像読取装置(IIT)6を制御する。FAXドライバ207は、FAX装置(FAX)8を制御する。LCDドライバ208は、ユーザ端末1、操作表示部5を含むユーザインタフェース(UI:User Interface)1,5を制御する。
【0039】
次に、OS1上で動作する各アプリケーションについて説明する。印刷処理部209は、IOT7を制御するIOTドライバ205を操作することで、各種画像データを紙面上に印刷する。ここで、印刷される画像データは、ジョブ制御部212で指定される
【0040】
コピー処理部210は、ジョブ制御部212からの指示に従って、IIT6を制御するIITドライバ206を操作することによって、IIT6にセットされた原稿を読み取り、画像データを生成する。また、コピー処理部210は、生成した画像データを、ファイルシステム201を利用してHDD45に書き込む。また、コピー処理部210は、IOTドライバ205を操作することで、取得した画像データの印刷を実行する。
【0041】
FAX処理部211は、ジョブ制御部212等からの指示、FAX8を制御するFAXドライバ207から発行される着呼イベントに従って動作する。例えば、ジョブ制御部212からファックス送信が指示されると、IIT6を制御するIITドライバ206を操作して、IIT6にセットされた原稿を読み取る。次に、FAX処理部211は、FAX8を制御するFAXドライバ207を操作して、読み取った画像データを指定された番号にFAX送信する。また、FAXデバイスドライバ207から着呼イベントが発行された場合には、FAX処理部211は、FAX8から受信した画像データをファイルシステム201を利用して、HDD45へ書き込む。
【0042】
第2の仮想計算機300では、OS2が動作する。本説明では、OS2は、Linux(登録商標)、WINDOWS(登録商標)等の汎用OS(いわゆる非リアルタイムOS)とする。OS2には、画像データ等のファイルのHDD45への読み出し・書き込みを制御するためのファイルシステム301及びIDEドライバ302が実装されている。また、OS2上では、ジョブの登録、削除、ジョブの実行等を行うジョブ制御部303が動作する。ジョブ制御部303は、OS2上で動作するアプリケーションプログラムのCPU43による演算によって実現される。
【0043】
ファイルシステム301は、HDD45へのファイルの書き込み・読み出しを制御するIDEドライバ302を操作し、HDD45に対しファイルの書き込み・読み出しを行う。ジョブ制御部303は、ファイルシステム301を利用して、HDD45からファイルの読み出し・書き込みを行う。
【0044】
第3の仮想計算機400では、OS3が動作する。本説明では、OS3は、OS2と同様、汎用OSであるとする。OS3には、ファイルシステム401、仮想IDEドライバ402、プロトコルスタック403、NETドライバ404、及び仮想LCDドライバ405が実装されている。また、OS3上で、UI制御部406、画像処理部407、及びジョブ制御部408が動作する。UI制御部406、画像処理部407、及びジョブ制御部408は、OS3上で動作するアプリケーションプログラムのCPU43による演算によって実現される。
【0045】
ファイルシステム401は、HDD45に画像データ等のファイルを書き込む、又は、HDD45からファイルを読み出すための仕組みである。OS3上で動作する画像処理部407、及びジョブ制御部408は、このファイルシステムを利用できる。例えば、画像処理部407は、ファイルシステム401を利用して、HDD45から画像データを取得することができる。そして、画像処理部407は、ファイルシステム401を利用して、画像処理が終了した画像データをHDD45に書き込むことができる。仮想IDEドライバ402は、OS3上から実際にHDD45のデータの書き込み・読み出しを実施するためのソフトウェアであり、実ドライバ(IDEドライバ302)を経由してHDD45へのファイルの書き込み、及び、ファイルの読み出しを行う。なお、OS1にも仮想IDEドライバ203が実装されているが、OS1とOS3とはOSの種類が異なるため、仮想IDEドライバ203と、仮想IDEドライバ402とはソフトウェアが異なる。
【0046】
プロトコルスタック403は、画像処理部407、及びジョブ制御部408の各アプリケーションに対してIFを公開する。各アプリケーションは、このIFを操作して、各種プロトコルで外部の情報処理装置と通信できる。例えば、画像処理部407は、外部から伝送される画像データを受信するために、このIFを利用する。また、画像処理部407は、このIFを利用して、画像処理が終了した画像データを外部の情報処理装置に送信する。プロトコルスタック403は、Net9を制御するNETドライバ404を操作することで、外部の情報処理装置と通信を行う。
【0047】
UI制御部406は、UI1,5に対する描画処理等を制御する。UI制御部406は、仮想LCDドライバ405を操作することによって、LCDドライバ208を操作し、UI1,5に画像データを表示させる。ここで、仮想LCDドライバ405は、実際にUI1,5を制御できる実ドライバ(LCDドライバ208)を操作するための仮想ドライバである。また、UI制御部406は、ユーザが操作表示部5に対して行った操作で入力されるコマンドを受信して、そのユーザの操作に従った画面の更新や、またジョブ制御部408に対してユーザが所望する動作の実行を指示する。
【0048】
ジョブ制御部408は、プロトコルスタック403に対し、外部の情報処理装置との通信を命令する。また、ジョブ制御部408は、ファイルシステム401に対して、HDD45へのデータの書き込み・読み出しを指示する。
【0049】
図3において、OS1〜OS3に実装された各種ドライバは、OS1〜OS3の起動後、ハイパーバイザ100によって配布される。すなわち、OS1〜OS3が起動された時点では、OS1〜OS3にはデバイスドライバが実装されていない。
【0050】
次に、ハイパーバイザ100による、各種ドライバの配布処理の概要について、図4を用いて説明する。本説明では、説明を簡素化するために、ハイパーバイザ100が、HDD45を制御するデバイスドライバを配布する場合について説明する。図4は、ハイパーバイザ100が実現する機能の一例を示す機能ブロック図である。なお、図中、各OS上で動作する各種アプリケーション(例えば、OS3であれば、UI制御部406、画像処理部407、及びジョブ制御部408)については、まとめて「アプリケーション」として表示している。ハイパーバイザ100は、起動部101、配布部102、及びソフトウェア配布情報テーブル(格納部)103を備える。
【0051】
まず、ソフトウェア配布情報テーブル103について説明する。ソフトウェア配布情報テーブル103は、画像形成装置2が起動される場合に、その起動目的を表す起動モードに対し、起動すべきOS、及び、起動したOSに対して配布する制御ソフトウェアをデバイスごとに関連付ける。図5は、ソフトウェア配布情報テーブルの一例を示している。本説明では、HDD45のドライバを配布する処理について説明するため、図5には、HDD45のドライバのみが配布すべき制御ソフトウェアとして記載されている。しかし、実際には、UI1,5、IIT6、IOT7、FAX8、及びNet9などのデバイスごとに、配布すべき制御ソフトウェアが、ソフトウェア配布情報テーブル103に格納される。
【0052】
図5において、「起動モード」とは、画像形成装置2が起動された際の目的を表すものである。図5では、起動モードの項目には、画像形成装置2としての使用を目的とした通常起動、特定のデバイス(例えば、HDD45)を制御するプログラムの更新を目的としたファームウェア更新モード(FW(FirmWare)更新)、特定のデバイスの診断を目的とした診断モードが格納されている。
【0053】
「起動対象」の項目には、画像形成装置2が起動された際の起動モードに対し、ハイパーバイザ100が起動すべきOSが丸印で示されている。例えば、起動モードが通常起動モードである場合には、OS1〜OS3の全てに丸印が付されているので、ハイパーバイザ100は、OS1〜OS3の全てのOSを起動する。また、起動モードがFW更新モードである場合には、OS1及びOS3に丸印が付されているので、ハイパーバイザ100は、OS1及びOS3を起動する。また、起動モードが診断モードである場合には、OS1にのみ丸印が付されているので、ハイパーバイザ100は、OS3のみを起動する。
【0054】
「HDD制御ソフトウェア」の項目には、ハイパーバイザ100が、各OSの起動後に配布する、HDD45を制御するソフトウェアの情報が格納される。例えば、ハイパーバイザ100は、起動モードが通常起動モードである場合には、HDD45のドライバとして、OS1には仮想ドライバ(R)、OS2には実ドライバ(N)、OS3には仮想ドライバ(N)を配布する。また、起動モードがFW更新モードである場合には、ハイパーバイザ100は、OS1に実ドライバ(R)、OS3に実ドライバ(N)を配布する。起動モードが診断モードである場合、ハイパーバイザ100は、OS1に実ドライバ(N)を配布する。なお、(R)は、リアルタイムOSであるOS1で動作するドライバであることを示し、(N)は、非リアルタイムOSであるOS2又はOS3で動作するドライバであることを示す。
【0055】
図4に戻り説明を続ける。起動部101は、画像形成装置2の起動モードを取得し、ソフトウェア配布情報テーブル103から起動対象のOSを取得する。起動部101は、起動対象のOSを起動する。画像形成装置2の起動モードが通常起動であったとすると、起動部101は、OS1〜OS3の全てを起動する(図4(A))。
【0056】
配布部102は、起動されたOSに対して、ソフトウェア配布情報テーブル103で指定されたドライバを配布する。起動モードが通常起動であった場合には、配布部102は、OS1に仮想ドライバ(R)、OS2に実ドライバ(N)、OS3に仮想ドライバ(N)を配布する(図4(B))。なお、図4(B)の仮想ドライバ(R)が図3の仮想IDEドライバ203に相当し、実ドライバ(N)がIDEドライバ302に相当し、仮想ドライバ(N)が仮想IDEドライバ402に相当する。ドライバが配布された各OSは、配布されたドライバをロードし、OSに実装する。
【0057】
HDD45は、異なるOS間で共有されるハードウェアであり、各種データは、HDD45にファイルという形で格納される。なお、各種データとは、印刷対象の画像データであるプリントデータ、IIT6によって読み取った原稿画像であるスキャンデータ、ファームウェア更新プログラムを含む。これらのファイルに、異なるOS上で動作するアプリケーションからアクセスする場合、一般的には、排他制御が必要である。そのため、通常起動モードでは、図4に示すように、HDD45を直接制御する実ドライバ(IDEドライバ302)と、実ドライバを介してHDD45のファイルにアクセスするための仮想ドライバ(仮想IDEドライバ203、及び402)を使用し、実ドライバであるIDEドライバ302が排他制御を実行するようになっている。
【0058】
次に、図6を用いて、画像形成装置2の起動モードが、FW更新モード、及び、診断モードである場合について説明する。
【0059】
まず、起動モードがFW更新モードである場合について説明する。ここで、FW更新モードでは、ネットワーク、あるいは、USB(Universal Serial Bus)メモリ等からファームウェア更新プログラムを取得し、OS1のアプリケーションがHDD45のファームウェアを更新するものとする。
【0060】
図5のソフトウェア配布情報テーブルにおいて、FW更新モードにおける起動対象のOSは、OS1及びOS3となっている。また、各OSに配布するドライバとして、OS1において実際にHDD45を制御する実ドライバ(R)と、OS3において実際にHDD45を制御する実ドライバ(N)が設定されている。そこで、ハイパーバイザ100は、図6(A)に示すように、OS1及びOS3を起動し、OS1に実ドライバであるIDEドライバ203´、OS3に実ドライバであるIDEドライバ402´を配布する。
【0061】
各OSにドライバが配布されると、OS3上のアプリケーションが、ネットワーク(USBでもよい)から、ファームウェア更新プログラムを受信し、IDEドライバ402´を操作してHDD45の所定領域に格納する。OS3はこれ以降HDD45にアクセスする必要がないので、OS1に対してその旨を通知する。通知を受けたOS1は、OS1上のアプリケーションがIDEドライバ203´を操作してHDD45に格納されたファームウェア更新プログラムを取得し、更新作業を実施する。上述の例では、HDD45のファームウェアの更新において、OS2を起動する必要がなく、最低限の構成で必要な機能を提供することができる。
【0062】
次に、画像形成装置2が診断モードで起動された場合について説明する。HDD45の診断は、第1の仮想計算機200〜第3の仮想計算機400のいずれか1つの仮想計算機により実行できる。図4において、診断モードでは、起動対象のOSは、OS1のみとなっている。また、OS1に配布するドライバとしては、実ドライバ(R)が設定されている。そこで、ハイパーバイザ100は、OS1のみを起動し、OS1に実ドライバ(R)であるIDEドライバ203´を配布する。OS1は、IDEドライバ203´を介して、直接HDD45を制御し、HDD45の診断を実行できる。
【0063】
次に、ハイパーバイザ100が実行する制御ソフトウェアの配布処理について説明する。図7は、ハイパーバイザ100が実行するソフトウェアの配布処理の一例を示すフローチャートである。画像形成装置2が起動されると、ハイパーバイザ100が起動され、本処理が実行される。
【0064】
起動部101は、画像形成装置2の起動モードを確認する(ステップS11)。画像形成装置2が起動モードと対応付けられた操作ボタンを備えている場合、起動部101は、例えば、画像形成装置2の起動時にどのボタンが操作されたかを確認することで、起動モードを確認することができる。あるいは、画像形成装置2の電源が切られる際に次回起動時に動作する起動モードが指定された場合、起動部101は、例えばHDD45や不揮発性のメモリに記憶された起動モードを読み込んで、起動モードを確認してもよい。
【0065】
次に、起動部101及び配布部102は、ソフトウェア配布情報テーブル103を参照し、確認した起動モードにおいて起動すべきOS及び、起動したOSに配布するソフトウェアの情報を取得する(ステップS12)。
【0066】
次に、起動部101は、ステップS11で取得した情報に基づいて、各OSを起動する(ステップS13)。起動部101がOSを起動すると、配布部102は、各OSに対しソフトウェア配布情報テーブルで関連付けられたソフトウェアを配布する(ステップS14)。ソフトウェアの配布が終わると、配布部102は、ソフトウェアの配布処理を終了する。
【0067】
通常、デバイスドライバはOSに組み込まれており、そのデバイスドライバがデバイスに対して行う制御は予め定められている。そのため、HDD45に直接アクセスするデバイスドライバ(実ドライバ)と、仮想ドライバを経由してアクセスするデバイスドライバ(仮想ドライバ)は本質的に異なる。従って、実ドライバを持たないOSで、HDD45の診断を実現したい場合には、診断用に実デバイスドライバを組み込んだOSを別途準備しておく必要がある。しかしながら、上述の実施例によれば、ソフトウェア配布情報テーブル103に基づいて、起動部101が、画像形成装置2の起動モードに関連付けられたオペレーティングシステムを起動し、配布部102が、起動モードと関連付けられたソフトウェアを各OSに配布する。つまり、画像形成装置2を起動する目的に合わせて、必要最小限のOSを起動し、かつ実現したい機能にあわせたドライバを配布するため、機能毎にOSを準備する必要がない。
【0068】
また、OSに予めデバイスドライバが組み込まれている場合、UI1,5、IIT6、IOT7、FAX8、HDD45、又はNet9の構成が変わると、各デバイスを制御するデバイスドライバも変更する必要があるため、新たにOSを作り直さなければならない。あるいは、画像形成装置2が各デバイスを使用して新たな機能を提供する場合にも、各デバイスを制御するデバイスドライバを変更する必要があるため、OSを作り直す必要がある。しかしながら、本実施例によれば、起動時のOSには、デバイスドライバが組み込まれておらず、新たな機能の実現に必要なデバイスドライバを配布部102が配布する。従って、OSの再構築を行う必要がなく、また、画像形成装置2が提供する機能の拡張性が高まる。
【0069】
また、例えば、OS1でHDD45を制御する可能性があり、OS2でもHDD45を制御する可能性がある場合には、各OSにHDD45へのファイルの書き込み・読み込みを制御するデバイスドライバを予め組み込んでおく必要がある。しかしながら、本実施例によれば、HDD45を制御するためのデバイスドライバを各OSに予め組み込んでおく必要がないので、各OSのプログラムサイズが削減される。
【0070】
なお、上述の実施例において、起動部101は、FW更新モードでOS3とOS1を同時に起動していた。しかし、起動部101は、ソフトウェア配布情報テーブル103において指定されたOSを同時に起動しなくてもよい。例えば、OS3がハイパーバイザ100にファームウェア更新プログラムのダウンロードが終了したことを通知し、その通知を受けて、起動部101がOS1を起動するようにしてもよい。これにより、各OSからのハードウェアリソースへのアクセスが、起動部101により排他制御される。
【0071】
ソフトウェア配布情報テーブル103の内容は、書き換え可能である。例えば、上述の説明では、OS2がHDD45を実際に制御できる実ドライバを備え、OS1及びOS3は仮想ドライバを備えていた。ここで、例えば、第2の仮想計算機300で実現していた機能を、第3の仮想計算機400で実現したい場合には、ソフトウェア配布情報テーブル103の内容を書き換えればよい。すなわち、OS2に仮想ドライバを配布し、OS3に実ドライバを配布するようにソフトエウェア配布情報テーブルを書き換えることによって、OSの再構築を行うことなく、容易に各仮想計算機が提供する機能を切替えることができる。
【0072】
また、ソフトウェア配布情報テーブル103において配布するデバイスドライバの情報を変更することで、簡易に画像形成装置2の動作を変更することができる。例えば、画像形成装置2が待機時の消費電力を抑える節電モード(動作モード)を複数有しているとする。各節電モードでは、制御対象となるハードウェア(デバイス)が異なるため、デバイスドライバが異なる。例えば、節電モード1はCPUの動作まで停止させるモードであり、節電モード2は、節電モード1よりも消費電力は高くなるが再起動時の応答時間を短縮するためCPUの動作は停止させないモードであるとする。この場合、節電モード1を実現したい場合には節電モード1に対応するデバイスドライバを、節電モード2を実現したい場合には節電モード2に対応するデバイスドライバをソフトウェア配布情報テーブル103に登録すればよい。これにより、簡単に、画像形成装置2の待機時の動作が変更される。また、各節電モードを実現するために、OSを複数準備する必要もない。
【0073】
また、上述の実施例では、ハイパーバイザ100は、第1の仮想計算機200〜第3の仮想計算機400を生成していたが、ハイパーバイザ100により生成される仮想計算機の数は、これに限定されるものではない。例えば、第4の仮想計算機を用いて、画像形成装置2に新たな機能を実装したい場合に、ソフトウェア配布情報テーブル103に第4の仮想計算機の情報を追加することで、ハイパーバイザ100は、第4の仮想計算機を生成できる。ソフトウェア配布情報テーブル103のへの第4の仮想計算機の追加は、ユーザがテーブルに直接行ってもよいし、例えば、新たな機能に対して発行されるライセンスキーの入力により追加されるようにしてもよい。
【0074】
上述した実施の形態は、本発明の実施形態の一部である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0075】
なお、上記の制御装置及び画像処理装置が有する機能は、CPU、ROM、RAM等を備えるコンピュータによって実現することができる。その場合、制御装置及び画像処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【0076】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0077】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【0078】
1…ユーザ端末
2…画像形成装置
4…制御装置
5…操作表示部
6…画像読取装置(IIT)
7…画像出力装置(IOT)
8…FAX装置
100…ハイパーバイザ
101…起動部
102…配布部
103…ソフトウェア配布情報テーブル
200…第1の仮想計算機
300…第2の仮想計算機
400…第3の仮想計算機

【特許請求の範囲】
【請求項1】
制御対象となる装置が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けて格納する格納部と、
前記制御対象となる装置が起動されると、物理計算機を複数の論理区画に分割し、各論理区画上で、前記制御対象が起動された目的に関連付けられたオペレーティングシステムを起動する起動部と、
前記格納部において前記制御対象が起動された目的に関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部と、
を備える制御装置。
【請求項2】
前記起動部は、前記制御対象が起動された目的に関連付けられたオペレーティングシステムが複数ある場合に、各オペレーティングシステムの起動タイミングを調整することを特徴とする請求項1に記載の制御装置。
【請求項3】
前記ソフトウェアは、前記制御対象となる装置が起動された後の前記制御対象となる装置の動作モードと対応付けられており、
前記格納部において、各オペレーティングシステムに配布すべきソフトウェアは、前記制御対象となる装置で実現される動作モードに合わせて変更されることを特徴とする請求項1又は2に記載の制御装置。
【請求項4】
画像形成装置が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けて格納する格納部と、
前記制御対象となる装置が起動されると、物理計算機を複数の論理区画に分割し、各論理区画上で、前記判別部が判別した目的に関連付けられたオペレーティングシステムを起動する起動部と、
前記格納部において、前記起動部により起動されたオペレーティングシステムに関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部と、
を有する制御装置と、
前記ソフトウェアにより制御される装置と、
を備える画像形成装置。
【請求項5】
制御対象となる装置が起動されると、物理計算機を複数の論理区画に分割し、各論理区画上で、前記制御対象となる装置が起動される目的別に、起動すべきオペレーティングシステムと、各オペレーティングシステムに配布すべきソフトウェアとを関連付けられたソフトウェア配布情報において前記制御対象が起動された目的に関連付けられたオペレーティングシステムを起動する起動ステップと、
前記ソフトウェア配布情報において、前記起動ステップにより起動されたオペレーティングシステムに関連付けられたソフトウェアを、各オペレーティングシステムに配布する配布部ステップと、
を、コンピュータに実行させる制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−192131(P2011−192131A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58926(P2010−58926)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】