(57)【要約】【課題】異常が発生した端末を特定すること。【解決手段】端末１００は、第一の他端末２００、第二の他端末３００、第三の他端末４００、第四の他端末５００に接続される。端末１００は、グループ内の各端末の識別子と各端末の状態を示す状態情報とを含む第一情報を第一の他端末２００から受信する第一の受信部１１０と、受信した第一情報に含まれる自端末の状態情報を正常であることを示す状態情報に更新し、更新した第一情報を第二の他端末３００に送信する第一の送信部１２０と、自端末に異常がない旨を示す第二情報を第三の他端末４００に送信する第二の送信部１３０と、第四の他端末５００から第四の他端末５００に異常がない旨を示す第二情報を受信する第二の受信部１４０と、第二情報を受信後、所定の期間内に第一の他端末２００から第一情報を受信しない場合に、第一の他端末２００の状態を異常であると判定する判定部１５０とを有する。【選択図】図１
2011159086.tif 000002
【特許請求の範囲】
【請求項１】
グループ内の各端末の識別子と前記各端末の状態を示す状態情報とを含む第一情報を第一の他端末から受信する第一の受信部と、
前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第二の他端末に送信する第一の送信部と、
自端末に異常がない旨を示す第二情報を第三の他端末に送信する第二の送信部と、
第四の他端末から当該第四の他端末に異常がない旨を示す第二情報を受信する第二の受信部と、
前記第四の他端末から前記第二情報を受信後、所定の期間内に前記第一の他端末から前記第一情報を受信しない場合に、前記第一の他端末の状態を異常であると判定する判定部と
を有することを特徴とする端末。
【請求項２】
前記第一情報は、複数の前記識別子が所定の順番で規定された情報であり、
前記第一の受信部は、前記第一情報内で自端末の識別子の１つ前に規定された識別子に対応する前記第一の他端末から前記第一情報を受信し、
前記第一の送信部は、前記第一情報内で自端末の識別子の１つ後に規定された識別子に対応する前記第二の他端末に前記第一情報を送信し、
前記第二の送信部は、前記第一情報内で自端末の識別子の２つ以上後に規定された識別子に対応する前記第三の他端末に前記第二情報を送信し、
前記第二の受信部は、前記第一情報内で自端末の識別子の２つ以上前に規定された識別子に対応する前記第四の他端末から前記第二情報を受信し、
前記判定部は、前記第一の他端末の状態を異常であると判定した場合に、前記第一情報から前記第一の他端末に対応する識別子を除外することを特徴とする請求項１に記載の端末。
【請求項３】
自端末が復旧した場合に、自端末が復旧した旨を示す第三情報を送信する第三の送信部と、
他端末から当該他端末が復旧した旨を示す第三情報を受信する第三の受信部とを更に有し、
前記判定部は、前記第三情報を送信した他端末に対応する識別子を前記第一情報に加えることを特徴とする請求項２に記載の端末。
【請求項４】
前記第二の送信部が前記第二情報を前記第三の他端末に送信した後、前記第三の他端末から当該第二情報を受信した旨を示す応答が無い場合に、前記第三の他端末を異常疑いであると判定し、前記第一情報に含まれる前記第三の他端末に対応する識別子の状態情報を異常疑いの状態に設定する第一の応答判定部と、
前記第一の送信部が前記第一情報を前記第二の他端末に送信した後、当該第二の他端末から当該第一情報を受信した旨を示す応答が無い場合に、前記第一情報に含まれる前記第二の他端末に対応する識別子の状態情報が、既に異常疑いの状態となっているか否かを判定し、既に異常疑いの状態となっている場合に、前記第二の他端末を異常であると判定する第二の応答判定部と
を更に有することを特徴とする請求項２又は３に記載の端末。
【請求項５】
前記第一情報は、グループ内の端末の状態を管理する管理装置に前記第一情報を送信する代表端末を識別する識別情報を有し、
前記判定部は、前記第一情報に基づいて自端末が前記代表端末であるか否かを判定し、自端末が前記代表端末である場合には、前記管理装置に前記第一情報を送信することを特徴とする請求項１〜４のいずれか一つに記載の端末。
【請求項６】
グループ内に第一の端末と、第二の端末と、第三の端末と、第四の端末と、第五の端末とを有し、前記グループ内で各端末が他の端末の状態を監視する端末監視システムであって、
前記第一の端末は、
グループ内の各端末の識別子と前記端末の状態を示す状態情報とを対応付けた第一情報を前記第二の端末に送信し、
前記第三の端末は、
自端末に異常がない旨を示す第二情報を前記第二の端末に送信し、
前記第二の端末は、
前記第一の端末から前記第一情報を受信する第一の受信部と、
前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第四の端末に送信する第一の送信部と、
自端末に異常がない旨を示す第二情報を第五の端末に送信する第二の送信部と、
前記第三の端末から前記第二情報を受信した後、所定の期間内に前記第一の端末から前記第一情報を受信しない場合に、前記第一の端末の状態を異常であると判定する判定部と
を有することを特徴とする端末監視システム。
【請求項７】
グループ内に第一の端末と、第二の端末と、第三の端末と、第四の端末と、第五の端末とを有し、前記グループ内で各端末が他の端末の状態を監視し、前記第二の端末が監視結果を管理装置に通知する端末監視システムであって、
前記第一の端末は、
グループ内の各端末の識別子と前記端末の状態を示す状態情報とを対応付けた第一情報を前記第二の端末に送信し、
前記第三の端末は、
自端末に異常がない旨を示す第二情報を前記第二の端末に送信し、
前記第二の端末は、
前記第一の端末から前記第一情報と受信する第一の受信部と、
前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第四の端末に送信する第一の送信部と、
自端末に異常がない旨を示す第二情報を第五の端末に送信する第二の送信部と、
前記第三の端末から前記第二情報を受信した後、所定の期間内に前記第一の端末から前記第一情報を受信しない場合に、前記第一の端末の状態を異常であると判定し、判定結果を前記管理装置に通知する通知部とを有し、
前記管理装置は、
前記通知部により通知された判定結果を受信する受信部と
を有することを特徴とする端末監視システム。
【請求項８】
コンピュータに、
グループ内の各端末の識別子と前記各端末の状態を示す状態情報とを含む第一情報を第一の他端末から受信する第一の受信手順と、
前記第一の受信手順により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第二の他端末に送信する第一の送信手順と、
自端末に異常がない旨を示す第二情報を第三の他端末に送信する第二の送信手順と、
第四の他端末から当該第四の他端末に異常がない旨を示す第二情報を受信する第二の受信手順と、
前記第四の他端末から前記第二情報を受信後、所定の期間内に前記第一の他端末から前記第一情報を受信しない場合に、前記第一の他端末の状態を異常であると判定する判定手順と
を実行させることを特徴とする端末監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末、端末監視システムおよび端末監視プログラムに関する。
【背景技術】
【０００２】
従来、複数の端末がネットワークを介して接続し、各端末同士でデータ通信を実行するシステムが存在する。例えば、このシステムに含まれる各端末は、端末に各種のサービスを提供するサーバ装置に対応し、例えば、サービス提供先の端末の情報等を共有するために、各端末間でデータ通信を行う。また、上記システムには、各端末を管理する管理装置が含まれ、この管理装置が各端末との間でデータを送受信することで、各端末の異常を検出する。例えば、管理装置が端末にデータを送信し、送信先の端末からデータが返信されない場合に、かかる端末に異常が発生したと判定する。
【０００３】
ところで、上記システムのように、管理装置が各端末とデータ通信をおこなって各端末の異常を検出する方法では、システムに含まれる端末の数が増加すると、ネットワークの通信量が膨大になってしまう。このため、ネットワークの通信量を低減させる各種の技術が開示されている。
【０００４】
例えば、ネットワークの通信量を低減させる技術として、システムに含まれる各端末を複数のグループに分類し、分類したグループに代表端末を設ける技術が開示されている。この技術では、各グループの代表端末が、同一グループに含まれる各端末の状態を判定し、判定結果を管理装置に通知する。管理装置は、代表端末とデータ通信を行えばよいので、全ての端末とデータ通信を行う必要が無く、上記のシステムと比較して、ネットワークの通信量を削減することができる。
【０００５】
ここで、管理テーブルを用いて代表端末が同一グループに含まれる端末の異常を検出する方法の一例について説明する。管理テーブルは、グループを構成する端末の状態を記憶し、管理テーブルが各端末間で転送される順序を規定した情報を含む。前提として、同一グループに端末Ａ，Ｂ，Ｃ，Ｄが含まれているものとし、代表端末を端末Ａとする。端末Ａは管理テーブルを端末Ｂに転送し、端末Ｂは管理テーブルを端末Ｃに転送し、端末Ｃは管理テーブルを端末Ｄに転送し、端末Ｄは管理テーブルを端末Ａに転送する。そして、各端末Ａ〜Ｄは管理テーブル受信時に自身の状態を管理テーブルに登録する。この場合、端末Ａは、端末Ｄから受信する管理テーブルを参照することで、端末Ｂ，Ｃとの間でデータ通信を実行しなくても、各端末Ｂ〜Ｄの状態を判定することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−９３３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、異常が発生した端末を特定できない場合があるという問題があった。
【０００８】
例えば、上記のように各端末を複数のグループに分類し、所定の順序で管理テーブルを転送する技術では、同一のグループに含まれる端末のいずれかに異常が発生すると、管理テーブルの転送が中断され、代表端末は管理テーブルを受信することができない。このように、代表端末は、管理テーブルを受信できないと異常の発生した端末を特定することができず、異常の発生した端末を管理装置に通知することができない。
【０００９】
例えば、代表端末を端末Ａとし、端末Ａ〜Ｄの順に管理テーブルを転送する場合に、端末Ａが端末Ｄから管理テーブルを受信できないと、端末Ａは、端末Ｂ，Ｃ，Ｄのうちのどの端末で異常が発生しているのかを特定することができない。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、異常が発生した端末を特定できる端末、端末監視システムおよび端末監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する技術は、一つの態様において、グループ内の各端末の識別子と前記端末の状態を示す状態情報とを含む第一情報を第一の他端末から受信する第一の受信部と、前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第二の他端末に送信する第一の送信部と、自端末に異常がない旨を示す第二情報を第三の他端末に送信する第二の送信部と、第四の他端末から当該第四の他端末に異常がない旨を示す第二情報を受信する第二の受信部と、前記第四の他端末から前記第二情報を受信後、所定の期間内に前記第一の他端末から前記第一情報を受信しない場合に、前記第一の他端末の状態を異常であると判定する判定部とを有する。
【発明の効果】
【００１２】
本願の開示する技術の一つの態様によれば、異常が発生した端末を特定できるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１にかかる端末の構成を示す図である。
【図２】図２は、実施例２にかかる端末監視システムの構成を示す図である。
【図３】図３は、実施例２にかかる端末監視システムの正常時の動作の一例を説明するための図である。
【図４】図４は、実施例２にかかる端末監視システムの異常検出時の動作の一例を説明するための図である。
【図５】図５は、実施例２にかかる端末監視システムの復旧時の動作の一例を説明するための図である。
【図６】図６は、実施例２にかかる端末の構成を示す図である。
【図７】図７は、実施例２にかかる管理テーブルの一例を示す図（１）である。
【図８】図８は、実施例２にかかるアドレス管理テーブルの一例を示す図である。
【図９】図９は、実施例２にかかる管理テーブルの一例を示す図（２）である。
【図１０】図１０は、実施例２にかかる管理テーブルの一例を示す図（３）である。
【図１１】図１１は、実施例２にかかる端末の異常検出時の処理手順を示すフローチャートである。
【図１２】図１２は、実施例２にかかる端末の復旧時の処理手順を示すフローチャートである。
【図１３】図１３は、実施例２にかかる端末監視システムの正常時の動作の一例を説明するためのタイムチャートである。
【図１４】図１４は、実施例２にかかる端末監視システムの異常検出時の動作の一例を説明するためのタイムチャートである。
【図１５】図１５は、実施例２にかかる端末監視システムの復旧時の動作の一例を説明するためのタイムチャートである。
【図１６】図１６は、実施例３にかかる端末監視システムの異常検出時の動作の一例を説明するための図である。
【図１７】図１７は、実施例３にかかる端末監視システムの復旧時の動作の一例を説明するための図である。
【図１８】図１８は、実施例３にかかる端末の構成を示す図である。
【図１９】図１９は、実施例３にかかる管理テーブルの一例を示す図である。
【図２０】図２０は、実施例３にかかる端末の異常検出時の処理手順を示すフローチャートである。
【図２１】図２１は、実施例３にかかる端末の復旧時の処理手順を示すフローチャートである。
【図２２】図２２は、実施例３にかかる端末監視システムの異常検出時の動作の一例を説明するためのタイムチャートである。
【図２３】図２３は、実施例３にかかる端末監視システムの復旧時の動作の一例を説明するためのタイムチャートである。
【図２４】図２４は、端末監視プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下に、図面を参照しつつ、本願の開示する端末、端末監視システムおよび端末監視プログラムの一実施形態について詳細に説明する。なお、本願の開示する端末、端末監視システムおよび端末監視プログラムの一実施形態として以下に説明する実施例により、本願の開示する技術が限定されるものではない。
【実施例１】
【００１５】
実施例１にかかる端末について説明する。図１は、実施例１にかかる端末の構成を示す図である。図１に示すように、端末１００は、第一の受信部１１０、第一の送信部１２０、第二の送信部１３０、第二の受信部１４０、判定部１５０を有する。また、端末１００は、第一の他端末２００、第二の他端末３００、第三の他端末４００、第四の他端末５００に接続され、グループを形成する。
【００１６】
第一の受信部１１０は、グループ内の各端末の識別子と各端末の状態を示す状態情報とを含む第一情報を第一の他端末２００から受信する。第一の送信部１２０は、第一の受信部１１０により受信した第一情報に含まれる自端末の状態情報を正常であることを示す状態情報に更新し、更新した第一情報を第二の他端末３００に送信する。第二の送信部１３０は、自端末に異常がない旨を示す第二情報を第三の他端末４００に送信する。第二の受信部１４０は、第四の他端末５００から第四の他端末５００に異常がない旨を示す第二情報を受信する。判定部１５０は、第四の他端末５００から第二情報を受信後、所定の期間内に第一の他端末２００から第一情報を受信しない場合に、第一の他端末２００の状態を異常であると判定する。
【００１７】
上述してきたように、端末１００は、第一情報を第四の他端末５００から第一の他端末２００を経由して端末１００に転送し、さらに、端末１００から第二の他端末３００を経由して第三の他端末４００に転送するグループにおいて、以下のように機能する。すなわち、端末１００は、第一情報を第二の他端末３００に送信し、第二情報を第三の他端末４００に送信する。また、端末１００は、第一の他端末２００から第一情報を受信し、第四の他端末５００から第二情報を受信する。したがって、第四の他端末５００から第二情報を受信した後、所定の期間内に第一の他端末２００から第一情報を受信しない場合には、端末１００は、第一の他端末２００に異常が発生したと判定する。このようなことから、本実施例１にかかる端末は、グループ内の所定の他端末の状態を判定するので、異常が発生した端末を正確に特定できる。
【実施例２】
【００１８】
次に、本実施例２にかかる端末監視システムの一例について説明する。実施例２では、端末監視システムが片方向通信方式のネットワークで接続された場合を想定して説明する。まず、端末監視システムの構成および動作について説明し、次に、端末監視システムが有する端末の構成、処理手順および効果について説明する。なお、片方向通信方式とは、送信側から送信された情報を受信側が受信するのみで、受信の成否や受信状況を示す応答が行われない方式である。片方向通信方式は、例えば、単方向通信方式、シンプレックス方式とも称される。
【００１９】
まず、本実施例２にかかる端末監視システムの構成について説明する。図２は、本実施例２にかかる端末監視システムの構成を説明するための図である。図２に示すように、端末監視システムは、端末１０ａ，２０ａ，３０ａ，４０ａ，５０ａ，６０ａおよび管理装置７０を有する。端末１０ａ〜６０ａと管理装置７０とは、ネットワーク８０を介して接続される。
【００２０】
端末１０ａ〜６０ａは、他端末の状態を監視する装置である。端末１０ａ〜６０ａは、他の端末と状態を監視する監視グループを形成し、監視グループ内の各端末の状態を管理する管理テーブルを記憶する。端末１０ａ〜６０ａは、管理テーブルを監視グループ内で所定の順に転送するとともに、管理テーブルの送信先とは異なる端末に自端末の死活を示す死活情報を送信する。そして、端末１０ａ〜６０ａは、管理テーブルや死活情報の受信の状況によって、他端末の状態を監視する。なお、端末１０ａ〜６０ａは、例えば、サーバや中継装置等のネットワーク上で所定のサービスを提供するノードに対応する。また、監視グループは、ネットワークで接続された複数の端末のうち、任意に選択した端末により形成することができる。例えば、監視グループは、複数の端末をサービスや部署ごとに分類して形成することができる。
【００２１】
管理装置７０は、監視グループ内の端末１０ａ〜６０ａの状態を管理する装置である。管理装置７０は、監視グループ内の端末のうち任意に選定された代表端末から管理テーブルを受信することで、監視グループ内の端末１０ａ〜６０ａの状態を管理する。なお、管理装置７０は、例えば、サーバ等の情報処理装置に対応する。
【００２２】
次に、本実施例２にかかる端末監視システムの動作について説明する。ここでは、端末監視システムの端末１０ａ〜６０ａが他端末の状態を監視するための動作を、正常時、異常検出時および復旧時に分けて順に説明する。
【００２３】
まず、端末監視システムの正常時の動作について説明する。端末監視システムの端末１０ａ〜６０ａは、二つ前の端末から死活情報と一つ前の端末から管理テーブルとを受信すると、一つ前の端末が正常であると判定する。そして、端末１０ａ〜６０ａは、受信した管理テーブルを記憶し、記憶した管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末１０ａ〜６０ａは、更新した管理テーブルを一つ後の端末に送信する。また、端末１０ａ〜６０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を二つ後の端末に送信する。このように、端末監視システムは、端末１０ａ〜６０ａで監視グループを形成し、端末１０ａ〜６０ａを監視する。
【００２４】
図３は、実施例２にかかる端末監視システムの正常時の動作の一例を説明するための図である。図３に示す端末監視システムは、図２と同じである。なお、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００２５】
端末１０ａは、端末１０ａが記憶する管理テーブルの自端末の状態情報を現在の状態情報、つまり、正常であることを示す状態情報に更新する。そして、端末１０ａは、更新した管理テーブルを端末２０ａに送信する。図３の（１）参照。また、端末１０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末３０ａに送信する。図３の（２）参照。
【００２６】
端末２０ａは、端末１０ａから管理テーブルを受信し、受信した管理テーブルを記憶する。そして、端末２０ａは、記憶した管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末２０ａは、更新した管理テーブルを端末３０ａに送信する。図３の（３）参照。また、端末２０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末４０ａに送信する。図３の（４）参照。仮に、端末２０ａが代表端末として選定されているとすると、端末２０ａは、更新した管理テーブルを管理装置７０にも送信する。図３の（５）参照。
【００２７】
端末３０ａは、端末１０ａから死活情報と端末２０ａから管理テーブルとを受信すると、端末２０ａが正常であると判定する。そして、端末３０ａは、受信した管理テーブルを記憶し、記憶した管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末３０ａは、更新した管理テーブルを端末４０ａに送信する。図３の（６）参照。また、端末３０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末５０ａに送信する。図３の（７）参照。以降、端末１０ａ〜６０ａは、端末３０ａと同様の動作を実行する。
【００２８】
次に、端末監視システムの異常検出時の動作について説明する。端末監視システムの端末１０ａ〜６０ａは、二つ前の端末から死活情報を受信した後、所定の期間内に一つ前の端末から管理テーブルを受信しない場合には、一つ前の端末が異常であると判定する。そして、端末１０ａ〜６０ａは、所定の端末に異常が発生した旨を管理装置７０に通知する。端末監視システムは、異常が発生した端末を監視グループから除外して、正常である端末で監視グループを再構成する。
【００２９】
図４は、実施例２にかかる端末監視システムの異常検出時の動作の一例を説明するための図である。図４では、端末２０ａに異常が発生した場合を想定して説明する。図４に示す端末監視システムは、図２と同じである。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００３０】
端末１０ａは、端末１０ａが記憶する管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末１０ａは、更新した管理テーブルを端末２０ａに送信する。図４の（１）参照。また、端末１０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末３０ａに送信する。図４の（２）参照。
【００３１】
端末２０ａに異常が発生した場合には、端末２０ａは、管理テーブルを端末１０ａから受信しても、端末３０ａに送信できない。また、端末２０ａは、死活情報を端末４０ａに送信できない。
【００３２】
端末３０ａは、端末１０ａから死活情報を受信した後、所定の期間内に端末２０ａから管理テーブルを受信しないので、端末２０ａが異常であると判定する。そして、端末３０ａは、以前に記憶した管理テーブルの端末２０ａの状態情報を異常であることを示す状態情報に更新する。また、端末３０ａは、管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末３０ａは、更新した管理テーブルを管理装置７０と端末４０ａとに送信する。図４の（３）および（４）参照。また、端末３０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末５０ａに送信する。図４の（５）参照。なお、端末監視システムは、異常が検出された端末２０ａを監視グループから除外して、端末１０ａ，３０ａ，４０ａ，５０ａ，６０ａで監視グループを再構成する。
【００３３】
次に、端末監視システムの復旧時の動作について説明する。端末が異常から復旧すると、復旧した端末は、監視グループに含まれる全ての他端末に自端末が復旧したことを示す死活情報を送信する。一方、受信側の端末は、以前に異常と判定された端末から死活情報を受信すると、異常と判定された端末が復旧したと判定する。そして、受信側の端末は、自端末が記憶する管理テーブルに復旧した端末の状態情報を正常であることを示す状態情報に更新する。そして、例えば、管理テーブルを最後に受信した端末から、管理テーブルの転送を再開する。
【００３４】
図５は、実施例２にかかる端末監視システムの復旧時の動作の一例を説明するための図である。図５では、端末２０ａが異常から復旧した場合を想定して説明する。図５に示す端末監視システムの構成は、図２と同じである。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００３５】
端末２０ａが異常から復旧すると、端末２０ａは、監視グループに含まれる全ての他端末、つまり、端末１０ａ，３０ａ，４０ａ，５０ａ，６０ａに自端末が復旧したことを示す死活情報を送信する。図５の（１）参照。この死活情報を受信した端末は、自端末が記憶する管理テーブルの端末２０ａの状態情報を正常であることを示す状態情報に更新する。
【００３６】
仮に、管理テーブルを最後に受信した端末が端末１０ａであったとすると、端末１０ａは、自端末が記憶する管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末１０ａは、更新した管理テーブルを管理装置７０と端末２０ａとに送信する。図５の（２）および（３）参照。また、端末１０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末３０ａに送信する。図５の（４）参照。
【００３７】
端末２０ａは、端末１０ａから管理テーブルを受信し、受信した管理テーブルを記憶する。そして、端末２０ａは、記憶した管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末２０ａは、更新した管理テーブルを端末３０ａに送信する。図５の（５）参照。また、端末２０ａは、自端末が正常であることを示す死活情報を生成し、生成した死活情報を端末４０ａに送信する。図５の（６）参照。なお、端末監視システムは、復旧した端末２０ａを監視グループに加え、端末１０ａ〜６０ａで監視グループを再構成する。
【００３８】
次に、図２〜図５に示した端末１０ａ〜６０ａの構成について説明する。ここでは、説明の便宜上、端末３０ａの構成について説明する。図６は、実施例２にかかる端末の構成を示す図である。なお、端末３０ａ以外の端末１０ａ，２０ａ，４０ａ，５０ａ，６０ａは、図６に示した端末３０ａの構成と同じなので説明は省略する。図６に示すように、端末３０ａは、入力ポート３１ａ、出力ポート３２ａ、入力制御部３３ａ、記憶部３４ａ、出力制御部３５ａ、信号出力部３６ａ、判定部３７ａを有する。
【００３９】
入力ポート３１ａは、ネットワークを介して接続された端末１０ａ，２０ａ，４０ａ，５０ａ，６０ａおよび管理装置７０からデータを受信する処理部である。例えば、入力ポート３１ａは、端末２０ａから後述する管理テーブル３４ｃを受信し、受信した管理テーブル３４ｃを入力制御部３３ａおよび判定部３７ａに送る。また、入力ポート３１ａは、端末１０ａから後述する死活情報を受信し、受信した死活情報を判定部３７ａに送る。
【００４０】
出力ポート３２ａは、ネットワークを介して接続された端末１０ａ，２０ａ，４０ａ，５０ａ，６０ａおよび管理装置７０にデータを送信する処理部である。例えば、出力ポート３２ａは、出力制御部３５ａから管理テーブル３４ｃを受け付けて、受け付けた管理テーブル３４ｃを指定された宛先に送信する。また、出力ポート３２ａは、信号出力部３６ａから死活情報を受け付けて、受け付けた死活情報を指定された宛先に送信する。なお、入力ポート３１ａおよび出力ポート３２ａは、通信カード等に対応する。
【００４１】
入力制御部３３ａは、入力ポートから管理テーブル３４ｃを受け付けて、受け付けた管理テーブル３４ｃを記憶部３４ａに格納する処理部である。
【００４２】
記憶部３４ａは、各種の情報を記憶する記憶部である。図６に示すように、記憶部３４ａは、管理テーブル３４ｃとアドレス管理テーブル３４ｄとを記憶する。
【００４３】
このうち、管理テーブル３４ｃは、監視グループ内の各端末の識別子を所定の順序で定義づけ、各端末の識別子に対応付けて端末の状態を示す状態情報と代表端末であるか否かを示す情報とを記憶するテーブルである。図７は、実施例２にかかる管理テーブルの一例を示す図（１）である。図７に示すように、この管理テーブル３４ｃは、端末の識別子「ｎａｍｅ」と状態情報「ｓｔａｔｅ」と代表端末であるか否かを示す「ｍａｓｔｅｒ」とを有する。例えば、管理テーブル３４ｃの１段目では、ｎａｍｅ「端末１０ａ」とｓｔａｔｅ「正常」とｍａｓｔｅｒ「ｎｕｌｌ」とが対応付けられている。管理テーブル３４ｃの２段目では、ｎａｍｅ「端末２０ａ」とｓｔａｔｅ「正常」とｍａｓｔｅｒ「○」とが対応付けられている。なお、「○」は、対応する端末が代表端末であることを示す。また、「ｎｕｌｌ」は、何のデータも含まれない状態を、つまり、対応する端末が代表端末でないことを示す。
【００４４】
アドレス管理テーブル３４ｄは、監視グループ内の各端末の識別子とＩＰアドレスとを記憶するテーブルである。図８は、実施例２にかかるアドレス管理テーブルの一例を示す図である。図８に示すように、このアドレス管理テーブル３４ｄは、端末の識別子「ｎａｍｅ」とＩＰアドレス「ＩＰ  ａｄｄｒｅｓｓ」とを有する。例えば、アドレス管理テーブル３４ｄの１段目では、ｎａｍｅ「端末１０ａ」とＩＰ  ａｄｄｒｅｓｓ「１９８．１６４．６．１０１」とが対応付けられている。アドレス管理テーブル３４ｄの２段目では、ｎａｍｅ「端末２０ａ」とＩＰ  ａｄｄｒｅｓｓ「１９８．１６４．６．１０２」とが対応付けられている。
【００４５】
出力制御部３５ａは、判定部３７ａにより更新した管理テーブル３４ｃの送信先を決定し、決定した送信先に管理テーブル３４ｃを送信する処理部である。具体的に、出力制御部３５ａは、管理テーブル３４ｃに列記された異常でない端末のうち、自端末の識別子の一つ後に列記された識別子に対応する他端末を管理テーブル３４ｃの送信先として決定する。続いて、出力制御部３５ａは、送信先の端末の識別子に対応するＩＰアドレスをアドレス管理テーブル３４ｄから読み出す。そして、出力制御部３５ａは、読み出したＩＰアドレスを宛先として、管理テーブル３４ｃを送信する。
【００４６】
例えば、出力制御部３５ａは、図７に示した管理テーブル３４ｃに列記された異常でない端末のうち、端末３０ａの一つ後に列記された端末４０ａを管理テーブル３４ｃの送信先として決定する。そして、出力制御部３５ａは、アドレス管理テーブル３４ｄから端末４０ａのＩＰアドレス「１９８．１６４．６．１０４」を読み出す。そして、出力制御部３５ａは、読み出した端末４０ａのＩＰアドレスを宛先として、管理テーブル３４ｃを送信する。
【００４７】
また、出力制御部３５ａは、自端末が代表端末である場合には、管理テーブル３４ｃを管理装置７０に送信する。具体的に、端末３０ａが代表端末である場合には、出力制御部３５ａは、アドレス管理テーブル３４ｄから管理装置７０のＩＰアドレス「１９８．１６４．６．１０７」を読み出す。そして、出力制御部３５ａは、読み出した管理装置７０のＩＰアドレスを宛先として、管理テーブル３４ｃを送信する。
【００４８】
信号出力部３６ａは、死活情報を所定の他端末に送信する処理部である。死活情報は、例えば、自端末の識別情報と自端末が正常であることを示す状態情報とを含む信号である。ここで、識別情報とは、例えば、ＩＰアドレスやＭＡＣアドレス等に対応する。具体的に、自端末が正常である場合には、信号出力部３６ａは、死活情報を生成する。続いて、信号出力部３６ａは、管理テーブル３４ｃに列記された異常でない端末のうち、自端末の識別子の二つ後に列記された識別子に対応する他端末を死活情報の送信先として決定する。続いて、信号出力部３６ａは、送信先の端末の識別子に対応するＩＰアドレスをアドレス管理テーブル３４ｄから読み出す。そして、信号出力部３６ａは、読み出したＩＰアドレスを宛先として、死活情報を送信する。
【００４９】
例えば、端末３０ａが正常である場合には、信号出力部３６ａは、死活情報を生成する。続いて、信号出力部３６ａは、図７に示した管理テーブル３４ｃに列記された異常でない端末のうち、端末３０ａの二つ後に列記された端末５０ａを死活情報の送信先として決定する。そして、信号出力部３６ａは、アドレス管理テーブル３４ｄから端末３０ａのＩＰアドレス「１９８．１６４．６．１０５」を読み出す。そして、信号出力部３６ａは、読み出した端末５０ａのＩＰアドレスを宛先として、死活情報を送信する。
【００５０】
また、自端末が復旧した場合にも、信号出力部３６ａは、死活情報を送信する。例えば、自端末が復旧すると、信号出力部３６ａは、自端末の再起動と同時に死活情報を生成する。続いて、信号出力部３６ａは、同一の監視グループに含まれる全ての他端末を死活情報の送信先として決定する。そして、信号出力部３６ａは、アドレス管理テーブル３４ｄから全端末のＩＰアドレスを読み出す。そして、信号出力部３６ａは、読み出した全端末のＩＰアドレスを宛先として、管理テーブル３４ｃを送信する。
【００５１】
判定部３７ａは、端末の状態を判定し、判定した結果に応じて管理テーブル３４ｃを更新する処理部である。具体的に、判定部３７ａは、死活情報を受信後、所定の期間内に管理テーブル３４ｃを受信した場合には、管理テーブル３４ｃの受信元の端末を正常と判定する。一方、判定部３７ａは、死活情報を受信後、所定の期間内に管理テーブル３４ｃを受信しない場合には、管理テーブル３４ｃの受信元の端末を異常と判定する。そして、判定部３７ａは、管理テーブル３４ｃの受信元の端末の状態情報を異常であることを示す状態情報に更新する。
【００５２】
例えば、端末２０ａに異常が発生すると、判定部３７ａは、端末１０ａから死活情報を受信後、所定の期間内に端末２０ａから管理テーブル３４ｃを受信しないので、端末２０ａを異常と判定する。そして、判定部３７ａは、管理テーブル３４ｃを記憶部３４ａから読み出し、読み出した管理テーブル３４ｃの端末２０ａの状態情報を異常であることを示す状態情報に更新する。つまり、判定部３７ａは、例えば、図７に示した管理テーブル３４ｃを図９に示す管理テーブル３４ｃに更新する。図９は、実施例２にかかる管理テーブルの一例を示す図（２）である。図９に示すように、判定部３７ａは、管理テーブル３４ｃの端末２０ａの状態情報「正常」を「異常」に更新する。また、図７では、端末２０ａが代表端末として選定されていたので、判定部３７ａは、管理テーブル３４ｃの端末２０ａのｍａｓｔｅｒ「○」を「ｎｕｌｌ」に更新するとともに、端末１０ａのｍａｓｔｅｒ「ｎｕｌｌ」を「○」に更新する。なお、図９のうち更新されない情報については、図７と同じである。また、「○」は、対応する端末が代表端末であることを示し、「ｎｕｌｌ」は、対応する端末が代表端末でないことを示す。
【００５３】
また、判定部３７ａは、記憶部に記憶された管理テーブル３４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。具体的に、判定部３７ａは、管理テーブル３４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。
【００５４】
また、判定部３７ａは、以前に異常と判定された端末から死活情報を受信すると、異常と判定された端末が復旧したと判定する。具体的に、判定部３７ａは、死活情報を受信すると、受信した死活情報に含まれる識別情報から死活情報の送信元の端末を特定する。そして、判定部３７ａは、記憶部３４ａに記憶した管理テーブル３４ｃを参照し、特定した端末の状態情報が異常である場合には、以前に異常と判定された端末が復旧したものと判定する。そして、判定部３７ａは、管理テーブル３４ｃのうち復旧した端末の状態情報を正常であることを示す状態情報に更新する。
【００５５】
例えば、判定部３７ａは、端末２０ａから死活情報を受信し、受信した死活情報に含まれる識別情報から送信元の端末を端末２０ａと特定する。そして、判定部３７ａは、記憶部３４ａに記憶した管理テーブル３４ｃを参照し、端末２０ａの状態情報が異常である場合には、端末２０ａが異常から復旧したものと判定する。そして、判定部３７ａは、管理テーブル３４ｃの端末２０ａの状態情報を正常であることを示す状態情報に更新する。つまり、判定部３７ａは、例えば、図９に示した管理テーブル３４ｃを図１０に示す管理テーブル３４ｃに更新する。図１０は、実施例２にかかる管理テーブルの一例を示す図（３）である。図１０に示すように、判定部３７ａは、管理テーブル３４ｃの端末２０ａの状態情報「異常」を「正常」に更新する。なお、図１０のうち更新されない情報については、図９と同じである。また、「○」は、対応する端末が代表端末であることを示し、「ｎｕｌｌ」は、対応する端末が代表端末でないことを示す。
【００５６】
次に、本実施例２にかかる端末の処理手順について説明する。ここでは、端末の処理手順を異常検出時、復旧時に分けて順に説明する。
【００５７】
まず、端末の異常検出時の処理手順について説明する。図１１は、実施例２にかかる端末の異常検出時の処理手順を示すフローチャートである。図１１では一例として、端末３０ａが端末２０ａの異常を検出するものとする。なお、他の端末１０ａ，２０ａ，４０ａ，５０ａ，６０ａの異常検出時の処理手順は、図１１と同様である。
【００５８】
図１１に示すように、端末３０ａは、端末１０ａから死活情報を受信すると（ステップＳ１０１，Ｙｅｓ）、所定の期間内に端末２０ａから管理テーブル３４ｃを受信したか否かを判定する（ステップＳ１０２）。
【００５９】
端末３０ａは、所定の期間内に管理テーブル３４ｃを受信した場合には（ステップＳ１０２，Ｙｅｓ）、端末２０ａに異常がないものと判定する。そして、端末３０ａは、管理テーブル３４ｃの自端末の状態情報を正常であることを示す状態情報に更新する（ステップＳ１０３）。
【００６０】
続いて、端末３０ａは、自端末が代表端末であるか否かを判定する（ステップＳ１０４）。端末３０ａは、自端末が代表端末でないと判定した場合には（ステップＳ１０４，Ｎｏ）、自端末が正常であることを示す死活情報を端末５０ａに送信する（ステップＳ１０５）。そして、端末３０ａは、更新した管理テーブル３４ｃを端末４０ａに送信する（ステップＳ１０６）。
【００６１】
一方、端末３０ａは、所定の期間内に管理テーブル３４ｃを受信しなかった場合には（ステップＳ１０２，Ｎｏ）、端末２０ａに異常が発生したものと判定する。続いて、端末３０ａは、管理テーブル３４ｃの端末２０ａの状態情報を異常であることを示す状態情報に更新する（ステップＳ１０７）。そして、端末３０ａは、更新した管理テーブル３４ｃを管理装置７０に送信し（ステップＳ１０８）、ステップＳ１０３に移行して処理を再開する。
【００６２】
また、端末３０ａは、自端末が代表端末であると判定した場合には（ステップＳ１０４，Ｙｅｓ）、更新した管理テーブル３４ｃを管理装置７０に送信し（ステップＳ１０９）、ステップＳ１０５に移行して処理を再開する。
【００６３】
なお、端末の異常検出時の処理手順においては、ステップＳ１０５の処理を行った後にステップＳ１０６の処理を行うこととしたが、必ずしもこの順序で行われることを要しない。つまり、端末の異常検出時の処理手順においては、ステップＳ１０６の処理を行った後にステップＳ１０５の処理を行ってもよい。
【００６４】
次に、端末の復旧時の処理手順について説明する。図１２は、実施例２にかかる端末の復旧時の処理手順を示すフローチャートである。図１２では一例として、端末２０ａが復旧したものとする。なお、他の端末１０ａ，３０ａ，４０ａ，５０ａ，６０ａの復旧時の処理手順は、図１２と同様である。
【００６５】
端末２０ａは、異常状態から復旧して再起動すると（ステップＳ２０１，Ｙｅｓ）、自端末が復旧したことを示す死活情報を監視グループ内の全ての他端末、つまり、端末１０ａ，３０ａ，４０ａ，５０ａ，６０ａに送信する（ステップＳ２０２）。
【００６６】
監視グループ内の全ての他端末は、端末２０ａから端末２０ａが復旧したことを示す死活情報を受信し（ステップＳ２０３）、端末２０ａが正常であると判定する。そして、監視グループ内の全ての他端末は、各端末が記憶する管理テーブル３４ｃの端末２０ａの状態情報を正常であることを示す状態情報に更新する（ステップＳ２０４）。
【００６７】
次に、端末監視システムの正常時のタイムチャートを説明する。図１３は、実施例２にかかる端末監視システムの正常時の動作の一例を説明するためのタイムチャートである。図１３では、端末６０ａ，１０ａ，２０ａ，３０ａにおける経過時間と動作とを関連付けて説明する。図１３の下方向の矢印は、端末６０ａ，１０ａ，２０ａ，３０ａにおける経過時間を示す。また、図１３の矢印上の語句は、その経過時間における端末６０ａ，１０ａ，２０ａ，３０ａの動作を示す。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００６８】
端末６０ａは、端末４０ａから死活情報を受信する。図１３の（１）参照。そして、端末６０ａは、所定の期間内に端末５０ａから管理テーブル３４ｃを受信すると、端末５０ａが正常であると判定する。図１３の（２）および（３）参照。そして、端末６０ａは、自端末が正常であることを示す死活情報を端末２０ａに送信する。図１３の（４）参照。また、端末６０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末１０ａに送信する。図１３の（５）および図７参照。
【００６９】
端末１０ａは、端末５０ａから死活情報を受信する。図１３の（６）参照。そして、端末１０ａは、所定の期間内に端末６０ａから管理テーブル３４ｃを受信すると、端末６０ａが正常であると判定する。図１３の（７）および（８）参照。そして、端末１０ａは、自端末が正常であることを示す死活情報を端末３０ａに送信する。図１３の（９）参照。また、端末１０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末２０ａに送信する。図１３の（１０）および図７参照。
【００７０】
端末２０ａは、端末６０ａから死活情報を受信する。図１３の（１１）参照。そして、端末２０ａは、所定の期間内に端末１０ａから管理テーブル３４ｃを受信すると、端末１０ａが正常であると判定する。図１３の（１２）および（１３）参照。そして、端末２０ａは、自端末が正常であることを示す死活情報を端末４０ａに送信する。図１３の（１４）参照。また、端末２０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末３０ａに送信する。図１３の（１５）および図７参照。
【００７１】
端末３０ａは、端末１０ａから死活情報を受信する。図１３の（１６）参照。そして、端末３０ａは、所定の期間内に端末２０ａから管理テーブル３４ｃを受信すると、端末２０ａが正常であると判定する。図１３の（１７）および（１８）参照。そして、端末３０ａは、自端末が正常であることを示す死活情報を端末５０ａに送信する。図１３の（１９）参照。また、端末３０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末４０ａに送信する。図１３の（２０）および図７参照。
【００７２】
次に、端末監視システムの異常検出時のタイムチャートを説明する。図１４は、実施例２にかかる端末監視システムの異常検出時の動作の一例を説明するためのタイムチャートである。図１４では、端末２０ａに異常が発生した場合を想定し、端末６０ａ，１０ａ，２０ａ，３０ａにおける経過時間と動作とを関連付けて説明する。図１４の下方向の矢印は、端末６０ａ，１０ａ，２０ａ，３０ａにおける経過時間を示す。また、図１４の矢印上の語句は、その経過時間における端末６０ａ，１０ａ，２０ａ，３０ａの動作を示す。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００７３】
端末２０ａにおいて、異常が発生する。図１４の（１）参照。なお、端末６０ａの処理が開始される直前に異常が発生したものとして説明する。
【００７４】
端末６０ａは、端末４０ａから死活情報を受信する。図１４の（２）参照。そして、端末６０ａは、所定の期間内に端末５０ａから管理テーブル３４ｃを受信すると、端末５０ａが正常であると判定する。図１４の（３）および（４）参照。そして、端末６０ａは、自端末が正常であることを示す死活情報を端末２０ａに送信する。図１４の（５）参照。また、端末６０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末１０ａに送信する。図１４の（６）および図７参照。
【００７５】
端末１０ａは、端末５０ａから死活情報を受信する。図１４の（７）参照。そして、端末１０ａは、所定の期間内に端末６０ａから管理テーブル３４ｃを受信すると、端末６０ａが正常であると判定する。図１４の（８）および（９）参照。そして、端末１０ａは、自端末が正常であることを示す死活情報を端末３０ａに送信する。図１４の（１０）参照。また、端末１０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末２０ａに送信する。図１４の（１１）および図７参照。
【００７６】
端末２０ａは、異常が発生しているので、端末６０ａから死活情報を受信できない。図１４の（１２）参照。また、端末２０ａは、端末１０ａから管理テーブル３４ｃを受信できない。図１４の（１３）参照。また、端末２０ａは、自端末が正常であることを示す死活情報を端末４０ａに送信できない。図１４の（１４）参照。また、端末２０ａは、管理テーブル３４ｃを端末３０ａに送信できない。図１４の（１５）参照。
【００７７】
端末３０ａは、端末２０ａに異常が発生したので、端末１０ａから死活情報を受信しても、端末２０ａから管理テーブル３４ｃを受信できない。図１４の（１６）および（１７）参照。管理テーブル３４ｃを受信しないまま所定の期間が経過すると、端末３０ａは、端末２０ａに異常が発生したと判定する。図１４の（１８）参照。そして、端末３０ａは、以前に記憶した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを管理装置７０に送信する。また、端末３０ａは、自端末が正常であることを示す死活情報を端末５０ａに送信する。図１４の（１９）参照。また、端末３０ａは、更新した管理テーブル３４ｃを端末４０ａに送信する。図１４の（２０）および図９参照。
【００７８】
次に、端末監視システムの復旧時のタイムチャートを説明する。図１５は、実施例２にかかる端末監視システムの復旧時の動作の一例を説明するためのタイムチャートである。図１５では、端末２０ａが異常から復旧する場合を想定し、端末６０ａ，１０ａ，２０ａ，３０ａにおける経過時間と動作とを関連付けて説明する。図１５の下方向の矢印は、端末６０ａ，１０ａ，２０ａ，３０ａにおける経過時間を示す。また、図１５の矢印上の語句は、その経過時間における端末６０ａ，１０ａ，２０ａ，３０ａの動作を示す。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００７９】
端末２０ａは、異常状態から復旧すると、監視グループ内の全ての端末、つまり、端末１０ａ，３０ａ，４０ａ，５０ａ，６０ａに死活情報を送信する。図１５の（１）および（２）参照。
【００８０】
端末１０ａ，３０ａ，４０ａ，５０ａ，６０ａは、端末２０ａが復旧したことを示す死活情報を受信すると、以前に記憶した管理テーブル３４ｃの端末２０ａの状態情報を正常であることを示す状態情報に更新する。図１５の（３）および（４）参照。以降、管理テーブル３４ｃを最後に受信した端末から管理テーブル３４ｃの転送を再開する。
【００８１】
仮に、管理テーブル３４ｃを最後に受信した端末が端末６０ａであったとすると、端末６０ａから管理テーブル３４ｃの転送を再開する。端末６０ａは、自端末が正常であることを示す死活情報を端末２０ａに送信する。図１５の（５）参照。また、端末６０ａは、更新した管理テーブル３４ｃを端末１０ａに送信する。図１５の（６）および図１０参照。
【００８２】
端末１０ａは、端末５０ａから死活情報を受信する。図１５の（７）参照。そして、端末１０ａは、所定の期間内に端末６０ａから管理テーブル３４ｃを受信すると、端末６０ａが正常であると判定する。図１７の（８）および（９）参照。そして、端末１０ａは、自端末が正常であることを示す死活情報を端末３０ａに送信する。図１５の（１０）参照。また、端末１０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末２０ａに送信する。図１５の（１１）および図１０参照。
【００８３】
端末２０ａは、端末６０ａから死活情報を受信する。図１５の（１２）参照。そして、端末２０ａは、所定の期間内に端末１０ａから管理テーブル３４ｃを受信すると、端末１０ａが正常であると判定する。図１５の（１３）および（１４）参照。そして、端末２０ａは、自端末が正常であることを示す死活情報を端末４０ａに送信する。図１５の（１５）参照。また、端末２０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末３０ａに送信する。図１５の（１６）および図１０参照。
【００８４】
端末３０ａは、端末１０ａから死活情報を受信する。図１５の（１７）参照。そして、端末３０ａは、所定の期間内に端末２０ａから管理テーブル３４ｃを受信すると、端末２０ａが正常であると判定する。図１５の（１８）および（１９）参照。そして、端末３０ａは、自端末が正常であることを示す死活情報を端末５０ａに送信する。図１５の（２０）参照。また、端末３０ａは、受信した管理テーブル３４ｃを更新し、更新した管理テーブル３４ｃを端末４０ａに送信する。図１５の（２１）および図１０参照。
【００８５】
上述してきたように、本実施例２にかかる端末監視システムは、管理テーブルをシステム内の端末間で所定の順に転送する監視グループを形成する。そして、監視グループ内の端末は、一つ後の端末に管理テーブル３４ｃを送信し、二つ後の端末に死活情報を送信する。また、端末は、一つ前の端末から管理テーブル３４ｃを受信し、二つ前の端末から死活情報を受信する。したがって、二つ前の端末から死活情報を受信を受信した後、所定の期間内に一つ前の端末から管理テーブル３４ｃを受信しない場合には、端末は、一つ前の端末に異常が発生したと判定する。このようなことから、本実施例２にかかる端末監視システムは、監視グループ内の端末が所定の他端末の状態を判定するので、異常が発生した端末を正確に特定できる。
【００８６】
また、端末監視システムは、異常が発生した端末を特定すると、この端末を監視グループから除外して、正常である端末で監視グループを再構成する。また、端末監視システムは、異常が発生した端末が代表端末であった場合には、代表端末を再選定する。このようなことから、端末監視システムは、異常の発生により管理テーブルの転送が停止されず、管理装置への通知を定期的に行うことができる。
【００８７】
また、端末監視システムにおいて、端末は、異常から復旧すると、一つ前の端末に自端末が復旧したことを示す死活情報を送信する。一方、この死活情報を受信した端末は、以前に異常と判定された端末から死活情報を受信した結果、異常と判定された端末が復旧したものと判定する。このため、端末監視システムは、復旧した端末を特定し、さらに、復旧した端末を監視グループに加えて、監視グループを再構成する。このようなことから、端末監視システムは、復旧した端末の状態を再び監視することができる。
【００８８】
また、端末監視システムは、異常が発生した端末を正確に特定する毎に管理装置に状態を通知するので、従来必要であった管理装置からの状態確認用の通信が不要になる。このため、端末監視システムは、管理装置と代表端末の間の通信回数を低減するので、ネットワーク全体にかかる負荷を軽減することができる。
【００８９】
また、端末監視システムは、異常が発生した端末を正確に特定するので、従来必要であった異常個所の調査業務が不要になる。このため、端末監視システムは、異常個所の調査業務にかかる労働コストを軽減することができる。
【実施例３】
【００９０】
次に、本実施例３にかかる端末監視システムの一例について説明する。本実施例３では、端末監視システムが双方向通信方式のネットワークで接続された場合を想定して説明する。本実施例３にかかる端末監視システムは、実施例２にかかる端末監視システムと基本的には同様の構成であるが、双方向通信方式に固有の異常検出手段を有する。なお、双方向通信方式とは、送信側から情報を受信側が受信すると、受信の成否や受信状況を示す応答が行われる方式である。双方向通信方式は、例えば、デュプレックス方式とも称される。
【００９１】
本実施例３にかかる端末監視システムの動作について説明する。ここでは、端末監視システムの端末１０ｂ〜６０ｂが他端末の状態を監視するための動作を、異常検出時および復旧時に分けて順に説明する。なお、本実施例３にかかる端末監視システムの正常時の動作については、図３に示した動作と同様であるので、説明を省略する。また、本実施例３にかかる端末監視システムの端末１０ｂ〜６０ｂは、図３に示した端末１０ａ〜６０ａに対応する。
【００９２】
まず、端末監視システムの異常検出時の動作について説明する。端末監視システムの端末１０ｂ〜６０ｂは、二つ後の端末に死活情報を送信後、所定の期間内に死活情報に関する応答を受信しない場合には、二つ後の端末を異常疑いと判定する。また、端末１０ｂ〜６０ｂは、一つ後の端末に管理テーブルを送信後、所定の期間内に管理テーブルに関する応答を受信しないことに加え、既に一つ後の端末が異常疑いと判定されている場合には、一つ後の端末を異常であると判定する。そして、端末１０ｂ〜６０ｂは、所定の端末に異常が発生した旨を管理装置７０に通知する。端末監視システムは、異常が発生した端末を監視グループから除外して、正常である端末で監視グループを再構成する。
【００９３】
図１６では、端末２０ｂに異常が発生した場合を想定して説明する。図１６は、実施例３にかかる端末監視システムの異常検出時の動作の一例を説明するための図である。図１６に示す端末監視システムの構成は、図２と同様である。図２に示した端末１０ａ〜６０ａは、端末１０ｂ〜６０ｂに対応する。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００９４】
端末６０ｂは、送信先の端末の状態を確認するための死活情報を生成し、生成した死活情報を端末２０ｂに送信する。図１６の（１）参照。端末６０ｂは、死活情報を送信後、所定の期間内に端末２０ｂから応答を受信しない場合には、端末２０ｂを異常疑いと判定する。続いて、端末６０ｂは、端末６０ｂが記憶する管理テーブルの端末２０ｂの状態情報を異常疑いであることを示す状態情報に更新する。そして、端末６０ｂは、更新した管理テーブルを端末１０ｂに送信する。図１６の（２）参照。
【００９５】
端末１０ｂは、端末６０ｂから管理テーブルを受信すると、受信した管理テーブルを記憶する。次に、端末１０ｂは、送信先の端末の状態を確認するための死活情報を生成し、生成した死活情報を端末３０ｂに送信する。図１６の（３）参照。続いて、端末１０ｂは、記憶した管理テーブルを端末２０ｂに送信する。図１６の（４）参照。端末１０ｂは、管理テーブルを送信後、所定の期間内に端末２０ｂから応答を受信しないことに加え、既に端末６０ｂにより端末２０ｂが異常疑いと判定されていることから、端末２０ｂを異常と判定する。そして、端末１０ｂは、記憶した管理テーブルの端末２０ｂの状態情報を異常であることを示す状態情報に更新し、更新した管理テーブルを管理装置７０に送信する。図１６の（５）参照。そして、端末１０ｂは、死活情報を端末４０ｂに送信し、また、更新した管理テーブルを端末３０ｂに送信する。図１６の（６）および（７）参照。なお、端末監視システムは、異常が検出された端末２０ｂを監視グループから除外して、端末１０ｂ，３０ｂ，４０ｂ，５０ｂ，６０ｂで監視グループを再構成する。
【００９６】
次に、端末監視システムの復旧時の動作について説明する。端末が異常から復旧すると、復旧した端末は、一つ前の端末に自端末が復旧したことを示す死活情報を送信する。一方、受信側の端末は、以前に異常と判定された端末から死活情報を受信すると、異常と判定された端末が復旧したと判定する。そして、受信側の端末は、自端末が記憶する管理テーブルに復旧した端末の状態情報を正常であることを示す状態情報に更新する。そして、受信側の端末は、復旧した旨を管理装置７０に通知するとともに、管理テーブルの転送を再開する。
【００９７】
図１７では、端末２０ｂが異常から復旧した場合を想定して説明する。図１７は、実施例２にかかる端末監視システムの復旧時の動作の一例を説明するための図である。図１７に示す端末監視システムの構成は、図２と同じである。図２に示した端末１０ａ〜６０ａは、端末１０ｂ〜６０ｂに対応する。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【００９８】
端末２０ｂが異常から復旧すると、端末２０ｂは、端末１０ｂに自端末が復旧したことを示す死活情報を送信する。図１７の（１）参照。端末１０ｂは、端末６０ｂから受信した管理テーブルを記憶し、記憶した管理テーブルの端末２０ｂの状態情報を正常であることを示す状態情報に更新する。そして、端末１０ｂは、更新した管理テーブルを管理装置７０に送信する。図１７の（２）参照。また、端末１０ｂは、死活情報を端末３０ｂに送信し、また、更新した管理テーブルを端末２０ｂに送信する。図１６の（３）および（４）参照。
【００９９】
端末２０ｂは、端末１０ｂから管理テーブルを受信し、受信した管理テーブルを記憶する。そして、端末２０ｂは、記憶した管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。そして、端末２０ｂは、死活情報を端末４０ｂに送信し、また、更新した管理テーブルを端末３０ｂに送信する。図１７の（５）および（６）参照。なお、端末監視システムは、復旧した端末２０ｂを監視グループに加え、端末１０ｂ〜６０ｂで監視グループを再構成する。
【０１００】
次に、図１６および図１７に示した端末１０ｂ〜６０ｂの構成について説明する。ここでは、説明の便宜上、端末６０ｂの構成について説明する。図１８は、実施例３にかかる端末の構成を示す図である。なお、端末６０ｂ以外の端末１０ｂ，２０ｂ，３０ｂ，４０ｂ，５０ｂは、図１８に示す端末６０ｂの構成と同じなので説明は省略する。図１８に示すように、端末６０ｂは、入力ポート６１ｂ、出力ポート６２ｂ、応答制御部６３ｂ、記憶部６４ｂ、出力制御部６５ｂ、信号出力部６６ｂ、応答判定部６７ｂを有する。本実施例３にかかる端末の構成は、図６に示した端末３０ａの構成と基本的には同様の構成であるので、相違する点についてのみ説明する。
【０１０１】
入力ポート６１ｂは、ネットワークを介して接続された端末１０ｂ，２０ｂ，３０ｂ，４０ｂ，５０ｂおよび管理装置７０からデータを受信する処理部である。例えば、入力ポート６１ｂは、端末５０ｂから管理テーブル６４ａを受信し、受信した管理テーブル６４ａを応答制御部６３ｂおよび応答判定部６７ｂに送る。また、入力ポート６１ｂは、端末４０ｂから死活情報を受信し、受信した死活情報を応答制御部６３ｂおよび応答判定部６７ｂに送る。また、入力ポート６１ｂは、端末１０ｂから管理テーブル６４ｃに関する応答を受信し、受信した管理テーブル６４ｃに関する応答を応答判定部６７ｂに送る。また、入力ポート６１ｂは、端末２０ｂから死活情報に関する応答を受信し、受信した死活情報に関する応答を応答判定部６７ｂに送る。
【０１０２】
応答制御部６３ｂは、端末１０ｂ，２０ｂ，３０ｂ，４０ｂ，５０ｂおよび管理装置７０から受信したデータについて、送信元の装置に受信の成否や受信状況について応答する処理部である。例えば、応答制御部６３ｂは、端末５０ｂから管理テーブル６４ｃを受信すると、管理テーブル６４ｃに関する応答を端末５０ｂに送信する。また、応答制御部６３ｂは、端末４０ｂから死活情報を受信すると、死活情報に関する応答を端末４０ｂに送信する。なお、応答制御部６３ｂは、端末５０ｂから受信した管理テーブル６４ｃを記憶部６４ｂに格納する機能も備える。
【０１０３】
記憶部６４ｂは、各種の情報を記憶する記憶部である。図１８に示すように、記憶部６４ｂは、管理テーブル６４ｃとアドレス管理テーブル６４ｄとを記憶する。管理テーブル６４ｃは、例えば、図７，９，１０に示した管理テーブル３４ｃと同様のデータ構造を有する。また、アドレス管理テーブル６４ｄは、例えば、図８に示したアドレス管理テーブル３４ｄと同様のデータ構造を有する。なお、図７，８，９，１０に示した端末１０ａ〜６０ａは、端末１０ｂ〜６０ｂに対応する。
【０１０４】
出力制御部６５ｂは、後述する応答判定部６７ｂにより更新した管理テーブル６４ｃの送信先を決定し、決定した送信先に管理テーブル６４ｃを送信する処理部である。具体的に、出力制御部６５ｂは、図６に示した出力制御部３５ａと同様の機能を有する。また、出力制御部６５ｂは、管理テーブル６４ｃの送信時間を記録して、記録した管理テーブル６４ｃの送信時間を応答判定部６７ｂに送る機能を有する。
【０１０５】
信号出力部６６ｂは、死活情報を所定の他端末に送信する処理部である。具体的に、信号出力部６６ｂは、図６に示した信号出力部３６ａと同様の機能を有する。また、信号出力部６６ｂは、死活情報の送信時間を記録して、記録した死活情報の送信時間を応答判定部６７ｂに送る機能を有する。
【０１０６】
また、信号出力部６６ｂは、自端末の復旧に追随して死活情報を送信する。例えば、自端末が復旧すると、信号出力部６６ｂは、自端末の再起動に追随して死活情報を生成する。続いて、信号出力部６６ｂは、一つ前の端末を死活情報の送信先として決定する。そして、信号出力部６６ｂは、図８に示したアドレス管理テーブル６４ｂから一つ前の端末のＩＰアドレスを読み出す。そして、信号出力部６６ｂは、読み出した一つ前の端末のＩＰアドレスを宛先として、死活情報を送信する。なお、端末６０ｂが一つ前の端末から死活情報に関する応答を受信しない場合には、信号出力部６６ｂは、さらに前の端末に死活情報を送信する。
【０１０７】
応答判定部６７ｂは、端末の状態を判定し、判定した結果に応じて管理テーブル６４ｃを更新する処理部である。具体的に、応答判定部６７ｂは、信号出力部６６ｂが他端末に死活情報を送信すると、信号出力部６６ｂから死活情報の送信時間を取得する。そして、応答判定部６７ｂは、信号出力部６６ｂが死活情報を送信した後、所定の期間内に死活情報に関する応答を受け付けない場合には、死活情報の送信先の端末を異常疑いと判定する。そして、応答判定部６７ｂは、管理テーブル６４ｃのうち死活情報の送信先の端末の状態情報を異常疑いであることを示す状態情報に更新する。
【０１０８】
例えば、端末６０ｂが端末２０ｂに死活情報を送信すると、応答判定部６７ｂは、信号出力部６６ｂから死活情報の送信時間を取得する。そして、応答判定部６７ｂは、信号出力部６６ｂが死活情報を送信後、所定の期間内に端末２０ｂから死活情報に関する応答を受け付けない場合には、応答判定部６７ｂは、端末２０ｂを異常疑いと判定する。そして、応答判定部６７ｂは、記憶部６４ｂから管理テーブル６４ｃを読み出し、読み出した管理テーブル６４ｃの端末２０ｂの状態情報を異常疑いであることを示す状態情報に更新する。つまり、応答判定部６７ｂは、例えば、図７に示した管理テーブル６４ｃを図１９に示す管理テーブルに更新する。図１９は、実施例３にかかる管理テーブルの一例を示す図である。図１９に示すように、応答判定部６７ｂは、管理テーブル６４ｃの端末２０ｂの状態情報「正常」を「異常疑い」に更新する。なお、図１９のうち更新されない情報については、図７と同じである。また、「○」は、対応する端末が代表端末であることを示し、「ｎｕｌｌ」は、対応する端末が代表端末でないことを示す。
【０１０９】
また、応答判定部６７ｂは、出力制御部６５ｂが管理テーブル６４ｃを送信すると、出力制御部６５ｂから管理テーブル６４ｃの送信時間を取得する。そして、応答判定部６７ｂは、出力制御部６５ｂが管理テーブル６４ｃを送信後、所定の期間内に管理テーブル６４ｃに関する応答を受け付けないことに加え、既に管理テーブル６４ｃの送信先の端末が異常疑いと判定されている場合には、以下のように判定する。すなわち、応答判定部６７ｂは、管理テーブル６４ａの送信先の端末を異常であると判定する。そして、応答判定部６７ｂは、管理テーブル６４ｃの送信先の端末の状態情報を異常であることを示す状態情報に更新する。
【０１１０】
例えば、端末６０ｂが端末１０ｂに管理テーブル６４ｃを送信すると、応答判定部６７ｂは、出力制御部６５ｂから管理テーブル６４ｃの送信時間を取得する。そして、応答判定部６７ｂは、出力制御部６５ｂが管理テーブル６４ｃを送信後、所定の期間内に端末１０ｂから管理テーブル６４ｃに関する応答を受け付けないことに加え、既に端末１０ｂが異常疑いであると判定されている場合には、端末１０ｂを異常であると判定する。そして、応答判定部６７ｂは、管理テーブル６４ｃの端末１０ｂの状態情報を異常であることを示す状態情報に更新する。
【０１１１】
また、応答判定部６７ｂは、以前に異常と判定された端末から死活情報を受信すると、異常と判定された端末が復旧したと判定する。具体的に、応答判定部６７ｂは、死活情報を受信すると、受信した死活情報に含まれる識別情報から死活情報の送信元の端末を特定する。そして、応答判定部６７ｂは、記憶部６４ｂに記憶した管理テーブル６４ｃを参照し、特定した端末の状態情報が異常である場合には、以前に異常と判定された端末が復旧したものと判定する。そして、応答判定部６７ｂは、最新の管理テーブル６４ｃを受信するまで待機する。そして、応答判定部６７ｂは、最新の管理テーブル６４ｃを受信すると、受信した管理テーブル６４ｃのうち復旧した端末の状態情報を正常であることを示す状態情報に更新する。
【０１１２】
例えば、応答判定部６７ｂは、端末２０ｂから死活情報を受信し、受信した死活情報に含まれる識別情報から送信元の端末を端末２０ｂと特定する。そして、応答判定部６７ｂは、記憶部６４ｂに記憶した管理テーブル６４ｃを参照し、端末２０ｂの状態情報が異常である場合には、端末２０ｂが異常から復旧したものと判定する。そして、応答判定部６７ｂは、最新の管理テーブル６４ｃを受信するまで待機する。そして、応答判定部６７ｂは、最新の管理テーブル６４ｃを受信すると、受信した管理テーブル６４ｃのうち端末２０ｂの状態情報を正常であることを示す状態情報に更新する。
【０１１３】
次に、本実施例３にかかる端末の処理手順について説明する。ここでは、端末の処理手順を異常検出時、復旧時に分けて順に説明する。
【０１１４】
まず、端末の異常検出時の処理手順について説明する。図２０は、実施例３にかかる端末の異常検出時の処理手順を示すフローチャートである。図２０では一例として、端末６０ｂの処理手順について説明する。なお、他の端末１０ｂ，２０ｂ，３０ｂ，４０ｂ，５０ｂの異常検出時の処理手順は、図２０と同様である。
【０１１５】
図２０に示すように、端末６０ｂは、端末４０ｂから死活情報を受信すると（ステップＳ３０１，Ｙｅｓ）、端末４０ｂに死活情報に関する応答を送信する（ステップＳ３０２）。続いて、端末６０ｂは、端末５０ｂから管理テーブル６４ａを受信すると（ステップＳ３０３，Ｙｅｓ）、端末５０ｂに管理テーブル６４ａに関する応答を送信する（ステップＳ３０４）。そして、端末６０ｂは、管理テーブル６４ａの自端末の状態情報を正常であることを示す状態情報に更新する（ステップＳ３０５）。
【０１１６】
続いて、端末６０ｂは、自端末が代表端末であるか否かを判定する（ステップＳ３０６）。端末６０ｂは、自端末が代表端末でないと判定した場合には（ステップＳ３０６，Ｎｏ）、送信先の端末の状態を確認するための死活情報を端末２０ｂに送信する（ステップＳ３０７）。そして、端末６０ｂは、所定の期間内に端末２０ｂから死活情報に関する応答を受信したか否かを判定する（ステップＳ３０８）。
【０１１７】
続いて、端末６０ｂは、端末２０ｂから死活情報に関する応答を受信した場合には（ステップＳ３０８，Ｙｅｓ）、更新した管理テーブル６４ｃを端末１０ｂに送信する（ステップＳ３０９）。そして、端末６０ｂは、管理テーブル６４ｃを送信後、所定の期間内に端末１０ｂから管理テーブル６４ｃに関する応答を受信したか否かを判定する（ステップＳ３１０）。端末６０ｂは、端末１０ｂから管理テーブル６４ｃに関する応答を受信した場合には（ステップＳ３１０，Ｙｅｓ）、処理を終了する。
【０１１８】
一方、端末６０ｂは、自端末が代表端末であると判定した場合には（ステップＳ３０６，Ｙｅｓ）、更新した管理テーブル６４ｃを管理装置７０に送信し（ステップＳ３１１）、ステップＳ３０７に移行して処理を再開する。
【０１１９】
また、端末６０ｂは、所定の期間内に端末２０ｂから死活情報に関する応答を受信しなかった場合には（ステップＳ３０８，Ｎｏ）、端末２０ｂを異常疑いと判定する。続いて、端末６０ｂは、管理テーブル６４ｃの端末２０ｂの状態情報を異常疑いと更新し（ステップＳ３１２）、ステップＳ３０９に移行して処理を再開する。
【０１２０】
また、端末６０ｂは、所定の期間内に端末１０ｂから管理テーブル６４ｃに関する応答を受信しなかった場合には（ステップＳ３１０，Ｎｏ）、以下のように処理する。すなわち、端末６０ｂは、端末５０ｂから受信した管理テーブル６４ｃを参照し、端末１０ｂに異常疑いがあるか否かを判定する（ステップＳ３１３）。端末６０ｂは、端末１０ｂに異常疑いがある場合には（ステップＳ３１３，Ｙｅｓ）、端末１０ｂを異常と判定する。続いて、端末６０ｂは、管理テーブル６４ｃの端末１０ｂの状態情報を異常と更新し（ステップＳ３１４）、更新した管理テーブル６４ｃを管理装置７０に送信し（ステップＳ３１５）、ステップＳ３０７に移行して処理を再開する。
【０１２１】
一方、端末６０ｂは、端末１０ｂに異常疑いがない場合には（ステップＳ３１３，Ｎｏ）、端末２０ｂに管理テーブル６４ｃを送信し（ステップＳ３１６）、処理を終了する。
【０１２２】
次に、端末の復旧時の処理手順について説明する。図２１は、実施例３にかかる端末の復旧時の処理手順を示すフローチャートである。図２１では一例として、端末２０ｂが復旧した場合を想定して説明する。なお、他の端末１０ｂ，３０ｂ，４０ｂ，５０ｂ，６０ｂの復旧時の処理手順は、図２１と同様である。
【０１２３】
端末２０ｂは、異常状態から復旧して再起動すると（ステップＳ４０１，Ｙｅｓ）、一つ前の端末、つまり、端末１０ｂに死活情報を送信する（ステップＳ４０２）。そして、端末２０ｂは、端末１０ｂから死活情報に関する応答を受信したか否かを判定する（ステップＳ４０３）。端末２０ｂは、端末１０ｂから死活情報に関する応答を受信した場合には（ステップＳ４０３，Ｙｅｓ）、復旧にかかる処理を終了する。
【０１２４】
一方、端末２０ｂは、端末１０ｂから死活情報に関する応答を受信しない場合には（ステップＳ４０３，Ｎｏ）、さらに前の端末、この場合には、端末６０ｂに死活情報を送信し（ステップＳ４０４）、ステップＳ４０３に移行して処理を再開する。ステップＳ４０４の処理は、端末２０ｂが死活情報に関する応答を受信するまで繰り返される。
【０１２５】
なお、図示しないが、復旧に関する死活情報を受信した端末の処理は、以下の通りである。仮に、端末１０ｂが端末２０ｂから復旧したことを示す死活情報を受信したとすると、端末１０ｂは、管理テーブル１４ｃを端末２０ｂが正常であると判定する。そして、端末１０ｂは、管理テーブル１４ｃの端末２０ｂの状態情報を正常であることを示す状態情報に更新する。以降、端末１０ｂは、管理テーブル１４ｃの転送を再開する。
【０１２６】
次に、端末監視システムの異常検出時のタイムチャートを説明する。図２２は、実施例２にかかる端末監視システムの異常検出時の動作の一例を説明するためのタイムチャートである。図２２では、端末２０ｂに異常が発生した場合を想定し、端末６０ｂ，１０ｂ，２０ｂ，３０ｂにおける経過時間と動作とを関連付けて説明する。図２２の下方向の矢印は、端末６０ｂ，１０ｂ，２０ｂ，３０ｂにおける経過時間を示す。また、図２２の矢印上の語句は、その経過時間における端末６０ｂ，１０ｂ，２０ｂ，３０ｂの動作を示す。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【０１２７】
端末２０ｂにおいて、異常が発生する。図２２の（１）参照。なお、端末６０ｂの処理が開始される直前に異常が発生したものとして説明する。
【０１２８】
端末６０ｂは、端末４０ｂから死活情報を受信する。図２２の（２）参照。続いて、端末６０ｂは、端末５０ｂから管理テーブル１４ａを受信すると、受信した管理テーブル１４ｃを記憶する。図２２の（３）および図７参照。続いて、端末６０ｂは、記憶した管理テーブル１４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末６０ｂは、死活情報を端末２０ｂに送信後、所定の期間内に端末２０ｂから死活情報に関する応答を受信しない。図２２の（４）および（５）参照。この結果、端末６０ｂは、端末２０ｂを異常疑いと判定する。図２２の（６）参照。そして、端末６０ｂは、管理テーブル１４ｃの端末２０ｂの状態情報を異常疑いと更新し、更新した管理テーブル１４ｃを端末１０ｂに送信する。図２２の（７）および図１９参照。
【０１２９】
端末１０ｂは、端末５０ｂから死活情報を受信する。図２２の（８）参照。続いて、端末１０ｂは、端末６０ｂから管理テーブル１４ｃを受信すると、受信した管理テーブル１４ｃを記憶する。図２２の（９）および図１９参照。続いて、端末６０ｂは、記憶した管理テーブル１４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末１０ｂは、死活情報を端末３０ｂに送信する。図２２の（１０）参照。続いて、端末１０ｂは、更新した管理テーブル１４ｃを端末２０ｂに送信後、所定の期間内に端末２０ｂから管理テーブル１４ｃに関する応答を受信しない。図２２の（１１）および（１２）参照。端末１０ｂは、応答を受信しないことに加え、既に管理テーブル６４ｃの送信先の端末が異常疑いと判定されていることから、端末２０ｂを異常と判定する。図２２の（１３）参照。そして、端末１０ｂは、管理テーブル６４ｃの端末２０ｂの状態情報を異常であることを示す状態情報に更新する。そして、端末１０ｂは、死活情報を端末４０ｂに送信する。図２２の（１４）参照。また、端末１０ｂは、更新した管理テーブル１４ｃを端末３０ｂに送信する。図２２の（１５）および図９参照。
【０１３０】
端末３０ｂは、端末１０ｂから死活情報を受信する。図２２の（１６）参照。続いて、端末３０ｂは、端末１０ｂから管理テーブル１４ｃを受信すると、受信した管理テーブル１４ｃを記憶する。図２２の（１７）および図９参照。続いて、端末３０ｂは、記憶した管理テーブル１４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末３０ｂは、死活情報を端末５０ｂに送信する。図２２の（１８）参照。続いて、端末３０ｂは、更新した管理テーブル１４ｃを端末４０ｂに送信する。図２２の（１９）参照。
【０１３１】
次に、端末監視システムの復旧時のタイムチャートを説明する。図２３は、実施例３にかかる端末監視システムの復旧時の動作の一例を説明するためのタイムチャートである。図２３では、端末６０ｂ，１０ｂ，２０ｂ，３０ｂにおける経過時間と動作とを関連付けて説明する。図２３の下方向の矢印は、端末６０ｂ，１０ｂ，２０ｂ，３０ｂにおける経過時間を示す。また、図２３の矢印上の語句は、その経過時間における端末６０ｂ，１０ｂ，２０ｂ，３０ｂの動作を示す。また、図中の破線の矢印は管理テーブルの送受信を示し、二点鎖線の矢印は死活情報の送受信を示す。
【０１３２】
端末２０ｂは、異常状態から復旧すると、端末１０ｂに死活情報を送信する。図２３の（１）および（２）参照。
【０１３３】
端末１０ｂは、端末２０ｂから死活情報を受信する。図２３の（３）参照。続いて、端末１０ｂは、受信した死活情報に含まれる識別情報から送信元の端末を端末２０ｂと特定する。そして、端末１０ｂは、以前に記憶した管理テーブル６４ｃを参照し、端末２０ｂの状態情報が異常である場合には、端末２０ｂが異常から復旧したものと判定する。そして、端末１０ｂは、最新の管理テーブル６４ｃを受信するまで待機する。
【０１３４】
端末６０ｂは、端末４０ｂから死活情報を受信する。図２３の（４）参照。続いて、端末６０ｂは、端末５０ｂから管理テーブル６４ｃを受信すると、受信した管理テーブル６４ｃを記憶する。図２３の（５）参照。かかる管理テーブル６４ｃには、端末２０ｂが異常である旨が含まれている。図９参照。続いて、端末６０ｂは、記憶した管理テーブルの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末６０ｂは、端末２０ｂが復旧したことを検出していないので、二つ後の端末である端末３０ｂに死活情報を送信する。図２３の（６）参照。続いて、端末３０ｂは、更新した管理テーブル６４ｃを端末１０ｂに送信する。図２３の（７）および図９参照。
【０１３５】
端末１０ｂは、端末５０ｂから死活情報を受信する。図２３の（８）参照。続いて、端末１０ｂは、端末６０ｂから管理テーブル６４ｃを受信すると、受信した管理テーブル６４ｃを記憶する。図２３の（９）および図９参照。そして、端末１０ｂは、記憶した管理テーブルのうち端末２０ｂの状態情報を正常であることを示す状態情報に更新する。図２３の（１０）および図１０参照。続いて、端末１０ｂは、更新した管理テーブル６４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末１０ｂは、端末３０ｂに死活情報を送信する。図２３の（１１）参照。続いて、端末１０ｂは、更新した管理テーブルを端末２０ｂに送信する。図２３の（１２）および図１０参照。
【０１３６】
端末２０ｂは、端末１０ｂから管理テーブル６４ｃを受信すると、受信した管理テーブル６４ｃを記憶する。図２３の（１３）および図１０参照。そして、端末２０ｂは、記憶した管理テーブル６４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末２０ｂは、端末４０ｂに死活情報を送信する。図２３の（１４）参照。続いて、端末２０ｂは、更新した管理テーブル６４ｃを端末３０ｂに送信する。図２３の（１５）および図１０参照。
【０１３７】
端末３０ｂは、端末６０ｂから死活情報を受信する。図２３の（１６）参照。続いて、端末３０ｂは、端末１０ｂから死活情報を受信する。図２３の（１７）参照。続いて、端末３０ｂは、端末２０ｂから管理テーブル６４ｃを受信すると、受信した管理テーブル６４ｃを記憶する。図２３の（１８）および図１０参照。そして、端末３０ｂは、記憶した管理テーブル６４ｃのうち自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末３０ｂは、更新した管理テーブル６４ｃの自端末の状態情報を正常であることを示す状態情報に更新する。続いて、端末３０ｂは、端末５０ｂに死活情報を送信する。図２３の（１９）参照。続いて、端末３０ｂは、更新した管理テーブル６４ｃを端末４０ｂに送信する。図２３の（２０）および図１０参照。
【０１３８】
上述してきたように、本実施例３にかかる端末監視システムは、管理テーブルをシステム内の端末間で所定の順に転送する監視グループを形成する。そして、監視グループ内の端末は、一つ後の端末に管理テーブルを送信し、二つ後の端末に死活情報を送信する。また、端末は、一つ前の端末から管理テーブルを受信し、二つ前の端末から死活情報を受信する。また、端末は、受信した管理テーブルに関する応答を送信し、受信した死活情報に関する応答を送信する。また、端末は、二つ後の端末に死活情報を送信後、所定の期間内に死活情報に関する応答を受信しない場合には、二つ後の端末を異常疑いと判定する。また、端末は、一つ後の端末に管理テーブルを送信後、所定の期間内に管理テーブルに関する応答を受信しないことに加え、既に一つ後の端末が異常疑いと判定されている場合には、一つ後の端末を異常であると判定する。このようなことから、本実施例３にかかる端末監視システムは、監視グループ内の端末が所定の他端末の状態を判定するので、異常が発生した端末を正確に特定できる。
【０１３９】
ところで、図６および図１８に示した入力制御部３３ａ、出力制御部３５ａ，６５ｂ、信号出力部３６ａ，６６ｂ、判定部３７ａ、応答制御部６３ｂ、応答判定部６７ｂは、以下に示すような電子回路に対応する。電子回路とは、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等に対応する。また、図６および図１８に示した記憶部３４ａ，６４ｂは、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、ハードディスクや光ディスク等の記憶装置に対応する。
【０１４０】
また、上記の実施例において、説明の便宜上、実施例２と実施例３とを別個に説明してきたが、本願の開示する技術はこれに限定されるものではない。例えば、実施例２と実施例３とを組み合わせて実行することができる。例えば、端末監視システムの端末は、管理テーブルと死活情報とを受信することで、自端末の前の端末の状態を監視するとともに、自端末が送信したデータに関する応答を受信することで、自端末の後の端末の状態を監視することができる。
【０１４１】
また、上記の実施例において、端末監視システムは、代表端末と管理装置とを含むこととしたが、これに限定されるものではない。例えば、端末監視システムは、代表端末と管理装置とを含まなくてもよい。この場合、システムの管理者等のユーザは、必要に応じて手元のコンピュータなどで端末監視システムに接続し、端末に記憶された管理テーブルを閲覧できる。この結果、端末監視システムは、通信回数を低減するので、ネットワーク全体にかかる負荷を軽減することができる。
【０１４２】
また、上記の実施例２において、端末監視システムは、異常を検出した場合に、異常を検出した端末が管理装置に通知することとしたが、異常を検出した端末の後の端末が管理装置に通知しても良い。例えば、図４に示した端末監視システムは、端末３０ａが端末２０ａを異常と判定した後に、判定結果を受信した端末４０ａが管理装置７０に通知しても良い。端末４０ａは、端末２０ａに異常が発生した場合には、端末２０ａから死活情報を受信しないので、端末３０ａによる判定結果を確認することができる。このため、端末監視システムは、端末の異常を確認した上で管理装置に通知するので、異常検出にかかる信頼性を向上させることができる。
【０１４３】
また、上記の実施例３において、端末監視システムは、端末が死活情報を二つ後の端末に送信する場合を想定して説明したが、本願の開示する技術はこれに限定されるものではない。具体的に、端末監視システムの端末は、死活情報を三つ以上後の端末に送信することによっても、他の端末の状態を監視することができる。例えば、図１６に示した端末監視システムは、端末５０ｂが端末２０ｂに死活情報を送信することによっても、端末２０ｂの異常を検出することができる。端末５０ｂは、送信先の端末の状態を確認するための死活情報を端末２０ｂに送信後、所定の期間内に端末２０ｂから応答を受信しない場合には、端末２０ｂを異常疑いと判定する。その後、判定結果を含む管理テーブルが端末１０ｂまで転送されると、端末１０ｂは、端末２０ｂに管理テーブルを送信する。そして、端末１０ｂは、管理テーブルを送信後、所定の期間内に端末２０ｂから応答を受信せず、さらに、端末５０ｂにより端末２０ｂが異常疑いと判定されているので、端末２０ｂを異常と判定できる。
【０１４４】
ところで、図６および図１８に示した端末の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各構成要素の分散・統合の具体的形態は図示のものに限られず、例えば、入力制御部３３ａ、出力制御部３５ａの各機能を集約して統合する。このように、端末の全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１４５】
また、上記の実施例で説明した端末の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。例えば、端末の各種の処理は、図１１，１２，２０，２１の処理に対応する。そこで、以下では、図２４を用いて、上記の実施例で説明した端末と同様の機能を有する端末監視プログラムを実行するコンピュータの一例を説明する。図２４は、端末監視プログラムを実行するコンピュータを示す図である。
【０１４６】
図２４に示すように、端末としてコンピュータ６００は、通信制御部６１０、ＨＤＤ６２０、ＲＡＭ６３０およびＣＰＵ６４０を有する。各装置６１０〜６４０は、バス７００に接続される。
【０１４７】
ここで、通信制御部６１０は、各種情報のやり取りに関する通信を制御する。ＨＤＤ６２０は、ＣＰＵ６４０による各種処理の実行に必要な情報を記憶する。ＲＡＭ６３０は、各種情報を一時的に記憶する。ＣＰＵ６４０は、各種演算処理を実行する。
【０１４８】
そして、ＨＤＤ６２０には、図２４に示すように、上記の実施例で説明した端末の各処理部と同様の機能を発揮する端末監視プログラム６２１と、端末監視用データ６２２とがあらかじめ記憶されている。なお、この端末監視プログラム６２１を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
【０１４９】
そして、ＣＰＵ６４０が、この端末監視プログラム６２１をＨＤＤ６２０から読み出してＲＡＭ６３０に展開することにより、端末監視プログラム６２１は端末監視プロセス６３１として機能するようになる。すなわち、端末監視プロセス６３１は、端末監視用データ６２２等をＨＤＤ６２０から読み出して、ＲＡＭ６３０において自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種処理を実行する。
【０１５０】
なお、端末監視プロセス６３１は、例えば、図６に示した端末の入力制御部３３ａ、出力制御部３５ａ、信号出力部３６ａ、判定部３７ａにおいて実行される処理に対応する。また、上記した端末監視プログラム６２１については、必ずしも最初からＨＤＤ６２０に記憶させておく必要はない。
【０１５１】
例えば、コンピュータ６００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ６００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１５２】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ６００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておく。そして、コンピュータ６００がこれらから各プログラムを読み出して実行するようにしてもよい。
【０１５３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５４】
（付記１）グループ内の各端末の識別子と前記各端末の状態を示す状態情報とを含む第一情報を第一の他端末から受信する第一の受信部と、
前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第二の他端末に送信する第一の送信部と、
自端末に異常がない旨を示す第二情報を第三の他端末に送信する第二の送信部と、
第四の他端末から当該第四の他端末に異常がない旨を示す第二情報を受信する第二の受信部と、
前記第四の他端末から前記第二情報を受信後、所定の期間内に前記第一の他端末から前記第一情報を受信しない場合に、前記第一の他端末の状態を異常であると判定する判定部と
を有することを特徴とする端末。
【０１５５】
（付記２）前記第一情報は、複数の前記識別子が所定の順番で規定された情報であり、
前記第一の受信部は、前記第一情報内で自端末の識別子の１つ前に規定された識別子に対応する前記第一の他端末から前記第一情報を受信し、
前記第一の送信部は、前記第一情報内で自端末の識別子の１つ後に規定された識別子に対応する前記第二の他端末に前記第一情報を送信し、
前記第二の送信部は、前記第一情報内で自端末の識別子の２つ以上後に規定された識別子に対応する前記第三の他端末に前記第二情報を送信し、
前記第二の受信部は、前記第一情報内で自端末の識別子の２つ以上前に規定された識別子に対応する前記第四の他端末から前記第二情報を受信し、
前記判定部は、前記第一の他端末の状態を異常であると判定した場合に、前記第一情報から前記第一の他端末に対応する識別子を除外することを特徴とする付記１に記載の端末。
【０１５６】
（付記３）自端末が復旧した場合に、自端末が復旧した旨を示す第三情報を送信する第三の送信部と、
他端末から当該他端末が復旧した旨を示す第三情報を受信する第三の受信部とを更に有し、
前記判定部は、前記第三情報を送信した他端末に対応する識別子を前記第一情報に加えることを特徴とする付記２に記載の端末。
【０１５７】
（付記４）前記第二の送信部が前記第二情報を前記第三の他端末に送信した後、前記第三の他端末から当該第二情報を受信した旨を示す応答が無い場合に、前記第三の他端末を異常疑いであると判定し、前記第一情報に含まれる前記第三の他端末に対応する識別子の状態情報を異常疑いの状態に設定する第一の応答判定部と、
前記第一の送信部が前記第一情報を前記第二の他端末に送信した後、当該第二の他端末から当該第一情報を受信した旨を示す応答が無い場合に、前記第一情報に含まれる前記第二の他端末に対応する識別子の状態情報が、既に異常疑いの状態となっているか否かを判定し、既に異常疑いの状態となっている場合に、前記第二の他端末を異常であると判定する第二の応答判定部と
を更に有することを特徴とする付記２又は３に記載の端末。
【０１５８】
（付記５）前記第一情報は、グループ内の端末の状態を管理する管理装置に前記第一情報を送信する代表端末を識別する識別情報を有し、
前記判定部は、前記第一情報に基づいて自端末が前記代表端末であるか否かを判定し、自端末が前記代表端末である場合には、前記管理装置に前記第一情報を送信することを特徴とする付記１〜４のいずれか一つに記載の端末。
【０１５９】
（付記６）グループ内に第一の端末と、第二の端末と、第三の端末と、第四の端末と、第五の端末とを有し、前記グループ内で各端末が他の端末の状態を監視する端末監視システムであって、
前記第一の端末は、
グループ内の各端末の識別子と前記端末の状態を示す状態情報とを対応付けた第一情報を前記第二の端末に送信し、
前記第三の端末は、
自端末に異常がない旨を示す第二情報を前記第二の端末に送信し、
前記第二の端末は、
前記第一の端末から前記第一情報を受信する第一の受信部と、
前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第四の端末に送信する第一の送信部と、
自端末に異常がない旨を示す第二情報を第五の端末に送信する第二の送信部と、
前記第三の端末から前記第二情報を受信した後、所定の期間内に前記第一の端末から前記第一情報を受信しない場合に、前記第一の端末の状態を異常であると判定する判定部と
を有することを特徴とする端末監視システム。
【０１６０】
（付記７）グループ内に第一の端末と、第二の端末と、第三の端末と、第四の端末と、第五の端末とを有し、前記グループ内で各端末が他の端末の状態を監視し、前記第二の端末が監視結果を管理装置に通知する端末監視システムであって、
前記第一の端末は、
グループ内の各端末の識別子と前記端末の状態を示す状態情報とを対応付けた第一情報を前記第二の端末に送信し、
前記第三の端末は、
自端末に異常がない旨を示す第二情報を前記第二の端末に送信し、
前記第二の端末は、
前記第一の端末から前記第一情報と受信する第一の受信部と、
前記第一の受信部により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第四の端末に送信する第一の送信部と、
自端末に異常がない旨を示す第二情報を第五の端末に送信する第二の送信部と、
前記第三の端末から前記第二情報を受信した後、所定の期間内に前記第一の端末から前記第一情報を受信しない場合に、前記第一の端末の状態を異常であると判定し、判定結果を前記管理装置に通知する通知部とを有し、
前記管理装置は、
前記通知部により通知された判定結果を受信する受信部と
を有することを特徴とする端末監視システム。
【０１６１】
（付記８）コンピュータに、
グループ内の各端末の識別子と前記各端末の状態を示す状態情報とを含む第一情報を第一の他端末から受信する第一の受信手順と、
前記第一の受信手順により受信した前記第一情報に含まれる自端末の状態情報を現在の状態情報に更新し、更新した第一情報を第二の他端末に送信する第一の送信手順と、
自端末に異常がない旨を示す第二情報を第三の他端末に送信する第二の送信手順と、
第四の他端末から当該第四の他端末に異常がない旨を示す第二情報を受信する第二の受信手順と、
前記第四の他端末から前記第二情報を受信後、所定の期間内に前記第一の他端末から前記第一情報を受信しない場合に、前記第一の他端末の状態を異常であると判定する判定手順と
を実行させることを特徴とする端末監視プログラム。
【０１６２】
（付記９）前記第一情報は、複数の前記識別子が所定の順番で規定された情報であり、
前記第一の受信手順は、前記第一情報内で自端末の識別子の１つ前に規定された識別子に対応する前記第一の他端末から前記第一情報を受信し、
前記第一の送信手順は、前記第一情報内で自端末の識別子の１つ後に規定された識別子に対応する前記第二の他端末に前記第一情報を送信し、
前記第二の送信手順は、前記第一情報内で自端末の識別子の２つ以上後に規定された識別子に対応する前記第三の他端末に前記第二情報を送信し、
前記第二の受信手順は、前記第一情報内で自端末の識別子の２つ以上前に規定された識別子に対応する前記第四の他端末から前記第二情報を受信し、
前記判定手順は、前記第一の他端末の状態を異常であると判定した場合に、前記第一情報から前記第一の他端末に対応する識別子を除外することを特徴とする付記８に記載の端末監視プログラム。
【符号の説明】
【０１６３】
１００  端末
１１０  第一の受信部
１２０  第一の送信部
１３０  第二の送信部
１４０  第二の受信部
１５０  判定部
２００  第一の他端末
３００  第二の他端末
４００  第三の他端末
５００  第四の他端末
【図１】
2011159086.tif 000003
【図２】
2011159086.tif 000004
【図３】
2011159086.tif 000005
【図４】
2011159086.tif 000006
【図５】
2011159086.tif 000007
【図６】
2011159086.tif 000008
【図７】
2011159086.tif 000009
【図８】
2011159086.tif 000010
【図９】
2011159086.tif 000011
【図１０】
2011159086.tif 000012
【図１１】
2011159086.tif 000013
【図１２】
2011159086.tif 000014
【図１３】
2011159086.tif 000015
【図１４】
2011159086.tif 000016
【図１５】
2011159086.tif 000017
【図１６】
2011159086.tif 000018
【図１７】
2011159086.tif 000019
【図１８】
2011159086.tif 000020
【図１９】
2011159086.tif 000021
【図２０】
2011159086.tif 000022
【図２１】
2011159086.tif 000023
【図２２】
2011159086.tif 000024
【図２３】
2011159086.tif 000025
【図２４】
2011159086.tif 000026