JP4805199B2 - シナリオ作成プログラム及びシナリオ作成装置 - Google Patents

シナリオ作成プログラム及びシナリオ作成装置 Download PDF

Info

Publication number
JP4805199B2
JP4805199B2 JP2007072454A JP2007072454A JP4805199B2 JP 4805199 B2 JP4805199 B2 JP 4805199B2 JP 2007072454 A JP2007072454 A JP 2007072454A JP 2007072454 A JP2007072454 A JP 2007072454A JP 4805199 B2 JP4805199 B2 JP 4805199B2
Authority
JP
Japan
Prior art keywords
request
web
scenario
virtual proxy
proxy server
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.)
Expired - Fee Related
Application number
JP2007072454A
Other languages
English (en)
Other versions
JP2008234279A (ja
Inventor
恒 小峰
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007072454A priority Critical patent/JP4805199B2/ja
Publication of JP2008234279A publication Critical patent/JP2008234279A/ja
Application granted granted Critical
Publication of JP4805199B2 publication Critical patent/JP4805199B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、負荷シミュレータが使用するシナリオを作成するためのシナリオ作成プログラム及びシナリオ作成装置に、関する。
周知のように、ウェブ負荷試験装置は、試験対象となるウェブサーバ装置にアクセス負荷を掛けてそのウェブサーバ装置の状態を観察するため、負荷シミュレータ、及び、ビューワを、含んでいる。このうち、負荷シミュレータは、仮想的にプロキシサーバとして機能するスレッドを複数生成し、それら複数の仮想プロキシサーバに対し、試験対象となるウェブサーバ装置内のウェブページデータをリクエストする順番を定義したシナリオを与えて、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせる機能である。負荷シミュレータは、各仮想プロキシサーバがそのウェブサーバ装置から受けたレスポンスメッセージそのものを保存したりレスポンスのログを録ったりする。ビューワは、ウェブ負荷試験で仮想プロキシサーバが取得したレスポンスメッセージ内のウェブページデータに基づいてウェブページを表示したり、レスポンスのログ情報を一覧表示したりするための機能である。
前述したシナリオは、ウェブ負荷試験を行う前に、操作者によって予め作成される。具体的には、操作者が、ウェブブラウザから仮想プロキシサーバを介して試験対象のウェブサーバ装置に実際にアクセスする。すると、仮想プロキシサーバが、ウェブサーバ装置へのアクセス履歴を保存するので、その保存されたアクセス履歴に基づいて、シナリオは作成される。シナリオ自体は、幾つかのリクエストメッセージからなるとともに、それらの送信順を定義したデータである。このシナリオを構成する各リクエストメッセージの中には、ゲットメソッド又はポストメソッドによりウェブサーバ装置に引き渡すべき引数を含むものもある。
しかしながら、それら引数は、シナリオを作成した時に適正なものであって、ウェブ負荷試験でウェブサーバ装置にアクセス負荷を掛ける際に適正なものとならない場合がある。例えば、仮想プロキシサーバは、セッションID[Identification]を含んだレスポンスメッセージをウェブサーバ装置から受信した場合、その後にウェブサーバ装置に送信されるリクエストメッセージは、本来ならば、そのセッションIDを含んだものとせねばならない。しかし、ウェブ負荷試験では、仮想プロキシサーバは、シナリオデータに従って、シナリオ作成当時のセッションIDを含むリクエストメッセージをそのままウェブサーバ装置に送信するようになっている。このため、ウェブサーバ装置は、そのリクエストメッセージに含まれるセッションIDに基づいてセッションエラーを検出し、その結果、ウェブ負荷試験が継続されなくなってしまう。
なお、特許文献1及び2には、シナリオ中で変化させるべきパラメータを入力パラメータとして事前に複数用意しておく技術は、記載されている。しかし、この技術では、ウェブサーバ装置へアクセスするごとに値が異なるセッションIDのようなパラメータについて、応用することができない。
特開2005−250945号公報 特開2005−332139号公報
本発明は、前述したような従来の事情に鑑みてなされたものであり、その課題は、ウェブ負荷試験で負荷シミュレータにより生成される仮想プロキシサーバがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオを作成できるようにすることにある。
上記の課題を解決するための案出されたシナリオ作成プログラムは、試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成プログラムであって、コンピュータを、ウェブブラウザが操作者からの指示に従って仮想プロキシサーバを介してウェブサーバ装置にHTMLデータをリクエストするたびに、そのリクエストに関するリクエスト情報をウェブブラウザから取得する第1の取得手段、その第1の取得手段が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときにウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第1の記憶手段、仮想プロキシサーバがウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第2の取得手段、その第2の取得手段が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第2の記憶手段、及び、シナリオテーブルに記録されたリクエストメッセージ内のURLと、ナビゲート管理テーブルに記録されたリクエスト情報内のURLとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け手段として機能させることを、特徴としている。
このように構成されると、コンピュータは、シナリオテーブルに記録しようとするリクエストメッセージが、ナビゲート管理テーブル内のリクエスト情報に含まれるURLの何れかに一致するURLを含んでいた場合に、そのリクエスト情報に対応付けられているリクエスト識別情報をそのリクエストメッセージに対応付けてシナリオテーブルに記録するよう、動作する。
仮想プロキシサーバは、ウェブ負荷試験において、以上のような動作により作成されたシナリオテーブル内のリクエストメッセージを、試験対象のウェブサーバ装置に送信する前に、そのリクエストメッセージ内にリクエストパラメータが含まれていたときには、ナビゲート管理テーブル内のレコードの中から、そのリクエストメッセージに対応付けられているリクエスト識別情報を含むレコードを特定し、その特定したレコード内のソース識別情報を読み出すことができる。続いて、仮想プロキシサーバは、シナリオテーブル内のレコードの中から、読み出したソース識別情報に一致するリクエスト情報を含むレコードを特定することができる。さらに、仮想プロキシサーバは、ウェブ負荷試験においてその時点までにウェブサーバ装置から受信した複数のレスポンスメッセージの中から、前述したようにして特定されたレコードのリクエストメッセージに対するレスポンスメッセージを特定し、そのレスポンスメッセージ内のレスポンスパラメータで、送信しようとするリクエストメッセージ内のリクエストパラメータを更新することができる。このように、本発明のシナリオ作成プログラムにより作成されたシナリオテーブルによれば、仮想プロキシサーバは、シナリオにおける送信しようとするリクエストパラメータを、ウェブ負荷試験中に受信した適切なレスポンスパラメータに置換できるようになる。
また、上記の課題を解決するために案出されたシナリオ作成装置は、試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成装置であって、ウェブブラウザが操作者からの指示に従って仮想プロキシサーバを介してウェブサーバ装置にHTMLデータをリクエストするたびに、そのリクエストに関するリクエスト情報をウェブブラウザから取得する第1の取得部、その第1の取得部が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときにウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第1の記憶部、仮想プロキシサーバが、ウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第2の取得部、その第2の取得部が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第2の記憶部、及び、シナリオテーブルに記録されたリクエストメッセージ内のURLと、ナビゲート管理テーブルに記録されたリクエスト情報内のURLとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け部を備えることを、特徴としている。
従って、このシナリオ作成装置は、前述した本発明のシナリオ作成プログラムが動作したコンピュータと同等に機能することとなる。
以上に説明したように、本発明によれば、ウェブ負荷試験で負荷シミュレータにより生成される仮想プロキシサーバがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオが、作成できるようになる。
以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。
図1は、本実施形態のコンピュータネットワークシステムの構成図である。
図1に示すように、本実施形態のコンピュータネットワークシステムは、ウェブ負荷試験の対象となるウェブサーバ装置10と、そのウェブ負荷試験のためにそのウェブサーバ装置10にアクセス負荷を掛けるウェブ負荷試験装置20とからなる。両装置10、20は、互いに通信自在となるよう、ネットワークNを介して接続されている。
ウェブサーバ装置10は、周知のウェブサーバ機能が付加された汎用コンピュータである。従って、このウェブサーバ装置10は、ストレージユニット10a、CPU[Central Processing Unit]10b、メモリユニット10c、及び、通信アダプタ10d等のハードウエアを、内蔵している。このうち、ストレージユニット10aは、各種のプログラム及び各種のデータを記憶するユニットである。CPU10bは、ストレージユニット内のプログラムに従って処理を行うユニットである。メモリユニット10cは、ストレージユニットから読み出されたプログラムがキャッシュされたりCPU10bの作業領域が展開されたりするユニットである。通信アダプタ10dは、ネットワークN上の他のコンピュータとの間でデータの遣り取りをするためのユニットである。
そして、ウェブサーバ装置10のストレージユニット10aは、基本ソフトウエア11、ウェブページデータ12、及び、ウェブサーバプログラム13を、記憶している。基本ソフトウエア11は、通信アダプタ10dにおけるデータの入出力の管理や、ストレージユニット10a及びメモリユニット10cの記憶領域の管理といった基本的な機能を多くのアプリケーションソフトウエアに提供するためのソフトウエアである。ウェブページデータ12は、ウェブページを表示するためのデータであり、HTML[HyperText Markup Language]データや、画像データである。このウェブページデータ12の中には、別のウェブページへ飛ぶためのリンクを表示する情報を内部に含んでいるウェブページデータ12が含まれていても良い。ウェブサーバプログラム13は、図示せぬウェブクライアント装置からの要求に応じてウェブページデータ12を送信するためのプログラムである。具体的には、このウェブサーバプログラム13(に従ったCPU10b)は、通信アダプタ10dを通じて図示せぬウェブクライアント装置から要求を受けると、要求されたウェブページデータ12をストレージユニット10aから読み出し、通信アダプタ10dを通じて要求元のウェブクライアント装置へ送信する。
ウェブ負荷試験装置20は、ウェブ負荷試験ツールが付加されたパーソナルコンピュータである。従って、このウェブ負荷試験装置20は、液晶ディスプレイ等の表示装置20aと、キーボードやマウス等の入力装置20bと、これら装置20a,20bに接続される本体とからなる。また、その本体は、ストレージユニット20c、CPU20d、メモリユニット20e、及び、通信アダプタ20f等のハードウエアを、内蔵している。
そして、ウェブ負荷試験装置20のストレージユニット20cは、基本ソフトウエア21、ウェブブラウザ22,及び、ウェブ負荷試験ツールソフトウエア23を記憶している。基本ソフトウエア21は、ウェブサーバ装置10の基本ソフトウエア11と同等の機能を発揮するソフトウエアである。ウェブブラウザ22は、操作者からの指示に従ってウェブサーバ装置10からウェブページデータ12を取得してウェブページを表示するためのプログラムである。より具体的には、ウェブブラウザ22(に従ったCPU20d)は、ウェブページ内のリンクボタンのクリックやウェブブラウザ画面へのURL[Uniform Resource Locator]の入力などの操作者からの指示、又は、ウェブページデータ12内に記述されたイメージタグやフレームタグなどによるウェブページデータ12の取得の指示があると、その指示においてURLで指定されたウェブページデータ12の送信を要求するリクエストメッセージをウェブサーバ装置10へ送信し、そのウェブサーバ装置10からレスポンスメッセージを受信して、そのレスポンスメッセージのボディ内のウェブページデータ12に基づいて、ウェブページを表示装置20aに表示する。
ウェブ負荷試験ツールソフトウエア23は、パーソナルコンピュータをウェブ負荷試験装置として機能させるためのプログラム及びデータである。このウェブ負荷試験ツールソフトウエア23は、シナリオ作成モジュール23a及び負荷シミュレータ23bを、含んでいる。
シナリオ作成モジュール23aは、ウェブ負荷試験のために負荷シミュレータ23bが生成する後述の仮想プロキシサーバに対して与えられるシナリオを作成するためのモジュールプログラムである。なお、このシナリオ作成モジュール23a自身も、後述の仮想プロキシサーバを生成する機能を、有している。シナリオは、詳しくは後述するが、簡単に説明すると、仮想プロキシサーバが試験対象となるウェブサーバ装置10内のウェブページデータ12をリクエストする順番を定義したものである。このシナリオ作成モジュール23aに従ってCPU20dが実行する処理の内容については、図3乃至図6を用いて後述する。
負荷シミュレータ23bは、試験対象となるウェブサーバ装置10にアクセス負荷を掛けるためのモジュールプログラムである。より具体的には、負荷シミュレータ23b(に従ったCPU20d)は、仮想的にプロキシサーバとして機能するスレッド(シナリオ取得時の仮想プロキシサーバとウェブサーバとの間の通信を再現するスレッド)を複数生成し、それら複数の仮想プロキシサーバにシナリオを与えることによって、それら仮想プロキシサーバに対し、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせる。また、負荷シミュレータ23bは、各仮想プロキシサーバがそのウェブサーバ装置10から受信したレスポンスメッセージそのものを保存したり、レスポンスのログを録ったりする。なお、本発明でいう仮想プロキシサーバは、シミュレーション実行時には、一般的に言われるプロキシサーバのようにウェブブラウザとウェブサーバとの通信を中継する処理を行うわけではないが、便宜上、仮想プロキシサーバと呼ぶことにする。仮想プロキシサーバが実行する処理の内容については、図8及び図9を用いて後述する。
ここで、シナリオ作成モジュール23aによる処理の内容を説明する前に、シナリオ作成モジュール23aとウェブブラウザ22と仮想プロキシサーバとの関係について説明する。
図2は、シナリオ作成時のウェブブラウザ22と仮想プロキシサーバ23cとウェブサーバ装置10との関係図である。
図2に示すように、仮想プロキシサーバ23cは、ウェブブラウザ22とウェブサーバ装置10との間でHTTP[HyperText Transfer Protocol]メッセージを中継する。より具体的には、仮想プロキシサーバ23cは、ウェブブラウザ22からウェブサーバ装置10宛のリクエストメッセージを受信すると、そのリクエストメッセージの内容をチェックし、必要に応じて加工した後、送信元に関する情報を仮想プロキシサーバ23cのものに書き換えて、ウェブサーバ装置10に送信する。また、仮想プロキシサーバ23cは、ウェブサーバ装置10からレスポンスメッセージを受信すると、そのレスポンスメッセージの内容をチェックし、必要に応じて加工した後、そのレスポンスメッセージを、ウェブブラウザ22に送信する。ここで、仮想プロキシサーバ23cは、ウェブサーバ装置10から受信したレスポンスメッセージのステータスコードが300番代であった場合には、ウェブブラウザ22にレスポンスメッセージを送信せず、ロケーションヘッダに記されたアドレス宛に再度リクエストメッセージを送信するようになっている。また、仮想プロキシサーバ23cは、ウェブサーバ装置10から受信したレスポンスメッセージのステータスコードが401番であった場合には、ウェブブラウザ22にそのレスポンスメッセージを送信し、ウェブブラウザ22からユーザ認証に係る情報を含んだリクエストメッセージを受信して、ウェブサーバ装置10にその情報を送信するようになっている。そして、仮想プロキシサーバ23cは、ウェブサーバ装置10へのリクエストメッセージの送信、及び、ウェブサーバ装置10からのレスポンスメッセージの受信を行うたびに、シナリオ作成モジュール23aへ、リクエストメッセージ及びレスポンスメッセージを引き渡すようになっている。
一方、ウェブブラウザ22は、図示せぬウェブブラウザ画面のURL入力欄にURLが入力されたり、ウェブページ上のリンクボタンがクリックされたり、ウェブページデータ12内に記述されたフレームタグやイメージタグによりウェブページデータ12の取得が指示されたりすることにより、リクエストメッセージを仮想プロキシサーバ23cに送信する。また、ウェブブラウザ22は、仮想プロキシサーバ23cからレスポンスメッセージを受信すると、そのレスポンスボディがHTMLデータや画像データであれば、図示せぬウェブブラウザ画面にウェブページや画像を表示する。ここで、ウェブブラウザ22が、インターネットエクスプローラ(マイクロソフト社商標)であれば、HTMLで記述されたウェブページデータ12のリクエストを行うごとにその旨をシナリオ作成モジュール23aに通知するコンポーネントプログラム(図示略)を、含んでいる。そのコンポーネントプログラム(図示略)は、HTMLデータ以外のウェブページデータ(例えば、画像データやスタイルシートデータ)をリクエストするときには、その種の通知を行わないようになっている。さらに、そのコンポーネントプログラム(図示略)は、HTMLデータ内に記述されているイメージタグに基づく画像データのような、ウェブページの表示を完了させるのに必要な全てのウェブページデータ12(HTMLデータを除く)を取得すると、その旨をシナリオ作成モジュール23aに通知するようにもなっている。なお、インターネットエクスプローラにおいては、HTMLデータとそれに付随するHTMLデータ以外のデータとを取得する一連の行為は、ナビゲートと称されている。本実施形態のウェブブラウザ22は、インターネットエクスプローラのように、ナビゲートが一つ行われるごとにそのナビゲートの開始通知及び終了通知を行うコンポーネントプログラムを、含んでいる。
以上のように構成されるコンピュータネットワークシステムにおいて、ウェブ負荷試験装置20のCPU20dは、ウェブ負荷試験を行おうとする操作者によって入力装置20bが操作されることにより、シナリオ作成モジュール23aの起動が指示されると、シナリオ作成モジュール23aをストレージユニット20cから読み出し、シナリオ作成モジュール23aの動作を開始させる。
図3乃至図5は、シナリオ作成モジュール23aによる処理の流れを示す図である。
シナリオ作成処理の開始後、最初のステップS101では、シナリオ作成モジュール23a(を実行したCPU20d)は、作業画面をウインドウ内に表示する。この作業画面は、シナリオ作成に関する操作を行うための画面であり、図示していないが、幾つかのボタンを含んでいる。この作業画面に含まれるボタンには、ウェブブラウザ22を利用したウェブサーバ装置10へのアクセスを開始する前にクリックすべき開始ボタンと、そのアクセスを終了した後でクリックすべき保存ボタンとが、含まれている。
次のステップS102では、シナリオ作成モジュール23aは、ステップS101で表示した図示せぬ作業画面内の開始ボタンのクリックによる作成開始指示があるまで、待機する。そして、作成開始指示があると、シナリオ作成モジュール23aは、ステップS103へ処理を進める。
ステップS103では、シナリオ作成モジュール23aは、仮想プロキシサーバ23cとして動作するスレッドを生成する(図2参照)。
次のステップS104では、シナリオ作成モジュール23aは、作業画面とは別のウインドウに、ウェブブラウザ22を起動する。このように別ウインドウで起動したウェブブラウザ22により、作業者は、作業画面を意識することなく、ウェブサーバ装置10が提供するウェブページをサーフィン(閲覧)することができる。
次のステップS105では、シナリオ作成モジュール23aは、二つのテーブルをメモリユニット20e上に新規生成する。ここで生成される二つのテーブルは、ウェブブラウザ22からナビゲート開始通知とともに引き渡されるリクエストヘッダの内容の一部を記憶するためのナビゲート管理テーブル、及び、仮想プロキシサーバ23cから引き渡されるリクエストヘッダを含むリクエストメッセージを記憶するためのアクセス管理テーブルである。
図6は、ナビゲート管理テーブル31のデータ構造の一例を示す図である。
図6に示すように、ナビゲート管理テーブル31の各レコードは、「ナビゲートID」、「ソースID」、「URL」、「リクエストヘッダ」及び「リクエストデータ」の各フィールドを、有している。「ナビゲートID」フィールドは、そのナビゲート(という一つの単位)を一意に特定するための識別情報であるナビゲートIDが記録されるフィールドである。なお、本実施形態では、このナビゲートIDは、ナビゲートの順番を特定する自然数の番号となっている。「ソースID」フィールドは、そのナビゲートによるウェブページを表示する直前に表示されていたウェブページについてのナビゲートIDがソースIDとして記録されるフィールドである。すなわち、そのナビゲートの動作元となった画面を記録している意味を持つ。なお、図6では、「ソースID」フィールドに「−1」が格納されているレコードが存在しているが、これは、そのレコードにて示されるナビゲートよりも前のナビゲートが存在していないこと(すなわち、そのナビゲートが第一回目であること)を示している。「URL」フィールドは、そのナビゲートに係る最初のリクエストで指定されたURL(すなわち、HTMLで記述されたウェブページデータ12のURL)が記録されるフィールドである。「リクエストヘッダ」フィールドは、そのナビゲートに係る最初のリクエストのリクエストヘッダが記録されるフィールドである。なお、このナビゲート管理テーブル31は、ウェブブラウザ22から引き渡されるデータを管理しているものであるため、このフィールドの中に格納されるリクエストヘッダのデータ内容は、ブラウザ情報であるUser-Agentとなる。「リクエストデータ」フィールドは、そのナビゲートに係る最初のリクエストのリクエストデータが記録されるフィールドである。なお、リクエストデータは、リクエストメッセージのボディに格納されるデータである。
図7は、アクセス管理テーブル32のデータ構造の一例を示す図である。
図7に示すように、アクセス管理テーブル32の各レコードは、「アクセスID」、「ナビゲートID」、「URL」、「リクエストヘッダ」及び「リクエストデータ」の各フィールドを、有している。「アクセスID」フィールドは、仮想プロキシサーバ23cがリクエストメッセージを送信してレスポンスメッセージを受信するまでの一連の行為を一つのアクセスと勘定する場合において、そのアクセスを一意に特定するための識別情報が記録されるフィールドである。なお、本実施形態では、このアクセスIDは、アクセスの順番を特定する自然数の番号となっている。「ナビゲートID」フィールドは、そのアクセスが、ウェブブラウザ22からの或るナビゲートに係る最初のリクエストに基づくものである場合に、そのナビゲートのナビゲートIDが記録されるフィールドである。但し、そのアクセスが、或るナビゲートに係る最初のリクエストに基づくものではない場合(例えば、301番のステータスコードに基づく別URLへのアクセスである場合)、「ナビゲートID」フィールドには、結びつくナビゲートIDが無いという意味で、後述するように「−1」が記録される。「URL」フィールドは、そのアクセスに係るリクエストで指定されたURLが記録されるフィールドである。なお、このフィールドに記録されるURLは、上記のナビゲートに係るURLと異なり、HTMLで記述されたウェブページデータ12ではないデータ12のURLである場合もある。「リクエストヘッダ」フィールドは、そのアクセスに係るリクエストのリクエストヘッダが記録されるフィールドである。例えば、User-Agentに関わるデータ以外に、ホストヘッダに関わるデータなどがこの「リクエストヘッダ」フィールドに格納されることになる。「リクエストデータ」フィールドは、そのアクセスに係るリクエストのリクエストデータが記録されるフィールドである。なお、ファイルアップロード処理時のアップロードデータの内容も、この「リクエストデータ」フィールドに格納されることになる。
シナリオ作成モジュール23aは、図6及び図7に示すようなテーブル31、32を作成した後、図3のステップS106へ処理を進める。但し、この時点では、これらテーブル31、32にはレコードが1つも記録されていない。すなわち、ステップS105では、新規のテーブル31、32が生成される。
ステップS106では、シナリオ作成モジュール23aは、ステップS101で表示された図示せぬ作業画面内の保存ボタンのクリックによる保存指示があったか否かを、判別する。そして、保存指示がなかった場合、シナリオ作成モジュール23aは、ステップS106からステップS107へ処理を分岐させる。
ステップS107では、シナリオ作成モジュール23aは、ウェブブラウザ22(を実行したCPU20d)からナビゲート開始通知があったか否かを、判別する。なお、このナビゲート開始通知は、前述したように、ウェブブラウザ22がナビゲート開始前(HTMLで記述されたウェブページデータ12のリクエスト前)に送信してくる通知である。そして、ウェブブラウザ22からナビゲート開始通知がなかった場合、シナリオ作成モジュール23aは、ステップS107から処理を分岐して、ステップS106へ処理を戻す。
そして、ステップS106及びS107の処理ループの実行中、ウェブブラウザ22からナビゲート開始通知があった場合、シナリオ作成モジュール23aは、ステップS107からステップS108へ処理を進める。
ステップS108では、シナリオ作成モジュール23aは、図6のナビゲート管理テーブル31で使われていない新規のナビゲートIDを、発行する。
次のステップS109では、シナリオ作成モジュール23aは、ウェブブラウザ22からナビゲート開始通知とともに受け取ったリクエストヘッダの一部(URLとユーザエージェント情報)を、ステップS108で発行されたナビゲートIDとともに、図6のナビゲート管理テーブル31に登録する。
従って、ステップS107を実行するシナリオ作成モジュール23a(CPU20d)は、前述した第1の取得手段に相当し、ステップS108及びS109を実行するシナリオ作成モジュール23a(CPU20d)は、前述した第1の記憶手段に相当している。
次のステップS110では、シナリオ作成モジュール23aは、ステップS109でナビゲート管理テーブル31に登録したURLを、処理対象として特定する。
次のステップS111では、シナリオ作成モジュール23aは、仮想プロキシサーバ23cからリクエストメッセージが引き渡されるまで、待機する。なお、このリクエストメッセージは、仮想プロキシサーバ23cからウェブサーバ装置10に送信されるメッセージである。そして、仮想プロキシサーバ23cからリクエストメッセージを受け取ると、シナリオ作成モジュール23aは、ステップS112へ処理を進める。
ステップS112では、シナリオ作成モジュール23aは、図7のアクセス管理テーブル32で使われていない新規のアクセスIDを、発行する。
次のステップS113では、シナリオ作成モジュール23aは、ステップS111で仮想プロキシサーバ23cから受け取ったリクエストメッセージ(URL、リクエストヘッダ及びリクエストデータ)を、ステップS112で発行されたアクセスIDとともに、図7のアクセス管理テーブル32に登録する。
従って、ステップS111を実行するシナリオ作成モジュール23a(CPU20d)は、前述した第2の取得手段に相当し、ステップS112及びS113を実行するシナリオ作成モジュール23a(CPU20d)は、前述した第2の記憶手段に相当している。
次のステップS114では、シナリオ作成モジュール23aは、ステップS111で仮想プロキシサーバ23cから受け取ったリクエストメッセージ内のURLと、ステップS110で処理対象として特定したURLとを、比較する。
次のステップS115では、シナリオ作成モジュール23aは、ステップS114での比較の結果、URL同士が一致するか否かを、判別する。URL同士が一致していなかった場合、シナリオ作成モジュール23aは、ステップS115からステップS116へ処理を分岐させる。
ステップS116では、シナリオ作成モジュール23aは、ステップS113で図7のアクセス管理テーブル32に登録したリクエストメッセージのレコードの「ナビゲートID」フィールドに、「−1」を記録する。
次のステップS117では、シナリオ作成モジュール23aは、仮想プロキシサーバ23cからレスポンスメッセージが引き渡されるまで、待機する。なお、このレスポンスメッセージは、ウェブサーバ装置10から仮想プロキシサーバ23cに送信されるメッセージである。そして、仮想プロキシサーバ23cからレスポンスメッセージを受け取ると、シナリオ作成モジュール23aは、ステップS123へ処理を進める。
一方、ステップS115において、ステップS114での比較の結果、URL同士が一致していた場合、シナリオ作成モジュール23aは、ステップS118へ処理を進める。
ステップS118では、シナリオ作成モジュール23aは、ステップS109で図6のナビゲート管理テーブル31に登録したナビゲートIDを、ステップS113で図7のアクセス管理テーブル32に登録したリクエストメッセージのレコードの「ナビゲートID」フィールドに、記録する。
従って、ステップS115及びS118を実行するシナリオ作成モジュール23a(CPU20d)は、前述した対応付け手段に相当している。
次のステップS119では、シナリオ作成モジュール23aは、ステップS113で図7のアクセス管理テーブル32に登録したリクエストメッセージのリクエストヘッダで、ステップS109で図6のナビゲート管理テーブル31に登録したリクエストヘッダを、更新する。また、シナリオ作成モジュール23aは、ステップS113で図7のアクセス管理テーブル32に登録したリクエストメッセージのリクエストデータを、ステップS109で図6のナビゲート管理テーブル31に登録したナビゲートIDのレコードの「リクエストデータ」に、記録する。
次のステップS120では、シナリオ作成モジュール23aは、仮想プロキシサーバ23cからレスポンスメッセージが引き渡されるまで、待機する。なお、このレスポンスメッセージは、ウェブサーバ装置10から仮想プロキシサーバ23cに送信されるメッセージである。そして、仮想プロキシサーバ23cからレスポンスメッセージを受け取ると、シナリオ作成モジュール23aは、ステップS121へ処理を進める。
ステップS121では、シナリオ作成モジュール23aは、ステップS120で仮想プロキシサーバ23cから受け取ったレスポンスメッセージのステータスコードが300番代及び401番のうちの何れかであるか否かを、判別する。そして、レスポンスメッセージのステータスコードが300番代及び401番のうちの何れでもなければ、シナリオ作成モジュール23aは、ステップS121からステップS123へ処理を分岐させる。一方、レスポンスメッセージのステータスコードが300番代及び401番のうちの何れかであった場合、シナリオ作成モジュール23aは、ステップS122へ処理を進める。
ステップS122では、シナリオ作成モジュール23aは、ステップS120で仮想プロキシサーバ23cから受け取ったレスポンスメッセージのロケーションヘッダの中のURLを、処理対象として特定する。その後、シナリオ作成モジュール23aは、ステップS123へ処理を進める。
ステップS123では、シナリオ作成モジュール23aは、ウェブブラウザ22からナビゲート終了通知があったか否かを、判別する。なお、このナビゲート終了通知は、前述したように、ウェブブラウザ22がナビゲート終了後(HTMLで記述されたウェブページデータ12とそれに付随するHTMLデータ以外のデータを全て取得した後)に送信してくる通知である。そして、ウェブブラウザ22からナビゲート終了通知がなかった場合、シナリオ作成モジュール23aは、ステップS123から処理を分岐して、ステップS111へ処理を戻す。
そして、ステップS111乃至S123の処理ループの実行中、ウェブブラウザ22からナビゲート終了通知があると、シナリオ作成モジュール23aは、ステップS123からステップS106へ処理を戻す。
そして、ステップS106及びS107の処理ループの実行中、ステップS101で表示された図示せぬ作業画面内の保存ボタンのクリックによる保存指示があった場合、シナリオ作成モジュール23aは、ステップS106からステップS124へ処理を進める。
ステップS124では、シナリオ作成モジュール23aは、図7のアクセス管理テーブル32を、シナリオテーブルとしてストレージユニット20cに保存する。また、シナリオ作成モジュール23aは、図6のナビゲート管理テーブル31も、ストレージユニット20cに保存し、このナビゲート管理テーブル31をシナリオテーブル32に関連付けておく。このようにして各テーブル31、32をストレージユニット20cに保存した後、シナリオ作成モジュール23aは、図3乃至図5に係る処理を終了する。
このようにCPU20dにより実行されるシナリオ作成モジュール23aによると、操作者は、図示せぬ作業画面上の開始ボタンをクリックして、ウェブブラウザ画面上でウェブページをサーフィン(閲覧)して、図示せぬ作業画面上の保存ボタンをクリックすれば、ナビゲート管理テーブル31とシナリオテーブル32とを作成することができる。
また、ウェブ負荷試験装置20のCPU20dは、作成したナビゲート管理テーブル31とシナリオテーブル32とを用いたウェブ負荷試験を行おうとする操作者によって入力装置20bが操作されることにより、負荷シミュレータ23bの起動が指示されると、負荷シミュレータ23bをストレージユニット20cから読み出し、負荷シミュレータ23bの動作を開始させる。
負荷シミュレータ23b(に従ったCPU20d)は、まず、操作者から、入力装置20bを通じて、ウェブ負荷試験に用いるシナリオテーブル32を指定する情報を、受け付け、そのシナリオテーブル32とそれに関連するナビゲート管理テーブル31とをストレージユニット20cから読み出す。続いて、負荷シミュレータ23bは、仮想的にプロキシサーバとして機能するスレッドを、メモリユニット20e上に複数生成し、それら複数の仮想プロキシサーバ23cに対し、読み出したシナリオテーブル32及びナビゲート管理テーブル31を引き渡す。仮想プロキシサーバ23cは、これらのテーブル31、32を受けて、ウェブサーバ装置10へのアクセスを開始する。
図8及び図9は、仮想プロキシサーバ23cによるシミュレーション実行時の処理の流れを示す図である。
処理開始後、仮想プロキシサーバ23c(に従ったCPU20d)は、第1の処理ループL1を実行する。第1の処理ループL1では、仮想プロキシサーバ23cは、負荷シミュレータ23bから引き渡されたシナリオテーブル32の全てのレコードについて、一つずつ、順に、ステップS201乃至S210からなる処理を、実行する。
ステップS201では、仮想プロキシサーバ23cは、処理対象レコードの「ナビゲーションID」フィールドの値を、変数nに代入する。
次のステップS202では、変数nの代入値が「1」であるか否かを、判別する。そして、変数nの代入値が「1」であった場合、仮想プロキシサーバ23cは、ステップS202からステップS209へ処理を分岐させる。一方、変数nの代入値が「2」以上又は「−1」であった場合、仮想プロキシサーバ23cは、ステップS203へ処理を進める。
ステップS203では、仮想プロキシサーバ23cは、変数nの代入値が「−1」であるか否かを、判別する。そして、変数nの代入値が「−1」であった場合、仮想プロキシサーバ23cは、ステップS203からステップS209へ処理を分岐させる。
ステップS209では、仮想プロキシサーバ23cは、処理対象レコードの「リクエストヘッダ」及び「リクエストデータ」の各フィールドの値から、リクエストメッセージを生成し、試験対象のウェブサーバ装置10へ送信する。その後、仮想プロキシサーバ23cは、ウェブサーバ装置10からレスポンスメッセージを受信すると、ステップS210へ処理を進める。
ステップS210では、仮想プロキシサーバ23cは、ステップS208でウェブサーバ装置10から受信したレスポンスメッセージを、それにアクセスIDを対応付けて、図示せぬワークテーブルに記録する。その後、仮想プロキシサーバ23cは、第1の処理ループL1におけるこの処理対象レコードに対する処理を終了する。
一方、ステップS203において、変数nの代入値が「2」以上であった場合、仮想プロキシサーバ23cは、ステップS204へ処理を進める。
ステップS204では、仮想プロキシサーバ23cは、図6のナビゲート管理テーブル31の中から、変数nの代入値と同じ値のナビゲートIDを持つレコードを、読み出す。
次のステップS205では、仮想プロキシサーバ23cは、ステップS204で読み出したレコードの「ソースID」フィールドの値を、変数mに代入する。
次のステップS206では、仮想プロキシサーバ23cは、図7のシナリオテーブル(アクセス管理テーブル)32の中から、変数mの代入値と同じ値を「ナビゲートID」フィールドに持つレコードを、読み出す。
次のステップS207では、仮想プロキシサーバ23cは、ステップS209でレスポンスメッセージが記録される図示せぬワークテーブルから、ステップS206で読み出したレコードの「アクセスID」フィールドの値と同じアクセスIDに対応付けられたレスポンスメッセージを、取得する。
次のステップS208では、仮想プロキシサーバ23cは、ステップS207で取得したレスポンスメッセージの中から、パラメータ(パラメータ名、パラメータ値)を特定し、処理対象レコードの「リクエストヘッダ」及び「リクエストデータ」の各フィールドの値に含まれるパラメータ(パラメータ名=パラメータ値)を、その特定したパラメータで更新する。その後、仮想プロキシサーバ23cは、ステップS209へ処理を進める。
仮想プロキシサーバ23cは、図7のシナリオテーブル32の全てのレコードについて、ステップS201乃至S210からなる処理を、実行し終えると、第1の処理ループL1から離脱し、図8及び図9に係る処理を終了する。
本実施形態のコンピュータネットワークシステムが、以上に説明したように構成されるため、以下のように動作する。例えば、仮想プロキシサーバ23cが、図7のシナリオテーブル32における「アクセスID」フィールドの値が「4」であるレコードに係るリクエストメッセージを、ウェブサーバ装置10に送信する場合、その送信の直前に、仮想プロキシサーバ23cは、そのレコードの「ナビゲートID」フィールドと同じ値「2」を「ナビゲートID」フィールドに持つレコードを、図6のナビゲート管理テーブル31から特定するとともに、更に、その特定したレコードの「ソースID」フィールドと同じ値「1」を「ナビゲートID」フィールドに持つレコードを、図7のシナリオテーブル32から特定する(ステップS204〜S206)。そして、仮想プロキシサーバ23cは、特定したレコードの「アクセスID」フィールドの値「1」と同じアクセスIDに対応するレスポンスメッセージを、そのリクエストメッセージの送信前に既に受信しているレスポンスメッセージの中から取得する(ステップS207)。そして、仮想プロキシサーバ23cは、取得したレスポンスメッセージ内のレスポンスパラメータで、ウェブサーバ装置10に送信しようとするリクエストメッセージのリクエストパラメータを更新し(ステップS208)、ウェブサーバ装置10へ送信する(ステップS209)。
このように、本実施形態のウェブ負荷試験装置20により生成されたシナリオテーブル32とナビゲート管理テーブル31とによれば、仮想プロキシサーバ23cは、図7のシナリオテーブル32においてアクセスIDが「4」であるレコードと「1」であるレコードとの間に幾つかレコードが存在していても、アクセスID「4」に対応するリクエストメッセージのリクエストパラメータに対して上書きすべきパラメータを含んでいるレスポンスメッセージを、的確に特定することができる。
また、例えば、シナリオ作成時にウェブブラウザ22からファイルアップロードがあった場合でも、ナビゲート管理テーブル31には、前述したように、ウェブブラウザ22から引き渡されるブラウザ情報のデータしか登録されないため、仮想プロキシサーバ23cがこのナビゲート管理テーブル31をそのままシナリオとして使用してしまうと、ファイルアップロードが正常に行われないこととなってしまう。しかし、本実施形態によれば、ナビゲート管理テーブル31において、ウェブブラウザ22から引き渡されたデータが、仮想プロキシサーバ23cから引き渡されるデータ(アップロードデータの内容を含んだデータ)と対応付けられるので(ステップS119)、ウェブブラウザ22から引き渡されるデータのみでは再現できないファイルアップロードのような処理も、シミュレーションとして再現することが可能になる。
従って、本実施形態のウェブ負荷試験装置20によれば、ウェブ負荷試験で負荷シミュレータ23bにより生成される仮想プロキシサーバ23cがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオが、作成できる。
本実施形態のコンピュータネットワークシステムの構成図 シナリオ作成時のウェブブラウザと仮想プロキシサーバとウェブサーバ装置との関係図 シナリオ作成モジュールによる処理の流れを示す図 シナリオ作成モジュールによる処理の流れを示す図 シナリオ作成モジュールによる処理の流れを示す図 ナビゲート管理テーブルのデータ構造の一例を示す図 アクセス管理テーブルのデータ構造の一例を示す図 仮想プロキシサーバによるシミュレーション実行時の処理の流れを示す図 仮想プロキシサーバによるシミュレーション実行時の処理の流れを示す図
符号の説明
10 ウェブサーバ装置
10a ストレージユニット
10b CPU
10c メモリユニット
12 ウェブページデータ
13 ウェブサーバプログラム
20 ウェブ負荷試験装置
20c ストレージユニット
20d CPU
20e メモリユニット
22 ウェブブラウザ
23 ウェブ負荷試験ツールソフトウエア
23a シナリオ作成モジュール
23b 負荷シミュレータ
23c 仮想プロキシサーバ
31 ナビゲート管理テーブル
32 アクセス管理テーブル(シナリオテーブル)

Claims (2)

  1. 試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成プログラムであって、
    コンピュータを、
    ウェブブラウザが操作者からの指示に従って前記仮想プロキシサーバを介して前記ウェブサーバ装置にHTMLデータをリクエストするたびに、そのリクエストに関するリクエスト情報を前記ウェブブラウザから取得する第1の取得手段、
    前記第1の取得手段が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときに前記ウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第1の記憶手段、
    前記仮想プロキシサーバが、前記ウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第2の取得手段、
    前記第2の取得手段が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第2の記憶手段、及び、
    前記シナリオテーブルに記録されたリクエストメッセージ内のURLと、前記ナビゲート管理テーブルに記録されたリクエスト情報内のURLとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、前記シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け手段
    として機能させる
    ことを特徴とするシナリオ作成プログラム。
  2. 試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想プロキシサーバに対して与えられるシナリオを作成するためのシナリオ作成装置であって、
    ウェブブラウザが操作者からの指示に従って前記仮想プロキシサーバを介して前記ウェブサーバ装置にHTMLデータをリクエストするたびに、そのリクエストに関するリクエスト情報を前記ウェブブラウザから取得する第1の取得部、
    前記第1の取得部が取得したリクエスト情報と、そのリクエストを一意に特定するリクエスト識別情報とを対応付けたレコードに対し、そのリクエストが指示されたときに前記ウェブブラウザに表示されたウェブページについてのリクエスト情報をソース識別情報として付加して、記憶装置内のナビゲート管理テーブルに記憶する第1の記憶部、
    前記仮想プロキシサーバが、前記ウェブサーバ装置にアクセスすると、そのアクセスに係るリクエストメッセージをその仮想プロキシサーバから取得する第2の取得部、
    前記第2の取得部が取得したリクエストメッセージと、そのアクセスを一意に特定するアクセス識別情報とを対応付けたレコードを、記憶装置内のシナリオテーブルに記憶する第2の記憶部、及び、
    前記シナリオテーブルに記録されたリクエストメッセージ内のURLと、前記ナビゲート管理テーブルに記録されたリクエスト情報内のURLとが一致する場合に、そのリクエスト情報に対応付けられているリクエスト識別情報を、前記シナリオテーブルにおけるそのリクエストメッセージのレコードに組み込む対応付け部
    を備えることを特徴とするシナリオ作成装置。
JP2007072454A 2007-03-20 2007-03-20 シナリオ作成プログラム及びシナリオ作成装置 Expired - Fee Related JP4805199B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007072454A JP4805199B2 (ja) 2007-03-20 2007-03-20 シナリオ作成プログラム及びシナリオ作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007072454A JP4805199B2 (ja) 2007-03-20 2007-03-20 シナリオ作成プログラム及びシナリオ作成装置

Publications (2)

Publication Number Publication Date
JP2008234279A JP2008234279A (ja) 2008-10-02
JP4805199B2 true JP4805199B2 (ja) 2011-11-02

Family

ID=39906978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007072454A Expired - Fee Related JP4805199B2 (ja) 2007-03-20 2007-03-20 シナリオ作成プログラム及びシナリオ作成装置

Country Status (1)

Country Link
JP (1) JP4805199B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5662307B2 (ja) * 2011-12-05 2015-01-28 日本電信電話株式会社 応答装置、応答方法およびプログラム
US11042465B1 (en) * 2020-09-02 2021-06-22 Coupang Corp. Systems and methods for analyzing application loading times

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3083805B2 (ja) * 1998-08-28 2000-09-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ブラウザ操作自動実行システムおよびその方法
AU1479101A (en) * 1999-11-12 2001-06-06 Bmc Software, Inc. A system and method for replaying a predefined path through the internet
JP2002007232A (ja) * 2000-06-21 2002-01-11 Cybird Co Ltd Wwwサーバーの性能試験方法およびサーバー試験装置
JP4087754B2 (ja) * 2003-06-13 2008-05-21 日本電信電話株式会社 ウェブリソース再編成によるウェブ利用学習支援方法、ウェブリソース再構成装置、およびプログラム
JP4170243B2 (ja) * 2004-03-05 2008-10-22 三菱電機株式会社 ウェブアプリケーション検査装置
JP2005332139A (ja) * 2004-05-19 2005-12-02 Fujitsu Ltd テストデータ作成支援プログラムおよびテストデータ作成支援方法

Also Published As

Publication number Publication date
JP2008234279A (ja) 2008-10-02

Similar Documents

Publication Publication Date Title
US6119247A (en) Remote debugging of internet applications
US7620682B1 (en) Communicating data using an HTTP client
US9268547B2 (en) Conditional logic for delivering computer-executable program instructions and content
JP4849929B2 (ja) シナリオ作成プログラム
EP2817697A2 (en) Graphical overlay related to data mining and analytics
US20130191814A1 (en) Test scenario generation method, test scenario generation system, and test scenario generation program
US20100138437A1 (en) User tracking for browser activities
US8924867B2 (en) Web interface for remote platform build
JP5936103B2 (ja) クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
US10506400B2 (en) Data download method and apparatus
JP2004530192A (ja) クッキーを利用して単一操作印刷オプションを提供するWebベースのイメージング・システム
US20100185930A1 (en) Method and apparatus for incorporating application functionality into a web page
JP2012064091A (ja) 情報処理システム、情報処理装置、及びプログラム
JP4805199B2 (ja) シナリオ作成プログラム及びシナリオ作成装置
JP5737249B2 (ja) 負荷シミュレーション装置、シミュレーション装置、負荷シミュレーション方法、シミュレーション方法及びプログラム
US7805524B2 (en) Display control apparatus, display control program and display control method
JP4807411B2 (ja) 別ドメインの情報を利用する方法、別ドメインの情報を利用するためのプログラム及び情報転送プログラム
JP2007079988A (ja) Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
JP5023531B2 (ja) 負荷シミュレータ
KR100732134B1 (ko) 테이블 표시 전환 방법, 텍스트 데이터 변환 프로그램 및 태그 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR100446209B1 (ko) 인터넷 상의 정보수집 시스템
JP5181503B2 (ja) シナリオ作成プログラム及びシナリオ作成装置
EP2824578A1 (en) Information processing device, method, and program
JP2011253423A (ja) 作業支援システム
JP5322972B2 (ja) ウェブ画面復元装置及びウェブ画面復元方法及びウェブ画面復元プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110810

R150 Certificate of patent or registration of utility model

Ref document number: 4805199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees