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 PDF

Info

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
Application number
JP2001079374A
Other languages
Japanese (ja)
Other versions
JP2002278799A (en
Inventor
由紀雄 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001079374A priority Critical patent/JP3943851B2/en
Publication of JP2002278799A publication Critical patent/JP2002278799A/en
Application granted granted Critical
Publication of JP3943851B2 publication Critical patent/JP3943851B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 / server system 1 including a client operating state grasping system according to the first embodiment of the present invention.
[0016]
As shown in FIG. 1, the client / server system 1 includes a client operating state grasping system according to the present embodiment as a function, and includes a server 10 for providing a service to a client described later. The server 10 is a computer including a CPU, a memory, and the like.
[0017]
  The server 10 retains in its memory a program P1 including middleware that is a basic software (platform) of a distributed computer environment for constructing a client / server system, and processes (means) described below according to this program P1. )Is executed by the client / server system computerIt is like that.
[0018]
That is, the server 10 uses the program P1 to file the communication process 11 for communication with the client via the communication network N and the business log data (hereinafter simply referred to as business log) 14 for one client. 13 to function as a client operation state detection process 15 for detecting a client operation state based on the operation log 14 and a business log registration process 12 for writing and registering in the operation log 14 and updating the client operation state table 16 as necessary. It has become.
[0019]
On the other hand, the client / server system 1 has a plurality of clients (referred to as three clients # 1, # 2, # 3 (20, 30, 40) in FIG. 1) for requesting services from the server 10. Each client # 1 (20) to # 3 (40) is a computer including a CPU, a memory, a display, an input unit, and the like.
[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 server 10 via the communication network N, the business application process X (22) based on the business application X, and the business application A business application process Y (23) based on Y, a business application process Z (24) based on the business application Z, and a business application process W (25) based on the business application W are functioned.
[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 / server system 1 can communicate with the server 10 via the communication network N, and an operation management terminal (CPU, memory, display, operation unit, etc.) for monitoring client operation management in the server 10. The operation management terminal 100 refers to the client operation status table 16 in the server 10 in accordance with an operator instruction or a predetermined cycle, and displays the client operation status on the screen. It can be displayed.
[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 server 10 one by one.
[0025]
FIG. 2 is a diagram conceptually showing the data structure of the business log 14 for one case in the present embodiment.
[0026]
As shown in FIG. 2, the business log 14 includes a client name 14C as corresponding client identification information, a corresponding business application name 14N, a message number 14B corresponding to a message content to be described later, and a message character string representing the message content. 14M.
[0027]
Hereinafter, the overall processing of this embodiment will be described with a focus on the client operating state detection process 15 of the server 10.
[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 business log 14 issued by the above process is transmitted to the server 10 via the communication network N every time it is issued (that is, one by one) by the communication process 21 of the client.
[0029]
At this time, the communication process 11 of the server 10 receives the business log 14 transmitted via the communication network N, and passes the business log 14 to the business log registration process 12 (for example, data stored via a memory). The business log registration process 12 means that the next process 12 acquires data by writing / reading (the same applies hereinafter), and the business log registration process 12 writes the passed business log 14 to the business log file 13 as a record including the registration date and time. The business log 14 is registered, and then one business log 14 is passed to the client operating state detection process 15.
[0030]
FIG. 3 is a diagram showing a configuration example of the business log file 13. As shown in FIG. 3, the business log 14 is sequentially written in the business log file 13 as a first record, a second record,. be registered).
[0031]
The client operating state detection process 15 is activated at the timing when the registration process 12 registers the business log 14 in the business log file 13, receives the business log 14 passed from the registration process 12, and executes the following operations.
[0032]
That is, the client operating state detection process 15 of the server 10 receives (reads from the memory) one business log 14 passed by the registration process 12, and receives the client name 14C, business application name 14N, message number 14B, and message character. The column 14M is acquired (step S1).
[0033]
Next, the process 15 checks the message number 14B of the business log 14 to determine whether it is a business start business log (business start log) (step S2).
[0034]
If it is determined in step S2 that the business log 14 is a business start, the process proceeds to the next step S3. Otherwise, the process proceeds to step S10.
[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 process 15 determines whether a record with the client name 14 </ b> C of the business log 14 has already been written in the client operating state table 16.
[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 state client name 161C, data 161S indicating the state of the client (active / non-operating), and a business application name 1 (161N1) during the client operation. The business application name 4 (161N4) being worked on is sequentially stored as a first record, a second record, and so on.
[0039]
That is, the process 15 sequentially checks the client name 161C of the first record 161, the client name 162C of the second record 162, the third record 163, the client name 163C,. = 1, 2,...) And the client name 14C are determined to determine whether or not there is a record 16i (step S3).
[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 business log 14 of that business application, the table 16 has already been updated). If a record exists).
[0042]
The process 15 which has proceeded to step S4 is the case where the business application is first run on the corresponding client, and the first record 161, the second record 162, the third record 163,... An unused record (empty record; client name 16iC = 0 (clear value)) is searched (step S4).
[0043]
In the present embodiment, it is assumed that the empty record is the second record 162, for example.
[0044]
At this time, the process 15 writes the value (data) instructed to the business log 14 to the client name and the name of the business application in operation in the empty record (second record 162) of the client operating state table 16.
[0045]
That is, when the empty record is the second record 162, the process 15 clears the entire area of the second record 162, writes a value corresponding to the client name 14C as the client name 162C of the second record 162, A value corresponding to the business application name 14N is written as the business application name 1 (162N1) in the middle (step S5).
[0046]
Next, the process 15 sets the client status of the corresponding record (second record 162) in the client operating status table 16 to “active”, that is, a value (data) indicating “active” for the client status 162S. ) Is written to finish the process.
[0047]
On the other hand, if the determination in step S3 is YES, that is, if there is a record 16i in which the client name 16iC matches the client name 14C (when another business application is running on the client corresponding to the business log 14), the process 15 Determines whether the business application name instructed in the business log 14 is written in the name of the business application being worked in the corresponding record 16 i of the client operating state table 16.
[0048]
That is, for example, assuming that the corresponding record 16i is the second record 162, the process 15 has the business application name 1 (162N1) in work of the second record 162, the business application name 2 (162N2) in work, .. In the order of business application name 3 (162N3),... Are searched in order, and as a result of the search, there is a record that matches the business application 14N corresponding to the business log 14. (Step S7).
[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 process 15 is instructed by the business log 14 to the business application name in the corresponding record in the client operating state table 16. Write the value.
[0052]
That is, when the corresponding record is the second record 162, the process 15 performs the business application name 1 (162N1) being worked on, the business application name 2 (162N2) being worked on, and the work being worked on the second record 162. Application name 3 (162N3),... Are checked in order to find an unused one (business application name being worked on = 0).
[0053]
At this time, for example, if the working business application name 1 (162N1) is unused, the process 15 sets a value corresponding to the working application name 14N to the working business application name 1 (162N1). Write (step S8).
[0054]
Next, the process 15 writes the value (data) meaning “operating” to the client status 162S as the client status in the corresponding record of the client operating status table 16, that is, “in operation”. finish.
[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 process 15 checks the message number 14B of the business log 14 to determine whether it is a business log (business end log) for business completion. (Step S10).
[0056]
If it is determined in step S10 that the business log 14 is not a business end (step S10 → NO), that is, if the business log 14 is neither a business start log nor a business end log, this is not effective for the client operating state detection process 15. The process ends after determining that the business log is necessary.
[0057]
On the other hand, if the business log 14 is the business end (step S10 → YES) according to the determination in step S10, the process 15 searches for a record that can be placed in the client operating state table 16 corresponding to the client name 14C of the business log 14.
[0058]
That is, the process 15 sequentially checks the client name 161C of the first record 161, the client name 162C of the second record 162, the client name 163C of the third record 163,... A record 16i that matches the client name 14C is searched (step S11).
[0059]
For example, when the client name 16 iC and the client name 14 C match in the second record 162, the process 15 is instructed by the business log 14 among the names of business applications in operation in the corresponding record of the client operating state table 16. Clear (erase) the one that matches the business application name.
[0060]
For example, when the corresponding record is the second record 162, the process 15 performs the working business application name 1 (162N1), the working business application name 2 (162N2), and the working business application name 3 (162N3). ),... Are sequentially examined to find one that matches the business application name 14N.
[0061]
For example, when the working business application name 1 (162N1) matches the business application name 14N, the process 15 deletes the value corresponding to the working business application name 1 (162N1) from the table 16 (that is, , A value “0” corresponding to clear is written) (step S12).
[0062]
Next, the process 15 determines whether or not one or more active business application names in the corresponding record of the client operating state table 16 are written (step S13).
[0063]
For example, when the corresponding record is the second record 162, the process 15 performs the working business application name 1 (162N1), the working business application name 2 (162N2), and the working business application name 3 (162N3). Are sequentially checked, and the number of business application names with business application names written (≠ 0) is calculated. If the number is one or more, the determination in step S13 is YES, ie, other Since the business application is in operation and the client corresponding to the business end log is still in operation, the processing ends.
[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 business end log 14, the process 15 sets the status of the corresponding client to “not operating”, that is, A value (data) meaning “non-operation” is written in the client status 162S, and the process is terminated.
[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 business log file 13 as the first business log 14 (No. 1), the client # 1 (20) Since the record has not yet been written in the client operating state table 16, the determination in step S2 is YES, the determination in step S3 is NO, and the processing in steps S4 to S6 is performed to obtain a predetermined record in the client operating state table 16. Are written with values (values indicating business names) indicating that the client # 1 (20) and the business application X are in operation (working) based on the business start log.
[0067]
Next, when the business start log 14 of the business application Y in the client # 1 (20) is registered in the client business log file 13 as the second business log 14 (No. 2), this time the client operating state table 16 Since the value corresponding to the client name of the client # 1 (20) is written in the predetermined record, the determination in step S2 is YES, the determination in step S3 is YES, and the business application Y is in operation. A value indicating the value (value indicating the business name) is written in a predetermined record.
[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 business end log 14 of the business application Y in the client # 1 (20) is registered in the client business log file 13 as the ninth business log 14 (No. 9), the determination in step S2 → NO, step S10 The determination becomes YES, and the value indicating that the business application Y is in operation in the predetermined record of the client operating state table 16 is cleared by the processing in steps S11 to S13.
[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 business end log 14 of the business application X in 1 (20) is registered in the client business log file 13, the determination in step S2 is NO, the determination in step S10 is YES, and the processing in steps S11 to S13 results in the client A value indicating that the business application X is in operation in a predetermined record of the operation state table 16 is cleared.
[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 business log 14 issued in the business application execution process of the client, the operating state of the client corresponding to the business log 14 (operating or not operating) Status) can be easily detected and grasped.
[0072]
(Second Embodiment)
FIG. 8 is a block diagram showing a schematic configuration of a client / server system 1a including a client operating state grasping system according to the second embodiment of the present invention.
[0073]
In the client / server system 1a shown in FIG. 8, the content of one business log 14a transmitted from the client, the business log file 13a of the server 10, the client operating status detection process 15a of the server 10, and the client operating status of the server 10 The table 16a and the client business application process X-1 (22a1), the business application process X-2 (22a2), the business application process Y-1 (23a1), and the business application process Y-2 (23a2) are each in the first embodiment. Is different. 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.
[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 data 14K representing branch numbers at the time of multitasking in addition to the client name 14C, business application name 14N, message number 14B, and message character string 14M as in the first embodiment. Is included.
[0077]
  FIG. 10 is a diagram showing a configuration example of the business log file 13a of this embodiment. As shown in FIG.First record 131, second record 132,... Are written (registered) in the business log file 13a.
[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 operating client name 161C, data 161S indicating the client status (active / non-operating), a business application name 1 (161N1) during the client operation, and ThatBranch number (161K1)-Work application name 4 (161N4) in work and itsThe branch number (161K4) is sequentially set to the first record 161, the second record 162,It is memorized as.
[0080]
On the other hand, the client operating state detection process 15a in this embodiment is started at the timing when the registration process 12 registers the business log 14a in the business log file 13a, receives the business log 14a passed from the registration process 12, and is shown below. Perform the action.
[0081]
In other words, the client operating state detection process 15a of the server 10 determines that the business application has been operated for the first time on the corresponding client after executing the processing of steps S1 to S4 (however, the business log is 14a) shown in FIG. In the unused record (for example, after searching for the second record 162), the client name in the empty record (second record 162) of the client operating state table 16a, the name of the business application being worked on, and the work in progress The value (data) indicated in the business log 14 is written in the branch number of the business application name.
[0082]
  That is, when the empty record is the second record 162, the process 15a clears the entire area of the second record 162, writes the value corresponding to the client name 14C as the client name 162C of the second record 162, The value corresponding to the business application name 14N is written as the business application name 1 (162N1) in the middle, and further, the business application name 1 (162N1) in operation is written.Branch number 162K1The branch number 14K of the business application name at the time of multitasking is written in (Step S5a).
[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 record 16i in which the client name 16iC matches the client name 14C (when another business application is running on the client corresponding to the business log 14a), the process 15a Determines whether the business application name instructed in the business log 14a and the branch number of the name of the business application being worked on are written in the corresponding record 16i of the client operating state table 16a.
[0085]
That is, for example, assuming that the corresponding record 16i is the second record 162, the process 15a is a set of the business application name 1 (162N1) in operation of the second record 162 and the branch number 162K1 of the business application name in operation. , Business application name 2 (162N2), a set of business application name branch number 162K2, a business application name 3 (162N3), a set of business application name branch number 162K3,... The business application name 14N / business application name branch number 14K corresponding to the business log 14a corresponding to the business log 14a as a result of searching for a match with the business application name 14N / multi-task business application name branch number 14K pair is found. Records that match a pair of There determines whether there is (step S7a).
[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 process 15a is instructed by the business log 14a to the business application name in the corresponding record in the client operating state table 16a. Write the value.
[0088]
That is, when the corresponding record is the second record 162, the process 15a performs the business application name 1 (162N1) being worked on, the business application name 2 (162N2) being worked on, and the work being worked on the second record 162. Application name 3 (162N3),... Are checked in order to find an unused one (business application name being worked on = 0).
[0089]
At this time, for example, if the working business application name 1 (162N1) is unused, the process 15 sets a value corresponding to the working application name 14N to the working business application name 1 (162N1). Next, the branch number 14K of the business application name at the time of multitasking is written in the branch number of the business application name 1 (162N1) being worked (step S8a).
[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 record 16i (for example, the second record) in which the client name 16iC and the client name 14C match is found, the process 15a determines the branch number of the working business application name 1 (162N1) and the working business application name. A set of 162K1, a set of business application name 2 (162N2), a branch number 162K2 of the business application name being worked on, a set of business application name 3 (162N3), a branch number 162K3 of the business application name being worked on, and so on. Check in order, business application name 14N Find the ones that match the branch number 14K set of tasks at the time of the business application name.
[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 business application name 14N and the branch number 14K of the business application name being worked on. The process 15a deletes the value corresponding to the working business application name 1 (162N1) from the table 16a (that is, writes the value “0” corresponding to clear), and then the working business application name 1 The branch number 162K1 is cleared (step S12a).
[0093]
Next, the process 15a determines whether or not one or more combinations of the name of the business application being worked on and the branch number of the name of the business application being worked on in the corresponding record of the client operating state table 16a have been written (step S13a). .
[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 process 15a sets the status of the corresponding client to “inactive”. To finish the process.
[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 business end log 14 of the business application X in 20) is registered, it is determined that the business application X is terminated, that is, in a non-operating state even though the business application X-2 is in operation. .
[0098]
However, according to the client operating state detection process 15a of this embodiment, the operating state of the business application is determined for each business application name / branch number of the business application name being worked on, that is, for each business application branch number. No. 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 14a (No. 6). When the business end log 14a of the business application X-1 in 20) is registered, only the operating business application X-1 is set to the end state, and the state of the operating business application X-2 is maintained as it is.
[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 / server system 1b including a client operating state grasping system according to the third embodiment.
[0101]
In the client / server system 1b shown in FIG. 16, in addition to the business applications X (22) to W (25) similar to those in the first embodiment, each client has a new business application U (26) and a business application. A plurality of business applications excluding the business application W in the business application X (22) to the business application V (27) have the business application X (22) as shown in FIG. The business application Y (23) and the business application Z (24) are placed in the uppermost startup hierarchy, the business application Y (23) and the business application U (26) and the business application V (27) in the lower hierarchy of the business application Y. Startup hierarchy It forms an elephant.
[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 server 10 in the client / server system 1b of this embodiment stores a client business application activation lower layer information (hereinafter abbreviated as activation lower layer information) table 17 in its memory.
[0104]
FIG. 18 is a diagram illustrating a configuration example of the activation lower hierarchy information table 17 stored in the server 10.
[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 (first record 171, second record 172,..., Sixth record 176).
[0106]
Further, the client operating state detection process 15b of the server 10 executes a process that is partially different from that of the first embodiment.
[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 state detection process 15b of the present embodiment will be described.
[0109]
In addition, since the process of step S1-step S14 of the client operating state detection process 15b is the same as the process of step S1-step S14 of above-mentioned FIG. 5, the description is abbreviate | omitted.
[0110]
In other words, the client operating state detection process 15b of this embodiment determines that the determination in step S3 is YES, that is, if there is a record 16i in which the client name 16iC and the client name 14C match (others in the client corresponding to the business log 14). In the process 15b, the name of the business application instructed in the business log 14 and the name of the business application in the starting lower layer of the process 15b is the name of the business application being worked on in the corresponding record 16i of the client operating status table 16 It is determined whether or not it has been written to.
[0111]
That is, for example, assuming that the corresponding record 16i is the second record 162, the process 15b has the business application name 1 (162N1) being worked on, the business application name 2 (162N2) being worked on, and the work being worked on the second record 162. .. In the order of business application name 3 (162N3),... Are searched in order, and as a result of the search, there is a record that matches the business application 14N corresponding to the business log 14. (Step S7b).
[0112]
If there is a matching record as a result of the determination in step S7b, the process 15b includes the business application name specified in the business log 14 and the business application name specified in the business log 14 among the business application names in operation in the corresponding record of the client operating state table 16. A process of clearing the business application name that coincides with the starting lower hierarchy is performed (step S20).
[0113]
Hereinafter, the process of step S20 of the process 15b will be described in detail.
[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 business application name 14N.
[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 business application name 14N is obtained from the startup lower hierarchy information 17.
[0121]
<1> The target record is a first record 171.
[0122]
<2> Check whether the business application name of the target record is written.
[0123]
For example, assume that the target record is the first record 171.
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 first record 171.
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 business application name 14N.
For example, the target record is the first record 171.
At this time, when the business application name 171P in the upper hierarchy matches the business application name 14N, the business application name 171N is stored as the activation lower hierarchy of the business application name 14N.
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 business application name 14N, the business application name 171P is recorded as the activation lower hierarchy of the business application 14N, and the process proceeds to <6>.
b. When the business application name 17jP in the upper hierarchy exists and does not match the business application name 14N, the kth record in which the business application name 17jP = business application name 17kN in the upper hierarchy is further searched, and the process returns to a.
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 business application name 14N = application X, the activation lower hierarchy is application Y, application Z, application U, and application V.
Further, when the business application name 14N = application Z, there is no activation lower hierarchy.
[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 work application name 14N stored in [5] above, the name of the job application being worked on is clear.
[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 business application name 14N, and only the matched business application name is cleared.
[0131]
Next, the process 15b writes the value instructed in the business log to the name of the business application being worked in the corresponding record of the client operating state table 16.
[0132]
For example, if the corresponding record is the second record 162, the process 15b reads the business application name 1 (162N1) being worked on, the business application name 2 (162N2) being worked on, and the name of the business application being worked on in the second record. 3 (162N3),... Are searched in order to find an unused one (work application name being worked on = 0). For example, it is assumed that the business application name 1 (162N1) is being worked on.
[0133]
Next, the process 15b writes a value corresponding to the business application name 14N to the business application name 1 (162N1) being worked (step S21).
[0134]
Next, the process 15b writes the value (data) meaning “in operation” to the client state 162S as the client state in the corresponding record of the client operation state table 16, that is, “in operation”. finish.
[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 business end log 14 is not registered in the business log file 13, the business applications X, Y, and Z in the client operating state table 16 are in an operating state despite being abnormally ended. The operating state of the client # 1 (20) becomes inaccurate.
[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 state detection process 15 ends the processing, so that the business applications Y and Z are in the wrong state. As a result, the server 10 is recognized as it is, and the client # 1 (20) results in the business applications Y and Z that have actually finished working remaining as working.
[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 state detection process 15c of the server 10 in the client / server system 1c shown in FIG. 22 is different from that of the first embodiment.
[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 state detection process 15c is the same as the process of step S1-step S14 of above-mentioned FIG. 5, the description is abbreviate | omitted.
[0145]
That is, the client operating state detection process 15c of the present embodiment determines that the business log 14 is not the business end (step S10 → NO), that is, the business log 14 is the business start log and the business end log according to the determination in step S10. If none of them is found, the message number 14B of the business log 14 is checked to determine whether it is a business log for business startup (business startup log) (step S30).
[0146]
If it is determined in step S30 that the business log 14 is not on business start (step S30 → NO), that is, if the business log 14 is not any of the business start log, business end log, and business start log, the client is activated. It is determined that the job log is unnecessary for the state detection process 15, and the process is terminated.
[0147]
On the other hand, if the business log 14 is started up based on the determination in step S30 (step S30 → YES), the process 15c searches for a record that can be placed in the client operating state table 16 corresponding to the client name 14C of the business log 14.
[0148]
That is, the process 15c sequentially checks the client name 161C of the first record 161, the client name 162C of the second record 162, the client name 163C of the third record 163,... The record 16i that matches the client name 14C is searched (step S31).
[0149]
For example, if the client name 16iC and the client name 14C match in the second record 162, the process 15c determines that the work application name 1 (162N1) being worked in the corresponding record in the client operating state table 16 and the work being worked on All of application name 2 (162N2), business application name 3 (162N3),... In operation are deleted from table 16 (that is, a value “0” corresponding to clear is written) (step 32).
[0150]
Next, the process 15c processes the state of the client in the corresponding record of the client operating state table 16 by writing a value (data) meaning “non-operating” into the client state 162S. Is finished (step S33).
[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 business startup log 14 of No. 6 is registered), the determination in step S10 is NO. Since the determination in step S30 is YES and all the business applications X to W are cleared in steps S31 to S32, the operation of the client # 1 (20) that has ended abnormally is confirmed via the client operation state table 16. The state can be grasped accurately.
[0152]
(Fifth embodiment)
FIG. 25 is a block diagram showing a schematic configuration of a client / server system 1d including a client operating state grasping system according to the fifth embodiment.
[0153]
FIG. 26 is a diagram conceptually showing the data structure of one business log 14b in the present embodiment.
[0154]
As shown in FIG. 26, the business log 14b is registered in the client business log file 13 in addition to the client name 14C, business application name 14N, message number 14B, and message character string 14M as in the first embodiment. Data 14T representing the date and time is included.
[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 state client name 161C, data 161T indicating client update date and time, data 161S indicating the state of the client (operating / non-operating), and that the client is working. Business application name 1 (161N1), work start date / time 161NT1 of work application name 1 being worked on, business application name 4 (161N4) being worked on, business application name 4 being worked on (161NT4),. The first record, the second record,... Are stored.
[0157]
On the other hand, the client operating state detection process 15d in the present embodiment performs processing that is partially different from the process 15 of the first embodiment.
[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 state detection process 15d of the server 10 completes the processing in steps S1 to S5 shown in FIG. 5 (however, the business log is 14b), and then the date / time information in the corresponding record of the client operating state table 16 Write the value of the target record of the work data file to
[0160]
For example, if the corresponding record is the second record 162 and a value is set for the business application name 1 (162N1) being worked on, the process 15d performs the operation start date and time 162N1T of the business application name 1 being worked on. A value corresponding to the registration date 14T is written, and then a value corresponding to the registration date 14T is written to the state update date 162T (step S40).
[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 business application name 14N is written in the business application name 1 (162N1) in operation by the processing of step S7 to step S8, the process 15d performs the process of the business application name 1 in operation. A value corresponding to the registration date 14T is written in the work start date 162N1T, and then a value corresponding to the registration date 14T is written in the state update date 162T (step S41).
[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 process 15d is in the corresponding record of the client operating state table 16. Write the value of the target record of the work data file to the date / time information.
[0164]
For example, if the corresponding record is the second record 162 and a value is set for the business application name 1 (162N1) being worked on, the process 15d performs the operation start date and time 162N1T of the business application name 1 being worked on. A value corresponding to the registration date 14T is written, and then a value corresponding to the registration date 14T is written to the state update date 162T (step S41).
[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 operation management terminal 100 in the present embodiment.
[0167]
In other words, the operation management terminal 100 reads the client operating state table 16d from the server 10, and then uses the first record 161 of the client operating state table 16d as the target record, and the business application being worked on the client name of the target record Is detected (step S52).
[0168]
For example, if the target record is the first record, the operation management terminal 100 performs the following process as the process of step S52.
[1] It is determined whether or not the client name 161C is written.
If it has been written, proceed to [2], otherwise proceed to (4).
[2] Target business application name 1 being worked on.
[3] It is determined whether or not the target business application name has been written. For example, business application name 1 161N1 is assumed.
If the business application name 1 161N is written, the process proceeds to [4]. Otherwise, the process proceeds to [6].
[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 business application name 1, the difference between the work start date 161N1T of the business application name 1 and the current date is calculated.
[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 process 15d determines whether or not processing has been performed for all the records in the client operating state table 16d (step S53).
[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 process 15d sets the target record as the next record (for example, if the target is the first record, sets the next record as the second raid 162), proceeds to the process of step S52, and repeats the process after step S52. The process is executed for the next record (step S54).
[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 operation management terminal 100 operates the client operating state table 16d, that is, the client operation in which warning data is added to the business application determined to be left unattended. The status table 16d is displayed on the screen as client operating status display data (step S55), and the processing is terminated.
[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 operation management terminal 100 to the corresponding client, Since it is possible to notify the data for warning that the work is left unattended, it is possible to avoid a business application leaving state on the client side.
[0175]
The processing based on the client operating state display function 101 of the operation management terminal 100 can also be executed on the server 10 side.
[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 server 10 registers the business log 14 by writing the business log 14 passed from the communication process 11 into the business log file 13 as a record including the registration date and time. The client operating state detection process 15e is necessary for detecting the client operating state from the business log 14 written in the business log file 13 periodically or in response to an instruction from the operator via the operation management terminal 100. Only the data is extracted and written in the work data file 18, the client operating state detection process is performed based on the data written in the working data file 18, and the client operating state table 16 is updated. Yes.
[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 server 10 in particular.
[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 business log 14 issued by the above process is transmitted to the server 10 via the communication network N every time it is issued (that is, one by one) by the communication process 21 of the client.
[0183]
At this time, the communication process 11 of the server 10 receives the business log 14 transmitted via the communication network N, passes the business log 14 to the business log registration process 12a, and the business log registration process 12a The business log 14 is registered by writing the business log 14 as a record including the registration date and time in the business log file 13.
[0184]
As a result, the business log 14 sequentially transmitted to the server 10 is sequentially registered in the business log file 13.
[0185]
At this time, the client operating state detection process 15e of this embodiment reads the client business log file 13 periodically, for example, and executes the processing shown in FIG.
[0186]
In the following description, it is assumed that the records of the business log 14 of the business log file 13 are sorted (sorted) in the order of registration date and time.
[0187]
If the records in the business log file 13 are not sorted in order of date and time, a sort process may be added.
[0188]
That is, the client operating state detection process 15e extracts only the business log 14 for business start and business end from the business log file 13 and writes it in the work data file 18 as the process of step S61.
[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 business log file 13 as the processing of step S6101, and then (2) targets the first record of the business log file 13, that is, the first business log record 131, as the processing of S6102. .
[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 business log file 13 is the business log second record 132.
[0195]
At this time, as the processing of step S6103, the process 15e checks [1] the message number 132B of the target record, checks whether the content of the business log is the business start or business end, and [2] the target record is the business start or business end. If it is the business log of (4), the process proceeds to step S6104 of (4). Otherwise, the process proceeds to step S6105 of (5).
[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 business log file 13 is the business log second record 132 and the empty record of the work data file 18 is the first record 181.
[0199]
At this time, the process 15e writes [1] the value of the client name 132C as the client name 181C, [2] writes the value of the business application name 132N as the business application name 181N, and [3] sets the message number 132B as the message number 181B. Write the value.
[0200]
Next, the process 15e sets the target record of the business log file 13 as the next record as the processing of (5) step S6105 (for example, if the target record of the business log file 13 is the second business log record, The business log third record is set as the next processing target.
[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 business log file 13 have been processed (step S6106 → YES), the process ends, and if there is an unprocessed record (step S6106 → NO), Returning to the process of step S6103 of (3), the above-described process is repeated.
[0203]
As a result, in the work data file 18, only the business log 14 for business start and business end is extracted and written.
[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 first record 181 to the (L-1) th record 18L.-1On the other hand, the records of all records i (18i) in which the client name 18iC = client name 18LC and the business application name 18iN = business application name 18LN are satisfied are cleared (invalidated), and [2] (7) step S6207. Proceed to
[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 first record 181 to the (L-1) th record 18L.-1On the other hand, the records of all records i (18i) that satisfy the client name 18iC = client name 18LC and the business application name 18iN = business application name 18LN are cleared (invalidated).
[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 first record 161, the second record 162, the third record 163,... Of the client operating state table 16 are cleared.
[0226]
Next, the process 15e (2) targets the first record of the work data file 18, that is, the first record 181 as the process of step S6302, and (3) determines whether the target record is a business start as the process of step S6303. For example, if the target record is the first record 181, if the message number 181B is set to a value that means business start (4), proceed to step S6304, otherwise (8 ) The process proceeds to step S6308.
[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 client name 161C, the client name 162C, the client name 163C,... In the client operating state table 16 and determines whether or not there is a record 16i with the client name 16iC = client name 14C. Investigate.
[0230]
Next, the process 15e proceeds to step S6307 when there is a record 16i that satisfies the condition [2] (that is, when the corresponding client is already in operation due to operation of another business application). When the client is in a non-operating state), the process proceeds to the next (5) step S6305.
[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 second record 182 and the empty record in the client operating state table is the first record 161.
[0233]
At this time, the process 15e writes [1] the value of the client name 182C as the client name 162C of the first record, and [2] the business application name as the value of the working application name 1 (162N1) in the first record. Write the value of 182N.
[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 first record 161 of the client operating state table is a corresponding record, the process 15e writes a value indicating “operating” as the client state 161S, and ends the process.
[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 second record 182 and the corresponding record in the client operating state table is the first record 161.
[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 business application name 182N is written in the business application name 1 (161N2) being worked.
[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 second record 182, the next target record is set to the third record 183.
[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 business log 14 issued in the client business application execution process, the operating state of the client corresponding to the business log 14 (in operation or non-operational) It can be easily detected and grasped.
[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 business log file 13 can be processed in a lump, so that a more efficient client operating state grasping process can be executed by adjusting the read cycle interval. .
[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 state detection process 15f and the work data file 18a of the server 10 are different from the configurations of the second embodiment and the sixth embodiment, respectively. Is substantially the same as the configuration of the second and sixth embodiments, the same components are denoted by the same reference numerals, and the description thereof is omitted or simplified.
[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 work data file 18a includes a work start log and a work end log in order of the first record, It is written (registered) as the second record,.
[0249]
That is, according to the present embodiment, as shown in FIG. 39, the process 15f executes the process of step S61 (the work start log and the work end log extraction process) described above, and then performs the work as the process of step S62a. For the record of the data file 18, only the business 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 the other records are invalidated.
[0250]
The present embodiment is characterized by the processing in step S62a.
[0251]
That is, as shown in FIG. 40, the process 15f is the second embodiment when the message number 18LB is the start of business after executing the above-described steps S6201 to S6203 as shown in FIG. As the processing of step S6204a corresponding to step S12a, the combination of the branch number of the client name / business application name / business application name matches the value of the target record among all the records younger than the position of the target record Disable all.
[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 process 15f is [1] from the first record 181 to the (L-1) th record 18L.-1The following processing is performed.
[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 process 15f proceeds to [2] (7) Step S6207.
[0256]
On the other hand, when the message number 18LB is the end of the process, the process 15f performs the process of step S6205a corresponding to step S12a of the second embodiment, among all the records younger than the position of the target record, the client name / Invalidates all business application names and business application name branch number pairs that match the value of the target record.
[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 process 15f is [1] from the first record 181 to the (L-1) th record 18L.-1The following processing is performed.
[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 process 15f executes the processing of steps S6301 to S6304 described above, and then corresponds to step S5a of the second embodiment (5) as the processing of step S6305a, Writes the value of the target record of the work data file to the branch number of the client name, working business application name, and working business application name in the empty record.
[0262]
For example, it is assumed that the target record of the work data file is the second record 182 and the empty record in the client operating state table is the first record 161.
[0263]
At this time, the process 15f writes [1] the value of the client name 182C as the client name 162C of the first record, and [2] the business application name as the value of the working application name 1 (162N1) in the first record. The value of 182N is written, and [3] the value of the branch number of the business application name at the time of multitasking is written as the branch number 162K1 of the business application name 1 in operation of the first record.
[0264]
On the other hand, the process 15f corresponds to step S8a of the second embodiment (7) As the process of step S6307a, the process 15f works on the business application name and the branch number of the business application name in the corresponding record of the client operating state table 16a. Write the value of the target record of the data file.
[0265]
For example, it is assumed that the target record in the work data file is the second record 182 and the corresponding record in the client operating state table is the first record 161.
[0266]
At this time, the process 15f performs the following operations: [1] Business application name 1 (161N1) in work of the first record, business application name 2 (161N2) in work, business application name 3 (161N3) in work,. In order, search for cleared (unused) items.
[0267]
For example, if it is the business application name 1 161N2 that is being worked on, the value corresponding to the business application name 182N is written in [2] the business application name 1 (161N2) that is being worked on, and [3] the business application name 1 that is being worked on. The branch number 182K of the business application name at the time of multitasking is written in the branch number 161K2.
[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 / server system 1g including a client operating state grasping system according to the eighth embodiment of the present invention.
[0271]
In the client / server system 1g of the present embodiment, the client operating state detection process 15g of the server 10 is different from the configurations of the third embodiment and the sixth embodiment, and the other configurations are the third and third. Since the configuration is substantially the same as that of the sixth embodiment, the same components are denoted by the same reference numerals, and the description thereof is omitted or simplified.
[0272]
In other words, according to the present embodiment, the process 15g executes the process of step S61 (business start log, business end log extraction process) described above, and then performs the process of step S62b on the record of the work data file 18. For each set of branch number of client name / business application name / business application name, only the business start log record of the latest date and time is left, and other records are invalidated.
[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 process 15g executes the processes in steps S6201 to S6204 described above, and then determines whether the business application name of the target record has a startup lower hierarchy. Judgment is made (step S7000).
[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 process 15g first obtains the business application name of the startup lower hierarchy of the target business application name from the startup lower hierarchy information 17 as the process of step S7000.
[0278]
That is, the process 15g sets [1] the target record as the first record 171 and [2] checks whether the business application name of the target record is written.
[0279]
For example, if the target record is the first record 171, the process 15g proceeds to [3] if the business application name 171N is written, and proceeds to [6] otherwise.
[0280]
When the business application name 171N is written, the process 15g checks [3] whether the application name of the upper layer of the target record is written.
[0281]
For example, assuming that the target record is the first record 171, the process proceeds to [4] when the business application name 171P of the upper hierarchy is written, and proceeds to [6] if it is not written.
[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 process 15g searches for the jth record in which the upper level business application name 171P = business application name 17jN.
[0285]
Process 15g then performs a. If the business application name 17jP in the upper hierarchy exists and matches the target business application name, the business application name 171P is recorded as the startup lower hierarchy of the business application 14N, and the process proceeds to [6].
[0286]
In addition, the process 15g includes b. When the business application name 17jP in the upper hierarchy exists and does not match the target business application name, the kth record in which the business application name 17jP = business application name 17kN in the upper hierarchy is further searched and the process returns to a.
[0287]
Process 15g then c. If the upper level business application name 17jP is not written, the process proceeds to [6].
[0288]
Then, the process 15g judges whether or not [6] all the records of the client business application activation lower hierarchy information have been processed, and if all the records have been processed, the process 15g proceeds to [7], and there is an unprocessed record. Then, the process proceeds to [2] with the target record as the next record.
[0289]
The process 15g proceeds to the process of step S7001 of (8) as the process of [7].
[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 process 15g (8) adds and writes the business end data of the business names of all the starting lower hierarchies of the business application at the position before the target record of the work data file 18 as the processing of S7001.
[0292]
For example, if the target record is 18L, the process 15g is [1] the target record 18L and the (L-1) th record 18L.-1During this period, records corresponding to the number of business application names stored in (7) above are inserted. In this case, there are four business applications Y, business application Z, business application U, and business application V.
[0293]
That is, [2] If the added record is 18R, the process 15g writes the value corresponding to the client name 18LC as the client name 18RC, and the business application name 18RN as the business application Y, the business application The application Z, the business application U, and the business application V are written one by one, and further, a number meaning business end is written as the message number 18RB, and then a message character string meaning business end is written as the message character string 18RM.
[0294]
Then, the process 15g shifts to the above-described processing of step S6207 to step S6208, and executes the above-described processing on all the records of the work file 18.
[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 / server system 1h including a client operating state grasping system according to the ninth embodiment of the present invention.
[0297]
In the client / server system 1h of the present embodiment, the client operating state detection process 15h of the server 10 is different from the configurations of the fourth embodiment and the sixth embodiment, and the other configurations are the third and third. Since the configuration is substantially the same as that of the sixth embodiment, the same components are denoted by the same reference numerals, and the description thereof is omitted or simplified.
[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 first record 181 to the (L-1) th record 18L.-1On the other hand, the records of all records i (18i) that satisfy the client name 18iC = client name 18LC and the business application name 18iN = business application name 18LN are cleared (invalidated).
[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 business startup log 14 is registered in the client business log file 13), the determinations in step S6203 and step S7100 are NO, and the processing in step S6205 activates the lower level for the business application corresponding to the target record. Since records corresponding to all business application names in the hierarchy can be invalidated, as in the fourth embodiment, the operating status of the abnormally terminated client is accurately grasped via the client operating status table 16. be able to.
[0314]
(Tenth embodiment)
FIG. 47 is a block diagram showing a schematic configuration of a client / server system 1i including a client operating state grasping system according to the tenth embodiment of the present invention.
[0315]
In the client / server system 1i of this embodiment, the client operating state detection process 15i and the work data file 18b of the server 10 are different from the configurations of the fifth embodiment and the sixth embodiment, respectively. Is substantially the same as the configuration of the fifth and sixth embodiments, the same components are denoted by the same reference numerals, and the description thereof is omitted or simplified.
[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 work data file 18b includes a work start log including a registration date and time for the data file, and a work The end log is sequentially written (registered) as a first record, a second record,.
[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 state client name 161C, data 161T indicating client update date and time, data 161S indicating the state of the client (operating / not operating), and that the client is working. Business application name 1 (161N1), work start date and time 161NT1 of the current business application name 1, and work release detection presence / absence information of the current business application name 1 to the current business application name 4 (161N4), the work The business application name 4 (161NT4) in the middle and the work release detection presence / absence information of the business application name 1 in the middle of working are sequentially stored as a first record, a second record, and so on.
[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 work data file 18b is written in the date / time information in the corresponding record of the operating state table 16.
[0320]
For example, if the target record of the work data file 18b is the second record 182, and the corresponding record of the client operating state table 16 is the first record 161, the process 15i [1] is working on the first record. The value of the registration date 182T is written to the work start date 162N1T of the business application name 1, and then [2] the value of the registration date 182T is written to the status update date 162T of the first record.
[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 work data file 18b is the second record 182, and the corresponding record of the client operating state table 16 is the first record 161, the process 15i [1] is working on the first record. The value of the registration date 182T is written to the work start date 162N1T of the business application name 1, and then [2] the value of the registration date 182T is written to the status update date 162T of the first record.
[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 operation management terminal 100 of FIG.
[0326]
[1] The first record 161 of the client operating state table 16i is the target record.
[0327]
[2] For example, assume that the first record 161 is a target record.
<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 business application name 1, it is checked whether business application name 1 (161N1) in work is written.
At this time, if it is written, the difference between the work start date 161N1T of the current business application name 1 and the current time is obtained, and the process proceeds to <3>. If it is not written, the process proceeds to <4>. move on.
<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 business application name 1 that is being worked on, the absence of work detection 161N1W of the business application name 1 that is being worked is set to be detected.
<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 business application name 1, the next target is business application name 2.
<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 server 10 based on the display data can be displayed on the screen. On the other hand, it is possible to notify the data for warning that the work is left unattended, and the business application leave state on the client side can be avoided.
[0329]
In each of the above-described embodiments, the server 10 is a single server. However, the present invention is not limited to this, and can be applied to a plurality of servers.
[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 server 10 side, but the present invention is not limited to this, and the client side is not limited to this. It can also be installed.
[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 work log 14 for one case in the second embodiment.
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, 14b 1 business log
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 Client # 1
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 Client # 2
40 Client # 3
100 Operation management terminal
101 Client operating status display function

Claims (1)

少なくとも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.
JP2001079374A 2001-03-19 2001-03-19 Client operating status monitoring system and client operating status monitoring program Expired - Fee Related JP3943851B2 (en)

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)

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

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