JP2015522880A - データ対話方法、装置、およびシステム - Google Patents

データ対話方法、装置、およびシステム Download PDF

Info

Publication number
JP2015522880A
JP2015522880A JP2015518840A JP2015518840A JP2015522880A JP 2015522880 A JP2015522880 A JP 2015522880A JP 2015518840 A JP2015518840 A JP 2015518840A JP 2015518840 A JP2015518840 A JP 2015518840A JP 2015522880 A JP2015522880 A JP 2015522880A
Authority
JP
Japan
Prior art keywords
address
host
channel
client host
local
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.)
Granted
Application number
JP2015518840A
Other languages
English (en)
Other versions
JP5930449B2 (ja
Inventor
▲暢▼ ▲劉▼
▲暢▼ ▲劉▼
俊 蔡
俊 蔡
浩博 ▲張▼
浩博 ▲張▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2015522880A publication Critical patent/JP2015522880A/ja
Application granted granted Critical
Publication of JP5930449B2 publication Critical patent/JP5930449B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明はデータ対話方法を開示する。当該方法は、UDPチャネルに対するアドレス検出要求およびTCPチャネルに対するアドレス検出要求を同時に送信するステップと、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、HTTPチャネルに対するアドレス検出要求を送信するステップと、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するステップであって、当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含むステップと、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するステップと、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップとを含む。したがって、アドレス検出中にNATホストを訪問する効率が改善される。

Description

本発明は通信技術の分野に関し、特に、データ対話方法、装置、およびシステムに関する。
ネットワーク・アドレス変換(Network Address Translation、NAT)を使用してインターネットにアクセスすることは、既に、企業、大学、または政府組織には主要なネットワーク・アクセス方式である。ローカル・エリア・ネットワークの出口にNATホストを配置することにより、一方では、インターネット・プロトコル(Internet Protocol、IP)アドレス・リソースを節約することができ、他方では、ローカル・エリア・ネットワーク内部のセキュリティを確保することができ、内部スタッフのアクセス権限を制御することができる。しかし、NATホストの存在は共通ネットワーク通信にとっては障害ともなり、通信中に、エンド・ツー・エンドのデータ送信を実現するためにNATホストを訪問する能力が必ず必要である。
今日では、NATホストを訪問する問題を解決するための多数のソリューションが既に使用されており、広く適用されているものは、NAT向けセッション訪問ユーティリティ(Session Traversal Utilities for NAT、STUN)、NAT周辺中継器を用いた訪問(Traversal Using Relays around NAT、TURN)、対話的接続確立(Interactive Connectivity Establishment、ICE)等である。これらの方法には全て、外部データ・パケットに関するNATホストのアドレス・マッピングとフィルタリングの規則に対するソリューションが提供されている。しかし、NATホストが外向き通信ポートまたは外向き通信プロトコルを制限したときには、上述の方法の何れも動作しない。
NATは一般にハイパー・テキスト転送プロトコル(Hypertext transfer protocol、HTTP)通信を可能とするので、先行技術ではHTTPトンネル技術が提案されている。
HTTPトンネル技術では、ユーザ通信データ・パケットをHTTPフォーマットでカプセル化し、HTTP通信の挙動をシミュレートし、データ・パケットをエクストラネットの中継装置に送信し、中継装置が当該データ・パケットを復元して当該データ・パケットを宛先アドレスに転送することが提案されている。HTTPトンネル技術でのネットワーク環境検出は以下のように簡単に説明される。
クライアントが、ユーザ・データ・プロトコル(User Data Protocol、UDP)を用いて検出要求パケットを公開ネットワークの中継装置に送信する。応答がクライアントにより上手く受信された場合には、これは、NATホストがポートを介したUDP通信を許可したことを示し、次のステップが実施される。次いで、検出が終了する。応答がクライアントによって上手く受信されなかった場合には、当該次のステップを実施することができない。
クライアントは、転送制御プロトコル(Transmission Control Protocol、TCP)を用いて検出要求パケットを公開ネットワークの中継装置に送信する。応答がクライアントにより上手く受信された場合には、これは、NATホストがポートを介したTCP通信を許可したことを示し、次のステップが実施される。次いで、検出が終了する。応答がクライアントによって上手く受信されなかった場合には、当該次のステップを実施することができない。
UDPもTCPも失敗した場合には、HTTPパケット通信の80番ポートのみが許可されており、HTTPトンネル・モジュールが開始し、HTTPチャネルをクライアントと中継装置の間で確立して、スムーズなデータ通信を実現する。最後に、検出が失敗した場合には、NATホストを訪問する全体のプロセスが失敗する。
本発明の発明者らは、HTTPトンネル技術が信号ステップ検出方式を使用しており、次ステップ検出は、以前のステップ検出の結果が取得されたときにのみ開始することができ、その結果、HTTPモジュールの開始に非常に長い時間が費やされる場合には、NATホストの訪問は非常に低速であることを発見した。
本発明の諸実施形態ではデータ対話方法を提供する。当該データ対話方法は、アドレス検出中にNATホストを訪問する効率を改善することができ、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。本発明の諸実施形態はさらに、対応する装置とシステムを提供する。
本発明の第1の態様は、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するステップと、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するステップであって、当該2種類のアドレスは各チャネルの最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含むステップと、ピア・クライアント・ホストとアドレス交換およびアドレス・マッピングを実施するステップと、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップとを含むデータ対話方法を提供する。
第1の態様を参照すると、第1の可能な実装方式では、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するステップの前に、当該方法はさらに、ローカル・クライアント・ホストの三種類のチャネルのホスト・アドレスを取得するステップであって、当該三種類のチャネルの当該ホスト・アドレスはUDPチャネルのホスト・アドレス、TCPチャネルのホスト・アドレス、およびHTTPチャネルのホスト・アドレスを含むステップをさらに含み、それに応じて、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するステップは、当該ローカル・クライアント・ホストの当該三種類のチャネルの当該ホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチングするステップを含む。
第1の態様の第1の可能な実装方式を参照すると、第2の可能な実装方式では、当該ローカル・クライアント・ホストの当該三種類のチャネルの当該ホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチングするステップは、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストにより収集され当該少なくとも1つのチャネルにおける各チャネルの最外層で当該ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および当該ローカル中継装置のものであり当該ローカル・クライアント・ホストにより収集された中継アドレスを、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり当該ピア・クライアント・ホストにより収集された中継アドレスと交換するステップと、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストにより収集され当該少なくとも1つのチャネルにおける各チャネルの最外層で当該ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および当該ローカル中継装置のものであり当該ローカル・クライアント・ホストにより収集された中継アドレスを、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり当該ピア・クライアント・ホストにより収集された中継アドレスとマッチングするステップと、を含む。
第1の態様の第2の可能な実装方式を参照すると、第3の可能な実装方式では、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップは、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルの当該ホスト・アドレスの間のUDPチャネルの接続性を検出するステップであって、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストのUDPチャネルの当該ホスト・アドレスがマッチされるステップと、当該UDPチャネルの接続に成功したときには、当該UDPチャネルを、当該ローカル・クライアント・ホストと当該ピア・クライアント・ホストとがデータ対話を実施するときの最高優先度を有するチャネルとして選択するステップと、を含む。
第1の態様の第1乃至第3の可能な実装方式の何れか1つを参照すると、第4の可能な実装方式では、当該方法はさらに、アドレス交換中に、プロキシ・サーバを用いることによって当該ピア・クライアント・ホストとのアドレス交換を実施するステップを含む。
本発明の第2の態様は、ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するステップと、当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集するステップであって、当該2種類のアドレスは最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含むステップと、当該パケット・タイプに対応する収集した2種類のアドレスを当該ローカル・クライアント・ホストに送信し、当該ローカル・クライアント・ホストおよびピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するようにするステップと、を含むデータ対話方法を提供する。
第2の態様を参照すると、第1の可能な実装方式では、当該方法はさらに、当該ローカル・クライアント・ホストが送信したデータを受信するステップであって、当該データの宛先端末アドレスは当該データの受信者が当該ピア・クライアント・ホストであることを示すステップと、当該データをUDPフォーマットのデータに変換するステップと、当該ローカル中継装置と当該ピア中継装置の間のUDPチャネルを介して、当該UDPフォーマットのデータをピア中継装置に送信するステップとを含む。
第2の態様を参照すると、第2の可能な実装方式では、当該方法はさらに、ピア中継装置により送信されたUDPフォーマットのデータを受信するステップと、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度のチャネルを決定するステップと、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであるときには、当該データを当該UDPフォーマットから当該最高優先度のチャネルに対応するフォーマットに変換するステップと、変換されたフォーマットのデータを当該ローカル・クライアント・ホストに送信するステップと、を含む。
本発明の第3の態様は、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するように構成された送信ユニットと、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成された受信ユニットであって、当該2種類のアドレスは最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含む受信ユニットと、当該受信ユニットにより受信した当該アドレスでピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するように構成されたアドレス処理ユニットと、当該アドレス処理ユニットによりマッチングしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成されたチャネル処理ユニットと、を備えるクライアント・ホストを提供する。
第3の態様を参照すると、第1の可能な実装方式では、当該クライアント・ホストはさらにアドレス取得ユニットを備え、当該アドレス取得ユニットは、ローカル・クライアント・ホストの三種類のチャネルのホスト・アドレスを取得するように構成され、当該三種類のチャネルの当該ホスト・アドレスは当該UDPチャネルのホスト・アドレス、当該TCPチャネルのホスト・アドレス、および当該HTTPチャネルのホスト・アドレスを含み、当該アドレス処理ユニットは、当該ローカル・クライアント・ホストの当該三種類のチャネルの当該ホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチングするように構成される。
第3の態様の第1の可能な実装方式を参照すると、第2の可能な実装方式では、当該アドレス処理ユニットはさらに、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストにより収集され当該少なくとも1つのチャネルにおける各チャネルの最外層で当該ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および当該ローカル中継装置のものであり当該ローカル・クライアント・ホストにより収集された中継アドレスを、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり当該ピア・クライアント・ホストにより収集された中継アドレスと交換し、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストにより収集され当該少なくとも1つのチャネルにおける各チャネルの最外層で当該ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および当該ローカル中継装置のものであり当該ローカル・クライアント・ホストにより収集された中継アドレスを、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、当該ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり当該ピア・クライアント・ホストにより収集された中継アドレスとマッチングするように構成される。
第3の態様の第2の可能な実装方式を参照すると、第3の可能な実装方式では、当該チャネル処理ユニットは、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルの当該ホスト・アドレスの間のUDPチャネルの接続性を検出し、当該UDPチャネルの接続に成功したときには、当該ローカル・クライアント・ホストと当該ピア・クライアント・ホストとがデータ対話を実施するときに最高優先度を有するチャネルとして当該UDPチャネルを選択するように構成され、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストのUDPチャネルの当該ホスト・アドレスがマッチされる。
第3の態様の第1乃至第3の可能な実装方式の何れか1つを参照すると、第4の可能な実装方式では、当該アドレス処理ユニットはさらに、アドレス交換中に、プロキシ・サーバを用いることによって当該ピア・クライアント・ホストとのアドレス交換を実施するように構成される。
本発明の第4の態様は、ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するように構成された受信ユニットと、当該受信ユニットにより受信された当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集するように構成されたアドレス収集ユニットであって、当該2種類のアドレスは最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含むアドレス収集ユニットと、当該パケット・タイプに対応し当該アドレス収集ユニットにより収集された当該2種類のアドレスを当該ローカル・クライアント・ホストに送信して、当該ローカル・クライアント・ホストおよびピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成された送信ユニットと、を備える中継装置を提供する。
第4の態様を参照すると、第1の可能な実装方式では、当該中継装置はさらに第1のフォーマット変換ユニットを備え、当該受信ユニットはさらに、当該ローカル・クライアント・ホストが送信したデータを受信するように構成され、当該データの宛先端末アドレスは当該データの受信者が当該ピア・クライアント・ホストであることを示し、当該第1のフォーマット変換ユニットは、受信ユニットにより受信したデータをUDPフォーマットのデータに変換するように構成され、当該送信ユニットは、当該ローカル中継装置と当該ピア中継装置の間のUDPチャネルを介して当該UDPフォーマットのデータをピア中継装置に送信するように構成される。
第4の態様を参照すると、第2の可能な実装方式では、当該中継装置はさらに決定ユニットおよび第2のフォーマット変換ユニットを備え、当該受信ユニットはさらに、ピア中継装置により送信されたUDPフォーマットのデータを受信するように構成され、当該決定ユニットは、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度のチャネルを決定するように構成され、当該第2のフォーマット変換ユニットは、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであると当該決定ユニットが判定したときに、UDPフォーマットを当該最高優先度のチャネルに対応するフォーマットに変換するように構成され、当該送信ユニットは、フォーマットが当該第2のフォーマット変換ユニットにより変換されたデータを当該ローカル・クライアント・ホストに送信するように構成される。
本発明の第5の態様は、第1のクライアント・ホスト、第2のクライアント・ホスト、第1のネットワーク・アドレス変換NATホスト、第2のNATホスト、第1の中継装置、および第2の中継装置を備えたデータ対話システムを提供する。当該第1のクライアント・ホスト、当該第1のNATホスト、および当該第1の中継装置は第1のネットワークに属し、当該第2のクライアント・ホスト、当該第2のNATホスト、および当該第2の中継装置は第2のネットワークに属し、当該第1のNATホストは当該第1のネットワークの最外層にあるNATホストであり、および当該第1のクライアント・ホストにより送信されたアドレス検出要求を受信したときに、マッピング・アドレスを当該第1のクライアント・ホストに割り当て、当該第2のNATホストは当該第2のネットワークの最外層にあるNATホストであり、および当該第2のクライアント・ホストにより送信されたアドレス検出要求を受信したときにマッピング・アドレスを当該第2のクライアント・ホストに割り当て、当該第1のクライアント・ホストと当該第2のクライアント・ホストはそれぞれ、上述の技術的解決策に従うクライアント・ホストであり、当該第1の中継装置と当該第2の中継装置はそれぞれ、上述の技術的解決策に従う中継装置である。
本発明の第6の態様は、第1のクライアント・ホスト、第2のクライアント・ホスト、ネットワーク・アドレス変換NATホスト、および中継装置を備えるデータ対話システムを提供する。当該第1のクライアント・ホストと当該第2のクライアント・ホストは同一のネットワークに属し、当該NATホストは、当該第1のクライアント・ホストと当該第2のクライアント・ホストが存在するネットワークの最外層にあるNATホストであり、および当該第1のクライアント・ホストと当該第2のクライアント・ホストのうち少なくとも1つが送信したアドレス検出要求を受信したときに、マッピング・アドレスを当該第1のクライアント・ホストと当該第2のクライアント・ホストのうち少なくとも1つに割り当て、当該第1のクライアント・ホストと当該第2のクライアント・ホストはそれぞれ、上述の技術的解決策に従うクライアント・ホストであり、当該中継装置は上述の技術的解決策に従う中継装置である。
本発明の諸実施形態では、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求およびデータ転送プロトコルTCPチャネルに対するアドレス検出要求が同時に送信され、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求が送信され、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスが収集され、当該2種類のアドレスは各チャネルの最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含み、アドレス交換とアドレス・マッチングがピア・クライアント・ホストで実施され、チャネル接続検出がマッチしたアドレスに基づいて実施され、最高優先度のチャネルが当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから選択される。したがって、先行技術の単一ステップの検出方式と比べて、本発明の諸実施形態では、アドレス検出がユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信する方式で実施される。これによりアドレス検出中にNATホストを訪問する効率が改善され、その結果、2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の諸実施形態または先行技術における技術的解決策をより明確に説明するために、以下では当該実施形態または先行技術を説明するのに必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は本発明の単に一部にすぎない諸実施形態を示し、当業者は創造的作業なしにこれらの添付図面から他の図面を依然として導出することができる。
本発明の1実施形態に従うデータ対話方法の略流れ図である。 本発明の1実施形態に従う別のデータ対話方法の略流れ図である。 本発明の1実施形態に従うアプリケーション・シナリオにおけるデータ対話方法の略シーケンス図である。 本発明の1実施形態に従う別のアプリケーション・シナリオのデータ対話方法の略シーケンス図である。 本発明の1実施形態に従うアプリケーション・シナリオの略ネットワーク図である。 本発明の1実施形態に従う別のアプリケーション・シナリオの略ネットワーク図である。 本発明の1実施形態に従うクライアント・ホストの略構造図である。 本発明の1実施形態に従う別のクライアント・ホストの略構造図である。 本発明の1実施形態に従う中継装置の略構造図である。 本発明の1実施形態に従う別の中継装置の略構造図である。 本発明の1実施形態に従うさらに別の中継装置の略構造図である。 本発明の1実施形態に従う別のクライアント・ホストの略構造図である。 本発明の1実施形態に従うさらに別の中継装置の略構造図である。 本発明の1実施形態に従うデータ対話システムの略構造図である。 本発明の1実施形態に従う別のデータ対話システムの略構造図である。
本発明の諸実施形態ではデータ対話方法を提供する。当該方法では、アドレス検出中にNATホストを訪問する効率を改善することができ、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。本発明の諸実施形態はさらに、対応する装置とシステムを提供する。詳細な説明を以下で与える。
以下では本発明の諸実施形態における添付図面を参照して本発明の諸実施形態における技術的解決策を明確かつ十分に説明する。明らかに、説明した実施形態は本発明の諸実施形態の全部ではなく一部である。当業者が創造的作業なしに本発明の諸実施形態に基づいて取得する他の全ての実施形態は本発明の保護範囲に入るものとする。
図1を参照すると、本発明の1実施形態に従うデータ対話方法の1実施形態では、データ対話方法の実行部分はクライアント・ホストであってもよい。本明細書のクライアント・ホストは、例えば、パーソナル・コンピュータ(personal computer、PC)、携帯電話、または携帯情報端末(Personal Digital Assistant、PDA)のような装置であってもよい。本発明の方法の実施形態は以下を含んでもよい。
101では、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信する。当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信する。
クライアントは、三種類のチャネル、即ち、ユーザ・データグラム・プロトコル(User Datagram Protocol、UDP)チャネル、データ転送プロトコル(Transmission Control Protocol、TCP)チャネル、およびハイパーテキスト転送プロトコル(Hypertext Transfer Protocol、HTTP)チャネルを確立してもよい。クライアント・ホストは当該三種類のチャネルのホスト・アドレスを生成する。
UDPチャネルが最高優先度を有し、TCPチャネルが2番目の優先度を有し、HTTPチャネルがが最低優先度を有するので、UDPチャネルおよびTCPチャネルのうち何れかを使用できるときは、HTTPチャネルを使用する必要はない。HTTPチャネルは、UDPチャネルとTCPチャネルの何れも使用できないときにのみ使用することができる。
102では、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集する。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含む。
クライアント・ホストが配置されたネットワークに多層NATホストがあってもよい。アドレス検出プロセスは以下の通りである。クライアント・ホストがアドレス検出要求を送信し、当該アドレス検出要求がネットワーク内のNATホストを1つずつ訪問し、最外層のNATホストが訪問されたときにのみ当該NATホストの訪問が成功する。実際、検出要求が或る層のNATホストを訪問する度に、当該検出要求はNATホストにより割り当てられたマッピング・アドレスを保持し、当該検出要求が次の層のNATホストを訪問したときに、前の層のNATホストにより割り当てられたマッピング・アドレスを、当該NATホストにより割り当てたマッピング・アドレスで置き換える。したがって、検出要求が中継装置に到達すると、当該中継装置は最外層のNATホストにより割り当てられたマッピング・アドレスのみを収集する。
UDP検出要求とTCP検出要求のうち1つがNATの訪問に成功すると、HTTP検出が送信されず、したがって、以下のように4つの状況が存在する。第1の状況では、UDP検出要求がNATの訪問に成功し、UDPチャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスが収集される。第2の状況では、TCP検出要求がNATの訪問に成功し、TCPチャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスが取集される。第3の状況では、UDP検出要求とTCP検出要求がNATの同時訪問に成功し、UDPチャネルとTCPチャネルの最外層のNATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスが収集される。第4の状況では、UDP検出要求とTCP検出要求が同時訪問に成功し、HTTP検出要求がNATの訪問に成功し、HTTPチャネルのNATホストにより割り当てられたマッピング・アドレスと中継サービスを提供する当該ローカル中継装置の中継アドレスとが収集される。
103では、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施する。104では、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択する。接続検出後に複数のチャネルを使用することができるが、最高優先度のチャネルが使用に選択される。
先行技術の単一ステップの検出方式と比べて、本発明の当該実施形態では、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出が実施され、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の当該実施形態では、初期遅延とはデータ対話の開始遅延であってもよい。例えば、最初に、2つのクライアント・ホストがデータ対話を実施する前に、対話を開始するのに200秒とる必要があり、そうすると、初期遅延は200秒である。本発明の当該実施形態では、データ対話の開始遅延が100秒であってもよく、そうすると、データ対話の初期遅延が短縮される。
場合によっては、図1に対応する実施形態に基づいて、本発明の当該実施形態で提供するデータ対話方法の別の実施形態では、当該方法は、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するステップの前に、ローカル・クライアント・ホストの三種類のチャネルのホスト・アドレスを取得するステップであって、当該三種類のチャネルの当該ホスト・アドレスが当該UDPチャネルのホスト・アドレス、当該TCPチャネルのホスト・アドレス、および当該HTTPチャネルのホスト・アドレスを含むステップを含む。
それに応じて、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するステップが、当該ローカル・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスと当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチするステップを含んでもよい。
本発明の当該実施形態では、同一のネットワークにおいて、クライアント・ホストから中継装置へのUDPチャネル、TCPチャネル、およびHTTPチャネルでは、各チャネルは三種類のアドレスに対応する。それぞれ、UDPチャネルに対して、当該三種類のアドレスは、クライアント・ホストの当該UDPチャネルのホスト・アドレス、最外層のNATホストによりUDPチャネルに割り当てられたマッピング・アドレス、中継装置によりUDPチャネルに割り当てられた中継装置アドレスである。同様に、TCPチャネルに対して、当該三種類のアドレスは、クライアント・ホストのTCPチャネルのホスト・アドレス、最外層のNATホストによりTCPチャネルに割り当てられたマッピング・アドレス、および中継装置によりTCPチャネルに割り当てられた中継装置アドレスである。HTTPチャネルに対して、当該三種類のアドレスは、クライアント・ホストの当該HTTPチャネルのホスト・アドレス、最外層のNATホストによりHTTPチャネルに割り当てられたマッピング・アドレス、および中継装置によりHTTPチャネルに割り当てられた中継装置アドレスである。
アドレス交換中に、当該ローカル・クライアント・ホストとピア・クライアント・ホストは当該UDPチャネルのホスト・アドレス、当該TCPチャネルのホスト・アドレス、当該HTTPチャネルのホスト・アドレス、および収集した当該2種類のアドレスを交換する。
本発明の当該実施形態では、HTTPチャネルの訪問に成功したときにのみ、当該UDPチャネルのホスト・アドレスと当該TCPチャネルのホスト・アドレスがアドレス交換中に追加され、それによりチャネルの選択肢の多様性が増加する。
場合によっては、図1に対応する任意の実施形態に基づいて、本発明の当該実施形態で提供するデータ対話方法の任意の実施形態では、当該ローカル・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスと当該ピア・クライアント・ホストにより収集された当該2種類のアドレスを交換しマッピングするステップは、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、および、当該ローカル・クライアント・ホストにより収集された、当該少なくとも1つのチャネルにおける各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、および、当該マッピング・アドレスと中継アドレスは当該ピア・クライアント・ホストにより収集された、最外層のNATホストにより割り当てられたマッピング・アドレスおよびピア中継装置の中継アドレスと交換しマッピングするステップを含んでもよい。
本発明の当該実施形態では、アドレス交換中に、当該UDPチャネルのホスト・アドレス、当該TCPチャネルのホスト・アドレス、当該HTTPチャネルのホスト・アドレスが含まれる。このように、UDP検出要求とTCP検出要求の訪問が成功しなかったけれども、HTTP検出要求の訪問が成功したときには、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスをさらに交換しマッチすることができ、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレスをさらに交換しマッチすることができる。
本発明の当該実施形態では、UDPチャネルとTCPチャネルの優先度が両方ともHTTPチャネルの優先度より高いので、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスのマッチが成功した後、または、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレスのマッチが成功した後に、UDPチャネルまたはTCPチャネルをデータ対話に関して選択してもよく、それにより、データ対話中の送信チャネルの優先度が改善される。
場合によっては、上述の別の任意の実施形態に基づいて、本発明の当該実施形態で提供したデータ対話方法の別の任意の実施形態では、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップが、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスの間のUDPチャネルの接続性を検出するステップであって、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスがマッチされるステップと、当該UDPチャネルの接続に成功したときには、当該UDPチャネルを、当該ローカル・クライアント・ホストと当該ピア・クライアント・ホストとがデータ対話を実施するときの最高優先度を有するチャネルとして選択するステップとを含んでもよい。
本発明の当該実施形態では、UDPチャネルが最高優先度を有し、TCPチャネルがHTTPチャネルより高い優先度を有するので、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスの間のUDPチャネルの接続性が優先的に検出される。2つのホスト間のUDPチャネルの接続に成功したときには、2つのクライアント・ホストは当該UDPチャネルをデータ対話に対して選択する。それとは異なり、HTTPチャネルは転送用の中継装置をさらに必要とする。
本発明の当該実施形態では、データ対話中に、クライアント・ホストのUDPアドレスとTCPアドレスが存在する。このように、NATはUDPまたはTCPフォーマットのパケットを通すことはできないが、2つのクライアント・ホストが同一のネットワークに存在するときには、UDPチャネルまたはTCPチャネルを介してデータ対話を実施してもよく、一般に、UDPチャネルが優先的に選択される。
場合によっては、図1に対応する実施形態および図1に対応する任意の実施形態の何れか1つに基づいて、本発明の当該実施形態で提供するデータ対話方法の別の任意の実施形態では、当該方法はさらに、アドレス交換中に、プロキシ・サーバを用いることによって当該ピア・クライアント・ホストとのアドレス交換を実施するステップを含む。
本発明の当該実施形態では、ピア・クライアント・ホストとのアドレス交換中に、拡張可能メッセージング・プレゼンス・プロトコル(Extensible Messaging and Presence Protocol、XMPP)信号処理プロトコル・サーバのようなプロキシ・サーバをアドレス変換に直接使用してもよい。Xmpp信号を信号処理プロトコル・サーバに送信するか、または、アドレス変換がXmpp信号の拡張属性を用いることによって実施されるという実装方式であってもよい。
図2を参照すると、本発明の1実施形態で提供するデータ対話方法の別の実施形態では、データ対話方法の実行部分が中継装置であってもよい。本明細書の中継装置は、例えば、ルータ、交換機、ハブ、またはネットワーク・サーバであってもよい。本発明の当該実施形態に従う方法は以下を含んでもよい。
201では、ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信する。202では、当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集する。当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含む。203では、当該パケット・タイプに対応する収集した2種類のアドレスを当該ローカル・クライアント・ホストに送信して、当該ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するようにする。
先行技術と比較して、本発明の当該実施形態で提供するデータ対話方法では、同時に送信されたUDPチャネルに対するアドレス検出要求とTCPチャネルに対するアドレス検出要求の1つがNATの訪問に成功したときに、クライアント・ホストが対応するチャネルの2種類のアドレスを収集し、アドレス検出中にクライアント・ホストによりNATホストを訪問する効率が高まり、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
場合によっては、図2に対応する実施形態に基づいて、本発明の当該実施形態で提供するデータ対話方法の任意の実施形態はさらに、当該ローカル・クライアント・ホストが送信したデータを受信するステップであって、当該データの宛先端末アドレスは当該データの受信者が当該ピア・クライアント・ホストであることを示すステップと、当該データをUDPフォーマットのデータに変換するステップと、当該ローカル中継装置と当該ピア中継装置の間のUDPチャネルを介して、当該UDPフォーマットのデータをピア中継装置に送信するステップとを含んでもよい。
本発明の当該実施形態では、ローカル中継装置とピア中継装置の間のチャネルは固定されたUDPチャネルであり、したがって、中継装置が受信したデータのフォーマットが非UDPフォーマットであるとき、フォーマット変換が当該データに対して実施され、当該データがUDPフォーマットのデータに変換されて、2つの中継装置の間で送信される。
場合によっては、図2に対応する実施形態に基づいて、本発明の当該実施形態で提供するデータ対話方法の別の任意の実施形態が、ピア中継装置により送信されたUDPフォーマットのデータを受信するステップと、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度のチャネルを決定するステップと、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであるときには、当該データを当該UDPフォーマットから当該最高優先度のチャネルに対応するフォーマットに変換するステップと、変換されたフォーマットのデータを当該ローカル・クライアント・ホストに送信するステップを含んでもよい。
本発明の当該実施形態では、中継装置により受信されピア中継装置により送信されたデータはUDPフォーマットのデータあり、ローカル中継装置とローカル・クライアントの間の最高優先度のチャネルが先ず決定され、最高優先度のチャネルがUDPチャネルでないと判定された後にフォーマット変換を当該データに対して実施する必要があり、最高優先度のチャネルがTCPチャネルであるときには、当該データのフォーマットをTCPフォーマットに変換し、最高優先度のチャネルがHTTPチャネルである場合には、当該データのフォーマットをHTTPフォーマットに変換し、変換したデータを対応するチャネルを介してローカル・クライアント・ホストに送信する。
理解の簡単さのため、以下では幾つかのアプリケーション・シナリオを1例として使用して、本発明の当該実施形態におけるデータ対話プロセスを詳細に説明する。
図3を参照すると、2つのネットワーク、即ち、第1のネットワークと第2のネットワークが存在する。第1のネットワークにおける第1のクライアント・ホストと第2のネットワークにおける第2のクライアント・ホストがデータ対話を実施する必要がある。
S100では、第1のネットワークにおける第1のクライアント・ホストが、第1のクライアント・ホストのユーザ・データグラム・プロトコルUDPチャネルのホスト・アドレス、第1のクライアント・ホストのデータ転送プロトコルTCPチャネルのホスト・アドレス、および第1のクライアント・ホストのハイパーテキスト転送プロトコルHTTPチャネルのホスト・アドレスを取得する。
S105では、第1のネットワークにおける第1のクライアント・ホストがUDPアドレス検出要求およびTCPアドレス検出要求を同時に第1のネットワーク内の第1の中継装置に送信する。
39秒後に応答が受信されなかった場合には、UDPアドレス検出要求とTCPアドレス検出要求の両方が失敗したと判定する。ステップS110を実行して、HTTPアドレス検出要求を第1のネットワーク内の中継装置に送信する。
S110では、第1のネットワークにおける第1のクライアント・ホストがHTTPアドレス検出要求を第1のネットワーク内の第1の中継装置に送信する。
S115では、第1のネットワーク内の第1の中継装置が、HTTPチャネルを介して、第1のクライアント・ホストが配置されているネットワーク側の最外層のNATホストにより割り当てられたマッピング・アドレス、および、クライアント・ホストに中継サービスを提供する第1の中継装置の中継アドレスを返す。
S200では、第2のネットワークにおける第2のクライアント・ホストが、第2のクライアント・ホストのユーザ・データグラム・プロトコルUDPチャネルのホスト・アドレス、第2のクライアント・ホストのデータ転送プロトコルTCPチャネルのホスト・アドレス、および第2のクライアント・ホストのハイパーテキスト転送プロトコルHTTPチャネルのホスト・アドレスを取得する。
S205では、第2のネットワークにおける第2のクライアント・ホストが、UDPアドレス検出要求とTCPアドレス検出要求を第2のネットワーク内の第2の中継装置に同時に送信する。
S210では、第2のネットワーク内の第2の中継装置は、UDPチャネルを介して、第2のクライアント・ホストが配置されているネットワーク側のNATホストのアドレス、第2のクライアント・ホストが配置されている第2のネットワークの第2の中継装置のアドレスを返す。
S120では、第1のネットワークの第1のクライアント・ホストと第2のネットワークの第2のクライアント・ホストがアドレス交換を実施する。
S121では、第1のネットワークの第1のクライアント・ホストおよび第2のネットワークの第2のクライアント・ホストがアドレス・マッチングにより接続検出を別々に実施して、最高優先度のデータ送信チャネルを決定する。
S125では、第1のネットワークの第1のクライアント・ホストがHTTPチャネルを介してデータを第1のネットワークの第2の中継装置に送信する。
S130では、第1のネットワークの第1の中継装置がHTTPフォーマットのデータをUDPフォーマットのデータに変換する。
S135では、第1のネットワークの第1の中継装置がUDPフォーマットの変換されたデータを第2のネットワークの第2の中継装置に送信する。
S140では、第2のネットワークの第2の中継装置がUDPチャネルを介してUDPフォーマットのデータを第2のネットワークの第2のクライアント・ホストに送信する。
反対に、第2のネットワークのクライアント・ホストがUDPチャネルを介してUDPフォーマットのデータを第2のネットワークの第2の中継装置に送信し、第2のネットワークの第2の中継装置がUDPフォーマットのデータを第1のネットワークの第1の中継装置に送信し、第1のネットワークの第1の中継装置は、UDPフォーマットのデータを受信した後にUDPフォーマットのデータをHTTPフォーマットのデータに変換し、第1のネットワークの第1の中継装置がHTTPチャネルを介してHTTPフォーマットのデータを第1のネットワークの第1のクライアント・ホストに送信する。
本発明の当該実施形態で提供するデータ対話シナリオでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図4を参照すると、図4は、UnicomサブスクライバおよびTelecomサブスクライバが電話で通信するシナリオを示す。具体的な説明を以下で与える。A100では、Unicomクライアントがドメイン・ネーム・システム(Domain Name System、DNS)中継装置にDNS解決を要求する。A105では、DNS中継装置がUnicomのアドレスIP1を返す。UnicomのIP1アドレスは、Unicomクライアントのホスト・アドレスの役割を果たす。A110では、UnicomクライアントがUDPアドレス検出要求とTCPアドレス検出要求をUnicom側で中継装置に同時に送信する。A115では、タイムアウトまたは失敗の後に、HTTPアドレス検出要求をHTTP中継装置に送信する。A120では、HTTPチャネルを介して最外層のNATホストのアドレスと中継装置アドレスを受信する。A200では、telecomクライアントがDNS分析を要求する。A205では、TelecomのIP1を返す。TelecomのIP1はTelecomクライアントのホスト・アドレスの役割を果たす。A210では、TelecomクライアントがTelecom側でUDPアドレス検出要求とTCPアドレス検出要求を中継装置に同時に送信する。A215では、Telecom中継装置がUDPチャネルを介してNATホストのアドレスと中継装置のアドレスをTelecomクライアントに送信する。A121では、UnicomクライアントとTelecomクライアントがアドレス交換を実施し接続検出を実施して、最高優先度のチャネルを決定する。A125では、UnicomクライアントがHTTPチャネルを介してHTTPフォーマットのデータをUnicom中継装置に送信する。A130では、Unicom中継装置がHTTPフォーマットのデータをUDPフォーマットのデータに変換する。A135では、Unicom中継装置がUDPフォーマットの変換されたデータをTelecom中継装置に送信する。A140では、Telecom中継装置がUDPチャネルを介してUDPフォーマットのデータをTelecomクライアントに送信する。
本発明の当該実施形態で提供するデータ対話シナリオでは、クライアント・ホストが、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図5Aを参照すると、図5Aは本発明の1実施形態で提供したアプリケーション・シナリオの1例を示す。
(1)アドレス収集手続き1:クライアント・ホストAがホスト・アドレスhostA(192.168.1.10:1000)を取得し、最初にUDPチャネルとTCPチャネルを介してアドレス検出要求をサーバ01に同時に送信して、NAT Aのマッピング・アドレスを収集する。最外層のNAT AのみがHTTPパケットの通過を許可するので、UDPチャネルとTCPチャネルに対するアドレス検出要求は失敗する。UDPチャネルとTCPチャネルに対するアドレス検出要求が失敗した後に、クライアント・ホストAはHTTPチャネルに対するアドレス検出要求を送信し、最外層のNAT Aがマッピング・アドレス(IP2:218.17.55.173:1000)を割り当て、アドレス検出要求がサーバに到達した後に、サーバは遷移リソース(IP3:192.168.3.10:10001)を割り当て、同時に、サーバ01はNAT AアドレスIP2とIP3をクライアント・ホストAにフィードバックしてアドレス収集手続きを終了する。
(2)アドレス収集手続き2:クライアント・ホストBがホスト・アドレスhostB(192.168.2.20:2000)を取得し、UDPチャネルとTCPチャネルを介してアドレス検出要求をサーバ02に同時に送信する。最外層のNAT Bはパケット・タイプを限定しないので、UDPチャネルとTCPチャネルに対するアドレス検出要求が最外層のNAT Bを訪問しサーバ02に到達する。サーバ02は遷移リソース(IP5:192.168.3.15:10001)を割り当て、サーバ02はNAT Bにより割り当てられたアドレス(IP4:245.110.88.155:2000)と中継アドレス(IP5:192.168.3.15:10001)をフィードバックする。このようにして、クライアント・ホストBがアドレス収集手続きを終了する。
(3)アドレス交換:クライアント・ホストAとクライアント・ホストBがアドレス交換を別の方式(例えば、xmpp信号送信)で終了する。
例えば、クライアント・ホストAがhostAアドレス、IP2、およびIP3をクライアント・ホストBに送信し、同時に、クライアント・ホストBがクライアント・ホストBのhostB、IP4、およびIP5を返すまで待機する。
(4)接続検出:クライアント・ホストAは、クライアント・ホストBにより送信されたアドレスと交換した後にローカル・アドレスをマッチする。例えば、(アドレス対01:HOSTA−>HOSTB、アドレス対02:HOSTA−>IP4、およびアドレス対03:IP3−>IP5)である。クライアント・ホストBのマッチング・プロセスはクライアント・ホストAと同じであり、次に両者がアドレスの対ごとにチャネル検出を実施し、最後に、サーバ01とサーバ02の間の中継チャネルが確立されると想定する。
(5)データ通信:サーバの中継チャネルが選択された後にクライアント・ホストAとクライアント・ホストBがデータ通信を開始する。プロセスは以下の通りである。クライアント・ホストAがHTTPパケット・フォーマットを用いることによってデータをサーバ01に送信し、データがサーバ01のIP3に到達した後にHTTPパケットをUDPパケットに変換し、UDPパケットをサーバ02のIP5に転送し、サーバ02がUDPパケットを受信した後にUDPパケットをクライアント・ホストBに転送する。逆では、プロセスは同じである。
本発明の当該実施形態で提供するデータ対話シナリオでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図5Bを参照すると、クライアント・ホストAおよびクライアント・ホストBが同一のネットワークにあるとき、クライアント・ホストAはUDPチャネルを選択することによってクライアント・ホストBとの直接通信を実施してもよい。
図6を参照すると、本発明の1実施形態で提供するクライアント・ホストの1実施形態は、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するように構成された送信ユニット301と、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを受信するように構成された受信ユニット302であって、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと中継サービスを提供する中継装置の中継アドレスを含む受信ユニット302と、受信ユニット302により受信したアドレスでピア・クライアント・ホストとのアドレス交換とアドレス・マッチングを実施するように構成されたアドレス処理ユニット303と、アドレス処理ユニット303によりマッチングしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成されたチャネル処理ユニット304と、を備える。
本発明の当該実施形態では、送信ユニット301が、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、受信ユニット302が当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを受信し、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと中継サービスを提供する中継装置の中継アドレスを含み、アドレス処理ユニット303が受信ユニット302により受信した当該アドレスにおいてピア・クライアント・ホストとのアドレス交換とアドレス・マッチングを実施し、チャネル処理ユニット304がアドレス処理ユニット303によりマッチングしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択する。先行技術の単一ステップの検出方式と比べて、本発明の当該実施形態で提供するクライアントがユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信する方式でアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
場合によっては、図6に対応する実施形態に基づいて、図7を参照すると、本発明の当該実施形態で提供したクライアント・ホストの別の実施形態では、当該クライアント・ホストはさらにアドレス取得ユニット305を備える。
アドレス取得ユニット305は、ローカル・クライアント・ホストの三種類のチャネルのホスト・アドレスを取得するように構成される。当該三種類のチャネルのホスト・アドレスは、UDPチャネルのホスト・アドレス、TCPチャネルのホスト・アドレス、およびHTTPチャネルのホスト・アドレスを含む。
アドレス処理ユニット303は、当該ローカル・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスと当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチするように構成される。
場合によっては、図7に対応する実施形態に基づいて、本発明の当該実施形態で提供したクライアント・ホストの別の実施形態では、アドレス処理ユニット303は、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、および、当該ローカル・クライアント・ホストにより収集された、当該少なくとも1つのチャネルにおける各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを、当該ピア・クライアント・ホストにより収集された、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、および最外層のNATホストにより割り当てられたマッピング・アドレスおよびピア中継装置の中継アドレスと交換しマッチングするように構成される。
場合によっては、図7に対応する任意の実施形態に基づいて、本発明の当該実施形態で提供したクライアント・ホストの別の実施形態では、チャネル処理ユニット304は、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスの間のUDPチャネルの接続性を検出するように構成される。当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスがマッチされ、当該UDPチャネルの接続に成功したときには、当該ローカル・クライアント・ホストと当該ピア・クライアント・ホストとがデータ対話を実施するときに最高優先度を有するチャネルとして当該UDPチャネルを選択する。
場合によっては、上述の実施形態に基づいて、本発明の当該実施形態で提供するクライアント・ホストの別の実施形態では、アドレス処理ユニット303はさらに、アドレス交換中に、プロキシ・サーバを用いることによって当該ピア・クライアント・ホストとのアドレス交換を実施するように構成される。
図8を参照すると、本発明の1実施形態で提供する中継装置の1実施形態は、ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するように構成された受信ユニット401であって、例えば、図5Aにおいて、サーバ01に関しては、当該ローカル・クライアント・ホストはクライアント・ホストAであり、サーバ02に関しては、当該ローカル・クライアント・ホストはクライアント・ホストBであり、図5Bにおいて、クライアント・ホストAとクライアント・ホストBの両方が当該サーバに対するローカル・クライアント・ホストである受信ユニット401と、受信ユニット401により受信された当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集するように構成されたアドレス収集ユニット402であって、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含むアドレス収集ユニット402と、当該パケット・タイプに対応しアドレス収集ユニット402により収集された当該2種類のアドレスを当該ローカル・クライアント・ホストに送信し、当該ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成された送信ユニット403と、を備える。
本発明の当該実施形態では、受信ユニット401がローカル・クライアント・ホストにより送信されたアドレス検出要求を受信し、アドレス収集ユニット402が、受信ユニット401により受信された当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集し、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含み、送信ユニット403が、当該パケット・タイプに対応しアドレス収集ユニット402により収集された当該2種類のアドレスを当該ローカル・クライアント・ホストに送信する。その結果、当該ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択する。先行技術と比べると、本発明の当該実施形態で提供した中継装置を用いることによって、同時に送信されたUDPチャネルに対するアドレス検出要求とTCPチャネルに対するアドレス検出要求の1つがNATの訪問に成功したときに、クライアント・ホストが対応するチャネルの2種類のアドレスを収集することができ、アドレス検出中にクライアント・ホストによりNATホストを訪問する効率が高まり、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図8に対応する実施形態に基づいて、図9を参照すると、本発明の当該実施形態で提供した中継装置はさらに、第1のフォーマット変換ユニット404を備える。
受信ユニット401はさらに、当該ローカル・クライアント・ホストが送信したデータを受信するように構成され、当該データの宛先端末アドレスは当該データの受信者が当該ピア・クライアント・ホストであることを示す。
第1のフォーマット変換ユニット404は、受信ユニット401が受信したデータをUDPフォーマットのデータに変換するように構成される。
送信ユニット403は、ローカル中継装置とピア中継装置の間のUDPチャネルを介して当該UDPフォーマットのデータをピア中継装置に送信するように構成される。
図8に対応する実施形態に基づいて、図10を参照すると、本発明の当該実施形態で提供した中継装置はさらに、決定ユニット405および第2のフォーマット変換ユニット406を備える。
受信ユニット401はさらに、ピア中継装置により送信されたUDPフォーマットのデータを受信するように構成される。
決定ユニット405は、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度のチャネルを決定するように構成される。
第2のフォーマット変換ユニット406は、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであると決定ユニット405が判定したときに、UDPフォーマットのデータを最高優先度のチャネルに対応するフォーマットに変換するように構成される。
送信ユニット403は、フォーマットが当該第2のフォーマット変換ユニットにより変換されたデータを当該ローカル・クライアント・ホストに送信するように構成される。
本発明の1実施形態はさらにコンピュータ読取可能記憶媒体を提供する。当該記憶媒体はプログラムを格納し、当該プログラムを実行したときに、上記のデータ対話方法のステップの一部または全部がクライアント・ホスト側で実施される。
本発明の1実施形態ではさらにコンピュータ読取可能記憶媒体を提供する。当該記憶媒体はプログラムを格納し、当該プログラムを実行したときに、上記のデータ対話方法のステップの一部または全部が中継装置側で実施される。
図11は、本発明の1実施形態に従うクライアント・ホスト30の略構造図である。クライアント・ホスト30は、入力装置310、出力装置320、プロセッサ330、およびメモリ340を備えてもよい。
メモリ340は読取専用メモリとランダム・アクセス・メモリを含んでもよく、プロセッサ330に対して命令とデータを提供する。メモリ340の一部がさらに、不揮発性のランダム・アクセス・メモリ(NVRAM)を含んでもよい。
メモリ340は、様々な動作命令を含み様々な動作を実施するために使用される動作命令と様々なシステム・プログラムを含み様々な基本サービスを実施しハードウェア・ベースのタスクを処理するために使用されるオペレーティング・システムといった要素を格納し、モジュールもしくはデータ構造、または、当該モジュールと当該データ構造のサブセット、または、1組の拡張した当該モジュールと当該データ構造を実行してもよい。
本発明の当該実施形態では、プロセッサ330が、メモリ340に格納された動作命令を起動することによって以下の動作、即ち、出力装置320を使用することにより、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求およびデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、出力装置320を使用することによって、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、入力装置310を使用することによって、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集し、当該2種類のアドレスは各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含み、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施し、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップを実行する(動作命令をオペレーティング・システムに格納してもよい)。
本発明の当該実施形態では、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
プロセッサ330はクライアント・ホスト30の動作を制御し、プロセッサ330をCPU(Central Processing Unit、中央演算装置)と称してもよい。メモリ340が読取専用メモリおよびランダム・アクセス・メモリを含んでもよく、命令とデータをプロセッサ330に提供する。メモリ340の一部がさらに不揮発性ランダム・アクセス・メモリ(NVRAM)を含んでもよい。具体的な適用例では、クライアント・ホスト30の全てのコンポーネントがバス・システム350を用いて接続され、データ・バスに加えて、バス・システム350がさらに、電力バス、制御バス、状態信号バス等を含んでもよい。しかし、説明を分かり易くするために、図の全ての種類のバスをバス・システム350として示す。
上述の本発明の諸実施形態で開示した方法をプロセッサ330に適用してもよく、または、プロセッサ330により実装してもよい。プロセッサ330は集積回路チップであってもよく、信号処理機能を有する。実装プロセスでは、上述の方法の諸ステップを、プロセッサ330内のハードウェアの集積論理回路またはソフトウェアの形態の命令により実装してもよい。プロセッサ330は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)もしくは別のプログラム可能論理コンポーネント、離散ゲートもしくはトランジスタ論理装置、または離散ハードウェア・コンポーネントであってもよい。プロセッサ330は、本発明の諸実施形態で開示した全ての方法、ステップ、および論理図を実装または実行してもよい。上記汎用プロセッサがマイクロ・プロセッサであってもよく、または、当該汎用プロセッサが任意の従来型のプロセッサであってもよい、等である。本発明の諸実施形態で開示した方法の諸ステップをハードウェア復号化プロセッサで直接実装してもよく、または、復号化プロセッサにおいてハードウェア・モジュールとソフトウェア・モジュールを組み合せることによって実装してもよい。当該ソフトウェア・モジュールを、ランダム・アクセス・メモリ、フラッシュ・メモリ、読取専用メモリ、プログラム可能読取専用メモリもしくは電気的消去可能プログラム可能メモリ、またはレジスタのような、当業界で成熟した記憶媒体に配置してもよい。当該記憶媒体はメモリ340内に配置され、プロセッサ330がメモリ340内の情報を読み取ってメモリ340と協調して上述の方法のステップを実施する。
場合によっては、プロセッサ330がさらに、ローカル・クライアント・ホストの三種類のアドレスのホスト・アドレスを取得してもよい。当該三種類のアドレスのホスト・アドレスは、UDPチャネルのホスト・アドレス、TCPチャネルのホスト・アドレス、およびHTTPチャネルのホスト・アドレスを含む。当該ローカル・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび収集した当該2種類のアドレスを、ピア・クライアント・ホストの三種類のアドレスのホスト・アドレスおよび当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチングする。
場合によっては、プロセッサ330はさらに、当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ローカル・クライアント・ホストのHTTPチャネルのホスト・アドレス、および、当該ローカル・クライアント・ホストにより収集された、当該少なくとも1つのチャネルにおける各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを、ピア・クライアント・ホストにより収集された、当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレス、当該当該ピア・クライアント・ホストのTCPチャネルのホスト・アドレス、当該ピア・クライアント・ホストのHTTPチャネルのホスト・アドレス、および、当該ローカル・クライアント・ホストにより収集された、最外層のNATホストにより割り当てられたマッピング・アドレスおよびピア中継装置の中継アドレスと交換しマッチしてもよい。
場合によっては、プロセッサ330は特に当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスの間のUDPチャネルの接続性を検出してもよい。当該ローカル・クライアント・ホストのUDPチャネルのホスト・アドレスと当該ピア・クライアント・ホストのUDPチャネルのホスト・アドレスがマッチされる。当該UDPチャネルの接続に成功したときには、当該ローカル・クライアント・ホストと当該ピア・クライアント・ホストとがデータ対話を実施するときに最高優先度を有するチャネルとして当該UDPチャネルを選択する。場合によっては、プロセッサ330がアドレス交換中に信号処理プロトコル・サーバを用いて当該ピア・クライアント・ホストとのアドレス交換を実施してもよい。
図12は、本発明の1実施形態に従う中継装置40の略構造図である。中継装置40は、入力装置410、出力装置420、プロセッサ430、およびメモリ440を備えてもよい。
メモリ440は読取専用メモリとランダム・アクセス・メモリを備えてもよく、命令とデータをプロセッサ430に提供する。メモリ440の一部がさらに不揮発性ランダム・アクセス・メモリ(NVRAM)を含んでもよい。
メモリ440は、様々な動作命令を含み様々な動作を実施するために使用される動作命令と、様々なシステム・プログラムを含み様々な基本サービスを実施しハードウェア・ベースのタスクを処理するために使用されるオペレーティング・システムといった要素を格納し、モジュールもしくはデータ構造、または、当該モジュールと当該データ構造のサブセット、または、1組の拡張した当該モジュールと当該データ構造を実行してもよい。
本発明の当該実施形態では、プロセッサ430が、メモリ440に格納された動作命令を起動することによって以下の動作、即ち、入力装置410を使用することにより、ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するステップと、当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する二種類のアドレスを収集するステップであって、当該二種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより収集されたマッピング・アドレスとローカル中継装置の中継アドレスを含むステップと、出力装置420を使用することにより、当該パケット・タイプに対応する収集した二種類のアドレスを当該ローカル・クライアント・ホストに送信して、当該ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し、ピア・クライアント・ホストとのデータ対話に対して検出した有効チャネルから最高優先度を有するチャネルを選択するようにするステップを実行する(動作命令をオペレーティング・システムに格納してもよい)。
本発明の当該実施形態で提供する中継装置を用いることによって、同時に送信されたUDPチャネルに対するアドレス検出要求とTCPチャネルに対するアドレス検出要求の1つがNATの訪問に成功したときに、クライアント・ホストは対応するチャネルの2種類のアドレスを収集することができ、アドレス検出中にクライアント・ホストによりNATホストを訪問する効率が高まり、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
プロセッサ430は中継装置40の動作を制御し、プロセッサ430をCPU(Central Processing Unit、中央演算装置)と称してもよい。メモリ440が読取専用メモリおよびランダム・アクセス・メモリを含んでもよく、命令とデータをプロセッサ430に提供する。メモリ440の一部がさらに不揮発性ランダム・アクセス・メモリ(NVRAM)を含んでもよい。具体的な適用例では、クライアント・ホスト30の全てのコンポーネントがバス・システム450を用いて接続され、データ・バスに加えて、バス・システム450がさらに、電力バス、制御バス、状態信号バス等を含んでもよい。しかし、説明を分かり易くするために、図の全ての種類のバスをバス・システム450として示す。
上述の本発明の諸実施形態で開示した方法をプロセッサ430に適用してもよく、または、プロセッサ430により実装してもよい。プロセッサ430は集積回路チップであってもよく、信号処理機能を有する。実装プロセスでは、上述の方法の諸ステップを、プロセッサ430内のハードウェアの集積論理回路またはソフトウェアの形態の命令により実装してもよい。プロセッサ430は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)もしくは別のプログラム可能論理コンポーネント、離散ゲートもしくはトランジスタ論理装置、または離散ハードウェア・コンポーネントであってもよい。プロセッサ430は、本発明の諸実施形態で開示した全ての方法、ステップ、および論理図を実装または実行してもよい。上記汎用プロセッサがマイクロ・プロセッサであってもよく、または、当該汎用プロセッサが任意の従来型のプロセッサであってもよい、等である。本発明の諸実施形態で開示した方法の諸ステップをハードウェア復号化プロセッサで直接実装してもよく、または、復号化プロセッサにおいてハードウェア・モジュールとソフトウェア・モジュールを組み合せることによって実装してもよい。当該ソフトウェア・モジュールを、ランダム・アクセス・メモリ、フラッシュ・メモリ、読取専用メモリ、プログラム可能読取専用メモリもしくは電気的消去可能プログラム可能メモリ、またはレジスタのような、当業界で成熟した記憶媒体に配置してもよい。当該記憶媒体はメモリ440内に配置され、プロセッサ430がメモリ440内の情報を読み取ってメモリ440と協調して上述の方法のステップを実施する。
場合によっては、入力装置410が、当該ローカル・クライアント・ホストが送信したデータを受信する。当該データの宛先端末アドレスは当該データの受信者が当該ピア・クライアント・ホストであることを示す。プロセッサ430はデータをUDPフォーマットのデータに変換する。出力装置420は、当該ローカル中継装置と当該ピア中継装置の間のUDPチャネルを介して当該UDPフォーマットのデータをピア中継装置に送信する。
場合によっては、入力装置410がピア中継装置により送信されたUDPフォーマットのデータを受信し、プロセッサ430が当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度のチャネルを決定し、当該ローカル中継装置と当該ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであるときには、データをUDPフォーマットから最高優先度のチャネルに対応するフォーマットに変換し、出力装置420が変換されたフォーマットのデータをローカル・クライアント・ホストに送信する。
図13を参照すると、本発明の1実施形態で提供するデータ対話システムの1実施形態は、第1のクライアント・ホスト30A、第2のクライアント・ホスト30B、第1のNATホスト50A、第2のNATホスト50B、第1の中継装置40A、および第2の中継装置40Bを備える。
第1のクライアント・ホスト30A、第1のNATホスト50A、および第1の中継装置40Aは第1のネットワークに属する。第2のクライアント・ホスト30B、第2のNATホスト50B、および第2の中継装置40Bは第2のネットワークに属する。
第1のNATホスト50Aは、当該第1のネットワークの最外層にあるNATホストであり、当該第1のクライアント・ホスト30Aにより送信されたアドレス検出要求を受信したときに、マッピング・アドレスを第1のクライアント・ホスト30Aに割り当てる。
第2のNATホスト50Bは、当該第2のネットワークの最外層にあるNATホストであり、当該第2のクライアント・ホスト30Bにより送信されたアドレス検出要求を受信したときに、マッピング・アドレスを第2のクライアント・ホスト30Bに割り当てる。
第1のクライアント・ホスト30Aは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよび当該ローカル中継装置の中継アドレスを含む。
第2のクライアント・ホスト30Bは、ユーザ・データグラム・プロトコルUDPチャネルのアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルのアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスを含む。
第1のクライアント・ホスト30Aと第2のクライアント・ホスト30Bはアドレス交換とアドレス・マッチングを実施する。第1のクライアント・ホスト30Aと第2のクライアント・ホスト30Bは、マッチしたアドレスに基づいてチャネル接続検出を別々に実施し、ピア・クライアント・ホストとのデータ対話に対する検出した有効チャネルから最高優先度のチャネルを選択する。
本発明の当該実施形態で提供するデータ対話システムでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮され、2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図14を参照すると、本発明の1実施形態で提供するデータ対話システムの1実施形態は、第1のクライアント・ホスト30A、第2のクライアント・ホスト30B、NATホスト50、および中継装置40を備える。第1のクライアント・ホスト30Aと第2のクライアント・ホスト30Bは同一のネットワークに属する。
NATホスト50は、第1のクライアント・ホスト30Aおよび第2のクライアント・ホスト30Bが配置されたネットワークの最外層のNATホストであり、第1のクライアント・ホスト30Aおよび第2のクライアント・ホスト30Bのうち少なくとも1つにより送信されたアドレス検出要求を受信したときに、マッピング・アドレスを当該第1のクライアント・ホストと当該第2のクライアント・ホストのうち少なくとも1つに割り当てる。
第1のクライアント・ホスト30Aは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスを含む。
第2のクライアント・ホスト30Bは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスを含む。
第1のクライアント・ホスト30Aと第2のクライアント・ホスト30Bはアドレス交換とアドレス・マッチングを実施する。第1のクライアント・ホスト30Aと第2のクライアント・ホスト30Bは、マッチしたアドレスに基づいてチャネル接続検出を別々に実施し、ピア・クライアント・ホストとのデータ対話に対する検出された有効チャネルから最高優先度のチャネルを選択する。
本発明の当該実施形態で提供するデータ対話システムでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求が同時に送信されるようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
上記諸実施形態の方法のステップの全部または一部を、(プロセッサのような)関連するハードウェアに指示するプログラムによって実装してもよいことは当業者により理解される。当該プログラムをコンピュータ読取可能記憶媒体に格納してもよい。当該記憶媒体が、ROM、RAM、磁気ディスク、または光ディスクを含んでもよい。
本発明の諸実施形態で提供したデータ対話方法、装置、およびシステムを以上で詳細に説明した。本発明の原理と実装方式を具体的な例を通じて本明細書で説明した。上述の実施形態に関する説明は、本発明の方法と中心的な思想の理解の簡単さのために与えたにすぎない。一方で、当業者は本発明の思想に従って具体的な実装方式と適用範囲に修正を加えることができる。したがって、本明細書の内容は本発明を限定するものとして解釈すべきではない。
30 クライアント・ホスト
301 送信ユニット
302 第1の受信ユニット
303 アドレス処理ユニット
304 チャネル処理ユニット
40 中継装置
401 受信ユニット
402 アドレス収集ユニット
403 送信ユニット
405 決定ユニット
406 第2のフォーマット変換ユニット
クライアントが、ユーザ・データ・プロトコル(User Datagram Protocol、UDP)を用いて検出要求パケットを公開ネットワークの中継装置に送信する。応答がクライアントにより上手く受信された場合には、これは、NATホストがポートを介したUDP通信を許可したことを示し、次のステップが実施される。次いで、検出が終了する。応答がクライアントによって上手く受信されなかった場合には、当該次のステップを実施することができない。
先行技術には、HTTPトンネル技術が信号ステップ検出方式を使用しており、次ステップ検出は、以前のステップ検出の結果が取得されたときにのみ開始することができ、その結果、HTTPモジュールの開始に非常に長い時間が費やされる場合には、NATホストの訪問は非常に低速であるという欠点がある。
本発明の第1の態様は、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するステップと、少なくとも1つのチャネルのアドレス検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するステップであって、当該2種類のアドレスは各チャネルの最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含むステップと、ピア・クライアント・ホストとアドレス交換およびアドレス・マッピングを実施するステップと、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップとを含むデータ対話方法を提供する。
本発明の第3の態様は、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するように構成された送信ユニットと、少なくとも1つのチャネルのアドレス検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成された受信ユニットであって、当該2種類のアドレスは最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含む受信ユニットと、当該受信ユニットにより受信した当該アドレスでピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するように構成されたアドレス処理ユニットと、当該アドレス処理ユニットによりマッチングしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成されたチャネル処理ユニットと、を備えるクライアント・ホストを提供する。
第3の態様を参照すると、第1の可能な実装方式では、当該クライアント・ホストはさらにアドレス取得ユニットを備え、当該アドレス取得ユニットは、ローカル・クライアント・ホストとしての役割を果たすクライアント・ホストの三種類のチャネルのホスト・アドレスを取得するように構成され、当該三種類のチャネルの当該ホスト・アドレスは当該UDPチャネルのホスト・アドレス、当該TCPチャネルのホスト・アドレス、および当該HTTPチャネルのホスト・アドレスを含み、当該アドレス処理ユニットは、当該ローカル・クライアント・ホストの当該三種類のチャネルの当該ホスト・アドレスおよび収集した当該2種類のアドレスを、当該ピア・クライアント・ホストの当該三種類のチャネルのホスト・アドレスおよび当該ピア・クライアント・ホストにより収集された当該2種類のアドレスと交換しマッチングするように構成される。
本発明の第4の態様は、ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するように構成された受信ユニットと、当該受信ユニットにより受信された当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集するように構成されたアドレス収集ユニットであって、当該2種類のアドレスは最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置としての役割を果たす中継装置の中継アドレスを含むアドレス収集ユニットと、当該パケット・タイプに対応し当該アドレス収集ユニットにより収集された当該2種類のアドレスを当該ローカル・クライアント・ホストに送信して、当該ローカル・クライアント・ホストおよびピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成された送信ユニットと、を備える中継装置を提供する。
本発明の諸実施形態では、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求および転送制御プロトコルTCPチャネルに対するアドレス検出要求が同時に送信され、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求が送信され、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスが収集され、当該2種類のアドレスは各チャネルの最外層でネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含み、アドレス交換とアドレス・マッチングがピア・クライアント・ホストで実施され、チャネル接続検出がマッチしたアドレスに基づいて実施され、最高優先度のチャネルが当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから選択される。したがって、先行技術の単一ステップの検出方式と比べて、本発明の諸実施形態では、アドレス検出がユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信する方式で実施される。これによりアドレス検出中にNATホストを訪問する効率が改善され、その結果、2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
101では、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信する。当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信する。
UDP検出要求とTCP検出要求のうち1つがNATホストの訪問に成功すると、HTTP検出要求が送信されず、したがって、以下のように4つの状況が存在する。第1の状況では、UDP検出要求がNATホストの訪問に成功し、UDPチャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスが収集される。第2の状況では、TCP検出要求がNATホストの訪問に成功し、TCPチャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスが取集される。第3の状況では、UDP検出要求とTCP検出要求がNATホストの同時訪問に成功し、UDPチャネルとTCPチャネルの最外層のNATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスが収集される。第4の状況では、UDP検出要求とTCP検出要求が同時訪問に成功し、HTTP検出要求がNATホストの訪問に成功し、HTTPチャネルのNATホストにより割り当てられたマッピング・アドレスと中継サービスを提供する当該ローカル中継装置の中継アドレスとが収集される。
先行技術の単一ステップの検出方式と比べて、本発明の当該実施形態では、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出が実施され、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の当該実施形態では、同一のネットワークにおいて、クライアント・ホストから中継装置へのUDPチャネル、TCPチャネル、およびHTTPチャネルでは、各チャネルは三種類のアドレスに対応する。それぞれ、UDPチャネルに対して、当該三種類のアドレスは、クライアント・ホストの当該UDPチャネルのホスト・アドレス、最外層のNATホストによりUDPチャネルに割り当てられたマッピング・アドレス、中継装置によりUDPチャネルに割り当てられた中継アドレスである。同様に、TCPチャネルに対して、当該三種類のアドレスは、クライアント・ホストのTCPチャネルのホスト・アドレス、最外層のNATホストによりTCPチャネルに割り当てられたマッピング・アドレス、および中継装置によりTCPチャネルに割り当てられた中継アドレスである。HTTPチャネルに対して、当該三種類のアドレスは、クライアント・ホストの当該HTTPチャネルのホスト・アドレス、最外層のNATホストによりHTTPチャネルに割り当てられたマッピング・アドレス、および中継装置によりHTTPチャネルに割り当てられた中継アドレスである。
先行技術と比較して、本発明の当該実施形態で提供するデータ対話方法では、同時に送信されたUDPチャネルに対するアドレス検出要求とTCPチャネルに対するアドレス検出要求の1つがNATホストの訪問に成功したときに、クライアント・ホストが対応するチャネルの2種類のアドレスを収集し、アドレス検出中にクライアント・ホストによりNATホストを訪問する効率が高まり、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の当該実施形態では、中継装置により受信されピア中継装置により送信されたデータはUDPフォーマットのデータあり、ローカル中継装置とローカル・クライアント・ホストの間の最高優先度のチャネルが先ず決定され、最高優先度のチャネルがUDPチャネルでないと判定された後にフォーマット変換を当該データに対して実施する必要があり、最高優先度のチャネルがTCPチャネルであるときには、当該データのフォーマットをTCPフォーマットに変換し、最高優先度のチャネルがHTTPチャネルである場合には、当該データのフォーマットをHTTPフォーマットに変換し、変換したデータを対応するチャネルを介してローカル・クライアント・ホストに送信する。
S100では、第1のネットワークにおける第1のクライアント・ホストが、第1のクライアント・ホストのユーザ・データグラム・プロトコルUDPチャネルのホスト・アドレス、第1のクライアント・ホストの転送制御プロトコルTCPチャネルのホスト・アドレス、および第1のクライアント・ホストのハイパーテキスト転送プロトコルHTTPチャネルのホスト・アドレスを取得する。
39秒後に応答が受信されなかった場合には、UDPアドレス検出要求とTCPアドレス検出要求の両方が失敗したと判定する。ステップS110を実行して、HTTPアドレス検出要求を第1のネットワーク内の第1の中継装置に送信する。
S115では、第1のネットワーク内の第1の中継装置が、HTTPチャネルを介して、第1のクライアント・ホストが配置されているネットワーク側の最外層のNATホストにより割り当てられたマッピング・アドレス、および、第1のクライアント・ホストに中継サービスを提供する第1の中継装置の中継アドレスを返す。
S200では、第2のネットワークにおける第2のクライアント・ホストが、第2のクライアント・ホストのユーザ・データグラム・プロトコルUDPチャネルのホスト・アドレス、第2のクライアント・ホストの転送制御プロトコルTCPチャネルのホスト・アドレス、および第2のクライアント・ホストのハイパーテキスト転送プロトコルHTTPチャネルのホスト・アドレスを取得する。
S125では、第1のネットワークの第1のクライアント・ホストがHTTPチャネルを介してデータを第1のネットワークの第1の中継装置に送信する。
反対に、第2のネットワークの第2のクライアント・ホストがUDPチャネルを介してUDPフォーマットのデータを第2のネットワークの第2の中継装置に送信し、第2のネットワークの第2の中継装置がUDPフォーマットのデータを第1のネットワークの第1の中継装置に送信し、第1のネットワークの第1の中継装置は、UDPフォーマットのデータを受信した後にUDPフォーマットのデータをHTTPフォーマットのデータに変換し、第1のネットワークの第1の中継装置がHTTPチャネルを介してHTTPフォーマットのデータを第1のネットワークの第1のクライアント・ホストに送信する。
本発明の当該実施形態で提供するデータ対話シナリオでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図4を参照すると、図4は、UnicomサブスクライバおよびTelecomサブスクライバが電話で通信するシナリオを示す。具体的な説明を以下で与える。A100では、Unicomクライアントがドメイン・ネーム・システム(Domain Name System、DNS)中継装置にDNS解決を要求する。A105では、DNS中継装置がUnicomのアドレスIP1を返す。UnicomのIP1アドレスは、Unicomクライアントのホスト・アドレスの役割を果たす。A110では、UnicomクライアントがUDPアドレス検出要求とTCPアドレス検出要求をUnicom側で中継装置に同時に送信する。A115では、タイムアウトまたは失敗の後に、HTTPアドレス検出要求をHTTP中継装置に送信する。A120では、HTTPチャネルを介して最外層のNATホストのアドレスと中継アドレスを受信する。A200では、telecomクライアントがDNS分析を要求する。A205では、TelecomのIP1アドレスを返す。TelecomのIP1アドレスはTelecomクライアントのホスト・アドレスの役割を果たす。A210では、TelecomクライアントがTelecom側でUDPアドレス検出要求とTCPアドレス検出要求を中継装置に同時に送信する。A215では、Telecom中継装置がUDPチャネルを介してNATホストのアドレスと中継アドレスをTelecomクライアントに送信する。A121では、UnicomクライアントとTelecomクライアントがアドレス交換を実施し接続検出を実施して、最高優先度のチャネルを決定する。A125では、UnicomクライアントがHTTPチャネルを介してHTTPフォーマットのデータをUnicom中継装置に送信する。A130では、Unicom中継装置がHTTPフォーマットのデータをUDPフォーマットのデータに変換する。A135では、Unicom中継装置がUDPフォーマットの変換されたデータをTelecom中継装置に送信する。A140では、Telecom中継装置がUDPチャネルを介してUDPフォーマットのデータをTelecomクライアントに送信する。
本発明の当該実施形態で提供するデータ対話シナリオでは、クライアント・ホストが、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
(1)アドレス収集手続き1:クライアント・ホストAがホスト・アドレスhostA(192.168.1.10:1000)を取得し、最初にUDPチャネルとTCPチャネルを介してアドレス検出要求をサーバ01に同時に送信して、NAT Aのマッピング・アドレスを収集する。最外層のNAT AのみがHTTPパケットの通過を許可するので、UDPチャネルとTCPチャネルに対するアドレス検出要求は失敗する。UDPチャネルとTCPチャネルに対するアドレス検出要求が失敗した後に、クライアント・ホストAはHTTPチャネルに対するアドレス検出要求を送信し、最外層のNAT Aがマッピング・アドレス(IP2:218.17.55.173:1000)を割り当て、アドレス検出要求がサーバに到達した後に、サーバ01は遷移リソース(IP3:192.168.3.10:10001)を割り当て、同時に、サーバ01はNAT AアドレスIP2とIP3をクライアント・ホストAにフィードバックしてアドレス収集手続きを終了する。
(2)アドレス収集手続き2:クライアント・ホストBがホスト・アドレスhostB(192.168.2.20:2000)を取得し、UDPチャネルとTCPチャネルを介してアドレス検出要求をサーバ02に同時に送信する。最外層のNATホストBはパケット・タイプを限定しないので、UDPチャネルとTCPチャネルに対するアドレス検出要求が最外層のNATホストBを訪問しサーバ02に到達する。サーバ02は遷移リソース(IP5:192.168.3.15:10001)を割り当て、サーバ02はNATホストBにより割り当てられたアドレス(IP4:245.110.88.155:2000)と中継アドレス(IP5:192.168.3.15:10001)をフィードバックする。このようにして、クライアント・ホストBがアドレス収集手続きを終了する。
本発明の当該実施形態で提供するデータ対話シナリオでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
図6を参照すると、本発明の1実施形態で提供するクライアント・ホストの1実施形態は、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するように構成された送信ユニット301と、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを受信するように構成された受信ユニット302であって、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと中継サービスを提供する中継装置の中継アドレスを含む受信ユニット302と、受信ユニット302により受信したアドレスでピア・クライアント・ホストとのアドレス交換とアドレス・マッチングを実施するように構成されたアドレス処理ユニット303と、アドレス処理ユニット303によりマッチングしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成されたチャネル処理ユニット304と、を備える。
本発明の当該実施形態では、送信ユニット301が、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、受信ユニット302が当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを受信し、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと中継サービスを提供する中継装置の中継アドレスを含み、アドレス処理ユニット303が受信ユニット302により受信した当該アドレスにおいてピア・クライアント・ホストとのアドレス交換とアドレス・マッチングを実施し、チャネル処理ユニット304がアドレス処理ユニット303によりマッチングしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択する。先行技術の単一ステップの検出方式と比べて、本発明の当該実施形態で提供するクライアント・ホストがユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信する方式でアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の当該実施形態では、受信ユニット401がローカル・クライアント・ホストにより送信されたアドレス検出要求を受信し、アドレス収集ユニット402が、受信ユニット401により受信された当該アドレス検出要求のパケット・タイプに従って、当該パケット・タイプに対応する2種類のアドレスを収集し、当該2種類のアドレスは最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含み、送信ユニット403が、当該パケット・タイプに対応しアドレス収集ユニット402により収集された当該2種類のアドレスを当該ローカル・クライアント・ホストに送信する。その結果、当該ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、当該ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択する。先行技術と比べると、本発明の当該実施形態で提供した中継装置を用いることによって、同時に送信されたUDPチャネルに対するアドレス検出要求とTCPチャネルに対するアドレス検出要求の1つがNATホストの訪問に成功したときに、クライアント・ホストが対応するチャネルの2種類のアドレスを収集することができ、アドレス検出中にクライアント・ホストによりNATホストを訪問する効率が高まり、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の当該実施形態では、プロセッサ330が、メモリ340に格納された動作命令を起動することによって以下の動作、即ち、出力装置320を使用することにより、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求および転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、出力装置320を使用することによって、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、入力装置310を使用することによって、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集し、当該2種類のアドレスは各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよびローカル中継装置の中継アドレスを含み、ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施し、マッチしたアドレスに基づいてチャネル接続検出を実施し、当該ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップを実行する(動作命令をオペレーティング・システムに格納してもよい)。
本発明の当該実施形態では、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
本発明の当該実施形態で提供する中継装置を用いることによって、同時に送信されたUDPチャネルに対するアドレス検出要求とTCPチャネルに対するアドレス検出要求の1つがNATホストの訪問に成功したときに、クライアント・ホストは対応するチャネルの2種類のアドレスを収集することができ、アドレス検出中にクライアント・ホストによりNATホストを訪問する効率が高まり、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
プロセッサ430は中継装置40の動作を制御し、プロセッサ430をCPU(Central Processing Unit、中央演算装置)と称してもよい。メモリ440が読取専用メモリおよびランダム・アクセス・メモリを含んでもよく、命令とデータをプロセッサ430に提供する。メモリ440の一部がさらに不揮発性ランダム・アクセス・メモリ(NVRAM)を含んでもよい。具体的な適用例では、中継装置40の全てのコンポーネントがバス・システム450を用いて接続され、データ・バスに加えて、バス・システム450がさらに、電力バス、制御バス、状態信号バス等を含んでもよい。しかし、説明を分かり易くするために、図の全ての種類のバスをバス・システム450として示す。
第1のクライアント・ホスト30Aは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスおよび当該ローカル中継装置の中継アドレスを含む。
第2のクライアント・ホスト30Bは、ユーザ・データグラム・プロトコルUDPチャネルのアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルのアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスを含む。
本発明の当該実施形態で提供するデータ対話システムでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信するようにアドレス検出を実施し、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮され、2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。
第1のクライアント・ホスト30Aは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、少なくとも1つのチャネルの検出が成功したときには、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスを含む。
第2のクライアント・ホスト30Bは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、当該UDPチャネルに対するアドレス検出と当該TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信し、当該少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成される。当該2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスと当該ローカル中継装置の中継アドレスを含む。
本発明の当該実施形態で提供するデータ対話システムでは、クライアント・ホストは、ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求と転送制御プロトコルTCPチャネルに対するアドレス検出要求が同時に送信されるようにアドレス検出を実施し、アドレス検出中にNATホストを訪問する効率が改善され、それにより2つのクライアント・ホスト間のデータ対話の初期遅延が短縮される。

Claims (18)

  1. ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、前記UDPチャネルに対するアドレス検出と前記TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するステップと、
    少なくとも1つのチャネルの検出が成功したときには、前記少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するステップであって、前記2種類のアドレスは、各チャネルの最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含むステップと、
    ピア・クライアント・ホストとのアドレス交換およびアドレス・マッチングを実施するステップと、
    マッチしたアドレスに基づいてチャネル接続検出を実施し、前記ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップと、
    を含む、データ対話方法。
  2. ピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するステップの前に、ローカル・クライアント・ホストの三種類のチャネルのホスト・アドレスを取得するステップであって、前記三種類のチャネルの前記ホスト・アドレスは、前記UDPチャネルのホスト・アドレス、前記TCPチャネルのホスト・アドレス、および前記HTTPチャネルのホスト・アドレスを含むステップを含み、
    それに応じて、ピア・クライアント・ホストとのアドレス交換およびアドレス・マッチングを実施するステップを実施するステップは、
    前記ローカル・クライアント・ホストの前記三種類のチャネルの前記ホスト・アドレスと前記ローカル・クライアント・ホストにより収集された前記2種類のアドレスを、前記ピア・クライアント・ホストの前記三種類のチャネルのホスト・アドレスおよび前記ピア・クライアント・ホストにより収集された前記2種類のアドレスと交換するステップと、
    前記ローカル・クライアント・ホストの前記三種類のチャネルの前記ホスト・アドレスと前記ローカル・クライアント・ホストにより収集された前記2種類のアドレスを、前記ピア・クライアント・ホストの前記三種類のチャネルのホスト・アドレスと前記ピア・クライアント・ホストにより収集された前記2種類のアドレスとマッチするステップと、 を含む、請求項1に記載の方法。
  3. 前記ローカル・クライアント・ホストの前記三種類のチャネルの前記ホスト・アドレスと前記ローカル・クライアント・ホストにより収集された前記2種類のアドレスを、前記ピア・クライアント・ホストの前記三種類のチャネルのホスト・アドレスおよび前記ピア・クライアント・ホストにより収集された前記2種類のアドレスと交換し、前記ローカル・クライアント・ホストの前記三種類のチャネルの前記ホスト・アドレスと前記ローカル・クライアント・ホストにより収集された前記2種類のアドレスを、前記ピア・クライアント・ホストの前記三種類のチャネルのホスト・アドレスと前記ピア・クライアント・ホストにより収集された前記2種類のアドレスとマッチするステップは、
    前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記TCPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記HTTPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストにより収集され前記少なくとも1つのチャネルにおける各チャネルの最外層で前記ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および前記ローカル中継装置のものであり前記ローカル・クライアント・ホストにより収集された中継アドレスを、前記ピア・クライアント・ホストの前記UDPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記TCPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記HTTPチャネルのホスト・アドレス、前記ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり前記ピア・クライアント・ホストにより収集された中継アドレスと交換するステップと、
    前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記TCPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記HTTPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストにより収集され前記少なくとも1つのチャネルにおける各チャネルの最外層で前記ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および前記ローカル中継装置のものであり前記ローカル・クライアント・ホストにより収集された中継アドレスを、前記ピア・クライアント・ホストの前記UDPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記TCPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記HTTPチャネルのホスト・アドレス、前記ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり前記ピア・クライアント・ホストにより収集された中継アドレスとマッピングするステップと、
    を含む、請求項2に記載の方法。
  4. マッチしたアドレスに基づいてチャネル接続検出を実施し、前記ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するステップは、
    前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスと前記ピア・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスの間のUDPチャネルの接続性を検出するステップであって、前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスおよび前記ピア・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスがマッチされるステップと、
    前記UDPチャネルの接続に成功したときには、前記UDPチャネルを、前記ローカル・クライアント・ホストと前記ピア・クライアント・ホストとがデータ対話を実施するときの最高優先度を有するチャネルとして選択するステップと、
    を含む、請求項3に記載の方法。
  5. アドレス交換中に、プロキシ・サーバを用いることによって前記ピア・クライアント・ホストとのアドレス交換を実施するステップをさらに含む、請求項1乃至4の何れか1項に記載の方法。
  6. ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するステップと、
    前記アドレス検出要求のパケット・タイプに従って、前記パケット・タイプに対応する2種類のアドレスを収集するステップであって、前記2種類のアドレスは、最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含むステップと、
    前記パケット・タイプに対応する収集した2種類のアドレスを前記ローカル・クライアント・ホストに送信し、前記ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、前記ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し、前記ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するようにするステップと、
    を含む、データ対話方法。
  7. 前記ローカル・クライアント・ホストが送信したデータを受信するステップであって、前記データの宛先端末アドレスは前記データの受信者が前記ピア・クライアント・ホストであることを示すステップと、
    前記データをUDPフォーマットのデータに変換するステップと、
    前記ローカル中継装置とピア中継装置の間のUDPチャネルを介して、前記UDPフォーマットのデータを前記ピア中継装置に送信するステップと、
    をさらに含む、請求項6に記載の方法。
  8. ピア中継装置により送信されたUDPフォーマットのデータを受信するステップと、
    前記ローカル中継装置と前記ローカル・クライアント・ホストの間で最高優先度のチャネルを決定するステップと、
    前記ローカル中継装置と前記ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであるときには、前記データを前記UDPフォーマットから前記最高優先度のチャネルに対応するフォーマットに変換するステップと、
    変換されたフォーマットのデータを前記ローカル・クライアント・ホストに送信するステップと、
    をさらに含む、請求項6に記載の方法。
  9. ユーザ・データグラム・プロトコルUDPチャネルに対するアドレス検出要求とデータ転送プロトコルTCPチャネルに対するアドレス検出要求を同時に送信し、前記UDPチャネルに対するアドレス検出と前記TCPチャネルに対するアドレス検出の両方が失敗したときには、ハイパーテキスト転送プロトコルHTTPチャネルに対するアドレス検出要求を送信するように構成された送信ユニットと、
    少なくとも1つのチャネルの検出が成功したときには、前記少なくとも1つのチャネルにおける各チャネルに対応する2種類のアドレスを収集するように構成された受信ユニットであって、前記2種類のアドレスは、最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含む受信ユニットと、
    前記受信ユニットにより受信した前記アドレスでピア・クライアント・ホストとアドレス交換およびアドレス・マッチングを実施するように構成されたアドレス処理ユニットと、
    前記アドレス処理ユニットによりマッチングした前記アドレスに基づいてチャネル接続検出を実施し、前記ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成されたチャネル処理ユニットと、
    を備える、クライアント・ホスト。
  10. アドレス取得ユニットをさらに備え、
    前記アドレス取得ユニットは、ローカル・クライアント・ホストの三種類のチャネルのホスト・アドレスを取得するように構成され、前記三種類のチャネルの前記ホスト・アドレスは、前記UDPチャネルのホスト・アドレス、前記TCPチャネルのホスト・アドレス、および前記HTTPチャネルのホスト・アドレスを含み、
    前記アドレス処理ユニットは、前記ローカル・クライアント・ホストの前記三種類のチャネルの前記ホスト・アドレスおよび収集した前記2種類のアドレスを、前記ピア・クライアント・ホストの前記三種類のチャネルのホスト・アドレスおよび前記ピア・クライアント・ホストにより収集された前記2種類のアドレスと交換し、前記ローカル・クライアント・ホストの前記三種類のチャネルの前記ホスト・アドレスおよび収集した前記2種類のアドレスを、前記ピア・クライアント・ホストの前記三種類のチャネルのホスト・アドレスおよび前記ピア・クライアント・ホストにより収集された前記2種類のアドレスとマッチングするように構成された、
    請求項9に記載のクライアント・ホスト。
  11. 前記アドレス処理ユニットはさらに、前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記TCPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記HTTPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストにより収集され前記少なくとも1つのチャネルにおける各チャネルの最外層で前記ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および前記ローカル中継装置のものであり前記ローカル・クライアント・ホストにより収集された中継アドレスを、前記ピア・クライアント・ホストの前記UDPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記TCPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記HTTPチャネルのホスト・アドレス、前記ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり前記ピア・クライアント・ホストにより収集された中継アドレスと交換し、前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記TCPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストの前記HTTPチャネルの前記ホスト・アドレス、前記ローカル・クライアント・ホストにより収集され前記少なくとも1つのチャネルにおける各チャネルの最外層で前記ネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレス、および前記ローカル中継装置のものであり前記ローカル・クライアント・ホストにより収集された中継アドレスを、前記ピア・クライアント・ホストの前記UDPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記TCPチャネルのホスト・アドレス、前記ピア・クライアント・ホストの前記HTTPチャネルのホスト・アドレス、前記ピア・クライアント・ホストにより収集され最外層でNATホストにより割り当てられたマッピング・アドレス、およびピア中継装置のものであり前記ピア・クライアント・ホストにより収集された中継アドレスとマッチングするように構成された、請求項10に記載のクライアント・ホスト。
  12. 前記チャネル処理ユニットは、前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスと前記ピア・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスの間のUDPチャネルの接続性を検出するように構成され、前記ローカル・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスおよび前記ピア・クライアント・ホストの前記UDPチャネルの前記ホスト・アドレスがマッチングされ、前記UDPチャネルの接続に成功したときには、前記ローカル・クライアント・ホストと前記ピア・クライアント・ホストとがデータ対話を実施するときに最高優先度を有するチャネルとして前記UDPチャネルを選択する、請求項11に記載のクライアント・ホスト。
  13. 前記アドレス処理ユニットはさらに、アドレス交換中に、プロキシ・サーバを用いることによって前記ピア・クライアント・ホストとのアドレス交換を実施するように構成された、請求項9乃至12の何れか1項に記載のクライアント・ホスト。
  14. ローカル・クライアント・ホストにより送信されたアドレス検出要求を受信するように構成された受信ユニットと、
    前記受信ユニットにより受信された前記アドレス検出要求のパケット・タイプに従って、前記パケット・タイプに対応する2種類のアドレスを収集するように構成されたアドレス収集ユニットであって、前記2種類のアドレスは、最外層のネットワーク・アドレス変換NATホストにより割り当てられたマッピング・アドレスとローカル中継装置の中継アドレスを含むアドレス収集ユニットと、
    前記パケット・タイプに対応し前記アドレス収集ユニットにより収集された前記2種類のアドレスを前記ローカル・クライアント・ホストに送信して、前記ローカル・クライアント・ホストとピア・クライアント・ホストがアドレス交換とアドレス・マッチングを実施し、前記ローカル・クライアント・ホストが、マッチしたアドレスに基づいてチャネル接続検出を実施し前記ピア・クライアント・ホストとのデータ対話に関して検出した有効チャネルから最高優先度のチャネルを選択するように構成された送信ユニットと、
    を備える、中継装置。
  15. 第1のフォーマット変換ユニットをさらに備え、
    前記受信ユニットはさらに、前記ローカル・クライアント・ホストが送信したデータを受信するように構成され、前記データの宛先端末アドレスは前記データの受信者が前記ピア・クライアント・ホストであることを示し、
    前記第1のフォーマット変換ユニットは、前記受信ユニットにより受信したデータをUDPフォーマットのデータに変換するように構成され、
    前記送信ユニットはさらに、前記ローカル中継装置とピア中継装置の間のUDPチャネルを介して、前記UDPフォーマットのデータを前記ピア中継装置に送信するように構成された、
    請求項14に記載の中継装置。
  16. 決定ユニットおよび第2のフォーマット変換ユニットをさらに備え、
    前記受信ユニットはさらに、ピア中継装置により送信されたUDPフォーマットのデータを受信するように構成され、
    前記決定ユニットは、前記ローカル中継装置と前記ローカル・クライアント・ホストの間で最高優先度のチャネルを決定するように構成され、
    前記第2のフォーマット変換ユニットは、前記ローカル中継装置と前記ローカル・クライアント・ホストの間で最高優先度を有するチャネルが非UDPチャネルであると前記決定ユニットが判定したときに、前記データを前記UDPフォーマットから前記最高優先度のチャネルに対応するフォーマットに変換するように構成され、
    前記送信ユニットはさらに、フォーマットが前記第2のフォーマット変換ユニットにより変換されたデータを前記ローカル・クライアント・ホストに送信するように構成された、
    請求項14に記載の中継装置。
  17. 第1のクライアント・ホスト、第2のクライアント・ホスト、第1のネットワーク・アドレス変換NATホスト、第2のNATホスト、第1の中継装置、および第2の中継装置を備え、
    前記第1のクライアント・ホスト、前記第1のNATホスト、および前記第1の中継装置は第1のネットワークに属し、
    前記第2のクライアント・ホスト、前記第2のNATホスト、および前記第2の中継装置は第2のネットワークに属し、
    前記第1のNATホストは前記第1のネットワークの最外層にあるNATホストであり、前記第1のクライアント・ホストにより送信されたアドレス検出要求を受信したときに、マッピング・アドレスを前記第1のクライアント・ホストに割り当て、
    前記第2のNATホストは前記第2のネットワークの最外層にあるNATホストであり、前記第2のクライアント・ホストにより送信されたアドレス検出要求を受信したときにマッピング・アドレスを前記第2のクライアント・ホストに割り当て、
    前記第1のクライアント・ホストと前記第2のクライアント・ホストはそれぞれ、請求項9乃至13の何れか1項に記載のクライアント・ホストであり、
    前記第1の中継装置と前記第2の中継装置はそれぞれ、請求項14乃至16の何れか1項に記載の中継装置である、
    データ対話システム。
  18. 第1のクライアント・ホスト、第2のクライアント・ホスト、ネットワーク・アドレス変換NATホスト、および中継装置を備え、
    前記第1のクライアント・ホストと前記第2のクライアント・ホストは同一のネットワークに属し、
    前記NATホストは、前記第1のクライアント・ホストと前記第2のクライアント・ホストが存在するネットワークの最外層にあるNATホストであり、前記第1のクライアント・ホストと前記第2のクライアント・ホストのうち少なくとも1つが送信したアドレス検出要求を受信したときに、マッピング・アドレスを前記第1のクライアント・ホストと前記第2のクライアント・ホストのうち少なくとも1つに割り当て、
    前記第1のクライアント・ホストと前記第2のクライアント・ホストはそれぞれ、請求項9乃至13の何れか1項に記載のクライアント・ホストであり、
    前記中継装置は、請求項14乃至16の何れか1項に記載の中継装置である、
    を備える、データ対話システム。
JP2015518840A 2013-05-29 2013-09-25 データ対話方法、装置、およびシステム Active JP5930449B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310206758.6A CN103347099B (zh) 2013-05-29 2013-05-29 一种数据交互的方法、装置及系统
CN201310206758.6 2013-05-29
PCT/CN2013/084145 WO2014190643A1 (zh) 2013-05-29 2013-09-25 一种数据交互的方法、装置及系统

Publications (2)

Publication Number Publication Date
JP2015522880A true JP2015522880A (ja) 2015-08-06
JP5930449B2 JP5930449B2 (ja) 2016-06-08

Family

ID=49281873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015518840A Active JP5930449B2 (ja) 2013-05-29 2013-09-25 データ対話方法、装置、およびシステム

Country Status (6)

Country Link
EP (1) EP2822256B1 (ja)
JP (1) JP5930449B2 (ja)
KR (1) KR101776648B1 (ja)
CN (1) CN103347099B (ja)
TW (1) TWI527414B (ja)
WO (1) WO2014190643A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105262853A (zh) * 2015-09-23 2016-01-20 上海斐讯数据通信技术有限公司 一种p2p连接nat穿越的路径建立方法、装置及系统
CN106357836B (zh) * 2016-09-07 2019-09-06 新华三技术有限公司 一种连接建立方法和装置
CN107395653B (zh) * 2017-09-13 2020-07-07 上海奇夜语网络科技有限公司 一种基于安全隔离网闸的企业即时通讯系统及方法
CN110503935B (zh) * 2019-07-16 2020-11-06 北京达佳互联信息技术有限公司 音频数据处理方法、装置、电子设备及存储介质
CN112565430B (zh) * 2020-12-08 2023-01-24 上证所信息网络有限公司 一种多市场行情数据在广域网的低时延可靠传输方法
CN112394300B (zh) * 2021-01-20 2021-04-09 上海国微思尔芯技术股份有限公司 一种组网检测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010199761A (ja) * 2009-02-23 2010-09-09 Ntt Communications Kk 端末装置、通信処理方法、及びプログラム
JP2011049977A (ja) * 2009-08-28 2011-03-10 Ntt Communications Kk 端末装置、通信方法、及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7656895B2 (en) * 2004-03-04 2010-02-02 Wiline Networks, Inc. Method and device for coupling a POTS terminal to a non-PSTN communications network
CN100426769C (zh) * 2005-01-12 2008-10-15 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
CN100539504C (zh) * 2006-02-28 2009-09-09 诺基亚西门子通信系统技术(北京)有限公司 一种网络地址转换和/或防火墙穿越平台、系统及其方法
JP4961368B2 (ja) * 2008-02-26 2012-06-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末装置、nat越え方法、及びプログラム
CN101938532B (zh) * 2010-09-17 2013-07-24 北京神州泰岳软件股份有限公司 基于udp的穿越nat设备的方法及系统
KR101263783B1 (ko) * 2010-12-27 2013-05-13 삼성에스디에스 주식회사 릴레이 서버를 이용한 데이터 전송 시스템 및 방법
CN102685262B (zh) * 2012-04-16 2016-06-15 中兴通讯股份有限公司 一种探测网络地址转换信息的方法、装置及系统
CN102904813B (zh) * 2012-11-05 2016-03-02 华为技术有限公司 一种报文转发的方法及相应设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010199761A (ja) * 2009-02-23 2010-09-09 Ntt Communications Kk 端末装置、通信処理方法、及びプログラム
JP2011049977A (ja) * 2009-08-28 2011-03-10 Ntt Communications Kk 端末装置、通信方法、及びプログラム

Also Published As

Publication number Publication date
KR20150016201A (ko) 2015-02-11
WO2014190643A1 (zh) 2014-12-04
EP2822256A1 (en) 2015-01-07
EP2822256B1 (en) 2016-06-22
KR101776648B1 (ko) 2017-09-08
EP2822256A4 (en) 2015-01-21
CN103347099B (zh) 2016-08-10
JP5930449B2 (ja) 2016-06-08
CN103347099A (zh) 2013-10-09
TW201445960A (zh) 2014-12-01
TWI527414B (zh) 2016-03-21

Similar Documents

Publication Publication Date Title
JP5930449B2 (ja) データ対話方法、装置、およびシステム
CA2479581C (en) System for selecting a connectivity mechanism
US8631155B2 (en) Network address translation traversals for peer-to-peer networks
US7830878B2 (en) Virtual network connection system, virtual network connection apparatus, and computer-readable medium
US8194566B2 (en) Information processing device, and bubble packet transmission method and program
WO2020248963A1 (zh) 一种建立端到端网络连接的方法、装置及网络系统
US20100118869A1 (en) Facilitating Transition of Network Operations from IP Version 4 to IP Version 6
TWI441493B (zh) 網路位址轉換的系統與方法
JP2019176511A (ja) ネットワーク機器
CN110691150A (zh) 一种基于SDN的IPv4与IPv6互联方法及系统
CN111711705B (zh) 基于代理节点作双向nat实现网络连接的方法和装置
US9432330B2 (en) Data interaction method, apparatus, and system
JP6386166B2 (ja) IPv4とIPv6との間の翻訳方法及び装置
WO2022089412A1 (zh) 一种通信方法及装置
CN108337331B (zh) 网络穿透方法、装置、系统及网络连通性检查方法
WO2016078235A1 (zh) 基于PNAT向IPv6过渡的网络转换实现方法、装置
KR101124635B1 (ko) IPv4/IPv6 연동 게이트웨이
JP4480605B2 (ja) ネットワーク、ルータ装置及びそれらに用いるプライベートアドレス間通信方法並びにそのプログラム
WO2022127663A1 (zh) 无线宽带路由器、报文处理和域名解析方法及装置
CN113067908B (zh) 一种nat穿越方法、装置、电子设备和存储介质
WO2013035309A1 (ja) エージェント装置及び通信中継方法
KR100881418B1 (ko) 네트워크 주소변환 장치 및 방법
Geng et al. Research on interconnection mechanism between 6LoWPAN and Internet
CN114513387A (zh) 一种隧道建立方法、装置及设备
Jensen Design of a Hardware Network Address Translation Unit for a Single Chip High-Speed Ethernet Router

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150908

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160421

R150 Certificate of patent or registration of utility model

Ref document number: 5930449

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250