JP4886829B2 - 発見されたnatタイプにもとづくホスト選択方法 - Google Patents

発見されたnatタイプにもとづくホスト選択方法 Download PDF

Info

Publication number
JP4886829B2
JP4886829B2 JP2009217541A JP2009217541A JP4886829B2 JP 4886829 B2 JP4886829 B2 JP 4886829B2 JP 2009217541 A JP2009217541 A JP 2009217541A JP 2009217541 A JP2009217541 A JP 2009217541A JP 4886829 B2 JP4886829 B2 JP 4886829B2
Authority
JP
Japan
Prior art keywords
nat
peer
peers
information
host
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.)
Active
Application number
JP2009217541A
Other languages
English (en)
Other versions
JP2010244509A (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 JP2010244509A publication Critical patent/JP2010244509A/ja
Application granted granted Critical
Publication of JP4886829B2 publication Critical patent/JP4886829B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Description

[関連出願の相互参照]
本願は、本願と同日に出願された、マーク・レスタ・ジェイコブらの「シームレスなホストマイグレーションのためのシステムと方法」と題する同一出願人による米国特許出願第12/049,954号に関するものであり、その内容全体を参照によりここに組み入れる。本願は、2007年10月5日に出願された「シームレスなホストマイグレーションのためのシステムと方法」と題する米国仮特許出願第60/997,918号にも関連し、その開示内容を参照によりここに組み入れる。
本願は、2005年10月4日に出願された、ユタカ・タケダらの「シンメトリックなネットワークアドレストランスレータを通過するピアツーピア通信」と題する米国特許出願公報第20070076729号に関連し、その内容全体を参照によりここに組み入れる。
[技術分野]
本発明はコンピュータネットワークに関し、特にコンピュータネットワークのクライアント間のピアツーピア通信に対してホストを決定することに関する。
現在、コンピュータネットワークのクライアント間でゲームプレイをする間、クライアントはサーバと直接通信する。中央サーバはあらゆるクライアントからのデータを処理し、このデータを他のすべてのクライアントに中継する。これにより、ネットワーク上のクライアントは、中央サーバを通して互いにゲームプレイに関わることができるようになる。中央サーバがクライアント間のデータ通信を行う能力は帯域幅で制限される。そのため、ゲームプレイ外の通信は制限される。
ゲームプレイデータとは別に、クライアントは、帯域幅制限のある中央サーバを通過することなく互いに情報をやりとりしたいこともある。そのような通信の例として、VoIP(voice over Internet protocol)、ビットトレント、ビデオデータ、ファイル共有、およびデータストリーミングがある。クライアントが中央サーバを必要とせずに互いに通信することを可能にすることで、中央サーバの責任のいくらかをクライアントにオフロードすることができる。
P2Pネットワークに参加する多数のクライアントの中からホストを決定するとき、ピアツーピアネットワークが構築される。ホストは中央サーバの任務を引き受け、クライアント(以下、P2Pネットワークにおいてホストでないクライアントを指すときは、ピアと呼ぶ)間の通信を管理する。
このような文脈のもとで本発明の実施の形態が考えられた。
本発明のある態様は、2以上のピアの中から、ピアツーピアグリッド内のサービスに対するホストとして指定するべきものを決定するための、1のピアにおける方法である。この方法は、a)前記1のピアに対するNATプロファイル情報を集めるステップと、b)前記1のピアに対するNATプロファイル情報を前記2以上のピアの内、1以上の他のピアと共有するステップと、c)前記1以上の他のピアに対するNATプロファイル情報を受信するステップと、d)前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とから、前記2以上のピアのいずれをホストとして指定するかを決定するステップとを含む。
本発明の実施の形態に係るP2Pネットワークを例示する概略図である。 クライアントの視点から見た、発見されたNATタイプにもとづいてホストを選択する方法を説明するフローチャートである。 クライアントの視点から見た、発見されたNATタイプにもとづくホスト選択の基本的な方法を説明するフローチャートである。 本発明の実施の形態に係るクライアントインタフェースの一例を説明する概略図である。
[イントロダクション]
ピアツーピア(P2P)コミュニケーションを通じてクライアント間の通信を構築しようとするときに生じる一つの問題として、ネットワークアドレストランスレーション(NAT)の問題がある。中央サーバに接続されたクライアントはたいていNATの後ろに位置している。NATを使うことにより、ローカルエリアネットワーク(LAN)は、内部トラフィックのためにはプライベートIPアドレスの集合(第1集合)を使い、外部トラフィックのためにはグローバルIPアドレスの集合(第2集合)を使うことが可能になる。したがって、最適なP2Pネットワークを生成するために、P2Pネットワークにおけるホストが好ましいNATプロファイルをもつことが望ましい。
こういうわけで、中央サーバに接続されたクライアントの中から望ましいNATプロファイルをもったホストを決定する方法が技術的に必要とされている。
次の4つのNATタイプを利用することができる。フルコーンNAT、制限付きコーンNAT、ポート制限付きコーンNAT、およびシンメトリックNAT。フルコーンNATは、同じ内部IPアドレスおよびポートからのすべてのリクエストを同じ外部IPアドレスおよびポートにマップするものである。さらに、任意の外部のホストは、マップされた外部アドレスにパケットを送ることにより、内部のホストにパケットを送ることができる。
制限付きコーンNATでは、同じ内部IPアドレスおよびポートからのすべてのリクエストは同じ外部IPアドレスおよびポートにマップされる。しかし、フルコーンNATとは違って、(IPアドレスXをもつ)外部ホストが内部ホストにパケットを送ることができるのは、内部ホストがそのIPアドレスXにパケットを以前送ったことがある場合に限られる。
ポート制限付きコーンNATは、制限付きコーンNATに似ているが、制限はポート番号を含む。具体的には、外部クライアントが、ソースIPアドレスXおよびソースポートPをもつパケットを内部ホストに送ることができるのは、内部ホストが以前そのIPアドレスXおよびポートPからパケットを送ったことがある場合に限られる。
シンメトリックNATでは、同じ内部IPアドレスおよびポートから特定のデスティネーションIPアドレスおよびポートへのすべてのリクエストは、同じ外部IPアドレスおよびポートにマップされる。もし、同じホストが、同じソースアドレスおよびポートをもつが宛先が異なるパケットを送るなら、異なるマッピングが使われる。さらに、パケットを受信する外部ホストだけがUDPパケットを内部ホストに送り返すことができる。
[NATタイプにもとづくホスト選択]
図1は、本発明の実施の形態に係るP2Pネットワークを例示する概略図である。ネットワーク上のクライアントデバイス105A、105B、107、および105Dは、はじめは外部ネットワーク109にあるサーバ101に接続されている。一例として、サーバ101は、外部ネットワーク109に接続されたクライアント105A、105B、107、および105Dの間でやりとりされるゲームプレイ用のデータをモニタしてもよい。クライアント105A、105B、107、および105Dは、対応するNAT(network address translator)111A、111B、111C、および111Dの後段に配置される。各NATはインターネット標準に準拠して構成されており、ローカルエリアネットワーク(LAN)が、内部トラフィックに対してはプライベートIPアドレスの集合(第1集合)を使い、外部トラフィックに対してはグローバルIPアドレスの集合(第2集合)を使うことを可能にする。ほとんどのNATはIPアドレスを動的に変換するため、内部ネットワークが通信を開始する前に、外部ネットワークが内部ネットワークに到達する手段はない。しかしながら、クライアント105A、105B、107、および105Dは、サーバ・クライアント関係を構築するので、サーバ101とクライアント105A、105B、107、および105Dの間の通信はNAT111A、111B、111C、および111Dによって制限されることはない。
クライアントが互いに直接通信することができるP2Pネットワークを構築する際、一つのクライアントがホスト107として構築され、ホスト107を介して、他のピア105(P2Pネットワークに接続された、ホストではないクライアント)は互いに直接的な接続を構築することができる。一例として、これに限定するわけではないが、ピア105は、完全結合グリッド(fully connected grid; FCG)として知られる構成で互いに接続されてもよい。そのような構成によれば、任意の一つのピアがボトルネックとなることを防ぐことができる。本発明の実施の形態においては、ホスト107は、各クライアントのNATプロファイルにもとづいて決定することができる。NAT111A、111B、111C、および111Dは、フルコーンNAT、制限付きコーンNAT、ポート制限付きコーンNAT、およびシンメトリックNATと一般的に称される4つの異なる構成の一つであってもよい。
フルコーンNATは、同じ内部IPアドレスおよびポートからのすべてのリクエストを同じ外部IPアドレスおよびポートにマップするものである。任意のクライアントは、フルコーンNATの後ろに位置するクライアント用の外部アドレスにパケットを送ることにより、そのクライアントにパケットを送ることができる。
制限付きコーンNATでは、同じ内部IPアドレスおよびポートからのすべてのリクエストは同じ外部IPアドレスおよびポートにマップされる。しかし、フルコーンNATとは違って、(IPアドレスXをもつ)外部クライアントがフルコーンNATの後ろにあるクライアントにパケットを送ることができるのは、内部ホストがそのIPアドレスXにパケットを以前送ったことがある場合に限られる。
ポート制限付きコーンNATは、制限付きコーンNATに似ているが、制限はポート番号を含む。具体的には、外部クライアントが、ソースIPアドレスXおよびソースポートPをもつパケットをポート制限付きコーンNATの後ろにあるクライアントに送ることができるのは、ポート制限付きコーンNATの後ろにあるクライアントが以前そのIPアドレスXおよびポートPからパケットを送ったことがある場合に限られる。
シンメトリックNATでは、同じ内部IPアドレスおよびポートから特定のデスティネーションIPアドレスおよびポートへのすべてのリクエストは、同じ外部IPアドレスおよびポートにマップされる。もし、同じホストが、同じソースアドレスおよびポートをもつが宛先が異なるパケットを送るなら、異なるマッピングが使われる。さらに、パケットを受信する外部ホストだけがUDPパケットを内部ホストに送り返すことができる。
フルコーン、制限付きコーン、およびポート制限付きコーンNATの通過(traversal)は、比較的簡単であるが、シンメトリックNATの通過は多少複雑である。クライアントがシンメトリックNATの後段にある場合のNAT通過は、たとえば、出願人が共通する米国特許出願公報第20070076729号に記載されている。特に、クライアントはポート予測を実行してもよい。ポート予測は、後段にクライアントがあるNATに関して、予測されるトランスポートアドレスのリストを生成することに関わるものである。その後、シンメトリックNATの後ろにあるクライアントは、予測されたトランスポートアドレスを用いて、第2のノードと接続性チェックを行う。接続性チェックは、STUN(simple traversal of user data protocol(UDP) through NAT)リクエストをそれぞれの予測されたトランスポートアドレスに並列に送ることによって実行される。シンメトリックNATの背後のクライアントがこのリクエストを受け取ると、STUNレスポンスを第2のクライアントに送る。もし、第2のクライアントがSTUNレスポンスを受信すると、第2のクライアントは、そのアドレスにメディアを送信し始めることができる。
上述の4つ以外のNATタイプを設けてもよい。ある場合には、標準的な技術を用いてそのようなNATを通過することができる。他の場合には、NATの振る舞いを予測することができなかったり、不安定であったりするため、そのようなNATの背後にあるクライアントとの通信は信頼できないことがある。
ホスト107の任務は、他のピア105A、105B、および105Dの間で情報の通信を行うことであるから、ホスト107が、通信能力の妨げにならないタイプのNATの背後にあることが重要である。ピア105A、105B、105Dおよびホスト107が完全結合グリッド(FCG)で結合している実施の形態においては、最大数のピアに最高レベルのサービスを提供することができるように、通信能力を邪魔しないNATの背後にあるホストを利用することが特に好ましい。P2Pに対するサポートが疑わしい(未知である)とされているNATが現実には、P2Pネットワークにおいて既存のピアによって使用されている他のNATタイプと比べても十分に動作する場合もある。もっとも好ましいNATプロファイルをもつホスト107を選択することにより、より信頼性の高いピアツーピアの通信を実現できる。ここで、P2P通信という用語は、ネットワークに接続されたクライアントデバイス間の直接通信のことを指す。P2Pアプリケーションの例として、ここに挙げるものには限られないが、たとえば、VoIP(voice over internet protocol)、ビットトレント(bit torrent)転送、ビデオ転送、ファイル共有、データ共有、その他のタイプのクライアント間の直接データ転送であって、個々のクライアントの帯域幅の容量を超えないものなどがある。いったんホスト107が確立すると、ピア105A、105B、105Dは、最初はホスト107に情報を転送し、ホスト107がその情報を各受信先のピア105A、105B、105Dに中継することにより、互いに通信することができる。あるいは、これらのピアは、この直接の通信経路を確立するためにホスト107を利用した後、直接的に情報を転送してもよい。
ある実施の形態では、クライアント105A、105B、105D、および107は、外部ネットワーク109と関連づけられたSTUNを用いてNATプロファイル情報を取得してもよい。STUNサーバ103は、IETFによって提案された軽量プロトコルであり、これにより、IP通信可能なクライアントは、自分の前段にあるNATの存在とタイプを発見することができるようになる。STUN103は、たいていのNATタイプで動作し、NATの特定の振る舞いに依存しない。STUNサーバ103は、クライアント105Aに立てかけたミラーのように作用し、クライアント105Aは、自身のローカルトランスポートアドレスがどのようにパブリックトランスポートアドレスにマップされるかを見ることができる。クライアント105Aは、クライアント105Aの前にあるNAT111Aのタイプを、STUNサーバ103との通信を通して決定することもできる。
一例として、ここに挙げる例には限られないが、各クライアント105A、105B、107、105DはSTUNサーバを用いてNATプロファイル情報を取得し、その情報を中央サーバ101に中継してもよい。これにより、中央サーバ101は、どのクライアントがもっとも好ましいホスト107になりうるかを決定することができる。同様に、いずれかのクライアント105A、105B、107、105Dは、STUNサーバ103を用いて他のNATプロファイル情報を取得し、P2Pネットワークを介して通信しようとする他のクライアント105にその情報を中継してもよい。これにより、クライアント105A、105B、107、105Dがホスト107を最適に決定することができる。
図2は、クライアントの視点から見た、発見されたNATタイプにもとづいてホストを選択する基本的な方法を説明するフローチャートである。ステップ201で示すように、サーバ101に接続された各クライアントは、P2Pネットワークで使用する自分のNATプロファイル情報を収集する。このプロファイル情報には、クライアントの前方にあるNATのタイプに関する情報、そのNATがUPnP(universal plug and play)をサポートするかどうかに関する情報、そのNATがポート保護を提示するものであるかどうかに関する情報、および、そのNATがポート予測可能性をサポートするかどうかに関する情報が含まれる。ここで、ポート保護とは、いったん特定の外部ポートにマップされた内部IPアドレスは、一貫してその特定のポートにマップされることを意味する。ここでポート予測可能性とは、内部IPアドレスがマップされる外部ポートを、たとえそれが常に同じポートでなくても、予測することができることを意味する。たとえば、外部ポートは、内部IPアドレスをマッピングしようと試みる度に一貫してインクリメントされてもよい。
NATの振る舞いに加えて、各クライアントのプロファイル情報にはサービス品質(QoS)情報も含まれる。ここでQoS情報という用語は、クライアントに関する情報であって、そのクライアントデバイスが他のクライアントデバイスとどれくらいよく通信することができるかに関するものを含む。一例として、ここに挙げるものに限らないが、そのような情報は、そのクライアントがどれくらい速く通信することができるか、そのクライアントがそれくらい信頼性のある通信をすることができるか、あるいはそれらの両方に関するものである。QoS情報の特定の例は、ここで挙げるものに限らないが、ピング(ping)タイム、帯域幅の振る舞い、レイテンシ、地理、IPプロバイダなどを含む。
各クライアント用のプロファイル情報は、サーバに接続されたすべてのクライアント間の優先度リストを作るのに使うこともできる。これにより、P2P通信用にホストを最適に選択することができる。潜在的なホスト間の優先順位が同順位である場合は、どの潜在的なホストを現実のホストとして選択するかを決定するために序数を設定しておいてもよい。ある実施の形態では、そのような序数は、ステップ203においてサーバによって割り当てられてもよい。たとえば、クライアントがサーバに接続された順にする。あるいは、分散調停アルゴリズムを用いて、2以上の等しく適切な潜在的なホストの中から一つのホストを選択してもよい。最初のホストがP2Pネットワークを離れることを決定するか、P2Pネットワークから何らかの理由で接続が切られることがあった場合、この情報はP2Pネットワーク用の次のホストを選択するために用いられる。
いったんプロファイル情報が与えられたクライアントによって収集されると、そのクライアントに対するNATプロファイルは、サーバに接続された他のクライアントと共有される。プロファイル情報は、サーバに接続されたクライアントの数の期待値を含む。これは、最適なP2Pに到達したかどうかを決めるために使われる。この時点で、ステップ205に示すように、各クライアントは、他のすべてのクライアントが自分の手前にあるNATに関するプロファイル情報を提出するまで待つ。いったんすべてのNATプロファイルがクライアントによって提出されたなら、ステップ207に示すように、クライアントはホストになるか、ピアになるか、あるいは、いずれになるための要件も満たすことができないかを決定する。この決定は上述の各クライアントに対して取得されたプロファイル情報にもとづいてなされる。たとえば、多くの要因にもとづいて優先度を割り当てることにより、利用可能なクライアントの中から、もっとも好ましいプロファイルをもつクライアントにもとづいてホストを選ぶことができる。残りのクライアントはピアに割り当てられるか、もしくは、それらのプロファイル情報にもとづいてピアともホストとも認識されない。たとえば、通過可能でないNATの後ろにあるクライアントは、ピアまたはホストとしてネットワークに接続するために必要な要件を満たさない。一例として、ここで述べる例に限られないが、ピアまたはホストとして認識されることができないクライアントは、自分のプロファイルを更新し、自分のステータスをP2Pネットワークの残りの部分に通知し、P2Pネットワークからこのクライアントが除外されるように、期待されたカウントをデクリメントしてもよい。
表1は、P2Pネットワークにおいてホストの割り当てを決めるために使うことのできる優先順位付けスキームの例を説明する。一例として、これに限らないが、優先順位付けスキームは、5つの分離された区分に分けることができる。アクティブ、起こりうる、不明、進行中、非アクティブの5つである。これらは表1にホスト優先度の順にリストされている。「アクティブ」タグは、クライアントがホストとしてたいへん良い候補であることを示す。「起こりうる」タグは、クライアントがホストとして良い候補であるが、アクティブタグの付いたクライアントの方が優先することを示す。「不明」タグは、ネットワークはその特定のクライアントがホストとして良い候補であるかどうかを決定できないことを示す。「進行中」タグは、ネットワークはそのクライアントがホストとして良い候補であるかどうかをまだ決定中であることを示す。最後に、「非アクティブ」タグは、クライアントはホストの任務を引き受けることができないことを示す。表1に示した例では、優先度タグは、4つの基準にもとづいている。NATタイプ、UPnP機能、ポート保護、ポート予測可能性の4つである。しかしながら、優先度を決定する際に他のいくつかの要因を使用してもよい。これらの要因は、クライアントのサービス品質のプロファイルの範囲に入るものであり、ピングタイム、バンド幅の振る舞い、地理、レイテンシ、およびIPプロバイダを含むがこれらに限定されないQoS情報を含んでもよい。
Figure 0004886829
図3は、クライアントの視点から見た、本発明の特定の実施の形態に係る、発見されたNATタイプにもとづくホスト選択の方法を説明するフローチャートである。ステップ301に示すように、クライアントは最初、自分の前方にあるNATについてのプロファイル情報を取得する。このプロファイル情報には、NATタイプ、NATがUPnPをサポートするかどうか、NATがポート保護をサポートするかどうか、およびNATがポート予約可能性をサポートするかどうかに関する情報が含まれる。この情報に加えて、プロファイル情報は、ピングタイム、バンド幅の振る舞い、地理、レイテンシ、およびIPプロバイダを含むがこれらに限定されないQoS情報を含んでもよい。この情報は、これらのいくつかの異なるクライアントの中から、P2P通信をサポートするためのホストを決定するために、クライアント間に優先順位を付けるのに使われる。最初のホストがP2Pネットワークを離れることを決定するか、何らかの理由でネットワークから切り離された場合、この情報はP2Pネットワーク用の次のホストを選択するために使うことができる。
いったんクライアントが自分の手前にあるNATに関するプロファイル情報を取得すると、ステップ303に示すように、クライアントは同じサーバに接続された他のクライアントとこのNATプロファイルを共有する。これらのクライアントは、今や、他のすべてのクライアントに対する上述のプロファイル情報について知っているだけではなく、サーバに現在接続されたクライアントの期待されるカウント値についても知らされる。この時点で、各クライアントは、ステップ305に示すように、他のすべてのクライアントが自分の前にあるNATに関する自分のプロファイル情報を提供するまで待つ。いったんすべてのNATプロファイルがクライアントによって提出されたなら、ステップ307に示すように、クライアントはホストになるか、ピアになるか、あるいは、いずれになるための要件も満たすことができないかを決定する。この決定は上述の各クライアントに対して取得されたプロファイル情報にもとづいてなされる。多くの要因にもとづいて優先度を割り当てることにより、クライアントの中から、もっとも好ましいプロファイルをもつクライアントにもとづいてホストを選ぶことができる。残りのクライアントはピアに割り当てられるか、もしくは、それらのプロファイル情報にもとづいてピアともホストとも認識されない。たとえば、通過可能でないNATの後ろにあるクライアントは、ピアまたはホストとしてネットワークに接続するために必要な要件を満たさない。一例として、ここで述べる例に限られないが、ピアまたはホストとして認識されることができないクライアントは、自分のプロファイルを更新し、自分のステータスをP2Pネットワークの残りの部分に通知し、P2Pネットワークからこのクライアントが除外されるように、期待されたカウントをデクリメントしてもよい。
ホストとなる任務を割り当てられたクライアントは、ステップ309に示すように、ネットワーク上の残りのクライアントが接続するのを待ち、また、プロファイルを更新する。すべてのクライアントがホストに接続したら、ステップ311に示すように、期待されたカウントをチェックして、サーバに接続されたすべてのクライアントがホストに接続されたかどうかを決定する。もしカウントが期待通りであったならば、ステップ317に示すように、P2P通信が可能になる。しかし、1以上のクライアントがホストまたはピアになるための要件を満たさなかったがためにカウントが期待よりも小さい場合は、カウントは減らされ、処理は再び303から開始される。
クライアントがピアになることを決定した場合、ステップ313に示すように、クライアントは、ホストが決定された後、そのホストに接続を試みる。ステップ315に示すように、ピアがホストに接続できるか、ホストに接続することができないかが決定される。クライアントがホストに接続できるならば、ステップ317に示すように、クライアントは、P2P通信が可能になる前に他のすべてのピアがホストに接続されるのを待つ。クライアントがホストに接続できないならば、クライアントのプロファイル情報を更新し、処理は再びステップ303から始まる。最終的に、クライアントが何度もホストに接続できなかった場合は、カウントが減らされ、そのクライアントはP2Pネットワークから離れる。
NAT情報を集めている間にピアになることができなかった場合、これは失敗として記録され、他のピアとの間で共有される。データ共有やデータ待ちは失敗しないと仮定してもよい。たとえば、このデータ通信が、サーバ101のような信頼できる通信チャネルを通してなされるならば、そのような仮定が成り立つ。この処理のどこかのポイントで、サーバ101との通信に失敗すると、処理全体が中止され、残りのクライアントは、接続が断たれたことを知らされる。この通知は、サーバ101との通信に使われたプロトコルによって特定される。残りのクライアントはもはや、接続が断たれたクライアントからのレスポンスを待つことはない。
いったんホストがクライアントデバイスの中から特定されると、サーバ101は、そのホストに任命されたピアによって管理されるP2Pグリッドに1以上の機能をオフロードする。ホストおよび/またはP2Pグリッド内の任意のピアがそのような機能を引き受ける。一例として、これに限られないが、P2Pグリッドは、すべての通信がホストを経由する完全結合グリッドまたはスター型トポロジーであってもよい。グリッドのトポロジーは本発明の実施の形態にとって厳密に関連性があるわけではない。関連性があるのは、任意のトポロジーのP2Pグリッドへの通信の主要ポイント(ホスト)が、その通信の主要ポイントと関連づけられたNATの振る舞いにもとづいて構築されるという点である。
クライアントデバイス400は、図4に示すように、本発明の実施の形態に係るホスト決定方法を実装するように構成される。一例として、一般性を損なうことなく、クライアントデバイス400は、デジタルテレビジョンセット、パーソナルコンピュータ、ビデオゲーム機、パーソナルデジタル情報機器、携帯電話またはパーソナルデジタル機器のようなモバイルまたはハンドヘルドデバイス、ハンドヘルドビデオゲーム機、ポータブル電子メール機器、または他のデジタルデバイスの一部として実装される。
デバイス400は、中央演算処理装置(CPU)402とCPU402に接続されているメモリ404を含む。CPU402は、ソフトウェアアプリケーションと、任意であるがオペレーティングシステムとを走らせるように構成される。本発明のある実施の形態は、CPU402がメインプロセッサ402Aと1以上の補助プロセッサ402Bを含むタイプのプロセッサアーキテクチャを活用する。各補助プロセッサ402Bはそれ自身に関連づけられたローカルデータストレージをもう。そのようなプロセッサアーキテクチャの一例はセルプロセッサである。セルプロセッサアーキテクチャの例は、「セルブロードバンドエンジンアーキテクチャ」に詳細が記述されている。これは、IBM、ソニー・コンピュータエンタテインメント、東芝の2005年8月8日付けの著作権で保護されており、コピーはhttp://cell.scei.co.jp/からダウンロード可能であり、その内容全体を参照によってここに組み入れる。
再び図4を参照して、受信デバイス400はまた、入出力(I/O)装置411、電源(P/S)412、クロック(CLK)413およびキャッシュ414などの公知のサポート機能410を備えてもよい。デバイス400はさらに、アプリケーションおよびデータ用の不揮発性のストレージを提供するハードディスクドライブのような高速データストレージデバイス415を備えてもよい。一例としてストレージデバイス415は、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、テープドライブであってもよい。あるいは、ストレージデバイス415は、たとえば、CD−ROM、DVD−ROM、ブルーレイ(商標または登録商標)、HD−DVD、UMD、その他の光学式ストレージデバイスであってもよい。より低速のストレージデバイスからのファイル416は、一時的に、より高速のストレージデバイスに格納され、メモリ404に高速にロードするためのハードウエアキャッシュとして利用されてもよい。
1以上のユーザからのユーザ入力をシステム400に伝えるために1以上のユーザ入力デバイス420が用いられてもよい。たとえば、1以上のユーザ入力デバイス420が、入出力装置411を介してクライアントデバイス400に接続されてもよい。適当な入力デバイス420の例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、リモートコントロールユニット、ライトペン、スチル/ビデオカメラ、および/またはマイクロホンが含まれる。
クライアントデバイス400は、電子通信ネットワーク427を介した通信を手助けするネットワークインタフェース425を通じて、ピアツーピアネットワークにある他のクライアントデバイスと通信することができる。ネットワークインタフェース425は、ローカルエリアネットワークおよびインターネットのようなワイドエリアネットワーク上で有線または無線通信を実装するべく構成されてもよい。システム400はネットワーク427上で1以上のメッセージパケット426を用いて、データおよび/またはファイルに対するリクエストを送受信することができる。一例として、これに限られないが、電子通信ネットワーク427は、デバイス400と他のクライアントでバース間の通信を可能にする、ローカルエリアネットワーク、ワイドエリアネットワーク、またはパーソナルエリアネットワーク(たとえば、ブルートゥース(商標または登録商標))であってもよい。
メモリ404はCPU402が用いるアプリケーションおよびデータを格納する。メモリ404は集積回路(たとえば、RAM、DRAM、ROMその他)の形態であってもよい。コンピュータプログラム401は、プロセッサ402で実行可能なインストラクションの形式でメモリ404に格納される。
プログラム401は、プロセッサによって実行されると、ピアツーピアネットワークにおける2以上のピアクライアントデバイスのグループの中からホストを決定するための方法をプロセッサに実装させるインストラクションを含む。一例として、一般性を失うことなく、プログラム401は、実行時に、デバイス400に図2に例示した方法200や図3に例示した方法300を実装させてもよい。特に、プログラム401はデバイス400に次のことを実行させてもよい。a)デバイス400に対するNATプロファイル情報を集め、b)そのデバイスに対するNATプロファイル情報をネットワーク427に接続された1以上の他のクライアントデバイス400’、400’’と共有し、c)その1以上の他のクライアントデバイスに対するNATプロファイル情報を受信し、d)当該クライアントデバイス400に対するNATプロファイル情報と、1以上の他のクライアントデバイスに対するNATプロファイル情報とから、クライアントデバイス400、400’、400’’のいずれをホストとして指定するかを決定する。
クライアントデバイス400と他のクライアントデバイス400’、400’’に対するNATプロファイル情報406はメモリ404に格納され、ホストを決定するときに使われる。クライアントデバイス400、400’、400’’の各々は、対応するNAT403、403’、403’’の後ろにある。クライアントデバイス400はNAT403の後ろに位置しており、NAT403はクライアント400に対する内部IPアドレスを、他のデバイスから見られるパブリックIPアドレスに変換する。あるタイプのクライアントデバイスはNATを含んでいることがあるが、NAT403は通常はクライアントデバイス400の一部ではない。さらに、本発明の実施の形態は、クライアントデバイス400、400’、400’’のいずれか、またはすべてがNATの後ろにないなら、実装することはできない。
NATプロファイル情報406には、ここで挙げるものに限定されないが、クライアントデバイス400がその後方にある(もしあれば)NATのタイプに関する情報、そのNATがUPnPに携わることのできる能力、ポート保護を維持するNATの能力、およびNATのポート予測可能性が含まれる。プログラム401は、表1に関する上述の基準にもとづいた選択を実装する。その他のクライアントデバイス400’、400’’は同様に構成され、同じホスト選択処理を実装する。もしすべてのクライアントデバイス400、400’、400’’が同じプログラム401とプロファイル情報406を用いるとすれば、これらが同じホスト決定をすることを期待するのは理にかなっている。
ある状況では、プログラム401が、サービス品質(QoS)情報のような付加的な情報408にもとづいて、補助的な調停フィルタを適用し、2以上の同程度に有望な候補デバイスの中からホストデバイスを選ぶ決定を調停することが望ましい。サービス品質情報は、クライアントのピングタイム、帯域幅の振る舞い、地理、レイテンシ、IPプロバイダなどの要因や上述の他の要因を含んでもよい。そのような付加情報408もメモリ404に格納することができる。
クライアントデバイス400は、グラフィックプロセッシングユニット(GPU)435とグラフィックスメモリ437とを有するグラフィックス・サブシステム430を更に含む。グラフィックスメモリ437は、出力イメージの各画素に対する画素データを格納するために使われるディスプレイメモリ(例えばフレーム・バッファ)を含む。グラフィックスメモリ437は、GPU435と同じデバイス内に統合されてもよく、別のデバイスとしてGPU435に結合されてもよく、メモリ404内に実装されてもよい。画素データは、CPU402から直接グラフィックスメモリ437に提供される。あるいは、CPU402は、所望の出力イメージを定めるデータやインストラクションをGPU435に提供する。GPU435はそれを用いて出力イメージの画素データを生成する。所望出力イメージを定めるデータやインストラクションは、メモリ406やグラフィックスメモリ437に格納される。ある実施の形態では、GPU435は、例えば、適当なプログラミングまたはハードウェア・コンフィギュレーションによって構成され、シーンのためにジオメトリ、ライティング(照明)、シェーディング、テクスチャリング、モーション、および/またはカメラパラメータを定めるインストラクションとデータから出力イメージに対する画素データを生成するための3Dレンダリング機能をもつ。GPU435は、シェーダプログラムを実行することができるプログラム可能な実行ユニットを更に含む。
グラフィックス・サブシステム430は、ビデオ表示装置450で表示されるべきグラフィックスメモリ437からのイメージに対する画素データを周期的に出力する。ビデオ表示装置450は、デバイス400からの信号に応じてビジュアル情報を表示することができる任意のデバイスであり、テキスト、数字、グラフィカルシンボル、または画像を表示可能なCRT、LCD、プラズマ、およびOLEDディスプレイを含む。デジタル放送受信デバイス400は、表示装置450に、表示装置のタイプに応じてアナログまたはデジタル信号を提供する。さらに、ディスプレイ450は、可聴もしくは検知可能な音を出すオーディオスピーカーで補強されてもよい。そのような音の生成を容易にするために、クライアントデバイス400は、CPU402、メモリ404、および/またはストレージ415によって提供されたインストラクションおよび/またはデータからアナログまたはデジタル音声出力を生成するために適したオーディオプロセッサ455を更に含む。
受信デバイス400は、オプションとして位置表示デバイス470を含んでもよい。そのようなデバイスは、デバイスの地理的位置に関する情報を提供することができる任意の適当な技術にもとづくものである。既存技術の例として、GPS技術、慣性誘導技術などがある。そのようなデバイスからの情報は、モバイルまたはハンドヘルドデバイス用のナビゲーションのようなデジタル放送データアプリケーションで使われる。
ある実施の形態によれば、クライアントデバイス400の地理的場所を決定することは有益である。バンド幅、ピングタイム、レイテンシなどのQoS考慮事項は、デバイスの場所の影響を受けることがあるからである。一例として、これに限定するものではないが、ホスト決定を容易にするために、位置表示デバイス470は、地理的場所の情報を提供し、プログラム401はその情報を用いて、クライアントデバイス400がピアツーピアサービスに対するホストとなりうる良い候補であるかどうかを決定してもよい。
CPU402、メモリ404、支援機能410、データストレージデバイス415、ユーザ入力デバイス420、ネットワークインターフェース425、グラフィックスユニット430、オーディオプロセッサ455、および位置表示デバイス470を含むデバイス400の構成要素は、データバス460を介して互いに機能的に接続されている。これらの構成要素は、ハードウェア、ソフトウェアまたはファームウェア、あるいはこれらのうちの2つ以上の組合せで実装される。
本発明の実施の形態は、ピアツーピアネットワークの状況において協調的なホスト決定とホストマイグレーションを許容する。
本発明の好ましい実施の形態を完全な形で説明してきたが、いろいろな代替物、変形、等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決められるものではなく、請求項により決められるべきであり、均等物の全範囲も含まれる。ここで述べた特徴はいずれも、好ましいかどうかを問わず、他の特徴と組み合わせてもよい。請求項において、明示的に断らない限り、各項目は1またはそれ以上の数量である。請求項において「〜のための手段」のような語句を用いて明示的に記載する場合を除いて、請求項がミーンズ・プラス・ファンクションの限定を含むものと解してはならない。

