JP4083737B2 - ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信 - Google Patents

ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信 Download PDF

Info

Publication number
JP4083737B2
JP4083737B2 JP2004504487A JP2004504487A JP4083737B2 JP 4083737 B2 JP4083737 B2 JP 4083737B2 JP 2004504487 A JP2004504487 A JP 2004504487A JP 2004504487 A JP2004504487 A JP 2004504487A JP 4083737 B2 JP4083737 B2 JP 4083737B2
Authority
JP
Japan
Prior art keywords
client system
address
network address
network
public
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.)
Expired - Lifetime
Application number
JP2004504487A
Other languages
English (en)
Other versions
JP2005525750A (ja
Inventor
ハリス アダム
ジョセフ ゴードン ジェレミー
ジェイコブ マーク
Original Assignee
ソニー・コンピュータ・エンタテインメント・アメリカ・インク
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 ソニー・コンピュータ・エンタテインメント・アメリカ・インク filed Critical ソニー・コンピュータ・エンタテインメント・アメリカ・インク
Publication of JP2005525750A publication Critical patent/JP2005525750A/ja
Application granted granted Critical
Publication of JP4083737B2 publication Critical patent/JP4083737B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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/25Mapping addresses of the same type
    • 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/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/2521Translation architectures other than single NAT servers
    • H04L61/2532Clique of NAT servers
    • 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/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages

Landscapes

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

Description

〈関連出願の表示〉
本出願は、2002年5月13日に出願された米国仮出願60/380396に基づく出願であり、その内容は参照としてここに包含される。
NATサーバ(ネットワークアドレス変換サーバ)の典型的なものの一つとして、ローカルネットワークとインターネットのような外部ネットワークとの間のゲートウェイとして動作するものがある。このNATサーバは、ローカルネットワークにおける1つ以上のマシン(例えば、複数のコンピュータ)間でインターネットアドレスのような公開ネットワークアドレス又は外部ネットワークアドレスを共有可能にするネットワークデバイスである。前述のNATサーバは、ローカルネットワークにおいてこれらのマシンに対して、マシンに固有のローカルネットワークアドレス又は内部ネットワークアドレスを1セット保持する。従って、ローカルネットワークにおける各マシンは、ローカルネットワークアドレスと公開ネットワークアドレスとを有する。
NATサーバは、ローカルネットワークと外部ネットワーク間の通信を行うために、各マシンの公開ネットワークアドレスとローカルネットワークアドレス間で相互に変換を行う。一般的にこのネットワークアドレス変換は、ローカルネットワークにおける各マシンに対してはトランスパレントな処理であるので、これら各マシンは、NATサーバによって使用される公開アドレスを認識することはない。
本記述は、ピアツーピアネットワーク通信(PEER TO PEER NETWORK COMMUNICATION)に係る方法及び装置を提供するものである。一実施形態におけるネットワークシステムは、ネットワークシステムであって、ネットワークに接続され、第1公開ネットワークアドレスを有する第1ネットワークアドレス変換デバイスと、前記第1ネットワークアドレス変換デバイスに接続され、当該第1ネットワークアドレス変換デバイスによって構成される第1ローカルネットワークアドレスを有する第1クライアントシステムと、前記ネットワークに接続され、第2公開ネットワークアドレスを有する第2ネットワークアドレス変換デバイスと、前記第2ネットワークアドレス変換デバイスに接続され、当該第2ネットワークアドレス変換デバイスによって確立される第2ローカルネットワークアドレスを有する第2クライアントシスムと、前記ネットワークに接続されるアドレスサーバと、前記ネットワークに接続されるマッチングサーバと、を有し、前記第1ネットワークアドレス変換デバイス、前記第2ネットワークアドレス変換デバイス、前記アドレスサーバ、及び前記マッチングサーバとが前記ネットワークを介して相互にデータを送信可能であり、前記アドレスサーバは、前記クライアントシステムより受信したデータからクライアントシスムの公開ネットワークアドレスを決定し、派生した公開ネットワークアドレスをクライアントシステムに返信し、前記マッチングサーバは、クライアントシステムの登録と、前記公開ネットワークアドレスと1つ以上の登録されたクライアントシステムのローカルネットワークアドレスと、のためのレジストリテーブルを有し、前記第1クライアントシステムは、アドレスサーバと通信を行って第1公開ネットワークアドレスを決定するための第1ネットワークアドレスマネージャと、マッチングサーバに前記第1クライアントシステムを登録するための第1ネットワーク登録マネージャと、前記第1公開ネットワークアドレスと前記第1ローカルネットワークアドレスを前記第2クライアントシステムと共有するための第1ネットワーク共有マネージャとを有し、前記第2クライアントシスムは、前記アドレスサーバと通信そ行って前記第2公開ネットワークアドレスを決定するための第2ネットワークアドレスマネージャと、前記マッチングサーバに前記第2クライアントシステムを登録するための第2ネットワーク登録マネージャと、前記第2公開ネットワークアドレスと前記第2ローカルネットワークアドレスとを前記第1クライアントシスムと共有するための第2ネットワーク共有マネージャと、を含む、ネットpワークシステムが提供される。
他の実施例において、前述のネットワークシステムは、ネットワークに接続されたマッピングメンテナンスサーバをも含む。
他の実施例によると、第1クライアントシステムと第2クライアントシステム間に通信を行う方法であって、第1ネットワークアドレス変換デバイスに接続された第1クライアントシステムの第1アドレス情報を発見する過程と、前記第1アドレス情報を、第2クライアントシステムと共有する過程と、前記第2クライアントシステムの第2アドレス情報を受信する過程と、前記第2アドレス情報を用いて、前記第1クライアントシステムと前記第2クライアントシステム間に通信を確立する過程と、を有する方法が提供される。
本発明は、ピアツーピアネットワーク通信に係る方法および装置を用意する。本発明は、2つのピアシステム又はクライアントシステム(例えば、ネットワークを利用可能なビデオゲームコンソールシステム)が、たとえ一方又は両方のクライアントシステムがそれぞれのNATデバイス(ネットワーク変換アドレス)の背後に存在したとしても、ネットワーク(例えば、インターネット)を介して相互に通信を行うことを可能にする。以下に記載するように、一実施例によると、このネットワーク通信では4段階のプロセスを使用する。
(1)発見プロセス…各クライアントシステムは、ネットワークを介してそれぞれの公開アドレスを発見する。
(2)共有/配信…各クライアントシステムは、通信をリクエストする他のシステムとそれぞれのアドレス情報を共有する。
(3)通信確立…クライアントシステムは、通信を確立する。
(4)マッピング保持…各クライアントシステムは、それぞれ対応するNATデバイス内にカレントアドレスマッピングを保持する。
図1は、ネットワークシステムアーキテクチャ100を示す。第1クライアントシステム105は、第1NATデバイス(ネットワークアドレス変換デバイス)110に接続され、第1ローカル又は内部ネットワーク115を形成する。この第1クライアントシステム105は、ネットワークアダプタを備えたビデオゲームコンソールシステム又はコンピュータシステムのようなネットワークイネーブルシステム、つまりネットワークを使用可能なシステムである。ビデオゲームコンソールシステムとして、第1クライアントシステム105は、ビデオゲーム機能を提供するハードウェアおよび/もしくはソフトウェアと、以下に記載するネットワーク通信を形成するハードウェアおよび/もしくはソフトウェアを有する。一実施例によると、第1クライアントシステム105は、株式会社ソニー・コンピュータエンタテインメントによって製造された「プレイステーション2」のゲームコンソールである。第1NATデバイス110は、一般的なNATボックス又はNATサーバであり、また、他の形態では、プロクシサーバ、ゲートウェイの一部、ルータ、ファイアウォールの一種である。コンピュータのようなシステム又はネットワークデバイスを一台、あるいは複数台、第1NATデバイス110に接続するか、第1ローカルネットワーク115内に配置しても良い。第1ローカルネットワーク115における各システムは、第1NATデバイス110によって割り当てられ且つ保持されるローカルネットワークアドレスを有する。一実施例において、第1ローカルネットワーク115におけるローカルネットワークアドレスには、アドレス番号およびポート番号が含まれ、例えばこれらの番号がUDP/IP(即ち、アドレス番号がIP番号である)に準拠して与えられている。他の形態においては、第1ローカルネットワーク115は、異なる通信プロトコルを使用し、このローカルネットワークアドレスには、システムを認証するための異なる情報を有する。
第1NATデバイス110は、インターネットのような外部ネットワーク又は公開ネットワーク120に接続される。外部ネットワーク120に接続された個々のアドレス指定可能システム又はデバイスは、公開ネットワークアドレスを有する。「公開」ネットワークアドレスは前述の外部ネットワーク120を介して使用され、「ローカル」ネットワークアドレスは、第1ローカルネットワーク115のようなローカルネットワーク内で使用される。一実施例によると、公開ネットワークアドレスは、UDP/IPに準拠したアドレス番号とポート番号を有する。他の形態によると、外部ネットワーク120は、異なる通信プロトコルを使用し、公開ネットワークアドレスはシステムを認証するための異なる情報を有する。一実施形態によると、第1ローカルネットワーク115のローカルネットワークアドレスは、外部ネットワーク120と互換性がない(例えば、ローカルネットワークアドレスは、外部ネットワーク120の通信プロトコルには認識されない)。
第1NATデバイス110は、公開ネットワークアドレスを有する。第1クライアントシステム105は、直接的に外部ネットワークに接続されるわけではなく、第1NATデバイス110を介してされ、また、公開ネットワークアドレスを有さない。この第1クライアントシステム105は、第1NATデバイス110の公開ネットワークアドレスを第1ローカルネットワーク115における他のシステム(もし存在する場合)とともに共有する。第1NATデバイス110は、第1ローカルネットワーク115内の各システムにローカルネットワークアドレスを割り当てる。第1NATデバイス110は、外部ネットワーク120と第1ローカルネットワーク115間でデータをルーティングするために、公開ネットワークアドレスとローカルネットワークアドレスとの変換を行う。他実施形態においては、第1NATデバイス110は、第1ローカルネットワーク115内のシステムと共有するための2以上の公開ネットワークアドレスを有する。
一実施形態によると、第1NATデバイス110は、例えば、PAT技術(ポートアドレス変換)を用いて第1ローカルネットワーク115内のシステムにポート番号をマッピングする。第1NATデバイス110は、ローカルシステムが外部ネットワーク120を介して送信先にデータを送信すると、第1ローカルネットワーク115内のローカルシステムにポート番号を割り当てる。この第1NATデバイス110は、ポート番号とローカルシステム間のポートマッピングとして、前述のポート番号を記録する。第1NATデバイス110は、単一ローカルシステムの発信データのすべてに単一のポート番号を割り当て、記録する。第1NATデバイス110は、発信データによって割り当てられたポート番号を有するので、受信者が応答するとき、このポート番号の使用が可能になる。第1NATデバイス110は、入力データに添付された前述のポート番号と第1NATデバイス110内に記録されたポートマッピングとを比較することによって、第1ローカルネットワーク115内のどのシステムが入力データの意図された受信先であるか否かを判断する。
第1NATデバイス110は、マッピングを実行して送受信したデータに応じて動的にポートマッピングを確立し、調整する。もし第1NATデバイス110が、ポート番号を有するローカルシステム又は外部ネットワーク120から一定期間、データを受信しない場合、第1NATデバイス110は、当該ポート番号のポートマッッピングを解放する(タイムアウト)。第1クライアントシステム105は、以下に記載するように外部ネットワーク120に定期的にメッセージを送信することによって、このタイムアウトを防止可能である。
一実施例によると、第1NATデバイス110は、ポート番号で指示されたローカルシステムによって送信されたデータの受信者アドレスと、入力データの送信者のネットワークアドレスを比較することによって入力データを(例えば、セキュリティ上の理由により)スクリーニングする。第1NATデバイス110は、外部ネットワーク120を介してローカルシステムから受信者にデータを送信すると、ローカルシステムのポートマッピングとともに送信先アドレスを記録する。第1NATデバイス110は、第1ローカルネットワーク115を介してローカルシステムへの入力データがあっても、ローカルシステムが入力データのアドレスと同じネットワークアドレスで受信者にデータを送信していないうちは、この入力データをローカルシステムには転送しない。第1NATデバイス110は、入力データに包含されるポートを用いて、入力データの送信者のネットワークアドレスと、記録された発信データの送信先アドレスとを比較する。上述したように、第1NATデバイス110は、ポートマッピングとともに送信先アドレスを記録する。そうすることでローカルシステムによって送信された送信先アドレスを見つけるためにポート番号をインデックスとして用いることができる。もしアドレスが一致しない場合、第1デバイス110は、第1ローカルネットワーク115内には入力データを転送しない。以下に記載するように、第1クライアントシステム105は、システムにデータを送信することによって、外部ネットワーク120を介してこのシステムを「認可」するためにこのセキュリティ機能を使用し、それにより第1NATデバイス110が、前述の認可されたシステムから第1ローカルネットワーク115内にデータを送信させる。
例えば、第1クライアントシステム105が外部ネットワーク120を介してデータを受信者に送信すると、第1NATデバイスは第1クライアントシステム105にポート番号をマップする。第1NATデバイス110は、第1NATデバイス110の公開ネットワークアドレスと、第1クライアントシステム105の発信データとともにマップされたポート番号を有する。第1NATデバイス110は、受信者のアドレスも記録する。第1NATデバイス110は、前述のポート番号を有するデータを受信すると、送信者のアドレスと予め送信された発信データの送信先が記録されたアドレスを比較する。これらのアドレスが一致した場合、第1NATデバイス110は、第1クライアントシステム105のローカルネットワークアドレスを用いて第1クライアントシステム105にデータを送信する。
第2クライアントシステム125は、第2NATデバイス130に接続され、第2ローカルネットワーク135を形成する。第1クライアントシステム105と同様、第2クライアントシステム125は、ネットワークアダプタを有するビデオゲームコンソールシステムのようなネットワーク使用可能なシステムである。第1NATデバイス110と同様に第2NATデバイス130は、一般的なNATボックス又はNATサーバであり、他の形態として、プロクシサーバ、ゲートウェイの一部、ルータの一種としてもよい。第2クライアントシステム125と第2NATデバイス130は、第1クライアントシステム105と第1NATデバイス110各々に対して(例えば、入力データをポートマッピングし、スクリーンすることに関して)同様に動作する。また、第2NATデバイス130に、1以上の増設されたネットワークデバイスを接続して第2ローカルネットワーク135内に配置するようにしてもよい。第2NATデバイス130内の各システム又は各デバイスは、第1ローカルネットワーク115と同様に第2NATデバイス130によって割り当てられ、保持されたローカルネットワークアドレスを有する。一態様において、第1ローカルネットワーク115および第2ローカルネットワーク135は、同じ形式のネットワークであるので、同じ通信プロトコルを使用する。しかし、他の形態においては、ローカルネットワーク115と第1ローカルネットワーク135は、形式が異なる可能性がある。
第1NATデバイス110と同様に第2NATデバイス130は、外部ネットワーク120に接続される。従って、第2クライアントシステム125は、第2NATデバイス130を介して間接的に外部ネットワーク120に接続される。NATデバイス110とNATデバイス130は、外部ネットワーク120のプロトコルに従って外部ネットワーク120を介して相互にデータを送信することが可能である。
外部ネットワーク120には、3つのサーバシステム、具体的には、アドレスサーバ140、マッチングサーバ145及びマッピングメンテナンスサーバ1503もまた接続されている。サーバシステム140,145,150の各々は、コンピュータシステム又はメインフレームシステムのようなネットワークサーバシステムである。他の実施形態では、サーバシステム140,145,150のいくつか又は全部は、外部ネットワーク120に接続された単一システム内に含まれる。サーバシステム140,145,150の各々は、外部ネットワーク135上にそれぞれネットワークアドレスを有する。これらのネットワークアドレスは、クライアントシステム105,125において既に知られたものである。アドレスサーバ140は、アドレス発見に関してクライアントシステム105,125を補助する。マッピングメンテナンスサーバ150は、NATデバイス110,130のアドレスマッピングを保持することに関してクライアントシステム105,125それぞれを補助する。他の実施例として、メンテナンスマッピングサーバを除外するようにしてもよい。
図2は、例えば図1に示す第1クライアントシステム105のようなクライアントシステム200の一実施形態の構成図である。クライアントシステム200は、ネットワークアドレスマネージャ205、ネットワーク登録マネージャ210、ネットワーク共有マネージャ215、ネットワークマッピングメンテナンスマネージャ220という4つのマネージャを有する。マネージャ205,210,215,220の各々は、クライアントシステム200のソフトウェア構成要素として実装される。他の形態では、マネージャ205,210,215,220の若干又は全部がハードウェアに実装される。ネットワークアドレスマネージャ205は、例えば第1NATデバイス110のような接続されたNATデバイスによってクライアントシステム200と関連付けられる公開ネットワークアドレスを発見するために、クライアントシステム200とアドレスサーバ140間の通信制御を行う。ネットワーク登録マネージャ210は、マッチングサーバ145にクライアントシステム200を登録するためにクライアントシステム200とマッチングサーバ145間の通信制御を行う。ネットワーク共有マネージャ215は、クライアントシステム200との通信をリクエストした他のクライアントシステムの公開ネットワークアドレスとローカルネットワークアドレスを決定するためにマッチングサーバ145との通信制御を行う。マッピングメンテナンスマネージャ220は、クライアントシステム200に接続されたNATデバイスが、クライアントシステム200のために確立されたマッピングがタイムアウトすることを回避するためにマッピングメンテナンスサーバ150との通信制御を行う。他の形態として、クライアントシステム200は、マッピングメンテナンスマネージャ220を有さないようにしてもよい。クライアントシステム200は、クライアントシステム200のローカルネットワークに接続し、通信を行うためのネットワークインターフェース225を有する。ネットワークインターフェース225は、ネットワークアダプタ又はモデムのようなネットワーク通信デバイスを有する。クライアントシステム200もCPU230,メモリ235,I/Oインターフェース240のような総合操作をするためのコンポーネントを有する。ゲームコンソールクライアントシステムに関して、クライアントシステムは、増設したビデオ、サウンド、アプリケーション仕様のソフトウェアおよび/またはハードウェア(“ゲームコンポーネント”)を有する。一実施形態によると、クライアントシステム200は、上述したようにネットワーク通信のハードウェアおよびソフトウェアを包含する、株式会社ソニー・コンピュータエンタテインメントによって製造された「プレイステーション2」である。
図3は、図1に示す第1クライアント105と第2クライアントシステム125のように2つにクライアントシステム間のピアツーピアネットワーク通信を確立し、保持することを表すフローチャートである。個々のクライアントシステムは、それぞれのアドレス情報を発見する(ブロック305)。図1に示すクライアントシステム105,125のようなクライアントシステムは、公開ネットワークアドレスおよびローカルネットワークアドレスを含む、関連付けられたアドレス情報(associated address information)を有する。
図4に参照して以下に記載するように、クライアントシステムは、アドレスサーバと通信することによって公開ネットワークアドレスを発見する(図1に示すアドレスサーバ140を参照)。クライアントシステムは、ローカルに記録された情報にアクセスすることによって、または対応するNATデバイスに問い合わせすることによってローカルネットワークアドレスを発見する。クライアントシステム間では、前述の発見したアドレス情報が相互に共有される(ブロック310)。図5を参照して以下に記載するが、クライアントシステムの1つまたは両方は、マッチングサーバに登録する(図1に示すマッチングサーバ145を参照されたい)。クライアントシステムの1つが、他の登録されたクライアントシステムとの通信を行うことをリクエストすると、マッチングサーバが、これらのクライアントシステム間でアドレス情報を共有させる。クライアントシステムは、受信したアドレス情報を用いて相互に通信を確立する(ブロック315)。図6を参照して以下に記載するが、個々のクライアントシステムは対応するNATデバイスが入力メッセージを「認可された」ものとして認識するように、前述の共有アドレス情報を用いてメッセージを他のクライアントシステムに送信する。クライアントシステム同士が通信を行っている間、クライアントシスムは、対応するNATデバイスによって構築されたマッピングを保持する(ブロック320)。図8を参照して以下に記載するが、個々のクライアントシステムは、対応するNATデバイスがクライアントシステムの確立されたポートマッピングを変更またはタイムアウトしないよう、マッピングメンテナンスサーバに定期的にメッセージを送信する(図1に示すマッピングメンテナンスサーバを参照されたい)。マッピングメンテナンスサーバを有さない一実施形態によると、クライアントシステムは、マッピングメンテナンスサーバを用いたマッピング保持は行わない。
図4にローカルおよび公開ネットワークアドレス(図3のブロック305を参照)を発見するクライアントシステムのフローチャートを示す。上記したようにローカルネットワークは、ローカルネットワーク内のクライアントシステムのネットワークアドレスであり、このローカルネットワークに接続されるNATデバイスによって割り当てられる。公開ネットワークアドレスは、NATデバイスに接続されるローカルネットワーク内のシステム間でNATデバイスによって共有される外部ネットワーク上のネットワークアドレスである。一実施形態によると、ローカルまたは公開ネットワークアドレスは、アドレス番号およびポート番号を有する。クライアントシステムは、公開およびローカルネットワークアドレスを発見するためにネットワークアドレスマネージャコンポーネントを用いる(図2のネットワークアドレスマネージャ205を参照)。
クライアントシステムは、まず最初にローカルネットワークアドレスを発見する(ブロック405)。一実施形態によると、クライアントシステムは、ローカル記録へのアクセス、例えばクライアントシステムによって使用されるネットワークスタックソフトウェアに問合わせすることにより、ローカル公開アドレスを発見する。クライアントシステムは、NATデバイスとの通信を開始すると、ローカルポート番号を確立し、それによってクライアントシステムは、ポート番号を認識する。他の形態として、クライアントシステムは、対応するNATデバイスにローカルネットワークアドレスをリクエストするようにしても良い。クライアントシステムは、前述の公開ネットワークアドレスを発見するためにアドレスサーバに対してアドレスリクエストを送信する(ブロック410)。クライアントシステムは、NATデバイスを介してアドレスサーバにアドレスリクエストを送信する。NATデバイスは、NATデバイスのネットワークアドレス変換機能の一部として、アドレスリクエストに公開ネットワークアドレスを添付し、例えばアドレスリクエストのヘッダ情報に添付する。NATデバイスがクライアントシステムにまだポート番号を割り当てていない場合、ポート番号を割り当て、公開ネットワークアドレスにおけるポート番号をアドレスリクエストに(例えばUDPヘッダに)含める。このアドレスサーバは、アドレスリクエストから公開ネットワークアドレスを抽出する(ブロック415)。この公開ネットワークアドレスは、アドレスサーバが公開ネットワークアドレスを見つけられるようにアドレスリクエストにおける知られた場所(例えばヘッダ内)に配置される。他の形態では、アドレスサーバは、公開ネットワークアドレスを記録しない場合、一時的にネットワークアドレスのみ記録する。アドレスサーバは、アドレスレポートを生成することによって、またクライアントシステムにアドレスレポートを送信することによって、前述の公開ネットワークアドレスをクライアントシステムに戻す(ブロック420)。アドレスレポートは、メッセージのアドレス指定の一部(例えば、ヘッダ)におけるのと同様に、データの一部として抽出された公開ネットワークアドレスまたはメッセージのペイロードを有する。NATデバイスは、ポート番号に従って公開ネットワークアドレスをクライアントシステムのローカルネットワークアドレスに変換し、クライアントシステムに前述のアドレスレポートを転送する。例えば、NATデバイスは、公開ネットワークのアドレスポート番号に従って、クライアントシステムのポートマッピングにアクセスし、ローカルネットワークを検索する。それからNATデバイスは、メッセージのヘッダ情報における公開ネットワークアドレスとローカルネットワークを置き換える。従ってNATデバイスは、公開ネットワークアドレスを除外することによってヘッダを変更するが、メッセージのデータ部分は変更しない。クライアントシステムは、アドレスレポートを受信して、アドレスレポートに包含されている公開ネットワークアドレスを記録する(ブロック425)。クライアントシステムは、このようにしてローカルと公開ネットワークアドレスを発見する。
図5は、ローカルネットワークアドレスと公開ネットワークアドレスを共有する2つのクライアントシステムのフローチャートを表す(図3のブロック310を参照)。第1クライアントシステムは、マッチングサーバへの登録を行う(ブロック505)。クライアントシステムは、マッチングサーバへの登録を管理するためにネットワーク登録マネージャコンポーネントを用いる(図2に示すネットワークマネージャ210を参照)。第1クライアントシステムはマッチングサーバに登録リクエストを送信する。登録リクエストは、発見された第1クライアントシステムのローカルネットワークアドレスと公開ネットワークアドレスを有する。この登録リクエストは、送信したクライアントシステムが提供されたアドレス情報を用いて通信を行うことが可能であることをマッチングサーバに示す。マッチングサーバはレジストリテーブルに第1クライアントシステムを登録する(ブロック510)。マッチングサーバは、登録したシステムのアドレス情報を、記録するエントリとともにレジストリテーブルに保持する。マッチングサーバは、第1クライアントシステムのレジストリテーブル内にエントリを形成し、このエントリ内に、提供されたアドレス情報を記録する。第2クライアントシステムは、マッチングサーバにマッチングリクエストを送信する(ブロック515)。クライアントシステムは、以下に記載するようにマッチングサーバから他のクライアントシステムのアドレス情報の入手を管理するために、また登録したクライアントシステムを選択し、登録後のアドレス情報を受信するためにマネージャコンポーネントを共有するネットワークを用いる(図2に示すネットワーク共有マネージャ215を参照)。マッチングリクエストは、第2クライアントシステムが他のクライアントシステムとの通信を確立するための情報をリクエストしていることをマッチングサーバに示す。マッチングサーバは、レジストリ情報を第2クライアントシステムに送信する(ブロック520)。一実施形態によると、マッチングサーバは、レジストリテーブルを第2クライアントシステムに送信する。他の実施形態によると、マッチングサーバは、第2クライアントシステムが通信を行う登録したクライアントシステムを識別するために、レジストリテーブルにアクセス可能であるように例えば第2クライアントシステムからの検索問い合わせを受け入れることによって第2クライアントシステムとの通信を行う。第2クライアントシステムは登録したクライアントシステムのうちから第1クライアントシステムを選択する(ブロック525)。第2システムは、第1クライアントシステムのアドレス情報を記録する(ブロック530)。一態様によると、第2クライアントシステムに送信されたレジストリ情報は、登録されたクライアントシステムのアドレス情報を有する。他の実施形態によると、第2クライアントシステムは、マッチングサーバから選択されたクライアントシステムのアドレス情報を別個でリクエストする。第2クライアントシステムは、マッチングサーバにマッチング選択を送信する(ステップ535)。マッチング選択により、第2クライアントシステムが登録されたクライアントシステムのどれと通信を行うべきかが示される(この場合、第1クライアントシステム)。マッチング選択は、第2クライアントシステムのアドレス情報も有する。一実施形態によると、マッチング選択は、第1クライアントシステムのアドレスリクエストとしての役割も担う。マッチングサーバは、選択されたクライアントシステムとして第2クライアントシステムのアドレス情報を第1クライアントシステムに送信する(ブロック540)。第1クライアントシステムは、第2クライアントシステムのアドレス情報を受信し、記録する(ブロック545)。2つのクライアントシステムの各々は、こうしてマッチングサーバを介して他のクライアントシステムとアドレス情報を共有する。
図6に、第2クライアントシステムとの通信を確立する第1クライアントシステムのフローチャートを示す(図3のブロック315参照)。第1クライアントシステムは、1つ以上のメッセージを第2クライアントシステムに送信する(ブロック605)。第1クライアントシステムは、第2クライアントシステムの公開ネットワークアドレスを用いてテストメッセージ(発信公開アドレステストメッセージ)のいくつかを第2クライアントシステムに送信し、第2クライアントシステムに関してローカルネットワークアドレスを用いてテストメッセージ(発信ローカルアドレステストメッセージ)のいくつかを送信する。上記したように第1と第2のクライアントシステムがアドレス情報を共有したとき、第1クライアントシステムは、第2クライアントシステムの公開ネットワークアドレスおよびローカルネットワークアドレスを受信する(図5参照)。第2クライアントシステムのローカルネットワークアドレスが外部ネットワークと互換性がない形態においては(例えば、ローカルネットワークアドレスは、外部ネットワークの通信プロトコルには認識されないとき)、第1クライアントシステムは、ローカルネットワークアドレスを用いてテストメッセージを送信しない。第1クライアントシステムは、以下に記載するように第1クライアントシステムがブロック630における、クライアントシステムから確認メッセージを受信するまで第2クライアントシステムにテストメッセージを送信し続ける。
第1クライアントシステムに接続されたNATデバイスは、発信テストメッセージの送信先アドレスを記録する(ブロック610)。第1クライアントシステムに接続されたNATデバイス(例えば、図1に示す第1NATデバイス)は、第1クライアントシステムのローカルネットワークと外部ネットワーク間のゲートウェイである。従って、発信テストメッセージは、NATデバイスを通り抜ける。上述したように、NATデバイスは、入力データのスクリーニングを行ない、当該入力データの送信先が入力データの送信者との通信を既に試みている場合を除き、データがNATデバイスのローカルネットワークに入らないようにする。NATデバイスは、発信データの送信者の「認可された」アドレスとしてローカルネットワークを介してシステムからの発信データの送信先アドレスを記録する。NATデバイスは、入力データのオリジナルアドレス(例えば、送信者のアドレス)とローカルネットワークを介して意図された受信者の記録された「認可された」アドレスとを比較する。NATデバイスは、オリジナルアドレスが、ローカル受信者の「認可された」アドレスの1つと一致したとき、入力データのみをローカル受信者に転送する。
従って、NATデバイスは、第1クライアントシステムが通信を試みようとしているシステムの「認可された」アドレスとして、発信テストメッセージの送信先アドレスを記録する。NATデバイスは、第1クライアントシステムの発信テストメッセージの送信先アドレスと同じアドレスから発信されている第1クライアントシステムのデータを受信すると、入力データを第1クライアントシステムに転送する。第1クライアントシステムが、テストメッセージを第2クライアントシステムのアドレスに送信すると、NATデバイスは、第2クライアントシステムから第1クライアントシステムにデータを転送する。
図7を参照して以下に記載するが、第1クライアントシステムがテストメッセージを第2クライアントシステムに送信する際、第2クライアントシステムは同様にテストメッセージを第1クライアントシステムに送信する。第1クライアントシステムに関して上述したように、第2クライアントシステムは第1クライアントシステムのアドレス情報を用いて発信公開アドレステストメッセージ(もし妥当であれば、発信ローカルアドレステストメッセージも)を送信する。第2クライアントシステムに接続されるNATデバイス(例えば、図1に示す第2NATデバイス130)は、発信テストメッセージの送信先アドレスを記録し、第1クライアントシステムから受信した第2クライアントシステムの入力データを転送する。
第1クライアントシステムは、第2クライアントシステムのテストメッセージを受信する(ブロック615)。上述したように第1クライアントシステムに接続されたNATデバイスは、入力テストメッセージのオリジナルアドレス(元のアドレス)と記録済みの「認可された」アドレスとが一致することから、第2クライアントシステムからの入力データを第1クライアントシステムに転送する。第1クライアントシステムは受信したテストメッセージのオリジナルアドレスを記録する(ブロック620)。第1クライアントシステムは、記録されたオリジナルアドレスを用いて確認メッセージを第2クライアントシステムに送信する(ステップ625)。発信確認メッセージは、第1クライアントシステムが第2クライアントシステムのテストメッセージを受信したことを第2クライアントシステムに示す。同様に、第2クライアントシステムは、第1クライアントシステムのテストメッセージを受信し、このテストメッセージのオリジナルアドレスを用いて確認メッセージを第1クライアントシステムに送信する。第1クライアントシステムは、第2クライアントシステムの確認メッッセージを受信する(ブロック630)。第1クライアントシステムは、第2クライアントシステムの確認メッセージを受信すると、第2クライアントシステムにテストメッセージを送信することを中止する。第1クライアントシステムでは、こうして第2クライアントシステムとの通信が確立される。第2クライアントシステムが第1クライアントシステムの確認メッセージを受信した後で、第2クライアントシステムは第1クライアントシステムとの通信が確立ずみとなる。クライアントシステムは、個々のシステムがデータの送信が可能である送信先のアドレスを確認済みとなり、このデータは、受信者システムのNATデバイスを通り抜けられるようになる。
NATデバイスは、最初に第2クライアントシステム宛にテストメッセージを送信して、第2クライアントシステムから第1クライントシステムにメッセージを転送するようにすることで、第1クライアントシステムは、NATデバイスのセキュリティ機能の「パンチングホール(punching holes)」になる。従って、この技術は、「ホールパンチング(hole punching)」と称される。第1および第2クライアントシステムは、「ホールパンチング」を用いてNATデバイスの操作を変更することなく通信を確立することが可能である。
図7に、第1クライアントシステムとの通信を構築する第2クライアントシステムのフローチャートを示す。図7の動作は、図6を参照して上記した動作と連動して起こる。第2クライアントシステムは、クライアントシステムがアドレス情報を共有したとき受信したアドレス情報を用いて第1クライアントシステムにテストメッセージを送信する(ブロック705)。上記したように第2クライアントシステムは、第1クライアントシステムの公開ネットワークアドレスを用いて発信公開アドレステストメッセージを送信し、ローカルネットワークアドレスが外部ネットワークと互換性がある場合は、発信ローカルアドレステストメッセージをも送信する。第2クライアントシステムは、以下に記載するブロック730における第1クライアントシステムから確認メッセージを受信するまで、第1クライアントシステムにテストメッセージを送信し続ける。第2クライアントシステムに接続されるNATデバイスは、「認可された」アドレスとして発信テストメッセージの送信先アドレスを記録する(ブロック710)。上記したように第1クライアントシステムも第2クライアントシステムにテストメッセージを送信し、第2クライアントシステムは、第1クライアントシステムからテストメッセージを受信する(ブロック715)。第2クライアントシステムは、受信したテストメッセージのオリジナルアドレスを記録し(ブロック720)、オリジナルメッセージを用いて第1クライアントシステムに確認メッセージを送信する(ブロック725)。上記したように第1クライアントシステムも第2クライアントシステムからテストメッセージを受信した後、第2クライアントシステムに確認メッセージを送信し、第2クライアントシステムは確認メッセージを受信する(ブロック730)。第2クライアントシステムが第1クライアントシステムから確認メッセージを受信すると、第1クライアントシステムにテストメッセージを送信することを中止する。第2クライアントシステムは、こうして第1クライアントシステムとの通信を確立する。
図8は接続されたNATデバイスによって割り当てられたマッピングを保持するクライアントシステムのフローチャートを表す(図3のブロック315参照)。クライアントシステムは、マッピングメンテナンスサーバに接続されたNATデバイスのアドレスマッピングを保持管理するために、ネットワークマッピングメンテナンスマネージャコンポーネントを用いる(図2に示すネットワークマッピングメンテナンスマネージャ220を参照)。上述したように一実施形態によると、NATデバイスは、NATデバイスのローカルネットワークを介してローカルネットワークアドレスをシステムに割り当てる。NATデバイスもローカルシステムによって使用される公開ネットワークアドレスのポート番号を割り当てる。ローカルシステムが外部ネットワークにデータを送信すると、NATデバイスは、ポート番号をローカルシステムに割り当て、そのポート番号を記録する。NATデバイスが入力データを受信すると、NATデバイスはどのローカルシステムが意図された受信者であるかを判断するために入力データの目的アドレスのポート番号のチェックを(例えば、ヘッダ情報に対して)行う。上記したようにNATデバイスは、データをローカルシステムに転送する前に、入力データの送信者が「認可された」データであることを確認するためにポート番号をチェックする。NATデバイスは、ポート番号をローカルシステムに割り当てるとすぐ、タイマーをカウントダウンし始める。ローカルシステムが、さらにデータを外部ネットワークに送信する場合、NATデバイスは同じポート番号を使用し、タイマーをリセットする。同様にNATデバイスがポート番号を用いて入力データを受信する場合は、タイマーをリセットする。タイマーが0に達した場合、ポート番号が最近使用されていないことから、NATデバイスはポート番号を解放する(タイムアウト)。クライアントシステムは、この「タイムアウト」を回避するために他のクライアントシステムと通信を行っている間、または通信を試みようとしている間、定期的にマッピングメンテナンスメッセージをマッピングメンテナンスサーバに送信する。上述したように、一実施形態によると、マッピングメンテナンスサーバは、アドレスサーバ内またはマッチングサーバ内に含まれ、従って、クライアントシステムは、マッピングメンテナンスメッセージを適切なサーバに送信する。マッピングメンテナンスサーバを有さない一実施形態においては、クライアントシステムはマッピングメンテナンスメッセージを送信しない。
クライアントシステムは、接続されたNATデバイスを介してマッピングメンテナンスメッセージを送信する(ブロック805)。図1を参照すると、第1クライアントシステム105は、第1NATデバイス110を介してマッピングメンテナンスメッセージをマッピングメンテナスサーバ150に送信する。NATデバイスは、マッピングメンテナンスメッセージを受信し、クライアントシステムに割り当てられたポート番号のタイマーをリセットする(ブロック810)。NATデバイスは、マッピングメンテナンスメッセージをマッピングメンテンスサーバに送信する(ブロック815)。所定期間後、クライアントシステムは、カレントアドレスを保持するかどうかを判断する(ブロック820)。クライアントシステムが他のクライアントシステムとの通信の実行、または通信を試みようとしている場合、クライアントシステムは、別のマッピングメンテナンスをマッピングメンテナンスサーバに送信して、カレントポートマッピングを保存するようにする(ブロック805に戻る)。もしクライアントシステムが通信済みとなっている場合、クライアントシステムは、別のマッピングメッセージを送信することはなく、ポートマッピングをタイムアウト可能にする(ブロック825)。一実施形態によると、マッピングメンテナンスサーバは、クライアントシステムに応答しない。あるいは、マッピングメンテナンスサーバがマッピングメンテナンス確認メッセージをクライアントシステムに送信するようにしてもよい。
以上、2つのクライアントシステムが各々のNATデバイスの背後に存在するネットワーク構成について記載したが、2つのクライアントシステムおよびサーバシステムの操作は、NATデバイスの存在から独立したものである。図9のAからCまではネットワークコンフィグレーションの他の実施形態を示す。図9Aは、第1クライアントシステム905がNATデバイス910の背後に存在し、一方、第2クライアントシステム915はNATデバイスに接続されていないことを示す。図9Bは、クライアントシステム930と935の両方がNATデバイスに接続されていないことを示す。図9Cは、クライアントシステム970と975の両方が同一ローカルネットワーク985における同一NATデバイス980の背後に存在することを示す。他の種々の態様と同様にこれらの他の形態の個々の構成において、クライアントシステムとサーバシステムは上述したものと同様の方法で実質的に互換可能である。
本発明の種々の実施形態は、電子ハードウェア、コンピュータ、ソフトウェア、またはこれらのテクノロジーの組み合わせにより実現される。殆どの実施形態は、プログラム可能であるコンピュータによって実行される1つ以上のコンピュータを有する。例えば図1を参照すると、ある実施形態においては、クライアントシステム105、125と、サーバシステム140、145、150の各々は、上述したネットワークシステムの各態様を1つ以上実装するプログラム可能なコンピュータを有する。一般に、個々のコンピュータは、1つ以上のプロセッサと、1つ以上のデータ記録コンポーネント(例えば、ハードディスクドライブ、フロッピーディスクドライブ、CD−ROMドライブ、磁気テープドライブのような、揮発性メモリモジュールまたは不揮発性メモリモジュール、永続的な光記録デバイスや磁気記録デバイス)と、1つ以上の入力デバイス(例えば、マウスやキーボード)と、1つ以上の出力デバイス(例えば、ディスプレイコンソールとプリンター)を有する。
コンピュータプログラムは、通常永続的記録媒体に記録されて、実行時にメモリにコピーされる、実行可能なコードを有する。プロセッサは、所定の順序でメモリからプログラム命令を検索することによって前述のコードを実行する。プログラムコードを実行すると、コンピュータは、入力および/もしくは記録デバイスからデータを受信し、データ上で操作を実行し、結果データを発信デバイスおよび/もしくは記録デバイスに配信する。
本発明の種々の実施形態が記載によって説明されたが、当業者にとってさらなる実施形態を追加することも可能であり、これらも本発明の範囲に含まれる。従って、本発明は、上述した実施形態のみに制限されるものではない。
ネットワークシステムアーキテクチャの説明図。 クライアントシステムの一実施形態のブロック図。 2つのクライアントシステム間におけるピアツーピアネットワーク通信の確立及び保持処理のフローチャート。 クライアントシステムにおいてローカルおよび公開ネットワークアドレスを発見する処理のフローチャート。 2つのクライアントシステムにおけるローカルおよび公開ネットワークアドレスの共有する処理のフローチャート。 第1クライアントシステムにおける第2クライアントシステムとの通信を確立する処理のフローチャート。 第2クライアントシステムにおける第1クライアントシステムとの通信の確立処理のフローチャート。 クライアントシステムにおける、接続されたNATデバイスに割り当てられたマッピングを保持する処理のフローチャート。 ネットワーク構成の他の実施形態の説明図。 ネットワーク構成の他の実施形態の説明図。 ネットワーク構成の他の実施形態の説明図。

Claims (45)

  1. 第1クライアントシステムと第2クライアントシステム間に通信を行う方法であって、
    第1ネットワークアドレス変換デバイスに接続された第1クライアントシステムの第1アドレス情報を発見する過程と、
    前記第1アドレス情報を、第2クライアントシステムと共有する過程と、
    前記第2クライアントシステムの第2アドレス情報を受信する過程と、
    前記第2アドレス情報を用いて、前記第1クライアントシステムと前記第2クライアントシステム間に通信を確立する過程と、を前記第1クライアントシステムが実行し、
    第1アドレス情報を発見する過程には、第1ネットワークアドレス変換デバイスに接続された第1クライアントシステムの第1ローカルネットワークアドレスを発見する過程と、前記第1クライアントシステムの第1公開ネットワークアドレスを発見する過程と、が含まれ、
    前記第1クライアントシステムの前記第1公開ネットワークアドレスを発見する過程には、前記第1クライアントシステムからの第1アドレスリクエストを、前記第1ネットワークアドレス変換デバイスに接続されたアドレスサーバに送信する過程と、前記第1クライアントシステムで前記アドレスサーバからの第1アドレスレポートを受信する過程と、が含まれ、前記第1アドレスレポートには、前記第1公開ネットワークアドレスが含まれ、
    前記第1アドレス情報を前記第2クライアントシステムと共有する過程には、前記第1クライアントシステムからの登録リクエストを前記ネットワークに接続されたマッチングサーバに送信する過程が含まれ、前記登録リクエストには、前記第1アドレス情報が含まれる、方法。
  2. 前記第1クライアントシステムが前記第1ネットワークアドレス変換デバイスに前記第1クライアントシステムと前記第1ネットワークアドレスとの間の第1マッピングを保持する過程を有する、請求項1記載の方法。
  3. 前記第1アドレス情報と前記第2アドレス情報の各々が、公開ネットワークアドレスとローカルネットワークアドレスと、を有する請求項1記載の方法。
  4. 各々の公開ネットワークアドレスは、アドレス番号とポート番号と、を有する請求項3記載の方法。
  5. 前記第1公開ネットワークアドレスが前記ネットワークアドレス変換デバイスの前記アドレス番号であり、前記公開アドレスの前記ポート番号は、前記第1クライアントシステムを示す、請求項4記載の方法。
  6. 各々のローカルネットワークアドレスが、アドレス番号とポート番号とを有する、請求項3記載の方法。
  7. 前記第1クライアントシステムの前記第1ローカルネットワークアドレスを発見する過程には、前記第1クライアントシステム内のアドレススタックから前記第1ローカルネットワークアドレスを検索する過程が含まれる、請求項1記載の方法。
  8. 前記第1クライアントシステムと前記第2クライアントシステムとの間に通信を確立する過程は、
    第2アドレス情報を用いて前記第1クライアントシステムから前記第2クライアントシステムに1以上の発信テストメッセージを送信する過程を有し、
    前記第2クライアントシステムからの入力テストメッセージを前記第1クライアントシステムで受信する過程を有し、前記入力テストメッセージには、当該入力テストメッセージが送信された前記ネットワークアドレスを示すオリジナルネットワークアドレスが含まれるものであり、
    前記オリジナルネットワークアドレスを記録する過程を有し、
    前記記録されたオリジナルネットワークアドレスを用いて、前記第1クライアントシステムから前記第2クライアントシステムに発信確認メッセージを送信する過程を有し、
    前記第1クライアントシステムで前記第2クライアントシステムからの入力確認メッセージを受信する過程と、を有する、請求項1記載の方法。
  9. 前記第1アドレス情報は、第1公開ネットワークアドレスと第1ローカルネットワークアドレスとを有し、前記第2アドレス情報は、第2公開ネットワークアドレスと第2ローカルネットワークアドレスとを有する、請求項8記載の方法。
  10. 1以上の発信テストメッセージを送信する前記過程には、
    前記第2公開ネットワークアドレスを用いて、前記第1クライアントシステムから前記第2クライアントシステムに1以上の発信公開アドレステストメッセージを送信する過程と、
    前記第2ローカルネットワークアドレスを用いて、前記第1クライアントシステムから前記第2クライアントシステムに1以上の発信ローカルアドレステストメッセージを送信する過程と、が含まれる、請求項9記載の方法。
  11. 前記第1クライアントシステムで受信される前記第2クライアントシステムからの前記入力テストメッセージは、前記第1公開ネットワークアドレスを用いてアドレス指定される、請求項9記載の方法。
  12. 前記第1クライアントシステムで受信される前記第2クライアントシステムからの前記入力テストメッセージは、前記第1ローカルネットワークアドレスを用いてアドレス指定される、請求項9記載の方法。
  13. 前記オリジナルネットワークアドレスは、前記第2公開ネットワークアドレスである、請求項9記載の方法。
  14. 前記オリジナルネットワークアドレスは、前記第2ローカルネットワークアドレスである、請求項9記載の方法。
  15. 前記第1クライアントシステムで受信される前記第2クライアントシステムからの前記入力確認メッセージは、前記第1公開ネットワークアドレスを用いてアドレス指定される、請求項9記載の方法。
  16. 前記第1クライアントシステムで受信される前記第2クライアントシステムからの前記入力確認メッセージは、前記第1ローカルネットワークアドレスを用いてアドレス指定される、請求項9記載の方法。
  17. ピアツーピアネットワーク通信を行う方法であって、
    第1クライアントシステムが、第1ネットワークアドレス変換デバイスに接続された前記第1クライアントシステムの第1ネットワークアドレスを発見する過程と、
    第2クライアントシステムが、第2ネットワークアドレス変換デバイスに接続される前記第2クライアントシステムの第2ネットワークアドレスを発見する過程と、
    前記第1クライアントシステムが、前記第1ネットワークアドレスを前記第2クライアントシステムと共有する過程と、
    前記第2クライアントシステムが、前記第2ネットワークアドレスを前記第1クライアントシステムと共有する過程と、
    前記第1クライアントシステムと前記第2クライアントシステムとが、前記第1ネットワークアドレスと前記第2ネットワークアドレスを用いて前記第1クライアントシステムと前記第2クライアントシステム間に通信を確立する過程と、
    前記第1ネットワークアドレス情報を発見する過程には、第1ネットワークアドレス変換デバイスに接続された第1クライアントシステムの第1ローカルネットワークアドレスを発見する過程と、前記第1クライアントシステムの第1公開ネットワークアドレスを発見する過程と、が含まれ、
    前記第2ネットワークアドレス情報を発見する過程には、第2ネットワークアドレス変換デバイスに接続された第2クライアントシステムの第2ローカルネットワークアドレスを発見する過程と、前記第2クライアントシステムの第2公開ネットワークアドレスを発見する過程とが含まれ、
    前記第1クライアントシステムの前記第1公開ネットワークアドレスを発見する過程には、前記第1クライアントシステムからの第1アドレスリクエストを、前記第1ネットワークアドレス変換デバイスに接続されたアドレスサーバに送信する過程と、前記第1クライアントシステムで前記アドレスサーバからの第1アドレスレポートを受信する過程と、が含まれ、前記第1アドレスレポートには、前記第1公開ネットワークアドレスが含まれ、
    前記第2クライアントシステムの前記第2公開ネットワークアドレスを発見する過程には、前記第2クライアントシステムからの第2アドレスリクエストを、前記第2ネットワークアドレス変換デバイスに接続されたアドレスサーバに送信する過程と、前記第2クライアントシステムで前記アドレスサーバからの第2アドレスレポートを受信する過程と、が含まれ、前記第2アドレスレポートには、前記第2公開ネットワークアドレスが含まれ、
    前記第1ネットワークアドレス情報を前記第2クライアントシステムと共有する過程には、前記第1クライアントシステムからの登録リクエストを前記ネットワークに接続されたマッチングサーバに送信する過程が含まれ、前記登録リクエストには、前記第1アドレス情報が含まれ、
    前記第2ネットワークアドレス情報を前記第1クライアントシステムと共有する過程には、前記第2クライアントシステムからの登録リクエストを前記ネットワークに接続されたマッチングサーバに送信する過程が含まれ、前記登録リクエストには、前記第2アドレス情報が含まれる、方法。
  18. 前記第1クライアントシステムと前記第1ネットワークアドレス間の第1マッピングを前記第1ネットワークアドレス変換デバイスで保持し、前記第2クライアントシステムと前記第2ネットワークアドレス間の第2マッピングを前記第2ネットワークアドレス変換デバイスで保持する過程と、を有する請求項17記載の方法。
  19. ネットワークシステムであって、
    ネットワークに接続され、第1公開ネットワークアドレスを有する第1ネットワークアドレス変換デバイスと、
    前記第1ネットワークアドレス変換デバイスに接続され、当該第1ネットワークアドレス変換デバイスによって構成される第1ローカルネットワークアドレスを有する第1クライアントシステムと、
    前記ネットワークに接続され、第2公開ネットワークアドレスを有する第2ネットワークアドレス変換デバイスと、
    前記第2ネットワークアドレス変換デバイスに接続され、当該第2ネットワークアドレス変換デバイスによって確立される第2ローカルネットワークアドレスを有する第2クライアントシステムと、
    前記ネットワークに接続されるアドレスサーバと、
    前記ネットワークに接続されるマッチングサーバと、を有し、
    前記第1ネットワークアドレス変換デバイス、前記第2ネットワークアドレス変換デバイス、前記アドレスサーバ、及び前記マッチングサーバとが前記ネットワークを介して相互にデータを送信可能であり、
    前記アドレスサーバは、前記クライアントシステムより受信したデータからクライアントシステムの公開ネットワークアドレスを決定し、派生した公開ネットワークアドレスをクライアントシステムに返信し、
    前記マッチングサーバは、クライアントシステムの登録と、前記公開ネットワークアドレスと1つ以上の登録されたクライアントシステムのローカルネットワークアドレスと、のためのレジストリテーブルを有し、
    前記第1クライアントシステムは、アドレスサーバと通信を行って第1公開ネットワークアドレスを決定するための第1ネットワークアドレスマネージャと、マッチングサーバに前記第1クライアントシステムを登録するための第1ネットワーク登録マネージャと、前記第1公開ネットワークアドレスと前記第1ローカルネットワークアドレスを前記第2クライアントシステムと共有するための第1ネットワーク共有マネージャとを有し、
    前記第2クライアントシステムは、前記アドレスサーバと通信そ行って前記第2公開ネットワークアドレスを決定するための第2ネットワークアドレスマネージャと、前記マッチングサーバに前記第2クライアントシステムを登録するための第2ネットワーク登録マネージャと、前記第2公開ネットワークアドレスと前記第2ローカルネットワークアドレスとを前記第1クライアントシステムと共有するための第2ネットワーク共有マネージャと、を含む、ネットワークシステム。
  20. 前記ネットワークに接続されて1つ以上のクライアントシステムからのデータを受信するマッピングサーバを有し、
    前記第1クライアントシステムは、前記マッピングメンテナンスサーバに定期的にメッセージを送信するための第1ネットワークマッピングメンテナンスマネージャを有し、
    前記第2クライアントシステムは、前記マッピングメンテナンスサーバに定期的にメッセージを送信するための第2ネットワークマッピングメンテナンスマネージャを有する、請求項19記載のネットワークシステム。
  21. 各々の公開ネットワークアドレスには、アドレス番号とポート番号とが含まれる、請求項19記載のネットワークシステム。
  22. 各々のローカルネットワークアドレスには、アドレス番号とポート番号とが含まれる、請求項19記載のネットワークシステム。
  23. ネットワークに接続するためのネットワーク接続インターフェースと、
    前記ネットワークに接続されるアドレスサーバと通信を行うとともに、前記ネットワーククライアントシステムのアドレス情報を決定するためのためのネットワークアドレスマネージャと、
    前記ネットワークに接続されるマッチングサーバに前記クライアントシステムを登録するためのネットワーク登録マネージャと、
    前記ネットワークに接続される第2クライアントシステムと前記アドレス情報を共有するためのネットワーク共有マネージャと、を有し、
    前記ネットワーク接続インターフェースは、ネットワークアドレス変換デバイスに接続され、
    前記アドレス情報にはローカルネットワークアドレスと公開ネットワークアドレスとが含まれ、
    前記ローカルネットワークアドレスは、ネットワーククライアントシステムに対応し、前記ネットワークアドレス変換デバイスによって確立され、
    前記公開ネットワークアドレスは、前記ネットワークアドレス変換デバイスに対応し、
    前記ネットワークアドレスマネージャは、前記第1クライアントシステムの第1公開ネットワークアドレスを発見し、
    前記第1公開ネットワークアドレスの発見には、
    前記第1クライアントシステムからの第1アドレスリクエストを、前記第1ネットワークアドレス変換デバイスに接続されたアドレスサーバに送信し、
    前記第1クライアントシステムで前記アドレスサーバからの第1アドレスレポートを受信することが含まれ、前記第1アドレスレポートには、前記第1公開ネットワークアドレスが含まれ、更に、
    前記ネットワーク共有マネージャが、前記第1アドレス情報を前記第2クライアントシステムと共有し、前記第1クライアントシステムからの登録リクエストを前記ネットワークに接続されたマッチングサーバに送信し、前記登録リクエストには、前記第1アドレス情報が含まれる、ネットワーククライアントシステム。
  24. 前記ネットワークに接続されるマッピングメンテナンスサーバに定期的にメッセージを送信するためのネットワークマッピングメンテナンスマネージャを有する、請求項23記載のネットワーククライアントシステム。
  25. 前記公開ネットワークアドレスは、前記ネットワーククライアントシステムに応答するために前記ネットワークアドレス変換デバイスによって割り当てられたポート番号を含む、請求項23記載のネットワーククライアントシステム。
  26. ビデオゲームコンソール機能を提供するためのゲームコンポーネントを有する、請求項24記載のネットワーククライアントシステム。
  27. ネットワークに接続されるアドレスサーバと、
    ネットワークに接続されるマッチングサーバと、を有し、
    前記アドレスサーバとマッチングサーバとは、前記ネットワークを介して相互にデータ送信を行うことが可能であり、
    前記アドレスサーバおよび前記マッチングサーバは、前記ネットワークを介して一つ以上のネットワークアドレス変換デバイスにデータの送信を行うことが可能であり、一つ以上のネットワークアドレス変換デバイスは、公開ネットワークアドレスを有するとともに、前記ネットワークアドレス変換デバイスに接続されるクライアントシステムのローカルネットワークアドレスを生成し、
    前記アドレスサーバは、クライアントシステムから受信したデータからクライアントシステムの公開ネットワークアドレスを決定し、派生した公開ネットワークアドレスを前記クライアントシステムに戻し、
    前記マッチングサーバは、クライアントシステムを登録して1以上の登録クライアントシステムの前記公開ネットワークワークアドレスおよびローカルネットワークアドレスを記録するためのレジストリテーブルを有する、ネットワークシステム。
  28. 前記ネットワークシステム接続されて1以上のクライアントシステムからデータを受信するマッピングメンテナンスサーバを有する、請求項27記載のネットワークシステム。
  29. 有形の記録媒体に記録され、コンピュータを、第2クライアントシステム間の通信を行う第1クライアントシステムとして動作させるための実行可能な命令を含むコンピュータプログラムであって、前記第1クライアントシステムは、
    第1ネットワークアドレス変換デバイスに接続される第1クライアントシステムの第1アドレス情報を発見し、
    第2クライアントシステムと前記アドレス情報を共有し、
    前記第2クライアントシステムの第2アドレス情報を受信し、
    前記第2アドレス情報を用いて前記第1クライアントシステムと第2クライアントシステム間に通信を確立し、
    前記第1アドレス情報を発見する過程には、第1ネットワークアドレス変換デバイスに接続される第1クライアントシステムの第1ローカルネットワークアドレスを発見する過程と、前記第1クライアントシステムの第1公開ネットワークアドレスを発見する過程と、が含まれ、
    前記第1クライアントシステムの前記第1公開ネットワークアドレスを発見する過程には、前記第1ネットワーク変換デバイスに接続されるアドレスサーバに前記第1クライアントシステムから第1アドレスリクエストを送信する過程と、前記第1クライアントシステムで、アドレスサーバから、前記公開ネットワークアドレスを有する第1アドレスレポートを受信する過程と、が含まれ、
    前記第2クライアントシステムと前記第1アドレス情報を共有する過程には、前記第1クライアントシステムから、前記ネットワークに接続される前記マッチングサーバへと、第1アドレス情報を有する登録リクエストを送信する過程が含まれる、コンピュータプログラム。
  30. 前記第1ネットワークアドレス変換デバイスにおける前記第1クライアントシステムと前記第1ネットワークアドレス間の第1マッピングの維持をコンピュータに行わせるための、実行可能な命令を有する、請求項29記載のコンピュータプログラム。
  31. 前記第1アドレス情報と前記第2アドレス情報の各々は、公開ネットワークアドレスとローカルネットワークアドレスとを有する、請求項29記載のコンピュータプログラム。
  32. 公開ネットワークアドレスの各々は、アドレス番号とポート番号を有する、請求項31記載のコンピュータプログラム。
  33. 前記第1公開ネットワークアドレスの前記アドレス番号は、前記ネットワークアドレス変換デバイスの前記アドレス番号であり、前記第1公開アドレスの前記ポート番号は、第1クライアントシステムを示す、請求項32記載のコンピュータプログラム。
  34. ローカルネットワークアドレスの各々は、アドレス番号とポート番号を有する、請求項31記載のコンピュータプログラム。
  35. 前記第1クライアントシステムの前記第1ローカルネットワークアドレスを発見する過程は、第1クライアントシステムにおけるアドレススタックから第1ローカルネットワークアドレスを検索する過程を有する、請求項29記載のコンピュータプログラム。
  36. 前記第1クライアントシステムと前記第2クライアントシステムとの間に通信を確立する過程は、
    前記第2アドレス情報を用いて、前記第1クライアントシステムから前記第2クライアントシステムへと一つ以上の発信テストメッセージを送信する過程を有し、
    前記第1クライアントシステムで、前記第2クライアントシステムからの入力テストメッセージを受信する過程を有し、前記入力テストメッセージは、前記入力テストメッセージの送信が行われたネットワークアドレスを示すオリジナルネットワークアドレスを含むものであり、
    前記オリジナルネットワークアドレスを記録する過程を有し、
    前記記録されたオリジナルネットワークアドレスを用いて、前記第1クライアントシステムから前記第2クライアントシステムに発信確認メッセージを送信する過程を有し、
    前記第1クライアントシステムで前記第2クライアントシステムの入力確認メッセージを受信する過程を有する、請求項29記載のコンピュータプログラム。
  37. 前記第1アドレス情報は、第1公開ネットワークアドレスと第1ローカルネットワークアドレスとを有し、前記第2アドレス情報は、第2公開ネットワークアドレスと第2ローカルネットワークアドレスとを有する、請求項36記載のコンピュータプログラム。
  38. 前記一つ以上の発信テストメッセージを送信する過程は、
    前記第2公開ネットワークアドレスを用いて、前記第1クライアントシステムから第2クライアントシステムに、一つ以上の発信公開アドレステストメッセージを送信する過程と、
    前記第2ローカルネットワークアドレスを用いて、前記第1クライアントシステムから前記第2クライアントシステムに、1つ以上の発信ローカルアドレステストメッセージを送信する過程と、
    を有する、
    請求項37記載のコンピュータプログラム。
  39. 前記第1クライアントシステムで前記第2クライアントシステムから受信した前記入力テストメッセージは、前記公開ネットワークアドレスを用いてアドレス指定される、請求項37記載のコンピュータプログラム。
  40. 前記第1クライアントシステムで前記第2クライアントシステムから受信した前記入力テストメッセージは、前記第1ローカルネットワークアドレスを用いてアドレス指定される、請求項37記載のコンピュータプログラム。
  41. 前記オリジナルネットワークアドレスは前記第2公開ネットワークアドレスである、請求項37記載のコンピュータプログラム。
  42. 前記オリジナルネットワークアドレスは前記第2ローカルネットワークアドレスである、請求項37記載のコンピュータプログラム。
  43. 前記第1クライアントシステムで前記第2クライアントシステムから受信した前記入力確認メッセージは、前記第1公開アドレスを用いてアドレス指定される、請求項37記載のコンピュータプログラム。
  44. 前記第1クライアントシステムで第2クライアントシステムから受信した前記入力確認メッセージは、前記第1ローカルネットワークアドレスを用いてアドレス指定される、請求項37記載のコンピュータプログラム。
  45. 第1クライアントシステムと第2クライアントシステム間で通信を行うためのシステムであって、前記第1クライアントシステムが、
    第1ネットワークアドレス変換デバイスに接続された第1クライアントシステムの第1アドレス情報を発見するための手段と、
    前記第1アドレス情報を第2クライアントシステムと共有するための手段と、
    第2クライアントシステムの第2アドレス情報を受信するための手段と、
    前記第2アドレス情報を用いて、前記第1クライアントシステムと前記第2クライアントシステム間に通信を確立するための手段と、を有し、
    前記第1アドレス情報を発見する過程には、第1ネットワークアドレス変換デバイスに接続された第1クライアントシステムの第1ローカルネットワークアドレスを発見する過程と、前記第1クライアントシステムの第1公開ネットワークアドレスを発見する過程と、が含まれ、
    前記第1クライアントシステムの前記第1公開ネットワークアドレスを発見する過程には、前記第1クライアントシステムからの第1アドレスリクエストを、前記第1ネットワークアドレス変換デバイスに接続されたアドレスサーバに送信する過程と、前記第1クライアントシステムで前記アドレスサーバからの第1アドレスレポートを受信する過程と、が含まれ、前記第1アドレスレポートには、前記第1公開ネットワークアドレスが含まれ、
    前記第1アドレス情報を前記第2クライアントシステムと共有する過程には、前記第1クライアントシステムからの登録リクエストを前記ネットワークに接続されたマッチングサーバに送信する過程が含まれ、前記登録リクエストには、前記第1アドレス情報が含まれる、システム。
JP2004504487A 2002-05-13 2003-05-12 ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信 Expired - Lifetime JP4083737B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38039602P 2002-05-13 2002-05-13
US10/215,899 US7676579B2 (en) 2002-05-13 2002-08-08 Peer to peer network communication
PCT/US2003/014808 WO2003096653A1 (en) 2002-05-13 2003-05-12 Peer to peer network communication with network address translation

Publications (2)

Publication Number Publication Date
JP2005525750A JP2005525750A (ja) 2005-08-25
JP4083737B2 true JP4083737B2 (ja) 2008-04-30

Family

ID=29406404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004504487A Expired - Lifetime JP4083737B2 (ja) 2002-05-13 2003-05-12 ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信

Country Status (9)

Country Link
US (2) US7676579B2 (ja)
EP (2) EP1508238B1 (ja)
JP (1) JP4083737B2 (ja)
KR (1) KR100760802B1 (ja)
CN (1) CN1586065B (ja)
AU (1) AU2003234391B8 (ja)
DE (1) DE60336052D1 (ja)
TW (1) TWI251413B (ja)
WO (1) WO2003096653A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2362482A (en) * 2000-05-15 2001-11-21 Ridgeway Systems & Software Lt Direct slave addressing to indirect slave addressing
GB2365256A (en) 2000-07-28 2002-02-13 Ridgeway Systems & Software Lt Audio-video telephony with port address translation
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7937471B2 (en) * 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US7139840B1 (en) * 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8234358B2 (en) * 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
JP4304593B2 (ja) 2002-11-01 2009-07-29 ソニー株式会社 情報処理システム、情報処理装置および方法、並びにプログラム
US7577705B2 (en) * 2003-01-15 2009-08-18 Microsoft Corporation Extensible communication controls
FR2853187B1 (fr) * 2003-03-28 2006-01-13 At & T Corp Systeme permettant a toute application reseau de fonctionner de facon transparente a travers un dispositif de traduction d'adresse de reseau
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7596595B2 (en) * 2003-06-18 2009-09-29 Utah State University Efficient unicast-based multicast tree construction and maintenance for multimedia transmission
US7313605B2 (en) 2003-07-03 2007-12-25 At&T Corp. Externally controlled reachability in virtual private networks
US7417981B2 (en) * 2003-10-15 2008-08-26 Vonage Holdings Corp. Method and apparatus for enhanced Internet Telephony
KR20060113701A (ko) * 2003-11-07 2006-11-02 마쯔시다덴기산교 가부시키가이샤 통신시스템, 정보처리장치, 서버, 및 통신 방법
US8234383B2 (en) * 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
JP4269226B2 (ja) 2003-11-14 2009-05-27 ソニー株式会社 情報通信システムおよび方法、情報処理装置および方法、プログラム並びに記録媒体
US20050228848A1 (en) * 2004-03-22 2005-10-13 Thurston Stacy D Method and system for operating a peer network
WO2005101747A2 (en) * 2004-04-12 2005-10-27 Xds, Inc System and method for automatically initiating and dynamically establishing secure internet connections between a fire-walled server and a fire-walled client
CN100486193C (zh) * 2004-09-29 2009-05-06 腾讯科技(深圳)有限公司 多策略的p2p连接建立方法
JP2006155188A (ja) * 2004-11-29 2006-06-15 Sony Corp 情報処理システム、情報提供装置および方法、電子機器および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4708036B2 (ja) * 2005-01-21 2011-06-22 パナソニック株式会社 通信システム、情報処理装置、サーバ、及び情報処理方法
US20060187912A1 (en) * 2005-02-01 2006-08-24 Kayote Networks Inc. Method and apparatus for server-side NAT detection
EP1849317A4 (en) * 2005-02-18 2014-01-01 Ericsson Telefon Ab L M ARRANGEMENTS FOR PROVIDING PEER TO PEER COMMUNICATION IN A PUBLIC LAND MOBILE NETWORK
JP4597706B2 (ja) * 2005-02-25 2010-12-15 パナソニック株式会社 情報処理システム、情報処理装置、サーバ装置、及び情報処理方法
US8041824B1 (en) * 2005-04-14 2011-10-18 Strauss Acquisitions, L.L.C. System, device, method and software for providing a visitor access to a public network
WO2006116013A2 (en) * 2005-04-22 2006-11-02 Pandit Shrihari B Methods and systems for communicating voice, audio, video, text and/or multimedia data
JP4557803B2 (ja) * 2005-05-27 2010-10-06 富士通株式会社 ネットワークシステム及び通信方法
US7515549B2 (en) * 2005-06-07 2009-04-07 Cisco Technology, Inc. Managing devices across NAT boundaries
US7706371B1 (en) * 2005-07-07 2010-04-27 Cisco Technology, Inc. Domain based routing for managing devices operating behind a network address translator
KR100766777B1 (ko) * 2005-08-02 2007-10-17 엔에이치엔(주) 게임 네트워크 제공 시스템, 방법 및 기록매체
JP4548271B2 (ja) * 2005-08-16 2010-09-22 ブラザー工業株式会社 情報通信システム、情報通信方法、ノード装置、及びコンピュータプログラム
DE102005043239B4 (de) * 2005-09-09 2014-04-10 Nec Europe Ltd. Verfahren zum Aufbau und Verwalten einer Verbindung
US8145733B1 (en) * 2006-02-15 2012-03-27 Trend Micro Incorporated Identification of computers located behind an address translation server
KR100793420B1 (ko) * 2006-07-12 2008-01-11 임승빈 네트워크상에서 데이터 전송 서비스를 제공하기 위한 서버및 클라이언트의 연결 시스템 및 이를 이용한 서버와클라이언트 또는 클라이언트와 클라이언트간의 연결 방법
US7764677B2 (en) * 2006-09-20 2010-07-27 Nortel Networks Limited Method and system for policy-based address allocation for secure unique local networks
KR100703065B1 (ko) * 2006-10-26 2007-04-09 (주)휴리브 다자간 양방향 음성통화 서비스를 위한 nat 제어 시스템및 그 방법
NL1033102C2 (nl) * 2006-12-21 2008-06-24 V S N Systemen B V Werkwijze voor het opzetten van een peer-to-peerverbinding tussen twee communicatiemedia.
US7881318B2 (en) * 2007-02-28 2011-02-01 Microsoft Corporation Out-of-band keep-alive mechanism for clients associated with network address translation systems
US7995478B2 (en) * 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US7933273B2 (en) 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US20090055517A1 (en) * 2007-08-21 2009-02-26 D-Link Corporation Method for a plug-and-play network device to acquire dual internet protocol addresses
US20090059788A1 (en) * 2007-08-29 2009-03-05 Motorola, Inc. Method and Apparatus for Dynamic Adaptation of Network Transport
US7856501B2 (en) 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
GB2463312A (en) * 2008-09-09 2010-03-17 Skype Ltd Games system with bi-directional video communication
KR100968958B1 (ko) * 2008-12-03 2010-07-14 주식회사 케이티 인터넷 프로토콜 멀티미디어 서브시스템 및 인터넷 프로토콜 멀티미디어 서브시스템에서의 가입자 인증 방법
JP2010170176A (ja) * 2009-01-20 2010-08-05 Konami Digital Entertainment Co Ltd ゲーム用のネットワークシステム、ネットワーク用のプログラム、サーバ用のコンピュータ
KR101049912B1 (ko) * 2009-02-24 2011-07-19 (주)닥터소프트 네트워크 시스템 간의 접속 방법
JP5439036B2 (ja) * 2009-05-27 2014-03-12 エヌ・ティ・ティ・コムウェア株式会社 通信システム、通信管理装置、通信管理方法、及び通信管理プログラム
CN101605154B (zh) * 2009-07-09 2014-08-13 中兴通讯股份有限公司 使用网络地址转换的网络设备的ip地址确认系统及方法
CN102546555B (zh) * 2010-12-27 2015-12-16 中兴通讯股份有限公司 用户终端在多种接入方式时和外部网络的互通方法和设备
US8964567B2 (en) * 2011-07-21 2015-02-24 Microsoft Technology Licensing, Llc Wireless synchronization testing
GB201113942D0 (en) * 2011-08-12 2011-09-28 Nec Corp Communication system
TWI448129B (zh) * 2011-11-09 2014-08-01 D Link Corp According to the behavior of the network address translator to establish a transmission control protocol connection method
US8862702B2 (en) * 2012-07-18 2014-10-14 Accedian Networks Inc. Systems and methods of installing and operating devices without explicit network addresses
EP3025540A4 (en) * 2013-07-26 2017-03-15 Intel IP Corporation Signaling interference information for user equipment assistance
CN106303117A (zh) * 2015-06-08 2017-01-04 李明 基于ip网络的通讯方法及通讯系统
US10567518B2 (en) * 2015-06-26 2020-02-18 Western Digital Technologies, Inc. Automatic discovery and onboarding of electronic devices
CN106487864B (zh) * 2015-09-02 2019-09-27 华为终端有限公司 数据连接的建立方法、服务端及移动终端
CN108124022B (zh) * 2016-11-28 2020-04-14 中国移动通信有限公司研究院 一种网络地址转换管理方法及装置
US10594829B2 (en) * 2017-05-24 2020-03-17 At&T Intellectual Property I, L.P. Cloud workload proxy as link-local service configured to access a service proxy gateway via a link-local IP address to communicate with an external target service via a private network
CN113411367B (zh) * 2020-03-17 2022-07-19 浙江宇视科技有限公司 监控设备建立连接的方法、装置、设备、系统及存储介质
CN114928616A (zh) * 2021-02-03 2022-08-19 上海哔哩哔哩科技有限公司 对等网络的传输方法和系统
CN114089711B (zh) * 2022-01-21 2022-05-17 深圳艾灵网络有限公司 工业设备控制管理方法、电子设备及存储介质
US20230328029A1 (en) * 2022-04-11 2023-10-12 Verizon Patent And Licensing Inc. Multi-level and dynamic timers for carrier grade nat

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4787051A (en) * 1986-05-16 1988-11-22 Tektronix, Inc. Inertial mouse system
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
US5636216A (en) * 1994-04-08 1997-06-03 Metricom, Inc. Method for translating internet protocol addresses to other distributed network addressing schemes
WO1995031061A1 (en) 1994-05-05 1995-11-16 Catapult Entertainment, Inc. Network architecture for real-time video games
US5528265A (en) * 1994-07-18 1996-06-18 Harrison; Simon J. Orientation-operated cursor control device
SE504846C2 (sv) * 1994-09-28 1997-05-12 Jan G Faeger Styrutrustning med ett rörligt styrorgan
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5856974A (en) * 1996-02-13 1999-01-05 Novell, Inc. Internetwork address mapping gateway
JPH11122301A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
US6151601A (en) * 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
US6128624A (en) 1997-11-12 2000-10-03 Ncr Corporation Collection and integration of internet and electronic commerce data in a database during web browsing
US6151584A (en) 1997-11-20 2000-11-21 Ncr Corporation Computer architecture and method for validating and collecting and metadata and data about the internet and electronic commerce environments (data discoverer)
FI105753B (fi) 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
SE513828C2 (sv) * 1998-07-02 2000-11-13 Effnet Group Ab Brandväggsapparat och metod för att kontrollera nätverksdatapakettrafik mellan interna och externa nätverk
US6208649B1 (en) 1998-03-11 2001-03-27 Cisco Technology, Inc. Derived VLAN mapping technique
US6289358B1 (en) 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6292880B1 (en) 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6209003B1 (en) 1998-04-15 2001-03-27 Inktomi Corporation Garbage collection in an object cache
US6128623A (en) 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US6058431A (en) * 1998-04-23 2000-05-02 Lucent Technologies Remote Access Business Unit System and method for network address translation as an external service in the access server of a service provider
US6212565B1 (en) 1998-08-26 2001-04-03 Sun Microsystems, Inc. Apparatus and method for improving performance of proxy server arrays that use persistent connections
US6138156A (en) * 1998-10-05 2000-10-24 International Business Machines Corporation Selecting and applying content-reducing filters based on dynamic environmental factors
US6389462B1 (en) 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US6333931B1 (en) 1998-12-28 2001-12-25 Cisco Technology, Inc. Method and apparatus for interconnecting a circuit-switched telephony network and a packet-switched data network, and applications thereof
US6535511B1 (en) * 1999-01-07 2003-03-18 Cisco Technology, Inc. Method and system for identifying embedded addressing information in a packet for translation between disparate addressing systems
US6636898B1 (en) * 1999-01-29 2003-10-21 International Business Machines Corporation System and method for central management of connections in a virtual private network
US6393488B1 (en) * 1999-05-27 2002-05-21 3Com Corporation System and method for supporting internet protocol subnets with network address translators
US6957346B1 (en) * 1999-06-15 2005-10-18 Ssh Communications Security Ltd. Method and arrangement for providing security through network address translations using tunneling and compensations
US6375572B1 (en) * 1999-10-04 2002-04-23 Nintendo Co., Ltd. Portable game apparatus with acceleration sensor and information storage medium storing a game progam
US6581108B1 (en) * 1999-11-30 2003-06-17 Lucent Technologies Inc. Managing multiple private data networks using network and payload address translation
US7917628B2 (en) * 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7058973B1 (en) * 2000-03-03 2006-06-06 Symantec Corporation Network address translation gateway for local area networks using local IP addresses and non-translatable port addresses
US6779035B1 (en) * 2000-03-06 2004-08-17 Microsoft Corporation Application programming interface and generalized network address translator for translation of transport-layer sessions
US6353891B1 (en) 2000-03-20 2002-03-05 3Com Corporation Control channel security for realm specific internet protocol
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US6618757B1 (en) * 2000-05-17 2003-09-09 Nortel Networks Limited System and method for dynamic IP address management
WO2001097485A2 (en) 2000-06-14 2001-12-20 At & T Wireless Services, Inc. Method for providing transparent public addressed networks within private networks
AU2001271263A1 (en) 2000-06-30 2002-01-14 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
US6661799B1 (en) 2000-09-13 2003-12-09 Alcatel Usa Sourcing, L.P. Method and apparatus for facilitating peer-to-peer application communication
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
US7155518B2 (en) * 2001-01-08 2006-12-26 Interactive People Unplugged Ab Extranet workgroup formation across multiple mobile virtual private networks
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP3963690B2 (ja) * 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
US20030009561A1 (en) * 2001-06-14 2003-01-09 Sollee Patrick N. Providing telephony services to terminals behind a firewall and /or network address translator
US6993574B2 (en) * 2001-06-19 2006-01-31 Zoetics, Inc. Web-based communications addressing system and method
US20030051052A1 (en) 2001-09-13 2003-03-13 Koninklijke Philips Electronics N.V. Addressing scheme for wireless mobile clients
US20030055978A1 (en) * 2001-09-18 2003-03-20 Microsoft Corporation Methods and systems for enabling outside-initiated traffic flows through a network address translator
US7254709B1 (en) * 2001-10-23 2007-08-07 Avanza Technologies, Inc. Managed information transmission of electronic items in a network environment
SE522998C2 (sv) 2001-12-14 2004-03-23 Hotsip Ab Förfarande, gateway och datorprogramprodukt för att sända ett snabbmeddelande mellan två användare
US7058718B2 (en) 2002-01-15 2006-06-06 International Business Machines Corporation Blended SYN cookies
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7676579B2 (en) 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US20040063843A1 (en) * 2002-07-19 2004-04-01 Honeywell International, Inc. Coating solutions
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US7216359B2 (en) 2002-12-19 2007-05-08 International Business Machines Corporation Secure communication overlay using IP address hopping
US20040212589A1 (en) * 2003-04-24 2004-10-28 Hall Deirdre M. System and method for fusing and displaying multiple degree of freedom positional input data from multiple input sources
US7044571B2 (en) * 2003-10-28 2006-05-16 Hewlett-Packard Development Company, L.P. Power supply adjustment
JP4426262B2 (ja) * 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
US7522618B2 (en) * 2005-03-18 2009-04-21 Panasonic Corporation Communication apparatus, communication system and communication method
JP4973145B2 (ja) * 2006-11-20 2012-07-11 船井電機株式会社 管理サーバ及びコンテンツ移動システム

Also Published As

Publication number Publication date
US7676579B2 (en) 2010-03-09
EP1508238A1 (en) 2005-02-23
CN1586065A (zh) 2005-02-23
AU2003234391B8 (en) 2009-07-30
KR100760802B1 (ko) 2007-09-20
EP1508238B1 (en) 2016-04-13
WO2003096653A1 (en) 2003-11-20
US20070150552A1 (en) 2007-06-28
US20030212795A1 (en) 2003-11-13
DE60336052D1 (de) 2011-03-31
EP2285072A1 (en) 2011-02-16
AU2003234391B2 (en) 2006-03-09
EP2285072B1 (en) 2018-02-28
CN1586065B (zh) 2010-12-22
TWI251413B (en) 2006-03-11
AU2003234391A1 (en) 2003-11-11
TW200401540A (en) 2004-01-16
JP2005525750A (ja) 2005-08-25
KR20040054817A (ko) 2004-06-25

Similar Documents

Publication Publication Date Title
JP4083737B2 (ja) ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信
JP3868449B2 (ja) ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信
CN102984289B (zh) 促进nat穿透的方法以及移动设备
US7245622B2 (en) Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
JP5643881B2 (ja) 自動化されたサービス発見及び動的接続管理
WO2002076065A2 (en) Generic external proxy
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
JP2006109152A (ja) ネットワーク上で通信を行う接続要求機器、応答機器、接続管理装置、及び通信システム
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
KR20090042110A (ko) Tcp 기반의 채널 설정방법
JP2006323786A (ja) 名前解決装置および名前解決プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061128

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

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: 20080129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080213

R150 Certificate of patent or registration of utility model

Ref document number: 4083737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140222

Year of fee payment: 6

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

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

EXPY Cancellation because of completion of term