JP2006528871A - デバイスのピン負荷を制御するライブネスピンプロトコル - Google Patents

デバイスのピン負荷を制御するライブネスピンプロトコル Download PDF

Info

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
Application number
JP2006521104A
Other languages
English (en)
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2006528871A publication Critical patent/JP2006528871A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer 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

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が好まれるだろう。
以下は、バッカス‐ナウア記法(BNF)でのLPING及びLREPLYメッセージの典型的な定義である。ダブルクォートの中の語は終端記号である。他の単語は、非終端記号である。
Figure 2006528871
エクステンションは任意である。メッセージの送信者はエクステンションを含むことを要求されていない。メッセージの受信者は、メッセージに含まれるどんなエクステンションも無視し得る。
LPING及びLREPLYメッセージは、以下の情報を含むことができる。
Figure 2006528871
多数のクライアントがデバイスの活性をチェックしている場合、ピン負荷はデバイスにとって大きくなりすぎるだろう。デバイスに負荷をかけすぎることを避けるべく、ピン負荷を制限するためのメカニズムが、ライブネスピンプロトコルによって提供される。LREPLYメッセージは、デバイスによって扱われているピンメッセージの数を示すピン負荷値を含む。一実施例においては、ピン負荷値は、デバイスによって受信されている、単位時間あたりのLPINGメッセージの数、例えば1秒あたりのメッセージの数である、PINGLOADであってよい。他の実施例においては、ピン負荷値は、それぞれのLPINGメッセージを受信する毎に増加させられるカウンタの値であるPINGCOUNTであってよい。
デバイスがクライアントからLPINGメッセージを受信したとき、ピンを制御するメカニズムを提供すべく、デバイスは、内部カウンタ、例えばPINGCOUNTを、PINGINCREASEのような一定の量の分量ずつ増加させる。デバイスのPINGLOADは、2つの連続するピンカウント、例えばPINGCOUNT及びLASTPINGCOUNTの間の差であって、秒で表現され得るその2つのカウントの間の時間、例えばPERIODで除された差として算出される。
Figure 2006528871
内部カウンタは制限されたサイズを持ち、また、ピンカウントがその内部カウンタによって表現され得る最大の数を超えたときには、ラップアラウンドされ得ることが理解されるだろう。2つの連続するピンカウントの差は、カウンタがラップアラウンドしたことを認識し、そのカウンタがラップアラウンドしないほど十分大きかったかのように差の値を生む方法で算出され得る。いくつかの受信したLPINGメッセージを包含する期間の使用、PINGLOADに対する移動平均の算出、又は固定された期間でのPINGLOADの算出のように、PINGLOADを算出する他の方法を使用することもできる。
一実施形態では、デバイスは、PINGLOADのようなデバイスのピン負荷を算出してよく、LPINGメッセージを送信したクライアントに対して、デバイスのピン負荷の値をLREPLY応答メッセージで返してよい。他の実施例においては、デバイスは、LPINGメッセージを送信したクライアントに対して、PINGCOUNTの現在の値をLREPLY応答メッセージで返してよい。この実施例におけるデバイスの典型的な動作は、以下の仮想コードによって記述され得る。
Figure 2006528871
クライアントは、デバイスから受信した前回のPINGCOUNT値を、例えばLASTPINGCOUNTとして保持し、ピン負荷値PINGCOUNTと前回受信したピン負荷値LASTPINGCOUNTとの差を用いて、デバイスのピン負荷を算出してよい。さらに、クライアントは、デバイスに送信した連続するLPINGの間隔を、PERIODとして計時してよい。これらの値を用いて、クライアントは、LREPLYメッセージを受信したときに、デバイスのピン負荷値PINGLOAD値を計算してよい。
Figure 2006528871
デバイスのPINGLOADを制限すべく、クライアントには、ランダム化された小さな値をさらに含むあるDELAYを、2つの連続するLPINGメッセージの間に、少なくとも持つことが要求される。このDELAYの値は、一組のルールによって規定され得る。クライアントは、LPINGメッセージを送信するためにそのDELAYより長く待つことができる。このように、DELAYはPERIODに対する下限となり得る。クライアントがデバイスのPINGLOADがある閾値、例えばHIGHTHRESHOLDより高いことを検出したとき、実効的なPINGLOADを下げるべく、当該DELAYを増加させてよい。クライアントが、PINGLOADがある閾値、例えばLOWTHRESHOLDより小さくなったことを検出したとき、実効的なPINGLOADを上げるべく、当該DELAYを低下させてよい。これは、以下の典型的な適応ルールによって取り込むことができる。
Figure 2006528871
パラメータ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の適用は以下になり得る。
Figure 2006528871
同様に、新たなクライアントの突然の到来は、高い閾値を超えるPINGLOADを一時的にもたらす。この作用を制限すべく、最小のDELAY、MINDELAYが導入され得る。ルールR2の適用は以下になり得る。
Figure 2006528871
MAXDELAY及びMINDELAYは共に定数であってよく、秒単位で表現されてよい。
デバイスは、デバイスによって受信されたピン毎のPINGCOUNTを増加させる変数PINGINCREASEの値を静的又は動的に選択することによって、それらのPINGLOADを調整する。そのプロトコルが安定化したとき、デバイスが提供するLPINGメッセージの秒あたりの最大数は以下になる。
Figure 2006528871
図2に示される典型的な実施例では、HIGHTHRESHOLDが100に等しかったので、100のPINGINCREASEは、秒あたりわずか1つのLPINGを受信するという結果になった。より高性能なデバイスは、より低いPINGINCREASE値を選択することができる。例えば、1のPINGINCREASEでは、安定した状況においては秒あたり100個までのライブネスピンを受信しただろう。PINGINCREASEの変更は、ネゴシエーション又はさらなるオペレーションを要することなく、ネットワーク及びデバイスにおける負荷を制限し得る。
ライブネスピンプロトコルは、1つのデバイスのPINGLOADがMAXPINGPERSECを超えないことを保証する。デバイスは、2×MAXPINGPERSECパケット/秒を超えて送信及び受信する必要はないだろう。このルールに対する例外として、動的な環境における自己回復を保証すべく、クライアントの数がMAXDELAY×MAXPINGPERSECを超えて増大しても、クライアントはMAXDELAY秒毎に1度ピンすることを許容されていてよい。#Cクライアント及び#Dデバイスがあるとすると、ライブネスピンプロトコルに関係したメッセージの数は以下になるだろう。
Figure 2006528871
ライブネスピンプロトコルは、一のクライアントからの連続するピンの間の時間を増加させることによって、デバイスに対するPINGメッセージのオーバーヘッドを制限し得る。それは、クライアントがネットワークからのデバイスの消失を検出するのに要する時間長さを増加させるかもしれない。プロクシ−バイ・プロトコルは、ネットワークからのデバイスの消失をより速やかにクライアントに通知すべく使用され得る。プロクシ−バイ・プロトコルは、クライアント間に限って行われる。多数のクライアントが同じデバイスの活性をチェックしていると、そのクライアントは、(PINGLOAD制御によって)連続するLPINGメッセージ間の長いDELAYを持つことになるだろう。デバイスが到達不可能になったことをクライアントができるだけ速く発見することを保証すべく、デバイスが消失したことを検出した最初のクライアントが、プロクシ−バイ・プロトコルによって他のクライアントに通知する。
クライアントCPは、LPINGメッセージを送信することによってデバイスの存在をチェックし得る。デバイスはクライアントCPにLREPLYメッセージで応答し得る。クライアントがタイムアウトより前に応答を受信しなかった場合、LPINGメッセージを何回か再送信する。デバイスがLPINGメッセージ又は使用された場合にはその再送信に、ある時間長さ内で応答しなかった場合、そのクライアントはそのデバイスが到達不可能と判断して、プロクシ−バイ・プロトコルが実行される。
クライアントが、デバイスが到達不可能になったと決定する度に、そのクライアントはプロクシ−バイ・メッセージを送信することによって他のクライアントに知らせる。プロクシ−バイ・メッセージは、デバイスのアドレス及びプロクシ−バイ・メッセージを生成するクライアントによって受信されたLASTPINGCOUNTを含む。このLASTPINGCOUNT情報は、他のクライアントが重複するプロクシ−バイ・メッセージを破棄することを可能にする。
アドレス情報は、ゼロメッセージオーバヘッドの動的なメンバーシップメカニズムを提供すべく、LREPLYメッセージに乗っているクライアントの間で交換され得る。アドレスは、IPアドレス及びUDPポートを含んでよい。この情報交換を促進すべく、それぞれのデバイスは、LPINGを送信した最後のいくつかのクライアントに対するアドレス情報を維持し、このアドレス情報をこのLREPLYに含めて返信してよい。一実施例において、それぞれのデバイスは、LPINGを送信した最後の2つのクライアントに対するアドレス情報を維持してよい。このLREPLYメッセージは以下の情報を含んでよい。
Figure 2006528871
最後の2つのクライアントを1つのLREPLYの中に含む実施例におけるデバイスの典型的な動作は、以下の仮想コードによって記述される。
Figure 2006528871
クライアントは、プロクシ−バイ・プロトコルにおいて他のいずれのクライアントが同じデバイスをチェックしているかを動的に決定すべく、この情報を用いることができる。これは、グループの複数のメンバ間における直接的な通信なしに、かつ付加的なメッセージなしに、発生し得る。
クライアントは、同じデバイスをチェックしている他の既知の全てのクライアントに、マルチキャスト及びユニキャストメッセージの組み合わせを用いてプロクシ−バイ・メッセージを送信し得る。ローカルリンクに少なくとも1つのクライアントが存在する場合、プロクシ−バイ・メッセージはローカルリンク上のマルチキャストとなる。リンク外の全てのクライアントは、ユニキャストメッセージによって届けられる。
プロクシ−バイ・メッセージを受信すると、クライアントは、プロクシ−バイ・メッセージが複製である(すなわち、類似のメッセージが既に受信されている)か否か又はそのデバイスがまだ到達可能か否かを、そのデバイスが到達不可能であると決定する前にチェックしてよい。そのプロクシ−バイ・メッセージが複製ではなく、かつ、そのデバイスが到達可能でなければ、そのデバイスはプロクシ−バイ・メッセージを伝送する。これは、メッセージが順序が乱れて現れる、動的なルーティング・ネットワークを、重複又は古くなったメッセージが伝搬することを保護し、かつ悪意のあるプロクシ−バイ・メッセージに備えて詐称攻撃から保護し得る。
Figure 2006528871
図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つのネットワークに接続されるデバイスであって、
    前記ネットワークに接続された複数のクライアントからピンメッセージを受信するレシーバと、
    前記レシーバに接続されたカウンタであって、前記レシーバが前記複数のクライアントから受信した前記ピンメッセージのそれぞれに対してカウント値を増加させる前記カウンタと、
    前記レシーバに接続されたトランスミッタであって、前記カウント値に応じたピン負荷値を含む1つの応答メッセージを送信する前記トランスミッタと
    を備えるデバイス。
  2. 前記応答メッセージはユニキャストのユーザデータグラムプロトコル(UDP)メッセージである
    請求項1に記載のデバイス。
  3. 前記カウンタは、所望のデバイスのピン負荷に反比例する増分ずつ前記カウント値を増加させる
    請求項1に記載のデバイス。
  4. 前記カウンタは、前記デバイスによって変えることができる増分ずつ前記カウント値を増加させる
    請求項1に記載のデバイス。
  5. 前記ピン負荷の値は前記カウント値である
    請求項1に記載のデバイス。
  6. 前記複数のクライアントのうちの、ピンメッセージが最後に受信された1つのクライアントのアドレスを記憶するメモリ
    をさらに備え、
    前記応答メッセージは前記アドレスをさらに含む
    請求項1に記載のデバイス。
  7. 1つのネットワークに接続されたクライアントであって、
    遅延時間を計測するタイマと、
    前記タイマに接続されたトランスミッタであって、前記ネットワークに接続されたデバイスに、前記トランスミッタが前のピンメッセージを前記デバイスに送信してから前記遅延時間が経過した旨を前記タイマが示した後に、ピンメッセージを送信するトランスミッタと、
    デバイスのピン負荷に応じたピン負荷値を含む応答メッセージを、前記デバイスから受信するレシーバと、
    前記レシーバ及び前記タイマに接続され、前記デバイスのピン負荷に応じて前記遅延時間を調整するコントローラと
    を備えるクライアント。
  8. 前に受信したピン負荷値を記憶するメモリ
    をさらに備え、
    前記ピン負荷値は、前記デバイスが受信したそれぞれのピンメッセージに対して前記デバイスが増加させたカウント値であり、前記コントローラは、前記ピン負荷値及び前記前に受信したピン負荷値との差に応じて、前記遅延時間を調整する
    請求項7に記載のクライアント。
  9. 前記コントローラは、前記ピン負荷値及び前記前に受信したピン負荷値を含む複数の応答メッセージに対応するピンメッセージの間の時間間隔にさらに応答して、前記遅延時間を調整する
    請求項8に記載のクライアント。
  10. 前記トランスミッタはさらに、前記レシーバが予め定められた時間内に前記デバイスから前記応答メッセージを受信しない場合に、前記デバイスのアドレス及び前記前に受信したピン負荷値を含むプロクシ−バイ・メッセージを、前記ネットワークに接続された第2クライアントに送信する
    請求項8に記載のクライアント。
  11. 前記コントローラは、予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する
    請求項7に記載のクライアント。
  12. 前記コントローラは、予め定められた最大の遅延時間以下になるよう前記遅延時間を調整する
    請求項7に記載のクライアント。
  13. 前記コントローラは、予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する
    請求項12に記載のクライアント。
  14. 前記コントローラは、前記デバイスのピン負荷が低い閾値を下回った場合に、前記遅延時間に第1の予め定められた値を乗じ、前記デバイスのピン負荷が第2閾値より上である場合に、前記遅延時間に第2の予め定められた値を乗じることによって、前記遅延時間を調整する
    請求項7に記載のクライアント。
  15. デバイスのピン負荷を制御する方法であって、
    前記ネットワークに接続された複数のクライアントからピンメッセージを受信する段階と、
    前記複数のクライアントから受信した前記ピンメッセージのそれぞれに対してカウント値を増加させる段階と、
    前記カウント値に応じたピン負荷値を含む応答メッセージを送信する段階と
    を備える方法。
  16. 前記応答メッセージはユニキャストのユーザデータグラムプロトコル(UDP)メッセージである
    請求項15に記載の方法。
  17. 前記カウント値は、所望のデバイスのピン負荷に反比例する増分ずつ増加させられる
    請求項15に記載の方法。
  18. 前記ピン負荷の値は前記カウント値である
    請求項15に記載の方法。
  19. 前記複数のクライアントのうちの、ピンメッセージが最後に受信された1つのクライアントのアドレスを記憶する段階
    をさらに備え、
    前記応答メッセージは前記アドレスをさらに含む
    請求項15に記載の方法。
  20. デバイスのピン負荷を制御する方法であって、
    ネットワークに接続されたデバイスに、前のピンメッセージを前記デバイスに送信してから遅延時間が経過した後にピンメッセージを送信する段階と、
    デバイスのピン負荷に応じたピン負荷値を含む応答メッセージを、前記デバイスから受信する段階と、
    前記デバイスのピン負荷に応じて前記遅延時間を調整する段階と
    を備える方法。
  21. 前に受信したピン負荷値を記憶する段階
    をさらに備え、
    前記ピン負荷値は、前記デバイスが受信したピンメッセージのそれぞれに対して前記デバイスが増加させたカウント値であり、遅延時間の調整は、前記ピン負荷値と前記前に受信したピン負荷値との差にさらに応答する
    をさらに備える請求項20に記載の方法。
  22. 遅延時間を調整する段階は、前記ピン負荷値及び前記前に受信したピン負荷値を含む応答メッセージに対応するピンメッセージの間の時間間隔にさら応答する
    請求項21に記載の方法。
  23. 予め定められた時間内に前記デバイスから前記応答メッセージを受信しない場合に、前記デバイスのアドレス及び前記前に受信したピン負荷値を含むプロクシ−バイ・メッセージを、前記ネットワークに接続された第2クライアントに送信する段階
    をさらに備える請求項21に記載の方法。
  24. 予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
    をさらに備える請求項20に記載の方法。
  25. 予め定められた最大の遅延時間以下になるよう前記遅延時間を調整する段階
    をさらに備える請求項20に記載の方法。
  26. 予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
    をさらに備える請求項25に記載の方法。
  27. 前記遅延時間を調整する段階は、
    前記デバイスのピン負荷が低い閾値を下回った場合に、前記遅延時間に第1の予め定められた値を乗じ、前記デバイスのピン負荷が第2閾値より上である場合に、前記遅延時間に第2の予め定められた値を乗じる段階
    を含む
    請求項20に記載の方法。
  28. デバイスによって実行された時、前記デバイスに操作を行わせる命令を備える機械可読メディアであって、前記操作は、
    ネットワークに接続されたデバイスに、前のピンメッセージを前記デバイスに送信してから遅延時間が経過した後にピンメッセージを送信する段階と、
    デバイスのピン負荷に応じたピン負荷値を含む応答メッセージを、前記デバイスから受信する段階と、
    前記デバイスのピン負荷に応じて前記遅延時間を調整する段階と
    を含む機械可読メディア。
  29. 前記操作は、
    前に受信したピン負荷値を記憶する段階
    をさらに備え、
    前記ピン負荷値は、前記デバイスが受信したピンメッセージのそれぞれに対して前記デバイスが増加させたカウント値であり、遅延時間の調整は、前記ピン負荷値及び前記前に受信したピン負荷値との差にさらに応答する
    請求項28に記載の機械可読メディア。
  30. 遅延時間を調整する段階は、前記ピン負荷値及び前記前に受信したピン負荷値を含む応答メッセージに対応するピンメッセージの間の時間間隔にさらに応答する
    請求項29に記載の機械可読メディア。
  31. 前記操作は、
    予め定められた時間内に前記デバイスから前記応答メッセージを受信しない場合に、前記デバイスのアドレス及び前記前に受信したピン負荷値を含むプロクシ−バイ・メッセージを、前記ネットワークに接続された第2クライアントに送信する段階
    をさらに含む
    請求項28に記載の機械可読メディア。
  32. 前記操作は、
    予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
    をさらに含む
    請求項28に記載の機械可読メディア。
  33. 前記操作は、
    予め定められた最大の遅延時間以下になるよう前記遅延時間を調整する段階
    をさらに含む請求項28に記載の機械可読メディア。
  34. 前記操作は、
    予め定められた最小の遅延時間以上になるよう前記遅延時間を調整する段階
    をさらに含む請求項33に記載の機械可読メディア。
  35. 遅延時間の調整は、前記デバイスのピン負荷が低い閾値を下回った場合に、前記遅延時間に第1の予め定められた値を乗じ、前記デバイスのピン負荷が第2閾値より上である場合に、前記遅延時間に第2の予め定められた値を乗じる段階
    を含む
    請求項28に記載の機械可読メディア。
JP2006521104A 2003-07-23 2004-07-14 デバイスのピン負荷を制御するライブネスピンプロトコル Pending JP2006528871A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012113659A (ja) * 2010-11-26 2012-06-14 Fujitsu Ltd 機器検出装置及び機器検出プログラム

Families Citing this family (33)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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