(57)【要約】【課題】ネットワークに接続された機器の検索結果の表示処理を実行するスレッド数を適切に算出することのできる情報処理装置、表示用スレッド数算出方法、表示用スレッド数算出プログラムの提供を目的とする。【解決手段】ネットワークに接続された機器の検索条件の入力を受け付ける検索条件入力手段と、前記検索条件に応じて記憶装置に記録されている数値に基づいて、当該検索条件による前記機器の検索結果の表示処理を実行するためのスレッドの数を算出する表示用スレッド数算出手段とを有することにより上記課題を解決する。【選択図】図４
2008226038.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された機器の検索条件の入力を受け付ける検索条件入力手段と、
前記検索条件に応じて記憶装置に記録されている数値に基づいて、当該検索条件による前記機器の検索結果の表示処理を実行するためのスレッドの数を算出する表示用スレッド数算出手段とを有することを特徴とする情報処理装置。
【請求項２】
前記表示用スレッド数算出手段は、前記機器のアドレス情報の範囲に応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記表示用スレッド数算出手段は、前記機器を検索するために用いられるプロトコルに応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記表示用スレッド数算出手段は、前記機器を検索するために用いられる通信方式に応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項１乃至３いずれか一項記載の情報処理装置。
【請求項５】
前記表示用スレッド数算出手段は、前記検索結果の表示処理を実行する装置のスペックに応じて前記記憶装置に記録されている数値に基づいて、前記スレッドの数を算出することを特徴とする請求項１乃至４いずれか一項記載の情報処理装置。
【請求項６】
コンピュータが実行する表示用スレッド数算出方法であって、
ネットワークに接続された機器の検索条件の入力を受け付ける検索条件入力手順と、
前記検索条件に応じて記憶装置に記録されている数値に基づいて、当該検索条件による前記機器の検索結果の表示処理を実行するためのスレッドの数を算出する表示用スレッド数算出手順とを有することを特徴とする表示用スレッド数算出方法。
【請求項７】
前記表示用スレッド数算出手順は、前記機器のアドレス情報の範囲に応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項６記載の表示用スレッド数算出方法。
【請求項８】
前記表示用スレッド数算出手順は、前記機器を検索するために用いられるプロトコルに応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項６又は７記載の表示用スレッド数算出方法。
【請求項９】
前記表示用スレッド数算出手順は、前記機器を検索するために用いられる通信方式に応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項６乃至８いずれか一項記載の表示用スレッド数算出方法。
【請求項１０】
前記表示用スレッド数算出手順は、前記検索結果の表示処理を実行する装置のスペックに応じて前記記憶装置に記録されている数値に基づいて、前記スレッドの数を算出することを特徴とする請求項６乃至９いずれか一項記載の表示用スレッド数算出方法。
【請求項１１】
コンピュータに、
ネットワークに接続された機器の検索条件の入力を受け付ける検索条件入力手順と、
前記検索条件に応じて記憶装置に記録されている数値に基づいて、当該検索条件による前記機器の検索結果の表示処理を実行するためのスレッドの数を算出する表示用スレッド数算出手順とを実行させるための表示用スレッド数算出プログラム。
【請求項１２】
前記表示用スレッド数算出手順は、前記機器のアドレス情報の範囲に応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項１１記載の表示用スレッド数算出プログラム。
【請求項１３】
前記表示用スレッド数算出手順は、前記機器を検索するために用いられるプロトコルに応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項１１又は１２記載の表示用スレッド数算出プログラム。
【請求項１４】
前記表示用スレッド数算出手順は、前記機器を検索するために用いられる通信方式に応じて前記記憶装置に記録されている数値に基づいて前記スレッドの数を算出することを特徴とする請求項１１乃至１３いずれか一項記載の表示用スレッド数算出プログラム。
【請求項１５】
前記表示用スレッド数算出手順は、前記検索結果の表示処理を実行する装置のスペックに応じて前記記憶装置に記録されている数値に基づいて、前記スレッドの数を算出することを特徴とする請求項１１乃至１４いずれか一項記載の表示用スレッド数算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示用スレッド数算出方法、表示用スレッド数算出プログラムに関し、特にネットワークに接続された機器の検索に関する情報処理装置、表示用スレッド数算出方法、表示用スレッド数算出プログラムに関する。
【背景技術】
【０００２】
ネットワーク機器の管理や利用等を目的とし、ネットワークに接続されている機器を検索し、その一覧情報を表示させるシステムが存在する。ネットワークに接続されている機器が多いと、当該一覧情報の表示処理に時間がかかる場合がある。そこで、従来、複数のスレッドによって表示処理を分担させることにより、処理速度の向上が図られていた。
【特許文献１】特開２００２−１３２７８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、スレッド数が適切でないと、検索結果に対して過剰なスレッドが生成されたり、検索結果に対してスレッド数が少なすぎたりといった事態が発生する。前者の場合は、検索結果の表示処理を実行する装置のリソースを必要以上に消費してしまうという問題がある。後者の場合は、検索結果の表示処理の効率化（高速化）が適切に図らないという問題がある。
【０００４】
本発明は、上記の点に鑑みてなされたものであって、ネットワークに接続された機器の検索結果の表示処理を実行するスレッド数を適切に算出することのできる情報処理装置、表示用スレッド数算出方法、表示用スレッド数算出プログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
そこで上記課題を解決するため、本発明は、ネットワークに接続された機器の検索条件の入力を受け付ける検索条件入力手段と、前記検索条件に応じて記憶装置に記録されている数値に基づいて、当該検索条件による前記機器の検索結果の表示処理を実行するためのスレッドの数を算出する表示用スレッド数算出手段とを有することを特徴とする。
【０００６】
このような情報処理装置では、ネットワークに接続された機器の検索結果の表示処理を実行するスレッド数を適切に算出することができる。
【発明の効果】
【０００７】
本発明によれば、ネットワークに接続された機器の検索結果の表示処理を実行するスレッド数を適切に算出することのできる情報処理装置、表示用スレッド数算出方法、表示用スレッド数算出プログラムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるネットワークシステムの構成例を示す図である。図１においてネットワークシステム１は、ＬＡＮ（Local Area Network）３０ａ及びＬＡＮ３０ｂ等（以下、総称する場合「ネットワーク３０」という。）の複数のセグメント（有線又は無線の別は問わない。）より構成されている。各セグメントには、それぞれ異なるネットワークアドレスが割り当てられている。図中において、ＬＡＮ３０ａには、機器検索装置１０、クライアント装置２０、機器５０ａ、及び機器５０ｂが接続されている。ＬＡＮ３０ｂには、機器５０ｃ、機器５０ｄ、機器５０ｅ、及び機器５０ｄ等が接続されている。なお、機器５０ａ〜５０ｄを総称する場合、「機器５０」という。
【０００９】
機器検索装置１０は、クライアント装置２０より機器５０の検索要求を受信し、当該検索要求において指定されている検索条件に合致する機器５０をネットワーク３０より検索する。機器検索装置１０は、検索要求に対する応答として、検索結果（機器５０の一覧情報）を検索要求クライアント装置２０に返信する。機器検索装置１０は、各機器と複数のプロトコル（例えば、ＨＴＴＰ（HyperText Transfer Protocol）、ＳＮＭＰ（Simple Network Management Protocol）及び複数の通信方式（例えば、ブロードキャスト、Ｐｉｎｇｓｗｅｅｐ等）によって通信することが可能である。
【００１０】
クライアント装置２０は、ユーザより検索条件の入力を受け付け、当該検索条件に基づく機器５０の検索要求を機器検索装置１０に送信する。クライアント装置２０は、検索要求に応じて返信される機器５０の一覧情報（以下、「機器一覧」という。）を表示装置に表示させる。
【００１１】
機器５０は、プリンタ、ファクシミリ、コピー機、複合機等、一般的なネットワーク機器である。
【００１２】
なお、図１では、便宜上、二つのセグメント（ＬＡＮ３０ａ及びＬＡＮ３０ｂ）しか図示されていないが、更に多数のセグメントに多数の機器５０（例えば、数百台〜数千台）が接続されているものとする。斯かる状態の方が、本発明の効果を顕著に得ることができるからである。
【００１３】
図２は、本発明の実施の形態における機器検索装置及びクライアント装置の機能構成例を示す図である。図２において、機器検索装置１０は、要求受信部１１、要求応答部１２、スレッド数算出部１３、機器検索部１４、リソース係数テーブル１５、アドレス範囲係数テーブル１６、及びプロトコル係数テーブル１７等を有する。
【００１４】
要求受信部１１は、クライアント装置２０より、機器５０の検索要求等を受信する（検索条件の入力を受け付ける）。要求応答部１２は、機器５０の検索結果をクライアント装置２０に応答（送信）する。スレッド数算出部１３は、クライアント装置２０において機器５０の検索結果の表示処理を実行するスレッドの数又はその上限（以下、「表示用スレッド数」という。）と、機器検索装置１０において機器の検索処理を実行するスレッドの数又はその上限（以下、「検索用スレッド数」という。）とを算出する。スレッド数算出部１３は、リソース係数テーブル１５、アドレス範囲係数テーブル１６、及びプロトコル係数テーブル１７等を用いて表示用スレッド数等を算出する。機器検索部１４は、クライアント装置２０からの検索要求に応じて、機器５０の検索処理を実行する。機器検索部１４は、スレッド数算出部１３によって算出される検索用スレッド数分のスレッドによって機器５０の検索処理を並列的に実行する。
【００１５】
一方、クライアント装置２０は、ＧＵＩ（Graphical User Interface）部２１、検索要求部２２、及び検索結果表示制御部２３等を有する。ＧＵＩ部２１は、機器５０の検索条件の入力画面（以下「検索条件入力画面」という。）や、検索結果の表示画面（以下「検索結果表示画面」という。）等、のＧＵＩを表示装置に表示させる。検索要求部２２は、検索条件入力画面に対する入力に応じて、機器５０の検索要求を機器検索装置１０に送信する。検索結果表示制御部２３は、機器検索装置１０から転送される機器５０の検索結果を受信し、当該検索結果を検索結果表示画面に表示させるための処理を制御する。検索結果表示制御部２３は、スレッド数算出部１３によって算出される表示用スレッド数分のスレッドによって検索結果の表示処理を並列的に実行する。
【００１６】
図３は、本発明の実施の形態における機器検索装置のハードウェア構成例を示す図である。図３の機器検索装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５とを有するように構成される。
【００１７】
機器検索装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。
【００１８】
プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。例えば、補助記憶装置１０２には、リソース係数テーブル１５、アドレス範囲係数テーブル１６、及びプロトコル係数テーブル１７等が記録される。
【００１９】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って機器検索装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２０】
なお、クライアント装置２０も、機器検索装置１０と同様のハードウェアによって構成すればよい。但し、クライアント装置２０には、各種情報を表示させるための表示装置と、ユーザからの入力指示を受け付けるためのマウス、キーボード等の入力装置とが接続される。
【００２１】
以下、クライアント装置２０及び機器検索装置１０の処理手順について説明する。図４は、クライアント装置及び機器検索装置の処理手順を説明するためのフローチャートである。
【００２２】
まず、クライアント装置２０の表示装置に表示されている検索条件入力画面を介して、ＧＵＩ部２１は、機器５０の検索条件の入力を受け付ける（Ｓ１０１）。
【００２３】
図５は、検索条件入力画面の表示例を示す図である。図５において、検索条件入力画面２００は、検索条件として、機器５０の検索に用いる通信プロトコル（検索プロトコル）、検索に用いる通信方式、及び検索範囲の指定が可能とされている。
【００２４】
プロトコルの指定は、プロトコル選択領域２１０のトグルボタン２１１によって行われる。図中では、ＳＮＭＰｖ１／ｖ２又はＳＮＭＰｖ３のいずれか一方の指定が可能とされている。但し、ＨＴＴＰ（HyperText Transfer Protocol）等、他のプロトコルを選択肢に加えても良い。
【００２５】
通信方式及び検索範囲の指定は、検索範囲指定領域２２０において行われる。本実施の形態では、通信方式として、ブロードキャスト及びＰｉｎｇｓｗｅｅｐの指定が可能である。ブロードキャストによって検索を行う場合、チェックボタン２２１及び２２２の少なくともいずれか一方が選択（チェック）される。チェックボタン２２１がチェックされると、ローカルネットワーク（機器検索装置１０と同じセグメント）内が検索範囲とされる。チェックボタン２２２が選択されると、サブネット指定されたＩＰアドレスの範囲が検索範囲とされる。検索範囲とするサブネットは、ボタン２２３をクリックすることにより表示されるダイアログにおいて指定可能である。検索範囲として指定されたサブネットは、そのサブネットマスクと共にサブネットリスト領域２２４に表示される。
【００２６】
Ｐｉｎｇｓｗｅｅｐによって検索を行う場合、チェックボタン２２５が選択される。Ｐｉｎｇｓｗｅｅｐによって検索範囲とするＩＰアドレスの範囲（サブネット、サブネットマスク、範囲の開始アドレス（はじめ）、範囲の終了アドレス（終わり））は、ボタン２２６をクリックすることにより表示されるダイアログにおいて指定可能である。指定されたＩＰアドレスの範囲は、ＩＰアドレスリスト領域２２７に表示される。
【００２７】
なお、ブロードキャストとＰｉｎｇｓｗｅｅｐとは排他的な関係ではなく、双方を同時に利用することができる。図中では、プロトコルとしてＳＮＭＰｖ３が指定され、通信方式としてブロードキャストとＰｉｎｇｓｗｅｅｐの双方を用いることが指定された例が示されている。
【００２８】
検索条件入力画面２００において検索条件が入力され、ＯＫボタン２３０がクリックされると、検索要求部２２は、クライアント装置２０のリソース情報（スペック及び性能に関する情報も含む）を取得する（Ｓ１０２）。例えば、ＣＰＵのスペック（クロック数等）や、メモリ（ＲＡＭ）の容量等が取得される。リソース情報は、ＯＳ（Operating System）によって提供されている関数やコマンド等を用いて取得すればよい。
【００２９】
続いて、検索要求部２２は、検索条件とリソース情報とを含むリクエスト情報を作成し、当該リクエスト情報を機器検索装置１０に送信することで、機器５０の検索を機器検索装置１０に要求する（Ｓ１０３）。
【００３０】
図６は、リクエスト情報の例を示す図である。図６に示されるリクエスト情報５１０は、ＸＭＬ（eXtensible Markup Language）形式によって表現されている。なお、図６の内容は、図５の検索条件の入力例に対応している
リクエスト情報５１０において、Ｐｒｏｃｅｓｓｏｒ要素５１１及びＭｅｍｏｒｙ要素５１２は、クライアント装置２０のリソース情報を示す。すなわち、Ｐｒｏｃｅｓｓｏｒ要素５１１は、クライアント装置２０のＣＰＵのスペック（図中の例では、クロック数が１３００ＭＨｚ）を示し、Ｍｅｍｏｒｙ要素５１２は、クライアント装置２０のＲＡＭの容量（図中の例では７６６ＭＢ）を示す。
【００３１】
ｄｉｓｃｏｖｅｒｙ要素５１３の各子要素は、検索条件入力画面２００を介して入力された検索条件を示す。すなわち、ｐｒｏｔｏｃｏｌ要素５１４は、検索プロトコルの指定を示す。ｄｉｓｃｏｖｅｒｙｍｅｔｈｏｄ１要素５１５は、ブロードキャストによる検索に関する指定を示す。斯かる旨は、ｍｅｔｈｏｄ１要素５１５１の値が「ｂｒｏａｄｃａｓｔ」であることによって識別される。入力された各サブネットは、ｉｎｄｅｘｅｄＲａｎｇｅ要素によって示される。例えば、ｉｎｄｅｘｅｄＲａｎｇｅ要素５１５２には、図５のサブネットリスト領域２２４の一行目に入力された値として、ｉｎｄｅｘ要素５１５２ａに「１」が、ｎｅｔｗｏｒｋ要素５１５２ｂに「１９２．１６８．１０．０」が、ｓｕｂｎｅｔｍａｓｋ要素５１５２ｃに「２５５．２５５．２５５．０」が指定されている。なお、参照番号５１５３に示される位置には、他のサブネットの指定が記述されるが、図中では便宜上省略されている。
【００３２】
また、ｄｉｓｃｏｖｅｒｙｍｅｔｈｏｄ２要素５１６は、Ｐｉｎｇｓｗｅｅｐによる検索に関する指定を示す。斯かる旨は、ｍｅｔｈｏｄ２要素５１６１の値が「ｐｉｎｇｓｗｅｅｐ」であることによって識別される。入力されたＩＰアドレスの範囲は、ｉｎｄｅｘｅｄＲａｎｇｅ要素によって示される。例えば、ｉｎｄｅｘｅｄＲａｎｇｅ要素５１６２には、図５のＩＰアドレスリスト領域２２７の一行目に入力された値として、ｉｎｄｅｘ要素５１６２ａに「１」が、ｎｅｔｗｏｒｋ要素５１６２ｂに「１９２．１６８．２０．０」が、ｓｕｂｎｅｔｍａｓｋ要素５１６２ｃに「２５５．２５５．２５５．０」が、ｓｔａｒｔＩＰ要素５１６２ｄに「１９２．１６８．２０．１」が、ｅｎｄＩＰ要素５１６２ｅに「１９２．１６８．２０．２５４」が指定されている。なお、参照番号５１６３に示される位置には、他のＩＰアドレスの範囲指定が記述されるが、図中では便宜上省略されている。
【００３３】
続いて、機器検索装置１０の要求受信部１１は、リクエスト情報５１０を受信すると、リクエスト情報５１０をパース（解析）し、リクエスト情報５１０よりクライアントＰＣ２０のリソース情報と、検索条件とを取り出す（Ｓ１０４）。
【００３４】
続いて、スレッド数算出部１３は、リクエスト情報５１０より取り出されたリソース情報及び検索条件に基づいて表示用スレッド数を判定する。まず、スレッド数算出部１３は、リソース情報をリソース係数テーブル１５に当てはめることにより、表示用スレッド数を算出するための数値であるリソース係数を判定する（Ｓ１０５）。
【００３５】
図７は、リソース係数テーブルの例を示す図である。図７において、リソース係数テーブル１５は、ＣＰＵのスペックとメモリの容量との組み合わせに応じて、リソース係数が登録されているテーブルである。リソース係数テーブル１５では、ＣＰＵのスペックが高く、メモリの容量が大きい程、高い値が設定されている。リソースが豊富な程、多くのスレッドによって処理を行うことが可能であり、また、効率的だからである。例えば、図６に示されるリソース情報によれば、クライアン装置２０のＣＰＵのクロック数は、１３００ＭＨｚ（レンジ３）でありメモリ容量は７６６ＭＢ（レンジ３）である。したがって、この場合、リソース係数の値は「２．０」となる。
【００３６】
続いて、スレッド数算出部１３は、検索条件において指定された、通信方式及び検索範囲をアドレス範囲係数テーブル１６に当てはめることにより、表示用スレッド数を算出するための数値であるアドレス範囲係数を判定する（Ｓ１０６）。本実施の形態において、アドレス範囲係数テーブル１６は、通信方式に応じて構成されている。したがって、ブロードキャストとＰｉｎｇｓｗｅｅｐの双方によって検索を行う場合、それぞれについてアドレス範囲係数が判定される。
【００３７】
図８は、ブロードキャスト用のアドレス範囲係数テーブルの例を示す図である。図８において、ブロードキャスト用アドレス範囲係数テーブル１６ａは、ＩＰアドレスの範囲と、その範囲に対応するアドレス範囲係数（ブロードキャスト用アドレス範囲係数）が登録されているテーブルである。図中では、ＩＰアドレスの範囲は、クラスＣのネットワークセグメント（サブネット）が１個未満指定されている場合（これは、ローカルネットワークが検索範囲として指定されている場合に対応する）、クラスＣのネットワークセグメントが１〜２０未満指定されている場合、クラスＣのネットワークセグメントが２０以上指定されている場合、クラスＢのネットワークセグメントが１個指定されている場合、クラスＢのネットワークセグメントが２以上指定された場合に分類されている。例えば、図５の例では、ブロードキャストについては、サブネットが４つ指定されているため、ブロードキャスト用アドレス範囲係数は「１．０」となる。
【００３８】
また、図９は、Ｐｉｎｇｓｗｅｅｐ用のアドレス範囲係数テーブルの例を示す図である。図９において、Ｐｉｎｇｓｗｅｅｐ用アドレス範囲係数テーブル１６ｂは、ＩＰアドレスの範囲と、その範囲に対応するアドレス範囲係数（Ｐｉｎｇｓｗｅｅｐ用アドレス範囲係数）が登録されているテーブルである。図中では、ＩＰアドレスの範囲は、２５５個未満、２５６個から２０４８個未満、２０４８個以上に分類されている。例えば、図５の例では、Ｐｉｎｇｓｗｅｅｐについては、ＩＰアドレスの範囲が、１９２．１６８．２０．１〜１９２．１６８．２０．２５４（ＩＰアドレス数＝２５４）、１９２．１６８．２１．１〜１９２．１６８．２１．１００が（ＩＰアドレス数＝２５４）、１９２．１６８．２２．１〜１９２．１６８．２２．２００（ＩＰアドレス数＝２００）、１９２．１６８．２３．１〜１９２．１６８．２３．１００（ＩＰアドレス数＝１００）が指定されており、合計のＩＰアドレス数は、２５４＋１００＋２００＋１００＝６５４である。したがって、Ｐｉｎｇｓｗｅｅｐ用アドレス範囲係数は、「１．０」となる。
【００３９】
なお、ブロードキャスト用アドレス範囲係数テーブル１６ａ及びＰｉｎｇｓｗｅｅｐ用アドレス範囲テーブル１６ｂのいずれについても、範囲に含まれるＩＰアドレスの数が多ければ多い程、アドレス範囲係数は大きくなるように設定されている。ＩＰアドレスの数が多い程、検索結果に含まれる機器の数も多くなる可能性が高く、したがって、より多くのスレッドによって処理を行った方が効率的だからである。
【００４０】
続いて、スレッド数算出部１３は、検索条件において指定された検索プロトコルをプロトコル係数テーブル１７に当てはめることにより、表示用スレッド数を算出するための数値であるプロトコル係数を判定する（Ｓ１０７）。
【００４１】
図１０は、プロトコル係数テーブルの例を示す図である。図１０において、プロトコル係数テーブル１７は、検索に用いられ得るプロトコルごとにプロトコル係数が設定されているテーブルである。例えば、図５では、ＳＮＭＰｖ３が選択されているため、プロトコル係数は、「０．５」となる。なお、プロトコル係数は、ネットワークシステム１を構成するネットワークに接続される機器５０において、各プロトコルに対応可能な機器５０の割合を用いればよい。当該割合は、機器診断装置１０が定期的に調査することにより自動的に更新されるようにしても良い。当該割合が高い程、検索結果に含まれる機器５０の数が多くなる可能性が高くなり、より多くのスレッドによって処理を行う方が効率的である。
【００４２】
続いて、スレッド数算出部１３は、リソース係数×アドレス範囲係数×プロトコル係数を演算することにより表示用スレッド数を算出する（Ｓ１０８）。但し、ブロードキャストとＰｉｎｇｓｗｅｅｐの双方を用いて検索する場合、ブロードキャスト用とＰｉｎｇｓｗｅｅｐ用のそれぞれについて上記の演算が実行され、その合計値が表示用スレッド数とされる。したがって、本実施の形態の場合、表示用スレッド数は、リソース係数（２．０）×ブロードキャスト用アドレス範囲係数（１．０）×プロトコル係数（０．５）＋リソース係数（２．０）×Ｐｉｎｇｓｗｅｅｐ用アドレス範囲係数（１．０）×プロトコル係数（０．５）＝２．０となる。
【００４３】
続いて、要求応答部１２は、スレッド数算出部１３によって算出された表示用スレッド数を通知するための情報（以下「表示用スレッド情報」という。）をクライアント装置２０に送信する（Ｓ１０９）。
【００４４】
図１１は、表示用スレッド情報の例を示す図である。図１１に示される表示用スレッド情報５２０は、ＸＭＬ形式によって表現されている。表示用スレッド情報５２０において、各ｉｔｅｍ要素は各スレッドに対応する。図中では、ｉｔｅｍ要素５２１とｉｔｅｍ要素５２２との二つのｉｔｅｍ要素が含まれている。したがって、表示用スレッド数は、「２」であることが識別される。なお、ｉｔｅｍ要素５２１に係るスレッドについては、ｒｅｓｕｌｔ要素５２１１よりブロードキャスト用に算出されたスレッド数であり、ｉｔｅｍ要素５２２に係るスレッドについては、ｒｅｓｕｌｔ要素５２２１よりＰｉｎｇｓｗｅｅｐ用に算出されたスレッド数であることが示されている。
【００４５】
続いて、スレッド数算出部１３は、検索用スレッド数を算出する（Ｓ１１０）。検索用スレッド数については、ブロードキャスト用とＰｉｎｇｓｗｅｅｐ用とのそれぞれについて、表示用スレッド数÷（ブロードキャスト用アドレス範囲係数＋Ｐｉｎｇｓｗｅｅｐ用アドレス範囲係数）×当該通信方式のアドレス範囲係数を演算することにより算出される。すなわち、表示用スレッド数に対するそれぞれの通信方式のアドレス範囲係数の加重平均が当該通信方式の検索用スレッド数とされる。
【００４６】
したがって、本実施の形態において、ブロードキャスト用の検索用スレッド数は、２．０÷２．０×１．０（ブロードキャスト用アドレス範囲係数）＝１．０となる。また、Ｐｉｎｇｓｗｅｅｐ用の検索用スレッド数は、２．０÷２．０×１．０（Ｐｉｎｇｓｗｅｅｐ用アドレス範囲係数）＝１．０となる。
【００４７】
続いて、機器検索部１４は、スレッド数算出部１３によって算出された検索用スレッド数に基づいて、機器５０の検索を実行する（Ｓ１１１）。すなわち、ブロードキャストによる検索処理に一つのスレッドを割り当て、Ｐｉｎｇｓｗｅｅｐによる検索処理に一つのスレッドを割り当て、合計二つのスレッドにより検索処理を実行する。
【００４８】
続いて、要求応答部１２は、機器検索部１４による検索結果を示す情報（検索結果情報）をクライアント装置２０に送信する（Ｓ１１２）。
【００４９】
図１２は、検索結果情報の例を示す図である。図１２に示される検索結果情報５３０は、ＸＭＬ形式によって表現されている。
【００５０】
検索結果情報５３０において、一つのｄｅｖｉｃｅ要素は、検索された機器５０のうちの一台の機器の属性情報を示す。したがって、複数の機器５０が検索された場合、検索結果情報５３０には複数のｄｅｖｉｃｅ要素が含まれる。例えば、図中において、ｄｅｖｉｃｅ要素５３１には、ステータス情報（５３１１）、ＩＰアドレス（５３１２）、ＭＡＣアドレス（５３１３）、モデル名（５３１４）等が属性情報として含まれている。他の機器５０の属性情報については、参照番号５３２に示される部分に記述されるが、図中では便宜上省略されている。
【００５１】
なお、検索結果情報５３０は、検索結果の取得に応じて随時送信される。したがって、一回の検索要求に応じた検索結果が、複数に分けられて送信され得る。
【００５２】
続いて、クライアント装置２０の検索結果表示制御部２３は、検索結果情報５３０を受信すると、当該検索結果を検索結果表示画面に表示させる（Ｓ１１３）。この際、検索結果表示制御部２３は、既に受信されている表示用スレッド情報５２０に基づいて、表示用スレッド数を判定し、表示用スレッド数分のスレッドを用いて表示処理を効率的に実行する。
【００５３】
検索結果表示制御部２３の処理内容ついて詳しく説明する。図１３は、検索結果表示制御部の処理内容を説明するための図である。
【００５４】
図１３において、親処理スレッド２３１は、検索結果表示制御部２３のメインの処理を実行するスレッドであり、表示用スレッド数に関係なく存在する。
【００５５】
例えば、親処理スレッド２３１は、表示用スレッド情報５２０を受信することにより、表示用スレッド数を認識する（Ｓ２０１）。本実施の形態では、二つの表示用スレッドを用いることが認識される。
【００５６】
続いて、親処理スレッド２３１は、検索結果情報の一部（検索結果Ａ）が受信されると、一つ目の表示用スレッド（表示用スレッド２３２）に処理を委譲する。表示用スレッド２３２は、検索結果Ａを受信し（Ｓ３０１）、検索結果Ａの表示処理（例えば、検索結果表示画面における１行目から１００行目までの表示処理）を実行する（Ｓ３０２）。また、検索結果の残りの一部（検索結果Ｂ）が受信されると、親処理スレッド２３１は、二つめの表示用スレッド（表示用スレッド２３３）に処理を委譲する。表示用スレッド２３３は、検索結果Ｂを受信し（Ｓ４０１）、検索結果Ｂの表示処理（例えば、検索結果表示画面における１０１行目から２００行目までの表示処理）を表示用スレッド２３２と並行して実行する（Ｓ４０２）。なお、表示処理とは、図１２に示されるような検索結果情報５３０を解析し、表示用の形式に整形することを主とした処理をいう。
【００５７】
上述したように、本発明の実施の形態における機器検索装置１０は、機器の検索条件（通信プロトコル、通信方式、アドレス情報の範囲等）に基づいて表示用スレッドを算出する。すなわち、検索条件には、検索される機器の数を或る程度予測させるパラメータが含まれている。したがって、検索条件に基づいて算出される表示用スレッド数は、検索結果に対応した値である可能性が高い。よって、本実施の形態における機器検索装置１０によれば、検索結果に対して適切な表示用スレッド数を算出することができる。
【００５８】
更に、機器検索装置１０は、クライアント装置１０のスペックに基づいて表示用スレッド数を算出する。したがって、表示処理を実行する装置に対して適切なスレッド数を算出することができる。
【００５９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態におけるネットワークシステムの構成例を示す図である。
【図２】本発明の実施の形態における機器検索装置及びクライアント装置の機能構成例を示す図である。
【図３】本発明の実施の形態における機器検索装置のハードウェア構成例を示す図である。
【図４】クライアント装置及び機器検索装置の処理手順を説明するためのフローチャートである。
【図５】検索条件入力画面の表示例を示す図である。
【図６】リクエスト情報の例を示す図である。
【図７】リソース係数テーブルの例を示す図である。
【図８】ブロードキャスト用のアドレス範囲係数テーブルの例を示す図である。
【図９】Ｐｉｎｇｓｗｅｅｐ用のアドレス範囲係数テーブルの例を示す図である。
【図１０】プロトコル係数テーブルの例を示す図である。
【図１１】表示用スレッド情報の例を示す図である。
【図１２】検索結果情報の例を示す図である。
【図１３】検索結果表示制御部の処理内容を説明するための図である。
【符号の説明】
【００６１】
１        ネットワークシステム
１０      機器検索装置
１１      要求受信部
１２      要求応答部
１３      スレッド数算出部
１４      機器検索部
１５      リソース係数テーブル
１６      アドレス範囲係数テーブル
１７      プロトコル係数テーブル
２０      クライアント装置
２１      ＧＵＩ部
２２      検索要求部
２３      検索結果表示制御部
５０ａ、５０ｂ、５０ｃ、５０ｄ、５０ｅ、５０ｄ    機器
１００    ドライブ装置
１０１    記録媒体
１０２    補助記憶装置
１０３    メモリ装置
１０４    ＣＰＵ
１０５    インタフェース装置
Ｂ    バス
【図１】
2008226038.tif 000003
【図２】
2008226038.tif 000004
【図３】
2008226038.tif 000005
【図４】
2008226038.tif 000006
【図５】
2008226038.tif 000007
【図６】
2008226038.tif 000008
【図７】
2008226038.tif 000009
【図８】
2008226038.tif 000010
【図９】
2008226038.tif 000011
【図１０】
2008226038.tif 000012
【図１１】
2008226038.tif 000013
【図１２】
2008226038.tif 000014
【図１３】
2008226038.tif 000015