(57)【要約】【課題】設定負担を軽減するゲートウェイ装置を提供すること。【解決手段】アクセス対象となる機器に第１ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、機器にアクセスする操作端末に第２ローカルネットワークを介して接続されたゲートウェイであって、機器に関する機器情報の取得を要求する第１メッセージを仲介サーバに送信する外部情報要求部２２１と、機器情報を含む第２メッセージを仲介サーバから受信する外部情報受信部２２２と、受信した第２メッセージに含まれる機器情報に基づいて、機器の仮想デバイスを生成する生成部２４１と、を備えた。【選択図】        図２
2008017122.tif 000002
【特許請求の範囲】
【請求項１】
アクセス対象となる機器に第１ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第２ローカルネットワークを介して接続されたゲートウェイ装置であって、
前記機器に関する機器情報の取得を要求する第１メッセージを前記仲介サーバに送信する外部情報要求手段と、
前記機器情報を含む第２メッセージを前記仲介サーバから受信する外部情報受信手段と、
受信した前記第２メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成手段と、
を備えたことを特徴とするゲートウェイ装置。
【請求項２】
前記外部ゲートウェイ装置のグローバルアドレスを記憶可能な記憶手段と、
前記仮想デバイスに対するアクセス要求である第３メッセージを前記操作端末から受信する外部アクセス要求受信手段と、
前記第３メッセージを受信した場合に、前記外部ゲートウェイ装置との通信の確立を要求する第４メッセージを前記仲介サーバに送信する通信確立要求手段と、
送信した前記第４メッセージに対する応答であり、前記グローバルアドレスを含む第５メッセージを前記仲介サーバから受信し、受信した前記第５メッセージに含まれる前記グローバルアドレスを前記記憶手段に記憶する確立応答受信手段と、をさらに備えたこと、
を特徴とする請求項１に記載のゲートウェイ装置。
【請求項３】
前記生成手段は、前記仮想デバイスを生成した場合、前記ローカルアドレスを前記グローバルアドレスと対応づけて前記記憶手段に保存すること、
を特徴とする請求項２に記載のゲートウェイ装置。
【請求項４】
前記外部アクセス要求受信手段は、前記ローカルアドレスを含む前記第３メッセージを受信し、
前記第３メッセージに含まれる前記ローカルアドレスに対応する前記グローバルアドレスを前記記憶手段から取得し、前記第３メッセージに含まれる前記ローカルアドレスを、取得した前記グローバルアドレスで変換するローカルアドレス変換手段と、
前記ローカルアドレスを変換した前記第３メッセージを、確立された通信を介して前記外部ゲートウェイ装置に転送する外部アクセス要求転送手段と、
送信した前記第３メッセージに対する応答であり、前記グローバルアドレスを含む第６メッセージを、確立された通信を介して前記外部ゲートウェイ装置から受信する外部アクセス応答受信手段と、
前記第６メッセージに含まれる前記グローバルアドレスに対応する前記ローカルアドレスを前記記憶手段から取得し、前記第６メッセージに含まれる前記グローバルアドレスを、取得した前記ローカルアドレスで変換するグローバルアドレス変換手段と、
前記グローバルアドレスを変換した前記第６メッセージを前記操作端末に転送する外部アクセス応答転送手段と、をさらに備えたこと、
を特徴とする請求項３に記載のゲートウェイ装置。
【請求項５】
前記確立応答受信手段は、前記第５メッセージに含まれる前記グローバルアドレスと、前記記憶手段に記憶された前記グローバルアドレスを比較し、前記第５メッセージに含まれる前記グローバルアドレスと、前記記憶手段に記憶された前記グローバルアドレスとが一致しない場合に、前記第５メッセージに含まれる前記グローバルアドレスで前記記憶手段に記憶された前記グローバルアドレスを更新すること、
を特徴とする請求項２に記載のゲートウェイ装置。
【請求項６】
前記機器を識別する識別子を含む前記機器情報を記憶可能な記憶手段をさらに備え、
前記外部情報受信手段は、前記識別子を含む前記機器情報を含む前記第２メッセージを前記仲介サーバから受信し、受信した前記第２メッセージに含まれる前記機器情報を前記記憶手段に記憶すること、
を特徴とする請求項１に記載のゲートウェイ装置。
【請求項７】
前記第２メッセージに含まれる前記識別子と、前記記憶手段に記憶された前記機器情報に含まれる前記識別子とを比較し、前記記憶手段に記憶された前記機器情報に含まれる前記識別子と一致しない前記識別子が前記第２メッセージに含まれている場合に、前記第２メッセージに前記機器情報が追加されたことを検出する検出手段、をさらに備え、
前記生成手段は、前記機器情報が追加されたと判断された場合に、追加された前記機器情報に基づいて前記機器の仮想デバイスをさらに生成すること、
を特徴とする請求項６に記載のゲートウェイ装置。
【請求項８】
前記第２メッセージに含まれる前記識別子と、前記記憶手段に記憶された前記機器情報に含まれる前記識別子とを比較し、前記記憶手段に記憶された前記機器情報に含まれる前記識別子が前記第２メッセージに含まれていない場合に、前記記憶手段に記憶された前記機器情報が前記第２メッセージから削除されたことを検出する検出手段、をさらに備え、
前記機器情報が削除されたと判断された場合に、削除された前記機器情報に基づいて前記機器の仮想デバイスを停止する停止手段をさらに備えたこと、
を特徴とする請求項６に記載のゲートウェイ装置。
【請求項９】
前記仲介サーバとの間の通信接続を維持する第７メッセージを前記仲介サーバに送信する維持要求送信手段をさらに備え、
前記外部情報受信手段は、維持された通信接続を用いて前記第２メッセージを前記仲介サーバから受信すること、
を特徴とする請求項１に記載のゲートウェイ装置
【請求項１０】
前記確立応答受信手段は、前記第５メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、
を特徴とする請求項２に記載のゲートウェイ装置。
【請求項１１】
アクセスの対象となる機器と前記機器にアクセスする第１操作端末とに第１ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第２操作端末に第２ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置であって、
前記機器に関する機器情報を記憶可能な記憶手段と、
前記機器情報の取得を要求する第１メッセージを前記機器に送信する内部情報要求手段と、
前記機器情報を含む第２メッセージを前記機器から受信し、受信した前記第２メッセージに含まれる前記機器情報を前記記憶手段に記憶する内部情報受信手段と、
前記機器情報の取得を要求する第３メッセージを前記仲介サーバから受信する情報要求受信手段と、
前記情報要求受信手段が前記第３メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第４メッセージを前記仲介サーバに送信する内部情報送信手段と、
を備えたことを特徴とするゲートウェイ装置。
【請求項１２】
通信の確立を要求する第５メッセージを前記仲介サーバから受信する確立要求受信手段と、
前記第５メッセージに対する応答であり、前記グローバルアドレスを含む第６メッセージを送信する確立応答送信手段と、をさらに備えたこと、
を特徴とする請求項１１に記載のゲートウェイ装置。
【請求項１３】
前記記憶手段は、前記機器のアドレスであるローカルアドレスを含む前記機器情報を記憶可能であり、
前記内部情報受信手段は、前記ローカルアドレスを含む前記機器情報を含む前記第２メッセージを前記機器から受信し、受信した前記第２メッセージに含まれる前記機器情報を前記記憶手段に記憶すること、
を特徴とする請求項１２に記載のゲートウェイ装置。
【請求項１４】
前記グローバルアドレスを含み、前記機器に対するアクセス要求である第７メッセージを、前記外部ゲートウェイ装置から受信する内部アクセス要求受信手段と、
前記第７メッセージでアクセスが要求された前記機器の前記ローカルアドレスを前記記憶手段から取得し、前記第７メッセージに含まれる前記グローバルアドレスを、取得した前記ローカルアドレスで変換するグローバルアドレス変換手段と、
前記グローバルアドレスを変換した前記第７メッセージを前記機器に転送する内部アクセス要求転送手段と、
送信した前記第７メッセージに対する応答であり、前記ローカルアドレスを含む第８メッセージを前記機器から受信する内部アクセス応答受信手段と、
前記第８メッセージに含まれる前記ローカルアドレスを前記グローバルアドレスで変換するローカルアドレス変換手段と、
前記ローカルアドレスを変換した前記第８メッセージを前記外部ゲートウェイ装置に転送する内部アクセス応答転送手段と、をさらに備えたこと、
を特徴とする請求項１３に記載のゲートウェイ装置。
【請求項１５】
前記内部情報受信手段は、さらに前記第１ネットワークに新たに接続された前記機器から前記第２メッセージを受信し、受信した前記第２メッセージに含まれる前記機器情報を前記記憶手段に記憶すること、
を特徴とする請求項１１に記載のゲートウェイ装置。
【請求項１６】
前記内部情報受信手段は、さらに前記第１ネットワークから離脱したことを示す第９メッセージを前記機器から受信し、前記第９メッセージを受信した前記機器の前記機器情報を前記記憶手段から削除し、
前記内部情報送信手段は、前記情報要求受信手段が前記第３メッセージを受信した場合に、前記第４メッセージを送信すること、
を特徴とする請求項１１に記載のゲートウェイ装置。
【請求項１７】
前記記憶手段は、前記機器のアドレスであるローカルアドレスを含む前記機器情報を記憶可能であり、
前記内部情報受信手段は、前記ローカルアドレスを含む前記第２メッセージを受信し、受信した前記第２メッセージに含まれる前記ローカルアドレスと、前記記憶手段に記憶された前記ローカルアドレスとを比較し、前記第２メッセージに含まれる前記ローカルアドレスと、前記記憶手段に記憶された前記ローカルアドレスとが一致しない場合に、前記第２メッセージに含まれる前記ローカルアドレスで前記記憶手段に記憶された前記アドレスを更新し、
前記内部情報送信手段は、前記内部情報受信手段が前記アドレスを更新した場合は、前記第４メッセージを送信しないこと、
を特徴とする請求項１１に記載のゲートウェイ装置。
【請求項１８】
前記記憶手段は、さらに前記機器に対する前記第２端末装置からのアクセス可否を表す公開ポリシーを含む前記機器情報を記憶可能であり、
変更すべき前記公開ポリシーを含む第１０メッセージを前記第１操作端末から受信し、受信した前記第１０メッセージに基づいて前記記憶手段に記憶された前記公開ポリシーを更新するポリシー更新手段をさらに備え、
前記内部情報送信手段は、前記第２端末装置からのアクセスを許可する前記公開ポリシーを含む前記機器情報を前記記憶手段から取得し、取得した前記機器情報を含む前記第４メッセージを送信すること、
を特徴とする請求項１１に記載のゲートウェイ装置。
【請求項１９】
前記記憶手段は、さらに前記機器の機種、表示名を含む機器詳細情報を含む前記機器情報を記憶可能であり、
前記内部情報送信手段は、前記機器詳細情報を含む前記機器情報を前記記憶手段から取得し、取得した前記機器情報を含む前記第４メッセージを送信すること、
を特徴とする請求項１１に記載のゲートウェイ装置。
【請求項２０】
前記確立要求受信手段は、前記第５メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、
を特徴とする請求項１２に記載のゲートウェイ装置。
【請求項２１】
アクセス対象となる機器に第１ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第２ローカルネットワークを介して接続されたゲートウェイ装置における通信方法であって、
外部情報要求手段によって、前記機器に関する機器情報の取得を要求する第１メッセージを前記仲介サーバに送信する外部情報要求ステップと、
前記機器情報を含む第２メッセージを前記仲介サーバから受信する外部情報受信ステップと、
生成手段によって、受信した前記第２メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成ステップと、
を備えたことを特徴とする通信方法。
【請求項２２】
アクセスの対象となる機器と前記機器にアクセスする第１操作端末とに第１ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第２操作端末に第２ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置における通信方法であって、
内部情報要求手段によって、前記機器情報の取得を要求する第１メッセージを前記機器に送信する内部情報要求ステップと、
前記機器情報を含む第２メッセージを前記機器から受信し、受信した前記第２メッセージに含まれる前記機器情報を記憶手段に記憶する内部情報受信ステップと、
前記機器情報の取得を要求する第３メッセージを前記仲介サーバから受信する情報要求受信ステップと、
前記情報要求受信ステップが前記第３メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第４メッセージを前記仲介サーバに送信する内部情報送信ステップと、
を備えたことを特徴とする通信方法。
【請求項２３】
アクセス対象となる機器に第１ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第２ローカルネットワークを介して接続されたゲートウェイ装置における通信プログラムであって、
前記機器に関する機器情報の取得を要求する第１メッセージを前記仲介サーバに送信する外部情報要求手順と、
前記機器情報を含む第２メッセージを前記仲介サーバから受信する外部情報受信手順と、
受信した前記第２メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成手順と、
をコンピュータに実行させる通信プログラム。
【請求項２４】
アクセスの対象となる機器と前記機器にアクセスする第１操作端末とに第１ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第２操作端末に第２ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置における通信プログラムであって、
前記機器情報の取得を要求する第１メッセージを前記機器に送信する内部情報要求手順と、
前記機器情報を含む第２メッセージを前記機器から受信し、受信した前記第２メッセージに含まれる前記機器情報を記憶手段に記憶する内部情報受信手順と、
前記機器情報の取得を要求する第３メッセージを前記仲介サーバから受信する情報要求受信手順と、
前記情報要求受信手順が前記第３メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第４メッセージを前記仲介サーバに送信する内部情報送信手順と、
をコンピュータに実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の宅内ネットワーク相互間の通信を中継するゲートウェイ装置、通信方法および通信プログラムに関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータのみならず、白物家電やＡＶ機器までもがネットワーク通信機能を搭載し、インターネットへの接続や、他の機器へのアクセスにより、単体では提供できなかった機能をユーザに対して提供可能となっている。
【０００３】
このようなネットワーク通信機能を搭載した家電機器の利用形態としては、インターネット上のｉＥＰＧ（Internet Electronic Program Guide）等のコンテンツとの連携のような宅内ネットワークから公衆網への一方向アクセス（以下、第１の利用形態と呼ぶ）、宅内のＡＶ機器間で映像コンテンツを転送するような宅内ネットワークに閉じた機器相互アクセス（以下、第２の利用形態と呼ぶ）、および、携帯電話からＰＶＲ（Personal Video Recorder）の録画予約を行うような公衆網から宅内ネットワークへの一方向アクセス（以下、第３の利用形態と呼ぶ）などが想定される。
【０００４】
一方、公衆網を経由して２つの宅内ネットワーク上の機器が相互アクセスするような利用形態（以下、第４の利用形態と呼ぶ）も想定される。第４の利用形態としては、例えば、親しい友人や親戚とプライベートなコンテンツ（映像、写真等）を相互に交換する利用形態、自分が録画した映画やテレビ番組を友人宅から自宅のＡＶ機器にアクセスして再生する利用形態、自宅の監視カメラの映像を知人宅や会社から確認する利用形態、宅内ネットワークに接続されたデジタルテレビを利用してビジュアルコミュニケーションを行う利用形態などが考えられる。
【０００５】
第４の利用形態の実現方式として、特許文献１では、宅内ネットワークである複数のホームネットと公衆網との間に存在するゲートウェイとして動作するＵＰｎＰ（Universal Plug and Play）デバイスプロキシを用いた技術が提案されている。
【０００６】
この技術では、宅内ネットワーク内の機器のＵＰｎＰデバイスのＳＳＤＰ（Simple Service Discovery Protocol）  ａｌｉｖｅパケット、またはＳＳＤＰ  ｂｙｅｂｙｅパケットを一方のＵＰｎＰデバイスプロキシが受信すると、他方のＵＰｎＰデバイスプロキシに公衆網経由で当該パケットを通知する。そして、パケットを受信したＵＰｎＰデバイスプロキシは、ＵＰｎＰデバイスが自身で管理する宅内ネットワーク内に存在するように見せかけるために、ＳＳＤＰプロトコルに変換して送信する。
【０００７】
【特許文献１】特開２００５−３１１７７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の方法では、ネットワークや装置の設定の負担が大きいという問題があった。例えば、特許文献１の方法では、ＵＰｎＰデバイスプロキシ装置登録サーバ等を用いて事前にＩＰアドレスやホスト名等の登録処理を行う必要があった。このため、動的なアドレス変化に追従できなかった。
【０００９】
また、特許文献１の方法では、ＮＡＴ（Network Address Translation）を越えた通信を行うことができなかった。このため、ＵＰｎＰデバイスプロキシ装置をＮＡＴ配下でも利用するためには、ＮＡＴを手動で設定し、適切なポートフォワードを可能とする必要がある。この場合、メッセージに含まれるアドレス情報をＮＡＴの設定に合わせて変換するためのルールを手動で登録しなければならない。
【００１０】
また、ＵＰｎＰデバイスプロキシ装置または宅内ネットワーク内の機器である宅内機器のアドレスが変化した場合は、それに合わせてＵＰｎＰデバイスプロキシ装置の設定を変更しなければならない。さらに、常に双方のＵＰｎＰデバイスプロキシ装置がお互いの認識する固定ポート番号をあけておかなければならないといった設定の複雑さに関わる問題が存在する。
【００１１】
また、ＵＰｎＰデバイスプロキシ装置は、ＵＰｎＰデバイスの公開、非公開を設定する方法も持たないため、配下のＵＰｎＰデバイスがＵＰｎＰデバイスプロキシ装置を介して全て公開されるという問題もあった。
【００１２】
また、ＵＰｎＰデバイスプロキシ装置は、受信したＳＳＤＰパケットをそのまま（あるいは変換して）、もう一方の装置に公衆網経由で通知するが、ＳＳＤＰパケットは実際上、非常に頻繁に送信されるものであり、常に公衆網からＳＳＤＰパケットを受信したり、公衆網に対してＳＳＤＰパケットを送信したりすることは、セキュリティ上、および中継装置への処理負荷上、問題がある。
【００１３】
本発明は、上記に鑑みてなされたものであって、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができ、かつ、ＮＡＴを越えた通信を行うことができるゲートウェイ装置、通信方法および通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、アクセス対象となる機器に第１ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第２ローカルネットワークを介して接続されたゲートウェイ装置であって、前記機器に関する機器情報の取得を要求する第１メッセージを前記仲介サーバに送信する外部情報要求手段と、前記機器情報を含む第２メッセージを前記仲介サーバから受信する外部情報受信手段と、受信した前記第２メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成手段と、を備えたことを特徴とする。
【００１５】
また、本発明は、アクセスの対象となる機器と前記機器にアクセスする第１操作端末とに第１ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第２操作端末に第２ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置であって、前記機器に関する機器情報を記憶可能な記憶手段と、前記機器情報の取得を要求する第１メッセージを前記機器に送信する内部情報要求手段と、前記機器情報を含む第２メッセージを前記機器から受信し、受信した前記第２メッセージに含まれる前記機器情報を前記記憶手段に記憶する内部情報受信手段と、前記機器情報の取得を要求する第３メッセージを前記仲介サーバから受信する情報要求受信手段と、前記情報要求受信手段が前記第３メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第４メッセージを前記仲介サーバに送信する内部情報送信手段と、を備えたことを特徴とする。
【００１６】
また、本発明は、上記装置を実行することができる通信方法および通信プログラムである。
【発明の効果】
【００１７】
本発明によれば、通信に必要な情報を、仲介サーバを介して通知することができるため、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができるという効果を奏する。
【００１８】
また、各ゲートウェイ装置が、仲介サーバとの通信コネクションを維持し続けることにより、ＮＡＴ配下の機器であっても、外部情報を受信することができる。また、宅内ネットワークのネットワークトポロジが変化したときのみ、相手に情報を通知する仕組みを取るため、無駄なメッセージを公衆網経由で送受する必要がないという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、この発明にかかるゲートウェイ装置、通信方法および通信プログラムの最良な実施の形態を詳細に説明する。
【００２０】
本実施の形態にかかるゲートウェイ装置は、公衆網を介して互いに通信を行う外部のゲートウェイ装置との間で、通信に必要なゲートウェイ装置の情報や内部ネットワークの機器の情報を、仲介サーバを介して相互に通知するものである。
【００２１】
図１は、本実施の形態にかかるゲートウェイ装置を含む通信システムのネットワーク構成の一例を示す説明図である。同図に示すように本通信システムは、ローカルネットワークである宅内ネットワーク２０ａと、インターネットなどのグローバルネットワークである宅外ネットワーク１０とを接続するゲートウェイ２００ａと、ローカルネットワークである宅内ネットワーク２０ｂと、宅外ネットワーク１０とを接続するゲートウェイ２００ｂを含んでいる。
【００２２】
宅内ネットワーク２０ａ、２０ｂは、例えばＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２ネットワークなどのＬＡＮ（Local Area Network）である。宅内ネットワーク２０ａには、ＵＰｎＰ  ＡＶに準拠したＰＶＲ３０１ａと、操作端末４０１ａとが接続されている。宅内ネットワーク２０ｂには、ＰＶＲ３０１ｂ、ＰＶＲ３０２ｂと、操作端末４０１ｂとが接続されている。
【００２３】
ＰＶＲ３０１ａ、３０１ｂ、およびＰＶＲ３０２ｂは、ＵＰｎＰ  ＡＶ（Audio Video）に準拠した機器であり、例えば、マルチメディアコンテンツ（フォルダおよびコンテンツ）を記憶したメディアサーバ装置（ＭＳＤ：Media Server Device）である。
【００２４】
操作端末４０１ａ、４０１ｂは、例えばパーソナルコンピュータやデジタルテレビに搭載されたＵＰｎＰコントロールポイント機能と、マルチメディアコンテンツ再生表示機能とを有したアプリケーションを実行する端末である。
【００２５】
ゲートウェイ２００ａ、２００ｂは、宅外ネットワーク１０上では、ＳＩＰ端末装置として振る舞い、互いに他のゲートウェイが公開するＵＰｎＰデバイスの情報を取得する機能を有する。
【００２６】
また、ゲートウェイ２００ａ、２００ｂは、互いに他のゲートウェイから取得したＵＰｎＰデバイス情報に応じて、任意の数の仮想的なＵＰｎＰデバイスをそれぞれ宅内ネットワーク２０ａ、２０ｂに公開する機能を有する。
【００２７】
さらに、ゲートウェイ２００ａ、２００ｂは、それぞれ宅内ネットワーク２０ａ、２０ｂ上のＵＰｎＰデバイス情報を集積し、ＳＩＰの枠組みで集積した情報を互いにゲートウェイ２００ｂに公開する機能を有している。
【００２８】
このように、ゲートウェイ２００ａ、２００ｂは、それぞれ宅内ネットワーク２０ａ、２０ｂ上では、ＵＰｎＰのコントロールポイント、かつ、ＵＰｎＰデバイスとして振舞うような機能を有する。
【００２９】
宅外ネットワーク１０には、仲介サーバ１００が接続されている。仲介サーバ１００は、ＳＩＰレジストラ、およびＳＩＰプロキシとして振舞う。すなわち、仲介サーバ１００は、ＳＩＰレジストラの機能として、ゲートウェイ２００ｂ、およびゲートウェイ２００ａからの認証要求や登録要求を受け付け、各ゲートウェイ２００の情報を保持する。
【００３０】
また、仲介サーバ１００は、ＳＩＰプロキシの機能として、ゲートウェイ２００ａとゲートウェイ２００ｂとの間のＳＩＰ通信を中継する。
【００３１】
仲介サーバ１００は、ゲートウェイ２００ａとゲートウェイ２００ｂとが、双方の配下に接続された各ＰＶＲのリモートコントロールや、各ＰＶＲが保持するマルチメディアコンテンツの送受信が許可されているか否かを判断するなど、アクセス制御を行う機能も有する。さらに、仲介サーバ１００は、ゲートウェイ２００ａとゲートウェイ２００ｂが、リモートコントロールやマルチメディアコンテンツの送受信を行うことを許可するための登録を行う機能を有する。
【００３２】
なお、ゲートウェイ２００ａ、２００ｂは同一の構成を有するため、以下では、単にゲートウェイ２００という場合がある。同様に、宅内ネットワーク２０ａ、２０ｂを宅内ネットワーク２０と、ＰＶＲ３０１ａ、３０１ｂをＰＶＲ３０１と、操作端末４０１ａ、４０１ｂを操作端末４０１という場合がある。
【００３３】
また、相互接続する宅内ネットワーク２０やゲートウェイ２００は２つに限られるものではないし、宅内ネットワーク２０内のＰＶＲ３０１や操作端末４０１の個数にも制限はない。すなわち、任意の個数のＰＶＲ３０１を、任意の個数の外部のネットワークに対して公開して、任意の個数の操作端末４０１から操作することができる。
【００３４】
図２は、本実施の形態にかかるゲートウェイ２００の構成を示すブロック図である。同図に示すように、ゲートウェイ２００は、ゲートウェイ情報登録部２１０と、ゲートウェイ情報取得部２２０と、ゲートウェイ情報公開部２３０と、遠隔機器情報公開部２４０と、通信内容変更部２５０と、宅内機器情報取得部２６０と、宅内機器情報公開部２７０と、宅内機器情報アクセス制御部２８０と、記憶部２９０と、を備えている。
【００３５】
以下では、ゲートウェイ２００ａ側から見た各構成の機能を説明するが、ゲートウェイ２００ｂも同様の機能を有することは上述のとおりである。
【００３６】
ゲートウェイ情報登録部２１０は、ゲートウェイ２００ａの情報を仲介サーバ１００に登録するものである。具体的には、ゲートウェイ情報登録部２１０は、ＳＩＰ  ＲＥＧＩＳＴＥＲリクエストを仲介サーバ１００に送信することにより、ゲートウェイ２００ａの情報を登録する。
【００３７】
また、ゲートウェイ情報登録部２１０は、維持要求送信部２１１を備えている。維持要求送信部２１１は、仲介サーバ１００との通信接続を維持するために、通信接続がタイムアウトする時間よりも短い周期で、仲介サーバ１００対して通信パケットを定期的に送信するものである。
【００３８】
ゲートウェイ情報取得部２２０は、他のゲートウェイ装置であるゲートウェイ２００ｂの情報を取得するものである。ゲートウェイ情報取得部２２０は、外部情報要求部２２１と、外部情報受信部２２２と、検出部２２３と、を備えている。
【００３９】
外部情報要求部２２１は、仲介サーバ１００を介して、ＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストをゲートウェイ２００ｂに送信することにより、ゲートウェイ２００ｂの情報やゲートウェイ２００ｂの配下の機器の情報の取得を要求するものである。配下の機器とは、宅内ネットワーク２０ｂに接続されたＰＶＲ３０１ｂ、３０２ｂなどの機器をいう。
【００４０】
外部情報受信部２２２は、情報の取得要求に対してゲートウェイ２００ｂが返信した情報を、仲介サーバ１００を介して受信するものである。
【００４１】
検出部２２３は、外部情報受信部２２２により受信された情報と、過去に受信して記憶部２９０に記憶された情報とを比較することにより、ゲートウェイ２００ｂの配下の機器が宅内ネットワーク２０ｂに対して追加または削除されたか否かを検出するものである。検出部２２３による検出方法の詳細については後述する。
【００４２】
ゲートウェイ情報公開部２３０は、ゲートウェイ２００ｂから情報の取得要求を受信した場合に、ゲートウェイ２００ａの情報や宅内ネットワーク２０ａの配下の機器の情報を、ゲートウェイ２００ｂに対して送信することにより、これらの情報を公開するものである。ゲートウェイ情報公開部２３０は、情報要求受信部２３１と、内部情報送信部２３２と、を備えている。
【００４３】
情報要求受信部２３１は、ゲートウェイ２００ｂから送信された情報取得要求であるＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストを、仲介サーバ１００を介して受信するものである。また、情報要求受信部２３１は、ＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストに対する２００ＯＫレスポンスを、仲介サーバ１００を介してゲートウェイ２００ｂに送信する。
【００４４】
内部情報送信部２３２は、受信したＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストに対し、記憶部２９０に記憶されている機器の情報やゲートウェイ２００ａの情報をＳＩＰ  ＮＯＴＩＦＹリクエストを用いて送信するものである。
【００４５】
遠隔機器情報公開部２４０は、ゲートウェイ２００ｂの配下の機器（遠隔機器）をソフトウェアで模擬実行する仮想デバイスを生成して公開することにより、当該機器が、ゲートウェイ２００ａが管理する宅内ネットワーク２０ａ内の機器であるかのようにアクセス可能とするものである。
【００４６】
遠隔機器情報公開部２４０は、生成部２４１と、停止部２４２と、外部アクセス要求受信部２４３と、通信確立要求部２４４と、確立応答受信部２４５と、外部アクセス要求転送部２４６と、外部アクセス応答受信部２４７と、外部アクセス応答転送部２４８と、を含んでいる。
【００４７】
生成部２４１は、外部情報受信部２２２が受信したゲートウェイ２００ｂの配下の機器の情報に従って、当該機器の仮想デバイスを生成するものである。具体的には、生成部２４１は、未使用のローカルＩＰアドレスおよびローカルポート番号を割り当てた仮想デバイスを生成する。
【００４８】
生成した仮想デバイスプロセスは、初期状態では、宅内ネットワーク２０ａ上でのＳＳＤＰ通信機能のみを有し、起動時には、ＳＳＤＰ  ａｌｉｖｅメッセージを定期的に送信し、停止されるときには、ＳＳＤＰ  ｂｙｅｂｙｅメッセージを送信し、ＳＳＤＰ  ｄｉｓｃｏｖｅｒメッセージを受信すると、適切なレスポンスを返す。
【００４９】
通信が確立され、対応する機器のデバイスディスクリプション情報を取得して機器情報テーブル２９１に記憶した後は、仮想デバイスプロセスは、ＳＳＤＰ通信機能（ＵＰｎＰのＤｉｓｃｏｖｅｒｙステップ）のみならず、ディスクリプション提供機能（ＵＰｎＰのＤｅｓｃｒｉｐｔｉｏｎステップ）も実行可能となる。
【００５０】
停止部２４２は、検出部２２３により、ゲートウェイ２００ｂの配下の機器が宅内ネットワーク２０ｂから削除されたことが検出された場合に、対応する機器の仮想デバイスを停止するものである。
【００５１】
外部アクセス要求受信部２４３は、ゲートウェイ２００ａの配下の操作端末４０１ａから、仮想デバイスに対するアクセス要求を受信するものである。アクセス要求とは、操作端末４０１ａが送信したディスクリプション要求、アクション要求、クエリ要求（ＵＰｎＰのＣｏｎｔｒｏｌステップ）や、イベント取得要求（ＵＰｎＰのＥｖｅｎｔｉｎｇステップ）などの機器に対する各種処理を要求するメッセージをいう。
【００５２】
通信確立要求部２４４は、操作端末４０１ａから仮想デバイスに対するアクセス要求を受信した場合に、当該仮想デバイスに対応する機器を管理するゲートウェイ２００ｂに対して、仲介サーバ１００を介して通信の確立を要求するものである。
【００５３】
具体的には、通信確立要求部２４４は、ＳＤＰ（Session Description Protocol）で表した情報であり、通信確立に必要な情報をペイロードに含むＳＩＰ  ＩＮＶＩＴＥリクエストを仲介サーバ１００に対して送信する。
【００５４】
確立応答受信部２４５は、通信確立の要求に対して仲介サーバ１００から返信された応答を受信するものである。具体的には、確立応答受信部２４５は、通信確立の要求に対してゲートウェイ２００ｂが返信したメッセージであり、アクセス対象の機器のグローバルアドレスである外部公開ＩＰアドレスおよび外部公開ポート番号と、ディスクリプションパスとをペイロード部に含むＳＩＰ  ２００ＯＫを、仲介サーバ１００を介して受信する。この際、確立応答受信部２４５は、受信した外部公開ＩＰアドレス等の情報を記憶部２９０に記憶する。また、例えば、確立応答受信部２４５は、このとき通信確立要求時に提示した外部公開ポート番号を開いてもよい。
【００５５】
外部アクセス要求転送部２４６は、通信が確立した場合に、確立した通信を用いて、アクセス要求をゲートウェイ２００ｂに転送するものである。この際、外部アクセス要求転送部２４６は、後述するローカルアドレス変換部２５１がアドレスを変換したアクセス要求を、ゲートウェイ２００ｂに転送する。
【００５６】
外部アクセス応答受信部２４７は、外部アクセス要求転送部２４６が転送したアクセス要求に対し、ゲートウェイ２００ｂが返信した応答メッセージを受信するものである。具体的には、外部アクセス応答受信部２４７は、ディスクリプション要求などのＨＴＴＰメッセージに対してゲートウェイ２００ｂが返信した、ディスクリプション情報などを含むＨＴＴＰレスポンスを受信する。
【００５７】
外部アクセス応答転送部２４８は、外部アクセス応答受信部２４７が受信したアクセス要求に対する応答メッセージを、アクセス要求を行った操作端末４０１ａに転送するものである。この際、外部アクセス応答転送部２４８は、後述するグローバルアドレス変換部２５２がアドレスを変換した応答メッセージを、操作端末４０１ａに転送する。
【００５８】
通信内容変更部２５０は、ゲートウェイ２００ｂとの間で送受信するメッセージ内のアドレスを変換するものであり、ローカルアドレス変換部２５１と、グローバルアドレス変換部２５２とを備えている。
【００５９】
ローカルアドレス変換部２５１は、メッセージ内のローカルアドレスを外部との通信に利用可能なグローバルアドレスに変換するものである。具体的には、ローカルアドレス変換部２５１は、操作端末４０１ａにより送信されたアクセス要求のメッセージに含まれる仮想デバイスのローカルアドレスを、当該仮想アドレスに対応する機器にアクセスするためのアドレスであり、ゲートウェイ２００ｂから受信したグローバルアドレスに変換する。
【００６０】
また、ローカルアドレス変換部２５１は、ゲートウェイ２００ｂからのアクセス要求に対してＰＶＲ３０１ａが返信した応答メッセージ内のローカルアドレスを、ゲートウェイ２００ａの外部公開用のアドレスに変換する。
【００６１】
グローバルアドレス変換部２５２は、メッセージ内のグローバルアドレスを宅内ネットワーク２０ａ内部の装置との通信に利用可能なローカルアドレスに変換するものである。具体的には、グローバルアドレス変換部２５２は、アクセス要求に対してゲートウェイ２００ｂから返信された応答メッセージ内のグローバルアドレスを、アクセス要求の送信先であった仮想デバイスのローカルアドレスに変換する。
【００６２】
また、グローバルアドレス変換部２５２は、ゲートウェイ２００ｂからのアクセス要求に含まれるグローバルアドレス（ゲートウェイ２００ａの外部公開アドレス）を、アクセス要求の対象であるＰＶＲ３０１ａのローカルアドレスに変換する。
【００６３】
宅内機器情報取得部２６０は、宅内ネットワーク２０ａ内の機器であるＰＶＲ３０１ａの情報を取得するものである。宅内機器情報取得部２６０は、内部情報要求部２６１と、内部情報受信部２６２とを備えている。
【００６４】
内部情報要求部２６１は、ＰＶＲ３０１ａに対してＳＳＤＰ  ｄｉｓｃｏｖｅｒメッセージ、およびＰＶＲ３０１ａのデバイスディスクリプションを取得するためのＨＴＴＰ  ＧＥＴリクエストメッセージを送信するものである。
【００６５】
内部情報受信部２６２は、ＳＳＤＰ  ｄｉｓｃｏｖｅｒメッセージに対する応答、またはＨＴＴＰ  ＧＥＴリクエストメッセージに対して返信されたＰＶＲ３０１ｂのデバイスディスクリプションを受信するものである。また、内部情報受信部２６２は、受信したデバイスディスクリプションに含まれる機器の情報を記憶部２９０に保存する。
【００６６】
宅内機器情報公開部２７０は、宅内ネットワーク２０ａ内の機器であるＰＶＲ３０１ａの情報をゲートウェイ２００ｂに送信することにより、ゲートウェイ２００ｂから操作可能とするものである。
【００６７】
宅内機器情報公開部２７０は、ＳＩＰシグナリング通信機能と、ＳＩＰシグナリング通信によって構築されるデータチャネルを利用した任意のＩＰベースのプロトコル通信機能を有し、それぞれの通信機能を介した他のゲートウェイ装置からのメッセージ受信をトリガとして起動される。
【００６８】
宅内機器情報公開部２７０は、確立要求受信部２７１と、確立応答送信部２７２と、内部アクセス要求受信部２７３と、内部アクセス要求転送部２７４と、内部アクセス応答受信部２７５と、内部アクセス応答転送部２７６と、を備えている。
【００６９】
確立要求受信部２７１は、ゲートウェイ２００ｂが送信した通信確立の要求を、仲介サーバ１００を介して受信するものである。具体的には、確立要求受信部２７１は、ＳＩＰシグナリング通信機能を介してＳＩＰ  ＩＮＶＩＴＥリクエストを受信する。
【００７０】
確立応答送信部２７２は、受信した通信確立の要求に対する応答を、仲介サーバ１００を介してゲートウェイ２００ｂに送信するものである。具体的には、確立応答送信部２７２は、ゲートウェイ２００ａのグローバルアドレスである外部公開ＩＰアドレスおよび外部公開ポート番号と、ディスクリプションパスとをペイロード部に含むＳＩＰ  ２００ＯＫを、仲介サーバ１００に送信する。
【００７１】
この際、確立応答送信部２７２は、確立要求受信部２７１が受信したＳＩＰ  ＩＮＶＩＴＥリクエストのペイロードに含まれるＳＤＰ情報のメディア属性情報として含まれるパス情報と機器情報テーブル２９１を参照し、アクセス対象となる宅内機器を判別する。そして、当該宅内機器へのアクセスに割り当てた外部公開ポート番号をＳＩＰ  ＩＮＶＩＴＥリクエストに対するレスポンスのメディア情報として返す。また、例えば、確立応答送信部２７２は、このときメディア情報に指定した外部公開ポート番号を開いてもよい。
【００７２】
なお、宅内機器情報公開部２７０は、確立応答送信部２７２が応答したポート番号を開いて通信を開始する。
【００７３】
内部アクセス要求受信部２７３は、ＰＶＲ３０１ａに対するアクセス要求をゲートウェイ２００ｂから受信するものである。例えば、ゲートウェイ２００ｂが生成したＰＶＲ３０１ａに対応する仮想デバイスに対して、操作端末４０１ｂがアクセス要求を行った場合に、当該アクセス要求がゲートウェイ２００ｂを介して転送され、内部アクセス要求受信部２７３によって受信される。
【００７４】
内部アクセス要求転送部２７４は、内部アクセス要求受信部２７３が受信したアクセス要求をＰＶＲ３０１ａに転送するものである。この際、内部アクセス要求転送部２７４は、アクセス要求に含まれるポート番号からアクセス対象の宅内機器を判定し、グローバルアドレス変換部２５２がアドレスを変換したアクセス要求を、ＰＶＲ３０１ａに転送する。
【００７５】
内部アクセス応答受信部２７５は、アクセス要求を転送したＰＶＲ３０１ａから、当該アクセス要求に対する応答を受信するものである。
【００７６】
内部アクセス応答転送部２７６は、内部アクセス応答受信部２７５が受信したアクセス要求に対する応答メッセージを、ゲートウェイ２００ｂに転送するものである。この際、内部アクセス応答転送部２７６は、ローカルアドレス変換部２５１がアドレスを変換した応答メッセージを、ゲートウェイ２００ｂに転送する。
【００７７】
宅内機器情報アクセス制御部２８０は、宅内ネットワーク２０ａの機器の公開ポリシーを制御するものであり、ポリシー更新部２８１を備えている。公開ポリシーとは、当該機器を外部ネットワークからアクセス可能とするか否かを表す情報をいう。
【００７８】
ポリシー更新部２８１は、操作端末４０１ａから、公開ポリシーを変更する機器の情報を受信し、受信した公開ポリシーで当該機器の公開ポリシーを更新するものである。
【００７９】
ポリシー更新部２８１を含む宅内機器情報アクセス制御部２８０の機能は、例えば、公開ポリシー情報を設定するための機能を備えたＵＰｎＰデバイスとして提供するように構成することができる。すなわち、宅内のＵＰｎＰ機器のポリシー設定情報を取得するアクションや、各ＵＰｎＰ機器のポリシー設定を行うアクションがＵＰｎＰサービスとして提供される。
【００８０】
記憶部２９０は、ゲートウェイ２００を介した通信に必要な情報を記憶する機器情報テーブル２９１を格納している。図３は、機器情報テーブル２９１のデータ構造の一例を示す説明図である。
【００８１】
同図に示すように、機器情報テーブル２９１は、アクセス対象となる機器を一意に識別する時不変のデバイス識別情報であるＵＵＩＤ（Universal Unique Identifier）と、機器のローカルＩＰアドレスと、ローカルポート番号と、機器が所属するゲートウェイのＳＩＰアドレスと、外部公開ＩＰアドレスと、ＳＩＰ通信用外部公開ポート番号と、ＨＴＴＰ（HyperText Transfer Protocol）通信用外部公開ポート番号と、公開ポリシーと、ロケーションと、ディスクリプションパスと、デバイスタイプと、内部デバイス情報と、サービス情報と、を対応づけて格納している。
【００８２】
外部公開ＩＰアドレスとは、当該機器について外部に公開するＩＰアドレスである。ＨＴＴＰ通信用外部公開ポート番号とは、当該機器がＨＴＴＰで外部装置と通信するときに用いるポート番号である。
【００８３】
外部公開ＩＰアドレスとＨＴＴＰ通信用外部公開ポート番号は、ゲートウェイ２００ａが、宅外ネットワーク１０経由でＰＶＲ３０１ｂ、３０２ｂにアクセスする場合に利用するＨＴＴＰ通信の宛先となるトランスポートアドレスである。このＨＴＴＰ通信チャネルを確立するために、ＳＩＰ  ＩＮＶＩＴＥリクエストでやり取りされるＳＤＰ情報に利用される。具体的には、外部公開ＩＰアドレスは、ＳＤＰ情報のo=ライン、および、c=ラインに、ＨＴＴＰ通信用外部公開ポート番号は、m=ラインのポート番号情報に利用される。ＳＤＰ情報の詳細については後述する。
【００８４】
公開ポリシーには、公開する場合は「public」を、公開しない場合は「private」を設定する。ロケーションとは、当該機器が、宅内ネットワーク２０ａ内に存在するか（local）、ゲートウェイ２００ｂが管理する宅内ネットワーク２０ｂ内に存在するか（remote）を表す情報である。
【００８５】
ディスクリプションパスとは、機器に関する詳細情報を格納したＸＭＬ（Extensible Markup Language）ファイルへのアクセスパスを表す。デバイスタイプとは、当該機器の種類を表す情報である。
【００８６】
内部デバイス情報とは、当該機器内部の論理的なデバイスである内部デバイスの情報を表す。内部デバイス情報には、内部デバイスを識別するＵＵＩＤなどの他、ロケーションが「remote」である遠隔機器の場合は、デバイスの詳細情報であるデバイスディスクリプションドキュメント情報が含まれる。
【００８７】
サービス情報とは、当該機器が提供するサービスに関する情報を表す。サービス情報には、サービスを識別するサービスＩＤ、サービスの種類を表すサービスタイプ、サービスの詳細情報を格納したファイルへのアクセスパスを表すディスクリプションパスが含まれる。また、ロケーションが「remote」である遠隔機器の場合は、サービスの詳細情報であるサービスディスクリプションドキュメント情報が含まれる。
【００８８】
なお、図３は、操作端末４０１ｂから、ＰＶＲ３０１ａ、３０１ｂ、３０２ｂ全てにアクセスできる環境における機器情報テーブル２９１の例を表している。一方、図４は、同様の環境におけるゲートウェイ２００ｂの機器情報テーブル２９１の例を表す説明図である。
【００８９】
図３、図４は、図１に含まれる全ての機器がネットワークに接続されていて、ＰＶＲ３０１ｂとＰＶＲ３０１ａの公開ポリシーが「public」に、ＰＶＲ３０２ｂの公開ポリシーが「private」に設定されている場合の機器情報テーブル２９１を示している。ＰＶＲ３０２ｂは、「private」に設定されているため、図４に含まれず、宅内ネットワーク２０ａからは存在を確認できない。
【００９０】
次に、このように構成された本実施の形態にかかるゲートウェイ２００による通信処理について説明する。本実施の形態では、各装置のネットワークへの接続状況に応じて通信処理の処理内容が異なる。そこで、以下では、各装置のネットワークへの接続状況に応じた複数の段階を想定し、各段階における通信処理の一例について説明する。
【００９１】
ここで、初期状態として、仲介サーバ１００のみが宅外ネットワーク１０に接続され、ゲートウェイ２００ａとゲートウェイ２００ｂとは宅外ネットワーク１０に接続されていない状態を想定する。また、この初期状態では、ＰＶＲ３０１ａと操作端末４０１ａとが、宅内ネットワーク２０ａに接続されており、ＰＶＲ３０１ｂ、操作端末４０１ｂが宅内ネットワーク２０ｂに接続されているが、ＰＶＲ３０２ｂが宅内ネットワーク２０ｂに接続されていないことを前提とする。
【００９２】
このような初期状態では、操作端末４０１ａのコントロールポイント機能は、ＰＶＲ３０１ａの存在を認識している。これは操作端末４０１ａのコントロールポイント機能が、ＳＳＤＰ  ｄｉｓｃｏｖｅｒメッセージを送信し、それに対してＰＶＲ３０１ａが応答メッセージを返信するか、または、ＰＶＲ３０１ａが定期的に送信するＳＳＤＰ  ａｌｉｖｅメッセージを受信することで実現される。
【００９３】
また、仲介サーバ１００は、ゲートウェイ２００ａとゲートウェイ２００ｂとが、リモートコントロールやマルチメディアコンテンツ伝送のための相互通信を行うこと許可しているものとする。
【００９４】
さらに、ゲートウェイ２００ａの有するアクセス許可リストには、ゲートウェイ２００ｂが含まれており、ゲートウェイ２００ｂの有するアクセス許可リストには、ゲートウェイ２００ａが含まれているものとする。アクセス許可リストとは、外部からのアクセスを許可する装置の情報を記憶したリストをいう。
【００９５】
まず第１段階として、上述のような初期状態から、ゲートウェイ２００ｂを宅外ネットワーク１０および宅内ネットワーク２０ｂに接続する段階を想定する。図５は、第１段階における通信処理を表したシーケンス図である。
【００９６】
まず、ゲートウェイ２００ｂの宅内機器情報取得部２６０が、宅内ネットワーク２０ｂ内の機器（以下、宅内機器という。）の検索を行う（ステップＳ５０１）。具体的には、宅内機器情報取得部２６０は、宅内ネットワーク２０ｂ上で、ＳＳＤＰ  ｄｉｓｃｏｖｅｒメッセージを送信する。
【００９７】
次に、宅内機器情報取得部２６０は、ＰＶＲ３０１ｂからの応答を受信することにより、ＰＶＲ３０１ｂの存在を確認し、ＵＰｎＰデバイス情報を取得する（ステップＳ５０２）。
【００９８】
なお、ＰＶＲ３０１ｂから送信されたＳＳＤＰ  ａｌｉｖｅ、ＳＳＤＰ  ｂｙｅｂｙｅメッセージを受信することにより、ＰＶＲ３０１ｂの情報を取得するように構成してもよい。
【００９９】
図６は、ＳＳＤＰ  ａｌｉｖｅメッセージの一例を示す説明図である。同図に示すように、ＰＶＲ３０１ｂの詳細情報を取得するためのデバイスディスクリプションのパスは、当該メッセージの「LOCATION」ヘッダ値で指定される。
【０１００】
図５に戻り、内部情報要求部２６１が、ＨＴＴＰ  ＧＥＴリクエストメッセージでＰＶＲ３０１ｂからデバイスディスクリプションを要求する（ステップＳ５０３）。内部情報要求部２６１は、例えば、図６に示すようなメッセージからデバイスディスクリプションのパスを取得し、取得したパスからデバイスディスクリプションを取得するリクエストを送信する。
【０１０１】
次に、ＰＶＲ３０１ｂからデバイスディスクリプションの要求に対する応答であるデバイスディスクリプションが送信され（ステップＳ５０４）、内部情報受信部２６２が、当該デバイスディスクリプションを受信する。また、内部情報受信部２６２は、受信したデバイスディスクリプションに含まれる機器の情報を記憶部２９０の機器情報テーブル２９１に保存する。
【０１０２】
デバイスディスクリプションの具体例については後述するが、デバイスディスクリプションには、機器のＵＵＩＤ、ローカルＩＰアドレス、ローカルポート番号、デバイスタイプ、内部デバイス情報、サービス情報が含まれる。
【０１０３】
内部情報受信部２６２は、これらの情報を機器情報テーブル２９１に保存する（ステップＳ５０５）。なお、機器情報テーブル２９１に記憶する情報のうち、公開ポリシー情報は、宅内機器情報アクセス制御部２８０によって設定される情報である。
【０１０４】
一方、外部公開ＩＰアドレスには、事前にゲートウェイ２００ｂに割り当てられたＩＰアドレスを設定する。外部公開ポート番号については、ゲートウェイ２００ｂで利用していない任意ポートを、ＰＶＲ３０１ｂを検出した時に割り当てて機器情報テーブル２９１に保存する。なお、ディスクリプション情報は、相対パス情報に変換して機器情報テーブル２９１に保存する。
【０１０５】
次に、ゲートウェイ情報登録部２１０は、ゲートウェイ２００ｂの情報を仲介サーバ１００に登録する（ステップＳ５０６）。ゲートウェイ情報登録部２１０は、ＳＩＰ  ＲＥＧＩＳＴＥＲリクエストを仲介サーバ１００に送信することにより、ゲートウェイ２００ｂの情報を仲介サーバ１００に登録する。
【０１０６】
本ステップ以降、ゲートウェイ２００ｂは、仲介サーバ１００との接続を維持し続ける。具体的には、維持要求送信部２１１が、仲介サーバ１００に対して接続がタイムアウトする時間よりも短い周期で、通信パケットを定期的に送信する。これにより、ゲートウェイ２００ｂがＮＡＴ配下に存在する場合であっても、仲介サーバ１００が外部情報要求、応答などの中継に同じ接続を利用することによって、外部ゲートウェイからの通信を受けることが可能となる。
【０１０７】
仲介サーバ１００からは、ＳＩＰ  ＲＥＧＩＳＴＥＲリクエストに対する応答であるＳＩＰ  ２００ＯＫレスポンスを受信する（ステップＳ５０７）。
【０１０８】
次に、ゲートウェイ情報取得部２２０が、アクセス許可リストから宅内ネットワーク２０ｂへのアクセスが許可されているゲートウェイ装置の情報を取得する（ステップＳ５０８）。ここでは、例えば、ゲートウェイ２００ａが、アクセスが許可された装置として取得されたものとする。
【０１０９】
次に、外部情報要求部２２１が、アクセスが許可されたゲートウェイ装置の情報の取得要求を仲介サーバ１００に送信する（ステップＳ５０９）。具体的には、外部情報要求部２２１は、ＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストを、仲介サーバ１００を介してゲートウェイ２００ａに対して送信する。
【０１１０】
この第１段階では、ゲートウェイ２００ａは、宅外ネットワーク１０に接続されていないため、仲介サーバ１００にゲートウェイ２００ａの情報が登録されていない。したがって、仲介サーバ１００からは情報の取得ができないことを表す通知（４ＸＸ  Ｅｒｒｏｒ）が送信される（ステップＳ５１０）。
【０１１１】
このように、第１段階では、ゲートウェイ２００ｂの情報を仲介サーバ１００に登録することができるが、ゲートウェイ２００ａに関する情報を取得することはできない。
【０１１２】
次に、第２段階として、ゲートウェイ２００ａを宅外ネットワーク１０および宅内ネットワーク２０ａに接続する段階を想定する。図７、図８、図９は、第２段階における通信処理を表したシーケンス図である。
【０１１３】
ステップＳ７０１からステップＳ７０９までの、宅内機器情報取得処理、ゲートウェイ情報登録処理、ゲートウェイ情報取得要求処理は、図５におけるステップＳ５０１からステップＳ５０９までと同様の処理なので、その説明を省略する。
【０１１４】
すなわち、図５はゲートウェイ２００ｂが宅内ネットワーク２０ｂ内の機器の情報を取得し、仲介サーバ１００に登録する処理のシーケンスを表していたが、図７では、ゲートウェイ２００ａが宅内ネットワーク２０ａの機器の情報を取得して仲介サーバ１００に登録する処理であるため、処理シーケンスは共通する。
【０１１５】
第２段階では、外部情報要求部２２１がゲートウェイ情報の取得要求を送信した場合（ステップＳ７０９）、ゲートウェイ２００が宅外ネットワーク１０に接続済みであるため、仲介サーバ１００は取得要求をゲートウェイ２００ｂに送信する（ステップＳ７１０）。
【０１１６】
ゲートウェイ２００ｂの情報要求受信部２３１は、情報の取得要求（ＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエスト）を受信し、その応答として２００ＯＫレスポンスを返信する（ステップＳ７１１）。また、仲介サーバ１００は２００ＯＫレスポンスをゲートウェイ２００ａに送信する（ステップＳ７１２）。
【０１１７】
続いて、内部情報送信部２３２は、ゲートウェイ２００ｂの情報と、宅内ネットワーク２０ｂ内の機器の情報とを仲介サーバ１００を介してゲートウェイ２００ａに送信する（ステップＳ７１３）。
【０１１８】
具体的には、内部情報送信部２３２は、機器情報テーブル２９１に保存した宅内機器の情報と、ゲートウェイ２００ｂに関する情報を送信する。ゲートウェイ２００ｂに関する情報としては、ゲートウェイ２００ｂがオンラインかオフラインかを表す情報（<x:basic>エレメント値「open」）、ゲートウェイ装置であることを表すデバイスタイプ情報（<x:device-type>エレメント値「ＳＩＰ-ＵＰｎＰ Gateway」）、ＳＩＰアドレス情報（<presence>エレメントのentity属性値「sip:gateway12@ example.com」）等）を送信する。
【０１１９】
機器情報テーブル２９１の情報のうち、ゲートウェイ２００ａに対して最小限伝える必要がある情報は、ＵＵＩＤ（<device>エレメントのid属性値に対応）、ディスクリプションパス（<desc-path>属性情報に対応）、デバイスタイプ情報（<device-type>エレメント値に対応）、およびゲートウェイ２００ｂのＳＩＰアドレス情報である。
【０１２０】
なお、内部情報送信部２３２は、これらの情報をＳＩＰ  ＮＯＴＩＦＹリクエストを利用してゲートウェイ２００ａに対して通知する。図１０は、ＳＩＰ  ＮＯＴＩＦＹリクエストの具体例を示した説明図である。
【０１２１】
同図の<device-list>エレメントに含まれる情報が、ゲートウェイ２００ｂ配下の宅内ネットワーク２０ｂに接続された機器情報全体を表し、<device-list>の子要素である<device>エレメントが、各宅内機器の情報（ＰＶＲ３０１ｂの情報）を表す。
【０１２２】
図７に戻り、送信されたＳＩＰ  ＮＯＴＩＦＹリクエストは、仲介サーバ１００によってゲートウェイ２００ａに転送される（ステップＳ７１４）。
【０１２３】
次に、ゲートウェイ２００ａの外部情報受信部２２２は、転送されたＳＩＰ  ＮＯＴＩＦＹリクエストを受信し、２００ＯＫ応答を、仲介サーバ１００を介してゲートウェイ２００ｂに送信する（ステップＳ７１５、ステップＳ７１６）。
【０１２４】
続いて、ゲートウェイ情報取得部２２０は、取得したＰＶＲ３０１ｂの情報を、機器情報テーブル２９１に保存する（ステップＳ７１７）。このとき、ゲートウェイ情報取得部２２０は、取得したＰＶＲ３０１ｂの情報に加えて、宅内ネットワーク２０ａに公開する際のローカルＩＰアドレス（１９２．１６８．１１．５）およびローカルポート番号（３９０００）も記憶する。
【０１２５】
なお、ローカルＩＰアドレスは、ゲートウェイ２００ａが宅内ネットワーク２０ａとの通信で利用するＩＰアドレスを設定し、ローカルポート番号には、ゲートウェイ２００ａが利用していない任意のポート番号を割り当てる。
【０１２６】
次に、生成部２４１が、ＰＶＲ３０１ｂに対応する仮想的なＵＰｎＰデバイス（仮想デバイス）を内部生成する（ステップＳ７１８）。続いて、遠隔機器情報公開部２４０は、生成した仮想デバイスの情報を広告するメッセージであるＳＳＤＰ  ａｌｉｖｅメッセージを、宅内ネットワーク２０ａにマルチキャストする（ステップＳ７１９）。
【０１２７】
このＳＳＤＰ  ａｌｉｖｅメッセージの「LOCATION」ヘッダ情報には、前述した宅内ネットワーク２０ａに公開するためのローカルＩＰアドレス（１９２．１６８．１１．５）、ローカルポート番号（３９０００）が利用される。さらに、ＰＶＲ３０１ｂが内部デバイスや、サービスを有している場合には、それぞれについてＳＳＤＰ  ａｌｉｖｅメッセージを送信する。これにより、操作端末４０１ａは、ＰＶＲ３０１ｂが、あたかも宅内ネットワーク２０ａ上に存在する機器であるかのように認識することができる。
【０１２８】
なお、ＳＳＤＰ  ａｌｉｖｅメッセージは、通常はＵＰｎＰデバイスが送信するものであるが、本実施の形態では、遠隔機器情報公開部２４０が仮想デバイスを生成しているため、遠隔機器情報公開部２４０が仮想デバイスの立場でＳＳＤＰ  ａｌｉｖｅメッセージを送信するものとして説明する。
【０１２９】
次に、操作端末４０１ａが、操作端末４０１ａに搭載されているＵＰｎＰコントロールポイント機能によってＳＳＤＰ  ａｌｉｖｅメッセージを受信し、新規ＵＰｎＰデバイスの存在を検出する（ステップＳ７２０）。
【０１３０】
続いて、操作端末４０１ａは、検出したデバイスの機種や表示名を取得するために、ＨＴＴＰ  ＧＥＴリクエストで新規に検出したデバイスのデバイスディスクリプションを要求する（ステップＳ７２１）。具体的には、操作端末４０１ａは、遠隔機器情報公開部２４０（のＰＶＲ３０１ｂに対応する仮想デバイス）に対して、ＨＴＴＰ  ＧＥＴリクエストを送信する。
【０１３１】
遠隔機器情報公開部２４０の外部アクセス要求受信部２４３は、ＨＴＴＰによるデバイスディスクリプションの取得要求メッセージを受信する（ステップＳ７２２）。続いて、通信確立要求部２４４は、取得要求の対象である機器を管理するゲートウェイ２００ｂに対して、ＨＴＴＰ通信の確立を、仲介サーバ１００を介して要求する（ステップＳ７２３、ステップＳ７２４）。
【０１３２】
具体的には、通信確立要求部２４４は、まず取得要求の対象であるＰＶＲ３０１ｂのＵＵＩＤ、ディスクリプション情報、ゲートウェイ２００ｂのＳＩＰアドレス情報を機器情報テーブル２９１から取得する。次に、通信確立要求部２４４は、取得したＵＵＩＤ、ディスクリプション情報を含むＳＩＰ  ＩＮＶＩＴＥリクエストを、仲介サーバ１００を介してゲートウェイ２００ｂに送信する。
【０１３３】
図１１は、このときのＳＩＰ  ＩＮＶＩＴＥリクエストの一例を示す説明図である。同図に示すように、ＳＩＰ  ＩＮＶＩＴＥリクエストには、ＵＵＩＤ（a=uuid:行）とディスクリプション情報（a=path:行）がペイロード部に含まれる。
【０１３４】
送信されたＳＩＰ  ＩＮＶＩＴＥリクエストは、ゲートウェイ２００ｂの確立要求受信部２７１が受信する（ステップＳ７２５）。次に、確立応答送信部２７２が、受信したＳＩＰ  ＩＮＶＩＴＥリクエストに対する応答（２００ＯＫレスポンス）を、仲介サーバ１００を介してゲートウェイ２００ｂに送信する（ステップＳ７２６）。
【０１３５】
具体的には、確立応答送信部２７２は、受信したＳＩＰ  ＩＮＶＩＴＥリクエストに含まれるＳＤＰ情報（a=uuid:情報）を参照し、ＰＶＲ３０１ｂへのアクセスであることを認識し、機器情報テーブル２９１からＰＶＲ３０１ｂの外部公開ＩＰアドレス、外部公開ポート番号、デバイスディスクリプションパスを取得し、その情報を２００ＯＫレスポンスのＳＤＰ情報に含めて返信する。確立応答送信部２７２は、このときＳＤＰ情報に提示した外部公開ポート番号を開く。
【０１３６】
図１２は、このときの２００ＯＫレスポンスの一例を示す説明図である。同図では、２００ＯＫレスポンスには、ＰＶＲ３０１ｂの外部公開ＩＰアドレスとして「222.22.2.20」が、外部公開ポート番号として「４０００１」が、デバイスディスクリプションパスとして「/devicedesc.xml」が設定された例が示されている。
【０１３７】
２００ＯＫレスポンスは、仲介サーバ１００を介してゲートウェイ２００ａに転送される（ステップＳ７２７）。ゲートウェイ２００ａの確立応答受信部２４５は、２００ＯＫレスポンスを受信し、受信したメッセージに含まれる情報を機器情報テーブル２９１に保存する（ステップＳ７２８）。確立応答受信部２４５は、このときＳＤＰ情報に提示した外部公開ポート番号を開く。
【０１３８】
具体的には、確立応答受信部２４５は、ＳＤＰ情報に含まれるゲートウェイ２００ｂのアドレス情報（c=ラインに含まれる外部公開ＩＰアドレス情報（２２２．２２．２．２０）と、m=ラインの第３引数に含まれるＨＴＴＰ通信用外部公開ポート番号情報（４０００１））を機器情報テーブル２９１に記憶する。
【０１３９】
次に、遠隔機器情報公開部２４０は、仲介サーバ１００を介してＳＩＰ  ＡＣＫメッセージをゲートウェイ２００ｂに応答する（ステップＳ７２９、ステップＳ７３０）。
【０１４０】
ここまでの処理によって、ゲートウェイ２００ａとゲートウェイ２００ｂとの間でＨＴＴＰ通信チャネルが確立され、ＨＴＴＰによる通信が可能となる。
【０１４１】
次に、ローカルアドレス変換部２５１が、操作端末４０１ａから受信したＨＴＴＰリクエストに含まれるローカルアドレス情報を、機器情報テーブル２９１に保存したグローバルアドレス情報で変換する（ステップＳ７３１）。
【０１４２】
図１３、図１４は、それぞれアドレス変換前後のＨＴＴＰリクエストの一例を示す説明図である。図１３、図１４に示すように、ローカルアドレス変換部２５１は、仮想デバイスのローカルＩＰアドレス（１９２．１６８．１１．５）を対応する外部公開ＩＰアドレス（２２２．２２．２．２０）に変換し、ローカルポート番号（３９０００）を、対応するＨＴＴＰ通信用外部公開ポート番号情報（４０００１）に変換する。
【０１４３】
次に、外部アクセス要求転送部２４６が、アドレス変換後のＨＴＴＰリクエストをゲートウェイ２００ｂに転送する（ステップＳ７３２）。
【０１４４】
ゲートウェイ２００ｂの内部アクセス要求受信部２７３が、ゲートウェイ２００ａからのＨＴＴＰリクエストを受信し（ステップＳ７３３）、ゲートウェイ２００ｂのグローバルアドレス変換部２５２が、受信したＨＴＴＰリクエスト内のグローバルアドレスをローカルアドレスに変換する（ステップＳ７３４）。
【０１４５】
図１５は、アドレス変換後のＨＴＴＰリクエストの一例を示す説明図である。例えば、機器情報テーブル２９１に図３に示すようなデータが保存されており、図１４に示すようなＨＴＴＰリクエストを受信したとする。
【０１４６】
この場合、機器情報テーブル２９１から、当該ＨＴＴＰリクエストのＩＰアドレス（２２２．２２．２．２０）およびポート番号（４０００１）に対応する機器はＰＶＲ３０１ｂであることが分かるため、グローバルアドレス変換部２５２は、ＩＰアドレスおよびポート番号を、それぞれローカルＩＰアドレス「１９２．１６８．１０．１０」、およびローカルポート番号「４９０００」で変換する。
【０１４７】
次に、内部アクセス要求転送部２７４は、アドレス変換後のＨＴＴＰリクエストであるディスクリプション要求をＰＶＲ３０１ｂに対して送信する（ステップＳ７３５）。
【０１４８】
ＰＶＲ３０１ｂからＨＴＴＰレスポンスとして、表示名や機種情報等の機器詳細情報を含むディスクリプション情報が返信されると（ステップＳ７３６）、内部アクセス応答受信部２７５は、当該ＨＴＴＰレスポンスを受信する（ステップＳ７３７）。
【０１４９】
続いて、ローカルアドレス変換部２５１が、ＰＶＲ３０１ｂから受信したＨＴＴＰレスポンスであるディスクリプション情報に含まれるローカルアドレス情報を、機器情報テーブル２９１に保存したグローバルアドレス情報で変換する（ステップＳ７３８）。
【０１５０】
この際、アドレス変換対象は、ＨＴＴＰヘッダのみならず、ＨＴＴＰペイロード、すなわち、ディスクリプション情報も含まれる。図１６は、このときの変換後のディスクリプション情報の一例を示す説明図である。同図に示すように、ディスクリプション情報の<URLBase>エレメントのＩＰアドレスとポート番号がグローバルアドレス情報で変換されている。
【０１５１】
次に、内部アクセス応答転送部２７６が、アドレス変換後のＨＴＴＰレスポンスをゲートウェイ２００ａに転送する（ステップＳ７３９）。
【０１５２】
ゲートウェイ２００ａの外部アクセス応答受信部２４７は、転送されたＨＴＴＰレスポンスを受信する（ステップＳ７４０）。次に、グローバルアドレス変換部２５２が、ＨＴＴＰレスポンス内のグローバルアドレス情報をローカルアドレス情報に変換する（ステップＳ７４１）。
【０１５３】
例えば、グローバルアドレス変換部２５２は、ＰＶＲ３０１ｂに対応するＵＰｎＰデバイスのローカルＩＰアドレス（１９２．１６８．１１．５）とローカルポート番号（３９０００）に、レスポンスの該当箇所（<BaseURL>エレメント値）を変換する。
【０１５４】
次に、外部アクセス応答転送部２４８は、操作端末４０１ａに、アドレス変換後のレスポンスを転送する（ステップＳ７４２）。また、遠隔機器情報公開部２４０は、取得したディスクリプション情報であってアドレス変換前の情報を、機器情報テーブル２９１に保存する（ステップＳ７４３）。
【０１５５】
次に、ゲートウェイ２００ａの遠隔機器情報公開部２４０は、ＳＩＰ  ＢＹＥリクエストを、仲介サーバ１００を介してゲートウェイ２００ｂに対して送信し、ＩＮＶＩＴＥによって構築していたデータチャネル（ＨＴＴＰ通信チャネル）を終了させる（ステップＳ７４４、ステップＳ７４５）。ＳＩＰ  ＢＹＥリクエストの送受信を契機として、ゲートウェイ２００ａの確立応答受信部２４５、ゲートウェイ２００ｂの確立応答送信部２７２はＨＴＴＰ通信に利用していた外部公開ポートを閉じる。
【０１５６】
なお、これ以降に宅内ネットワーク２０ａ上のＵＰｎＰコントロールポイントからディスクリプションの取得要求メッセージを受信した場合（ステップＳ７４６）、遠隔機器情報公開部２４０は、機器情報テーブル２９１に記憶したディスクリプション情報を取得し（ステップＳ７４７）、取得したディスクリプション情報内のグローバルアドレス情報を、機器情報テーブル２９１に記憶されているＰＶＲ３０１ｂに対応するローカルＩＰアドレスとポート番号に変換して返信する（ステップＳ７４８）。したがって、最初のディスクリプション要求以外は、宅外ネットワーク１０を利用せずに効率的に情報を返信できるという利点がある。
【０１５７】
このように、第２段階では、２つの宅内ネットワーク２０ａ、２０ｂが相互に接続され、その際に通信に必要な情報を、仲介サーバ１００を介して通知することができるため、設定負担が軽減できる。また、ＵＰｎＰデバイスプロキシ装置では通信に用いるポートを固定とし、常時開けておく必要があったが、本実施の形態では、通信で用いるポートを動的に決定できるとともに、ポートを事前に開けることなく、ＳＩＰ  ＩＮＶＩＴＥリクエストを受信した後にポートを開けることができるという利点がある。
【０１５８】
なお、第２段階で、ゲートウェイ２００ａが宅外ネットワーク１０に接続されたため、ゲートウェイ２００ｂは、ゲートウェイ２００ａの情報を取得可能となる。図１７は、ゲートウェイ２００ｂからゲートウェイ２００ａの情報を取得する際の通信処理を表したシーケンス図である。
【０１５９】
図１７のシーケンスは、図７のステップＳ７１１で、情報要求受信部２３１が情報の取得要求（ＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエスト）を受信したことにより、ゲートウェイ２００ａが接続されたことを検出した後に実行される処理を表す。
【０１６０】
この場合、ゲートウェイ２００ｂから、ゲートウェイ２００ａの情報取得要求を送信する（ステップＳ１７０１）。ステップＳ１７０１からステップＳ１７０９までのゲートウェイ情報取得処理は、ゲートウェイ２００ａが実行するゲートウェイ情報取得処理である図７のステップＳ７０９からステップＳ７１７までと同様の処理なので、その説明を省略する。
【０１６１】
次に、第３段階として、ＰＶＲ３０２ｂを新たに宅内ネットワーク２０ｂに接続する段階を想定する。図１８は、第３段階における通信処理を表したシーケンス図である。
【０１６２】
まず、ＰＶＲ３０２ｂが接続されると（ステップＳ１８０１）、ＰＶＲ３０２ｂはＳＳＤＰ  ａｌｉｖｅメッセージを送信する（ステップＳ１８０２）。
【０１６３】
次に、内部情報受信部２６２が、ＳＳＤＰ  ａｌｉｖｅを受信した後、機器情報テーブル２９１にＰＶＲ３０２ｂの情報が存在しないことから、ＰＶＲ３０２ｂが新規に検出された機器であることを認識し、内部情報要求部２６１が、ディスクリプション要求であるＨＴＴＰ  ＧＥＴリクエストをＰＶＲ３０２ｂに送信する（ステップＳ１８０３）。
【０１６４】
ＰＶＲ３０２ｂはＨＴＴＰ  ＧＥＴリクエストに対する応答としてディスクリプション情報を返信する（ステップＳ１８０４）。内部情報受信部２６２は、ディスクリプション情報を受信し、受信したディスクリプション情報を機器情報テーブル２９１に保存する（ステップＳ１８０５）。
【０１６５】
ＰＶＲ３０２ｂの接続によって、宅内ネットワーク２０ｂのネットワークトポロジに変化が生じたので、内部情報送信部２３２は、機器情報テーブル２９１によって記憶している宅内機器情報（ＰＶＲ３０１ｂと新規検出したＰＶＲ３０２ｂの機器情報）とゲートウェイ２００ｂの情報（オンライン・オフラインを表す情報（<x:basic>エレメント値）、ゲートウェイ装置であることを表すデバイスタイプ情報（<x:device-type>エレメント値）、およびゲートウェイ２００ｂのＳＩＰアドレス（<presence>エレメントのentity属性値）等）をＳＩＰ  ＮＯＴＩＦＹリクエストを利用して、ゲートウェイ２００ａに対して通知する（ステップＳ１８０６）。
【０１６６】
その後、ステップＳ１８０７からステップＳ１８１３までの取得情報保存処理、仮想デバイス生成処理は、図７、図８のステップＳ７１４からステップＳ７２０までと同様の処理なので、その説明を省略する。
【０１６７】
このように、第３段階では、新規に接続された機器の情報を適切に他のゲートウェイに通知し、他のゲートウェイでは通知された機器の仮想デバイスを生成することができる。したがって、追加された機器の情報を手動で設定する必要がなく、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
【０１６８】
なお、既に接続を検知しているＰＶＲ３０１ｂからのＳＳＤＰ  ａｌｉｖｅメッセージを受信した場合、宅内ネットワーク２０ｂのネットワークトポロジが変化しないので、内部情報送信部２３２によるＳＩＰ  ＮＯＴＩＦＹリクエストの送信を行わない。
【０１６９】
次に、第４段階として、ＰＶＲ３０２ｂを宅内ネットワーク２０ｂから離脱させた場合を想定する。例えば、ＰＶＲ３０２ｂのネットワークとの接続ケーブルを抜いた場合などが考えられる。図１９は、第４段階における通信処理を表したシーケンス図である。
【０１７０】
まず、ＰＶＲ３０２ｂが宅内ネットワーク２０ｂから離脱すると（ステップＳ１９０１）、ＰＶＲ３０２ｂはＳＳＤＰ  ｂｙｅｂｙｅメッセージを送信する（ステップＳ１９０２）。
【０１７１】
次に、内部情報受信部２６２は、ＳＳＤＰ  ｂｙｅｂｙｅメッセージを受信したことにより、ＰＶＲ３０２ｂが宅内ネットワーク２０ｂから離脱したことを認識し、機器情報テーブル２９１から、ＰＶＲ３０２ｂの情報を削除する（ステップＳ１９０３）。
【０１７２】
ここで、ＰＶＲ３０２ｂの離脱によって宅内ネットワーク２０ｂのネットワークトポロジに変化が生じたので、内部情報送信部２３２は、機器情報テーブル２９１によって記憶している宅内機器情報（ＰＶＲ３０１ｂのみ）とゲートウェイ２００ｂ自体の情報とをＳＩＰ  ＮＯＴＩＦＹリクエストを利用して、ゲートウェイ２００ａに対して通知する（ステップＳ１９０４）。ＳＩＰ  ＮＯＴＩＦＹリクエストは、仲介サーバ１００を介してゲートウェイ２００ａに転送される（ステップＳ１９０５）。
【０１７３】
ゲートウェイ２００ａの外部情報受信部２２２は、受信したＳＩＰ  ＮＯＴＩＦＹリクエストに対する２００ＯＫ応答を、仲介サーバ１００を介してゲートウェイ２００ｂに送信する（ステップＳ１９０６、ステップＳ１９０７）。
【０１７４】
次に、ゲートウェイ情報取得部２２０は、受信したＳＩＰ  ＮＯＴＩＦＹリクエストに含まれる情報（ＰＶＲ３０１ｂのみ）と、機器情報テーブル２９１に記憶されている情報（ＰＶＲ３０１ｂ、ＰＶＲ３０２ｂ）とを比較し、ＰＶＲ３０２ｂが離脱したことを検出すると、機器情報テーブル２９１から、ＰＶＲ３０２ｂの情報を削除する（ステップＳ１９０８）。
【０１７５】
続いて、遠隔機器情報公開部２４０は、ＰＶＲ３０２ｂに対応する仮想デバイスのＳＳＤＰ  ｂｙｅｂｙｅメッセージを送信する（ステップＳ１９０９）。これにより、操作端末４０１ａは、ＰＶＲ３０２ｂが離脱したことを検知できる（ステップＳ１９１０）。
【０１７６】
また、停止部２４２は、当該仮想デバイスを停止する（ステップＳ１９１１）。なお、これにより、本実施の形態のネットワーク構成は、第２段階の終了後の状態に戻ったことになる。
【０１７７】
このように、第４段階では、宅内ネットワーク２０から切り離された機器の情報を適切に他のゲートウェイに通知し、他のゲートウェイでは通知された機器の仮想デバイスを停止することができる。したがって、切り離された機器の情報を手動で設定する必要がなく、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
【０１７８】
次に、第５段階として、操作端末４０１ａがＰＶＲ３０１ｂに対して、ＵＰｎＰコントロールメッセージを送信し、コントロール処理結果を取得する場合を想定する。図２０、図２１は、第５段階における通信処理を表したシーケンス図である。
【０１７９】
第５段階の通信処理のシーケンスは、基本的に第２段階の通信処理のシーケンスのうち、操作端末４０１ａからディスクリプション要求を送信して（ステップＳ７２１）から受信するまで（ステップＳ７４２）までの処理と同様であるので、詳細な説明は省略する。ただし、送受信されるメッセージの内容が異なるので、以下では主にその相違点について説明する。
【０１８０】
第５段階では、操作端末４０１ａは、第２段階で取得したディスクリプション情報を参照し、生成部２４１が生成したＰＶＲ３０１ｂの仮想デバイスに対し、ＣＤＳ（Content Directory Service）のＢｒｏｗｓｅアクションを実行する。
【０１８１】
なお、このＣＤＳサービスとは、ＵＰｎＰ  ＡＶ規格のＭＳＤが有するサービスの１つであって、ＭＳＤの保持するマルチメディアコンテンツ情報を公開するサービスである。Ｂｒｏｗｓｅアクションとは、このうちマルチメディアコンテンツ情報を取得する機能をいう。
【０１８２】
また、以下ではＣＤＳサービスの１つとしてＢｒｏｗｓｅアクションを実行した場合の例について説明するが、利用できるアクションはこれに限られるものではなく、仮想デバイスに対応するＰＶＲ３０１ｂが提供する機能であればあらゆるアクションを利用しうる。
【０１８３】
操作端末４０１ａは、外部アクセス要求受信部２４３に対して、ＨＴＴＰ  ＰＯＳＴによりＢｒｏｗｓｅアクションを送信する（ステップＳ２００１）。図２２は、操作端末４０１ａから送信されるメッセージの一例を示す説明図である。同図に示すように、操作端末４０１ａは、ＸＭＬ形式の情報を含むメッセージを情報要求受信部２３１に送信する。
【０１８４】
外部アクセス要求受信部２４３は、Ｂｒｏｗｓｅアクションメッセージを受信し（ステップＳ２００２）、第２段階におけるＨＴＴＰリクエストと同様に、機器情報テーブル２９１から、取得要求に対応するＰＶＲ３０１ｂのＣＤＳサービスのパス情報と、ゲートウェイ２００ｂに仲介サーバ１００経由でアクセスするためのＳＩＰアドレスを取得する。
【０１８５】
次に、ゲートウェイ２００ａは、ＳＩＰ  ＩＮＶＩＴＥリクエストを送信して、ＨＴＴＰ通信の確立をゲートウェイ２００ｂに要求する（ステップＳ２００３）。このときＳＩＰ  ＩＮＶＩＴＥ リクエストのペイロードに、ＳＤＰ情報として、ＰＶＲ３０１ｂのＵＵＩＤ情報、および、前述したＣＤＳサービスのパス情報を含める。
【０１８６】
図２３は、この場合に送信されるＳＤＰ情報の一例を示した説明図である。同図に示すように、図１１のＳＩＰ  ＩＮＶＩＴＥリクエストのＳＤＰ情報と異なり、ｐａｔｈ行にはＣＤＳサービスのパス情報が含まれる。
【０１８７】
ゲートウェイ２００ｂは、ＳＩＰ  ＩＮＶＩＴＥリクエストを、確立要求受信部２７１によって受信する（ステップＳ２００５）。これに対し、宅内機器情報公開部２７０は、受信したＳＩＰ  ＩＮＶＩＴＥリクエストに含まれるＳＤＰ情報（a=uuid:行）から、ＰＶＲ３０１ｂへのアクセス要求であることを認識する。そして、宅内機器情報公開部２７０は、機器情報テーブル２９１からＰＶＲ３０１ｂにアクセスするための外部公開ＩＰアドレス、ＨＴＴＰ通信用外部公開ポート番号を取得し、その情報を２００ＯＫレスポンスのＳＤＰに含めて返信する（ステップＳ２００６）。
【０１８８】
ゲートウェイ２００ａの遠隔機器情報公開部２４０は、２００ＯＫレスポンスを取得して、ＳＩＰ  ＡＣＫメッセージを応答する（ステップＳ２００９）。また、ローカルアドレス変換部２５１が、操作端末４０１ａから受信したＨＴＴＰリクエスト情報のローカルアドレスを変換する（ステップＳ２０１１）。
【０１８９】
アドレスを変換したＨＴＴＰリクエストは、外部アクセス要求転送部２４６により、構築したデータチャネルを利用して、ゲートウェイ２００ｂに送信される（ステップＳ２０１２）。
【０１９０】
以降は、構築したデータチャネルを利用した第２段階同様にＨＴＴＰ通信を行う。すなわり、ゲートウェイ２００ａ、２００ｂは、ＨＴＴＰプロトコルメッセージに含まれるＩＰアドレス、ポート番号情報を、機器情報テーブル２９１が保持するＰＶＲ３０１ｂの情報を参照して適宜変換する。
【０１９１】
例えば、ゲートウェイ２００ｂは、ＩＰアドレスおよびポート番号をそれぞれ１９２．１６８．１０．１０および４９０００から、２２２．２２．２．２０および４０００１へ変換する。また、ゲートウェイ２００ａは、２２．２２．２．２０および４０００１を、それぞれ１９２．１６８．１１．５および３９０００へ変換する。
【０１９２】
最終的に、操作端末４０１ａは、Ｂｒｏｗｓｅアクションに対する返信であるマルチメディアコンテンツ情報を含んだレスポンスを受信する（ステップＳ２０２２）。図２４は、受信したＢｒｏｗｓｅレスポンスの一例を示す説明図である。同図に示すように、Ｂｒｏｗｓｅレスポンスには、ＰＶＲ３０１ｂが保持するコンテンツの情報が含まれる。
【０１９３】
このように、第５段階では、確立された通信を介して外部のネットワーク上の機器に対するアクション要求などの各種処理を実行できる。
【０１９４】
次に、第６段階として、ＰＶＲ３０１ｂの宅内ネットワーク２０ｂにおけるＩＰアドレスが、何らかの理由により変化した場合を想定する。例えば、ＰＶＲ３０１ｂが、ＳＳＤＰ  ｂｙｅｂｙｅメッセージを送信せずに宅内ネットワーク２０ｂから離脱し、再接続した際に、別のＩＰアドレスが付与され、ＳＳＤＰ  ａｌｉｖｅメッセージを送信する場合が考えられる。
【０１９５】
このような状況は、ＰＶＲ３０１ｂの電源を落とさずに、宅内ネットワーク２０ｂに接続しているＰＶＲ３０１ｂのネットワーク接続ケーブルを抜き、直ちにケーブルを再度差し込むようなケースなどさまざまな状況で発生しうる。
【０１９６】
図２５は、第６段階における通信処理を表したシーケンス図である。まず、ＰＶＲ３０１ｂのアドレスが変化し（ステップＳ２５０１）、ＰＶＲ３０１ｂからＳＳＤＰ  ａｌｉｖｅメッセージが送信される（ステップＳ２５０２）。
【０１９７】
内部情報要求部２６１は、ＰＶＲ３０１ｂからのＳＳＤＰ  ａｌｉｖｅメッセージを受信した後、変化後のＩＰアドレスが、機器情報テーブル２９１に含まれていないことから新規のＵＰｎＰデバイスを検出したと判断し、ＨＴＴＰ  ＧＥＴリクエストによってＰＶＲ３０１ｂからデバイスディスクリプション情報を取得する（ステップＳ２５０３、ステップＳ２５０４）。
【０１９８】
内部情報受信部２６２は、デバイスディスクリプション情報に含まれるＵＵＩＤ値が、既に機器情報テーブル２９１に登録されているＰＶＲ３０１ｂのＵＵＩＤ値と一致することを確認し、新規ＵＰｎＰデバイスの宅内ネットワーク２０ｂへの参入を検出したのではなく、ＰＶＲ３０１ｂのローカルＩＰアドレスがから別のアドレスへ変化したと判定する（ステップＳ２５０５）。
【０１９９】
そこで、内部情報受信部２６２は、機器情報テーブル２９１に登録されているＰＶＲ３０１ｂのローカルＩＰアドレス情報を変更する（ステップＳ２５０６）。この場合、宅内ネットワーク２０ｂのネットワークトポロジ自体が変化したわけではないため、宅内機器情報公開部２７０は、ゲートウェイ２００ａに対してＳＩＰ  ＮＯＴＩＦＹリクエストを送信し、宅内機器情報を通知しない。
【０２００】
このように、ＰＶＲ３０１ｂのＩＰアドレスが変化した場合は、ゲートウェイ２００ｂの機器情報テーブル２９１の該当情報を変更するだけで、操作端末４０１ａからの宅外ネットワーク経由でのリモートコントロールを継続して実行することができる。
【０２０１】
第５段階のステップＳ２０１４、ステップＳ２０１８で、機器情報テーブル２９１の更新されたローカルＩＰアドレス情報を参照してＨＴＴＰリクエストのアドレスが適切に変換され、ＰＶＲ３０１ｂに適切にフォワードされるからである。
【０２０２】
次に、第７段階として、ゲートウェイ２００ｂの宅外ネットワーク１０におけるＩＰアドレスが変化した場合を想定する。このような状況は、ゲートウェイ２００ｂの電源を落とさずに、宅外ネットワーク１０へ接続しているネットワークケーブルを抜き、このケーブルを再度差し込んだ場合などに、ＩＳＰ（Internet Service Provider）サーバの仕様によっては発生する可能性がある。
【０２０３】
図２６は、第７段階における通信処理を表したシーケンス図である。まずゲートウェイ２００ｂはアドレスが変化したことを認識し（ステップＳ２６０１）、ゲートウェイ情報登録部２１０が、機器情報テーブル２９１のＰＶＲ３０１ｂのリモートアクセス用の外部公開ＩＰアドレス情報を更新する（ステップＳ２６０２）。
【０２０４】
次に、ゲートウェイ情報登録部２１０が、仲介サーバ１００に対して、ゲートウェイ２００ｂの情報を再登録する（ステップＳ２６０３）。仲介サーバ１００からは、２００ＯＫ応答が返信される（ステップＳ２６０４）。
【０２０５】
この後、ゲートウェイ２００ａは、ゲートウェイ２００ｂの外部公開ＩＰアドレス情報の変化を、ゲートウェイ２００ｂへのＳＩＰ  ＩＮＶＩＴＥリクエストに対する応答の受信時、または、ゲートウェイ２００ｂからのＳＩＰ  ＩＮＶＩＴＥリクエストの受信時に検知することができる。
【０２０６】
例えば、図２６では、ゲートウェイ２００ｂへのＳＩＰ  ＩＮＶＩＴＥリクエストに対する応答の受信時のシーケンスが示されている。なお、ステップＳ２６０５からステップＳ２６１２までのディスクリプション要求送信処理、ディスクリプション応答受信処理は、第２段階の通信処理を表した図７、８、９のステップＳ７２１からステップＳ７２８までと同様なので、その説明を省略する。
【０２０７】
この例では、ステップＳ２６１２で、更新されたゲートウェイ２００ｂの外部公開ＩＰアドレスを、機器情報テーブル２９１に記憶することができる。
【０２０８】
このように、第７段階では、ゲートウェイ２００ｂのＩＰアドレスが変化した場合には、機器情報テーブル２９１を変更するだけで、操作端末４０１ａからの宅外ネットワーク経由でのリモートコントロールを継続して実現することができる。
【０２０９】
第５段階のステップＳ２００８、ステップＳ２０１４、ステップＳ２０１８、およびステップＳ２０１５で、機器情報テーブル２９１の更新された外部公開ＩＰアドレス情報を参照してＨＴＴＰリクエストのアドレスが適切に変換され、適切にフォワードされるからである。
【０２１０】
次に、第８段階として、操作端末４０１ｂが、ＰＶＲ３０１ｂの公開ポリシーを変更した場合を想定する。ここでは、機器情報テーブル２９１の公開ポリシーを非公開（private）に変更した場合について説明する。図２７は、第８段階における通信処理を表したシーケンス図である。
【０２１１】
まず、操作端末４０１ｂは、宅内機器情報アクセス制御部２８０に対して、ポリシー制御サービスディスクリプション要求をＨＴＴＰ  ＧＥＴにより送信する（ステップＳ２７０１）。
【０２１２】
宅内機器情報アクセス制御部２８０は、受信したポリシー制御サービスディスクリプション要求に対する応答を返信する（ステップＳ２７０２）。
【０２１３】
操作端末４０１ｂは、返信された応答を参照して、ＰＶＲ３０１ｂの公開ポリシーを「private」に設定するためのアクションを実行する（ステップＳ２７０３）。具体的には、例えば、公開ポリシーを設定するためのポリシー設定アクションメッセージを宅内機器情報アクセス制御部２８０に送信することにより、公開ポリシーを「private」に設定する。
【０２１４】
図２８は、ポリシー設定アクションメッセージの一例を示す説明図である。同図に示すように、ポリシー設定アクションメッセージは、アクション名が「SetPrivacy」であり、引数としてデバイスのＵＵＩＤ値（u:uuid）、ポリシータイプ（u:PolicyType）を指定する。
【０２１５】
ポリシー更新部２８１は、SetPrivacyアクションメッセージを受信し、機器情報テーブル２９１の公開ポリシー情報を「public」から「private」に変更する（ステップＳ２７０４）。また、宅内機器情報アクセス制御部２８０は、SetPrivacyアクションの結果応答を操作端末４０１ｂに送信する（ステップＳ２７０５）。
【０２１６】
この場合、宅内ネットワーク２０ｂのネットワークトポロジは変化していないが、ＰＶＲ３０１ｂが非公開になったため、外部的にはＰＶＲ３０１ｂが宅内ネットワーク２０ｂから離脱したものとして扱う。したがって、内部情報送信部２３２は、ＰＶＲ３０１ｂの情報を削除したＳＩＰ  ＮＯＴＩＦＹメッセージを、仲介サーバ１００を介してゲートウェイ２００ｂに送信する（ステップＳ２７０６、ステップＳ２７０７）。
【０２１７】
ゲートウェイ２００ａの外部情報受信部２２２は、ゲートウェイ２００ｂからのＳＩＰ  ＮＯＴＩＦＹリクエストを受信し、２００ＯＫ応答を仲介サーバ１００を介してゲートウェイ２００ｂに送信する（ステップＳ２７０８、ステップＳ２７０９）。
【０２１８】
また、ゲートウェイ情報取得部２２０は、ＰＶＲ３０１ｂが宅内ネットワーク２０ｂから離脱したことを認識し、機器情報テーブル２９１から、ＰＶＲ３０１ａの情報を削除する（ステップＳ２７１０）。
【０２１９】
次に、遠隔機器情報公開部２４０は、ＰＶＲ３０１ｂに対応する仮想デバイスのＳＳＤＰ  ｂｙｅｂｙｅメッセージを操作端末４０１ａ送信する（ステップＳ２７１１）。操作端末４０１ａでは、ＳＳＤＰ  ｂｙｅｂｙｅメッセージの受信により、ＰＶＲ３０１ｂの離脱を検知する（ステップＳ２７１２）。また、停止部２４２は、対応する仮想デバイス処理を停止する（ステップＳ２７１３）。
【０２２０】
このように、第８段階では、公開ポリシーの変化によって非公開となった機器の情報を適切に他のゲートウェイに通知し、他のゲートウェイでは通知された機器の仮想デバイスを停止することができる。したがって、非公開となった機器の情報を手動で設定する必要がなく、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
【０２２１】
従来の技術では、以下に示すような様々な問題があった。
【０２２２】
第１に、公衆網とローカルネットワークとの間に存在する機器が、グローバルＩＰアドレスを付与されているとは限らないという問題である。すなわち、ＩＳＰ、または、ローカルネットワーク内のＤＨＣＰ（Dynamic Host Configuration Protocol）サーバが一時的なアドレスを提供するために、ブロードバンドルータに付与されるアドレスが、接続する度に変化することがあり得る。
【０２２３】
第２に、宅内機器のＩＰアドレスについても、ＤＨＣＰサーバによって割り振られるために、ローカルネットワークへの接続の度に変化する可能性があるという問題がある。
【０２２４】
第３に、ＵＰｎＰなどの技術は、マルチキャストやブロードキャストプロトコルを多用するために、公衆網上の通信との親和性が悪いという問題がある。
【０２２５】
第４に、特にＵＰｎＰやＳＩＰのようなテキストベースのプロトコルを利用する際に、ヘッダやペイロード（メッセージ本文）にアドレス情報が含まれる可能性に関わる問題がある。すなわち、２つのローカルネットワークと公衆網とが、それぞれ独立したアドレス体系となるため、別のネットワークの通信にアドレスを含むプロトコルヘッダ、ペイロードがそのまま利用されると、トランスポート層以下のアドレス情報と不整合が生じる場合がある。
【０２２６】
これに対し、上述した各段階の通信処理により、以下に述べるような効果を得ることができる。まず、第１段階から第５段階で示したように、操作端末４０１ａは、ネットワーク構成を意識することなく、別の宅内ネットワークに属するＵＰｎＰ機器を、自身が属する宅内ネットワークに存在するＵＰｎＰ機器であるとみなして、リモートコントロールすることができる。
【０２２７】
また、第２段階、第５段階、第７段階で示したように、宅内ネットワークで閉じている限りはマルチキャストパケットで実現されるＵＰｎＰ機器の検索、発見、広告のメカニズムが、宅外ネットワークを経由する際には、ＳＩＰのイベント通知フレームワークを利用した宅内ネットワークトポロジの変更通知メッセージ（ユニキャスト）という形で実現できる。したがって、公衆網上の通信との親和性が高い。
【０２２８】
しかも、宅内ネットワークトポロジ情報を、それが変化した場合に限り、インデックス情報レベルに留めて通知するため、宅外ネットワークに流れるＳＩＰメッセージのサイズ、頻度を極力抑えることができる。
【０２２９】
また、第６段階、第７段階で示したように、制御対象となる他の宅内ネットワーク上のＵＰｎＰ機器のローカルＩＰアドレスや、遠隔のゲートウェイ装置の宅外ネットワーク側のＩＰアドレスが動的に変化しても、操作端末４０１ａからのリモートコントロールを継続して実行することができる。
【０２３０】
さらに、第８段階で示したように、ＵＰｎＰ機器について個別に他の宅内ネットワークへの公開、非公開を設定することができる。
【０２３１】
なお、以上では、各装置のネットワークへの接続状況に応じて想定した各段階についての通信処理を説明した。以下では、各段階で共通的に用いられる構成部単位の機能について説明する。
【０２３２】
まず、外部のゲートウェイの情報を取得して仮想デバイスを生成または停止する仮想デバイス制御処理について説明する。仮想デバイス制御処理は、ゲートウェイ情報取得部２２０および遠隔機器情報公開部２４０の生成部２４１、停止部２４２によって実行される。
【０２３３】
図２９は、仮想デバイス制御処理の全体の流れを示すフローチャートである。なお、仮想デバイス制御処理は、（１）ゲートウェイ２００の起動、（２）他のゲートウェイからの取得要求受信、または、（３）既に取得要求を受信済みのゲートウェイからの情報通知パケットの受信をトリガとして起動される。
【０２３４】
ゲートウェイ２００の起動の場合（１）、ゲートウェイ情報取得部２２０は、ゲートウェイ２００のアクセス許可リストから、情報を取得する他のゲートウェイの情報を取得し（ステップＳ２９０１）、取得した他のゲートウェイに対してＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストを送信する（ステップＳ２９０４）。
【０２３５】
他のゲートウェイからの取得要求受信した場合は（２）、ゲートウェイ情報取得部２２０は、アクセス許可リストに含まれるゲートウェイか否かを判断し（ステップＳ２９０２）、含まれる場合に（ステップＳ２９０２：ＹＥＳ）、他のゲートウェイに対してＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストを送信する（ステップＳ２９０４）。
【０２３６】
なお、アクセス許可リストに含まれない場合は（ステップＳ２９０２：ＮＯ）、ゲートウェイ情報取得部２２０は、情報取得要求を拒否することを示す応答を、当該他のゲートウェイに対して送信し（ステップＳ２９０３）、処理を終了する。
【０２３７】
ステップＳ２９０４でＳＩＰ  ＳＵＢＳＣＲＩＢＥリクエストを送信した後、当該リクエストに対するゲートウェイ情報通知パケットであるＳＩＰ  ＮＯＴＩＦＹリクエストを受信する（ステップＳ２９０５）。
【０２３８】
このようにしてゲートウェイ情報を取得するか、既に取得要求を受信済みのゲートウェイからの情報通知パケットの受信した場合（３）に、ゲートウェイ情報取得部２２０の検出部２２３は、受信したパケットからゲートウェイ情報と配下の遠隔機器の情報とを取得する（ステップＳ２９０６）。
【０２３９】
次に、検出部２２３は、機器情報テーブル２９１から、対応するゲートウェイの情報を取得し、受信したパケットから取得した情報との差分を抽出する（ステップＳ２９０７）。
【０２４０】
次に、検出部２２３は、新規機器が追加されたか否かを判断する（ステップＳ２９０８）。具体的には、検出部２２３は、パケットに含まれる機器のＵＵＩＤと、機器情報テーブル２９１に記憶されている機器のうち、ロケーション情報が「remote」の機器情報のＵＵＩＤとを比較し、機器情報テーブル２９１に含まれないＵＵＩＤがパケットに含まれている場合に、当該ＵＵＩＤに対応する新規機器が追加されたと判断する。
【０２４１】
新規機器が追加された場合は（ステップＳ２９０８：ＹＥＳ）、遠隔機器情報公開部２４０の生成部２４１が、当該新規機器に対応するＵＰｎＰデバイス（仮想デバイス）を生成する（ステップＳ２９０９）。
【０２４２】
新規機器が追加されていない場合（ステップＳ２９０８：ＮＯ）、または仮想デバイスの生成後（ステップＳ２９０９）、検出部２２３は、既に登録されている機器が削除されたか否かを判断する（ステップＳ２９１０）。
【０２４３】
具体的には、検出部２２３は、パケットに含まれる機器のＵＵＩＤと、機器情報テーブル２９１に記憶されている機器のうち、ロケーション情報が「remote」のＵＵＩＤとを比較し、機器情報テーブル２９１に登録されていたＵＵＩＤがパケットに含まれていない場合に、当該ＵＵＩＤに対応する機器が削除されたと判断する。
【０２４４】
既登録機器が削除された場合は（ステップＳ２９１０：ＹＥＳ）、遠隔機器情報公開部２４０の停止部２４２が、当該機器に対応するＵＰｎＰデバイス（仮想デバイス）を停止する（ステップＳ２９１１）。
【０２４５】
さらに、ゲートウェイ情報取得部２２０は、追加または削除した機器の情報で機器情報テーブル２９１を更新する（ステップＳ２９１２）。なお、ゲートウェイ情報取得部２２０は、受信した情報に含まれる他のゲートウェイの外部公開ＩＰアドレスが変化していた場合には、当該他のゲートウェイの配下の宅内機器情報の外部公開ＩＰアドレスを全て変化後のアドレスに書き換える。
【０２４６】
次に、ゲートウェイ内部の機器の情報を取得して公開するゲートウェイ情報公開処理について説明する。ゲートウェイ情報公開処理は、宅内機器情報取得部２６０、ゲートウェイ情報公開部２３０、ゲートウェイ情報登録部２１０によって実行される。
【０２４７】
図３０は、ゲートウェイ情報公開処理の全体の流れを示すフローチャートである。なお、ゲートウェイ情報公開処理は、（１）、宅内機器からのＳＳＤＰパケットの受信、（２）公開ポリシー設定要求パケット（SetPrivacyアクションメッセージ）の受信、または、（３）ゲートウェイの宅外ネットワークアドレス（公衆網側ＩＰアドレス）の変化をトリガとして起動される。
【０２４８】
ＳＳＤＰパケットを受信した場合は（１）、宅内機器情報取得部２６０の内部情報要求部２６１が該当する宅内機器の情報を機器情報テーブル２９１から取得し、差分を検出する（ステップＳ３００１）。
【０２４９】
なお、ＳＳＤＰパケットの受信は、内部情報要求部２６１が、ＳＳＤＰ  ｄｉｓｃｏｖｅｒメッセージを送信することによって能動的に受信するか、または、宅内機器からＳＳＤＰ  ａｌｉｖｅ、ＳＳＤＰ  ｂｙｅｂｙｅメッセージを受動的に受信することによって実現される。
【０２５０】
次に、内部情報要求部２６１は、情報が変化したか否かを判断する（ステップＳ３００２）。具体的には、受信したＳＳＤＰパケットに含まれるＵＵＩＤが機器情報テーブル２９１に記憶されていない場合は新規機器の追加と判断し、機器情報テーブル２９１に含まれるＵＵＩＤがＳＳＤＰパケットに含まれない場合は、機器が離脱したと判断する。また、機器情報テーブル２９１に登録済みのＵＵＩＤに対しては、ＩＰアドレス等が変更されていないかを判断する。
【０２５１】
情報が変化していない場合は（ステップＳ３００２：ＮＯ）、情報を公開する必要がないため、ゲートウェイ情報公開処理を終了する。情報が変化している場合は（ステップＳ３００２：ＹＥＳ）、内部情報要求部２６１は、機器情報テーブル２９１の該当する機器情報の登録、更新または削除処理を実行する（ステップＳ３００３）。
【０２５２】
このようにして、ＳＳＤＰパケットの受信により、宅内ネットワーク２０のトポロジの変化を検出することができる。
【０２５３】
公開ポリシー設定要求パケットを受信した場合は（２）、宅内機器情報アクセス制御部２８０のポリシー更新部２８１が、該当機器の公開ポリシーを機器情報テーブル２９１から取得し、当該パケットの要求と比較する（ステップＳ３００４）。
【０２５４】
次に、ポリシー更新部２８１は、公開ポリシーが変化したか否かを判断する（ステップＳ３００５）。具体的には、公開ポリシー設定要求パケットに含まれるＵＵＩＤに対して設定されている公開ポリシーを機器情報テーブル２９１から取得し、当該パケット内の公開ポリシーと比較することにより、公開ポリシーが変化したか否かを判断する。
【０２５５】
公開ポリシーが変化していない場合は（ステップＳ３００５：ＮＯ）、情報を公開する必要がないため、ゲートウェイ情報公開処理を終了する。公開ポリシーが変化している場合は（ステップＳ３００５：ＹＥＳ）、ポリシー更新部２８１は、機器情報テーブル２９１の該当する機器の公開ポリシーを更新する（ステップＳ３００６）。
【０２５６】
ゲートウェイの公衆網側ＩＰアドレスが変化した場合は（３）、ゲートウェイ情報登録部２１０は、機器情報テーブル２９１に記憶されている宅内機器情報の外部公開アドレスをすべて変更する（ステップＳ３００７）。なお、宅外ネットワークアドレスの変化は、利用するネットワークインタフェース状態を監視しておくことで検知できる。
【０２５７】
ステップＳ３００３、ステップＳ３００６、またはステップＳ３００７で機器情報テーブル２９１を更新した後、ゲートウェイ情報公開部２３０の内部情報送信部２３２は、アクセス許可リストに含まれ、情報取得要求を受付けた他のゲートウェイに対して変更を通知する（ステップＳ３００８）。
【０２５８】
具体的には、内部情報送信部２３２は、ＳＩＰ通信に利用するゲートウェイ２００の情報と、機器情報テーブル２９１に含まれる宅内ネットワーク２０内のＵＰｎＰデバイス情報とを、ＳＩＰのＮＯＴＩＦＹリクエストを利用して、他のゲートウェイに通知する。
【０２５９】
このように、本実施の形態にかかるゲートウェイ装置では、公衆網を介して互いに通信を行う外部のゲートウェイ装置との間で、通信に必要なゲートウェイ装置の情報や内部ネットワークの機器の情報を、仲介サーバを介して相互に通知することができる。このため、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
【０２６０】
また、ゲートウェイ装置は、定期的なパケット送信により仲介サーバとの接続を維持することができるため、ゲートウェイ装置がＮＡＴ配下に存在する場合であっても、仲介サーバを介して外部ゲートウェイとの通信を行うことができる。
【０２６１】
図３１は、本実施の形態にかかるゲートウェイ装置のハードウェア構成を示す説明図である。
【０２６２】
本実施の形態にかかるゲートウェイ装置は、ＣＰＵ（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）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０２６４】
また、本実施の形態にかかるゲートウェイ装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかるゲートウェイ装置で実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０２６５】
また、本実施の形態の通信プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０２６６】
本実施の形態にかかるゲートウェイ装置で実行される通信プログラムは、上述した各部（ゲートウェイ情報登録部、ゲートウェイ情報取得部、ゲートウェイ情報公開部、遠隔機器情報公開部、通信内容変更部、宅内機器情報取得部、宅内機器情報公開部、宅内機器情報アクセス制御部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０２６７】
以上のように、本発明にかかるゲートウェイ装置、通信方法および通信プログラムは、複数のローカルネットワーク相互間の公衆網を介した通信を中継するゲートウェイ装置に適している。
【図面の簡単な説明】
【０２６８】
【図１】ネットワーク構成の一例を示す説明図である。
【図２】本実施の形態にかかるゲートウェイの構成を示すブロック図である。
【図３】機器情報テーブルのデータ構造の一例を示す説明図である。
【図４】機器情報テーブルのデータ構造の一例を表す説明図である。
【図５】第１段階における通信処理を表したシーケンス図である。
【図６】ＳＳＤＰ  ａｌｉｖｅメッセージの一例を示す説明図である。
【図７】第２段階における通信処理を表したシーケンス図である。
【図８】第２段階における通信処理を表したシーケンス図である。
【図９】第２段階における通信処理を表したシーケンス図である。
【図１０】ＳＩＰ  ＮＯＴＩＦＹリクエストの具体例を示した説明図である。
【図１１】ＳＩＰ  ＩＮＶＩＴＥリクエストの一例を示す説明図である。
【図１２】２００ＯＫレスポンスの一例を示す説明図である。
【図１３】アドレス変換前のＨＴＴＰリクエストの一例を示す説明図である。
【図１４】アドレス変換後のＨＴＴＰリクエストの一例を示す説明図である。
【図１５】アドレス変換後のＨＴＴＰリクエストの一例を示す説明図である。
【図１６】変換後のディスクリプション情報の一例を示す説明図である。
【図１７】ゲートウェイ情報を取得する際の通信処理を表したシーケンス図である。
【図１８】第３段階における通信処理を表したシーケンス図である。
【図１９】第４段階における通信処理を表したシーケンス図である。
【図２０】第５段階における通信処理を表したシーケンス図である。
【図２１】第５段階における通信処理を表したシーケンス図である。
【図２２】操作端末から送信されるメッセージの一例を示す説明図である。
【図２３】ＳＤＰ情報の一例を示した説明図である。
【図２４】Ｂｒｏｗｓｅレスポンスの一例を示す説明図である。
【図２５】第６段階における通信処理を表したシーケンス図である。
【図２６】第７段階における通信処理を表したシーケンス図である。
【図２７】第８段階における通信処理を表したシーケンス図である。
【図２８】ポリシー設定アクションメッセージの一例を示す説明図である。
【図２９】仮想デバイス制御処理の全体の流れを示すフローチャートである。
【図３０】ゲートウェイ情報公開処理の全体の流れを示すフローチャートである。
【図３１】本実施の形態にかかるゲートウェイ装置のハードウェア構成を示す説明図である。
【符号の説明】
【０２６９】
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
６１  バス
１０  宅外ネットワーク
２０ａ、２０ｂ  宅内ネットワーク
１００  仲介サーバ
２００ａ、２００ｂ  ゲートウェイ
２１０  ゲートウェイ情報登録部
２２０  ゲートウェイ情報取得部
２２１  外部情報要求部
２２２  外部情報受信部
２２３  検出部
２３０  ゲートウェイ情報公開部
２３１  情報要求受信部
２３２  内部情報送信部
２４０  遠隔機器情報公開部
２４１  生成部
２４２  停止部
２４３  外部アクセス要求受信部
２４４  通信確立要求部
２４５  確立応答受信部
２４６  外部アクセス要求転送部
２４７  外部アクセス応答受信部
２４８  外部アクセス応答転送部
２５０  通信内容変更部
２５１  ローカルアドレス変換部
２５２  グローバルアドレス変換部
２６０  宅内機器情報取得部
２６１  内部情報要求部
２６２  内部情報受信部
２７０  宅内機器情報公開部
２７１  確立要求受信部
２７２  確立応答送信部
２７３  内部アクセス要求受信部
２７４  内部アクセス要求転送部
２７５  内部アクセス応答受信部
２７６  内部アクセス応答転送部
２８０  宅内機器情報アクセス制御部
２８１  ポリシー更新部
２９０  記憶部
２９１  機器情報テーブル
３０１ａ、３０１ｂ、３０２ｂ  ＰＶＲ
４０１ａ、４０１ｂ  操作端末
【図１】
2008017122.tif 000003
【図２】
2008017122.tif 000004
【図３】
2008017122.tif 000005
【図４】
2008017122.tif 000006
【図５】
2008017122.tif 000007
【図６】
2008017122.tif 000008
【図７】
2008017122.tif 000009
【図８】
2008017122.tif 000010
【図９】
2008017122.tif 000011
【図１０】
2008017122.tif 000012
【図１１】
2008017122.tif 000013
【図１２】
2008017122.tif 000014
【図１３】
2008017122.tif 000015
【図１４】
2008017122.tif 000016
【図１５】
2008017122.tif 000017
【図１６】
2008017122.tif 000018
【図１７】
2008017122.tif 000019
【図１８】
2008017122.tif 000020
【図１９】
2008017122.tif 000021
【図２０】
2008017122.tif 000022
【図２１】
2008017122.tif 000023
【図２２】
2008017122.tif 000024
【図２３】
2008017122.tif 000025
【図２４】
2008017122.tif 000026
【図２５】
2008017122.tif 000027
【図２６】
2008017122.tif 000028
【図２７】
2008017122.tif 000029
【図２８】
2008017122.tif 000030
【図２９】
2008017122.tif 000031
【図３０】
2008017122.tif 000032
【図３１】
2008017122.tif 000033