JP5301571B2 - インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム - Google Patents

インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム Download PDF

Info

Publication number
JP5301571B2
JP5301571B2 JP2010547045A JP2010547045A JP5301571B2 JP 5301571 B2 JP5301571 B2 JP 5301571B2 JP 2010547045 A JP2010547045 A JP 2010547045A JP 2010547045 A JP2010547045 A JP 2010547045A JP 5301571 B2 JP5301571 B2 JP 5301571B2
Authority
JP
Japan
Prior art keywords
client
control server
clients
connection
web browser
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
JP2010547045A
Other languages
English (en)
Other versions
JP2011517867A (ja
Inventor
グレガーセン、カーステン・ロード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nabto Aps
Original Assignee
Nabto Aps
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 Nabto Aps filed Critical Nabto Aps
Publication of JP2011517867A publication Critical patent/JP2011517867A/ja
Application granted granted Critical
Publication of JP5301571B2 publication Critical patent/JP5301571B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、制御サーバを使用することにより、インターネットのような同じネットワークに接続されているクライアントを識別して、クライアントを接続するための方法およびシステムに関する。
背景
インターネット上の通信の大部分は、パーソナルコンピュータのようなクライアント上で動作しているウェブブラウザに基づいている。ウェブブラウザは、ピクチャおよびJava(登録商標)アプレットを含むHTMLページのような、インターネット上のサーバから提供される情報を単に解釈して、コンピュータスクリーンのようなグラフィカルユーザインターフェース中にコンテンツを表示する。インターネットユーザは、ウェブブラウザを使用することに非常に慣れ親しんでおり、それゆえ、アプリケーションとしてのウェブブラウザは、インターネット上で利用可能にされているコンテンツへのアクセスを提供するために、非常に重要なツールである。ウェブブラウザが人気があることから、この一般に普及したアプリケーションを、インターネット上で利用可能にされているコンテンツおよび情報にアクセスするのにさらに適したものにするために、FTPファイル転送およびRSSフィードの読み込みのような特徴を含めるようにウェブブラウザの機能性が拡張されている。
しかしながら、ウェブブラウザでコンテンツおよび情報にアクセスするためには、所望のコンテンツまたは情報が、ウェブサービスを提供するように適合されている中央ウェブサーバ上で利用可能にされていなければならない。すべてのインターネットユーザにコンテンツを利用可能にさせるウェブサーバにコンテンツをアップロードするための複数のサービスが存在し、コンテンツおよび情報のプライベートな共有を提供するウェブベースのサービスさえも存在する。ウェブサーバにコンテンツをアップロードすることにより、デジタルピクチャおよびビデオクリップのようなコンテンツを他の信用されているインターネットユーザと共有することは、たいていのユーザにより単調で退屈であると考えられ、難しいタスクであるとさえ考えるユーザもいる。さらに難しい他の1つの解決策は、ウェブサーバまたはFTPサーバのような、コンテンツを共有するためのプライベートサーバをセットアップすることである。
代替的なアプローチとして考えることができる、インターネットに接続されているクライアントを直接的に接続することにおける難点は、インターネットに接続されているクライアントのうちのほんの少数のみが固定のIPアドレスを有しているという事実と、保護されていないシステムに対してインターネットの敵対的な性質があることから、たいていのユーザがファイアーウォールの後ろに存在していることである。したがって、インターネットに接続されているプライベートクライアントは、コンテンツおよび情報の共有に関して、実質的にインターネットの一部ではない。このようなクライアントは、単に、受動的なクライアントである。受動的なクライアントは、他のユーザと直接的にコンテンツを共有することができず、さらに、平均的な一般のユーザにとって簡単な方法では、インターネットの他のユーザにより、受動的なクライアントを見ることも、受動的なクライアントに到達することもできない。したがって、これらの通常不可視で受動的なクライアントを含むようにインターネットを拡張することについて、とてつもない可能性がある。
デジタル写真およびビデオのようなコンテンツを共有するために、インターネットのインフラストラクチャに接続されているクライアント間に、より良く、より透明性の高い接続性を提供するように、複数の試みがなされている。
US第2006/0224759号は、ウェブページプラグインを使用することにより、ピア・ツー・ピアストリーミングを提供するための方法およびシステムを開示している。ウェブページプラグインは、ピア・ツー・ピアネットワーク内でストリーミングされるコンテンツを表示するように、ウェブブラウザの機能性を拡張させる。しかしながら、ストリーミングされるコンテンツのソースは、個人のピアから発生しているのではなく、中央記憶装置ならびに/あるいはビデオおよびオーディオの取り込み手段を持つ、ストリーミングサーバ中に記憶されているか、または、そうしたストリーミングサーバから提供されている。制御サーバはピアリストを維持し、ピアリストは、ピアがネットワークに接続するたびに更新される。ピアが、ストリーミングサーバからのコンテンツをストリーミングしているとき、ストリーミングされたコンテンツをキャッシュまたは一時的に記憶するように、ピアを構成することができる。その後、このコンテンツは、ストリーミングサーバ上の負荷を減少させるために、他のピアに分散されてもよい。
US第2005/0229243号では、ファイアーウォールの後ろに位置するピアサーバへのhttpアクセスをするウェブブラウザが動作しているピアを提供するための方法およびシステムを開示している。開示は、ピア・ツー・ピアネットワーク中に中央プロキシサーバを提供することを含んでいる。サーバピアは、この中央プロキシサーバにアウトバウンドソケット接続を登録する。中央プロキシサーバは、ピアのウェブブラウザからの到来http要求を取り扱って、要求を要求パケットに翻訳する。要求パケットは、登録されているアウトバウンドソケット接続を使用して、ピアサーバに送られる。ピアサーバからの応答は、汎用ウェブトラフィックのフローを提供するために、HTTP要求に翻訳される。
概要
上記背景において概略を述べたように、同じネットワークに接続されているクライアントを識別して、クライアントを接続するための方法およびシステムを提供することが、本発明の一般的な目的である。
このことを達成するために、以下の説明から明らかであるように、次のステップを実行する、本発明の第1の側面にしたがった方法を提供する。
ウェブブラウザアプリケーションを動作させている第1のクライアントを制御サーバに接続して、第1のクライアントに関係するクライアント特有の接続情報を登録するステップと、
制御サーバにより規定され、第2のクライアントに関係する一意的なURIに対する要求を、ウェブブラウザアプリケーションから受信するステップと、
一意的なURIに関係する第2のクライアントへの接続を仲介するように、制御サーバに要求するステップと、
第2のクライアントに関係する接続情報を受信するステップと、
第2のクライアントに関係する接続情報を使用することにより、第2のクライアントへの直接的な接続を確立し、この接続の確立は制御サーバにより仲介されるステップと、
直接的な接続において、第2のクライアントからデータを受信して、受信したデータをグラフィカルユーザインターフェース中に表示するために、ウェブブラウザアプリケーションにデータを転送するステップである。
このことは、既存のインフラストラクチャを利用することにより、インターネットに接続されているクライアント間に、直接的な接続とその使用を提供する。したがって、既存のウェブブラウザを使用することにより、より多くのコンテンツに到達することができ、インターネットに接続されているコンピュータを有するユーザは、コンピュータ上にローカル的に記憶させているコンテンツへのアクセスを、他のコンピュータに容易に提供することができる。
さらに、本発明は、互いにコンテンツを共有するために、クライアントが、ユーザにより知られているIPアドレスを有する必要性をなくす。その理由は、クライアントが、互いを識別して接続するために、制御サーバにより割り当てられている一意的なURIを使用するからである。クライアントが1つのネットワークから別のネットワークに移動するかもしれないので、このことは、移動体環境において有益である。しかしながら、典型的なインターネットサービスプロバイダ(ISP)が、DHCPの使用によりユーザのIPアドレスを動的に変化させる、プライベートな消費者セットアップにおいても、このことは同様に有益である。
好ましい実用的な実施形態では、アプリケーションは、ウェブブラウザアプリケーションである。
好ましい実施形態では、本発明にしたがったステップは、ウェブブラウザアプリケーション中にインストールされているプラグインにより実行される。プラグインは、クライアント上に既にインストールされているウェブブラウザアプリケーションに、本発明により提供される新しい機能性を追加するための非常に簡単な方法である。このことにより、マイクロソフト(登録商標)のインターネットエクスプローラ(登録商標)用の非同期プラグ可能なプロトコルのような、既存の技術を利用することが可能になる。この非同期プラグ可能なプロトコルは、クライアント間に直接的な通信を確立するための新しいプロトコルの名前空間中にあるすべてのURIを取り扱うために、ブラウザ中に登録される。
本発明の別の好ましい実用的な実施形態では、方法は、アプリケーションと対話するように適合されているAPIを備えるオペレーティングシステム中またはライブラリ中に埋め込まれる。
使用において非常に実用的であるようにも示されている、本発明の別の好ましい実用的な実施形態では、ドメイン名システムのインフラストラクチャを使用して、URIを解明することができる。したがって、制御サーバの、ネットワーク上のロケーションを識別するために、URIを使用することができる。
特定の好ましい実施形態では、直接的な接続を確立するステップにおける第1および第2のクライアントは、制御サーバにより仲介されるTCPまたはUDPのホールパンチングを使用して、通信のための直接的な接続を確立する。
クライアント間に直接的な通信を確立するためには、このことが、非常に信頼性が高く、効率的な方法であるように示されている。このことは、さらに、システムのサーバ上の負荷を制限する。
実用的な実施形態では、制御サーバに登録されている、各クライアントに対する接続情報は、IPアドレスとポート番号とを含む。
実現するのが特に容易であるように示されている実施形態では、第2のクライアントが、第1のクライアントからの到来要求が向けられるウェブサーバを備えている。
本発明の別の実施形態では、クライアントサブ制御装置として指定されている、1つまたは複数のレベルのクライアントに、制御サーバの接続仲介が分散される。
別の実施形態では、ウェブブラウザアプリケーションが、埋め込まれているウェブページアプリケーションを備えるウェブページを最初に受信して、その後のステップは、埋め込まれているウェブページアプリケーションにより実行される。
この方法では、互いに接続しているクライアントを改良することなく、または、それらのクライアント上に付加的なソフトウェアをインストールすることなく、本発明にしたがった方法を実現することが可能である。単に、ウェブページのフレーム中で方法を実行し、クライアントにおいては、ローカル的に何も変化しない。このことは、限られた記憶容量および記憶装置を持つ、移動体電話機およびパーソナルデジタルアシスタントのような、ポータブルクライアントに対して、または、クライアントが別のクライアントに初めて接続するときに、特に有用である。
本発明の別の側面では、方法は、
制御サーバに接続されているクライアントに関係する一意的なURIを含む、アクセス可能なクライアントの情報を、制御サーバから受信するステップと、
グラフィカルユーザインターフェース中に情報を表示するために、第1のクライアント上で動作しているウェブブラウザアプリケーションに、情報を転送するステップとをさらに含む。
この方法では、知られているどのクライアントが利用可能であるかについての全体像を得ることが可能であり、ウェブブラウザアプリケーションを使用して、知られているクライアントに容易にアクセスすることができる。
この方法の実現のために、本発明のさらなる側面にしたがうと、
第1のクライアントが制御サーバに接続して、第1のクライアントに関係するクライアント特有の接続情報を登録し、
第2のクライアントが制御サーバに接続して、第2のクライアントに関係するクライアント特有の接続情報を登録し、
第2のクライアントには、一意的なURIが割り当てられ、
第1のクライアント上で動作しているウェブブラウザアプリケーションにより要求された、一意的なURIに関係する第2のクライアントへの接続を仲介するように、制御サーバが要求され、
制御サーバは、第2のクライアントに関係する接続情報を第1のクライアントに転送し、第1のクライアントに関係する接続情報を第2のクライアントに転送し、
制御サーバは、第1のクライアントと第2のクライアントとの間の直接的な接続の確立を仲介し、
第1のクライアントが第2のクライアントからデータを受信し、データは、ウェブブラウザアプリケーションに転送されて、グラフィカルユーザインターフェース中に表示されるシステムが提供される。
実用的な実施形態では、アプリケーションは、ウェブブラウザアプリケーションである。
好ましい実施形態では、少なくとも第1のクライアントのウェブブラウザアプリケーションは、プラグインを備え、プラグインは、制御サーバおよび第2のクライアントと通信する。
本発明にしたがった、システムの使用および方法の実現を容易にする、別の実用的な実施形態では、少なくとも1つのクライアントのオペレーティングシステムまたはライブラリが、アプリケーションと対話するように適合されているAPIを備える。
実用的なかつ非常に有用な別の実施形態では、ドメイン名システムのインフラストラクチャを使用して、URIを解明することができる。
本発明の実用的な実施形態では、制御サーバにより仲介されるTCPまたはUDPのホールパンチングを使用することにより、第1のクライアントと第2のクライアントとの間の直接的な接続が確立される。
本発明の別の実施形態では、制御サーバに登録されている接続情報は、IPアドレスとポート番号とを含む。
本発明の別の実用的な実施形態では、第2のクライアントが、第1のクライアントからの到来要求が向けられるウェブサーバを備える。
本発明の実用的な実施形態では、システムのメディエータウェブサービスにより第1のクライアントに提供されるウェブページ中に含まれる、埋め込まれているウェブアプリケーションを通して、第1のクライアントがシステムに接続する。
本発明の別の実施形態では、クライアントサブ制御装置として指定されている、1つまたは複数のレベルのクライアントに、制御サーバの接続仲介が分散される。
本発明の別の実施形態では、少なくとも第1のクライアントが、制御サーバに接続されているクライアントに関係する一意的なURIを含む、アクセス可能なクライアントの情報を、制御サーバから受信し、
グラフィカルユーザインターフェース中に情報を表示するために、第1のクライアント上で動作しているウェブブラウザアプリケーションに、情報を転送する。
概略的な図面により図示しているように、好ましい実施形態によって、以下において本発明をさらに説明する。
図1は、インターネットに接続されている2つのクライアントを図示している。 図2は、本発明にしたがったシステムを示している。 図3は、図2の詳細を示している。 図4は、本発明の特定の実施形態を示している。
詳細な説明
図1は、インターネットのようなネットワーク2に接続されている2つのクライアント1a、1bを示している。クライアント1a、1bは、典型的に、インターネットサービスプロバイダ(ISP)、あるいは、企業または研究機関のローカルエリアネットワーク(LAN)を通して、インターネットに接続されている。図2で図示しているように、たいていのケースでは、このようなクライアントは、ファイアーウォール3a、3dの後ろに位置している。ファイアーウォール3a、3dは、ファイアーウォール3a、3dを通過するネットワークトラフィックを調べることにより、クライアント1a、1dを保護し、1組のルールに基づいて、パッセージを拒否または許可する。ファイアーウォール3a、3dは、典型的に、(示していない)ルータの後ろにセットアップされている。ルータは、小規模のプライベートネットワークを、または、例えばLANを、インターネットに接続する。このセットアップは、一般のユーザが、インターネットに接続されている他のクライアント1a〜1dにアクセスすることを難しくさせ、そのため、インターネットは、ある意味で、ネットワーク2内部に位置するクライアントまたはサーバに限定される。ネットワーク2内部に位置する(示していない)サーバおよびクライアントは、例えばウェブサーバである。ウェブサーバは、HTMLページまたは他のデータ構造のようなウェブコンテンツをインターネットのユーザに提供する。ウェブサーバは、ピクチャおよびビデオといったリンク付けされたオブジェクトを有するHTML文書のようなウェブページによって、コンテンツまたはサービスがインターネットのユーザに利用可能にされるように、サーバまたはクライアント上で動作するアプリケーションとして理解することができる。
例えばウェブサーバによりインターネット上に提供されているコンテンツにアクセスして、閲覧するために、インターネットに接続されているたいていのクライアント1a〜1dには、ウェブブラウザアプリケーション4a〜4dが提供されている。このことは、パーソナルコンピュータのケースだけでなく、パーソナルデジタルアシスタントおよび移動体電話機のような、限られた処理能力を持つ移動体端末のケースでも同様である。
図2では、インターネットに接続されているクライアント1a〜1dに対して接続インフラストラクチャを提供する、本発明にしたがったシステム5を示している。クライアント1a〜1dは、インターネットに接続するために、異なるセットアップを使用している。クライアント1aは、ファイアーウォール3aの後ろに位置し、クライアント1aがインターネット2に接続するたびに、例えばISPにより、クライアント1aには異なるパブリックIPアドレスが提供される。したがって、クライアント1aに接続するのに必要な情報は頻繁に変化し、さらに、クライアント1aは、クライアント1aへのアクセスを制御するファイアーウォール3aの後ろに位置している。クライアント1bには静的なIPアドレスが提供され、クライアント1bは、ファイアーウォールの後ろに位置していない。このことは、他のクライアントのユーザがクライアント1bにアクセスすることを比較的容易にさせる。しかしながら、インターネットの平均的なユーザにとって、クライアントのIPアドレスを直接的に使用することにより別のクライアントにどのように接続するかは、明らかではない。クライアント1cも、ファイアーウォールにより保護されることなくインターネットに接続されているが、クライアント1bとは反対に、クライアント1cには動的なIPアドレスが提供されている。クライアント1aに関して上記で記述したように、動的なIPアドレスは頻繁に変化する。クライアント1dは、インターネットにクライアント1dを接続するために使用される、さらに別の可能性あるセットアップである。クライアント1dは、ファイアーウォールの後ろに位置しているが、クライアント1dには静的なアドレスが提供されている。
クライアント1a〜1dは、インターネットにクライアントを接続するために使用されるセットアップにおける多様性を示し、さらに、2つのクライアント間での直接的な接続を確立するためには、異なる方法で各クライアントにアクセスしなければならないという事実を示している。本発明は、図2のシステム5を提供することにより、この問題を扱っている。図2のシステム5は、クライアント1a〜1dが、インターネット2に接続するためにどのセットアップを使用していても、クライアント1aのようなクライアントのユーザが、別のクライアント1b〜1dにアクセスすることを容易にする。さらに、本発明は、クライアント1a〜1dの2つのクライアント間に直接的な接続をセットアップするために、IPアドレスおよびポート番号のような、異なるクライアント特有の接続情報を知っていることをユーザに要求することなく、クライアント間に接続を提供する。
図2で示しているように、本発明にしたがったシステムでは、他のクライアントと共有するためのコンテンツを有するクライアント1a〜1dのそれぞれに対して、システム5により一意的なURIが割り当てられる。好ましい実施形態では、共有するためのコンテンツを持つクライアントが、システム中に提供されている制御サーバ6に登録されるときに、このことが行われる。その後、共有するためのコンテンツを有するクライアント1a〜1dは、クライアント制御装置7a〜7cに関係付けられる。クライアント制御装置7a〜7cは、クライアントに割り当てられているURIを登録し、クライアント1a〜1dに関係するポート番号およびIPアドレスのような接続情報を取り扱う。さらに、下記でより詳細に記述するように、クライアント制御装置7a〜7cは、クライアント間の接続のセットアップも仲介する。制御サーバ6は、システム5への入口であり、各クライアント1a〜1dがどのクライアント制御装置7a〜7cに関係付けられているかを追跡している。原則では、制御サーバ6は、クライアント制御装置7a〜7cのタスクも取り扱うことができる。しかしながら、本発明の実用的な好ましい実施形態では、システム5には、複数のクライアント制御装置7a〜7cが提供されている。このことは、システム上の負荷を効率的にバランスさせるように示されている。図2のシステムは、メディエータウェブサービス8も備えている。その目的は、下記でより詳細に記述する。
例えば、クライアント1dが、クライアント1aにより提供されているコンテンツにアクセスすることを望む場合に、クライアント1d上で動作しているウェブブラウザアプリケーション4において、クライアント1aに割り当てられている一意的なURIに対する要求がなされる。典型的に、クライアント1aのユーザからのeメールによって、または、インターネット上に位置するウェブサーバにあるウェブページ上のリンクを起動することによって、クライアント1aに割り当てられている一意的なURIが、クライアント1dのユーザに提供される。このリンクは、クライアント1aに割り当てられているURIを含む。要求されたURIは、制御サーバ6に転送される。制御サーバ6は、要求されたURIに関係する特定のクライアント1aが、システムに接続しているかどうか、すなわち、クライアント制御装置7a〜7cに登録されているかどうかをチェックする。要求されたURIに関係するクライアント1aが、システムおよびクライアント制御装置7a〜7cに接続している場合に、クライアント1dは、クライアント1aを取り扱うクライアント制御装置7a〜7cに向けられる。クライアント制御装置7a〜7cは、URIに対する要求とクライアント1dに関係する接続情報とをクライアント1aに通信し、それに対応して、クライアント1aに関係する接続情報をクライアント1dに送る。その後、クライアント1aを取り扱うクライアント制御装置7a〜7cにより仲介される、TCPまたはUCPのホールパンチを使用することにより、クライアント1dとクライアント1aとの間に直接的な接続が確立される。TCPまたはUCPのホールパンチは、当業者によく知られている技術であり、クライアント1a、1dがプライベートローカルネットワーク上のファイアーウォールの後ろに位置しているという問題を解決する。さらに、各クライアント1a〜1dは、起動時に、クライアント制御装置7a〜7cまたは制御サーバ6に登録されるので、他のクライアント1a〜1dにコンテンツを提供するクライアント1a〜1dを識別するために、システム5により割り当てられている一意的なURIによりクライアントを識別するときに、IPアドレスの変更は問題を生じさせない。さらに、クライアント1a〜1d間の直接的な接続およびデータの転送は、システムには中央プロキシサービスによる容量の制限がないという利点を有している。中央プロキシサービスは、代わりに、クライアント1a〜1dにより取り扱われ、それゆえ、システムに多くのユーザがいるケースにおいても問題にならない。直接的な接続が確立されているときに、クライアント1dと1aは情報を交換することができる。情報は、クライアント1dのウェブブラウザアプリケーションに対してパーズされて、グラフィカルユーザインターフェース中に表示される。
システムのクライアント1a〜1dは、NATによるUDPの簡単な通過(STUN)を使用することにより、クライアント1a〜1dのパブリックIPアドレスを取得することができる。STUNは、当業者によく知られているネットワークプロトコルであり、プライベートネットワーク上の複数のホストが、単一のパブリックIPアドレスを使用してインターネットにアクセスできるように、ルータの後ろにあるクライアントが、NAT(ネットワークアドレス変換)を実施することを可能にするためのものである。例えば、この接続情報は、両方共にルータおよびファイアーウォールの後ろにある2つのホスト間に、UDPまたはTCPの通信をセットアップするために使用される。したがって、クライアント1a〜1dに関係する実際の接続は2通りに分けられ、変換されたローカルIPアドレスおよびポート番号と、真のパブリックIPアドレスおよびポート番号との両方を含んでいる。ここで、変換されたローカルIPアドレスおよびポート番号は、同じローカルネットワーク上に位置する2つのクライアント1a〜1d間に接続を提供するケースにおいて有用である。
好ましい実施形態では、クライアント1aは、要求が転送されるウェブサーバを備え、ウェブサーバは、応答で要求に答える。応答は、クライアント1dに直接送られて、ウェブブラウザアプリケーションに転送され、グラフィカルユーザインターフェース中に表示される。応答は、例えば、デジタルピクチャを含むウェブページとすることができる。ウェブページは、2つのクライアント間に確立されている接続中に埋め込まれる。したがって、クライアント1aに関係するURLを要求するユーザは、あたかも、インターネット2上に位置する従来のウェブサーバにおいてウェブページがホスト管理されているかのように、同じ応答を得るだろう。このことは、他のクライアントにコンテンツを提供するウェブサーバを備えているクライアント1a〜1dを含むように、インターネットの範囲を拡張させる。クライアント1a〜1d上にインストールされているウェブサーバは、クライアント1a〜1dのオペレーティングシステム上で動作する簡単なアプリケーションとすることができ、2つのクライアント間に直接的な接続を確立するために、本発明にしたがった機能性を備えていてもよい。別の実施形態では、ウェブサーバは、別のアプリケーションとしてインストールされ、他のクライアントとの接続は、ウェブブラウザアプリケーションで提供される。
システム5内の実際の通信、すなわち、クライアント1a〜1dとサーバ6、7a〜7cとの間の通信、および、クライアント1a〜1d間の直接的な通信は、従来のhttp/TCP接続またはプロプライエタリプロトコルに基づくことができる。したがって、システム5中の実際のデータストリームは、必ずしも典型的なインターネットデータストリームである必要はなく、システム5によってのみ解釈されてもよい。
好ましい実施形態では、ウェブブラウザアプリケーション4a〜4dに対するプラグイン10a〜10dによって、本発明にしたがった方法が実現される。例えば、クライアント1a〜1dが、システム5により規定されているURIを最初に要求するときに、プラグイン10a〜10dをダウンロードして、インストールすることができる。プラグイン10a〜10dは、ウェブブラウザアプリケーション4a〜4dと、システム5と、システム5に接続されている他のクライアント1b〜1dとの間で、メディエータとしてふるまう。これにより、プラグイン10a〜10dは、データストリームを解釈して、グラフィカルユーザインターフェース中に表示するために、あたかも、データストリームがインターネット上に位置するウェブサーバから送出されたかのように、ウェブブラウザアプリケーション4a〜4dにデータストリームを提供する。別のアプリケーションとして、または、クライアント1a〜1dのオペレーティングシステムの一体化された一部として、本発明にしたがった方法を実現することもできるのは明らかである。別のアプリケーション、または、クライアント1a〜1dのオペレーティングシステムの一体化された一部は、サーバ6、7a〜7cと、クライアント1a〜1dとの接続を取り扱って、グラフィカルユーザインターフェース中に表示するためのデータをウェブブラウザアプリケーション4a〜4dに提供する。好ましい実施形態では、ウェブブラウザプラグインは、非同期プラグ可能なプロトコル(APP)を使用することにより実現される。標準規格のインターネットプロトコル以外の他の接続スキームを使用してデータを取得するカスタムプロトコルを含むように、マイクロソフトのインターネットエクスプローラを拡張させることが、非同期プラグ可能なプロトコル(APP)によって可能になる。本発明にしたがった方法をオペレーティングシステム中で実現するときに、ウェブブラウザアプリケーションのようなアプリケーションによりなされる要求に対して、サポートを提供するように適合されている、オペレーティングシステムのアプリケーションプログラミングインターフェース(API)またはライブラリがクライアントに提供される。したがって、クライアントのオペレーティングシステム中またはライブラリ中に、本発明にしたがった方法を埋め込むことが可能である。クライアントのオペレーティングシステムまたはライブラリは、システムの一部になって、システムに接続するための、ユーザの何らかの特別なタスクを不要にする。
図4で示している別の実施形態では、プラグイン10a〜10dまたはアプリケーションをクライアント1d上にインストールすることは不可能である。そこで、埋め込まれているウェブアプリケーション12を有するウェブページ11によって、システム5とインターネットに接続されている他のクライアントとに到達する。クライアント1dのようなクライアントが、システム5により規定されているURLを訪れようと試みる場合に、2つ以上のフレーム(IFrameまたはFrame)を有するフレームセット13を備えるHTMLページ11が、クライアント1dのウェブブラウザアプリケーション4dに提供される。フレームのうちの1つは、Javaアプレット、アクティベックス(登録商標)、または、フラッシュ(登録商標)のような、埋め込まれているウェブアプリケーション12を含んでいる。埋め込まれているウェブアプリケーション12は、システム5と他のクライアント1a〜1dとに対する接続を提供する。したがって、システムと他のクライアント1a〜1dとに対する接続は、1つのフレーム13aにおいて実行され、他のクライアントにより提供されるコンテンツは、別のフレーム13b中に表示される。典型的に、このことは、メディエータウェブサービス8によって実現される。メディエータウェブサービス8は、クライアント1dにHTMLページ11を提供し、埋め込まれているウェブアプリケーション12と、システム5と、サーバ6、7a〜7cと、クライアント1a〜1cとの接続を仲介する。
好ましい実施形態では、システムは、システム5上の負荷をバランスさせるために、いくつかのサーバを具備するだろう。他のユーザにコンテンツを提供することを欲しているクライアント1a〜dが起動するときに、クライアント1a〜dは、それらのクライアント制御装置7a〜cのIPアドレスを知る必要がある。クライアント1a〜1dは、システム5により割り当てられ、規定されている、クライアント自身の一意的なURLのIPアドレスを解明する既存のドメイン名システム(DNS)インフラストラクチャに尋ねることにより、このような情報を取得できる。DNSインフラストラクチャに対するこのような要求は、ある時点で、所定のサブドメインを担当する(示していない)DNSサーバに到達するだろう。(示していない)DNSサーバは、(示していない)専用のDNSサーバのような、システム5中のサーバである。要求を受信したときに、DNSサーバは、どのクライアント制御装置7a〜7cが特定のクライアント1a〜1dに指定されているかを既に知っているか、または、DNSサーバは、クライアント1a〜1dを取り扱うための空いているクライアント制御装置7a〜cを見つけるだろう。その後、このクライアント制御装置7a〜cのIPアドレスが、クライアント1a〜1dに返答される。
システム5中の制御サーバ6のようなサーバに到達するためのURI要求に対して、各クライアント1a〜dに割り当てられている一意的なURIの構造は、例えば、<uniqueid>.<subdomain>.<domain>.comという形態とすることができる。サブドメインに区分することは、システム5のいくつかのサーバ上の負荷をバランスさせるために有用である。それぞれのサーバは、サブドメイン下で登録されている一意的なURIに対して、DNSサービスを提供する。このことは、さらに、my.picturealbum.comのような標準のDNS名を使用することを欲しているインターネットの他のユーザにコンテンツを提供するクライアント1a〜1dのユーザが、システム5により提供されるURIへのアドレスを単に示すことができるという利点を有する。このように、クライアントのDNSリゾルバは、my.picturealbum.comのアドレスを自動的にDNSインフラストラクチャに尋ねる。my.picturealbum.comは、クライアント1a〜1dの一意的なURI識別子に対する別名だろう。
記述したシステムにおいて生じうる問題は、制御サーバ6のリソースの枯渇である。クライアント制御装置7a〜7cのようないくつかのサーバに、制御サーバ上の負荷をバランスさせることができるとしても、ネットワークのサーバ6、7a〜7cに接続している数百万または数十億のクライアントは、莫大な量のアイドル接続になるだろう。このような、アイドルでオープンな接続の量は、最新のオペレーティングシステムにおいてさえ、容量の問題になる。したがって、好ましい実施形態では、アイドル接続は、スーパークライアントとして選択されている、ネットワーク中のクライアントに、オフロードされる。1つの解決策は、インターネットに対してオープンなクライアント、すなわち、ファイアーウォールまたは/およびNATに保護されていないクライアントにのみオフロードすることである。このことは、システム5に接続されているクライアントにより行われる作業の不適切な分配をもたらし、そのため、公平性の観点から問題視されるだろう。
それゆえ、システムの好ましい実施形態では、クライアント間で等しく作業をバランスさせている。クライアントをスーパークライアントに指定するための最も容易な方法は、スーパークライアントをアトランダムに選ぶことである。しかしながら、ネットワークトポロジの調査または事前の知識に基づいて、スーパークライアントを決定することも、適用可能であると示されている。ピアのうちのいくつかは、ファイアーウォールおよび/またはNAT、あるいは、他の障害物を持つ接続の後ろにあるので、解決策として、2つのレベルのS
TUNを使用する。
好ましい実施形態では、スーパークライアントは、ランダムに選ばれた、システム5に接続しているクライアント1a〜1dである。スーパークライアントが指定されると、スーパークライアントは、STUN使用可能なサブクライアント制御装置(サブ制御装置)をクライアント上に作って開始する。クライアントメイン制御装置7a〜7cに接続する新しい通常のクライアントは、クライアントメイン制御装置7a〜7cを直接的に使用する代わりに、リダイレクトされて、スーパークライアント上のサブ制御装置をクライアント制御装置(クライアントサブ制御装置)として使用するだろう。クライアントサブ制御装置は、クライアントメイン制御装置7a〜7cに対するオープンな接続と、クライアントサブ制御装置に転送されるクライアントに対する接続とを常に維持するだろう。メイン制御装置7a〜7cに対する接続は、STUN方法により、新しいクライアントの接続を転送し、クライアントメイン制御装置7a〜7cからクライアントサブ制御装置にリレーされる新しいクライアントの接続を開始するために使用される。クライアントサブ制御装置の接続されているクライアントのうちの1つにアドレス割り当てされているクライアントメイン制御装置7a〜7cから送られた、接続仲介データをリレーするためにも、クライアントメイン制御装置7a〜7cに対する接続が使用される。
ピア1aが別のピア1bへの接続を要求するときに、ピア1aは最初に7a〜7cに接続する。クライアントメイン制御装置は、1bに対する制御装置接続を維持している(示していない)スーパークライアントのクライアントサブ制御装置に、接続仲介要求を転送する。受け入れられると、仲介受諾要求が1aに送り返される。そして、1aと1bはSTUN接続を開始することができる。別の方法では、クライアントサブ制御装置への接続を行うために、クライアント1aがリダイレクトされる。クライアントサブ制御装置は、クライアント1aと1bの両者と直接的に通信することにより、クライアント1aと1bとの間の接続を仲介する。複数のレベルのクライアントサブ制御装置を導入することで、この実施形態をさらに拡張できることは明らかである。
スーパークライアントとして指定されている典型的なクライアント1a〜1dは、数百の、おそらく数千のアイドル接続を問題なく管理することができる。その理由は、クライアントが、クライアント制御装置に対する1つの接続のみを必要とするからである。
主に、単一の現在の好ましいインプリメンテーションに関連して、本発明の方法およびシステムを前記において記述してきたのに対し、本発明の範囲は、添付の特許請求の範囲により提供される規定内で、他のタイプの標準規格の通信ネットワークと他の通信モードとを利用する代替的な実施形態を含むだろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]制御サーバを備える同じネットワークに接続されているクライアントを識別して、クライアントを接続するための方法において、
アプリケーションを動作させている第1のクライアントを前記制御サーバに接続して、前記第1のクライアントに関係するクライアント特有の接続情報を登録するステップと、
前記制御サーバにより規定され、第2のクライアントに関係する一意的なURIに対する要求を、前記アプリケーションから受信するステップと、
前記一意的なURIに関係する前記第2のクライアントへの接続を仲介するように、前記制御サーバに要求するステップと、
前記第2のクライアントに関係する接続情報を受信するステップと、
前記第2のクライアントに関係する接続情報を使用することにより、前記第2のクライアントへの直接的な接続を確立し、この接続の確立は前記制御サーバにより仲介されるステップと、
前記直接的な接続において、前記第2のクライアントからデータを受信して、前記受信したデータをグラフィカルユーザインターフェース中に表示するために、前記アプリケーションに前記データを転送するステップとを含む方法。
[2]前記アプリケーションは、ウェブブラウザアプリケーションである[1]に記載の方法。
[3]前記ステップは、前記ウェブブラウザアプリケーション中にインストールされているプラグインにより実行される[2]に記載の方法。
[4]前記方法は、前記アプリケーションと対話するように適合されているAPIを備えるオペレーティングシステム中に埋め込まれている[1]に記載の方法。
[5]ドメイン名システムのインフラストラクチャを使用して、前記URIを解明することができる以前の項のうちのいずれかに記載の方法。
[6]前記直接的な接続を確立するステップにおける前記第1および第2のクライアントは、前記制御サーバにより仲介されるTCPまたはUDPのホールパンチングを使用して、通信のための直接的な接続を確立する以前の項のうちのいずれかに記載の方法。
[7]前記制御サーバに登録されている、各クライアントに対する前記接続情報は、IPアドレスとポート番号とを含む以前の項のうちのいずれかに記載の方法。
[8]前記第2のクライアントが、前記第1のクライアントからの到来要求が向けられるウェブサーバを備える以前の項のうちのいずれかに記載の方法。
[9]クライアントサブ制御装置として指定されている、1つまたは複数のレベルのクライアントに、前記制御サーバの前記接続仲介が分散される以前の項のうちのいずれかに記載の方法。
[10]前記ウェブブラウザアプリケーションが、埋め込まれているウェブページアプリケーションを備えるウェブページを最初に受信する、初期のステップをさらに含み、後続するステップは、前記埋め込まれているウェブページアプリケーションにより実行される[2]に記載の方法。
[11]前記制御サーバに接続されている前記クライアントに関係する一意的なURIを含む、アクセス可能なクライアントの情報を、前記制御サーバから受信するステップと、
前記グラフィカルユーザインターフェース中に前記情報を表示するために、前記第1のクライアント上で動作しているアプリケーションに、前記情報を転送するステップとをさらに含む以前の項のうちのいずれかに記載の方法。
[12]制御サーバを備える同じネットワークに接続されているクライアントを識別して、クライアントを接続するためのシステムにおいて、
第1のクライアントが前記制御サーバに接続して、前記第1のクライアントに関係するクライアント特有の接続情報を登録し、
第2のクライアントが前記制御サーバに接続して、前記第2のクライアントに関係するクライアント特有の接続情報を登録し、
前記第2のクライアントには、一意的なURIが割り当てられ、
前記第1のクライアント上で動作しているアプリケーションにより要求された、前記一意的なURIに関係する前記第2のクライアントへの接続を仲介するように、前記制御サーバが要求され、
前記制御サーバは、前記第2のクライアントに関係する接続情報を前記第1のクライアントに転送し、前記第1のクライアントに関係する接続情報を前記第2のクライアントに転送し、
前記制御サーバは、前記第1のクライアントと前記第2のクライアントとの間の直接的な接続の確立を仲介し、
前記第1のクライアントが前記第2のクライアントからデータを受信し、前記データは、前記アプリケーションに転送されて、グラフィカルユーザインターフェース中に表示されるシステム。
[13]前記アプリケーションは、ウェブブラウザアプリケーションである[12]に記載のシステム。
[14]前記ウェブブラウザアプリケーションは、プラグインを備え、前記プラグインは、前記制御サーバおよび前記第2のクライアントと通信する[13]に記載のシステム。
[15]オペレーティングシステムが、前記アプリケーションと対話するように適合されているAPIを備える[12]に記載のシステム。
[16]ドメイン名システムのインフラストラクチャを使用して、前記URIを解明することができる以前の項のうちのいずれかに記載のシステム。
[17]前記制御サーバにより仲介されるTCPまたはUDPのホールパンチングを使用することにより、前記第1のクライアントと第2のクライアントとの間の前記直接的な接続を確立する以前の項のうちのいずれかに記載のシステム。
[18]前記制御サーバに登録されている前記接続情報は、IPアドレスとポート番号とを含む以前の項のうちのいずれかに記載のシステム。
[19]前記第2のクライアントが、前記第1のクライアントからの到来要求が向けられるウェブサーバを備える以前の項のうちのいずれかに記載のシステム。
[20]クライアントサブ制御装置として指定されている、1つまたは複数のレベルのクライアントに、前記制御サーバの前記接続仲介が分散される以前の項のうちのいずれかに記載のシステム。
[21]前記システムのメディエータウェブサービスにより前記第1のクライアントに提供されているウェブページ中に含まれる、埋め込まれているウェブアプリケーションを通して、前記第1のクライアントが前記システムに接続する[12]に記載のシステム。
[22]少なくとも前記第1のクライアントが、
前記制御サーバに接続されている前記クライアントに関係する一意的なURIを含む、アクセス可能なクライアントの情報を、前記制御サーバから受信し、
前記グラフィカルユーザインターフェース中に前記情報を表示するために、前記第1のクライアント上で動作しているウェブブラウザアプリケーションに、前記情報を転送する以前の項のうちのいずれかに記載のシステム。

