(57)【特許請求の範囲】
【請求項１】
Ｗｅｂサーバからデータを取得する方法であって、
ＷｅｂブラウザがＷｅｂサーバからのデータのリクエストを開始するステップと、
前記リクエストを、マルチユーザ共有状態サーバと通信し、複数のＷｅｂブラウザに同じページを自動的にロードさせるためのクライアント手段と、前記Ｗｅｂサーバに接続して、前記同じページを前記自動的にロードさせるために使用するアプレットを挿入する転送手段と含むプロキシに送るステップと、
前記転送手段が前記リクエストを前記Ｗｅｂサーバに転送するステップと、
前記転送手段が前記Ｗｅｂサーバからデータを受信し格納するステップと、
前記転送手段が前記データに前記アプレットを挿入するステップと、
前記データと前記アプレットを前記Ｗｅｂブラウザに配信するステップと、
前記Ｗｅｂブラウザが前記プロキシから配信された前記アプレットを実行することにより、前記クライアント手段との接続を開始および維持させ、前記アプレットが前記Ｗｅｂブラウザで現在どのページが表示されているかを前記クライアント手段に通知し、前記ページが表示されなくなった場合、前記ページが表示されなくなったことを前記クライアント手段に通知して、前記クライアント手段との接続を終了するステップと、
前記クライアント手段が現在どのページが表示されているかの前記通知または前記ページが表示されなくなった通知を前記マルチユーザ共有状態サーバに転送するステップと、
前記アプレットの実行結果に応じて前記現在どのページが表示されているかの通知または前記ページが表示されなくなった通知を前記クライアント手段に送信し、前記クライアント手段は、フォロワ側クライアント手段の状態に応じて前記マルチユーザ共有状態サーバまたは前記クライアント手段から、前記フォロワ側クライアント手段へとページ変更を通知し、前記フォロワ側クライアント手段が、フォロワ側のＷｅｂブラウザで実行されているアプレットに前記ページ変更の通知を転送するステップと、
を含む方法。
【請求項２】
Ｗｅｂサーバからデータを取得するシステムであって、
前記Ｗｅｂサーバからのデータのリクエストを開始するＷｅｂブラウザと、
前記Ｗｅｂブラウザから前記リクエストを受け取って前記Ｗｅｂサーバに転送し、さらに、
マルチユーザ共有状態サーバと通信し、複数のＷｅｂブラウザに同じページを自動的にロードさせるためのクライアント手段と、前記Ｗｅｂサーバに接続して、前記同じページを前記自動的にロードさせるために使用するアプレットを挿入する転送手段と含むプロキシと、
前記転送手段で前記データに前記アプレットを挿入する手段と、
前記転送手段から前記データと前記アプレットを前記Ｗｅｂブラウザに配信する手段と、  前記Ｗｅｂブラウザが前記プロキシから配信された前記アプレットを実行することにより、前記クライアント手段との接続を開始および維持させ、前記アプレットが前記Ｗｅｂブラウザで現在どのページが表示されているかを前記クライアント手段に通知し、前記ページが表示されなくなった場合、前記ページが表示されなくなったことを前記クライアント手段に通知して、前記クライアント手段との接続を終了する手段と、
前記クライアント手段が現在どのページが表示されているかの前記通知または前記ページが表示されなくなった通知を前記マルチユーザ共有状態サーバに転送する手段と、
前記アプレットの実行結果に応じて前記現在どのページが表示されているかの通知または前記ページが表示されなくなった通知を前記クライアント手段に送信し、前記クライアント手段は、フォロワ側クライアント手段の状態に応じて前記マルチユーザ共有状態サーバまたは前記クライアント手段から、前記フォロワ側クライアント手段へとページ変更を通知し、前記フォロワ側クライアント手段が、フォロワ側のＷｅｂブラウザで実行されているアプレットに前記ページ変更の通知を転送する手段と、
を含むシステム。
【請求項３】
Ｗｅｂサーバからデータを取得するためのコンピュータ・プログラムを記憶したコンピュータ可読な記憶媒体であって、
前記コンピュータ・プログラムはコンピュータに、
ＷｅｂブラウザがＷｅｂサーバからのデータのリクエストを開始する手順と、
前記リクエストを、マルチユーザ共有状態サーバと通信し、複数のＷｅｂブラウザに同じページを自動的にロードさせるためのクライアント手段と、前記Ｗｅｂサーバに接続して、前記同じページを前記自動的にロードさせるために使用するアプレットを挿入する転送手段と含むプロキシに送る手順と、
前記転送手段が前記リクエストを前記Ｗｅｂサーバに転送する手順と、
前記転送手段が前記Ｗｅｂサーバからデータを受信し格納する手順と、
前記転送手段が前記データに前記アプレットを挿入する手順と、
前記データと前記アプレットを前記Ｗｅｂブラウザに配信する手順と、
前記Ｗｅｂブラウザが前記プロキシから配信された前記アプレットを実行することにより、前記クライアント手段との接続を開始および維持させ、前記アプレットが前記Ｗｅｂブラウザで現在どのページが表示されているかを前記クライアント手段に通知し、前記ページが表示されなくなった場合、前記ページが表示されなくなったことを前記クライアント手段に通知して、前記クライアント手段との接続を終了する手順と、
前記クライアント手段が現在どのページが表示されているかの前記通知または前記ページが表示されなくなった通知を前記マルチユーザ共有状態サーバに転送する手順と、
前記アプレットの実行結果に応じて前記現在どのページが表示されているかの通知または前記ページが表示されなくなった通知を前記クライアント手段に送信し、前記クライアント手段は、フォロワ側クライアント手段の状態に応じて前記マルチユーザ共有状態サーバまたは前記クライアント手段から、前記フォロワ側クライアント手段へとページ変更を通知し、前記フォロワ側クライアント手段が、フォロワ側のＷｅｂブラウザで実行されているアプレットに前記ページ変更の通知を転送する手順と、
を実行させる、コンピュータ可読な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にはコンピュータ・ソフトウェアに関し、特にＷＷＷ（ワールドワイド・ウェブ）でマルチユーザ・コラボレーション（共同操作）を可能にする方法及びシステム、中でも認知、ツアー及び会議をポータブルな形で可能にする方法及びシステムに関する。
【０００２】
【従来の技術】
現在、供給者から消費者にデータを配信するために用いられている手法は、"プッシュ"及び"プル"の２つである。PointCast、Castanet、TIB等のサービスによって用いられている"プッシュ"・モデルでは、情報はソースで利用できるようになったときには受信側に送られる。Excite等のサービスによって用いられている"プル"・モデルでは、データは明示的リクエストに応答して受信側に転送されるだけである。これら２つの方法は、ランダム・サーチのサポート（"プル"）から動的更新情報の配信（"プッシュ"）まで、様々なデータ取得タスクで他より優れている。
【０００３】
しかしこれらデータ取得メタフォは、インターネット上、複数のユーザ間でリアルタイム・コラボレーションをサポートするには不充分である。このようなアプリケーションには、共有ホワイトボード、テキスト及びオーディオ・チャット、共有スライド・ショー、ビデオ、通信教育及びＷｅｂページの共同ブラウズ等がある。これらのアプリケーションはユーザ・グループを確立し、情報を交換して、あるグループの全てのメンバが一貫した情報を見ること（例えば同じホワイトボード・イメージを見る、互いのテキスト／オーディオを見る、スライド／ビデオを同期した形で見る、同じＷｅｂページを見る等）ができるようにする必要性にその特徴がある。実際、共有状態の一貫した更新内容が各クライアントに"プッシュ"される。同時に、各ユーザが任意のＷｅｂページをダウンロード（"プル"のメタフォ）し、その情報を共同型のアプリケーションとグループに提示することによって情報を取得する自由を与える必要がある。
【０００４】
通常、こうした共同システムはスタンドアロン型アプリケーションとして実行されるが、これは、具体的なデータ・タイプとそれらの特別な"プッシュ"及び"プル"の要件を交換する必要があるからである。確かにこうしたアプリケーションはそれぞれのカスタム・ユーザ・インタフェースを提供するが、既存のツールとの相互運用はできない。
【０００５】
アメリカ・オンライン（America Online）のＶＰ（Virtual Places）のようなシステムは、コラボレーションをNetscape Navigator等既存のＷＷＷブラウザに統合する試みを行っている。コラボレーションのためにユーザが新しいＷｅｂページまたはスライドを見る必要があるとき、このシステムはＷｅｂブラウザと直接通信し、特定のＷｅｂページを表示することをブラウザに指示する。この通信を行うために、ＶＰは特定のＷｅｂブラウザによりエクスポートされたＤＤＥ（動的データ交換）インタフェースに依存する。アプリケーションはＤＤＥにより、特定のエンドポイント・アプリケーションによってサポートされるように、定義済みイベント・セットを交換することができる。
【０００６】
ＤＤＥを使用することは、しかしＶＰの機能を制限することである。第１にＤＤＥはMicrosoft Windowsプラットフォームでしか利用できない。更にＤＤＥインタフェースはアプリケーションが限定されるので、ＶＰによって用いられる特定のインタフェースしかNetscape Navigatorブラウザとは共同しない。まとめるとＶＰシステムは、ＷＷＷとのコラボレーションを統合するポータブルなメカニズムは提供しない。
【０００７】
従ってコラボレーション機能（情報の"プッシュ"及び"プル"の両方）をＷＷＷコンテンツにポータブルに追加する方法及びシステムが必要である。特に"プル"・メカニズムを介して任意のＷｅｂコンテンツにアクセスする自由を保つ"プッシュ"・メカニズムを介してデータを取得するために、共有状態サーバとの一貫した接続を維持する必要がある。更に、他の全てのＷｅｂコンテキストがハードウェア・プラットフォーム全体及びブラウザの実現形態全体の両方でポータブルであるのと同じ形で、コラボレーションをポータブルな形で実現する必要がある。
【０００８】
本発明の目的は、コラボレーション環境の外部の任意情報へのアクセスを有効にすると同時に、共有状態システムへの一貫したリンクを維持する方法を提供することである。
【０００９】
本発明の他の目的は、共同型アプリケーションが既存の（非共同型）アプリケーションと、これら既存のアプリケーションを変更せずに対話できるようにすることである。
【００１０】
本発明の他の目的は、異なるハードウェア、オペレーティング・システム、及び実行環境でコラボレーションをポータブルな形でできるようにすることである。
【００１１】
前記の目的を達成するため、またここで概略を述べる本発明の目的に従って、プロキシ及び共有状態サーバを使用して既存のＷｅｂブラウザ内でコラボレーションを可能にする方法及びシステムが開示される。
【００１２】
図１を参照する。本発明を実現するために利用できるデータ処理システム８が示してある。データ処理システム８には、ＬＡＮ（ローカル・エリア・ネットワーク）１０、３２等の複数のネットワークを追加できる。ネットワークはそれぞれ、好適には複数の個別コンピュータ１２、３０を含む。もちろん当業者には明らかなように、ホスト・プロセッサに接続された複数のＩＷＳ（高性能ワークステーション）をこのようなネットワークそれぞれに利用することもできる。前記ネットワークはそれぞれ、共有メモリ、共有記憶装置、相互接続ネットワーク等の通信媒体を介して接続される複数のプロセッサで構成できる。このようなデータ処理システムでは一般的であるが、独立した各コンピュータは、記憶装置１４やプリンタ／処理装置１６に接続でき、マウス１７等のポインティング・デバイスを備えることもできる。
【００１３】
データ処理システム８はまた、メインフレーム・コンピュータ１８等、好適には通信リンク２２によりＬＡＮ１０に接続できる複数のメインフレーム・コンピュータを追加できる。メインフレーム・コンピュータ１８はまた、ＬＡＮ１０のリモート記憶装置としても使用できる記憶装置２０に接続できる。同様にＬＡＮ１０は通信リンク２４を介して、サブシステム制御装置／通信コントローラ２６及び通信リンク３４を通して、ゲートウェイ・サーバ２８に接続できる。ゲートウェイ・サーバ２８は好適にはＬＡＮ３２をＬＡＮ１０にリンクする役割を持つＩＷＳである。
【００１４】
ＬＡＮ３２及びＬＡＮ１０に関しては、リソース・オブジェクトのリソース・マネージャまたはライブラリ・サービスが格納されていると、複数の文書またはリソース・オブジェクトを記憶装置２０内に格納でき、メインフレーム・コンピュータ１８によって制御できる。もちろん当業者には明らかなように、メインフレーム・コンピュータ１８はＬＡＮ１０から地理的に遠く離れた場所に置け、同様にＬＡＮ１０はＬＡＮ３２からかなりの距離離れていてもよい。例えばＬＡＮ３２はカリフォルニアに、ＬＡＮ１０はノース・カロライナに、メインフレーム・コンピュータ１８はニューヨークに置ける。
【００１５】
本発明を採用したソフトウェア・プログラム・コードは通常、開発者が配布のためにアクセスするスタンドアロン型ワークステーションまたはＬＡＮサーバの記憶装置１４のメモリに格納される。ソフトウェア・プログラム・コードは、ディスケットまたはＣＤ−ＲＯＭ等、データ処理システムと併用されるこれまでの様々な媒体に組み込むことができ、また１つのコンピュータ・システムのメモリから何らかのネットワークを通して他のコンピュータ・システムに、その他のシステムのユーザが使用するように配布することもできる。ソフトウェア・コードを媒体に組み込む、或いはまたソフトウェア・コードを配布するこのような手法及び方法は周知の通りであり、ここでは詳細にはふれない。
【００１６】
図２を参照する。図のとおりＷｅｂブラウザと統合される共同システムの基本要素が示してある。ＭＵＳＳＳ（マルチユーザ共有状態サーバ）２０１は１組のユーザを代表して共同サービスを提供する。このサーバは共同者（コラボレータ）間の情報交換を促進する役割を担う。図示していないが、ＭＵＳＳＳは複数の相互接続サーバで構成でき、それらは共にＭＵＳＳＳによって用意されるサービスを提供することは理解されよう。
【００１７】
プロキシ２０２は各クライアント・ホスト上で動作する。プロキシ２０２はＭＵＳＳＳ２０１と通信するクライアント・ソフトウェア２０３を含む。プロキシは好適な実施例ではクライアント・ホストに存在するが、他の実施例ではプロキシを周知のサーバ上等他のホストに置くこともできる。この通信でクライアントは共同セッションに情報を提供し、共同する他の参加者から情報を受信する。プロキシ２０２はまた、ローカルＷｅｂブラウザ２０５からＷｅｂページ・リクエストを受け取り、対応する宛先のＷｅｂサーバ２０６に転送する転送ソフトウェア２０４を含む。転送ソフトウェア２０４は、取得されたデータをＷｅｂブラウザ２０５に配信する前に操作する。
【００１８】
最後にＷｅｂブラウザ２０５は、転送ソフトウェア２０４を介してＷｅｂサーバ２０６から取得されたデータを表示する。ブラウザ２０５は、転送ソフトウェア２０４によって取得されたデータに組み込まれたアプレット２０７を実行する。アプレット２０７はプロキシ２０２のクライアント・ソフトウェア２０３との接続２０８を維持する。接続２０８上、アプレットは共同セッションからコマンドを受信し、クライアント・ソフトウェア２０３が共同セッションに配布できる情報を与える。通常、アプレット２０７はＷｅｂブラウザにソフトウェアを、ブラウザ及びプラットフォームに依存しない形で配信するための標準的なメカニズムであるプログラミング言語、ＪａｖａまたはJavaScriptで書かれる。
【００１９】
図３を参照する。ＷｅｂブラウザによってＷｅｂデータがどのように取得されるかを表すフローチャートが示してある。ブロック３０１でＷｅｂブラウザは、プロキシ内部に組み込まれた転送ソフトウェアにデータ・リクエストを転送する。ブロック３０２で転送ソフトウェアは対応するＷｅｂサーバとの接続を開始する。ブロック３０３でＷｅｂサーバはリクエストを受信し転送ソフトウェアにデータを転送する。ブロック３０４で転送ソフトウェアはＷｅｂサーバからデータを受信し、データにアプレットを挿入する。ブロック３０５で転送ソフトウェアは取得されたデータを（挿入されたアプレットと共に）ブラウザに渡す。ブロック３０６でブラウザはデータを受信、解析し、データを表示してアプレットを実行する。この手順は３０７で終了する。図示していないが、ブロック３０３、３０４及び３０５は、データがＷｅｂサーバから転送ソフトウェア、Ｗｅｂブラウザへと流れるので、同時に生じることもあることは理解されよう。アプレットは好適な実施例では転送ソフトウェアによって挿入されるが、他の実施例ではＷｅｂサーバによってアプレットが挿入されるか、またはページ内に静的に存在してもよい。
【００２０】
アプレットは、Ｗｅｂブラウザに任意のコンテンツがロードされていても、Ｗｅｂブラウザがコラボレーションとリンクできるように、クライアント・ソフトウェア（図２参照）との接続を開始する役割を担う。アプレットがＷｅｂサーバから取得されたデータに挿入されるとき、転送ソフトウェアは、アプレットをクライアント・ソフトウェアにどのように接続するかを指定するパラメータを与えることができる。またＷｅｂページに同時に表示できる複数の文書を表す"フレーム"が含まれるとき、複数のアプレットを同時にアクティブにすることができる。その結果、最初に実行されるアプレットは自体をグローバル変数に置き、そのため複数のアプレットは１つのＷｅｂブラウザ内からクライアント・ソフトウェアと同時に通信することはない。
【００２１】
アプレットは一度実行されると、"addURL"メッセージを送り、ブラウザ・ウィンドウで現在どのページが表示されているかをクライアント・ソフトウェアに通知する。アプレットは終了すると"removeURL"メッセージを送り、ページが表示されなくなったことをクライアント・ソフトウェアに通知する。一貫した情報を取得しまた格納するために、それぞれ"readData"、"writeData"のメッセージをプロキシとの間で送信できる。最後にアプレットは、例えば新しいＷｅｂページをブラウザにロードするリクエスト等、クライアント・ソフトウェアからのコマンドをチェックする。
【００２２】
図４を参照する。Ｗｅｂブラウザで実行されるときに転送ソフトウェアによって挿入されたアプレットによって実行される操作を表すフローチャートが示してある。判断ブロック４０１でアプレットはグローバル変数がヌルかどうか確認する。判断ブロック４０１の応答がＹｅｓの場合、ブロック４０２でアプレットはグローバル変数を初期化して自体をポイントする。ブロック４０３でアプレットは転送ソフトウェアによって与えられた接続パラメータを取得する。ブロック４０４でアプレットはクライアント・ソフトウェアへの接続を開始する。ブロック４０５でアプレットは"addURL"メッセージを、現在のページのＵＲＬをパラメータとしてその接続を通してクライアント・ソフトウェアに送る。この時点でアプレットはブロック４０６、４０８及び４１０を通して３つの同時実行パスを開始している。図５を参照する。判断ブロック４０６でアプレットは新しいＵＲＬをロードするコマンドがクライアント・ソフトウェアから受信されたかどうか確認する。判断ブロック４０６への応答がＹｅｓならブロック４０７でアプレットは新しいページをロードすることをブラウザに通知し、次に判断ブロック４０６に戻る。同時にブロック４０８（図６）でアプレットは、それが他のアプレットからＵＲＬを追加するまたは削除するリクエストを受信したかどうか確認する。判断ブロック４０８への応答がＹｅｓならブロック４０９でアプレットは"addURL"または"removeURL"のメッセージをクライアント・ソフトウェアとのその接続を通して送り、判断ブロック４０８に戻る。同時に判断ブロック４１０（図７）でアプレットはブラウザから停止メッセージが受信されたかどうか確認する。判断ブロック４１０への応答がＮｏなら、手順は判断ブロック４１０に戻る。判断ブロック４１０への応答がＹｅｓならブロック４１１でアプレットは"removeURL"メッセージを、現在のページのＵＲＬをパラメータとしてクライアント・ソフトウェアに送る。ブロック４１２でアプレットはクライアント・ソフトウェアへの接続を終了する。ブロック４１３でアプレットはグローバル変数をヌルに戻す。次にアプレットはブロック４１４で終了する。
【００２３】
続いて図４を参照する。判断ブロック４０１への答えるがＮｏならブロック４１５でアプレットはグローバル変数によって表されるアプレットにＵＲＬを追加することを通知する。この時点でアプレットはブロック４１６、４１７を通して２つの同時実行パスを開始している。判断ブロック４１６でアプレットはグローバル変数がヌルかどうか確認する。判断ブロック４１６への応答がＮｏなら手順はブロック４１６に戻る。判断ブロック４１６への応答がＹｅｓなら手順はブロック４０２に進む。同時にブロック４１７でアプレットはブラウザから停止メッセージが受信されたかどうか確認する。判断ブロック４１７への応答がＮｏなら手順は判断ブロック４１７に戻る。判断ブロック４１７への応答がＹｅｓならブロック４１８でアプレットはグローバル変数によって表されるアプレットにこのＵＲＬを削除することを通知する。アプレットは次に４１４で終了する。
【００２４】
この共同システム内でユーザは、同じページを現在見ているかどうかに応じて互いに共同することができる。クライアント・ソフトウェアは、"addURL"または"removeURL"通知を受け取ったとき、その情報をＭＵＳＳＳに転送する。各ユーザによって現在表示されているページに関する情報を受け、ＭＵＳＳＳは共同データ（テキスト及びオーディオ・チャット、ホワイトボード・データ等を含む）が、それぞれのブラウザ上で文書を同じように見ているユーザ間で、またはアプリケーションによって決定されるユーザのグループ間で交換されるようにする役割を担う。
【００２５】
この共同システムを通して、ユーザは"ツアー"に参加することができる。このツアーでは、指定されたリーダが新しいページをリーダのブラウザに"プル"すると、ユーザが見るページに一貫性を持たせるために共同システムが情報を"プッシュ"している間、"フォロワ"側のブラウザは同じページを自動的にロードする。このようにしてユーザのグループがＷｅｂからコンテンツを同時に"プル"することができる。
【００２６】
図８を参照する。ユーザがツアーに参加するメカニズムが示してある。ブロック５０１でユーザはツアーのリーダを選択する。ブロック５０２でクライアント・ソフトウェアはリーダのＩＤを含む"フォロー"・リクエストをＭＵＳＳＳに転送する。判断ブロック５０３でＭＵＳＳＳはシステムがピアツーピア・モードで動作しているかどうか確認する。判断ブロック５０３への応答がＮｏならブロック５０４でサーバはリーダ及びフォロワの関連付けを格納する。手順は次に５０５で終了する。判断ブロック５０３への応答がＹｅｓならブロック５０６でサーバは、ブロック５０７でフォロワをリーダ自身のフォロワ・リストに追加するリーダに"フォロワ"・リクエストを転送する。手順は次に５０５で終了する。図８には示していないが、ブロック５０２、５０３及び５０６を通るパスは、システムがピアツーピア・モードで動作していることをクライアント・ソフトウェアが確認できる場合は短縮できることは理解されよう。この場合ブロック５０２−Ａに示すように、クライアント・ソフトウェアは"フォロー"・リクエストをリーダに直接転送できる。
【００２７】
図９を参照する。新しいＷｅｂページにツアー・リーダがいつ移動するかがフォロワに通知されるメカニズムが示してある。ブロック６０１でクライアント・ソフトウェアは"addURL"メッセージをリーダのＷｅｂブラウザから受け取る。ブロック６０２でクライアント・ソフトウェアは"addURL"通知をＭＵＳＳＳに転送する。判断ブロック６０３で、システムがピアツーピア・モードで動作しているかどうか確認される。判断ブロック６０３への応答がＮｏならブロック６０４でＭＵＳＳＳは"changePage"通知をリーダに関連付けられたフォロワのそれぞれに送る。ブロック６０５でフォロワ側のクライアント・ソフトウェアは"changePage"通知をＭＵＳＳＳから受信する。ブロック６０６でクライアント・ソフトウェアは"changePage"通知を、ローカルＷｅｂブラウザで実行されているアプレットに転送する。手順は次にブロック６０７で終了する。判断ブロック６０３への応答がＹｅｓならブロック６０８でリーダのホスト側のクライアント・ソフトウェアが"changePage"通知をローカル・フォロワ・リストの各フォロワに送る。制御は次に先に述べたようにブロック６０５に進む。
【００２８】
従って、共同システムは、全てのクライアントがＷｅｂサーバから任意の情報を同時にプルできるようにしながら、全てのクライアントに情報をプッシュすることができる。更に、ブラウザの制御はＪａｖａで書かれたアプレットを通して実行されるので、共同システムは特定のマシンまたはオペレーティング・システムの環境に依存せず、使用中の特定のＷｅｂブラウザにも依存しない。
【００２９】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３０】
（１）情報サーバからデータを取得する方法であって、
リクエスタが情報サーバからのデータのリクエストを開始するステップと、
前記リクエストをプロキシに送るステップと、
前記プロキシが前記リクエストを前記情報サーバに転送するステップと、
前記プロキシが前記情報サーバからデータを受信し格納するステップと、
前記データにアプレットを挿入するステップと、
前記データと前記アプレットを前記データの前記リクエスタに配信するステップと、
前記アプレットを実行するステップと、
を含む、方法。
（２）前記アプレットを実行する前記ステップは、
クライアント・ソフトウェアとの接続を開始するステップと、
クライアント・ソフトウェアとの前記接続を終了するステップと、
を含む、前記（１）記載の方法。
（３）"addURL"通知をクライアント・ソフトウェアとの前記接続を通して送るステップを含む、
前記（２）記載の方法。
（４）"removeURL"通知をクライアント・ソフトウェアとの前記接続を通して送るステップを含む、
前記（２）記載の方法。
（５）"readData"通知をクライアント・ソフトウェアとの前記接続を通して送るステップを含む、
前記（２）記載の方法。
（６）"writeData"通知をクライアント・ソフトウェアとの前記接続を通して送るステップを含む、
前記（２）記載の方法。
（７）"changePage"通知をクライアント・ソフトウェアとの前記接続を通して受信するステップと、
前記"changePage"通知に従って新しいデータの取得を開始するステップと、
を含む、前記（２）記載の方法。
（８）前記クライアント・ソフトウェアからターゲット・リーダの"フォロー"・リクエストを開始するステップと、
前記"フォロー"・リクエストの発信側のＩＤを記録するステップと、
前記ターゲット・リーダによって行われる操作の結果として前記発信側への"changePage"リクエストを開始するステップと、
を含む、前記（７）記載の方法。
（９）前記クライアント・ソフトウェアはマルチユーザ共有状態サーバ（ＭＵＳＳＳ）と通信する、前記（２）記載の方法。
（１０）クライアント・ソフトウェアとの接続を開始する前記ステップは、"グローバル"・アプレットのＩＤを確認するステップを含み、前記クライアント・ソフトウェアとの前記接続は、前記"グローバル"・アプレットにリクエストを転送することによって確立される論理接続である、前記（２）記載の方法。
（１１）"グローバル"・アプレットの有無を監視するステップと、
前記"グローバル"・アプレットが存在しない場合は前記"グローバル"・アプレットになるステップと、
を含む、前記（１０）記載の方法。
（１２）情報サーバからデータを取得するシステムであって、
リクエスタが情報サーバからのデータのリクエストを開始するための手段と、
前記リクエストをプロキシに送る手段と、
前記プロキシが前記リクエストを前記情報サーバに転送するための手段と、
前記プロキシが前記情報サーバからデータを受信し格納するための手段と、
前記データにアプレットを挿入する手段と、
前記データと前記アプレットを前記データの前記リクエスタに配信する手段と、
前記アプレットを実行する手段と、
を含む、方法。
（１３）前記アプレットを実行する前記手段は、
クライアント・ソフトウェアとの接続を開始する手段と、
クライアント・ソフトウェアとの前記接続を終了する手段と、
を含む、前記（１２）記載のシステム。
（１４）クライアント・ソフトウェアとの前記接続を通して"addURL"通知を送る手段を含む、
前記（１３）記載のシステム。
（１５）クライアント・ソフトウェアとの前記接続を通して"removeURL"通知を送る手段を含む、
前記（１３）記載のシステム。
（１６）クライアント・ソフトウェアとの前記接続を通して"readData"リクエストを送る手段を含む、
前記（１３）記載のシステム。
（１７）クライアント・ソフトウェアとの前記接続を通して"writeData"リクエストを送る手段を含む、
前記（１３）記載のシステム。
（１８）クライアント・ソフトウェアとの前記接続を通して"changePage"通知を受信する手段と、
前記"changePage"通知に従って新しいデータの取得を開始する手段と、
を含む、前記（１３）記載のシステム。
（１９）前記クライアント・ソフトウェアからターゲット・リーダの"フォロー"・リクエストを開始する手段と、
前記"フォロー"・リクエストの発信側のＩＤを記録する手段と、
前記ターゲット・リーダによって行われる操作の結果として前記発信側への"changePage"リクエストを開始する手段と、
を含む、前記（１８）記載のシステム。
（２０）前記クライアント・ソフトウェアはマルチユーザ共有状態サーバと通信する、
前記（１３）記載のシステム。
（２１）クライアント・ソフトウェアとの接続を開始する前記手段は、"グローバル"・アプレットのＩＤを確認する手段を含み、前記クライアント・ソフトウェアとの前記接続は、前記"グローバル"・アプレットにリクエストを転送することによって確立される論理接続である、前記（１３）記載のシステム。
（２２）"グローバル"・アプレットの有無を監視する手段と、
前記"グローバル"・アプレットが存在しない場合は前記"グローバル"・アプレットになる手段と、
を含む、前記（２１）記載のシステム。
（２３）情報サーバからデータを取得するためにコンピュータ可読媒体に記録されるコンピュータ・プログラム・プロダクトであって、
リクエスタが情報サーバからのデータのリクエストを開始するためのコンピュータ可読手段と、
前記リクエストをプロキシに送るコンピュータ可読手段と、
前記プロキシが前記リクエストを前記情報サーバに転送するためのコンピュータ可読手段と、
前記プロキシが前記情報サーバからデータを受信し格納するためのコンピュータ可読手段と、
前記データにアプレットを挿入するコンピュータ可読手段と、
前記データ及び前記アプレットを前記データの前記リクエスタに配信するコンピュータ可読手段と、
前記アプレットを実行するコンピュータ可読手段と、
を含む、コンピュータ・プログラム・プロダクト。
（２４）前記アプレットを実行する前記コンピュータ可読手段は、
クライアント・ソフトウェアとの接続を開始するコンピュータ可読手段と、
クライアント・ソフトウェアとの前記接続を終了するコンピュータ可読手段と、
を含む、前記（２３）記載のコンピュータ・プログラム・プロダクト。
（２５）クライアント・ソフトウェアとの前記接続を通して"addURL"通知を送るコンピュータ可読手段を含む、
前記（２４）記載のコンピュータ・プログラム・プロダクト。
（２６）クライアント・ソフトウェアとの前記接続を通して"removeURL"通知を送るコンピュータ可読手段を含む、
前記（２４）記載のコンピュータ・プログラム・プロダクト。
（２７）クライアント・ソフトウェアとの前記接続を通して"readData"リクエストを送るコンピュータ可読手段を含む、
前記（２４）記載のコンピュータ・プログラム・プロダクト。
（２８）クライアント・ソフトウェアとの前記接続を通して"writeData"リクエストを送るコンピュータ可読手段を含む、
前記（２４）記載のコンピュータ・プログラム・プロダクト。
（２９）クライアント・ソフトウェアとの前記接続を通して"changePage"通知を受信するコンピュータ可読手段と、
前記"changePage"通知に従って新しいデータの取得を開始するコンピュータ可読手段と、
を含む、前記（２４）記載のコンピュータ・プログラム・プロダクト。
（３０）前記クライアント・ソフトウェアからターゲット・リーダの"フォロー"・リクエストを開始するコンピュータ可読手段と、
前記"フォロー"・リクエストの発信側のＩＤを記録するコンピュータ可読手段と、
前記ターゲット・リーダによって行われる操作の結果として前記発信側への"changePage"リクエストを開始するコンピュータ可読手段と、
を含む、前記（２９）記載のコンピュータ・プログラム・プロダクト。
（３１）前記クライアント・ソフトウェアはマルチユーザ共有状態サーバと通信する、前記（２４）記載のコンピュータ・プログラム・プロダクト。
（３２）クライアント・ソフトウェアとの接続を開始する前記コンピュータ可読手段は、"グローバル"・アプレットのＩＤを確認するコンピュータ可読手段を含み、前記クライアント・ソフトウェアとの前記接続は、前記"グローバル"・アプレットにリクエストを転送することによって確立される論理接続である、前記（２４）記載のコンピュータ・プログラム・プロダクト。
（３３）"グローバル"・アプレットの有無を監視するコンピュータ可読手段と、
前記"グローバル"・アプレットが存在しない場合は前記"グローバル"・アプレットになるコンピュータ可読手段と、
を含む、前記（３２）記載のコンピュータ・プログラム・プロダクト。
【図面の簡単な説明】
【図１】本発明の方法及びシステムを実現するため利用できるデータ処理システムを示す図である。
【図２】Ｗｅｂブラウザ及びプラットフォームに依存しない形で統合する共同システムのデータ処理要素を示す図である。
【図３】共同環境でＷｅｂサーバからＷｅｂブラウザにデータを配信するため必要なステップを示すフローチャートを示す図である。
【図４】Ｗｅｂブラウザで実行されたときに挿入されたアプレットによって実行される操作を示すフローチャートを示す図である。
【図５】Ｗｅｂブラウザで実行されたときに挿入されたアプレットによって実行される操作を示すフローチャートを示す図である。
【図６】Ｗｅｂブラウザで実行されたときに挿入されたアプレットによって実行される操作を示すフローチャートを示す図である。
【図７】Ｗｅｂブラウザで実行されたときに挿入されたアプレットによって実行される操作を示すフローチャートを示す図である。
【図８】ユーザがツアーにどのように参加するかを示すフローチャートを示す図である。
【図９】ツアー・リーダが新しいＷｅｂページに移動するときユーザにどのように通知されるかを示すフローチャートを示す図である。
【符号の説明】
８  データ処理システム
１０、３２  ＬＡＮ（ローカル・エリア・ネットワーク）
１２、３０  個別のコンピュータ
１４、２０  記憶装置
１６  プリンタ／処理装置
１７  マウス
１８  メインフレーム・コンピュータ
２２、２４、３４  通信リンク
２６  サブシステム制御装置／通信コントローラ
２８  ゲートウェイ・サーバ
２０１  ＭＵＳＳＳマルチユーザ共有状態サーバ
２０２  プロキシ
２０３  クライアント・ソフトウェア
２０４  転送ソフトウェア
２０５  ローカルＷｅｂブラウザ
２０６  Ｗｅｂサーバ
２０７  アプレット
２０８  接続
【図１】
0003962157.tif 000002
【図２】
0003962157.tif 000003
【図３】
0003962157.tif 000004
【図４】
0003962157.tif 000005
【図５】
0003962157.tif 000006
【図６】
0003962157.tif 000007
【図７】
0003962157.tif 000008
【図８】
0003962157.tif 000009
【図９】
0003962157.tif 000010