JP2009510638A - ピア名解決プロトコルの簡易アプリケーションプログラムインターフェース - Google Patents
ピア名解決プロトコルの簡易アプリケーションプログラムインターフェース Download PDFInfo
- Publication number
- JP2009510638A JP2009510638A JP2008533777A JP2008533777A JP2009510638A JP 2009510638 A JP2009510638 A JP 2009510638A JP 2008533777 A JP2008533777 A JP 2008533777A JP 2008533777 A JP2008533777 A JP 2008533777A JP 2009510638 A JP2009510638 A JP 2009510638A
- Authority
- JP
- Japan
- Prior art keywords
- peer
- endpoint
- call
- data
- computer
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Abstract
エンドポイント登録およびピアツーピアネットワークのクラウドデータを送受信するためのアプリケーションプログラムインターフェース(API)は、エンドポイントデータをピアツーピアネットワークに追加する登録呼び出しを備える。APIは、アドレス情報に関する明示的データを受け取るか、またはピアツーピアネットワークのトポロジが変化するときに好適なアドレス情報を選択し、維持する命令を受け取ることができる。情報ピアツーピアネットワークエンドポイントデータを取り出すブロッキングおよび非ブロッキング呼び出しが公開される。
【選択図】図1
【選択図】図1
Description
ピアツーピアネットワーキングでは、地理またはネットワーク特性により関連付けられているコンピュータの接続によりコラボレーションおよび共有のための様々な機会を利用することができる。サービス、ファイル、データ、およびプログラム製品を提供し、発見する機会があれば、コンピューティング資源の柔軟性が高まり、また利用度も向上する。
ピアツーピアネットワークは、クラウドと呼ばれるクラスタにまとめられた複数のコンピュータの類似のグルーピングを含むことができる。クラウドは、そのスコープにより、または部門が関連付けられるような他の属性により識別することができる。所定の会社または組織実体内に、複数のクラウドが存在しうる。ピアツーピアネットワーク上で利用可能な製品は、エンドポイントと呼ばれる。エンドポイントは、コンピュータ、ファイル、またはプログラムとすることができる。しかし、エンドポイントは、さらに、ピアツーピアネットワーク上の複数の物理的な場所で利用可能なサービスを含むことができる、つまり、サービスは、複数のインターネットプロトコルアドレスおよび/またはIPアドレスを持つことができる。
ピアツーピアネットワークとのコンタクトを確立するか、またはコンタクトを維持することを望んでいるエンドポイントは、「ピア名解決プロトコル」(PNRP)と呼ばれるサービスを使用することができる。PNRPは、現在、GetAddrInfoアプリケーションプログラムインターフェース(API)またはWinsock Namespace Provider APIという2つのメカニズムを介してアクセス可能である。GetAddrInfo APIは、比較的単純であり、PNRPの機能すべてが利用可能なわけではない。NamespaceProvider APIは、PNRPのすべての機能をサポートしているが、一部の開発者にとっては、扱いにくく、使用するのが難しいものであることがわかっている。従来技術のAPIでは、コーディング面の問題以上に、PNRPを組み込んだシステムをデバッグすることの難しさが増した。PNRP、そしてそれに続く、ピアツーピアネットワーキング用のPNRPを通じて利用可能なロバストな機能の採用は、現在利用できるAPIを使用することが困難であるため妨げられている。
Simple PNRP APIは、PNRPで利用できるすべての機能を公開し、その一方で、ピアツーピアネットワークを構築し、維持することに関連するプログラミングおよび管理のオーバーヘッドを簡素化する。概して、ピアツーピアネットワーク内のエンドポイント情報を登録し、更新するための呼び出しのあるクラス、およびピアツーピアネットワーク内のエンドポイントを発見するための呼び出しのあるクラスがある。発見呼び出しは、ブロッキングまたは非ブロッキングとすることができる。これらの簡素化された呼び出しの使用は、ピアツーピアネットワーク向けのPNRPの開発および使用を合理化することによりPNRPの利用を高めると期待される。
Simple PNRP APIの使用は、PNRPインターフェースをコーディングする開発者の負担を大幅に緩和し、開発および試験の際のデバッグプロセスを簡素化する。Simple PNRP APIは、ますます増えてゆく民生用アプリケーション、業務用アプリケーション、およびビジネスアプリケーションにおけるPNRPの採用を大きく推進し、それを通じて、ピアツーピアネットワーキングの採用を促進することが期待される。
以下の本文では多数の異なる実施形態の詳細な説明を述べているが、説明の正当な範囲は、本開示の終わりで規定されている請求項の記述により定義されることは理解されるであろう。この詳細な説明は、一例にすぎないものとして解釈すべきであり、可能なすべての実施形態を説明することは不可能ではないとしても実用的ではないため、可能なすべての実施形態を説明しない。現行技術またはこの特許の出願日以降に開発された技術を使用して多数の代替え実施形態を実装することが可能であり、これは、請求項の範囲内にそのまま入るであろう。
「本明細書で使用されているように、「__」という用語は、ここでは、...を意味するものとして定義される」という言い回しまたは類似の文を使用して本特許で明示的に定義されていない限り、自明または通常の意味を超えて、明示的に、または暗黙のうちに、その言い回しの意味を制限する意図はなく、そのような言い回しは、本特許の節にある陳述(請求項の文言以外)に基づき範囲を制限されるものと解釈すべきではないことも理解されるであろう。本特許の末尾の請求項に記載の言い回しが単一の意味と一致する形で本特許において参照されている限り、それは読者を混乱させないようにわかりやすくするだけのために行われており、そのような請求項の言い回しが暗黙のうちに、または他の何らかの形で、その単一の意味に制限されることは意図されていない。最後に、請求要素が構造の記載なしに「手段」という単語および機能を記載することにより定義されていない限り、請求要素の範囲が35U.S.C.§112第6段落の適用に基づいて解釈されることは意図されていない。
本発明の機能の大半および本発明の原理の多くは、ソフトウェアプログラムまたは命令および特定用途向けICなどの集積回路(IC)により、またはその中に実装するのが最もよい。当業者であれば、例えば、使用可能時間、現行技術、および経済上の考慮事項に起因する多大な労力と多くの設計選択は、本明細書で開示されている概念および原理に導かれたときに、実験を最小限度に抑えつつ、そのようなソフトウェアの命令およびプログラムならびにICを容易に生成することができることは予測される。したがって、本発明による原理および概念を簡潔に説明し、わかりにくくする危険性を最小限に抑えるために、このようなソフトウェアおよびICのさらなる説明は、もしれあれば、好ましい実施形態の原理および概念に関する本質に制限される。
図1および2は、本開示に関係するネットワークおよび計算プラットフォームの構造上の基礎を示している。
図1は、ネットワーク10を示している。ネットワーク10は、インターネット、仮想プライベートネットワーク(VPN)、または1つまたは複数のコンピュータ、通信デバイス、データベースなどが互いに通信するように接続することを可能にする他のネットワークとしてよい。ネットワーク10は、パーソナルコンピュータ12およびコンピュータ端末14に、イーサネット16とルータ18、および地上回線20を介して接続することができる。イーサネット16は、より大きなインターネットプロトコルネットワークのサブネットとすることができる。プロジェクタまたはプリンタ(図には示されていない)などの他のネットワーク接続資源も、イーサネット16または他のデータネットワークを介してサポートできる。その一方で、ネットワーク10は、無線通信ステーション26および無線リンク28を介してラップトップコンピュータ22およびデータアシスタント24に無線接続することができる。同様に、サーバ30は、通信リンク32を使用してネットワーク10に接続することができ、メインフレーム34は、他の通信リンク36を使用してネットワーク10に接続することができる。ネットワーク10は、ピアツーピアネットワークトラヒックをサポートするのに好都合である。
図1は、ネットワーク10を示している。ネットワーク10は、インターネット、仮想プライベートネットワーク(VPN)、または1つまたは複数のコンピュータ、通信デバイス、データベースなどが互いに通信するように接続することを可能にする他のネットワークとしてよい。ネットワーク10は、パーソナルコンピュータ12およびコンピュータ端末14に、イーサネット16とルータ18、および地上回線20を介して接続することができる。イーサネット16は、より大きなインターネットプロトコルネットワークのサブネットとすることができる。プロジェクタまたはプリンタ(図には示されていない)などの他のネットワーク接続資源も、イーサネット16または他のデータネットワークを介してサポートできる。その一方で、ネットワーク10は、無線通信ステーション26および無線リンク28を介してラップトップコンピュータ22およびデータアシスタント24に無線接続することができる。同様に、サーバ30は、通信リンク32を使用してネットワーク10に接続することができ、メインフレーム34は、他の通信リンク36を使用してネットワーク10に接続することができる。ネットワーク10は、ピアツーピアネットワークトラヒックをサポートするのに好都合である。
図2は、コンピュータ110の形態のコンピューティングデバイスを例示している。コンピュータ110のコンポーネントとしては、限定はしないが、演算処理装置120、システムメモリ130、およびシステムメモリを備える様々なシステムコンポーネントを演算処理装置120に結合するシステムバス121などがある。システムバス121は、メモリバスまたはメモリコントローラ、周辺機器バス、および様々なバスアーキテクチャを使用するローカルバスを含む数種類のバス構造のうちのいずれでもよい。例えば、限定はしないが、このようなアーキテクチャとしては、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびMezzanineバスとも呼ばれるPeripheral Component Interconnect(PCI)バスがある。
コンピュータ110は、典型的には、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110によってアクセスされることができる媒体であればどのような媒体でも使用可能であり、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体を含む。例えば、限定はしないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、またはその他のデータなどの情報を格納する方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能媒体を含む。コンピュータ記憶媒体としては、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多目的ディスク(DVD)またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、しかもコンピュータ110によりアクセスできるその他の媒体がある。通信媒体は、通常、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくはその他のトランスポートメカニズムなどの変調データ信号によるその他のデータを具現するものであり、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号内に情報を符号化するような方法で特性のうちの1つまたは複数が設定または変更された信号を意味する。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、高周波、赤外線、およびその他の無線媒体などの無線媒体がある。上記のいずれの組合せもコンピュータ可読媒体の範囲に収まらなければならない。
システムメモリ130は、読み取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ110内の要素間の情報伝送を助ける基本ルーチンを含む基本入出力システム133(BIOS)は、通常、ROM 131に格納される。通常、RAM 132は、演算処理装置120に直接アクセス可能な、および/または演算処理装置120によって現在操作されているデータおよび/またはプログラムモジュールを格納する。例えば、限定はしないが、図2は、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を例示している。
コンピュータ110はさらに、その他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータ記憶媒体を備えることもできる。例にすぎないが、図2は、取り外し不可能な不揮発性磁気媒体の読み書きを行うハードディスクドライブ141、取り外し可能な不揮発性磁気ディスク152の読み書きを行う磁気ディスクドライブ151、およびCDROMまたはその他の光媒体などの取り外し可能な不揮発性光ディスク156の読み書きを行う光ディスクドライブ155を例示している。例示的な動作環境において使用できる他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータ記憶媒体としては、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタル多目的ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどがある。ハードディスクドライブ141は、典型的には、インターフェース140などの取り外し不可能メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、典型的には、インターフェース150などの取り外し可能メモリインターフェースによりシステムバス121に接続される。
図2に例示されている上記のドライブおよび関連コンピュータ記憶媒体は、コンピュータ110用のコンピュータ可読命令、データ構造体、プログラムモジュール、およびその他のデータを格納する機能を備える。例えば、図2では、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を格納するものとして例示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じである場合もあれば異なる場合もあることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147に対しては、ここで、異なる番号を割り当てて、最低でも、それらが異なるコピーであることを示している。ユーザは、キーボード162、およびマウス、トラックボール、またはタッチパッドと一般に呼ばれるカーソル制御デバイス161などの入力デバイスを介してコンピュータ20にコマンドおよび情報を入力できる。Webカメラ(ウェブカム)などのカメラ163は、ユーザの画像を供給するなど、コンピュータ110に関連する環境の画像を取り込み、入力することができる。ウェブカム163は、オンデマンドで、例えば、ユーザにより指示されたときに画像を取り込むか、またはコンピュータ110の制御の下で定期的に写真を撮ることができる。他の入力デバイス(図に示されていない)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。これらの入力デバイスやその他の入力デバイスは、システムバスに結合されている入力インターフェース160を介して演算処理装置120に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースおよびバス構造により接続することもできる。モニタ191またはその他の種類の表示デバイスも、グラフィックスコントローラ190などのインターフェースを介してシステムバス121に接続される。モニタの他に、コンピュータはさらにスピーカ197およびプリンタ196などの他の周辺出力デバイスも備えることができ、これらは出力周辺機器インターフェース195を介して接続することができる。
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の共通ネットワークノードでもよく、典型的には、コンピュータ110に関係する上述の要素の多くまたはすべてを含むが、メモリ記憶デバイス181だけが図2に例示されている。図2に示されている論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネット、およびインターネットでは一般的である。
LANネットワーキング環境で使用される場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN 171に接続される。WANネットワーキング環境で使用される場合、コンピュータ110は、典型的には、インターネットなどのWAN 173上で通信を確立するためモデム172またはその他の手段を備える。モデム172は、内蔵でも外付けでもよいが、入力インターフェース160または他の適切なメカニズムを介してシステムバス121に接続されうる。ネットワーク接続環境では、コンピュータ110またはその一部に関して示されているプログラムモジュールは、リモートメモリ記憶装置デバイスに格納されうる。例えば、限定はしないが、図2はリモートアプリケーションプログラム185をメモリデバイス181に置かれているものとして例示している。
通信接続170 172により、デバイスは他のデバイスと通信することができる。複数の通信接続170 172は、通信媒体の一実施例である。通信媒体は、通常、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくはその他のトランスポートメカニズムなどの変調データ信号によるその他のデータを具現するものであり、任意の情報配信媒体を含む。「変調データ信号」は、信号内の情報を符号化する方法によりその特性のうち1つまたは複数が設定または変更された信号であるとしてよい。例えば、限定はしないが、通信媒体としては、有線ネットワークまたは直接配線接続などの有線媒体、および、音響、RF、赤外線、およびその他の無線媒体などの無線媒体がある。コンピュータ可読媒体は、記憶媒体と通信媒体の両方を含むことができる。
図3は、図1のネットワーク10に類似の、または結合できる、例示的なピアツーピアネットワークを示している。ピアツーピアネットワーク200は、ネットワーク208 210 212により結合された個別のクラウド202 204 206を持つことができる。これらのネットワークは、有線でも無線でもよく、インターネットプロトコルバージョン6(IPv6)をサポートすることができる。クラウド202は、コンピュータ214 216を備えることができる。それぞれのコンピュータは、複数のエンドポイントをサポートすることができ、例えば、エンドポイント1 218およびエンドポイント2 220をサポートするコンピュータ216が示されている。コンピュータ222および224を備えるクラウド204が図に示されている。3つのエンドポイント226 228および230をサポートするコンピュータ224が図に示されている。コンピュータ232および234を備えるクラウド206が図に示されている。この実施例に関しては、エンドポイントをサポートするクラウド206のコンピュータは図に示されていない。この例示的な実施形態では、それぞれのコンピュータおよびその関連するエンドポイントが、それぞれのクラウド202 204 206内に示されており、これはおそらくネットワークトポロジを示している。
エンドポイント218 220 226 228 230はそれぞれ、プロセス、ファイル、lPアドレスなどとすることができる。それぞれのエンドポイントは、それぞれのクラウド内のピアツーピアネットワーク200上で発見されるように明示的に登録されなければならない。例えば、1つのエンドポイント218が、クラウド202において登録することを望んでいる場合、後述のPeerPNRPRegister呼び出しを使用することができる。PeerPNRPRegister呼び出しは、それ専用のリンクローカルクラウド202に制限されるようにできる。同様に、クラウド204内のエンドポイント、例えば、エンドポイント230は、ローカルでクラウド204内に登録できる。PeerPNRPUpdateRegistration呼び出しは、エンドポイントに関するデータ、例えば、IPアドレスが変更された場合に使用することができる。エンドポイントが、ピアツーピアネットワークから削除されることを望んでいる場合、PeerPNRPUnregister呼び出しが発行されることができる。ピアツーピアネットワークを通じてピアツーピアネットワーク登録情報を伝播させる方法は、知られており、またきちんと文書化されており、したがって、ここではこれ以上説明しない。
図4は、ピアツーピアネットワーキングのより複雑な実施形態を表している。ピアツーピアネットワーク300は、クラウド302、304、および306を備える。クラウドは、それぞれのネットワーク接続308、310、および312により結合することができる。クラウド302内のコンピュータ314は、1つまたは複数のエンドポイント(図に示されていない)を持つことができる。コンピュータ316は、クラウドの外部にあるが、クラウド302内のエンドポイント1 322を、クラウド304内にエンドポイント2 324を有する。この方法で構成されたコンピュータ316は、トポロジ的に編成されたネットワーク内の異なるポイントに接続でき、また異なるネットワーク内の異なるエンドポイントを公開することができる。
コンピュータ318は、クラウド306内にあるように示されているが、コンピュータ320は、クラウド304と306の両方で構成されるように示されている。この場合、コンピュータ320は、クラウド304と306の両方の論理要素であってよい。これは、エンドポイント326を両方のクラウドにおいて同時に公開することができる。
登録指向の呼び出しに関する入出力情報および構造文書が続く。登録後、ハンドルを返し、そのハンドルを持つ特定のエンドポイントに関して将来の呼び出しで使用することができる。
エンドポイントデータを返す呼び出しは、空集合を返すことができる、言い換えると、データを何も返さない。これは、クラウドまたはエンドポイントに対する名前登録データを既存のエンティティと一致し得ない場合と考えられる。この場合、データを伴わずに戻ることが、重要であり、有用である。
PeerPnrpRegister−このメソッドは、PNRPエンドポイントを登録するために使用される。このインフラストラクチャは、登録するすべてのクラウド内のアドレスを選び、アドレス変更イベント、再登録を必要に応じて監視する。
PEER_PNRP_REGISTER_INFOは、登録を実行する方法に関する追加情報を示す。概念的には、APIの単純モードは、この引数に対しnullをわたす。複雑な設定は、実際には構造体を使用することによりアクセスされる。
PeerPnrpRegisterの呼び出しの中のpRegInfoは、NULLであってよい。これは、以下の値とともにPEER_PNRP_REGISTER_lNFOをわたすことと同等である。
PEER_PNRP_AUTO_ADDRESSESが使用される場合(またはNULLがpReglnfoにわたされる場合)、APIは、登録するアドレスに対し適切な値を選択するだけでなく、それらの登録を最新状態に保つ。新しいクラウドが出現すると、それらに自動的に登録する。ローカルマシン上のアドレスが変更された場合、現在の登録は、新しいアドレスで更新される。
PeerPnrpUpdateRegistration−このメソッドは、PNRPエンドポイントの登録を更新するために使用される。
登録に関するすべての事柄が、変更できるわけではない。特に、クラウド名は、変更することができず、cAddressesは、自動選択されたアドレスと指定されたアドレスとの間で切り替えられない。更新された登録データは、1つまたは複数のクラウドを指定するデータおよび1つまたは複数のアドレス/ソケット情報の対に関するデータを含むことができるが、与えられた対について、アドレスまたはソケット情報はnullであってもよい。
PeerPnrpUnregister−このメソッドは、PNRPエンドポイント登録を削除する。
ピアツーピアネットワーク200への参加者は、ピアツーピアネットワーク上で利用可能な資源、例えば、他のエンドポイントに関する情報を収集することを望んでいる場合がある。Simple PNRP APIでは、クラウドおよび他のエンドポイントに関する情報を決定するための複数の呼び出しをサポートする。クラウド情報は、後述のように、PeerPnrpGetCloudInfo呼び出しを発行することにより返すことができる。
PeerPnrpGetCloudInfo−このメソッドは、すべてのクラウド名を取り出す。
ピアツーピアネットワーク内のエンドポイントに関する情報を取り出すためのオプションが2つある。最初に、ピア名からエンドポイントを取り出すことに関連するプロセスおよび同期(ブロッキング)方式の関連データを処理し、解決プロセスが完了すると結果を返す。第2のオプションでは、2ステッププロセスでエンドポイントを解決する。第1のステップで、非同期(非ブロッキング)方式でデータ収集を開始する。ほとんどの場合、この非同期方式では、他のピアツーピアネットワーク活動を含む、他の活動を並列に実行することができるため、より実用的と考えられる。第2のステップは、非ブロッキング解決ステップ実行時に蓄積された特定のエンドポイントデータを取り出すことを伴う。
同期(ブロッキング)呼び出しについて、以下で説明する。
PeerPnrpResolve−このメソッドは、同期(ブロッキング)解決を実行する。
PeerPnrpResolve−このメソッドは、同期(ブロッキング)解決を実行する。
非ブロッキング機能では、PeerPnrpStartResolveを使用する。特定のタイムアウトを使用するには、非同期バージョンを使用する。
CloudNameがnullで、すべてのクラウド内で解決が実行される場合、それぞれのクラウド内で同時に解決が発行される。このメソッドは、クラウドの任意の組合せから十分な結果を受け取るとすぐに戻る。
CloudNameがnullで、すべてのクラウド内で解決が実行される場合、それぞれのクラウド内で同時に解決が発行される。このメソッドは、クラウドの任意の組合せから十分な結果を受け取るとすぐに戻る。
非同期(非ブロッキング)呼び出し、および解決プロセスを停止し、利用可能な場合に結果を取り出すための関係する呼び出しについて、以下で説明する。
PeerPnrpStartResolve−このメソッドは、非同期(非ブロッキング)解決を実行する。これは、特に、複数のエンドポイントが望ましい場合に、解決を実行する推奨される方法である。
PeerPnrpStartResolve−このメソッドは、非同期(非ブロッキング)解決を実行する。これは、特に、複数のエンドポイントが望ましい場合に、解決を実行する推奨される方法である。
結果が見つかると、hEventが通知される。次いで、アプリケーションは、PeerPnrpGetEndpointを呼び出して、解決された(複数の)エンドポイントを取り出すことができる。他の実施形態では、結果は、要求側プロセスへのコールバックを介して、戻すことができる。
PeerPnrpStopResolve−このメソッドは、PeerPnrpStartResolveの呼び出しから進行中の解決を取り消す。
ピアツーピアネットワークを解決するプロセスに十分なデータがある場合、エンドポイントに関するデータが利用可能にされる。次いで、データは、PeerPnrpGetEndpoint呼び出しを使用して第2のステップで取り出されうる。
PeerPnrpGetEndpoint−このメソッドは、PeerPnrpStartResolveの前の呼び出しからエンドポイントを取り出すために使用される。
このメソッドは、PeerPnrpStartResolveおよびPeerPnrpStopResolveも含む非同期解決PnrpAPIの一部である。
PNRPエンドポイントに関するデータを格納するために使用される構造体の詳細について、以下で説明する。
PNRPエンドポイントに関するデータを格納するために使用される構造体の詳細について、以下で説明する。
PeerPnrpEndpointInfo−PNRPエンドポイントを格納するために使用される主データ構造体。
前記の本文では本発明の様々な異なる実施形態の詳細な説明を述べているが、本発明の正当な範囲は、本特許の終わりで規定されている請求項の記述により定義されることは理解されるであろう。この詳細な説明は、一例にすぎないものとして解釈すべきであり、可能なすべての実施形態を説明することは不可能ではないとしても実用的ではないため、本発明のすべての可能な実施形態を説明しない。現行技術またはこの特許の出願日以降に開発された技術を使用して多数の代替え実施形態を実装することが可能であり、これは、本発明を定める請求項の範囲内にそのまま入るであろう。
したがって、多くの修正形態および変更形態は、本発明の精神および範囲から逸脱することなく本明細書で説明され、例示されている技術および構造において形成されうる。したがって、本明細書で説明されている方法および装置は、例示的なものにすぎず、本発明の範囲を制限するものではないことは理解されるであろう。
Claims (20)
- ライフサイクルにおいてピアツーピアネットワークへの参加をサポートするデータを伝達する方法を実行するためのコンピュータ実行可能命令を格納するコンピュータ可読媒体であって、前記方法は、
前記ピアツーピアネットワーク内のエンドポイントのステータスの変化に関してクラウド内の他のノードに通知する呼び出しを処理するステップと、
前記ピアツーピアネットワーク内の少なくとも1つの他のエンドポイントに関して名前登録データを交換する呼び出しを処理するステップと、
前記ピアツーピアネットワーク内の前記少なくとも1つの他のエンドポイントに関して前記名前登録データのうちの1つを報告する呼び出しを処理するステップとを含み、前記名前登録データは、ピア識別子、アドレス/ポートの対の個数、アドレス/ポートの対の配列、および前記少なくとも1つの他のエンドポイントに対応するペイロードのうちの少なくとも1つを有するデータ構造体を含み、null値がエンドポイントが見つからなかったことを示すデータであることを特徴とするコンピュータ可読媒体。 - 前記エンドポイントのステータスの変化に関してクラウド内の他のノードに通知する前記呼び出しを処理するステップは、
ピア名を含む複数の呼び出しパラメータを有するエンドポイントデータを分配する呼び出しを受け取るステップと、
前記エンドポイントに関連する登録ハンドルを含むパラメータで応答するステップとを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。 - 前記エンドポイントのステータスの変化に関してクラウド内の他のノードに通知する呼び出しを処理するステップは、
ピア名、1つまたは複数のクラウドを指定するクラウドデータ、および1つまたは複数のアドレス/ソケット情報の対のうちの少なくとも1つを含む複数の呼び出しパラメータを有するPeerPnrpRegister呼び出しを受け取るステップを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。 - 前記エンドポイントのステータスの変化に関してクラウド内の他のノードに通知する呼び出しを処理するステップは、前記エンドポイントに関連付けられている登録ハンドルおよび更新された登録データのうちの少なくとも1つを含む複数の呼び出しパラメータに関する登録データを変更する呼び出しを受け取るステップを含み、前記更新された登録データは1つまたは複数のクラウドを指定するクラウドデータおよび1つまたは複数のアドレス/ソケット情報の対のうちの少なくとも1つを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。
- 前記エンドポイントのステータスの変化に関してクラウド内の他のノードに通知する呼び出しを処理するステップは、前記ピア名に関連付けられている登録ハンドルを含む呼び出しパラメータを有するエンドポイントに関連付けられている登録データを削除する呼び出しを受け取るステップを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。
- 前記ピアツーピアネットワーク内の少なくとも1つの他のエンドポイントに関する名前登録データを交換する前記呼び出しを処理するステップは、
ピア名、クラウド名、および戻す結果の最大数のうちの少なくとも1つを含む複数の呼び出しパラメータを有するエンドポイント情報をブロッキング方式で収集する要求を受け取るステップと、
エンドポイントのゼロ個またはそれ以上のインスタンスに関するエンドポイント情報で応答するステップとを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。 - 前記ピアツーピアネットワーク内の少なくとも1つの他のエンドポイントに関する名前登録データを交換する呼び出しを処理するステップは、
ピア名、クラウド名、および戻す結果の最大数のうちの少なくとも1つを含む複数の呼び出しパラメータを有するエンドポイント情報を非ブロッキング方式で収集する要求を受け取るステップを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。 - さらに、コールバック、およびイベントハンドルを有するシグナルのうちの一方により結果を返すステップを含む請求項7に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。
- 前記ピアツーピアネットワーク内の少なくとも1つの他のエンドポイントに関する名前登録データを交換する呼び出しを処理するステップは、
インプロセス解決要求に関連付けられている少なくとも1つのイベントハンドルを含む呼び出しパラメータを有する前記インプロセス解決要求を停止する要求を受け取るステップを含む請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。 - 前記ピアツーピアネットワーク内の前記少なくとも1つの他のエンドポイントに関する前記データを報告する呼び出しを処理するステップは、
以前の解決要求に関連付けられているイベントハンドルを含む少なくとも1つの呼び出しパラメータを有する前記以前の解決要求の結果に対応するデータを受け取る要求を受け取るステップを含み、前記イベントハンドルは、ゼロ個またはそれ以上のエンドポイントに関する情報を有するデータ構造体を指し、前記データ構造体は他のエンドポイントのゼロ個またはそれ以上のピア識別子、前記他のエンドポイントに関連付けられている多数のアドレス/ポートの対、前記ペイロードのバイト数、および前記他の(複数の)エンドポイントに対する情報のペイロードに対応するエントリを有する請求項1に記載のコンピュータ実行可能命令を格納するコンピュータ可読媒体。 - 要求側プロセスとピアツーピアネットワーク内の通信をサポートするサービス提供側プロセスとの間で通信を行う方法であって、
第1のエンドポイントと前記ピアツーピアネットワーク内の、クラウドのメンバーおよび他のエンドポイントのうちの1つである少なくとも1つの他のエンティティとの間でデータを交換する呼び出しを処理するステップと、
前記ピアツーピアネットワーク内の前記少なくとも1つの他のエンドポイントに関する前記データを報告する呼び出しを処理するステップとを含む方法。 - データを交換する呼び出しを処理する前記ステップは、
前記要求側プロセスにより、PeerPnrpGetCloudInfo呼び出しを発行してすべてのクラウド名を取り出すステップと、
前記サービス提供側プロセスにより、PeerPnrpGetCIoudInfo呼び出しを受け取るステップと、
前記サービス提供側プロセスにより前記要求側プロセスに、返された多数のクラウド名および前記返されたクラウド名のそれぞれに対応する情報を含む応答を発行するステップとを含む請求項11に記載の方法。 - データを交換する呼び出しを処理する前記ステップは、
前記要求側プロセスにより、ピア名、クラウド名、および返すべき最大数の結果のうちの少なくとも1つを含むPeerPnrpResolve要求を発行するステップと、
前記サービス提供側プロセスにより、ブロッキング方式で前記要求を処理する、PeerPnrpResolve要求を受け取るステップと、
前記サービス提供側プロセスにより前記要求側プロセスに、結果が利用可能であることを通知し、前記結果を取り出す際に使用するイベントハンドルを含む応答を発行するステップとを含む請求項11に記載の方法。 - データを交換する呼び出しを処理する前記ステップは、
前記要求側プロセスにより、ピア名、クラウド名、および返すべき最大数の結果のうちの少なくとも1つを含むPeerPnrpStartResolve要求を発行するステップと、
前記サービス提供側プロセスにより、非ブロッキング方式で前記要求を処理する、PeerPnrpStartResolve要求を受け取るステップと、
前記サービス提供側プロセスにより前記要求側プロセスに、結果が利用可能であることを通知し、前記結果を取り出す際に使用するイベントハンドルを含む応答を発行するステップとを含む請求項11に記載の方法。 - データを交換する呼び出しを処理する前記ステップは、
前記要求側プロセスにより、エンドポイントデータを少なくとも1つの関連付けられているクラウドに追加する、ピア名を含むPeerPnrpRegister呼び出しを発行するステップと、
前記サービス提供側プロセスにより、PeerPnrpRegister呼び出しを受け取り、前記エンドポイントおよびピア名に関するデータをゼロ個またはそれ以上の他のエンティティに送信するステップと、
前記サービス提供側プロセスにより、前記エンドポイントデータに関連付けられている登録ハンドルを含む応答を前記要求側プロセスに発行するステップとを含む請求項11に記載の方法。 - 前記要求側プロセスにより、PeerPnrpRegister呼び出しを発行するステップは、
前記要求側プロセスにより、エンドポイントデータを少なくとも1つの関連付けられているクラウドに追加するPeerPnrpRegister呼び出しを発行するステップを含み、前記呼び出しはピア名と少なくとも1つの登録パラメータを含み、前記登録パラメータはクラウド名、公開するアドレスの個数、アドレス/ソケットの対の配列、自動的に選択されたアドレスに対するポート、コメントフィールド、および前記登録に対応する情報のペイロードのうちの少なくとも1つを含む請求項15に記載の方法。 - データを交換する呼び出しを処理する前記ステップは、
前記要求側プロセスにより、前記ピアツーピアネットワークの少なくとも一部の中のエンドポイントデータを更新する、ピア名および更新されたエンドポイントデータを含むPeerPnrpUpdateRegistration呼び出しを発行するステップと、
前記サービス提供側プロセスにより、PeerPnrpUpdateRegistration呼び出しを受け取り、前記ピア名および更新されたエンドポイントデータを含むデータを少なくとも1つ他の周辺エンティティに送信するステップとを含む請求項11に記載の方法。 - ピアツーピアネットワークに参加するように適合されたコンピュータであって、
ネットワークを介してデータを交換するためのネットワーク通信デバイスと、
機械可読命令を格納するメモリと、
プロセッサであって、
ピア名と単一の属性事前定義値とを持つ、ピアツーピアネットワークエンドポイントを登録する呼び出しを処理するステップと、
前記ピアツーピアネットワークに登録する有効なアドレスを選択するステップとを含む方法を実行する機械可読命令を実行するプロセッサとを備えるコンピュータ。 - 前記メモリは、
ホストマシンアドレスが変更されたときに前記有効なアドレスを自動的に更新するステップをさらに含む前記方法を実行する命令を格納する請求項18に記載のコンピュータ。 - 前記メモリは、
前記新しいクラウドが発見されたときに新しいクラウド内の前記有効なアドレスを自動的に更新するステップをさらに含む前記方法を実行する命令を格納する請求項18に記載のコンピュータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/241,393 US8255546B2 (en) | 2005-09-30 | 2005-09-30 | Peer name resolution protocol simple application program interface |
PCT/US2006/038627 WO2007041580A1 (en) | 2005-09-30 | 2006-10-02 | Peer name resolution protocol simple application program interface |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009510638A true JP2009510638A (ja) | 2009-03-12 |
Family
ID=37901820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008533777A Withdrawn JP2009510638A (ja) | 2005-09-30 | 2006-10-02 | ピア名解決プロトコルの簡易アプリケーションプログラムインターフェース |
Country Status (11)
Country | Link |
---|---|
US (1) | US8255546B2 (ja) |
EP (1) | EP1934788A1 (ja) |
JP (1) | JP2009510638A (ja) |
KR (1) | KR20080063282A (ja) |
CN (1) | CN101278274A (ja) |
AU (1) | AU2006299461A1 (ja) |
BR (1) | BRPI0616488A2 (ja) |
CA (1) | CA2623861A1 (ja) |
NO (1) | NO20081331L (ja) |
RU (1) | RU2008112155A (ja) |
WO (1) | WO2007041580A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255546B2 (en) * | 2005-09-30 | 2012-08-28 | Microsoft Corporation | Peer name resolution protocol simple application program interface |
US20090282155A1 (en) * | 2008-05-09 | 2009-11-12 | Mavenir Systems, Inc. | Providing peer-to-peer media |
US8532108B2 (en) * | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
US8924569B2 (en) * | 2009-12-17 | 2014-12-30 | Intel Corporation | Cloud federation as a service |
US9106675B2 (en) * | 2010-06-17 | 2015-08-11 | International Business Machines Corporation | Intelligent network storage planning within a clustered computing environment |
US9356964B2 (en) * | 2012-11-02 | 2016-05-31 | Aruba Networks, Inc. | Application based policy enforcement |
WO2017107018A1 (zh) * | 2015-12-21 | 2017-06-29 | 华为技术有限公司 | 应用拓扑关系发现的方法、装置和系统 |
CN108616572A (zh) * | 2018-03-29 | 2018-10-02 | 阿里巴巴集团控股有限公司 | 通信方法、装置及设备 |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586264A (en) * | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
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 |
US6205481B1 (en) * | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6252884B1 (en) * | 1998-03-20 | 2001-06-26 | Ncr Corporation | Dynamic configuration of wireless networks |
US6269099B1 (en) * | 1998-07-01 | 2001-07-31 | 3Com Corporation | Protocol and method for peer network device discovery |
US6725281B1 (en) * | 1999-06-11 | 2004-04-20 | Microsoft Corporation | Synchronization of controlled device state using state table and eventing in data-driven remote device control model |
US6910068B2 (en) * | 1999-06-11 | 2005-06-21 | Microsoft Corporation | XML-based template language for devices and services |
US6892230B1 (en) * | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US6898200B1 (en) * | 1999-10-29 | 2005-05-24 | Nortel Networks Limited | Method for improving signaling efficiency and performing service load balancing in a connection oriented network |
US6748420B1 (en) * | 1999-11-23 | 2004-06-08 | Cisco Technology, Inc. | Methods and apparatus for providing shared access to an application |
JP2001326632A (ja) * | 2000-05-17 | 2001-11-22 | Fujitsu Ltd | 分散グループ管理システムおよび方法 |
US7031268B1 (en) * | 2000-05-17 | 2006-04-18 | Cisco Technology, Inc. | Call optimization in ad-hoc conference calls |
US7194689B2 (en) * | 2000-08-22 | 2007-03-20 | Microsoft Corporation | Generic user control point tool for universal plug and play (UPnP) devices |
US7353027B2 (en) * | 2000-10-18 | 2008-04-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Seamless handoff in mobile IP |
US7171475B2 (en) * | 2000-12-01 | 2007-01-30 | Microsoft Corporation | Peer networking host framework and hosting API |
US6636854B2 (en) * | 2000-12-07 | 2003-10-21 | International Business Machines Corporation | Method and system for augmenting web-indexed search engine results with peer-to-peer search results |
US6826198B2 (en) * | 2000-12-18 | 2004-11-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Signaling transport protocol extensions for load balancing and server pool support |
US20040213220A1 (en) * | 2000-12-28 | 2004-10-28 | Davis Arlin R. | Method and device for LAN emulation over infiniband fabrics |
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 |
US6801974B1 (en) * | 2001-01-26 | 2004-10-05 | Dell Products L.P. | Method of filtering events in a combinational computing device |
US7065587B2 (en) * | 2001-04-02 | 2006-06-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith |
US7272636B2 (en) * | 2001-04-24 | 2007-09-18 | Sun Microsystems, Inc. | Peer group name server |
US6961723B2 (en) * | 2001-05-04 | 2005-11-01 | Sun Microsystems, Inc. | System and method for determining relevancy of query responses in a distributed network search mechanism |
US7493363B2 (en) * | 2001-09-19 | 2009-02-17 | Microsoft Corporation | Peer-to-peer group management and method for maintaining peer-to-peer graphs |
US7068789B2 (en) * | 2001-09-19 | 2006-06-27 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method |
US7299351B2 (en) * | 2001-09-19 | 2007-11-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
US6674459B2 (en) * | 2001-10-24 | 2004-01-06 | Microsoft Corporation | Network conference recording system and method including post-conference processing |
US7337402B2 (en) * | 2001-11-09 | 2008-02-26 | Microsoft Corporation | Tunable information presentation appliance using an extensible markup language |
US7962605B2 (en) * | 2001-11-20 | 2011-06-14 | Microsoft Corporation | Distributed device discovery framework for a network |
US20030188010A1 (en) | 2002-03-27 | 2003-10-02 | Imran Raza | Peer to peer mixed media messaging |
US7177929B2 (en) * | 2002-03-27 | 2007-02-13 | International Business Machines Corporation | Persisting node reputations in transient network communities |
US6912622B2 (en) * | 2002-04-15 | 2005-06-28 | Microsoft Corporation | Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol |
US7206862B2 (en) * | 2002-04-24 | 2007-04-17 | Microsoft Corporation | Method and apparatus for efficiently matching responses to requests previously passed by a network node |
US7051102B2 (en) * | 2002-04-29 | 2006-05-23 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
US7277946B2 (en) * | 2002-06-28 | 2007-10-02 | Microsoft Corporation | Distributed session listing and content discovery |
US7613812B2 (en) * | 2002-12-04 | 2009-11-03 | Microsoft Corporation | Peer-to-peer identity management interfaces and methods |
US7430747B2 (en) * | 2002-12-04 | 2008-09-30 | Microsoft Corporation | Peer-to peer graphing interfaces and methods |
US7596625B2 (en) * | 2003-01-27 | 2009-09-29 | Microsoft Corporation | Peer-to-peer grouping interfaces and methods |
US7437440B2 (en) * | 2003-01-27 | 2008-10-14 | Microsoft Corporation | Peer-to-peer networking framework application programming interfaces |
US7774495B2 (en) * | 2003-02-13 | 2010-08-10 | Oracle America, Inc, | Infrastructure for accessing a peer-to-peer network environment |
US20040181487A1 (en) * | 2003-03-10 | 2004-09-16 | Microsoft Corporation | Digital media clearing house platform |
US7245622B2 (en) * | 2003-03-27 | 2007-07-17 | Microsoft Corporation | Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload |
US7577750B2 (en) * | 2003-05-23 | 2009-08-18 | Microsoft Corporation | Systems and methods for peer-to-peer collaboration to enhance multimedia streaming |
US7418486B2 (en) * | 2003-06-06 | 2008-08-26 | Microsoft Corporation | Automatic discovery and configuration of external network devices |
US7533184B2 (en) * | 2003-06-13 | 2009-05-12 | Microsoft Corporation | Peer-to-peer name resolution wire protocol and message format data structure for use therein |
US20040255029A1 (en) * | 2003-06-16 | 2004-12-16 | Microsoft Corporation | Discovery and control protocol for intelligent displays |
US7496648B2 (en) * | 2003-10-23 | 2009-02-24 | Microsoft Corporation | Managed peer name resolution protocol (PNRP) interfaces for peer to peer networking |
US7949996B2 (en) * | 2003-10-23 | 2011-05-24 | Microsoft Corporation | Peer-to-peer identity management managed interfaces and methods |
US7336623B2 (en) * | 2003-10-30 | 2008-02-26 | Microsoft Corporation | Peer-to-peer cloud-split detection and repair methods |
US20050177715A1 (en) * | 2004-02-09 | 2005-08-11 | Microsoft Corporation | Method and system for managing identities in a peer-to-peer networking environment |
US7454465B2 (en) * | 2004-03-26 | 2008-11-18 | Microsoft Corporation | Real-time collaboration and communication in a peer-to-peer networking infrastructure |
US7848332B2 (en) * | 2004-11-15 | 2010-12-07 | Cisco Technology, Inc. | Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary |
US20060193265A1 (en) * | 2005-02-25 | 2006-08-31 | Microsoft Corporation | Peer-to-peer name resolution protocol with lightweight traffic |
US7826396B2 (en) * | 2005-03-07 | 2010-11-02 | Miller John L | System and method for implementing PNRP locality |
US7817647B2 (en) * | 2005-04-22 | 2010-10-19 | Microsoft Corporation | Flower-petal resolutions for PNRP |
US8255546B2 (en) * | 2005-09-30 | 2012-08-28 | Microsoft Corporation | Peer name resolution protocol simple application program interface |
-
2005
- 2005-09-30 US US11/241,393 patent/US8255546B2/en active Active
-
2006
- 2006-10-02 BR BRPI0616488-9A patent/BRPI0616488A2/pt not_active Application Discontinuation
- 2006-10-02 EP EP06816114A patent/EP1934788A1/en not_active Withdrawn
- 2006-10-02 CA CA002623861A patent/CA2623861A1/en not_active Abandoned
- 2006-10-02 WO PCT/US2006/038627 patent/WO2007041580A1/en active Application Filing
- 2006-10-02 KR KR1020087007110A patent/KR20080063282A/ko not_active Application Discontinuation
- 2006-10-02 CN CNA2006800363494A patent/CN101278274A/zh active Pending
- 2006-10-02 AU AU2006299461A patent/AU2006299461A1/en not_active Abandoned
- 2006-10-02 RU RU2008112155/09A patent/RU2008112155A/ru not_active Application Discontinuation
- 2006-10-02 JP JP2008533777A patent/JP2009510638A/ja not_active Withdrawn
-
2008
- 2008-03-13 NO NO20081331A patent/NO20081331L/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
BRPI0616488A2 (pt) | 2011-06-21 |
US8255546B2 (en) | 2012-08-28 |
WO2007041580A1 (en) | 2007-04-12 |
RU2008112155A (ru) | 2009-10-10 |
NO20081331L (no) | 2008-06-27 |
KR20080063282A (ko) | 2008-07-03 |
EP1934788A1 (en) | 2008-06-25 |
US20070076630A1 (en) | 2007-04-05 |
AU2006299461A1 (en) | 2007-04-12 |
CN101278274A (zh) | 2008-10-01 |
CA2623861A1 (en) | 2007-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009510638A (ja) | ピア名解決プロトコルの簡易アプリケーションプログラムインターフェース | |
JP6684850B2 (ja) | 分散台帳システム、分散台帳サブシステム、および、分散台帳ノード | |
JP4509916B2 (ja) | Snmp基盤のネットワーク管理装置および方法 | |
RU2345406C2 (ru) | Способ уведомления, устройство подключения, способ осуществления связи и программа | |
CN101202751B (zh) | 为虚拟联网设备提供简单网络管理协议数据的系统和方法 | |
CN116018788A (zh) | 为动态发现的对等体或网络功能配置服务网格联网资源 | |
JPS63205747A (ja) | 通信方法及びデータ処理システム | |
US20090106260A1 (en) | Method and System for Transferring Files | |
JP2005346573A (ja) | Webサービス提供方法、Webサービスシステムにおけるサーバ装置およびクライアント端末、Webサービスシステム、ならびに、Webサービスプログラムおよび記録媒体 | |
CN107172061A (zh) | 一种实现共享的方法和系统 | |
JP6683386B2 (ja) | データ転送システム、及びデータ転送方法 | |
CN111221655B (zh) | 管理OpenStack平台的资源的方法及装置 | |
JP2008191773A (ja) | ネットワーク対応機器及び機能提供方法 | |
WO2018032499A1 (zh) | 一种负载均衡的方法及相关装置 | |
EP3266151A1 (en) | Methods and systems for requesting access to limited service instances | |
EP3928566A1 (en) | Entities for providing an external service to a network | |
US10148518B2 (en) | Method and apparatus for managing computer system | |
CN112738256A (zh) | 一种dcp文件传输方法、服务器和计算机可读存储介质 | |
US8041671B2 (en) | Method and system for providing a homogeneous view of a distributed common information model (CIM) within a heterogeneous virtual system environment | |
US7792921B2 (en) | Metadata endpoint for a generic service | |
US11546405B2 (en) | Methods for exposing mainframe data as a web service and devices thereof | |
Kang et al. | Uss monitor: A monitoring system for collaborative ubiquitous computing environment | |
Lima Jr et al. | A framework for corba interoperability in ad hoc networks | |
JP5370000B2 (ja) | 情報処理プログラム、情報処理方法および情報処理装置 | |
CN117857642A (zh) | 一种数据访问处理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100105 |