JP2003006158A - ウェブコンテンツを共同的に閲覧する方法 - Google Patents

ウェブコンテンツを共同的に閲覧する方法

Info

Publication number
JP2003006158A
JP2003006158A JP2002079048A JP2002079048A JP2003006158A JP 2003006158 A JP2003006158 A JP 2003006158A JP 2002079048 A JP2002079048 A JP 2002079048A JP 2002079048 A JP2002079048 A JP 2002079048A JP 2003006158 A JP2003006158 A JP 2003006158A
Authority
JP
Japan
Prior art keywords
web
controller
user
target
web page
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.)
Pending
Application number
JP2002079048A
Other languages
English (en)
Inventor
Alan W Esenther
アラン・ダブリュ・エセンサー
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.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories 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 Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2003006158A publication Critical patent/JP2003006158A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【課題】複数のウエブブラウザを同期する柔軟な機構を
提供する。また、変更のないウエブブラウザが変更のな
いウエブページを共有できるようにする。 【解決手段】コンピュータ化されたシステムは、どのウ
ェブページが現在閲覧されているか、スクロールバーの
位置、およびフォーム値等のブラウザの有意な状態を、
他のインターネットウェブブラウザのユーザにより遠隔
的に制御させることにより、標準インターネットウェブ
ブラウザの複数ユーザがコラボレーションできるように
する。本システムは、モニタを使用して、選択されたペ
ージの静的状態および動的状態をポーリングし、ウェブ
サーバ上で実行中のコントローラにその状態を連絡す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、概してコンピュ
ータネットワークの分野に関し、特に、複数ユーザによ
るネットワークコンテンツに対するアクセスの同期に関
する。
【0002】
【従来の技術】インターネット閲覧アプリケーションに
よっては、すべてのユーザが同時に同じ「ターゲット」
ウェブページを閲覧することができるように、複数のウ
ェブブラウザを同期させることが有意なものがある。こ
のタイプの共同閲覧は通常、電話での会話、教室での講
義、またはおそらくコラボレーション(共同作業)ユー
ザの間でのインターネットベースの音声またはテキスト
通信と併せて行われる。
【0003】いくつかの共同閲覧システムが、従来技術
において説明されている。たとえば、米国特許第6,0
35,332号「METHOD FOR MONITORING USER INTERAC
TIONS WITH WEB PAGES FROM WEB SERVER USING DATA AN
D COMMAND LISTS FOR MAINTAINING INFORMATION VISITE
D AND ISSUED BY PARTICIPANTS」、米国特許第5,94
4,791号「COLLABORATIVE WEB BROWSER」、米国特
許第6,009,429号「HTML GUIDED WEB TOUR」、
米国特許第5,991,796号「TECHNIQUEFOR OBTAI
NING AND EXCHANGING INFORMATION ON THE WORLD WIDE
WEB」、米国特許第6,151,622号「METHOD AND
SYSTEM FOR PORTABLY ENABLING VIEW SYNCHRONIZATION
OVER THE WORLD-WIDE WEB USING FRAME HIERARCHIE
S」、および米国特許第5,809,247号「METHOD
AND APPARATUS FOR GUIDED TOURINGOF INTERNET/INTRAN
ET WEBSITES」を参照されたい。
【0004】殆どの従来技術による共同閲覧システムで
は、少なくとも1人のユーザが「マスタ」すなわち送信
者と指定され、他のユーザが、「スレーブ」すなわち受
信者と指定される。通常、送信者は、閲覧者により共同
的に閲覧されるターゲットウェブページを選択する。シ
ステムによっては、受信者もまた送信者の役割を引き受
ける能力を有するものもある。
【0005】後述するように、既存の共同閲覧システム
は、閲覧者を選択されたページに導くために使用される
機構に関して大まかに分類することができる。
【0006】1つの分類のシステムは、「プッシュ」機
構を使用する。この場合、ウェブサーバは、特殊なHT
TPヘッダ(Content-Type = multipart/mixed; bounda
ry ="someString")に頼って、サーバと受信者のクライ
アントコンピュータで実行されているブラウザとの間に
専用HTTP接続を開いたままにする。このアプローチ
では、送信者のブラウザが、選択された各ウェブページ
のURLをサーバで実行されている制御プログラムに送
信する。次に、サーバのコントローラがウェブページを
取り込み、おそらくそのコンテンツを処理し、専用HT
TP接続を介してそのページを各クライアント受信者に
プッシュする。
【0007】この分類のシステムには、多数の問題があ
る。最も深刻な問題は、プッシュ機構が、現在入手可能
なすべてのインターネットウェブブラウザ、たとえばM
icrosoft(登録商標)のInternet E
xplorerによってサポートされていないことであ
る。また、将来の要求をコントローラに配向するため
に、ウェブページのコンテンツを、送信前に変更する必
要が生じる場合がある。たとえば、ページ中のすべての
リンクを、このような要求が将来コントローラを通して
プロキシされるように処理する必要がありうる。この技
法は、単純なウェブページに対してしか実行することが
できない。複雑なページは、送信者の制御なしで新しい
要求をトリガしうる多くの異なるHTMLタグおよびJ
ava(登録商標)スクリプトコマンドを有する可能性
がある。これには、少なからぬ量の努力が必要であり、
場合によっては、このようにして任意の複雑なウェブペ
ージの完全な処理に遅れを生じさせることがある。
【0008】さらに、受信者がブラウザをある他のペー
ジに配向すると、専用HTTP接続が失われる。ターゲ
ットウェブページを、受信者への送信前に動的に処理す
ることにより、ターゲットウェブページ上のすべてのリ
ンクをディセーブルすることが可能である。しかし、こ
れは、受信者の役割を完全に受け身的な観察者の役割に
制限する。また、リンクのディセーブル化は、受信者が
ある他の方法を使用して異なるウェブページをロードす
る場合には機能しない。より重要なことには、ページの
変更により、意図される挙動が変化する可能性がある。
この解決策はまた、後述するように、ターゲットウェブ
ページがHTMLフレームを含む場合、またはキャッシ
ングがイネーブルされる場合にも困難を呈する。
【0009】最後に、プッシュ機構を使用する場合、受
信者はいずれの種類の制御も持つことができない。ユー
ザは、そのページが何であれ送信者によって選択された
ページに単に「プッシュ」されるだけである。
【0010】別の分類の共同閲覧システムでは、特別な
モニタが、コラボレーションを行う各コンピュータにイ
ンストールされる。モニタは、コントローラに対して専
用ソケット接続を開く。この場合、送信者のモニタは、
ウェブブラウザのアクティビティを追跡し、更新につい
ての情報をコントローラに連絡し、コントローラにおい
て更新を受信者のモニタに中継することができる。特定
のブラウザの実施に特異的になりすぎることとは別に、
ユーザがコラボレーション可能になる前に、モニタプロ
グラムを各ユーザコンピュータにインストールする必要
がある。特化されたプログラムのインストールを必要と
せず、したがって、ユーザが、最初に共同閲覧する場合
であっても、直ちにコラボレーションすることができる
解決策を見つけることがはるかに望ましい。
【0011】別の分類の共同閲覧システムでは、ブラウ
ザ「プラグイン」がウェブブラウザにインストールされ
る。プラグインは、上記モニタと同様に挙動し、同じ欠
点を有する。
【0012】Microsoft NetMeetin
g(登録商標)等のアプリケーションにより具現化され
る別の分類の共同システムは、ネットワークにわたりユ
ーザの画面のすべてまたは一部を本質的に共有すること
によってコラボレーションを促進する。これらは、より
大きな帯域幅、実行可能バイナリの事前インストール、
事前登録、およびユーザトレーニングが必要なため、複
雑であり、プラットフォーム固有であり、また「重い」
アプローチであるとみなすことができる。インストール
された実行可能バイナリをベースとする他のアプリケー
ションにおけるように、このような非ウェブベースのア
プローチは、ソフトウェアのインストール、コンフィギ
ュレーション、およびメンテナンスの問題をもたらす。
任意のユーザは、皆が偶然同じプラットフォームを使用
し、偶然インストール、登録、およびトレーニングの要
件を事前に満たしており、かつユーザの間に十分な帯域
幅がある場合以外は、このようなシステムを使用してコ
ラボレーションすることができない。このような要件を
いずれも持たない解決策を見つけることが望ましい。
【0013】別の分類のシステムは、Java(登録商
標)アプレットや同様の技術等の特別なダウンロード可
能プログラムを使用する。アプレットは各ウェブブラウ
ザで実行され、コントローラに対する専用ソケット接続
を開く。しかし、このようなシステムは、Java(登
録商標)がブラウザでディセーブルされている場合には
機能しない。Java(登録商標)がイネーブルされて
いる場合であっても、単純なDHTMLウェブページの
ロードにかかる時間よりも、Java(登録商標)環境
をロードして開始する時間量のほうが依然としてはるか
に多く、パフォーマンスを劣化させる。さらに、通常、
この分類のシステムでは、コードをターゲットウェブペ
ージに埋め込む、すなわちアプレットをロードするため
の「タグ」をターゲットウェブページに埋め込む必要が
ある。これにより、共同閲覧はこのような特別に準備さ
れたウェブページだけに限定される。特別なコードが、
ページが取り込まれるときに動的にページに埋め込まれ
る場合には、ページに対する変更が、意図される挙動を
変更することになる危険性がある。ターゲットウェブペ
ージの変更を必要としないよりよい解決策が望ましい。
【0014】既存のシステムは、ターゲットウェブペー
ジがHTMLフレームを使用している場合に他の問題を
有しうる。新しいウェブページが送信者のブラウザ上の
フレームにロードされる場合、そのウェブページの最上
位URLは同じままである。換言すれば、ブラウザの
「アドレス」または「ロケーション」バーにおけるUR
Lは変化しない。したがって、送信者のブラウザにロー
ドされた最上位URLのみを監視するシステムは、送信
者のブラウザ上のフレームが、受信者のブラウザ上の対
応フレームに表示されているウェブページとは異なるウ
ェブページを表示していることに気付かないことがあ
る。送信者のブラウザのフレームにおいてURLが変化
したことがある手段で検出される場合であっても、新し
いURLにおけるウェブページを各受信者の対応フレー
ムに強制的にロードさせるという問題が依然として存在
する。送信者のブラウザ上のあらゆるフレームに対する
変更が、受信者のブラウザに反映される解決策を見つけ
ることが望ましい。
【0015】たとえば、2000年11月21日付けで
Fraenkel他に付与された、米国特許第6,151,62
2号「Method and system for portably enabling view
synchronization over the world-wide web using fra
me hierarchies」は、選択されたフレームの階層の記述
を生成することにより、クライアントウェブブラウザを
選択されたフレームに対して静的に同期させることを記
載している。この階層は、ネットワーク環境を介して送
信され、クライアントブラウザのターゲットフレームに
複製されている。
【0016】この種類の共同閲覧には、多数の問題があ
る。まず、配布される獲得フレームの階層は、静的フレ
ーム情報、具体的にはフレームの深さおよび名称、およ
びフレームコンテンツを表すURLしか含まない。選択
されたフレームの動的状態については、何もわからな
い、すなわち何も獲得されない。たとえば、ユーザの1
人が水平または垂直にスクロールする、または「Page D
own」キーを押下すると、参加者のビューはもはや同期
しなくなる。各ブラウザで閲覧中のウェブページの動的
状態も同期される共同ウェブ閲覧解決策を提供すること
が望ましい。その場合には、たとえば、任意のユーザが
フォームフィールドをスクロールする、または何かをフ
ォームフィールドにタイプすると、その他のユーザのブ
ラウザが、このような動的状態の変更を反映するように
更新される。
【0017】さらに、Fraenkel他によって提供される解
決策では、共同閲覧するウェブページをフレームにロー
ドする必要がある。このアプローチには多数の欠点があ
る。ウェブページによっては、ブラウザの最上位文書で
はなくフレームにロードされる場合、適切に挙動しない
ものがある。フレーム自体を含むウェブページは、ブラ
ウザの機能を停止させる傾向がより強い。フレームに強
制的にロードされるウェブページは、ブックマークに追
加することもできない。最後に、ウェブページがフレー
ムに強制的にロードされると、そのウェブページのUR
Lが、ウェブブラウザの「アドレス」または「ロケーシ
ョン」フィールドで見ることができなくなる。これは、
最上位ウェブページのURLのみがこのフィールドに示
されるためである。ウェブページを共同的に閲覧されて
いない場合と全く同じように「自然な環境」で閲覧され
ることができるように、共同閲覧されるウェブページを
ウェブブラウザの最上位文書としてロードすることがで
きる共同ウェブ閲覧解決策を提供することが望ましい。
【0018】最後に、Fraenkel他によって提供される解
決策は、各ブラウザにダウンロードされるコラボレーシ
ョンスクリプトにインテリジェンスを配置する。別の解
決策は、サーバがコラボレーションセッションに価値を
追加することができるように、このインテリジェンスを
クライアントではなくサーバに配置する。たとえば、サ
ーバ上のプログラムは、コラボレーション情報の動的状
態または静的状態を、その情報がクライアントブラウザ
に配布される前に変換することができる。一般に、サー
バプログラムは補助情報源に対して素早いアクセスを有
することから、インテリジェンスをサーバプログラムに
保持することが有利であろう。このような情報源として
は、バックエンドデータベース、クライアントによって
使用されるブラウザの銘柄およびバージョンについての
情報、各クライアントの画面解像度等が挙げられる。柔
軟であり、共同ウェブ閲覧セッションへの価値追加のサ
ポートへの拡張が容易な共同ウェブ閲覧解決策を提供す
ることが望ましい。
【0019】従来技術によるシステムは、新しいターゲ
ットウェブページに対する送信者のHTTP要求がホス
トウェブサーバに到来することに依存する場合に他の問
題を有しうる。これは、ホストへのHTTP要求の到来
が、送信者による新しいターゲットウェブページ要求を
処理しなけれならないときを決定するベースとして用い
られる場合でありうる。問題は、そのウェブページがホ
ストサーバ、またはある中間プロキシサーバにキャッシ
ュされる場合があることである。送信者のブラウザによ
るHTTP要求がキャッシュヒットによって満足される
場合、その要求が受信者のウェブブラウザに反映されな
いことがある。
【0020】
【発明が解決しようとする課題】したがって、動的状態
情報を含み、任意の数のHTMLフレーム、リンク、ま
たはJava(登録商標)スクリプトを含む、既存の任
意のターゲットウェブページについて動作する共同ウェ
ブ閲覧システムを提供することが好ましい。また、ター
ゲットウェブページを自然に、かつ意図される挙動を変
えうる変更なく、閲覧できることも望ましい。アクセス
可能性および使用し易さのため、システムが、Java
(登録商標)アプレットまたはブラウザプラグイン等、
特別な実行可能バイナリまたはプログラムをいずれも必
要としないことも望ましい。
【0021】
【課題を解決するための手段】本発明は、複数のウェブ
ブラウザを同期する柔軟な機構を提供する。本発明は、
変更のないウェブブラウザが変更のないウェブページを
共有できるようにする。このコラボレーションは、部分
的に、任意のコラボレーション中のユーザが、「プル」
またはポーリング機構を使用して他ユーザのブラウザの
重要な態様を遠隔制御することができることから可能に
なる。
【0022】「送信者」ブラウザが、「受信者」ブラウ
ザによって閲覧されるウェブページを選択する。受信者
ブラウザは、1つまたは複数の送信者ブラウザによって
「制御」可能である。任意のユーザブラウザは、送信者
または受信者、あるいはこれら双方であることが可能で
ある。本発明は、送信者ブラウザの状態の動的変化、た
とえば送信者のブラウザウィンドウのサイズ変更、新し
いターゲットページの選択、送信者のブラウザウィンド
ウまたはフレームのスクロール、ポインタ位置の追跡、
およびテキスト入力、をポーリングすることによって動
作する。動的状態のすべての変化が、受信者のブラウザ
に反映される。
【0023】本発明は、3つの主な構成要素を備える。
すなわち、ホストウェブサーバ上で実行されるコントロ
ーラ、送信者としてであれ、受信者としてであれ、それ
ともこれら双方としてであれ、共同ウェブ閲覧システム
に参加している各ユーザのモニタおよびターゲットであ
る。
【0024】コントローラは、コラボレーション中の各
種ブラウザの動的状態の更新を調整する。コントローラ
の実施に使用される言語に対する制約はない。たとえ
ば、コントローラは、任意選択的に、PERLスクリプ
トとして、またはJava(登録商標)サーブレットと
して実施されて、プラットフォーム独立性を提供するこ
とができる。
【0025】モニタは、HTMLフレームと、構成コン
トロールパネルと、Java(登録商標)スクリプトプ
ログラムとを含むHTMLウェブページを含む。モニタ
は、それ自体のブラウザのインスタンスにおいて、また
はターゲットのフレームの1つにおいて実行することが
できる。モニタは、ターゲットブラウザウィンドウの名
称を知っているため、Java(登録商標)スクリプト
プログラムは、ターゲットウィンドウの動的状態のあら
ゆる変更を検出することができる。送信者のモニタは、
送信者のターゲットをポーリングして、コントローラに
送信する動的状態の更新を検出する。たとえば、送信者
がターゲットウェブページにおいて垂直スクロールバー
を下にスクロールすると、送信者のモニタがこのスクロ
ールを検出し、スクロール中状態をコントローラに送信
する。各受信者のモニタは、周期的にコントローラをポ
ーリングして、受信者のターゲットに反映すべき動的状
態更新を検出する。
【0026】ターゲットは、共同的に閲覧されるターゲ
ットウェブページを含むブラウザのインスタンス、また
はそのフレームの1つである。本発明によれば、ターゲ
ットは、任意の標準ブラウザの普通のインスタンスであ
ることができるため、通常のウェブ閲覧に使用すること
が可能である。したがって、本発明は、予め存在する任
意のウェブページを、変更のないブラウザによって共同
的に閲覧できるようにする。
【0027】上述したように、1つのブラウザインスタ
ンスまたはフレームで実行される送信者のモニタは、タ
ーゲットブラウザインスタンスまたはフレームのインス
タンスにロードされるターゲットウェブページの状態を
徹底的に検査する。モニタは、1秒に1回等の構成可能
な時間間隔で周期的にこのポーリングを行う。この検査
は、現在ロードされているターゲットウェブページの構
造を決定し、コントローラに送信すべき有意の値を確認
する。単純なウェブページの場合、この情報は、ページ
にロードされた最上位URLと、水平および垂直のスク
ロールバーの位置とを最低限含む。
【0028】フレームを使用するウェブページの場合、
情報は、各フレームに使用されるURL、および各フレ
ームについてのスクロールバー情報も含む。他の状態情
報としては、ウェブページ上の任意のフォームにタイプ
された値、現在選択されているテキスト、およびターゲ
ットウェブページに関連する情報を挙げることができ
る。さらに、ウェブコンテンツがすべてのユーザのウェ
ブブラウザで全く同じに表示されるように、ターゲット
ブラウザウィンドウの次元を同期することができる。こ
のような状態値のいずれかに対する変更は、ポーリング
要求、たとえばHTTP要求、HTTPS要求、または
他の通信プロトコルでの同様の通知の形態でコントロー
ラに送信される。
【0029】Java(登録商標)スクリプトおよび標
準ウェブブラウザに構築されたセキュリティ対策によ
り、第1のブラウザインスタンス(またはフレーム)に
おいて実行されるJava(登録商標)スクリプトプロ
グラムは、第1および第2双方のインスタンスに同じ発
信源からのウェブページがロードされる場合に、第2の
ブラウザインスタンス(またはフレーム)における詳細
な情報にアクセスすることだけができる場合がある。こ
の場合、ウェブページ、イメージ、および本発明の実施
に使用されるプログラムは、共同的に閲覧されるウェブ
ページを格納するウェブサーバと同じウェブサーバに格
納されるべきである。
【0030】送信者が1人の場合、送信者のターゲット
の状態は、すべての受信者のターゲットに反映される。
送信者が複数人の場合、受信者は、任意の送信者の状態
と同期される。特に、受信者は、最も最近更新を行った
送信者の状態に同期される。各送信者は、すべての参加
ブラウザが互いに正しく同期されるように、受信者とし
て挙動することも可能である。ユーザは、送信者でもな
く受信者でもないように決めることもできる。このよう
な場合は、たとえば、ユーザが、コラボレーションセッ
ションをしばらく去って他のどこかを閲覧してから、後
に共同閲覧セッションに戻って再度参加する場合であり
うる。
【0031】送信者のモニタが、スクロールバーの位置
等のある状態が変化したことを示す更新ポーリング要求
をコントローラに送信すると、コントローラは、新しい
状態についての詳細を含む更新メッセージを動的に生成
する。この更新メッセージは、周期的なポーリング要求
に応答して、受信者のモニタに戻される。状態の変化は
各受信者のブラウザインスタンス(またはフレーム)に
反映されるため、各受信者のブラウザが他のすべてのブ
ラウザと同期することが保証される。送信者またはコン
トローラの場合であれ、受信者の場合であれ、ターゲッ
トにおける状態の変化についてモニタポーリングを行う
頻度は、コントロールパネルを介して構成可能である。
【0032】本発明の方法は、動的HTML技術を用
い、コラボレーションが開始可能になる前に、Java
(登録商標)アプレット、ブラウザプラグイン、または
他の実行可能プログラム等の特別なプログラムをいずれ
もユーザコンピュータにインストールする必要がない。
したがって、インターネット上の任意のユーザが、初期
ウェブページを単に訪れるだけで、直ちにインターネッ
ト上の他のユーザとコラボレーションすることができ
る。ユーザは、従来技術のJava(登録商標)アプレ
ットに関連する遅延等のいかなる初期遅延も経験しな
い。ユーザは、Java(登録商標)および同様の「重
い」技術をサポートしない、限られた資源を有する装置
を使用している場合であっても参加することが可能であ
る。
【0033】本発明による共同閲覧システムは、プラッ
トフォームから独立し、ホストウェブサーバで実行され
るコントローラは、PERLまたはJava(登録商
標)等のプラットフォームから独立した言語で書くこと
ができる。
【0034】本発明は、既知の共同ウェブ閲覧システム
よりも高い柔軟性を可能にする。受信者は、定期的にど
こか他を閲覧してから、後にコラボレーションセッショ
ンに再び参加することができる。1つの送信者ブラウザ
にすべての対話を制御させるのではなく、各ユーザは、
任意選択的に送信者となることができるため、他の受信
者によって共同的に閲覧されるウェブページを制御する
ことができる。本発明はウェブベースのアプリケーショ
ンであるため、ユーザコンピュータのインストール、構
成、またはメンテナンスを一切行う必要なく、新しい機
能に対するサポートをシステムに追加することが可能で
ある。任意のこのような追加は、ホストウェブサーバ上
のファイルに対して行う必要があるだけである。
【0035】より具体的に、本発明は、複数のクライア
ントコンピュータ、およびサーバコンピュータを含むネ
ットワークにおいてウェブコンテンツを共同的に閲覧す
る方法を提供する。第1の送信者ウェブブラウザインス
タンスに表示されるウェブページの静的状態および動的
状態が、ポーリングされる。この状態は、ネットワーク
を介して、サーバコンピュータで実行されているコント
ローラに送信される。コントローラは、更新メッセージ
の受信に応答して、状態を含む更新メッセージを生成す
る。次に、コントローラは、第2の受信者ウェブブラウ
ザインスタンスによってポーリングされて更新メッセー
ジを受信し、次に、受信者のウェブブラウザが送信者の
ウェブブラウザと動的に同期するように、更新メッセー
ジ中の状態に従って受信者ブラウザが表示可能であり、
またそのようにウェブページを表示可能である。
【0036】
【発明の実施の形態】図1は、本発明による共同ウェブ
閲覧システム100を示す。システム100は、ネット
ワーク103によって互いに接続された、1つまたは複
数のクライアントコンピュータ(クライアント)システ
ム101およびサーバ(ホスト)コンピュータシステム
102を含む。
【0037】クライアント101は、パーソナルコンピ
ュータ、ワークステーション、ラップトップ、個人情報
端末(PDA)、セルラ電話等の無線計算装置、および
ソフトウェアプログラムを実行する同様のものであるこ
とができる。オペレーティングシステムソフトウェア
は、Windows(登録商標)、LINUX、UNI
X(登録商標)、NT等であることができ、アプリケー
ションソフトウェアは、ウェブブラウザ等のインターネ
ットアプリケーションを含むことができる。サーバは、
アパッチシステム等のサーバソフトウェアを実行可能で
ある。通常、クライアントおよびサーバは、入力装置、
出力装置、および格納サブシステムを含む。ネットワー
クは、ワールドワイドウェブ(WWWまたはウェブ)で
あることができ、クライアントとサーバの間のリンクは
有線または無線であることができる。ネットワークは、
中間プロキシサーバおよびルータも備えることが可能で
ある。
【0038】システム100の3つの主な構成要素とし
ては、サーバにおけるコントローラ120、各クライア
ント101のモニタ110およびターゲット111が含
まれる。モニタ110は、ターゲットモニタ112およ
びコントローラモニタ113を含みうる。クライアント
がマルチユーザシステムである場合、クライアントは、
各ユーザについてモニタのインスタンスおよびターゲッ
トを含むことができる。
【0039】コントローラ120は、サーバ102上で
実行されるアプリケーションプログラムである。サーバ
は、システム100のユーザによって共同的に閲覧され
る、ウェブページ、イメージファイル、ビデオファイル
等のウェブコンテンツ121を格納することができる。
コンテンツは、ネットワークのクライアント、ローカル
サーバ、または中間サーバに格納され、キャッシュされ
てもよい。
【0040】システム100のユーザは、「マスタ」す
なわち送信者として、「スレーブ」すなわち受信者とし
て、これら双方として、またはどちらでもないものとし
て動的にイネーブル化可能である。送信者によって選択
され閲覧されるコンテンツ121は、すべての参加受信
者のターゲット111に反映される。ターゲットモニタ
112は送信者に対してイネーブルされ、コントローラ
モニタ113は受信者に対してイネーブルされる。ター
ゲットは、各種ウェブコンテンツ121をロード可能な
標準の変更されていないウェブブラウザのインスタンス
である。
【0041】ターゲットモニタ112は、Java(登
録商標)スクリプトプログラムを使用して、送信者のタ
ーゲット111の動的状態を周期的にポーリングし、動
的状態のあらゆる変更をコントローラ120への更新と
して送信する必要があるかどうかを確認する。任意の送
信者は、共同的に閲覧されるウェブコンテンツ121を
その送信者のターゲットにロードすることができる。コ
ントローラモニタ113は、ポーリング要求を用いてコ
ントローラ120と連絡する。コントローラモニタは、
送信者によって実行されたアクションに応答して生成さ
れる更新メッセージを取り込む。本発明は、モニタおよ
びターゲット構成要素が別個のウェブブラウザインスタ
ンスに存在する必要がないことに留意する。本発明では
また、このような構成要素が単一ブラウザインスタンス
の異なるフレームにおいて実行してもよいが、好ましい
実施形態では、2つの別個のブラウザインスタンスがあ
る。
【0042】図2は、本発明の好ましい実施のクライア
ント側200を示し、モニタおよびターゲットが、同じ
ウェブページの別個のフレームにあるのではなく別個の
ブラウザインスタンスに存在する。モニタを含むウェブ
ブラウザインスタンスは、最初に、共同ウェブブラウザ
コントロールパネル210を表示する。このコントロー
ルパネルは、共同閲覧セッションを構成するために使用
される。ターゲットブラウザインスタンス220は、受
信者によって共同的に閲覧されるウェブページを閲覧す
るために、送信者によって使用される。
【0043】図3に示すように、モニタウェブページ3
00は、3つのフレーム301〜303を含む。第1の
フレーム301は可視である。その他の2つのフレーム
302、303は、ユーザにとって不可視の「隠し」H
TMLフレームである。効果的なことに、隠しフレーム
はゼロ次元である。すなわち、隠しフレームは高さも幅
も持たない。
【0044】モニタウェブページ300における第1の
フレーム301は、コントロールパネル210である。
コントロールパネルは、共同閲覧セッションの特定の態
様を構成するために使用される。ユーザは、コントロー
ルパネルを使用して、ターゲットブラウザウィンドウ2
20の次元を特定(311)することができる。ユーザ
はまた、後述するように、送信者機能312をイネーブ
ルし、受信者機能313をイネーブルし、また分散ポイ
ンタ(distributed pointer)314をイネーブルする
こともできる。ユーザはまた、コントロールパネルを使
用して、ユーザが送信者としてイネーブルされる場合に
はターゲットウィンドウの動的状態の変化315を、ま
たユーザが受信者としてイネーブルされる場合にはコン
トローラからの変化316をポーリングする頻度を特定
することも可能である。第1のフレーム301は、ター
ゲットモニタ112およびコントローラモニタ113を
実施するJava(登録商標)スクリプトプログラムも
含む。
【0045】コントローラモニタは、ポーリング要求を
行うことによりコントローラを周期的にポーリングす
る。好ましい実施形態において、要求はHTTPまたは
HTTPSプロトコルに準拠する。この要求に対する応
答は、ファイル名「Updates.html」で参照されるウェブ
ページである。Updates.htmlページは、第1の隠しフレ
ーム302にロードされる。Updates.htmlファイルのコ
ンテンツは、任意の変更が任意の送信者ユーザのターゲ
ットウェブページの動的状態に行われたかどうかを示
す。新しいウェブページが送信者のターゲットブラウザ
ウィンドウにロードされたときなど、いくつかの変更が
行われていた場合、それら変更がローカルターゲットウ
ィンドウに適用される。コントローラモニタにおけるJ
ava(登録商標)スクリプトプログラムは、受信者に
対してのみイネーブルされる。
【0046】ターゲットモニタ112は、ターゲットウ
ィンドウ220に現在ロードされているウェブページの
動的状態を周期的にポーリングする。ターゲットウェブ
ページの状態に対するあらゆる変更は、コントローラ1
20に送信され、コントローラ120が、その変更をす
べての受信者に提供する。好ましい実施形態では、この
ような変更は、HTTP要求におけるパラメータとして
コントローラに送信される。この要求に対するHTTP
応答は、第2の隠しフレーム303にロードされる。コ
ントローラからのHTTP応答は、デバッグに使用され
る。ターゲットモニタを実施するJava(登録商標)
スクリプトプログラムは、ローカルユーザが送信者とし
てイネーブルされる場合にのみイネーブルされる。
【0047】図4は、ターゲットモニタ112がコンパ
クトな形態401および拡張した形態402で動的状態
更新をコントローラ120に送信するときに、ターゲッ
トモニタ112によって行われるポーリング要求の例を
示す。この例では、HTTP GET方法が使用される。代替と
して、おそらく多量のデータが更新にある場合には、HT
TP POST方法を使用してもよい。ターゲットモニタは、G
ETまたはPOST方法が特定の更新セットに最も適切である
かどうかを動的に決定することができる。
【0048】図4に示す例では、HTTPパラメータの
名称および値は、簡潔にするために単純なテキスト置換
を介して符号化される。たとえば、“frames[”という
形態のストリングは、“Z[”で置換される。ターゲット
ウィンドウにおける各フレームについての情報は、“f
n.d”という形態の照会パラメータ名を使用して符号化
されることに留意する。ただし、“n”は特定のフレー
ムを示す番号であり、“d”はそのフレームの特定の属
性を示す。たとえば、“f1.S”は、“f1”で指定される
フレームにロードされるウェブページのURLを示す。
このようなフレーム指定の符号化は照会パラメータに含
まれてもよく、たとえば“fn=P.Z[1]-f2”は、ネストさ
れたフレームであるframes[1].frames[0]の属性が、“f
2”で始まる名称を有する照会パラメータに含まれるこ
とを示す。パラメータの名称および値を符号化する他の
方法を使用してもよく、また使用される方法は、本発明
が使用されている環境および通信機構に最もよく合うよ
うに、たとえばSOAPプロトコルが使用される場合に
は、XMLフォーマットを使用してデータを送信できる
ように、適応可能なことを認識されたい。
【0049】図5は、Updates.htmlファイル500の例
を示す。これは、送信者上のターゲットモニタからの更
新に応答して、コントローラ120によって生成される
ファイルである。このファイルは、各受信者側でコント
ローラモニタによって周期的に取り込まれる。Updates.
htmlは、モニタウェブページの第2のフレーム302に
ロードされることに留意する。擬似コード中の“onLoa
d”ハンドラに留意する。このハンドラは、このウェブ
ページのブラウザへのロードが終了したときに実行され
る。これは、更新における動的状態属性値を受信者のタ
ーゲットウェブブラウザにおけるウェブページにおける
動的状態属性値と明示的に比較する。いずれかの属性値
がマッチしない場合、その値が、受信者のターゲットブ
ラウザにおいて、Updates.html中のJava(登録商
標)スクリプトコードによって更新される。図5では、
「スレーブ」という語が「受信者」を示すことに留意す
る。
【0050】受信者のターゲットウェブページ220の
更新に使用されるUpdates.htmlファイル500における
制御フローは、当業者には明白なはずである。シーケン
ス番号を用いて、このUpdates.htmlファイルにおいて反
映された特定の変更セットがすでに処理されているか否
かを確認する。任意のサブフレームにおける属性も再帰
的に更新されることに留意する。ブラウザに固有のJa
va(登録商標)スクリプトコマンドは、受信者のター
ゲットウェブページ220の更新に必要なときに使用す
ることができる。これは、必要であれば、コントローラ
およびモニタが、標準的なJava(登録商標)スクリ
プトドキュメントオブジェクトモデル方法および属性を
使用して、使用中のウェブブラウザについてのプラット
フォームおよびバージョン情報を検出することが可能な
ためである。図5におけるJava(登録商標)スクリ
プトのフォーマットおよび使用法は、受信者に送信する
ために更新情報を伝達する多くの潜在的な方法の1つに
すぎないことが認められる。このフォーマットは、動作
を明瞭に簡潔にするために好ましい実施形態において使
用される。
【0051】図6は、送信者からの更新を処理するため
にコントローラ120によって用いられる方法600を
示す。本方法は、ポーリング要求を待つ(610)。有
効な要求が受信される(615)と、ターゲットブラウ
ザの動的状態が抽出され(620)、新しいUpdates.ht
mlファイル500が生成される(630)。
【0052】ホストウェブサーバ102上で実行される
コントローラプログラム120は、モニタからの有効な
要求を待つ(610)ように設計される。このような要
求を検出する(615)と、コントローラが(通常は最
小レベルの機能性のために)、ターゲットブラウザのウ
ィンドウ幅、ウィンドウ高さ、URL、およびスクロー
ルバー位置をHTTPパラメータから抽出する。これ
は、ターゲットウェブページにおいて使用されるフレー
ムの任意のURLおよびスクロールバー位置(もしあれ
ば)を含む。受信者に伝達すべき追加状態処理情報につ
いての情報を含みうる追加パラメータを復号化すること
もできる。たとえば、このような追加パラメータは、後
述するHTMLフォームの記入方法、どのテキストが選
択されているか、および任意の分散ポインタの存在およ
び場所についての情報(これらのうち任意のものは、タ
ーゲットウェブページにおける任意のおそらくネストさ
れたフレームにおいて使用可能でありうる)を含みう
る。
【0053】送信者がターゲットウェブページに対して
行った更新についての情報を抽出した後、コントローラ
が、ホストウェブサーバ102上で新しいUpdates.html
ファイル500を生成する(630)。図5に示すよう
に、このUpdates.htmlファイルはJava(登録商標)
スクリプトonLoadイベントハンドラを含み、このJav
a(登録商標)スクリプトonLoadインベントハンドラ
は、Updates.htmlファイルの受信者の隠しフレーム30
2へのロードが終了したときに実行される。このonLoad
ハンドラは、誤り修正を行う(たとえば、受信者のター
ゲットウィンドウがまだ開いており、アクセス可能であ
るかどうかを調べる)コード、更新シーケンス番号をチ
ェックしてこの特定のUpdates.htmlファイルがすでに処
理されているかどうかを調べるコード、さらに、任意の
新しい更新を受信者のターゲットウェブページに適用す
るコード、そして最後に、この更新セットが適用された
ことを示すように受信者のモニタの更新シーケンス番号
を更新するコードを含む。
【0054】図7a、図7b、図7cは、ユーザのコン
トロールパネルを動作するためにモニタによって使用さ
れる方法710〜719、コントローラモニタの実施に
使用される方法720〜723、およびターゲットモニ
タの実施に使用される方法730〜741を示す。
【0055】図7aは、コントロールパネルを介してユ
ーザによって行われる構成変更に応答して、モニタによ
って使用される方法を示す。図7aに示すように、ま
ず、コントロールパネル301および2つの隠しフレー
ム302〜303を含むモニタウェブページが、モニタ
ウィンドウまたはフレーム210にロードされる(71
0)。モニタコントロールパネル210におけるフォー
ム要素に関連する標準的なイベントハンドラは、ユーザ
によって行われる構成変更に応答するために使用され
る。これは、図7aのブロック711に示されており、
ここで方法は、ユーザがコントロールパネルにおいてい
くらか状態を変更するのを待つ。ユーザが、「マスタ」
(送信者)のチェックボックスをチェックする(71
2)またはチェックを外す(713)場合、checkForCh
angesByMaster()におけるTargetMonitorルーチン730
へのスケジューリングされる呼び出し(716)、また
はスケジューリングされた既存の呼び出しのいずれかで
ある呼び出しはキャンセルされる(717)。同様に、
ユーザが、「スレーブ」(受信者)チェックボックスを
チェックする(714)、またはチェックを外す(71
5)場合、checkForUpdatesToSlave()におけるControll
erMonitorルーチン720へのスケジューリングされる
呼び出し(718)か、あるいは既存のスケジューリン
グされた呼び出しのいずれかである呼び出しはキャンセ
ルされる(719)。さらに、ユーザがスレーブチェッ
クボックスをチェックする場合(714)、このチェッ
クボックスが再びチェックされるときに、受信者が適宜
再同期されるように、ControllerMonitorにおける“las
t_updates_sequence_number”カウンタがリセットされ
る(718)。リセットされない場合には、Controller
Monitorが、この受信者がすでに最新のものであると考
えてしまうことがある。
【0056】図7bは、送信者からの新しい更新が検出
され適用されるように、コントローラを定期的に監視す
るために、受信者におけるコントローラモニタ113に
よって用いられる方法を示す。換言すれば、checkForUp
datesToSlave()コントローラモニタルーチンが、受信者
(スレーブ)を更新するために用いられる。モニタが受
信者として構成される(スレーブチェックボックス31
3がチェックされる)場合、checkForUpdatesToSlave()
コントローラモニタルーチンが、定期的に呼び出される
(720)。
【0057】このルーチンが呼び出される頻度は、モニ
タコントロールパネル316において構成することがで
きる。この方法は、ホストウェブサーバ102上のコン
トローラ120によって生成された最も近いUpdates.ht
mlファイル500を用いて、単にモニタウェブページ3
00における第1の隠しフレーム302をリロードする
(721)。Updates.htmlファイル中のonLoadハンドラ
は、上述したように、必要な更新をいずれも適用する。
コントローラモニタは、任意選択的に、任意のさらなる
特別動作を実行して(722)、受信者のターゲットウ
ェブページのコンテンツまたは状態をさらに処理するこ
とができる。このような動作は、付加価値を共同ウェブ
閲覧セッションに加えるために使用することが可能であ
る。このような動作の態様は、たとえば、更新メッセー
ジにより、送信者または受信者のモニタコントロールパ
ネルにおける設定により、またはユーザアクションによ
り制御可能である。最後に、コントローラモニタcheckF
orUpdatesToSlave()ルーチンが、次の更新セットも適用
されるように、コントロールパネル316において特定
される間隔後に、それ自体に対する別の呼び出しを再び
スケジューリングする(723)。
【0058】図7cは、あらゆる変更がコントローラに
送信されるように、送信者のターゲットウェブページを
定期的に監視するために、送信者におけるターゲットモ
ニタ112によって使用される方法を示す。換言すれ
ば、checkForChangesByMaster()ターゲットモニタルー
チンは、この送信者(マスタ)によって行われるあらゆ
る変更をチェックし、変更があれば、受信者に中継する
ためにその変更をコントローラに送信するために使用さ
れる。モニタが送信者として構成される(マスタチェッ
クボックス312がチェックされる)場合、checkForCh
angesByMaster()ターゲットモニタルーチンは、定期的
に呼び出される(730)。
【0059】このルーチンが呼び出される頻度は、モニ
タコントロールパネル315において構成することがで
きる。この方法はまず、ウィンドウ次元およびターゲッ
トブラウザウィンドウにおける最上位文書の状態を最低
限含む、ターゲットウィンドウの基本(静的および動
的)状態を読み出す(731)。最上位文書の状態は、
最低限、最上位ウィンドウにロードされたURL、およ
び水平および垂直スクロールバーの位置を含みうる。次
に、ターゲットの基本的な状態が、chackForChangesByM
aster()に対する前の呼び出し中に、ターゲットモニタ
に保存された基本状態と比較する(732)。
【0060】この比較の結果を用いる前に、ターゲット
モニタルーチンは、まず、任意選択的に、任意のさらな
る特別動作を行って、ターゲットウェブページのコンテ
ンツまたは状態をさらに処理することができる(73
3)。このような動作は、付加価値を共同ウェブ閲覧セ
ッションに加えるために使用することが可能である。こ
のような動作の態様は、たとえば、モニタコントロール
パネルにおける設定により、またはユーザアクションに
より制御可能である。例として、後述する分散ポインタ
等の高度な機能をサポートするために、ターゲットウェ
ブウィンドウに検出された新しい最上位URLがある場
合、このポイントにおいて、ターゲットモニタルーチン
が、ターゲットウィンドウにカスタムイベントハンドラ
を再帰的に設定して、このような分散ポインタの存在ま
たは移動を検出することができる。
【0061】引き続き図7において、ターゲットモニタ
checkForChangesByMaster()ルーチンはチェックを行
い、ターゲットウェブページがフレームを使用するかど
うかを調べる(734)。使用していない場合、チェッ
クを行いターゲットの基本状態が変更されたかどうかを
調べる(これは、先に確認された(732))。ターゲ
ット基本状態が変更されておらず、またフレームがない
場合、コントローラに送信する更新がないため、本方法
は、コントロールパネル315において特定された間隔
後に、それ自体に対する別の呼び出しを単にスケジュー
リングするだけである(741)。ターゲットがフレー
ムを有さない(735)が、その基本(最上位)状態が
変更した場合、本方法は、モニタウェブページにおける
第2の隠しフレーム303(第3の実際ファイル)をリ
ロードし、すべての変更をコントローラ740に送信す
る。ここでの概念は、第2の隠しフレームをリロードす
るためのHTTP要求が、コントローラに配向され、パ
ラメータとして更新情報を含むことである。コントロー
ラは、更新パラメータを復号化し、それに応答して、第
2の隠しフレーム303にロードされるいくつかのウェ
ブページ文書を送信する。この応答文書は、送信状態
(たとえば、「更新の受信に成功しました」)およびデ
バッグから切り離れては使用されない。
【0062】引き続き図7cにおいて、ターゲットモニ
タがフレームを使用する場合(734)、checkForChan
gesByMaster()ルーチンは、再帰的に、ターゲットウェ
ブページ736におけるすべての(おそらくネストされ
た)フレームの静的状態および動的状態を収集し、保存
する。ターゲットの基本状態が変更した場合(737)
(先(732)に確認されたように)、第2の隠しフレ
ームがリロードされ、上述したようにこれらの変更をコ
ントローラに送信する(740)。ターゲットがフレー
ムを使用し、かつターゲットの基本状態が変更された場
合、本方法は、フレームにおいて変更を再帰的にわざわ
ざ探すことはしないことに留意する。これは、ターゲッ
トの基本最上位状態の変更をまず処理しなければならな
いためである。例として、最上位URLが変更された場
合、受信者は、新しい最上位URLによって特定される
ウェブページにある任意のフレームの変更が可能になる
前に、新しい最上位URLをロードする必要がある。
【0063】ターゲットがフレームを使用するが、chec
kForChangesByMaster()が最後に呼び出されたときか
ら、ターゲットの基本状態が変化していない場合(73
7)、本方法は、再帰的に古いフレーム状態と新しいフ
レーム状態とを比較し(738)、任意選択的に、任意
のさらなる特別動作を実行する(738)(最上位文書
について上述したように(733))。次に、引き続き
ターゲットがフレームを有し、かつターゲットの基本状
態が変化していない場合、本方法はチェックを行い、任
意の(おそらくネストされた)フレームの状態が変更さ
れたかどうかを調べる(739)。変更されている場
合、第2の隠しフレーム303がリロードされ、上述し
たように、これらの変更がコントローラに送信される
(740)。
【0064】任意のイベントにおいて、checkForChange
sByMaster()に対する任意の呼び出しの最後のステップ
730は、コントロールパネル315において特定され
た間隔後に、chackForChangesByMaster()に対する別の
呼び出しをスケジューリングすることである(74
1)。
【0065】図8は、ユーザが、送信者および受信者と
して(810)、送信者のみとして(820)、受信者
のみとして(830)、および送信者でもなく受信者で
もなく(840)動作する場合の典型的なユーザセッシ
ョンについての動作フローの例を示す。この図におい
て、「スレーブ」という語は受信者を指し、「マスタ」
という語は送信者を指す。この図は、決して本発明によ
って網羅される動作シーケンスをすべて示すものではな
いが、どのように動作するように意図されるかについて
の概念を当業者に与えるに十分な情報を伝える。
【0066】ユーザが共同ウェブ閲覧セッションに参加
することができる典型的な方法を、図8に示す。このユ
ーザは、この共同ウェブ閲覧セッションにすでに参加し
ている他のユーザと区別するために、以下任意に「ユー
ザ5」と呼ぶ。ユーザ5はまず、「submit(送信)」ま
たは「Collaborate(コラボレーション)」ボタンをク
リックする前に、ユーザ5が任意選択的にユーザ名およ
びパスワードを入力する特別な「ようこそ(Welcom
e)」ウェブページを取り込む(801)。この発明
は、パスワードで保護されたページを必要としないが、
所望であれば、標準的なパスワード保護機構を使用して
パスワードで保護されたページを使用することができ
る。好ましい実施形態では、モニタウェブページおよび
ユーザのターゲットウェブページが、別個のウェブブラ
ウザインスタンスで実行される。これが当てはまるもの
と仮定し、「送信」/「コラボレーション」ボタンをク
リックする(801)と、2つの新しいブラウザインス
タンスが、ユーザ5の画面上に開かれる(802)。第
1のインスタンスはモニタコントロールパネル210を
含み、その他はターゲットウェブページ220を含む。
この状況の場合、最初に「マスタ」(送信者)チェック
ボックス312および「スレーブ」(受信者)チェック
ボックス313の双方が、コントロールパネルにおいて
チェックされており、システムは、スレーブチェックボ
ックスが最初にチェックされたかのように挙動するもの
とする。これは、この時点で、ユーザ5のターゲットブ
ラウザウィンドウに、現在共同的に閲覧されているウェ
ブページがロードされることを暗に示す。(システムが
最初に、マスタチェックボックスが最初にチェックされ
たかのように挙動する場合には、セッションに現在存在
するあらゆるスレーブ/受信者のターゲットブラウザ
に、ユーザ5のターゲットブラウザウィンドウに最初に
ロードされるページと同じページが直ちにロードされる
ことに留意する)。
【0067】まず、このシナリオにおいて、ユーザ5は
マスタおよびスレーブの双方としてデフォルトによって
構成されるため、図8における第1のパス810を辿
る。このパス810は、ユーザ5がマスタおよびスレー
ブの双方である場合(デフォルト)の共同ウェブ閲覧シ
ステムの挙動を記述する。このパスの下での制御フロー
例として、次に、ユーザ5は、新しいウェブページ(ペ
ージB)をホストウェブサーバからユーザ5のターゲッ
トブラウザウィンドウに取り込むことができる(81
1)。ユーザ5はマスタとして構成されるため、その他
のすべてのスレーブについても、自動的にページBが各
自のターゲットブラウザウィンドウにロードされる(8
12)。次に、たとえば、マスタユーザ3がページBの
底部までスクロールする(813)。これに応答して、
ユーザ5を含めすべてのスレーブも、ページBの底部に
自動的にスクロールされた各自のターゲットブラウザウ
ィンドウでページBを見ることになる(814)。以下
同様(815)である。すなわち、ユーザ5は、マスタ
かつスレーブであるため、すべてのスレーブターゲット
ブラウザに何が表示されるかを制御することができると
ともに、任意の他のマスタが各自のターゲットブラウザ
に行ったあらゆる変更を見ることができる。
【0068】ユーザ5が、コントロールパネル210に
おけるスレーブチェックボックス313のチェックは外
すが、マスタチェックボックス312のチェックを残す
場合、ユーザ5はここでマスタのみになる(820)。
この場合、図8における第2のパス820を辿る。この
パス820は、ユーザ5がマスタであるが、スレーブで
はない場合の共同ウェブ閲覧システムの挙動を記述す
る。このパスの下での制御フロー例として、すべてのス
レーブが現在各自ターゲットブラウザウィンドウにロー
ドされるウェブページAを有するが、次にマスタユーザ
3がここで新しいページであるページCをユーザ3のタ
ーゲットブラウザに取り込む(821)ものとする。ユ
ーザ5は、スレーブとして構成されていないためページ
Aに留まり、ページCがユーザ5のターゲットブラウザ
ウィンドウにロードされるのを見ることはないが、この
セッションにおける他のスレーブは1人残らず、各自の
ターゲットブラウザウィンドウにページCがロードされ
るのを見る(822)。次に、ユーザ5がページAの底
部までスクロールするものとする(823)。ユーザ5
は、マスタとして構成されており、スレーブはあらゆる
マスタによる最も近い変更と同期するため、すべてのス
レーブは、各自のターゲットブラウザにページAがロー
ドされて、ページAの底部までスクロールされるのを突
然見る。以下同様(825)である。すなわち、ユーザ
5は、マスタであるがスレーブではないため、他のマス
タが行った変更はいずれも見ないが、すべてのスレーブ
はユーザ5が行った変更を見ることになる。
【0069】ユーザ5が、コントロールパネル210に
おけるマスタチェックボックス312のチェックは外す
が、スレーブチェックボックス313のチェックを残す
場合、ユーザ5はここでスレーブのみになる(83
0)。この場合、図8における第3のパス830を辿
る。このパス830は、ユーザ5がスレーブであるが、
マスタではない場合に、共同ウェブ閲覧システムの挙動
を記述する。このパスの下での制御フロー例として、マ
スタユーザ3が新しいウェブページであるページDを、
ユーザ3のターゲットウェブブラウザ831で閲覧する
ものとする。ユーザ5を含めすべてのスレーブは、各自
のターゲットウェブブラウザにページDがロードされる
のを見る(832)。次に、ユーザ5がページEを閲覧
するものとする(833)。ユーザ5はマスタとして構
成されていないため、その他のすべてのスレーブはペー
ジDに引き続き留まる(834)。次に、マスタユーザ
2がページFを閲覧するものとする(835)。そうす
ると、ユーザ5を含めすべてのスレーブが、各自のター
ゲットウェブブラウザにページFが自動的にロードされ
るのを見る(836)。以下同様(837)である。す
なわち、ユーザ5は、スレーブであるが、マスタではな
いため、他のマスタが行ったあらゆる変更を見ることに
なるが、他のスレーブはユーザ5が行ったいずれの変更
も見ることはない。
【0070】ユーザ5は、コントロールパネル210に
おいてマスタチェックボックス312およびスレーブチ
ェックボックス313双方のチェックを外す場合、ここ
でマスタでもなければスレーブでもなくなる(84
1)。この場合、図8における第4のパス840を辿
る。このパス840は、ユーザ5がマスタでもなくスレ
ーブでもない場合の共同ウェブ閲覧システムの挙動を記
述する。この場合、他のユーザによるあらゆる変更はユ
ーザ5によって見られない(842)。さらに、新しい
ウェブページであるページGの閲覧等のユーザ5によっ
て行われるあらゆる変更は、他のユーザによって見られ
ない(843)。したがって、ユーザ5は、現在共同ウ
ェブ閲覧システムに参加していない。ユーザ5は、たと
えば、共有するウェブページを見つけたいが、そのペー
ジを見つけるためにしばらくネットサーフィンをしなけ
ればならない場合に、こうすることを選択しうる。ユー
ザ5は、共有したいページを見つけるためにネットサー
フィンしている間、他のマスタによって行われる変更に
邪魔されないように、またユーザ5が共有したいページ
を探している間にロードする中間ページを他のスレーブ
が見ないように、マスタおよびスレーブ双方のチェック
ボックスのチェックを外すことができる。
【0071】ユーザ5がマスタでもなければスレーブで
もない図8の場合を続け、ユーザ5が、共同ウェブ閲覧
セッションでスレーブと共有したいページGを最終的に
閲覧する(843)。ユーザ5がマスタおよびスレーブ
の双方として再び参加したい場合、ユーザ5がこの時点
においてセッションに再び参加する順序が重要である。
ユーザ5が最初にスレーブチェックボックスを再びチェ
ックする場合(848)(マスタチェックボックスのチ
ェックが外れたままで)、ユーザ5のターゲットブラウ
ザにおけるページGは、他のスレーブによって現在閲覧
されているウェブページが何のページであれユーザ5の
ターゲットブラウザにロードされるため、即座に「上書
き」される(849)。この時点で、ユーザ5は、スレ
ーブとして参加しているが、マスタとしては参加してい
ない(830)。これは、ユーザ5がどこか他を閲覧し
ていて、次にセッションで皆が何を閲覧しているのか見
たい場合には望み通りの挙動であるが、ユーザ5は、本
当にセッションにおける他のすべてのスレーブとページ
Gを共有したかったものとする。この場合、ユーザ5
は、スレーブチェックボックスをチェックする前に、マ
スタチェックボックス844をチェックすべきである
(または、ユーザ5は、スレーブチェックボックスをま
ったくチェックしないよう決めてもよい)。ユーザ5は
マスタとしてセッションに参加するため、すべてのスレ
ーブがページG(または、ページが何であれ、現在ユー
ザ5のターゲットウェブブラウザにロードされているペ
ージ)を強制的に閲覧させられることをユーザ5に注意
する警告が、ユーザ5のウィンドウにポップアップす
る。この注意警告は、マスタとしてセッションに参加す
る、または再び参加する誰かが、不用意にかつ意図せず
にすべてのスレーブターゲットブラウザを切り換えてし
まわないように、予防措置として行われる。ユーザ5が
「OK」をクリックし、すべてのスレーブに、ユーザ5
が現在閲覧しているページ(この場合ではページG)に
切り換えることを本当に意図することを示す場合(84
6)、すべてのスレーブターゲットブラウザに即座にペ
ージGがロードされる(847)。この時点で、ユーザ
5は、セッションにスレーブではなくマスタとして参加
している(820)。一方、ユーザ5は、すべてのスレ
ーブを切り換えることを本当に意図するかどうかをポッ
プアップ警告で尋ねられたときに「キャンセル」をクリ
ックすると、マスタでもなくスレーブでもないままであ
る(841)。
【0072】ウェブサーバ上のコントローラとユーザブ
ラウザインスタンスにおけるモニタの間で伝送される情
報は、多数のフォーマットであることができる。好まし
い実施形態において、かつ明瞭性および簡潔性のため、
情報は、そのまま受信者のウェブブラウザで実行可能な
動的に生成された実行可能Java(登録商標)スクリ
プトステートメントに含まれる。パフォーマンスの向上
のためには、より簡潔なフォーマットを使用することが
できる。相互運用性の向上、および新規および既存のX
MLツールおよびプロトコル(SOAP等)の活用のた
めには、XMLフォーマットを使用することができる。
また、好ましい実施形態では、任意の部分の状態が変化
するときは常に、変更された状態の部分だけではなく、
動的状態全体がすべてユーザに送信されることにも留意
する。これにより、ユーザが、随時共同ウェブ閲覧セッ
ションに参加することができ、最新の変更だけではなく
すべての状態を最新にできるように保証する。ここで
も、よりよいパフォーマンスのため、別の実施は、交換
されるメッセージがより小さいように、変更された状態
についての情報を送信するだけであってもよい。この場
合、さらなる動的情報を要求し、必要に応じて送信する
ことができる。
【0073】代替の実施形態では、ユーザのコントロー
ルパネルおよびそれに関連する制御プロトコルを別個の
ブラウザインスタンスで必ずしも実行する必要がない。
ユーザのコントロールパネルおよび制御プログラムはす
べて、2つのフレームのうちの一方にロードすることが
でき、他方のフレームは、共同的に閲覧されているター
ゲットウェブページを含む。この実施形態の利点は、ブ
ラウザの1つのインスタンスを各ユーザのコンピュータ
で実行することが必要なだけであることである。フレー
ムアプローチの1つの欠点は、共同的に閲覧可能なウェ
ブページのタイプに制約を課すことである。これは、例
として、ウェブページによっては、最上位文書としてで
はなくフレーム内で閲覧される場合にウェブ作成者の意
図するようには挙動しないものがあるためである。2つ
のブラウザインスタンスを使用することにより、閲覧ペ
ージは、まるで共同的に閲覧されていないかのように、
それぞれそれ自体のブラウザウィンドウで実行されるた
め、閲覧ページのコンテンツは任意である。ターゲット
ウェブページをフレームにロードする他の欠点は、ター
ゲットウェブページのURLが、ブラウザの「ロケーシ
ョン」または「アドレス」フィールドで見ることができ
ず、「お気に入りに追加」または「ブックマークに追
加」等のウェブブラウザの機能を使用して、ターゲット
ウェブページをブックマークすることができないことで
ある。
【0074】クロスプラットフォームおよびクロスブラ
ウザの独立性を促すため、Java(登録商標)スクリ
プトが、ユーザウェブブラウザにおいてこの発明を実施
するための記述言語として好ましい。他の任意のプログ
ラミング言語、Java(登録商標)スクリプトの変
形、またはウェブブラウザのドキュメントオブジェクト
モデルにアクセス可能な他の機構を、Java(登録商
標)スクリプトの代わりとしてもよい。ドキュメントオ
ブジェクトモデルは、ウェブブラウザの銘柄により異な
ることがあるため、ブラウザに固有のJava(登録商
標)スクリプトコードを必要に応じて使用して、ターゲ
ットウェブページ文書の状態の部分にアクセスすること
ができることに留意する。
【0075】基本的な共同ウェブ閲覧システムに対する
多数のエンハンスメントを実施することができる。所望
であれば、標準的な機構を使用して、共同ウェブ閲覧セ
ッションをパスワードで保護するとともに、複数の独立
したセッションを維持することができる。共同ウェブ閲
覧システムの態様のGUI表現が動的に閲覧可能であ
り、管理に使用できるように、管理用のインタフェース
をウェブサーバ上で実行されているコントローラに追加
することも賢明であり、また簡単明瞭なことである。た
とえば、1つのこのようなインタフェースを最初に使用
して、新しい専用共同ウェブ閲覧セッションを特定のウ
ェブサイトについてのヘルプを求めているユーザと確立
することができる。
【0076】エンハンスメントの別の例として、送信者
に他ユーザのブラウザのさらなる態様を制御させること
が可能である。最低限、各送信者は、任意の送信者のウ
ィンドウサイズに対する変更、現在ロードされているウ
ェブページアドレス(URL)、スクロールバー位置、
ウェブページが含んでいるあらゆるフレームのURLお
よびスクロールバー位置を反映する。しかし、この機能
性は、Java(登録商標)スクリプトドキュメントオ
ブジェクトモデルがそのブラウザにアクセスを許す他の
任意のオブジェクトの追跡に拡張することができる。た
とえば、ユーザのテキスト入力を、ウェブページ上のフ
ォームにおけるテキストフィールドに入力されるときに
追跡し、それによって任意のユーザがこのようなフィー
ルドに何をタイプしたかをすべてのユーザが見ることが
望ましい場合がある。同様に、チェックボックスおよび
プルダウンリストボックス等の他の形態の要素は、共同
的に変更可能である。任意のテキスト選択も共有するこ
とができる。すなわち、マスタが1段落のテキストを選
択すると、すべてのスレーブが、各自のブラウザでもそ
の段落のテキストが選択されて見える。
【0077】好ましい実施形態では、各ユーザがセッシ
ョンに送信者として、閲覧者として、それとも双方とし
て参加するかを決定することができる。ユーザにこれら
すべてのオプションが与えられるわけではない、または
1つまたは複数のオプションがパスワードで保護され
た、この発明の用途があることが予見される。たとえ
ば、オンライン教室の状況では、指導者が唯1人の送信
者であり、すべての生徒が閲覧者であることが望まし
い。
【0078】本発明は、コラボレーションセッションに
おける共同レベルを大幅に強化する分散ポインタも提供
する。分散ポインタは、セッションにおけるすべてのユ
ーザが見ることができ、すべてのユーザが移動させるこ
とのできる(任意選択的に)ポインタである。このよう
な分散ポインタなしでは、共同中のユーザが確実に、ウ
ェブページまたはフレームのどの部分について議論され
ているか知ることが困難でありうる。任意の送信者は、
現在共同的に閲覧されているターゲットウェブページ2
20に1つまたは複数の分散ポインタを生成することが
できる。各ポインタ221は、HTMLポインタコード
をターゲットウェブページに挿入することによって生成
される。プリンタコードは、既存のターゲットウェブペ
ージの最上部にHTMLレイヤを生成する。このレイヤ
は、ユーザが、おそらく特別なキーボードとマウスクリ
ックの組み合わせを使用して示す、ウェブページ上の場
所に作成される。
【0079】各レイヤは、ポインタのイメージを含む
が、そうでなければ透明である。次に、送信者は、標準
的なマウスのクリック手順とドラッグ手順を用いてポイ
ンタをターゲットウェブページの周囲を移動させること
ができる。各ポインタの存在、可視性、および位置につ
いての状態情報は、他の動的状態(スクロールバー位置
等)について上述した方法を使用して、各受信者ブラウ
ザに反映される。任意の送信者が、任意の分散ポインタ
の可視性および位置を制御することができる。
【0080】本発明によりコンテンツおよび状態を共有
するインフラストラクチャもまた、当業者には当然明白
なはずである機構を使用して、他の機能を促進するよう
に拡張することができる。たとえば、この発明では、コ
ントローラが、これを通して更新が中継されるインテリ
ジェント中央ロケーションとして機能することに留意す
る。したがって、コントローラは、共同ウェブ閲覧セッ
ションに価値を付加するように強化することができる。
エンハンスメントの例としては、純粋にDHTMLベー
スのチャット性能、純粋にDHTMLベースの、ユーザ
により動的に生成されたウェブコンテンツの共有、およ
びウェブページの外国ドメインからリモートユーザのブ
ラウザへのロード(URL共有化)がある。たとえば、
あるタイプのコンテンツに加入したユーザのみが特定の
更新を受信するように、ユーザのカテゴリをサポートす
る性能をコントローラに追加することは単純明快であ
る。さらに、各更新にタイムスタンプして保存すること
により、後に共同閲覧セッションを「再生」することが
可能になる。
【0081】本発明によって提供される枠組みにインテ
リジェントコントローラを有することで、共同的に閲覧
しているページのコンテンツを動的に変換することが可
能になる。たとえば、コントローラは、受信者に配布す
る前に、送信者によって受信される更新を変換するよう
に強化することができる。数例として、コントローラ
は、異なる参加者によって使用されている異なるブラウ
ザの銘柄またはバージョンについて調整するように、異
なる参加者の間での言語の相違を調整するように、また
はあるコンテンツへの加入またはセキュリティ方式に基
づいて各参加者が利用可能な閲覧を制御するように更新
を変換しうる。このような任意の変換の態様をイネーブ
ル、ディセーブル、または制御するために、ボタンまた
は(垂れ下がる)プルダウンメニューリスト等の制御手
段をモニタコントロールパネルに含めることができる。
代替として、専用の管理(おそらくウェブベースの)G
UIインタフェースをコントローラに提供して、このよ
うな種類の変換を制御することがより適切な場合もあ
る。
【0082】好ましい実施形態での連続ポーリング機構
をイネーブルするのではなく、おそらくボタンを押下す
ることによって1つの同期を明示的に開始する状況があ
ってもよいことも認識される。これは、単純な「リフレ
ッシュ」(受信者の場合)ボタンおよび/または「更新
送信」(送信者の場合)ボタンをモニタコントロールパ
ネルに追加することによって促進することができる。
【0083】この発明は、軽量技術(DHTML)およ
び単純な既存のプロトコル(HTTP、HTTPS、ま
たはおそらくSOAP)を使用して、ファイアウォール
侵入問題を回避しながら、コラボレーションを促進する
ことに留意されたい。したがって、この発明は、ハンド
ヘルド装置等の資源が限られた装置におけるコラボレー
ションを促進するために有利に用いることができる。こ
のような装置は、たとえば、Java(登録商標)また
はアクティブXコントローラに依存するより重いアプロ
ーチに対しては同程度には適さないかもしれない。より
重要なことは、本発明を標準かつ単純な機構を使用する
ことをターゲットとすることにより、潜在的なユーザの
基盤ははるかに大きい。
【0084】本発明は、当業者が本発明を製造し使用で
きることに関して説明され、特定の適用例および要件の
コンテキストにおいて提供された。好ましい実施形態に
対する様々な変更形態が、当業者には容易に明らかであ
り、本明細書に記載の原理は、本発明の精神および特許
請求の範囲から逸脱せずに他の実施形態および用途にも
適用することができる。したがって、本発明を本明細書
に記載の実施形態に限定する意図はなく、本発明は、本
明細書に開示した原理および特徴と一致する、併記の特
許請求の範囲の最も広い範囲と一致する。
【図面の簡単な説明】
【図1】 本発明による分散型共同ウェブ閲覧システム
のブロック図である。
【図2】 モニタおよびターゲットブラウザウィンドウ
のブロック図である。
【図3】 モニタウェブページ構造のブロック図であ
る。
【図4】 HTTPを使用するターゲットモニタ要求の
リスト例である。
【図5】 更新ファイルからの擬似コードである。
【図6】 図5の更新ファイルを生成するために、コン
トローラにより用いられる方法のフローーチャートであ
る。
【図7a】 コントロールパネルにおいてユーザによる
変更を処理し、モニタコントローラおよびモニタのター
ゲットモニタ構成要素を実施するために、モニタにより
用いられる方法のフローチャートである。
【図7b】 コントロールパネルにおいてユーザによる
変更を処理し、モニタコントローラおよびモニタのター
ゲットモニタ構成要素を実施するために、モニタにより
用いられる方法のフローチャートある。
【図7c】 コントロールパネルにおいてユーザによる
変更を処理し、モニタコントローラおよびモニタのター
ゲットモニタ構成要素を実施するために、モニタにより
用いられる方法のフローチャートである。
【図8】 ユーザセッション例のフローチャートであ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アラン・ダブリュ・エセンサー アメリカ合衆国、マサチューセッツ州、ア シュランド、ウィルバー・ドライブ 61 Fターム(参考) 5B075 KK02 KK07 NR02 NR13 PQ44 5B085 BE07

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数のクライアントコンピュータおよび
    サーバコンピュータを含むネットワークでのウェブコン
    テンツを共同的に閲覧する方法において、 第1のウェブブラウザインスタンスに表示されるウェブ
    ページの静的状態および動的状態をポーリングするステ
    ップと、 前記ネットワークを介して前記状態をコントローラに送
    信するステップと、 前記コントローラにおいて、前記静的状態および動的状
    態を含む更新メッセージを作成するステップと、 第2のウェブブラウザインスタンスにおいて、前記コン
    トローラをポーリングし、前記ネットワークを介して前
    記更新メッセージを受信するステップと、 前記第2のウェブブラウザインスタンスにおいて、前記
    更新メッセージ中の前記状態に従って前記ウェブページ
    を表示し、前記第2のウェブブラウザインスタンスを前
    記第1のウェブページインスタンスに動的に同期させる
    ステップとを備えたことを特徴とする方法。
  2. 【請求項2】 前記第1および第2のインスタンスから
    なる複合的なインスタンスを備えたことを特徴とする請
    求項1に記載の方法。
  3. 【請求項3】 前記状態をポーリングするステップは、
    前記第1のウェブブラウザインスタンスにおいて動作中
    のモニタにおいて実行され、 前記コントローラをポーリングするステップは、前記第
    2のウェブブラウザインスタンスにおいて実行されるこ
    とを特徴とする請求項1に記載の方法。
  4. 【請求項4】 検索されたターゲットウェブページは、
    サーバに格納されることを特徴とする請求項1に記載の
    方法。
  5. 【請求項5】 前記ポーリングするステップは、ポーリ
    ング要求によって実行されることを特徴とする請求項1
    に記載の方法。
  6. 【請求項6】 前記第1および第2のウェブブラウザイ
    ンスタンスは、前記クライアントコンピュータにおいて
    実行され、 サーバは、前記サーバコンピュータにおいて実行される
    ことを特徴とする請求項1に記載の方法。
  7. 【請求項7】 前記ウェブページは、前記第1のウェブ
    ブラウザインスタンスのユーザによって選択されること
    を特徴とする請求項1に記載の方法。
  8. 【請求項8】 前記ウェブページおよびすべてのウェブ
    ブラウザインスタンスは、前記共同的な閲覧セッション
    中に変更されないままであることを特徴とする請求項1
    に記載の方法。
  9. 【請求項9】 前記ポーリング要求に対する応答は、隠
    しブラウザフレーム、隠しレイヤ、または別のブラウザ
    ウィンドウにロードされることを特徴とする請求項4に
    記載の方法。
  10. 【請求項10】 前記隠しブラウザフレームはゼロ次元
    であることを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記コントローラは、前記更新メッセ
    ージを動的に変換することを特徴とする請求項1に記載
    の方法。
  12. 【請求項12】 前記第2のウェブブラウザインスタン
    スに表示される別のウェブページの静的状態および動的
    状態をポーリングするステップと、 前記ネットワークを介して前記状態を前記コントローラ
    に送信するステップと、 前記コントローラにおいて、前記静的状態および動的状
    態を含む更新メッセージを作成するステップと、 前記第1のウェブブラウザインスタンスにおいて、前記
    コントローラをポーリングし、前記ネットワークを介し
    て前記更新メッセージを受信するステップと、 前記第1のウェブブラウザインスタンスにおいて、前記
    更新メッセージ中の前記状態に従って他のウェブページ
    を表示して、前記第1のウェブブラウザインスタンスを
    前記第2のウェブブラウザインスタンスに動的に同期さ
    せるステップとをさらに備えたことを特徴とする請求項
    1に記載の方法。
JP2002079048A 2001-03-21 2002-03-20 ウェブコンテンツを共同的に閲覧する方法 Pending JP2003006158A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/814190 2001-03-21
US09/814,190 US20020138624A1 (en) 2001-03-21 2001-03-21 Collaborative web browsing

Publications (1)

Publication Number Publication Date
JP2003006158A true JP2003006158A (ja) 2003-01-10

Family

ID=25214393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002079048A Pending JP2003006158A (ja) 2001-03-21 2002-03-20 ウェブコンテンツを共同的に閲覧する方法

Country Status (2)

Country Link
US (1) US20020138624A1 (ja)
JP (1) JP2003006158A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005013618A1 (ja) * 2003-07-31 2005-02-10 Institute Of Tsukuba Liaison Co.,Ltd. ライブストリーミング放送方法、ライブストリーミング放送装置、ライブストリーミング放送システム、プログラム、記録媒体、放送方法及び放送装置
JP2007509408A (ja) * 2003-10-23 2007-04-12 マイクロソフト コーポレーション グラフィックスリモーティングシステムのための同期化されたグラフィックスデータおよびリージョンデータ
JP2007140768A (ja) * 2005-11-16 2007-06-07 Seiko Epson Corp 2以上の端末装置に対するウエブ情報の送信
JP2011170683A (ja) * 2010-02-19 2011-09-01 Yahoo Japan Corp Webシステム、方法及びプログラム
JP4791542B2 (ja) * 2005-06-30 2011-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション ポータル・ビュー内のポートレット・コンテンツを独立してリフレッシュするシステム、方法、及びプログラム(ポータル・ビュー内のポートレット・コンテンツの独立リフレッシュ)
JP2014510335A (ja) * 2011-02-12 2014-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータにより実施される方法およびコンピュータ・プログラム製品
US9218329B2 (en) 2005-06-30 2015-12-22 International Business Machines Corporation Independent submission of forms in a portal view
JP2020024712A (ja) * 2015-06-12 2020-02-13 ベルフェイス株式会社 コミュニケーション支援装置、方法、及びコンピュータプログラム

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6399529B1 (en) * 1999-06-14 2002-06-04 Ngk Insulators, Ltd. Electric-field-inducible deformable material
US8190670B2 (en) * 2001-04-16 2012-05-29 Microsoft Corporation Web site cobrowsing
IL142815A (en) * 2001-04-25 2010-06-16 Gal Trifon A method for dynamically changing one web page to another web page
JP4953518B2 (ja) * 2001-05-14 2012-06-13 ケープレックス・インク オブジェクト指向技術を用いた情報共有方法及び装置
US6862620B2 (en) * 2001-06-07 2005-03-01 International Business Machines Corporation Web page monitoring system and methods therefor
US20030061286A1 (en) * 2001-09-27 2003-03-27 Lin Jin Kun Co-browsing system including form and focal-point synchronization capabilities for both secure and non-secure web documents
US20030097448A1 (en) * 2001-11-21 2003-05-22 Menezes Francisco Jose Server control of hypertext transfer protocol client
KR100472202B1 (ko) * 2001-12-05 2005-03-08 한국전자통신연구원 아이 알 씨 프로토콜을 이용한 웹 공동 브라우징 시스템및 그 방법
US20030154212A1 (en) * 2002-01-28 2003-08-14 International Business Machines Corporation Method and apparatus for determining attributes among objects
EP1333387A1 (en) * 2002-02-05 2003-08-06 Siemens Aktiengesellschaft A method of data refreshing of a mark-up language document
US7139978B2 (en) * 2002-03-01 2006-11-21 Sap Ag Recording user interaction with an application
US7260784B2 (en) * 2003-05-07 2007-08-21 International Business Machines Corporation Display data mapping method, system, and program product
US8209608B1 (en) * 2003-05-16 2012-06-26 Adobe Systems Incorporated Method and system for presenting structured information in an interactive multimedia environment
JP3840202B2 (ja) * 2003-05-20 2006-11-01 キヤノン株式会社 通信端末、通信端末の制御方法、および通信端末の制御プログラム
US6975622B2 (en) * 2003-07-08 2005-12-13 Telcordia Technologies, Inc. Enhanced phone-based collaboration
FI20031358A0 (fi) * 2003-09-22 2003-09-22 Xortec Oy Menetelmä www-selaimen kauko-ohjaukseen
US20050256985A1 (en) * 2004-05-13 2005-11-17 Wildtangent, Inc. Sending progress information of other users for transmitted shared content
US8280948B1 (en) * 2004-06-08 2012-10-02 Persony Inc. System and method for enabling online collaboration amongst a plurality of terminals using a web server
US7623650B2 (en) 2004-06-30 2009-11-24 The Vanguard Group, Inc. Universal multi-browser interface for customer service representatives
US7945619B1 (en) 2004-09-20 2011-05-17 Jitendra Chawla Methods and apparatuses for reporting based on attention of a user during a collaboration session
US20070005752A1 (en) * 2005-06-29 2007-01-04 Jitendra Chawla Methods and apparatuses for monitoring attention of a user during a collaboration session
US7454434B1 (en) * 2004-10-04 2008-11-18 American Express Travel Related Services Company, Inc. System and method for stepped loading of web page content
US8271574B1 (en) * 2004-12-22 2012-09-18 Hewlett-Packard Development Company, L.P. Content sharing and collaboration
US20060168547A1 (en) * 2005-01-07 2006-07-27 International Business Machines Corporation Method and system for synchronizing content in multiple web browser windows
WO2006084963A1 (fr) * 2005-02-09 2006-08-17 Aduno Procede de teleconference interactive
US20060190608A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Method for the obtaining of deployment components to electronic devices
US20060224571A1 (en) 2005-03-30 2006-10-05 Jean-Michel Leon Methods and systems to facilitate searching a data resource
US7802176B2 (en) * 2005-07-01 2010-09-21 Microsoft Corporation Using state machines in navigation
US7991916B2 (en) * 2005-09-01 2011-08-02 Microsoft Corporation Per-user application rendering in the presence of application sharing
US7912207B2 (en) * 2005-12-21 2011-03-22 Avaya Inc. Data messaging during telephony calls
US7512880B2 (en) 2005-12-23 2009-03-31 Swift Creek Systems, Llc Method and system for presenting published information in a browser
US7577752B2 (en) * 2005-12-28 2009-08-18 International Business Machines Corporation Reliable page flow control
US20070168420A1 (en) * 2005-12-30 2007-07-19 Morris Robert P Method and apparatus for providing customized subscription data
US7587450B2 (en) 2006-02-01 2009-09-08 Swift Creek Systems, Llc HTTP publish/subscribe communication protocol
US7961189B2 (en) * 2006-05-16 2011-06-14 Sony Corporation Displaying artists related to an artist of interest
US20070271274A1 (en) * 2006-05-16 2007-11-22 Khemdut Purang Using a community generated web site for metadata
US7750909B2 (en) * 2006-05-16 2010-07-06 Sony Corporation Ordering artists by overall degree of influence
US7774288B2 (en) * 2006-05-16 2010-08-10 Sony Corporation Clustering and classification of multimedia data
US20070271286A1 (en) * 2006-05-16 2007-11-22 Khemdut Purang Dimensionality reduction for content category data
US9330170B2 (en) * 2006-05-16 2016-05-03 Sony Corporation Relating objects in different mediums
US7840568B2 (en) * 2006-05-16 2010-11-23 Sony Corporation Sorting media objects by similarity
US8103247B2 (en) 2006-10-31 2012-01-24 Microsoft Corporation Automated secure pairing for wireless devices
US20080104170A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Collaborative Networks for Parallel Downloads of Content
US9330190B2 (en) 2006-12-11 2016-05-03 Swift Creek Systems, Llc Method and system for providing data handling information for use by a publish/subscribe client
US7685140B2 (en) * 2007-01-30 2010-03-23 International Business Machines Corporation Dynamic information systems
US20080183733A1 (en) * 2007-01-30 2008-07-31 International Business Machines Corporation Method, system, and program product for the creation and use of a unified dynamic information system
US7844616B2 (en) * 2007-01-30 2010-11-30 International Business Machines Corporation Method, system, and program product for discovering relevant information in a dynamic information system
US20080256441A1 (en) * 2007-04-16 2008-10-16 Yahoo! Inc. Flash rich textfields
US20080270546A1 (en) * 2007-04-30 2008-10-30 Morris Robert P Methods And Systems For Communicating Task Information
US8397154B2 (en) * 2007-06-08 2013-03-12 Luc Haldimann Remotely controlling a browser program
US8782527B2 (en) 2007-06-27 2014-07-15 Microsoft Corp. Collaborative phone-based file exchange
US20090037517A1 (en) * 2007-08-02 2009-02-05 Randall Wayne Frei Method and system to share content between web clients
JP2009116635A (ja) * 2007-11-07 2009-05-28 Nec Corp Web共有システム、クライアント装置及びそれらに用いるWeb共有方法
US20100306642A1 (en) * 2007-11-23 2010-12-02 Koninklijke Philips Electronics N.V. Co-browsing (java) scripted html documents
US8849914B2 (en) * 2007-12-20 2014-09-30 The Vanguard Group, Inc. System and method for synchronized co-browsing by users in different web sessions
US20090172100A1 (en) * 2007-12-31 2009-07-02 International Business Machines Corporation Deriving and communicating attention spans in collaborative applications
US7707513B2 (en) * 2008-02-06 2010-04-27 Oracle International Corporation System for streaming data from server to multiple slave browser windows in client computer through a master browser window
US8650154B2 (en) * 2008-02-19 2014-02-11 International Business Machines Corporation Document synchronization solution
US8504615B2 (en) * 2008-03-03 2013-08-06 Saban Digital Studios, LLC Method and apparatus for navigation and use of a computer network
US8725679B2 (en) * 2008-04-07 2014-05-13 International Business Machines Corporation Client side caching of synchronized data
US20090292618A1 (en) * 2008-05-22 2009-11-26 Ginza Walk, Llc System & method for multiple users to conduct online browsing & shopping together in real time
US8782797B2 (en) * 2008-07-17 2014-07-15 Microsoft Corporation Lockbox for mitigating same origin policy failures
US8924863B2 (en) * 2008-09-30 2014-12-30 Lenovo (Singapore) Pte. Ltd. Collaborative web navigation using document object model (DOM) based document references
US8706811B2 (en) * 2008-09-30 2014-04-22 Lenovo (Singapore) Pte. Ltd. Preventing redirection loops during collaborative web browsing
JP4748819B2 (ja) * 2009-01-28 2011-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム
US20100250756A1 (en) * 2009-03-31 2010-09-30 Morris Robert P Methods, Systems, And Computer Program Products For Establishing A Shared Browsing Session Between A User Of A Web Browser With A User Of Another Web Browser
US9367123B2 (en) * 2010-01-29 2016-06-14 International Business Machines Corporation Systems and methods for collaborative browsing on the telecom web
JP5682996B2 (ja) * 2010-02-04 2015-03-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法
US8850354B1 (en) * 2010-05-21 2014-09-30 Google Inc. Multi-window web-based application structure
US8892632B2 (en) * 2010-06-04 2014-11-18 Microsoft Corporation Client-server interaction frequency control
US8495485B2 (en) 2010-06-30 2013-07-23 International Business Machines Corporation System, method, and apparatus for location identification of content
US8973021B1 (en) * 2010-06-30 2015-03-03 Emc Corporation Method and system of facilitating Java communication
US8954554B2 (en) * 2010-07-09 2015-02-10 General Electric Company Systems and methods for transferring remote context
JP2012038210A (ja) * 2010-08-10 2012-02-23 Sony Corp 情報処理装置、情報処理方法、コンピュータプログラム及びコンテンツ表示システム
US20120047449A1 (en) * 2010-08-17 2012-02-23 International Business Machines Corporation Integrating a user browsing feed into a co-browsing session
US9043706B2 (en) * 2010-08-31 2015-05-26 Anders Nancke-Krogh System and method for using state replication between application instances to provide a collaborative desktop environment
US8806024B1 (en) * 2010-09-14 2014-08-12 OMG Holdings, Inc. Bi-directional sharing of a document object model
EP2515247A1 (en) * 2011-04-22 2012-10-24 Alcatel Lucent Internet browsing system
US9652810B2 (en) * 2011-06-24 2017-05-16 Facebook, Inc. Dynamic chat box
JP5889559B2 (ja) * 2011-07-13 2016-03-22 ソニー株式会社 情報処理方法および情報処理システム
KR101894878B1 (ko) 2011-08-16 2018-09-04 엘지전자 주식회사 디스플레이기기 및 디스플레이기기의 컨텐츠 제공 방법
JP5936103B2 (ja) 2011-10-04 2016-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム
US20120209694A1 (en) * 2011-11-05 2012-08-16 The Swap Hub LLC Virtual communication platform
KR20130065777A (ko) * 2011-11-29 2013-06-20 한국전자통신연구원 인스펙터 스크립트 삽입을 통한 웹 콘텐츠 공유 장치 및 방법
US20130198266A1 (en) * 2012-01-30 2013-08-01 5O9, Inc. Facilitating communication between web-enabled devices
US20140157104A1 (en) * 2012-11-30 2014-06-05 Soaric Ab Dynamic sharing and updating of a web page
US9613011B2 (en) 2012-12-20 2017-04-04 Cable Television Laboratories, Inc. Cross-reference of shared browser applications
US9639623B2 (en) * 2012-12-20 2017-05-02 Cable Television Laboratories, Inc. Method for remotely controlling a video playing within a first web page at a first device from a second device using a document object model
US9401973B2 (en) * 2013-06-18 2016-07-26 Vmware, Inc. Systems and methods for transmitting data
US9596319B2 (en) * 2013-11-13 2017-03-14 T1V, Inc. Simultaneous input system for web browsers and other applications
US9712603B2 (en) * 2013-11-26 2017-07-18 Microsoft Technology Licensing, Llc Remote control of a shared application
US10671337B2 (en) * 2015-09-25 2020-06-02 Oracle International Corporation Automatic sizing of agent's screen for html co-browsing applications
US10038788B1 (en) 2017-05-09 2018-07-31 Oracle International Corporation Self-learning adaptive routing system
US10996839B2 (en) * 2019-05-20 2021-05-04 Microsoft Technology Licensing, Llc Providing consistent interaction models in communication sessions
US11836472B2 (en) * 2021-07-09 2023-12-05 Dell Products L.P. System and method for browser based polling
WO2023244557A1 (en) * 2022-06-14 2023-12-21 Glance Networks, Inc. Restricted editing and edit logging in a co-browse session

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801689A (en) * 1996-01-22 1998-09-01 Extended Systems, Inc. Hypertext based remote graphic user interface control system
IL126909A0 (en) * 1996-05-07 1999-09-22 Webline Communications Corp Method and apparatus for coordinating internet multi-media content with telephone and audio communications
US5862330A (en) * 1996-07-16 1999-01-19 Lucent Technologies Inc. Technique for obtaining and exchanging information on wolrd wide web
US5809247A (en) * 1996-07-22 1998-09-15 Intel Corporation Method and apparatus for guided touring of internet/intranet websites
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US6035332A (en) * 1997-10-06 2000-03-07 Ncr Corporation Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants
US5954798A (en) * 1997-10-06 1999-09-21 Ncr Corporation Mechanism for dependably managing web synchronization and tracking operations among multiple browsers
US5941957A (en) * 1997-10-06 1999-08-24 Ncr Corporation Dependable web page synchronization mechanism
US6009429A (en) * 1997-11-13 1999-12-28 International Business Machines Corporation HTML guided web tour
US6151622A (en) * 1998-02-02 2000-11-21 International Business Machines Corp. Method and system for portably enabling view synchronization over the world-wide web using frame hierarchies

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005051703A (ja) * 2003-07-31 2005-02-24 Institute Of Tsukuba Liaison Co Ltd ライブストリーミング放送方法、ライブストリーミング放送装置、ライブストリーミング放送システム、プログラム、記録媒体、放送方法及び放送装置
WO2005013618A1 (ja) * 2003-07-31 2005-02-10 Institute Of Tsukuba Liaison Co.,Ltd. ライブストリーミング放送方法、ライブストリーミング放送装置、ライブストリーミング放送システム、プログラム、記録媒体、放送方法及び放送装置
JP2007509408A (ja) * 2003-10-23 2007-04-12 マイクロソフト コーポレーション グラフィックスリモーティングシステムのための同期化されたグラフィックスデータおよびリージョンデータ
US9959264B2 (en) 2005-06-30 2018-05-01 International Business Machines Corporation Independent submission of forms in a portal view
US10289745B2 (en) 2005-06-30 2019-05-14 International Business Machines Corporation Independently refreshing a plurality of portlets in a portal page by using a refresh tag embedded in portlet markup in each portlet to call a refresh servlet to write a refresh controller
JP4791542B2 (ja) * 2005-06-30 2011-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション ポータル・ビュー内のポートレット・コンテンツを独立してリフレッシュするシステム、方法、及びプログラム(ポータル・ビュー内のポートレット・コンテンツの独立リフレッシュ)
US10235352B2 (en) 2005-06-30 2019-03-19 International Business Machines Corporation Independent submission of forms in a portal view
US9218329B2 (en) 2005-06-30 2015-12-22 International Business Machines Corporation Independent submission of forms in a portal view
JP2007140768A (ja) * 2005-11-16 2007-06-07 Seiko Epson Corp 2以上の端末装置に対するウエブ情報の送信
JP2011170683A (ja) * 2010-02-19 2011-09-01 Yahoo Japan Corp Webシステム、方法及びプログラム
US9367635B2 (en) 2011-02-12 2016-06-14 International Business Machines Corporation Contact center co-browsing for a mobile device
JP2014510335A (ja) * 2011-02-12 2014-04-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータにより実施される方法およびコンピュータ・プログラム製品
JP2020024712A (ja) * 2015-06-12 2020-02-13 ベルフェイス株式会社 コミュニケーション支援装置、方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
US20020138624A1 (en) 2002-09-26

Similar Documents

Publication Publication Date Title
JP2003006158A (ja) ウェブコンテンツを共同的に閲覧する方法
US20100306642A1 (en) Co-browsing (java) scripted html documents
EP2115976B1 (en) Method and system for resource-based synchronization between endpoints in a web-based real time collaboration
US20030061286A1 (en) Co-browsing system including form and focal-point synchronization capabilities for both secure and non-secure web documents
JP4762467B2 (ja) ダイナミクス・マネージャを備えたコンピュータ・システムによるアクティビティに基づくコラボレーションのための方法及びその装置
JP4540689B2 (ja) ウェブブラウザ、データ処理装置、およびウェブページデータ処理方法
US8185828B2 (en) Efficiently sharing windows during online collaborative computing sessions
US7149776B1 (en) System and method for real-time co-browsing
US6785708B1 (en) Method and apparatus for synchronizing browse and chat functions on a computer network
US8407290B2 (en) Dynamic data sharing using a collaboration-enabled web browser
US20050086344A1 (en) Method and system for unrestricted, symmetric remote scripting
US9639623B2 (en) Method for remotely controlling a video playing within a first web page at a first device from a second device using a document object model
US20050102358A1 (en) Web page monitoring and collaboration system
KR20050054874A (ko) 동일한 웹 페이지를 써핑하는 사용자간의 통신 엑세스
KR20010085381A (ko) 다큐먼트 콘텐츠를 선택적으로 제공하는 방법과 시스템,공동 작업 웹 브라우징 설립 방법 및, 프로그램 기억 장치
WO1999046697A1 (fr) Interverrouillage par http d'un outil accessoire agent a applications integrees sur serveur web
US8886819B1 (en) Cross-domain communication in domain-restricted communication environments
JP2003526837A (ja) 活動状態によるコラボレーションを装備した分散コンピュータシステムにおいてデータ変更要求を順位付け、データの一貫性を維持するための方法ならびにその装置
JP2000215173A (ja) ブラウザ共有方法及びシステム
JP2003015793A (ja) ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示する方法、ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示するシステム、およびこのシステムを実現するためのユーザインタフェースプレイヤープログラム
US20140280699A1 (en) Method and apparatus for enabling discovery and communications between unrelated browser sessions
Lowet et al. Co-browsing dynamic web pages
CN102915251B (zh) 一种多页面浏览器处理消息的方法和装置
JP2015184827A (ja) ブラウジング共有サーバ、ブラウジング共有システム、ブラウジング共有方法、ブラウジング共有プログラム
US8683608B2 (en) Communication method, display apparatus, moderator terminal apparatus, user terminal apparatus, and multi-user communication system including the same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071022