JP2007166116A - 宅内サーバ装置及びアプリケーションサーバ装置 - Google Patents
宅内サーバ装置及びアプリケーションサーバ装置 Download PDFInfo
- Publication number
- JP2007166116A JP2007166116A JP2005358220A JP2005358220A JP2007166116A JP 2007166116 A JP2007166116 A JP 2007166116A JP 2005358220 A JP2005358220 A JP 2005358220A JP 2005358220 A JP2005358220 A JP 2005358220A JP 2007166116 A JP2007166116 A JP 2007166116A
- Authority
- JP
- Japan
- Prior art keywords
- server device
- port
- path
- communication
- communication terminal
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】大きなデータ転送を伴う宅外の通信端末から宅内サーバ装置への接続において、サーバの負荷を軽減できる宅内サーバ装置及びアプリケーションサーバ装置を提供する。
【解決手段】宅内サーバ装置103は、外部からのトリガ信号を受信するトリガ受信手段と、所定の計算方法により文字列を生成するポート/パス生成手段とを具備し、アプリケーションサーバ装置203は、所定の通信装置より再接続先のポート情報とパス情報とを受信するポート/パス待受手段と、ポート情報、パス情報、ネットワークアドレスを用いて、再接続先情報としてのリダイレクトURIを生成するリダイレクトURI生成手段とを具備し、宅内サーバ装置103によって、生成された文字列からURIを形成し、アプリケーションサーバ装置203が該URIによって、端末4に再接続を行わせる。
【選択図】図1
【解決手段】宅内サーバ装置103は、外部からのトリガ信号を受信するトリガ受信手段と、所定の計算方法により文字列を生成するポート/パス生成手段とを具備し、アプリケーションサーバ装置203は、所定の通信装置より再接続先のポート情報とパス情報とを受信するポート/パス待受手段と、ポート情報、パス情報、ネットワークアドレスを用いて、再接続先情報としてのリダイレクトURIを生成するリダイレクトURI生成手段とを具備し、宅内サーバ装置103によって、生成された文字列からURIを形成し、アプリケーションサーバ装置203が該URIによって、端末4に再接続を行わせる。
【選択図】図1
Description
本発明は、宅外の端末から接続される宅内LAN上に設置された宅内サーバ装置及び宅外の通信端末と前記宅内サーバ装置との接続を案内するアプリケーションサーバ装置に関する。
従来の通信装置およびネットワークとしては、インターネット等に代表されるグローバルネットワークと、プライベートネットワークとしての家庭内ネットワークを、ADSLや光ファイバの回線によって接続し、家庭内ネットワークには、例えばプライベートIPアドレスを割り振り、ルータのNAT(Network Address Translation)機能によって、プライベートIPアドレスとグローバルIPアドレスの相互変換を行うものがある。このようなネットワーク形態においては、例えば家庭内ネットワークに接続されたパーソナルコンピュータにインストールされたWEBブラウザから、グローバルネットワーク上に接続されたWEBサーバ上で提供されるコンテンツを享受することができる。しかし、このような接続形態においては、ルータのNAT機能の仕様から、すべての通信はプライベートネットワーク側から開始しなければならないという問題がある。
そして、この問題を解決するため、グローバルネットワーク側からプライベートネットワーク側への通信の開始を実現する従来のネットワークとしては、宅内および宅外にエージェントを設け、両者間でTCP接続を維持するものがある(例えば、特許文献1参照)。
図11は、この特許文献1に記載された従来の通信装置およびネットワークを示すものである。
図11において、エージェント(a)1022は、エージェント(b)2021とTCP接続を維持し、エージェント(b)2021は、インターネットサーバ102の代理として端末4からのTCP接続を受け付け、エージェント(a)1022およびエージェント(b)2021間で維持されているTCP接続を介して、インターネットサーバ102にTCP/IP通信を伝播している。
特開2002−335271号公報(第3頁、図1)
しかしながら、前記従来の構成では、エージェント(a)1022およびエージェント(b)2021を経由してサーバアプリケーション1021に到達する「サーバリレー方式」による通信を行っているため、画像ファイル等の大きなデータをインターネットサーバ102上から多数の端末4に転送する場合、サーバ、特にエージェント(b)2021の負荷が大きく、端末4の接続台数が負荷に耐え得るだけの台数に制限されるという課題を有している。
また、エージェント(a)1022およびエージェント(b)2021間でTCP接続を維持しているが、TCP接続を維持できる接続数には制限があるため、インターネットサーバ102の数が増加すると、エージェント(b)2021の数も増加させなければならなくなり、代理サーバ202の運用コスト増が避けられないという課題を有している。
本発明は、前記従来の課題を解決するもので、大きなデータ転送を伴う宅外の通信端末から宅内サーバ装置への接続において、サーバの負荷の集中を回避する通信方法を実現可能な宅内サーバ装置及びアプリケーションサーバ装置を提供することを目的とする。
前記従来の課題を解決するために、本発明に係る宅内サーバ装置は、所定のプロトコルに従い、ルータを介して、グローバルネットワークに接続された通信端末にサービスを提供する宅内サーバ装置であって、外部からのトリガ信号を受信するトリガ受信手段と、前記トリガ受信手段が前記トリガ信号を受信した場合には、所定の計算方法により外部からの接続を待受けるための文字列であるパス名、及び前記ルータに付与する新たなポート情報を生成するポート/パス生成手段と、前記パス名及び前記ポート情報を外部に通知する通信手段とを備えることを特徴とする。
本構成により、前記通信端末のみが知りうるような前記パス名及び前記ポート情報を用いたURIによってクライアント・サーバ間の接続を行うことができ、第三者による不正な接続を回避することができる。
また、本発明に係る宅内サーバ装置の前記所定の計算方法は、擬似乱数生成法であることを特徴とする。
本構成により、第三者が前記URIを解析するのに要する時間を長くすることができ、不正な接続が発生する可能性を減少させることができる。
また、本発明に係る宅内サーバ装置の前記所定の計算方法においては、前記宅内サーバ装置を一意に特定する情報をパラメータとして用いることを特徴とする。
本構成により、前記文字列を受信した側で、サーバを一意に特定する情報により、該サーバの認証を行うことができ、不正な第三者のなりすましを回避することができる。
また、本発明に係る宅内サーバ装置に用いる前記所定のプロトコルは、HTTPまたはHTTPSであることを特徴とする。
本構成により、宅内サーバ装置へ接続するクライアントである通信端末として、携帯電話などの、一般的なWEBブラウザを搭載した機器から前記宅内サーバ装置へのアクセスを行うことが可能になる。
また、本発明に係るアプリケーションサーバ装置は、所定のプロトコルに従い、グローバルネットワークに接続された通信端末と宅内サーバ装置との接続を管理するアプリケーションサーバ装置であって、前記宅内サーバ装置から、前記通信端末の再接続先となるポート情報とパス名とを受信するポート/パス受信手段と、前記ポート/パス受信手段が前記ポート情報及び前記パス名を受信した場合には、少なくとも前記ポート情報、前記パス名、及び通知元のネットワークアドレスを用いて、前記通信端末が再接続するための再接続先情報となるリダイレクトURIを生成するリダイレクトURI生成手段と、前記リダイレクトURIが示す接続先に対して再接続を指示する応答を前記通信端末に送信する送信手段とを備えることを特徴とする。
本構成により、通信端末に再接続を促すことにより、アプリケーションサーバ装置の負荷を減少させることが可能になる。
また、本発明に係る通信システムは、グローバルネットワークで接続された第一システムと第二システムとから構成される通信システムであって、前記第一システムには、所定のプロトコルに従い、ルータを介して、グローバルネットワークに接続された通信端末にサービスを提供する宅内サーバ装置と、前記宅内サーバ装置とグローバルネットワーク側との通信を中継するルータとが含まれ、前記第二システムには、所定のプロトコルに従い、グローバルネットワークに接続された通信端末と宅内サーバ装置との接続を管理するアプリケーションサーバ装置が含まれ、前記宅内サーバ装置は、外部からのトリガ信号を受信するトリガ受信手段と、前記トリガ受信手段が前記トリガ信号を受信した場合には、所定の計算方法により外部からの接続を待受けるための文字列であるパス名、及び前記ルータに付与する新たなポート情報を生成するポート/パス生成手段と、前記パス名及び前記ポート情報を外部のサーバ装置に通知する通信手段とを備え、前記アプリケーションサーバ装置は、前記宅内サーバ装置から、前記通信端末の再接続先となるポート情報とパス名とを受信するポート/パス受信手段と、前記ポート/パス受信手段が前記ポート情報及び前記パス名を受信した場合には、少なくとも前記ポート情報、前記パス名、及び通知元のネットワークアドレスを用いて、前記通信端末が再接続するための再接続先情報となるリダイレクトURIを生成するリダイレクトURI生成手段と、前記リダイレクトURIが示す接続先に対して再接続を指示する応答を前記通信端末に送信する送信手段とを備えることを特徴とする。
本構成により、前記通信端末は、アプリケーションサーバ装置へ接続することで宅内サーバ装置へ到達することができ、なおかつ、宅内サーバ装置からのデータはアプリケーションサーバ装置を通過しないようにすることが可能になる。
また、本発明に係る通信システムにおいて、前記通信端末は、前記宅内サーバ装置へ複数回接続を行う場合には、2回目以降の接続においては、1回目の接続と同じネットワークアドレス、ポート情報で、且つ異なるパス名を用いて前記宅内サーバ装置に接続することを特徴とする。
本構成により、2回目以降の接続に関しては、前記パス名の生成を省略することができ、通信時間を短縮することが可能になる。
尚、前記目的を達成するために、本発明は、前記宅内サーバ装置及び前記アプリケーションサーバ装置の特徴的な構成手段をステップとする通信方法としたり、それらのステップを全て含むプログラムとして実現することもできる。そして、そのプログラムは、前記宅内サーバ装置及び前記アプリケーションサーバ装置が備えるROM等に格納しておくだけでなく、CD−ROM等の記録媒体や通信ネットワークを介して流通させることもできる。
本発明の宅内サーバ装置及びアプリケーションサーバ装置を用いることにより、宅外の通信端末からの新規接続毎に計算されるランダムなパス名を用い、該パス名で再接続させることにより、第三者からの不正なアクセスを防止することができる。
また、この再接続により、宅内サーバ装置内の容量の大きなデータをアプリケーションサーバ装置に通過させないで通信端末に提供することにより、サーバの負荷を軽減することが可能になり、宅内LAN上に設置された宅内サーバ装置に対する宅外の通信端末からの接続に関して、低コストでの運用を実現することが可能になる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態)
図1は、本発明の実施の形態における通信装置およびネットワークの全体構成図である。図1において、図11と同じ構成要素については同じ符号を用い、説明を省略する。
図1は、本発明の実施の形態における通信装置およびネットワークの全体構成図である。図1において、図11と同じ構成要素については同じ符号を用い、説明を省略する。
本発明の実施の形態1における通信方法および通信装置による通信ネットワークは、インターネット等に代表される、公衆的に利用できるネットワークであるグローバルネットワーク3と、家庭内など、局所的な環境で形成されるネットワークであるプライベートネットワーク1と、インターネット上にサービスを公開するサーバ群を収容するサーバネットワーク2と、サーバネットワーク内のサーバよりサービスを受ける端末4とで構成されている。
プライベートネットワーク1には、グローバルネットワーク3とを接続するNATルータ101と、コンテンツおよびサービスを保持する宅内サーバ装置103とが接続されている。
サーバネットワーク2には、グローバルネットワーク3とを接続するゲートウェイ201と、端末4からの要求を処理し、端末4と宅内サーバ装置103との接続を案内するアプリケーションサーバ装置203と、宅内サーバ装置103のアドレス情報を保持し、サーバネットワーク2からの通信の開始を宅内サーバ装置103に通知するトリガサーバ204とが接続されている。
本発明の実施の形態における通信ネットワークにおいて、グローバルネットワーク3およびサーバネットワーク2に接続される通信機器には、互いの機器を一意に区別するためのアドレスが割り振られる。このようなアドレス体系には、例えばIPアドレスが用いられ、各々の通信機器には、それぞれ別々のIPアドレスが割り振られる。もちろん、互いの機器を一意に区別するためのアドレスに用いられるアドレス体系はIPアドレスに限定されることはなく、例えば、IPXアドレス等を用いてもよい。サーバネットワーク2は、サーバネットワーク2とグローバルネットワーク3の間で通信経路の決定を行う、ゲートウェイ201を介してグローバルネットワーク3に接続される。
端末4は、通信部401と、HTTPクライアント402を具備する。HTTPクライアント402としては、アクセス社のNetFront(登録商標)等のウェブブラウザ等が挙げられる。
次に、NATルータ101と宅内サーバ装置103の機能と構成について図を用いて説明する。図2は、本発明の実施の形態における、プライベートネットワーク1に接続される要素の詳細構成図である。
本発明の実施の形態における通信ネットワークにおいて、プライベートネットワーク1に接続される通信機器にもまた、互いの機器を一意に区別するためのIPアドレスが割り振られるが、プライベートネットワーク1上の通信機器はプライベートネットワーク1上で一意に区別できればよく、例えば、グローバルネットワーク3上に接続されるいずれかの機器とIPアドレスが重複してもよい。このように局所的にのみ一意性を保証するIPアドレスをプライベートネットワークアドレスと呼ぶ。一方、グローバルネットワーク3上およびサーバネットワーク2上に接続される通信機器に割り振られるIPアドレスをグローバルネットワークアドレスと呼び、プライベートネットワークアドレスと区別する。
プライベートネットワーク1は、プライベートネットワークアドレスとグローバルネットワークアドレスの相互変換機能を有するNATルータ101を介してグローバルネットワーク3に接続される。このような接続を行うことで、後述するNATルータ101の動作によってプライベートネットワーク1上に接続される通信機器は、グローバルネットワーク3およびサーバネットワーク1上に接続される機器とIP層での通信を行うことが可能になる。
ここでNATルータ101の動作について、図を用いて説明する。図3は、NATルータ101の動作を示すシーケンス図である。NATルータ101の動作に関する説明のために、ここでは、NATルータ101のプライベートネットワーク側に送信元機器1a、グローバルネットワーク側に送信先機器3aが接続された環境を想定する。NATルータ101には、グローバルネットワーク側にグローバルネットワークアドレス、プライベートネットワーク側にプライベートネットワークアドレスが割り振られている。ここでは例として、グローバルネットワークアドレスに「1.2.3.4」、プライベートネットワークアドレスに「192.168.0.1」が割り振られている。送信元機器1aには例として、アドレスに「192.168.0.3」、送信先機器3aには例として、アドレスに「5.6.7.8」が割り振られている。もちろん、これらのアドレスの具体的な数値に関してはこれに限定されるものではない。
送信元機器1aが送信先機器3aへのパケットを送信したとき、該パケットの送信元アドレスは、「192.168.0.3」であり、送信先アドレスは、「5.6.7.8」である。該パケットがNATルータ101を通過してグローバルネットワークへ伝送されるときに、NATルータ101は、該パケットの送信元アドレスをNATルータ101のグローバルネットワークアドレスである「1.2.3.4」に書き換える。パケットが送信先機器3aに到着したとき、送信先機器3aは、該パケットはNATルータ101から送信されたものとみなすので、必要があれば応答パケットを作成し、NATルータ101へ返信する。このとき、応答パケットの送信元アドレスは、送信先機器3aのグローバルアドレスである「5.6.7.8」であり、送信先アドレスは、NATルータ101のグローバルアドレス「1.2.3.4」である。NATルータ101は応答パケットを受信すると、その送信先アドレスを送信元機器1aのプライベートネットワークアドレスである「192.168.0.3」に書き換えて、送信元機器1aに送信する。このようにして、送信元機器1aと、送信先機器3aとの通信が確立される。応答パケットの送信先アドレスを送信元機器1aのアドレスに書き換えるために、NATルータ101は、プライベートネットワークアドレスとグローバルネットワークアドレスを対応づけるアドレス変換テーブルを具備している。すなわち、送信元機器1aからパケットを送信し、NATルータ101を通過するときに、送信元機器1aのプライベートネットワークアドレスと送信先機器3aのグローバルネットワークアドレスの対応を保持し、応答が返ってきた時点で、アドレス変換テーブルを参照して該当する対応を検索し、送信すべき機器のプライベートネットワークアドレス、すなわち送信元機器1aのプライベートネットワークアドレスを導出する。トランスポート層のプロトコルとして、TCPを用いた場合には、アドレス変換テーブル上の該アドレス対応は、コネクションが切断されるまでの間保持され、UDPを用いた場合には、アドレス変換テーブル上の該アドレス対応は、所定の期間保持され、所定の期間が経過した後、アドレス変換テーブル上の該アドレス対応はNATルータ101から削除される。
以上の説明のように、送信先機器3aから送信元機器1aへの通信においては、NATルータ101のアドレス変換テーブルをもとにアドレス変換を行うため、NATルータ101内に送信元機器1aのプライベートネットワークアドレスと送信先機器3aのグローバルネットワークアドレスの対応が保持されていない場合、通信が成立し得ない。すなわち、NATルータ101越しの通信における特徴として、プライベートネットワーク側からNATルータ101を越えてグローバルネットワーク側へ通信を開始することは容易であるが、グローバルネットワーク側からNATルータ101を越えてプライベートネットワークへ通信を開始することは困難である。
宅内サーバ装置103は、端末4に対して、ネットワークサービスを提供する機能を有する。宅内サーバ装置103は、通信部1031と、後述するトリガパケットを受信するトリガ待受部1032と、端末4に対してサーバとしてのプロトコル機能を提供するHTTPサーバ1033と、端末4に対してサーバとしてのアプリケーション機能を提供するサーバアプリケーション1034と、トリガサーバ204が宅内サーバ装置103を一意に区別するサーバIDを記憶するサーバID記憶部1035と、トリガサーバ204に対してポーリングを行うポーリングパケットを送信し、NATルータ101に対してアドレス変換テーブルにおいて宅内サーバ装置103のプライベートアドレスとトリガサーバ204のグローバルアドレスとの対応を保持させるポーリング送信部1036と、ランダムなコードを生成し、該コードを文字列として含むパスを生成し、さらに、NATルータ101に対して、UPnP機能のAddPortMappingを用いて、HTTPサーバ1033のポート番号と、NATルータ101のグローバルネットワーク側のポート番号とを紐付けるためのポート番号を決定し、生成したポートとパスをアプリケーションサーバ装置203へ通知するポート/パス生成部1037と、上記したUPnP機能を具備するUPnPプロトコルスタック1038とを具備する。なお、前記ランダムなコードの生成には、線形合同法やメルセンヌ・ツイスタ等の、既存の擬似乱数生成法を用いればよい。また、例えば、擬似乱数の種に宅内サーバ装置103のサーバIDを用いれば、アプリケーションサーバ装置側でランダムコードの検証を行うことが可能になり、不正な宅内サーバ装置のなりすましを防止することが可能になる。
次に、アプリケーションサーバ装置203とトリガサーバ204の機能と構成について図を用いて説明する。図4は、本発明の実施の形態における、サーバネットワーク2に接続される要素の詳細構成図である。
アプリケーションサーバ装置203は、端末4に対して、ユーザ認証を行い、プライベートネットワークに接続される宅内サーバ装置103よりポート情報とパス情報を受信し、ポート情報とパス情報により宅内サーバ装置103に接続するための後述するリダイレクトURIを生成して、リダイレクトURIを端末4へ送信する機能を有する。トリガサーバ204は、宅内サーバ装置103がポート情報とパス情報をアプリケーションサーバ装置203へ通知するタイミングを宅内サーバ装置103へ与えるためのトリガを宅内サーバ装置103へ送信する機能を有する。
アプリケーションサーバ装置203は、通信を行う通信部2031と、端末4に対して、ユーザ認証を行い、認証後、リダイレクトURIを端末4に送信する認証サーバアプリケーション2032と、トリガサーバ204に対してトリガ送信の依頼を行うトリガ依頼パケットを送信するトリガ依頼送信部2033と、リダイレクトURIを生成するためのポート情報とパス情報を受信するポート/パス待受部2034と、リダイレクトURIを生成するリダイレクトURI生成部2035と、図5に示すような、端末4のユーザのユーザIDとパスワードを、サーバIDに紐付ける認証データベース2036とを具備している。
トリガサーバ204は、通信を行う通信部2041と、トリガ依頼送信部2033より送信されたトリガ依頼パケットを受信するトリガ依頼待受部2043と、ポーリング送信部1036より送信されたパケットを受信するポーリング待受部2042と、トリガ待受部1032へトリガパケットを送信するトリガ送信部2044と、サーバIDと、NATルータ101のグローバルネットワークアドレスとを対応づけ、サーバIDからNATルータ101を特定するためのグローバルアドレステーブル2045とを具備する。
次に、かかる構成の通信ネットワークの動作について図を用いて説明する。
まず、宅内サーバ装置103がトリガサーバ204へポーリングを行う動作について説明する。図6は、ポーリングに関する宅内サーバ装置103の動作を表すシーケンス図である。
まず、宅内サーバ装置103がトリガサーバ204へポーリングを行う動作について説明する。図6は、ポーリングに関する宅内サーバ装置103の動作を表すシーケンス図である。
宅内サーバ装置103が具備するポーリング送信部1036は、トリガサーバ204が具備するポーリング待受部2042へポーリングパケットを送信する(S201)。ポーリングパケットの送信は、プライベートネットワーク側からグローバルネットワーク側への通信の開始であるため、通信は容易に成立する。ポーリングパケットのデータ部には、宅内サーバ装置103のサーバIDが含まれている。サーバIDは、サーバID記憶部1035より取得する。ポーリング待受部2042がポーリングパケットを受信する(S202)と、グローバルアドレステーブルに、受信したパケットのアドレスおよびポート、すなわちNATルータ101のアドレスおよびポートと、データ部に含まれる宅内サーバ装置103のサーバIDを一対一対応にして格納する(S203)。ポーリング送信部2025は、ポーリングパケットをUDPパケットとして送信し、NATルータ101のアドレス変換テーブル上に保持されている宅内サーバ装置103のプライベートネットワークアドレスとトリガサーバ204のグローバルネットワークアドレスの対応が削除される期限よりも早いタイミングでポーリングパケットを再送する。そうすることで、NATルータ101のアドレス変換テーブル上には、宅内サーバ装置103のプライベートネットワークアドレスとトリガサーバ204のグローバルネットワークアドレスとの対応が常に保持される。この状態で、トリガサーバ204が具備するトリガ送信部2044が、宅内サーバ装置103が具備するトリガ待受部1032に対し、ポーリングパケットに対する応答としてトリガパケットを送信すれば(S204)、NATルータ101が該トリガパケットを受信した(S205)とき、NATルータ101は、アドレス変換テーブルを参照することで送信先である宅内サーバ装置103のプライベートネットワークアドレスを導出することができる(S206)ため、NATルータ101が導出したプライベートネットワークアドレスへ該トリガパケットを転送する(S207)ことで、トリガ待受部1032は、トリガパケットを受信する(S208)ことができるようになる。トリガパケットの送信は、グローバルネットワーク側からプライベートネットワーク側への通信であるが、先んじてのポーリングパケットに対する応答として送信されるため、NATルータ101は、図6のS205、S206、S207のステップにより、トリガパケットを宅内サーバ装置103へ転送することが可能である。以上のステップにより、トリガサーバ204は、宅内サーバ装置103に対して、任意のタイミングでトリガパケットを送信することができる。
次に、アプリケーションサーバ装置203が端末4の認証を行う動作について説明する。図7は、端末認証に関するアプリケーションサーバ装置203の動作を表すシーケンス図である。
まず、端末4がアプリケーションサーバ装置の認証用URLへHTTP GET送信を行い(S301)、アプリケーションサーバ装置203が該HTTP GETを受信する(S302)と、アプリケーションサーバ装置203は、ユーザのIDとパスワードの入力を促す認証画面をHTTP応答として送信する(S303)。端末4が該認証画面をHTTP応答として受信し(S304)、ユーザがID、パスワードを入力して(S305)認証画面中の送信ボタンを押すと、IDとパスワードが、HTTP GETまたはHTTP POSTによってアプリケーションサーバ装置へ送信される(S306)。なお、ID、パスワードの組を第三者に知られないようにするため、また、後述するようにS306の応答としてアプリケーションサーバ装置203から受信するリダイレクトURIを第三者に知られないようにするために、該HTTP通信は、SSL(Secure Socket Layer)やTLS(Transport Layer Security)を用いて暗号化する、HTTPSを用いて行う。但し、ID、パスワード、リダイレクトURIが第三者に知られても問題ない場合や、ネットワークの構造上第三者に知られることのない場合などは、この限りではなく、暗号化を行わないHTTPを用いて通信を行ってもよい。
アプリケーションサーバ装置203は端末4からID、パスワードの組を受信する(S307)と、認証データベース2036より、受信したID、パスワードをキーとして、サーバIDを取得する(S308)。そして、取得したサーバIDを含むトリガ依頼パケットをトリガサーバ204へ送信し(S309)、トリガサーバは、該トリガ依頼パケットを受信する(S310)。
次に、トリガサーバ204が宅内サーバ装置103へトリガパケットを送信する動作について説明する。図8は、トリガ送受信に関するトリガサーバの動作を表すシーケンス図である。
トリガサーバ204はアプリケーションサーバ装置203よりトリガ依頼パケットを受信する(S310)と、グローバルアドレステーブル2045を参照して、トリガ依頼パケットに含まれるサーバIDをキーとして、NATルータ101のグローバルネットワークアドレスを取得する(S311)。そして、取得したグローバルネットワークアドレス宛に、上述したポーリングパケットに対する応答として、トリガパケットを送信する(S312)。NATルータ101はトリガパケットを受信する(S313)と、アドレス変換テーブルを参照してポーリングパケットの送信元である宅内サーバ装置103のプライベートネットワークアドレスを取得し(S314)、宅内サーバ装置103へ該トリガパケットを転送し(S315)、宅内サーバ装置103は、該トリガパケットを受信する(S316)。
次に、宅内サーバ装置103が、端末4が宅内サーバ装置103へ接続するためのリダイレクトURIを生成するための基となるパス、ポート番号を決定する動作について説明する。図9は、パス、ポート番号決定に関する宅内サーバ装置103の動作を表すシーケンス図である。
宅内サーバ装置103はトリガ待受部1032によりトリガパケットを受信する(S316)と、トリガ受信部1032は、トリガ到着の旨を、ポート/パス生成部1037へ通知する(S317)。ポート/パス生成部1037はまず、ランダムなコードを生成する(S318)。該コードは例えば、ASCII文字で形成される、所定の長さの文字列であるとする(例えば0005)。もちろん、コードの仕様はこれに限定されることはなく、例えば、文字列の長さは、所定の範囲に含まれる長さであるとしてもよい。さらにパス生成部1038は、該コードと、予めHTTPサーバ1033の設定により指定されたドキュメントパスとを合成して、端末4が宅内サーバ装置103へ接続するためのパスを生成する(S319)。このパスは例えば「CGIbin/0005」となる。
次にポート/パス生成部は、予め範囲指定されたNATルータ101のグローバルネットワーク側ポート番号のうち、未使用のものを選択する(S320)。このグローバルネットワーク側ポート番号には、例えば「20000」が選択される。
さらに、UPnPプロトコルスタックの機能である、AddPortMappingを用いて、宅内サーバ装置103のHTTPサーバ1033のポート番号と(例えば「80」)、選択したNATルータ101のグローバルネットワーク側ポート番号とを紐付ける、ポートマッピングを行う(S321)。すなわち、NATルータ101に対してグローバルネットワーク側ポート番号「20000」と宅内サーバ装置側のポート番号「80」との紐付けを行う。こうすることで、端末4がNATルータのIPアドレスと、選択したポート番号との組でTCP接続すると、NATルータが、パケットを転送して、端末4は、HTTPサーバ1033へ接続される。さらにポート/パス生成部は、生成されたパスと、選択したポート番号を、アプリケーションサーバ装置203へ通知し(S322)、アプリケーションサーバ装置203は、該通知を受信する(S323)。なお、S322で通知されるパスは例えば「CGIbin/0005」であり、ポート番号は「20000」となる。
次に、アプリケーションサーバ装置が生成されたパスとポート番号を用いてリダイレクトURIを生成し、端末4に、接続をリダイレクトさせる動作について説明する。図10は、リダイレクトURI生成に関するアプリケーションサーバ装置203の動作を表すシーケンス図である。
アプリケーションサーバ装置203はポート/パスを通知パケットにより受信する(S323)と、該通知パケットの送信元ネットワークアドレス、すなわちNATルータ101のグローバルネットワークアドレス(例えば「1.2.3.4」)と、通知されたポートとパスを合成して、リダイレクトURIを生成する(S324)。ここで生成されるリダイレクトURIは、例えば「 HYPERLINK "http://1.2.3.4" http://1.2.3.4:20000/CGIbin/0005」である。
次に、S306に対するHTTP応答として、「307 Temporary Redirect」を送信する(S325)。リダイレクト先としては、上で生成されたリダイレクトURIを指定する。端末4は、当該HTTP応答を受信する(S326)と、リダイレクト先として指定されたリダイレクトURIに対してHTTP要求を送信する(S327)。リダイレクト先のネットワークアドレスは、上述したようにNATルータ101であるが、予めAddPortMappingにより、NATルータ101は、該HTTP要求を受信した(S328)のち、宅内サーバ装置103へ転送する(S329)。すなわち、NATルータ101は、ポート番号「20000」で受信したので宅内サーバ装置のポート番号「80」への転送を行う。
そして、宅内サーバ装置103は該HTTP要求を受信する(S330)と、HTTPサーバ1033を通じて要求をサーバアプリケーション1034へ転送し、サーバアプリケーション1034は、該HTTP要求に対する応答を生成(S331)し、HTTPサーバ1033は該HTTP応答を端末4宛に送信し(S332)、端末4は、該HTTP応答を受信する(S333)。
なお、同じ宅内サーバ装置から続けて複数の通信を行う場合には、2回目以降は、S326で受信したリダイレクトURIより、アドレスとポートを抽出してURIを生成し、1回目と同じアドレス、ポートへ接続する。このようにすることで、2回目以降の接続に関しては、トリガ依頼(S309)からHTTP応答受信(S326)までを省略することができ、通信時間の短縮を図ることが可能になる。
かかる構成によればトリガサーバ204よりのトリガパケット受信を契機としてランダムなパスを生成し、そのパスを含むリダイレクトURIによって端末4に接続先をリダイレクトすることにより、第三者による不正な接続を防止した上で、グローバルネットワーク側からプライベートネットワーク側への通信を行うことが可能になる。また、本構成によれば、宅内サーバ装置103から端末4へ送信される、コンテンツなどのデータは、アプリケーションサーバ装置203を通過しないため、アプリケーションサーバ装置203に対する負荷を格段に減少させることが可能になる。
尚、図11においては、端末4がHTTP応答を受信するステップ(S333)で説明を終了しているが、その後、端末4と宅内サーバ装置103間のHTTPによる通信が切断された場合に、宅内サーバ装置103は、図9のマッピング実行でNATルータ101に記録したNATルータ101と宅内サーバ装置103とのポート関係が記述されたマッピングを消去する必要がある。この場合、宅内サーバ装置103側から、前記ポート関係を消去するために「Delete Port Mapping」を行う。
また、本実施の形態においては、宅内サーバ装置103のパス生成ステップ(S319)において生成されるパスが1つの場合を説明したが、実際には、画像毎に異なるパスが付与され、端末4がS323において受信するHTMLファイルに記述されている。そして、端末4のユーザが視聴を要求する画像を選択する毎に、各画像に対応したパスが宅内サーバ装置103に送信され、該パスにより決定された画像が宅内サーバ装置103から端末4に送信されることとなる。
本発明にかかる宅内サーバ装置は、外部の端末との接続手段を有し、ホームネットワークコントローラ等として有用である。また、本発明に係る宅内サーバ装置及びアプリケーションサーバ装置は、例えば、セキュリティカメラ等により撮影される画像データを宅内サーバ装置から宅外の携帯電話機等の携帯端末へ転送する通信に応用できる。
1 プライベートネットワーク
2 サーバネットワーク
3 グローバルネットワーク
4 端末
101 NATルータ
103 宅内サーバ装置
201 ゲートウェイ
203 アプリケーションサーバ装置
204 トリガサーバ
1037 ポート/パス生成部
2 サーバネットワーク
3 グローバルネットワーク
4 端末
101 NATルータ
103 宅内サーバ装置
201 ゲートウェイ
203 アプリケーションサーバ装置
204 トリガサーバ
1037 ポート/パス生成部
Claims (13)
- 所定のプロトコルに従い、ルータを介して、グローバルネットワークに接続された通信端末にサービスを提供する宅内サーバ装置であって、
外部からのトリガ信号を受信するトリガ受信手段と、
前記トリガ受信手段が前記トリガ信号を受信した場合には、所定の計算方法により外部からの接続を待受けるための文字列であるパス名、及び前記ルータに付与する新たなポート情報を生成するポート/パス生成手段と、
前記パス名及び前記ポート情報を外部に通知する通信手段とを備える
ことを特徴とする宅内サーバ装置。 - 前記所定の計算方法は、擬似乱数生成法である
ことを特徴とする請求項1記載の宅内サーバ装置。 - 前記所定の計算方法においては、前記宅内サーバ装置を一意に特定する情報をパラメータとして用いる
ことを特徴とする請求項1又は2記載の宅内サーバ装置。 - 前記通信端末は、少なくとも前記ポート情報及び前記パス名を用いて前記宅内サーバ装置と直接通信を行い、
前記宅内サーバ装置は、さらに、
前記通信端末と直接接続を行う場合に、前記通信手段を介して取得したネットワークアドレス、ポート情報、及びサービスまたはコンテンツに対応づけたパス名によりアプリケーションを特定し、前記通信端末に提供するアプリケーション手段を備える
ことを特徴とする請求項1記載の宅内サーバ装置。 - 前記通信手段は、さらに、少なくとも前記ルータのグローバルネットワークアドレスと前記宅内サーバ装置のプライベートネットワークアドレスとの関係を示すアドレス通知用パケットを外部に定期的に送信する
ことを特徴とする請求項1記載の宅内サーバ装置。 - 前記所定のプロトコルは、HTTPまたはHTTPSである
ことを特徴とする請求項1記載の宅内サーバ装置。 - 所定のプロトコルに従い、グローバルネットワークに接続された通信端末と宅内サーバ装置との接続を管理するアプリケーションサーバ装置であって、
前記宅内サーバ装置から、前記通信端末の再接続先となるポート情報とパス名とを受信するポート/パス受信手段と、
前記ポート/パス受信手段が前記ポート情報及び前記パス名を受信した場合には、少なくとも前記ポート情報、前記パス名、及び通知元のネットワークアドレスを用いて、前記通信端末が再接続するための再接続先情報となるリダイレクトURIを生成するリダイレクトURI生成手段と、
前記リダイレクトURIが示す接続先に対して再接続を指示する応答を前記通信端末に送信する送信手段とを備える
ことを特徴とするアプリケーションサーバ装置。 - グローバルネットワークで接続された第一システムと第二システムとから構成される通信システムであって、
前記第一システムには、
所定のプロトコルに従い、ルータを介して、グローバルネットワークに接続された通信端末にサービスを提供する宅内サーバ装置と、
前記宅内サーバ装置とグローバルネットワーク側との通信を中継するルータとが含まれ、
前記第二システムには、
所定のプロトコルに従い、グローバルネットワークに接続された通信端末と宅内サーバ装置との接続を管理するアプリケーションサーバ装置が含まれ、
前記宅内サーバ装置は、
外部からのトリガ信号を受信するトリガ受信手段と、
前記トリガ受信手段が前記トリガ信号を受信した場合には、所定の計算方法により外部からの接続を待受けるための文字列であるパス名、及び前記ルータに付与する新たなポート情報を生成するポート/パス生成手段と、
前記パス名及び前記ポート情報を外部のサーバ装置に通知する通信手段とを備え、
前記アプリケーションサーバ装置は、
前記宅内サーバ装置から、前記通信端末の再接続先となるポート情報とパス名とを受信するポート/パス受信手段と、
前記ポート/パス受信手段が前記ポート情報及び前記パス名を受信した場合には、少なくとも前記ポート情報、前記パス名、及び通知元のネットワークアドレスを用いて、前記通信端末が再接続するための再接続先情報となるリダイレクトURIを生成するリダイレクトURI生成手段と、
前記リダイレクトURIが示す接続先に対して再接続を指示する応答を前記通信端末に送信する送信手段とを備える
ことを特徴とする通信システム。 - 前記通信端末は、前記宅内サーバ装置へ複数回接続を行う場合には、2回目以降の接続においては、1回目の接続と同じネットワークアドレス、ポート情報で、且つ異なるパス名を用いて前記宅内サーバ装置に接続する
ことを特徴とする請求項8記載の通信システム - 所定のプロトコルに従い、ルータを介して、グローバルネットワークに接続された通信端末にサービスを提供する宅内サーバ装置に用いる通信方法であって、
外部からのトリガ信号を受信するトリガ受信ステップと、
前記トリガ受信ステップにおいて前記トリガ信号を受信した場合には、所定の計算方法により外部からの接続を待受けるための文字列であるパス名、及び前記ルータに付与する新たなポート情報を生成するポート/パス生成ステップと、
前記パス名及び前記ポート情報を外部に通知する通信ステップとを含む
ことを特徴とする通信方法。 - 所定のプロトコルに従い、グローバルネットワークに接続された通信端末と宅内サーバ装置との接続を管理するアプリケーションサーバ装置に用いる通信方法であって、
前記宅内サーバ装置から、前記通信端末の再接続先となるポート情報とパス名とを受信するポート/パス受信ステップと、
前記ポート/パス受信ステップにおいて、前記ポート情報及び前記パス名を受信した場合には、少なくとも前記ポート情報、前記パス名、及び通知元のネットワークアドレスを用いて、前記通信端末が再接続するための再接続先情報となるリダイレクトURIを生成するリダイレクトURI生成ステップと、
前記リダイレクトURIが示す接続先に対して再接続を指示する応答を前記通信端末に送信する送信ステップとを含む
ことを特徴とする通信方法。 - 所定のプロトコルに従い、ルータを介して、グローバルネットワークに接続された通信端末にサービスを提供する宅内サーバ装置に用いるプログラムであって、
外部からのトリガ信号を受信するトリガ受信ステップと、
前記トリガ受信ステップにおいて前記トリガ信号を受信した場合には、所定の計算方法により外部からの接続を待受けるための文字列であるパス名、及び前記ルータに付与する新たなポート情報を生成するポート/パス生成ステップと、
前記パス名及び前記ポート情報を外部に通知する通信ステップと
をコンピュータに実行させることを特徴とするプログラム。 - 所定のプロトコルに従い、グローバルネットワークに接続された通信端末と宅内サーバ装置との接続を管理するアプリケーションサーバ装置に用いるプログラムであって、
前記宅内サーバ装置から、前記通信端末の再接続先となるポート情報とパス名とを受信するポート/パス受信ステップと、
前記ポート/パス受信ステップにおいて、前記ポート情報及び前記パス名を受信した場合には、少なくとも前記ポート情報、前記パス名、及び通知元のネットワークアドレスを用いて、前記通信端末が再接続するための再接続先情報となるリダイレクトURIを生成するリダイレクトURI生成ステップと、
前記リダイレクトURIが示す接続先に対して再接続を指示する応答を前記通信端末に送信する送信ステップと
をコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005358220A JP2007166116A (ja) | 2005-12-12 | 2005-12-12 | 宅内サーバ装置及びアプリケーションサーバ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005358220A JP2007166116A (ja) | 2005-12-12 | 2005-12-12 | 宅内サーバ装置及びアプリケーションサーバ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007166116A true JP2007166116A (ja) | 2007-06-28 |
Family
ID=38248526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005358220A Pending JP2007166116A (ja) | 2005-12-12 | 2005-12-12 | 宅内サーバ装置及びアプリケーションサーバ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007166116A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9064235B2 (en) | 2010-11-25 | 2015-06-23 | Panasonic Intellectual Property Corporation Of America | Content sharing system and method, content relaying apparatus and method, and content providing apparatus and method |
WO2016042764A1 (ja) * | 2014-09-19 | 2016-03-24 | パナソニックIpマネジメント株式会社 | 接続方法、接続システム、携帯端末、およびプログラム |
-
2005
- 2005-12-12 JP JP2005358220A patent/JP2007166116A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9064235B2 (en) | 2010-11-25 | 2015-06-23 | Panasonic Intellectual Property Corporation Of America | Content sharing system and method, content relaying apparatus and method, and content providing apparatus and method |
WO2016042764A1 (ja) * | 2014-09-19 | 2016-03-24 | パナソニックIpマネジメント株式会社 | 接続方法、接続システム、携帯端末、およびプログラム |
JPWO2016042764A1 (ja) * | 2014-09-19 | 2017-07-06 | パナソニックIpマネジメント株式会社 | 接続方法、接続システム、携帯端末、およびプログラム |
US10334647B2 (en) | 2014-09-19 | 2019-06-25 | Panasonic Intellectual Property Management Co., Ltd. | Connection method, connection system, portable terminal, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7680878B2 (en) | Apparatus, method and computer software products for controlling a home terminal | |
CN108496380B (zh) | 服务器和存储介质 | |
CN102077546B (zh) | UPnP设备之间的远程访问 | |
JP4636617B2 (ja) | ゲートウェイ装置、接続制御装置及びネットワーク接続システム | |
JP2009163546A (ja) | ゲートウェイ、中継方法及びプログラム | |
WO2011071190A2 (en) | Networking method of communication apparatus, communication apparatus and storage medium | |
JP4377786B2 (ja) | 電化機器、サーバ装置、携帯端末、通信システム、通信方法、及びプログラム | |
JP2003110596A (ja) | データ通信サービス提供方法 | |
KR20120083827A (ko) | 홈 네트워크를 이용한 통화 방법 및 장치 | |
JP5260467B2 (ja) | アクセス制御システムおよびアクセス制御方法 | |
JP6393475B2 (ja) | 通信アダプタ装置、通信システム、トンネル通信方法、及びプログラム | |
WO2013189398A2 (zh) | 应用数据推送方法、装置及*** | |
JP2009296333A (ja) | 通信制御システムおよび通信制御方法 | |
JP4472566B2 (ja) | 通信システム、及び呼制御方法 | |
JP2007166116A (ja) | 宅内サーバ装置及びアプリケーションサーバ装置 | |
JP3935823B2 (ja) | Httpセッション・トンネリング・システム、その方法、及びそのプログラム | |
JP6186066B1 (ja) | イベントの発生を通知するシステムおよび方法 | |
JP5367386B2 (ja) | Ip電話端末装置、vpnサーバ装置、ip電話サーバ装置およびこれらを用いたip電話システム | |
JP2013186820A (ja) | 中継装置及び通信システム | |
JP2006229265A (ja) | ゲートウェイシステム | |
JP5723808B2 (ja) | 通信装置、通信方法、及びプログラム | |
JP5737006B2 (ja) | 代理アクセスを許可するサーバ,そのプログラム,そのシステム及びその方法 | |
JP2006352710A (ja) | パケット中継装置及びプログラム | |
JP2007329791A (ja) | ゲートウェイ装置 | |
JP5731949B2 (ja) | セキュアアクセスシステムおよびセキュアアクセス方法 |