(57)【要約】【課題】省電力モード時に動作する制御部のリソースが、通常電力モード時に動作する制御部のリソースよりも少ない場合であっても、好適に省電力モードを維持するとともに、省電力モードにおいてセキュリティ通信を実現する画像処理装置、及びその制御方法を提供する。【解決手段】本画像処理装置は、第１の電力モード及び該第１の電力モードよりも消費電力の小さい第２の電力モードを有し、装置全体を制御する第１制御部と、第１の電力モード及び第２の電力モードにおいて電力が供給される第２制御部とを備え、外部装置とセキュリティ通信を実行する。また、第１制御部は、第１の電力モードから第２の電力モードへ移行する際に、セキュリティ通信に関連する複数のセキュリティ関連情報を記憶する記憶部に記憶された複数のセキュリティ関連情報から第２制御部に通知するセキュリティ関連情報を選定する。【選択図】図７
2012227829.tif 000002
【特許請求の範囲】
【請求項１】
第１の電力モード及び該第１の電力モードよりも消費電力の小さい第２の電力モードを有し、装置全体を制御する第１制御手段と、前記第１の電力モード及び前記第２の電力モードにおいて電力が供給される第２制御手段とを備え、外部装置とセキュリティ通信を実行する画像処理装置であって、
前記第１制御手段は、
セキュリティ通信に関連する複数のセキュリティ関連情報を記憶する記憶手段と、
前記第１の電力モードから前記第２の電力モードへ移行する際に前記記憶手段に記憶された複数のセキュリティ関連情報から前記第２制御手段に通知するセキュリティ関連情報を選定する選定手段と、
前記選定手段によって選定された前記セキュリティ関連情報を前記第２制御手段に通知する通知手段と、
前記通知手段による通知が完了すると、前記第１の電力モードから前記第２の電力モードに移行する移行手段と
を備え、
前記第２制御手段は、
前記通知手段によって通知された前記セキュリティ関連情報を保持する保持手段と、
前記外部装置からパケットを受信する受信手段と、
前記第２の電力モードの間に前記受信手段によって前記外部装置からパケットを受信した場合に、前記保持手段に保持されている前記セキュリティ関連情報に従って、前記第１制御手段で応答するか、又は、前記第２制御手段で代理応答するかを判定する判定手段と、
前記判定手段によって前記第１制御手段で応答すると判定した場合に前記第１制御手段を前記第２の電力モードから復帰させるとともに、該パケットを前記第１制御手段に転送し、前記判定手段によって前記第２制御手段で代理応答すると判定した場合に該パケットを処理し前記セキュリティ関連情報に従ったセキュリティ通信を介して前記外部装置に代理応答する処理手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記選定手段は、前記保持手段の保持可能な数のセキュリティ関連情報を選定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記選定手段は、
前記第２の電力モードの間に前記第２制御手段によって代理応答した回数、前記第１の電力モードの間に前記第１制御手段によって応答した回数、及び、前記第１制御手段を前記第２の電力モードから復帰する要因となった回数を含むカウント情報と、最新のパケットを受信した時刻情報と、各セキュリティ関連情報を識別するための情報とを関連付けて定義したテーブルを用いて、前記記憶手段に記憶された複数のセキュリティ関連情報から前記第２制御手段に通知するセキュリティ関連情報を選定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記選定手段は、
前記記憶手段に記憶されているセキュリティ関連情報の数が、前記保持手段による保持可能なセキュリティ関連情報の数を超える場合に、前記カウント情報のうち、前記第２の電力モードの間に前記第２制御手段によって代理応答した回数と、前記第１の電力モードの間に前記第１制御手段によって応答した回数との合計値が大きいセキュリティ関連情報から優先的に選定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記選定手段は、
前記記憶手段に記憶されているセキュリティ関連情報の数が、前記保持手段による保持可能なセキュリティ関連情報の数を超える場合に、前記カウント情報のうち、前記第２の電力モードの間に前記第２制御手段によって代理応答した回数が大きいセキュリティ関連情報から優先的に選定することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記選定手段は、
前記記憶手段に記憶されているセキュリティ関連情報の数が、前記保持手段による保持可能なセキュリティ関連情報の数を超える場合に、前記カウント情報のうち、前記第１制御手段を前記第２の電力モードから復帰する要因となった回数が小さいセキュリティ関連情報から優先的に選定することを特徴とする請求項３乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記選定手段は、
前記記憶手段に記憶されているセキュリティ関連情報の数が、前記保持手段による保持可能なセキュリティ関連情報の数を超える場合に、前記カウント情報のうち、前記時刻情報が新しいセキュリティ関連情報から優先的に選定することを特徴とする請求項３乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記第１制御手段は、
前記外部装置からパケットを受信した際に、前記テーブルの値を更新する更新手段をさらに備えることを特徴とする請求項３乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記第２制御手段は、
前記第１制御手段を前記第２の電力モードから復帰させる際に、該第２の電力モードの間に応答したパケットに関する情報であって、かつ、前記テーブルを更新するための更新情報を前記第１制御手段に通知する手段をさらに備え、
前記更新手段は、前記第２の電力モードから復帰した際に前記第２制御手段からの前記更新情報に従って前記テーブルを更新し、前記第１の電力モードの間に前記外部装置からのパケットを処理するごとに前記テーブルを更新することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記判定手段は、前記外部装置からパケットを受信した際に、該パケットに対応するセキュリティ関連情報が前記保持手段に保持されていない場合は、前記第１制御手段で応答すると判定することを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
前記判定手段は、さらに、受信した前記パケットに応答する必要がなければ、該パケットを破棄すると判定し、
前記処理手段は、前記判定手段によって前記パケットを破棄すると判定された場合に、該パケットを破棄することを特徴とする請求項１乃至１０の何れか１項に記載の画像処理装置。
【請求項１２】
前記セキュリティ関連情報とは、ＩＰｓｅｃ（Internet Protocol Security）に基づくセキュリティ通信を実行する際に用いられる情報であることを特徴とする請求項１乃至１１の何れか１項に記載の画像処理装置。
【請求項１３】
第１の電力モード及び該第１の電力モードよりも消費電力の小さい第２の電力モードを有し、装置全体を制御する第１制御手段と、前記第１の電力モード及び前記第２の電力モードにおいて電力が供給される第２制御手段とを備え、外部装置とセキュリティ通信を実行する画像処理装置の制御方法であって、
前記第１制御手段は、
選定手段が、前記第１の電力モードから前記第２の電力モードへ移行する際に、セキュリティ通信に関連する複数のセキュリティ関連情報を記憶する記憶手段に記憶された複数のセキュリティ関連情報から前記第２制御手段に通知するセキュリティ関連情報を選定する選定ステップと、
通知手段が、前記選定ステップにおいて選定された前記セキュリティ関連情報を前記第２制御手段に通知する通知ステップと、
移行手段が、前記通知ステップによる通知が完了すると、前記第１の電力モードから前記第２の電力モードに移行する移行ステップと
を実行し、
前記第２制御手段は、
受信手段が、前記外部装置からパケットを受信する受信ステップと、
判定手段が、前記第２の電力モードの間に前記受信ステップにおいて前記外部装置からパケットを受信した場合に、前記通知ステップにおいて通知された前記セキュリティ関連情報を保持する保持手段に保持されている前記セキュリティ関連情報に従って、前記第１制御手段で応答するか、又は、前記第２制御手段で代理応答するかを判定する判定ステップと、
処理手段が、前記判定ステップにおいて前記第１制御手段で応答すると判定した場合に前記第１制御手段を前記第２の電力モードから復帰させるとともに、該パケットを前記第１制御手段に転送し、前記判定ステップにおいて前記第２制御手段で代理応答すると判定した場合に該パケットを処理し前記セキュリティ関連情報に従ったセキュリティ通信を介して前記外部装置に代理応答する処理ステップと
を実行することを特徴とする画像処理装置の制御方法。
【請求項１４】
請求項１３に記載の画像処理装置の制御方法における各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電力制御を行う画像処理装置、及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、機器が消費する電力を低減するため、稼動していない状態が一定時間以上経過した場合は、電力の供給を機器の一部に限定することにより低電力で動作する「スリープ状態（省電力モード）」へ遷移する省電力機能が進歩している。また、ネットワーク技術の普及に伴い、ネットワークを利用して機器とホスト間で定期的にデータのやり取りを行う状況が想定される。機器が「スリープ状態」のときにネットワーク経由のデータ処理を行うためには、機器を「非スリープ状態（通常電力モード）」に遷移する必要があった。結果、頻繁にネットワーク上でデータのやり取りが行われる環境では「スリープ状態」時間が短くなり、効果的に消費電力を低減することができていなかった。
【０００３】
これを解決する手法として、従来技術では、機器に複数のＣＰＵを搭載し、非スリープ時にはメインＣＰＵで処理を行うが、スリープ時には、電力消費の小さいサブＣＰＵでメインＣＰＵの処理を代替させ、スリープ状態からの復帰を低減する手法が提案されている。また、ネットワークプロトコルの多様化、複雑化に伴いサブＣＰＵが代替できる処理を拡充するために、サブＣＰＵにプロトコルスタックを搭載する手法も考えられている。
【０００４】
一方、近年、ネットワーク上を流れるデータの改ざん、盗聴を防ぐためのセキュリティ機能の普及に伴い、機器は、通信相手と複雑なネゴシエーションを行い、その結果に基づいて暗号処理、復号化処理を行う方式が用いられている。これに伴い、機器とホスト間で定期的にやり取りされるネットワークデータのやり取りにも、セキュリティ通信が利用される機会が増えている。特許文献１には、このようなセキュリティ通信時にも、サブＣＰＵにセキュリティ機能を搭載し、メインＣＰＵとサブＣＰＵ間において、セキュリティ通信に必要な情報を交換することで、メインＣＰＵの処理を代替させる方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１９１５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術には以下に記載する問題がある。一般に組込みソフトウェア製品等では部品コスト等の制約上、メインＣＰＵ側とサブＣＰＵ側の両方に豊富なＲＡＭ領域等のリソースを構成することは困難である。特に電力消費の小さいサブＣＰＵ側で使用するリソースは、省電力状態で動作することを考慮するとメインＣＰＵ側で使用するリソースと比べ小さい領域となってしまう。これによって、メインＣＰＵとサブＣＰＵ間で交換するセキュリティ通信情報が全て渡せない場合が発生する。
【０００７】
例えば、メインＣＰＵ側においてセキュリティ通信セッション数に対して保持している情報をサブＣＰＵ側に渡す場合、サブＣＰＵ側の情報格納領域が小さいために全ての通信セッション数分の情報を渡すことができない問題が生じる。この場合、メインＣＰＵ側で保持しているセキュリティ通信セッション情報の一部のみをサブＣＰＵ側へ渡すことになる。そのため、省電力モードの間にサブＣＰＵ側で保持していないセキュリティ通信セッションを用いて外部装置からデータを受信するとサブＣＰＵ側では処理することができない。結果として、省電力状態から復帰してセキュリティ通信セッション情報の全てを管理しているメインＣＰＵ側で処理を行うことになり、省電力状態を長時間保てなくなってしまう。
【０００８】
本発明は、上述の問題に鑑みて成されたものであり、省電力モード時に動作する制御部のリソースが、通常電力モード時に動作する制御部のリソースよりも少ない場合であっても、好適に省電力モードを維持するとともに、省電力モードにおいてセキュリティ通信を実現する画像処理装置、及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、第１の電力モード及び該第１の電力モードよりも消費電力の小さい第２の電力モードを有し、装置全体を制御する第１制御手段と、前記第１の電力モード及び前記第２の電力モードにおいて電力が供給される第２制御手段とを備え、外部装置とセキュリティ通信を実行する画像処理装置として実現できる。前記第１制御手段は、セキュリティ通信に関連する複数のセキュリティ関連情報を記憶する記憶手段と、前記第１の電力モードから前記第２の電力モードへ移行する際に前記記憶手段に記憶された複数のセキュリティ関連情報から前記第２制御手段に通知するセキュリティ関連情報を選定する選定手段と、前記選定手段によって選定された前記セキュリティ関連情報を前記第２制御手段に通知する通知手段と、前記通知手段による通知が完了すると、前記第１の電力モードから前記第２の電力モードに移行する移行手段とを備え、前記第２制御手段は、前記通知手段によって通知された前記セキュリティ関連情報を保持する保持手段と、前記外部装置からパケットを受信する受信手段と、前記第２の電力モードの間に前記受信手段によって前記外部装置からパケットを受信した場合に、前記保持手段に保持されている前記セキュリティ関連情報に従って、前記第１制御手段で応答するか、又は、前記第２制御手段で代理応答するかを判定する判定手段と、前記判定手段によって前記第１制御手段で応答すると判定した場合に前記第１制御手段を前記第２の電力モードから復帰させるとともに、該パケットを前記第１制御手段に転送し、前記判定手段によって前記第２制御手段で代理応答すると判定した場合に該パケットを処理し前記セキュリティ関連情報に従ったセキュリティ通信を介して前記外部装置に代理応答する処理手段とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明は、第２の電力モード時に動作する制御部のリソースが、第１の電力モード時に動作する制御部のリソースよりも少ない場合であっても、好適に第２の電力モードを維持するとともに、第２の電力モードにおいてセキュリティ通信を実現する画像処理装置、及びその制御方法を提供できる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置１０１を含むシステム全体の構成例を示す図である。
【図２】画像処理装置１０１のハードウェア構成を示すブロック図である。
【図３】画像処理装置１０１のソフトウェア構成を示すブロック図である。
【図４】ＳＡＤの詳細な情報を示す図である。
【図５】スリープ移行時におけるシステム制御部２１０の処理フローを示すフローチャートである。
【図６】ＳＡの選定処理を行う上での基となるＳＡ選定テーブルを示す図である。
【図７】ＳＡ選定処理の詳細フローを示すフローチャートである。
【図８】スリープ復帰時のＳＡ受け渡しとＳＡ選定テーブルの更新フローを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１３】
＜システム構成＞
本実施形態では、画像処理装置が暗号化通信を実行する場合の処理について説明する。なお、ここでは暗号化通信の一例としてＩＰｓｅｃ（Internet Protocol Security）を用いて通信する場合について説明する。しかしながら、本発明は、他の暗号化通信が適用されてもよい。ＩＰｓｅｃは、特定の認証アルゴリズムや暗号アルゴリズムを用いて、ネットワーク上を流れるデータの盗聴や改ざんを防ぐためのプロトコルである。ＩＰｓｅｃは、ＡＨ（Authentication Header）とＥＳＰ（Encapsulations Security Payload）の２つのプロトコルで構成され、ＡＨでは認証のみを、ＥＳＰでは認証と暗号化を行う。どちらのプロトコルを利用するか、また、その際利用する認証アルゴリズムの種別や暗号アルゴリズムの種別は、ＩＰｓｅｃ通信を開始する前のネゴシエーションで決定される。さらに、暗号アルゴリズムで使用する鍵についても、ＩＫＥ（Internet Key Exchange）を利用することによって、ＩＰｓｅｃ通信を開始する前に、通信端末間で交換することが定義されている。パケットフォーマットを含むＩＰｓｅｃ及びＩＫＥの詳細については、ＲＦＣ（Request For Comment）に定義されている。
【００１４】
まず、図１を参照して、画像処理装置１０１を含むシステム全体の構成例について説明する。本画像処理システムでは、画像処理装置１０１とＰＣ１０２とがネットワークを介して接続され、相互に通信可能となっている。画像処理装置１０１及びＰＣ１０２には、それぞれＩＰｓｅｃ通信を実行するための構成が備えられており、画像処理装置１０１とＰＣ１０２との通信は、全てＩＰｓｅｃが適用されているものとする。なお、ここでは、画像処理装置と、ＰＣとをそれぞれ１台づつ設けた画像処理システムについて説明するが、本発明はこれに限定されず、複数台の画像処理装置及び複数台のＰＣが接続された画像処理システムにも適用できる。
【００１５】
＜画像処理装置のハードウェア構成＞
次に、図２を参照して、画像処理装置１０１のハードウェア構成例について説明する。画像処理装置１０１は、システム制御部２１０、ＮＩＣ２２０、操作部２３０、スキャナ２４０、及びプリンタ２５０を備える。システム制御部２１０は、第１制御手段として機能し、ＮＩＣ２２０を介してネットワークに接続されている。システム制御部２１０は、ＣＰＵ２１１、拡張Ｉ／Ｆ２１２、ＲＯＭ２１３、ＲＡＭ２１４、ＨＤＤ２１５、ＮＶＲＡＭ２１６、操作部Ｉ／Ｆ２１７、スキャナＩ／Ｆ２１８、及びプリンタＩ／Ｆ２１９を備え、画像処理装置１０１を統括的に制御する。ＮＩＣ２２０は、第２制御手段として機能し、ＣＰＵ２２１、拡張Ｉ／Ｆ２２２、ＲＯＭ２２３、ＲＡＭ２２４、ネットワークＩ／Ｆ２２５を備え、一部の処理のみを制御する。
【００１６】
システム制御部２１０について説明する。ＣＰＵ２１１は、システム制御部２１０のソフトウェアプログラムを実行し、装置全体の制御を行う。ＲＡＭ２１４は、ランダムアクセスメモリであり、ＣＰＵ２１１が装置を制御する際に、一時的なデータの格納などに使用される。ＲＯＭ２１３は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。
【００１７】
ＨＤＤ２１５は、ハードディスクドライブであり、様々なデータの格納に使用される。ＮＶＲＡＭ２１６は、不揮発性のメモリであり、システム制御部２１０の各種設定値を保存するためのものである。操作部Ｉ／Ｆ（インタフェース）２１７は、操作部２３０を制御し、操作部２３０に備えられた液晶パネルに各種操作画面を表示させるとともに、操作画面を介して入力されるユーザからの指示をＣＰＵ２１１に伝達する。
【００１８】
スキャナＩ／Ｆ２１８は、スキャナ２４０を制御する。スキャナ２４０は、原稿上の画像を読み取って画像データを生成し、出力する。プリンタＩ／Ｆ２１９は、プリンタ２５０を制御する。プリンタ２５０は、画像データに基づく画像を記録媒体上に印刷する。拡張Ｉ／Ｆ２１２は、ＮＩＣ２２０側の拡張Ｉ／Ｆ２２２と接続され、ＮＩＣ２２０を介してネットワーク上の外部装置（ＰＣ１０２など）とのデータ通信を制御する。
【００１９】
次にＮＩＣ２２０について説明する。ＣＰＵ２２１は、ＮＩＣ２２０のソフトウェアプログラムを実行し、装置全体の制御を行う。ＲＡＭ２２４は、ランダムアクセスメモリであり、ＣＰＵ２２１が装置を制御する際に、一時的なデータの格納などに使用される。ＲＯＭ２２３は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。
【００２０】
拡張Ｉ／Ｆ２２２は、システム制御部２１０側の拡張Ｉ／Ｆ２１２と接続され、システム制御部２１０とＮＩＣ２２０との間のデータ通信を制御する。ネットワークＩ／Ｆ２２５は、ネットワークに接続され、ＮＩＣ２２０（システム制御部２１０、画像処理装置１０１）とネットワーク上の外部装置（ＰＣ１０２）との間のデータ通信を制御する。
【００２１】
本実施形態によれば、システム制御部２１０は、通常電力モード（第１の電力モード）と、通常電力モードよりも消費電力が小さい省電力モード（第２の電力モード）のいずれかを切り替えて動作することができる。通常電力モードから省電力モードに移行する場合は、ＣＰＵ２１１、ＨＤＤ２１５、ＮＶＲＡＭ２１６などに対する電力供給が停止される。一方、ＮＩＣ２２０側は、システム制御部２１０とは別のＡＳＩＣ（Application Specific Integrated Circuit）で動作している。このため、システム制御部２１０が省電力モードに移行した状態においてもＮＩＣ２２０に対しては電力供給が継続され、後述する代理応答機能を実現する。即ち、本実施形態では、通常電力モードにおいては、全てのコンポーネントに電力が供給され、省電力モードにおいてはＮＩＣ２２０に対してのみ電力が供給される。
【００２２】
＜画像処理装置のソフトウェア構成＞
次に、図３を参照して、画像処理装置１０１のソフトウェア構成を示すブロック図である。図３に示すように、システム制御部２１０は、ソフトウェア構成として、ＣＰＵ間通信部３０７、ＩＰｓｅｃ制御部３０８、ＩＰｓｅｃ処理部３０９、及びスリープ制御部３１０を備える。ＮＩＣ２２０は、代理応答処理部３０１、ＩＰｓｅｃ送受信処理ライブラリ３０２、ＩＰｓｅｃ制御部３０３、ＩＰｓｅｃ処理部３０４、ネットワークＩ／Ｆ制御部３０５、及びＣＰＵ間通信部３０６を備える。
【００２３】
まず、システム制御部２１０のソフトウェア構成について説明する。スリープ制御部３１０は、通常電力モードと省電力モードの切り替え制御を行う。ＩＰｓｅｃ処理部３０９は、ＩＰｓｅｃ通信の実行に必要な情報を取得するためのネゴシエーション処理や、外部装置との間で送受信するパケットの暗号化／復号化処理を行う。
【００２４】
ＩＰｓｅｃ制御部３０８は、ＩＰｓｅｃ処理部３０９を制御するとともに、ＩＰｓｅｃ処理部３０９がＩＰｓｅｃに関する処理を行う際に必要となる情報を保持する。ＣＰＵ間通信部３０７は、拡張Ｉ／Ｆ２１２及び拡張Ｉ／Ｆ２２２を介して、ＮＩＣ２２０上で動作するソフトウェアコンポーネントとのデータ送受信を行う。また、ＣＰＵ間通信部３０６は、拡張Ｉ／Ｆ２２２及び拡張Ｉ／Ｆ２１２を介して、システム制御部２１０上で動作するソフトウェアコンポーネントとのデータ送受信を行う。
【００２５】
次に、ＮＩＣ２２０のソフトウェア構成について説明する。ＩＰｓｅｃ処理部３０４は、外部装置との間で送受信するパケットの暗号化／復号化処理を行う。なお、ここでは、ＩＰｓｅｃ処理部３０４は、ＩＰｓｅｃ処理部３０９とは異なり、ＩＰｓｅｃ通信の実行に必要な情報を取得するためのネゴシエーションを行う構成は備えていないものとするが、ＩＰｓｅｃ処理部３０９と同一の構成であってもよい。ＩＰｓｅｃ制御部３０３は、ＩＰｓｅｃ処理部３０４を制御するとともに、ＩＰｓｅｃ処理部３０４がＩＰｓｅｃに関する処理を行う際に必要となる情報を保持する。
【００２６】
ネットワークＩ／Ｆ制御部３０５は、ネットワークＩ／Ｆ２２５によるパケットの送受信を制御する。なお、ネットワークＩ／Ｆ制御部３０５は、システム制御部２１０が通常電力モードと省電力モードのどちらで動作しているかを常に把握している。そして、ネットワークＩ／Ｆ制御部３０５は、システム制御部２１０が通常電力モードで動作している場合は、ネットワークから受信するパケットをシステム制御部２１０に転送する。また、ネットワークＩ／Ｆ制御部３０５は、システム制御部２１０が省電力モードで動作している場合は、ネットワークから受信するパケットをＩＰｓｅｃ処理部３０４に転送する。
【００２７】
代理応答処理部３０１は、ＩＰｓｅｃ処理部３０４から転送される受信パケットを受け取る。ＩＰｓｅｃ処理部３０４がパケットを受信するのは、システム制御部２１０が省電力モードで動作している場合のみであるため、代理応答処理部３０１も、この場合にのみ動作する。ＩＰｓｅｃ送受信処理ライブラリ３０２は、代理応答処理部３０１から渡されたパケットに対して、必要に応じて暗号化及び復号化処理を施す。そして、暗号化及び復号化したパケットを出力する。
【００２８】
代理応答処理部３０１は、受信したパケットを３種類に分類する。この３種類とは、「破棄すべきパケット」、「システム制御部２１０に転送すべきパケット」及び「代理で応答すべきパケット」である。「破棄すべきパケット」とは、自装置宛てのパケットではない場合など、無視してもよい（応答する必要がない）パケットであり、これに分類された場合、受信したパケットは破棄される。
【００２９】
「システム制御部２１０に転送すべきパケット」とは、受信したパケットに対して何らかの処理が必要であるが、ＮＩＣ２２０だけでは必要な処理を行うことができないパケットである。このようなパケットを受信した場合、代理応答処理部３０１は、システム制御部２１０を省電力モードから通常電力モードに復帰させ、受信したパケットをシステム制御部２１０に転送する。「代理で応答すべきパケット」とは、システム制御部２１０の代わりにＮＩＣ２２０が応答を行うパケットである。この場合、代理応答処理部３０１は、ＩＰｓｅｃ送受信処理ライブラリ３０２を利用して、応答として送信するパケットを暗号化してから送信する。
【００３０】
＜セキュリティ関連データベース＞
次に、図４を参照して、システム制御部２１０のＲＡＭ２１４上及びＮＩＣ２２０のＲＡＭ２２４上に保存されるＳＡＤ（Security Association Database：セキュリティ関連データベース）について説明する。ＳＡＤは、ＳＡ情報（Security Association：セキュリティ関連情報）を保持するデータベースであり、ＳＡ情報とは、所定の相手先（外部装置）とのＩＰｓｅｃ通信（セキュリティ通信）の単方向トラフィックの情報を示す。ＳＡＤは、各ＩＰｓｅｃ制御部によって生成され、ＩＰｓｅｃ制御部が外部装置とネゴシエーションを行うことによって決定されたＳＡ情報が設定される。
【００３１】
図４に示すように、ＳＡＤ４００には、ＳＰＩ４０１、暗号アルゴリズム４０２、認証アルゴリズム４０３、暗号化鍵４０４、認証鍵４０５、ライフタイム種別４０６、ライフタイム４０７、ＳＡ作成時刻４０８、送信データ量４０９、シーケンス番号４１０、送信元アドレス４１１、送信先アドレス４１２、送信元ポート番号４１３、送信先ポート番号４１４、及びプロトコル種別４１５の情報が定義されている。ＳＰＩ（Security Parameter Index）４０１は、ＳＡ情報を識別するための値である。暗号アルゴリズム４０２は、このトラフィックで利用する暗号アルゴリズムの種別を示す。認証アルゴリズム４０３は、このトラフィックで利用する認証アルゴリズムの種別を示す。
【００３２】
暗号化鍵４０４は、このトラフィックを暗号化する際に利用する鍵情報を示す。認証鍵４０５は、このトラフィックの認証を行う際に利用する鍵情報を示す。ライフタイム種別４０６は、ＳＡ情報の有効期間として、ＳＡ情報を作成してからの時間（秒単位）もしくは、送信するデータ量（キロバイト単位）のどちらを利用するかを示している。ライフタイム４０７は、ＳＡライフタイムの実値を示す。
【００３３】
ＳＡ作成時刻４０８は、ＳＡ情報が作成された時刻（システム起動からの秒）を示し、ＳＡライフタイム種別４０６に時間が設定された際、ＳＡ情報の有効性を判断するために用いられる。送信データ量４０９は、ＳＡ情報の生成から送信したデータ量を示し、ＳＡライフタイム種別４０６にデータ量が設定された際、ＳＡ情報の有効性を判断するために用いる。シーケンス番号４１０は、リプレイ攻撃から防御するための値で、ＩＰｓｅｃヘッダに設定され、パケットを送信するたびに、１ずつ加算される。
【００３４】
送信元アドレス４１１は、このＳＡ情報に対応付けられるＩＰｓｅｃトラフィックの送信元ＩＰ（ＩＰｖ６）アドレスを示す。送信先アドレス４１２は、このＳＡ情報に対応付けられるＩＰｓｅｃトラフィックの送信先ＩＰ（ＩＰｖ６）アドレスを示す。送信元ポート番号４１３は、このＳＡ情報に対応付けられるＩＰｓｅｃトラフィックの送信元ポート番号を示す。送信先ポート番号４１４は、このＳＡ情報に対応付けられるＩＰｓｅｃトラフィックの送信先ポート番号を示す。プロトコル種別４１５は、このＳＡ情報に対応付けられるＩＰｓｅｃトラフィックのプロトコル種別を示す。
【００３５】
＜スリープ移行処理＞
次に、図５を参照して、スリープ移行時におけるシステム制御部２１０の処理手順について説明する。以下で説明する処理は、ＣＰＵ２１１がＲＯＭ２１３、ＨＤＤ２１５等から制御プログラムをＲＡＭ２１４に読み出して実行することにより実現される。
【００３６】
まず、Ｓ５０１において、ＩＰｓｅｃ制御部３０８は、定期的にスリープ制御部３１０からスリープ移行通知があるかを監視する。スリープ移行通知とは、システム制御部２１０が通常電力モードから省電力モードへ移行した際にスリープ制御部３１０から発行される通知である。スリープ制御部３１０からスリープ移行通知があった場合Ｓ５０２に進み、ＩＰｓｅｃ制御部３０８は、ＲＡＭ２１４に格納している全てのＩＰｓｅｃセッションに対するＳＡ情報を取得する。
【００３７】
次に、Ｓ５０３において、ＩＰｓｅｃ制御部３０８は、取得したＳＡ情報の数とＮＩＣ２２０が保持できるＳＡ情報の最大数を比較する。取得ＳＡ数よりＮＩＣ２２０が保持できるＳＡ情報の最大数の方が大きい場合、ＩＰｓｅｃ制御部３０８は処理をＳ５０５に進める。一方、取得ＳＡ数よりＮＩＣ２２０が保持できるＳＡ情報の最大数の方が小さい場合、システム制御部２１０側で保持するＳＡ情報の全てをＮＩＣ２２０側に渡すことはリソースの制約上不可能である。そこでＳ５０４において、ＩＰｓｅｃ制御部３０８は、取得ＳＡ情報からＮＩＣ２２０に渡すＳＡ情報を選定し、Ｓ５０５に進む。ＳＡ情報の選定処理の詳細については、図６及び図７を用いて後述する。
【００３８】
Ｓ５０５において、ＩＰｓｅｃ制御部３０８は、ＣＰＵ間通信部３０７を介して全てのＳＡ情報或いは選定したＳＡ情報をＮＩＣ２２０側へ送信する。続いて、Ｓ５０６において、ＩＰｓｅｃ制御部３０８は、上記スリープ移行通知に対してスリープ制御部３１０へ応答することにより、スリープ制御部３１０がスリープ移行処理を実行し、処理を終了する。
【００３９】
＜ＳＡ情報の選定処理＞
以下では、図６及び図７を参照して、ＳＡ情報の選定処理について説明する。まず、図６を参照して、図５のＳ５０４においてＩＰｓｅｃ制御部３０８がＳＡ情報の選定処理を行う上で判断材料となるＳＡ選定テーブルについて説明する。当該ＳＡ選定テーブル６００は、例えば、ＨＤＤ２１５に格納されている。ＩＰｓｅｃ制御部３０３とＩＰｓｅｃ制御部３０８はスリープ復帰時とスリープ移行時にＳＡ選定テーブルを更新することによってこれを管理し、ＳＡ選定処理の判断材料として利用する。
【００４０】
図６に示す６０１は４０１と同じＳＰＩデータである。ＩＰｓｅｃ制御部３０８はＳＰＩ毎に個々のＳＡ情報とＳＡ選定テーブルを管理する。ＳＡ選定テーブルは、各ＳＰＩ６０１に関連付けて以下で説明する情報を定義する。６０２は、スリープ中（省電力モード中）にＮＩＣ２２０が代理応答をサポートしている要求を外部装置から受信した回数を示すカウント情報である。ＩＰｓｅｃ制御部３０３は、ＳＰＩ毎にスリープ中における代理応答サポート要求の受信回数６０２をカウントする。
【００４１】
６０３は、スリープ復帰後、つまり通常動作中（通常電力モード中）にＮＩＣ２２０が代理応答をサポートしている要求を外部装置から受信した回数を示すカウント情報である。ＩＰｓｅｃ制御部３０８は、ＳＰＩ毎に通常動作中における代理応答サポート要求受信回数６０３をカウントする。６０４は、６０２と６０３の値の合計値である。ＩＰｓｅｃ制御部３０８は、スリープ復帰時にスリープ中における代理応答サポート要求受信回数６０２をＩＰｓｅｃ制御部３０３から取得する。またＩＰｓｅｃ制御部３０８は、スリープ移行時に自身が保持している通常動作中における代理応答サポート要求受信回数６０３と取得したスリープ中における代理応答サポート要求受信回数６０２を足し合わせることで６０４を得ることもできる。この受信回数６０４の値が大きいＳＰＩほど外部装置からの代理応答サポート要求を受信する回数が多いと判断することができる。
【００４２】
６０５は、外部装置からの代理応答サポート要求を受信した最新の時刻情報を示す。スリープ中にはＩＰｓｅｃ制御部３０３が、通常動作中にはＩＰｓｅｃ制御部３０８が、外部装置からの代理応答サポート要求受信時にこの値を随時更新していく。６０６は、個々のＳＰＩ６０１毎にスリープ復帰の要因となるパケットを受信した回数を示すカウント情報である。この復帰要因回数６０６が多いほど、そのＳＰＩ６０１に基づくＩＰＳｅｃ通信において省電力モードから通常電力モードへのスリープ復帰する可能性が高いと判断できる。
【００４３】
次に、図７を参照して、図５のＳ５０４で示したＳＡ選定処理の詳細な処理手順について説明する。以下で説明する処理は、ＣＰＵ２１１がＲＯＭ２１３、ＨＤＤ２１５等から制御プログラムをＲＡＭ２１４に読み出して実行することにより実現される。
【００４４】
まずＳ７０１において、ＩＰｓｅｃ制御部３０８は、ＳＡ選定テーブルからスリープ中における代理応答サポート要求受信回数６０２と、通常運用中における代理応答サポート要求受信回数６０３から受信回数６０４をＳＰＩ６０１毎に算出する。続いてＳ７０２において、ＩＰｓｅｃ制御部３０８は、自身が管理しているＳＡ情報から代理応答をサポートしている要求を受信するＳＡ情報を全て取得する。Ｓ７０３において、ＩＰｓｅｃ制御部３０８は、Ｓ７０２で取得したＳＡ数がＮＩＣ２２０の保持可能なＳＡ最大数を超えているか否かを判定する。
【００４５】
Ｓ７０２で取得したＳＡ数がＮＩＣ２２０の保持可能なＳＡ最大数を超えている場合にはＳ７０４に進み、ＩＰｓｅｃ制御部３０８は、Ｓ７０２にて取得したＳＡ情報を受信回数６０４の降順にソートし、受信回数６０４が大きいＳＡ情報を優先的に選定する。ここで、受信回数６０４の値が同じＳＡ情報が存在する場合は、スリープ復帰要因回数６０６の値の小さいＳＡ情報を優先的に選定する。さらに、受信回数６０４、スリープ復帰要因回数６０６ともに同じ値の場合は代理応答サポート要求の最新受信時刻６０５が新しい時刻となっているＳＡ情報を優先的に選定する。Ｓ７０５において、ＩＰｓｅｃ制御部３０８は、Ｓ７０４でソートした値の降順にＮＩＣ２２０の最大保持可能ＳＡ数の分をＮＩＣ２２０へ送信するＳＡ情報として選定し、処理を終了する。
【００４６】
上記Ｓ７０４の処理は一例であり本発明を限定する意図はない。ＩＰｓｅｃ制御部３０８は、以下で説明する選定条件を組み合わせて、或いは、個別に適用してＳＡ情報を選定してよい。具体的には、ＩＰｓｅｃ制御部３０８は、受信回数６０２と受信回数６０４との合計値が大きいＳＡ情報から優先的に選定してもよい。また、ＩＰｓｅｃ制御部３０８は、受信回数６０２が大きいＳＡ情報から優先的に選定してもよい。また、ＩＰｓｅｃ制御部３０８は、スリープ復帰要因回数６０６が小さいＳＡ情報から優先的に選定してもよい。また、ＩＰｓｅｃ制御部３０８は、最新受信時刻６０５が新しい時刻となっているＳＡ情報を優先的に選定してもよい。或いは、ＩＰｓｅｃ制御部３０８は、上記選定条件を組み合わせて、ＳＡ情報を選定してもよい。さらに、このような選定条件は、操作者によって、操作部２３０を介して設定できるようにしてもよい。
【００４７】
一方、Ｓ７０３でＳ７０２で取得したＳＡ数がＮＩＣ２２０の保持可能なＳＡ最大数より少ない場合にはＳ７０６に進み、ＩＰｓｅｃ制御部３０８は、Ｓ７０２にて取得した全てのＳＡ情報をＮＩＣ２２０へ送信するＳＡ情報として選定する。Ｓ７０７において、ＩＰｓｅｃ制御部３０８は、Ｓ７０２で取得した以外の残ＳＡ情報をスリープ復帰要因回数６０６の昇順にソートする。ここで、スリープ復帰要因回数６０６の値が同じＳＡ情報が存在する場合は、代理応答サポート要求の最新受信時刻６０５が新しい時刻となっているＳＡ情報を優先的に選定する。Ｓ７０８において、ＩＰｓｅｃ制御部３０８は、Ｓ７０７でソートした値の昇順に、ＮＩＣ２２０の最大保持可能ＳＡ数からＳ７０６で選定したＳＡ数を引いた差の数分をＮＩＣ２２０へ送信するＳＡ情報として追加で選定する。
【００４８】
これにより、代理応答をサポートしている要求をより多く受信し、かつスリープ復帰する要求をより少なく受信し、かつ代理応答をサポートしている要求をより最近に受信したＳＡ情報を優先してＮＩＣ２２０へ送信することが可能となる。スリープ中、ＩＰｓｅｃ制御部３０３は、代理応答サポート要求を受信した場合、ＳＰＩ６０１毎に代理応答サポート要求受信回数６０２と最新受信時刻６０５を随時更新する。また、ＩＰｓｅｃ制御部３０３は、スリープ復帰要因となる要求を受信した場合、スリープ復帰の要因となったＳＰＩ６０１を特定し、スリープ復帰要因回数６０６を更新する。
【００４９】
＜スリープ復帰処理＞
次に、図８を参照して、スリープ復帰時における処理手順について説明する。スリープからの復帰のトリガはいくつか種類があるが、ここではネットワークを介してスリープ復帰パケットを受信した場合やＩＰｓｅｃのＳＡ情報に該当しないパケットを受信してスリープから復帰する場合についての実施例について説明する。以下で説明する処理は、ＣＰＵ２２１がＲＯＭ２２３等から制御プログラムをＲＡＭ２２４に読み出して実行することにより実現される。
【００５０】
ＮＩＣ２２０がスリープ復帰パケットを受信した場合、Ｓ８０１において、ＩＰｓｅｃ制御部３０３は、ＩＰｓｅｃ処理部３０４やＩＰｓｅｃ送受信処理ライブラリ３０２を利用して外部装置から受信したＩＰｓｅｃパケットを復号化する。ＩＰｓｅｃ制御部３０３は、復号化したパケットがスリープ復帰要因パケットかどうかをチェックする。スリープ復帰要因パケットでない場合、代理応答処理部３０１が代理応答処理を行ったり、受信パケットを破棄したりする処理を行うが、その詳細については本特許と関連がないため省略する。またＮＩＣ２２０がＩＰｓｅｃのＳＡ情報に該当しないパケットを受信した場合にスリープ復帰する場合は、復号処理は行わない。
【００５１】
次に、Ｓ８０２において、ＩＰｓｅｃ制御部３０３は、ＩＰｓｅｃ処理部３０４へＩＰｓｅｃ通信の終了を要求する。この要求を受けたＩＰｓｅｃ処理部３０４は、以降のＩＰｓｅｃ通信処理を完了させる。これにより、ＩＰｓｅｃ処理部３０４は、ＮＩＣ２２０において暗号処理、復号処理途中のパケットが存在しない状態にする。Ｓ８０３において、ＩＰｓｅｃ制御部３０３は、今回スリープ復帰の要因となった要求がどのＳＡ情報に対する通信で受信したかを判別し、そのＳＰＩ６０１に対するスリープ復帰要因回数６０６の値を更新する。
【００５２】
次に、Ｓ８０４において、ＩＰｓｅｃ制御部３０３は、ＳＡ情報毎に管理しているスリープ中の代理応答サポート要求受信回数６０２と最新受信時刻６０５とスリープ復帰要因回数６０６とを更新情報として作成し、システム制御部２１０側へＣＰＵ間通信部３０６を介して送信する。システム制御部２１０側では、ＩＰｓｅｃ制御部３０８がこれらの情報を受信し、ＳＡ選定テーブルのデータを個々のＳＰＩ毎に更新する。
【００５３】
Ｓ８０５において、ＩＰｓｅｃ制御部３０３は、自身が保持、管理している全てのＳＡ情報をシステム制御部２１０側へＣＰＵ間通信部３０６を介して送信する。システム制御部２１０側では、ＩＰｓｅｃ制御部３０８が受信した全てのＳＡ情報を自身が保持しているＳＡ情報に対して更新する。これによって、スリープ中に行われたＩＰｓｅｃ通信に対するＳＡの情報をスリープ復帰後に引き継いでＩＰｓｅｃ通信を再開することが可能となる。スリープ復帰処理以降、通常運用中においてＩＰｓｅｃ制御部３０８は、ＳＡ毎に代理応答をサポートするパケットを受信した場合に代理応答サポート要求受信回数６０３を随時更新し、併せて最新受信時刻６０５を更新する処理を行う。
【００５４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012227829.tif 000003
【図２】
2012227829.tif 000004
【図３】
2012227829.tif 000005
【図４】
2012227829.tif 000006
【図５】
2012227829.tif 000007
【図６】
2012227829.tif 000008
【図７】
2012227829.tif 000009
【図８】
2012227829.tif 000010