(57)【特許請求の範囲】
【請求項１】
ネットワークインタフェース装置を介してネットワーク上の外部装置と通信可能な通信装置であって、
前記通信装置が第１の電力モードから当該第１の電力モードよりも消費電力が小さい第２の電力モードに移行する場合に、ＩＰＳｅｃのＳＡ情報を前記ネットワークインタフェース装置に通知する通知手段と、
前記通信装置が前記第２の電力モードから前記第１の電力モードに復帰する場合に、前記ＳＡ情報を前記ネットワークインタフェース装置から取得する取得手段と、
前記通信装置が前記第２の電力モードに移行してから前記第１の電力モードに復帰するまでに経過した時間を特定する特定手段と、
前記特定手段によって特定された前記時間に基づいて、前記取得手段が取得した前記ＳＡ情報のライフタイムを修正する修正手段とを備えたことを特徴とする通信装置。
【請求項２】
前記特定手段は、前記外部装置から取得した情報に基づいて、前記時間を特定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記特定手段は、ＳＮＴＰを用いて前記時間を特定することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記特定手段は、ＲＴＣを用いて前記時間を特定することを特徴とする請求項１に記載の通信装置。
【請求項５】
前記通信装置は、印刷を実行可能な印刷装置であることを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
ネットワークインタフェース装置を介してネットワーク上の外部装置と通信可能な通信装置の制御方法であって、
前記通信装置が第１の電力モードから当該第１の電力モードよりも消費電力が小さい第２の電力モードに移行する場合に、ＩＰＳｅｃのＳＡ情報を前記ネットワークインタフェース装置に通知する通知ステップと、
前記通信装置が前記第２の電力モードから前記第１の電力モードに復帰する場合に、前記ＳＡ情報を前記ネットワークインタフェース装置から取得する取得ステップと、
前記通信装置が前記第２の電力モードに移行してから前記第１の電力モードに復帰するまでに経過した時間を特定する特定ステップと、
前記特定ステップによって特定された前記時間に基づいて、前記取得ステップで取得した前記ＳＡ情報のライフタイムを修正する修正ステップとを備えたことを特徴とする通信装置の制御方法。
【請求項７】
ネットワークインタフェース装置を介してネットワーク上の外部装置と通信可能な通信装置の制御方法をコンピュータに実行させるためのプログラムであって、
前記通信装置の制御方法は、
前記通信装置が第１の電力モードから当該第１の電力モードよりも消費電力が小さい第２の電力モードに移行する場合に、ＩＰＳｅｃのＳＡ情報を前記ネットワークインタフェース装置に通知する通知ステップと、
前記通信装置が前記第２の電力モードから前記第１の電力モードに復帰する場合に、前記ＳＡ情報を前記ネットワークインタフェース装置から取得する取得ステップと、
前記通信装置が前記第２の電力モードに移行してから前記第１の電力モードに復帰するまでに経過した時間を特定する特定ステップと、
前記特定ステップによって特定された前記時間に基づいて、前記取得ステップで取得した前記ＳＡ情報のライフタイムを修正する修正ステップとを備えたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びその制御方法、並びにプログラムに関し、特に、ＩＰｓｅｃで通信を行う通信装置及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来より、情報処理システムの待機時の消費電力を削減するための省電力モードが知られている。省電力モードを備える情報処理システムの一例に、メインＣＰＵを備える本体側の情報処理装置と、サブＣＰＵを備えるＮＩＣ（Network Interface Card）装置から構成される通信装置とがある。このような通信装置では、省電力モード時は本体側の情報処理装置への電力供給を停止し、消費電力が少ないＮＩＣ装置側の各モジュールには通常の電力供給を行った状態で待機することが一般的である。
【０００３】
これに関連して、省電力モードへ移行しメインＣＰＵへの電力供給が停止されるときに、メインＣＰＵがサブＣＰＵに対して、応答すべきマルチキャストパケットのアドレスを通知しておくことが開示されている（例えば、特許文献１参照）。これにより、メインＣＰＵに対する電力供給が停止された状態でのマルチキャストパケットの受信に対して、サブＣＰＵがメインＣＰＵの代わりに応答でき、メインＣＰＵの起動が不要となる。そのため、メインＣＰＵに対する電力供給の停止を延長でき、省電力の効果が高まる。
【０００４】
また、近年、機密情報の保護のために、ネットワークパケットを暗号化して通信する技術として、ＩＰＳｅｃ（Internet Protocol Security）の暗号化技術が知られている。これらの技術を用いることで、データを暗号化した状態でネットワークを介して送受信することができる。そのため、情報漏洩の防止が可能となる。また、この場合、省電力モードへの移行時にメインＣＰＵからサブＣＰＵへＩＰＳｅｃのＳＡ情報を引き継ぐことが考えられる。これにより、省電力モードにおいてもサブＣＰＵ側のモジュールがネットワークのセッションを引き継いで通信することが可能となる。
【０００５】
このように、本体側の情報処理装置が省電力モードに移行したときに、ＩＰＳｅｃのＳＡ情報をＮＩＣ装置に引き継ぐことで、省電力モードにおいてもＮＩＣ装置が本体側の情報処理装置の代わりに受信パケットに対する応答できる。
【０００６】
また、このときＳＡ情報内のコネクション確立時からの残り時間とデータ転送量を監視して、ＩＰＳｅｃセッションのライフタイム情報を管理している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２５９９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＳＡ情報の引き継ぎの際に、情報処理装置側とＮＩＣ装置間でＳＡ情報の引き継ぎによって生じる処理時間が考慮されない環境では、セッションのライフタイム情報を正確に管理できず、正常にＩＰＳｅｃの通信を行えない場合がある。この処理時間とは、情報処理装置側とＮＩＣ装置側でのＳＡ情報の転送に要する時間と、各装置がＳＡ情報を受け取ってから実際に各装置内のＩＰＳｅｃモジュールを用いて管理を開始するまでの時間である。
【０００９】
つまり、情報処理装置側からＮＩＣ側へＳＡ情報を引き継ぐ場合、情報処理装置側からＮＩＣ装置側へＳＡ情報の転送を開始した時点から、省電力モードへの移行が完了してＮＩＣ装置側のＩＰＳｅｃモジュールがＮＩＣ装置側のタイマーなどを用いてＳＡ情報の管理を開始する時点までの時間が、ＩＰＳｅｃセッションのライフタイム情報に反映されないこととなる。
【００１０】
また同様に、ＮＩＣ装置側から情報処理装置側へＳＡ情報を引き継ぐ場合、ＮＩＣ装置側から本体側へＳＡ情報の転送を開始した時点から、省電力モードからの復帰が完了して情報処理装置側のＩＰＳｅｃモジュールが本体側のタイマーなどを用いてＳＡ情報の管理を開始する時点までの時間が、ＩＰＳｅｃセッションのライフタイム情報に反映されないこととなる。
【００１１】
このように、セッション確立時からの本来のライフタイム情報と、省電力モードへの移行が生じた場合のライフタイム情報とでは、省電力モードへの移行と復帰が起こるごとに差異が生じる。そのため、省電力モードへの移行と復帰が多く繰り返された場合には、前記の差異が分単位などの大きいものとなる。このような場合、ライフタイム情報が示す期限を迎えてもセッションが正常に終了しないことや、自装置内では期限内のセッションであるにもかかわらず実際の通信は不可能であるなどの問題が生じることがある。
【００１２】
上述したように、従来の技術では、ライフタイム情報を引き継いだ場合に通信が不可能となることがあった。
【００１３】
本発明の目的は、ＩＰｓｅｃのライフタイム情報を引き継いでも通信可能な通信装置及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１記載の通信装置は、ネットワークインタフェース装置を介してネットワーク上の外部装置と通信可能な通信装置であって、前記通信装置が第１の電力モードから当該第１の電力モードよりも消費電力が小さい第２の電力モードに移行する場合に、ＩＰＳｅｃのＳＡ情報を前記ネットワークインタフェース装置に通知する通知手段と、前記通信装置が前記第２の電力モードから前記第１の電力モードに復帰する場合に、前記ＳＡ情報を前記ネットワークインタフェース装置から取得する取得手段と、前記通信装置が前記第２の電力モードに移行してから前記第１の電力モードに復帰するまでに経過した時間を特定する特定手段と、前記特定手段によって特定された前記時間に基づいて、前記取得手段が取得した前記ＳＡ情報のライフタイムを修正する修正手段とを備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ＩＰｓｅｃのライフタイム情報を引き継いでも通信可能な通信装置及びその制御方法、並びにプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係る通信装置を含むネットワークの全体図である。
【図２】図１における通信装置のハードウェア構成を示すブロック図である。
【図３】図１における通信装置のソフトウェア構成を示すブロック図である。
【図４】図２における情報処理装置が省電力モードに移行する際に、ＮＩＣにＳＡ情報を引き継ぐ引き継ぎ処理の手順を示すフローチャートである。
【図５】図２における情報処理装置が省電力モードから通常電力モードに復帰する際に、ＮＩＣからＳＡ情報を引き継ぐ復帰処理の手順を示すフローチャートである。
【図６】図２における情報処理装置が通常電力モードから省電力モードへ移行する際のライフタイム補正部により実行される記録処理の手順を示すフローチャートである。
【図７】図２における情報処理装置が省電力モードから通常電力モードへ復帰する際のライフタイム補正部の復帰処理の手順を示すフローチャートである。
【図８】本発明の実施の形態に係る通信装置を含むネットワークの全体図である。
【図９】情報処理装置が通常電力モードから省電力モードへ移行する際のライフタイム補正部の移行処理の手順を示すフローチャートである。
【図１０】情報処理装置が省電力モードから通常電力モードへ復帰する際のライフタイム補正部の復帰処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１８】
まず、本実施の形態で用いられるＩＰＳｅｃは、特定の認証アルゴリズムや暗号アルゴリズムを用いて、ネットワーク上を流れるデータの盗聴や改ざんを防ぐためのプロトコルである。パケットフォーマットを含むＩＰＳｅｃ及びＩＫＥの詳細については、ＲＦＣ（Request For Comment）に定義されている。
【００１９】
また、本実施の形態では、通信装置が暗号化通信を実行する場合の処理について説明した第１の実施の形態と、同種通信装置のコネクション（ＳＡ）が存在する場合のライフタイム情報（以下、「ライフタイム」という）の補正処理について説明した第２の実施形態とが記載される。
【００２０】
［第１の実施形態］
図１は、本発明の実施の形態に係る通信装置１００を含むネットワークの全体図である。
【００２１】
図１において、通信装置１００とＰＣ１１０とがＬＡＮ１２０を介して接続され、相互に通信可能となっている。通信装置１００及びＰＣ１１０には、それぞれＩＰＳｅｃ通信を実行するための構成が備えられており、通信装置１００とＰＣ１１０との通信は、全てＩＰＳｅｃが適用されているものとする。
【００２２】
図２は、図１における通信装置１００のハードウェア構成を示すブロック図である。
【００２３】
図２において、通信装置１００は、情報処理装置（上位装置）２１０、ＮＩＣ（ネットワークインタフェース装置）２２０、操作部２３０、スキャナ２４０、及びプリンタ２５０を含む。情報処理装置２１０は、ＮＩＣ２２０を介してＬＡＮ１２０に接続されている。
【００２４】
情報処理装置２１０は、ＣＰＵ２１１、拡張Ｉ／Ｆ２１２、ＲＯＭ２１３、ＲＡＭ２１４、ＨＤＤ２１５、ＮＶＲＡＭ２１６、操作部Ｉ／Ｆ２１７、スキャナＩ／Ｆ２１８、及びプリンタＩ／Ｆ２１９を含む。なお、各々の「Ｉ／Ｆ」は、インターフェースを示している。
【００２５】
ＣＰＵ２１１は、情報処理装置２１０のソフトウェアプログラムを実行し、装置全体の制御を行う。ＲＡＭ２１４は、ランダムアクセスメモリであり、ＣＰＵ２１１が装置を制御する際に、一時的なデータの格納などに使用される。ＲＯＭ２１３は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。
【００２６】
ＨＤＤ２１５は、ハードディスクドライブであり、様々なデータの格納に使用される。ＮＶＲＡＭ２１６は、不揮発性のメモリであり、情報処理装置２１０の各種設定値を保存するためのものである。操作部Ｉ／Ｆ２１７は、ユーザにより操作される操作部２３０を制御し、操作部２３０に備えられた液晶パネルに各種操作画面を表示させるとともに、操作画面を介して入力されるユーザからの指示をＣＰＵ２１１に伝達する。
【００２７】
スキャナＩ／Ｆ２１８は、スキャナ２４０を制御する。スキャナ２４０は、原稿上の画像を読み取って画像データを生成する。プリンタＩ／Ｆ２１９は、プリンタ２５０を制御する。プリンタ２５０は、画像データに基づく画像を記録媒体上に印刷する。拡張Ｉ／Ｆ２１２は、ＮＩＣ２２０側の拡張Ｉ／Ｆ２２２と接続され、ＮＩＣ２２０を介してＬＡＮ１２０上の外部装置（ＰＣ１１０）とのデータ通信を制御する。
【００２８】
一方、ＮＩＣ２２０は、ＣＰＵ２２１、拡張Ｉ／Ｆ２２２、ＲＯＭ２２３、ＲＡＭ２２４（記憶手段）、及びネットワークＩ／Ｆ２２５を含む。
【００２９】
ＣＰＵ２２１は、ＮＩＣ２２０のソフトウェアプログラムを実行し、ＮＩＣ２２０全体の制御を行う。ＲＡＭ２２４は、ランダムアクセスメモリであり、ＣＰＵ２２１がＮＩＣ２２０を制御する際に、一時的なデータの格納などに使用される。ＲＯＭ２２３は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。
【００３０】
拡張Ｉ／Ｆ２２２は、情報処理装置２１０側の拡張Ｉ／Ｆ２１２と接続され、情報処理装置２１０とＮＩＣ２２０との間のデータ通信を制御する。ネットワークＩ／Ｆ２２５は、ＬＡＮ１２０に接続され、ＮＩＣ２２０（情報処理装置２１０、通信装置１００）とＬＡＮ１２０上の外部装置（ＰＣ１１０）との間のデータ通信を制御する。
【００３１】
情報処理装置２１０は、通常電力モードと、通常電力モードよりも消費電力が小さい省電力モードのいずれかを一方で稼働可能となっている。通常電力モードから省電力モードに移行する場合は、ＣＰＵ２１１、ＨＤＤ２１５、ＮＶＲＡＭ２１６などに対する電力供給が停止される。一方、ＮＩＣ２２０は、情報処理装置２１０とは別のＡＣＩＣ（Application Specific Integrated Circuit）で動作している。このため、情報処理装置２１０が省電力モードに移行した状態においてもＮＩＣ２２０に対しては電力供給が継続され、後述する代理応答機能を実現する。
【００３２】
図３は、図１における通信装置１００のソフトウェア構成を示すブロック図である。
【００３３】
図３において、情報処理装置２１０におけるソフトウェア構成は、スリープ制御部３１０、ＩＰｓｅｃ制御部３０８、ＩＰｓｅｃ処理部３０９、ライフタイム補正部３１１、及びＣＰＵ間通信部３０７を含む。
【００３４】
スリープ制御部３１０は、通常電力モード（第１の電力モード）と、通常電力より消費電力が小さい省電力で稼働する省電力モード（第２の電力モード）の切り替え制御を行う。ＩＰＳｅｃ処理部３０９は、ＩＰＳｅｃ通信の実行に必要な情報を取得するためのネゴシエーション処理や、外部装置との間で送受信するパケットの暗号化／復号化処理を行う。
【００３５】
ＩＰＳｅｃ制御部３０８（第１管理手段）は、ＩＰＳｅｃ処理部３０９を制御するとともに、ＩＰＳｅｃ処理部３０９がＩＰＳｅｃに関する処理を行う際に必要となる情報を保持し、ＩＰｓｅｃのライフタイム情報を管理する。ＣＰＵ間通信部３０７は、拡張Ｉ／Ｆ２１２及び拡張Ｉ／Ｆ２２２を介して、ＮＩＣ２２０上で動作するソフトウェアとのデータ送受信を行う。
【００３６】
ライフタイム補正部３１１（補正手段）は、省電力モードから通常電力モードへ復帰した際に、ＳＡ情報に生じたずれを補正する。ここでは、ＲＴＣ（Real Time Clock）及びＳＮＴＰ（Simple Network Time Protocol）を基に補正を行うが、ＲＴＣ及びＳＮＴＰに限定されず、リアルタイムで時刻が取得できる手法であれば構わない。
【００３７】
一方、ＮＩＣ２２０におけるソフトウェア構成は、代理応答処理部３０１（代理通信手段）、ＩＰｓｅｃ送信処理ライブラリ３０２、ＩＰｓｅｃ制御部３０３、ＩＰｓｅｃ処理部３０４、ネットワークＩ／Ｆ制御部３０５、及びＣＰＵ間通信部３０６を含む。
【００３８】
ＣＰＵ間通信部３０６は、拡張Ｉ／Ｆ２２２及び拡張Ｉ／Ｆ２１２を介して、情報処理装置２１０上で動作するソフトウェアとのデータ送受信を行う。
【００３９】
ＩＰＳｅｃ処理部３０４は、外部装置との間で送受信するパケットの暗号化／復号化処理を行う。なお、ここでは、ＩＰＳｅｃ処理部３０４は、ＩＰＳｅｃ処理部３０９とは異なり、ＩＰＳｅｃ通信の実行に必要な情報を取得するためのネゴシエーションを行う構成は備えていないものとするが、ＩＰＳｅｃ処理部３０９と同一の構成であっても構わない。ＩＰＳｅｃ制御部３０３（第２管理手段）は、ＩＰＳｅｃ処理部３０４を制御するとともに、ＩＰＳｅｃ処理部３０４がＩＰＳｅｃに関する処理を行う際に必要となる情報を保持し、ＩＰｓｅｃのライフタイム情報を管理する。
【００４０】
ネットワークＩ／Ｆ制御部３０５は、ネットワークＩ／Ｆ２２５によるパケットの送受信を制御する。なお、ネットワークＩ／Ｆ制御部３０５は、情報処理装置２１０が通常電力モードと省電力モードのどちらで動作しているかを常に把握している。そして、ネットワークＩ／Ｆ制御部３０５は、情報処理装置２１０が通常電力モードで動作している場合は、ＬＡＮ１２０から受信するパケットを情報処理装置２１０に転送する。また、情報処理装置２１０が省電力モードで動作している場合は、ＬＡＮ１２０から受信するパケットをＩＰＳｅｃ処理部３０４に転送する。
【００４１】
代理応答処理部３０１は、省電力モードでの稼働中にＩＰＳｅｃ処理部３０４から転送される受信パケットを受け取る。ＩＰＳｅｃ処理部３０４がパケットを受信するのは、情報処理装置２１０が省電力モードで動作している場合のみであるため、代理応答処理部３０１も、この場合にのみ動作する。
【００４２】
代理応答処理部３０１は、受信したパケットを３種類に分類する。この３種類とは、「破棄すべきパケット」、「情報処理装置２１０に転送すべきパケット」及び「代理で応答すべきパケット」である。「破棄すべきパケット」とは、自装置宛てのパケットではない場合など、無視してもよい（応答する必要がない）パケットであり、これに分類された場合、受信したパケットは破棄される。
【００４３】
「情報処理装置２１０に転送すべきパケット」とは、受信したパケットに対して何らかの処理が必要であるが、ＮＩＣ２２０だけでは必要な処理を行うことができないパケットである。このようなパケットを受信した場合、代理応答処理部３０１は、情報処理装置２１０を省電力モードから通常電力モードに復帰させ、受信したパケットを情報処理装置２１０に転送する。
【００４４】
「代理で応答すべきパケット」とは、情報処理装置２１０の代わりにＮＩＣ２２０が応答を行うパケットである。この場合、代理応答処理部３０１は、ＩＰＳｅｃ送信処理ライブラリ３０２を利用して、応答として送信するパケットを暗号化してから送信する。
【００４５】
ＩＰＳｅｃ送信処理ライブラリ３０２は、ＡＰＩ（Application Program Interface）を提供するモジュールであり、代理応答処理部３０１からインパラメータとして渡されたパケットに対して、必要に応じて暗号化処理を施す。そして、暗号化したパケットをＡＰＩ返り値とともにアウトパラメータとして出力する。
【００４６】
図４は、図２における情報処理装置２１０が省電力モードに移行する際に、ＮＩＣ２２０にＳＡ情報を引き継ぐ引き継ぎ処理の手順を示すフローチャートである。
【００４７】
図４に示される引き継ぎ処理は、ＣＰＵ２１１により実行される。
【００４８】
通常電力状態において、ＩＰＳｅｃ制御部３０８は、ＳＡ情報の更新および管理を行う（ステップＳ４０１）。次いで、予め登録されているソフトウェアモジュールがスリープ状態へ移行しても問題ないかを確認するために、各モジュールに対してスリープ移行の可否を問い合わせる。そして、省電力モードに移行可能か否か判別する（ステップＳ４０２）。本実施形態では、ＩＰＳｅｃ制御部３０８が、スリープ移行可否の問い合わせ対象として登録されているものとする。ここで、スリープ移行“不可”となる場合とは、例えばＩＰＳｅｃ処理部３０９が外部装置とネゴシエーションを行っている場合である。
【００４９】
ステップＳ４０２の判別の結果、省電力モードに移行不可能なとき（ステップＳ４０２でＮＯ）、パケットを受信したか否か判別する（ステップＳ４０３）。受信パケットがないときは（ステップＳ４０３でＮＯ）、ステップＳ４０１に戻る。受信パケットがあるときは（ステップＳ４０３でＹＥＳ）、ＩＰＳｅｃ処理部３０９で受信パケットの処理を行い（ステップＳ４０４）、ステップＳ４０１に戻る。
【００５０】
ステップＳ４０２の判別の結果、省電力モードに移行可能なとき（ステップＳ４０２でＹＥＳ）、ライフタイム補正部３１１でＲＴＣ又はＳＮＴＰを用いて、ＮＩＣ２２０にＳＡ情報を転送する直前の時刻、すなわち省電力モード移行時の移行時刻を取得し、ライフタイム補正部３１１内（例えばＲＡＭ２１４のライフタイム補正部の占有領域）に記録する（ステップＳ４０５）。その後、情報処理装置２１０からＮＩＣ２２０へ、ＣＰＵ間通信部３０６とＣＰＵ間通信部３０７を介して、ＳＡ情報を転送することで引き継いで（ステップＳ４０８）、本処理を終了する。
【００５１】
図５は、図２における情報処理装置２１０が省電力モードから通常電力モードに復帰する際に、ＮＩＣ２２０からＳＡ情報を引き継ぐ復帰処理の手順を示すフローチャートである。
【００５２】
図５において、省電力状態では、ＩＰＳｅｃ制御部３０３によりＳＡ情報の更新及び管理が行われる（ステップＳ５０１）。
【００５３】
次いで、ＩＰｓｅｃ制御部３０８により更新及び管理でされているＳＡ情報のライフタイムと、省電力モードからの復帰条件を比較することで復帰条件を満たしているか否か判別する（ステップＳ５０２）。
【００５４】
ステップＳ５０２の判別の結果、復帰条件を満たさないとき（ステップＳ５０２でＮＯ）、代理応答処理部３０１によりＮＩＣ２２０が代理で応答するべき受信パケットがあるか否かを判別する（ステップＳ５０３）。代理で応答するべき受信パケットについては、省電力移行前に情報処理装置２１０からＮＩＣ２２０に対して設定されている。ステップＳ５０３の判別の結果、代理で応答すべき受信パケットがないとき（ステップＳ５０３でＮＯ）、ステップＳ５０１に戻る。応答すべき受信パケットがあるとき（ステップＳ５０３でＹＥＳ）、ＩＰＳｅｃ処理部３０９で受信パケットの処理を行い（ステップＳ５０４）、ステップＳ５０１に戻る。
【００５５】
ステップＳ５０２の判別の結果、省電力モード復帰条件が満たされていると判別されたとき（ステップＳ５０２でＹＥＳ）、ＮＩＣ２２０から情報処理装置２１０へ、ＣＰＵ間通信部３０７とＣＰＵ間通信部３０６を介して、ＳＡ情報を転送することで情報処理装置２１０にＳＡ情報を引き継ぐ（ステップＳ５０５）。そして、引き継いだＳＡ情報に対し、ライフタイム補正部３１１でＳＡ情報のライフタイムを修正して（ステップＳ５０６）、本処理を終了する。
【００５６】
図６は、図２における情報処理装置２１０が通常電力モードから省電力モードへ移行する際のライフタイム補正部３１１により実行される記録処理の手順を示すフローチャートである。
【００５７】
この図６に示されるフローチャートは、図４のステップＳ４０５の処理の詳細を示している。
【００５８】
図６において、省電力移行時に、ライフタイム補正部３１１は、ＮＩＣ２２０に転送するＳＡ情報のライフタイム（経過時間）（第１ライフタイム情報）をＲＡＭ２１４に記録するように制御する（ステップＳ６０１）（記憶制御手段）。
【００５９】
次いで、ＳＮＴＰを用いて現在時刻を取得するか否か判別する（ステップＳ６０２）。ステップＳ６０２の判別の結果、ＳＮＴＰを用いて現在時刻を取得できたとき（ステップＳ６０２でＹＥＳ）、その取得した時間を記録して（ステップＳ６０３）、本処理を終了する。一方、取得できなかったとき（ステップＳ６０２でＮＯ）、情報処理装置２１０内のＲＴＣを用いて現在時刻を記録して（ステップＳ６０４）、本処理を終了する。
【００６０】
図７は、図２における情報処理装置２１０が省電力モードから通常電力モードへ復帰する際のライフタイム補正部３１１の復帰処理の手順を示すフローチャートである。
【００６１】
この図７に示されるフローチャートは、図５のステップＳ５０６の処理の詳細を示している。
【００６２】
図７において、通常電力モード復帰時に、省電力モード移行時の時刻を、ＳＮＴＰを用いて記録したか否かを判別する（ステップＳ７０１）。ステップＳ７０１の判別の結果、省電力モード移行時の時刻の記録にＳＮＴＰを用いたとき（ステップＳ７０１でＹＥＳ）、ＳＮＴＰを用いて現在時刻を取得し（ステップＳ７０２）、ステップＳ７０４に進む。一方、ＳＮＴＰを用いていないとき（ステップＳ７０１でＮＯ）、ＲＴＣを用いて現在時刻を取得し（ステップＳ７０３）、ステップＳ７０４に進む。
【００６３】
次いで、省電力モード移行時に記録した経過時間とＮＩＣ２２０から受信したＳＡ情報（第２ライフタイム情報）のライフタイムが示す残り時間から、その差分を算出する（ステップＳ７０４）。より詳細には、残り時間から経過時間が定まるので、その経過時間と省電力モード移行時に記録した経過時間との差分を算出する。
【００６４】
そして、省電力モード移行時に記録した移行時刻と、ステップＳ７０２またはステップＳ７０３のいずれかで取得した時刻から、その差分を算出する（ステップＳ７０５）。
【００６５】
次いで、ステップＳ７０４とステップＳ７０５で算出したそれぞれの差分が等しいか否かを判別する（ステップＳ７０６）。ステップＳ７０６の判別の結果、差分が一致するとき（ステップＳ７０６でＹＥＳ）、ＳＡ情報のライフタイムの補正は行わずに本処理を終了する。一方、これらの差分が異なるとき（ステップＳ７０６でＮＯ）、ステップＳ７０４とステップＳ７０５で算出したそれぞれの差分から、更に差分を算出し、その差分を用いてＮＩＣ２２０から受信したライフタイムの残り時間を補正して（ステップＳ７０７）、本処理を終了する。
【００６６】
図４〜図７の処理によれば、通常電力での稼働から省電力での稼働に移行する場合に、移行時の移行時刻、及び当該移行時刻におけるＩＰｓｅｃ制御部３０８により管理された第１ライフタイム情報をＲＡＭ２１４に記憶するように制御し、省電力での稼働から通常電力での稼働に復帰する場合に、復帰時の復帰時刻、当該復帰時刻におけるＩＰｓｅｃ制御部３０３により管理された第２ライフタイム情報、ＲＡＭ２１４により記憶された移行時刻、及び第１ライフタイム情報から第２ライフタイム情報を補正するので、ＩＰｓｅｃのライフタイム情報を引き継いでも通信可能とすることができる。
【００６７】
［第２の実施形態］
第２の実施形態では、同種通信装置のコネクション（ＳＡ）が存在する場合のライフタイムの補正処理について説明する。
【００６８】
図８は、本発明の実施の形態に係る通信装置８００を含むネットワークの全体図である。
【００６９】
通信装置８００と通信装置８１０とがＬＡＮ８２０を介して接続され、相互に通信可能となっている。通信装置８００及び通信装置８１０には、同一のシステム構成がとられ、それぞれＩＰＳｅｃ通信を実行するための構成が備えられている。そして、通信装置８００と通信装置８１０との通信は、全てＩＰＳｅｃが適用されているものとする。なお、通信装置８００と通信装置８１０は、第１の実施形態の通信装置１００と同様のハードウェア構成とソフトウェア構成を持つものとする。従って、図２、図３を用いながらの説明となる。
【００７０】
図９は、情報処理装置２１０が通常電力モードから省電力モードへ移行する際のライフタイム補正部の移行処理の手順を示すフローチャートである。
【００７１】
図９において、省電力移行時に、ライフタイム補正部３１１は、ＮＩＣ２２０に転送するＳＡ情報からライフタイム（経過時間）を記録する（ステップＳ９０１）。
【００７２】
次いで、ライフタイム補正部３１１は、保持するＳＡ内に補正用の対向システムとなる通信中の通信装置とのセッションが存在するか否かを判別する（ステップＳ９０２）（判別手段）。ステップＳ９０２の判別の結果、セッションが存在するとき（ステップＳ９０２でＹＥＳ）、ライフタイム補正部３１１は、省電力モードからの復帰時の補正用の対向システムとして該当するセッション（ここでは通信装置８１０）を設定して（ステップＳ９０２）、その設定した対向システムからライフタイムを取得し、そのライフタイムを記録して（ステップＳ９０４）、本処理を終了する。すなわち、第１の実施の形態におけるＩＰｓｅｃ制御部３０８により管理された第１ライフタイム情報に代えて、相手装置（ここでは通信装置８１０）から取得したライフタイム情報をＲＡＭ２１４に記憶するように制御する。
【００７３】
一方、該当するセッションが存在しないとき（ステップＳ９０２でＮＯ）、情報処理装置２１０内のＲＴＣを用いて現在時刻を記録して（ステップＳ９０５）、本処理を終了する。
【００７４】
図１０は、情報処理装置２１０が省電力モードから通常電力モードへ復帰する際のライフタイム補正部の復帰処理の手順を示すフローチャートである。
【００７５】
図１０において、通常電力モード復帰時に、省電力モード移行時に補正用の対向システムが設定されたか否かを判別する（ステップＳ１００１）。ステップＳ１００１の判別の結果、省電力モード移行時に前記対向システムが設定されているとき（ステップＳ１００１でＹＥＳ）、対向システムから、対向システムのＳＡの復帰時刻におけるライフタイムを取得する（ステップＳ１００２）。次いで、省電力モード移行時に記録した対向システムのライフタイムと、ステップＳ１００２で対向システムから受信したライフタイムを比較して、省電力モード中のライフタイムの経過時間を算出する（ステップＳ１００３）。そして、省電力モード移行時に記録したＳＡのライフタイムに省電力モード中のライフタイムの経過時間を反映させ、ＮＩＣ２２０から受信したライムタイムを差し替えて、ＳＡのライフタイムを補正して（ステップＳ１００４）、本処理を終了する。
【００７６】
一方、Ｓ１００１の判別の結果、対向システムの設定されていないとき（ステップＳ１００１でＮＯ）、ＲＴＣを用いて現在時刻を取得する（ステップＳ１００５）。
【００７７】
次いで、省電力モード移行時に記録したライフタイムの残り時間とＮＩＣ２２０から受信したＳＡ情報のライフタイム内の残り時間から、その差分を算出する（ステップＳ１００６）。より詳細には、残り時間から経過時間が定まるので、その経過時間と省電力モード移行時に記録した経過時間との差分を算出する。
【００７８】
そして、省電力モード移行時に記録した時刻と、ステップＳ１００６で取得した時刻から、その差分を算出する（ステップＳ１００７）。
【００７９】
次いで、ステップＳ１００６とステップＳ１００７で算出したそれぞれの差分が等しいかを判別する（ステップＳ１００８）。ステップＳ１００８の判別の結果、これらの差分が一致するとき（ステップＳ１００８でＹＥＳ）、ＳＡ情報のライフタイムの補正は行わずに本処理を終了する。一方、ステップＳ１００８の判別の結果、これらの差分が異なるとき（ステップＳ１００８でＮＯ）、ステップＳ７０６とステップＳ７０７で算出したそれぞれの差分から、更に差分を算出し、その差分を用いてＮＩＣ２２０から受信したライフタイムの残り時間を補正して（ステップＳ１００９）、本処理を終了する。
【００８０】
このように、図１０の処理では、第１の実施の形態におけるＩＰｓｅｃ制御部３０３により管理された第２ライフタイム情報に代えて、相手装置（ここでは通信装置８１０）から取得した前記復帰時刻におけるライフタイム情報から第２ライフタイム情報を補正するようになっている。
【００８１】
（他の実施の形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８２】
１００，８００，８１０  通信装置
１１０  ＰＣ
１２０  ＬＡＮ
２１０  情報処理装置
２１１，２２１  ＣＰＵ
２１２，２２２  拡張Ｉ／Ｆ
２１３，２２３  ＲＯＭ
２１４，２２４  ＲＡＭ
２１５  ＨＤＤ
２１６  ＮＶＲＡＭ
２２０  ＮＩＣ
３０１  代理応答処理部
３０２  ＩＰｓｅｃ送信処理ライブラリ
３０３，３０８  ＩＰｓｅｃ制御部
３０４，３０９  ＩＰｓｅｃ処理部
３０５  ネットワークＩ／Ｆ制御部
３０６，３０７  ＣＰＵ間通信部
３１０  スリープ制御部
３１１  ライフタイム補正部
【図１】
0005762106.tif 000002
【図２】
0005762106.tif 000003
【図３】
0005762106.tif 000004
【図４】
0005762106.tif 000005
【図５】
0005762106.tif 000006
【図６】
0005762106.tif 000007
【図７】
0005762106.tif 000008
【図８】
0005762106.tif 000009
【図９】
0005762106.tif 000010
【図１０】
0005762106.tif 000011