(57)【要約】【課題】  ネットワーク上の機器が提供するサービスを実行する際に、サービスを提供する機器のスリープ状態及び消費電力に従って、当該サービスを実行するのに消費電力が最小となる機器をスリープ状態から開放することにより、消費電力を少なくできるサービス割り当て方法及びそれを実現する情報処理装置を提供する。【解決手段】  ネットワークに接続された機器によるサービス提供の要求を受け付け、要求されたサービス提供を行う機器に対してスリープ状態か否かを確認し、確認された機器のスリープ状態と、ネットワークを介して提供されるサービスと該サービスを提供するネットワークに接続された機器との組合せを保持するサービステーブルと、ネットワークに接続された機器と該機器の消費電力とを保持する消費電力テーブルとに基づいて、サービスを提供するまでの時間と消費電力とを条件に使用する機器を選択して、サービス提供の指示を出す。【選択図】  図８
2010146207.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の機器によるサービスの提供を制御する情報処理装置であって、
前記ネットワークを介して提供されるサービスと該サービスを提供するネットワークに接続された機器との組合せを保持するサービステーブルと、
前記ネットワークに接続された機器と該機器の消費電力とを保持する消費電力テーブルと、
前記ネットワークに接続された機器によるサービスの提供の要求を受け付けるサービス受付手段と、
前記要求されたサービスの提供を行う前記ネットワークに接続された機器に対して該機器がスリープ状態か否かを確認するスリープ確認手段と、
前記スリープ確認手段によって確認された前記機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、前記サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択する機器探索手段と、
前記機器探索手段によって選択された前記ネットワークに接続された機器に対して、前記サービスの提供の指示を出すサービス指示手段とを有することを特徴とする情報処理装置。
【請求項２】
前記サービス受付手段が、前記ネットワークに接続された複数の機器の組み合わせによるサービスの提供の要求を受け付けて、
前記受け付けた複数の機器の組み合わせによるサービスの提供の要求を実現する前記ネットワークに接続された機器の組み合わせを作成する機器組合手段を更に有し、
前記スリープ確認手段は、前記要求されたサービスの提供を実現可能な前記ネットワークに接続された機器の組み合わせに対してスリープ状態か否かを確認し、
前記機器探索手段は、前記スリープ確認手段によって確認された前記ネットワークに接続された機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、前記サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択し、
前記サービス指示手段は、前記機器探索手段によって選択された前記ネットワークに接続された機器の組み合わせに対して、前記サービスの提供の指示を出すことを特徴とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記サービス受付手段は、更に受け付けたサービスの少なくとも一部を提供する機器を指定する情報を受け付け、
前記スリープ確認手段は、前記指定された機器を除く、前記要求されたサービスの提供を実現可能な前記ネットワークに接続された機器の組み合わせに対してスリープ状態か否かを確認し、
前記機器探索手段は、前記指定された機器を除く、前記スリープ確認手段によって確認された前記ネットワークに接続された機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択し、
前記サービス指示手段は、前記指定された機器と前記機器探索手段によって選択された前記ネットワークに接続された機器の組み合わせとに対して、前記サービスの提供の指示を出すことを特徴とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記指定された機器が前記機器探索手段によって選択された前記ネットワークに接続された機器に含まれているか否かを判断する判断手段と、
前記判断手段が含まれていないと判断した場合に、前記指定された機器を同じサービスを提供する前記機器探索手段によって選択された前記ネットワークに接続された機器で代替することの可否を問い合わせる問合手段とを更に有し、
前記サービス指示手段は、前記代替が許可された場合は、前記指定された機器を使用せずに、前記機器探索手段によって選択された前記ネットワークに接続された機器の組み合わせに対して、前記サービスの提供の指示を出すことを特徴とすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記サービス受付手段は、複数のサービスの提供の要求を受け付け、
前記機器探索手段は、前記スリープ確認手段によって確認された前記機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、複数のサービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択することを特徴とすることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記サービステーブルは、各サービスの処理内容に対応して、少なくとも当該サービスを提供する機器と当該サービスを提供可能なスリープ状態のレベルとを記憶し、前記消費電力テーブルは、各機器のスリープ状態のレベルに対応して消費電力を記憶することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記機器探索手段は、スリープ状態のレベルの変更を必要としない前記ネットワークに接続された機器の組み合わせを優先して使用する機器として選択することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記機器探索手段は、前記スリープ状態のレベルの変更を必要としない場合を除いて、前記サービスを提供する機器の消費電力の和が最小の前記ネットワークに接続された機器の組み合わせを優先して使用する機器として選択することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記サービステーブルは更に機器の性能または能力を保持し、
前記消費電力は、前記サービスの提供の要求で指定された処理内容と前記サービステーブルの性能または能力とから求めることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
ネットワークを介して提供されるサービスと該サービスを提供するネットワークに接続された機器との組合せを保持するサービステーブルと、前記ネットワークに接続された機器と該機器の消費電力とを保持する消費電力テーブルとを備え、前記ネットワークに接続された複数の機器にサービスの提供を割り当てるサービス割り当て方法であって、
前記ネットワークに接続された機器によるサービスの提供の要求を受け付けるサービス受付工程と、
前記要求されたサービスの提供を行う前記ネットワークに接続された機器に対して該機器がスリープ状態か否かを確認するスリープ確認工程と、
前記スリープ確認工程で確認された前記機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、前記サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択する機器探索工程と、
前記機器探索工程で選択された前記ネットワークに接続された機器に対して、前記サービスの提供の指示を出すサービス指示工程とを有することを特徴とするサービス割り当て方法。
【請求項１１】
前記サービス受付工程で、前記ネットワークに接続された複数の機器の組み合わせによるサービスの提供の要求を受け付けて、
前記受け付けた複数の機器の組み合わせによるサービスの提供の要求を実現する前記ネットワークに接続された機器の組み合わせを作成する機器組合工程を更に有し、
前記スリープ確認工程で、前記要求されたサービスの提供を実現可能な前記ネットワークに接続された機器の組み合わせに対して該機器がスリープ状態か否かを確認し、
前記機器探索工程では、前記スリープ確認工程で確認された前記ネットワークに接続された機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択し、
前記サービス指示工程で、前記機器探索工程で選択された前記ネットワークに接続された機器の組み合わせに対して、前記サービスの提供の指示を出すことを特徴とすることを特徴とする請求項１０に記載のサービス割り当て方法。
【請求項１２】
前記サービス受付工程で、更に受け付けたサービスの少なくとも一部を提供する機器を指定する情報を受け付け、
前記スリープ確認工程で、前記指定された機器を除く、前記要求されたサービスの提供を実現可能な前記ネットワークに接続された機器の組み合わせに対して該装置がスリープ状態か否かを確認し、
前記機器探索工程で、前記指定された機器を除く、前記スリープ確認工程で確認された前記ネットワークに接続された機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、前記サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択し、
前記サービス指示工程では、前記指定された機器と前記機器探索工程で選択された前記ネットワークに接続された機器の組み合わせとに対して、前記サービスの提供の指示を出すことを特徴とすることを特徴とする請求項１１に記載のサービス割り当て方法。
【請求項１３】
前記指定された機器が前記機器探索工程で選択された前記ネットワークに接続された機器に含まれているか否かを判断する判断工程と、
前記判断工程で含まれていないと判断した場合に、前記指定された機器を同じサービスを提供する前記機器探索工程で選択された前記ネットワークに接続された機器で代替することの可否を問い合わせる問合工程とを更に有し、
前記サービス指示工程で、前記代替が許可された場合は、前記指定された機器を使用せずに、前記機器探索工程で選択された前記ネットワークに接続された機器の組み合わせに対して、前記サービスの提供の指示を出すことを特徴とすることを特徴とする請求項１２に記載のサービス割り当て方法。
【請求項１４】
前記サービス受付工程は、複数のサービスの提供の要求を受け付け、
前記機器探索工程では、前記スリープ確認工程で確認された前記機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、複数のサービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択することを特徴とすることを特徴とする請求項１０乃至１３のいずれか１項に記載のサービス割り当て方法。
【請求項１５】
前記サービステーブルは、各サービスの処理内容に対応して、少なくとも当該サービスを提供する機器と当該サービスを提供可能なスリープ状態のレベルとを記憶し、前記消費電力テーブルは、各機器のスリープ状態のレベルに対応して消費電力を記憶することを特徴とする請求項１０乃至１４のいずれか１項に記載のサービス割り当て方法。
【請求項１６】
前記機器探索工程では、スリープ状態のレベルの変更を必要としない前記ネットワークに接続された機器の組み合わせを優先して使用する機器として選択することを特徴とする請求項１５に記載のサービス割り当て方法。
【請求項１７】
前記機器探索工程では、前記スリープ状態のレベルの変更を必要としない場合を除いて、前記サービスを提供する機器の消費電力の和が最小の前記ネットワークに接続された機器の組み合わせを優先して使用する機器として選択することを特徴とする請求項１６に記載のサービス割り当て方法。
【請求項１８】
前記サービステーブルは更に機器の性能または能力を保持し、
前記消費電力は、前記サービスの提供の要求で指定された処理内容と前記サービステーブルの性能または能力とから求めることを特徴とする請求項１０乃至１７のいずれか１項に記載のサービス割り当て方法。
【請求項１９】
請求項１０乃至１８のいずれか１項に記載のサービス割り当て方法の各工程をコンピュータに実行させるためのプログラム。
【請求項２０】
請求項１９に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス割り当て方法及びそれを実現する情報処理装置に関する。例えば、ネットワーク上に分散しているサービスを統合してサービスフレームワークとして提供する消費電力に応じたサービス割り当て方法及びそれを実現する情報処理装置に関するものである。より詳しくは、サービスを提供している機器の消費電力を効率的にするためのサービス割り当て方法及びそれを実現する情報処理装置に関するものである。
【背景技術】
【０００２】
近年、ネットワーク化の進展によって、サービスフレームワークを搭載する情報処理装置であるサーバ機器が増えてきている。かかるサービスフレームワークにおいては、ネットワーク上に分散して提供されるサービスを統合して新たなサービスとして提供したり、複数のサービスを業務のワークフローとして提供する。
【０００３】
このようなサービスの提供元として、サーバやコンピュータだけでなく、画像形成装置の高機能化及び高性能化に伴って画像形成装置が様々なサービスを提供する機会も増えてきている。画像形成装置が提供するサービスとしては、例えば、従来からあるプリントサービスやＦＡＸサービスなどに加え、ＯＣＲ（光学文字認識）サービスや文書フォーマット変換サービスなどがある。
【０００４】
一方、画像形成装置には、省エネルギーの観点から消費電力を抑えるための技術が取り入れられている。例えば、プリントエンジン自体を低電力で動作できるようにしたり、使用されていないときにスリープモードに入るような仕組みを入れて、省電力化を行っている。
【０００５】
スリープモードとは、例えば一定時間利用が無かった場合などに、画像形成装置が自主的に機器内の各装置に提供する電力を抑制するものである。ここで、電力が抑制される装置とは、例えば、表示パネルであったり、プリントエンジンなどである。スリープモード中に利用があった場合には、電力供給を抑制していた各装置に供給を再開してから、処理を開始する。
【０００６】
更に、スリープモードには、単一のモードだけでなく、スリープの状態に応じた複数のモードがある場合がある。例えば、一定時間利用が無かった場合に画像形成装置が第一段階のスリープ状態になり、第一段階のスリープ状態から更に一定時間利用が無かった場合に第二段階のスリープ状態になる。このとき、第一段階のスリープ状態は、電力供給を再開すると復帰がすぐに行える装置の電源を抑制したものである。第二段階のスリープ状態は、プリントエンジンのようにウォームアップが必要などで復帰時に所定の時間が掛かる装置の電源を抑制したものである。一般に、第一段階のスリープ状態よりも第二段階のスリープ状態の方が消費電力が抑制されるが、復帰までの時間が掛かることになる。
【０００７】
例えば、ネットワーク上に接続された複数の画像形成装置の消費電力を抑制する方法としては、次のようなものがある。複数の画像形成装置が接続されたネットワーク全体における負荷の計測を行う。負荷とは、単位時間当たりに依頼される処理であり、例えば、１分当たりのプリント枚数などである。このときに、負荷の値がネットワーク全体で提供され得る値よりも下回らないように、かつ消費電力を最小にするように、ネットワークに接続された画像形成装置に対してスリープ状態に入るように制御を行うものがある（例えば、特許文献１）。
【特許文献１】特開２０００−３２２１６１
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の技術は、その時々の負荷の値に応じてスリープ状態に入るように制御するものであり、画像形成装置が自主的にスリープモードに入ることは考慮されていない。そのため、個々の画像形成装置が提供するサービスに応じて、消費電力を最小となるように制御することができなかった。
【０００９】
かかる問題点は、画像形成装置に限定されるものではなく、スリープモードを有する多くの装置で同様の問題が発生する。
【００１０】
本発明は、上記問題点に鑑み、ネットワーク上の機器が提供するサービスを実行する際に、サービスを提供する機器のスリープ状態及び消費電力に従って、当該サービスを実行するのに消費電力が最小となる機器をスリープ状態から開放する。これにより、消費電力を少なくできるサービス割り当て方法及びそれを実現する情報処理装置を提供する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の情報処理装置は、ネットワークに接続された複数の機器によるサービスの提供を制御する情報処理装置であって、前記ネットワークを介して提供されるサービスと該サービスを提供するネットワークに接続された機器との組合せを保持するサービステーブルと、前記ネットワークに接続された機器と該機器の消費電力とを保持する消費電力テーブルと、前記ネットワークに接続された機器によるサービスの提供の要求を受け付けるサービス受付手段と、前記要求されたサービスの提供を行う前記ネットワークに接続された機器に対して該機器がスリープ状態か否かを確認するスリープ確認手段と、前記スリープ確認手段によって確認された前記機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、前記サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択する機器探索手段と、前記機器探索手段によって選択された前記ネットワークに接続された機器に対して、前記サービスの提供の指示を出すサービス指示手段とを有することを特徴とする。
【００１２】
また、本発明のサービス割り当て方法は、ネットワークを介して提供されるサービスと該サービスを提供するネットワークに接続された機器との組合せを保持するサービステーブルと、前記ネットワークに接続された機器と該機器の消費電力とを保持する消費電力テーブルとを備え、前記ネットワークに接続された複数の機器にサービスの提供を割り当てるサービス割り当て方法であって、前記ネットワークに接続された機器によるサービスの提供の要求を受け付けるサービス受付工程と、前記要求されたサービスの提供を行う前記ネットワークに接続された機器に対して該機器がスリープ状態か否かを確認するスリープ確認工程と、前記スリープ確認工程で確認された前記機器のスリープ状態と、前記サービステーブルと、前記消費電力テーブルとに基づいて、前記サービスを提供するまでの時間と選択された機器の消費電力とを条件に、使用する機器を選択する機器探索工程と、前記機器探索工程で選択された前記ネットワークに接続された機器に対して、前記サービスの提供の指示を出すサービス指示工程とを有することを特徴とする。
【００１３】
更に、上記サービス割り当て方法の各工程をコンピュータに実行させるためのプログラム、及び該プログラムを記憶したコンピュータが読み取り可能な記憶媒体を提供する。
【発明の効果】
【００１４】
本発明により、ネットワーク上の機器が提供するサービスを実行する際に、サービスを提供する機器のスリープ状態及び消費電力に従って、当該サービスを実行するのに消費電力が最小となる機器をスリープ状態から開放することが可能となる。従って、消費電力を少なくできる
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、添付図面を用いて詳細に説明する。
【００１６】
＜本実施形態のサービス提供システムの構成例＞
図１は、本実施形態のサービス提供システムの全体の構成を説明するブロック図である。
【００１７】
画像形成装置１００は、画像入力デバイスであるスキャナ部２０７０と、画像出力デバイスであるプリンタ部２０９５と、制御部(Controller Unit)２０００と、ユーザ・インタフェースである操作部２０１２とから構成される。スキャナ部２０７０、プリンタ部２０９５、操作部２０１２は、それぞれ制御部２０００に接続される。制御部２０００は、ＬＡＮ２０１１などのネットワーク伝送路や公衆回線２０５１等に接続されていおり、自身の持つ機能をサービスとして他の機器へ提供する。公衆回線２０５１からはカラー画像送信を含むＧ３及びＧ４ファックスによる送受信が可能である。
【００１８】
また、ＬＡＮ２０１１には、画像形成装置１００と同様の機器構成をもつ他の画像形成装置１２０、１３０が接続されている。画像形成装置１２０、１３０は、それぞれスキャナ部２２７０、２３７０、プリンタ部２２９５、２３９５、操作部２２１２、２３１２を持ち、それらが制御部２２００、２３００に接続されている。なお、図１において画像形成装置は、プリンタ機能、スキャナ機能の両方を有するように記載しているが、例えば、プリンタ機能だけを持つような画像形成装置やスキャナ機能だけを持つ画像形形成装置でも構わない。
【００１９】
また、ＬＡＮ２０１１には、パーソナルコンピュータ（以下ＰＣ）１４０が接続されていて、ＦＴＰまたはＳＭＢプロトコルなどを使用したファイルの送受信や電子メールの送受信ができる。サーバ装置１５０は、ＬＡＮ２０１１上の上記複数の画像形成装置が提供するサービスを取りまとめたり、結合して１つのサービスとしたり、あるいは、当該サービスを取り込んだワークフローを動作させる。
【００２０】
図示していないが、サービスを提供するのは画像形成装置に限らず、他のサービスを提供するサーバがＬＡＮ２０１１にあってもよい。また、サーバ装置１５０が扱うサービスは、ＬＡＮ２０１１に限定されず、インターネットなど公衆回線（ＷＡＮ）２０５１上のサービスを利用できるようになっていてもよい。
【００２１】
＜本実施形態の画像形成装置の制御構成例＞
図２は、本実施形態の画像形成装置の制御構成例を説明するブロック図である。
【００２２】
制御部２０００は、画像入力デバイスであるスキャナ２０７０や画像出力デバイスであるプリンタ２０９５と接続される。一方では、制御部２０００は、ＬＡＮ２０１１や公衆回線（ＷＡＮ）２０５１と接続されることで、画像情報やデバイス情報の入出力を行う。
【００２３】
制御部２０００のＣＰＵ２００１は、システム全体を制御するコントローラである。ＲＡＭ２００２は、ＣＰＵ２００１が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。また、ＲＡＭ２００２は、オペレーティングシステムやシステムソフトウェア、アプリケーショソフトウェアなどのプログラムを動作させるために配置されることもある。ＲＯＭ２００３は、ブートＲＯＭであり、システムのブートプログラムが格納されている。また、システムプログラムやアプリケーションプログラムが格納されている場合もある。ＨＤＤ２００４は、ハードディスクドライブで、システムソフトウェア、アプリケーションソフトウェア、画像データ等を格納する。また、図示していないが、小型の画像形成装置では、ＨＤＤ２００４を搭載せずにシステムソフトウェア、アプリケーションソフトウェア等をＲＯＭ２００３に格納して、ハードディスクの無い構成もある。
【００２４】
ログ用メモリ２１００は、ログを格納するためのメモリであり、エラーログや稼働状況などの各種ログが格納される。また、ログ用メモリ２１００を用意せずに、ＲＡＭ２００２の一部をログ用メモリとして利用するような仕組みとしてもよい。操作部Ｉ／Ｆ２００６は、操作部（ＵＩ）２０１２とインタフェース部で、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部２０１２から本システム使用者が入力した情報を、ＣＰＵ２００１に伝える役割をする。Ｎｅｔｗｏｒｋ２０１０は、ＬＡＮ２０１１に接続し、情報の入出力を行う。Ｍｏｄｅｍ２０５０は、公衆回線（ＷＡＮ）２０５１に接続し、画像情報の入出力を行う。以上のデバイスがシステムバス２００７上に配置される。
【００２５】
Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８を接続し、データ構造を変換するバスブリッジである。画像バス２００８は、ＰＣＩバスなどで構成される。画像バス２００８上には以下のデバイスが配置される。
【００２６】
ラスタイメージプロセッサ（ＲＩＰ）２０６０は、ＰＤＬコードをビットマップイメージに展開する。デバイスＩ／Ｆ部２０２０は、画像入出力デバイスであるスキャナ２０７０やプリンタ２０９５と制御部２０００を接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、入力画像データに対し補正、加工、編集を行う。また、スキャナ画像処理部２０８０は、入力された画像がカラー原稿か白黒原稿かを画像の彩度信号から判断しその結果を保持する機能を有する。プリンタ画像処理部２０９０は、出力画像データに対し補正、加工、編集を行う。
【００２７】
画像回転２０３０は、スキャナ画像処理と連携して、スキャナからの画像読み込みを行う。同時に、画像回転２０３０は、画像を回転しメモリ上に格納したり、メモリ上にある画像を回転し、メモリ上に格納、もしくはメモリ上にある画像をプリンタ画像処理部と連携して回転しながら印字出力することができる。解像度変換２０３１は、メモリ上にある画像を解像度変換処理し、メモリ上に格納する。色空間変換２０３２は、マトリクス演算により、たとえばメモリ上にあるＹＵＶ画像をＬａｂ画像に変換し、メモリ上に格納する。階調変換２０３３は、たとえばメモリ上にある８ｂｉｔ，２５６階調の画像を誤差拡散処理などの手法により１ｂｉｔ，２階調に変換し、メモリ上に格納する。画像圧縮部２０４０は、多値画像データをＪＰＥＧへ、２値画像画像データをＪＢＩＧ、ＭＭＲ、ＭＲ、ＭＨへの圧縮伸張処理を行う。画像回転２０３０、解像度変換２０３１、色空間変換２０３２、階調変換２０３３、画像圧縮２０４０は、それぞれ連結して動作することが可能である。たとえば、メモリ上の画像を画像回転、解像度変換する場合は、両処理をメモリを介さずに行うことができる。
【００２８】
なお、上記の説明においては、画像回転などの画像処理は、画像バス２００８に接続されたデバイスで行っている。しかし、ＨＤＤ２００４やＲＯＭ２００３に画像処理のソフトウェアを格納しておき、ＲＡＭ２００２に読み込んで、ＣＰＵ２００１で実行するようにしてもよい。また、実行するソフトウェアは、画像処理に限らず、画像形成装置で必要となる他の処理でも構わないのは、言うまでもない。ＲＯＭ２００３に格納されたプログラムは、ＲＡＭ２００２に読み込まずに実行してもよい。
【００２９】
＜本実施形態の画像形成装置の構成例＞
図３は、本実施形態の画像形成装置の構成例を示す斜視図である。
【００３０】
画像入力デバイスであるスキャナ部２０７０は、原稿となる紙上の画像を照明し、ＣＣＤラインセンサ（図示せず）を走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は、原稿フィーダ２０７２のトレイ２０７３にセットし、装置使用者が操作部２０１２から読み取り起動を指示する。これにより、制御部２０００のＣＰＵ２００１がスキャナ２０７０に指示を与え、フィーダ２０７２は原稿用紙を１枚ずつフィードし原稿画像の読み取り動作を行う。
【００３１】
画像出力デバイスであるプリンタ部２０９５は、ラスタイメージデータを用紙上の画像に変換する部分である。その方式には、感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作は、制御部２０００のＣＰＵ２００１からの指示によって開始する。プリンタ部２０９５には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセット２１０１、２１０２、２１０３がある。また、排紙トレイ２１１１は、印字し終わった用紙を受けるものである。
【００３２】
（操作部２０１２の例）
操作部２０１２の構成例を図４に示す。
【００３３】
ＬＣＤ表示部２０１３は、ＬＣＤ上にタッチパネルシート２０１９が貼られており、システムの操作画面およびソフトキーを表示するとともに、表示してあるキーが押されるとその位置情報を制御部２０００のＣＰＵ２００１に伝える。スタートキー２０１４は、原稿画像の読み取り動作を開始する時などに用いる。スタートキー２０１４の中央部には、緑と赤の２色ＬＥＤ２０１８があり、その色によってスタートキー２０１４が使える状態にあるかどうかを示す。ストップキー２０１５は、稼働中の動作を止める働きをする。ＩＤキー２０１６は、使用者のユーザー識別子を入力する時に用いる。リセットキー２０１７は、操作部からの設定を初期化する時に用いる。当然ながら、画像形成装置の構成は、本発明の要件を満たすものであれば、図２、図３、図４に記載されたものに限定されるものではない。
【００３４】
（本実施形態の画像形成装置のスリープ例）
ここで、本実施形態の画像形成装置のスリープ状態への移行とスリープ状態からの復帰について説明する。
【００３５】
制御部２０００のＣＰＵ２００１は、制御部２０００内の図示していないタイマで時間を監視している。ＣＰＵ２００１は、前操作が終了されてから一定の時間が経過すると、制御部２０００内の所定の装置に対して電力供給を制御する指示を出して、スリープ状態へ移行する。前操作が終了されてからの時間や、制御部２０００内のどの装置に指示を出すのかは、予め画像形成装置の設定として決められており、例えばＨＤＤ２００４などに記録されている。この設定は、画像形成装置の管理者や利用者が設定することも可能である。設定は、１つだけでなく、スリープモードに応じて、前操作が終了されてからの時間や制御部２０００内のどの装置の電力供給を制御するかについて、複数の設定を持つことが可能である。
【００３６】
スリープ状態からの復帰は、以下のような条件で行われる。操作部２０１２を通じて利用者が画像形成装置を操作したときに、操作部Ｉ／Ｆ２００６からＣＰＵ２００１へ処理の指示が伝わる。ＣＰＵ２００１は、操作が行われたため、スリープ状態からの復帰の指示を電力供給が制御されている各装置へ伝達する。スリープ状態からの復帰の指示を受けた装置では、電力供給が再開されて利用するための準備を行う。利用者からの操作は、操作部２０１２だけでなく、ＬＡＮ２０１１やＷＡＮ２０５１経由でも行われる。例えば、ＰＣ１４０からのネットワークプリント指示やＦＡＸ受信などである。ＬＡＮ２０１１の場合は、Ｎｅｔｗｏｒｋ２０１０を経由してＣＰＵ２００１へ処理の指示を行い、ＷＡＮ２０５１の場合は、ＭＯＤＥＭ２０５０を経由してＣＰＵ２００１へ処理の指示が行われる。
【００３７】
なお、ＣＰＵ２００１が復帰の判断をする場合は、ＣＰＵ２００１がスリープの状態を管理する必要があるため、ＣＰＵ２００１自身がスリープ状態に移行できない。そこで、利用者からの操作を受け取る各装置（操作部Ｉ／Ｆ２００６、Ｎｅｔｗｏｒｋ２０１０、ＭＯＤＥＭ２０６０）が、ＣＰＵ２００１の代理応答機能を持ってもよい。この場合は、ＣＰＵ２００１がスリープ状態に入っても、各装置の代理応答機能で操作の指示を受け取り、ＣＰＵ２００１をスリープ状態から復帰させてからＣＰＵ２００１へ処理を依頼する。
【００３８】
このとき、代理応答機能の中で、スリープの状態と指示のあった操作に応じて、ＣＰＵ２００１を復帰させるか否かの判断を行ってもよい。例えば、ＬＡＮ２０１１経由でプリント指示があった場合はＣＰＵ２００１を復帰させるが、スリープの状態の確認の場合は、ＣＰＵ２００１を復帰させずにＮｅｔｗｏｒｋ２０１０の代理応答機能が応答をする。また、複数のスリープモードを持つ場合に、スリープ状態からの復帰として、完全にスリープ状態から抜け出すのでなく、それまでよりも消費電力が大きいが通常状態より消費電力が小さいスリープ状態へ移行してもよい。例えば、プリントエンジン、ＣＰＵ、ＨＤＤがスリープしている状態で、プリントを伴わない処理（例えば、データ保存）の依頼があったときには、プリントエンジンは復帰せずにＣＰＵとＨＤＤだけ復帰する。
【００３９】
図２のＨＤＤ２００４において、ハードディスク内には、システムソフトウェア、アプリケーションソフトウェア、画像データを格納すると記載した。しかし、これらに限らず、画像管理のためのデータなどの画像以外の一般データファイルや画像形成装置で管理するデータを格納することができる。画像形成装置で管理するデータとしては、例えば、前述したスリープ状態への移行のための設定情報などがある。
【００４０】
＜本実施形態のサーバ装置の構成例＞
図５は、本実施形態の情報処理装置であるサーバ装置の制御構成例を示すブロック図である。
【００４１】
サーバ装置１５０は、サーバ装置１５０を制御するＣＰＵ５０２を有する。また、データの作業領域やプログラム、ＯＳなどが動作するためのシステムワークメモリであるＲＡＭ５０３を有する。また、システムのブートや固定的なプログラムなどが記憶されているＲＯＭ５０４を有する。これら要素がシステムバス５０１に接続されている。
【００４２】
システムバス５０１には、システムソフトウェア、アプリケーションソフトウェア、データ等を格納するハードディスクドライブＨＤＤ５０５が接続される。ＬＡＮと接続して通信するＮｅｔｗｏｒｋ  Ｉ／Ｆ５０６、マウスやキーボードの入力デバイスを接続する入力Ｉ／Ｆ５０７、ディスプレイなどを接続する画面出力Ｉ／Ｆ５０８も接続される。
【００４３】
（サービスフレームワーク）
ここで、サーバ装置１５０が持つサービスフレームワークについて説明する。
【００４４】
サービスフレームワークとは、ネットワーク上において、どのようなサービスがどこで提供されているかを管理するものである。サーバ装置１５０は、利用者からサービスを利用する指示を受け取ると、当該サービスを提供するサービス提供元へ処理を依頼する。また、サーバ装置１５０は、単体のサービスを提供するだけでなく、複数のサービスを組合わせたワークフローを処理するためのサーバとして機能する。
【００４５】
ワークフローの例としては、原稿をスキャンしてスキャンデータをＪＰＥＧフォーマットに変換して保存し、そのスキャンされた原稿を所定のサーバに保存してＦＡＸで送信するように、複数のサービスを複合的に動作させるものがある。また、サービスフレームワークの機能として、サーバ装置１５０は、ワークフローを他のＰＣや画像形成装置に配信することができる。ワークフローが配信されたＰＣや画像形成装置は、当該ワークフローが利用者によって実行されると処理をワークフローの実行を配信元のサーバ装置１５０に依頼する。
【００４６】
なお、本実施形態の説明では、サービスフレームワークが機能するサーバ装置１５０が１台の場合である。しかし、複数台のサーバ装置が提供しているサービス、ワークフローをお互いに通知して、他のサーバ装置とも連携を取りながらサービス、ワークフローを実行する形態でも構わない。例えば、サーバ装置が、インターネット越しにあっても通信できるＨＴＴＰのようなプロトコルによって、インターネット上のサーバ装置で提供されているサービスも利用することが可能となる。
【００４７】
（サービステーブルの構成例）
サーバ装置１５０は、どのサービスがどこ（どの機器）で提供されているかを表すサービステーブルを保持する。サービステーブルの一例を、図６を用いて説明する。かかるサービステーブルは、ＲＡＭ５０３上で生成されＨＤＤ５０５に保持される。
【００４８】
６０１は、利用可能なサービスを表す。６０２は、サービスが提供されている提供機器を表す。図６では、例えば、ＦＡＸサービスの提供機器についてネットワーク上のＩＰアドレスによって特定した例を示してているが、ＩＰアドレスに限らず特定できるものであれば他のものでも構わない。以下の説明では、提供機器をmachin1, machin2,…と表わす。６０３は、サービスを提供している機器のモデルを表す。
【００４９】
６０４は、当該サービスを実施する場合に復帰する必要のあるスリープレベルを表す。ここで、スリープレベルとは、電力供給が制御されいてる装置に応じた値となる。本実施形態では、簡単のために、３つのスリープレベルで説明する。スリープレベル“０”は、スリープしていない状態、即ち画像形成装置内の全てに電源が供給されている状態である。スリープレベル“１”とは、消費電力が大きいプリントエンジンの電源供給を止めている状態であり、他の画像形成装置内の装置へは電源が供給されている。スリープレベル“３”とは、画像形成装置内のほとんど全ての装置への電源供給が行われていない状態であり、代理応答を行うため、操作部Ｉ／Ｆ２００６、Ｎｅｔｗｏｒｋ２０１０、ＭＯＤＥＭ２０６０のみへの電源供給が行われている状態である。このような３つの状態は本説明のための例であり、スリープレベルをより細かく分けてもいいし、スリープ状態か否かの２段階でも構わない。
【００５０】
また、機器ごとにスリープレベルが異なる場合があるが、その場合は、一番詳細なスリープレベルがサービステーブルへ記載され、異なるスリープレベルはどこかのレベルにマッピングされる。例えば、スリープ状態か否かの２レベルしかない機器があった場合は、スリープ状態はスリープレベル２に、非スリープ状態はスリープレベル０に対応させるなどを行う。
【００５１】
６０５には、当該サービスを実施するに当たっての性能情報が記載される。
【００５２】
図６の例では、２台の機器ＤｅｖｉｃｅＡとＤｅｖｉｃｅＣがＦＡＸサービス提供していて、それぞれをＩＰアドレスで示すと、１９２．１６８．１８．５と１９２．１６８．２１．１０１である。また、ＦＡＸサービスを実現するには、スリープレベル１に移行しなければならない。ＦＡＸサービス６０６では、性能として、ＤｅｖｉｃｅＡはＧ３のＦＡＸサービス、ＤｅｖｉｃｅＢはＧ４で送信できることを示している。同様に、６０７はＯＣＲサービス、６０８はＰＲＩＮＴサービス、６０９はＳＣＡＮサービス、６１０はＳＥＮＤサービス、６１１はフォーマット変換サービスについて示している。
【００５３】
ここで、提供機器６０２及びモデル６０３が同じサービス６０１は、同じ機器により提供される。また、フォーマット変換サービス６１１を提供している下段の装置は、画像形成装置でなく一般のＰＣであるため、モデル６０３がＰＣとなっている。ここでは、画像処理装置（machine3)はフォーマット変換としてＡｄｏｂｅ社のＰＤＦ文書に変換でき、ＰＣ（machine5)は、ＰＤＦ文書に加えてＪＰＥＧにも変換できることが分かる。なお、以下の説明では、煩雑さを避けるため画像処理装置についてのみの本実施形態の処理を説明するが、サービス提供機器が画像処理装置に限定されないことは明らかである。
【００５４】
このようなサービステーブルは、例えば、次のように生成される。サーバ装置１５０が、例えばネットワーク上の全ての機器に対して、サービステーブルを作成するのに必要な情報を要求するブロードキャストメッセージを送る。各機器は、提供するサービスを持つ機器がサービステーブルを作成するのに必要な情報をサーバ装置１５０へ送付する。このように得られた情報から、サービステーブルを生成する。または、サーバ装置あるいはサービスフレームワークの管理者が、必要な情報を手動で入力して、サービステーブルを構築してもよい。
【００５５】
（消費電力テーブルの構成例）
サーバ装置１５０は、もう１つテーブルを保持しており、各機器のモデルがどれだけ消費電力が掛かるのかを表したものであり、消費電力テーブルと呼ぶ。消費電力テーブルを図７を用いて説明する。かかる消費電力テーブルも、ＲＡＭ５０３上で生成されＨＤＤ５０５に保持される。
【００５６】
７０１は、サービスを提供している機器のモデルを表すもので、図６のサービステーブルのモデル６０３と同じである。７０２は図６のスリープレベル６０４と同様のスリープレベルを表し、消費電力テーブルでは当該画像形成装置が取りうる各スリープレベルが記憶される。７０３の消費電力は、７０２の各スリープレベルのときの最大消費電力である。
【００５７】
具体的には、７０４はＤｅｖｉｃｅＡが取りうるスリープレベルであり、“０”，“１”，“２”の３つあり、最大消費電力がそれぞれ１．８ＫＷ、８００Ｗ、１Ｗである。７０５はＤｅｖｉｃｅＢが取りうる２つのスリープレベル“０”，“２”であり、最大消費電力がそれぞれ６５０Ｗ、１Ｗでなる。７０６はＤｅｖｉｃｅＣが取りうる３つのスリープレベル“０”，“１”，“２”であり、最大消費電力がそれぞれ１．４ＫＷ、６００Ｗ、１Ｗである。７０７はＤｅｖｉｃｅＤが取りうる３つのスリープレベル“０”，“１”，“２”であり、最大消費電力がそれぞれ２．０ＫＷ、９００Ｗ、１Ｗである。
【００５８】
消費電力テーブルの作成方法は、サービスフレームワークの管理者が手動で値を入力して作成してもよい。あるいは、図６のサービステーブルにおいて、サービスを提供する提供機器、すなわち画像形成装置が分かっているので、当該画像形成装置へ問い合わせを行う。そして、機器の情報として各サービスレベル毎の消費電力を取得して、自動的に消費電力テーブルを生成してもよい。
【００５９】
（本実施形態の省電力サービスの動作手順例１）
以下、図８のフローチャートを用いて、本実施形態のネットワークに接続された機器へのサービス割り当ての省電力サービスの動作手順例について説明する。かかる図８のフローチャートは、図５のサーバ装置１５０のＲＯＭ５０４あるいはＨＤＤ５０５に格納されており、ＣＰＵ５０２により実行される。
【００６０】
まず、ステップＳ８０１において、ＣＰＵ５０２は、利用者からの使用したいサービスの指示（サービス指示）を受信（サービス受付）する。ここで、利用者とは、他のサーバ装置やコンピュータ、あるいは画像形成装置等のデバイスなどの、当該サーバ装置１５０のサービスを利用しようとする機器類も含む。ステップＳ８０２では、ＣＰＵ５０２は、ステップＳ８０１で受信したサービス指示を解析して、当該サービスを利用するための機器が指定されているか否かを判定する。機器が指定されていない場合（ステップＳ８０２でＮｏ）はステップＳ８０５へ進み、指定されている場合（ステップＳ８０２でＹｅｓ）はステップＳ８０３へ進む。
【００６１】
ステップＳ８０３で、ＣＰＵ５０２は、ステップＳ８０２でサービス指定を解析した結果からサービスを使用するように指定された機器について、現在のスリープレベルを確認（スリープ確認）する。ステップＳ８０４で、ＣＰＵ５０２は、ＨＤＤ５０５に保持されたサービステーブルを確認し、指定された機器が提供するサービスのためのスリープレベルと、ステップＳ８０３で取得した現在のスリープレベルとを比較する。比較の結果、ステップＳ８０３で取得した現在のスリープレベルがサービステーブルで確認したスリープレベルと等しいか小さいときは、指定された機器でサービスを実行するためにスリープ状態を変更する必要がない（ステップＳ８０４でＹｅｓ）。すなわち、指定された機器の現在のスリープレベルが“０”であれば、スリープレベル“１”及び“２”において可能なサービスも提供可能であり、スリープレベルが“１”であれば、スリープレベル“２”において可能なサービスも提供可能である。この場合には、ステップＳ８０９へ進む。ステップＳ８０９で、ＣＰＵ５０２は、サービス指定で指示されたサービスを指定された機器に対して実行するように依頼して、終了する。ステップＳ８０９では、指定された機器を最優先に選択してサービスを提供する。
【００６２】
一方、ステップＳ８０４で、もし、ステップＳ８０３で取得したスリープレベルが指定された機器のサービスのスリープレベルより小さいとき（ステップＳ８０４のＮｏ）は、機器のスリープ状態を変更するためにステップＳ８０５へ進む。ステップＳ８０５で、ＣＰＵ５０２は、ＨＤＤ５０５に保持されたサービステーブルからサービス指示で指定されたサービスを提供する機器だけを抽出して、指定サービステーブル（以下に図９で具体例を説明する）を生成する。
【００６３】
ステップＳ８０６で、ＣＰＵ５０５は、ステップＳ８０５で生成した指定サービステーブルの各項目に対して、モデル名とスリープレベルとの組み合わせからＨＤＤ５０５に保持された消費電力テーブルを照合し、消費電力が最小となる機器を選択する。ステップＳ８０７で、ＣＰＵ５０５は、ステップＳ８０６で選択した機器の現在のスリープレベルを確認する。ステップＳ８０８で、ＣＰＵ５０５は、ステップＳ８０７で確認したスリープレベルとステップＳ８０５で生成した指定サービステーブルから選択された機器のスリープレベルとを照合して、サービスを実行できる状態であるか否かを確認する。ステップＳ８０８で、ステップＳ８０６で選択した機器がサービスを実行できるサービルレベルならば（ステップＳ８０８でＹｅｓ）、ＣＰＵ５０２は、ステップＳ８０９へ進む。ステップＳ８０９で、ＣＰＵ５０２は、選択機器にサービスの実行を依頼して終了する。この場合は、スリープレベルの変更なしにサービスを実行できる機器を優先して選択しサービスを提供する。
【００６４】
ステップＳ８０８で、ステップＳ８０６で選択した機器がサービスを実行できるサービルレベルで無ければ（ステップＳ８０８でＮｏ）、ＣＰＵ５０２は、ステップＳ８１０へ進む。ステップＳ８１０で、ＣＰＵ５０２は、指定サービステーブル内の全ての機器が選択されたか確認する。全ての機器を選択していたなら（ステップＳ８１０でＹｅｓ）、ステップＳ８１１に進む。ステップＳ８１１では、ＣＰＵ５０２は、指定サービステーブルで指定されたサービスを実行するために必要な消費電力が最小のものを再度選択して、ステップＳ８０９へ進む。この場合は、指定されたサービスを実行できる機器が全て当該サービスを実行することができないスリープ状態であったために、消費電力が最小のものにサービスを実行させる。
【００６５】
ステップＳ８１０で、全ての機器を選択していないと判定したら（ステップＳ８１０でＮｏ）、ＣＰＵ５０２は、ステップＳ８１２に進む。ステップＳ８１１２で、ＣＰＵ５０２は、指定サービステーブルから消費電力量が次に小さいものを選択して、ステップＳ８０７へ戻り、選択した機器でサービスが実行できるかが再度調べられる。
【００６６】
（本実施形態の省電力サービスの具体例１）
本実施形態の省電力サービスを具体的な例で説明する。
【００６７】
サーバ装置１５０が、図６のサービステーブル、図７の消費電力テーブルを持つとする。サービスを実行させる機器の指定の無いＦＡＸサービスの依頼がサーバ装置１５０にあると、サーバ装置１５０のＣＰＵ５０２は、図８のステップＳ８０５にように、図６のサービステーブルから指定サービステーブルを作成する。
【００６８】
この場合は、ＦＡＸの指定サービステーブルであり、図９のようになる。このように、指定サービステーブルは図６のサービステーブルと同様の項を有する。図９の９０１〜９０５は図６の６０１〜６０５に相当する。
【００６９】
本例のＦＡＸの指定サービステーブルは６０６ａと５０６ｂの２つの機器のデータとなる。すなわち、ＦＡＸサービスは、machine1、machine3で提供されていることが分かり、それぞれの機器のモデルは、deviceA、deviceCとなる。また、サービスを実行するためには、どちらもスリープレベルが“１”でないと実行できない。なお、本説明では、機器とモデルが一対一に対応しているが、当然ながら、複数の機器が同一モデルであっても構わない。
【００７０】
例えば、machine1、machine3が共に現在のスリープ状態がスリープレベル“２”の場合を仮定して説明する。このとき、図９の指定サービステーブルから最小の消費電力のものが探索され、macine3が選択される。これは、次のような判断である。まず、machine1はモデルがdeviceAであるので、図７の消費電力テーブルを確認して、ＦＡＸサービスを実行するために必要なスリープレベル“１”では８００Ｗ必要であることが分かる。同様に、machine3はモデルdeviceCであり、ＦＡＸサービスを実行するために必要なスリープレベル“１”は６００Ｗが必要と分かる。従って、machine3の方が必要な消費電力が少ないため、machine3が選択される。
【００７１】
次に、machine3の現在のスリープ状態を確認すると、上記のようにスリープレベルが“２”であるので、現在の状態のままではＦＡＸサービスを実行することができない。そこで、次に小さい消費電力のmachine1が選択され、同様に判定されるが、machine1もスリープレベルが“２”でありＦＡＸサービスが実行できないことが分かる。従って、いずれにしてもスリープ状態を変更させないとＦＡＸサービスが実行できないことが判明する。このため、ＦＡＸサービスを実行するのに消費電力が最小のmachine3が選択され、machine3にＦＡＸサービスの指示をする。
【００７２】
また、例えば、machine1がスリープレベル０、machine3がスリープレベル２の場合場合を仮定して説明する。この場合は、前述したmachine1とmachine3が共に現在のスリープ状態がスリープレベル“２”である場合と同様に、最初にmachine3が選択される。そして、machine3はそのままの状態ではＦＡＸサービスが実行できないことが判明するまでは同じである。その後、machine1が選択され、machine1の現在のサービスレベルを調べる。すると、現在のスリープレベルが“０”であり、ＦＡＸサービスが実行できることが分かる。そこで、machine1でＦＡＸサービスを実行するように指示を行う。
【００７３】
以上のように、消費電力が最小でなくとも、当該サービスを実行することが可能な機器があれば、その機器を用いてサービスの実行を行う。これにより、機器のスリープ状態に応じて、消費電力が最小となる適切な機器でサービスを実行できる。すなわち、図８のフローチャートで説明したように、１つのサービスの依頼に対して、スリープ状態を考慮し、消費電力が最小となる最適な機器を機器探索してサービスを実行できる。このように、本実施形態では、ネットワークに接続された複数の機器のサービスを統合して提供を行う。
【００７４】
なお、ここでは２つの仮定について図８の具体的な動作を説明したが、他の条件を仮定しても、図８の手順により消費電力とサービス速度とを考慮した適切なサービスを提供できることが明らかである。
【００７５】
＜本実施形態のワークフローの指定による省電力サービス例２＞
次に、複数の一連のサービスを順次実行するワークフローの指定の場合に、消費電力が最小となる最適な選択を行う方法について説明する。
【００７６】
ここで、ワークフローとは、以下のような一連の複数の処理をまとめて行うものである。例えば、利用者が、ある紙の文書を画像形成装置のスキャナで読み取り、その文書を印刷する。そして、ＦＡＸでその文書が指定のあて先に送信され、スキャナで読み取られた電子化された文書データをファイルサーバの所定の場所に格納する。このような一連の複数の操作が予め１つのボタンに対応して登録され、利用者がそのボタンを押すだけで、複数の処理を行うことを可能にするものである。この一連の操作がワークフローであり、個々の操作とは各サービスを実行することに当たる。
【００７７】
１つの実施形態の例として、サーバ装置１５０にワークフローが登録され、画像形成装置では、ボタンとサーバ装置１５０に登録されたワークフローを関連付けておく。利用者がボタンを押すことをトリガとして、ワークフローの開始の指示がサーバ装置１５０に届き、処理を開始する。ワークフローの実現の形態としては、本実施形態で説明したものには限定されず、本発明の内容を満たすものであればどのような形態でも構わないことは言うまでもない。
【００７８】
（ワークフローテーブルの構成例）
図１０に、本例で作成される機器組合せを示すワークフローテーブルの一構成例を示す。
【００７９】
ワークフローテーブルは、次ぎのフィールドを有する。ワークフローを実現するための機器の組合せが記憶される機器リストフィールド１００１、機器リストに記憶された組合せで必要な総消費電力フィールド１００２、現在既に起動中のものを除いて必要な電力量を記憶する必要消費電力フィールドである。なお、１台の機器で、複数のサービスを実行可能なものもあるため、機器リストに記載される機器の組合せの数は、必ずしもワークフロー内のサービスの数とは一致しない。
【００８０】
（本実施形態のワークフローの指定による省電力サービスの動作手順例２）
次に、図１１のフローチャートを用いて、複数の一連のサービスを順次実行するワークフローの指定の場合に、消費電力が最小となる最適な選択を行う処理手順例について説明する。かかる図１１のフローチャートは、図５のサーバ装置１５０のＲＯＭ５０４あるいはＨＤＤ５０５に格納されており、ＣＰＵ５０２により実行される。
【００８１】
図１１のフローチャートのステップＳ９０１において、ＣＰＵ５０２は、クライアント（例えば、画像形成装置など）からワークフローの指示を受信する。ステップＳ９０２で、ＣＰＵ５０２は、ワークフローに指定されたサービス毎に指定サービステーブルを作成する。指定サービステーブルについては、ステップＳ８０５で説明した図９と同様であり、これがワークフローで指定された全てのサービス毎に生成されることになる。
【００８２】
ステップＳ９０３で、ＣＰＵ５０２は、ワークフローを実現するために必要な全ての機器の組合わせを図６のようなサービステーブルから求める。ＣＰＵ５０２は、求めた機器の組合わせについて、更に図７のような消費電力テーブルから当該組合せで必要な総消費電力量を算出する。そして、全てのワークフローを実現するための機器の組合せと総消費電力量とを、上記図１０のようなワークフローテーブルに記憶する。こうして、機器リストと総消費電力量フィールド１００２を埋めたワークフローテーブルを作成する（具体例については、図１２で後述する）。
【００８３】
ステップＳ９０４で、ＣＰＵ５０２は、作成されたワークフローテーブル内の機器リストに記載の全ての機器についてスリープレベルを確認し、個々の機器とスリープレベルの対応表であるスリープレベルリストを作成する。スリープレベルリストについては、以下の具体例の図１３Ａ及び図１３Ｂに示す。ステップＳ９０５で、ＣＰＵ５０２は、作成されたワークフローテーブルで総消費電力フィールドが最小の機器の組合せを選択する。ステップＳ９０６では、ＣＰＵ５０２は、選択された機器の組合せにおいて、各選択された全ての機器がそれぞれ要求されるサービスを実現するためのスリープレベルを持つか確認する。
【００８４】
もし、選択した組合せがワークフローの実現のための全てのサービスを行うことが可能なスリープレベル、即ち、選択された機器のスリープ状態を変更することなくワークフローを実現できるなら（ステップＳ９０６でＹｅｓ）、ステップＳ９１０へ進む。ステップＳ９１０では、ＣＰＵ５０２は、選択した組合せのそれぞれの機器に対して、所望のサービスを依頼する。この依頼は、サーバ装置１５０が主体となって行っても構わないし、依頼先の機器を記憶したワークフロー情報を送付して、以降はクライアント機器で処理が終わるとワークフロー情報を次の機器へ転送する仕組みでも構わない。
【００８５】
ステップＳ９０６で、選択された全ての機器の内の１台でもワークフロー実現のための所望のサービスを実行するためのスリープレベルでないなら（ステップＳ９０６でＮｏ）、ＣＰＵ５０２は、ステップＳ９０７へ進む。ステップＳ９０７で、ＣＰＵ５０２は、当該組合せに対して、ワークフローを実現のためにスリープ状態の変更が必要な機器について、ＨＤＤ５０５に保持した消費電力テーブルからスリープ状態の変更に必要な消費電力の総和を求める。そして、ＣＰＵ５０２は、ワークフローテーブルの必要消費電力フィールド１００３に求めた値を記憶する。ステップＳ９０８で、ＣＰＵ５０２は、機器の組合せがワークフローテーブルから全て選択されたか否かを判定する。全て選択されていない場合は、ＣＰＵ５０２は、ステップＳ９０９へ進む。ステップＳ９０９では、ＣＰＵ５０２は、現在選択したものよりも小さい総消費電力量の機器の組合せを選択して、ステップＳ９０６へ戻る。つまり、ステップＳ９０６からステップＳ９１０の処理によって、新たに消費電力を発生させる（スリープレベルを変える）ことなしに所望のワークフローが実現できる場合は、その機器の組合せの中で最小の消費電力でワークフローを実現させる。
【００８６】
ステップＳ９０８でワークフローテーブルの全ての機器の組合せを選択したと判定すると（ステップＳ９０８でＹｅｓ）、ＣＰＵ５０２は、ステップＳ９１１へ進む。ステップＳ９１１で、ＣＰＵ５０２は、ワークフロー実現のためのスリープレベルの変更を含む必要な消費電力量がワークフローテーブルの必要消費電力フィールドに記載されているので、必要消費電力が最小の機器の組合せを選択する。なお、もし必要消費電力が最小のものが複数ある場合には、その中で、総消費電力量が一番小さいものを選択する。もし同じ場合には、任意に選択する。ステップＳ９１２で、ＣＰＵ５０２は、ステップＳ９１１で選択した組合せの機器に対して、所望のサービスを実行するように依頼して、処理を終了する。
【００８７】
（本実施形態のワークフローの指定による省電力サービスの具体例２）
本実施形態のワークフローの指定による省電力サービスを具体的な例で説明する。
【００８８】
サーバ装置１５０が、図６のサービステーブル、図７の消費電力テーブルを持つとする。ワークフローの指示として、ＦＡＸサービス、ＳＥＮＤサービスの実行が指定されたとする。なお、ＳＥＮＤサービスとは、ファイルサーバなどに画像を変換して送信するサービスのことである。また、サービスを実行させる機器については、指定が無いものとする。
【００８９】
図６のサービステーブルと図７の消費電力テーブルから、図１１のステップＳ９０３の処理で図１２のワークフローテーブルが生成される。上記サービスを実現する装置の組み合わせは、ＦＡＸサービスはmachine1、machie3で提供され、ＳＥＮＤサービスがmachine2、machine4で提供されているため、次ぎの４組となる。その組合せは、“machine1、machine2”、“machine1、machine4”、“machine2、machine3”、“machine3、machine4”から成る。ＦＡＸサービス、ＳＥＮＤサービスをそれぞれ実行できるスリープレベルにおける必要な消費電力の総和が総消費電力に記憶される。例えば、“machine1、machine2”の組み合わせでは、ＦＡＸサービスを実行するdeviceAはスリープレベル“１”、ＳＥＮＤサービスを実行するdeviceBがスリープレベル“０”である。従って、図７の消費電力テーブルから８００Ｗと６５０Ｗを合わせた１４５０Ｗ（１．４５ＫＷ）となる。他の組合せの機器についても同様に計算される。
【００９０】
次ぎに、図１１のステップＳ９０４で生成された現在の各機器のスループレベルを記憶したスリープレベルリストの２つの例について、その処理を説明する。図１３Ａ及び図１３Ｂの２つのスリープレベルリストの例を示す。スリープレベルリストでは、１３０１ａ，１３０１ｂにワークフローテーブルの機器リストに出現する全ての機器が格納され、１３０２ａ，１３０２ｂにその機器のスリープレベルが格納される。
【００９１】
（スリープレベルリストが第１例の場合）
例えば、各機器のスリープレベルを表すスリープレベルリストが、図１３Ａのような状態のときについて説明する。
【００９２】
まず、図１２のワークフローテーブルから総消費電力量が最小の１２５０Ｗの組合せ“machine2、machine3”が選択される。この場合、machine2のスリープレベルが“２”であり、ＳＥＮＤサービスを実行できない。そこで、machine2のスリープレベルを変更するために必要な消費電力を図７の消費電力テーブルから６５０Ｗと求め、ワークフローテーブルに記憶する。次に総消費電力量が少ない“machine1、machine2”を選択する。同様に、machine2がＳＥＮＤサービスを実行できないので、同じく必要消費電力に６５０Ｗを記憶する。更に、次に総消費電力量が小さい“machine3、machine4”を選択する。今度は、machine4がＳＥＮＤサービスを実行できないので、machine4のスリープレベルを変更するために必要な消費電力を図７の消費電力テーブルから９００Ｗと求め、ワークフローテーブルに記憶する。最後に“machine1、machine4”を選択するが、同様に、machien4がＳＥＮＤサービスを実行できないので、必要な消費電力を図７の消費電力テーブルから９００Ｗと求め、ワークフローテーブルに記憶する。すると、図１４のようなワークフローテーブルになる。
【００９３】
図１２のワークフローテーブルの全ての組合せを確認したので、必要消費電力が最小のものを選択する。“machine1、machine2”、“machine2、machine3”が共に最小の６５０Ｗである。しかし、総消費電力量は、“machine2、machine3”が１２５０Ｗであり、“machine1、machine2”の１４５０Ｗよりも小さい。そのため、“machine2、machine3”を選択して、machine3にＦＡＸサービス、machine2にＳＥＮＤサービスの実行を依頼する。
【００９４】
（スリープレベルリストが第２例の場合）
一方、図１３Ｂのようなスリープレベルリストだとする。
【００９５】
この場合、総消費電力量が小さい順に“machine2、machine3”、“machine1、machine2”の組合せが順次選択されるが、共にmachine2でＳＥＮＤサービスが実行できない。次に総消費電力量が小さい“machine3、machine4”が選択される。この組合せだとＦＡＸサービス、ＳＥＮＤサービス共に実行できるため、“machine3、machine4”にそれぞれのサービスの実行を依頼する。このように機器のスリープ状態によって、サービスの実行する機器が消費電力が小さいもので実行しようとする。図１１のフローチャートで説明したように、ワークフローの依頼に対して、必要な複数のサービスを実現するために、スリープ状態を考慮して、消費電力が最小となる最適な機器の組合せを選択してサービスを実行し、ワークフローを実行できる。
【００９６】
＜本実施形態の例外サービス指定による省電力サービス例３＞
次に、本実施形態の例外サービスが指定された場合の動作について説明する。
【００９７】
例外サービスとは、サービスの指定において当該サービスを実行するための特定の機器の指定があり、必ずその機器で実行することが求められるサービスのことである。例えば、プリントサービスにおいて、近くで印刷を行いたいので必ず座席の近くの画像形成装置を指定するようなケースである。また、あるサービスを実行するのに課金される場合に、例えば、処理速度は遅いが安価な方のサービスを提供する機器を必ず使用するように指定するなどがある。
【００９８】
（本実施形態の例外サービス指定による省電力サービスの動作手順例３）
図１５のフローチャートは、図１１のフローチャートで説明した複数の一連のサービスを順次実行するワークフローの指定の場合に、例外サービスの処理を組み入れたものである。そのため、図１１のフローチャートと同じ処理については、図１１のフローチャートと同一の参照符号を与え、説明を割愛するため、詳細は、図１１のフローチャートの同一符号の説明を参照されたい。
【００９９】
まず、ステップＳ１２０１では、ＣＰＵ５０２は、ステップＳ９０１で受け取ったワークフローの指示に対して、例外サービスを除いて、特定サービステーブルを作成する。ここで、例外サービスは、ワークフローの指示に指定されても構わないし、予めサーバ装置１５０が保持しておいてもよい。サーバ装置１５０が、例外サービスを保持するときは、システム全体として一意に規定されたり、あるいは利用者、利用者の所属グループ毎に異なる例外サービスを保持しているような仕組みがある。ステップＳ１２０１で、例外サービスを除いた特定サービステーブルを作成して、ステップＳ９０３、ステップＳ９０４の処理が行われ、それぞれワークフローテーブル及びスリープレベルリストの作成が行われる。なお、ステップＳ９０３で作成されるワークフローテーブルは、例外サービスを除いたものとなる。
【０１００】
ステップＳ１２０２で、ＣＰＵ５０２は、ステップＳ９０４で作成したスリープレベルリスト内に記憶された機器で、ワークフローの指示に指定された例外サービスを実行する機器が含まれるか判断する。含まれる場合は、該当する全ての機器のスリープレベルを、当該例外サービスを実行できるスリープレベルに変更する。即ち、例外サービスを実行する機器をスリープレベルリスト内で、実行可能な状態として扱うようにする。これにより、例外サービス以外の他のサービスが、例外サービスで利用される機器で同じサービスが提供される場合に、スリープ状態を変えることなしにサービスを実行できるようになる。
【０１０１】
ステップＳ９０５で、ＣＰＵ５０２は、ステップＳ９０３で作成した例外サービスを除いたワークフローテーブルで総消費電力が最小の機器を選択する。ステップＳ９０６で、ＣＰＵ５０２は、選択した組合せの機器において、例外サービスを除いた全てのサービスを実行可能なスリープレベルであるかを消費電力テーブルを参照して確認する。可能であれば（ステップＳ９０６でＹｅｓ）、ＣＰＵ５０２は、ステップＳ１２０３へ進み、選択した機器と例外サービスで指定された機器に対して、それぞれ所望のサービスを実行するように依頼して、終了する。
【０１０２】
ステップＳ９０６で、サーバ装置が選択した機器で、現在のスリープレベルで全てのサービスを実行できないと判断した場合は、ステップＳ９０７へ進む。ステップＳ９０７からステップＳ９１１までの処理は、図１１のフローチャートで説明した同一符号と同じであるため、説明は割愛する。ステップＳ１２０４では、ＣＰＵ５０２は、ステップＳ９１１で選択された機器と例外サービスで指定された機器に対して、それぞれ所望のサービスを実行するように依頼して、終了する。
【０１０３】
（本実施形態の例外サービス指定による省電力サービスの具体例３）
本実施形態の例外サービス指定による省電力サービスを具体的な例で説明する。
【０１０４】
サーバ装置が、図６のサービステーブル、図７の消費電力テーブルを持つとする。ワークフロー指示として、ＦＡＸサービス、ＰＲＩＮＴサービスの実行が指定されたとする。また、ＦＡＸサービスを実行させる機器については指定が無いが、ＰＲＩＮＴサービスは例外サービスとしてmachine1で実行するように指示されている。
【０１０５】
図１５のステップＳ９０３においては、図６のサービステーブルと図７の消費電力テーブルから、図１６のワークフローテーブルが生成される。
【０１０６】
ＦＡＸサービス、ＰＲＩＮＴサービスをそれぞれ実行できるスリープレベルのmachine1、machine3のモデルdeviceA、deviceCの必要な消費電力の総和が総消費電力に記憶される。例えば、“machine1”はスリープレベルが“０”で、ＦＡＸサービスとＰＲＩＮＴサービスの両方が実行できる。そこで、図７の消費電力テーブルから１８００Ｗとなる。また、“machine1、machine3”の組み合わせでは、machine1のスリープレベルが“０”でmacnine3のスリープレベルが“１”である。そこで、図７の消費電力テーブルから２４００Ｗとなる。
【０１０７】
例えば、各機器のスリープレベルを表すスリープレベルリストが、図１７Ａのような状態のときについて説明する。machine1、machine3共にスリープレベルが“２”であるが、例外サービスとしてmachine1でＰＲＩＮＴサービスを実行するように指定されているとする。そのため、machine1は、必ずＰＲＩＮＴサービスが実行されるスリープレベル“０”になることが想定される。そこで、図１５のステップＳ１２０２にように、図１７Ａのスリープレベルリストを図１７Ｂのスリープレベルリストに変更して処理が行われる。以降については、図１１のフローチャートの具体例で説明したものと同等の処理を実行するため説明は割愛する。
【０１０８】
なお、本具体例では、必要消費電力を考慮することなくmachine1によるＦＡＸ及びＰＲＩＮＴサービスが選択されるが、これは一例であり、図１６のワークフローテーブルに更に多くの機器候補が選択された場合には、必要消費電力も考慮される。図１５のフローチャートで説明したように、特定の機器で特定の例外サービスを実行するような場合に対しても、例外サービスを実行する機器が当該例外サービスを実行するスリープ状態に移行することを考慮する。その上で、消費電力が最小となる最適な機器の組合せを選択してサービスを実行し、ワークフローを実行できる。
【０１０９】
＜本実施形態の利用者に代替案を提示する省電力サービス例４＞
本実施形態において、例外サービスが指定された場合でも、他の組合せの方が消費電力が小さくなる場合に利用者に通知する場合について説明する。
【０１１０】
例えば、例外サービスとして近くの画像形成装置でプリントするように指定されていたとしても、離れた画像形成装置で出力する方が消費電力が少なくなる場合には、利用者に代替案を提示して問合せる。利用者が代替案を受け入れれば、消費電力が少ない機器の組合せでワークフローを実行できることになる。
【０１１１】
（本実施形態の利用者に代替案を提示する省電力サービスの動作手順例４）
図１８Ａ及び図１８Ｂのフローチャートは、図１１のフローチャートで説明した複数の一連のサービスを順次実行するワークフローの指定の指定の場合に、利用者への代替案の提示の処理を組み入れたものである。そのため、図１１のフローチャートと同じ処理については、図１１のフローチャートと同一の参照符号を与え、説明を割愛するため、詳細は、図１１のフローチャートの同一符号の説明を参照されたい。
【０１１２】
ステップＳ９０１からステップＳ９０５は、図１１のフローチャートと同等である。なお、本フローチャートでは、例外サービスを扱っているが、利用者に代替案を提示するため、図１５のフローチャートとは異なっている。ステップＳ９０６で、ＣＰＵ５０２は、選択した組合せの機器がワークフローを実現可能なスリープレベルであるか判断する。本フローチャートでは、ワークフローテーブルには、例外サービスも含んでいる。そのため、選択した組合せの機器には、例外サービスで指定された機器を必ずしも含んではいない。
【０１１３】
ステップＳ９０６で、ＣＰＵ５０２が選択した機器でワークフローを実行可能（Ｓ９０６でＹｅｓ）と判断すると、ステップＳ１３０１へ進む。ステップＳ１３０１で、ＣＰＵ５０２は、選択した組合せに例外サービスで指定された機器が全て含まれているか確認する。含んでいれば（ステップＳ１３０１でＹｅｓ）、ＣＰＵ５０２は、ステップＳ９１０へ進み、選択した組合せの機器に所望のサービスの実行を依頼して終了する。これは、選択された組合せに、例外サービスで指定された機器が全て含まれていたため、利用者への代替案の提示が不要な場合である。
【０１１４】
ステップＳ１３０１で、ＣＰＵ５０２が、例外サービスで指定された全ての機器が含まれていないと判断すると（ステップＳ１３０１でＮｏ）、ステップＳ１３０２へ進む。ステップＳ１３０２で、ＣＰＵ５０２は、利用者に例外サービスを別の機器（現在選択されている組み合わせ中の機器）でサービスを実行した方が消費電力が小さくなる旨の代替案を提示する。これは、ワークフローの実行を依頼してきた機器に対して、メッセージを表示させるように指示を出す。ステップＳ１３０３で、ＣＰＵ５０２は、ワークフローの実行を依頼してきた機器から、利用者からの代替案の可否の返答を受け取り、判断する。ＣＰＵ５０２が、利用者が代替案を了承した結果を受け取ると（ステップＳ１３０３でＹｅｓ）、ステップＳ９１０へ進み、選択した組合せの機器に所望のサービスの実行を依頼して終了する。ステップＳ１３０３で、ＣＰＵ５０２が、利用者が代替案を否定した結果を受け取ると（ステップＳ１３０３でＮｏ）、ステップＳ９０７へ進み、他の組合せの選択を行う。
【０１１５】
ステップＳ９０７からステップＳ９０９、ステップＳ９１１は、図１１のフローチャートの同一符号と同じであるので、説明は割愛する。
【０１１６】
図１８ＢのステップＳ１３０４で、ＣＰＵ５０２は、選択した組合せに例外サービスで指定された機器を全て含んでいるか確認する。含んでいれば（ステップＳ１３０４でＹｅｓ）、ＣＰＵ５０２は、ステップＳ９１２へ進み、選択した組合せの機器に所望のサービスの実行を依頼して終了する。これは、選択された組合せに、例外サービスで指定された機器が全て含まれていたため、利用者への代替案の提示が不要な場合である。
【０１１７】
ステップＳ１３０４で、ＣＰＵ５０２が、例外サービスで指定された全ての機器が含まれていないと判断すると（ステップＳ１３０４でＮｏ）、ステップＳ１３０５へ進む。ステップＳ１３０５で、ＣＰＵ５０２は、利用者に例外サービスを別の機器（現在選択されている組み合わせ中の機器）でサービスを実行した方が消費電力が小さくなる旨の代替案を提示する。これは、ワークフローの実行を依頼してきた機器に対して、メッセージを表示させるように指示を出す。ステップＳ１３０６で、ＣＰＵ５０２は、ワークフローの実行を依頼してきた機器から、利用者からの代替案の可否の返答を受け取り、判断する。ＣＰＵ５０２が、利用者が代替案を了承した結果を受け取ると（ステップＳ１３０６でＹｅｓ）、ステップＳ９１２へ進み、選択した組合せの機器に所望のサービスの実行を依頼して終了する。
【０１１８】
ステップＳ１３０６で、ＣＰＵ５０２が、利用者が代替案を否定した結果を受け取ると（ステップＳ１３０６でＮｏ）、ステップＳ１３０７へ進む。ステップＳ１３０７で、ＣＰＵ５０２は、ワークフローテーブルにおいてワークフロー中の例外サービスで指定された機器を含むものは、当該機器についてサービスを実行するために必要なサービスレベルであるとして、必要消費電力を再計算する。これによって、例外サービスを実行する機器で他のサービスを実行する場合に対しても、最小の消費電力の組み合わせを選択できるようになる。ステップＳ１３０８で、ＣＰＵ５０２は、ワークフローテーブルのワークフロー中の例外サービスで指定された全ての機器を含む組合せの中で、ステップＳ１３０７で再計算された必要消費電力が最小になるものを選択する。なお、もしステップＳ１３０７で再計算された必要消費電力が最小の組み合わせが複数ある場合には、その中で総消費電力量が一番小さいものを選択する。もし総消費電力量が同じ場合には、任意に選択する。
【０１１９】
（本実施形態の利用者に代替案を提示する省電力サービスの具体例４）
本実施形態の利用者に代替案を提示する省電力サービスを、具体的な例で説明する。
【０１２０】
サーバ装置が、図６のサービステーブル、図７の消費電力テーブルを持つとする。ワークフロー指示として、ＦＡＸサービス、ＰＲＩＮＴサービスの実行が指定されたとする。また、ＦＡＸサービスを実行させる機器については、指定が無いが、ＰＲＩＮＴサービスは、例外サービスでmachine4で実行するように指示されている。
【０１２１】
ここで、ステップＳ９０３で例外サービスに指定によらずに作成したワークフローテーブルは、図１９のようになる。図１９において、“machine1、machine3”の組合せで（Ｆ）や（Ｐ）と記載されている。これは、（Ｆ）が付いている方でＦＡＸサービスを実行し、（Ｐ）が付いているほうでＰＲＩＮＴサービスを実行する意味である。例外サービスをそのまま指定通り実行すると、図１９の２８０１か２８０２の組合せになり、既にmachine4がＰＲＩＮＴサービスを実行できる状態でなければ、大きな消費電力が必要となる。
【０１２２】
例えば、スリープレベルリストが図２０の状態だとすると、machine4ではＰＲＩＮＴサービスを実行できない。図１９のワークフローテーブルから総消費電力が最小の組合せである“machine2、machine3”を選択する。machine2でＰＲＩＮＴサービスが実行可能な状態であり、かつ、machin3はＦＡＸサービスが実行可能な状態である。しかしながら、ＰＲＩＮＴサービスは、例外サービスで指定されたmachine4ではない。
【０１２３】
そこで、利用者にmachien4の代わりにmachine2でＰＲＩＮＴサービスを実行した方が消費電力が少なくなることを通知して、変更するか否かを確認する。利用者によりＰＲＩＮＴサービスの実行先の変更が許諾されれば、machine2でＰＲＩＮＴサービスを実行する。許可されなかった場合は、他の組合せで同様にmachine4でＰＲＩＮＴサービスを実行するよりも他の機器で実行した方が消費電力が小さい場合に、利用者に確認を行う。なお、何度も利用者に確認を求めるのは、利用者に不便が生じるので、確認の際にこれ以上問い合わせない旨の選択肢を提供したり、予め全ての組合せを確認して全ての代替機器を提示するようにして確認を１回にするようにしてもよい。
【０１２４】
図１８Ａ及び図１８Ｂのフローチャートで説明したように、特定の機器で特定の例外サービスを実行するような場合に対しても、利用者への代替案の提示の処理を組み入れることができる。これにより、より消費電力が小さい機器の組合せを選択できるようにして、ワークフローを実行できる。
【０１２５】
＜本実施形態のワークフロー全体を考慮した省電力サービス例５＞
今までの説明においては、１つのワークフローについて消費電力を最小にする機器の選択方法について説明した。サーバ装置１５０に複数のワークフローが集中した場合には、処理が間に合わずに、サーバ装置１５０は、ワークフローを処理待ちにするためにワークフロー指示をキューに入れて、後からワークフローを実行する場合もある。このようなときに、単独のワークフローだけでなく、キューに溜まっている複数のワークフロー全体で消費電力が最小になるような機器を選択するした方が効率がよい。そこで、キューに溜まった複数のワークフロー全体で、消費電力が最小となる組み合わせの機器を選択する方法について説明する。
【０１２６】
（本実施形態のワークフロー全体を考慮した省電力サービスの動作手順例５）
図２１のフローチャートは、サーバ装置１５０が、ワークフロー指示をキューに溜めるときの処理について示している。本フローチャートは、図１１のフローチャートにおいて、複数のワークフローをキューに溜めることに対応したものである。そのため、図１１のフローチャートと同じ処理については、図１１のフローチャートと同一の最小符号を与え、説明を割愛するため、詳細は、図１１のフローチャートの同一符号の説明を参照されたい。
【０１２７】
ステップＳ９０１からステップＳ９０４は、図１１のフローチャートと同等であるが、ワークフローテーブル及びスリープレベルリストについては、キューに溜められた全てのワークフローで共有されるものになる。そのため、ステップＳ９０３のワークフローテーブル生成や、ステップＳ９０４のスリープレベルリスト登録は、既に他のワークフローがある場合は、当該ワークフローテーブルスリープレベルリストに追加される形になる。
【０１２８】
また、ワークフローテーブルには、図２２の１５０１のように、どのワークフローに対応するものか記載されたフィールドが追加される。ステップＳ９０３のワークフローテーブル作成では、このフィールドも選択されたワークフローの識別子（例えば、名称やＩＤなど）が記憶される。図２２では、Ｗ１やＷ２などが用いられている。なお、同一の機器の組合せがある場合には、複数のワークフローが記憶されることもある。
【０１２９】
ステップＳ１６０１では、ワークフローテーブル及びスリープレベルリストに追加済みのワークフロー指示をキューに溜めて、終了する。本フローチャートは、キューに溜めるまでであるので、ここまでで終了し、ワークフローの実行は、次の図２３のフローチャートで説明される。
【０１３０】
図２３のフローチャートでは、キューからワークフロー指示を取り出し、そのワークフローをキュー内のワークフロー全体として消費電力が最小となるように実行させる処理について示ししている。本フローチャートも、図２１のフローチャートと同じく、図１１のフローチャートにおいて、複数のワークフローをキューに溜めることに対応したものである。そのため、図１１のフローチャートと同じ処理については、図１１のフローチャートと同一の参照符号を与え、説明を割愛するため、詳細は、図１１のフローチャートの同一符号の説明を参照されたい。また、図２１のフローチャートと同じく、ワークフローテーブル、及びスリープレベルリストについては、キューに溜められた全てのワークフローで共有されるものになる。
【０１３１】
ステップＳ１７０１で、ＣＰＵ５０２は、キュー内のワークフロー指示を取り出す。なお、キューからどのワークフロー指示が取り出されたかは本発明の本質でなく、格納された順でも構わないし、ＣＰＵ５０２が最適と判断するものを選択しても構わない。ステップＳ９０６からステップＳ９０９、ステップＳ９１１は、図１１のフローチャートの同一符号の説明と同様である。
【０１３２】
ステップＳ９０６で、選択した機器の組合せのサービスレベイルでワークフローを実現することが可能であるなら（ステップＳ９０６でＹｅｓ）、ＣＰＵ５０２は、ステップＳ９１２へ進む。ステップＳ９１２では、選択した組合せの機器にサービスを依頼して、ステップＳ１７０２へ進む。ステップＳ１７０２で、ＣＰＵ５０２は、ワークフローテーブルから当該ワークフロー指示を削除する。このとき、ワークフローフィールドが空であれば、その組合せを削除する。例えば、図２２において、ワークフローＷ２が終了すると、機器リストの“machine1，machine3”と“machine4，machine7”のＷ２が削除される。このとき、“machine1，machine3”は、ワークフローとしてＷ１が残っているため、機器の組合せとして“machine1，machine3”は削除しない。一方、“machine4，machine7”は他のワークフローが無いため、ワークフローテーブルから削除して、処理を終了する。
【０１３３】
図２１、図２３のフローチャートで説明したように、１つだけのワークフローだけでなく、サーバ装置１５０のキューへ格納された複数のワークフロー全体として、消費電力が最小となる機器の組み合わせを選択できる。このようにして、ワークフロー全体の消費電力を考慮しながら個々のワークフローを実行できる。
【０１３４】
＜他の実施形態＞
他の実施形態として、実際の処理内容を元に消費電力は算出して、最適な機器を選択してもよい。ワークフローテーブルの操作のときに、総消費電力量や必要消費電力を求めるが、このときに処理内容を加味して求めるようにする。例えば、画像形成装置で提供されるプリントサービスにおいて、高速であるが消費電力が大きいものと、低速だが消費電力が小さいものがあるとする。このとき、プリントする枚数が少なければ、低速の装置で印刷した方が消費電力が小さいが、プリントする枚数が大量になると、高速の装置で印刷した方が合計としてより消費電力が少なく済む場合がある。このように、処理の内容と処理能力を加味して、消費電力量を求めるようにしてもよい。これは、図６の性能６０５に記載された情報を用いることによって行える。すなわち、図６の性能を用いて、処理内容から消費電力を求めても構わない。
【０１３５】
例えば、図１１のフローチャートの場合に本実施形態を実現する場合について説明する。ステップＳ９０３では、サーバ装置１５０は、ワークフローを実現するために必要な全ての機器の組合わせを、サービステーブルから求める点は同様である。更に、サーバ装置１５０が、求めた機器の組合わせについて、ワークフロー中のサービスの処理内容と、消費電力テーブルから当該組合せで必要な総消費電力量を算出する。そして、サーバ装置１５０は、全てのワークフローを実現するための機器の組合せと総消費電力量をワークフローテーブルに記憶する。このワークフローテーブルを元に、図１１のフローチャートの他の処理を行うことで、ワークフロー中のサービスの実際の処理内容を元に消費電力を算出して、最適な機器を選択できる。
【０１３６】
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、ＰＣ、複写機、複合機及びファクシミリ装置の如くである。
【０１３７】
本発明は、前述した実施形態の各機能を実現するソフトウェアプログラムを、システム若しくは装置に対して直接または遠隔から供給する。そして、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【０１３８】
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１３９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【０１４０】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット／イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【０１４１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット／イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【０１４２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【０１４３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【０１４４】
【図１】本実施形態の画像形成システムの全体構成例を示すブロック図である。
【図２】本実施形態の画像形成装置の全体構成例を示すブロック図である。
【図３】本実施形態の画像形成装置の入出力デバイスの外観斜視図である。
【図４】本実施形態の画像形成装置の表示部の外観図である。
【図５】本実施形態のサーバ装置の構成例を示すブロック図である。
【図６】本実施形態のサービステーブルの一例を示す図である。
【図７】本実施形態の消費電力テーブルの一例を示す図である。
【図８】本実施形態の消費電力が最小となる機器に受け付けたサービスを依頼する処理手順例を示すフローチャートである。
【図９】本実施形態の指定サービステーブルの一例を示す図である。
【図１０】本実施形態におけるワークフローテーブルの初期状態の一例を示す図である。
【図１１】本実施形態のの受付けたワークフローにおいて消費電力が最小となる機器の組み合わせを選択してサービスを依頼する処理手順例を示すフローチャートである。
【図１２】本実施形態で総消費電力が求められた状態のワークフローテーブルの一例を示す図である。
【図１３Ａ】本実施形態の具体例を説明するためのスリープレベルリストの一例を示す図である。
【図１３Ｂ】本実施形態の具体例を説明するためのスリープレベルリストの他例を示す図である。
【図１４】本実施形態で必要消費電力が求められた状態のワークフローテーブルの例を示す図である。
【図１５】本実施形態の例外サービスで指定された機器でサービスを実行する場合の処理手順例を示すフローチャートである。
【図１６】本実施形態の例外サービスで指定された機器を含む総消費電力が求められた状態のワークフローテーブルの一例を示す図である。
【図１７Ａ】本実施形態の具体例を説明するためのスリープレベルリストの一例を示す図である。
【図１７Ｂ】本実施形態の具体例を説明するためのスリープレベルリストの他例を示す図である。
【図１８Ａ】本実施形態の例外サービスで指定された機器以外でサービスの実行を行うことを提示する場合の処理手順例を示すフローチャートである。
【図１８Ｂ】本実施形態の例外サービスで指定された機器以外でサービスの代替を行うことを提示する場合の処理手順例を示すフローチャートである。
【図１９】本実施形態のサービスの代替を行う場合の総消費電力が求められた状態のワークフローテーブルの一例を示す図である。
【図２０】本実施形態の具体例を説明するためのスリープレベルリストの一例を示す図である。
【図２１】本実施形態の複数のワークフローをキューに溜める場合に受付けたワークフローをキューに溜める手順例を示すフローチャートである。
【図２２】本実施形態の複数のワークフローをキューに溜める場合のワークフローテーブルの一例を示す図である。
【図２３】本実施形態の複数のワークフローをキューに溜める場合にワークフローをキューから取り出して、ワークフローを実行する機器の組合せを求める手順例を示すフローチャートである。
【図１】
2010146207.tif 000003
【図２】
2010146207.tif 000004
【図３】
2010146207.tif 000005
【図４】
2010146207.tif 000006
【図５】
2010146207.tif 000007
【図６】
2010146207.tif 000008
【図７】
2010146207.tif 000009
【図８】
2010146207.tif 000010
【図９】
2010146207.tif 000011
【図１０】
2010146207.tif 000012
【図１１】
2010146207.tif 000013
【図１２】
2010146207.tif 000014
【図１３Ａ】
2010146207.tif 000015
【図１３Ｂ】
2010146207.tif 000016
【図１４】
2010146207.tif 000017
【図１５】
2010146207.tif 000018
【図１６】
2010146207.tif 000019
【図１７Ａ】
2010146207.tif 000020
【図１７Ｂ】
2010146207.tif 000021
【図１８Ａ】
2010146207.tif 000022
【図１８Ｂ】
2010146207.tif 000023
【図１９】
2010146207.tif 000024
【図２０】
2010146207.tif 000025
【図２１】
2010146207.tif 000026
【図２２】
2010146207.tif 000027
【図２３】
2010146207.tif 000028