JP2011159281A - System and method for recording and reproducing web-based mobile task - Google Patents

System and method for recording and reproducing web-based mobile task Download PDF

Info

Publication number
JP2011159281A
JP2011159281A JP2010279386A JP2010279386A JP2011159281A JP 2011159281 A JP2011159281 A JP 2011159281A JP 2010279386 A JP2010279386 A JP 2010279386A JP 2010279386 A JP2010279386 A JP 2010279386A JP 2011159281 A JP2011159281 A JP 2011159281A
Authority
JP
Japan
Prior art keywords
session
event
user
recorded
web
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
JP2010279386A
Other languages
Japanese (ja)
Other versions
JP5649944B2 (en
Inventor
Dong Zhou
ドン ゾウ,
Ajay Chander
アジェイ チャンダー,
Yusuke Kushida
ユウスケ クシダ
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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2011159281A publication Critical patent/JP2011159281A/en
Application granted granted Critical
Publication of JP5649944B2 publication Critical patent/JP5649944B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method and a device for recording and reproducing a web-based task. <P>SOLUTION: This method or the like is constituted to record the web-based task executed during a session carried out just before by a user without giving expressly a sign about start of the record session, and includes automatic finding of the start of the session without involvement of the user, reception of a request for reproducing the recorded web-based task, and the reproduction of the recorded web-based task. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

(優先権)
[0001]本特許出願は、2009年12月15日に出願された「System and methods for record & replay of web−based mobile tasks」と題する、対応する仮特許出願第61/286,724号に対する優先権を主張し、この仮特許出願を参照により組み込む。
(priority)
[0001] This patent application is a priority over the corresponding provisional patent application 61 / 286,724, filed December 15, 2009, entitled "System and methods for record & replay of web-based mobile tasks". Claims and incorporates this provisional patent application by reference.

(発明の分野)
[0002]本発明の実施形態は、ユーザによってデバイス上で実施されるタスクの記録及び再生の分野に関する。より詳細には、本発明の実施形態は、モバイルハンドセットユーザのためのウェブベースのタスクの記録及び再生に関する。
(Field of Invention)
[0002] Embodiments of the present invention relate to the field of recording and playback of tasks performed on a device by a user. More particularly, embodiments of the present invention relate to recording and playback of web-based tasks for mobile handset users.

(発明の背景)
[0003]モバイルブロードバンド及びアドバンストモバイルプラットフォーム(カリフォルニア州クパティーノのアップル(登録商標)コンピュータからのiPhone(登録商標)、カリフォルニア州マウンテンビューのグーグル(登録商標)からのAndroid(登録商標)、及びWebOSプラットフォームなど)の集まりは、ウェブ関連の日常タスクのためのモバイルデバイス使用の普及を大きく加速した。消費者はますます、自分のスマートフォンを使用して、オンラインで買い物をし、ブログやコメントを書きたいときに書き、動的に変化する特定のオンライン情報(好きなチームが出ている試合の実況情報や、収集している物の最も早く期限切れとなるオークション商品など)の現況をチェックする。
(Background of the Invention)
[0003] Mobile Broadband and Advanced Mobile Platforms (such as iPhone (R) from Apple (R) computers in Cupertino, California, Android (R) from Google (R) in Mountain View, California, and WebOS platforms ) Greatly accelerated the spread of mobile device use for everyday web-related tasks. Increasingly, consumers use their smartphones to shop online, write blogs and comments, and write specific online information that changes dynamically (like a match from a favorite team) Information, and the current status of auction items that are the earliest expired items being collected).

[0004]それでもやはり、固定回線の高速接続を有するパーソナルコンピュータ(PC)と比較すると、モバイルデバイスからウェブ関連タスクを行うことは、使い勝手に関するいくつかの懸念を依然として有し、これらの懸念は、このようなモバイルデバイスに内在する二つの特性、即ち、1)より弱く安定性の劣る接続、及び2)小さいフォームファクタを根源とする。   [0004] Nevertheless, performing web-related tasks from a mobile device still has some usability concerns, compared to personal computers (PCs) with fixed-line high-speed connections, and these concerns It originates from two characteristics inherent in such mobile devices: 1) weaker and less stable connections, and 2) smaller form factors.

[0005]最近の技術進歩にも関わらず、セルラーネットワーク接続は、デバイスがセルのエッジに近いとき及び/又は厳しい干渉があるときは特に、それらに対応する固定回線の接続よりもまだ相対的に遅く安定性が劣る。この結果、ユーザアクション及びインターネット要求/応答のシーケンスを含むウェブセッションの場合は特に、ネットワークレイテンシ及びユーザ待ち時間はより長くより予測可能性が低く、従って、ユーザ体験はより劣る。モバイルデバイスのフォームファクタが小さいこともまた、モバイルデバイスとの対話をずっと困難にする。小さい画面では、表示されたものが読みづらく、或いは正しい位置をクリック/タップするのが難しい。フルサイズのキーボード及び安定したアームサポートがないため、テキストが入力しづらく、或いはデータをあるアプリケーションから別のアプリケーションに移すのが難しい。   [0005] Despite recent technological advances, cellular network connections are still relatively relative to their fixed line connections, especially when devices are near the edge of the cell and / or when there is severe interference. Slow and inferior in stability. This results in longer and less predictable network latencies and user latencies, particularly in the case of web sessions that include user actions and Internet request / response sequences, and therefore the user experience is inferior. The small mobile device form factor also makes it much more difficult to interact with mobile devices. On a small screen, it is difficult to read what is displayed, or it is difficult to click / tap the correct position. The lack of a full-size keyboard and stable arm support makes it difficult to enter text or to transfer data from one application to another.

[0006]このことを念頭に置いて、技術関連ニュースを閲覧しているユーザがgizmodo.comで興味深い記事を見つけ(図1a参照)、自分のブログ上でこの記事を引用してコメントを書きたいと想像してみる。こうするためにユーザは、記事の興味深い段落を強調表示してコピーし、次いでblogger.comに行き、ユーザ名及びパスワードをタイプ入力することによってログインする(図1b参照)。ユーザは次に「新規投稿」をクリックして、新しいブログエントリを作成し(図1c参照)、そこで、gizmodo.com記事からの事前にコピーした段落(場合によっては記事のURLを含む)を貼り付ける(図1d参照)。この一見単純なタスクは、モバイルデバイス上では単純さがずっと低い。その理由は、ユーザがタイプ入力及びコピー/貼付けするのが難しいからだけでなく、デバイスの接続性が変わりやすく時として悪い場合があり、複数のページがゆっくりロードするのをユーザが待機する必要があるからでもある。   [0006] With this in mind, a user viewing technology-related news is gizmodo. Imagine you find an interesting article at com (see Figure 1a) and want to cite this article on your blog and make a comment. To do this, the user highlights and copies an interesting paragraph of the article, then blogger. com and log in by typing in a username and password (see FIG. 1b). The user then clicks “New Post” to create a new blog entry (see FIG. 1c), where gizmodo. The past copied paragraph (possibly including the URL of the article) from the com article is pasted (see FIG. 1d). This seemingly simple task is much less simple on mobile devices. The reason is not only because it is difficult for the user to type and copy / paste, but also because the connectivity of the device can be variable and sometimes bad, the user has to wait for multiple pages to load slowly. It is because there is.

[0007]これらの問題に対する従来技術の解決法がいくつかある。WebVCRは、ユーザが閲覧ステップを記録及び再生することのできるVCR式のユーザインタフェースを提供する。WebVCRは、複数のナビゲーションステップを必要とするウェブデータにアクセスするためのショートカットを作成するのに使用されるよう意図されており、また、オンラインチュートリアルや電子商取引などのウェブアプリケーション用の土台として使用することもできる。WebVCRには、いくつかの制限がある。まず、WebVCRは、モバイルのウェブベースのタスクを特に対象とはしない。WebVCRは、ユーザがセッション生成を制御していると想定する。即ち、ユーザはWebVCR中でセッションの記録を明示的に開始及び終了する。この結果、WebVCRは、事後の自動セッションタグ付けの必要性、又は効率的なセッション再生の必要性には対処しない。   [0007] There are several prior art solutions to these problems. WebVCR provides a VCR type user interface that allows a user to record and play back browsing steps. WebVCR is intended to be used to create shortcuts for accessing web data that requires multiple navigation steps, and is also used as a basis for web applications such as online tutorials and e-commerce You can also WebVCR has some limitations. First, WebVCR does not specifically target mobile web-based tasks. WebVCR assumes that the user is controlling session creation. That is, the user explicitly starts and ends session recording in the WebVCR. As a result, WebVCR does not address the need for subsequent automatic session tagging or the need for efficient session playback.

[0008]Smart Bookmarksは、ウェブナビゲーションに対する遡及的な記録の概念を導入する。ユーザは、現在のページをブックマークするようシステムに依頼することができ、システムは、ブックマーク可能なスタートページ、並びに、スタートページから現在ページに行くための一連のコマンドを、過去に遡って検索することになる。Smart Bookmarksにも、制限がある。例えば、遡及的な記録はSmart Bookmarksの一部だが、Smart Bookmarksにおける自動記録はブックマーク可能なスタートページで停止し、これにより、複数のウェブサイトに関係するセッションを自動的に識別することは不可能となる。加えて、WebVCRと同様に、Smart Bookmarksもまた、効率的なセッション再生に対処しない。   [0008] Smart Bookmarks introduces the concept of retrospective recording for web navigation. The user can ask the system to bookmark the current page, and the system will retroactively search for a bookmarkable start page and a series of commands to go from the start page to the current page. become. Smart Bookmarks also has limitations. For example, retrospective recording is part of Smart Bookmarks, but automatic recording in Smart Bookmarks stops at the bookmarkable start page, which makes it impossible to automatically identify sessions related to multiple websites It becomes. In addition, similar to WebVCR, Smart Bookmarks also does not address efficient session playback.

[0009]CoScripterもまた、ウェブブラウザベースのタスクに関するユーザ対話ステップを記録及び自動再生することのできるシステムである。ユーザは、ブラウザとの自分の対話を記録するよう明示的に要求し、記録された情報をスクリプトとして保存することができる。このようなスクリプトは、他のユーザと共有することができ、後で自動再生することができる。しかし、CoScripterは、先を見越した記録を必要とするという点でWebVCRに類似する。上の2つのシステムのように、CoScripterは、再生時にユーザの対話コンテキストに適応する問題には特に対処せず、そのような再生における効率を重要視しない。   [0009] CoScripter is also a system that can record and autoplay user interaction steps for web browser based tasks. The user can explicitly request to record his interaction with the browser and save the recorded information as a script. Such scripts can be shared with other users and can be automatically played back later. However, CoScripter is similar to WebVCR in that it requires proactive recording. Like the above two systems, CoScripter does not specifically address the problem of adapting to the user's interaction context during playback, and does not place importance on efficiency in such playback.

[0010]Highlightは、もともとデスクトップユーザ向けに設計されたウェブベースのアプリケーションをモバイルユーザが手動でカスタマイズできるようにするリオーサリング環境を構築する。Highlightは、CoScripterと同様の、例示プログラミング(programming−by−demonstration)ベースの手法を用い、モバイルページ上に含まれるべき内容をユーザが直接指定できるようにする。モバイルウェブを対象とした別の例示プログラミングベースのシステムは、PageTailorであり、これは、ウェブページに対するユーザのカスタマイズを記録し、そのような記録されたカスタマイズを類似のウェブページに自動的に適用する。HighlightもPageTailorも両方とも、対話シーケンスではなく個々のウェブページを対象とすることに留意されたい。   [0010] Highlight builds a re-authoring environment that allows mobile users to manually customize web-based applications that were originally designed for desktop users. Highlight uses a programming-by-demonition-based approach similar to CoScripter, allowing the user to directly specify what should be included on the mobile page. Another exemplary programming-based system for the mobile web is PageTailor, which records user customizations to web pages and automatically applies such recorded customizations to similar web pages. . Note that both Highlight and PageTailor are directed to individual web pages rather than interactive sequences.

[0011]このように、既存の解決法は、上記の問題に十分に対処できていなかった。ウェブベースのユーザ対話のシーケンスを記録及び再生することに関する従来の研究はあるが、そのような既存の研究は、モバイルウェブを特に対象としておらず、以下の面の1つ又は複数において様々な程度で依然として制限される。   [0011] Thus, existing solutions have not fully addressed the above problems. Although there is conventional work on recording and playing back web-based user interaction sequences, such existing work is not specifically targeted at the mobile web, and varies to some extent in one or more of the following aspects: Still limited.

1)準備無しの自動化されたタスク記録。記録するセッションの開始を手動で合図することがユーザに求められるのではなく、今しがた完了した退屈なセッションを記録するようユーザがシステムに依頼できるべきである。加えて、システムは、記録すべきセッションを構成する対話イベントを自動的に解明できるべきである。   1) Automated task recording without preparation. Rather than requiring the user to manually signal the start of a recording session, the user should be able to ask the system to record the dull session that has just been completed. In addition, the system should be able to automatically resolve the interaction events that make up the session to be recorded.

