(57)【要約】【課題】サーバ装置から設定データを取得して使用する情報処理装置で、設定データの取得及び設定データの更新を行うタイミングを、情報処理装置の電源の制御状態に応じて適切に制御する技術を提供する。【解決手段】デジタル複合機（情報処理装置）のＣＰＵは、デジタル複合機で使用すべき設定データを保持するサーバから、当該設定データが当該サーバにおいて更新されたことを示す更新通知を受信すると（Ｓ７０１で「ＹＥＳ」）、デジタル複合機が備える複数のデバイスに対する電源の制御状態が、スリープ状態へ移行する可能性がある、スリープ移行状態であるか否かを判定する（Ｓ７０２）。ＣＰＵは、電源の制御状態が、スリープ移行状態である場合、電源の制御状態がスリープ状態から復帰した後に、デジタル複合機で使用すべき設定データを更新通知に基づいて更新するよう、受信した更新通知をＨＤＤに格納する（Ｓ７０５）。【選択図】図７
2016020034.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と通信可能な情報処理装置であって、
前記情報処理装置で使用すべき設定データを保持するサーバ装置から、前記設定データが前記サーバ装置において更新されたことを示す更新通知を受信する受信手段と、
前記受信手段によって前記更新通知が受信されると、前記情報処理装置が備える複数のデバイスに対する電源の制御状態が、前記複数のデバイスのうちの一部に通電させるスリープ状態へ移行する可能性があるか否かを判定する判定手段と、
前記判定手段によって、前記制御状態が前記スリープ状態へ移行する可能性がないと判定された場合には、前記サーバ装置から設定データを取得して、取得した設定データで、前記情報処理装置で使用すべき設定データを更新する更新処理を実行し、前記制御状態が前記スリープ状態に移行する可能性があると判定された場合には、前記制御状態が前記スリープ状態に移行して、前記スリープ状態から復帰した後に、前記更新処理を実行する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記制御状態が前記スリープ状態に移行する可能性があると判定すると、前記受信手段によって前記更新通知が受信されたことを示す更新情報を、前記情報処理装置の記憶手段に格納し、
前記制御手段は、前記制御状態が前記スリープ状態から復帰する際に、前記記憶手段に前記更新情報が格納されていると、前記更新処理を実行する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御状態が前記スリープ状態ではない間に維持される、前記サーバ装置から前記更新通知を受信するための第１のコネクションと、前記サーバ装置から設定データを取得する際にのみ確立される、前記サーバ装置から設定データを取得するために第２のコネクションとを、前記サーバ装置との間で確立する通信制御手段、
を更に備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記通信制御手段は、前記判定手段によって前記制御状態が前記スリープ状態へ移行する可能性があると判定された場合において、前記スリープ状態への移行が中止され、前記制御状態が、前記複数のデバイスに通電させる状態に移行するときは、前記第１のコネクションを切断することなく維持する、
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、前記判定手段によって前記制御状態が前記スリープ状態へ移行する可能性があると判定された場合、
前記制御状態の前記スリープ状態への移行が完了する前に、前記サーバ装置から設定データを取得して、前記情報処理装置の記憶手段に格納し、
前記制御状態の前記スリープ状態からの復帰が完了した後に、前記記憶手段に格納された設定データで、前記情報処理装置で使用すべき設定データを更新する、
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定手段は、前記制御状態を前記スリープ状態へ移行させるための処理が行われている場合に、前記スリープ状態へ移行する可能性があると判定する、
ことを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記情報処理装置の動作状態を監視して、前記制御状態を前記スリープ状態へ移行させるための所定の移行条件が満たされたか否かを判定する監視手段と、
前記監視手段によって、前記所定の移行条件が満たされたと判定されると、前記制御状態を前記スリープ状態へ移行させるための処理を開始する電源制御手段と、
を更に備えることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記所定の条件は、前記情報処理装置の操作部に設けられた所定のボタンの操作が操作されたこと、または、前記情報処理装置がジョブを実行しない状態で所定の時間が経過したことである、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
サーバ装置と通信可能な情報処理装置の制御方法であって、
前記情報処理装置で使用すべき設定データを保持するサーバ装置から、前記設定データが前記サーバ装置において更新されたことを示す更新通知を受信する受信工程と、
前記受信工程で前記更新通知が受信されると、前記情報処理装置が備える複数のデバイスに対する電源の制御状態が、前記複数のデバイスのうちの一部に通電させるスリープ状態へ移行する可能性があるか否かを判定する判定工程と、
前記判定工程で、前記制御状態が前記スリープ状態へ移行する可能性がないと判定された場合には、前記サーバ装置から設定データを取得して、取得した設定データで、前記情報処理装置で使用すべき設定データを更新する更新処理を実行し、前記制御状態が前記スリープ状態に移行する可能性があると判定された場合には、前記制御状態が前記スリープ状態に移行して、前記スリープ状態から復帰した後に、前記更新処理を実行する制御工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項１から８のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
近年、インターネット上に存在するデータストレージサービス等の様々なサービスを活用するクラウドコンピューティングが一般化してきている。このようなサービスの活用事例としては、例えば、例えば、ネットワーク上の各装置の設定値をデータストレージサービスに記録し、複数の設定値をサービス側で一元管理する例がある。また、ネットワーク上の各装置からデータストレージサービス上の同一データへのアクセスを可能にすることによってデータ共有を実現する例がある。一般的に、インターネット上のサービス（サーバ）装置とクライアント装置との間にはファイアウォールが配置されるため、クライアント装置からサーバ装置への一方向のアクセスのみが可能である。このため、サーバ装置で管理されている設定値等のデータの、クライアント装置間での同期（共有）は、クライアント装置からのアクションによって実行される。ただし、インターネット上のサーバ装置は、多数のクライアント装置からの要求に応じた通信処理を行う必要があるため、通信量が大幅に増大しうる。
【０００３】
一方、このような場合に通信量を削減する技術として、常時コネクションを維持することが可能なプロトコル（例えば、非特許文献１）を利用した双方向通信が存在する。このようなプロトコルを利用することにより、例えば、サーバ装置（サービス側）で保持している設定値の更新が行われたタイミングに、サービス側からクライアント装置に対して更新が行われたことを通知することが可能となる。クライアント装置は、サービス側からこのような通知を受信した場合、適当なタイミングにサービス側から設定値を取得し、これを自装置に反映させることが可能である。
【０００４】
しかし、このようにサービス側から設定値を取得したクライアント装置が、取得した設定値を不適切なタイミング（例えば、ジョブの実行中）に自装置に反映させてしまうことで、クライアント装置の動作に不具合が生じる可能性がある。このような動作の不具合の発生を防止する技術として、取得した設定値がクライアント装置に反映されるタイミングを、クライアント装置の動作内容によって制御する技術が提案されている（特許文献１）。
【０００５】
これらの技術を利用することで、クライアント装置は、サービス側で設定値が変更されたタイミングにその設定値を取得することが可能となる。更に、クライアント装置は、設定値の取得タイミングにおけるクライアント装置の動作に影響を与えることなく、取得した設定値を反映することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４２２７５６８号公報
【非特許文献】
【０００７】
【非特許文献１】RFC 6455“The WebSocket Protocol”, [online], 2011年12月, ＜URL: http://tools.ietf.org/html/rfc6455＞
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の技術を用いた場合、クライアント装置は、サービス側から取得した設定値を反映させるか否かを、クライアント装置の動作内容に基づいて判断する。この場合、クライアント装置は、電源管理状態（電源状態）を考慮せずに設定値の反映を実行することになる。このため、クライアント装置が省電力状態に移行する直前であっても、取得した設定値の反映を実行してしまい、設定値の反映を実行している最中にクライアント装置が省電力状態に移行してしまうことがある。この場合、クライアント装置は、その後、設定値の反映が不十分な（例えば、一部の設定値のみが反映された）状態で省電力状態から復帰する。その結果、クライアント装置は、サービス側で設定値を変更したユーザが意図しない動作を実行してしまうことがあり、クライアント装置の動作に不具合が生じうる。
【０００９】
本発明は、上述の問題に鑑みてなされたものである。本発明は、サーバ装置から設定データを取得して使用する情報処理装置（クライアント装置）で、設定データの取得及び設定データの更新を行うタイミングを、情報処理装置の電源の制御状態に応じて適切に制御する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、例えば、情報処理装置として実現できる。本発明の一態様に係る情報処理装置は、サーバ装置と通信可能な情報処理装置であって、前記情報処理装置で使用すべき設定データを保持するサーバ装置から、前記設定データが前記サーバ装置において更新されたことを示す更新通知を受信する受信手段と、前記受信手段によって前記更新通知が受信されると、前記情報処理装置が備える複数のデバイスに対する電源の制御状態が、前記複数のデバイスのうちの一部に通電させるスリープ状態へ移行する可能性があるか否かを判定する判定手段と、前記判定手段によって、前記制御状態が前記スリープ状態へ移行する可能性がないと判定された場合には、前記サーバ装置から設定データを取得して、取得した設定データで、前記情報処理装置で使用すべき設定データを更新する更新処理を実行し、前記制御状態が前記スリープ状態に移行する可能性があると判定された場合には、前記制御状態が前記スリープ状態に移行して、前記スリープ状態から復帰した後に、前記更新処理を実行する制御手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、サーバ装置から設定データを取得して使用する情報処理装置（クライアント装置）で、設定データの取得及び設定データの更新を行うタイミングを、情報処理装置の電源の制御状態に応じて適切に制御することができる。これにより、設定データの更新に起因したクライアント装置の動作の不具合を防ぐことができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理システムの構成例を示す図。
【図２】デジタル複合機のハードウェア構成例を示すブロック図。
【図３】設定データ管理アプリケーションプログラムの構成例を示すブロック図。
【図４】電源管理アプリケーションプログラムの構成例を示すブロック図。
【図５】電源管理アプリケーションによる処理の手順を示すフローチャート。
【図６】電源管理アプリケーションによる処理の手順を示すフローチャート。
【図７】設定データ管理アプリケーションによる処理の手順を示すフローチャート。
【図８】設定データ管理アプリケーションによる処理の手順を示すフローチャート。
【図９】デジタル複合機の電源の制御状態の遷移を示す状態遷移図。
【図１０】設定データ管理アプリケーションによる処理の手順を示すフローチャート。
【図１１】設定データ管理アプリケーションによる処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１４】
［第１の実施形態］
＜情報処理システムの構成＞
図１は、本実施形態に係る情報処理システムの構成例を示す図である。図１に示すように、情報処理システムは、デジタル複合機（以下、「複合機」）１１０ａ，１１０ｂ、ＰＣ（Personal Computer）１２０、及びサーバ１４０を含む。複合機１１０ａ，１１０ｂ（以下、複合機１１０と表記する。）、及びＰＣ１２０は、ＬＡＮ等のネットワーク１００を介して通信可能である。また、複合機１１０及びＰＣ１２０は、ネットワーク１００及びファイアウォール１３０を介してインターネット１５０に接続し、インターネット１５０上のサーバ１４０と通信可能である。サーバ１４０は、複合機１１０の設定データを管理するサーバ装置である。
【００１５】
サーバ１４０は、複合機１１０の設定データを保持している。このような設定データには、例えば、オートスリープの設定等の電力制御情報、ＩＰアドレスフィルタやＭＡＣアドレスフィルタ等のフィルタ情報等が含まれる。管理者ユーザは、ＰＣ１２０からサーバ１４０にアクセスすることで、サーバ１４０が保持している設定データを変更可能である。複合機１１０は、特定のタイミングにサーバ１４０から設定データを取得して、取得したデータによって自装置の設定データを変更できる。これにより、管理者ユーザがサーバ１４０にアクセスして設定した設定データが、各複合機１１０に設定される。また、管理者ユーザが、複合機１１０に対して設定変更を行った場合、複合機１１０は、変更された設定データをサーバ１４０に通知する。これにより、複合機１１０とサーバ１４０とで設定データの同期が行われる。
【００１６】
＜デジタル複合機のハードウェア構成＞
図２は、本実施形態に係る複合機１１０のハードウェア構成例を示すブロック図である。複合機１１０は、コントローラユニット２００、操作部２２０、スキャナ部２３０、及びプリンタ部２４０を備える。コントローラユニット２００には、操作部２２０が接続されるとともに、画像入力デバイスであるスキャナ部２３０、及び画像出力デバイスであるプリンタ部２４０が接続される。
【００１７】
コントローラユニット２００は、複合機１１０全体の動作を制御するＣＰＵ（Central Processing Unit）２０２を備える。ＣＰＵ２０２は、システムバス２１０を介して、操作部インタフェース（Ｉ／Ｆ）２０１、ＲＡＭ２０３、デバイスＩ／Ｆ２０４、記憶装置２０５、ＲＯＭ（Read Only Memory）２０６、ネットワークＩ／Ｆ２０７、及び画像処理部２０８と接続される。本実施形態の記憶装置２０５は、一例としてＨＤＤ（Hard Disk Drive）である。
【００１８】
ＣＰＵ２０２は、ＲＯＭ２０６に格納されているブートプログラムによってＯＳ（Operating System）を立ち上げる。コントローラユニット２００（ＣＰＵ２０２）は、このＯＳ上で、ＨＤＤ２０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。ＲＡＭ２０３は、ＣＰＵ２０２のための作業領域を提供するとともに、画像データを一時的に記憶するための画像メモリ領域、及びアプリケーションプログラムによって利用されるデータを一時的に記憶するための記憶領域を提供する。ＨＤＤ２０５には、上記のアプリケーションプログラム、画像データ、アプリケーションプログラムが利用するデータ等の、各種のデータが格納される。
【００１９】
操作部Ｉ／Ｆ２０１は、タッチパネルを有する操作部２２０とのインタフェースであり、操作部２２０に表示すべき画像データを操作部２２０に対して出力する。また、操作部Ｉ／Ｆ２０１は、操作部２２０においてユーザにより入力された情報を、ＣＰＵ２０２に送信する。デバイスＩ／Ｆ２０４は、スキャナ部２３０及びプリンタ部２４０とのインタフェースであり、画像データの同期系／非同期系の変換を行う。ネットワークＩ／Ｆ２０７は、ネットワーク１００に接続され、ネットワーク１００を介して接続される各装置との間でデータ通信を行う。画像処理部２０８は、スキャナ部２３０から入力された画像データに対する入力画像処理、プリンタ部２４０へ出力される画像データに対する出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の、各種の画像処理を行う。
【００２０】
＜デジタル複合機のソフトウェア構成＞
次に、複合機１１０の動作を制御するためのアプリケーション（ソフトウェア）として、設定データ管理アプリケーション３００（図３）及び電源管理アプリケーション４００（図４）について説明する。本実施形態では、設定データ管理アプリケーション３００及び電源管理アプリケーション４００に対応するプログラムは、ＨＤＤ２０５またはＲＯＭ２０６に予め格納されている。ＣＰＵ２０２は、ＨＤＤ２０５またはＲＯＭ２０６に格納されたこれらのプログラムをＲＡＭ２０３に読み出して実行することによって、以下で説明する制御を実現する。
【００２１】
（設定データ管理アプリケーション）
図３は、複合機１１０で動作する設定データ管理アプリケーションプログラムの構成例を示すブロック図である。設定データ管理アプリケーション３００は、設定データ管理部３１０と、通信制御部３３０と、電源管理通信部３４０とから構成される。設定データ管理部３１０は、複合機１１０の設定データを管理する。設定データ管理部３１０によって管理される設定データ３１１は、ＨＤＤ２０５、ＲＡＭ２０３、ＲＯＭ２０６等の記憶デバイスに保存される。通信制御部３３０は、複数の機能ブロックから構成され、ネットワークＩ／Ｆ２０７を介して行う通信の制御を行う。電源管理通信部３４０は、複合機１１０の電源の制御状態（電源状態）に関する情報について、後述する電源管理アプリケーション４００との通信を行う。また、電源管理通信部３４０は、電源管理アプリケーション４００から受信した情報を、通信制御部３３０に通知する。
【００２２】
通信制御部３３０は、通信制御部３３０全体を制御する制御部３３１と、設定データの同期タイミングを管理するタイミング管理部３３２と、ネットワークＩ／Ｆ２０７を介した通信処理を行う通信処理部３３３とから構成される。
【００２３】
通信制御部３３０において、制御部３３１は、タイミング管理部３３２によって管理される同期タイミングになったことを検知すると、通信処理部３３３に対して、サーバ１４０への差分データの取得要求を行う。通信処理部３３３は、設定データ管理部３１０によって管理される設定データ３１１とサーバ１４０によって管理される設定データとの間に差分があるか否かを、サーバ１４０に問い合わせる。サーバ１４０への問い合わせの結果、差分があった場合は、制御部３３１は、サーバ１４０から差分データを取得するとともに、設定データ管理部３１０に対して、取得した差分データの反映を指示する。設定データ管理部３１０は、サーバ１４０から取得された差分データを、設定データ３１１に上書きすることで、設定データ３１１に対して差分データを反映させる。サーバ１４０への問い合わせの結果、差分がなかった場合、制御部３３１は、何らの処理も行わない。
【００２４】
本実施形態で、複合機１１０とサーバ１４０との間では、複数の通信コネクションを確立することができる。通信処理部３３３は、サーバ１４０に対する差分データの問い合わせに使用する一時的な通信コネクション（以下「一時コネクション」と称する。）を管理する。通信処理部３３３は、更に、サーバ１４０との間で長時間にわたって維持する常時的な通信コネクション（以下、「常時コネクション」と称する。）も管理する。通信処理部３３３は、サーバ１４０に保持されている複合機１１０の設定データが変更（更新）されたことを示す、設定データの更新通知を、常時コネクションを通じてサーバ１４０から受信しうる。通信処理部３３３は、設定データの更新通知をサーバ１４０から受信した場合、設定データの変更（更新）を制御部３３１に通知する。このような常時コネクションは、例えばネットワークプロトコルの１つであるＷｅｂＳｏｃｋｅｔを用いて実現可能であるが、他の方法（プロトコル）で実現されてもよい。
【００２５】
（電源管理アプリケーション）
図４は、複合機１１０で動作する電源管理アプリケーションプログラムのブロック構成図である。電源管理アプリケーション４００は、制御部４１０と、監視部４２０と、モジュール通信部４３０とから構成される。制御部４１０は、電源管理アプリケーション４００全体を制御し、後述する各機能ブロックに対する処理の実行指示、及びその実行結果の取得を行うことにより、複合機１１０の電源制御を実現する。監視部４２０は、復帰条件監視部４２１とスリープ条件監視部４２２とから構成される。
復帰条件監視部４２１とスリープ条件監視部４２２は、それぞれ、複合機１１０の動作状態を監視して、複合機１１０の各電源状態（図９）への移行条件（即ち、スリープ復帰条件及びスリープ移行条件）が満たされたか否かをそれぞれ判定する。
【００２６】
ここで、図９は、複合機１１０の電源の制御状態（電源状態）の遷移を示す状態遷移図である。図９に示すように、複合機１１０は、電源状態として、通常状態９１０と、スリープ移行状態９２０と、スリープ状態９３０と、スリープ復帰状態９４０とを有する。
【００２７】
通常状態９１０は、図２に示す、複合機１１０内の各構成ユニット（複数のデバイス）に通電（電力が供給）されており、複合機１１０が通常動作可能な状態である。通常状態９１０において、複合機１１０の電源状態をスリープ状態９３０へ移行させるための所定のスリープ移行条件が満たされると、複合機１１０の電源状態は、スリープ移行状態９２０に遷移する。スリープ移行条件は、例えば、複合機１１０が何らの動作（ジョブ）も実行しない状態で所定の時間が経過したこと、または、操作部２２０に設けられた、スリープ状態への移行／復帰用のボタンが押下されたことである。
【００２８】
スリープ移行状態９２０は、通常状態９１０からスリープ状態９３０へと移行する間の過渡状態である。具体的には、スリープ状態９３０において通電を必要とする構成ユニットを除くユニットへの通電を遮断し、またプリンタ部２４０の駆動エンジンが一定温度以下にクールダウンさせるなどのスリープ移行処理を実行している状態である。スリープ移行処理が完了した場合はスリープ状態９３０に遷移する。ただし、スリープ移行処理の途中で、後述する所定のスリープ復帰条件が満たされた場合には、後述するスリープ復帰状態に遷移する。このように、スリープ移行状態９２０は、複合機１１０の電源状態をスリープ状態９３０へ移行させるための処理（スリープ処理処理）が行われている状態である。即ち、スリープ移行状態９２０は、複合機１１０の電源状態が、スリープ状態９３０に移行する可能性がある状態に相当する。
【００２９】
スリープ状態９３０は、前述のスリープ移行処理が完了し、複合機１１０内の構成ユニットのうちの一部の構成ユニットのみが通電されている状態であり、即ち、複合機１１０が備える複数のデバイスのうちの一部に通電させるスリープ状態の一例である。本実施形態では、スリープ状態９３０にある複合機１１０では、ＲＡＭ２０３、及びネットワークＩ／Ｆ２０７の一部のみが通電される。このとき、ネットワークＩ／Ｆ２０７内で、通信処理部３３３による上述のような処理に必要な部分には通電されない。このため、スリープ状態９３０では、通信処理部３３３は、サーバ１４０との間で上述の一時コネクション及び常時コネクションを維持することはできない。一方、ネットワークＩ／Ｆ２０７内で、例えば外部のＰＣ１２０からプリント指示等の、ハードウェア割り込みを受信する部分は通電される。ネットワークＩ／Ｆ２０７は、スリープ状態９３０においてそのようなハードウェア割り込みを受信すると、ＣＰＵ２０２に対する動作指示を行う。この動作指示に応じて、ＣＰＵ２０２は、ＲＡＭ２０３にロードされた電源管理アプリケーション４００を実行し、スリープ復帰状態９４０に移行するためのスリープ復帰処理を実行する。なお、スリープ復帰条件には、ネットワークＩ／Ｆ２０７によるハードウェア割り込みの受信の他に、上述の、スリープ状態への移行／復帰用のボタンが押下された場合が含まれる。
【００３０】
なお、スリープ状態９３０は、上述のような状態に限らず、例えば、より細かい（複数の）状態に分割されてもよく、分割された各状態において、異なる数の構成ユニットが対して段階的に通電されてもよい。
【００３１】
スリープ復帰状態９４０は、電源管理アプリケーション４００による（後述する）スリープ復帰処理の実行により、スリープ状態９３０から通常状態９１０へと移行する間の過渡状態である。スリープ復帰処理の実行が完了すると、複合機１１０は、通常状態９１０で動作する。
【００３２】
ここで、図４の説明に戻り、復帰条件監視部４２１は、複合機１１０の電源状態をスリープ状態９３０から復帰させるための、上述のスリープ復帰条件に係る複合機１１０の動作状態を監視する。復帰条件監視部４２１は、スリープ復帰条件が満たされた場合に、制御部４１０にその旨を通知する。また、スリープ条件監視部４２２は、上述のスリープ移行条件に係る複合機１１０の動作状態を監視し、スリープ移行条件が満たされた場合に、制御部４１０にその旨を通知する。
【００３３】
モジュール通信部４３０は、通知部４３１と受信部４３２とから構成され、複合機１１０の電源状態に関する情報について、各アプリケーションモジュールと通信する。通知部４３１は、各アプリケーションモジュールに情報を通知する。受信部４３２は、各アプリケーションモジュールから通知される情報を受信する。通知部４３１は、制御部４１０からの指示に基づいて、各アプリケーションモジュールに対して、スリープ状態９３０への移行を示すスリープ移行通知を送信する。受信部４３２は、通知部４３１からのスリープ移行通知を受信した各アプリケーションモジュールから返信される、スリープ移行準備処理の実行結果を受信し、それを制御部４１０に通知する。
【００３４】
なお、複合機１１０のアプリケーションモジュールには、設定データ管理アプリケーション３００及び電源管理アプリケーション４００以外にも、様々なアプリケーションモジュールが存在する。例えば、プリント、スキャン等の画像形成に係る動作を制御するためのアプリケーション、複合機１１０全体のネットワーク状態を管理するためのアプリケーション、操作部２２０に表示する内容を制御するためのアプリケーション等に対応する、アプリケーションモジュールが存在する。複合機１１０では、ＣＰＵ２０２が、これら複数のアプリケーションモジュールを並列に動作させることで、プリント、スキャン等の種々の機能を実現している。
【００３５】
＜スリープ移行処理＞
図５は、複合機１１０において電源管理アプリケーション４００によって実行される、スリープ移行処理の手順を示すフローチャートである。図５に示す各ステップの処理は、ＣＰＵ２０２が、電源管理アプリケーション４００をＨＤＤ２０５またはＲＯＭ２０６からＲＡＭ２０３に読み出して実行することによって、図４に示す各機能ブロックによる処理として複合機１１０上で実現される。
【００３６】
まずＳ５０１で、スリープ条件監視部４２２は、上述のスリープ移行条件に係る複合機１１０の動作状態を監視し、スリープ移行条件が満たされたか否かを判定する。スリープ条件監視部４２２は、スリープ移行条件が満たされていない限り、Ｓ５０１の判定を繰り返し、満たされた場合には、スリープ移行条件が満たされたことを制御部４１０に通知して、処理をＳ５０２に進める。
【００３７】
Ｓ５０２で、制御部４１０は、各アプリケーションモジュールに対して、スリープ状態９３０への移行を示すスリープ移行通知を送信するよう、通知部４３１に指示する。通知部４３１は、制御部４１０からの当該指示に従って、各アプリケーションモジュールに対してスリープ移行通知を送信する。次にＳ５０３で、受信部４３２は、スリープ移行通知の送信対象となった全てのアプリケーションモジュールから、スリープ状態９３０への移行準備が完了したことを示す通知の受信を監視する。これにより、受信部４３２は、全てのアプリケーションモジュールにおいてスリープ状態９３０への移行準備が完了したか否かを判定する。受信部４３２は、そのような全てのアプリケーションモジュールから通知を受信すると（Ｓ５０３で「ＹＥＳ」）、全てのアプリケーションモジュールにおいてスリープ状態９３０への移行準備が完了したことを制御部４１０に通知して、処理をＳ５０４に進める。それ以外の場合、受信部４３２は、Ｓ５０３の判定を繰り返す。
【００３８】
Ｓ５０４で、制御部４１０は、スリープ移行処理を実行する。これにより、複合機１１０の電源状態は、通常状態９１０からスリープ移行状態９２０に遷移する。スリープ移行処理の実行が完了すると、複合機１１０の電源状態は、スリープ移行状態９２０からスリープ状態９３０へ遷移する。以上により、図５に示すスリープ移行処理が終了する。
【００３９】
＜スリープ復帰処理＞
図６は、複合機１１０において電源管理アプリケーション４００によって実行される、スリープ復帰処理の手順を示すフローチャートである。図６に示す手順は、複合機１１０の電源状態がスリープ移行状態９２０またはスリープ状態９３０である場合に実行される。図６に示す各ステップの処理は、ＣＰＵ２０２が、電源管理アプリケーション４００をＨＤＤ２０５またはＲＯＭ２０６からＲＡＭ２０３に読み出して実行することによって、図４に示す各機能ブロックによる処理として複合機１１０上で実現される。
【００４０】
まずＳ６０１で、復帰条件監視部４２１は、上述のスリープ復帰条件に係る複合機１１０の動作状態を監視し、スリープ復帰条件が満たされたか否かを判定する。復帰条件監視部４２１は、スリープ復帰条件が満たされていない限り、Ｓ６０１の判定を繰り返し、満たされた場合には、スリープ復帰条件が満たされたことを制御部４１０に通知して、処理をＳ６０２に進める。
【００４１】
Ｓ６０２で、制御部４１０は、各アプリケーションモジュールに対して、通常状態９１０への復帰を示すスリープ復帰通知を送信するよう、通知部４３１に指示する。このとき、複合機１１０の電源状態は、スリープ状態９３０からスリープ復帰状態９４０に遷移する。通知部４３１は、制御部４１０からの当該指示に従って、各アプリケーションモジュールに対してスリープ復帰通知を送信する。その結果、複合機１１０の電源状態が、スリープ復帰状態９４０から通常状態９１０に遷移する。図６に示すスリープ復帰処理が終了する。
【００４２】
＜更新通知に基づく設定データの更新処理＞
次に、図７及び図８を参照して、上述の電源管理アプリケーション４００による処理に基づいて、設定データ管理アプリケーション３００によって実行される処理について説明する。
まず、図７は、サーバ１４０に保持されている複合機１１０の設定データが更新された場合に、設定データ管理アプリケーション３００によって実行される処理の手順を示すフローチャートである。図７に示す各ステップの処理は、ＣＰＵ２０２が、設定データ管理アプリケーション３００をＨＤＤ２０５またはＲＯＭ２０６からＲＡＭ２０３に読み出して実行することによって、図３に示す各機能ブロックによる処理として複合機１１０上で実現される。なお、本実施形態で、常時コネクションは、複合機１１０の電源状態がスリープ状態９３０ではない間に維持される、サーバ１４０から更新通知を受信するための第１のコネクションの一例である。また、一時コネクションは、サーバ１４０から設定データを取得する際にのみ確立される、サーバ１４０から設定データを取得するために第２のコネクションの一例である。
【００４３】
図７に示す手順は、複合機１１０で使用すべき設定データを保持するサーバ１４０との間で、通信処理部３３３が管理する常時コネクションが維持された状態、即ち、複合機１１０の電源状態がスリープ状態９３０以外の状態である間に実行される。この状態で、複合機１１０は、常時コネクションを介して、サーバ１４０と通信可能な状態にある。まずＳ７０１で、通信処理部３３３は、サーバ１４０で保持されている複合機１１０の設定データが変更（更新）されたことを示す、設定データの更新通知を、サーバ１４０から受信したか否かを判定する。通信処理部３３３は、更新通知を受信していない場合には、判定を繰り返し、更新通知を受信した場合には、更新通知の受信を制御部３３１に通知して、処理をＳ７０２に進める。
【００４４】
Ｓ７０２で、制御部３３１は、複合機１１０内の設定データをサーバ１４０に保持されている設定データと同期させるタイミングに関する判定を実行するよう、タイミング管理部３３２に指示する。即ち、制御部３３１は、サーバ１４０との設定データの同期を即座に実行するか否かに関する判定を実行するよう、タイミング管理部３３２に指示する。タイミング管理部３３２は、制御部３３１からこのような指示を受けると、電源管理通信部３４０が電源管理アプリケーション４００から受信した、複合機１１０の電源状態に関する情報に基づいて、現在の複合機１１０の電源状態を判定する。
【００４５】
具体的には、タイミング管理部３３２は、現在の複合機１１０の電源状態がスリープ移行状態９２０であるか否かを判定する。即ち、タイミング管理部３３２は、複合機１１０の電源状態が、スリープ状態９３０へ移行する可能性があるか否かを判定する。電源状態が通常状態９１０またはスリープ復帰状態９４０である（スリープ状態９３０へ移行する可能性がない）場合（Ｓ７０２で「ＮＯ」）、タイミング管理部３３２は、サーバ１４０との設定データの同期を即座に実行可能であると判定する。更に、タイミング管理部３３２は、その判定結果を制御部３３１に通知して、処理をＳ７０３に進める。一方、電源状態がスリープ移行状態９２０である（スリープ状態９３０へ移行する可能性がある）場合（Ｓ７０２で「ＹＥＳ」）、タイミング管理部３３２は、サーバ１４０との設定データの同期を即座には実行できないと判定し、処理をＳ７０５に進める。
【００４６】
Ｓ７０３で、制御部３３１は、通信処理部３３３に対して、変更された設定データをサーバ１４０から取得するよう指示する。当該指示に応じて、通信処理部３３３は、サーバ１４０との間に上述の一時コネクションを確立し、確立した一時コネクションを使用して、サーバ１４０からの変更された設定データの取得処理を実行する。その後、通信処理部３３３は、確立した一時コネクションを切断し、サーバ１４０から取得した設定データを設定データ管理部３１０に送信する。設定データ管理部３１０は、Ｓ７０４で、通信処理部３３３から受信した設定データを、複合機１１０の設定データとして設定データ３１１に反映させることで、複合機１１０で使用すべき設定データを更新する更新処理を実行する。設定データの反映が完了すると、処理が終了する。
【００４７】
一方、Ｓ７０５では、タイミング管理部３３２は、設定データの更新通知をサーバ１４０から受信したことを示す情報（更新情報）を、不揮発性記憶領域（本実施形態では一例としてＨＤＤ２０５とする。）に格納し、その旨を制御部３３１に通知した後、処理を終了する。これにより、電源状態がスリープ状態９３０に移行して、スリープ状態９３０から復帰した後に、設定データ３１１の更新処理（Ｓ８０４）が実行されることになる。なお、更新情報は、ＨＤＤ２０５以外の記憶領域（例えばＲＡＭ２０３）に格納されてもよい。
【００４８】
＜スリープ復帰時の設定データの更新処理＞
図８は、電源管理アプリケーション４００から、スリープ復帰通知（Ｓ６０２）を受信した場合に、設定データ管理アプリケーション３００によって実行される処理の手順を示すフローチャートである。図８に示す各ステップの処理は、ＣＰＵ２０２が、設定データ管理アプリケーション３００をＨＤＤ２０５またはＲＯＭ２０６からＲＡＭ２０３に読み出して実行することによって、図３に示す各機能ブロックによる処理として複合機１１０上で実現される。
【００４９】
図８に示す手順は、複合機１１０の電源状態がスリープ移行状態９２０またはスリープ状態９３０である間に実行される。まずＳ８０１で、受信部３４２は、電源管理アプリケーション４００（の通知部４３１）から、通常状態９１０への復帰を示すスリープ復帰通知を受信したか否かを判定する。受信部３４２は、スリープ復帰通知を受信していない場合には、判定を繰り返し、スリープ復帰通知を受信した場合には、スリープ復帰通知の受信を通信制御部３３０の制御部３３１に通知して、処理をＳ８０２に進める。
【００５０】
Ｓ８０２で、制御部３３１は、復帰通知の受信が通知されると、通信処理部３３３に対して、サーバ１４０との間に現在、常時コネクションが確立されているか否かを問い合わせることで、常時コネクションが確立されているかを判定する。その結果、常時コネクションが確立されていない場合（Ｓ８０２で「ＮＯ」）、制御部３３１は、受信部３４２が電源管理アプリケーション４００から受信したスリープ復帰通知が、スリープ状態９３０からの復帰を示すと判定し、処理をＳ８０６に進める。これは、スリープ状態９３０では常時コネクションは切断された状態であるためである。
【００５１】
Ｓ８０６で、通信処理部３３３は、サーバ１４０との間に常時コネクションを確立した上で、Ｓ８０４及びＳ８０５の処理を順に実行する。Ｓ８０４及びＳ８０５では、Ｓ７０３及びＳ７０４と同様の手順により、サーバ１４０からの設定データの取得、及びサーバ１４０から取得した設定データの設定データ３１１への反映が行われ、処理が終了する。
【００５２】
一方、常時コネクションが確立されている場合（Ｓ８０２で「ＹＥＳ」）、制御部３３１は、受信部３４２が電源管理アプリケーション４００から受信したスリープ復帰通知が、スリープ移行状態９２０のからの復帰を示すと判定し、処理をＳ８０３に進める。これは、スリープ移行状態９２０（スリープ状態９３０以外の状態）では、常時コネクションは確立された状態であるためである。
【００５３】
Ｓ８０３で、制御部３３１は、複合機１１０内の設定データをサーバ１４０に保持されている設定データと同期させるタイミングに関する判定を実行するよう、タイミング管理部３３２に指示する。即ち、制御部３３１は、サーバ１４０との設定データの同期を即座に実行するか否かに関する判定を実行するよう、タイミング管理部３３２に指示する。
【００５４】
タイミング管理部３３２は、制御部３３１からこのような指示を受けると、設定データの更新通知をサーバ１４０から受信したことを示す情報（更新情報）が、現在、ＨＤＤ２０５に格納されているか否かを判定する。ここで、スリープ移行状態９２０において更新通知をサーバ１４０から受信した場合（Ｓ７０２で「ＹＥＳ」の場合）、更新情報がＨＤＤ２０５に格納されている。判定の結果、更新情報がＨＤＤ２０５に格納されていない場合（Ｓ８０３で「ＮＯ」）、タイミング管理部３３２は、サーバ１４０との設定データの同期を実行する必要がないことを制御部３３１に通知し、処理を終了する。一方、更新情報がＨＤＤ２０５に格納されている場合（Ｓ８０３で「ＹＥＳ」）、サーバ１４０との設定データの同期を実行する必要があることを制御部３３１に通知し、処理をＳ８０４に進める。その際、タイミング管理部３３２は、ＨＤＤ２０５に格納された更新情報を削除する。
【００５５】
その後、Ｓ８０４では、Ｓ７０３と同様の手順により、サーバ１４０からの設定データの取得が行われる。更に、Ｓ８０５では、Ｓ７０４と同様の手順により、サーバ１４０から取得した設定データの設定データ３１１への反映が行われ、処理が終了する。このように、複合機１１０の電源状態がスリープ状態９３０から復帰する際に（Ｓ８２０で「ＹＥＳ」）、ＨＤＤ２０５に更新情報が格納されている場合（Ｓ８０３で「ＹＥＳ」）、Ｓ８０３及びＳ８０４において、設定データの更新処理が行われる。
【００５６】
以上の処理手順における、設定データの反映処理（Ｓ７０４）に要する時間は、通信処理部３３３がサーバ１４０から取得した設定データのサイズ等（及び数）が増大するに従って、長くなる。したがって、複合機１１０がスリープ移行状態９２０にある場合に設定データの反映処理を開始すると、設定データのサイズ等に依存して、設定データの反映が完了する前に、スリープ状態９３０への移行が完了してしまう可能性がある。この場合、スリープ状態９３０ではＣＰＵ２０２に対する通電が遮断されてしまうために、設定データの反映処理が完了していない状態で（例えば、一部の設定データが反映されていない状態で）、処理が強制的に終了してしまうことになる。その結果、複合機１１０は、各アプリケーションによって使用される設定データが、意図された変更が行われていない状態で、その後にスリープ状態９３０から通常状態９１０に復帰することになり、その動作に不具合が生じる可能性がある。
【００５７】
これに対して、本実施形態における上述の処理手順によれば、複合機１１０においてこのような動作の不具合が生じることを防ぐことが可能である。具体的には、ＣＰＵ２０２は、常時コネクションを通じてサーバ１４０から設定データの更新通知を受信すると、複合機１１０が備える複数のデバイスに対する電源の制御状態（電源状態）がスリープ移行状態９２０であるか否かを判定する。即ち、ＣＰＵ２０２は、電源状態がスリープ状態９３０へ移行する可能性があるか否かを判定する。ＣＰＵ２０２は、電源状態がスリープ移行状態９２０である場合には、電源状態がスリープ状態９３０から復帰した後に、サーバ１４０との設定データの同期（Ｓ８０４，Ｓ８０５）を実行する。即ち、ＣＰＵ２０２は、ＣＰＵ２０２は、スリープ状態９３０に移行する可能性のない電源状態にのみ、サーバ１４０との設定データの同期（Ｓ７０３，Ｓ７０４）を即座に実行する。このため、上述のように、設定データの反映処理の途中で複合機１１０がスリープ状態９３０へ移行してしまうことがなく、複合機１１０の動作に不具合が生じることを防ぐことが可能である。
【００５８】
加えて、上述の処理手順によれば、スリープ移行状態９２０から、スリープ状態９３０に至ることなく、スリープ復帰状態９４０を経て通常状態９１０に移行する場合には、通信処理部３３３は、サーバ１４０との間で常時コネクションを維持する。即ち、通信処理部３３３は、スリープ状態９３０へ移行する可能性があると判定された後に（Ｓ７０２で「ＹＥＳ」）、スリープ状態９３０への移行が中止され、通常状態９１０に移行するときは、常時コネクションを切断することなく維持する。このため、サーバ１４０との間に常時コネクションを新たに確立する必要なく、サーバ１４０との設定データの同期を実行することが可能である。したがって、スリープ移行状態９２０から通常状態９１０へ復帰する際に設定データの同期が必要な場合に、常時コネクションの確立に要する処理時間を削減することが可能であり、サーバ１４０との設定データの同期を即時に実行可能である。
【００５９】
なお、本実施形態では、図７及び図８に示す処理手順を複合機１１０が実行する例を示したが、他の情報処理装置（ＰＣ１２０等）が実行することも可能である。また、スリープ復帰条件は、上述のような、ネットワークＩ／Ｆ２０７へのハードウェア割り込み、またはスリープ状態への移行／復帰用ボタンの押下に限られず、他の条件が追加されてもよい。例えば、複合機１１０の給紙段を開くこと、及び予めスリープ復帰時刻として設定データで定められた時刻に達したこと等の条件も、スリープ復帰条件に加えられてもよい。
【００６０】
［第２の実施形態］
第１の実施形態では、設定データ管理アプリケーション３００は、サーバ１４０から設定データの更新通知を受信し、複合機１１０の電源状態がスリープ移行状態９２０である場合（Ｓ７０２で「ＹＥＳ」）、サーバ１４０からすぐには設定データを取得しない。この場合、設定データ管理アプリケーション３００は、電源管理アプリケーション４００からスリープ復帰通知を受信した後に（Ｓ８０１で「ＹＥＳ」）、設定データをサーバ１４０から取得する（Ｓ８０４）。これに対して、第２の実施形態では、複合機１１０の電源状態がスリープ移行状態９２０である場合であっても、更新通知に基づいて、すぐに設定データの取得を行う例を示す。なお、説明の簡略化のため、第１の実施形態と共通する部分の説明については説明を適宜省略する。
【００６１】
＜更新通知に基づく設定データの更新処理＞
図１０は、本実施形態に係る、サーバ１４０に保持されている複合機１１０の設定データが更新された場合に、設定データ管理アプリケーション３００によって実行される処理の手順を示すフローチャートである。図１０は、第１の実施形態の図７と対応している。
【００６２】
図１０において、図７と異なる部分は、Ｓ７０５において更新情報をＨＤＤ２０５に格納した後の処理である。本実施形態では、Ｓ７０５の処理の後、タイミング管理部３３２は、処理をＳ１００１に進める。Ｓ１００１で、制御部３３１は、Ｓ７０３と同様、通信処理部３３３に対して、変更された設定データをサーバ１４０から取得するよう指示する。これにより、当該指示に応じて、通信処理部３３３は、サーバ１４０との間に上述の一時コネクションを確立し、確立した一時コネクションを使用して、サーバ１４０からの変更された設定データの取得処理を実行する。その後、通信処理部３３３は、確立した一時コネクションを切断し、処理をＳ１００２に進める。Ｓ１００２で、通信処理部３３３は、取得した設定データを、揮発性記憶領域（本実施形態では一例としてＲＡＭ２０３とする。）に格納し、処理を終了する。なお、Ｓ１００２において、設定データは、ＲＡＭ２０３ではなく、ＨＤＤ２０５等の他の記憶デバイスに格納されてもよい。
【００６３】
＜スリープ復帰時の設定データの更新処理＞
図１１は、本実施形態に係る、電源管理アプリケーション４００から、スリープ復帰通知（Ｓ６０２）を受信した場合に、設定データ管理アプリケーション３００によって実行される処理の手順を示すフローチャートである。図１１は、第１の実施形態の図８と対応している。
【００６４】
図１１において、図８と異なる部分は、Ｓ８０３において、更新情報がＨＤＤ２０５に格納されていると判定された（Ｓ８０３で「ＹＥＳ」）後の処理、及び、Ｓ８０６で常時コネクションが確立された後の処理である。本実施形態では、これらの場合、次にＳ１１０１の処理が実行される。Ｓ１１０１で、制御部３３１は、タイミング管理部３３２に、設定データをサーバ１４０から取得するタイミングの判定、即ち、サーバ１４０からの設定データの取得を実行すべきか否かの判定を指示する。
【００６５】
当該指示を受けると、タイミング管理部３３２は、サーバ１４０から取得された設定データがＲＡＭ２０３に格納されているか否かを判定する。タイミング管理部３３２は、当該判定の結果、取得された設定データがＲＡＭ２０３に格納されていた場合（Ｓ１１０１で「ＹＥＳ」）、設定データの取得が不要であることを制御部３３１に通知するとともに、設定データ管理部３１０に設定データを送信する。その後、Ｓ８０５で、Ｓ８０５では、Ｓ７０４と同様の手順により、ＲＡＭ２０３に格納されていた設定データの設定データ３１１への反映が行われ、処理が終了する。一方、タイミング管理部３３２は、設定データがＲＡＭ２０３に格納されていない場合（Ｓ１１０１で「ＮＯ」）、処理をＳ８０４に進める。その後、第１の実施形態と同様、Ｓ８０４では、Ｓ７０３と同様の手順により、サーバ１４０からの設定データの取得が行われる。更に、Ｓ８０５では、Ｓ７０４と同様の手順により、サーバ１４０から取得した設定データの設定データ３１１への反映が行われ、処理が終了する。
【００６６】
このように、本実施形態では、ＣＰＵ２０２（設定データ管理アプリケーション３００）は、複合機１１０の電源状態がスリープ移行状態９２０であっても、サーバ１４０から受信した設定データの更新通知に基づいて、設定データを取得する（Ｓ１００１）。更に、ＣＰＵ２０２（設定データ管理アプリケーション３００）は、ＲＡＭ２０３に格納されている設定データを用いて、設定データの更新を実行する（Ｓ１１０１で「ＹＥＳ」）。したがって、スリープ移行状態９２０からスリープ復帰状態９４０を経て通常状態９１０に遷移した際に、サーバ１４０との設定データの同期に要する時間を短くすることが可能となる。
【００６７】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６８】
１１０：複合機、１４０：サーバ、２００：コントローラユニット、２０２：ＣＰＵ、３００：設定データ管理アプリケーション、３１０：設定データ管理部、３３０：通信制御部、３４０：電源管理通信部、４００：電源管理アプリケーション
【図１】
2016020034.tif 000003
【図２】
2016020034.tif 000004
【図３】
2016020034.tif 000005
【図４】
2016020034.tif 000006
【図５】
2016020034.tif 000007
【図６】
2016020034.tif 000008
【図７】
2016020034.tif 000009
【図８】
2016020034.tif 000010
【図９】
2016020034.tif 000011
【図１０】
2016020034.tif 000012
【図１１】
2016020034.tif 000013