(57)【要約】  クライアント及びサーバ装置（10）セットを動的に変化させることを有するシステムが提供される。クライアント装置は、サーバ装置（10）がシステム内に動作可能に存在していることを検出するために、サーバ装置（10）に検出メッセージ（64a、66a、68a）を送信する。サーバ装置（10）は、それぞれのクライアント装置（10）から後続の検出メッセージを送信するための割当て時点を選定する。サーバ装置は、検出メッセージ（64a、66a、68a）に応答して、選定された時点を表すタイミング情報をクライアント装置（10）に送信する。クライアント装置は、新たな検出メッセージ（64b、64c、66b、68b）を送信する時点を実質的に割当て時点に合わせるためにタイミング情報を使用して、新たな検出メッセージ（64b、64c、66b、68b）を送信する。
2008512889.tif 000002
【特許請求の範囲】
【請求項１】
装置セットを動的に変化させることを有するシステムを操作する方法であって：
複数の検査側装置から被検査側装置に、被検査側装置がシステム内に動作可能に存在していることを検出するために、検出メッセージを送信する段階；
それぞれの検査側装置から後続の検出メッセージを送信するための割当て時点を選定する段階；
検出メッセージに応答して被検査側装置から検査側装置に、選定された時点を表すタイミング情報を送信する段階；及び
新たな検出メッセージを送信する時点を実質的に割当て時点に合わせるために検査側装置がタイミング情報を使用して、複数の検査側装置から新たな検出メッセージを送信する段階；
を有する方法。
【請求項２】
複数の検査側装置の全てのための割当て時点が、一連の検出メッセージの到着に対応するシーケンスで先々に向かって進行的に続く共通の時点の組から選定される、請求項１に記載の方法。
【請求項３】
前記組内の連続した割当て時点に関する時点の値Ｔが、前記組の先行する時点に関する時点の値Ｔ’に期間の値Ｄを加算することによって計算される、請求項２に記載の方法。
【請求項４】
期間の値Ｄが所定値を有する、請求項３に記載の方法。
【請求項５】
期間の値Ｄが、検査側装置の数が減少又は増加するにつれて該期間がそれぞれ増大又は低減されるとともに個々の検査側装置の連続した割当て時点間に少なくとも所定の最小時間間隔が存在するように、検出メッセージを送信する検査側装置の数に動的に適応される、請求項３に記載の方法。
【請求項６】
前記組の最初の時点に関する最初の時点の値Ｔが、現時点の値Ｔｏに期間の値Ｄを加算することによって形成される、請求項３に記載の方法。
【請求項７】
連続して受信された検出メッセージに応答して送信されるタイミング情報が、少なくとも第１及び第２の組から選定され、各々の組は先々に向かって進行的に続く時点を表し、第２の組のタイミング情報は検出メッセージの遅延制限部分に応じて送信され、その結果、第２の組の時点が送信された時点からの第２の組の時点までの遅延は、検出メッセージの受信速度に関係なく、少なくとも平均して所定の遅延を超えない、請求項１に記載の方法。
【請求項８】
被検査側装置にて受信された検出メッセージが被検査側装置にて以前に受信された検出メッセージの再試行であるかどうかを検出する段階、及び検出された再試行の検出メッセージに応答して、以前に送信されたタイミング情報を再送信する段階、を有する請求項１に記載の方法。
【請求項９】
装置セットを動的に変化させることを提供するように構成されたシステムであって：
通信媒体；
サーバ装置であり、該サーバ装置の動作可能な接続を検出するための検出メッセージを受信するように通信媒体に結合され、後続の検出メッセージを送信するための割当て時点を選定し、且つ割当て時点を表すタイミング情報を検出メッセージに応答して送信するように構成されたサーバ装置；及び
通信媒体に結合され、且つサーバ装置によるサービスを要求することが可能な複数のクライアント装置であり、通信媒体を介してサーバ装置に検出メッセージを送信するように構成され、且つ新たな検出メッセージを送信する時点を実質的に割当て時点に制御するためにタイミング情報を用いて、新たな検出メッセージを送信するように構成された複数のクライアント装置；
を有するシステム。
【請求項１０】
装置セットを動的に変化させることを提供するように構成されたシステムに使用されるサーバ装置であって：
通信媒体へのインターフェース；及び
当該サーバ装置の通信媒体への動作可能な接続を検出するための、クライアント装置からの検出メッセージを検出するように構成された処理回路であり、後続の検出メッセージを送信するための割当て時点を表すタイミング情報を計算し、且つ検出メッセージに応答してインターフェースにタイミング情報を送信させる処理回路；
を有するサーバ装置。
【請求項１１】
処理回路が、複数の検査側装置の全てのための割当て時点を、一連の検出メッセージの到着に対応するシーケンスにて先々に向かって進行的に続く共通の時点の組から選定するように構成されている、請求項１０に記載のサーバ装置。
【請求項１２】
処理回路が、割当て時点に関する時点の値Ｔを、先行する割当て時点に関する時点の値Ｔ’に期間の値Ｄを加算することによって計算するように構成されている、請求項１１に記載のサーバ装置。
【請求項１３】
期間の値Ｄが一定の所定値を有する、請求項１２に記載のサーバ装置。
【請求項１４】
処理回路が、期間の値Ｄを、検査側装置の数が減少又は増加するにつれて該期間がそれぞれ増大又は低減されるとともに個々の検査側装置の連続した割当て時点間に少なくとも所定の最小時間間隔が存在するように、検出メッセージを送信するクライアント装置の数に動的に適応させるように構成されている、請求項１２に記載のサーバ装置。
【請求項１５】
クロック回路を有し、処理回路が、最初の割当て時点に関する最初の時点の値を、クロック回路から得られた現時点の値Ｔｏに期間Ｄを加算することによって計算するように構成されている、請求項１２に記載のサーバ装置。
【請求項１６】
処理回路が、連続して受信された検出メッセージに対して送信されるタイミング情報を、少なくとも第１及び第２の組から選定するように構成されており、各々の組のタイミング情報は先々に向かって進行的に続く割当て時点を表し、第２の組のタイミング情報は検出メッセージの遅延制限部分に対して送信され、その結果、第２の組の時点と、第２の組の時点が送信された時点との間の遅延は、検出メッセージの受信速度に関係なく、少なくとも平均して所定の遅延を超えない、請求項１０に記載のサーバ装置。
【請求項１７】
処理回路は、検出メッセージがサーバが以前に応答した検出メッセージの再試行であるかどうかを検出し、再試行の検出メッセージに応答して、以前に送信されたタイミング情報を再送信するように構成されている、請求項１０に記載のサーバ装置。
【請求項１８】
プログラム可能処理回路によって実行されるとき、プログラム可能処理回路に請求項１０に記載のサーバ装置の処理回路として機能させる機械語命令を格納するコンピュータプログラム。
【請求項１９】
装置セットを動的に変化させることを提供するように構成されたシステムに使用されるクライアント装置であって：
通信媒体へのインターフェース；
システム内のサーバ装置の動作可能な存在に関する情報を記憶するメモリ；及び
通信媒体を介してサーバ装置に検出メッセージを送信し、且つ検出メッセージへの応答を受信するように構成された処理回路であり、検出メッセージへの応答が受信されないときにサーバ装置の動作可能な存在の終了を記録し、且つ少なくとも１つの検出メッセージを送信する時点を先立つ応答に表された時点に従って選定するように構成された処理回路；
を有するサーバ装置。
【請求項２０】
前記先立つ応答が遅延の値を表し、当該クライアント装置がクロック回路を有し、処理回路が、前記少なくとも１つの検出メッセージの送信を、クロック回路が前記遅延の値に相当する時間間隔が前記先立つ応答の受信後に経過したことを指し示すまで遅延させるように構成されている、請求項１９に記載のクライアント装置。
【請求項２１】
処理回路が、前記応答から同胞クライアントのアドレスを抽出し、且つサーバ装置の動作可能な存在の終了が記録されたときに、抽出された前記アドレスにプロキシバイメッセージを送信するように構成されている、請求項１９に記載のクライアント装置。
【請求項２２】
プログラム可能処理回路によって実行されるとき、プログラム可能処理回路に請求項１９に記載のクライアント装置の処理回路として機能させる機械語命令を格納するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置セットを動的に変化させることを有する情報交換システム、このようなシステムを操作する方法、及びこのようなシステムのための装置に関する。
【背景技術】
【０００２】
装置セットの動的変化を伴うシステムが非特許文献１に記載されている。このようなシステムの例は、例えばテレビセット、プリンタ、記憶装置、遠隔制御器（リモコン）、可搬式情報アクセス機器（例えば、メディアプレーヤ、パームトップコンピュータ等）等の多数の装置が存在する家庭やオフィスの環境に存在する。これらの種類の装置は有線及び／又は無線ネットワークによって接続され、異なる種類の装置が互いに通信可能であるシステムを形成し得る。装置がシステムにプラグ接続されたり、無線接続でカバーされる領域に持ち込まれたりすると、あるいは装置のスイッチがオンにされると、装置はこのようなシステム内で使用可能な状態になることができる。逆に、電源をオフに切り替えること、装置を持ち去ること、又は装置とシステムとのプラグ接続を解くことにより、装置は停止されることができる。
【０００３】
このような可変システムの最適動作のため、装置は、システム内で利用可能な他の装置、特に、ある装置の遠隔機能を実行するために使用され得る他の装置、の存在について最新の情報を有することが望ましい。この存在情報の収集は、装置の存在を検出するために探査メッセージを送信することによって実行される。好ましくは、収集装置がシステムから外されることに対する堅牢性を確保するため、存在情報は複数の装置によって分散的に収集されるべきである。
【０００４】
非特許文献１は、所謂“ライブネス・ピング・プロトコル（liveness  ping  protocol）”及び“プロキシバイ・プロトコル（proxy-bye  protocol）”を利用した、この問題への解法を提案している。この文献は２種類の装置：クライアント及びサーバを区別するものである。サーバとは、クライアントの命令で機能を実行することができる装置である。故に、ライブネス・プロトコルの観点から、クライアントは装置の可用性について知ることに関心を有する。“ライブネス・ピング・プロトコル”に従って、各クライアントは、最新の存在情報を知りたいサーバに対して、ピングメッセージ（その存在を確認するために返信メッセージの送信を要求するメッセージ）を送信する。そのサーバが存在するなら、そのサーバはそれに応答して、クライアントにピング応答メッセージを返信する。クライアントは、ピングメッセージへのピング応答メッセージを所定のタイムアウト期間内に受信しないとき、新たなピングメッセージを送信する。これが所定の回数だけ繰り返された後、クライアントはサーバが動作可能な状態にないと判断し、それに従って存在情報を更新する。
【０００５】
この種の“ライブネス・ピング・プロトコル”に潜む１つの問題は、同一サーバに関する存在情報を最新なものに維持しようとするクライアントが数多く存在する場合、ネットワーク帯域幅の占有と、サーバの負荷とを生じさせ得ることである。
【０００６】
非特許文献１は、ライブネス・プロトコルをプロキシバイ・プロトコルと組み合わせることにより、この問題を解決している。ピング応答メッセージ内に、サーバは当該サーバにピングメッセージを送信した先行する最後の２つのクライアントのネットワークアドレスを含める。ピング応答メッセージを受信したクライアントは、これらのネットワークアドレスを記憶する。その後、このクライアントがサーバはもはや接続されていないと判断すると、このクライアントは自身が記憶しているネットワークアドレスを有するクライアントに通知する。そして、通知されたクライアントは自身が記憶しているネットワークアドレスを有するクライアントにこの通知を転送し、これが続けられる。
【０００７】
プロキシバイ・プロトコルにより、クライアントがピングメッセージを送信する頻度が例え低くされても、クライアントはサーバの存在について最新に保たれる。故に、クライアントがピングメッセージを送信する頻度を低くすることにより、サーバの存在に関する情報の最新性に有意に影響を及ぼすことなく、ピングメッセージによって占有される帯域幅は低減されることができる。
【０００８】
非特許文献１は、ピング応答メッセージに“ピングカウント”情報を含めることによってネットワーク帯域幅の占有と装置の負荷とを制御することを提案している。サーバがピング応答メッセージを送信する度に、サーバはピングカウントを増加させる。クライアントはピングカウントを、それに先立って最後に受信したピング応答メッセージからのピングカウントと比較する。その相違は、この同一クライアントからの連続した２つのピング間の期間にサーバにピングメッセージを送信したクライアント数を表している。クライアントは、ピングカウントの相違に比例して、連続的なピングメッセージを送信する間の遅延を調整する。
【０００９】
このようにして、全クライアントからのピングメッセージが一緒になって、平均して所定の固定帯域幅を占有することが実現され得る。しかしながら、シミュレーションにより、この技術では占有する帯域幅が変動し、システム性能に悪影響を及ぼし得る過密ピークを生じさせることが見出された。この理由の１つは、安定した期間が確立されるまでに、１つのクライアントへの多数のピング応答メッセージを必要とするためであることが判明した。さらに、クライアント内でこのプロトコルを満足な程度に実行することは、クライアントの複雑性をかなり増大させることが判明した。
【非特許文献１】Maarten  Bodlaender、Jarno  Guidi、Lex  Heerink、「Enhancing  Discovery  with  Liveness」、IEEE  CCNC会議2004（ラスベガス）、2004年
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、装置の負荷及び／又は帯域幅の使用をより予測可能にすることが可能な、存在情報を最新に維持する方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に従った方法、システム、サーバ装置及びクライアント装置が独立請求項にて示される。システム内の複数のクライアント装置は、サーバ装置がシステムに動作可能に接続されたままであるかどうかを検出するために、サーバ装置に検出メッセージ（“ピングメッセージ”とも呼ばれる）を送信する。本発明に従って、サーバ装置は、相異なるクライアント装置が後続の検出メッセージを送信する時点を選定し、且つこれらの時点を表すタイミング情報を、典型的に検出メッセージへの応答メッセージの一部としてクライアント装置に送信する。これにより、サーバ装置はシステム内に継続して動作可能に存在していることを裏付ける。斯くして、サーバ装置は自身の存在を検出するための後続の検出メッセージに関する将来的な帯域幅の使用を制御する。これは、クライアント装置の各々が帯域幅の占有に適合することを試みていた従来技術の状況と比較して、帯域幅の制御を単純化する。好ましくは、これはプロキシバイ機構と組み合わされ、それにより、割り当てられた時点にてサーバ装置の不存在を検出したクライアント装置は、この不存在について同胞クライアント装置に報告する。
【００１２】
複数の別個のサーバ装置が存在するとき、好ましくは、個々のサーバ装置が当該サーバ装置に検出メッセージを送信するクライアント装置に対する時点を選定する。
【００１３】
好ましくは、サーバ装置は、複数のクライアント装置の全てのための割当て時点を、先々に向かって進行的に続く共通の時点の組から選定する。その結果、相異なるクライアント装置から連続して受信される検出メッセージに応答して、連続した時点が共通の組から割りあてられる。好ましくは、これは区別された受信検出メッセージ毎に一度のみ適用する。サーバ装置が検出メッセージの送信の再試行を検出したとき、サーバ装置は好ましくは先立って送信されたタイミング情報を繰り返す。
【００１４】
好ましくは、サーバ装置は、組内の連続した時点に関する時点の値Ｔを、この組の先行する時点（典型的には、組内の最後の先行する時点）の値Ｔ’に期間の値Ｄを加算することによって計算する。斯くして、サーバ装置は単に、最後に送信された１つ又は数個の応答の時点の値に関する情報を保持すればよい。
【００１５】
単純な実施形態において、期間の値Ｄは、連続する割当て時点が互いに等間隔となるように一定の所定値を有してもよい。他の一実施形態においては、サーバ装置はこの期間の値を、例えば、検出メッセージの頻度が、クライアント装置が連続する検出メッセージ間に最小所定時間を確保するという制約の課された特定の平均頻度に調整されるように、相異なるクライアント装置の数に適合させる。組内の最初の時点に関する最初の時点の値Ｔは、現時点の値Ｔｏに期間の値Ｄを加算することによって形成されてもよい。
【００１６】
更なる実施形態においては、連続して受信された検出メッセージに応答して送信されるタイミング情報は、少なくとも第１及び第２の組の時点から選定される。この実施形態においては、第２の組のタイミング情報は検出メッセージの制限部分の比率に応じて送信され、それにより、第２の組の時点が送信される比率は、検出メッセージの受信速度に関係なく、少なくとも平均して所定の比率を超えないようにされる。この比率は、例えば、第２の組の最後の先行時点が現時点から将来にかけての所定の時間間隔未満である場合に限り、第２の組に新たな時点を追加することによって制限されてもよい。
【００１７】
本発明のこれら及び他の目的と有利な態様について、以下にて、図面を用いた非限定的な実施例によって詳細に説明する。
【発明を実施するための最良の形態】
【００１８】
図１は、通信媒体12によって相互接続された複数の装置10を含むシステムを示している。通信媒体12は、例えば、有線通信ネットワーク、無線通信ネットワーク、又はそれら双方の組み合わせとし得る。装置10は、例えば、選択された装置をオン又はオフに切り替えること、装置10を媒体12に取り付けること若しくは装置10を媒体12から取り外すこと、又は無線装置10を受信可能範囲の内側又は外側に移動させること等によって、システムに動的に加わったり外れたりすることができる。
【００１９】
装置10には、例えば、手持ちの遠隔制御装置、テレビセット、音響／映像記録装置、可搬式音響／映像再生機、パーソナル計算機などが含まれる。オフィス環境においては、装置10には、プリンタ、記憶装置、パーソナルコンピュータ、可搬式コンピュータ、ノート側コンピュータ、パームトップコンピュータ、スキャナ等が含まれてもよい。例として少ない数の装置10が示されているが、実際のシステムには一層多くのクライアントが存在してもよいことは理解されるべきである。
【００２０】
図２は装置10を示している。装置10は、ネットワークインターフェース22に結合されたプロセッサ20、クロック回路24及びメモリ26を含んでいる。プロセッサ20は典型的にはプログラム可能プロセッサであり、当該プロセッサ20に後述の動作を実行させるプログラムを用いてプログラムされている。しかしながら、変形例として、これらの動作を実行するように設計された専用論理回路が用いられてもよい。
【００２１】
動作において装置10は、動作可能な状態のとき、要求する必要があるサービスの種類が何れであるかを決定する。サービスを要求し得る装置10を“クライアント”と呼ぶこととする。これらのサービスを実行可能な装置10を“サーバ”と呼ぶこととする。
【００２２】
クライアントの一例は、記憶装置によって提供されるファイルサーバサービスのクライアントであり、このノート型コンピュータは利用可能な記憶装置のリストを保持している。他の一例として、手持ちの遠隔制御装置がクライアントであってもよく、これは当該遠隔制御装置に入力された命令を実行する到達範囲内のテレビセット及び／又は音響／映像記録装置のようなサーバのアドレスを管理している。更に他の一例として、可搬式音響／映像再生装置が、近接の音響／映像コンテンツの記憶装置のクライアントであってもよい。
【００２３】
各クライアント10は、１つ又は複数の動作中のサーバ10のアドレスリストを管理している。なお、装置10は相異なるサービスに関して同時にクライアントであり、且つサーバであってもよい。同様に、装置10は複数の種類のサービスのクライアントであってもよく、且つ／或いは複数の種類のサービスのサーバであってもよい。
【００２４】
図３は、クライアントによって実行される処理のフローチャートを示している。第１の段階31にて、クライアントのプロセッサ20が、該クライアント10が必要とするサービスを実行可能なサーバ10に関して、このサーバがシステム内で動作中であることを“発見”した後に、このサーバ10のアドレスを（例えば、メモリ26に）記録する。この発見処理は本発明の課題ではなく、数多くの解法が存在している。この解法には、例えば、クライアント10から一定の種類の全てのサーバを広くアドレス指定した同報（マルチキャスト）メッセージを送信し、応答を受信すること、及び／又は、サーバがネットワークの動作部分になった時、若しくは周期的に、一定のサービスの全てのクライアントを広くアドレス指定してサーバから送信される同報メッセージを受信することが含まれる。
【００２５】
フローチャートの後続段階は、発見されたクライアントの最新のリストに使用される。第２の段階32にて、クライアント10のプロセッサ20は、リストからのサーバをアドレス指定した“ピングメッセージ”をインターフェース22に送信させる。用語“ピング”は技術的に従来からの用語であり、応答を引き出す以外の目的を有しないメッセージを参照するために使用される。第３の段階33にて、プロセッサ20はピングメッセージへの応答で所定の応答期間内にピング応答メッセージが受信されたかどうかを検査する。受信していれば、プロセッサ20は第４の段階へと進み、そこでプロセッサはピング応答メッセージから時点Ｔの表示及び同胞（fellow）クライアントのアドレスを抽出し、この情報をメモリ26に記録する。次に、第５の段階にて、プロセッサ20は指定された時点Ｔに到達したことをクロック回路24が指し示すまで待機する。時点Ｔは、好ましくは、次のピングメッセージが送られ得るまでにカウントされなければならないクロックパルスの遅延カウントＱによって指定される。次のピングメッセージを送る時間に到達すると、プロセッサ20は第２段階32へと戻る。
【００２６】
プロセッサ20が第２段階32にて、ピング応答メッセージを所定期間内に検出しない場合、プロセッサ20は第６の段階36を実行し、応答メッセージをもたらさなかったのが所定の連続的なピングメッセージだけであるときには、第２段階32へと戻る。ピング応答メッセージをもたらさなかったのが所定の連続的なピングメッセーだけでないときには、プロセッサ20は第７の段階37を実行する。認識されるように、ピング応答メッセージを受信できなかった後に第２段階32に戻ることは、ピングメッセージ及び／又はピング応答メッセージが消失する虞が有意に存在する場合のための単なる安全策である。この虞が増大するほど、第２段階32に戻ることがますます好ましく用いられる。この虞が有意に存在しない場合、第７段階37は直ちに実行されてもよい。
【００２７】
第７の段階37にて、プロセッサ20はこのサーバアドレスを動作中サーバのリストから削除し、もしあれば最後に受信されたサーバからのピング応答メッセージ内で指し示されていた同胞クライアントのアドレスに“プロキシバイメッセージ（proxy-bye  message）”を送信する。このサーバアドレスではサーバからのピング応答メッセージが受信されなかったことを同胞クライアントに通知するため、クライアント10はプロキシバイメッセージ内に該サーバアドレスを含める。好ましくは、クライアント10はまた、ピングメッセージによって装置をチェックしたはずの時点に関する情報を付加する。この情報は他のクライアントが、現在のプロキシバイメッセージが以前受信したプロキシバイメッセージ及び／又は他のクライアントのピングメッセージに対して古いかどうかを検出することを可能にする。
【００２８】
図４は、クライアントがプロキシバイメッセージを受信したときに、クライアントによって実行される処理のフローチャートを示している。第１の段階41にて、プロセッサ20はサーバのプロキシバイメッセージを検出する。このサーバが動作中のサーバとしてクライアント10内に依然としてリストアップされている場合、プロセッサ20は第２の段階42を実行し、該サーバにピングメッセージを送信する。
【００２９】
第３の段階43にて、プロセッサ20はピング応答メッセージが受信されるかどうかを検出する。受信される場合、この処理は終了する。受信されない場合、プロセッサは第４の段階44を実行し、所定数のピングメッセージだけが送信されたときには、第２段階32から繰り返す。所定数のピングメッセージ以外も送信されたときには、プロセッサ20は図３の第７段階37と同様の第５の段階45を実行し、このサーバアドレスを動作中サーバのリストから削除し、もしあれば最後に受信されたサーバからのピング応答メッセージ内で指し示されていた同胞クライアントのアドレスに“プロキシバイメッセージ”を送信する。
【００３０】
幾つかの更なる段階が付加されてもよい。例えば、クライアント10は好ましくは、プロキシバイメッセージが既に受信されたかどうかをチェックする。そうであれば、クライアント10はメッセージを廃棄し、フローチャートの処理を終了させる。さらに、プロキシバイメッセージは、プロキシバイを送信したクライアントがピング動作を実行するはずであった時点に関する情報を含んでいてもよい。この情報に基づいて、クライアント10は、より最近のピング動作が首尾よく完了されたかどうかをチェックしてもよい。首尾よく完了されていれば、プロキシバイメッセージは古い情報を運んでいることになり、この場合、クライアント10はこのメッセージを廃棄する。
【００３１】
認識されるように、第２段階42は、誤って、或いは更には意図的に偽造されたプロキシバイメッセージに対する単なる予防策である。このようなメッセージの虞が有意に存在しない場合、第２段階42は飛ばされてもよく、処理は第１段階から第５段階まで直ちに移ってもよい。同様に、ピング応答メッセージを受信できなかった後に第２段階42に戻ることは、ピングメッセージ及び／又はピング応答メッセージが消失する虞が有意に存在する場合のための単なる安全策である。この虞が増大するほど、第２段階42に戻ることがますます好ましく用いられる。この虞が有意に存在しない場合、第４段階は飛ばされてもよい。
【００３２】
図５は、サーバがピングメッセージを受信するときに、サーバによって実行される処理のフローチャートを示している。第１の段階51にて、サーバのプロセッサ20はピングメッセージを検出し、ピングメッセージの送り主のアドレスをメモリ26に記録する。原則として、保持される必要があるのは、最も近くに受信された所定数のピングメッセージからの送り主アドレスのみである。
【００３３】
第２の段階52にて、プロセッサ20は該プロセッサが送信クライアントに割り当てる時点の値Ｔを計算する。一実施形態において、プロセッサ20は最後に割当てられた先行の時点の値Ｔ’をメモリ26に保持し、この先行する割当て時点の値Ｔ’に所定の期間Ｄを加算することによって新たに割当てられる時点の値Ｔを計算し、その後、記憶された先行割当て時点の値を新たな割当て時点の値Ｔで置き換える。この実施形態においては、如何なる割当て時点の値Ｔ’も記憶されていない場合、又は記憶された値Ｔ’がクロック回路24によって示される現在の時点Ｔｏ以前である場合、プロセッサ20はクロック回路24によって示される現時点の値Ｔｏに所定の期間を加算することによって、新たに割り当てられる時点の値Ｔを選定する。
【００３４】
第３の段階53にて、プロセッサ20はインターフェース22をして、第１段階51にて検出されたピングメッセージを送信したクライアントのアドレスにピング応答メッセージを送信させる。プロセッサ20は割当て時点の値Ｔを、例えば、クロック回路24によって示される現クロック時間との差異値Ｔ−Ｔｏとして、あるいは、単純に時点の値Ｔとして、ピング応答メッセージ内に含める。さらに、プロセッサ20は、ピングメッセージを前に送信した多数の他のクライアントのアドレスをピング応答メッセージ内に含める。割当て時点の値Ｔの表示、及びこのアドレスは、例えば、ピング応答メッセージの開始からそれぞれの所定のビット距離に、あるいは標識に先行されて含められ、それにより、クライアントはこの情報をピング応答メッセージから抽出することができる。
【００３５】
図６は、このようにして交換されるピングメッセージ及びピング応答メッセージのタイミング図を示している。時間の進展は、図中、連続的に下方となる位置によって表されている。縦方向の直線60は相異なるクライアントに対応しており、縦方向の直線62はサーバに対応している。横方向の直線64a乃至c、66a及びb、68a及びbはピングメッセージに対応している。
【００３６】
第１のクライアントからの第１のピングメッセージは如何なる時点においても発生され得るが、何れのクライアントからの連続したピングメッセージ間にも所定の期間Ｄを伴う時間間隔が生じるように、この第１のクライアントからの後続ピングメッセージはサーバによって選定された時点において発生される。この例では、サーバは第１のクライアントからの第１のピングメッセージ64aに、この第１のピングメッセージ64aから期間Ｄである時点を割当てることによって応答する。サーバはピング応答メッセージ（図示せず）にて第１のクライアントに割当て時点を伝達し、第１のピングメッセージ64aから期間Ｄ後の割当て時点に従って、第１のクライアントは次のピングメッセージ64bを送信する。
【００３７】
第１及び第２のピングメッセージ64a及びbの送信間に、サーバは第２及び第３のクライアントから第１及び第２の介在ピングメッセージ66a及び68aを受信している。第１の介在ピングメッセージ66aに応答して、サーバは、最後の先行する割当て時点（第２のピングメッセージ64bの時点）より期間Ｄだけ後の新たな時点を割り当てる。この新たな時点は、第１の介在ピングメッセージ66aに応答する第２のクライアントへのピング応答メッセージ内に表される。これに応答して、第２のクライアントは次のピングメッセージ66bを、第1のクライアントからの第２のピングメッセージ64bから期間Ｄだけ後に送信することになる。
【００３８】
第２の介在ピングメッセージ68aに応答して、サーバは、最後の先行する割当て時点（次のピングメッセージ66bの時点）より期間Ｄだけ後の新たな時点を割り当てる。この新たな時点は、第２の介在ピングメッセージ68aに応答する第３のクライアントへのピング応答メッセージ内に表される。これに応答して、第３のクライアントは次のピングメッセージ68bを、第１のクライアントからの第２のピングメッセージ64bから２つの期間Ｄだけ後に送信することになる。
【００３９】
サーバが第１のクライアントからの第２のピングメッセージ64bを受信するとき、サーバは既に、後続のピングメッセージを送信するための２つの新たな時点を割当てている。故に、サーバはここでは第２のピングメッセージ64bから３つの期間Ｄだけ後の時点を割当て、第２のピングメッセージ64bへのピング応答メッセージ内に割当て時点を表す。これに応答して、第１のクライアントは割当てられた時点に第３のピングメッセージ64cを送信する。
【００４０】
斯くして、サーバはピングメッセージを送信するクライアント数に応じて、クライアントからの連続したピングメッセージ間に時間間隔を設ける。図示された実施形態においては、割当てられた時点は相異なるクライアントに対して等しく分配されている。あるクライアントがシステムを去る場合、そのクライアントは当然ながら次のピングメッセージを送信しないことになる。このことは、１つの割当て時点がピングメッセージなく過ぎゆくことを意味する。しかしながら、割当て時点はクライアント間に分配されているため、次の割当て時点には（もし、あれば）別のクライアントがピングメッセージを送信することになる。斯くして、サーバのシステムからの離脱が、あるクライアントの離脱のために通知されない虞が最小化される。
【００４１】
具体的な実施形態に関して本発明を説明してきたが、この他の実施形態も可能であることは認識されるべきである。例えば、この実施形態においては割当てられる時点間に所定の期間Ｄが用いられたが、他の実施形態においては、この時点は変更可能にされてもよい。
【００４２】
これは、同一クライアントからの２つの連続したピングメッセージの送信間の時間間隔に下限Ｉｍｉｎを設定するために使用されてもよい。当然ながら、このような下限はＤ＝Ｉｍｉｎと選定することによって設定されることが可能である。しかしながら、これはクライアントが少ししか存在しない場合に必要とされるのみである。数多いクライアントが存在する場合、このような長い期間Ｄは、ピングメッセージが不必要に低い周波数で送信されることになるという影響を有する。本発明の一態様によれば、ピンギングするクライアント数が増加するにつれて、期間Ｄは徐々に短縮される。
【００４３】
例えば、サーバはピングメッセージを送信する相異なるクライアントの現在数の推定数Ｎを使用してもよい。この場合、期間Ｄは、例えば
Ｄ＝Ｉｍｉｎ／Ｎ
に従って設定されてもよく、
最小期間Ｄｍｉｎは、
Ｄｍｉｎ＞Ｉｍｉｎ／Ｎの場合、Ｄ＝Ｄｍｉｎ
と設定することによって与えられてもよい。
【００４４】
好ましくは、現在のクライアント数Ｎを明確に数えることは避けられる。代わりに、Ｔは最後に割り当てられた送信時点、Ｔｏは現時点、そして“ｃ”は１より小さい定数、例えばｃ＝0.5として、差異（Ｔ−Ｔｏ）が用いられてもよい。差異（Ｔ−Ｔｏ）はクライアント数の指標であり、より多くのクライアントが存在するとき、より多くの送信時点が割当てられ、最後に割当てられた時点はより大きくなっている。
【００４５】
例えば、期間は、
Ｄ＝Ｉｍｉｎ−ｃ（Ｔ−Ｔｏ）
に従って選定されてもよい。ここで、“ｃ”は１より小さい定数、例えばｃ＝0.5である。斯くして、期間Ｄは変化することになる。数理解析により、Ｎ個のクライアントが存在するとき、Ｄは
Ｄ＝Ｉｍｉｎ／（ｃ×Ｎ＋１−ｃ）（ｃ＝0.5のとき、＝２Ｉｍｉｎ／（Ｎ＋１））
で安定になることが示され得る。
【００４６】
同一クライアントからの２つのピングメッセージ間について得られた時間間隔Ｉは
Ｉ＝Ｎ×Ｉｍｉｎ／（ｃ×Ｎ＋１−ｃ）（ｃ＝0.5のとき、＝２Ｎ×Ｉｍｉｎ／（Ｎ＋１））
となる。
【００４７】
理解され得るように、これは時間間隔ＩをおおまかにＩｍｉｎとＩｍｉｎ／ｃとの間に保つことを可能にする。
【００４８】
他の一例においては、因子Ｆが使用され、Ｄが
Ｄ＝Ｉｍｉｎ／Ｆ
に従って設定される。
【００４９】
因子Ｆは初期的に１に設定され、Ｔ−Ｔｏ＞Ｉｍｉｎのとき、ある所定の最大値に到達するまで段階的に増大されてもよい。Ｔ−Ｔｏ＜Ｉｍｉｎのとき、この因子は、次の割当て時点Ｔ＋Ｄが（Ｉｍｉｎ＋Ｔｏ）となり、最小時間間隔を保証するように、
Ｆ＝Ｉｍｉｎ／（Ｉｍｉｎ−（Ｔ−Ｔｏ））
に従って計算され、増大されてもよい。例えば、Ｆを、その先行値に１を足した値、最大値及びＩｍｉｎ／（Ｉｍｉｎ−（Ｔ−Ｔｏ））の内の最小値に選定するなど、様々な調整が適用されてもよい。
【００５０】
他の一例として、サーバは、Ｔ−Ｔｏ＞Ｉｍｉｎである限りＤを所望値Ｄａｖに調整するフィードバック制御を使用してもよい。
【００５１】
その他の点でも、様々な実施形態が可能であることは明らかである。例えば、先行する最後の割当て送信時点Ｔに期間Ｄを加算することによって得られた単一の組の割当て送信時点を使用する代わりに、複数の組の送信時点が使用されてもよい。その場合、例えば、第１の組の送信時点は、第１の組の最後に割り当てられた送信時点に期間Ｄ１を加算することによって得られてもよく、第２の組の送信時点は、第２の組の最後に割り当てられた送信時点に期間Ｄ２を加算することによって得られてもよい。
【００５２】
これは、例えば、第２の組からの時点を有するピング応答が送信されるピングメッセージの割合を、ピング応答メッセージの送信とこれらの割当て時点でのピングメッセージの送信との間の時間間隔がクライアント数から独立の最大値に制限されるように、低く維持するために使用されてもよい。故に、選定された瞬間にクライアントが新たなピングメッセージを迅速に送信することが確保される。これは、過去のずっと以前に最後のピングメッセージを送信したクライアントのみに頼るという、これらのクライアントの多くがもはや動作可能状態にはなくなっているという虞を伴うことを、システムが必要としないという利点を有する。
【００５３】
これを実現するため、サーバは選定された組の一方からの送信時点Ｔ１又はＴ２を各ピング応答メッセージに挿入してもよい。例えば、第２の組からの送信時点Ｔ２を、この送信時点が現時点後の所定の時間間隔だけである場合に限り挿入する。他の一例として、第１の組を選択する確率を第２の組より高くして、組がランダムに選択されてもよい。第２の組が選択される頻度は、例えば、所定の頻度未満に制限されてもよい。
【００５４】
また、サーバは、複数のクライアントへの同一の割当て送信時点を表すピング応答メッセージを送信してもよい。例えば、サーバはピングメッセージに対して所定数Ｐのピング応答メッセージを送信した後にのみ、毎回、値Ｔを増大させるように構成されてもよいし、サーバはＰ個のピング応答メッセージに対してＤより小さい値によってのみ、毎回、値Ｔを増大させるように構成されてもよい（好ましくは、Ｐ個未満のピングメッセージの後に同一クライアントから新たなピングメッセージが受信される如何なる場合にも、値Ｔが増大される）。斯くして、Ｐ個のクライアントはピングメッセージを毎回同時に送信することになるが、他の動作は同一のままとなる。斯くして、サーバがもはや動作していないことが即座に検出されない虞が低減される。
【００５５】
さらに、最も単純な実施は次の時点の値Ｔを最後の先行割当て時点Ｔ’から計算することであるが、本発明を逸脱することなく、当然ながら、割当てられた時点の値に過去に応じたＫで期間Ｄを整数倍したＫＤを加算することによって同様の効果が実現されてもよい。
【００５６】
遅延の値Ｄの使用は単に本発明の１つの実施形態を表すに過ぎず、他の一実施形態においては、システムによってピングメッセージに所定の（例えば、等しい間隔の）時間スロットが定められてもよい。この場合、各ピング応答メッセージは単に、クライアントが次のピングメッセージを送信することが許される時間スロットの数を指定することを必要とする。
【００５７】
その他の点でも、他の実施形態が可能である。例えば、更なる実施形態においては、クライアントは要求される最小期間をピングメッセージに挿入するように構成されてもよい。この実施形態において、サーバは、現時点と割当て時点との間の時間間隔が要求最小期間を超えるように送信時点を割当てるように構成されてもよい。故に、相異なるクライアントは相異なる期間を要求してもよい。
【００５８】
他の一実施形態において、好ましくは、サーバは、ピングメッセージがサーバがピング応答メッセージを送信したばかりのクライアントの再試行メッセージであることを検出した場合に、ピングメッセージに応じた割当て時点Ｔの増大をできなくするように構成される。再試行を検出するためには、様々な技術が使用され得る。例えば、クライアントはピングメッセージに、該ピングメッセージが最初のピングメッセージであるか、あるいはピング応答メッセージを受信できなかった後の再試行であるかを示す情報を含めるように構成されてもよい。他の例では、クライアントはピングメッセージに、送信時点の値を含めるように構成されてもよく、元のピングメッセージの送信時点の値が元のメッセージの再試行に含められる。サーバは、この場合、ピングメッセージからの送信時点の値が以前の送信時点の値と等しい場合に、割当て時点Ｔの増大をできなくするように構成されてもよい。
【００５９】
サーバがピング応答メッセージ内に含めた同胞クライアントのアドレス数は、例えばＭ＝２であるが、１又はより大きい数のＭが使用されてもよい。この数が大きいほど、プロキシバイメッセージが全ての関連クライアントに到達しない虞が小さくなる。好ましくは、この目的のため、サーバはピングメッセージを送信した最後のＭ個のクライアントのアドレスを記憶する。サーバは新たなピングメッセージを受信する度に、最も以前に記憶されたクライアントのアドレスを置き換えるために、このメッセージを送信したクライアントのアドレスを使用する。しかしながら、例えば、記憶された１つのアドレスをランダムに置き換えること等によって、他のアドレス選択基準も代替的に使用されることができる。
【００６０】
クライアントがピングメッセージ以外のメッセージ、例えば、サービスの実行を命令したり、状態情報を要求したり、あるいはデータを提供したりするメッセージ、を送信してもよいことは認識されるべきである。同様に、サーバはピング応答メッセージ以外のメッセージ、例えば、クライアントにより要求されたデータを提供するメッセージ、を送信してもよい。典型的に、ピングメッセージ／ピング応答メッセージはこれら他のメッセージとは独立して送られ、サーバが依然として動作中であることが他のメッセージから明らかである場合には、ピングメッセージ／ピング応答メッセージは最も抑制された状況にある。他の一実施形態において、ピングメッセージ（及び／又はピング応答メッセージ）内に通常含められる情報が、他のメッセージが送信される場合に、このような他のメッセージに含められる。
【００６１】
好ましくは、サーバは割当て時点Ｔを現時点からの遅延の値としてピング応答メッセージ内に表す。この場合、クライアントは好ましくは、次のピングメッセージを送信する前にこの遅延が経過するまでクロックパルスを数える。他の例では、サーバは上記の時点をクロック時間の値として表してもよい。遅延を使用することは、クライアントがクロック時間の値を管理する必要がないという利点を有する。差分の（delta）タイミング値が用いられる場合、装置は、全てのクライアントがクライアントのクロックに対する該装置のクロックのずれを評価し、それを適合させ得るように、現在の絶対時間を供給してもよい。さらに、次のピング動作によって、クライアントがピング動作が失敗した時を装置時間に関してプロキシバイメッセージ内に指し示すことが可能になるまで、装置クロックの現在時間及び差分時間を待機させておく。これは、効果的な模造、又は旧式のプロキシバイ検出を可能にし、プロキシバイメッセージの受信後に必要なピング動作数を減少させ、且つプロキシバイメッセージの通知手順を高速化させる。
【００６２】
以上により認識されるように、本発明は、以前に検出されたサーバが依然としてシステム内に動作可能に存在しているかどうかを検出する分散機構を提供する。この機構は、ピングメッセージが送信される頻度を制御し、同時に、如何なる単一のクライアントが参加を中止した場合にも当該機構が機能しなくならないように、サーバの多数の相異なるクライアントがピングメッセージを送信し続けることを確保するものである。ピングメッセージを受信するサーバが、相異なるクライアントが該サーバにピングメッセージを送信する時点を選定するために使用される。選定された時点を表す情報がピング応答メッセージ内に含められる。サーバのクライアントはピング応答メッセージから該情報を受信し、好ましくは、次のピングメッセージのタイミングを制御するために該情報を使用する。しかしながら、この機構はクライアントが指定時間から外れる場合にも失敗しないことは認識されるべきである。クライアントが新たなピングメッセージを指定時間に送信しない場合にも、他のクライアントが次の指定時間にピングメッセージを送信するときに、サーバの離脱の可能性が検出されることになる。このことは、特に、新たなピングメッセージが早すぎる、あるいは遅すぎる期間Dだけで送信される場合にも言える。同様に、クライアントがピングメッセージをあまりに早く送信する場合、これは必要以上にメッセージのトラフィックを増大させ得るが、この機構を機能停止にすることはない。
【図面の簡単な説明】
【００６３】
【図１】複数の装置を有するシステムを示す図である。
【図２】システムで使用される装置を示す図である。
【図３】クライアントの動作を示すフローチャートである。
【図４】クライアントの更なる動作を示すフローチャートである。
【図５】サーバの動作を示すフローチャートである。
【図６】ピングメッセージ及び応答のタイミングを示す図である。
【図１】
2008512889.tif 000003
【図２】
2008512889.tif 000004
【図３】
2008512889.tif 000005
【図４】
2008512889.tif 000006
【図５】
2008512889.tif 000007
【図６】
2008512889.tif 000008
【国際調査報告】
2008512889.tif 000009
2008512889.tif 000010