2)記録されたセッションの適応的な再生。記録されたセッションは、類似するがわずかに異なるタスクにも使用できるべきであり、ウェブコンテンツの変化に適切に対応できるべきである。   2) Adaptive playback of recorded sessions. The recorded session should be usable for similar but slightly different tasks and should be able to respond appropriately to changes in web content.

3)記録されたセッションの効率的な再生。モバイルユーザにとって、長い待ち時間は、退屈な対話と同じくらい厄介である。記録されたセッションの再生は、ユーザが前にそのセッションを記録したときよりも遥かによい体験をユーザに提供すべきであり、このよりよい体験は、遥かに短いタスク完了時間を伴うべきである。   3) Efficient playback of recorded sessions. For mobile users, long latencies are as cumbersome as boring conversations. Playback of a recorded session should provide the user with a much better experience than when the user previously recorded the session, and this better experience should involve a much shorter task completion time .

(発明の概要)
[0012]ウェブベースのタスクを記録及び再生するための方法及び装置を、本明細書に開示する。一実施形態では、この方法は、記録するセッションの開始を明示的に合図することなくユーザによって今しがた行われたセッション中に実施されたウェブベースのタスクを記録することであって、ユーザ関与無くセッションの開始を自動的に見つけることを含むこと、記録されたウェブベースのタスクを再生する要求を受信すること、及び、記録されたウェブベースのタスクを再生することを含む。
(Summary of Invention)
[0012] A method and apparatus for recording and playing back web-based tasks is disclosed herein. In one embodiment, the method is to record web-based tasks performed during a session that has just been performed by a user without explicitly signaling the start of the recording session, Including automatically finding the start of a web page, receiving a request to play a recorded web-based task, and playing a recorded web-based task.

本発明の実施形態は、ユーザによってデバイス上で実施されるタスクの記録及び再生の分野に関する。より詳細には、本発明の実施形態は、モバイルハンドセットユーザのためのウェブベースのタスクの記録及び再生に関する。   Embodiments of the present invention relate to the field of recording and playback of tasks performed on a device by a user. More particularly, embodiments of the present invention relate to recording and playback of web-based tasks for mobile handset users.

a〜d:ブログ/メッセージボードのコメント記入例に関する、ブラウザのスクリーンショットを示す図である。a to d: Screenshots of browsers regarding examples of comment entry on a blog / message board. a及びb:セッションにタグ付けする、及びセッションを再生するためのユーザインタフェースを示す図である。a and b: shows a user interface for tagging a session and playing a session. セッション生成に関するイベントシーケンスの図解を示す図であり、イベントは発生時順に並んでいる。It is a figure which shows the illustration of the event sequence regarding a session production | generation, and the event is located in order with generation | occurrence | production. コンテキスト認識アルゴリズムの一実施形態に関する擬似コードを示す図である。FIG. 4 illustrates pseudo code for one embodiment of a context recognition algorithm. セッション再生におけるコンテキスト認識を示す図である。It is a figure which shows the context recognition in session reproduction | regeneration. 優先順位の高い順に並んだ一般化プランの例のリストを示す図である。It is a figure which shows the list | wrist of the example of the generalization plan arranged in order with a high priority. 「スマートな」イベント再生の一実施形態に関する擬似コードを示す図である。FIG. 6 illustrates pseudo code for one embodiment of “smart” event playback. タグ付けされたセッションのリモート実行を示す図である。FIG. 6 illustrates remote execution of a tagged session. a〜d:「期限切れeBayオークション」例に関する、ブラウザスクリーンショットを示す図である。a to d: Browser screenshots for the “Expired eBay Auction” example. 記録されたセッションの例を示す図である。It is a figure which shows the example of the recorded session. a〜d:「エクスプレスチェックアウト」例に関する、ブラウザのスクリーンショットを示す図である。a to d: Screenshots of browsers for an “Express Checkout” example. コンピュータシステムの一実施形態のブロック図である。1 is a block diagram of one embodiment of a computer system.

[0013]本発明は、以下に提供する詳細な記述、及び本発明の様々な実施形態に関する添付の図面から、より完全に理解されるであろう。しかし、図面は、本発明を特定の実施形態に限定するものと考えるべきではなく、説明及び理解のためのものに過ぎない。   [0013] The invention will be more fully understood from the detailed description provided below and the accompanying drawings of various embodiments of the invention. However, the drawings should not be construed as limiting the invention to the specific embodiments, but are for explanation and understanding only.

[0014]タスクの記録(又はタグ付け)及び再生のためのシステム及び関連する方法について述べる。一実施形態では、このタスクは、モバイルのウェブベースの作業である。一実施形態では、タスクを記録及び再生する技法は、3つの際立った特徴を有する。第1に、これらの技法は事後の自動セッションタグ付けを含むが、これは、記録の開始を最初に合図することなく、今しがた完了したセッションをユーザがタグ付けできるようにし、どんなユーザ介入も無くセッションの開始を自動的に見つけて対話雑音を除去する。第2に、これらの技法は「スマートな」セッション再生を含み、記録されたセッションは、ユーザがセッションをタグ付けしたときからユーザがセッションを再生するときまでの間のコンテキスト上の差に適応し、タグ付けされたセッションのパラメータ化を本質的に可能にする。一実施形態では、「スマートな」セッション再生技法はまた、ウェブページの変化にも適応して、ウェブのダイナミクスに耐えると共にユーザタスクの変化に対応する。第3に、これらの技法はリモートセッション実行を含み、イベントをモバイルデバイスから再実行する代わりに、タグ付けされたセッションの多くの部分がプロキシサーバにおいて再生される。プロキシサーバは、固定回線の高速接続を有する場合がある。このようなリモート実行及び他の最適化により、セッションを再生するための時間は、セッション内の最後のページをロードするのに必要とされる時間程度に短縮される。   [0014] A system and associated methods for recording (or tagging) and playing back tasks are described. In one embodiment, this task is a mobile web-based task. In one embodiment, the technique for recording and playing back tasks has three distinct features. First, these techniques include post-mortem automatic session tagging, which allows a user to tag a session that has just been completed without first signaling the start of recording, without any user intervention. Automatically detect the start of the session and remove the dialog noise. Second, these techniques include “smart” session playback, where recorded sessions adapt to contextual differences between when the user tags the session and when the user plays the session. , Essentially allowing parameterization of tagged sessions. In one embodiment, “smart” session playback techniques also adapt to web page changes to withstand web dynamics and accommodate user task changes. Third, these techniques involve remote session execution, and instead of re-executing the event from the mobile device, a large portion of the tagged session is played at the proxy server. The proxy server may have a fixed line high speed connection. With such remote execution and other optimizations, the time to replay the session is reduced to the time required to load the last page in the session.

[0015]一実施形態では、セッション記録及び再生技法は、フロントエンド及びバックエンドコンポーネントを使用して実現され、バックエンドコンポーネントは、前述の(且つ以下の各章で詳細に論じる)際立った特徴を実現し、フロントエンドコンポーネントはユーザとの対話を扱う。   [0015] In one embodiment, session recording and playback techniques are implemented using front-end and back-end components, which have the distinguishing features described above (and discussed in detail in the following sections). Implemented, the front-end component handles user interaction.

[0016]具体的には、フロントエンドコンポーネントはユーザの対話状態及び対話コンテキストを監視するが、対話状態は、本明細書ではいくつかのメンバ変数によって定義され、メンバ変数は、ブラウザ中で現在開いているページと、ブラウザ中で現在開いているページ上の強調表示されたテキストと、クリップボードの内容と、ブラウザ中で現在開いているページに対して行われるフォーム入力と、リソース識別子(例えばURL)入力バー(もしあれば)の現在の値と、のうちの1つ又は複数を含む。   [0016] Specifically, the front-end component monitors the user's interaction state and interaction context, which is defined herein by a number of member variables that are currently open in the browser. Active page, highlighted text on the page currently open in the browser, clipboard content, form input made to the page currently open in the browser, and resource identifier (eg URL) Contains the current value of the input bar (if any) and one or more of them.

[0017]対話コンテキストは、本明細書ではユーザの一番最近の対話状態シーケンスとして定義される。ある対話状態から別の対話状態への遷移は、対話イベントに対応する。フロントエンドコンポーネントは、ブラウザ内から対話イベントを傍受(インターセプト)して、ユーザ対話の状態を綿密に監視する。一実施形態では、以下のタイプの対話イベントがある。すなわち、ページロードイベント(これは、ハイパーリンクをクリックすること、URLバー中でエンターキーを押すこと、若しくはURLバーの内容に基づいてブラウザによって提示されたドロップダウンリストから選択すること、フォームサブミットボタンをクリックすること、又は特定のブラウザツールバーボタンをクリックすること、若しくは何らかのブラウザメニュー項目(例えば「ホーム」や「戻る/進む」ボタン、及びブックマークメニュー)を選択すること、などのユーザアクションの結果として生じるページロードに対応する)、URL入力イベント(これは、ユーザがURLバー中でタイプ入力することに対応する)、テキスト強調表示イベント(これは、ユーザが現在のページ上のテキスト文字列を強調表示することに対応する)、テキストコピーイベント(これは、ユーザが強調表示されたテキストをクリップボードにコピーすることに対応する)、フォーム入力イベント(これは、ユーザが現在のページ上のフォームの入力フィールドに入力することに対応する(フォーム入力イベントは、ユーザが入力フィールドにテキストをタイプ入力することによって、又は入力フィールドにテキストを貼り付けることによって引き起こされる可能性がある))、貼付け入力イベント(これは、フォーム入力イベントの特殊形であり、ユーザが現在のページ上のフォームの入力フィールドにクリップボード内容をコピーすることに対応する)、並びにURLコピーイベント(これは、現在のページのURLをクリップボードにコピーすることに対応する)である。   [0017] An interaction context is defined herein as the user's most recent interaction state sequence. A transition from one dialog state to another dialog state corresponds to a dialog event. The front-end component intercepts (intercepts) interaction events from within the browser and closely monitors the state of user interaction. In one embodiment, there are the following types of interaction events: That is, a page load event (clicking on a hyperlink, pressing the enter key in the URL bar, or selecting from a drop-down list presented by the browser based on the contents of the URL bar, form submit button As a result of a user action, such as clicking, or clicking a particular browser toolbar button, or selecting some browser menu item (eg, a “Home” or “Back / Forward” button, and a bookmark menu) URL input event (which corresponds to the user typing in the URL bar), text highlight event (which corresponds to the user highlighting a text string on the current page) To display Corresponding), text copy event (which corresponds to the user copying the highlighted text to the clipboard), form input event (which the user enters in the input field of the form on the current page) Corresponding to (form input events can be triggered by the user typing text into the input field or pasting text into the input field) A special form of input event, which corresponds to the user copying the clipboard contents to the input field of the form on the current page), as well as a URL copy event (which copies the URL of the current page to the clipboard). Corresponding to).

[0018]一実施形態では、全てのタイプのイベントは、それ自体の固有の属性の他に、その開始時と終了時を示す共通の属性も有する。   [0018] In one embodiment, all types of events have their own unique attributes as well as common attributes that indicate their start and end times.

[0019]ページを見た後で当該ページをブックマークするのに似て、ユーザは、今しがた完了した、実施容易ではないと思われるが将来繰り返される可能性が高いであろうタスクを、記録又は「タグ付け」するよう依頼することができる。一実施形態では、ユーザは、この今しがた記録されたセッションに名前を割り当てることもできる(例えば図2(a)参照)。この方式のセッション記録を、本明細書では「事後セッションタグ付け」と呼ぶ。その理由は、「記録」は、ユーザがバックエンドコンポーネントにセッションの記録を開始するよう合図することなく実施され、セッションが完了した後で実施されるからである。   [0019] Similar to bookmarking a page after viewing the page, the user records or “tags” a task that has just been completed, which may not be easy to perform but is likely to be repeated in the future. You can ask them to “attach”. In one embodiment, the user can also assign a name to this recorded session (see, eg, FIG. 2 (a)). This type of session recording is referred to herein as “post-event session tagging”. The reason is that “recording” is performed without the user signaling the back-end component to begin recording the session and is performed after the session is completed.

[0020]バックグラウンドでは、バックエンドコンポーネントが、ユーザの現在の対話コンテキストを得て、この対話コンテキストから、ユーザが記録及びタグ付けしようと思うセッションをどのイベント及び状態が表すかを決定し、そのようなイベント及び状態を、割り当てられた名前と共に記憶する。   [0020] In the background, the back-end component obtains the user's current conversation context, from which it determines which events and states represent the session that the user wants to record and tag, Such events and states are stored with the assigned name.

