(57)【要約】【課題】インターネットのインフラ整備の負担を軽減するとともに、ユーザによるインターネットの利用に支障をきたすような事態を回避しながら、任意のネットワークに存在する機器同士の相互通信を可能とするシステム等を提供する。【解決手段】本発明の通信管理システムによれば、認証サーバ１１０により発行されたチケット（認証子）を添付したリクエストが第１機器２１０及び第２機器２２０からあったとき、このチケットに応じた送信及び受信ポートがトンネルサーバ１２０に設定される。第１機器２１０からのリクエストがあったとき、トンネルサーバ１２０における第１機器２１０の送信ポート及び受信ポートのそれぞれと、第１機器２１０の通信相手として指定された第２機器２２０の受信ポート及び送信ポートのそれぞれとが接続される。これにより、第１機器２１０及び第２機器２２０の双方向通信用の経路が作成される。【選択図】  図１
2006203546.tif 000002
【特許請求の範囲】
【請求項１】
プライベートネットワークに設けられたＮＡＴを通じた複数の機器のインターネット通信を管理するシステムであって、
機器からの認証要求に応じて、該機器が正当なものであるか否かを判定し、正当なものであると判定した機器に対してのみ認証子を発行する認証手段と、
認証手段により発行された認証子を添付したリクエストが機器からあったとき、該認証子に応じた送信及び受信ポートをトンネルサーバ上に設定するポート設定手段と、
第１機器の通信相手を、第１機器からのリクエストの内容及び第２機器からのリクエストの内容のうち一方又は両方に基づき、ポート設定手段により設定された送信及び受信ポートが有効に存在している通信待機状態の第２機器の中から指定する通信相手指定手段と、
第１機器からのリクエストがあったとき、トンネルサーバにおける第１機器の送信ポート及び受信ポートのそれぞれと、通信相手指定手段により該第１機器の通信相手として指定された第２機器の受信ポート及び送信ポートのそれぞれとを接続することで、第１及び第２機器の双方向通信用の経路を作成する通信経路作成手段とを備えていることを特徴とする通信管理システム。
【請求項２】
トンネルサーバにおいて、ポート設定手段が、第１機器からの通信経路作成リクエストに応じて、第１機器からの受信ポートを設定し、第１機器から該受信ポートへの通信経路確保リクエストに応じて、第１機器への送信ポートを設定することを特徴とする請求項１記載の通信管理システム。
【請求項３】
トンネルサーバにおいて、ポート設定手段が、第２機器からの通信経路作成リクエストに応じて、第２機器からの受信ポートを設定し、第２機器から該受信ポートへの通信経路確保リクエストに応じて、第２機器への送信ポートを設定することを特徴とする請求項１記載の通信管理システム。
【請求項４】
通信経路作成手段が、第１機器からトンネルサーバにおける受信ポートに対して、該第１機器の通信相手である第２機器への送信ポート番号が送信されたことに応じて、該第２機器への送信ポート番号に基づき、該第１機器の受信ポート及び該第２機器の送信ポートを接続するととともに、第２機器からトンネルサーバにおける受信ポートに対して、該第２機器の通信相手である第１機器への送信ポート番号が送信されたことに応じて、該第１機器への送信ポート番号に基づき、該第２機器の受信ポート及び該第１機器の送信ポートを接続することで、該第１及び第２機器の双方向通信用の経路を作成することを特徴とする請求項１記載の通信管理システム。
【請求項５】
通信相手指定手段が、第１機器の通信相手として指定した第２機器への送信ポート番号を該第１機器に送信し、
経路作成手段が、該第１機器からトンネルサーバにおける受信ポートに、該第１機器への送信ポート番号及び該第２機器への送信ポート番号が送信されたことに応じて、該第２機器への送信ポート番号に基づき、該第１機器の受信ポート及び該第２機器への送信ポートを接続することで、該第１機器への送信ポート番号を第２機器に送信させることを特徴とする請求項４記載の通信管理システム。
【請求項６】
プライベートネットワークに設けられたＮＡＴを通じた複数の機器のインターネット通信を管理する方法であって、
機器からの認証要求に応じて、該機器が正当なものであるか否かを判定し、正当なものであると判定した機器に対してのみ認証子を発行する認証ステップと、
認証ステップにおいて発行された認証子を添付したリクエストが機器からあったとき、該認証子に応じた送信及び受信ポートをトンネルサーバ上に設定するポート設定ステップと、
第１機器の通信相手を、第１機器からのリクエストの内容及び第２機器からのリクエストの内容のうち一方又は両方に基づき、ポート設定ステップにおいて設定された送信及び受信ポートが有効に存在している通信待機状態の第２機器の中から指定する通信相手指定ステップと、
第１機器からのリクエストがあったとき、トンネルサーバにおける第１機器の送信ポート及び受信ポートのそれぞれと、通信相手指定手段により該第１機器の通信相手として指定された第２機器の受信ポート及び送信ポートのそれぞれとを接続することで、第１及び第２機器の双方向通信用の経路を作成する通信経路作成ステップとを備えていることを特徴とする通信管理方法。
【請求項７】
プライベートネットワークに設けられたＮＡＴを通じた複数の機器のインターネット通信を管理する機能をコンピュータに付与するプログラムであって、
機器からの認証要求に応じて、該機器が正当なものであるか否かを判定し、正当なものであると判定した機器に対してのみ認証子を発行する認証機能と、
認証機能により発行された認証子を添付したリクエストが機器からあったとき、該認証子に応じた送信及び受信ポートをトンネルサーバ上に設定するポート設定機能と、
第１機器の通信相手を、第１機器からのリクエストの内容及び第２機器からのリクエストの内容のうち一方又は両方に基づき、ポート設定機能により設定された送信及び受信ポートが有効に存在している通信待機状態の第２機器の中から指定する通信相手指定機能と、
第１機器からのリクエストがあったとき、トンネルサーバにおける第１機器の送信ポート及び受信ポートのそれぞれと、通信相手指定機能により該第１機器の通信相手として指定された第２機器の受信ポート及び送信ポートのそれぞれとを接続することで、第１及び第２機器の双方向通信用の経路を作成する通信経路作成機能とを一のコンピュータにまとめて、又は複数のコンピュータに分散させて付与することを特徴とする通信管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットを介した機器同士の通信を管理するシステム、方法、及び当該管理機能をコンピュータに付与するプログラムに関する。
【背景技術】
【０００２】
インターネットの実装のために作成され、情報システムにおける種々のネットワークの事実上の標準となっているＴＣＰ／ＩＰプロトコルによれば、ネットワークに接続されたポイントに識別アドレスとしてＩＰアドレスが用いられる。世界をつなぐ１つのネットワークを形成しているインターネットでは、ＩＰアドレス（グローバルアドレス）を有している機器同士の双方向通信が可能とされている。
【０００３】
しかし、ＩＰアドレスは３２ビットで定義されているため、その数には２の３２乗個という限りがあり、インターネットを利用する機器数の爆発的増大に鑑みて、全ての機器にＩＰアドレスを割り当てることは事実上不可能である。また、今後における情報システムのさらなる浸透とユビキタス化により、現在よりも多種多様のデバイス（究極的にはあらゆる電子機器）がＩＰアドレスを必要とすることになれば、ＩＰアドレスの数の不足問題はより深刻になると予測される。それを解決するため、ＩＰアドレス空間を１２８ビットに拡張するＩＰｖ６(IP version 6)が提案されているが、現在のＩＰｖ４(IP version 4)と交代させるにあたってさまざまな問題をクリアする必要があるため、その普及にはかなりの時間が要すると予測される。
【０００４】
そこで、ＬＡＮ等、範囲が限定されたネットワークをプライベートＩＰアドレス体系で構築し、ＬＡＮそのものをその代表アドレスであるグローバルアドレスを介して単位ネットワークごと接続するというＮＡＴ(Network Address Translation)（ＮＡＰＴ，ＩＰマスカレードなどとも呼ばれる。）方式が採用されている。プライベートアドレスは、グローバルアドレスとは異なりインターネットに直接接続されないことを前提条件として、ある範囲で自由に使用され得るＩＰアドレスである。また、プライベートアドレスは、ＬＡＮ等、ＴＣＰ／ＩＰネットワークの自由な構築を可能にするものである。
【０００５】
ＮＡＴ方式により、プライベートアドレスしか有していない多くの端末がインターネットを利用することができる。ここで、図５を用いて、端末２００からサーバ１００に対して要求データ（図５／矢印Ｄ１１，Ｄ１２参照）が送信され、これに応じてサーバ１００から機器２００に対して応答データ（図５／破線矢印Ｄ２１，Ｄ２２参照）が送信されるときのＮＡＴ(Network Address Translator)３００の機能について説明する。サーバ１００にはグローバルアドレス「Ｚ」が割り当てられている。プライベートネットワークに含まれる複数の機器２００にはそれぞれプライベートアドレス「ａｉ（ｉ＝１，２，・・，Ｎ−１）」が割り当てられている。ＮＡＴ３００には、プライベートアドレス「ａＮ」と、プライベートネットワークを代表するグローバルアドレス「Ａ」とが割り当てられている。
【０００６】
プライベートアドレスａｉを有する機器２００から、グローバルアドレスＺを有するサーバ１００に向けて要求データが発信されたとき（図５／矢印Ｄ１１参照）、ＮＡＴ３００はプライベートアドレスａｉではなく、グローバルアドレスＡを発信元として当該要求データをそのサーバ１００に送信する（図５／矢印Ｄ１２参照）。すなわち、プライベートアドレスａｉからグローバルアドレスＺへのアクセスはすべて、ＮＡＴ３００によりプライベートアドレスａＮを経由したグローバルアドレスＡからグローバルアドレスＺへのアクセスに変換される。
【０００７】
このため、グローバルアドレスＺを有するサーバ１００は、グローバルアドレスＡを要求データの発信元として認識した上で、この要求データに応じた応答データをＮＡＴ３００のグローバルアドレスＡに向けて発信する（図５／矢印Ｄ２１参照）。すなわち、グローバルアドレスＺにおいてプライベートアドレスａｉを認識することができないため、グローバルアドレスＺからのアクセスは、プライベートアドレスａｉではなくグローバルアドレスＡへのアクセスとなる。
【０００８】
ＮＡＴ３００は、プライベートアドレスａｉからグローバルアドレスＺへのアクセスを、グローバルアドレスＡからグローバルアドレスＺへのアクセスに変換する際、少なくともプライベートアドレスａｉと、グローバルアドレスＺとを対応付けて記憶している。このため、グローバルアドレスＡへのアクセスが、ＮＡＴ３００によって、グローバルアクセスＺと対応付けてＮＡＴ３００が記憶しているプライベートアドレスａｉへのアクセスに変換され得る。すなわち、グローバルアドレスＺを有するサーバ１００から、グローバルアドレスＡを有するＮＡＴ３００に向けて応答データが発信されたとき、ＮＡＴ３００は、グローバルアドレスＡではなく、プライベートアドレスａｉを送信先として当該応答データを送信する（図５／矢印Ｄ２２参照）。これにより、グローバルアドレスＺを有するサーバ１００から発信された応答データが、プライベートネットワークに含まれ、プライベートアドレスａｉを有する機器２００に送信される。
【０００９】
ＮＡＴ方式によれば、前記のようにプライベートアドレスからの発信は可能である一方、プライベートアドレスへの送信が不可能であるため、ＮＡＴ方式はセキュリティの面で優れている。すなわち、グローバルアドレスＺにおいて、グローバルアドレスＡの内側にあるプライベートアドレスａｉを認識することができないため、プライベートネットワークの内部にある機器への不正なアクセスを防止することができる。
【００１０】
なお、ＴＣＰ／ＩＰのネットワークにおいては、機器に割り当てられるＩＰアドレスの他に、ＩＰアドレス上でサービス（要求データ及び応答データのそれぞれの種類）を区別するためにポート番号が利用されている。サービスとは例えばホームページのための情報を提供する機能といった機能を提供することを指し、サービスを提供するソフトウェア（又はそれが動作しているハードウェア）がサーバであり、サーバが提供するサービスを利用するものがクライアントである。Ｗｅｂを提供するサービス（＝Ｗｅｂサーバ）にはポート番号「８０」が割り当てられることになっている。このため、実際のアクセスにおいては、ホームページ閲覧の場合、「ＩＰアドレス」＋「ポート番号」という形で、アクセスが行われる。
【００１１】
ＮＡＴ機器３００には、内側のネットワークから外側のネットワークへのアクセスだけでなく、電話でいうようなダイアルインのような機能もある。最も単純なパターンはグローバルアドレスＡに対するアクセスを、任意のプライベートアドレスａｉに転送するというものである。もう少し高度な設定では、グローバルアドレスＡのポート８０番に対するアクセスをプライベートアドレスａｉのポート８０番に、グローバルアドレスＡのポート２５番に対するアクセスをプライベートアドレスａｊのポート２５番にというようにポート単位での振り分けが可能となっている。ユーザ（クライアント）が、サーバが提供する機能を参照する情報システムであれば、ＮＡＴの環境は各種問題を解決する有効な手法である。インターネットを爆発的に普及させるきっかけとなったＷｅｂページもサーバが提供する形式のサービスでありメールも同様である。
【００１２】
しかし、異なるプライベートアドレスにある機器同士が、任意に情報（データ）を交換することはできない。なぜならばプライベートアドレス内にある以上、それぞれを直接通信相手として指定することが不可能なためである。
【００１３】
そこで、この問題を解決するための手段として、(1)ＶＰＮ(Virtual Private Network)、(2)Ｐ２Ｐ(Peer to Peer)が挙げられる。
【００１４】
ＶＰＮは、直接通信をしたい機器が存在する異なるプライベートアドレス空間を、仮想的な通信経路により接続する手法である（例えば、非特許文献１参照）。図６に示されているように、第１及び第２のプライベートネットワークがそれぞれ、ＮＡＴを介してインターネットの利用が可能とされている場合、ＮＡＴが機能しているポイント（一般的にはルータやファイヤウォールと呼ばれる機器でありそれぞれのプライベートネットワークとインターネットとの出入口）には、グローバルアドレスが必ず割り当てられている。このため、そのグローバルアドレス同士で暗号化された仮想的な通信経路を確立し、その仮想的な通信経路を通じて２つのプライベートネットワークが接続される。仮想的な通信経路は暗号等の技術によってインターネットの他の拠点からは覗けない安全なトンネルであるため、あたかも２つのプライベートネットワークが直接つながっているような状態を実現することができる。このＶＰＮ方式を用いることにより異なるプライベートネットワーク（プライベートアドレス空間）に含まれている機器同士を通信させることが可能となる。図６に示されている例は、２つのプライベートネットワークを接続するものであるが、一方がネットワークでなく単体の端末であっても同様である。ノートパソコンのような移動体端末を、プライベートネットワークに参加させる方式も可能である。
【００１５】
Ｐ２Ｐは端末間で必要な情報を交換する手段のことをいい、通信経路の確保の手段というＶＰＮよりも広い概念と位置づけられる（例えば、非特許文献２参照）。ここでいう情報交換とは、ファイルの交換であったり、チャットと呼ばれるリアルタイムな文字レベルのメッセージ交換であったり、音声電話チャットであったり、テレビ電話チャットであったり、これに限らずさまざま情報交換が想定できる。Ｐ２Ｐはこれらのような情報交換をあたかも端末間同士で行うしくみのことであり、その実現方法は大きく分けるとサーバ仲介型と、直接通信型に分けられる。単純に端末間で必要な情報を交換するといっても、これまで述べてきたような端末間接続の問題点が存在するため工夫が必要である。Ｐ２Ｐのサーバ仲介型接続では、グローバルアドレスによりアクセスできるサーバを仲介してプライベートネットワーク等にある端末間で情報交換をさせる。この方式では、ユーザの利用する端末はあくまでクライアントであり、相手と直接通信するのではなく、交換したい情報の受け渡しをサーバに依頼をする形となる。
【００１６】
この方式はシンプルではあるが、交換される全ての情報をサーバに処理させる事になるので、サーバの負荷が高くなりP2Pに参加できる端末がサーバの処理能力に制限される。それに対しＰ２Ｐの直接通信型は、サーバを介さずに端末間を直接通信させる方法である。概念的にはＶＰＮに近いものであるが、ＶＰＮのようにグローバルアドレスを必要としないで、プライベートネットワーク等にある端末間で直接通信をさせるもので、（2a）UPＵＰｎＰ（Universal Plug an Play）や、（2b）ＳＴＵＮ（UDP Hole punching）があげられる。
【００１７】
ＵＰｎＰは、最近のテレビ電話チャットや音声電話チャットのようなサービスにおいて新たに採用されているものである。ＵＰｎＰは、ＮＡＴと同様にプライベートアドレスの出入口にあたるポイントの機器に対し、プライベートアドレスの特定の端末同士だけを通信可能にする、特定の穴を一時的にあけてもらうためのものである（例えば、非特許文献３参照）。
【００１８】
ＳＴＵＮは、ＵＰｎＰのように機器側での対応を必要としないで、プライベートネットワーク等にある端末間の通進路の確保を行える（例えば、非特許文献４参照）。しかしながらＳＴＵＮにより確保された端末間の通進路は、ＵＤＰプロトコルによる通信しか行うことができない。一般にインターネットにおける通信はＴＣＰプロトコルが主であるため、ＵＤＰに制限されることにより端末間で行える情報交換そのものに制約を受けるというデメリットが存在する。
【非特許文献１】辻秀典  著「IT社会の基礎知識 TCP/IP」2004/7/1  第74~75頁
【非特許文献２】「IT用語辞典 e-words」2000/10/25（2004/10/1検索）インターネット<URL: http://e-words.jp/w/P2P.html >
【非特許文献３】佐藤晃洋「最新IT用語解説」2002/1/10（2004/10/1検索）インターネット<URL: http://pcweb.mycom.co.jp/series/ityougo/021/ >
【非特許文献４】J. Rosenberg他「RFC 3489 - STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)」2003/3（2004/10/01検索）インターネット<URL: http://www.faqs.org/rfcs/rfc3489.html >
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかし、ＶＰＮ方式によれば、同一組織に所属する複数の支部等、現実社会における相互信頼のある拠点同士を接続したり、決められた拠点につなぐことが前提とされている。また、少なくともベースとなる一の拠点には変動しないグローバルアドレスが必要となり、他の拠点にも基本的には変動しても構わないが、グローバルアドレスが必要となる。このため、ＶＰＮ方式によれば、任意の異なるプライベートネットワークに含まれる機器同士を双方向通信自在につなげない。
【００２０】
また、サーバ経由型のＰ２Ｐ方式では、共有ファイルの置き場所となるサーバの負荷が過大となる可能性が非常に高くなる。
【００２１】
さらに、ＵＰｎＰ方式によれば、ＮＡＴ機能を有する機器がＵＰｎＰ方式に対応していないことが多く、インフラ整備のために多大な時間、労力及びコストを要するものである。また、プライベートネットワークの中にＮＡＴを介して存在するプライベートネットワークに含まれる機器に対して、外部からアクセスすることは非常に難しい。
【００２２】
また、ＳＴＵＮ方式によれば、ＴＣＰ／ＩＰではなく転送の保証等の機能がないＵＤＰ／ＩＰが採用されているため、通信可能なデータの種類が制限されてしまう。さらに、ＳＴＵＮ方式においても、ＵＰｎＰ方式と同様に、ＮＡＴ機能を有する機器がＳＴＵＮ方式に対応していないことが多く、インフラ整備のために多大な時間、労力及びコストを要するものである。
【００２３】
そこで、本発明は、インターネットのインフラ整備の負担を軽減するとともに、ユーザによるインターネットの利用に支障をきたすような事態を回避しながら、任意のネットワークに存在する機器同士の相互通信を可能とするシステム、方法及びプログラムを提供することを解決課題とする。
【課題を解決するための手段】
【００２４】
前記課題を解決するための本発明の通信管理システムは、プライベートネットワークに設けられたＮＡＴを通じた複数の機器のインターネット通信を管理するシステムであって、機器からの認証要求に応じて、該機器が正当なものであるか否かを判定し、正当なものであると判定した機器に対してのみ認証子を発行する認証手段と、認証手段により発行された認証子を添付したリクエストが機器からあったとき、該認証子に応じた送信及び受信ポートをトンネルサーバ上に設定するポート設定手段と、第１機器の通信相手を、第１機器からのリクエストの内容及び第２機器からのリクエストの内容のうち一方又は両方に基づき、ポート設定手段により設定された送信及び受信ポートが有効に存在している通信待機状態の第２機器の中から指定する通信相手指定手段と、第１機器からのリクエストがあったとき、トンネルサーバにおける第１機器の送信ポート及び受信ポートのそれぞれと、通信相手指定手段により該第１機器の通信相手として指定された第２機器の受信ポート及び送信ポートのそれぞれとを接続することで、第１及び第２機器の双方向通信用の経路を作成する通信経路作成手段とを備えていることを特徴とする。
【００２５】
本発明の通信管理システムによれば、複数の機器がＮＡＴを通じてインターネット通信する場合でも、ＮＡＴの方式を特定のものに対応させる必要はなく、既存のＮＡＴがそのまま利用され得る。このため、グローバルアドレスを増加させずに済むというＮＡＴ方式のメリットをそのまま享受し得る。なお、複数の機器のＮＡＴを通じたインターネット通信には、第１プライベートネットワークに含まれている機器と、第１プライベートネットワークとは別の第２プライベートネットワークに含まれている機器とが通信することと、プライベートネットワークに含まれている機器と、プライベートネットワークに含まれていない機器とが通信することとの両方が含まれる。
【００２６】
また、トンネルサーバにはサーバ経由型のＰ２Ｐ方式のように共有ファイル等が置かれるわけではなく、データの通信経路が作成されるだけである。また、トンネルサーバに第１及び第２機器の双方向通信用の経路が作成されるのは、第１機器からリクエストがあり、且つ、当該第１機器の通信相手である第２機器が通信待機状態にあるという条件が満たされている間のみである。このため、トンネルサーバの負荷が過大になるような事態が抑制され得る。
【００２７】
従って、本発明の通信管理システムによれば、インターネットのインフラ整備の負担を軽減するとともに、ユーザによるインターネットの利用に支障をきたすような事態を回避しながら、任意のネットワークに存在する機器同士の相互通信が可能となる。
【００２８】
また、本発明の通信管理システムは、トンネルサーバにおいて、ポート設定手段が、第１機器からの通信経路作成リクエストに応じて、第１機器からの受信ポートを設定し、第１機器から該受信ポートへの通信経路確保リクエストに応じて、第１機器への送信ポートを設定することを特徴とする。
【００２９】
さらに本発明の通信管理システムは、トンネルサーバにおいて、ポート設定手段が、第２機器からの通信経路作成リクエストに応じて、第２機器からの受信ポートを設定し、第２機器から該受信ポートへの通信経路確保リクエストに応じて、第２機器への送信ポートを設定することを特徴とする。
【００３０】
また、本発明の通信管理システムは、通信経路作成手段が、第１機器からトンネルサーバにおける受信ポートに対して、該第１機器の通信相手である第２機器への送信ポート番号が送信されたことに応じて、該第２機器への送信ポート番号に基づき、該第１機器の受信ポート及び該第２機器の送信ポートを接続するととともに、第２機器からトンネルサーバにおける受信ポートに対して、該第２機器の通信相手である第１機器への送信ポート番号が送信されたことに応じて、該第１機器への送信ポート番号に基づき、該第２機器の受信ポート及び該第１機器の送信ポートを接続することで、該第１及び第２機器の双方向通信用の経路を作成することを特徴とする。
【００３１】
さらに本発明の通信管理システムは、通信相手指定手段が、第１機器の通信相手として指定した第２機器への送信ポート番号を該第１機器に送信し、経路作成手段が、該第１機器からトンネルサーバにおける受信ポートに、該第１機器への送信ポート番号及び該第２機器への送信ポート番号が送信されたことに応じて、該第２機器への送信ポート番号に基づき、該第１機器の受信ポート及び該第２機器への送信ポートを接続することで、該第１機器への送信ポート番号を第２機器に送信させることを特徴とする。
【００３２】
前記課題を解決するための本発明の通信管理方法は、プライベートネットワークに設けられたＮＡＴを通じた複数の機器のインターネット通信を管理する方法であって、機器からの認証要求に応じて、該機器が正当なものであるか否かを判定し、正当なものであると判定した機器に対してのみ認証子を発行する認証ステップと、認証ステップにおいて発行された認証子を添付したリクエストが機器からあったとき、該認証子に応じた送信及び受信ポートをトンネルサーバ上に設定するポート設定ステップと、第１機器の通信相手を、第１機器からのリクエストの内容及び第２機器からのリクエストの内容のうち一方又は両方に基づき、ポート設定ステップにおいて設定された送信及び受信ポートが有効に存在している通信待機状態の第２機器の中から指定する通信相手指定ステップと、第１機器からのリクエストがあったとき、トンネルサーバにおける第１機器の送信ポート及び受信ポートのそれぞれと、通信相手指定手段により該第１機器の通信相手として指定された第２機器の受信ポート及び送信ポートのそれぞれとを接続することで、第１及び第２機器の双方向通信用の経路を作成する通信経路作成ステップとを備えていることを特徴とする。
【００３３】
本発明の通信管理方法によれば、インターネットのインフラ整備の負担を軽減するとともに、ユーザによるインターネットの利用に支障をきたすような事態を回避しながら、任意のネットワークに存在する機器同士の相互通信が可能となる。
【００３４】
前記課題を解決するための本発明の通信管理プログラムは、プライベートネットワークに設けられたＮＡＴを通じた複数の機器のインターネット通信を管理する機能をコンピュータに付与するプログラムであって、機器からの認証要求に応じて、該機器が正当なものであるか否かを判定し、正当なものであると判定した機器に対してのみ認証子を発行する認証機能と、認証機能により発行された認証子を添付したリクエストが機器からあったとき、該認証子に応じた送信及び受信ポートをトンネルサーバ上に設定するポート設定機能と、第１機器の通信相手を、第１機器からのリクエストの内容及び第２機器からのリクエストの内容のうち一方又は両方に基づき、ポート設定機能により設定された送信及び受信ポートが有効に存在している通信待機状態の第２機器の中から指定する通信相手指定機能と、第１機器からのリクエストがあったとき、トンネルサーバにおける第１機器の送信ポート及び受信ポートのそれぞれと、通信相手指定機能により該第１機器の通信相手として指定された第２機器の受信ポート及び送信ポートのそれぞれとを接続することで、第１及び第２機器の双方向通信用の経路を作成する通信経路作成機能とを一のコンピュータにまとめて、又は複数のコンピュータに分散させて付与することを特徴とする。
【００３５】
本発明の通信管理プログラムによれば、インターネットのインフラ整備の負担を軽減するとともに、ユーザによるインターネットの利用に支障をきたすような事態を回避しながら、任意のネットワークに存在する機器同士の相互通信が可能となるように、通信を管理し得る機能を一又は複数のコンピュータに付与することができる。
【発明を実施するための最良の形態】
【００３６】
本発明の通信管理システム、通信管理方法及び通信管理プログラムの実施形態について図面を用いて説明する。
図１は本発明の一実施形態における通信管理システムの構成説明図であり、図２は本発明の一実施形態における通信管理方法による第２機器を通信待機状態にするための処理の説明図であり、図３は本発明の一実施形態における通信管理方法による、第１機器と通信待機状態の第２機器とを通信可能な状態にするための処理の説明図であり、図４は本発明の一実施形態における通信管理システムを構成するトンネルサーバの機能説明図であり、図５はプライベートネットワークの内外機器同士の通信方法の説明図であり、図６は複数のプライベートネットの接続状態の説明図である。
【００３７】
まず、本発明の通信管理システムの構成について図１を用いて説明する。
【００３８】
図１に示されている通信管理システムは、ハードウェアとしての認証サーバ１１０、トンネルサーバ１２０及びコミュニケーションサーバ１３０と、ソフトウェアとしての後述の本発明の「通信管理プログラム」とにより構成されている。通信管理システム１００は、第１プライベートネットワークに含まれる第１機器２１０と、第２プライベートネットワークに含まれる第２機器２２０とのインターネットを介した通信を管理する。
【００３９】
認証サーバ１１０は、本発明の「認証手段」として、ユーザ（各機器）の認証、チケット（アクセス有効証（認証子））を発行等する。トンネルサーバ１２０は、本発明の「ポート設定手段」及び「通信経路作成手段」として、各機器の送信及び受信ポートを設定したり、機器が双方向に自由にアクセスできる通信経路を確保したりする。コミュニケーションサーバ１３０は、本発明の「通信相手指定手段」として、ユーザに対するサービスの提供状態を管理したり、トンネルサーバ１２０と各機器との間に確立されたそれぞれの通信経路を各機器同士で通信できるように結びつけたりする。認証サーバ１１０、トンネルサーバ１２０、及びコミュニケーションサーバ１３０は、それぞれインターネットからアクセス可能に接続されている。
【００４０】
第１端末２１０は、プライベートアドレスａｉ（ｉ＝１，２，・・，Ｎ−１）を有し、ユーザの操作に応じた任意のタイミングで、プライベートアドレスａＮ及びグローバルアドレスＡを有するＮＡＴ(Network Address Translator)３１０を介して、第１プライベートネットワークの外部にあるサーバ等の機器と通信可能な状態となる。
【００４１】
第２端末２２０は、第２プライベートアドレスｂｊ（ｊ＝１，２，・・）を有し、ユーザの操作に応じたログイン後、プライベートアドレスｂＮ及びグローバルアドレスＢを有するＮＡＴ３２０を介して、第２プライベートネットワークの外部にあるサーバ等の機器と通信可能な状態となる。
【００４２】
前記構成の通信管理システムにより実施される通信管理方法について、図２〜図・を用いて説明する。この通信管理方法は、（Ｂ）第２機器２２０を通信待機状態にするための処理と、第１機器２１０と、（Ａ）通信待機状態の第２機器２２０とを通信可能な状態にするための処理とに区別することができる。
【００４３】
最初に（Ｂ）第２機器２２０を通信待機状態にするための処理について説明する。
第２ユーザによって第２機器２２０にそのユーザＩＤ及びパスワードが入力されたことに応じて、第２機器２２０がこのパスワードを暗号化してユーザＩＤとともに認証サーバ１１０に送信する（図２／矢印（Ｂ１））。これに応じて、認証サーバ１１０が、ユーザＩＤと暗号化されたパスワードとの組合せが適正なものであるか否かを判定し（図２／Ｓ１１ｂ）、この組合せが適正であると判定した場合、第２機器２２０がログインしている間に有効なチケット（認証子）を発行し（図２／Ｓ１２ｂ）、第２機器２２０に送信する（図２／矢印（Ｂ２））。チケットとしては、例えば、ユーザＩＤとランダムな文字列との組合せが採用される。ログイン状態にある第２機器２２０に関する通信にはすべてこのチケットが添付されることにより、第２機器２２０が認証サーバ１１０によって認証された状態であることが保証される。
【００４４】
続いて、第２機器２２０が、トンネルサーバに対して通信経路の作成をリクエストする（図２／矢印（Ｂ３））。これに応じて、トンネルサーバ１２０が、第２機器２２０からの受信ポートを設定し（図２／Ｓ２１ｂ）、この上で受信ポートを特定するための受信ポート番号と接続鍵とを第２機器２２０に送信する（図２／矢印（Ｂ４））。
【００４５】
次に、第２機器２２０が、この受信ポート番号により特定されるトンネルサーバ１２０の受信ポートに対して接続鍵を使って通信経路の確保をリクエストする（図２／矢印（Ｂ５））。これに応じて、トンネルサーバ１２０が、第２機器２２０への送信ポートを設定するとともに（図２／Ｓ２２ｂ）、第２機器２２０に対して通信経路が確立されたこと、すなわち、第２機器２２０のための有効な送信及び受信ポートが設定されたことを通知する（図２／矢印（Ｂ６））。
【００４６】
また、トンネルサーバ１２０が、コミュニケーションサーバ１３０に対して第２機器２２０が通信待機状態であることを通知する（図２／矢印（Ｂ７））。
【００４７】
これにより、第２ユーザの第２機器２２０が第１機器２１０との通信を待機している状態となる。
【００４８】
次に（Ａ）第１機器２１０と、通信待機状態の第２機器２２０とを通信可能な状態にするための処理について説明する。
【００４９】
第１ユーザによって第１機器２１０にそのユーザＩＤ及びパスワードが入力されたことに応じて、第１機器２１０がこのパスワードを暗号化してユーザＩＤとともに認証サーバ１１０に送信する（図３／矢印（Ａ１））。これに応じて、認証サーバ１１０は、ユーザＩＤと暗号化されたパスワードとの組合せが適正なものであるか否かを判定し（図３／Ｓ１１ａ）、この組合せが適正であると判定した場合、第１機器２１０がログインしている間に有効なチケット（認証子）を発行し（図２／Ｓ１２ａ）、第１機器２１０に送信する（図３／矢印（Ａ２））。チケットとしては、例えば、ユーザＩＤとランダムな文字列との組合せが採用される。ログイン状態にある第１機器２１０に関する通信にはすべてこのチケットが添付されることにより、第１機器２１０が認証サーバ１１０によって認証された状態であることが保証される。
【００５０】
次に、第１機器２１０が、チケットを添付した上で、コミュニケーションサーバ１３０にサービスをリクエストする（図３／矢印（Ａ３））。サービスの内容としては、機器を通じたユーザ同士の会話、コンサルティング、情報提供等、さまざまなものが含まれる。これに応じて、コミュニケーションサーバ１３０が、第１機器２１０からリクエストがあったサービスの内容、第１機器２１０からの通信相手の指定等に基づき、第１機器２１０の通信相手となる第２機器２２０を決定する（図３／Ｓ３１）。
【００５１】
また、コミュニケーションサーバ１３０は、第１機器２１０の通信相手として決定した第２機器２２０の送信及び受信ポートがトンネルサーバ１２０において有効に存在しているか否かを、当該トンネルサーバ１２０に問合せる（図３／矢印（Ａ４））。そして、コミュニケーションサーバ１３０は、トンネルサーバ１２０からの回答を受信し（図３／矢印（Ａ５））、当該回答に基づいて第１機器２１０の通信相手として決定した第２機器２２０が通信待機状態であるか否かを認識する（図３／Ｓ３２）。
【００５２】
コミュニケーションサーバ１３０は、第１機器２１０の通信相手として決定した第２機器２２０が通信待機状態であると認識した場合、第１機器２１０に対して通信許可を通知するとともに、当該第２機器２２０の送信ポート番号を送信する（図３／矢印（Ａ６））。
【００５３】
続いて、第１機器２１０が、トンネルサーバ１２０に対して通信経路の作成をリクエストする（図２／矢印（Ａ７））。これに応じて、トンネルサーバ１２０が、第１機器２１０からの受信ポートを設定し（図３／Ｓ２１ａ）、この上で受信ポートを特定するための受信ポート番号と接続鍵とを第１機器２１０に送信する（図２／矢印（Ａ８））。
【００５４】
次に、第１機器２１０が、この受信ポート番号により特定されるトンネルサーバ１２０の受信ポートに対して接続鍵を使って通信経路の確保をリクエストする（図２／矢印（Ａ９））。これに応じて、トンネルサーバ１２０が、第１機器２１０への送信ポートを設定し（図２／Ｓ２２ａ）、第１機器２１０に対して通信経路が確立されたこと、すなわち、第２機器２２０のための有効な送信及び受信ポートが設定されたことを通知するとともに、当該送信ポートを特定するための送信ポート番号を送信する（図２／矢印（Ａ１０））。
【００５５】
続いて、第１機器２１０が、トンネルサーバ１２０に対してチケット、通信相手の送信ポート番号、及び自身の送信ポート番号を送信する（図３／矢印（Ａ１１））。そして、トンネルサーバ１２０が、通信相手の送信ポート番号に基づき、第１機器２１０の受信ポート及び当該通信相手の送信ポートをつなぐことにより、第２機器２２０に対して第１機器２１０の送信ポート番号が送信される（図３／矢印（Ａ１２））。
【００５６】
これにより、第１機器２１０と第２機器２２０とがトンネルサーバ１２０の中継ポートを介して双方向通信が可能な状態となる。
【００５７】
すなわち、図４（ａ）に示されているように、第１機器２１０が、受信ポート番号（図３／矢印（Ａ８）参照）に基づき、トンネルサーバ１２０における当該受信ポートに対して、何らかの情報を通信相手である第２機器２２０の送信ポート番号（図３／矢印（Ａ６）参照）とともに送信したとき、トンネルサーバ１２０が第１機器２１０の受信ポート及び第２機器２２０の送信ポートをつなぐことにより、その情報が第２機器２２０に送信される。
【００５８】
一方、図４（ｂ）に示されているように、第２機器２２０が、受信ポート番号（図２／矢印（Ｂ２）参照）に基づき、トンネルサーバ１２０における当該受信ポートに対して、何らかの情報を通信相手である第１機器２１０の送信ポート番号（図３／矢印（Ａ１２）参照）とともに送信したとき、トンネルサーバ１２０が第２機器２２０の受信ポート及び第１機器２１０の送信ポートをつなぐことにより、その情報が第１機器２１０に送信される。
【００５９】
前記通信管理システムにより実行される通信管理方法によれば、複数の機器がＮＡＴ３１０，３２０を通じてインターネット通信する場合でも、ＮＡＴ３１０，３２０の方式を特定のものに対応させる必要はなく、既存のＮＡＴがそのまま利用され得る。このため、グローバルアドレスを増加させずに済むというＮＡＴ方式のメリットをそのまま享受し得る。
【００６０】
また、トンネルサーバ１２０にはサーバ経由型のＰ２Ｐ方式のように共有ファイル等が置かれるわけではなく、データの通信経路が作成されるだけである。また、トンネルサーバ１２０に第１機器２１０及び第２機器２２０の双方向通信用の経路が作成されるのは、第１機器２１０からサービスリクエストがあり、且つ、当該第１機器２１０の通信相手である第２機器２２０が通信待機状態にあるという条件が満たされている間のみである。このため、トンネルサーバ１２０の負荷が過大になるような事態が抑制され得る。
【００６１】
従って、本発明の通信管理システム及び方法によれば、インターネットのインフラ整備の負担を軽減するとともに、ユーザによるインターネットの利用に支障をきたすような事態を回避しながら、任意のネットワークに存在する機器同士の相互通信が可能となる。
【００６２】
前記実施形態では第１端末２１０及び第２端末２２０の両方がプライベートネットワークに含まれていたが、他の実施形態として第１端末２１０及び第２端末２２０のうち一方のみがプライベートネットワークに含まれていてもよい。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態における通信管理システムの構成説明図
【図２】本発明の一実施形態における通信管理方法による第２機器を通信待機状態にするための処理の説明図
【図３】本発明の一実施形態における通信管理方法による、第１機器と通信待機状態の第２機器とを通信可能な状態にするための処理の説明図
【図４】本発明の一実施形態における通信管理システムを構成するトンネルサーバの機能説明図
【図５】プライベートネットワークの内外機器同士の通信方法の説明図
【図６】複数のプライベートネットの接続状態の説明図
【符号の説明】
【００６４】
１１０・・認証サーバ（認証手段）、１２０・・トンネルサーバ（ポート設定手段、通信経路作成手段）、１３０・・コミュニケーションサーバ（通信相手指定手段）、２１０・・第１機器、２２０・・第２機器、３１０、３２０・・ＮＡＴ
【図１】
2006203546.tif 000003
【図２】
2006203546.tif 000004
【図３】
2006203546.tif 000005
【図４】
2006203546.tif 000006
【図５】
2006203546.tif 000007
【図６】
2006203546.tif 000008