(57)【特許請求の範囲】
【請求項１】
複数の被管理プロセスと、
前記複数の被管理プロセスを管理する管理プロセスと、
記憶部と、を備え、
前記複数の被管理プロセスのそれぞれは、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存し、
前記管理プロセスは、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する
プロセス管理装置。
【請求項２】
前記記憶部は、
所定のプロセスに前記自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトを生成するための第１のクラスをさらに記憶し、
前記プロセス管理装置は、
前記管理プロセスにおける第１の単位オブジェクトと、前記複数の被管理プロセスのそれぞれにおける第２の単位オブジェクトとを、前記第１のクラスを用いて生成するオブジェクト生成手段をさらに備える
請求項１に記載のプロセス管理装置。
【請求項３】
前記第１のクラスは、前記単位オブジェクトに関する注釈情報を含み、
前記プロセス管理装置は、
前記注釈情報を解析して注釈情報オブジェクトを生成する注釈情報解析手段をさらに備え、
前記注釈情報解析手段は、
前記注釈情報を解析して前記第１及び前記第２の単位オブジェクトに共通する注釈情報オブジェクトを生成し、
前記オブジェクト生成手段は、
当該注釈情報オブジェクトをさらに用いて前記第１及び前記第２の単位オブジェクトを生成する
請求項２に記載のプロセス管理装置。
【請求項４】
前記記憶部は、
所定のプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出す処理を実装した単位オブジェクトを生成するための第２のクラスをさらに記憶し、
前記オブジェクト生成手段は、
前記注釈情報オブジェクトと前記第２のクラスを用いて前記読み出す処理を含む第３の単位オブジェクトを生成する
請求項３に記載のプロセス管理装置。
【請求項５】
前記オブジェクト生成手段は、
前記生成した第１の単位オブジェクトを前記管理プロセスに登録し、
前記管理プロセスは、
前記第１の単位オブジェクトの登録後に、前記複数の被管理プロセスのそれぞれを起動し、
前記オブジェクト生成手段は、
前記複数の被管理プロセスのそれぞれにおける前記第２の単位オブジェクトを生成し、各被管理プロセスに当該第２の単位オブジェクトを登録し、
前記複数の被管理プロセスのそれぞれは、
前記第２の単位オブジェクトにより、所定間隔で自身のプロセスの前記動作情報を取得し、
前記オブジェクト生成手段は、
前記生成した第３の単位オブジェクトを前記管理プロセスにさらに登録し、
前記管理プロセスは、
前記第１の単位オブジェクトにより、所定間隔で自身のプロセスの前記動作情報を取得し、
前記第３の単位オブジェクトにより、前記読み出す処理を行う、
請求項４に記載のプロセス管理装置。
【請求項６】
前記記憶部は、
所定のプロセスに前記自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存する動作情報保存処理を実装した第３のクラスをさらに記憶し、
前記オブジェクト生成手段は、
前記管理プロセス及び前記複数の被管理プロセスのそれぞれについて、前記動作情報保存処理を実行するオブジェクトを前記第３のクラスを用いて生成し、
前記管理プロセス及び前記複数の被管理プロセスのそれぞれは、
前記生成したオブジェクトにより、前記動作情報保存処理を実行する
請求項２乃至５のいずれか１項に記載のプロセス管理装置。
【請求項７】
前記複数の被管理プロセスのそれぞれは、
自身のプロセスの前記識別情報を前記管理プロセスに通知し、
前記管理プロセスは、
前記通知された各識別情報を前記記憶部に登録し、
前記提示要求は、前記対象のプロセスに対応する前記識別情報が指定され、
前記管理プロセスは、
前記提示要求を受け付けた場合に、前記指定された前記識別情報を前記記憶部の中から特定し、当該特定した識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する
請求項１乃至６のいずれか１項に記載のプロセス管理装置。
【請求項８】
前記動作情報は、前記自身のプロセスのメモリの使用に関する情報、又は、当該自身のプロセスで実行される処理スレッド数を含む
請求項１乃至７のいずれか１項に記載のプロセス管理装置。
【請求項９】
複数の被管理プロセスと、前記複数の被管理プロセスを管理する管理プロセスと、を用いたプロセス管理方法であって、
前記複数の被管理プロセスのそれぞれにおいて、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存し、
前記管理プロセスにおいて、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する
プロセス管理方法。
【請求項１０】
自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトと、当該プロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存する処理を実装したオブジェクトとを、複数の被管理プロセスのそれぞれについて生成する処理と、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信するオブジェクトを生成する処理と、
をコンピュータに実行させるプロセス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス管理装置、方法及びプログラムに関し、特に、複数のプロセスを管理するためのプロセス管理装置、方法及びプログラムに関する。
【背景技術】
【０００２】
近年、アプリケーションサーバ上で動作する複数のJava（登録商標）プロセスについて、監視及び管理するための手法を共通化することが求められている。特許文献１には、単位オブジェクト（MBean）に定義された注釈情報を解析して注釈情報オブジェクト（MBeanInfo）を生成する技術が開示されている。
【０００３】
また、特許文献２には、複数の被管理プロセスのヘルスチェックに関する技術が開示されている。特に、特許文献２には、親プロセスが、親プロセスによって生成された子プロセスのヘルスチェックを実行する点が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５０３７８号公報
【特許文献２】特開２００９−１９９２１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１及び２にかかる技術を、アプリケーションサーバ上で動作する複数のプロセスの動作情報を取得する処理に適用した場合には、改善の余地がある。まず、特許文献１では、各プロセスにおける動作情報を取得する処理を共通化して実装できるが、各プロセスに個別に接続して各プロセスの動作情報を取得することになる。そのため、アプリケーションサーバ上の各プロセスの動作情報を取得するためのクライアント側の実装が煩雑になるおそれがある。
【０００６】
また、特許文献２では、親プロセスを経由して子プロセスの動作情報を取得する際に、通信ポートを介したプロセス間通信が発生する。そのため、子プロセスの数が多い場合には、使用するポート数が増大し、サーバの負荷が高くなってしまう。
【０００７】
本発明は、このような問題点を解決するためになされたものであり、アプリケーションサーバ上で動作する複数のプロセスの動作情報を取得する処理を効率的に実現するためのプロセス管理装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様にかかるプロセス管理装置は、
複数の被管理プロセスと、
前記複数の被管理プロセスを管理する管理プロセスと、
記憶部と、を備え、
前記複数の被管理プロセスのそれぞれは、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存し、
前記管理プロセスは、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する。
【０００９】
本発明の第２の態様にかかるプロセス管理方法は、
複数の被管理プロセスと、前記複数の被管理プロセスを管理する管理プロセスと、を用いたプロセス管理方法であって、
前記複数の被管理プロセスのそれぞれにおいて、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存し、
前記管理プロセスにおいて、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する。
【００１０】
本発明の第３の態様にかかるプロセス管理プログラムは、
自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトと、当該プロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存する処理を実装したオブジェクトとを、複数の被管理プロセスのそれぞれについて生成する処理と、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信するオブジェクトを生成する処理と、
をコンピュータに実行させる。
【発明の効果】
【００１１】
本発明により、アプリケーションサーバ上で動作する複数のプロセスの動作情報を取得する処理を効率的に実現するためのプロセス管理装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかるプロセス管理装置の構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるプロセス管理方法における動作情報の格納処理の流れを示すフローチャートである。
【図３】本発明の実施の形態１にかかるプロセス管理方法における動作情報の提示処理の流れを示すフローチャートである。
【図４】本発明の実施の形態２にかかる複数プロセスが動作するアプリケーションサーバの構成を示すブロック図である。
【図５】本発明の実施の形態２にかかるアプリケーションサーバの内部構成を示すブロック図である。
【図６】本発明の実施の形態２にかかるデータファイルの格納先の例を示す図である。
【図７】本発明の実施の形態２にかかるデータファイルの例を示す図である。
【図８】本発明の実施の形態２にかかるMBean登録処理の流れを示すフローチャートである。
【図９】本発明の実施の形態２にかかる子プロセスの動作情報の格納処理の流れを示すフローチャートである。
【図１０】本発明の実施の形態２にかかる管理プロセスの動作情報の取得処理の流れを示すフローチャートである。
【図１１】本発明の実施の形態２にかかる子プロセスの動作情報の取得処理の流れを示すフローチャートである。
【図１２】本発明の実施の形態２にかかる注釈でMBeanInfoを定義したクラスの例を示す図である。
【図１３】本発明の実施の形態３にかかる複数プロセスが動作するアプリケーションサーバの構成を示すブロック図である。
【図１４】本発明の実施の形態３にかかる子プロセスの動作情報の格納処理の流れを示すフローチャートである。
【図１５】本発明の実施の形態３にかかる子プロセスの動作情報の取得処理の流れを示すフローチャートである。
【図１６】本発明の実施の形態４にかかるプロセスの動作情報の提示処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００１４】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかるプロセス管理装置１０の構成を示すブロック図である。プロセス管理装置１０は、複数の被管理プロセス３１、３２・・・と、被管理プロセス３１等を管理する管理プロセス２０と、記憶部４０とを備える。尚、被管理プロセス３１等は、少なくとも２以上であればよい。また、要求元９０は、プロセス管理装置１０に対して、対象のプロセスを指定した、動作情報の提示要求を送信し、動作情報を受信して、所定の処理を行うソフトウェア等が動作する端末装置である。
【００１５】
被管理プロセス３１等は、所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報４１と当該取得した動作情報４２とを関連付けて記憶部４０に保存する。ここで、動作情報とは、例えば、自身のプロセスのメモリの使用に関する情報、又は、当該自身のプロセスで実行される処理スレッド数を含むものである。尚、動作情報はこれらに限定されない。
【００１６】
管理プロセス２０は、要求元９０から対象のプロセスが指定された、動作情報の提示要求を受け付けた場合に、複数の被管理プロセス３１等のうち、指定されたプロセスの識別情報が関連付けられた動作情報を記憶部４０から読み出し、要求元９０へ、読み出した動作情報を返信する。
【００１７】
図２は、本発明の実施の形態１にかかるプロセス管理方法における動作情報の格納処理の流れを示すフローチャートである。まず、複数の被管理プロセス３１等のそれぞれは、所定間隔で自身のプロセスの動作情報を取得する（Ｓ１１１）。そして、複数の被管理プロセス３１等のそれぞれは、自身のプロセスの識別情報４１と取得した動作情報４２とを関連付けて記憶部４０に保存する（Ｓ１１２）。尚、図２の処理は、被管理プロセスごとに独立して実行されるものである。つまり、図２の処理の実行タイミングは、被管理プロセスごとに異なっていても良い。また、所定の間隔は、被管理プロセスごとに異なっていても良い。
【００１８】
図３は、本発明の実施の形態１にかかるプロセス管理方法における動作情報の提示処理の流れを示すフローチャートである。まず、管理プロセス２０は、要求元９０から対象のプロセスが指定された、動作情報の提示要求を受け付ける（Ｓ１２１）。次に、管理プロセス２０は、被管理プロセス３１等のうち指定されたプロセスの識別情報が関連付けられた動作情報を記憶部４０から読み出す（Ｓ１２２）。そして、管理プロセス２０は、要求元９０へ読み出した動作情報を返信する（Ｓ１２３）。
【００１９】
このように、本発明の実施の形態１では、管理プロセスと被管理プロセスとは、非同期で動作情報の格納及び提示を行うことができる。すなわち、管理プロセス２０は、各被管理プロセス３１等の動作情報を取得するために、各プロセスへ接続する必要がない。そのため、動作情報を取得するためのプロセス間通信が不要となる。それ故、動作情報を取得するためにポートを使用することがない。よって、リソースを有効活用することができる。また、取得処理の負荷を軽減できる。それ故、本発明の実施の形態１により、複数のプロセスの動作情報を取得して要求元へ提示する処理を効率的に行うことができる。
【００２０】
＜発明の実施の形態２＞
本発明の実施の形態２は、上述した実施の形態１の具体的な実施例である。本実施の形態２では、アプリケーションサーバ上で動作する複数のプロセスを対象とする。まず、本実施の形態２が解決する課題を詳述する。
【００２１】
アプリケーションサーバの動作情報はJava（登録商標）プロセスのメモリ情報や、アプリケーションの実行情報、データソースなどリソース類の動作情報など多岐にわたる。このため、管理プロセス向けと子プロセス向けにそれぞれプログラムを作成していると膨大な時間がかかる。このため、できるだけ少ないプログラムで管理プロセスと子プロセス両方の動作情報を、管理プロセス経由で取得できる仕組みが求められている。
【００２２】
ここで、アプリケーションサーバでは、設定情報及び動作情報の管理にMBeanを利用することが普及している。しかし、複数のプロセスが動作する場合、各プロセスの動作情報をMBeanで管理するにあたり、次のような課題があった。
【００２３】
１）動作情報については、各プロセスから定期的に収集する必要がある。一方、設定情報については、管理プロセスが一元管理して、各プロセスがその起動時にその設定を参照することで反映可能である。そのため、動作情報と設定情報とは異なる仕組みを用いることが望ましい。
【００２４】
２）複数のJava（登録商標）プロセスの動作情報をMBean経由で閲覧するには、通常、各プロセスがポートを空けて、そのポートを利用して各プロセスにアクセスし、情報を取得する必要がある。しかし、プロセス数に比例して使用するポート数が増加するため、実運用に耐えられないおそれがある。
【００２５】
３）管理プロセスとその他の子プロセスの両方の動作情報を収集する際に、管理プロセス用と子プロセス用のそれぞれに対してMBeanのインタフェースと実装クラスを用意する必要がある。そのため、取得する動作情報が増加するに比例して、作成するコードの量が膨大になる。また、修正を加える場合に、管理プロセス用と子プロセス用といった２つの類似するクラスに修正を追加する必要があり、管理が煩雑になる。
【００２６】
そこで、本実施の形態２では、複数プロセスの動作情報を管理プロセスに接続するのみで参照することを可能とする。また、プロセス間での通信にはデータファイルを利用することとし、ポートを利用しないでも動作情報の管理を可能とする。
【００２７】
さらに、ＭＢｅａｎクラスに定義された注釈からMBeanInfoを自動生成し、MBeanの実装クラスのみを管理プロセス向けと子プロセス向けに分けて実装する。これにより、少ないコード量と通信量で複数のJava（登録商標）プロセスの動作情報を１つの管理プロセスで管理することを可能とする。
【００２８】
図５は、本発明の実施の形態２にかかるアプリケーションサーバ１００の内部構成を示すブロック図である。アプリケーションサーバ１００は、注釈情報解析手段１０１と、ＭＢｅａｎ登録手段１０２と、記憶装置１０３とを備える。記憶装置１０３は、クラスＡ１０３１と、クラスＢ１０３２と、クラスＣ１０３３とが記憶されている。
【００２９】
クラスＡ１０３１は、所定のプロセスに自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトを生成するための第１のクラスの一例である。すなわち、クラスＡ１０３１は、MBeanInfoの注釈情報による記載と、自身のプロセス内の動作情報を取得する動作情報取得処理の実装とを含むクラスである。ここで、MBeanInfoとは、MBeanの情報(属性・操作・通知)を定義したオブジェクトである。MBeanInfoはMBean生成時にインタフェースとして利用される。MBean生成のための必須の情報である。図１２は、本発明の実施の形態２にかかる注釈情報でMBeanInfoを定義したクラスＡ１０３１の例を示す図である。クラスＡ１０３１は、注釈情報７１０と、動作情報取得処理７２０とを含む。そのため、取得対象の動作情報の種類を追加する場合には、クラスＡ１０３１のメソッドを増加させることで修正可能である。
【００３０】
クラスＢ１０３２は、所定のプロセスに自身のプロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存する動作情報保存処理を実装した第３のクラスの一例である。すなわち、クラスＢ１０３２は、定期的に自身のプロセス内の動作情報を取得してデータファイルに書き込む処理を実装したクラスである。クラスＢ１０３２は、被管理プロセスに共通する処理である。そのため、取得対象の動作情報の種類が増加に影響を受けず、クラスＢ１０３２は１種類作成すれば十分である。
【００３１】
クラスＣ１０３３は、所定のプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出す処理を実装した単位オブジェクトを生成するための第２のクラスの一例である。すなわち、クラスＣ１０３３は、データファイルから他プロセスの動作情報を取得する処理を実装したクラスである。クラスＣ１０３３は、管理プロセスで実行される処理である。そのため、取得対象の動作情報の種類が増加に影響を受けず、クラスＣ１０３３は１種類作成すれば十分である。
【００３２】
ＭＢｅａｎ登録手段１０２は、管理プロセスにおける第１の単位オブジェクト（例えば、ＭＢｅａｎ２０２）と、複数の被管理プロセスのそれぞれにおける第２の単位オブジェクト（例えば、ＭＢｅａｎ３０２）とを、クラスＡ１０３１を用いて生成するオブジェクト生成手段の一例である。これにより、管理プロセスと被管理プロセスで単位オブジェクトを共通化できるため、開発効率が向上する。
【００３３】
注釈情報解析手段１０１は、注釈情報を解析して注釈情報オブジェクト（例えば、MBeanInfo）を生成する注釈情報解析手段の一例である。そして、ＭＢｅａｎ登録手段１０２は、注釈情報オブジェクトをさらに用いて第１及び第２の単位オブジェクトを生成する。これにより、MBeanInfo自体の実装を簡略化できるため、開発効率がさらに向上する。
【００３４】
さらに、ＭＢｅａｎ登録手段１０２は、注釈情報オブジェクトと第２のクラスを用いて、動作情報を記憶部から読み出す処理を含む第３の単位オブジェクト（例えば、ＭＢｅａｎ２０３）を生成する。
【００３５】
図４は、本発明の実施の形態２にかかる複数プロセスが動作するアプリケーションサーバ１００の構成を示すブロック図である。アプリケーションサーバ１００は、複数のプロセス（管理プロセス２００、子プロセス３１０、３２０、３３０）が動作しており、記憶装置４００を備える。尚、記憶装置４００は、上述した記憶装置１０３と共通のものを用いても良い。アプリケーションサーバ１００は、クライアント９００から対象のプロセスが指定された、動作情報の提示要求を受け付け、指定されたプロセスに対応する動作情報をクライアント９００へ返信する。ここで、アプリケーションサーバ１００は、汎用的なコンピュータ上で動作するミドルウェアとしての側面もあるが、以下の説明では、プロセス管理装置の一例であるサーバ装置であるものとして説明する。尚、クライアント９００は、上述した要求元９０の一例であり、例えば、端末装置である。
【００３６】
記憶装置４００は、データファイル４１０、４２０・・・と、プロセス管理マップ５００とを記憶する。データファイル４１０等は、子プロセスごとの動作情報が記述されたファイルである。プロセス管理マップ５００は、プロセスＩＤとプロセス名との関連付けを定義した情報である。
【００３７】
図６は、本発明の実施の形態２にかかるデータファイル４１０〜４３０の格納先の例を示す図である。データファイル４１０〜４３０は、例えば、図６に例示するようなディレクトリ構造で格納してもよい。また、各データファイルのファイル名は、例えば、「子プロセスのプロセスID.properties」とするとよい。これにより、ファイル名を一意にすることができる。
【００３８】
図７は、本発明の実施の形態２にかかるデータファイルの例を示す図である。データファイル内の各動作情報は、例えば、「動作情報名＝値」といった形式で表現することができる。尚、データファイルの格納先及び形式はこれらに限定されない。
【００３９】
図４に戻り説明を続ける。ここで、以下の説明では、上述した注釈情報解析手段１０１及びＭＢｅａｎ登録手段１０２が、本実施の形態２にかかる管理プロセス２００及び子プロセス３１０〜３３０のそれぞれに含まれるものとして説明する。
【００４０】
管理プロセス２００は、上述した管理プロセス２０の一例であり、親プロセスに相当する。管理プロセス２００は、ＭＢｅａｎＳｅｒｖｅｒ２０１を含む。ＭＢｅａｎＳｅｒｖｅｒ２０１には、ＭＢｅａｎ２０２及び２０３が登録されている。ＭＢｅａｎ２０２は、管理プロセス２００自身の動作情報を取得する単位オブジェクトである。ＭＢｅａｎ２０３は、子プロセスの動作情報をデータファイルから取得する単位オブジェクトである。尚、ＭＢｅａｎ２０３は、子プロセスごとに存在するものとする。管理プロセス２００は、子プロセス３１０〜３３０を起動する。また、管理プロセス２００は、各子プロセスからプロパティ名及びプロパティＩＤの登録依頼を受け付けた場合、プロセス管理マップ５００に追加して記憶装置４００に保存する。
【００４１】
子プロセス３１０は、ＭＢｅａｎＳｅｒｖｅｒ３０１と、動作情報格納クラス３０３とを含む。ＭＢｅａｎＳｅｒｖｅｒ３０１には、ＭＢｅａｎ３０２が登録されている。ＭＢｅａｎ３０２は、子プロセス３１０自身の動作情報を取得する単位オブジェクトである。動作情報格納クラス３０３は、定期的にＭＢｅａｎ３０２により取得された動作情報をデータファイル４１０に書き込む、つまり記憶装置４００に保存する。尚、子プロセス３２０及び３３０は、子プロセス３１０と同等の構成であるため、図示及び説明を省略する。
【００４２】
続いて、アプリケーションサーバ１００の動作の概要を説明する。まず、アプリケーションサーバ１００は起動すると、管理プロセス２００を起動する。そして、管理プロセス２００内の注釈情報解析手段１０１は、クラスＡ１０３１に定義された注釈情報７１０を解析してMBeanInfoを生成する。また、管理プロセス２００内のＭＢｅａｎ登録手段１０２は、クラスＡ１０３１を用いてＭＢｅａｎ２０２を生成する。具体的には、ＭＢｅａｎ登録手段１０２は、クラスＡ１０３１の動作情報取得処理７２０と、生成されたMBeanInfoとを用いてＭＢｅａｎ２０２を生成する。そして、ＭＢｅａｎ登録手段１０２は、生成したMBeanInfo及びＭＢｅａｎ２０２をＲｅｑｕｉｒｅｄＭｏｄｅｌＭＢｅａｎとして、ＭＢｅａｎＳｅｒｖｅｒ２０１に登録する。ここで、ＲｅｑｕｉｒｅｄＭｏｄｅｌＭＢｅａｎとは、JMX（Java（登録商標） Management Extenstions）仕様で用意されている標準のModelMBeanを実装したクラスである。そして、ＲｅｑｕｉｒｅｄＭｏｄｅｌＭＢｅａｎをインスタンス化して登録することでModelMBeanを登録することができる。また、JMXとは、というJava（登録商標）を使用したアプリケーションやシステムデバイスの監視・管理のための標準仕様である。
【００４３】
次に、管理プロセス２００は、他の子プロセス３１０〜３３０を起動する。（以下では代表して子プロセス３１０について説明するが、子プロセス３２０及び３３０も同様である。）子プロセス３１０の起動処理内では、自身が子プロセスであることを判別し、次の処理を実行する。
１）子プロセス３１０内の注釈情報解析手段１０１及びＭＢｅａｎ登録手段１０２は、管理プロセス２００の場合と同様に、クラスＡ１０３１を利用してＭＢｅａｎ３０２を生成する。そして、ＭＢｅａｎ登録手段１０２は、ＭＢｅａｎＳｅｒｖｅｒ３０１にＭＢｅａｎ３０２を登録する。
２）ＭＢｅａｎ登録手段１０２は、クラスＢ１０３２を利用して動作情報格納クラス３０３のオブジェクトを生成する。子プロセス３１０は、動作情報格納クラス３０３を登録後に、定期的に、ＭＢｅａｎ３０２により動作情報を取得し、記憶装置４００のデータファイル４１０への書込みを開始する。
３）子プロセス３１０は、管理プロセス２００に対して、自身の動作情報を取得するためのＭＢｅａｎ２０３の登録を要求する。このとき併せて、子プロセス３１０は、自身のプロセスＩＤを管理プロセス２００へ通知する。
【００４４】
管理プロセス２００は、上記３）で子プロセス３１０からの登録要求を受け付ける。そして、管理プロセス２００内のＭＢｅａｎ登録手段１０２は、クラスＡ１０３１及びクラスＣ１０３３を利用して、子プロセス３１０に対応するＭＢｅａｎ２０３を生成し、ＭＢｅａｎＳｅｒｖｅｒ２０１に登録する。このとき、管理プロセス２００内の注釈情報解析手段１０１は、クラスＡ１０３１の注釈情報を解析してMBeanInfoを生成し、ＭＢｅａｎ登録手段１０２は、MBeanInfoとクラスＣ１０３３を利用して、ＭＢｅａｎ２０３を生成する。そして、ＭＢｅａｎ登録手段１０２は、ＭＢｅａｎ２０３をＲｅｑｕｉｒｅｄＭｏｄｅｌＭＢｅａｎとしてＭＢｅａｎＳｅｒｖｅｒ２０１に登録する。
【００４５】
管理プロセス２００は、クライアント９００からの動作情報の提示要求を受け付け、提示要求に指定されたプロセスに対応するデータファイルを特定し、記憶装置４００から当該データファイルの内容を読み出し、クライアント９００へ返信する。また、提示要求に管理プロセス２００が指定されていた場合には、管理プロセス２００は、ＭＢｅａｎ２０２により管理プロセス２００の動作情報を取得し、クライアント９００へ返信する。
【００４６】
図８は、本発明の実施の形態２にかかるMBean登録処理の流れを示すフローチャートである。まず、管理プロセス２００は起動後に、注釈情報解析手段１０１がクラスＡ１０３１の注釈情報７１０を解析して、MBeanInfoを生成する(ステップA1)。次に、ＭＢｅａｎ登録手段１０２は、生成したMBeanInfoとクラスＡ１０３１の動作情報取得処理７２０を利用して、ＭＢｅａｎ２０２を生成し、ＭＢｅａｎＳｅｒｖｅｒ２０１に登録する(ステップA2)。その後、管理プロセス２００は、子プロセス３１０等を起動する(ステップA3)。管理プロセス２００は、子プロセスの起動に際し、その子プロセスに対してプロセス名(P1など)を与える。プロセス名は、子プロセスの識別情報の一例である。
【００４７】
子プロセス３１０は起動後に、管理プロセス２００と同様にMBeanInfoを生成する(ステップB1)。そして、子プロセス３１０は、管理プロセスと同様に、ＭＢｅａｎ３０２を生成し、ＭＢｅａｎＳｅｒｖｅｒ３０１に登録する(ステップB2)。その後、子プロセス３１０内のＭＢｅａｎ登録手段１０２は、動作情報格納クラス３０３のオブジェクトを生成して動作を開始させる(ステップB3)。そして、子プロセス３１０は、管理プロセス２００に対して、子プロセス３１０の動作情報を取得するためのＭＢｅａｎ２０３を登録するよう要求する(ステップB4)。このとき、子プロセス３１０は、自身のプロセス名とプロセスＩＤも管理プロセス２００に通知する。
【００４８】
管理プロセス２００は、子プロセス３１０からの登録要求を受け付けた後、子プロセス３１０から通知されたプロセス名とプロセスＩＤとを関連付けてプロセス管理マップ５００として記憶装置４００に格納する(ステップC1)。次に、管理プロセス２００内の注釈情報解析手段１０１は、クラスＡ１０３１の注釈情報７１０を解析してMBeanInfoを生成する(ステップC2)。そして、管理プロセス２００内のＭＢｅａｎ登録手段１０２は、MBeanInfoとクラスＣ１０３３とを利用してＭＢｅａｎ２０３を生成し、ＭＢｅａｎＳｅｒｖｅｒ２０１に登録する(ステップC3)。
【００４９】
図９は、本発明の実施の形態２にかかる子プロセスの動作情報の格納処理の流れを示すフローチャートである。子プロセス３１０は、ＭＢｅａｎ３０２のｇｅｔメソッドを呼び出し、自身のプロセスの動作情報を取得する(ステップF1)。そして、子プロセス３１０は、取得した動作情報を、自身のプロセスＩＤをファイル名とするデータファイル４１０に格納する(ステップF2)。その後、一定時間スリープし(ステップF3)、再度ステップF1に戻る。
【００５０】
図１０は、本発明の実施の形態２にかかる管理プロセスの動作情報の取得処理の流れを示すフローチャートである。クライアント９００は、管理プロセス２００に対して管理プロセス２００を指定した動作情報の取得要求（提示要求）を送信する(ステップD1)。管理プロセス２００は、受信した取得要求に管理プロセス２００が指定されているため、ＭＢｅａｎ２０２のｇｅｔメソッドを呼び出す(ステップD2)。そして、管理プロセス２００は、ＭＢｅａｎ２０２により取得された管理プロセス２００の動作情報をクライアント９００に返信する (ステップD3)。クライアント９００は、受信した管理プロセス２００の動作情報を画面等に表示する（ステップD4)。
【００５１】
図１１は、本発明の実施の形態２にかかる子プロセスの動作情報の取得処理の流れを示すフローチャートである。クライアント９００は、管理プロセス２００に対してプロセス名（例えば、子プロセス３１０のプロセス名である「Ｐ１」）を指定した動作情報の取得要求（提示要求）を送信する(ステップＥ１)。尚、クライアント９００は、各子プロセスのプロセス名を予め入手しているものとする。次に、管理プロセス２００は、受信した取得要求にＰ１が指定されているため、ＭＢｅａｎ２０３のｇｅｔメソッドを呼び出す(ステップＥ２)。そして、ＭＢｅａｎ２０３のｇｅｔメソッドが実行される（ステップＥ３）。
【００５２】
具体的には、まず、管理プロセス２００は、プロセス管理マップ５００から、指定された子プロセス（Ｐ１）のプロセスＩＤを取得する（ステップＥ３１）。すなわち、管理プロセス２００は、プロセス管理マップ５００を参照し、指定されたプロセス名に関連付けられたプロセスＩＤを特定する。
【００５３】
次に、管理プロセス２００は、対象の子プロセスのデータファイル４１０を開く（ステップＥ３２）。すなわち、管理プロセス２００は、特定されたプロセスＩＤをファイル名に持つデータファイル４１０を開く。そして、管理プロセス２００は、開かれたデータファイル４１０から各プロパティ値を動作情報として読み出す（ステップＥ３３）。
【００５４】
その後、管理プロセス２００は、ＭＢｅａｎ２０３により取得された子プロセス（Ｐ１）の動作情報をクライアント９００に返信する。クライアント９００は、受信した子プロセス（Ｐ１）の動作情報を画面等に表示する（ステップＥ４)。
【００５５】
以上のように、本実施の形態２では、次のような効果を奏する。
まず、MBeanInfoの生成を、１つのクラス（クラスＡ１０３１）の注釈情報７１０を解析して自動生成して行うため、管理プロセスと子プロセスのそれぞれに向けて個別にMBeanのインタフェースを作成する必要がない。よって、少ないコード量で管理プロセスと子プロセスの動作情報の取得を可能とする。
【００５６】
また、管理プロセスと子プロセスが同じクラス（クラスＡ１０３１）からMBeanInfoを自動生成するため、取得対象の動作情報が増減した際には、当該１つのクラスを修正することのみで、管理プロセスと子プロセスの両方のMBeanInfoに修正が反映される。
【００５７】
さらに、複数のプロセスで動作するアプリケーションサーバにおいて、利用者は管理プロセスにアクセスするだけで各プロセスの動作情報が取得できる。また、プロセス間通信を利用せずにデータの授受を行なうため、ポートを大量に確保する必要がないため、リソースを有効活用できる。
【００５８】
尚、本実施の形態２は上述した内容に限定されない。例えば、上述した注釈情報解析手段１０１及びＭＢｅａｎ登録手段１０２は、管理プロセス２００及び子プロセス３１０〜３３０とは独立にアプリケーションサーバ１００に存在していてもよい。その場合、本発明の実施の形態２の一部は次のように言い換えることができる。すなわち、ＭＢｅａｎ登録手段１０２は、生成した第１の単位オブジェクトを管理プロセスに登録する。そして、管理プロセス２００は、第１の単位オブジェクトの登録後に、子プロセス３１０〜３３０のそれぞれを起動する。その後、ＭＢｅａｎ登録手段１０２は、子プロセス３１０〜３３０のそれぞれにおける第２の単位オブジェクトを生成し、各子プロセスに当該第２の単位オブジェクトを登録する。そして、子プロセス３１０〜３３０のそれぞれは、第２の単位オブジェクトにより、所定間隔で自身のプロセスの前記動作情報を取得する。また、ＭＢｅａｎ登録手段１０２は、生成した第３の単位オブジェクトを管理プロセス２００にさらに登録する。そして、管理プロセス２００は、第１の単位オブジェクトにより、所定間隔で自身のプロセスの前記動作情報を取得し、第３の単位オブジェクトにより、動作情報を読み出す処理を行う。
【００５９】
また、本発明の実施の形態２の一部は次のように言い換えることができる。すなわち、子プロセス３１０〜３３０のそれぞれは、自身のプロセスの識別情報を管理プロセス２００に通知し、管理プロセス２００は、通知された各識別情報を記憶装置４００に登録する。ここで、提示要求には、対象のプロセスに対応する識別情報（プロセス名）が指定されるものとし、管理プロセス２００は、提示要求を受け付けた場合に、指定された識別情報を記憶装置４００の（プロセス管理マップ５００の）中から特定し、当該特定した識別情報が関連付けられた動作情報を記憶装置４００（のデータファイル４１０等）から読み出し、クライアント９００へ当該読み出した動作情報を返信する。
【００６０】
＜発明の実施の形態３＞
本発明の実施の形態３は、上述した実施の形態２の変形例である。上述した実施の形態２のように、動作情報のプロセス間の受け渡しにデータファイルを使用した場合、プロセス間通信と比べてデータの授受に時間を要するという問題がある。そこで、本実施の形態３では動作情報のプロセス間の受け渡し時間を短縮すべく、データファイルの代わりにメモリマップドファイルを利用するものである。ここで、メモリマップドファイルとは、ファイル又はそれに類似するリソースを仮想記憶空間に直接マッピングしたものである。
【００６１】
図１３は、本発明の実施の形態３にかかる複数プロセスが動作するアプリケーションサーバ１００ａの構成を示すブロック図である。アプリケーションサーバ１００ａは、管理プロセス２００及び子プロセス３１０〜３３０に加え、仮想記憶空間６００を備える。
【００６２】
仮想記憶空間６００は、メモリマップドファイル６１０等を記憶する。子プロセス３１０の動作情報格納クラス３０３ａは、取得した動作情報をメモリマップドファイル６１０に書き込むものである。また、管理プロセス２００のＭＢｅａｎ２０３ａは、子プロセスの動作情報をメモリマップドファイルから読み出すものである。尚、図１３のその他の構成は、上述した図４と同等であるため説明を省略する。
【００６３】
図１４は、本発明の実施の形態３にかかる子プロセスの動作情報の格納処理の流れを示すフローチャートである。子プロセス３１０は、ＭＢｅａｎ３０２のｇｅｔメソッドを呼び出し、自身のプロセスの動作情報を取得する(ステップF1)。そして、子プロセス３１０は、取得した動作情報を、メモリマップドファイル６１０に格納する(ステップＪ１)。このとき、データ名の先頭に、自身のプロセスＩＤを付加する。その後、一定時間スリープし(ステップF3)、再度ステップF1に戻る。
【００６４】
図１５は、本発明の実施の形態３にかかる子プロセスの動作情報の取得処理の流れを示すフローチャートである。図１５は、図１１のステップＥ３がステップＥ３ａに置き換わったものである。すなわち、管理プロセス２００は、メモリマップドファイル６１０にアクセスする(ステップＥ３１ａ)。そして、管理プロセス２００は、メモリマップドファイル６１０内にはデータ名の先頭に、対象のプロセスＩＤが付加されたデータを探索して取得する(ステップＥ３２ａ)。
【００６５】
このように、本発明の実施の形態３では、実施の形態２と比べてプロセス管理マップ５００へのアクセスがない。また、仮想記憶空間６００内のメモリマップドファイル６１０へアクセスするため、不揮発性記憶装置である記憶装置４００内のデータファイル４１０へアクセスする場合と比べて、処理速度が向上する。
【００６６】
＜発明の実施の形態４＞
本発明の実施の形態４は、上述した実施の形態２又は３の改良例である。本実施の形態４では、管理プロセスの動作情報も子プロセスと同様に、定期的にデータファイルに格納し、情報を取得する際にデータファイルから取得してくるものである。このように、全プロセスの動作情報をデータファイルに格納しておくことで、過去の動作情報を閲覧でき、分析等に用いることが可能となる。
【００６７】
この場合、管理プロセスの起動時の処理は変わらないが、起動後、管理プロセス側でも図９の「子プロセス側で動作する動作情報取得処理の流れ」と同等の処理を定期的に実行する。そして、管理プロセスの動作情報を取得する際には、図１１の「子プロセスの動作情報を取得する処理の流れ」と同様の処理となる。但し、ステップＥ３１において「プロセス管理マップ」に代えて、自身のプロセスＩＤを取得してデータファイルを特定することとなる。尚、自身のプロセスＩＤは例えば、公知の技術で取得可能である。
【００６８】
＜発明の実施の形態５＞
【００６９】
ここで、図１０及び図１１のうち管理プロセス２００側の処理をまとめると、図１６のように表現することができる。図１６は、本発明の実施の形態４にかかるプロセスの動作情報の提示処理の流れを示すフローチャートである。
【００７０】
図１６は、図３に対してステップＳ１２４、Ｓ１２５及びＳ１２６が追加されたものである。すなわち、管理プロセス２００は、ステップＳ１２１で受け付けた提示要求に指定されたプロセスが被管理プロセスであるか否かを判定する（Ｓ１２４）。指定されたプロセスが被管理プロセスである場合には、管理プロセス２００は、ステップＳ１２２及びＳ１２３の処理を行う。具体的には図１１のステップＥ２及びＥ３を実行する。
【００７１】
一方、ステップＳ１２４において、指定されたプロセスが管理プロセスである場合には、管理プロセス２００は、管理プロセス２００の動作情報を取得する（Ｓ１２５）。具体的には、図１０のステップＤ２及びＤ３を実行する。その後、管理プロセス２００は、要求元９０（クライアント９００）へ取得した動作情報を返信する（Ｓ１２６）。
【００７２】
ここで、本実施の形態５は、実施の形態１の変形例であり、被管理プロセスを１つにした場合である。この場合であっても、本実施の形態１と同等の効果を奏する。すなわち、本実施の形態５にかかるプロセス管理装置は、被管理プロセスと、前記被管理プロセスを管理する管理プロセスと、記憶部と、を備える。そして、前記被管理プロセスは、所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存する。前記管理プロセスは、要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付け、前記指定されたプロセスが前記被管理プロセスである場合、当該被管理プロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信し、前記指定されたプロセスが前記管理プロセスである場合、自身のプロセスの前記動作情報を取得し、当該要求元へ当該取得した当該管理プロセスの動作情報を返信する。
【００７３】
そして、本実施の形態５にかかるプロセス管理装置の処理は、上述した図１６で表現することができる。
【００７４】
＜その他の発明の実施の形態＞
尚、本発明の他の実施の形態は、プロセス管理プログラムである。すなわち、自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトと、当該プロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存する処理を実装したオブジェクトとを、複数の被管理プロセスのそれぞれについて生成する処理と、要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信するオブジェクトを生成する処理と、をコンピュータに実行させるプロセス管理プログラムである。これによっても、上述した実施の形態１又は５と同等の効果を奏する。
【００７５】
尚、本発明の各実施の形態は次のような観点で表現することもできる。すなわち、Java（登録商標）プロセスが複数存在するアプリケーションサーバにおいて、1つの管理プロセスにて、管理プロセスとその他の子プロセスの動作情報をまとめて参照する。これにより、アプリケーションサーバの利用者は、複数プロセスの動作情報を1つのプロセスに接続するだけで閲覧することが可能となる。
【００７６】
また、動作情報の管理はModelMBeanで行ない、ModelMBeanの動作情報取得処理をプロセスの種類に応じて動的に変更することで、少ないコード量で、複数のプロセスの動作情報の管理を可能とする。ここで、ModelMBeanとは、JMXで定められたDynamic MBeanの1種である。ModelMbeanでは既存の(JMXに準拠していない)Java（登録商標） オブジェクトをMBean(Managed Bean)のようにモデル化して管理することができる。MBeanとはJMXにおける管理対象のオブジェクトを指す。
【００７７】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。
【００７８】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、ＤＶＤ（Digital Versatile Disc）、ＢＤ(Blu-ray(登録商標) Disc)、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００７９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
複数の被管理プロセスと、
前記複数の被管理プロセスを管理する管理プロセスと、
記憶部と、を備え、
前記複数の被管理プロセスのそれぞれは、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存し、
前記管理プロセスは、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する
プロセス管理装置。
（付記２）
前記記憶部は、
所定のプロセスに前記自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトを生成するための第１のクラスをさらに記憶し、
前記プロセス管理装置は、
前記管理プロセスにおける第１の単位オブジェクトと、前記複数の被管理プロセスのそれぞれにおける第２の単位オブジェクトとを、前記第１のクラスを用いて生成するオブジェクト生成手段をさらに備える
付記１に記載のプロセス管理装置。
（付記３）
前記第１のクラスは、前記単位オブジェクトに関する注釈情報を含み、
前記プロセス管理装置は、
前記注釈情報を解析して前記注釈情報オブジェクトを生成する注釈情報解析手段をさらに備え、
前記注釈情報解析手段は、
前記注釈情報を解析して前記第１及び前記第２の単位オブジェクトに共通する注釈情報オブジェクトを生成し、
前記オブジェクト生成手段は、
当該注釈情報オブジェクトをさらに用いて前記第１及び前記第２の単位オブジェクトを生成する
付記２に記載のプロセス管理装置。
（付記４）
前記記憶部は、
所定のプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出す処理を実装した単位オブジェクトを生成するための第２のクラスをさらに記憶し、
前記オブジェクト生成手段は、
前記注釈情報オブジェクトと前記第２のクラスを用いて前記読み出す処理を含む第３の単位オブジェクトを生成する
付記３に記載のプロセス管理装置。
（付記５）
前記オブジェクト生成手段は、
前記生成した第１の単位オブジェクトを前記管理プロセスに登録し、
前記管理プロセスは、
前記第１の単位オブジェクトの登録後に、前記複数の被管理プロセスのそれぞれを起動し、
前記オブジェクト生成手段は、
前記複数の被管理プロセスのそれぞれにおける前記第２の単位オブジェクトを生成し、各被管理プロセスに当該第２の単位オブジェクトを登録し、
前記複数の被管理プロセスのそれぞれは、
前記第２の単位オブジェクトにより、所定間隔で自身のプロセスの前記動作情報を取得し、
前記オブジェクト生成手段は、
前記生成した第３の単位オブジェクトを前記管理プロセスにさらに登録し、
前記管理プロセスは、
前記第１の単位オブジェクトにより、所定間隔で自身のプロセスの前記動作情報を取得し、
前記第３の単位オブジェクトにより、前記読み出す処理を行う、
付記４に記載のプロセス管理装置。
（付記６）
前記記憶部は、
所定のプロセスに前記自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存する動作情報保存処理を実装した第３のクラスをさらに記憶し、
前記オブジェクト生成手段は、
前記管理プロセス及び前記複数の被管理プロセスのそれぞれについて、前記動作情報保存処理を実行するオブジェクトを前記第３のクラスを用いて生成する
前記管理プロセス及び前記複数の被管理プロセスのそれぞれは、
前記生成したオブジェクトにより、前記動作情報保存処理を実行する
付記２乃至５のいずれか１項に記載のプロセス管理装置。
（付記７）
前記複数の被管理プロセスのそれぞれは、
自身のプロセスの前記識別情報を前記管理プロセスに通知し、
前記管理プロセスは、
前記通知された各識別情報を前記記憶部に登録し、
前記提示要求は、前記対象のプロセスに対応する前記識別情報が指定され、
前記管理プロセスは、
前記提示要求を受け付けた場合に、前記指定された前記識別情報を前記記憶部の中から特定し、当該特定した識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する
付記１乃至６のいずれか１項に記載のプロセス管理装置。
（付記８）
前記動作情報は、前記自身のプロセスのメモリの使用に関する情報、又は、当該自身のプロセスで実行される処理スレッド数を含む
付記１乃至７のいずれか１項に記載のプロセス管理装置。
（付記９）
複数の被管理プロセスと、前記複数の被管理プロセスを管理する管理プロセスと、を用いたプロセス管理方法であって、
前記複数の被管理プロセスのそれぞれにおいて、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存し、
前記管理プロセスにおいて、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信する
プロセス管理方法。
（付記１０）
自身のプロセスの動作情報を取得させる処理を実装した単位オブジェクトと、当該プロセスの識別情報と当該取得した動作情報とを関連付けて記憶部に保存する処理を実装したオブジェクトとを、複数の被管理プロセスのそれぞれについて生成する処理と、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付けた場合に、前記複数の被管理プロセスのうち当該指定されたプロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信するオブジェクトを生成する処理と、
をコンピュータに実行させるプロセス管理プログラム。
（付記１１）
被管理プロセスと、
前記被管理プロセスを管理する管理プロセスと、
記憶部と、を備え、
前記被管理プロセスは、
所定間隔で自身のプロセスの動作情報を取得し、自身のプロセスの識別情報と当該取得した動作情報とを関連付けて前記記憶部に保存し、
前記管理プロセスは、
要求元から対象のプロセスが指定された前記動作情報の提示要求を受け付け、
前記指定されたプロセスが前記被管理プロセスである場合、当該被管理プロセスの前記識別情報が関連付けられた前記動作情報を前記記憶部から読み出し、当該要求元へ当該読み出した動作情報を返信し、
前記指定されたプロセスが前記管理プロセスである場合、自身のプロセスの前記動作情報を取得し、当該要求元へ当該取得した当該管理プロセスの動作情報を返信する
プロセス管理装置。
【符号の説明】
【００８０】
１０  プロセス管理装置
２０  管理プロセス
３１  被管理プロセス
３２  被管理プロセス
４０  記憶部
４１  プロセス識別情報
４２  動作情報
９０  要求元
１００  アプリケーションサーバ
１００ａ  アプリケーションサーバ
１０１  注釈情報解析手段
１０２  ＭＢｅａｎ登録手段
１０３  記憶装置
１０３１  クラスＡ
１０３２  クラスＢ
１０３３  クラスＣ
２００  管理プロセス
２０１  ＭＢｅａｎＳｅｒｖｅｒ
２０２  ＭＢｅａｎ
２０３  ＭＢｅａｎ
２０３ａ  ＭＢｅａｎ
３１０  子プロセス
３２０  子プロセス
３３０  子プロセス
３０１  ＭＢｅａｎＳｅｒｖｅｒ
３０２  ＭＢｅａｎ
３０３  動作情報格納クラス
３０３ａ  動作情報格納クラス
４００  記憶装置
４１０  データファイル
４２０  データファイル
５００  プロセス管理マップ
６００  仮想記憶空間
６１０  メモリマップドファイル
７１０  注釈情報
７２０  動作情報取得処理
９００  クライアント
【図１】
0006481355.tif 000002
【図２】
0006481355.tif 000003
【図３】
0006481355.tif 000004
【図４】
0006481355.tif 000005
【図５】
0006481355.tif 000006
【図６】
0006481355.tif 000007
【図７】
0006481355.tif 000008
【図８】
0006481355.tif 000009
【図９】
0006481355.tif 000010
【図１０】
0006481355.tif 000011
【図１１】
0006481355.tif 000012
【図１２】
0006481355.tif 000013
【図１３】
0006481355.tif 000014
【図１４】
0006481355.tif 000015
【図１５】
0006481355.tif 000016
【図１６】
0006481355.tif 000017