[0021]その後、ユーザがフロントエンドユーザインタフェース(例えば図2(b)参照)を介してタグ付けされたセッションを再生しようとするとき、バックエンドコンポーネントは、タグ付けされたセッションに対応する対話状態及びイベントを得て、次いでセッションの記録されたイベントの再生を試みる。しかし、一実施形態では、このような再生は通常、元のイベントの正確な「カーボンコピー」の再実行ではない。これは、現時点でのユーザの対話コンテキスト(従って、ユーザの意図するタスク)が、ユーザがセッションタグを作成したときとは異なる可能性があるからである。もう1つの理由は、セッションがタグ付けされたときにユーザが訪れたウェブページが、それ以来、いくつかのイベントの一語一句違わぬ再生がもはや意味を成さない(例えば存在しない句を強調表示するなど)までに変化した可能性があることである。一実施形態では、バックエンドコンポーネントは従って、ユーザコンテキスト及びウェブ内容の変化に適応するために、イベント再生における「スマートさ」を必要とする。   [0021] Later, when the user attempts to play a tagged session via the front-end user interface (see, eg, FIG. 2 (b)), the back-end component is in an interactive state corresponding to the tagged session. And obtain an event and then attempt to play back the recorded event of the session. However, in one embodiment, such playback is usually not an exact “carbon copy” re-execution of the original event. This is because the current user interaction context (and hence the user's intended task) may be different than when the user created the session tag. Another reason is that the web page that the user visited when the session was tagged has since made no more verbatim playback of some events (eg highlighting missing phrases). It may have changed before display. In one embodiment, the backend component therefore requires “smartness” in event playback to adapt to changes in user context and web content.

[0022]一実施形態では、バックエンドコンポーネントは、セッション再生において手動ユーザ対話の忠実な模倣を目標としない。そうではなく、タグ付けされたセッションのより効率的な(従って、より使い勝手のよい)再生のために、セッションのほとんどをリモート実行することを含めた様々なアプローチを活用する。   [0022] In one embodiment, the backend component does not target a faithful imitation of manual user interaction in session playback. Rather, it takes advantage of various approaches, including remote execution of most of the sessions, for more efficient (and therefore more user-friendly) playback of tagged sessions.

[0023]以下の記述では、本発明のより完全な説明を提供するために多くの詳細を示す。しかし、これらの具体的詳細がなくても本発明を実施できることは、当業者には明らかであろう。他の場合では、本発明を曖昧にするのを避けるために、周知の構造及びデバイスについては詳細に示すのではなくブロック図の形で示す。   [0023] In the following description, numerous details are set forth to provide a more thorough explanation of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.

[0024]後続の詳細な記述のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作の、アルゴリズム及び象徴表現によって提示する。これらのアルゴリズム的記述及び表現は、データ処理技術の当業者が他の当業者に自身のタスクの実質を最も効果的に伝えるために使用される手段である。アルゴリズムは、ここでは、また一般的には、所望の結果につながる首尾一貫した一連のステップであると考えられる。これらのステップは、物理量の物理的操作を必要とするステップである。必ずしもそうとは限らないが通常は、これらの量は、記憶、転送、結合、比較、及び他の方法で操作することのできる電気的又は磁気的信号の形をとる。主に一般的な慣例の理由で、これらの信号をビット、値、要素、記号、文字、用語、数字などとして言及するのが時として好都合であることが証明されている。   [0024] Some portions of the detailed descriptions that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their tasks to others skilled in the art. The algorithm is here and generally considered to be a consistent series of steps leading to the desired result. These steps are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

[0025]しかし、これら及び類似の用語は全て、適切な物理量に関連付けられるべきであって、単にこれらの量に適用される好都合なラベルに過ぎないことを念頭に置くべきである。以下の考察から明らかなように特に別段の指定がない限り、この記述全体を通して、「処理する」、「計算する」、「算出する」、「決定する」、又は「表示する」などの用語を利用した考察は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)量として表されるデータを操作して、コンピュータシステムメモリ若しくはレジスタ内、又は他のそのような情報記憶、伝送、若しくは表示デバイス内で同様に物理量として表される他のデータに変換するコンピュータシステム又は類似の電子計算デバイスの、アクション及びプロセスを指すことを理解されたい。   [0025] However, it should be borne in mind that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. As will be apparent from the discussion below, terms such as “process,” “calculate,” “calculate,” “determine,” or “display” are used throughout this description unless otherwise specified. The discussion utilized manipulates data represented as physical (electronic) quantities in computer system registers and memory to store, transmit, or display in computer system memory or registers, or other such information. It should be understood that it refers to the actions and processes of a computer system or similar electronic computing device that translates into other data that is also represented as physical quantities within the device.

[0026]本発明はまた、本明細書の動作を実施するための装置に関する。この装置は、必要とされる目的のために特に構築されたものであってもよく、或いは、コンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化又は再構成される汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体に記憶することができ、コンピュータ可読記憶媒体は、以下のものに限定されないが、フロッピー(登録商標)ディスクや光ディスクやCD−ROMや光磁気ディスクを含めた任意のタイプのディスク、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気若しくは光学カード、又は、電子的命令を記憶するのに適した任意のタイプの媒体などであり、これらはそれぞれコンピュータシステムバスに結合される。   [0026] The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program can be stored in a computer-readable storage medium, and the computer-readable storage medium is not limited to the following, but includes a floppy (registered trademark) disk, an optical disk, a CD-ROM, and a magneto-optical disk. Any type of disk, read only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical card, or any type of medium suitable for storing electronic instructions, etc. Each coupled to a computer system bus.

[0027]本明細書に提示するアルゴリズム及び表示は、どんな特定のコンピュータ又は他の装置にも本質的に関係しない。本明細書の教示に従ったプログラムと共に様々な汎用システムを使用することもでき、或いは、必要とされる方法ステップを実施するためのより特殊化された装置を構築するのが好都合であることが判明する場合もある。これらの様々なシステムに必要とされる構造は、以下の記述から明らかになるであろう。加えて、本発明は、特定のプログラミング言語に関して述べるものでもない。様々なプログラミング言語を使用して、本明細書に述べる本発明の教示を実施することができることは、理解されるであろう。   [0027] The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems can be used with programs in accordance with the teachings herein, or it may be advantageous to build a more specialized apparatus for performing the required method steps. Sometimes it turns out. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.

[0028]機械可読媒体は、機械(例えばコンピュータ)によって読取り可能な形で情報を記憶又は伝送するための任意の機構を含む。例えば、機械可読媒体は、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなどを含む。   [0028] A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (eg, a computer). For example, machine-readable media include read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, and the like.

(概観)
[0029]タスクの記録(又はタグ付け)及び再生のためのシステム及び関連する方法について述べる。一実施形態では、この方法は、記録するセッションの開始を明示的に合図することなくユーザによって今しがた行われたセッション中に実施されたウェブベースのタスクを記録することであって、ユーザ関与無しにセッションの開始を自動的に見つけることを含むこと、記録されたウェブベースのタスクを再生する要求を受信すること、及び、記録されたウェブベースのタスクを再生することを含む。
(Overview)
[0029] A system and associated methods for recording (or tagging) and playing back tasks are described. In one embodiment, the method is to record web-based tasks performed during a session that has just been performed by a user without explicitly signaling the start of the recording session, without user involvement. Including automatically finding the start of a session, receiving a request to play a recorded web-based task, and playing a recorded web-based task.

[0030]一実施形態では、ウェブベースのタスクを記録することは、ユーザの対話状態及び対話コンテキストを監視することであって、対話コンテキストが一番最近の対話状態シーケンスであること、並びに、ブラウザ内から対話イベントを傍受することを含み、各対話イベントは、ある対話状態から別の対話状態への遷移に対応する。一実施形態では、ウェブベースのタスクを記録することは、イベントストリームをセグメント化すること、タスクに対して影響を有さないイベントをイベントストリームから除去して、雑音除去されたイベントストリームを生み出すこと、セグメント化された雑音除去済みイベントストリーム中のイベント間の依存関係を決定すること、及び、イベントの最後のセグメントから遡って依存連鎖を横断して、イベントを再生可能セッションの一部として雑音除去されたイベントストリームから識別することを含む。   [0030] In one embodiment, recording a web-based task is to monitor a user's interaction state and interaction context, wherein the interaction context is the most recent interaction state sequence, and a browser Intercepting dialogue events from within, each dialogue event corresponding to a transition from one dialogue state to another. In one embodiment, recording a web-based task segments the event stream, removes events that have no effect on the task from the event stream, and produces a de-noised event stream Determining dependencies between events in a segmented denoised event stream, and de-interventing events as part of a replayable session, traversing the dependency chain back from the last segment of the event Identifying from the generated event stream.

[0031]一実施形態では、イベントストリームをセグメント化することは、イベントストリーム中のイベント間の時間レイテンシに基づいて実施される。一実施形態では、イベントストリームをセグメント化することは、明示的なユーザ入力アクションに基づいて実施される。   [0031] In one embodiment, segmenting the event stream is performed based on time latency between events in the event stream. In one embodiment, segmenting the event stream is performed based on explicit user input actions.

[0032]一実施形態では、イベントをイベントストリームから除去することは、ユーザ関与無しに行われる。一実施形態では、イベントをストリームから除去することは、タスクにとって重要でないユーザナビゲーションの結果として生じるイベントを除去することを含む。   [0032] In one embodiment, removing an event from the event stream is performed without user involvement. In one embodiment, removing events from the stream includes removing events that occur as a result of user navigation that is not critical to the task.

[0033]一実施形態では、依存連鎖を横断することは、強調表示及びコピー操作と、コピー及び貼付け操作と、入力及びサブミット操作とからなるグループから選択されるアクションの1つ又は複数の対を識別することを含む。   [0033] In one embodiment, traversing the dependency chain comprises one or more pairs of actions selected from the group consisting of highlight and copy operations, copy and paste operations, and input and submit operations. Including identifying.

[0034]一実施形態では、この方法は、タスクを表すセッションを一般化して、このセッションを、セッションが記録されたときに使用されたコンテキストとは異なるコンテキストに適用可能にすることを更に含む。一実施形態では、セッションを一般化することは、セッションを抽象化することを含む。   [0034] In one embodiment, the method further includes generalizing the session representing the task so that the session is applicable to a different context than the context used when the session was recorded. In one embodiment, generalizing the session includes abstracting the session.

[0035]一実施形態では、記録されたウェブベースのタスクを再生することは、記録されたウェブベースのタスクを表す記録済みセッションのコンテキストを、セッションが記録されたときのユーザに関連する第1の対話コンテキストから、ユーザの現在の対話コンテキストに適応させて、ユーザの現在の対話コンテキストを用いた記録済みセッションを再生することを含む。一実施形態では、コンテキストを適応させることは、記録されたセッション内のどの状態が、タスクの再生要求が行われた時点のユーザのコンテキストに合致するかを決定することを含む。一実施形態では、記録されたウェブベースのタスクを再生することは、記録されたウェブベースのタスクの一部である少なくとも1つのウェブページの変化に適応することによって、記録されたウェブベースのタスクを表す記録済みセッションを適応させることを含む。   [0035] In one embodiment, playing the recorded web-based task includes a recorded session context that represents the recorded web-based task, the first associated with the user when the session was recorded. Replaying a recorded session using the user's current conversation context, adapted from the user's current conversation context. In one embodiment, adapting the context includes determining which state in the recorded session matches the user's context at the time the task playback request was made. In one embodiment, playing the recorded web-based task is adapted to adapt to changes in at least one web page that is part of the recorded web-based task. Adapting a recorded session representing.

[0036]一実施形態では、記録されたウェブベースのタスクを再生することは、記録されたウェブベースのタスクを表す記録済みセッションを、プロキシサーバを使用してリモートに再生することを含む。一実施形態では、記録されたウェブベースのタスクを表す記録済みセッションを、プロキシサーバを使用してリモートに再生することは、記録されたセッションをユーザの最新の対話状態と共にプロキシサーバに送信すること、1つ又は複数のサーバに1つ又は複数の要求を送信して1つ又は複数のサーバから応答を受信することを含めて、ユーザの対話状態からの状態を用いてイベントをプロキシサーバによって再生すること、プロキシサーバ上の現在の対話状態と共に、セッション中の最後のページロードイベントに対応する最後のページをプロキシサーバによって送信すること、及び、最後のページによって指定されるリソースをロードして、セッションを終了する1つ又は複数のイベントの再生を完了することを含む。   [0036] In one embodiment, playing the recorded web-based task includes playing the recorded session representing the recorded web-based task remotely using a proxy server. In one embodiment, playing a recorded session that represents a recorded web-based task remotely using a proxy server sends the recorded session to the proxy server along with the user's latest interaction state. Replay events with a proxy server using the state from the user's interactive state, including sending one or more requests to one or more servers and receiving responses from one or more servers Sending the last page corresponding to the last page load event in the session, along with the current interaction state on the proxy server, and loading the resource specified by the last page; Including completing the playback of one or more events that terminate the session.

(セッション生成)
[0037]一実施形態では、セッションの生成は、事後方式で行われる。すなわち、ユーザは、対話のシーケンスを行う前に、記録を開始するようシステムに合図する必要はない。そうではなく、ユーザは、セッションを終了した後すぐに、ユーザが行ったセッションをマーク付けするようシステムに依頼することができる。これは少なくとも2つの利益を有する。第1に、ユーザは、退屈なウェブセッションが開始する直前よりも、そのようなセッションを行った直後の方が、セッションタグを作成しようという気になると考えられている。これは、セッションの開始時には、ユーザはまだ、セッションの退屈さ又は再使用可能性を認識していなかったか、タスクを中断せずに完了させることに集中していなかった場合があるからである。第2に、このようなセッションの多くは、事前に準備されるようにして記録されるのには適さないので、事後セッション生成は重要である。これは、このようなセッションを繰り返すことは、望まれない副作用(オンラインストアから小物を購入したり、公開フォーラムにコメントを残したりするなど)をもたらす可能性があるか、或いはユーザにとって退屈過ぎる(何らかのタイプ入力を必要とする、及び/又はウェブページの遅いロードを待機する必要があるなど)からである。
(Session generation)
[0037] In one embodiment, session generation occurs in a post-hoc manner. That is, the user does not need to signal the system to begin recording before performing the sequence of interactions. Rather, the user can ask the system to mark the session that the user has performed immediately after ending the session. This has at least two benefits. First, it is believed that the user is more willing to create a session tag immediately after performing such a session than immediately before the start of a tedious web session. This is because at the start of a session, the user may not yet be aware of the boredom or reusability of the session, or may not have concentrated on completing the task without interruption. Second, post-session generation is important because many such sessions are not suitable for being recorded in advance. This means that repeating such a session can result in unwanted side effects (such as buying small items from an online store or leaving comments in public forums) or too boring for the user ( Because it requires some typing and / or needs to wait for a slow loading of the web page).

ユーザが今しがた実施したセッションをタグ付けするようシステムに要求すると、システムは、どのユーザアクションが、今しがた終了したユーザのタスクの構成要素であるかを識別する必要がある。これは2つのサブ目標を含む。第1のサブ目標は、本明細書では「開始状態認識」と呼ぶが、これは、監視された対話イベントのシーケンスから、意図されたタスクの開始に対応する状態を識別することである。第2のサブ目標は、意図されたタスクの開始状態と、意図されたタスクの終了状態との間の雑音イベントを除去することであり、終了状態は、ユーザがセッションタグの作成を要求するときの現在対話状態である。   When a user requests the system to tag a session that has just been performed, the system needs to identify which user action is a component of the task of the user that has just ended. This includes two sub-targets. The first sub-goal, referred to herein as “start state recognition”, is to identify the state corresponding to the start of the intended task from the sequence of monitored interaction events. The second sub-goal is to eliminate noise events between the intended task start state and the intended task end state, which is when the user requests creation of a session tag. Is currently in a conversational state.

[0038]図3に、セッション生成に関するイベントシーケンスを示す。図3を参照すると、意図されたタスクの終了状態の後で、セッションタグ作成要求301が発生する。また、雑音イベントを含めてイベントが発生時順に並んだ、いくつかの状態も示す。   [0038] FIG. 3 shows an event sequence for session generation. Referring to FIG. 3, a session tag creation request 301 is generated after the intended task end state. It also shows several states in which events are arranged in order of occurrence, including noise events.

[0039]一実施形態では、以下の高レベルの順序付けられたステップを含むアルゴリズムを使用して、開始状態認識及び雑音イベント除去が実施される。   [0039] In one embodiment, start state recognition and noise event removal are performed using an algorithm that includes the following high-level ordered steps:

1)イベントシーケンスを複数のセグメントに分割する(分割)。   1) The event sequence is divided into a plurality of segments (division).

2)各メンバ変数を直接に決定するイベントを、関連ありとしてマークする(マーク)。   2) Mark events that directly determine each member variable as relevant (mark).

3)タスクに関連のないイベントを各セグメントから除去する(除去)。   3) Remove events unrelated to the task from each segment (removal).

4)関連セグメントから非関連セグメントに関連性を拡張する(拡張)。   4) Extend the relationship from the related segment to the non-related segment (expansion).

5)結果として得られたイベントを、些細なナビゲーションシーケンスを除去することによって最適化する(最適化)。   5) Optimize the resulting event by removing trivial navigation sequences (optimization).

[0040]アルゴリズムが完了した後には、全ての関連セグメント(それぞれ、雑音イベント除去済み)がタグ付けされたセッションの状態及びイベントを形成し、最も早い関連セグメントの第1の状態がセッションの開始状態である。   [0040] After the algorithm is complete, all related segments (removed noise events, respectively) form the session state and event tagged, and the first state of the earliest related segment is the session start state It is.

(分割)
[0041]分割操作は、ユーザの対話イベントを小さいグループ又はセグメントに分ける。同じセグメント内のイベントは相互に密接に関係し、通常、隣接する任意の2つのイベント間には因果関係がある。例えば、あるセグメントは、blogger.comホームページに対するページロードイベントと、それに続く、このページのユーザ名フィールド中でのフォーム入力イベントとからなる場合がある。
(Split)
[0041] The split operation divides user interaction events into small groups or segments. Events within the same segment are closely related to each other, and there is usually a causal relationship between any two adjacent events. For example, a segment may be blogger. com page home page followed by a form input event in the user name field on this page.

[0042]一実施形態では、分割操作は、分割イベントを識別することによって実施される。一実施形態では、各分割イベントは、その前後(それ自体を含む)のイベントを異なるセグメントに分離する。一実施形態では、2つのタイプの分割イベントがある。第1のタイプの分割イベントはURLサブミットイベントであり、これは、ユーザがURLアドレスを明示的にタイプ入力することによって、又はユーザがブックマーク項目を選択するか「ホーム」ボタンをクリックすることによって引き起こされる。第2のタイプの分割イベントは、その開始時と、前のイベントの終了時との間の時間的隔たりが異常に大きいイベントである。一実施形態では、通常生じる時間的隔たりよりもいくらか大きい(例えば2倍、3倍など)時間的隔たりは異常に高いとしてマークされるように、時間的隔たりが異常に大きいかどうかの判定は、イベント間で通常生じる相対的な時間長に基づくことができる。この2つのタイプのイベントにおいて分割することの根拠は、これらのイベントが、ユーザがあるタスクから別のタスクに切り替えたかもしれないことを示す可能性が高いからである。   [0042] In one embodiment, the split operation is performed by identifying a split event. In one embodiment, each split event separates the events before and after it (including itself) into different segments. In one embodiment, there are two types of split events. The first type of split event is a URL submit event, which is caused by the user explicitly typing in a URL address, or by the user selecting a bookmark item or clicking the “Home” button. It is. The second type of split event is an event in which the time interval between the start time and the end time of the previous event is abnormally large. In one embodiment, the determination of whether the time gap is abnormally large is such that the time gap is marked as abnormally high (e.g., 2x, 3x, etc.) that is somewhat larger than the normal time gap. It can be based on the relative length of time that normally occurs between events. The reason for splitting in these two types of events is that these events are likely to indicate that the user may have switched from one task to another.

(マーク)
[0043]マーク操作は、各メンバ変数を直接に決定するイベントを、関連ありとしてマークする。例えば、最終状態のドキュメントをロードするページロードイベントは、関連ありとしてマークされる。他のマークされるイベントは、最後のイベントセッションの最終状態のクリップボード内容を設定するテキストコピーイベント、及び、セッションの最後のイベントの最終状態のURLバー内容を設定するURL入力イベントである。
(mark)
[0043] The mark operation marks events that directly determine each member variable as relevant. For example, a page load event that loads a final state document is marked as relevant. Other marked events are a text copy event that sets the clipboard contents of the final state of the last event session, and a URL input event that sets the URL bar contents of the final state of the last event of the session.

(除去)
[0044]除去操作は、前述の分割操作から導出された各セグメントから、現在のタスクに関係のないイベントが除外されるようにする。このような非関連イベントは主に、ユーザ対話における雑音又は間違いの結果であると想定される。除去操作は、分割操作の後で実施される。さもなければ、セグメント化に悪影響を及ぼすことがある。
(Removal)
[0044] The remove operation causes events that are not relevant to the current task to be excluded from each segment derived from the aforementioned split operation. Such unrelated events are primarily assumed to be the result of noise or mistakes in the user interaction. The removal operation is performed after the dividing operation. Otherwise, it may adversely affect segmentation.

[0045]一実施形態では、セッション生成アルゴリズムは、雑音イベント及び重要でないナビゲーションという、2つのタイプの非関連イベントを対象とする。一実施形態では、除去操作は、まず全ての雑音イベントを除去し、次いで、重要でないナビゲーションがあればそれに関係する全てのイベントを除去する。一実施形態では、イベントは、関連ありとしてまだマークされておらず、以下の条件のうちの1つを満たす場合に、雑音イベントとして定義される。   [0045] In one embodiment, the session generation algorithm covers two types of unrelated events: noise events and unimportant navigation. In one embodiment, the removal operation first removes all noise events and then removes all events related to any non-critical navigation. In one embodiment, an event is defined as a noise event if it has not yet been marked as relevant and meets one of the following conditions:

イベントは、対応するページロードイベントがどのセグメント中にもない、フォーム入力イベント又は貼付け入力イベントである。本明細書における「対応するページロードイベント」とは、入力イベントのターゲット入力フィールドを含むフォームのサブミットによって引き起こされるページロードを意味する。このような雑音イベントは、フォームへのユーザ入力が途中で中止されることによって引き起こされる場合がある。   An event is a form input event or a paste input event that has no corresponding page load event in any segment. As used herein, “corresponding page load event” means a page load caused by a form submission that includes the target input field of the input event. Such a noise event may be caused by user input to the form being interrupted.

イベントは、テキストコピーイベント又はURLコピーイベントであり、このイベントと次のコピーイベントとの間に、(雑音でない)貼付け入力イベントがない。このようなイベントは、クリップボードにコピーしたテキスト値が貼付けに全く使用されないうちに置き換えられるので、雑音と考えられる。   The event is a text copy event or URL copy event, and there is no paste input event (not noise) between this event and the next copy event. Such an event is considered noise because the text value copied to the clipboard is replaced before it is used for pasting.

イベントは、テキスト強調表示イベントであり、このイベントと、同じページ上の次のテキスト強調表示イベントとの間に、(雑音でない)テキストコピーイベントがない。   The event is a text highlight event, and there is no text copy event (no noise) between this event and the next text highlight event on the same page.

イベントは、URL入力イベントであり、このイベントと次のURL入力イベントとの間に、対応するページロードイベント又は(雑音でない)URLコピーイベントがない。このような雑音イベントは、ブラウザのURL入力バー中でのユーザ入力が途中で中止されることによって引き起こされる。   The event is a URL input event, and there is no corresponding page load event or (non-noise) URL copy event between this event and the next URL input event. Such a noise event is caused by a user input in the URL input bar of the browser being interrupted.

[0046]一実施形態では、雑音イベントの除去は、上記の条件のうちの1つにそれぞれが対応する、4つの順序付けられた経路中で実施されることに留意されたい。   [0046] Note that in one embodiment, noise event cancellation is performed in four ordered paths, each corresponding to one of the above conditions.

(拡張)
[0047]拡張操作は、マーク操作中に関連ありとしてマークされたイベントから、他のイベントに関連性を拡張する。まず、所与の関連イベントについて、拡張操作は、同じセグメント中の他の全てのイベントもまた関連ありとしてマークし、次いで、すでに関連ありとしてマークされたセグメントから他のセグメントに関連性を反復的に拡張する。新しい関連セグメントが見つからなくなったとき、反復は停止する。一実施形態では、関連性は、以下のイベントの対のうちの少なくとも1対が2つのセグメントにまたがって存在する場合に(セグメント中で発生する対のイベントのうちのいずれかが、すでに関連ありとしてマークされている)、あるセグメントから別のセグメントに拡張することができる。すなわち、テキスト強調表示とテキストコピーのイベント対、テキストコピーと貼付け入力のイベント対、URLコピーと貼付け入力のイベント対、URL入力とページロードのイベント対、及びURL入力とURLコピーのイベント対である。これは本質的に、セグメントにまたがって前方と後方の両方にデータ依存性を拡張する。
(Extended)
[0047] The extend operation extends the relevance from events that are marked as relevant during the mark operation to other events. First, for a given related event, the expansion operation marks all other events in the same segment as also relevant, then iteratively relevance from the already marked as related to other segments Extend to The iteration stops when no new related segment is found. In one embodiment, the relevance is determined if any of the following pairs of events exists across two segments (any of the pair of events occurring in the segment is already relevant): Can be extended from one segment to another. That is, a text highlighting and text copy event pair, a text copy and paste input event pair, a URL copy and paste input event pair, a URL input and page load event pair, and a URL input and URL copy event pair. . This essentially extends the data dependency both forward and backward across segments.

(最適化)
[0048]最適化操作は、関連のあるイベントのうち、些細なナビゲーションシーケンスを除去する。些細なナビゲーションシーケンスは、本明細書では、1)すぐ後に続くイベントの発火に、又はその特定のイベントをトリガした後の状態に影響を及ぼすことなく除去できるイベントシーケンスであって、2)同じイベントシーケンスが、フォームのサブミットに対応するどんなページロードイベントも含まないものとして定義される。
(optimisation)
[0048] The optimization operation removes trivial navigation sequences among related events. A trivial navigation sequence is an event sequence that can be removed without affecting the firing of the immediately following event or affecting the state after triggering that particular event, and 2) the same event. A sequence is defined as not including any page load events corresponding to form submissions.

[0049]些細なナビゲーションシーケンスの一例は、単純なナビゲーション循環である。ユーザは、ページ上のハイパーリンクをクリックし、次いでブラウザの「戻る」ボタンを押す。別の例は、ブックマークされた項目を例えば選択することによって他の場所にナビゲートする直前の、些細なページロードである。   [0049] An example of a trivial navigation sequence is a simple navigation cycle. The user clicks on the hyperlink on the page and then presses the browser's “back” button. Another example is a trivial page load just before navigating to another location, for example by selecting a bookmarked item.

[0050]セッション生成(タグ付け)アルゴリズムの結果は、ユーザがタグ付けしようと思うタスクに関連があると考えられる対話イベント(及び対応する結果状態)のシーケンスである。タグ付けアルゴリズムは相対的に単純であり実行中に適用することができるが、一実施形態では、他の後処理がかなりの量の時間を要する場合があり、このような後処理は、オフラインでモバイルデバイスの外において実施される。このような後処理の一部を、本明細書では、タグ付けされたセッションの一般化と呼ぶ。簡単に言えば、一般化は、タグ付けされたセッションを、ユーザがセッションタグを作成したコンテキストとはわずかに異なるコンテキストの、他の類似するタスクに適用可能にするために使用される技法である。   [0050] The result of the session creation (tagging) algorithm is a sequence of interaction events (and corresponding outcome states) that are considered relevant to the task that the user wishes to tag. Although the tagging algorithm is relatively simple and can be applied during execution, in one embodiment, other post-processing may take a significant amount of time, and such post-processing is offline. Implemented outside the mobile device. Part of such post-processing is referred to herein as generalization of tagged sessions. Simply put, generalization is a technique used to make a tagged session applicable to other similar tasks in a context that is slightly different from the context in which the user created the session tag. .

[0051]一般化は、タグ付けされたセッションを後で再生することを理解する鍵なので、セッション再生について論じる前に、一般化について以下に詳細に論じる。   [0051] Since generalization is the key to understanding that a tagged session will be replayed later, generalization will be discussed in detail below before discussing session replay.

(一般化)
[0052]前にタグ付けしたセッションを再生する要求をユーザが生成するとき、多くのことがその後変化している可能性があり、それにより、タグ付けされたセッション中の各イベントを100%忠実に再生することが不可能であるか又は無意味となる。例えば、eBay.comのホームページの内容は頻繁に変わる。ましてや、特定のオークションカテゴリの最も早く期限切れになる商品を含むページの内容、並びにURLは、変わってしまっている場合がある。
(Generalization)
[0052] When a user generates a request to play a previously tagged session, many things may have changed since then, so that each event in a tagged session is 100% faithful. It is impossible or meaningless to reproduce. For example, eBay. com's homepage changes frequently. In addition, the content of the page containing the item that expires earliest in a particular auction category, as well as the URL, may have changed.

[0053]一般化は、タグ付けされたセッションの状態を抽象化するプロセスである。結果として得られる抽象状態を、本明細書では一般化状態と呼び、元の状態を、本明細書では具体的状態と呼ぶ。従って、具体的イベントと一般化イベントとがある。   [0053] Generalization is the process of abstracting the state of a tagged session. The resulting abstract state is referred to herein as a generalized state, and the original state is referred to herein as a concrete state. Therefore, there are concrete events and generalized events.

[0054]一実施形態では、状態は5つのメンバ変数(ドキュメント、URL入力、フォーム入力、強調表示テキスト、及びクリップボード内容)からなるので、状態の一般化は、最終的には各状態のメンバ変数の一般化である。各メンバ変数はそれ自体の一般化メソッドによって一般化され、対話状態の5つの一般化メソッドが、その状態の一般化プランを構成する。   [0054] In one embodiment, the state consists of five member variables (document, URL input, form input, highlighted text, and clipboard content), so the generalization of the state is ultimately a member variable for each state. Is a generalization of Each member variable is generalized by its own generalized method, and the five generalized methods in the conversation state constitute the generalized plan for that state.

[0055]一般化メソッドの関数の1つは、具体的イベント、及び具体的イベントのコンテキストをとって、具体的イベントを一般化イベントに変換することである。各一般化メソッドは逆関数も有し、この逆関数は、コンテキスト(具体的状態及びイベントからなる)及び一般化イベントをとって、一般化イベントを具体的イベントに変換する。この逆関数を、本明細書ではインスタンス化と呼ぶ。   [0055] One of the functions of the generalized method is to take a specific event and the context of the specific event and convert the specific event into a generalized event. Each generalized method also has an inverse function that takes a context (consisting of a concrete state and an event) and a generalized event and converts the generalized event into a concrete event. This inverse function is referred to herein as instantiation.

[0056]一般化メソッドは、状態を入力として抽象状態を生み出す。状態は、その一部としてウェブドキュメントを含むことができる。   [0056] Generalized methods generate an abstract state with the state as input. The state can include a web document as part of it.

[0057]以下は、一般化メソッドの例のリストである。   [0057] The following is a list of examples of generalized methods:

NOGEN:これは、全ての状態メンバ変数に適用可能な特別な一般化メソッドである。このメソッドは、どんな一般化も行わない。すなわち、具体的イベントを一般化するとき又は一般化イベントをインスタンス化するときに、何も変更しない。   NOGEN: This is a special generalized method that can be applied to all state member variables. This method does not do any generalization. That is, nothing is changed when general events are generalized or when generalized events are instantiated.

ANY:これもまた、全ての状態メンバ変数に適用可能な特別な一般化メソッドである。このメソッドは、メンバ変数のどんな値も(値が設定されていないときでさえ)相互に等価であると考える。   ANY: This is also a special generalized method that can be applied to all state member variables. This method considers any value of a member variable to be equivalent to each other (even when no value is set).

BIN:これもまた、全ての状態メンバ変数に適用可能な特別な一般化メソッドである。このメソッドは、状態メンバ変数の値が設定されているか否かの2値状態を区別するだけである。従って、この関数は、状態に適用されたときに真又は偽を返す。   BIN: This is also a special generalized method that can be applied to all state member variables. This method only distinguishes between binary states whether or not the value of the state member variable is set. Thus, this function returns true or false when applied to a state.

CLK_A:これは、ページ内のハイパーリンク、フォームボタン、又はリスト項目をその後クリックすることに基づく、ドキュメント変数に対する一般化メソッドである。ハイパーリンク又はリスト項目xの場合は、ドキュメントは「URLxへのリンクを含む」に抽象化され、フォームサブミットボタンの場合は、ドキュメントは「アクションx及び入力項目名yを有するフォームを含む」に抽象化される。   CLK_A: This is a generalized method for document variables based on a subsequent click on a hyperlink, form button, or list item in the page. In the case of a hyperlink or list item x, the document is abstracted to "contains a link to URLx", and in the case of a form submit button, the document is abstracted to "contains a form with action x and input item name y". It becomes.

CLK_T:これは上と同様だが、例外として、ハイパーリンクの場合は、ドキュメントは「アンカーテキストxを有するハイパーリンクを含む」に抽象化される。フォームボタンの場合は、ドキュメントは「アクションx及びサブミットボタン値y(又は画像URIz)を有するフォームを含む」に抽象化される。リストアイテムの場合は、ドキュメントは、「URLが埋め込まれテキストラベルxを有する、リスト項目を含む」に抽象化される。   CLK_T: This is similar to the above, except that in the case of hyperlinks, the document is abstracted to “include hyperlink with anchor text x”. In the case of a form button, the document is abstracted to “include a form with action x and submit button value y (or image URIz)”. In the case of a list item, the document is abstracted to “include list item with embedded URL and text label x”.

CLK_P:これは上と同様だが、例外として、ハイパーリンク、フォームボタン、及びリスト項目は、ドキュメント中のそれらのxpathによって表され、xpathはHTMLドキュメント技術で周知である。   CLK_P: Same as above, with the exception that hyperlinks, form buttons, and list items are represented by their xpath in the document, which is well known in HTML document technology.

HL_PATH:これは、強調表示テキストを含むテキストノードのxpath、並びにテキストノード内における強調表示テキストのオフセットに基づく、強調表示変数に対する一般化メソッドである。   HL_PATH: This is a generalized method for highlight variables based on the xpath of the text node containing the highlighted text and the offset of the highlighted text within the text node.

HL_TREE:これは上と同様だが、例外として、xpathは、ドキュメント自体のルートではなくドキュメントのサブツリーのルートから開始される。   HL_TREE: This is similar to the above, except that xpath starts at the root of the document subtree, not the root of the document itself.

FI_1:これは、フォーム入力変数に対する一般化メソッドである。フォーム入力先が、「アクションx及び入力フィールド名yを有するフォーム」に抽象化される。   FI_1: This is a generalized method for form input variables. The form input destination is abstracted as “form having action x and input field name y”.

URL_1:これは、URL入力変数に対する一般化メソッドである。「http://www2.xyz.com/path1/path2/...」の形の完全なURLが、「xyz.com/path1」に抽象化される。   URL_1: This is a generalized method for URL input variables. A complete URL in the form “http: //www2.xyz.com/path1/path2 / ...” is abstracted to “xyz.com/path1”.

[0058]他の一般化メソッド、特に、ドキュメントの内容に基づく一般化メソッドを使用することもできる。例えば、一実施形態では、ある一般化メソッドは、同じマップアドレスを含むか又は多数の画像を共に含む2つのドキュメントを、同じ一般化ドキュメントに一般化する。   [0058] Other generalization methods may also be used, particularly generalization methods based on document content. For example, in one embodiment, a generalization method generalizes two documents containing the same map address or containing multiple images together into the same generalized document.

[0059]図6に、前述の一般化メソッドを使用したサンプル一般化プランのリストを示す。各状態メンバ変数につきいくつかの異なるメソッドがあってもよいが、多数のメソッド組合せは実行不可能であるか又は冗長なので、実際的な一般化プランの数は指数関数的に大きくはないことに留意されたい。図6を参照すると、表中の一般化プランは、それらが生み出す一般化状態の「忠実度」(元の具体的状態に対する)の順に並んでいる。   [0059] FIG. 6 shows a list of sample generalization plans using the generalization methods described above. There may be several different methods for each state member variable, but since many method combinations are not feasible or redundant, the number of practical generalized plans is not exponentially large. Please keep in mind. Referring to FIG. 6, the generalized plans in the table are ordered by the “fidelity” (relative to the original concrete state) of the generalized states they produce.

[0060]セッションがタグ付けされると、同様の一般化プランリストを使用してその状態が一般化される(例えば図5参照)。元の各具体的状態につき、結果は、元の状態に対する忠実度の高い順の一般化状態のリストである。一般化プランは、1つ又は複数の状態を一般化するのに失敗する場合があることに留意されたい(図5のチャート中の「x」)。   [0060] Once a session is tagged, its state is generalized using a similar generalized plan list (see, eg, FIG. 5). For each original concrete state, the result is a list of generalized states in order of increasing fidelity to the original state. Note that the generalized plan may fail to generalize one or more states (“x” in the chart of FIG. 5).

(セッション再生)
[0061]上に論じたように、タグ付けされたセッションの再生をユーザが要求するとき、ユーザは通常、タグ付けされたセッションの最初から全く同じ対話シーケンスを繰り返すよう求めているのではない。実際、ユーザが自分のセッションの開始と考えていたものは、システムがタグ付けアルゴリズムを通して推論したものとは異なる可能性がある。従って、セッション再生ロジックが、ユーザが再生を要求した時点でのユーザのコンテキストを自動的に決定し、タグ付けされたセッション内のどの状態がそのコンテキストに合致するかを決定することが重要である。合致する状態が、タグ付けされたセッション中の後続イベントを1つずつ再生するための開始点となる。
(Session playback)
[0061] As discussed above, when a user requests playback of a tagged session, the user typically does not want to repeat the exact same interaction sequence from the beginning of the tagged session. In fact, what the user thinks is the start of his session may be different from what the system inferred through the tagging algorithm. Therefore, it is important that the session playback logic automatically determines the user's context at the time the user requests playback and which state in the tagged session matches that context. . The matching state becomes the starting point for playing subsequent events in the tagged session one by one.

[0062]記録されたセッションの範囲内で、コンテキストは、ユーザによるブラウザとの最新の対話を表す対話状態(並びに対応するイベント)のシーケンスとして定義される。シーケンスの長さはカスタマイズ可能だが、通常は短い(例えば1回の実施において8つ)。コンテキスト中で最も重要な情報は、シーケンス中で最後の(すなわち最新の)対話状態である。   [0062] Within the recorded session, a context is defined as a sequence of interaction states (as well as corresponding events) representing the most recent interaction with the browser by the user. The length of the sequence can be customized, but is usually short (eg 8 in one run). The most important information in the context is the last (ie latest) interaction state in the sequence.

[0063]コンテキストCの最新状態をSlとし、Cのi番目の状態をSiとし、優先順位の高い順に並んだ一般化プランのリストをGPLとし、一般化プランgpを状態Siに適用することから導出される一般化状態をSigpとする。   [0063] Since the latest state of the context C is S1, the i-th state of C is Si, the list of generalized plans arranged in descending order of priority is GPL, and the generalized plan gp is applied to the state Si. Let the generalized state derived be Sigp.

[0064]図4の擬似コードは、コンテキスト認識のためのアルゴリズムの一実施形態を記述するものである。本質的に、このアルゴリズムは、最も好ましいものから最も好ましくないものまで、サポートされる各一般化プランをとり、コンテキストの最新状態に適用して一般化状態を生み出す。そのような一般化状態(Slgp)が存在する場合は、そのような一般化状態が、同じプランをタグ付けされたセッションの状態のうちの1つに適用することから導出される一般化状態と等しいかどうかチェックする。少なくとも1つのそのような状態が存在する場合は、そのような状態のうちの第1の(最も早い)状態が、合致状態として返される。どの一般化プランも一般化状態の合致を生み出すことができない場合は、アルゴリズムは、タグ付けされたセッションの第1の状態を合致状態として返す。これは、タグ付けされたセッションを最初から再生する必要があることを示す。   [0064] The pseudo code in FIG. 4 describes one embodiment of an algorithm for context recognition. In essence, the algorithm takes each supported generalized plan, from most preferred to least preferred, and applies it to the current state of the context to produce a generalized state. If such a generalized state (Slgp) exists, then such generalized state is derived from applying the same plan to one of the states of the tagged session; Check for equality. If there is at least one such state, the first (earliest) state of such states is returned as a match state. If no generalized plan can produce a generalized state match, the algorithm returns the first state of the tagged session as the match state. This indicates that the tagged session needs to be played from the beginning.

[0065]一実施形態では、状態Slの一般化は、状態自体とコンテキストCとの両方を入力とすることに留意されたい。これは、いくつかの一般化メソッドが、状態のメンバ変数を一般化する際に追加の情報を使用する必要があるからである。同じことは、タグ付けされたセッション中の状態が一般化されるときにも当てはまる。   [0065] Note that in one embodiment, the generalization of state Sl takes both state itself and context C as inputs. This is because some generalization methods need to use additional information when generalizing state member variables. The same is true when the state during a tagged session is generalized.

[0066]図5は、コンテキスト認識プロセスのより説明的な描写である。セッションがタグ付けされると、その状態が一般化プランによって抽象化される。いくつかのプランから導出された一般化状態は、元の具体的状態に対して高い忠実度を維持するが、他の一般化状態は、ずっと抽象化され、具体的状態の多くの際立った特色を失う。ユーザがセッションの再生を要求すると、ユーザの最終状態が取り出され、最終状態に対して最も高い忠実度を維持する一般化状態の合致を見つける努力がなされる。   [0066] FIG. 5 is a more descriptive depiction of the context recognition process. When a session is tagged, its state is abstracted by a generalized plan. Generalized states derived from some plans maintain high fidelity to the original concrete state, while other generalized states are much more abstract and many distinct features of the concrete state Lose. When a user requests session replay, the user's final state is retrieved and an effort is made to find a generalized state match that maintains the highest fidelity to the final state.

[0067]セッション再生の開始点を決定する他、コンテキスト認識はまた、ユーザが自分の再生したいタグ付けされたセッションを識別するのを補助するのに用いることもできる。これは、ユーザが全てのタグ付けされたセッションのリストを開いたときに、バックエンドシステムは、ユーザのコンテキストとの高忠実度の合致をそれぞれが有するタグ付けされたセッションのセットを識別することができるからである。このタグ付けされたセッションのセットは、次いで、より目立つように表示して(例えば強調表示するか又はリストの先頭に昇格させて)、ユーザがそれらの位置を突き止めるのを補助することができる。これにより、作成されたタグ付け済みセッションが数十個又はそれ以上あるときにシステムの使い勝手がよりよくなる可能性がある。   [0067] In addition to determining the starting point for session playback, context awareness can also be used to help identify the tagged session that the user wishes to play. This means that when the user opens a list of all tagged sessions, the backend system identifies a set of tagged sessions each with a high fidelity match to the user's context. Because you can. This set of tagged sessions can then be displayed more prominently (eg, highlighted or promoted to the top of the list) to help the user locate their location. This can improve the usability of the system when there are dozens or more of tagged sessions created.

[0068]タグ付けされたセッション内の合致状態が識別されると、残りのセッション再生プロセスは、ユーザの対話コンテキストから開始し、タグ付けされたセッション中の合致状態の後に続く各イベントを再生する。   [0068] Once a match state within a tagged session is identified, the remaining session playback process starts from the user's interaction context and plays each event following the match state in the tagged session. .

[0069]図7は、「スマートな」イベント再生のためのアルゴリズムの擬似コードの一例である。図7を参照すると、アルゴリズムの2つのwhileループのうち、外側のループは、タグ付けされたセッションのイベントを通して(合致状態から始まって)反復し、各イベント(Et)につき、そのイベントを再生することを試みる。イベントの再生が失敗した場合は、プロセス全体がアボートし、例外が投げられる。   [0069] FIG. 7 is an example of pseudo code for an algorithm for “smart” event playback. Referring to FIG. 7, of the two while loops of the algorithm, the outer loop iterates through the tagged session events (starting with a match) and replays that event for each event (Et). Try that. If event playback fails, the entire process is aborted and an exception is thrown.

[0070]複雑さの多くは、またセッション再生アルゴリズムの「スマートさ」の源は、内側のwhileループ中にある。内側のループは、タグ付けされたセッション中の次の状態(Su)を首尾よく一般化した各一般化プラン(gp)を、優先順位の高い順にチェックする。gpから、タグ付けされたセッション中の元のイベントEtのタイプに基づいて、一般化メソッド(gm)並びに一般化イベント(Eg)を得る。次いで、現在の具体的状態Scを用いてEgをインスタンス化するようgmに依頼する。このようなインスタンス化が成功した場合は、得られた具体的イベント(Ec)を使用して、更新された現在の具体的状態を導出する。   [0070] Much of the complexity and the source of the “smartness” of the session replay algorithm is in the inner while loop. The inner loop checks each generalized plan (gp) that successfully generalized the next state (Su) in the tagged session, in order of priority. From gp, get the generalized method (gm) as well as the generalized event (Eg) based on the type of the original event Et in the tagged session. It then asks gm to instantiate Eg using the current concrete state Sc. If such instantiation is successful, the obtained concrete event (Ec) is used to derive the updated current concrete state.

[0071]タグ付けされたセッション中のイベントは、モバイルデバイスから1つずつ再生することができるが、そのような再生は、インターネットへの固定回線の高速接続を有し計算容量がより大きいプロキシサーバにおいて実行する方がよい場合がある。このようなプロキシサーバにおいてタグ付けされたセッションをリモート再生することで、より遅くレイテンシの長いワイヤレスアクセスネットワークの中を通る要求の数及びデータの量が低減され、場合によっては最小限に抑えられる。また、各イベントの「スマートな」再生に関係する処理も高速化される。この結果、このようなリモート実行によってタグ付けされたセッションを再生することは、遥かに短時間で済み、ユーザ体験を改善する。   [0071] Events in a tagged session can be played one by one from the mobile device, but such playback is a proxy server with a fixed line high-speed connection to the Internet and higher computational capacity It may be better to run in Remote playback of the tagged session at such a proxy server reduces the number of requests and the amount of data passing through the slower, longer-latency wireless access network and in some cases minimized. Processing related to “smart” reproduction of each event is also accelerated. As a result, playing a session tagged with such remote execution is much shorter and improves the user experience.

[0072]図8に、タグ付けされたセッションのリモート実行に関係する操作を示す。図8を参照すると、まず、タグ付けされたセッションは、ユーザの最新の対話状態と共に、モバイルハンドセット801からプロキシサーバ802に送られる(1)。次に、プロキシサーバ802は、前述の手順を使用して、合致する状態の後に続くイベントを再生する。このプロセスの間、プロキシサーバ802は、1つ又は複数のウェブサーバ803に要求を送り、そのような(1つ又は複数の)サーバから応答を受信する(2)。最後のページロードイベントで、プロキシサーバ802は、ウェブサーバ803のうちの1つからページを得て、次いで、プロキシサーバ802上の現在の対話状態と共に、ページをモバイルハンドセット801に渡す(3)。次いでモバイルハンドセット801は、最後のページのリソースをロードし、残りのイベントの再生を完了する。ステップ(2)では、ページロードイベントのために、プロキシサーバ802はページのHTMLテキストをダウンロードするだけで済み、画像やスクリプトなどのリソースをダウンロードする必要はないことに留意されたい。   [0072] FIG. 8 illustrates operations related to remote execution of a tagged session. Referring to FIG. 8, a tagged session is first sent from the mobile handset 801 to the proxy server 802 along with the user's latest interaction state (1). The proxy server 802 then replays the event that follows the matching condition using the procedure described above. During this process, proxy server 802 sends requests to one or more web servers 803 and receives responses from such server (s) (2). At the last page load event, proxy server 802 gets the page from one of web servers 803 and then passes the page to mobile handset 801 along with the current interaction state on proxy server 802 (3). The mobile handset 801 then loads the last page of resources and completes playing the remaining events. Note that in step (2), because of the page load event, proxy server 802 need only download the HTML text of the page, and does not need to download resources such as images or scripts.

[0073]ユーザがタグ付けされたセッションを手動で実施することと比較して、リモート実行によるセッション再生は、以下の理由でより効率的である。すなわち、ページのレンダリングがより少なく、モバイルデバイス上では最後のページをレンダリングするだけで済むことと、ウェブサーバからダウンロードされるデータがより少なく、最後のページを除いては、ページに埋め込まれたダウンロードすべきリソースがないことと、より遅くよりレイテンシの長いワイヤレスアクセスネットワークの中を通る要求の数及びデータの総量が、より少ないことである。最後のページ、それに加えてシステムの少量のオーバヘッド(タグ付けされたセッション及び対話状態)が、モバイルデバイスとプロキシサーバとの間で送信される。   [0073] Compared to a user performing a tagged session manually, session playback by remote execution is more efficient for the following reasons. This means that the page renders less, only the last page needs to be rendered on the mobile device, and less data is downloaded from the web server, with the exception of the last page, the download embedded in the page There are no resources to do, and the number of requests and the total amount of data going through the slower and longer latency wireless access network is lower. The last page plus a small amount of system overhead (tagged session and interaction state) is sent between the mobile device and the proxy server.

[0074]以下の図10に、テキスト形式で記憶された記録済みセッション(後述する期限切れeBayオークションの例についての)を示す。図10を参照すると、セッションは、10個の状態(初期状態(この場合では、デフォルト開始状態である状態0)を含む)及び9個のイベントを有する。   [0074] FIG. 10 below shows a recorded session (for an example of an expired eBay auction described below) stored in text format. Referring to FIG. 10, a session has 10 states (including an initial state (in this case, state 0 which is the default start state)) and 9 events.

(サンプル使用ケース)
(自発的ブログ記入)
[0075]自発的ブログ記入については上に述べた。この使用ケースでは、ユーザがセッションのタグ付けを要求すると、システムは、ユーザがgizmodo.comホームページを開いたときからセッションが開始されたと見なすことになる可能性が高い。しかしその後、ユーザが別のウェブサイトに行き、記事内の何らかのテキストを強調表示し、自発的ブログ記入セッションの再生をシステムに要求すると、システムは、「Gen Plan 6(図6参照)」が、ユーザの現在状態と、Gizmodo記事を強調表示した後のユーザの状態とを同じ一般化状態に抽象化する一般化プランであると認識する。この場合、システムは、ここから開始して残りのイベントを再生する。
(Sample use case)
(Voluntary blog entry)
[0075] Voluntary blog entry was described above. In this use case, when the user requests session tagging, the system will prompt the user for gizmod. It is likely that the session will have been started since the com home page was opened. But then, when the user goes to another website, highlights some text in the article, and requests the system to play a voluntary blogging session, the system says "Gen Plan 6 (see Figure 6)" It recognizes that this is a generalized plan that abstracts the current state of the user and the state of the user after highlighting the Gizmodo article into the same generalized state. In this case, the system starts from here and plays the remaining events.

(期限切れeBayオークション)
[0076]この例では、ユーザが特定の収集品(例えばアンティーク印章)に関心があり、1〜2分の自由時間があるときはいつでも、現在何がeBayでオークションにかけられているかチェックしたいと思っていると考えてみる。ユーザは、eBayのホームページに行き、「アンティーク印章」とタイプ入力し、eBayで検索することができる(図9(a))。検索結果が新規ページにロードされた後(図9(b))、ユーザは、オークション商品を期限切れ時刻でソートし(図9(c))、最後に、最も早く期限切れになる商品に関するページをクリックして開く(図9(d))。
(Expired ebay auction)
[0076] In this example, whenever a user is interested in a particular collection (eg antique seal) and has one to two minutes free time, he wants to check what is currently auctioned on eBay. I think that it is. The user can go to the home page of eBay, type “Antique Seal”, and search on eBay (FIG. 9A). After the search results are loaded on a new page (Fig. 9 (b)), the user sorts the auction items by expiration time (Fig. 9 (c)) and finally clicks on the page for the item that expires the earliest (FIG. 9D).

[0077]この使用ケースでは、システムは、セッションの開始を、ユーザがebay.comホームページに行くときとして正しく見なす。ユーザが現在ランダムなウェブサイトにいるときにセッションの再生を要求すると、システムは、タグ付けされたセッションの第1の状態から開始する。その理由は、どの一般化プランも、他のいずれかの状態及びユーザの現在状態を全く同様に抽象化することができないからである。   [0077] In this use case, the system prompts the user to start an ebay. com as the correct time to go. If the user is currently on a random website and requests to play a session, the system starts from the first state of the tagged session. The reason is that no generalized plan can abstract any other state and the user's current state in exactly the same way.

(エクスプレスチェックアウト)
[0078]この例では、ユーザが時々オンラインショッピングサイトを使用して小物を購入すると考えてみる(図11(a))。ユーザは、ショッピングカートに行き、欲しい商品を見つけ(図11(b))、精算ボタンをクリックする。これにより、ユーザは配送及び支払情報を入力するためのフォームに導かれ(図11(c))、最後に自分の注文の最終見直しのためのページに行く(図11(d))。画面上では(図11(c))、顧客名や配送情報などいくらかの情報はすでに自動的に記入されているが、ユーザはなお支払関連情報を記入する必要があることに留意されたい。システムは、amazon.comなどのサイトにおける「エクスプレスチェックアウト」に類似するものを様々な理由でサポートしないサイトの場合には、それを自分で生み出すオプションをユーザに提供する。
(Express Checkout)
[0078] In this example, consider that a user sometimes purchases an accessory using an online shopping site (FIG. 11 (a)). The user goes to the shopping cart, finds the desired product (FIG. 11B), and clicks the checkout button. As a result, the user is led to a form for inputting delivery and payment information (FIG. 11C), and finally goes to a page for final review of his / her order (FIG. 11D). Note that on the screen (FIG. 11 (c)), some information, such as customer name and delivery information, has already been automatically entered, but the user still needs to enter payment related information. The system is Amazon. For sites that do not support something similar to “Express Checkout” at sites such as com for various reasons, the user is given the option of creating it.

(コンピュータシステムの一例)
図12は、本明細書において説明される1つ又は複数の操作を実行することができる例示的なコンピュータシステムを示すブロック図である。図12を参照すると、コンピュータシステム1200は、例示的なクライアント又はサーバコンピュータシステムを備えることができる。コンピュータシステム1200は、情報を通信するための通信機構又はバス1211と、情報を処理するためにバス1211に結合されたプロセッサ1212とを備える。プロセッサ1212は、マイクロプロセッサを含むが、例えばPentium(登録商標)、PowerPC(登録商標)、Alpha(登録商標)などのようなマイクロプロセッサに限定されることはない。
(Example of computer system)
FIG. 12 is a block diagram illustrating an example computer system that can perform one or more of the operations described herein. With reference to FIG. 12, the computer system 1200 may comprise an exemplary client or server computer system. Computer system 1200 includes a communication mechanism or bus 1211 for communicating information, and a processor 1212 coupled with bus 1211 for processing information. The processor 1212 includes a microprocessor, but is not limited to a microprocessor such as Pentium (registered trademark), PowerPC (registered trademark), Alpha (registered trademark), or the like.

システム1200は、プロセッサ1212によって実行されるべき情報及び命令を記憶するためにバス1211に結合された、ランダムアクセスメモリ(RAM)又はその他の動的記憶デバイス1204(メインメモリとして示される)を更に備える。メインメモリ1204はまた、プロセッサ1212による命令の実行中に、一時変数又は他の中間情報を記憶するために使用されてもよい。   System 1200 further comprises random access memory (RAM) or other dynamic storage device 1204 (shown as main memory) coupled to bus 1211 for storing information and instructions to be executed by processor 1212. . Main memory 1204 may also be used to store temporary variables or other intermediate information during execution of instructions by processor 1212.

コンピュータシステム1200はまた、プロセッサ1212のための静的情報及び命令を記憶するためにバス1211に結合された、読取専用メモリ(ROM)及び/又は他の静的記憶デバイス1206と、磁気ディスク又は光ディスク及びそれに対応するディスクドライブなどのデータ記憶デバイス1207とを備える。データ記憶デバイス1207は、情報及び命令を記憶するためにバス1211に結合される。   Computer system 1200 also includes a read only memory (ROM) and / or other static storage device 1206 coupled to bus 1211 for storing static information and instructions for processor 1212, and magnetic or optical disks. And a data storage device 1207 such as a disk drive corresponding thereto. Data storage device 1207 is coupled to bus 1211 for storing information and instructions.

コンピュータシステム1200は、コンピュータユーザに情報を表示するためにバス1211に結合された、陰極線管(CRT)や液晶表示装置(LCD)などの表示デバイス1221に更に結合されてもよい。情報及びコマンド選択をプロセッサ1212に通信するために、文字数字キー及び他のキーを備える文字数字入力デバイス1222をバス1211に結合させることもできる。追加のユーザ入力デバイスは、方向情報及びコマンド選択をプロセッサ1212に通信するため、及び表示装置1221上のカーソル移動を制御するためにバス1211に結合された、マウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーなどのカーソルコントロール1223である。   Computer system 1200 may be further coupled to a display device 1221, such as a cathode ray tube (CRT) or liquid crystal display (LCD), coupled to bus 1211 for displaying information to a computer user. A alphanumeric input device 1222 comprising alphanumeric keys and other keys can also be coupled to the bus 1211 for communicating information and command selections to the processor 1212. Additional user input devices include a mouse, trackball, trackpad, stylus, coupled to bus 1211 to communicate direction information and command selections to processor 1212 and to control cursor movement on display device 1221. Or a cursor control 1223 such as a cursor direction key.

バス1211に結合することができる別のデバイスは、ハードコピーデバイス1224であるが、これは紙、フィルム、又は類似のタイプの媒体上に情報を記憶するために使用されてもよい。バス1211に結合することができる別のデバイスは、電話機又は手持ち式パームデバイスと通信するための、有線/ワイヤレス通信機能1225である。   Another device that can be coupled to the bus 1211 is a hardcopy device 1224, which may be used to store information on paper, film, or similar types of media. Another device that can be coupled to the bus 1211 is a wired / wireless communication function 1225 for communicating with a telephone or handheld palm device.

本発明では、システム1200のいずれか又は全てのコンポーネント、及び関連するハードウェアを使用することができることに留意されたい。しかし、コンピュータシステムの他の構成がこれらのデバイスのいくつか又は全てを含んでもよいことを理解することができる。また、これらのコンポーネントのいくつか又は全てを、本明細書に述べた機能を実施するモバイルデバイス(例えばハンドセット)に含めることもできることに留意されたい。   Note that any or all components of system 1200 and associated hardware may be used in the present invention. However, it can be appreciated that other configurations of the computer system may include some or all of these devices. It should also be noted that some or all of these components can be included in a mobile device (eg, a handset) that performs the functions described herein.

前述の説明を読んだ後、当業者にはおそらく、本発明の多くの改変及び修正が明らかとなるであろうが、例示として図示及び記述されたどんな特定の実施形態も、限定的なものと見なされることは決して意図されていないことを理解されたい。従って、様々な実施形態の詳細への参照は、それ自体が本発明に必須であると見なされる特徴のみを列挙する特許請求の範囲を限定することを意図されていない。   Many modifications and variations of the present invention will become apparent to those skilled in the art after reading the foregoing description, but any particular embodiment illustrated and described by way of illustration is not intended to be limiting. It should be understood that it is never intended to be considered. Accordingly, references to details of various embodiments are not intended to limit the scope of the claims, which enumerate only features that are considered essential to the invention.

本発明の実施形態は、ユーザによってデバイス上で実施されるタスクの記録及び再生の分野に関する。より詳細には、本発明の実施形態は、モバイルハンドセットユーザのためのウェブベースのタスクの記録及び再生に関する。   Embodiments of the present invention relate to the field of recording and playback of tasks performed on a device by a user. More particularly, embodiments of the present invention relate to recording and playback of web-based tasks for mobile handset users.

Claims (20)

記録するセッションの開始を明示的に合図することなくユーザによって今しがた行われた前記セッション中に実施されたウェブベースのタスクを記録するステップであって、ユーザ関与無しに前記セッションの前記開始を自動的に見つけることを含む、ステップと、
前記記録されたウェブベースのタスクを再生する要求を受信するステップと、
前記記録されたウェブベースのタスクを再生するステップと、
を含む方法。
Recording a web-based task performed during the session performed by a user without explicitly signaling the start of the recording session, the automatic start of the session without user involvement Including steps to find,
Receiving a request to play the recorded web-based task;
Playing back the recorded web-based task;
Including methods.
前記ウェブベースのタスクを記録するステップが、
ユーザの対話状態及び対話コンテキストを監視するサブステップであって、前記対話コンテキストが一番最近の対話状態シーケンスである、サブステップと、
ブラウザ内から対話イベントを傍受するサブステップと、を含み、
各対話イベントが、ある対話状態から別の対話状態への遷移に対応する、請求項1に記載の方法。
Recording the web-based task comprises:
Monitoring a user's interaction state and interaction context, wherein the interaction context is a most recent interaction state sequence;
Intercepting conversation events from within the browser, and
The method of claim 1, wherein each interaction event corresponds to a transition from one interaction state to another interaction state.
前記対話状態の少なくとも1つが、前記ブラウザ中で現在開いているページと、前記ブラウザによって現在表示されているページ上の強調表示されたテキストと、クリップボードの内容と、前記ブラウザによって現在表示されているページに対して行われるフォーム入力と、入力バー中のリソース識別子の現在の値とからなるグループから選択される対話状態を含み、
更に、前記対話状態の少なくとも1つが、ページロードイベントと、リソース識別子入力イベントと、テキスト強調表示イベントと、テキストコピーイベントと、フォーム入力イベントと、貼付け入力イベントと、リソース識別子コピーイベントとからなるグループから選択される対話イベントを含む、請求項2に記載の方法。
At least one of the interaction states is currently displayed by the browser, the currently open page in the browser, the highlighted text on the page currently displayed by the browser, the contents of the clipboard, and the browser. Including an interactive state selected from the group consisting of form input made to the page and the current value of the resource identifier in the input bar,
Furthermore, at least one of the dialog states includes a page load event, a resource identifier input event, a text highlight event, a text copy event, a form input event, a paste input event, and a resource identifier copy event. The method of claim 2, comprising an interaction event selected from:
前記ウェブベースのタスクを記録するステップが、
イベントストリームをセグメント化するサブステップと、
前記タスクに対して影響を有さないイベントを前記イベントストリームから除去して雑音除去済みイベントストリームを生み出すサブステップと、
前記セグメント化された雑音除去済みイベントストリーム中のイベント間の依存関係を決定するサブステップと、
イベントの最後のセグメントから遡って依存連鎖を横断して、イベントを再生可能セッションの一部として前記雑音除去済みイベントストリームから識別するサブステップと、
を含む、請求項1に記載の方法。
Recording the web-based task comprises:
A substep to segment the event stream;
A sub-step of removing events from the event stream that have no effect on the task to produce a de-noised event stream;
Determining a dependency between events in the segmented denoised event stream;
Identifying the event from the denoised event stream as part of a replayable session, traversing the dependency chain back from the last segment of the event;
The method of claim 1 comprising:
前記イベントストリームをセグメント化するサブステップが、前記イベントストリーム中のイベント間の時間レイテンシに基づいて実施される、請求項4に記載の方法。   The method of claim 4, wherein the sub-step of segmenting the event stream is performed based on a time latency between events in the event stream. 前記イベントストリームをセグメント化するサブステップが、明示的なユーザ入力アクションに基づいて実施される、請求項4に記載の方法。   The method of claim 4, wherein the sub-step of segmenting the event stream is performed based on an explicit user input action. イベントを前記イベントストリームから除去するサブステップが、ユーザ関与無しに行われる、請求項4に記載の方法。   The method of claim 4, wherein the substep of removing an event from the event stream is performed without user involvement. イベントを前記ストリームから除去するサブステップが、前記タスクにとって重要でないユーザナビゲーションから生じるイベントを除去することを含む、請求項4に記載の方法。   The method of claim 4, wherein the sub-step of removing events from the stream comprises removing events that result from user navigation that is not important to the task. 前記依存連鎖を横断するサブステップが、強調表示及びコピー操作と、コピー及び貼付け操作と、入力及びサブミット操作と、からなるグループから選択されるアクションの1つ又は複数の対を識別することを含む、請求項4に記載の方法。   Substeps traversing the dependency chain include identifying one or more pairs of actions selected from the group consisting of highlight and copy operations, copy and paste operations, and input and submit operations. The method according to claim 4. 前記タスクを表すセッションを一般化して、前記セッションを、前記セッションが記録されたときに使用されたコンテキストとは異なるコンテキストに適用可能にするステップを更に含む、請求項1に記載の方法。   The method of claim 1, further comprising generalizing a session representing the task to make the session applicable to a context different from the context used when the session was recorded. 前記セッションを一般化するステップが、前記セッションを抽象化するサブステップを含む、請求項10に記載の方法。   The method of claim 10, wherein generalizing the session includes substeps of abstracting the session. 前記記録されたウェブベースのタスクを再生するステップが、前記記録されたウェブベースのタスクを表す記録済みセッションのコンテキストを、前記セッションが記録されたときのユーザに関連する第1の対話コンテキストから、ユーザの現在の対話コンテキストに適応させて、前記ユーザの現在の対話コンテキストを用いた記録済みセッションを再生するサブステップを含む、請求項1に記載の方法。   Replaying the recorded web-based task includes a recorded session context representing the recorded web-based task from a first interaction context associated with the user when the session was recorded. The method of claim 1, comprising substeps of playing a recorded session using the user's current interaction context, adapted to the user's current interaction context. 前記コンテキストを適応させるサブステップが、前記記録済みセッション内のどの状態が、前記タスクの再生要求が行われた時点のユーザのコンテキストに合致するかを決定することを含む、請求項12に記載の方法。   The sub-step of adapting the context includes determining which state in the recorded session matches the user's context at the time the task playback request was made. Method. 前記記録されたウェブベースのタスクを再生するステップが、前記記録されたウェブベースのタスクの一部である少なくとも1つのウェブページの変化に適応することによって、前記記録されたウェブベースのタスクを表す記録済みセッションを適応させるサブステップを含む、請求項1に記載の方法。   Replaying the recorded web-based task represents the recorded web-based task by adapting to changes in at least one web page that is part of the recorded web-based task. The method of claim 1, comprising the substep of adapting a recorded session. 前記記録されたウェブベースのタスクを再生するステップが、前記記録されたウェブベースのタスクを表す記録済みセッションを、プロキシサーバを使用してリモートに再生するサブステップを含む、請求項1に記載の方法。   The replaying of the recorded web-based task comprises the sub-step of replaying a recorded session representing the recorded web-based task remotely using a proxy server. Method. 前記記録されたウェブベースのタスクを表す記録済みセッションを、プロキシサーバを使用してリモートに再生するサブステップが、
前記記録済みセッションをユーザの最新の対話状態と共に前記プロキシサーバに送信すること、
1つ又は複数のサーバに1つ又は複数の要求を送信して前記1つ又は複数のサーバから応答を受信することを含めて、前記ユーザの対話状態からの状態を用いてイベントを前記プロキシサーバによって再生すること、
前記プロキシサーバ上の現在の対話状態と共に、前記セッション中の最後のページロードイベントに対応する最後のページを前記プロキシサーバによって送信すること、及び、
前記最後のページによって指定されるリソースをロードして、前記セッションを終了する1つ又は複数のイベントの再生を完了することを含む、請求項15に記載の方法。
The sub-step of playing the recorded session representing the recorded web-based task remotely using a proxy server comprises:
Sending the recorded session to the proxy server along with the user's latest interaction state;
Sending an event to the proxy server using a state from the user interaction state, including sending one or more requests to one or more servers and receiving a response from the one or more servers Playing by,
Sending by the proxy server the last page corresponding to the last page load event during the session, along with the current interaction state on the proxy server; and
16. The method of claim 15, comprising loading a resource specified by the last page and completing playback of one or more events that terminate the session.
命令が記憶された1つ又は複数の非一時的コンピュータ可読記憶媒体を有する製造品であって、前記命令が、システムによって実行される時に、
記録するセッションの開始を明示的に合図することなくユーザによって今しがた行われた前記セッション中に実施されたウェブベースのタスクを記録するステップであって、ユーザ関与無しに前記セッションの前記開始を自動的に見つけることを含む、ステップと、
前記記録されたウェブベースのタスクを再生する要求を受信するステップと、
前記記録されたウェブベースのタスクを再生するステップと、
を含む方法を前記システムに実施させる、製造品。
An article of manufacture having one or more non-transitory computer readable storage media having instructions stored thereon, wherein the instructions are executed by the system.
Recording a web-based task performed during the session performed by a user without explicitly signaling the start of the recording session, the automatic start of the session without user involvement Including steps to find,
Receiving a request to play the recorded web-based task;
Playing back the recorded web-based task;
An article of manufacture that causes the system to perform a method comprising:
前記ウェブベースのタスクを記録するステップが、
ユーザの対話状態及び対話コンテキストを監視するサブステップであって、前記対話コンテキストが一番最近の対話状態シーケンスである、サブステップと、
ブラウザ内から対話イベントを傍受するサブステップと、
を含み、各対話イベントが、ある対話状態から別の対話状態への遷移に対応する、請求項17に記載の製造品。
Recording the web-based task comprises:
Monitoring a user's interaction state and interaction context, wherein the interaction context is a most recent interaction state sequence;
A substep to intercept conversation events from within the browser;
18. The article of manufacture of claim 17, wherein each interaction event corresponds to a transition from one interaction state to another interaction state.
前記ウェブベースのタスクを記録するステップが、
イベントストリームをセグメント化するサブステップと、
前記タスクに対して影響を有さないイベントを前記イベントストリームから除去して雑音除去済みイベントストリームを生み出すサブステップと、
前記セグメント化された雑音除去済みイベントストリーム中のイベント間の依存関係を決定するサブステップと、
イベントの最後のセグメントから遡って依存連鎖を横断して、イベントを再生可能セッションの一部として前記雑音除去済みイベントストリームから識別するサブステップと、
を含む、請求項17に記載の製造品。
Recording the web-based task comprises:
A substep to segment the event stream;
A sub-step of removing events from the event stream that have no effect on the task to produce a de-noised event stream;
Determining a dependency between events in the segmented denoised event stream;
Identifying the event from the denoised event stream as part of a replayable session, traversing the dependency chain back from the last segment of the event;
The article of manufacture of claim 17 comprising:
前記記録されたウェブベースのタスクを再生するステップが、前記記録されたウェブベースのタスクを表す記録済みセッションのコンテキストを、前記セッションが記録されたときのユーザに関連する第1の対話コンテキストから、ユーザの現在の対話コンテキストに適応させて、前記ユーザの現在の対話コンテキストを用いた記録済みセッションを再生するサブステップを含む、請求項17に記載の製造品。   Replaying the recorded web-based task includes a recorded session context representing the recorded web-based task from a first interaction context associated with the user when the session was recorded. 18. The article of manufacture of claim 17, comprising the substep of adapting to a user's current interaction context to play a recorded session using the user's current interaction context.
JP2010279386A 2009-12-15 2010-12-15 System and method for recording and playing back web-based mobile tasks Active JP5649944B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28672409A 2009-12-15 2009-12-15
US61/286,724 2009-12-15

Publications (2)

Publication Number Publication Date
JP2011159281A true JP2011159281A (en) 2011-08-18
JP5649944B2 JP5649944B2 (en) 2015-01-07

Family

ID=44591139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010279386A Active JP5649944B2 (en) 2009-12-15 2010-12-15 System and method for recording and playing back web-based mobile tasks

Country Status (1)

Country Link
JP (1) JP5649944B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017511525A (en) * 2014-02-18 2017-04-20 イーベイ インク.Ebay Inc. Saving communication session state
US10606905B2 (en) 2013-12-20 2020-03-31 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
US10748508B2 (en) 2012-02-28 2020-08-18 Ebay Inc. Location based display of pixel history
CN116627581A (en) * 2023-07-26 2023-08-22 北京轻松筹信息技术有限公司 Method, device, equipment and storage medium for backtracking business system page

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256101A (en) * 2000-03-08 2001-09-21 Ntt Communications Kk Method for recording information retrieval sequence and reproducing method and system therefor
JP2001290809A (en) * 2000-04-04 2001-10-19 Casio Comput Co Ltd Data processor and storage medium
JP2009087032A (en) * 2007-09-28 2009-04-23 Internatl Business Mach Corp <Ibm> Technology for automating operation of user

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256101A (en) * 2000-03-08 2001-09-21 Ntt Communications Kk Method for recording information retrieval sequence and reproducing method and system therefor
JP2001290809A (en) * 2000-04-04 2001-10-19 Casio Comput Co Ltd Data processor and storage medium
JP2009087032A (en) * 2007-09-28 2009-04-23 Internatl Business Mach Corp <Ibm> Technology for automating operation of user

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014030868; Dong Zhou, Ajay Chander, Hiroshi Inamura: 'Optimizing user Interaction for Mobile Web Browsing' International Conference on Human-Computer Interaction with Mobile Devices and Services (MobileHCI ' Article no.57, 20090915, ACM (Association for Computing Machinery) *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10748508B2 (en) 2012-02-28 2020-08-18 Ebay Inc. Location based display of pixel history
US11030978B2 (en) 2012-02-28 2021-06-08 Ebay Inc. Location-based display of pixel history
US11610563B2 (en) 2012-02-28 2023-03-21 Ebay Inc. Location-based display of pixel history
US10606905B2 (en) 2013-12-20 2020-03-31 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
US11455348B2 (en) 2013-12-20 2022-09-27 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
JP2017511525A (en) * 2014-02-18 2017-04-20 イーベイ インク.Ebay Inc. Saving communication session state
US9912756B2 (en) 2014-02-18 2018-03-06 Ebay Inc. Systems and methods for automatically saving a state of a communication session
US10601929B2 (en) 2014-02-18 2020-03-24 Ebay Inc. Systems and methods for presenting a state of a communication session
US10771567B2 (en) 2014-02-18 2020-09-08 Ebay Inc. Systems and methods for automatically saving a state of a communication session
CN116627581A (en) * 2023-07-26 2023-08-22 北京轻松筹信息技术有限公司 Method, device, equipment and storage medium for backtracking business system page

Also Published As

Publication number Publication date
JP5649944B2 (en) 2015-01-07

Similar Documents

Publication Publication Date Title
US7899847B2 (en) System and method for authoring new lightweight web applications using application traces on existing websites
US7099939B2 (en) HTTP transaction monitor with sequence replay capacity
US9563718B2 (en) Using interactive scripts to facilitate web-based aggregation
US7861213B2 (en) Mechanism for developing AJax applications using java swing framework and method for using the same
US8176411B2 (en) Integrating an applet into a multi-page or multi-tasking web application to enable applet state to be automatically saved and restored
US8983935B2 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
US8407712B2 (en) Updating workflow nodes in a workflow
US10831986B2 (en) Generating a document object model (DOM) differential
CN101005501B (en) Method and apparatus for storing and restoring state information of remote user interface
EP1782283A1 (en) Method and system for integrating browsing histories with media playlists
WO2020216310A1 (en) Method used for generating application, terminal device, and computer readable medium
CN103902533A (en) Fast search method and device
JP5649944B2 (en) System and method for recording and playing back web-based mobile tasks
US8856809B2 (en) Controlling navigation of application logic using annotated application code
US7996764B2 (en) Apparatus, program and method for accepting a request from a client computer via a network and executing a web application
JP5039946B2 (en) Technology for relaying communication between client devices and server devices
JP2001060179A (en) History recorder and history reproducing device
CN104268246A (en) Method for generating instruction script for visiting websites and visiting method and device
EP2466490A1 (en) System for speeding up website use using task workflow templates for filtration and extraction
US7814020B2 (en) System, method and computer program product for the recording and playback of transaction macros
US20230114651A1 (en) Dynamic recorder for demonstrations of web-based software applications
US20230116021A1 (en) Visual recorder for demonstrations of web-based software applications
CN116841853A (en) Test case generation method and device, electronic equipment and readable storage medium
WO2023215897A1 (en) Distributed actor-based information system and method
EP4281882A1 (en) Systems and methods for storing references to original uniform resource identifiers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141112

R150 Certificate of patent or registration of utility model

Ref document number: 5649944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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