(57)【特許請求の範囲】
【請求項１】
第１のネットワークと、該第１のネットワークとセグメントが異なる第２のネットワークとの間で通信パケットを中継する中継装置であって、
前記第１のネットワークに通信可能に接続された電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスと、前記電子機器のＭＡＣアドレスとを対応付けた第１のテーブルを記憶する記憶部と、
前記第２のネットワークから前記第１のネットワークに向けた前記通信パケットであって、前記電子機器において該電子機器の起動後に実行可能なアプリケーションを利用するための通信パケットである特定の通信パケットを前記中継装置が受信した場合に、該特定の通信パケットの転送先を判断する判断部と、
前記特定の通信パケットを前記中継装置が受信した場合に、前記判断された転送先としての前記電子機器である転送先電子機器が、起動された状態であるか否かを確認することが可能な確認部と、
前記転送先電子機器のＭＡＣアドレスを用いて、前記転送先電子機器に起動要求パケットを送信する送信部と
を備え、
前記確認部は、ＯＳＩ参照モデルのネットワーク層に属する第１のプロトコルに準拠した要求を前記転送先電子機器へ送信し、前記転送先電子機器からの応答を受信した場合に、さらに、前記ネットワーク層よりも上位の層に属する第２のプロトコルに準拠した要求を前記転送先電子機器へ送信することで前記確認を実施し、
前記送信部は、前記転送先電子機器が起動された状態にないことが確認された場合にのみ、前記起動要求パケットを送信する、中継装置。
【請求項２】
請求項１記載の中継装置であって、
前記第１のテーブルは、前記中継装置が管理するＡＲＰテーブルとは別に確保され、
前記第１のテーブルに記録された情報は、前記ＡＲＰテーブルに適用されるタイムアウト削除であって、記録された情報のうちの、予め定められた時間経過の間に通信に使用されなかった情報を削除するタイムアウト削除が適用されない
中継装置。
【請求項３】
請求項１または請求項２記載の中継装置であって、
さらに、前記中継装置が前記特定の通信パケットとして、要求に対して、ディスプレイで表示するための画面データを応答可能なプロトコルを使用した要求パケットを受信し、かつ、前記受信した要求パケットに基づく前記確認部の確認に基づいて、前記送信部が前記起動要求パケットを送信する場合に、前記受信した要求パケットへの応答として、前記転送先電子機器の起動、ユーザの操作およびユーザの待機のうちの少なくとも１つに関する案内画面を表示するためのデータを含む応答パケットを送信する応答部を備えた
中継装置。
【請求項４】
前記案内画面を表示するためのデータは、前記送信部が送信する前記起動要求パケットの宛先となる前記転送先電子機器の起動に要する時間として推定される時間を表す時間情報を含む請求項３記載の中継装置。
【請求項５】
請求項４記載の中継装置であって、
さらに、前記第１のネットワークに接続された電子機器に前記起動要求パケットを送信してから、起動が完了するまでに要する起動時間を学習する学習部を備え、
前記応答部は、前記学習した起動時間に基づいて、前記時間情報を決定する
中継装置。
【請求項６】
請求項１ないし請求項５のいずれか記載の中継装置であって、
前記記憶部は、宛先ポート番号と、前記電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスとを対応付けた第２のテーブルを記憶し、
前記判断部は、前記特定の通信パケットに含まれる宛先ポート番号と、前記第２のテーブルとに基づいて、前記特定の通信パケットの転送先を判断する
中継装置。
【請求項７】
請求項１ないし請求項５のいずれか記載の中継装置であって、
前記記憶部は、前記中継装置に割り当てられた前記第２のネットワークでのＩＰアドレスと、前記電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスとを対応付けた第３のテーブルを記憶し、
前記判断部は、前記特定の通信パケットに含まれる宛先ＩＰアドレスと、前記第３のテーブルとに基づいて、前記特定の通信パケットの転送先を判断する
中継装置。
【請求項８】
第１のネットワークと、該第１のネットワークとセグメントが異なる第２のネットワークとが中継装置を介して接続された環境下において、前記第１のネットワークに通信可能に接続された電子機器を、前記第２のネットワーク側から起動させる電子機器の起動方法であって、
前記中継装置において、前記電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスと、前記電子機器のＭＡＣアドレスとの対応関係を記憶し、
前記第２のネットワークから前記第１のネットワークに向けた通信パケットであって、前記電子機器において該電子機器の起動後に実行可能なアプリケーションを利用するための通信パケットである特定の通信パケットを前記中継装置が受信した場合に、前記中継装置において、前記特定の通信パケットの転送先を判断し、
前記特定の通信パケットを前記中継装置が受信した場合に、前記判断された転送先としての前記電子機器である転送先電子機器が、起動された状態であるか否かを確認し、
前記中継装置において、前記転送先電子機器のＭＡＣアドレスを用いて、前記転送先電子機器に起動要求パケットを送信し、前記転送先電子機器を起動させる
電子機器の起動方法において、
前記起動された状態であるか否かの確認は、ＯＳＩ参照モデルのネットワーク層に属する第１のプロトコルに準拠した要求を前記転送先電子機器へ送信し、前記転送先電子機器からの応答を受信した場合に、さらに、前記ネットワーク層よりも上位の層に属する第２のプロトコルに準拠した要求を前記転送先電子機器へ送信することで実施し、
前記起動要求パケットの送信は、前記転送先電子機器が起動された状態にないことが確認された場合にのみ実施する、電子機器の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器の起動技術に関する。
【背景技術】
【０００２】
従来から、ネットワークを介して電子機器の電源を投入する起動技術が知られている。かかる起動技術は、起動要求パケットを電子機器に送信して、電子機器を起動させる。こうした起動技術として、例えば、マジックパケットと呼ばれる起動要求パケットを用いて、電子機器の電源を投入するＷＯＬ（Wake-On-LAN）が知られている。
【０００３】
かかる起動技術を使用して、外出先からインターネットを介してローカルネットワークに接続された電子機器を起動する技術が提案されている（例えば、下記特許文献６）。特許文献６の技術では、インターネットから起動要求パケットを受信したルータが、ポートフォアーディングによって、起動要求パケットを転送することによって、ローカルネットワークに接続された電子機器の起動を実現する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−７５６８７号公報
【特許文献２】特開２００９−２１６６５号公報
【特許文献３】特開２００８−６６７６９号公報
【特許文献４】特開２００４−３２０３４１号公報
【特許文献５】特開２００９−１３０８９１号公報
【特許文献６】特開２００９−１９９２８３号公報
【特許文献７】特開２０１０−２７７２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の起動技術では、起動対象の電子機器が第１のネットワークに接続されている環境下において、第１のネットワークとはセグメントが異なる第２のネットワーク側から当該電子機器の起動を行うためには、第２のネットワークに接続された端末を用いて、起動要求パケットを送信するためのＵＩ（User Interface）を操作する必要がある。例えば、ユーザは、端末を操作して、起動要求パケットを送信するためのプログラムを起動させる必要がある。また、端末のディスプレイに表示されるＧＵＩ（Graphical User Interface）を用いて、各種情報、例えば、起動対象の電子機器のＭＡＣアドレスや、起動パケットの送信に使用する宛先ポート番号を入力する必要がある。また、起動要求パケットの送信指示の操作を行う必要がある。ユーザは、かかる操作を行った後、端末にインストールされたアプリケーションを利用して、起動後の電子機器に再度アクセスする必要がある。かかる電子機器の起動のための操作は、ユーザにとって面倒である。そのため、ユーザの操作負担を軽減することが求められる。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現可能である。第１のネットワークと、該第１のネットワークとセグメントが異なる第２のネットワークとの間で通信パケットを中継する中継装置であって、前記第１のネットワークに通信可能に接続された電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスと、前記電子機器のＭＡＣアドレスとを対応付けた第１のテーブルを記憶する記憶部と、前記第２のネットワークから前記第１のネットワークに向けた前記通信パケットであって、前記電子機器において該電子機器の起動後に実行可能なアプリケーションを利用するための通信パケットである特定の通信パケットを前記中継装置が受信した場合に、該特定の通信パケットの転送先を判断する判断部と、前記特定の通信パケットを前記中継装置が受信した場合に、前記判断された転送先としての前記電子機器である転送先電子機器が、起動された状態であるか否かを確認することが可能な確認部と、前記転送先電子機器のＭＡＣアドレスを用いて、前記転送先電子機器に起動要求パケットを送信する送信部とを備え、前記確認部は、ＯＳＩ参照モデルのネットワーク層に属する第１のプロトコルに準拠した要求を前記転送先電子機器へ送信し、前記転送先電子機器からの応答を受信した場合に、さらに、前記ネットワーク層よりも上位の層に属する第２のプロトコルに準拠した要求を前記転送先電子機器へ送信することで前記確認を実施し、前記送信部は、前記転送先電子機器が起動された状態にないことが確認された場合にのみ、前記起動要求パケットを送信する、中継装置。そのほか、本発明は、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］第１のネットワークと、該第１のネットワークとセグメントが異なる第２のネットワークとの間で通信パケットを中継する中継装置であって：前記第１のネットワークに通信可能に接続された電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスと、前記電子機器のＭＡＣアドレスとを対応付けた第１のテーブルを記憶する記憶部と；前記第２のネットワークから前記第１のネットワークに向けた前記通信パケットであって、前記電子機器において該電子機器の起動後に実行可能なアプリケーションを利用するための通信パケットである特定の通信パケットを前記中継装置が受信した場合に、該特定の通信パケットの転送先を判断する判断部と；前記判断された転送先としての前記電子機器である転送先電子機器のＭＡＣアドレスを用いて、前記転送先電子機器に起動要求パケットを送信する送信部と；を備えた中継装置。
【０００８】
かかる中継装置によれば、中継装置が第２のネットワークから第１のネットワークに向けた特定の通信パケットを受信した際に、転送先電子機器を起動させることが可能となる。このため、ユーザは、端末のアプリケーションを利用して、端末から第２のネットワークを介して中継装置にアクセスする操作を行えば、転送先電子機器を起動させることができる。そして、ユーザは、転送先電子機器の起動を待てば、あるいは、当該アプリケーションを利用して、起動後の転送先電子機器に再アクセスを行えば、起動した転送先電子機器との間で、当該アプリケーションを利用した通信を行うことができる。つまり、ユーザは、起動要求パケットを送信するためだけに必要な端末の操作を求められない。その結果、ユーザの操作負担が軽減される。
【０００９】
［適用例２］適用例１記載の中継装置であって：さらに、前記特定の通信パケットを前記中継装置が受信した場合に、前記転送先電子機器が起動された状態であるか否かを確認することが可能な確認部を備え；前記送信部は、前記転送先電子機器が起動された状態にないことが確認された場合にのみ、前記起動要求パケットを送信する；中継装置。
かかる中継装置によれば、転送先電子機器が起動された状態にある場合には、起動要求パケットは送信されない。したがって、第１のネットワークのネットワーク負荷を軽減できる。
【００１０】
［適用例３］適用例１または適用例２記載の中継装置であって：前記第１のテーブルは、前記中継装置が管理するＡＲＰテーブルとは別に確保され；前記第１のテーブルに記録された情報は、前記ＡＲＰテーブルに適用されるタイムアウト削除であって、記録された情報のうちの、予め定められた時間経過の間に通信に使用されなかった情報を削除するタイムアウト削除が適用されない；中継装置。
かかる中継装置によれば、第１のテーブルに記憶された情報が、ＡＲＰテーブルに適用されるタイムアウト削除によって削除されることがない。その結果、中継装置は、転送先電子機器が起動された状態にない場合であっても、転送先電子機器のＭＡＣアドレスを取得して、起動要求パケットを送信できる。
【００１１】
［適用例４］適用例２、または、適用例２に従属する適用例３記載の中継装置であって：さらに、前記中継装置が前記特定の通信パケットとして、要求に対して、ディスプレイで表示するための画面データを応答可能なプロトコルを使用した要求パケットを受信し、かつ、前記受信した要求パケットに基づく前記確認部の確認に基づいて、前記送信部が前記起動パケットを送信する場合に、前記受信した要求パケットへの応答として、前記転送先電子機器の起動、ユーザの操作およびユーザの待機のうちの少なくとも１つに関する案内画面を表示するためのデータを含む応答パケットを送信する応答部を備えた；中継装置。
かかる中継装置によれば、ユーザは、転送先電子機器の状態や、自身が行うべき操作を容易に知ることができる。その結果、ユーザの利便性が向上する。
【００１２】
［適用例５］前記案内画面を表示するためのデータは、前記送信部が送信する前記起動要求パケットの宛先となる前記転送先電子機器の起動に要する時間として推定される時間を表す時間情報を含む適用例４記載の中継装置。
かかる中継装置によれば、ユーザは、転送先電子機器の起動に要する時間を知ることができるので、ユーザの利便性が向上する。特に、起動後の転送先電子機器に再アクセスが必要な場合、ユーザは、再アクセスのタイミングを知ることができる。
【００１３】
［適用例６］適用例５記載の中継装置であって：さらに、前記第１のネットワークに接続された電子機器に前記起動要求パケットを送信してから、起動が完了するまでに要する起動時間を学習する学習部を備え；前記応答部は、前記学習した起動時間に基づいて、前記時間情報を決定する；中継装置。
かかる中継装置によれば、精度の高い時間情報をユーザに知らせることができる。その結果、ユーザの利便性が向上する。
【００１４】
［適用例７］適用例１ないし適用例６のいずれか記載の中継装置であって：前記記憶部は、宛先ポート番号と、前記電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスとを対応付けた第２のテーブルを記憶し；前記判断部は、前記特定の通信パケットに含まれる宛先ポート番号と、前記第２のテーブルとに基づいて、前記特定の通信パケットの転送先を判断する；中継装置。
かかる構成の中継装置によれば、特定の通信パケットの転送先を好適に判断できる。しかも、第２のテーブルにおいて、複数の電子機器の第１のネットワークでのＩＰアドレスの各々に対して、異なる宛先ポート番号を対応付けておけば、複数の電子機器を宛先ポート番号に応じて起動することができる。なお、第１のテーブルと第２のテーブルとは、１つのテーブルとして構成されてもよい。
【００１５】
［適用例８］適用例１ないし適用例６のいずれか記載の中継装置であって：前記記憶部は、前記中継装置に割り当てられた前記第２のネットワークでのＩＰアドレスと、前記電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスとを対応付けた第３のテーブルを記憶し；前記判断部は、前記特定の通信パケットに含まれる宛先ＩＰアドレスと、前記第３のテーブルとに基づいて、前記特定の通信パケットの転送先を判断する；中継装置。
かかる構成の中継装置によれば、特定の通信パケットの転送先を好適に判断できる。
【００１６】
また、本発明は、上述した中継装置のほか、適用例９の電子機器の起動方法、中継装置のプログラム、当該プログラムを記録した記録媒体、中継装置と、第１のネットワークに接続される電子機器および第２のネットワークに接続可能な端末の少なくとも一方とを備えた通信システム等としても実現することができる。勿論、これらの実現形態に対しても、適用例２〜８の構成を付加することも可能である。
［適用例９］第１のネットワークと、該第１のネットワークとセグメントが異なる第２のネットワークとが中継装置を介して接続された環境下において、前記第１のネットワークに通信可能に接続された電子機器を、前記第２のネットワーク側から起動させる電子機器の起動方法であって：前記中継装置において、前記電子機器に割り当てられた前記第１のネットワークでのＩＰアドレスと、前記電子機器のＭＡＣアドレスとの対応関係を記憶し；前記第２のネットワークから前記第１のネットワークに向けた前記通信パケットであって、前記電子機器において該電子機器の起動後に実行可能なアプリケーションを利用するための通信パケットである特定の通信パケットを前記中継装置が受信した場合に、前記中継装置において、前記特定の通信パケットの転送先を判断し；前記中継装置において、前記判断された転送先としての前記電子機器である転送先電子機器のＭＡＣアドレスを用いて、前記転送先電子機器に起動要求パケットを送信し、前記転送先電子機器を起動させる；電子機器の起動方法。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例としての中継装置１００を使用して構築されたネットワークシステム２０の概略構成を示す説明図である。
【図２】中継装置１００の概略構成を示す説明図である。
【図３】第２のテーブル１３２の具体例を示す説明図である。
【図４】中継装置１００における中継処理の流れを示すフローチャートである。
【図５】転送処理における起動処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１８】
Ａ．実施例：
Ａ−１．ネットワークシステム２０の概略構成：
図１は、本発明の実施例としての中継装置１００を使用して構築されたネットワークシステム２０の概略構成を示す。図示するように、ネットワークシステム２０は、電子機器３０，４０と、中継装置１００と、端末５０とを備えている。
【００１９】
電子機器３０，４０は、本実施例では、ＮＡＳ（Network Attached Storage）である。ＮＡＳは、ネットワークを介して通信可能な記憶装置である。本実施例においては、電子機器３０，４０は、ＷＥＢサーバ機能を有している。具体的には、電子機器３０，４０は、ＷＥＢブラウザからＨＴＴＰ要求を受信すると、電子機器３０，４０が備える記憶領域に記憶されたデータをＨＴＴＰ応答として送信することができる。また、電子機器３０，４０は、ＷＯＬをサポートしている。
【００２０】
この電子機器３０，４０は、第１のネットワークＮＴ１に接続されている。第１のネットワークＮＴ１は、本実施例では、ローカルエリアネットワークである。電子機器３０には、第１のネットワークＮＴ１におけるプライベートＩＰアドレスとして、「１９２．１６８．１．１」が割り当てられている。同様に、電子機器４０には、プライベートＩＰアドレスとして、「１９２．１６８．１．２」が割り当てられている。本実施例においては、これらのプライベートＩＰアドレスは、ユーザの操作によって、固定的に割り当てられている。つまり、これらのプライベートＩＰアドレスは、ＤＨＣＰ（Dynamic Host Configuration Protocol）によって、動的に割り当てられたものではない。また、電子機器３０は、ＭＡＣアドレスとして「ＭＡＣ１」を有している。同様に、電子機器４０は、ＭＡＣアドレスとして、「ＭＡＣ２」を有している。
【００２１】
中継装置１００は、第１のネットワークＮＴ１と第２のネットワークＮＴ２とに接続されている。中継装置１００は、第１のネットワークＮＴ１と第２のネットワークＮＴ２との間でやり取りされる通信パケットの中継を行う。中継装置１００は、本実施例では、ルータである。第２のネットワークＮＴ２は、第１のネットワークＮＴ１とセグメントが異なるネットワークである。つまり、第１のネットワークＮＴ１と第２のネットワークＮＴ２とは、ＩＰアドレスを構成するネットワーク部およびホスト部のうちの、ネットワーク部のアドレスが異なるアドレスに設定されるネットワークである。本実施例では、第２のネットワークＮＴ２はインターネットであり、中継装置１００は、モデム（図示省略）を介して、第２のネットワークＮＴ２に接続される。
【００２２】
端末５０は、第２のネットワークＮＴ２に接続可能な通信端末である。端末５０は、本実施例では、携帯電話である。端末５０は、基地局（図１では、図示省略）を介して、移動体通信網を利用した無線通信によって、第２のネットワークＮＴ２に接続が可能である。
【００２３】
かかるネットワークシステム２０では、ユーザが端末５０を操作することにより、第２のネットワークＮＴ２および中継装置１００を介して、第１のネットワークＮＴ１に接続された電子機器３０，４０の起動を行うことが可能である。以下、電子機器３０，４０を起動するための構成について説明する。
【００２４】
Ａ−２．中継装置１００の概略構成：
図２は、中継装置１００の概略構成を示す。図示するように、中継装置１００は、ＣＰＵ１１０、ＲＡＭ１２０、フラッシュＲＯＭ１３０、第１のＬＡＮインタフェース（Ｉ／Ｆ）１４０および第２のＬＡＮインタフェース１５０を備え、それぞれがバスにより相互に接続されている。
【００２５】
ＣＰＵ１１０は、フラッシュＲＯＭ１３０に記憶されたファームウェア等のプログラムをＲＡＭ１２０に展開して実行することで、中継装置１００の動作全般を制御する。本実施例においては、ＣＰＵ１１０は、動的ＮＡＰＴ（Network Address Port Translation）および静的ＮＡＰＴを利用した通信パケットの転送処理を実現可能に構成されている。本実施例では、ＮＡＴ（Network Address Translation）を利用した通信パケットの転送処理は行われない。また、ＣＰＵ１１０は、当該プログラムを実行することで、判断部１１１、送信部１１２、確認部１１３、応答部１１４、学習部１１５としても機能する。これらの各機能部の詳細については後述する。
【００２６】
ＲＡＭ１２０には、ＡＲＰ（Address Resolution Protocol）テーブル１２１が記憶されている。ＡＲＰテーブル１２１には、第１のネットワークＮＴ１に接続された電子機器３０，４０のＩＰアドレス（プライベートＩＰアドレス）とＭＡＣアドレスとが対応付けられて記録される。中継装置１００は、通信パケットを中継する際に、ＡＲＰを使用して、通信パケットの宛先ＩＰアドレスに対応するＭＡＣアドレスを取得し、ＡＲＰテーブル１２１に記録する。ＡＲＰテーブル１２１に記録された、ＩＰアドレスとＭＡＣアドレスとの対応関係の各々は、中継装置１００を介した通信が行われない状態で予め設定された時間を経過すると、ＣＰＵ１１０によって、ＡＲＰテーブル１２１から削除される。かかる制御をタイムアウト削除ともいう。
【００２７】
また、ＲＡＭ１２０には、動的ＮＡＰＴを実現するための動的ＮＡＰＴテーブル１２２が記憶されている。動的ＮＡＰＴテーブル１２２は、周知の通り、第２のネットワークＮＴ２側から第１のネットワークＮＴ１側へのアクセスへの応答としての通信パケットを中継装置１００が受信した場合に、当該通信パケットの転送先を判断するために使用される。動的ＮＡＰＴテーブル１２２には、第２のネットワークＮＴ２に接続された電子機器から受信した通信パケットを第１のネットワークＮＴ１に向けて転送する際に、当該通信パケットの送信元ＩＰドレスと、送信元ポート番号と、当該送信元ポート番号を変換した新たな送信元ポート番号（以下、変換後送信元ポート番号ともいう）とが対応付けて記録される。
【００２８】
フラッシュＲＯＭ１３０は、不揮発性の記憶媒体である。フラッシュＲＯＭ１３０には、第１のテーブル１３１と、第２のテーブル１３２とが記憶されている。中継装置１００が備える記憶媒体は、フラッシュＲＯＭに限らず、種々の形式の記憶媒体とすることができる。例えば、記憶媒体は、フラッシュＲＯＭなどの静的な記憶媒体に限らず、ハードディスクドライブなどであってもよい。
【００２９】
第１のテーブル１３１には、第１のネットワークＮＴ１に接続された電子機器３０，４０に割り当てられたＩＰアドレス（プライベートＩＰアドレス）と、電子機器３０，４０のＭＡＣアドレスとが対応付けられて記録される。本実施例では、ＡＲＰテーブル１２１に記録された情報に基づいて、第１のテーブル１３１に情報が記録される。具体的には、中継装置１００のＣＰＵ１１０は、ＡＲＰテーブル１２１を定期的に参照し、ＡＲＰテーブル１２１に記録された情報を第１のテーブル１３１に記録する。より具体的には、ＣＰＵ１１０は、ＡＲＰテーブル１２１に記憶された情報のうち、第１のテーブル１３１に登録されていないＩＰアドレスとＭＡＣアドレスとの対応関係を第１のテーブル１３１に記録する。かかる動作において、ＣＰＵ１１０がＡＲＰテーブル１２１を参照する頻度は、ＡＲＰテーブル１２１のタイムアウト削除の設定時間よりも短い周期で設定されることが望ましい。こうすれば、ＡＲＰテーブル１２１に記録された情報が、タイムアウト削除される前に、第１のテーブル１３１に確実に反映される。
【００３０】
かかる第１のテーブル１３１には、ＡＲＰテーブル１２１に適用されるタイムアウト削除は適用されない。つまり、第１のテーブル１３１に記録されたＩＰアドレスとＭＡＣアドレスとの対応関係は、その対応関係を用いた通信が、設定時間の間、行われなかった場合であっても、第１のテーブル１３１から削除されない。本実施例では、第１のテーブル１３１に記録された情報は、ユーザが入力する削除指示のコマンドをＣＰＵ１１０が受け付けた場合にのみ、ＣＰＵ１１０は、第１のテーブル１３１に記録された情報のうち、指定された情報を削除する。それ以外の場合では、ＣＰＵ１１０は、第１のテーブル１３１に記録された情報を常時保持する。ただし、第１のテーブル１３１に登録された情報を削除するタイミングは、上述の例に限定するものではない。例えば、第１のテーブル１３１に記録されたＩＰアドレスとＭＡＣアドレスとの対応関係は、その対応関係を用いた通信が、ＡＲＰテーブル１２１に適用されるタイムアウト削除よりも長く設定された時間を経過した場合に、削除される構成としてもよい。
【００３１】
第２のテーブル１３２には、宛先ポート番号と、第１のネットワークＮＴ１に接続された電子機器３０，４０に割り当てられたＩＰアドレス（プライベートＩＰアドレス）とが対応付けられ記録される。つまり、第２のテーブル１３２は、静的ＮＡＰＴテーブルである。静的ＮＡＰＴテーブルは、周知の通り、第１のネットワークＮＴ１側から第２のネットワークＮＴ２側へのアクセスする通信パケット（応答ではない通信パケット）を中継装置１００が受信した場合に、当該通信パケットの転送先を判断するために使用される。第２のテーブル１３２の詳細については後述する。なお、動的ＮＡＰＴテーブル１２２と第２のテーブル１３２とは、１つのＮＡＰＴテーブルとして構成されてもよい。かかる構成とすれば、汎用のルータが備えるＮＡＰＴテーブルを利用して中継装置１００を設計できるので、中継装置１００の汎用性が高まる。この場合、当該１つのＮＡＰＴテーブルは、ＲＡＭ１２０に記憶されてもよいし、フラッシュＲＯＭ１３０に記憶されてもよい。
【００３２】
ＬＡＮインタフェース１４０および第２のＬＡＮインタフェース１５０は、ＭＡＣチップ（図示省略）を介して、ＣＰＵ１１０に接続されている。第１のＬＡＮインタフェース１４０は、第１のネットワークＮＴ１に接続するためのインタフェースである。第１のＬＡＮインタフェース１４０は、第１のネットワークＮＴ１を介して、電子機器３０，４０に接続される。第２のＬＡＮインタフェース１５０は、第２のネットワークＮＴ２に接続するためのインタフェースである。第２のＬＡＮインタフェース１５０は、モデムを介して、第２のネットワークＮＴ２に接続される。なお、モデムは、中継装置１００に内蔵されていてもよい。本実施例では、第１のＬＡＮインタフェース１４０および第２のＬＡＮインタフェース１５０は、ＩＥＥＥ８０２．３規格に準拠している。
【００３３】
図３は、第２のテーブル１３２の具体例を示す。第２のテーブル１３２には、宛先ポート番号「２１」と、ＩＰアドレス「１９２．１６８．１．１」とが対応付けられて、記録されている。同様に、宛先ポート番号「８０」とＩＰアドレス「１９２．１６８．１．２」、宛先ポート番号「８１」とＩＰアドレス「１９２．１６８．１．２」とが、それぞれ対応付けられて、記録されている。宛先ポート番号「２１」は、ＦＴＰ（File Transfer Protocol）に対応する。宛先ポート番号「８０」は、ＨＴＴＰ（HyperText Transfer Protocol）に対応する。宛先ポート番号「８１」は、hosts2-nsに対応する。ＩＰアドレス「１９２．１６８．１．１」は、電子機器３０に割り当てられたＩＰアドレスである。ＩＰアドレス「１９２．１６８．１．２」は、電子機器４０に割り当てられたＩＰアドレスである。
【００３４】
かかる第２のテーブル１３２に記録された情報は、本実施例では、ユーザの手動入力によって予め登録される。つまり、中継装置１００は、ユーザによって入力される情報を受け付けて、第２のテーブル１３２に登録する。登録の手法は、種々の手法を用いることができる。例えば、ユーザが、パーソナルコンピュータを、中継装置１００の第１のＬＡＮインタフェース１４０に接続して、あるいは、第１のネットワークＮＴ１に接続して、ＷＥＢブラウザを介して入力してもよい。あるいは、中継装置１００がディスプレイを備えている場合には、ディスプレイに表示されるＧＵＩ（Graphical User Interface）を用いて入力してもよい。
【００３５】
第２のテーブル１３２に登録される宛先ポート番号は、電子機器３０，４０が提供可能なアプリケーションに対応する番号とすることができる。また、宛先ポート番号は、第２のネットワークＮＴ２に接続された端末５０が、電子機器３０，４０と通信を行う際に使用するアプリケーションに対応する番号とすることができる。
【００３６】
第２のテーブル１３２に登録する情報は、ユーザが任意に決定することができる。つまり、第２のテーブル１３２に登録する情報は、１つまたは２つ以上の宛先ポート番号と、第１のネットワークＮＴ１に接続された、１つまたは２つ以上の電子機器に割り当てられたＩＰアドレスとを対応付けるものであればよい。なお、宛先ポート番号は、ウェルノウンポート番号に限るものではない。例えば、宛先ポート番号は、登録ポート番号であってもよい。
【００３７】
Ａ−３．起動処理：
図４は、中継装置１００が実行する中継処理の流れを示す。中継処理とは、第２のネットワークＮＴ２側から受信した通信パケットを第１のネットワークＮＴ１側に転送する処理であり、第１のネットワークＮＴ１に接続された電子機器３０，４０を起動する処理を含む。「起動」とは、電子機器の本質的な機能の少なくとも一部の機能であって、電子機器がネットワークを介して提供可能な機能について、提供不可能な状態から提供可能な状態に移行することをいう。本質的な機能とは、例えば、電子機器が記憶装置である場合には、記憶媒体への書き込み、記憶媒体に記憶された情報の取得などを例示できる。電子機器がパーソナルコンピュータである場合には、本質的な機能として、例えば、ＣＰＵによる各種通信に係る演算処理を例示できる。「起動」の代表的な一態様は、電源ＯＦＦの状態の電子機器に対して電源を投入して、電子機器を、自身が有する機能を提供可能な状態に移行させることである。また、「起動」の他の代表的な一態様は、電子機器がＡＣＰＩ（Advanced Configuration and Power Interface）に準拠している場合には、ステートＳ１〜Ｓ５のいずれかから、ステートＳ０に移行させることである。また、本願において、「起動された状態」とは、「起動」が行われた後の状態、すなわち、電子機器がネットワークを介して、当該電子機器の本質的な機能の少なくとも一部を提供可能な状態にあることをいう。
【００３８】
本実施例において、中継処理は、第２のネットワークＮＴ２から第１のネットワークＮＴ１に向けた通信パケットを受信するたびに、繰り返し実行される。中継処理は、例えば、端末５０が、端末５０にインストールされたアプリケーションを使用して、中継装置１００にアクセスし、中継装置１００が通信パケットを受信することによって開始される。こうしたアプリケーションとしては、ＷＥＢブラウザや、ＦＴＰクライアントアプリケーションを例示することができる。
【００３９】
中継処理が開始されると、中継装置１００のＣＰＵ１１０は、まず、判断部１１１の処理として、第２のＬＡＮインタフェース１５０を介して受信した通信パケットの宛先（転送先）が動的ＮＡＰＴテーブル１２２または第２のテーブル１３２に記録されているか、つまり、宛先を知っているかを判断する（ステップＳ２１０）。ステップＳ２１０は、受信した通信パケットの転送先を判断する処理である。動的ＮＡＰＴテーブル１２２または第２のテーブル１３２に基づいて、宛先のＩＰアドレスを取得できる場合には、ＣＰＵ１１０は、宛先を知っていると判断する。一方、その他の場合には、ＣＰＵ１１０は、宛先を知らないと判断する。
【００４０】
ステップＳ２１０において、ＩＰアドレスは、以下のようにして取得される。動的ＮＡＰＴテーブル１２２を参照する場合、ＣＰＵ１１０は、受信した通信パケットに含まれる宛先ポート番号と同一の変換後送信元ポート番号に対応付けられたＩＰアドレスを動的ＮＡＰＴテーブル１２２から取得する。第２のテーブル１３２を参照する場合、ＣＰＵ１１０は、受信した通信パケットに含まれる宛先ポート番号と同一の宛先ポート番号に対応付けられたプライベートＩＰアドレスを第２のテーブル１３２から取得する。例えば、受信した通信パケットに含まれる宛先ポート番号が「８０」である場合には、ＣＰＵ１１０は、第２のテーブル１３２を参照して、電子機器４０に割り当てられたＩＰアドレス「１９２．１６８．１．２」を取得する。
【００４１】
ステップＳ２１０において、宛先を知らない場合には（ステップＳ２１０：ＮＯ）、ＣＰＵ１１０は、中継処理を終了する。つまり、ＣＰＵ１１０は、受信した通信パケットの宛先を知らないので、当該通信パケットを破棄する。一方、ステップＳ２１０において、宛先を知っていれば（ステップＳ２１０：ＹＥＳ）、ＣＰＵ１１０は、確認部１１３の処理として、宛先のＩＰアドレスが割り当てられた電子機器（以下、電子機器４０として説明する）にＡＲＰ要求を送信する（ステップＳ２２０）。そして、ＣＰＵ１１０は、確認部１１３の処理として、送信したＡＲＰ要求に対応するＡＲＰ応答を受信したか否かを判断する（ステップＳ２３０）。ＡＲＰ応答を受信できないこと（ステップＳ２３０：ＮＯ）は、ＡＲＰ要求の宛先である電子機器４０がＡＲＰ応答を送信できない状態にあること、つまり、起動された状態にないことを意味する。つまり、ステップＳ２３０の判断は、受信した通信パケットの転送先として判断された電子機器４０が起動された状態であるか否かを確認する処理として実行される。
【００４２】
ステップＳ２３０において、ＡＲＰ応答の受信があること（ステップＳ２３０：ＹＥＳ）は、電子機器４０が起動された状態である可能性が大きい。ただし、電子機器には、起動された状態でなくても、ＡＲＰ要求を受信し、ＡＲＰ応答を応答可能なタイプも存在する。このため、ステップＳ２３０において、ＡＲＰ応答の受信があれば（ステップＳ２３０：ＹＥＳ）、ＣＰＵ１１０は、確認部１１３の処理として、ＯＳＩ参照モデルのネットワーク層以上の階層で処理されるプロトコルを使用して、コネクション確認を行う（ステップＳ２４０）。本実施例では、ＣＰＵ１１０は、ＴＣＰ（Transmission Control Protocol）を使用して、ＳＹＮパケットを送信し、その応答としてのＡＣＫパケットの受信の有無を把握することによって、コネクション確認を行う。
【００４３】
コネクション確認の結果、ＡＣＫパケットを受信したこと（ステップＳ２５０：ＹＥＳ）は、電子機器４０が起動された状態にあることを意味する。そこで、ＣＰＵ１１０は、ＡＣＫパケットを受信した場合（ステップＳ２５０：ＹＥＳ）、上記ステップＳ２１０において転送先として判断された電子機器４０に、受信した通信パケットを転送し（ステップＳ２７０）、中継処理を終了する。なお、ＣＰＵ１１０は、通信パケットの転送に必要な電子機器４０のＭＡＣアドレスを、ＡＲＰ応答の受信によって取得することができる。上記の説明からも明らかなように、上記ステップＳ２２０〜２５０は、受信した通信パケットの転送先として判断された電子機器が起動された状態にあるか否かを確認する処理として捉えることができる。
【００４４】
一方、ＡＣＫパケットを受信しないこと（ステップＳ２５０：ＮＯ）、あるいは、上記ステップＳ２３０において、ＡＲＰ応答を受信しないこと（ステップＳ２３０：ＮＯ）は、電子機器４０が起動された状態にないことを意味する。これらの場合、ＣＰＵ１１０は、電子機器４０を起動するための起動処理を行い（ステップＳ２６０）、中継処理を終了する。
【００４５】
図５は、起動処理の流れを示す。図示するように、起動処理が開始されると、ＣＰＵ１１０は、まず、第１のテーブル１３１および第２のテーブル１３２を参照して、受信した通信パケットに含まれる宛先ポート番号に対応付けられたＭＡＣアドレスを検索する（ステップＳ３１０）。
【００４６】
ステップＳ３１０によってＭＡＣアドレスが取得されなかった場合（ステップＳ３２０：ＮＯ）、ＣＰＵ１１０は、起動処理を終了する。一方、ステップＳ３１０によってＭＡＣアドレスが取得された場合（ステップＳ３２０：ＹＥＳ）、ＣＰＵ１１０は、送信部１１２の処理として、取得したＭＡＣアドレスを用いて起動要求パケットを生成し、第１のＬＡＮインタフェース１４０を介して送信する（ステップＳ３３０）。
【００４７】
本実施例においては、ＣＰＵ１１０は、起動要求パケットとして、ＷＯＬで使用されるマジックパケットを送信する。マジックパケットは、通信パケットのボディの任意の領域に「FF-FF-FF-FF-FF-FF」という同期用シーケンスと、それに続いて、起動対象の機器のＭＡＣアドレスを１６回繰り返したデータとを含む。ＣＰＵ１１０は、上記ステップＳ３１０で取得したＭＡＣアドレスを、起動対象の機器のＭＡＣアドレスとして使用して、マジックパケットをブロードキャストによって送信する。マジックパケットを受信した電子機器３０，４０は、マジックパケットに含まれるＭＡＣアドレスが自身のＭＡＣアドレスでなければ、受信したマジックパケットを無視する。一方、電子機器３０，４０は、マジックパケットに含まれるＭＡＣアドレスが自身のＭＡＣアドレスであれば、自身を起動する。なお、起動要求パケットのフォーマットは、上述の例に限られるものではない。起動要求パケットは、中継装置１００および起動対象の機器がサポートする任意の形式とすることができる。起動対象の機器は、ソフトウェアによって、受信した起動要求パケットを解釈してもよい。
【００４８】
起動要求パケットを送信すると、中継装置１００は、応答部１１４の処理として、受信した通信パケットに含まれる宛先ポート番号がＨＴＴＰに対応する番号であるか否かを判断する（ステップＳ３４０）。つまり、ＣＰＵ１１０は、宛先ポート番号が「８０」であるか否かを判断する。なお、ＨＴＴＰには、ＨＴＴＰＳ（HTTP over SSL/TLS）を含むものとしてもよい。つまり、ステップＳ３４０において、中継装置１００は、宛先ポート番号が「８０」または「４４３」のいずれか一方であるか否かを判断してもよい。
【００４９】
ステップＳ３４０において、宛先ポート番号がＨＴＴＰに対応する番号であれば（ステップＳ３４０：ＹＥＳ）、ＣＰＵ１１０は、応答部１１４の処理として、受信したＨＴＴＰ要求への応答として、ＨＴＴＰ応答を送信する（ステップＳ３５０）。この処理は、例えば、透過プロキシによって実現することができる。このＨＴＴＰ応答は、ユーザへの案内画面を表示するデータを含む。本実施例では、案内画面を表示するデータは、ステップＳ３３０の処理に伴い起動される電子機器４０が、起動に要する時間、つまり、起動要求パケットを受信してから起動が完了するまでの時間として推定される時間を表す時間情報を含む。以下、起動に要する時間を起動時間ともいう。
【００５０】
例えば、案内画面は、「電子機器を起動しています。起動までの時間は約４分です。」などの文字情報を含む。この場合、「約４分」が時間情報に該当する。本実施例においては、案内画面に含まれる時間情報は、後述するステップＳ３６０〜Ｓ３８０によって自動的に学習された起動時間に基づいて決定される。例えば、学習された起動時間が４分２０秒である場合には、時間情報は、「約４分」、あるいは、「約５分」などとして決定される。なお、案内画面に含まれる時間情報は、学習された起動時間そのものであってもよい。つまり、時間情報は、「４分２０秒」などであってもよい。なお、本実施例では、起動対象の電子機器４０について、過去に起動時間の学習が行われていない場合には、案内画面には、時間情報は含まれない。例えば、案内画面の文字情報は、「電子機器を起動しています。」などとなる。
【００５１】
ＨＴＴＰ応答を送信すると、ＣＰＵ１１０は、学習部１１５の処理として、ポーリングにより起動対象機器（ここでは、電子機器４０）の起動状態を監視する（ステップＳ３６０）。ここでのポーリングとは、起動対象の電子機器４０に対して、定期的に通信パケットを送信して、その応答を監視することをいう。ポーリングの実現形態としては、例えば、上記ステップＳ２３０において、ＡＲＰ応答を受信しなかった場合には、ステップＳ３６０において、ＡＲＰ要求を定期的に送信することとしてもよい。あるいは、上記ステップＳ２５０においてＡＣＫパケットを受信しなかった場合には、ステップＳ３６０において、ＳＹＮパケットを定期的に送信することとしてもよい。なお、ポーリングに関して、タイムアウト設定が適用されてもよい。つまり、ポーリングを開始してから、所定時間以内に起動対象機器の起動が確認できない場合には、ポーリングを停止してもよい。こうすれば、起動対象機器の起動に失敗した場合に、ポーリング動作が無駄に継続されることがない。タイムアウトの時間は、例えば、５分にデフォルト設定されてもよい。
【００５２】
ポーリングを開始すると、ＣＰＵ１１０は、学習部１１５の処理として、電子機器４０から応答パケットを受信するまで待機する（ステップＳ３７０）。そして、応答パケットを受信すると（ステップＳ３７０：ＹＥＳ）、ＣＰＵ１１０は、学習部１１５の処理として、起動要求パケットを送信してから、ポーリングによる応答パケットを受信するまでの時間を、電子機器４０の起動時間として、フラッシュＲＯＭ１３０に格納して、登録する（ステップＳ３８０）。この起動時間は、電子機器４０と対応付けて登録される。例えば、起動時間は、電子機器４０のＭＡＣアドレスと対応付けて記録される。このように、電子機器４０の起動時間が学習されると、ＣＰＵ１１０は、次回、起動処理が実行される際に、ステップＳ３５０において、学習された起動時間に基づいて時間情報を決定することが可能となる。
【００５３】
こうして、ＣＰＵ１１０は、起動処理を終了し、処理を中継処理に戻す。なお、上述した中継処理において、上記Ｓ２２０〜Ｓ２５０，Ｓ３４０〜Ｓ３８０は、適宜省略が可能である。ステップＳ２４０，Ｓ２５０を省略する場合には、ＡＲＰ応答を受信すれば（ステップＳ２３０：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ２７０に進める構成としてもよい。また、ＡＲＰ応答を受信し（ステップＳ２３０：ＹＥＳ）、かつ、ＡＣＫパケットを受信しなかった（ステップＳ２５０：ＮＯ）の場合には、ステップＳ３１０，３２０を省略することも可能である。この場合、ステップＳ３３０において、ＣＰＵ１１０は、ＡＲＰ応答によって取得したＭＡＣアドレスを用いて、起動要求パケットを送信してもよい。つまり、ＣＰＵ１１０は、第１のテーブル１３１および第２のテーブル１３２を参照して、または、ＡＲＰ要求によって、ＭＡＣアドレスを取得すればよい。
【００５４】
Ａ−４．効果：
上述した中継装置１００は、中継装置１００が第２のネットワークＮＴ２から第１のネットワークＮＴ１に向けた通信パケットを受信した場合に、通信パケットの転送先を判断し、判断した転送先のＭＡＣアドレスを第１のテーブル１３１を参照して取得し、当該ＭＡＣアドレスを用いて、転送先として判断された電子機器に起動要求パケットを送信することができる。その結果、電子機器を起動させることができる。受信する通信パケットは、起動要求パケットである必要はなく、電子機器の起動後に実行可能なアプリケーションを利用するための通信パケットであればよい。このため、ユーザは、第２のテーブル１３２に登録された宛先ポート番号に対応するアプリケーションを利用して、端末５０から第２のネットワークＮＴ２を介して中継装置１００にアクセスする操作を行えば、電子機器３０，４０を起動させることができる。電子機器３０，４０を起動している間は、端末５０は、電子機器３０，４０と通信を行うことができない。この場合、端末５０からのアクセスが、予め定められた期間の間、再試行される。電子機器３０，４０の起動に要する時間が再試行の時間よりも短ければ、ユーザは、起動時間だけ待機すれば、新たな操作を行うことなく、上述のアプリケーションを利用した端末５０と電子機器３０，４０との通信を実現できる。電子機器３０，４０の起動に要する時間が再試行の時間よりも長い場合、ユーザは、電子機器３０，４０の起動完了を待って、上述のアプリケーションを利用したアクセス操作を再度行えば、当該アプリケーションを利用した端末５０と電子機器３０，４０との通信を実現できる。つまり、いずれの場合においても、ユーザは、端末５０にインストールされた、利用したいアプリケーションに関する操作を行うだけで、電子機器３０，４０を起動させ、さらに、当該アプリケーションを利用することができる。換言すれば、ユーザは、ＷＯＬなど、起動要求パケットを送信するためだけに用意されたアプリケーションのＧＵＩを操作する必要がない。その結果、ユーザの操作負担が軽減される。
【００５５】
また、中継装置１００は、判断した転送先の電子機器が起動された状態であるか否かを判断し、転送先の電子機器が起動された状態にないことが確認された場合にのみ、起動要求パケットを送信する。したがって、第１のネットワークＮＴ１のネットワーク負荷を軽減できる。また、起動要求パケットをブロードキャストによって送信する場合には、第１のネットワークＮＴ１に接続された電子機器３０，４０の処理負荷も軽減できる。
【００５６】
また、中継装置１００において、宛先ポート番号と、ＩＰアドレスと、ＭＡＣアドレスとの対応関係は、第１のテーブル１３１と第２のテーブル１３２とに分離して管理される。したがって、ユーザは、第１のテーブル１３１および第２のテーブル１３２の管理を行いやすい。例えば、ユーザは、第１のテーブル１３１に登録された情報を更新する際に、第１のテーブル１３１の情報のみをディスプレイに表示させて、入力操作を行うことができる。つまり、必要のない第２のテーブル１３２の情報が表示されないので、ユーザの利便性が向上する。また、中継装置１００のＣＰＵ１１０は、起動処理を実行する際に、第１のテーブル１３１と第２のテーブル１３２とのうちの、処理に応じて必要なテーブルのみを参照すればよい。したがって、ＣＰＵ１１０が参照する情報量を低減して、処理を効率化および高速化できる。
【００５７】
また、中継装置１００は、ＡＲＰを使用して電子機器３０，４０のＭＡＣアドレスを取得し、取得したＭＡＣアドレスを第１のテーブル１３１に記憶する。したがって、故障や新製品への買い換えなどによって、電子機器３０，４０が他の機器に交換された場合でも、ユーザは、交換された機器のＭＡＣアドレスを手動入力によって第１のテーブル１３１に登録する必要がない。ただし、中継装置１００は、ＭＡＣアドレスの手動入力を受け付けて、第１のテーブル１３１に登録してもよい。しかも、中継装置１００は、タイムアウト削除が適用されるＡＲＰテーブル１２１とは別に、第１のテーブル１３１を記憶する。したがって、第１のテーブル１３１に記憶された情報が、ＡＲＰテーブル１２１に適用されるタイムアウト削除によって削除されることがない。その結果、中継装置１００は、電子機器３０，４０が起動された状態にない場合であっても、電子機器３０，４０のＭＡＣアドレスを取得して、起動要求パケットを送信できる。
【００５８】
また、中継装置１００は、電子機器３０，４０に起動要求パケットを送信する場合に、その契機となった受信パケットがＨＴＴＰ要求であれば、案内画面を表示するためのＨＴＴＰ応答を送信する。したがって、ユーザは、端末５０のディスプレイに表示された、ＨＴＴＰ応答を表示する画面を確認することで、起動させる電子機器３０，４０の状態や、自身が行うべき操作を容易に知ることができる。その結果、ユーザの利便性が向上する。しかも、案内画面には、時間情報が含まれるので、ユーザは、電子機器３０，４０の起動に要する時間を知ることができる。また、起動後の電子機器３０，４０に再アクセスが必要な場合、ユーザは、再アクセスのタイミングを知ることができる。したがって、ユーザの利便性が向上する。
【００５９】
さらに、中継装置１００は、時間情報を学習することができるので、精度の高い時間情報をユーザに知らせることができる。その結果、ユーザの利便性が向上する。例えば、電子機器３０，４０の起動時間が長期に亘る時間経過によって変化する場合や、電子機器３０，４０のファームウェアの更新、新たなハードウェアの追加的な組み込みなどによって、起動時間が変化する場合においても、中継装置１００は、精度の高い時間情報をユーザに知らせることができる。
【００６０】
Ｂ：変形例：
Ｂ−１．変形例１：
上述の中継処理（図４参照）においては、ＡＲＰ要求やＳＹＮパケットの送信によって、第１のネットワークＮＴ１に接続された電子機器３０，４０が起動された状態であるか否かの確認（以下、起動確認ともいう）を行う構成について示したが、起動確認の構成は特に限定するものでない。起動確認は、通信パケットを送信して、その応答の有無を把握することによって行うものであればよい。例えば、中継装置１００は、pingを用いて起動確認を行ってもよい。
【００６１】
Ｂ−２．変形例２：
上述の起動処理（図５参照）では、ステップＳ３３０において、案内画面を表すデータは、時間情報を含むものとしたが、案内画面の内容は、適宜設定すればよい。案内画面は、起動対象の電子機器についての起動に関する情報を含んでもよい。起動に関する情報は、起動された状態である旨を表す情報であってもよいし、起動時間に基づく時間情報であってもよい。あるいは、案内画面は、ユーザの操作に関する情報を含んでもよい。ユーザの操作に関する情報は、例えば、ユーザの再アクセスを促す文字情報、さらに具体的には、「再度アクセスしてください」などの文字情報であってもよい。また、案内画面は、ユーザの待機に関する情報を含んでもよい。ユーザの待機に関する情報は、ユーザに待機を促す文字情報であってもよい。あるいは、起動時間に基づく時間情報をユーザの待機に関する情報として捉えてもよい。これらの情報は、適宜、組み合わせてもよい。
【００６２】
また、中継装置１００は、起動要求パケットを送信する前に、起動対象機器の起動の許否をユーザに確認するための画像データを、ＨＴＴＰ応答として送信してもよい。さらに、ユーザが、端末５０で受信したＨＴＴＰ応答の表示画面を用いて、起動対象機器の起動を許可する旨の入力を行い、中継装置１００がその入力を受信した場合に限り、起動要求パケットを送信してもよい。かかる構成によれば、ユーザの意図に反して、起動対象機器が起動されることがない。
【００６３】
また、中継装置１００は、ＨＴＴＰ要求に代えて、あるいは、加えて、他のプロトコルを使用した通信パケットを受信した際に、案内画面や画像データを送信してもよい。他のプロトコルとしては、要求に対して、ディスプレイで表示するための画面データを応答可能な種々のプロトコルを採用することができる。他のプロトコルの具体例として、例えば、ＦＴＰ、Ｔｅｌｎｅｔ（Telecommunication network）、ｓｓｈ（Secure SHell）などを例示することができる。
【００６４】
Ｂ−３．変形例３：
中継装置１００は、ユーザが、宛先ポート番号およびＩＰアドレスを第２のテーブル１３２に登録する際に、当該ＩＰアドレスを割り当てられた機器の種類の入力を受け付けてもよい。また、ＣＰＵ１１０は、応答部１１４の処理として、機器の種類に応じて、時間情報を決定してもよい。かかる場合、機器の種類の入力は選択指定により行える構成としてもよい。また、中継装置１００は、機器の種類と時間情報とを対応付けて、予め記憶領域に記憶しておき、当該対応関係から、時間情報を決定してもよい。記憶する時間情報は、機器の種類に応じた一般的な、あるいは、平均的な起動時間としてもよい。これらの構成によれば、中継装置１００を、時間情報を学習しない構成としても、中継装置１００は、予め記憶された時間情報をユーザに提示することができる。あるいは、時間情報が学習される前であっても、中継装置１００は、時間情報をユーザに提示することができる。なお、機器の種類の区分は、機器の主要な機能に基づいて設定されてもよい。あるいは、機器の種類の区分は、同一の主要な機能を有する機器であっても、型番の違いやファームウェアのバージョンが異なる場合には、機器の種類が異なるものとして、設定されてもよい。
【００６５】
Ｂ−４．変形例４：
ユーザは、中継装置１００の初期使用時には、中継装置１００の動作テストを行ってもよい。動作テストは、接続確認テストとしてもよい。接続確認テストは、例えば、第１のネットワークＮＴ１に接続された電子機器３０，４０を起動させた状態で、中継装置１００が電子機器３０，４０の各々に対して、ＡＲＰ要求を送信し、その応答を確認することとしてもよい。こうすれば、中継装置１００の初期使用時から、第１のテーブル１３１に所要の情報が登録される。この場合、中継装置１００は、ユーザから接続確認テストの開始指示を受け付けて、自動的に接続確認テストを順次、実行してもよい。こうすれば、ユーザの操作負担が軽減される。
【００６６】
また、動作テストは、起動確認テストとしてもよい。起動確認テストは、例えば、第１のネットワークＮＴ１に接続された電子機器３０，４０の電源をＯＦＦにした状態で、中継装置１００が電子機器３０，４０の各々に対して、起動要求パケットを送信し、電子機器３０，４０が適正に起動されることを確認することとしてもよい。こうすれば、中継装置１００は、中継装置１００の初期使用時において、時間情報を学習することができる。この場合、中継装置１００は、ユーザから起動確認テストの開始指示を受け付けて、自動的に起動確認テストを順次、実行してもよい。こうすれば、ユーザの操作負担が軽減される。なお、ＡＲＰによる接続確認テストが完了した後に起動テストを行えば、中継装置１００は、電子機器３０，４０のＭＡＣアドレスを取得済みであるから、自動的にマジックパケットを送信することができる。
【００６７】
起動テストは、第１のネットワークＮＴ１に接続された電子機器３０，４０の各々に対して、個体別に行うことに限定されない。例えば、変形例３で述べたように、中継装置１００が、ＩＰアドレスを割り当てられた機器の種類の入力を受け付ける場合には、起動テストを機器の種類別に行ってもよい。つまり、１つの機器の種類につき、当該種類の電子機器の任意の１つに対してのみ、起動テストを行ってもよい。この場合、ＣＰＵ１１０は、学習部１１４の処理として、学習した時間情報を、同一種類の全ての電子機器に対して一律に適用してもよい。かかる構成とすれば、効率的に、時間情報を学習することができる。
【００６８】
Ｂ−５．変形例５：
中継装置１００がＵＰｎＰ（Universal Plug and Play）をサポートする場合には、第２のテーブル１３２の情報は、ＵＰｎＰを利用して登録されてもよい。ＵＰｎＰは、周知の通り、自動的にポートマッピングを行う機能を提供する。また、ＵＰｎＰアプリケーションがインストールされたパーソナルコンピュータを、第１のネットワークＮＴ１を介して中継装置１００に接続して、宛先ポート番号を指定して、ポートマッピングを行ってもよい。
【００６９】
Ｂ−６．変形例６：
上述の実施例では、第１のテーブル１３１および第２のテーブル１３２は、不揮発性の記憶媒体であるフラッシュＲＯＭ１３０に記憶する構成を示したが、これらの少なくとも一方は、揮発性の記憶媒体であるＲＡＭ１２０に記憶してもよい。また、第１のテーブル１３１および第２のテーブル１３２は、１つのテーブルとして構成されてもよい。つまり、宛先ポート番号と、電子機器３０，４０のＩＰアドレスと、電子機器３０，４０のＭＡＣアドレスとが、１つのテーブルにおいて対応付けられていてもよい。また、第１のテーブル１３１、第２のテーブル１３２および動的ＮＡＰＴテーブル１２２が１つのテーブルとして構成されてもよい。
【００７０】
また、必ずしも、ＡＲＰテーブル１２１とは別に第１のテーブル１３１を用意する必要はない。つまり、起動処理において、ＣＰＵ１１０は、第１のテーブル１３１に代えて、ＡＲＰテーブル１２１を利用してもよい。こうすれば、中継装置１００が備える有限の記憶領域を有効に活用することができる。かかる場合、中継装置１００は、ＡＲＰテーブル１２１におけるＩＰアドレスとＭＡＣアドレスとの対応関係の各々について、異なるタイムアウト削除の時間を設定可能に構成されてもよい。かかる場合、ＡＲＰテーブル１２１におけるＩＰアドレスとＭＡＣアドレスとの対応関係のうち、第２のテーブル１３２に登録されたＩＰアドレスを含む対応関係については、その他の対応関係よりも、タイムアウト削除の時間を長く設定してもよい。あるいは、第２のテーブル１３２に登録されたＩＰアドレスを含む対応関係についてのみ、タイムアウト削除を適用しない設定としてもよい。かかる設定は、ユーザの手動入力によって設定されてもよいし、ＣＰＵ１１０が自動的に設定してもよい。また、ＡＲＰテーブル１２１に対してタイムアウト削除を適用しない構成としてもよい。これらの構成とすれば、起動要求パケットの生成に用いるＭＡＣアドレスが取得できない状況が発生することを抑制することができる。
【００７１】
Ｂ−７．変形例７：
上述した中継処理（図４参照）において、中継装置１００が第２のネットワークＮＴ２から起動要求パケットを受信した場合には、ＣＰＵ１１０は、ステップＳ２１０の判断によって、処理をステップＳ２２０以降に進めることとなる。つまり、ＣＰＵ１１０は、起動確認を行うこととなる。ただし、中継装置１００が第２のネットワークＮＴ２から起動要求パケットを受信した場合には、起動確認を行わないこととしてもよい。つまり、ＣＰＵ１１０は、第２のネットワークＮＴ２から第１のネットワークＮＴ１に向けた通信パケットを受信し、通信パケットの転送先を特定できず、かつ、受信した通信パケットが起動要求パケットでない場合に、起動確認を行ってもよい。起動要求パケットに使用される宛先ポート番号を中継装置１００に登録しておけば、中継装置１００は、起動要求パケットを識別することができる。
【００７２】
かかる場合、ＣＰＵ１１０は、受信した起動要求パケットを第２のテーブル１３２に基づいて、静的ＮＡＰＴによってアドレス変換を行い、起動要求パケットを転送してもよい。あるいは、中継処理をステップＳ２６０に進めてもよい。ユーザは、起動要求パケットを送信する操作を行っているので、起動要求パケットの宛先として予定された電子機器は、起動された状態ではない可能性が大きい。本変形例の構成とすれば、電子機器の起動確認を省略できるので、処理を効率化することができる。
【００７３】
Ｂ−８．変形例８：
上述の実施形態では、電子機器３０，４０のＩＰアドレスは、ユーザの手動入力によって、固定的に割り当てられた。しかし、電子機器３０，４０のＩＰアドレスは、ＤＨＣＰによって割り当ててもよい。この場合、ＤＨＣＰは、ＩＰアドレスの静的割り当てを行う構成としてもよい。かかる構成としても、第１のテーブル１３１および第２のテーブル１３２における対応関係を適正に維持できる。
【００７４】
また、電子機器３０，４０のＩＰアドレスは、必ずしも固定的に割り当てる必要はない。例えば、中継装置１００がＤＨＣＰ機能を有し、ＩＰアドレスの動的割り当てを行う場合には、ＣＰＵ１１０は、ＩＰアドレスの割り当てを行う際に、変更前後のＩＰアドレスに基づいて、第１のテーブル１３１および第２のテーブル１３２を更新してもよい。かかる構成は、電子機器３０，４０のＩＰアドレスが変更されたとしても、第１のテーブル１３１および第２のテーブル１３２における対応関係を適正に維持できる。あるいは、ＣＰＵ１１０がＡＲＰテーブル１２１を参照して、第１のテーブル１３１を更新する頻度は、ＡＲＰテーブル１２１のタイムアウト削除の期間よりも短い期間で設定されてもよい。かかる構成は、ＩＰアドレスの変更状況をほぼリアルタイムに第１のテーブル１３１に反映することができる。あるいは、ＣＰＵ１１０は、中継装置１００がＡＲＰ応答を受信したことをフックし、そのたびにＡＲＰテーブル１２１を参照して、第１のテーブル１３１を更新してもよい。かかる構成は、ＩＰアドレスを動的に割り当てても、ＩＰアドレスの変更状況をリアルタイムに第２のテーブル１３２に反映することができる。
【００７５】
Ｂ−９．変形例９：
中継装置１００は、第２のテーブル１３２に登録された宛先ポート番号のうち、一部の宛先ポート番号についてのみ、ステップＳ３１０の検索対象としてもよい。つまり、中継装置１００は、従来の静的ＮＡＰＴのみに使用する宛先ポート番号と、起動処理と従来の静的ＮＡＰＴとに使用する宛先ポート番号とを分けて管理してもよい。
【００７６】
Ｂ−１０．変形例１０：
中継装置１００は、動的ＮＡＰＴに代えて、ＮＡＴを利用した通信パケットの転送処理を実現可能に構成されてもよい。この場合、中継装置１００は、ステップＳ２１０（図４参照）において、動的ＮＡＰＴテーブル１２２に代えて、ＮＡＴテーブルに基づいて、ＩＰアドレスを取得してもよい。ＮＡＴテーブルには、中継装置１００に割り当てられた第２のネットワークＮＴ２でのＩＰアドレスと、ユーザが所望する１つの電子機器、例えば、電子機器３０に割り当てられた第１のネットワークＮＴ１でのＩＰアドレスとが対応付けて記憶される。中継装置１００は、第２のネットワークＮＴ２から通信パケットを受信すると、通信パケットに含まれる宛先ＩＰアドレス（中継装置１００に割り当てられた第２のネットワークＮＴ２でのＩＰアドレス）とＮＡＴテーブルとに基づいて、転送先を判断する。
【００７７】
Ｂ−１１．変形例１１：
上述の実施例では、電子機器３０，４０を起動させるプロトコルとして、ＷＯＬを例示したが、起動に使用するプロトコルは、特に限定するものではない。当該プロトコルは、電子機器３０，４０がサポートする任意のプロトコルとしてもよい。起動要求パケットは、使用するプロトコルに応じたフォーマットであればよい。
【００７８】
Ｂ−１２．変形例１２：
起動対象となる電子機器は、ＮＡＳに限らず、ネットワークを介して通信可能な種々の電子機器とすることができる。例えば、電子機器は、パーソナルコンピュータとしてもよいし、ネットワーク対応型の各種家電機器であってもよい。
【００７９】
Ｂ−１３．変形例１３：
第１のネットワークＮＴ１および第２のネットワークＮＴ２は、上述の例に限らず、相互にセグメントが異なるネットワークであればよい。例えば、第１のネットワークＮＴ１および第２のネットワークＮＴ２は、いずれもローカルエリアネットワークであってもよい。
【００８０】
以上、本発明の実施形態について説明したが、本発明は、このような実施形態に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、上述した各適用例の構成要素や、実施形態中の要素は、本願の課題の少なくとも一部を解決可能な態様、または、上述した各効果の少なくとも一部を奏する態様において、適宜、組み合わせ、省略、上位概念化を行うことが可能である。
【符号の説明】
【００８１】
２０…ネットワークシステム
３０，４０…電子機器
５０…端末
１００…中継装置
１１０…ＣＰＵ
１１１…判断部
１１２…送信部
１１３…確認部
１１４…応答部
１１５…学習部
１２０…ＲＡＭ
１２１…ＡＲＰテーブル
１２２…動的ＮＡＰＴテーブル
１３０…フラッシュＲＯＭ
１３１…第１のテーブル
１３２…第２のテーブル
１４０…第１のＬＡＮインタフェース
１５０…第２のＬＡＮインタフェース
ＮＴ１…第１のネットワーク
ＮＴ２…第２のネットワーク
【図１】
0005821576.tif 000002
【図２】
0005821576.tif 000003
【図３】
0005821576.tif 000004
【図４】
0005821576.tif 000005
【図５】
0005821576.tif 000006