JP4817997B2 - ゲートウェイ装置、通信方法および通信プログラム - Google Patents

ゲートウェイ装置、通信方法および通信プログラム Download PDF

Info

Publication number
JP4817997B2
JP4817997B2 JP2006185633A JP2006185633A JP4817997B2 JP 4817997 B2 JP4817997 B2 JP 4817997B2 JP 2006185633 A JP2006185633 A JP 2006185633A JP 2006185633 A JP2006185633 A JP 2006185633A JP 4817997 B2 JP4817997 B2 JP 4817997B2
Authority
JP
Japan
Prior art keywords
message
information
gateway
communication
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006185633A
Other languages
English (en)
Other versions
JP2008017122A (ja
Inventor
大介 安次富
圭一 寺本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006185633A priority Critical patent/JP4817997B2/ja
Publication of JP2008017122A publication Critical patent/JP2008017122A/ja
Application granted granted Critical
Publication of JP4817997B2 publication Critical patent/JP4817997B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

この発明は、複数の宅内ネットワーク相互間の通信を中継するゲートウェイ装置、通信方法および通信プログラムに関するものである。
近年、パーソナルコンピュータのみならず、白物家電やAV機器までもがネットワーク通信機能を搭載し、インターネットへの接続や、他の機器へのアクセスにより、単体では提供できなかった機能をユーザに対して提供可能となっている。
このようなネットワーク通信機能を搭載した家電機器の利用形態としては、インターネット上のiEPG(Internet Electronic Program Guide)等のコンテンツとの連携のような宅内ネットワークから公衆網への一方向アクセス(以下、第1の利用形態と呼ぶ)、宅内のAV機器間で映像コンテンツを転送するような宅内ネットワークに閉じた機器相互アクセス(以下、第2の利用形態と呼ぶ)、および、携帯電話からPVR(Personal Video Recorder)の録画予約を行うような公衆網から宅内ネットワークへの一方向アクセス(以下、第3の利用形態と呼ぶ)などが想定される。
一方、公衆網を経由して2つの宅内ネットワーク上の機器が相互アクセスするような利用形態(以下、第4の利用形態と呼ぶ)も想定される。第4の利用形態としては、例えば、親しい友人や親戚とプライベートなコンテンツ(映像、写真等)を相互に交換する利用形態、自分が録画した映画やテレビ番組を友人宅から自宅のAV機器にアクセスして再生する利用形態、自宅の監視カメラの映像を知人宅や会社から確認する利用形態、宅内ネットワークに接続されたデジタルテレビを利用してビジュアルコミュニケーションを行う利用形態などが考えられる。
第4の利用形態の実現方式として、特許文献1では、宅内ネットワークである複数のホームネットと公衆網との間に存在するゲートウェイとして動作するUPnP(Universal Plug and Play)デバイスプロキシを用いた技術が提案されている。
この技術では、宅内ネットワーク内の機器のUPnPデバイスのSSDP(Simple Service Discovery Protocol) aliveパケット、またはSSDP byebyeパケットを一方のUPnPデバイスプロキシが受信すると、他方のUPnPデバイスプロキシに公衆網経由で当該パケットを通知する。そして、パケットを受信したUPnPデバイスプロキシは、UPnPデバイスが自身で管理する宅内ネットワーク内に存在するように見せかけるために、SSDPプロトコルに変換して送信する。
特開2005−311773号公報
しかしながら、特許文献1の方法では、ネットワークや装置の設定の負担が大きいという問題があった。例えば、特許文献1の方法では、UPnPデバイスプロキシ装置登録サーバ等を用いて事前にIPアドレスやホスト名等の登録処理を行う必要があった。このため、動的なアドレス変化に追従できなかった。
また、特許文献1の方法では、NAT(Network Address Translation)を越えた通信を行うことができなかった。このため、UPnPデバイスプロキシ装置をNAT配下でも利用するためには、NATを手動で設定し、適切なポートフォワードを可能とする必要がある。この場合、メッセージに含まれるアドレス情報をNATの設定に合わせて変換するためのルールを手動で登録しなければならない。
また、UPnPデバイスプロキシ装置または宅内ネットワーク内の機器である宅内機器のアドレスが変化した場合は、それに合わせてUPnPデバイスプロキシ装置の設定を変更しなければならない。さらに、常に双方のUPnPデバイスプロキシ装置がお互いの認識する固定ポート番号をあけておかなければならないといった設定の複雑さに関わる問題が存在する。
また、UPnPデバイスプロキシ装置は、UPnPデバイスの公開、非公開を設定する方法も持たないため、配下のUPnPデバイスがUPnPデバイスプロキシ装置を介して全て公開されるという問題もあった。
また、UPnPデバイスプロキシ装置は、受信したSSDPパケットをそのまま(あるいは変換して)、もう一方の装置に公衆網経由で通知するが、SSDPパケットは実際上、非常に頻繁に送信されるものであり、常に公衆網からSSDPパケットを受信したり、公衆網に対してSSDPパケットを送信したりすることは、セキュリティ上、および中継装置への処理負荷上、問題がある。
本発明は、上記に鑑みてなされたものであって、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができ、かつ、NATを越えた通信を行うことができるゲートウェイ装置、通信方法および通信プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、アクセス対象となる機器に第1ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第2ローカルネットワークを介して接続されたゲートウェイ装置であって、前記機器に関する機器情報の取得を要求する第1メッセージを前記仲介サーバに送信する外部情報要求手段と、前記機器情報を含む第2メッセージを前記仲介サーバから受信する外部情報受信手段と、受信した前記第2メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成手段と、前記外部ゲートウェイ装置のグローバルアドレスを記憶可能な第1記憶手段と、前記仮想デバイスに対するアクセス要求である第3メッセージを前記操作端末から受信する外部アクセス要求受信手段と、前記第3メッセージを受信した場合に、前記外部ゲートウェイ装置との通信の確立を要求する第4メッセージを前記仲介サーバに送信する通信確立要求手段と、送信した前記第4メッセージに対する応答であり、前記グローバルアドレスを含む第5メッセージを前記仲介サーバから受信し、受信した前記第5メッセージに含まれる前記グローバルアドレスを前記第1記憶手段に記憶する確立応答受信手段と、を備え、前記確立応答受信手段は、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、を特徴とする。
また、本発明は、アクセスの対象となる機器と前記機器にアクセスする第1操作端末とに第1ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第2操作端末に第2ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置であって、前記機器に関する機器情報を記憶可能な記憶手段と、前記機器情報の取得を要求する第1メッセージを前記機器に送信する内部情報要求手段と、前記機器情報を含む第2メッセージを前記機器から受信し、受信した前記第2メッセージに含まれる前記機器情報を前記記憶手段に記憶する内部情報受信手段と、前記機器情報の取得を要求する第3メッセージを前記仲介サーバから受信する情報要求受信手段と、前記情報要求受信手段が前記第3メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第4メッセージを前記仲介サーバに送信する内部情報送信手段と、通信の確立を要求する第5メッセージを前記仲介サーバから受信する確立要求受信手段と、前記第5メッセージに対する応答であり、前記グローバルアドレスを含む第6メッセージを送信する確立応答送信手段と、を備え、前記確立要求受信手段は、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、を特徴とする。
また、本発明は、上記装置を実行することができる通信方法および通信プログラムである。
本発明によれば、通信に必要な情報を、仲介サーバを介して通知することができるため、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができるという効果を奏する。
また、各ゲートウェイ装置が、仲介サーバとの通信コネクションを維持し続けることにより、NAT配下の機器であっても、外部情報を受信することができる。また、宅内ネットワークのネットワークトポロジが変化したときのみ、相手に情報を通知する仕組みを取るため、無駄なメッセージを公衆網経由で送受する必要がないという効果を奏する。
以下に添付図面を参照して、この発明にかかるゲートウェイ装置、通信方法および通信プログラムの最良な実施の形態を詳細に説明する。
本実施の形態にかかるゲートウェイ装置は、公衆網を介して互いに通信を行う外部のゲートウェイ装置との間で、通信に必要なゲートウェイ装置の情報や内部ネットワークの機器の情報を、仲介サーバを介して相互に通知するものである。
図1は、本実施の形態にかかるゲートウェイ装置を含む通信システムのネットワーク構成の一例を示す説明図である。同図に示すように本通信システムは、ローカルネットワークである宅内ネットワーク20aと、インターネットなどのグローバルネットワークである宅外ネットワーク10とを接続するゲートウェイ200aと、ローカルネットワークである宅内ネットワーク20bと、宅外ネットワーク10とを接続するゲートウェイ200bを含んでいる。
宅内ネットワーク20a、20bは、例えばIEEE(Institute of Electrical and Electronic Engineers)802ネットワークなどのLAN(Local Area Network)である。宅内ネットワーク20aには、UPnP AVに準拠したPVR301aと、操作端末401aとが接続されている。宅内ネットワーク20bには、PVR301b、PVR302bと、操作端末401bとが接続されている。
PVR301a、301b、およびPVR302bは、UPnP AV(Audio Video)に準拠した機器であり、例えば、マルチメディアコンテンツ(フォルダおよびコンテンツ)を記憶したメディアサーバ装置(MSD:Media Server Device)である。
操作端末401a、401bは、例えばパーソナルコンピュータやデジタルテレビに搭載されたUPnPコントロールポイント機能と、マルチメディアコンテンツ再生表示機能とを有したアプリケーションを実行する端末である。
ゲートウェイ200a、200bは、宅外ネットワーク10上では、SIP端末装置として振る舞い、互いに他のゲートウェイが公開するUPnPデバイスの情報を取得する機能を有する。
また、ゲートウェイ200a、200bは、互いに他のゲートウェイから取得したUPnPデバイス情報に応じて、任意の数の仮想的なUPnPデバイスをそれぞれ宅内ネットワーク20a、20bに公開する機能を有する。
さらに、ゲートウェイ200a、200bは、それぞれ宅内ネットワーク20a、20b上のUPnPデバイス情報を集積し、SIPの枠組みで集積した情報を互いにゲートウェイ200bに公開する機能を有している。
このように、ゲートウェイ200a、200bは、それぞれ宅内ネットワーク20a、20b上では、UPnPのコントロールポイント、かつ、UPnPデバイスとして振舞うような機能を有する。
宅外ネットワーク10には、仲介サーバ100が接続されている。仲介サーバ100は、SIPレジストラ、およびSIPプロキシとして振舞う。すなわち、仲介サーバ100は、SIPレジストラの機能として、ゲートウェイ200b、およびゲートウェイ200aからの認証要求や登録要求を受け付け、各ゲートウェイ200の情報を保持する。
また、仲介サーバ100は、SIPプロキシの機能として、ゲートウェイ200aとゲートウェイ200bとの間のSIP通信を中継する。
仲介サーバ100は、ゲートウェイ200aとゲートウェイ200bとが、双方の配下に接続された各PVRのリモートコントロールや、各PVRが保持するマルチメディアコンテンツの送受信が許可されているか否かを判断するなど、アクセス制御を行う機能も有する。さらに、仲介サーバ100は、ゲートウェイ200aとゲートウェイ200bが、リモートコントロールやマルチメディアコンテンツの送受信を行うことを許可するための登録を行う機能を有する。
なお、ゲートウェイ200a、200bは同一の構成を有するため、以下では、単にゲートウェイ200という場合がある。同様に、宅内ネットワーク20a、20bを宅内ネットワーク20と、PVR301a、301bをPVR301と、操作端末401a、401bを操作端末401という場合がある。
また、相互接続する宅内ネットワーク20やゲートウェイ200は2つに限られるものではないし、宅内ネットワーク20内のPVR301や操作端末401の個数にも制限はない。すなわち、任意の個数のPVR301を、任意の個数の外部のネットワークに対して公開して、任意の個数の操作端末401から操作することができる。
図2は、本実施の形態にかかるゲートウェイ200の構成を示すブロック図である。同図に示すように、ゲートウェイ200は、ゲートウェイ情報登録部210と、ゲートウェイ情報取得部220と、ゲートウェイ情報公開部230と、遠隔機器情報公開部240と、通信内容変更部250と、宅内機器情報取得部260と、宅内機器情報公開部270と、宅内機器情報アクセス制御部280と、記憶部290と、を備えている。
以下では、ゲートウェイ200a側から見た各構成の機能を説明するが、ゲートウェイ200bも同様の機能を有することは上述のとおりである。
ゲートウェイ情報登録部210は、ゲートウェイ200aの情報を仲介サーバ100に登録するものである。具体的には、ゲートウェイ情報登録部210は、SIP REGISTERリクエストを仲介サーバ100に送信することにより、ゲートウェイ200aの情報を登録する。
また、ゲートウェイ情報登録部210は、維持要求送信部211を備えている。維持要求送信部211は、仲介サーバ100との通信接続を維持するために、通信接続がタイムアウトする時間よりも短い周期で、仲介サーバ100対して通信パケットを定期的に送信するものである。
ゲートウェイ情報取得部220は、他のゲートウェイ装置であるゲートウェイ200bの情報を取得するものである。ゲートウェイ情報取得部220は、外部情報要求部221と、外部情報受信部222と、検出部223と、を備えている。
外部情報要求部221は、仲介サーバ100を介して、SIP SUBSCRIBEリクエストをゲートウェイ200bに送信することにより、ゲートウェイ200bの情報やゲートウェイ200bの配下の機器の情報の取得を要求するものである。配下の機器とは、宅内ネットワーク20bに接続されたPVR301b、302bなどの機器をいう。
外部情報受信部222は、情報の取得要求に対してゲートウェイ200bが返信した情報を、仲介サーバ100を介して受信するものである。
検出部223は、外部情報受信部222により受信された情報と、過去に受信して記憶部290に記憶された情報とを比較することにより、ゲートウェイ200bの配下の機器が宅内ネットワーク20bに対して追加または削除されたか否かを検出するものである。検出部223による検出方法の詳細については後述する。
ゲートウェイ情報公開部230は、ゲートウェイ200bから情報の取得要求を受信した場合に、ゲートウェイ200aの情報や宅内ネットワーク20aの配下の機器の情報を、ゲートウェイ200bに対して送信することにより、これらの情報を公開するものである。ゲートウェイ情報公開部230は、情報要求受信部231と、内部情報送信部232と、を備えている。
情報要求受信部231は、ゲートウェイ200bから送信された情報取得要求であるSIP SUBSCRIBEリクエストを、仲介サーバ100を介して受信するものである。また、情報要求受信部231は、SIP SUBSCRIBEリクエストに対する200OKレスポンスを、仲介サーバ100を介してゲートウェイ200bに送信する。
内部情報送信部232は、受信したSIP SUBSCRIBEリクエストに対し、記憶部290に記憶されている機器の情報やゲートウェイ200aの情報をSIP NOTIFYリクエストを用いて送信するものである。
遠隔機器情報公開部240は、ゲートウェイ200bの配下の機器(遠隔機器)をソフトウェアで模擬実行する仮想デバイスを生成して公開することにより、当該機器が、ゲートウェイ200aが管理する宅内ネットワーク20a内の機器であるかのようにアクセス可能とするものである。
遠隔機器情報公開部240は、生成部241と、停止部242と、外部アクセス要求受信部243と、通信確立要求部244と、確立応答受信部245と、外部アクセス要求転送部246と、外部アクセス応答受信部247と、外部アクセス応答転送部248と、を含んでいる。
生成部241は、外部情報受信部222が受信したゲートウェイ200bの配下の機器の情報に従って、当該機器の仮想デバイスを生成するものである。具体的には、生成部241は、未使用のローカルIPアドレスおよびローカルポート番号を割り当てた仮想デバイスを生成する。
生成した仮想デバイスプロセスは、初期状態では、宅内ネットワーク20a上でのSSDP通信機能のみを有し、起動時には、SSDP aliveメッセージを定期的に送信し、停止されるときには、SSDP byebyeメッセージを送信し、SSDP discoverメッセージを受信すると、適切なレスポンスを返す。
通信が確立され、対応する機器のデバイスディスクリプション情報を取得して機器情報テーブル291に記憶した後は、仮想デバイスプロセスは、SSDP通信機能(UPnPのDiscoveryステップ)のみならず、ディスクリプション提供機能(UPnPのDescriptionステップ)も実行可能となる。
停止部242は、検出部223により、ゲートウェイ200bの配下の機器が宅内ネットワーク20bから削除されたことが検出された場合に、対応する機器の仮想デバイスを停止するものである。
外部アクセス要求受信部243は、ゲートウェイ200aの配下の操作端末401aから、仮想デバイスに対するアクセス要求を受信するものである。アクセス要求とは、操作端末401aが送信したディスクリプション要求、アクション要求、クエリ要求(UPnPのControlステップ)や、イベント取得要求(UPnPのEventingステップ)などの機器に対する各種処理を要求するメッセージをいう。
通信確立要求部244は、操作端末401aから仮想デバイスに対するアクセス要求を受信した場合に、当該仮想デバイスに対応する機器を管理するゲートウェイ200bに対して、仲介サーバ100を介して通信の確立を要求するものである。
具体的には、通信確立要求部244は、SDP(Session Description Protocol)で表した情報であり、通信確立に必要な情報をペイロードに含むSIP INVITEリクエストを仲介サーバ100に対して送信する。
確立応答受信部245は、通信確立の要求に対して仲介サーバ100から返信された応答を受信するものである。具体的には、確立応答受信部245は、通信確立の要求に対してゲートウェイ200bが返信したメッセージであり、アクセス対象の機器のグローバルアドレスである外部公開IPアドレスおよび外部公開ポート番号と、ディスクリプションパスとをペイロード部に含むSIP 200OKを、仲介サーバ100を介して受信する。この際、確立応答受信部245は、受信した外部公開IPアドレス等の情報を記憶部290に記憶する。また、例えば、確立応答受信部245は、このとき通信確立要求時に提示した外部公開ポート番号を開いてもよい。
外部アクセス要求転送部246は、通信が確立した場合に、確立した通信を用いて、アクセス要求をゲートウェイ200bに転送するものである。この際、外部アクセス要求転送部246は、後述するローカルアドレス変換部251がアドレスを変換したアクセス要求を、ゲートウェイ200bに転送する。
外部アクセス応答受信部247は、外部アクセス要求転送部246が転送したアクセス要求に対し、ゲートウェイ200bが返信した応答メッセージを受信するものである。具体的には、外部アクセス応答受信部247は、ディスクリプション要求などのHTTPメッセージに対してゲートウェイ200bが返信した、ディスクリプション情報などを含むHTTPレスポンスを受信する。
外部アクセス応答転送部248は、外部アクセス応答受信部247が受信したアクセス要求に対する応答メッセージを、アクセス要求を行った操作端末401aに転送するものである。この際、外部アクセス応答転送部248は、後述するグローバルアドレス変換部252がアドレスを変換した応答メッセージを、操作端末401aに転送する。
通信内容変更部250は、ゲートウェイ200bとの間で送受信するメッセージ内のアドレスを変換するものであり、ローカルアドレス変換部251と、グローバルアドレス変換部252とを備えている。
ローカルアドレス変換部251は、メッセージ内のローカルアドレスを外部との通信に利用可能なグローバルアドレスに変換するものである。具体的には、ローカルアドレス変換部251は、操作端末401aにより送信されたアクセス要求のメッセージに含まれる仮想デバイスのローカルアドレスを、当該仮想アドレスに対応する機器にアクセスするためのアドレスであり、ゲートウェイ200bから受信したグローバルアドレスに変換する。
また、ローカルアドレス変換部251は、ゲートウェイ200bからのアクセス要求に対してPVR301aが返信した応答メッセージ内のローカルアドレスを、ゲートウェイ200aの外部公開用のアドレスに変換する。
グローバルアドレス変換部252は、メッセージ内のグローバルアドレスを宅内ネットワーク20a内部の装置との通信に利用可能なローカルアドレスに変換するものである。具体的には、グローバルアドレス変換部252は、アクセス要求に対してゲートウェイ200bから返信された応答メッセージ内のグローバルアドレスを、アクセス要求の送信先であった仮想デバイスのローカルアドレスに変換する。
また、グローバルアドレス変換部252は、ゲートウェイ200bからのアクセス要求に含まれるグローバルアドレス(ゲートウェイ200aの外部公開アドレス)を、アクセス要求の対象であるPVR301aのローカルアドレスに変換する。
宅内機器情報取得部260は、宅内ネットワーク20a内の機器であるPVR301aの情報を取得するものである。宅内機器情報取得部260は、内部情報要求部261と、内部情報受信部262とを備えている。
内部情報要求部261は、PVR301aに対してSSDP discoverメッセージ、およびPVR301aのデバイスディスクリプションを取得するためのHTTP GETリクエストメッセージを送信するものである。
内部情報受信部262は、SSDP discoverメッセージに対する応答、またはHTTP GETリクエストメッセージに対して返信されたPVR301bのデバイスディスクリプションを受信するものである。また、内部情報受信部262は、受信したデバイスディスクリプションに含まれる機器の情報を記憶部290に保存する。
宅内機器情報公開部270は、宅内ネットワーク20a内の機器であるPVR301aの情報をゲートウェイ200bに送信することにより、ゲートウェイ200bから操作可能とするものである。
宅内機器情報公開部270は、SIPシグナリング通信機能と、SIPシグナリング通信によって構築されるデータチャネルを利用した任意のIPベースのプロトコル通信機能を有し、それぞれの通信機能を介した他のゲートウェイ装置からのメッセージ受信をトリガとして起動される。
宅内機器情報公開部270は、確立要求受信部271と、確立応答送信部272と、内部アクセス要求受信部273と、内部アクセス要求転送部274と、内部アクセス応答受信部275と、内部アクセス応答転送部276と、を備えている。
確立要求受信部271は、ゲートウェイ200bが送信した通信確立の要求を、仲介サーバ100を介して受信するものである。具体的には、確立要求受信部271は、SIPシグナリング通信機能を介してSIP INVITEリクエストを受信する。
確立応答送信部272は、受信した通信確立の要求に対する応答を、仲介サーバ100を介してゲートウェイ200bに送信するものである。具体的には、確立応答送信部272は、ゲートウェイ200aのグローバルアドレスである外部公開IPアドレスおよび外部公開ポート番号と、ディスクリプションパスとをペイロード部に含むSIP 200OKを、仲介サーバ100に送信する。
この際、確立応答送信部272は、確立要求受信部271が受信したSIP INVITEリクエストのペイロードに含まれるSDP情報のメディア属性情報として含まれるパス情報と機器情報テーブル291を参照し、アクセス対象となる宅内機器を判別する。そして、当該宅内機器へのアクセスに割り当てた外部公開ポート番号をSIP INVITEリクエストに対するレスポンスのメディア情報として返す。また、例えば、確立応答送信部272は、このときメディア情報に指定した外部公開ポート番号を開いてもよい。
なお、宅内機器情報公開部270は、確立応答送信部272が応答したポート番号を開いて通信を開始する。
内部アクセス要求受信部273は、PVR301aに対するアクセス要求をゲートウェイ200bから受信するものである。例えば、ゲートウェイ200bが生成したPVR301aに対応する仮想デバイスに対して、操作端末401bがアクセス要求を行った場合に、当該アクセス要求がゲートウェイ200bを介して転送され、内部アクセス要求受信部273によって受信される。
内部アクセス要求転送部274は、内部アクセス要求受信部273が受信したアクセス要求をPVR301aに転送するものである。この際、内部アクセス要求転送部274は、アクセス要求に含まれるポート番号からアクセス対象の宅内機器を判定し、グローバルアドレス変換部252がアドレスを変換したアクセス要求を、PVR301aに転送する。
内部アクセス応答受信部275は、アクセス要求を転送したPVR301aから、当該アクセス要求に対する応答を受信するものである。
内部アクセス応答転送部276は、内部アクセス応答受信部275が受信したアクセス要求に対する応答メッセージを、ゲートウェイ200bに転送するものである。この際、内部アクセス応答転送部276は、ローカルアドレス変換部251がアドレスを変換した応答メッセージを、ゲートウェイ200bに転送する。
宅内機器情報アクセス制御部280は、宅内ネットワーク20aの機器の公開ポリシーを制御するものであり、ポリシー更新部281を備えている。公開ポリシーとは、当該機器を外部ネットワークからアクセス可能とするか否かを表す情報をいう。
ポリシー更新部281は、操作端末401aから、公開ポリシーを変更する機器の情報を受信し、受信した公開ポリシーで当該機器の公開ポリシーを更新するものである。
ポリシー更新部281を含む宅内機器情報アクセス制御部280の機能は、例えば、公開ポリシー情報を設定するための機能を備えたUPnPデバイスとして提供するように構成することができる。すなわち、宅内のUPnP機器のポリシー設定情報を取得するアクションや、各UPnP機器のポリシー設定を行うアクションがUPnPサービスとして提供される。
記憶部290は、ゲートウェイ200を介した通信に必要な情報を記憶する機器情報テーブル291を格納している。図3は、機器情報テーブル291のデータ構造の一例を示す説明図である。
同図に示すように、機器情報テーブル291は、アクセス対象となる機器を一意に識別する時不変のデバイス識別情報であるUUID(Universal Unique Identifier)と、機器のローカルIPアドレスと、ローカルポート番号と、機器が所属するゲートウェイのSIPアドレスと、外部公開IPアドレスと、SIP通信用外部公開ポート番号と、HTTP(HyperText Transfer Protocol)通信用外部公開ポート番号と、公開ポリシーと、ロケーションと、ディスクリプションパスと、デバイスタイプと、内部デバイス情報と、サービス情報と、を対応づけて格納している。
外部公開IPアドレスとは、当該機器について外部に公開するIPアドレスである。HTTP通信用外部公開ポート番号とは、当該機器がHTTPで外部装置と通信するときに用いるポート番号である。
外部公開IPアドレスとHTTP通信用外部公開ポート番号は、ゲートウェイ200aが、宅外ネットワーク10経由でPVR301b、302bにアクセスする場合に利用するHTTP通信の宛先となるトランスポートアドレスである。このHTTP通信チャネルを確立するために、SIP INVITEリクエストでやり取りされるSDP情報に利用される。具体的には、外部公開IPアドレスは、SDP情報のo=ライン、および、c=ラインに、HTTP通信用外部公開ポート番号は、m=ラインのポート番号情報に利用される。SDP情報の詳細については後述する。
公開ポリシーには、公開する場合は「public」を、公開しない場合は「private」を設定する。ロケーションとは、当該機器が、宅内ネットワーク20a内に存在するか(local)、ゲートウェイ200bが管理する宅内ネットワーク20b内に存在するか(remote)を表す情報である。
ディスクリプションパスとは、機器に関する詳細情報を格納したXML(Extensible Markup Language)ファイルへのアクセスパスを表す。デバイスタイプとは、当該機器の種類を表す情報である。
内部デバイス情報とは、当該機器内部の論理的なデバイスである内部デバイスの情報を表す。内部デバイス情報には、内部デバイスを識別するUUIDなどの他、ロケーションが「remote」である遠隔機器の場合は、デバイスの詳細情報であるデバイスディスクリプションドキュメント情報が含まれる。
サービス情報とは、当該機器が提供するサービスに関する情報を表す。サービス情報には、サービスを識別するサービスID、サービスの種類を表すサービスタイプ、サービスの詳細情報を格納したファイルへのアクセスパスを表すディスクリプションパスが含まれる。また、ロケーションが「remote」である遠隔機器の場合は、サービスの詳細情報であるサービスディスクリプションドキュメント情報が含まれる。
なお、図3は、操作端末401bから、PVR301a、301b、302b全てにアクセスできる環境における機器情報テーブル291の例を表している。一方、図4は、同様の環境におけるゲートウェイ200bの機器情報テーブル291の例を表す説明図である。
図3、図4は、図1に含まれる全ての機器がネットワークに接続されていて、PVR301bとPVR301aの公開ポリシーが「public」に、PVR302bの公開ポリシーが「private」に設定されている場合の機器情報テーブル291を示している。PVR302bは、「private」に設定されているため、図4に含まれず、宅内ネットワーク20aからは存在を確認できない。
次に、このように構成された本実施の形態にかかるゲートウェイ200による通信処理について説明する。本実施の形態では、各装置のネットワークへの接続状況に応じて通信処理の処理内容が異なる。そこで、以下では、各装置のネットワークへの接続状況に応じた複数の段階を想定し、各段階における通信処理の一例について説明する。
ここで、初期状態として、仲介サーバ100のみが宅外ネットワーク10に接続され、ゲートウェイ200aとゲートウェイ200bとは宅外ネットワーク10に接続されていない状態を想定する。また、この初期状態では、PVR301aと操作端末401aとが、宅内ネットワーク20aに接続されており、PVR301b、操作端末401bが宅内ネットワーク20bに接続されているが、PVR302bが宅内ネットワーク20bに接続されていないことを前提とする。
このような初期状態では、操作端末401aのコントロールポイント機能は、PVR301aの存在を認識している。これは操作端末401aのコントロールポイント機能が、SSDP discoverメッセージを送信し、それに対してPVR301aが応答メッセージを返信するか、または、PVR301aが定期的に送信するSSDP aliveメッセージを受信することで実現される。
また、仲介サーバ100は、ゲートウェイ200aとゲートウェイ200bとが、リモートコントロールやマルチメディアコンテンツ伝送のための相互通信を行うこと許可しているものとする。
さらに、ゲートウェイ200aの有するアクセス許可リストには、ゲートウェイ200bが含まれており、ゲートウェイ200bの有するアクセス許可リストには、ゲートウェイ200aが含まれているものとする。アクセス許可リストとは、外部からのアクセスを許可する装置の情報を記憶したリストをいう。
まず第1段階として、上述のような初期状態から、ゲートウェイ200bを宅外ネットワーク10および宅内ネットワーク20bに接続する段階を想定する。図5は、第1段階における通信処理を表したシーケンス図である。
まず、ゲートウェイ200bの宅内機器情報取得部260が、宅内ネットワーク20b内の機器(以下、宅内機器という。)の検索を行う(ステップS501)。具体的には、宅内機器情報取得部260は、宅内ネットワーク20b上で、SSDP discoverメッセージを送信する。
次に、宅内機器情報取得部260は、PVR301bからの応答を受信することにより、PVR301bの存在を確認し、UPnPデバイス情報を取得する(ステップS502)。
なお、PVR301bから送信されたSSDP alive、SSDP byebyeメッセージを受信することにより、PVR301bの情報を取得するように構成してもよい。
図6は、SSDP aliveメッセージの一例を示す説明図である。同図に示すように、PVR301bの詳細情報を取得するためのデバイスディスクリプションのパスは、当該メッセージの「LOCATION」ヘッダ値で指定される。
図5に戻り、内部情報要求部261が、HTTP GETリクエストメッセージでPVR301bからデバイスディスクリプションを要求する(ステップS503)。内部情報要求部261は、例えば、図6に示すようなメッセージからデバイスディスクリプションのパスを取得し、取得したパスからデバイスディスクリプションを取得するリクエストを送信する。
次に、PVR301bからデバイスディスクリプションの要求に対する応答であるデバイスディスクリプションが送信され(ステップS504)、内部情報受信部262が、当該デバイスディスクリプションを受信する。また、内部情報受信部262は、受信したデバイスディスクリプションに含まれる機器の情報を記憶部290の機器情報テーブル291に保存する。
デバイスディスクリプションの具体例については後述するが、デバイスディスクリプションには、機器のUUID、ローカルIPアドレス、ローカルポート番号、デバイスタイプ、内部デバイス情報、サービス情報が含まれる。
内部情報受信部262は、これらの情報を機器情報テーブル291に保存する(ステップS505)。なお、機器情報テーブル291に記憶する情報のうち、公開ポリシー情報は、宅内機器情報アクセス制御部280によって設定される情報である。
一方、外部公開IPアドレスには、事前にゲートウェイ200bに割り当てられたIPアドレスを設定する。外部公開ポート番号については、ゲートウェイ200bで利用していない任意ポートを、PVR301bを検出した時に割り当てて機器情報テーブル291に保存する。なお、ディスクリプション情報は、相対パス情報に変換して機器情報テーブル291に保存する。
次に、ゲートウェイ情報登録部210は、ゲートウェイ200bの情報を仲介サーバ100に登録する(ステップS506)。ゲートウェイ情報登録部210は、SIP REGISTERリクエストを仲介サーバ100に送信することにより、ゲートウェイ200bの情報を仲介サーバ100に登録する。
本ステップ以降、ゲートウェイ200bは、仲介サーバ100との接続を維持し続ける。具体的には、維持要求送信部211が、仲介サーバ100に対して接続がタイムアウトする時間よりも短い周期で、通信パケットを定期的に送信する。これにより、ゲートウェイ200bがNAT配下に存在する場合であっても、仲介サーバ100が外部情報要求、応答などの中継に同じ接続を利用することによって、外部ゲートウェイからの通信を受けることが可能となる。
仲介サーバ100からは、SIP REGISTERリクエストに対する応答であるSIP 200OKレスポンスを受信する(ステップS507)。
次に、ゲートウェイ情報取得部220が、アクセス許可リストから宅内ネットワーク20bへのアクセスが許可されているゲートウェイ装置の情報を取得する(ステップS508)。ここでは、例えば、ゲートウェイ200aが、アクセスが許可された装置として取得されたものとする。
次に、外部情報要求部221が、アクセスが許可されたゲートウェイ装置の情報の取得要求を仲介サーバ100に送信する(ステップS509)。具体的には、外部情報要求部221は、SIP SUBSCRIBEリクエストを、仲介サーバ100を介してゲートウェイ200aに対して送信する。
この第1段階では、ゲートウェイ200aは、宅外ネットワーク10に接続されていないため、仲介サーバ100にゲートウェイ200aの情報が登録されていない。したがって、仲介サーバ100からは情報の取得ができないことを表す通知(4XX Error)が送信される(ステップS510)。
このように、第1段階では、ゲートウェイ200bの情報を仲介サーバ100に登録することができるが、ゲートウェイ200aに関する情報を取得することはできない。
次に、第2段階として、ゲートウェイ200aを宅外ネットワーク10および宅内ネットワーク20aに接続する段階を想定する。図7、図8、図9は、第2段階における通信処理を表したシーケンス図である。
ステップS701からステップS709までの、宅内機器情報取得処理、ゲートウェイ情報登録処理、ゲートウェイ情報取得要求処理は、図5におけるステップS501からステップS509までと同様の処理なので、その説明を省略する。
すなわち、図5はゲートウェイ200bが宅内ネットワーク20b内の機器の情報を取得し、仲介サーバ100に登録する処理のシーケンスを表していたが、図7では、ゲートウェイ200aが宅内ネットワーク20aの機器の情報を取得して仲介サーバ100に登録する処理であるため、処理シーケンスは共通する。
第2段階では、外部情報要求部221がゲートウェイ情報の取得要求を送信した場合(ステップS709)、ゲートウェイ200が宅外ネットワーク10に接続済みであるため、仲介サーバ100は取得要求をゲートウェイ200bに送信する(ステップS710)。
ゲートウェイ200bの情報要求受信部231は、情報の取得要求(SIP SUBSCRIBEリクエスト)を受信し、その応答として200OKレスポンスを返信する(ステップS711)。また、仲介サーバ100は200OKレスポンスをゲートウェイ200aに送信する(ステップS712)。
続いて、内部情報送信部232は、ゲートウェイ200bの情報と、宅内ネットワーク20b内の機器の情報とを仲介サーバ100を介してゲートウェイ200aに送信する(ステップS713)。
具体的には、内部情報送信部232は、機器情報テーブル291に保存した宅内機器の情報と、ゲートウェイ200bに関する情報を送信する。ゲートウェイ200bに関する情報としては、ゲートウェイ200bがオンラインかオフラインかを表す情報(<x:basic>エレメント値「open」)、ゲートウェイ装置であることを表すデバイスタイプ情報(<x:device-type>エレメント値「SIP-UPnP Gateway」)、SIPアドレス情報(<presence>エレメントのentity属性値「sip:gateway12@ example.com」)等)を送信する。
機器情報テーブル291の情報のうち、ゲートウェイ200aに対して最小限伝える必要がある情報は、UUID(<device>エレメントのid属性値に対応)、ディスクリプションパス(<desc-path>属性情報に対応)、デバイスタイプ情報(<device-type>エレメント値に対応)、およびゲートウェイ200bのSIPアドレス情報である。
なお、内部情報送信部232は、これらの情報をSIP NOTIFYリクエストを利用してゲートウェイ200aに対して通知する。図10は、SIP NOTIFYリクエストの具体例を示した説明図である。
同図の<device-list>エレメントに含まれる情報が、ゲートウェイ200b配下の宅内ネットワーク20bに接続された機器情報全体を表し、<device-list>の子要素である<device>エレメントが、各宅内機器の情報(PVR301bの情報)を表す。
図7に戻り、送信されたSIP NOTIFYリクエストは、仲介サーバ100によってゲートウェイ200aに転送される(ステップS714)。
次に、ゲートウェイ200aの外部情報受信部222は、転送されたSIP NOTIFYリクエストを受信し、200OK応答を、仲介サーバ100を介してゲートウェイ200bに送信する(ステップS715、ステップS716)。
続いて、ゲートウェイ情報取得部220は、取得したPVR301bの情報を、機器情報テーブル291に保存する(ステップS717)。このとき、ゲートウェイ情報取得部220は、取得したPVR301bの情報に加えて、宅内ネットワーク20aに公開する際のローカルIPアドレス(192.168.11.5)およびローカルポート番号(39000)も記憶する。
なお、ローカルIPアドレスは、ゲートウェイ200aが宅内ネットワーク20aとの通信で利用するIPアドレスを設定し、ローカルポート番号には、ゲートウェイ200aが利用していない任意のポート番号を割り当てる。
次に、生成部241が、PVR301bに対応する仮想的なUPnPデバイス(仮想デバイス)を内部生成する(ステップS718)。続いて、遠隔機器情報公開部240は、生成した仮想デバイスの情報を広告するメッセージであるSSDP aliveメッセージを、宅内ネットワーク20aにマルチキャストする(ステップS719)。
このSSDP aliveメッセージの「LOCATION」ヘッダ情報には、前述した宅内ネットワーク20aに公開するためのローカルIPアドレス(192.168.11.5)、ローカルポート番号(39000)が利用される。さらに、PVR301bが内部デバイスや、サービスを有している場合には、それぞれについてSSDP aliveメッセージを送信する。これにより、操作端末401aは、PVR301bが、あたかも宅内ネットワーク20a上に存在する機器であるかのように認識することができる。
なお、SSDP aliveメッセージは、通常はUPnPデバイスが送信するものであるが、本実施の形態では、遠隔機器情報公開部240が仮想デバイスを生成しているため、遠隔機器情報公開部240が仮想デバイスの立場でSSDP aliveメッセージを送信するものとして説明する。
次に、操作端末401aが、操作端末401aに搭載されているUPnPコントロールポイント機能によってSSDP aliveメッセージを受信し、新規UPnPデバイスの存在を検出する(ステップS720)。
続いて、操作端末401aは、検出したデバイスの機種や表示名を取得するために、HTTP GETリクエストで新規に検出したデバイスのデバイスディスクリプションを要求する(ステップS721)。具体的には、操作端末401aは、遠隔機器情報公開部240(のPVR301bに対応する仮想デバイス)に対して、HTTP GETリクエストを送信する。
遠隔機器情報公開部240の外部アクセス要求受信部243は、HTTPによるデバイスディスクリプションの取得要求メッセージを受信する(ステップS722)。続いて、通信確立要求部244は、取得要求の対象である機器を管理するゲートウェイ200bに対して、HTTP通信の確立を、仲介サーバ100を介して要求する(ステップS723、ステップS724)。
具体的には、通信確立要求部244は、まず取得要求の対象であるPVR301bのUUID、ディスクリプション情報、ゲートウェイ200bのSIPアドレス情報を機器情報テーブル291から取得する。次に、通信確立要求部244は、取得したUUID、ディスクリプション情報を含むSIP INVITEリクエストを、仲介サーバ100を介してゲートウェイ200bに送信する。
図11は、このときのSIP INVITEリクエストの一例を示す説明図である。同図に示すように、SIP INVITEリクエストには、UUID(a=uuid:行)とディスクリプション情報(a=path:行)がペイロード部に含まれる。
送信されたSIP INVITEリクエストは、ゲートウェイ200bの確立要求受信部271が受信する(ステップS725)。次に、確立応答送信部272が、受信したSIP INVITEリクエストに対する応答(200OKレスポンス)を、仲介サーバ100を介してゲートウェイ200bに送信する(ステップS726)。
具体的には、確立応答送信部272は、受信したSIP INVITEリクエストに含まれるSDP情報(a=uuid:情報)を参照し、PVR301bへのアクセスであることを認識し、機器情報テーブル291からPVR301bの外部公開IPアドレス、外部公開ポート番号、デバイスディスクリプションパスを取得し、その情報を200OKレスポンスのSDP情報に含めて返信する。確立応答送信部272は、このときSDP情報に提示した外部公開ポート番号を開く。
図12は、このときの200OKレスポンスの一例を示す説明図である。同図では、200OKレスポンスには、PVR301bの外部公開IPアドレスとして「222.22.2.20」が、外部公開ポート番号として「40001」が、デバイスディスクリプションパスとして「/devicedesc.xml」が設定された例が示されている。
200OKレスポンスは、仲介サーバ100を介してゲートウェイ200aに転送される(ステップS727)。ゲートウェイ200aの確立応答受信部245は、200OKレスポンスを受信し、受信したメッセージに含まれる情報を機器情報テーブル291に保存する(ステップS728)。確立応答受信部245は、このときSDP情報に提示した外部公開ポート番号を開く。
具体的には、確立応答受信部245は、SDP情報に含まれるゲートウェイ200bのアドレス情報(c=ラインに含まれる外部公開IPアドレス情報(222.22.2.20)と、m=ラインの第3引数に含まれるHTTP通信用外部公開ポート番号情報(40001))を機器情報テーブル291に記憶する。
次に、遠隔機器情報公開部240は、仲介サーバ100を介してSIP ACKメッセージをゲートウェイ200bに応答する(ステップS729、ステップS730)。
ここまでの処理によって、ゲートウェイ200aとゲートウェイ200bとの間でHTTP通信チャネルが確立され、HTTPによる通信が可能となる。
次に、ローカルアドレス変換部251が、操作端末401aから受信したHTTPリクエストに含まれるローカルアドレス情報を、機器情報テーブル291に保存したグローバルアドレス情報で変換する(ステップS731)。
図13、図14は、それぞれアドレス変換前後のHTTPリクエストの一例を示す説明図である。図13、図14に示すように、ローカルアドレス変換部251は、仮想デバイスのローカルIPアドレス(192.168.11.5)を対応する外部公開IPアドレス(222.22.2.20)に変換し、ローカルポート番号(39000)を、対応するHTTP通信用外部公開ポート番号情報(40001)に変換する。
次に、外部アクセス要求転送部246が、アドレス変換後のHTTPリクエストをゲートウェイ200bに転送する(ステップS732)。
ゲートウェイ200bの内部アクセス要求受信部273が、ゲートウェイ200aからのHTTPリクエストを受信し(ステップS733)、ゲートウェイ200bのグローバルアドレス変換部252が、受信したHTTPリクエスト内のグローバルアドレスをローカルアドレスに変換する(ステップS734)。
図15は、アドレス変換後のHTTPリクエストの一例を示す説明図である。例えば、機器情報テーブル291に図3に示すようなデータが保存されており、図14に示すようなHTTPリクエストを受信したとする。
この場合、機器情報テーブル291から、当該HTTPリクエストのIPアドレス(222.22.2.20)およびポート番号(40001)に対応する機器はPVR301bであることが分かるため、グローバルアドレス変換部252は、IPアドレスおよびポート番号を、それぞれローカルIPアドレス「192.168.10.10」、およびローカルポート番号「49000」で変換する。
次に、内部アクセス要求転送部274は、アドレス変換後のHTTPリクエストであるディスクリプション要求をPVR301bに対して送信する(ステップS735)。
PVR301bからHTTPレスポンスとして、表示名や機種情報等の機器詳細情報を含むディスクリプション情報が返信されると(ステップS736)、内部アクセス応答受信部275は、当該HTTPレスポンスを受信する(ステップS737)。
続いて、ローカルアドレス変換部251が、PVR301bから受信したHTTPレスポンスであるディスクリプション情報に含まれるローカルアドレス情報を、機器情報テーブル291に保存したグローバルアドレス情報で変換する(ステップS738)。
この際、アドレス変換対象は、HTTPヘッダのみならず、HTTPペイロード、すなわち、ディスクリプション情報も含まれる。図16は、このときの変換後のディスクリプション情報の一例を示す説明図である。同図に示すように、ディスクリプション情報の<URLBase>エレメントのIPアドレスとポート番号がグローバルアドレス情報で変換されている。
次に、内部アクセス応答転送部276が、アドレス変換後のHTTPレスポンスをゲートウェイ200aに転送する(ステップS739)。
ゲートウェイ200aの外部アクセス応答受信部247は、転送されたHTTPレスポンスを受信する(ステップS740)。次に、グローバルアドレス変換部252が、HTTPレスポンス内のグローバルアドレス情報をローカルアドレス情報に変換する(ステップS741)。
例えば、グローバルアドレス変換部252は、PVR301bに対応するUPnPデバイスのローカルIPアドレス(192.168.11.5)とローカルポート番号(39000)に、レスポンスの該当箇所(<BaseURL>エレメント値)を変換する。
次に、外部アクセス応答転送部248は、操作端末401aに、アドレス変換後のレスポンスを転送する(ステップS742)。また、遠隔機器情報公開部240は、取得したディスクリプション情報であってアドレス変換前の情報を、機器情報テーブル291に保存する(ステップS743)。
次に、ゲートウェイ200aの遠隔機器情報公開部240は、SIP BYEリクエストを、仲介サーバ100を介してゲートウェイ200bに対して送信し、INVITEによって構築していたデータチャネル(HTTP通信チャネル)を終了させる(ステップS744、ステップS745)。SIP BYEリクエストの送受信を契機として、ゲートウェイ200aの確立応答受信部245、ゲートウェイ200bの確立応答送信部272はHTTP通信に利用していた外部公開ポートを閉じる。
なお、これ以降に宅内ネットワーク20a上のUPnPコントロールポイントからディスクリプションの取得要求メッセージを受信した場合(ステップS746)、遠隔機器情報公開部240は、機器情報テーブル291に記憶したディスクリプション情報を取得し(ステップS747)、取得したディスクリプション情報内のグローバルアドレス情報を、機器情報テーブル291に記憶されているPVR301bに対応するローカルIPアドレスとポート番号に変換して返信する(ステップS748)。したがって、最初のディスクリプション要求以外は、宅外ネットワーク10を利用せずに効率的に情報を返信できるという利点がある。
このように、第2段階では、2つの宅内ネットワーク20a、20bが相互に接続され、その際に通信に必要な情報を、仲介サーバ100を介して通知することができるため、設定負担が軽減できる。また、UPnPデバイスプロキシ装置では通信に用いるポートを固定とし、常時開けておく必要があったが、本実施の形態では、通信で用いるポートを動的に決定できるとともに、ポートを事前に開けることなく、SIP INVITEリクエストを受信した後にポートを開けることができるという利点がある。
なお、第2段階で、ゲートウェイ200aが宅外ネットワーク10に接続されたため、ゲートウェイ200bは、ゲートウェイ200aの情報を取得可能となる。図17は、ゲートウェイ200bからゲートウェイ200aの情報を取得する際の通信処理を表したシーケンス図である。
図17のシーケンスは、図7のステップS711で、情報要求受信部231が情報の取得要求(SIP SUBSCRIBEリクエスト)を受信したことにより、ゲートウェイ200aが接続されたことを検出した後に実行される処理を表す。
この場合、ゲートウェイ200bから、ゲートウェイ200aの情報取得要求を送信する(ステップS1701)。ステップS1701からステップS1709までのゲートウェイ情報取得処理は、ゲートウェイ200aが実行するゲートウェイ情報取得処理である図7のステップS709からステップS717までと同様の処理なので、その説明を省略する。
次に、第3段階として、PVR302bを新たに宅内ネットワーク20bに接続する段階を想定する。図18は、第3段階における通信処理を表したシーケンス図である。
まず、PVR302bが接続されると(ステップS1801)、PVR302bはSSDP aliveメッセージを送信する(ステップS1802)。
次に、内部情報受信部262が、SSDP aliveを受信した後、機器情報テーブル291にPVR302bの情報が存在しないことから、PVR302bが新規に検出された機器であることを認識し、内部情報要求部261が、ディスクリプション要求であるHTTP GETリクエストをPVR302bに送信する(ステップS1803)。
PVR302bはHTTP GETリクエストに対する応答としてディスクリプション情報を返信する(ステップS1804)。内部情報受信部262は、ディスクリプション情報を受信し、受信したディスクリプション情報を機器情報テーブル291に保存する(ステップS1805)。
PVR302bの接続によって、宅内ネットワーク20bのネットワークトポロジに変化が生じたので、内部情報送信部232は、機器情報テーブル291によって記憶している宅内機器情報(PVR301bと新規検出したPVR302bの機器情報)とゲートウェイ200bの情報(オンライン・オフラインを表す情報(<x:basic>エレメント値)、ゲートウェイ装置であることを表すデバイスタイプ情報(<x:device-type>エレメント値)、およびゲートウェイ200bのSIPアドレス(<presence>エレメントのentity属性値)等)をSIP NOTIFYリクエストを利用して、ゲートウェイ200aに対して通知する(ステップS1806)。
その後、ステップS1807からステップS1813までの取得情報保存処理、仮想デバイス生成処理は、図7、図8のステップS714からステップS720までと同様の処理なので、その説明を省略する。
このように、第3段階では、新規に接続された機器の情報を適切に他のゲートウェイに通知し、他のゲートウェイでは通知された機器の仮想デバイスを生成することができる。したがって、追加された機器の情報を手動で設定する必要がなく、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
なお、既に接続を検知しているPVR301bからのSSDP aliveメッセージを受信した場合、宅内ネットワーク20bのネットワークトポロジが変化しないので、内部情報送信部232によるSIP NOTIFYリクエストの送信を行わない。
次に、第4段階として、PVR302bを宅内ネットワーク20bから離脱させた場合を想定する。例えば、PVR302bのネットワークとの接続ケーブルを抜いた場合などが考えられる。図19は、第4段階における通信処理を表したシーケンス図である。
まず、PVR302bが宅内ネットワーク20bから離脱すると(ステップS1901)、PVR302bはSSDP byebyeメッセージを送信する(ステップS1902)。
次に、内部情報受信部262は、SSDP byebyeメッセージを受信したことにより、PVR302bが宅内ネットワーク20bから離脱したことを認識し、機器情報テーブル291から、PVR302bの情報を削除する(ステップS1903)。
ここで、PVR302bの離脱によって宅内ネットワーク20bのネットワークトポロジに変化が生じたので、内部情報送信部232は、機器情報テーブル291によって記憶している宅内機器情報(PVR301bのみ)とゲートウェイ200b自体の情報とをSIP NOTIFYリクエストを利用して、ゲートウェイ200aに対して通知する(ステップS1904)。SIP NOTIFYリクエストは、仲介サーバ100を介してゲートウェイ200aに転送される(ステップS1905)。
ゲートウェイ200aの外部情報受信部222は、受信したSIP NOTIFYリクエストに対する200OK応答を、仲介サーバ100を介してゲートウェイ200bに送信する(ステップS1906、ステップS1907)。
次に、ゲートウェイ情報取得部220は、受信したSIP NOTIFYリクエストに含まれる情報(PVR301bのみ)と、機器情報テーブル291に記憶されている情報(PVR301b、PVR302b)とを比較し、PVR302bが離脱したことを検出すると、機器情報テーブル291から、PVR302bの情報を削除する(ステップS1908)。
続いて、遠隔機器情報公開部240は、PVR302bに対応する仮想デバイスのSSDP byebyeメッセージを送信する(ステップS1909)。これにより、操作端末401aは、PVR302bが離脱したことを検知できる(ステップS1910)。
また、停止部242は、当該仮想デバイスを停止する(ステップS1911)。なお、これにより、本実施の形態のネットワーク構成は、第2段階の終了後の状態に戻ったことになる。
このように、第4段階では、宅内ネットワーク20から切り離された機器の情報を適切に他のゲートウェイに通知し、他のゲートウェイでは通知された機器の仮想デバイスを停止することができる。したがって、切り離された機器の情報を手動で設定する必要がなく、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
次に、第5段階として、操作端末401aがPVR301bに対して、UPnPコントロールメッセージを送信し、コントロール処理結果を取得する場合を想定する。図20、図21は、第5段階における通信処理を表したシーケンス図である。
第5段階の通信処理のシーケンスは、基本的に第2段階の通信処理のシーケンスのうち、操作端末401aからディスクリプション要求を送信して(ステップS721)から受信するまで(ステップS742)までの処理と同様であるので、詳細な説明は省略する。ただし、送受信されるメッセージの内容が異なるので、以下では主にその相違点について説明する。
第5段階では、操作端末401aは、第2段階で取得したディスクリプション情報を参照し、生成部241が生成したPVR301bの仮想デバイスに対し、CDS(Content Directory Service)のBrowseアクションを実行する。
なお、このCDSサービスとは、UPnP AV規格のMSDが有するサービスの1つであって、MSDの保持するマルチメディアコンテンツ情報を公開するサービスである。Browseアクションとは、このうちマルチメディアコンテンツ情報を取得する機能をいう。
また、以下ではCDSサービスの1つとしてBrowseアクションを実行した場合の例について説明するが、利用できるアクションはこれに限られるものではなく、仮想デバイスに対応するPVR301bが提供する機能であればあらゆるアクションを利用しうる。
操作端末401aは、外部アクセス要求受信部243に対して、HTTP POSTによりBrowseアクションを送信する(ステップS2001)。図22は、操作端末401aから送信されるメッセージの一例を示す説明図である。同図に示すように、操作端末401aは、XML形式の情報を含むメッセージを情報要求受信部231に送信する。
外部アクセス要求受信部243は、Browseアクションメッセージを受信し(ステップS2002)、第2段階におけるHTTPリクエストと同様に、機器情報テーブル291から、取得要求に対応するPVR301bのCDSサービスのパス情報と、ゲートウェイ200bに仲介サーバ100経由でアクセスするためのSIPアドレスを取得する。
次に、ゲートウェイ200aは、SIP INVITEリクエストを送信して、HTTP通信の確立をゲートウェイ200bに要求する(ステップS2003)。このときSIP INVITE リクエストのペイロードに、SDP情報として、PVR301bのUUID情報、および、前述したCDSサービスのパス情報を含める。
図23は、この場合に送信されるSDP情報の一例を示した説明図である。同図に示すように、図11のSIP INVITEリクエストのSDP情報と異なり、path行にはCDSサービスのパス情報が含まれる。
ゲートウェイ200bは、SIP INVITEリクエストを、確立要求受信部271によって受信する(ステップS2005)。これに対し、宅内機器情報公開部270は、受信したSIP INVITEリクエストに含まれるSDP情報(a=uuid:行)から、PVR301bへのアクセス要求であることを認識する。そして、宅内機器情報公開部270は、機器情報テーブル291からPVR301bにアクセスするための外部公開IPアドレス、HTTP通信用外部公開ポート番号を取得し、その情報を200OKレスポンスのSDPに含めて返信する(ステップS2006)。
ゲートウェイ200aの遠隔機器情報公開部240は、200OKレスポンスを取得して、SIP ACKメッセージを応答する(ステップS2009)。また、ローカルアドレス変換部251が、操作端末401aから受信したHTTPリクエスト情報のローカルアドレスを変換する(ステップS2011)。
アドレスを変換したHTTPリクエストは、外部アクセス要求転送部246により、構築したデータチャネルを利用して、ゲートウェイ200bに送信される(ステップS2012)。
以降は、構築したデータチャネルを利用した第2段階同様にHTTP通信を行う。すなわり、ゲートウェイ200a、200bは、HTTPプロトコルメッセージに含まれるIPアドレス、ポート番号情報を、機器情報テーブル291が保持するPVR301bの情報を参照して適宜変換する。
例えば、ゲートウェイ200bは、IPアドレスおよびポート番号をそれぞれ192.168.10.10および49000から、222.22.2.20および40001へ変換する。また、ゲートウェイ200aは、22.22.2.20および40001を、それぞれ192.168.11.5および39000へ変換する。
最終的に、操作端末401aは、Browseアクションに対する返信であるマルチメディアコンテンツ情報を含んだレスポンスを受信する(ステップS2022)。図24は、受信したBrowseレスポンスの一例を示す説明図である。同図に示すように、Browseレスポンスには、PVR301bが保持するコンテンツの情報が含まれる。
このように、第5段階では、確立された通信を介して外部のネットワーク上の機器に対するアクション要求などの各種処理を実行できる。
次に、第6段階として、PVR301bの宅内ネットワーク20bにおけるIPアドレスが、何らかの理由により変化した場合を想定する。例えば、PVR301bが、SSDP byebyeメッセージを送信せずに宅内ネットワーク20bから離脱し、再接続した際に、別のIPアドレスが付与され、SSDP aliveメッセージを送信する場合が考えられる。
このような状況は、PVR301bの電源を落とさずに、宅内ネットワーク20bに接続しているPVR301bのネットワーク接続ケーブルを抜き、直ちにケーブルを再度差し込むようなケースなどさまざまな状況で発生しうる。
図25は、第6段階における通信処理を表したシーケンス図である。まず、PVR301bのアドレスが変化し(ステップS2501)、PVR301bからSSDP aliveメッセージが送信される(ステップS2502)。
内部情報要求部261は、PVR301bからのSSDP aliveメッセージを受信した後、変化後のIPアドレスが、機器情報テーブル291に含まれていないことから新規のUPnPデバイスを検出したと判断し、HTTP GETリクエストによってPVR301bからデバイスディスクリプション情報を取得する(ステップS2503、ステップS2504)。
内部情報受信部262は、デバイスディスクリプション情報に含まれるUUID値が、既に機器情報テーブル291に登録されているPVR301bのUUID値と一致することを確認し、新規UPnPデバイスの宅内ネットワーク20bへの参入を検出したのではなく、PVR301bのローカルIPアドレスがから別のアドレスへ変化したと判定する(ステップS2505)。
そこで、内部情報受信部262は、機器情報テーブル291に登録されているPVR301bのローカルIPアドレス情報を変更する(ステップS2506)。この場合、宅内ネットワーク20bのネットワークトポロジ自体が変化したわけではないため、宅内機器情報公開部270は、ゲートウェイ200aに対してSIP NOTIFYリクエストを送信し、宅内機器情報を通知しない。
このように、PVR301bのIPアドレスが変化した場合は、ゲートウェイ200bの機器情報テーブル291の該当情報を変更するだけで、操作端末401aからの宅外ネットワーク経由でのリモートコントロールを継続して実行することができる。
第5段階のステップS2014、ステップS2018で、機器情報テーブル291の更新されたローカルIPアドレス情報を参照してHTTPリクエストのアドレスが適切に変換され、PVR301bに適切にフォワードされるからである。
次に、第7段階として、ゲートウェイ200bの宅外ネットワーク10におけるIPアドレスが変化した場合を想定する。このような状況は、ゲートウェイ200bの電源を落とさずに、宅外ネットワーク10へ接続しているネットワークケーブルを抜き、このケーブルを再度差し込んだ場合などに、ISP(Internet Service Provider)サーバの仕様によっては発生する可能性がある。
図26は、第7段階における通信処理を表したシーケンス図である。まずゲートウェイ200bはアドレスが変化したことを認識し(ステップS2601)、ゲートウェイ情報登録部210が、機器情報テーブル291のPVR301bのリモートアクセス用の外部公開IPアドレス情報を更新する(ステップS2602)。
次に、ゲートウェイ情報登録部210が、仲介サーバ100に対して、ゲートウェイ200bの情報を再登録する(ステップS2603)。仲介サーバ100からは、200OK応答が返信される(ステップS2604)。
この後、ゲートウェイ200aは、ゲートウェイ200bの外部公開IPアドレス情報の変化を、ゲートウェイ200bへのSIP INVITEリクエストに対する応答の受信時、または、ゲートウェイ200bからのSIP INVITEリクエストの受信時に検知することができる。
例えば、図26では、ゲートウェイ200bへのSIP INVITEリクエストに対する応答の受信時のシーケンスが示されている。なお、ステップS2605からステップS2612までのディスクリプション要求送信処理、ディスクリプション応答受信処理は、第2段階の通信処理を表した図7、8、9のステップS721からステップS728までと同様なので、その説明を省略する。
この例では、ステップS2612で、更新されたゲートウェイ200bの外部公開IPアドレスを、機器情報テーブル291に記憶することができる。
このように、第7段階では、ゲートウェイ200bのIPアドレスが変化した場合には、機器情報テーブル291を変更するだけで、操作端末401aからの宅外ネットワーク経由でのリモートコントロールを継続して実現することができる。
第5段階のステップS2008、ステップS2014、ステップS2018、およびステップS2015で、機器情報テーブル291の更新された外部公開IPアドレス情報を参照してHTTPリクエストのアドレスが適切に変換され、適切にフォワードされるからである。
次に、第8段階として、操作端末401bが、PVR301bの公開ポリシーを変更した場合を想定する。ここでは、機器情報テーブル291の公開ポリシーを非公開(private)に変更した場合について説明する。図27は、第8段階における通信処理を表したシーケンス図である。
まず、操作端末401bは、宅内機器情報アクセス制御部280に対して、ポリシー制御サービスディスクリプション要求をHTTP GETにより送信する(ステップS2701)。
宅内機器情報アクセス制御部280は、受信したポリシー制御サービスディスクリプション要求に対する応答を返信する(ステップS2702)。
操作端末401bは、返信された応答を参照して、PVR301bの公開ポリシーを「private」に設定するためのアクションを実行する(ステップS2703)。具体的には、例えば、公開ポリシーを設定するためのポリシー設定アクションメッセージを宅内機器情報アクセス制御部280に送信することにより、公開ポリシーを「private」に設定する。
図28は、ポリシー設定アクションメッセージの一例を示す説明図である。同図に示すように、ポリシー設定アクションメッセージは、アクション名が「SetPrivacy」であり、引数としてデバイスのUUID値(u:uuid)、ポリシータイプ(u:PolicyType)を指定する。
ポリシー更新部281は、SetPrivacyアクションメッセージを受信し、機器情報テーブル291の公開ポリシー情報を「public」から「private」に変更する(ステップS2704)。また、宅内機器情報アクセス制御部280は、SetPrivacyアクションの結果応答を操作端末401bに送信する(ステップS2705)。
この場合、宅内ネットワーク20bのネットワークトポロジは変化していないが、PVR301bが非公開になったため、外部的にはPVR301bが宅内ネットワーク20bから離脱したものとして扱う。したがって、内部情報送信部232は、PVR301bの情報を削除したSIP NOTIFYメッセージを、仲介サーバ100を介してゲートウェイ200bに送信する(ステップS2706、ステップS2707)。
ゲートウェイ200aの外部情報受信部222は、ゲートウェイ200bからのSIP NOTIFYリクエストを受信し、200OK応答を仲介サーバ100を介してゲートウェイ200bに送信する(ステップS2708、ステップS2709)。
また、ゲートウェイ情報取得部220は、PVR301bが宅内ネットワーク20bから離脱したことを認識し、機器情報テーブル291から、PVR301aの情報を削除する(ステップS2710)。
次に、遠隔機器情報公開部240は、PVR301bに対応する仮想デバイスのSSDP byebyeメッセージを操作端末401a送信する(ステップS2711)。操作端末401aでは、SSDP byebyeメッセージの受信により、PVR301bの離脱を検知する(ステップS2712)。また、停止部242は、対応する仮想デバイス処理を停止する(ステップS2713)。
このように、第8段階では、公開ポリシーの変化によって非公開となった機器の情報を適切に他のゲートウェイに通知し、他のゲートウェイでは通知された機器の仮想デバイスを停止することができる。したがって、非公開となった機器の情報を手動で設定する必要がなく、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
従来の技術では、以下に示すような様々な問題があった。
第1に、公衆網とローカルネットワークとの間に存在する機器が、グローバルIPアドレスを付与されているとは限らないという問題である。すなわち、ISP、または、ローカルネットワーク内のDHCP(Dynamic Host Configuration Protocol)サーバが一時的なアドレスを提供するために、ブロードバンドルータに付与されるアドレスが、接続する度に変化することがあり得る。
第2に、宅内機器のIPアドレスについても、DHCPサーバによって割り振られるために、ローカルネットワークへの接続の度に変化する可能性があるという問題がある。
第3に、UPnPなどの技術は、マルチキャストやブロードキャストプロトコルを多用するために、公衆網上の通信との親和性が悪いという問題がある。
第4に、特にUPnPやSIPのようなテキストベースのプロトコルを利用する際に、ヘッダやペイロード(メッセージ本文)にアドレス情報が含まれる可能性に関わる問題がある。すなわち、2つのローカルネットワークと公衆網とが、それぞれ独立したアドレス体系となるため、別のネットワークの通信にアドレスを含むプロトコルヘッダ、ペイロードがそのまま利用されると、トランスポート層以下のアドレス情報と不整合が生じる場合がある。
これに対し、上述した各段階の通信処理により、以下に述べるような効果を得ることができる。まず、第1段階から第5段階で示したように、操作端末401aは、ネットワーク構成を意識することなく、別の宅内ネットワークに属するUPnP機器を、自身が属する宅内ネットワークに存在するUPnP機器であるとみなして、リモートコントロールすることができる。
また、第2段階、第5段階、第7段階で示したように、宅内ネットワークで閉じている限りはマルチキャストパケットで実現されるUPnP機器の検索、発見、広告のメカニズムが、宅外ネットワークを経由する際には、SIPのイベント通知フレームワークを利用した宅内ネットワークトポロジの変更通知メッセージ(ユニキャスト)という形で実現できる。したがって、公衆網上の通信との親和性が高い。
しかも、宅内ネットワークトポロジ情報を、それが変化した場合に限り、インデックス情報レベルに留めて通知するため、宅外ネットワークに流れるSIPメッセージのサイズ、頻度を極力抑えることができる。
また、第6段階、第7段階で示したように、制御対象となる他の宅内ネットワーク上のUPnP機器のローカルIPアドレスや、遠隔のゲートウェイ装置の宅外ネットワーク側のIPアドレスが動的に変化しても、操作端末401aからのリモートコントロールを継続して実行することができる。
さらに、第8段階で示したように、UPnP機器について個別に他の宅内ネットワークへの公開、非公開を設定することができる。
なお、以上では、各装置のネットワークへの接続状況に応じて想定した各段階についての通信処理を説明した。以下では、各段階で共通的に用いられる構成部単位の機能について説明する。
まず、外部のゲートウェイの情報を取得して仮想デバイスを生成または停止する仮想デバイス制御処理について説明する。仮想デバイス制御処理は、ゲートウェイ情報取得部220および遠隔機器情報公開部240の生成部241、停止部242によって実行される。
図29は、仮想デバイス制御処理の全体の流れを示すフローチャートである。なお、仮想デバイス制御処理は、(1)ゲートウェイ200の起動、(2)他のゲートウェイからの取得要求受信、または、(3)既に取得要求を受信済みのゲートウェイからの情報通知パケットの受信をトリガとして起動される。
ゲートウェイ200の起動の場合(1)、ゲートウェイ情報取得部220は、ゲートウェイ200のアクセス許可リストから、情報を取得する他のゲートウェイの情報を取得し(ステップS2901)、取得した他のゲートウェイに対してSIP SUBSCRIBEリクエストを送信する(ステップS2904)。
他のゲートウェイからの取得要求受信した場合は(2)、ゲートウェイ情報取得部220は、アクセス許可リストに含まれるゲートウェイか否かを判断し(ステップS2902)、含まれる場合に(ステップS2902:YES)、他のゲートウェイに対してSIP SUBSCRIBEリクエストを送信する(ステップS2904)。
なお、アクセス許可リストに含まれない場合は(ステップS2902:NO)、ゲートウェイ情報取得部220は、情報取得要求を拒否することを示す応答を、当該他のゲートウェイに対して送信し(ステップS2903)、処理を終了する。
ステップS2904でSIP SUBSCRIBEリクエストを送信した後、当該リクエストに対するゲートウェイ情報通知パケットであるSIP NOTIFYリクエストを受信する(ステップS2905)。
このようにしてゲートウェイ情報を取得するか、既に取得要求を受信済みのゲートウェイからの情報通知パケットの受信した場合(3)に、ゲートウェイ情報取得部220の検出部223は、受信したパケットからゲートウェイ情報と配下の遠隔機器の情報とを取得する(ステップS2906)。
次に、検出部223は、機器情報テーブル291から、対応するゲートウェイの情報を取得し、受信したパケットから取得した情報との差分を抽出する(ステップS2907)。
次に、検出部223は、新規機器が追加されたか否かを判断する(ステップS2908)。具体的には、検出部223は、パケットに含まれる機器のUUIDと、機器情報テーブル291に記憶されている機器のうち、ロケーション情報が「remote」の機器情報のUUIDとを比較し、機器情報テーブル291に含まれないUUIDがパケットに含まれている場合に、当該UUIDに対応する新規機器が追加されたと判断する。
新規機器が追加された場合は(ステップS2908:YES)、遠隔機器情報公開部240の生成部241が、当該新規機器に対応するUPnPデバイス(仮想デバイス)を生成する(ステップS2909)。
新規機器が追加されていない場合(ステップS2908:NO)、または仮想デバイスの生成後(ステップS2909)、検出部223は、既に登録されている機器が削除されたか否かを判断する(ステップS2910)。
具体的には、検出部223は、パケットに含まれる機器のUUIDと、機器情報テーブル291に記憶されている機器のうち、ロケーション情報が「remote」のUUIDとを比較し、機器情報テーブル291に登録されていたUUIDがパケットに含まれていない場合に、当該UUIDに対応する機器が削除されたと判断する。
既登録機器が削除された場合は(ステップS2910:YES)、遠隔機器情報公開部240の停止部242が、当該機器に対応するUPnPデバイス(仮想デバイス)を停止する(ステップS2911)。
さらに、ゲートウェイ情報取得部220は、追加または削除した機器の情報で機器情報テーブル291を更新する(ステップS2912)。なお、ゲートウェイ情報取得部220は、受信した情報に含まれる他のゲートウェイの外部公開IPアドレスが変化していた場合には、当該他のゲートウェイの配下の宅内機器情報の外部公開IPアドレスを全て変化後のアドレスに書き換える。
次に、ゲートウェイ内部の機器の情報を取得して公開するゲートウェイ情報公開処理について説明する。ゲートウェイ情報公開処理は、宅内機器情報取得部260、ゲートウェイ情報公開部230、ゲートウェイ情報登録部210によって実行される。
図30は、ゲートウェイ情報公開処理の全体の流れを示すフローチャートである。なお、ゲートウェイ情報公開処理は、(1)、宅内機器からのSSDPパケットの受信、(2)公開ポリシー設定要求パケット(SetPrivacyアクションメッセージ)の受信、または、(3)ゲートウェイの宅外ネットワークアドレス(公衆網側IPアドレス)の変化をトリガとして起動される。
SSDPパケットを受信した場合は(1)、宅内機器情報取得部260の内部情報要求部261が該当する宅内機器の情報を機器情報テーブル291から取得し、差分を検出する(ステップS3001)。
なお、SSDPパケットの受信は、内部情報要求部261が、SSDP discoverメッセージを送信することによって能動的に受信するか、または、宅内機器からSSDP alive、SSDP byebyeメッセージを受動的に受信することによって実現される。
次に、内部情報要求部261は、情報が変化したか否かを判断する(ステップS3002)。具体的には、受信したSSDPパケットに含まれるUUIDが機器情報テーブル291に記憶されていない場合は新規機器の追加と判断し、機器情報テーブル291に含まれるUUIDがSSDPパケットに含まれない場合は、機器が離脱したと判断する。また、機器情報テーブル291に登録済みのUUIDに対しては、IPアドレス等が変更されていないかを判断する。
情報が変化していない場合は(ステップS3002:NO)、情報を公開する必要がないため、ゲートウェイ情報公開処理を終了する。情報が変化している場合は(ステップS3002:YES)、内部情報要求部261は、機器情報テーブル291の該当する機器情報の登録、更新または削除処理を実行する(ステップS3003)。
このようにして、SSDPパケットの受信により、宅内ネットワーク20のトポロジの変化を検出することができる。
公開ポリシー設定要求パケットを受信した場合は(2)、宅内機器情報アクセス制御部280のポリシー更新部281が、該当機器の公開ポリシーを機器情報テーブル291から取得し、当該パケットの要求と比較する(ステップS3004)。
次に、ポリシー更新部281は、公開ポリシーが変化したか否かを判断する(ステップS3005)。具体的には、公開ポリシー設定要求パケットに含まれるUUIDに対して設定されている公開ポリシーを機器情報テーブル291から取得し、当該パケット内の公開ポリシーと比較することにより、公開ポリシーが変化したか否かを判断する。
公開ポリシーが変化していない場合は(ステップS3005:NO)、情報を公開する必要がないため、ゲートウェイ情報公開処理を終了する。公開ポリシーが変化している場合は(ステップS3005:YES)、ポリシー更新部281は、機器情報テーブル291の該当する機器の公開ポリシーを更新する(ステップS3006)。
ゲートウェイの公衆網側IPアドレスが変化した場合は(3)、ゲートウェイ情報登録部210は、機器情報テーブル291に記憶されている宅内機器情報の外部公開アドレスをすべて変更する(ステップS3007)。なお、宅外ネットワークアドレスの変化は、利用するネットワークインタフェース状態を監視しておくことで検知できる。
ステップS3003、ステップS3006、またはステップS3007で機器情報テーブル291を更新した後、ゲートウェイ情報公開部230の内部情報送信部232は、アクセス許可リストに含まれ、情報取得要求を受付けた他のゲートウェイに対して変更を通知する(ステップS3008)。
具体的には、内部情報送信部232は、SIP通信に利用するゲートウェイ200の情報と、機器情報テーブル291に含まれる宅内ネットワーク20内のUPnPデバイス情報とを、SIPのNOTIFYリクエストを利用して、他のゲートウェイに通知する。
このように、本実施の形態にかかるゲートウェイ装置では、公衆網を介して互いに通信を行う外部のゲートウェイ装置との間で、通信に必要なゲートウェイ装置の情報や内部ネットワークの機器の情報を、仲介サーバを介して相互に通知することができる。このため、公衆網を介して複数のネットワーク間を相互アクセスするときの設定負担を軽減することができる。
また、ゲートウェイ装置は、定期的なパケット送信により仲介サーバとの接続を維持することができるため、ゲートウェイ装置がNAT配下に存在する場合であっても、仲介サーバを介して外部ゲートウェイとの通信を行うことができる。
図31は、本実施の形態にかかるゲートウェイ装置のハードウェア構成を示す説明図である。
本実施の形態にかかるゲートウェイ装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えており、通常のコンピュータを利用したハードウェア構成となっている。
本実施の形態にかかるゲートウェイ装置で実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施の形態にかかるゲートウェイ装置で実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかるゲートウェイ装置で実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、本実施の形態の通信プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態にかかるゲートウェイ装置で実行される通信プログラムは、上述した各部(ゲートウェイ情報登録部、ゲートウェイ情報取得部、ゲートウェイ情報公開部、遠隔機器情報公開部、通信内容変更部、宅内機器情報取得部、宅内機器情報公開部、宅内機器情報アクセス制御部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体から通信プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかるゲートウェイ装置、通信方法および通信プログラムは、複数のローカルネットワーク相互間の公衆網を介した通信を中継するゲートウェイ装置に適している。
ネットワーク構成の一例を示す説明図である。 本実施の形態にかかるゲートウェイの構成を示すブロック図である。 機器情報テーブルのデータ構造の一例を示す説明図である。 機器情報テーブルのデータ構造の一例を表す説明図である。 第1段階における通信処理を表したシーケンス図である。 SSDP aliveメッセージの一例を示す説明図である。 第2段階における通信処理を表したシーケンス図である。 第2段階における通信処理を表したシーケンス図である。 第2段階における通信処理を表したシーケンス図である。 SIP NOTIFYリクエストの具体例を示した説明図である。 SIP INVITEリクエストの一例を示す説明図である。 200OKレスポンスの一例を示す説明図である。 アドレス変換前のHTTPリクエストの一例を示す説明図である。 アドレス変換後のHTTPリクエストの一例を示す説明図である。 アドレス変換後のHTTPリクエストの一例を示す説明図である。 変換後のディスクリプション情報の一例を示す説明図である。 ゲートウェイ情報を取得する際の通信処理を表したシーケンス図である。 第3段階における通信処理を表したシーケンス図である。 第4段階における通信処理を表したシーケンス図である。 第5段階における通信処理を表したシーケンス図である。 第5段階における通信処理を表したシーケンス図である。 操作端末から送信されるメッセージの一例を示す説明図である。 SDP情報の一例を示した説明図である。 Browseレスポンスの一例を示す説明図である。 第6段階における通信処理を表したシーケンス図である。 第7段階における通信処理を表したシーケンス図である。 第8段階における通信処理を表したシーケンス図である。 ポリシー設定アクションメッセージの一例を示す説明図である。 仮想デバイス制御処理の全体の流れを示すフローチャートである。 ゲートウェイ情報公開処理の全体の流れを示すフローチャートである。 本実施の形態にかかるゲートウェイ装置のハードウェア構成を示す説明図である。
符号の説明
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
10 宅外ネットワーク
20a、20b 宅内ネットワーク
100 仲介サーバ
200a、200b ゲートウェイ
210 ゲートウェイ情報登録部
220 ゲートウェイ情報取得部
221 外部情報要求部
222 外部情報受信部
223 検出部
230 ゲートウェイ情報公開部
231 情報要求受信部
232 内部情報送信部
240 遠隔機器情報公開部
241 生成部
242 停止部
243 外部アクセス要求受信部
244 通信確立要求部
245 確立応答受信部
246 外部アクセス要求転送部
247 外部アクセス応答受信部
248 外部アクセス応答転送部
250 通信内容変更部
251 ローカルアドレス変換部
252 グローバルアドレス変換部
260 宅内機器情報取得部
261 内部情報要求部
262 内部情報受信部
270 宅内機器情報公開部
271 確立要求受信部
272 確立応答送信部
273 内部アクセス要求受信部
274 内部アクセス要求転送部
275 内部アクセス応答受信部
276 内部アクセス応答転送部
280 宅内機器情報アクセス制御部
281 ポリシー更新部
290 記憶部
291 機器情報テーブル
301a、301b、302b PVR
401a、401b 操作端末

Claims (20)

  1. アクセス対象となる機器に第1ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第2ローカルネットワークを介して接続されたゲートウェイ装置であって、
    前記機器に関する機器情報の取得を要求する第1メッセージを前記仲介サーバに送信する外部情報要求手段と、
    前記機器情報を含む第2メッセージを前記仲介サーバから受信する外部情報受信手段と、
    受信した前記第2メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成手段と、
    前記外部ゲートウェイ装置のグローバルアドレスを記憶可能な第1記憶手段と、
    前記仮想デバイスに対するアクセス要求である第3メッセージを前記操作端末から受信する外部アクセス要求受信手段と、
    前記第3メッセージを受信した場合に、前記外部ゲートウェイ装置との通信の確立を要求する第4メッセージを前記仲介サーバに送信する通信確立要求手段と、
    送信した前記第4メッセージに対する応答であり、前記グローバルアドレスを含む第5メッセージを前記仲介サーバから受信し、受信した前記第5メッセージに含まれる前記グローバルアドレスを前記第1記憶手段に記憶する確立応答受信手段と、を備え、
    前記確立応答受信手段は、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、
    特徴とするゲートウェイ装置。
  2. 前記生成手段は、前記仮想デバイスを生成した場合、前記ローカルアドレスを前記グローバルアドレスと対応づけて前記第1記憶手段に保存すること、
    を特徴とする請求項1に記載のゲートウェイ装置。
  3. 前記外部アクセス要求受信手段は、前記ローカルアドレスを含む前記第3メッセージを受信し、
    前記第3メッセージに含まれる前記ローカルアドレスに対応する前記グローバルアドレスを前記第1記憶手段から取得し、前記第3メッセージに含まれる前記ローカルアドレスを、取得した前記グローバルアドレスで変換するローカルアドレス変換手段と、
    前記ローカルアドレスを変換した前記第3メッセージを、確立された通信を介して前記外部ゲートウェイ装置に転送する外部アクセス要求転送手段と、
    送信した前記第3メッセージに対する応答であり、前記グローバルアドレスを含む第6メッセージを、確立された通信を介して前記外部ゲートウェイ装置から受信する外部アクセス応答受信手段と、
    前記第6メッセージに含まれる前記グローバルアドレスに対応する前記ローカルアドレスを前記第1記憶手段から取得し、前記第6メッセージに含まれる前記グローバルアドレスを、取得した前記ローカルアドレスで変換するグローバルアドレス変換手段と、
    前記グローバルアドレスを変換した前記第6メッセージを前記操作端末に転送する外部アクセス応答転送手段と、をさらに備えたこと、
    を特徴とする請求項2に記載のゲートウェイ装置。
  4. 前記確立応答受信手段は、前記第5メッセージに含まれる前記グローバルアドレスと、前記第1記憶手段に記憶された前記グローバルアドレスを比較し、前記第5メッセージに含まれる前記グローバルアドレスと、前記第1記憶手段に記憶された前記グローバルアドレスとが一致しない場合に、前記第5メッセージに含まれる前記グローバルアドレスで前記第1記憶手段に記憶された前記グローバルアドレスを更新すること、
    を特徴とする請求項1に記載のゲートウェイ装置。
  5. 前記機器を識別する識別子を含む前記機器情報を記憶可能な第2記憶手段をさらに備え、
    前記外部情報受信手段は、前記識別子を含む前記機器情報を含む前記第2メッセージを前記仲介サーバから受信し、受信した前記第2メッセージに含まれる前記機器情報を前記第2記憶手段に記憶すること、
    を特徴とする請求項1に記載のゲートウェイ装置。
  6. 前記第2メッセージに含まれる前記識別子と、前記第2記憶手段に記憶された前記機器情報に含まれる前記識別子とを比較し、前記第2記憶手段に記憶された前記機器情報に含まれる前記識別子と一致しない前記識別子が前記第2メッセージに含まれている場合に、前記第2メッセージに前記機器情報が追加されたことを検出する検出手段、をさらに備え、
    前記生成手段は、前記機器情報が追加されたと判断された場合に、追加された前記機器情報に基づいて前記機器の仮想デバイスをさらに生成すること、
    を特徴とする請求項5に記載のゲートウェイ装置。
  7. 前記第2メッセージに含まれる前記識別子と、前記第2記憶手段に記憶された前記機器情報に含まれる前記識別子とを比較し、前記第2記憶手段に記憶された前記機器情報に含まれる前記識別子が前記第2メッセージに含まれていない場合に、前記第2記憶手段に記憶された前記機器情報が前記第2メッセージから削除されたことを検出する検出手段、をさらに備え、
    前記機器情報が削除されたと判断された場合に、削除された前記機器情報に基づいて前記機器の仮想デバイスを停止する停止手段をさらに備えたこと、
    を特徴とする請求項5に記載のゲートウェイ装置。
  8. 前記仲介サーバとの間の通信接続を維持する第7メッセージを前記仲介サーバに送信する維持要求送信手段をさらに備え、
    前記外部情報受信手段は、維持された通信接続を用いて前記第2メッセージを前記仲介サーバから受信すること、
    を特徴とする請求項1に記載のゲートウェイ装置。
  9. アクセスの対象となる機器と前記機器にアクセスする第1操作端末とに第1ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第2操作端末に第2ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置であって、
    前記機器に関する機器情報を記憶可能な記憶手段と、
    前記機器情報の取得を要求する第1メッセージを前記機器に送信する内部情報要求手段と、
    前記機器情報を含む第2メッセージを前記機器から受信し、受信した前記第2メッセージに含まれる前記機器情報を前記記憶手段に記憶する内部情報受信手段と、
    前記機器情報の取得を要求する第3メッセージを前記仲介サーバから受信する情報要求受信手段と、
    前記情報要求受信手段が前記第3メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第4メッセージを前記仲介サーバに送信する内部情報送信手段と、
    通信の確立を要求する第5メッセージを前記仲介サーバから受信する確立要求受信手段と、
    前記第5メッセージに対する応答であり、前記グローバルアドレスを含む第6メッセージを送信する確立応答送信手段と、を備え、
    前記確立要求受信手段は、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、
    特徴とするゲートウェイ装置。
  10. 前記記憶手段は、前記機器のアドレスであるローカルアドレスを含む前記機器情報を記憶可能であり、
    前記内部情報受信手段は、前記ローカルアドレスを含む前記機器情報を含む前記第2メッセージを前記機器から受信し、受信した前記第2メッセージに含まれる前記機器情報を前記記憶手段に記憶すること、
    を特徴とする請求項9に記載のゲートウェイ装置。
  11. 前記グローバルアドレスを含み、前記機器に対するアクセス要求である第7メッセージを、前記外部ゲートウェイ装置から受信する内部アクセス要求受信手段と、
    前記第7メッセージでアクセスが要求された前記機器の前記ローカルアドレスを前記記憶手段から取得し、前記第7メッセージに含まれる前記グローバルアドレスを、取得した前記ローカルアドレスで変換するグローバルアドレス変換手段と、
    前記グローバルアドレスを変換した前記第7メッセージを前記機器に転送する内部アクセス要求転送手段と、
    送信した前記第7メッセージに対する応答であり、前記ローカルアドレスを含む第8メッセージを前記機器から受信する内部アクセス応答受信手段と、
    前記第8メッセージに含まれる前記ローカルアドレスを前記グローバルアドレスで変換するローカルアドレス変換手段と、
    前記ローカルアドレスを変換した前記第8メッセージを前記外部ゲートウェイ装置に転送する内部アクセス応答転送手段と、をさらに備えたこと、
    を特徴とする請求項10に記載のゲートウェイ装置。
  12. 前記内部情報受信手段は、さらに前記第1ネットワークに新たに接続された前記機器から前記第2メッセージを受信し、受信した前記第2メッセージに含まれる前記機器情報を前記記憶手段に記憶すること、
    を特徴とする請求項9に記載のゲートウェイ装置。
  13. 前記内部情報受信手段は、さらに前記第1ネットワークから離脱したことを示す第9メッセージを前記機器から受信し、前記第9メッセージを受信した前記機器の前記機器情報を前記記憶手段から削除し、
    前記内部情報送信手段は、前記情報要求受信手段が前記第3メッセージを受信した場合に、前記第4メッセージを送信すること、
    を特徴とする請求項9に記載のゲートウェイ装置。
  14. 前記記憶手段は、前記機器のアドレスであるローカルアドレスを含む前記機器情報を記憶可能であり、
    前記内部情報受信手段は、前記ローカルアドレスを含む前記第2メッセージを受信し、受信した前記第2メッセージに含まれる前記ローカルアドレスと、前記記憶手段に記憶された前記ローカルアドレスとを比較し、前記第2メッセージに含まれる前記ローカルアドレスと、前記記憶手段に記憶された前記ローカルアドレスとが一致しない場合に、前記第2メッセージに含まれる前記ローカルアドレスで前記記憶手段に記憶された前記アドレスを更新し、
    前記内部情報送信手段は、前記内部情報受信手段が前記アドレスを更新した場合は、前記第4メッセージを送信しないこと、
    を特徴とする請求項9に記載のゲートウェイ装置。
  15. 前記記憶手段は、さらに前記機器に対する前記第2端末装置からのアクセス可否を表す公開ポリシーを含む前記機器情報を記憶可能であり、
    変更すべき前記公開ポリシーを含む第10メッセージを前記第1操作端末から受信し、受信した前記第10メッセージに基づいて前記記憶手段に記憶された前記公開ポリシーを更新するポリシー更新手段をさらに備え、
    前記内部情報送信手段は、前記第2端末装置からのアクセスを許可する前記公開ポリシーを含む前記機器情報を前記記憶手段から取得し、取得した前記機器情報を含む前記第4メッセージを送信すること、
    を特徴とする請求項9に記載のゲートウェイ装置。
  16. 前記記憶手段は、さらに前記機器の機種、表示名を含む機器詳細情報を含む前記機器情報を記憶可能であり、
    前記内部情報送信手段は、前記機器詳細情報を含む前記機器情報を前記記憶手段から取得し、取得した前記機器情報を含む前記第4メッセージを送信すること、
    を特徴とする請求項9に記載のゲートウェイ装置。
  17. アクセス対象となる機器に第1ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第2ローカルネットワークを介して接続されたゲートウェイ装置における通信方法であって、
    外部情報要求手段によって、前記機器に関する機器情報の取得を要求する第1メッセージを前記仲介サーバに送信する外部情報要求ステップと、
    前記機器情報を含む第2メッセージを前記仲介サーバから受信する外部情報受信ステップと、
    生成手段によって、受信した前記第2メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成ステップと、
    前記仮想デバイスに対するアクセス要求である第3メッセージを前記操作端末から受信する外部アクセス要求受信ステップと、
    前記第3メッセージを受信した場合に、前記外部ゲートウェイ装置との通信の確立を要求する第4メッセージを前記仲介サーバに送信する通信確立要求ステップと、
    送信した前記第4メッセージに対する応答であり、前記グローバルアドレスを含む第5メッセージを前記仲介サーバから受信し、受信した前記第5メッセージに含まれる前記グローバルアドレスを記憶手段に記憶する確立応答受信ステップと、を含み、
    前記確立応答受信ステップは、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、
    特徴とする通信方法。
  18. アクセスの対象となる機器と前記機器にアクセスする第1操作端末とに第1ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第2操作端末に第2ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置における通信方法であって、
    内部情報要求手段によって、前記機器情報の取得を要求する第1メッセージを前記機器に送信する内部情報要求ステップと、
    前記機器情報を含む第2メッセージを前記機器から受信し、受信した前記第2メッセージに含まれる前記機器情報を記憶手段に記憶する内部情報受信ステップと、
    前記機器情報の取得を要求する第3メッセージを前記仲介サーバから受信する情報要求受信ステップと、
    前記情報要求受信ステップが前記第3メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第4メッセージを前記仲介サーバに送信する内部情報送信ステップと、
    通信の確立を要求する第5メッセージを前記仲介サーバから受信する確立要求受信ステップと、
    前記第5メッセージに対する応答であり、前記グローバルアドレスを含む第6メッセージを送信する確立応答送信ステップと、を含み、
    前記確立要求受信ステップは、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じること、
    特徴とする通信方法。
  19. アクセス対象となる機器に第1ローカルネットワークを介して接続された外部ゲートウェイ装置と、通信の確立を仲介する仲介サーバとにグローバルネットワークを介して接続され、前記機器にアクセスする操作端末に第2ローカルネットワークを介して接続されたゲートウェイ装置における通信プログラムであって、
    前記機器に関する機器情報の取得を要求する第1メッセージを前記仲介サーバに送信する外部情報要求手順と、
    前記機器情報を含む第2メッセージを前記仲介サーバから受信する外部情報受信手順と、
    受信した前記第2メッセージに含まれる前記機器情報に基づいて、前記機器の仮想デバイスを生成する生成手順と、
    前記仮想デバイスに対するアクセス要求である第3メッセージを前記操作端末から受信する外部アクセス要求受信手順と、
    前記第3メッセージを受信した場合に、前記外部ゲートウェイ装置との通信の確立を要求する第4メッセージを前記仲介サーバに送信する通信確立要求手順と、
    送信した前記第4メッセージに対する応答であり、前記グローバルアドレスを含む第5メッセージを前記仲介サーバから受信し、受信した前記第5メッセージに含まれる前記グローバルアドレスを記憶手段に記憶する確立応答受信手順と、を前記ゲートウェイ装置に実行させ、
    前記確立応答受信手順は、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じる
    通信プログラム。
  20. アクセスの対象となる機器と前記機器にアクセスする第1操作端末とに第1ローカルネットワークを介して接続され、通信の確立を仲介する仲介サーバと、前記機器にアクセスする第2操作端末に第2ローカルネットワークを介して接続された外部ゲートウェイ装置とにグローバルネットワークを介して接続され、グローバルアドレスを有するゲートウェイ装置における通信プログラムであって、
    前記機器情報の取得を要求する第1メッセージを前記機器に送信する内部情報要求手順と、
    前記機器情報を含む第2メッセージを前記機器から受信し、受信した前記第2メッセージに含まれる前記機器情報を記憶手段に記憶する内部情報受信手順と、
    前記機器情報の取得を要求する第3メッセージを前記仲介サーバから受信する情報要求受信手順と、
    前記情報要求受信手順が前記第3メッセージを受信した場合に、前記記憶手段に記憶された前記機器情報を含む第4メッセージを前記仲介サーバに送信する内部情報送信手順と、
    通信の確立を要求する第5メッセージを前記仲介サーバから受信する確立要求受信手順と、
    前記第5メッセージに対する応答であり、前記グローバルアドレスを含む第6メッセージを送信する確立応答送信手順と、を前記ゲートウェイ装置に実行させ、
    前記確立要求受信手順は、前記第5メッセージを受信した場合に、確立した通信で用いるポートを開き、確立した通信が終了した場合に前記ポートを閉じる
    通信プログラム。
JP2006185633A 2006-07-05 2006-07-05 ゲートウェイ装置、通信方法および通信プログラム Expired - Fee Related JP4817997B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006185633A JP4817997B2 (ja) 2006-07-05 2006-07-05 ゲートウェイ装置、通信方法および通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006185633A JP4817997B2 (ja) 2006-07-05 2006-07-05 ゲートウェイ装置、通信方法および通信プログラム

Publications (2)

Publication Number Publication Date
JP2008017122A JP2008017122A (ja) 2008-01-24
JP4817997B2 true JP4817997B2 (ja) 2011-11-16

Family

ID=39073744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006185633A Expired - Fee Related JP4817997B2 (ja) 2006-07-05 2006-07-05 ゲートウェイ装置、通信方法および通信プログラム

Country Status (1)

Country Link
JP (1) JP4817997B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4886712B2 (ja) * 2008-02-05 2012-02-29 日本電信電話株式会社 アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
FR2928802A1 (fr) 2008-03-17 2009-09-18 France Telecom Partage de contenu multi supports a partir d'une communication audio-video
JP2009259111A (ja) * 2008-04-18 2009-11-05 Hitachi Ltd ネットワーク装置、コンテンツ配信方法及びプログラム
JP2010226197A (ja) * 2009-03-19 2010-10-07 Kddi Corp 宅内中継通信装置および宅内情報システム
WO2011001538A1 (en) * 2009-06-30 2011-01-06 Telefonaktiebolaget L M Ericsson (Publ) An information processing system and method providing a remote access
WO2011045887A1 (ja) * 2009-10-13 2011-04-21 日本電気株式会社 ゲートウェイ装置、移動通信システム、移動端末、パケット転送制御方法、移動端末の制御方法、及び非一時的なコンピュータ可読媒体
JP5260467B2 (ja) * 2009-10-19 2013-08-14 日本電信電話株式会社 アクセス制御システムおよびアクセス制御方法
CN104519077A (zh) * 2013-09-26 2015-04-15 中兴通讯股份有限公司 多媒体分享方法、注册方法、服务器及代理服务器
KR102185665B1 (ko) * 2013-12-24 2020-12-02 주식회사 엘지유플러스 All-IP 환경에서 IPv6 주소 기반의 통신을 위한 사용자 식별 서버, 단말, 방법, 및 기록 매체
JP6289138B2 (ja) * 2014-02-04 2018-03-07 シャープ株式会社 コントローラ、サブネット、および情報処理方法
JP2016015728A (ja) * 2015-07-02 2016-01-28 日立マクセル株式会社 コンテンツ送信装置及びコンテンツ送信方法
JP2019140632A (ja) 2018-02-15 2019-08-22 富士通株式会社 中継装置、中継方法、データ構造、ゲートウェイ装置、及び中継システム
JP7347776B2 (ja) * 2019-01-30 2023-09-20 Necプラットフォームズ株式会社 ノード管理装置、ノード管理方法及びプログラム
EP3883214B1 (en) * 2020-03-20 2023-09-06 Mitsubishi Electric R&D Centre Europe B.V. A method for implementing an industrial communication gateway

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3660443B2 (ja) * 1996-10-15 2005-06-15 株式会社東芝 データ転送制御システム及び中継装置
JP3688464B2 (ja) * 1997-05-06 2005-08-31 株式会社東芝 端末装置、サーバ装置、通信装置および制御方法
JP3593117B2 (ja) * 2002-05-31 2004-11-24 株式会社東芝 中継装置と中継装置の接続方法

Also Published As

Publication number Publication date
JP2008017122A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
JP4817997B2 (ja) ゲートウェイ装置、通信方法および通信プログラム
US9106490B2 (en) Method, apparatus and system for sharing multimedia content within a peer-to-peer network
US7583685B2 (en) Gateway device, network system, communication program, and communication method
US7292859B2 (en) Apparatus and method for managing device information through networks
KR100733962B1 (ko) 홈네트워크 간 미디어 컨텐츠 공유 시스템 및 그 방법
JP2010515338A (ja) サービス発見のための方法と装置
EP2239890B1 (en) Remote access method in a network comprising a nat device
Kim et al. Implementation of the DLNA proxy system for sharing home media contents
US9008057B2 (en) Gateway apparatus and presence management apparatus
US8526352B2 (en) Method of controlling an entity of a remote network from a local network
JP6511624B2 (ja) マルチメディア共有方法、登録方法、サーバー及びプロキシサーバー
Lee et al. An approach for content sharing among UPnP devices in different home networks
Oh et al. Design of an extended architecture for sharing dlna compliant home media from outside the home
Venkitaraman Wide-area media sharing with UPnP/DLNA
JP2009230256A (ja) 通信制御装置、通信制御方法および通信制御プログラム
JP3583621B2 (ja) 通信装置、通信方法及び通信プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4044551B2 (ja) ゲートウェイ装置、コンテンツ提供サーバ、通信プログラムおよび通信方法
US9325518B2 (en) Controlling a device of a remote network from a local network
JP4886712B2 (ja) アクセス制御システム、アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
KR20120072115A (ko) UPnP 네트워크 영역 확장 장치 및 방법
Belimpasakis et al. Remote access to universal plug and play (UPnP) devices utilizing the Atom publishing protocol
JP2008097297A (ja) 通信装置、通信方法および通信プログラム
Oh et al. The dlna proxy system architecture for sharing in-home media contents via internet
KR20140086358A (ko) 홈네트워크 간 미디어 컨텐츠 공유 방법
Grimmett et al. UPnP: Breaking out of the LAN

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4817997

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees