(57)【特許請求の範囲】
【請求項１】
演算処理を実行するための中央処理ユニットと、
前記中央処理ユニットが前記演算処理したデータを記憶するメインメモリと、
画像処理を実行し、前記画像処理されたデータを記憶する画像メモリを含む画像処理ユニットと、
前記中央処理ユニットと前記画像処理ユニットの負荷を取得する負荷取得部と、
前記取得した負荷に基づいて、前記中央処理ユニットと前記画像処理ユニットのいずれかに暗号化処理を実行させる処理制御部と、
を備え、
前記画像メモリは、仮想データ記憶装置として、前記暗号化処理されたデータを記憶し、
前記画像メモリに前記暗号化処理されたデータが記憶された後、前記中央処理ユニットの負荷に基づいて、前記暗号化処理されたデータを前記メインメモリに格納する、
情報処理装置。
【請求項２】
前記処理制御部は、前記取得した負荷と、前記画像メモリに前記暗号化処理されたデータが記憶されているか否かに応じて、前記中央処理ユニットと前記画像処理ユニットのいずれかに復号化処理を実行させる、
請求項１に記載の情報処理装置。
【請求項３】
前記処理制御部は、前記中央処理ユニットと前記画像処理ユニットのうち負荷が低い方に対し前記暗号化処理を実行させる、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記処理制御部は、前記中央処理ユニットの負荷が所定の閾値よりも高い場合、前記画像処理ユニットに対し前記暗号化処理を実行させる、
請求項１又は２に記載の情報処理装置。
【請求項５】
前記画像処理ユニットは、前記処理制御部に対し、画像処理装置及び暗号化処理装置として認識可能に構成されている、
請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
演算処理を実行するための中央処理ユニットと、
前記中央処理ユニットが前記演算処理したデータを記憶するメインメモリと、
画像処理を実行し、前記画像処理されたデータを記憶する画像メモリを含む画像処理ユニットと、
を備えた情報処理装置における情報処理方法であって、
前記中央処理ユニットと前記画像処理ユニットの負荷を取得し、
前記取得した負荷に基づいて、前記中央処理ユニットと前記画像処理ユニットのいずれかに暗号化処理を実行させ、
前記画像メモリは、仮想データ記憶装置として、前記暗号化処理されたデータを記憶し、
前記画像メモリに前記暗号化処理されたデータが記憶された後、前記中央処理ユニットの負荷に基づいて、前記暗号化処理されたデータを前記メインメモリに格納する、
情報処理方法。
【請求項７】
演算処理を実行するための中央処理ユニットと、
前記中央処理ユニットが前記演算処理したデータを記憶するメインメモリと、
画像処理を実行し、前記画像処理されたデータを記憶する画像メモリを含む画像処理ユニットと、
を備えた情報処理装置において実行させる情報処理プログラムであって、
前記中央処理ユニットと前記画像処理ユニットの負荷を取得し、
前記取得した負荷に基づいて、前記中央処理ユニットと前記画像処理ユニットのいずれかに暗号化処理を実行させ、
前記画像メモリは、仮想データ記憶装置として、前記暗号化処理されたデータを記憶し、
前記画像メモリに前記暗号化処理されたデータが記憶された後、前記中央処理ユニットの負荷に基づいて、前記暗号化処理されたデータを前記メインメモリに格納する、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関し、特に、画像処理ユニットを備えた情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
近年、プロセッサの負荷を低減するため、複数のプロセッサを備えた情報処理装置（コンピュータ）が利用されている。例えば、特許文献１や２などに記載された情報処理装置は、ＣＰＵ（Central Processing Unit：中央演算処理装置）とＧＰＵ（Graphics Processing Unit：画像処理用装置）を備えている。また、ＣＰＵとＧＰＵが同じ半導体装置に搭載されている例もある。
【０００３】
ＧＰＵは、ＰＣ（Personal Computer）やワークステーションなどの情報処理装置において、画像処理を専用で行う装置である。ＣＰＵの代わりにＧＰＵが画像処理用の演算を行うことで、ＣＰＵの負荷を低減することができる。
【０００４】
一方、インターネットなどを通じて文書や画像などデータをやり取りする際に、セキュリティ対策が当たり前のように必要であり、データ通信途中で第三者に盗み見られたり、改ざんされることがないように、データの暗号化が非常に重要になっている。
【０００５】
暗号化に関連する技術として、特許文献３や４が知られている。その他、クラスタシステムに関連する技術として、特許文献４が知られている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００７−５０３０５９号公報
【特許文献２】特開２００８−０９０８８９号公報
【特許文献３】国際公開第９７／１０６５９号
【特許文献４】特開２０１３−２０６３７９号公報
【非特許文献】
【０００７】
【非特許文献１】ＮＶＩＤＩＡ、ＧＰＵ  Ｇｅｍｓ  ３、Ｃｈａｐｔｅｒ  ３６．ＡＥＳ  Ｅｎｃｒｙｐｔｉｏｎ  ａｎｄ  Ｄｅｃｒｙｐｔｉｏｎ  ｏｎ  ｔｈｅ  ＧＰＵ、[online]、インターネット<http://http.developer.nvidia.com/GPUGems3/gpugems3_ch36.html>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
関連する技術のようにＣＰＵとＧＰＵを搭載する例では、３Ｄグラフィックを活用するような高度な画像処理が必要な場合、ＧＰＵを搭載することでＣＰＵの負荷を軽減するというメリットを活かすことができる。しかしながら、高度な画像処理を求めないようなＧＰＵをほとんど利用しない場合には、リソースを最大限に有効活用できないケースがある。
【０００９】
例えば、アプリケーションでデータを暗号化する場合、関連する技術のようにＧＰＵを搭載したとしても、ＣＰＵにて暗号化処理を行うことになる。そうすると、暗号化アルゴリズムは複雑であるためＣＰＵに大きな負荷がかかり、コンピュータのリソースを大きく消費する恐れがある。
【００１０】
さらに、ビックデータ時代と言われる昨今はデータの肥大化が進んでおり、暗号化対象となるデータ自体が大きくなればなるほど、ＣＰＵへの負荷は増大し、レスポンスが返ってくるまでのレイテンシーがますます大きくなる恐れもある。
【００１１】
したがって、関連する技術では、ＧＰＵを搭載したとしても、画像処理以外の暗号化処理などを実行する場合には、ＣＰＵの負荷を低減することができないという問題がある。
【００１２】
本発明は、このような問題に鑑み、ＣＰＵの負荷を低減することが可能な情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る情報処理装置は、演算処理を実行するための中央処理ユニットと、画像処理を実行するための画像処理ユニットと、前記中央処理ユニットと前記画像処理ユニットの負荷を取得する負荷取得部と、前記取得した負荷に基づいて、前記中央処理ユニットと前記画像処理ユニットのいずれかに暗号化処理を実行させる処理制御部と、を備えるものである。
【００１４】
本発明に係る情報処理方法は、演算処理を実行するための中央処理ユニットと、画像処理を実行するための画像処理ユニットと、を備えた情報処理装置における情報処理方法であって、前記中央処理ユニットと前記画像処理ユニットの負荷を取得し、前記取得した負荷に基づいて、前記中央処理ユニットと前記画像処理ユニットのいずれかに暗号化処理を実行させるものである。
【００１５】
本発明に係る情報処理プログラムは、演算処理を実行するための中央処理ユニットと、画像処理を実行するための画像処理ユニットと、を備えた情報処理装置において実行させる情報処理プログラムであって、前記中央処理ユニットと前記画像処理ユニットの負荷を取得し、前記取得した負荷に基づいて、前記中央処理ユニットと前記画像処理ユニットのいずれかに暗号化処理を実行させるものである。
【発明の効果】
【００１６】
本発明によれば、ＣＰＵの負荷を低減することが可能な情報処理装置、情報処理方法および情報処理プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態に係る情報処理装置の概要構成を示す構成図である。
【図２】参考例の情報処理装置の構成を示す構成図である。
【図３】参考例の情報処理装置の動作を示すシーケンスである。
【図４】実施の形態１に係る情報処理装置の構成を示す構成図である。
【図５Ａ】実施の形態１に係る情報処理装置の動作を示すシーケンスである。
【図５Ｂ】実施の形態１に係る情報処理装置の動作を示すシーケンスである。
【図６Ａ】実施の形態１に係る情報処理装置の動作を示すシーケンスである。
【図６Ｂ】実施の形態１に係る情報処理装置の動作を示すシーケンスである。
【発明を実施するための形態】
【００１８】
（実施の形態の概要）
まず、図１を用いて、実施の形態の概要について説明する。図１に示すように、実施の形態に係る情報処理装置１００は、中央処理ユニット１０１、画像処理ユニット１０２、負荷取得部１０３、処理制御部１０４を備えている。
【００１９】
中央処理ユニット（ＣＰＵ）１０１は、演算処理を実行するための処理装置であり、画像処理ユニット（ＧＰＵ）１０２は、画像処理を実行するための処理装置である。負荷取得部１０３は、中央処理ユニット１０１と画像処理ユニット１０２の負荷を取得する。処理制御部１０４は、取得した負荷に基づいて、中央処理ユニット１０１と画像処理ユニット１０２のいずれかに暗号化処理を実行させる。
【００２０】
セキュリティ対策として暗号化が求められるシステムにおいては、ＣＰＵへの負荷が大きくなることで業務システムへの影響が懸念されているためＣＰＵの負荷分散が必要であった。既存の関連する技術では、ＣＰＵの負荷分散として、画像処理のみＧＰＵにて実行する技術やＧＰＵにて暗号化する技術は存在していた。例えば、上記の非特許文献１では、ＧＰＵにて暗号化処理を行っている。
【００２１】
しかし、両者を組み合わせ、各装置の負荷を判断する手法は考えられていなかった。例えば、上記の特許文献１〜４では、ＣＰＵとＧＰＵを組み合わせて、各装置の負荷を判断していない。
【００２２】
そこで、実施の形態では、図１のように、ＣＰＵとＧＰＵの各装置の負荷を確認し、暗号化処理をＧＰＵにて処理することでＣＰＵの負荷分散を可能とする。また、実施の形態では、ＧＰＵをリソースとして有効活用するためにＧＰＵの画像処理機能以外にも機能を付与する。さらに、実施の形態では、ＧＰＵ内部のメモリを仮想データ記憶装置（補助記憶装置）として、ＧＰＵの有効活用を可能とする。
【００２３】
（参考例）
ここで、実施の形態適用前の参考例について説明する。図２は、参考例の情報処理装置９００の主要な構成を示している。参考例の情報処理装置９００は、ＣＰＵによりデータの暗号化／復号化処理を実行する構成の例である。
【００２４】
図２に示すように、参考例の情報処理装置９００は、ＯＳ（Operating System）１０、ＣＰＵ２０、メインメモリ３０、ＧＰＵ４０を備えている。
【００２５】
ＯＳ１０は、一般的な演算処理の要求やデータの暗号化／復号化処理の要求、画像処理の要求をＣＰＵ２０に対して行う。ＣＰＵ２０は、ＯＳ１０からの命令に応じて演算処理や暗号化／復号化処理を実行し、また、ＧＰＵ４０に対し画像処理を要求する。メインメモリ（主記憶装置）３０は、ＣＰＵ２０の処理データを一時的に格納する。ＧＰＵ４０は、ＣＰＵ２０からの命令に応じて、画像処理のみを実行する。
【００２６】
ＣＰＵ２０は、ＬＳＩ２１、演算部２２、データキャッシュ部２３を備えている。ＬＳＩ２１は、ＯＳ１０にＣＰＵとして認識させる情報を保持する。演算部２２は、実際に演算処理を行う。データキャッシュ部２３は、演算部２２が演算する時に一時的に処理するデータを格納する。
【００２７】
ＧＰＵ４０は、ＬＳＩ４１、演算部４２、データキャッシュ部４３、画像メモリ４４を備えている。ＬＳＩ４１は、ＯＳ１０に画像処理装置として認識させる情報を保持する。演算部４２は、実際に演算処理を行う。データキャッシュ部４３は、演算部４２が演算する時に一時的に処理するデータを格納する。画像メモリ４４、画像処理された画像データを一時的に格納する。
【００２８】
次に、図３のシーケンスを用いて、参考例の情報処理装置９００における、データ暗号化／復号化処理について説明する。参考例の構成では、暗号化／復号化処理はＣＰＵのみで処理されている。
【００２９】
図３に示すように、データ暗号化処理では、まず、ＯＳ１０よりＣＰＵ２０に対して、データ暗号化を要求する（Ｓ１０１）。要求を受け取ったＣＰＵ２０は、演算部２２にて暗号化処理を実行し、暗号化したデータをメインメモリ（主記憶装置）３０に格納する（Ｓ１０２）。
【００３０】
データ復号化処理では、まず、ＯＳ１０よりＣＰＵ２０に対して、データ復号化を要求する（Ｓ２０１）。要求を受け取ったＣＰＵ２０は、暗号化されているデータをメインメモリ（主記憶装置）３０から取得する（Ｓ２０２）。取得したデータをＣＰＵ２０の演算部２２にて復号化処理を実行してメインメモリ３０に格納し、復号化したデータをメインメモリ３０からＯＳ１０に返す（Ｓ２０３）。
【００３１】
このように、参考例では、ＯＳからの暗号化要求に対し、常にＣＰＵが暗号化／復号化処理を実行する。例えば、ＧＰＵで画像処理を行っていない場合でも、常にＣＰＵで暗号化／復号化処理を行うため、ＧＰＵのリソースが使用されず有効に活用することができない。また、ＣＰＵの負荷が高い状態でも、常にＣＰＵにて暗号化処理を実行するため、ＣＰＵの負荷がさらに増大し、暗号化／復号化処理が完了するまでの時間が長くなる。
【００３２】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。図４は、本実施の形態に係る情報処理装置１の主要な構成を示している。本実施の形態に係る情報処理装置１は、ＧＰＵを活用し、ＣＰＵの負荷を分散させたデータの暗号化／復号化処理を実行する構成の例である。
【００３３】
図４に示すように、本実施の形態に係る情報処理装置１は、ＯＳ１０、ＣＰＵ２０、メインメモリ３０、ＧＰＵ１４０、負荷分散管理装置５０を備えている。
【００３４】
ＯＳ１０は、一般的な演算処理の要求やデータの暗号化／復号化処理の要求、画像処理の要求を負荷分散管理装置５０に対して行う。負荷分散管理装置５０は、本実施の形態で追加された構成であり、ＯＳ１０からの要求に応じて、ＣＰＵ２０またはＧＰＵ１４０へ命令する。ＣＰＵ２０は、負荷分散管理装置５０の命令に応じて演算処理や暗号化／復号化処理を実行する。メインメモリ（主記憶装置）３０は、ＣＰＵ２０の処理データを一時的に格納する。ＧＰＵ１４０は、負荷分散管理装置５０の命令に応じて、画像処理だけでなく暗号化／復号化処理を実行する。
【００３５】
負荷分散管理装置５０は、制御管理部５１、負荷管理部５２、入出力管理部５３を備えている。負荷管理部（負荷取得部）５２は、ＣＰＵ２０とＧＰＵ１４０の使用率（負荷）を管理（取得）する。入出力管理部５３は、メインメモリ（主記憶装置）３０、仮想データ記憶装置（補助記憶装置）となる画像メモリ１４４へのデータの書き込み／読み込み要求を管理する。制御管理部５１は、負荷管理部５２と入出力管理部５３を管理する。例えば、制御管理部５１及び入出力管理部５３は、負荷管理部５２が取得したＣＰＵ及びＧＰＵの負荷に基づいて、ＣＰＵとＧＰＵのいずれかに暗号化処理を実行させる処理制御部であるとも言える。
【００３６】
ＣＰＵ２０は、図２の参考例と同様の構成であり、ＬＳＩ２１、演算部２２、データキャッシュ部２３を備えている。ただし、本実施の形態ではＯＳ１０より直接要求を受けるのではなく、負荷分散管理装置５０を介して要求を受け付ける。
【００３７】
ＧＰＵ１４０は、基本的には、図２の参考例と同様の構成であり、ＬＳＩ１４１、演算部１４２、データキャッシュ部１４３、画像メモリ１４４を備えている。ただし、本実施の形態では、ＧＰＵにおいて、画像処理および暗号化／復号化処理の実行を可能とする。特に、画像処理および暗号化／復号化処理の機能を実現するため、ＧＰＵを画像処理装置および暗号化／復号化データを記憶する仮想データ記憶装置として動作させる。
【００３８】
ＬＳＩ１４１は、ＯＳ１０に画像処理装置および仮想データ記憶装置として認識させる情報を保持する。演算部１４２は、実際に演算処理を行う。データキャッシュ部１４３は、演算部１４２が演算する時に一時的に処理するデータを格納する。画像メモリ１４４は、画像処理された画像データを一時的に格納し、また、仮想データ記憶装置（補助記憶装置）として、暗号化／復号化処理された暗号化／復号化データを格納する。
【００３９】
次に、図５Ａ、図５Ｂ、図６Ａ及び図６Ｂのシーケンスを用いて、本実施の形態に係る情報処理装置１における、データ暗号化／復号化処理について説明する。
【００４０】
本実施の形態では、事前にＧＰＵ１４０内のＬＳＩ１４１のソフトウェア制御にて、ＧＰＵ１４０を本来の機能である画像処理を行う画像処理用装置と、画像メモリ１４４を仮想データ記憶装置として暗号化／復号化を実行する暗号化処理装置として識別されるようにプログラムする。なお、本実施の形態においては暗号化の方式については任意の方式を用いてよい。
【００４１】
図Ａ５に示すように、データ暗号化処理では、まず、負荷分散管理装置５０の制御管理部５１に対して、ＯＳ１０よりデータ暗号化を要求する（Ｓ３０１）。要求を受けた制御管理部５１は、負荷管理部５２にＣＰＵ２０とＧＰＵ１４０の負荷情報（使用率）を確認するよう要求する（Ｓ３０２）。要求を受けた負荷管理部５２は、ＣＰＵ２０の負荷情報を取得（確認）し（Ｓ３０３）、ＧＰＵ１４０の負荷情報を取得（確認）し（Ｓ３０４）、取得した負荷情報を制御管理部５１に送る（Ｓ３０５）。
【００４２】
負荷情報を受けた制御管理部５１は、負荷が低い装置に対して暗号化処理を行うよう入出力管理部５３に要求する（Ｓ３０６）。すなわち、ＧＰＵ１４０よりもＣＰＵ２０の方が、負荷が低い場合は、ＣＰＵ２０に対し暗号化処理を行うよう要求し、ＣＰＵ２０よりもＧＰＵ１４０の方が、負荷が低い場合は、ＧＰＵ１４０に対し暗号化処理を行うよう要求する。ＣＰＵ２０とＧＰＵ１４０の負荷が等しい場合は、いずれに対して暗号化処理を要求してもよい。また、所定の閾値よりもＣＰＵ２０の負荷が高い場合に、ＧＰＵ１４０に対して暗号化処理を要求してもよいし、所定の閾値よりもＣＰＵ２０の負荷が低い場合に、ＣＰＵ２０に対して暗号化処理を要求してもよい。
【００４３】
入出力管理部５３がＣＰＵ２０に暗号化を要求した場合（Ｓ３０７）、ＣＰＵ２０の演算部２２にて暗号化処理を実行し、メインメモリ（主記憶装置）３０に暗号化されたデータを書き込む（Ｓ３０８）。一方、入出力管理部５３がＧＰＵ１４０に暗号化を要求した場合（Ｓ３０９）、ＧＰＵ１４０の演算部１４２にて暗号化処理を実行し、仮想データ記憶装置（補助記憶装置）である画像メモリ１４４に暗号化されたデータを記憶する（Ｓ３１０）。
【００４４】
その後、図５Ｂに示すように、定期的に制御管理部５１が負荷管理部５２にＣＰＵ２０２０の負荷情報の確認を要求し（Ｓ３１１）、負荷管理部５２がＣＰＵ２０の負荷情報を取得（確認）する（Ｓ３１２）。ＣＰＵ２０の負荷が低い場合、制御管理部５１は、入出力管理部５３に暗号化されたデータの取得を要求し（Ｓ３１３）、入出力管理部５３がＧＰＵ１４０へ暗号化されたデータの取得を要求する（Ｓ３１４）。ＧＰＵ１４０は、仮想データ記憶装置（補助記憶装置）である画像メモリ１４４の暗号化データをＣＰＵ２０へ出力し（Ｓ３１５）、ＣＰＵ２０は暗号化データをメインメモリ（主記憶装置）３０に格納する（Ｓ３１６）。
【００４５】
また、負荷に関係なく仮想データ記憶装置（補助記憶装置）である画像メモリ１４４のデータ容量がいっぱいになる場合（データ容量に空きがなくなる場合）は、メインメモリ（主記憶装置）３０に暗号化されたデータを自動的に格納する。
【００４６】
図６Ａに示すように、データ復号化処理では、まず、ＯＳ１０より負荷分散管理装置５０の制御管理部５１に対して、データ復号化を要求する（Ｓ４０１）。要求を受けた制御管理部５１は、負荷管理部５２にＣＰＵ２０とＧＰＵ１４０の負荷情報を確認するよう要求する（Ｓ４０２）。要求を受けた負荷管理部５２は、ＣＰＵ２０の負荷情報を取得（確認）し（Ｓ４０３）、ＧＰＵ１４０の負荷情報を取得（確認）し（Ｓ４０４）、取得した負荷情報を制御管理部５１に送る（Ｓ４０５）。
【００４７】
制御管理部５１は暗号化されているデータの取得要求を入出力管理部５３に通知する（Ｓ４０６）。このとき制御管理部５１または入出力管理部５３は、暗号化されたデータがメインメモリ３０または画像メモリ１４４のいずれに記憶されているか判定する。この判定は、ＣＰＵ２０またはＧＰＵ４０に問い合わせてもよいし、制御管理部５１または入出力管理部５３が予め管理していてもよい。暗号化されたデータが仮想データ記憶装置（補助記憶装置）である画像メモリ１４４にある場合で、ＧＰＵ１４０の負荷が低ければ、入出力管理部５３は、ＧＰＵ１４０にデータ取得要求を行う（Ｓ４０７）。要求を受けたＧＰＵ１４０は、画像メモリ１４４内の対象データを復号化し、復号化されたデータをＣＰＵ２０へ出力し（Ｓ４０８）、ＣＰＵ２０は、復号化されたデータをメインメモリ（主記憶装置）３０に格納して、入出力管理部５３へ返す（Ｓ４０９）。
【００４８】
一方、図６Ｂに示すように、暗号化されたデータが仮想データ記憶装置（補助記憶装置）である画像メモリ１４４にある場合で、ＣＰＵ２０の負荷が低ければ、入出力管理部５３は、ＣＰＵ２０にデータ取得要求を行う（Ｓ４１０）。要求を受けたＣＰＵ２０は、仮想データ記憶装置（補助記憶装置）である画像メモリ１４４から暗号化されたデータをメインメモリ（主記憶装置）３０を介して取得する（Ｓ４１１）。ＣＰＵ２０は、取得したデータを復号化し、復号化されたデータをメインメモリ（主記憶装置）３０に格納して、入出力管理部５３へ返す（Ｓ４１２）。
【００４９】
また、暗号化されたデータが仮想データ記憶装置（補助記憶装置）である画像メモリ１４４にない場合、入出力管理部５３はＣＰＵ２０に対してデータ取得を要求する（Ｓ４１３）。ＣＰＵ２０はメインメモリ（主記憶装置）３０から暗号化されたデータを取得する（Ｓ４１４）。ＣＰＵ２０は、取得したデータをＣＰＵ２０の演算部２２にて復号化処理を実行してメインメモリ３０に格納し、復号化したデータをメインメモリ３０から入出力管理部５３に返す（Ｓ４１５）。この場合は、負荷に関係なくＣＰＵ２０が復号化をする。
【００５０】
その後、入出力管理部５３は、復号化したデータを制御管理部５１へ返し（Ｓ４１６）、さらに、制御管理部５１は、復号化したデータをＯＳ１０に返す（Ｓ４１７）。
【００５１】
本実施の形態に効果について説明する。まず、本実施の形態によれば、アルゴリズムが複雑なために負荷がかかるデータの暗号化／復号化を行ってもＣＰＵの代わりに、ＧＰＵにて処理を行うことで、ＣＰＵの負荷を軽減でき、サーバリソースを効率的に活用することができる（第１の効果）。さらに、本実施の形態によれば、ＧＰＵを仮想データ記憶装置（補助記憶装置）とすることで、暗号化／復号化によるデータの読み込み／書き込みのレイテンシーが小さくすることができる（第２の効果）。
（その他の実施の形態）
【００５２】
ＨＡ（High Availability）クラスタリングシステム（略：ＨＡクラスタ）においても活用することができる。背景として、ＨＡクラスタでは、クラスタリングされるサーバ間でのデータの共有が重要な要素である。ミッションクリティカルなシステムに適用されるＨＡクラスタでは、セキュリティ対策として、共有されるデータの暗号化が必要である。しかしながら、ＣＰＵで暗号化処理させると負荷が大きくなり、業務システム（アプリケーション）に大きく影響が出る可能性もある。
【００５３】
このようなＨＡクラスタシステムに、上記の実施の形態を適用することで、ＣＰＵの負荷を分散でき、業務システム（アプリケーション）への影響を最小限に抑え、よりセキュアなクラスタシステムを構築することができる。すなわち、上記の情報処理装置を、クラスタシステムを構成するクラスタノードとしてもよい。
【００５４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００５５】
上記の情報処理装置における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、１つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。例えば、記憶装置に負荷分散管理を行うためのプログラムを格納し、記憶装置に格納されたプログラムをＣＰＵ（コンピュータ）で実行することにより、負荷分散管理装置の各機能を実現してもよい。
【００５６】
これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００５７】
１      情報処理装置
１０    ＯＳ
２０    ＣＰＵ
２１    ＬＳＩ
２２    演算部
２３    データキャッシュ部
３０    メインメモリ
４０、１４０  ＧＰＵ
４１、１４１  ＬＳＩ
４２、１４２  演算部
４３、１４３  データキャッシュ部
４４、１４４  画像メモリ
５０    負荷分散管理装置
５１    制御管理部
５２    負荷管理部
５３    入出力管理部
１００  情報処理装置
１０１  中央処理ユニット
１０２  画像処理ユニット
１０３  負荷取得部
１０４  処理制御部
【図１】
0006471456.tif 000002
【図２】
0006471456.tif 000003
【図３】
0006471456.tif 000004
【図４】
0006471456.tif 000005
【図５Ａ】
0006471456.tif 000006
【図５Ｂ】
0006471456.tif 000007
【図６Ａ】
0006471456.tif 000008
【図６Ｂ】
0006471456.tif 000009