説明

サーバ・クライアントシステム

【課題】 システムによっては、クライアントが正常に動作しつつも長期間、サーバに対して状態通知ができない状態になることがあり得る。
【解決手段】 クライアントはサーバに対して状態通知不能になる処理を開始する前に、サーバに対して状態通知不能になる旨と、状態通知再開までの予測時間を通知する。
サーバはこれを受信し、状態通知不能と宣言された時間中は、クライアントからの状態通知がない場合においてもクライアントの異常とは判断しない。
クライアントから受信した予測時間を経過しても、なお状態通知がない場合は、クライアントの異常と判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ・クライアントシステムに関するものである。
特に、クライアントはサーバへ定期的に状態通知を行い、サーバは受信した状態通知の解析による異常検知、ならびに、一定時間状態通知が途絶えたことによるクライアントのダウン検知の、2つの監視手段を有するサーバ・クライアントシステムに関するものである。
【背景技術】
【0002】
従来、サーバによるクライアントの異常検知手段としては、Watch DogとHeart Beatの2つの方式があった。
【0003】
Watch Dogとは、サーバからクライアントに対して、定期的に動作確認のための通信を行い、そのレスポンスを解析することで異常を検知する手法である。
【0004】
Heart Beatとは、逆にクライアントからサーバに定期的に状態通知を行い、サーバはその状態通知を解析することで異常を検知する手法である。
【0005】
サーバ・クライアントの監視手段において、異常が繰り返し発生した場合、クライアントはサーバに対し繰り返し異常発生を通知し、繰り返し異常状態から回復するまで状態通知を停止することで、通信トラフィックを低減する(特許文献1参照)。
【特許文献1】開平10−269481号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、Heart Beatに関するものである。
Heart Beatにおいて、クライアントから一定時間状態通知がなかった場合、サーバはクライアントが異常な状態に陥っていると判断する。
【0007】
しかし、システムによっては、クライアントが正常に動作しつつも長期間、サーバに対して状態通知ができない状態になることがあり得る。
【0008】
例としては、クライアントプロセスや機器自体の計画された再起動、高負荷プロセスによる処理の占有、などが挙げられる。
【0009】
このような場合でも、サーバは、クライアントからの状態通知がないことから、クライアントの状態を異常と判断してしまう。
【0010】
そのため、本来は不要である復旧処理を実行したり、管理者宛に異常を通知したりしてしまう。
【課題を解決するための手段】
【0011】
この問題を解決するため、クライアントはサーバに対して状態通知不能になる処理を開始する前に、サーバに対して状態通知不能になる旨と、状態通知再開までの予測時間を通知する。
【0012】
サーバはこれを受信し、状態通知不能と宣言された時間中は、クライアントからの状態通知がない場合においてもクライアントの異常とは判断しない。
【0013】
クライアントから受信した予測時間を経過しても、なお状態通知がない場合は、クライアントの異常と判定する。
【発明の効果】
【0014】
本発明によって、クライアントからの状態通知が途絶えた理由をサーバが解釈できるようになり、異常検知の精度を高めることができる。
【発明を実施するための最良の形態】
【0015】
(実施例1)
本発明の実施例として、デジタル複合機とその上で動作するアプリケーション(クライアント)とサーバから構成されるシステムをあげる。
【0016】
アプリケーションは、定期的にサーバに対してクライアントの状態を通知し、サーバは状態通知を一定間隔で受信することで、クライアントの状態を監視している。サーバは、クライアントの異常を検知すると、管理者に対してメールにて通知を行う。
【0017】
概アプリケーションは、デジタル複合機の外からHTTPを用いてアクセスし、デジタル複合機ならびにアプリケーション自身の状態確認、動作変更を指示することができる。
【0018】
デジタル複合機の特定の設定が変更された場合、設定を反映するために再起動が必要となる。この場合、アプリケーションが、自動的にデジタル複合機を再起動させる。アプリケーションは、再起動の前に、サーバに対してデジタル複合機を再起動させることと、再起動が完了し状態通知を再開するまでの予測時間を通知する。
【0019】
図1は、本発明の実施例におけるシステムの全体の構成を説明するブロック図である。デジタル複合機100、101、Webブラウザを含む端末102、サーバ103、メールサーバ104がネットワーク105に接続されている。端末102は、この実施例ではデジタル複合機ならびにその上で動作するアプリケーションの状態確認ならびに設定変更を行うためのUIとして用いられる。また、メールサーバ104は、サーバにおける異常検知時の動作として、管理者にメール通知するために利用される。
【0020】
図2は、本発明の実施例において、デジタル複合機が再起動する場合のシーケンス図である。図中の100〜103は、図1にも示したのシステムの構成要素であり、図1と同じ番号を振っている。
【0021】
Webブラウザ102より、アプリケーションを介してデジタル複合機の設定変更が指示される(200)。デジタル複合機は、設定を変更し(201)、設定変更を反映するために再起動が必要であれば、再起動プロセスに入る。再起動プロセスにおいては、サーバに対して再起動を行うことと、再起動完了までの予測時間を通知する(202)。具体的には、図4に示すクライアント状態データを送信する。再起動を行うことの通知は、ステータスコード(401)にその旨を意味する値を設定することで行う。
【0022】
その後、デジタル複合機は再起動を行い(204)、再起動完了後、その旨をサーバに通知する(206)。この時、送信するクライアント状態データは、ステータスコード(401)として通常稼動を表す値を設定し、状態通知停止時間(402)は設定しない。
【0023】
サーバは、クライアントからの状態通知を受信し、受信したデータを解析し、ステータスおよび状態通知停止時間を記録する(203)。その後、クライアント状態監視部は、202で記録した状態通知停止時間を用いて、クライアントの生存確認を行う(205)。やがて、クライアントから再起動完了の通知(206)を受信したら、クライアントのステータスおよび状態通知停止時間を更新する(207)。
【0024】
図3は、本発明の実施例において、アプリケーションを介したデジタル複合機ならびにアプリケーション自身の状態表示・設定変更を行う際に、関連するデジタル複合機上のモジュールの構成図である。ここで図示したモジュールは、デジタル複合機内のモジュールの一部である。
【0025】
ネットワークI/F(300)は、他の機器とのネットワークを介しての通信を制御するモジュールである。
【0026】
HTTP通信部(301)、SOAP通信部(302)は、それぞれネットワークI/Fが送受信したデータを、それぞれのプロトコルとして解析するためのモジュールである。
【0027】
アプリケーション(303)は、定期的にサーバに対してクライアントの状態を通知する機能と、HTTPによるリクエストを受信し、デジタル複合機ならびにアプリケーション自身の状態表示、動作変更を行う機能を持つ。
【0028】
HTTPリクエストは、ネットワークI/F(300)、HTTP通信部(301)を通して受信する。
【0029】
アプリケーションが、サーバに対して状態通知する際には、SOAP通信部(302)、HTTP通信部(301)、ネットワークI/F(303)を介して通信する。
【0030】
MIB I/F(304)は、MIBプロトコルを用いてデジタル複合機を制御するためのモジュールである。
【0031】
OSサービス部(305)は、デジタル複合機の電源や、ファイルシステムなどを制御するモジュールである。
【0032】
アプリケーションが、デジタル複合機を再起動する際には、MIB I/F(304)を介して、OSサービス部(305)にアクセスする。
【0033】
図4は、本発明の実施例において、クライアントであるデジタル複合機から、サーバに対して通信するクライアント状態データの構造である。
【0034】
クライアントID(400)は、クライアントごとに一意の識別子である。これは、クライアントが初めてサーバと通信する時点で、サーバより配布される。
【0035】
ステータスコード(401)は、クライアントの状態を表した数字列である。
【0036】
状態通知停止時間(402)は、次の状態通知までの時間を秒単位で設定する。この項目は、通常は設定しない。この場合は、サーバ側でデフォルト値が入っているものとして扱われる。デジタル復号機を再起動する際などに、再起動完了までの予測時間を設定する。
【0037】
図5は、本発明の実施例において、サーバのクライアント状態データ受信部の基本的な処理フローである。
【0038】
この処理は、クライアントからの状態通知を受信するごとに、新たなスレッドとして実行される。
【0039】
500で、クライアントから受信したデータを解析する。クライアント状態データとして正常に解析できた場合は、501へ進む。
【0040】
501で、クライアント状態データに状態通知停止時間が含まれている場合には503へ、含まれない場合は502へ進む。
【0041】
502では、状態通知停止時間として、規定の値を設定する。
【0042】
503で、受信したクライアントに対応するクライアントIDの、状態通知受信時刻と、ステータスを記録する。また、状態通知停止時間を次回受信間隔として記録する。
【0043】
なお、上記で説明した動作フローは一例であり、上記の処理の流れに限定されるものではない。
【0044】
図6は、本発明の実施例において、サーバのクライアント状態監視部の基本的な処理フローである。
【0045】
この処理は、一定時間ごとに、新たなスレッドとして実行される。
【0046】
600〜604までの処理は、クライアントの数だけ繰り返される。
【0047】
600で、全てのクライアントに対して処理を行ったか判定する。全てのクライアントに対して処理を行った場合、終了する。そうでない場合は、未処理のクライアントを1つ選択し、601〜604の処理を実行する。
【0048】
601で、概クライアントについて記録されたステータスを確認する。ステータスが正常でない場合は、604へ進む。正常である場合は、602へ進む。
【0049】
602で、現在時刻を取得する。
【0050】
603で、クライアントの生存を確認する。記録された、概クライアントからのステータス受信時刻に次回受信間隔を加えた時刻を、現在時刻が過ぎているか調べる。そうである場合は、クライアントからの状態通知が途絶えているため、クライアントが生存していないと判断し、604へ進む。そうでなければ、クライアントは正常であると判断し、600へ戻る。
【0051】
604は、クライアントの異常を検出した際の処理である。ここでは、予め設定された管理者のメールアドレスに対して、異常を通知するものとする。
【0052】
なお、上記で説明した動作フローは一例であり、上記の処理の流れに限定されるものではない。
【図面の簡単な説明】
【0053】
【図1】システムの構成。
【図2】デジタル複合機再起動時のシーケンス。
【図3】デジタル複合機の構成(抜粋)。
【図4】クライアント状態データの構造。
【図5】サーバのクライアント状態データ受信部の基本的な処理フロー。
【図6】サーバのクライアント状態監視部の基本的な処理フロー。
【符号の説明】
【0054】
100〜101 デジタル複合機(クライアント)
102 Webブラウザ
103 サーバ
104 メールサーバ
200〜207 デジタル複合機再起動時の処理
300〜305 デジタル複合機のモジュール(抜粋)
400〜402 クライアント状態データの構成要素
500〜604 処理ステップ

【特許請求の範囲】
【請求項1】
クライアントからの定期的な状態通知によってクライアントの状態を監視する監視手段と、クライアントからの状態通知が途絶えたことでクライアントの動作が停止したと判断する生存確認手段を有するサーバと、
定期的にサーバに対して状態通知を行う状態通知手段を持つクライアントから構成される、
サーバ・クライアントシステムにおいて、
クライアントの有する上記状態通知手段は、状態通知を停止するにあたって状態通知を停止することと、その停止時間の予測値をサーバに通知することを特徴とし、
上記サーバの有する生存確認手段は、クライアントから状態通知の停止を受信後、受信した停止時間内はクライアントからの通知がなくともクライアントの動作が停止したと判断しないことを特徴とする、
サーバ・クライアントシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−77324(P2008−77324A)
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願番号】特願2006−254588(P2006−254588)
【出願日】平成18年9月20日(2006.9.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】