(57)【要約】【課題】異なる暗号形式が混在しても、暗号・復号デバイスの性能および構成に応じて要求データを効率良く分散でき、暗号・復号の高速化が図れる負荷分散方法を提供する。【解決手段】暗号処理および復号処理を実行する複数の暗号・復号デバイス１５，１６のうち、負荷の最も小さい暗号・復号デバイス１５または１６を特定して次の処理要求データを割り振るにあたり、暗号・復号デバイス１５，１６の各々について、暗号形式毎の処理速度を管理して、現在の負荷量を未処理の全要求データのデータ量およびその暗号形式に対応する上記処理速度に基づいて全要求処理時間として算出し、その算出された全要求処理時間の最も短い暗号・復号デバイス１５または１６を負荷の最も小さい暗号・復号デバイスとして特定する。【選択図】図１
2006033593.tif 000002
【特許請求の範囲】
【請求項１】
暗号処理および復号処理を実行する複数の暗号・復号デバイスのうち、負荷の最も小さい暗号・復号デバイスを特定して次の処理要求データを割り振るにあたり、
上記複数の暗号・復号デバイスの各々について、暗号形式毎の処理速度を管理して、現在の負荷量を未処理の全要求データのデータ量およびその暗号形式に対応する上記処理速度に基づいて全要求処理時間として算出し、その算出された全要求処理時間の最も短い暗号・復号デバイスを負荷の最も小さい暗号・復号デバイスとして特定することを特徴とする複数の暗号・復号デバイスへの負荷分散方法。
【請求項２】
上記暗号・復号デバイス毎に管理する暗号形式毎の処理速度を、各暗号・符号デバイスによる実際の暗号・復号処理のデータ量およびその処理時間に基づいて更新することを特徴とする請求項１に記載の複数の暗号・復号デバイスへの負荷分散方法。
【請求項３】
上記複数の暗号・復号デバイスの各々について、上記管理されている暗号形式毎の処理速度と、実際の暗号・復号処理のデータ量およびその処理時間に基づいて算出される実処理速度との比である実性能比を算出し、その算出した実性能比を未処理の全要求データの対応する暗号形式の処理速度に乗算して上記全要求処理時間を算出することを特徴とする請求項１に記載の複数の暗号・復号デバイスへの負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・ネットワーク上に配置されたＩＰ−ＶＰＮ等の暗号通信を行うシステム内において使用される暗号・復号デバイスへの負荷分散方法に関するものである。
【背景技術】
【０００２】
近年、ＩＰ通信上でのセキュリティへの要請から、暗号・復号デバイスを用いて高速に暗号・復号を行う需要が増大している。その際、一つのデバイスで目標とする暗号・復号速度を達成できない場合には、暗号・復号デバイスを複数搭載することで暗号・復号の高速化を図ることが一般に行われている。
【０００３】
また、このように複数の暗号・復号デバイスを用いる場合において、各暗号・復号デバイスの負荷を各暗号・復号デバイスが保持する暗号・復号要求データ長の和として管理し、保持するデータ長の最も短い暗号・復号デバイスに次の暗号・復号要求データを割り当てることで、複数の暗号・復号デバイスの稼動率を均一化して、データを高速に暗号・復号化するようにした暗号・復号負荷分散方法が知られている（例えば、特許文献１参照）。
【０００４】
一方、最近では、暗号形式の多様化に伴って、異なる暗号形式が混在した複数の暗号・復号データ流を扱うことが多くなっている。また、基板の実装スペースやコストの点から、高価で高速な暗号・復号デバイスを複数個搭載できない場合に、高価で高速な暗号・復号デバイスと廉価で高速でない暗号・復号デバイスとを組み合わせて使用して、目標性能を達成したいという要求がある。
【特許文献１】特開２００２−２６１７５４号公報（第５、６図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示の技術では、単一の暗号・符号データ流に対しては所定の効果が得られるが、暗号形式の異なる複数の暗号・復号データ流を扱う場合には、それぞれの暗号形式で処理時間が異なるために、最も負荷の小さい暗号・復号デバイスを割り当てることができない場合がある。
【０００６】
例えば、ＡＥＳ暗号の１バイト当たり処理時間が８．７０ナノ秒、３ＤＥＳ暗号の１バイト当たり処理時間が１１．８ナノ秒である場合に、ＡＥＳ暗号の要求データを３０００バイト保持している暗号・復号デバイスと、３ＤＥＳの要求データを２５００バイト保持している暗号・復号デバイスとでは、ＡＥＳ暗号の要求データを保持している暗号・復号デバイスの方が負荷は小さいが、特許文献１に開示の方法によると、３ＤＥＳの要求データを保持している暗号・復号デバイスに処理を割り当ててしまうことになる。
【０００７】
また、特許文献１に開示の技術では、性能の等しい暗号・復号デバイスを用いる場合には所定の効果が得られるが、性能の異なる暗号・復号デバイスを組み合わせた場合には、暗号・復号の高速化が図れないため、システムのハードウェア設計に柔軟性を与えられないという問題もある。
【０００８】
例えば、ＡＥＳ暗号の１バイト当たり処理時間が８．７０ナノ秒の第１デバイスと、１２．５ナノ秒の第２デバイスとを有する場合において、ＡＥＳ暗号形式で１０２４バイトを暗号する要求データが８つ一度に発生したとする。この場合、従来の方法では、暗号要求データを４つずつ第１デバイスと第２デバイスとに割り振るが、全体の処理が完了するのは、第２デバイスが４つの暗号処理を終了する１０２．４マイクロ秒後となってしまう。しかし、暗号要求データを第１デバイスに６つ、第２デバイスに２つ割り振ることができれば、第１デバイスで６つの暗号処理を終了する５２．８４マイクロ秒で処理を完了することができる。
【０００９】
さらに、暗号・復号デバイスが複数の機能を持つ汎用のＤＳＰを使用して構成されている場合には、暗号・復号機能以外の機能が動作する時間帯では、暗号・復号性能が変化してしまうため、特許文献１に開示の技術を適用して負荷分散しても、暗号・復号の高速化が図れないという問題がある。
【００１０】
したがって、上記の事情に鑑みてなされた本発明の目的は、異なる暗号形式が混在しても、暗号・復号デバイスの性能および構成に応じて要求データを効率良く分散でき、暗号・復号の高速化が図れる負荷分散方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成する請求項１に係る複数の暗号・復号デバイスへの負荷分散方法の発明は、暗号処理および復号処理を実行する複数の暗号・復号デバイスのうち、負荷の最も小さい暗号・復号デバイスを特定して次の処理要求データを割り振るにあたり、
上記複数の暗号・復号デバイスの各々について、暗号形式毎の処理速度を管理して、現在の負荷量を未処理の全要求データのデータ量およびその暗号形式に対応する上記処理速度に基づいて全要求処理時間として算出し、その算出された全要求処理時間の最も短い暗号・復号デバイスを負荷の最も小さい暗号・復号デバイスとして特定することを特徴とするものである。
【００１２】
請求項２に係る発明は、請求項１に記載の複数の暗号・復号デバイスへの負荷分散方法において、上記暗号・復号デバイス毎に管理する暗号形式毎の処理速度を、各暗号・符号デバイスによる実際の暗号・復号処理のデータ量およびその処理時間に基づいて更新することを特徴とするものである。
【００１３】
請求項３に係る発明は、請求項１に記載の複数の暗号・復号デバイスへの負荷分散方法において、上記複数の暗号・復号デバイスの各々について、上記管理されている暗号形式毎の処理速度と、実際の暗号・復号処理のデータ量およびその処理時間に基づいて算出される実処理速度との比である実性能比を算出し、その算出した実性能比を未処理の全要求データの対応する暗号形式の処理速度に乗算して上記全要求処理時間を算出することを特徴とするものである。
【発明の効果】
【００１４】
請求項１の発明によると、負荷の最も小さい暗号・復号デバイスを、未処理の全要求データのデータ長で特定するのではなく、全要求データの処理時間で特定するので、異なる暗号形式が混在しても、暗号・復号デバイスの性能および構成に応じて負荷の最も小さい暗号・復号デバイスを特定して負荷を効率良く分散でき、暗号・復号の高速化を図ることができる。
【００１５】
請求項２の発明によると、暗号・復号デバイス毎に管理する暗号形式毎の処理速度を、各暗号・符号デバイスによる実際の暗号・復号処理のデータ量およびその処理時間に基づく実性能で更新するので、暗号・復号デバイスが汎用のＤＳＰ等の計算デバイスを使用して構成されている場合のように、暗号・復号機能以外の機能が動作する時間帯で暗号・復号性能が変化する場合であっても、負荷の最も小さい暗号・復号デバイスを特定して負荷を効率良く分散でき、装置設計の柔軟性を向上することができる。また、暗号・復号デバイスの実際の性能が判明していない場合には、管理する暗号形式毎の処理速度を全て０に設定して優先的に起動することにより、処理速度を確定することができるので、暗号形式毎の処理速度を予め調査して設定する必要がなくなり、実装が容易になる。
【００１６】
請求項３の発明によると、複数の暗号・復号デバイスの各々について、未処理の全要求データの処理時間とその暗号形式に対応する実性能比とを乗算して全要求処理時間を算出するので、全要求処理時間をより正確に算出することができる。したがって、負荷の最も小さい暗号・復号デバイスを確実に特定することができるので、負荷の分散精度を向上でき、暗号・復号のより高速化を図ることができる。また、実性能比を用いて全要求処理時間を算出することから、暗号・復号デバイスが汎用のＤＳＰ等の計算デバイスを使用して構成されている場合のように、暗号・復号機能以外の機能が動作する時間帯で暗号・復号性能が変化する場合であっても、負荷の最も小さい暗号・復号デバイスを特定して負荷を効率良く分散できるので、装置設計の柔軟性を向上することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明に係る複数の暗号・復号デバイスへの負荷分散方法の実施の形態について説明する。
【００１８】
（第１実施の形態）
図１乃至図４は本発明の第１実施の形態を示すもので、図１は本発明による負荷分散方法を実施するルータ装置を含む全体的なシステム概念図、図２（ａ）〜（ｆ）は図１のメモリに格納するデータ例を示す図、図３は本実施の形態による暗号・復号要求受付時の負荷分散動作を示すフローチャート、図４は同じく暗号・復号要求完了時の負荷状況更新動作を示すフローチャートである。
【００１９】
図１において、ルータ装置１は、ＩＰ網２から受信した非暗号データを暗号化してＩＰ−ＶＰＮ網３に暗号データとして転送し、ＩＰ−ＶＰＮ網３から受信した暗号データを復号してＩＰ網２に非暗号データとして転送するもので、ＣＰＵ１１、メモリ１２、ＬＡＮ Ｉ／Ｆ１３，１４、複数（図１では２個）の暗号・復号デバイス１５，１６を有している。
【００２０】
ＣＰＵ１１は、ＬＡＮ Ｉ／Ｆ１３または１４において受信したデータをメモリ１２に格納する機能と、メモリ１２に格納されているデータを暗号・復号デバイス１５または１６に送信する機能と、暗号化または復号化が完了したデータを、ＬＡＮ Ｉ／Ｆ１４または１３を介してＩＰ−ＶＰＮ網３またはＩＰ網２に送信する機能とを有している。
【００２１】
また、メモリ１２は、暗号・復号デバイス１５，１６の各々に対応する全要求処理時間２１（図２（ａ）参照）、暗号形式に対する暗号・復号性能表２２（図２（ｂ）参照）、全要求リスト２３（図２（ｃ）参照）および起動後経過時間２４（図２（ｄ）参照）を格納する領域を有すると共に、受信した非暗号データおよび暗号データの要求データに対する暗号要求データ３１（図２（ｅ）参照）および処理時間３２（図２（ｆ）参照）を格納する領域を有している。
【００２２】
ルータ装置１は、電源起動時に、先ず、ＣＰＵ１１を用いて搭載されている暗号・復号デバイス１５，１６のそれぞれに対応するメモリ１２中の全要求処理時間２１および起動後経過時間２４を０に設定し、全要求リスト２３をクリアする。次に、ＣＰＵ１１は、暗号・復号デバイス１５，１６の暗号・復号性能を、対応する暗号・復号性能表２２に設定する。
【００２３】
その後、ＬＡＮ  Ｉ／Ｆ１３がＩＰ網２から非暗号データを受信した場合には、その受信した非暗号データをメモリ１２に格納してＣＰＵ１１に通知する。ＣＰＵ１１は、その通知を受けて、受信した非暗号データのルーティング先を計算し、対応するＩＰ−ＶＰＮ網３とのリンク確立時のネゴシエーション情報から暗号形式を求めて、暗号要求データ３１として暗号形式および処理内容（この場合、暗号）を格納する。
【００２４】
次に、ＣＰＵ１１は、暗号要求データ３１のデータ長、データのメモリ上の位置を設定する。
【００２５】
以上により、ＩＰ網２からＩＰ−ＶＰＮ網３へ転送する場合の暗号要求データ３１が構築される。
【００２６】
また、ＬＡＮ  Ｉ／Ｆ１４がＩＰ−ＶＰＮ網３から暗号データを受信した場合には、その受信した暗号データをメモリ１２に格納してＣＰＵ１１に通知する。ＣＰＵ１１は、その通知を受けて、ＩＰ−ＶＰＮ網３とのネゴシエーション情報から暗号形式を求めて、その暗号形式および処理内容（この場合、復号）を暗号要求データ３１として格納する。
【００２７】
次に、ＣＰＵ１１は、暗号要求データ３１のデータ長、データのメモリ上の位置を設定する。
【００２８】
以上により、ＩＰ−ＶＰＮ網３からＩＰ網２へ転送する場合の暗号要求データ３１が構築される。
【００２９】
以下、図３および図４を参照して、本実施の形態による暗号・復号要求受付時の負荷分散動作および暗号・復号要求完了時の負荷状況更新動作について説明する。
【００３０】
暗号・復号要求受付があった場合には、図３に示すように、先ず、ＣＰＵ１１は、暗号・復号デバイス１５，１６の各々の全要求処理時間２１から起動後経過時間２４を減算したもののうち、最も値の小さいものを探すことで、負荷の最も小さい暗号・復号デバイス１５または１６を特定する（ステップＳ１）。
【００３１】
その後、ＣＰＵ１１は、特定した暗号・復号デバイス１５または１６に対応する暗号・復号性能表２２から、暗号要求データ３１の暗号形式および処理内容に対応する性能値を特定し、その性能値と暗号要求データ３１のデータ長とを乗算して処理時間３２を算出する（ステップＳ２）。
【００３２】
次に、ＣＰＵ１１は、特定した負荷の最も小さい暗号・復号デバイス１５または１６に対応する全要求リスト２３の末尾に暗号要求データを追加する（ステップＳ３）。
【００３３】
その後、ＣＰＵ１１は、負荷の最も小さい暗号・復号デバイス１５または１６に対応する全要求処理時間２１に処理時間３２を加算して更新する（ステップＳ４）。
【００３４】
以上により、負荷の最も小さい暗号・復号デバイス１５または１６に処理を依頼することで、要求受付時の負荷状況の更新を行うことができる。
【００３５】
次に、ＣＰＵ１１は、該当する暗号・復号デバイス１５または１６が未起動状態であれば、対応する全要求リスト２３の先頭の暗号要求処理を当該暗号・復号デバイス１５または１６に依頼して、それを起動する。同時に、ＣＰＵ１１は、起動後経過時間２４をクリアして、その経過時間をタイマで更新する。なお、この起動後経過時間２４は、起動時刻と現在時刻との差として算出してもよい。
【００３６】
その後、起動状態にある暗号・復号デバイス１５または１６は、処理を完了したら、ＣＰＵ１１に暗号・復号要求完了の通知を行う。
【００３７】
通知を受けたＣＰＵ１１は、図４に示すように、先ず、対応する全要求リスト２３の先頭のエントリにある処理時間を全要求処理時間２１から減算し（ステップＳ１１）、その後、先頭のエントリを削除して、先頭を次のエントリに移動させる（ステップＳ１２）。
【００３８】
以上により、暗号・復号処理完了時の負荷状況の更新を行うことができる。
【００３９】
その後、ＣＰＵ１１は、更新された全要求リストの先頭に暗号要求が存在すれば、その処理を対応する暗号・復号デバイス１５または１６に依頼して、それを起動し、同時に、起動後経過時間２４をクリアして、同様に更新する。なお、暗号要求のデータ長が短く、起動後経過時間２４が全要求処理時間２１に対して十分短くなる場合には、起動後経過時間２４を固定的に０としてもよい。
【００４０】
ＣＰＵ１１は、暗号処理が終了したら、その暗号データをＬＡＮ  Ｉ／Ｆ１４からＩＰ−ＶＰＮ網３に対して送出し、復号処理が終了したら、その非暗号データをＬＡＮ  Ｉ／Ｆ１３からＩＰ網２に対して送出する。
【００４１】
以上のように、本実施の形態では、負荷の最も小さい暗号・復号デバイス１５または１６を、全要求データのデータ長で特定するのではなく、全要求処理時間で特定するので、要求データの暗号形式が異なる場合でも、また、暗号・復号デバイス１５，１６の性能や構成が異なる場合でも、負荷の最も小さい暗号・復号デバイス１５または１６を特定して負荷を効率良く分散でき、暗号・復号の高速化を図ることができる。
【００４２】
（第２実施の形態）
図５は、本発明の第２実施の形態に係るルータ装置による暗号・復号性能表の更新動作を示すフローチャートである。
【００４３】
本実施の形態は、第１実施の形態において、暗号・復号デバイス１５，１６の実際の性能値を算出して、対応する暗号・復号性能表２２における暗号形式の性能値を更新するようにしたもので、その他の動作は第１実施の形態と同様である。
【００４４】
このため、本実施の形態では、暗号・復号処理の完了時に、図５に示すように、先ず、起動後経過時間２４を実際に暗号・復号処理にかかった時間として処理した暗号要求データ３１のデータ長で除算し実際の性能値を算出する（ステップＳ２１）。
【００４５】
次に、実際の性能値と暗号・復号性能表２２の対応する暗号形式の性能値との差分をとって（ステップＳ２２）、その差分の絶対値が一定値を超えるか否かを判定し（ステップＳ２３）、一定値を上回っていると判定された（ＹＥＳ）場合には、暗号・復号性能表２２の対応する暗号形式の値を算出した値で更新し（ステップＳ２４）、次に、全要求リスト２３を走査して全要求リスト２３の処理時間を、更新した性能値を用いて再計算して更新すると同時に、各要求処理時間の和を算出する（ステップＳ２５）。全要求リスト２３の更新が完了したら、算出した各要求処理時間の和の値で全要求処理時間２１を更新する（ステップＳ２６）。
【００４６】
一方、ステップＳ２３において、実際の性能値と暗号・復号性能表２２の対応する暗号形式の性能値との差分の絶対値が一定の値を下回っていると判定された（ＮＯ）場合には、暗号・復号性能表２２、全要求リスト２３の処理時間、全要求処理時間２１の更新は行わず、全要求リスト２３の先頭エントリにある処理時間を全要求処理時間２１から減算する。
【００４７】
以後は、同様にして、暗号・復号デバイス１５，１６が一つの要求の処理を開始してから完了するまでの時間を監視して実際の性能値を算出し、その実際の性能値と対応する暗号・復号性能表２２の暗号形式の性能値との差分が一定値を上回る場合には、暗号・復号性能表２２の対応する暗号形式の性能値を、算出した実際の性能値に更新すると共に、その更新した性能値を用いて全要求リスト２３の処理時間を再計算して、その和である全要求処理時間２１を更新する。
【００４８】
本実施の形態によれば、実際の性能値を算出して、暗号・復号性能表２２の対応する暗号形式の性能値を更新すると共に、全要求処理時間２１を更新することで、暗号・復号デバイス１５あるいは１６が汎用のＤＳＰ等の計算デバイスを使用して構成されている場合のように、暗号・復号機能以外の機能が動作する時間帯で暗号・復号性能が変化する場合であっても、負荷の最も小さい暗号・復号デバイス１５または１６を特定して負荷を効率良く分散でき、装置設計の柔軟性を向上することができる。また、暗号・復号デバイス１５あるいは１６の実際の性能が判明していない場合には、装置起動時に対応する暗号・復号性能表２２を全て０に設定して優先的に起動することにより、性能表をより早く確定することができるので、暗号・復号性能表２２を予め調査して設定する必要がなくなり、実装が容易になる。
【００４９】
（第３実施の形態）
本発明の第３実施の形態においては、第１実施の形態において、メモリ１２に暗号・復号デバイス１５，１６のそれぞれに対応して各暗号形式の実性能比表を格納し、その実性能比を用いて全要求処理時間２１を算出するようにしたもので、その他の動作は第１実施の形態と同様である。
【００５０】
このため、本実施の形態では、暗号・復号処理の完了時に、例えば、起動後経過時間２４を実際に暗号・復号処理にかかった時間として処理した暗号要求データ３１のデータ長で除算して、実際の性能値を算出し、その算出した実性能値を暗号・復号性能表２２にある対応する暗号形式の性能値で除算することにより、実性能比を求めて実性能比表を更新する。あるいは、更新前の実性能比と暗号・復号性能表２２の値とを乗算した更新前の実性能値と、現在の実性能値との差分の絶対値が、ある閾値を超えない場合は測定算出した実性能比で実性能比表を更新し、ある閾値を越えた場合は、一定の値を更新前の実性能値に加算あるいは減算して、その値を暗号・復号性能表２２の値で除算して実性能比表を更新する。
【００５１】
以後は、暗号・復号要求を受けた際に、暗号・復号デバイス１５，１６の各々について、未処理の全要求データの処理時間とその暗号形式に対応する実性能比とを乗算して全要求処理時間２１を算出し、その全要求処理時間２１に基づいて第１実施の形態と同様にして最も負荷の小さい暗号・復号デバイス１５または１６を特定して負荷を分散する。
【００５２】
なお、実性能比表には、初期値として全ての暗号形式に対して１を与えて、実際の性能が判明していない暗号・復号デバイス１５あるいは１６に対する性能値を暗号・復号性能表２２の値と一致させておく。あるいは、実性能比表の値を全て０に設定する処理を加えて、実際の性能が判明していない暗号・復号デバイス１５あるいは１６を優先的に起動して、実性能比をより早く確定するようにしてもよい。
【００５３】
また、実性能比は、暗号形式によって変化しない場合は、代表値として一つを格納するようにしてもよい。さらに、実性能比が激しく変化する場合は、一度に変化できる最大値を設け、それより大きい変化に対しては最大値しか変化させないように実性能比を更新するようにしてもよい。
【００５４】
本実施の形態によれば、実性能比を用いることにより、暗号・復号デバイス１５，１６の各々における全要求処理時間２１をより正確に算出できるので、負荷の最も小さい暗号・復号デバイス１５または１６を確実に特定することができる。したがって、負荷の分散精度を向上でき、暗号・復号のより高速化が図れる。また、実性能比を用いて全要求処理時間２１を算出することから、第２実施の形態と同様に、暗号・復号デバイス１５あるいは１６が汎用のＤＳＰ等の計算デバイスを使用して構成されている場合のように、暗号・復号機能以外の機能が動作する時間帯で暗号・復号性能が変化する場合であっても、負荷の最も小さい暗号・復号デバイス１５または１６を特定して負荷を効率良く分散できるので、装置設計の柔軟性を向上することができる。
【００５５】
（第４実施の形態）
図６および図７は本発明の第４実施の形態を示すもので、図６は本発明による負荷分散方法を実施するルータ装置を含む全体的なシステム概念図、図７は図６に示す暗号・復号負荷分散デバイスの概略構成を示すブロック図である。
【００５６】
図６において、ルータ装置６は、第１実施の形態と同様に、ＩＰ網２から受信した非暗号データを暗号化してＩＰ−ＶＰＮ網３に暗号データとして転送し、ＩＰ−ＶＰＮ網３から受信した暗号データを復号してＩＰ網２に非暗号データとして転送するものであるが、本実施の形態ではルータ装置６による負荷分算処理をハードウェアにより行うものである。このため、ルータ装置６には、ＣＰＵ６１、メモリ６２、ＬＡＮ Ｉ／Ｆ６３，６４、複数（図６では２個）の暗号・復号デバイス６５，６６の他に、暗号・復号負荷分散デバイス６７を設けている。
【００５７】
暗号・復号負荷分散デバイス６７は、図７に示すように、暗号・復号性能表７１，７２、要求処理時間予測部７３、要求受付部７４、小負荷デバイス選択部７５、全要求処理時間レジスタ７６，７７、要求キュー７８，７９、完了通知受付部８０を有している。ここで、暗号・復号性能表７１、全要求処理時間レジスタ７６および要求キュー７８は、一方の暗号・復号デバイス６５に対応しており、暗号・復号性能表７２、全要求処理時間レジスタ７７および要求キュー７９は、他方の暗号・復号デバイス６６に対応している。
【００５８】
以下、本実施の形態の動作について説明する。
【００５９】
まず、ルータ装置６は、電源起動時に、ＣＰＵ６１から暗号・復号負荷分散デバイス６７に対して初期化要求を送る。初期化要求を受けた暗号・復号負荷分散デバイス６７は、全要求処理時間レジスタ７６，７７を０に設定して、要求キュー７８，７９をクリアする。次に、ＣＰＵ６１は、暗号・復号負荷分散デバイス６７中の暗号・復号性能表７１，７２を設定する。
【００６０】
その後、ＬＡＮ  Ｉ／Ｆ６３がＩＰ網２から非暗号データを受信した場合には、その受信した非暗号データをメモリ６２に格納してＣＰＵ６１に通知する。ＣＰＵ６１は、その通知を受けて、受信した非暗号データのルーティング先を計算し、対応するＩＰ−ＶＰＮ網３とのリンク確立時のネゴシエーション情報から暗号形式を求めて、暗号・復号負荷分散デバイス６７の要求受付部７４に要求データの暗号形式および処理内容（この場合、暗号）、データ長、データのメモリ上の位置を通知する。
【００６１】
また、ＬＡＮ  Ｉ／Ｆ６４がＩＰ−ＶＰＮ網３から暗号データを受信した場合には、その受信した暗号データをメモリ６２に格納してＣＰＵ６１に通知する。ＣＰＵ６１は、その通知を受けて、ＩＰ−ＶＰＮ網３とのネゴシエーション情報から暗号形式を求め、暗号・復号負荷分散デバイス６７の要求受付部７４に暗号形式および処理内容（この場合、復号）、データ長、データのメモリ上の位置を通知する。
【００６２】
暗号・復号負荷分散デバイス６７は、要求受付部７４においてＣＰＵ６１からの通知を受けたら、小負荷デバイス選択部７５を通して暗号・復号デバイス６５，６６の全要求処理時間レジスタ７６，７７から最も値の小さいものを探索し、その負荷の最も小さい暗号・復号デバイス６５または６６と、それに対応する要求キュー７８または７９と、要求処理時間予測部７３とを接続する。同時に、負荷の最も小さい暗号・復号デバイス６５または６６に対応する暗号・復号性能表７１または７２を要求処理時間予測部７３に接続する。
【００６３】
その後、要求受付部７４は、要求処理時間予測部７３に対して受け付けた要求を通知し、これにより要求処理時間予測部７３では、接続された暗号・復号性能表７１または７２から、要求データの暗号形式、処理内容に対する性能値を特定し、暗号要求データのデータ長と乗算することで得られる予測時間を算出し、接続された要求キュー７８または７９に、要求データと共に出力する。
【００６４】
その後、要求処理時間予測部７３は、接続された全要求処理時間レジスタ７６または７７の値に、算出した予測時間を加算し更新する。
【００６５】
以上により、負荷の最も小さい暗号・復号デバイス６５または６６に処理を依頼し、要求受付時の負荷状況の更新を行うことができる。
【００６６】
次に、暗号・復号負荷分散デバイス６７は、該当する暗号・復号デバイス６５または６６が未起動状態であれば、対応する要求キュー７８または７９の暗号・復号デバイス側先頭の暗号要求の処理を依頼して起動する。
【００６７】
同時に、起動状態にある暗号・復号デバイス６５または６６は、処理を完了すると、暗号・復号負荷分散デバイス６７の完了通知受付部８０に完了通知を送る。完了通知を受けた完了通知受付部８０は、暗号・復号デバイス６５または６６に対応する要求キュー７８または７９、および全要求処理時間レジスタ７６および７７を選択して、要求キュー７８または７９の暗号・復号デバイス側先頭にある要求情報から処理時間を取り出し、全要求処理時間レジスタ７６または７７の値から減算した後、その要求情報を廃棄して、次の要求情報を新しいキューの先頭とする。
【００６８】
その後、暗号・復号デバイス６５または６６は、更新された要求キュー７８または７９の先頭に暗号要求が存在すれば、その処理を対応する暗号・復号デバイス６５または６６に依頼し起動する。
【００６９】
なお、暗号・要求データを要求キュー７８，７９から取り出し、対応する暗号・復号デバイス６５，６６への起動を行う処理は、ＣＰＵ６１を用いて行ってもよい。また、暗号・復号処理の完了を暗号・復号負荷分散デバイス６７に通知する処理は、ＣＰＵ６１を用いて行ってもよい。
【００７０】
ＣＰＵ６１は、暗号処理の終わったデータをＬＡＮ  Ｉ／Ｆ６４からＩＰ−ＶＰＮ網３に対して送出し、復号処理の終わったデータはＬＡＮ  Ｉ／Ｆ６３からＩＰ網２に対して送出する。
【００７１】
なお、本実施の形態では、起動後経過時間を０固定としたが、起動後経過時間測定用のタイマを暗号・復号デバイス６５，６６内に含めるか、あるいは、暗合・復号デバイス６５，６６の起動後経過時間レジスタを暗合・復号負荷分散デバイス６７に含めて、暗合・復号処理要求時および暗合・復号処理完了時にＣＰＵ６１により更新することで、起動後経過時間を暗号・復号デバイス６５または６６の選択に用いることも可能である。
【００７２】
本実施の形態によれば、ルータ装置６に暗号・復号負荷分散デバイス６７を設けることで、ＣＰＵ６１の負担を軽減でき、高速処理が可能になると共に、メモリ６２の容量を削減でき、そのコストダウンを図ることができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１実施の形態による負荷分散方法を実施するルータ装置を含む全体的なシステム概念図である。
【図２】図１のメモリに格納するデータ例を示す図である。
【図３】第１実施の形態による暗号・復号要求受付時の負荷分散動作を示すフローチャートである。
【図４】同じく、暗号・復号要求完了時の負荷状況更新動作を示すフローチャートである。
【図５】本発明の第２実施の形態に係るルータ装置による暗号・復号性能表の更新動作を示すフローチャートである。
【図６】本発明の第４実施の形態による負荷分散方法を実施するルータ装置を含む全体的なシステム概念図である。
【図７】図６に示す暗号・復号負荷分散デバイスの概略構成を示すブロック図である。
【符号の説明】
【００７４】
１  ルータ装置
２  ＩＰ網
３  ＩＰ−ＶＰＮ網
６  ルータ装置
１１  ＣＰＵ
１２  メモリ
１３，１４  ＬＡＮ  Ｉ／Ｆ
１５，１６  暗号・復号デバイス
２１  全要求処理時間
２２  暗号・復号性能表
２３  全要求リスト
２４  起動後経過時間
３１  暗号要求データ
３２  処理時間
６１  ＣＰＵ
６２  メモリ
６３，６４  ＬＡＮ  Ｉ／Ｆ
６５，６６  暗号・復号デバイス
７１，７２  暗号・復号性能表
７３  要求処理時間予測部
７４  要求受付部
７５  小負荷デバイス選択部
７６，７７  全要求処理時間レジスタ
７８，７９  要求キュー
８０  完了通知受付部
【図１】
2006033593.tif 000003
【図２】
2006033593.tif 000004
【図３】
2006033593.tif 000005
【図４】
2006033593.tif 000006
【図５】
2006033593.tif 000007
【図６】
2006033593.tif 000008
【図７】
2006033593.tif 000009