JP2006313526A - ソフトウェア評価方法およびソフトウェア評価システム - Google Patents

ソフトウェア評価方法およびソフトウェア評価システム Download PDF

Info

Publication number
JP2006313526A
JP2006313526A JP2006006076A JP2006006076A JP2006313526A JP 2006313526 A JP2006313526 A JP 2006313526A JP 2006006076 A JP2006006076 A JP 2006006076A JP 2006006076 A JP2006006076 A JP 2006006076A JP 2006313526 A JP2006313526 A JP 2006313526A
Authority
JP
Japan
Prior art keywords
software
simulator
printer
receiving unit
evaluation method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006006076A
Other languages
English (en)
Inventor
Toshiaki Iizuka
利明 飯塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006006076A priority Critical patent/JP2006313526A/ja
Priority to US11/398,215 priority patent/US8819197B2/en
Publication of JP2006313526A publication Critical patent/JP2006313526A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】本来多数のデバイスが必要になるようなソフトウェアの評価を低コストで行うことを可能とする。
【解決手段】機器情報受信部38からなる1単位の受信部ソフトウェアでは、個々の機器情報受信部38がその仮想被管理プリンタに対応するIPアドレスにバインドしている。そして、移植された受信部ソフトウェアである機器情報受信部38が、IPアドレスをバインドした状態で統合管理プリンタ31からの配信を待機する状態を生成する。これにより、100台の被管理プリンタが統合管理用プリンタ31からの配信をいつでも受け付けることができ、実際と同じ状態をつくることができる。その結果、1台のシミュレータ・エージェントPC33が、100台分の被管理プリンタの役割を果たすことができ、被管理プリンタが100台必要なところを、1台のPCでシミュレーションが可能となる。
【選択図】図5

Description

本発明は、ソフトウェア評価方法およびソフトウェア評価システムに関し、詳しくは、プリンタやプリンタ機能を有する複合機などの画像形成装置がネットワークに接続したシステムにおけるソフトウェア評価に関するものである。
従来、ネットワークを介して接続する複数の画像形成装置に対して、パーソナルコンピュータや同様の画像形成装置から、種々の設定や要求などを行うシステムが知られている。例えば、特許文献1には、複数の画像形成装置に対してフォントデータを登録する技術が記載されている。また、そのような技術の1つとして、デジタル複合機から他のデジタル複合機などにアドレス帳を配信するシステムも知られている。
複数の画像形成装置をネットワークに接続したシステムの例として、近年、プリンタやスキャナ機能、ファクシミリ機能、コピー機能などを併せ持つ装置(以下、「複合機」と称する)などをLAN等のネットワークに接続して用いるシステムが普及している。このシステムでは、例えば、LANに多数接続した画像形成装置の設定を集中制御するため、1台のパーソナルコンピュータ(以下、単に「PC」とも言う)、1台のプリンタ、あるいは1台の複合機を、これら多数台の画像形成装置の制御用として用いる。そして、その制御用装置においてユーザが所定の設定を行うことにより、LANに接続する多数の画像形成装置に自動的にその設定が配信される。
このような機能を具えることにより、例えば、コピー機能における排紙の設定として「片面2枚の裏が白い原稿を読み取った場合は、必ず両面1枚へコピーする」といった設定を、そのシステムを使用する、例えばオフィスにおける統一した設定とすることがある。この場合に、一台のPCもしくは複合機に設定するだけで、その設定が自動的に他の複合機に配信されるといった使い方が可能となる。これにより、そのオフィス内に設置されたコピー機能を有するすべての複合機に対して逐一手動でその設定をする手間を省くことができる。また、部門IDによって印刷枚数の課金管理を行う場合に、1台のプリンタもしくは複合機に部門IDの設定をすると、この設定が自動的に他の装置に配信されるようにできる。これにより、多数のプリンタや複合機にそれぞれ部門IDを設定するという、課金管理をする際の手間を軽減することもできる。
ところで、以上のように有用なシステムにおける通信ソフトウェアを開発するにあたって、その機能を確認、保証するために評価テストを行うことが多い。この評価テストは、システムに接続するプリンタないし複合機の数が多くなればなるほど通信エラーの確率が増すなどの理由からその重要性が増すものである。
この通信ソフトウェアの評価では、例えば、その配信側ソフトウェアによる設定などの「配信機能」や受信側ソフトウェアによる設定などの「受信機能」について、動作確認、デバッグといった一連のテストによって行う。従来の評価方法の一つは、実際のプリンタや複合機本体を用いるか、もしくはそれら装置に対応するシミュレータとして専門のハードウェア装置を用いるものである。
特開2000−132362号公報 特開2003−46569号公報
しかしながら、このような評価方法では、実際のプリンタを用意する必要があり、コストが増すという問題がある。特に、大規模なネットワーク環境に適応しようとすればするほど、評価に必要な台数が多くなる。例えば、配信および受信の機能に関して「20台のプリンタに対して配信し、また、それぞれのプリンタ受信が可能」という機能を評価する場合、動作確認やデバッグのために実際に稼動させる20台のプリンタが必要になる。これは、そのシステムを提供するシステム製造者が実際に20台のプリンタを用意することを意味し、コストなどの点で製造者に過大な負担を強いることになる。そして、ネットワークに接続するプリンタ等の数が増すほどこの問題はより顕著になる。
これに対し、テスト用に、そのテスト対象となるプリンタなどの数よりも少ない、例えば、数台もしくは数十台のプリンタや複合機を用いてネットワーク環境を作り、そこで得られた定量的なデータに基づいて評価する方法も知られている。具体的には、定量的なデータに基づいて何台までの通信に耐えられるかなどについて数式などを用いて理論値を算出し、その理論値によって評価する方法も知られている。この方法は、基本的に、ネットワーク環境や数式などが適切であれば妥当な評価を行うことができる。しかし、例えば、そのシステムの顧客が、理論値でなく、ネットワークを介して実際に動作させたときの評価を求める場合には、対応することができない。また、数百台ないし数千台のプリンタや複合機というようにネットワークに接続するプリンタなどの台数が増すほど、理論値の妥当性を担保すべく、理論値を算出するために実際に動作させるプリンタ等の数も同様に増す必要がある。このように、理論値による方法であっても、比較的多くのプリンタを接続するシステムでは、上記の方法と同様の、実際に動作するプリンタ等の数を増すことに起因した問題が生じ得る。
一方、関連技術として特許文献2に記載されたものが知られている。この文献には、複数のクライアントPCからの集中アクセスに絶え得るソフトウェア(例えば、インターネットサーバソフトウェア)であるか否かをテストする方法が記載されている。具体的には、複数のクライントPCを実際には用意せずに、一台のPCによって擬似的に複数のクライアントPCを生成し、その擬似的なクライアントPCからサーバソフトウェアに対して集中アクセスを行わせるものである。
しかしながら、この文献には、一台のPCにおいて複数の仮想的なクライアントが動作することが示されるものの、ネットワークを介したアクセスに際して、そのアドレス設定はテスト用に設けられた他のモジュールによって行われる。すなわち、個々の仮想的クライアントは、それぞれが独立したデバイスとみなされる場合の独立した通信機能を具えてはいない。従って、プリンタや複合機などが、前述のように、通信機能の評価テストにおける複数の受信側デバイスであってそれらのデバイスごとに通信結果が評価されるような場合がある。この場合には、特許文献2から示唆される、一台のPCにおいて複数の仮想的なソフトウェアを動作させる構成をそのまま用いることはできない。換言すれば、実際の受信側デバイスと同じ状態で評価するには、クライアントからのアクセスないし送信に際して、それぞれの仮想的ソフトウェア自身がそのアドレスを認識してアクセスを待機する状態にある必要がある。
本発明の目的は、本来多数のデバイスが必要になるようなソフトウェアの評価を低コストで行うことを可能とする仕組みを提供することである。
そのために本発明では、ソフトウェア評価方法であって、通信媒体を介して通信可能な情報処理装置で稼動する、デバイスを仮想化した仮想デバイスソフトウェアに対して、前記通信媒体を介して予め定められた処理を行わせる制御工程を有することを特徴とする。
他の態様では、ソフトウェア評価方法であって、ネットワークを介して通信可能な情報処理装置に画像形成装置の受信部ソフトウェアを移植し、該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、該データの送信に応じた前記受信部ソフトウェアの前記返信を取得し、該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う、工程を有することを特徴とする。
また、ソフトウェア評価システムであって、ネットワークを介して通信可能な情報処理装置で稼動するデバイスを仮想化した仮想デバイスソフトウェアに対して、前記ネットワークを介して予め定められた処理を行わせる制御手段を有することを特徴とする。
他の態様では、ソフトウェア評価システムであって、ネットワークを介して通信可能な情報処理装置に移植した画像形成装置の受信部ソフトウェアと、該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、該データの送信に応じた前記受信部ソフトウェアの前記返信を取得する取得手段と、該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う評価手段と、を有することを特徴とする。
以上の構成によれば、本来多数のデバイスが必要になるようなソフトウェアの評価を低コストで行うことを可能とする仕組みを提供することが可能となる。
以下、図面を参照して本発明の実施形態を詳細に説明する。
最初に、以下で説明する本発明のそれぞれの実施形態に係るソフトウェア評価システムの対象である、機器情報配信のシステムについて説明する。
図1は、この機器情報配信システムの一例を示す図である。同図に示すように、統合管理用プリンタ1、および被管理プリンタ2〜5の5台のプリンタが、イーサネット(登録商標)6によってネットワーク接続されている。ユーザが、統合管理用プリンタ1においてそのプリンタに対するアドレス帳などの設定ないしその変更を指示する操作をすると、プリンタ1におけるその設定ないしその変更がなされる。これとともに、プリンタ1は、機器情報の配信機能を具えており、ユーザがプリンタ1に対して設定の配信を指示すると、統合管理用機器情報の受信機能を具える被管理プリンタ2〜5に対して設定が配信される。すなわち、ユーザは、統合管理用プリンタ1において設定を指示するだけで、それと同じ設定が被管理プリンタ2〜5に設定される。このように、本システムによれば、ユーザは被管理プリンタのところまで移動しそこで設定支持のための操作を行わずに、プリンタ1〜プリンタ5に対して同じ設定を行うことができる。
なお、上記の例では、システムを構成するプリンタについて、送信機能を具えた「統合管理用プリンタ」と受信機能を具えた「被管理プリンタ」とに区別して説明した。しかし、設定の「送信」機能と「受信」機能の両方を具えたプリンタを含んでシステムが構成されていてもよいことはもちろんである。例えば、プリンタ1〜プリンタ5のそれぞれが、「送信」機能と「受信」機能の両方を「機器情報配信機能」として具え、それらのプリンタがイーサネット(登録商標)6によってネットワーク接続されるシステムとすることもできる。そして、ここで、プリンタ1が統合管理用の役割を、プリンタ2〜5が被管理の役割を果たす形態とすることもできる。
また、上記の例では、送信側の「統合管理用プリンタ」を含め、機器情報配信システムを構成するデバイスをプリンタとしているが、プリンタ機能やコピー機能を併せ持つ複合機などの画像形成装置が本システムを構成するデバイスであってもよい。この場合において、図2以降の図を参照して後述される本発明の各実施形態に示されるように、本発明を適用したソフトウェアの評価を実際の画像形成装置を用いずに行うことができる。このことから、電子写真プリンタや複合機など比較的コストの高い画像形成装置が構成する機器情報配信システムの場合には、本発明の適用がより有効となる。すなわち、「1台のプリンタから数百台のプリンタに対して機器情報配信を行うといった、大規模なネットワークシステムにおける評価を行う場合、比較的高価な画像形成装置を実際に用いずに済むため、評価のためのコストの削減効果が顕著となる。なお、インクジェット方式のプリンタなど比較的コストの低い画像形成装置であっても、それらを含んで構成されるシステムのソフトウェア評価に対する本発明の適用を排除するものでないことは、以下の説明からも明らかである。
[実施形態1]
図2は、本発明の第1の実施形態に係るソフトウェア評価システムの構成を示す図である。
図2に示すように、本評価システムは図1に示した評価対象システムにおける被管理プリンタ2〜5を、シミュレータ・エージェント・パーソナル・コンピュータ(以下、単に「シミュレータ・エージェントPC」とも言う)12〜15で実現したものである。
具体的には、本評価システムは、被管理プリンタ2〜5それぞれの機器情報を受信するためのソフトウェアについて、APIなどのインターフェース定義に基づいたソースコードをシミュレータ・エージェントPC12〜15にそれぞれ記述して構成される。すなわち、それぞれの被管理プリンタの受信ソフトウェアがシミュレータ・エージェントPC上で動作できる形態で移植される。なお、このソフトウェアの詳細は、後述の[実施形態2]において、より具体的に説明する。
以上のように構成される評価システムにおいて、統合管理用プリンタ11から、4台の被管理プリンタへの機器情報の配信機能をテストするために、ユーザは、先ず統合管理用プリンタ11上でプリンタ11に対する設定の変更を指示する。そして、ユーザがプリンタ11に対して設定の配信を指示すると、統合管理用プリンタ11は被管理プリンタ2〜5と等価であるそれぞれシミュレータ・エージェントPC12〜15に対してアドレス帳を配信する。このとき、シミュレータ・エージェントPC12〜15のそれぞれは、この設定の受信およびその結果の統合管理用プリンタ11に対する返信に関して、被管理プリンタ2〜5と同じ通信を行う。そして、この通信の評価は、本実施形態では、統合管理プリンタ11における所定の表示部にそれぞれの被管理プリンタに対する通信結果が表示されることを以って行う。例えば、「送信終了」の表示を以って通信が良好になされたと評価し、「送信エラー」の表示を以って通信エラーを生じたと評価する。そして、これらの「送信終了」や「送信エラー」の表示は、それぞれの被管理プリンタの受信ソフトウェアが所定の返信をすることによって可能となることはもちろんである。
以上のように、本実施形態のソフトウェア評価方法は、ネットワークを介して通信可能なPCなどの情報処理装置で稼動するプリンタなどのデバイスを仮想化した仮想デバイスソフトウェアを用いて行う。そして、この評価方法は、上記ネットワークを介して配信された設定の受信およびそれに応じた返信といった所定の処理を行わせる制御工程を有するものである。
本実施形態の評価方法によれば、統合管理用プリンタ11の機器情報配信機能は、被管理プリンタを用意せずに、汎用の情報機器を用いてテストが可能になる。これにより、特に、比較的高価な複合機などの画像形成装置を接続するシステムの通信ソフトウェアの評価テストにかかるコストを削減することができる。
なお、本実施形態では、被管理プリンタの受信機能を仮想的に動作させる汎用の情報機器としてPCを用いているが、このPCの代わりにPDAや携帯電話機、サーバ等を用いてもよいことはもちろんである。このことは、以下で示される他の実施形態でも同様である。
また、上記の説明では、アドレス帳という設定の配信を例として説明したが、統合管理プリンタからの配信する設定はこれに限定されるもので無いことはもちろんである。例えば、前述したようなフォントデータをダウンロードする際のフォントデータの送信であってもよい。すなわち、統合管理用プリンタが、ネットワークを介して被管理プリンタの受信ソフトウェアに対して通信を行い、受信ソフトウェアがその統合管理用プリンタからの通信に応じた所定の処理を行うものであればどのようなものであってもよい。このことは、以下で示される他の実施形態でも同様である。
さらに、本発明は、機器情報の受信側に関して、プリンタなどの画像形成装置の代わりに汎用の情報機器を用いることを特徴とするものであり、配信元がプリンタであるかどうかによらず有効である。例えば図3に示すように、配信元が統合管理用プリンタではなく、統合管理用PCであってもよい。
[実施形態2]
本発明の第2の実施形態は、複数台の被管理プリンタの受信機能を1台のPC上で仮想的に動作させるものである。上記実施形態1は、1台の被管理プリンタを1台のPCで代替する形態について説明した。しかし、この場合には、機器情報の配信先台数が多数に昇るとき、その数と同じ台数のPCを用意する必要がある。本実施形態は、1台のシミュレータ・エージェントPCが複数の被管理プリンタの機能を実装することにより、シミュレーションに必要なPCの台数を削減し、さらなるコスト削減を図ることが可能となる。
図4は、本実施形態に係る評価システムの構成を示し、1台のシミュレータ・エージェントPCに、複数の被管理プリンタの機能が実装された構成を示す図である。
統合管理用プリンタ31およびシミュレータ・エージェントPC32〜35が、イーサネット(登録商標)36によってネットワーク接続されている。そして、シミュレーション・エージェントPC32〜35のそれぞれでは、100台の被管理プリンタの受信ソフトウェアが動作できるよう構成されている。
図5は、図4に示した構成について、1台のシミュレータ・エージェントPC33の内容を説明する図である。具体的には、ネットワークとそのシミュレータ・エージェントPCとの間のインターフェースを行うネットワークトラスポート層37と、ネットワークを介して配信された設定を受信する機器情報受信部38が示されている。この機器情報受信部の1単位が、1つの被管理プリンタから移植された受信部ソフトウェアを構成している。図2または図3に示した第1の実施形態では、1台のシミュレータ・エージェントPCが、この1台分のネットトランスポート層と機器情報受信部からなる受信部ソフトウェアを備えることになる。
なお、同図では、図示の簡略化のために100台分のうち、4台分が表されている。
機器情報受信部38からなる1単位の受信部ソフトウェアでは、個々の機器情報受信部38がその仮想被管理プリンタに対応するIPアドレスにバインドしている。
本実施形態では、コネクション型通信規約であるTCPを用いて、評価システムの送、受信プログラムを記述している。具体的には、ネットワーク・トランスポート層37と機器情報受信部38からなる受信部ソフトウェアは、ネットワーク用APIである「ソケット」を用いて構成されている。このソケットを用いる受信側プログラムは、一般に、(1)「ソケット生成」、(2)「ソケット登録」、(3)「ソケット接続準備」、(4)「ソケット接続待機」、(5)「受信/送信」、(6)「ソケット切断」を用いて生成される。本実施形態では、機器情報受信部38は、(1)「ソケット生成」、および(2)「ソケット登録」を実行する。すなわち、「ソケット登録」でIPアドレスを登録することにより、そのアドレスをその機器情報受信部38にバインドすることができる。また、機器情報受信部38は、(3)「ソケット接続準備」、(4)「ソケット接続待機」、(5)「受信/送信」、(6)「ソケット切断」を実行する。
このように、移植された受信部ソフトウェアが、IPアドレスを「ソケット登録」した状態で「ソケット接続待機」を実行する。すなわち、IPアドレスをバインドした状態で統合管理プリンタ31からの配信を待機する状態を生成する。これにより、被管理プリンタが統合管理用プリンタ31からの配信をいつでも受け付けることができる、実際と同じ状態をつくることができる。特に、本実施形態のように、1台のPCにおいて複数のプリンタの受信機能が仮想的に動作する形態では、それぞれの受信部ソフトウェアが対応するIPアドレスにバインドされることにより、個別の受信およびそれに応じた返信が可能となる。
本実施形態の評価は、上述した第一実施形態と同様、統合管理用プリンタ31において、その表示部に通信結果に関する所定の表示が行われることを以って行うものである。
このように、本実施形態のソフトウェア評価方法は、上記第1実施形態に示したものにおいて、さらに、仮想デバイスソフトウェアが複数の仮想デバイスソフトウェアからなるものである。そして、これら複数の仮想デバイスソフトウェアそれぞれに対して、配信された設定の受信およびそれに応じた返信といった所定の処理を行わせるよう制御する。そして、上記複数のデバイスソフトウェアには異なるIPアドレスが割り振られている。
本実施形態によれば、シミュレータ・エージェントPC33が、100台分の被管理プリンタの役割を果たす。同様にシミュレータ・エージェントPC32、34、35がそれぞれ100台分の被管理プリンタの役割を果たす。これにより、通常は「1台の統合管理用プリンタから、400台の被管理プリンタへの機器情報の配信」が正常に動作するかをテストするために、被管理プリンタが400台必要なところを、4台のPCでシミュレーションが可能となる。この結果、テストにかかるコストを削減することができる。特に、被管理プリンタが、複合機など比較的高価な画像形成装置である場合は、このコスト削減の効果は顕著になる。
なお、複数の仮想デバイスソフトウェアの稼動方法としては、評価するシステムの構成に応じて、複数プロセスでも良いし、複数スレッドでも良い。
また、図5では、ネットワーク・トランスポート層37において、複数のIPアドレスを用いるとのみ概略的に記している。しかし、その実現は、1枚のネットワーク・インタフェース・カード(以下NICと略す)に対して複数のIPアドレスを割り当てることによってもよい。あるいは、複数のNICを用い、それぞれのNICに単一のIPアドレスを割り当ててもよい。さらに、複数のNICそれぞれに複数のIPアドレスを割り当ててもよい。
[実施形態3]
上述した実施形態2では、シミュレータ・エージェントPC33において、機器情報の受信部それぞれが、1つのIPアドレスにバインドされている例を示した。しかし、被管理プリンタの機器情報受信部がWebサービス技術を用いている場合、汎用のWebサーバ・ソフトウェアを用いることができる。本実施形態は、被管理プリンタの機器情報受信部がこのWebサービス技術を用いたソフトウェアである場合に関するものである。
図6は、本発明の第3の実施形態に係るソフトウェア評価システムの構成を示す図である。
シミュレータ・エージェントPC33上には、Webサービス機能を有した、UDDIサーバなどの汎用のWebサーバ・ソフトウェア48が搭載される。Webサーバ・ソフトウェア48は、100台の被管理プリンタ分の機器情報受信部49に対して共通のWebサービスを行うものである。また、Webサーバ・ソフトウェア48は、上記100台の被管理プリンタ分の機器情報受信部49に対応した複数のIPアドレスにバインドされている(トランスポート層47)。そして、Webサーバ・ソフトウェア48に対して、Webサービスとして実装された、被管理プリンタの機器情報受信部ソフトウェア49が移植する。この構成により、それぞれの機器情報部49は個々に並列で動作することができる。
より具体的には、Webサーバソフトウェア48は、コネクション型通信規約TCPにおける(1)「ソケット生成」、(2)「ソケット登録」、(3)「ソケット接続準備」、(4)「ソケット接続待機」を実行する。すなわち、「ソケット登録」では、IPアドレスをANY設定、すなわちNICに割り当てられたすべてのIPアドレスを用いるという設定でバインドする。また、Webサーバソフトウェア48は、「ソケット接続待機」の実行によって統合管理用プリンタ41からの送信を待機する。そして、統合管理用プリンタ41から設定の配信があると、そのIPアドレスに対応する機器情報受信部49にその設定を渡し、待機状態に戻る。機器情報受信部49は、渡された設定について、(5)「受信/送信」、(6)「ソケット切断」を実行する。
本実施形態によれば、IPアドレスのバインド処理が汎用のWebサーバ・ソフトウェアによって行われるため、機器情報受信ソフトウェア自体のバインド処理を変更する必要がない。また、プリンタに搭載されるWebサービスを搭載する機能を有するWebサーバ・ソフトウェア部分を移植せずに、Webサービスとして搭載された機器情報の受信部だけを移植することが可能である。このため、機器情報の受信部のソフトウェアを移植する際の手間が軽減される。
[実施形態4]
上記実施形態2および実施形態3では、各シミュレータ・エージェントPCにおいて複数の機器情報受信部を動作させる場合に何台分の被管理プリンタの機器情報受信部を設定するかについて、夫々のシミュレータ・エージェントPC上で設定するものとしていた。しかし、この構成では、シミュレーション台数を増加させようとする場合に、設定のための操作が煩雑となる。本実施形態は、1台のPCにおいて操作するだけでこの設定を可能とするものである。
図7は、本発明の第4の実施形態に係るソフトウェア評価システムの構成を示す図である。
同図に示すように、第2、第3実施形態に示したものと同じ、統合管理用プリンタ51およびシミュレータ・エージェントPC53〜56に加え、仮想プリンタシミュレータ集中制御用マネージャPC52が、イーサネット(登録商標)57に接続されている。また、それぞれのシミュレータ・エージェントPCには、機器情報受信部を統合制御する、シミュレータ・エージェント・ソフトウェア59が搭載されている。
シミュレータ・エージェント・ソフトウェア59は、IPアドレス(58)を介して、仮想プリンタシミュレータ集中制御用マネージャPC52と通信を行う。
仮想プリンタシミュレータ集中制御用マネージャPC52には、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアが搭載される。これにより、シミュレータ・エージェント・ソフトウェア59に対して、稼動する機器情報受信部(60、61)の台数を設定するための制御を行うことができる。
図8は、シミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション開始処理を示すフローチャートである。
本処理が起動されると(ステップ71)、シミュレータ・エージェント・ソフトウェア59は、自身用のIPアドレスをバインドし(ステップ72)、仮想プリンタシミュレータ集中制御用マネージャPC52からの指示を待つ(ステップ73)。これらバインドや指示の待機など一連の処理は、上述したコネクションが通信規約TCPに従ったプログラムによって実行される。
仮想プリンタシミュレータ集中制御用マネージャPC52からの開始指示により、シミュレータ・エージェント・ソフトウェア59は、指示に含まれる台数設定を変数Nに保存する(ステップ74)。次に、指示に含まれるスタートIPアドレス(図7に示す例では、172.24.2.1とする)を変数Mに保存する(ステップ75)。そして、カウンタiをゼロに初期化する(ステップ76)。
シミュレータ・エージェント・ソフトウェア59は、シミュレータ・エージェントPCのNICに対して、IPアドレスM+iを割り当てる(ステップ77)。この処理は、カウンタiがN−1に達するまで(ステップ78)、カウンタiをインクリメントしつつ(ステップ79)繰り返す。これらの処理によって、N台分のIPアドレスの割り当てが行われる。
なお、このIPアドレスの割当ては、1枚のNICに対して複数のIPアドレスを割り当てることによってもよい。あるいは、複数のNICを用い、それぞれのNICに単一のIPアドレスを割り当てることによってもよい。また、複数のNICそれぞれに複数のIPアドレスを割り当ててもよい。
カウンタiが台数Nを超えると、シミュレータ・エージェント・ソフトウェア59は、カウンタiをゼロに初期化する(ステップ80)。次に、被管理プリンタから移植した機器情報受信部をスレッドもしくはプロセスとして起動し(ステップ81)、その機器情報受信部をIPアドレスM+iにバインドする(ステップ82:「ソケット登録」)。この処理は、カウンタiがN−1に達するまで(ステップ83)、カウンタiをインクリメントしつつ(ステップ84)繰り返される。これらの処理によって、N台分の着情報受信部に対するIPアドレスのバインドが行われる。
カウンタiがN−1に達すると、シミュレータ・エージェント・ソフトウェア59は、仮想プリンタシミュレータ集中制御用マネージャPC52からの終了指示の待ち受け処理に入る(ステップ85)。
各シミュレータ・エージェントPC上のシミュレータ・エージェント・ソフトウェアがこの状態に入ると、その設定されたN台分の機器情報受信部に対して上述した第2、第3実施形態と同様、統合管理プリンタ51から機器情報配信のテストを行うことができる。
図9は、本実施形態のシミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション終了処理を示すフローチャートである。
ミュレータ・エージェント・ソフトウェア59は、仮想プリンタシミュレータ集中制御用マネージャPC52からの終了指示を待ち受け(ステップ92)、終了指示を受信すると、カウンタiをゼロに初期化する(ステップ93)。次に、IPアドレスM+iにバインドされた機器情報受信部に関して、バインドを解除し(ステップ94:「ソケット切断」)、そのスレッドもしくはプロセスを終了する(ステップ95)。この処理はカウンタiがN−1に達するまで(ステップ96)、iをインクリメントしつつ(ステップ97)繰り返す。これにより、N台分のIPアドレスのバインド解除が行われる。
すべての機器情報受信部についてシミュレーション終了処理を終了すると、シミュレータ・エージェント・ソフトウェア59は、カウンタiをゼロに初期化する(ステップ98)。次に、NICに対するM+iの割当を解除する(ステップ99)。この処理はカウンタiがN−1に達するまで(ステップ100)、iをインクリメントしつつ(ステップ101)繰り返す。これにより、IPアドレスの割り当てが解除される。
IPアドレスの割当解除を終了すると、シミュレータ・エージェント・ソフトウェア59は、自身用のIPアドレスのバインドを解除し(ステップ102)、本処理を終了する(ステップ103)。
図10は、図8、図9を参照して説明したシミュレータ・エージェント・ソフトウェア59の処理を制御する仮想プリンタシミュレータ集中制御用マネージャPC52に搭載された、その制御用マネージャ・ソフトウェアの処理を示すフローチャートである。
本処理が起動されると(ステップ111)、ユーザは、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェア上で、どのシミュレータ・エージェント・PCに機器情報受信部を動作させるかを指示する(ステップ112)。さらに、それぞれ何台分の機器情報受信部を動作させるかをそれぞれ指示する(ステップ113)。また、ユーザは、各シミュレータ・エージェントPC上で用いるスタートIPアドレスを設定する(ステップ114)。なお、この設定では、1台分のシミュレータ・エージェントPCのスタートIPアドレスだけをユーザが指定してもよい。そして、その他のシミュレータ・エージェントPCのスタートIPアドレスは、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアが重ならないものを自動的に設定してもよい。
次に、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアは、各シミュレータ・エージェントPC上で動作するシミュレータ・エージェントソフトウェア59に対して処理の開始指示を発行する(ステップ115)。この指示には、動作させる仮想プリンタの台数、すなわち、何台分の機器情報受信部を動作させるか、およびスタートIPアドレスの情報が含まれる。
この発行が正常に終了した状態で、ユーザは手作業で、統合管理用プリンタ51上で、設定した複数台の仮想被管理プリンタの機器情報受信部に対する、アドレス帳などの機器情報配信のテストを行う(ステップ116)。本実施形態でも上記の各実施形態と同様、評価は、それぞれの機器情報受信部への配信が成功したか否かを、統合管理用プリンタ51における所定の表示を確認することによって行う。
テストが終了すると、ユーザが、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェア上で終了指示の操作をする。これに応じて、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアは各シミュレータ・エージェント・PC上で動作するシミュレータ・エージェント・ソフトウェアに対して終了を指示する(ステップ117)。
このように本実施形態のソフトウェア評価方法は、情報処理装置に対して、動作させる機器情報受信部の数など仮想デバイスソフトウェアの設定を行わせる設定制御工程を有したものである。
なお、本実施形態では、被管理プリンタから移植した機器情報受信部が、シミュレータ・エージェントPC内に既にインストールされているものとしている。しかし、被管理プリンタから移植した機器情報受信部のソフトウェア自体を、開始指示(ステップ115)とともに、仮想プリンタシミュレータ集中制御用マネージャPC52からシミュレータ・エージェント・PCに配信してもよい。
また、本実施形態では配信テスト(ステップ116)をユーザの手作業としているが、本発明の適用が、配信テストが手作業か否かにかかわらないことはもちろんである。例えば、実施形態1の図3に示したように、配信元がPCである場合は、そのPCに対して自動的にテスト開始および通信結果の表示を指示することもできる。
さらに、本実施形態や先の実施形態では、機器情報受信部に関して、それが単一のプリンタのものとして説明したが、この受信部は必ずしも単一のプリンタのものでなくてもよい。例えば、シミュレータ・エージェントPC53、54に、あるプリンタ機種と等価の機器情報受信を行わせ、シミュレータ・エージェントPC55、56に、別の機種のプリンタと等価の機器情報受信を行わせることもできる。また、単一のシミュレータ・エージェントPC上で、複数の種類のプリンタの受信部を動作させてもよい。例えば、図10に示す開始指示(ステップ115)において、シミュレータ・エージェントPCに対して、ある機種の受信部を何台、別の機種の受信部を何台といった指示をすることもできる。
本実施形態によれば、テストに必要なPC台数の削減とともに、シミュレータに対するテスト準備の指示を自動化することで、テストに必要なオペレータの工数を削減することが可能となる。
[実施形態5]
以上示した実施形態1、2、3および4では、個々の機器情報受信部に対する配信結果は、それぞれの受信部が所定の応答を統合管理用プリンタに返し、それを表示するものとした。しかし、本実施形態では、図7に示したシミュレータ・エージェント・ソフトウェア59に、テストの開始指示および終了指示だけでなく、より詳細な配信結果を取得し、それを返信するための機能を設ける。
図11は、本発明の第5の実施形態に係るシミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション開始処理を示すフローチャートである。
ステップ131〜144の処理は、図8に示したステップ71〜84の処理と同じであり、その説明は省略する。異なる点は、シミュレータ・エージェント・ソフトウェア59が、機器情報受信部の起動およびIPアドレスのバインド処理の終了後、受信結果チェック用スレッドを起動する(ステップ145)。そして、仮想プリンタシミュレータ集中制御用マネージャPC52からの受信結果チェック指示もしくは終了指示の待ち受け指示を待つ処理に入る(ステップ146)。この受信結果チェック用スレッドは、機器情報の各受信部に対して配信されたデータをすべての機器情報受信部から収集するためのものである。また、受信結果チェック用スレッドは、配信データ、そのハッシュ値または配信されたデータのチェックサムを仮想プリンタシミュレータ集中制御用マネージャPC52(図7参照)に送り返すためのものである。
図12は、本実施形態のシミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション結果チェック処理およびシミュレーション終了処理を示すフローチャートである。
シミュレータ・エージェント・ソフトウェア59は、仮想プリンタシミュレータ集中制御用マネージャPC52からの、受信結果チェック指示もしくは終了指示を待ち受ける(ステップ152)。そして、シミュレータ・エージェント・ソフトウェア59は、指示を受信すると、その指示が受信結果チェック指示なのか、終了指示なのかを判断する(ステップ153)。
受信結果チェック指示であるときは、シミュレータ・エージェント・ソフトウェア59は、図11のステップ145で起動した受信結果チェック用スレッドを用いて、すべての機器情報受信スレッドから、統合管理用プリンタ51より受信したデータを収集する。そして、受信したデータ、または受信したデータのハッシュ値、または受信したデータのチェックサムを、仮想プリンタシミュレータ集中制御用マネージャPC52に送る(ステップ154)。ここで、受信したデータそのもの、受信したデータのハッシュ値、または受信したデータのチェックサムのいずれを返信するかは、評価対象であるシステムの仕様や評価の精度などに応じて定めることができる。
ステップ153の判断で、受信した指示が終了指示であるときは、シミュレータ・エージェント・ソフトウェア59は、受信結果チェックスレッドを終了する(ステップ155)。それ以降の、ステップ156〜166の処理は、図9に示したステップ93〜103の処理と同じであり、その説明は省略する。
図13は、本実施形態における仮想プリンタシミュレータ集中制御用マネージャPC52に搭載された、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理を示すフローチャートである。同図は、第4実施形態にかかる図10におけるステップ116のテスト実行処理が、ステップ176から179に置き換わったものである。
統合管理用プリンタ51上で、ユーザが手作業で400台に対する機器情報配信のテストを行う(ステップ176)。このテストが終了すると、ユーザは、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェア上で受信結果チェック指示の操作を行う。これによって、それぞれのシミュレータ・エージェントPC上で動作するシミュレータ・エージェント・ソフトウェア59に対して、受信結果チェック指示を送信する(ステップ177)。これに応じて、シミュレータ・エージェント・ソフトウェア59は、図12のステップ154について説明したように、受信したデータなどを仮想プリンタシミュレータ集中制御用マネージャPC52に送る。
仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアは、これに応じて、各シミュレータ・エージェント・ソフトウェア59から収集した配信データ、そのハッシュ値またはチェックサムを、ユーザ・インタフェースに表示する(ステップ178)。ユーザが、テストの終了を指示するまで(ステップ179)、同じテストを繰返す。
以上のように、本実施形態のソフトウェア評価方法は、デバイスの機器情報受信ソフトウェアにより実行された配信されるデータの受信など所定の処理の処理結果をまとめ、また、それを返信するといった管理を行う管理工程を有するものである。
本実施形態によれば、シミュレータ・エージェント・ソフトウェア59に、テストの開始指示および終了指示だけでなく、配信結果の取得のための機能を設けることにより、テストに必要なオペレータの工数を削減することが可能となる。例えば、1台のプリンタから、数百台、数千台のプリンタに対する機器情報配信といった、大規模な通信のテストを、1台のプリンタと、1台の仮想プリンタシミュレータ集中制御用マネージャPCに対する操作で実現することが可能となる。
[実施形態6]
本発明の第6の実施形態は、上述した実施形態4および実施形態5に示した構成を、実施形態3で説明した機器情報受信部がWebサービス技術を用いる場合に適用した評価システムに関するものである。
図14は、本実施形態に係るソフトウェア評価システムの構成を示す図である。
実施形態3に係る図6に示すシステムと同様、統合管理用プリンタ201、仮想プリンタシミュレータ集中制御用マネージャPC202、シミュレータ・エージェントPC203〜206が、イーサネット(登録商標)207に接続されている。それぞれのシミュレータ・エージェントPCには、そのシミュレータ・エージェントPC内で複数の機器情報受信部を統合制御する、シミュレータ・エージェント・ソフトウェア211が、Webサービスとして搭載されている。
シミュレータ・エージェント・ソフトウェア211は、仮想プリンタシミュレータ集中制御用マネージャPC202上の仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアによって制御される。この制御は、シミュレータ・エージェントPCに割り当てられたIPアドレス208を用い、Webサービスを搭載可能なWebサーバ・ソフトウェア210を介して行われる。
図15は、Webサーバ・ソフトウェア210の処理のうち、本発明を適用したソフトウェア評価に関連する処理を示すフローチャートである。
本処理が起動されると(ステップ221)、Webサーバ・ソフトウェア210は、NICに対して、IPアドレスをANY設定、つまり、割り当てられたすべてのIPアドレスを用いるという設定で、それぞれのIPアドレスをバインドする(ステップ222)。なお、NICに対する複数IPアドレス割当の実現は、1枚のNICに対して複数のIPアドレスを割り当てもよいし、複数のNICを用い、それぞれのNICに単一のIPアドレスを割り当ててもよい。また、複数のNICそれぞれに複数のIPアドレスを割り当ててもよいことは上述したとおりである。
次に、Webサーバ・ソフトウェア210は、シミュレータ・エージェント・ソフトウェアの機能を果たすWebサービスを、自身上で起動し(ステップ223)する。そして、被管理プリンタから移植した機器情報受信Webサービスを起動し(ステップ224)、稼動を開始する(ステップ225)。
稼動停止のときは、Webサーバ・ソフトウェア210は、自身上で稼動しているシミュレータ・エージェント・Webサービスを終了させ(ステップ226)、また、機器情報受信Webサービスを終了させる(ステップ227)。そして、NICに対するIPアドレスのバインドをすべて解除する(ステップ228)。
図16は、図15に示したステップ225のWebサーバが稼動中の状態における、シミュレータ・エージェントPC204(図14参照)内の動作状態を説明する図である。
図16に示すように、シミュレータ・エージェント・Webサービス211と機器情報受信部212は、単一のIPアドレス208を通して外部と接続されている。
図17は、シミュレータ・エージェント・Webサービス211の処理のうち、シミュレーション開始処理を示すフローチャートである。
本処理が機動されると(ステップ241)、シミュレータ・エージェント・Webサービス211は、仮想プリンタシミュレータ集中制御用マネージャPC202からの指示を待つ(ステップ242)。仮想プリンタシミュレータ集中制御用マネージャPC202からの開始指示によって、シミュレータ・エージェント・Webサービス211は、指示に含まれる台数設定を変数Nに保存する(ステップ243)。次に、指示に含まれるスタートIPアドレスを変数Mに保存する(ステップ244)。さらに、カウンタiをゼロに初期化する(ステップ245)。
次に、シミュレータ・エージェント・Webサービス211は、シミュレータ・エージェント・PCのNICに対して、IPアドレスM+iを割り当てる(ステップ246)。この処理は、カウンタiがN−2に達するまで(ステップ247)、カウンタiをインクリメントしつつ(ステップ248)、繰返す。これにより、N台分のIPアドレスの割り当て行われる。
カウンタiがN−2に達すると、シミュレータ・エージェント・Webサービス211は、受信結果チェック用スレッドを起動する(ステップ249)。そして、仮想プリンタシミュレータ集中制御用マネージャPC202からの受信結果チェック指示または終了指示の待ち受け処理に入る(ステップ250)。
上述のように、Webサーバ・ソフトウェア210がNICに対してANY設定でIPアドレスをバインドしているため、この状態(ステップ250の状態)で、シミュレータ・エージェント・PC204の状態は、図18に示すような状態になっている。すなわち、シミュレータ・エージェント・Webサービス211および機器情報受信部212は、複数のIPアドレス(208および209)を介して外部と接続された状態となっている。
この状態は、統合管理用プリンタ201(図14参照)から、イーサネット(登録商標)207を通して見た場合に、機器情報受信Webサービスを持つ被管理プリンタが、N個分動作している状態、すなわち、図19に示す状態となる。すなわち、統合管理プリンタ201から、複数台に対する機器情報配信のテストを行うことができる。
図20は、本実施形態のシミュレータ・エージェント・Webサービス211の処理のうち、シミュレーション終了処理を示すフローチャートである。
シミュレータ・エージェント・Webサービス211は、仮想プリンタシミュレータ集中制御用マネージャPC202からの、受信結果チェック指示もしくは終了指示を待ち受ける(ステップ262)。そして、指示を受信すると、その指示が受信結果チェック指示か、または終了指示かを判断する(ステップ263)。
受信結果チェック指示であるときは、シミュレータ・エージェント・Webサービス211は、図17のステップ249で起動した受信結果チェック用スレッドを用いて、総ての機器情報受信スレッドから統合管理用プリンタ201より受信したデータを収集する。そして、受信したデータ、または受信したデータのハッシュ値、または受信したデータのチェックサムを、仮想プリンタシミュレータ集中制御用マネージャPC202に送る(ステップ264)。
受信した指示が終了指示であるときは、シミュレータ・エージェント・Webサービス211は、受信結果チェックスレッドを終了する(ステップ265)。そして、受信結果チェックスレッドを終了した後、シミュレータ・エージェント・Webサービス211は、カウンタiをゼロに初期化する(ステップ266)。次に、NICに対するIPアドレスM+iの割当を解除する(ステップ267)。この処理はカウンタiがN−2に達するまで(ステップ268)、iをインクリメントしつつ(ステップ269)、繰返す。
IPアドレスの割当解除が終了すると、シミュレータ・エージェント・Webサービス211は、自身用のIPアドレスのバインドを解除し(ステップ270)、本処理を終了する(ステップ271)。
このように、シミュレータ・エージェント・Webサービス211は、被管理プリンタの機器情報受信部を動作させるPCなど汎用の情報機器において、機器情報受信部と仮想プリンタシミュレータ集中制御用マネージャとの間の通信内容をインターセプトする。そして、そのインターセプトした通信結果を表す内容を仮想プリンタシミュレータ集中制御用マネージャに送り、仮想プリンタシミュレータ集中制御用マネージャはこれを表示する。なお、この表示の代わりに、所定のメモリにその通信結果を記憶するようにしてもよい。
なお、本実施形態の仮想プリンタシミュレータ集中制御用マネージャPC202に搭載された、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理は、図13にて説明した示された処理と同じであり、その説明は省略する。
本実施形態によれば、Webサービス技術を用いた機器情報配信機能のテストにおいて、機器情報受信Webサービスを止めることなく、ダイナミックにシミュレーション台数を増減することができる。増減は複数の機種の受信部を用いても構わない。例えば、プリンタ機種が機種Aおよび機種Bと2種類存在する場合、一定期間機種A、Bそれぞれの受信部をそれぞれ20台、50台でシミュレーションし、次の一定期間、機種A、Bの受信部を40台、30台に変更するといったシミュレーションも可能となる。このような一定期間ごとに様々なパターンの機種混在環境をシミュレーションするに際して、各機種の台数および存続期間に関する設定をシナリオ化し、仮想プリンタシミュレータ集中制御用PC202から集中制御することも可能となる。これにより、様々なパターンの機種混在環境に関するテストを自動化し、テスト担当者の手間を削減し、テスト全体にかかるコストを削減することができる。
また、シミュレータ・エージェント・PC上における機器情報受信Webサービスのインストールに関して、シミュレータ・エージェント・Webサービス211が図15のステップ223の起動時に機器情報受信Webサービスをインストールすることもできる。さらに、図15に示すステップ227の終了時に、機器情報受信サービスをアンインストールすることも可能である。
なお、図15に示すステップ224の機器情報受信Webサービス起動処理と、図17に示すNICに対するIPアドレスの割当処理には、時間的な依存関係は無く、どちらが先に行われてもよい。また、図15に示すステップ226の機器情報受信Webサービス終了処理と、図20に示されたNICに対するIPアドレスの割当解除とには、時間的な依存関係は無く、どちらが先に行われてもよい。
また、本発明は、機器情報の受信側に関して、プリンタの代わりに汎用の情報機器を用いることを特徴とするものであり、本実施形態で示した構成は、シミュレータ・エージェント・PCの処理速度によらず有効である。処理速度の調整は、例えば被管理プリンタから移植した処理にウェイト処理を入れるなどによって、調整してもよい。
さらに、本実施形態では、汎用の情報機器の中でもPCを用いているが、本発明は、機器情報の受信側に関して、プリンタの代わりに汎用の情報機器を用いることを特徴とするものであり、PCは単なる一例である。PCの代わりに、PDAや携帯電話機、サーバ等を用いてもよい。また、配信元がプリンタであるかどうかによらず有効である。例えば、図3に示した例のように、配信元が統合管理用プリンタではなく、統合管理用PCであってもよい。
[実施形態7]
上記実施形態6に係る図19に示されるシミュレータ・エージェントの構成では、Webサービス自体が複数インストールされているわけではない。このため、それぞれのIPアドレスを経由してWebサービスに対するアクセスが行われた場合に、それぞれのIPアドレスに対する応答としてふさわしく振舞うべく、Webサービスの応答内容を変更する必要が生じる場合がある。
これについて、被管理プリンタが、自身の機器情報受信Webサービスを登録する、UDDI(Universal・Description・Discovery,andIntegration)サービスの機能を持っている場合を例にとって説明する。通常、UDDIサービスは、UDDIレジストリへの外部からのアクセスを司るWebサービスと、UDDIレジストリから成り立っている。このUDDIサービスは、被管理プリンタによらず、あるいは将来的に実施形態6のようなシミュレーションに用いられることを考慮せず、汎用のコードが用いられている。このような場合に、シミュレータで被管理プリンタの機能を正確に模すためには、UDDIサービスから返される応答を、それぞれのIPアドレス毎に変更する必要が生じる。このような変更のために、Webサービスのコードを意図して書き直していては、書き直しのコストがかかるのみならず、書き直しの最中に二次的な不具合を作り込む可能性が生じ、これによって、シミュレータの品質自体を維持できなくなる可能性がある。本発明を適用したソフトウェア評価システムでは、この問題をWebサービス応答フィルタを用いて解決するものである。
図21は、本発明の第7の実施形態にかかるソフトウェア評価システムのうち、シミュレータ・エージェント・PC204(図14参照)内の接続応対を示す図であり、実施形態6に係る図19と同様の図である。図19に示す状態と異なる点は、Webサーバ・ソフトウェア284内に、Webサービス応答フィルタ285が搭載されている点である。
図22は、図21に示すWebサービス応答フィルタ285による処理を示すフローチャートである。
図21に示す状態で受信処理が開始されると(ステップ301)、Webサービス応答フィルタ285は、その受信処理が、フィルタリングが必要と予め設定されたWebサービスであるか否かを判断する(ステップ302)。
フィルタリングが必要なWebサービスと判断したときは、Webサービス応答フィルタ285は、HTTPリクエストのヘッダに記された、リクエスト先IPアドレスを、変数Rに保存する(ステップ303)。次に、Webサービスを呼び出す(ステップ304)。そして、Webサービスの呼出が終了すると、応答のSOAP・Envelopeから、フィルタリング対象要素を検索する(ステップ305)。
対象要素を発見すると(ステップ306)、変数Rを用いて対象要素の内容を書き換える(ステップ307)。このIPアドレスの書き換えにより、受信処理を被管理プリンタの機器情報受信部に対応付けることができる。
次に、Webサービス応答フィルタ285は、通常の応答処理を行い(ステップ309)、応答処理を終了する。また、ステップ302においてフィルタリングが必要なWebサービスだと判断されなかったときは、Webサーバ・ソフトウェアによって通常のWebサービス呼出処理(ステップ308)、および通常の応答処理(ステップ309)が行われる。
図23は、Webサービス応答フィルタ285によって、応答内容を変更する例を示す図である。ここでは、被管理プリンタがUDDIサービス機能を有している場合を例に取っている。通常、UDDIサービスからの応答には、accessPoint要素にWebサービスのアクセス先URLが入っている。ただし、この例ではaccessPoint要素の内容を、シミュレータ・エージェントPCの本来のIPアドレス282によるものから、図21のリクエストがあったIPアドレス283によるものに書き換えている。これによって、それぞれのIPアドレスに対して、被管理プリンタを正確に模すことが可能となり、シミュレーション率の向上によって、UDDI部分のみ別の形式でテストを行う必要が無くなる。すなわち、機器情報配信機能のテストにかかるコストをさらに減少させることが可能となる。
なお、図23に示す例では、被管理プリンタが持つUDDIサービスからの応答を変更するものとしたが、本実施形態で示したWebサービス応答フィルタの処理は、UDDIサービスからの応答変更に特定されるものではない。例えば、図22に示すステップ303において、統合管理用プリンタからの配信内容をログとしてファイルに保存してもよいし、あるいは図22に示すステップ307において、統合管理用プリンタへの応答内容をログとしてファイルに保存してもよい。また、バイナリデータのアタッチメントが存在する処理では、実施形態6に係る図20に示す受信結果チェック用スレッドが、上記ログとして保存されたファイルを用いて、チェックサム、ハッシュ値を算出し、図20に示すステップ264の処理に用いてもよい。また、受信内容のSOAP・Envelopeに配信内容のチェックサムが含まれる場合は、図22のステップ303において、ファイルに保存せずにチェックサムを算出してもよい。そして、受信内容のSOAP・Envelopeに含まれるチェックサムと照らし合わせて、その結果を以って受信成功・失敗を判断し、判断結果を仮想プリンタシミュレータ集中制御用マネージャ202(図14参照)に送信してもよい。
また、図22に示す処理では、フィルタリングが必要か否かの判断を、Webサービス呼出前(ステップ302)において行うものとしたが、フィルタリング処理への分岐判断は、さらに細かくは
受信時であって、SOAP・Envelopeのデシリアライズ前
受信時であって、SOAP・Envelopeのデシリアライズ後
応答時であって、SOAP・Envelopeのシリアライズ前
応答時であって、SOAP・Envelopeのシリアライズ後
の4段階とすることも可能である。この場合、Webサービス応答フィルタの処理は、図24に示すフローチャートのようになる。すなわち、図22に示したフィルタリングを実行する際に、上記分岐判断(ステップ342、344、347、349)を行う。
[実施形態8]
本発明の第8の実施形態は、実施形態5で示した構成と、実施形態6で示した構成、そして実施形態7で示した構成の3つをシミュレータ上で組み合わせた評価システムに関するものである。これらの構成は、それぞれ機器情報受信部がIPアドレスをバインドする構成、機器情報受信部がWebサービスとして実装された構成、およびフィルタリングを行う構成である。
図25は、シミュレータ・エージェントPC上で、3つの構成を組み合わせて用いる場合の、シミュレータ・エージェントPC内の一構成例を示す図である。
シミュレータ・エージェント・Webサービス388とは別個に、それぞれのIPアドレスに対して、
(a)機器情報受信コントロール部。具体的には、SNMPやSLPといったプロトコルによって、機器情報関連のコントロールを行うために被管理プリンタに搭載されたコードを、シミュレータ・エージェントPCに移植したもの。
(b)機器情報受信UDDI部。具体的には、被管理プリンタに搭載されたUDDIサービス部を、シミュレータ・エージェント・PCに移植したもの。
(c)機器情報受信本体部。具体的には、SOAP・Envelopeなど何らかのデータ構造の中に、機器情報の中でもデータ量の大きいものを受信するために、被管理プリンタに搭載されたコードを、シミュレータ・エージェントPCに移植したもの。データ量の大きい機器情報としては、例えば、プリンタ機能にファクシミリ機能を併せ持つ複合機であれば、アドレス帳といったデータ。
の3点ずつ(389)が搭載されている。なお、図25では、構成をわかりやすく説明するために、Webサーバを3ブロック(384、385、386)に分けて示すが、ブロック384、385および386のすべてもしくはいずれかが、同一のWebサーバ・ソフトウェアであっても構わない。
図26は、本実施形態におけるシミュレータ・エージェント・Webサービス388の処理のうち、シミュレーション開始処理を示すフローチャートである。
処理が開始されると(ステップ401)、シミュレータ・エージェント・Webサービス388は、仮想プリンタシミュレータ集中制御用マネージャPC202(図14参照)からの指示を待つ(ステップ402)。仮想プリンタシミュレータ集中制御用マネージャPC202からの開始指示により、シミュレータ・エージェント・Webサービス388は、指示に含まれる台数設定を変数Nに保存する(ステップ403)。次に、指示に含まれるスタートIPアドレスを変数Mに保存する(ステップ404)。さらに、カウンタiをゼロに初期化する(ステップ405)。
次に、シミュレータ・エージェント・Webサービス388は、シミュレータ・エージェントPCのNICに対して、IPアドレスM+iを割り当てる(ステップ406)。この処理は、カウンタiがN−2に達するまで(ステップ407)、カウンタiをインクリメントしつつ(ステップ408)、繰り返す。なお、その割り当ての実現は、1枚のNICに対して複数のIPアドレスを割り当てることによってもよいし、複数のNICを用いそれぞれのNICに単一のIPアドレスを割り当ててもよいし、複数のNICにそれぞれ複数のIPアドレスを割り当ててもよい。この時点で、機器情報受信本体部は、実施形態6における図19に示された状態と同一の状態になり、また、機器情報受信UDDI部は実施形態7における図21に示された状態と同一の状態になる。
次に、シミュレータ・エージェント・Webサービス388は、カウンタiをゼロに初期化する(ステップ409)。そして、被管理プリンタから移植した機器情報受信部をスレッドもしくはプロセスとして起動し(ステップ410)、その機器情報受信部をIPアドレスM+iにバインドする(ステップ411)。この処理は、カウンタiがN−1に達するまで(ステップ412)、カウンタiをインクリメントしつつ(ステップ413)、繰り返す。
カウンタiがN−1に達すると、シミュレータ・エージェント・Webサービス388は、受信結果チェック用スレッドを起動する(ステップ414)。そして、仮想プリンタシミュレータ集中制御用マネージャPC202からの、受信結果チェック指示及び終了指示の待ち受け処理に入る(ステップ415)。この時点で、機器情報受信コントロール部を含めて、図25に示されたシミュレータ・エージェントPC内の状態が完成する。
各シミュレータ・エージェントPC上のシミュレータ・エージェント・Webサービスがこの状態に入ると、本実施形態のシミュレータによって、統合管理プリンタ201(図14参照)から、複数台に対する機器情報配信の全機能のテストを行うことができる。
図27は、本実施形態におけるシミュレータ・エージェント・Webサービス388の処理のうち、シミュレーション終了処理を示すフローチャートである。
シミュレータ・エージェント・Webサービス388は、仮想プリンタシミュレータ集中制御用マネージャPC202からの、受信結果チェック指示もしくは終了指示を待ち受ける(ステップ432)。そして、指示を受信すると、その指示が受信結果チェック指示か、または終了支持かを判断する(ステップ433)。
受信結果チェック指示であるときは、シミュレータ・エージェント・Webサービス388は、図26のステップ414で起動した受信結果チェック用スレッドを用いて総ての機器情報受信スレッドから、各機器情報受信部が受信したデータを収集する。そして、その受信したデータ、または受信したデータのハッシュ値、または受信したデータのチェックサムを、仮想プリンタシミュレータ集中制御用マネージャPC202に送る(ステップ434)。
受信した指示が終了指示であるときは、シミュレータ・エージェント・Webサービス388は、受信結果チェックスレッドを終了する(ステップ435)。
次に、シミュレータ・エージェント・Webサービス388は、カウンタiをゼロに初期化する(ステップ436)。次に、IPアドレスM+iにバインドされた機器情報受信部に関して、バインドを解除し(ステップ437)、そのスレッドもしくはプロセスを終了する(ステップ438)。この処理はカウンタiがN−1に達するまで(ステップ439)、iをインクリメントしつつ(440)、繰り返す。
すべての機器情報受信部に関する処理が終了すると、シミュレータ・エージェント・Webサービス388は、カウンタiをゼロに初期化する(ステップ441)。次に、NICに対するM+iの割当を解除する(ステップ442)。この処理はカウンタiがN−2に達するまで(ステップ443)、iをインクリメントしつつ(ステップ444)、繰返される。
なお、本実施形態の、仮想プリンタシミュレータ集中制御用マネージャPC202上の仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理は、図13に示された処理と同じである。また、Webサービス応答フィルタ387の処理は、図22に示された処理と同じであり、それらの説明は省略する。
本実施形態によれば、機器情報受信部がコントロール部、UDDI部および本体部の3つからなる被管理プリンタへの機器情報配信のテストを、シミュレーションすることが可能となる。
なお、本実施形態では、スタートIPアドレスを用いる構成を示したが、このIPアドレスの指定方法によらず本発明を適用できることはもちろんである。例えば、仮想プリンタシミュレータ集中制御用マネージャPC202からシミュレータ・エージェント・Webサービス388に対して指示する内容は、スタートIPアドレスではなく、ネットワークアドレス172.24.1.0であってもよい。また、指示する内容にスタートIPアドレスやネットワークアドレスだけでなく、サブネットマスク等の付随設定を含めてもよい。また、本実施形態では説明のためにスタートするIPアドレスを172.24.1.1としているが、本発明の適用は、使用するIPアドレス・使用するポート・使用するサブネットマスク等によらず有効であることは言うまでもない。
さらに、本実施形態では、機器情報受信UDDI部を、被管理プリンタに搭載されたUDDIサービス部をシミュレータ・エージェント・PCに移植したものとしている。しかし、Webサービス応答フィルタを用いるため、UDDI部は汎用のUDDIサーバソフトであってもよい。
さらに、本実施形態では、シミュレータ・エージェント・PC381内に、機器情報受信コントロール部、機器情報受信UDDI部、および機器情報受信本体部の3つをすべて搭載することを例にとっている。しかし、3点のうち何れか2点の組合せ、もしくは1点のみを、シミュレータ・エージェント・PC381内に構成してもよい。例えば、コントロール部および本体部の2点を4台のシミュレータ・エージェント・PCに搭載し、別の4台のシミュレータ・エージェント・PCにUDDI部を搭載してもよい。また、そのような構成の分け方を、シナリオとして、仮想プリンタシミュレータ集中制御用マネージャPC202から制御してもよい。UDDI部だけを搭載するシナリオを用い、かつシミュレータ・エージェントPC内に搭載するUDDI部を汎用のUDDIサーバソフトとした場合、本シミュレータはプリンタだけでなく情報機器上のUDDI検索ソフトウェアの動作確認に用いることもできる。
[実施形態9]
上述した実施形態7の図21に示したシミュレータ・エージェントの構成は、Webサーバ・ソフトウェア内にWebサービス応答フィルタを搭載する機能が必要である。しかし、Webサーバ・ソフトウェア内にWebサービス応答フィルタを搭載する機能が無い場合がある。また、実施形態2の図5および実施形態4の図7のように通信プロトコルがWebサービスでない場合もある。これらの場合には、Webサービス応答フィルタを用いるのではなく、シミュレータ・エージェント・ソフトウェア自身に転送用モジュールを設け機器情報受信部からの応答をその転送用モジュールに転送させることにより、応答内容を変更することができる。
図28および図29は、転送用モジュールによって応答内容を変更する例の構成を示す図である。図29は、図28中の枠で囲んだ部分(512)を詳細に説明する図である。図29において、統合管理用プリンタ501から、仮想被管理プリンタのIPアドレス511すなわち172.24.2.1を介して、機器情報受信部511に対して機器情報が配信される。これに対して、機器情報受信部は統合管理用プリンタのIPアドレスではなく、シミュレータ・エージェントPCに元来割り振られたIPアドレス508すなわち172.24.1.1に対して返信を行う。ここで、アドレス172.24.1.1に対する返信パケットには、予め何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報が付加されている。付加する形態は、例えばURLに含まれる仮想パスでもよく、また、パケットの一部を書き換えないし追加したものでもよい。アドレス172.24.1.1には、シミュレータ・エージェント・ソフトウェアに搭載された転送用モジュール509が待ち受けており、実施形態7に示したフィルタリングと同等の処理を行って、その返信を統合管理用プリンタ501に転送する。
図30は、図29において示した転送用モジュールの処理を示すフローチャートである。処理が開始されると(ステップ501)、転送用モジュールは仮想被管理プリンタのIPアドレス172.24.2.n(nは各仮想被管理プリンタに一意の自然数、例えば172.24.2.1)をバインドする(ステップ502)。そして、待ち受ける(ステップ503)。パケットを受信すると、転送用モジュールはその受信したパケットが、書き換えが必要なパケットであるかどうかを判断する(ステップ504)。書き換えが必要だと判断された場合は、パケットの一部を仮想被管理プリンタからの応答にふさわしいものに書き換える(ステップ505)。この書き換えは、予め付加された、何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報に基づいて行われる。
書き換える内容は、例えば実施形態7に示した図23のような形態で行われるが、本実施形態はフィルタリングと同等の処理を転送用モジュールによって実現することを説明したものであり、処理自体の内容は、パケット書き換えに特定されるものではない。例えば、返信内容をログとしてファイルに保存してもよい。
次に転送用モジュールは、受信パケットの送信元IPアドレスを、何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報を元に、仮想被管理プリンタのIPアドレス172.24.2.nに書き換える(ステップ506)。そして、送信先IPアドレスを統合管理用プリンタのIPアドレス172.24.3.1と変更して、受信したパケットを転送する(ステップ507)。この処理は、ユーザの処理終了命令が発せられるまで行われる(ステップ508)。ユーザの処理終了命令が発せられると、転送用モジュールは仮想被管理プリンタのIPアドレス172.24.2.nのバインドを解除し(ステップ509)、処理を終了する(ステップ510)。
上述した転送用モジュールの導入によって、実施形態7のフィルタリング処理と同等の処理を、Webサーバ・ソフトウェア内にWebサービス応答フィルタを搭載する機能が無い場合や、通信プロトコルがWebサービスでない場合でも実現することができる。
[実施形態10]
上記実施形態9では、転送用モジュールに対する返信の際に、何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に示す情報を付加した。しかし、機器情報受信部が転送用モジュールに対して各仮想被管理プリンタごとに異なったポートを用いて返信を行うことにより、転送用モジュールにおいて何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを特定することもできる。
図31は、各仮想被管理プリンタの機器情報受信部が転送用モジュールの何れのポートに対して返信を行うかを表す、ポート・仮想IPアドレス変換テーブルを示す図である。各仮想被管理プリンタの機器情報受信部はこの変換テーブルに基づき、自身のIPアドレスが例えば172.24.2.1であった場合は、転送用モジュール172.24.1.1のポート501番に対して返信を行う。同様に、自身のIPアドレスが例えば172.24.2.2であった場合は、転送用モジュール172.24.1.1のポート502番に対して返信を行う。さらに、自身のIPアドレスが例えば172.24.2.3であった場合は、転送用モジュール172.24.1.1のポート503番に対して返信を行う。また、転送用モジュールは受信の際に、例えば、アドレス172.24.1.1のポート501番に対する返信である場合は、このアドレスが割り振られた機器情報受信部からの返信であると判断する。そして、送信元IPアドレスを172.24.2.1と書き換える(ステップ506)。また、例えば、172.24.1.1のポート502番に対する返信である場合は、172.24.2.2が割り振られた機器情報受信部からの返信であると判断して図30のステップ506において送信元IPアドレスを172.24.2.2と書き換える。さらに、例えば、172.24.1.1のポート503番に対する返信なら、172.24.2.3が割り振られた機器情報受信部からの返信であると判断して図30のステップ506において送信元IPアドレスを172.24.2.3と書き換える。
本実施形態は、被管理プリンタからの返信が非同期である場合に特に有効である。図32は、被管理プリンタからの返信が非同期である例の構成を示す図である。具体的には、統合管理用プリンタから被管理プリンタへの機器情報配信をWebサービス・リクエストによって行い、被管理プリンタから統合管理プリンタへの返信を、非同期な別のWebサービス・リクエストによって行う場合の構成を示している。この場合、返信のWebサービス・リクエストにおいては、統合管理用プリンタが「ソケット接続待機」を行う形態となる。このような非同期通信は、例えば、被管理プリンタにおける機器情報の受信処理に時間がかかる場合に用いられる。
図32において、統合管理用プリンタ521から、仮想被管理プリンタのIPアドレス523すなわち172.24.2.1を介して、機器情報受信部528に対してWebサービス・リクエストにより機器情報が配信される。この配信リクエストは、機器情報受信部からの成功・失敗を示す情報の返信無しに一旦終了する。機器情報受信部は配信された機器情報の処理を終了すると、統合管理用プリンタのIPアドレスではなく、シミュレータ・エージェントPCに元来割り振られたIPアドレス522である172.24.1.1に対してWebサービスリクエストにより返信を行う。機器情報受信部528は、受信及び送信を、HTTPライブラリ527を介して行う。この場合、返信の際には図31に示したポート・仮想IPアドレス変換テーブル526を参照し、172.24.1.1に対して何れの仮想被管理プリンタの機器情報受信部からの返信であるのかを一意に知ることができる。アドレス172.24.1.1には、シミュレータ・エージェント・ソフトウェアに搭載された転送用モジュール524が待ち受けており、実施形態7に示したフィルタリングと同等の処理を行って、その返信を統合管理用プリンタ521に転送する。転送用モジュール524の処理は実施形態9の図30に示した流れ図と同等である。しかし、図30のステップ506に示す処理で、転送用モジュール524はポート・仮想IPアドレス変換テーブル526を参照し、返信パケットの送信元IPアドレスを172.24.2.nに書き換える。転送用モジュール524は、受信及び返信をTCP/IP用操作ライブラリ524を介して行う。
なお、実施形態7に示したフィルタリングと同等の処理を行わない場合でも、本実施形態は有効である。例えば、HTTPライブラリもしくは被管理プリンタの返信部分には、通常Webサービス・リクエストの送信元IPアドレスを変更する機能が無い。しかし、本実施形態によって、送信元IPアドレスを変更する機能を持つTCP/IPライブラリ及び転送用モジュールによって転送が行われる。これにより、HTTPライブラリおよび被管理プリンタの返信部分に送信元IPアドレスを変更する機能を加えなくても、多数の被管理プリンタへの、通信のシミュレーションが可能となる。
[実施形態11]
上述の実施形態10では、統合管理用プリンタから被管理プリンタへの機器情報配信をWebサービス・リクエストによって行い、被管理プリンタから統合管理用プリンタへの返信を、非同期な別のWebサービス・リクエストによって行う場合の構成を示した。そして、機器情報受信部並びに転送用モジュールにおけるポート・仮想IPアドレス変換テーブルを用いた処理が、時間のかかる非同期なWebサービス通信において有効であることを示した。しかし、統合管理用プリンタからのデータ量の少ない通知パケット送信し、機器情報の取得は被管理プリンタから能動的に行うような場合であっても、ポート・仮想IPアドレス変換テーブルを用いた処理は有効である。例えば、統合管理用プリンタから機器情報受信部に対しては、TCP/IPもしくはUDP/IPの非常に小さなパケットが送られ、そのパケットが、何らかの配信すべき機器情報が統合管理用プリンタに存在することを通知するものである場合がある。この場合、被管理プリンタはその通知パケットを受信すると、統合管理用プリンタに対してWebサービス・リクエストを発行し、配信されるべき機器情報を取得する点で有効である。
図33は、通知パケットとしてTCP/IPを用いる構成を示す図である。この構成と図32に示す構成とは、統合管理用プリンタ531から機器情報受信部538に対する機器情報存在通知がTCP/IP及びTCP/IPライブラリ534を用いて行われるという点で異なっている。機器情報存在通知は、TCP/IPの通信としては一旦終了する。その後、図32において、機器情報は機器情報受信部538から統合管理用プリンタ531への、機器情報存在通知とは別のWebサービス・リクエストによって取得される。
また、図34は、通知パケットとしてUDP/IPを用いる構成を示す図である。この構成と図33に示す構成とは、統合管理用プリンタ541から機器情報受信部548に対する機器情報存在通知がUDP/IP及びUDP/IPライブラリ549を用いて行われるという点で異なっている。図34に示す構成においても、機器情報は機器情報受信部548から統合管理用プリンタ541への、機器情報存在通知とは別のWebサービス・リクエストによって取得できる。
[実施形態12]
上述の実施形態9、実施形態10および実施形態11では、転送用モジュールを仮想被管理プリンタの機器情報受信部と同じシミュレータ・エージェントPC上で動作させるものとして説明した。しかし、シミュレータ・エージェントPCが複数である場合、仮想被管理プリンタの機器情報受信部と異なるシミュレータ・エージェントPC上で転送用モジュールを動作させることもできる。
[他の実施形態]
本発明は、上述した実施形態の機能を実現する、図8などのフローチャートの手順を実現するプログラムコード、またはそれを記憶した記憶媒体によっても実現することができる。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSが実際の処理の一部または全部を行うものであってもよい。
更に、プログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、CPUなどが実際の処理の一部または全部を行うものであってもよい。
本発明の実施形態に係るソフトウェア評価システムの対象である、機器情報配信のシステムを示す図である。 本発明の第1の実施形態に係るソフトウェア評価システムの構成を示す図である。 上記第1の実施形態に係るソフトウェア評価システムの構成の他の例を示す図である。 本発明の第2実施形態に係る評価システムの構成を示す図である。 図4に示した構成について、1台のシミュレータ・エージェントPC33の内容を説明する図である。 本発明の第3の実施形態に係るソフトウェア評価システムの構成を示す図である。 本発明の第4の実施形態に係るソフトウェア評価システムの構成を示す図である。 図7に示すシミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション開始処理を示すフローチャートである。 図7に示すシミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション終了処理を示すフローチャートである。 図8、図9に示すシミュレータ・エージェント・ソフトウェア59の処理を制御する仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理を示すフローチャートである。 本発明の第5の実施形態に係るシミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション開始処理を示すフローチャートである。 第5実施形態にかかる上記シミュレータ・エージェント・ソフトウェア59の処理のうち、シミュレーション結果チェック処理およびシミュレーション終了処理を示すフローチャートである。 第5実施形態における仮想プリンタシミュレータ集中制御用マネージャPC52に搭載された、仮想プリンタシミュレータ集中制御用マネージャ・ソフトウェアの処理を示すフローチャートである。 本発明の第6実施形態に係るソフトウェア評価システムの構成を示す図である。 図14に示すWebサーバ・ソフトウェア210の処理のうち、本発明を適用したソフトウェア評価に関連する処理を示すフローチャートである。 図15に示したステップ225のWebサーバが稼動中の状態における、シミュレータ・エージェントPC204内の動作状態を説明する図である。 図14に示すシミュレータ・エージェント・Webサービス211の処理のうち、シミュレーション開始処理を示すフローチャートである。 上記シミュレーション開始処理による、シミュレータ・エージェント・PC204の状態における接続関係を示す図である。 図18に示す接続状態により機器情報受信Webサービスを持つ被管理プリンタが、N個分動作している状態を示す図である。 第6実施形態のシミュレータ・エージェント・Webサービス211の処理のうち、シミュレーション終了処理を示すフローチャートである。 本発明の第7の実施形態にかかるソフトウェア評価システムのうち、シミュレータ・エージェント・PC204内の接続応対を示す図である。 図21に示すWebサービス応答フィルタ285による処理を示すフローチャートである。 図22に示す、Webサービス応答フィルタ285の処理によって、応答内容を変更する例を示す図である。 図22に示すWebサービス応答フィルタの処理の他の例を示すフローチャートである。 本発明の第8の実施形態に関し、シミュレータ・エージェントPC上で、上記実施形態の3つの構成を組み合わせて用いる場合の、シミュレータ・エージェントPC内の一構成例を示す図である。 第8実施形態におけるシミュレータ・エージェント・Webサービス388の処理のうち、シミュレーション開始処理を示すフローチャートである。 第8実施形態におけるシミュレータ・エージェント・Webサービス388の処理のうち、シミュレーション終了処理を示すフローチャートである。 本発明の第9実施形態に係るソフトウェア評価システムの構成を示す図である。 図28に示す構成の詳細を示す図である。 図29に示す転送用モジュールの処理を示すフローチャートである。 本発明の第10実施形態に係る機器情報受信部が転送用モジュールの何れのポートに対して返信を行うかを表す変換テーブルを示す図である。 第10実施形態に係り、被管理プリンタからの返信が非同期である例の図29と同様の構成を示す図である。 本発明の第11実施形態に係り、通知パケットとしてTCP/IPを用いる場合の図29と同様の構成を示す図である。 第10実施形態に係り、通知パケットとしてUDP/IPを用いる場合の図29と同様の構成を示す図である。
符号の説明
1、11、31、41、51、201 統合管理用プリンタ
2、3、4、5 被管理プリンタ
6、16、26、36、46、57、207、 イーサネット(登録商標)
12〜15、22〜25、32〜35、42〜45、53〜56、203〜206 シミュレータエージェントPC
37、47、60、209、383 ネットワークトラスポート層
38、49、61、212、287、389 機器情報受信部
52、202 仮想プリンタシミュレータ集中制御用マネージャPC
59、211、286、388 シミュレータエージェントソフトウェア
210、284、384、385、386 Webサーバソフトウェア
285、387 Webサービス応答フィルタ

