(57)【要約】【課題】複数のクライアントＡＰを同時に実行できる情報処理装置において、クライアントＡＰの種別毎に、同時起動数や、利用リソース量を制限する。【解決手段】クライアントＡＰ４−５は、サーバプロセス２が提供するサービスを利用する場合、新規利用要求を行う。クライアント管理部２１は、新規利用要求があると、クライアントＡＰ４−５の種別に対して予め定められている最大起動数と、上記種別のクライアントＡＰの現時点の起動数とに基づいて、クライアントＡＰ４−５の起動を制限する。また、クライアントＡＰ４−５は、リソースが必要な場合、リソース取得要求を行う。リソース管理部２２は、クライアントＡＰ４−５の種別に対応付けて管理している最大リソース利用量と、要求されたリソース量と、クライアントＡＰ４−５と同一種別のクライアントＡＰに割り当てられているリソース量とに基づいて、クライアントＡＰ４−５に対するリソースの割り当てを制限する。【選択図】      図１
2004151809.tif 000002
【特許請求の範囲】
【請求項１】
クライアントアプリケーションプログラムからの要求に応答して、要求元のクライアントアプリケーションプログラムに対して該当するサービスを提供するサーバプロセスを備えた情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムから新規利用要求があったとき、前記新規利用要求の要求元のクライアントアプリケーションプログラムの種別に対応付けて予め定められている最大起動数と、前記要求元のクライアントアプリケーションプログラムと同一種別のクライアントアプリケーションプログラムの現時点における起動数とに基づいて、前記要求元のクライアントアプリケーションプログラムの起動を制限する構成を有することを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムからリソース取得要求があったとき、前記リソース取得要求の要求元のクライアントアプリケーションプログラムの種別に対応付けて予め定められている最大リソース利用量と、前記要求元のクライアントアプリケーションプログラムが要求しているリソース量と、前記要求元のクライアントアプリケーションプログラムに割り当てられている現時点におけるリソース量とに基づいて、前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限する構成を有することを特徴とする情報処理装置。
【請求項３】
クライアントアプリケーションプログラムからの要求に応答して、要求元のクライアントアプリケーションプログラムに該当するサービスを提供するサーバプロセスを備えた情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムの種別毎に、同時に起動可能なクライアントアプリケーションプログラムの最大数を示す最大起動数および現時点における起動数を示す現在起動数を管理し、クライアントアプリケーションプログラムから新規利用要求があったとき、前記管理している最大起動数および現在起動数の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大起動数および現在起動数に基づいて、前記要求元のクライアントアプリケーションプログラムに対する起動を制限するクライアント管理部を備えたことを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムの種別毎に、利用可能なリソース量を示す最大リソース利用量および現時点におけるリソース利用量を示す現在リソース利用量を管理し、クライアントアプリケーションプログラムからリソース取得要求があったとき、前記管理している最大リソース利用量および現在リソース利用量と、前記リソース取得要求によって要求されているリソース量とに基づいて、前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限するリソース管理部を備えたことを特徴とする情報処理装置。
【請求項５】
請求項３記載の情報処理装置において、
前記クライアント管理部が、
工場出荷時にインストールされているクライアントアプリケーションプログラムの種別毎に、最大起動数および現在起動数を管理すると共に、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを一纏めにして表す種別に対応付けて、工場出荷後にインストールしたクライアントアプリケーションプログラムに対する最大起動数および現在起動数を管理し、クライアントアプリケーションプログラムから新規利用要求があったとき、前記管理している最大起動数および現在起動数の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大起動数および現在起動数に基づいて、前記要求元のクライアントアプリケーションプログラムに対する起動を制限する構成を有することを特徴とする情報処理装置。
【請求項６】
請求項５記載の情報処理装置において、
前記リソース管理部が、
工場出荷時にインストールされているクライアントアプリケーションプログラムの種別毎に、最大リソース利用量および現在リソース利用量を管理すると共に、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを一纏めにして表す種別に対応付けて、工場出荷後にインストールしたクライアントアプリケーションプログラムに対する最大リソース利用量および現在リソース利用量を管理し、クライアントアプリケーションプログラムからリソース取得要求があったとき、前記管理している最大リソース利用量および現在リソース利用量の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大リソース利用量および現在リソース利用量と、前記要求元のクライアントアプリケーションプログラムが要求しているリソース量とに基づいて前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限する構成を有することを特徴とする情報処理装置。
【請求項７】
クライアントアプリケーションプログラムからの要求に応答して、要求元のクライアントアプリケーションプログラムに対して該当するサービスを提供するサーバライブラリを備えた情報処理装置において、
前記サーバライブラリが、
クライアントアプリケーションプログラムから新規利用要求があったとき、前記新規利用要求の要求元のクライアントアプリケーションプログラムの種別に対応付けて予め定められている最大起動数と、前記要求元のクライアントアプリケーションプログラムと同一種別のクライアントアプリケーションプログラムの現時点における起動数とに基づいて、前記要求元のクライアントアプリケーションプログラムの起動を制限する構成を有することを特徴とする情報処理装置。
【請求項８】
請求項７記載の情報処理装置において、
前記サーバライブラリが、
クライアントアプリケーションプログラムからリソース取得要求があったとき、前記リソース取得要求の要求元のクライアントアプリケーションプログラムの種別に対応付けて予め定められている最大リソース利用量と、前記要求元のクライアントアプリケーションプログラムが要求しているリソース量と、前記要求元のクライアントアプリケーションプログラムと同一種別のクライアントアプリケーションプログラムに割り当てられている現時点におけるリソース量とに基づいて、前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限する構成を有することを特徴とする情報処理装置。
【請求項９】
コンピュータを、クライアントアプリケーションプログラムからの要求に応答して、要求元のクライアントアプリケーションプログラムに対して該当するサービスを提供するサーバプロセスとして機能させるためのプログラムであって、
前記サーバプロセス上に、クライアントアプリケーションプログラムの種別毎に、同時に起動可能なクライアントアプリケーションプログラムの最大数を示す最大起動数および現時点における起動数を示す現在起動数を管理し、クライアントアプリケーションプログラムから新規利用要求があったとき、前記管理している最大起動数および現在起動数の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大起動数および現在起動数に基づいて、前記要求元のクライアントアプリケーションプログラムに対する起動を制限するクライアント管理部を実現するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のクライアントアプリケーションプログラムを同時に実行可能な情報処理装置に関し、特に、クライアントアプリケーションプログラムの同時起動数や、リソース利用量を制限することができる情報処理装置に関する。
【０００２】
【従来の技術】
従来から複数のクライアントアプリケーションプログラムを同時に実行するということが行われており、このようなシステムとしては、例えば、ＵＮＩＸ（登録商標）のＸサーバ等が知られている。Ｘサーバは、クライアントアプリケーションプログラムとは別プロセス（サーバプロセス）でサービスを提供する形式のサーバである。
【０００３】
ところで、Ｘサーバは、クライアントアプリケーションプログラムの同時実行数を制限できないため、アプリケーションプログラムによるリソースの使い過ぎにより、Ｘサーバひいては情報処理装置全体に悪影響を与えてしまう場合がある問題点がある。
【０００４】
このような問題点を解決するため、情報処理装置上に、クライアントアプリケーションプログラムの種別毎の同時実行数を管理し、クライアントアプリケーションプログラムから起動要求があった場合、上記管理している同時実行数と実行中プログラム数とに基づいてクライアントアプリケーションプログラムの起動を制限する計算機運転管理システムを設けるようにした技術が従来から提案されている（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開平８−３２８８８０号公報
【０００６】
【発明が解決しようとする課題】
上述した従来の技術によれば、クライアントアプリケーションプログラムの種別毎に、同時実行されるプログラム数を制限することができるため、リソースの使い過ぎによる悪影響をなくすことができる。しかしながら、上述した従来の技術は、クライアントアプリケーションプログラムが新たに追加された計算機運転管理システムに対して起動要求を出力することが必要になるため、既存のクライアントアプリケーションプログラムをそのまま利用することができないという問題がある。即ち、要求の出力先を計算機運転管理システムに変更するの改造がクライアントアプリケーションプログラムに必要になるという問題点がある。
【０００７】
そこで、本発明の目的は、既存のクライアントアプリケーションプログラムに一切の改造を施すことなく、クライアントアプリケーションプログラムの種別毎の同時起動数を制限できるようにすることにある。
【０００８】
【課題を解決するための手段】
本発明にかかる第１の情報処理装置は、上記目的を達成するため、
クライアントアプリケーションプログラムからの要求に応答して、要求元のクライアントアプリケーションプログラムに対して該当するサービスを提供するサーバプロセスを備えた情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムから新規利用要求があったとき、前記新規利用要求の要求元のクライアントアプリケーションプログラムの種別に対応付けて予め定められている最大起動数と、前記要求元のクライアントアプリケーションプログラムと同一種別のクライアントアプリケーションプログラムの現時点における起動数とに基づいて、前記要求元のクライアントアプリケーションプログラムの起動を制限する構成を有することを特徴とする。
【０００９】
また、本発明にかかる第２の情報処理装置は、各クライアントアプリケーションプログラムのリソースの利用量を、そのプログラム種別に応じて制限できるようにするため、
第１の情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムからリソース取得要求があったとき、前記リソース取得要求の要求元のクライアントアプリケーションプログラムの種別に対応付けて予め定められている最大リソース利用量と、前記要求元のクライアントアプリケーションプログラムが要求しているリソース量と、前記要求元のクライアントアプリケーションプログラムに割り当てられている現時点におけるリソース量とに基づいて、前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限する構成を有することを特徴とする。
【００１０】
より具体的には、本発明にかかる第３の情報処理装置は、
クライアントアプリケーションプログラムからの要求に応答して、要求元のクライアントアプリケーションプログラムに該当するサービスを提供するサーバプロセスを備えた情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムの種別毎に、同時に起動可能なクライアントアプリケーションプログラムの最大数を示す最大起動数および現時点における起動数を示す現在起動数を管理し、クライアントアプリケーションプログラムから新規利用要求があったとき、前記管理している最大起動数および現在起動数の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大起動数および現在起動数に基づいて、前記要求元のクライアントアプリケーションプログラムに対する起動を制限するクライアント管理部を備えたことを特徴とする。
【００１１】
また、本発明にかかる第４の情報処理装置は、各クライアントアプリケーションプログラムのリソースの利用量を、そのプログラム種別に応じて制限できるようにするため、
第３の情報処理装置において、
前記サーバプロセスが、
クライアントアプリケーションプログラムの種別毎に、利用可能なリソース量を示す最大リソース利用量および現時点におけるリソース利用量を示す現在リソース利用量を管理し、クライアントアプリケーションプログラムからリソース取得要求があったとき、前記管理している最大リソース利用量および現在リソース利用量と、前記リソース取得要求によって要求されているリソース量とに基づいて、前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限するリソース管理部を備えたことを特徴とする。
【００１２】
本発明にかかる第５の情報処理装置は、工場出荷後にインストールしたクライアントアプリケーションプログラムについても、同時起動数を制限できるようにするため、
第３の情報処理装置において、
前記クライアント管理部が、
工場出荷時にインストールされているクライアントアプリケーションプログラムの種別毎に、最大起動数および現在起動数を管理すると共に、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを一纏めにして表す種別に対応付けて、工場出荷後にインストールしたクライアントアプリケーションプログラムに対する最大起動数および現在起動数を管理し、クライアントアプリケーションプログラムから新規利用要求があったとき、前記管理している最大起動数および現在起動数の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大起動数および現在起動数に基づいて、前記要求元のクライアントアプリケーションプログラムに対する起動を制限する構成を有することを特徴とする。
【００１３】
また、本発明にかかる第６の情報処理装置は、工場出荷後にインストールしたクライアントアプリケーションプログラムについても、リソースの利用量を制限できるようにするため、
第５の情報処理装置において、
前記リソース管理部が、
工場出荷時にインストールされているクライアントアプリケーションプログラムの種別毎に、最大リソース利用量および現在リソース利用量を管理すると共に、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを一纏めにして表す種別に対応付けて、工場出荷後にインストールしたクライアントアプリケーションプログラムに対する最大リソース利用量および現在リソース利用量を管理し、クライアントアプリケーションプログラムからリソース取得要求があったとき、前記管理している最大リソース利用量および現在リソース利用量の内の、前記要求元のクライアントアプリケーションプログラムの種別に対応する最大リソース利用量および現在リソース利用量と、前記要求元のクライアントアプリケーションプログラムが要求しているリソース量とに基づいて前記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限する構成を有することを特徴とする。
【００１４】
【作用】
クライアントアプリケーションプログラムは、サーバプロセスが提供するサービスを利用する場合、サーバプロセスに対して新規利用要求を行う。クライアントアプリケーションプログラムが、サーバプロセスに対して新規利用要求を行うという処理は、既存のクライアントアプリケーションプログラムが行っている処理であるので、計算機運転管理システムを使用した従来の技術のように、要求の出力先を計算機運転管理システムに変更するといった改造をクライアントアプリケーションプログラムに施す必要はない。サーバプロセス内のクライアント管理部は、クライアントアプリケーションプログラムから新規利用要求があると、上記クライアントアプリケーションプログラムの種別に対して予め定められている最大起動数と、現時点における上記クライアントアプリケーションプログラムと同一種別のクライアントアプリケーションプログラムの起動数（現在起動数）とに基づいて、上記クライアントアプリケーションプログラムの起動を制限する。
【００１５】
また、クライアントアプリケーションプログラムは、リソースが必要な場合、サーバプロセスに対してリソース取得要求を行う。アプリケーションプログラムが、サーバプロセスに対してリソース取得要求を行うという処理は、既存のクライアントアプリケーションプログラムが行っている処理であるので、計算機運転管理システムを使用した従来の技術のように、要求の出力先を計算機運転管理システムに変更するといった改造をクライアントアプリケーションプログラムに施す必要はない。サーバプロセス内のリソース管理部は、クライアントアプリケーションプログラムからリソース取得要求があると、要求元のクライアントアプリケーションプログラムの種別に対応付けて管理している最大リソース利用量と、上記要求元のクライアントアプリケーションプログラムが要求しているリソース量と、上記要求元のクライアントアプリケーションプログラムに割り当てられている現時点におけるリソース量とに基づいて、上記要求元のクライアントアプリケーションプログラムに対するリソースの割り当てを制限する。
【００１６】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
【実施例の構成】
図１を参照すると、本発明にかかる情報処理装置１の一実施例は、サーバプロセス２と、クライアント用サービスライブラリ３と、クライアントアプリケーションプログラム４−１〜４−５と、プロセスＩＤ／アプリケーションパス変換モジュール５と、記録媒体６とから構成されている。
【００１８】
クライアントアプリケーションプログラム４−１〜４−５は、情報処理装置１上で現在起動中のクライアントアプリケーションプログラムを示している。クライアントアプリケーションプログラム４−１、４−２は、その種別を示すアプリケーションＩＤがそれぞれ「ＡＰ１」、「ＡＰ２」のプログラムであり、クライアントアプリケーションプログラム４−３、４−４は、その種別を示すアプリケーションＩＤが共に「ＡＰ３」のプログラムである。つまり、クライアントアプリケーションプログラム４−３、４−４は同一種別のプログラムである。また、クライアントアプリケーションプログラム４−５は、その種別を示すアプリケーションＩＤが「ＡＰ４」のプログラムである。
【００１９】
アプリケーションＩＤが「ＡＰ１」、「ＡＰ２」、「ＡＰ３」のクライアントアプリケーションプログラムは、工場出荷時にインストールされているプログラムであり、種別がそれぞれ異なるプログラムである。また、アプリケーションＩＤが「ＡＰ４」のクライアントアプリケーションプログラムは、工場出荷後にダウンロードすること等によりインストールしたクライアントアプリケーションプログラムである。本実施例では、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを、その種別にかかわらず、アプリケーションＩＤが「ＡＰ４」のクライアントアプリケーションプログラムとして取り扱う。即ち、種別「工場出荷後にインストールしたクライアントアプリケーションプログラム」として取り扱う。
【００２０】
サーバプロセス２は、クライアントアプリケーションプログラムとは独立したプロセスとして動作し、クライアントアプリケーションプログラムに対してサービスを提供する。また、サーバプロセス２は、クライアントアプリケーションプログラムの種別毎の同時起動数を制限するためにクライアント管理部２１を備え、更に、クライアントアプリケーションプログラムの種別毎のリソース利用量を制限するためにリソース管理部２２を備えている。
【００２１】
クライアント管理部２１は、例えば、図２に示すようなクライアント管理情報２１１を管理しており、このクライアント管理情報２１１を利用してクライアントアプリケーションプログラムの種別毎の起動数を制限する。
【００２２】
図２に示すように、クライアント管理情報２１１は、クライアントアプリケーションプログラムの種別毎のエントリを有している。そして、各エントリには、そのエントリがどの種別のクライアントアプリケーションプログラム用のエントリなのかを示すアプリケーションＩＤと、そのエントリに割り当てられている種別のクライアントアプリケーションプログラムの格納場所を示すアプリケーションパスと、そのエントリに割り当てられている種別のクライアントアプリケーションプログラムの最大起動数（同時に起動することができるプログラム数の最大値）と、そのエントリに割り当てられている種別のクライアントアプリケーションプログラムの現時点における起動数を示す現在起動数と、そのエントリに割り当てられている種別のクライアントアプリケーションプログラムが利用可能なリソースの最大量を示す最大リソース利用量とが格納されている。図２の例において、例えば、第１番目のエントリは、アプリケーションＩＤが「ＡＰ１」のクライアントアプリケーションプログラムは、アプリケーションパスが「／ｕｓｒ／ｂｉｎ／ｂｒｏｗｓｅｒ」、最大起動数が「２」、現在起動数が「１」、最大リソース利用量が「５０ＫＢ」であることを示している。また、例えば、第４番目のエントリは、アプリケーションＩＤが「ＡＰ４」のクライアントアプリケーションプログラムは、アプリケーションパスが「ＵＮＫＮＯＷＮ（不明）」、最大起動数が「３」、現在起動数が「１」、最大リソース利用量が「５ＫＢ」であることを示している。ここで、アプリケーションパスを「ＵＮＫＮＯＷＮ」としているのは、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを１つのエントリで管理できるようにするためである。このようなクライアント管理情報２１１は、例えば、工場出荷時にインストールされる。但し、工場出荷時においては、現在起動数は「０」となっている。
【００２３】
リソース管理部２２は、例えば、図３に示すようなリソース管理情報２２１を管理しており、このリソース管理情報２２１を利用して各クライアントアプリケーションプログラムのリソース利用量を、そのプログラム種別に応じて制限する。
【００２４】
図３に示すように、リソース管理情報２２１は、現在起動中のクライアントアプリケーションプログラム毎のエントリを有している。そして、各エントリには、該当するクライアントアプリケーションプログラムに付与したクライアントＩＤと、該当するクライアントアプリケーションプログラムのアプリケーションＩＤと、該当するクライアントアプリケーションプログラムの現時点におけるリソース利用量を示す現在リソース利用量と、該当するクライアントアプリケーションプログラムの種別に対して定められている最大リソース利用量とが格納されている。例えば、図３の例において、第１番目のエントリは、クライアントＩＤ「Ｃ１」が付与されているクライアントアプリケーションプログラム４−１は、アプリケーションＩＤが「ＡＰ１」、現在リソース利用量が「４０ＫＢ」、最大リソース利用量が「５０ＫＢ」であることを示している。なお、本実施例では、クライアントアプリケーションプログラム４−１〜４−５には、それぞれクライアントＩＤとして「Ｃ１」〜「Ｃ５」が付与されているとする。
【００２５】
クライアント用サービスライブラリ３は、クライアントアプリケーションプログラムに対して、サーバプロセス２との間のプロセス通信機能を提供する。
【００２６】
プロセスＩＤ／アプリケーションパス変換モジュール５は、或るクライアントアプリケーションプログラムが動作しているプロセスのプロセスＩＤからそのクライアントアプリケーションプログラムの格納場所を示すアプリケーションパスを求めるモジュールである。
【００２７】
記録媒体６は、ディスク、半導体メモリ、その他の記録媒体であり、情報処理装置１上にサーバプロセス２を実現するためのプログラムが記録されている。このプログラムは、情報処理装置１によって読み取られ、その動作を制御することで、情報処理装置１上にサーバプロセス２を実現する。
【００２８】
【実施例の動作の説明】
次に、本実施例の動作について詳細に説明する。
【００２９】
今、例えば、情報処理装置１上で５個のクライアントアプリケーションプログラム４−１〜４−５が起動されている状態において、新たなクライアントアプリケーションプログラム４−６が起動されたとする（図４、ステップＳ４１）。なお、この時、クライアント管理情報２１１、リソース管理情報２２１は、それぞれ図２、図３に示すものになっているとする。
【００３０】
クライアントアプリケーションプログラム４−６は、起動されると、クライアント用サービスライブラリ３を介してサーバプロセス２に対してサービスの新規利用要求を発行する（ステップＳ４２）。
【００３１】
クライアント用サービスライブラリ３では、クライアントアプリケーションプログラム４−６からのサービスの新規利用要求を受け、プロセス間通信を介してサーバプロセス２にその旨を伝える。このとき、クライアント用サービスライブラリ３は、クライアントアプリケーションプログラム４−６が動作しているプロセスのプロセスＩＤを一緒に伝えるものとする（ステップＳ４３、Ｓ４４）。クライアント用サービスライブラリ３は、要求元のクライアントアプリケーションプログラム４−６と同一プロセスで動作しているので、自プロセスＩＤを求めることで（ｇｅｔ  ｐｉｄ関数の呼び出し等にて）、クライアントアプリケーションプログラム４−６のプロセスＩＤを容易に求めることができる。
【００３２】
プロセス間通信を介してクライアント用サービスライブラリ３からの新規利用要求を受けたサーバプロセス２では、クライアント管理部２１がプロセスＩＤ／アプリケーションパス変換モジュール５に要求元のアプリケーション４−６のプロセスＩＤを渡し、クライアントアプリケーションプログラム４−６のアプリケーションパスを求めさせる（ステップＳ４５）
【００３３】
次に、クライアント管理部２１は、クライアント管理情報２１１を参照し、ステップＳ４５で求めたアプリケーションパスを持つエントリがあるか否かを調べる（ステップＳ４６）。そして、そのようなエントリが存在する場合は、該当するアプリケーションＩＤを取得する（ステップＳ４６がＹＥＳ、ステップＳ４７）。これに対して、ステップＳ４５で求めたアプリケーションパスを持つエントリが存在しない場合は、不明（ＵＮＫＮＯＷＮ）扱いとするクライアントアプリケーションプログラム（工場出荷後にインストールされたクライアントアプリケーションプログラム）に割り当てられたアプリケーションＩＤ（本実施例では、「ＡＰ４」）を取得する（ステップＳ４６がＮＯ、ステップＳ４８）。今、例えば、ステップＳ４５において、アプリケーションパス「／ｕｓｒ／ｂｉｎ／ｂｒｏｗｓｅｒ」が求められたとすると、ステップＳ４６の判断結果がＹＥＳとなり、ステップＳ４７において、アプリケーションＩＤ「ＡＰ１」が取得されることになる（図２参照）。
【００３４】
次に、クライアント管理部２１は、ステップＳ４７或いはステップＳ４８で取得したアプリケーションＩＤの最大起動数と現在起動数とを調べ、既に現在起動数が最大起動数に達していればアプリケーション起動数制限によるエラーの発生をクライアント側に伝え、その後、サービスは行わない（ステップＳ４９がＮＯ、ステップＳ５０）。これに対して、まだ、現在起動数が最大起動数に達していなければ、クライアント管理部２１は、現在起動数の値を「１」増やし、更に、クライアントアプリケーションプログラム４−６に付与するクライアントＩＤ（この例の場合「Ｃ６」とする）を決定し、このクライアントＩＤ「Ｃ６」と、クライアントアプリケーションプログラム４−６のアプリケーションＩＤと、最大リソース利用量とを含むクライアント追加要求をリソース管理部２２に渡す。これにより、リソース管理部２２は、新規クライアントの追加処理を行う（ステップＳ４９がＹＥＳ、Ｓ５１）。この後、サーバプロセス２は、クライアントアプリケーションプログラム４−６に対するサービスを開始する。
【００３５】
今、例えば、ステップＳ４７において、アプリケーションＩＤとして「ＡＰ１」を取得したとすると、クライアント管理部２１は、アプリケーションＩＤ「ＡＰ１」の最大起動数、現在起動数がそれぞれ「２」、「１」であることから（ステップＳ４９がＹＥＳ）、クライアント管理情報２１１中のアプリケーションＩＤ「ＡＰ１」に対応する現在起動数を＋１し、更に、リソース管理部２２に対して、クライアントアプリケーションプログラム４−６に付与するクライアントＩＤ「Ｃ６」と、クライアントアプリケーションプログラム４−６のアプリケーションＩＤ「ＡＰ１」と、最大リソース利用量「５０ＫＢ」とを含むクライアント追加要求をリソース管理部２２に渡し、新規クライアントの追加処理を行わせることになる（ステップＳ５１）。この結果、クライアント管理情報２１１、リソース管理情報２２１の内容は、それぞれ図５、図６に示すものとなる。
【００３６】
以後、サーバプロセス２は、起動中のクライアントアプリケーションプログラム４−１〜４−６からの要求に応える形でサービスを行うが、クライアントアプリケーションプログラム４−１〜４−６からリソースの取得を要求するリソース取得要求或いはリソースの解放を要求するリソース解放要求が送られてくると、必ずリソース管理部２２に通知する。
【００３７】
リソース管理部２２は、或るクライアントアプリケーションプログラムからのリソース取得要求が通知されると、リソース管理情報２２１中の、要求元のクライアントアプリケーションプログラムに対応するエントリから、そこに格納されている現在リソース利用量および最大リソース利用量を取得する（図７、ステップＳ７１）。
【００３８】
その後、リソース管理部２２は、ステップＳ７１で取得した現在リソース利用量と、要求元のクライアントアプリケーションプログラムによって要求されているリソース量とを加算し、加算結果が最大リソース利用量以下であるか否かを調べる（ステップＳ７２）。
【００３９】
そして、加算結果が最大リソース利用量を超える場合（ステップＳ７２がＮＯ）は、リソース制限を超えた旨のエラー発生を要求元のクライアントアプリケーションプログラムに通達する。また、サービスプロセス２は、要求元のクライアントアプリケーションプログラムに対するサービス処理を中断する（ステップＳ７５）。
【００４０】
これに対して、加算結果が最大リソース利用量以下である場合は、リソース管理部２２は、要求元のクライアントアプリケーションプログラムに対して要求されたリソース量のリソースを割り当てると共に、要求元のクライアントアプリケーションプログラムに対応するエントリ中の現在リソース利用量を要求されたリソース量だけ増加させる（ステップＳ７３、Ｓ７４）。
【００４１】
また、リソース管理部２２は、或るクライアントアプリケーションプログラムからのリソース解放要求が通知されると、上記クライアントアプリケーションプログラムに割り当てていたリソースを解放すると共に、上記クライアントアプリケーションプログラムに対応するエントリ中の現在リソース利用量を解放したリソース量だけ引き算しておく（図８、ステップＳ８１、Ｓ８２）。また、或るクライアントアプリケーションプログラムから本サーバプロセスが提供しているサービスの利用を終了する旨の通知があった場合には、クライアント管理部２１は、クライアント管理情報２１１の該当エントリの現在起動数を「１」減らすと共に、ソース管理情報２２１の該当エントリを削除する。
【００４２】
以上説明したように、本実施例によれば、クライアントアプリケーションプログラムに一切の改造を施すことなく、クライアントアプリケーションプログラムの種別に応じて同時起動数と、リソース利用量とを制限することができる。
【００４３】
【発明の他の実施例】
図９は、本発明にかかる情報処理装置１の他の実施例を示すブロック図である。
【００４４】
図１に示した実施例では、クライアントアプリケーションのプロセスＩＤからアプリケーションパスに変換する処理を、サーバプロセス２がプロセスＩＤ／アプリケーションパス変換モジュール５を利用して行う構成となっているが、本実施例では、この変換処理をクライアント用サービスライブラリ３がプロセスＩＤ／アプリケーションパス変換モジュール５を利用して行い、変換後のアプリケーションパスをサーバプロセス２に伝える構成になっている。このような構成にすることにより、何らかの理由でサーバプロセス２においてプロセスＩＤ／アプリケーションパスの変換が行えない場合にも対応することが可能になる。なお、図９において図１と同一符号は、同一部分を表している。
【００４５】
【発明のその他の実施例】
図１０は、本発明にかかる情報処理装置のその他の実施例のブロック図である。
【００４６】
図１、図９に示した実施例では、クライアントアプリケーションプログラムとは別プロセスのサーバプロセス２を使用する構成となっているが、本実施例では、サーバプロセス２の代わりに、ライブラリ関数として提供されているサーバライブラリ２ａを使用するようにしている。このようにすることにより、サーバ機能がプロセスではなく、ライブラリ関数として提供されている場合でも、本発明を適用することが可能になる。なお、図１０において、図１と同一符号は、同一部分を表している。
【００４７】
【発明の効果】
本発明の第１の効果は、既存のクライアントアプリケーションプログラムに一切の改造を施すことなく、クライアントアプリケーションプログラムの同時起動数をプログラム種別毎に制限できるということである。その理由は、既存のクライアントアプリケーションプログラムからの各種要求を受け付けるサーバプロセスやサーバライブラリに、クライアントアプリケーションプログラムの同時起動数をプログラム種別毎に制限する構成を設けたからである。
【００４８】
本発明の第２の効果は、既存のクライアントアプリケーションプログラムに一切の改造を施すことなく、各クライアントアプリケーションプログラムのリソース利用量を、そのプログラム種別に応じて制限できるということである。その理由は、既存のクライアントアプリケーションプログラムからの各種要求を受け付けるサーバプロセスや、サーバライブラリに、クライアントアプリケーションプログラムのリソース利用量をプログラム種別毎に制限する構成を設けたからである。
【００４９】
本発明の第３の効果は、工場出荷後にインストールしたクライアントアプリケーションプログラムに対しても、同時起動数やリソース利用量を制限できるということである。その理由は、工場出荷後にインストールした全てのクライアントアプリケーションプログラムを一纏めにして表す種別に対応付けて、最大起動数、現在起動数、最大リソース利用量および現在リソース利用量を管理するようにしているからである。
【００５０】
本発明の第４の効果は、或る種別のクライアントアプリケーションプログラムが、情報処理装置のリソースを消費し過ぎて、サーバプロセスやサーバライブラリの動作、ひいては情報処理装置全体の動作に悪影響を与えないようにすることができるという点である。その理由は、クライアントアプリケーションプログラムの種別毎に、同時起動数や、リソース利用量を制限できるからである。
【００５１】
本発明の第５の効果は，クライアントアプリケーションの種別によってリソースの利用量にばらつきがある場合でも、効率的なリソースの割り当てが可能になるということである。その理由は、最大リソース利用量をクライアントアプリケーションプログラムの種別毎に自由に設定できるからである。
【図面の簡単な説明】
【図１】本発明の一実施例のブロック図である。
【図２】クライアント管理情報２１１の一例を示す図である。
【図３】リソース管理情報２２１の一例を示す図である。
【図４】図１に示した実施例の処理例を示す流れ図である。
【図５】更新後のクライアント管理情報２１１の一例を示す図である。
【図６】更新後のリソース管理情報２２１の一例を示す図である。
【図７】リソース管理部２２がリソース取得要求を受け付けた時の処理例を示す流れ図である。
【図８】リソース管理部２２がリソース解放要求を受け付けた時の処理例を示す流れ図である。
【図９】本発明の他の実施例のブロック図である。
【図１０】本発明のその他の実施例のブロック図である。
【符号の説明】
１…情報処理装置
２…サーバプロセス
２ａ…サーバライブラリ
２１、２１ａ…クライアント管理部
２１１…クライアント管理情報
２２…リソース管理部
２２１…リソース管理情報
３…クライアント用サービスライブラリ
４−１〜４−５…クライアントアプリケーションプログラム
５…プロセスＩＤ／アプリケーションパス変換モジュール
６…記録媒体
【図１】
2004151809.tif 000003
【図２】
2004151809.tif 000004
【図３】
2004151809.tif 000005
【図４】
2004151809.tif 000006
【図５】
2004151809.tif 000007
【図６】
2004151809.tif 000008
【図７】
2004151809.tif 000009
【図８】
2004151809.tif 000010
【図９】
2004151809.tif 000011
【図１０】
2004151809.tif 000012