(57)【要約】  中継サーバー間の通信を管理するための技法について記載する。システムは、拡張中継制御モジュールをそれぞれが備える複数の中継サーバーを含むことができる。拡張中継制御モジュールは、第１の中継サーバーおよび第２の中継サーバーを介して通信するプライベートクライアント間の通信を管理するように機能することができる。拡張中継制御モジュールは、第１の中継サーバーまたは第２の中継サーバーのうちの少なくとも一方のポート範囲属性がオフにされている場合、第１の中継サーバーの制御ポートと第２の中継サーバーの制御ポートとの間にメディアチャネルを確立することができる。他の実施形態についても説明し、特許請求の範囲に記載する。
2011525776.tif 000002
【特許請求の範囲】
【請求項１】
第１のプライベートネットワーク（１３０）上の第１のプライベートクライアント（１３２−１）からの第１の送信要求を、第１の中継サーバー（１２４）によって受信するステップ（２０２）であって、第２のプライベートネットワーク（１３０ａ）上の第２のプライベートクライアント（１３２−１ａ）にメディア情報を送信するための前記第１の送信要求は、第２の中継サーバー（１２４ａ）を使用する、ステップと、
前記第１の中継サーバーのポート範囲属性がオフに設定されていることを判定するステップ（２０４）と、
前記第１の中継サーバーの第１の制御ポートおよび前記第２の中継サーバーの第２の制御ポートを使用し、前記第１の中継サーバーおよび前記第２の中継サーバーを介し、前記第１のプライベートクライアントと前記第２のプライベートクライアントとの間にメディアチャネルを確立するステップ（２０６）と
を含むことを特徴とする方法。
【請求項２】
前記第１の中継サーバーにより、第１のパブリックトランスポートアドレスおよび第１の送信元ポートを、前記第１のプライベートクライアントに割り当てるステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のプライベートクライアントから、前記第２のプライベートクライアントの第２のパブリックトランスポートアドレスおよび第２の送信元ポートを伴う宛先アドレス属性を有する送信要求を、前記第１の中継サーバーによって受信するステップを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記第１の中継サーバーと前記第２の中継サーバーとの間のチャネルセッションのための、アクセス許可を設定するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記第１のパブリックトランスポートアドレスおよび前記第１の中継サーバーの前記第１の制御ポートとしての送信元アドレス、ならびに前記第２のパブリックトランスポートアドレスおよび前記第２の中継サーバーの第２の制御ポートとしての宛先アドレス、を有する第１のデータグラムを送信するステップを含むことを特徴とする請求項４に記載の方法。
【請求項６】
チャネル番号（４０２）、長さ（４０４）、前記第１の送信元ポートとしての送信元ポート（４０６）、および前記第２の送信元ポートとしての宛先ポート（４０８）を有する、第１のチャネルフレームメッセージ（４００）を伴う前記第１のデータグラムを送信するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記第２のパブリックトランスポートアドレスおよび前記第２の中継サーバーの前記第２の制御ポートとしての送信元アドレス、ならびに前記第１のパブリックトランスポートアドレスおよび前記第１の中継サーバーの前記第１の制御ポートとしての宛先アドレス、を有する第２のデータグラムを受信するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記チャネル番号、長さ、前記第２の送信元ポートとしての送信元ポート、前記第１の送信元ポートとしての宛先ポート、およびメディア情報としてのデータペイロードを有する、第２のチャネルフレームメッセージを伴う第２のデータグラムを受信するステップを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記第２のチャネルフレームメッセージが、前記第１の中継サーバーと前記第２の中継サーバーとの間の、前記チャネルセッションのためのアクセス許可を有するかどうかを判定するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記第２のチャネルフレームメッセージの前記データペイロードからの前記メディア情報を有するデータ指示メッセージを、前記第１のプライベートクライアントに送信するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
第１の中継サーバーおよび第２の中継サーバー（１２４ａ）を介して通信するプライベートクライアント（１３２）間の通信を管理するように機能する拡張中継制御モジュール（１６０）を有する第１の中継サーバー（１２４）であって、前記拡張中継制御モジュールは、前記第１の中継サーバーまたは前記第２の中継サーバーのうちの少なくとも一方のポート範囲属性がオフにされている場合、前記第１の中継サーバーの制御ポートと前記第２の中継サーバーの制御ポートとの間にメディアチャネルを確立する、第１の中継サーバー（１２４）
を備えることを特徴とするシステム。
【請求項１２】
ユーザーデータグラムプロトコルまたは伝送制御プロトコルを含むネットワークトランスポートを使用し、前記メディアチャネルを介してメディア情報を伝達するように機能する前記拡張中継制御モジュールを備えることを特徴とする請求項１１に記載のシステム。
【請求項１３】
第１のネットワークアドレス変換器（１２８）に通信可能に結合される第１のプライベートクライアント（１３２−１）を含み、前記第１のネットワークアドレス変換器は前記第１の中継サーバーに通信可能に結合され、前記拡張中継制御モジュールは、第１のエンドポイントとしての前記第１のプライベートクライアントと前記メディアチャネルを確立し、かつ前記第１のネットワークアドレス変換器および前記第１の中継サーバーをトラバースするための前記メディアチャネルを確立するように機能することを特徴とする請求項１１または請求項１２に記載のシステム。
【請求項１４】
第２のネットワークアドレス変換器（１２８ａ）に通信可能に結合される第２のプライベートクライアント（１３２−１ａ）を含み、前記第２のネットワークアドレス変換器は前記第２の中継サーバーに通信可能に結合され、前記拡張中継制御モジュールは、第２のエンドポイントとしての前記第２のプライベートクライアントと前記メディアチャネルを確立し、かつ前記第２のネットワークアドレス変換器および前記第２の中継サーバーをトラバースするための前記メディアチャネルを確立するように機能することを特徴とする請求項１１乃至１３のいずれかに記載のシステム。
【請求項１５】
実行されるとき、請求項１乃至１０のいずれか一項に記載の前記方法をシステムが実施できるようにする命令を含む、機械またはコンピューター可読記憶媒体を含むことを特徴とする製品。
【発明の詳細な説明】
【技術分野】
【０００１】
ＮＡＴ（ネットワークアドレス変換）とは、ネットワークパケットがルーターまたはファイアウォールを通過するとき、それらのネットワークパケットの送信元アドレスおよび／または宛先アドレスを書き換えることを伴う技法を指す。ＮＡＴ対応ルーターなどのＮＡＴデバイスは、プライベートネットワーク上の複数のホストが、ＩＰ（インターネットプロトコル）アドレスなどの単一の公衆ネットワークアドレスを使用し、インターネットなどの公衆ネットワークにアクセスすることを可能にする。しかし、ＮＡＴデバイスは、プライベートネットワーク上のデバイスと、公衆ネットワーク上または別のプライベートネットワーク上のデバイスとの間の接続性を提供することを困難にすることがある。
【背景技術】
【０００２】
エンドツーエンドの接続性の問題を補うため、パブリッククライアントがＮＡＴデバイスをトラバースできるようにするために特定のプロトコルが開発されてきた。そのようなプロトコルの１つが、ＳＴＵＮ（Ｓｅｓｓｉｏｎ  Ｔｒａｖｅｒｓａｌ  Ｕｔｉｌｉｔｉｅｓ  ｆｏｒ  ＮＡＴ）プロトコルである。ＳＴＵＮプロトコルは、ピアからパケットを受信するために有用であり得るトランスポートアドレスを、パブリッククライアントが得ることを可能にする。しかし、ＳＴＵＮによって得られるアドレスを、すべてのピアが使用できるわけではない場合がある。ＳＴＵＮアドレスは、ネットワークのトポロジ状態によっては機能しない可能性がある。ＳＴＵＮプロトコルを増強しまたは拡張するために、公的アクセス可能な中継サーバーを実装し、パブリックピアおよびプライベートピアを含む、パブリックインターネットにパケットを送信可能な任意のピア間で、メディア情報のパケットを中継することができる。ＴＵＲＮ（Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙ  ＮＡＴ）プロトコルは、クライアントがそうした中継サーバーからＩＰアドレスおよびポートを得ることができるように設計された１つのプロトコルである。ただし、複数の中継サーバー間で通信する場合、ＴＵＲＮプロトコルは、中継サーバーのパブリックサイドにある範囲のポートを開くことを必要とする。このことは、高いセキュリティ上の危険を引き起こす可能性がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ  ａｒｏｕｎｄ  ＮＡＴ（ＴＵＲＮ）：Ｒｅｌａｙ  Ｅｘｔｅｎｓｉｏｎｓ  ｔｏ  Ｓｅｓｓｉｏｎ  Ｔｒａｖｅｒｓａｌ  Ｕｔｉｌｉｔｉｅｓ  ｆｏｒ  ＮＡＴ（ＳＴＵＮ）”，Ｊｕｌｙ  ８，２００７
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、プライベートクライアントが複数の中継サーバーを介してメディア情報を伝達し、それに関し、様々なＮＡＴデバイスを実装する複数のネットワークにわたる接続性を改善するための技法改善の必要性があり得る。
【課題を解決するための手段】
【０００５】
様々な実施形態は、概して中継サーバー間の通信を管理するための技法を対象とすることができる。一部の実施形態は、とりわけ公衆ネットワークおよびプライベートネットワークの両方を含む異種通信システム内の複数の中継サーバーを介し、プライベートクライアント間にメディアチャネルを確立するための技法を対象とすることができる。一実施形態において、中継サーバーは、様々なパブリッククライアントおよびプライベートクライアントによるＮＡＴトラバーサルを可能にするための、ＳＴＵＮサーバーおよび／またはＴＵＲＮサーバーとして実装することができる。
【０００６】
例えば、一実施形態において、通信システムは、数ある要素の中で特に、拡張中継制御モジュールをそれぞれが含む複数の中継サーバーを含むことができる。拡張中継制御モジュールは、第１の中継サーバーおよび第２の中継サーバーを介して通信するプライベートクライアント間の通信を管理するように機能することができる。拡張中継制御モジュールは、第１の中継サーバーまたは第２の中継サーバーのうちの少なくとも一方のポート範囲属性がオフにされている場合、第１の中継サーバーの制御ポートと第２の中継サーバーの制御ポートとの間にメディアチャネルを確立することができる。他の実施形態についても説明し、特許請求の範囲に記載する。
【０００７】
この「課題を解決するための手段」は、以下の「発明を実施するための形態」の中でさらに説明する諸概念の抜粋を、単純化した形で紹介するために提供する。この「課題を解決するための手段」は、特許請求の範囲に記載する主題の重要な特徴または不可欠な特徴を特定することを意図するものでなく、特許請求の範囲に記載する主題の範囲を限定するために使用されることを意図するものでもない。
【図面の簡単な説明】
【０００８】
【図１】通信システムの一実施形態を示す図である。
【図２】論理フローの一実施形態を示す図である。
【図３Ａ】第１のメッセージフローの一実施形態を示す図である。
【図３Ｂ】第２のメッセージフローの一実施形態を示す図である。
【図４】チャネルフレームメッセージの一実施形態を示す図である。
【図５】コンピューティングシステムアーキテクチャの一実施形態を示す図である。
【図６】製造品の一実施形態を示す図である。
【発明を実施するための形態】
【０００９】
様々な実施形態は、特定の動作、機能、またはサービスを実行するようになされる物理構造または論理構造を含む。この構造は、物理構造、論理構造、またはその両方の組合せを含むことができる。この物理構造または論理構造は、ハードウェア要素、ソフトウェア要素、またはその両方の組合せを使用して実装される。ただし、特定のハードウェア要素またはソフトウェア要素に関する実施形態の記載は、限定ではなく例であることを意図する。実施形態を実際に実施するために、ハードウェア要素またはソフトウェア要素を使用する決定は、所望の演算速度、電源レベル、耐熱性、処理サイクル予算、入力データ伝送速度、出力データ伝送速度、メモリリソース、データバス速度、および他の設計制約や性能制約など、いくつかの外部要因によって決まる。さらに、この物理構造または論理構造は、構造間で電子信号またはメッセージ形式の情報を伝達するための、対応する物理接続または論理接続を有することができる。その接続には、その情報または特定の構造に適した有線接続および／または無線接続が含まれ得る。「一実施形態」または「実施形態」についてのいかなる言及も、その実施形態に関連して記載する特定の機能、構造、または特徴が、少なくとも１つの実施形態に含まれることを意味することを指摘する価値がある。本明細書の様々な箇所で現れる、語句「一実施形態では」は、必ずしもすべて同じ実施形態に言及しているわけではない。
【００１０】
中継サーバーを、インターネットなどの公衆ネットワークに直接アクセスできないクライアントが、パブリックトランスポートアドレスを取得するために使用する。割り当てられたトランスポートアドレスは、選択されたピアからデータを受信するために使用される。典型的な通信システムアーキテクチャは、企業や会社などのエンティティの境界ネットワークに置かれる中継サーバーを含むことができる。中継サーバーは、公衆ネットワークと通信するために使用するそのパブリックエッジ上の公衆ネットワークインターフェイスや、プライベートネットワークと通信するためのそのプライベートエッジ上のプライベートネットワークインターフェイスなど、２つのネットワークインターフェイスを含むことができる。典型的には境界ネットワークのパブリックエッジとプライベートエッジとの両方に、ファイアウォールが展開される。
【００１１】
一部の中継サーバーは、中継サーバーが、中継サーバー上およびパブリックファイアウォール上の両方にある範囲の双方向ポートを開くことを要求する。このポート範囲は、数ある中でＵＤＰ（ユーザーデータグラムプロトコル）やＴＣＰ（伝送制御プロトコル）を使用するネットワークトランスポートなど、様々なネットワークトランスポートに割り当てられるポートを含むことができる。これは、様々なプライベートネットワーク上のプライベートクライアント間の潜在的な接続性シナリオを増加させる。
【００１２】
しかし、一部のエンティティは、パブリックファイアウォール上に比較的大きな入力ポート範囲を開くことに不安を感じる。例えば、入力ポート範囲を開くことは、プライベートネットワークにとってのセキュリティ上の危険を高める可能性がある。そうしたセキュリティ上の危険を減らすため、エンティティは、ＵＤＰ制御ポート３４７８、ＴＣＰ制御ポート４４３など、受信接続用にパブリックファイアウォール上に開いている制御ポートへのポート割り当てを制限することができる。これは、プライベートクライアントに、中継サーバーを介した限られた接続性を与えておくことによる、限られた意味で支持されるシナリオだが、様々な中継サービスを使用するフェデレーションクライアントおよび他のデバイスについての接続性を低減しまたは完全に中断する。例えば、場合によっては、開いたポート範囲を有さないファイアウォールによって分けられる２つの中継サーバーの割り当てポート間を、データが流れるプロビジョニングがない。
【００１３】
これらのおよび他の問題を解決するために、様々な実施形態は、概して、開いた入力方向のポート範囲を有さないファイアウォールによって分けられる複数の中継サーバー間の通信を可能にするように設計される、拡張中継サーバープロトコルまたはプロトコル機能拡張を対象とすることができる。一部の実施形態はとりわけ、ＴＵＲＮプロトコルおよび／またはＳＴＵＮプロトコルを実装する中継サーバーに関して特定用途のために設計される、拡張中継サーバープロトコルまたはプロトコル機能拡張を対象とし、様々なパブリッククライアントおよびプライベートクライアントによるＮＡＴトラバーサルを可能にすることができる。
【００１４】
例えば、一実施形態において、複数の中継サーバーが、拡張中継制御モジュールをそれぞれ実装することができる。拡張中継制御モジュールは、例えば、数あるプロトコルの中で特にＴＵＲＮプロトコルの機能拡張として、拡張中継サーバープロトコルを実装することができる。拡張中継制御モジュールは、ファイアウォールまたは他のフィルタリング機構もしくはブロッキング機構を経て、第１の中継サーバーおよび第２の中継サーバーを介して通信するプライベートクライアント間の通信を管理するように機能することができる。拡張中継制御モジュールは、第１の中継サーバーまたは第２の中継サーバーのうちの少なくとも一方のポート範囲属性がオフにされている場合、第１の中継サーバーの制御ポートと第２の中継サーバーの制御ポートとの間にメディアチャネルを確立することができる。その制御ポートには、数ある一意に指定されるポートの中で特に、ＴＵＲＮスイートのプロトコルによって指定されるＴＵＲＮ  ＵＤＰおよび／またはＴＣＰ制御ポートなど、様々なネットワークトランスポートプロトコルのための制御ポートが含まれ得る。その結果、拡張中継制御モジュールは、ファイアウォールまたは他のセキュリティ技法の両端の少なくとも２つの中継サーバーを利用し、別個のプライベートネットワーク上の２つのプライベートクライアント間に、メディア情報を伝達するためのメディアチャネルを確立するための代替パスを提供する。このようにして、それらのプライベートクライアントは、典型的にはビジネス環境において見られるようなフェデレーションクライアントにとって特に望ましい可能性がある、強化された接続性を経験することができる。
【００１５】
図１は、通信システム１００の一実施形態を示す。通信システム１００は、様々な実施形態を実施するのに適した、全体的なシステムアーキテクチャを示すことができる。通信システム１００は、複数の要素を含むことができる。要素は、特定の動作を実行するようになされる任意の物理構造または論理構造を含むことができる。各要素は、１組の所与の設計パラメータまたは性能制約に関して要求される通りに、ハードウェア要素、ソフトウェア要素、またはそれらの任意の組合せとして実装することができる。ハードウェア要素の例には、デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗器、コンデンサ、誘導子等）、集積回路、ＡＳＩＣ（特定用途向け集積回路）、ＰＬＤ（プログラム可能論理デバイス）、ＤＳＰ（デジタル信号プロセッサ）、ＦＰＧＡ（書替え可能ゲートアレイ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等が制限なく含まれ得る。ソフトウェア要素の例には、任意のソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、インターフェイス、ソフトウェアインターフェイス、ＡＰＩ（アプリケーションプログラムインターフェイス）、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、語、値、記号、またはこれらの任意の組合せが制限なく含まれ得る。図１に示す通信システム１００は、特定のトポロジをなす限られた数の要素を有するが、通信システム１００は、所与の実装形態に関して要求される通りに、代わりのトポロジをなすより多いまたはより少ない要素を含んでよいことが理解できよう。諸実施形態は、この文脈に限定されることはない。
【００１６】
以下の詳細な説明では、要素を一意に識別するために、一部の要素を、ベース番号を用いて表記する。場合によっては、異なるデバイスまたは異なるネットワークが実装する同じまたは同様の要素が、同じベース番号とその後に続く文字表示「ａ」を有し、対応する番号を形成することができる。例えば、通信システム１００は、中継サーバー１２４および中継サーバー１２４ａを含むことができる。ベース番号によって識別する要素について行う説明は、対応する番号によって識別する同じまたは同様の要素にも当てはまることが理解できよう。例えば、中継サーバー１２４は中継サーバー１２４ａと同じまたは同様の構造および動作で実装することができる。場合によっては、必ずしも限定によってではなく、明瞭にし、簡潔にするために説明を１つの要素に限ることもある。
【００１７】
本明細書で使用するとき、用語「システム」、「サブシステム」、「コンポーネント」および「モジュール」は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアを含む、コンピューター関連のエンティティを指すことを意図する。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハードディスクドライブ、（光学式記憶媒体および／または磁気記憶媒体の）複数のストレージドライブ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および／またはコンピューターとして実装することができる。例として、あるサーバー上で実行されるアプリケーションもそのサーバーもコンポーネントとすることができる。プロセスおよび／または実行のスレッドの中には、１つもしくは複数のコンポーネントが存在してよく、コンポーネントは、所与の実装形態に関して要求される通りに１台のコンピューター上に局所化し、かつ／または２台以上のコンピューター間に分散させることができる。諸実施形態は、この文脈に限定されることはない。
【００１８】
図１の図示の実施形態に示すように、通信システム１００は、公衆ネットワーク１１０、境界ネットワーク１２０、およびプライベートネットワーク１３０を含む。公衆ネットワーク１１０には、全体的なクラスのユーザーにとって区別なくアクセス可能な任意のネットワークが含まれ得る。公衆ネットワーク１１０の一例にはインターネットが含まれ得る。プライベートネットワーク１３０には、ユーザーを区別し、アクセスを制御した状態の、限られたクラスのユーザーにとってアクセス可能な任意のネットワークが含まれ得る。プライベートネットワーク１３０の一例には、企業ネットワークなどの企業体向けのネットワークが含まれ得る。境界ネットワーク１２０には、全体的なクラスのユーザーおよび限られたクラスのユーザーの両方が、それぞれのパブリックインターフェイスおよびプライベートインターフェイスを使用してアクセス可能であり、それによりネットワーク１１０とネットワーク１３０との間にある程度の相互運用性をもたらす任意のネットワークが含まれ得る。
【００１９】
様々な実施形態において、ネットワーク１１０、１２０、および１３０は、ＶｏＩＰ（ボイスオーバーＩＰ）通信セッションやＶＯＰ（ボイスオーバーパケット）（本明細書ではまとめて「ＶｏＩＰ」と呼ぶ）通信セッションなど、様々なネットワークデバイス間のマルチメディア通信をサポートできるパケット交換ネットワークをそれぞれ含むことができる。例えば、ネットワーク１１０、１２０、および１３０の様々な要素は、様々な種類のＶｏＩＰ技術を使用し、ＶｏＩＰピアツーピア通話またはマルチパーティー電話会議を確立できる場合がある。例えば、一実施形態では、そのＶｏＩＰ技術には、ＩＥＴＦ（インターネット技術標準化委員会）シリーズＲＦＣ３２６１、ＲＦＣ３２６５、ＲＦＣ３８５３、ＲＦＣ４３２０、ならびに後継版、改訂版、および改変版によって定義されるＳＩＰ（セッション開始プロトコル）など、ＩＥＴＦ標準機構によって定義され、公表されるＶｏＩＰシグナリングプロトコルが含まれ得る。概して、ＳＩＰシグナリングプロトコルは、１人または複数の参加者とのセッションを作成、修正、および終了するためのアプリケーション層制御プロトコルおよび／またはシグナリングプロトコルである。これらのセッションには、ＩＰ通話、マルチメディア配布、およびマルチメディア会議が含まれる。例えば、一実施形態において、ＶｏＩＰ技術には、ＩＥＴＦ  ＲＦＣ３５５０、ならびに後継版、改訂版、および改変版によって定義されるＲＴＰ（リアルタイム転送プロトコル）やＲＴＣＰ（リアルタイム転送制御プロトコル）など、データまたはメディア形式プロトコルが含まれ得る。ＲＴＰ／ＲＴＣＰ標準は、パケット交換ネットワーク１１０、１２０、および１３０などのパケット交換ネットワーク上でマルチメディア情報（例えば、音声や映像）を送るための、均一のまたは標準化されたパケット形式を定義する。一部の実施形態において、限定ではなく例としてＳＩＰおよびＲＴＰ／ＲＴＣＰプロトコルを利用することがあるが、所与の実装形態に関して要求される通りに、他のＶｏＩＰプロトコルを使用してもよいことが理解できよう。
【００２０】
様々な実施形態において、ネットワーク１１０、１２０、および１３０の様々な要素は、ネットワーク１１０、１２０、および１３０の様々な要素との間で各種のマルチメディア通信を実行することができる。マルチメディア通信には、パケット、フレーム、ＰＤＵ（パケットデータユニット）、セル、セグメント、他の区切られた情報群などの離散データセット形式で、様々な種類の情報をパケット交換ネットワーク上で伝達することが含まれ得る。その様々な種類の情報には、制御情報およびメディア情報が含まれ得る。制御情報は、自動システム用のコマンド、命令、または制御語を表す任意のデータを指すことができる。例えば、システムによりメディア情報をルーティングし、またはメディア情報を所定の方法で処理するようにノードに命令するために制御情報は使用することができる。メディア情報は、ユーザー向けのコンテンツを表す任意のデータを指すことができる。コンテンツの例には、例えば、音声チャットのデータ、ビデオ会議、ストリーミングビデオ、電子メール（「ｅメール」）メッセージ、ボイスメールメッセージ、英数字記号、グラフィックス、画像、イメージ、ビデオ、音声、テキスト等が含まれ得る。音声チャットのデータは、例えば、音声情報、沈黙時間、背景雑音、快適雑音、トーン等とすることができる。ネットワーク１１０、１２０、および１３０を主にパケット交換ネットワークとして実施するが、場合によっては、これらのネットワークのうちの１つまたは複数が、例えば、ＰＳＴＮ（公衆交換電話網）などの様々な回線交換ネットワークをサポートするのに適したインターフェイスおよび機器を有することができる。
【００２１】
様々な実施形態において、公衆ネットワーク１１０は、１つまたは複数のパブリッククライアント１１２を含むことができる。パブリッククライアント１１２は、公衆ネットワークアドレスを有する電子デバイスの部品、コンポーネント、またはサブシステムとして実装することができる。パブリッククライアント１１２として使用するのに適した電子デバイスの例には、処理システム、コンピューター、サーバー、ワークステーション、アプライアンス、端末、パーソナルコンピューター、ラップトップ、ウルトララップトップ、ハンドヘルドコンピューター、携帯情報端末、テレビ、デジタルテレビ、セットトップボックス、電話、移動電話、携帯電話、ハンドセット、無線アクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラー、会議システム、ルーター、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはこれらの組合せが制限なく含まれ得る。
【００２２】
様々な実施形態において、プライベートネットワーク１３０は、１つまたは複数のプライベートクライアント１３２−１〜ｍを含むことができる。プライベートクライアント１３２−１〜ｍは、概してプライベートネットワーク１３０には知られているが、公にはルーティングできないネットワークアドレスである、プライベートネットワークアドレスを有する電子デバイスの部品、コンポーネント、またはサブシステムとして実装することができる。プライベートクライアント１３２−１〜ｍとして使用するのに適した電子デバイスの例には、パブリッククライアント１１２に関して提供したのと同じまたは同様の電子デバイスが含まれ得る。図１の図示の実施形態に示すように、例えば、プライベートクライアント１３２−１〜ｍは、ピアクライアント１３２−１および会議サーバー１３２−２を含むことができる。ピアクライアント１３２−１には、ＶｏＩＰ通話を終了するためのマルチメディアエンドポイントとしてそのいずれをも使用することができる、パブリッククライアント１１２または別のピアクライアント１３２−１ａにとってのピアデバイスが含まれ得る。例えば、ピアクライアント１３２−１、１３２−１ａには、ＶｏＩＰ電話やＳＩＰ電話などのパケット交換電話が含まれ得る。会議サーバー１３２−２には、２つ以上のパブリッククライアントおよび／またはプライベートクライアントなど、複数のマルチメディアエンドポイント間のマルチメディア会議セッション用の複数のＶｏＩＰ通話をサポートするための、マルチメディア会議サーバーが含まれ得る。会議サーバー１３２−２は、会議フォーカス（ｃｏｎｆｅｒｅｎｃｅ  ｆｏｃｕｓ）、１つまたは複数のオーディオビデオマルチポイントコントロールユニット（ＡＶＭＣＵ）、ゲートウェイ、ブリッジなど、ＶｏＩＰ電話会議を確立、管理、および終了するのに適した様々な会議システムコンポーネントを含み、またはそれらの会議システムコンポーネントに通信可能に結合することができる。
【００２３】
様々な実施形態において、プライベートネットワーク１３０は、登録サーバー１３６を含むことができる。登録サーバー１３６は、ユーザーを認証すること、プライベートネットワーク１３０内で要求をルーティングすること、サーバーのオペレーティングシステム用のＡｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙを維持することなど、プライベートネットワーク１３０に関する様々なネットワーク管理動作を担う集中型エンティティである。例えば、登録サーバー１３６は、ルーティングする前に自らを介したすべての要求を確認し、任意の登録要求のＳＩＰヘッダーのＦＲＯＭフィールド内のＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）が、要求元のＩＤに一致することを確実にする。例えば、一実施形態において、登録サーバー１３６は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ，Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎによって作成された、ＭＩＣＲＯＳＯＦＴ（登録商標）  ＯＦＦＩＣＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＳＥＲＶＥＲを使用して実装することができる。この実装形態では、ピアクライアント１３２−１、１３２−１ａは、同じくＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ，Ｒｅｄｍｏｎｄ，Ｗａｓｈｉｎｇｔｏｎによって作成された、ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ  ＣＯＭＭＵＮＩＣＡＴＯＲクライアントとして実装することができる。ただし、諸実施形態は、これらの例に限定されない。
【００２４】
様々な実施形態において、境界ネットワーク１２０は、ピアクライアント１３２−１、１３２−１ａなどのネットワーク１１０、１３０内のデバイス間の、相互運用動作を容易にするための様々なネットワークデバイスを含むことができる。一部の実施形態において、境界ネットワーク１２０は、パブリッククライアント１１２から公衆ネットワーク１１０によってアクセス可能な公衆ネットワークインターフェイスと、プライベートクライアント１３２−１〜ｍからアクセス可能なプライベートネットワークインターフェイスとを含むネットワークデバイスを含むことができる。
【００２５】
様々な実施形態において、境界ネットワーク１２０は、プロキシサーバー１２２をオプションで含むことができる。プロキシサーバー１２２は、プライベートネットワーク１３０へのアクセスを全般的に制御することができる。プロキシサーバー１２２は、パブリックインターネットからのクライアント要求を承諾し、そのクライアント要求を、そのクライアント要求に基づく適切な宛先にルーティングするサーバーである。プロキシサーバー１２２はさらに、クライアント要求を転送する前に確認する。例えば、プロキシサーバー１２２は、ＳＩＰシグナリングなどの様々なＶｏＩＰ操作に関し、外部クライアントまたはパブリッククライアントのための接続ポイントとして機能することができる。例えば、一実施形態において、プロキシサーバー１２２は、認証され、かつセキュリティ保護されたＳＩＰチャネルを提供し、通信システム１００などのマルチメディア通信システム内の中継サーバー１２４が提供するＳＴＵＮ中継サービスの位置を発見し、そのＳＴＵＮ中継サービスについての認証資格情報を得る。ＳＩＰクライアントまたはＵＡ（ユーザーエージェント）は、それぞれのネットワーク１１０、１３０など、公衆ネットワークまたはプライベートネットワーク上にあってよい。その認証資格情報は、所与のクライアントが自ら使用するために、そのクライアントによるファーストパーティー方法で、またあるいは、クライアントを電話会議システムに追加するためなど、所与のクライアントが別のクライアントのために認証資格情報を得るサードパーティー方法で得ることができる。後者の場合、他者のためにこの情報を得るために、サードパーティーは認証され承認されるべきである。プロキシサーバー１２２は、認証資格情報を得るために使用されるチャネル上の通信がセキュリティ保護され、外部クライアントまたはパブリッククライアントが認証されていることを確実にする。
【００２６】
様々な実施形態において、境界ネットワーク１２０は、ＮＡＴおよび／またはファイアウォールの動作を実施するための１つまたは複数のネットワークデバイスを含むことができる。そのような動作は、典型的には、公衆ネットワーク１１０とプライベートネットワーク１３０との間に配置されるデバイスが実行する。場合によっては、これらの動作を、典型的には破線１２１、１２１ａによって示す、公衆ネットワーク１１０とプロキシサーバー１２２との間に配置されるデバイスが実行する。例えば、図１に示す図示の実施形態において、境界ネットワーク１２０は、ＮＡＴ１２８を含む。図１の図示の実施形態のトポロジは、ＮＡＴ１２８をプロキシサーバー１２２と平行に示すが、ＮＡＴ１２８を、破線１２１、１２１ａによって示す、プロキシサーバー１２２と公衆ネットワーク１１０との間に配置できることが理解できよう。諸実施形態は、この文脈に限定されることはない。
【００２７】
ＮＡＴ１２８は、プライベートネットワーク１３０に関する様々なＮＡＴ動作を実施することができる。ＮＡＴ１２８は、ネットワークパケットがネットワーク１１０、１３０の間を通過するとき、それらのネットワークパケットの送信元アドレスおよび／または宛先アドレスを書き換えることができる。このようにして、ＮＡＴ１２８は、プライベートネットワーク上の複数のホスト（例えば、プライベートクライアント１３２−１〜ｍ）が、ＩＰアドレスなどの単一の公衆ネットワークアドレスを使用し、公衆ネットワーク１１０にアクセスすることを可能にする。しかし、ＮＡＴ１２８は、パブリッククライアント１１２がプライベートネットワーク１３０に知られていないことによるセキュリティ上の問題、ＮＡＴデバイスの背後にあるクライアントのためにネットワークアドレスを得ることの難しさ、間接費など、いくつかの理由から、パブリッククライアント１１２とプライベートクライアント１３２−１〜ｍとの間の接続性を提供することを困難にすることがある。同様に、プライベートネットワーク１３０は、外部のユーザーがプライベートネットワーク１３０のリソースにアクセスすることを防ぐ、企業ファイアウォールによって保護される場合がある。企業ファイアウォールも、パブリッククライアントとプライベートクライアントとの間の接続性を提供することを困難にする可能性がある。
【００２８】
エンドツーエンドの接続性の問題を補うために、境界ネットワーク１２０、１２０ａは、それぞれの中継サーバー１２４、１２４ａを実装し、パブリッククライアント１１２および／またはプライベートクライアント１３２−１〜ｍが、企業ファイアウォールおよび／またはＮＡＴ１２８、１２８ａをトラバースすることを可能にすることができる。中継サーバー１２４は、様々なメディアエンドポイントまたは宛先（例えば、パブリッククライアントやプライベートクライアント）間のメディア情報など、任意のデータを伝達するようになされる、クライアント１１２、１３２に関して前に記載した任意の電子デバイスとすることができる。例えば、一実施形態において、中継サーバー１２４は、ＩＥＴＦ（インターネット技術標準化委員会）ＲＦＣ３４８９、ならびにその後継版、改訂版、および改変版によって定義されるＩＥＴＦ  ＳＴＵＮ（Ｓｅｓｓｉｏｎ  Ｕｔｉｌｉｔｉｅｓ  ｆｏｒ  ＮＡＴ）プロトコルに従って動作するように構成することができる。ＳＴＵＮプロトコルを実装する場合、中継サーバー１２４は、ときとしてＳＴＵＮサーバーと呼ばれることがある。ＳＴＵＮプロトコルは、ＮＡＴデバイス１２８のトラバーサルを容易にするための一連のツールを提供する。特に、ＳＴＵＮプロトコルは、クライアントがＳＴＵＮサーバーに対する自らの再帰（ｒｅｆｌｅｘｉｖｅ）トランスポートアドレスを特定するために使用するバインド要求を定義する。再帰トランスポートアドレスを、クライアントが、ピアからパケットを受信するために使用することができるが、それはそのクライアントがある種のＮＡＴの背後にある場合に限られる。具体的には、そのマッピング動作がアドレスまたはアドレスおよびポートに依拠する種類のＮＡＴの背後にクライアントがある場合、ピアと通信するために再帰トランスポートアドレスを使用することはできない。この場合、そのようなＮＡＴを介してピアと通信するために使用可能なトランスポートアドレスを得るための唯一の方法は、中継サーバー１２４などの中継を使用することである。中継サーバー１２４は、ＮＡＴデバイス１２８のパブリックサイドに位置し、ＮＡＴデバイス１２８のプライベートサイドの背後（例えば、ネットワーク１３０）から自らに到達するクライアントにトランスポートアドレスを割り当てる。これらの割り当てられるアドレスは、中継サーバー１２４上のインターフェイスからである。中継サーバー１２４が、これらの割り当てられたアドレスのうちの１つについてのパケットを受信するとき、中継サーバー１２４は、そのパケットをクライアントに向けて転送する。
【００２９】
ＳＴＵＮプロトコルに加え、中継サーバー１２４を、非特許文献１という名称の、ＩＥＴＦインターネットドラフト、ならびにその後継版、改訂版、および改変版によって定義される、ＩＥＴＦ  ＴＵＲＮ（Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ  ａｒｏｕｎｄ  ＮＡＴ）と呼ばれる、ＳＴＵＮプロトコルの機能拡張を実装するように構成することができる。ＴＵＲＮプロトコルは、ＳＴＵＮサーバーが中継としての役割を果たすよう、クライアントがＳＴＵＮサーバー自体のアドレスを要求することを可能にする。それを達成するために、この機能拡張は、少数の新たなＳＴＵＮ要求およびＳＴＵＮ表示を定義する。割当要求は、この機能拡張の組の基本的コンポーネントである。この割当要求は、ＳＴＵＮサーバーを介して中継されるトランスポートアドレスをクライアントに提供するために使用される。媒体物を介して中継されるトランスポートアドレスを、中継済みトランスポートアドレスと呼ぶ。これらの機能拡張をサポートするＳＴＵＮサーバーを、「ＳＴＵＮ中継」またはより単純に「中継」、「ＴＵＲＮサーバー」、「ＴＵＲＮ中継サーバー」もしくは同様の名称で呼ぶことがある。中継サーバー１２４をＴＵＲＮサーバーとして動作するように構成する場合、パブリッククライアント１１２およびプライベートクライアント１３２−１〜ｍを、ＴＵＲＮプロトコルに準拠するクライアントとして動作するように構成することができる。これらのクライアントは、ＵＤＰ、ＴＣＰ（伝送制御プロトコル）、ＴＬＳ（トランスポート層セキュリティ）ｏｖｅｒ  ＴＣＰなど、任意の数の適切な通信トランスポートを使用してＴＵＲＮサーバーと通信することができる。場合によっては、ＴＵＲＮサーバーは、一定の制約を伴って、２つの異なるトランスポート間のトラフィックを中継することさえできる。
【００３０】
ＴＵＲＮプロトコルを使用して動作するために、中継サーバー１２４は、クライアント１１２、１３２が中継サーバー１２４を介してメディア情報を伝達し始めることを可能にする前に、クライアント１１２、１３２を認証する必要がある。中継サーバー１２４は、中継サーバー１２４とそれぞれのクライアント１１２、１３２との間の共有シークレットを使用し、クライアント１１２、１３２の認証操作を実行する。中継サーバー１２４は、典型的には共有シークレットを生成し、その共有シークレットをクライアント１１２、１３２に配信する。認証操作は、登録サーバー１３６を使用して実行することができる。
【００３１】
全体的な動作では、中継サーバー１２４、１２４ａはＳＴＵＮプロトコルおよび／またはＴＵＲＮプロトコルを実装することができ、これは場合によっては、様々なネットワークのプライベートクライアントが中継サーバー１２４、１２４ａを使用して通信できるようにするために、中継サーバー１２４、１２４ａが、中継サーバー１２４、１２４ａ上およびパブリックファイアウォール上の両方にある範囲の双方向ポートを開くことを必要とする。このポート範囲は、数ある中でＵＤＰおよび／またはＴＣＰを使用するネットワークトランスポートなど、様々なネットワークトランスポートに割り当てられるポートを含むことができる。これは、パブリッククライアント１１２および／またはプライベートクライアント１３２−１〜ｍ間の潜在的な接続性シナリオを増加させる。しかし、一部のエンティティは、パブリックファイアウォール上に比較的大きな入力ポート範囲を開くことに不安を感じる。例えば、この入力ポート範囲を開くことは、プライベートネットワークにとってのセキュリティ上の危険を高める可能性がある。
【００３２】
これらのおよび他の問題を解決するために、中継サーバー１２４、１２４ａは、それぞれの拡張中継制御モジュール１６０、１６０ａを実装することができる。拡張中継制御モジュール１６０、１６０ａは、開いた入力方向のポート範囲を有さない１つまたは複数のファイアウォールによって分けられる中継サーバー１２４、１２４ａ間の通信を可能にするように設計される、拡張中継サーバープロトコルまたはプロトコル機能拡張を実装することができる。具体的には、拡張中継制御モジュール１６０、１６０ａは、ＴＵＲＮプロトコルおよび／またはＳＴＵＮプロトコルを実装する中継サーバー１２４、１２４ａに関して特定用途のために設計される拡張中継サーバープロトコルまたはプロトコル機能拡張を実装し、様々なパブリッククライアントおよびプライベートクライアントによるＮＡＴトラバーサルを可能にすることができる。例えば、一実施形態において、拡張中継制御モジュール１６０、１６０ａは、中継サーバー１２４、１２４ａのうちの一方または両方のポート範囲属性がオフにされている場合、それぞれの中継サーバー１２４、１２４ａの制御ポート間にメディアチャネルを確立することができる。
【００３３】
様々な実施形態において、ピアクライアント１３２−１は、ＴＵＲＮプロトコルを利用して中継サーバー１２４などの中継サーバーからパブリックトランスポートアドレスを割り当てるように構成される、プライベートネットワーク１３０上のＴＵＲＮクライアントを含むことができる。トランスポートアドレスを、同様にパブリックトランスポートアドレスを有する選択されたピアと通信するために使用することができる。プライベートネットワーク１３０ａ上のピアクライアント１３２−１ａなど、そのピアがプライベートネットワーク上にある場合、そのピアも、中継サーバー１２４ａなどのＴＵＲＮサーバーからパブリックトランスポートアドレスを割り当てる必要がある。ピアクライアント１３２−１、１３２−１ａがどちらも同じ中継サーバーから割り当てる場合、その２つの間のデータフローは、ＵＤＰ３４７８やＴＣＰ４４３などのＴＵＲＮ制御ポート上に発生する。ピアクライアント１３２−１、１３２−１ａが異なる中継サーバーから割り当てる場合、データフローは典型的には２つの割り当てられたポートの間に発生する。このことは、境界ネットワーク１２０の管理者に、パブリックエッジファイアウォール上にある範囲のポートを開くことを強いる。
【００３４】
拡張中継サーバープロトコルは、パブリックエッジファイアウォール上に比較的大きな入力ポート範囲を開くことを必要とせず、異なる境界ネットワーク１２０、１２０ａ内の２つの中継サーバー１２４、１２４ａ間をデータが流れることを可能にするように設計される。拡張中継サーバープロトコルは、各クライアントとそれらのクライアントそれぞれの中継サーバーとの間で使用されるトランスポートに関係なく、すべてのメディアセッション（例えば、音声／映像セッション）のための、中継サーバー１２４、１２４ａ間のトランスポートとしてＵＤＰを使用できるようにする。クライアントが自らの割当要求メッセージの中で使用するオプションのサービス品質属性において識別されるように、信頼できるデータ配信を必要とするすべてのクライアントＴＣＰセッションのためのトランスポートとして、ＴＣＰを使用することができる。割当要求メッセージがサービス品質属性を含まない場合、中継サーバーはベストエフォート配信とみなし、中継サーバー１２４、１２４ａ間のトランスポートとしてＵＤＰを使用することができる。
【００３５】
クライアント１３２−１〜ｍは、自らのそれぞれの中継サーバー１２４、１２４ａからパブリックトランスポートアドレスを割り当てる。これらのクライアントは、ＳＩＰダイアログのＳＤＰ（セッション記述プロトコル）部分の中で、その割り当てられるトランスポートアドレスを交換する。クライアントがピアのトランスポートアドレスを知ると、そのクライアントはＴＵＲＮ送信要求メッセージを使用してそのピアにデータを送信することができる。
【００３６】
中継サーバー１２４（または１２４ａ）が送信要求メッセージを受信すると、その中継サーバーはアクセス許可を設定し、そのデータを、クライアントの割り当てられたトランスポートアドレスから、その送信要求メッセージの宛先アドレス属性の中で識別される宛先アドレスに直接送信する。同時に、中継サーバー１２４は、ＴＵＲＮポートから「チャネルフレームメッセージ」と呼ばれる特殊な種類の革新的メッセージも送信する。チャネルフレームメッセージは、同じ宛先アドレスにＵＤＰを介して送信されるが、３４７８の宛先ポートを使用する。図４に、チャネルフレームメッセージのフレーム化を明記する。チャネルフレームメッセージは、発信者が拡張中継サーバープロトコルを使用して通信できるという、ピア中継サーバーへのインジケーターの役割をする。
【００３７】
中継サーバー１２４、１２４ａがＴＵＲＮ制御ポート上でチャネルフレームメッセージを受信すると、その中継サーバーは、そのチャネルフレームメッセージ内の宛先ポートに一致する割り当てポートを自らが有するかどうか確認する。宛先ポートが有効な場合、その中継サーバーは、ピアから受信するためのアクセス許可が設定されているかどうか確認する。アクセス許可が設定されており、チャネルフレームメッセージがデータを含む場合、中継サーバー１２４、１２４ａはそのデータをデータ指示メッセージ内のクライアントへと通過させる。
【００３８】
クライアントがサービス品質属性を使用して、ＴＣＰセッション上の信頼できるデータ配信を要求することを明らかにする場合、中継サーバー１２４、１２４ａは、ＴＣＰセッションを使用して拡張中継サーバープロトコルデータを運ぶ。中継サーバー１２４、１２４ａの２つのＴＵＲＮ制御ポート間でＵＤＰを介してチャネルフレームデータを送信する代わりに、送信側中継サーバー１２４の割り当てポートから、ピア中継サーバー１２４ａ上のＴＣＰ  ＴＵＲＮ制御ポート４４３へのＴＣＰセッションが確立されることを除き、動作はＵＤＰおよび信頼できないＴＣＰに対するものと同じである。このシナリオへのサポートは、境界ネットワーク１２０の管理者が、出力方向のＴＣＰ接続のために外部ファイアウォール上にある範囲のポートを開くことを要求する。
【００３９】
１つまたは複数の論理フローを参照し、通信システム１００の動作をさらに説明することができる。別段の記載がない限り、その代表的な論理フローは、必ずしも提示する順序で、または何らかの特定の順序で実行しなければならないわけではないことが理解できよう。さらに、その論理フローに関して記載する様々な活動は、直列式にまたは並列式に実行することができる。その論理フローは、通信システム１００の１つもしくは複数の要素、または１組の所与の設計制約および性能制約に関して要求される代替的要素を使用して実施することができる。
【００４０】
図２は、論理フロー２００を示す。論理フロー２００は、本明細書に記載の１つまたは複数の実施形態によって実行される操作を表すことができる。ただし、諸実施形態は、この代表的な論理フロー２００に限定されない。
【００４１】
図２に示す図示の実施形態において、論理フロー２００は、ブロック２０２で、第１のプライベートネットワーク上の第１のプライベートクライアントから、第１の送信要求を第１の中継サーバーによって受信することができ、第２のプライベートネットワーク上の第２のプライベートクライアントにメディア情報を送信するためのその第１の送信要求は、第２の中継サーバーを使用する。例えば、中継サーバー１２４の拡張中継制御モジュール１６０が、プライベートネットワーク１３０上のピアクライアント１３２−１から第１の送信要求を受信することができる。その第１の送信要求は、中継サーバー１２４ａを使用してプライベートネットワーク１３０ａ上のピアクライアント１３２−１ａにメディア情報を送信する要求を含むことができる。送信要求の一例には、ＴＵＲＮスイートのプロトコルによって定義される送信要求が含まれ得る。
【００４２】
論理フロー２００は、ブロック２０４で、第１の中継サーバーのポート範囲属性がオフに設定されていることを判定することができる。例えば、中継サーバー１２４の拡張中継制御モジュール１６０が、中継サーバー１２４のポート範囲属性がオフ状態に設定されていることを判定することができる。ポート範囲属性がオフ状態に設定されている場合、中継サーバー１２４は、公衆ネットワークインターフェイスのある範囲のポートが閉じられており、公衆ネットワーク１１０から入力トラフィックを受信することができない。対照的に、ポート範囲属性がオン状態に設定されている場合、中継サーバー１２４は、公衆ネットワークインターフェイスのある範囲のポートが開かれており、公衆ネットワーク１１０からの入力トラフィックを受信することができる。一実施形態において、ポート範囲属性がオン状態に設定されている場合、拡張中継制御モジュール１６０は、従来のＳＴＵＮプロトコル操作および／またはＴＵＲＮプロトコル操作を利用して、中継サーバー１２４、１２４ａ間にメディアチャネルを確立することができる。
【００４３】
論理フロー２００は、ブロック２０６で、第１の中継サーバーの第１の制御ポートおよび第２の中継サーバーの第２の制御ポートを使用し、第１の中継サーバーおよび第２の中継サーバーを介し、第１のプライベートクライアントと第２のプライベートクライアントとの間にメディアチャネルを確立することができる。例えば、中継サーバー１２４の拡張中継制御モジュール１６０は、中継サーバー１２４の第１の制御ポートおよび中継サーバー１２４ａの第２の制御ポートを使用し、中継サーバー１２４、１２４ａを介してピアクライアント１３２−１、１３２−１ａ間にメディアチャネルを確立することができる。すなわち、ピアクライアント１３２−１、１３２−１ａに割り当てられるポートの代用ポートとして中継サーバー１２４、１２４ａの制御ポートを使用し、割り当てられるポートがオフ状態にある場合にさえ、パブリックファイアウォールをトラバースできるメディアチャネルを確立することができる。
【００４４】
一部の実装形態は、中継サーバー１２４、１２４ａが、ＵＤＰ接続またはＴＣＰ接続を伴うＩＰｖ４（インターネットプロトコルバージョン４）アドレスを有すると仮定するが、他のものも使用することができる。中継サーバー１２４、１２４ａがファイアウォールの背後にある場合、そのファイアウォールには、中継サーバー１２４、１２４ａが通り抜けるネットワークインターフェイスごとに、ＴＵＲＮ制御ポートが開いているとみなされる。中継サーバー１２４、１２４ａは、ＴＵＲＮ  ＵＤＰ制御ポート上でＵＤＰデータグラムを受信し、またはＴＵＲＮ  ＴＣＰ制御ポート上で入力ＴＣＰ接続を受信する準備ができているとみなされる。ＴＵＲＮサーバー１２４、１２４ａが、フェデレーションクライアント間のアプリケーション共有もしくはデータ転送、または信頼できるＴＣＰ接続を必要とする他の任意のアプリケーションをサポートする場合、外部ファイアウォールは、ある範囲のポートからの出力方向のＴＣＰセッションの確立を可能にするように構成されるとみなされる。
【００４５】
拡張中継サーバープロトコルは、様々なチャネル要件に基づいて、様々なネットワークトランスポートを利用することができる。拡張中継サーバープロトコルで使用する特定のネットワークトランスポートは、クライアントが自らのローカル中継に接続するために使用するネットワークトランスポート、および所与のメディアチャネル上の信頼できるデータ配信についてのクライアントの要件によって決まる。例えば、クライアントが、中継サーバーと通信するためのネットワークトランスポートとしてＵＤＰを使用している場合、メディアチャネルはＵＤＰを使用して確立される。別の例では、クライアントが、ネットワークトランスポートとしてＴＣＰを使用しており、ＲＴＰ音声や映像のためなど、信頼できるデータ配信を必要としない場合、メディアチャネルはＵＤＰを介して確立される。さらに別の例では、クライアントが、トランスポートとしてＴＣＰを使用しており、アプリケーション共有やファイル転送のためなど、信頼できるデータ配信を必要とする場合、メディアチャネルはＴＣＰを使用して確立される。クライアントは、認証された割当要求メッセージの中のサービス品質属性を使用し、信頼できるデータ配信を必要とするＴＵＲＮセッションを識別する。
【００４６】
拡張中継サーバープロトコルの、より詳細な説明を以下に示す。このセクションは、拡張中継サーバープロトコルに関与するために一実装形態が維持する、可能なデータ編成の概念モデルについて記載する。記載する編成は、このプロトコルが動作する方法についての説明を容易にするために提供する。拡張中継サーバープロトコルは、諸実装形態の外的動作が拡張中継サーバープロトコルについて記載する外的動作と一貫している限り、諸実装形態がこのモデルに忠実であることは義務付けない。この説明では、用語「セッション」は、クライアントとサーバーとの間のまたは２つのサーバー間の５個組みを識別するために使用する。サーバーに到達するすべてのＴＵＲＮメッセージ、生データメッセージ、およびチャネルフレームメッセージは、セッションに関連する。本明細書で使用するとき、用語「メディアチャネル」または単純に「チャネル」は、２つのＴＵＲＮサーバー間のデータの流れを識別するために使用する。チャネルは、チャネルフレームメッセージ内のチャネル番号、送信元ポート、および宛先ポートによって識別される３個組によって指定される。
【００４７】
中継サーバー１２４、１２４ａの初期化中、拡張中継サーバープロトコルは、それぞれの中継サーバー１２４、１２４ａがＵＤＰポート３４７８上でＵＤＰデータグラムを受信できるとみなす。さらに、それぞれの中継サーバー１２４、１２４ａは、ＴＣＰポート４４３上で入力ＴＣＰ接続を受け付けることができるとみなされる。限定ではなく例としてこれら２つのＴＵＲＮ制御ポートを使用するが、いかなる一意に指定されるポート番号も、任意の方法で所与の実装形態に関して使用可能であることが理解できよう。諸実施形態は、この文脈に限定されることはない。
【００４８】
拡張中継サーバープロトコルは、チャネルフレームメッセージをＴＵＲＮポート上で受信できるようにする。以前は、ＴＵＲＮポート上で許可された唯一のメッセージは、ＴＵＲＮフレームメッセージまたは生データメッセージであり、これらのメッセージは、アクティブ宛先設定メッセージを使用することにより、クライアントとＴＵＲＮサーバーとの間のＴＵＲＮセッションがアクティブ状態に移行した後にのみ有効であった。拡張中継サーバープロトコルでは、ＴＵＲＮポート上の受信機は、ＴＵＲＮメッセージおよびチャネルフレームメッセージもチェックしなければならない。
【００４９】
チャネルフレームメッセージの追加を伴い、拡張中継サーバープロトコルは、ＳＴＵＮプロトコルおよび／またはＴＵＲＮプロトコルの全体的フレームワークの中で、チャネルフレームメッセージを処理するためのロジックを実装する。拡張中継制御モジュール１６０、１６０ａが実装する、チャネルフレームメッセージ、ＴＵＲＮメッセージ、および非ＴＵＲＮメッセージのための様々なメッセージ処理ルールについて、以下のセクションで説明することができる。
【００５０】
最初の問題として、ＴＵＲＮ制御ポート上で受信されるすべてのメッセージは、ＴＵＲＮプロトコルで規定されるように確認されるべきである。同様に、送信要求メッセージ以外のすべてのＴＵＲＮメッセージは、ＴＵＲＮプロトコルで規定されるように処理されるべきである。
【００５１】
ＴＵＲＮメッセージが送信要求メッセージの場合、拡張中継制御モジュール１６０、１６０ａは、いくらか改変されたＴＵＲＮプロトコルに従ってメッセージ処理操作を実行する。送信要求メッセージを受信すると、拡張中継制御モジュール１６０、１６０ａは、ＴＵＲＮプロトコルで規定されるようにメッセージ処理を実行する。さらに、それぞれの中継サーバー１２４、１２４ａの拡張中継制御モジュール１６０、１６０ａは、以下のメッセージ処理操作のうちの一部またはすべてを実行し、そのチャネル上をデータが流れることができる、ピア中継サーバー１２４、１２４ａとのチャネルセッションを確立する。例えば、中継サーバー１２４、１２４ａは、図４に関して説明するチャネルフレームメッセージを形成する。割り当てられたポートのネットワークトランスポートがＵＤＰの場合、中継サーバー１２４は、チャネル番号のために０ｘＦＦ００などの一意識別子を使用する。割り当てられたポートのネットワークトランスポートがＴＣＰの場合、サーバーは、チャネル番号のために０ｘＦＦ０１などの一意識別子を使用する。長さは、４などの標準値に、チャネルフレームメッセージに含められる任意のデータの長さを加えたものに設定することができる。送信元ポートは、ローカル割り当て済みアドレスポートに設定することができる。宛先ポートは、送信要求メッセージの宛先アドレス属性の中で識別されるポートに設定することができる。中継サーバー１２４は、送信要求メッセージのデータ属性によって識別されるデータペイロードをオプションで含むことができる。
【００５２】
送信要求メッセージの処理操作について続けると、割り当てられたポートのネットワークトランスポートがＵＤＰの場合、または割り当てられたポートのネットワークトランスポートがＴＣＰであり、かつクライアントがサービス品質属性の中で信頼できないデータ配信を指定する場合、中継サーバー１２４、１２４ａは、ＵＤＰを使用してチャネルフレームメッセージを送信することができる。チャネルフレームメッセージを運ぶＵＤＰデータグラムは、割り当てられたトランスポートアドレスと同じである送信元アドレスを有することができる。中継サーバー１２４、１２４ａは、ＵＤＰデータグラムの送信元ポートとして、ＴＵＲＮ制御ポート３４８７を使用することができる。チャネルフレームメッセージを運ぶＵＤＰデータグラムは、宛先アドレス属性の中で識別されるアドレスと同じである宛先アドレスを有することができる。ＵＤＰデータグラムの宛先ポートは、ＴＵＲＮ制御ポート３４７８とすることができる。
【００５３】
送信要求メッセージの処理操作について続けると、割り当てられたポートのネットワークトランスポートがＴＣＰであり、かつクライアントがサービス品質属性の中で信頼できるデータ配信を指定する場合、中継サーバー１２４、１２４ａは、ＴＣＰを使用してチャネルフレームメッセージを送信することができる。中継サーバー１２４、１２４ａと、送信要求メッセージの宛先アドレス属性の中で指定されるトランスポートアドレスとの間にＴＣＰ接続が確立されていない場合、中継サーバー１２４、１２４ａがＴＣＰ接続を作成する。ＴＣＰ接続は、割り当てられたトランスポートアドレスと同じである送信元アドレスを含む。中継サーバー１２４、１２４ａは、ＴＣＰ接続の送信元ポートとして、割り当てられたポートを使用することができる。ＴＣＰ接続は、宛先アドレス属性の中で識別されるアドレスと同じである宛先アドレスを含む。ＴＣＰ接続の宛先ポートは、ＴＵＲＮ制御ポート４４３とすることができる。ＴＣＰ接続を確立すると、中継サーバー１２４、１２４ａは、そのメディア接続を介してチャネルフレームメッセージを送信する。
【００５４】
拡張中継制御モジュール１６０、１６０ａが実行する全体的なメッセージ処理操作について再び言及すると、受信したメッセージがＴＵＲＮメッセージではない場合、拡張中継制御モジュール１６０、１６０ａは、その受信メッセージがクライアントとのＴＵＲＮセッションの一部かどうかを判定する。セッションがＴＵＲＮセッションであり、クライアントがアクティブ宛先設定要求メッセージを中継サーバー１２４、１２４ａに送信することにより、そのセッションがアクティブ状態に移行している場合、拡張中継制御モジュール１６０、１６０ａは、送信要求メッセージに関して前に説明したのと同じまたは同様のメッセージ処理ルールを使用し、そのメッセージを処理することができる。
【００５５】
セッションがＴＵＲＮセッションでない場合、そのメッセージは入力方向のチャネルフレームメッセージとして確認される。例えば、あるメッセージがＴＵＲＮフレームメッセージではないと判定された場合、そのメッセージは、チャネルフレームメッセージかどうかチェックされる。拡張中継制御モジュール１６０、１６０ａは、その受信メッセージがチャネルフレームメッセージかどうか、および適切に形成されていることを確認する。その受信メッセージが有効なチャネルフレームメッセージでない、または適切に形成されていない場合、中継サーバー１２４、１２４ａがそのメッセージを確認なしで削除する。中継サーバー１２４、１２４ａは、チャネルフレームメッセージ内の長さフィールドが４以上であることを確認する。この長さが４より少ない場合、中継サーバー１２４、１２４ａがそのパケットを確認なしで削除する。中継サーバー１２４、１２４ａは、チャネルフレームメッセージ内の宛先ポートが、中継サーバー１２４、１２４ａのＴＵＲＮ割り当て範囲内の有効なポートであることも確認する。ポートが適切な割り当て範囲内にない場合、中継サーバー１２４、１２４ａがそのパケットを確認なしで削除する。
【００５６】
有効なチャネルフレームデータメッセージを、ＵＤＰデータグラムとしてまたはＴＣＰ接続を介して受信したデータとして受信すると、拡張中継制御モジュール１６０、１６０ａは、宛先ポートについて設定される受信アクセス許可を、トランスポートアドレスであって、そこからチャネルフレームメッセージが受信された、トランスポートアドレスと突き合わせてチェックする。クライアントがアクセス許可を設定していない場合、中継サーバー１２４、１２４ａがそのパケットを確認なしで削除する。拡張中継制御モジュール１６０、１６０ａは、ＴＵＲＮプロトコルに従い、チャネルフレームメッセージ内のデータを、あたかもそのデータが割り当てられたポートにおいて直接受信されたかのように処理し続ける。
【００５７】
２つの中継サーバー１２４、１２４ａ間の直接接続をファイアウォールがブロックしていない場合、チャネルフレームセッションを介してだけでなく、割り当てられたポート間で直接接続を確立することもできる。この場合、割り当てられたポートへの直接接続が望ましい可能性があり、チャネルフレーム通信機構から、割り当てられたポート上での直接受信に切り替えることができる。最初にチャネルフレームセッションが確立される場合、割り当てられたポートにおいてデータを直接受信するまでそのセッションを使用する。割り当てられたポート上でデータを受信すると、チャネルフレームセッションから、割り当てられたポート上の直接接続に接続が切り替わる。
【００５８】
中継サーバー１２４、１２４ａは、割当要求メッセージに対する特別なメッセージ処理操作を有することもできる。割当要求メッセージを受信すると、中継サーバー１２４、１２４ａは、ＴＵＲＮプロトコルで規定されるようにメッセージ処理を実行する。加えて、中継サーバー１２４、１２４ａは、いくつかの特別な処理を実行する。例えば、その要求がサービス品質属性を含む場合、中継サーバー１２４、１２４ａは、その要求されたサービスの種類およびストリームの種類を自らがサポートすることを確認する。そのサービスの種類をサポートしていない場合、中継サーバー１２４、１２４ａは、メディアの種類がサポートされていないことを表すエラー応答コード４１５を伴う割当エラー応答メッセージで応答する。サポートされていないサービスの種類の一例は、ＵＤＰ割り当てによる信頼できる配信の要求である。そのストリームの種類をサポートしていない場合、中継サーバー１２４、１２４ａは、メディアの種類がサポートされていないことを表すエラー応答コード４１５を含む割当エラー応答メッセージで応答する。その要求がサービス品質属性を含まない場合、中継サーバー１２４、１２４ａは、デフォルトでベストエフォート配信のサービスの種類になる。
【００５９】
場合によっては、中継サーバー１２４、１２４ａは、非ＴＵＲＮデータをクライアントから受信することがある。非ＴＵＲＮフレームデータをクライアントから受信すると、中継サーバー１２４、１２４ａは、ＴＵＲＮプロトコルで規定されるようにメッセージ処理を実行する。クライアントについて設定されるアクティブ宛先が、データを転送するためにチャネルセッションを使用していると判断される場合、中継サーバー１２４、１２４ａはチャネルフレームメッセージを形成する。割り当てられたポートのネットワークトランスポートがＵＤＰの場合、中継サーバー１２４、１２４ａは、チャネル番号のために０ｘＦＦ００を使用する。割り当てられたポートのネットワークトランスポートがＴＣＰの場合、中継サーバー１２４、１２４ａは、チャネル番号のために０ｘＦＦ０１を使用する。長さは、このメッセージに含められる非ＴＵＲＮフレームデータの長さに４を加えたものに設定される。送信元ポートは、ローカル割り当て済みアドレスポートに設定される。宛先ポートは、送信要求メッセージの宛先アドレス属性の中で識別されるポートに設定される。中継サーバー１２４、１２４ａは、クライアントからの非ＴＵＲＮフレームデータを含める。割り当てられたポートのネットワークトランスポートがＵＤＰの場合、または割り当てられたポートのネットワークトランスポートがＴＣＰであり、かつクライアントがサービス品質属性の中で信頼できないデータ配信を指定する場合、中継サーバー１２４、１２４ａは、ＵＤＰを使用してチャネルフレームメッセージを送信する。チャネルフレームメッセージを運ぶＵＤＰデータグラムは、割り当てられたトランスポートアドレスと同じである送信元アドレスを有することができる。中継サーバー１２４、１２４ａは、ＵＤＰデータグラムの送信元ポートとして、ＴＵＲＮポート３４８７を使用すべきである。チャネルフレームデータメッセージを運ぶＵＤＰデータグラムは、宛先アドレス属性の中で識別されるアドレスと同じである宛先アドレスを有する。ＵＤＰデータグラムの宛先ポートは、ＴＵＲＮポート３４７８に設定される。割り当てられたポートのネットワークトランスポートがＴＣＰであり、かつクライアントがサービス品質属性の中で信頼できるデータ配信を指定する場合、中継サーバー１２４、１２４ａは、ＴＣＰを使用してチャネルフレームメッセージを送信する。中継サーバー１２４、１２４ａと、アクティブ宛先設定要求の宛先アドレス属性の中で指定されるトランスポートアドレスとの間にＴＣＰ接続が確立されていない場合、中継サーバー１２４、１２４ａがＴＣＰ接続を作成する。ＴＣＰ接続は、割り当てられたトランスポートアドレスと同じである送信元アドレスを有することができる。中継サーバー１２４、１２４ａは、ＴＣＰ接続の送信元ポートとして、割り当てられたポートを使用すべきである。ＴＣＰ接続は、宛先アドレス属性の中で識別されるアドレスと同じである宛先アドレスを有する。ＴＣＰ接続の宛先ポートは、ＴＵＲＮポート４４３である。ＴＣＰ接続を確立すると、中継サーバー１２４、１２４ａは、その接続を介してチャネルフレームデータメッセージを送信する。
【００６０】
図３Ａは、メッセージフロー３００を示す。メッセージフロー３００は、図１に関して記載した通信システム１００の様々な要素間のメッセージフローを表すことができる。より詳細には、メッセージフロー３００は、通信システム１００のメッセージフローおよび動作についてのより詳細な例を提供することができる。
【００６１】
メッセージフロー３００では、ピアクライアント１３２−１を、第１の企業体の認証されたユーザーとみなす。ピアクライアント１３２−１は、ＮＡＴ１２８の背後にあり、境界ネットワーク１２０内の中継サーバー１２４を使用して、公的にアクセス可能なトランスポートアドレスを割り当てる。同様に、ピアクライアント１３２−１ａを、第２の企業体の認証されたユーザーとみなす。ピアクライアント１３２−１ａは、ＮＡＴ１２８ａの背後にあり、境界ネットワーク１２０ａ内の中継サーバー１２４ａを使用して、公的にアクセス可能なトランスポートアドレスを割り当てる。両方の企業体の外部ファイアウォール３０２、３０２ａは、双方向通信用のＵＤＰポート３４７８およびＴＣＰポート４４３が開いている。さらに、どちらの外部ファイアウォールも、出力方向のＴＣＰセッション用のポート範囲５０，０００〜６０，０００が開いている。
【００６２】
図３Ａに示す図示の実施形態において、２つのピアクライアント１３２−１、１３２−１ａが、ネットワークトランスポートとしてＵＤＰを使用して、両者の間にメディアフローを確立することを望むと仮定する。ピアクライアント１３２−１、１３２−１ａは、従来のＳＤＰ技法およびＳＩＰ技法を使用してピアクライアント１３２−１、１３２−１ａから送信されるＳＩＰダイアログのＳＤＰ内で、それぞれの中継サーバー１２４、１２４ａから両者が割り当てたパブリックトランスポートアドレスを交換する。例えば、ピアクライアント１３２−１は、ＴＵＲＮプロトコルを使用して、中継サーバー１２４からＵＤＰパブリックトランスポートアドレスを割り当てる。矢印３０４によって示すように、ピアクライアント１３２−１が、中継サーバー１２４に割当要求メッセージを送信する。矢印３０６によって示すように、中継サーバー１２４は、ピアクライアント１３２−１へのポート割り当てを伴う割当応答メッセージを送信する。矢印３０５、３０７によって示すように、ピアクライアント１３２−１ａは同様のポート割り当て操作を実行して、中継サーバー１２４ａからＵＤＰパブリックトランスポートアドレスを割り当てる。
【００６３】
各ポートが割り当てられると、矢印３０８によって示すように、ピアクライアント１３２−１が、送信要求メッセージを使用してピアクライアント１３２−１ａのパブリックトランスポートアドレスにデータを送信する。この送信要求は、中継サーバー１２４ａによって割り当てられるピアクライアント１３２−１ａのパブリックトランスポートアドレスを含む宛先アドレスを伴う、宛先アドレス属性を含む。中継サーバー１２４は、ピアクライアント１３２−１の割り当てポートに関連する接続キャッシュをチェックし、接続情報を得られないため、ピアクライアント１３２−１の割り当てトランスポートアドレスから、中継サーバー１２４ａ上のピアクライアント１３２−１ａの割り当てトランスポートアドレスに生データを送信しようと試みる。
【００６４】
外部エッジファイアウォール３０２は、中継サーバー１２４の割り当てポート範囲が閉じているように構成されるので、矢印３１０によって示すように、出力方向のデータはファイアウォール３０２において削除される。矢印３１２によって示すように、同時に、中継サーバー１２４は、チャネルフレームメッセージを含むＵＤＰデータグラムを送信する。チャネルフレームメッセージは、０ｘＦＦ００のチャネル番号、４の長さ、ピアクライアント１３２−１のパブリックトランスポートアドレスの送信元ポート、ピアクライアント１３２−１ａのパブリックトランスポートアドレスの宛先ポート、および０バイトのデータペイロードを含む。ＵＤＰデータグラムの送信元アドレスは、中継サーバー１２４のパブリックトランスポートアドレスであり、送信元ポートはＴＵＲＮポート３４７８である。ＵＤＰデータグラムの宛先アドレスは、中継サーバー１２４ａのパブリックトランスポートアドレスである、送信要求メッセージの宛先アドレス属性の中で指定されるアドレスであり、宛先ポートはＴＵＲＮポート３４７８である。
【００６５】
中継サーバー１２４ａは、そのチャネルフレームデータメッセージを受信し、そのメッセージ内の宛先ポートが、自らが所有するポートであることを確認する。中継サーバー１２４ａは、ピアクライアント１３２−１ａが、ピアクライアント１３２−１の割り当てアドレスからデータを受信することを許可するかどうかを確認するために、アクセス許可がないかそのポートをチェックする。ピアクライアント１３２−１ａは、まだアクセス許可を設定していないので、そのチャネルフレームデータメッセージは削除される。中継サーバー１２４ａは、ピアクライアント１３２−１のパブリックトランスポートアドレスから、ピアクライアント１３２−１ａのパブリックトランスポートアドレスにおいてチャネルデータが受信されたという接続情報をキャッシュする。
【００６６】
矢印３１４によって示すように、ピアクライアント１３２−１ａは、送信要求メッセージを使用してピアクライアント１３２−１のパブリックトランスポートアドレスにデータを送信する。この送信要求は、中継サーバー１２４によって割り当てられるピアクライアント１３２−１のパブリックトランスポートアドレスに設定される宛先アドレスを伴う、宛先アドレス属性を含む。
【００６７】
中継サーバー１２４ａは、ピアクライアント１３２−１ａの割り当てポートに関連する接続キャッシュをチェックし、ピアクライアント１３２−１ａが、中継サーバー１２４ａ上の割り当てポートと中継サーバー１２４上の割り当てポートとの間でデータを転送するための、中継サーバー１２４とのチャネルセッションを有することを知る。矢印３１６によって示すように、中継サーバー１２４ａは、チャネルフレームメッセージを含むＵＤＰデータグラムを送信する。チャネルフレームメッセージは、０ｘＦＦ００のチャネル番号、４にデータ属性内のデータの長さを加えた長さ、ピアクライアント１３２−１ａのパブリックトランスポートアドレスの送信元ポート、ピアクライアント１３２−１のパブリックトランスポートアドレスの宛先ポートと、その後に続く送信要求メッセージのデータ属性の中で指定されるデータペイロードを含む。ＵＤＰデータグラムの送信元アドレスは、中継サーバー１２４ａのパブリックトランスポートアドレスであり、送信元ポートはＴＵＲＮポート３４７８である。ＵＤＰデータグラムの宛先アドレスは、中継サーバー１２４のパブリックトランスポートアドレスであり、宛先ポートはＴＵＲＮポート３４８７である。
【００６８】
中継サーバー１２４は、そのチャネルフレームデータメッセージを受信し、そのメッセージ内の宛先ポートが、自らが所有するポートであることを確認する。中継サーバー１２４は、ピアクライアント１３２−１が、ピアクライアント１３２−１ａの割り当てアドレスからデータを受信することを許可するかどうかを確認するために、アクセス許可がないかそのポートをチェックする。ピアクライアント１３２−１は、ピアクライアント１３２−１ａへの先の送信要求を行っているので、アクセス許可が設定されており、中継サーバー１２４はそのチャネルフレームデータメッセージからデータを取り、矢印３１８によって示すように、そのデータをデータ指示メッセージ内でピアクライアント１３２−１に送信する。
【００６９】
矢印３２０によって示すように、ピアクライアント１３２−１は、送信要求メッセージを使用してピアクライアント１３２−１ａのパブリックトランスポートアドレスにデータを送信する。送信要求メッセージは、中継サーバー１２４ａによって割り当てられるピアクライアント１３２−１ａのパブリックトランスポートアドレスの宛先アドレスを伴う、宛先アドレス属性を含む。
【００７０】
中継サーバー１２４は、ピアクライアント１３２−１の割り当てポートに関連する接続キャッシュをチェックし、中継サーバー１２４上の割り当てポートと中継サーバー１２４ａ上の割り当てポートとの間でデータを転送するための、中継サーバー１２４ａとのチャネルセッションを見つける。矢印３２２によって示すように、中継サーバー１２４は、チャネルフレームメッセージを含むＵＤＰデータグラムを送信する。チャネルフレームメッセージは、０ｘＦＦ００のチャネル番号、４にデータ属性内のデータの長さを加えた長さ、ピアクライアント１３２−１のパブリックトランスポートアドレスの送信元ポート、ピアクライアント１３２−１ａのパブリックトランスポートアドレスの宛先ポートと、その後に続く送信要求メッセージのデータ属性の中で指定されるデータペイロードを含む。ＵＤＰデータグラムの送信元アドレスは、中継サーバー１２４のパブリックトランスポートアドレスであり、送信元ポートはＴＵＲＮポート３４７８である。ＵＤＰデータグラムの宛先アドレスは、中継サーバー１２４ａのパブリックトランスポートアドレスであり、宛先ポートはＴＵＲＮポート３４８７である。
【００７１】
中継サーバー１２４ａは、そのチャネルフレームデータメッセージを受信し、そのメッセージ内の宛先ポートが、自らが所有するポートであることを確認する。中継サーバー１２４ａは、ピアクライアント１３２−１ａが、ピアクライアント１３２−１の割り当てアドレスからデータを受信することを許可するかどうかを確認するために、アクセス許可がないかそのポートをチェックする。ピアクライアント１３２−１ａは、ピアクライアント１３２−１への先の送信要求を行っているので、アクセス許可が設定されており、中継サーバー１２４ａは、チャネルフレームデータメッセージからデータを取り、矢印３２４によって示すように、そのデータをデータ指示メッセージ内でピアクライアント１３２−１ａに送信する。
【００７２】
ピアクライアント１３２−１ａは、今やピアクライアント１３２−１を、データ転送を効率化するためのアクティブピアにする準備ができている。矢印３２６によって示すように、ピアクライアント１３２−１のパブリックトランスポートアドレスを含む宛先アドレス属性とともに、中継サーバー１２４ａにアクティブ宛先設定要求メッセージが送信される。中継サーバー１２４ａがこの要求を受信すると、中継サーバー１２４ａは中継サーバー１２４とのチャネルセッションをアクティブ宛先として識別し、矢印３２８によって示すように、アクティブ宛先設定応答メッセージをピアクライアント１３２−１ａに送り返す。
【００７３】
矢印３３０によって示すように、ピアクライアント１３２−１ａは、今や非ＴＵＲＮフレームデータを中継サーバー１２４ａに送信することができる。中継サーバー１２４ａが非ＴＵＲＮフレームデータをピアクライアント１３２−１ａから受信すると、中継サーバー１２４ａはアクティブ宛先を検索し、中継サーバー１２４とのチャネルセッションを見つける。矢印３３２によって示すように、中継サーバー１２４ａは、チャネルフレームメッセージを含むＵＤＰデータグラムを送信する。チャネルフレームメッセージは、０ｘＦＦ００のチャネル番号、４に非ＴＵＲＮフレームデータの長さを加えた長さ、ピアクライアント１３２−１ａのパブリックトランスポートアドレスの送信元ポート、ピアクライアント１３２−１のパブリックトランスポートアドレスの宛先ポートと、その後に続くピアクライアント１３２−１ａから受信される非ＴＵＲＮフレームデータを含む。ＵＤＰデータグラムの送信元アドレスは、中継サーバー１２４ａのパブリックトランスポートアドレスであり、送信元ポートはＴＵＲＮポート３４７８である。ＵＤＰデータグラムの宛先アドレスは、中継サーバー１２４のパブリックトランスポートアドレスであり、宛先ポートはＴＵＲＮポート３４８７である。
【００７４】
中継サーバー１２４は、そのチャネルフレームデータメッセージを受信し、そのメッセージ内の宛先ポートが、自らが所有するポートであることを確認する。中継サーバー１２４は、ピアクライアント１３２−１が、ピアクライアント１３２−１ａの割り当てアドレスからデータを受信することを許可するかどうかを確認するために、アクセス許可がないかそのポートをチェックする。ピアクライアント１３２−１は、ピアクライアント１３２−１ａへの先の送信要求を行っているので、アクセス許可が設定されており、中継サーバー１２４はそのチャネルフレームデータメッセージからデータを取り、矢印３３４によって示すように、そのデータをデータ指示メッセージ内でピアクライアント１３２−１に送信する。
【００７５】
ピアクライアント１３２−１は、今やピアクライアント１３２−１ａを、データ転送を効率化するためのアクティブピアにする準備ができている。矢印３３６によって示すように、ピアクライアント１３２−１ａのパブリックトランスポートアドレスを含む宛先アドレス属性とともに、中継サーバー１２４にアクティブ宛先設定要求メッセージが送信される。中継サーバー１２４がこの要求を受信すると、中継サーバー１２４は中継サーバー１２４ａとのチャネルセッションをアクティブ宛先として識別し、矢印３３８によって示すように、アクティブ宛先設定応答メッセージをピアクライアント１３２−１に送り返す。
【００７６】
矢印３４０によって示すように、ピアクライアント１３２−１は、今や非ＴＵＲＮフレームデータを中継サーバー１２４に送信することができる。中継サーバー１２４が非ＴＵＲＮフレームデータをピアクライアント１３２−１から受信すると、中継サーバー１２４はアクティブ宛先を検索し、中継サーバー１２４ａとのチャネルセッションを見つける。矢印３４２によって示すように、中継サーバー１２４は、チャネルフレームメッセージを含むＵＤＰデータグラムを送信する。チャネルフレームメッセージは、０ｘＦＦ００のチャネル番号、４に非ＴＵＲＮフレームデータの長さを加えた長さ、ピアクライアント１３２−１のパブリックトランスポートアドレスの送信元ポート、ピアクライアント１３２−１ａのパブリックトランスポートアドレスの宛先ポートと、その後に続くピアクライアント１３２−１から受信される非ＴＵＲＮフレームデータを含む。ＵＤＰデータグラムの送信元アドレスは、中継サーバー１２４のパブリックトランスポートアドレスであり、送信元ポートはＴＵＲＮポート３４７８である。ＵＤＰデータグラムの宛先アドレスは、中継サーバー１２４ａのパブリックトランスポートアドレスであり、宛先ポートはＴＵＲＮポート３４７８である。
【００７７】
中継サーバー１２４ａは、そのチャネルフレームデータメッセージを受信し、そのメッセージ内の宛先ポートが、自らが所有するポートであることを確認する。中継サーバー１２４ａは、ピアクライアント１３２−１ａが、ピアクライアント１３２−１の割り当てアドレスからデータを受信することを許可するかどうかを確認するために、アクセス許可がないかそのポートをチェックする。ピアクライアント１３２−１ａは、ピアクライアント１３２−１への先の送信要求を行っているので、アクセス許可が設定されており、中継サーバー１２４ａはそのチャネルフレームデータメッセージからデータを取り、矢印３４４によって示すように、そのデータをデータ指示メッセージ内でピアクライアント１３２−１ａに送信する。中継サーバー１２４、１２４ａは、この確立したメディアチャネルを使用してピアクライアント１３２−１、１３２−１ａのためにメディア情報を送信することができる。
【００７８】
図３Ｂは、メッセージフロー３８０を示す。メッセージフロー３８０は、図１に関して記載した通信システム１００の様々な要素間のメッセージフローを表すことができる。より詳細には、メッセージフロー３８０は、通信システム１００のメッセージフローおよび動作についてのより詳細な例を提供することができる。
【００７９】
メッセージフロー３８０は、２つのピアクライアント１３２−１、１３２−１ａが、ネットワークトランスポートとしてＴＣＰを使用して両者の間にメディアフローを確立することを望むと仮定することを除き、メッセージフロー３００に類似した例示的メッセージフローを示す。そのためメッセージフロー３８０は、ＴＣＰメッセージング操作を示すための矢印４１０、４１２、および４１４を含む。例えば、中継サーバー１２４は、ピアクライアント１３２−１から送信要求メッセージを受信し、ピアクライアント１３２−１の割り当てポートに関連する接続キャッシュをチェックし、接続情報を得られない場合がある。したがって、矢印４１０によって示すように、中継サーバー１２４は、中継サーバー１２４ａ上のピアクライアント１３２−１ａの割り当てパブリックトランスポートアドレスへのＴＣＰ  ＳＹＮメッセージを使用し、ＴＣＰ接続を作成しようと試みる。中継サーバー１２４ａの外部エッジファイアウォール３０２ａは、ＴＣＰ制御ポート４４３を除くすべてのポートについて中継サーバー１２４ａへの入力ＴＣＰ接続をブロックするように構成されるので、接続試行はファイアウォール３０２ａにおいて失敗する。同時に、中継サーバー１２４は、送信要求メッセージの宛先アドレス属性の中で指定されるＩＰアドレスへのＴＣＰ接続を作成しようと試みるが、宛先ポートとしてＴＣＰ制御ポート４４３を使用する。矢印４１２によって示すように、中継サーバー１２４は、ＴＣＰ  ＳＹＮメッセージを中継サーバー１２４ａに送信する。ファイアウォール３０２ａは、ＴＣＰ制御ポート４４３上の入力ＴＣＰ接続について開いているので、この接続は成功し、矢印４１４によって示すように、中継サーバー１２４ａはＴＣＰ  ＳＹＮ−ＡＣＫを中継サーバー１２４に送信する。この接続が完成すると、中継サーバー１２４は、ＴＣＰ接続を介してチャネルフレームメッセージを送信する。メッセージフロー操作は、メッセージフロー３００に関して説明したように続行する。
【００８０】
図４は、チャネルフレームメッセージ４００の一実施形態を示す。特別なチャネルフレームメッセージを使用することにより、中継サーバー１２４、１２４ａ間にチャネルが確立される。一実施形態において、チャネルフレームメッセージは、８バイトのヘッダーと、その後に続く０バイト以上のデータを含む。チャネルフレームメッセージ４００は、拡張中継サーバープロトコルで使用するのに適した例示的ヘッダーを提供する。所与の実装形態に関して要求される通りに、チャネルフレームメッセージのために他のデータ構造を使用できることが理解できよう。諸実施形態は、この文脈に限定されることはない。
【００８１】
図４に示す図示の実施形態において、チャネルフレームメッセージ４００は、チャネル番号フィールド４０２、長さフィールド４０４、送信元ポートフィールド４０６、宛先ポートフィールド４０８、および可変長データフィールド４１０を有する８バイトのヘッダーを含む。チャネル番号フィールド４０２は、１６ビットで構成され、中継サーバー１２４、１２４ａ間でデータを運ぶために使用されるチャネルを識別することができる。長さフィールド４０４は、１６ビットであり、長さフィールド自体の直後に続くフレームのバイト数をカウントする。送信元ポートフィールド４０６は、１６ビットであり、送信側の中継上の割り当てポートを識別する。宛先ポートフィールド４０８は、１６ビットであり、受信側の中継上の割り当てポートを識別する。
【００８２】
より詳細には、チャネル番号フィールド４０２は、１６ビットで構成され、中継サーバー１２４、１２４ａ間でデータを運ぶために使用されるチャネルを識別することができる。チャネル番号は、０ｘＦＦ００から０ｘＦＦＦＥまでの範囲内とすることができる。このチャネルは、割り当てられたポートのトランスポートを識別する。チャネルを使用することは、中継サーバー１２４、１２４ａ間でチャネルデータを運ぶために、エンドツーエンドセッションの個々のクライアント区間（ｃｌｉｅｎｔ  ｌｅｇｓ）に使用されるトランスポートと異なるトランスポートを使用できるようにする。サポートされるチャネル番号の例を、以下の通り表１に示すことができる。
【００８３】
【表１】
2011525776.tif 000003
【００８４】
様々な実施形態は、拡張中継サーバープロトコルのためのサービス品質属性をオプションで実装することができる。サービス品質属性は、割り当てられたトランスポートアドレスに関して、クライアントによって要求されるサービスの種類を指定するために使用される。サービス品質属性は、ＴＵＲＮプロトコルにおいて規定される認証された割当要求メッセージの一部として供給される。サービス品質属性がない場合、中継サーバー１２４、１２４ａは、割り当てられたトランスポートアドレスを介してベストエフォート配信を行う。
【００８５】
サービス品質属性は、属性の種類、属性の長さ、サービスの種類、およびストリームの種類のためのフィールドを含む、チャネルフレームメッセージ４００と同様のサイズ（例えば、８バイト）のヘッダー構造を有することができる。属性の種類および属性の長さの例には、０ｘ８０５５および０ｘ０００４がそれぞれ含まれ得る。
【００８６】
サービスの種類フィールドは、１６ビットであり、この割り当てられたポートを介して要求されるサービスの種類を運ぶことができる。サポートされる値の例を、以下の通り表２に示す。
【００８７】
【表２】
2011525776.tif 000004
【００８８】
ストリームフィールドは、１６ビットであり、割り当てられたポートを介して転送されるデータストリームの種類を指定することができる。サポートされる値の例を、以下の通り表３に示す。
【００８９】
【表３】
2011525776.tif 000005
【００９０】
図５は、様々な実施形態を実施するのに適したコンピューティングアーキテクチャ５１０のより詳細なブロック図をさらに示す。基本構成では、コンピューティングアーキテクチャ５１０は、典型的には少なくとも１つの処理ユニット５３２およびメモリ５３４を含む。メモリ５３４は、揮発性メモリおよび不揮発性メモリの両方を含む、データを記憶できる任意の機械可読媒体またはコンピューター可読媒体を使用して実装することができる。例えば、メモリ５３４には、ＲＯＭ（読み取り専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、ＤＲＡＭ（ダイナミックＲＡＭ）、ＤＤＲＡＭ（ダブルデータレートＤＲＡＭ）、ＳＤＲＡＭ（同期ＤＲＡＭ）、ＳＲＡＭ（静的ＲＡＭ）、ＰＲＯＭ（プログラム可能ＲＯＭ）、ＥＰＲＯＭ（消去可能プログラム可能ＲＯＭ）、ＥＥＰＲＯＭ（電気的消去可能プログラム可能ＲＯＭ）、フラッシュメモリ、強誘電性ポリマメモリなどのポリマメモリ、オーボニックメモリ、相変化メモリや強誘電性メモリ、ＳＯＮＯＳ（ｓｉｌｉｃｏｎ−ｏｘｉｄｅ−ｎｉｔｒｉｄｅ−ｏｘｉｄｅ−ｓｉｌｉｃｏｎ）メモリ、磁気カードや光学式カード、または情報を記憶するのに適した他の任意の種類の媒体が含まれ得る。図５に示すように、メモリ５３４は、１つまたは複数のソフトウェアプログラム５３６−１〜ｔなどの様々なソフトウェアプログラム、および付随するデータを記憶することができる。実装形態にもよるが、ソフトウェアプログラム５３６−１〜ｔの例には、システムプログラム５３６−１（例えば、オペレーティングシステム）、アプリケーションプログラム５３６−２（例えば、ウェブブラウザ）、拡張中継制御モジュール１６０等が含まれ得る。
【００９１】
コンピューティングアーキテクチャ５１０は、その基本構成以上に、追加の特徴および／または機能を有することもできる。例えば、コンピューティングアーキテクチャ５１０は、前に記載した様々な種類の機械可読媒体またはコンピューター可読媒体が同様に含まれ得る、リムーバブルストレージ５３８および固定ストレージ５４０を含むことができる。コンピューティングアーキテクチャ５１０は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、測定デバイス、センサーなど、１つまたは複数の入力デバイス５４４も含むことができる。コンピューティングアーキテクチャ５１０は、ディスプレイ、スピーカー、プリンターなど、１つまたは複数の出力デバイス５４２も含むことができる。
【００９２】
コンピューティングアーキテクチャ５１０は、コンピューティングアーキテクチャ５１０が他のデバイスと通信することを可能にする、１つまたは複数の通信接続５４６をさらに含むことができる。通信接続５４６は、例えば、通信コンポーネント１１６−１〜ｖの通信インターフェイスに相当することができる。通信接続５４６には、１つまたは複数の通信インターフェイス、ネットワークインターフェイス、ＮＩＣ（ネットワークインターフェイスカード）、ラジオ、無線送受信機（トランシーバ）、有線および／または無線通信媒体、物理コネクタなど、様々な種類の標準通信要素が含まれ得る。通信媒体は、典型的には搬送波や他の搬送機構などの変調データ信号により、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータを具体化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号の中の情報をエンコードするような方法で、その特性のうちの１つまたは複数が設定されもしくは変更された信号を意味する。限定ではなく例として、通信媒体には有線通信媒体および無線通信媒体が含まれる。有線通信媒体の例には、ワイヤ、ケーブル、金属導線、プリント回路板（ＰＣＢ）、バックプレーン、スイッチ構成、半導体物質、ツイストペアワイヤ、同軸ケーブル、光ファイバー、伝搬信号等が含まれ得る。無線通信媒体の例には、アコースティック、ＲＦ（無線周波）スペクトル、赤外線や他の無線媒体が含まれ得る。本明細書で使用するとき、用語、機械可読媒体およびコンピューター可読媒体は、記憶媒体および通信媒体の両方を含むことを意図する。
【００９３】
図６は、様々な実施形態のためのロジックを記憶するのに適した製造品６００の図を示す。図示のように、製造品６００は、ロジック６０４を記憶するための記憶媒体６０２を含むことができる。記憶媒体６０２の例には、揮発性メモリや不揮発性メモリ、リムーバブルメモリや固定メモリ、消去可能メモリや消去不可メモリ、書込み可能メモリや再書込み可能メモリなどを含む、電子データを記憶できる１つまたは複数の種類のコンピューター可読記憶媒体が含まれ得る。ロジック６０４の例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインターフェイス、ＡＰＩ（アプリケーションプログラムインターフェイス）、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、語、値、記号、またはこれらの任意の組合せなど、様々なソフトウェア要素が含まれ得る。
【００９４】
例えば、一実施形態において、製造品６００および／またはコンピューター可読記憶媒体６０２は、コンピューターによって実行されるとき、記載した実施形態による方法および／または操作をそのコンピューターに実行させる、実行可能なコンピュータープログラム命令を含むロジック６０４を記憶することができる。この実行可能なコンピュータープログラム命令は、ソースコード、コンパイル済コード、解釈済コード、実行可能コード、静的コード、ダイナミックコードなど、任意の適切な種類のコードを含むことができる。この実行可能なコンピュータープログラム命令は、特定の機能を実行するようにコンピューターに命令するための、定義済コンピューター言語、方法、または構文に従って実装することができる。この命令は、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、ＢＡＳＩＣ、Ｐｅｒｌ、Ｍａｔｌａｂ、Ｐａｓｃａｌ、Ｖｉｓｕａｌ  ＢＡＳＩＣ、アセンブリ言語など、任意の適切な高水準プログラミング言語、低水準プログラミング言語、オブジェクト指向プログラミング言語、ビジュアルプログラミング言語、コンパイル済および／または解釈済プログラミング言語を使用して実装することができる。
【００９５】
様々な実施形態を、ハードウェア要素、ソフトウェア要素、またはその両方の組合せを使用して実施することができる。ハードウェア要素の例には、論理デバイスに関して前に挙げた例のいずれかが含まれてよく、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗器、コンデンサ、誘導子等）、集積回路、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等がさらに含まれる。ソフトウェア要素の例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインターフェイス、ＡＰＩ（アプリケーションプログラムインターフェイス）、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、語、値、記号、またはこれらの任意の組合せが含まれ得る。実施形態をハードウェア要素を使用しかつ／またはソフトウェア要素を使用して実施するかどうかを決定することは、所与の実装形態に望まれる、所望の演算速度、電源レベル、耐熱性、処理サイクル予算、入力データ伝送速度、出力データ伝送速度、メモリリソース、データバス速度、および他の設計制約や性能制約など、いくつかの要因によって異なり得る。
【００９６】
一部の実施形態は、表現「結合する」および「接続する」をこれらの派生語とともに使用して記載することがある。これらの用語は、必ずしも互いの同義語として意図するものではない。例えば、ある実施形態は、用語「接続する」および／または「結合する」を使用して記載し、２つ以上の要素が互いに物理的にまたは電気的に直接接触することを示すことができる。ただし、用語「結合する」は、２つ以上の要素が互いに直接接触しないが、それでもなお互いに協働しまたは相互作用することを意味することもできる。
【００９７】
本開示の「要約」は、読み手が技術的開示の性質を素早く確認することを可能にする要約を要求する、３７Ｃ．Ｆ．Ｒ．  Ｓｅｃｔｉｏｎ  １．７２（ｂ）に準拠するために提供することを強調しておく。その「要約」は、特許請求の範囲に記載の範囲または意味を解釈しもしくは限定するために使用されないという理解で提出されている。さらに、上記の「発明を実施する形態」では、本開示を簡潔にするために、様々な特徴を単一の実施形態へとまとめていることが理解できよう。この開示方法は、特許請求する諸実施形態が、各請求項に明示的に列挙されるよりも多くの特徴を必要とするという意図を反映するものとして解釈すべきでない。むしろ、添付の特許請求の範囲が反映するように、本発明の主題は、開示した単一の実施形態のすべての特徴にあるわけでは決してない。したがって、添付の特許請求の範囲は、これにより「発明を実施する形態」に組み込まれ、各請求項は別個の実施形態として単独で有効である。添付の特許請求の範囲では、用語「含む（ｉｎｃｌｕｄｉｎｇ）」および「ここで（ｉｎ  ｗｈｉｃｈ）」は、各々の用語「備える（ｃｏｍｐｒｉｓｉｎｇ）」および「そこで（ｗｈｅｒｅｉｎ）」それぞれについて等価の平易な英語として使用する。さらに、用語「第１の」、「第２の」、「第３の」等は、単にラベルとして使用し、それらラベルの対象に数値的要件を課すことを意図するものではない。
【００９８】
本主題は、構造的特徴および／または方法論的行為に固有の言語で説明してきたが、添付の特許請求の範囲に定義する本主題は、上記の特定の特徴または行為に必ずしも限定されないことを理解すべきである。むしろ、上記の特定の特徴および行為は、特許請求の範囲を実施する形式の例として開示した。
【図１】
2011525776.tif 000006
【図２】
2011525776.tif 000007
【図３Ａ】
2011525776.tif 000008
【図３Ｂ】
2011525776.tif 000009
【図４】
2011525776.tif 000010
【図５】
2011525776.tif 000011
【図６】
2011525776.tif 000012
【国際調査報告】
2011525776.tif 000013
2011525776.tif 000014