Claims (23)

  1. ソフトウェア評価方法であって、
    通信媒体を介して通信可能な情報処理装置で稼動する、デバイスを仮想化した仮想デバイスソフトウェアに対して、前記通信媒体を介して予め定められた処理を行わせる制御工程を有することを特徴とするソフトウェア評価方法。
  2. 前記情報処理装置に対して前記仮想デバイスソフトウェアの設定を行わせる設定制御工程をさらに有することを特徴とする請求項1に記載のソフトウェア評価方法。
  3. 前記仮想デバイスソフトウェアは複数の仮想デバイスソフトウェアからなり、前記制御工程は、前記複数の仮想デバイスソフトウェアに対して予め定められた処理を行わせることを特徴とする請求項1または2に記載のソフトウェア評価方法。
  4. 前記複数の仮想デバイスソフトウェアには異なるアドレスが割り振られていることを特徴とする請求項3に記載のソフトウェア評価方法。
  5. 前記制御工程において前記仮想デバイスソフトウェアにより実行された予め定められた処理の処理結果を管理する管理工程をさらに有することを特徴とする請求項1ないし4のいずれかに記載のソフトウェア評価方法。
  6. ネットワークを介した通信の内容をインターセプトし、該インターセプトした通信内容を表示または記億する工程をさらに有することを特徴とする請求項1ないし5のいずれかに記載のソフトウェア評価方法。
  7. ネットワークを介した通信の内容をインターセプトし、該インターセプトした通信内容を以って、複数の仮想デバイスソフトウェアそれぞれの通信の成功または失敗を判断し、該判断の結果を、当該ネットワークを介した通信のシミュレーションの制御を行う情報処理装置に伝達し、前記シミュレーションの制御を行う前記情報処理装置において、前記結果に基づく表示または記憶する工程をさらに有することを特徴とする請求項1ないし5のいずれかに記載のソフトウェア評価方法。
  8. 前記仮想デバイスソフトウェアが稼動する前記情報処理装置で、データ転送用ソフトウェアを動作させ、該データ転送用ソフトウェアによって前記ネットワークを介した通信を行うときの該通信の内容をインターセプトし、該インターセプトした通信内容に対して、通信シミュレーションを行うために書き換えが必要か否かを判断し、書き換えが必要と判断したとき当該通信内容を書き換える工程をさらに有したことを特徴とする請求項1ないし5のいずれかに記載のソフトウェア評価方法。
  9. 前記仮想デバイスソフトウェアが稼動する前記情報処理装置で、Webサービス・サーバ・ソフトウェアを動作させ、該Webサービス・サーバ・ソフトウェアによって前記ネットワークを介した通信を行うときの該通信の内容をインターセプトし、該インターセプトした通信内容に対して、通信シミュレーションを行うために書き換えが必要か否かを判断し、書き換えが必要と判断したとき当該通信内容を書き換える固定をさらに有したことを特徴とする請求項1ないし5のいずれかに記載のソフトウェア評価方法。
  10. 前記Webサービス・サーバ・ソフトウェアがUDDIサーバであることを特徴とする請求項9に記載のソフトウェア評価方法。
  11. ソフトウェア評価方法であって、
    ネットワークを介して通信可能な情報処理装置に画像形成装置の受信部ソフトウェアを移植し、
    該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、
    該データの送信に応じた前記受信部ソフトウェアの前記返信を取得し、
    該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う、
    工程を有することを特徴とするソフトウェア評価方法。
  12. 複数の前記受信部ソフトウェアが1台の前記情報処理装置に移植され、該複数の受信部ソフトウェアはそれぞれ異なるIPアドレスをバインドしてそれぞれ前記クライアントからの送信を待機することを特徴とする請求項11に記載のソフトウェア評価方法。
  13. 複数の前記受信部ソフトウェアが1台の前記情報処理装置に移植され、該複数の受信部ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定された処理であるか否かを判断し、予め設定した処理と判断したときは、当該受信に係るIPアドレスによって、受信データの内容を書き換える工程をさらに有することを特徴とする請求項11または12に記載のソフトウェア評価方法。
  14. 複数の前記受信部ソフトウェアが1台の前記情報処理装置に移植され、該複数の受信部ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定された処理であるか否かを判断し、予め設定した処理と判断したときは、当該受信に係るIPアドレスによって、返信データの内容を書き換える工程をさらに有することを特徴とする請求項11または12に記載のソフトウェア評価方法。
  15. 複数の前記受信部ソフトウェアが1台の前記情報処理装置に移植され、該複数の受信部ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定された処理であるか否かを判断し、予め設定した処理と判断したときは、当該受信に係るIPアドレスによって、返信データの送信先を変更する工程をさらに有することを特徴とする請求項11または12に記載のソフトウェア評価方法。
  16. 複数の前記受信部ソフトウェアが1台の前記情報処理装置に移植され、前記情報処理装置で稼動するWebサービス・サーバ・ソフトウェアが、ネットワークインターフェースに割り当てられた前記複数の受信部ソフトウェアに対応する総てのIPアドレスを用いる設定でバインドしてそれぞれ前記クライアントからの送信を待機するとともに、前記クライアントから送信されたデータを当該データに対応する前記受信部ソフトウェアに渡すことを特徴とする請求項11に記載のソフトウェア評価方法。
  17. 前記複数の前記受信部ソフトウェアが1台の前記情報処理装置において稼動する数を設定する工程をさらに有したことを特徴とする請求項11または12に記載のソフトウェア評価方法。
  18. 前記受信部ソフトウェアの前記返信を取得する工程は、前記複数の前記受信部ソフトウェアに送信されたデータ、該送信されたデータのハッシュ値、または前記送信された所定データのチェックサムを取得することを特徴とする請求項11ないし17のいずれかに記載のソフトウェア評価方法。
  19. 複数の前記受信部ソフトウェアが1台の前記情報処理装置に移植され、前記情報処理装置で稼動するWebサービス・サーバ・ソフトウェアが、前記クライントからの送信を受信すると、当該受信に対する処理が、予め設定されたWebサービスであるか否かを判断し、予め設定したWebサービスと判断したときは、当該受信に係るIPアドレスによって、Webサービスの対象要素の内容を書き換える工程をさらに有することを特徴とする請求項11ないし18のいずれかに記載のソフトウェア評価方法。
  20. ソフトウェア評価システムであって、
    ネットワークを介して通信可能な情報処理装置で稼動する、デバイスを仮想化した仮想デバイスソフトウェアに対して、前記ネットワークを介して予め定められた処理を行わせる制御手段を有することを特徴とするソフトウェア評価システム。
  21. ソフトウェア評価システムであって、
    ネットワークを介して通信可能な情報処理装置に移植した画像形成装置の受信部ソフトウェアと、
    該受信部ソフトウェアに対して、前記ネットワークを介してクライアントからデータを送信し、
    該データの送信に応じた前記受信部ソフトウェアの前記返信を取得する取得手段と、
    該取得した返信内容に基づいて前記受信部ソフトウェアの評価を行う評価手段と、
    を有することを特徴とするソフトウェア評価システム。
  22. コンピュータに、請求項1ないし19のいずれかに記載のソフトウェア評価方法を実行させることを特徴とするソフトウェア評価プログラム。
  23. コンピュータに、請求項1ないし19のいずれかに記載のソフトウェア評価方法を実行させることを特徴とするソフトウェア評価プログラムを前記コンピュータによって読み取り可能に格納した記憶媒体。

JP2006006076A 2005-04-07 2006-01-13 ソフトウェア評価方法およびソフトウェア評価システム Pending JP2006313526A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006006076A JP2006313526A (ja) 2005-04-07 2006-01-13 ソフトウェア評価方法およびソフトウェア評価システム
US11/398,215 US8819197B2 (en) 2005-04-07 2006-04-05 Software evaluation method and software evaluation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005111285 2005-04-07
JP2006006076A JP2006313526A (ja) 2005-04-07 2006-01-13 ソフトウェア評価方法およびソフトウェア評価システム

Publications (1)

Publication Number Publication Date
JP2006313526A true JP2006313526A (ja) 2006-11-16

Family

ID=37395406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006006076A Pending JP2006313526A (ja) 2005-04-07 2006-01-13 ソフトウェア評価方法およびソフトウェア評価システム

Country Status (2)

Country Link
US (1) US8819197B2 (ja)
JP (1) JP2006313526A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146530A (ja) * 2008-12-22 2010-07-01 Canon Inc シミュレーション方法及びそれを実現する情報処理装置
JP2013061862A (ja) * 2011-09-14 2013-04-04 Toshiba Corp 複合機エミュレータ、複合機エミュレート方法および複合機連携アプリケーション開発システム
US9219675B2 (en) 2010-07-27 2015-12-22 Ricoh Company, Limited Communication device, communication system, and computer program product

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235001A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Implementing emulation decisions in response to software evaluations or the like
US9378108B2 (en) * 2007-03-22 2016-06-28 Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US8874425B2 (en) * 2007-03-22 2014-10-28 The Invention Science Fund I, Llc Implementing performance-dependent transfer or execution decisions from service emulation indications
US9558019B2 (en) 2007-03-22 2017-01-31 Invention Science Fund I, Llc Coordinating instances of a thread or other service in emulation
US8438609B2 (en) * 2007-03-22 2013-05-07 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US8495708B2 (en) * 2007-03-22 2013-07-23 The Invention Science Fund I, Llc Resource authorizations dependent on emulation environment isolation policies
US20080235000A1 (en) * 2007-03-22 2008-09-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Implementing security control practice omission decisions from service emulation indications
US20080270911A1 (en) * 2007-04-24 2008-10-30 Nehal Dantwala System and method to develop a custom application for a multi-function peripheral (mfp)
KR101353933B1 (ko) * 2007-07-04 2014-01-22 삼성전자주식회사 멀티 포트를 구비하는 화상형성장치, 및 통신 포트를제공하는 호스트 그리고, 그들의 통신포트 제공방법
US9826110B2 (en) * 2010-10-25 2017-11-21 Dell Products L.P. Address book transfer over a network between printers
US9990217B2 (en) * 2012-05-31 2018-06-05 Red Hat, Inc. Hypervisor printer emulation for virtual machines
US9369528B2 (en) * 2013-04-08 2016-06-14 Xerox Corporation Multi-function device application catalog with integrated discovery, management, and application designer
CN110708393B (zh) * 2019-10-21 2023-11-21 北京百度网讯科技有限公司 用于传输数据的方法、装置和系统
CN115904854A (zh) * 2021-09-30 2023-04-04 中兴通讯股份有限公司 终端模拟测试方法、装置、存储介质及电子装置
US11861330B2 (en) 2022-03-25 2024-01-02 Vivun Inc. Machine mediated requirement management in a software trial management system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944433A (ja) 1995-08-02 1997-02-14 Matsushita Electric Ind Co Ltd Rpcモニタ
JP3507307B2 (ja) * 1996-12-27 2004-03-15 キヤノン株式会社 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体
JP3869959B2 (ja) 1998-10-28 2007-01-17 キヤノン株式会社 ホストコンピュータ、フォント管理方法および記憶媒体
EP1191450B1 (en) * 2000-03-27 2007-11-07 Seiko Epson Corporation System for managing devices connected to a network
JP3639770B2 (ja) * 2000-05-19 2005-04-20 キヤノン株式会社 ネットワーク制御装置および方法
US20030020948A1 (en) * 2001-07-27 2003-01-30 Jarvis Daniel Cook Dynamically loaded applications in a printer
JP3595783B2 (ja) 2001-07-30 2004-12-02 キヤノン株式会社 負荷テスト実行装置及びシステム、及びその方法、及びそのプログラム
JP3962612B2 (ja) * 2002-03-12 2007-08-22 キヤノン株式会社 情報処理装置及び情報処理装置で実行される設定方法とプログラム
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US7145682B2 (en) * 2002-12-20 2006-12-05 Hewlett-Packard Development Company, L.P. Temporary printer firmware upgrade
US20040135805A1 (en) * 2003-01-10 2004-07-15 Gottsacker Neal F. Document composition system and method
JP2004341700A (ja) 2003-05-14 2004-12-02 Canon Inc 評価システム及びその方法
US7468804B2 (en) * 2003-06-12 2008-12-23 Ricoh Company, Ltd. Techniques for printer-side network cluster printing
JP4581404B2 (ja) * 2004-01-06 2010-11-17 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010146530A (ja) * 2008-12-22 2010-07-01 Canon Inc シミュレーション方法及びそれを実現する情報処理装置
US9219675B2 (en) 2010-07-27 2015-12-22 Ricoh Company, Limited Communication device, communication system, and computer program product
JP2013061862A (ja) * 2011-09-14 2013-04-04 Toshiba Corp 複合機エミュレータ、複合機エミュレート方法および複合機連携アプリケーション開発システム

Also Published As

Publication number Publication date
US8819197B2 (en) 2014-08-26
US20060253824A1 (en) 2006-11-09

Similar Documents

Publication Publication Date Title
JP2006313526A (ja) ソフトウェア評価方法およびソフトウェア評価システム
US7243352B2 (en) Distributed process runner
JP5288334B2 (ja) 仮想アプライアンス配備システム
JP5743589B2 (ja) Webサービスシステム、サーバ管理装置およびWebサービス提供方法
US7111303B2 (en) Virtual machine operating system LAN
CN102202078B (zh) 一种用于配置服务器场的多个异类角色的方法和系统
US8290998B2 (en) Systems and methods for generating cloud computing landscapes
JP3595783B2 (ja) 負荷テスト実行装置及びシステム、及びその方法、及びそのプログラム
US7114159B2 (en) Processing resource for use in a distributed processing framework system and methods for implementing the same
EP1276050A2 (en) Registry service for use in a distributed processing framework system and methods for implementing the same
WO2003090108A1 (en) A network system having a virtual-service-module
JP2000033755A (ja) 周辺装置のネットワ―ク構成方法
US10372633B1 (en) Interconnection of peripheral devices on different electronic devices
CN112202615B (zh) 一种多cni协同工作系统与方法
US7735095B2 (en) Network device drivers using a communication transport
KR101179999B1 (ko) 동적 미디어 서비스 합성을 위한 테스트베드 시스템 및 미디어 서비스 합성 실험 방법
CN109451014A (zh) 一种WebService代理系统及其透明代理方法
JP3319764B2 (ja) ソフトウェアシステム間でソフトウェア機能を同期化させるための方法および装置
CN112068847A (zh) 基于kubernets平台的计算环境部署方法及装置
US7243137B2 (en) Remote system controller and data center and methods for implementing the same
US20110307855A1 (en) Software project management apparatuses and methods thereof
CN109413011A (zh) 公共服务资源申请方法、相关设备及系统
US10372332B1 (en) Interconnection of peripheral devices on different electronic devices
CN114726905A (zh) 一种Tbox网络接入Android系统的方法、装置、设备及存储介质
CN115766717B (zh) 超融合分布式系统自动化部署方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100416