【手続補正書】
【提出日】平成23年12月14日(2011.12.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のシンメトリックＮＡＴ（network address translator）の後ろに位置している第１のノードと、２またはそれ以上の他のノードとの間をネットワークを通じてピアツーピア接続するための方法であって、
ａ）前記第１のノードと第２のノードとの間でコミュニケーションセッションを開始するためにポート予測を実行し、および前記第１のノードのある前記第１のＮＡＴ上における予測された転送アドレスのリストを構築し、
ｂ）予測された転送アドレスのリストを含む接続リクエストメッセージを前記第１のノードから第２のノードへ送信し、
ｃ）前記第１のノードにおいて前記接続リクエストメッセージの暫定応答を受信し、
ｄ）前記予測された転送アドレスを使って前記第１のノードと前記第２のノードとの間の接続性チェックを実行し、
ｅ）ｄ）が始まるまで、前記第１のノードと第３のノードとの間のコミュニケーションのためのポート予測を遅延することを特徴とする方法。
【請求項２】
ｆ）ｅ）の後、前記第１のＮＡＴ上の予測された転送アドレスのリストを構築する前記第１のノードと、第３のノードとの間のコミュニケーションのためのポート予測を実行し、
ｇ）予測された転送アドレスのリストを含む接続リクエストメッセージを前記第１のノードから第３のノードへ送信し、
ｈ）前記予測された転送アドレスを使って前記第１のノードと前記第３のノードとの間の接続性チェックを実行することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
ｉ）ｇ）の後まで、前記第１のノードと第４のノードとの間のコミュニケーションのためのポート予測を遅延することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
接続性チェックの実行は、前記接続リクエストメッセージ内の前記第１のノードによって提供された一またはそれ以上の予測された転送アドレスに、前記第２のノードからのＳＴＵＮ（Session Traversal Utilitiy for NAT）パケットを送信することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
接続性チェックの実行は、ＳＴＵＮパケット応答を前記第１のノードから前記第２のノードに送信することをさらに含み、
前記ＳＴＵＮパケット応答は、前記第２のノードから送信された前記ＳＴＵＮパケットのうち一つが前記第１のノードに到達するとき通った前記第１のＮＡＴ上の外部ポートの転送アドレスを含むことを特徴とする請求項４に記載の方法。
【請求項６】
ａ）は、前記第１のＮＡＴ用のポート増加量Δｐを決定し、当該ポート増加量Δｐを用いて前記予測された転送アドレスのリストを生成することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
ａ）は、前記第１のＮＡＴ用のポート増加量Δｐを決定し、当該ポート増加量Δｐおよび１又はそれ以上の異なるポート増加量を用いて前記予測された転送アドレスのリストを生成することを含み、
追加のポート増加量それぞれは、Δｐと深さＭだけ異なり、
Ｍは１よりも大きい正の整数であることを特徴とする請求項１に記載の方法。
【請求項８】
Ｍは３と等しいことを特徴とする請求項７に記載の方法。
【請求項９】
ｂ）の後一定期間ＴＷ待機するが、ｃ）の前に、前記第２のノードが他のノードと接続するために待ち行列に入れられたことを示す前記第２のノードからのメッセージに応じて、前記第１のノードと前記第２のノードとの間のコミュニケーションセッションを中止し、
ａ）、ｂ）、ｃ）、ｄ）、およびｅ）を繰り返すことをさらに含み、
前記ＴＷは、０と同じかそれより大きく、かつ前記第１ノードと前記第２のノードの間の接続失敗用のタイムアウトよりは小さいことを特徴とする請求項１に記載の方法。
【請求項１０】
ｄ）は、前記予測された転送アドレスのリストからの転送アドレスを用いて、一又はそれ以上のテストパケットを前記第１のノードから前記第２のノードへ送信することを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
ｅ）は、前記一又はそれ以上のテストパケットのうちのひとつが送信されるまで、前記第１のノードと前記第３のノードとの間のコミュニケーション用のポート予測を遅延することを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
第１のシンメトリックＮＡＴ（network address translator）の後ろに位置している第１のノードと、２またはそれ以上の他のノードとの間をネットワークを通じてピアツーピア接続するための方法であって、
ａ）前記第１のノードにおいて、第１の予測された転送アドレスのリストを含む接続リクエストメッセージを第２のノードから受信し、
ｂ）前記第１のノードと第２のノードとの間でコミュニケーションセッションを開始するためにポート予測を実行し、および前記第１のノードのある前記第１のＮＡＴ上における、予測された転送アドレスのリストを構築し、
ｃ）前記第１のノードから前記第２のノードに前記接続リクエストメッセージの暫定応答を送信し、
ｄ）前記接続リクエストメッセージ内の前記予測された転送アドレスを使って前記第１のノードと前記第２のノードとの間の接続性チェックを実行し、
ｅ）ｄ）が始まるまで、前記第１のノードと第３のノードとの間のコミュニケーションのためのポート予測を遅延することを特徴とする方法。
【請求項１３】
接続性チェックの実行は、前記接続リクエストメッセージ内の前記第１のノードによって提供された１またはそれ以上の予測された転送アドレスに、前記第２のノードからＳＴＵＮパケットを送信することを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
接続性チェックの実行は、ＳＴＵＮパケット応答を前記第１のノードから前記第２のノードに送信することをさらに含み、
前記ＳＴＵＮパケット応答は、前記第２のノードから送信された前記ＳＴＵＮパケットのうちのひとつが前記第１のノードに到達するとき通った前記第１のＮＡＴ上の外部ポート転送アドレスを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
ｂ）は、前記第１のＮＡＴ用のポート増加量Δｐを決定し、当該ポート増加量Δｐを用いて前記予測された転送アドレスのリストを生成することを含むことを特徴とする請求項１２に記載の方法。
【請求項１６】
ｂ）は、前記第１のＮＡＴ用のポート増加量Δｐを決定し、当該ポート増加量Δｐおよび１又はそれ以上の異なるポート増加量を用いて前記予測された転送アドレスのリストを生成することを含み、
追加のポート増加量それぞれは、Δｐと深さＭだけ異なり、
Ｍは１よりも大きい正の整数であることを特徴とする請求項１２に記載の方法。
【請求項１７】
Ｍは３と等しいことを特徴とする請求項１６に記載の方法。
【請求項１８】
ｄ）は、前記予測された転送アドレスのリストからの転送アドレスを用いて、１又はそれ以上のテストパケットを前記第１のノードから前記第２のノードへ送信することを含むことを特徴とする請求項１２に記載の方法。
【請求項１９】
ｅ）は、前記１又はそれ以上のテストパケットのうちのひとつが送信されるまで、前記第１のノードと前記第３のノードとの間のコミュニケーション用のポート予測を遅延することを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
プロセッサと、
メモリと、
ネットワークインタフェースと、
前記メモリ内に具体化され、前記プロセッサで実行するように構成された命令を含むノードであって、前記命令は、
Ａ）命令セットであって、実行されたとき前記ノードに、
i）前記ノードと第２のノードとの間でコミュニケーションセッションを開始するためにポート予測を実行し、および前記ノードのある前記第１のＮＡＴ上における予測された転送アドレスのリストを構築し、
ii）前記ノードから前記第２のノードへの、前記予測された転送アドレスのリストを含む接続リクエストメッセージを送信し、
iii）前記ノードにおいて前記接続リクエストメッセージの暫定応答を受信し、
iv）前記予測された転送アドレスを使って前記ノードと前記第２のノードとの間の接続性チェックを実行し、
v）iv）が始まるまで、前記ノードと第３のノードとの間のコミュニケーションのためのポート予測を遅延することを前記ノードに実行させるか、または、
Ｂ）命令セットであって、実行されたとき前記ノードに、
i）前記ノードにおいて、第一の予測された転送アドレスのリストを含む接続リクエストメッセージを第２のノードから受信し、
ii）前記ノードと第２のノードとの間でコミュニケーションセッションを開始するためにポート予測を実行し、および前記ノードのある前記第１のＮＡＴ上における予測された転送アドレスのリストを構築し、
iii）前記ノードから前記第２のノードに前記接続リクエストメッセージの暫定応答を送信し、
iv）前記接続リクエストメッセージ内の前記予測された転送アドレスを使って前記ノードと前記第２のノードとの間の接続性チェックを実行し、
v）iv）が始まるまで、前記ノードと第３のノードとの間のコミュニケーションのためのポート予測を遅延することを前記ノードに実行させるかのいずれか一方の命令セットを含むことを特徴とするノード。