説明

画像処理装置、データ処理方法およびプログラム

【課題】セキュリティを向上させながら省エネルギー対応を可能とする、画像処理装置、データ処理方法、およびプログラムを提供すること。
【解決手段】画像処理装置110は、外部通信に応答して画像処理を制御しており、画像処理装置110の機能を管理するCPU134と、ネットワーク150を介して受信するデータの内容に応答してCPU134の処理を代行するI/O制御部142とを含み、I/O制御部142は、外部通信速度とデータの暗号強度とに応じてデータのI/O制御部142の内部でのデータ転送効率に関連する動作クロックレートを可変制御している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術の低エネルギー化に関し、より詳細には、セキュリティを向上させながら省エネルギー対応を可能とする、画像処理装置、データ処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、情報処理装置などのデータ処理を行う装置にあっては、複数装置間でネットワーク機能を用いたデータ通信を行い、データの有効利用を行うことが普及している。高付加価値のデータがイーサネット(登録商標)やワイヤレス通信で転送される場合、パケット聴取や電波傍受によるデータの不正取得が生じる可能性がある。聴取または傍受されたデータは、ユーザID、パスワード、キャッシュカード番号などの不正取得のために利用されることも想定される。
【0003】
不正取得されたデータは、解読/他人へのなりすまし/データの改ざん/不正アクセスなどに利用される可能性がある。この様な問題に対応するため、データ通信のセキュリティ強化が問題となっている。このような問題への対策として、イーサネット(登録商標)などを使用するネットワークでは、SSL(Secure Socket Layer)やIPsecなどが実用化されている。また、ワイヤレスネットワークでは、IEEE802.1Xや、IEEE802.11iなどの暗号プロトコルを使用するセキュリティ技術も普及している。
【0004】
さらに暗号方式としても種々提案されており、共有鍵法や公開鍵暗号法など各種の方式が提案されている。これらのうち、共有鍵暗号法は、秘密鍵および公開鍵といった送信側および受信側を固有に特定するための複数種類の鍵の利用を伴わずに、装置間でのネゴシエーションプロトコルのみを利用してセキュリティを向上させることができるので、普及型の装置に実装しやすく、SSL、IPsec、ワイヤレスネットワークにおいても利用されている。これらの共有鍵暗号法として、暗号強度のレベルに対応して、DES、AES、3DES、Idea(鍵長128ビット)などが実用化されている。
【0005】
一方で近年、画像処理装置も省エネルギーに対応することが要求されてきており、省エネルギー対応型のプロセッサを搭載する画像処理装置も普及している。画像処理装置が、省エネルギー対応型のプロセッサを実装する場合、低消費電力を実現するため、メインCPU(Central Processing Unit)が最低消費電力の状態とされる場合や、その他の機能的要素に対しては完全に電力供給が停止される、いわゆる省エネルギーモードとされる。
【0006】
一方、上述した省エネルギー対応の画像処理装置では、省エネモード中であってもデータ転送に対してパッシブに対応しなければならないことから、省エネモードに退避しているメインCPU以外に、受信データを処理するためのI/O制御部を実装する。省エネモード対応のI/O制御部は、少なくとも外部からのアクセスに対する応答を行う回路については、ネットワークのパケットなどを処理できるように動作させておく必要がある。
【0007】
上述した低消費電力化についてはこれまでも種々検討されており、例えば、特開2004−243533号公報(特許文献1)では、ネットワーク機器の省エネ化を可能とする画像処理装置が提案されており、省エネモードに遷移する際に、動作クロックを低下させることで省電力化を行う技術を開示する。また、特開2004−362282号公報(特許文献2)では、受信バッファにバッファリングされた受信フレームの件数に応じて動作クロックの周波数を可変に制御する技術を開示する。さらに、特開2007−296723号公報(特許文献3)では、省エネモードから通常モードへの復帰要因の発生を監視する技術を開示する。さらに、特開2008−270918号公報(特許文献4)では、受信信号から抽出したパケットデータを解析して受信処理の必要の有無を判断し、その判断結果に応じて休止状態のホストプロセッサを起動させる技術を開示する。さらに、特開2008−305209号公報(特許文献5)では、ネットワークから受信した情報に応じてCPUを省電力状態から通常動作可能状態へ復帰させる技術を開示する。
【発明の概要】
【発明が解決しようとする課題】
【0008】
上述した低消費電力対応の画像処理装置が知られているものの、従来の画像処理装置では、省エネモード時であってもネットワーク機能を含む一部の回路への電力供給が動作モード時と同様の電力消費状態のまま保持されていた。このため、省エネモード時でもI/O制御部自体については消費電力削減が行われていなかった。暗号化技術が普及するにつれ、I/O制御部は、暗号化されたデータとして送付される外部要求に高速に対応するため、高性能化してきており、I/O制御部のエネルギー消費は、今後、ますます無視できないものとなることが予測される。
【0009】
一方、省エネモードで画像処理装置が受信したデータが暗号文である場合、データを平文として受信する場合とは異なる処理が必要となる。すなわち、画像処理装置が省エネモードであっても、データが平文で送受信される場合には、I/O制御部は、直接データを解析してデータ内容を解釈することができ、また復号処理のために多くのオーバーヘッドは発生しない。しかしながら、例えば受信データがIPsecなどによって暗号化された暗号文の場合、画像処理装置を制御するCPUの起動を最小限にするためには、I/O制御部が復号処理を実行する必要が生じる。しかしながら、暗号強度の高い暗号法で暗号化されたデータの復号を想定する場合、I/O制御用のサブCPUの能力だけでは対応できないので、暗号化処理を専ら担当する暗号処理コントローラを実装することが実装上の観点から好ましい。
【0010】
一方、暗号処理コントローラを実装した場合であっても、データに適用された暗号処理の暗号強度に応じて処理オーバーヘッドが異なるので、復号処理によって生成される平文データの生成レートが異なる。このため、暗号方式に依存して、I/O制御部内でのデータ転送バスの利用度が変化する。暗号処理プロセスを考えた場合、復号処理によるオーバーヘッドの増加は、暗号処理コントローラが管理するバッファメモリなどの利用度にも影響を与え、暗号処理コントローラが暗号強度の高い暗号方式で暗号化されたデータの復号処理に手間取っていると、ネットワークを通じて転送されるデータについて、メモリオーバーフローによるデータの喪失が発生する虞がある。
【0011】
したがって、受信データが暗号化され、暗号強度が今後もますます向上することを考慮すると、画像処理装置を管理するためのCPUの消費電力を最小限とするためには、I/O制御部側で暗号処理を行うことが必要となり、I/O制御部についても省電力化を行うことが必要となる。さらに、外部データ通信は、高速データ通信が可能なギガビット・イーサネット(登録商標)であっても、ネットワーク帯域幅などとの関係によるネゴシエーションによってデータ通信速度が変動する。このため、画像処理装置全体やI/O制御部の省電力化を実現するためには、外部通信速度の変動も考慮しながら、受信データのロスを防止しつつ、I/O制御部内のデータ転送バスの利用効率も向上させることが必要となる。
【0012】
さらに、省エネモードにおいて画像処理装置が外部データ通信のログを取得する場合、画像処理装置は、ログを一時的に蓄積するメモリである受信データ用のバッファメモリを備える必要がある。特に、IPsecなどによって暗号化された暗号文の場合には、多量のログデータをバッファメモリに保持する必要がある。しかしながら、蓄積すべき外部通信ログのデータ量の増加に伴い、バッファメモリが維持すべき電荷量が増加し、それを保持するためにバッファメモリの消費電力量も増加してしまう。また、バッファメモリのデータ蓄積量は有限であるため、一定のデータ量を超えるログデータが蓄積した場合には、ログデータを不揮発メモリ等に退避するために画像処理装置本体のメインCPUを起動する必要があり、画像処理装置を省電力状態に維持することができず、電力消費量を有効に低減することができない。さらに、多量のログデータを蓄積するためにI/O制御部内にバッファメモリや不揮発メモリ等を増設または追加した場合には、これらのメモリによって消費される電力量が増加することとなり、画像処理装置の低消費電力化を図ることができない。
【0013】
本発明は上記の課題を解決するものであり、ネットワークを介してデータの受信を待機する画像処理装置を、データ転送効率を低下させることなく低消費電力化し、また消費電力を抑制しつつ通信ログを取得可能にすることを目的とする。
【課題を解決するための手段】
【0014】
すなわち、本発明によれば、外部通信に応答して画像処理を制御する画像処理装置が提供され、画像処理装置は、画像処理装置の機能を管理する主制御手段と、ネットワークを介して受信するデータの内容に応答して前記主制御手段の処理を代行するインタフェース制御手段とを含む。本発明のインタフェース制御手段は、外部通信速度とデータの暗号強度に応じて、受信したデータのインタフェース制御手段の内部でのデータ転送効率に関連する動作クロックレートを可変制御することにより、データ転送効率を損なうことなく主制御手段の動作モードへの遷移による消費電力の増加を防止する。
【0015】
そして、本発明の画像処理装置のインタフェース制御手段は、動作クロックの可変制御により、データの受信を待機している期間中でのインタフェース制御手段の電力消費を低下させる。また、インタフェース制御手段は、主処理手段の処理を代行させるための代行手段と、平文の前記データ代行手段または主制御手段が取得するまで格納するデータバッファと、ネットワークを介して送受信されるデータの送受信を管理する外部通信管理手段と、外部通信管理手段が利用する動作クロックレートを、インタフェース制御手段の内部でのデータ転送効率に応答して制御するクロック制御手段とを含んでいて、クロック制御手段は、データの外部通信速度およびデータが暗号化されている場合の暗号強度に応じて動作クロックレートを管理している。
【0016】
さらに、本発明の外部通信管理手段は、平文データの転送先を管理するネットワーク制御手段と、データが暗号化されている場合にデータを復号する暗号処理手段と、ネットワークからデータを受信するPHY/MAC機能を提供する通信制御手段とを含んでおり、データ転送効率が低下すると判断した場合に、少なくとも暗号処理手段を駆動するための動作クロックレートを変更することにより、データ転送状態によるデータ転送効率の低下を防止している。
【0017】
また、インタフェース制御手段は、外部通信管理手段がネットワークからの前記データを処理していない期間、動作クロックレートをクロック制御手段が制御可能な最低の動作クロックレートに設定し、前データの受信に応答して、データ転送効率を最適化する動作クロックレートを設定している。
【0018】
さらに、本発明の画像処理装置は、インタフェース制御手段が実行する処理のうちログを取得すべき処理を指定可能なログ取得情報を指定するユーザインタフェースを制御する操作画面処理手段を含む。さらに、インタフェース制御手段は、ログ取得情報に基づいて、インタフェース制御手段が実行する処理のうち、いずれの処理のログを作成すべきか否か判断してログを作成するログ作成手段と、ログが保存されるデータバッファのメモリ使用量を監視するメモリ監視手段とを含み、ログ作成手段は、ログ取得情報によりエラー時の処理のログを取得するように指定されている場合に、インタフェース制御手段でエラーとなった処理のログのみを作成し、メモリ監視手段は、データバッファのメモリ使用量がしきい値を超えるか否か判断し、メモリ使用量がしきい値を超えると判断した場合に、休止状態である省エネモードの主制御手段を復帰させる。これにより、エラーとなった処理のログのみをデータバッファに格納して画像処理装置の省エネモードを維持するため、画像処理装置の消費電力を抑制しつつ通信ログを取得することができる。
【0019】
さらに、本発明の画像処理装置は、現在時刻を計測および提供可能なリアルタイムクロックを含み、インタフェース制御手段はさらに、インタフェース制御手段の動作クロックを計数してカウンタ値を提供するカウンタを含み、主制御手段は、画像処理装置が省エネモードに移行する際の省エネモード移行時刻をデータバッファに格納し、ログ作成手段は、ログ作成時のカウンタ値と、カウンタ値の取得時の動作クロックレートと、データバッファに格納された省エネモード移行時刻とを用いてログ作成時刻を算出する。これにより、画像処理装置が省エネモードである場合でも正確なログ作成時刻を算出することができる。
【0020】
さらに、本発明の画像処理装置は、現在時刻を計測および提供可能なリアルタイムクロックと、データバッファからログを取得して記憶装置に保存するログ取得手段とを含み、インタフェース制御手段はさらに、インタフェース制御手段の動作クロックを計数してカウンタ値を提供するカウンタを含み、ログ取得手段は、ログ作成時のカウンタ値と、主制御手段が省エネモードから復帰するときのカウンタ値と、カウンタ値の取得時の動作クロックレートと、データバッファからログを取得する時刻とを用いてログ作成時刻を算出する。これにより、画像処理装置が省エネモードである場合でも正確なログ作成時刻を算出することができる。
【0021】
本発明によれば、省エネモード状態にある画像処理装置の消費電力を最低化し、さらにデータの受信に対応して最適なデータ転送効率を提供しつつ画像処理装置の電力消費を最低化することができる。
【図面の簡単な説明】
【0022】
【図1】本実施形態の画像処理装置の機能構成100を示した図。
【図2】本実施形態の画像処理装置110の省エネモードおよび動作モードにおける外部から受信したデータのデータフローを示した図。
【図3】図2に示した本実施形態のI/O制御部142の詳細な機能ブロック300を示した図。
【図4】本実施形態のサブCPU310が実行するクロック制御処理のフローチャート。
【図5】本実施形態で、本実施形態にI/O制御部142が実行する動作クロックレート制御処理のフローチャート。
【図6】本実施形態でサブCPU310が、クロック制御部312を制御するために利用するクロック制御テーブル600の実施形態を示した図。
【図7】本実施形態のクロック制御部312の例示的な回路構成を示した図。
【図8】本実施形態の画像処理装置110が省エネモードに移行し、外部からデータを受信したときに実行する処理のフローチャート。
【図9】本実施形態の画像処理装置110が省エネモードに移行し、外部からデータを受信したときに実行する処理のフローチャート。
【図10】本実施形態の通信ログ取得情報設定画面1010を示す図。
【発明を実施するための形態】
【0023】
以下、本発明について実施形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。
【0024】
図1は、本実施形態の画像処理装置の機能構成100を示す。本実施形態の画像処理装置110は、スキャナ機能、プリンタ機能、ファクシミリ機能、電子メール、FTP、HTTPなどを使用するファイル転送機能などを有するMFP(Multi-function Peripheral)として実装されている。画像処理装置110は、機能的な役割により、処理実行ブロック120と、管理ブロック130と、外部通信ブロック140といった3つの機能ブロックから構成される。図1に示す実施形態では、処理実行ブロック120は、スキャナ部122と、プリンタ部126とを含んでおり、スキャナ部122およびプリンタ部126は、ASIC124によりその処理の実行が管理されている。なお、図1では、スキャナ機能、プリンタ機能以外の機能部については省略して示しているが、本実施形態では、画像処理装置110は、ファクシミリ機能部、電子メール機能部、ファイル転送部などの各機能部を適宜含んで実装することができる。
【0025】
管理ブロック130は、画像処理装置110の管理を実行するために、CPU134、画像処理部132、RAM136、ログ取得部137、および操作画面処理部139などを含んでいる。CPU134は、本実施形態で主制御手段を構成し、管理ブロック130の管理機能を提供するための制御部を提供し、オペレーティングシステム(以降、OSとして参照する。)として、UNIX(登録商標)、LINUX(登録商標)、WINDOWS(登録商標)200Xサーバ、Mac(登録商標)OSなどを採用することができる。また、画像処理装置110は、上述したOSの制御下で、アセンブラ、C、C++、Java(登録商標)、Java(登録商標)Script、PERL、RUBY、PYTHONなどのプログラム言語で記述されたプログラムを、その実行空間を提供するRAM136に読み込んで、CPU134がプログラムを実行することにより、画像処理装置110上に本実施形態の各管理機能手段を実現させている。
【0026】
画像処理部132は、スキャナ部122が取得した画像、またはネットワーク150を通して外部から受信した画像データに対して画像処理を実行し、印刷出力や記憶装置160への格納などに適切なフォーマットとなるように画像処理を実行する。なお、画像処理部132が実行する画像処理は、フォーマット変換に限定されるものではなく、エッジ修正、ベクトル化、白黒2値化、画像圧縮のためのウェーブレット変換、離散DCT変換を含むことができる。また、画像処理部132は、その画像処理のためにRAMDAC(Random Access Memory Digital/Analog Converter)などを実装していてもよい。
【0027】
ログ取得部137は、CPU134の制御下で外部からのデータ通信に関するログである通信ログを、後述するI/O制御部142内のバッファメモリから取得する手段である。ログ取得部137は、通信ログを取得する際に、画像処理装置110が省エネモードへ移行する時刻である省エネモード移行時刻またはログ取得部137がバッファメモリから通信ログを取得する時刻と、I/O制御部142が生成するカウンタ値と、当該カウンタ値が計数されたときのI/O制御部142の動作クロックレートとを使用して、通信ログの作成時刻を算出することができる。本実施形態では、I/O制御部142の動作クロックレートを制御するクロック制御部により動作クロックレートが変動するため、カウンタ値と、当該カウンタ値を計数したときの動作クロックレートとを用いて通信ログの作成時刻を算出する。これにより、I/O制御部142の動作クロックが変化した場合でも、正確な通信ログの作成時刻を算出することができる。
【0028】
操作画面処理部139は、画像処理装置110の操作パネルに表示される操作画面を制御する機能手段である。操作画面処理部139は、記憶装置160に格納された操作画面を既定するファイル等を読み込んで、作成すべき通信ログを設定する通信ログ取得情報設定画面等の操作画面を操作パネルに表示する。また、操作画面処理部139は、ユーザが操作画面を介して選択した通信ログ取得情報を受領し、当該通信ログ取得情報を通信ログの設定ファイル等として記憶装置160に書込むと共に、I/O制御部142のバッファメモリに書込む。
【0029】
リアルタイムクロック170は、CPU134の制御下で現在の時刻情報を計測および提供する手段であり、ICとして実装することができる。リアルタイムクロック170は、年月日を含む現在時刻を保持しており、画像処理装置110の電力消費量を最小にする省エネモードや電源OFF状態においても、自律的に現在時刻を計測し続ける機能を有する。
【0030】
管理ブロック130は、画像処理装置110が実行するスキャナ処理、プリント処理、外部送受信処理などの全体の処理の実行を管理する他、画像処理装置110の省エネ管理を実行する。なお、省エネ管理とは、画像処理装置110の消費電力を制御するため、画像処理装置110を、最低限の電力消費レベルとする省エネモードと、各処理を実行する動作モードとの間で遷移させる処理である。動作モードは、CPU134に対して電力を供給するとともに定格クロックレートで機能させ、さらに処理を担当すべき機能部に対して電力供給されるモードである。一方、省エネモードは、CPU134、スキャナ部122、プリンタ部126などに対する電力供給を最小限とするか、または電力供給を完全に停止してしまうモードである。
【0031】
画像処理装置110は、さらに外部通信ブロック140を含んでいる。外部通信ブロック140は、ネットワーク150を介して送受信されるデータを処理する機能手段であり、説明を明瞭にする目的でI/O制御部142を例示的に示している。
【0032】
I/O制御部142は、本実施形態では、インタフェース制御手段を構成し、外部通信の管理を実行する他、外部からデータを受信した場合に、CPU134に代わり、データの解析を実行し、データ解析の結果に応じて、受信したデータが画像処理装置110の本体機能を使用して処理されるべきと判断した場合、またはI/O制御部142内のバッファメモリに格納された通信ログを記憶装置160に保存する必要があると判断した場合に、CPU134に対して割込を発生し、画像処理装置110を、省エネモードから動作モードへ起動させる処理を実行する。また、I/O制御部142は、CPU134への割込を発生させるために、外部から受信するデータを解析し、または通信ログを作成および保存すべく、RAM、ROM、バッファメモリ、通信制御部(PHY/MAC)、通信ログを作成するログ作成部、クロックパルスを計測して通信ログの作成時刻を特定するカウンタ値を生成する電子回路によって構成されるカウンタ、およびバッファメモリやRAMのメモリ使用量を監視するメモリ監視部など各種機能部を実装する。
【0033】
図2は、本実施形態の画像処理装置110が省エネモードおよび動作モードにおいて外部から受信したデータのデータフローを示した図である。データフロー200が画像処理装置110の動作モード時のデータフローであり、データフロー210が、画像処理装置110の省エネモードでのデータフローである。画像処理装置110が動作モードにある場合、ネットワーク150を介して画像処理装置110が受信したデータはI/O制御部142によって取得され、受信したデータがCPU134の管理下で処理すべきデータであるとき、受信したデータは、CPU134が処理するためにI/O制御部142からCPU134に送られる。
【0034】
図2に示すように、I/O制御部142は、CPU134へのデータフロー200,210を制御するために複数の機能部を含んでいる。I/O制御部142が含む機能部としては、ネットワークI/F、サブCPU、USBI/F、受信データのバッファメモリであるデータバッファ、DMAC(Direct Memory Access Controller)、割込みI/F、メモリ監視部、ログ作成部、カウンタなどが例示的に示されている。データフロー200,210では、画像処理装置110が動作モードまたは省エネモードにある場合、受信したデータは、ネットワークI/Fによって受け取られ、データバッファに一旦格納される。
【0035】
ネットワークI/Fは、本実施形態で外部通信を管理する外部通信管理手段を提供し、CPU134に対し、CPU134が処理すべきデータを受領したことを通知する。当該通知を受領したCPU134は、DMA要求を発行し、DMACを介してデータバッファ内のデータを取得する。その後、画像処理装置110は、処理実行ブロック120の適切な機能処理部を呼出し、画像処理装置110が当該データに関連して実行すべき処理を開始する。
【0036】
一方、画像処理装置110が省エネモードに退避している場合、本実施形態のI/O制御部142は、受信したデータの内容を判断し、CPU134の起動を最小限としながら、バッファメモリのオーバーフローによるデータ損失の防止、データ転送バスの利用効率の向上、またはデータ損失防止およびデータ転送バスの利用効率の両方を改善する。I/O制御部142は、データ転送効率を最適化させつつ、自己も省エネルギーで動作するように受信データのデータフロー210を制御する。より詳細には、画像処理装置110が省エネモードにある場合、ネットワーク150から受領したデータは、ネットワークI/Fによって受け取られ、ネットワークI/Fは、CPU134に通知を発行することなく、割込みI/Fを起動してサブCPUに対する起動割込みを発生させ、サブCPUを起動する。
【0037】
I/O制御部142は、CPU134が省エネモードにある場合にCPU134が実行すべき処理を代行する代行処理手段を提供しており、ネットワークI/Fがデータを受信してサブCPUが起動されると、サブCPUは、データバッファに一旦格納されたデータを解析する。そして、そのデータ内容がCPU134の処理すべきデータ内容である場合、サブCPUは、割込みI/Fに通知して、CPU134に対する起動割込みを発行させ、CPU134を含む画像処理装置110を起動させる。そして、CPU134は、初期設定を終了すると、DMA要求を発行し、サブCPUを介さず、DMACを介したダイレクトメモリアクセス方式でデータバッファ内のデータを取得して、動作モード時と同様の処理を実行させる。
【0038】
図3は、図2に示した本実施形態のI/O制御部142の詳細な機能ブロック300を示す。なお、図3は説明の便宜上、管理ブロック130の機能部についても示している。図3に示すように、本実施形態のI/O制御部142は、サブCPU310と、クロック制御部312と、RAM314と、データバッファ316とを含んで構成されている。I/O制御部142の各機能処理部は、内部バス328により相互接続されており、データや信号の送受信を可能としている。サブCPU310は、受信したデータが平文データに復号された後にその内容を解析して、受信したデータがCPU134の処理すべきデータであると判断した場合には、割込みI/F322に通知を発行し、CPU134に対する割込み要求を発行させる。
【0039】
クロック制御部312は、本実施形態において、動作クロックレートを制御することにより、データ転送バスを有効利用させつつ、バッファメモリのオーバーフローによるデータの喪失を防止することにより、データ転送効率を最適化する。また、クロック制御部312は、復号速度および外部通信速度の変化に対応してネットワークI/F318に供給する動作クロックを変更し、I/O制御部142の省エネルギー化を可能とする。RAM314は、サブCPU310の処理を可能とする実行空間を提供するメモリとして機能する。
【0040】
データバッファ316は、復号されたデータを、暗号文または平文にかかわらず、以後の処理が決定されるまで格納し、当該データは、CPU134が起動された後にCPU134によってDMA方式でアクセスされるか、またはサブCPU310によってアクセスされる。また、データバッファ316には、受信データの送信元である受信データ通信相手、受信データの通信プロトコル、外部とデータ通信を開始した時間である通信発生時間、通信処理の状態を示す通信状態などの通信ログ、カウンタ332が計数するカウンタ値、I/O制御部142のクロックジェネレータが生成する動作クロックレート、通信ログ取得情報設定画面を通じてユーザが指定した通信ログ取得情報などが保存される。データバッファ316は、受信データや復号データを格納する領域と、通信ログやカウンタ値、通信ログ取得情報を格納する領域とを分けて構成することができる。
【0041】
I/O制御部142は、さらにネットワークI/F318と、USBI/F320と、割り込みI/F322と、バスブリッジ324とを含んでいる。ネットワークI/F318は、ネットワークコントローラ318aと、暗号処理コントローラ318bと、物理層レベルおよびMAC層の下位プロトコル処理を担当する通信制御手段である通信制御部(PHY/MAC)318cを含んでいる。ネットワークコントローラ318aは、ネットワーク150を介して受信したデータについてデータの配布先およびデータの処理先を判断して処理を実行するネットワーク制御手段である。また、暗号処理コントローラ318bは、通信制御部318cが受信したデータを受領し、データがIPsecによって暗号化されていると判断した場合、当該受信データを復号する暗号処理手段を提供する。
【0042】
また、暗号処理コントローラ318bは、受信データがIPsecで暗号化されていないと判断した場合、処理を行わずにデータをそのままネットワークコントローラ318aに渡し、サブCPU310によるデータの解析を依頼する。なお、暗号処理コントローラ318bは、画像処理装置110が省エネモードに退避している場合にのみ復号処理を実行し、画像処理装置110が動作モードにある場合には、復号処理を行わずに、暗号化されたデータをネットワークコントローラ318aに送付する実装形式とすることができる。
【0043】
ネットワークコントローラ318aおよび暗号処理コントローラ318bは、バッファメモリ316に対して、FIFO形式などにより書込みおよび読み出し処理を実行しており、暗号処理コントローラ318bは、復号後の平文データをバッファメモリ316に書込む。また、ネットワークコントローラ318aは、他のデバイスからの読取り要求に応答してバッファメモリ316から他のデバイスが要求する送付先へとデータを送付する。
【0044】
一方、ネットワークI/F318には、クロック制御部312からのクロックパルスが駆動クロックとして入力され、駆動クロックにより、暗号処理コントローラ318bの動作速度が可変となる。クロック制御部312には、サブCPU310からのクロック制御信号が送付される。クロック制御部312は、ネットワークI/F318が管理する外部通信速度、セキュリティアソシエーションテーブル(以下、SAテーブルとして参照する。)などから取得されるDES、3DES、AESなど暗号方法の種類、鍵長などと、バッファメモリのメモリ利用度などによりサブCPU310が生成するクロック制御信号を受領して、バッファメモリ316のオーバーフローやアンダーフローを防止し、データの損失を防止し、同時にデータ転送バスの利用効率を損なわないように暗号処理コントローラ318bの動作速度を制御しながら、画像処理装置110の省エネモードにおける消費電力をさらに低減させている。
【0045】
USBI/F320は、画像処理装置110の外部に接続されるUSBホストコントローラ(図示せず)からの信号を受領し、当該信号をサブCPU310に送付して処理を依頼する。割込みI/F322は、ネットワークI/F318がネットワーク150からデータを受領したことに応じて、サブCPU310に対して割込み要求を発行し、また、サブCPU310から通知を受領して、CPU134を起動するための割込み要求を発生させる。I/O制御部142は、PCIeなどのバスブリッジ324を介して、PCIeバス138を介してCPU134に対して割込み要求などを送付し、またCPU134によるデータの取得を可能としている。
【0046】
I/O制御部142は、さらにメモリ監視部330と、カウンタ332と、ログ作成部334とを含んでいる。メモリ監視部330は、データバッファ316のメモリ使用量を監視する手段であり、データバッファ316に空き容量がない場合には、割り込みI/F322にその旨の通知を発行してCPU134を起動させ、通信ログを取得させる。これにより、画像処理装置110が外部からデータを受信した場合に、その受信データやその復号データ、通信ログ等をバッファメモリに格納することによって生じるメモリオーバーフローを未然に防止することができ、データ損失を回避することができる。
【0047】
他の実施形態では、データバッファ316およびRAM314を統合して1のメモリとして構成することができ、この場合、メモリ監視部330は、この統合されたメモリを監視し、プログラムの実行に伴って変動するメモリ使用量を監視する。メモリ監視部330は、既定のメモリアドレスが割り振られたプログラム実行によって使用すべきメモリ領域うち、実際には使用されていないメモリ領域をそのメモリアドレスから判別し、当該未使用のメモリ領域をネットワークI/F318やログ作成部334に通知して、受信データや復号データ、通信ログ等のデータバッファ316に保存すべき情報を当該未使用のメモリ領域に保存する。これにより、より多くの通信ログ等のデータをバッファメモリに保存して、バッファメモリのオーバーフローを回避するとともに、CPU134の起動頻度を抑制して、省エネモードの画像処理装置が通常モードへ移行する頻度を低減し、省エネルギー化を実現することができる。
【0048】
カウンタ332は、時刻情報を算出するために、I/O制御部142のクロックジェネレータが生成するクロックパルスを計数して、そのカウンタ値を提供する電子回路であり、他の機能手段の要求に応じて、当該要求を受領した時点でのカウンタ値を提供する。本実施形態では、画像処理装置110が省エネモードに移行する度にカウンタ332が初期化される。
【0049】
ログ作成部334は、I/O制御部142が実行する処理に関する通信ログを作成する手段であり、データバッファ316に保存された通信ログ取得情報を参照して、作成すべき通信ログを判断し、作成した通信ログをデータバッファ316に格納する。また、ログ作成部334は、省エネモード移行時刻、カウンタ332が提供したカウンタ値、および当該カウンタ値を取得したときのクロックジェネレータが生成する動作クロックレートを用いて通信ログの作成時刻を算出し、通信ログとしてデータバッファ316に格納することができる。
【0050】
図4は、本実施形態のサブCPU310が実行するクロック制御処理のフローチャートである。図4の処理は、ステップS400で、画像処理装置110が省エネモードに遷移した段階で開始する。ステップS401では、サブCPU310がネットワークI/F318に問合わせを発行し、バッファメモリのメモリ利用度を検査する。ステップS402では、バッファのメモリデータ量が下限しきい値未満であるかを判断する。下限しきい値未満である場合(yes)、データの保存の観点からは不都合は生じないものの、データ転送バスの利用効率が低下することが予測されるので、処理をステップS405に分岐させ、暗号処理コントローラ318bの動作クロックレートを増加させた後、処理をステップS401に戻し、再度バッファメモリの利用度を検査する。
【0051】
一方、ステップS402で、バッファメモリのデータ量が下限しきい値以上の場合(no)、バッファメモリやデータ転送バスの利用効率には問題はないので、ステップS403で、バッファメモリのデータ量が上限しきい値を超えたか否かを判断する。ステップS403で、バッファメモリのデータ量が上限しきい値を超えた場合(yes)には、そのままのクロックレートで処理を継続するとバッファメモリのオーバーフローが予測されるので、ステップS404で暗号処理コントローラ318bの動作クロックレートを減少させ、処理をステップS401に戻し、バッファメモリの利用度を継続して検査する。
【0052】
すなわち、ステップS403で、バッファメモリのデータ量が上限しきい値を超える場合が発生するのは、主として暗号処理コントローラ318bの書込み速度が、外部通信速度および暗号強度との関係で増加していることが要因である。本実施形態では、サブCPU310が暗号文の復号処理を担当することによってサブCPU310のオーバーヘッドが大きく増加し、この結果、バッファメモリのデータ量が上限しきい値を超えるのは、データバッファ316への読出し要求が遅延する場合を除き、ネットワークI/F318のオートネゴシエーションに伴う外部通信速度の増加が発生しているか、暗号処理コントローラ318bのデフォルト設定動作クロックレートが、暗号強度および読出しレートに比較して高すぎることに起因する。
【0053】
このため、サブCPU310は、ステップS404で、当該外部通信速度および暗号強度に応じてデフォルトで設定された動作クロックレートを増加させるようにクロック制御部312を制御する。
【0054】
一方、ステップS403で、バッファメモリのデータ量が上限しきい値以下である場合(no)には、依然としてデータ損失およびデータ転送バス利用効率の問題が生じていないので、ステップS406で、通信制御部318cのレジスタメモリなどを検査して、オートネゴシエーションによる外部通信速度の低下を判断する。ステップS406の判定で、外部通信速度がネットワーク帯域幅との関連で低下したと判断した場合(yes)、バッファメモリの利用効率が低下する可能性を減らすため、ステップS404に処理を分岐させて、暗号処理コントローラ318bの動作クロックレートを減少させ、処理をステップS401に戻し、バッファメモリの利用度を継続して検査する。また、ステップS406で、外部通信速度が低下しない場合には(no)、さらにステップS407で外部通信速度が増加したか否かを判断し、外部通信速度が増加しない場合には(no)、処理をステップS401に戻し、同一の動作クロックレートにおけるバッファメモリの利用度を継続して検査する。
【0055】
一方、ステップS407で、外部通信速度が増加したと判断した場合には(yes)、バッファメモリの利用度には依然として余裕があるので、復号処理効率を向上させるべく処理をステップS405に分岐させて暗号処理コントローラ318bの動作クロックレートを増加させ、処理をステップS401に戻し、継続してバッファメモリの利用度を検査する。
【0056】
図4の処理により、動作クロックレートを外部通信速度または暗号強度に適合させ、データ転送バスの利用性を損なわないようにしながら、I/F制御部142の低消費電力化を可能とする。
【0057】
図5は、本実施形態で、本実施形態にI/O制御部142が実行する動作クロックレート制御処理のフローチャートである。図5の処理は、ステップS500で画像処理装置110が省エネモードに退避した段階で開始し、ステップS501で、ネットワークI/F318がデータを受信すると、ネットワークI/F318がデータを検査する。ステップS502では、データが暗号文であるか否かを判断し、暗号文でない場合には(no)、ステップS504に処理を分岐させ、クロック制御部312によるクロックレート制御下でネットワークコントローラ318aがバッファメモリに書込み処理を実行する。
【0058】
一方、ステップS502で、データが暗号文であると判断された場合(yes)、ステップS503で、暗号処理コントローラ318bがクロック制御部312のクロックレート制御下で、データの復号を実行し、ステップS504で暗号処理コントローラ318bが復号データをバッファメモリに書込む。
【0059】
ステップS505では、サブCPU310がバッファメモリからデータを読込んでバッファリングし、データの解析を行い、データが復帰要因か否かを検査する。ステップS506では、データ内容が復帰要因であるか否かの判断し、データが復帰要因であると判断した場合には(yes)、処理をステップS507に分岐させ、割込みI/F322に通知を発行し、管理ブロック130のCPU134に割込みを発生させ、CPU134を起動させ、CPU134に制御を渡してステップS509で処理を終了する。
【0060】
一方、ステップS506で、復帰要因に該当するデータではないと判断した場合(no)、処理をステップS508に分岐させ、サブCPU310単独でデータの処理を実行させた後、処理をステップS509で処理を終了し、次回のネットワーク150を介したデータ受信に応答して処理が呼出されるまで待機する。
【0061】
図6は、本実施形態でサブCPU310が、クロック制御部312を制御するために利用するクロック制御テーブル600の実施形態を示す。図6に示したクロック制御テーブル600は、サブCPU310のルックアップテーブルとして構成することができる。また、ネットワークI/F318にサブCPU310のクロック制御機能を一部分離実装する場合、ネットワークI/F318のルックアップテーブルとして実装することもできる。
【0062】
いずれの実施形態であっても、クロック制御テーブル600は、外部通信速度、暗号強度、およびバッファ状態に関連して、電力消費を削減するためにクロックレートを制御する実施形態において使用される。クロックレートは、本実施形態では、外部通信速度および暗号強度の向上に対応してクロックアップされ、外部通信速度および暗号強度の低下に対応してクロックダウンされる。外部通信速度の増減は、ネットワーク帯域幅などの関係で、ネットワークI/F318のオートネゴシエーション機能によって外部的要因で決定され、暗号強度の増減は、使用する暗号方法の条件に応じて決定される。本実施形態では、これらの外部要因によって発生するバッファメモリの利用度を検査して、暗号処理コントローラ318bの動作クロックを制御する。
【0063】
現在の外部通信速度は、ネットワークI/F318のPHYのレジスタメモリに登録されており、説明する実施形態では、サブCPU310は、データの割込み要求を受領した後、PHY318cに当該データ通信のビットレートを問合わせる。その後、サブCPU310は、クロック制御テーブル600のカラム610を参照し、次いで現在処理中のデータのSPI(Security Parameter Index)検索キーとして、暗号処理コントローラ318bなどが管理するSAテーブルを参照して、暗号方式および鍵長を判断する。暗号方式および鍵長が判断された後、図6のクロック制御テーブル600の外部通信速度、暗号方式および鍵長の指定が可能となる。
【0064】
その後、サブCPU310は、ネットワークI/F318が管理するバッファメモリのデータ量を判断し、クロック制御テーブル600に登録されたレコードに該当する条件か否かを判断し、フィールド650に登録されたクロック制御データを取得して、クロックレートの制御を行う。なお、画像処理装置110が省エネモードに遷移している場合であって、ネットワーク150を介してデータの受信処理を実行していない場合、ネットワークI/F318は、デフォルト設定のクロックレートとして可変制御可能なクロックレベルのうち、最低レベルのクロックレベルを設定することができる。当該実施形態の場合、サブCPU310は、データ受信の通知を受領して、クロック制御テーブル600のレコードを参照し、暗号処理コントローラ318bを含むネットワークI/F318の動作クロックレートを動的に制御することができる。
【0065】
図6のクロック制御テーブル600のフィールド650は、クロック制御部312が使用するクロック制御データctr0〜ctrn(nは、2に対応する。)を登録する。図6に示す実施形態では、クロック制御データは、nビット使用するものとして示されており、例えば、動作クロックレートを4段階で制御する場合、クロック制御データは、2ビットとでき、16段階制御する場合、クロック制御データは、4ビットとすることができ、64段階制御する場合には、クロック制御データは、8ビットとすることができる。クロック制御データctr0〜ctrnは、サブCPU310のレジスタメモリに設定され、後述するクロック制御部312の発生する動作クロックを制御する選択信号とされる。
【0066】
図7は、本実施形態のクロック制御部312の例示的な回路構成を示した図である。図7に示したクロック制御部312は、ネットワークI/F318を駆動しているネットワーククロックNetwork_CLKを、ネットワークI/F318から導出して入力として使用する。説明の便宜上、Network_CLKを生成するクロックジェネレータ710を示しているが、クロックジェネレータ710は、ネットワークI/F318の内部モジュールとしてもよく、また、本実施形態のクロック制御部312のモジュールとすることができ、適宜設定上の便宜および特定の適用形態に応じて選択することができる。
【0067】
クロックパルスNetwork_CLKは、同期式カウンタ720のCLOCK入力に入力される。同期式カウンタ720の出力Q〜Qは、それぞれクロックパルスNetwork_CLKを(1/2)(n=1、2、3、4)で分周したパルスを生成する。さらにクロックパルスNetwork_CLKは、第2の同期式カウンタ730のCLOCK入力に入力され、同期式カウンタ720のキャリーは、第2の同期式カウンタ730のENABLEに入力されていて、(1/2)(m=5、6、7、8)の分周パルスを生成する。なお、特定の用途に応じて、さらに同期式カウンタを使用することができる。また、図7に示した実施例では、画像処理装置110が動作モードで動作する場合に対応し、ネットワーククロックNetwork_CLKも後述するマルチプレクサに入力されている。
【0068】
ネットワーククロックNetwork_CLKおよび各同期式カウンタ720、730の出力パルスは、図7に示す実施形態では、16in1のマルチプレクサ740に入力されていて、制御信号crt0〜ctr3により出力Wが選択されている。なお、使用するマルチプレクサの入力ポート数については、必要とするクロックレベルに対応して適宜選択することができる。マルチプレクサ740の出力は、図7の実施形態ではインバータ750に入力された後、図3に示すように、暗号処理コントローラ318bの動作クロックとして再度ネットワークI/F318の少なくとも暗号処理コントローラ318bに戻されている。
【0069】
図7に示す実施形態では、サブCPU310は、ネットワーク状態やデータの暗号強度などの変更を検出すると、図6に示したクロック制御テーブル600を参照し、クロック制御テーブル600のフィールド650に登録された値をそれぞれの制御信号としてレジスタにセットして、マルチプレクサ740を制御する。また、本実施形態で、データ受信待機中にI/O制御部142の消費電力を最低化させる場合には、ネットワークI/F318全体の動作クロックレートを最低化させておくことができる。
【0070】
図7に示すように、回路ブロック760を追加し、インバータ750の出力を2in1のマルチプレクサ770の1のポートに入力するとともに、Network_CLKをマルチプレクサ770の他のポートに入力する。データ受信処理中の場合には、マルチプレクサ770はHレベルに設定される。図7に示す実施形態で、マルチプレクサ770に入力されるセレクト信号は、サブCPU310またはPHY/MAC318cから送付することができる。I/O制御部142は、データ受信期間中ではないと判断し省電力制御を行う場合、予め設定したタイマカウンタの満了時まで直前の動作クロックレートを保持し、その後にセレクト信号をLレベルに遷移させる。一方、データを受信した場合、セレクト信号をHに遷移させることで、直前の動作クロックレート環境にネットワークI/F318を復帰させることができ、当該画像処理装置110が設置されるネットワーク環境下で最も適切な動作クロックレート環境でネットワークI/F318を復帰させることが可能となる。
【0071】
一方、さらに他の実施形態では、ネットワークI/F318全体の動作クロックレートを最低化させておくこともできる。この結果、データ受信待機中には、暗号処理コントローラに入力される動作クロックがPHY/MAC318cおよびネットワークコントローラ318aにも入力され、全体としてネットワークI/F318の動作クロックレートが低下し、消費電力の削減を可能としている。
【0072】
なお、データ受信待機中に、ネットワークI/F318のいずれのモジュールを低動作クロックレートで起動するかについては、外部通信速度や画像処理装置110の省エネ要求に応じて適宜選択することができる。
【0073】
以下、本実施形態について、クロック制御部312およびサブCPU310を使用した省エネルギー処理の機能について説明する。
【0074】
好ましい実施形態では、ネットワークI/F318がデータを受信した場合、データ受信直前まで最低の動作クロックレートで機能していた暗号処理コントローラ318bは、割込み要求の発生により、まずネットワークI/F318の動作クロックレートで立ち上げられる。その後、ネットワークI/F318は、データの初期解析を実行し、ヘッダ情報などを使用してデータが暗号文であるか否かを検査する。ここで、ネットワークI/F318が、暗号アルゴリズムにDESが使用されているIPsecパケットを受領したものとする。
【0075】
この段階では、暗号処理コントローラ318bは、サブCPU310が設定するデフォルト設定の動作クロックレートで駆動される。暗号処理コントローラ318bは、当該デフォルト設定の動作クロックレートでDESを復号していくが、外部通信速度が高い場合には、ネットワーククロックとは非同期で駆動されている低消費電力対応のサブCPU310は、バッファメモリからの読み出しレートが暗号処理コントローラの書込みレートに追従できなくなり、この結果、バッファメモリのデータ量が増加し、最終的にはバッファメモリの上限しきい値を超えるまでに達する。
【0076】
この状態を放置すると、バッファオーバーフローが発生し、高付加価値の通信データが失われてしまう。そこで、サブCPU310は、暗号処理コントローラ318bに対して書込み禁止を指令し、図6のクロック制御テーブル600を参照し、現在のネットワーククロックレート、暗号方法、鍵長およびバッファメモリのメモリステータスを参照し、制御フラグを取得し、レジスタメモリに設定する。さらにサブCPU310は、設定されたレジスタメモリの値に対応してマルチプレクサ730を制御し、適切なクロックレートを選択して新たなレートの動作クロックを暗号処理コントローラへ供給し、書込み開始指令を発行する。当該書込みのレートは、直前の動作クロックレートよりも低いレートであり、バッファメモリのオーバーフローを回避することができる。
【0077】
一方、受信したデータの暗号強度が異なる場合には以下の処理が行われる。暗号アルゴリズムが、例えば、連続して受信したデータ間で3DESからDESに切り替わった場合には、暗号処理に要するオーバーヘッドが低下するので、相対的に書込みレートが増加し、バッファメモリへのデータ蓄積速度が高まり、バッファメモリのデータ蓄積量がバッファメモリの上限しきい値にまで達したときに、サブCPU310がバッファメモリの状態を検出して現在よりも高い最適なクロックレートを設定し、暗号処理を続行する。また、暗号方法が同一であっても鍵長が異なる場合、例えば、暗号方法がAESであっても鍵長が128ビットか256ビットでは、復号処理に要するオーバーヘッドが異なり、鍵長の長い方が、書込みレートは低下する。
【0078】
この結果、バッファメモリのデータ量が低くなり、データの復号が終了する前に当該データ量が下限しきい値未満となった場合、再度動作クロックレートの修正を行い、より高い動作クロックレートでの動作を開始する。反対に、鍵長が256ビットから128ビットにデータ間で変わる場合、同じASEの暗号方法であっても復号処理時間が相対的に短縮されるので、3DESからDESに切り替わった場合と同様に、書込みレートが増加し、この結果、動作クロックレートを増加することで対応することが可能となる。
【0079】
また、ネットワークI/F318が使用する動作クロックは、通信レートによって変化し、例えば10Mbpsであれば2.5Mbps、100Mbpsであれば25MHz、ギガビット・イーサネット(登録商標)であれば125MHzである。本実施形態にしたがい、I/O制御部142の消費電力を低減するために、ネットワークI/F318が本来利用すべき動作クロックを本実施形態のクロック制御部312が生成し、図7の回路ブロック760を使用して分周して後の動作クロックをネットワークI/F318に供給することができる。この実施形態の場合、省エネルギーを達成しながら、受信したデータの処理を可能とすることができる。さらに本実施形態では、ネットワークI/F318の待機状態の動作クロック設定を、最低動作周波数にしておくことで、省エネモードにある画像処理装置110のI/O制御部142のデータ受信待機中の消費電力をより一層抑制することが可能となる。
【0080】
図8および9は、本実施形態の画像処理装置110が省エネモードに移行し、外部からデータを受信したときに実行する処理のフローチャートであり、図8および9は、それぞれ管理ブロック130および外部通信ブロック140の処理を示している。図8の処理は、ステップS800で開始し、ステップS801で、CPU134が、DMACを介して画像処理装置110の省エネモード移行時刻をデータバッファ316に書込む。ステップS802では、CPU134が画像処理装置110を省エネモードに移行させる。
【0081】
ステップS801でデータバッファ316に省エネモード移行時刻が書込まれると、データバッファ316はI/O制御部142のサブCPU310に省エネモード移行時刻が書込まれたことを通知し、図9のステップS900でサブCPU310はカウンタ332を起動してカウントアップを開始する。本実施形態では、サブCPU310は、カウンタ332を起動するときの動作クロックレートを通信ログとしてRAM314やバッファメモリ316等に保存する。本実施形態では、サブCPU310は、カウンタ332の起動時に当該カウンタを初期化するが、起動時にカウンタを初期化しない実施形態の場合、カウンタ起動時の動作クロックレートの他、カウンタ起動時のカウンタ値を通信ログとして保存することが好ましい。
【0082】
ステップS901では、ネットワークI/F318がデータを受信したか否か判断する。ステップS901の判定でデータを受信したと判断した場合には(yes)、処理をステップS902に分岐させ、ステップS902でネットワークI/F318が受信データを検査する。一方、ステップS901の判定でデータを受信していないと判断した場合には(no)、ステップS901の処理を反復して受信データを待機する。なお、本実施形態では、ネットワークI/F318がステップS901の処理を反復して受信データを待機するが、他の実施形態では、ネットワークI/F318がH/Wが外部からのデータ受信の検知をトリガとして、ステップS902以降の処理を実行するようにしてもよい。
【0083】
ステップS903では、ネットワークI/F318が、受信したデータが暗号文であるか否かを判断し、暗号文でない場合には(no)、ステップS906に処理を分岐させ、クロック制御部312によるクロックレート制御下でネットワークコントローラ318aが、バッファメモリの受信データを書込むべき領域にFIFO方式で受信データを書込む。一方、ステップS903で、受信したデータが暗号文であると判断された場合(yes)、ステップS904で、暗号処理コントローラ318bがクロック制御部312のクロックレート制御下で受信データの復号処理を実行し、バッファメモリの復号データを書込むべき領域にFIFO方式で復号データを書込む。
【0084】
ステップS905では、ログ作成部334が、データバッファ316に保存された通信ログ取得情報に含まれるログ取得条件を参照して、通信ログを作成すべきか否か判断し、通信ログを作成すべきであると判断した場合には(yes)、処理をステップS907に分岐する。例えば、ログ取得条件が通信エラー時にのみ通信ログを取得する設定となっている場合、暗号処理コントローラ318bによる受信データの復号処理が失敗したとき、ログ作成部334は、通信ログを作成すべきであると判断する。
【0085】
ステップS907では、ログ作成部334が、データバッファ316に保存されている省エネモード移行時刻およびカウンタ332起動時の動作クロックレートと、現在のカウンタ値とを用いてログ作成時刻を算出し、データバッファ316に書込まれた通信ログ取得情報に含まれるログ取得内容を参照して、データバッファ316に書込まれた受信データまたは復号データから通信ログとして保存すべきデータを判断し、データバッファ316の通信ログが保存されるべきメモリ領域に保存する。
【0086】
ステップS908では、メモリ監視部330がデータバッファ316に受信データや通信ログ等を格納可能な空き領域があるか否か判断し、空き領域があると判断した場合には(yes)、処理をステップS901に戻し、ネットワーク150を介したデータ受信を待機する。一方、ステップS908の判定で空き領域が無いと判断した場合には(no)、処理をステップS909に分岐させる。本実施形態では、現在のバッファメモリの使用量が、許容可能なバッファメモリの使用量を示すしきい値を超えるか否かを判断し、または未使用のバッファメモリの最小アドレス値が、使用可能なバッファメモリのアドレス値を示すしきい値を超えるか否かを判断することにより、データバッファ316に空き領域があるか否か判断することができる。これらのしきい値は、バッファメモリに保存されるデータ量やバッファメモリサイズ等に応じて適宜変更することができる。
【0087】
一方、ステップS905の判定で通信ログを作成すべきでないと判断した場合には(no)、処理をステップS910に分岐する。例えば、ログ取得条件が通信エラー時にのみ通信ログを取得する設定となっている場合、暗号処理コントローラ318bによる受信データの復号処理が成功したときには、ログ作成部334は通信ログを作成すべきでないと判断する。ステップS910では、サブCPU310がバッファメモリからデータを読込んで解析を行い、データが復帰要因か否かを検査する。ステップS911では、データ内容が管理ブロックのCPU134の復帰要因であるか否かの判断し、データが復帰要因であると判断した場合には(yes)、処理をステップS909に分岐させる。一方、ステップS911の判定で、復帰要因に該当するデータではないと判断した場合には(no)、処理をステップS912に分岐させ、ステップS912でサブCPU310が単独でデータの処理を実行する。ステップS913では、メモリ監視部330がデータバッファ316に受信データや通信ログ等を格納可能な空き領域があるか否か判断し、空き領域があると判断した場合には(yes)、処理をステップS901に戻し、ネットワーク150を介したデータの受信を待機する。一方、ステップS913の判定で空き領域が無いと判断した場合には(no)、処理をステップS909に分岐させる。ステップS909では、割込みI/F322に通知を発行し、CPU134に対して割込みを発生させて起動し、CPU134に制御を渡す。
【0088】
次いで、図8のステップS803では、ログ取得部137が、割り込み要因に基づいてデータバッファ316から通信ログを取得すべきか否か判断する。すなわち、割り込み要因には、I/O制御部142で通信ログを作成したことを示す情報を含ませることができ、本実施形態では、これらの情報を使用して通信ログを取得すべきか否か判断することができる。この場合、通信ログが作成されたことを示すフラグ情報をログ作成部334がデータバッファ316に保存しておき、割り込みI/F322は、当該フラグ情報を参照することにより、通信ログが作成されたことを示す情報を含んだ割り込み要因を通知することができる。他の実施形態では、データバッファ316の通信ログが書込まれるべき領域に通信ログが書込まれているか否かを判断することにより、通信ログを取得すべきか否か判断することができる。
【0089】
ステップS803の判定で通信ログを取得すべきであると判断された場合には(yes)、処理をステップS804に分岐させる。ステップS804では、ログ取得部137が、DMACを介してI/O制御部142のデータバッファ316から通信ログを取得して、当該通信ログを不揮発性記憶装置160に保存する。ステップS805では、ログ取得部137がI/O制御部142のデータバッファ316をクリアさせ、ステップS807で処理を終了する。一方、ステップS803の判定で通信ログを取得すべきでないと判断した場合には(no)、処理をステップS806に分岐させ、ステップS806でCPU134が受信データの内容に応じた処理を実行し、ステップS807で処理を終了する。
【0090】
本実施形態では、I/O制御部142のログ作成部334がログ作成時刻を算出するが、他の実施形態では、管理ブロック130のログ取得部137がログ作成時刻を算出するように構成してもよい。この場合、CPU134は、省エネモード移行時に省エネモード移行時刻をデータバッファ316に書込まず、I/O制御部142のログ作成部334は、通信ログを作成すべきであると判断したときにカウンタ332を起動してカウントを開始させ、そのときの動作クロックレートをデータバッファ316に書込む。そして、ログ作成部334は、管理ブロック130のCPU134に制御を移行する直前に、カウンタ332のカウンタ値をデータバッファ316に書込む。管理ブロック130のCPU134が起動し、ログ取得部137がログを取得すべきと判断した場合、ログ取得部137は、データバッファ316に書込まれているカウンタ値および動作クロックレートと、現在時刻とを用いて、ログ作成時刻を算出する。例えば、CPU134に制御が移行する直前のカウンタ値が30,000、ログ取得時刻である現在時刻が9時00分00秒、動作クロックレートが1kHzであると仮定すると、カウンタ値(30,000)と動作クロックレート(1kHz)とを除算して得られた商を現在時刻(9時00分00秒)から減算した時刻である8時59分30秒が、ログ作成時刻となる。このように、ログ取得時刻を基準にして正確なログ作成時刻を算出することができる。
【0091】
この実施形態では、通信ログが複数回に亘って作成される場合、ログ作成部334は、カウンタ始動時のカウンタ値および通信ログを作成するときのカウンタ値をデータバッファ316に保存することができる。例えば、2つの通信ログを作成して取得する場合、最初の通信ログのカウンタ値(0)、2回目の通信ログのカウンタ値(10,000)、および管理ブロック130のCPU134に制御が移行する直前のカウンタ値(30,000)がデータバッファ316に保存される。ログ作成部334は、データバッファ316に保存されたこれらのカウンタ値および動作クロックレートと、現在時刻を用いてログ作成時刻を算出することができる。例えば、現在時刻が9時00分00秒、動作クロックレートが1kHzであると仮定すると、上述した例では、最初の通信ログの作成時刻は8時59分30秒となり、2回目のログの作成時刻は8時59分40秒となる。したがって、通信ログが複数回に亘って作成される場合にも、正確な通信ログの作成時刻を算出することができる。
【0092】
さらに、この実施形態では、クロック制御部312により動作クロックレートが変更された場合、ログ作成部334は、動作クロックレートが変更されたときのカウンタ値を通信ログとしてデータバッファ316に保存することができる。管理ブロック130のログ取得部137は、データバッファ316に保存されたカウンタ値および当該カウンタ値を取得したときの動作クロックレートと、ログ取得時刻である現在時刻を用いてログ作成時刻を算出する。これにより、動作クロックレートが変更された場合にも正確なログ作成時刻を算出することができる。
【0093】
図10は、本実施形態の通信ログ取得情報設定画面1010を示す図である。通信ログ取得情報設定画面1010は、画像処理装置110の操作パネルに表示され、ユーザが通信ログの設定情報を指定するためのユーザインタフェースである。通信ログ取得情報設定画面1010は、通信ログの取得条件であるログ取得条件を設定するログ取得条件設定フィールド1020と、通信ログとして保存および取得すべき内容であるログ取得内容とを設定するログ取得内容設定フィールド1030とを含む。
【0094】
ログ取得条件設定フィールド1020は、全ての通信ログを取得するよう指定するボタン1022と、通信処理がエラーとなったときの通信ログのみを取得するよう指定するボタン1024とを含む。ボタン1022は、I/O制御部142が実行した処理の全てのログを保存することを指定することができる。ボタン1024は、I/O制御部142が実行した処理のうち、エラーとなった処理のログのみを保存することを指定することができる。
【0095】
ログ取得内容設定フィールド1030は、受信データの送信元である通信相手1032と、受信データの通信プロトコル1034と、外部と通信処理を開始した通信発生時間1036と、通信処理の状態を示す通信状態1038とを通信ログとして保存するか否かを指定することができる。通信相手1032は、受信データの送信元である通信相手を特定する情報であり、I/O制御部142のログ作成部334は、受信データに含まれるIPアドレスやMACアドレス等から判断することができる。通信プロトコル1034は、受信データの通信プロトコルであり、ログ作成部334は、受信データを構成するヘッダ長さやデータ形式、プロトコル番号、ポート番号等のプロトコル識別情報から通信プロトコルの種類を判断することができる。
【0096】
通信発生時間1036は、I/O制御部142が外部からデータを受信したときの時刻であり、本実施形態では、ネットワークI/F318が、外部からデータを受信したときのカウンタ値をRAM等に保存しておき、ログ作成部334が、上述したログ作成時刻の算出方法と同様の方法により通信発生時刻を算出することができる。
【0097】
通信状態1038は、通信処理に関連する処理、例えば、受信処理、復号処理、バッファメモリへの書込みまたは読込み処理、カウンタの計数処理等がエラーであるかまたは正常であるかを示す。本実施形態では、通信状態を通信ログとして保存するように設定されている場合、I/O制御部142内の各機能手段は、各機能手段が実行した処理の種類と処理結果とをRAM等に一時的に保存し、ログ作成部334は、バッファメモリに保存されている通信ログ取得情報の通信状態を参照して、通信状態を通信ログとして保存するか否か判断し、RAM等に保存された各機能手段が実行した処理の種類と処理結果とを通信ログとしてバッファメモリ316に保存する。
【0098】
他の実施形態の通信ログ取得情報設定画面では、上述した通信ログ取得情報の他、受信データや復号データ等の通信データを通信ログとして保存するか否かを指定することができる。この実施形態では、ログ作成部334が、受信データや復号データが通信ログとしてバッファメモリ316に保存し、ログ取得部137が、当該受信データや復号データを通信ログとして記憶装置160に保存する。この場合、受信データや復号データは、ネットワークI/F318およびログ作成部334が重複してバッファメモリ316に保存するのではなく、メモリ資源節約のためにログ作成部334単独でバッファメモリ316に保存するのが好ましい。
【0099】
本実施形態の上記機能は、アセンブラ、C++、Java(登録商標)などのレガシープログラミング言語および適宜オブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本発明のプログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【0100】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0101】
100…機能構成(画像処理装置)、110…画像処理装置、120…処理実行ブロック、122…スキャナ部、124…ASIC、126…プリンタ部、130…管理ブロック、132…画像処理部、134…CPU、136…RAM、137…ログ取得部、138…PCIeバス、139…操作画面処理部、140…外部通信ブロック、142…I/O制御部、150…ネットワーク、160…記憶装置、170…リアルタイムクロック
【先行技術文献】
【特許文献】
【0102】
【特許文献1】特開2004−243533号公報
【特許文献2】特開2004−362282号公報
【特許文献3】特開2007−296723号公報
【特許文献4】特開2008−270918号公報
【特許文献5】特開2008−305209号公報

