(57)【特許請求の範囲】
【請求項１】
メモリ上のデータを転送する複数の転送手段と、
前記複数の転送手段により転送されたデータに処理を施すデータ処理手段と、
前記複数の転送手段からの複数のデータ転送要求をアビトレーションするアビトレーション手段と、
前記データ処理手段における処理に関するパラメータを前記複数の転送手段ごとに保持するパラメータ保持手段と、
前記アビトレーション手段によるアビトレーションの結果に基づき、前記パラメータ保持手段により保持されているパラメータを前記データ処理手段に出力するパラメータ出力手段と、
前記データ処理手段により処理されたデータの出力先を選択する出力先選択手段と、を有し、
前記データ処理手段は、前記パラメータ出力手段により出力されたパラメータに基づき処理を行い、動作状況を示す動作中判別信号を前記アビトレーション手段に送信し、
前記アビトレーション手段は、前記複数のデータ転送要求それぞれの優先度が記述されたアビトレーションポリシーを保持しており、当該アビトレーションポリシーと前記動作中判別信号とに基づき、前記複数のデータ転送要求をアビトレーションし、
前記出力先選択手段は、前記アビトレーション手段によるアビトレーションの結果と前記動作中判別信号に基づき、前記データ処理手段により処理されたデータの出力先を選択することを特徴とする情報処理装置。
【請求項２】
前記データ処理手段により施される処理が暗号化処理であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ処理手段により施される処理が圧縮伸張処理であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記アビトレーションポリシーを設定する設定手段を有することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記複数の転送手段は、前記データ転送要求をページ単位で行うことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記データ処理手段における処理に関するデータを保持するデータ保持手段を有し、
前記複数の転送手段は、前記データ転送要求をライン単位で行い、
前記データ保持手段は、前記データ処理手段により処理の完了したバンドの最終ラインのデータを保持していることを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理を並列で行う情報処理装置に関する。
【背景技術】
【０００２】
近年、機密情報の漏洩などを防ぐことを目的として、ＭＦＰ（Multi Function Products:デジタル複合機）などでもセキュリティー機能を搭載することが必須となってきている。セキュリティー機能の１つとして、ＭＦＰで扱うデータを暗号化する方法がある。この暗号化をハードウェアにより実現する方法としては、ＡＳＩＣ内に暗号化回路を備える方法が既に知られている。
【０００３】
しかしながら、今までの、データを暗号化する機能を有するＭＦＰでは、多種多様なアプリケーションが並列で実行される場合に、各アプリケーションが扱うデータの暗号化を並列で処理するためには複数の暗号化回路をＡＳＩＣ内に備えるようにしなければならなかった。暗号化回路は一般的に複雑で回路規模が大きい。このため、複数の暗号化回路を備えるようにすると回路規模が大きくなってしまうという問題があった。
【０００４】
複数の暗号化回路を備えずに、複数のアプリケーションが扱うデータの暗号化を並列で処理を行うためには、それぞれのアプリケーションが扱うデータのデータパスを制御する必要がある。例えば、特許文献１では、転送するデータがバンドごとに異なるデータ種であっても、１回の画像データ転送により高速に正しくデータ転送できるようにするために、バンドごとにどのようなデータ種であるかをディスクリプタ領域にあらかじめ記述しておき、このディスクリプタ領域の情報に基づき、バンドごとにデータパスを切り替える方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１において開示された方法では、データ処理を並列で行うためにはその処理を行う回路を複数備える必要がある。
【０００６】
そこで本発明は、上記問題点に鑑みてなされたもので、最小限の回路規模により複数の暗号化処理を並列に行う情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明における情報処理装置は、メモリ上のデータを転送する複数の転送手段と、前記複数の転送手段により転送されたデータに処理を施すデータ処理手段と、前記複数の転送手段からの複数のデータ転送要求をアビトレーションするアビトレーション手段と、前記データ処理手段における処理に関するパラメータを前記複数の転送手段ごとに保持するパラメータ保持手段と、前記アビトレーション手段によるアビトレーションの結果に基づき、前記パラメータ保持手段により保持されているパラメータを前記データ処理手段に出力するパラメータ出力手段と、前記データ処理手段により処理されたデータの出力先を選択する出力先選択手段と、を有し、前記データ処理手段は、前記パラメータ出力手段により出力されたパラメータに基づき処理を行い、動作状況を示す動作中判別信号を前記アビトレーション手段に送信し、前記アビトレーション手段は、前記複数のデータ転送要求それぞれの優先度が記述されたアビトレーションポリシーを保持しており、当該アビトレーションポリシーと前記動作中判別信号とに基づき、前記複数のデータ転送要求をアビトレーションし、前記出力先選択手段は、前記アビトレーション手段によるアビトレーションの結果と前記動作中判別信号に基づき、前記データ処理手段により処理されたデータの出力先を選択することを特徴とする。
【発明の効果】
【０００８】
本発明により、最小限の回路規模により複数の暗号化処理を並列に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る情報処理装置を備えたＭＦＰの構成を示す図である。
【図２】本発明の実施形態に係る情報処理装置を備えたＭＦＰの外部インターフェイス制御ＡＳＩＣの内部構造を示す図である。
【図３】メインメモリ上に配置された画像データとＤＭＡＣの動作単位について説明する図である。
【図４】本発明の実施形態に係る情報処理装置を備えたＭＦＰのセキュリティー暗号化制御回路を説明する図である。
【図５】本発明の実施形態に係る情報処理装置を備えたＭＦＰにおけるセキュリティー暗号化制御回路の並列処理時の処理動作を説明する図である。
【発明を実施するための形態】
【００１０】
本発明の実施の形態を説明する。本発明は、ＭＦＰなどで複数のアプリケーションが暗号化の並列処理に際して、以下の特徴を有する。要するに、複数のアプリケーションごとの暗号化動作のパラメータを保持し、暗号化処理要求ごとに暗号化動作パラメータおよび、入出力データパスを切り替えることが特徴になっている。上記記載の本発明の特徴について、以下の図面を用いて詳細に解説する。
【００１１】
図１は本発明の実施形態に係る情報処理装置を備えたＭＦＰの構成を示す図である。ＭＦＰは、ＣＰＵ１と、メインメモリ２と、システムバス３と、スキャナ装置４と、スキャナ制御ＡＳＩＣ５と、プロッタ装置６と、プロッタ制御ＡＳＩＣ７と、外部インターフェイス制御ＡＳＩＣ８と、を有して構成される。
【００１２】
ＣＰＵ１は、本ＭＦＰを制御するためのものである。メインメモリ２は、ＣＰＵ１が本ＭＦＰを制御するためのプログラムが展開され、そのワーク領域として使用されたり、本ＭＦＰが扱う画像データなどを一時保管したりする。システムバス３は、ＣＰＵ１と各制御ＡＳＩＣとを接続するためのバスであり、ＰＣＩエクスプレスなどの高速バスが用いられたりする。
【００１３】
スキャナ装置４は、コピーする画像データや外部インターフェイスへ出力するための画像データを読み取る機能を有している。スキャナ制御ＡＳＩＣ５は、スキャナ装置４により読み取られた画像データに対して画像処理を行い、システムバス３を介してメインメモリ２に画像データを蓄積する。
【００１４】
プロッタ装置６は、メインメモリ２に置かれた画像データを印刷するための機能を有している。
プロッタ制御ＡＳＩＣ７は、メインメモリ２に置かれた画像データをプロッタ装置６により印刷できるように画像処理したり、プロッタ装置６の印刷タイミングにあわせて画像データを送ったりする。
【００１５】
外部インターフェイス制御ＡＳＩＣ８は、ＭＦＰに付加機能を与えるための外部インターフェイス、例えば、ネットワークインターフェイス、ＵＳＢ、ＳＤカードなどのインターフェイスや画像処理を高速化するためのハードウェアアクセラレータ、暗号化処理回路などを備えている。
【００１６】
図２は、本発明の実施形態に係る情報処理装置を備えたＭＦＰの外部インターフェイス制御ＡＳＩＣ８の内部構造を示す図である。外部インターフェイス制御ＡＳＩＣ８は、ネットワークインターフェイス回路２１と、セキュリティー暗号化回路２２と、を備えており、ホストインターフェイス制御回路２３と、アービタ２４と、各ＤＭＡＣ（Direct Memory Access Controller）２５〜２８と、ネットワークインターフェイス制御回路２９と、セキュリティー暗号化制御回路３０と、を備えている。
【００１７】
ホストインターフェイス制御回路２３は、システムバス３との接続制御を行い、ＣＰＵ１からネットワークインターフェイス制御回路２１やセキュリティー暗号化制御回路２２、および各ＤＭＡＣ２５〜２８に対するレジスタ設定や、メインメモリ２上のデータをReadＤＭＡＣ２５、２７により読み込んだり、処理後のデータをWriteＤＭＡＣ２６、２８により書き込んだりするデータパスの制御を行う。システムバス３がＰＣＩエクスプレスの場合、ホストインターフェイス制御回路２３は、ＰＣＩエクスプレスのエンドポイント回路などに相当する。
【００１８】
アービタ２４は、各ＤＭＡＣ２５〜２８からのシステムバス３越しのメインメモリ２へのアクセスを調停する。
【００１９】
例えば、メインメモリ２上の画像データを暗号化処理する場合（図２の（１）のデータフロー）の動作概要を説明する。メインメモリ２上に置かれた画像データをReadＤＭＡＣ２７により読み込み、セキュリティー暗号化制御回路３０に転送する。画像データは、さらにセキュリティー暗号化制御回路３０からセキュリティー暗号化回路２２に転送されて暗号化される。暗号化されたデータは、再びセキュリティー暗号化制御回路３０を介して、WriteＤＭＡＣ２８によりメインメモリ２上に書き戻される。つまり、メインメモリ２に書き込まれる。
【００２０】
また、メインメモリ２上の画像データを暗号化してネットワークインターフェイスに送信する場合(図２の（２）のデータフロー)の動作概要を説明する。メインメモリ２上に置かれた画像データをReadＤＭＡＣ２７により読み込み、暗号化する場合はセキュリティー暗号化制御回路３０に転送する。画像データは、さらにセキュリティー暗号化制御回路３０からセキュリティー暗号化回路２２に転送され暗号化される。暗号化されたデータは、ネットワークインターフェイス制御回路２１に転送され、さらにネットワークインターファイス回路２１を通して外部のネットワークインターフェイスへ送信される。
【００２１】
図３は、メインメモリ２上に配置された画像データとＤＭＡＣ２５〜２８の動作単位について説明する図である。メインメモリ２上に置かれた画像データは、複数に分割され、バンドと呼ばれる単位で扱われる。暗号化処理はこのバンド単位で行われ、各バンドのデータ転送開始を暗号化処理要求として扱う。ＤＭＡＣは、バンドごとに用意されたメインメモリ２上のディスクリプタを読み込んでその内容を参照しながらデータ転送を行う。
【００２２】
NextDescripterPointerは、次のバンドのディスクリプタがメインメモリ２上のどこのアドレスにあるかを示し、StartAddressは、そのバンドで転送すべき画像データの先頭アドレスを示す。Sizeは、そのバンドで転送すべき画像データの転送量を示し、ModeはＤＭＡＣが特殊動作を行う場合のフラグなどが示されている。
【００２３】
例えば、ＤＭＡＣはバンド１の処理が完了したら、NextDescripterPointerに示すアドレスからバンド２のディスクリプタを読み込み、StartAddress、Size、Modeに従い、転送動作を開始する。バンド単位の動作が完了したときにNextDescripterPointerが「０」であった場合はそのバンドでＤＭＡＣ全体の動作が完了することになる。
【００２４】
図４は、本発明の実施形態に係る情報処理装置を備えたＭＦＰのセキュリティー暗号化制御回路を説明する図である。図５は、本発明の実施形態に係る情報処理装置を備えたＭＦＰにおけるセキュリティー暗号化制御回路の並列処理時の処理動作を説明する図である。メインメモリ２上の画像データをセキュリティー暗号化回路２２で暗号化してメインメモリ２に書き戻すアプリケーションＡと、メインメモリ２上の画像データをセキュリティー暗号化回路２２で暗号化してネットワークインターフェイスに送信するアプリケーションＢと、が並列に動作した場合のＭＦＰにおける処理動作を、図４と図５を参照しながら説明する。
【００２５】
ＣＰＵ１によりアプリケーションＡに関する暗号化動作パラメータ（暗号化モードや暗号化に関するテーブルや暗号鍵などのパラメータ）とアプリケーションＢに関する暗号化動作パラメータがセキュリティー暗号化制御回路２２内のパラメータレジスタ３１に設定される（Ｓ１０１、Ｓ１０２）。このパラメータレジスタ３１は、並列動作するアプリケーションの数だけレジスタセット群があるものとする。
【００２６】
次に、各アプリケーションはＤＭＡＣを起動させてデータ転送を開始する。各アプリケーションが転送を行うデータの１バンド目のデータ転送開始信号よりセキュリティー暗号化制御回路３０は暗号化処理要求を受け付けて（Ｓ１０３）、アービタ回路３２によりアビトレーション（調停）処理を行う（Ｓ１０４）。つまり、各アプリケーションとセキュリティー暗号化回路３０との間でのデータの入出力の調停を行う。
【００２７】
ここでは、アプリケーションＢの優先順位が高いアビトレーションポリシーだったとする。つまり、アプリケーションＢのデータの暗号化をアプリケーションＡのデータの暗号化に優先して行うアビトレーションポリシーであったとする。アービタ回路３２のアビトレーションポリシーは、各アプリケーションのリアルタイム性などに応じてレジスタ設定などで変更できるものとする。
【００２８】
セキュリティー暗号化制御回路３０はこのアビトレーション結果に応じて動作パラメータ設定レジスタに保持されたアプリケーションＡ用の暗号化動作パラメータまたはアプリケーションＢ用の暗号化動作パラメータを選択し、セキュリティー暗号化回路２２に出力する。ここでは、まず、アプリケーションＢの暗号化動作パラメータを出力する（Ｓ１０５）。
【００２９】
次に、セキュリティー暗号化制御回路３０は、暗号化すべきデータをセキュリティー暗号化回路２２に転送する（Ｓ１０６）。
【００３０】
セキュリティー暗号化回路２２は、入力されたデータを暗号化動作パラメータに従い、暗号化を開始する（Ｓ１０７）。
【００３１】
セキュリティー暗号化回路２２は、最初のデータの暗号化（暗号化回路の特性によりライン単位だったり特定データ量単位だったりする）が完了し、暗号化データを出力する前にセキュリティー暗号化制御回路３０に対して暗号化データの出力開始信号を出力する（Ｓ１０８）。
【００３２】
セキュリティー暗号化制御回路３０は、この暗号化データ出力開始信号とアービタ回路３２からのアビトレーション結果を示す信号により出力すべきデータパスを決定して切り替える（Ｓ１０９）。ここでは、アプリケーションＢのデータパスを選択する。
【００３３】
暗号化されたデータは、処理要求元の回路に転送され（Ｓ１１０）、１バンド分のデータの暗号化処理が完了したときに、セキュリティー暗号化回路２２はセキュリティー暗号化制御回路３３に対して暗号化データの出力終了信号を出力する（Ｓ１１１）。
【００３４】
アービタ回路３２は、この暗号化データの出力終了信号により新たなアビトレーション処理が行われる（Ｓ１１２）。
【００３５】
ここでは、アプリケーションＡの暗号化処理要求がwaitされているので、これを受け付けて上述の同様にアプリケーションＡの１バンド目の暗号化処理が行われる（Ｓ１１３〜Ｓ１１９）。
【００３６】
以降、アプリケーションＡとアプリケーションＢのバンド単位ごとに暗号化処理が並列処理される動作となる。
【００３７】
つまり、本発明の実施形態に係る情報処理装置における処理動作では、上記のように、セキュリティー暗号化回路２２は、動作状況を示す動作中判別信号として、暗号化データを出力する前には出力開始信号を、暗号化処理が完了したときは出力終了信号を、セキュリティー制御回路３３に出力する。セキュリティー制御回路３０のアービタ回路３２は、この動作中判別信号とアビトレーションポリシーとに基づいて、上記のように、データの流れの調停を行う。
【００３８】
なお、上記の処理動作において、各アプリケーションからの暗号化処理要求、つまり、転送開始信号は、ページ単位で出力されるようにしても良いし、ライン単位で出力されるようにしても良い。
【００３９】
このように複数のアプリケーションごとの暗号化動作のパラメータを保持し、暗号化処理要求ごとに暗号化動作パラメータおよび入出力データパスを切り替えることにより、最小限の回路規模により複数の暗号化の並列処理をすることができるようになる。また、回路規模を小さくできるため、消費電力を低減することも可能になる。また、回路規模を小さくできるため、ＡＳＩＣのコストを低減することも可能になる。
【００４０】
なお、上記では、データに施される処理として暗号化処理について記載したが、暗号化処理に限るものではない。例えば、セキュリティー暗号化回路３０の代わりに、データの圧縮伸張を行う圧縮伸張回路を備えるようにすれば、上記と同様に、最低限の回路規模により複数の圧縮伸張処理を並列に行うことができるようになる。
【００４１】
上述した実施形態における処理動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
【００４２】
なお、ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムが格納されているＲＯＭ（Read Only Memory）から、専用のハードウェアに組み込まれているコンピュータ内のメモリ（ＲＡＭ）にプログラムを読み込んで実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【００４３】
例えば、プログラムは、記録媒体としてのハードディスクやＲＯＭに予め記録しておくことが可能である。あるいは、プログラムは、フロッピー（登録商標）ディスク等の磁気ディスク、ＣＤ（Compact Disc）、ＤＶＤ(Digital Versatile Disc)等の光ディスク、ＭＯ（Magneto Optical）ディスク等の光磁気ディスクなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。
【００４４】
このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することが可能である。
【００４５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Local Area Network）、インターネットといったネットワークを介して、コンピュータに有線で転送したりし、コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
【００４６】
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
【００４７】
また、上記実施形態で説明したシステムは、複数の装置の論理的集合構成にしたり、各装置の機能を混在させたりするように構築することも可能である。
【００４８】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更が可能である。
【００４９】
また、本発明における情報処理装置は、前記データ処理手段により施される処理が暗号化処理であるようにしても良い。
【００５０】
また、本発明における情報処理装置は、前記データ処理手段により施される処理が圧縮伸張処理であるようにしても良い。
【００５１】
また、本発明における情報処理装置は、前記アビトレーションポリシーを設定する設定手段を有するようにしても良い。
【００５２】
また、本発明における情報処理装置は、前記複数の転送手段は、前記データ転送要求をページ単位で行うようにしても良い。
【００５３】
また、本発明における情報処理装置は、前記データ処理手段における処理に関するデータを保持するデータ保持手段を有し、前記複数の転送手段は、前記データ転送要求をライン単位で行い、前記データ保持手段は、前記データ処理手段により処理の完了したバンドの最終ラインのデータを保持しているようにしても良い。
【符号の説明】
【００５４】
１    ＣＰＵ
２    メインメモリ
８    外部インターフェイス制御ＡＳＩＣ
２１    ネットワークインターフェイス回路
２２    セキュリティー暗号化回路
２３    ホストインターファイス制御回路
２４    アービタ
２５    ReadＤＭＡＣ
２６    WriteＤＭＡＣ
２７    ReadＤＭＡＣ
２８    WriteＤＭＡＣ
２９    ネットワークインターフェイス制御回路
３０    セキュリティー暗号化制御回路
３１    パラメータレジスタ
３２    アービタ回路
【先行技術文献】
【特許文献】
【００５５】
【特許文献１】特開２００１−１１３７５９号公報
【図１】
0005392037.tif 000002
【図２】
0005392037.tif 000003
【図３】
0005392037.tif 000004
【図４】
0005392037.tif 000005
【図５】
0005392037.tif 000006