Claims (9)

  1. コンピュータプロセッサと、
    前記プロセッサに結合したコンピュータメモリと、
    前記プロセッサに結合したネットワークインタフェースであって、ピアツーピアグリッドで接続された1のピアである前記プロセッサと1以上の他のピアデバイスの間の通信を助けるように構成されたネットワークインタフェースと、
    前記メモリに具体化されたコンピュータ読み取り可能なインストラクションセットとを含み、
    前記コンピュータ読み取り可能なインストラクションは、ピアツーピアグリッドの2以上のピアの中からいずれのピアデバイスを、ピアツーピアグリッド内のサービスに対するホストとして指定するかを決める前記1のピアにおける方法を実装するように構成されており、
    前記方法は、
    a)前記1のピアに対するNATプロファイル情報を集めるステップと、
    b)前記1のピアに対するNATプロファイル情報を前記2以上のピアの内、1以上の他のピアと共有するステップと、
    c)前記1以上の他のピアに対するNATプロファイル情報を受信するステップと、
    d)前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とから、前記2以上のピアのいずれをホストとして指定するかを決定するステップとを含み、
    ステップd)は、前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とにもとづいて前記2以上のピアの各々に優先度の値を割り当てるステップと、前記優先度の値にもとづいてホストを選択するステップとを含み、
    前記1のピアに対するNATプロファイル情報には、ピアの前段にあるNATのNATタイプ、そのNATがUPnP(universal plug and play)をサポートするかどうかに関する情報、そのNATに対するポート予測可能性情報、そのNATに対するポート保護情報が含まれ、
    前記1以上の他のピアに対するNATプロファイル情報には、ピアの前段にあるNATのNATタイプ、そのNATがUPnPをサポートするかどうかに関する情報、そのNATに対するポート予測可能性情報、そのNATに対するポート保護情報が含まれ、
    前記優先度の値を割り当てるステップは、前記NATタイプ、前記UPnPをサポートするかどうかに関する情報、前記ポート予測可能性情報、および前記ポート保護情報の4つの基準にもとづいて優先度の値を割り当てることを特徴とするピアデバイス。
  2. 前記2以上のピアの内、2以上のピアが等しい優先度の値をもつ場合、ステップd)は、等しい優先度の値をもつ前記2以上の潜在的なホストのいずれをホストとして指定するべきかを決定するステップを含むことを特徴とする請求項に記載のデバイス。
  3. 等しい優先度の値をもつ前記2以上の潜在的なホストのいずれをホストとして指定するべきかを決定するステップは、前記2以上の潜在的なホストの各々に異なる序数が割り当てられている場合、等しい優先度の値をもつ前記2以上の潜在的なホストの内、より高い序数をもつものをホストとして指定するステップを含むことを特徴とする請求項に記載のデバイス。
  4. 前記1のピアがホストとして指定された場合、前記1のピアがホストとして指定された旨を前記1以上の他のピアに通知するステップと、前記1以上の他のピアが接続することを待つステップとをさらに含むことを特徴とする請求項1に記載のデバイス。
  5. ホストに接続されたピアの数を期待されるカウントと比較するステップと、もしホストに接続されたピアの数が期待されるカウントに等しくないなら、ホストに接続されたピアの数を前記1以上の他のピアと共有するステップとをさらに含む請求項に記載のデバイス。
  6. もし前記1のピアがホストとして指定されないならば、前記1のピアをホストに接続させることを試みるステップをさらに含む請求項1に記載のデバイス。
  7. もし前記1のピアがホストへの接続に失敗したならば、前記1のピアがホストへの接続に失敗したことを前記2以上のピアに通知するステップをさらに含むことを特徴とする請求項に記載のデバイス。
  8. 2以上のピアの中から、ピアツーピアグリッド内のサービスに対するホストとして指定するべきものを決定するための、1のピアにおける方法であって、
    a)前記1のピアに対するNATプロファイル情報を集めるステップと、
    b)前記1のピアに対するNATプロファイル情報を前記2以上のピアの内、1以上の他のピアと共有するステップと、
    c)前記1以上の他のピアに対するNATプロファイル情報を受信するステップと、
    d)前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とから、前記2以上のピアのいずれをホストとして指定するかを決定するステップとを含み、
    ステップd)は、前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とにもとづいて前記2以上のピアの各々に優先度の値を割り当てるステップと、前記優先度の値にもとづいてホストを選択するステップとを含み、
    前記1のピアに対するNATプロファイル情報には、ピアの前段にあるNATのNATタイプ、そのNATがUPnP(universal plug and play)をサポートするかどうかに関する情報、そのNATに対するポート予測可能性情報、そのNATに対するポート保護情報が含まれ、
    前記1以上の他のピアに対するNATプロファイル情報には、ピアの前段にあるNATのNATタイプ、そのNATがUPnPをサポートするかどうかに関する情報、そのNATに対するポート予測可能性情報、そのNATに対するポート保護情報が含まれ、
    前記優先度の値を割り当てるステップは、前記NATタイプ、前記UPnPをサポートするかどうかに関する情報、前記ポート予測可能性情報、および前記ポート保護情報の4つの基準にもとづいて優先度の値を割り当てることを特徴とする方法。
  9. コンピュータ読み取り可能なインストラクションが具体化されたコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータ読み取り可能なインストラクションは、ピアツーピアグリッドの2以上のピアの中からいずれのピアデバイスを、ピアツーピアグリッド内のサービスに対するホストとして指定するかを決める1のピアにおける方法を実装するように構成されており、
    前記方法は、
    a)前記1のピアに対するNATプロファイル情報を集めるステップと、
    b)前記1のピアに対するNATプロファイル情報を前記2以上のピアの内、1以上の他のピアと共有するステップと、
    c)前記1以上の他のピアに対するNATプロファイル情報を受信するステップと、
    d)前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とから、前記2以上のピアのいずれをホストとして指定するかを決定するステップとを含み、
    ステップd)は、前記1のピアに対するNATプロファイル情報と、前記1以上の他のピアに対するNATプロファイル情報とにもとづいて前記2以上のピアの各々に優先度の値を割り当てるステップと、前記優先度の値にもとづいてホストを選択するステップとを含み、
    前記1のピアに対するNATプロファイル情報には、ピアの前段にあるNATのNATタイプ、そのNATがUPnP(universal plug and play)をサポートするかどうかに関する情報、そのNATに対するポート予測可能性情報、そのNATに対するポート保護情報が含まれ、
    前記1以上の他のピアに対するNATプロファイル情報には、ピアの前段にあるNATのNATタイプ、そのNATがUPnPをサポートするかどうかに関する情報、そのNATに対するポート予測可能性情報、そのNATに対するポート保護情報が含まれ、
    前記優先度の値を割り当てるステップは、前記NATタイプ、前記UPnPをサポートするかどうかに関する情報、前記ポート予測可能性情報、および前記ポート保護情報の4つの基準にもとづいて優先度の値を割り当てることを特徴とする記録媒体。
