(57)【要約】複数のウェブブラウザおよびデバイスにおいてイベントを実行し表示するシステムおよび方法を提供する。方法は、複数のウェブブラウザに接続された第１のウェブブラウザ内でイベントを受信するステップと、イベントに対応する第１のウェブブラウザにおけるエレメントを特定するステップと、複数のウェブブラウザの各々により実行するために、エレメントおよびイベントを、ブラウザ表示装置のハードウェアプロセッサを用いて、複数のウェブブラウザに送信するステップとを含む。方法は、複数のウェブブラウザに対するイベントの実行を受信するステップと、複数のウェブブラウザの各々に対応する、複数のディスプレイにおける複数のウェブブラウザに対するイベントの実行を表示するステップとを、さらに含んでもよい。【選択図】図１
2016536683.tif 000002
【特許請求の範囲】
【請求項１】
マシンで読み取り可能な命令を格納する非一時的なメモリと、
前記非一時的なメモリと通信するハードウェアプロセッサであって、
複数のウェブブラウザに接続された第１のウェブブラウザ内でイベントを受信し、
前記イベントに対応する前記第１のウェブブラウザにおけるエレメントを特定し、
前記複数のウェブブラウザの各々により実行するために、前記エレメントおよび前記イベントを前記複数のウェブブラウザに送信する
ような、前記マシンで読み取り可能な命令を実行するよう構成されたハードウェアプロセッサを１つ以上
備えるシステム。
【請求項２】
前記第１のウェブブラウザはウェブソケットを用いて前記複数のウェブブラウザに接続されることを特徴とする、請求項１に記載のシステム。
【請求項３】
前記エレメントはドキュメントオブジェクトモデルエレメントに相当することを特徴とする、請求項１に記載のシステム。
【請求項４】
前記１つ以上のハードウェアプロセッサは、一意の識別情報、カスケーディングスタイルシート分類名、およびＸＭＬパス言語のうちの１つを用いて前記エレメントを特定するよう構成されることを特徴とする、請求項１に記載のシステム。
【請求項５】
前記１つ以上のハードウェアプロセッサは、さらに前記複数のウェブブラウザに対する前記イベントの実行を受信するよう構成されることを特徴とする、請求項１に記載のシステム。
【請求項６】
前記１つ以上のハードウェアプロセッサは、前記複数のウェブブラウザの各々に対応する、複数のウィンドウにおける前記複数のウェブブラウザに対するイベントの実行を表示するよう構成されることを特徴とする、請求項５に記載のシステム。
【請求項７】
前記イベントは、ウェブページ検索ツールの使用、インタラクティブゲームへの参加、動画の再生、および録画の再生のうちの１つに対応することを特徴とする、請求項１に記載のシステム。
【請求項８】
前記複数のウェブブラウザのうち少なくとも１つは、さらに少なくとも１つのデバイスに対応することを特徴とする、請求項１に記載のシステム。
【請求項９】
複数のウェブブラウザに接続された第１のウェブブラウザ内でウェブページイベントを受信するステップと、
前記ウェブページイベントに対応する前記第１のウェブブラウザにおけるウェブページエレメントを特定するステップと、
前記複数のウェブブラウザの各々により実行するために、前記ウェブページエレメントおよび前記ウェブページイベントを、ブラウザ表示装置のハードウェアプロセッサを用いて、前記複数のウェブブラウザに送信するステップと、
前記複数のウェブブラウザに対する前記ウェブページイベントの実行を受信するステップと、
前記複数のウェブブラウザの各々に対応する、複数のウィンドウにおける前記複数のウェブブラウザに対する前記ウェブページイベントの実行を表示するステップと
を含むことを特徴とする方法。
【請求項１０】
前記第１のウェブブラウザはウェブソケットを用いて前記複数のウェブブラウザに接続されることを特徴とする、請求項９に記載の方法。
【請求項１１】
前記ウェブページエレメントはドキュメントオブジェクトモデルエレメントに相当することを特徴とする、請求項９に記載の方法。
【請求項１２】
前記ウェブページエレメントを特定するステップは、一意の識別情報、カスケーディングスタイルシート分類名、およびＸＭＬパス言語のうちの１つを用いることを特徴とする、請求項９に記載の方法。
【請求項１３】
前記イベントは、ウェブページ検索ツールの使用、インタラクティブゲームへの参加、動画の再生、および録画の再生のうちの１つに対応することを特徴とする、請求項９に記載の方法。
【請求項１４】
前記複数のウェブブラウザのうち少なくとも１つは、さらに少なくとも１つのデバイスに対応することを特徴とする、請求項９に記載の方法。
【請求項１５】
マシンで読み取り可能な命令を複数備える非一時的なコンピュータ可読媒体において、前記複数のマシンで読み取り可能な命令は、サーバの１つ以上のプロセッサにより実行された時に、
複数のウェブブラウザに接続された第１のウェブブラウザ内でウェブページイベントを受信するステップと、
前記ウェブページイベントに対応する前記第１のウェブブラウザにおけるエレメントを特定するステップと、
前記複数のウェブブラウザの各々により実行するために、前記ウェブページエレメントおよび前記ウェブページイベントを前記複数のウェブブラウザに送信するステップと、
前記複数のウェブブラウザに対する前記ウェブページイベントの実行を受信するステップと、
前記複数のウェブブラウザの各々に対応する、複数のウィンドウにおける前記複数のウェブブラウザに対する前記ウェブページイベントの実行を表示するステップと
を含む方法を、前記サーバに実施させるよう構成されていることを特徴とする、非一時的なコンピュータ可読媒体。
【請求項１６】
前記第１のウェブブラウザはウェブソケットを用いて前記複数のウェブブラウザに接続されることを特徴とする、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記ウェブページエレメントはドキュメントオブジェクトモデルエレメントに相当することを特徴とする、請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記ウェブページエレメントを特定するステップは、一意の識別情報、カスケーディングスタイルシート分類名、およびＸＭＬパス言語のうちの１つを用いることを特徴とする、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記イベントは、ウェブページ検索ツールの使用、インタラクティブゲームへの参加、動画の再生、および録画の再生のうちの１つに対応することを特徴とする、請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記複数のウェブブラウザは、さらに複数のデバイスに対応することを特徴とする、請求項１７に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１３年６月２７日に出願された米国特許出願１３／９２８，７５３号明細書に対する優先権を主張するものであり、その全開示は、全ての目的に対して参照によって本願明細書に引用組み込まれている。
【０００２】
［技術分野］
本発明は、全般的には複数のウェブブラウザおよびデバイスにおける受信イベントを表示することに関し、特に、１つのブラウザにおいてエレメントおよびイベントを特定し、それらのイベントを、複数の他のウェブブラウザおよび／またはデバイスのエレメント上で実行することに関する。
【背景技術】
【０００３】
多数のブラウザおよび／または多数のデバイスのプラットフォームでのウェブページやインターネットのプラグインなどの製品の試験の実施は、時間がかかり難しい場合がある。したがって、プロトタイプの中には、全てのデバイスおよびブラウザのプラットフォームで試験を実施できない、または試験を実施しないものもある。さらに、バグの多くに対し、開発者は特定バージョンのブラウザをインストールする必要がある。制約があるためブラウザの２つのバージョンは同じデバイスに同時に存在することができないため、特定バージョンのブラウザをインストールするには現行バージョンのブラウザを削除する必要があり、これまでブラウザのシミュレーションはうまくいかなかった。したがって、デバイスおよびブラウザを繰り返し切り替える以外には、レスポンシブウェブデザインの試験を適切に実施するのは難しい。
【図面の簡単な説明】
【０００４】
【図１】図１は、第１のブラウザウィンドウと、第２のブラウザウィンドウおよび第１のデバイスウィンドウで発生するイベントとを含む表示例を示すブロック図である。
【図２Ａ】図２Ａは、マスタに指定されたブラウザで取得され、複数のブラウザウィンドウおよびデバイスウィンドウで反復されるアクション例のスクリーンショットを示す図である。
【図２Ｂ】図２Ｂは、マスタに指定されていないウィンドウで取得され、複数のブラウザウィンドウおよびデバイスウィンドウで反復されないアクションを示す図である。
【図３Ａ】図３Ａは、マスタウィンドウにおける実行前のＵＲＬのナビゲーションの例のスクリーンショットを示す図である。
【図３Ｂ】図３Ｂは、複数のブラウザウィンドウおよびデバイスウィンドウで反復される、図３Ａで示したマスタブラウザウィンドウにおけるＵＲＬのナビゲーションのスクリーンショットを示す図である。
【図４】図４は、マスタブラウザで行われ、複数のブラウザウィンドウおよびデバイスウィンドウにおいて反復されるウェブサイト検索例のスクリーンショットを示す図である。
【図５】図５は、複数のウェブブラウザおよびデバイスにおいてイベントを表示するための、デバイスによるプロセスの例を示すフローチャートである。
【図６】図６は、一実施形態に係る図１に示す１つ以上のコンポーネントを実装するのに適したコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００５】
本発明の実施形態およびその効果は、以下の詳細な説明を参照することでよく理解できる。同じ参照符号は、１つ以上の図面に示す同一の構成要素を特定するために用いられ、図中の記載は、本発明の実施形態の例示を目的とするものであり、その限定を目的とするものではない。
【０００６】
様々な実施形態において、第１のウェブブラウザはユーザに利用され、マウスオーバー、選択、入力送信などの、入力やイベントを受信する。第１のウェブブラウザにおいて、これらのイベントのステップを待ち受けて受信するスクリプトが設定されてもよい。さらにスクリプトは、例えばウェブソケットを用いて、第１のブラウザを他のウェブブラウザやデバイスにリアルタイムで接続する。第１のブラウザにおいてイベントが発生するたびに、スクリプトはイベントに従い、そのイベントによって作用される特定のエレメントをキャプチャする。次に、ウェブソケットを用いて、他のブラウザやデバイスそれぞれにイベントが送信され、同様のステップが反復される。そして、他のブラウザやデバイスにおいて結果としてもたらされる各イベントがユーザに表示され、ユーザは、多数のプラットフォームにおいて相互作用を試験し、処理し、かつ／または観察することができる。
【０００７】
ある実施形態では、メインブラウザウィンドウが開いており、そこでユーザが、ウェブページ上の検索ボックスに検索語を入力したり、ウェブブラウザのナビゲーションバーを用いてＵＲＬへナビゲートしたり、ボタンやリンクを選択するなどの動作を行う。それに応じて、スクリプトは、ドキュメントオブジェクトモデル（ＤＯＭ）エレメントなどの、イベントに対応する特定のエレメントを特定する場合がある。イベントが作用するエレメントは、一意の識別情報、カスケーディングスタイルシート（ＣＳＳ）分類名、および／またはＸＭＬパス言語（Ｘｐａｔｈ）を用いてキャプチャされてもよい。複数の他のウェブブラウザおよび／またはそれらのウェブブラウザを実装する複数の他のデバイスが同じ命令を反復するように、イベントならびにＤＯＭエレメントの一意の識別情報、ＣＳＳ分類名、および／またはＸｐａｔｈは、ウェブソケットを用いて、それらのウェブブラウザおよび／またはデバイスに送信されてもよい。例えば、同じデバイスにより、またはＡＰＰＬＥ  ＩＰＨＯＮＥ（登録商標）などの別のデバイス上で実行中のイベントおよびエレメントは、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ（登録商標）、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ（登録商標）などのブラウザに送信されてもよい。そして、各々の結果がユーザ向けに別のウェブブラウザおよび／またはデバイスに表示されてもよい。
【０００８】
図１は、第１のブラウザウィンドウと、第２のブラウザウィンドウおよび第１のデバイスウィンドウで発生するイベントとを含む表示例を示すブロック図である。図示するように、デバイス１００は、説明される実施形態に係る様々な方法を実行する働きを行う１つまたは複数のデバイス、サーバ、および／またはソフトウェアコンポーネントを備えてもよく、または実装してもよい。例示されたデバイスおよびサーバには、ＭＩＣＲＯＳＯＦＴ（登録商標）のＯＳ、ＵＮＩＸ（登録商標）のＯＳ、ＬＩＮＵＸ（登録商標）のＯＳ、他の適切なデバイスおよび／またはサーバをベースとするＯＳなどのＯＳを作動させる、デバイスサーバ、スタンドアローンサーバ、および企業向けサーバが含まれてもよい。図１に示すデバイスおよび／またはサーバは別の方法で構成されてもよいこと、かつ、そのようなデバイスおよび／またはサーバが実施する動作および／または提供するサービスは、所与の実施形態について組み合わせても分離させてもよく、多数の、あるいは、少数のデバイスおよび／またはサーバにより実施されてもよいことが、理解できる。１つ以上のデバイスおよび／またはサーバは、同じ主体（エンティティ）か、あるいは異なる主体によって処理かつ／あるいは維持されてもよい。
【０００９】
図１は、本明細書で説明される実施形態に係るプロセスを実施するネットワーク化されたデバイス１００のブロック図である。デバイス１００は、第１のブラウザウィンドウ１１０、第２のブラウザウィンドウ１２０、および第１のデバイスウィンドウ１３０を有する。第１のブラウザウィンドウ１１０は、ユーザが、フィールド１１４へのテキスト入力や、クリックによるウェブページエレメント１１６の操作またはエレメントコンテンツ１１８との相互作用などの、ある動作を行う最初のブラウザとして図示されている。さらに、第１のブラウザウィンドウは同期化ボタン１１２を含む。同様に、第２のブラウザウィンドウ１２０は、同期化ボタン１２２、フィールド１２４、およびエレメントコンテンツ１２８を有するウェブエレメント１２６を有し、第１のデバイスウィンドウ１３０は、同期化ボタン１３２、フィールド１３４、およびエレメントコンテンツ１３８を有するウェブエレメント１３６を有する。デバイス１００の内容は、本明細書で説明されるようなデバイス１００と同じ、またはそれに類似する他のユーザデバイス（図示せず）に表示される場合があるということに留意されたい。
【００１０】
デバイス１００は、１つ以上のコンピュータ可読媒体に記憶されたプログラムコードやデータなどの命令を実行するための１つ以上のプロセッサ、メモリ、および他の適切な構成要素を有し、本明細書で説明される様々なアプリケーション、データ、およびステップを実装する。例えば、そのような命令は、システム環境１００が有する様々な構成要素に内蔵および／もしくは外付けされた、ならびに／またはネットワーク１３０を介してアクセス可能なメモリやデータストレージデバイスなどの、１つ以上のコンピュータ可読媒体に記憶されてもよい。
【００１１】
ネットワーク１５０は、単独のネットワークとして組み込まれてもよく、多様なネットワークの組み合わせとして組み込まれてもよい。例えば、様々な実施形態において、ネットワーク１５０はインターネット、または１つ以上のイントラネット、有線ネットワーク、無線ネットワーク、および／もしくは他の適切なタイプのネットワークを含んでもよい。したがって、ネットワーク１５０は、プライベートまたはローカルエリアネットワークなどの小規模通信ネットワーク、または広域ネットワークやインターネットなどの、デバイス１００の様々な構成要素によりアクセス可能な大規模ネットワークに相当する場合がある。
【００１２】
図１の第１のブラウザウィンドウ１１０は、ウェブページのようなあるコンテンツを表示する、ウェブブラウザのようなブラウザウィンドウを含んでもよい。しかしながら、他の実施形態では、第１のブラウザウィンドウ１１０は、ウェブページエレメントおよびウェブページイベントを検出し、かつ第２のブラウザウィンドウ１２０および第１のデバイスウィンドウ１３０のウェブブラウザおよび／またはデバイスを用いて既定のウェブページ上でそれらのエレメントおよびイベントを実行するプロセスまたはプログラムに対応するグラフィカルユーザインタフェースを表示してもよい。一般に、第１のブラウザウィンドウ１１０のメンテナンスを実施するのは、ウェブブラウザサービスおよび／またはウェブサイトサービスを提供する任意の主体であってもよい。これに関し、第１のブラウザウィンドウ１１０は、ネットワーク１５０を介してウェブページおよび関連コンテンツにアクセスするためのウェブブラウザを含んでもよい。ある実施形態では、第１のウェブブラウザ１１０は、例えばＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ（登録商標）、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ（登録商標）などに相当する場合がある。
【００１３】
同期化ボタン１１２は、以下に開示する方法を本開示のプロセスに実装させるアプリケーションインタフェースボタンに相当する場合がある。例えば、同期化ボタンは本開示の実施形態に係るスクリプトの実行を開始し、現在選択されているブラウザウィンドウを同期ウィンドウと判定する。したがって、ユーザが第１のブラウザウィンドウ１１０において、エレメントに対して、テキスト入力、オブジェクト操作、リンク選択、または他の動作を行うと、イベントが記録され、対応するＤＯＭエレメントが特定される。そして、同期化ボタン１１２が別の選択をすると、または自動的に、イベントおよび対応するＤＯＭエレメントを他のブラウザウィンドウおよび／またはデバイスウィンドウに送信し、ステップを同様に実行することができる。
【００１４】
様々な実施形態において、第１のブラウザウィンドウ１１０はフィールド１１４を含む。フィールド１１４は通常、ナビゲーションバー、検索ボックス、ユーザアカウントのログインフィールド、選択可能なメニュー、他のデータフィールドなどの、情報を入力するためのウェブブラウザまたはウェブページ上のフィールドに相当する場合がある。フィールド１１４は、ウェブ検索、他のページのナビゲーション、追加のメニュー選択肢、その他のイベントなどの、情報の入力中または入力後に発生する、あるイベントを含んでもよい。フィールド１１４の動作は、同期化ボタン１１２に応じて、接続された他のブラウザおよびデバイス上で視認可能であってもよい。例えば、同期化ボタン１１２を用いて、第１のブラウザウィンドウ１１０をイベントおよび対応するＤＯＭエレメントを送信するマスタブラウザウィンドウとして選択すると、ユーザが、テキスト入力、メニュー選択、あるいはフィールド１１４に対するインタラクティブな操作を行った場合、イベントおよびフィールド１１４は記録されて他のブラウザウィンドウおよびデバイスウィンドウに送信され、例えばフィールド１２４やフィールド１３４などの、フィールド１１４に対応するＤＯＭエレメント上でイベントのステップを実行する。
【００１５】
さらに、ある実施形態では、第１のブラウザウィンドウ１１０は、エレメントコンテンツ１１８を有するウェブページエレメント１１６を有する。ウェブページエレメント１１６は、動画、ゲーム、他のインタラクティブコンテンツなどのエレメントコンテンツ１１８を有するインタラクティブウェブページエレメントに相当する場合がある。ユーザがウェブページエレメント１１６に対しインタラクティブな操作を行った時、例えばユーザがマウスカーソルを選択する、またはエレメントコンテンツ１１８上に置くと、イベントが発生する場合がある。様々な実施形態において、ウェブページエレメント１１６は、インタラクティブゲームを行う、動画を再生する、録画を開始する、または他のイベントを実施する場合がある。ユーザがウェブページエレメント１１６のある動作を行うと、イベントおよびウェブページエレメント１１６は他のブラウザウィンドウおよびデバイスウィンドウに送信され、例えばウェブページエレメント１２６やウェブページエレメント１３６などの、ウェブページエレメント１１６に対応するＤＯＭエレメント上のイベントのステップを実行する場合がある。
【００１６】
他の実施形態では、さらに、第１のブラウザウィンドウ１１０は通常、例えば、ウェブブラウザを実行する、デバイス１００のデバイスおよび／またはオペレーティングシステムとは別のデバイスおよび／またはオペレーティングシステムなどの、アプリケーションを実行するデバイスウィンドウに相当する場合がある。そのような実施形態では、テキスト入力を行う、動作を行う、あるいはデバイスウィンドウのアプリケーションを操作するために第１のブラウザウィンドウ１１０を利用し、同様な実行、あるいは、それらのステップのために、それらのアクションおよび対応するエレメントを他のブラウザウィンドウおよび／またはデバイスウィンドウに送信することができる。したがって、他のデバイスウィンドウおよび／またはブラウザウィンドウは、他のデバイスプラットフォームおよび／またはブラウザウィンドウのアプリケーションに関するそれらのアクションおよびエレメントを表示してもよい。
【００１７】
第１のブラウザウィンドウ１１０は、デバイス１１０上で第２のブラウザウィンドウ１２０の隣に表示される。さらに、図１において矢印で示されるように、第２のブラウザウィンドウ１２０がフィールド１２４およびウェブページエレメント１２６に含む内容は、第１のブラウザウィンドウ１１０がフィールド１１４およびウェブページエレメント１１６に含む内容と同じである。以下で説明するように、第２のブラウザウィンドウ１２０は、第１のブラウザウィンドウ１１０で実行されるように、対応するウェブページエレメント上でイベントを実行し表示するよう構成されてもよい。
【００１８】
図１の第２のブラウザウィンドウ１２０は、ウェブページのようなあるコンテンツを表示する、ウェブブラウザのようなブラウザウィンドウを含んでもよい。しかしながら、他の実施形態では、第２のブラウザウィンドウ１２０は、ウェブページエレメントおよびウェブページイベントを検出し、かつ第１のブラウザウィンドウ１１０および第１のデバイスウィンドウ１３０のウェブブラウザおよび／またはデバイスを用いて既定のウェブページ上でそれらのエレメントおよびイベントを実行するプロセスまたはプログラムに対応するグラフィカルユーザインタフェースを表示してもよい。一般に、第２のブラウザウィンドウ１２０のメンテナンスを実施するのは、ウェブブラウザサービスおよび／またはウェブサイトサービスを提供する任意の主体であってもよい。これに関し、第２のブラウザウィンドウ１２０は、ネットワーク１５０を介してウェブページおよび関連コンテンツにアクセスするためのウェブブラウザを含んでもよい。ある実施形態では、第２のウェブブラウザ１２０は、例えばＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ（登録商標）、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ（登録商標）、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ（登録商標）などに相当する場合がある。
【００１９】
同期化ボタン１２２は、以下に開示する方法を本開示のプロセスに実施させるアプリケーションインタフェースボタンに相当する場合がある。例えば、同期化ボタンは本開示のスクリプトの実行を開始し、現在選択されているブラウザウィンドウを同期ウィンドウと判定する。したがって、ユーザが第２のブラウザウィンドウ１２０において、テキスト入力、オブジェクト操作、リンク選択、または対応するイベントを有する他のアクションを行うと、イベントが記録され、対応するＤＯＭエレメントが特定される。そして、同期化ボタン１２２が別の選択をすると、または自動的に、イベントおよび対応するＤＯＭエレメントを他のブラウザウィンドウおよびデバイスウィンドウに送信し、かつ／またはそれらを他のデバイスに表示し、ステップを同様に実行することができる。
【００２０】
しかしながら、他の実施形態では、第１のブラウザウィンドウ１１０が、イベントおよび対応するエレメントを記録し、イベントおよびＤＯＭエレメントを第２のブラウザウィンドウ１２０に送信するマスタウィンドウに設定されている場合、同期化ボタン１２２は、第２のブラウザウィンドウ１２０が、例えばウェブソケットを用いて、イベントおよびＤＯＭエレメントを待ち受けて受信するように、選択されてもよい。したがって、同期化ボタン１２２が第１のブラウザウィンドウ１１０に従うように設定されている場合、第２のブラウザウィンドウ１２０はイベントとして一連の命令と、作用される対応するＤＯＭエレメントとを受信し、第２のブラウザウィンドウ１２０において第１のブラウザウィンドウ１１０からのステップを実行してもよい。
【００２１】
様々な実施形態において、第２のブラウザウィンドウ１２０はフィールド１２４を含む。フィールド１２４は通常、ナビゲーションバー、検索ボックス、ユーザアカウントのログインフィールド、選択可能なメニュー、他のデータフィールドなどの、情報を入力するためのウェブブラウザまたはウェブページ上のフィールドに相当する場合がある。ウェブページフィールドは、ウェブ検索、他のページのナビゲーション、追加のメニュー選択肢、その他のイベントなどの、情報の入力中または入力後に発生する、あるイベントを含んでもよい。フィールド１２４は、同期化ボタン１２２に応じて、接続された他のブラウザおよびデバイス上で視認可能であってもよい。例えば、同期化ボタン１２２を用いて、第２のブラウザウィンドウ１２０をイベントおよび対応するＤＯＭエレメントを送信するマスタブラウザウィンドウとして選択すると、ユーザが、テキスト入力、メニュー選択、あるいはフィールド１２４に対するインタラクティブな操作を行った場合、イベントおよびフィールド１２４は記録されて他のブラウザウィンドウおよびデバイスウィンドウに送信され、例えばフィールド１１４やフィールド１３４などの、フィールド１２４に対応するエレメント上でそのイベントのステップを実行する。
【００２２】
他の実施形態では、第１のブラウザウィンドウ１１０のウェブサイトフィールド１１４に対して作用されるイベントは、第２のブラウザウィンドウ１２０に送信される。そのような実施形態では、第２のブラウザウィンドウ１２０は、ウェブサイトフィールド１２４上でそのイベントのステップを実行し、ユーザが第２のブラウザウィンドウ１２０のブラウザプラットフォームでその結果を見られるように表示してもよい。ある実施形態では、第１のブラウザウィンドウ１１０および第２のブラウザウィンドウ１２０は、例えばウェブソケットを用いて接続されてもよい。ウェブソケットは、ブラウザ同士の双方向通信を可能にする。同期化ボタン１１２および同期化ボタン１２２が第１のブラウザウィンドウ１１０でアクションを受信し第２のブラウザウィンドウ１２０でそれらを反復するように設定されている場合、イベントは第１のブラウザウィンドウ１１０でキャプチャされてもよい。イベントにより作用されるＤＯＭエレメントが特定されて第２のブラウザウィンドウ１２０に送信され、対応するＤＯＭエレメント上でそのイベントのステップが実行されてもよい。
【００２３】
さらに、ある実施形態では、第２のブラウザウィンドウ１２０は、エレメントコンテンツ１２８を有するウェブページエレメント１２６を有する。ウェブページエレメント１２６は、動画、ゲーム、他のインタラクティブコンテンツなどのエレメントコンテンツ１２８を有するインタラクティブウェブページエレメントに相当する場合がある。ユーザがウェブページエレメント１２６に対しインタラクティブな操作を行った時、例えばユーザがマウスカーソルを選択する、またはエレメントコンテンツ１２８上に置くと、イベントが発生する場合がある。様々な実施形態において、ウェブページコンテンツ１２６は、インタラクティブゲームを行う、動画を再生する、録画を開始する、または他のイベントを実施する場合がある。ユーザがウェブページエレメント１２６のある動作を行うと、イベントおよびウェブページエレメント１２６は他のブラウザウィンドウおよびデバイスウィンドウに送信され、例えばウェブページエレメント１１６および／またはウェブページエレメント１３６などの、ウェブページエレメント１２６に対応するウェブページエレメント上でそのイベントのステップを実行する場合がある。
【００２４】
しかしながら、他の実施形態では、ウェブページコンテンツ１１８とのインタラクティブ作用のような、第１のブラウザウィンドウ１１０のウェブページエレメント１１６に対して作用されるイベントは、第２のブラウザウィンドウ１２０に送信される。そのような実施形態では、第２のブラウザウィンドウ１２０は、ウェブページエレメント１２６上でそのイベントのステップを実行し、ユーザが第２のブラウザウィンドウ１２０のブラウザプラットフォームでその結果を見られるように表示してもよい。例えば、前述したように、第１のブラウザウィンドウ１１０および第２のブラウザウィンドウ１２０は、例えばウェブソケットを用いて接続されてもよく、第２のブラウザウィンドウ１２０は、イベントおよびＤＯＭエレメントを第１のブラウザウィンドウ１１０から受信し、第２のブラウザウィンドウ１２０において実行する。
【００２５】
第１のブラウザウィンドウ１１０および第２のブラウザウィンドウは、デバイス１１０上で第１のデバイスウィンドウ１３０の隣に表示される。さらに、図１において矢印で示されるように、第１のデバイスウィンドウ１３０がフィールド１２４およびウェブページエレメント１２６に含む内容は、第１のブラウザウィンドウ１１０がフィールド１１４およびウェブページエレメント１１６に含む内容、および第２のブラウザウィンドウ１２０がフィールド１２４およびウェブページエレメント１２６に含む内容と同じである。以下で説明するように、第１のデバイスウィンドウ１３０は、第１のブラウザウィンドウ１１０および／または第２のブラウザウィンドウ１２０で実施されるように、対応するＤＯＭエレメント上でイベントを実行し表示するよう構成されてもよい。
【００２６】
図１の第１のデバイスウィンドウ１３０は、デバイスウェブブラウザを経由するウェブページのようなあるコンテンツをデバイスアプリケーションを用いて表示する、ユーザデバイスのディスプレイのようなデバイスウィンドウを含んでもよい。一般に、第１のデバイスウィンドウ１３０は、アプリケーションを実行するユーザデバイスとして表示されてもよい。これに関し、第１のデバイスウィンドウ１３０は、ネットワーク１５０を介してウェブページおよび関連コンテンツにアクセスするためのデバイスウェブブラウザを実行する携帯端末を含んでもよい。しかしながら、他の実施形態では、第１のデバイスウィンドウ１３０は、ウェブページエレメントおよびウェブページイベントを検出し、かつ第１のブラウザウィンドウ１１０および第２のブラウザウィンドウ１２０のウェブブラウザおよび／またはデバイスを用いて既定のウェブページ上でそれらのエレメントおよびイベントを実行するプロセスまたはプログラムに対応するグラフィカルユーザインタフェースを表示してもよい。ある実施形態では、第１のデバイスウィンドウ１３０は、例えばＡＰＰＬＥ  ＩＰＨＯＮＥ（登録商標）で実行するＡＰＰＬＥ  ＳＡＦＡＲＩ（登録商標）やＧＯＯＧＬＥ  ＡＮＤＲＯＩＤ（登録商標）で実行するＯｐｅｒａなどのプラットフォームに相当する場合がある。したがって、第１のデバイスウィンドウ１３０は、第１のブラウザウィンドウ１１０および／または第２のブラウザウィンドウ１２０と同じ、または異なるウェブブラウザを実行する、第１のブラウザウィンドウ１１０および／または第２のブラウザウィンドウ１２０とは別のオペレーティングシステムを示してもよい。
【００２７】
同期化ボタン１３２は、以下に開示する方法を本開示のプロセスに実施させるアプリケーションインタフェースボタンに相当する場合がある。例えば、同期化ボタンは本開示のスクリプトの実行を開始し、現在選択されているブラウザウィンドウを同期ウィンドウと判定する。したがって、ユーザが第１のデバイスウィンドウ１３０において、テキスト入力、オブジェクト操作、リンク選択、または対応するイベントを有する他の動作を行うと、イベントが記録され、ＤＯＭエレメントが特定される。そして、同期化ボタン１３２の別の選択をすると、または自動的に、イベントおよびＤＯＭエレメントを他のブラウザウィンドウおよびデバイスウィンドウに送信し、かつ／またはそれらを他のデバイスに表示し、ステップを同様に実行することができる。
【００２８】
しかしながら、他の実施形態では、第１のブラウザウィンドウ１１０がイベントおよび対応するエレメントを記録し、イベントおよびＤＯＭエレメントを第１のデバイスウィンドウ１３０に送信するマスタウィンドウに設定されている場合、同期化ボタン１３２は、第１のデバイスウィンドウ１３０が、例えばウェブソケットを用いて、イベントおよびＤＯＭエレメントを待ち受けて受信するように、選択されてもよい。したがって、同期化ボタン１３２が第１のブラウザウィンドウ１１０に従うように設定されている場合、第１のデバイスウィンドウ１３０はイベントとして一連の命令と、作用される対応するＤＯＭエレメントとを受信し、第１のデバイスウィンドウ１３０において第１のブラウザウィンドウ１１０からのステップを実行してもよい。
【００２９】
様々な実施形態において、第１のデバイスウィンドウ１３０はフィールド１３４を含む。フィールド１３４は通常、ナビゲーションバー、検索ボックス、ユーザアカウントのログインフィールド、選択可能なメニュー、他のデータフィールドなどの、情報を入力するためのウェブブラウザまたはウェブページ上のフィールドに相当する場合がある。ウェブページフィールドは、ウェブ検索、他のページのナビゲーション、追加のメニュー選択肢、その他のイベントなどの、情報の入力中または入力後に発生する、あるイベントを含んでもよい。フィールド１３４は、同期化ボタン１３２に応じて、接続された他のブラウザおよびデバイス上で視認可能であってもよい。例えば、同期化ボタン１３２を用いて、第１のデバイスウィンドウ１３０をイベントおよび対応するＤＯＭエレメントを送信するマスタブラウザウィンドウとして選択すると、ユーザが、テキスト入力、メニュー選択、あるいはフィールド１３４に対するインタラクティブな操作を行った場合、イベントおよびフィールド１３４は記録されて他のブラウザウィンドウおよびデバイスウィンドウに送信され、例えばフィールド１１４やフィールド１２４などの、フィールド１３４に対応するウェブページエレメント上でそのイベントのステップを実行する。
【００３０】
他の実施形態では、第１のブラウザウィンドウ１１０のフィールド１１４に対して作用されるイベントは、第１のデバイスウィンドウ１３０に送信される。そのような実施形態では、第１のデバイスウィンドウ１３０は、フィールド１３４に上でそのイベントのステップを実行し、ユーザが第１のデバイスウィンドウ１３０のブラウザプラットフォームでその結果を見られるように表示してもよい。ある実施形態では、第１のブラウザウィンドウ１１０および第１のデバイスウィンドウ１３０は、例えばウェブソケットを用いて接続されてもよい。ウェブソケットは、ブラウザと、例えばデバイスブラウザなどのデバイスアプリケーションの間の双方向通信を可能にする。同期化ボタン１１２および同期化ボタン１３２が第１のブラウザウィンドウ１１０でアクションを受信し、第１のデバイスウィンドウ１３０でそれらを反復するように設定されている場合、イベントは第１のブラウザウィンドウ１１０でキャプチャされてもよい。ウェブページイベントにより作用されるＤＯＭエレメントが特定されて、第１のデバイスウィンドウ１３０に送信され、対応するエレメント上でウェブページイベントのステップが実行されてもよい。
【００３１】
さらに、ある実施形態では、第１のデバイスウィンドウ１３０は、エレメントコンテンツ１３８を有するウェブページエレメント１３６を有する。ウェブページエレメント１３６は、動画、ゲーム、他のインタラクティブコンテンツなどのエレメントコンテンツ１３８を有するインタラクティブウェブページエレメントに相当する場合がある。ユーザがウェブページエレメント１３６に対しインタラクティブな操作を行った時、例えばユーザがマウスカーソルを選択する、またはエレメントコンテンツ１３８上に置くと、イベントが発生する場合がある。様々な実施形態において、ウェブページコンテンツ１３８は、インタラクティブゲームを行う、動画を再生する、録画を開始する、または他のイベントを実施する場合がある。ユーザがウェブページエレメント１３６のあるアクションを行うと、イベントおよびウェブページエレメント１３６は他のブラウザウィンドウおよびデバイスウィンドウに送信され、例えばウェブページエレメント１１６やウェブページエレメント１２６などの、ウェブページエレメント１３６に対応するウェブページエレメント上でそのイベントのステップを実行する場合がある。
【００３２】
しかしながら、他の実施形態では、ウェブページコンテンツ１１８とのインタラクティブ作用のような、第１のブラウザウィンドウ１１０のウェブページエレメント１１６に対して作用されるイベントは、第１のデバイスウィンドウ１３０に送信される。そのような実施形態では、第１のデバイスウィンドウ１３０は、ウェブページエレメント１３６上でそのイベントのステップを実行し、ユーザが第１のデバイスウィンドウ１３０のブラウザプラットフォームでその結果を見られるように表示してもよい。前述したように、第１のブラウザウィンドウ１１０および第１のデバイスウィンドウ１３０は、例えばウェブソケットを用いて接続されてもよく、第１のデバイスウィンドウ１３０は、ウェブページイベントおよびＤＯＭエレメントを第１のブラウザウィンドウ１１０から受信し、第１のデバイスウィンドウ１３０において実行する。
【００３３】
様々な実施形態において、デバイス１００は、開示されたプロセスを実行するため、他のデバイスおよびサーバを含むネットワーク１５０と通信するように適合されたネットワークインタフェースコンポーネント（ＮＩＣ）１０２を少なくとも１つ有する。様々な実施形態において、ネットワークインタフェースコンポーネント１０２は、デジタル加入者回線（例えば、 Digital Subscriber Line：ＤＳＬ）モデム、公衆交換電話網（Public Switched Telephone Network：ＰＳＴＮ）モデム、イーサーネットデバイス、ブロードバンドデバイス、衛星装置、ならびに／または、マイクロ波、無線周波数（ＲＦ）、および赤外線（ＩＲ）通信装置を含む他の様々なタイプの有線および／もしくは無線ネットワークコミュニケーション装置を備えてもよい。
【００３４】
図２Ａは、マスタブラウザで取得され、複数のブラウザウィンドウおよびデバイスウィンドウで反復されるアクション例のスクリーンショットを示す図である。図２Ａには、第１のブラウザウィンドウ２１０、第２のブラウザウィンドウ２２０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０を有するデバイス２００が示されている。各ウィンドウは、それぞれ同期化ボタン２１２、２２２、２３２、および２４２を備える。さらに、第１のブラウザウィンドウ２１０にはウェブページエレメント２１６とインタラクティブに作用するユーザアクション２６０ａが図示され、ウェブページコンテンツ２１８を第１のブラウザウィンドウ２１０において表示させ、また、ウェブページコンテンツ２２８、２３８、および２４８を、それぞれ第２のブラウザウィンドウ２２０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０において表示させる。
【００３５】
図２Ａにおいて、第１のブラウザウィンドウ２１０、第２のブラウザウィンドウ２２０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０の各々は、それぞれ対応する同期化ボタン２１２、２２２、２３２、および２４２を有する。図２Ａに示すように、第１のブラウザウィンドウ２１０が、ウェブページエレメント上でウェブページイベントを受信し、ウェブページエレメントに対応するウェブページイベントのステップおよびＤＯＭエレメントを第２のブラウザウィンドウ２２０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０に送信するマスタブラウザウィンドウに設定されていることを、デバイス２００のユーザに知らせるため、同期化ボタン２１２は同期化ボタン２２２、２３２、および２４２とは異なるアイコンに設定されている。
【００３６】
図２Ａは、ウェブページエレメントの選択に対応するユーザアクション２６０ａをユーザが実行した例を示す。図２Ａにおいてウェブページエレメント２１６上にカーソルで表されるユーザアクション２６０ａは、クリック、マウスオーバー、または他の選択アクションによりウェブページエレメント２１６を選択するなどのウェブページイベントに対応する場合がある。したがって、ユーザアクション２６０ａは、ユーザにより開始される、ある受信可能なウェブページイベントに対応する場合がある。図２では、ウェブページエレメント２１６を選択するとウェブページコンテンツ２１８が表示される。
【００３７】
図２Ａによれば、ユーザアクション２６０ａに対応するイベントが受信されるとすぐに、スクリプトに従って、ウェブページエレメント２１６に作用するイベントが記録され、ＤＯＭエレメントが特定される。スクリプトは、一意の識別情報、ＣＳＳ分類名、および／またはＸｐａｔｈを用いて、イベントに作用される、ウェブページに特有のＤＯＭエレメントを特定する場合がある。そしてＤＯＭエレメントＩＤ、ＣＳＳ分類名、および／またはＸｐａｔｈは、イベントのステップと共に、第２のブラウザウィンドウ２２０、第１のデバイスウィンドウ２３０、および／または第３のブラウザウィンドウ２４０に送信される場合がある。図２Ａに示すように、その結果、ウェブページコンテンツ２２８、２３８、および２４８が表示される。
【００３８】
図２Ｂは、マスタに指定されていないウィンドウで取得され、複数のブラウザウィンドウおよびデバイスウィンドウで反復されないアクションを示す図である。図２Ｂには、第１のブラウザウィンドウ２１０、第２のブラウザウィンドウ２２０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０を有するデバイス２００が示されている。各ウィンドウは、それぞれ同期化ボタン２１２、２２２、２３２、および２４２を備える。さらに、第２のブラウザウィンドウ２２０にはウェブページエレメント２２６と相互作用するユーザアクション２６０ｂが図示され、ウェブページコンテンツ２２８を第２のブラウザウィンドウ２２０において表示させる。しかしながら図２Ｂでは、第１のブラウザウィンドウ２１０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０においてウェブページコンテンツは表示されない。
【００３９】
図２Ｂにおいて、第２のブラウザウィンドウ２２０の同期化ボタン２２２は、第２のブラウザウィンドウ２２０をマスタウィンドウに指定するように選択されていない。図２Ａとの比較から分かるように、同期化ボタン２１２は同じものであり、マスタウィンドウとして指定されているが、同期化ボタン２２２は、第２のブラウザウィンドウ２２０を応答ウィンドウとして表す。したがって、ウェブページコンテンツ２２８は、ユーザがウェブページエレメント２２６に関するユーザアクション２６０ｂを開始した時に表示される。しかしながら、対応するＤＯＭエレメントおよびウェブページイベントは、第１のブラウザウィンドウ２１０、第１のデバイスウィンドウ２３０、および第３のブラウザウィンドウ２４０に送信されない。
【００４０】
図３Ａは、マスタウィンドウにおける実行前のＵＲＬのナビゲーションの例のスクリーンショットを示す図である。図３Ａには、第１のブラウザウィンドウ３１０、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０を有するデバイス３００が示されている。各ウィンドウは、それぞれ同期化ボタン３１２、３２２、３３２、および３４２を備える。さらに、第１のブラウザウィンドウ３１０はフィールド３１４ａおよび３１４ｂを有し、第２のブラウザウィンドウ３２０はフィールド３２４ａおよび３２４ｂ、第１のデバイスウィンドウ３３０はフィールド３３４ａおよび３３４ｂ、第３のブラウザウィンドウ３４０はフィールド３４４ａおよび３４４ｂを有する、ことが示されている。ユーザアクション３６０は、第１のディスプレイウィンドウ３１０のフィールド３１４ａに上での動作を示す。
【００４１】
図３Ａは、複数の別のブラウザおよび／またはデバイスにおいてウェブページエレメントに対するウェブページイベントの実行中、図２Ａと同様の設定を示す。第１のデバイスウィンドウ３１０は、第１のデバイスウィンドウ３１０をマスタウィンドウに指定する同期化ボタン３１２を有する。図３Ａでは、フィールド３１４ａ、３２４ａ、３３４ａ、および３４４ａと、フィールド３１４ｂ、３２４ｂ、３３４ｂ、および３４４ｂは、ブラウザフィールドおよび／またはウェブページフィールド、例えば、それぞれナビゲーションバーフィールドと検索フィールドに相当する。
【００４２】
図３Ａにおいて、ユーザは第１のブラウザウィンドウ３１０のフィールド３１４ａに、ウェブサイトのＵＲＬに対応する、あるテキストを入力した。つまりユーザは、第１のブラウザウィンドウ３１０を用いてフィールド３１４ａに入力したＵＲＬを開きたいと考えている。さらに、第１のブラウザウィンドウ３１０が、図２Ａおよび図２Ｂに対して説明した同様のプロセスを用いて、マスタブラウザウィンドウに指定されているため、フィールド３１４ａに入力されたテキストは、フィールド３２４ｂ、３３４ｂ、および３４４ｂで反復される。例えば、スクリプトは、ユーザによるフィールド３１４ａへの文字の打ち込みはユーザが入力するテキストに対応するイベントであると判定し、フィールド３１４ａに対応するウェブページイベントおよびＤＯＭエレメントを、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０に送信してもよい。したがって、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０は、同じテキストを、それぞれフィールド３２４ａ、３３４ａ、および３４４ａに入力してもよい。
【００４３】
ユーザは、フィールド３１４ａ、３２４ａ、３３４ａ、および３４４ａにテキストを入力した後、図中ではフィールド３１４ａに対応する「開く」ボタンの選択として示されたユーザアクション３６０を開始してもよい。ユーザがユーザアクション３６０で「開く」ボタンを選択すると、イベントがスクリプトにより受信され、「開く」ボタンに対応するＤＯＭエレメントが特定されてもよい。ウェブページイベントおよびエレメントは、スクリプトにより認識されるとすぐに、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０に転送されてもよい。
【００４４】
ユーザはまた、フィールド３１４ｂにもテキストを入力し、そのテキストは、上述のプロセスを用いてフィールド３２４ｂ、３３４ｂ、および３４４ｂにコピーされる。しかしながら、図３Ａに示すように、ユーザはフィールド３１４
ａに入力されたＵＲＬを開くことを選択しており、したがってフィールド３１４ｂに入力した言葉を用いて検索を行わない。
【００４５】
図３Ｂは、複数のブラウザウィンドウおよびデバイスウィンドウで反復される、図３Ａに示したマスタブラウザウィンドウにおけるＵＲＬのナビゲーションのスクリーンショットを示す図である。第１のブラウザウィンドウ３１０、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０は全て、フィールド３１４ａ、３２４ａ、３３４ａ、および３４４ａにおいて指定されたＵＲＬを用いて、ナビゲートされるＵＲＬを表示する。
【００４６】
図３Ｂに示すように、図３Ａのユーザアクション３６０が開始された後、対応するウェブページイベントおよびエレメントが、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各々に転送される。それに応じて、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各々は、対応するエレメント上で同じウェブページイベントを実行する。したがって、図３Ｂで示すように、図３Ａのフィールド３１４ａにおいて指定されたＵＲＬは、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各々によりナビゲートされ、ウェブブラウザのナビゲーションバーの図３Ｂのフィールド３１４ａのように反復された。第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各ブラウザは、同じ構成要素３２４ａ、３３４、および３４４ａを備える。
【００４７】
図４は、マスタブラウザで行われ、複数のブラウザウィンドウおよびデバイスウィンドウにおいて反復されるウェブサイト検索例のスクリーンショットを示す図である。図４には、第１のブラウザウィンドウ４１０、第２のブラウザウィンドウ４２０、第１のデバイスウィンドウ４３０、および第３のブラウザウィンドウ４４０が示され、それぞれ検索フィールド４１４、４２４、４３４、および４４４を有する。
【００４８】
図４に示すように、単語「ＴＶ」の検索に対応するウェブページイベントおよびＤＯＭエレメントが第１のブラウザウィンドウ４１０から第２のブラウザウィンドウ４２０、第１のデバイスウィンドウ４３０、および第３のブラウザウィンドウ４４０に送信された。図４に示すように、各複数のブラウザウィンドウおよび／またはデバイスウィンドウは、ウェブページにより指定された検索エンジンを用いて単語「ＴＶ」の検索を実行した。したがって、第１のブラウザウィンドウ４１０、第２のブラウザウィンドウ４２０、第１のデバイスウィンドウ４３０、および第３のブラウザウィンドウ４４０の各々は、検索を実行して、検索結果を表示している。このように、ウェブサイトの検索エンジンの試験を、複数のブラウザおよび／またはデバイスで実施してもよい。
【００４９】
図５は、複数のウェブブラウザおよびデバイスにおいてイベントを表示するための、デバイスによるプロセスの例を示すフローチャートである。本明細書で説明される１つ以上のステップ、プロセス、および方法は、省略されてもよく、異なるシーケンスで実施されてもよく、または所望のように、もしくは適宜組み合わされてもよいということに留意されたい。
【００５０】
ステップ５０２において、イベントが、複数のウェブブラウザと接続されたウェブブラウザ内で受信される。イベントは、クリック、マウスオーバー、送信（すなわち、テキスト、画像、またはデータの送信）、ゲームの相互作用、その他のイベントなどの、あるイベントに対応する場合がある。イベントは、ウェブページエレメントとのインタラクティブ作用を含んでもよく、またはブラウザエレメントとのインタラクティブ作用を含んでもよい。イベントは、そのイベントが発生した際に第１のウェブブラウザによりそのイベントを実行するための一連のステップを含んでもよい。
【００５１】
さらに、第１のウェブブラウザは、複数の他のウェブブラウザと接続される。第１のウェブブラウザは、ウェブソケットのなどの通信チャネルを用いて複数の他のウェブブラウザと接続されてもよい。単一のＴＣＰ／ＩＰ接続による同時通信、すなわち全二重通信が可能となるように、複数のウェブソケット（または１つのウェブソケット）をブラウザにおいて利用してもよい。そのため、ウェブソケットにより２つのウェブブラウザが同時に通信できるようになり、ウェブソケットが任意のクライアントデバイスに利用される場合がある。したがって、メッセージがブラウザ間ですぐに伝達されるように、第１のウェブブラウザは、全二重通信で、別のユーザ／クライアントデバイスで動作するウェブブラウザを含む、複数の他のウェブブラウザに接続されてもよい。
【００５２】
イベントが受信されるとすぐに、ステップ５０４において、そのイベントに対応するエレメントが特定される。例えばドキュメントオブジェクトモデルツリー内の特定のオブジェクトなどの、特定のエレメントに対するドキュメントオブジェクトモデルエレメントが特定される場合がある。イベントに作用されるエレメントは、例えば一意の識別情報、カスケーディングスタイルシート分類名、およびＸＭＬパス言語のうちの１つを用いてキャプチャされる場合がある。
【００５３】
イベントにより作用される特定のオブジェクトが特定されるとすぐに、イベントおよびエレメントを、ステップ５０６において複数のウェブブラウザに送信し、同じデバイスまたは異なるデバイスで表示することができる。そして複数のウェブブラウザは、各ブラウザプラットフォーム上でのイベントの実行を取得するために、対応するエレメント上で同じイベントを実行する場合がある。さらに複数のブラウザは、複数のデバイスに対応する場合があり、ＡＰＰＬＥ  ＩＰＨＯＮＥ（登録商標）に対するＡＰＰＬＥ  ＳＡＦＡＲＩ（登録商標）のような、デバイスに特有のブラウザなどが例として挙げられる。さらに、各複数のブラウザにおいてウェブページ上でそのイベントの実行が示される一連のウィンドウまたはマスタウィンドウペインを、ユーザに対して表示することができる。このことにより、ユーザはウェブ作成やバグ分析に関する問題を認識し、対応することが可能となる。
【００５４】
図６は、本開示の１つ以上の実施形態を実施するのに適した、例えば図１に示すデバイス１００などの、コンピュータシステム６００のブロック図である。様々な実施形態において、ユーザデバイスは、ネットワークと通信可能なパーソナルコンピューティングデバイス（例えば、スマートフォン、コンピューティングタブレット、パソコン、ラップトップ、ＰＤＡ、ブルートゥース機器、キーフォブ、バッジなど）を備えてもよい。決済プロバイダは、ネットワークと通信可能なネットワークコンピューティングデバイス（例えば、ネットワークサーバ）を利用してもよい。ユーザおよび決済プロバイダにより利用される各デバイスは、以下のような方法でコンピュータシステム６００として実現されてもよい。
【００５５】
コンピュータ６００は、情報データ、信号、およびコンピュータシステム６００の様々なコンポーネント間の情報をやりとりするためのバス６０２または他の通信機構を有する。コンポーネントは、キーパッド／キーボードからのキー選択、１つ以上のボタン、画像、またはリンクの選択、１つ以上の画像の移動などのユーザアクションを処理し、対応する信号をバス６０２に送信する入出力（Ｉ／Ｏ）コンポーネント６０４を含む。Ｉ／Ｏコンポーネント６０４はまた、ディスプレイ６１１やカーソルコントロール部６１３（キーボード、キーパッド、マウスなど）などの出力コンポーネントを含んでもよい。音声信号を変換することでユーザが情報入力のために音声を使用できるように、任意の音声入出力コンポーネント６０５も含まれてもよい。音声Ｉ／Ｏコンポーネント６０５により、ユーザは音声を聞くことができる場合がある。トランシーバまたはネットワークインタフェース６０６は、ネットワーク１５０を介して、コンピュータシステム６００と、別のユーザデバイス、マーチャントサーバ、決済プロバイダサーバなどの他のデバイス間の信号の送受信を行う。一実施形態において、伝送は無線で行われるが、他の伝送媒体および伝送方法でも適合する場合がある。１つ以上のプロセッサ６１２は、マイクロコントローラ、デジタルシグナルプロセッサ（Digital Signal Processor：ＤＳＰ）、または他の処理コンポーネントである可能性があり、コンピュータシステム６００への表示や通信リンク６１８を介した他のデバイスへの伝送などを行うため、これらの様々な信号を処理する。１つまたは複数のプロセッサ６１２はまた、他のデバイスへの、クッキーやＩＰアドレスなどの情報の伝送を制御してもよい。
【００５６】
コンピュータシステム６００のコンポーネントには、システムメモリコンポーネント６１４（例えばＲＡＭ）、スタティックストレージコンポーネント６１６（例えばＲＯＭ）、および／またはディスクドライブ６１７も含まれる。コンピュータシステム６００は、システムメモリコンポーネント６１４に含まれる１つ以上の命令シーケンスを実行することで、１つまたは複数のプロセッサ６１２および他のコンポーネントにより特定の動作を行う。ロジックは、コンピュータ可読媒体にエンコードされていてもよく、１つまたは複数のプロセッサ６１２に実行の命令を供給することに関与する任意の媒体を指す場合がある。このような媒体は多くの形態を取ってもよく、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、これらに限定されるものではない。様々な実施形態において、不揮発性媒体は光学または磁気ディスクを含み、揮発性媒体はシステムメモリコンポーネント６１４などのダイナミックメモリを含み、伝送媒体には、バス６０２を備える配線を含み、同軸ケーブル、銅線、および光ファイバが含まれる。一実施形態において、ロジックは非一時的なコンピュータ可読媒体にエンコードされている。一例として、伝送媒体は、電波データ通信、光データ通信、および赤外線データ通信中に生成されるような、音波または光波の形態を取ってもよい。
【００５７】
コンピュータ可読媒体の一般の形態の中には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、パンチカード、紙テープ、穴パターンを有する任意の他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＥＰＲＯＭ、ＦＬＡＳＨ−ＥＥＰＲＯＭ、任意の他のメモリチップもしくはカートリッジ、またはコンピュータが読み出すように適合された任意の他の媒体などを含むものもある。
【００５８】
本開示の様々な実施形態において、本開示を実現する命令シーケンスは、コンピュータシステム６００により実行されてもよい。本開示の様々な他の実施形態では、ネットワーク（例えば、ＬＡＮ、ＷＬＡＮ、ＰＴＳＮ、ならびに／または、テレコミュニケーション、モバイル、および携帯電話のネットワークを含む様々な他の有線もしくは無線ネットワーク）への通信リンク６１８により接続された複数のコンピュータシステム６００は、互いに協働して本発明を実現する命令シーケンスを実行してもよい。
【００５９】
該当する場合、本発明により提供される様々な実施形態は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせを用いて実現されてもよい。また、該当する場合、本発明の趣旨から逸脱することなく、本明細書に記載された様々なハードウェアコンポーネントおよび／またはソフトウェアコンポーネントを組み合わせて、ソフトウェア、ハードウェアおよび／または両方を備える複合コンポーネントとしてもよい。該当する場合、本発明の範囲から逸脱することなく、本明細書に記載された様々なハードウェアコンポーネントおよび／またはソフトウェアコンポーネントを分離し、ソフトウェア、ハードウェアもしくは両方を備えるサブコンポーネントとしてもよい。さらに、該当する場合、ソフトウェアコンポーネントはハードウェアコンポーネントとして実現されてもよく、その逆であってもよいと考えられる。
【００６０】
プログラムコードおよび／またはデータなどの、本開示に係るソフトウェアは、１つ以上のコンピュータ可読媒体に格納されてもよい。本明細書で同定されたソフトウェアは、ネットワーク化された、かつ／あるいは別の状態の、１つ以上の汎用もしくは専用コンピュータおよび／またはコンピュータシステムを用いて実現されてもよいとも考えられる。該当する場合、本明細書で説明された特徴を提供するため、本明細書に記載された様々なステップの順序を変更してもよく、組み合わせて複合ステップとしてもよく、かつ／または分離してサブステップとしてもよい。
【００６１】
前述の開示は、本開示を、開示された形態そのものまたは特定の使用分野に限定することを意図するものではない。したがって、本明細書で明確に記載または示唆されているか否かに関わらず、本開示に鑑みて、様々な代替の実施形態および／または本発明への変更が可能であると考えられる。以上、本発明の実施形態を説明してきたが、当業者は、本開示の範囲から逸脱することなく、変更が形態および詳細にわたってなされる場合があることを認識するであろう。したがって、本発明は請求の範囲だけにより限定される。
【図１】
2016536683.tif 000003
【図２Ａ】
2016536683.tif 000004
【図２Ａ−１】
2016536683.tif 000005
【図２Ａ−２】
2016536683.tif 000006
【図２Ｂ】
2016536683.tif 000007
【図２Ｂ−１】
2016536683.tif 000008
【図２Ｂ−２】
2016536683.tif 000009
【図３Ａ】
2016536683.tif 000010
【図３Ａ−１】
2016536683.tif 000011
【図３Ａ−２】
2016536683.tif 000012
【図３Ｂ】
2016536683.tif 000013
【図３Ｂ−１】
2016536683.tif 000014
【図３Ｂ−２】
2016536683.tif 000015
【図４】
2016536683.tif 000016
【図４Ａ】
2016536683.tif 000017
【図４Ｂ】
2016536683.tif 000018
【図５】
2016536683.tif 000019
【図６】
2016536683.tif 000020
【手続補正書】
【提出日】平成28年2月8日(2016.2.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
デバイス１００は、１つ以上のコンピュータ可読媒体に記憶されたプログラムコードやデータなどの命令を実行するための１つ以上のプロセッサ、メモリ、および他の適切な構成要素を有し、本明細書で説明される様々なアプリケーション、データ、およびステップを実装する。例えば、そのような命令は、システム環境１００が有する様々な構成要素に内蔵および／もしくは外付けされた、ならびに／またはネットワーク１５０を介してアクセス可能なメモリやデータストレージデバイスなどの、１つ以上のコンピュータ可読媒体に記憶されてもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
第１のブラウザウィンドウ１１０は、デバイス１００上で第２のブラウザウィンドウ１２０の隣に表示される。さらに、図１において矢印で示されるように、第２のブラウザウィンドウ１２０がフィールド１２４およびウェブページエレメント１２６に含む内容は、第１のブラウザウィンドウ１１０がフィールド１１４およびウェブページエレメント１１６に含む内容と同じである。以下で説明するように、第２のブラウザウィンドウ１２０は、第１のブラウザウィンドウ１１０で実行されるように、対応するウェブページエレメントに対するイベントを実行し表示するよう構成されてもよい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
第１のブラウザウィンドウ１１０および第２のブラウザウィンドウは、デバイス１００上で第１のデバイスウィンドウ１３０の隣に表示される。さらに、図１において矢印で示されるように、第１のデバイスウィンドウ１３０がフィールド１３４およびウェブページエレメント１３６に含む内容は、第１のブラウザウィンドウ１１０がフィールド１１４およびウェブページエレメント１１６に含む内容、および第２のブラウザウィンドウ１２０がフィールド１２４およびウェブページエレメント１２６に含む内容と同じである。以下で説明するように、第１のデバイスウィンドウ１３０は、第１のブラウザウィンドウ１１０および／または第２のブラウザウィンドウ１２０で実施されるように、対応するＤＯＭエレメントに対するイベントを実行し表示するよう構成されてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
図３Ａにおいて、ユーザは第１のブラウザウィンドウ３１０のフィールド３１４ａに、ウェブサイトのＵＲＬに対応する、あるテキストを入力した。つまりユーザは、第１のブラウザウィンドウ３１０を用いてフィールド３１４ａに入力したＵＲＬを開きたいと考えている。さらに、第１のブラウザウィンドウ３１０が、図２Ａおよび図２Ｂに対して説明した同様のプロセスを用いて、マスタブラウザウィンドウに指定されているため、フィールド３１４ａに入力されたテキストは、フィールド３２４ａ、３３４ａ、および３４４ａで反復される。例えば、スクリプトは、ユーザによるフィールド３１４ａへの文字の打ち込みはユーザが入力するテキストに対応するイベントであると判定し、フィールド３１４ａに対応するウェブページイベントおよびＤＯＭエレメントを、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０に送信してもよい。したがって、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０は、同じテキストを、それぞれフィールド３２４ａ、３３４ａ、および３４４ａに入力してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
図３Ｂに示すように、図３Ａのユーザアクション３６０が開始された後、対応するウェブページイベントおよびエレメントが、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各々に転送される。それに応じて、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各々は、対応するエレメントに対する同じウェブページイベントを実行する。したがって、図３Ｂで示すように、図３Ａのフィールド３１４ａにおいて指定されたＵＲＬは、第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各々によりナビゲートされ、ウェブブラウザのナビゲーションバーの図３Ｂのフィールド３１４ａのように反復された。第２のブラウザウィンドウ３２０、第１のデバイスウィンドウ３３０、および第３のブラウザウィンドウ３４０の各ブラウザは、同じ構成要素３２４ａ、３３４ａ、および３４４ａを備える。
【国際調査報告】
2016536683.tif 000021