(57)【要約】【課題】リレーサーバによって割り当てられるポート数を削減する方法およびシステムを提供する。【解決手段】接続システムが、双方向技法を用いて、２つのエンドポイント（例えばクライアントコンピュータ）間にリレーサーバ経由でコネクションを確立する。このコネクションを双方向的に用いることにより、第１のエンドポイントから第２のエンドポイントへストリームを送信し、第２のエンドポイントから第１のエンドポイントへストリームを送信することができる。また、接続システムは、ストリーム多重化技法を用いることにより、単一のコネクション上に複数のストリームを多重化することで、リレーサーバによって割り当てられるポート数をさらに削減することもできる。また、接続システムは、エンドポイント多重化技法を用いることにより、リレーサーバ経由で単一のコネクションを通る相異なるエンドポイントからのストリームを多重化することで、リレーサーバによって割り当てられるポート数を削減することもできる。【選択図】図５
2006262466.tif 000002
【特許請求の範囲】
【請求項１】
リレーサーバによって割り当てられるポート数を削減する方法であって、
第１の割当ポートを割り当てる要求を第１のエンドポイントから前記リレーサーバの既知ポートへ送信することと、
前記リレーサーバから前記第１のエンドポイントにおいて前記第１の割当ポートの指示を受信することと、
第２のエンドポイントが前記リレーサーバの前記第１の割当ポートを通じて前記第１のエンドポイントへメッセージを送信することができるように、前記第１の割当ポートの指示を前記第１のエンドポイントから前記第２のエンドポイントへ送信することと、
第２の割当ポートを割り当てる要求を前記第２のエンドポイントから前記リレーサーバの既知ポートへ送信することと、
前記第１のエンドポイントが前記第２の割当ポートの指示を受信しない場合、前記リレーサーバの前記第１の割当ポートおよび前記既知ポートが前記第１のエンドポイントと前記第２のエンドポイントの間の双方向コネクションとして使用されるように、メッセージを前記第１のエンドポイントから前記第２のエンドポイントへ前記リレーサーバの既知ポート経由で送信することと
を備えることを特徴とする方法。
【請求項２】
前記リレーサーバは、ＴＵＲＮサーバであることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のエンドポイントおよび前記第２のエンドポイントは、前記リレーサーバの同じ既知ポートへ要求を送信することを特徴とする請求項１に記載の方法。
【請求項４】
前記第１のエンドポイントは、前記リレーサーバが前記第２の割当ポートを割り当てなかったので前記第２の割当ポートの指示を受信しないことを特徴とする請求項１に記載の方法。
【請求項５】
前記第２のエンドポイントから前記リレーサーバへ送信される、第２の割当ポートを割り当てる前記要求は、セキュリティシステムによって前記リレーサーバから遮断されることを特徴とする請求項４に記載の方法。
【請求項６】
前記第２のエンドポイントは、前記双方向コネクション上にメッセージを多重化することによって、前記第１のエンドポイントへ相異なるストリームのメッセージを送信することを特徴とする請求項１に記載の方法。
【請求項７】
ストリームは、同期ソース識別子によって識別されることを特徴とする請求項６に記載の方法。
【請求項８】
前記第１のエンドポイントは、前記同期ソース識別子を用いて、前記双方向コネクション経由で送信されるメッセージを逆多重化することを特徴とする請求項７に記載の方法。
【請求項９】
ネットワークが前記リレーサーバ経由で前記第２のエンドポイントと通信する複数のエンドポイントを有する場合、前記第２のエンドポイントが前記第１の割当ポート経由で前記複数のエンドポイントのそれぞれに情報を送信するように、前記第１の割当ポートを前記複数のエンドポイント間で共有することを特徴とする請求項１に記載の方法。
【請求項１０】
前記複数のエンドポイントは、前記第２のエンドポイントから前記リレーサーバ経由で前記複数のエンドポイントへ送信される情報の逆多重化を行うコンポーネントによって前記リレーサーバに接続されることを特徴とする請求項９に記載の方法。
【請求項１１】
第１のエンドポイントと第２のエンドポイントの間の通信をサポートするリレーサーバによって割り当てられるポート数を削減する方法であって、
前記第２のエンドポイントにおいて前記リレーサーバの割当ポートの指示を受信することと、
前記第２のエンドポイントにおいて、各情報ストリームがソース識別子を有する複数の情報ストリームを提供することと、
前記第２のエンドポイントから前記割当ポート経由で前記第１のエンドポイントへ前記複数の情報ストリームを送信することとを備え、
前記第１のエンドポイントは、情報ストリームの前記ソース識別子を使用して割当ポート経由で送信された情報を逆多重化することを特徴とする方法。
【請求項１２】
前記割当ポートの指示は、前記第１のエンドポイントから受信されることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記第２のエンドポイントへ情報を送信する際に前記第１のエンドポイントによる使用のために前記リレーサーバによって割り当てられるポートを有する前記第２のエンドポイントの試行が不成功となることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記試行は、前記第２のエンドポイントから前記リレーサーバへ送信される、ポートを割り当てる要求がセキュリティシステムによって前記リレーサーバから遮断されるために不成功となることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記リレーサーバは、ＴＵＲＮサーバであることを特徴とする請求項１１に記載の方法。
【請求項１６】
前記第２のエンドポイントは、前記双方向コネクション上にメッセージを多重化することによって、前記第１のエンドポイントへ相異なるストリームのメッセージを送信することを特徴とする請求項１１に記載の方法。
【請求項１７】
複数の第１のエンドポイントと、第２のエンドポイントとの間にコネクションを提供する通信システムであって、
情報を受信するための既知ポートを提供し、要求された時にポートを割り当てるリレーサーバと、
前記第１のエンドポイントのそれぞれに接続し、前記リレーサーバにポートの割当を要求し、前記第２のエンドポイントに前記割当ポートの指示を提供し、前記第１のエンドポイントから前記第２のエンドポイントへの情報を前記コネクション経由で受信し、前記情報を前記リレーサーバへ転送し、前記割当ポート経由で前記リレーサーバへ送信された前記第２のエンドポイントから様々な第１のエンドポイントへの情報を受信し、前記情報を目的の第１のエンドポイントに提供する逆多重化コンポーネントと
を備えたことを特徴とする通信システム。
【請求項１８】
前記第２のエンドポイントは、複数の情報ストリームを前記割当ポート経由で１つの第１のエンドポイントへ送信することを特徴とする請求項１７に記載の通信システム。
【請求項１９】
前記第１のエンドポイントは、前記複数の情報ストリームを受信すると、前記情報ストリームを逆多重化することを特徴とする請求項１８に記載の通信システム。
【請求項２０】
エンドポイント間のコネクションを提供する通信システムであって、
情報を受信するための既知ポートを提供し、要求された時にポートを割り当てるリレーサーバと、
前記リレーサーバの前記既知ポートへのアクセスを許可するが、割当られるポートへのアクセスを許可しない第１のファイヤウォールと、
エンドポイントが前記既知ポートにアクセスして割当られるポートにアクセス可能なエンドポイントとの会議を開始することができるように、前記リレーサーバの割当られるポートへのアクセスを許可するが、前記既知ポートへのアクセスを許可しない第２のファイヤウォールと
を備えたことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ある特定のプロトコルを用いた通信を遮断するネットワークアドレストランスレータを通じて接続を提供することに関する。
【背景技術】
【０００２】
多くのネットワークが、ネットワークアドレストランスレータ（ＮＡＴ）を通じて、インターネット等の他のネットワークに接続している。ＮＡＴは、内部ネットワークによって使用されるインターネットプロトコル（ＩＰ）アドレスと、外部ネットワークによって使用されるＩＰアドレスとの間でマッピングを行う。ＮＡＴは当初、ＩＰアドレスの３２ビットの限界を克服するために開発された。内部ネットワークは、外部ネットワークへのアクセスを必要とする数千台のコンピュータを有することもある。世界の各コンピュータ（例えばＰＤＡや携帯電話）が固有のＩＰアドレスを持つとすれば、すべてのコンピュータを一意的にアドレス指定するためには３２ビットよりも多くのビット数が必要となるであろう。内部ネットワークはＮＡＴを用いることにより外部ネットワークに単一の外部ＩＰアドレスを提供し、内部ネットワークの各コンピュータに対して内部ＩＰアドレスを提供することができる。すべての外部コンピュータは、内部ネットワークの外部ＩＰアドレスを通じて内部ネットワークと通信することになる。内部コンピュータがＮＡＴ経由で外部コンピュータへ情報を送信する時、ＮＡＴはその内部コンピュータに対し外部ポートを割り当て、外部ポートと内部コンピュータの間のマッピングを維持管理する。そして、ＮＡＴは、その外部ポートから宛先の外部コンピュータシステムへ情報を転送する。ＮＡＴは、その外部ポートでその情報に対する応答を受信すると、上記マッピングを用いることにより内部コンピュータを識別して、応答をその内部コンピュータに転送する。
【０００３】
一般にＮＡＴは、外部ネットワークから入って来る不審なプロトコルを用いた通信を制限するファイヤウォール等のデバイス（装置）の一部として実装される。特に、内部ネットワークから開始された通信に対する応答でない、こうした不審なプロトコルを用いた外部ネットワークからの通信が、ＮＡＴによって遮断される。不審なプロトコルは通常、ＴＣＰおよびＵＤＰを含む。ところが、２台のコンピュータが両方とも、このような通信を遮断する固有のＮＡＴを有する場合に問題が生じる。ＮＡＴは応答でない通信（非応答通信）を遮断するので、一方のコンピュータによって送信されるすべての情報がＮＡＴによって遮断されてしまう。したがって、両方のコンピュータが、不審なプロトコルを用いた非応答通信を遮断するＮＡＴを有する場合、内部コンピュータと、不審なプロトコルを用いた外部コンピュータとの間で通信は可能ではない。
【０００４】
ＮＡＴの限界を克服するために提案されている１つの解決法として、ＩＥＴＦ（Internet Engineering Task Force）のＲＦＣ２０２６によって規定されているＴＵＲＮ（Traversal Using Relay NAT）プロトコルがある。ＴＵＲＮプロトコルによって提供される手段によれば、内部コンピュータはトランスポートアドレス（例えばＩＰアドレスおよびポート）を取得でき、公衆インターネットへパケットを送信可能な任意のコンピュータから、このトランスポートアドレスを通じて情報を受信することができる。ＴＵＲＮプロトコルは、公衆インターネットを通じてアクセス可能なリレーサーバ経由で通信をリレー（中継）することによってこれを実現する。
【０００５】
図１は、ＴＵＲＮプロトコルを例示するブロック図である。本例において、クライアントコンピュータ１１０は、リレーサーバ１５０経由でクライアントコンピュータ１２０と通信する。クライアントコンピュータ１１０はＩＰアドレス１を有し、あるＮＡＴ（図示せず）の内側にある。クライアントコンピュータ１２０はＩＰアドレス２を有し、同じくあるＮＡＴ（図示せず）の内側にある。クライアントコンピュータ１１０が、不審なプロトコルを用いてクライアントコンピュータ１２０とのコネクションを確立するには、まず自己のポート１からリレーサーバのウェルノウンポート（ＷＫＰ、既知ポート）へ、ポート割当要求を送信する（１）。リレーサーバはポート１を割り当て、要求側クライアントのトランスポートアドレス（すなわちＩＰアドレス１、ポート１）と割当ポート（すなわちポート２）との間のマッピングを作成する（２）。次に、リレーサーバは、割当ポート番号をクライアントコンピュータ１１０へ送信する（３）。クライアントコンピュータ１１０は、割当ポート番号を受信すると、クライアントコンピュータ１２０が情報を受信できるプロトコルを用いて、リレーサーバのＩＰアドレスおよび割当ポート番号をクライアントコンピュータ１２０へ転送する（４）。例えば、クライアントコンピュータ１２０はセッション開始プロトコル（ＳＩＰ）を用いて情報を受信できる場合がある。クライアントコンピュータ１２０は、割当ポート番号を受信すると、クライアントコンピュータ１１０と、リレーサーバのＩＰアドレスおよび割当ポート１との間のマッピングを作成する（５）。次に、クライアントコンピュータ１２０は、リレーサーバのポート１へ情報を送信する（６）。リレーサーバは、この情報を受信すると、クライアントコンピュータ１２０のトランスポートアドレス（すなわちＩＰアドレス２、ポート１）を、割当ポート１にマッピングするように、自己のマッピングを更新する（７）。次に、リレーサーバは、マッピングが示すところに従って、ＩＰアドレス１、ポート１へ情報を転送する（８）。クライアントコンピュータ１２０は、同様にして、クライアントコンピュータ１１０とのコネクションを確立できる。リレーサーバは、コネクションにポート２を割り当て、割当ポート２で受信される情報がクライアントコンピュータ１２０（すなわちＩＰアドレス２、ポート１）へ転送されるべきことを指示するように、割当ポート２からのマッピングを作成することができる（９）。その場合、クライアントコンピュータ１１０は、リレーサーバのポート２経由でクライアントコンピュータ１２０へ情報を送信し、クライアントコンピュータ１２０は、リレーサーバのポート１経由でクライアントコンピュータ１１０へ情報を送信する。こうして、それぞれのクライアントコンピュータの対の間で２つのコネクションが確立され、各コネクションは一方向的に使用される。
【０００６】
ＴＵＲＮリレーサーバの使用に伴う１つの難点として、リレーサーバで多数のポートを割り当てる必要がある、ということがある。図１の例では、クライアントコンピュータ１１０がクライアントコンピュータ１２０へ情報を送信できるように１つのポートが割り当てられ、クライアントコンピュータ１２０がクライアントコンピュータ１１０へ情報を送信できるようにもう１つのポートが割り当てられている。こうして、リレーサーバは、２つのポートを割り当て、それぞれのコンピュータの対ごとに２つの一方向コネクションを作成する。クライアントコンピュータが複数のストリーム（例えばビデオおよびオーディオ）を送信する必要がある場合、リレーサーバは、各ストリームごとに２つのポートを、したがって２つのコネクションを割り当てることになる。さらに、２個よりも多くのクライアントコンピュータを含む会議の場合、あるクライアントコンピュータと、他のそれぞれのクライアントコンピュータとの間に、各ストリームごとにコネクションを確立する必要がある。例えば、３個のクライアントコンピュータがオーディオおよびビデオのマルチメディア会議を行おうとする場合、各クライアントコンピュータがリレーサーバ経由で他のそれぞれのクライアントコンピュータと２個のコネクションを確立する。これらのコネクションを確立するため、リレーサーバは各クライアントコンピュータシステムごとに４個のポートを割り当て、割当ポートの合計は１２個となる。図２は、三者会議の場合のポートの割当を例示している。クライアントコンピュータ２１０、２２０、および２３０はリレーサーバ２５０を通じてコネクションを確立している。丸印は割当ポートを示す。リレーサーバは、各割当ポートと、そのポート経由で接続されるソースおよび宛先のエンドポイント（例えばコンピュータシステム）との間のマッピングを維持管理する。各メディアストリームの情報を制御するために別々のコネクションが必要とされる場合、割当ポート数は倍加される。したがって、会議に含まれるメディアストリーム数が２で参加者数が３の場合、リレーサーバは２４個のポートを割り当てることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
コンピュータシステムに対する攻撃のリスクは、割当ポート数の増加とともに増大する。必要なデータストレージおよび処理能力もまた、割当ポート数の増加とともに増大する。多者会議のためにリレーサーバが割り当てる必要のあるポート数を削減するための技法があれば望ましい。
【課題を解決するための手段】
【０００８】
リレーサーバによって割り当てられるポート数を削減する方法およびシステムが提供される。接続システムが、双方向技法を用いて、２つのエンドポイント（例えばクライアントコンピュータ）間にリレーサーバ経由でコネクションを確立する。このコネクションを双方向的に用いることにより、第１のエンドポイントから第２のエンドポイントへストリームを送信すること、および第２のエンドポイントから第１のエンドポイントへストリームを送信することができる。また、接続システムは、ストリーム多重化技法を用いることにより、単一のコネクション上に複数のストリームを多重化することで、リレーサーバによって割り当てられるポート数をさらに削減することもできる。また、接続システムは、エンドポイント多重化技法を用いることにより、リレーサーバ経由で単一のコネクションを通る相異なるエンドポイントからのストリームを多重化することで、リレーサーバによって割り当てられるポート数を削減することもできる。また、接続システムは、これらの技法の種々の組合せを用いることにより、割当ポート数をさらに削減することもできる。
【発明を実施するための最良の形態】
【０００９】
リレーサーバによって割り当てられるポート数を削減する方法およびシステムが提供される。一実施形態において、接続システムが、双方向技法を用いて、２つのエンドポイント（例えばクライアントコンピュータ）間にリレーサーバ経由でコネクションを確立する。このコネクションを双方向的に用いることにより、第１のエンドポイントから第２のエンドポイントへストリームを送信すること、および第２のエンドポイントから第１のエンドポイントへストリームを送信することができる。接続システムはただ１つの双方向コネクションを確立するだけなので、リレーサーバはストリームの対ごとに１つのポートを割り当てるだけであり、これにより、割り当てる必要のあるポート数が５０％まで削減される。双方向コネクションを確立するため、第１のエンドポイントがリレーサーバにポートの割当を要求する。第１のエンドポイントは、リレーサーバのウェルノウンポートに要求を送信することができる。リレーサーバは、この要求を受信すると、ポートを割り当て、割当ポートと第１のエンドポイントとの間のマッピングを作成する。そして、リレーサーバは、割当ポート番号を第１のエンドポイントへ送信する。第１のエンドポイントは、通信相手となる第２のエンドポイントへその割当ポート番号を送信する。第１のエンドポイントは、セッション開始プロトコル（ＳＩＰ）のような、ＮＡＴを通過できるプロトコルを用いて割当ポート番号を送信することができる。第２のエンドポイントは、割当ポート番号を受信すると、リレーサーバの割当ポートに情報を送信する。リレーサーバは、割当ポートで第２のエンドポイントから情報を受信すると、割当ポートと第２のエンドポイントとの間のマッピングを作成する。こうして、リレーサーバは、第１のエンドポイントおよび第２のエンドポイントの両方と割当ポートとの間のマッピングを作成する。しかし、接続システムは、第２のエンドポイントが第２のポートの割当を要求した時に、それがリレーサーバによって割り当てられないようにする。接続システムは、さまざまな方法でこの割当を阻止することができる。例えば、接続システムは、リレーサーバのウェルノウンポートと第２のエンドポイントとの間にファイヤウォールを挿入してもよい。第２のエンドポイントが、リレーサーバのウェルノウンポートへポート割当要求を送信すると、ファイヤウォールがこの要求を阻止し、リレーサーバがポートを割り当てないようにする。第１のエンドポイントが第２のエンドポイントと通信しようとする場合、第１のエンドポイントは、第２のエンドポイントと通信可能なポートを識別する。この場合、第１のエンドポイントは、リレーサーバのウェルノウンポート経由で第２のエンドポイントから情報を受信しているため、そのウェルノウンポート経由で第２のエンドポイントと通信することができる。リレーサーバは第２のエンドポイントから割当要求を受信していないので、ポートを割り当てておらず、第１のエンドポイントはリレーサーバの割当ポート経由では第２のエンドポイントと通信することができない。そこで第１のエンドポイントは、識別されたポート経由で情報を送信しようとする。この場合、第１のエンドポイントは、リレーサーバのウェルノウンポート経由で第２のエンドポイントへ情報を送信しようとする。リレーサーバは、その情報を受信すると、第１のエンドポイントのポートを使用して、割当ポートへのマッピングに基づいて、第２のエンドポイントのポート番号を取得する。そして、リレーサーバは、第２のエンドポイントのポートへ情報を転送する。このようにして、リレーサーバは、双方向的に使用可能な単一のポートを割り当てる。
【００１０】
一実施形態において、接続システムは、ストリーム多重化技法を用いることにより、単一のコネクション上に複数のストリームを多重化することで、リレーサーバによって割り当てられるポート数をさらに削減することができる。例えば、第１のエンドポイントが第２のエンドポイントへビデオおよびオーディオのストリームを送信したい場合、第１のエンドポイントはリレーサーバ経由で第２のエンドポイントとの一方向または双方向コネクションを確立することができる。その場合、第１のエンドポイントは、コネクション上にビデオおよびオーディオのストリームを多重化することができる。リレーサーバは、そのコネクション経由で受信するストリームの情報（例えばパケット）を第２のエンドポイントへ転送する。ストリームの各情報は、リアルタイムプロトコル（ＲＴＰ）の同期ソース（ＳＳＲＣ）識別子のような、そのストリームの一意識別子を含み得る。第２のエンドポイントは、多重化ストリームの情報を受信すると、その一意識別子を用いてストリームを逆多重化し、逆多重化した情報を適宜転送することができる。このようにして、リレーサーバは、各エンドポイントごとに、会議における他のそれぞれのエンドポイントについて１ポートを割り当てればよい。例えば、三者会議では、リレーサーバは６個のポート（すなわち各エンドポイントごとに２ポート）を割り当て、四者会議では、リレーサーバは１２個のポート（すなわち各エンドポイントごとに３ポート）を割り当てる。ストリーム多重化技法を双方向技法とともに用いる場合、リレーサーバは、エンドポイントのそれぞれの対ごとに１個のポートを割り当てればよい（すなわち、三者会議の場合には３ポート、四者会議の場合には６ポート）。
【００１１】
一実施形態において、接続システムは、エンドポイント多重化技法を用いることにより、リレーサーバ経由で単一のコネクションを通る会議の相異なるエンドポイントからのストリームを多重化することで、リレーサーバによって割り当てられるポート数を削減することができる。接続システムは、リレーサーバとの間で複数のエンドポイントのストリームを多重化・逆多重化するマルチポイント制御ユニット（ＭＣＵ）のような多重化装置を提供する。多重化装置は、複数のローカルエンドポイントおよび複数のリモートエンドポイントとの会議を確立することを求める要求をローカルエンドポイントから受信することがある。その場合、多重化装置はリレーサーバに、各リモートエンドポイントごとに１ポートの割当を要求し、各リモートエンドポイントにそれぞれの割当ポートを通知する。各リモートエンドポイントは、その割当ポートへ情報を送信し、これはリレーサーバによって多重化装置へ転送される。リモートエンドポイントからその割当ポートで情報が受信されると、リレーサーバは、自己のマッピングを用いて多重化装置のポートを識別する。そして、リレーサーバは多重化装置へ情報を転送する。多重化装置は、ＳＳＲＣ識別子とローカルエンドポイントの間のマッピングを維持管理する。多重化装置は、情報のＳＳＲＣ識別子を用いて宛先ローカルエンドポイントを識別することができ、そのローカルエンドポイントへ情報を転送する。ローカルエンドポイントが複数のリモートエンドポイントのうちの１つへ情報を送信する場合、多重化装置はリレーサーバへその情報を転送する。リレーサーバは、自己のマッピングに基づいて宛先エンドポイントを識別し、そのエンドポイントへ情報を転送する。多重化装置は、企業の全エンドポイント（例えばローカルエリアネットワークあるいはドメイン）に対し、多重化・逆多重化機能を提供できる。接続システムが各エンドポイントにおいて双方向技法、ストリーム多重化技法、およびエンドポイント多重化技法を組み合わせて使用する場合、リレーサーバは各エンドポイントごとに１ポートを割り当てればよい。当業者には理解されるように、接続システムは、双方向技法、ストリーム多重化技法、およびエンドポイント多重化技法のさまざまな組合せを使用できる。特に、接続システムは、これらの技法の任意の組合せを使用できる。例えば、接続システムは双方向技法およびエンドポイント多重化技法を使用してもよく、また別の接続システムではストリーム多重化技法のみを使用してもよい。
【００１２】
一実施形態において、接続システムは、ローカルエンドポイントにリレーサーバに要求させて要求させてポートを割当てるのではなく、リモートエンドポイントがリレーサーバに要求してポートを割当て、割当ポートの識別をローカルエンドポイントへ送信できるようにする。ローカルエンドポイントの要求がリレーサーバによって受信されないようにするため、ファイヤウォールが、リレーサーバとローカルエンドポイントとの間に配置することができる。このファイヤウォールは、リレーサーバの割当可能ポートへのアクセスは許可するが、ウェルノウンポートへのアクセスは許可しない。リモートエンドポイントはウェルノウンポートにアクセスするだけでよいので、リレーサーバとリモートエンドポイントとの間のファイヤウォールによって、ウェルノウンポートへのアクセスのみが許可される。こうして、リレーサーバは、ローカルエンドポイントによるアクセスを制御するファイヤウォールと、リモートエンドポイントによるアクセスを制御する別のファイヤウォールとを有する。接続システムのこの構成において、リレーサーバは非武装地帯（ＤＭＺ）内にある。この構成では、接続システムは、任意数のリモートエンドポイントによるアクセスを許可するために、ファイヤウォールを通じてインターネットに対して、リレーサーバの１ポートを公開するだけでよい。
【００１３】
図３は、一実施形態において接続システムの双方向技法を例示するブロック図である。接続システムは、リレーサーバ３５０経由でエンドポイント３１０とエンドポイント３２０の間の双方向コネクションを確立する。エンドポイント３２０は、ファイヤウォール３６０を用いてリレーサーバのウェルノウンポートへのアクセスを阻止することによって、リレーサーバに対しポート割当を要求することが阻止される。エンドポイント３１０は、まずリレーサーバにポート割当を要求することによって、エンドポイント３２０とのコネクションを確立する。次に、エンドポイント３１０は、ＳＩＰ要求を用いて、割当ポート番号をエンドポイント３２０へ転送する。これで、エンドポイント３２０は、ファイヤウォールを通じてアクセス可能なリレーサーバの割当ポート経由で、エンドポイント３１０へ情報を送信することができる。エンドポイント３１０は、エンドポイント３２０へ情報を送信したい場合、エンドポイント３２０へ情報を送信できるポートを識別する。本例では、エンドポイント３１０は、エンドポイント３２０（すなわちＩＰアドレス２、ポート２）からのＳＩＰ応答と、リレーサーバのウェルノウンポート（すなわちＩＰアドレスＳＡ、ポートＷＫＰ）からの情報を受信している。そこで、エンドポイント３１０は、ＩＰアドレス２、ポート２へ情報を送信しようと試みるかもしれない。しかし、ＩＰアドレス２、ポート２が、例えばエンドポイント３２０に関連するＮＡＴのためにアクセス不能である場合、この試みは失敗する。すると、エンドポイント３１０は、リレーサーバのウェルノウンポート経由で情報を送信しようとする。リレーサーバは、この情報を受信すると、マッピングが示すところに従って、エンドポイント３２０（すなわちＩＰアドレス２、ポート１）へ情報を転送する。もし仮に、ＩＰアドレス２、ポート２がＮＡＴによって保護されていないとすると、最初の情報送信試行が成功し、リレーサーバ経由での情報送信は起こらない。エンドポイント３１０およびエンドポイント３２０が同じローカルエリアネットワークにあるとすると、それらの通信は、リレーサーバがポートを割り当てたとしても、リレーサーバ経由ではなくネットワーク内部のポート間で可能となる。接続システムは、以下の順序、すなわち、エンドポイントの内部ポート、リレーサーバによって割り当てられたポート、そしてリレーサーバのウェルノウンポートという順序で、ポートに対する試行を順序づけることができる。
【００１４】
図４は、一実施形態において双方向技法を用いた多者会議の場合のポートの割当を例示している。エンドポイント４１０、４２０、および４３０がリレーサーバ４５０経由で会議に接続される。本例では、リレーサーバは、各エンドポイントごとに、他のそれぞれのエンドポイントに対して各通信ストリーム当たり１ポート（丸印で示す）を割り当てている。会議は、各エンドポイントから送信されるビデオストリームおよびオーディオストリームを含む。接続システムは、エンドポイントのそれぞれの対の間に２つの双方向コネクションを確立し、リレーサーバは各エンドポイントごとに２個のポートを割り当てる。したがって、従来の一方向技法に比べて、双方向技法を用いる場合には、リレーサーバが割り当てるポート数は半数だけになる。
【００１５】
図５は、一実施形態において接続システムのストリーム多重化技法を例示するブロック図である。本実施形態では、ストリーム多重化技法を双方向技法と組み合わせて使用する。エンドポイント５１０、５２０、および５３０がリレーサーバ５５０経由で会議に接続される。各エンドポイントはストリーム多重化コンポーネント５１１、５２１、あるいは５３１を含む。ストリーム多重化コンポーネントは、複数のストリームを単一のコネクション上に多重化し、そのコネクションで受信した複数のストリームを逆多重化する。一実施形態では、ストリーム多重化コンポーネントはＳＳＲＣ識別子を用いてストリームの情報を識別する。ストリーム多重化技法を単独で用いる場合、接続システムは各エンドポイントごとに各方向につき１ポートのみを割り当てる。しかし、ストリーム多重化技法を双方向技法と組み合わせて使用する場合、リレーサーバは、各双方向コネクションごとに１ポートのみを割り当てる。したがって、リレーサーバは、三者会議では３ポート、四者会議では６ポートを割り当てることになる。
【００１６】
図６は、一実施形態において接続システムの双方向技法およびストリーム多重化技法の組合せを例示するブロック図である。本実施形態では、エンドポイント６１０、６２０、ならびに６３０Ａおよび６３０Ｂがリレーサーバ６５０経由で会議に接続される。エンドポイント６３０Ａおよびエンドポイント６３０Ｂはローカルエリアネットワーク経由で接続される。エンドポイント６３０Ａが、エンドポイント６３０Ｂとのコネクションのためのポートの割当をリレーサーバに要求すると、リレーサーバはポートを割り当て、エンドポイント６３０ＡはＳＩＰメッセージによりエンドポイント６３０Ｂに割当ポート番号を送信する。しかし、エンドポイント６３０Ａおよび６３０Ｂは、リレーサーバを通ることを必要とせずに、自己の内部ポート６３１Ａおよび６３１Ｂ経由で通信できることを検出する。さらに、エンドポイント６３０Ａは、リレーサーバにポート割当を要求する前であっても、エンドポイント６３０Ｂがローカルであることを検出するかもしれないので、ポート割当要求が発生しないようにすることができる。
【００１７】
図７Ａは、一実施形態において接続システムの双方向技法、ストリーム多重化技法、およびエンドポイント多重化技法の組合せを例示するブロック図である。本実施形態では、リモートエンドポイント７１０および７２０ならびにローカルエンドポイント７３０Ａおよび７３０Ｂがリレーサーバ７５０経由で会議に接続される。エンドポイント７３０Ａおよび７３０Ｂはローカルエリアネットワーク経由で相互に接続され、マルチポイント会議ユニット７３０経由でリレーサーバに接続される。エンドポイント７３０Ａは、マルチポイント制御ユニットへ、会議に含まれるべきエンドポイントを識別する要求を送信することによって、会議を開始することができる。すると、マルチポイント制御ユニットは、リレーサーバがエンドポイント７１０および７２０に対しポートを割り当てることを要求する。そして、マルチポイント制御ユニットは、その割当ポートの指示をエンドポイント７１０および７２０へ転送する。エンドポイント７１０および７２０は、それらの割当ポート経由で情報を送信することによって会議に参加する。リレーサーバは、リモートエンドポイントからその割当ポートで受信した各情報をマルチポイント制御ユニットへ転送する。マルチポイント制御ユニットは、リモートエンドポイントからの情報を受信すると、その情報を逆多重化してエンドポイント７３０Ａまたは７３０Ｂへ転送する。マルチポイント制御ユニットは、その情報を逆多重化するためにＳＳＲＣ識別子を用いることができる。各エンドポイントもまた、ストリーム逆多重化を実行するためにＳＳＲＣ識別子を用いることができる。この構成において、接続システムは、各ローカルエンドポイントに対して各リモートエンドポイントごとに別々のポートを割り当てる必要はなく、マルチポイント制御ユニットに対して各リモートエンドポイントごとに１ポートを割り当てればよい。
【００１８】
図７Ｂは、一実施形態においてリモートエンドポイントによって要求されるポートの割当を例示するブロック図である。リモートエンドポイント７６０および７７０ならびにローカルエンドポイント７８０がリレーサーバ７９０経由で会議に接続される。リレーサーバはファイヤウォール７９５と７９６の間の非武装地帯（ＤＭＺ）にある。ファイヤウォール７９５は、リレーサーバのウェルノウンポートをリモートエンドポイントに公開すればよい。ファイヤウォール７９６は、ローカルエンドポイントに対して、リレーサーバの割当可能ポートを公開し、リレーサーバのウェルノウンポートは公開しない。リモートエンドポイントは、ポート割当をリレーサーバに要求した後、ローカルエンドポイントへ割当ポートの指示を送信することによって、会議を開始する。ローカルエンドポイントがポート割当要求をリレーサーバに送信した場合、ファイヤウォール７９６がその要求を遮断するのでポートの割当はされない。リモートエンドポイントはウェルノウンポート経由で情報を送信し、ローカルエンドポイントは割当ポート経由で情報を送信する。
【００１９】
接続システムが実装されるコンピューティング装置は、中央処理装置、メモリ、入力装置（例えばキーボードおよびポインティングデバイス）、出力装置（例えばディスプレイ装置）、およびストレージ装置（例えばディスクドライブ）を含み得る。メモリおよびストレージ装置は、接続システムを実装する命令を含み得るコンピュータ可読媒体である。また、データ構造およびメッセージ構造が、通信リンク上の信号のようなデータ伝送媒体により記憶または伝送され得る。インターネット、ローカルエリアネットワーク、広域ネットワーク、ポイントツーポイント型のダイヤルアップコネクション、携帯電話ネットワーク等のような種々の通信リンクが使用可能である。
【００２０】
接続システムの実施形態は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサ方式のシステム、プログラム可能な民生用電子機器、ディジタルカメラ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムの任意のものを含む分散コンピューティング環境等を含むさまざまなオペレーティング環境で実施され得る。コンピュータシステムは、携帯電話、携帯情報端末（ＰＤＡ）、スマートフォン、パーソナルコンピュータ、プログラム可能な民生用電子機器、ディジタルカメラ等とすることができる。
【００２１】
接続システムについては、１つまたは複数のコンピュータあるいは他のデバイスによって実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的関連で説明することができる。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。通常、プログラムモジュールの機能は、種々の実施形態における必要に応じて組み合わせたり、分散させたりすることができる。
【００２２】
図８は、一実施形態において他のエンドポイントからの情報が受信されるポートを追跡する接続システムのコンポーネントを例示する流れ図である。本コンポーネントは、情報が受信された時に呼び出され、その情報のソースの指示と、情報が受信されたＩＰアドレスおよびポート番号とが渡される。本コンポーネントは、ソースと通信するために使用可能なＩＰアドレスおよびポート番号のリストに対応させて各ソース識別子を維持管理する。このリストは、ソースと通信するために好ましい方法に従って順序づけられる。判断ブロック８０１で、ＩＰアドレスが、ソースエンドポイントが自エンドポイントと同じドメイン内にあることを示している場合、本コンポーネントはブロック８０２に進んでＩＰアドレスおよびポート番号をリストの先頭に追加し、そうでない場合、本コンポーネントはブロック８０３に進む。判断ブロック８０３で、ＩＰアドレスおよびポート番号により、当該ポートがリレーサーバの割当ポートであることが示されている場合、本コンポーネントはブロック８０４に進んでＩＰアドレスおよびポート番号をリストの中央に追加し、そうでない場合、本コンポーネントはブロック８０５に進む。判断ブロック８０５で、ＩＰアドレスおよびポート番号により、当該ポートがリレーサーバのウェルノウンポートであることが示されている場合、本コンポーネントはＩＰアドレスおよびポート番号をリストの末尾に追加する。こうして本コンポーネントは完了する。ＩＰアドレスおよびポート番号の順序づけは、事実上、優先順位の高いほうから、同一ドメイン内のポート、次いでリレーサーバの割当ポート、次いでリレーサーバのウェルノウンポートとなる。
【００２３】
図９は、一実施形態においてエンドポイントと通信するためのポートを探索する接続システムのコンポーネントを例示する流れ図である。本コンポーネントには、エンドポイントの指示が渡される。すると、本コンポーネントは、通信が成功するまで、そのエンドポイントに対するリスト内の各ＩＰアドレスおよびポート番号を通じて通信を試みる。ブロック９０１で、本コンポーネントは、渡されたエンドポイントに対するリストの次のエントリを選択する。判断ブロック９０２で、すべてのエントリが既に選択済みである場合、本コンポーネントは、エンドポイントが既知のポート経由ではアクセスできないことの指示を返し、そうでない場合、本コンポーネントはブロック９０３に進む。ブロック９０３で、本コンポーネントは、選択されたエントリのＩＰアドレスおよびポート番号へメッセージを送信する。判断ブロック９０４で、本コンポーネントが送信に成功した場合、本コンポーネントはＩＰアドレスおよびポート番号を返し、そうでない場合、本コンポーネントはブロック９０１にループしてリストの次のエントリを選択する。
【００２４】
以上の説明から理解されるように、本明細書において、接続システムの具体的実施形態を例示の目的で説明したが、本発明の精神および範囲から逸脱することなくさまざまな変更を行うことができる。当業者には理解されるように、エンドポイント多重化技法の機能は、別個のマルチポイント制御ユニットあるいはその他のアプリケーションレベルのリレーではなくリレーサーバ上に実装してもよい。したがって、本発明は、添付の特許請求の範囲による以外には限定を受けない。
【図面の簡単な説明】
【００２５】
【図１】ＴＵＲＮプロトコルを例示するブロック図である。
【図２】三者会議の場合のポートの割当を例示する図である。
【図３】一実施形態において接続システムの双方向技法を例示するブロック図である。
【図４】一実施形態において双方向技法を用いた多者会議の場合のポートの割当を例示する図である。
【図５】一実施形態において接続システムのストリーム多重化技法を例示するブロック図である。
【図６】一実施形態において接続システムの双方向技法およびストリーム多重化技法の組合せを例示するブロック図である。
【図７Ａ】一実施形態において接続システムの双方向技法、ストリーム多重化技法、およびエンドポイント多重化技法の組合せを例示するブロック図である。
【図７Ｂ】一実施形態においてリモートエンドポイントによって要求されるポートの割当を例示するブロック図である。
【図８】一実施形態において他のエンドポイントからの情報が受信されるポートを追跡する接続システムのコンポーネントを例示する流れ図である。
【図９】一実施形態においてエンドポイントと通信するためのポートを探索する接続システムのコンポーネントを例示する流れ図である。
【符号の説明】
【００２６】
１１０，１２０，２１０，２２０，２３０，３１０，３２０，４１０，４２０，４３０５１０，５２０，５３０，６１０，６２０，６３０Ａ，６３０Ｂ，７１０，７２０，７３０，７３０Ａ，７３０Ｂ，７６０，７７０，７８０  エンドポイント
１５０，２５０，３５０，４５０，５５０，６５０，７５０，７９０  リレーサーバ
３６０，７９５，７９６  ファイヤウォール
５１１，５２１，５３１，７６１，７７１  ストリーム多重
６３１Ａ，６３１Ｂ  内部ポート
【図１】
2006262466.tif 000003
【図２】
2006262466.tif 000004
【図３】
2006262466.tif 000005
【図４】
2006262466.tif 000006
【図５】
2006262466.tif 000007
【図６】
2006262466.tif 000008
【図７Ａ】
2006262466.tif 000009
【図７Ｂ】
2006262466.tif 000010
【図８】
2006262466.tif 000011
【図９】
2006262466.tif 000012