JP2006528871A - デバイスのピン負荷を制御するライブネスピンプロトコル - Google Patents
デバイスのピン負荷を制御するライブネスピンプロトコル Download PDFInfo
- Publication number
- JP2006528871A JP2006528871A JP2006521104A JP2006521104A JP2006528871A JP 2006528871 A JP2006528871 A JP 2006528871A JP 2006521104 A JP2006521104 A JP 2006521104A JP 2006521104 A JP2006521104 A JP 2006521104A JP 2006528871 A JP2006528871 A JP 2006528871A
- Authority
- JP
- Japan
- Prior art keywords
- delay time
- pin
- pin load
- message
- value
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
ネットワークは、接続された1つのデバイス及び接続された1つのクライアントを含む。
デバイスは、複数のピンメッセージを受信する1つのレシーバ、受信した複数のピンメッセージをカウントする1つのカウンタ、及びカウント値に応じたピン負荷値を含む1つの応答メッセージを送信する1つのトランスミッタを含む。クライアントは、遅延時間を測定する1つのタイマ、前回のピンメッセージをデバイスに送信してから遅延時間が経過した後にデバイスに1つのピンメッセージを送信する1つのトランスミッタ、応答メッセージを受信する1つのレシーバ、及びデバイスのピン負荷に応じて遅延時間を調整する1つのコントローラを含む。
【選択図】図1
デバイスは、複数のピンメッセージを受信する1つのレシーバ、受信した複数のピンメッセージをカウントする1つのカウンタ、及びカウント値に応じたピン負荷値を含む1つの応答メッセージを送信する1つのトランスミッタを含む。クライアントは、遅延時間を測定する1つのタイマ、前回のピンメッセージをデバイスに送信してから遅延時間が経過した後にデバイスに1つのピンメッセージを送信する1つのトランスミッタ、応答メッセージを受信する1つのレシーバ、及びデバイスのピン負荷に応じて遅延時間を調整する1つのコントローラを含む。
【選択図】図1
Description
本出願は、2003年3月1日に出願された米国仮出願番号60/467294及び2003年7月23日に出願された米国仮出願番号60/489860の利益を主張するものである。
ネットワークは、多数の異なるベンダからの複数のスタンドアロンのデバイスと複数のパーソナルコンピュータ(PC)との間に接続性を提供する。1つのネットワークは、(デスクトップPC、プリンタ、及びスキャナのような)生産性の領域、(テレビ及びオーディオセットのような)娯楽の領域、(照明及びサーモスタット管理のような)ホームコントロール、及び(ラップトップコンピュータ、ユニバーサルリモートコントロール、移動電話、及び携帯情報端末のような)モバイル領域を含む数多くのデバイスを含む。これらのデバイスは、デバイスの動的な構成及び一過性の到達可能性を持ったネットワークを生み出すべく、取り外し可能にネットワークに接続される。そのようなネットワークの1つは、UPnP(UPnP Implementers Corporationの証明マーク)ネットワークである。
ネットワーク管理者への要求を削減する又は除去すべく、ネットワークに追加される複数のデバイスは"プラグアンドプレイ"であるかもしれない。異なるネットワークの間におけるデバイスのシームレスなローミングがあり得る。デバイスの数は、1つのネットワークにおいて少数個から何千個の範囲にわたる。全て又は一部のネットワークは無線かもしれないし、マルチキャストのユーザデータグラムプロトコル(UDP)パケットのサイズに厳しい上限を負わせる低い最大パケットサイズを持つかもしれない。無線ネットワークは、低い信頼性、低い帯域幅、及び頻繁なトポロジの変化を持つかもしれない。デバイスは、限られた処理及びメモリ性能を持つかもしれない。
ネットワークは、2つの論理的要素、複数のクライアント及び複数のデバイスを含み得る。複数のデバイスは、複数のクライアントに対してサーバの役割を果たす。PCのような1つの物理的なデバイスは、複合的な論理的要素を務める。このように、1つの物理的なデバイスは、同時にクライアント及びデバイスになることができる。1つのクライアントは、ネットワーク上にある複数のデバイスを発見して、それらが提供しているサービスを見つけ出すかもしれない。クライアントは、必要なときにそれらのサービスを使用し得る。UPnP(登録商標)ネットワークでは、クライアントは"コントロールポイント"と呼ばれる。
図1に示すように、ライブネスピンプロトコルは、複数のクライアント20及び複数のデバイス30を含む、UPnP(UPnP Implementers Corporationの証明マーク)のようなネットワーク10に対して定義されている。ライブネスピンプロトコルは、それぞれのデバイスにおけるプロトコルのオーバヘッドをコントロールしている間、どのデバイス30が到達可能であるかをクライアント20が決定することを可能にする。クライアント20がデバイス30の特定のサブセットをチェックすることを望んだ場合、チェックされるそれぞれのデバイスに対してライブネスピンプロトコルのセッションを開始する。クライアント20は、自由にそのサブセットを変え得る。クライアントは、ライブネスピンプロトコルを使用することを強制されるわけではない。典型的な実施例では、デバイスのサブセットは空であってもよい。
クライアントは、ユニキャストのユーザデータグラムプロトコル(UDP)を用いて送信されるLPINGメッセージを送信することによって、デバイスの存在をチェックし得る。デバイスは、UDPユニキャストパケットによるLREPLYメッセージで応答し得る。クライアントがタイムアウトより前に応答を受信しなかった場合、クライアントはLPINGメッセージを何度か、例えば3回、再送信してよい。デバイスが、LPINGメッセージ、又は使用された場合にはその再送信に対して、ある時間長さ内でLREPLYメッセージで応答しない場合には、クライアントはそのデバイスが到達不可能であると判断し得る。マルチキャスト通信でなくユニキャストの使用は、より大規模なネットワークにおいて、ネットワーク及びデバイスの負荷を減らし得る。リソースが制限されたデバイスにおいて高いダイナミクスを維持するためには、接続をセットアップ及び維持するのにより多くの時間及びリソースを要するTCPよりも、UDPが好まれるだろう。
エクステンションは任意である。メッセージの送信者はエクステンションを含むことを要求されていない。メッセージの受信者は、メッセージに含まれるどんなエクステンションも無視し得る。
多数のクライアントがデバイスの活性をチェックしている場合、ピン負荷はデバイスにとって大きくなりすぎるだろう。デバイスに負荷をかけすぎることを避けるべく、ピン負荷を制限するためのメカニズムが、ライブネスピンプロトコルによって提供される。LREPLYメッセージは、デバイスによって扱われているピンメッセージの数を示すピン負荷値を含む。一実施例においては、ピン負荷値は、デバイスによって受信されている、単位時間あたりのLPINGメッセージの数、例えば1秒あたりのメッセージの数である、PINGLOADであってよい。他の実施例においては、ピン負荷値は、それぞれのLPINGメッセージを受信する毎に増加させられるカウンタの値であるPINGCOUNTであってよい。
デバイスがクライアントからLPINGメッセージを受信したとき、ピンを制御するメカニズムを提供すべく、デバイスは、内部カウンタ、例えばPINGCOUNTを、PINGINCREASEのような一定の量の分量ずつ増加させる。デバイスのPINGLOADは、2つの連続するピンカウント、例えばPINGCOUNT及びLASTPINGCOUNTの間の差であって、秒で表現され得るその2つのカウントの間の時間、例えばPERIODで除された差として算出される。
内部カウンタは制限されたサイズを持ち、また、ピンカウントがその内部カウンタによって表現され得る最大の数を超えたときには、ラップアラウンドされ得ることが理解されるだろう。2つの連続するピンカウントの差は、カウンタがラップアラウンドしたことを認識し、そのカウンタがラップアラウンドしないほど十分大きかったかのように差の値を生む方法で算出され得る。いくつかの受信したLPINGメッセージを包含する期間の使用、PINGLOADに対する移動平均の算出、又は固定された期間でのPINGLOADの算出のように、PINGLOADを算出する他の方法を使用することもできる。
一実施形態では、デバイスは、PINGLOADのようなデバイスのピン負荷を算出してよく、LPINGメッセージを送信したクライアントに対して、デバイスのピン負荷の値をLREPLY応答メッセージで返してよい。他の実施例においては、デバイスは、LPINGメッセージを送信したクライアントに対して、PINGCOUNTの現在の値をLREPLY応答メッセージで返してよい。この実施例におけるデバイスの典型的な動作は、以下の仮想コードによって記述され得る。
クライアントは、デバイスから受信した前回のPINGCOUNT値を、例えばLASTPINGCOUNTとして保持し、ピン負荷値PINGCOUNTと前回受信したピン負荷値LASTPINGCOUNTとの差を用いて、デバイスのピン負荷を算出してよい。さらに、クライアントは、デバイスに送信した連続するLPINGの間隔を、PERIODとして計時してよい。これらの値を用いて、クライアントは、LREPLYメッセージを受信したときに、デバイスのピン負荷値PINGLOAD値を計算してよい。
デバイスのPINGLOADを制限すべく、クライアントには、ランダム化された小さな値をさらに含むあるDELAYを、2つの連続するLPINGメッセージの間に、少なくとも持つことが要求される。このDELAYの値は、一組のルールによって規定され得る。クライアントは、LPINGメッセージを送信するためにそのDELAYより長く待つことができる。このように、DELAYはPERIODに対する下限となり得る。クライアントがデバイスのPINGLOADがある閾値、例えばHIGHTHRESHOLDより高いことを検出したとき、実効的なPINGLOADを下げるべく、当該DELAYを増加させてよい。クライアントが、PINGLOADがある閾値、例えばLOWTHRESHOLDより小さくなったことを検出したとき、実効的なPINGLOADを上げるべく、当該DELAYを低下させてよい。これは、以下の典型的な適応ルールによって取り込むことができる。
パラメータHIGHTHRESHOLD及びLOWTHRESHOLDは、単位時間あたりの複数のピン、例えば1秒間あたりの複数のピンで表現される固定された定数であってよい。当該定数は、それらがデバイスにおいて許容できる負荷に導くよう定義されてよい。HIGHTHRESHOLD及びLOWTHRESHOLDの間の差は、当該DELAYが速やかにHITHRESHOLDとLOWTHRESHOLDとの間に安定化すべく十分大きく設定され得る。典型的な実施例において、ルールR1における定数2でのDELAYの増加、及びルールR2における定数2/3でのDELAYの低下が使用された。この典型的な実施例におけるLOWTHRESHOLD/HIGHTHRESHOLDの比は、DELAYが速やかにHIGHTHRESHOLDとLOWTHRESHOLDとの間の値に達するよう、2/3より小さかった。これらの値の選択は、シミュレーション結果に基づいてよい。
図2は、異なる閾値の具体的な値を持つ典型的な実施例を示す。デバイス30は、PINGINCREASE値100を持つ。クライアントCP1 20は、デバイス30に1秒毎に1度ピンしている。現在のPINGLOADは高い閾値100と同じである。クライアントCP1 20はLPING200を送信する。他のクライアントはデバイス30にピンしていないので、デバイス30はクライアントCP1に送信した前回のLREPLYより1PINGINCREASEだけ大きいX+100のPINGCOUNT値を含むLREPLY202を送信する。CP2 22が同じデバイスにピンを開始すると、デバイス30は、CP2からLPING204を受信した後にPINGCOUNTを増やして、PINGCOUNT値X+200を含むLREPLY206をCP2に送信する。クライアントCP1 20は、その次のLPING208を、直前のLREPLY202の約1秒後のDELAY時間214で送信する。デバイス30は、CP1からのLPING208を受信した後にPINGCOUNTを増加して、PINGCOUNT値X+300を含むLREPLY210をCP1に送信する。CP1は、割り込んできたCP2からのピンが、CP1の見る後続のPINGCOUNTに、CP2がピンを開始する前の100ではなく200だけ増加をもたらしたので、高い閾値が越えられた旨を検出する。CP1は、式212で示されるように、PINGLOADを200と算出する。その結果、CP1は、連続するデバイスのピン間のDELAY216を、約2秒にまで倍増する。
同様にして、クライアントCP2がデバイスをピンすることを停止した場合、PINGLOADは減少する。CP1は、CP2がピンしていたときの200ではなく100だけの、後続するPINGCOUNTの増加を知るだろう。PINGLOADが低い閾値より小さくなったとき、ルールR2が適用されてCP1はそのDELAYを低下させることができる。
動的な環境では、1つのデバイスに関与している複数のクライアントの組はめまぐるしく変わる。ルールR1及びR2が、変化した状況に自動的にDELAYを適合させているときに、クライアントの数の突然の減少は、デバイスの利用不能の適時な検出を保証するには低すぎるPINGLOADに導き得る。残りのクライアントが再びピンして、それらのピン周波数を増加することができるのに気付くまでには長い時間を要する。この作用を制限すべく、最大のDELAYがMAXDELAYと呼ばれるファクタによって制限され得る。ルールR1の適用は以下になり得る。
同様に、新たなクライアントの突然の到来は、高い閾値を超えるPINGLOADを一時的にもたらす。この作用を制限すべく、最小のDELAY、MINDELAYが導入され得る。ルールR2の適用は以下になり得る。
MAXDELAY及びMINDELAYは共に定数であってよく、秒単位で表現されてよい。
デバイスは、デバイスによって受信されたピン毎のPINGCOUNTを増加させる変数PINGINCREASEの値を静的又は動的に選択することによって、それらのPINGLOADを調整する。そのプロトコルが安定化したとき、デバイスが提供するLPINGメッセージの秒あたりの最大数は以下になる。
図2に示される典型的な実施例では、HIGHTHRESHOLDが100に等しかったので、100のPINGINCREASEは、秒あたりわずか1つのLPINGを受信するという結果になった。より高性能なデバイスは、より低いPINGINCREASE値を選択することができる。例えば、1のPINGINCREASEでは、安定した状況においては秒あたり100個までのライブネスピンを受信しただろう。PINGINCREASEの変更は、ネゴシエーション又はさらなるオペレーションを要することなく、ネットワーク及びデバイスにおける負荷を制限し得る。
ライブネスピンプロトコルは、1つのデバイスのPINGLOADがMAXPINGPERSECを超えないことを保証する。デバイスは、2×MAXPINGPERSECパケット/秒を超えて送信及び受信する必要はないだろう。このルールに対する例外として、動的な環境における自己回復を保証すべく、クライアントの数がMAXDELAY×MAXPINGPERSECを超えて増大しても、クライアントはMAXDELAY秒毎に1度ピンすることを許容されていてよい。#Cクライアント及び#Dデバイスがあるとすると、ライブネスピンプロトコルに関係したメッセージの数は以下になるだろう。
ライブネスピンプロトコルは、一のクライアントからの連続するピンの間の時間を増加させることによって、デバイスに対するPINGメッセージのオーバーヘッドを制限し得る。それは、クライアントがネットワークからのデバイスの消失を検出するのに要する時間長さを増加させるかもしれない。プロクシ−バイ・プロトコルは、ネットワークからのデバイスの消失をより速やかにクライアントに通知すべく使用され得る。プロクシ−バイ・プロトコルは、クライアント間に限って行われる。多数のクライアントが同じデバイスの活性をチェックしていると、そのクライアントは、(PINGLOAD制御によって)連続するLPINGメッセージ間の長いDELAYを持つことになるだろう。デバイスが到達不可能になったことをクライアントができるだけ速く発見することを保証すべく、デバイスが消失したことを検出した最初のクライアントが、プロクシ−バイ・プロトコルによって他のクライアントに通知する。
クライアントCPは、LPINGメッセージを送信することによってデバイスの存在をチェックし得る。デバイスはクライアントCPにLREPLYメッセージで応答し得る。クライアントがタイムアウトより前に応答を受信しなかった場合、LPINGメッセージを何回か再送信する。デバイスがLPINGメッセージ又は使用された場合にはその再送信に、ある時間長さ内で応答しなかった場合、そのクライアントはそのデバイスが到達不可能と判断して、プロクシ−バイ・プロトコルが実行される。
クライアントが、デバイスが到達不可能になったと決定する度に、そのクライアントはプロクシ−バイ・メッセージを送信することによって他のクライアントに知らせる。プロクシ−バイ・メッセージは、デバイスのアドレス及びプロクシ−バイ・メッセージを生成するクライアントによって受信されたLASTPINGCOUNTを含む。このLASTPINGCOUNT情報は、他のクライアントが重複するプロクシ−バイ・メッセージを破棄することを可能にする。
アドレス情報は、ゼロメッセージオーバヘッドの動的なメンバーシップメカニズムを提供すべく、LREPLYメッセージに乗っているクライアントの間で交換され得る。アドレスは、IPアドレス及びUDPポートを含んでよい。この情報交換を促進すべく、それぞれのデバイスは、LPINGを送信した最後のいくつかのクライアントに対するアドレス情報を維持し、このアドレス情報をこのLREPLYに含めて返信してよい。一実施例において、それぞれのデバイスは、LPINGを送信した最後の2つのクライアントに対するアドレス情報を維持してよい。このLREPLYメッセージは以下の情報を含んでよい。
クライアントは、プロクシ−バイ・プロトコルにおいて他のいずれのクライアントが同じデバイスをチェックしているかを動的に決定すべく、この情報を用いることができる。これは、グループの複数のメンバ間における直接的な通信なしに、かつ付加的なメッセージなしに、発生し得る。
クライアントは、同じデバイスをチェックしている他の既知の全てのクライアントに、マルチキャスト及びユニキャストメッセージの組み合わせを用いてプロクシ−バイ・メッセージを送信し得る。ローカルリンクに少なくとも1つのクライアントが存在する場合、プロクシ−バイ・メッセージはローカルリンク上のマルチキャストとなる。リンク外の全てのクライアントは、ユニキャストメッセージによって届けられる。
プロクシ−バイ・メッセージを受信すると、クライアントは、プロクシ−バイ・メッセージが複製である(すなわち、類似のメッセージが既に受信されている)か否か又はそのデバイスがまだ到達可能か否かを、そのデバイスが到達不可能であると決定する前にチェックしてよい。そのプロクシ−バイ・メッセージが複製ではなく、かつ、そのデバイスが到達可能でなければ、そのデバイスはプロクシ−バイ・メッセージを伝送する。これは、メッセージが順序が乱れて現れる、動的なルーティング・ネットワークを、重複又は古くなったメッセージが伝搬することを保護し、かつ悪意のあるプロクシ−バイ・メッセージに備えて詐称攻撃から保護し得る。
図3は、典型的な実施例における、デバイス30が到達不可能になった場合のメッセージのフローを示す。クライアントCP1 20は、1つのLPINGメッセージ300を送信する。CP1は、予め定められた時間302の期間内にLREPLYを受信しない。CP1は、1回以上LPING304を再送する。CP1はLREPLYを受信しなかった場合、PROXYBYTEメッセージ306をCP2 22に送信する。クライアントCP2は、その後LPINGメッセージ308をデバイス30に送信してよい。CP2は、LREPLYを受信しない場合、PROXYBYTEメッセージ310を他のクライアントに伝送することによって、プロクシ−バイを伝搬させる。
クライアントCP1は、LREPLYメッセージを受信する度に、ある数、例えば2個の、直前のクライアントCP2及びCP3のアドレスを受信する。クライアントCP1による連続するLPINGの後、ピン周波数の差によって、クライアントCP1がより多数のクライアントの組{CP2、...、CPn}を受信することがあり得る。この効果は、プロクシ−バイ・プロトコルの信頼性を向上させ得るが、帯域幅及びプロトコルの性能要件を増加させるかもしれない。この組{CP2、...、CPn}のサイズを制限すべく、CP1は古いクライアントを無視することが許容され得る。CP1は、時刻TにおいてCPiについての情報を受信した場合に、CP1はそのCPiについての情報を少なくともT+MAXDELAYまで保持しなければならない。CPiについての情報が古くなると消去される。これは、1つのクライアントは、少なくとも2つの他のクライアントによって、これらのクライアントがネットワークを離れていない限り、常時知られていることを保証する。さらに、プロクシ−バイ・メッセージはマルチキャストであり得るので、ローカルリンク、小規模にブリッジされた複数のネットワークにおいては、全てのクライアントは同時に通知され得る。プロクシ−バイ・メッセージの伝搬パターンは、拡散効果と呼び得る。高い確率で、フォワーディンググラフはlog(#clients)の深さを持ち、たとえインターネットをまたいでも、速い伝搬を可能にし得る。それぞれのライブネスピンの後、クライアントの間の伝送接続は、関連するクライアントの最新のセットを反映すべく、自動的に更新される。したがって、プロクシ−バイ・メッセージは全てのクライアントに到達することになることが可能となる。
ライブネスピンプロトコルは、プロクシ−バイ・プロトコルと一緒に又はプロクシ−バイ・プロトコルなしで使用されることが理解されるだろう。また、ライブネスピンプロトコルなしのプロクシ−バイ・プロトコルも理解されるだろう。PINGLOAD又はPINGCOUNT値とクライアントアドレスとを同じLREPLYメッセージに配置することによって、双方は共に有利に利用され得る。他の実施形例においては、PINGLOAD又はPINGCOUNT値とクライアントアドレスとは、異なるメッセージで送信されてよい。ライブネスピンプロトコル及びプロクシ−バイ・プロトコルは、UPnP(登録商標)ネットワークの場面で記載されたが、これらのプロトコルは、他の種類の複数のネットワークで使用され得る。
いくつかの典型的な実施例が記載され、複数の添付図面の中で説明されたが、そのような複数の実施例はこの広範な発明の単なる実例であって、この広範な発明を限定するものではないことが理解されるべきである。また、様々な他の複数の変形が通常の当業者に想到され得るので、この発明は説明及び記載された特定の複数の構成及び複数の取合せに限定されるべきものではないことが理解されるべきである。
Claims (35)
- 1つのネットワークに接続されるデバイスであって、
前記ネットワークに接続された複数のクライアントからピンメッセージを受信するレシーバと、
前記レシーバに接続されたカウンタであって、前記レシーバが前記複数のクライアントから受信した前記ピンメッセージのそれぞれに対してカウント値を増加させる前記カウンタと、
前記レシーバに接続されたトランスミッタであって、前記カウント値に応じたピン負荷値を含む1つの応答メッセージを送信する前記トランスミッタと
を備えるデバイス。 - 前記応答メッセージはユニキャストのユーザデータグラムプロトコル(UDP)メッセージである
請求項1に記載のデバイス。 - 前記カウンタは、所望のデバイスのピン負荷に反比例する増分ずつ前記カウント値を増加させる
請求項1に記載のデバイス。 - 前記カウンタは、前記デバイスによって変えることができる増分ずつ前記カウント値を増加させる
請求項1に記載のデバイス。 - 前記ピン負荷の値は前記カウント値である
請求項1に記載のデバイス。 - 前記複数のクライアントのうちの、ピンメッセージが最後に受信された1つのクライアントのアドレスを記憶するメモリ
をさらに備え、
前記応答メッセージは前記アドレスをさらに含む
請求項1に記載のデバイス。 - 1つのネットワークに接続されたクライアントであって、
遅延時間を計測するタイマと、
前記タイマに接続されたトランスミッタであって、前記ネットワークに接続されたデバイスに、前記トランスミッタが前のピンメッセージを前記デバイスに送信してから前記遅延時間が経過した旨を前記タイマが示した後に、ピンメッセージを送信するトランスミッタと、
デバイスのピン負荷に応じたピン負荷値を含む応答メッセージを、前記デバイスから受信するレシーバと、
前記レシーバ及び前記タイマに接続され、前記デバイスのピン負荷に応じて前記遅延時間を調整するコントローラと
を備えるクライアント。 - 前に受信したピン負荷値を記憶するメモリ
をさらに備え、
前記ピン負荷値は、前記デバイスが受信したそれぞれのピンメッセージに対して前記デバイスが増加させたカウント値であり、前記コントローラは、前記ピン負荷値及び前記前に受信したピン負荷値との差に応じて、前記遅延時間を調整する
請求項7に記載のクライアント。 - 前記コントローラは、前記ピン負荷値及び前記前に受信したピン負荷値を含む複数の応答メッセージに対応するピンメッセージの間の時間間隔にさらに応答して、前記遅延時間を調整する
請求項8に記載のクライアント。 - 前記トランスミッタはさらに、前記レシーバが予め定められた時間内に前記デバイスから前記応答メッセージを受信しない場合に、前記デバイスのアドレス及び前記前に受信したピン負荷値を含むプロクシ−バイ・メッセージを、前記ネットワークに接続された第2クライアントに送信する
請求項8に記載のクライアント。 - 前記コントローラは、予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する
請求項7に記載のクライアント。 - 前記コントローラは、予め定められた最大の遅延時間以下になるよう前記遅延時間を調整する
請求項7に記載のクライアント。 - 前記コントローラは、予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する
請求項12に記載のクライアント。 - 前記コントローラは、前記デバイスのピン負荷が低い閾値を下回った場合に、前記遅延時間に第1の予め定められた値を乗じ、前記デバイスのピン負荷が第2閾値より上である場合に、前記遅延時間に第2の予め定められた値を乗じることによって、前記遅延時間を調整する
請求項7に記載のクライアント。 - デバイスのピン負荷を制御する方法であって、
前記ネットワークに接続された複数のクライアントからピンメッセージを受信する段階と、
前記複数のクライアントから受信した前記ピンメッセージのそれぞれに対してカウント値を増加させる段階と、
前記カウント値に応じたピン負荷値を含む応答メッセージを送信する段階と
を備える方法。 - 前記応答メッセージはユニキャストのユーザデータグラムプロトコル(UDP)メッセージである
請求項15に記載の方法。 - 前記カウント値は、所望のデバイスのピン負荷に反比例する増分ずつ増加させられる
請求項15に記載の方法。 - 前記ピン負荷の値は前記カウント値である
請求項15に記載の方法。 - 前記複数のクライアントのうちの、ピンメッセージが最後に受信された1つのクライアントのアドレスを記憶する段階
をさらに備え、
前記応答メッセージは前記アドレスをさらに含む
請求項15に記載の方法。 - デバイスのピン負荷を制御する方法であって、
ネットワークに接続されたデバイスに、前のピンメッセージを前記デバイスに送信してから遅延時間が経過した後にピンメッセージを送信する段階と、
デバイスのピン負荷に応じたピン負荷値を含む応答メッセージを、前記デバイスから受信する段階と、
前記デバイスのピン負荷に応じて前記遅延時間を調整する段階と
を備える方法。 - 前に受信したピン負荷値を記憶する段階
をさらに備え、
前記ピン負荷値は、前記デバイスが受信したピンメッセージのそれぞれに対して前記デバイスが増加させたカウント値であり、遅延時間の調整は、前記ピン負荷値と前記前に受信したピン負荷値との差にさらに応答する
をさらに備える請求項20に記載の方法。 - 遅延時間を調整する段階は、前記ピン負荷値及び前記前に受信したピン負荷値を含む応答メッセージに対応するピンメッセージの間の時間間隔にさら応答する
請求項21に記載の方法。 - 予め定められた時間内に前記デバイスから前記応答メッセージを受信しない場合に、前記デバイスのアドレス及び前記前に受信したピン負荷値を含むプロクシ−バイ・メッセージを、前記ネットワークに接続された第2クライアントに送信する段階
をさらに備える請求項21に記載の方法。 - 予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
をさらに備える請求項20に記載の方法。 - 予め定められた最大の遅延時間以下になるよう前記遅延時間を調整する段階
をさらに備える請求項20に記載の方法。 - 予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
をさらに備える請求項25に記載の方法。 - 前記遅延時間を調整する段階は、
前記デバイスのピン負荷が低い閾値を下回った場合に、前記遅延時間に第1の予め定められた値を乗じ、前記デバイスのピン負荷が第2閾値より上である場合に、前記遅延時間に第2の予め定められた値を乗じる段階
を含む
請求項20に記載の方法。 - デバイスによって実行された時、前記デバイスに操作を行わせる命令を備える機械可読メディアであって、前記操作は、
ネットワークに接続されたデバイスに、前のピンメッセージを前記デバイスに送信してから遅延時間が経過した後にピンメッセージを送信する段階と、
デバイスのピン負荷に応じたピン負荷値を含む応答メッセージを、前記デバイスから受信する段階と、
前記デバイスのピン負荷に応じて前記遅延時間を調整する段階と
を含む機械可読メディア。 - 前記操作は、
前に受信したピン負荷値を記憶する段階
をさらに備え、
前記ピン負荷値は、前記デバイスが受信したピンメッセージのそれぞれに対して前記デバイスが増加させたカウント値であり、遅延時間の調整は、前記ピン負荷値及び前記前に受信したピン負荷値との差にさらに応答する
請求項28に記載の機械可読メディア。 - 遅延時間を調整する段階は、前記ピン負荷値及び前記前に受信したピン負荷値を含む応答メッセージに対応するピンメッセージの間の時間間隔にさらに応答する
請求項29に記載の機械可読メディア。 - 前記操作は、
予め定められた時間内に前記デバイスから前記応答メッセージを受信しない場合に、前記デバイスのアドレス及び前記前に受信したピン負荷値を含むプロクシ−バイ・メッセージを、前記ネットワークに接続された第2クライアントに送信する段階
をさらに含む
請求項28に記載の機械可読メディア。 - 前記操作は、
予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
をさらに含む
請求項28に記載の機械可読メディア。 - 前記操作は、
予め定められた最大の遅延時間以下になるよう前記遅延時間を調整する段階
をさらに含む請求項28に記載の機械可読メディア。 - 前記操作は、
予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
をさらに含む請求項33に記載の機械可読メディア。 - 遅延時間の調整は、前記デバイスのピン負荷が低い閾値を下回った場合に、前記遅延時間に第1の予め定められた値を乗じ、前記デバイスのピン負荷が第2閾値より上である場合に、前記遅延時間に第2の予め定められた値を乗じる段階
を含む
請求項28に記載の機械可読メディア。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48986003P | 2003-07-23 | 2003-07-23 | |
US10/690,096 US20050021737A1 (en) | 2003-05-01 | 2003-10-21 | Liveness protocol |
PCT/US2004/022352 WO2005011230A1 (en) | 2003-07-23 | 2004-07-14 | A liveness ping protocol controlling the device ping load |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006528871A true JP2006528871A (ja) | 2006-12-21 |
Family
ID=34107817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006521104A Pending JP2006528871A (ja) | 2003-07-23 | 2004-07-14 | デバイスのピン負荷を制御するライブネスピンプロトコル |
Country Status (5)
Country | Link |
---|---|
US (1) | US20050021737A1 (ja) |
EP (1) | EP1654856A1 (ja) |
JP (1) | JP2006528871A (ja) |
KR (1) | KR100712164B1 (ja) |
WO (1) | WO2005011230A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012113659A (ja) * | 2010-11-26 | 2012-06-14 | Fujitsu Ltd | 機器検出装置及び機器検出プログラム |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1792440A1 (en) * | 2004-09-07 | 2007-06-06 | Koninklijke Philips Electronics N.V. | Pinging for the presence of a server in a peer to peer monitoring system |
US7945656B1 (en) * | 2004-10-18 | 2011-05-17 | Cisco Technology, Inc. | Method for determining round trip times for devices with ICMP echo disable |
JP4838564B2 (ja) * | 2005-10-06 | 2011-12-14 | キヤノン株式会社 | ネットワークデバイス、その制御方法およびプログラム |
KR100677618B1 (ko) * | 2005-10-14 | 2007-02-02 | 삼성전자주식회사 | UPnP 네트워크에서 비정상적으로 종료된 피제어장치의종료 메시지를 전송하기 위한 방법 및 장치 |
KR100727999B1 (ko) * | 2005-10-14 | 2007-06-14 | 삼성전자주식회사 | UPnP 디바이스 정보를 효율적으로 관리하는 방법 및장치 |
KR100750135B1 (ko) * | 2005-10-25 | 2007-08-21 | 삼성전자주식회사 | UPnP 디바이스의 IP 주소 변경으로 인한 네트워크연결 중단을 신속하게 복구하는 방법 및 시스템 |
KR101210341B1 (ko) * | 2006-02-11 | 2012-12-10 | 삼성전자주식회사 | 패킷 네트워크에서 노드간 전파 지연 및 거리를 정확하고안전하게 측정하는 방법 및 상기 방법을 수행하는 패킷네트워크 노드 |
US7881329B2 (en) * | 2007-05-25 | 2011-02-01 | Sharp Laboratories Of America, Inc. | Method and system for maintaining high reliability logical connection |
US8661101B2 (en) * | 2007-06-01 | 2014-02-25 | Avaya Inc. | Method of IP address de-aliasing |
US8223667B2 (en) | 2007-06-11 | 2012-07-17 | International Business Machines Corporation | Inferred discovery of a data communications device |
EP2186272A4 (en) * | 2007-09-03 | 2012-04-25 | Lucent Technologies Inc | METHOD AND SYSTEM FOR AUTOMATICALLY CHECKING THE CONNECTIVITY STATUS OF AN IP CONNECTION IN AN IP NETWORK |
SG169910A1 (en) * | 2009-09-24 | 2011-04-29 | 3Rd Brand Pte Ltd Company Registration No 2007 | Network monitoring and analysis tool |
US9081839B2 (en) | 2011-01-28 | 2015-07-14 | Oracle International Corporation | Push replication for use with a distributed data grid |
US9201685B2 (en) | 2011-01-28 | 2015-12-01 | Oracle International Corporation | Transactional cache versioning and storage in a distributed data grid |
US9063787B2 (en) | 2011-01-28 | 2015-06-23 | Oracle International Corporation | System and method for using cluster level quorum to prevent split brain scenario in a data grid cluster |
US9164806B2 (en) | 2011-01-28 | 2015-10-20 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
US9063852B2 (en) * | 2011-01-28 | 2015-06-23 | Oracle International Corporation | System and method for use with a data grid cluster to support death detection |
US8743718B2 (en) | 2011-06-21 | 2014-06-03 | Adc Telecommunications, Inc. | End-to-end delay management for distributed communications networks |
US9736045B2 (en) | 2011-09-16 | 2017-08-15 | Qualcomm Incorporated | Systems and methods for network quality estimation, connectivity detection, and load management |
US20130254378A1 (en) * | 2011-09-16 | 2013-09-26 | Qualcomm Incorporated | Systems and methods for network quality estimation, connectivity detection, and load management |
US20130246575A1 (en) * | 2011-09-16 | 2013-09-19 | Qualcomm Incorporated | Systems and methods for network quality estimation, connectivity detection, and load management |
US10176184B2 (en) | 2012-01-17 | 2019-01-08 | Oracle International Corporation | System and method for supporting persistent store versioning and integrity in a distributed data grid |
US8924547B1 (en) * | 2012-06-22 | 2014-12-30 | Adtran, Inc. | Systems and methods for managing network devices based on server capacity |
US10664495B2 (en) | 2014-09-25 | 2020-05-26 | Oracle International Corporation | System and method for supporting data grid snapshot and federation |
US10798146B2 (en) | 2015-07-01 | 2020-10-06 | Oracle International Corporation | System and method for universal timeout in a distributed computing environment |
US10585599B2 (en) | 2015-07-01 | 2020-03-10 | Oracle International Corporation | System and method for distributed persistent store archival and retrieval in a distributed computing environment |
US11163498B2 (en) | 2015-07-01 | 2021-11-02 | Oracle International Corporation | System and method for rare copy-on-write in a distributed computing environment |
US10860378B2 (en) | 2015-07-01 | 2020-12-08 | Oracle International Corporation | System and method for association aware executor service in a distributed computing environment |
US11550820B2 (en) | 2017-04-28 | 2023-01-10 | Oracle International Corporation | System and method for partition-scoped snapshot creation in a distributed data computing environment |
US10769019B2 (en) | 2017-07-19 | 2020-09-08 | Oracle International Corporation | System and method for data recovery in a distributed data computing environment implementing active persistence |
US10721095B2 (en) | 2017-09-26 | 2020-07-21 | Oracle International Corporation | Virtual interface system and method for multi-tenant cloud networking |
US10862965B2 (en) | 2017-10-01 | 2020-12-08 | Oracle International Corporation | System and method for topics implementation in a distributed data computing environment |
CN115883429A (zh) * | 2022-12-10 | 2023-03-31 | 李智慧 | 基于大数据的网络智能测试系统及方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6413577A (en) * | 1987-07-08 | 1989-01-18 | Ricoh Kk | Cleaning mechanism for electrostatic recorder |
US5339313A (en) * | 1991-06-28 | 1994-08-16 | Digital Equipment Corporation | Method and apparatus for traffic congestion control in a communication network bridge device |
US5822436A (en) * | 1996-04-25 | 1998-10-13 | Digimarc Corporation | Photographic products and methods employing embedded information |
US7580707B2 (en) * | 1997-04-04 | 2009-08-25 | Nortel Networks Limited | Wireless communication system that supports multiple standards, multiple protocol revisions, multiple extended services and multiple extended services delivery options and method of operation therefor |
US6519262B1 (en) * | 1998-06-10 | 2003-02-11 | Trw Inc. | Time division multiplex approach for multiple transmitter broadcasting |
US6862622B2 (en) * | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
US6360214B1 (en) * | 1998-12-16 | 2002-03-19 | Microsoft Corporation | Automatic database statistics creation |
US6724732B1 (en) * | 1999-01-05 | 2004-04-20 | Lucent Technologies Inc. | Dynamic adjustment of timers in a communication network |
WO2001013577A2 (en) * | 1999-08-17 | 2001-02-22 | Microsoft Corporation | Device adapter for automation system |
US7046665B1 (en) * | 1999-10-26 | 2006-05-16 | Extreme Networks, Inc. | Provisional IP-aware virtual paths over networks |
US6785510B2 (en) * | 2000-03-09 | 2004-08-31 | Salbu Resarch & Development (Proprietary) Limited | Routing in a multi-station network |
US7027461B1 (en) * | 2000-07-20 | 2006-04-11 | General Instrument Corporation | Reservation/retry media access control |
US7027462B2 (en) * | 2001-01-02 | 2006-04-11 | At&T Corp. | Random medium access methods with backoff adaptation to traffic |
US7120693B2 (en) * | 2001-05-08 | 2006-10-10 | International Business Machines Corporation | Method using two different programs to determine state of a network node to eliminate message response delays in system processing |
US6983153B2 (en) * | 2001-06-07 | 2006-01-03 | Qualcomm Incorporated | Method and apparatus for congestion control in a wireless communication system |
US7117264B2 (en) * | 2002-01-10 | 2006-10-03 | International Business Machines Corporation | Method and system for peer to peer communication in a network environment |
US8931010B2 (en) * | 2002-11-04 | 2015-01-06 | Rovi Solutions Corporation | Methods and apparatus for client aggregation of media in a networked media system |
US7966368B2 (en) * | 2003-05-02 | 2011-06-21 | Microsoft Corporation | Communicating messages over transient connections in a peer-to-peer network |
US20050007964A1 (en) * | 2003-07-01 | 2005-01-13 | Vincent Falco | Peer-to-peer network heartbeat server and associated methods |
US7917613B2 (en) * | 2005-11-15 | 2011-03-29 | Microsoft Corporation | Heartbeat heuristics |
-
2003
- 2003-10-21 US US10/690,096 patent/US20050021737A1/en not_active Abandoned
-
2004
- 2004-07-14 JP JP2006521104A patent/JP2006528871A/ja active Pending
- 2004-07-14 KR KR1020067001572A patent/KR100712164B1/ko not_active IP Right Cessation
- 2004-07-14 EP EP04778059A patent/EP1654856A1/en not_active Withdrawn
- 2004-07-14 WO PCT/US2004/022352 patent/WO2005011230A1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012113659A (ja) * | 2010-11-26 | 2012-06-14 | Fujitsu Ltd | 機器検出装置及び機器検出プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR100712164B1 (ko) | 2007-04-27 |
US20050021737A1 (en) | 2005-01-27 |
WO2005011230A1 (en) | 2005-02-03 |
EP1654856A1 (en) | 2006-05-10 |
KR20060040717A (ko) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006528871A (ja) | デバイスのピン負荷を制御するライブネスピンプロトコル | |
US11570098B2 (en) | Systems, apparatuses and methods for cooperating routers | |
US10367922B2 (en) | Method and apparatus for sending transmission control protocol TCP data packet and system | |
US7995478B2 (en) | Network communication with path MTU size discovery | |
US8751669B2 (en) | Method and arrangement to maintain a TCP connection | |
US7609640B2 (en) | Methods and applications for avoiding slow-start restart in transmission control protocol network communications | |
US8943206B2 (en) | Network bandwidth detection and distribution | |
Castellani et al. | Back pressure congestion control for CoAP/6LoWPAN networks | |
US7974203B2 (en) | Traffic control system, traffic control method, communication device and computer program | |
WO2010095028A2 (en) | Maximum transmission unit (mtu) size discovery mechanism and method for data-link layers | |
WO2018076580A1 (zh) | 无线网络双边加速传输方法和系统 | |
US20140325064A1 (en) | Controlling Establishment of Multiple TCP Connections | |
EP3539235B1 (en) | Systems, apparatuses and methods for cooperating routers | |
Goff et al. | Unified transport layer support for data striping and host mobility | |
US20230171191A1 (en) | Systems, Apparatuses and Methods for Cooperating Routers | |
Matsuo et al. | Scalable automatic buffer tuning to provide high performance and fair service for TCP connections | |
JP5805575B2 (ja) | 中継装置、中継方法及び中継プログラム | |
CN106210059B (zh) | 一种基于tcp的ftp下载方法 | |
Brassil et al. | Improving VPN performance over multiple access links | |
Ibrahim et al. | Enhancing DCCP-TCP-like mechanism for wireless sensor networks | |
Ho et al. | Snug-Vegas and Snug-Reno: efficient mechanisms for performance improvement of TCP over heterogeneous networks | |
JP5752644B2 (ja) | 通信路終端装置、データサイズ決定方法およびデータサイズ決定プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080701 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080708 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081202 |