JP3943851B2 - Client operating status monitoring system and client operating status monitoring program - Google Patents
Client operating status monitoring system and client operating status monitoring program Download PDFInfo
- Publication number
- JP3943851B2 JP3943851B2 JP2001079374A JP2001079374A JP3943851B2 JP 3943851 B2 JP3943851 B2 JP 3943851B2 JP 2001079374 A JP2001079374 A JP 2001079374A JP 2001079374 A JP2001079374 A JP 2001079374A JP 3943851 B2 JP3943851 B2 JP 3943851B2
- Authority
- JP
- Japan
- Prior art keywords
- business
- client
- record
- business application
- log
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、少なくとも1つの業務アプリケーションを稼動可能なクライアントおよびサーバが通信ネットワークを介して通信可能に接続されたクライアント/サーバシステムにおいて、クライアントの稼動状態を把握するためのクライアント稼動状態把握システム、およびクライアント稼動状態把握用プログラムに関する。
【0002】
【従来の技術】
クライアント(クライアントコンピュータ)とサーバ(サーバコンピュータ)とが通信ネットワークで通信可能に接続されて構成されたクライアント/サーバシステムにおいて、そのクライアントの稼動状態をサーバ側において把握するためには、一般的に次の機構(プログラムおよびそのプログラムに対応する機能)をサーバ側とクライアント側にそれぞれ組込まなければならない。
【0003】
すなわち、クライアント側においては、自クライアントの稼動状態を検出する機構と稼動状態のサーバに対する前記稼動状態を通信する機構とを組み込まなければならず、また、サーバ側においては、稼動状態のクライアントに対する通信機構を組み込まなければならない。
【0004】
また、クライアント側において、自クライアントの稼動状態をサーバに通知する方法として、以下に示す方法がある。
【0005】
すなわち、第1の方法として、クライアント側から定期的に稼動状態をサーバ側に通知する方法、第2の方法として、クライアント側の稼動状態の変化時に、クライアント側から稼動状態をサーバ側に通知する方法、第3の方法として、サーバ側から稼動状態の送信要求がクライアント側に送信された際に、クライアント側からサーバ側に稼動状態を通知する方法等がある。
【0006】
上述した第1〜第3の方法は、クライアントの状態管理の目的に応じて使い分けられている。
【0007】
【発明が解決しようとする課題】
しかしながら、従来のクライアント稼動状態把握方法では、クライアント側に稼動状態検出機構およびサーバとの稼動状態通信機構、サーバ側にクライアントとの稼動状態通信機構をそれぞれ特別に組み込まなければならないため、クライアント自体およびサーバ自体に組み込まれた機構に基づく処理負荷および稼動状態通信に基づく通信路(通信回線)への処理負荷をそれぞれかける結果となり、クライアントの本来の業務アプリケーション処理の速度およびクライアントとサーバとの間の通信路を介した通信速度をそれぞれ低下させる恐れが生じていた。
【0008】
また、従来のクライアントの稼動状態をサーバに通知する第1〜第3の方法の何れを採用した場合でも、クライアント側およびサーバ側それぞれのCPUの負荷がかかるとともに、サーバおよびクライアント間の通信路の負荷もかかるため、上述したクライアントの業務アプリケーションの処理速度およびサーバとの通信路を介した処理速度をそれぞれ低下させる恐れが生じていた。
【0009】
本発明は上述した事情に鑑みてなされたもので、クライアント側に稼動状態の検出機構、サーバとの稼動状態の通信機構を特別に組み込むことなく、通常の業務アプリケーション実行過程により発生する業務ログを利用することにより、クライアントの稼動状態を把握することを可能にしたクライアント稼動状態把握システム、およびクライアント稼動状態把握用プログラムを提供することをその目的とする。
【0010】
【課題を解決するための手段】
上述した課題を解決するために、本発明の第1の態様によれば、少なくとも1つの業務アプリケーションを稼動可能なクライアント(クライアントコンピュータ)およびサーバ(サーバコンピュータ)が通信ネットワークを介して通信可能に接続されたクライアント/サーバシステムにおいて、
前記クライアント上で実行される業務アプリケーションが業務開始、業務処理実行、業務終了などの稼動に応じて発行する業務ログデータをサーバに送信する機能を有し、前記サーバが前記業務ログデータを業務ログファイルとして蓄積するための記憶装置および各種テーブルを記憶するためのメモリを有し、
前記業務ログデータはクライアント名、業務アプリケーション名または番号、業務開始・業務処理実行・業務終了などのログ種別、登録日時などから構成され、
前記業務アプリケーションが上位下位の起動階層関係を持ち、
前記サーバ上で実行されるクライアント稼動状態把握用プログラムが、
(1)前記クライアントの業務アプリケーション業務開始ログを前記業務ログファイルから業務ログデータのログ種別により検知した時、前記クライアントが稼動状態であると判定し、前記サーバのメモリ上のクライアント稼動状態テーブルに前記業務アプリケーションが稼動中として記録し、
前記クライアントの業務アプリケーション業務終了ログを前記業務ログファイルから業務ログデータのログ種別により検知した時、前記サーバのメモリ上のクライアント稼動状態テーブルに当該業務アプリケーションが非稼動中として記録する機能を有し、
(2)前記サーバのメモリ上のクライアント稼動状態テーブルに前記クライアントに関する稼動中の業務アプリケーションが1件以上記録されている場合、前記クライアントが稼動中と判断して前記サーバのメモリ上のクライアント稼動状態テーブルに当該クライアントの状態を稼動中として設定し、
前記サーバのメモリ上のクライアント稼動状態テーブルに前記クライアントに関する稼動中の業務アプリケーションが1件も記録されていない場合、前記クライアントが非稼動中と判断して前記サーバのメモリ上のクライアント稼動状態テーブルに当該クライアントの状態を非稼動中と設定する機能を有し、
(3)前記業務アプリケーション名に対する上位階層の業務アプリケーション名を記録した前記クライアントの業務アプリケーションの起動階層テーブルを前記サーバのメモリ上に有し、
前記上位階層の業務アプリケーションの業務終了ログを前記業務ログファイルから業務ログデータのログ種別により検知した場合、
前記業務アプリケーションの起動階層テーブルを参照し、
前記業務アプリケーションの下位階層の業務アプリケーション名を取得し、前記サーバのメモリ上のクライアント稼動状態テーブルにおける当該下位階層の業務アプリケーションの状態を非稼動中に更新する機能を有し、
(4)前記サーバのメモリ上のクライアント稼動状態テーブルにおいて起動階層構造を成す複数の業務アプリケーションを稼動状態に設定している際に、再度、その上位階層の業務アプリケーションの業務開始ログを前記業務ログファイルから業務ログデータのログ種別により検知した場合、
前記業務アプリケーションの起動階層テーブルを参照し、
前記業務アプリケーションの下位階層の業務アプリケーション名を取得し、
前記サーバのメモリ上のクライアント稼動状態テーブルにおいてその上位階層の業務アプリケーションより下位階層の業務アプリケーションの稼動状態を非稼動状態に設定する機能を有し、
前記各機能を前記クライアントおよびサーバの少なくとも一方に備えてクライアント/サーバのコンピュータを実行させることを特徴とするものである。
【0014】
【発明の実施の形態】
以下、本発明のクライアント稼動状態把握システム、およびクライアント稼動状態把握用プログラムの実施の形態について図面を参照して説明する。
【0015】
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1の概略構成を示すブロック図である。
【0016】
図1に示すように、クライアント/サーバシステム1は、本実施の形態に係るクライアント稼動状態把握システムを機能として含み、後述するクライアントに対してサービスを提供するためのサーバ10を備えており、このサーバ10は、CPU、メモリ等を含むコンピュータである。
【0017】
サーバ10は、そのメモリに、クライアント/サーバシステムを構築する分散コンピュータ環境の基盤ソフトウエア(プラットフォーム)であるミドルウエアを含むプログラムP1を保持しており、このプログラムP1に従って、以下に示すプロセス(手段)をクライアント/サーバシステムのコンピュータが実行するようになっている。
【0018】
すなわち、サーバ10は、プログラムP1により、通信ネットワークNを介したクライアントとの通信用の通信プロセス11と、クライアントの1件分の業務ログデータ(以下、簡単に業務ログと記載する)14をファイル13に書き込んで登録するための業務ログ登録プロセス12と、業務ログ14に基づいてクライアント稼動状態を検出し、必要に応じてクライアント稼動状態テーブル16を更新するクライアント稼動状態検出プロセス15として機能するようになっている。
【0019】
一方、クライアント/サーバシステム1は、サーバ10に対してサービスを要求するための複数のクライアント(図1では、3つのクライアント♯1、♯2、♯3(20、30、40)とする)を備えており、各クライアント♯1(20)〜♯3(40)は、CPU、メモリ、ディスプレイ、入力部等を含むコンピュータである。
【0020】
各クライアント♯1(20)〜♯3(40)は、そのメモリに、クライアント/サーバシステムを構築する分散コンピュータ環境の基盤ソフトウエア(プラットフォーム)であるミドルウエアおよび複数の業務アプリケーション(プログラム;図面では、“業務アプリ”と略記する)X〜Wを含むプログラムP2を保持しており、このプログラムP2に従って、以下に示すプロセス(手段)をクライアント/サーバシステムのコンピュータが実行するようになっている。
【0021】
例えば、すなわち、クライアント♯1(20)は、プログラムP2に従って、通信ネットワークNを介したサーバ10との通信用の通信プロセス21と、業務アプリケーションXに基づく業務アプリケーションプロセスX(22)と、業務アプリケーションYに基づく業務アプリケーションプロセスY(23)と、業務アプリケーションZに基づく業務アプリケーションプロセスZ(24)と、業務アプリケーションWに基づく業務アプリケーションプロセスW(25)としてそれぞれ機能するようになっている。
【0022】
なお、他のクライアント♯2(30)〜♯3(40)についても、クライアント♯1(20)と略同等の機能構成を有している。
【0023】
さらに、クライアント/サーバシステム1は、通信ネットワークNを介してサーバ10と通信可能であり、サーバ10におけるクライアント運用管理を監視するための運用管理端末(CPU、メモリ、ディスプレイ、操作部等を有するコンピュータ)100を備えており、この運用管理端末100は、オペレータの指示、または予め定められた周期に応じて、サーバ10内のクライアント稼動状態テーブル16を参照し、その画面上にクライアントの稼動状態を表示可能になっている。
【0024】
なお、本明細書において、“業務ログデータ(業務ログ)”とは、業務アプリケーションを実行する過程で発生するメッセージデータを意味し、業務アプリケーションの開始を表す業務開始ログデータ、業務アプリケーションに基づく各処理の内容を表す処理ログデータ、業務アプリケーションの終了を表す業務終了ログデータ、業務アプリケーションの立上を表す業務立上ログデータ等があり、これらの業務ログデータは、各クライアント♯1(20)〜♯3(22)側において発行される毎に、1件ずつサーバ10へ送信されるようになっている。
【0025】
図2は、本実施形態における1件分の業務ログ14のデータ構成を概念的に示す図である。
【0026】
図2に示すように、業務ログ14は、対応するクライアントの識別情報としてのクライアント名14C、対応する業務アプリケーション名14N、後述するメッセージの内容に対応するメッセージ番号14Bおよびメッセージ内容を表すメッセージ文字列14Mから構成されている。
【0027】
以下、本実施形態の全体処理について、特に、サーバ10のクライアント稼動状態検出プロセス15を中心に説明する。
【0028】
クライアント♯1(20)〜クライアント♯3(40)の少なくとも1つのクライアントが複数の業務アプリケーションプロセスX(22)〜W(25)の内の少なくとも1つの業務アプリケーションプロセスを実行する過程において、対応クライアントの処理により発行された業務ログ14は、そのクライアントの通信プロセス21により、発行される毎(すなわち、1件ずつ)に通信ネットワークNを介してサーバ10に送信される。
【0029】
このとき、サーバ10の通信プロセス11は、通信ネットワークNを介して送信されてきた業務ログ14を受信して、その業務ログ14を業務ログ登録プロセス12に渡し(例えば、メモリを介したデータの書込み・読出しにより次のプロセス12がデータを取得する過程を意味する、以下同様)、業務ログ登録プロセス12は、渡された業務ログ14を登録日時を含むレコードとして業務ログファイル13に書き込むことにより、業務ログ14を登録し、次いで、1件分の業務ログ14をクライアント稼動状態検出プロセス15に渡す。
【0030】
図3は、業務ログファイル13の構成例を示す図であり、図3に示すように、業務ログ14は、順次第1レコード、第2レコード、・・・として業務ログファイル13に書き込まれる(登録される)。
【0031】
クライアント稼動状態検出プロセス15は、登録プロセス12が業務ログ14を業務ログファイル13に登録するタイミングで起動し、登録プロセス12から渡された業務ログ14を受け取り、以下に示す動作を実行する。
【0032】
すなわち、サーバ10のクライアント稼動状態検出プロセス15は、登録プロセス12により渡された1件分の業務ログ14を受取り(メモリから読出し)、クライアント名14C、業務アプリケーション名14N、メッセージ番号14Bおよびメッセージ文字列14Mを取得する(ステップS1)。
【0033】
次いで、プロセス15は、業務ログ14のメッセージ番号14Bを調べて、業務開始の業務ログ(業務開始ログ)かどうかを判定する(ステップS2)。
【0034】
このステップS2の判断により、業務ログ14が業務開始の場合、次ステップS3に進み、そうでなければステップS10へ進む。
【0035】
なお、ステップS2における業務ログの内容が業務開始、業務終了かどうかを判定する方法としては、メッセージ番号の他にメッセージの文字列を判定する方法もあるが、ここでは、メッセージ番号による方法について説明する。
【0036】
ステップS2の判定がYES(業務ログ→業務開始ログ)である場合、プロセス15は、業務ログ14のクライアント名14Cとなるレコードはクライアント稼動状態テーブル16に既に書き込まれているか否か判断する。
【0037】
図4は、クライアント稼動状態テーブル16の構成例を示す図である。
【0038】
図4に示すように、クライアント稼動状態テーブル16には、稼動状態のクライアント名161C、クライアントの状態(稼動中/非稼動)を表すデータ161S、そのクライアント作業中の業務アプリケーション名1(161N1)〜作業中の業務アプリケーション名4(161N4)が順次第1レコード、第2レコード、・・・として記憶されている。
【0039】
すなわち、プロセス15は、クライアント稼動状態テーブル16の第1レコード161のクライアント名161C、第2レコード162のクライアント名162C、第3レコード163クライアント名163C、・・・を順に調べ、クライアント名16iC(i=1、2、・・・)とクライアント名14Cとが一致するレコード16iが存在するかどうか判断する(ステップS3)。
【0040】
このステップS3の判断により、条件を満たすレコード16iCが存在する場合(ステップS3→YES)、ステップS7に進み、存在しない場合(ステップS3→NO)、次ステップS4へ進む。
【0041】
なお、ステップS3の判断がYES(ステップS7に進む)場合は、業務ログ14に対応するクライアントでは他の業務アプリケーションが稼動中の場合(その業務アプリケーションの業務ログ14に応じて、テーブル16に既にレコードが存在する場合)である。
【0042】
ステップS4に進んだプロセス15は、対応するクライアントで初めて業務アプリケーションが稼動した場合であり、クライアント稼動状態テーブル16の第1レコード161、第2レコード162、第3レコード163、・・・を順に調べ、未使用のレコード(空きレコード;クライアント名16iC=0(クリア値))を探す(ステップS4)。
【0043】
本実施形態において、例えば空きレコードが第2レコード162であったとする。
【0044】
このとき、プロセス15は、クライアント稼動状態テーブル16の空きレコード(第2レコード162)内のクライアント名および作業中の業務アプリケーション名に業務ログ14に指示された値(データ)を書き込む。
【0045】
すなわち、空きレコードが第2レコード162である場合に、プロセス15は、第2レコード162の全領域をクリアし、その第2レコード162のクライアント名162Cとしてクライアント名14Cに対応する値を書込み、作業中の業務アプリケーション名1(162N1)として業務アプリケーション名14Nに対応する値を書き込む(ステップS5)。
【0046】
次いで、プロセス15は、クライアント稼動状態テーブル16の該当レコード(第2レコード162)のクライアントの状態を「稼動中」、すなわち、クライアントの状態162Sに対して、「稼動中」を意味する値(データ)を書き込んで処理を終了する。
【0047】
一方、ステップS3の判断がYES、すなわち、クライアント名16iCとクライアント名14Cとが一致するレコード16iが存在する場合(業務ログ14に対応するクライアントにおいて他の業務アプリケーションが稼動中の場合)、プロセス15は、業務ログ14で指示された業務アプリケーション名がクライアント稼動状態テーブル16の該当するレコード16iの作業中の業務アプリケーション名に書き込まれているか否かを判断する。
【0048】
すなわち、例えば、該当レコード16iが第2レコード162であると仮定すると、プロセス15は、第2レコード162の作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順に調べ、業務アプリケーション名14Nと一致するものを探し、探した結果、業務ログ14に対応する業務アプリケーション14Nに一致するレコードが存在するか否か判断する(ステップS7)。
【0049】
このステップS7の判断により、一致するレコードがある場合には、業務開始ログであるにも係らず、対応する業務アプリケーションのレコードが存在することになり、正常に運用されていないものと判断して処理を終了する。
【0050】
この非正常運用としては、例えば、クライアント側である業務アプリケーションを開始した後、クライアント側に障害が発生し、業務終了の業務ログがサーバ側に通知されない状態でクライアント側が再度業務アプリケーションを開始した場合である。
【0051】
一方、ステップS7の判断により、一致するレコードが無い場合には、ステップS7の判断はNOとなり、プロセス15は、クライアント稼動状態テーブル16の該当レコード内の業務アプリケーション名に業務ログ14で指示された値を書き込む。
【0052】
すなわち、該当レコードが第2レコード162である場合には、プロセス15は、第2レコード162の作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順に調べ、未使用(作業中の業務アプリケーション名=0)のものを探す。
【0053】
このとき、例えば、作業中の業務アプリケーション名1(162N1)が未使用であった場合には、プロセス15は、作業中の業務アプリケーション名1(162N1)に、業務アプリケーション名14Nに対応する値を書き込む(ステップS8)。
【0054】
次いで、プロセス15は、クライアント稼動状態テーブル16の該当レコード内のクライアント状態を「稼動中」、すなわち、クライアントの状態162Sに対して、「稼動中」を意味する値(データ)を書き込んで処理を終了する。
【0055】
一方、ステップS2の判断がNO、すなわち、業務ログが業務開始ログでない場合、プロセス15は、業務ログ14のメッセージ番号14Bを調べて、業務終了の業務ログ(業務終了ログ)かどうかを判定する(ステップS10)。
【0056】
このステップS10の判断により、業務ログ14が業務終了ではない場合(ステップS10→NO)、すなわち、業務ログ14が業務開始ログおよび業務終了ログの何れでもない場合、クライアント稼動状態検出プロセス15にとって不必要な業務ログであると判断して処理を終了する。
【0057】
一方、ステップS10の判断により、業務ログ14が業務終了の場合(ステップS10→YES)、プロセス15は、業務ログ14のクライアント名14Cに対応したクライアント稼動状態テーブル16に置けるレコードを探す。
【0058】
すなわち、プロセス15は、クライアント稼動状態テーブル16の第1レコード161のクライアント名161C、第2レコード162のクライアント名162C、第3レコード163のクライアント名163C、・・・を順次調べ、クライアント名16iCとクライアント名14Cとが一致するレコード16iを探す(ステップS11)。
【0059】
例えば、第2レコード162において、クライアント名16iCとクライアント名14Cとが一致した場合、プロセス15は、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名のうち業務ログ14で指示された業務アプリケーション名と一致するものをクリア(消去)する。
【0060】
例えば、該当レコードが第2レコード162である場合には、プロセス15は、作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順次調べ、業務アプリケーション名14Nと一致するものを探す。
【0061】
そして、例えば、作業中の業務アプリケーション名1(162N1)が業務アプリケーション名14Nに一致する際において、プロセス15は、作業中の業務アプリケーション名1(162N1)に対応する値をテーブル16から消去(すなわち、クリアに対応する値“0”を書き込む)する(ステップS12)。
【0062】
次いで、プロセス15は、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名が1件以上書き込まれているか否か判断する(ステップS13)。
【0063】
例えば、該当レコードが第2レコード162である場合では、プロセス15は、作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順次調べ、業務アプリケーション名が書き込まれている(≠0)の業務アプリケーション名の件数を計算し、件数が1件以上であれば、ステップS13の判断はYES、すなわち、他の業務アプリケーションが稼動中であり、業務終了ログに対応するクライアントはまだ稼動中であるため、処理を終了する。
【0064】
一方、ステップS13の判断の結果、NO、すなわち、業務終了ログ14に対応するクライアントにおいて、稼動中の業務アプリケーションが存在しないため、プロセス15は、対応するクライアントの状態を「非稼動」、すなわち、クライアントの状態162Sに対して、「非稼動」を意味する値(データ)を書き込んで処理を終了する。
【0065】
図7は、上述したステップS1〜ステップS14の処理に基づくクライアント稼動状態の検出結果を示す図である。
【0066】
すなわち、例えば、最初の業務ログ14(No.1)として、クライアント♯1(20)における業務アプリケーションXの業務開始ログ14がクライアント業務ログファイル13に登録されると、クライアント♯1(20)のレコードはまだクライアント稼動状態テーブル16には書き込まれていないため、ステップS2の判断→YES、ステップS3の判断→NOとなり、ステップS4〜ステップS6の処理により、クライアント稼動状態テーブル16における所定のレコードには、業務開始ログ14に基づいて、クライアント♯1(20)および業務アプリケーションXが稼動中(作業中)であることを表す値(業務名を表す値)がそれぞれ書き込まれる。
【0067】
次いで、2番目の業務ログ14(No.2)として、クライアント♯1(20)における業務アプリケーションYの業務開始ログ14がクライアント業務ログファイル13に登録されると、今度は、クライアント稼動状態テーブル16の所定のレコードに、クライアント♯1(20)のクライアント名に対応する値が書き込まれているため、ステップS2の判断→YES、ステップS3の判断→YESとなり、業務アプリケーションYが稼動中であることを表す値(業務名を表す値)が所定のレコードに書き込まれる。
【0068】
一方、クライアント稼動状態テーブル16の所定のレコードに、クライアント♯1(20)の稼動状態を表す値、業務アプリケーションXおよび業務アプリケーションYが稼動中であることを表す値がそれぞれ書き込まれている状態において、9番目の業務ログ14(No.9)として、クライアント♯1(20)における業務アプリケーションYの業務終了ログ14がクライアント業務ログファイル13に登録されると、ステップS2の判断→NO、ステップS10の判断→YESとなり、ステップS11〜ステップS13の処理により、クライアント稼動状態テーブル16の所定のレコードにおける業務アプリケーションYの稼動中を表す値がクリアされる。
【0069】
このようにして、クライアント稼動状態テーブル16の所定のレコードに業務アプリケーションXが稼動中であることを表すデータが書き込まれている状態において、10番目の業務ログ14(No.10)として、クライアント♯1(20)における業務アプリケーションXの業務終了ログ14がクライアント業務ログファイル13に登録されると、ステップS2の判断→NO、ステップS10の判断→YESとなり、ステップS11〜ステップS13の処理により、クライアント稼動状態テーブル16の所定のレコードにおける業務アプリケーションXの稼動中を表す値がクリアされる。
【0070】
このとき、所定のレコードに存在するクライアント♯1(20)に対応する所定レコードにおいて、業務アプリケーションの稼動中を表す値が全てクリア(0)になったため、ステップS13の判断はNOとなり、クライアント♯1(20)の状態が非稼動状態であることが検知される。
【0071】
以上、詳述したように、本実施形態によれば、クライアントの業務アプリケーション実行過程において発行される業務ログ14に基づいて、その業務ログ14に対応するクライアントの稼動状態(稼動中か、非稼動状態か)を容易に検出・把握することができる。
【0072】
(第2の実施の形態)
図8は、本発明の第2の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1aの概略構成を示すブロック図である。
【0073】
図8に示すクライアント/サーバシステム1aにおいて、クライアントから送信される1件分の業務ログ14aの内容、サーバ10の業務ログファイル13a、サーバ10のクライアント稼動状態検出プロセス15a、サーバ10のクライアント稼動状態テーブル16aおよびクライアントの業務アプリケーションプロセスX−1(22a1)、業務アプリケーションプロセスX−2(22a2)、業務アプリケーションプロセスY−1(23a1)、業務アプリケーションプロセスY−2(23a2)がそれぞれ第1実施形態と異なっている。なお、その他の構成については、第1実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0074】
すなわち、業務アプリケーションプロセスX(22)は、対応するクライアントのマルチタスク処理時における個々の業務アプリケーションプロセスX−1(枝番号1)、X−2(枝番号2)を有し、同様に、業務アプリケーションプロセスY(23)は、対応するクライアントのマルチタスク処理時における個々の業務アプリケーションプロセスY−1(枝番号1)、Y−2(枝番号2)を有している。
【0075】
図9は、本実施形態における1件分の業務ログ14aのデータ構成を概念的に示す図である。
【0076】
図9に示すように、業務ログ14aは、第1実施形態と同様のクライアント名14C、業務アプリケーション名14N、メッセージ番号14Bおよびメッセージ文字列14Mに加えて、マルチタスク時の枝番号を表すデータ14Kを含んでいる。
【0077】
図10は、本実施形態の業務ログファイル13aの構成例を示す図であり、図10に示すように、業務ログ14aは、順次第1レコード131、第2レコード132、・・・として業務ログファイル13aに書き込まれる(登録される)。
【0078】
図11は、本実施形態のクライアント稼動状態テーブル16aの構成例を示す図である。
【0079】
図11に示すように、クライアント稼動状態テーブル16aには、稼動状態のクライアント名161C、クライアントの状態(稼動中/非稼動)を表すデータ161S、そのクライアント作業中の業務アプリケーション名1(161N1)およびその枝番号(161K1)〜作業中の業務アプリケーション名4(161N4)およびその枝番号(161K4)が順次第1レコード161、第2レコード162、・・・として記憶されている。
【0080】
一方、本実施形態におけるクライアント稼動状態検出プロセス15aは、登録プロセス12が業務ログ14aを業務ログファイル13aに登録するタイミングで起動し、登録プロセス12から渡された業務ログ14aを受け取り、以下に示す動作を実行する。
【0081】
すなわち、サーバ10のクライアント稼動状態検出プロセス15aは、前掲図5に示すステップS1〜ステップS4の処理(但し、業務ログは14a)を実行した後(対応するクライアントで初めて業務アプリケーションが稼動したと判断され、未使用のレコード(例えば、第2レコード162)を探した後)において、クライアント稼動状態テーブル16aの空きレコード(第2レコード162)内のクライアント名、作業中の業務アプリケーション名および作業中の業務アプリ名の枝番号に業務ログ14に指示された値(データ)を書き込む。
【0082】
すなわち、空きレコードが第2レコード162である場合に、プロセス15aは、第2レコード162の全領域をクリアし、その第2レコード162のクライアント名162Cとしてクライアント名14Cに対応する値を書込み、作業中の業務アプリケーション名1(162N1)として業務アプリケーション名14Nに対応する値を書き込み、さらに、作業中の業務アプリケーション名1(162N1)の枝番号162K1に、マルチタスク時の業務アプリケーション名の枝番号14Kを書き込む(ステップS5a)。
【0083】
次いで、ステップS6の処理が行なわれて、対応するクライアントの状態が「稼動中」に設定される。
【0084】
一方、ステップS3の判断がYES、すなわち、クライアント名16iCとクライアント名14Cとが一致するレコード16iが存在する場合(業務ログ14aに対応するクライアントにおいて他の業務アプリケーションが稼動中の場合)、プロセス15aは、業務ログ14aで指示された業務アプリケーション名、作業中の業務アプリケーション名の枝番号がクライアント稼動状態テーブル16aの該当するレコード16iに書き込まれているか否かを判断する。
【0085】
すなわち、例えば、該当レコード16iが第2レコード162であると仮定すると、プロセス15aは、第2レコード162の作業中の業務アプリケーション名1(162N1)・作業中の業務アプリケーション名の枝番号162K1の組、業務アプリケーション名2(162N2)・作業中の業務アプリケーション名の枝番号162K2の組、業務アプリケーション名3(162N3)・作業中の業務アプリケーション名の枝番号162K3の組、・・・を順に調べ、業務アプリケーション名14N・マルチタスク時の業務アプリケーション名の枝番号14Kの組と一致するものを探し、探した結果、業務ログ14aに対応する業務アプリケーション14N・マルチタスク時の業務アプリケーション名の枝番号14Kの組に一致するレコードが存在するか否か判断する(ステップS7a)。
【0086】
このステップS7aの判断により、一致するレコードがある場合には、ステップS7の場合と同様に、正常に運用されていないものと判断して処理を終了する。
【0087】
一方、ステップS7aの判断により、一致するレコードが無い場合には、ステップS7aの判断はNOとなり、プロセス15aは、クライアント稼動状態テーブル16aの該当レコード内の業務アプリケーション名に業務ログ14aで指示された値を書き込む。
【0088】
すなわち、該当レコードが第2レコード162である場合には、プロセス15aは、第2レコード162の作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順に調べ、未使用(作業中の業務アプリケーション名=0)のものを探す。
【0089】
このとき、例えば、作業中の業務アプリケーション名1(162N1)が未使用であった場合には、プロセス15は、作業中の業務アプリケーション名1(162N1)に、業務アプリケーション名14Nに対応する値を書き込み、次いで、作業中の業務アプリケーション名1(162N1)の枝番号にマルチタスク時の業務アプリケーション名の枝番号14Kを書き込む(ステップS8a)。
【0090】
そして、ステップS9の処理が行なわれて、該当するレコード内の対応するクライアントの状態が「稼動中」に設定される。
【0091】
一方、ステップS2の判断がNO(業務ログ14aが業務開始ログでない)で、ステップS10の判断がYES(業務ログ14aが業務終了の場合(ステップS10→YES)であり、ステップS11の処理により、クライアント名16iCとクライアント名14Cとが一致するレコード16i(例えば、第2レコード)が見付かった際に、プロセス15aは、作業中の業務アプリケーション名1(162N1)・作業中の業務アプリケーション名の枝番号162K1の組、業務アプリケーション名2(162N2)・作業中の業務アプリケーション名の枝番号162K2の組、業務アプリケーション名3(162N3)・作業中の業務アプリケーション名の枝番号162K3の組、・・・を順に調べ、業務アプリケーション名14N・マルチタスク時の業務アプリケーション名の枝番号14Kの組と一致するものを探す。
【0092】
そして、例えば、作業中の業務アプリケーション名1(162N1)・作業中の業務アプリケーション名の枝番号162K1の組が業務アプリケーション名14N・作業中の業務アプリケーション名の枝番号14Kの組に一致する際において、プロセス15aは、作業中の業務アプリケーション名1(162N1)に対応する値をテーブル16aから消去(すなわち、クリアに対応する値“0”を書き込む)し、次いで、作業中の業務アプリケーション名1の枝番号162K1をクリアする(ステップS12a)。
【0093】
次いで、プロセス15aは、クライアント稼動状態テーブル16aの該当レコード内の作業中の業務アプリケーション名・作業中の業務アプリケーション名の枝番号の組が1件以上書き込まれているか否か判断する(ステップS13a)。
【0094】
このステップS13aの判断の結果、作業中の業務アプリケーション名・作業中の業務アプリケーション名の枝番号の組が書き込まれている(≠0)の業務アプリケーション名の件数を計算し、件数が1件以上であれば、ステップS13aの判断はYESとなり、業務終了ログ14aに対応するクライアントはまだ稼動中であるため、処理を終了する。
【0095】
一方、ステップS13aの判断の結果、NO、すなわち、業務終了ログ14aに対応するクライアントにおいて、稼動中の業務アプリケーションが存在しないため、プロセス15aは、対応するクライアントの状態を「非稼動」に設定して処理を終了する。
【0096】
ここで、図14は、上述したステップS1〜ステップS5a〜ステップS7a、ステップS8a〜ステップS12a、ステップS13a、ステップS14の処理に基づくクライアント稼動状態の検出結果を示す図であり、図15は、第1実施形態で説明したステップS1〜ステップS14の処理をマルチタスク時に適用した場合のクライアント稼動状態検出結果を示す図である。
【0097】
すなわち、図15に示すように、マルチタスク時の枝番号を考慮しなければ、業務アプリケーションX−1もX−2も同一の業務アプリケーションXと認識してしまうため、No.1およびNo.3の業務ログ14により、クライアント♯1(20)における業務アプリケーションX−1およびX−2が稼動状態となっている際において、6番目の業務ログ14(No.6)として、クライアント♯1(20)における業務アプリケーションXの業務終了ログ14が登録されると、業務アプリケーションX−2が稼動中であるにも拘らず、業務アプリケーションXを終了、すなわち、非稼動状態であると判断してしまう。
【0098】
しかしながら、本実施形態のクライアント稼動状態検出プロセス15aによれば、業務アプリケーション名・作業中の業務アプリケーション名の枝番号の組単位、すなわち、業務アプリケーションの枝番号毎に業務アプリケーションの稼動状態を判断しているため、No.1およびNo.3の業務ログ14aにより、クライアント♯1(20)における業務アプリケーションX−1およびX−2が稼動状態となっている際において、6番目の業務ログ14a(No.6)として、クライアント♯1(20)における業務アプリケーションX−1の業務終了ログ14aが登録されると、稼動中の業務アプリケーションX−1のみを終了状態とし、稼動中の業務アプリケーションX−2の状態はそのまま維持される。
【0099】
したがって、マルチタスク時のクライアント稼動状態の誤検出を確実に回避することができる。
【0100】
(第3の実施の形態)
図16は、第3の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1bの概略構成を示すブロック図である。
【0101】
図16に示すクライアント/サーバシステム1bにおいて、各クライアントは、第1実施形態と同様の業務アプリケーションX(22)〜業務アプリケーションW(25)に加えて、新たな業務アプリケーションU(26)および業務アプリケーションV(27)を有しており、これら業務アプリケーションX(22)〜業務アプリケーションV(27)における業務アプリケーションWを除く複数の業務アプリケーションは、図17に示すように、業務アプリケーションX(22)を最上位の起動階層、その下位の起動階層に業務アプリケーションY(23)および業務アプリケーションZ(24)、業務アプリケーションYのさらに下位層に業務アプリケーションU(26)および業務アプリケーションV(27)となるような起動階層構造を成している。
【0102】
すなわち、下位の起動階層の業務アプリケーションは、業務アプリケーションが起動した状態で起動可能なアプリケーションであり、したがって、自アプリケーションより上位のアプリケーションが終了した場合には、そのアプリケーションより下位の起動階層を有するアプリケーションも同時に終了することになる。
【0103】
一方、本実施形態のクライアント/サーバシステム1bにおけるサーバ10は、そのメモリに、クライアント業務アプリケーション起動下位階層情報(以下、起動下位階層情報と略記する)テーブル17を記憶している。
【0104】
図18は、サーバ10に記憶された起動下位階層情報テーブル17の構成例を示す図である。
【0105】
図18に示すように、起動下位階層情報テーブル17には、各クライアントの業務アプリケーションX(22)〜業務アプリケーションV(27)毎に、その業務アプリケーション名およびその上位階層の業務アプリケーション名を表す情報がレコード(第1レコード171、第2レコード172、・・・、第6レコード176)として、順次記憶されている。
【0106】
また、サーバ10のクライアント稼動状態検出プロセス15bは、第1実施形態と一部異なる処理を実行するようになっている。
【0107】
なお、その他の構成については、第1実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0108】
以下、本実施形態のクライアント稼動状態検出プロセス15bの処理について説明する。
【0109】
なお、クライアント稼動状態検出プロセス15bのステップS1〜ステップS14の処理は、前掲図5のステップS1〜ステップS14の処理と同様であるため、その説明を省略する。
【0110】
すなわち、本実施形態のクライアント稼動状態検出プロセス15bは、ステップS3の判断がYES、すなわち、クライアント名16iCとクライアント名14Cとが一致するレコード16iが存在する場合(業務ログ14に対応するクライアントにおいて他の業務アプリケーションが稼動中の場合)、プロセス15bは、業務ログ14で指示された業務アプリケーション名およびその起動下位層の業務アプリケーション名がクライアント稼動状態テーブル16の該当するレコード16iの作業中業務アプリケーション名に書き込まれているか否かを判断する。
【0111】
すなわち、例えば、該当レコード16iが第2レコード162であると仮定すると、プロセス15bは、第2レコード162の作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順に調べ、業務アプリケーション名14Nと一致するものを探し、探した結果、業務ログ14に対応する業務アプリケーション14Nに一致するレコードが存在するか否か判断する(ステップS7b)。
【0112】
このステップS7bの判断により、一致するレコードがある場合には、プロセス15bは、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名のうち、業務ログ14で指定された業務アプリケーション名およびその起動下位階層の業務アプリケーション名と一致するものをクリアする処理を行なう(ステップS20)。
【0113】
以下、プロセス15bのステップS20の処理について、詳細に説明する。
【0114】
例えば、該当レコードが第2レコードであるとし、業務アプリケーション名が「業務アプリケーション」であったとする。
【0115】
[1]作業中の業務アプリケーション名iをi=1とする。
【0116】
[2]作業中の業務アプリケーション名i(162Ni)が「有効」かどうか調べる。
【0117】
[3]「有効」であれば[4]に進み、「無効」であれば[6]へ進む。
【0118】
[4]作業中の業務アプリケーション名i(162i)が、業務アプリケーション名14Nと一致するかどうか調べる。
【0119】
この結果、一致する場合、作業中の業務アプリケーション名i(162Ni)をクリアし、[5]へ進む。
【0120】
[5]業務アプリケーション名14Nの起動下位階層の業務アプリケーション名を起動下位階層情報17から求める。
【0121】
<1>対象レコードを第1レコード171とする。
【0122】
<2>対象レコードの業務アプリケーション名が書き込まれているか調べる。
【0123】
例えば、対象レコードが第1レコード171であるとする。
このとき、業務アプリケーション名171Nが書き込まれていれば<3>へ進み、そうでなければ<6>へ進む。
【0124】
<3>対象レコードの上位階層のアプリケーション名が書き込まれているか調べる。
例えば、対象レコードが第1レコード171であるとする。
このとき、上位階層の業務アプリケーション名171Pが書き込まれている場合<4>へ進み、書き込まれていなければ<6>進む。
【0125】
<4>上位階層の業務アプリケーション名は業務アプリケーション名14Nと一致するかどうか調べる。
例えば、対象レコードが第1レコード171とする。
このとき、上位階層の業務アプリケーション名171Pが業務アプリケーション名14Nと一致する場合、業務アプリケーション名14Nの起動下位階層として業務アプリケーション名171Nを記憶する。
一方、一致しない場合<5>へ進む。
【0126】
<5>例えば対象レコードが第1レコードであるとすると、上位階層の業務アプリケーション名171P=業務アプリケーション名17jNとなる第jレコードを以下のa〜cの処理により探す。
a.上位階層の業務アプリケーション名17jPが存在し、業務アプリケーション名14Nと一致する場合には、業務アプリケーション14Nの起動下位階層として業務アプリケーション名171Pを記録し、<6>へ進む。
b.上位階層の業務アプリケーション名17jPが存在し、業務アプリケーション名14Nと一致しない場合においては、さらに、上位階層の業務アプリケーション名17jP=業務アプリケーション名17kNとなる第kレコードを探し、aに戻る。
c.上位階層の業務アプリケーション名17jPが書き込まれていない場合<6>へ進む。
【0127】
<6>クライアント業務アプリケーション起動下位階層情報の全てのレコードを処理したか否か判断する。
この判断の結果、全てのレコードを処理した場合<7>へ進み、そうでない場合、対象レコードを次のレコードとして<2>へ進む。
【0128】
<7>[6]へ進む。
なお、上記の<2>では階層が上下四代の階層(親・子・孫・ひ孫)となった場合でも処理できるように記述している。
例えば、業務アプリケーション名14N=アプリケーションXの場合、起動下位階層は、アプリケーションY、アプリケーションZ、アプリケーションU、アプリケーションVとなる。
また、業務アプリケーション名14N=アプリケーションZの場合、起動下位階層は、なしとなる。
【0129】
[6]クライアント稼動状態テーブル16の該当レコード内の作業中の業務名が、上記[5]で記憶した業務アプリケーション名14Nの起動下位階層の業務名と一致する場合、作業中の業務アプリケーション名をクリアする。
【0130】
例えば、クライアント稼動状態テーブル16の該当レコードが第2レコードであるとすれば、作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・、に対して記憶した業務アプリケーション名14Nの起動下位階層の業務名と一致するかどうか調べ、一致した作業中の業務アプリケーション名のみクリアする。
【0131】
次いで、プロセス15bは、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名に業務ログで指示された値を書き込む。
【0132】
例えば、該当レコードが第2レコード162であるとすると、プロセス15bは、第2レコードの作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を順に調べ、未使用(作業中の業務アプリケーション名=0)のものを探す。例えば、作業中の業務アプリケーション名1(162N1)であったとする。
【0133】
次いで、プロセス15bは、作業中の業務アプリケーション名1(162N1)に、業務アプリケーション名14Nに対応する値を書き込む(ステップS21)。
【0134】
次いで、プロセス15bは、クライアント稼動状態テーブル16の該当レコード内のクライアント状態を「稼動中」、すなわち、クライアントの状態162Sに対して、「稼動中」を意味する値(データ)を書き込んで処理を終了する。
【0135】
ここで、図20は、上述したステップS1〜ステップS7b〜ステップS14、ステップS20〜ステップS22に基づくクライアント稼動状態の検出結果を示す図であり、図21は、第1実施形態で説明したステップS1〜ステップS14の処理において、クライアントの業務アプリケーションが異常終了した場合でのクライアント稼動状態検出結果を示す図である。
【0136】
すなわち、図21に示すように、No.1〜No.4の業務ログ14により、クライアント♯1(20)の業務アプリケーションX、Y、WおよびZがそれぞれ稼動状態である際に、業務アプリケーションYおよびZの上位階層である業務アプリケーションXが異常終了すると、その下位階層の業務アプリケーションYおよびZも異常終了する。このとき、業務終了ログ14は、業務ログファイル13に登録されないので、クライアント稼動状態テーブル16の業務アプリケーションX、YおよびZは、異常終了しているにも拘わらず、稼動状態となっており、クライアント♯1(20)の稼動状態が不正確になる。
【0137】
この後、クライアント♯1(20)において業務アプリケーションXが再起動されると(No.4の業務開始ログ14が登録)、クライアント稼動状態テーブル16には、既に業務アプリケーションXが稼動状態であることを示す値が書き込まれているため、図5におけるステップS3およびステップS7は何れもYESとなり、クライアント稼動状態検出プロセス15は、処理を終了してしまうため、業務アプリケーションYおよびZは、間違った状態のままでサーバ10認識されることになり、クライアント♯1(20)では、実際は作業終了している業務アプリケーションYおよびZが、作業中として残ってしまう結果となる。
【0138】
しかしながら、本実施形態によれば、図20に示すように、No.1〜No.4の業務ログ14により、クライアント♯1(20)の業務アプリケーションX、Y、WおよびZがそれぞれ稼動状態である際に、業務アプリケーションYおよびZの上位階層である業務アプリケーションXが異常終了して、クライアント♯1(20)の稼動状態が不正確になった場合に、クライアント♯1(20)において業務アプリケーションXが再起動されると(No.4の業務開始ログ14が登録)、ステップS3の判断はYESとなり、ステップS7bの処理において、業務アプリケーションXおよびその起動下位階層の業務アプリケーションYおよびZが検出され、ステップS20およびS21の処理により、業務アプリケーションXの状態は再度、稼動状態に設定され、その下位階層である業務アプリケーションYおよびZの起動状態を表す値がクリアされる。
【0139】
したがって、上位階層の業務アプリケーションXが異常終了(業務終了ログなし)した場合でも、その下位階層である業務アプリケーションYおよびZの状態を正確に把握することができる。
【0140】
(第4の実施の形態)
図22は、第4の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1cの概略構成を示すブロック図である。
【0141】
本実施形態の業務アプリケーションX(22)〜業務アプリケーションW(25)は、第3実施形態と同様に、図18に示す起動制御階層構造を成している。
【0142】
そして、本実施形態では、図22に示すクライアント/サーバシステム1cにおけるサーバ10のクライアント稼動状態検出プロセス15cの処理の一部が第1実施形態と異なる処理となっている。
【0143】
なお、その他の構成については、第1実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0144】
また、クライアント稼動状態検出プロセス15cのステップS1〜ステップS14の処理は、前掲図5のステップS1〜ステップS14の処理と同様であるため、その説明を省略する。
【0145】
すなわち、本実施形態のクライアント稼動状態検出プロセス15cは、ステップS10の判断により、業務ログ14が業務終了ではない場合(ステップS10→NO)、すなわち、業務ログ14が業務開始ログおよび業務終了ログの何れでもない場合、業務ログ14のメッセージ番号14Bを調べて、業務立上の業務ログ(業務立上ログ)かどうかを判定する(ステップS30)。
【0146】
このステップS30の判断により、業務ログ14が業務立上ではない場合(ステップS30→NO)、すなわち、業務ログ14が業務開始ログ、業務終了ログおよび業務立上ログの何れでもない場合、クライアント稼動状態検出プロセス15にとって不必要な業務ログであると判断して処理を終了する。
【0147】
一方、ステップS30の判断により、業務ログ14が業務立上の場合(ステップS30→YES)、プロセス15cは、業務ログ14のクライアント名14Cに対応したクライアント稼動状態テーブル16に置けるレコードを探す。
【0148】
すなわち、プロセス15cは、クライアント稼動状態テーブル16の第1レコード161のクライアント名161C、第2レコード162のクライアント名162C、第3レコード163のクライアント名163C、・・・を順次調べ、クライアント名16iCとクライアント名14Cとが一致するレコード16iを探す(ステップS31)。
【0149】
例えば、第2レコード162において、クライアント名16iCとクライアント名14Cとが一致した場合、プロセス15cは、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名1(162N1)、作業中の業務アプリケーション名2(162N2)、作業中の業務アプリケーション名3(162N3)、・・・を全てテーブル16から消去(すなわち、クリアに対応する値“0”を書き込む)する(ステップ32)。
【0150】
次いで、プロセス15cは、クライアント稼動状態テーブル16の該当レコード内のクライアントの状態を「非稼動」、すなわち、クライアントの状態162Sに対して、「非稼動」を意味する値(データ)を書き込んで処理を終了する(ステップS33)。
【0151】
本実施形態によれば、図24に示すように、No.1〜No.4の業務ログ14により、クライアント♯1(20)の業務アプリケーションX、Y、WおよびZがそれぞれ稼動状態である際に、業務アプリケーションYおよびZの上位階層である業務アプリケーションXが異常終了して、クライアント♯1(20)の稼動状態が不正確になった場合に、クライアント♯1(20)が立上られると(No.6の業務立上ログ14が登録)、ステップS10の判断はNO、ステップS30の判断はYESとなり、ステップS31〜ステップS32において全ての業務アプリケーションX〜業務アプリケーションWがクリアされるため、クライアント稼動状態テーブル16を介して、異常終了したクライアント♯1(20)の稼動状態を正確に把握することができる。
【0152】
(第5の実施の形態)
図25は、第5の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1dの概略構成を示すブロック図である。
【0153】
図26は、本実施形態における1件分の業務ログ14bのデータ構成を概念的に示す図である。
【0154】
図26に示すように、業務ログ14bは、第1実施形態と同様のクライアント名14C、業務アプリケーション名14N、メッセージ番号14Bおよびメッセージ文字列14Mに加えて、クライアント業務ログファイル13に登録された登録日時を表すデータ14Tを含んでいる。
【0155】
図27は、本実施形態のクライアント稼動状態テーブル16dの構成例を示す図である。
【0156】
図27に示すように、クライアント稼動状態テーブル16dには、稼動状態のクライアント名161C、クライアントの更新日時を表すデータ161T、クライアントの状態(稼動中/非稼動)を表すデータ161S、そのクライアント作業中の業務アプリケーション名1(161N1)およびその作業中の業務アプリケーション名1の作業開始日時161NT1〜作業中の業務アプリケーション名4(161N4)およびその作業中の業務アプリケーション名4(161NT4)・・・が順次第1レコード、第2レコード、・・・として記憶されるようになっている。
【0157】
一方、本実施形態におけるクライアント稼動状態検出プロセス15dは、第1実施形態のプロセス15と一部異なる処理を行なうようになっている。
【0158】
なお、その他の構成については、第1実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0159】
すなわち、サーバ10のクライアント稼動状態検出プロセス15dは、前掲図5に示すステップS1〜ステップS5の処理(但し、業務ログは14b)を終了した後、クライアント稼動状態テーブル16の該当レコード内の日時情報に作業用データファイルの対象レコードの値を書き込む。
【0160】
例えば、該当レコードが第2レコード162であり、作業中の業務アプリケーション名1(162N1)に値を設定したとすると、プロセス15dは、作業中の業務アプリケーション名1の作業開始日時162N1Tに対して、登録日時14Tに対応する値を書込み、次いで、状態更新日時162Tに対して、登録日時14Tに対応する値を書き込む(ステップS40)。
【0161】
次いで、ステップS6の処理により、クライアントの状態162Sに対して、「稼動中」を意味する値(データ)が書き込まれる。
【0162】
また、ステップS7〜ステップS8の処理により、作業中の業務アプリケーション名1(162N1)に、業務アプリケーション名14Nに対応する値が書き込まれた後において、プロセス15dは、作業中の業務アプリケーション名1の作業開始日時162N1Tに対して、登録日時14Tに対応する値を書込み、次いで、状態更新日時162Tに対して、登録日時14Tに対応する値を書き込む(ステップS41)。
【0163】
一方、業務ログが業務終了ログ14であった場合(ステップS10→YES)、ステップS11〜ステップS12の業務アプリケーションクリア処理を終えた後で、プロセス15dは、クライアント稼動状態テーブル16の該当レコード内の日時情報に作業用データファイルの対象レコードの値を書き込む。
【0164】
例えば、該当レコードが第2レコード162であり、作業中の業務アプリケーション名1(162N1)に値を設定したとすると、プロセス15dは、作業中の業務アプリケーション名1の作業開始日時162N1Tに対して、登録日時14Tに対応する値を書込み、次いで、状態更新日時162Tに対して、登録日時14Tに対応する値を書き込む(ステップS41)。
【0165】
次いで、ステップS13〜ステップS14の処理により、稼動中の業務アプリケーションが1件もない場合に限り、対応するクライアントの状態が「非稼動」に設定される。
【0166】
一方、図30は、本実施形態における運用管理端末100のクライアント稼動状態表示機能101に基づく動作を示すフローチャートである。
【0167】
すなわち、運用管理端末100は、サーバ10からクライアント稼動状態テーブル16dを読み込み、次いで、クライアント稼動状態テーブル16dの第1レコード161を対象レコードとし、その対象レコ−ドのクライアント名に対する作業中の業務アプリケーションの放置状態を検出する(ステップS52)。
【0168】
例えば対象レコードを第1レコードとすると、運用管理端末100は、ステップS52の処理として、次の処理を行なう。
[1]クライアント名161Cは書き込まれているか否かを判断する。
書き込まれていれば[2]へ進み、そうでなければ(4)へ進む。
[2]作業中の業務アプリケーション名1を対象にする。
[3]対象の業務アプリケーション名は書き込まれているか否か判断する。 例えば業務アプリケーション名1 161N1とする。
業務アプリケーション名1 161Nが書き込まれていれば[4]へ進む、そうでなければ[6]へ進む。
[4]作業中の業務アプリケーション名の作業開始日時と現在日時との差を計算する。
例えば業務アプリケーション名1であれば、業務アプリケーション名1の作業開始日時161N1Tと現在日時との差を計算する。
[5]差が一定の値を超えている場合、対象の業務アプリケーション名に対して作業放置状態を表す警告データを付与する。
差が一定値を超えていなければ、[6]へ進む。
[6]全ての作業中の業務アプリケーション名に対して処理したか否か判断する。
【0169】
この判断の結果、処理した場合はステップS53へ進み、未処理の業務アプリケーションが存在する場合には、次の業務アプリケーション名を対象として[3]に戻り、上述した処理を繰り返す。
【0170】
一方、全ての作業中の業務アプリケーション名に対して処理が終了した場合には、プロセス15dは、クライアント稼動状態テーブル16dの全てのレコードに対して処理したか否かを判断する(ステップS53)。
【0171】
ステップS53の判断の結果、全てのレコードを処理した場合については(ステップS53→YES)、ステップS55の処理に移行し、未処理のレコードが存在する場合には、ステップS54の処理に移行する。
【0172】
続いて、プロセス15dは、対象レコードを次のレコード(例えば、対象が第1レコードであれば次のレコードを第2レード162)にしてステップS52の処理に移行して、再度、ステップS52以降の処理を次のレコードに対して実行する(ステップS54)。
【0173】
このようにして、全てのレコードの全てのアプリケーションに対してその作業開始日時161N1Tと現在日時との差が一定値を超えたか否かの判断処理および一定値を超えた場合における対応する業務アプリケーションに対する警告データ付与処理が終了すると、ステップS53の判断はYESとなり、運用管理端末100は、クライアント稼動状態テーブル16d、すなわち、放置状態と判断された業務アプリケーションには警告データが付与された状態のクライアント稼動状態テーブル16dをクライアント稼動状態表示用データとして画面上に表示して(ステップS55)、その処理を終了する。
【0174】
すなわち、本実施形態によれば、クライアントの各業務アプリケーションの作業開始日時と現在日時との差が一定値を超えた場合、言い換えれば、作業放置状態が一定時間を超えた場合において、その業務アプリケーションに警告データを付与し、警告データを付与した状態のクライアント稼動状態を表すデータを画面上に表示することができるため、その表示データに基づいて、運用管理端末100から対応するクライアントに対して、作業放置を警告するためのデータを通知することができるため、クライアント側の業務アプリケーション放置状態を回避することができる。
【0175】
なお、運用管理端末100の上記クライアント稼動状態表示機能101に基づく処理は、サーバ10側で実行することも可能である。
【0176】
(第6の実施の形態)
図31は、本発明の第6の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1eの概略構成を示すブロック図である。
【0177】
本実施形態においては、サーバ10の業務ログ登録プロセス12aは、通信プロセス11から渡された業務ログ14を登録日時を含むレコードとして業務ログファイル13に書き込むことにより、業務ログ14を登録するようになっており、クライアント稼動状態検出プロセス15eは、周期的、あるいは運用管理端末100を介したオペレータの指示に応じて、業務ログファイル13に書き込まれた業務ログ14から、クライアント稼動状態の検出に必要なデータのみを抽出して作業用データファイル18に書込み、この作業用データファイル18に書き込んだデータに基づいてクライアントの稼動状態検出処理を行なって、クライアント稼動状態テーブル16を更新するようになっている。
【0178】
なお、その他の構成については、第1実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0179】
また、以下の説明では、クライアント稼動状態検出プロセス15eは、クライアント稼動状態テーブル16のレコードを逐次更新する方法で説明しているが、本発明はその方法に限定されるものではなく、次の方法も容易に実現可能である。
【0180】
すなわち、[1]メモリの別の記憶領域に作成した後、テーブル全体を一括して更新する方法や、[2]クライアント毎に変化を検出して、変化のあったクライアントのレコードだけ更新する方法等が実現可能である。
【0181】
以下、本実施形態の全体処理について、特に、サーバ10のクライアント稼動状態検出プロセス15eを中心に説明する。
【0182】
クライアント♯1(20)〜クライアント♯3(40)の少なくとも1つのクライアントが複数の業務アプリケーションプロセスX(22)〜W(25)の内の少なくとも1つの業務アプリケーションプロセスを実行する過程において、対応クライアントの処理により発行された業務ログ14は、そのクライアントの通信プロセス21により、発行される毎(すなわち、1件ずつ)に通信ネットワークNを介してサーバ10に送信される。
【0183】
このとき、サーバ10の通信プロセス11は、通信ネットワークNを介して送信されてきた業務ログ14を受信して、その業務ログ14を業務ログ登録プロセス12aに渡し、業務ログ登録プロセス12aは、渡された業務ログ14を登録日時を含むレコードとして業務ログファイル13に書き込むことにより、業務ログ14を登録する。
【0184】
この結果、業務ログファイル13には、サーバ10に順次送信されてきた業務ログ14が順次登録される。
【0185】
このとき、本実施形態のクライアント稼動状態検出プロセス15eは、クライアント業務ログファイル13を例えば周期的に読出して、図32に示す処理を実行する。
【0186】
なお、以下の説明では、業務ログファイル13の業務ログ14のレコードは、登録日時の早い順にソート(並べ替え)されているものとして説明する。
【0187】
もし、業務ログファイル13のレコードが日時順にソートされていなければ、ソート処理を追加すればよい。
【0188】
すなわち、クライアント稼動状態検出プロセス15eは、ステップS61の処理として、業務ログファイル13から業務開始、業務終了の業務ログ14だけを抽出して作業用データファイル18に書き込む。
【0189】
次いで、クライアント稼動状態検出プロセス15eは、ステップS62の処理として、作業用データファイル18のレコードに対して、クライアント名・業務アプリケーション名の組毎に最新日時の業務開始のログレコードだけを残し、他のレコードは無効にする。
【0190】
続いて、クライアント稼動状態検出プロセス15eは、ステップS63の処理として、作業用データファイル18に基づいて、クライアント稼動状態テーブル16のデータを作成する。
【0191】
図33は、本実施形態のクライアント稼動状態検出プロセス15eのステップS61の処理(業務開始ログ、業務終了ログ抽出処理)を詳細に説明するためのフローチャートである。
【0192】
プロセス15eは、(1)ステップS6101の処理として、業務ログファイル13を読み込み、次いで、(2)S6102の処理として、業務ログファイル13の先頭レコード、すなわち、業務ログ第1レコード131を対象とする。
【0193】
続いて、プロセス15eは、(3)ステップS6103の処理として、業務ログは業務開始または業務終了か否か判断する。
【0194】
例えば、業務ログファイル13の対象レコードが業務ログ第2レコード132であるとする。
【0195】
このとき、ステップS6103の処理として、プロセス15eは、[1]対象レコードのメッセージ番号132Bを調べ、業務ログの内容が業務開始または業務終了かどうか調べ、[2]対象レコードが業務開始または業務終了の業務ログである場合には(4)のステップS6104の処理に進み、そうでなければ(5)のステップS6105の処理へ進む。
【0196】
プロセス15eは、ステップS6104の処理として、作業用データファイル18に対象レコードを書き込む(第1レコードから順にデータを書き込む)。
【0197】
図34は、作業用データファイル18の構成例を示す図である。
【0198】
例えば、業務ログファイル13の対象レコードが業務ログ第2レコード132であり、作業用データファイル18の空きレコードが第1レコード181であるとする。
【0199】
このとき、プロセス15eは、[1]クライアント名181Cとしてクライアント名132Cの値を書込み、[2]業務アプリケーション名181Nとして業務アプリケーション名132Nの値を書込み、[3]メッセージ番号181Bとしてメッセージ番号132Bの値を書き込む。
【0200】
次いで、プロセス15eは、(5)ステップS6105の処理として、業務ログファイル13の対象レコードを次のレコードとする(例えば、業務ログファイル13の対象レコードが業務ログ第2レコードであるとすれば、次の処理対象として業務ログ第3レコードとする。
【0201】
続いて、プロセス15eは、(6)S6106の処理として、業務ログファイルの全てのレコードに対して処理したか否かを判断する。
【0202】
この判断の結果、業務ログファイル13の全てのレコードに対して処理した場合には(ステップS6106→YES)、処理を終了し、未処理のレコードが存在する場合には(ステップS6106→NO)、(3)のステップS6103の処理に戻って、上述した処理を繰り返す。
【0203】
この結果、作業用データファイル18には、業務開始および業務終了の業務ログ14だけが抽出されて書き込まれる。
【0204】
図35は、本実施形態のクライアント稼動状態検出プロセス15eのステップS62の処理(最新日時の業務開始のログレコード抽出処理)を詳細に説明するためのフローチャートである。
【0205】
なお、以下の説明では、不要になったレコードを物理的に除去せずにデータ的に無効状態にする方法で説明しているが、物理的に除去することも容易に実現できる。
【0206】
すなわち、プロセス15eは、(1)ステップS6201の処理として、作業用データファイル18の最終レコード、すなわち、第Lレコード18Lを対象レコードとする。
【0207】
次いで、プロセス15eは、(2)ステップS6202の処理として、対象レコードは業務開始または業務終了か否かを判断する。
【0208】
例えば、対象レコードが第Lレコードであるとすると、プロセス15eは、[1]メッセージ番号18LBが業務開始または業務終了かを調べ、[2]業務開始または業務終了であれば(3)ステップS6203に進み、そうでなければ(無効)(7)に進む。
【0209】
プロセス15eは、(3)ステップS6203の処理として、対象レコードは業務開始か否か判断する。
【0210】
例えば、対象レコードが第Lレコードであるとすると、プロセス15eは、[1]メッセージ番号18LBが業務開始であれば(4)ステップS6204へ進み、そうでなければ(業務終了)であれば(5)ステップS6205に進む。
【0211】
プロセス15eは、(4)ステップS6204の処理として、対象レコードの位置より若い全てのレコードのうち、そのクライアント名と業務アプリケーション名が対象レコードの値と一致するものを全て無効にする。
【0212】
例えば、対象レコードが第Lレコード18Lであるとすると、対象レコードの位置より若いレコードは、第L−1レコード、第L−2レコード、・・・、第3レコード、第2レコード、第1レコードとなる。
【0213】
すなわち、プロセス15eは、[1]第1レコード181から第L−1レコード18L−1に対して、クライアント名18iC=クライアント名18LC、かつ業務アプリケーション名18iN=業務アプリケーション名18LNが成り立つ全てのレコードi(18i)のレコードをクリアにし(無効にする)、[2](7)ステップS6207へ進む。
【0214】
次いで、プロセス15eは、(5)ステップS6205の処理として、対象レコードの位置より若いレコード全てのレコードのうち、そのクライアント名と業務アプリケーション名が対象レコードの値と一致するものを全て無効にする。
【0215】
例えば、対象レコードが第Lレコード18Lであるとすると対象レコードの位置より若いレコードは、第L−1レコード、第L−2レコード、・・・、第3レコード、第2レコード、第1レコードとなる。
【0216】
すなわち、プロセス15eは、[1]第1レコード181から第L−1レコード18L−1に対して、クライアント名18iC=クライアント名18LC、かつ業務アプリケーション名18iN=業務アプリケーション名18LN、が成り立つ全てのレコードi(18i)のレコードをクリアにする(無効にする)。
【0217】
続いて、プロセス15eは、(6)ステップS6206の処理として、対象レコードを無効にする。
【0218】
例えば、対象レコードが第Lレコード18Lであるとすると、[1]第Lレコード18Lのレコードをクリアにする(無効にする)。
【0219】
次いで、プロセス15eは、(7)ステップS6207の処理として、作業用データファイル18の対象レコードを次のレコードとする。
【0220】
すなわち、例えば、現在の対象レコードが第Lレコード18Lであるとすると、次のレコードは1つ手前の第L−1レコード18L−1となる。
【0221】
そして、プロセス15eは、(8)ステップS6208の処理として、作業用データファイル18の全てのレコードに対して処理したか否か判断し、[1]対象レコードとして第1レコードまで処理したら処理を終了し、未処理のレコードが作業用データファイル18に存在すれば、(2)ステップS6202の処理へ移行して上述した処理を繰り返す。
【0222】
この結果、作業用データファイル18には、最新日時の業務開始ログ14のみが残される。
【0223】
図36は、本実施形態のクライアント稼動状態検出プロセス15eのステップS63の処理(作業用データファイル18に基づいて、クライアント稼動状態テーブル16のデータを作成する処理)を詳細に説明するためのフローチャートである。
【0224】
すなわち、プロセス15eは、ステップS6301の処理として、クライアント稼動状態テーブル16を初期化(クリア)する。
【0225】
すなわち、クライアント稼動状態テーブル16の第1レコード161、第2レコード162、第3レコード163、・・・内の全てのデータ項目をクリアする。
【0226】
次いで、プロセス15eは、(2)ステップS6302の処理として、作業用データファイル18の先頭のレコード、すなわち、第1レコード181を対象とし、(3)ステップS6303の処理として、対象レコードは業務開始か否か判断し、例えば、対象レコードが第1レコード181であるとすれば、メッセージ番号181Bに業務開始を意味する値が設定されていれば(4)ステップS6304に進み、そうでなければ(8)ステップS6308へ進む。
【0227】
なお、レコードは、ステップS62(ステップS6201〜ステップS6208)の処理により、業務開始ログのレコードのみとなっているはずであり、業務開始ログでなければ無効である。
【0228】
続いて、プロセス15eは、(4)ステップS6304の処理として、対象レコードのクライアント名は、第1実施形態のステップS3と同様の処理として、クライアント稼動テーブル16に既に書き込まれているか否か判断する。
【0229】
すなわち、プロセス15eは、[1]クライアント稼動状態テーブル16のクライアント名161C、クライアント名162C、クライアント名163C、・・・を順次調べ、クライアント名16iC=クライアント名14Cとなるレコード16iが存在するかどうか調べる。
【0230】
次いで、プロセス15eは、[2]条件を満たすレコード16iが存在する場合(すなわち、既に他の業務アプリケーション稼動により該当クライアントが稼動状態の場合)、(7)ステップS6307へ進み、存在しない場合(該当クライアントが非稼動状態の場合)、次の(5)ステップS6305へ進む。
【0231】
プロセス15eは、第1実施形態のステップS4〜ステップS5に対応する(5)ステップS6305の処理として、クライアント稼動状態テーブル16の空きレコード内のクライアント名、作業中の業務アプリケーション名に作業用データファイルの対象レコードの値を書き込む。
【0232】
例えば、作業用データファイルの対象レコードが第2レコード182であり、クライアント稼動状態テーブルの空きレコードが第1レコード161であるとする。
【0233】
このとき、プロセス15eは、[1]第1レコードのクライアント名162Cとしてクライアント名182Cの値を書込み、[2]第1レコードの作業中の業務アプリケーション名1(162N1)の値として、業務アプリケーション名182Nの値を書き込む。
【0234】
次いで、プロセス15eは、第1実施形態のステップS6に対応する(6)ステップS6306として、クライアント稼動状態テーブル16の該当レコード内のクライアントの状態を「稼動中」にする。
【0235】
例えば、クライアント稼動状態テーブルの第1レコード161が該当レコードであるとすれば、プロセス15eは、クライアントの状態161Sとして、「稼動中」を表す値を書き込み、処理を終了する。
【0236】
一方、プロセス15eは、第1実施形態のステップS7〜ステップS8に対応する(7)ステップS6307の処理として、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名に作業用データファイルの対象レコードの値を書き込む。
【0237】
例えば、作業用データファイルの対象レコードが第2レコード182であり、クライアント稼動状態テーブルの該当レコードが第1レコード161であるとする。
【0238】
このとき、プロセス15eは、[1]第1レコードの作業中の業務アプリケーション名1(161N1)、作業中の業務アプリケーション名2(161N2)、作業中の業務アプリケーション名3(161N3)、・・・を順に調べ、クリアされている(未使用)のものを探す。
【0239】
例えば、作業中の業務アプリケーション名1(161N2)であったとすると、[2]作業中の業務アプリケーション名1(161N2)に業務アプリケーション名182Nに対応する値を書き込む。
【0240】
次いで、プロセス15eは、(8)ステップS6308の処理として、作業用データファイル18の対象レコードを次のレコードとする。
【0241】
例えば、作業用データファイル18の対象レコードが第2レコード182であったとすれば、次の対象レコードを第3レコード183にする。
【0242】
次いで、プロセス15eは、(9)ステップS6309の処理として、作業用データファイル18の全てのレコードに対して処理したか否か判断し、[1]全てのレコードに対する処理を終了したら、全体の処理を終了し、未処理のレコードが作業用データファイル18に存在すれば、(3)ステップS6303の処理へ移行して上述した処理を繰り返す。
【0243】
本実施形態においても、第1の実施の形態と同様に、クライアントの業務アプリケーション実行過程において発行される業務ログ14に基づいて、その業務ログ14に対応するクライアントの稼動状態(稼動中か、非稼動状態か)を容易に検出・把握することができる。
【0244】
特に、本実施形態によれば、既存のプロセス(クライアントの業務ログ登録プロセス12a)を改造することなく、クライアント稼動状態検出プロセス15eを導入することができるため、導入が非常に容易である。
【0245】
さらに、本実施形態によれば、業務ログファイル13の全体を一括して処理することができるため、読み出す周期間隔を調整することにより、より効率的なクライアント稼動状態把握処理を実行することができる。
【0246】
(第7の実施の形態)
図37は、本発明の第7の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1fの概略構成を示すブロック図である。
【0247】
本実施形態のクライアント/サーバシステム1fにおいては、サーバ10のクライアント稼動状態検出プロセス15fおよび作業用データファイル18aがそれぞれ第2実施形態の構成および第6実施形態の構成と異なっており、その他の構成については、第2および第6実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0248】
図38は、本実施形態の作業用データファイル18aの構成例を示す図であり、図18aに示すように、作業用データファイル18aには、業務開始ログおよび業務終了ログが順次第1レコード、第2レコード、・・・として書き込まれる(登録される)。
【0249】
すなわち、本実施形態によれば、図39に示すように、プロセス15fは、上述したステップS61の処理(業務開始ログ、業務終了ログ抽出処理)を実行した後、ステップS62aの処理として、作業用データファイル18のレコードに対して、クライアント名・業務アプリケーション名・業務アプリケーション名の枝番号の組毎に最新日時の業務開始のログレコードだけを残し、他のレコードは無効にする。
【0250】
本実施形態では、上記ステップS62aの処理に特徴を有している。
【0251】
すなわち、プロセス15fは、ステップS62aの処理の詳細として、図40に示すように、上述したステップS6201〜S6203の処理を実行した後、メッセージ番号18LBが業務開始であった場合に、第2実施形態のステップS12aに対応するステップS6204aの処理として、対象レコードの位置より若いレコード全てのレコードのうち、そのクライアント名・業務アプリケーション名・業務アプリケーション名の枝番号の組が対象レコードの値と一致するものを全て無効にする。
【0252】
例えば、対象レコードが第Lレコード18Lであるとすると対象レコードの位置より若いレコードは、第L−1レコード、第L−2レコード、・・・、第3レコード、第2レコード、第1レコードとなる。
【0253】
すなわち、プロセス15fは、[1]第1レコード181から第L−1レコード18L−1に対して次の処理をする。
【0254】
<1>クライアント名18iC=クライアント名18LC、<2>業務アプリケーション名18iN=業務アプリケーション名18LN、<3>マルチタスク時の業務アプリケーション名の枝番号18i=マルチタスク時の業務アプリケーション名の枝番号18LKの全てが成り立つ全てのレコードi(18i)のレコードをクリアにする(無効にする)。
【0255】
次いで、プロセス15fは、[2](7)ステップS6207へ進む。
【0256】
一方、プロセス15fは、メッセージ番号18LBが業務終了であった場合に、第2実施形態のステップS12aに対応するステップS6205aの処理として、対象レコードの位置より若い全てのレコードのうち、そのクライアント名・業務アプリケーション名・業務アプリケーション名の枝番号の組が対象レコードの値と一致するものを全て無効にする。
【0257】
例えば、対象レコードが第Lレコード18Lであるとすると対象レコードの位置より若いレコードは、第L−1レコード、第L−2レコード、・・・、第3レコード、第2レコード、第1レコードとなる。
【0258】
すなわち、プロセス15fは、[1]第1レコード181から第L−1レコード18L−1に対して次の処理をする。
【0259】
<1>クライアント名18iC=クライアント名18LC、<2>業務アプリケーション名18iN=業務アプリケーション名18LN、<3>マルチタスク時の業務アプリケーション名の枝番号18iK=マルチタスク時の業務アプリケーション名の枝番号18LKの全てが成り立つ全てのレコードi(18i)のレコードをクリアにする(無効にする)。
【0260】
以下は、図35の処理と同様である。
【0261】
そして、プロセス15fは、図41に示すように、上述したステップS6301〜S6304の処理を実行した後、第2実施形態のステップS5aに対応する(5)ステップS6305aの処理として、クライアント稼動状態テーブルの空きレコード内のクライアント名、作業中の業務アプリケーション名、作業中の業務アプリケーション名の枝番号に作業用データファイルの対象レコードの値を書き込む。
【0262】
例えば、作業用データファイルの対象レコードが第2レコード182であり、クライアント稼動状態テーブルの空きレコードが第1レコード161であるとする。
【0263】
このとき、プロセス15fは、[1]第1レコードのクライアント名162Cとしてクライアント名182Cの値を書込み、[2]第1レコードの作業中の業務アプリケーション名1(162N1)の値として、業務アプリケーション名182Nの値を書き込み、[3]第1レコードの作業中の業務アプリケーション名1の枝番号162K1として、マルチタスク時の業務アプリケーション名の枝番号の値を書き込む。
【0264】
一方、プロセス15fは、第2実施形態のステップS8aに対応する(7)ステップS6307aの処理として、クライアント稼動状態テーブル16aの該当レコード内の作業中の業務アプリケーション名および業務アプリケーション名の枝番号に作業用データファイルの対象レコードの値を書き込む。
【0265】
例えば、作業用データファイルの対象レコードが第2レコード182であり、クライアント稼動状態テーブルの該当レコードが第1レコード161であるとする。
【0266】
このとき、プロセス15fは、[1]第1レコードの作業中の業務アプリケーション名1(161N1)、作業中の業務アプリケーション名2(161N2)、作業中の業務アプリケーション名3(161N3)、・・・を順に調べ、クリアされている(未使用)のものを探す。
【0267】
例えば、作業中の業務アプリケーション名1 161N2であったとすると、[2]作業中の業務アプリケーション名1(161N2)に業務アプリケーション名182Nに対応する値を書き込み、[3]作業中の業務アプリケーション名1の枝番号161K2にマルチタスク時の業務アプリケーション名の枝番号182Kを書き込む。
【0268】
以下は、上述したステップS6308〜ステップS6309と同様である。
【0269】
すなわち、本実施形態によれば、第2実施形態と同様に、業務アプリケーションの枝番号毎に業務アプリケーションの稼動状態を判断することができ、マルチタスク時のクライアント稼動状態の誤検出を確実に回避することができる。
【0270】
(第8の実施の形態)
図42は、本発明の第8の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1gの概略構成を示すブロック図である。
【0271】
本実施形態のクライアント/サーバシステム1gにおいては、サーバ10のクライアント稼動状態検出プロセス15gが第3実施形態の構成および第6実施形態の構成と異なっており、その他の構成については、第3および第6実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0272】
すなわち、本実施形態によれば、プロセス15gは、上述したステップS61の処理(業務開始ログ、業務終了ログ抽出処理)を実行した後、ステップS62bの処理として、作業用データファイル18のレコードに対して、クライアント名・業務アプリケーション名・業務アプリケーション名の枝番号の組毎に最新日時の業務開始のログレコードだけを残し、他のレコードは無効にする。
【0273】
本実施形態では、上記ステップS62bの処理に特徴を有している。
【0274】
すなわち、プロセス15gは、ステップS62aの処理の詳細として、図40に示すように、上述したステップS6201〜S6204の処理を実行した後、対象レコードの業務アプリケーション名には起動下位階層があるか否か判断する(ステップS7000)。
【0275】
本実施形態においても、第3実施形態と同様に、図17に示すように、業務アプリケーション名がアプリケーションX(22)の場合、起動下位階層は、アプリケーションY(23)、アプリケーションZ(24)、アプリケーションU(26)、アプリケーションV(27)となる。
【0276】
また、業務アプリケーション名がアプリケーションZ(24)、アプリケーションW(25)、アプリケーションU(26)、アプリケーションV(27)の場合、起動下位階層はなしとなる。
【0277】
すなわち、プロセス15gは、ステップS7000の処理として、最初に、対象業務アプリケーション名の起動下位階層の業務アプリケーション名を起動下位階層情報17から求める。
【0278】
すなわち、プロセス15gは、[1]対象レコードを第1レコード171とし、[2]対象レコードの業務アプリケーション名が書き込まれているか調べる。
【0279】
例えば、対象レコードが第1レコード171であるとすると、プロセス15gは、業務アプリケーション名171Nが書き込まれていれば[3]へ進み、そうでなければ[6]へ進む。
【0280】
業務アプリケーション名171Nが書き込まれている場合、プロセス15gは、[3]対象レコードの上位階層のアプリケーション名が書き込まれているか調べる。
【0281】
例えば、対象レコードが第1レコード171であるとし、上位階層の業務アプリケーション名171Pが書き込まれている場合[4]へ進み、書き込まれていなければ[6]へ進む。
【0282】
上位階層の業務アプリケーション171Pが書き込まれている場合、[4]上位階層の業務アプリケーション名171Pが対象業務アプリケーション名と一致するかどうか調べる。
【0283】
例えば、上位階層の業務アプリケーション名171Pが該当業務アプリケーション名と一致する場合該当業務アプリケーション名の起動下位階層として業務アプリケーション名171Nを記憶し、一致しない場合は[5]へ進む。
【0284】
一致しない場合、プロセスス15gは、[5]例えば、対象レコードが第1レコードであるとすると、上位階層の業務アプリケーション名171P=業務アプリケーション名17jNとなる第jレコードを探す。
【0285】
次いで、プロセス15gは、a.上位階層の業務アプリケーション名17jPが存在し、対象業務アプリケーション名と一致する場合、業務アプリケーション14Nの起動下位階層として業務アプリケーション名171Pを記録し[6]へ進む。
【0286】
また、プロセス15gは、b.上位階層の業務アプリケーション名17jPが存在し、対象業務アプリケーション名と一致しない場合、更に、上位階層の業務アプリケーション名17jP=業務アプリケーション名17kNとなる第kレコードを探し、aに戻る。
【0287】
次いで、プロセス15gは、c.上位階層の業務アプリケーション名17jPが書き込まれていない場合[6]へ進む。
【0288】
そして、プロセス15gは、[6]クライアント業務アプリケーション起動下位階層情報の全てのレコードを処理したか否か判断し、全てのレコードを処理した場合[7]へ進み、未処理のレコードが存在する場合、対象レコードを次のレコードとして[2]へ進む。
【0289】
プロセス15gは、[7]の処理として、(8)のステップS7001の処理へ移行する。
【0290】
なお、上述した処理では、階層が上下四代の階層(親・子・孫・ひ孫)となった場合でも処理できるように記述している。
【0291】
そして、プロセス15gは、(8)S7001の処理として、作業用データファイル18の対象レコードより手前の位置に業務アプリケーションの全ての起動下位階層の業務名の業務終了のデータを追加して書き込む。
【0292】
例えば、対象レコードが18Lであるとすると、プロセス15gは、[1]対象レコード18Lと第L−1レコード18L−1の間に上記(7)で記憶した業務アプリケーション名の件数分のレコードを挿入する。この場合は業務アプリケーションY、業務アプリケーションZ、業務アプリケーションU、業務アプリケーションVの4件である。
【0293】
すなわち、[2]追加したレコードを18Rとすれば、プロセス15gは、クライアント名18RCとしてクライアント名18LCに対応する値を書込み、業務アプリケーション名18RNとして、その4つのレコードに、それぞれ業務アプリケーションY、業務アプリケーションZ、業務アプリケーションU、業務アプリケーションVを1つずつ書込み、さらに、メッセージ番号18RBとして、業務終了を意味する番号を書込み、次いで、メッセージ文字列18RMとして業務終了を意味するメッセージ文字列を書き込む。
【0294】
そして、プロセス15gは、上述したステップS6207〜ステップS6208の処理に移行し、作業ファイル18の全てのレコードに対して上述した処理を実行する。
【0295】
すなわち、本実施形態によれば、クライアントにおいて、業務アプリケーションが再起動されると、そのレコードの位置よりも若い位置に同一の業務アプリケーション名のレコードが存在することになるため、まずそのレコードを無効にし(ステップS6204)、次いで、無効にした業務アプリケーションに対して起動階層にある全ての業務アプリケーション名に対して、業務終了のデータを追加することができるため、第3実施形態と同様に、上位階層の業務アプリケーションが異常終了(業務終了ログなし)した場合でも、その起動下位階層である全ての業務アプリケーションの状態を正確に把握することができる。
【0296】
(第9の実施の形態)
図45は、本発明の第9の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1hの概略構成を示すブロック図である。
【0297】
本実施形態のクライアント/サーバシステム1hにおいては、サーバ10のクライアント稼動状態検出プロセス15hが第4実施形態の構成および第6実施形態の構成と異なっており、その他の構成については、第3および第6実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0298】
すなわち、本実施形態によれば、プロセス15hは、ステップS61bの処理として、業務開始ログおよび業務終了ログに加えて、業務立上ログ抽出処理を行なうようになっており、次いで、ステップS62cの処理として、作業用データファイル18のレコードに対して、クライアント名・業務アプリケーション名・業務アプリケーション名の枝番号の組毎に最新日時の業務開始のログレコードだけを残し、他のレコードは無効にする処理を行なっている。
【0299】
すなわち、プロセス15hは、上述したステップS6101〜ステップS6102の処理を行なった後、ステップS7005の処理として、業務ログは業務開始ログ、業務終了ログ、業務立上ログの何れかであるか否か判断する。
【0300】
この判断の結果、対象レコードが業務開始ログ、業務終了ログ、業務立上ログの何れかである場合には、次のステップS7006に移行し、対象レコードが業務開始ログ、業務終了ログ、業務立上ログの何れでもない場合には、上述したステップS6105の処理に移行する。
【0301】
ステップS7006において、プロセス15hは、対象レコード、すなわち、業務開始ログ、業務終了ログ、業務立上ログの何れかのログデータを作業用データファイル18に書き込む(第1レコードから順にデータを書き込む)。
【0302】
このように、本実施形態の作業用データファイル18には、業務開始ログ、業務終了ログおよび業務立上ログだけが抽出されて書き込まれる。
【0303】
このとき、本実施形態のステップS62cの処理(最新日時の業務開始のログレコード抽出処理)として、上述したステップS6201〜S6203の処理を実行した後、すなわち、対象レコードが業務開始でない場合において、メッセージ番号18LBが業務終了か否か判断し(ステップS7100)、業務終了であった場合には(ステップS7100→YES)、対象レコードの位置より若いレコード全てのレコードのうち、そのクライアント名・業務アプリケーション名が対象レコードの値と一致するものを全て無効にする(ステップS7101)。
【0304】
一方、ステップS7100の判断の結果、業務終了でない場合には(ステップS7100→NO)、プロセス15hは、対象レコードを業務立上ログと判断し、ステップS6205の処理として、対象レコードの位置より若いレコード全てのレコードのうち、そのクライアント名と業務アプリケーション名が対象レコードの値と一致するものを全て無効にする。
【0305】
例えば、対象レコードが第Lレコード18Lであるとすると対象レコードの位置より若いレコードは、第L−1レコード、第L−2レコード、・・・、第3レコード、第2レコード、第1レコードとなる。
【0306】
すなわち、プロセス15hは、[1]第1レコード181から第L−1レコード18L−1に対して、クライアント名18iC=クライアント名18LC、かつ業務アプリケーション名18iN=業務アプリケーション名18LN、が成り立つ全てのレコードi(18i)のレコードをクリアにする(無効にする)。
【0307】
続いて、プロセス15hは、ステップS6206の処理として、対象レコードを無効にする。
【0308】
例えば、対象レコードが第Lレコード18Lであるとすると、[1]第Lレコード18Lのレコードをクリアにする(無効にする)。
【0309】
次いで、プロセス15hは、ステップS6207の処理として、作業用データファイル18の対象レコードを次のレコードとする。
【0310】
すなわち、例えば、現在の対象レコードが第Lレコード18Lであるとすると、次のレコードは1つ手前の第L−1レコード18L−1となる。
【0311】
そして、プロセス15hは、ステップS6208の処理として、作業用データファイル18の全てのレコードに対して処理したか否か判断し、[1]対象レコードとして第1レコードまで処理したら処理を終了し、未処理のレコードが作業用データファイル18に存在すれば、(2)ステップS6202の処理へ移行して上述した処理を繰り返す。
【0312】
この結果、作業用データファイル18には、業務終了ログおよび業務立上ログが除かれた最新日時の業務開始ログ14のみが残される。
【0313】
以上述べたように、本実施形態によれば、例えば、業務アプリケーションYおよびZの上位階層である業務アプリケーションXが異常終了して、クライアントの稼動状態が不正確になった場合に、クライアントが立上られると(業務立上ログ14がクライアント業務ログファイル13に登録)、ステップS6203、ステップS7100の判断はそれぞれNOとなり、ステップS6205の処理により、対象レコードに対応する業務アプリケーションに対して下位の起動階層にある全ての業務アプリケーション名に対応するレコードを無効にすることができるため、第4実施形態と同様に、クライアント稼動状態テーブル16を介して、異常終了したクライアントの稼動状態を正確に把握することができる。
【0314】
(第10の実施の形態)
図47は、本発明の第10の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステム1iの概略構成を示すブロック図である。
【0315】
本実施形態のクライアント/サーバシステム1iにおいては、サーバ10のクライアント稼動状態検出プロセス15iおよび作業用データファイル18bがそれぞれ第5実施形態の構成および第6実施形態の構成と異なっており、その他の構成については、第5および第6実施形態の構成と略同等であるため、同一の構成要素については、同一の符号を付してその説明を省略または簡略化する。
【0316】
図48は、本実施形態の作業用データファイル18bの構成例を示す図であり、図48に示すように、作業用データファイル18bには、そのデータファイルに対する登録日時を含む業務開始ログおよび業務終了ログが順次第1レコード、第2レコード、・・・として書き込まれる(登録される)。
【0317】
図49は、本実施形態のクライアント稼動状態テーブル16dの構成例を示す図である。
【0318】
図49に示すように、クライアント稼動状態テーブル16iには、稼動状態のクライアント名161C、クライアントの更新日時を表すデータ161T、クライアントの状態(稼動中/非稼動)を表すデータ161S、そのクライアント作業中の業務アプリケーション名1(161N1)、その作業中の業務アプリケーション名1の作業開始日時161NT1および作業中の業務アプリケーション名1の作業放出検出有無情報〜作業中の業務アプリケーション名4(161N4)、その作業中の業務アプリケーション名4(161NT4)および作業中の業務アプリケーション名1の作業放出検出有無情報・・・が順次第1レコード、第2レコード、・・・として記憶されるようになっている。
【0319】
そして、本実施形態によれば、プロセス15iは、図50に示すように、上述したステップS6301〜S6305の処理を実行した後、第5実施形態のステップS40に対応するステップS7200の処理として、クライアント稼動状態テーブル16の該当レコード内の日時情報に作業用データファイル18bの対象レコードの値を書き込む。
【0320】
例えば、作業用データファイル18bの対象レコードが第2レコード182であり、クライアント稼動状態テーブル16の該当レコードが第1レコード161であるとすると、プロセス15iは、[1]第1レコードの作業中の業務アプリケーション名1の作業開始日時162N1Tに対して登録日時182Tの値を書込み、次いで、[2]第1レコードの状態更新日時162Tに対して登録日時182Tの値を書き込む。
【0321】
以下、ステップS6306の処理により、クライアント稼動状態テーブル16の該当レコード内のクライアントの状態が「稼動中」に設定される。
【0322】
一方、第1実施形態のステップS7〜ステップS8に対応するステップS6307の処理として、クライアント稼動状態テーブル16の該当レコード内の作業中の業務アプリケーション名に作業用データファイルの対象レコードの値が書き込まれた際に、プロセス15iは、第5実施形態のステップS41に対応するステップS7201の処理として、クライアント稼動状態テーブル16の該当レコード内の日時情報に作業用データファイル18bの対象レコードの値を書き込む。
【0323】
例えば、作業用データファイル18bの対象レコードが第2レコード182であり、クライアント稼動状態テーブル16の該当レコードが第1レコード161であるとすると、プロセス15iは、[1]第1レコードの作業中の業務アプリケーション名1の作業開始日時162N1Tに対して登録日時182Tの値を書込み、次いで、[2]第1レコードの状態更新日時162Tに対して登録日時182Tの値を書き込む。
【0324】
以下、プロセス15iは、ステップS6308の処理として、作業用データファイル18の対象レコードを次のレコードとし、ステップS6309の処理として、作業用データファイル18bの全てのレコードに対して処理したか否か判断する。そして、全てのレコードに対する処理を終了したら、ステップS7202の処理へ移行し、未処理のレコードが作業用データファイル18bに存在すれば、ステップS6303の処理へ移行して上述した処理を繰り返す。
【0325】
そして、プロセス15iは、ステップS7202の処理として、前掲図30の運用管理端末100の処理と同様に、次の処理を行なう。
【0326】
[1]クライアント稼動状態テーブル16iの第1レコード161を対象レコードとする。
【0327】
[2]例えば第1レコード161が対象レコードであるとする。
<1>対象を作業中の業務アプリケーション名1(161N1)とする。
<2>対象の作業中の業務アプリケーション名が書き込まれているか調べる。
例えば、対象が業務アプリケーション名1であれば、作業中の業務アプリケーション名1(161N1)が書き込まれているかどうか調べる。
このとき、書き込まれている場合は、作業中の業務アプリケーション名1の作業開始日時161N1Tと現在時刻との差を求め、<3>へ進み、また、書き込まれていない場合は、<4>へ進む。
<3>差が一定値より大きかった場合、対象の業務アプリケーション名に対応した作業放置検出有無を検出有りに設定する。
例えば、対象が作業中の業務アプリケーション名1であるとすれば、作業中の業務アプリケーション名1の作業放置検出有無161N1Wを検出有りにする。
<4>該当レコード内の全ての業務アプリケーション名について処理したかどうか調べる。
このとき、該当レコード内の全ての業務アプリケーション名について処理が済んだ場合では、<5>へ進み、一方、未処理の業務アプリケーション名がAR場合には、次の業務アプリケーション名を対象として<2>へ進む。
例えば対象が業務アプリケーション名1であるとすれば、次の対象は業務アプリケーション名2となる。
<5>クライアント稼動状態テーブル16iの全てのレコードを処理したかどうか調べる。
このとき、未処理のレコードが存在する場合には、プロセス15iは、対象レコードを次のレコード(例えば、対象が第1レコードであれば次のレコードを第2レード162)にして<2>へ進み、再度、<2>〜<5>の処理を行なう。
<6>一方、未処理のレコードが存在しない場合には、プロセス15iは、クライアント稼動状態テーブル16i、すなわち、放置状態と判断された業務アプリケーションには作業放置検出有データが付与された状態のクライアント稼動状態テーブル16iをクライアント稼動状態表示用データとして画面上に表示して、その処理を終了する。
【0328】
すなわち、本実施形態によれば、クライアントの各業務アプリケーションの作業開始日時と現在日時との差が一定値を超えた場合、言い換えれば、作業放置状態が一定時間を超えた場合において、その業務アプリケーションに作業放置検出有データを付与し、作業放置検出有データを付与した状態のクライアント稼動状態を表すデータを画面上に表示することができるため、その表示データに基づいて、サーバ10から対応するクライアントに対して、作業放置を警告するためのデータを通知することができ、クライアント側の業務アプリケーション放置状態を回避することができる。
【0329】
なお、上述した各実施形態では、サーバ10を1つのサーバとしたが、本発明はこれに限定されるものではなく、複数のサーバに対しても適用可能である。
【0330】
また、上述した各実施形態では、クライアント稼動状態把握システム(クライアント稼動状態把握用プログラム、把握機能)を、サーバ10側に搭載したが、本発明はこれに限定されるものではなく、クライアント側に搭載することも可能である。
【0331】
【発明の効果】
以上述べたように、本発明に係るクライアント稼動状態把握方法およびシステム、ならびにクライアント稼動状態把握用プログラムによれば、クライアントの業務アプリケーション実行過程で発生する業務ログにおける業務開始ログおよび業務終了ログの内の少なくとも一方を利用して、クライアントの稼動状態を把握することができるため、クライアント側に稼動状態の検出機構、サーバとの稼動状態の通信機構およびサーバ側にクライアントとの稼動状態通信機構を特別に組み込む必要がなくなる。
【0332】
したがって、クライアント自体およびサーバ自体に組み込まれた機構に基づく処理負荷および稼動状態通信に基づく通信回線への処理負荷をなくし、クライアントの本来の業務アプリケーション処理の速度およびクライアントとサーバとの間の通信路を介した通信速度をそれぞれ向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図2】第1の実施形態における1件分の業務ログのデータ構成を概念的に示す図。
【図3】第1の実施形態における業務ログファイルの構成例を示す図。
【図4】第1の実施形態におけるクライアント稼動状態テーブルの構成例を示す図。
【図5】第1の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図6】第1の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図7】サーバのクライアント稼動状態検出プロセスにおけるステップS1〜ステップS14の処理に基づくクライアント稼動状態の検出結果を示す図。
【図8】本発明の第2の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図9】第2の実施形態における1件分の業務ログ14のデータ構成を概念的に示す図。
【図10】第2の実施形態の業務ログファイルの構成例を示す図。
【図11】第2の実施形態のクライアント稼動状態テーブルの構成例を示す図。
【図12】第2の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図13】第2の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図14】第2実施形態に係るサーバのクライアント稼動状態検出プロセスの処理に基づくクライアント稼動状態の検出結果を示す図。
【図15】第1実施形態で説明したサーバのクライアント稼動状態検出プロセスの処理をマルチタスク時に適用した場合のクライアント稼動状態検出結果を示す図。
【図16】本発明の第3の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図17】第3の実施形態における業務アプリケーションの起動階層構造を示す図。
【図18】第3の実施形態におけるサーバに記憶された起動下位階層情報テーブルの構成例を示す図。
【図19】第3の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図20】第3実施形態に係るサーバのクライアント稼動状態検出プロセスの処理に基づくクライアント稼動状態の検出結果を示す図。
【図21】第1実施形態で説明したクライアント稼動状態検出プロセスの処理において、クライアントの業務アプリケーションが異常終了した場合でのクライアント稼動状態検出結果を示す図。
【図22】本発明の第4の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図23】第4の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図24】第4実施形態に係るサーバのクライアント稼動状態検出プロセスの処理に基づくクライアント稼動状態の検出結果を示す図。
【図25】本発明の第5の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図26】第5の実施形態における1件分の業務ログのデータ構成を概念的に示す図。
【図27】第5の実施形態のクライアント稼動状態テーブルの構成例を示す図。
【図28】第5の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図29】第5の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図30】第5の実施形態における運用管理端末のクライアント稼動状態表示機能に基づく動作を示すフローチャート。
【図31】本発明の第6の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図32】第6の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図33】第6の実施形態のクライアント稼動状態検出プロセスのステップS61の処理を詳細に説明するためのフローチャート。
【図34】第6の実施形態における作業用データファイルの構成例を示す図。
【図35】第6の実施形態のクライアント稼動状態検出プロセスのステップS62の処理を詳細に説明するためのフローチャート。
【図36】第6の実施形態のクライアント稼動状態検出プロセスのステップS63の処理を詳細に説明するためのフローチャート。
【図37】本発明の第7の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図38】第7の実施形態の作業用データファイルの構成例を示す図。
【図39】第7の実施形態におけるサーバのクライアント稼動状態検出プロセスの処理の一例を示す概略フローチャート。
【図40】第7の実施形態のクライアント稼動状態検出プロセスのステップS62aの処理を詳細に説明するためのフローチャート。
【図41】第7の実施形態のクライアント稼動状態検出プロセスのステップS63の処理を詳細に説明するためのフローチャート。
【図42】本発明の第8の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図43】第8の実施形態のクライアント稼動状態検出プロセスのステップS62bの処理を詳細に説明するためのフローチャート。
【図44】本発明の第9の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図45】第9の実施形態のクライアント稼動状態検出プロセスのステップS61bの処理を詳細に説明するためのフローチャート。
【図46】第9の実施形態のクライアント稼動状態検出プロセスのステップS62cの処理を詳細に説明するためのフローチャート。
【図47】本発明の第10の実施の形態に係るクライアント稼動状態把握システムを含むクライアント/サーバシステムの概略構成を示すブロック図。
【図48】第10の実施の形態の作業用データファイルの構成例を示す図。
【図49】第10の実施形態のクライアント稼動状態テーブルの構成例を示す図。
【図50】第10の実施形態のクライアント稼動状態検出プロセスのステップS63の処理を詳細に説明するためのフローチャート。
【符号の説明】
1、1a〜1i クライアント/サーバシステム
10 サーバ
11 クライアントとの通信プロセス
12、12a クライアントの業務ログ登録プロセス
13、13a クライアントの業務ログファイル
14、14a、14b 1件分の業務ログ
15、15a、15b、15c、15d、15e、15f、15g、15h、15i クライアント稼動状態検出プロセス
16、16a、16b、16c、16i クライアント稼動状態テーブル
17 クライアント業務アプリケーション起動下位階層情報テーブル
18、18a、18b 作業用データファイル
20 クライアント#1
21 サーバとの通信プロセス
22 業務アプリケーションプロセスX
22a1 業務アプリケーションプロセスX−1
22a2 業務アプリケーションプロセスX−2
23 業務アプリケーションプロセスY
23a1 業務アプリケーションプロセスY−1
23a2 業務アプリケーションプロセスY−2
24 業務アプリケーションプロセスZ
25 業務アプリケーションプロセスW
30 クライアント#2
40 クライアント#3
100 運用管理端末
101クライアント稼動状態表示機能[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a client operating state for grasping an operating state of a client in a client / server system in which a client and a server capable of operating at least one business application are connected to be communicable via a communication network.Grasping system, andThe present invention relates to a client operation status grasp program.
[0002]
[Prior art]
In a client / server system configured such that a client (client computer) and a server (server computer) are communicably connected via a communication network, in order to grasp the operating state of the client on the server side, generally, The mechanism (the program and the function corresponding to the program) must be incorporated on the server side and the client side, respectively.
[0003]
That is, on the client side, a mechanism for detecting the operating state of the client itself and a mechanism for communicating the operating state with respect to the operating server must be incorporated. On the server side, communication with the operating client is performed. A mechanism must be incorporated.
[0004]
As a method for notifying the server of the operating state of its own client on the client side, there are the following methods.
[0005]
That is, the first method is to notify the server side of the operating state periodically from the client side, and the second method is to notify the server side of the operating state from the client side when the operating state of the client side changes. As a third method, there is a method of notifying the operating state from the client side to the server side when an operating state transmission request is transmitted from the server side to the client side.
[0006]
The first to third methods described above are properly used according to the purpose of client state management.
[0007]
[Problems to be solved by the invention]
However, in the conventional client operation state grasping method, the operation state detection mechanism and the operation state communication mechanism with the server must be specially incorporated on the client side, and the operation state communication mechanism with the client on the server side, respectively. As a result, the processing load based on the mechanism built in the server itself and the processing load on the communication path (communication line) based on the operation state communication are respectively applied, and the original business application processing speed of the client and between the client and the server There has been a risk of reducing the communication speed via the communication path.
[0008]
In addition, even when any one of the first to third methods for notifying the server of the operating state of the conventional client is employed, the CPU load on the client side and the server side is applied, and the communication path between the server and the client is Since a load is also applied, there is a possibility that the processing speed of the client business application and the processing speed through the communication path with the server may be reduced.
[0009]
The present invention has been made in view of the above-described circumstances, and a business log generated by a normal business application execution process can be created without specially incorporating an operating state detection mechanism and a server operating state communication mechanism on the client side. By using this function, it is possible to know the operating status of the client.Grasping system, andThe purpose is to provide a client operating state grasping program.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problem, according to the first aspect of the present invention, a client (client computer) and a server (server computer) capable of operating at least one business application are communicably connected via a communication network. Client / server system
The business application executed on the client has a function of transmitting business log data issued according to the operation such as business start, business process execution, and business end to the server, and the server sends the business log data to the business log Accumulate as a fileA storage device and a memory for storing various tables,
The business log data is composed of client name, business application name or number, log type such as business start / business process execution / business end, registration date / time, etc.
The business application has an upper and lower startup hierarchy relationship,
The client operating state grasping program executed on the server is
(1) The business application business start log of the clientDepending on the log type of business log data from the business log fileWhen detected, it is determined that the client is in operation,On the memory of the serverRecord that the business application is running in the client operating status table,
The client business application job end logDepending on the log type of business log data from the business log fileWhen detectedIn the client operating state table in the memory of the serverIt has a function to record that the business application is not running,
(2) The aboveOn server memoryIn the client operating status tableAbout the clientIf one or more business applications are running, it is determined that the client is runningIn the client operating state table in the memory of the serverSet the client's status as active,
SaidOn server memoryIn the client operating status tableAbout the clientIf no running business applications are recorded, it is determined that the client is not running.In the client operating state table in the memory of the serverIt has a function to set the status of the client as inactive,
(3) The client business application startup hierarchy table in which the business application name of the upper hierarchy with respect to the business application name is recorded.On the memory of the serverHave
The business end log of the business application in the upper hierarchyDepending on the log type of business log data from the business log fileIf detected,
The business applicationofRefer to the startup hierarchy table,
The business applicationofGet the business application name of the lower hierarchy,In the client operating state table on the memory of the serverIt has a function to update the status of lower level business applications while it is not running,
(4) When a plurality of business applications having a startup hierarchical structure are set in the operating state in the client operating state table on the server memory, the business start log of the business application in the higher hierarchy is again displayed as the business log. When it is detected by log type of business log data from a file,
Refer to the startup hierarchy table of the business application,
Get the business application name of the lower hierarchy of the business application,
In the client operating state table on the server memory, there is a function to set the operating state of the business application of the lower hierarchy than the business application of the upper hierarchy to a non-operating state,
Each of the functions is provided in at least one of the client and the server, and the client / server computer is executed.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the client operating state of the present inventionGrasping system, andAn embodiment of a client operating state grasping program will be described with reference to the drawings.
[0015]
(First embodiment)
FIG. 1 is a block diagram showing a schematic configuration of a client /
[0016]
As shown in FIG. 1, the client /
[0017]
The
[0018]
That is, the
[0019]
On the other hand, the client /
[0020]
Each client # 1 (20) to # 3 (40) has, in its memory, middleware, which is a basic software (platform) of a distributed computer environment for constructing a client / server system, and a plurality of business applications (programs; in the drawing). , Abbreviated as “business application”), and a program P2 including X to W is held, and the following processes (means) are performed according to the program P2.Is executed by the client / server system computerIt is like that.
[0021]
For example, the client # 1 (20), in accordance with the program P2, communicates with the
[0022]
The other clients # 2 (30) to # 3 (40) also have substantially the same functional configuration as the client # 1 (20).
[0023]
Further, the client /
[0024]
In this specification, “business log data (business log)” means message data generated in the process of executing a business application, and includes business start log data indicating the start of a business application, There are processing log data indicating the contents of processing, business end log data indicating the end of the business application, business start log data indicating the start of the business application, and the like. These business log data are stored in each client # 1 (20). Each time it is issued on the ~ # 3 (22) side, it is transmitted to the
[0025]
FIG. 2 is a diagram conceptually showing the data structure of the
[0026]
As shown in FIG. 2, the
[0027]
Hereinafter, the overall processing of this embodiment will be described with a focus on the client operating
[0028]
In the process in which at least one of the clients # 1 (20) to # 3 (40) executes at least one of the plurality of business application processes X (22) to W (25), the corresponding client The
[0029]
At this time, the communication process 11 of the
[0030]
FIG. 3 is a diagram showing a configuration example of the
[0031]
The client operating
[0032]
That is, the client operating
[0033]
Next, the
[0034]
If it is determined in step S2 that the
[0035]
In addition, as a method of determining whether the content of the business log in step S2 is a business start or a business end, there is a method of determining a character string of a message in addition to a message number. Here, a method using a message number will be described. To do.
[0036]
If the determination in step S <b> 2 is YES (business log → business start log), the
[0037]
FIG. 4 is a diagram illustrating a configuration example of the client operating state table 16.
[0038]
As shown in FIG. 4, the client operating state table 16 includes an operating
[0039]
That is, the
[0040]
If it is determined in step S3 that there is a record 16iC that satisfies the condition (step S3 → YES), the process proceeds to step S7, and if it does not exist (step S3 → NO), the process proceeds to the next step S4.
[0041]
If the determination in step S3 is YES (proceeds to step S7), if another business application is operating on the client corresponding to the business log 14 (according to the
[0042]
The
[0043]
In the present embodiment, it is assumed that the empty record is the
[0044]
At this time, the
[0045]
That is, when the empty record is the
[0046]
Next, the
[0047]
On the other hand, if the determination in step S3 is YES, that is, if there is a
[0048]
That is, for example, assuming that the
[0049]
As a result of the determination in step S7, if there is a matching record, it is determined that the corresponding business application record exists even though it is a business start log and is not being operated normally. End the process.
[0050]
This abnormal operation is, for example, when a business application on the client side is started, a failure occurs on the client side, and the business application is started again on the client side without the business log indicating the end of the business being notified to the server side. It is.
[0051]
On the other hand, if it is determined in step S7 that there is no matching record, the determination in step S7 is NO, and the
[0052]
That is, when the corresponding record is the
[0053]
At this time, for example, if the working business application name 1 (162N1) is unused, the
[0054]
Next, the
[0055]
On the other hand, if the determination in step S2 is NO, that is, if the business log is not a business start log, the
[0056]
If it is determined in step S10 that the
[0057]
On the other hand, if the
[0058]
That is, the
[0059]
For example, when the
[0060]
For example, when the corresponding record is the
[0061]
For example, when the working business application name 1 (162N1) matches the
[0062]
Next, the
[0063]
For example, when the corresponding record is the
[0064]
On the other hand, as a result of the determination in step S13, NO, that is, since there is no active business application in the client corresponding to the
[0065]
FIG. 7 is a diagram illustrating a detection result of the client operating state based on the processing in steps S1 to S14 described above.
[0066]
That is, for example, when the business start log 14 of the business application X in the client # 1 (20) is registered in the client
[0067]
Next, when the business start log 14 of the business application Y in the client # 1 (20) is registered in the client
[0068]
On the other hand, in a state in which a value indicating the operating state of the client # 1 (20) and a value indicating that the business application X and the business application Y are operating are written in predetermined records of the client operating state table 16. When the
[0069]
In this way, in the state where the data indicating that the business application X is in operation is written in a predetermined record of the client operating state table 16, the client # is used as the tenth business log 14 (No. 10). When the
[0070]
At this time, in the predetermined record corresponding to the client # 1 (20) existing in the predetermined record, all values indicating that the business application is in operation are cleared (0), so the determination in step S13 is NO, and the client # It is detected that the state 1 (20) is a non-operating state.
[0071]
As described above in detail, according to the present embodiment, based on the
[0072]
(Second Embodiment)
FIG. 8 is a block diagram showing a schematic configuration of a client /
[0073]
In the client /
[0074]
That is, the business application process X (22) has individual business application processes X-1 (branch number 1) and X-2 (branch number 2) during multitask processing of the corresponding client. Application process Y (23) Has individual business application processes Y-1 (branch number 1) and Y-2 (branch number 2) during multitask processing of the corresponding client.
[0075]
FIG. 9 is a diagram conceptually showing the data structure of one business log 14a in the present embodiment.
[0076]
As shown in FIG. 9, the business log 14a includes
[0077]
FIG. 10 is a diagram showing a configuration example of the
[0078]
FIG. 11 is a diagram illustrating a configuration example of the client operating state table 16a according to the present embodiment.
[0079]
As shown in FIG. 11, the client operating status table 16a includes an
[0080]
On the other hand, the client operating
[0081]
In other words, the client operating
[0082]
That is, when the empty record is the
[0083]
Next, the process of step S6 is performed, and the state of the corresponding client is set to “in operation”.
[0084]
On the other hand, if the determination in step S3 is YES, that is, if there is a
[0085]
That is, for example, assuming that the
[0086]
If there is a matching record as a result of the determination in step S7a, it is determined that the record is not normally operated as in step S7, and the process ends.
[0087]
On the other hand, if there is no matching record as a result of the determination in step S7a, the determination in step S7a is NO, and the
[0088]
That is, when the corresponding record is the
[0089]
At this time, for example, if the working business application name 1 (162N1) is unused, the
[0090]
Then, the process of step S9 is performed, and the state of the corresponding client in the corresponding record is set to “in operation”.
[0091]
On the other hand, the determination in step S2 is NO (the business log 14a is not the business start log), and the determination in step S10 is YES (the business log 14a is the business end (step S10 → YES)). When the
[0092]
Then, for example, when the combination of the business application name 1 (162N1) being worked on and the branch number 162K1 of the business application name being worked on matches the pair of the
[0093]
Next, the
[0094]
As a result of the determination in step S13a, the number of business application names in which a pair of the business application name being worked on and the branch number of the business application name being worked on is written (≠ 0) is calculated, and the number is 1 or more. If so, the determination in step S13a is YES, and the client corresponding to the job end log 14a is still in operation, and thus the process ends.
[0095]
On the other hand, as a result of the determination in step S13a, NO, that is, since there is no active business application in the client corresponding to the business end log 14a, the
[0096]
Here, FIG. 14 is a diagram showing the detection result of the client operating state based on the above-described processing of step S1 to step S5a to step S7a, step S8a to step S12a, step S13a, and step S14, and FIG. It is a figure which shows a client operating state detection result at the time of applying the process of step S1-step S14 demonstrated in 1 embodiment at the time of multitasking.
[0097]
That is, as shown in FIG. 15, if the branch number at the time of multitasking is not taken into account, the business applications X-1 and X-2 are recognized as the same business application X. 1 and no. 3, when the business applications X-1 and X-2 in the client # 1 (20) are in an operating state, the client # 1 (No. 6) is used as the sixth business log 14 (No. 6). When the
[0098]
However, according to the client operating
[0099]
Therefore, erroneous detection of the client operating state during multitasking can be reliably avoided.
[0100]
(Third embodiment)
FIG. 16 is a block diagram showing a schematic configuration of a client /
[0101]
In the client /
[0102]
In other words, the business application in the lower startup hierarchy is an application that can be started in a state where the business application is started. Therefore, when an application higher than the own application is terminated, an application having a startup hierarchy lower than that application is terminated. Will end at the same time.
[0103]
On the other hand, the
[0104]
FIG. 18 is a diagram illustrating a configuration example of the activation lower hierarchy information table 17 stored in the
[0105]
As shown in FIG. 18, in the activation lower hierarchy information table 17, information representing the business application name and the business application name of the upper hierarchy is provided for each business application X (22) to business application V (27) of each client. Are sequentially stored as records (
[0106]
Further, the client operating
[0107]
Since the other configuration is substantially the same as the configuration of the first embodiment, the same components are denoted by the same reference numerals and the description thereof is omitted or simplified.
[0108]
Hereinafter, processing of the client operating
[0109]
In addition, since the process of step S1-step S14 of the client operating
[0110]
In other words, the client operating
[0111]
That is, for example, assuming that the
[0112]
If there is a matching record as a result of the determination in step S7b, the
[0113]
Hereinafter, the process of step S20 of the
[0114]
For example, assume that the corresponding record is the second record and the business application name is “business application”.
[0115]
[1] The work application name i in operation is set to i = 1.
[0116]
[2] Check whether the business application name i (162Ni) in work is “valid”.
[0117]
[3] If “valid”, proceed to [4], and if “valid”, proceed to [6].
[0118]
[4] Check whether the business application name i (162i) being worked on matches the
[0119]
As a result, if they match, the business application name i (162Ni) being worked on is cleared, and the process proceeds to [5].
[0120]
[5] The business application name of the startup lower hierarchy of the
[0121]
<1> The target record is a
[0122]
<2> Check whether the business application name of the target record is written.
[0123]
For example, assume that the target record is the
At this time, if the business application name 171N is written, the process proceeds to <3>. Otherwise, the process proceeds to <6>.
[0124]
<3> Check whether the application name of the upper layer of the target record is written.
For example, assume that the target record is the
At this time, if the upper level business application name 171P is written, the process proceeds to <4>, and if not written, the process proceeds to <6>.
[0125]
<4> Check whether the business application name of the upper layer matches the
For example, the target record is the
At this time, when the business application name 171P in the upper hierarchy matches the
On the other hand, if they do not match, proceed to <5>.
[0126]
<5> For example, if the target record is the first record, the jth record having the upper level business application name 171P = business application name 17jN is searched for by the following processes a to c.
a. If the business application name 17jP in the upper hierarchy exists and matches the
b. When the business application name 17jP in the upper hierarchy exists and does not match the
c. If the upper level business application name 17jP is not written, the process proceeds to <6>.
[0127]
<6> It is determined whether or not all records of the client business application activation lower hierarchy information have been processed.
If all records have been processed as a result of this determination, the process proceeds to <7>. Otherwise, the process proceeds to <2> with the target record as the next record.
[0128]
<7> Proceed to [6].
In the above <2>, it is described so that processing can be performed even when the hierarchy is a hierarchy of four generations (parent, child, grandchild, great-grandchild).
For example, when the
Further, when the
[0129]
[6] If the name of the job being worked on in the corresponding record of the client operating state table 16 matches the name of the work application in the lower hierarchy of the
[0130]
For example, if the corresponding record in the client operating state table 16 is the second record, the working business application name 1 (162N1), the working business application name 2 (162N2), and the working business application name 3 ( 162N3),... Are checked to see if they match the stored business application name of the
[0131]
Next, the
[0132]
For example, if the corresponding record is the
[0133]
Next, the
[0134]
Next, the
[0135]
Here, FIG. 20 is a diagram illustrating a detection result of the client operating state based on the above-described Steps S1 to S7b to Step S14 and Steps S20 to S22. FIG. 21 illustrates Step S1 described in the first embodiment. FIG. 10 is a diagram illustrating a client operation state detection result when a client business application is abnormally terminated in the process of step S14.
[0136]
That is, as shown in FIG. 1-No. 4, when the business applications X, Y, W, and Z of the client # 1 (20) are operating, and the business application X that is a higher hierarchy of the business applications Y and Z ends abnormally, The business applications Y and Z in the lower hierarchy are also abnormally terminated. At this time, since the
[0137]
Thereafter, when the business application X is restarted in the client # 1 (20) (the business start log 14 of No. 4 is registered), the business application X is already in the operating state in the client operating state table 16. 5 is written, and therefore, step S3 and step S7 in FIG. 5 are both YES, and the client operating
[0138]
However, according to the present embodiment, as shown in FIG. 1-No. 4, when the business applications X, Y, W, and Z of the client # 1 (20) are in an operating state, the business application X that is a higher hierarchy of the business applications Y and Z is abnormally terminated. When the operational state of the client # 1 (20) becomes inaccurate and the business application X is restarted in the client # 1 (20) (the business start log 14 of No. 4 is registered), step S3 The determination is YES, and in the process of step S7b, the business application X and the business applications Y and Z in the lower activation layer are detected, and the state of the business application X is set to the operating state again by the processes of steps S20 and S21. Of business applications Y and Z that are the lower layers Value representing the dynamic state is cleared.
[0139]
Therefore, even when the business application X in the upper hierarchy terminates abnormally (no business completion log), it is possible to accurately grasp the status of the business applications Y and Z in the lower hierarchy.
[0140]
(Fourth embodiment)
FIG. 22 is a block diagram showing a schematic configuration of a client / server system 1c including a client operating state grasping system according to the fourth embodiment.
[0141]
The business application X (22) to the business application W (25) of the present embodiment have an activation control hierarchical structure shown in FIG. 18 as in the third embodiment.
[0142]
In this embodiment, part of the processing of the client operating
[0143]
Since the other configuration is substantially the same as the configuration of the first embodiment, the same components are denoted by the same reference numerals and the description thereof is omitted or simplified.
[0144]
Moreover, since the process of step S1-step S14 of the client operating
[0145]
That is, the client operating
[0146]
If it is determined in step S30 that the
[0147]
On the other hand, if the
[0148]
That is, the
[0149]
For example, if the client name 16iC and the
[0150]
Next, the
[0151]
According to this embodiment, as shown in FIG. 1-No. 4, when the business applications X, Y, W, and Z of the client # 1 (20) are in an operating state, the business application X that is a higher hierarchy of the business applications Y and Z is abnormally terminated. When the operating state of the client # 1 (20) becomes inaccurate and the client # 1 (20) is started up (the
[0152]
(Fifth embodiment)
FIG. 25 is a block diagram showing a schematic configuration of a client /
[0153]
FIG. 26 is a diagram conceptually showing the data structure of one
[0154]
As shown in FIG. 26, the
[0155]
FIG. 27 is a diagram illustrating a configuration example of the client operating state table 16d according to the present embodiment.
[0156]
As shown in FIG. 27, the client operating state table 16d includes an operating
[0157]
On the other hand, the client operating
[0158]
Since the other configuration is substantially the same as the configuration of the first embodiment, the same components are denoted by the same reference numerals and the description thereof is omitted or simplified.
[0159]
That is, the client operating
[0160]
For example, if the corresponding record is the
[0161]
Next, a value (data) meaning “in operation” is written in the client state 162S by the processing in step S6.
[0162]
In addition, after the value corresponding to the
[0163]
On the other hand, when the business log is the business end log 14 (step S10 → YES), after finishing the business application clear process of step S11 to step S12, the
[0164]
For example, if the corresponding record is the
[0165]
Next, the processing of steps S13 to S14 sets the status of the corresponding client to “non-operating” only when there is no operating business application.
[0166]
On the other hand, FIG. 30 is a flowchart showing an operation based on the client operating state display function 101 of the
[0167]
In other words, the
[0168]
For example, if the target record is the first record, the
[1] It is determined whether or not the
If it has been written, proceed to [2], otherwise proceed to (4).
[2] Target
[3] It is determined whether or not the target business application name has been written. For example,
If the
[4] The difference between the work start date and the current date and time of the business application name being worked on is calculated.
For example, for the
[5] When the difference exceeds a certain value, warning data indicating the work leaving state is assigned to the target business application name.
If the difference does not exceed a certain value, proceed to [6].
[6] It is determined whether all business application names being processed have been processed.
[0169]
As a result of this determination, if processing has been performed, the process proceeds to step S53. If there is an unprocessed business application, the process returns to [3] for the next business application name and the above-described processing is repeated.
[0170]
On the other hand, when the processing is completed for all business application names that are being worked on, the
[0171]
If all records have been processed as a result of the determination in step S53 (step S53 → YES), the process proceeds to step S55. If there is an unprocessed record, the process proceeds to step S54.
[0172]
Subsequently, the
[0173]
In this way, with respect to all the applications of all the records, it is determined whether or not the difference between the work start date 161N1T and the current date exceeds a certain value, and the corresponding business application when the difference exceeds the certain value. When the warning data providing process is completed, the determination in step S53 is YES, and the
[0174]
That is, according to this embodiment, when the difference between the work start date and time and the current date and time of each business application of the client exceeds a certain value, in other words, when the work leaving state exceeds a certain time, the business application Can be displayed on the screen, the data indicating the client operating state in the state where the warning data is attached, and based on the display data, from the
[0175]
The processing based on the client operating state display function 101 of the
[0176]
(Sixth embodiment)
FIG. 31 is a block diagram showing a schematic configuration of a client / server system 1e including a client operating state grasping system according to the sixth embodiment of the present invention.
[0177]
In the present embodiment, the business log registration process 12a of the
[0178]
Since the other configuration is substantially the same as the configuration of the first embodiment, the same components are denoted by the same reference numerals and the description thereof is omitted or simplified.
[0179]
In the following description, the client operating state detection process 15e is described as a method of sequentially updating the records of the client operating state table 16, but the present invention is not limited to this method. Can also be realized easily.
[0180]
That is, [1] a method of updating the entire table in a lump after creation in another storage area of the memory, and [2] a method of detecting a change for each client and updating only the record of the client that has changed. Etc. are feasible.
[0181]
Hereinafter, the overall processing of this embodiment will be described with a focus on the client operating state detection process 15e of the
[0182]
In the process in which at least one of the clients # 1 (20) to # 3 (40) executes at least one of the plurality of business application processes X (22) to W (25), the corresponding client The
[0183]
At this time, the communication process 11 of the
[0184]
As a result, the
[0185]
At this time, the client operating state detection process 15e of this embodiment reads the client
[0186]
In the following description, it is assumed that the records of the
[0187]
If the records in the
[0188]
That is, the client operating state detection process 15e extracts only the
[0189]
Next, the client operating state detection process 15e leaves only the latest business start log record for each combination of client name and business application name for the record of the work data file 18 as the processing of step S62, and others. This record is invalidated.
[0190]
Subsequently, the client operating state detection process 15e creates data of the client operating state table 16 based on the work data file 18 as a process of step S63.
[0191]
FIG. 33 is a flowchart for explaining in detail the processing in step S61 (business start log and business end log extraction processing) of the client operating state detection process 15e of this embodiment.
[0192]
The process 15e (1) reads the
[0193]
Subsequently, the process 15e determines whether or not the business log is a business start or a business end as the processing of (3) step S6103.
[0194]
For example, it is assumed that the target record of the
[0195]
At this time, as the processing of step S6103, the process 15e checks [1] the
[0196]
The process 15e writes the target record to the work data file 18 as the process of step S6104 (writes data sequentially from the first record).
[0197]
FIG. 34 is a diagram showing a configuration example of the work data file 18.
[0198]
For example, it is assumed that the target record of the
[0199]
At this time, the process 15e writes [1] the value of the
[0200]
Next, the process 15e sets the target record of the
[0201]
Subsequently, the process 15e determines whether or not all records of the business log file have been processed as the processing of (6) S6106.
[0202]
As a result of this determination, if all records in the
[0203]
As a result, in the work data file 18, only the
[0204]
FIG. 35 is a flowchart for explaining in detail the processing in step S62 of the client operating state detection process 15e of this embodiment (the log record extraction processing for starting the business at the latest date and time).
[0205]
In the following description, a method for making a data invalid state without physically removing an unnecessary record has been described. However, physical removal can be easily realized.
[0206]
That is, the process 15e sets (1) the last record of the work data file 18, that is, the Lth record 18L as the target record as the process of step S6201.
[0207]
Next, the process 15e determines whether or not the target record is a business start or a business end as a process of (2) step S6202.
[0208]
For example, if the target record is the Lth record, the process 15e checks [1] whether the message number 18LB is a business start or business end, and [2] if the business start or business end (3) In step S6203. If not, go to (Invalid) (7).
[0209]
The process 15e (3) determines whether the target record is a business start as the process of step S6203.
[0210]
For example, if the target record is the Lth record, the process 15e proceeds to step S6204 if [1] message number 18LB is the business start (4), and if not (business end) (5) ) The process proceeds to step S6205.
[0211]
The process 15e invalidates all the records whose client name and business application name match the value of the target record among all the records younger than the position of the target record as the process of (4) step S6204.
[0212]
For example, if the target record is the Lth record 18L, the records younger than the position of the target record are the L-1 record, the L-2 record, ..., the third record, the second record, the first record. It becomes.
[0213]
That is, the process 15e is [1] from the
[0214]
Next, the process 15e (5) invalidates all the records whose client name and business application name match the value of the target record among all the records younger than the position of the target record as the process of step S6205.
[0215]
For example, if the target record is the Lth record 18L, the records that are younger than the position of the target record are the L-1 record, the L-2 record, ..., the third record, the second record, and the first record. Become.
[0216]
That is, the process 15e is [1] from the
[0217]
Subsequently, the process 15e (6) invalidates the target record as the process of step S6206.
[0218]
For example, if the target record is the Lth record 18L, [1] the record of the Lth record 18L is cleared (invalidated).
[0219]
Next, the process 15e sets the target record of the work data file 18 as the next record as the processing of (7) step S6207.
[0220]
That is, for example, if the current target record is the Lth record 18L, the next record is the previous L-1 record 18L.-1It becomes.
[0221]
Then, the process 15e determines whether or not all the records in the work data file 18 have been processed in (8) step S6208, and [1] ends the process when the first record is processed as the target record. If an unprocessed record exists in the work data file 18, (2) the process proceeds to step S6202, and the above-described process is repeated.
[0222]
As a result, only the work start log 14 of the latest date and time is left in the work data file 18.
[0223]
FIG. 36 is a flowchart for explaining in detail the processing in step S63 (processing for creating data of the client operating state table 16 based on the working data file 18) of the client operating state detecting process 15e of the present embodiment. is there.
[0224]
That is, the process 15e initializes (clears) the client operating state table 16 as the process of step S6301.
[0225]
That is, all data items in the
[0226]
Next, the process 15e (2) targets the first record of the work data file 18, that is, the
[0227]
It should be noted that the record should be only the business start log record by the processing of step S62 (steps S6201 to S6208), and is invalid if it is not the business start log.
[0228]
Subsequently, the process 15e (4) determines whether the client name of the target record has already been written in the client operation table 16 as the process similar to step S3 of the first embodiment as the process of step S6304. .
[0229]
That is, the process 15e sequentially checks [1] the
[0230]
Next, the process 15e proceeds to step S6307 when there is a
[0231]
The process 15e corresponds to step S4 to step S5 in the first embodiment. (5) As a process in step S6305, the work data file includes the client name in the empty record of the client operating state table 16 and the name of the working application. Write the value of the target record.
[0232]
For example, it is assumed that the target record of the work data file is the
[0233]
At this time, the process 15e writes [1] the value of the
[0234]
Next, the process 15e sets the status of the client in the corresponding record in the client operating status table 16 to “Active” as (6) Step S6306 corresponding to Step S6 of the first embodiment.
[0235]
For example, if the
[0236]
On the other hand, the process 15e corresponds to step S7 to step S8 of the first embodiment (7) As a process of step S6307, the work data file name is added to the name of the working application in the corresponding record of the client operating state table 16. Write the value of the target record.
[0237]
For example, it is assumed that the target record in the work data file is the
[0238]
At this time, the process 15e: [1] The business application name 1 (161N1) in the first record, the business application name 2 (161N2) in work, the business application name 3 (161N3) in work,. In order, search for cleared (unused) items.
[0239]
For example, if it is the business application name 1 (161N2) being worked, [2] the value corresponding to the
[0240]
Next, the process 15e sets the target record of the work data file 18 as the next record as the processing of (8) step S6308.
[0241]
For example, if the target record of the work data file 18 is the
[0242]
Next, the process 15e determines whether or not all the records in the work data file 18 have been processed (9) in step S6309. [1] When all the records have been processed, the entire process If there is an unprocessed record in the work data file 18, (3) the process proceeds to step S6303 and the above-described process is repeated.
[0243]
Also in the present embodiment, as in the first embodiment, based on the
[0244]
In particular, according to the present embodiment, since the client operating state detection process 15e can be introduced without modifying the existing process (client business log registration process 12a), the introduction is very easy.
[0245]
Furthermore, according to the present embodiment, the entire
[0246]
(Seventh embodiment)
FIG. 37 is a block diagram showing a schematic configuration of a client / server system 1f including a client operating state grasping system according to the seventh embodiment of the present invention.
[0247]
In the client / server system 1f of this embodiment, the client operating
[0248]
FIG. 38 is a diagram showing a configuration example of the work data file 18a of the present embodiment. As shown in FIG. 18a, the
[0249]
That is, according to the present embodiment, as shown in FIG. 39, the
[0250]
The present embodiment is characterized by the processing in step S62a.
[0251]
That is, as shown in FIG. 40, the
[0252]
For example, if the target record is the Lth record 18L, the records that are younger than the position of the target record are the L-1 record, the L-2 record, ..., the third record, the second record, and the first record. Become.
[0253]
That is, the
[0254]
<1> client name 18iC = client name 18LC, <2> business application name 18iN = business application name 18LN, <3> business application name branch number 18i = multitask business application name branch number 18LK All records i (18i) in which all of the above hold are cleared (invalidated).
[0255]
Next, the
[0256]
On the other hand, when the message number 18LB is the end of the process, the
[0257]
For example, if the target record is the Lth record 18L, the records that are younger than the position of the target record are the L-1 record, the L-2 record, ..., the third record, the second record, and the first record. Become.
[0258]
That is, the
[0259]
<1> Client name 18iC = Client name 18LC, <2> Business application name 18iN = Business application name 18LN, <3> Business application name branch number 18iK in multitasking = Business application name branch number 18LK in multitasking All records i (18i) in which all of the above hold are cleared (invalidated).
[0260]
The following is the same as the processing of FIG.
[0261]
Then, as shown in FIG. 41, the
[0262]
For example, it is assumed that the target record of the work data file is the
[0263]
At this time, the
[0264]
On the other hand, the
[0265]
For example, it is assumed that the target record in the work data file is the
[0266]
At this time, the
[0267]
For example, if it is the
[0268]
The following is the same as steps S6308 to S6309 described above.
[0269]
That is, according to the present embodiment, as in the second embodiment, it is possible to determine the operational state of the business application for each branch number of the business application, and reliably avoid erroneous detection of the client operational state during multitasking. can do.
[0270]
(Eighth embodiment)
FIG. 42 is a block diagram showing a schematic configuration of a client /
[0271]
In the client /
[0272]
In other words, according to the present embodiment, the
[0273]
The present embodiment is characterized by the process in step S62b.
[0274]
That is, as shown in FIG. 40, as the details of the process in step S62a, the
[0275]
Also in the present embodiment, as in the third embodiment, as shown in FIG. 17, when the business application name is application X (22), the activation lower hierarchy is application Y (23), application Z (24), Application U (26) and application V (27).
[0276]
When the business application name is application Z (24), application W (25), application U (26), or application V (27), there is no activation lower hierarchy.
[0277]
That is, the
[0278]
That is, the
[0279]
For example, if the target record is the
[0280]
When the business application name 171N is written, the
[0281]
For example, assuming that the target record is the
[0282]
When the upper level business application 171P is written, [4] it is checked whether the upper level business application name 171P matches the target business application name.
[0283]
For example, when the business application name 171P of the upper hierarchy matches the corresponding business application name, the business application name 171N is stored as the activation lower hierarchy of the corresponding business application name, and when it does not match, the process proceeds to [5].
[0284]
If they do not match, [15] For example, if the target record is the first record, the
[0285]
[0286]
In addition, the
[0287]
[0288]
Then, the
[0289]
The
[0290]
Note that the above-described processing is described so that processing can be performed even when the hierarchy is a hierarchy of four generations (parent, child, grandchild, great-grandchild).
[0291]
Then, the
[0292]
For example, if the target record is 18L, the
[0293]
That is, [2] If the added record is 18R, the
[0294]
Then, the
[0295]
That is, according to the present embodiment, when a business application is restarted on the client, a record with the same business application name exists at a position lower than the position of the record. (Step S6204), and then the business end data can be added to all business application names in the startup hierarchy for the invalidated business application. Even when a business application in a hierarchy ends abnormally (no business end log), it is possible to accurately grasp the status of all the business applications that are in the lower hierarchy.
[0296]
(Ninth embodiment)
FIG. 45 is a block diagram showing a schematic configuration of a client /
[0297]
In the client /
[0298]
That is, according to the present embodiment, the process 15h performs the business startup log extraction process in addition to the business start log and the business end log as the process of step S61b, and then the process of step S62c. As for the record of the work data file 18, only the job start log record of the latest date and time is left for each set of the branch number of the client name, the business application name, and the business application name, and other records are invalidated. Is doing.
[0299]
That is, the process 15h, after performing the above-described processing of step S6101 to step S6102, determines whether the business log is any one of a business start log, a business end log, and a business startup log as the processing of step S7005. To do.
[0300]
As a result of the determination, if the target record is any one of the business start log, the business end log, and the business start-up log, the process proceeds to the next step S7006, where the target record is the business start log, the business end log, and the business start log. If none of the upper logs, the process proceeds to step S6105 described above.
[0301]
In step S7006, the process 15h writes the target record, that is, any log data of the work start log, the work end log, and the work start-up log to the work data file 18 (write data sequentially from the first record).
[0302]
Thus, only the business start log, the business end log, and the business startup log are extracted and written in the work data file 18 of the present embodiment.
[0303]
At this time, after executing the processing of steps S6201 to S6203 described above as the processing of step S62c of this embodiment (the processing start log record extraction processing of the latest date and time), that is, when the target record is not the business start, the message It is determined whether or not the number 18LB is the end of business (step S7100), and if it is the end of business (step S7100 → YES), the client name / business application name among all records that are younger than the target record position. Are all invalidated if they match the value of the target record (step S7101).
[0304]
On the other hand, if the result of the determination in step S7100 is that the business has not ended (step S7100 → NO), the process 15h determines that the target record is a business startup log, and the process in step S6205 is a record younger than the position of the target record. Among all records, invalidate all records whose client name and business application name match the value of the target record.
[0305]
For example, if the target record is the Lth record 18L, the records that are younger than the position of the target record are the L-1 record, the L-2 record, ..., the third record, the second record, and the first record. Become.
[0306]
That is, the process 15h is [1] from the
[0307]
Subsequently, the process 15h invalidates the target record as the process of step S6206.
[0308]
For example, if the target record is the Lth record 18L, [1] the record of the Lth record 18L is cleared (invalidated).
[0309]
Next, the process 15h sets the target record of the work data file 18 as the next record as the process of step S6207.
[0310]
That is, for example, if the current target record is the Lth record 18L, the next record is the previous L-1 record 18L.-1It becomes.
[0311]
Then, the process 15h determines whether or not all the records of the work data file 18 have been processed as the process of step S6208. [1] When the process up to the first record is performed as the target record, the process ends. If the process record exists in the work data file 18, the process proceeds to (2) step S6202, and the above-described process is repeated.
[0312]
As a result, only the work start log 14 of the latest date and time from which the work end log and the work start-up log are removed is left in the work data file 18.
[0313]
As described above, according to the present embodiment, for example, when the business application X that is the upper layer of the business applications Y and Z terminates abnormally and the operating state of the client becomes inaccurate, the client starts up. If it is registered (the
[0314]
(Tenth embodiment)
FIG. 47 is a block diagram showing a schematic configuration of a client /
[0315]
In the client /
[0316]
FIG. 48 is a diagram illustrating a configuration example of the work data file 18b according to the present embodiment. As illustrated in FIG. 48, the
[0317]
FIG. 49 is a diagram showing a configuration example of the client operating state table 16d of the present embodiment.
[0318]
As shown in FIG. 49, the client operating state table 16i includes an operating
[0319]
Then, according to the present embodiment, as shown in FIG. 50, the process 15i performs the processing of steps S6301 to S6305 described above, and then performs the client process as the processing of step S7200 corresponding to step S40 of the fifth embodiment. The value of the target record of the
[0320]
For example, if the target record of the
[0321]
Subsequently, the status of the client in the corresponding record in the client operating status table 16 is set to “active” by the processing of step S6306.
[0322]
On the other hand, as the processing of step S6307 corresponding to step S7 to step S8 of the first embodiment, the value of the target record of the work data file is written to the name of the working application in the corresponding record of the client operating state table 16. At this time, the process 15i writes the value of the target record of the work data file 18b in the date / time information in the corresponding record of the client operating state table 16 as the process of step S7201 corresponding to step S41 of the fifth embodiment.
[0323]
For example, if the target record of the
[0324]
Thereafter, the process 15i determines whether or not the target record of the work data file 18 is set as the next record as the process of step S6308, and all records of the work data file 18b are processed as the process of step S6309. To do. When all the records have been processed, the process proceeds to step S7202, and if there is an unprocessed record in the work data file 18b, the process proceeds to step S6303 and the above-described process is repeated.
[0325]
Then, the process 15i performs the following process as the process of step S7202 as in the process of the
[0326]
[1] The
[0327]
[2] For example, assume that the
<1> The target business application name is 1 (161N1).
<2> Check whether the target business application name is written.
For example, if the target is
At this time, if it is written, the difference between the work start date 161N1T of the current
<3> If the difference is larger than a certain value, the presence / absence of work leaving detection corresponding to the target business application name is set to “detected”.
For example, if the target is the
<4> Check whether all business application names in the record have been processed.
At this time, if all the business application names in the record have been processed, the process proceeds to <5>. On the other hand, if the unprocessed business application name is AR, <2 for the next business application name. Go to>.
For example, if the target is
<5> Check whether all records in the client operating state table 16i have been processed.
At this time, if there is an unprocessed record, the process 15i sets the target record to the next record (for example, if the target is the first record, the next record is the second raid 162) and goes to <2>. Then, the processes <2> to <5> are performed again.
<6> On the other hand, if there is no unprocessed record, the process 15i executes the client operation state table 16i, that is, the client in which the work application detection presence data is added to the business application determined to be in the idle state. The operating state table 16i is displayed on the screen as client operating state display data, and the processing is terminated.
[0328]
That is, according to this embodiment, when the difference between the work start date and time and the current date and time of each business application of the client exceeds a certain value, in other words, when the work leaving state exceeds a certain time, the business application Can be displayed on the screen, and the client corresponding to the
[0329]
In each of the above-described embodiments, the
[0330]
Further, in each of the above-described embodiments, the client operating state grasping system (client operating state grasping program, grasping function) is mounted on the
[0331]
【The invention's effect】
As described above, according to the client operation state grasping method and system, and the client operation state grasping program according to the present invention, among the business start log and the work end log in the business log generated in the client business application execution process, The operating status of the client can be ascertained using at least one of the above, so the operating status detection mechanism on the client side, the operating status communication mechanism with the server, and the operating status communication mechanism with the client on the server side are special. Need not be incorporated into
[0332]
Accordingly, the processing load based on the mechanism incorporated in the client itself and the server itself and the processing load on the communication line based on the operation state communication are eliminated, and the original business application processing speed of the client and the communication path between the client and the server are eliminated. The communication speed via each can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a first embodiment of the present invention.
FIG. 2 is a diagram conceptually showing a data structure of a business log for one case in the first embodiment.
FIG. 3 is a diagram showing a configuration example of a business log file according to the first embodiment.
FIG. 4 is a diagram showing a configuration example of a client operating state table in the first embodiment.
FIG. 5 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the first embodiment.
FIG. 6 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the first embodiment.
FIG. 7 is a diagram showing a detection result of a client operating state based on the processing in steps S1 to S14 in the client operating state detection process of the server.
FIG. 8 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a second embodiment of the present invention.
FIG. 9 is a diagram conceptually showing the data structure of a
FIG. 10 is a diagram showing a configuration example of a business log file according to the second embodiment.
FIG. 11 is a diagram illustrating a configuration example of a client operating state table according to the second embodiment.
FIG. 12 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the second embodiment.
FIG. 13 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the second embodiment.
FIG. 14 is a diagram showing a detection result of a client operating state based on processing of a client operating state detection process of a server according to the second embodiment.
FIG. 15 is a diagram showing a client operation state detection result when the processing of the server client operation state detection process described in the first embodiment is applied during multitasking.
FIG. 16 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a third embodiment of the present invention.
FIG. 17 is a diagram showing a business application startup hierarchy structure according to the third embodiment;
FIG. 18 is a diagram showing a configuration example of an activation lower hierarchy information table stored in a server in the third embodiment.
FIG. 19 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the third embodiment.
FIG. 20 is a diagram showing a detection result of a client operating state based on processing of a client operating state detection process of a server according to the third embodiment.
FIG. 21 is a diagram showing a client operating state detection result when a client business application ends abnormally in the processing of the client operating state detection process described in the first embodiment.
FIG. 22 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a fourth embodiment of the present invention.
FIG. 23 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the fourth embodiment.
FIG. 24 is a view showing a detection result of a client operating state based on processing of a client operating state detection process of a server according to the fourth embodiment.
FIG. 25 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a fifth embodiment of the present invention.
FIG. 26 is a diagram conceptually showing the data structure of one business log in the fifth embodiment.
FIG. 27 is a diagram showing a configuration example of a client operating state table according to the fifth embodiment.
FIG. 28 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the fifth embodiment.
FIG. 29 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the fifth embodiment.
FIG. 30 is a flowchart showing an operation based on a client operating state display function of the operation management terminal according to the fifth embodiment.
FIG. 31 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a sixth embodiment of the present invention.
FIG. 32 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the sixth embodiment.
FIG. 33 is a flowchart for explaining in detail the processing in step S61 of the client operating state detection process according to the sixth embodiment;
FIG. 34 is a diagram showing a configuration example of a work data file in the sixth embodiment.
FIG. 35 is a flowchart for explaining in detail the processing in step S62 of the client operating state detection process of the sixth embodiment;
FIG. 36 is a flowchart for explaining in detail the processing in step S63 of the client operating state detection process according to the sixth embodiment;
FIG. 37 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a seventh embodiment of the present invention.
FIG. 38 is a diagram showing a configuration example of a work data file according to the seventh embodiment.
FIG. 39 is a schematic flowchart illustrating an example of processing of a server client operating state detection process according to the seventh embodiment;
FIG. 40 is a flowchart for explaining in detail processing in step S62a of the client operating state detection process of the seventh embodiment;
FIG. 41 is a flowchart for explaining in detail processing in step S63 of the client operating state detection process of the seventh embodiment;
FIG. 42 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to an eighth embodiment of the present invention.
FIG. 43 is a flowchart for explaining in detail the processing in step S62b of the client operating state detection process according to the eighth embodiment;
FIG. 44 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a ninth embodiment of the present invention.
FIG. 45 is a flowchart for explaining in detail the processing in step S61b of the client operating state detection process according to the ninth embodiment;
FIG. 46 is a flowchart for explaining in detail the processing in step S62c of the client operating state detection process according to the ninth embodiment;
FIG. 47 is a block diagram showing a schematic configuration of a client / server system including a client operating state grasping system according to a tenth embodiment of the present invention.
FIG. 48 is a diagram showing a configuration example of a work data file according to the tenth embodiment.
FIG. 49 is a diagram showing a configuration example of a client operating state table according to the tenth embodiment.
FIG. 50 is a flowchart for explaining in detail processing in step S63 of the client operating state detection process according to the tenth embodiment;
[Explanation of symbols]
1, 1a-1i client / server system
10 servers
11 Communication process with clients
12, 12a Client business log registration process
13, 13a Client business log file
14, 14a,
15, 15a, 15b, 15c, 15d, 15e, 15f, 15g, 15h, 15i Client operating state detection process
16, 16a, 16b, 16c, 16i Client operating state table
17 Client business application startup lower layer information table
18, 18a, 18b Work data file
20
21 Communication process with server
22 Business application process X
22a1 Business application process X-1
22a2 Business application process X-2
23 Business application process Y
23a1 Business application process Y-1
23a2 Business application process Y-2
24 Business application process Z
25 Business application process W
30
40
100 Operation management terminal
101 Client operating status display function
Claims (1)
前記クライアント上で実行される業務アプリケーションが業務開始、業務処理実行、業務終了などの稼動に応じて発行する業務ログデータをサーバに送信する機能を有し、前記サーバが前記業務ログデータを業務ログファイルとして蓄積するための記憶装置および各種テーブルを記憶するためのメモリを有し、
前記業務ログデータはクライアント名、業務アプリケーション名または番号、業務開始・業務処理実行・業務終了などのログ種別、登録日時などから構成され、
前記業務アプリケーションが上位下位の起動階層関係を持ち、
前記サーバ上で実行されるクライアント稼動状態把握用プログラムが、
(1)前記クライアントの業務アプリケーション業務開始ログを前記業務ログファイルから業務ログデータのログ種別により検知した時、前記クライアントが稼動状態であると判定し、前記サーバのメモリ上のクライアント稼動状態テーブルに前記業務アプリケーションが稼動中として記録し、
前記クライアントの業務アプリケーション業務終了ログを前記業務ログファイルから業務ログデータのログ種別により検知した時、前記サーバのメモリ上のクライアント稼動状態テーブルに当該業務アプリケーションが非稼動中として記録する機能を有し、
(2)前記サーバのメモリ上のクライアント稼動状態テーブルに前記クライアントに関する稼動中の業務アプリケーションが1件以上記録されている場合、前記クライアントが稼動中と判断して前記サーバのメモリ上のクライアント稼動状態テーブルに当該クライアントの状態を稼動中として設定し、
前記サーバのメモリ上のクライアント稼動状態テーブルに前記クライアントに関する稼動中の業務アプリケーションが1件も記録されていない場合、前記クライアントが非稼動中と判断して前記サーバのメモリ上のクライアント稼動状態テーブルに当該クライアントの状態を非稼動中と設定する機能を有し、
(3)前記業務アプリケーション名に対する上位階層の業務アプリケーション名を記録した前記クライアントの業務アプリケーションの起動階層テーブルを前記サーバのメモリ上に有し、
前記上位階層の業務アプリケーションの業務終了ログを前記業務ログファイルから業務ログデータのログ種別により検知した場合、
前記業務アプリケーションの起動階層テーブルを参照し、
前記業務アプリケーションの下位階層の業務アプリケーション名を取得し、前記サーバのメモリ上のクライアント稼動状態テーブルにおける当該下位階層の業務アプリケーションの状態を非稼動中に更新する機能を有し、
(4)前記サーバのメモリ上のクライアント稼動状態テーブルにおいて起動階層構造を成す複数の業務アプリケーションを稼動状態に設定している際に、再度、その上位階層の業務アプリケーションの業務開始ログを前記業務ログファイルから業務ログデータのログ種別により検知した場合、
前記業務アプリケーションの起動階層テーブルを参照し、
前記業務アプリケーションの下位階層の業務アプリケーション名を取得し、
前記サーバのメモリ上のクライアント稼動状態テーブルにおいてその上位階層の業務アプリケーションより下位階層の業務アプリケーションの稼動状態を非稼動状態に設定する機能を有し、
前記各機能を前記クライアントおよびサーバの少なくとも一方に備えてクライアント/サーバのコンピュータを実行させることを特徴とするクライアント稼動状態把握用プログラム。In a client / server system in which a client (client computer) and a server (server computer) capable of operating at least one business application are connected to each other via a communication network.
The business application executed on the client has a function of transmitting business log data issued according to the operation such as business start, business process execution, and business end to the server, and the server sends the business log data to the business log Having a storage device for storing as a file and a memory for storing various tables ;
The business log data is composed of client name, business application name or number, log type such as business start / business process execution / business end, registration date / time, etc.
The business application has an upper and lower startup hierarchy relationship,
The client operating state grasping program executed on the server is
(1) When the business application business start log of the client is detected based on the log type of the business log data from the business log file , it is determined that the client is in an operational state, and is stored in the client operational state table in the memory of the server. Record that the business application is running,
A function for recording that the business application is not operating in the client operating status table on the server memory when the business application business end log of the client is detected from the business log file according to the log type of the business log data; ,
(2) When one or more active business applications related to the client are recorded in the client operating status table in the server memory, it is determined that the client is operating and the client operating status in the server memory Set the status of the client as active in the table ,
When no active business application related to the client is recorded in the client operating state table in the server memory, it is determined that the client is not operating, and the client operating state table in the server memory It has a function to set the status of the client as inactive,
(3) A startup hierarchy table of the business application of the client in which a business application name of an upper hierarchy with respect to the business application name is recorded on the memory of the server ;
When the business end log of the upper level business application is detected from the business log file according to the log type of the business log data ,
Refer to the startup hierarchy table of the business application,
The acquired business application name in the lower hierarchy of business applications, has a function of updating the status of the operation application of the lower layer in the client operating state table in memory of the server in the non-operational,
(4) When a plurality of business applications having a startup hierarchical structure are set in the operating state in the client operating state table on the server memory, the business start log of the business application in the higher hierarchy is again displayed as the business log. When it is detected by log type of business log data from a file,
Refer to the startup hierarchy table of the business application,
Get the business application name of the lower hierarchy of the business application,
In the client operating state table on the server memory, there is a function to set the operating state of the business application of the lower hierarchy than the business application of the upper hierarchy to a non-operating state,
A client operating state grasping program characterized in that at least one of the above-described functions is provided in at least one of the client and the server, and a client / server computer is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001079374A JP3943851B2 (en) | 2001-03-19 | 2001-03-19 | Client operating status monitoring system and client operating status monitoring program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001079374A JP3943851B2 (en) | 2001-03-19 | 2001-03-19 | Client operating status monitoring system and client operating status monitoring program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002278799A JP2002278799A (en) | 2002-09-27 |
JP3943851B2 true JP3943851B2 (en) | 2007-07-11 |
Family
ID=18935837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001079374A Expired - Fee Related JP3943851B2 (en) | 2001-03-19 | 2001-03-19 | Client operating status monitoring system and client operating status monitoring program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3943851B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4492618B2 (en) | 2007-01-18 | 2010-06-30 | トヨタ自動車株式会社 | Vehicle control system |
CN112003743B (en) * | 2014-11-14 | 2023-04-18 | 北京通达无限科技有限公司 | Service data processing method and device |
-
2001
- 2001-03-19 JP JP2001079374A patent/JP3943851B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002278799A (en) | 2002-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6629267B1 (en) | Method and system for reporting a program failure | |
US6701454B1 (en) | Method and system for recovering information during a program failure | |
US8930915B2 (en) | System and method for mitigating repeated crashes of an application resulting from supplemental code | |
JP4436036B2 (en) | Information processing apparatus, trace processing method, program, and recording medium | |
US7516370B2 (en) | Method, system, computer program product, and computer system for error monitoring of partitions in the computer system using partition status indicators | |
RU2628921C1 (en) | System and method for performing anti-virus scan of file on virtual machine | |
US20080120601A1 (en) | Information processing apparatus, method and program for deciding priority of test case to be carried out in regression test background of the invention | |
US6591377B1 (en) | Method for comparing system states at different points in time | |
US6334139B1 (en) | Agent system | |
JP2006031109A (en) | Management system and management method | |
JP2014067369A (en) | Information processor, program, and information processing method | |
US20050015579A1 (en) | Handling exceptions | |
JPH08511364A (en) | Goal processing memory management method and apparatus | |
JP3943851B2 (en) | Client operating status monitoring system and client operating status monitoring program | |
US20090132472A1 (en) | Method of searching for a file with a directory identified from a file path as a start point | |
US20100085871A1 (en) | Resource leak recovery in a multi-node computer system | |
JP3109572B2 (en) | Failure recovery device, failure recovery method, and storage medium storing failure recovery program | |
US10031840B2 (en) | Method of ascertaining primary cause of memory consumption in program, and computer system and computer program for the same | |
US20100085870A1 (en) | Global detection of resource leaks in a multi-node computer system | |
JP2003345628A (en) | Method for collecting fault research material, and implementation system therefor and processing program therefor | |
JPH0594353A (en) | Database management system | |
WO2021100140A1 (en) | Network monitoring device, method, and program | |
JP4271612B2 (en) | Fault detection system and method | |
JP7004477B2 (en) | Incident Response Assistance System, Incident Response Assistance Method and Incident Response Assistance Program | |
JP2009026052A (en) | Fault monitoring system, manager device, fault monitoring method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061010 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061211 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070302 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070315 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070406 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100413 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |