JP5840968B2 - プロセス管理ミドルウェア - Google Patents

プロセス管理ミドルウェア Download PDF

Info

Publication number
JP5840968B2
JP5840968B2 JP2012025329A JP2012025329A JP5840968B2 JP 5840968 B2 JP5840968 B2 JP 5840968B2 JP 2012025329 A JP2012025329 A JP 2012025329A JP 2012025329 A JP2012025329 A JP 2012025329A JP 5840968 B2 JP5840968 B2 JP 5840968B2
Authority
JP
Japan
Prior art keywords
function unit
user application
user
management
process management
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.)
Active
Application number
JP2012025329A
Other languages
English (en)
Other versions
JP2013161437A (ja
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 Mitsubishi Electric Industrial Systems Corp
Original Assignee
Toshiba Mitsubishi Electric Industrial Systems 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 Mitsubishi Electric Industrial Systems Corp filed Critical Toshiba Mitsubishi Electric Industrial Systems Corp
Priority to JP2012025329A priority Critical patent/JP5840968B2/ja
Publication of JP2013161437A publication Critical patent/JP2013161437A/ja
Application granted granted Critical
Publication of JP5840968B2 publication Critical patent/JP5840968B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

この発明は、Windows(登録商標)システムなどのオペレーションシステム上で、複数のユーザアプリケーションにより機能構成されるシステムにおける、当該ユーザアプリケーションの起動/終了の管理、ユーザアプリケーション間の通信手段の提供、ユーザアプリケーション状態の監視、およびユーザアプリケーション出力メッセージの管理を行う、プロセス管理ミドルウェアに関するものである。
Windows(登録商標)システム上に構築されたアプリケーションシステムにおけるユーザアプリケーションの管理は、従来、登録されたユーザアプリケーションを起動/終了するのみであり、ユーザアプリケーション間通信においてもメッセージの送受信のみ行うだけである。
なお、UNIX(登録商標)システムにおけるユーザアプリケーションの管理に関する先行文献として、特許文献1が存在している。
特開2002−259141号公報
しかしながら、従来のオペレーションシステム上に構築されたアプリケーションシステムにおけるユーザアプリケーションの管理は、登録されたユーザアプリケーションを一斉起動するか一斉停止するのみであった。よって、ユーザアプリケーション間での起動/終了順序に制約が必要な場合などに、起動待ち制御や終了待ち制御ができないなどの問題点があった。
また、従来のユーザアプリケーション管理技術では、プロセス管理にて起動された常駐プロセスが何らかの要因で終了してしまった場合に、自動で当該常駐プロセスをリカバリー(再起動)させることができないなどの問題点もあった。
また、従来のユーザアプリケーション管理技術では、ユーザアプリケーション間通信において、メッセージの送信先ユーザアプリケーションが未起動の場合は、メッセージ送信失敗となり、オンラインリアルタイムシステムにおいては、システムダウン状態となり、運用継続不可になるなどの問題点もあった。
そこで、本発明は、ユーザアプリケーション間での起動/終了順序に制約が必要な場合などに起動待ち制御や終了待ち制御ができ、常駐プロセスが何らかの要因で終了してしまった場合に自動で当該常駐プロセスを再起動させることができ、オンラインリアルタイムシステムにおいては運用継続不可とならない、プロセス管理ミドルウェアを提供することを目的とする。
上記の目的を達成するために、本発明に係るプロセス管理ミドルウェアは、オペレーションシステム上に構築された複数のユーザアプリケーションの管理を行うプロセス管理ミドルウェアであって、前記ユーザアプリケーションの起動および/または終了を管理する、システム起動/終了管理機能部と、前記ユーザアプリケーションを常時監視する、常駐プロセス監視機能部と、前記ユーザアプリケーション間におけるメッセージの送受信を管理する、プロセス間通信機能部と、一方の前記ユーザアプリケーションから他方の前記ユーザアプリケーションの起動および/または終了を管理するアプリケーション起動/終了機能部とを、有し、前記メッセージの格納する通信キューメモリを、さらに備えており、前記プロセス間通信機能部は、前記一方のユーザアプリケーションから送信された所定の前記メッセージの送信先である前記他方のユーザアプリケーションが終了していても、前記所定のメッセージを、前記通信キューメモリに格納し、前記アプリケーション起動/終了機能部は、前記他方のユーザアプリケーションを起動させ、前記プロセス間通信機能部は、起動した前記他方のユーザアプリケーションに対して、前記通信キューメモリに前記所定のメッセージが格納されている旨を通知する
本発明に係るプロセス管理ミドルウェアは、オペレーションシステム上に構築された複数のユーザアプリケーションの管理を行うプロセス管理ミドルウェアであって、前記ユーザアプリケーションの起動および/または終了を管理する、システム起動/終了管理機能部と、前記ユーザアプリケーションを常時監視する、常駐プロセス監視機能部と、前記ユーザアプリケーション間におけるメッセージの送受信を管理する、プロセス間通信機能部と、一方の前記ユーザアプリケーションから他方の前記ユーザアプリケーションの起動および/または終了を管理するアプリケーション起動/終了機能部とを、有し、前記メッセージの格納する通信キューメモリを、さらに備えており、前記プロセス間通信機能部は、前記一方のユーザアプリケーションから送信された所定の前記メッセージの送信先である前記他方のユーザアプリケーションが終了していても、前記所定のメッセージを、前記通信キューメモリに格納し、前記アプリケーション起動/終了機能部は、前記他方のユーザアプリケーションを起動させ、前記プロセス間通信機能部は、起動した前記他方のユーザアプリケーションに対して、前記通信キューメモリに前記所定のメッセージが格納されている旨を通知する
したがって、本発明に係るプロセス管理ミドルウェアは、ユーザアプリケーション間での起動/終了順序に制約が必要な場合などに、起動待ち制御や終了待ち制御ができる。また、常駐プロセスが何らかの要因で終了してしまった場合に、自動で当該常駐プロセスを再起動させることができる。また、スタートアップに登録されているユーザアプリケーションの一斉起動・終了のみならず、ユーザアプリケーションから他の起動および/または終了もできる。さらに、メッセージ送信の失敗を防止でき、オンラインリアルタイムシステムにおいては、ユーザアプリケーションの不具合によりシステムダウンの状態に陥ることを防止でき、運用継続不可とならない。
本発明に係るプロセス管理ミドルウェア100の構成を示すブロック図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。 本発明に係るプロセス管理ミドルウェア100の動作を概念的に示した図である。
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
<実施の形態>
図1は、本発明の実施の形態1に係るプロセス管理ミドルウェアの概念的な構成を示す図である。以下、本実施の形態に係るプロセス管理ミドルウェア100を、図1に基づいて説明する。
図1において、プロセス管理ミドルウェア100は、オペレーションシステム(OS)上に複数のユーザアプリケーション200A,200Bで構築されたシステムにおいて、当該ユーザアプリケーション200A,200Bの管理を行う。また、図1に示すように、プロセス管理ミドルウェア100は、OSとユーザアプリケーション200A,200Bとの間に位置している。
なお、図1では、図面簡略化の観点により、ユーザアプリケーション200A,200Bは2個のみ図示しているが、実際には、OS上には複数のユーザアプリケーションが構築されている。
図1に示すように、プロセス管理ミドルウェア100は、機能ブロックとして、システム起動/終了管理機能部1、アプリケーション(APL)起動/終了機能部2、常駐プロセス監視機能部3、プロセス間通信機能部4、共有メモリサポート機能部5、排他制御サポート機能部6、およびシャットダウン機能部7を有する。
システム起動/終了管理機能部1は、プロセス管理定義ファイル20とAP管理情報定義ファイル21とに基づいて、ユーザアプリケーション200A,200Bの起動および/または停止の順序、およびユーザアプリケーション200A,200B間の起動待ち制御や終了待ち制御を行う、つまりユーザアプリケーション200A,200Bの起動および/または終了を管理する。
ここで、プロセス管理定義ファイル20には、プロセス管理ミドルウェア100が機能するために必要なデータ、つまりプロセス管理の動作条件が定義されている。具体的に、プロセス管理定義ファイル20には、データベース接続有無やデータベース接続条件、およびOSシャットダウン有無や終了時のコマンド実行や他PC(パーソナルコンピュータ)のリモートシャットダウン有無などが定義されている。
また、AP管理情報定義ファイル21には、プロセス管理ミドルウェア100が管理しているユーザアプリケーション200A,200Bの定義情報が定義されている。たとえば、AP管理情報定義ファイル21には、実行するユーザアプリケーション200A,200Bのパス、起動および/または終了のユーザアプリケーション200A,200Bの順番、当該順序における間隔時間、および常駐プロセスとなるユーザアプリケーション200A,200Bなども定義されている。また、AP管理情報定義ファイル21には、エンキュー(通信キューメモリ)のサイズも定義されている。
APL起動/終了機能部2は、システム起動/終了管理機能部1による立上後に、一方のユーザアプリケーション200A,200Bから他方のユーザアプリケーション200A,200Bの起動および/または終了を管理・サポートする。
ここで、システム起動/終了管理機能部1は、プロセス管理ミドルウェア100の初期起動時における、予めスタートアップに登録されているユーザアプリケーション200A,200Bの起動、および、プロセス管理ミドルウェア100の終了時における、予めスタートアップに登録されているユーザアプリケーション200A,200Bの終了を、管理している。他方、APL起動/終了機能部2は、プロセス管理ミドルウェア100の初期起動後における、各ユーザアプリケーション200A,200Bの起動・終了を管理している。
常駐プロセス監視機能部3は、ユーザアプリケーション200A,200Bを常時監視する。より具体的には、常駐プロセス監視機能部3は、AP管理情報定義ファイル21で常駐プロセスとして定義されているユーザアプリケーション200A,200B(以下、常駐プロセスと称する)を常時監視する。さらに、常駐プロセス監視機能部3は、終了している常駐プロセスを自動でリカバリ(再起動)させる。
プロセス間通信機能部4は、ユーザアプリケーション200A,200B間におけるメッセージの送受信を管理する。具体的に、プロセス間通信機能部4は、送信先キュー指定でメッセージ送受信を管理・サポートし、送信先のユーザアプリケーション200A,200Bが未起動でもエンキュー起動する。
共有メモリサポート機能部5は、共有メモリ定義ファイル22を用いて、ユーザアプリケーション200A,200B間のデータ共有を管理・サポートする。
ここで、共有メモリ定義ファイル22には、プロセス管理ミドルウェア100が提供する、ユーザアプリケーション200A,200B間で共有する共有メモリに関する情報が定義されている。
排他制御サポート機能部6は、排他制御定義ファイ23を用いて、ユーザアプリケーション200A,200B間でのリソース(プロセス管理ミドルウェア100が提供する共有メモリ)のロック/アンロック操作を管理・サポートする。
ここで、排他制御定義ファイル23には、ユーザアプリケーション200A,200B間で排他制御するための情報が定義されている。
シャットダウン機能部7は、プロセス管理終了時のOSシャットダウンおよび関連システムのリモートシャットダウンを管理・サポートする。
なお、図1に示すように、OS上には、メッセージ定義ファイル30が構成されている。当該メッセージ定義ファイル30には、各ユーザアプリケーション200A,200Bがメッセージログへ出力するメッセージが定義されている。
また、図1において、各ユーザアプリケーション200A,200Bは、プロセス管理ミドルウェアが提供するプロセス管理I/F DLLを使用し、送信先AP識別子と送信メッセージとを送信関数のパラメータに指定して、CALLする。これにより、送信先AP識別子の通信キューメモリに、当該送信メッセージが格納される。
次に、本実施の形態に係るプロセス管理ミドルウェア100の動作について、説明する。
まず、OS立上時のプロセス管理ミドルウェア100の動作(初期起動)について説明する。
従来は、OSのスタートアップで登録されている複数のユーザアプリケーションは、ランダムに、管理もされることなく立ち上がっていた。
本実施の形態に係るプロセス管理ミドルウェア100では、以下のようにして、スタートアップで登録されている複数のユーザアプリケーション200A,200B(換言すると、「初期起動有り」で登録されているユーザアプリケーション200A,200B)を起動させる。
OS起動後に自動的にサービス起動される。そして、サービス起動されたプロセス管理ミドルウェア100のシステム起動/終了管理機能部1は、プロセス管理定義ファイル20を取得し、当該プロセス管理ミドルウェア100の動作条件を決定する。ここで、上記の通り、プロセス管理定義ファイル20には、データベース接続有無やデータベース接続条件、およびOSシャットダウン有無や終了時のコマンド実行や他PCのリモートシャットダウン有無などが、定義されている。
次に、プロセス管理ミドルウェア100の共有メモリサポート機能部5は、共有メモリ定義ファイル22を取得し、プロセス管理ミドルウェア100の排他制御サポート機能部6は、排他制御定義ファイル23を取得する。当該各取得により、プロセス管理ミドルウェア100は、共有リソースを生成する。つまり、プロセス管理ミドルウェア100内において、各ユーザアプリケーション200A,200Bに対して共有で提供される共有メモリを生成し、当該共有メモリの排他制御を管理する。
次に、プロセス管理ミドルウェア100において、システム起動/終了管理機能部1、APL起動/終了機能部、常駐プロセス監視機能部3およびプロセス間通信管理機能部4は、AP管理情報定義ファイル21を取得する。
ここで、プロセス管理ミドルウェア100が取得したAP管理情報定義ファイル21は、プロセス管理テーブル8に展開される。
次に、プロセス間通信管理機能部4は、AP管理情報定義ファイル21に定義されているエンキューのサイズの情報等を用いて、ユーザアプリケーション200A,200B間通信で使用する通信キューメモリを、つまり各ユーザアプリケーション200A,200Bが受信に必要な分(レコードサイズ×MAXレコード数)のリソース(受信キュー)を、プロセス管理ミドルウェア100内に生成する。
次に、システム起動/終了管理機能部1は、AP管理定義情報21に定義されている、管理対象ユーザアプリケーション200A,200Bの起動/停止に必要な条件を用いて、当該条件として定義された順番で、「初期起動有り」で登録されているユーザアプリケーション200A,200Bを順次起動する。
ここで、当該順次起動において、AP管理情報定義ファイル21に定義されたアプリケーション毎の起動待ち時間(ms)の指定に従って、「初期起動有り」で登録されている各ユーザアプリケーション200A,200Bの起動タイミングを、システム起動/終了管理機能部1は調整する。
すべての共有リソース生成と初期起動ユーザアプリケーション200A,200Bの起動が完了すれば、タスクトレイにプロセス管理ミドルウェア100のアイコンが表示され、起動完了となる。なお、当該アイコンに対するマウス右クリックにより表示されるメニューにより、ツールの起動やプロセス管理の終了操作をすることができる。
スタートアップ等に登録されているユーザアプリケーション200A,200Bの初期起動後、少なくとも1以上の端末において動いている、複数の機能のユーザアプリケーション200A,200B間で、プロセス管理ミドルウェア100を介したメッセージの送受信を開始する。ユーザアプリケーション200A,200Bとプロセス管理ミドルウェア100との間のメッセージの送受信は、関数群からなるプロセス管理I/F DLL250A,250Bとプロセス管理ミドルウェア100のプロセス間通信管理機能部4等との間の、実施される。そして、当該メッセージの送受信を利用して、プロセス管理ミドルウェア100は、各ユーザアプリケーション200A,200Bの監視・管理を開始する。
図2は、ユーザアプリケーション200A,200Bの初期起動およびその後のプロセス管理ミドルウェア100の管理動作等の概念を示す図である。なお、図2に示すように、OS上には、ツールソフトウェア(プロセス管理ミドルウェア用ツール)である、プロセス状態管理ツール60およびリアルタイムメッセージ表示ツール70も構築されている。
プロセス状態管理ツール60は、ユーザからの指示を受けて、プロセス管理ミドルウェア100を制御し、各ユーザアプリケーション200A,200Bの状態(起動中または終了中)表示、ユーザアプリケーション200A,200Bの手動(ユーザからの指示による)起動/終了、およびAP管理情報定義ファイル21の一部変更を実施する。
また、リアルタイムメッセージ表示ツール70は、ユーザからの指示を受けて、プロセス管理ミドルウェア100を制御し、メッセージ管理65が出力したメッセージをリアルタイムで表示する(つまり、リアルタイムメッセージ表示ツール70により、CSVファイル67に書き込まれたログが表示される)。なお、メッセージ管理65は、CSVファイル67だけでなく、データベース(DB)68にも、ログの書き込みを行う。
次に、初期起動後のプロセス管理ミドルウェア100による、常駐プロセスの監視・管理動作について説明する。
ユーザアプリケーション200A,200Bの初期起動後、プロセス管理ミドルウェア100は、AP管理情報定義ファイル21に常駐プロセスとして定義・登録されている、ユーザアプリケーション(以下、常駐プロセス200Hと称する)を、定期的に監視する(図3の動作概念図参照)。そして、当該監視により、プロセス管理ミドルウェア100は、常時プロセス200Hが動作しているか否かを確認する。
プロセス管理ミドルウェア100の常駐プロセス監視機能部3が、常時プロセス200Hを監視するタイミングにおいて、常駐プロセス200Hが未起動の場合には、プロセス管理ミドルウェア100のAPL起動/終了機能部2は、当該未起動の常時プロセス200Hを自動でプロセスリカバリー(再起動)する。
ところが、何らかの要因で起動していた常駐プロセス200Hが終了してしまうことも、想定される(この場合には、プロセス管理ミドルウェア100は、監視している常時プロセス200Hから応答を得られない)。
そこで、プロセス管理ミドルウェア100の常駐プロセス監視機能部3が常時プロセス200Hを監視し、所定の時間以内に常駐プロセス200Hから応答がない場合(図4の動作概念図参照)には、プロセス管理ミドルウェア100のAPL起動/終了機能部2は、当該常時プロセス200Hの強制終了を実施する。その後、当該APL起動/終了機能部2は、当該常時プロセス200Hの自動でプロセスをリカバリー(再起動)させる(図4の動作概念図参照)。
次に、初期起動後のプロセス管理ミドルウェア100による、プロセス間通信の監視・管理動作について説明する。
まず、ユーザアプリケーション200Aからユーザアプリケーション200Bへメッセージを送信する場合で、各ユーザアプリケーション200A,200Bが起動している場合の動作を、図5に示す動作概念図を用いて説明する。
この場合、図5に示すように、ユーザアプリケーション200Aは、プロセス管理ミドルウェア100が提供するプロセス管理I/F DLLを使用し、送信先AP(ユーザアプリケーション200B)識別子と送信メッセージを送信関数のパラメータに指定して、CALLする。これにより、プロセス間通信管理機能部4は、ユーザアプリケーション200Aからのメッセージを受信し、送信先AP識別子の通信キューメモリ81にメッセージが格納する(キュー書込)。
ここで、通信キューメモリ81は、各ユーザアプリケーション200A,200Bごとに一つ生成されており、各通信キューメモリ81の名称・サイズは、AP管理情報定義ファイル21において定義されている。
次に、プロセス間通信管理機能部4は、メッセージの送信先であるユーザアプリケーション200Bの起動状態を確認する(たとえば、プロセス管理テーブルに展開されている情報において、ユーザアプリケーション200Aの起動の状況をチェックすることにより、当該起動状態の確認ができる)。
図5に示すように、ユーザアプリケーション200Bが起動している場合には、プロセス間通信管理機能部4は、通信キューメモリ81にユーザアプリケーション200B宛てのメッセージが格納されていることを、ユーザアプリケーション200Bのプロセス管理I/F DLLに通知する。
当該通知を受けて、ユーザアプリケーション200Bは、当該プロセス管理I/F DLLの関数をCALLして、プロセス間通信管理機能部4を介して通信キューメモリ81から、ユーザアプリケーション200Aから送信されたメッセージを取り出す(キュー読み出し)。
なお、通信キューメモリ81がキューフルになったとき、プロセス間通信管理機能部4は、エラーメッセージを送信基であるユーザアプリケーション200Aに対して送信する。
次に、ユーザアプリケーション200Bからユーザアプリケーション200Aへメッセージを送信する場合で、各ユーザアプリケーション200Bが起動しているが、ユーザアプリケーション200Aが終了している場合の動作を、図6に示す動作概念図を用いて説明する。
この場合、図6に示すように、ユーザアプリケーション200Bは、プロセス管理ミドルウェア100が提供するプロセス管理I/F DLLを使用し、送信先AP(ユーザアプリケーション200A)識別子と送信メッセージを送信関数のパラメータに指定して、CALLする。これにより、プロセス間通信管理機能部4は、ユーザアプリケーション200Bからのメッセージを受信し、送信先AP識別子の通信キューメモリ82にメッセージが格納される(キュー書込)。
ここで、ユーザアプリケーション200Aが起動していなくても、プロセス間通信機能部4は、当該メッセージの受信および通信キューメモリ82への当該キュー書込を実施する。
たとえば、プロセス管理ミドルウェア100は、プロセス管理テーブル8に展開されている情報により、ユーザアプリケーション200Aが起動していないことを認識できる。このように、ユーザアプリケーション200Aが起動していない場合には、APL起動/終了機能部2は、ユーザアプリケーション200Aを自動起動(エンキュー起動)させる。
プロセス間通信管理機能部4は、ユーザアプリケーション200Aから当該自動起動終了の通知を受けると、プロセス管理テーブル8に展開されている情報に、ユーザアプリケーション200Aの起動状態を反映させる。さらに、プロセス間通信管理機能部4は、通信キューメモリ82にユーザアプリケーション200A宛てのメッセージが格納されていることを、起動したユーザアプリケーション200Aのプロセス管理I/F DLLに通知する。
当該通知を受けて、ユーザアプリケーション200Aは、当該プロセス管理I/F DLLの関数をCALLして、プロセス間通信管理機能部4を介して通信キューメモリ82から、ユーザアプリケーション200Bから送信されたメッセージを取り出す(キュー読み出し)。
なお、図7は、プロセス間通信管理機能部4を介したユーザアプリケーション200A,200Bのメッセージの記録(ログ)動作の概略を示す図である。
ユーザアプリケーション200A,200Bがメッセージを記録する場合には、ユーザアプリケーション200A,200Bは、メッセージ定義ファイル30で定義されているメッセージ番号と付随データとをセットし、メッセージ管理DLLの関数をCALLする。
そして、ユーザアプリケーション200A,200Bは、プロセス管理ミドルウェア100が提供するプロセス管理I/F DLLを使用し、送信先AP(メッセージ管理65)識別子と送信メッセージを送信関数のパラメータに指定して、CALLする。これにより、プロセス間通信管理機能部4は、ユーザアプリケーション200A,200Bからのメッセージを受信し、送信先AP識別子の通信キューメモリ84にメッセージが格納する(キュー書込)。
次に、プロセス間通信管理機能部4は、通信キューメモリ84にメッセージ管理65宛てのメッセージが格納されていることを、メッセージ管理65のプロセス管理I/F DLLに通知する。
当該通知を受けて、メッセージ管理65は、当該プロセス管理I/F DLLの関数をCALLして、プロセス間通信管理機能部4を介して通信キューメモリ84から、ユーザアプリケーション200A,200Bから送信されたメッセージを取り出す(キュー読み出し)。
そして、メッセージ管理65は、受信したメッセージを、CSVファイル67およびデータベース68に書き込む。なお、DBメンテナンスDLLは、指定時刻にデータベース68に対するメンテナンスを実施する。具体的に、DBメンテナンスDLLは、当該メンテナンスとして、データ保持期間が超過したデータを、当該データベース68から削除する。また、CSVファイル67では、ファイルサイズとファイル数とで、メッセージの世代管理がされている。
また、図2を用いて既に説明したように、リアルタイムメッセージ表示ツール70は、ユーザからの指示に応じて、CSVファイル67に書き込まれているメッセージを、ユーザが視認できるように表示装置に表示させる(ログ表示)。
次に、プロセス管理ミドルウェア100の終了動作について説明する。
プロセス管理ミドルウェア100の終了は、次の三通りの方法により実施される。一つ目の方法は、OSのサービスに登録している、プロセス管理ミドルウェアサービスを停止する。二つ目の方法は、タスクトレイにあるプロセス管理ミドルウェアのアイコンを、マウス右クリックすることにより表示されるメニューから、プロセス管理の終了を実行する。三つ目の方法は、ユーザアプリケーションからの要求により、プロセス管理終了ツールのプロセス管理I/F用DLLのプロセス管理停止要求関数をコールする。
上記何れかの方法により、プロセス管理ミドルウェア100の終了処理が実行されると、システム起動/終了管理機能部1は、AP管理情報定義ファイル21に定義された順番の逆順(上記した初期起動の逆の順番)で、「初期起動有り」で登録されたユーザアプリケーション200A,200Bを順次停止していく。
ここで、システム起動/終了管理機能部1は、当該ユーザアプリケーション200A,200Bの順次停止の際には、AP管理情報定義ファイル21に定義された、ユーザアプリケーション毎の停止待ち時間(ms)の指定に従って、各ユーザアプリケーション200A,200Bの停止タイミングを調整する。
また、プロセス管理ミドルウェア100は、当該プロセス管理ミドルウェア100の初期起動時に生成したすべての共有リソースを解放する。さらに、プロセス管理ミドルウェア100は、初期起動プロセスの終了が完了すれば、タスクトレイのプロセス管理ミドルウェアアイコン表示を、プロセス管理未起動アイコンに変更する。
なお、プロセス管理ミドルウェア100の終了には、「システム停止」、「シャットダウン、および「再起動」の3種類の停止モードが指定できる。
ここで、「システム停止」では、プロセス管理ミドルウェア100の終了までが実施され、OSのシャットダウンは実施されない。また、「シャットダウン」では、プロセス管理ミドルウェア100の終了後、OSのシャットダウンも実施される。また、「再起動」では、プロセス管理ミドルウェア100の終了後、OSの再起動が実施される。
また、プロセス管理ミドルウェア100の起動時にプロセス管理定義ファイル20より取得した定義に基づいて、OSシャットダウンや終了時のコマンド実行や他PCのリモートシャットダウンを実行する。
なお、プロセス管理ミドルウェア100の終了動作の概念を示す図を、図8に示す。図8には、上記3通りの終了の方法(3通りの終了要求)、各ユーザアプリケーション200A,200Bを終了する様子、プロセス管理テーブル8が解放される様子、終了動作時に実行するユーザアプリケーション200Tおよび他PCのリモートシャットダウンを実行様子等が図示されている。
以上のように、本発明に係るプロセス管理ミドルウェア100は、ユーザアプリケーション200A,200Bの起動および/または終了を管理する、システム起動/終了管理機能部1を備えている。そして、システム起動/終了管理機能部1は、AP管理情報定義ファイル21から、ユーザアプリケーション200A,200Bの起動および/または終了に必要な条件情報を取得している。そして、システム起動/終了管理機能部1は、当該条件情報に従い、ユーザアプリケーション200A,200Bの起動および/または終了を制御している。
したがって、本発明に係るプロセス管理ミドルウェア100は、ユーザアプリケーション200A,200B間での起動/終了順序に制約が必要な場合などに、起動待ち制御や終了待ち制御ができる。
また、本発明に係るプロセス管理ミドルウェア100は、常駐プロセスを監視する常駐プロセス監視機能部3を備えている。そして、常駐プロセス監視機能部3は、常駐プロセスが終了しているときには、当該常駐プロセスを自動で起動させる。
したがって、本発明に係るプロセス管理ミドルウェア100は、常駐プロセスが何らかの要因で終了してしまった場合に、自動で当該常駐プロセスを再起動させることができる。
また、本発明に係るプロセス管理ミドルウェア100は、ユーザアプリケーション200A,200B間におけるメッセージの送受信を管理するプロセス間通信機能部4と、一方のユーザアプリケーション200A,200Bから他方のユーザアプリケーション200A,200Bの起動および/または終了を管理するアプリケーション起動/終了機能部2とを、備えている。そして、プロセス間通信機能部4は、所定のメッセージの送信先であるユーザアプリケーション200A,200Bが終了していても、当該所定のメッセージを、通信キューメモリに格納する。また、アプリケーション起動/終了機能部2は、当該終了しているユーザアプリケーション200A,200Bを起動させ、プロセス間通信機能部4は、起動したユーザアプリケーション200A,200Bに対して、通信キューメモリに所定のメッセージが格納されている旨を通知している。
したがって、本発明に係るプロセス管理ミドルウェア100は、スタートアップに登録されているユーザアプリケーション200A,200Bの一斉起動・終了のみならず、ユーザアプリケーション200A,200Bから他のユーザアプリケーション200A,200Bの起動および/または終了もできる。さらに、本発明に係るプロセス管理ミドルウェア100は、プロセス監視タイミングの隙間を埋めるために,プロセス間通信処理においてメッセージ送信先のユーザアプリケーション200A,200Bが未起動でもエンキュー起動(送信先ユーザアプリケーション200A,200Bを起動)して、メッセージを通知するようにした。よって、メッセージ送信の失敗を防止でき、オンラインリアルタイムシステムにおいては、ユーザアプリケーション200A,200Bの不具合によりシステムダウンの状態に陥ることを防止でき、運用継続不可とならない。
なお、OSが立上り、ログイン後に、プロセス管理ミドルウェア100の初期起動を開始しても良い。
これに対して、OSが立ち上がれば(OSサービスに登録し、OS起動後に)、ユーザのログインを行わなくても、プロセス管理ミドルウェア100の初期起動を自動的に開始してもよい。これにより、ログイン画面の裏で、「初期起動有り」で登録されているユーザアプリケーション200A,200Bを起動されることができる。
また、上記では、ユーザからの指示を受け、当該指示に応じてプロセス管理ミドルウェア100に対して所定の制御を実施するツールソフトウェアとして、リアルタイムメッセージ表示ツール70およびプロセス状態管理ツールについて説明した(図1参照)。しかし、当該ツールソフトウェアとして他に、OS上に、プロセス間通信のテストに使用する「エンキューテストツール」が構築されていても良い。「エンキューテストツール」により、ユーザからの通信テスト指示に応じて、未起動のユーザアプリケーション200A,200Bがあったとしても、当該未起動のユーザアプリケーション200A,200Bに代わって、エンキューテストツールと他の起動しているユーザアプリケーション200A,200Bとの間でのプロセス間通信テストを実施する。
このように、本発明に係るプロセス管理ミドルウェア100は、ユーザからの指示を受けたツールソフトウェアにより、当該指示に応じた所定の制御を実施している。したがって、プロセス管理ミドルウェア100の利便性の向上を図ることができる。
1 システム起動/終了管理機能部
2 APL起動/終了機能部
3 常駐プロセス管理機能部
4 プロセス間通信管理機能部
5 共有メモリサポート機能部
6 排他制御サポート機能部
7 ショットダウン機能部7
8 プロセス管理テーブル
20 プロセス管理定義ファイル
21 AP管理情報定義ファイル
22 共有メモリ定義ファイル
23 排他制御定義ファイル
30 メッセージ定義ファイル
60 プロセス状態管理ツール
70 リアルタイムメッセージ表示ツール
81,82,84 通信キューメモリ
100 プロセス管理ミドルウェア
200A,200B ユーザアプリケーション
200H 常駐プロセス

Claims (5)

  1. オペレーションシステム上に構築された複数のユーザアプリケーションの管理を行うプロセス管理ミドルウェアであって、
    前記ユーザアプリケーションの起動および/または終了を管理する、システム起動/終了管理機能部と、
    前記ユーザアプリケーションを常時監視する、常駐プロセス監視機能部と、
    前記ユーザアプリケーション間におけるメッセージの送受信を管理する、プロセス間通信機能部と、
    一方の前記ユーザアプリケーションから他方の前記ユーザアプリケーションの起動および/または終了を管理するアプリケーション起動/終了機能部とを、有し、
    前記メッセージの格納する通信キューメモリを、さらに備えており、
    前記プロセス間通信機能部は、
    前記一方のユーザアプリケーションから送信された所定の前記メッセージの送信先である前記他方のユーザアプリケーションが終了していても、前記所定のメッセージを、前記通信キューメモリに格納し、
    前記アプリケーション起動/終了機能部は、
    前記他方のユーザアプリケーションを起動させ、
    前記プロセス間通信機能部は、
    起動した前記他方のユーザアプリケーションに対して、前記通信キューメモリに前記所定のメッセージが格納されている旨を通知する、
    プロセス管理ミドルウェア。
  2. 前記システム起動/終了管理機能部は、
    前記ユーザアプリケーションの定義情報を定義したAP管理情報定義ファイルから、前記ユーザアプリケーションの起動および/または終了に必要な条件情報を取得し、当該条件情報に従い、前記ユーザアプリケーションの起動および/または終了を制御する、
    ことを特徴とする請求項1に記載のプロセス管理ミドルウェア。
  3. 前記常駐プロセス監視機能部は、
    常駐プロセスとして定義されている前記ユーザアプリケーションを監視しており、前記常駐プロセスが終了しているときには、当該常駐プロセスを自動で起動させる、
    ことを特徴とする請求項1に記載のプロセス管理ミドルウェア。
  4. 前記オペレーションシステムが起動されれば、ユーザログインしなくても、自動的にシステム起動が可能である、
    ことを特徴とする請求項1に記載のプロセス管理ミドルウェア
  5. ユーザからの指示を受けたツールソフトウェアにより、当該指示に応じた所定の制御を実施する、
    ことを特徴とする請求項1に記載のプロセス管理ミドルウェア
JP2012025329A 2012-02-08 2012-02-08 プロセス管理ミドルウェア Active JP5840968B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012025329A JP5840968B2 (ja) 2012-02-08 2012-02-08 プロセス管理ミドルウェア

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012025329A JP5840968B2 (ja) 2012-02-08 2012-02-08 プロセス管理ミドルウェア

Publications (2)

Publication Number Publication Date
JP2013161437A JP2013161437A (ja) 2013-08-19
JP5840968B2 true JP5840968B2 (ja) 2016-01-06

Family

ID=49173588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012025329A Active JP5840968B2 (ja) 2012-02-08 2012-02-08 プロセス管理ミドルウェア

Country Status (1)

Country Link
JP (1) JP5840968B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07111685B2 (ja) * 1993-05-24 1995-11-29 日本電気株式会社 システム稼動維持方式
JPH11249909A (ja) * 1998-02-27 1999-09-17 Nec Eng Ltd マルチタスクos上でのプロセス再起動方法
JPH11353186A (ja) * 1998-06-10 1999-12-24 Hitachi Ltd 障害自動回復方式
US20090165015A1 (en) * 2007-12-21 2009-06-25 Schlumberger Technology Corporation Managing dependencies among applications using satisfiability engine

Also Published As

Publication number Publication date
JP2013161437A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
US10871985B2 (en) Displaying media files between changes in states of an application client
CN106856489B (zh) 一种分布式存储系统的服务节点切换方法和装置
EP2712119B1 (en) Abnormality handling method, device and client
JP5976221B2 (ja) 情報バックアップ方法および装置
JP5579650B2 (ja) 監視対象プロセスを実行する装置及び方法
EP3075111B1 (en) Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US8984123B2 (en) Rejuvenation processing device, rejuvenation processing system, computer program, and data processing method
WO2021104178A1 (zh) 一种动态消息推送方法、系统和汽车诊断服务器
WO2018019242A1 (zh) 网站服务器的自恢复方法和自恢复系统
US9652307B1 (en) Event system for a distributed fabric
US7925922B2 (en) Failover method and system for a computer system having clustering configuration
US20160299749A1 (en) System and method for remote installation of software
CN111143069A (zh) 服务管理方法、装置、电子设备、存储介质
CN112559461A (zh) 文件传输方法及装置、存储介质及电子设备
US20160328461A1 (en) Idling individually specified objects during data replication
EP3499373A1 (en) Method and apparatus for processing process
CN112379989B (zh) 一种定时任务进程与队列服务进程管理系统及方法
JP4009192B2 (ja) 効率的なタイマ管理システム
JP6577901B2 (ja) 計算機システムおよびシステム状態再現方法
JP5840968B2 (ja) プロセス管理ミドルウェア
CN103761106A (zh) 流程的控制方法及流程引擎
TW201828087A (zh) 分布式儲存系統的服務節點切換方法及裝置
US20220276901A1 (en) Batch processing management
JP2006185229A (ja) オンライン同期処理方法及び装置
JP2010009555A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150729

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: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151112

R150 Certificate of patent or registration of utility model

Ref document number: 5840968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250