(57)【要約】【課題】ウェブページのセットを介して定義済みパスを再生する好適なシステムおよび方法を提供すること。【解決手段】上記システムおよび方法は、リクエスト履歴内の保存されたリクエストを時間順に選択するステップを包含する。保存されたリクエストは、ウェブページのセットからウェブページで作成されるユーザリクエストのセットに相当する。さらに、本発明は、保存されたリクエストが、フォームリクエストであるかどうかを判定するステップと、保存されたリクエストがフォームリクエストであれば、ウェブページのセットからウェブページに最適なフォームみつけるステップと、再生リクエストを最適フォームに送信するステップとを包含する。保存されたリクエストがフォームリクエストでない場合には、最適ＵＲＬについての再生リクエストを作成するステップを包含する。【選択図】なし【特許請求の範囲】
【請求項１】
システム内でウェブページのセットを介して定義済みパスを再生する方法であって、
前記システムは、コンピュータに格納されたプログラムを含み、
前記方法は、前記プログラムが前記コンピュータに、
リクエスト履歴から、保存されたＵＲＬに対応する保存されたリクエストを選択するステップであって、前記保存されたリクエストは、ターゲットウェブページに対して開始ウェブページからなされたものである、ステップと、
前記保存されたリクエストがフォームリクエストである場合には、ターゲットＵＲＬとして、前記開始ウェブページ内のフォームのセットから最適フォームを選択するステップと、
前記保存されたリクエストがフォームリクエストでない場合には、前記ターゲットＵＲＬとして、前記開始ウェブページ内の最適ＵＲＬを選択するステップであって、前記最適ＵＲＬは、前記保存されたＵＲＬではない、ステップと、
前記ターゲットＵＲＬに対して再生リクエストを送信するステップと
を実行させることを含む、方法。
【請求項２】
前記開始ウェブページまたは前記ターゲットウェブページのコンテンツは、調節されたものである、請求項１に記載の方法。
【請求項３】
前記リクエスト履歴は、前記保存されたＵＲＬに関連付けられたクッキー、ヘッダまたはフォームパラメータを含む、請求項１に記載の方法。
【請求項４】
前記再生リクエストは、フォームパラメータのセットを含む、請求項１に記載の方法。
【請求項５】
前記最適フォームの選択は、フォームパラメータに基づく、請求項４に記載の方法。
【請求項６】
前記保存されたリクエストは、前記リクエスト履歴の時間的な順序に基づいて選択される、請求項１に記載の方法。
【請求項７】
前記再生リクエストは、ターゲットウェブページが、前記再生リクエストが特定のタイプのブラウザからなされたかのように同じコンテンツをリターンするように、ヘッダのセットを含む、請求項１に記載の方法。
【請求項８】
前記再生リクエストはクッキーを含み、前記クッキーのセットは、保存されたクッキーに対応する変更されたクッキーを含み、前記変更されたクッキーは、ターゲットウェブページが、前記再生リクエストが新たなユーザによってなされたかのようにコンテンツをリターンするように、変更されている、請求項１に記載の方法。
【請求項９】
前記保存されたリクエストがＰＯＳＴであるか、または、ＧＥＴであるかを決定することをさらに含む、請求項１に記載の方法。
【請求項１０】
ウェブページのセットを介して定義済みパスを再生するシステムであって、
前記システムは、
コンピュータ読出し可能媒体と、
前記コンピュータ読出し可能媒体に格納されたソフトウェア命令のセットと
を備え、
前記ソフトウェア命令のセットは、
リクエスト履歴から、保存されたＵＲＬに対応する保存されたリクエストを選択するステップであって、前記保存されたリクエストは、ターゲットウェブページに対して開始ウェブページからなされたものである、ステップと、
前記保存されたリクエストがフォームリクエストである場合には、ターゲットＵＲＬとして、前記開始ウェブページ内のフォームのセットから最適フォームを選択するステップと、
前記保存されたリクエストがフォームリクエストでない場合には、前記ターゲットＵＲＬとして、前記開始ウェブページ内の最適ＵＲＬを選択するステップであって、前記最適ＵＲＬは、前記保存されたＵＲＬではない、ステップと、
前記ターゲットＵＲＬに対して再生リクエストを送信するステップと
をコンピュータに実行させるように動作可能である、システム。
【請求項１１】
前記開始ウェブページまたは前記ターゲットウェブページのコンテンツは、調節されたものである、請求項１０に記載のシステム。
【請求項１２】
前記リクエスト履歴は、前記保存されたＵＲＬに関連付けられたクッキー、ヘッダまたはフォームパラメータを含む、請求項１０に記載のシステム。
【請求項１３】
前記再生リクエストは、フォームパラメータのセットを含む、請求項１０に記載のシステム。
【請求項１４】
前記最適フォームの選択は、フォームパラメータに基づく、請求項１３に記載のシステム。
【請求項１５】
前記保存されたリクエストは、前記リクエスト履歴の時間的な順序に基づいて選択される、請求項１０に記載のシステム。
【請求項１６】
前記再生リクエストは、ターゲットウェブページが、前記再生リクエストが特定のタイプのブラウザからなされたかのように同じコンテンツをリターンするように、ヘッダのセットを含む、請求項１０に記載のシステム。
【請求項１７】
前記再生リクエストはクッキーを含み、前記クッキーのセットは、保存されたクッキーに対応する変更されたクッキーを含み、前記変更されたクッキーは、ターゲットウェブページが、前記再生リクエストが新たなユーザによってなされたかのようにコンテンツをリターンするように、変更されている、請求項１０に記載のシステム。
【請求項１８】
前記コンピュータ読出し可能媒体に格納されたソフトウェア命令のセットは、前記保存されたリクエストがＰＯＳＴであるか、または、ＧＥＴであるかを決定するステップをコンピュータに実行させるようにさらに動作可能である、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の属する技術分野）
本発明は、一般に、ウェブページシステムおよび方法、より具体的には、中間サーバからの予め定義されたウェブパスを再生するソフトウェアシステムおよび方法に関する。
【背景技術】
【０００２】
（発明の背景）
ウェブサイトは、より偏在するようになり、企業は、そのウェブサイトの性能の目標および品質基準を設定することに益々関心が持たれている。これらの目的を達成する１つの方法は、ユーザの企業ウェブサイトとの体験をシミュレートすることである。ユーザの体験をシミュレートすることによって、ウェブサイトの所有者は、ページにおけるリンクおよびリソースの統合性を決定し得、企業によって定義された操作上の目標に反する顧客の体験を評価し得る。さらに、企業の情報技術部門は、重要な意味をもつウェブリソースの追跡および測定（ｍｅａｓｕｒｅ）がより良くできる。
【０００３】
ウェブサイトを通じてユーザのパスをシミュレートする１つの方法は、プロキシサーバにおいてユーザによってなされるすべてのリクエストを記録し、それぞれのリクエストに関するさらなるデータを記録し、ソケットを開いて通貨された正確なデータを送信することである。この技術は、静的ページのみを含むウェブサイトに用いられ得る。しかしながら、増大するウェブサイトの数は動的であり、ウェブを通じてユーザのパスを再生する方法は、セッションＩＤ等のコンテンツおよびフォームの責任を負うことができる必要がある。動的コンテンツは、時間が経てばウェブセッションが終了するか、または変化する原因となり得、一連のリクエストを単に再生することは、しばしば、ターゲットウェブサイトからエラーが返信されるという結果になる。
【０００４】
ウェブサイトを通じてパスをシミュレートする現在の方法は、動的ウェブサイトを十分にアドレス指定しない。Ｍｉｃｒｏｓｏｆｔ  Ｗｅｂ  Ｓｔｒｅｓｓ  Ａｎａｌｙｚｅｒ  Ｔｏｏｌは、インターネット上で利用可能なサイトを作成する前に、ウェブサイトを過負荷テストするために開発された。Ｍｉｃｒｏｓｏｆｔツールは、クッキーベースの動的ウェブサイト技術のみを支援するが、他の技術を支援せず、ブラウザとウェブサイトとの間のＨＴＴＰＳ通信も支援しない。さらに、Ｍｉｃｒｏｓｏｆｔツールは、ソフトウェアがユーザのコンピュータ上にダウンロードされ、インストールされることをリクエストする。
【発明の概要】
【課題を解決するための手段】
【０００５】
（発明の要旨）
本発明は、ウェブパス再生システムおよび前に開発されたウェブパス再生システムと関連する不利な点および問題を実質的に排除するかまたは低減する方法を提供する。より具体的には、本発明は、ウェブページのセットを通じて予め定義されたパスを再生するシステムおよび方法を提供する。予め定義されたウェブパスを再生する方法は、リクエスト履歴からの保存されたＵＲＬと関連する保存されたリクエストを選択することを含む。保存されたリクエストがフォームリクエストである場合、本発明は、再生リクエストがなされ得る開始ウェブページからの最適フォームを決定し得る。あるいは、リクエストがフォームリクエストではない場合、本発明は、再生リクエストがなされ得る開始ウェブページ上の最適ＵＲＬを選択する。最適フォームまたは最適ＵＲＬがターゲットＵＲＬとして選択された後、本発明は、再生リクエストをターゲットＵＲＬにする。
【０００６】
本発明は、パスが動的ウェブページを通じて再生されることを可能にすることによって、前に開発されたシステムを越える実質的利点を提供する。
【０００７】
本発明は、完全にウェブベースであることによって、さらに別の重要な技術的利点を提供する。
【０００８】
本発明は、業界基準サーバ上で動作することによって、さらに別の重要な技術的利点を提供する。
【０００９】
本発明は、ＨＴＴＰＳ通信を支援することによって、さらに別の重要な技術的利点を提供する。
【００１０】
本発明は、さらに別の重要な技術的利点を提供する。なぜなら、本発明は、ユーザコンピュータ上にさらなるソフトウェアをインストールすることをユーザに要求しないからである。
【００１１】
本発明は、前に開発された方法よりも実質的により多数のウェブページを通じてパスを再生できることによって、有意な利点を提供する。
（項目１）  ウェブページのセットを介して定義済みパスを再生する方法であって、
リクエスト履歴から保存されたＵＲＬに相当する保存されたリクエストを選択するステップと、
該保存されたリクエストがフォームリクエストである場合には、開始ウェブページ内のフォームセットからターゲットＵＲＬとして最適フォームを選択するステップと、
該保存されたリクエストが該フォームリクエストでない場合には、該開始ウェブページ内の最適ＵＲＬを該ターゲットＵＲＬとして選択するステップと、
再生リクエストを該ターゲットＵＲＬに送信するステップと
を包含する、方法。
（項目２）  前記再生リクエストは、再生フォームパラメータのセットを含む、項目１に記載の方法。
（項目３）  前記再生フォームパラメータのセットは、
保存されたフォームパラメータのセットと、
前記開始ウェブページの現在の構成からのパラメータを含むマージされたフォームパラメータのセットと
を含む、項目２に記載の方法。
（項目４）  前記最適フォームを選択するステップは、
潜在フォームの前記ＵＲＬが前記保存されたＵＲＬから開始しない場合に該潜在フォームを拒否するステップと、
前記フォームリクエストがＰＯＳＴである場合、前記再生リクエストが残留フォームについて行われた場合に、該残留フォームが前記再生フォームパラメータに含まれる各パラメータを必要としない場合には残留フォームのセットから１つの残留フォームを拒否するステップと、
該残留フォームのセットがなおも１より多くの残留フォームを含む場合、前記保存されたフォームパラメータのセット内の隠れフォームパラメータすべてを必要とするとは限らない該残留フォームのセットからすべての残留フォームを拒否するステップと、
該残留フォームのセット内になおも１つより多くの残留フォームがある場合、所定の方法で該残留フォームのセットから最適フォームを選択し、そうでない場合には、該残留フォームのセットから該１つの残留フォームを最適フォームとして選択する、ステップと
を包含する、項目３に記載の方法。
（項目５）  前記最適フォームを選択するステップは、
潜在フォームの前記ＵＲＬが前記保存されたＵＲＬから開始しない場合には該潜在フォームを拒否するステップと、
前記フォームリクエストがＧＥＴである場合、残留フォームが前記保存されたフォームパラメータに含まれる隠れフォームパラメータすべてを必要とするとは限らない場合には残留フォームのセットから１つの残留フォームを拒否するステップと、
該残留フォームのセットがなおも１つより多くの残留フォームを含む場合、再生リクエストが残りの残留フォームについて行われる場合には前記再生フォームパラメータに含まれる前記フォームパラメータすべてを必要とするとは限らない該残留フォームのセットから該残りの残留フォームを拒否するステップと、
該残留フォームのセット内になおも１つより多くの残留フォームがある場合、所定の方法で該残留フォームのセットから最適フォームを選択し、そうでない場合には、該残留フォームのセット内の該１つの残留フォームを最適フォームとして選択する、ステップと
をさらに包含する、項目３に記載の方法。
（項目６）  前記最適ＵＲＬを選択するステップは、
リンクされた前記ＵＲＬが前記保存されたＵＲＬに正確に一致する場合に、該リンクを該最適ＵＲＬとして選択するステップと、
該リンクされた該ＵＲＬが該保存されたＵＲＬに正確に一致しない場合に、前記保存されたリクエストに関連付けられたアドレスに位置する不一致ＵＲＬを該最適ＵＲＬとして選択するステップと
をさらに包含する、項目１に記載の方法。
（項目７）  前記不一致ＵＲＬが部分的に前記保存されたＵＲＬに一致する場合に、該不一致ＵＲＬを前記最適ＵＲＬとして選択するステップをさらに包含する、項目６に記載の方法。
（項目８）  前記保存されたリクエストに含まれるストリングを前記不一致ＵＲＬに付加して前記再生リクエスト用の前記ＵＲＬを形成するステップをさらに包含する、項目７に記載の方法。
（項目９）  前記再生リクエストは、ターゲットウェブページが、該再生リクエストが特定のタイプのブラウザから行われたかのように同じコンテンツに戻るように、ヘッダのセットを含む、項目１に記載の方法。
（項目１０）  前記再生リクエストはクッキーのセットを含み、該クッキーのセットは、保存されたクッキーに相当する変更されたクッキーを含み、該変更されたクッキーは、ターゲットウェブページが、前記再生リクエストが新たなユーザによって行われたかのうようにコンテンツに戻るように、変更される、項目１に記載の方法。
（項目１１）  前記保存されたリクエストがＰＯＳＴであるか、または、ＧＥＴであるかを判定するステップをさらに包含する、項目１に記載の方法。
（項目１２）  ウェブページのセットを介して定義済みパスを再生する方法であって、
（ａ）リクエスト履歴から保存されたＵＲＬに相当する保存されたリクエストを選択するステップと、
（ｂ）該保存されたリクエストがフォームリクエストである場合、開始ウェブページ内のフォームセットから最適フォームをターゲットＵＲＬとして選択するステップと、
（ｃ）該保存されたリクエストが該フォームリクエストでない場合、該開始ウェブページ内の最適ＵＲＬを該ターゲットＵＲＬとして選択するステップと、
（ｄ）再生リクエストを該ターゲットＵＲＬに送信するステップと、
（ｅ）該リクエスト履歴からの各保存されたリクエストが再生されるまで該ステップ（ａ）〜（ｅ）を繰り返すステップと
を包含する、方法。
（項目１３）  ウェブページのセットを介して定義済みパスを再生するシステムであって、
コンピュータ読出し可能媒体と、
該コンピュータ読出し可能媒体に格納されたソフトウェア命令のセットと
を備え、
該ソフトウェア命令のセットは、コンピュータが、
リクエスト履歴から保存されたＵＲＬに相当する保存されたリクエストを選択し、
該保存されたリクエストがフォームリクエストである場合には、開始ウェブページ内のフォームセットから最適フォームをターゲットＵＲＬとして選択し、
該保存されたリクエストが該フォームリクエストでない場合には、該開始ウェブページ内の最適フォームを該ターゲットＵＲＬとして選択し、
再生リクエストを該ターゲットＵＲＬに送信するように動作可能である、システム。
（項目１４）  前記再生リクエストは再生フォームパラメータのセットを含む、項目１３に記載のシステム。
（項目１５）  前記再生フォームパラメータのセットは、
保存されたフォームパラメータのセットと、
前記開始ウェブページの現在の構成からのパラメータを含むマージされたフォームパラメータのセットと
を含む、項目１４に記載のシステム。
（項目１６）  前記ソフトウェア命令は、
潜在フォームの前記ＵＲＬが前記保存されたＵＲＬから開始しない場合に該潜在フォームを拒否するステップと、
前記フォームリクエストがＰＯＳＴである場合、前記再生リクエストが残留フォームについて行われた場合に、該残留フォームが前記再生フォームパラメータに含まれる各パラメータを含まない場合には残留フォームのセットから１つの残留フォームを拒否するステップと、
該残留フォームのセットが１より多くの残留フォームを含む場合、前記保存されたフォームパラメータのセット内の隠れフォームパラメータすべてを必要とするとは限らない該残留フォームのセットからすべての残留フォームを拒否するステップと、
該残留フォームのセット内になおも１つより多くの残留フォームがある場合、所定の方法で該残留フォームのセットから最適フォームを選択し、そうでない場合には、所定の方法で、該残留フォームのセット内の該１つの残留フォームを該最適フォームとして選択する、ステップと
によって最適フォームを選択するようにさらに動作可能である、項目１５に記載のシステム。
（項目１７）  前記ソフトウェア命令は、
ターゲットフォームＵＲＬが、前記保存されたＵＲＬに相当するＵＲＬから開始しない場合には潜在フォームを拒否するステップと、
前記フォームリクエストがＧＥＴである場合、残留フォームが前記保存されたフォームパラメータに含まれる隠れフォームパラメータすべてを必要とするとは限らない場合には残留フォームのセットから１つの残留フォームを拒否するステップと、
該残留フォームのセットがなおも１つより多くの残留フォームを含む場合、再生リクエストが残りの残留フォームについて行われる場合には該残りの残留フォームが、前記再生フォームパラメータに含まれる前記フォームパラメータすべてを必要とするとは限らない場合に、該残留フォームのセットから該残りの残留フォームを拒否するステップと、
該残留フォームのセット内になおも１つより多くの残留フォームがある場合、所定の方法で該残留フォームのセットから最適フォームを選択し、そうでない場合には、該残留フォームのセット内の該１つの残留フォームを最適フォームとして選択する、ステップと
によって最適フォームを選択するようにさらに動作可能である、項目１５に記載のシステム。
（項目１８）  前記ソフトウェア命令は、
リンクされた前記ＵＲＬが前記保存されたＵＲＬに正確に一致する場合に、該リンクを前記最適ＵＲＬとして選択するステップと、
該リンクされた該ＵＲＬが該保存されたＵＲＬに正確に一致しない場合に、前記保存されたリクエストに関連付けられたアドレスに位置する不一致ＵＲＬを該最適ＵＲＬとして選択するステップと
によって最適ＵＲＬを選択するようにさらに動作可能である、項目１３に記載のシステム。
（項目１９）  前記ソフトウェア命令は、前記不一致ＵＲＬが部分的に前記保存されたＵＲＬに一致する場合に、該不一致ＵＲＬを前記最適ＵＲＬとして選択するステップによって最適ＵＲＬを選択するようにさらに動作可能である、項目１８に記載のシステム。
（項目２０）  前記ソフトウェア命令は、コンピュータに、前記再生リクエスト内に前記ＵＲＬを形成するために、前記保存されたＵＲＬに含まれるストリングを前記不一致ＵＲＬに付加させるようにさらに動作可能である、項目１９に記載のシステム。
（項目２１）  前記再生リクエストは、ターゲットウェブページが、該再生リクエストが特定のタイプのブラウザから行われたかのように同じコンテンツに戻るように、ヘッダのセットを含む、項目１３に記載のシステム。
（項目２２）  前記再生リクエストはクッキーのセットを含み、該クッキーのセットは、保存されたクッキーに相当する変更されたクッキーを含み、該変更されたクッキーは、ターゲットウェブページが、前記再生リクエストが新たなユーザによって行われたかのようにコンテンツに戻るように、変更される、項目１３に記載のシステム。
（項目２３）  前記ソフトウェア命令は、保存されたリクエストがＰＯＳＴであるか、または、ＧＥＴであるかを判定するようにさらに動作可能である、項目１３に記載のシステム。
（項目２４）  ウェブページのセットを介して定義済みパスを再生するシステムであって、
コンピュータ読出し可能媒体と、コンピュータプロセッサと、データベースとを備えた中間サーバと、
該コンピュータ読出し可能媒体に格納されたソフトウェア命令のセットと
を備え、
該ソフトウェア命令のセットによって、該コンピュータプロセッサは、
該データベースに格納されたリクエスト履歴から保存されたＵＲＬに相当する保存されたリクエストを選択し、
該保存されたリクエストが開始ＵＲＬリクエストである場合には、開始ＵＲＬをターゲットＵＲＬとして選択し、
該保存されたリクエストが該フォームリクエストである場合には、開始ウェブページ内のフォームのセットから最適フォームを該ターゲットＵＲＬとして選択し、
該保存されたリクエストが該フォームリクエストでない場合には、該開始ウェブページ内の最適ＵＲＬを該ＵＲＬとして選択し、
再生リクエストを該ターゲットＵＲＬに送信するように動作可能となる、システム。
（項目２５）  前記再生リクエストは、ターゲットウェブページが、該再生リクエストが特定のタイプのブラウザから形成されたかのように同じコンテンツに戻るように、ヘッダのセットを含む、項目２４に記載のシステム。
（項目２６）  前記再生リクエストはクッキーのセットを含み、該クッキーのセットは、保存されたクッキーに相当する変更されたクッキーを含み、該変更されたクッキーは、ターゲットウェブページが、前記再生リクエストが新たなユーザによって行われたかのようにコンテンツに戻るように、変更される、項目２５に記載のシステム。
（項目２７）  ウェブページのセットを介してパスを生成し、該パスを再生する方法であって、
パスを保存するステップと、
パスを再生するステップと
を包含し、該パスを保存するステップは、
開始ウェブページについての第１のユーザリクエストを受信するステップと、
中間サーバにおいてリクエスト履歴内に該第１のユーザリクエストを保存するステップと、
該第１のユーザリクエストをターゲットウェブサーバに転送するステップと、
該ターゲットウェブサーバから該開始ウェブページを受信するステップと、
該開始ウェブページを取り次いで中間サーバを参照するステップと、
該開始ウェブページを該ユーザに転送するステップと、
ターゲットウェブページについての、該開始ウェブページの該取り次がれたコンテンツに基づくさらなるユーザリクエストを受信するステップと、
該さらなるユーザリクエストを該リクエスト履歴に記録するステップと
をさらに包含し、
該パスを再生するステップは、
該リクエスト履歴から保存されたリクエストを選択するステップと、
該保存されたリクエストが開始ＵＲＬに相当する場合、該開始ＵＲＬを該ターゲットＵＲＬとして選択するステップと、
該保存されたリクエストがフォームリクエストである場合、該開始ウェブページの現在の構成から最適フォームを該ターゲットＵＲＬとして選択するステップと、
該保存されたリクエストがフォームリクエストでない場合、該開始ウェブページの該現在の構成から最適ＵＲＬを該ターゲットＵＲＬとして選択するステップと、
該ターゲットＵＲＬに再生リクエストを行うステップと
をさらに包含する、方法。
【図面の簡単な説明】
【００１２】
本発明およびその利点をより完全に理解するために、次に、同様な参照符号が同様な機能を示す添付の図面とともに以下の説明がなされる。
【図１】図１は、本発明がパスを記録し、再生し得るシステムの概略図である。
【図２】図２は、ウェブページのセットを通じてパスを再生する、本発明の１実施形態を示すフローチャートである。
【発明を実施するための形態】
【００１３】
（発明の詳細な説明）
本発明の好適な実施形態を図面に示す。同様の参照符号は、種々の図面の同様の部分および対応する部分を指すために用いられる。
【００１４】
本発明の目的において、「コンテンツ」は、ＨＴＭＬおよびユーザのコマンドに応答して（例えば、ユーザがリンクを選択した場合に）ウェブページによってユーザのブラウザに返される他のデータを指す。「静的」コンテンツは、時間と共に変化しないユーザのブラウザに返されるコンテンツである。「動的」ウェブページは、同じユーザのコマンドに応答して、時間と共に変化する、異なる事前にフォーマットされていないコンテンツを含み得るページを表す。「パス」は、特定の順序になっている一連のウェブリクエストである。
【００１５】
本発明は、中間サーバからウェブを介してユーザのパスを再生するシステムを提供する。図１は、本発明がウェブを介してユーザのパスを記録および再生するために実現され得るシステムの概略図である。ユーザは、ウェブブラウザ２０を介して、中間サーバ１０におけるソフトウェアプログラム５にアクセスし得る。一実施形態において、ユーザは、中間サーバ１０においてソフトウェアプログラム５にアクセスした後、ウェブブラウザ２０を用いて、パス名（例えば、「パス１」）および開始ＵＲＬをソフトウェアプログラム５に提供し得る。パス名および開始ＵＲＬは、データベース１５内に保存され得る。パス名を用いて、ユーザによって定義される特定のパスをカテゴリ化し、さらに、開始ＵＲＬはユーザのパスの開始点である。例えば、ユーザが「スタート」ボタンをクリックすることによって、パスを定義し始める準備が整ったことを示した後、次いで、ソフトウェアプログラム５は、表示ウィンドウをウェブブラウザ２０内で開かせ得る。表示ウィンドウは、ユーザのコマンドに応答して受信されたコンテンツが表示される、ウェブブラウザ２０内の新たなウィンドウである。ウェブブラウザ２０は、開始ＵＲＬへのリクエストをソフトウェアプログラム５に送信し、ソフトウェアプログラム５は、データベース１５においてリクエストを保存した後、リクエストをターゲットウェブサーバ３０に転送する。次いで、ターゲットウェブサーバ３０は、リクエストにおけるＵＲＬに関連付けられたウェブページ３５に対応するコンテンツを中間サーバ１０に返す。次いで、ソフトウェアプログラム５は、コンテンツを調停して、ウェブページ３５のコンテンツからユーザによって行われた任意のさらなるリクエストが中間サーバ１０を介してルーティングされ得る。ウェブページのコンテンツ調停は、２０００年１１月１０日にＣｌａｙ  Ｄａｖｉｓ、Ｗａｌｔｅｒ  ＢｏｄｗｅｌｌおよびＭｉｃｈａｅｌ  Ｋｌｏｂｅの発明者らによって出願された「Ａ  Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｏｆ  Ｍｅｄｉａｔｉｎｇ  ａ  Ｗｅｂ  Ｐａｇｅ」という名称の特許出願第＿＿＿＿＿＿＿＿＿＿＿号に開示された方法によって実行され得る。同文献は、その全体が本明細書において参考として援用される。
【００１６】
ソフトウェアプログラム５は、コンテンツを調停した後、ウェブブラウザ２０の表示ウィンドウに調停コンテンツを伝達し得る。ユーザの観点から、ウェブブラウザ２０の表示ウィンドウ内に表示されたページは、ターゲットウェブサーバ３０に直接アクセスしたウェブユーザに表示される表示と同じように見え得る。しかし、ウェブブラウザ２０の表示ウィンドウは、ナビゲーションまたはステータスバーがなくとも開き得る。表示ウィンドウ内に表示される調停コンテンツを介してＵＲＬにアクセスするのではなく、ウェブブラウザ２０の一番上にＵＲＬを直接入力することによって、ユーザがパスを定義するプロセスを不注意に飛ばしてしまわないように、これが実行され得る。
【００１７】
ユーザが新たなウェブページ３６（例えば、「ターゲットウェブページ３６」）に対してさらにリクエストを行うと、ウェブページ３５は「開始ページ３５」になる。ターゲットウェブページ３６は、開始ページ３５と同じターゲットウェブサーバ３０または異なるターゲットウェブサーバ３０に関連付けられ得る。ここでも、ソフトウェアプログラム５は、さらなるリクエストに応答してターゲットウェブページ３６のコンテンツを調停し、調停コンテンツをブラウザ２０に返す。開始ページ３５およびターゲットウェブページ３６の両方が調停されることが理解されるべきである。ユーザがターゲットウェブページ３６からさらなるリクエストを行う場合、ターゲットウェブページ３６等は、また別のターゲットウェブページ３６にとっての開始ページ３５に等しい。一実施例として、「ページＡ」が開始ＵＲＬに関連付けられ、ユーザが、「ページＡ」の調停コンテンツに基づいて「ページＢ」をリクエストした場合、「ページＡ」はターゲットの「ページＢ」にとっての開始ウェブページ３５である。ソフトウェアプログラム５は「ページＢ」のコンテンツを調停し、調停コンテンツをウェブブラウザ２０に転送する。ユーザが「ページＢ」から「ページＣ」をさらにリクエストした場合、「ページＢ」はターゲットの「ページＣ」にとっての開始ページである。「ページＡ」、「ページＢ」および「ページＣ」は、同じウェブサーバに関連付けられたり、それぞれが異なるウェブサーバに関連付けられたりし得る。ユーザがウェブブラウザの表示ウィンドウ内に表示されるコンテンツに基づいてさらなるリクエストを入力した場合、ソフトウェアプログラム５は、データベース１５内にさらなるリクエストを保存する。
【００１８】
データベース１５にリクエストを保存することに加え、ソフトウェアプログラム５は、ユーザリクエストを用いて送信されるクッキー、ヘッダーおよびフォームのパラメータなどのコンテンツを記録したり、ウェブページ３５のコンテンツ内に返したりもし得る。このように、中間サーバ１０は、ユーザによって行われる各リクエストに対応した情報を含むリクエスト履歴を構築し得る。概して、ソフトウェアプログラム５は、すべての相互作用をパスの「リクエスト履歴」としてサーバの介入を必要とするデータベース１５に保存し得る。ユーザがウェブを介してパスの定義を行った後、ユーザはパス定義プロセスを中止し得、パスはユーザによって提供されたパス名で保存される。
【００１９】
本発明の再生プロセスの間、ソフトウェアプログラム５は、データベース１５において格納されたリクエスト履歴にアクセスして、リクエストが最初に行われた順序でリクエストを送信する。さらに、ソフトウェアプログラム５は、特定のウェブページにとって必要な適切なヘッダー、クッキーおよび／またはフォームパラメータを送信する。ターゲットウェブサーバ３０は、各リクエストに対応するターゲットウェブページ３６の適切なコンテンツを返す。それぞれの追加のリクエストに関して、以前のリクエストに対するターゲットウェブページ３６は、次の再生リクエストにとっての開始ページ３５になる。ソフトウェアプログラム５は、ユーザによって定義されたパスが完全に再生されるまで、リクエスト履歴からリクエストを送信し続ける。
【００２０】
図２は、本発明による、１セットのウェブページを通じて予め定義されたパスを再生する一実施形態のフローチャートである。ステップ６０において、ソフトウェアプログラム５は、開始ＵＲＬ、さらなるリクエスト、ヘッダ、クッキー、フォームリクエストがＰＯＳＴまたはＧＥＴであるか否か、開始ページ３５のコンテンツ内のＵＲＬのアドレス、およびフォームパラメータなどの情報を含むデータベース１５から、リクエスト履歴にアクセスし得る。本発明の第１の反復の間、リクエストは、ユーザのパスの開始ＵＲＬに対応する。第１のリクエストが、開始ＵＲＬに向かってなされるので、プログラム５は、概して、動的コンテンツに対応する情報を送信する必要がない。しかし、さらなるリクエストは、ソフトウェアプログラム５が動的な性質の情報を送信することを必要とし得る。ステップ７０において、ソフトウェアプログラム５は、データベース１５に格納されたリクエスト履歴から保存されたリクエストを選択する。保存されたリクエストは、概して、時間的な順序で選択され、ユーザのパスが適切に再生される。
【００２１】
特定の保存されたリクエストが選択された後、ステップ８０において、ソフトウェアプログラム５は、保存されたリクエストが、フォームリクエストであるか否かを判定し得る。特定のＵＲＬリクエストは、データベース１５に格納されたリクエスト履歴において、ＵＲＬが「ＦＯＲＭ」タグと関連付けられていることが記録されているので、フォームリクエストとして区別され得る。このような関連が見受けられない場合、リクエストは、フォーム用ではない。図２に示すように、保存されたリクエストがフォームリクエストである場合、本発明は、ステップ１２０を行う前に、ステップ９０および１００を行う。保存されたリクエストがフォームリクエストでない場合、本発明は、ステップ１２０を行う前に、ステップ１１０を行う。
【００２２】
保存されたリクエストがフォームリクエストである場合、ステップ９０において、ソフトウェアプログラム５は、後で、再生リクエストがどのフォームに向かってなされる必要があるのかを判定し得る。再生リクエストがどのフォームに向かってなされる必要があるのかを判定することは、再生リクエストを単にＵＲＬに送信することより、保存されたリクエストに関わり得る。パスが再生される場合に出会う設定である、開始フォーム３５の「現在の設定」は、ユーザが最初にパスを定義した設定とは、異なり得る可能性がある。さらに、開始ページ３５の現在の設定は、再生リクエストがそれに向けて作られ得る１つより多いフォームを含み得、さらに、共通のＵＲＬを共有する複数のフォームさえも含み得る。これらの困難に対処するため、ステップ９０において、ソフトウェアプログラムは、開始ページ３５の現在の設定に位置する潜在フォームから最適フォームを選択する。
【００２３】
最適フォームを選択する方法は、ユーザがパスを最初に定義するときに保存されたフォームパラメータに依存する。フォームパラメータは、いくつかの方法で生成され得る。第１に、ユーザは、最初にフォームに記入するときに、フォームパラメータを生成する。第２に、フォームパラメータは、ユーザの入力に基づいて、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔを通じてウェブブラウザ２０によって作られるか、または変更され得る。最終的に、フォームパラメータは、ターゲットウェブサーバ３０によって生成される値と共に、フォーム自体に含まれ得る。Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔによって生成されたフォームパラメータ、または、フォーム自体に含まれるフォームパラメータは、しばしば、ユーザから隠されている。保存されたリクエストに対応する保存されたフォームパラメータは、概して、ユーザによって記入されたフォームパラメータを含む。しかし、ウェブブラウザ２０が、ユーザが提出したフォームパラメータを、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔで生成されたフォームパラメータと交換するか、または変化させる場合、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔで生成されたフォームパラメータは、ユーザが提出したパラメータではなく、リクエスト履歴に保存される。例えば、ユーザがチェックボックスをクリックするが、Ｊａｖａ（Ｒ）Ｓｃｒｉｐｔがこれを「１」に変化させる場合、再生リクエストは、パスが再生される場合、「１」のみを含み、ボックスをチェックする動作は含まない。これは、中間サーバ１０が、ターゲットウェブサーバ３０から適切な応答を生成するパラメータのみを提出する必要があるので、行われる。
【００２４】
保存されたリクエストがフォームリクエストである場合、ステップ９０において、ソフトウェアプログラム５は、開始ページ３５において、タグを読んで、ＵＲＬに適合するリクエストがあるか否かを判定する。適合するＵＲＬを含まない任意のフォームは、拒否される。ウェブページ３５上の残留フォームをフィルタリングするステップの順序は、保存されたリクエストが「ＰＯＳＴ」であるか、または「ＧＥＴ」であるかに依存する。ソフトウェアプログラム５は、「ＰＯＳＴ」を「ＧＥＴ」から、フォームリクエストのカテゴリが、ユーザが最初にパスを定義するときにリクエスト履歴において保存されるので区別し得る。保存されたリクエストがＰＯＳＴについてである場合、最初のページ３５の各フォームは、リクエスト履歴に保存されたパラメータの全てを必要としないので、拒否され、再生リクエストに含まれ得る。例えば、「名前」パラメータが、リクエスト履歴において、保存されたリクエストに関連する場合、「名前」パラメータを必要としない最初のページ３５の各フォームが拒否される。１つより多い潜在フォームが、開始ページにおいて残っている場合、本発明は、保存されたリクエストについて、リクエスト履歴において、隠されたパラメータの全てを含まない、ウェブページ３５上の全てのフォームを拒否する。これらの初期フィルタリングプロセスの後に、依然、１つより多い潜在フォームが残っている場合、フォームは、所定の様式で選択される。例えば、ページ上の第１の残留フォームが選択されてもよいし、ランダムな残留フォームが選択されてもよい。任意の所定の選択方法が用いられて、最適フォームが、残留する適格フォームから選択され得ることが理解される必要がある。
【００２５】
リクエストがＧＥＴである場合、保存されたリクエストにおいて、ＵＲＬに適合しない任意のフォームを拒否する第１のパスフィルタは、フォームリクエストがＰＯＳＴである場合と同じである。しかし、第２のパスフィルタと第３のパスフィルタとが置き換えられている。ＧＥＴでは、ＰＯＳＴとは反対に、ソフトウェアプログラム５は、第１に、保存されたリクエストについて、リクエスト履歴において保存された、隠された全てのパラメータを含まない、全てのフォームが拒否される。依然、ウェブページ３５上に１つより多い潜在フォームが残っている場合、本発明は、再生リクエストに含まれ得る、リクエスト履歴において保存されたパラメータの全てを含まないフォーム全てを拒否する。ＰＯＳＴについて述べたように、開始ページ３５は、リクエスト履歴に保存された全てのパラメータを必要としないこともある。初期フィルタが適用された後、依然、１つより多い残留フォームがある場合、フォームは、ＰＯＳＴリクエストと同様に、所定の様式で選択される。例えば、ページ上の第１の残留フォームが選択されてもよいし、ランダムな残留フォームが選択されてもよい。また、適格なフォームからフォームを選択する任意の様式が用いられることが理解される必要がある。
【００２６】
リクエストが関連付けられるべきフォームを判定した後、ソフトウェアプログラム５は、ステップ１００において、リクエスト履歴内に格納されているパラメータからのパラメータを、ウェブページ３５の現在の構成内のフォーム上に現れるパラメータにマージし得る。ソフトウェアプログラム５は、フォームパラメータがどのように生成されたかを比較することにより、再生フォームパラメータ内にどのパラメータを含むべきかを判定し得る。ユーザがフォームパラメータを入力した場合、このパラメータは、上記のようにＪａｖａ（Ｒ）Ｓｃｒｉｐｔによって変更されていない限り、再生フォームパラメータ内に含まれる。フォームパラメータがウェブブラウザ２０においてＪａｖａ（Ｒ）Ｓｃｒｉｐｔによって変更または生成された場合、ユーザによって入力されたパラメータではなく、Ｊａｖａ（Ｒ）Ｓｃｒｉｐによって生成されたパラメータが再生フォームパラメータ内に含まれる。ユーザによる最初のリクエストが行われた後、ユーザによるパラメータの入力またはＪａｖａ（Ｒ）Ｓｃｒｉｐｔによるパラメータの生成が行われなかった場合にフォームパラメータが提出される場合、ソフトウェアプログラム５は、フォーム自体にパラメータが含まれていたことを想定する。ソフトウェアプログラム５は、次いで、最初にリクエスト履歴内に格納されたフォームパラメータを、開始ウェブページの現在の構成に関するフォーム内に提供されるフォームパラメータに置き換える。例として、開始３５のフォームは、パスが最初に規定された際のセッションＩＤを含み得る。再生リクエストが、リクエスト履歴内に格納されているフォームパラメータを含む場合、再生リクエストを行う際にエラーが起こる可能性がある。このエラーによって、ソフトウェアプログラム５に「セッション失効」のメッセージが戻され得、ユーザのパスが適切にシミュレートされない。従って、ソフトウェアプログラム５は、リクエスト履歴内に格納されているセッションＩＤを、ウェブページ３５の現在の構成に関するフォームに含まれるセッションＩＤに置き換え、失効エラーを防止する。この様態で、ソフトウェアプログラム５は、アップデートされたフォームフィールド（例えば、セッションＩＤ、タイムスタンプなど）内に適切なコンテンツを配置し得る。
【００２７】
ステップ８０において、ソフトウェアプログラム５が、保存されたリクエストがフォームリクエストでないと判定する場合、ソフトウェアプログラム５は、ステップ１１０において、ウェブページ３５内のどのＵＲＬリンクが保存されたリクエスト内のＵＲＬに最適であるかを判定する。保存されたリクエストからの正確なＵＲＬがウェブページ３５上のリンク内で発見される場合、この正確なＵＲＬは、次のリクエスト内で使用される。この正確なＵＲＬが発見され得ない場合、本発明は、調和しないＵＲＬが、最初のＵＲＬリクエスト内のＵＲＬのアドレスに対応するウェブページ３５上のアドレスで発見され得るかを判定する。
【００２８】
本明細書中の「アドレス」は、保存されたリクエストが最初に発見されたウェブページ３０上の場所を意味する。ユーザがパスを規定すると、ソフトウェアプログラム５は、リクエストされる各ＵＲＬにウェブページアドレスを割り当て得る。このアドレスは、ウェブページ３５内のタグおよび属性の構成に基づいて割り当てられ得る。例えば、下記のページが与えられる。
【００２９】
【数１】
2011118938.tif 000002
構成されているページのルートは、＜ｈｔｍｌ＞タグである。このタグは、＜ｈｅａｄ＞および＜ｂｏｄｙ＞タグの２つのタグを含む。この＜ｈｅａｄ＞タグは、＜ｔｉｔｌｅ＞タグなどを含む。この構成によって、ＨＴＭＬページ上の個別の属性値にアドレスを割り当てることが可能になる。例えば、「Ｃｌｉｃｋ  Ｈｅｒｅ  Ｎｅｘｔ」のテキストを有する＜ａ＞のアドレスは、「ｈｔｍｌ［０］．ｂｏｄｙ［０］．ａ［１］．ｈｒｅｆ［０］」である。このアドレスは、ウェブページ３５上のタグまたは属性の正確なロケーションを識別する。保存されたリクエストからの正確なＵＲＬがウェブページ３５上で発見されない場合、対応するアドレスのＵＲＬが使用される。例えば、ユーザが、パスウェブページ３５を規定する際に「Ｃｌｉｃｋ  Ｈｅｒｅ  Ｎｅｘｔ」上をクリックするが、対応するＵＲＬであるｈｔｔｐ：／／ｗｗｗ．ｃｏｍｐａｎｙ．ｃｏｍ／ｎｅｘｔ．ｈｔｍｌが発見され得ない場合、ウェブページ３５内の「ｈｔｍｌ［０］．ｂｏｄｙ［０］．ａ［１］．ｈｒｅｆ［０］」のアドレスに位置するＵＲＬに再生リクエストが生成される。ウェブページ３５のＨＴＭＬ内のロケーションをもたらす他のフォームのアドレッシングが使用され得ることが理解される。
【００３０】
あるいは、保存されたリクエスト内の正確なＵＲＬがウェブページ３５内で発見され得ない場合、ソフトウェアプログラム５は、部分的なＵＲＬを一致させ得る。例えば、部分的なＵＲＬの一致は、ＵＲＬ間で一致する文字の数に基づいて、いくぶん異なるＵＲＬを保存されたリクエスト内のＵＲＬに一致させることを含み得る。
【００３１】
ソフトウェアプログラム５はまた、ウェブブラウザ２０が、ウェブページ３５内でもともと見つけられたＵＲＬをＪａｖａ（Ｒ）Ｓｃｒｉｐｔを介して修正した場合、ＵＲＬと一致し得る。例えば、もともとのリクエストがＵＲＬに対して行われた際に、Ｊａｖａ（Ｒ）ＳｃｒｉｐｔがＵＲＬにストリングを付加した場合、付加ストリングを有するリクエストは、リクエスト履歴に格納される。しかし、ソフトウェアプログラム５は、再生中に、保存リクエストで使用される正確なＵＲＬに関してウェブページ３５の現在の構造を解析する場合、ＵＲＬは、ストリングがウェブページ３５上に存在しないので見つけられない。ソフトウェアプログラム５は、リクエスト履歴に保存されたストリングを、保存リクエストのＵＲＬがもともと見つけられたウェブページ３５内のアドレスで見つけられるＵＲＬに付加し得る。
【００３２】
要約すると、ステップ１１０では、ソフトウェアプログラム５は、いくつかの方法で最適ＵＲＬを見つけ得る。ソフトウェアプログラム５は正確または部分的一致を用いて、ウェブページ３５の現在の構造の最適ＵＲＬを選択し得る。ソフトウェア５はまた、最適ＵＲＬを選択するためにアドレスのシステムも用い得る。ソフトウェアプログラム５はまた、特に保存リクエストにおけるＵＲＬがＪａｖａ（Ｒ）Ｓｃｒｉｐｔによる修正の結果である場合は、部分的一致とアドレスとの組み合わせを用いて、最適ＵＲＬを選択し得る。
【００３３】
図２に示されるように、最適ＵＲＬを選択（ステップ１１０）、または最適フォームを選択し集めた（ステップ９０および１００）後、ソフトウェアプログラム５は、ステップ１２０で、任意に適切なヘッダを再生リクエストに付加し得る。多くのウェブページはブラウザ依存である。すなわち、使用されるブラウザのタイプに依存する種々のデータを返す。正確にユーザパスをシミュレートするために、ソフトウェアプログラム５は、あたかも再生リクエストがユーザのブラウザから行われるかのように、応答するウェブページが同じコンテンツを返すように、リクエスト履歴に格納されるヘッダを送信する。さらに、ターゲットウェブページ３６が、例えば、ステータスコード４０１を返すことによって、ユーザの認証をリクエストする場合は、本発明は認証ヘッダを有するリクエストを返し得る。ユーザのシミュレーションは実際のユーザを含まないので、ターゲットウェブページ３６の認証ウィンドウにアクセスする理由はなく、このウィンドウは回避され得る。
【００３４】
ステップ１３０で、ソフトウェアプログラム５は、クッキーの作成詳細に基づいて、ターゲットウェブページ３６にクッキーが返されるべきかどうかを決定し得る。また、ソフトウェアプログラム５は、ターゲットウェブページ３６が失効エラーを返さないように、クッキーを修正し得る。例えば、ユーザがもともとウェブページを３月３日に訪問し、有効期限が１日であるクッキーを返した場合、本発明はクッキーを修正し得、クッキーの返された日付は、有効期限が１日であるパス再生の現在の日付、例えば１０月１７日であった。パスが規定されたときにソフトウェアプログラム５はデータベース１５にクッキーの作成詳細を格納したので、データは修正され得る。ソフトウェアプログラム５は、ターゲットウェブページ３６がエラーを返さないようにクッキーを修正し得るので、その後は、ユーザパスは動的ウェブページを介して再生され得る。
【００３５】
適切なターゲットウェブページ３６および含まれるデータを決定した後、ソフトウェアプログラム５は、ステップ１４０で再生リクエストを行い得る。再生リクエストは、ユーザによって以前定義されたパスを再生するために、ユーザによって行われるコマンドをシミュレートする。ターゲットウェブサーバ３０に対して再生リクエストを行った後、ソフトウェアプログラム５は、ターゲットウェブサーバ３０が再生リクエストに応答したか否かを決定する。ターゲットウェブサーバ３０が応答した場合は、返されたターゲットウェブページ３６の現在の構造は、リクエスト履歴における後続のリクエストの開始ページ３５として使用される。ターゲットウェブサーバ３０は、あるいは、エラーに応答または返さないこともあり得る。ソフトウェアプログラム５は、適切なターゲットウェブページサーバ３０またはターゲットウェブページ３６のいずれも見つけられなかったことを示す、「タイムアウトエラー」または「ページが見つけられない」というエラーを受信し得る。こうした性質のエラーがソフトウェアプログラム５によって受信される場合は、ソフトウェアプログラム５は、ステップ１６０で、Ｅメールまたは他の手段を介してエラーをユーザに通知し、プレーバックプロセスを終了し得る。ターゲットウェブサーバ３０がターゲットウェブページ３６を使って応答する場合は、ソフトウェアプログラム５は、ステップ１７０で、リクエスト履歴内の各保存リクエストに対して、本発明のステップ６０からステップ１６０を繰り返し、それによって、もともとユーザによって定義されたパスを再生し得る。
【００３６】
本発明は、静的および動的ウェブページの両方を介してパスをシミュレート可能にする定義済みパスを再生するシステムおよび方法を提供する。これは、本発明が、ウェブページを介してパスを再生する従来開発された方法よりも、ずっと多くのウェブページに適用されることを可能にする。
【００３７】
本発明は詳細に記載されたが、添付される請求項に記載される本発明の趣旨および範囲から逸脱することなしに、種々の変更、置換および代替が行われる得ることが理解されるべきである。
【図１】
2011118938.tif 000003
【図２】
2011118938.tif 000004
【外国語明細書】
2011118938000001.pdf