説明

リモートアクセスを行う方法、装置、システム及びプログラム

【課題】簡易な通信方法にて遠隔地からホームネットワークへのアクセスを可能としたリモートアクセスシステムを提供する。
【解決手段】端末装置は、UPnP規格に基づいて通信を行う第1UPnP部と、UPnPディスカバリメッセージをユニキャストに変換する第1メッセージ変換部を備え、ゲートウェイは、UPnP規格に基づいて通信を行う第2UPnP部と、プライベートアドレスとグローバルアドレスとを相互に変換するNAT部と、端末装置から受信したユニキャストのディスカバリメッセージを、マルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、NAT部によって変換されるデバイスを示すグローバルアドレスへ書き換える第3メッセージ変換部とを備え、端末装置は、応答メッセージに含まれるグローバルアドレスにより送信元デバイスとの通信を行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットを経由してホームネットワーク等のプライベートネットワークにリモートアクセスするための通信システムに関する。
【背景技術】
【0002】
近年、ホームネットワークに関する標準化団体であるDLNA(Digital Living Network Alliance)において、家庭内におけるデジタルAV機器等のデジタル家電機器やPC(パーソナルコンピュータ)を相互に接続し、動画や音楽等のデジタルコンテンツを相互利用するためのガイドラインが策定されている。以降の説明においては、DLNAにより策定された仕様について「DLNA」と称する。DLNAでは、コンテンツを提供するサーバがDMS(Digital Media Server)、再生するクライアントがDMP(Digital Media Player)、DMSやDMPを制御するコントローラがDMC(Digital Media Controller)と定義され、これらのデバイス間で交換されるデータ形式や通信手順が定められている。このDLNAに準拠したデバイスを用いてホームネットワークを構成することにより、例えば、携帯電話端末(DMC)を用いてPC(DMS)に保存されたコンテンツをテレビ(DMP)で表示させるといったことが可能となっている。
【0003】
DLNAでは、ホームネットワーク内の機器やコンテンツの自動認識及びコンテンツの共有を行うための技術仕様としてUPnP(Universal Plug and Play)が採用されている。UPnPは、ホームネットワーク等のローカルネットワークに接続されたデバイスを検出し相互に接続するための仕様である。そのため、UPnPでは、ローカルネットワークの外部に位置するデバイスから、インターネットを経由して、ホームネットワーク内のデバイスにアクセスすることは想定されておらず、そのようなリモートアクセスを可能にする仕組みも備わっていない。しかしながら、インターネットへの高速アクセスが可能な携帯電話などの携帯端末の普及に伴い、利用者においては、家庭内だけでなく、外出先からもインターネットを経由してホームネットワーク内のデバイスにリモートアクセスし、例えば外出先から携帯端末を用いて自宅のデバイスに記憶されているコンテンツを鑑賞できるようにしたいといった要望がある。
【0004】
上記の要望に応えるため、近年、UPnPのリモートアクセス技術の開発が進められている。例えば、特許文献1には、そのようなUPnPのリモートアクセスシステムの一例が記載されている。特許文献1におけるUPnPリモートアクセスでは、外部ネットワークのリモートデバイスとホームネットワーク内のデバイスとの間で安全な通信を確立するために、リモートデバイスとホームネットワークのホームゲートウェイとの間でIPSec(IP Security)によるトンネルが構築される。さらに、ホームネットワーク内のデバイスが所有する種々のサービスをリモートデバイスに提供するために、多くの機能がホームゲートウェイに与えられている。該機能の例としては、ホームネットワーク内の各デバイスの情報および各デバイスが所有するサービスに関する情報のリストを保持して該情報を随時更新するメンテナンス機能、リモートデバイスからの検索および通知メッセージをホームネットワーク内のデバイスへ転送する機能、リモートデバイスから送信されるメッセージのマルチキャストアドレスをフィルタリングする機能などがある。
【特許文献1】国際公開公報 WO2007/110,754号
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のリモートアクセスシステムを用いて外出先からDLNAホームネットワーク内のデバイスにアクセスする場合には、リモートデバイスとホームゲートウェイとの間にトンネルを構築し、さらにホームゲートウェイに上記のような多くの機能を追加する必要がある。
【0006】
しかしながら、リモートデバイスとホームネットワークとをIPSecのトンネルで接続するためには、リモートデバイスにおいて予めIPSecのクライアントソフトウェアをインストールしておくなど、IPSecに準拠した装置である必要がある。また、トンネルを構築する前に、リモートデバイスとホームゲートウェイとの間で認証や暗号鍵の交換等を行う必要があり、処理が煩雑となる。さらに、複数のリモートデバイスからホームネットワークに同時に接続したい場合などは、リモートアクセス毎にトンネルを構築する必要があり、ホームゲートウェイにおける処理が増大してしまう。
【0007】
さらに、特許文献1のリモートアクセスシステムでは、トンネルによって接続されるのはリモートデバイスとホームゲートウェイのみとなっている。そのため、リモートデバイスからホームネットワーク内のデバイスへは直接アクセスできず、ホームゲートウェイにて、ネットワーク内のデバイスが提供するサービスに関する情報などを収集して保持する必要がある。さらに、各デバイスの情報が更新される度に、ホームゲートウェイが保持する対応する情報も更新しなければならない。そのため、ホームゲートウェイにおいて行われる処理が増大し、負荷が大きくなってしまう。特に多数のデバイスが接続されたホームネットワークでは、ホームゲートウェイの処理量が増えるだけでなく必要な記憶容量も増大するといった問題もあった。
【0008】
本発明は上記事情に鑑みてなされたものであり、ゲートウェイに大きな負荷をかけることなく、簡易な通信方式によって遠隔地からホームネットワークへのリモートアクセスを可能にするリモートアクセスシステム、及び該リモートアクセスを実現するゲートウェイ及び端末装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本発明により、端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なうリモートアクセスシステムが提供される。本発明のリモートアクセスシステムにおける端末装置は、インターネットを介してプライベートネットワークへ接続するための第1ネットワークインタフェース部と、UPnP規格に基づいて通信を行う第1UPnP部と、UPnPディスカバリメッセージをゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部とを備えている。また、本発明のリモートアクセスシステムにおけるゲートウェイは、インターネットと接続するための第2ネットワークインタフェース部と、プライベートネットワークと接続するための第3ネットワークインタフェース部と、UPnP規格に基づいて通信を行う第2UPnP部と、デバイスに割り当てられたプライベートアドレスとインターネット接続のためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、第3ネットワークインターフェース部を介して、デバイスからディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれるデバイスのローカルアドレスをNAT部が有するアドレス変換テーブルによって変換された、デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換部とを備えている。そして、本発明の端末装置は、応答メッセージに含まれるグローバルアドレスに基づいて、応答メッセージの送信元であるデバイスとの通信を行なうことを特徴としている。
【0010】
上記構成のリモートアクセスシステムによれば、プライベートネットワーク内において、プライベートアドレスで管理されているデバイスのアドレスを、NATのアドレス変換テーブルに基づいてグローバルアドレスに変換して端末装置に送信する。これにより、グローバルアドレスで管理される端末装置から、プライベートネットワーク内のデバイスをあて先とした通信が可能となる。また、一般的なゲートウェイに搭載されているNAT機能におけるアドレス変換テーブルの情報を利用して応答メッセージの書き換え等を行うめ、端末装置とゲートウェイに実装される標準のUPnP機能部に対して僅かな拡張を行うだけで、上記端末装置とデバイスの通信が可能となる。また、本発明のリモートアクセスシステムでは、端末装置やゲートウェイにおいてトンネリング等の複雑な通信手続を必要とせず、単にユニキャスト/マルチキャストの変更や、NATを利用したアドレス書き換え等の比較的に軽い処理のみが行われる。そのため、携帯電話等の比較的に処理能力の低い端末装置を使用してシステムを構築することができる。また、上記のように端末装置とからデバイスへの通信が可能となるため、ゲートウェイの処理負担が比較的に軽くなり、数台の端末装置から同時にリモートアクセスを受けた場合でも、ゲートウェイの処理能力が不足するようなこともない。
【0011】
上記構成のリモートアクセスシステムにおいて、第3メッセージ変換部は、さらに応答メッセージに含まれるデバイスのUPnPディスクリプションの場所を示すURLをグローバルアドレスへ変換するように構成されていてもよい。
【0012】
この構成により、ゲートウェイにおいて、UPnPのディスカバリ応答メッセージ等に含まれる、プライベートアドレスで記述されたディスクリプションのURLがグローバルアドレスに変換されてから端末装置に転送されるため、グローバルアドレスを使用する端末装置からホームネットワーク等のプライベートネットワーク内のデバイスが保持するディスクリプション情報を取得することが可能になる。
【0013】
また、プライベートネットワークは、DLNAガイドラインに従って構築されたネットワークであっても良い。
【0014】
また、本発明により、インターネット上の端末装置とプライベートムネットワークとを接続するゲートウェイが提供される。本発明のゲートウェイは、インターネットと接続するための第1ネットワークインタフェース部と、プライベートネットワークと接続するための第3ネットワークインタフェース部と、デバイスに割り当てられたプライベートアドレスとインターネット接続のためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、デバイスからディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれるデバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換部とを備えている。
【0015】
また、本発明により、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスする端末装置が提供される。本発明の端末装置は、インターネットを介してプライベートネットワークへ接続するためのネットワークインタフェース部と、UPnP規格に基づいて通信を行う第1UPnP部と、UPnPディスカバリメッセージをゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部とを備えている。さらに、端末装置は、デバイスからの応答メッセージに含まれるグローバルアドレスを用いて、応答メッセージの送信元であるデバイスとの通信を行なうことを特徴としている。
【0016】
また、本発明により、端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してリモートアクセスを行なう方法が提供される。本発明のリモートアクセスの方法は、端末装置において実行される、UPnPディスカバリメッセージを生成するステップと、UPnPディスカバリメッセージをゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換してゲートウェイへ転送する第1メッセージ変換ステップと、ゲートウェイにおいて実行される、端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換ステップと、デバイスからディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれるデバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換ステップと、デバイスに割り当てられたプライベートアドレスとグローバルアドレスとをアドレス変換テーブルに基づき相互に変換するNAT変換ステップとからなる。また、本発明により、上記の方法の各ステップをコンピュータに実行させるためのプログラムも提供される。
【発明の効果】
【0017】
したがって、本発明によれば、ゲートウェイに大きな負荷をかけることなく、簡易な通信方法にて遠隔地からホームネットワークへのアクセスを可能としたリモートアクセスシステムを提供することができる。
【発明を実施するための最良の形態】
【0018】
まず、本発明の実施形態の説明において用いられる用語について、下記に説明する。
・DHCP (Dynamic Host Configuration Protocol):動的にIPアドレスを割り当てるプロトコル。
・DDNS (Dynamic Domain Name System):動的に割り当てられるIPアドレスとドメイン名とを対応させるシステム。
・GENA (General Event Notification Architecture):UPnPのイベント通知に利用されるプロトコル。
・HTTP (Hyper Text Transfer Protocol):WebブラウザとWebサーバとの間でのデータ転送に用いられる通信プロトコル。
・HTTPU (HTTP over UDP) :UDP上でデータ転送を行うHTTPの変形。
・HTTPMU (HTTP Multicast over UDP):UDP上でマルチキャストによりデータ転送を行うHTTPの変形。
・NAT (Network Address Translation):IPアドレスの変換技術。グローバルアドレスとローカルアドレスとを相互に変換する。
・RPC(Remote Procedure Call):プロセスの一部の実行を,ネットワークを介して接続された別のデバイスに委託する技術。
・SOAP (Simple Object Access Protocol):HTTP及びXMLを使用してRPCを実行するためのプロトコル。UPnPのコントロールに利用される。
・SSDP (Simple Service Discovery Protocol):ネットワークサービスを検出するためのプロトコル。UPnPのディスカバリに利用される。
・TCP (Transmission Control Protocol):インターネットの標準プロトコルの一つ。OSI参照モデルのトランスポート層にあたり、IP上でコネクション型の信頼性の高い通信を実現する。
・UDP (User Datagram Protocol):インターネットの標準プロトコルの一つ。OSI参照モデルのトランスポート層にあたり、IP上でマルチキャスト等のコネクションレス型の通信を実現する。
・URL (Uniform Resource Locator):インターネット上に存在する情報の場所を示す記述方式。
・XML (Extensible Markup Language):マークアップ言語の一つ。ユーザが独自のタグを定義できる等の拡張性を有する。
【0019】
以下、図面を参照して、本発明に係るリモートアクセスシステム1について説明する。
【0020】
図1は、本発明に係るリモートアクセスシステム1の構成を示す模式図である。本発明のリモートアクセスシステム1は、ホームネットワーク100、インターネット200、および端末装置300により構成される。ホームネットワーク100は、後述するホームゲートウェイ10を介してインターネット200に接続される。また、本実施形態において、端末装置300は携帯電話端末であり、図示しない携帯電話網を介してインターネット200に接続される。
【0021】
ホームネットワーク100は、家庭内に構築されたローカルネットワークであり、家庭内に設置されたホームゲートウェイ10ならびにデバイス21、22および23から構成される。デバイス21、22および23は、例えばPC、デジタルカメラ、HDDレコーダもしくは家庭用ゲーム機などの家庭用電子機器である。ホームゲートウェイ10、ならびにデバイス21、22および23は、いずれもDLNAのガイドラインに準拠した製品であり、後述のようにそれぞれ相互に有線もしくは無線接続してホームネットワーク100を構成している。
【0022】
図2は、ホームゲートウェイ10の構成を示すブロック図である。図2に示すように、ホームゲートウェイ10は、CPU11、メモリ12、ローカルネットワークインタフェース部14、グローバルネットワークインタフェース部15から構成される。これらの構成要素は、バス20を介して相互に接続されており、CPU11によってそれぞれ制御される。
【0023】
メモリ12は、後述するNAT部160で用いられるアドレス変換テーブルなどの各種データやプログラムなどを記憶している。メモリ12が記憶するプログラムには、図3に示される機能ブロックをCPU11にて実現するための制御プログラム等が含まれる。CPU11は、メモリ12に記憶されたプログラムを実行することにより、図3に示される各機能を実現する。また、ローカルネットワークインタフェース部14は、ホームゲートウェイ10をホームネットワーク100に接続するネットワークインタフェースである。また、グローバルネットワークインタフェース部15は、ホームゲートウェイ10をインターネット200に接続するネットワークインタフェースである。
【0024】
図3は、ホームゲートウェイ10において実現される、本発明のリモートアクセスに関係する主要な機能ブロックを表す機能ブロック図である。DLNA部130は、DLNAガイドラインで規定される各種機能を実現するための機能ブロックであり、UPnP部131を利用して各種の処理を行う。UPnP部131は、UPnP規格に基づいた処理を行うための機能ブロックであり、本発明のリモートアクセスを実現するための機能拡張部としてリモートアクセス処理部140(以降「RA処理部140」という。)を備えている。また、UPnP部131は、DHCPサーバ部132およびWebサーバ部134を利用して各種の処理を実行するように構成されている。本実施形態においては、図3にはDLNA部130が利用する機能ブロックとしてUPnP部131のみが図示されている。しかしながら、DLNA部130は、例えば各デバイスにおいて音声データや映像データをストリーミング再生するための伝送プロトコルであるRTP(Real-time Transport Protocol)などの、DLNAに必要な機能を実現するための図示されていない多くの機能ブロックを利用して処理を行う構成となっている。本実施形態ではDLNAが利用するUPnPに関する処理を中心に説明を行うため、その他の機能については説明を省略する。
【0025】
UPnP部131は、後述するアドレッシング、ディスカバリ、ディスクリプション、コントロール、イベンティング、およびプレゼンテーションといった各種の処理を行う。
【0026】
DHCPサーバ部132は、UPnPのアドレッシングの際に利用される機能ブロックであり、ホームネットワーク100に接続されたデバイスに、ローカルアドレスを自動的に割り当てる機能を有している。DHCPサーバ部132には、各デバイスに割り当て可能なローカルアドレスの範囲などが設定されており、ホームネットワーク100に接続されたデバイスにこれらの情報を提供する。そして、該デバイスが通信を終えると自動的にアドレスを回収して、他のデバイスに割り当てられるようにする。Webサーバ部134は、HTTP等のプロトコルによって外部との通信を行なうものである。
【0027】
NAT部160は、ホームネットワーク100内の各デバイス21〜23に割り当てられているローカルアドレスと、インターネット上の端末との通信に使用するグローバルアドレスとを相互変換する機能を有するネットワークアドレス変換部である。具体的には、NAT部160は、デバイス23がインターネット200にアクセスする際に、デバイス23に割り当てられたローカルIPアドレスとローカルネットワーク用のTCP/UDPポート番号とをグローバルIPアドレスとインターネット用のTCP/UDPポート番号とに変換する機能を有している。NAT部160で変換される内容、すなわちホームネットワーク100とインターネット200のそれぞれで使用されるIPアドレスとTCP/UDPポート番号との組合せの対応関係は、アドレス変換テーブルに登録されて、メモリ12に記憶される。このNAT部160により、ホームネットワーク内で使用されるローカルアドレスと、変換後のグローバルアドレスとを相互に変換することで、ホームネットワーク100内においてはローカルアドレスで識別されるデバイスが、インターネット上においては、グローバルアドレスによって識別されることが可能となる。
【0028】
まず、本実施形態において、ホームネットワーク100内のデバイスの検出やコンテンツの交換を行うために利用されるUPnP機能について、図4および図5を参照して説明する。図4は、DLNAのプロトコルスタックを示す図である。図4に示すように、DLNAのプロトコルスタックにおける最上位層は、DLNAガイドラインに従ったサービスを各種アプリケーションに提供するDLNAレイヤーである。DLNAレイヤーには、GUI(Graphical User Interface)やAPI(Application Programming Interface)等の各種インターフェイスが含まれる。DLNAレイヤーの下層には、UPnP規格に従ったサービスをDLNAレイヤーに提供するUPnPレイヤーが存在する。UPnPは、SSDP、SOAP、GENAなどの各種プロトコルを利用する。SSDP、SOAP、GENAの各プロトコルは、ディスカバリ、コントロール、イベンティングの各処理を行う際にそれぞれ使用される。ディスカバリに使用されるSSDPは、UDP/IP上で動作するHTTPMUやHTTPUを使用してメッセージの送受信を行う。また、SOAPやGENAを使用して実行されるコントロールやイベンティングは、TCP/IP上でコネクション型通信によって行われる。このようなプロトコルスタックからなるUPnPの実際の処理について、図5を参照して以下に説明する。
【0029】
図5は、ホームネットワーク100に新たにデバイス23が接続された場合を例とした、UPnPによるホームネットワーク100内のデバイス及びコンテンツの自動認識及びコンテンツ共有の処理の流れを示す図である。以下の処理は、デバイス21〜23が備える図示しないCPUにおいて、通常のUPnP規格に基づく処理を実行することによって実現される。UPnPによる自動認識及びコンテンツ共有は、アドレッシング、ディスカバリ、ディスクリプション、コントロール、イベンティング、およびプレゼンテーションの6段階の処理によって実現される。
【0030】
まず、デバイス23が無線もしくは有線LANによってホームネットワーク100に接続される(S1)と、ホームゲートウェイ10のDHCPサーバ部132により、デバイス23にホームネットワーク100内でのローカルIPアドレスが自動的に割り当てられる(S2)。これをアドレッシングという。ここで、もしホームネットワーク内にDHCPサーバ機能が存在しない場合には、デバイス23は、自機器に備えられたAuto IP機能を利用して、あらかじめ予約されたアドレスから他機器と重複しない任意のIPアドレスを選んで自動的に自己のIPアドレスを設定する。
【0031】
デバイス23にIPアドレスが設定されると、次にディスカバリが行なわれる。ディスカバリでは、ホームネットワーク100に接続されているサーバや他のデバイスを検出するために、デバイス23からホームネットワーク100内の各機器に対して、ディスカバリメッセージがマルチキャストで送信される(S3)。このディスカバリメッセージには、デバイスタイプなどのデバイス23に関する情報や、ホームネットワーク100上に存在するデバイスへの問い合わせを行なうクエリーなどが含まれる。
【0032】
S3の処理では、ホームゲートウェイ10、デバイス21および22に対してディスカバリメッセージが送信されるが、以降の説明においては、デバイス23とデバイス21との間で行われる通信を例にとって説明する。S3にてディスカバリメッセージを受信したデバイス21は、デバイス23に対して自機器がネットワークに接続されていることを通知する応答メッセージを送信する(S4)。この応答メッセージには、デバイス21のデバイスタイプやサービスタイプ、およびデバイス21のローカルIPアドレスなどの基本的な情報の他、後述するディスクリプションを参照するためのURLなどが含まれている。
【0033】
上記ディスカバリでは、ディスカバリメッセージおよび応答メッセージの送信にはSSDPが用いられる。SSDPでは、ネットワーク内のデバイスを検出する方法およびデバイスの可用性を通知する方法が定義されている。また、ディスカバリでは特定の機能を有したデバイスのみを検出することもできる。この場合、特定の機能を有している機器のみを対象にしたクエリーをディスカバリメッセージに含めることで、当該機能を有するデバイスのみがディスカバリに対して応答する。
【0034】
ディスカバリにおいてデバイス21から応答を受けたデバイス23は、次にデバイス21の詳細な情報を知るために、デバイス21からディスクリプションを取得する。ディスクリプションはXMLで記述された文書であり、デバイスの型名や提供するサービス一覧が記述されたデバイスディスクリプションと、デバイスが提供する各サービスに関する情報(コマンドやアクション、各アクションのパラメータのリスト等)が記述されたサービスディスクリプションの2種類がある。デバイス23は、デバイス21からの応答メッセージに含まれるディスクリプションのURLに基づき、デバイス21にディスクリプション要求を送信する(S5)。そしてデバイス21は、ディスクリプション要求に応答して、デバイス23へディスクリプションを送信する(S6)。これらのディスクリプションの送受信はHTTP通信によって行なわれる。なお、説明を簡易にするため、図5及び明細書の説明において、デバイスディスクリプションとサービスディスクリプションの取得が1つの処理として記載しているが、詳細には、各ディスクリプションについての要求と応答が順に行われる。すなわち、デバイス23は、最初にデバイス21のデバイスディスクリプションを取得すると、取得したデバイスディスクリプションの内容からデバイス23が提供するサービスの種類と、各サービスに関する詳細情報が記述されたサービスディスクリプションのURLを知る。デバイス23が必要なサービスを提供していれば、デバイス23は次いで当該サービスに関するサービスディスクリプションをデバイス21に要求する。このような手順でサービスディスクリプションを取得することで、デバイス23はデバイス21が提供するサービスを利用できるようになる。
【0035】
デバイス23がデバイス21の提供するサービスを利用する際には、デバイス21を制御するための処理(コントロール)が行われる。具体的には、まずデバイス23からデバイス21へ、デバイス21が提供するサービスに関するアクション要求を含む制御メッセージが送信される(S7)。そして、制御メッセージに対するリザルトまたはエラーがデバイス21よりデバイス23へ返信される(S8)。このコントロールはSOAPを使用して行われる。
【0036】
また、デバイス21が提供するサービスに変更が生じた場合には、これをデバイス23に通知するイベンティングが行われる(S9)。例えば、デバイス21が提供するサービス項目が追加もしくは削除された場合などに、イベンティングが行なわれる。イベンティングは、GENAを使用して実現される。GENAを用いることで、自機器の状態が変化した(イベントが発生した)場合に、イベントの通知をネットワーク内のデバイスへHTTPを用いて送信することが可能となる。
【0037】
また、デバイス21がプレゼンテーション用のページを有する場合(デバイスディスクリプションにプレゼンテーションページのURLが含まれている場合)、デバイス23は、このページを取得してブラウザに読み込み、デバイス23に備えられた図示されない表示画面に表示させることができる。さらに、ページの機能によっては、デバイス21からデバイスの状態に関する情報を取得して表示することもできる。このような処理をプレゼンテーションと言う(S10)。
【0038】
上記のようなUPnPを使用した処理により、ホームネットワーク100に新たに追加されたデバイス23とデバイス21との間でのピア・ツー・ピアの相互接続が可能となる。また、デバイス21と同様に、デバイス23からマルチキャスト送信されたディスカバリメッセージを受信したデバイス22やホームゲートウェイ10も、上記と同様にディスクリプション、コントロールなどのUPnP処理が行われる。そして、デバイス23とホームネットワーク内の各デバイスが、それぞれ相互通信可能となり、デバイス間の制御やコンテンツの共有が可能となる。
【0039】
上記のようにUPnPを使用したデバイスの自動認識が行われると、DLNAのガイドラインに従って、例えばデバイス21がデジタルカメラなどのコンテンツを保持するDMS、デバイス22がテレビなどのコンテンツ再生機能を有するDMP、デバイス23がPCなどの制御機能を有するDMCであると定義される。そして、DLNAガイドラインに規定された手順に基づいた各機器の連携動作によって画像再生処理等が行われる。具体的には、DMC(デバイス23)によって、DMS(デバイス21)およびDMP(デバイス22)を制御することで、DMS(デバイス21)が所有する画像をDMP(デバイス22)に転送しDMPの画面に表示することなどが可能となる。
【0040】
次に、本発明の特徴である、端末装置300からホームネットワーク100へのリモートアクセスについて詳述する。このリモートアクセスは、例えば、外出先で、ホームネットワーク100のデバイス21に格納されているコンテンツを、端末装置300にダウンロードして再生したい場合などに用いられる。図6は、端末装置300の構成を示すブロック図である。本実施形態において端末装置300は携帯電話端末であるが、別の実施形態では、例えばPHS(Personal Handy phone System)、PDA(Personal Digital Assistants)、携帯ゲーム機などの携帯端末の他、外出先に設置されたPC等のインターネット200を介してホームゲートウェイ10に接続された端末であっても良い。
【0041】
端末装置300は、装置全体を統括制御するCPU310、各種データやアプリケーション等のプログラムを記憶するメモリ320、ユーザ入力を受け付けるための数字キーや方向キー等からなる入力部330、液晶や有機ELディスプレイ等からなる表示部340、携帯電話網を介してインターネット200へのアクセスを行うネットワークインタフェース部350から構成される。これらの構成要素は、バス390を介して他の構成要素と接続している。
【0042】
図7は、CPU310にて実現される機能要素をあらわす機能ブロック図である。メモリ320には、図7に示される各機能ブロックをCPU310が実現するための制御プログラム等が記憶されており、CPU310がメモリから各プログラムを読み出して実行することで、図7に示される各機能が実現される。
【0043】
図7のDLNA部360は、DLNAガイドラインに基づいて通信を行う機能ブロックである。DLNA部360は、UPnP部362を利用して各種の処理を実行する。UPnP部362は、UPnP規格に基づいて通信処理を行う機能ブロックであり、ディスカバリ、ディスクリプション、コントロール、イベンティング、およびプレゼンテーションの各処理を行う。また、UPnP部362は、本発明のリモートアクセスを実現するための機能拡張部としてリモートアクセス処理部366(以下、「RA処理部366」という。)を備えている。また、ホームゲートウェイ10のDLNA部130と同様に、DLNA部360は、UPnP部362以外にも、例えばRTP機能などのDLNAシステムで使用される図示されない多くの機能ブロックを利用して処理を行う構成となっている。
【0044】
図8は、端末装置300からホームネットワーク100へのリモートアクセスを行なうためのリモートアクセス処理を示す図である。まず、ユーザが入力部330を操作してメモリ320に予めインストールされているDLNAに準拠したアプリケーション(例えば、HDDレコーダ遠隔再生アプリケーション)を起動すると、端末装置300は、携帯電話網を介してインターネットとの接続を確立する(S101)。
【0045】
ところで、上述のように、ホームネットワーク100内のデバイス21〜23におけるUPnP処理においては、アドレッシングの際には、ホームゲートウェイ10が備えるDHCPサーバ部132によって、ローカルIPアドレスが割り当てられる。また、DHCPサーバがネットワーク内に検出されない場合には、AUTO IP機能によって自らローカルIPアドレスが設定される。しかしながら、本実施形態の端末装置300は、上述の通りホームネットワーク100ではなく、インターネット200に接続されているため、デバイス21〜23のような通常のUPnPデバイスにおいて行われるローカルIPアドレスのアドレッシングを行うことができない。また、端末装置300には、通常Auto IP機能も備わっていない。そのため、端末装置300のアドレッシングは、インターネット200との接続確立時に、図示しない携帯電話網上のアクセスポイントが備えるDHCPサーバより、グローバルアドレスが割り当てられることによって行われる。そして、このグローバルアドレスが、端末装置300の識別や管理に用いられる。
【0046】
インターネットへの接続が完了すると、次にホームネットワーク100指定が行われる(S102)。ホームネットワーク100の指定は、端末装置300のユーザにより表示部340を介してホームネットワーク100のドメイン名などを指定することにより行われる。ここで、本実施形態のホームネットワーク100においては、ホームゲートウェイ10を、ホームネットワーク100の公開サーバとしてネットワーク上に公開するために、DNSおよびDDNSと呼ばれるサービスを利用する。具体的には、ホームネットワーク100にインターネット接続サービスを提供しているネットワークプロバイダによって、インターネット上で用いられるグローバルアドレスがホームゲートウェイ10に割り当てられる。そして、割り当てられたグローバルアドレスは、ホームネットワーク100を示す任意に設定されるドメイン名と対応付けられ、インターネットサービスプロバイダの所有するDNSサーバに登録される。このとき、DDNSを利用すると、ホームゲートウェイに割り当てられるグローバルアドレスの変動に伴い、DNSサーバに登録されている内容が更新される。これにより、ホームゲートウェイ10がネットワークへ接続する度に新しいグローバルアドレスを付与されてしまう場合でも、一意のドメイン名が常時割り当てられるようになっている。
【0047】
そのため、端末装置300にてホームネットワーク100のドメイン名を指定することによって、ホームネットワーク100への接続が可能となる。そして、ホームネットワーク100への接続が確立されると、UPnP部362によるディスカバリが実行される。UPnP部362は、SSDPを使用してディスカバリのメッセージを作成する(S103)。このときUPnP部362によって作成されるメッセージは、UPnP規格に準拠したものであり、UDPによるマルチキャスト送信が指定されたものとなっている。次に、RA処理部366において、UPnP部362によって作成されたディスカバリメッセージをリモートアクセスに適した形式のメッセージ(以下、「RAメッセージ」という。)に書き換える(S104)。具体的には、マルチキャスト送信が指定されたメッセージを全てユニキャスト送信に変更し、また、宛先アドレスをホームゲートウェイ10のグローバルアドレスに変更する。
【0048】
RA処理部366によって書き換えられたRAメッセージは、ネットワークインタフェース部350から、携帯電話網及びインターネット200を介してホームゲートウェイ10宛にユニキャスト送信される(S105)。
【0049】
端末装置300からユニキャスト送信されたRAメッセージは、ホームゲートウェイ10のグローバルネットワークインタフェース部15によって受信される。CPU11は、グローバルネットワークインタフェース部15が端末装置300から受信したメッセージのヘッダ情報などから、該メッセージがRAメッセージであることを認識して、RA処理部140を実行する。
【0050】
RA処理部140は、受信したRAメッセージを読み取り、端末装置300から送信されたディスカバリのメッセージであることを認識すると、宛先アドレスをホームネットワーク100のネットワークアドレスとするマルチキャストのメッセージに変換する(S106)。すなわち、このディスカバリメッセージは、端末装置300のグローバルアドレスを送信元アドレスとし、ホームネットワーク100を宛先アドレスとするマルチキャストによって送信されるよう生成されたものとなる。次いで、ローカルネットワークインタフェース部14から、RAメッセージがホームネットワーク100内にマルチキャスト送信される(S107)。
【0051】
ホームゲートウェイ10からマルチキャストで送信されたディスカバリメッセージは、デバイス21、22および23にて受信されるが、以降の処理については、デバイス23とホームゲートウェイ10との間の通信を例にとって説明する。ホームゲートウェイ10よりディスカバリメッセージを受信したデバイス23は、自身がディスカバリメッセージの対象であることを確認すると、ディスカバリメッセージに記載されている端末装置300のグローバルアドレスを宛先とする応答メッセージを作成して、ホームゲートウェイ10に送信する(S108)。応答メッセージを受信したホームゲートウェイ10は、次に受信した応答メッセージの書き換えを行う(S109)。
【0052】
S109では、具体的には次の処理が行われる。まず、ローカルネットワークインタフェース部14がデバイス23から応答メッセージを受信すると、CPU11はRA処理を実行する。RA処理部140は、先ずNAT部160で用いられるアドレス変換テーブルを参照して、デバイス23のグローバルアドレスを抽出する。また、アドレス変換テーブルにデバイス23が登録されていない場合は、新たにデバイス23にグローバルアドレスを割り当て、割り当てたグローバルアドレスをアドレス変換テーブルに登録する処理を行った上で、割り当てられたグローバルアドレスを抽出する。
【0053】
次に、RA処理部140は、デバイス23からの応答メッセージに含まれる送信元のデバイスを示すIPアドレスを、デバイス23のローカルアドレスからNAT部160より通知のあったグローバルアドレスに書き換える。ここで、図5に示されるホームネットワーク100内のUPnP処理においては、検出されたデバイス同士が、それぞれに割り当てられたローカルIPアドレスによって、識別および管理される。しかしながら、リモートアクセスの場合は、グローバルアドレスを使用する端末装置300とローカルアドレスを使用するホームネットワーク100内とで、使用するアドレス空間が異なるため、そのままでは端末装置300とホームネットワーク100内の各デバイスとが直接通信することができない。そのため、ホームゲートウェイ10において応答メッセージに含まれるデバイス23のローカルアドレスをNAT部160によって割り当てられたグローバルアドレスに書き換えることで、端末装置300がグローバルアドレスを使用してデバイス23と直接通信を行なうことを可能としている。
【0054】
さらに、上述のように応答メッセージには、ディスクリプションを参照するためのURLなども含まれる。このURLもホームネットワーク100内におけるローカルアドレスである。そのため、S109の処理において、同様にNATのアドレス変換テーブルに基づきディスクリプションのURLについてもグローバルアドレスへ変換される。それにより、端末装置300は、グローバルアドレスに基づき、ディスクリプションの要求を行うことが可能となる。そして、上述のように書き換えられた応答メッセージがホームゲートウェイ10から端末装置300へ送信される(S110)。
【0055】
以降の処理は、ホームゲートウェイ10のNAT部160によりアドレス変換が行なわれる以外は、図4におけるUPnPの処理と同様である。具体的には、ディスカバリで検出されたデバイスのディスクリプションについて、端末装置300は、応答メッセージに含まれるURL(グローバルアドレス)に基づいて、要求メッセージを送信する(S111)。次いで、ホームゲートウェイ10は、NAT部160において、受信した要求メッセージの宛先アドレスをグローバルアドレスからローカルアドレスに変換して、デバイス23に端末装置300からのディスクリプション要求を転送する。そして、デバイス23は該要求に応答して、ディスクリプションを返信する(S112)。
【0056】
続いて、上記ディスクリプションの処理と同様に、制御メッセージの送信(S113)、リザルト/エラーの受信(S114)、GENAによるイベント通知(S115)、およびプレゼンテーション(S116)が、ホームゲートウェイ10のNAT部160によるアドレス変換を伴って行なわれる。これらの処理により、端末装置300とデバイス23との直接の通信が可能となる。また、端末装置300と、その他のデバイス21および22とのUPnP処理も同様に行なわれ、端末装置300とホームネットワーク内の各デバイスが、それぞれ相互通信可能となり、デバイス間の制御やコンテンツの共有が可能となる。
【0057】
その後、端末装置300のDLNA部360によって、例えばデバイス21がデジタルカメラなどのコンテンツを所有するDMS、端末装置300がコンテンツ再生機能を有するDMPであると定義される。そして、デバイス21(DMS)から画像などのコンテンツを、端末装置(DMP)でダウンロードして、表示部340に表示することができる。これにより、例えば、外出先からでも、ホームネットワーク内にあるデバイスに格納されているデジタルコンテンツを端末装置300でも共有することが可能となる。なお、上記実施形態では、DLNAやリモートアクセスに関する処理は端末装置300およびホームゲートウェイ10のメモリ(12、320)に記憶されたプログラムを呼び出して、CPU(11、310)にて実行される構成であるが、各装置にASIC(Application Specific Integrated Circuit)として各機能部の全部または一部を実装し、該ASICによってハードウェア的に実現される構成としても良い。
【0058】
上記のリモートアクセスシステムの端末装置300においては、RA処理部366にてホームゲートウェイ10へディスカバリメッセージをユニキャストで送信する以外は、通常のUPnPに従って処理が実行される。また、ホームゲートウェイ10においても、応答メッセージを書き換える処理を行うことで、通常のホームゲートウェイに備えられているNATによるアドレス変換を利用して、端末装置300とホームネットワーク内の各デバイスとの相互接続を実現することができる。
【0059】
また、本実施形態におけるリモートアクセスシステムでは、ホームネットワーク100の外部に位置する端末装置300と、ホームネットワーク100との間にトンネルを設ける必要がなく、通常用いられるインターネットアクセスにて通信を行なうことが可能である。さらに、本実施形態におけるリモートアクセスシステムでは、端末装置300とホームネットワーク内の各デバイスが、直接通信を行なうことが可能となるため、ホームゲートウェイ10がネットワーク内の各デバイスの情報および各デバイスが所有するサービスに関する情報などのリストのメンテナンスを行う必要がない。よって、ゲートウェイに大きな負荷をかけることなく、簡易な通信方法にて遠隔地からホームネットワークへのアクセスが可能となる。
【0060】
以上が本発明の実施形態であるが、本発明はこれらの実施形態に限定されるものではなく様々な範囲で変形が可能である。例えば、本実施形態はDLNAに準拠したホームネットワークに対するリモートアクセスに関するものであるが、これに限定されるものではなく、UPnPを用いたその他の規格に準拠したホームネットワークにおいても適用可能である。
【図面の簡単な説明】
【0061】
【図1】本発明に係るリモートアクセスシステムを示す図である。
【図2】ホームゲートウェイの構成を示すブロック図である。
【図3】ホームゲートウェイにおいて実現される、本発明のリモートアクセスシステムに関する主な機能を示す機能ブロック図である。
【図4】DLNAのプロトコルスタックを示す図である。
【図5】ホームネットワークにおけるUPnP処理の流れを説明する図である。
【図6】端末装置の構成を示すブロック図である。
【図7】端末装置において実現される、本発明のリモートアクセスシステムに関する主な機能を示す機能ブロック図である。
【図8】本発明のリモートアクセス処理の流れを説明する図である。
【符号の説明】
【0062】
10 ホームゲートウェイ
11 CPU
12 メモリ
14 ローカルネットワークインタフェース部
15 グローバルネットワークインタフェース部
21、22、23 デバイス
130 DLNA部
131 UPnP部
132 DHCPサーバ部
134 Webサーバ部
140 RA処理部
160 NAT部
100 ホームネットワーク
200 インターネット
300 端末装置
310 CPU
320 メモリ
330 入力部
340 表示部
350 ネットワークインタフェース部
360 DLNA部
362 UPnP部
366 RA処理部

【特許請求の範囲】
【請求項1】
端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なうリモートアクセスシステムであって、
前記端末装置は、
インターネットを介して前記プライベートネットワークへ接続するための第1ネットワークインタフェース部と、
UPnP規格に基づいて通信を行う第1UPnP部と
UPnPディスカバリメッセージを前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部と、を備え
前記ゲートウェイは、
インターネットと接続するための第2ネットワークインタフェース部と、
前記プライベートネットワークと接続するための第3ネットワークインタフェース部と、
UPnP規格に基づいて通信を行う第2UPnP部と、
前記デバイスに割り当てられたプライベートアドレスとインターネットと接続するためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、
前記端末装置から受信したユニキャストのディスカバリメッセージを、マルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、
前記第3ネットワークインターフェース部を介して、デバイスから前記ディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、前記NAT部が有するアドレス変換テーブルによって変換された前記デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換部とを備えており、
前記端末装置は、前記第3メッセージ変換部によって書き換えられた応答メッセージに含まれるグローバルアドレスに基づき、前記応答メッセージの送信元である前記デバイスとの通信を行なうことを特徴とするリモートアクセスシステム。
【請求項2】
前記第3メッセージ変換部は、さらに応答メッセージに含まれるデバイスのUPnPディスクリプションの場所を示すURLをグローバルアドレスへ変換することを特徴とする、請求項1の記載のリモートアクセスシステム。
【請求項3】
前記プライベートネットワークは、DLNAガイドラインに従って構築されたネットワークであることを特徴とする、請求項1または2の記載のリモートアクセスシステム。
【請求項4】
少なくとも一つのデバイスを有するプライベートネットワークと、インターネット上の端末装置とを接続するゲートウェイであって、
インターネットと接続するための第2ネットワークインタフェース部と、
プライベートネットワークと接続するための第3ネットワークインタフェース部と、
UPnP規格に基づいて通信を行う第2UPnP部と
前記デバイスに割り当てられたプライベートアドレスとインターネット接続のためのグローバルアドレスとをアドレス変換テーブルに基づいて相互に変換するNAT部と、
前記端末装置から受信したユニキャストのUPnPディスカバリメッセージを、マルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換部と、
前記第3ネットワークインターフェース部を介して、前記デバイスから前記ディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、前記NAT部が有するアドレス変換テーブルによって変換された前記デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換部と、
を備えることを特徴とするゲートウェイ。
【請求項5】
ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスする端末装置であって、
インターネットを介して前記プライベートネットワークへ接続するための第1ネットワークインタフェース部と、
UPnP規格に基づいて通信を行う第1UPnP部と
UPnPディスカバリメッセージを前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換する第1メッセージ変換部と、を備え、
前記端末装置は、前記デバイスからの応答メッセージに含まれるグローバルアドレスに基づき、前記応答メッセージの送信元である前記デバイスとの通信を行なうことを特徴とする端末装置。
【請求項6】
端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なう方法であって、
前記端末装置において実行される、
UPnPディスカバリメッセージを生成するステップと、
前記UPnPディスカバリメッセージを前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換してゲートウェイへ転送する第1メッセージ変換ステップと、
前記ゲートウェイにおいて実行される、
前記端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換ステップと、
前記デバイスから前記ディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、前記デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換ステップと、
前記デバイスに割り当てられたプライベートアドレスと前記グローバルアドレスとを前記アドレス変換テーブルに基づいて相互に変換するNAT変換ステップと、
からなることを特徴とするリモートアクセス方法。
【請求項7】
端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なう方法であって、
前記端末装置において実行される、
UPnPディスカバリメッセージを生成するステップと、
前記UPnPディスカバリメッセージを、前記ゲートウェイを宛先とするユニキャストのディスカバリメッセージに変換して、ゲートウェイへ転送する第1メッセージ変換ステップと、からなることを特徴とするリモートアクセス方法。
【請求項8】
端末装置から、ゲートウェイおよび少なくとも一つのデバイスを有するプライベートネットワークへインターネットを介してアクセスを行なう方法であって、
前記ゲートウェイにおいて実行される、
前記端末装置から受信したユニキャストのディスカバリメッセージをマルチキャストのディスカバリメッセージに変換してプライベートネットワークに転送する第2メッセージ変換ステップと、
前記デバイスから前記ディスカバリメッセージに対する応答メッセージを受信すると、該応答メッセージに含まれる前記デバイスのプライベートアドレスを、NATにて用いられるアドレス変換テーブルに基づき、前記デバイスを示すグローバルアドレスへ書き換える第3メッセージ変換ステップと、
前記デバイスに割り当てられたプライベートアドレスと前記グローバルアドレスとを前記アドレス変換テーブルに基づいて相互に変換するNAT変換ステップと、
からなることを特徴とするリモートアクセス方法。
【請求項9】
請求項6から請求項8のいずれかに記載のリモートアクセス方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−4344(P2010−4344A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−161713(P2008−161713)
【出願日】平成20年6月20日(2008.6.20)
【出願人】(591112522)株式会社ACCESS (91)
【Fターム(参考)】