JP2017227990A - 画像処理装置及び時刻管理方法及びプログラム - Google Patents
画像処理装置及び時刻管理方法及びプログラム Download PDFInfo
- Publication number
- JP2017227990A JP2017227990A JP2016122052A JP2016122052A JP2017227990A JP 2017227990 A JP2017227990 A JP 2017227990A JP 2016122052 A JP2016122052 A JP 2016122052A JP 2016122052 A JP2016122052 A JP 2016122052A JP 2017227990 A JP2017227990 A JP 2017227990A
- Authority
- JP
- Japan
- Prior art keywords
- time
- sleep mode
- processing apparatus
- image processing
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Control Or Security For Electrophotography (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】サーバから取得した基準時刻を基に、画像処理装置において高精度な時刻を提供する。
【解決手段】アプリPF330は、画像処理装置100のスリープモード状態遷移時に画像処理装置100の現在時刻をスリープモード遷移時刻として記憶する(S411−S415)。アプリPF330は、画像処理装置100のスリープモード状態復帰時に画像処理装置100の現在時刻をスリープモード復帰時刻として記憶し(S417−S422)、記憶した2つの時刻情報の差分を基準時刻に加算する。
【選択図】図4
【解決手段】アプリPF330は、画像処理装置100のスリープモード状態遷移時に画像処理装置100の現在時刻をスリープモード遷移時刻として記憶する(S411−S415)。アプリPF330は、画像処理装置100のスリープモード状態復帰時に画像処理装置100の現在時刻をスリープモード復帰時刻として記憶し(S417−S422)、記憶した2つの時刻情報の差分を基準時刻に加算する。
【選択図】図4
Description
本発明は、画像処理装置及び時刻管理方法及びプログラムに関し、例えば特に省電力状態として複数の待機電源モード(以下、「スリープモード」)を備える画像処理装置における、スリープモード中の経過時間を取得可能とする、アプリケーションプログラム(以下、「アプリ」)管理を行うプラットフォーム(以下、「PF」)に関する。
画像処理装置(Multi Function Peripheralなど)などの情報処理装置は一般的に、スキャナやプリンタなどの各種機能をアプリ単位で動作させるアプリPF環境を有している。また、アプリPF上で動作するアプリには、アプリに関するライセンス情報を記載したライセンスファイルが対応して存在し、以下のように使用される。例えば、アプリPFは、ライセンスファイルが存在しないアプリをインストールしないように制御する。あるいは、インストール済みのアプリのライセンスファイル記載の使用期限が切れていた場合にアプリの動作を停止する、などである。ライセンスファイルの有効期限を確認するため、アプリPFは情報処理装置のシステムの現在時刻を元に確認を行っている。しかし、情報処理装置のシステム時刻はユーザ操作によって変更可能であるため、ユーザが時刻を変更することでライセンス期限切れのアプリを不正使用できてしまう。そこで、アプリPFにより外部の時刻サーバの時刻を取得し、サーバの時刻を基準にしてライセンスファイルの有効期限の確認を行うという方法がある。この方法では、世界中の情報処理装置からサーバへ問い合わせが発生してしまいサーバ負荷が大きくなってしまう。そのため、アプリPF上の時刻管理アプリにより、時刻サーバから取得した時刻に、情報処理装置上でのオペレーションシステム(以下、「OS」)の起動後経過時間を加算することで、時刻サーバ負荷を減らし時刻を補正するアイデアがある。
また、情報処理装置では、通常の起動状態と比べると電力を節約でき、起動中のプログラムを終了させずに素早くリブートを可能とするスリープモードを機能として備えている。
情報処理装置には、スリープモードとして複数のモードを有しているものがある。例えば、情報処理装置の液晶パネルなど操作画面のバックライトをOFFにする、スリープ時の消費電力は多いが復帰時間を短くするモードや、情報処理装置のCPUを停止する、スリープ時の消費電力は少ないが復帰時間が長くなるモード、などである。後者のスリープモードの場合、CPUが停止しているため、情報処理装置ではOSのタイマーや起動後経過時間の情報が更新されない状況が発生する。そのため、アプリを併せ持つ情報処理装置では、スリープモード中の経過時間を、情報処理装置のOS起動後経過時間から取得することができない。これにより、スリープ中の時間はアプリPFにより管理される現在時刻に反映されず、本来のライセンス期間を渡過してもアプリが使用できる場合があり得た。 本発明は上記問題を鑑みてなされたものであり、サーバから取得した時刻に、スリープモード中の経過時間も反映した正確な時間管理を実現することを目的とする。
上記課題を解決するために、本発明の一側面によれば、本発明に係る画像処理装置は、消費電力を低減するスリープモードを動作モードとして有し、スリープモードでも計測されるシステム時刻およびスリープモードでは計測されない起動後経過時間をそれぞれ提供する機能を有する画像処理装置であって、
起動時にサーバから基準時刻を取得して記憶手段に記憶する取得手段と、
前記記憶手段に記憶した前記基準時刻に、前記起動後経過時間を加えて前記基準時刻を更新する第1の更新手段と、
前記スリープモードに遷移する前および前記スリープモードから復帰した後それぞれにおいて前記システム時刻を取得し、それぞれの前記システム時刻の差分を前記基準時刻に加えて前記基準時刻を更新する第2の更新手段とを有する。
起動時にサーバから基準時刻を取得して記憶手段に記憶する取得手段と、
前記記憶手段に記憶した前記基準時刻に、前記起動後経過時間を加えて前記基準時刻を更新する第1の更新手段と、
前記スリープモードに遷移する前および前記スリープモードから復帰した後それぞれにおいて前記システム時刻を取得し、それぞれの前記システム時刻の差分を前記基準時刻に加えて前記基準時刻を更新する第2の更新手段とを有する。
また本発明の他の側面によれば、本発明に係る画像処理装置は、消費電力を低減するスリープモードを動作モードとして有し、スリープモードでも計測されるシステム時刻を提供する機能を有する画像処理装置であって、
前記スリープモードに遷移する前にシステム時刻を取得し、記憶する取得手段と、
前記スリープモードに遷移する前に取得した前記システム時刻を、前記スリープモードに遷移する直前の時刻として、前記画像処理装置にインストールされたアプリケーションに通知する通知手段とを有する。
前記スリープモードに遷移する前にシステム時刻を取得し、記憶する取得手段と、
前記スリープモードに遷移する前に取得した前記システム時刻を、前記スリープモードに遷移する直前の時刻として、前記画像処理装置にインストールされたアプリケーションに通知する通知手段とを有する。
本発明によれば、サーバから取得した時刻に、スリープモード中の経過時間も反映した正確な時間管理を実現することが可能となる。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
[実施例1]
本実施形態のシステム構成について、図1から図3を用いて説明する。
本実施形態のシステム構成について、図1から図3を用いて説明する。
<システム構成>
図1は、本実施形態の情報処理システム全体の構成例である。本システムは、ネットワーク102を介して接続された画像処理装置100と情報処理装置101とから構成される。画像処理装置100は、画像形成機能、画像読取機能、画像送信機能などの各種画像処理機能を有する装置である。また、画像処理装置100は、アプリケーションプログラム(アプリ)をインストールして実行するためのプラットフォームを備えている。詳しくは図3を参照して説明する。なお、画像処理装置100は、プリンタ、コピー、ファクス及びスキャナや、それら複数の機能を一台の筐体で実現するMulti Functional Peripheralでもよい。情報処理装置101は、コンピュータなどの情報処理装置である。本実施形態では、基準の時刻の情報となるサーバ標準時刻(不図示)を有し、ネットワーク102を介して時刻の問い合わせを受けた際に前記標準時刻を返すものとする。
図1は、本実施形態の情報処理システム全体の構成例である。本システムは、ネットワーク102を介して接続された画像処理装置100と情報処理装置101とから構成される。画像処理装置100は、画像形成機能、画像読取機能、画像送信機能などの各種画像処理機能を有する装置である。また、画像処理装置100は、アプリケーションプログラム(アプリ)をインストールして実行するためのプラットフォームを備えている。詳しくは図3を参照して説明する。なお、画像処理装置100は、プリンタ、コピー、ファクス及びスキャナや、それら複数の機能を一台の筐体で実現するMulti Functional Peripheralでもよい。情報処理装置101は、コンピュータなどの情報処理装置である。本実施形態では、基準の時刻の情報となるサーバ標準時刻(不図示)を有し、ネットワーク102を介して時刻の問い合わせを受けた際に前記標準時刻を返すものとする。
<画像処理装置のハードウェア構成>
図2は、本実施形態の画像処理装置100のハードウェア構成例である。画像処理装置100は、その動作モードとして通常動作を行う通常モードと、消費電力を低減するスリープモードとを持つ。画像処理装置100は、PCなどの情報処理装置と通信を行うネットワーク部201、キーボードなどユーザ操作を受け付けるユーザ入力部202、液晶ディスプレイなど操作画面を表示するUI表示部203を有する。更に画像処理装置100は、装置全体を制御するCPU204、CPU204のワークスペースを提供するRAM205、画像原稿を読み取る読取部206、画像データを印刷する印刷部207、各種制御プログラムなどを記憶する記憶部208を有する。ここで、画像処理装置100を構成する各部は、メインバス200で接続されており、相互にデータの送受信が可能である。なお、ユーザ入力部202とUI表示部203を別々の装置として記載しているが、これらの装置が一体となった操作部としてもよい。さらに、画像処理装置100は、CPU204に内蔵された、または不図示ではあるがCPU204の外部に接続された実時間時計を有する。実時間時計はたとえばバックアップ電源を有しており、主電源の供給状態に関わらず動作し続ける。もちろん、画像処理装置100がスリープモードであっても実時間時計は動作する。実時間時計から読み出される時刻をシステム時刻あるいはOSの現在時刻と呼ぶ。なお本実施形態のスリープモードでは、CPU204は電力供給あるいはクロックの停止によりその動作を停止しているものとする。
図2は、本実施形態の画像処理装置100のハードウェア構成例である。画像処理装置100は、その動作モードとして通常動作を行う通常モードと、消費電力を低減するスリープモードとを持つ。画像処理装置100は、PCなどの情報処理装置と通信を行うネットワーク部201、キーボードなどユーザ操作を受け付けるユーザ入力部202、液晶ディスプレイなど操作画面を表示するUI表示部203を有する。更に画像処理装置100は、装置全体を制御するCPU204、CPU204のワークスペースを提供するRAM205、画像原稿を読み取る読取部206、画像データを印刷する印刷部207、各種制御プログラムなどを記憶する記憶部208を有する。ここで、画像処理装置100を構成する各部は、メインバス200で接続されており、相互にデータの送受信が可能である。なお、ユーザ入力部202とUI表示部203を別々の装置として記載しているが、これらの装置が一体となった操作部としてもよい。さらに、画像処理装置100は、CPU204に内蔵された、または不図示ではあるがCPU204の外部に接続された実時間時計を有する。実時間時計はたとえばバックアップ電源を有しており、主電源の供給状態に関わらず動作し続ける。もちろん、画像処理装置100がスリープモードであっても実時間時計は動作する。実時間時計から読み出される時刻をシステム時刻あるいはOSの現在時刻と呼ぶ。なお本実施形態のスリープモードでは、CPU204は電力供給あるいはクロックの停止によりその動作を停止しているものとする。
<画像処理装置のソフトウェア構成>
図3は、本実施形態の画像処理装置100のソフトウェア構成例である。図3に示す各機能部は、画像処理装置100有するCPU204が、記憶装置208に記憶される制御プログラムをRAM205上に読み出して実行する、すなわちソフトウェアと協働することで実現される。画像処理装置100が備えるソフトウェアについて説明する。画像処理装置100は、ソフトウェアモジュールとして、OS300、システム管理部310、Java(登録商標)VM320、アプリPF330(アプリケーションプラットフォーム330)、時刻管理アプリ340(時刻管理アプリケーション340)を有する。
図3は、本実施形態の画像処理装置100のソフトウェア構成例である。図3に示す各機能部は、画像処理装置100有するCPU204が、記憶装置208に記憶される制御プログラムをRAM205上に読み出して実行する、すなわちソフトウェアと協働することで実現される。画像処理装置100が備えるソフトウェアについて説明する。画像処理装置100は、ソフトウェアモジュールとして、OS300、システム管理部310、Java(登録商標)VM320、アプリPF330(アプリケーションプラットフォーム330)、時刻管理アプリ340(時刻管理アプリケーション340)を有する。
OS300は、プロセスの管理、メモリ管理、入出力管理を実行する。またOS300が提供する機能には、他のプロセスからの要求に応じて起動後経過時間を提供する機能も含まれる。画像処理装置100は、ユーザにより設定可能なシステム時刻を提供する機能
に加えて、電源が投入されてからの経過時間すなわち起動後経過時間を測定する時計を有している。この起動後経過時間はユーザにより操作できない。また本例では、起動後経過時間はCPU204の停止により停止するので、スリープモードの間は計測されない。
に加えて、電源が投入されてからの経過時間すなわち起動後経過時間を測定する時計を有している。この起動後経過時間はユーザにより操作できない。また本例では、起動後経過時間はCPU204の停止により停止するので、スリープモードの間は計測されない。
システム管理部310は、コピーなど画像処理装置100の基本的な機能を実現するプログラムであり、コントロール部311、機器情報管理部312などを有する。コントロール部(あるいは制御部とも呼ぶ。)211は、コピーやプリンタなど画像処理装置100の各機能や、UI表示装置203に表示する操作画面などのシステムを制御する。また、コントロール部311は、スリープモード状態への遷移など、画像処理装置100の機器の稼働状態の遷移、及び通常の稼働状態への復帰を制御し、状態遷移指示や通知をOS220やJava(登録商標)VM320、及びアプリPF330に行う。機器情報管理部212は、画像処理装置100における機器の表示画面設定やコピーやプリンタなどの各機能設定をはじめとする、機器のシステム設定情報を管理する。また、機器情報管理部212は、画像処理装置100上のシステムの現在時刻など、OS220の情報も管理する。
Java(登録商標)VM320は、Java(登録商標)で記述されたアプリケーションプログラムすなわちアプリを実行する仮想マシンであり、アプリPF330の実行基盤である。なお本例ではアプリをJava(登録商標)プログラムとしたが、他の処理系を用いてもよい。
アプリPF330は、アプリに対して画像処理装置100を制御する機能を提供する、アプリの実行基盤である。アプリPF330は、プラットフォームを構成するクラスライブラリ群331、アプリのライフサイクルや参照関係管理を行うOSGi(登録商標)332などを有する。クラスライブラリ群331は、アプリに対し、画像処理装置100を制御するコントロール部211、機器設定情報管理部312を制御可能とするための機能を有する。加えて、クラスライブラリ群331は、アプリに対し、Java(登録商標)VM320提供機能、及びOSGi(登録商標)232管理上の他のアプリ提供の機能を制御可能とするための機能を有する。アプリPF330は、各種機能を例えばアプリケーションプログラムインターフェース(API)として提供する。例えばシステム時刻の取得や、起動後経過時間の取得などの機能もこのAPIを通して提供される。
時刻管理アプリ340は、アプリPF330上で動作するアプリのひとつである。時刻管理アプリ340は、現在時刻を保持管理することを行う。時刻管理アプリ340が管理する現在時刻は、通信部341によりネットワーク装置101を介したHTTP通信による情報処理装置101から一定周期で取得するサーバ標準時刻を基準とする。なお一定周期とは必ずしも一定時間間隔でなくともよく、例えば電源オンなどの特定のイベントの都度サーバ標準時刻を取得するように構成してもよい。時刻管理アプリ340は、サーバ標準時刻を取得してから次のサーバ標準時刻を取得するまでの間、画像処理装置100のOS220の起動後経過時間を加算することで、保持している現在時刻を修正する。この処理シーケンスに関しては、図4にて説明する。また、時刻管理アプリ340は、画像処理装置100停止中(たとえばスリープモード)の経過時間を、次のように修正している(不図示)。まず、時刻管理アプリ340は、画像処理装置100停止時に画像処理装置100のシステムの現在時刻を取得し記憶する。システムの現在時刻とはたとえばOS300が管理する時刻である。次に、時刻管理アプリ340は、画像処理装置100の稼働状態への復帰時に画像処理装置100のシステムの現在時刻を取得し記憶する。そして、記憶した前記時刻の差分により経過時間を算出し、保持している現在時刻を修正する。
なお、本実施形態では、時刻管理アプリ340は、管理している時刻をアプリPF330上で動作する他のアプリのライセンスファイルの使用期限を確認する(あるいは判定する)処理に用いるものとする。しかしながら、時刻管理アプリ340は、現在時刻を保持し管理することを行っていれば、その時刻情報の利用形態に制限はない。
<現在時刻の更新処理>
本実施形態おけるスリープモード状態遷移時の処理について、図4を用いて説明する。図4は、画像処理装置100のスリープモード状態遷移、及び状態復帰時の、アプリPF330、及び時刻管理アプリ340の処理のシーケンス図である。
本実施形態おけるスリープモード状態遷移時の処理について、図4を用いて説明する。図4は、画像処理装置100のスリープモード状態遷移、及び状態復帰時の、アプリPF330、及び時刻管理アプリ340の処理のシーケンス図である。
まず、スリープモード状態遷移、及び状態復帰時の処理の説明に先立ち、時刻管理アプリ340が行う現在時刻管理の処理シーケンスについて、ステップS400からステップS410で説明する。
ステップS400では、時刻管理アプリ340が、情報処理装置101に対しサーバ標準時刻の時刻問い合わせタイミングに達した場合の判定処理を示している。本例では、時刻問い合わせタイミングは、たとえば画像処理装置100に電源が投入され起動されてから所定時間後である。この所定時間は、例えば起動時の処理が完了してアプリが動作可能な状態になった時点でよい。
ステップS401では、時刻管理アプリ340が、情報処理装置101に対しサーバ標準時刻の時刻問い合わせを行う。
ステップS402では、時刻管理アプリ340が、情報処理装置101から取得したサーバ標準時刻で、管理している時刻情報を更新する。
ステップS403では、時刻管理アプリ340が、システム管理部310の機器情報管理部312に対し、OS300の起動後経過時間の取得を指示する。
ステップS404では、システム管理部310の機器情報管理部312が、OS300から起動後経過時間を取得し、時刻管理アプリ340に起動後経過時間を通知する。
ステップS405では、時刻管理アプリ340が、取得したOS300の起動後経過時間を、前回起動後経過時間として上書きして記憶する。ここまでが、時刻問合せタイミングで行われる一連の処理である。
ステップS400では、時刻管理アプリ340が、情報処理装置101に対しサーバ標準時刻の時刻問い合わせタイミングに達した場合の判定処理を示している。本例では、時刻問い合わせタイミングは、たとえば画像処理装置100に電源が投入され起動されてから所定時間後である。この所定時間は、例えば起動時の処理が完了してアプリが動作可能な状態になった時点でよい。
ステップS401では、時刻管理アプリ340が、情報処理装置101に対しサーバ標準時刻の時刻問い合わせを行う。
ステップS402では、時刻管理アプリ340が、情報処理装置101から取得したサーバ標準時刻で、管理している時刻情報を更新する。
ステップS403では、時刻管理アプリ340が、システム管理部310の機器情報管理部312に対し、OS300の起動後経過時間の取得を指示する。
ステップS404では、システム管理部310の機器情報管理部312が、OS300から起動後経過時間を取得し、時刻管理アプリ340に起動後経過時間を通知する。
ステップS405では、時刻管理アプリ340が、取得したOS300の起動後経過時間を、前回起動後経過時間として上書きして記憶する。ここまでが、時刻問合せタイミングで行われる一連の処理である。
ステップS406では、時刻管理アプリ340が、記憶しているOS300の起動後経過時間の更新タイミングに達した場合の判定処理を示している。起動後経過時間の更新タイミングは、たとえば所定時間おきでよい。所定時間の計測は例えば不図示のタイマーなどで行うことができる。
ステップS407では、時刻管理アプリ340が、システム管理部310の機器情報管理部312に対し、OS300の起動後経過時間の取得を指示する。
ステップS408では、システム管理部310の機器情報管理部312が、OS300から起動後経過時間を取得し、時刻管理アプリ340に起動後経過時間を通知する。
ステップS409では、時刻管理アプリ340が、記憶しているOS300の前回起動後経過時間を、ステップS408で新たに取得した起動後経過時間から差し引いた差分を計算し、得られた差分を時刻管理アプリ340が保持するサーバ標準時刻に加算する。すなわち、現在時刻には、サーバ標準時刻を基準として、起動後経過時間を新たに取得する都度、起動後経過時間の更新タイミングの間隔すなわち経過時間が加算されて更新される。
ステップS410では、時刻管理アプリ340が、ステップS408で取得したOS300の起動後経過時間で、前回起動後経過時間を更新して記憶する。
上記手順のみでは、起動後経過時間の更新タイミングの間隔にスリープモードが入ると、スリープモードの時間は起動後経過時間に加算されず、現在時間が不正確になり得る。そこで以下の手順でスリープモードの時間を現在時刻に反映する。
ステップS407では、時刻管理アプリ340が、システム管理部310の機器情報管理部312に対し、OS300の起動後経過時間の取得を指示する。
ステップS408では、システム管理部310の機器情報管理部312が、OS300から起動後経過時間を取得し、時刻管理アプリ340に起動後経過時間を通知する。
ステップS409では、時刻管理アプリ340が、記憶しているOS300の前回起動後経過時間を、ステップS408で新たに取得した起動後経過時間から差し引いた差分を計算し、得られた差分を時刻管理アプリ340が保持するサーバ標準時刻に加算する。すなわち、現在時刻には、サーバ標準時刻を基準として、起動後経過時間を新たに取得する都度、起動後経過時間の更新タイミングの間隔すなわち経過時間が加算されて更新される。
ステップS410では、時刻管理アプリ340が、ステップS408で取得したOS300の起動後経過時間で、前回起動後経過時間を更新して記憶する。
上記手順のみでは、起動後経過時間の更新タイミングの間隔にスリープモードが入ると、スリープモードの時間は起動後経過時間に加算されず、現在時間が不正確になり得る。そこで以下の手順でスリープモードの時間を現在時刻に反映する。
<スリープモードへの遷移時の現在時刻の管理>
次に、スリープモード状態遷移、及び状態復帰時のアプリPF330、及び時刻管理アプリ340の処理について、ステップS411からステップS424で説明する。
ステップS411では、システム管理部310のコントロール部311による、画像処理装置100がスリープモード状態へと遷移する場合の処理を示している。スリープモードへ遷移する条件が満たされるとステップS412〜S416を実行する。スリープモードへ遷移する条件は、たとえば一定時間操作されておらず、かつ外部からのジョブも入力されていないこと、などである。なお本実施形態のスリープモードでは、OS300は起動後経過時間を正確にカウントできないものとする。
ステップS412では、システム管理部310のコントロール部311が、アプリPF330に対し、スリープモードにこれから遷移する旨の通知であるスリープモード状態遷移通知を行う。当該通知は、コントロール部311に対してスリープモード状態遷移時に状態遷移イベントを通知するよう指示していたOS300上のモジュールに対して行われる。本実施形態では、アプリPF330がスリープモード状態遷移時におけるイベント通知を指示しているモジュールである。
ステップS413では、状態遷移イベントの通知を受けたアプリPF330が、システム管理部310の機器情報管理部312に対し、OS300のシステムの現在時刻の取得を指示する。
ステップS414では、システム管理部310の機器情報管理部312が、現在時刻の取得指示に応じてOS300から現在時刻を取得し、アプリPF330に前記情報を通知する。
ステップS415では、アプリPF330が、取得したOS300の現在時刻を、スリープモード状態遷移時刻として記憶する。
ステップS416では、システム管理部310のコントロール部311が、OS300に対し、スリープモード状態遷移の指示を出し、スリープモード状態に遷移する。スリープモード状態では、例えばCPU204への電力供給が停止されたり、あるいはクロックの供給が停止されたりすることで、消費電力が低減される。
次に、スリープモード状態遷移、及び状態復帰時のアプリPF330、及び時刻管理アプリ340の処理について、ステップS411からステップS424で説明する。
ステップS411では、システム管理部310のコントロール部311による、画像処理装置100がスリープモード状態へと遷移する場合の処理を示している。スリープモードへ遷移する条件が満たされるとステップS412〜S416を実行する。スリープモードへ遷移する条件は、たとえば一定時間操作されておらず、かつ外部からのジョブも入力されていないこと、などである。なお本実施形態のスリープモードでは、OS300は起動後経過時間を正確にカウントできないものとする。
ステップS412では、システム管理部310のコントロール部311が、アプリPF330に対し、スリープモードにこれから遷移する旨の通知であるスリープモード状態遷移通知を行う。当該通知は、コントロール部311に対してスリープモード状態遷移時に状態遷移イベントを通知するよう指示していたOS300上のモジュールに対して行われる。本実施形態では、アプリPF330がスリープモード状態遷移時におけるイベント通知を指示しているモジュールである。
ステップS413では、状態遷移イベントの通知を受けたアプリPF330が、システム管理部310の機器情報管理部312に対し、OS300のシステムの現在時刻の取得を指示する。
ステップS414では、システム管理部310の機器情報管理部312が、現在時刻の取得指示に応じてOS300から現在時刻を取得し、アプリPF330に前記情報を通知する。
ステップS415では、アプリPF330が、取得したOS300の現在時刻を、スリープモード状態遷移時刻として記憶する。
ステップS416では、システム管理部310のコントロール部311が、OS300に対し、スリープモード状態遷移の指示を出し、スリープモード状態に遷移する。スリープモード状態では、例えばCPU204への電力供給が停止されたり、あるいはクロックの供給が停止されたりすることで、消費電力が低減される。
<スリープモードからの復帰時の現在時刻の管理>
ステップS417では、システム管理部310のコントロール部311による、画像処理装置100がスリープモード状態から復帰した場合の処理を示している。画像処理装置100は、たとえばユーザにより操作されたことや、或いは外部からのジョブが入力されたことなどをきっかけとして、スリープモードから通常モードへと復帰して停止(あるいは低速動作)していたCPU204は通常の動作を再開する。その後コントロール部311に制御が移ると、ステップS417から処理が行われる。
ステップS418では、システム管理部310のコントロール部311が、OS300に対し、スリープモード状態復帰の指示を出し、スリープモード状態から復帰する。
ステップS419では、システム管理部310のコントロール部311が、アプリPF330に対しスリープモード状態復帰通知を行う。当該通知は、コントロール部311に対してスリープモード状態復帰時に状態復帰イベントを通知するよう指示していたOS300上のモジュールに対して行われる。本実施形態では、アプリPF330がスリープモード状態復帰時におけるイベント通知を指示しているモジュールである。
ステップS420では、状態復帰イベントの通知を受けたアプリPF330が、システム管理部310の機器情報管理部312に対し、OS300のシステムの現在時刻の取得を指示する。
ステップS421では、システム管理部310の機器情報管理部312が、現在時刻の取得指示に応じてOS300から現在時刻を取得し、アプリPF330に取得した現在時刻を通知する。
ステップS422では、アプリPF330が、取得したOS300の現在時刻を、スリープモード状態復帰時刻として記憶する。
ステップS423では、アプリPF330が、時刻管理アプリ340に対し、スリープモード状態復帰イベントの通知をする。当該通知には、ステップS415、ステップS422それぞれで記憶したスリープモード状態遷移時刻及びスリープモード復帰時刻情報が含まれている。なお、当該通知は、アプリPF330に対してスリープモード状態復帰時にイベント通知指示を行っていたアプリPF330上のアプリに対して行わる。本実施形態では、時刻管理アプリ340がスリープモード状態復帰時におけるイベント通知指示を行っていたアプリである。
ステップS424では、時刻管理アプリ340が、ステップS423で通知されたスリープモード状態遷移時刻とスリープモード復帰時刻との差分を計算し、自身が保持するサーバ標準時刻に差分を加算する。これにより、サーバ標準時刻に、起動後経過時間には含まれていないスリープモード中の経過時間が反映される。
ステップS417では、システム管理部310のコントロール部311による、画像処理装置100がスリープモード状態から復帰した場合の処理を示している。画像処理装置100は、たとえばユーザにより操作されたことや、或いは外部からのジョブが入力されたことなどをきっかけとして、スリープモードから通常モードへと復帰して停止(あるいは低速動作)していたCPU204は通常の動作を再開する。その後コントロール部311に制御が移ると、ステップS417から処理が行われる。
ステップS418では、システム管理部310のコントロール部311が、OS300に対し、スリープモード状態復帰の指示を出し、スリープモード状態から復帰する。
ステップS419では、システム管理部310のコントロール部311が、アプリPF330に対しスリープモード状態復帰通知を行う。当該通知は、コントロール部311に対してスリープモード状態復帰時に状態復帰イベントを通知するよう指示していたOS300上のモジュールに対して行われる。本実施形態では、アプリPF330がスリープモード状態復帰時におけるイベント通知を指示しているモジュールである。
ステップS420では、状態復帰イベントの通知を受けたアプリPF330が、システム管理部310の機器情報管理部312に対し、OS300のシステムの現在時刻の取得を指示する。
ステップS421では、システム管理部310の機器情報管理部312が、現在時刻の取得指示に応じてOS300から現在時刻を取得し、アプリPF330に取得した現在時刻を通知する。
ステップS422では、アプリPF330が、取得したOS300の現在時刻を、スリープモード状態復帰時刻として記憶する。
ステップS423では、アプリPF330が、時刻管理アプリ340に対し、スリープモード状態復帰イベントの通知をする。当該通知には、ステップS415、ステップS422それぞれで記憶したスリープモード状態遷移時刻及びスリープモード復帰時刻情報が含まれている。なお、当該通知は、アプリPF330に対してスリープモード状態復帰時にイベント通知指示を行っていたアプリPF330上のアプリに対して行わる。本実施形態では、時刻管理アプリ340がスリープモード状態復帰時におけるイベント通知指示を行っていたアプリである。
ステップS424では、時刻管理アプリ340が、ステップS423で通知されたスリープモード状態遷移時刻とスリープモード復帰時刻との差分を計算し、自身が保持するサーバ標準時刻に差分を加算する。これにより、サーバ標準時刻に、起動後経過時間には含まれていないスリープモード中の経過時間が反映される。
このようにしてローカルに更新される時間を用いてライセンス管理を行うことができる。ライセンス管理はたとえば、アプリPF330上にインストールされたライセンス管理アプリによって行うことができる。ライセンス管理アプリは、たとえば画像処理装置100に保存された、画像処理装置100にインストールされたアプリのライセンス情報にアクセスして、ライセンス期間すなわちライセンスの有効期間を取得する。そしてそのライセンス期間が満了していないかを、画像処理装置100が図4の手順で更新するサーバ標準時刻を照合して判定する。ライセンス期間が満了していたなら、該当するアプリを使用できない無効状態とする。
以上により、実施形態1では、画像処理装置100のスリープモード状態遷移前後の時刻、並びにスリープモードの経過時間を、アプリPF330上で動作する時刻管理アプリ340をはじめとするアプリで取得することが可能となる。スリープモードの経過時間はシステム時刻に基づくものではあるが、スリープモード中はユーザがシステム時刻を操作することはできないので、正確な経過時間を得ることができる。これによりサーバへのアクセス頻度を抑制しつつ、サーバ標準時刻に基づいた時刻管理を実現でき、ライセンス期間を低い誤差で管理できる。
<アプリPFがスリープモード状態遷移時刻を取得する理由>
ここで、スリープモード状態遷移の指示の前に、アプリPF330がステップS412においてスリープモード状態遷移時刻を取得しておき、スリープモード復帰後にステップS423またはS500でアプリ(本例では時刻管理アプリ340)に引き渡している理由を説明する。
ここで、スリープモード状態遷移の指示の前に、アプリPF330がステップS412においてスリープモード状態遷移時刻を取得しておき、スリープモード復帰後にステップS423またはS500でアプリ(本例では時刻管理アプリ340)に引き渡している理由を説明する。
アプリPF330上のアプリは、スリープモードへの遷移の直前のシステムの現在時刻および、スリープモードからの復帰の直後のシステムの現在時刻を取得し、それらの差分からスリープモード中の経過時間を算出し、サーバ標準時間を補正する必要がある。このために例えば、アプリPF330からアプリへとスリープモード遷移イベントおよび、スリープモード復帰イベントを送信し、アプリがそれぞれのイベント受信後にシステム時刻を読み、その差分を求めるという方法がある。しかしこの方法では、アプリはスリープモードへの遷移の直前のシステム時刻を取得できないことがある。その理由は、アプリPF330が通知するスリープモード遷移イベントの通知は、OSのスリープモードへの状態遷移処理とは非同期で実行されるためである。このため、アプリPF330がアプリにスリープモード遷移イベントを通知する前に、あるいは通知の途中で、あるいは通知が完了してもアプリがシステム時刻を読み出す前に、OSがスリープモードに遷移してしまう事態が発生し得る。この場合、PF330からスリープモード遷移イベントを受信したアプリは、スリープモードから通常モードに復帰した後で、スリープモードへ遷移する直前の時刻として、システム時刻を読むことになる。そしてその時のシステム時刻はスリープモードから復帰した直後の時刻である。このためスリープモード状態中の時間が把握できないという問題が発生してしまう。
本実施形態および第2の実施形態では、上記問題を生じさせないために、アプリに対してスリープモード遷移イベントの通知前にアプリPF330がシステム時刻を読み、スリープモード遷移時刻として記憶しておく。そしてその後にスリープモードへと遷移させ、スリープモードから復帰後にスリープモード遷移時刻をアプリたとえば時刻管理アプリ340に通知している。すなわち、このシステム時刻の読み取りのタイミングを、スリープモード遷移イベントの通知前にすることも、本実施形態に係る発明の一つである。
[実施形態2]
次に、本発明の第2の実施形態を説明する。実施形態1では、スリープモード状態復帰時に、アプリPF350によるスリープモード状態復帰イベントとしてスリープモード状態遷移時刻、およびスリープモード状態復帰時刻を通知しているが、各々の状態変化イベントで、各々の時刻情報を通知する構成としても良い。
次に、本発明の第2の実施形態を説明する。実施形態1では、スリープモード状態復帰時に、アプリPF350によるスリープモード状態復帰イベントとしてスリープモード状態遷移時刻、およびスリープモード状態復帰時刻を通知しているが、各々の状態変化イベントで、各々の時刻情報を通知する構成としても良い。
実施形態2における、スリープモード状態遷移、及び状態復帰時のアプリPF330、及び時刻管理アプリ340の処理シーケンスを図5で説明する。以下、実施形態1の図4のシーケンス処理に対する差分のみを説明するものとする。説明を省略しているステップS400〜S422に関しては、実施形態1の図4のシーケンス処理と同じである。
ステップS500は、ステップS422によりアプリPF330が、取得したOS300の現在時刻をスリープモード状態復帰時刻として記憶した後の追加処理である。ステップS500では、アプリPF330が、時刻管理アプリ340に対し、スリープモード状態遷移イベントの通知をする。当該通知には、ステップS415で記憶したスリープモード状態遷移時刻が含まれている。なお、当該通知は、アプリPF330に対し、スリープモード状態変化時にイベント通知指示を行っていたアプリPF330上のアプリに対して行われる。本実施形態では、時刻管理アプリ340が、スリープモード状態変化時におけるイベント通知指示を依頼しているアプリである。
ステップS501では、時刻管理アプリ340が、ステップS500で通知されたスリープモード状態遷移時刻を記憶し保持する。
ステップS502では、アプリPF330が、時刻管理アプリ340に対し、スリープモード状態復帰イベントの通知をする。当該通知には、ステップS422で記憶したスリープモード状態復帰時刻情報が含まれている。なお、当該通知は、ステップS500と同様に、アプリPF330に対し、スリープモード状態変化時にイベント通知指示を行っていたアプリPF330上のアプリに対して行われるものとする。
ステップS503では、時刻管理アプリ340が、前記ステップS423で通知されたスリープモード状態復帰時刻と、ステップS501で記憶したスリープモード状態遷移時刻との差分を計算し、自身が保持するサーバ標準時刻に得られた差分を加算する。
ステップS501では、時刻管理アプリ340が、ステップS500で通知されたスリープモード状態遷移時刻を記憶し保持する。
ステップS502では、アプリPF330が、時刻管理アプリ340に対し、スリープモード状態復帰イベントの通知をする。当該通知には、ステップS422で記憶したスリープモード状態復帰時刻情報が含まれている。なお、当該通知は、ステップS500と同様に、アプリPF330に対し、スリープモード状態変化時にイベント通知指示を行っていたアプリPF330上のアプリに対して行われるものとする。
ステップS503では、時刻管理アプリ340が、前記ステップS423で通知されたスリープモード状態復帰時刻と、ステップS501で記憶したスリープモード状態遷移時刻との差分を計算し、自身が保持するサーバ標準時刻に得られた差分を加算する。
以上により、実施形態2では、アプリPF330によるスリープモード状態遷移、復帰それぞれのイベントの通知から、それぞれの状態変化の時刻及び経過時間それぞれを、アプリPF330上のアプリで取得可能となる。
なお、本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
上記実施形態の画像処理装置をまとめると以下のとおりの構成および機能を有する。
1.基準時刻を時刻サーバから取得する。
2.画像処理装置のローカルな時間で基準時刻を更新する。
2.2.その際に、通常の動作モードであれば、OSにより提供される起動後経過時間で基準時刻を更新する。
2.3.またスリープモードでは、スリープモードの前後のシステム時刻を取得してその差分をスリープモードの期間として基準時刻を更新する。
1.基準時刻を時刻サーバから取得する。
2.画像処理装置のローカルな時間で基準時刻を更新する。
2.2.その際に、通常の動作モードであれば、OSにより提供される起動後経過時間で基準時刻を更新する。
2.3.またスリープモードでは、スリープモードの前後のシステム時刻を取得してその差分をスリープモードの期間として基準時刻を更新する。
この構成により、時刻サーバへのアクセス頻度を抑制しつつ、サーバ標準時刻に基づいた正確性の高い時刻管理を実現でき、ライセンス期間を低い誤差で管理できる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100:画像処理装置、101:情報処理装置、300:OS、310:システム管理部、330:アプリケーションプラットフォーム(アプリPF)、340:時刻管理アプリ
Claims (13)
- 消費電力を低減するスリープモードを動作モードとして有し、スリープモードでも計測されるシステム時刻およびスリープモードでは計測されない起動後経過時間をそれぞれ提供する機能を有する画像処理装置であって、
起動時にサーバから基準時刻を取得して現在時刻として記憶手段に記憶する取得手段と、
前記記憶手段に記憶した前記現在時刻に、前記起動後経過時間を加えて前記現在時刻を更新する第1の更新手段と、
前記スリープモードに遷移する前および前記スリープモードから復帰した後それぞれにおいて前記システム時刻を取得し、それぞれの前記システム時刻の差分を前記現在時刻に加えて前記現在時刻を更新する第2の更新手段と
を有することを特徴とする画像処理装置。 - 前記システム時刻はユーザにより設定でき、前記起動後経過時間はユーザにより設定できないことを特徴とする請求項1に記載の画像処理装置。
- 前記第1の更新手段は、所定の周期で前記現在時刻を更新することを特徴とする請求項1または2に記載の画像処理装置。
- 前記第2の更新手段は、前記スリープモードに遷移する前および前記スリープモードから復帰した後それぞれにおいて取得したそれぞれの前記システム時刻を記憶することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
- 前記現在時刻に基づいて、アプリケーションのライセンス期間を管理する手段を更に有することを特徴とする請求項1乃至4のいずれか一項に記載の画像処理装置。
- 前記取得手段および前記第1の更新手段は時刻管理アプリケーションにより実現され、
前記第2の更新手段は前記時刻管理アプリケーションが実行されるアプリケーションプラットフォームにより実現されることを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。 - 請求項1乃至6のいずれか一項に記載の画像処理装置としてコンピュータを機能させるためのプログラム。
- 消費電力を低減するスリープモードを動作モードとして有し、スリープモードでも計測されるシステム時刻およびスリープモードでは計測されない起動後経過時間をそれぞれ提供する機能を有する画像処理装置において、
起動時にサーバから基準時刻を取得して現在時刻として記憶手段に記憶する取得工程と、
前記記憶手段に記憶した前記現在時刻に、前記起動後経過時間を加えて前記現在時刻を更新する第1の更新工程と、
前記スリープモードに遷移する前および前記スリープモードから復帰した後それぞれにおいて前記システム時刻を取得し、それぞれの前記システム時刻の差分を前記現在時刻に加えて前記現在時刻を更新する第2の更新工程と
を有することを特徴とする時刻管理方法。 - 消費電力を低減するスリープモードを動作モードとして有し、スリープモードでも計測されるシステム時刻を提供する機能を有する画像処理装置であって、
前記スリープモードに遷移する前にシステム時刻を取得し、記憶する取得手段と、
前記スリープモードに遷移する前に取得した前記システム時刻を、前記スリープモードに遷移する直前の時刻として、前記画像処理装置にインストールされたアプリケーションに通知する通知手段と
を有することを特徴とする画像処理装置。 - 前記通知手段は、前記スリープモードから復帰した後で、前記スリープモードに遷移する前に取得した前記システム時刻に加えて、前記スリープモードから復帰した後のシステム時刻を、スリープモード復帰イベントとともに通知することを特徴とする請求項9に記載の画像処理装置。
- 前記通知手段は、前記スリープモードから復帰した後で、前記スリープモードに遷移する前に取得した前記システム時刻をスリープモード遷移イベントとともに通知することを特徴とする請求項9に記載の画像処理装置。
- 請求項9乃至11に記載の画像処理装置としてコンピュータを機能させるためのプログラム。
- 消費電力を低減するスリープモードを動作モードとして有し、スリープモードでも計測されるシステム時刻を提供する機能を有する画像処理装置における時刻管理方法であって、
前記スリープモードに遷移する前にシステム時刻を取得し、記憶する取得工程と、
前記スリープモードに遷移する前に取得した前記システム時刻を、前記スリープモードに遷移する直前の時刻として、前記画像処理装置にインストールされたアプリケーションに通知する通知工程と
を有することを特徴とする時刻管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016122052A JP2017227990A (ja) | 2016-06-20 | 2016-06-20 | 画像処理装置及び時刻管理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016122052A JP2017227990A (ja) | 2016-06-20 | 2016-06-20 | 画像処理装置及び時刻管理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017227990A true JP2017227990A (ja) | 2017-12-28 |
Family
ID=60891755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016122052A Pending JP2017227990A (ja) | 2016-06-20 | 2016-06-20 | 画像処理装置及び時刻管理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017227990A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020032665A (ja) * | 2018-08-31 | 2020-03-05 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
JP7398057B2 (ja) | 2020-08-06 | 2023-12-14 | ブラザー工業株式会社 | 画像形成装置 |
-
2016
- 2016-06-20 JP JP2016122052A patent/JP2017227990A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020032665A (ja) * | 2018-08-31 | 2020-03-05 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
JP7398057B2 (ja) | 2020-08-06 | 2023-12-14 | ブラザー工業株式会社 | 画像形成装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8543677B2 (en) | Communication control device, method, and computer readable medium allowing an information processing device to be in a power saving mode for an extended period and allowing an application part to continue functioning | |
US20190171443A1 (en) | Method of Updating Application and Recording Medium | |
US8922805B2 (en) | Image processing apparatus having updatable firmware, method for controlling image processing apparatus, and program | |
JP2015001814A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2017177573A (ja) | PCI(Peripheral Component Interconnect)バスに接続されたPCIデバイスを備える情報処理装置及び情報処理装置の制御方法 | |
EP2605502B1 (en) | Image forming apparatus with power-saving mode and image forming method | |
JP7009270B2 (ja) | 情報処理装置及びプログラムの検証方法 | |
JP2021140829A (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
JP2017227990A (ja) | 画像処理装置及び時刻管理方法及びプログラム | |
JP2014135021A (ja) | 情報処理装置、情報処理システム及びプログラム | |
JP2013190950A (ja) | 制御装置、及び起動方法 | |
JP2011018983A (ja) | 通信装置 | |
JP2015022681A (ja) | 情報処理装置および情報処理装置におけるソフトウェア更新方法 | |
JP2013176878A (ja) | 画像形成装置、画像形成装置の制御方法、及びプログラム | |
JP6746432B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US9665323B2 (en) | Print control device using setting value limitation information that limits a print setting value selectable by a user program and print system therefore | |
JP2015097080A (ja) | 画像形成装置の管理装置及び管理プログラム | |
JP6485227B2 (ja) | 画像形成装置、画像形成システム、画像形成方法およびプログラム | |
US20190068818A1 (en) | Client apparatus and method | |
JP2013103402A (ja) | 画像形成装置 | |
JP2017142686A (ja) | 電子機器、その制御方法及びプログラム | |
EP3699749B1 (en) | Image forming device | |
JP2011161782A (ja) | 画像形成装置、画像形成システム、電力モード管理方法、電力モード管理プログラム及び記録媒体 | |
JP7196544B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6798278B2 (ja) | 複合機、複合機において実行される制御方法及び複合機の制御プログラム |