【特許請求の範囲】
【請求項1】
外部通信に応答して画像処理を制御する画像処理装置であって、前記画像処理装置は、
画像処理装置の機能を管理する主制御手段と、
ネットワークを介して受信するデータの内容に応答して前記主制御手段の処理を代行するインタフェース制御手段と
を含み、前記インタフェース制御手段は、外部通信速度と前記データの暗号強度とに応じて前記データの前記インタフェース制御手段の内部でのデータ転送効率に関連する動作クロックレートを可変制御する、画像処理装置。
【請求項2】
前記インタフェース制御手段は、前記動作クロックの可変制御により、前記データの受信を待機している期間中での前記インタフェース制御手段の電力消費を低下させる、請求項1に記載の画像処理装置。
【請求項3】
前記インタフェース制御手段は、前記主処理手段の処理を代行させるための代行手段と、
平文の前記データを前記代行手段または前記主制御手段が取得するまで格納するデータバッファと、
前記ネットワークを介して送受信されるデータの送受信を管理する外部通信管理手段と、
前記外部通信管理手段が利用する動作クロックレートを、前記インタフェース制御手段の内部での前記データ転送効率に応答して制御するクロック制御手段とを含み、
前記クロック制御手段は、前記データの外部通信速度および前記データが暗号化されている場合の暗号強度に応じて前記動作クロックレートを管理して、請求項1または2に記載の画像処理装置。
【請求項4】
前記外部通信管理手段は、
平文データの転送先を管理するネットワーク制御手段と、
前記データが暗号化されている場合に前記データを復号する暗号処理手段と、
前記ネットワークから前記データを受信するPHY/MAC機能を提供する通信制御手段とを含み、
前記インタフェース制御手段は、前記データ転送効率が低下すると判断した場合に、少なくとも前記暗号処理手段を駆動するための動作クロックレートを変更することにより、データ転送状態による前記データ転送効率の低下を防止する、請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記インタフェース制御手段は、前記外部通信管理手段が前記ネットワークからの前記データを処理していない期間、前記動作クロックレートを前記クロック制御手段が制御可能な最低の動作クロックレートに設定し、前記データの受信に応答して、前記データ転送効率を最適化する動作クロックレートを設定する、請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記画像処理装置はさらに、
前記インタフェース制御手段が実行する処理のうちログを取得すべき処理を指定可能なログ取得情報を指定するユーザインタフェースを制御する操作画面処理手段を含み、
前記インタフェース制御手段はさらに、
前記ログ取得情報に基づいて、前記インタフェース制御手段が実行する処理のうち、いずれの処理のログを作成すべきか否か判断してログを作成するログ作成手段と、
前記ログが保存される前記データバッファのメモリ使用量を監視するメモリ監視手段とを含み、
前記ログ作成手段は、前記ログ取得情報によりエラー時の処理のログを取得するように指定されている場合に、前記インタフェース制御手段でエラーとなった処理のログのみを作成し、
前記メモリ監視手段は、前記データバッファのメモリ使用量がしきい値を超えるか否か判断し、前記メモリ使用量が前記しきい値を超えると判断した場合に、休止状態である省エネモードの前記主制御手段を復帰させる、請求項3に記載の画像処理装置。
【請求項7】
前記画像処理装置はさらに、
現在時刻を計測および提供可能なリアルタイムクロックを含み、
前記インタフェース制御手段はさらに、
前記インタフェース制御手段の動作クロックを計数してカウンタ値を提供するカウンタを含み、
前記主制御手段は、前記画像処理装置が省エネモードに移行する際の省エネモード移行時刻を前記データバッファに格納し、
前記ログ作成手段は、ログ作成時のカウンタ値と、前記カウンタ値の取得時の動作クロックレートと、前記データバッファに格納された前記省エネモード移行時刻とを用いてログ作成時刻を算出する、請求項6に記載の画像処理装置。
【請求項8】
前記画像処理装置はさらに、
現在時刻を計測および提供可能なリアルタイムクロックと、
前記データバッファからログを取得して記憶装置に保存するログ取得手段とを含み、
前記インタフェース制御手段はさらに、
前記インタフェース制御手段の動作クロックを計数してカウンタ値を提供するカウンタを含み、
前記ログ取得手段は、ログ作成時のカウンタ値と、前記主制御手段が省エネモードから復帰するときのカウンタ値と、前記カウンタ値の取得時の動作クロックレートと、前記データバッファからログを取得する時刻とを用いてログ作成時刻を算出する、請求項6に記載の画像処理装置。
【請求項9】
前記しきい値は可変である、請求項6〜8のいずれか1項に記載の画像処理装置。
【請求項10】
画像処理装置が外部通信に応答して画像処理を制御するためのデータ処理方法であって、前記データ処理方法は、前記画像処理装置が、
ネットワークを介してデータの受信を待機するステップと、
前記ネットワークを介して前記データを受信したことに応答して、前記データが暗号文か平文かを判断し、前記データが暗号文である場合に、前記データを前記暗号文に対応して復号処理を実行するステップと、
復号された平文データをバッファメモリに書込むステップと、
前記バッファメモリから前記画像処理装置のモード状態を遷移させるか否かを判断させるため前記平文データを前記バッファメモリからデータバッファに読込ませるステップと
を含み、
前記バッファメモリに書込むステップは、
前記バッファメモリの利用度を検査し、前記利用度を設定された上限値および下限値と比較するステップと、
前記比較するステップの結果、前記利用度が前記上限値を超えた場合および前記下限値未満の場合に前記平文データのデータ転送を前記バッファメモリの利用度を前記上限値および下限値の間の利用度とするように、前記復号処理の動作クロックレートを可変制御するステップと
を実行するデータ処理方法。
【請求項11】
画像処理装置が外部通信に応答して画像処理を制御するためのデータ処理方法であって、前記データ処理方法は、前記画像処理装置が、
ネットワークを介してデータの受信を待機するステップと、
前記ネットワークを介して前記データを受信したことに応答して、ログを取得すべきか否か指定可能なログ取得情報に基づいて、いずれの通信処理のログを作成すべきか否か判断してログを作成するステップと、
前記ログが保存されるデータバッファのメモリ使用量を監視するステップとを含み、
前記ログを作成するステップは、前記ログ取得情報によりエラー時のログを取得するように指定されている場合に、エラーとなった通信処理のログのみを作成するステップと、
前記監視するステップは、前記データバッファのメモリ使用量がしきい値を超えるか否か判断し、前記メモリ使用量が前記しきい値を超えると判断した場合に、休止状態である省エネモードの前記画像処理装置を復帰させるステップと
を実行するデータ処理方法。
【請求項12】
画像処理装置に対して、請求項10または11に記載のステップを実行させるための装置実行可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−246096(P2010−246096A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2010−38497(P2010−38497)
【出願日】平成22年2月24日(2010.2.24)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】