(57)【要約】【課題】処理の高速化と、システムの高負荷時におけるメモリ不足による障害の発生防止を両立できるようにする。【解決手段】ワークメモリの空き容量を取得する（Ｓ４）と共に、起動中の特定の処理のスレッド数をカウントし、そのワークメモリの空き容量と、カウントした特定の処理のスレッド数とに基づき、新たに特定の処理スレッドを生成してよいか否か決定する（Ｓ５，Ｓ６）ようにした。このとき、上記特定の処理スレッドの１つが使用するメモリ容量も考慮する（Ｓ１〜Ｓ３）ようにするとよい。【選択図】図５
2014174946.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、
前記記憶手段中のワークメモリの空き容量を取得するメモリ監視手段と、
特定の処理スレッドを生成する生成手段と、
起動中の前記特定の処理スレッドの数をカウントするカウント手段と、
前記メモリ監視手段が取得した前記ワークメモリの空き容量と、前記カウント手段がカウントした前記特定の処理スレッドの数とに基づき、前記生成手段が新たに前記特定の処理スレッドを生成してよいか否か決定する決定手段とを備えたことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記決定手段は、前記特定の処理スレッドの１つが使用するメモリ容量に基づいて、前記生成手段が新たに前記特定の処理スレッドを生成してよいか否か決定することを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記生成手段は、タスクを、複数の特定の処理スレッドに分散して実行させる手段であり、前記タスクの実行に必要な処理を前記複数の特定の処理スレッドに依頼し終わるまで、一定時間毎に前記決定手段に前記特定の処理スレッドの生成可否を問い合わせ、生成可の場合に所定数の前記特定の処理スレッドを生成して、該各処理スレッドに前記タスクに係る処理の実行を依頼し、生成不可の場合には前記特定の処理スレッドを生成せずに前記一定時間が経過するまで待機することを特徴とする情報処理装置。
【請求項４】
記憶手段と、
前記記憶手段中のワークメモリの空き容量を取得するメモリ監視手段と、
特定の処理スレッドを生成する生成手段と、
起動中の前記特定の処理スレッドの数をカウントするカウント手段と、
前記メモリ監視手段が取得した前記ワークメモリの空き容量と、前記カウント手段がカウントした前記特定の処理スレッドの数とに基づき、前記生成手段が新たに前記特定の処理スレッドを生成してよいか否か決定する決定手段とを備えたことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理システムに関する。
【背景技術】
【０００２】
ネットワークプリンタやＨＵＢなどのネットワーク機器は、障害発生時に備えた適切な管理が必要である。そのために、管理対象である機器とセンターシステムを結び、機器の検索を行う情報処理装置として、仲介機器が知られている。機器の検索方法として、ＩＰアドレスの範囲指定検索やセグメント指定検索、ホスト名指定検索など、いくつかの方法が考えられ既に知られている。
【０００３】
しかし、従来のホスト名指定検索では、ホスト名を名前解決し、解決したＩＰアドレスを一つの範囲としてＩＰアドレスの範囲指定検索をシングルスレッドで逐次的に行っていた。このため、ＩＰアドレスの範囲指定やセグメント指定による検索方法に比べ、検索時間が非常に長くなるという問題があった。
また、仲介機器のような組み込み機器は、使用できるメモリ量に制限があった。このため、検索時間を短縮しようとしてスレッド数を単純に増やしてしまうと、システムの高負荷時に他の機能の処理が遅延してしまうという、メモリ不足による障害が発生する可能性があるなどの問題があった。
【０００４】
特許文献１には、検索要求および検索結果を表示するクライアント装置が開示されている。この装置は、検索結果を効率的に表示処理をするためのスレッド数と、検索を行う機器検索装置が効率的に検索処理をするためのスレッド数を算出することを目的としている。このために、検索結果を表示するクライアント装置のリソース情報や検索条件（アドレス範囲など）を事前に登録された係数テーブルに当てはめることにより、検索結果表示用スレッド数および検索用スレッド数を、それぞれの処理を行う前に算出するようにしている。そして、その後で、算出した一定数のスレッドを処理するような構成になっている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載のクライアント装置は、効率的に検索処理を行うためのスレッド数を事前に算出するものではある。しかし、システムの負荷に応じて動的にスレッド数を制御する構成にはなっておらず、システムの高負荷時におけるメモリ不足による障害が発生する可能性があるという問題は解消できていなかった。
また、このような問題は、検索以外の処理を行う場合においても、さらに、仲介機器以外の情報処理装置においても、同じく発生し得るものである。
本発明は、かかる従来技術の問題点に鑑み為されたものであり、情報処理装置において、処理の高速化と、システムの高負荷時におけるメモリ不足による障害の発生防止を両立できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る情報処理装置は、記憶手段と、上記記憶手段中のワークメモリの空き容量を取得するメモリ監視手段と、特定の処理スレッドを生成する生成手段と、起動中の上記特定の処理スレッドの数をカウントするカウント手段と、上記メモリ監視手段が取得したワークメモリの空き容量と、上記カウント手段がカウントした上記特定の処理スレッドの数とに基づき、上記生成手段が新たに上記特定の処理スレッドを生成してよいか否か決定する決定手段とを備えることを特徴とする。
【発明の効果】
【０００７】
上記の構成によれば、情報処理装置において、処理の高速化と、システムの高負荷時におけるメモリ不足による障害の発生防止を両立することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る情報処理装置の一実施形態である仲介機器が含まれる機器管理システムの全体構成例について説明する図である。
【図２】仲介機器の概略機能構成を示すブロック図である。
【図３】本実施形態における仲介機器の機器管理制御部の機能構成を示すブロック図である。
【図４】検索制御部が持つ機能である検索実行スレッドの生成可否判定に使用されるデータを示す図である。
【図５】スレッド生成可否判定の処理のフローチャートを示す図である。
【図６】ＰＣからの要求で、仲介機器がホスト名指定検索を行う場合の処理のシーケンスを示す図である。
【図７】本実施形態及び従来方式でのホスト名指定検索の実行結果について説明する図である。
【発明を実施するための形態】
【０００９】
以下、この発明を実施するための形態について、図面を用いて詳細に説明する。
【００１０】
図１は、本発明に係る情報処理装置の一実施形態である仲介機器が含まれる機器管理システムの全体構成例について説明する図である。
図１に示す構成例は、センターシステム１０のセンターサーバ１１とＬＡＮ（Local Area Network）２０が、インターネット３０を介して接続される一般的なネットワーク構成例である。
【００１１】
図１において、センターサーバ１１は、オンラインによる機器管理システムを運営しているセンターシステム１０のサーバである。
ＬＡＮ２０内には、プロキシサーバ２１、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ２２、ＤＮＳ(Domain Name System)サーバ２３、管理対象である機器２４，仲介機器２５及びＰＣ（パーソナルコンピュータ）２６が接続されている。また、図１では、機器２４が複数台接続されていることを示している。
【００１２】
このうち、プロキシサーバ２１がインターネット３０とＬＡＮ２０との接続点となっている。
また、ＤＨＣＰサーバ２２は、ネットワークに一時的に接続する機器に、ＩＰアドレスなど必要な情報を自動的に割り当てる機能を備える。
また、ＤＮＳサーバ２３は、プロキシサーバ２１や機器２４などのＬＡＮ２０上の各機器のＩＰアドレスおよびドメイン名を管理する装置である。
【００１３】
仲介機器２５は、ＤＮＳサーバ２３より取得した機器２４のＩＰアドレスを使用しこれらの機器２４と通信を行い、得られた機器情報をプロキシサーバ２１およびインターネット３０を経由してセンターシステム１０に通知する機能を備える。
なお、機器２４の例としては、複合機（ＭＦＰ）等の画像形成装置等が挙げられる。
ＰＣ２６は、ユーザが、ＰＣ２６の表示装置（図示せず）に表示されたＷｅｂブラウザから、仲介機器２５の管理ページを閲覧し、仲介機器２５を操作することができる。
【００１４】
次に、この発明の情報処理装置の実施形態である仲介機器２５の概略構成について説明する。図２は、仲介機器２５の概略構成を示すブロック図である。
図２に示す仲介機器２５は、記憶部２５１、機器管理制御部２５２、通信制御インタフェース（Ｉ／Ｆ）２５３及び制御部２５４を備えている。
このうち、記憶部２５１は、ＯＳ（Operating System）、所定のプログラム及び種々のデータを記憶するためのデバイスであり、例えば、ＨＤＤ（ハードディスクドライブ）やフラッシュメモリなど不揮発性メモリで構成される。また、ＳＤメモリカードなどの外部補助記憶装置も含むものとする。
【００１５】
機器管理制御部２５２は、処理の高速化と、システムの高負荷時におけるメモリ不足による障害の発生防止を両立するための、本実施形態の特徴的な手段の機能を備えた機能ブロックである。
すなわち、制御部２５４と機器管理制御部２５２とが協働することにより、後述するメモリ監視手段、生成手段、カウント手段及び決定手段としての機能が実現される。
機器管理制御部２５２は、この実施例では、ＣＰＵ２５４ａが記憶部２５１に格納された所要のプログラムを実行することによりその機能を実現しているが、ファームウェアを備えた専用のハードウェアで構成してもよい。
【００１６】
また、通信制御Ｉ／Ｆ２５３は、ＬＡＮに接続された他の機器及びインターネット３０を介してセンターシステム１０との通信を行うためのインタフェースである。有線無線を問わず、任意の規格のインタフェースを採用可能である。
また、制御部２５４は、中央演算処理装置（ＣＰＵ）２５４ａ、ＲＯＭ２５４ｂ、ＲＡＭ２５４ｃを備え、仲介機器２５全体を制御する機能を備える。
【００１７】
ＣＰＵ２５４ａは、ＯＳや所定のプログラムを記憶部２５１からロードして実行することで種々の機能を発揮する。ＲＯＭ２５４ｂはＢＩＯＳ等、ＯＳを起動するためのプログラムや設定ファイルを記憶している。ＲＡＭ２５４ｃは、ＣＰＵ２５４ａのワークメモリとして、ＯＳやプログラムを実行するための作業領域になる。
【００１８】
次に、仲介機器の機器管理制御部２５２の機能構成について、図３を用いて説明する。
図３は、本実施形態における仲介機器の機器管理制御部２５２の機能構成を示すブロック図である。本実施例ではソフトウェアによって機能実現しているが、上述の通り、専用のハードウェアで構成してもよいことは言うまでもない。
【００１９】
仲介機器２５は、機器通信部２５２ａと、名前解決制御部２５２ｂと、検索制御部２５２ｃと、メモリ監視部２５２ｄと、センター通信部２５２ｅとを備える。
このうち、機器通信部２５２ａは、機器２４との通信を行い、機器情報を取得する機能を備える。なお、機器情報とは、例えば、機器名、ＩＰアドレス、機器の機能、動作ログ、故障履歴、リソース情報等、機器２４に記憶される、機器２４の識別、設定、管理等のために使用する情報である。
名前解決制御部２５２ｂは、ＤＮＳサーバ２３からＩＰアドレスを取得する機能を備える。なお、ネットワーク上で、コンピュータやネットワーク機器につけられた名前からアドレスを割り出すこと、またはその逆を「名前解決」という。
【００２０】
また、検索制御部２５２ｃは、検索実行スレッドの生成可否判定や、名前解決制御部２５２ｂに対して名前解決の依頼を行ったり、機器通信部２５２ａに対して機器情報の取得を依頼したりする機能を備える。
メモリ監視部２５２ｄは、システムのワークメモリ使用状況を常に監視し、検索制御部２５２ｃからの問い合わせがあれば、ワークメモリ空き容量を回答する機能を備える。
センター通信部２５２ｅは、機器通信部２５２ａが取得した情報をプロキシサーバ２１及びインターネット３０を経由してセンターシステム１０に通知する機能を備える。
【００２１】
図４は、検索制御部２５２ｃが持つ機能である検索実行スレッドの生成可否判定に使用されるデータを示す図である。
この実施例における検索実行スレッドの生成可否の判定に使用されるデータは、図４に示す通りである。すなわち、ワークメモリ空き容量４１（Ｒ）、１台あたりの機器情報の容量４２（Ａ）、１スレッドで使用する最大の機器情報のメモリ容量４３（Ｃ×Ａ）、１スレッドで使用する最大メモリ容量（機器情報のメモリ容量以外）４４（Ｂ）である。
【００２２】
以上のデータを用いて、生成可能スレッド数４５（Ｎ）が算出される。計算式は以下の（式１）の通りである。［Ｘ］はガウス記号であり、Ｘを超えない最大整数を表す。
Ｎ＝［Ｒ／（Ｃ×Ａ＋Ｂ）］・・・（式１）
次に、現在起動しているスレッド数と、生成可能スレッド数４５を比較することで、スレッド生成の可否が判定される。
【００２３】
なお、この実施例では、現在起動しているスレッド数が生成可能スレッド数を超えないことを生成可否判定の条件としているが、これは検索実行スレッドによるワークメモリの占有率を概ね半分までに抑える場合のものである。
これとは別に、（現在起動しているスレッド数）≦（生成可能スレッド数）×０．９のように比率を変えてもよい。こうすることによって、メモリ不足による障害の発生の可能性を低くすることができる。
【００２４】
なお、ワークメモリ空き容量４１は、検索制御部２５２ｃがメモリ監視部２５２ｄから取得する。１台あたりの機器情報の容量４２は、検索で取得する機器情報の最大値が事前に計算され、記憶部２５１内に保存されている。ただし、１台あたりの機器情報の容量４２は、実際に取得したデータのサイズに基づいて自動設定することも可能である。
【００２５】
検索実行スレッドの処理の中で、機器情報は一部または全体をコピーして使用される。そのため、１スレッドで使用する最大の機器情報のメモリ容量４３は、１台あたりの機器情報の容量４２を定数倍した値となる。その定数Ｃは、事前に計算によって求められ、記憶部２５１内に保存されている。
１スレッドで使用する最大メモリ容量（機器情報のメモリ容量以外）４４は、スレッドの変数に使用されるメモリ容量が事前に計算されて記憶部２５１内に保存されている。
【００２６】
以上のデータを用いて、ＣＰＵ２５４ａが検索制御部２５２ｃとして機能する際に実行する、検索実行スレッドの生成可否判定の動作について説明する。図５は、そのスレッド生成可否判定の処理のフローチャートの一例を示す図である。
まず、ＣＰＵ２５４ａは、機器１台あたりの機器情報の容量（Ａ）と、定数（Ｃ）とを記憶部２５１から読み出し、それらを掛け合わせて、１スレッドで使用する最大の機器情報のメモリ容量（Ｃ×Ａ）を計算する（Ｓ１）。
【００２７】
次に、ＣＰＵ２５４ａは、１スレッドで使用する最大メモリ容量（機器情報のメモリ容量以外）（Ｂ）を記憶部２５１から読み出す（Ｓ２）。なお、ステップＳ１とＳ２は順序が逆でもよい。
次に、ＣＰＵ２５４ａは、ステップＳ１で取得した（Ｃ×Ａ）と、ステップＳ２で取得した（Ｂ）とから、１スレッドで使用する最大メモリ容量の合計（Ｃ×Ａ＋Ｂ）を計算する（Ｓ３）。
そして、ＣＰＵ２５４ａは、メモリ監視部２５２ｄから、ワークメモリ空き容量（Ｒ）を取得する（Ｓ４）。
【００２８】
そして、ＣＰＵ２５４ａは、ステップＳ３で求めた１スレッドで使用する最大メモリ容量の合計（Ｃ×Ａ＋Ｂ）と、ステップＳ４で取得したワークメモリ空き容量（Ｒ）とを、上記式１に代入して、生成可能スレッド数（Ｎ）を計算する（Ｓ５）。
ＣＰＵ２５４ａは、検索制御部２５２ｃが把握している現在起動しているスレッド数と、ステップＳ５で計算した生成可能スレッド数Ｎを比較し（Ｓ６）、現在起動しているスレッド数が生成可能スレッド数Ｎを超えていなければ、「スレッド生成可」と判定する（Ｓ７）。
【００２９】
一方、現在起動しているスレッド数が生成可能スレッド数Ｎを超えていれば、「スレッド生成不可」と判定する（Ｓ８）。
図４の例では、Ｒ＝３７０００［ｋＢ］、Ａ＝１２８［ｋＢ］、Ｃ×Ａ＝２７２［ｋＢ］、Ｂ＝８［ｋＢ］となっており、生成可能スレッド数Ｎは、
Ｎ＝［３７０００／（２７２＋８）］＝［１３２．１４…］＝１３２［個］となる。
なお、制御部２５４と検索制御部２５２ｃとが協働して行う上記図５の処理が、新たに特定の処理スレッドを起動してよいか否か決定する決定手段としての機能に相当する。
また、一つのホスト名配列に係る各ホストのアドレスを取得する等、同じ処理を繰り返す場合には、基本的にＣ×Ａ＋Ｂの値は変動しないので、これを毎回計算し直す必要はない。
【００３０】
次に、仲介機器２５がホスト名指定検索する際の具体的な処理について説明する。図６は、ＰＣ２６からの要求で、仲介機器２５がホスト名指定検索を行う場合の処理のシーケンスを示した図である。この処理は、ＣＰＵ２５４ａが所定の制御プログラムによって、機器管理制御部２５２の各機能ブロックの機能を実現して行うものであるが、説明の都合上、機器管理制御部２５２の各機能ブロック自身が行うものとして説明する。
【００３１】
まず、ユーザがＰＣ２６から、仲介機器２５内の検索制御部２５２ｃに対して、機器２４のホスト名の配列を渡して、ホスト名指定検索の実行を依頼する（Ｓ１１）。すると、検索制御部２５２ｃは、スレッド数をクリアして０にする（Ｓ１２）。
【００３２】
次に、検索制御部２５２ｃは、現在起動中の検索実行スレッド２６０の数をカウントし、これが０か否かを判定する（Ｓ１３）。ステップＳ１２でスレッド数がクリアされているので、一度目はここでは０と判定され（Ｓ１３のＹ）、スレッド数が０であるので（Ｓ１４のＹ）、検索実行スレッド２６０を生成して、ホスト名の配列からホスト名を一つ、検索に用いるホスト名としてその生成した検索実行スレッド２６０に渡す（Ｓ１５）。
【００３３】
なお、制御部２５４と検索制御部２５２ｃが協働することにより、起動中の特定の処理スレッド数をカウントするカウント手段としての機能が実現される。
また、制御部２５４と検索制御部２５２ｃが協働して、上記検索実行スレッド２６０を生成することが、特定の処理スレッドを生成する生成手段としての機能である。ここでは、検索実行スレッド２６０が特定の処理スレッドに該当する。
【００３４】
次に、検索制御部２５２ｃは、スレッド数を１加算する（Ｓ１６）。そして、ホスト名の配列から、検索実行スレッド２６０に渡したホスト名を削除する（Ｓ１７）。
ホスト名の配列が空でなければ（Ｓ１８のＮ）、一定時間待機し（Ｓ１９）、ステップＳ１３に戻る。そこで、起動中の検索実行スレッド２６０の数をカウントし、スレッド数が０でなければ（Ｓ１３のＮ）、検索制御部２５２ｃは、メモリ監視部２５２ｄに対して、ワークメモリ空き容量を問い合わせる（Ｓ２０）。そこで、メモリ監視部２５２ｄは検索制御部２５２ｃに対して、ワークメモリ空き容量を回答する（Ｓ２１）。
【００３５】
なお、制御部２５４と、検索制御部２５２ｃと、メモリ監視部２５２ｄとが協働することにより、ワークメモリの空き容量を取得するメモリ監視手段としての機能が実現される。
ステップＳ１９で一定時間待機するのは、短時間で大量にスレッドを生成して、一気に大量のワークメモリを使ってしまうことを防止するためである。
【００３６】
次に、検索制御部２５２ｃは、スレッド生成可否判定を行う（Ｓ２２）。可否判定のフローは、図５のフローチャートの通りであり、すでに説明済みであるので、説明は省略する。
スレッド生成可否判定の結果、スレッド生成可と判定された場合は（Ｓ１４のＹ）、検索実行スレッドを生成して、ホスト名の配列からホスト名を一つ、検索に用いるホスト名としてその生成した検索実行スレッドに渡す（Ｓ１５）。その後の処理は上述の通りである。
【００３７】
もし、スレッド生成不可と判定された場合は（Ｓ１４のＮ）、一定時間が経過するまで待機する（Ｓ１９）。すぐに再判断をしても結果は変わらないためである。少し時間が経てば、検索実行スレッド２６０の処理終了や他用途で占有されているワークメモリの解放がある可能性がある。なお、ここでの待機時間は、ステップＳ１８でＮの場合の待機時間と異なっていてもよい。
【００３８】
そして、ステップＳ２２の後はステップＳ１３に戻り、起動中のスレッド数が０でなければ（Ｓ１３のＮ）、ワークメモリ空き容量をメモリ監視部に問い合わせる（Ｓ２０）。そこで、メモリ監視部２５２ｄは検索制御部２５２ｃに対して、ワークメモリ空き容量を回答する（Ｓ２１）。
【００３９】
その後、再びスレッド生成可否判定が行われ（Ｓ２２）、スレッド生成可の場合は（Ｓ１４のＹ）、ステップＳ１５〜Ｓ１７の処理が行われる。また、スレッド生成不可の場合は、一定時間が経過するまで待機し（Ｓ２２）、上記の動作を繰り返す。
上記の処理は、渡したホスト名の配列が空になるまで、すなわちステップＳ１１で依頼された検索実行に係る処理を検索実行スレッドに依頼し終えるまで繰り返され（Ｓ１８のＮ）、ホスト名の配列が空になると（Ｓ１８のＹ）、終了する。
【００４０】
次に、生成された検索実行スレッド２６０での処理について、同じ図６を用いて説明する。検索実行スレッド２６０では、渡されたホスト名がＮＵＬＬでない場合は、次の処理を行う。
まず、検索実行スレッド２６０は、名前解決制御部２５２ｂに対して機器２４のホスト名を送り、名前解決を依頼する（Ｓ２３）。次に、名前解決制御部２５２ｂは、ＤＮＳサーバ２３に対してホスト名を送り、対応するＩＰアドレスの送信を要求する（Ｓ２４）。ＤＮＳサーバ２３は、ホスト名からＩＰアドレスを割り出して仲介機器２５の名前解決制御部２５２ｂに返信する（Ｓ２５）。そして、名前解決制御部２５２ｂは、検索実行スレッド２６０に、そのホスト名のＩＰアドレスを返信する（Ｓ２６）。
【００４１】
次に、検索実行スレッド２６０は、取得したＩＰアドレスを用いて、機器通信部２５２ａに対して機器情報の取得を依頼する（Ｓ２７）。機器通信部２５２ａは、そのＩＰアドレスを持つ機器２４に対して通信を行い、機器情報の送信を要求する（Ｓ２８）。
機器２４は、自分の機器情報を機器通信部２５２ａに対して返信する（Ｓ２９）。次に、機器通信部２５２ａは検索実行スレッド２６０に対して機器情報を返す（Ｓ３０）。検索実行スレッド２６０は、取得した機器情報を記憶部２５１に保存する（Ｓ３１）。検索実行スレッド２６０は、スレッド数を１減算する（Ｓ３２）。これにより、処理が終わったスレッドの分だけ数が減る。その後、検索実行スレッド２６０は処理を終了し、自身を消滅させる。
【００４２】
図７は、本実施形態及び従来方式での、仲介機器におけるホスト名指定検索の実行結果について説明するための図である。
図７は、図４に示したパラメータを用いて、図６に示したシーケンスによるホスト名指定検索を行った場合の結果を示している。
すなわち、ワークメモリの空き容量７１、生成可能スレッド数７２、検索完了スレッド数７３、従来のホスト名指定検索の際の検索完了スレッド数７４、起動しているスレッド数７５を模擬的に計算し、２５６台の機器を検索する際の経時変化を示したものである。
【００４３】
ここで、検索を行う仲介機器２５は、毎秒５個のスレッドを生成する処理能力があり、検索実行スレッドは１５秒間で１台の検索を完了するものと仮定して計算している。
また、システムのワークメモリの空き容量７１は、開始２０秒後から９０秒後までの間、大幅に減少する（すなわち、システムが高負荷状態になる）と仮定している。
【００４４】
起動しているスレッド数７５は、処理開始後１５秒間は徐々に増加する。そして、１５秒後に生成可能スレッド数７２とほぼ等しくなるため、以後は処理の終了した分だけスレッドが新規に生成されるのみであり、起動しているスレッド数７５は横ばいとなる。すなわち、検索実行スレッド２６０が初期のワークメモリの空き容量の約半分を占有した段階で平衡状態となる。
【００４５】
その後、開始２０秒後にワークメモリの空き容量が減少すると、それによって生成可能スレッド数７２が減少し、起動しているスレッド数７５を下回るため、検索実行スレッド２６０の新規生成が行われなくなる。この状態では、各スレッドに係る処理の終了につれて、起動しているスレッド数７５が減少する。そして、起動しているスレッド数７５と生成可能スレッド数７２とが等しくなると、すなわち、ワークメモリのうち他の用途に拘束されていない部分の約半分を検索実行スレッド２６０が占有した状態になると、再度平衡状態となる。
【００４６】
開始９０秒後までこの状態が継続し、その後ワークメモリの空き容量が増加すると、再度起動しているスレッド数７５が増加する。そして、開始１００秒後には、全ての処理を検索実行スレッド２６０に依頼し終えるため、新たにスレッドが生成されることがなくなり、各スレッドでの処理の終了につれて、起動しているスレッド数７５が減少する。
１１３秒後には全てのスレッドで処理が完了し、起動しているスレッド数７５は０となる。
このように、本実施形態を適用したホスト名指定検索では、１１３秒で２５６台の検索を完了していることが分かる。
【００４７】
一方、従来のホスト名指定検索は、シングルスレッドで逐次的に検索を行っているので、２５６台の検索を完了するには３８４０秒かかる。図中ではこのうち８台の検索が完了する時点までが描かれている。
以上からわかるように、本実施形態を適用することにより、検索処理を高速に実行しつつ、ワークメモリの枯渇を防止することができる。すなわち、処理の高速化と、システムの高負荷時におけるメモリ不足による障害の発生防止を両立することができる。
【００４８】
これは、図５に示したように、ワークメモリの空き容量と、特定の処理スレッドの数とに基づき、その特定の処理スレッドを生成してよいか否か決定するようにしたことによるものである。このことにより、検索処理の実行中に急激にワークメモリの空き容量が減少しても、速やかにそれに対応して処理スレッド数を減少させることができる。
また、生成可否の決定の際、特定の処理スレッドの１つが使用するメモリ容量も考慮すると、より容易かつ正確に決定を行うことができる。
【００４９】
以上で実施形態の説明を終了するが、この発明において、各装置の具体的な構成、処理の内容、データの構成、使用する装置の台数等は、実施形態で説明したものに限るものではない。
例えば、本発明の実施例におけるスレッド生成可否判定は、ワークメモリ空き容量から生成可能スレッド数を計算して行っているが、ワークメモリの空き容量が所定の値（閾値）以下となったら新たなスレッドの生成を不可とするようにしてもよい。
【００５０】
また、本実施例においては、特定の処理がホスト名指定検索である場合を例として説明したが、本発明はこれに限らず、他のマルチタスクによる処理に適用できることは言うまでもない。適用対象が遠隔管理に係る処理に限られないことも、もちろんである。
また、仲介機器２５が備えるスレッド生成管理の機能を、複数の装置に分散して設け、これらの装置に協働してその機能を実現させるようにしてもよい。仲介機器２５に、他の機器の機能を併せ持たせてもよい。
【００５１】
その他の点でも、発明を実施するための形態について説明を行ったが、本発明は、上述した実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
さらに、以上説明した各実施形態、動作及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることはもちろんである。
【符号の説明】
【００５２】
１０：センターシステム、１１：センターサーバ、２０：ＬＡＮ、２１：プロキシサーバ、２２：ＤＨＣＰサーバ、２３：ＤＮＳサーバ、２４：機器、２５：仲介機器（情報処理装置）、２６：クライアントＰＣ、３０：インターネット、２５１：記憶部、２５２：機器管理制御部、２５２ａ：機器通信部、２５２ｂ：名前解決制御部、２５２ｃ：検索制御部、２５２ｄ：メモリ監視部、２５２ｅ：センター通信部、２５３：通信制御インタフェース、２５４：制御部、２５４ａ：ＣＰＵ、２５４ｂ：ＲＯＭ、２５４ｃ：ＲＡＭ、２６０：検索実行スレッド
【先行技術文献】
【特許文献】
【００５３】
【特許文献１】特開２００８−２２６０３８号公報
【図２】
2014174946.tif 000003
【図３】
2014174946.tif 000004
【図４】
2014174946.tif 000005
【図５】
2014174946.tif 000006
【図６】
2014174946.tif 000007
【図７】
2014174946.tif 000008
【図１】
2014174946.tif 000009