(57)【要約】【課題】本来多数のデバイスが必要になるようなソフトウェアの評価を低コストで行うことを可能とする。【解決手段】機器情報受信部３８からなる１単位の受信部ソフトウェアでは、個々の機器情報受信部３８がその仮想被管理プリンタに対応するＩＰアドレスにバインドしている。そして、移植された受信部ソフトウェアである機器情報受信部３８が、ＩＰアドレスをバインドした状態で統合管理プリンタ３１からの配信を待機する状態を生成する。これにより、１００台の被管理プリンタが統合管理用プリンタ３１からの配信をいつでも受け付けることができ、実際と同じ状態をつくることができる。その結果、１台のシミュレータ・エージェントＰＣ３３が、１００台分の被管理プリンタの役割を果たすことができ、被管理プリンタが１００台必要なところを、１台のＰＣでシミュレーションが可能となる。【選択図】図５
2006313526.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア評価方法であって、
通信媒体を介して通信可能な情報処理装置で稼動する、デバイスを仮想化した仮想デバイスソフトウェアに対して、前記通信媒体を介して予め定められた処理を行わせる制御工程を有することを特徴とするソフトウェア評価方法。
【請求項２】
前記情報処理装置に対して前記仮想デバイスソフトウェアの設定を行わせる設定制御工程をさらに有することを特徴とする請求項１に記載のソフトウェア評価方法。
【請求項３】
前記仮想デバイスソフトウェアは複数の仮想デバイスソフトウェアからなり、前記制御工程は、前記複数の仮想デバイスソフトウェアに対して予め定められた処理を行わせることを特徴とする請求項１または２に記載のソフトウェア評価方法。
【請求項４】
前記複数の仮想デバイスソフトウェアには異なるアドレスが割り振られていることを特徴とする請求項３に記載のソフトウェア評価方法。
【請求項５】
前記制御工程において前記仮想デバイスソフトウェアにより実行された予め定められた処理の処理結果を管理する管理工程をさらに有することを特徴とする請求項１ないし４のいずれかに記載のソフトウェア評価方法。
【請求項６】
ネットワークを介した通信の内容をインターセプトし、該インターセプトした通信内容を表示または記億する工程をさらに有することを特徴とする請求項１ないし５のいずれかに記載のソフトウェア評価方法。
【請求項７】
ネットワークを介した通信の内容をインターセプトし、該インターセプトした通信内容を以って、複数の仮想デバイスソフトウェアそれぞれの通信の成功または失敗を判断し、該判断の結果を、当該ネットワークを介した通信のシミュレーションの制御を行う情報処理装置に伝達し、前記シミュレーションの制御を行う前記情報処理装置において、前記結果に基づく表示または記憶する工程をさらに有することを特徴とする請求項１ないし５のいずれかに記載のソフトウェア評価方法。
【請求項８】
前記仮想デバイスソフトウェアが稼動する前記情報処理装置で、データ転送用ソフトウェアを動作させ、該データ転送用ソフトウェアによって前記ネットワークを介した通信を行うときの該通信の内容をインターセプトし、該インターセプトした通信内容に対して、通信シミュレーションを行うために書き換えが必要か否かを判断し、書き換えが必要と判断したとき当該通信内容を書き換える工程をさらに有したことを特徴とする請求項１ないし５のいずれかに記載のソフトウェア評価方法。
【請求項９】
前記仮想デバイスソフトウェアが稼動する前記情報処理装置で、Ｗｅｂサービス・サーバ・ソフトウェアを動作させ、該Ｗｅｂサービス・サーバ・ソフトウェアによって前記ネットワークを介した通信を行うときの該通信の内容をインターセプトし、該インターセプトした通信内容に対して、通信シミュレーションを行うために書き換えが必要か否かを判断し、書き換えが必要と判断したとき当該通信内容を書き換える固定をさらに有したことを特徴とする請求項１ないし５のいずれかに記載のソフトウェア評価方法。
【請求項１０】
前記Ｗｅｂサービス・サーバ・ソフトウェアがＵＤＤＩサーバであることを特徴とする請求項９に記載のソフトウェア評価方法。
【請求項１１】
ソフトウェア評価方法であって、
ネットワークを介して通信可能な情報処理装置に画像形成装置の受信部ソフトウェアを移植し、
該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、
該データの送信に応じた前記受信部ソフトウェアの前記返信を取得し、
該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う、
工程を有することを特徴とするソフトウェア評価方法。
【請求項１２】
複数の前記受信部ソフトウェアが１台の前記情報処理装置に移植され、該複数の受信部ソフトウェアはそれぞれ異なるＩＰアドレスをバインドしてそれぞれ前記クライアントからの送信を待機することを特徴とする請求項１１に記載のソフトウェア評価方法。
【請求項１３】
複数の前記受信部ソフトウェアが１台の前記情報処理装置に移植され、該複数の受信部ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定された処理であるか否かを判断し、予め設定した処理と判断したときは、当該受信に係るＩＰアドレスによって、受信データの内容を書き換える工程をさらに有することを特徴とする請求項１１または１２に記載のソフトウェア評価方法。
【請求項１４】
複数の前記受信部ソフトウェアが１台の前記情報処理装置に移植され、該複数の受信部ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定された処理であるか否かを判断し、予め設定した処理と判断したときは、当該受信に係るＩＰアドレスによって、返信データの内容を書き換える工程をさらに有することを特徴とする請求項１１または１２に記載のソフトウェア評価方法。
【請求項１５】
複数の前記受信部ソフトウェアが１台の前記情報処理装置に移植され、該複数の受信部ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定された処理であるか否かを判断し、予め設定した処理と判断したときは、当該受信に係るＩＰアドレスによって、返信データの送信先を変更する工程をさらに有することを特徴とする請求項１１または１２に記載のソフトウェア評価方法。
【請求項１６】
複数の前記受信部ソフトウェアが１台の前記情報処理装置に移植され、前記情報処理装置で稼動するＷｅｂサービス・サーバ・ソフトウェアが、ネットワークインターフェースに割り当てられた前記複数の受信部ソフトウェアに対応する総てのＩＰアドレスを用いる設定でバインドしてそれぞれ前記クライアントからの送信を待機するとともに、前記クライアントから送信されたデータを当該データに対応する前記受信部ソフトウェアに渡すことを特徴とする請求項１１に記載のソフトウェア評価方法。
【請求項１７】
前記複数の前記受信部ソフトウェアが１台の前記情報処理装置において稼動する数を設定する工程をさらに有したことを特徴とする請求項１１または１２に記載のソフトウェア評価方法。
【請求項１８】
前記受信部ソフトウェアの前記返信を取得する工程は、前記複数の前記受信部ソフトウェアに送信されたデータ、該送信されたデータのハッシュ値、または前記送信された所定データのチェックサムを取得することを特徴とする請求項１１ないし１７のいずれかに記載のソフトウェア評価方法。
【請求項１９】
複数の前記受信部ソフトウェアが１台の前記情報処理装置に移植され、前記情報処理装置で稼動するＷｅｂサービス・サーバ・ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定されたＷｅｂサービスであるか否かを判断し、予め設定したＷｅｂサービスと判断したときは、当該受信に係るＩＰアドレスによって、Ｗｅｂサービスの対象要素の内容を書き換える工程をさらに有することを特徴とする請求項１１ないし１８のいずれかに記載のソフトウェア評価方法。
【請求項２０】
ソフトウェア評価システムであって、
ネットワークを介して通信可能な情報処理装置で稼動する、デバイスを仮想化した仮想デバイスソフトウェアに対して、前記ネットワークを介して予め定められた処理を行わせる制御手段を有することを特徴とするソフトウェア評価システム。
【請求項２１】
ソフトウェア評価システムであって、
ネットワークを介して通信可能な情報処理装置に移植した画像形成装置の受信部ソフトウェアと、
該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、
該データの送信に応じた前記受信部ソフトウェアの前記返信を取得する取得手段と、
該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う評価手段と、
を有することを特徴とするソフトウェア評価システム。
【請求項２２】
コンピュータに、請求項１ないし１９のいずれかに記載のソフトウェア評価方法を実行させることを特徴とするソフトウェア評価プログラム。
【請求項２３】
コンピュータに、請求項１ないし１９のいずれかに記載のソフトウェア評価方法を実行させることを特徴とするソフトウェア評価プログラムを前記コンピュータによって読み取り可能に格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア評価方法およびソフトウェア評価システムに関し、詳しくは、プリンタやプリンタ機能を有する複合機などの画像形成装置がネットワークに接続したシステムにおけるソフトウェア評価に関するものである。
【背景技術】
【０００２】
従来、ネットワークを介して接続する複数の画像形成装置に対して、パーソナルコンピュータや同様の画像形成装置から、種々の設定や要求などを行うシステムが知られている。例えば、特許文献１には、複数の画像形成装置に対してフォントデータを登録する技術が記載されている。また、そのような技術の１つとして、デジタル複合機から他のデジタル複合機などにアドレス帳を配信するシステムも知られている。
【０００３】
複数の画像形成装置をネットワークに接続したシステムの例として、近年、プリンタやスキャナ機能、ファクシミリ機能、コピー機能などを併せ持つ装置（以下、「複合機」と称する）などをＬＡＮ等のネットワークに接続して用いるシステムが普及している。このシステムでは、例えば、ＬＡＮに多数接続した画像形成装置の設定を集中制御するため、１台のパーソナルコンピュータ（以下、単に「ＰＣ」とも言う）、１台のプリンタ、あるいは１台の複合機を、これら多数台の画像形成装置の制御用として用いる。そして、その制御用装置においてユーザが所定の設定を行うことにより、ＬＡＮに接続する多数の画像形成装置に自動的にその設定が配信される。
【０００４】
このような機能を具えることにより、例えば、コピー機能における排紙の設定として「片面２枚の裏が白い原稿を読み取った場合は、必ず両面１枚へコピーする」といった設定を、そのシステムを使用する、例えばオフィスにおける統一した設定とすることがある。この場合に、一台のＰＣもしくは複合機に設定するだけで、その設定が自動的に他の複合機に配信されるといった使い方が可能となる。これにより、そのオフィス内に設置されたコピー機能を有するすべての複合機に対して逐一手動でその設定をする手間を省くことができる。また、部門ＩＤによって印刷枚数の課金管理を行う場合に、１台のプリンタもしくは複合機に部門ＩＤの設定をすると、この設定が自動的に他の装置に配信されるようにできる。これにより、多数のプリンタや複合機にそれぞれ部門ＩＤを設定するという、課金管理をする際の手間を軽減することもできる。
【０００５】
ところで、以上のように有用なシステムにおける通信ソフトウェアを開発するにあたって、その機能を確認、保証するために評価テストを行うことが多い。この評価テストは、システムに接続するプリンタないし複合機の数が多くなればなるほど通信エラーの確率が増すなどの理由からその重要性が増すものである。
【０００６】
この通信ソフトウェアの評価では、例えば、その配信側ソフトウェアによる設定などの「配信機能」や受信側ソフトウェアによる設定などの「受信機能」について、動作確認、デバッグといった一連のテストによって行う。従来の評価方法の一つは、実際のプリンタや複合機本体を用いるか、もしくはそれら装置に対応するシミュレータとして専門のハードウェア装置を用いるものである。
【０００７】
【特許文献１】特開２０００−１３２３６２号公報
【特許文献２】特開２００３−４６５６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、このような評価方法では、実際のプリンタを用意する必要があり、コストが増すという問題がある。特に、大規模なネットワーク環境に適応しようとすればするほど、評価に必要な台数が多くなる。例えば、配信および受信の機能に関して「２０台のプリンタに対して配信し、また、それぞれのプリンタ受信が可能」という機能を評価する場合、動作確認やデバッグのために実際に稼動させる２０台のプリンタが必要になる。これは、そのシステムを提供するシステム製造者が実際に２０台のプリンタを用意することを意味し、コストなどの点で製造者に過大な負担を強いることになる。そして、ネットワークに接続するプリンタ等の数が増すほどこの問題はより顕著になる。
【０００９】
これに対し、テスト用に、そのテスト対象となるプリンタなどの数よりも少ない、例えば、数台もしくは数十台のプリンタや複合機を用いてネットワーク環境を作り、そこで得られた定量的なデータに基づいて評価する方法も知られている。具体的には、定量的なデータに基づいて何台までの通信に耐えられるかなどについて数式などを用いて理論値を算出し、その理論値によって評価する方法も知られている。この方法は、基本的に、ネットワーク環境や数式などが適切であれば妥当な評価を行うことができる。しかし、例えば、そのシステムの顧客が、理論値でなく、ネットワークを介して実際に動作させたときの評価を求める場合には、対応することができない。また、数百台ないし数千台のプリンタや複合機というようにネットワークに接続するプリンタなどの台数が増すほど、理論値の妥当性を担保すべく、理論値を算出するために実際に動作させるプリンタ等の数も同様に増す必要がある。このように、理論値による方法であっても、比較的多くのプリンタを接続するシステムでは、上記の方法と同様の、実際に動作するプリンタ等の数を増すことに起因した問題が生じ得る。
【００１０】
一方、関連技術として特許文献２に記載されたものが知られている。この文献には、複数のクライアントＰＣからの集中アクセスに絶え得るソフトウェア（例えば、インターネットサーバソフトウェア）であるか否かをテストする方法が記載されている。具体的には、複数のクライントＰＣを実際には用意せずに、一台のＰＣによって擬似的に複数のクライアントＰＣを生成し、その擬似的なクライアントＰＣからサーバソフトウェアに対して集中アクセスを行わせるものである。
【００１１】
しかしながら、この文献には、一台のＰＣにおいて複数の仮想的なクライアントが動作することが示されるものの、ネットワークを介したアクセスに際して、そのアドレス設定はテスト用に設けられた他のモジュールによって行われる。すなわち、個々の仮想的クライアントは、それぞれが独立したデバイスとみなされる場合の独立した通信機能を具えてはいない。従って、プリンタや複合機などが、前述のように、通信機能の評価テストにおける複数の受信側デバイスであってそれらのデバイスごとに通信結果が評価されるような場合がある。この場合には、特許文献２から示唆される、一台のＰＣにおいて複数の仮想的なソフトウェアを動作させる構成をそのまま用いることはできない。換言すれば、実際の受信側デバイスと同じ状態で評価するには、クライアントからのアクセスないし送信に際して、それぞれの仮想的ソフトウェア自身がそのアドレスを認識してアクセスを待機する状態にある必要がある。
【００１２】
本発明の目的は、本来多数のデバイスが必要になるようなソフトウェアの評価を低コストで行うことを可能とする仕組みを提供することである。
【課題を解決するための手段】
【００１３】
そのために本発明では、ソフトウェア評価方法であって、通信媒体を介して通信可能な情報処理装置で稼動する、デバイスを仮想化した仮想デバイスソフトウェアに対して、前記通信媒体を介して予め定められた処理を行わせる制御工程を有することを特徴とする。
【００１４】
他の態様では、ソフトウェア評価方法であって、ネットワークを介して通信可能な情報処理装置に画像形成装置の受信部ソフトウェアを移植し、該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、該データの送信に応じた前記受信部ソフトウェアの前記返信を取得し、該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う、工程を有することを特徴とする。
【００１５】
また、ソフトウェア評価システムであって、ネットワークを介して通信可能な情報処理装置で稼動するデバイスを仮想化した仮想デバイスソフトウェアに対して、前記ネットワークを介して予め定められた処理を行わせる制御手段を有することを特徴とする。
【００１６】
他の態様では、ソフトウェア評価システムであって、ネットワークを介して通信可能な情報処理装置に移植した画像形成装置の受信部ソフトウェアと、該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、該データの送信に応じた前記受信部ソフトウェアの前記返信を取得する取得手段と、該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う評価手段と、を有することを特徴とする。
【発明の効果】
【００１７】
以上の構成によれば、本来多数のデバイスが必要になるようなソフトウェアの評価を低コストで行うことを可能とする仕組みを提供することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１９】
最初に、以下で説明する本発明のそれぞれの実施形態に係るソフトウェア評価システムの対象である、機器情報配信のシステムについて説明する。
【００２０】
図１は、この機器情報配信システムの一例を示す図である。同図に示すように、統合管理用プリンタ１、および被管理プリンタ２〜５の５台のプリンタが、イーサネット（登録商標）６によってネットワーク接続されている。ユーザが、統合管理用プリンタ１においてそのプリンタに対するアドレス帳などの設定ないしその変更を指示する操作をすると、プリンタ１におけるその設定ないしその変更がなされる。これとともに、プリンタ１は、機器情報の配信機能を具えており、ユーザがプリンタ１に対して設定の配信を指示すると、統合管理用機器情報の受信機能を具える被管理プリンタ２〜５に対して設定が配信される。すなわち、ユーザは、統合管理用プリンタ１において設定を指示するだけで、それと同じ設定が被管理プリンタ２〜５に設定される。このように、本システムによれば、ユーザは被管理プリンタのところまで移動しそこで設定支持のための操作を行わずに、プリンタ１〜プリンタ５に対して同じ設定を行うことができる。
【００２１】
なお、上記の例では、システムを構成するプリンタについて、送信機能を具えた「統合管理用プリンタ」と受信機能を具えた「被管理プリンタ」とに区別して説明した。しかし、設定の「送信」機能と「受信」機能の両方を具えたプリンタを含んでシステムが構成されていてもよいことはもちろんである。例えば、プリンタ１〜プリンタ５のそれぞれが、「送信」機能と「受信」機能の両方を「機器情報配信機能」として具え、それらのプリンタがイーサネット（登録商標）６によってネットワーク接続されるシステムとすることもできる。そして、ここで、プリンタ１が統合管理用の役割を、プリンタ２〜５が被管理の役割を果たす形態とすることもできる。  
また、上記の例では、送信側の「統合管理用プリンタ」を含め、機器情報配信システムを構成するデバイスをプリンタとしているが、プリンタ機能やコピー機能を併せ持つ複合機などの画像形成装置が本システムを構成するデバイスであってもよい。この場合において、図２以降の図を参照して後述される本発明の各実施形態に示されるように、本発明を適用したソフトウェアの評価を実際の画像形成装置を用いずに行うことができる。このことから、電子写真プリンタや複合機など比較的コストの高い画像形成装置が構成する機器情報配信システムの場合には、本発明の適用がより有効となる。すなわち、「１台のプリンタから数百台のプリンタに対して機器情報配信を行うといった、大規模なネットワークシステムにおける評価を行う場合、比較的高価な画像形成装置を実際に用いずに済むため、評価のためのコストの削減効果が顕著となる。なお、インクジェット方式のプリンタなど比較的コストの低い画像形成装置であっても、それらを含んで構成されるシステムのソフトウェア評価に対する本発明の適用を排除するものでないことは、以下の説明からも明らかである。
【００２２】
［実施形態１］
図２は、本発明の第１の実施形態に係るソフトウェア評価システムの構成を示す図である。
【００２３】
図２に示すように、本評価システムは図１に示した評価対象システムにおける被管理プリンタ２〜５を、シミュレータ・エージェント・パーソナル・コンピュータ（以下、単に「シミュレータ・エージェントＰＣ」とも言う）１２〜１５で実現したものである。
【００２４】
具体的には、本評価システムは、被管理プリンタ２〜５それぞれの機器情報を受信するためのソフトウェアについて、ＡＰＩなどのインターフェース定義に基づいたソースコードをシミュレータ・エージェントＰＣ１２〜１５にそれぞれ記述して構成される。すなわち、それぞれの被管理プリンタの受信ソフトウェアがシミュレータ・エージェントＰＣ上で動作できる形態で移植される。なお、このソフトウェアの詳細は、後述の［実施形態２］において、より具体的に説明する。
【００２５】
以上のように構成される評価システムにおいて、統合管理用プリンタ１１から、４台の被管理プリンタへの機器情報の配信機能をテストするために、ユーザは、先ず統合管理用プリンタ１１上でプリンタ１１に対する設定の変更を指示する。そして、ユーザがプリンタ１１に対して設定の配信を指示すると、統合管理用プリンタ１１は被管理プリンタ２〜５と等価であるそれぞれシミュレータ・エージェントＰＣ１２〜１５に対してアドレス帳を配信する。このとき、シミュレータ・エージェントＰＣ１２〜１５のそれぞれは、この設定の受信およびその結果の統合管理用プリンタ１１に対する返信に関して、被管理プリンタ２〜５と同じ通信を行う。そして、この通信の評価は、本実施形態では、統合管理プリンタ１１における所定の表示部にそれぞれの被管理プリンタに対する通信結果が表示されることを以って行う。例えば、「送信終了」の表示を以って通信が良好になされたと評価し、「送信エラー」の表示を以って通信エラーを生じたと評価する。そして、これらの「送信終了」や「送信エラー」の表示は、それぞれの被管理プリンタの受信ソフトウェアが所定の返信をすることによって可能となることはもちろんである。
【００２６】
以上のように、本実施形態のソフトウェア評価方法は、ネットワークを介して通信可能なＰＣなどの情報処理装置で稼動するプリンタなどのデバイスを仮想化した仮想デバイスソフトウェアを用いて行う。そして、この評価方法は、上記ネットワークを介して配信された設定の受信およびそれに応じた返信といった所定の処理を行わせる制御工程を有するものである。
【００２７】
本実施形態の評価方法によれば、統合管理用プリンタ１１の機器情報配信機能は、被管理プリンタを用意せずに、汎用の情報機器を用いてテストが可能になる。これにより、特に、比較的高価な複合機などの画像形成装置を接続するシステムの通信ソフトウェアの評価テストにかかるコストを削減することができる。
【００２８】
なお、本実施形態では、被管理プリンタの受信機能を仮想的に動作させる汎用の情報機器としてＰＣを用いているが、このＰＣの代わりにＰＤＡや携帯電話機、サーバ等を用いてもよいことはもちろんである。このことは、以下で示される他の実施形態でも同様である。
【００２９】
また、上記の説明では、アドレス帳という設定の配信を例として説明したが、統合管理プリンタからの配信する設定はこれに限定されるもので無いことはもちろんである。例えば、前述したようなフォントデータをダウンロードする際のフォントデータの送信であってもよい。すなわち、統合管理用プリンタが、ネットワークを介して被管理プリンタの受信ソフトウェアに対して通信を行い、受信ソフトウェアがその統合管理用プリンタからの通信に応じた所定の処理を行うものであればどのようなものであってもよい。このことは、以下で示される他の実施形態でも同様である。
【００３０】
さらに、本発明は、機器情報の受信側に関して、プリンタなどの画像形成装置の代わりに汎用の情報機器を用いることを特徴とするものであり、配信元がプリンタであるかどうかによらず有効である。例えば図３に示すように、配信元が統合管理用プリンタではなく、統合管理用ＰＣであってもよい。
【００３１】
［実施形態２］
本発明の第２の実施形態は、複数台の被管理プリンタの受信機能を１台のＰＣ上で仮想的に動作させるものである。上記実施形態１は、１台の被管理プリンタを１台のＰＣで代替する形態について説明した。しかし、この場合には、機器情報の配信先台数が多数に昇るとき、その数と同じ台数のＰＣを用意する必要がある。本実施形態は、１台のシミュレータ・エージェントＰＣが複数の被管理プリンタの機能を実装することにより、シミュレーションに必要なＰＣの台数を削減し、さらなるコスト削減を図ることが可能となる。
【００３２】
図４は、本実施形態に係る評価システムの構成を示し、１台のシミュレータ・エージェントＰＣに、複数の被管理プリンタの機能が実装された構成を示す図である。
【００３３】
統合管理用プリンタ３１およびシミュレータ・エージェントＰＣ３２〜３５が、イーサネット（登録商標）３６によってネットワーク接続されている。そして、シミュレーション・エージェントＰＣ３２〜３５のそれぞれでは、１００台の被管理プリンタの受信ソフトウェアが動作できるよう構成されている。
【００３４】
図５は、図４に示した構成について、１台のシミュレータ・エージェントＰＣ３３の内容を説明する図である。具体的には、ネットワークとそのシミュレータ・エージェントＰＣとの間のインターフェースを行うネットワークトラスポート層３７と、ネットワークを介して配信された設定を受信する機器情報受信部３８が示されている。この機器情報受信部の１単位が、１つの被管理プリンタから移植された受信部ソフトウェアを構成している。図２または図３に示した第１の実施形態では、１台のシミュレータ・エージェントＰＣが、この１台分のネットトランスポート層と機器情報受信部からなる受信部ソフトウェアを備えることになる。
【００３５】
なお、同図では、図示の簡略化のために１００台分のうち、４台分が表されている。
【００３６】
機器情報受信部３８からなる１単位の受信部ソフトウェアでは、個々の機器情報受信部３８がその仮想被管理プリンタに対応するＩＰアドレスにバインドしている。
【００３７】
本実施形態では、コネクション型通信規約であるＴＣＰを用いて、評価システムの送、受信プログラムを記述している。具体的には、ネットワーク・トランスポート層３７と機器情報受信部３８からなる受信部ソフトウェアは、ネットワーク用ＡＰＩである「ソケット」を用いて構成されている。このソケットを用いる受信側プログラムは、一般に、（１）「ソケット生成」、（２）「ソケット登録」、（３）「ソケット接続準備」、（４）「ソケット接続待機」、（５）「受信／送信」、（６）「ソケット切断」を用いて生成される。本実施形態では、機器情報受信部３８は、（１）「ソケット生成」、および（２）「ソケット登録」を実行する。すなわち、「ソケット登録」でＩＰアドレスを登録することにより、そのアドレスをその機器情報受信部３８にバインドすることができる。また、機器情報受信部３８は、（３）「ソケット接続準備」、（４）「ソケット接続待機」、（５）「受信／送信」、（６）「ソケット切断」を実行する。
【００３８】
このように、移植された受信部ソフトウェアが、ＩＰアドレスを「ソケット登録」した状態で「ソケット接続待機」を実行する。すなわち、ＩＰアドレスをバインドした状態で統合管理プリンタ３１からの配信を待機する状態を生成する。これにより、被管理プリンタが統合管理用プリンタ３１からの配信をいつでも受け付けることができる、実際と同じ状態をつくることができる。特に、本実施形態のように、１台のＰＣにおいて複数のプリンタの受信機能が仮想的に動作する形態では、それぞれの受信部ソフトウェアが対応するＩＰアドレスにバインドされることにより、個別の受信およびそれに応じた返信が可能となる。
【００３９】
本実施形態の評価は、上述した第一実施形態と同様、統合管理用プリンタ３１において、その表示部に通信結果に関する所定の表示が行われることを以って行うものである。
【００４０】
このように、本実施形態のソフトウェア評価方法は、上記第１実施形態に示したものにおいて、さらに、仮想デバイスソフトウェアが複数の仮想デバイスソフトウェアからなるものである。そして、これら複数の仮想デバイスソフトウェアそれぞれに対して、配信された設定の受信およびそれに応じた返信といった所定の処理を行わせるよう制御する。そして、上記複数のデバイスソフトウェアには異なるＩＰアドレスが割り振られている。  
本実施形態によれば、シミュレータ・エージェントＰＣ３３が、１００台分の被管理プリンタの役割を果たす。同様にシミュレータ・エージェントＰＣ３２、３４、３５がそれぞれ１００台分の被管理プリンタの役割を果たす。これにより、通常は「１台の統合管理用プリンタから、４００台の被管理プリンタへの機器情報の配信」が正常に動作するかをテストするために、被管理プリンタが４００台必要なところを、４台のＰＣでシミュレーションが可能となる。この結果、テストにかかるコストを削減することができる。特に、被管理プリンタが、複合機など比較的高価な画像形成装置である場合は、このコスト削減の効果は顕著になる。
【００４１】
なお、複数の仮想デバイスソフトウェアの稼動方法としては、評価するシステムの構成に応じて、複数プロセスでも良いし、複数スレッドでも良い。
【００４２】
また、図５では、ネットワーク・トランスポート層３７において、複数のＩＰアドレスを用いるとのみ概略的に記している。しかし、その実現は、１枚のネットワーク・インタフェース・カード（以下ＮＩＣと略す）に対して複数のＩＰアドレスを割り当てることによってもよい。あるいは、複数のＮＩＣを用い、それぞれのＮＩＣに単一のＩＰアドレスを割り当ててもよい。さらに、複数のＮＩＣそれぞれに複数のＩＰアドレスを割り当ててもよい。
【００４３】
［実施形態３］
上述した実施形態２では、シミュレータ・エージェントＰＣ３３において、機器情報の受信部それぞれが、１つのＩＰアドレスにバインドされている例を示した。しかし、被管理プリンタの機器情報受信部がＷｅｂサービス技術を用いている場合、汎用のＷｅｂサーバ・ソフトウェアを用いることができる。本実施形態は、被管理プリンタの機器情報受信部がこのＷｅｂサービス技術を用いたソフトウェアである場合に関するものである。
【００４４】
図６は、本発明の第３の実施形態に係るソフトウェア評価システムの構成を示す図である。
【００４５】
シミュレータ・エージェントＰＣ３３上には、Ｗｅｂサービス機能を有した、ＵＤＤＩサーバなどの汎用のＷｅｂサーバ・ソフトウェア４８が搭載される。Ｗｅｂサーバ・ソフトウェア４８は、１００台の被管理プリンタ分の機器情報受信部４９に対して共通のＷｅｂサービスを行うものである。また、Ｗｅｂサーバ・ソフトウェア４８は、上記１００台の被管理プリンタ分の機器情報受信部４９に対応した複数のＩＰアドレスにバインドされている（トランスポート層４７）。そして、Ｗｅｂサーバ・ソフトウェア４８に対して、Ｗｅｂサービスとして実装された、被管理プリンタの機器情報受信部ソフトウェア４９が移植する。この構成により、それぞれの機器情報部４９は個々に並列で動作することができる。
【００４６】
より具体的には、Ｗｅｂサーバソフトウェア４８は、コネクション型通信規約ＴＣＰにおける（１）「ソケット生成」、（２）「ソケット登録」、（３）「ソケット接続準備」、（４）「ソケット接続待機」を実行する。すなわち、「ソケット登録」では、ＩＰアドレスをＡＮＹ設定、すなわちＮＩＣに割り当てられたすべてのＩＰアドレスを用いるという設定でバインドする。また、Ｗｅｂサーバソフトウェア４８は、「ソケット接続待機」の実行によって統合管理用プリンタ４１からの送信を待機する。そして、統合管理用プリンタ４１から設定の配信があると、そのＩＰアドレスに対応する機器情報受信部４９にその設定を渡し、待機状態に戻る。機器情報受信部４９は、渡された設定について、（５）「受信／送信」、（６）「ソケット切断」を実行する。
【００４７】
本実施形態によれば、ＩＰアドレスのバインド処理が汎用のＷｅｂサーバ・ソフトウェアによって行われるため、機器情報受信ソフトウェア自体のバインド処理を変更する必要がない。また、プリンタに搭載されるＷｅｂサービスを搭載する機能を有するＷｅｂサーバ・ソフトウェア部分を移植せずに、Ｗｅｂサービスとして搭載された機器情報の受信部だけを移植することが可能である。このため、機器情報の受信部のソフトウェアを移植する際の手間が軽減される。
【００４８】
［実施形態４］
上記実施形態２および実施形態３では、各シミュレータ・エージェントＰＣにおいて複数の機器情報受信部を動作させる場合に何台分の被管理プリンタの機器情報受信部を設定するかについて、夫々のシミュレータ・エージェントＰＣ上で設定するものとしていた。しかし、この構成では、シミュレーション台数を増加させようとする場合に、設定のための操作が煩雑となる。本実施形態は、１台のＰＣにおいて操作するだけでこの設定を可能とするものである。
【００４９】
図７は、本発明の第４の実施形態に係るソフトウェア評価システムの構成を示す図である。
【００５０】
同図に示すように、第２、第３実施形態に示したものと同じ、統合管理用プリンタ５１およびシミュレータ・エージェントＰＣ５３〜５６に加え、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２が、イーサネット（登録商標）５７に接続されている。また、それぞれのシミュレータ・エージェントＰＣには、機器情報受信部を統合制御する、シミュレータ・エージェント・ソフトウェア５９が搭載されている。
【００５１】
シミュレータ・エージェント・ソフトウェア５９は、ＩＰアドレス（５８）を介して、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２と通信を行う。
【００５２】
仮想プリンタシミュレータ集中制御用マネージャＰＣ５２には、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアが搭載される。これにより、シミュレータ・エージェント・ソフトウェア５９に対して、稼動する機器情報受信部（６０、６１）の台数を設定するための制御を行うことができる。
【００５３】
図８は、シミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション開始処理を示すフローチャートである。
【００５４】
本処理が起動されると（ステップ７１）、シミュレータ・エージェント・ソフトウェア５９は、自身用のＩＰアドレスをバインドし（ステップ７２）、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からの指示を待つ（ステップ７３）。これらバインドや指示の待機など一連の処理は、上述したコネクションが通信規約ＴＣＰに従ったプログラムによって実行される。
【００５５】
仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からの開始指示により、シミュレータ・エージェント・ソフトウェア５９は、指示に含まれる台数設定を変数Ｎに保存する（ステップ７４）。次に、指示に含まれるスタートＩＰアドレス（図７に示す例では、１７２．２４．２．１とする）を変数Ｍに保存する（ステップ７５）。そして、カウンタｉをゼロに初期化する（ステップ７６）。
【００５６】
シミュレータ・エージェント・ソフトウェア５９は、シミュレータ・エージェントＰＣのＮＩＣに対して、ＩＰアドレスＭ＋ｉを割り当てる（ステップ７７）。この処理は、カウンタｉがＮ−１に達するまで（ステップ７８）、カウンタｉをインクリメントしつつ（ステップ７９）繰り返す。これらの処理によって、Ｎ台分のＩＰアドレスの割り当てが行われる。
【００５７】
なお、このＩＰアドレスの割当ては、１枚のＮＩＣに対して複数のＩＰアドレスを割り当てることによってもよい。あるいは、複数のＮＩＣを用い、それぞれのＮＩＣに単一のＩＰアドレスを割り当てることによってもよい。また、複数のＮＩＣそれぞれに複数のＩＰアドレスを割り当ててもよい。
【００５８】
カウンタｉが台数Ｎを超えると、シミュレータ・エージェント・ソフトウェア５９は、カウンタｉをゼロに初期化する（ステップ８０）。次に、被管理プリンタから移植した機器情報受信部をスレッドもしくはプロセスとして起動し（ステップ８１）、その機器情報受信部をＩＰアドレスＭ＋ｉにバインドする（ステップ８２：「ソケット登録」）。この処理は、カウンタｉがＮ−１に達するまで（ステップ８３）、カウンタｉをインクリメントしつつ（ステップ８４）繰り返される。これらの処理によって、Ｎ台分の着情報受信部に対するＩＰアドレスのバインドが行われる。
【００５９】
カウンタｉがＮ−１に達すると、シミュレータ・エージェント・ソフトウェア５９は、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からの終了指示の待ち受け処理に入る（ステップ８５）。
【００６０】
各シミュレータ・エージェントＰＣ上のシミュレータ・エージェント・ソフトウェアがこの状態に入ると、その設定されたＮ台分の機器情報受信部に対して上述した第２、第３実施形態と同様、統合管理プリンタ５１から機器情報配信のテストを行うことができる。
【００６１】
図９は、本実施形態のシミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション終了処理を示すフローチャートである。
【００６２】
ミュレータ・エージェント・ソフトウェア５９は、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からの終了指示を待ち受け（ステップ９２）、終了指示を受信すると、カウンタｉをゼロに初期化する（ステップ９３）。次に、ＩＰアドレスＭ＋ｉにバインドされた機器情報受信部に関して、バインドを解除し（ステップ９４：「ソケット切断」）、そのスレッドもしくはプロセスを終了する（ステップ９５）。この処理はカウンタｉがＮ−１に達するまで（ステップ９６）、ｉをインクリメントしつつ（ステップ９７）繰り返す。これにより、Ｎ台分のＩＰアドレスのバインド解除が行われる。
【００６３】
すべての機器情報受信部についてシミュレーション終了処理を終了すると、シミュレータ・エージェント・ソフトウェア５９は、カウンタｉをゼロに初期化する（ステップ９８）。次に、ＮＩＣに対するＭ＋ｉの割当を解除する（ステップ９９）。この処理はカウンタｉがＮ−１に達するまで（ステップ１００）、ｉをインクリメントしつつ（ステップ１０１）繰り返す。これにより、ＩＰアドレスの割り当てが解除される。
【００６４】
ＩＰアドレスの割当解除を終了すると、シミュレータ・エージェント・ソフトウェア５９は、自身用のＩＰアドレスのバインドを解除し（ステップ１０２）、本処理を終了する（ステップ１０３）。
【００６５】
図１０は、図８、図９を参照して説明したシミュレータ・エージェント・ソフトウェア５９の処理を制御する仮想プリンタシミュレータ集中制御用マネージャＰＣ５２に搭載された、その制御用マネージャ・ソフトウェアの処理を示すフローチャートである。
【００６６】
本処理が起動されると（ステップ１１１）、ユーザは、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェア上で、どのシミュレータ・エージェント・ＰＣに機器情報受信部を動作させるかを指示する（ステップ１１２）。さらに、それぞれ何台分の機器情報受信部を動作させるかをそれぞれ指示する（ステップ１１３）。また、ユーザは、各シミュレータ・エージェントＰＣ上で用いるスタートＩＰアドレスを設定する（ステップ１１４）。なお、この設定では、１台分のシミュレータ・エージェントＰＣのスタートＩＰアドレスだけをユーザが指定してもよい。そして、その他のシミュレータ・エージェントＰＣのスタートＩＰアドレスは、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアが重ならないものを自動的に設定してもよい。
【００６７】
次に、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアは、各シミュレータ・エージェントＰＣ上で動作するシミュレータ・エージェントソフトウェア５９に対して処理の開始指示を発行する（ステップ１１５）。この指示には、動作させる仮想プリンタの台数、すなわち、何台分の機器情報受信部を動作させるか、およびスタートＩＰアドレスの情報が含まれる。
【００６８】
この発行が正常に終了した状態で、ユーザは手作業で、統合管理用プリンタ５１上で、設定した複数台の仮想被管理プリンタの機器情報受信部に対する、アドレス帳などの機器情報配信のテストを行う（ステップ１１６）。本実施形態でも上記の各実施形態と同様、評価は、それぞれの機器情報受信部への配信が成功したか否かを、統合管理用プリンタ５１における所定の表示を確認することによって行う。
【００６９】
テストが終了すると、ユーザが、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェア上で終了指示の操作をする。これに応じて、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアは各シミュレータ・エージェント・ＰＣ上で動作するシミュレータ・エージェント・ソフトウェアに対して終了を指示する（ステップ１１７）。
【００７０】
このように本実施形態のソフトウェア評価方法は、情報処理装置に対して、動作させる機器情報受信部の数など仮想デバイスソフトウェアの設定を行わせる設定制御工程を有したものである。
【００７１】
なお、本実施形態では、被管理プリンタから移植した機器情報受信部が、シミュレータ・エージェントＰＣ内に既にインストールされているものとしている。しかし、被管理プリンタから移植した機器情報受信部のソフトウェア自体を、開始指示（ステップ１１５）とともに、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からシミュレータ・エージェント・ＰＣに配信してもよい。
【００７２】
また、本実施形態では配信テスト（ステップ１１６）をユーザの手作業としているが、本発明の適用が、配信テストが手作業か否かにかかわらないことはもちろんである。例えば、実施形態１の図３に示したように、配信元がＰＣである場合は、そのＰＣに対して自動的にテスト開始および通信結果の表示を指示することもできる。
【００７３】
さらに、本実施形態や先の実施形態では、機器情報受信部に関して、それが単一のプリンタのものとして説明したが、この受信部は必ずしも単一のプリンタのものでなくてもよい。例えば、シミュレータ・エージェントＰＣ５３、５４に、あるプリンタ機種と等価の機器情報受信を行わせ、シミュレータ・エージェントＰＣ５５、５６に、別の機種のプリンタと等価の機器情報受信を行わせることもできる。また、単一のシミュレータ・エージェントＰＣ上で、複数の種類のプリンタの受信部を動作させてもよい。例えば、図１０に示す開始指示（ステップ１１５）において、シミュレータ・エージェントＰＣに対して、ある機種の受信部を何台、別の機種の受信部を何台といった指示をすることもできる。
【００７４】
本実施形態によれば、テストに必要なＰＣ台数の削減とともに、シミュレータに対するテスト準備の指示を自動化することで、テストに必要なオペレータの工数を削減することが可能となる。
【００７５】
［実施形態５］
以上示した実施形態１、２、３および４では、個々の機器情報受信部に対する配信結果は、それぞれの受信部が所定の応答を統合管理用プリンタに返し、それを表示するものとした。しかし、本実施形態では、図７に示したシミュレータ・エージェント・ソフトウェア５９に、テストの開始指示および終了指示だけでなく、より詳細な配信結果を取得し、それを返信するための機能を設ける。
【００７６】
図１１は、本発明の第５の実施形態に係るシミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション開始処理を示すフローチャートである。
【００７７】
ステップ１３１〜１４４の処理は、図８に示したステップ７１〜８４の処理と同じであり、その説明は省略する。異なる点は、シミュレータ・エージェント・ソフトウェア５９が、機器情報受信部の起動およびＩＰアドレスのバインド処理の終了後、受信結果チェック用スレッドを起動する（ステップ１４５）。そして、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からの受信結果チェック指示もしくは終了指示の待ち受け指示を待つ処理に入る（ステップ１４６）。この受信結果チェック用スレッドは、機器情報の各受信部に対して配信されたデータをすべての機器情報受信部から収集するためのものである。また、受信結果チェック用スレッドは、配信データ、そのハッシュ値または配信されたデータのチェックサムを仮想プリンタシミュレータ集中制御用マネージャＰＣ５２（図７参照）に送り返すためのものである。
【００７８】
図１２は、本実施形態のシミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション結果チェック処理およびシミュレーション終了処理を示すフローチャートである。
【００７９】
シミュレータ・エージェント・ソフトウェア５９は、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２からの、受信結果チェック指示もしくは終了指示を待ち受ける（ステップ１５２）。そして、シミュレータ・エージェント・ソフトウェア５９は、指示を受信すると、その指示が受信結果チェック指示なのか、終了指示なのかを判断する（ステップ１５３）。
【００８０】
受信結果チェック指示であるときは、シミュレータ・エージェント・ソフトウェア５９は、図１１のステップ１４５で起動した受信結果チェック用スレッドを用いて、すべての機器情報受信スレッドから、統合管理用プリンタ５１より受信したデータを収集する。そして、受信したデータ、または受信したデータのハッシュ値、または受信したデータのチェックサムを、仮想プリンタシミュレータ集中制御用マネージャＰＣ５２に送る（ステップ１５４）。ここで、受信したデータそのもの、受信したデータのハッシュ値、または受信したデータのチェックサムのいずれを返信するかは、評価対象であるシステムの仕様や評価の精度などに応じて定めることができる。
【００８１】
ステップ１５３の判断で、受信した指示が終了指示であるときは、シミュレータ・エージェント・ソフトウェア５９は、受信結果チェックスレッドを終了する（ステップ１５５）。それ以降の、ステップ１５６〜１６６の処理は、図９に示したステップ９３〜１０３の処理と同じであり、その説明は省略する。
【００８２】
図１３は、本実施形態における仮想プリンタシミュレータ集中制御用マネージャＰＣ５２に搭載された、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理を示すフローチャートである。同図は、第４実施形態にかかる図１０におけるステップ１１６のテスト実行処理が、ステップ１７６から１７９に置き換わったものである。
【００８３】
統合管理用プリンタ５１上で、ユーザが手作業で４００台に対する機器情報配信のテストを行う（ステップ１７６）。このテストが終了すると、ユーザは、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェア上で受信結果チェック指示の操作を行う。これによって、それぞれのシミュレータ・エージェントＰＣ上で動作するシミュレータ・エージェント・ソフトウェア５９に対して、受信結果チェック指示を送信する（ステップ１７７）。これに応じて、シミュレータ・エージェント・ソフトウェア５９は、図１２のステップ１５４について説明したように、受信したデータなどを仮想プリンタシミュレータ集中制御用マネージャＰＣ５２に送る。  
仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアは、これに応じて、各シミュレータ・エージェント・ソフトウェア５９から収集した配信データ、そのハッシュ値またはチェックサムを、ユーザ・インタフェースに表示する（ステップ１７８）。ユーザが、テストの終了を指示するまで（ステップ１７９）、同じテストを繰返す。
【００８４】
以上のように、本実施形態のソフトウェア評価方法は、デバイスの機器情報受信ソフトウェアにより実行された配信されるデータの受信など所定の処理の処理結果をまとめ、また、それを返信するといった管理を行う管理工程を有するものである。
【００８５】
本実施形態によれば、シミュレータ・エージェント・ソフトウェア５９に、テストの開始指示および終了指示だけでなく、配信結果の取得のための機能を設けることにより、テストに必要なオペレータの工数を削減することが可能となる。例えば、１台のプリンタから、数百台、数千台のプリンタに対する機器情報配信といった、大規模な通信のテストを、１台のプリンタと、１台の仮想プリンタシミュレータ集中制御用マネージャＰＣに対する操作で実現することが可能となる。
【００８６】
［実施形態６］
本発明の第６の実施形態は、上述した実施形態４および実施形態５に示した構成を、実施形態３で説明した機器情報受信部がＷｅｂサービス技術を用いる場合に適用した評価システムに関するものである。
【００８７】
図１４は、本実施形態に係るソフトウェア評価システムの構成を示す図である。
【００８８】
実施形態３に係る図６に示すシステムと同様、統合管理用プリンタ２０１、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２、シミュレータ・エージェントＰＣ２０３〜２０６が、イーサネット（登録商標）２０７に接続されている。それぞれのシミュレータ・エージェントＰＣには、そのシミュレータ・エージェントＰＣ内で複数の機器情報受信部を統合制御する、シミュレータ・エージェント・ソフトウェア２１１が、Ｗｅｂサービスとして搭載されている。
【００８９】
シミュレータ・エージェント・ソフトウェア２１１は、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２上の仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアによって制御される。この制御は、シミュレータ・エージェントＰＣに割り当てられたＩＰアドレス２０８を用い、Ｗｅｂサービスを搭載可能なＷｅｂサーバ・ソフトウェア２１０を介して行われる。
【００９０】
図１５は、Ｗｅｂサーバ・ソフトウェア２１０の処理のうち、本発明を適用したソフトウェア評価に関連する処理を示すフローチャートである。
【００９１】
本処理が起動されると（ステップ２２１）、Ｗｅｂサーバ・ソフトウェア２１０は、ＮＩＣに対して、ＩＰアドレスをＡＮＹ設定、つまり、割り当てられたすべてのＩＰアドレスを用いるという設定で、それぞれのＩＰアドレスをバインドする（ステップ２２２）。なお、ＮＩＣに対する複数ＩＰアドレス割当の実現は、１枚のＮＩＣに対して複数のＩＰアドレスを割り当てもよいし、複数のＮＩＣを用い、それぞれのＮＩＣに単一のＩＰアドレスを割り当ててもよい。また、複数のＮＩＣそれぞれに複数のＩＰアドレスを割り当ててもよいことは上述したとおりである。
【００９２】
次に、Ｗｅｂサーバ・ソフトウェア２１０は、シミュレータ・エージェント・ソフトウェアの機能を果たすＷｅｂサービスを、自身上で起動し（ステップ２２３）する。そして、被管理プリンタから移植した機器情報受信Ｗｅｂサービスを起動し（ステップ２２４）、稼動を開始する（ステップ２２５）。
【００９３】
稼動停止のときは、Ｗｅｂサーバ・ソフトウェア２１０は、自身上で稼動しているシミュレータ・エージェント・Ｗｅｂサービスを終了させ（ステップ２２６）、また、機器情報受信Ｗｅｂサービスを終了させる（ステップ２２７）。そして、ＮＩＣに対するＩＰアドレスのバインドをすべて解除する（ステップ２２８）。
【００９４】
図１６は、図１５に示したステップ２２５のＷｅｂサーバが稼動中の状態における、シミュレータ・エージェントＰＣ２０４（図１４参照）内の動作状態を説明する図である。  
図１６に示すように、シミュレータ・エージェント・Ｗｅｂサービス２１１と機器情報受信部２１２は、単一のＩＰアドレス２０８を通して外部と接続されている。
【００９５】
図１７は、シミュレータ・エージェント・Ｗｅｂサービス２１１の処理のうち、シミュレーション開始処理を示すフローチャートである。
【００９６】
本処理が機動されると（ステップ２４１）、シミュレータ・エージェント・Ｗｅｂサービス２１１は、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの指示を待つ（ステップ２４２）。仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの開始指示によって、シミュレータ・エージェント・Ｗｅｂサービス２１１は、指示に含まれる台数設定を変数Ｎに保存する（ステップ２４３）。次に、指示に含まれるスタートＩＰアドレスを変数Ｍに保存する（ステップ２４４）。さらに、カウンタｉをゼロに初期化する（ステップ２４５）。
【００９７】
次に、シミュレータ・エージェント・Ｗｅｂサービス２１１は、シミュレータ・エージェント・ＰＣのＮＩＣに対して、ＩＰアドレスＭ＋ｉを割り当てる（ステップ２４６）。この処理は、カウンタｉがＮ−２に達するまで（ステップ２４７）、カウンタｉをインクリメントしつつ（ステップ２４８）、繰返す。これにより、Ｎ台分のＩＰアドレスの割り当て行われる。
【００９８】
カウンタｉがＮ−２に達すると、シミュレータ・エージェント・Ｗｅｂサービス２１１は、受信結果チェック用スレッドを起動する（ステップ２４９）。そして、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの受信結果チェック指示または終了指示の待ち受け処理に入る（ステップ２５０）。
【００９９】
上述のように、Ｗｅｂサーバ・ソフトウェア２１０がＮＩＣに対してＡＮＹ設定でＩＰアドレスをバインドしているため、この状態（ステップ２５０の状態）で、シミュレータ・エージェント・ＰＣ２０４の状態は、図１８に示すような状態になっている。すなわち、シミュレータ・エージェント・Ｗｅｂサービス２１１および機器情報受信部２１２は、複数のＩＰアドレス（２０８および２０９）を介して外部と接続された状態となっている。
【０１００】
この状態は、統合管理用プリンタ２０１（図１４参照）から、イーサネット（登録商標）２０７を通して見た場合に、機器情報受信Ｗｅｂサービスを持つ被管理プリンタが、Ｎ個分動作している状態、すなわち、図１９に示す状態となる。すなわち、統合管理プリンタ２０１から、複数台に対する機器情報配信のテストを行うことができる。
【０１０１】
図２０は、本実施形態のシミュレータ・エージェント・Ｗｅｂサービス２１１の処理のうち、シミュレーション終了処理を示すフローチャートである。
【０１０２】
シミュレータ・エージェント・Ｗｅｂサービス２１１は、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの、受信結果チェック指示もしくは終了指示を待ち受ける（ステップ２６２）。そして、指示を受信すると、その指示が受信結果チェック指示か、または終了指示かを判断する（ステップ２６３）。
【０１０３】
受信結果チェック指示であるときは、シミュレータ・エージェント・Ｗｅｂサービス２１１は、図１７のステップ２４９で起動した受信結果チェック用スレッドを用いて、総ての機器情報受信スレッドから統合管理用プリンタ２０１より受信したデータを収集する。そして、受信したデータ、または受信したデータのハッシュ値、または受信したデータのチェックサムを、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２に送る（ステップ２６４）。
【０１０４】
受信した指示が終了指示であるときは、シミュレータ・エージェント・Ｗｅｂサービス２１１は、受信結果チェックスレッドを終了する（ステップ２６５）。そして、受信結果チェックスレッドを終了した後、シミュレータ・エージェント・Ｗｅｂサービス２１１は、カウンタｉをゼロに初期化する（ステップ２６６）。次に、ＮＩＣに対するＩＰアドレスＭ＋ｉの割当を解除する（ステップ２６７）。この処理はカウンタｉがＮ−２に達するまで（ステップ２６８）、ｉをインクリメントしつつ（ステップ２６９）、繰返す。  
ＩＰアドレスの割当解除が終了すると、シミュレータ・エージェント・Ｗｅｂサービス２１１は、自身用のＩＰアドレスのバインドを解除し（ステップ２７０）、本処理を終了する（ステップ２７１）。
【０１０５】
このように、シミュレータ・エージェント・Ｗｅｂサービス２１１は、被管理プリンタの機器情報受信部を動作させるＰＣなど汎用の情報機器において、機器情報受信部と仮想プリンタシミュレータ集中制御用マネージャとの間の通信内容をインターセプトする。そして、そのインターセプトした通信結果を表す内容を仮想プリンタシミュレータ集中制御用マネージャに送り、仮想プリンタシミュレータ集中制御用マネージャはこれを表示する。なお、この表示の代わりに、所定のメモリにその通信結果を記憶するようにしてもよい。
【０１０６】
なお、本実施形態の仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２に搭載された、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理は、図１３にて説明した示された処理と同じであり、その説明は省略する。
【０１０７】
本実施形態によれば、Ｗｅｂサービス技術を用いた機器情報配信機能のテストにおいて、機器情報受信Ｗｅｂサービスを止めることなく、ダイナミックにシミュレーション台数を増減することができる。増減は複数の機種の受信部を用いても構わない。例えば、プリンタ機種が機種Ａおよび機種Ｂと２種類存在する場合、一定期間機種Ａ、Ｂそれぞれの受信部をそれぞれ２０台、５０台でシミュレーションし、次の一定期間、機種Ａ、Ｂの受信部を４０台、３０台に変更するといったシミュレーションも可能となる。このような一定期間ごとに様々なパターンの機種混在環境をシミュレーションするに際して、各機種の台数および存続期間に関する設定をシナリオ化し、仮想プリンタシミュレータ集中制御用ＰＣ２０２から集中制御することも可能となる。これにより、様々なパターンの機種混在環境に関するテストを自動化し、テスト担当者の手間を削減し、テスト全体にかかるコストを削減することができる。
【０１０８】
また、シミュレータ・エージェント・ＰＣ上における機器情報受信Ｗｅｂサービスのインストールに関して、シミュレータ・エージェント・Ｗｅｂサービス２１１が図１５のステップ２２３の起動時に機器情報受信Ｗｅｂサービスをインストールすることもできる。さらに、図１５に示すステップ２２７の終了時に、機器情報受信サービスをアンインストールすることも可能である。
【０１０９】
なお、図１５に示すステップ２２４の機器情報受信Ｗｅｂサービス起動処理と、図１７に示すＮＩＣに対するＩＰアドレスの割当処理には、時間的な依存関係は無く、どちらが先に行われてもよい。また、図１５に示すステップ２２６の機器情報受信Ｗｅｂサービス終了処理と、図２０に示されたＮＩＣに対するＩＰアドレスの割当解除とには、時間的な依存関係は無く、どちらが先に行われてもよい。
【０１１０】
また、本発明は、機器情報の受信側に関して、プリンタの代わりに汎用の情報機器を用いることを特徴とするものであり、本実施形態で示した構成は、シミュレータ・エージェント・ＰＣの処理速度によらず有効である。処理速度の調整は、例えば被管理プリンタから移植した処理にウェイト処理を入れるなどによって、調整してもよい。
【０１１１】
さらに、本実施形態では、汎用の情報機器の中でもＰＣを用いているが、本発明は、機器情報の受信側に関して、プリンタの代わりに汎用の情報機器を用いることを特徴とするものであり、ＰＣは単なる一例である。ＰＣの代わりに、ＰＤＡや携帯電話機、サーバ等を用いてもよい。また、配信元がプリンタであるかどうかによらず有効である。例えば、図３に示した例のように、配信元が統合管理用プリンタではなく、統合管理用ＰＣであってもよい。
【０１１２】
［実施形態７］
上記実施形態６に係る図１９に示されるシミュレータ・エージェントの構成では、Ｗｅｂサービス自体が複数インストールされているわけではない。このため、それぞれのＩＰアドレスを経由してＷｅｂサービスに対するアクセスが行われた場合に、それぞれのＩＰアドレスに対する応答としてふさわしく振舞うべく、Ｗｅｂサービスの応答内容を変更する必要が生じる場合がある。
【０１１３】
これについて、被管理プリンタが、自身の機器情報受信Ｗｅｂサービスを登録する、ＵＤＤＩ（Ｕｎｉｖｅｒｓａｌ・Ｄｅｓｃｒｉｐｔｉｏｎ・Ｄｉｓｃｏｖｅｒｙ，ａｎｄＩｎｔｅｇｒａｔｉｏｎ）サービスの機能を持っている場合を例にとって説明する。通常、ＵＤＤＩサービスは、ＵＤＤＩレジストリへの外部からのアクセスを司るＷｅｂサービスと、ＵＤＤＩレジストリから成り立っている。このＵＤＤＩサービスは、被管理プリンタによらず、あるいは将来的に実施形態６のようなシミュレーションに用いられることを考慮せず、汎用のコードが用いられている。このような場合に、シミュレータで被管理プリンタの機能を正確に模すためには、ＵＤＤＩサービスから返される応答を、それぞれのＩＰアドレス毎に変更する必要が生じる。このような変更のために、Ｗｅｂサービスのコードを意図して書き直していては、書き直しのコストがかかるのみならず、書き直しの最中に二次的な不具合を作り込む可能性が生じ、これによって、シミュレータの品質自体を維持できなくなる可能性がある。本発明を適用したソフトウェア評価システムでは、この問題をＷｅｂサービス応答フィルタを用いて解決するものである。
【０１１４】
図２１は、本発明の第７の実施形態にかかるソフトウェア評価システムのうち、シミュレータ・エージェント・ＰＣ２０４（図１４参照）内の接続応対を示す図であり、実施形態６に係る図１９と同様の図である。図１９に示す状態と異なる点は、Ｗｅｂサーバ・ソフトウェア２８４内に、Ｗｅｂサービス応答フィルタ２８５が搭載されている点である。
図２２は、図２１に示すＷｅｂサービス応答フィルタ２８５による処理を示すフローチャートである。
【０１１５】
図２１に示す状態で受信処理が開始されると（ステップ３０１）、Ｗｅｂサービス応答フィルタ２８５は、その受信処理が、フィルタリングが必要と予め設定されたＷｅｂサービスであるか否かを判断する（ステップ３０２）。
【０１１６】
フィルタリングが必要なＷｅｂサービスと判断したときは、Ｗｅｂサービス応答フィルタ２８５は、ＨＴＴＰリクエストのヘッダに記された、リクエスト先ＩＰアドレスを、変数Ｒに保存する（ステップ３０３）。次に、Ｗｅｂサービスを呼び出す（ステップ３０４）。そして、Ｗｅｂサービスの呼出が終了すると、応答のＳＯＡＰ・Ｅｎｖｅｌｏｐｅから、フィルタリング対象要素を検索する（ステップ３０５）。
【０１１７】
対象要素を発見すると（ステップ３０６）、変数Ｒを用いて対象要素の内容を書き換える（ステップ３０７）。このＩＰアドレスの書き換えにより、受信処理を被管理プリンタの機器情報受信部に対応付けることができる。
【０１１８】
次に、Ｗｅｂサービス応答フィルタ２８５は、通常の応答処理を行い（ステップ３０９）、応答処理を終了する。また、ステップ３０２においてフィルタリングが必要なＷｅｂサービスだと判断されなかったときは、Ｗｅｂサーバ・ソフトウェアによって通常のＷｅｂサービス呼出処理（ステップ３０８）、および通常の応答処理（ステップ３０９）が行われる。
【０１１９】
図２３は、Ｗｅｂサービス応答フィルタ２８５によって、応答内容を変更する例を示す図である。ここでは、被管理プリンタがＵＤＤＩサービス機能を有している場合を例に取っている。通常、ＵＤＤＩサービスからの応答には、ａｃｃｅｓｓＰｏｉｎｔ要素にＷｅｂサービスのアクセス先ＵＲＬが入っている。ただし、この例ではａｃｃｅｓｓＰｏｉｎｔ要素の内容を、シミュレータ・エージェントＰＣの本来のＩＰアドレス２８２によるものから、図２１のリクエストがあったＩＰアドレス２８３によるものに書き換えている。これによって、それぞれのＩＰアドレスに対して、被管理プリンタを正確に模すことが可能となり、シミュレーション率の向上によって、ＵＤＤＩ部分のみ別の形式でテストを行う必要が無くなる。すなわち、機器情報配信機能のテストにかかるコストをさらに減少させることが可能となる。
【０１２０】
なお、図２３に示す例では、被管理プリンタが持つＵＤＤＩサービスからの応答を変更するものとしたが、本実施形態で示したＷｅｂサービス応答フィルタの処理は、ＵＤＤＩサービスからの応答変更に特定されるものではない。例えば、図２２に示すステップ３０３において、統合管理用プリンタからの配信内容をログとしてファイルに保存してもよいし、あるいは図２２に示すステップ３０７において、統合管理用プリンタへの応答内容をログとしてファイルに保存してもよい。また、バイナリデータのアタッチメントが存在する処理では、実施形態６に係る図２０に示す受信結果チェック用スレッドが、上記ログとして保存されたファイルを用いて、チェックサム、ハッシュ値を算出し、図２０に示すステップ２６４の処理に用いてもよい。また、受信内容のＳＯＡＰ・Ｅｎｖｅｌｏｐｅに配信内容のチェックサムが含まれる場合は、図２２のステップ３０３において、ファイルに保存せずにチェックサムを算出してもよい。そして、受信内容のＳＯＡＰ・Ｅｎｖｅｌｏｐｅに含まれるチェックサムと照らし合わせて、その結果を以って受信成功・失敗を判断し、判断結果を仮想プリンタシミュレータ集中制御用マネージャ２０２（図１４参照）に送信してもよい。
【０１２１】
また、図２２に示す処理では、フィルタリングが必要か否かの判断を、Ｗｅｂサービス呼出前（ステップ３０２）において行うものとしたが、フィルタリング処理への分岐判断は、さらに細かくは
受信時であって、ＳＯＡＰ・Ｅｎｖｅｌｏｐｅのデシリアライズ前
受信時であって、ＳＯＡＰ・Ｅｎｖｅｌｏｐｅのデシリアライズ後
応答時であって、ＳＯＡＰ・Ｅｎｖｅｌｏｐｅのシリアライズ前
応答時であって、ＳＯＡＰ・Ｅｎｖｅｌｏｐｅのシリアライズ後
の４段階とすることも可能である。この場合、Ｗｅｂサービス応答フィルタの処理は、図２４に示すフローチャートのようになる。すなわち、図２２に示したフィルタリングを実行する際に、上記分岐判断（ステップ３４２、３４４、３４７、３４９）を行う。
【０１２２】
［実施形態８］
本発明の第８の実施形態は、実施形態５で示した構成と、実施形態６で示した構成、そして実施形態７で示した構成の３つをシミュレータ上で組み合わせた評価システムに関するものである。これらの構成は、それぞれ機器情報受信部がＩＰアドレスをバインドする構成、機器情報受信部がＷｅｂサービスとして実装された構成、およびフィルタリングを行う構成である。
【０１２３】
図２５は、シミュレータ・エージェントＰＣ上で、３つの構成を組み合わせて用いる場合の、シミュレータ・エージェントＰＣ内の一構成例を示す図である。
【０１２４】
シミュレータ・エージェント・Ｗｅｂサービス３８８とは別個に、それぞれのＩＰアドレスに対して、
（ａ）機器情報受信コントロール部。具体的には、ＳＮＭＰやＳＬＰといったプロトコルによって、機器情報関連のコントロールを行うために被管理プリンタに搭載されたコードを、シミュレータ・エージェントＰＣに移植したもの。
【０１２５】
（ｂ）機器情報受信ＵＤＤＩ部。具体的には、被管理プリンタに搭載されたＵＤＤＩサービス部を、シミュレータ・エージェント・ＰＣに移植したもの。
【０１２６】
（ｃ）機器情報受信本体部。具体的には、ＳＯＡＰ・Ｅｎｖｅｌｏｐｅなど何らかのデータ構造の中に、機器情報の中でもデータ量の大きいものを受信するために、被管理プリンタに搭載されたコードを、シミュレータ・エージェントＰＣに移植したもの。データ量の大きい機器情報としては、例えば、プリンタ機能にファクシミリ機能を併せ持つ複合機であれば、アドレス帳といったデータ。
の３点ずつ（３８９）が搭載されている。なお、図２５では、構成をわかりやすく説明するために、Ｗｅｂサーバを３ブロック（３８４、３８５、３８６）に分けて示すが、ブロック３８４、３８５および３８６のすべてもしくはいずれかが、同一のＷｅｂサーバ・ソフトウェアであっても構わない。
【０１２７】
図２６は、本実施形態におけるシミュレータ・エージェント・Ｗｅｂサービス３８８の処理のうち、シミュレーション開始処理を示すフローチャートである。
【０１２８】
処理が開始されると（ステップ４０１）、シミュレータ・エージェント・Ｗｅｂサービス３８８は、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２（図１４参照）からの指示を待つ（ステップ４０２）。仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの開始指示により、シミュレータ・エージェント・Ｗｅｂサービス３８８は、指示に含まれる台数設定を変数Ｎに保存する（ステップ４０３）。次に、指示に含まれるスタートＩＰアドレスを変数Ｍに保存する（ステップ４０４）。さらに、カウンタｉをゼロに初期化する（ステップ４０５）。
【０１２９】
次に、シミュレータ・エージェント・Ｗｅｂサービス３８８は、シミュレータ・エージェントＰＣのＮＩＣに対して、ＩＰアドレスＭ＋ｉを割り当てる（ステップ４０６）。この処理は、カウンタｉがＮ−２に達するまで（ステップ４０７）、カウンタｉをインクリメントしつつ（ステップ４０８）、繰り返す。なお、その割り当ての実現は、１枚のＮＩＣに対して複数のＩＰアドレスを割り当てることによってもよいし、複数のＮＩＣを用いそれぞれのＮＩＣに単一のＩＰアドレスを割り当ててもよいし、複数のＮＩＣにそれぞれ複数のＩＰアドレスを割り当ててもよい。この時点で、機器情報受信本体部は、実施形態６における図１９に示された状態と同一の状態になり、また、機器情報受信ＵＤＤＩ部は実施形態７における図２１に示された状態と同一の状態になる。
【０１３０】
次に、シミュレータ・エージェント・Ｗｅｂサービス３８８は、カウンタｉをゼロに初期化する（ステップ４０９）。そして、被管理プリンタから移植した機器情報受信部をスレッドもしくはプロセスとして起動し（ステップ４１０）、その機器情報受信部をＩＰアドレスＭ＋ｉにバインドする（ステップ４１１）。この処理は、カウンタｉがＮ−１に達するまで（ステップ４１２）、カウンタｉをインクリメントしつつ（ステップ４１３）、繰り返す。
【０１３１】
カウンタｉがＮ−１に達すると、シミュレータ・エージェント・Ｗｅｂサービス３８８は、受信結果チェック用スレッドを起動する（ステップ４１４）。そして、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの、受信結果チェック指示及び終了指示の待ち受け処理に入る（ステップ４１５）。この時点で、機器情報受信コントロール部を含めて、図２５に示されたシミュレータ・エージェントＰＣ内の状態が完成する。
【０１３２】
各シミュレータ・エージェントＰＣ上のシミュレータ・エージェント・Ｗｅｂサービスがこの状態に入ると、本実施形態のシミュレータによって、統合管理プリンタ２０１（図１４参照）から、複数台に対する機器情報配信の全機能のテストを行うことができる。
【０１３３】
図２７は、本実施形態におけるシミュレータ・エージェント・Ｗｅｂサービス３８８の処理のうち、シミュレーション終了処理を示すフローチャートである。
【０１３４】
シミュレータ・エージェント・Ｗｅｂサービス３８８は、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からの、受信結果チェック指示もしくは終了指示を待ち受ける（ステップ４３２）。そして、指示を受信すると、その指示が受信結果チェック指示か、または終了支持かを判断する（ステップ４３３）。
【０１３５】
受信結果チェック指示であるときは、シミュレータ・エージェント・Ｗｅｂサービス３８８は、図２６のステップ４１４で起動した受信結果チェック用スレッドを用いて総ての機器情報受信スレッドから、各機器情報受信部が受信したデータを収集する。そして、その受信したデータ、または受信したデータのハッシュ値、または受信したデータのチェックサムを、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２に送る（ステップ４３４）。
【０１３６】
受信した指示が終了指示であるときは、シミュレータ・エージェント・Ｗｅｂサービス３８８は、受信結果チェックスレッドを終了する（ステップ４３５）。
【０１３７】
次に、シミュレータ・エージェント・Ｗｅｂサービス３８８は、カウンタｉをゼロに初期化する（ステップ４３６）。次に、ＩＰアドレスＭ＋ｉにバインドされた機器情報受信部に関して、バインドを解除し（ステップ４３７）、そのスレッドもしくはプロセスを終了する（ステップ４３８）。この処理はカウンタｉがＮ−１に達するまで（ステップ４３９）、ｉをインクリメントしつつ（４４０）、繰り返す。
【０１３８】
すべての機器情報受信部に関する処理が終了すると、シミュレータ・エージェント・Ｗｅｂサービス３８８は、カウンタｉをゼロに初期化する（ステップ４４１）。次に、ＮＩＣに対するＭ＋ｉの割当を解除する（ステップ４４２）。この処理はカウンタｉがＮ−２に達するまで（ステップ４４３）、ｉをインクリメントしつつ（ステップ４４４）、繰返される。
【０１３９】
なお、本実施形態の、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２上の仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理は、図１３に示された処理と同じである。また、Ｗｅｂサービス応答フィルタ３８７の処理は、図２２に示された処理と同じであり、それらの説明は省略する。
【０１４０】
本実施形態によれば、機器情報受信部がコントロール部、ＵＤＤＩ部および本体部の３つからなる被管理プリンタへの機器情報配信のテストを、シミュレーションすることが可能となる。
【０１４１】
なお、本実施形態では、スタートＩＰアドレスを用いる構成を示したが、このＩＰアドレスの指定方法によらず本発明を適用できることはもちろんである。例えば、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２からシミュレータ・エージェント・Ｗｅｂサービス３８８に対して指示する内容は、スタートＩＰアドレスではなく、ネットワークアドレス１７２．２４．１．０であってもよい。また、指示する内容にスタートＩＰアドレスやネットワークアドレスだけでなく、サブネットマスク等の付随設定を含めてもよい。また、本実施形態では説明のためにスタートするＩＰアドレスを１７２．２４．１．１としているが、本発明の適用は、使用するＩＰアドレス・使用するポート・使用するサブネットマスク等によらず有効であることは言うまでもない。
【０１４２】
さらに、本実施形態では、機器情報受信ＵＤＤＩ部を、被管理プリンタに搭載されたＵＤＤＩサービス部をシミュレータ・エージェント・ＰＣに移植したものとしている。しかし、Ｗｅｂサービス応答フィルタを用いるため、ＵＤＤＩ部は汎用のＵＤＤＩサーバソフトであってもよい。
【０１４３】
さらに、本実施形態では、シミュレータ・エージェント・ＰＣ３８１内に、機器情報受信コントロール部、機器情報受信ＵＤＤＩ部、および機器情報受信本体部の３つをすべて搭載することを例にとっている。しかし、３点のうち何れか２点の組合せ、もしくは１点のみを、シミュレータ・エージェント・ＰＣ３８１内に構成してもよい。例えば、コントロール部および本体部の２点を４台のシミュレータ・エージェント・ＰＣに搭載し、別の４台のシミュレータ・エージェント・ＰＣにＵＤＤＩ部を搭載してもよい。また、そのような構成の分け方を、シナリオとして、仮想プリンタシミュレータ集中制御用マネージャＰＣ２０２から制御してもよい。ＵＤＤＩ部だけを搭載するシナリオを用い、かつシミュレータ・エージェントＰＣ内に搭載するＵＤＤＩ部を汎用のＵＤＤＩサーバソフトとした場合、本シミュレータはプリンタだけでなく情報機器上のＵＤＤＩ検索ソフトウェアの動作確認に用いることもできる。
【０１４４】
［実施形態９］
上述した実施形態７の図２１に示したシミュレータ・エージェントの構成は、Ｗｅｂサーバ・ソフトウェア内にＷｅｂサービス応答フィルタを搭載する機能が必要である。しかし、Ｗｅｂサーバ・ソフトウェア内にＷｅｂサービス応答フィルタを搭載する機能が無い場合がある。また、実施形態２の図５および実施形態４の図７のように通信プロトコルがＷｅｂサービスでない場合もある。これらの場合には、Ｗｅｂサービス応答フィルタを用いるのではなく、シミュレータ・エージェント・ソフトウェア自身に転送用モジュールを設け機器情報受信部からの応答をその転送用モジュールに転送させることにより、応答内容を変更することができる。
【０１４５】
図２８および図２９は、転送用モジュールによって応答内容を変更する例の構成を示す図である。図２９は、図２８中の枠で囲んだ部分（５１２）を詳細に説明する図である。図２９において、統合管理用プリンタ５０１から、仮想被管理プリンタのＩＰアドレス５１１すなわち１７２．２４．２．１を介して、機器情報受信部５１１に対して機器情報が配信される。これに対して、機器情報受信部は統合管理用プリンタのＩＰアドレスではなく、シミュレータ・エージェントＰＣに元来割り振られたＩＰアドレス５０８すなわち１７２．２４．１．１に対して返信を行う。ここで、アドレス１７２．２４．１．１に対する返信パケットには、予め何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報が付加されている。付加する形態は、例えばＵＲＬに含まれる仮想パスでもよく、また、パケットの一部を書き換えないし追加したものでもよい。アドレス１７２．２４．１．１には、シミュレータ・エージェント・ソフトウェアに搭載された転送用モジュール５０９が待ち受けており、実施形態７に示したフィルタリングと同等の処理を行って、その返信を統合管理用プリンタ５０１に転送する。
【０１４６】
図３０は、図２９において示した転送用モジュールの処理を示すフローチャートである。処理が開始されると（ステップ５０１）、転送用モジュールは仮想被管理プリンタのＩＰアドレス１７２．２４．２．ｎ（ｎは各仮想被管理プリンタに一意の自然数、例えば１７２．２４．２．１）をバインドする（ステップ５０２）。そして、待ち受ける（ステップ５０３）。パケットを受信すると、転送用モジュールはその受信したパケットが、書き換えが必要なパケットであるかどうかを判断する（ステップ５０４）。書き換えが必要だと判断された場合は、パケットの一部を仮想被管理プリンタからの応答にふさわしいものに書き換える（ステップ５０５）。この書き換えは、予め付加された、何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報に基づいて行われる。
【０１４７】
書き換える内容は、例えば実施形態７に示した図２３のような形態で行われるが、本実施形態はフィルタリングと同等の処理を転送用モジュールによって実現することを説明したものであり、処理自体の内容は、パケット書き換えに特定されるものではない。例えば、返信内容をログとしてファイルに保存してもよい。
【０１４８】
次に転送用モジュールは、受信パケットの送信元ＩＰアドレスを、何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報を元に、仮想被管理プリンタのＩＰアドレス１７２．２４．２．ｎに書き換える（ステップ５０６）。そして、送信先ＩＰアドレスを統合管理用プリンタのＩＰアドレス１７２．２４．３．１と変更して、受信したパケットを転送する（ステップ５０７）。この処理は、ユーザの処理終了命令が発せられるまで行われる（ステップ５０８）。ユーザの処理終了命令が発せられると、転送用モジュールは仮想被管理プリンタのＩＰアドレス１７２．２４．２．ｎのバインドを解除し（ステップ５０９）、処理を終了する（ステップ５１０）。
【０１４９】
上述した転送用モジュールの導入によって、実施形態７のフィルタリング処理と同等の処理を、Ｗｅｂサーバ・ソフトウェア内にＷｅｂサービス応答フィルタを搭載する機能が無い場合や、通信プロトコルがＷｅｂサービスでない場合でも実現することができる。
【０１５０】
［実施形態１０］
上記実施形態９では、転送用モジュールに対する返信の際に、何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報を付加した。しかし、機器情報受信部が転送用モジュールに対して各仮想被管理プリンタごとに異なったポートを用いて返信を行うことにより、転送用モジュールにおいて何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを特定することもできる。
【０１５１】
図３１は、各仮想被管理プリンタの機器情報受信部が転送用モジュールの何れのポートに対して返信を行うかを表す、ポート・仮想ＩＰアドレス変換テーブルを示す図である。各仮想被管理プリンタの機器情報受信部はこの変換テーブルに基づき、自身のＩＰアドレスが例えば１７２．２４．２．１であった場合は、転送用モジュール１７２．２４．１．１のポート５０１番に対して返信を行う。同様に、自身のＩＰアドレスが例えば１７２．２４．２．２であった場合は、転送用モジュール１７２．２４．１．１のポート５０２番に対して返信を行う。さらに、自身のＩＰアドレスが例えば１７２．２４．２．３であった場合は、転送用モジュール１７２．２４．１．１のポート５０３番に対して返信を行う。また、転送用モジュールは受信の際に、例えば、アドレス１７２．２４．１．１のポート５０１番に対する返信である場合は、このアドレスが割り振られた機器情報受信部からの返信であると判断する。そして、送信元ＩＰアドレスを１７２．２４．２．１と書き換える（ステップ５０６）。また、例えば、１７２．２４．１．１のポート５０２番に対する返信である場合は、１７２．２４．２．２が割り振られた機器情報受信部からの返信であると判断して図３０のステップ５０６において送信元ＩＰアドレスを１７２．２４．２．２と書き換える。さらに、例えば、１７２．２４．１．１のポート５０３番に対する返信なら、１７２．２４．２．３が割り振られた機器情報受信部からの返信であると判断して図３０のステップ５０６において送信元ＩＰアドレスを１７２．２４．２．３と書き換える。
【０１５２】
本実施形態は、被管理プリンタからの返信が非同期である場合に特に有効である。図３２は、被管理プリンタからの返信が非同期である例の構成を示す図である。具体的には、統合管理用プリンタから被管理プリンタへの機器情報配信をＷｅｂサービス・リクエストによって行い、被管理プリンタから統合管理プリンタへの返信を、非同期な別のＷｅｂサービス・リクエストによって行う場合の構成を示している。この場合、返信のＷｅｂサービス・リクエストにおいては、統合管理用プリンタが「ソケット接続待機」を行う形態となる。このような非同期通信は、例えば、被管理プリンタにおける機器情報の受信処理に時間がかかる場合に用いられる。
【０１５３】
図３２において、統合管理用プリンタ５２１から、仮想被管理プリンタのＩＰアドレス５２３すなわち１７２．２４．２．１を介して、機器情報受信部５２８に対してＷｅｂサービス・リクエストにより機器情報が配信される。この配信リクエストは、機器情報受信部からの成功・失敗を示す情報の返信無しに一旦終了する。機器情報受信部は配信された機器情報の処理を終了すると、統合管理用プリンタのＩＰアドレスではなく、シミュレータ・エージェントＰＣに元来割り振られたＩＰアドレス５２２である１７２．２４．１．１に対してＷｅｂサービスリクエストにより返信を行う。機器情報受信部５２８は、受信及び送信を、ＨＴＴＰライブラリ５２７を介して行う。この場合、返信の際には図３１に示したポート・仮想ＩＰアドレス変換テーブル５２６を参照し、１７２．２４．１．１に対して何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に知ることができる。アドレス１７２．２４．１．１には、シミュレータ・エージェント・ソフトウェアに搭載された転送用モジュール５２４が待ち受けており、実施形態７に示したフィルタリングと同等の処理を行って、その返信を統合管理用プリンタ５２１に転送する。転送用モジュール５２４の処理は実施形態９の図３０に示した流れ図と同等である。しかし、図３０のステップ５０６に示す処理で、転送用モジュール５２４はポート・仮想ＩＰアドレス変換テーブル５２６を参照し、返信パケットの送信元ＩＰアドレスを１７２．２４．２．ｎに書き換える。転送用モジュール５２４は、受信及び返信をＴＣＰ／ＩＰ用操作ライブラリ５２４を介して行う。
【０１５４】
なお、実施形態７に示したフィルタリングと同等の処理を行わない場合でも、本実施形態は有効である。例えば、ＨＴＴＰライブラリもしくは被管理プリンタの返信部分には、通常Ｗｅｂサービス・リクエストの送信元ＩＰアドレスを変更する機能が無い。しかし、本実施形態によって、送信元ＩＰアドレスを変更する機能を持つＴＣＰ／ＩＰライブラリ及び転送用モジュールによって転送が行われる。これにより、ＨＴＴＰライブラリおよび被管理プリンタの返信部分に送信元ＩＰアドレスを変更する機能を加えなくても、多数の被管理プリンタへの、通信のシミュレーションが可能となる。
【０１５５】
［実施形態１１］
上述の実施形態１０では、統合管理用プリンタから被管理プリンタへの機器情報配信をＷｅｂサービス・リクエストによって行い、被管理プリンタから統合管理用プリンタへの返信を、非同期な別のＷｅｂサービス・リクエストによって行う場合の構成を示した。そして、機器情報受信部並びに転送用モジュールにおけるポート・仮想ＩＰアドレス変換テーブルを用いた処理が、時間のかかる非同期なＷｅｂサービス通信において有効であることを示した。しかし、統合管理用プリンタからのデータ量の少ない通知パケット送信し、機器情報の取得は被管理プリンタから能動的に行うような場合であっても、ポート・仮想ＩＰアドレス変換テーブルを用いた処理は有効である。例えば、統合管理用プリンタから機器情報受信部に対しては、ＴＣＰ／ＩＰもしくはＵＤＰ／ＩＰの非常に小さなパケットが送られ、そのパケットが、何らかの配信すべき機器情報が統合管理用プリンタに存在することを通知するものである場合がある。この場合、被管理プリンタはその通知パケットを受信すると、統合管理用プリンタに対してＷｅｂサービス・リクエストを発行し、配信されるべき機器情報を取得する点で有効である。
【０１５６】
図３３は、通知パケットとしてＴＣＰ／ＩＰを用いる構成を示す図である。この構成と図３２に示す構成とは、統合管理用プリンタ５３１から機器情報受信部５３８に対する機器情報存在通知がＴＣＰ／ＩＰ及びＴＣＰ／ＩＰライブラリ５３４を用いて行われるという点で異なっている。機器情報存在通知は、ＴＣＰ／ＩＰの通信としては一旦終了する。その後、図３２において、機器情報は機器情報受信部５３８から統合管理用プリンタ５３１への、機器情報存在通知とは別のＷｅｂサービス・リクエストによって取得される。
【０１５７】
また、図３４は、通知パケットとしてＵＤＰ／ＩＰを用いる構成を示す図である。この構成と図３３に示す構成とは、統合管理用プリンタ５４１から機器情報受信部５４８に対する機器情報存在通知がＵＤＰ／ＩＰ及びＵＤＰ／ＩＰライブラリ５４９を用いて行われるという点で異なっている。図３４に示す構成においても、機器情報は機器情報受信部５４８から統合管理用プリンタ５４１への、機器情報存在通知とは別のＷｅｂサービス・リクエストによって取得できる。
【０１５８】
［実施形態１２］
上述の実施形態９、実施形態１０および実施形態１１では、転送用モジュールを仮想被管理プリンタの機器情報受信部と同じシミュレータ・エージェントＰＣ上で動作させるものとして説明した。しかし、シミュレータ・エージェントＰＣが複数である場合、仮想被管理プリンタの機器情報受信部と異なるシミュレータ・エージェントＰＣ上で転送用モジュールを動作させることもできる。
【０１５９】
［他の実施形態］
本発明は、上述した実施形態の機能を実現する、図８などのフローチャートの手順を実現するプログラムコード、またはそれを記憶した記憶媒体によっても実現することができる。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１６１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳが実際の処理の一部または全部を行うものであってもよい。
【０１６２】
更に、プログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、ＣＰＵなどが実際の処理の一部または全部を行うものであってもよい。
【図面の簡単な説明】
【０１６３】
【図１】本発明の実施形態に係るソフトウェア評価システムの対象である、機器情報配信のシステムを示す図である。
【図２】本発明の第１の実施形態に係るソフトウェア評価システムの構成を示す図である。
【図３】上記第１の実施形態に係るソフトウェア評価システムの構成の他の例を示す図である。
【図４】本発明の第２実施形態に係る評価システムの構成を示す図である。
【図５】図４に示した構成について、１台のシミュレータ・エージェントＰＣ３３の内容を説明する図である。
【図６】本発明の第３の実施形態に係るソフトウェア評価システムの構成を示す図である。
【図７】本発明の第４の実施形態に係るソフトウェア評価システムの構成を示す図である。
【図８】図７に示すシミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション開始処理を示すフローチャートである。
【図９】図７に示すシミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション終了処理を示すフローチャートである。
【図１０】図８、図９に示すシミュレータ・エージェント・ソフトウェア５９の処理を制御する仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理を示すフローチャートである。
【図１１】本発明の第５の実施形態に係るシミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション開始処理を示すフローチャートである。
【図１２】第５実施形態にかかる上記シミュレータ・エージェント・ソフトウェア５９の処理のうち、シミュレーション結果チェック処理およびシミュレーション終了処理を示すフローチャートである。
【図１３】第５実施形態における仮想プリンタシミュレータ集中制御用マネージャＰＣ５２に搭載された、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理を示すフローチャートである。
【図１４】本発明の第６実施形態に係るソフトウェア評価システムの構成を示す図である。
【図１５】図１４に示すＷｅｂサーバ・ソフトウェア２１０の処理のうち、本発明を適用したソフトウェア評価に関連する処理を示すフローチャートである。
【図１６】図１５に示したステップ２２５のＷｅｂサーバが稼動中の状態における、シミュレータ・エージェントＰＣ２０４内の動作状態を説明する図である。
【図１７】図１４に示すシミュレータ・エージェント・Ｗｅｂサービス２１１の処理のうち、シミュレーション開始処理を示すフローチャートである。
【図１８】上記シミュレーション開始処理による、シミュレータ・エージェント・ＰＣ２０４の状態における接続関係を示す図である。
【図１９】図１８に示す接続状態により機器情報受信Ｗｅｂサービスを持つ被管理プリンタが、Ｎ個分動作している状態を示す図である。
【図２０】第６実施形態のシミュレータ・エージェント・Ｗｅｂサービス２１１の処理のうち、シミュレーション終了処理を示すフローチャートである。
【図２１】本発明の第７の実施形態にかかるソフトウェア評価システムのうち、シミュレータ・エージェント・ＰＣ２０４内の接続応対を示す図である。
【図２２】図２１に示すＷｅｂサービス応答フィルタ２８５による処理を示すフローチャートである。
【図２３】図２２に示す、Ｗｅｂサービス応答フィルタ２８５の処理によって、応答内容を変更する例を示す図である。
【図２４】図２２に示すＷｅｂサービス応答フィルタの処理の他の例を示すフローチャートである。
【図２５】本発明の第８の実施形態に関し、シミュレータ・エージェントＰＣ上で、上記実施形態の３つの構成を組み合わせて用いる場合の、シミュレータ・エージェントＰＣ内の一構成例を示す図である。
【図２６】第８実施形態におけるシミュレータ・エージェント・Ｗｅｂサービス３８８の処理のうち、シミュレーション開始処理を示すフローチャートである。
【図２７】第８実施形態におけるシミュレータ・エージェント・Ｗｅｂサービス３８８の処理のうち、シミュレーション終了処理を示すフローチャートである。
【図２８】本発明の第９実施形態に係るソフトウェア評価システムの構成を示す図である。
【図２９】図２８に示す構成の詳細を示す図である。
【図３０】図２９に示す転送用モジュールの処理を示すフローチャートである。
【図３１】本発明の第１０実施形態に係る機器情報受信部が転送用モジュールの何れのポートに対して返信を行うかを表す変換テーブルを示す図である。
【図３２】第１０実施形態に係り、被管理プリンタからの返信が非同期である例の図２9と同様の構成を示す図である。
【図３３】本発明の第１１実施形態に係り、通知パケットとしてＴＣＰ／ＩＰを用いる場合の図２９と同様の構成を示す図である。
【図３４】第１０実施形態に係り、通知パケットとしてＵＤＰ／ＩＰを用いる場合の図２９と同様の構成を示す図である。
【符号の説明】
【０１６４】
１、１１、３１、４１、５１、２０１    統合管理用プリンタ
２、３、４、５    被管理プリンタ
６、１６、２６、３６、４６、５７、２０７、    イーサネット（登録商標）
１２〜１５、２２〜２５、３２〜３５、４２〜４５、５３〜５６、２０３〜２０６    シミュレータエージェントＰＣ
３７、４７、６０、２０９、３８３    ネットワークトラスポート層
３８、４９、６１、２１２、２８７、３８９    機器情報受信部
５２、２０２    仮想プリンタシミュレータ集中制御用マネージャＰＣ
５９、２１１、２８６、３８８    シミュレータエージェントソフトウェア
２１０、２８４、３８４、３８５、３８６    Ｗｅｂサーバソフトウェア
２８５、３８７    Ｗｅｂサービス応答フィルタ
【図１】
2006313526.tif 000003
【図２】
2006313526.tif 000004
【図３】
2006313526.tif 000005
【図４】
2006313526.tif 000006
【図５】
2006313526.tif 000007
【図６】
2006313526.tif 000008
【図７】
2006313526.tif 000009
【図８】
2006313526.tif 000010
【図９】
2006313526.tif 000011
【図１０】
2006313526.tif 000012
【図１１】
2006313526.tif 000013
【図１２】
2006313526.tif 000014
【図１３】
2006313526.tif 000015
【図１４】
2006313526.tif 000016
【図１５】
2006313526.tif 000017
【図１６】
2006313526.tif 000018
【図１７】
2006313526.tif 000019
【図１８】
2006313526.tif 000020
【図１９】
2006313526.tif 000021
【図２０】
2006313526.tif 000022
【図２１】
2006313526.tif 000023
【図２２】
2006313526.tif 000024
【図２３】
2006313526.tif 000025
【図２４】
2006313526.tif 000026
【図２５】
2006313526.tif 000027
【図２６】
2006313526.tif 000028
【図２７】
2006313526.tif 000029
【図２８】
2006313526.tif 000030
【図２９】
2006313526.tif 000031
【図３０】
2006313526.tif 000032
【図３１】
2006313526.tif 000033
【図３２】
2006313526.tif 000034
【図３３】
2006313526.tif 000035
【図３４】
2006313526.tif 000036