(57)【要約】【課題】  ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ソフトウェアをダウンロードすることなどが可能な情報処理装置を提供することを課題とする。【解決手段】  外部からソフトウェアを入力して動作させることが可能な情報処理装置において、省電力機能を提供し省電力関連の処理を制御するための省電力制御手段と、ソフトウェアの入力関連処理を制御し、省電力状態に移行するときにソフトウェア入力関連処理を開始するためのソフトウェア制御手段と、を備えるように構成して課題を解決した。【選択図】  図１
2006099187.tif 000002
【特許請求の範囲】
【請求項１】
外部からソフトウェアを入力して動作させることが可能な情報処理装置において、
省電力機能を提供し省電力関連の処理を制御するための省電力制御手段と、
ソフトウェアの入力関連処理を制御し、省電力状態に移行するときにソフトウェア入力関連処理を開始するためのソフトウェア制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記ソフトウェア制御手段は、前記ソフトウェア入力関連処理として、外部から前記ソフトウェアのダウンロードまたはインストールを、省電力状態に移行するときに開始することを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記ソフトウェア制御手段は、入力対象となる前記ソフトウェアに関するソフトウェア情報を取得する処理を、省電力状態に移行するときに開始することを特徴とする情報処理装置。
【請求項４】
請求項２に記載の情報処理装置において、
前記ソフトウェア制御手段は、省電力状態からの復帰時に、インストールした前記ソフトウェアの起動処理を実行することを特徴とする情報処理装置。
【請求項５】
請求項１乃至３のいずれかに記載の情報処理装置において、
前記ソフトウェアは、既に装置にインストールされたソフトウェアを更新するためのものである
ことを特徴とする情報処理装置。
【請求項６】
情報処理装置において外部装置からソフトウェアを入力する方法であって、
省電力状態の移行を検出するステップと、
省電力状態の移行時にソフトウェア入力関連処理を行うステップと、
を備えることを特徴とするソフトウェアの入力方法。
【請求項７】
情報処理装置をコンピュータとして機能させるプログラムであって、
省電力機能を提供し省電力関連の処理を制御するための省電制御手段、
省電力状態に移行するときにソフトウェアを入力する処理を開始するソフトウェア入力制御手段、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、一般的なクライアントパーソナルコンピュータ（ＰＣ）やサーバ装置、あるいはネットワーク機能を搭載した複写機やプリンタなどの機能を兼ね備えた複合機、更にはネットワークスキャナ装置などの情報処理装置に関し、特にネットワークを経由するなどして、外部からソフトウェアをダウンロード等して入力し、当該ソフトウェアを動作させることが可能な情報処理装置に関するものである。
【背景技術】
【０００２】
【特許文献１】特開２０００−２５９５１９号公報
【０００３】
近年、上記パーソナルコンピュータ（ＰＣ）に代表されるように、文字情報や図形情報などを自由に処理することが可能な情報処理装置においては、予めハードディスクなどの記憶手段に記憶されたソフトウェア以外に、ソフトウェアを提供するソフトウェアメーカーや、シェアウエアなどでソフトウェアを提供する個人の開発者などが開設するインターネット上のサイトなどから、ネットワークを経由してソフトウェアを購入し、当該購入したソフトウェアをネットワークを経由してダウンロードし、パーソナルコンピュータ（ＰＣ）にインストールして使用することが可能となってきている。
【０００４】
また、最近では、パーソナルコンピュータ（ＰＣ）に限らず、ネットワーク機能を搭載した複合機やネットワークスキャナ装置など、文字情報や図形情報などをコピー乃至プリントしたり、読取って希望する相手に送信したりする情報処理装置においても、インターネットに接続する機能などネットワーク接続機能が搭載されてきている。そして、これらのネットワーク機能を搭載した複合機やネットワークスキャナ装置などの情報処理装置においても、パーソナルコンピュータ（ＰＣ）などと同様に、ネットワークを経由してソフトウェアをダウンロードし、当該ネットワーク機能を搭載した複合機やネットワークスキャナ装置にインストールすることが、技術的な複雑さは伴うかもしれないが、可能となってきている。
【０００５】
このように、ソフトウェアをダウンロード元のサーバ装置からネットワークを介して、パーソナルコンピュータ（ＰＣ）やプリンタ、あるいは複合機等の端末装置にダウンロードし、当該端末装置にインストールする技術としては、例えば、特開２０００−２５９５１９号公報に開示されているものが既に提案されている。
【０００６】
この特開２０００−２５９５１９号公報に係るネットワークシステムは、配布された１つ以上のソフトウェアを記憶し、これらのソフトウェアに基づき、指定された処理を実行する複数の端末装置と、ネットワークを介して前記各端末装置に記憶されているソフトウェアの更新処理を行うソフトウェア配布装置とを有するネットワークシステムにおいて、前記ソフトウェア配布装置は、前記各端末装置に配布済みの各ソフトウェアのいずれかを更新したとき、ソフトウェア更新情報を生成して前記各端末装置に供給するソフトウェア更新情報送信部と、前記各端末装置からダウンロード要求が出されたとき、このダウンロード要求を出した端末装置に対し、前記ダウンロード要求で指定された更新済みのソフトウェアを配布するソフトウェア配布部と、を備え、前記各端末装置は、前記ソフトウェア配布装置から前記ソフトウェア更新情報が供給されたとき、このソフトウェア更新情報の内容を解析し、更新対象に指定されたソフトウェアを特定する更新対象判定部と、この更新対象判定部によって、更新対象と判定されたソフトウェアが使用中かどうかを判定し、当該ソフトウェアが使用されていないときには、ダウンロード要求を前記ソフトウェア配布装置に出力する一方、これに応答した前記ソフトウェア配布装置から当該更新済みのソフトウェアをダウンロードするダウンロード部と、を備えるように構成したものである。
【０００７】
上記特開２０００−２５９５１９号公報に係るネットワークシステムによれば、ユーザが使用する端末装置側でダウンロード操作をすることなく、しかもネットワークに負担をかけることなく、サーバ装置から更新済みのソフトウェアを端末装置に配布して、遅延することなくダウンロードすることが可能になるとしている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来技術の場合には、次のような問題点を有している。すなわち、上記特開２０００−２５９５１９号公報に係るネットワークシステムの場合には、ソフトウェア配布装置からソフトウェア更新情報を端末装置に対して提供し、当該端末装置からダウンロード要求が出されると、更新対象と判定されたソフトウェアが使用されていないときに、ソフトウェア配布装置から更新済みのソフトウェアを端末装置にダウンロードするように構成されており、この更新済みのソフトウェアをダウンロードするタイミングは、ソフトウェア配布装置によって決定されており、ソフトウェアをダウンロードする端末装置側の負荷がまったく考慮されていないという問題点を有している。
【０００９】
更に説明すると、上記特開２０００−２５９５１９号公報に係るネットワークシステムの場合には、端末装置でダウンロード対象のソフトウェアが使用中であると、当該ソフトウェアの使用が終了するまで待つように構成されている。しかし、上記端末装置では、更新済みのソフトウェアが使用中でない、あるいは使用が終了したとしても、他の処理が行われている可能性があり、直ちに更新済みソフトウェアのダウンロード処理を実行すると、当該端末装置に過度の負荷を掛けることになり、ダウンロード対象外の他のソフトウェアの動作に支障を来たす虞れがあるという問題点を有している。特に、端末装置がプリンタや複写機などの機能を兼ね備えた複合機等のように、ソフトウェアに基づく処理にリアルタイム性が要求される装置の場合には、ネットワークを経由した送受信で発生する割込処理に基づく負荷や、ソフトウェアのダウンロード及びインストールに伴う再起動処理によるＣＰＵの負荷など、ダウンロード関連処理に起因する負荷が他のソフトウェアの処理に悪影響を及ぼす虞れがあるという問題点を有している。
【００１０】
また、上記特開２０００−２５９５１９号公報に係るネットワークシステムの場合には、ネットワークに負担をかけることなくダウンロードできるとしているが、ダウンロード対象外のソフトウェアがネットワークを経由して通信している場合には、更に余計な負荷をネットワークに掛けることは避けられないという問題点を有している。特に、ダウンロード対象外のソフトウェアによって既にネットワークに高い負荷を掛けている場合には、更新済みのソフトウェアをダウンロードするためにネットワークに負荷を掛けると、ネットワーク障害をも招来しかねないという問題点をも有している。
【００１１】
そこで、この発明は、上記従来技術の問題点を解決するためになされたものであり、その目的とするところは、ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ソフトウェアをダウンロードすることなどが可能な情報処理装置を提供することにある。
【００１２】
また、この発明の他の目的とするところは、ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ダウンロードしたソフトウェアの再起動処理を含むダウンロード関連処理を実行することが可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、請求項１に記載された発明は、外部からソフトウェアを入力して動作させることが可能な情報処理装置において、
省電力機能を提供し省電力関連の処理を制御するための省電力制御手段と、
ソフトウェアの入力関連処理を制御し、省電力状態に移行するときにソフトウェア入力関連処理を開始するためのソフトウェア制御手段と、
を備えることを特徴とする情報処理装置である。
【００１４】
また、請求項２に記載された発明は、請求項１に記載の情報処理装置において、
前記ソフトウェア制御手段は、前記ソフトウェア入力関連処理として、外部から前記ソフトウェアのダウンロードまたはインストールを、省電力状態に移行するときに開始することを特徴とする情報処理装置である。
【００１５】
さらに、請求項３に記載された発明は、請求項１に記載の情報処理装置において、
前記ソフトウェア制御手段は、入力対象となる前記ソフトウェアに関するソフトウェア情報を取得する処理を、省電力状態に移行するときに開始することを特徴とする情報処理装置である。
【００１６】
又、請求項４に記載された発明は、請求項２に記載の情報処理装置において、
前記ソフトウェア制御手段は、省電力状態からの復帰時に、インストールした前記ソフトウェアの起動処理を実行することを特徴とする情報処理装置である。
【００１７】
更に、請求項５に記載された発明は、請求項１乃至３のいずれかに記載の情報処理装置において、
前記ソフトウェアは、既に装置にインストールされたソフトウェアを更新するためのものである
ことを特徴とする情報処理装置である。
【００１８】
また、請求項６に記載された発明は、情報処理装置において外部装置からソフトウェアを入力する方法であって、
省電力状態の移行を検出するステップと、
省電力状態の移行時にソフトウェア入力関連処理を行うステップと、
を備えることを特徴とするソフトウェアの入力方法である。
【００１９】
さらに、請求項７に記載された発明は、情報処理装置をコンピュータとして機能させるプログラムであって、
省電力機能を提供し省電力関連の処理を制御するための省電制御手段、
省電力状態に移行するときにソフトウェアを入力する処理を開始するソフトウェア入力制御手段、
としてコンピュータを機能させるプログラムである。
【発明の効果】
【００２０】
この発明によれば、ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ソフトウェアをダウンロードすることなどが可能な情報処理装置を提供することができる。
【００２１】
また、この発明によれば、ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ダウンロードしたソフトウェアの再起動処理を含むダウンロード関連処理を実行することが可能な情報処理装置を提供することができる。
【発明を実施するための最良の形態】
【００２２】
以下に、この発明の実施の形態について図面を参照して説明する。
【００２３】
実施の形態１
図１はこの発明の実施の形態１に係るプログラムを適用した情報処理装置を適用した情報処理システムを示すシステム構成図である。
【００２４】
この情報処理システム１は、基本的に、ソフトウェアをダウンロードして入力する情報処理装置としての複合機（マルチファンクション機：ＭＦ機）１００と、当該複合機１００を離れたところで管理するリモートサイトの管理者用のパーソナルコンピュータ（ＰＣ）２００と、複合機の製造メーカやソフトウェアの製造メーカなどのソフトウェア提供元であって、ソフトウェアのダウンロード元として機能する管理サーバ３００（情報処理装置）と、これら複合機１００とパーソナルコンピュータ（ＰＣ）２００と管理サーバ３００とを互いに通信可能に接続するネットワーク２とから構成されている。
【００２５】
なお、図示例では、複合機が１台、パーソナルコンピュータ（ＰＣ）が１台、管理サーバが１台のみ図示されているが、これらの台数に制限はなく、任意台数の複合機やパーソナルコンピュータ（ＰＣ）、あるいは管理サーバがネットワーク２に接続されていても良いことは勿論である。また、情報処理装置としては、ネットワーク機能を搭載した複合機に限定されるものではなく、ネットワークスキャナ装置などの装置をも広く含むものであり、又、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）などであっても良いことは勿論である。
【００２６】
上記ネットワーク２としては、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）や、有線や無線のＬＡＮ（Local   Area  Network ）、一般電話回線、ＡＤＳＬ（Asymmetoric Digital SubscriberLine）、ＩＳＤＮ（Integrated  Switched  Digital   Network ）などを含み、又、これらのネットワーク２を介して構築されるインターネットなども含むものである。ここで、ネットワーク２は、複合機１００やパーソナルコンピュータ（ＰＣ）２００、あるいは管理サーバ３００とを互いに通信可能に接続するネットワークであって、当該ネットワーク２に個別に付与された固有の情報に基づき、通信する相手方の情報処理装置を特定して通信することが可能なものである。上記ネットワーク２に個別に付与された固有の情報としては、その代表的なものが、インターネットにおいて定義されているＩＰｖ６（インターネット・プロトコル，バージョン６）のアドレス又はＩＰｖ４（同バージョン４）のアドレスとポート番号の組合せであり、当該ＩＰｖ６のアドレス又はＩＰｖ４のアドレスとポート番号の組合せを特定することによって、ネットワークとしてのインターネットを介して、特定の情報処理装置と通信することができるとともに、当該特定の情報処理装置から情報を受信することが可能となっている。
【００２７】
情報処理装置として機能する複合機１００は、図２に示すように、当該複合機本体５の上部に、原稿の画像を読み取るスキャナ装置６を備えている。このスキャナ装置６で読み取られた原稿の画像データは、図示しない画像処理部によって、画像フォーマットの変換、圧縮／伸張、裏写り除去、色変換（明度／色空間変換）や、シェーディング補正、位置ズレ補正、ガンマ補正、枠消し、色／移動編集等の所定の画像処理が施される。
【００２８】
また、上記複合機１００は、複合機本体５の内部に、マルチファンクションモジュール（以下、「ＭＦモジュール」という。）７を備えており、このＭＦモジュール７は、スキャナ装置６で読み込まれた画像や、ネットワーク２を介して送られてくる画像データ、あるいは一般電話回線を介して送られてくるファクシミリの画像データ等に基づいて、画像データの送受信や、画像データに基づいたコピーやプリント処理を行うように構成されている。なお、上記ＭＦモジュール７は、例えば、電子写真方式により白黒やカラー画像の形成を行うが、これに限定されるものではなく、静電記録方式やインクジェット記録方式など、任意の方式によって画像の形成を行うものを含むものである。
【００２９】
また、上記複写機本体５の上部には、ユーザインターフェースとしての操作表示パネル８が設けられている。この操作表示パネル８は、例えば、インターネット接続や、所望のソフトウェア関連情報の取得、並びに所望のソフトウェアのダウンロードなどの指示や、スキャンやプリント動作などの指示を行ったりするためのものである。なお、この操作表示パネル８とは別に、コピー指示などの基本的な操作をするための操作パネルを本体上面の所定位置に設けてもよい。
【００３０】
さらに、上記複合機１００は、後述するように、外部インターフェース部１１３を経由して、ネットワーク２に接続され、当該複合機１００を離れたところで管理するリモートサイトの管理者用のパーソナルコンピュータ（ＰＣ）２００や、ソフトウェアのダウンロード元としての管理サーバ３００など、外部の機器に接続したり、外部の機器からアクセスできるようになっている。
【００３１】
一方、管理者用のパーソナルコンピュータ（ＰＣ）２００は、図３に示すように、例えば、端末本体４０と、ＣＲＴ（陰極線管）や液晶パネルなどのディスプレイ装置４１と、キーボードやマウスなどの入力指示デバイス４２とを備えている。端末本体４０には、基本ソフトウェア（オペレーティングシステム：ＯＳ）の他に、種々の情報処理を行なうために必要なアプリケーションのソフトウェアがインストールされている。
【００３２】
このソフトウェアの提供元によって作成されたソフトウェアは、図４に示すように、管理サーバ３００に記憶されて管理され、当該サーバ３００からダウンロードされるように構成されている。アプリケーションのソフトウェアは、インターフェース部を経由して複合機１００等からアクセスし、所望のソフトウェアをダウンロードすることが可能となっている。また、上記アプリケーションのソフトウェアの中には、ＩＰＰ等によって複合機１００でプリント処理を行うソフトや、複合機１００のスキャナ装置６で読み取られた画像データを入力するソフト、あるいは複合機１００のスキャナ装置６で読み取られた画像データに所望の画像処理を施したり、当該画像データを他の情報処理装置に出力するソフトなど任意のものが含まれる。
【００３３】
ところで、この実施の形態では、外部からソフトウェアを入力して動作させることが可能な情報処理装置において、省電力機能を提供し省電力関連の処理を制御するための省電力制御手段と、ソフトウェアの入力関連処理を制御し、省電力状態に移行するときにソフトウェア入力関連処理を開始するためのソフトウェア制御手段と、を備えるように構成されている。
【００３４】
また、この実施の形態では、前記ソフトウェア制御手段は、例えば、前記ソフトウェア入力関連処理として、外部から前記ソフトウェアを入力する処理や、外部から入力した前記ソフトウェアをインストールする処理、あるいは入力対象となる前記ソフトウェアに関するソフトウェア情報を取得する処理などを、省電力状態に移行するときに開始するように構成されている。
【００３５】
すなわち、この実施の形態に係る情報処理装置として機能する複合機１００は、プリンタ、複写機、及び、ファクシミリなどが有する機能を兼ね備えており、様々な情報処理要求に対して対応することが可能となっている。また、この複合機１００は、ネットワーク２を介してソフトウェアを入力することができるように構成されており、しかも入力されたソフトウェアの入力処理に関連する処理を、所定のタイミングで実行するように構成されている。
【００３６】
また、この実施の形態に係る複合機１００では、省電力機能を提供し省電力関連の処理を制御するための省電力制御手段を備えており、所定時間にわたってプリント処理やコピー処理などの操作表示パネル８の操作がなかった場合や、プリント情報などの入力がなかった場合に、省電力状態に移行するように構成されている。
【００３７】
ここで、上記複合機１００の省電力状態としては、例えば、揮発性記憶装置を用いて通常の動作状態に復帰するためのデータを保持するサスペンド状態と、不揮発性記憶装置を用いて通常の動作状態に復帰するためのデータを保持するハイバネーション状態と、ＣＰＵのクロック数を低減するなどして省電力を実現するスリープ状態とに切り替え可能となっている。
【００３８】
この複合機１００は、図５に示すように、ＣＰＵ（Central Processing Unit ）１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ハードディスク１０４と、制御部１０５と、印刷部１０６と、スキャナ部６と、操作表示パネル８と、システム時計１０７と、画像処理部１０８と、ソフトウェア制御部１０９と、ソフトウェア管理部１１０と、同意制御部１１１と、省電力制御部１１２と、Ｉ／Ｆ（外部インターフェース）部１１３とを備えるように構成されている。
【００３９】
ＣＰＵ１０１は、当該複合機１００を構成するＲＯＭ１０２と、ＲＡＭ１０３と、ハードディスク１０４と、制御部１０５と、印刷部１０６と、スキャナ部６と、操作表示パネル８と、システム時計１０７と、画像処理部１０８と、ソフトウェア制御部１０９と、ソフトウェア管理部１１０と、同意制御部１１１と、省電力制御部１１２と、Ｉ／Ｆ（外部インターフェース）部１１３とを、システムバス１１４を介して制御する中央演算処理装置である。この複合機１００におけるプリント動作や、コピー動作、あるいはファクシミリとしての各種の動作、及びソフトウェアの入力動作や、ソフトウェアに関連する情報の取得等の動作は、ＣＰＵｌ０１及びソフトウェア制御部１０９、並びにソフトウェア管理部１１０の制御のもとに実行される。上記ＣＰＵ１０１による制御動作は、プログラムに基づいて決定される。
【００４０】
ＲＯＭ１０２は、読み取り専用メモリであり、このＲＯＭ１０２には、ＣＰＵ１０１を制御するためのプログラムが格納されている。本実施の形態では、ＲＯＭ１０２に格納されている制御プログラムは、スキャナ部６で入力された画像データを処理したり、印刷部１０６を介して外部に出力したりするためのものである。
【００４１】
ＲＡＭ１０３は、ＳＲＡＭ等で構成され、プログラム制御変数や各種処理のためのデータ等を格納するためのものである。
【００４２】
ハードディスク１０４は、制御プログラムによる各種処理のためのデータを格納したり、画像データなどを格納したりするためのものである。
【００４３】
制御部１０５は、スキャナ部６や印刷部１０６と制御データの授受を行ったり、画像データの入出力などの制御を行うためのものである。
【００４４】
印刷部１０６は、出力画像を印刷して外部に出力するためのものである。この印刷部１０６は、例えば、スキャナ部６で読み取られた画像の印刷機能すなわち複写機としての機能に限らず、ネットワーク２を介して取得した文書データや画像ファイルなどに基づいて画像を印刷するいわゆるプリント機能や、一般電話回線を介して受信したＦＡＸ受信データに基づいて印刷出力するＦＡＸ機能をも果たしている。
【００４５】
上記複合機１００が例えばプリンタとして機能する場合、印刷部１０６は、外部からぺージ記述言語（ＰＤＬ：Page  Description   Language）で記載されたＰＤＬデータを受け取り、当該ＰＤＬデータをハードディスク１０４に出力単位ごと（１ぺージごと）の画像データとして展開し、そのラスタデータが印刷部１０６に送られ、印刷部１０６にてプリント出力するように構成されている。また、複合機１００がカラーファクシミリ受信機として機能する場合、印刷部１０６は、ＰＤＬデータに代えてＦＡＸ受信データを受け取り、印刷部１０６にてＬａｂ信号に変換した後、印刷部１０６にてプリント出力する。
【００４６】
スキャナ部６は、原稿を読取って、画像データを入力するためのものである。
【００４７】
操作表示パネル８は、スキャン動作の設定を行う画面を表示したり、スキャン指示を行ったりするためのものである。また、ソフトウェアのダウンロード等の操作なども行うように構成されている。
【００４８】
システム時計１０７は、時計用チップにより構成され、時刻情報（年月日、時分秒）をＣＰＵ１０１に提供するためのものである。システム時計１０７は、システム電源の遮断時や停電時等に時刻情報が消滅しないようバックアップ用電池を備え、常に現時点の時刻を保持している。
【００４９】
画像処理部１０８は、入出力される画像に対する処理などを行うためのものである。
【００５０】
ソフトウェア制御部１０９は、ソフトウェア入力関連処理の決定処理や、ソフトウェアの入力処理や、インストール処理の制御などを行うためのものである。
【００５１】
ソフトウェア管理部１１０は、ソフトウェア入力関連処理の状態やソフトウェアの属性情報などソフトウェアの情報を管理するためのものである。
【００５２】
同意制御部１１１は、ソフトウェア入力処理の管理者に対する同意処理を制御するためのものである。
【００５３】
省電力制御部１１２は、省電力状態への移行処理や省電力状態からの復帰処理など省電力関連処理を制御するためのものである。
【００５４】
Ｉ／Ｆ部１１３は、外部の機器と通信を行うためのものである。
【００５５】
以上の構成において、この実施の形態に係る複合機では、次のようにして、ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ソフトウェアをダウンロードすることなどが可能となっている。
【００５６】
図６はソフトウェアの情報を管理するためのテーブルの例を示すものである。このソフトウェア情報管理テーブルは、ダウンロードしてインストールする各ソフトウェアの情報を管理するためのテーブルである。上記ソフトウェア情報管理テーブルは、例えば、ソフトウエア管理部１１０に保持されている。
【００５７】
図６のＩＤは管理上のＩＤを示し、ソフトウェア名称はソフトウェアの名称を示し、バージョンはソフトウェアのバージョンを示し、同意は同意処理の状態を示し、ダウンロードはダウンロード処理の状態を示し、インストールはインストール処理の状態を示し、再起動は再起動処理の状態を示し、サイズはソフトウェアのサイズを表す属性を示し、提供元はソフトウェアの提供元を表す属性を示し、リリース日はソフトウェアのリリース日を表す属性を示し、依存ソフトウェアはソフトウェアが動作するために依存しているソフトウェアを表す属性を示し、依存バージョンは依存ソフトウェアのバージョンを示し、場所はソフトウェアを取得するための場所を示している。
【００５８】
上記ソフトウェア情報管理テーブルによって、ソフトウェアのダウンロードなどの各入力関連処理の状態を管理することができるようになっている。
【００５９】
次に、図７に従い、本実施の形態に係る情報処理装置としての複合機の処理フローの例を説明する。
【００６０】
まず最初に、ＣＰＵ１０１は、図７に示すように、省電力制御部１１２の状態を管理して、複合機１００が省電力状態に移行するタイミングを待つようになっている（ステップ１０１）。そして、ＣＰＵ１０１は、複合機１００が省電力状態に移行するタイミングになったか否かを判別し（ステップ１０２）、複合機１００が省電力状態に移行するタイミングになるまでステップ１０１に戻る動作を繰り返し、待機する。
【００６１】
省電力機能については、最近のパーソナルコンピュータ（ＰＣ）上のＷｉｎｄｏｗｓ  （登録商標）やＵｎｉｘ（登録商標）などのＯＳ（Operating System）には、一般的にＡＰＭ（Advancea Power Management ）やＡＣＰＩ（Advanced Configuration and Power Inteerface ）と言った規格に準拠した省電力機能が実装されている（ＡＰＭの詳細については、Advanced Power Management BIOSI nteterface Specification Revision 1.2 February 1996 、ＡＣＰＩの詳細については、Advanced Configuration and Power Interface Specification Revision 2.Oa March 31.2002などを参照）。この実施の形態では、複合機１００にＵｎｉｘ（登録商標）ＯＳ上でのＡＣＰＩの省電力機能が搭載されており、例えばＵｎｉｘ（登録商標）ＯＳ上でのＡＣＰＩの省電力機能の省電力状態への移行タイミングがきたものとする。
【００６２】
次に、ＣＰＵ１０１は、複合機１００が省電力状態に移行するタイミングになったことを判別すると、ソフトウェア制御部１０９によってソフトウェア入力関連処理を決定し  （ステップ１０３）、ソフトウェア制御部１０９によってソフトウェア入力関連処理が決定されたか否かを判別する（ステップ１０４）。なお、ソフトウェア入力関連処理については、後述する。
【００６３】
ここでは、ソフトウェア入力関連処理として、ソフトウェアのダウンロード処理が決定されたものとする。具体的には、図６に示すソフトウェア情報管理テーブルのＩＤ＝１に示すように、ダウンロード処理が「未完了」状態であるSystem-Fix203Aのダウンロードが、ソフトウェア入力関連処理として決定されたものとする。
【００６４】
ＣＰＵ１０１は、ソフトウェア入力関連処理が決定されると、ソフトウェア制御部１０９によって、決定したソフトウェア入力関連処理を開始するとともに（ステップ１０５）、省電力制御部１１２によって、省電力状態からの復帰要求があるか否かを判別する（ステップ１０６）。なお、ソフトウェア入力関連処理が決定されない場合には、ステップ１０９に進む。
【００６５】
ここでは、ソフトウェア入力関連処理の開始の方法については、ＡＣＰＩの機能を使用することで実現することとする。Ｕｎｉｘ（登録商標）ＯＳ上でのＡＣＰＩの省電力機能は、ＯＳのカーネル及びacpia （ＡＣＰＩのデーモン）などで実装されている（ａｃｐｉｄの詳細については、Http://acpid.sourcefbrge.net/ などを参照）。省電力機能をコントロールするデーモンacpia では、省電力状態に遷移させるevent と、そのevent に応じたactionを紐付けすることができる。acpia をインストールすると、/etc/acpi/eventsと/etc/acpj/actionというディレクトリが作成される。/etc/acpi/eventsなるディレクトリには、event の定義とそのevent が来た時のaction内容を記述したスクリプトヘのpathを記述したスクリプトを用意することができる。/etc/acpi/actionなるディレクトリには、action内容を記述したスクリプトを用意する。例えば、省電力状態に移行させるスクリプトとしては、“echo4>/proc/acpi/sleep（不揮発性記憶手段としてのハードディスク駆動装置への退避の命令）" と記述をすればよい。/etc/acpi/eventsでは、電源ボタンやキーボードやマウスなどのハードウェア操作に対するイベントは検知できるが、別途タイマーのような機構を起動しておき、ハードウェア操作を検知したらタイムカウントを初期化することで、一定時間経過後、タイマーによるタイムアウト時の処理として、“echo4>/proc/acpi/sleep（ハードディスク駆動装置への退避の命令）" を実行すれば、一定時間経過後の省電力状態への移行も実現することが可能である。
【００６６】
いずれにせよ、ここでは、省電力状態に移行させる前にソフトウェア入力関連処理を開始するコマンドなどを予めスクリプト上で記述しておき、ソフトウェア入力関連処理を開始するのである（ステップ１０５）。
【００６７】
具体的には、図６のＩＤ＝１のSystem-Fix203Aのダウンロード処理をソフトウェア入力関連処理として開始し、ダウンロードの状態を「実行中」に変更する。ダウンロード処理が完了した場合には、ソフトウェア制御部１０９によって、ダウンロードの状態を「完了」に変更する。
【００６８】
ＣＰＵ１０１は、省電力制御部１１２によって、省電力状態からの復帰要求がないことを判別すると、ソフトウェア入力関連処理が正常に終了したか否かを判別するとともに  （ステップ１０７）、他のソフトウェア入力関連処理を開始して良いか否かを判別する  （ステップ１０８）。そして、他のソフトウェア入力関連処理を開始して良いと判別した場合には、ステップ１０３に戻り、他のソフトウェア入力関連処理を決定する。
【００６９】
ここで、他のソフトウェア入力関連処理を開始してよいか否かの判断であるが、例えば、装置内で限界時間を設定しておき、ステップ１０１からここまでの時間が限界時間を越えているかどうかで、他のソフトウェア入力関連処理を開始してよいかどうかの判断にすればよい。つまり、ステップ１０１からここまでの時間が限界時間を越えていない場合には、他のソフトウェア入力関連処理を開始してよいと判断して、ステップ１０３に戻るようになっている。他にも装置内で処理してよいソフトウェア入力関連処理の数を設定値として保持し、設定値を越えているかどうかで、設定値を越えていない場合には、他のソフトウェア入力関連処理を開始してよいと判断するなどの方法もある。
【００７０】
また、ＣＰＵ１０１は、ソフトウェア入力関連処理が決定していないか、ソフトウェア入力関連処理が正常に終了していないか、又は他のソフトウェア入力関連処理を開始しない場合には、省電力状態に移行する処理を実行する（ステップ１０９）。
【００７１】
一方、ＣＰＵ１０１は、省電力制御部１１２によって、省電力状態からの復帰要求があったことが判別されると、ソフトウェア入力関連処理の後処理を実行した後（ステップ１１０）、省電力状態から通常の動作状態に復帰する処理を実行して（ステップ１１１）、最初のステップ１０１に戻る。ここでは、省電力状態から通常の動作状態に復帰する処理として、ＡＣＰＩの省電力機能を使用することにする。なお、ソフトウェア入力関連処理の後処理については、後述する。
【００７２】
図８は、入力関連処理設定テーブルの例を示すものである。この入力関連処理設定テーブルは、ソフトウェアのダウンロードなど各入力関連処理に関連する設定を管理するためのテーブルである。上記入力関連処理設定テーブルは、例えば、ソフトウエア管理部１１０に保持されている。
【００７３】
図８のＩＤは管理上のＩＤを示し、入力関連処理は各入力関連処理を示し、後処理は省電力状態からの復帰要求があった場合の後処理に関する設定を示し、デフォルトは後処理のデフォルト設定を示し、補足１、補足２は各入力関連処理毎に補足する設定を示している。この入力関連処理設定テーブルにより、ソフトウェアのダウンロードなどの各入力関連処理に関する後処理などの設定情報を管理することができる。
【００７４】
次に、図９に従い、本実施の形態における情報処理装置のソフトウェア入力関連処理を決定する処理フローの例を説明する。
【００７５】
まず最初に、ＣＰＵ１０１は、図９に示すように、未完了状態の処理を検索する（ステップ２０１）。次に、ＣＰＵ１０１は、未完了状態の処理を検索できたか否かを判別し  （ステップ２０２）、未完了状態の処理を検索できた場合には、検索した処理が「同意」処理か否かを判別する（ステップ２０３）。そして、検索した処理が「同意」処理である場合には、ソフトウェア入力関連処理を「同意」処理に決定し（ステップ２０４）、当該処理を終了する。なお、未完了状態の処理を検索できなかった場合には、ステップ２０９に進み、情報取得処理の実施条件を満たすか否かを判別する（ステップ２０９）。
【００７６】
ここで、同意処理とは、装置の管理者にソフトウェアを入力することを同意してもらう処理のことである。同意処理については、例えば、操作表示パネル８上に図示しない同意画面を表示することによって、それに対する管理者の同意確認の応答をもらうことで同意を得ることができる。
【００７７】
また、ＣＰＵ１０１は、検索した処理が「同意」処理でなかった場合は、検索した処理が「ダウンロード」処理か否かを判別し（ステップ２０５）、検索した処理が「ダウンロード」処理である場合には、ソフトウェア入力関連処理を「ダウンロード」処理に決定し（ステップ２０６）、当該処理を終了する。「ダウンロード」処理とは、ネットワーク２を経由するなどして、ソフトウェアのファイルを転送して複合機１００に入力するなどの処理のことである。
【００７８】
さらに、ＣＰＵ１０１は、検索した処理が「ダウンロード」処理でなかった場合は、検索した処理が「インストール」処理か否かを判別し（ステップ２０７）、検索した処理がインストール処理である場合には、ソフトウェア入力関連処理を「インストール」処理に決定し（ステップ２０８）、当該処理を終了する。「インストール」処理とは、ダウンロードしたソフトウェアを複合機１００において利用可能な状態にする処理のことである。
【００７９】
次に、ＣＰＵ１０１は、検索した処理が「インストール」処理でもなかった場合は、情報取得処理の実施条件を満たすか否かを判別する（ステップ２０９）。そして、情報取得処理の実施条件を満たす場合には、ソフトウェア入力関連処理を「情報取得」処理に決定し（ステップ２１０）、当該処理を終了する。また、情報取得処理の実施条件を満たさない場合には、ソフトウェア入力関連処理を決定せずに（ステップ２１１）、当該処理を終了する。なお、ソフトウェア入力関連処理が決定されなかった場合には、図７のステップ１０９において、省電力状態に移行する処理が実行される。
【００８０】
ここで、「情報取得」処理とは、ダウンロード対象のソフトウェアが存在するかどうかをダウンロード元の管理サーバ３００等に確認する処理のことである。対象となるソフトウェアが存在すれば、対象ソフトウェアに関する属性情報などを取得し、図６のソフトウェア情報管理テーブルにエントリを追加して管理するのである。
【００８１】
ここでは、管理サーバ３００内の図示しないソフトウェア情報取得ＷｅｂサイトからＨＴＴＰなどの通信プロトコルで取得するものとする。ここでは予め規定されている特定のＵＲＬであるhttp://server.software-download.mfmaker.co.jP/download/software.infoのファイルを取得するものとする。
【００８２】
このファイルの中には、図６において、エントリ追加するためのソフトウェアの情報が含まれているのである。また、情報取得処理の実施条件については、例えばここでは、図８のＩＤ＝１の情報取得処理に関しての補足１、補足２を使用する。補足１には前回情報取得した時間が記録されており、情報取得処理を実行する毎に更新される。補足２は情報取得処理の状態を示している。図示していないが、装置内で情報取得処理の起動間隔時間を設定値として保持し、前回の情報取得処理から起動間隔時間の設定値よりも時間が経過していたら、情報取得処理の実施条件を満たすようにすればよい。
【００８３】
ここでは、図６のＩＤ＝１のSystem-Fix203Aの場合、未完了状態であるダウンロード処理がソフトウェア入力関連処理として決定されるものとする。
【００８４】
次に、図１０に従い、本実施の形態における情報処理装置のソフトウェア入力関連処理の後処理フローの例を説明する。
【００８５】
まず最初に、ＣＰＵ１０１は、図１０に示すように、情報取得処理も含め、実行中状態の処理を検索する（ステップ３０１）。次に、ＣＰＵ１０１は、実行中状態の処理を検索することができたか否かを判別し（ステップ３０２）、実行中状態の処理を検索することができた場合には、検索した処理の後処理設定を取得する（ステップ３０３）。ここでは、具体的に、図６のＩＤ＝１のSystem-Fix203Aの場合の実行中状態であるダウンロード処理が検索できたものとする。
【００８６】
そして、ＣＰＵ１０１は、検索した処理の後処理設定が「継続」か否かを判別し（ステップ３０４）、検索した処理の後処理設定が「継続」である場合には、そのままステップ３０１に戻り、検索した処理の後処理設定が「継続」でない場合には、検索した処理の中断処理を実行した後（ステップ３０５）、ステップ３０１に戻る。
【００８７】
ここでは、検索した実行中の処理がダウンロード処理であるため、図８のＩＤ＝３のダウンロード処理の後処理設定が「中断」になっているので、ステップ３０５の中断処理を実行するものとする。
【００８８】
つまり、ステップ３０５では、ダウンロード処理の中断処理、例えばファイル転送の中断、キャンセルなどを実行するものとする。検索した処理の中断処理の実行が終了したら、ステップ３０１に戻る。
【００８９】
次に、ＣＰＵ１０１は、実行中状態の処理を検索することができなかった場合には、継続実行中の処理が存在しているか否かを確認して（ステップ３０６）、継続実行中の処理が存在しているか否かを判別する（ステップ３０７）。そして、ＣＰＵ１０１は、継続実行中の処理が存在していない場合には、当該処理を終了し、継続実行中の処理が存在している場合には、ステップ３０６に戻り、再度、継続実行中の処理が存在しているか否かを確認する（ステップ３０６）。
【００９０】
このように、上記実施の形態１によれば、情報処理提供装置である複合機１００において、省電力状態に移行するときにダウンロードなどソフトウェア入力関連処理を開始することが可能となる。したがって、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ソフトウェアをダウンロード等が行われるのは、省電力状態への移行時であるため、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ソフトウェアをダウンロードすることなどが可能となっている。また、所定のタイミングでソフトウェアのダウンロードなどを行うように設定するスケジューリング機能なども持つ必要がなくなる。
【００９１】
また、本実施の形態では、入力関連処理設定テーブルの後処理設定に基づいて復帰要求があったときに後処理を実行していたが、入力関連処理設定テーブルの後処理設定を設定する手段を備えるようにしてもよい。また、後処理設定値のデフォルト値を設定する手段も提供するようにしてもよい。装置の管理者やユーザのポリシーによって、省電力状態からの復帰要求があるときの後処理は変わってくるものであり、これにより柔軟に対応することが可能になる。
【００９２】
また、本実施の形態においては、ソフトウェア入力に対する同意の処理を装置の図示しない操作パネル上で行なうようにしていたが、図１に示すパーソナルコンピュータ（ＰＣ）２００のように、リモートサイトのパーソナルコンピュータ（ＰＣ）２００から管理者に同意してもらうようにしてもよい。例えば、リモートの管理者に対して同意を求める旨を記載した電子メールを送信し、リモートの管理者が返信する電子メールから同意結果を判断することで同意処理とする。これにより、ＳＯＨＯなど管理者が不在の装置に対しても、リモートから管理者が適切にソフトウェア入力の同意をすることが可能となる。
【００９３】
また、本実施の形態においては、ソフトウェアはネットワーク経由でダウンロードすることにしているが、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどのメディアから読取ることで、ソフトウェアは装置に入力するようにしてもよい。
【００９４】
また、本実施の形態においては、図１の管理サーバ３００からソフトウェアをダウンロードするようにしていたが、複数のサーバからダウンロードするようにしても問題はない。
【００９５】
また、本実施の形態においては、ダウンロード処理などソフトウェア入力関連処理を省電力状態に移行するときに開始していたが、省電力状態に移行するときに加え、通常の稼働状態のときに、ユーザ指示などでソフトウェア入力関連処理を開始するようにしてもよい。
【００９６】
また、本実施の形態においては、ダウンロード処理中に省電力状態からの復帰要求があった場合には、ダウンロード処理を中断するようにしていたが、ダウンロード処理が継続し完了してから復帰するようにしてもよい。また中断するか継続するかを選択できるようにしてもよい。これは、ダウンロード処理だけでなく、同意処理やインストール処理なども同様である。また、ソフトウェア入力関連処理として、ダウンロードとインストールをセットで一つの処理と捉えてもよい。但し、この処理が実行中に省電力状態からの復帰要求があった場合には、ダウンロードまでは実行し、インストールは実行しないようにしてもよい。
【００９７】
また、本実施の形態においては、省電力状態として、ＨＤＤなど不揮発性記憶装置への退避を伴うハイバネーション状態へ移行するようにしていたが、メモリなど揮発性記憶装置への退避を伴うサスペンド状態へ移行するようにしてもよい。
【００９８】
また、本実施例においては、省電力状態として、ＨＤＤなど不揮発性記憶装置への退避を伴うハイバネーション状態へ移行するようにしていたが、単にＣＰＵクロックの周波数低減などを行なうスリープ状態へ移行するようにしてもよい。
【００９９】
また、本実施の形態においては、入力関連処理設定テーブルにより装置単位で共通の後処理設定を管理していたが、ソフトウェア情報管理テーブルを拡張し、各ソフトウェア毎に、各入力関連処理の後処理の設定を管理するようにしてもよい。これにより、装置の管理者はより柔軟に管理することが可能になる。
【０１００】
また、本実施の形態においては、省電力状態に移行するときに、インストール処理までのソフトウェア入力関連処理を開始するようにしていたが、インストール処理まで完了したソフトウェアに対しては、省電力状態から復帰するときにソフトウェアを起動( 更新の場合は再起動) するようにしてもよい。これにより、２４時間稼働の装置の場合で、電源ＯＦＦ／ＯＮをせずに、入力したソフトウェアが使用可能になる。
【０１０１】
以上説明したように、本実施の形態に係る情報処理装置は、上記実施の形態から明らかなように、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置に負担をかけることなく、またネットワークに負担をかけることなく、ソフトウェアをダウンロードすることが可能になる。即ち、省電力状態に移行するときにダウンロード関連の処理を開始するので、装置上の他のソフトウェアが動作していないので、他のソフトウェアにも影響を与えることなく、装置にも負担をかけることはなく、ダウンロード関連処理以外にネットワーク負荷をかけることもないのである。また、装置の起動時にダウンロード関連の処理を開始するのとは異なり、省電力状態に移行するときに開始すれば、装置の稼働時間を確保するためやＴＣＯ削減のために、電源ＯＮ／ＯＦＦをせずに２４時間稼動する装置に対しても対応可能である。
【０１０２】
実施の形態２
図１１はこの発明の実施の形態２を示すものであり、前記実施の形態１と同一の部分には同一の符号を付して説明すると、この実施の形態２は、外部からソフトウェアを入力して動作させることが可能な情報処理装置において、省電力機能を提供し省電力関連の処理を制御をするための省電力制御手段と、予め、前記ソフトウェアの入力関連処理における、前記ソフトウェアの実行ファイルの更新を実行するための更新手段と、前記省電力制御手段によって省電力状態から復帰するときに、前記ソフトウェアの入力関連処理に伴って必要になった前記ソフトウェアの再起動を開始するための再起動手段と、を備えるように構成されている。
【０１０３】
この実施の形態２に係る情報処理装置としての複合機１００は、基本的に、図２に示す複合機１００と同様に構成されている。
【０１０４】
この複合機１００は、図１１に示すように、ＣＰＵ（Central Processing Unit ）１０１と、ＲＯＭ（Read  Only  Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、ハードディスク１０４と、制御部１０５と、印刷部１０６と、スキャナ部６と、操作表示パネル８と、システム時計１０７と、画像処理部１０８と、ソフトウェア制御部１０９と、ソフトウェア管理部１１０と、同意制御部１１１と、省電力制御部１１２と、Ｉ／Ｆ（外部インターフェース）部１１３とを備えるように構成されている。
【０１０５】
上記ソフトウェア制御部１０９は、予め、ソフトウェアの入力関連処理における、前記ソフトウェアの実行ファイルの更新を実行するための更新手段としての機能と、前記省電力制御手段１１２によって省電力状態から復帰するときに、前記ソフトウェアの入力関連処理に伴って必要になった前記ソフトウェアの再起動を開始するための再起動手段としての機能を兼ね備えている。
【０１０６】
ここで、図１２にソフトウェア情報管理テーブルの例を示すものである。このソフトウェア情報管理テーブルは、ダウンロードしてインストールする各ソフトウェアの情報を管理するためのテーブルである。
【０１０７】
なお、前述した実施の形態１と異なり、図１２のＩＤ＝１のSystem-Fix203Aは、ダウンロード及びインストールが完了しているが、当該ソフトウェアの再起動は、まだ完了していない状態を示している。
【０１０８】
図１２のＩＤは管理上のＩＤを示し、ソフトウェア名称はソフトウェアの名称を示し、バージョンはソフトウェアのバージョンを示し、同意は同意処理の状態を示し、ダウンロードはダウンロード処理の状態を示し、インストールはインストール処理の状態を示し、再起動は再起動処理の状態を示し、サイズはソフトウェアのサイズを表す属性を示し、提供元はソフトウェアの提供元を表す属性を示し、リリース日はソフトウェアのリリース日を表す属性を示し、依存ソフトウェアはソフトウェアが動作するために依存しているソフトウェアを表す属性を示し、依存バージョンは依存ソフトウェアのバージョンを示し、場所はソフトウェアを取得するための場所を示している。
【０１０９】
このソフトウェア情報管理テーブルにより、ソフトウェアのダウンロードなどの各入力関連処理の状態を管理することもできるのである。
【０１１０】
次に、図１３に従い、本実施の形態２における情報処理装置の処理フローの例を説明する。本実施の形態２においては、上述したように、予め外部からソフトウェアをダウンロード、及びインストールして、実行ファイルの更新まで実行しておくものとする。
【０１１１】
まず最初に、ＣＰＵ１０１は、省電力状態から復帰するタイミングを待つ（ステップ４０１）。次に、ＣＰＵ１０１は、省電力状態から復帰するタイミングになったか否かを判別し（ステップ４０２）、省電力状態から復帰するタイミングになった場合には、再起動するソフトウェアを決定する（ステップ４０３）。なお、省電力状態から復帰するタイミングになっていない場合には、ステップ４０１に戻る。
【０１１２】
省電力機能については、前述した実施の形態１と同様に、最近のパーソナルコンピュータ（ＰＣ）上のＷｉｎｄｏｗｓ（登録商標）やＵｎｉｘ（登録商標）などのＯＳ（OperatingSystem ）には、一般的にＡＰＭ（Advanced Power Management ）やＡＣＰＩ（Aavanced  Configuration   and   Power   Interface ）と言った規格に準拠した省電力機能が実装されている（ＡＰＭの詳細についてはAdvanced Power Management BIOS Inteeface Specification  Revision  1.2   Febmary   1996、ＡＣＰＩの詳細についてはAavanced Configuration  and   Power   Interface   Specification   Revision  2.0a  March   31.   2002などを参照）。この実施の形態では、Ｕｎｉｘ（登録商標）ＯＳ上でのＡＣＰＩの省電力機能が実装された複合機１００において、例えばＵｎｉｘ（登録商標）ＯＳ上でのＡＣＰＩの省電力機能の省電力状態からの復帰タイミングがくるものとする。
【０１１３】
Ｕｎｉｘ（登録商標）ＯＳ上でのＡＣＰＩの省電力機能は、ＯＳのカーネル及びacpia （ＡＣＰＩのデーモン）などで実装されている（ａｃｐｉｄの詳細については、Http://acpid.sourcefbrge.net/ などを参照）。省電力機能をコントロールするデーモンacpia では、省電力状態に遷移させるevent と、そのevent に応じたactionを紐付けすることができる。acpia をインストールすると、/etc/acpi/eventsと/etc/acpj/actionというディレクトリが作成される。/etc/acpi/eventsなるディレクトリには、event の定義とそのevent が来た時のaction内容を記述したスクリプトヘのpathを記述したスクリプトを用意することができる。/etc/acpi/actionなるディレクトリには、action内容を記述したスクリプトを用意する。例えば、省電力状態に移行させるスクリプトとしては、“echo4>/proc/acpi/sleep（不揮発性記憶手段としてのハードディスク駆動装置への退避の命令）" と記述をすればよい。/etc/acpi/eventsでは、電源ボタンやキーボードやマウスなどのハードウェア操作に対するイベントは検知できるが、別途タイマーのような機構を起動しておき、ハードウェア操作を検知したらタイムカウントを初期化することで、一定時間経過後、タイマーによるタイムアウト時の処理として、“echo4>/proc/acpi/sleep（ハードディスク駆動装置への退避の命令）" を実行すれば、一定時間経過後の省電力状態への移行も実現することが可能である。
【０１１４】
また、省電力状態からの復帰時には、スクリプト内の“echo4>/proc/acpi/sleep" の次の行に制御が戻ってくるので、そこに本実施の形態２で設定されているソフトウェアの再起動など、省電力状態から復帰するときに実行したい処理を記述しておけばよい。
【０１１５】
次に、ＣＰＵ１０１は、再起動するソフトウェアを決定する（ステップ４０３）。再起動するソフトウェアを決定する処理については、後述する。ＣＰＵ１０１は、再起動するソフトウェアは決定したか否かを判別し（ステップ４０４）、再起動するソフトウェアを決定した場合には、決定したソフトウェアを再移動する（ステップ４０５）。なお、再起動するソフトウェアを決定できなかった場合には、ステップ４０９に進む。
【０１１６】
具体的には、図１２のＩＤ＝１のSystem-Fix203Aが再起動するソフトウェアとして決定されるものとする。
【０１１７】
ここでは、省電力状態の復帰時にソフトウェアを再起動する方法については、先述したＡＣＰＩの機能を使用することで実現することとする。これはあくまで、例であり、他の方法を採用しても構わない。ともかくここでは、省電力状態から復帰するときにソフトウェアを再起動するためのコマンドなどを、予め復帰時に制御が戻るスクリプト上で記述しておき、ソフトウェアを再起動することにする。具体的には、図１２のＩＤ＝１のSystem-Fix203Aの再起動が開始されたら、再起動の状態を「実行中」に変更し、再起動が完了したら再起動の状態を「完了」に変更する。
【０１１８】
次に、ＣＰＵ１０１は、省電力状態への移行要求があるか否かを判別し（ステップ４０６）、省電力状態への移行要求がない場合には、ソフトウェアの再起動処理は正常に終了したか否かを判別する（ステップ４０７）。
【０１１９】
再起動に長時間を要するかユーザイベントなどにより、省電力状態への移行要求がある場合は、ステップ４１０を実行し、省電力状態への移行要求がなく、まだ他のソフトウェアの再起動を開始してもよい場合は、ステップ４０３に戻り、他のソフトウェアの再起動を開始してはいけない場合は、ステップ４０９を実行する。
【０１２０】
ここで、他のソフトウェアの再起動を開始してよいかどうかの判断は、例えば、装置内で限界時間を設定しておき、ステップ４０１からここまでの時間が限界時間を越えているかどうかで他のソフトウェアの再起動を開始してよいかどうかを判断すればよい。他にも装置内で再起動してよいソフトウェアの数を設定値として保持し、設定値を越えているかどうかで判断するなどの方法もある。次にステップ４０９では、省電力状態からの復帰に伴う他の処理を実行する。
【０１２１】
そして、ソフトウェアの再起動処理が正常に終了した場合には、他のソフトウェアの再起動を開始して良いか否かを判別し（ステップ４０８）、他のソフトウェアの再起動を開始して良い場合には、ステップ４０３に戻る。また、他のソフトウェアの再起動を開始して良くない場合には、省電力状態からの復帰に伴う他の処理を実行して（ステップ４０９）、当該処理を終了する。
【０１２２】
ここでは、ＡＣＰＩの省電力機能を使用することで、省電力状態からの復帰時する処理でまだ実施していない処理や、ダウンロードしたソフトウェアとは関係ない、システムのソフトウェアや他のアプリケーションソフトウェアに関連する復帰の処理などを実行する。
【０１２３】
一方、ステップ４１０では、ソフトウェアの再起動処理を中断する。中断の方法は再起動処理のプロセスに実行の中止を指示するシグナルを送信するなど、様々な方法があるが、特に限定はしない。ソフトウェアの再起動処理の中断が終了したら、ステップ４１１を実行する。ステップ４１１では、省電力状態に移行する処理を実行する。ここでは、ＡＣＰＩの省電力機能を使用することにする。省電力状態に移行する処理が終了したら、ステップ４０１に戻る。
【０１２４】
次に、図１４に従い、本実施の形態２における情報処理装置としての複合機の再起動するソフトウェアを決定する処理フローの例を説明する。
【０１２５】
まず最初に、ＣＰＵ１０１は、図１４に示すように、図１２のソフトウェア情報管理テーブル上で、再起動が未完了状態の処理を検索する（ステップ５０１、５０２）。そして、未完了状態のエントリが検索できなければ処理を終了する。未完了状態のエントリを検索でき、検索したエントリのインストールが完了状態の場合は、ステツプ５０４を実行し、検索したエントリのインストールが不要で、かつ、ダウンロードが完了状態の場合は、ステップ５０５を実行し、検索したエントリのインストールもダウンロードも完了状態でなく、最後のエントリであれば処理を終了し、最後のエントリでなければステツプ５０１に戻る。
【０１２６】
ステツプ５０６では、検索できたソフトウェアを再起動するソフトウェアに決定し、処理を終了する。ステップ５０７では、検索できたソフトウェアを再起動するソフトウェアに決定し、処理を終了する。ここでは、図１２のＩＤ＝１のSystem-Fix203Aが、再起動が未完了状態でありかつインストールが完了状態であるので、再起動するソフトウェアとして決定されるものとする。
【０１２７】
このように、上記実施の形態２によれば、情報処理提供装置である複合機１００が、省電力状態から復帰するときに、予めダウンロードしておいたソフトウェアの再起動を開始することが可能になる。したがって、この実施の形態２によれば、ネットワークを経由するなどして、外部からソフトウェアをダウンロード等することによって入力することが可能な情報処理装置において、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置やネットワークに過度の負担を掛けることなく、ダウンロードしたソフトウェアの再起動処理を含むダウンロード関連処理を実行することが可能となる。
【０１２８】
また、本実施の形態２においては、ダウンロードしておいたソフトウェアの再起動を省電力状態から復帰するときに実行していたが、電源を起動するときにも、ダウンロード済のソフトウェアの再起動を実行するようにしてもよい。
【０１２９】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、省電力状態に移行するときに実施するようにしてもよい。
【０１３０】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、自装置がシャットダウンまたは終了するときに実施するようにしてもよい。
【０１３１】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、更新前のソフトウェアの実行が終了するときに実施するようにしてもよい。
【０１３２】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、更新前のソフトウェアまたは自装置で、障害またはエラーまたは警告のイベントが発生したときに実施するようにしてもよい。
【０１３３】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、ネットワーク経由で外部のサーバや他の装置からなど、外部からのソフトウェアの更新要求があったときに実施するようにしてもよい。
【０１３４】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、操作表示パネルなどのユーザインタフェースを介してなど、ユーザからの更新指示があったときに実施するようにしてもよい。
【０１３５】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、スケジュール機能によるスケジュール実行に基づいて実施するようにしてもよい。
【０１３６】
また、本実施の形態２においては、再起動するソフトウェアを予めダウンロードまたはインストールして、実行ファイルを更新しておくことにしていたが、実行ファイルの更新タイミングとしては、するときに実施するようにしてもよい。
【０１３７】
また、本実施の形態２においては、ソフトウェアの再起動中に省電力状態への移行要求があった場合には、ソフトウェアの再起動を中断するようにしていたが、中断するから継続するかを選択できるようにしてもよい。
【０１３８】
また、本実施の形態１及び２においては、省電力状態として、ＨＤＤなど不揮発性記憶装置への退避を伴うハイバネーション状態としていたが、メモリなど揮発性記憶装置への退避を伴うサスペンド状態を省電力状態としてもよい。
【０１３９】
また、本実施１及び２においては、省電力状態として、ＨＤＤなど不揮発性記憶装置への退避を伴うハイバネーション状態としていたが、単にＣＰＵクロックの周波数低減などを行なうスリープ状態を省電カ状態としてもよい。
【０１４０】
以上説明したように、本実施の形態２に係る情報処理装置では、上記実施の形態２から明らかなように、ダウンロード対象外のソフトウェアの動作への影響を考慮して装置に負担をかけることなく、ダウンロードしたソフトウェアの再起動処理を含むダウンロード関連処理を実行することが可能になる。即ち、省電力状態から復帰するときにダウンロードしたソフトウェアの再起動を開始するので、装置上の他のソフトウェアが動作していないので、他のソフトウェアにも影響を与えることなく、装置にも負担をかけることはない。また、装置の起動時にダウンロードしたソフトウェアの再起動を開始するのとは異なり、省電力状態から復帰するときに再起動を開始すれば、装置の稼働時間を確保するためやＴＣＯ（Ｔｏｔａｌ  Ｃｏｓｔ  ｏｆ  Ｏｗｎｅｒｓｈｉｐ）削減のために、電源ＯＮ／ＯＦＦをせずに２４時間稼動する装置に対しても対応可能である。
【図面の簡単な説明】
【０１４１】
【図１】図１はこの発明の実施の形態１に係る情報処理装置を適用した情報処理システムを示すシステム構成図である。
【図２】図２はこの発明の実施の形態１に係る情報処理装置としての複合機を示す構成図である。
【図３】図３はソフトウェアの提供元としてのパーソナルコンピュータを示す構成図である。
【図４】図４は管理サーバを示す構成図である。
【図５】図５はこの発明の実施の形態１に係る情報処理装置としての複合機の制御回路を示すブロック図である。
【図６】図６はソフトウェア情報管理テーブルを示す図表である。
【図７】図７はこの発明の実施の形態１に係る情報処理装置としての複合機の動作を示すフローチャートである。
【図８】図８は入力関連処理設定テーブルを示す図表である。
【図９】図９はこの発明の実施の形態１に係る情報処理装置としての複合機のソフトウェア入力関連処理を決定する動作を示すフローチャートである。
【図１０】図１０はこの発明の実施の形態１に係る情報処理装置としての複合機のソフトウェア入力関連処理の後処理を示すフローチャートである。
【図１１】図１１はこの発明の実施の形態２に係る情報処理装置としての複合機の制御回路を示すブロック図である。
【図１２】図１２はソフトウェア情報管理テーブルを示す図表である。
【図１３】図１３はこの発明の実施の形態２に係る情報処理装置としての複合機の動作を示すフローチャートである。
【図１４】図１４はこの発明の実施の形態２に係る情報処理装置としての複合機の再起動するソフトウェアを決定する処理を示すフローチャートである。
【符号の説明】
【０１４２】
１：情報処理システム、１００：複合機（情報提供装置）、２００：パーソナルコンピュータ、３００：サーバ（情報管理理置）。
【図１】
2006099187.tif 000003
【図２】
2006099187.tif 000004
【図３】
2006099187.tif 000005
【図４】
2006099187.tif 000006
【図５】
2006099187.tif 000007
【図６】
2006099187.tif 000008
【図７】
2006099187.tif 000009
【図８】
2006099187.tif 000010
【図９】
2006099187.tif 000011
【図１０】
2006099187.tif 000012
【図１１】
2006099187.tif 000013
【図１２】
2006099187.tif 000014
【図１３】
2006099187.tif 000015
【図１４】
2006099187.tif 000016