JP5483965B2 - ウェブアプリケーションの操作記録・再生方法およびシステム - Google Patents

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

Info

Publication number
JP5483965B2
JP5483965B2 JP2009211893A JP2009211893A JP5483965B2 JP 5483965 B2 JP5483965 B2 JP 5483965B2 JP 2009211893 A JP2009211893 A JP 2009211893A JP 2009211893 A JP2009211893 A JP 2009211893A JP 5483965 B2 JP5483965 B2 JP 5483965B2
Authority
JP
Japan
Prior art keywords
web
identifier
log
web page
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
JP2009211893A
Other languages
English (en)
Other versions
JP2011060196A (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.)
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 JP2009211893A priority Critical patent/JP5483965B2/ja
Priority to US12/845,407 priority patent/US8463874B2/en
Publication of JP2011060196A publication Critical patent/JP2011060196A/ja
Application granted granted Critical
Publication of JP5483965B2 publication Critical patent/JP5483965B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ウェブアプリケーションの操作を記録し、再生する処理技術に関する。
近年、ウェブブラウザのみで利用できる利便性から、様々なサービスがウェブアプリケーションで実現されている。ウェブアプリケーションは、軽量スクリプト言語の普及や、低コストで機能の充実した開発環境の提供により、専門家やリソースが豊富な大企業でなくとも様々な機能を持った、表現力豊かなウェブアプリケーションを開発して、ウェブ上でのサービス提供ができるようになってきた。また、ユーザ参加型のウェブサービスも出現し、それにともないウェブ上のコンテンツが動的に変化するケースも多く見られるようになり、情報の即時性や、多様なソースからの情報が得られるため、ウェブサービスの利用シーンが広がりを見せている。
このような背景から、業務や社会生活において、ウェブアプリケーションが広く使われ、ウェブアプリケーションの使いやすさが業務効率やビジネスの成否に、大きく影響するようになってきた。そのため、ウェブアプリケーションを使ったサービスの提供者は、ウェブアプリケーションの使われ方に強い関心をもつようになった。
従来、ウェブアプリケーションは、個々の情報や作業に、それぞれ別のウェブページを割り当て、ウェブページの遷移によって、一連の情報提供や複数の作業からなる処理を実現してきた。そのため、ウェブアプリケーションを実行するウェブサーバへのアクセスログを解析することによって、ウェブページの遷移が分かり、ウェブアプリケーションの使われ方をある程度理解することができた。しかし、最近ではスクリプト言語などをウェブページに埋め込むなどの方法で、1つのウェブページで大量の情報を提供したり、複数の作業を可能とすることができるようになった。そのため、ウェブアプリケーションの使われ方は、より高度に、複雑になっている。ウェブページ単位での記録しか残らないウェブサーバのアクセスログでは、このような高度で、複雑なウェブアプリケーションの使われ方を十分に理解することができなくなっている。そこで、ウェブアプリケーションを、ウェブページの単位よりも細かく、ウェブページ上での操作の単位で記録を行い、それを再生して確認する技術が求められている。
これに対して、従来技術としては、ビデオ撮影によりウェブアプリケーションの操作を撮影し、再生する方法が良く利用されてきた。しかしこの方法は、継続的かつ大量の記録・再生には向かないという問題があった。また、ウェブページを閲覧するウェブブラウザが動作しているクライアントPC(Personal Computer)上に、画面のキャプチャを行う動画キャプチャツールをインストールして記録・再生する方法も、再生に時間がかかる問題があった。動画キャプチャツールと類似の技術で、画面のキャプチャを行う代わりに、クライアントPC上での操作ログを記録するツールもあるが、動画キャプチャツールと同様に、クライアントPCへのインストール作業が必要で、インターネットなどの環境では導入しづらいという問題があった。
また、特許文献1(特開2008−117093号公報)の「ユーザ操作記録・再現方法及び装置」のように、ウェブページに対するウェブブラウザのユーザ操作やバックグラウンド通信処理内容を記録・再生する技術もある。
また、特許文献2(特開2008−304969号公報)の「逐次保存型Webアプリケーションシステム」には、ウェブページ上の入力状態を、特別な操作なしにサーバ上に保存し、セッションタイムアウトや予期しないサーバシャットダウンが発生しても、発生前の入力状態を再現して操作を継続できる技術が開示されている。
また、特許文献3(特開2007−172377号公報)の「Webページにおける状態遷移解析手法」では、DHTML(Dynamic HyperText Markup Language)を利用するWebページで、外部からのイベントによって動的に発生する入力状態や内部変数の状態などを特定できるデータを記憶する手段が開示されている。
更に、本発明者の考案に係る特許文献4(特開2009−104267号公報)の「ウェブアプリケーションの処理記録方法および処理記録装置」では、ウェブシステム全体での処理の状況の把握を簡易に実現し、クライアント数の増加などにもスケーラブルに対応する方法が開示されている。
特開2008−117093号公報 特開2008−304969号公報 特開2007−172377号公報 特開2009−104267号公報
しかし、特許文献1においては、操作の記録を選択的に行う手段がなく、再生時にどのユーザの、どの操作を対象として再生を行うか指定する手段も提供されないため、ユーザ数が多い場合の拡張性(スケーラビリティ)が確保できない問題がある。また、ウェブページのコンテンツを保存する手段がなく、ウェブページのコンテンツの内容が動的に変わる、ダイナミックコンテンツの記録・再生が正しく行われない問題もある。
また特許文献2の技術では、入力状態を再現することができるものの、その入力状態に至るまでの操作の再生は正確にはできず、クライアントとサーバ間で、定期的に入力状態を保存するための通信が発生するために、ユーザ数が多い場合の拡張性が確保できない問題がある。
また特許文献3の技術では、複数のユーザの複数の操作から記録・再生したい部分を選択的に指定する手段が提供されないため、ユーザ数が多い場合の拡張性が確保できない問題がある。
前記の背景技術、および従来技術から、本発明が解決しようとする課題は、以下の通りである。
まず、ウェブアプリケーションの操作を、ユーザ数が多数であっても継続的に記録・再生可能とすることが課題である。そのためには、導入が容易で、選択的に操作の記録・再生ができることが必要である。
本発明者の発明である特許文献4では、クライアントへのツールのインストールや、サーバ上で実行されるウェブアプリケーションの改変など無しに、ウェブアプリケーションの操作を記録する方法が開示されているが、記録した操作を選択して再生する手段が提供されておらず、また、動的にウェブページのコンテンツが変わるダイナミックコンテンツに対しては、正しく操作を記録・再生することができないという課題があった。
さらに、ウェブサーバやウェブブラウザからなるウェブシステムにおいては、ウェブページの応答性能改善や、ネットワーク負荷軽減のために、キャッシュが設けられることが多い。キャッシュにヒットした場合、ウェブサーバにリクエストが到着せずに、以前に生成されたものと同じウェブページがウェブブラウザにロードされて操作が行われる。その場合にも、以前にそのウェブページ上で行われた操作と区別をして、操作の記録・再生を可能とすることが課題である。
本発明の目的は、多数のユーザが利用するウェブアプリケーションの操作を継続的に記録・再生することが可能なウェブアプリケーションの操作記録・再生方法および装置、また、ダイナミックコンテンツを含むウェブアプリケーションや、ウェブシステムにキャッシュが含まれる場合にも、正しく再生可能なウェブアプリケーションの操作記録・再生方法およびウェブシステムを提供することにある。
上記の目的を達成するため、本発明においては、ウェブアプリケーションを実行するウェブサーバと、ウェブページを表示するウェブブラウザと、ウェブページ上の操作ログを保存するログ連携サーバと、これらを相互に結合するネットワークとから構成されるウェブシステムにおけるウェブアプリケーションの操作記録・再生方法、およびシステムであって、ウェブサーバは、生成したウェブページをウェブブラウザに送信する際に、ウェブページに関連する識別子をログ連携サーバに送信し、ウェブブラウザで動作する操作ログ取得機能と、識別子の少なくとも一部とをウェブページに挿入してウェブブラウザに送信し、ウェブブラウザは、リクエストを送信して受信したウェブページに挿入された操作ログ取得機能を実行して、ウェブページ上での操作ログを生成し、識別子と関連付けて保存し、ログ連携サーバは、ウェブサーバから送信された識別子を保存し、保存された識別子の中から特定の識別子を選択して、選択された識別子に関連するウェブページの操作ログの要求をウェブブラウザに送信し、ウェブブラウザから当該操作ログを受信するウェブアプリケーションの操作記録・再生方法、およびシステムを提供する。
すなわち、本発明によるウェブアプリケーションの操作記録・再生方法およびシステムでは、ウェブアプリケーションが動作するウェブサーバにおいて、ウェブアプリケーションが生成したウェブページを要求したクライアントPCやユーザ、そのウェブページ固有の識別子を保存し、さらに、ウェブブラウザ上での操作をクライアントPC上に操作ログとして記録し、外部からの要求の有無を判定して、要求に応じて記録した操作ログを送信する機能をウェブページに挿入する。またウェブサーバ側に保存した識別子の一覧を表示して選択可能なインタフェースを設け、選択した識別子に関わる操作ログを持つクライアントPCが選択内容を判定可能とすることで、多数のユーザの操作ログから、選択的に操作ログを収集して再生することができる。
また、本発明においては、ダイナミックコンテンツに対しては、ウェブサーバにおいて、レスポンスに含まれるウェブページのコンテンツを、識別子と対応付けて保存しておき、操作の再生時に、保存してあるコンテンツを使うことで、ダイナミックコンテンツの再生を正しくおこなうことができる。
更に、本発明においては、キャッシュヒットした場合の操作の記録・再生は、クライアントからサーバ装置側に表示しているウェブページに関係する識別子などの情報を送信し、ウェブサーバ側で保存してある識別子の一覧と、クライアントから受信した情報とを比較して、識別子の一覧を更新することで、操作の記録・再生を正しく実現する。
本発明により、多数のユーザが利用するウェブアプリケーションの操作を継続的に記録・再生することができる。また、ダイナミックコンテンツを含むウェブアプリケーションや、ウェブシステムにキャッシュが含まれる場合にも、正しく再生可能となる。
各実施例に係るウェブアプリケーションを実行する全体システム構成図である。 図1のシステム構成における、ウェブアプリケーションの操作記録・再生処理フローを示す図である。 第1の実施例における操作記録の処理フローを示す図である。 第1の実施例における操作再生の処理フローを示す図である。 第1の実施例における操作記録・再生のシーケンスと関連する識別を示した図である。 第1の実施例における識別子の一覧表示の表示画面例を示した図である。 第2の実施例におけるキャッシュヒットした場合の走査記録・再生のシーケンス図である。 第2の実施例における操作記録の処理フローを示す図である。 第2の実施例における操作再生の処理フローを示す図である。 第3の実施例における操作再生の別の処理フローを示す図である。 第4の実施例における操作再生の処理フローを示す図である。 第5の実施例における操作記録の処理フローを示す図である。 第6の実施例における操作記録の処理フローを示す図である。 第6の実施例における操作ログ送信画面の表示画面例を示した図である。 各実施例におけるウェブアプリケーションを実行する別のシステム構成図である。 図15に示す別のシステム構成での操作記録の処理フローを示す図である。
以下、本発明の種々の実施例を図面に従い説明する。
第1の実施例に係るウェブアプリケーションの操作記録・再生方法を図1から図6を使って説明する。
図1は、本実施例を始め各実施例が対象とする、ウェブアプリケーションを実行するシステムのハードウェア構成と、ソフトウェア構成の一例を示すシステム構成図である。
ハードウェアは、PCなどのクライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141、再生部である外部再生装置181と、これらの装置を接続するネットワーク161から構成される。なお、図1のシステム構成では、各装置がそれぞれ独立したハードウェア構成を持つ場合を例示してあるが、この構成に限定されることなく、クライアント装置、サーバ装置等の各装置のハードウェアは、同一のハードウェアで実現されても、任意の数の複数台で構成されてもよい。例えば、ウェブサーバ装置121とログ連携サーバ装置141とは同一のハードウェアで実現し、ログ連携サーバの機能をウェブサーバ装置121に内蔵しても良い。
図1に示すように、クライアント装置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に読み込まれて実行される。
各クライアント装置101において、ウェブブラウザプログラム108は、ウェブページをリクエストしたり、リクエストしたウェブページのレスポンスを受信し、解釈して表示画面を生成する機能などを持つ。また、スクリプトエンジンプログラム109は、ウェブサーバ装置121からのウェブページのレスポンスに含まれるスクリプトコードを解釈し、スクリプトコードに書かれている処理をプロセッサ103で実行する機能を持つ。
入出力部102には、キーボードやマウス、モニタなどが接続され、プログラムの実行や停止の指示を行ったり、プログラムの実行結果をモニタに表示するのに利用される。プロセッサ103は、メモリ105からプログラムを読み込んで処理を実行する。ローカルディスク104には、同図に示したように、ウェブページを一時的に保存するキャッシュ領域105が含まれる。ネットワークインタフェース106は、クライアント装置101の外部の装置との間で、ネットワーク161を介してウェブサーバ装置とのリクエスト、レスポンスの送受信や、操作ログの送受信を行う。
一方、ウェブサーバ装置121のメモリ126には、ウェブサーバプログラム127、機能挿入プログラム128、識別子送信プログラム129、コンテンツ送信プログラム133が格納されている。これらのプログラムは、お互いに包含関係にあってもよく、例えば、識別子送信プログラム129がウェブサーバプログラム127に含まれていてもよい。ウェブサーバプログラム127には、ウェブアプリコード130が含まれる、もしくは併設される。機能挿入プログラム128には、操作ログ取得コード131とコンテンツ改変コード132が含まれる。これらのプログラムは、プロセッサ123に読み込まれて実行される。
ウェブサーバプログラム127は、クライアント装置101などの外部の装置からのリクエストに応じてウェブページのレスポンスを生成して返信する機能を持つ。機能挿入プログラム128はウェブページのレスポンスに対して、レスポンスに含まれるコンテンツの追加や修正を行う機能を持つ。
識別子送信プログラム129は、ウェブサーバプログラム127で生成したウェブページに関連する識別子を生成もしくは取得して、外部の装置に送信する機能を持つ。ウェブページに関連する識別子としては、後で詳述するように、ウェブページのリクエスト毎にユニークな値をもつIDや、ウェブページのリクエスト元を特定できるようなIDなどが挙げられる。
コンテンツ送信プログラム133は、ウェブサーバプログラム127で生成したウェブページのコンテンツを外部の装置に送信する機能を持つ。ウェブサーバプログラム127も、ウェブページのコンテンツをリクエスト元のクライアント装置に送信する機能を持つが、コンテンツ送信プログラム133では、ログ連携サーバ装置141や、外部再生装置181などのリクエスト元以外の外部の装置にもコンテンツを送信でき、その際にそのウェブページに関連した識別子と関連付けて送信を行う。
入出力部125、プロセッサ123、ネットワークインタフェース122は、クライアント装置101にある同名の装置と同じ機能を持つ。ローカルディスク124には、ウェブページの全体や一部などが保管されている。
ログ連携サーバ装置141のメモリ147には、ログ連携サーバプログラム148、操作再生プログラム149が格納されている。これらのプログラムは、プロセッサ143に読み込まれて実行される。
ログ連携サーバプログラム148は、クライアント装置101やウェブサーバ装置121などから送信されたウェブページやウェブページのリクエスト元などを特定する識別子や操作ログなどのデータを受信し、それらをローカルディスク144のログ保存領域145に格納したり、ログ保存領域145やメモリ147上にあるそれらのデータを読み出して、一覧表示をしたり、特定の識別子や操作ログなどを選択させて、外部の装置に送信したりする。さらに、外部の装置に、特定の識別子に関連する操作ログを送信させたりする。操作再生プログラム149は、外部再生装置181からの要求に応じて、外部再生装置181上でウェブページのコンテンツと操作ログから、ウェブページ上での操作の再生を行わせる機能を提供する。
ローカルディスク144には識別子や操作ログを保存する操作ログ保存領域145がある。入出力部146、プロセッサ143、ネットワークインタフェース142は、ウェブサーバ装置121にある同名の装置と同じ機能を持つ。
外部再生装置181のメモリ185には、表示プログラム186が格納されている。表示プログラム186は、プロセッサ184に読み込まれて実行される。この表示プログラム186は、クライアント装置101のウェブブラウザプログラム108、スクリプトエンジンプログラム109と同様に、ウェブページの表示を行う。ただし、ログ連携サーバ装置141の操作再生プログラム149により、操作ログと連携して、ウェブページ上での操作を再生したり、再生を一時的に停止したりする。入出力部183、プロセッサ184、ネットワークインタフェース182は、ウェブサーバ装置121にある同名の装置と同じ機能を持つ。
本実施例における、ウェブアプリケーションの操作記録・再生処理フローを図2〜図4により説明する。
図1で説明したように、クライアント装置101、ウェブサーバ装置121、ログ連携サーバ装置141がネットワーク161で接続されたシステムで、クライアント装置101からウェブページのリクエストを送信し、ウェブサーバ装置121がリクエストされたウェブページのレスポンスを生成して返信し、クライアント装置101でウェブページの表示や、スクリプトコードの実行が行われ、ログ連携サーバ装置141には、ウェブページに関連する識別子や、ウェブページのコンテンツ、ウェブページ上での操作ログなどが蓄積される。また、ログ連携サーバ装置141と、クライアント装置101の間で、操作ログの送受信や、ログ操作の制御を実現するための問い合わせと制御内容を伝達するコマンドのやり取りも行われる。再生部として機能する外部再生装置181は、ログ連携サーバ装置141からウェブページのコンテンツと、操作ログを受信してウェブページ上での操作の再生を行う。
以下、一連の処理を順に説明する。なお、図2以降の図においては、プログラムがプロセッサ上で実行されている状態をモジュールと呼び、例えば、ウェブブラウザプログラムがプロセッサ上で実行されている場合、ウェブブラウザモジュールと呼ぶ。
図2に明らかなように、最初に、クライアント装置101のウェブブラウザモジュール211がウェブページのリクエスト201を、ネットワーク161を経由して、ウェブサーバ装置121に送信する。リクエスト201には、少なくともウェブページの存在する場所を指定するURI(Uniform Resource Identifiers)が含まれる。ウェブサーバ装置121では、ウェブサーバモジュール221がリクエスト201を受信し、ウェブアプリコード130に従った処理を行うウェブアプリケーション222が要求されたウェブページのレスポンス202を生成する。
レスポンス202は、ウェブサーバ装置121に含まれる機能挿入モジュール223を経由して、レスポンス203としてクライアント装置101のウェブブラウザモジュール211に送信される。機能挿入モジュール223の操作ログ取得機能モジュール224は、クライアント装置101に含まれるスクリプトエンジンモジュール212上で実行されるスクリプトコード206の形態で、ウェブブラウザモジュール211上での操作ログを取得する機能をレスポンス202に挿入する。一方、コンテンツ改変機能モジュール225は、レスポンス202に含まれるコンテンツの一部を変更する機能を持ち、レスポンスに関連する識別子をコンテンツに挿入したりする。
ウェブサーバ装置121では、さらに識別子送信モジュール226がウェブページのレスポンス202に関連した識別子204を生成もしくは取得してログ連携サーバ装置141に送信する。また、コンテンツ送信モジュール227が、レスポンス202に含まれるウェブページのコンテンツ205をログ連携サーバ装置141に送信する。これらの動作は、順次行っても、同時並行的に行ってもよい。
クライアント装置101では、ウェブブラウザモジュール211でレスポンス203に含まれるコンテンツが表示され、操作に応じて次のリクエストを送信したり、コンテンツに含まれるスクリプトコード206をスクリプトエンジンモジュール212で実行したりする。前述の操作ログ取得機能モジュール224で挿入されたスクリプトコードもスクリプトエンジンモジュール212で実行され、ウェブブラウザモジュール211上での操作ログを生成する。生成された操作ログは、クライアント装置101のメモリ107上やローカルディスク104上に識別子と共に保存される。ウェブサーバ装置121の操作ログ取得機能モジュール224には、ウェブブラウザモジュール211を介して、ログ連携サーバ装置141に対して、操作ログの送信要求や、ログ操作要求の有無を問い合わせる機能が含まれる。このログ問い合わせ207に対して、コマンド208が返された場合、コマンド208に応じて、メモリ107上やローカルディスク104上に保存されている操作ログをログ連携サーバ装置141に送信したり、操作ログを削除したりする。コマンド208には、これらのログ送信やログ削除以外の処理も含まれる。
ログ連携サーバ装置141では、ログ連携サーバモジュール231が、ウェブサーバ装置121から識別子204とコンテンツ205を受信し、ローカルディスク144内のログ保存領域145に保存する。また、保存されている識別子204の一覧データを外部再生装置181などのモニタに表示して、選択された識別子に関連するウェブページの操作ログをクライアント装置101から送信させるコマンドを生成し、クライアント装置101からのログ問合せ207に対して、ログ送信のコマンド208を送信して、操作ログ209をクライアント装置101から受信し、ログ保存領域145に保存する。前記の通り、コマンド208には、ログ送信以外の処理を実行させるものも含まれる。
ログ連携サーバ装置141の操作再生モジュール232は、外部再生装置181に対して、ログ連携サーバ装置141のログ保存領域145に保存されているウェブページのコンテンツや操作ログや識別子を外部再生装置181に送信して、外部再生装置181上のモニタなどで、ウェブページ上に操作ログに応じた操作状態を表示させる機能を持つ。
外部再生装置181では、表示モジュール241が、ログ連携サーバ装置141と通信を行い、例えばログ連携サーバ装置141に保存されている識別子の一覧をインタフェース部である入出力部183のモニタに表示して、インタフェース部である入出力部183のキーボードなどからの入力により、特定の識別子を選択・指定して、ログ連携サーバ装置141に通知したり、ログ連携サーバ装置141の操作再生モジュール232を介して、ウェブページ上の操作状態を表示したり、その表示状態を入出力部183からの指示に応じて変更したりする。
なお、図2では、外部再生装置181とログ連携サーバ装置141がライン233により直接接続されているが、ネットワーク161を介して接続されていてもよく、また、ウェブページのコンテンツや操作ログなどをウェブサーバ装置121などの他の装置から受信してもよい。更に、上述したとおり、ログ連携サーバ装置141と外部再生装置181のハードウェアは、同一のハードウェア、すなわち再生部が付属したログ連携サーバ装置として実現してもよい。
次に実施例1におけるウェブアプリケーションの操作記録・再生方法の処理フローを図3〜図6を使って説明する。図3は、操作記録の処理フローを示し、図4は、操作再生の処理フローを示す。図3と図4に示した処理フローは、順次切り替えて実施されても、同時並行的に実施されてもよい。
まず、図3に示すように、まずクライアント装置開始301によって、101クライアント装置のウェブブラウザモジュール211がウェブアプリケーションへのリクエストをウェブサーバ装置121に送信する(ステップ303)。ウェブサーバ装置121は、ウェブサーバモジュール221がクライアント装置101からリクエストを受信してウェブアプリケーション222のレスポンス202を生成する(ステップ323)。そして、識別子送信モジュール226がレスポンス生成毎に識別子204をログ連携サーバ装置141に送信する(ステップ324)。識別子の内容や、利用方法については図5、図6で説明する。
続いて、コンテンツ送信モジュール227がログ連携サーバ装置141にレスポンスのコンテンツを送信する(ステップ325)。さらに、機能挿入モジュールが操作ログ取得機能と識別子を挿入し、コンテンツを改変する(ステップ326)。ステップ324〜326に関しては、図3に示した順序に限らず、逆順や、同時並行的に実行しても良い。最後にウェブサーバ装置121からクライアント装置101に対してレスポンスを送信する(ステップ327)。ステップ323〜327の一連の処理は、ウェブサーバ装置121がウェブページの生成を行う処理のフローであり、以下ではまとめてステップ322と呼ぶ。ウェブサーバ装置121は、クライアント装置101からのリクエストが終了したり、ウェブサーバ装置121が終了されると処理を終了する(ステップ328、329)。
クライアント装置101がウェブサーバ装置121からレスポンスを受信する(ステップ304)。クライアント装置101におけるステップ303、304の一連の処理は、クライアント装置101におけるウェブページの表示を行う処理のフローであり、以下ではまとめてステップ302と呼ぶ。
ログ連携サーバ装置141は、ウェブサーバ装置121から識別子が送信されてきたかを判定し(ステップ343)、送信があった場合には、識別子とコンテンツを受信して保存する(ステップ344,345)。以下では、これらのウェブサーバ装置との通信処理をまとめてステップ342と呼ぶ。
続いて、ログ連携サーバ装置141では、保存されている識別子のリストを生成して、外部再生装置181にリストを表示し、外部再生装置181から指定された識別子に関連するウェブページ上での操作ログを送信させるコマンドの準備を行う(ステップ347)。このコマンドを利用した操作ログの受信は以下の処理フローで行われる。
まず、ステップ302を終えて、ウェブページの表示が完了したクライアント装置101では、レスポンスに含まれている操作ログ取得機能により、ウェブブラウザ上で行われた操作の操作ログが生成されメモリ上もしくはローカルディスクに保存される(ステップ306)。さらに、操作ログ取得機能は、ログ連携サーバ装置141に、ログ送信要求の有無を問い合わせる(ステップ307)。この際、クライアント装置101や、表示しているウェブページが特定できる識別子をログ連携サーバ装置141に送信する。
ログ連携サーバ装置141は、クライアント装置101からのログ送信要求有無の問い合わせを受けると、その問い合わせが、ステップ347で準備したコマンドを送信すべき対象からの問い合わせかを判定し(ステップ348)、該当する場合には、ステップ347で準備したコマンドをクライアント装置101に送信する(ステップ349)。
クライアント装置101は、コマンドを受信すると、ログ連携サーバ装置141へコマンドにて指定された操作ログを送信する(ステップ308)。ログ連携サーバ装置141は、クライアント装置101からログの送信があると(ステップ350)、受信して保存する(ステップ351)。これら一連の操作ログの受信処理のフローを、以下ではまとめてログ連携サーバ装置141側での処理フローをステップ346、クライアント装置101側の処理フローをステップ305と呼ぶ。
なお、ステップ348での判定処理は、クライアント装置101から受信した識別子と、ステップ347で指定された識別子が一致しなくても、該当する問い合わせがあったと判定してステップ349が実施される場合がある。例えば、ログ連携サーバ装置141が保存している識別子に、操作をしたユーザを特定可能なユーザの識別子があり、クライアント装置101から送られてきた識別子にはユーザの識別子は含まれていないものの、ウェブページのリクエスト毎にユニークな値をもつリクエストの識別子が含まれており、ログ連携サーバ装置141が保存している識別子のリストから、前記リクエストの識別子に関連して、そのリクエストを送信したユーザの識別子がある場合、同じユーザからの問い合わせであり、ステップ347で指定された識別子に関連した操作ログを問い合わせ元は持っていると判定して、コマンドを送信する。このように、ログ連携サーバ装置141において、識別子のリストを管理することで、過去に表示され、操作されたウェブページのコンテンツや操作ログをログ連携サーバ装置141が取得することができる。
なお、ログ連携サーバ装置141のステップ348の判定処理を省略して、クライアント装置101からのログ送信要求有無の問い合わせに対して常にコマンドを送信し、クライアント装置101側で、保存されている操作ログにコマンドの対象に該当する操作ログの有無を判定して、操作ログをログ連携サーバ装置141に送信する方法でも良い。
最後に、クライアント装置101では、ページ遷移があればステップ302に、なければ、操作が終了もしくはクライアント装置101が終了しなければステップ305に戻り、それ以外は処理を終了する(ステップ311)。ログ連携サーバ装置141も、ログ記録が終了しなければステップ342に戻り、それ以外は処理を終了する(ステップ352、353)。
次に本実施例におけるウェブアプリケーションの操作再生処理のフローについて図4で説明する。
まず、外部再生装置開始441で外部再生装置181が、操作再生対象を選択するために、ログ連携サーバ装置141に識別子リストの送信を要求する(ステップ443)。ログ連携サーバ装置141は、外部再生装置181からの識別子リストの送信要求を受けると、保存されている識別子のリストを生成して送信する(ステップ402)。外部再生装置181は、識別子リストを受信してそれを表示する(ステップ444)。ステップ443と444は、以下ではまとめてステップ442と呼ぶ。この表示画面は後で図6を用いて例示する。
次に、外部再生装置181で、操作の再生を行う部分を識別子のリストから選択して、ログ連携サーバ装置141に送信する(ステップ445)。識別子に含まれる情報によって選択方法は変わるが、例えば、特定のユーザの操作を選択的に再生対象としたり、特定のウェブページ上での操作を選択的に再生対象としたりすることができる。
ログ連携サーバ装置141は、外部再生装置181からログやコンテンツの送信要求を受けると(ステップ405)、ログ保存領域から、指定された識別子に該当する操作ログやコンテンツを読み出し(ステップ407)、それらを外部再生装置181に送信する(ステップ408)。続いて操作再生モジュールが、外部再生装置181に操作再生スクリプトなどのウェブページ上で操作状態を再生する機能を送信する(ステップ409)。以下では、ステップ407〜409をまとめてステップ406と呼ぶ。ログ連携サーバ装置141は、操作再生が終了するまで、これらの処理を繰り返す。
外部再生装置181では、ログ連携サーバ装置141から操作ログやコンテンツ、操作再生スクリプトなどを受信し(ステップ447、448)、操作再生スクリプトを利用して受信した操作ログとコンテンツからウェブページ上での操作状態を再生する(ステップ449)。以下では、ステップ447〜449をまとめてステップ446と呼ぶ。外部再生装置181は操作の再生が終わるまでこれらの処理を繰り返す。
以上、図3と図4に示した本実施例の記録・再生処理により、ウェブページ上での操作の記録、再生が実現できる。これらの処理は、クライアント装置ウェブブラウザプログラムとスクリプトエンジンプログラム以外に特別なプログラムを導入する必要がなく、識別子による選択で、再生したい操作の部分のログやコンテンツを選択的に収集して、再生するので、多数のユーザが利用するウェブシステムにおいても、拡張性(スケーラビリティ)を確保することができる。また、識別子に適切な情報を設定することにより、再生したい操作の部分の選択が、わかりやすく、容易化することができる。
以下、図5では図3、図4で説明した処理のフローをシーケンス図で表現し、識別子として設定する候補となるID(Identifier)とその意味をシーケンス図上に示す。また図6では、外部再生装置181における識別子のリストの表示例を示し、再生したい操作の部分の選択がわかりやすく容易にできることを示す。
図5は、図3、図4で説明した処理フローのシーケンス501を示す図である。ウェブページのリクエスト、レスポンスの生成・送受信・表示、操作ログの記録・再生の処理については、図3、図4を使った説明の通りである。ここでは、識別子として設定する候補となる各種のIDと、その他の説明していない事項についてのみ述べる。
識別子の候補としては、クライアントID、ページID、コンテンツID、リクエスト元ページID、セッションID、ユーザIDなどが挙げられる。
ここで、クライアントIDとは、ウェブページへのリクエストを出したクライアント装置101を特定可能な識別子で、具体的には、クライアント装置101のネットワークアドレスや、マシン名、ウェブブラウザのプロセス番号や、それらと関連するハッシュ値などが例として挙げられる。クライアントID502は、クライアント装置101で生成・取得可能なので、リクエストにつけてウェブサーバ装置121に送信することができる。
またページIDとは、ウェブサーバ装置121で生成したウェブページ毎にユニークな識別子である。具体的には、ウェブサーバ装置121が、ページのURLや、生成時刻、ウェブサーバ装置121のネットワークアドレスなどを組み合わせて作った値などが例として挙げられる。ページID503は、同一のURLであっても、別のリクエストで生成されたウェブページの場合には、別のページIDであることが望ましい。
リクエスト元ページIDとは、ウェブページ上で、リンクやボタンによって次のウェブページへの遷移が起こった場合に、次のウェブページへのリクエストを生成したウェブページのページIDである。リクエスト元ページID505と新しいページIDとセットで記録することによって、ページ遷移状態を記録していくことができる。
コンテンツIDとは、ページIDと類似の識別子であるが、ページIDがウェブページ単位に付与される識別子であるのに対して、コンテンツID504は、ウェブページのHTMLドキュメントに限らず、画像やスクリプトコードなどのデータに対しても付与する識別子である。変化の無い静的な画像の場合には、別のリクエストで要求された画像であっても、同じ画像であれば同じコンテンツIDを付与することが望ましい。これにより、コンテンツを保存していく際に、静的で変化の無いコンテンツについては、同じコンテンツIDを持つので、重複して保存していく必要がなくなる。
セッションIDとは、一連のウェブページの遷移に対して、通常ウェブサーバ装置121が設定する識別子である。図5では、ウェブページA,B,Cは一連のウェブページの遷移であるので、共通のセッションID506が与えられる。例えば、ウェブページA,B,Cの3ページで1つの作業が完結する場合に、これらの作業全体を選択して操作の再生をしたい場合には、セッションID504で再生対象を選択することが便利である。
ユーザIDとは、ウェブページへのリクエストを生成する操作をしたユーザを特定する識別子である。通常は、ユーザ認証を行う際に、ユーザが入力するか、認証後にウェブサーバ装置などが設定する識別子である。ユーザID507は、時間や場所をまたがって、同じユーザの操作を再生したい場合に、利用すると便利である。
図5からも分かるように、識別子によっては、タイミングによって存在しないものがあるため、ウェブサーバ装置121からログ連携サーバ装置141に送信される識別子はタイミングによって様々であるし、必ずしも常にすべての識別子を送信していなくても計算可能な識別子もある。
外部再生装置181とログ連携サーバ装置141間で、操作の再生対象を選択する際には、まず、ログ連携サーバ装置141が、保存している識別子のリストを送信するが、そのリストには、前記の識別子の候補のすべてもしくは一部が含まれ、その中から外部再生装置181で選択をすることによって、該当する操作ログとコンテンツを特定する。
図6は、外部再生装置181のモニタに表示される識別子リストの表示例と、選択方法の例である。図6では、クライアントID502,ユーザID507,セッションID506,ページID503と、時刻604が表示されている。時刻604は、例えば、ページID503で指定されるウェブページが生成された時刻であったり、もしくは、ユーザID507で指定されるユーザがユーザ認証を行った時刻であったりする。図6で通算番号を示す列603などで「すべて」と書かれたプルダウンメニューは、これらの識別子の中から、必要なものだけを選択して表示することで、再生対象の選択を容易化する機能である。また、図6の表の左端に表示されている「選択」の列602は、再生対象を指定するインタフェースである。
図5、図6には記載していないが、クライアント装置101で、ウェブページ上で操作が行われる毎に生成される操作ログに対して、それぞれ識別子として操作IDを付与して、これを他の識別子と同様にログ連携サーバ装置141に保存し、外部再生装置181から選択可能とする方法も本実施例の変形として採用可能である。
なお、図6は上述の通り、外部再生装置181の識別子リストの表示例を示す図であり、ログ連携サーバ装置141から送信された識別子リストの基づき表示されたものである。図示を省略したが、ログ連携サーバ装置141のローカルディスク等の記憶部には、このような識別子リストが蓄積、記憶されていることは言うまでもない。
以上詳述した本実施例の処理フローにより、クライアント装置上の操作を継続的に記録でき、選択的に操作の再生ができる。また、多数のユーザが利用するウェブシステムでも拡張性を確保することができる。
第2の実施例を、図7〜図9、図15、図16を用いて説明する。ここでは実施例1との差分についてのみ示し、実施例1で説明した部分については省略する。本実施例は、ウェブシステムにキャッシュが含まれる場合にも、正しくウェブアプリケーションの操作を再生可能な記録・再生方法およびウェブシステムの例である。
図7は、リクエストしたウェブページが、クライアント装置101上のキャッシュ領域に存在し、ウェブサーバ装置121にリクエストが送信されずに、クライアント装置上でウェブページの表示が完了した場合(以下、キャッシュヒットした場合)のシーケンス701を示す図である。
図7では、最初にウェブサーバ装置121から受信したウェブページ703(ページIDはA)に対して再度リクエストが出た場合で、キャッシュヒットして表示されたウェブページは、コンテンツはAと同じであるが、別のリクエストで表示したウェブページであるので、ページIDはA’とする。キャッシュヒットの検出方法は、本出願人が先に出願した特願2008−232805号「アプリケーションの実行管理方法、アプリケーションを実行するサーバ計算機及び中継装置」などの方法がある。この方法では、ウェブサーバ装置とクライアント装置からなるウェブシステム上において、クライアント装置が受信したコンテンツなどのレスポンスが、ウェブサーバ装置で生成されたものか、システム内のキャッシュから返信されたものかを区別するため、ウェブサーバ装置がコンテンツなどのレスポンスを生成する際に、キャッシュヒット判定用のプログラムなどのキャッシュヒット検出機能を操作ログ取得機能に追加しておき、レスポンスを受取ったクライアント装置がこのプログラムを実行することでキャッシュヒット判定を実現することを可能とするものである。
実施例1では、ログ連携サーバ装置141への識別子の送信はウェブサーバ装置121が行っていたため、ウェブページの生成と同時期にログ連携サーバ装置141上の識別子リストが更新されるものの、キャッシュヒットした場合には、キャッシュヒットしたウェブページの識別子がログ連携サーバ装置141上の識別子リストに含まれないという問題が生じる。
実施例2では、クライアント装置101で実行される操作ログ取得機能に、前述の本出願人による先願に開示したキャッシュヒットの検出方法に従ったキャッシュヒット検出機能と、キャッシュヒット検出時に、識別子を更新する機能、更新した識別子をログ連携サーバ装置141に送信(702)する機能を追加することで、前記の問題を解決する。
図8は、本実施例における、キャッシュヒット検出機能付きのウェブアプリケーションの操作記録方法の処理フローを示した図である。まず、クライアント装置開始801で、クライアント装置101において、リクエストしたページがキャッシュ領域にあるか否か判定し(ステップ802)、キャッシュにある場合には、キャッシュ領域からレスポンスを取り出して表示する(ステップ803)。
この際、前記の通り、ログ連携サーバ装置141には、識別子は送信されていない。次に、操作ログ取得機能に追加したキャッシュヒット検出機能、すなわちキャッシュヒット判定用のプログラムにより、ウェブページのレスポンスがキャッシュから取り出されたものかどうかを判定し(ステップ804)、キャッシュヒットの場合には、識別子の更新と、更新した識別子のログ連携サーバ装置への送信を行う(ステップ805、図7の送信702に対応)。
本実施例における識別子の更新は、以下の方法で行う。キャッシュヒットして取り出したレスポンスには、そのウェブページがウェブサーバ装置121で生成された際に挿入された識別子が含まれている。ここではその識別子を第1の識別子と呼ぶ。また、更新後の識別子を第2の識別子と呼ぶ。識別子の更新においては、第1の識別子と、第2の識別子が相互に関連付けられていて、かつ第2の識別子がキャッシュヒット時に更新された識別子であると分かることが望ましい。例えば、第1の識別子がAで、第2の識別子がA’のように、元のウェブページの識別子がAであったことが分かるようにする。これは、キャッシュヒットした場合には、そのウェブページのコンテンツは共通であるので、元のページのコンテンツを取得し、その上でキャッシュヒットしたウェブページ上での操作状態を再生する際に、元のページの識別子が更新後の識別子から計算できると、元のウェブページのコンテンツの取得が容易に行えるなどの利点があるためである。
ログ連携サーバ装置141では、クライアント装置101から識別子が送信されてきたかを判定し(ステップ842)、クライアント装置101からも識別子を受信してウェブサーバ装置121から受信した識別子と同様に保存する処理(ステップ843)が追加される。
なお、ステップ804を省略し、キャッシュヒットの有無によらずに、常にクライアント装置101からログ連携サーバ装置141に識別子を送信する処理でも良い。ただし、この場合には、キャッシュヒットした場合に、元のページの識別子がログ連携サーバ装置141に送信されるため、ログ連携サーバ装置141において、識別子の更新をする必要がある。具体的には、ログ連携サーバ装置141上に保存されている識別子のリストを検索して、クライアント装置101から送信されてきた識別子に含まれるページIDと一致するページIDの有無を調べ、このページIDが存在した場合には、キャッシュヒットと判定して、識別子の更新を行ってから、識別子のリストに追加する方法が例として挙げられる。この場合の識別子の更新も、前記と同様に、更新前の識別子が更新後の識別子から計算により求められることが望ましい。以上の操作記録方法の処理フローを以下ではまとめてステップ860と呼ぶ。
図9は本実施例におけるウェブアプリケーションの操作再生方法の処理のフローを示した図である。ログ連携サーバ装置141において、ログ連携サーバ装置開始901で処理402の後、外部再生装置181から指定された識別子がキャッシュ領域から取り出された際に生成された識別子であるかを判定し(ステップ903)、キャッシュヒットの場合には、識別子(前述の第2の識別子)を元の識別子(前述の第1の識別子)に変換して(ステップ904)、変換後の識別子に該当するコンテンツを外部再生装置181に送信する。なお、操作ログについては、変換前の識別子に該当する操作ログを送信する。キャッシュヒット時には、ログ連携サーバ装置141に、ウェブページのコンテンツが保存されていないものの、キャッシュ元のウェブページのコンテンツを取得することが可能になり、キャッシュヒットしたウェブページ上での操作状態の再生が実現できる。
図15は、上述した実施例が対象とする別のシステム構成を示した図である。図1のシステム構成との違いは、ネットワーク上にキャッシュサーバ装置1501があることである。キャッシュサーバ装置1501は、ウェブサーバ装置121などと同様に、プロセッサ1503、ローカルディスク1504、入出力部1502、ネットワークインタフェース1506、メモリ1507などから構成され、ネットワーク161に接続されている。メモリ1507上には、キャッシュサーバプログラム1508が格納され、プロセッサ1503上で実行される。ローカルディスク1504には、キャッシュ領域1505があり、キャッシュサーバプログラム1508が、ウェブページのコンテンツなどを一時的に保存するのに利用される。
図16は、図15に示したシステム構成において、ウェブアプリケーションの操作記録方法の処理のフローを示した図である。ここでは、図8との差分についてのみ説明する。なお、図16では図8に記載のログ連携サーバ装置141についての処理フローが省略されているが、処理フローは図8と同じである。
キャッシュサーバ装置開始1621により、キャッシュサーバ装置1501は、クライアント装置101からウェブサーバ装置121へのリクエストをウェブサーバ装置121到着前に取得し、キャッシュ領域に該当するレスポンスが存在するかを判定し(ステップ1622)、該当するレスポンスがある場合には、それをクライアント装置101に送信し(ステップ1624)、ない場合には、ウェブサーバ装置121にリクエストを転送し(ステップ1625)、ウェブサーバ装置121からのレスポンスをクライアント装置101へ転送しつつ、キャッシュ領域に保存する(ステップ1626)。
一方、クライアント装置101では、キャッシュサーバ装置1501から受信したレスポンスも、キャッシュヒットと判定して処理を行う。図15のシステム構成における操作の再生方法は、図8、図9と同じであるのでここでは説明を省略する。
以上説明した実施例2の処理フローにより、クライアント装置やキャッシュサーバ装置におけるキャッシュヒット時にも操作の記録・再生を正しく実現することができる。
キャッシュヒット時におけるウェブアプリケーションの操作再生方法における第3の実施例を、図10を用いて説明する。ここでは実施例2との差分についてのみ示し、実施例2で説明した部分については説明を省略する。
図10はウェブアプリケーションの操作再生方法の処理のフローを示した図である。図9の説明で述べたように、キャッシュヒット時にはキャッシュ元のコンテンツを取得する必要がある。しかし、キャッシュ元のコンテンツがログ連携サーバ装置141上に保存される時刻は、キャッシュヒットしたウェブページへのリクエストが発生した時刻よりも前である。ログ連携サーバ装置141では、識別子やコンテンツ、操作ログなどをログ保存領域に保存しているが、ログ保存領域の容量の制約などから、一部のデータを削除したり(ステップ1006、1007)、別の記憶領域に移動したりすることが考えられる。そのような場合、通常は古いデータからその対象となることが多い。すると、キャッシュ元のコンテンツが、ログ保存領域になく、操作の再生が正しく行えなくなる問題が発生する。
そこで、本実施例においては、キャッシュ元のコンテンツとして外部再生装置181に送信する対象となったコンテンツに対しては、そのコンテンツが削除されたり、移動されたりしにくくするなどの保護を行う(ステップ1005)ことで問題の解決を図る。具体的には、このコンテンツの削除や移動などが行われない、もしくは行われにくくするなどの保護のステップ1005は、保存されているコンテンツに削除対象とする優先順位づけを行い、保護対象になったコンテンツの優先順位を下げたり、一定時間有効な削除・移動禁止マーカーをそのコンテンツにつける、各コンテンツに最後に利用された時刻を記録して、この時刻が古い順に削除対象とするなどの方法が例として挙げられる。
以上の実施例3の処理フローにより、キャッシュヒット時にも操作の再生を正しく実現できる可能性を高めることができる。
ウェブアプリケーションの操作再生方法の処理に関する別の実施例を、図11を用いて説明する。ここでは実施例2との差分についてのみ示し、実施例2で説明した部分については省略する。
図11は、ウェブアプリケーションの操作再生方法の処理のフローを示す図である。実施例2の外部再生装置181では、操作の再生を実施後に、次の再生対象の指定を待っていたが、ユーザの操作と同時並行的に操作の再生を行っている場合には、ユーザの操作を自動的に再生できると、操作の再生の利便性が高まる。
図11では、外部再生装置181が、操作の再生(ステップ446)実施後に、操作を再生した部分の識別子の後続の識別子がログ連携サーバ装置141に存在するかを問い合わせ(ステップ1144)、存在する場合には、再生対象の識別子を後続の識別子に更新して(ステップ1146)、自動的に操作の再生を行う(ステップ1143)。ログ連携サーバ装置141では、外部再生装置181から指定された識別子の後続の識別子の有無を判定する処理(ステップ1105)が追加される。
ここで、後続の識別子とは、例えば、リクエスト元ページIDとページIDの関係における、ページIDである。つまり、再生したウェブページのページIDがAである場合に、リクエスト元ページIDがAであるページIDがBのウェブページの識別子がログ連携サーバ装置141にある場合、後続の識別子として、ページIDがBのウェブページの識別子を外部再生装置181に送信し、外部再生装置181は、その識別子を指定して、再生対象の操作ログやコンテンツを取得して再生を実施する。ここでは、ウェブページを単位として、後続の識別子の有無を説明したが、操作を単位として、後続の操作IDの有無を判定して、同じウェブページ上の後続の操作を自動的に再生することも本実施例の一態様である。
以上説明した実施例4の処理フローにより、ユーザの操作と同時並行的に操作の再生を実現することができ、操作の再生の利便性が高まる。
続いて、第5の実施例としてウェブアプリケーションの操作記録方法の他の実施例を、図12を用いて説明する。ここでは実施例2との差分についてのみ示し、実施例2で説明した部分については省略する。
図12は、ウェブアプリケーションの操作記録方法の処理フローを示した図である。実施例2では、ログ連携サーバ装置141において、クライアント装置101から操作ログを送信してもらう処理のみ示したが、本実施例においては、クライアント装置101上の操作ログの削除や、条件を満たした操作ログのみを送信してもらう、クライアント装置101上の操作ログに対して統計処理を行った結果を送信してもらうことで、操作の再生に必要な情報を得られたり、操作ログを活用した情報処理が実現できる。
図12では、外部再生装置181などの外部装置から、指定された識別子に対して、前記のようなログ操作のコマンドを準備し(ステップ1242)、クライアント装置からの問い合わせに対して、準備したコマンドを送信して(ステップ1243、1244)、クライアント装置からコマンドに従ったログ操作の結果を受信する(ステップ1245、1246)。
クライアント装置101では、ログ連携サーバ装置141から受信したコマンドに従ってログ操作を実施し(ステップ1204)、その結果をログ連携サーバ装置に送信する(ステップ1205)。
以上の処理フローにより、クライアント装置101上で操作ログに対する複雑な処理を実施でき、操作ログの活用範囲を拡大できる。
ウェブアプリケーションの操作記録方法についての別の実施例を、図13、図14を用いて説明する。ここでは実施例2との差分についてのみ示し、実施例2で説明した部分については省略する。
図13は、ウェブアプリケーションの操作記録方法の処理のフローを示した図である。図13で、クライアント装置101において、操作ログ取得機能にログ連携サーバ装置141へのログ送信要求を出す機能が含まれ(ステップ1304,1305)、ログ連携サーバ装置141では、クライアント装置101からのログ送信要求を受けて、操作ログを受信する処理(ステップ1342、1343)が追加される。
図14は、本実施例におけるクライアント装置101での操作ログ送信画面の一例を示す図である。図14で操作ログ取得機能がログ送信ボタン1403をウェブページ上に追加し、このボタンが押下されると、ログ送信要求がログ連携サーバ装置141に送信される。別の方法としては、入力フォームやプルダウンメニュー、チェックボックス、ラジオボタンなど(1404)の入力状態や選択状態に応じてログ送信要求を送信する方法もある。
以上の処理フローにより、クライアント装置101側からログ連携サーバ装置141へのログ送信が実現され、クライアント側から操作の再生対象を指定でき、操作の再生の利便性が向上する。
以上、第1〜第6の実施例を例示して説明したが、これらの実施例1〜6の任意の選択的な組合せも他の実施例となる。
また、実施例1〜6はそれぞれ一例を示したに過ぎず、例えば、操作の再生をしつつ、不要な操作ログをクライアント装置上から削除するなども本発明の実施例の組み合わせにて実現される。また、操作ログに含まれる可能性のある情報としては、ウェブブラウザ上で記録可能なすべての情報が対象となる。また、すべての装置が1台ずつの場合のみ説明したが、先にも述べたように、それぞれ複数であったり、複数の装置が少ない台数にまとまっている場合も含まれる。さらに、上述した各サーバにおける処理の一部又は全部を、クライアントが実行しても良い。
本発明は、ウェブアプリケーションの操作を記録し、再生する処理方法および処理装置として極めて有用である。
101、1401…クライアント装置
102、125、146、183、1502…入出力部
103、123、143、184、1503…プロセッサ
104、124、144、1504…ローカルディスク
105、1505…キャッシュ領域
106、122、142、182、1506…ネットワークインタフェース
107、126、147、185、1507…メモリ
108…ウェブブラウザプログラム
109…スクリプトエンジンプログラム
121…ウェブサーバ装置
127…ウェブサーバプログラム
128…機能挿入プログラム
129…識別子送信プログラム
141…ログ連携サーバ装置
145…ログ保存領域
148…ログ連携サーバプログラム
149…操作再生プログラム
161…ネットワーク
181…外部再生装置
186…表示プログラム
1501…キャッシュサーバ装置
1508…キャッシュサーバプログラム。

