JP2012008853A - ウェブアプリケーションの操作再現方法およびシステム - Google Patents

ウェブアプリケーションの操作再現方法およびシステム Download PDF

Info

Publication number
JP2012008853A
JP2012008853A JP2010144998A JP2010144998A JP2012008853A JP 2012008853 A JP2012008853 A JP 2012008853A JP 2010144998 A JP2010144998 A JP 2010144998A JP 2010144998 A JP2010144998 A JP 2010144998A JP 2012008853 A JP2012008853 A JP 2012008853A
Authority
JP
Japan
Prior art keywords
web
log
document structure
difference
web page
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.)
Granted
Application number
JP2010144998A
Other languages
English (en)
Other versions
JP5325169B2 (ja
Inventor
Tomohiro Nakamura
友洋 中村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010144998A priority Critical patent/JP5325169B2/ja
Priority to PCT/JP2010/005386 priority patent/WO2011161735A1/ja
Priority to US13/806,606 priority patent/US20130097484A1/en
Publication of JP2012008853A publication Critical patent/JP2012008853A/ja
Application granted granted Critical
Publication of JP5325169B2 publication Critical patent/JP5325169B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】
クライアント側で動的に変化するコンテンツを含むウェブページの操作再現を精度良く、効率的で拡張性の高い方法で実現する。
【解決手段】
ウェブサーバ121は、ウェブページをウェブブラウザに送信する際に、クライアント101のウェブブラウザ上で動作する操作ログ取得機能224とウェブページの文書構造の変化を検出、保存する差分検出機能226を挿入して送信する。ウェブブラウザは、受信したウェブページに挿入された差分検出機能を実行して、ウェブページの文書構造を第1の文書構造として保存する。又、操作ログ取得機能を実行して、ウェブページ上での操作ログを生成、保存し、差分検出機能を実行して、ウェブページの文書構造と第1の文書構造とを比較し、差異があった場合にその差異を操作ログに関連付けて保存する。ログ連携サーバ141は、操作ログと関連付けて保存された差異を利用してウェブアプリケーションの操作の再現を行う。
【選択図】図2

Description

本発明は、ウェブアプリケーションの操作を記録し、再現する操作再現処理技術に関するものである。
近年、様々なサービスがウェブアプリケーションで実現され利用されている。これは、ウェブアプリケーションの利用において、利用者はウェブブラウザのみ用意すればよい利便性の高さが一つの理由として挙げられる。ウェブアプリケーションは、軽量スクリプト言語の普及や、低コストで機能の充実した開発環境の提供により、専門家やリソースが豊富な大企業でなくとも様々な機能を持った、表現力豊かなウェブアプリケーションを開発して、ウェブ上でのサービス提供ができるようになってきた。また、ユーザ参加型のウェブサービスも出現し、それにともないウェブ上のコンテンツが動的に変化するケースも多く見られるようになり、情報の即時性や、多様なソースからの情報が得られるため、ウェブサービスの利用シーンが広がりを見せている。
このような背景から、業務や社会生活において、ウェブアプリケーションが広く使われ、ウェブアプリケーションの使いやすさが業務効率やビジネスの成否に、大きく影響するようになってきた。そのため、ウェブアプリケーションを使ったサービスの提供者は、ウェブアプリケーションの使われ方に強い関心をもつようになった。
従来、ウェブアプリケーションは、個々の情報や作業に、それぞれ別のウェブページを割り当て、ウェブページの遷移によって、一連の情報提供や複数の作業からなる処理を実現してきた。そのため、ウェブアプリケーションを実行するウェブサーバへのアクセスログを解析することによって、ウェブページの遷移が分かり、ウェブアプリケーションの使われ方をある程度理解することができた。しかし、最近ではスクリプト言語などをウェブページに埋め込むなどの方法で、ウェブページ上の表示内容を動的に変化させ、1ページのウェブページで大量の情報を提供したり、複数の作業を可能とすることができるようになった。そのため、ウェブアプリケーションの使われ方は、より高度に、複雑になっている。ウェブページ単位での記録しか残らないウェブサーバのアクセスログでは、このような高度で、複雑なウェブアプリケーションの使われ方を十分に理解することができなくなっている。そこで、ウェブアプリケーションを、ウェブページの単位よりも細かく、ウェブページ上での操作の単位で記録、保存を行い、それを再生して確認する技術が求められている。
これに対して、従来技術としては、ビデオ撮影によりウェブアプリケーションの操作を撮影し、再生する方法が良く利用されてきた。しかしこの方法は、継続的かつ大量の記録・再生には向かないという問題があった。また、ウェブページを閲覧するウェブブラウザが動作しているクライアント装置上に、画面のキャプチャを行う動画キャプチャツールをインストールして記録・再生する方法も、再生に時間がかかる問題があった。動画キャプチャツールと類似の技術で、画面のキャプチャを行う代わりに、クライアント装置上での操作ログを記録するツールもあるが、動画キャプチャツールと同様に、クライアント装置へのインストール作業が必要で、インターネットなどの環境では導入しづらいという問題があった。さらに、軽量スクリプト言語を利用して、ウェブページ上の操作ログを記録することも可能であるが、動的にウェブページの文書構造が変化する場合には、操作の再現性を上げることが困難であった。
これに対して、特許文献1では、ウェブブラウザ画面上でフォームを操作することによってアクセス可能な動的なコンテンツに対するアクセス履歴を操作イベントと操作対象のオブジェクトのプロパティを組にして保存し、実際に操作イベントを実行して動的な変化を起こさせて再現する方法が開示されている。
また、特許文献2では、ウェブページでの操作者による入力操作手順をスクリプトファイルに記録し再生するイベント記録再生装置と、記録時と再生時のウェブページの差分抽出手段を持ち、差分抽出手段で抽出した差分とスクリプトファイルに基づき変更後のウェブページでも入力操作手順を再現して実行する方法が開示されている。
更に、特許文献3には、ユーザの操作に伴って動的に変化するようなコンテンツが端末に表示された場合にも、操作に伴って発生した通信時のパケットを収集しておき、それを元に当該端末の画面を再現する方法が開示されている。
特開2001−060179号公報 特開2004−287929号公報 特開2009−176124号公報
しかし、特許文献1では、実際に実行することで再現できない時間依存のコンテンツや,振込み処理など実際には実行することができない場合に対応できない問題がある。また、特許文献2の方法の目的は、サーバからロードされるドキュメントが変化した場合にも、変化した後のドキュメント上で記録した操作を実行することであり、操作を記録したときの状況を再現することではない。また、差分抽出がドキュメント単位での差分抽出であり、クライアント側で動的に変化する場合には操作の再現ができない問題がある。さらに、特許文献3では、画面の変化がクライアント側だけで起こる場合にはパケットが発生せず、画面の再現ができない問題がある。
以上に基づき、本発明が解決しようとする課題は、以下の通りである。
クライアント側で動的に変化するコンテンツを含むウェブページの操作再現を精度良く実現することがひとつの課題である。さらに、このような精度の良い操作再現を、動的に変化するコンテンツのログを保存するのに大量の保存領域を必要とするような、拡張性の低い方法ではなく、効率的で拡張性の高い方法で実現することも課題である。また、ウェブ操作の再現時に、極力実際に操作を実行せずに再現を行うことも課題である。
クライアント側で動的に変化するコンテンツを含むウェブページの操作の再現性向上を実現するには、これまでは大量の保存領域を使って操作毎にすべてのコンテンツのログを保存したり、実際に操作を実行して動的な変化を実際に起こさせたりする必要があった。このため、大量のリソースを利用するために多数・継続的に記録を残していくことが困難であったり、実際に実行を行うことにより生じる副作用、例えばサーバ側の状態に対して不必要な変更が加えられるなどの問題が生じていた。これらを解決することが課題である。
すなわち、本発明においては、動的に変化するウェブページ上での操作の再現性を高めた、ウェブアプリケーションの操作再現方法およびシステムを提供することを目的とする。
上記の目的を達成するため、本発明においては、ウェブサーバと、ウェブブラウザと、ウェブページ上の操作ログを保存するログ連携サーバと、それらを相互に結合するネットワークから構成されるシステムにおけるウェブアプリケーションの操作再現方法およびシステムであって、ウェブサーバは、生成したウェブページをウェブブラウザに送信する際に、ウェブブラウザ上で動作する操作ログ取得機能とウェブページの文書構造の変化を検出、保存する差分検出機能をウェブページに挿入して送信し、ウェブブラウザは、受信したウェブページに挿入された差分検出機能を実行して、ウェブページの文書構造を第1の文書構造として保存し、操作ログ取得機能を実行して、ウェブページ上での操作ログを生成、保存し、差分検出機能を実行して、ウェブページの文書構造を第1の文書構造と比較し、差異があった場合に当該差異を操作ログに関連付けて保存し、ログ連携サーバは、保存された操作ログと、関連付けて保存された差異を利用して操作の再現を行うウェブアプリケーションの操作再現方法およびシステムを提供する。
また、上記の目的を達成するため、本発明による好適な態様のウェブアプリケーションの操作再現方法およびシステムでは、ウェブアプリケーションが動作するウェブサーバにおいて、ウェブアプリケーションが生成したウェブページを要求したクライアント装置やユーザ、そのウェブページ固有の識別子を保存し、さらにウェブページに、ウェブブラウザ上での操作をクライアント装置上に操作ログとして保存し、外部からの要求の有無を判定して、要求に応じて保存した操作ログを送信する機能を挿入する。またウェブサーバ側に保存した識別子の一覧を表示して選択可能なインタフェースを設け、選択した識別子に関わる操作ログを持つクライアント装置が選択内容を判定可能とすることで、多数のユーザの操作ログから、選択的に操作ログを収集して再生することを実現する。動的に変化するコンテンツを含むウェブページに対しては、サーバ側で動的に変化する場合には、ウェブサーバにおいて、レスポンスに含まれるウェブページのコンテンツを、識別子と対応付けて保存しておき、操作の再生時に、保存してあるコンテンツを使うことで、ダイナミックコンテンツの正しい再生を実現する。
一方、クライアント装置側で動的に変化する場合には、ウェブブラウザ上での操作や、経過時間などに応じてウェブページの文書構造を確認し、サーバから送信されたウェブページの文書構造との差分を検出、操作ログと関連付けて保存する機能を持った差分検出機能をウェブページに挿入して保存する。また、このようにして保存されたウェブページ上での操作の再現は、操作の再生時に、操作に関連付けられて保存されているウェブページの文書構造の差分を、再現を行っているウェブページに反映させて操作の再現を行う。
更に、差分検出機能がウェブページの動的な変化を検出した際に、文書構造の差分を保存する代わりに、動的な変化があったことを示すフラグを操作と関連付けて保存し、そのようなウェブページ上での操作の再現時には、動的な変化がある操作の再生時に、その操作のみを実際に実行することで、操作の再現の精度を向上させる。
本発明により、動的に変化するウェブページ上での操作の再現を、大量のリソースを消費せずに精度良く実現することが可能となる。
各種の実施例が対象とするウェブアプリケーションを実行するシステム構成図である。 各種の実施例によるウェブアプリケーションの操作再現処理フローの図である。 第1の実施例に係る、操作記録の処理フロー図である。 第1の実施例に係る、ウェブページの文書構造の例を示す図である。 第1の実施例に係る、操作ログの例を示す図である。 第2の実施例に係る、操作記録の処理フロー図である。 第3の実施例に係る、操作記録の処理フロー図である。 第4の実施例に係る、操作記録の処理フロー図である。 第5の実施例に係る、操作記録の処理フロー図である。 第6の実施例に係る、操作記録の処理フロー図である。 第1の実施例に係る、操作再生の処理フロー図である。 第1の実施例に係る、操作再生のシーケンス図である。 第1の実施例に係る、操作再現対象のウェブページを選択するウェブページの例を示す図である。 第1の実施例に係る、操作再現対象の操作を選択するウェブページの例を示す図である。 第1の実施例に係る、操作再現と操作再現を制御するウェブページの例を示す図である。 第1の実施例の変形例に係る、操作再現と操作再現を制御するウェブページの例を示す図である。 第7の実施例が対象とするウェブアプリケーションを実行するシステム構成例を示す図である。 第7の実施例に係る、操作記録の処理フロー図である。
以下、本発明の種々の実施例を図面に従い説明する。本明細書において、サーバ装置、クライアント装置、外部再生装置、あるいは外部装置等、システム中の数々の装置が説明されるが、これらの装置は通常の計算機構成を備え、プロセッサなどの処理部、メモリやローカルディスクなどの記憶部、ディスプレイ、キーボードやマウスなどの入出力部、ネットワークインタフェースから構成される。各種のプログラムが処理部であるプロセッサ上で実行されるが、このプログラムが実行されている状態をモジュールと呼び、例えば、ウェブブラウザプログラムがプロセッサ上で実行されている場合、ウェブブラウザモジュールと呼ぶ。また、個々のプログラムは、コード、機能、機能モジュール等と称される場合がある。
第1の実施例によるウェブアプリケーションの操作記録・再生方法を図1から図5を使って説明する。図1は、各種の実施例が対象とするウェブアプリケーションを実行するシステムのハードウェア構成と、ソフトウェア構成の例を示すシステム構成図である。
図1において、システムのハードウェアは、クライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141、外部再生装置181と、これらの装置を接続するネットワーク161から構成される。なお、各装置のハードウェアは同一のハードウェアで実現されても、複数台で構成されてもよい。
クライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141、外部再生装置181は、すべてプロセッサ103、123、143、184、メモリ107、126、147、185、入出力部102、125、146、183、ネットワークインタフェース106、122、142、182をもち、相互に接続されている。クライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141は、さらにローカルディスク104、124、144をもつ。但し、一部の装置ではこれらの構成要素の一部が欠けてもよい。
クライアント装置101のメモリ107には、ウェブブラウザプログラム108、及びそれに付随したスクリプトエンジンプログラム109が格納されている。なお、これらのプログラムは、プロセッサ103に読み込まれて実行される。ウェブブラウザプログラム108は、ウェブページをリクエストしたり、リクエストしたウェブページのレスポンスを受信し、解釈して表示画面を生成する機能などを持つ。スクリプトエンジンプログラム109は、ウェブページのレスポンスに含まれるスクリプトコードを解釈してスクリプトコードに書かれている処理をプロセッサ103で実行する機能を持つ。
なお、このウェブブラウザプログラム108に付随したスクリプトエンジンプログラム109は、ウェブブラウザプログラム108に内在される場合もあるので、本明細書にあって、ウェブブラウザプログラムやウェブブラウザモジュールという場合、スクリプトエンジンプログラムやスクリプトエンジンモジュールが内在する場合と付随する場合の何れかの意味を持つ点留意されたい。
入出力部102には、キーボードやマウス、モニタなどが接続され、プログラムの実行や停止の指示を行ったり、プログラムの実行結果をモニタに表示するために利用される。プロセッサ103は、メモリ105からプログラムを読み込んで処理を実行する。ネットワークインタフェース106は、クライアント装置101の外部の装置との間で、ネットワーク161を介してウェブサーバ装置とのリクエスト、レスポンスの送受信や、操作ログの送受信を行う。
ウェブサーバ装置121のメモリ126には、ウェブサーバプログラム127、機能挿入プログラム128、識別子送信プログラム129、コンテンツ送信プログラム133が格納されている。これらのプログラムは、お互いに包含関係にあってもよく、例えば、識別子送信プログラム129がウェブサーバプログラム127に含まれていてもよい。ウェブサーバプログラム127には、ウェブアプリコード130が含まれる、もしくは併設される。機能挿入プログラム128には、操作ログ取得コード131とコンテンツ改変コード132、差分検出コード133が含まれる。これらのプログラムは、プロセッサ123に読み込まれて実行される。
ウェブサーバプログラム128は、クライアント装置101などの外部の装置からのリクエストに応じてウェブページのレスポンスを生成して返信する機能を持つ。機能挿入プログラム128はウェブページのレスポンスに対して、レスポンスに含まれるコンテンツの追加や修正を行う機能を持つ。
識別子送信プログラム129は、ウェブサーバプログラム127で生成したウェブページに関連する識別子を生成もしくは取得して、外部の装置に送信する機能を持つ。ウェブページに関連する識別子としては、ウェブページのリクエスト毎にユニークな値をもつIDや、ウェブページのリクエスト元を特定できるようなIDなどが挙げられる。
コンテンツ送信プログラム134は、ウェブサーバプログラム127で生成したウェブページのコンテンツを外部の装置に送信する機能を持つ。ウェブサーバプログラム127も、ウェブページのコンテンツをリクエスト元のクライアント装置に送信する機能を持つが、コンテンツ送信プログラム134では、ログ連携サーバ装置141や、外部再生装置181などのリクエスト元以外の外部の装置にもコンテンツを送信でき、その際にそのウェブページに関連した識別子と関連付けて送信を行う。
入出力部125、プロセッサ123、ネットワークインタフェース122は、クライアント装置101にある同名の装置と同じ機能を持つ。ローカルディスク124には、ウェブページの全体や一部などが保管されている。
ログ連携サーバ装置141のメモリ147には、ログ連携サーバプログラム148、操作再生プログラム149が格納されている。これらのプログラムは、プロセッサ143に読み込まれて実行される。
ログ連携サーバプログラム148は、クライアント装置101やウェブサーバ装置121などから送信されたウェブページやウェブページのリクエスト元などを特定する識別子や操作ログなどのデータを受信し、それらをローカルディスク144のログ保存領域145に格納したり、ログ保存領域145やメモリ147上にあるそれらのデータを読み出して、一覧表示をしたり、特定の識別子や操作ログなどを選択させて、外部の装置に送信したりする。さらに、外部の装置に、特定の識別子に関連する操作ログを送信させたりする。操作再生プログラム149は、外部再生装置181からの要求に応じて、外部再生装置上でウェブページのコンテンツと操作ログから、ウェブページ上での操作の再生を行わせる機能を提供する。ローカルディスク144には識別子や操作ログを保存する操作ログ保存領域145がある。
入出力部146、プロセッサ143、ネットワークインタフェース142は、ウェブサーバ装置121にある同名の装置と同じ機能を持つ。
外部再生装置181のメモリ185には、表示プログラム186が格納されている。表示プログラム186は、プロセッサ184に読み込まれて実行される。
表示プログラム186は、クライアント装置101のウェブブラウザプログラム108、スクリプトエンジンプログラム109と同様に、ウェブページの表示を行う。ただし、ログ連携サーバ装置141の操作再生プログラム149により、操作ログと連携して、ウェブページ上での操作を再生したり、再生を一時的に停止したりする。入出力部183、プロセッサ184、ネットワークインタフェース182は、ウェブサーバ装置121にある同名の装置と同じ機能を持つ。
図2により、本システム構成における、ウェブアプリケーションの操作再現処理フローを説明する。
図1で説明したように、クライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141がネットワーク161で接続されたシステムで、クライアント装置101からウェブページのリクエストを送信し、ウェブサーバ装置121がリクエストされたウェブページのレスポンスを生成して返信し、クライアント装置101でウェブページの表示や、スクリプトコードの実行が行われ、ログ連携サーバ装置141には、ウェブページに関連する識別子や、ウェブページのコンテンツ、ウェブページ上での操作ログなどが蓄積される。また、ログ連携サーバ装置141と、クライアント装置101の間で、操作ログの送受信や、ログ操作の制御を実現するための問い合わせと制御内容を伝達するコマンドのやり取りも行われる。外部再生装置181は、ログ連携サーバ装置141からウェブページのコンテンツと、操作ログを受信してウェブページ上での操作の再生を行う。
以下、一連の処理を順に説明する。なお、図2以降の図においては、プログラムがプロセッサ上で実行されている状態をモジュールと呼び、例えば、ウェブブラウザプログラムがプロセッサ上で実行されている場合、ウェブブラウザモジュールと呼ぶ。
最初に、図2において、クライアント装置101のウェブブラウザモジュール211がウェブページのリクエストを、ネットワーク161を経由して、ウェブサーバ装置121に送信する。リクエスト201には、少なくともウェブページの存在する場所を指定するURI(Uniform Resource Identifiers)が含まれる。ウェブサーバ装置121では、ウェブサーバモジュール221がリクエストを受信し、ウェブアプリコード130に従った処理を行うウェブアプリケーション222が要求されたウェブページのレスポンス202を生成する。
レスポンス202は、ウェブサーバ装置121に含まれる機能挿入モジュール223を経由してクライアント装置101のウェブブラウザモジュール211に送信される。機能挿入モジュール223の操作ログ取得機能モジュール224は、クライアント装置101に含まれ、ウェブブラウザモジュール211に付随するスクリプトエンジンモジュール212上で実行されるスクリプトコード206の形態で、ウェブブラウザモジュール211上での操作ログを取得する機能をレスポンス202に挿入する。コンテンツ改変機能モジュール225は、レスポンス202に含まれるコンテンツの一部を変更する機能を持ち、レスポンスに関連する識別子をコンテンツに挿入したりする。差分検出機能モジュール226は、クライアント装置101に含まれるスクリプトエンジンモジュール212上で実行されるスクリプトコード206の形態で、ウェブブラウザモジュール211上で画面表示や機能を提供するドキュメントの動的な変化を検出し、記録、保存する機能をレスポンス202に挿入する。
ウェブサーバ装置121では、さらに識別子送信モジュール227がウェブページのレスポンス202に関連した識別子204を生成もしくは取得してログ連携サーバ装置141に送信する。また、コンテンツ送信モジュール228が、レスポンス202に含まれるウェブページのコンテンツ205をログ連携サーバ装置141に送信する。これらの動作は、順次行っても、同時並行的に行ってもよい。
クライアント装置101では、ウェブブラウザモジュール211でレスポンス203に含まれるコンテンツが表示され、操作に応じて次のリクエストを送信したり、コンテンツに含まれるスクリプトコード206をスクリプトエンジンモジュール212で実行したりする。前記の操作ログ取得機能モジュール224で挿入されたスクリプトコードもスクリプトエンジンモジュール212で実行され、ウェブブラウザモジュール211上での操作ログを生成する。生成された操作ログは、クライアント装置101のメモリ107上やローカルディスク104上に識別子と共に保存される。操作ログ取得機能モジュール224には、ウェブブラウザモジュール211を介して、ログ連携サーバ装置141に対して、操作ログの送信要求や、ログ操作要求の有無を問い合わせる機能が含まれる。この問い合わせに対して、コマンド208が返された場合、コマンド208に応じて、メモリ107上やローカルディスク104上に保存されている操作ログをログ連携サーバ装置141に送信したり、操作ログを削除したりする。コマンド208には、これらのログ送信やログ削除以外の処理も含まれる。
ログ連携サーバ装置141では、ログ連携サーバモジュール231が、ウェブサーバ装置121から識別子204とコンテンツ205を受信し、ログ保存領域145に保存する。また、保存されている識別子204の一覧データを外部再生装置181などに表示して、選択された識別子に関連するウェブページの操作ログをクライアント装置から送信させるコマンドを生成し、クライアント装置101からのログ問合せ207に対して、ログ送信のコマンド208を送信して、操作ログ209をクライアント装置から受信し、ログ保存領域145に保存する。前記の通り、コマンド208には、ログ送信以外の処理を実行させるものも含まれる。操作再生モジュール232は、外部再生装置181に対して、ログ連携サーバ装置141のログ保存領域145に保存されているウェブページのコンテンツや操作ログ、操作ログに関連付けられた文書構造を送信して、外部再生装置181上で、ウェブページ上に操作ログに応じた操作状態を表示させる機能を持つ。
外部再生装置181では、表示モジュール241が、ログ連携サーバ装置141と通信を行い、ログ連携サーバ装置141に保存されている識別子の一覧を表示して、入出力部183からの入力により、特定の識別子を選択して、ログ連携サーバ装置141に通知したり、ログ連携サーバ装置141の操作再生モジュール232を介して、ウェブページ上の操作状態を表示したり、その表示状態を入出力部183からの指示に応じて変更したりする。図2では、外部再生装置181とログ連携サーバ装置141が直接接続されているが、ネットワーク161を介して接続されていてもよく、また、ウェブページのコンテンツや操作ログ、操作ログに関連付けられた文書構造などをウェブサーバ装置121などの他の装置から受信してもよい。
次に上述のシステム構成とウェブアプリケーションの操作再現を前提とし、実施例1におけるウェブアプリケーションの操作再現方法の処理フローを図3〜図5と図11〜図16を使って説明する。
図3は、操作記録の処理フローを示し、図11は、操作再生の処理フローを示す。図3と図11に示した処理フローは、順次切り替えて実施されても、同時並行的に実施されてもよい。
図3に示すように、まずクライアント装置のウェブブラウザモジュールがウェブアプリケーションへのリクエストをウェブサーバ装置に送信する(ステップ303)。ウェブサーバ装置は、ウェブサーバモジュールがクライアント装置からリクエストを受信してウェブアプリケーションのレスポンスを生成する(ステップ323)。そして、識別子送信モジュールがレスポンス生成毎に識別子をログ連携サーバ装置に送信する(ステップ324)。識別子は、レスポンス毎にユニークな値であり、そのレスポンスのウェブページのコンテンツや、そのウェブページ上で行われた操作の操作ログ、その操作ログに関連付けられた文書構造などを特定するのに利用される。
続いて、コンテンツ送信モジュールがログ連携サーバ装置にレスポンスのコンテンツを送信する(ステップ325)。さらに、機能挿入モジュールが操作ログ取得機能と差分検出機能、識別子を挿入し、コンテンツを改変する(ステップ326)。ステップ324〜326に関しては、図3に示した順序に限らず、逆順や、同時並行的に実行しても良い。最後にウェブサーバ装置からクライアント装置に対してレスポンスを送信する(ステップ327)。ステップ323〜327の一連の処理は、本実施例によるウェブサーバ装置がウェブページの生成を行う処理のフローであり、以下ではまとめてステップ322と呼ぶ。ウェブサーバ装置は、クライアント装置からのリクエストが終了したり、ウェブサーバ装置が終了されると処理を終了する(ステップ328、329)。
続いて、クライアント装置がウェブサーバ装置からレスポンスを受信する(ステップ304)。クライアント装置におけるステップ303、304の一連の処理は、クライアント装置におけるウェブページの表示を行う処理のフローであり、以下ではまとめてステップ302と呼ぶ。
図3の処理フローにおいて、ログ連携サーバ装置は、ウェブサーバ装置から識別子が送信されてきたかを判定し(ステップ343)、送信があった場合には、識別子とコンテンツを受信して保存する(ステップ344,345)。以下では、これらのウェブサーバ装置との通信処理をまとめてステップ342と呼ぶ。続いて、ログ連携サーバ装置では、保存されている識別子のリストを生成して、外部装置にリストを表示し、外部装置から指定された識別子に関連するウェブページ上での操作ログを送信させるコマンドの準備を行う(ステップ347)。
このコマンドを利用した操作ログの受信は以下の処理フローで行われる。まず、ステップ302を終えて、ウェブページの表示が完了したクライアント装置では、差分検出機能により、ウェブページの表示や機能の提供に利用されたレスポンスに含まれる文書構造がメモリ上もしくはローカルディスク上に一時保存される(ステップ306)。次に、レスポンスに含まれている操作ログ取得機能により、ウェブブラウザ上で行われた操作の操作ログが生成されメモリ上もしくはローカルディスクに保存される(ステップ307)。操作ログが生成される際に、現在の文書構造と、ステップ306で一時保存された文書構造との比較を行う(ステップ308)。比較の結果、文書構造に違い、差異がある場合は、ステップ307で保存された操作ログと関連付けて、現在の文書構造をメモリ上もしくはローカルディスク上に保存する(ステップ309)。ステップ308での比較の結果、文書構造に差異が無ければ、ステップ309は実行されない。
続いて、操作ログ取得機能は、ログ連携サーバ装置に、ログ送信要求の有無を問い合わせる(ステップ310)。この際、クライアント装置や、表示しているウェブページが特定できる識別子をログ連携サーバ装置に送信する。ログ連携サーバ装置は、クライアント装置からのログ送信要求有無の問い合わせを受けると、その問い合わせが、ステップ347で準備したコマンドを送信すべき対象からの問い合わせかを判定し(ステップ328)、該当する場合には、ステップ347で準備したコマンドをクライアント装置に送信する(ステップ349)。クライアント装置は、コマンドを受信すると、ログ連携サーバ装置へコマンドにて指定された操作ログや操作ログに関連付けられた文書構造を送信する(ステップ311)。ログ連携サーバ装置は、クライアント装置からログの送信があると(ステップ350)、受信して保存する(ステップ351)。これら一連の操作ログの受信処理のフローを、以下ではまとめてログ連携サーバ装置側での処理フローをステップ346、クライアント装置側の処理フローをステップ305と呼ぶ。
なお、ステップ348での判定処理は、クライアント装置から受信した識別子と、ステップ347で指定された識別子が一致しなくても、該当する問い合わせがあったと判定してステップ349が実施される場合がある。例えば、ログ連携サーバ装置が保存している識別子に、操作をしたユーザを特定可能なユーザの識別子があり、クライアント装置から送られてきた識別子にはユーザの識別子は含まれていないものの、ウェブページのリクエスト毎にユニークな値をもつリクエストの識別子が含まれており、ログ連携サーバ装置が保存している識別子のリストから、前記リクエストの識別子に関連して、そのリクエストを送信したユーザの識別子がある場合、同じユーザからの問い合わせであり、ステップ347で指定された識別子に関連した操作ログを問い合わせ元は持っていると判定して、コマンドを送信する。
このように、ログ連携サーバ装置において、識別子のリストを管理することで、過去に表示され、操作されたウェブページのコンテンツや操作ログをログ連携サーバ装置が取得することができる。なお、ステップ348の判定処理を省略して、クライアント装置からのログ送信要求有無の問い合わせに対して常にコマンドを送信し、クライアント装置側で、保存されている操作ログや操作ログに関連付けられた文書構造で、コマンドの対象に該当する操作ログや操作ログに関連付けられた文書構造があるかないかを判定して、操作ログや操作ログに関連付けられた文書構造をログ連携サーバ装置に送信する方法でも良い。
最後に、クライアント装置では、ページ遷移があればステップ302に、なければ、操作が終了もしくはクライアント装置が終了しなければステップ305に戻り、それ以外は処理を終了する(ステップ313)。
ログ連携サーバ装置も、ログ記録が終了しなければステップ342に戻り、それ以外は処理を終了する(ステップ353)。
なお、識別子の管理や、操作ログや操作ログに関連付けられた文書構造などの送信要求、送受信を行う方法は、以上で説明したログ連携サーバ装置による方法に限定されず、他の方法で実施されても良い。
次に、図4を用いて、操作ログと関連付けられて記録される文書構造について説明する。ウェブブラウザ401上にウェブページを表示し、機能が提供されている例が図4の上段に示されている。この例では、メッセージ「本文・・・」がパラグラフ402上に表示されており、インプット404としてボタン1が提供されている。この例では、ボタン1は、押下されるとパラグラフ上にメッセージ「ボタンが押されました」403が表示される機能を提供している。つまり、ボタン1のクリック操作によって、クライアント側で動的にウェブブラウザ401上の表示が変化する。
図4の下段には、このウェブページの文書構造410が示されている。ウェブページを構成する要素は、ツリー状に階層化されており、図4の例では、DOCUMENT要素をトップに、その下にHTML、さらにその下にHEAD,BODYと続く。HEADの下にはTITLEとMETAがあり、ウェブブラウザのタイトルバー405にTITLEのテキスト要素である「ウェブブラウザ」という文字列が表示されている。METAには、属性値“charset=utf−8”があり、ウェブページの文字コードがこれに従って設定されている。パラグラフ402に表示されているメッセージは、BODYの下にあるパラグラフのテキスト要素413となる。また、ボタン1は、BODYの下のFORMの下のINPUTで文書構造としては表現される。図4の例では、ボタン1の押下によって、パラグラフのテキスト要素413が変化し、「本文・・・ ボタンが押されました」となる。図3で説明した処理フローにおいては、このような文書構造の相違を検出して、保存していくことで、クライアント側で動的に変化する状況を記録している。図4は文書構造の一例を示したに過ぎず、これ以外の方法で表現されていても良い。
図5は操作ログの例を示した図である。操作ログには、時刻やクライアントID、ユーザID、ページID,セッションID、操作内容、操作対象、属性値などが含まれる。この中で操作対象は、図4で説明した文書構造により記録されている。例えば、図4のボタン404を押下した時の操作ログは、図5の操作ログの例のインデックス3で示されるように、HTML[0].FORM[0].INPUT[0]と記録される。これは0番目のHTMLの下の0番目のFORMの下の0番目のINPUTでクリック操作が行われたことを表現している。
次に、図11を用いて、ウェブアプリケーションの操作再生処理のフローについて説明する。まず、外部再生装置が、操作再生対象を選択するために、ログ連携サーバ装置に識別子リストの送信を要求する(ステップ1143)。ログ連携サーバ装置は、外部再生装置からの識別子リストの送信要求を受けると、保存されている識別子のリストを生成して送信する(ステップ1102)。外部再生装置は、識別子リストを受信してそれを表示する(ステップ1144)。ステップ1143と1144は、以下ではまとめてステップ1142と呼ぶ。次に、外部再生装置で、操作の再生を行う部分を識別子のリストから選択して、ログ連携サーバ装置に送信する(ステップ1145)。識別子に含まれる情報によって選択方法は変わるが、例えば、特定のユーザの操作を選択的に再生対象としたり、特定のウェブページ上での操作を選択的に再生対象としたりすることができる。ログ連携サーバ装置は、外部再生装置からログやコンテンツの送信要求を受けると(ステップ1105)、ログ保存領域から、指定された識別子に街頭する操作ログや操作ログに関連付けられた文書構造、コンテンツを読み出し(ステップ1107)、それらを外部再生装置に送信する(ステップ1108)。
続いて操作再生モジュールが、外部再生装置に操作再生スクリプトなどのウェブページ上で操作状態を再生する機能を送信する(ステップ1109)。以下では、ステップ1107〜1109をまとめてステップ1106と呼ぶ。ログ連携サーバ装置は、操作再生が終了するまで、これらの処理を繰り返す。外部再生装置では、ログ連携サーバ装置から操作ログや操作ログに関連付けられた文書構造、コンテンツ、操作再生スクリプトなどを受信し(ステップ1147、1148)、操作再生スクリプトを利用して受信した操作ログと操作ログに関連付けられた文書構造、コンテンツからウェブページ上での操作状態を再生する(ステップ1149)。操作状態の再生は、コンテンツを表示し、その上に操作ログに従って操作を実行もしくは操作内容を表示していくことで実現する。その操作ログに記録された操作を実行する際に、コンテンツの文書構造を、操作ログに関連付けられて記録されている文書構造に従って更新もしくは置き換えることで、クライアント側で動的に変化するウェブページの状態を再生する。以下では、ステップ1147〜1149をまとめてステップ1146と呼ぶ。操作の再生が終わるまでこれらの処理を繰り返す。
以上、図3〜図5と図11に示した処理により、ウェブページ上での操作の再現が実現できる。これらの処理は、クライアント装置のウェブブラウザプログラムとそれに内在、或いは付随したスクリプトエンジンプログラム以外に特別なプログラムを導入する必要がなく、識別子による選択で、再生したい操作の部分のログやコンテンツを選択的に収集して、再生でき、クライアント側で動的に変化するウェブページの状態を、文書構造の変化を記録し、それに基づいて再生を行うことで、操作の再現性を向上できる。
図12は、図3、図11で説明した処理フローのシーケンス1201を示す図である。ウェブページのリクエスト、レスポンスの生成・送受信・表示、操作ログ、文書構造の記録・再生の処理については、図3、図11を使った説明の通りである。ここでは、識別子として設定する候補となるIDと、その他の説明していない事項についてのみ述べる。
識別子の候補としては、クライアントID、ページID,コンテンツID,リクエスト元ページID,セッションID, ユーザIDなどが挙げられる。
クライアントIDとは、ウェブページへのリクエストを出したクライアント装置を特定可能な識別子で、具体的には、クライアント装置のネットワークアドレスや、マシン名、ウェブブラウザのプロセス番号や、それらと関連するハッシュ値などが例として挙げられる。クライアントIDは、クライアント装置で生成・取得可能なので、リクエストにつけてウェブサーバ装置に送信することができる。
ページIDとは、ウェブサーバ装置で生成したウェブページ毎にユニークな識別子である。具体的には、ウェブサーバ装置が、ページのURLや、生成時刻、ウェブサーバ装置のネットワークアドレスなどを組み合わせて作った値などが例として挙げられる。ページIDは、同一のURLであっても、別のリクエストで生成されたウェブページの場合には、別のページIDであることが望ましい。
リクエスト元ページIDとは、ウェブページ上で、リンクやボタンによって次のウェブページへの遷移が起こった場合に、次のウェブページへのリクエストを生成したウェブページのページIDである。リクエスト元ページIDと新しいページIDとセットで記録することによって、ページ遷移状態を記録していくことができる。
コンテンツIDとは、ページIDと類似の識別子であるが、ページIDがウェブページ単位に付与される識別子であるのに対して、コンテンツIDは、ウェブページのHTMLドキュメントに限らず、画像やスクリプトコードなどのデータに対しても付与する識別子である。変化の無い静的な画像の場合には、別のリクエストで要求された画像であっても、同じ画像であれば同じコンテンツIDを付与することが望ましい。これにより、コンテンツを保存していく際に、静的で変化の無いコンテンツについては、同じコンテンツIDを持つので、重複して保存していく必要がなくなる。
セッションIDとは、一連のウェブページの遷移に対して、通常ウェブサーバ装置が設定する識別子である。図5では、ウェブページA,B,Cは一連のウェブページの遷移であるので、共通のセッションIDが与えられる。例えば、ウェブページA,B,Cの3ページで1つの作業が完結する場合に、これらの作業全体を選択して操作の再生をしたい場合には、セッションIDで再生対象を選択することが便利である。
ユーザIDとは、ウェブページへのリクエストを生成する操作をしたユーザを特定する識別子である。通常は、ユーザ認証を行う際に、ユーザが入力するか、認証後にウェブサーバ装置などが設定する識別子である。ユーザIDは、時間や場所をまたがって、同じユーザの操作を再生したい場合に、利用すると便利である。
図12からも分かるように、識別子によっては、タイミングによって存在しないものがあるため、ウェブサーバ装置からログ連携サーバ装置に送信される識別子はタイミングによって様々であるし、必ずしも常にすべての識別子を送信していなくても計算可能な識別子もある。
外部再生装置とログ連携サーバ装置間で、操作の再生対象を選択する際には、まず、ログ連携サーバ装置が、保存している識別子のリストを送信するが、そのリストには、前記の識別子の候補のすべてもしくは一部が含まれ、その中から外部再生装置で選択をすることによって、該当する操作ログ、操作ログに関連付けられた文書構造とコンテンツを特定する。
図12には記載していないが、クライアント装置で、ウェブページ上で操作が行われる毎に生成される操作ログ、条件によって記録される文書構造に対して、それぞれ識別子として操作IDを付与して、これを他の識別子と同様にログ連携サーバ装置に送信して保存し、外部再生装置から選択可能とする方法も本実施例に含まれる。
図13の1301は、本実施例における、操作再現対象のウェブページを選択するウェブページの一例である。
時刻や、クライアントID、ユーザID、セッションID、ページIDなどのウェブページを特定するための情報がリスト形式で表示されており、これらの中から操作再現対象のウェブページを選択することで、そのウェブページ上で行われた操作のリストを表示したり、操作の再現をしたりするために利用される。
図14の1401は、本実施例における、操作再現対象の操作を選択するウェブページの一例である。図13に示したウェブページを選択するウェブページ1301で指定されたウェブページ上で行われた操作のリストを表示している。このリストには、時刻、操作内容、操作対象、属性などが含まれる。また、操作の再現を開始するボタン1402などもこのウェブページ上で提供される。例えば、操作の再現を操作の途中から行いたい場合には、該当する操作の行の左端にある選択をクリックし、その後ボタンを押下することで実現する。リストには、変化フラグの項目があるが、これは操作ログに関連して文書構造が記録されている場合に1と表示される。これにより、どの操作でウェブページに動的な変化が起こったかを確認できる。
チェックボックス1403は、変化フラグが1である操作に関して、操作の再現時に実際に実行することを指定するチェックボックスである。操作の再現の方法には、実際に実行して再現する方法と、実際には実行せずに表示だけ再現する方法がある。前者の方法は、再現性の向上に有効であるが、実際に実行してしまうことにより、例えばサーバ側の状態に変更を加えてしまうなどの副作用を伴う可能性がある。一方、後者の方法は、例えばマウスの動きを、マウスポインタを模した画像を移動することで操作の再現を行うような方法であるが、この場合、実際に実行しなければ動的なウェブページの変化が起こらない場合に、再現性が低くなってしまう。そこで、後者の方法を基本的な操作の再現方法としつつ、動的なウェブページの変化が起こる操作のみを前者の方法で再現することにより、副作用を抑えつつ、再現性を高めることができる。
図15は、操作の再現状況と操作再現を制御するウェブページの例である。同図の上段に示す、再生ウィンドウ1501では、マウスポインタ1504がボタン1502を押下している操作の再現を行っている。同図の下段に示す、再生コントローラ1511は、再現を行っているウェブページ上で行われた操作の一覧1512と、再現の開始・終了や一時停止などを行う制御機能をボタンで提供する。操作の再現方法としては、操作を1つずつ再現していくコマ送り再生1513や、自動的に順次操作を再現していく再生1514、それぞれの再現方法において、実際に実行を行って再現していく機能1515,1516などが提供される。操作の一覧1512には、図14と同様に変化フラグが表示されており、このフラグが1の操作のみ実際に実行し、それ以外の再現を、実際には実行を行わず表示のみ再現する方法で行うことができる。具体的には、変化フラグが1の操作の再現をボタン1515、それ以外はボタン1513を利用することで実現できる。
図16は、操作の再現状況と操作再現を制御する別のウェブページの例である上段の再生ウィンドウ1601や、下段の再生コントローラ1611は、図15に示したものとほぼ同様であるが、再生コントローラ1611では、実際に実行する再現方法を指定する機能がないが、変化フラグが1の操作の再現時に、再生ウィンドウ1601上、もしくは再生ウィンドウとは別のウィンドウ上に操作を実際に実行してよいかを問い合わせるメッセージを表示し、ユーザによって再現方法を選択可能としている。
以上説明した実施例1の処理フローにより、クライアント装置上の操作と動的なウェブページの変化を継続的に記録でき、再現性の高い操作の再生ができる。
第2の実施例を、図6を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。
図6は、差分検出機能による文書構造の差分検出方法に関する別の実施例を示した処理フロー図である。図6左側の処理601、右側の処理611は、いずれも図3の処理305部分に相当し、図3の処理305以外の部分は、図3と同じである。
処理601では、文書構造の変化の判定を、現在の文書構造が最新の一時保存されている文書構造と同じかどうかを判定している(ステップ602)。また、文書構造に変化があった場合には、変化した文書構造を一時保存し(ステップ603)、それを次の文書構造の変化の判定に利用する。これにより、クライアント側でのウェブページの動的な変化が多数起こる場合に、差分検出による文書構造の保存量を低減することができる。
処理611では、文書構造を指定時間ごとの一時保存する(ステップ613)ことで、文書構造の変化の判定を、現在の文書構造が指定時間ごとに一時保存された文書構造と同じかどうかを判定する(ステップ612)。これにより、クライアント側でのウェブページの動的な変化が操作に関係なく起こる場合にも操作の再現性を向上することができる。
第3の実施例を、図7を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。
図7は、差分検出機能による文書構造の差分検出タイミングに関する別の実施例を示した処理フロー図である。図7左側の処理701、右側の処理711は、いずれも図3の処理305部分に相当し、図3の処理305以外の部分は、図3と同じである。
処理701では、文書構造の変化の判定を、特定のイベントが発生した場合にのみ行う(ステップ702)。例えば操作の再現において再現性が要求される動的なウェブページの変化が、マウスをクリックした際にのみ発生する可能性があることが事前に分かっている場合、すべての操作ログの生成時に文書構造の保存をマウスクリックのイベントが発生した場合に限定することで、保存に必要なリソース量を低減できる。これにより、動的に変化するバナー広告のように、ウェブページ上の基本機能とは関係のない部分にも関わらず、ウェブページに動的に変化してしまう部分が含まれる場合に、不要な文書構造の保存を防ぐことができる。
処理711では、文書構造の変化の判定を、指定時間ごとに行うことで、操作やイベントの有無に関わらず、動的なウェブページの変化を記録していくことができる。これにより、処理701とは逆に、一定時間ごとに動的に変化するバナー広告のようなコンテンツを含むウェブページの再現性を向上することができる。
第4の実施例を、図8を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。
図8は、差分検出機能による文書構造の差分判定方法に関する別の実施例を示した処理フロー図である。図8左側の処理801、右側の処理811は、いずれも図3の処理305部分に相当し、図3の処理305以外の部分は、図3と同じである。
処理801では、文書構造の変化の判定を、操作ログに記録された操作対象のコンテンツが一時保存されている文書構造に含まれているかどうかを判定することで行う(ステップ802)。これにより、操作対象が動的に生成される場合に、操作対象が無く操作の再現ができない、もしくは操作の再現がエラーとなってしまうことを防ぐことができる。また、文書構造が大規模な場合でも、差分検出機能による文書構造の変化の判定を、少ない処理量で行うことが可能になる。
処理811では、文書構造の変化の判定を、操作対象のコンテンツの文書構造が変化しているかどうかを判定することで行う(ステップ812)。これにより、例えば操作対象が文書構造上は存在しているが、その属性がhiddenで可視化されていなかったものが可視化されて操作可能に変化したような場合に、文書構造の変化として判定可能となる。処理801と同様に、文書構造が大規模な場合でも、差分検出機能による文書構造の変化の判定を、少ない処理量で行うことが可能となる。
第5の実施例を、図9を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。
図9は、差分検出機能による文書構造の差分保存方法に関する別の実施例を示した処理フロー図である。図9左側の処理901、右側の処理911は、いずれも図3の処理305部分に相当し、図3の処理305以外の部分は、図3と同じである。
処理901では、文書構造の差分を操作対象の文書構造、もしくは操作対象の文書構造の変化分のみ保存する(ステップ902)。これにより、操作の再現に直接関係する操作対象のコンテンツの再現性を確保しつつ、文書構造の保存に要するリソース量を軽減することが可能となる。
処理911では、文書構造に変化があった場合に、変化があった事実のみをフラグとして保存する(ステップ912)。これにより、文書構造の保存による留守リソース量を軽減することが可能となる。操作の再現時には、このフラグが立っている操作に対して、実際に操作を実行して再現を行うなどにより、操作の再現性を向上させることが可能である場合に有効な保存方法となる。
第6の実施例を、図10を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。
図10は、差分検出機能による文書構造の差分の送信方法に関する別の実施例を示した処理フロー図である。図10の処理1001は、図3の処理305部分に相当し、図3の処理305以外の部分は、図3と同じである。
処理1001では、ログ連携サーバ装置からクライアント装置にログ送信要求が来た際に、操作ログと共に送信される文書構造を、同一コンテンツに対して保存されている文書構造の内、最後に記録された文書構造のみを送信する(ステップ1002)。これにより、クライアント装置から、ログ連携サーバ装置に対して送信するデータ量を軽減できる可能性がある。操作の再現時には、一連の操作の途中状態では再現性が低下する可能性があるものの、最終的な状態の再現性は他の実施例とほぼ同等にすることができる。
第7の実施例を、図17、図18を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。
図17は、本実施例におけるウェブアプリケーションを実行するシステム構成の一例である。外部装置1701は、クライアント装置101やウェブサーバ装置121などと同様の機能をもったプロセッサ1703、メモリ1707、入出力部1702、ローカルディスク1704、ネットワークインタフェース1706などから構成される計算機構造を備える。
メモリ1707上には文書構造提供プログラム1708が保存され、文書構造提供プログラム1708は、入出力部1702もしくはネットワークインタフェース1706を通して他の装置から指定されたレスポンス、もしくはクライアント上での操作途中での文書構造を、要求に応じてネットワークインタフェース1706を通して他の装置に送信する機能を提供するプログラムである。外部装置1701はウェブサーバ装置121やログ連携サーバ装置141などと同一でもよく、例えばウェブサーバ装置121のウェブサーバプログラム127上に文書構造提供プログラム1708が存在し、ウェブサーバ装置121が同等の機能を提供してもよい。
図18は、本実施例の文書構造提供プログラム1708を持つ外部装置1701が含まれるシステムで、操作の記録を行う処理の例を示したフロー図である。図18の処理1801は、図3の処理305部分に相当し、図3の処理305以外の部分は、図3と同じである。
処理1801では、ウェブページの文書構造を外部装置1701から読み込み一時保存する(ステップ1802)。この一時保存された文書構造を用いて、文書構造の変化や、文書構造の保存を行う。これにより、例えばクライアント装置がウェブサーバ装置からレスポンスを受信し、差分検出機能が動作する前にウェブページに動的な変化が生じるような場合に、文書構造提供プログラム1708がレスポンスに含まれる動的な変化が生じる前のウェブページの文書構造を送信することで、文書構造の動的な変化を精度高く記録することが可能となる。
以上、本発明に種々の実施例を説明したが、この実施例1〜7の任意の組合せも本発明に含まれることは言うまでもない。例えば、クライアント装置ウェブブラウザが差分検出機能を実行して、ウェブページの文書構造を構成するコンテンツと第1の文書構造のコンテンツとを比較し、差異があった場合、操作ログに関連付けてその差異を保存し、差異があった文書構造を新たな第1の文書構造とし、保存した差異をログ連携サーバ装置に送信する際、最後に保存されたコンテンツの差異のみ送信するよう構成することができる。また、実際例1〜7はそれぞれ一例を示したに過ぎず、例えば、操作の再現をしつつ、操作の記録を行う場合なども本発明の実施例の組み合わせにて実現される。また、操作ログや操作ログに関連付けられた文書構造に含まれる可能性のある情報としては、ウェブブラウザ上で記録可能なすべての情報が対象となる。また、すべての装置が1台ずつの場合のみ説明したが、それぞれ複数台であったり、複数の装置が少ない台数にまとまっている場合も含まれる。
本発明は、ウェブアプリケーションの操作を記録、保存し、再現する処理技術として有用である。
101…クライアント装置
102、125、146、183、1702…入出力部
103、123、143、184、1703…プロセッサ
104、124、144、1704…ローカルディスク
106、122、142、182、1706…ネットワークインタフェース
107、126、147、185、1707…メモリ
108…ウェブブラウザプログラム
109…スクリプトエンジンプログラム
121…ウェブサーバ装置
127…ウェブサーバプログラム
128…機能挿入プログラム
129…識別子送信プログラム
141…ログ連携サーバ装置
145…ログ保存領域
148…ログ連携サーバプログラム
149…操作再生プログラム
161…ネットワーク
181…外部再生装置
186…表示プログラム
1701…外部装置
1708…文書構造提供プログラム。

Claims (20)

  1. ウェブサーバと、ウェブブラウザと、前記ウェブページ上の操作ログを保存するログ連携サーバと、それらを相互に結合するネットワークから構成されるシステムにおけるウェブアプリケーションの操作再現方法であって、
    前記ウェブサーバは、
    生成したウェブページを前記ウェブブラウザに送信する際に、前記ウェブブラウザ上で動作する操作ログ取得機能と前記ウェブページの文書構造の変化を検出、保存する差分検出機能を前記ウェブページに挿入して送信し、
    前記ウェブブラウザは、
    受信した前記ウェブページに挿入された前記差分検出機能を実行して、前記ウェブページの文書構造を第1の文書構造として保存し、
    前記操作ログ取得機能を実行して、前記ウェブページ上での操作ログを生成、保存し、
    前記差分検出機能を実行して、前記ウェブページの文書構造を前記第1の文書構造と比較し、差異があった場合に当該差異を前記操作ログに関連付けて保存し、
    前記ログ連携サーバは、
    保存された前記操作ログと、関連付けて保存された前記差異を利用して操作の再現を行う、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  2. 請求項1に記載のウェブアプリケーションの操作再現方法であって、
    前記差分検出機能は、
    差異があった場合に、差異があった前記文書構造を前記操作ログに関連付けて保存する、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  3. 請求項2に記載のウェブアプリケーションの操作再現方法であって、
    前記差分検出機能は、
    前記操作ログに関連付けて保存する前記文書構造として、前記第1の文書構造との差分を用いる、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  4. 請求項2に記載のウェブアプリケーションの操作再現方法であって、
    前記差分検出機能は、
    前記文書構造を構成するコンテンツが前記第1の文書構造に保存されているコンテンツと差異がある場合に、当該コンテンツに対する差異を前記操作ログに関連付けて保存する、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  5. 請求項4に記載のウェブアプリケーションの操作再現方法であって、
    前記ウェブブラウザが、前記操作ログに関連付けて保存された、前記コンテンツの差異を前記ログ連携サーバに送信する際に、前記コンテンツに対する差異のうち、最後に保存された前記コンテンツに対する差異のみを送信する、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  6. 請求項1に記載のウェブアプリケーションの操作再現方法であって、
    前記ログ連携サーバは、
    前記操作ログに関連付けて、差異があった前記文書構造が保存されている場合、保存されている前記操作ログの操作を再現して表示する際に、前記文書構造に差異が生じることを示す、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  7. 請求項1に記載のウェブアプリケーションの操作再現方法であって、
    前記ログ連携サーバは、
    前記操作ログに関連付けて、差異があった前記文書構造が保存されている場合、保存されている前記操作ログの操作の再現時に、当該操作を実際に実行して再現を行う、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  8. 請求項7に記載のウェブアプリケーションの操作再現方法であって、
    前記ログ連携サーバは、
    前記操作を実際に実行して再現を行うのに先立ち、前記操作を実際に実行してよいか否かの確認を行う、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  9. 請求項1に記載のウェブアプリケーションの操作再現方法であって、
    前記差分検出機能で比較した結果、差異があった場合に、比較された前記文書構造を前記第1の文書構造とする、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  10. 請求項1に記載のウェブアプリケーションの操作再現方法であって、
    前記ウェブブラウザの外部から前記ウェブページの文書構造を取得し、取得した前記文書構造を前記第1の文書構造とする、
    ことを特徴とするウェブアプリケーションの操作再現方法。
  11. ウェブアプリケーションの操作再現を行うウェブアプリケーションの操作再現システムであって、
    ウェブサーバ装置と、ウェブブラウザを実行するクライアント装置と、前記ウェブページ上の操作ログを保存するログ連携サーバ装置と、それらを相互に接続するネットワークとから構成され、
    前記ウェブサーバ装置は、
    生成したウェブページを前記ウェブブラウザに送信する際に、前記ウェブブラウザ上で動作する操作ログ取得機能と前記ウェブページの文書構造の変化を検出、保存する差分検出機能を挿入して送信し、
    前記クライアント装置の前記ウェブブラウザは、
    受信した前記ウェブページに挿入された前記差分検出機能を実行して、前記ウェブページの文書構造を第1の文書構造として保存し、
    前記操作ログ取得機能を実行して、前記ウェブページ上での操作ログを生成、保存し、
    前記差分検出機能を実行して、前記ウェブページの文書構造を前記第1の文書構造と比較し、差異があった場合に当該差異を前記操作ログに関連付けて保存し、
    前記ログ連携サーバ装置は、
    保存された前記操作ログと、関連付けて保存された前記差異を利用して操作の再現を行う、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  12. 請求項11に記載のウェブアプリケーションの操作再現システムであって、
    前記クライアント装置の前記ウェブブラウザは、
    前記差分検出機能による比較の結果、差異があった場合に、差異があった前記文書構造を前記操作ログに関連付けて保存する、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  13. 請求項12に記載のウェブアプリケーションの操作再現方システムであって、
    前記クライアント装置の前記ウェブブラウザは、
    前記操作ログに関連付けて保存する前記文書構造として、前記第1の文書構造との差分を用いる、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  14. 請求項12に記載のウェブアプリケーションの操作再現システムであって、
    前記クライアント装置の前記ウェブブラウザは、
    前記文書構造を構成するコンテンツが前記第1の文書構造に保存されているコンテンツと差異がある場合に、当該コンテンツの差異を前記操作ログに関連付けて保存する、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  15. 請求項14に記載のウェブアプリケーションの操作再現システムであって、
    前記クライアント装置の前記ウェブブラウザは、
    前記操作ログに関連付けて保存された、前記コンテンツの差異を前記ログ連携サーバに送信する際に、前記コンテンツに対する差異のうち、最後に保存された前記コンテンツに対する差異のみを送信する、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  16. 請求項11に記載のウェブアプリケーションの操作再現システムであって、
    前記ログ連携サーバは、
    前記操作ログに関連付けて、差異があった前記文書構造が保存されている場合、保存されている前記操作ログの操作を再現して表示する際、前記文書構造に差異が生じることを示す、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  17. 請求項11に記載のウェブアプリケーションの操作再現システムであって、
    前記ログ連携サーバは、
    前記操作ログに関連付けて、差異があった前記文書構造が保存されている場合、保存されている前記操作ログの操作の再現時に、前記操作を実際に実行して再現を行う、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  18. 請求項17に記載のウェブアプリケーションの操作再現システムであって、
    前記ログ連携サーバは、
    前記操作を実際に実行して再現を行うのに先立ち、前記操作を実際に実行してよいか否かの確認を行う、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  19. 請求項11に記載のウェブアプリケーションの操作再現システムであって、
    前記クライアント装置の前記ウェブブラウザは、
    前記差分検出機能で比較した結果、差異があった場合に、比較された前記文書構造を前記第1の文書構造とする、
    ことを特徴とするウェブアプリケーションの操作再現システム。
  20. 請求項11に記載のウェブアプリケーションの操作再現システムであって、
    前記クライアント装置の前記ウェブブラウザは、前記ネットワークに接続される外部装置から前記ウェブページの文書構造を取得し、取得した前記文書構造を前記第1の文書構造とする、
    ことを特徴とするウェブアプリケーションの操作再現システム。
JP2010144998A 2010-06-25 2010-06-25 ウェブアプリケーションの操作再現方法およびシステム Expired - Fee Related JP5325169B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010144998A JP5325169B2 (ja) 2010-06-25 2010-06-25 ウェブアプリケーションの操作再現方法およびシステム
PCT/JP2010/005386 WO2011161735A1 (ja) 2010-06-25 2010-09-01 ウェブアプリケーションの操作再現方法およびシステム
US13/806,606 US20130097484A1 (en) 2010-06-25 2010-09-01 Method and system of operation retrieval for web application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010144998A JP5325169B2 (ja) 2010-06-25 2010-06-25 ウェブアプリケーションの操作再現方法およびシステム

Publications (2)

Publication Number Publication Date
JP2012008853A true JP2012008853A (ja) 2012-01-12
JP5325169B2 JP5325169B2 (ja) 2013-10-23

Family

ID=45370951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010144998A Expired - Fee Related JP5325169B2 (ja) 2010-06-25 2010-06-25 ウェブアプリケーションの操作再現方法およびシステム

Country Status (3)

Country Link
US (1) US20130097484A1 (ja)
JP (1) JP5325169B2 (ja)
WO (1) WO2011161735A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013228811A (ja) * 2012-04-24 2013-11-07 Nippon Telegr & Teleph Corp <Ntt> Web閲覧履歴取得装置及びプログラム
WO2015029195A1 (ja) * 2013-08-29 2015-03-05 三菱電機株式会社 模擬装置、情報生成装置、模擬方法及び模擬プログラム
US9235640B2 (en) 2009-01-08 2016-01-12 International Business Machines Corporation Logging browser data
KR20200005802A (ko) * 2018-07-09 2020-01-17 에스케이플래닛 주식회사 클라우드 스트리밍 환경에서의 사용자 활동 재생 방법 및 이를 위한 장치

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583772B2 (en) 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US9063766B2 (en) * 2011-03-16 2015-06-23 Vmware, Inc. System and method of manipulating virtual machine recordings for high-level execution and replay
US9588652B2 (en) 2011-12-12 2017-03-07 International Business Machines Corporation Providing feedback for screen sharing
US9852432B2 (en) 2011-12-12 2017-12-26 International Business Machines Corporation Customizing a presentation based on preferences of an audience
US20130151624A1 (en) 2011-12-12 2013-06-13 International Business Machines Corporation Context-Sensitive Collaboration Channels
US9141264B2 (en) 2011-12-14 2015-09-22 International Business Machines Corporation Variable refresh rates for portions of shared screens
US9124657B2 (en) 2011-12-14 2015-09-01 International Business Machines Corporation Dynamic screen sharing for optimal performance
JP5909553B2 (ja) * 2012-09-21 2016-04-26 グリー株式会社 タイムライン領域におけるオブジェクト表示方法、オブジェクト送信方法、オブジェクト表示装置、サーバ及び当該方法を実現するためのプログラムを記録した情報記録媒体
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US8903768B2 (en) 2012-11-04 2014-12-02 International Business Machines Corporation Method and system for synchronization and management of system activities with locally installed applications
US9225769B2 (en) 2012-11-05 2015-12-29 International Business Machines Corporation System for synchronization and management of system activities with locally installed applications
US9535720B2 (en) * 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
US20140189519A1 (en) * 2012-12-31 2014-07-03 W.W. Grainger, Inc. Systems and methods for providing website browsing history to repeat users of a website
JP2015022382A (ja) * 2013-07-16 2015-02-02 アルパイン株式会社 ウェブページ表示装置および方法
US10984175B2 (en) * 2013-08-09 2021-04-20 Yottaa Inc. Systems and methods for dynamically modifying a requested web page from a server for presentation at a client
US9799380B2 (en) * 2013-11-05 2017-10-24 Google Inc. Managing open tabs of an application
WO2015083232A1 (ja) * 2013-12-03 2015-06-11 三菱電機株式会社 マスタ装置およびウェブブラウザ画面同期システム
KR102282487B1 (ko) 2014-05-08 2021-07-26 삼성전자주식회사 애플리케이션 실행 장치 및 방법
US10466868B2 (en) 2016-04-27 2019-11-05 Coda Project, Inc. Operations log

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076266A (ja) * 1998-08-28 2000-03-14 Internatl Business Mach Corp <Ibm> ブラウザ操作自動実行システムおよびその方法
JP2007172377A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> Webページにおける状態遷移解析手法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366930B1 (en) * 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US7231606B2 (en) * 2000-10-31 2007-06-12 Software Research, Inc. Method and system for testing websites
US20040100507A1 (en) * 2001-08-24 2004-05-27 Omri Hayner System and method for capturing browser sessions and user actions
US7941525B1 (en) * 2006-04-01 2011-05-10 ClickTale, Ltd. Method and system for monitoring an activity of a user
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
JP2008146118A (ja) * 2006-12-06 2008-06-26 Hitachi Ltd コンピュータシステムにおけるデータベースの更新と回復の方法
US8775603B2 (en) * 2007-05-04 2014-07-08 Sitespect, Inc. Method and system for testing variations of website content
US8291310B2 (en) * 2007-08-29 2012-10-16 Oracle International Corporation Delta-saving in XML-based documents
US8042055B2 (en) * 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8185910B2 (en) * 2008-08-27 2012-05-22 Eric Sven-Johan Swildens Method and system for testing interactions between web clients and networked servers
US7962547B2 (en) * 2009-01-08 2011-06-14 International Business Machines Corporation Method for server-side logging of client browser state through markup language
US8549483B1 (en) * 2009-01-22 2013-10-01 Intuit Inc. Engine for scalable software testing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076266A (ja) * 1998-08-28 2000-03-14 Internatl Business Mach Corp <Ibm> ブラウザ操作自動実行システムおよびその方法
JP2007172377A (ja) * 2005-12-22 2007-07-05 Internatl Business Mach Corp <Ibm> Webページにおける状態遷移解析手法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235640B2 (en) 2009-01-08 2016-01-12 International Business Machines Corporation Logging browser data
JP2013228811A (ja) * 2012-04-24 2013-11-07 Nippon Telegr & Teleph Corp <Ntt> Web閲覧履歴取得装置及びプログラム
WO2015029195A1 (ja) * 2013-08-29 2015-03-05 三菱電機株式会社 模擬装置、情報生成装置、模擬方法及び模擬プログラム
WO2015029464A1 (ja) * 2013-08-29 2015-03-05 三菱電機株式会社 模擬装置、情報生成装置、模擬方法、模擬プログラム、環境提供システム、環境提供方法及びプログラム
KR20200005802A (ko) * 2018-07-09 2020-01-17 에스케이플래닛 주식회사 클라우드 스트리밍 환경에서의 사용자 활동 재생 방법 및 이를 위한 장치
KR102177971B1 (ko) * 2018-07-09 2020-11-12 에스케이플래닛 주식회사 클라우드 스트리밍 환경에서의 사용자 활동 재생 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
WO2011161735A1 (ja) 2011-12-29
US20130097484A1 (en) 2013-04-18
JP5325169B2 (ja) 2013-10-23

Similar Documents

Publication Publication Date Title
JP5325169B2 (ja) ウェブアプリケーションの操作再現方法およびシステム
JP5483965B2 (ja) ウェブアプリケーションの操作記録・再生方法およびシステム
RU2419842C2 (ru) Управляемые данными действия для сетевых форм
US7725812B1 (en) Authoring system for combining temporal and nontemporal digital media
US9418172B2 (en) Systems and methods for remote tracking and replay of user interaction with a webpage
TWI384378B (zh) 網頁應用程式執行方法
US20080126931A1 (en) System and method for recording and reproducing user operation
JP5476326B2 (ja) ウェブ操作記録・再現方法および装置
JP5560180B2 (ja) 稼働ログ収集方法および装置
US20100058118A1 (en) Storage medium recording information reacquisition procedure generation program and information reacquisition procedure generation apparatus
US8166134B2 (en) Server system, method of controlling operation thereof and control program therefor
JP2007036830A (ja) 動画管理システム、動画管理方法、クライアント、およびプログラム
JP5463717B2 (ja) アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置
JP2007011893A (ja) Rss文書の閲覧方法及び装置及びプログラム及びプログラムを格納した記憶媒体
JP4496919B2 (ja) Web閲覧操作の記録・再生装置及びプログラム及びコンピュータ読み取り可能な記憶媒体
JP2011008558A (ja) Webアプリケーション操作方法およびWebアプリケーションシステム並びにその処理プログラム
US7359963B1 (en) System and method for maintaining and publishing web site content
JP4496929B2 (ja) 複数Web閲覧操作の並列再生装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP2008071048A (ja) 動的コンテンツ提示システム及びそのプログラム
JP3725087B2 (ja) 知識情報収集システムおよび知識情報収集方法
CN113760936B (zh) 定时更新方法、介质、装置和电子设备
JP3725836B2 (ja) 知識情報収集システムおよび知識情報収集方法
JP4963463B2 (ja) 端末管理装置と端末管理プログラム
JP2008052435A (ja) 情報収集装置及び方法、プログラム、並びに情報収集システム
JPH11212853A (ja) コンピュータシステムおよび処理要求制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

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: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130719

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees