(57)【特許請求の範囲】
【請求項１】
プリンタ部を含む機能モジュールと、
前記機能モジュールを制御するためのモジュールから構成されるコントローラと、
オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークと、を有し、
前記フレームワークは、インストール指示に応じて、インストールが指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、
インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介してイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記機能モジュールの省電力状態を制御することを特徴とする画像形成装置。
【請求項２】
スキャナ部、およびプリンタ部の２つの機能モジュールと、
前記機能モジュールを制御するためのモジュールから構成されるコントローラと、
オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークと、を有し、
前記フレームワークは、インストール指示に応じて、インストール指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、
インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第１のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記スキャナ部の省電力状態を制御し、
前記アプリケーションからアプリケーションプログラミングインターフェースを介して第２のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記プリンタ部の省電力状態を制御することを特徴とする画像形成装置。
【請求項３】
前記省エネルギ制御条件は、前記アプリケーションが動作させる機能モジュールの省エネルギ状態を解除するための省エネルギ解除条件と、前記アプリケーションが動作させる機能モジュールを省エネルギ状態へ移行させるための省エネルギ開始条件とを含むことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記省エネルギ開始条件は、前記アプリケーションが動作させる機能モジュールの省エネルギ状態を段階的に規定するレベルを含むことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記省エネルギ開始条件は、前記アプリケーションが動作させる機能モジュールを省エネルギ状態へ移行させるまでの時間を含むことを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
前記省エネルギ制御条件は、さらに、前記アプリケーションが動作させる機能モジュールの省エネルギ状態への移行を抑制する省エネルギ抑制状態を解除させるための省エネルギ抑制解除条件と、前記アプリケーションが動作させる機能モジュールを省エネルギ抑制状態へ移行させるための省エネルギ抑制開始条件とを含み、
前記フレームワークは、前記アプリケーションが動作させる機能モジュールに対して省エネルギ状態の解除および移行とともに、省エネルギ抑制状態の解除および該省エネルギ状態への移行を含む省エネルギ制御を行うことを特徴とする請求項３又は４に記載の画像形成装置。
【請求項７】
スキャナ部、およびプリンタ部の２つの機能モジュールと、
前記機能モジュールを制御するためのモジュールから構成されるコントローラと、
オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークと、を有する画像形成装置の制御方法であって、
前記フレームワークは、インストール指示に応じて、インストール指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、
インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第１のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記スキャナ部の省電力状態を制御し、
該アプリケーションからアプリケーションプログラミングインターフェースを介して第２のイベントの通知を受けた場合、該アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記プリンタ部の省電力状態を制御する
ことを特徴とする画像形成装置の制御方法。
【請求項８】
前記省エネルギ制御条件は、前記アプリケーションが動作させる機能モジュールの省エネルギ状態を解除するための省エネルギ解除条件と、前記アプリケーションが動作させる機能モジュールを省エネルギ状態へ移行させるための省エネルギ開始条件とを含むことを特徴とする請求項７に記載の画像形成装置の制御方法。
【請求項９】
前記省エネルギ開始条件は、前記アプリケーションが動作させる機能モジュールの省エネルギ状態を段階的に規定するレベルを含むことを特徴とする請求項８に記載の画像形成装置の制御方法。
【請求項１０】
前記省エネルギ開始条件は、前記アプリケーションが動作させる機能モジュールを省エネルギ状態へ移行させるまでの時間を含むことを特徴とする請求項８又は９に記載の画像形成装置の制御方法。
【請求項１１】
前記省エネルギ制御条件は、さらに、前記アプリケーションが動作させる機能モジュールの省エネルギ状態への移行を抑制する省エネルギ抑制状態を解除させるための省エネルギ抑制解除条件と、前記アプリケーションが動作させる機能モジュールを省エネルギ抑制状態へ移行させるための省エネルギ抑制開始条件とを含み、
前記フレームワークは、前記アプリケーションが動作させる機能モジュールに対して省エネルギ状態の解除および移行とともに、省エネルギ抑制状態の解除および該省エネルギ状態への移行を含む省エネルギ制御を行うことを特徴とする請求項８又は９に記載の画像形成装置の制御方法。
【請求項１２】
スキャナ部、およびプリンタ部の２つの機能モジュールと、
前記機能モジュールを制御するためのモジュールから構成されるコントローラと、
オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークとを有する画像形成装置、を制御するためのプログラムであって、
前記フレームワークは、インストール指示に応じて、インストール指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第１のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記スキャナ部の省電力状態を制御する省電力制御モジュールと、
該アプリケーションからアプリケーションプログラミングインターフェースを介して第２のイベントの通知を受けた場合、該アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記プリンタ部の省電力状態を制御する省エネルギ制御モジュールと、
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能モジュールを有する画像形成装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能などの複数の機能を有するＭＦＰ（Multi Function Peripheral）には、上記各機能を実現するための、複数のデバイスと複数のアプリケーションとが組み込まれている。各アプリケーションは、各デバイスのうち、少なくとも１つ以上のデバイスを動作させて対応する機能を実現するものである。
【０００３】
また、上記ＭＦＰに対しては、Ｊａｖａ（登録商標）環境に代表されるようなアプリケーション動作環境が提供されている。そこで、ＭＦＰの機能向上、ユーザビィリティの向上などを図るために、上記Ｊａｖａ（登録商標）環境などのような環境下で動作するアプリケーションを作成し、ＭＦＰにインストールすれば、当該アプリケーションにより所望の機能を実現することが可能になる。すなわち、新たに作成されたアプリケーションをＭＦＰに対してインストールすることにより、当該アプリケーションにより所望の機能を実現することが可能なＭＦＰの出現が望まれる。
【０００４】
また、環境保護対策に伴い、ＭＦＰに対して、無駄な電力の消費を抑制するすなわち省エネルギ化（以下、省エネ化略す）のための制御技術が提案されている（例えば特許文献１参照）。この制御技術においては、予め組み込まれている各アプリケーションおよび動作モードの実行履歴に関する情報と、各アプリケーションにおいて使用された各デバイスに関する情報とが取得される。そして、上記取得された各情報と、各アプリケーションの動作モードと、各デバイスの省エネ制御の必要性との関連を示す情報とを参照して省エネルギ制御の必要性があるデバイスに対して省エネルギ制御が行われる。具体的には、省エネルギ制御の必要性があるデバイスに対して、省エネルギ状態への移行をどのタイミングで開始するかが決定される。
【特許文献１】特開２００１−２８５５４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した、ＭＦＰを含む画像形成装置に対してインストールするための新たなアプリケーションを作成する場合、このアプリケーションに対しても省エネ化を図るための制御手段を組み込むことが考えられる。しかしながら、従来の技術は、予め組み込まれているアプリケーションの実行履歴に基づいて省電力制御を行うので、新たにインストールされるアプリケーションが利用するデバイスに対して省エネ制御を適正に行うことは難しい。
【０００６】
本発明の目的は、アプリケーション毎に動作させる機能モジュールに対する適切な省エネルギ制御を行うことができる画像形成装置、その制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１記載の画像形成装置は、プリンタ部を含む機能モジュールと、前記機能モジュールを制御するためのモジュールから構成されるコントローラと、オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークと、を有し、前記フレームワークは、インストール指示に応じて、インストールが指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介してイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記機能モジュールの省電力状態を制御することを特徴とする。
上記目的を達成するために、請求項２記載の画像形成装置は、スキャナ部、およびプリンタ部の２つの機能モジュールと、前記機能モジュールを制御するためのモジュールから構成されるコントローラと、オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークと、を有し、前記フレームワークは、インストール指示に応じて、インストール指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第１のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記スキャナ部の省電力状態を制御し、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第２のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記プリンタ部の省電力状態を制御することを特徴とする。
上記目的を達成するために、請求項７記載の画像形成装置の制御方法は、スキャナ部、およびプリンタ部の２つの機能モジュールと、前記機能モジュールを制御するためのモジュールから構成されるコントローラと、オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークと、を有する画像形成装置の制御方法であって、前記フレームワークは、インストール指示に応じて、インストール指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第１のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記スキャナ部の省電力状態を制御し、該アプリケーションからアプリケーションプログラミングインターフェースを介して第２のイベントの通知を受けた場合、該アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記プリンタ部の省電力状態を制御することを特徴とする。
上記目的を達成するために、請求項１２記載のプログラムは、スキャナ部、およびプリンタ部の２つの機能モジュールと、前記機能モジュールを制御するためのモジュールから構成されるコントローラと、オペレーティングシステムにより提供される動作環境において動作する仮想マシン上で実行されるアプリケーションをインストールするためのフレームワークとを有する画像形成装置、を制御するためのプログラムであって、前記フレームワークは、インストール指示に応じて、インストール指示されたアプリケーションに含まれる動作設定情報が記述されたマニフェストをロードし、ロードされたマニフェストに記述された省エネルギ制御条件を該アプリケーションに対する省エネルギ制御条件として設定し、インストールされた前記アプリケーションが起動した後に、前記アプリケーションからアプリケーションプログラミングインターフェースを介して第１のイベントの通知を受けた場合、前記アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記スキャナ部の省電力状態を制御する省電力制御モジュールと、該アプリケーションからアプリケーションプログラミングインターフェースを介して第２のイベントの通知を受けた場合、該アプリケーションに対応する省エネルギ制御条件に従い、前記コントローラを通じて前記プリンタ部の省電力状態を制御する省エネルギ制御モジュールと、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、アプリケーション毎に動作させる機能モジュールの省エネルギ状態の解除および開始を最適に制御することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１３】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る画像形成装置を含むシステム構成例を模式的に示す図である。本実施の形態においては、画像形成装置として、複数の機能を有する複合機を説明する。
【００１４】
コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能などの複数の機能を有する複合機（以下、ＭＦＰという）１００は、図１に示すように、ＬＡＮなどのネットワーク１０１と接続されるとともに、電話回線１０４と接続される。また、上記ネットワーク１０１には、サーバコンピュータ（以下、サーバという）１０２、パーソナルコンピュータ（以下、ＰＣという）１０３、ゲートウェイ装置１０５が収容されている。
【００１５】
サーバコンピュータ（以下、サーバという）１０２は、電子メールサーバおよび文書管理サーバなどとして利用されるサーバである。パーソナルコンピュータ（以下、ＰＣという）１０３は、印刷処理を実行するためのプリンタドライバを搭載する。ゲートウェイ装置１０５は、イントラネット／インターネットなどの接続に利用される装置である。
【００１６】
次に、ＭＦＰ１００の構成について図２を参照しながら説明する。図２は図１のＭＦＰ１００の構成を示すブロック図である。
【００１７】
ＭＦＰ１００は、図２に示すように、原稿自動送り装置２００、スキャナ部６０９、操作パネル２０１、プリンタ部６１１、フィニッシング装置６１２などの複数の機能モジュールを有する。これらの機能モジュールは、コントローラ４０２により制御される。
【００１８】
ここで、原稿自動送り装置２００は、原稿をスキャナ部６０９へ自動的に搬送するための装置である。スキャナ部６０９は、原稿自動送り装置２００から搬送された原稿を読み取り、読み取られた原稿上の画像を示す画像データを出力する。プリンタ部６１１は、電子写真方式により、スキャナ部６０９、ネットワーク１０３上のＰＣ１０３またはサーバ１０２から出力された画像データのプリント出力を行うプリンタである。このプリンタ部６１１は、図示されていないが、トナー像を形成する画像形成部、このトナー像を用紙上に転写する転写部と、用紙上に転写されたトナー像を用紙上に定着させる定着部などを有する。
【００１９】
次に、上記コントローラ４０２の構成について図３を参照しながら説明する。図３は図２のＭＦＰ１００のコントローラ４０２の内部構成を示すブロック図である。
【００２０】
コントローラ４０２は、図３に示すように、ＲＯＭ３０３に格納されているプログラムに従って、ＯＳ（オペレーティングシステム）を構築するＣＰＵ３０２を有する。ＣＰＵ３０２は、上記ＯＳ上で動作する制御プログラムに従って、ＭＦＰ１００全体の制御を行うとともに、機能モジュール群３０１に含まれる各機能モジュールを個別に制御する。上記制御プログラムは、ＲＯＭ３０３またはＨＤＤ（ハードディスク装置）３０５に格納されているプログラムである。ＣＰＵ３０２が制御を行う際には、ＲＡＭ３０４がＣＰＵ３０２の作業領域として用いられる。これらのブロックは、入出力インタフェース３０６を介して接続されている。
【００２１】
次に、ＭＦＰ１００においてアプリケーションプログラムを実行可能なソフトウェア構成について図４を参照しながら説明する。図４は図２のＭＦＰ１００におけるアプリケーションプログラムを実行可能なソフトウェア構成を示すブロック図である。
【００２２】
ＭＦＰ１００上には、図４に示すように、ＣＰＵ３０２により、ＭＦＰ１００の各種機能をリアルタイムに制御するためのリアルタイムＯＳ４０１が構築される。このＯＳ４０１は、各種アプリケーションの動作環境を提供し、その上位で動作するアプリケーションに対して、インタフェースコマンドを提供する。このＯＳ４０１により提供される動作環境４０１において、コントローラ４０２、仮想マシン４０３、リソース管理部４０４が動作する。
【００２３】
コントローラ４０２は、機能モジュール群３０１に含まれる各機能モジュールをそれぞれ個別に制御するための複数のモジュールからなる。仮想マシン４０３は、特定のアプリケーションを動作させるための最適な動作環境を提供するものであり、例えばＪａｖａ（登録商標）などにより実現される。リソース管理部４０４は、仮想マシン４０３、後述のフレームワーク４０５、またはＯＳ４０１上の全てのアプリケーションが資源を使用する際に、予め定められた容量以上の資源を使用することがないように管理する。
【００２４】
フレームワーク４０５は、仮想マシン４０３が提供する動作環境上で実行されるアプリケーションのためのフレームワークである。このフレームワーク４０５には、アプリケーションプログラミングインタフェース（以下、ＡＰＩという）４０６が含まれる。ここで、フレームワーク４０５上で実行されるアプリケーションとしては、アプリケーションＡ４０７、アプリケーションＢ４０８、アプリケーションＣ４０９とする。
【００２５】
フレームワーク４０５には、予め共通で必要なサービス、頻繁に利用される機能モジュール、コントローラ４０２にアクセスしてＭＦＰ１００の各機能を制御するために必要なライブラリ群などが予め準備される。これにより、ＡＰＩ４０６を利用して、上記アプリケーション４０７〜４０９などを効率よく開発し、動作させることが可能である。本実施の形態においては、フレームワーク４０５には、省エネ制御部６０２、イベント処理部６０１、インストール制御部７０３が組み込まれている。これらの詳細については後述する。
【００２６】
ここで、上記アプリケーション４０７〜４０９が提供する機能およびそれらの選択について図５を参照しながら説明する。図５は図４のアプリケーション４０７〜４０９により提供されるユーザインタフェース画面の一例を示す図である。
【００２７】
上記アプリケーション４０７〜４０９により提供される機能を選択する際には、図５に示すような、各アプリケーション４０７〜４０９が提供する機能を選択、指定するためのユーザインタフェース画面５００が操作パネル２０１に表示される。ここで、アプリケーション４０７〜４０９がそれぞれ提供する機能は、「コンテンツプリント」、「スキャン文書登録」、「文書サーバ接続」であるとする。この場合、ユーザインタフェース画面５００においては、上記アプリケーション４０７〜４０９がそれぞれ提供する「コンテンツプリント」、「スキャン文書登録」、「文書サーバ接続」を選択、指定するためのボタン５０１，５０２，５０３がそれぞれ表示される。また、各アプリケーションがそれぞれ提供する機能の全てを、１画面内に表示することができない場合に、画面のスクロールを行うためのスクロールボタン５０４が表示される。
【００２８】
また、ユーザインタフェース画面５００には、選択された機能に対応するアプリケーションが使用する設定値を入力するためのパネルコントロール領域５０５が含まれる。このパネルコントロール領域５０５には、当該アプリケーションで使用される各種設定値などをそれぞれ入力するための入力ボックス５０６，５０７，５０８，５０９が表示される。また、ユーザインタフェース画面５００には、選択されたアプリケーションにより、入力された設定値に応じた印刷の開始を指示するためのプリントボタン５１０が表示される。ここで示されるパネルコントロール領域５０５は、アプリケーションＡ４０７が提供する「コンテンツプリント」のものである。
【００２９】
ここで例示したアプリケーション４０７〜４０９は、アプレットなどに代表されるユーザインタフェースを用いる形態のアプリケーションであるが、フレームワーク４０５で実行可能なアプリケーションとしてはこれに限られるものではない。例えばサーブレットのようにＷｅｂインタフェースを提供可能な形態のアプリケーション、サービスなどのようにバックグラウンドで処理を継続する形態のアプリケーションなど、様々な形態のアプリケーションを実行することが可能である。
【００３０】
次に、上記フレームワーク４０５による省エネルギ制御（以下、省エネ制御と略す）を実現するための構成について図６を参照しながら説明する。図６は図４のフレームワーク４０５の省エネ制御を実現するための構成を示すブロック図である。
【００３１】
フレームワーク４０５に組み込まれているイベント処理部６０１は、図６に示すように、コントローラ４０２からの各機能モジュールに関するイベント６５４、仮想マシン４０３からの固有のイベント６５０を受信する。また、イベント処理部６０１は、ＯＳ４０１からのイベント、また各アプリケーション４０７〜４０９からの固有のイベント６５１〜６５３などを受信する。そして、イベント処理部６０１は、受信したイベントに応じた処理を行う。
【００３２】
また、フレームワーク４０５に組み込まれている省エネ制御部６０２は、イベント処理部６０１からのイベント通知６５５を監視し、コートローラ４０２を介して、各機能モジュールの省エネ状態を制御するための処理命令６５６を発行する。
【００３３】
ここで、コントローラ４０２が制御する各機能モジュールのうち、省エネ制御対象の機能モジュールとしては、ユーザインタフェース部６０８、スキャナ部６０９、ＰＤＬ処理部６１０、プリンタ部６１１がある。また、フィニシング装置６１２、ＨＤＤ３０５、ネットワーク部６１４、ファックス部６１５などがある。上記各機能モジュールは、それぞれ、省エネ制御部６０２が個別に省エネ状態を制御可能なモジュールの最小単位として定義される。また、プリンタ部６１１の場合は、給紙部、画像形成部、定着部、排紙部などの複数のモジュールが設けられている。この給紙部、定着部、排紙部などの各モジュールがそれぞれ独立して省エネ状態を被制御可能な構造であれば、これらは、省エネ状態が制御可能なモジュールの最小単位と定義されることになる。逆に、給紙部、定着部などの各モジュールがそれぞれ独立して省エネ状態を被制御可能な構造でなければ、プリンタ部６１１は、省エネ状態が制御可能なモジュールの最小単位として定義されることになる。
【００３４】
次に、アプリケーションのライフサイクルと、当該アプリケーションに対する省エネ制御の関係について図７を参照しながら説明する。図７は本発明の第１の実施の形態におけるアプリケーションのライフサイクルと当該アプリケーションに対する省エネ制御の関係を示すダイアグラムである。
【００３５】
ここでは、図７に示すように、１つのアプリケーション７０１のインストールからアンインストールされるまでを例として説明する。このアプリケーション７０１には、当該アプリケーション７０１の動作設定情報などが記述されているマニフェスト７０２が含まれる。このマニフェスト７０２の詳細例については後述する。また、フレームワーク４０５に組み込まれているインストール制御部７０３は、アプリケーションのインストール、起動、停止、アンインストールなどのライフサイクルを管理する。
【００３６】
まず、アプリケーション７０１はインストール制御部７０３を通して、フレームワーク４０５にインストールされる（ステップＳ７５１）。このインストール後、インストール制御部７０３は、必要なファイル展開処理、ライブラリのロード処理などとともに、マニフェスト７０２をロードする（ステップＳ７５２）。インストール制御部７０３は、ロードしたマニフェストの中から、省エネ制御条件を省エネ制御部６０２に通知する（ステップＳ７５３）。省エネ制御条件を通知された省エネ制御部６０２は、当該省エネ制御条件をセットする。
【００３７】
インストール制御部７０３は、アプリケーション起動命令をアプリケーション７０１に送信して起動する（ステップＳ７５４）。アプリケーション７０１は、必要な初期化処理などを行い、正常に起動すると、当該アプリケーション７０１が正常に起動したことを通知するイベントをイベント処理部６０１へ送信する（ステップＳ７５５）。イベント処理部６０１は、省エネ制御部６０２に対して前記イベントを通知し（ステップＳ７５６）、省エネ制御部６０２は、アプリケーション７０１が動作させる機能モジュールに対する省エネ制御を開始する（ステップＳ７５７）。
【００３８】
アプリケーション７０１を停止する場合、インストール制御部７０３は、アプリケーション停止命令をアプリケーション７０１へ送信する（ステップＳ７５８）。アプリケーション７０１は、必要な停止前処理などを行った後、イベント処理部６０１に対してアプリケーション停止を通知するイベントを送信し、停止する（ステップＳ７５９）。イベント処理部６０１は、省エネ制御部６０２へ前記イベントを通知し（ステップＳ７６０）、省エネ制御部６０２はアプリケーション７０１が動作させる機能モジュールに対する省エネ制御を停止する（ステップＳ７６１）。そして、インストール制御部７０３は、アプリケーション７０１をアンインストールする（ステップＳ７６２）。
【００３９】
次に、アプリケーション７０１のマニフェスト７０２の例について図８および図９を参照しながら説明する。図８は図７のアプリケーション７０１のマニフェスト７０２の一例を示す図である。図９は図７のアプリケーション７０１のマニフェスト７０２の他の例を示す図である。
【００４０】
アプリケーション７０１のマニフェスト７０２としては、例えば図８に示すように、ＸＭＬ（Extensible Markup Language）で記述されているマニフェスト８００がある。本例のマニフェスト８００には、ルートノード８０１、“ApplicationUse”ノード８０２が記述されている。“ApplicationUse”ノード８０２には、省エネ制御対象のモジュールを示す“Function”要素８０３とその制御対象に対する省エネ条件を記述するための“Conditions”ノード８０４が含まれる。“Conditions”ノード８０４に対しては、省エネ解除条件である“Wakeup”要素８０５と省エネ開始条件である“StartSleep”要素８０６が記述されている。本例は、「LocalUI」という機能に対して、省エネ解除条件が「ClickedPowerOn」というイベントの発生時であり、また、省エネ開始条件が「UserLoggedOff」というイベントの発生時であることを示す。また、“StartSleep”要素８０６の“timeWait”属性により、イベント発生から３０秒待機した後、省エネ開始を実行することが指定される。例えば「LocalUI」という機能の使用頻度が高ければ、この“timeWait”属性により、その非省エネ状態を長い時間保持するようにすることによって、ユーザビリティの低下を回避することが可能になる。
【００４１】
さらに、同様に、“Function”要素８０７とその“Conditions”ノードが含まれており、当該“Conditions”ノードに対しては、省エネ解除条件である“Wakeup”要素８０８、省エネ抑制開始条件である“StartRestraint”要素８０９と、省エネ抑制停止条件である“EndRestraint”要素８１０、省エネ開始条件である“StartSleep”要素８１１が記述されている。本例は、「Printer」という機能モジュールに対して、省エネ解除条件が「UserLoggedIn」イベント発生時、省エネ抑制開始条件が「UserLoggedIn」イベント発生時、省エネ抑制停止条件が「UserLoggedOff」イベント発生時、省エネ開始条件が「UserLoggedOff」イベント発生時であることを示す。また、“StartSleep”要素８１１の“level”属性により、例えば、省エネ状態に段階的なレベルが存在する場合などは、そのレベルを指定することが可能である。例えば、プリンタ部６１１の定着部の省エネ状態時において、定着部の温度を何度まで低下させるかを、上記“level”属性により決定することが可能である。これにより、ユーザビリティを低下させない範囲で、復帰時間をユーザに使用環境に応じて決定することが可能になる。
【００４２】
ここで、上述したマニフェスト８００においては、省エネ制御対象のモジュールを示す”Function”要素に、例えば図６に示す機能モジュール６０８〜６１５のそれぞれに対する識別子を直接記述することが可能である。
【００４３】
また、マニフェスト８００に代えて、例えば図９に示すようなマニフェスト９００を用いることも可能である。このマニフェスト９００は、上記マニフェスト８００において宣言する機能を事前定義する場合のものである。このマニフェスト９００においては、ルートノード９０１と、機能を指定するための“Function”要素９０２が記述されている。この“Function”要素９０２の属性“Name”には、機能名称が記述される。また、“Function”要素９０２には、複数の“Module”要素９０３〜９０６が含まれ、各“Module”要素９０３〜９０６には、それぞれ、利用するＭＦＰ１００の各モジュール名称が記述される。この“Function”要素９０２により、「Print」機能が指定されている。また、複数の“Module”要素９０３〜９０６により、この「Print」機能が利用するモジュールとして、「Printer」（プリンタ部６１１）が、「PDL」（ＰＤＬ処理部６１０）、「HDD」（ＨＤＤ３０５）、「Finisher」（フィニシング装置６１２）が宣言されている。このように“Function”要素９０２に「Print」と記述することによって、間接的にＭＦＰ１００の機能モジュールの識別子を記述することが可能となる。よって、このようなマニフェスト９００は、いくつかの機能モジュールを１つの制御対象機能モジュールとみなす場合に有用である。
【００４４】
また、マニフェスト９００においては、“Function”要素９０７により、機能「Scan」が指定されている。また、各“Module”要素９０８，９０９により、機能「Scan」が利用するモジュールとして「Scan」（スキャナ部６０９）、「HDD」（ＨＤＤ３０５）が宣言されている。
【００４５】
次に、アプリケーションの実行に伴う省エネ制御について図１０および図１１を参照しながら説明する。図１０は本発明の第１の実施の形態に用いられるアプリケーションのマニフェストの他の例を示す図である。図１１は図１０のアプリケーションのマニフェストに基づいて実行される制御シーケンスを示す図である。
【００４６】
ここでは、図１０に示すようなマニフェスト１０００が含まれるアプリケーション１１００を実行した際の省エネ制御について説明する。このマニフェスト１０００は、図１０に示すように、「LocalUI」機能１００１、「Scanner」機能１００４、「Printer」機能１００８のそれぞれに対する省エネ解除条件１００２，１００５，１００８と省エネ開始条件１００３，１００６，１００９が記述されたものである。「LocalUI」１００１機能に対しては、省エネ解除条件１００２が「ClickedPowerOn」イベントの発生時であり、省エネ開始条件１００３が「UserLoggedOff」イベントの発生時であることが示されている。また、イベント発生から３０秒待機した後、省エネ開始を実行することが指定されている。「Scanner」機能１００４に対しては、省エネ解除条件１００５が「SelectMenu1」イベントの発生時であり、省エネ開始条件１００６が「UserLoggedOff」イベントの発生時であることが示されている。「Printer」機能１００７に対して、省エネ解除条件１００８が「SelecctMenu2」、省エネ開始条件１００９が「UserLoggedOff」イベントの発生時であることが示されている。また、省エネ開始条件に応じて開始される省エネ状態のレベルが「３」に指定されている。
【００４７】
まず、図１１に示すように、コントローラ４０２がユーザの電源ＯＮの操作を検知すると、コントローラ４０２は、電源ＯＮイベント「ClickedPowerOn」をイベント処理部６０１に通知する（ステップＳ１１５１）。イベント処理部６０１は、上記イベントを省エネ制御部６０２に通知する（ステップＳ１１５２）。省エネ制御部６０２は、上記イベントが省エネ解除条件１００２と合致したと判定し、コントローラ４０２を通じてユーザインタフェース部６０８の省エネ状態を解除する（ステップＳ１１５３）。
【００４８】
次いで、アプリケーション１１００からアプリケーション固有イベント「UserLoggedIn」がイベント処理部６０１に通知され（ステップＳ１１５４）、省エネ制御部６０２に通知される（ステップＳ１１５５）。しかし、ここでは、マニフェスト１０００には上記イベントに関する条件が記述されていないので、制御は行われない。
【００４９】
次いで、アプリケーション１１００からアプリケーション固有イベント「SelectMenu1」がイベント処理部６０１に通知され（ステップＳ１１５６）、イベント処理部６０１は、上記イベントを省エネ制御部６０２に通知する（ステップＳ１１５７）。ここで、省エネ制御部６０２は、上記イベントが省エネ解除条件１００５と合致すると判定し、コントローラ４０２を通じてスキャナ部６０９の省エネ状態を解除する（ステップＳ１１５８）。
【００５０】
次いで、アプリケーション１１００からアプリケーション固有イベント「SelectMenu2」がイベント処理部６０１に通知され（ステップＳ１１５９）、イベント処理部６０１は、上記イベントを省エネ制御部６０２に通知する（ステップＳ１１６０）。ここで、省エネ制御部６０２は、上記イベントが省エネ解除条件１００８と合致したと判定し、コントローラ４０２を通じてスキャナ部６０９の省エネ状態を解除する（ステップＳ１１６１）。
【００５１】
次いで、アプリケーション１１００からアプリケーション固有イベント「UserLoggedOff」がイベント処理部６０１に通知されると（ステップＳ１１６２）、イベント処理部６０１は、省エネ制御部６０２に通知される（ステップＳ１１６３）。ここで、省エネ制御部６０２は、上記イベントがスキャナ部６０９の省エネ開始条件１００３と合致したと判定し、コントローラ４０２を通じてスキャナ部６０９の省エネ状態への移行を開始する（ステップＳ１１６４）。また、上記イベントがプリンタ部６１１の省エネ開始条件１００６と合致したと判定され、コントローラ４０２を通じてプリンタ部６１１の省エネが開始される（ステップＳ１１６５）。また、この際、省エネ開始条件１００３の“timeWait”属性により３０秒待機した後、ユーザインタフェース部６０８の省エネ状態への移行を開始する（Ｓ１１６６）。
【００５２】
ここでは、ユーザの電源ＯＮの操作に対して制御対象の機能モジュールの省エネ状態を解除する場合を示したが、制御対象の機能モジュールの中には、常に非省エネ状態にあるものある。この場合、受信したイベントが省エネ解除条件に合致したとしても、実際には、当該機能モジュールの省エネ状態の解除のための制御を行う必要はない。そこで、上記省エネ制御部６０２は、各機能モジュールの省エネ状態および省エネ抑制状態を示すテーブルを保持する。そして、省エネ制御部６０２は、受信したイベントが省エネ制御条件に合致するものであれば、上記テーブルを参照し、制御対象である機能モジュールの現在の状態に応じて、省エネ状態の解除および移行を行うように制御する。
【００５３】
この省エネ制御部６０２が管理する各機能モジュールの省エネ状態および省エネ抑制状態を示すテーブルについて図１２を参照しながら説明する。図１２は省エネ制御部６０２が管理する各機能モジュールの省エネ状態および省エネ抑制状態を示すテーブルの一例を示す図である。
【００５４】
省エネ制御部６０２は、機能モジュールの省エネ状態および省エネ抑制状態を、図１２に示すテーブル１２００を用いて管理する。このテーブル１２００には、各機能モジュールの識別子であるモジュールＩＤ１２０１と、モジュールＩＤ１２０１のそれぞれに対応付けられた、省エネ状態１２０２および省エネ抑制状態１２０３が記述されている。
【００５５】
ここで、省エネ状態１２０２に関しては、「０」が省エネ解除状態を示し、それ以外の値は省エネ状態を示す。この省エネ状態の値「１」，「２」，「３」などは、省エネレベルを示す。省エネ抑制状態１２０３に関しては、「ＯＮ」、「ＯＦＦ」により省エネ抑制が有効であるか否かが示されており、「ＯＮ」は、省エネ開始命令が発行されても、省エネ状態への移行を行わないことを示す。これに対し、「ＯＦＦ」は、省エネ抑制が無効であり、省エネ開始命令の発行に応じて省エネ状態への移行が可能であることを示す。
【００５６】
次に、省エネ制御部６０２による省エネ制御について図１３を参照しながら説明する。図１３は省エネ制御部６０２による省エネ制御の手順を示すフローチャートである。
【００５７】
省エネ制御部６０２は、図１３に示すように、イベント処理部６０１からイベントを受信するのを待つ（ステップＳ１３０１）。ここで、イベントを受信すると、省エネ制御部６０２は、受信したイベントがマニフェストに記載されている省エネ制御条件と合致するものであるか否かを判定する（ステップＳ１３０２）。ここで、受信したイベントが上記省エネ制御条件と合致するものでなければ、省エネ制御部６０２は、上記ステップＳ１３０１へ戻る。これに対し、受信したイベントが上記省エネ制御条件と合致するものであれば、省エネ制御部６０２は、受信したイベントと合致した省エネ制御条件を判別する（ステップＳ１３０３）。すなわち、受信したイベントと合致した省エネ制御条件が省エネ解除、省エネ抑制開始、省エネ抑制解除、省エネ開始のいずれの条件であるのかが判別される。
【００５８】
上記ステップＳ１３０３で省エネ制御条件が省エネ解除条件であると判別された場合、省エネ制御部６０２は、テーブル１２００の省エネ状態１２０２を参照して、省エネ制御対象の機能モジュールの省エネ状態を判別する（ステップＳ１３０４）。ここで、省エネ制御対象の機能モジュールの省エネ状態を示す値が「０」以外の値である場合、省エネ制御部６０２は、当該機能モジュールが省エネ状態にあると判別し、当該機能モジュールの省エネ状態の解除を実行する（ステップＳ１３０５）。そして、省エネ制御部６０２は、本処理を終了する。これに対し、省エネ制御対象の機能モジュールの省エネ状態を示す値が「０」である場合、省エネ制御部６０２は、当該機能モジュールが非省エネ状態にあると判別し、当該機能モジュールの省エネ状態を解除することなく、本処理を終了する。
【００５９】
上記ステップＳ１３０３で省エネ制御条件が省エネ解除条件であると判別された場合、省エネ制御部６０２は、テーブル１２００の省エネ抑制状態１２０３を参照して、省エネ制御対象の機能モジュールの省エネ抑制状態を判別する（ステップＳ１３０６）。ここで、省エネ制御対象の機能モジュールの省エネ抑制状態１２０３がＯＦＦであると、省エネ制御部６０２は、当該機能モジュールの省エネ抑制状態１２０３をＯＮに変更する（ステップＳ１３０７）。これにより、当該機能モジュールに対して省エネ開始命令が発行されても、省エネ状態への遷移は行われない。そして、省エネ制御部６０２は、本処理を終了する。これに対し、省エネ制御対象の機能モジュールの省エネ抑制状態１２０３がＯＮであると、省エネ制御部６０２は、当該機能モジュールに対して省エネ開始命令が発行されても、省エネ状態への遷移を行わず、本処理を終了する。
【００６０】
上記ステップＳＳ１３０３で省エネ制御条件が省エネ抑制解除条件であると判別された場合、省エネ制御部６０２は、上記省エネ抑制状態１２０３を参照して、省エネ制御対象の機能モジュールの省エネ抑制状態を判別する（ステップＳ１３０８）。ここで、当該機能モジュールの省エネ抑制状態１２０３がＯＮであると、省エネ制御部６０２は、省エネ抑制状態１２０３をＯＦＦに変更する（ステップＳ１３０９）。これにより、当該機能モジュールに対する省エネ抑制が無効に設定され、省エネ開始命令の発行に応じて省エネ状態への遷移が可能にされる。そして、省エネ制御部６０２は、本処理を終了する。これに対し、当該機能モジュールの省エネ抑制状態１２０３がＯＦＦであると、省エネ制御部６０２は、何ら処理を行うことなく、本処理を終了する。
【００６１】
上記ステップＳＳ１３０３で省エネ制御条件が省エネ開始条件であると判別された場合、省エネ制御部６０２は、上記省エネ抑制状態１２０３を参照して、省エネ制御対象の機能モジュールの省エネ抑制状態を判別する（ステップＳ１３１０）。ここで、当該機能モジュールの省エネ抑制状態１２０３がＯＦＦであると、省エネ制御部６０２は、当該機能モジュールに対して省エネ開始を実行し、その省エネ状態を指定された省エネレベルへ遷移させる（ステップＳ１３１１）。そして、省エネ制御部６０２は、本処理を終了する。これに対し、当該機能モジュールの省エネ抑制状態１２０３がＯＮであると、省エネ制御部６０２は、当該機能モジュールに対する省エネ開始を行うことなく、本処理を終了する。
【００６２】
このように、本実施の形態によれば、アプリケーション毎に動作させる機能モジュールの省エネルギ状態の解除および開始を最適に制御することができる。
【００６３】
また、上記マニフェストにより、省エネ状態へ移行するまでの時間、省エネ状態のレベルを設定することが可能であるので、ユーザビリティが損なわれることはない。
【００６４】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図１４を参照しながら説明する。図１４は本発明の第２の実施の形態に係る画像形成装置におけるアプリケーションプログラムを実行可能なソフトウェア構成を示すブロック図である。ここで、図中、上記第１の実施の形態と同じ機能ブロックには、同一の符号が付されている。また、本実施の形態においては、上記第１の実施の形態と異なる点のみを説明するものとする。
【００６５】
本実施の形態においては、図１４に示すように、マニフェストを必要とせず、ＡＰＩ４０６を介して、省エネ制御部６０２を直接呼び出すことが可能である。そして、アプリケーション４０７〜４０８により、ＭＦＰ内の機能モジュールに対する省エネ状態の解除および移行の制御を任意に可能とする。
【００６６】
しかし、本実施の形態の上記構成の場合、アプリケーション開発時に、ＡＰＩ４０６を使用して省エネ制御に関する命令をアプリケーション自体に埋め込む必要がある。すなわち、本実施の形態の場合、ＡＰＩ４０６を使用して任意に制御が可能であるため、後に省エネ制御条件を変更する場合には、上記第１の実施の形態に比して、余分に手間が掛かる。
【００６７】
上記第１または第２の実施の形態のいずれの場合も、同じ目的が達成され、同じ効果が得られるので、それぞれの実施の形態に対応するフレームワーク４０５を構成すれば、よい。
【００６８】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００６９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７０】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【００７１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【００７２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、このプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施の形態に係る画像形成装置を含むシステム構成例を模式的に示す図である。
【図２】図１のＭＦＰ１００の構成を示すブロック図である。
【図３】図２のＭＦＰ１００のコントローラ４０２の内部構成を示すブロック図である。
【図４】図２のＭＦＰ１００におけるアプリケーションプログラムを実行可能なソフトウェア構成を示すブロック図である。
【図５】図４のアプリケーションＡ４０７により提供されるユーザインタフェース画面の一例を示す図である。
【図６】図４のフレームワーク４０５の省エネ制御を実現するための構成を示すブロック図である。
【図７】本発明の第１の実施の形態におけるアプリケーションのライフサイクルと当該アプリケーションに対する省エネ制御の関係を示すダイアグラムである。
【図８】図７のアプリケーション７０１のマニフェスト７０２の一例を示す図である。
【図９】図７のアプリケーション７０１のマニフェスト７０２の他の例を示す図である。
【図１０】本発明の第１の実施の形態に用いられるアプリケーションのマニフェストの他の例を示す図である。
【図１１】図１０のアプリケーションのマニフェストに基づいて実行される制御シーケンスを示す図である。
【図１２】省エネ制御部６０２が管理する各機能モジュールの省エネ状態および省エネ抑制状態を示すテーブルの一例を示す図である。
【図１３】省エネ制御部６０２による省エネ制御処理の手順を示すフローチャートである。
【図１４】本発明の第２の実施の形態に係る画像形成装置におけるアプリケーションプログラムを実行可能なソフトウェア構成を示すブロック図である。
【符号の説明】
【００７４】
１００  ＭＦＰ（画像形成装置）
３０１  機能モジュール群
３０２  ＣＰＵ
３０３  ＲＯＭ
３０４  ＲＡＭ
３０５  ＨＤＤ
４０１  ＯＳ
４０２  コントローラ
４０３  仮想マシン
４０４  リソース管理部
４０５  フレームワーク
４０６  ＡＰＩ
４０７，４０８，４０９，７０１  アプリケーション
６０１  イベント処理部
６０２  省エネ制御部
６０８  ユーザインタフェース部
６０９  スキャナ部
６１０  ＰＤＬ処理部
６１１  プリンタ部
６１２  フィニッシング装置
６１３  ネットワーク部
６１５  ファックス部
７０３  インストール制御部
【図１】
0004829681.tif 000002
【図２】
0004829681.tif 000003
【図３】
0004829681.tif 000004
【図４】
0004829681.tif 000005
【図５】
0004829681.tif 000006
【図６】
0004829681.tif 000007
【図７】
0004829681.tif 000008
【図８】
0004829681.tif 000009
【図９】
0004829681.tif 000010
【図１０】
0004829681.tif 000011
【図１１】
0004829681.tif 000012
【図１２】
0004829681.tif 000013
【図１３】
0004829681.tif 000014
【図１４】
0004829681.tif 000015