JP2009217541A 2008-09-22 2009-09-18 発見されたnatタイプにもとづくホスト選択方法 Active JP4886829B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/235,409 US8060626B2 (en) 2008-09-22 2008-09-22 Method for host selection based on discovered NAT type
US12/235,409 2008-09-22

Publications (2)

Publication Number Publication Date
JP2010244509A JP2010244509A (ja) 2010-10-28
JP4886829B2 true JP4886829B2 (ja) 2012-02-29

Family

ID=41510592

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009217541A Active JP4886829B2 (ja) 2008-09-22 2009-09-18 発見されたnatタイプにもとづくホスト選択方法

Country Status (5)

Country Link
US (1) US8060626B2 (ja)
EP (3) EP2458818B1 (ja)
JP (1) JP4886829B2 (ja)
CN (3) CN101715008A (ja)
WO (1) WO2010033620A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7933273B2 (en) * 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US7962627B2 (en) * 2008-12-04 2011-06-14 Microsoft Corporation Peer-to-peer network address translator (NAT) traversal techniques
US9160794B2 (en) * 2008-12-04 2015-10-13 Microsoft Technology Licensing, Llc Network address translators (NAT) type detection techniques
WO2010094047A1 (en) * 2009-02-14 2010-08-19 Bvisual S.A. Method and system for videoconferencing or data transfer between clients behind different network address translators
US20110082941A1 (en) * 2009-10-06 2011-04-07 Electronics And Telecommunications Research Institute Method of providing direct communication in internet protocol network
US20110223953A1 (en) * 2010-03-15 2011-09-15 Lg Electronics Inc. Apparatus for direct communication in a wireless system and method thereof
US8341207B2 (en) * 2010-04-07 2012-12-25 Apple Inc. Apparatus and method for matching users for online sessions
US8438294B2 (en) * 2010-04-07 2013-05-07 Apple Inc. Application programming interface, system, and method for collaborative online applications
EP2423782A1 (en) * 2010-08-23 2012-02-29 Dialog Semiconductor GmbH Script engine for control of power management controllers
US8606884B2 (en) * 2010-09-21 2013-12-10 Taesung Kim System and method for web hosting behind NATs
CN102546105A (zh) * 2011-12-28 2012-07-04 深圳市新为软件有限公司 一种网络资源传输的方法和装置
CN102546108A (zh) * 2011-12-28 2012-07-04 深圳市新为软件有限公司 一种通过树形结构对网络资源进行传输的方法和装置
US8949445B2 (en) 2012-01-23 2015-02-03 International Business Machines Corporation Optimizing electronic communication channels
CN102595317B (zh) * 2012-02-27 2015-11-18 歌尔声学股份有限公司 一种通讯信号自适配传输方法和系统
KR101758681B1 (ko) * 2012-03-27 2017-07-14 한화테크윈 주식회사 통신 시스템 및 통신 시스템에서의 데이터 송수신 방법
US9088629B2 (en) 2012-10-01 2015-07-21 International Business Machines Corporation Managing an electronic conference session
US9826044B2 (en) * 2013-10-23 2017-11-21 Qualcomm Incorporated Peer-to-peer communication for symmetric NAT
US9398058B2 (en) 2013-10-28 2016-07-19 Instamedica Inc. Systems and methods for video-conference network system suitable for scalable, private tele-consultation
WO2015130426A1 (en) * 2014-02-27 2015-09-03 Interdigital Technology Corporation Method and apparatus for retention of consumers of network games and services
KR102285158B1 (ko) * 2014-09-01 2021-08-03 삼성전자주식회사 데이터 제공 방법 및 전자 장치
US9596272B2 (en) 2014-09-25 2017-03-14 Microsoft Technology Licensing, Llc Media session between network endpoints
US10171511B2 (en) 2014-09-25 2019-01-01 Microsoft Technology Licensing, Llc Media session between network endpoints
US10244003B2 (en) 2014-09-25 2019-03-26 Microsoft Technology Licensing, Llc Media session between network endpoints
US10237236B2 (en) 2015-06-25 2019-03-19 Microsoft Technology Licensing, Llc Media Session
US10079863B2 (en) 2015-11-18 2018-09-18 Microsoft Technology Licensing, Llc Media session between network endpoints
US10158679B2 (en) 2015-11-18 2018-12-18 Microsoft Technology Licensing, Llc Media session between network endpoints
US10412122B1 (en) * 2016-01-22 2019-09-10 Cisco Technology, Inc. Dynamic per-session NAT-behavior selection
CN105743739A (zh) * 2016-03-28 2016-07-06 Tcl集团股份有限公司 对称式nat的端口预测方法、探测服务器及受测端设备
CN106210092B (zh) * 2016-07-19 2019-08-06 天彩电子(深圳)有限公司 一种融合upnp及stun的p2p穿越方法及其系统
JP6760394B2 (ja) 2016-12-02 2020-09-23 ヤマハ株式会社 コンテンツ再生機器、収音機器、及びコンテンツ再生システム
EP3590175B1 (en) 2017-03-03 2020-08-05 Innogy Innovation GmbH Electric grid control system based on peer-to-peer network
US10771547B2 (en) 2017-06-14 2020-09-08 Sony Interactive Entertainment LLC Online matchmaking for P2P topologies
US10805384B1 (en) * 2018-09-13 2020-10-13 Parallels International Gmbh Systems and methods for load balancing server infrastructure
CN109995890B (zh) * 2019-03-08 2022-04-22 平安科技(深圳)有限公司 一种管理网络地址转换nat网关的方法及服务器

Family Cites Families (241)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE445786B (sv) 1984-11-26 1986-07-14 Ericsson Telefon Ab L M Forfarande for att vid radiomottagning undvika att lagra ett meddelande mer en en gang samt mottagare for endamalet
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
US4995408A (en) 1989-05-15 1991-02-26 Lip-Prints, Inc. Cosmetic sample applicator and method of construction
US5701427A (en) 1989-09-19 1997-12-23 Digital Equipment Corp. Information transfer arrangement for distributed computer system
WO1991014230A1 (en) * 1990-03-05 1991-09-19 Fujitsu Limited Message communication processing system
US5128671A (en) * 1990-04-12 1992-07-07 Ltv Aerospace And Defense Company Control device having multiple degrees of freedom
GB2272310A (en) * 1992-11-07 1994-05-11 Ibm Method of operating a computer in a network.
US5835726A (en) 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5544325A (en) 1994-03-21 1996-08-06 International Business Machines Corporation System and method for generating messages for use in transaction networks
US5636216A (en) 1994-04-08 1997-06-03 Metricom, Inc. Method for translating internet protocol addresses to other distributed network addressing schemes
EP0774186A4 (en) 1994-05-05 2005-07-20 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
CA2129199C (en) 1994-07-29 1999-07-20 Roger Y.M. Cheung Method and apparatus for bridging wireless lan to a wired lan
CA2129197C (en) * 1994-07-29 1999-11-09 Roger Y.M. Cheung Method and apparatus for connecting a wireless lan to a wired lan
EP0777948B1 (en) * 1994-09-01 2009-03-04 Echelon Corporation Duplicate message detection method and apparatus
SE504846C2 (sv) 1994-09-28 1997-05-12 Jan G Faeger Styrutrustning med ett rörligt styrorgan
US5768531A (en) * 1995-03-27 1998-06-16 Toshiba America Information Systems Apparatus and method for using multiple communication paths in a wireless LAN
US5768382A (en) * 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
US5793763A (en) 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US6327630B1 (en) 1996-07-24 2001-12-04 Hewlett-Packard Company Ordered message reception in a distributed data processing system
US6069896A (en) * 1996-10-15 2000-05-30 Motorola, Inc. Capability addressable network and method therefor
US5898679A (en) * 1996-12-30 1999-04-27 Lucent Technologies Inc. Wireless relay with selective message repeat and method of operation thereof
US6152824A (en) 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US5809016A (en) 1997-03-31 1998-09-15 Motorola, Inc. Selective call receiver and method of processing diversity messages
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
JPH11122301A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
EP0913965A1 (en) 1997-11-03 1999-05-06 Canon Kabushiki Kaisha Reduction of the message traffic in a distributed network
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
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
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)
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
US6128623A (en) 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6289358B1 (en) 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from 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
US6012096A (en) * 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
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
US6371852B1 (en) * 1998-04-28 2002-04-16 Acres Gaming Incorporated Method for crediting a player of an electronic gaming device
US6212633B1 (en) * 1998-06-26 2001-04-03 Vlsi Technology, Inc. Secure data communication over a memory-mapped serial communications interface utilizing a distributed firewall
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
JP3145083B2 (ja) * 1998-08-04 2001-03-12 松下電器産業株式会社 伝送システム,帯域管理装置,および帯域管理方法
US6616531B1 (en) 1998-08-25 2003-09-09 Wayne L. Mullins Method and apparatus for playing one game and using elements from the one game to play at least another game
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
US6487600B1 (en) 1998-09-12 2002-11-26 Thomas W. Lynch System and method for supporting multimedia communications upon a dynamically configured member network
US6487583B1 (en) 1998-09-15 2002-11-26 Ikimbo, Inc. System and method for information and application distribution
JP3859369B2 (ja) 1998-09-18 2006-12-20 株式会社東芝 メッセージ中継装置及び方法
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
US6667972B1 (en) 1999-01-08 2003-12-23 Cisco Technology, Inc. Method and apparatus providing multi-service connections within a data communications device
EP1867371A3 (en) * 1999-01-28 2008-10-29 Kabushiki Kaisha Sega doing business as Sega Corporation Network game system, and game terminal device and storage medium used therefor
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
US6405104B1 (en) * 1999-03-24 2002-06-11 General Electric Corporation Fault data synchronization via peer-to-peer communications network
US6393292B1 (en) * 1999-04-13 2002-05-21 Ching-Fang Lin Method of transmitting positions data via cellular communication system
EP1049307A1 (en) 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
DE19921589C2 (de) * 1999-05-05 2002-10-24 Siemens Ag Verfahren zum Betrieb eines Datenübertragungssystems
JP2000315198A (ja) 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
US6668283B1 (en) 1999-05-21 2003-12-23 Cisco Technology, Inc. ISDN B-channel count limitation
US6393488B1 (en) 1999-05-27 2002-05-21 3Com Corporation System and method for supporting internet protocol subnets with network address translators
US6978294B1 (en) 2000-03-20 2005-12-20 Invensys Systems, Inc. Peer-to-peer hosting of intelligent field devices
US6640241B1 (en) 1999-07-19 2003-10-28 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager
ES2255923T3 (es) * 1999-08-06 2006-07-16 International Business Machines Corporation Gestion de direcciones en redes pnni jerarquicas.
US7123608B1 (en) 1999-09-10 2006-10-17 Array Telecom Corporation Method, system, and computer program product for managing database servers and service
US6553515B1 (en) * 1999-09-10 2003-04-22 Comdial Corporation System, method and computer program product for diagnostic supervision of internet connections
US7457279B1 (en) 1999-09-10 2008-11-25 Vertical Communications Acquisition Corp. Method, system, and computer program product for managing routing servers and services
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
US6349210B1 (en) * 1999-11-12 2002-02-19 Itt Manufacturing Enterprises, Inc. Method and apparatus for broadcasting messages in channel reservation communication systems
US6816703B1 (en) 1999-11-30 2004-11-09 Leapfrog Enterprises, Inc. Interactive communications appliance
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
EP1107508A1 (en) * 1999-12-06 2001-06-13 Telefonaktiebolaget Lm Ericsson System, method and computer program product for sending broadcast messages
JP3587113B2 (ja) 2000-01-17 2004-11-10 ヤマハ株式会社 接続設定装置及び媒体
FI109950B (fi) 2000-01-20 2002-10-31 Nokia Corp Osoitteen saanti
JP2001312484A (ja) * 2000-05-02 2001-11-09 Internatl Business Mach Corp <Ibm> 高速ウェブサーバ選択方法およびシステム
AU2001241605A1 (en) 2000-02-17 2001-09-12 Acclaim Entertainment, Inc. Multi-player computer game, system and method
US7240093B1 (en) * 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
JP4385489B2 (ja) 2000-03-03 2009-12-16 ソニー株式会社 通信システム、通信方法及び通信装置
US6779035B1 (en) 2000-03-06 2004-08-17 Microsoft Corporation Application programming interface and generalized network address translator for translation of transport-layer sessions
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
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
US20020119821A1 (en) 2000-05-12 2002-08-29 Sanjoy Sen System and method for joining a broadband multi-user communication session
US6618757B1 (en) 2000-05-17 2003-09-09 Nortel Networks Limited System and method for dynamic IP address management
US20020002074A1 (en) * 2000-06-30 2002-01-03 Cyop Systems Method for an online player game payment system
GB2364466B (en) * 2000-07-04 2002-09-18 Marconi Comm Ltd Communications System
US7103002B2 (en) * 2000-07-12 2006-09-05 Telefonktiebolaget Lm Ericsson (Publ) Communication management in networks having split control planes and user planes
US6701344B1 (en) 2000-07-31 2004-03-02 The Boeing Company Distributed game environment
US6829634B1 (en) 2000-07-31 2004-12-07 The Boeing Company Broadcasting network
US7403980B2 (en) * 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US6641481B1 (en) 2000-11-17 2003-11-04 Microsoft Corporation Simplified matchmaking
GB0028474D0 (en) * 2000-11-22 2001-01-10 Raekanet Ltd Improved computer network architecture and associated method and system
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US20020107786A1 (en) 2000-11-28 2002-08-08 Truexchange, Inc. Peer-to-peer application for online goods trading
US7168089B2 (en) * 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US20020075844A1 (en) * 2000-12-15 2002-06-20 Hagen W. Alexander Integrating public and private network resources for optimized broadband wireless access and method
US20020085097A1 (en) * 2000-12-22 2002-07-04 Colmenarez Antonio J. Computer vision-based wireless pointing system
FI110560B (fi) * 2000-12-27 2003-02-14 Nokia Corp Ryhmän muodostaminen langattomille kommunikaatiopäätelaitteille
US7155518B2 (en) 2001-01-08 2006-12-26 Interactive People Unplugged Ab Extranet workgroup formation across multiple mobile virtual private networks
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US20020097732A1 (en) * 2001-01-19 2002-07-25 Tom Worster Virtual private network protocol
US7197565B2 (en) * 2001-01-22 2007-03-27 Sun Microsystems, Inc. System and method of using a pipe advertisement for a peer-to-peer network entity in peer-to-peer presence detection
AU2002234258A1 (en) 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7668958B2 (en) * 2001-10-18 2010-02-23 Intel Corporation Method for discovery and routing using a priori knowledge in the form of application programme within mobile AD-HOC networks
US7155515B1 (en) 2001-02-06 2006-12-26 Microsoft Corporation Distributed load balancing for single entry-point systems
WO2002064589A1 (en) 2001-02-09 2002-08-22 Kosan Biosciences, Inc. Laulimalide derivatives
US7203841B2 (en) * 2001-03-08 2007-04-10 Igt Encryption in a secure computerized gaming system
WO2002076113A2 (en) 2001-03-20 2002-09-26 Koninklijke Philips Electronics N.V. Beacon infrastructure
JP3963690B2 (ja) 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
US7272636B2 (en) 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
US7177950B2 (en) * 2001-04-26 2007-02-13 Microsoft Corporation Synchronization and recovery of peers in a peer to peer environment
WO2003003670A1 (en) * 2001-06-29 2003-01-09 British Telecommunications Public Limited Company Method and apparatus for routing data with support for changing mobility requirements
WO2003007254A2 (en) * 2001-07-13 2003-01-23 Gameaccount Limited System and method for providing enhanced services to a user of a gaming application
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US20030027634A1 (en) * 2001-08-03 2003-02-06 Matthews William F. Portable wireless game device and method for influencing an application executable from a fixed-location platform
US7120429B2 (en) 2001-08-13 2006-10-10 Qualcomm Inc. System and method for licensing applications on wireless devices over a wireless network
US6915305B2 (en) * 2001-08-15 2005-07-05 International Business Machines Corporation Restructuring view maintenance system and method
US7017138B2 (en) * 2001-08-15 2006-03-21 National Instruments Corporation Dynamically determining a route through one or more switch devices at program execution time
GB2378782B (en) * 2001-08-16 2005-04-13 Sun Microsystems Inc Message brokering
US8065394B2 (en) 2001-08-20 2011-11-22 Bally Gaming, Inc. Local game-area network method
JP3497489B2 (ja) 2001-08-28 2004-02-16 株式会社スクウェア・エニックス オンラインシステム、オンラインシステムのサーバ装置、プレイヤ情報提供方法、プレイヤ情報提供プログラム、及び記録媒体
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
US7493363B2 (en) * 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
BR0212897A (pt) * 2001-09-21 2004-08-24 Univ Tulane Conjugados de análogos de somatostatina ou bombesina diagnóstica ou terapêutica e usos dos mesmos
US7254709B1 (en) 2001-10-23 2007-08-07 Avanza Technologies, Inc. Managed information transmission of electronic items in a network environment
JP4449288B2 (ja) * 2001-10-31 2010-04-14 ヤマハ株式会社 認証方法およびその装置
JP2003150529A (ja) * 2001-11-19 2003-05-23 Hitachi Ltd 情報交換方法、情報交換端末装置、情報交換サーバ装置、プログラム
US6839541B2 (en) * 2001-12-04 2005-01-04 Illinois Institute Of Technology Technique for establishing a virtual backbone in an ad hoc wireless network
US20030115258A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Time zone difference based locality estimation between web clients and E-business servers
US20030217096A1 (en) 2001-12-14 2003-11-20 Mckelvie Samuel J. Agent based application using data synchronization
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
JP2003249919A (ja) 2001-12-17 2003-09-05 Fujitsu Ltd 双方向通信方法
US6920501B2 (en) * 2001-12-17 2005-07-19 Ntt Docomo, Inc. Communication socket migration among different devices
US7058718B2 (en) 2002-01-15 2006-06-06 International Business Machines Corporation Blended SYN cookies
US7407434B2 (en) 2002-01-18 2008-08-05 Case Venture Management, Llc Method and apparatus for a secondary game played in conjunction with a primary game
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
US7127613B2 (en) 2002-02-25 2006-10-24 Sun Microsystems, Inc. Secured peer-to-peer network data exchange
US7950996B2 (en) * 2002-02-27 2011-05-31 Igt Methods and devices for gaming account management
US7398388B2 (en) * 2002-02-28 2008-07-08 Hewlett-Packard Development Company, L.P. Increasing peer privacy
US20030162556A1 (en) 2002-02-28 2003-08-28 Libes Michael A. Method and system for communication between two wireless-enabled devices
US7130921B2 (en) 2002-03-15 2006-10-31 International Business Machines Corporation Centrally enhanced peer-to-peer resource sharing method and apparatus
US20030182428A1 (en) 2002-03-19 2003-09-25 Jiang Li Peer-to-peer (P2P) communication system
JP2003281140A (ja) 2002-03-20 2003-10-03 Hitachi Ltd コンテンツ配信方法および配信システム
US7512649B2 (en) 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
US7174382B2 (en) * 2002-04-09 2007-02-06 Hewlett-Packard Development Company, L.P. Interest-based connections in peer-to-peer networks
US7676579B2 (en) 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7243141B2 (en) 2002-05-13 2007-07-10 Sony Computer Entertainment America, Inc. Network configuration evaluation
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US20030227939A1 (en) 2002-06-05 2003-12-11 Satoru Yukie Establishing a connection using a hybrid receiver
AU2003237454A1 (en) * 2002-06-06 2003-12-22 Motorola, Inc., A Corporation Of The State Of Delaware Protocol and structure for mobile nodes in a self-organizing communication network
US7565537B2 (en) 2002-06-10 2009-07-21 Microsoft Corporation Secure key exchange with mutual authentication
US7370194B2 (en) 2002-06-10 2008-05-06 Microsoft Corporation Security gateway for online console-based gaming
US7803052B2 (en) 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
US20040007618A1 (en) * 2002-07-10 2004-01-15 Scott Oram Prepaid credit card method
US7111044B2 (en) * 2002-07-17 2006-09-19 Fastmobile, Inc. Method and system for displaying group chat sessions on wireless mobile terminals
US7188089B2 (en) 2002-07-26 2007-03-06 Way Systems, Inc. System and method for securely storing, generating, transferring and printing electronic prepaid vouchers
US9497168B2 (en) 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
FR2843210B1 (fr) 2002-08-02 2005-10-14 Meiosys Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe.
US7016942B1 (en) 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US7392375B2 (en) * 2002-09-18 2008-06-24 Colligo Networks, Inc. Peer-to-peer authentication for real-time collaboration
US7918734B2 (en) * 2002-09-30 2011-04-05 Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. Gaming server providing on demand quality of service
JP3824568B2 (ja) 2002-10-16 2006-09-20 任天堂株式会社 無線通信ゲームシステム
JP2004136009A (ja) * 2002-10-21 2004-05-13 Nintendo Co Ltd 無線通信ゲームシステム
JP3830442B2 (ja) * 2002-10-22 2006-10-04 任天堂株式会社 無線通信ゲームシステム、ゲーム装置、情報記憶媒体、および、プログラム
US20040082383A1 (en) 2002-10-24 2004-04-29 Motorola, Inc Methodology and wireless device for interactive gaming
US6909721B2 (en) * 2002-10-31 2005-06-21 Nokia Corporation Device detection and service discovery system and method for a mobile ad hoc communications network
US7213047B2 (en) * 2002-10-31 2007-05-01 Sun Microsystems, Inc. Peer trust evaluation using mobile agents in peer-to-peer networks
US7263070B1 (en) 2002-11-05 2007-08-28 Sprint Spectrum L.P. Method and system for automating node configuration to facilitate peer-to-peer communication
US20040103179A1 (en) * 2002-11-26 2004-05-27 Alcatel Canada Inc. Topology management of dual ring network
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
US7216359B2 (en) 2002-12-19 2007-05-08 International Business Machines Corporation Secure communication overlay using IP address hopping
US7292585B1 (en) 2002-12-20 2007-11-06 Symantec Operating Corporation System and method for storing and utilizing routing information in a computer network
US20040133631A1 (en) * 2003-01-06 2004-07-08 Hagen David A. Communication system
US7899932B2 (en) 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US7729946B2 (en) * 2003-01-24 2010-06-01 Massive Incorporated Online game advertising system
US7774495B2 (en) 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
US7096006B2 (en) 2003-03-24 2006-08-22 Inventec Appliances Corp. Method of playing instant game on wireless network terminal device
US6914700B2 (en) 2003-04-17 2005-07-05 Lexmark International, Inc. Method for reducing migrating residual error in error diffusion halftoning
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
US7426637B2 (en) 2003-05-21 2008-09-16 Music Public Broadcasting, Inc. Method and system for controlled media sharing in a network
US7577750B2 (en) 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US20040243665A1 (en) 2003-05-27 2004-12-02 Outi Markki System and method for services provision in a peer-to-peer environment
US20040254977A1 (en) 2003-06-13 2004-12-16 Microsoft Corporation Extensible peer-to-peer graphing messages
US7685288B2 (en) 2003-06-30 2010-03-23 Microsoft Corporation Ad-hoc service discovery protocol
US20050007964A1 (en) * 2003-07-01 2005-01-13 Vincent Falco Peer-to-peer network heartbeat server and associated methods
US20050015626A1 (en) * 2003-07-15 2005-01-20 Chasin C. Scott System and method for identifying and filtering junk e-mail messages or spam based on URL content
US7451490B2 (en) * 2003-08-01 2008-11-11 Microsoft Corporation Media data protection with secure installer
US7463886B2 (en) * 2003-09-16 2008-12-09 Spyder Navigations L.L.C. Method and system for supporting residual energy awareness in an ad hoc wireless communications network
US20050063409A1 (en) * 2003-09-18 2005-03-24 Nokia Corporation Method and apparatus for managing multicast delivery to mobile devices involving a plurality of different networks
US20050064939A1 (en) * 2003-09-19 2005-03-24 Mcsheffrey Brendan T. Electronic mail gaming system
US7325034B2 (en) * 2003-09-24 2008-01-29 International Business Machines Corporation Method and apparatus for scalable peer-to-peer inquiries in a network of untrusted parties
US20050080858A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation System and method for searching a peer-to-peer network
US8010633B2 (en) * 2003-10-20 2011-08-30 Sony Computer Entertainment America Llc Multiple peer-to-peer relay networks
US7627678B2 (en) * 2003-10-20 2009-12-01 Sony Computer Entertainment America Inc. Connecting a peer in a peer-to-peer relay network
US7610402B2 (en) * 2003-10-20 2009-10-27 Sony Computer Entertainment America Inc. Spectators in a peer-to-peer relay network
US7596633B2 (en) * 2003-10-20 2009-09-29 Sony Computer Entertainment America Inc. Island recovery in a peer-to-peer relay network
US7685301B2 (en) * 2003-10-20 2010-03-23 Sony Computer Entertainment America Inc. Redundancy lists in a peer-to-peer relay network
JP4389886B2 (ja) 2003-10-27 2009-12-24 パナソニック株式会社 通信システム、情報処理装置、サーバ、および通信方法
US8234383B2 (en) * 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
DE10353925B4 (de) 2003-11-18 2009-12-24 Nec Europe Ltd. Verfahren zum Austausch von Daten zwischen zwei Hosts
US7649895B2 (en) * 2003-12-30 2010-01-19 Airwide Solutions Inc. Apparatus and method for routing multimedia messages between a user agent and multiple multimedia message service centers
US20070198418A1 (en) 2004-03-01 2007-08-23 Modstream, Llc System and method for facilitating fund-raising through online digital media content sales
EP1723533A1 (en) 2004-03-09 2006-11-22 Clique Communications Llc System and method for peer-to-peer connection of clients behind symmetric firewalls
US7747279B2 (en) 2004-03-30 2010-06-29 Sony Corporation Interface negotiation
US20070213124A1 (en) 2004-04-07 2007-09-13 Walker Digital, Llc Methods, systems and apparatus for facilitating cashout options at a gaming device
US7536467B2 (en) * 2004-04-20 2009-05-19 Microsoft Corporation Peer-to-peer (P2P) mobility system, and method
US20060084504A1 (en) * 2004-04-30 2006-04-20 Chan Andy K Wireless communication systems
JP4033302B2 (ja) 2004-05-07 2008-01-16 株式会社ソニー・コンピュータエンタテインメント 無線通信端末装置、無線インタフェース装置および無線ネットワーク参加方法
JP3698711B1 (ja) 2004-05-07 2005-09-21 株式会社ソニー・コンピュータエンタテインメント ネットワーク識別子設定方法、通信方法および無線通信端末装置
JP3761091B2 (ja) 2004-05-07 2006-03-29 株式会社ソニー・コンピュータエンタテインメント アプリケーション実行方法、ファイルデータダウンロード方法、ファイルデータアップロード方法、通信方法および無線通信端末装置
US7620033B2 (en) * 2004-05-21 2009-11-17 Alcatel-Lucent Usa Inc. Method for optimal path selection in traversal of packets through network address translators
JP4274050B2 (ja) 2004-06-03 2009-06-03 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
JP4339184B2 (ja) * 2004-06-07 2009-10-07 パナソニック株式会社 サーバ装置、通信機器、通信システム、通信方法、プログラム及び記録媒体
US7778187B2 (en) 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US20060063587A1 (en) * 2004-09-13 2006-03-23 Manzo Anthony V Gaming advertisement systems and methods
US7455586B2 (en) * 2004-09-21 2008-11-25 Igt Method and system for gaming and brand association
US7429215B2 (en) 2004-09-24 2008-09-30 Cryptologic Inc. System and method for providing side wagering in multi-player wager-based games
CN100415034C (zh) * 2004-09-30 2008-08-27 西安西电捷通无线网络通信有限公司 一种使移动节点实现自代理功能的方法
US7543064B2 (en) 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
JP4084365B2 (ja) * 2005-03-08 2008-04-30 株式会社東芝 通信装置、通信方法および通信プログラム
US7522618B2 (en) 2005-03-18 2009-04-21 Panasonic Corporation Communication apparatus, communication system and communication method
US7738468B2 (en) * 2005-03-22 2010-06-15 Logitech Europe S.A. Method and apparatus for packet traversal of a network address translation device
US20070061460A1 (en) 2005-03-24 2007-03-15 Jumpnode Systems,Llc Remote access
US8019986B2 (en) * 2005-08-12 2011-09-13 Comcast Cable Holdings, Llc Method and system for booting, provisioning and activating hardware and software clients
CN1917512B (zh) * 2005-08-18 2010-09-29 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
JP4331154B2 (ja) * 2005-09-29 2009-09-16 パナソニック株式会社 情報処理システム、トンネル通信装置、及びトンネル通信方法
JP2007124486A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 通信制御方法
US9047310B2 (en) 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
US8347341B2 (en) 2006-03-16 2013-01-01 Time Warner Cable Inc. Methods and apparatus for centralized content and data delivery
GB2438017A (en) * 2006-05-02 2007-11-14 Skype Ltd Controlling communication quality by generating instructions providing a remedy to users to improve communication quality
JP2008205676A (ja) * 2007-02-19 2008-09-04 Nec Corp 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
CN101035031A (zh) * 2007-04-03 2007-09-12 华为技术有限公司 检测共享接入的主机数目的方法和装置
US7996543B2 (en) * 2007-08-16 2011-08-09 Xcastlabs Client-to-client direct RTP exchange in a managed client-server network
US7995475B2 (en) 2007-10-31 2011-08-09 Architecture Technology Corporation Reliable transport protocol providing receiver-based congestion control
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections

Also Published As

Publication number Publication date
EP2166729B1 (en) 2014-07-30
US8060626B2 (en) 2011-11-15
CN103023985A (zh) 2013-04-03
EP2458817B1 (en) 2020-04-29
WO2010033620A1 (en) 2010-03-25
EP2458817A1 (en) 2012-05-30
EP2458818B1 (en) 2020-05-06
US20100077087A1 (en) 2010-03-25
EP2166729A1 (en) 2010-03-24
EP2458818A1 (en) 2012-05-30
CN101715008A (zh) 2010-05-26
CN104852972A (zh) 2015-08-19
JP2010244509A (ja) 2010-10-28

Similar Documents

Publication Publication Date Title
JP4886829B2 (ja) 発見されたnatタイプにもとづくホスト選択方法
USRE47566E1 (en) NAT traversal for mobile network devices
US8041835B2 (en) Network address translation type for flexible neighbor selection in overlay networks
CN106716976B (zh) 网络端点之间的媒体会话
CN106716963B (zh) 用于网络端点之间的媒体会话的方法及装置
CN113014562B (zh) 用于建立媒体会话的方法和装置
US7729366B2 (en) Method, apparatus and system for network mobility of a mobile communication device
CN113364894B (zh) 用于网络端点间的媒体会话的方法和装置
JP2011525767A (ja) ルーティング経路決定方法
TW200952516A (en) Load distribution system, load distribution method and authentication server
US20110087789A1 (en) Subscription based network routing tables and enforcement for overlay networks
JP3872051B2 (ja) コンテンツの検索と配信を行うシステムと方法、及びプログラム
JP2007166634A (ja) マルチキャスト通信ネットワークシステム及びこれを用いたデータ送/受信方法
JP4432626B2 (ja) マルチキャストツリー構築システム及び方法、ネットワークノード装置並びにサーバ装置
JP5387596B2 (ja) 情報通信システム、情報通信方法、情報処理装置およびプログラム
JP4573135B2 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111109

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111209

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4886829

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

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