Claims (15)

  1. ウェブアプリケーションを実行するウェブサーバと、ウェブページを表示するウェブブラウザと、これらを相互に結合するネットワークとから構成されるウェブシステムにおけるウェブアプリケーションの操作記録・再生方法であって、
    前記ウェブシステムは、前記ウェブページ上の操作ログを保存するログ連携サーバを備え、
    前記ウェブサーバは、生成したウェブページを前記ウェブブラウザに送信する際に、当該ウェブページに関連する識別子を前記ログ連携サーバに送信し、前記ウェブブラウザで動作する操作ログ取得機能と前記識別子の少なくとも一部を前記ウェブページに挿入して前記ウェブブラウザに送信し、
    前記ウェブブラウザは、前記ウェブサーバにウェブページのリクエストを送信して、受信した前記ウェブページに挿入された前記操作ログ取得機能を実行して、ウェブページ上での操作ログを生成し、前記識別子と関連付けして保存し、
    前記ログ連携サーバは、前記ウェブサーバから送信された前記識別子を保存し、保存された前記識別子の中から特定の識別子を選択して、選択された前記識別子に関連するウェブページの操作ログの要求を前記ウェブブラウザに送信し、前記ウェブブラウザから前記操作ログを受信する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  2. 請求項1に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記識別子として、前記ウェブページのリクエスト毎にユニークな値を持つページID、リクエスト元のページID、前記ウェブページのリクエスト送信元を特定できるクライアントID,前記ウェブページをリクエストしたユーザを特定できるユーザID、連続した一連の前記ウェブページのリクエストに付与されるセッションID、前記ウェブページ上での操作毎にユニークな値を持つ操作IDのいずれか1つ以上が含まれる、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  3. 請求項1に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ウェブシステムは、前記ログ連携サーバに接続可能な外部再生部を更に含み、
    前記外部再生部は、前記ログ連携サーバに保存されている前記識別子を一覧表示し、一覧表示された前記識別子の中から特定の識別子を選択して、前記ログ連携サーバに送信し、
    選択した前記識別子に関連するウェブページのコンテンツと、当該ウェブページ上での操作ログを取得し、前記操作ログに従った操作内容を出力する、
    ことを特徴とする、ウェブアプリケーションの操作記録・再生方法。
  4. 請求項3に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ログ連携サーバは、前記ウェブサーバが生成した前記ウェブページが前記ウェブブラウザに送信される際に、前記ウェブページに関連する識別子に加えて、前記ウェブページのコンテンツを受信し、前記ウェブページに関連する識別子と関連付けて保存し、
    前記外部再生部は、選択した前記識別子に関連する前記ウェブページのコンテンツと前記操作ログを前記ログ連携サーバから受信する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  5. 請求項4に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ウェブブラウザは、前記ウェブブラウザ上で実行される前記操作ログ取得機能で前記ウェブページに挿入された識別子を前記ログ連携サーバに送信し、
    前記ログ連携サーバは、前記ウェブブラウザから前記識別子を受信し、前記ウェブサーバから受信した前記識別子と共に保存する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  6. 請求項5に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ウェブシステムは、前記ウェブページのコンテンツを一時保存し、前記ウェブブラウザからのリクエストに該当するウェブページのコンテンツが一時保存されていた場合に、当該コンテンツを前記ウェブブラウザに送信するキャッシュを更に含み、
    前記ウェブブラウザは、ウェブページを前記キャッシュから受信した場合に、前記キャッシュから受信したウェブページに関連する識別子を第1の識別子と呼び、前記第1の識別子と一意に関連付けられる第2の識別子に変換して、前記ログ連携サーバに識別子として送信し、
    前記ログ連携サーバは、前記外部再生部から指定された識別子のウェブページのコンテンツの送信要求を受けた際、前記指定された識別子が前記第2の識別子である場合に、前記第2の識別子から前記第1の識別子に変換し、前記第1の識別子に関連するウェブページのコンテンツを前記外部再生部に送信する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  7. 請求項6に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ログ連携サーバは、前記外部再生部から指定された前記識別子を前記第2の識別子であると判定して、第1の識別子に変換し、当該第1の識別子に関連するウェブページのコンテンツとして前記外部再生部に送信したコンテンツの保護を行う、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  8. 請求項3に記載のウェブアプリケーションの操作性記録・再生方法であって、
    前記外部再生部は、表示しているウェブページ上で行われた操作として、前記ログ連携サーバから受信している操作ログの後続の操作ログ、もしくは、表示しているウェブページの後続のウェブページに関連する識別子の有無を前記ログ連携サーバに問い合わせ、該当する識別子がある場合に、当該後続の操作ログやウェブページのコンテンツを、前記ログ連携サーバから受信する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  9. 請求項1に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ウェブブラウザ上で実行される前記操作ログ取得機能は、前記ログ連携サーバにログ操作要求の有無を問い合わせ、要求があると当該要求に応じた操作を行った後に、操作の結果を前記ログ連携サーバに送信する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  10. 請求項1に記載のウェブアプリケーションの操作記録・再生方法であって、
    前記ウェブブラウザ上で実行される前記操作ログ取得機能は、一定の条件で操作ログの送信要求を前記ログ連携サーバに送信し、適切なタイミングで前記ログ連携サーバに操作ログを送信し、
    前記ログ連携サーバは、前記ウェブブラウザからのログ送信要求の有無を判定し、前記ログ送信要求がある場合に、適切なタイミングで操作ログを受信し、保存する、
    ことを特徴とするウェブアプリケーションの操作記録・再生方法。
  11. ウェブアプリケーションを処理部で実行するウェブサーバと、ウェブページを表示するウェブブラウザを実行するクライアントを前記ウェブサーバに結合するネットワークから構成されるウェブシステムであって、
    前記ウェブシステムは、処理部と前記ウェブページ上の操作ログを保存する記憶部とを有するログ連携サーバを更に備え、
    前記ウェブサーバの処理部は、生成したウェブページを前記クライアントに送信する際に、ウェブページに関連する識別子を前記ログ連携サーバに送信し、前記ウェブブラウザで動作する操作ログ取得機能と前記ウェブページに関連する識別子の少なくとも一部とを前記ウェブページに挿入して前記クライアントに送信し、
    前記ログ連携サーバの処理部は、前記ウェブサーバから送信された前記識別子を保存し、
    保存された前記識別子の中から特定の識別子を選択して、選択された識別子に関連する前記ウェブページの操作ログの送信要求を出し、前記クライアントが前記ウェブページに挿入された前記操作ログ取得機能を実行して生成し、前記識別子と関連付けした前記操作ログを受信する、
    ことを特徴とするウェブシステム。
  12. 請求項11に記載のウェブシステムであって、
    前記識別子として、ウェブページのリクエスト毎にユニークな値を持つページID、リクエスト元のページID、ウェブページのリクエスト送信元を特定できるクライアントID,ウェブページをリクエストしたユーザを特定できるユーザID、連続した一連のウェブページのリクエストに付与されるセッションID、ウェブページ上での操作毎にユニークな値を持つ操作IDのいずれか1つ以上が含まれる、
    ことを特徴とするウェブシステム。
  13. 請求項12に記載のウェブシステムであって、
    前記ログ連携サーバに接続された外部再生装置を更に備え、
    前記外部再生装置は、前記ログ連携サーバの前記記憶部に保存されている前記識別子を一覧表示し、一覧表示された識別子の中から特定の識別子の選択をするインタフェース部を有し、選択された識別子を前記ログ連携サーバに送信し、前記選択された識別子に関連するウェブページのコンテンツと、前記ウェブページ上での操作ログを取得し、前記操作ログに従った操作内容を表示する、
    ことを特徴とするウェブシステム。
  14. 請求項11に記載のウェブシステムであって、
    前記ログ連携サーバに接続された外部再生装置と、
    前記ウェブページのコンテンツを一時保存し、前記クライアントからのリクエストに該当するウェブページのコンテンツが一時保存されていた場合に、前記コンテンツを前記クライアントに送信するキャッシュ機能を更に含み、
    前記クライアントは、前記ウェブページを前記キャッシュ機能から受信した場合に、受信した前記ウェブページに関連する識別子を第1の識別子とし、前記第1の識別子と一意に関連付けられる第2の識別子に変換して、前記ログ連携サーバに識別子として送信し、
    前記ログ連携サーバの処理部は、前記外部再生装置から指定された識別子のウェブページのコンテンツの送信要求を受けた際、指定された前記識別子が前記第2の識別子である場合に、前記第2の識別子から前記第1の識別子に変換し、変換された前記第1の識別子に関連するウェブページのコンテンツを送信する、
    ことを特徴とするウェブシステム。
  15. ウェブアプリケーションを処理部で実行するウェブサーバと、ウェブページを表示するウェブブラウザを処理部で実行するクライアントとが相互に結合されるウェブシステムであって、
    前記ウェブシステムは、処理部と記憶部とを有するログ連携サーバと、前記ログ連携サーバに接続される再生部を更に備え、
    前記ウェブサーバの処理部は、生成したウェブページを前記クライアントに送信する際に、ウェブブラウザで動作する操作ログ取得機能と、前記ウェブページに関連する識別子とを前記クライアントに送信し、前記ウェブページに関連する識別子を前記ログ連携サーバに送信し、
    前記クライアントの処理部は、前記ウェブサーバから受信した前記操作ログ取得機能を実行して、ウェブページ上での操作ログを生成し、前記識別子に関連付けして保存し、
    前記ログ連携サーバの処理部は、受信した前記識別子を前記記憶部に記憶し、
    前記再生部は、前記ログ連携サーバの前記記憶部に記憶されている前記識別子の中の特定の識別子を選択して前記ログ連携サーバに送信し、前記選択された識別子に関連するウェブページのコンテンツと、前記ウェブページ上での操作ログとを取得して再生することを特徴とするウェブシステム。
JP2009211893A 2009-09-14 2009-09-14 ウェブアプリケーションの操作記録・再生方法およびシステム Expired - Fee Related JP5483965B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009211893A JP5483965B2 (ja) 2009-09-14 2009-09-14 ウェブアプリケーションの操作記録・再生方法およびシステム
US12/845,407 US8463874B2 (en) 2009-09-14 2010-07-28 Method and system of recording and reproducing web application operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009211893A JP5483965B2 (ja) 2009-09-14 2009-09-14 ウェブアプリケーションの操作記録・再生方法およびシステム

Publications (2)

Publication Number Publication Date
JP2011060196A JP2011060196A (ja) 2011-03-24
JP5483965B2 true JP5483965B2 (ja) 2014-05-07

Family

ID=43731560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009211893A Expired - Fee Related JP5483965B2 (ja) 2009-09-14 2009-09-14 ウェブアプリケーションの操作記録・再生方法およびシステム

Country Status (2)

Country Link
US (1) US8463874B2 (ja)
JP (1) JP5483965B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120246634A1 (en) * 2011-03-23 2012-09-27 Dell Products L.P. Portable virtual applications
JP5737166B2 (ja) * 2011-12-15 2015-06-17 富士通株式会社 中継装置、中継プログラムおよび中継方法
JP6102108B2 (ja) * 2012-07-24 2017-03-29 富士通株式会社 情報処理装置、データ提供方法、及びデータ提供プログラム
JP2014059699A (ja) * 2012-09-18 2014-04-03 Nomura Research Institute Ltd デモアプリケーション生成システムおよびデモアプリケーション生成プログラム
CN107092589B (zh) * 2012-09-18 2021-03-09 株式会社野村综合研究所 Web服务器系统、画面控件显示方法以及演示应用生成方法
US9596313B2 (en) * 2013-04-12 2017-03-14 Tencent Technology (Shenzhen) Company Limited Method, terminal, cache server and system for updating webpage data
TW201445489A (zh) * 2013-05-31 2014-12-01 Hon Hai Prec Ind Co Ltd 資料追蹤方法及系統
US20150121192A1 (en) * 2013-10-24 2015-04-30 Oracle International Corporation Debugging errors in display of web pages with partial page refresh
US9665473B2 (en) * 2014-03-25 2017-05-30 Accenture Global Services Limited Smart tester application for testing other applications
CN103902454A (zh) * 2014-04-08 2014-07-02 安一恒通(北京)科技有限公司 一种软件故障的定位方法和装置
WO2016022137A1 (en) * 2014-08-08 2016-02-11 Hewlett Packard Enterprise Development Lp Replicating a web technology
CN104598348B (zh) * 2015-02-28 2018-07-13 南京途牛科技有限公司 一种远程实时分析外部系统接口性能的方法及系统
US10466867B2 (en) * 2016-04-27 2019-11-05 Coda Project, Inc. Formulas
CN113806318A (zh) * 2021-07-30 2021-12-17 奇安信科技集团股份有限公司 基于页面的浏览器日志输出方法、装置、设备及存储介质
US20230289365A1 (en) * 2022-03-13 2023-09-14 Synergy, Inc. Systems and methods for monitoring document synchronization

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228498A (ja) * 2002-02-05 2003-08-15 Toshiba Corp 履歴データ収集システムおよび履歴データ収集プログラム
JP4140916B2 (ja) 2005-12-22 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Webページにおける状態遷移を解析する方法
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 ユーザ操作記録・再現方法及び装置
CN101192227B (zh) * 2006-11-30 2011-05-25 阿里巴巴集团控股有限公司 一种基于分布式计算网络的日志文件分析方法和系统
JP4847397B2 (ja) 2007-06-05 2011-12-28 株式会社日立ソリューションズ 逐次保存型Webアプリケーションシステム
KR101370318B1 (ko) * 2007-06-11 2014-03-06 에스케이플래닛 주식회사 사용자의 콘텐츠 사용정보 수집을 위한 방법 및 서버
JP4906672B2 (ja) 2007-10-22 2012-03-28 株式会社日立製作所 ウェブアプリケーションの処理記録方法および処理記録装置
JP4686559B2 (ja) * 2008-01-25 2011-05-25 株式会社東芝 通信監視記録再生装置及び通信監視記録再生システム

Also Published As

Publication number Publication date
JP2011060196A (ja) 2011-03-24
US8463874B2 (en) 2013-06-11
US20110066704A1 (en) 2011-03-17

Similar Documents

Publication Publication Date Title
JP5483965B2 (ja) ウェブアプリケーションの操作記録・再生方法およびシステム
JP5325169B2 (ja) ウェブアプリケーションの操作再現方法およびシステム
US20200351363A1 (en) Method and system for monitoring an activity of a user
JP5476326B2 (ja) ウェブ操作記録・再現方法および装置
JP2008117093A (ja) ユーザ操作記録・再現方法及び装置
JP6068592B2 (ja) コンテンツ表示装置、コンテンツ表示システム、データ構造、コンテンツ表示方法及びコンテンツ表示プログラム
JP4902285B2 (ja) 情報閲覧装置、その制御方法及びプログラム
US20100058118A1 (en) Storage medium recording information reacquisition procedure generation program and information reacquisition procedure generation apparatus
US8654793B2 (en) Network device for sharing multimedia data with other network devices existing on network and method therefor
JP2010128877A (ja) ウェブシステムおよび処理記録収集方法
EP2015202A1 (en) Method and apparatus for generating electronic content guide
US20130263156A1 (en) Operation log collection method and device
US7363368B2 (en) System and method for transaction recording and playback
JP2010250583A (ja) アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置
JP2007149036A (ja) メタデータ生成装置およびメタデータ生成方法
JP2009176124A (ja) 通信監視記録再生装置及び通信監視記録再生システム
JP4586652B2 (ja) Rss文書の閲覧方法及び装置及びプログラム及びプログラムを格納した記憶媒体
JP4058308B2 (ja) サービス中断復元システム、サービス中断復元方法、通信端末、サービス中断復元装置及びサービス中断復元プログラム
JP4496919B2 (ja) Web閲覧操作の記録・再生装置及びプログラム及びコンピュータ読み取り可能な記憶媒体
JP2006113745A (ja) インターネット広告システム
CN112601129B (zh) 视频交互系统、方法和接收端
US7359963B1 (en) System and method for maintaining and publishing web site content
JP2005115684A (ja) コンテンツ検索装置及びコンテンツ検索方法
JP2003036242A (ja) サーバマシン、クライアントマシン、サーバプログラム記憶媒体、クライアントプログラム記憶媒体、サーバプログラム、およびクライアントプログラム
JP4496929B2 (ja) 複数Web閲覧操作の並列再生装置及びプログラム及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131018

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140218

R150 Certificate of patent or registration of utility model

Ref document number: 5483965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees