(57)【要約】【課題】  煩雑な準備作業を必要とすることなく少ない資源にて低コストに現実の使用環境を反映した信頼性の高いネットワーク装置の負荷試験を行うこと。【解決手段】  負荷試験実行クライアント環境１０のディスプレイ１４に、ＭＤＩ（Multiple Document Interface）方式のアプリケーション実行環境を実現するＭＤＩコンテナ２２にて複数の仮想端末７１、仮想端末７２を生成し、各仮想端末内でブラウザを起動して試験対象のＷＷＷサーバにアクセスして負荷試験を行う。各仮想端末内のウィンドウは、ＯＳレベルのウィンドウ管理機能とは独立に管理し、各仮想端末内のブラウザ等でウィンドウ管理機能では区別できない同一名のウィンドウの共存を可能にし、個々の仮想端末内のブラウザで実際の操作状況を再現した負荷試験を行う。【選択図】図３
2005284418.tif 000002
【特許請求の範囲】
【請求項１】
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、
第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、
前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能とを前記コンピュータに実現させる端末エミュレーションプログラム。
【請求項２】
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能と、を前記コンピュータに実現させる端末エミュレーションプログラムが格納されたコンピュータ読み取り可能な記録媒体。
【請求項３】
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上に複数の仮想端末を生成し、個々の前記仮想端末から情報ネットワークを経由して試験対象のネットワーク装置にアクセスすることで前記ネットワーク装置の負荷試験を行う負荷試験方法であって、
第１ウィンドウ内の複数の前記仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能と、を前記コンピュータに実現させる端末エミュレーションプログラムを準備する工程と、
前記端末エミュレーションプログラムを前記コンピュータに実行させ、複数の前記仮想端末から前記ネットワーク装置にアクセスして前記ネットワーク装置の負荷試験を行う工程と、
を含むことを特徴とする負荷試験方法。
【請求項４】
前記ネットワーク装置に対する実際の端末からのアクセス経過を記録した操作ログを採取し、前記操作ログに基づいて複数の前記仮想端末の各々からの前記ネットワーク装置へのアクセスを制御して前記負荷試験を行うことを特徴とする請求項３記載の負荷試験方法。
【請求項５】
ウィンドウ管理機能を備えたオペレーティングシステムが実装され、情報ネットワークを介して試験対象のネットワーク装置に接続可能なコンピュータと、
第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能、および前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能を前記コンピュータに実現させる端末エミュレーションプログラムと、を含み、
前記端末エミュレーションプログラムを前記コンピュータに実行させて複数の前記仮想端末から前記ネットワーク装置にアクセスして前記ネットワーク装置の負荷試験を行うことを特徴とする負荷試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末エミュレーション技術およびそれを用いたネットワーク装置の負荷試験技術等に適用して有効な技術に関する。
【背景技術】
【０００２】
たとえば、ＷＷＷ（World Wide Web）サーバ等のネットワーク装置に対して負荷試験を試みる場合、現実に多数のクライアント端末や操作要員を配置し、ブラウザを操作して同時に多数のＨＴＴＰリクエストを発生させるというのは、物的、人的資源や、コスト等の制約から現実的には不可能である。
【０００３】
このため、ネットワーク環境におけるサーバや端末等の負荷状態を計測する方法として、例えば特許文献１のような負荷テストツールが知られている。すなわち、特許文献１には、パーソナルコンピュータ等からなる１台の端末内に、各々がそれぞれ異なるＭＡＣアドレス（物理アドレス）とＩＰアドレス（通信先アドレス）を持つ複数の仮想端末を構成する機能を設け、個々の仮想端末のＭＡＣアドレスとＩＰアドレスを制御することにより、少ない試験端末で負荷テストを行う方法が開示されている。
【０００４】
しかしながら、ネットワーク上では、物理アドレスと通信先アドレスが同じ値の装置が重複して存在することができないため、通常使用されているネットワークで上記の負荷テストを行う場合に、ネットワークに接続されている全ての端末の物理アドレスおよび通信先アドレスと重ならないように設定しなければならず、そのための調査や設定作業が困難となることが懸念される。
【０００５】
また、物理アドレス及び通信先アドレスが重ならないようにするために、既存の他の端末を試験環境のネットワークからはずすことも考えられるが、実際の使用環境とは異なる環境下での試験となり、負荷テストの結果が現実の環境を反映したものではなくなり、信頼性が低下する。
【０００６】
また、一般的な方法として、１台の端末でＳＤＩ（Single Document Interface）画面を持ったブラウザを複数開き、あたかも複数の端末が使用しているのと同じ環境を作ることができるが、この場合、テスト端末のリソースの消費が激しく、１台で複数の仮想端末の環境を作るのは難しい。
【０００７】
一方、ＭＤＩ（Multiple Document Interface）方式により複数のブラウザを１つの端末から開くことが可能であるが、それらは全て１つの戻り値等で管理されているため、例えば、２つの異なる画面から、次に同じ画面を開いた時に、２つの同じウィンドウが個別に生成されるべきところ、１つのウィンドウしか開かないため、たとえば、個々のブラウザにてサーバ側からのエラーメッセージ等を個別に受信して表示できない、等の問題がある。
【特許文献１】特開２００１−２８５８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、リソースの消費を増大させることなく、しかも、生成されるウィンドウ等の表示情報の独立性を損なうことなく、複数の仮想端末を実現することが可能な端末エミュレーション技術を提供することにある。
【０００９】
本発明の他の目的は、情報ネットワーク上におけるアドレスの重複調査等の煩雑な準備作業を必要とすることなく、少ない資源にて低コストに、現実の使用環境を反映した信頼性の高いネットワーク装置の負荷試験を行うことが可能な技術を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の第１の観点は、ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能とを前記コンピュータに実現させる端末エミュレーションプログラムを提供する。
【００１１】
本発明の第２の観点は、ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能と、を前記コンピュータに実現させる端末エミュレーションプログラムが格納されたコンピュータ読み取り可能な記録媒体を提供する。
【００１２】
本発明の第３の観点は、ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上に複数の仮想端末を生成し、個々の前記仮想端末から情報ネットワークを経由して試験対象のネットワーク装置にアクセスすることで前記ネットワーク装置の負荷試験を行う負荷試験方法であって、第１ウィンドウ内の複数の前記仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能と、を前記コンピュータに実現させる端末エミュレーションプログラムを準備する工程と、前記端末エミュレーションプログラムを前記コンピュータに実行させ、複数の前記仮想端末から前記ネットワーク装置にアクセスして前記ネットワーク装置の負荷試験を行う工程と、を含む負荷試験方法を提供する。
【００１３】
本発明の第４の観点は、ウィンドウ管理機能を備えたオペレーティングシステムが実装され、情報ネットワークを介して試験対象のネットワーク装置に接続可能なコンピュータと、第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能、および前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能を前記コンピュータに実現させる端末エミュレーションプログラムと、を含み、前記端末エミュレーションプログラムを前記コンピュータに実行させて複数の前記仮想端末から前記ネットワーク装置にアクセスして前記ネットワーク装置の負荷試験を行う負荷試験装置を提供する。
【００１４】
本発明は、たとえば、表示装置上に情報表示領域としてのウィンドウを表示するウィンドウ管理機能を備えたパーソナルコンピュータ用の商用オペレーティングシステム（ＯＳ）の環境下で実現することができる。ハードウェア環境に関しては商用ＯＳの動作環境に準ずる。また、本発明では、パーソナルコンピュータ用の商用ＯＳの一部に構成部品として組み込まれ、インターネット等の情報ネットワークへのアクセス機能を提供するブラウザ機能を用いることができる。
【００１５】
本発明の端末エミュレーションプログラムを用いた負荷試験方法および装置によるシミュレーション負荷測定対象としては、任意の構成のＷＷＷサーバ、アプリケーションサーバ、ネットワークプリンタ等のあらゆるネットワーク装置を想定することができる。
【００１６】
図１は、端末１，端末２といった複数の端未上でユーザがブラウザを操作し、ＷＷＷサーバに対してリクエストを行う様子を表す。ブラウザには通常ＯＳによって自動的にウィンドウ名が割り振られて管理される。図１中のＡ、Ｂがウィンドウ名を表す。
【００１７】
多数のリクエストを発行してＷＷＷサーバに対して負荷をかけようと考えた場合、通常はこのような独立した端末を多数用意し、多数のユーザによってブラウザ操作が行われる必要があるが、こういった試験環境を用意するのは通常困難である。
【００１８】
そこで、図２のように実際には１台である端末の中に仮想的な端末を複数用意することで、多数の端末、多数のユーザによるリクエスト発行をシミュレーションする。この段階で仮想端末とはあくまで概念的なものであり実際のＯＳの仕組み上は存在しないので、別途プログラム上で実装する必要がある。仮想端末の仕組みの実現については後述する。
【００１９】
この機能の実現の為に二つの技術的課題が生じる。一つはリソース不足の技術的課題、もう一つはウィンドウ名管理の技術的課題である。本発明では、この二つの技術的課題を以下のようにして解決する。
【００２０】
まずリソース不足の技術的課題であるが、１台の端末内で一度に多数のブラウザを開こうとしても、実際にはシステムリソースの限界から開けるブラウザの数は通常少ない数に限られ、充分な数のブラウザを開くことは出来ない。
【００２１】
そこで、本発明では、図３のように、ＯＳ上で実行されるアプリケーションソフトのウィンドウの中に複数の文書ウィンドウを表示するＭＤＩ方式で当該アプリケーションソフトの実行環境を提供するＭＤＩコンテナを第２機能として用意し、このＭＤＩコンテナ内の子ウィンドウとして複数のブラウザを開く。
【００２２】
ＭＤＩコンテナ内では複数のブラウザの共通部分のメモリ等のリソースが共有されるため、はるかに多くのブラウザを開くことが可能になる。これによりリソース不足の技術的課題は解決される。
【００２３】
次に二つ目のウィンドウ名管理の技術的課題を解決する為に、本発明では、同一端末内での仮想端末管理の仕組みを第２機能として提供する。つまり、図３中にはＡとＢがそれぞれ２枚ずつ開いているが、このような同名のブラウザウィンドウは通常ＯＳレベルでは区別されることはない。
【００２４】
つまり図３中の仮想端末７１のＡと仮想端末７２のＡはＯＳによって区別されずに同一のものと見なされるので、図３の通りに同名のブラウザを複数同時に開くことは出来ない。
【００２５】
まず、仮想端末の実現の為にはウィンドウ名の管理をＯＳから切り離してプログラム上で独自に行う必要がある。通常はユーザ入力によってＡという名前のブラウザが開かれる場合、ＯＳの一意な名前管理テーブルにＡというウィンドウ名で登録されてから開かれる。
【００２６】
そこで、ウィンドウの生成に際して、ＯＳのウィンドウ処理をキャンセルさせ、第２機能がプログラム上から仮想端末毎に管理された独自の名前管理テーブルにＡという名前でウィンドウ名を登録した上でブラウザを開く。このＡという名前はＯＳの名前管理テーブルには登録されないので、ＯＳは知ることが出来ない。このようにしてウィンドウ名の管理をＯＳから切り離す。
すなわち、第２機能では、ＯＳによるウィンドウ管理とは独立に、ウィンドウを新たに開く度に、その親とのリンク関係を記憶しておき、ウィンドウの遷移を明確にすることにより、全ての開かれたウィンドウが親子の関係を保つ処理を行う。
【００２７】
仮想端末７２からのユーザ入力によって同じＡという名前のブラウザが開かれる場合も同様に、仮想端末毎に管理された独自の名前管理テーブルに登録した上でブラウザを開く。名前の重複ができないのはあくまでＯＳの名前管理テーブル内のみなので、ＯＳの名前管理テーブルに登録しなければ上述の図３のように名前の重複したウィンドウが存在できる。
【００２８】
上述のように、本発明では、第２機能により、ＯＳのウィンドウに関する名前管理機能を奪い、独自に管理し制御することで、ＭＤＩコンテナ内の複数のウィンドウとして個別に起動される複数のブラウザ間において、同一名のウィンドウの生成および共存を可能とすることで、第１機能であるＭＤＩコンテナ内に複数の全く独立な仮想端末を実現可能となる。
【００２９】
このように本発明では、複数の仮想端末から複数のブラウザを独立に立ち上げることが可能になるとともに、個々の仮想端末内の各ブラウザにて、実際にウィンドウが遷移されている状態を表示しながらの負荷テストが可能となり、たとえば、エラーメッセージ等の情報も、各ブラウザ毎に個別に表示させて閲覧できるようになり、実際に多数の端末からＷＷＷサーバ等にアクセスした状況を再現した負荷テストが可能になる。
【発明の効果】
【００３０】
本発明によれば、リソースの消費を増大させることなく、しかも、生成されるウィンドウ等の表示情報の独立性を損なうことなく、複数の仮想端末を実現することが可能となる。
【００３１】
本発明によれば、情報ネットワーク上におけるアドレスの重複調査等の煩雑な準備作業を必要とすることなく、少ない資源にて低コストに、現実の使用環境を反映した信頼性の高いネットワーク装置の負荷試験を行うことが可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
図４は、本発明の一実施の形態である端末エミュレーションプログラムを用いた負荷試験方法を実施する負荷試験実行クライアント環境におけるソフトウェア構成の一例を示す概念図であり、図５は、負荷試験実行クライアント環境のハードウェア構成の一例を示すブロック図である。
【００３３】
図５に例示されるように、本実施の形態の負荷試験実行クライアント環境１０は、マイクロプロセッサ１１と、このマイクロプロセッサ１１を制御するためのプログラムやデータ等が格納される主記憶１２を備え、これらは、バス１７を介して、外部記憶装置１３、ディスプレイ１４、キーボードやマウスポインタ等の入力インタフェース１５、ネットワークインタフェース１６、可搬媒体ドライブ１９等の各構成要素に接続されている。このような構成の負荷試験実行クライアント環境１０は、たとえばパーソナルコンピュータやワークステーション等の情報処理装置を用いて実現することができる。
【００３４】
主記憶１２には、商用ＯＳ等で構成され、インターネットアクセス機能４１を含むオペレーティングシステム４０と、このオペレーティングシステム４０の上で動作するプログラム群からなる負荷試験システム２０が実装されており、これらのソフトウェアは、外部記憶装置１３に持久的に格納され、必要に応じて主記憶１２に読み込まれて実行される。
【００３５】
オペレーティングシステム４０は、ディスプレイ１４上に情報の表示領域であるウィンドウを生成し、このウィンドウ内に情報を表示するウィンドウ管理機能４０ａを備えており、各ウィンドウは、当該ウィンドウに付与されたウィンドウ名で区別され、このウィンドウ名は、名前テーブル４０ｂで管理される。
【００３６】
可搬媒体ドライブ１９は、ＣＤ−ＲＯＭ、フレキシブルディスク、ＤＶＤ、半導体メモリ等の可搬性の記録媒体１８に対する情報の記録／再生動作が可能になっている。
そして、本実施の形態の負荷試験システム２０を構成するソフトウェアは、必要に応じて上述の記録媒体１８に格納されて流通し、この記録媒体１８を可搬媒体ドライブ１９に装填して負荷試験システム２０を読み出し、外部記憶装置１３に転送して実装することができる。
【００３７】
また、本実施の形態の負荷試験システム２０等のソフトウェアは、ネットワークインタフェース１６、情報ネットワーク６０を介して外部のサーバ装置等から外部記憶装置１３に実装することも可能である。
【００３８】
負荷試験実行クライアント環境１０は、ネットワークインタフェース１６から、インターネット等の情報ネットワーク６０を介して測定対象サーバ環境５０（ネットワーク装置）に接続されている。
【００３９】
本実施の形態では、図４に例示されるように、負荷試験システム２０は、ＭＤＩコンテナ２２（第１機能）およびウィンドウ制御プログラム２３（第２機能）等で構成され、外部の測定対象サーバ環境５０における負荷試験を行うための複数の仮想端末を生成するシミュレータ２１を備えている。
【００４０】
ＭＤＩコンテナ２２は、その内部で起動される一つのアプリケーションプログラムのウィンドウの中に、当該アプリケーションプログラムがアクセスする文書ファイル等の各々の単位情報資源に対応した複数の文書ウィンドウを表示することが可能な実行環境を提供する。
【００４１】
すなわち、ＭＤＩコンテナ２２は、アプリケーションプログラムの起動要求に際して、当該アプリケーションプログラムがすでに起動済か否かを判別し、起動済の場合には、当該起動要求の契機となったファイル等の情報資源の表示のためのウィンドウと当該ウィンドウに随伴するウィンドウ制御プログラム２３を生成するとともに、当該ウィンドウ等を起動済のアプリケーションプログラムに共有させる制御を行う。
【００４２】
これにより、ＭＤＩコンテナ２２内で後述のように生成される複数の仮想端末の各々にて複数のＷＥＢブラウザ４１ａ等のアプリケーションプログラムを起動する場合、ＷＥＢブラウザ４１ａの実体は一つであり、アクセス対象のホームページや文書ファイル等の各々の単位情報資源に対応してウィンドウが生成される。従って、ＷＥＢブラウザ４１ａの本体が主記憶１２にて占有するメモリ領域は、ほぼ一つのＷＥＢブラウザ４１ａの起動に要する容量と、複数の文書ウィンドウの管理に必要な容量の和で済む。この容量の和は、複数の文書ファイル毎にＷＥＢブラウザ４１ａを個別に起動する場合に比較してはるかに小さい値となる。
【００４３】
ウィンドウ制御プログラム２３は、ＭＤＩコンテナ２２におけるウィンドウの生成処理をオペレーティングシステム４０のウィンドウ管理機能４０ａとは独立に行う機能を備えており、ウィンドウ管理等のための情報がテーブルとして格納されるウィンドウプロパティ３０にアクセスして、オペレーティングシステム４０のウィンドウ管理機能４０ａとは独立に、ＭＤＩコンテナ２２内において生成されるウィンドウを管理する機能を備えている。
【００４４】
すなわち、ウィンドウ制御プログラム２３は、ＭＤＩコンテナ２２内で生成される個々のウィンドウ毎に随伴して生成され、後述のウィンドウ生成処理２００やナビゲート前処理３００等の処理を実行することでＭＤＩコンテナ２２内におけるウィンドウの管理を行う。
【００４５】
図６に例示されるように、ウィンドウプロパティ３０は、一例として、ＭＤＩコンテナ２２内の個々のウィンドウ毎に以下のように情報を対応付けて格納されている。
すなわち、ウィンドウプロパティ３０には、当該ウィンドウが、ＭＤＩコンテナ２２に生成される複数の仮想端末のいずれに属するかを識別するための仮想端末管理番号３１と、個々の仮想端末内で当該ウィンドウを管理するための仮想端末内ウィンドウ管理番号３２と、オペレーティングシステム４０とは独立にウィンドウを管理するために当該ウィンドウの名前が記録される内部管理用ウィンドウ名３３と、当該ウィンドウが既存のどのウィンドウから開かれたかを示す内部管理用親ウィンドウポインタ３４、の各情報が対応つけてテーブルとして格納されている。なお、各情報の属性は一例として図６の右側に示す通りである。
【００４６】
また、負荷試験システム２０には、シミュレータ２１による負荷試験を支援するための、トレーサ２４、エディタ２５、アナライザ２６等のユーティリティーツールを必要に応じて備えることができる。
【００４７】
トレーサ２４は、たとえば、オペレーティングシステム４０のインターネットアクセス機能４１が提供するＷＥＢブラウザ４１ａによる測定対象サーバ環境５０への実際のアクセスにおけるユーザ８０の操作状況を操作ログ２４ａに記録する機能を備えている。
【００４８】
エディタ２５は、操作ログ２４ａを編集して編集済操作ログ２４ｂを得るために用いられる。この編集済操作ログ２４ｂは、必要に応じてシミュレータ２１にて読み込まれ、後述のような複数の仮想端末内で起動されたＷＥＢブラウザ４１ａによる測定対象サーバ環境５０への並行したアクセス状況の再現に用いられる。
【００４９】
アナライザ２６は、シミュレータ２１から出力される性能データ２６ａ等の負荷試験結果を解析して、可視化してユーザ８０に提示する機能を備えている。
一方、図４に例示されるように、負荷試験実行クライアント環境１０による負荷試験の対象となる測定対象サーバ環境５０は、ＷＷＷサーバ５１と、データベースサーバ５３と連携してデータベース５４へのアクセスを行うデータベースサービス等を提供するアプリケーションサーバ５２と、データベースサーバ５３にてアクセスされるデータベース５４等で構成されている。そして、インターネット等の情報ネットワーク６０を介して負荷試験実行クライアント環境１０に接続されている。
【００５０】
以下、本実施の形態の動作の一例について説明する。図７および図８は、本実施の形態の負荷試験システムの工程全体の一例を示すフローチャートであり、図９、図１０および図１１は、ＭＤＩコンテナ２２およびウィンドウ制御プログラム２３によるウィンドウ生成処理の一例を示すフローチャートである。
【００５１】
図７および図８に例示されるように、まず、トレーサ２４にて測定対象サーバ環境５０に実際にアクセスし、その時のユーザ８０の操作による画面遷移情報、フォームの入力内容、ボタン動作等の操作履歴を自動的に操作ログ２４ａに記録する（ステップ１０１）。
【００５２】
この際に、必要に応じて（ステップ１０３）、エディタ２５を用いて操作ログ２４ａの編集やバリエーション展開等も行うことができる。すなわち、仮想端末（ユーザ）単位でシミュレーションデータにバリエーションをもたせることができる。たとえば、仮想ユーザ（仮想端末）単位に、個別のＩＤやパスワードの入力データを設定することができる（ステップ１０４）。
【００５３】
その後、負荷シミュレーションの実行条件（たとえば、操作ログ名、仮想ユーザ（仮想端末）数、実行回数、思考時間、同期処理など）を設定し（ステップ１０５）、この実行条件に応じて、図３に例示されるように、ＭＤＩコンテナ２２内に複数の仮想端末７１、仮想端末７２用の複数の端末ウィンドウ７１ａ、端末ウィンドウ７２ａ（第１ウィンドウ）を生成し、各仮想端末に仮想ユーザを割り当ててＷＥＢブラウザ４１ａを起動して、測定対象サーバ環境５０内のＷＷＷサーバ５１やアプリケーションサーバ５２に一斉にアクセスして処理負荷をかける（ステップ１０６）。
【００５４】
この複数の仮想端末の生成に際して、ＭＤＩコンテナ２２では、個々の仮想端末７１や仮想端末７２にて起動されるＷＥＢブラウザ４１ａは、ＭＤＩ方式で起動される。すなわち、ＭＤＩコンテナ２２内では、複数のＷＥＢブラウザ４１ａを起動しても、ブラウザ本体部分は一つで、アクセスするホームページや文書データ等の単位情報資源毎に、異なるウィンドウを生成するだけなので、共通のブラウザ本体部分の占有メモリ等の資源は起動された各ＷＥＢブラウザ４１ａ間で共用されるため、仮想端末やブラウザの起動数を増やしても負荷試験システム２０が実装される主記憶１２のメモリ容量が不足することがない。
【００５５】
また、ＭＤＩコンテナ２２内では、以下の図９、図１０および図１１のフローチャートのように、ウィンドウの生成管理は、ウィンドウ制御プログラム２３にてオペレーティングシステム４０のウィンドウ管理機能４０ａとは独立して行われるので、たとえば、ＷＷＷサーバ５１等から返されるエラーメッセージ等を表示するウィンドウは、各ＷＥＢブラウザ４１ａ間で同一であっても個別に生成され、各仮想端末毎に、完全に独立にＷＷＷサーバ５１との間で授受される情報の個別表示が可能になる。
【００５６】
これにより、図３のように、仮想端末７１および仮想端末７２の各々に、名前の同じウィンドウＡ、ウィンドウＢ（第２ウィンドウ）を個別に共存させて表示することができ、個々の仮想端末７１および仮想端末７２では、実際の端末で一つのＷＥＢブラウザ４１ａを起動して測定対象サーバ環境５０にアクセスした場合と全く同様のアクセス状況を再現できる。
【００５７】
すなわち、図９は、ＭＤＩコンテナ２２およびウィンドウ制御プログラム２３がオペレーティングシステム４０とは独立にウィンドウを生成する処理を示している。なお、図９中のステップ番号は、後述の図１０および図１１に対応している。
【００５８】
仮想端末７１から新しいウィンドウ「Ａ」を開く要求がオペレーティングシステム４０に発行されると、新しいウィンドウ「Ａ」を開く命令が発生し、この命令をウィンドウ制御プログラム２３が捕捉して、オペレーティングシステム４０に当該命令のキャンセルを発行する（ステップ２０１）。そして、ウィンドウ制御プログラム２３は、自分の管理下でＭＤＩコンテナ２２内にウィンドウ「Ａ」を開く処理を実行する（ステップ２０２〜ステップ２０８）。
【００５９】
この状態で、仮想端末７２から同じ名前のウィンドウ「Ａ」を開く要求がオペレーティングシステム４０に発行されると、オペレーティングシステム４０は、ウィンドウ制御プログラム２３が管理する先の仮想端末７１内のウィンドウ「Ａ」を知らないので、新しくウィンドウ「Ａ」を開く命令を発生させ、ウィンドウ制御プログラム２３はこの命令を捕捉して、当該ウィンドウ制御プログラム２３の制御下で仮想端末７２内にウィンドウ「Ａ」を開く処理を行う（ステップ２０１〜ステップ２０８）。
【００６０】
このようなＭＤＩコンテナ２２およびウィンドウ制御プログラム２３がオペレーティングシステム４０とは独立にウィンドウを生成する処理を、図１０および図１１のフローチャートにて、より詳細に説明する。
【００６１】
すなわち、図１０のフローチャートのウィンドウ生成処理２００において、ウィンドウ管理機能４０ａに対するウィンドウ生成要求である“ＮｅｗＷｉｎｄｏｗ”イベントが発生すると、ウィンドウ制御プログラム２３は、この“ＮｅｗＷｉｎｄｏｗ”イベントをキャンセルし、当該ウィンドウの生成先のウィンドウを指定するターゲットフレーム名の取得と正規化を行う（ステップ２０１）。
【００６２】
ウィンドウ制御プログラム２３は、ターゲットフレームで指定されたウィンドウの名前が、随伴する自分自身のウィンドウ名と一致するか判別し（ステップ２０２）、一致しない場合には、仮想端末毎に管理された従属ウィンドウコレクション（仮想端末管理番号３１が共通するウィンドウプロパティ３０の集合）内を探索し（ステップ２０３）、指定されたウィンドウ名を持つウィンドウが既に存在するか判別し（ステップ２０４）、存在しない場合には、新規ウィンドウを生成し、そのウィンドウを持つＭＤＩコンテナ２２のウィンドウプロパティ３０に、ウィンドウ名と生成元ウィンドウへの参照（内部管理用親ウィンドウポインタ３４）をセットした後、生成したウィンドウに対してＮａｖｉｇａｔｅイベント（すなわち、ユニバーサル・リソース・ロケーター(ＵＲＬ： Uniform Resource Locator)によって識別されたリソースに、あるいはフル・パスによって識別されたファイルに遷移する要求）を発生させた後（ステップ２０５）、“ＢｅｆｏｒｅＮａｖｉｇａｔｅ２”イベント（異なるＵＲＬに遷移する場合に発生するイベント）を発生させる（ステップ２０８）。
【００６３】
一方、前記ステップ２０２で、指定された名前が一致した場合には、自分自身（自ウィンドウ）に対してＮａｖｉｇａｔｅイベントを発生させ（ステップ２０６）、“ＢｅｆｏｒｅＮａｖｉｇａｔｅ２”イベントを発生させる（ステップ２０８）。
【００６４】
また、前記ステップ２０４で、指定された名前を持つウィンドウがすでに存在している場合には、指定されたウィンドウにＮａｖｉｇａｔｅイベントを発生させ（ステップ２０７）、“ＢｅｆｏｒｅＮａｖｉｇａｔｅ２”イベントを発生させる（ステップ２０８）。
【００６５】
図１１に例示される“ＢｅｆｏｒｅＮａｖｉｇａｔｅ２”イベントを処理するナビゲート前処理３００では、まず、ＵＲＬで指定されたドキュメントオブジェクトが存在しているか判別し（ステップ３０１）、存在している場合には、自分のウィンドウにウィンドウ名があるか判別し（ステップ３０２）、ない場合にはウィンドウプロパティ３０から自分のウィンドウ名を取得しセットする（ステップ３０４）。
【００６６】
そして、ＭＤＩコンテナ２２に生成元への参照（内部管理用親ウィンドウポインタ３４）がセットされていながら、自分のウィンドウに親（window.opener）が無いか判別し（ステップ３０３）、無い場合には、ＭＤＩコンテナ２２から参照元を取得して自分の親（window.opener）を内部管理用親ウィンドウポインタ３４にセットする（ステップ３０５）。このステップ３０５の処理は、ウィンドウの親子の従属関係をオペレーティングシステム４０とは独立に、ウィンドウ制御プログラム２３が管理するために行われる。
【００６７】
これにより、図３のようにＭＤＩコンテナ（２２）に対応するウィンドウと、ウィンドウＡとウィンドウＢとが、順次親子関係となり、さらに仮想端末７１，７２内に同じ名前のウィンドウＡ及びウィンドウＢが表示される。
【００６８】
以上のようにして、シミュレータ２１のＭＤＩコンテナ２２に生成された複数の仮想端末７１や仮想端末７２を利用したステップ１０６の測定対象サーバ環境５０の負荷試験の後、シミュレータ２１にて試験中に記録された性能データ２６ａをアナライザ２６にて解析して、たとえば、単位時間当たりのトランザクションの処理数を示すスループット等の情報を表やグラフにしてディスプレイ１４に表示して、ユーザ８０による測定対象サーバ環境５０の性能評価作業等に供する（ステップ１０７）。
【００６９】
以上説明したように、本実施の形態によれば、ＭＤＩ方式によるアプリケーションプログラムの実行環境を提供するＭＤＩコンテナ２２上に複数の仮想端末を生成し、各仮想端末内でブラウザを立ち上げることで、主記憶１２のメモリ容量等の資源を浪費することなく、多数の仮想端末を生成することができる。
【００７０】
さらに、オペレーティングシステム４０によるウィンドウ管理とは独立に、ウィンドウ制御プログラム２３およびウィンドウプロパティ３０にてＭＤＩコンテナ２２内における各アプリケーションプログラムのウィンドウ生成を管理するので、オペレーティングシステム４０の管理レベルではウィンドウ名が重複して共存できないウィンドウであっても、ＭＤＩコンテナ２２の内部においては独立に表示でき、ＭＤＩコンテナ２２内の仮想端末にて、より実際の端末に近い端末エミュレーションを実現することができる。
【００７１】
この結果、ＭＤＩコンテナ２２内に複数の仮想端末を生成し、個々の仮想端末内でブラウザを起動して測定対象サーバ環境５０のＷＷＷサーバ５１等にアクセスして当該ＷＷＷサーバ５１の負荷試験を行う場合に、実際のブラウザの操作状態により近いエミュレーションにて、負荷試験を行うことが可能になり、負荷試験の信頼性が高くなる。
【００７２】
また、個々の仮想端末では、共通のネットワークインタフェース１６を介して、情報ネットワーク６０に接続されるので、情報ネットワーク６０上におけるＭＡＣアドレス等のアドレスの重複調査等の煩雑な準備作業を必要とすることなく、少ない資源にて低コストに、現実の使用環境を反映した信頼性の高い測定対象サーバ環境５０等のネットワーク装置の負荷試験を行うことが可能となる。
【００７３】
（付記１）
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、
第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、
前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能とを前記コンピュータに実現させる端末エミュレーションプログラム。
【００７４】
（付記２）
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能と、を前記コンピュータに実現させる端末エミュレーションプログラムが格納されたコンピュータ読み取り可能な記録媒体。
【００７５】
（付記３）
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上に複数の仮想端末を生成し、個々の前記仮想端末から情報ネットワークを経由して試験対象のネットワーク装置にアクセスすることで前記ネットワーク装置の負荷試験を行う負荷試験方法であって、
第１ウィンドウ内の複数の前記仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能と、を前記コンピュータに実現させる端末エミュレーションプログラムを準備する工程と、
前記端末エミュレーションプログラムを前記コンピュータに実行させ、複数の前記仮想端末から前記ネットワーク装置にアクセスして前記ネットワーク装置の負荷試験を行う工程と、
を含むことを特徴とする負荷試験方法。
【００７６】
（付記４）
試験に先立って、実際の物理端末による前記ネットワーク装置へのアクセス履歴情報を収集し、前記アクセス履歴情報を用いて複数の前記仮想端末による前記ネットワーク装置へのアクセスを行うことで、当該ネットワーク装置の負荷試験を行うことを特徴とする付記３記載の負荷試験方法。
【００７７】
（付記５）
前記ネットワーク装置に対する実際の端末からのアクセス経過を記録した操作ログを採取し、前記操作ログに基づいて複数の前記仮想端末の各々からの前記ネットワーク装置へのアクセスを制御して前記負荷試験を行うことを特徴とする付記３記載の負荷試験方法。
【００７８】
（付記６）
ウィンドウ管理機能を備えたオペレーティングシステムが実装され、情報ネットワークを介して試験対象のネットワーク装置に接続可能なコンピュータと、
第１ウィンドウ内の複数の仮想端末におけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能、および前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能を前記コンピュータに実現させる端末エミュレーションプログラムと、を含み、
前記端末エミュレーションプログラムを前記コンピュータに実行させて複数の前記仮想端末から前記ネットワーク装置にアクセスして前記ネットワーク装置の負荷試験を行うことを特徴とする負荷試験装置。
【００７９】
（付記７）
ウィンドウ管理機能を備えたオペレーティングシステムが実装されたコンピュータ上で動作する端末エミュレーションプログラムであって、
第１ウィンドウ内の複数の仮想コンピュータにおけるアプリケーションのＭＤＩ方式による実行環境を提供する第１機能と、
前記第１ウィンドウ内に生成される第２ウィンドウを、前記オペレーティングシステムとは独立に管理することで、前記第１ウィンドウ内において前記ウィンドウ管理機能では区別できない複数の前記第２ウィンドウの生成を可能にする第２機能とを前記コンピュータに実現させるプログラム。
【図面の簡単な説明】
【００８０】
【図１】複数の個別の端未上でユーザがブラウザを操作してＷＷＷサーバに対してリクエストを行う様子を表す概念図である。
【図２】１台の端末の中に仮想的な端末を複数用意することで、多数の端末、多数のユーザによるリクエスト発行をシミュレーションする場合の概念図である。
【図３】本発明の一実施の形態である端末エミュレーションプログラムによる仮想の生成およびウィンドウ管理の状態を例示する概念図である。
【図４】本発明の一実施の形態である端末エミュレーションプログラムを用いた負荷試験方法を実施する負荷試験実行クライアント環境におけるソフトウェア構成の一例を示す概念図である。
【図５】負荷試験実行クライアント環境のハードウェア構成の一例を示すブロック図である。
【図６】本発明の一実施の形態である端末エミュレーションプログラムにて用いられるウィンドウ管理情報の一例を示す概念図である。
【図７】本発明の一実施の形態である負荷試験システムの工程全体の一例を示すフローチャートである。
【図８】本発明の一実施の形態である負荷試験システムの工程全体の一例を示すフローチャートである。
【図９】本発明の一実施の形態である端末エミュレーションプログラムによるウィンドウ生成処理の一例を示すフローチャートである。
【図１０】本発明の一実施の形態である端末エミュレーションプログラムによるウィンドウ生成処理の一例を示すフローチャートである。
【図１１】本発明の一実施の形態である端末エミュレーションプログラムによるウィンドウ生成処理の一例を示すフローチャートである。
【符号の説明】
【００８１】
１０  負荷試験実行クライアント環境
１１  マイクロプロセッサ
１２  主記憶
１３  外部記憶装置
１４  ディスプレイ
１５  入力インタフェース
１６  ネットワークインタフェース
１７  バス
１８  記録媒体
１９  可搬媒体ドライブ
２０  負荷試験システム
２１  シミュレータ
２２  ＭＤＩコンテナ
２３  ウィンドウ制御プログラム
２４  トレーサ
２４ａ  操作ログ
２４ｂ  編集済操作ログ
２５  エディタ
２６  アナライザ
２６ａ  性能データ
３０  ウィンドウプロパティ
３１  仮想端末管理番号
３２  仮想端末内ウィンドウ管理番号
３３  内部管理用ウィンドウ名
３４  内部管理用親ウィンドウポインタ
４０  オペレーティングシステム
４０ａ  ウィンドウ管理機能
４０ｂ  名前テーブル
４１  インターネットアクセス機能
４１ａ  ＷＥＢブラウザ
５０  測定対象サーバ環境
５１  ＷＷＷサーバ
５２  アプリケーションサーバ
５３  データベースサーバ
５４  データベース
６０  情報ネットワーク
７１  仮想端末
７１ａ  端末ウィンドウ
７２  仮想端末
７２ａ  端末ウィンドウ
８０  ユーザ
Ａ，Ｂ  ウィンドウ
【図１】
2005284418.tif 000003
【図２】
2005284418.tif 000004
【図３】
2005284418.tif 000005
【図４】
2005284418.tif 000006
【図５】
2005284418.tif 000007
【図６】
2005284418.tif 000008
【図７】
2005284418.tif 000009
【図８】
2005284418.tif 000010
【図９】
2005284418.tif 000011
【図１０】
2005284418.tif 000012
【図１１】
2005284418.tif 000013