Claims (12)

  1. 複数の制御サーバを備える同じネットワークに接続されているクライアントを識別して、クライアントを接続するための方法において、
    ウェブブラウザアプリケーションを動作させている第1のクライアントを前記複数の制御サーバのうちの1つに接続して、前記第1のクライアントに関係するクライアント特有の接続情報を登録するステップと、
    前記制御サーバにより規定され、第2のクライアントに関係する一意的なURIに対する要求を、前記ウェブブラウザアプリケーションから受信するステップと、
    前記一意的なURIに関係する前記第2のクライアントへの接続を仲介するように、前記制御サーバに要求するステップと、
    前記第2のクライアントに関係する接続情報を受信するステップと、
    前記第2のクライアントに関係する接続情報を使用することにより、前記第2のクライアントへの直接的な接続を確立し、この接続の確立は前記制御サーバにより仲介されるステップと、
    前記直接的な接続において、前記第2のクライアントからデータを受信して、前記受信したデータをグラフィカルユーザインターフェース中に表示するために、前記ウェブブラウザアプリケーションに前記データを転送するステップとを含み、
    前記ステップは、前記ウェブブラウザアプリケーション中にインストールされているプラグインにより実行され、このプラグインが前記制御サーバおよび前記第2のクライアントと通信し、
    前記制御サーバにより前記第2のクライアントに割り当てられるURIは、ドメイン名システムのインフラストラクチャを使用して解明することができるURLであり、
    前記第2のクライアントが、前記第1のクライアントからの到来要求が向けられるウェブサーバを備え、
    前記第2のクライアントの制御サーバのIPアドレスを取得するために、前記第2のクライアントが、前記制御サーバにより割り当てられ、規定されている、前記クライアント自身の一意的なURLのIPアドレスを解明する既存のドメイン名システムインフラストラクチャに尋ね方法。
  2. 前記直接的な接続を確立するステップにおける前記第1および第2のクライアントは、前記制御サーバにより仲介されるTCPまたはUDPのホールパンチングを使用して、通信のための直接的な接続を確立する請求項記載の方法。
  3. 前記制御サーバに登録されている、各クライアントに対する前記接続情報は、IPアドレスとポート番号とを含む請求項1または2のいずれか1項記載の方法。
  4. クライアントサブ制御装置として指定されている、1つまたは複数のレベルのクライアントに、前記制御サーバの前記接続仲介が分散される請求項1ないしのいずれか1項記載の方法。
  5. 前記ウェブブラウザアプリケーションが、埋め込まれているウェブアプリケーションを備えるウェブページを最初に受信する、初期のステップをさらに含み、後続するステップは、前記埋め込まれているウェブアプリケーションにより実行される請求項1記載の方法。
  6. 前記制御サーバに接続されている前記クライアントに関係する一意的なURIを含む、アクセス可能なクライアントの情報を、前記制御サーバから受信するステップと、
    前記グラフィカルユーザインターフェース中に前記情報を表示するために、前記第1のクライアント上で動作しているウェブブラウザアプリケーションに、前記情報を転送するステップとをさらに含む請求項1ないしのいずれか1項記載の方法。
  7. 複数の制御サーバ(7a〜7c)を備える同じネットワーク(2)に接続されているクライアント(1a〜1d)を識別して、クライアント(1a〜1d)を接続するためのシステム(5)において、
    ウェブブラウザアプリケーション(4a〜4d)を動作させている第1のクライアント(1a〜1d)が前記複数の制御サーバ(7a〜7c)のうちの1つに接続して、前記第1のクライアント(1a〜1d)に関係するクライアント特有の接続情報を登録し、
    第2のクライアント(1a〜1d)が前記制御サーバ(7a〜7c)に接続して、前記第2のクライアント(1a〜1d)に関係するクライアント特有の接続情報を登録し、
    前記第2のクライアント(1a〜1d)には、一意的なURIが割り当てられ、
    前記第1のクライアント(1a〜1d)上で動作している前記ウェブブラウザアプリケーション(4a〜4d)により要求された、前記一意的なURIに関係する前記第2のクライアント(1a〜1d)への接続を仲介するように、前記制御サーバ(7a〜7c)が要求され、
    前記制御サーバは、前記第2のクライアント(1a〜1d)に関係する接続情報を前記第1のクライアント(1a〜1d)に転送し、前記第1のクライアント(1a〜1d)に関係する接続情報を前記第2のクライアント(1a〜1d)に転送し、
    前記制御サーバ(7a〜7c)は、前記第1のクライアント(1a〜1d)と前記第2のクライアント(1a〜1d)との間の直接的な接続の確立を仲介し、
    前記第1のクライアント(1a〜1d)が前記第2のクライアント(1a〜1d)からデータを受信し、前記データは、前記ウェブブラウザアプリケーション(4a〜4d)に転送されて、グラフィカルユーザインターフェース中に表示され、
    前記ウェブブラウザアプリケーション(4a〜4)は、プラグイン(10a〜10d)を備え、前記プラグイン(10a〜10d)は、前記制御サーバ(7a〜7c)および前記第2のクライアント(1a〜1d)と通信し、
    前記制御サーバ(7a〜7c)により前記第2のクライアント(1a〜1d)に割り当てられるURIは、ドメイン名システムのインフラストラクチャを使用して解明することができるURLであり、
    前記第2のクライアント(1a〜1d)が、前記第1のクライアント(1a〜1d)からの到来要求が向けられるウェブサーバを備え、
    前記第2のクライアントの制御サーバ(7a〜7c)のIPアドレスを取得するために、前記第2のクライアント(1a〜1d)が、前記制御サーバ(7a〜7c)により割り当てられ、規定されている、前記クライアント自身の一意的なURLのIPアドレスを解明する既存のドメイン名システムインフラストラクチャに尋ねシステム。
  8. 前記制御サーバ(7a〜7d)により仲介されるTCPまたはUDPのホールパンチングを使用することにより、前記第1のクライアント(1a〜1d)と第2のクライアント(1a〜1d)との間の前記直接的な接続を確立する請求項記載のシステム。
  9. 前記制御サーバ(7a〜7c)に登録されている前記接続情報は、IPアドレスとポート番号とを含む請求項7または8のいずれか1項記載のシステム。
  10. クライアントサブ制御装置として指定されている、1つまたは複数のレベルのクライアント(1a〜1d)に、前記制御サーバ(7a〜7c)の前記接続仲介が分散される請求項7ないし9のいずれか1項記載のシステム。
  11. 前記システム(5)のメディエータウェブサービスにより前記第1のクライアント(1a〜1d)に提供されるウェブページ中に含まれる、埋め込まれているウェブアプリケーション(12)を通して、前記第1のクライアント(1a〜1d)が前記システム(5)に接続する請求項記載のシステム。
  12. 少なくとも前記第1のクライアント(1a〜1d)が、
    前記制御サーバ(7a〜7c)に接続されている前記クライアント(1a〜1d)に関係する一意的なURIを含む、アクセス可能なクライアント(1a〜1d)の情報を、前記制御サーバ(7a〜7c)から受信し、
    前記グラフィカルユーザインターフェース中に前記情報を表示するために、前記第1のクライアント(1a〜1d)上で動作しているウェブブラウザアプリケーション(4a〜4c)に、前記情報を転送する請求項7ないし11のいずれか1項記載のシステム。
JP2010547045A 2008-02-20 2008-02-20 インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム Active JP5301571B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/DK2008/050043 WO2009103291A1 (en) 2008-02-20 2008-02-20 Method and system for providing connectivity between clients connected to the internet

Publications (2)

Publication Number Publication Date
JP2011517867A JP2011517867A (ja) 2011-06-16
JP5301571B2 true JP5301571B2 (ja) 2013-09-25

Family

ID=40084333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010547045A Active JP5301571B2 (ja) 2008-02-20 2008-02-20 インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム

Country Status (6)

Country Link
US (1) US8972483B2 (ja)
EP (1) EP2248324B1 (ja)
JP (1) JP5301571B2 (ja)
CN (1) CN101946493B (ja)
DK (1) DK2248324T3 (ja)
WO (1) WO2009103291A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7675872B2 (en) 2004-11-30 2010-03-09 Broadcom Corporation System, method, and apparatus for displaying pictures
US8447843B2 (en) 2006-09-25 2013-05-21 Yoics, Inc. System, method and computer program product for identifying, configuring and accessing a device on a network
US9712486B2 (en) 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US11184224B2 (en) 2006-09-25 2021-11-23 Remot3.It, Inc. System, method and compute program product for accessing a device on a network
US10637724B2 (en) 2006-09-25 2020-04-28 Remot3.It, Inc. Managing network connected devices
US9231904B2 (en) 2006-09-25 2016-01-05 Weaved, Inc. Deploying and managing networked devices
US8682977B1 (en) * 2008-03-25 2014-03-25 Egain Communications Corporation Communication associated with a webpage
US10129346B1 (en) * 2008-03-25 2018-11-13 Egain Corporation Analyzing navigation with a webpage
US10853873B2 (en) * 2008-10-02 2020-12-01 Ecoatm, Llc Kiosks for evaluating and purchasing used electronic devices and related technology
US8195511B2 (en) 2008-10-02 2012-06-05 ecoATM, Inc. Secondary market and vending system for devices
US11010841B2 (en) 2008-10-02 2021-05-18 Ecoatm, Llc Kiosk for recycling electronic devices
US7881965B2 (en) 2008-10-02 2011-02-01 ecoATM, Inc. Secondary market and vending system for devices
CN103039056A (zh) 2010-03-23 2013-04-10 Nabto公司 用于将数据从资源匮乏设备提供给计算机客户端的方法
US10244033B2 (en) 2010-03-23 2019-03-26 Nabto Aps Method for providing data from a resource weak device to a computer client
KR101176144B1 (ko) * 2010-11-30 2012-08-22 삼성에스디에스 주식회사 다중 네트워크 환경에서의 피어-투-피어 접속 시스템 및 방법
TWI465071B (zh) * 2011-01-28 2014-12-11 Throughtek Co Ltd Remote messaging system and its connection method
DE102011109678A1 (de) * 2011-08-08 2013-02-14 Rwe Effizienz Gmbh Kommunikationssystem
DE102012109060A1 (de) 2011-09-29 2013-04-04 Sma Solar Technology Ag Kommunikation mit dezentralen, elektrische Energie handhabenden Einrichtungen über das Internet
US20150113602A1 (en) * 2012-05-08 2015-04-23 Serentic Ltd. Method and system for authentication of communication and operation
WO2014059441A1 (en) * 2012-10-12 2014-04-17 Sling Media Inc. Identification of servers by common wide area network addresses
US8930316B2 (en) 2012-10-15 2015-01-06 Oracle International Corporation System and method for providing partition persistent state consistency in a distributed data grid
US9591056B2 (en) * 2013-01-29 2017-03-07 Facebook, Inc. Techniques for contact exporting
CN104461413B (zh) * 2013-09-17 2017-11-28 哈尔滨安天科技股份有限公司 一种基于web技术的LED显示控制系统及方法
US9819720B2 (en) * 2013-10-14 2017-11-14 Futurewei Technologies, Inc. System and method to correlate local media URIs between web browsers
TW201518963A (zh) * 2013-11-05 2015-05-16 Richplay Information Co Ltd 推薦瀏覽物件之方法
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US11537777B2 (en) 2014-09-25 2022-12-27 Huawei Technologies Co., Ltd. Server for providing a graphical user interface to a client and a client
CA2964214C (en) 2014-10-02 2020-08-04 ecoATM, Inc. Wireless-enabled kiosk for recycling consumer devices
EP3859697A1 (en) 2014-10-02 2021-08-04 ecoATM, LLC Application for device evaluation and other processes associated with device recycling
US10445708B2 (en) 2014-10-03 2019-10-15 Ecoatm, Llc System for electrically testing mobile devices at a consumer-operated kiosk, and associated devices and methods
WO2016069738A1 (en) 2014-10-31 2016-05-06 ecoATM, Inc. Systems and methods for recycling consumer electronic devices
CA2967021C (en) * 2014-11-06 2024-03-12 ecoATM, Inc. Methods and systems for evaluating and recycling electronic devices
US10101983B2 (en) * 2014-11-07 2018-10-16 Open Text Sa Ulc Client application with embedded server
US11080672B2 (en) 2014-12-12 2021-08-03 Ecoatm, Llc Systems and methods for recycling consumer electronic devices
KR101783014B1 (ko) * 2015-09-10 2017-09-28 주식회사 수산아이앤티 공유단말 검출 방법 및 그 장치
US10269110B2 (en) 2016-06-28 2019-04-23 Ecoatm, Llc Methods and systems for detecting cracks in illuminated electronic device screens
US10812445B2 (en) 2018-02-13 2020-10-20 Sling Media Pvt Ltd Cloud access to local network addresses
US20190289085A1 (en) * 2018-03-13 2019-09-19 Indigenous Software, Inc. System and method for tracking online user behavior across browsers or devices
CN108965413B (zh) * 2018-07-03 2021-08-03 北京小米移动软件有限公司 信息交互方法、装置及存储介质
CN111131369B (zh) * 2018-11-01 2022-09-27 百度在线网络技术(北京)有限公司 App使用情况的传输方法、装置、电子设备及存储介质
AU2019404076A1 (en) 2018-12-19 2021-07-15 Ecoatm, Llc Systems and methods for vending and/or purchasing mobile phones and other electronic devices
US11005913B1 (en) * 2019-01-11 2021-05-11 TeliApp Corporation System for obtaining internet access for computing device tethered to mobile device having internet connection via universal translating software adapter and universal muxer data tracker
CA3129917A1 (en) 2019-02-12 2020-08-20 Ecoatm, Llc Connector carrier for electronic device kiosk
CA3130102A1 (en) 2019-02-12 2020-08-20 Ecoatm, Llc Kiosk for evaluating and purchasing used electronic devices
KR20210127199A (ko) 2019-02-18 2021-10-21 에코에이티엠, 엘엘씨 전자 디바이스의 신경망 기반의 물리적 상태 평가, 및 관련된 시스템 및 방법
GB2583114B (en) * 2019-04-17 2022-09-21 F Secure Corp Preventing UDP hole punching abuse
WO2022040668A1 (en) 2020-08-17 2022-02-24 Ecoatm, Llc Evaluating an electronic device using optical character recognition
US11922467B2 (en) 2020-08-17 2024-03-05 ecoATM, Inc. Evaluating an electronic device using optical character recognition

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002033773A (ja) * 2000-07-17 2002-01-31 Web On Demand:Kk Webオンデマンドシステム
GB0120712D0 (en) * 2001-08-24 2001-10-17 Intuwave Ltd Web server resident on a mobile computing device
US20030097448A1 (en) * 2001-11-21 2003-05-22 Menezes Francisco Jose Server control of hypertext transfer protocol client
US7203940B2 (en) * 2002-04-29 2007-04-10 Hewlett-Packard Development Company, Lp. Automated installation of an application
JP3922575B2 (ja) * 2003-06-20 2007-05-30 日本電信電話株式会社 SIPセッション制御によるCDNにおけるQoS保証方法とQoS保証システムおよび端末装置とコンテンツ配信サブシステムとSIPセッション制御サブシステムならびにプログラム
JP4561084B2 (ja) * 2003-11-25 2010-10-13 ソニー株式会社 サービス管理装置及びサービス管理方法、並びにサービス提供システム及びサービス提供方法
JP2005286725A (ja) * 2004-03-30 2005-10-13 Hitachi Ltd IPv6制御装置
US20050229243A1 (en) * 2004-03-31 2005-10-13 Svendsen Hugh B Method and system for providing Web browsing through a firewall in a peer to peer network
KR100654545B1 (ko) * 2004-08-18 2006-12-05 에스케이 텔레콤주식회사 이동 단말기로 제공되는 메뉴의 필터링 방법 및 그 장치
US7558862B1 (en) * 2004-12-09 2009-07-07 LogMeln, Inc. Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer
JP4599196B2 (ja) 2005-03-11 2010-12-15 株式会社アドイン研究所 中継装置、通信システム、これらの制御方法及び制御プログラム
US20060224759A1 (en) * 2005-03-15 2006-10-05 1000 Oaks Hu Lian Technology Development Co., Ltd. System and method for a peer-to-peer streaming content operation by a browser plug-in
MX2007012319A (es) * 2005-05-06 2007-12-05 Ericsson Telefon Ab L M Disposiciones en subsistema de multimedia de ip (ims).
KR100921554B1 (ko) * 2005-08-30 2009-10-14 주식회사 케이티 음성통화중에 다양한 콘텐츠를 공유 및 제어할 수 있는콘텐츠공유서비스를 제공하는 시스템 및 그 방법
US8296437B2 (en) * 2005-12-29 2012-10-23 Logmein, Inc. Server-mediated setup and maintenance of peer-to-peer client computer communications
US7783985B2 (en) * 2006-01-04 2010-08-24 Citrix Systems, Inc. Systems and methods for transferring data between computing devices
JP4609345B2 (ja) 2006-03-01 2011-01-12 日本電気株式会社 中継サーバ及び接続制御方法並びにプログラム
US7791559B2 (en) * 2006-09-14 2010-09-07 Citrix Systems, Inc. System and method for multiple display support in remote access software
US8539028B2 (en) * 2010-11-05 2013-09-17 Logmein, Inc. Network-based quick connect meeting service

Also Published As

Publication number Publication date
CN101946493A (zh) 2011-01-12
EP2248324B1 (en) 2018-09-12
EP2248324A1 (en) 2010-11-10
US8972483B2 (en) 2015-03-03
WO2009103291A1 (en) 2009-08-27
JP2011517867A (ja) 2011-06-16
CN101946493B (zh) 2013-06-19
US20110055322A1 (en) 2011-03-03
DK2248324T3 (en) 2019-01-07

Similar Documents

Publication Publication Date Title
JP5301571B2 (ja) インターネットに接続されているクライアント間に接続性を提供するための方法およびシステム
EP2112788B1 (en) A method and node for p2p content sharing
JP6054484B2 (ja) 割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法
US20050229243A1 (en) Method and system for providing Web browsing through a firewall in a peer to peer network
EP1723769B1 (en) Method and system for web service handling
EP2291979B1 (en) Remote access between upnp devices
US7924832B2 (en) Facilitating transition of network operations from IP version 4 to IP version 6
US20070233844A1 (en) Relay device and communication system
EP2416542A1 (en) Service virtualization over content-centric networks
JP4146886B2 (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
US8458303B2 (en) Utilizing a gateway for the assignment of internet protocol addresses to client devices in a shared subset
JP5478546B2 (ja) アクセス制御システム、およびアクセス制御方法
EP2725765B1 (en) Method and system for TCP turn operation behind a restrictive firewall
US20130268584A1 (en) Methods and apparatus for publishing and subscribing electronic documents using intermediate rendezvous servers
JP2005184110A (ja) パケット転送装置およびパケット転送方法
WO2002067540A1 (en) Method and device for data communication through a firewall
JP5438230B2 (ja) インターネット接続システム
WO2007062923A1 (en) Apparatus and method for connecting to servers located behind a network address translator
KR20020079271A (ko) 사설아이피주소로 포워딩된 고정도메인을 갖는 호스트운영방법
KR20040048178A (ko) 방화벽 환경에서의 p2p 접속 방법
Belimpasakis et al. Home dns: Experiences with seamless remote access to home services
JP2005065204A (ja) パーソナルipシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130619

R150 Certificate of patent or registration of utility model

Ref document number: 5301571

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