(57)【要約】【課題】遠隔起動を実現する端末装置を提供すること。【解決手段】サーバ装置との間のメッセージの送受信を制御する通信制御部１１０と、通信制御部１１０以外の手段に対して電力を供給した起動状態と、通信制御部１１０以外の手段に対する電力の供給を停止した休眠状態との間で、電力供給の状態の移行を制御する電源制御部１０３と、電源制御部１０３に対して休眠状態への移行を要求する休眠要求部１０１とを備え、通信制御部１１０は、休眠状態時にサーバ装置に対して所定の時間間隔で第１メッセージを送信することにより、サーバ装置との間の通信の接続を維持する接続維持部１１１と、起動状態への移行を要求する第２メッセージを、通信の接続が維持されたサーバ装置から受信する受信部１１３と、第２メッセージを受信した場合に電源制御部１０３に対して起動状態への移行を要求する起動要求部１１４と、を備えた。【選択図】        図２
2007336365.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたサーバ装置との間のメッセージの送受信を制御する通信制御手段と、
前記通信制御手段以外の手段に対して電力を供給した状態である起動状態と、前記通信制御手段以外の手段に対する電力の供給を停止した状態である休眠状態との間で、電力供給の状態の移行を制御する電源制御手段と、
前記電源制御手段に対して前記休眠状態への移行を要求する休眠要求手段と、を備え、
前記通信制御手段は、
前記休眠状態時に、前記サーバ装置に対して予め定められた時間間隔で第１メッセージを送信することにより、前記サーバ装置との間の通信の接続を維持する接続維持手段と、
前記起動状態への移行を要求する第２メッセージを、通信の接続が維持された前記サーバ装置から受信する受信手段と、
前記第２メッセージを受信した場合に、前記電源制御手段に対して前記起動状態への移行を要求する起動要求手段と、を備えたこと、
を特徴とする端末装置。
【請求項２】
前記接続維持手段は、前記第１メッセージとしてＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のキープアライブパケットを送信すること、
を特徴とする請求項１に記載の端末装置。
【請求項３】
前記受信手段は、マジックパケットにＴＣＰヘッダを付加した前記第２メッセージを受信し、
前記起動要求手段は、前記第２メッセージに含まれるマジックパケットによって前記起動状態への移行を要求すること、
を特徴とする請求項２に記載の端末装置。
【請求項４】
前記受信手段は、使用済みのシーケンス番号を含む前記ＴＣＰヘッダを付加した前記第２メッセージを受信すること、
を特徴とする請求項３に記載の端末装置。
【請求項５】
前記休眠制御手段は、前記休眠状態時に、前記休眠状態であることを表す情報と、接続が維持された通信に関する情報と、を含む第３メッセージを生成し、
前記第３メッセージを前記サーバ装置に送信する送信手段をさらに備えたこと、
を特徴とする請求項１に記載の端末装置。
【請求項６】
前記受信手段は、さらに通信の接続異常に関する第４メッセージを受信し、
前記接続維持手段は、前記第４メッセージを受信した場合に、前記電源制御手段に対して前記起動状態への移行を要求すること、
を特徴とする請求項１に記載の端末装置。
【請求項７】
前記受信手段は、前記第４メッセージとして、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）の宛先到達不可メッセージを受信すること、
を特徴とする請求項６に記載の端末装置。
【請求項８】
前記受信手段は、前記第４メッセージとして、ＲＳＴ（リセット）フラグを設定したＴＣＰパケットを受信すること、
を特徴とする請求項６に記載の端末装置。
【請求項９】
前記接続維持手段は、前記第４メッセージを受信した場合に、前記サーバ装置との接続を確立し、前記第４メッセージを受信する前の前記時間間隔より小さい前記時間間隔で前記第１メッセージを送信すること、
を特徴とする請求項６に記載の端末装置。
【請求項１０】
ネットワークに接続されたサーバ装置との間のメッセージの送受信を制御する通信制御手段と、前記通信制御手段以外の手段に対して電力を供給した状態である起動状態と、前記通信制御手段以外の手段に対する電力の供給を停止した状態である休眠状態との間で、電力供給の状態の移行を制御する電源制御手段と、前記電源制御手段に対して前記休眠状態への移行を要求する休眠要求手段と、を備えた端末装置における通信方法であって、
前記通信制御手段に備えられた接続維持手段によって、前記休眠状態時に、前記サーバ装置に対して予め定められた時間間隔で第１メッセージを送信することにより、前記サーバ装置との間の通信の接続を維持する接続維持ステップと、
前記通信制御手段に備えられた受信手段によって、前記起動状態への移行を要求する第２メッセージを、通信の接続が維持された前記サーバ装置から受信する受信ステップと、
前記通信制御手段に備えられた起動要求手段によって、前記第２メッセージを受信した場合に、前記電源制御手段に対して前記起動状態への移行を要求する起動要求ステップと、を備えたこと、
を備えたことを特徴とする通信方法。
【請求項１１】
ネットワークに接続されたサーバ装置との間のメッセージの送受信を制御する通信制御手段と、前記通信制御手段以外の手段に対して電力を供給した状態である起動状態と、前記通信制御手段以外の手段に対する電力の供給を停止した状態である休眠状態との間で、電力供給の状態の移行を制御する電源制御手段と、前記電源制御手段に対して前記休眠状態への移行を要求する休眠要求手段と、を備えた端末装置における通信プログラムであって、
前記休眠状態時に、前記サーバ装置に対して予め定められた時間間隔で第１メッセージを送信することにより、前記サーバ装置との間の通信の接続を維持する接続維持手順と、
前記起動状態への移行を要求する第２メッセージを、通信の接続が維持された前記サーバ装置から受信する受信手順と、
前記第２メッセージを受信した場合に、前記電源制御手段に対して前記起動状態への移行を要求する起動要求手順と、を備えたこと、
をコンピュータに実行させる通信プログラム。
【請求項１２】
ネットワークに接続された端末装置が、通信を制御する手段以外の手段に対する電力の供給が停止された状態である休眠状態に移行したことを表す情報と、前記端末装置との間の接続が維持された通信に関する情報と、を含む第１メッセージを前記端末装置から受信する受信手段と、
前記休眠状態に移行された前記端末装置の起動を要求する第２メッセージを生成する生成手段と、
生成した前記第２メッセージを通信の接続が維持された前記端末装置に送信する送信手段と、
を備えたことを特徴とするサーバ装置。
【請求項１３】
前記受信手段は、前記端末装置のＭＡＣ（Media Access Control）アドレスをさらに含む前記第１メッセージを受信し、
前記生成手段は、受信した前記第１メッセージに含まれる前記ＭＡＣアドレスに基づいて生成したマジックパケットにＴＣＰヘッダを付加した前記第２メッセージを生成すること、
を特徴とする請求項１２に記載のサーバ装置。
【請求項１４】
前記生成手段は、使用済みのシーケンス番号を含む前記ＴＣＰヘッダを付加した前記第２メッセージを生成すること、
を特徴とする請求項１３に記載のサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、宅内ネットワークや企業内ネットワークのように、外部からは容易にアクセスできないネットワークに接続された装置を、外部のネットワークを通じて遠隔から起動することを可能とする端末装置、サーバ装置、通信方法、および通信プログラムに関するものである。
【背景技術】
【０００２】
近年、ＰＣ（Personal Computer）だけでなく、テレビ、ビデオなどの家電機器をインターネットに接続して利用する技術が開発されている。一方、このような機器の消費電力の節減のために、可能な限り機器の電源を落としておき、必要な時にだけ電源を入れる電源制御の技術が開発されている。
【０００３】
例えば、イーサネット（登録商標）のインタフェースを有する機器に対する遠隔電源投入の技術として、マジックパケット（Ｍａｇｉｃ  Ｐａｃｋｅｔ（登録商標））と呼ばれる手法が開発されている。マジックパケットでは、起動対象装置のＭＡＣ（Media Access Control）アドレスから生成される所定の起動要求パケットを起動対象装置に送信することで、遠隔からの起動を実現している。
【０００４】
マジックパケットの方法では、起動要求パケットの到達性が、送信元装置と送信先装置（起動対象装置）のネットワーク上の位置関係や、当該ネットワークの運用ポリシーに大きく左右される。すなわち、接続経路となるネットワーク上にファイアウォールやＮＡＴ（Network Address Translation）などの装置が存在すると、起動要求パケットが到達しない場合が生じうる。このため、マジックパケットは、本来遠隔からの起動の実現を目的とする技術であるが、比較的遠距離に存在する装置間では、遠隔起動が実現できない場合があった。
【０００５】
これに対し、特許文献１では、起動要求パケットを代理送信するゲートウェイ装置を起動対象装置の近傍に設置することにより、ファイアウォール等を超えた遠隔起動を実現可能とする技術が提案されている。
【０００６】
【特許文献１】特開２００３−３１９０８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の方法では、起動要求パケットを代理送信するためのゲートウェイ装置を設置しなければならないという問題があった。このため、例えば、複数の起動対象装置がそれぞれ別のネットワーク上に存在する場合、各ネットワークに対応して複数のゲートウェイ装置を設置する必要があった。また、起動対象装置とゲートウェイ装置との間では、何らかの手法により接続を維持しておく必要があるという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、パケットを代理送信するための装置を備えることなく、ファイアウォール等を超えた遠隔起動を実現することができる端末装置、サーバ装置、通信方法、および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークに接続されたサーバ装置との間のメッセージの送受信を制御する通信制御手段と、前記通信制御手段以外の手段に対して電力を供給した状態である起動状態と、前記通信制御手段以外の手段に対する電力の供給を停止した状態である休眠状態との間で、電力供給の状態の移行を制御する電源制御手段と、前記電源制御手段に対して前記休眠状態への移行を要求する休眠要求手段と、を備え、前記通信制御手段は、前記休眠状態時に、前記サーバ装置に対して予め定められた時間間隔で第１メッセージを送信することにより、前記サーバ装置との間の通信の接続を維持する接続維持手段と、前記起動状態への移行を要求する第２メッセージを、通信の接続が維持された前記サーバ装置から受信する受信手段と、前記第２メッセージを受信した場合に、前記電源制御手段に対して前記起動状態への移行を要求する起動要求手段と、を備えたこと、を特徴とする。
【００１０】
また、本発明は、上記装置を実行することができる通信方法、および通信プログラムである。
【００１１】
また、本発明は、ネットワークに接続された端末装置が、通信を制御する手段以外の手段に対する電力の供給が停止された状態である休眠状態に移行したことを表す情報と、前記端末装置との間の接続が維持された通信に関する情報と、を含む第１メッセージを前記端末装置から受信する受信手段と、前記休眠状態に移行された前記端末装置の起動を要求する第２メッセージを生成する生成手段と、生成した前記第２メッセージを通信の接続が維持された前記端末装置に送信する送信手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、所定間隔でメッセージを送信することにより接続が維持された通信を介して起動要求メッセージを送受信するため、パケットを代理送信する特別の装置を備えることなく、ファイアウォール等を超えた遠隔起動を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、この発明にかかる端末装置、サーバ装置、通信方法、および通信プログラムの最良な実施の形態を詳細に説明する。
【００１４】
本実施の形態にかかる端末装置は、低消費電力に移行した状態であってもＴＣＰ（Transmission Control Protocol）接続を維持し、維持したＴＣＰ接続によって起動要求メッセージを受信することにより、ファイアウォール等を超えた遠隔起動を実現するものである。
【００１５】
図１は、本実施の形態にかかる端末装置１００およびサーバ装置２００を含む通信システムのネットワーク構成を示す説明図である。同図に示すように、本通信システムは、端末装置１００と、サーバ装置２００と、ルータ３００と、ファイアウォール（ＦＷ）４００とを含んでいる。また、ＦＷ４００と、サーバ装置２００とが、インターネット５００を介して接続されている。
【００１６】
端末装置１００は、ルータ３００とＦＷ４００を介してインターネット５００に接続されており、サーバ装置２００などとの間でＴＣＰ／ＩＰ（Internet Protocol）による接続を確立することで、ＷＷＷ（World Wide Web）や電子メールなどのネットワークサービスを利用することができる装置である。
【００１７】
端末装置１００は、利用を開始する際にユーザにより電源が投入され、利用が終了するとユーザにより電源が切られるといったような形態で利用される装置である。なお、同図に示すように、端末装置１００のＩＰアドレスが「Ａ」、ＭＡＣアドレスが「00:00:01:1a:1b:1c」であるものとして以降の説明を行う。
【００１８】
サーバ装置２００は、インターネット５００上に設置され、ネットワークサービスを提供する装置である。例えば、ＷＷＷサーバや、メールサーバなどが該当しうる。サーバ装置２００は、終夜稼動されており、端末装置１００からの接続を常時受け入れ、ネットワークサービスを提供する。
【００１９】
逆に、サーバ装置２００から端末装置１００へのネットワーク接続に関しては、端末装置１００の電源がオンかオフかに関わらず、ＦＷ４００によってアクセスが制限されるため、新規接続を確立することができない。なお、サーバ装置２００のＩＰアドレスは「Ｂ」であるものとして以降の説明を行う。
【００２０】
ＦＷ４００は、端末装置１００が存在する内部ネットワークに対するインターネット５００上の外部装置からの攻撃を防ぐために、インターネット５００と内部ネットワークとの境界に設置される装置である。なお、ＦＷ４００の代わりに、アドレス／ポート変換機能を有するＮＡＴ装置を用いるように構成してもよい。同図に示すように、ＦＷ４００の内部ネットワーク側のＩＰアドレスは「Ｃ」、インターネット５００側のＩＰアドレスは「Ｄ」であるものとして以降の説明を行う。
【００２１】
ルータ３００は、ネットワーク上のデータを中継して他のネットワークに送信する装置である。図示したルータ３００は、端末装置１００の最近傍のルータを意味し、内部ネットワークの規模が大きい場合などでは、端末装置１００とＦＷ４００との間に複数のルータが設置されるように構成してもよい。同図に示すように、ルータ３００の端末装置１００側のＩＰアドレスは「Ｅ」、ＭＡＣアドレスは「00:00:02:aa:bb:cc」、ＦＷ４００側のＩＰアドレスは「Ｆ」であるものとして以降の説明を行う。
【００２２】
次に、端末装置１００の構成の詳細について説明する。図２は、本実施の形態にかかる端末装置１００の構成を示すブロック図である。同図に示すように、端末装置１００は、記憶部１２０と、休眠要求部１０１と、メッセージ処理部１０２と、電源制御部１０３と、通信制御部１１０と、を備えている。
【００２３】
記憶部１２０は、休眠登録メッセージに対してメッセージ処理部１０２が付加したヘッダのアドレス情報などを記憶するものであり、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２４】
記憶部１２０に保存された情報は、休眠要求部１０１が接続維持部１１１に対して接続維持の指示を送信する際に参照される。図３は、記憶部１２０に格納された情報のデータ構造の一例を示す説明図である。
【００２５】
同図に示すように、記憶部１２０には、端末装置１００のＭＡＣアドレスと、ｎｅｘｔｈｏｐルータのＭＡＣアドレスと、端末装置１００のＩＰアドレスと、起動用ＴＣＰ接続の端末装置１００側のＴＣＰポート番号およびシーケンス番号と、サーバ装置２００のＩＰアドレスと、起動用ＴＣＰ接続のサーバ装置２００側のＴＣＰポート番号およびシーケンス番号と、接続維持間隔と、起動要因とが記憶されている。
【００２６】
なお、起動用ＴＣＰ接続とは、サーバ装置２００が端末装置１００に対して起動要求メッセージを送信するときに使用するＴＣＰ接続をいい、休眠要求部１０１により接続が確立される。
【００２７】
また、端末装置１００のＭＡＣアドレスなどの通信制御部１１０で保持されている情報については、記憶部１２０に格納せずに、必要になるたびに通信制御部１１０から取得するように構成してもよい。
【００２８】
接続維持間隔には、起動用ＴＣＰ接続を維持するためにＴＣＰキープアライブを送信する時間間隔（例えば、３０ｓ（ｓｅｃｏｎｄ））を設定する。接続維持間隔は、ユーザが設定可能なように構成してもよいし、予め固定の値を設定するように構成してもよい。
【００２９】
起動要因には、起動用ＴＣＰ接続の接続異常を検知して端末装置１００が起動した場合に「１」が設定され、それ以外の場合には「０」が設定される。
【００３０】
休眠要求部１０１は、ユーザからの指示、または所定の無操作時間経過などを契機として低消費電力への移行を要求する休眠要求を電源制御部１０３に対して送信するものである。また、休眠要求部１０１は、サーバ装置２００の生成部２０１とのＴＣＰ接続の確立、生成部２０１に対する休眠登録メッセージの送信、および接続維持部１１１に対する接続維持の指示を行うものである。
【００３１】
なお、本実施の形態では、休眠要求部１０１は、起動用ＴＣＰ接続を用いてサーバ装置２００の生成部２０１に対して休眠登録メッセージを送信する。休眠登録メッセージの送信方法はこれに限られるものではなく、サーバ装置２００に対して必要な情報を渡すことができるものであればあらゆる送信方法を適用できる。
【００３２】
休眠要求部１０１が接続維持部１１１に対して送信する指示である接続維持指示には、記憶部１２０に記憶された各種情報が含まれる。具体的には、接続維持指示には、端末装置１００のＭＡＣアドレス、ｎｅｘｔｈｏｐルータのＭＡＣアドレス、端末装置１００のＩＰアドレス、起動用ＴＣＰ接続の端末装置１００側ＴＣＰポート番号、起動用ＴＣＰ接続の端末装置１００側シーケンス番号、起動用ＴＣＰ接続のサーバ装置２００側ＩＰアドレス、起動用ＴＣＰ接続のサーバ装置２００側ＴＣＰポート番号、起動用ＴＣＰ接続のサーバ装置２００側シーケンス番号、および接続維持間隔が含まれる。
【００３３】
メッセージ処理部１０２は、ＴＣＰ／ＩＰプロトコルに準拠したメッセージの処理を行うものであり、いわゆるＴＣＰ／ＩＰプロトコルスタックと呼ばれるソフトウェア群に相当する。
【００３４】
本実施の形態では、メッセージ処理部１０２は、休眠要求部１０１が生成した休眠登録メッセージに対するＴＣＰヘッダの付加等の処理を行い、通信制御部１１０を介して休眠登録メッセージを送信する処理を行う。
【００３５】
図４は、休眠登録メッセージの構造の一例を示す説明図である。同図に示すように、休眠登録メッセージはＩＰヘッダとＴＣＰヘッダとデータとを含んでいる。ＩＰヘッダは、端末装置１００のＩＰアドレスとサーバ装置２００のＩＰアドレスとを含んでいる。また、ＴＣＰヘッダは、端末装置１００のポート番号と、サーバ装置２００のポート番号と、端末装置１００のシーケンス番号と、サーバ装置２００のシーケンス番号と、休眠登録メッセージであることを示すための休眠フラグとを含んでいる。また、データは、起動要求メッセージを生成する際に必要な端末装置１００のＭＡＣアドレスを含んでいる。
【００３６】
上述のように、本実施の形態では、起動用ＴＣＰ接続を通じて休眠登録メッセージを送付するため、サーバ装置２００に通知する必要がある起動用ＴＣＰ接続のＩＰアドレス、ポート番号、および確認応答番号（サーバ装置２００側のシーケンス番号）は、メッセージ処理部１０２により生成されるＩＰヘッダ、およびＴＣＰヘッダに含まれるもので代用することができる。起動用ＴＣＰ接続以外で休眠登録メッセージを送付する場合は、相当する情報を含めた任意のデータ構造で構わない。
【００３７】
電源制御部１０３は、端末装置１００の電源のオン／オフを制御するものである。具体的には、電源制御部１０３は、休眠要求部１０１からの休眠要求に応じて通信制御部１１０を除いて電力の供給を停止した状態である休眠状態へ移行し、起動要求部１１４などからの起動要求に応じて、すべての構成部に電力を供給した状態である起動状態へ移行する処理を制御する。
【００３８】
通信制御部１１０は、サーバ装置２００との間のメッセージの送受信を制御するものであり、接続維持部１１１と、送信部１１２と、受信部１１３と、起動要求部１１４とを備えている。通信制御部１１０は、上述のマジックパケット技術では、ＷｏＬ機能を有するネットワークインタフェースに相当する構成である。
【００３９】
接続維持部１１１は、休眠要求部１０１の指示に従い、サーバ装置２００へのＴＣＰキープアライブの送出、ＡＲＰ応答、およびしたＴＣＰキープアライブに対する応答を行うものである。
【００４０】
送信部１１２は、メッセージ処理部１０２で生成されたメッセージをサーバ装置２００などの外部装置に送信するものである。
【００４１】
受信部１１３は、サーバ装置２００から送信された起動要求メッセージなど、外部装置から送信されたメッセージを受信するものである。図５は、起動要求メッセージの構造の一例を示す説明図である。
【００４２】
同図に示すように、起動要求メッセージはＩＰヘッダとＴＣＰヘッダとデータとを含んでいる。ＩＰヘッダは、サーバ装置２００のＩＰアドレスと端末装置１００のＩＰアドレスとを含んでいる。また、ＴＣＰヘッダは、サーバ装置２００のポート番号と、端末装置１００のポート番号と、サーバ装置２００のシーケンス番号と、端末装置１００のシーケンス番号と、を含んでいる。また、データは、所定のヘッダ（FF:FF:FF:FF:FF:FF）に端末装置１００のＭＡＣアドレスを１６回繰り返し付加したパケットであるマジックパケットを含んでいる。
【００４３】
このように、本実施の形態では、最も一般的に普及しているＷｏＬ（Ｗａｋｅ  ｏｎ  ＬＡＮ）技術である、マジックパケット技術を利用することを前提とする。なお、利用できるＷｏＬ技術はマジックパケットに限られるものではなく、ＴＣＰ接続を用いて電源起動用のメッセージを送信可能なものであれば従来から用いられているあらゆる技術を適用できる。
【００４４】
なお、起動要求メッセージのサーバ装置２００のシーケンス番号には、後述するサーバ装置２００の生成部２０１により、既に使用されたシーケンス番号が設定される。これにより、起動要求メッセージを受信した端末装置１００のメッセージ処理部１０２は、既に受信済みのシーケンス番号であるため当該起動要求メッセージを破棄する。従って、実通信に影響を及ぼさないという利点がある。
【００４５】
起動要求部１１４は、サーバ装置２００から起動要求メッセージを受信した場合、電源制御部１０３に対して起動状態への移行を要求するものである。具体的には、起動要求部１１４は、起動要求メッセージのデータ部に含まれるマジックパケットを電源制御部１０３に送信することにより、起動状態への移行を要求する。
【００４６】
次に、サーバ装置２００の構成の詳細について説明する。図６は、本実施の形態にかかるサーバ装置２００の構成を示すブロック図である。同図に示すように、サーバ装置２００は、記憶部２２０と、生成部２０１と、メッセージ処理部２０２と、通信制御部２１０と、を備えている。
【００４７】
記憶部２２０は、後述する生成部２０１が作成する起動要求メッセージの生成に必要な各種情報を記憶するものであり、ＨＤＤ、光ディスク、メモリカード、ＲＡＭなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００４８】
図７は、記憶部２２０に格納された情報のデータ構造の一例を示す説明図である。同図に示すように、記憶部２２０には、端末装置１００のＭＡＣアドレスと、端末装置１００のＩＰアドレスと、起動用ＴＣＰ接続の端末装置１００側のＴＣＰポート番号およびシーケンス番号と、サーバ装置２００のＩＰアドレスと、起動用ＴＣＰ接続のサーバ装置２００側のＴＣＰポート番号およびシーケンス番号と、が記憶されている。
【００４９】
生成部２０１は、端末装置１００から送信された休眠登録メッセージを受信して当該休眠登録メッセージに含まれる情報を記憶部２２０に保存するとともに、保存した情報を用いて起動要求メッセージを生成するものである。
【００５０】
具体的には、生成部２０１は、図５に示すような起動要求メッセージのデータ部に相当するメッセージであるマジックパケットを生成する。マジックパケットに含める端末装置１００のＭＡＣアドレスは、記憶部２２０に保存されたＭＡＣアドレスを設定する。
【００５１】
メッセージ処理部２０２は、端末装置１００のメッセージ処理部１０２と同様に、ＴＣＰ／ＩＰプロトコルに準拠したメッセージの処理を行うものであり、いわゆるＴＣＰ／ＩＰプロトコルスタックと呼ばれるソフトウェア群に相当する。
【００５２】
また、メッセージ処理部２０２は、このようなメッセージの処理を行うことにより、生成部２０１が生成したデータにＴＣＰヘッダおよびＩＰヘッダを付加し、図５に示すような起動要求メッセージを生成する。
【００５３】
通信制御部２１０は、端末装置１００との間のメッセージの送受信を制御するものであり、送信部２１２と、受信部２１３と、を備えている。
【００５４】
送信部２１２は、メッセージ処理部２０２で生成されたメッセージを端末装置１００などの外部装置に送信するものである。また、送信部２１２は、端末装置１００に対してＴＣＰキープアライブを送信する。
【００５５】
受信部２１３は、端末装置１００から送信された休眠登録メッセージおよびＴＣＰキープアライブなど、外部装置から送信されたメッセージを受信するものである。
【００５６】
次に、このように構成された本実施の形態にかかる端末装置１００による起動処理について説明する。図８は、本実施の形態における起動処理の全体の流れを示すシーケンス図である。
【００５７】
まず、端末装置１００の休眠要求部１０１が、サーバ装置２００の生成部２０１との間で起動用ＴＣＰ接続を確立する（ステップＳ８０１）。端末装置１００は、電源起動後、少なくともサーバ装置２００との間のネットワークサービスを終了するまでの間に、起動用ＴＣＰ接続を確立する。
【００５８】
なお、起動用ＴＣＰ接続は、端末装置１００とサーバ装置２００との間のネットワークサービスで使用するＴＣＰ接続と兼用するように構成してもよい。また、ＶＰＮ接続のような暗号を前提とした通信用の接続であってもよい。起動用ＴＣＰ接続のポート番号は、端末装置１００側は「10000」、サーバ装置２００側は「2000」であることを前提として以降の説明を行う。
【００５９】
次に、ユーザからの指示または消費電力低減のための機能により休眠状態に入ったことを契機として、休眠要求部１０１が休眠登録メッセージをサーバ装置２００の生成部２０１に送信する（ステップＳ８０２）。具体的には、休眠要求部１０１は、上述の休眠登録メッセージのデータ部である端末装置１００のＭＡＣアドレスを含むメッセージを生成し、生成したメッセージを、メッセージ処理部１０２および通信制御部１１０を介して、起動用ＴＣＰ接続によりサーバ装置２００の生成部２０１に送信する。
【００６０】
なお、休眠登録メッセージのＩＰヘッダ、ＴＣＰヘッダは、メッセージ処理部１０２によって付加され、サーバ装置２００の生成部２０１に送信される。
【００６１】
次に、休眠要求部１０１は、メッセージ処理部１０２が休眠登録メッセージに付加した起動用ＴＣＰ接続の情報を取得する（ステップＳ８０３）。
【００６２】
例えば、休眠要求部１０１は、端末装置１００のＭＡＣアドレスとして「00:00:01:1a:1b:1c」、ｎｅｘｔｈｏｐルータのＭＡＣアドレスとして「00:00:02:aa:bb:cc」、端末装置１００のＩＰアドレスとして「Ａ」、起動用ＴＣＰ接続の端末装置１００側ＴＣＰポート番号として「10000」、起動用ＴＣＰ接続の端末装置１００側シーケンス番号として「5250」、起動用ＴＣＰ接続のサーバ装置２００側ＩＰアドレスとして「Ｂ」、起動用ＴＣＰ接続のサーバ装置２００側ＴＣＰポート番号として「2000」、起動用ＴＣＰ接続のサーバ装置２００側シーケンス番号として「3100」を取得する。なお、休眠要求部１０１は、取得した情報を記憶部１２０に保存する。
【００６３】
次に、休眠要求部１０１は、接続維持部１１１に対してサーバ装置２００との接続の維持を指示する（ステップＳ８０４）。具体的には、休眠要求部１０１は、記憶部１２０に記憶された起動用ＴＣＰ接続のポート番号等の情報を含む、上述の接続維持指示を接続維持部１１１に送信する。
【００６４】
次に、休眠要求部１０１は、電源制御部１０３に対して休眠要求を送信する（ステップＳ８０５）。休眠要求を受信した電源制御部１０３は、端末装置１００の電源供給状態を休眠状態に設定する（ステップＳ８０６）。すなわち、通信制御部１１０のみに電源供給を行い、それ以外の部分の電源供給を休止する状態に入る。
【００６５】
接続維持指示が接続維持部１１１に送信された後は、指定された接続維持間隔に従って、起動用ＴＣＰ接続を用いてＴＣＰキープアライブが送信されるため、起動用ＴＣＰ接続を維持することが可能となる。
【００６６】
この状態では、ルータ３００からＡＲＰリクエストを受信し（ステップＳ８０７）、ＡＲＰリプライを返信することができる（ステップＳ８０８）。図９は、ＡＲＰリクエストへの応答処理の一例を表したシーケンス図である。
【００６７】
まず、ルータ３００からＡＲＰリクエストを受信すると（ステップＳ８０７）、受信したＡＲＰリクエスト内の宛先ＩＰアドレス（target IP addr）が、自身が保持するＩＰアドレスと比較することによって、ＡＲＰリクエストが自装置宛のメッセージが否かを判断する。
【００６８】
自装置宛のＡＲＰリクエストであった場合は、接続維持部１１１は、自装置のＭＡＣアドレスを設定したＡＲＰリプライを、ルータ３００に対して送信する（ステップＳ８０８）。同図では、端末装置１００のＭＡＣアドレスとして「00:00:01:1a:1b:1c」が返信された例が示されている。
【００６９】
図８に戻り、接続維持部１１１は、以降、接続維持間隔で指定された時間ごとにＴＣＰキープアライブを送受信する（ステップＳ８１０、ステップＳ８１１）。図１０は、ＴＣＰキープアライブの送受信処理の具体例を示すシーケンス図である。
【００７０】
同図に示すように、接続維持指示を受信後（ステップＳ８０４）、接続維持部１１１は、指定された接続維持間隔である３０ｓごとに、指定されたサーバ装置２００宛にＴＣＰキープアライブを送信する（ステップＳ８０９）。
【００７１】
サーバ装置２００のメッセージ処理部２０２は、接続維持部１１１から受信したＴＣＰキープアライブに対し、サーバ装置２００を発信元（発信元ＩＰアドレス＝「Ｂ」）とするＴＣＰキープアライブを返信する（ステップＳ８１０）。
【００７２】
図８に戻り、このように起動用ＴＣＰ接続が維持された状態で、サーバ装置２００側で端末装置１００を起動するイベントが発生して端末装置１００が起動するまでのシーケンスを説明する（ステップＳ８１２からステップＳ８１５）。
【００７３】
端末装置１００を起動するイベントとしては、提供しているネットワークサービスに依存するが、例えば、端末装置１００を宛先とするメールが到着した場合や、端末装置１００へ送信すべきデータが発生した場合などが想定される。なお、端末装置１００を起動するイベントはこれらに限られるものではなく、サーバ装置２００から端末装置１００を起動する必要が生じるものであればあらゆるイベントを対象としうる。
【００７４】
起動契機となるイベントが発生した後（ステップＳ８１２）、サーバ装置２００の生成部２０１は、記憶部２２０を参照して起動要求メッセージを生成し、接続が維持されている起動用ＴＣＰ接続を通じて、生成した起動要求メッセージを端末装置１００に送信する（ステップＳ８１３）。
【００７５】
起動要求メッセージは、端末装置１００の受信部１１３で受信された後、起動要求部１１４に渡され、起動要求部１１４から電源制御部１０３に対して起動要求が送信される（ステップＳ８１４）。
【００７６】
具体的には、起動要求部１１４は、起動要求メッセージのデータ部に設定されているマジックパケットを電源制御部１０３に起動要求として送信する。なお、上述のように、起動要求メッセージ内のシーケンス番号は使用済みの値が設定されているため、メッセージ処理部１０２は当該起動要求メッセージを破棄する。
【００７７】
起動要求を受信した電源制御部１０３は、マジックパケットに従って端末装置１００の電源起動を行う（ステップＳ８１５）。すなわち、休眠状態から、通信制御部１１０だけでなくすべての構成部に電力を供給した状態である起動状態へ移行する。
【００７８】
次に、起動用ＴＣＰ接続の切断を検知した場合の処理について説明する。本実施の形態では、このような場合であっても、起動用ＴＣＰ接続を適切に維持し、遠隔起動を実現することができる。
【００７９】
図１１は、本実施の形態における切断検知処理の全体の流れを示すシーケンス図である。ステップＳ１１０１からステップＳ１１０９までの、起動用ＴＣＰ接続確立処理、休眠登録メッセージ送信処理、休眠状態設定処理、接続維持処理は、図８のステップＳ８０１からステップＳ８０９までと同様の処理なので、その説明を省略する。
【００８０】
端末装置１００からＴＣＰキープアライブを送信した後（ステップＳ１１０９）、ルータ３００がサーバ装置２００との接続が破棄されたことなどを検知した場合（ステップＳ１１１０）、ルータ３００は、ＩＣＭＰの宛先到達不可メッセージを端末装置１００に送信する（ステップＳ１１１１）。
【００８１】
接続維持部１１１は、ＩＣＭＰ宛先到達不可メッセージを受信することにより、起動用ＴＣＰ接続の接続異常を検知することができる（ステップＳ１１１２）。なお、起動用ＴＣＰ接続の切断を検知する方法はこれに限られるものではなく、ＲＳＴ（リセット）フラグが設定されたＴＣＰパケットを受信することにより接続異常を検知する方法など、あらゆる方法を適用できる。
【００８２】
接続異常を検知した場合、接続維持部１１１は、電源制御部１０３に起動要求を送信する（ステップＳ１１１３）。このときの起動要求は、起動要求メッセージで送信されるマジックパケットと同様のメッセージでもよいし、その他の所定のコマンドによって起動要求を送信するように構成してもよい。
【００８３】
起動要求を受信した電源制御部１０３は、起動要求に従って端末装置１００の電源起動を行う（ステップＳ１１１４）。電源起動とともに起動された休眠要求部１０１は、起動要因の取得要求を接続維持部１１１に対して送信する（ステップＳ１１１５）。
【００８４】
接続維持部１１１は、ステップＳ１１１２で接続異常を検知しているため、休眠要求部１０１に対して起動用ＴＣＰ接続の異常が起動要因であることを返信する（ステップＳ１１１６）。なお、受信された起動要因は、記憶部１２０に保存される。
【００８５】
次に、休眠要求部１０１は、接続維持間隔を変更し（ステップＳ１１１７）、再度、起動用ＴＣＰ接続確立処理と、休眠登録メッセージ送信処理を実行する（ステップＳ１１１８、ステップＳ１１１９）。
【００８６】
接続維持間隔は、例えば、現在の値の半分の値に設定する。これにより、接続維持間隔が大きいことに起因する接続異常に対処することができる。すなわち、接続維持間隔が大きいためサーバ装置２００がタイムアウトにより接続を切断した場合であっても、小さい接続維持間隔に変更して再度起動用ＴＣＰ接続を確立し、接続を維持することが可能となる。
【００８７】
なお、本発明は、上述した各実施形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【００８８】
例えば、本実施の形態にかかる端末装置は、ＶＰＮ（Virtual Private Network）システムで利用されるクライアント端末（以下、ＶＰＮ端末装置という。）として実現することができる。
【００８９】
図１２は、本発明をＶＰＮシステムに適用した場合のネットワーク構成を示す説明図である。同図に示すように、ＶＰＮシステムは、ＶＰＮ端末装置１２１０と、サーバ装置２００に相当する仮想ハブ装置１２２０と、ルータ３００と、ＦＷ４００と、ＶＰＮ端末装置１２１０にアクセスするためのＶＰＮ移動端末装置１２１１と、を含んでいる。
【００９０】
なお、ＶＰＮ端末装置１２１０の機能は、ＶＰＮシステムでの利用で一般的に必要な機能以外は、上述の端末装置１００と同様である。また、仮想ハブ装置１２２０の機能は、ＶＰＮシステムでの仮想ハブとしての機能が追加された以外は、上述のサーバ装置２００と同様である。
【００９１】
ＶＰＮ移動端末装置１２１１は、一般的に用いられているＶＰＮシステムの方法に従い、インターネット５００からＶＰＮ端末装置１２１０にアクセスする装置である。
【００９２】
次に、このように構成されたＶＰＮ端末装置１２１０による起動処理について説明する。図１３は、本実施の形態の変形例における起動処理の全体の流れを示すシーケンス図である。
【００９３】
ステップＳ１３０１からステップＳ１３１１までの、起動用ＴＣＰ接続確立処理、休眠登録メッセージ送信処理、休眠状態設定処理、接続維持処理は、図８のステップＳ８０１からステップＳ８１１までと同様の処理なので、その説明を省略する。
【００９４】
なお、ステップＳ１３０１で確立する起動用ＴＣＰ接続として、ＶＰＮ端末装置１２１０と、仮想ハブ装置１２２０との間のＶＰＮ接続を用いるように構成してもよい。
【００９５】
本変形例では、ＶＰＮ移動端末装置１２１１が、仮想ハブ装置１２２０に対してＶＰＮ接続の確立を行うことを契機として（ステップＳ１３１２）、仮想ハブ装置１２２０が起動要求メッセージをＶＰＮ端末装置１２１０に送信する（ステップＳ１３１３）。
【００９６】
ステップＳ１３１４の起動要求送信処理、ステップＳ１３１５の電源起動処理は、それぞれ図８のステップＳ８１４、ステップＳ８１５と同様の処理なので、その説明を省略する。
【００９７】
このようにして、起動用ＴＣＰ接続をＶＰＮ接続で兼用することを可能とするとともに、遠隔からの起動をＶＰＮシステムで実現することが可能となる。
【００９８】
以上のように、本実施の形態にかかる端末装置では、休眠状態中であってもＴＣＰ接続を維持し、維持したＴＣＰ接続を介して起動要求メッセージを受信し、受信した起動要求メッセージに従って起動状態に移行することができる。このため、ゲートウェイ装置などの特別な装置を備えることなく、ファイアウォール等を超えた遠隔起動を実現することができる。
【００９９】
図１４は、本実施の形態にかかる端末装置のハードウェア構成を示す説明図である。
【０１００】
本実施の形態にかかる端末装置は、ＣＰＵ（Central Processing Unit）５１などの制御装置と、ＲＯＭ（Read Only Memory）５２やＲＡＭ（Random Access Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１０１】
本実施の形態にかかる端末装置で実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１０２】
また、本実施の形態にかかる端末装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかる端末装置で実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１０３】
また、本実施の形態の通信プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１０４】
本実施の形態にかかる端末装置で実行される通信プログラムは、上述した各部（休眠要求部、メッセージ処理部、電源制御部、通信制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１０５】
以上のように、本発明にかかる端末装置、サーバ装置、通信方法、および通信プログラムは、外部からネットワーク内部の装置を遠隔起動する端末装置、サーバ装置、通信方法、および通信プログラムに適している。
【図面の簡単な説明】
【０１０６】
【図１】通信システムのネットワーク構成を示す説明図である。
【図２】本実施の形態にかかる端末装置の構成を示すブロック図である。
【図３】記憶部に格納された情報のデータ構造の一例を示す説明図である。
【図４】休眠登録メッセージの構造の一例を示す説明図である。
【図５】起動要求メッセージの構造の一例を示す説明図である。
【図６】本実施の形態にかかるサーバ装置の構成を示すブロック図である。
【図７】記憶部に格納された情報のデータ構造の一例を示す説明図である。
【図８】本実施の形態における起動処理の全体の流れを示すシーケンス図である。
【図９】ＡＲＰリクエストへの応答処理の一例を表したシーケンス図である。
【図１０】ＴＣＰキープアライブの送受信処理の具体例を示すシーケンス図である。
【図１１】本実施の形態における切断検知処理の全体の流れを示すシーケンス図である。
【図１２】ＶＰＮシステムに適用した場合のネットワーク構成を示す説明図である。
【図１３】本実施の形態の変形例における起動処理の全体の流れを示すシーケンス図である。
【図１４】本実施の形態にかかる端末装置のハードウェア構成を示す説明図である。
【符号の説明】
【０１０７】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
６１  バス
１００  端末装置
１０１  休眠要求部
１０２  メッセージ処理部
１０３  電源制御部
１１０  通信制御部
１１１  接続維持部
１１２  送信部
１１３  受信部
１１４  起動要求部
１２０  記憶部
２００  サーバ装置
２０１  生成部
２０２  メッセージ処理部
２１０  通信制御部
２１２  送信部
２１３  受信部
２２０  記憶部
３００  ルータ
４００  ファイアウォール（ＦＷ）
５００  インターネット
１２１０  ＶＰＮ端末装置
１２１１  ＶＰＮ移動端末装置
１２２０  仮想ハブ装置
【図１】
2007336365.tif 000003
【図２】
2007336365.tif 000004
【図３】
2007336365.tif 000005
【図４】
2007336365.tif 000006
【図５】
2007336365.tif 000007
【図６】
2007336365.tif 000008
【図７】
2007336365.tif 000009
【図８】
2007336365.tif 000010
【図９】
2007336365.tif 000011
【図１０】
2007336365.tif 000012
【図１１】
2007336365.tif 000013
【図１２】
2007336365.tif 000014
【図１３】
2007336365.tif 000015
【図１４】
2007336365.tif 000016