(57)【特許請求の範囲】
【請求項１】
ネットワークに相互接続されたデータ処理装置に装備されるウェブブラウザであって、
サーバから受信したウェブページデータに基づいてウェブページを表示し、
当該ウェブページデータは、オブジェクトと、当該オブジェクトに対応付けられた少なくとも１つのロケーション属性と、当該少なくとも１つのロケーション属性のそれぞれに対応付けられた少なくとも１つのコマンドとを格納し、
前記ロケーション属性は、対応する前記コマンドをローカルなウェブブラウザおよびリモートなウェブブラウザにおいて有効にすることを示す第１の情報、対応する前記コマンドを前記ローカルなウェブブラウザにおいて有効にすることを示す第２の情報、対応する前記コマンドを前記リモートなウェブブラウザにおいて有効にすることを示す第３の情報、のいずれかを含み、
ユーザインターフェイスを介して前記ウェブページの中から前記オブジェクトを選択するためのユーザ入力を受け付けると、前記選択された前記オブジェクトに対応する少なくとも１つの前記ロケーション属性に基づいて、
前記ロケーション属性が前記第１の情報を含む場合に、対応する前記コマンドをローカルで実行するとともに当該コマンドを前記リモートなウェブブラウザに送信し、
前記ロケーション属性が前記第２の情報を含む場合に、対応する前記コマンドをローカルで実行し、
前記ロケーション属性が前記第３の情報を含む場合に、対応する前記コマンドを前記リモートなウェブブラウザに送信することを特徴とする、ウェブブラウザ。
【請求項２】
請求項１に記載のウェブブラウザを搭載した、データ処理装置。
【請求項３】
ネットワークに相互接続され、ウェブブラウザが搭載されたデータ処理装置におけるウェブページデータ処理方法であって、
前記ウェブブラウザが、サーバから受信したウェブページデータに基づいてウェブページを表示するステップを備え、
当該ウェブページデータは、オブジェクトと、当該オブジェクトに対応付けられた少なくとも１つのロケーション属性と、当該少なくとも１つのロケーション属性のそれぞれに対応付けられた少なくとも１つのコマンドとを格納し、
前記ロケーション属性は、対応する前記コマンドをローカルなウェブブラウザおよびリモートなウェブブラウザにおいて有効にすることを示す第１の情報、対応する前記コマンドを前記ローカルなウェブブラウザにおいて有効にすることを示す第２の情報、対応する前記コマンドを前記リモートなウェブブラウザにおいて有効にすることを示す第３の情報、のいずれかを含み、
前記ウェブブラウザが、ユーザインターフェイスを介して前記ウェブページの中から前記オブジェクトを選択するためのユーザ入力を受け付けるステップと、
前記ウェブブラウザが、前記選択された前記オブジェクトに対応する少なくとも１つの前記ロケーション属性に基づいて、前記ロケーション属性が前記第１の情報を含む場合に、対応する前記コマンドをローカルで実行するとともに当該コマンドを前記リモートなウェブブラウザに送信し、前記ロケーション属性が前記第２の情報を含む場合に、対応する前記コマンドをローカルで実行し、前記ロケーション属性が前記第３の情報を含む場合に、対応する前記コマンドを前記リモートなウェブブラウザに送信するステップとを備えるウェブページデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はワールドワイドウェブ（ウェブ）ブラウザに関し、より具体的には複数のウェブブラウザによってウェブページおよび他のオブジェクトの表示および操作を選択的に同期させるためのシステムに関する。
【背景技術】
【０００２】
ワールドワイドウェブ（「ウェブ」）は、ハイパーテキストおよびハイパーメディアエクステンション（集合的に「ハイパーテキスト」）をサポートするインターネットサーバのシステムである。ハイパーテキストは、オブジェクト内に別のオブジェクトへのポインタを含むことによってソフトウェアオブジェクトをリンクするために用いられ得るデータベースシステムである。ハイパーテキストを用いて、テキスト、音声、画像、プログラム、および他のソフトウェアオブジェクトをリンクする。ウェブは典型的にはウェブブラウザ、すなわちＨＴＭＬ（ハイパーテキストマークアップ言語（Hypertext Markup Language））またはＸＭＬ（拡張マークアップ言語（eXtended Markup Language））でフォーマットされたウェブドキュメントまたはページを含むオブジェクトを取出して表示するコンピュータプログラムによってアクセスされる。ウェブページ内の特別にフォーマットされたテキストまたはアイコン（ハイパーリンクまたはリンク）は他のオブジェクトへのハイパーテキストポインタである。ユーザは適切なリンクを選択することによってブラウザに別のオブジェクトを表示させることができる。加えてブラウザは、表示されるページで指定される事象の発生（たとえば、カーソルの移動）時に、ソフトウェアオブジェクトの操作によってもたらされる（テキストカラーの変化等の）動的効果を表示することができる。ウェブブラウザはまた典型的には、ユーザが興味を持つウェブページを容易に見つけるための探索機能を含む。ウェブは一人一人の多数のユーザおよび多数のドキュメントをリンクする可能性があるが、歴史的にはウェブの原型は興味を持つドキュメントを探索してそれを表示させる一人一人のユーザをもとにしたものである。
【０００３】
同期化技術が発達してユーザ群によるウェブの共同使用が容易になった。ページおよびオブジェクトの同期化によって、同期セッションに係わっている複数のウェブブラウザが同時に同じウェブページと、表示されるオブジェクトを操作する動作の結果とを表示することができる。同期化されたページ表示と、オブジェクトとの同期化されたインタラクションとはウェブ会議サービスのベースであり、潜在的にはｅコマースのための貴重なツールである。たとえば、売手と買手とが同時に同じ製品仕様書または他の商業用説明書を見ることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ページおよびオブジェクト同期化によってウェブページおよび他のオブジェクトの大域的表示が容易になるが、ある特定の動作をセッション内の一部のユーザのみに限定することが望ましい状況も存在する。たとえば、ｅコマースセッションの間、販売代理人は占有価格表を潜在購買者に開示することなしにそのドキュメントを参照したいことがあるかもしれない。しかし、価格表が代理人のページ同期化されたブラウザ上で開かれると、それは購買者のブラウザの同期化されたディスプレイ上でも表示される。他方で、代理人は購買者が見ることができるようにウィンドウまたはフレーム内で説明ドキュメントを開きたいことがあるかもしれない。しかし、フレームの使用はページ同期化によってサポートされていない。セッションのあるメンバーがハイパーリンクを選択して第１のウェブブラウザが表示するフレームへと新しいページをロードしても、そのページはセッションの残りのブラウザ上の適切なフレームへと必ずしもロードされるわけではない。
【０００５】
同様にオブジェクト同期化によって、あるユーザは表示されるオブジェクトを操作する動作を同期化されたセッション内の他のユーザのブラウザ上で再現させることができる。たとえば、オブジェクト（テキストのセクション）に関連する（マウスクリック等の）事象が発生することに応じて（テキストカラーの変化等の）動作が起こるよう指定するためにスクリプト言語を用いることができる。同期化されたセッションの第１のウェブブラウザが事象を検出すると、あたかもローカルユーザが事象を開始させたかのように、同じ動作を表示するようにセッションの他のブラウザに知らせる。しかし、セッションの限定された組のブラウザでのみ動作が開始または表示されることが望ましい場合もある。たとえば、販売代理人はメッセージをその場で表示することなしに代理人のローカルディスプレイ上のマウスクリックに応答させて顧客のリモートディスプレイ上にメッセージを表示させたい場合もある。
【０００６】
したがって望まれるものは、同期化されたセッションにある選択されたブラウザでのユーザ入力を可能にしてセッションの一部のブラウザ上でページおよび他のオブジェクトを操作し表示させる、オブジェクトおよびページ同期化を制御するためのシステムである。
【課題を解決するための手段】
【０００７】
そのような目的を達成するため、この発明のある局面に従うと、ネットワークに相互接続されたリモートユーザデータ処理装置に装備されるウェブブラウザは、ユーザインターフェイスがユーザ入力を検出すると、他のウェブブラウザに同期化コマンドを送る。同期化コマンドに基づいて、他のウェブブラウザにより表示されるウェブページと、当該ウェブブラウザにより表示されるウェブページとは選択的に同期化していることを特徴とする。
【０００８】
好ましくはウェブブラウザは、ユーザインターフェイスからの入力によって、ユーザ入力を検出すると、ユーザ入力によって特定される同期化コマンドを他のウェブブラウザに送信することによって、他のウェブブラウザに対し、表示されるウェブページを当該ウェブブラウザに表示されるウェブページと選択的に同期化するための動作を開始させることを指示することを特徴とする。
【０００９】
好ましくはウェブブラウザは、ユーザインターフェイスからの入力によって、ユーザ入力を検出すると、ユーザ入力によって特定される同期化コマンドを、他のウェブブラウザに送信し、指定された内容に基づいて動作を開始するとともに、他のウェブブラウザに対して、上記とは別に指定された内容に基づいて動作を開始させることによって、他のウェブブラウザに対し、表示されるウェブページを、当該ウェブブラウザに表示されるウェブページに対して選択的に同期化するための動作を開始させることを特徴とする。
【００１０】
好ましくは同期化コマンドは、ユーザ入力の検出に対して同期して他のウェブブラウザに送信するコマンドであることを特徴とする。
【００１１】
好ましくは、互いにネットワークに接続されたリモートユーザデータ処理装置同士が、互いに同期化されたセッションにて、同期化コマンドの通信を行うことを特徴とする。
【００１２】
好ましくは、互いにネットワークに接続され、互いに同期化されたセッションに参加しているリモートユーザデータ処理装置同士が、同期化コマンドの同報通信を行なうことを特徴とする。
【００１３】
好ましくはウェブブラウザは、同期化コマンドを送るか否かを、選択的に同期化させるための動作内容をあらかじめ特定する、ロケーション属性により決定することを特徴とする。
【００１４】
好ましくはウェブブラウザは、同期化コマンドを送るか否かを、動作を指定するウェブブラウザをあらかじめ特定する、ロケーション属性より決定することを特徴とする。
【００１５】
好ましくは、コンピューター読取可能なウェブドキュメントは、ロケーション属性を含む。
【００１６】
好ましくは、リモートユーザデータ処理装置は、上記いずれかに記載のウェブブラウザを含む。
【００１７】
この発明の他の局面に従うと、ウェブブラウザを操作するための方法は、ウェブブラウザのユーザインターフェイスからの入力を行なう入力ステップと、ユーザ入力を検出する検出ステップと、ユーザ入力によって同期化コマンドを特定する特定ステップと、同期化コマンドを、リモートウェブブラウザに送信する送信ステップと、リモートウェブブラウザが同期化コマンドを受信すると、リモートウェブブラウザにて、リモートウェブブラウザの画面を、当該ウェブブラウザに表示されるウェブページに対して選択的に同期化するための動作を開始するステップと、必要に応じて、当該ウェブブラウザにて、指定された内容に基づいて動作を開始する開始ステップとを備える。
【発明を実施するための最良の形態】
【００１８】
図１を参照して、典型的な同期化されたワールドワイドウェブ（「ウェブ」）セッションは、インターネット１６、すなわち相互接続されたサーバおよび端末のネットワークに接続される複数のリモートユーザデータ処理装置１０、１２、および１４を含む。典型的にはユーザ装置１０、１２、および１４には、インターネット上に記憶されたデータファイルまたはウェブページをユーザが探索し選択したページを取り出して表示することを可能にするウェブブラウザが装備されている。同期化技術によって、同期化されたセッションの装置１０、１２、および１４上で動作しているすべての種々のブラウザが同時に同じウェブページと、表示されるソフトウェアオブジェクトを含む同じ動的効果とを表示することが可能になる。
【００１９】
図２を参照して、選択的同期化ブラウジングに有用なウェブブラウザ２０は、ウェブページを取出して表示しさらには同期化されたセッションの他のブラウザと通信するための機能を含む。ウェブブラウザ２０は、ネットワーク１６上で通信するために必要な通信プロトコルを実行するための通信マネージャ２２を含む。通信マネージャ２２がウェブページの形のデータファイルをウェブサーバ（図示せず）から受取ると、ドキュメントパーサ２４がファイルの要素（たとえば、タグ、属性、およびスプリクト）を構文解析し、ドキュメントの中間の形を生成する。レイアウトエンジン２６がページを含むオブジェクトを識別し、ユーザインターフェイス３０で表示する時のオブジェクトの位置を判断する。ハイパーテキストマークアップ言語（ＨＴＭＬ）は、その各々が図３で示されるような異なるウェブページを表示する複数の独立したウィンドウまたはフレーム５２、５４、および５６へとブラウザディスプレイ区域５０を分割することをサポートする。多数のフレームによって、他のビューがスクロールされるかまたは新しい内容と取換えられている間にウェブページデザイナがある情報を画面に表示し続けることが可能になる。ディスプレイのフレームは、ディスプレイを含むフレームの各々の寸法、境界線、初期内容、および他の属性を記述するフレームセットドキュメントによって規定される。
【００２０】
レイアウトエンジン２６はまた、表示されるウェブページが表示される入力オブジェクトに関連した事象を指定しているか否かを判断する。オブジェクトは、選択および操作され得るページまたはリンクを含むアイテムを含む。事象とは、オブジェクトにある効果を与える入力に応答してブラウザ２０が生成する動作または発生である。事象はカーソルの移動またはマウスボタンのクリック等のユーザの動作によって、またはメモリがなくなりつつあること等のシステムでの発生によって、開始され得る。オブジェクトと事象との関連性は、ジャバスプリクト（Java（登録商標）Script）、ブラウザプラグイン、ジャバ（Java（登録商標）)またはアクティブＸ（Active X）等のプログラミング言語等のスクリプト言語によって、またはこれらのツールの組合せによって確立され得る。たとえば、ジャバスクリプトは、事象の記述をウェブドキュメント内に含むことによってソフトウェアオブジェクトに付随し得る事象のリストを提供するダイナミックスクリプティング言語である。たとえば、ジャバスクリプト事象属性“onmouseover”を用いて、属性で指定されるディスプレイの位置にマウスポインタを移動させるとオブジェクトを操作する動作を開始させることができる。ページとそれに付随する事象とを含むオブジェクトが事象マネージャ２８に登録される。事象マネージャ２８はオブジェクトと付随の事象とを制御し、ユーザインターフェイス３０にウェブページのオブジェクトを表示させる。
【００２１】
ウェブページの表示の間、ユーザインターフェイス３０は入力を監視して事象を開始させる動作をユーザが行なったかどうかを判断する。たとえば、ユーザは、キーストローク、マウスポインタの移動、またはマウスクリックによって事象を要求することができる。ユーザ入力を検出すると、ユーザインターフェイス３０は入力をレイアウトエンジン２６へと送り、これは典型的には入力時のマウスポインタの位置から適切な入力オブジェクトを識別する。レイアウトエンジン２６はユーザ入力に対応する事象と関連する入力オブジェクトとを事象マネージャ２８に通知する。その事象が付随の入力オブジェクトに関して事象マネージャ２８に登録されていると、ブラウザは事象を生成して新しいページのロードを開始するか、または事象の属性によって必要とされるような他の様態でオブジェクトを操作する。たとえば、事象がスクリプト言語で指定されている場合には、スクリプトエンジン３２が指定されている動作を実行させられる。
【００２２】
複数のブラウザの同期化されたオペレーションは同期化マネージャ３４によって容易になる。ページのロード等の事象の発生時に、レイアウトエンジン２６は同期化マネージャ３４に指示してセッションの他のブラウザに同期化コマンドを送らせる。同期化マネージャ３４は、開かれるべきページのためにＵＲＬ（ユニフォームリソースロケータ（Uniform Resource Locator））を特定するメッセージ、またはオブジェクトを操作する事象の発生を通知しかつ関連のオブジェクトを特定するメッセージをフォーマットする。同期化マネージャ３４によって、通信マネージャ２２はセッションに参加しているすべての他のブラウザにメッセージを同報通信させられる。通知を受取るブラウザの通信マネージャ２２はそのメッセージを受信側の同期化マネージャ３４へと送り、これはメッセージを解読してコマンドをレイアウトエンジン２６に送る。受信側のレイアウトエンジン２６はメッセージ内で指定されている動作を呼起こしてページのダウンロードを開始するか、またはローカルディスプレイ上の関連のオブジェクトの操作を指示する。第１のユーザが見るディスプレイと同一のディスプレイを見ている第２のユーザは、第１のユーザの入力によって開始される事象への効果が第２のディスプレイ上でも再現されるのを見る。
【００２３】
複数のブラウザによるウェブページの同期化された表示はコラボレーションを容易にするが、この発明の発明者は、セッションのすべての参加者に対してすべての内容を同期化することには望ましくない場合もあるということを認識した。たとえば、販売者と潜在購買者との間の話し合いは、製品の仕様書の同時表示によってさらに容易になり得る。一方で、販売者は顧客に開示せずに内示価格表を参照したい場合があるかもしれない。販売者のブラウザが価格表を取出して表示すると、ページ同期化によってそのドキュメントは顧客にも表示される。一方で、販売者がフレーム内で説明ドキュメントを開いてそれがリモート顧客ブラウザで表示されることが望まれる場合もある。しかし、フレームの使用はページ同期化によってサポートされておらず、あるディスプレイ上のフレームの内容がセッションの第２のブラウザによって適切に表示され得ることはない。この発明の発明者は、動作を開始させる入力のロケーションと対応する動作のロケーションとが指定され得ると、同期化されたブラウジングがより良くなり得るという結論を下した。発明者は、事象を開始させる入力のソースまたはオブジェクトに対して効果が与えられるサイトとして、ローカルブラウザまたはリモートブラウザのうちの少なくとも１つを指定するロケーション属性を事象の記述に含むことによって、ウェブブラウザ表示の選択的同期化が達成され得るという結論を下した。
【００２４】
たとえば、たとえ２つのブラウザが同じウェブページを表示していても、ローカルブラウザでの第１のユーザによる入力によってリモートブラウザにおいてのみ動作が開始されることがウェブページデザイナによって望まれる場合があり得る。以下の例示的なＨＴＭＬコーディングは、ローカルユーザの入力によって生成される事象に応答して動作を表示すべきブラウザを特定するロケーション属性を含む：
【００２５】
【数１】
0004540689.tif 000002
【００２６】
コードで示されるように、マウスポインタがテキスト「ここにマウスポインタを移動させよ」へと移動する（mouseover）と、バックグラウンドカラー（ＢＧＣＯＬＯＲ）はピンク色に変化する。ジャバスクリプト属性“onmouseover”はロケーション属性“on＿remote＿”によって修正変更されて、動作がセッションのリモートブラウザのみで起こることが指定される。同様に、ローカルブラウザのマウスポインタがテキストから離れると、リモートブラウザ上のバックグラウンドカラーは白色に戻る（on＿remote＿mouseout＝“bgColor＝‘white’”）。図４を参照して、ロケーション属性“on＿local＿”７８または“on＿both＿”８０を用いて、動作がローカルブラウザのみで起こること、または動作がローカルブラウザとリモートブラウザとの両方で起こることがそれぞれ指定され得る。
【００２７】
図４は例示的なロケーション属性７２と対応する機能記述７４とを示す表である。加えて、表は、そのオペレーションがロケーション属性７２によって修正変更される属性“onmousedown”および“onmouseover”等の既存の属性７８を示す。たとえば、ロケーション属性“on＿remote＿”８２を用いて“onmouseover”等の既存の属性のうちの１つを修正変更し、関連のオブジェクト上にマウスポインタを移動させることに応答してリモートブラウザ上で効果が引き起こされるようにすることができる。ロケーション属性“wcurser＝‘originator’”８４によって、ウェブページデザイナはウェブページのロードを開始させる動作のロケーションを特定できる。たとえば、講演者は、講演者のブラウザが指定された特性“teacher”を有する場合にはロケーション属性“wcurser＝teacher”を備える講演者のブラウザ上のハイパーリンクを選択することによって、あるページをリビューのためにブラウザ群上に示すことができる。属性が検出されると、ブラウザはブラウザを特定する特性を属性によって指定されるオリジネータのアイデンティティと比較する。ロケーション属性“remote＿target＝‘frame＿name’”８６および“local＿target＝‘frame＿name’”８８によって、リモートブラウザまたはローカルブラウザのいずれかと、指定されるブラウザ上のターゲットフレームとをロードされるべきウェブページのロケーションとしてウェブページが指定することが可能になる。たとえば、販売者はプレゼンテーションで製品の詳細を示すページを顧客のブラウザ上のフレームで開かせることによってあるポイントを図解することを望む場合があるかもしれない。以下のコードは、開かれるべき新しいページ“details. html”と、ページがロードされるべきロケーション（リモートブラウザによって表示されるフレーム１）と、動作のオリジネータ（特性“agent”を有するブラウザ）とを特定する：
＜A HREF＝“details. html”remotetarget＝“Frame1”wcuser＝“agent”＞
ロケーション属性“wc＝”９０によって、ハイパーリンクで指定されているウェブページを新しいページにロードするブラウザ（ローカル、リモート、または両方）を識別できる。
【００２８】
図５を参照して、この発明のブラウザ２０のユーザインターフェイス３０が表示または入力されたオブジェクトに関連する入力を検出すると（１００）、インターフェイスは入力をレイアウトエンジン２６に送って事象を生成し（１０１）、関連のオブジェクトと、オブジェクトが存在するフレームとが特定される（１０２）。レイアウトエンジン２６は事象マネージャ２８に入力を通知する。事象マネージャ２８は、検出された入力オブジェクトに関して事象が登録されているか否かを判断することによって、動作が必要とされているか否かを判断する（１０４）。事象がオブジェクトに関して登録されていないと、動作は必要とされず、プロセスは終了する（１１４）。事象がオブジェクトに関して登録されていると、ブラウザはロケーション属性（たとえば、“on＿remote＿”）を読出し（１０６）、セッションのリモートブラウザで動作が必要とされているか否かを判断する（１０８）。セッションのリモートブラウザでの動作が必要とされている場合には、同期化マネージャ３４に通知され、同期化コマンドがフォーマットされて通信マネージャ２２によってリモートブラウザへと送られ（１０９）、動作が開始される。同期化コマンドを受取るブラウザの同期化マネージャ３４によって、ブラウザは必要とされるページをダウンロードするか、または関連のオブジェクトの必要とされる操作を行なうように指示される。次に、ローカルブラウザはローカル動作が事象のためのロケーション属性によって指定されているか否かを判断する（１１０）。ローカル動作が（“on＿local＿”または“on＿both＿”等の）ロケーション属性によって指定されていると、ローカルブラウザはプロセスの完了（１１４）の前に適切なページをダウンロードするか、または動的活動を行う（１１２）。ローカル動作が事象に関連する（“on＿remote＿”等の）ロケーション属性によって指定されていない場合には、ローカルブラウザによる動作（１１２）なしでプロセスが終了する（１１４）。
【００２９】
同期化されたセッションにある複数のブラウザの選択的同期化によって、セッションメンバーによるより意味のある参加が可能になる。グループのメンバーの全員ではなくそのうちの何人かが情報を見たいという状況、またはグループの中の限定された人々のみに情報を提示することが望ましい状況が多々存在する。この発明のブラウザによって、ウェブページデザイナが同期化されたウェブアクティビティのオリジネータと受信側とを識別することが可能になる。
【００３０】
ここで引用されるすべての参照は引用により援用される。
上述の明細書で用いられた用語および表現は、限定のための用語としてではなく説明のための用語として用いられる。このような用語および表現の使用では、図示されて説明される特徴またはその一部の均等物を排除することが意図されているわけではない。発明の範囲は前掲の請求項によってのみ規定され限定されることが理解されるべきである。
【図面の簡単な説明】
【００３１】
【図１】同期化されたウェブブラウジングセッションの概略図である。
【図２】選択的ページ同期化を組込むウェブブラウザのブロック図である。
【図３】ウェブブラウザによるフレームの例示的な表示を示す図である。
【図４】ウェブブラウザ事象の選択的同期化のための例示的なロケーション属性および一致する機能の表を示す図である。
【図５】この発明の選択的同期化法のフロー図である。
【符号の説明】
【００３２】
２０  ウェブブラウザ、２６  レイアウトエンジン、２８  事象マネージャ、３０  ユーザインターフェイス、３４  同期化マネージャ。
【図１】
0004540689.tif 000003
【図２】
0004540689.tif 000004
【図３】
0004540689.tif 000005
【図４】
0004540689.tif 000006
【図５】
0004540689.tif 000007