(57)【要約】本発明の１つの目的は、ネットワーク上の任意のコンテンツについて、複数のクライアントの間でコラボレーションを行うことである。インターネットに接続されたコラボレーション・システムはサーバと複数のクライアントを含む。クライアントにリダイレクト・プログラムが常駐して、ＵＲＬ遷移イベントを監視する。ＵＲＬ遷移イベントが発生すると、リダイレクト・プログラムがイベントを捕捉してブラウザにＵＲＬ遷移イベントをキャンセルさせる。その後、サーバに向けてリダイレクトされたＵＲＬ遷移が実行される。ＵＲＬ遷移イベントに応じて、サーバはウェブ・サーバからコンテンツを取得する。取得したコンテンツは同期のためのアプレットを追加され、クライアントに伝送される。常にコンテンツの取得がコラボレーション・サーバを通じて行われることにより、クライアント間のコラボレーションを実現する。
2003038634.tif 000002
【特許請求の範囲】
【請求項１】
コラボレーション・サーバと複数のクライアント・コンピュータを含むコラボレーション・システムであって、前記コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続され、前記複数のクライアント・コンピュータそれぞれが、
ブラウザと、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、
前記監視する手段によって前記アドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、
前記アドレス・ロケーション遷移イベントに基いて、前記コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成する手段と、
前記リダイレクトされたアドレス・ロケーションを使用して前記コラボレーション・サーバにコンテンツを取得させる手段と、
を有するコラボレーション・システム。
【請求項２】
前記取得させる手段が、前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントを前記ブラウザに発生させる手級を有し、
前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが前記取り消す手段によって取り消されず、
前記コラボレーション・サーバが、
前記リダイレクトされたアドレス・ロケーション遷移イベントに応答して、前記コンテンツ・サーバからコンテンツを取得する手段と、
前記取得する手段により取得されたコンテンツを前記クライアント・コンピュータに伝送する手段を有する、
請求の範囲第１項記載のコラボレーション・システム。
【請求項３】
前記コラボレーション・サーバが、同期のためのプログラムを前記コンテンツに埋め込む手段をさらに有し、前記同期のためのプログラムが埋め込まれたコンテンツが前記クライアント・コンピュータに伝送される、請求の範囲第２項記載のコラボレーション・システム。
【請求項４】
前記ネットワークがＴＣＰ／ＩＰネットワークであり、前記コンテンツ・サーバがウェブ・サーバであり、前記ブラウザがウェブ・ブラウザであり、前記アドレス・ロケーションがＵＲＬである請求の範囲第１項記載のコラボレーション・システム。
【請求項５】
コラボレーション・サーバと複数のクライアント・コンピュータを含むシステムであって、前記コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続されたシステムにおいて、前記クライアント・コンピュータが前記コンテンツを取得する方法であって、前記クライアント・コンピュータはブラウザを含み、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視するステップと、
前記監視するステップにおいて前記アドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消すステップと、
前記アドレス・ロケーション遷移イベントに基いて、前記コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成するステップと、
前記リダイレクトされたアドレス・ロケーションを使用して前記コラボレーション・サーバにコンテンツを取得させるステップと、
を含む方法。
【請求項６】
前記取得させるステップが、前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントを前記ブラウザに発生させるステップを含み、
前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが前記取り消すステップにおいて取り消されず、
前記方法が、
前記コラボレーション・サーバによって、前記リダイレクトされたアドレス・ロケーション遷移イベントに応答して、前記コンテンツ・サーバからコンテンツを取得するステップと、
前記コラボレーション・サーバによって、前記取得するステップにおいて取得されたコンテンツを前記クライアント・コンピュータに伝送するステップをさらに含む、
請求の範囲第５項記載の方法。
【請求項７】
前記コラボレーション・サーバが、同期のためのプログラムを前記コンテンツに埋め込むステップをさらに含み、同期のためのプログラムが埋め込まれたコンテンツが前記クライアント・コンピュータに伝送される、請求の範囲第６項記載の方法。
【請求項８】
前記ネットワークがＴＣＰ／ＩＰネットワークであり、前記コンテンツ・サーバがウェブ・サーバであり、前記ブラウザがウェブ・ブラウザであり、前記アドレス・ロケーションがＵＲＬである請求の範囲第５項記載の方法。
【請求項９】
複数のサーバを含むネットワークに接続されたクライアント・コンピュータにおいて実行されるリダイレクト・プログラムであって、前記クライアント・コンピュータはブラウザを含み、前記クライアント・コンピュータに、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手順と、
前記監視する手順において、前記ブラウザに発生した１のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手順と、
前記アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手順と、
前記リダイレクトされたアドレス・ロケーションを使用して前記他のサーバからコンテンツを取得する手順と、
を実行させるリダイレクト・プログラム。
【請求項１０】
複数のサーバを含むネットワークに接続されたクライアント・コンピュータであって、
ブラウザと、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、
前記監視する手段によって、前記ブラウザに発生した１のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、
前記アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手段と、
前記リダイレクトされたアドレス・ロケーションを使用して前記他のサーバからコンテンツを取得する手段と、
を有するクライアント・コンピュータ。
【発明の詳細な説明】
従来技術
一般的に、本発明は情報処理技術に関する。より詳しくは、本発明は複数のクライアント・コンピュータをネットワーク上で同期させてコラボレーションを行う技術に関する。
背景技術
複数の人間が同一または関連するコンテンツを閲覧しながら対話的に共同作業（コラボレーション）を行うための様々なコラボレーション・システムが存在する。例えば、カスタマーとエージェントのコラボレーションをサポートするカスタマー・サポート・システムが存在する。また、教師と生徒のコラボレーションをサポートするＥラーニング・システムも存在する。これらのシステムに関して、ネットワーク（特にインターネット）上のコンテンツに対して、複数のコンピュータを同期させることによる、より柔軟かつ便利なコラボレーションに対する要求がある。
ＩＢＭが提供するＷｅｂ  Ｃｏｌｌａｂｏｒａｔｉｏｎがこの要求に応えるプログラム製品として存在する。従来のＷｅｂ  Ｃｏｌｌａｂｏｒａｔｉｏｎを使用して構築されたコラボレーション・システムは、ネットワークに接続されたコラボレーション・サーバおよび複数のクライアント・コンピュータを含んでいる。そのコラボレーション・システムにおいては以下の手法を使用して複数のクライアント・コンピュータの間で同期が行われる。
まず、複数のクライアント・コンピュータ間のコラボレーションが確立される。コラボレーショーンの間、コラボレーション・サーバは複数のクライアント・コンピュータ間の同期を認識する。次に、複数のクライアント・コンピュータのうちのいずれかにおいて、ＵＲＬ遷移イベントが発生する。（”ＵＲＬ”の語は、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略であり、ＴＣＰ／ＩＰネットワーク上のリソースのアドレス・ロケーションを表す。）当該ＵＲＬ遷移イベントは、コラボレーション・サーバのドメイン内のを遷移先としている。ＵＲＬ遷移イベントの発生に応答して、そのＵＲＬ遷移先イベントの遷移先のＵＲＬからコンテンツが取得される。当該ＵＲＬ遷移イベントの遷移先のＵＲＬには、コンテンツをどのウェブ・サーバのどのＵＲＬから取得すればよいかの情報が含まれている。ＵＲＬ遷移イベントの発生に応じて、コラボレーション・サーバはＵＲＬ遷移イベントを解釈し、適切なウェブ・サーバの適切なＵＲＬからコンテンツを取得する。
その後、コラボレーション・サーバによって、取得されたコンテンツに小さなプログラム（Ｊａｖａ（Ｒ）アプレット）を埋め込まれる。アプレットは、複数のクライアント・コンピュータの同期に必要である。コラボレーション・サーバはＵＲＬ遷移イベントを発生したクライアント・コンピュータにアプレットが埋め込まれたコンテンツを伝送する。コンテンツに埋め込まれるアプレットには、（１）コンテンツのロードが完了したことをコラボレーション・サーバに通知するアプレット、（２）ブラウザ・ウィンドウのスクロールを同期させるためのアプレット、（３）他のクライアント・コンピュータにポインタ（矢印）を表示させるためのアプレットなどが含まれ得る。なお、コンテンツにアプレットを埋め込む技術は特開２００１−２２９１３９号公報にも開示されている。
ＵＲＬ遷移イベントを発生したクライアント・コンピュータのウェブ・ブラウザにアプレットが埋め込まれたコンテンツがロードされる。ロードが完了するとアプレットが自動で起動し、コラボレーション・サーバにロードが完了したことが通知される。その通知に応じて、コラボレーション・サーバはＵＲＬ遷移イベントを他の同期しているクライアント・コンピュータのウェブ・ブラウザに発生させる。
この手法によれば、取得したコンテンツにコラボレーション・サーバがアプレットを埋め込むことにより複数のクライアント・コンピュータの間の同期が実現される。従って、コンテンツの取得を常にコラボレーション・サーバを介して行う必要がある。そのため、ハイパーリンクをクリックするしてクライアント・コンピュータが任意のウェブ・サーバに直接アクセスした場合は、同期が継続されなくなるという問題があった。また、ＵＲＬを直接ブラウザに入力した場合なども、同期が継続されなくなるという問題があった。
結論として、従来のＷｅｂ  Ｃｏｌｌａｂｏｒａｔｉｏｎの手法は、コラボレーションを行うように設計された専用コンテンツ・専用端末を使用したソリューション、例えば、銀行のＡＣＭ／ＡＴＭなどに対しては有効であるが、一般のパーソナル・コンピュータ（ＰＣ）でインターネットを閲覧するような状況では、コラボレーションをすることができなかった。
Ｓｃｈｅｒｐｂｉｅｒによる米国特許５，９４４，７９１に、コンテンツの取得が常にコラボレーション・サーバを介して行うことに関連する技術が開示されている。その米国特許に記載された発明を使用して構築されたシステムには、コントロール・サイトと呼ばれるサーバが設けられる。パイロット・コンピュータと呼ばれるクライアント・コンピュータのブラウザにおけるＵＲＬ遷移イベントに応じて、コントロール・サイトはウェブ・サーバからコンテンツを取得する。
コントロール・サイトにおいて、取得されたコンテンツに含まれるハイパーリンク先のＵＲＬがコントロール・サイトに対して向けられるように変更される。変更されたコンテンツがパイロット・コンピュータに伝送される。その結果、ハイパーリンクを使用してコンテンツをブラウジングする場合、常にコントロール・サイトを経由してコンテンツの取得がなされる。
しかし、例えば、パイロット・コンピュータでブラウザのＵＲＬ入力フィールドへのＵＲＬを直接入力してＵＲＬ遷移イベントを発生させた場合などは、コンテンツの取得がコントロール・サイトを経由しなくなる。さらに、ハイパーリンク先のＵＲＬ含むコンテンツの内容がクライアント・コンピュータ（パイロット・コンピュータ）においてアプレットなどを使用して確定するコンテンツが存在する。そのようなコンテンツの場合は、コントロール・サイトにおいてリンク先のＵＲＬを変更することができない。変更されなかったハイパーリンク先のＵＲＬに移動しようとした場合も、コンテンツの取得がコントロール・サイトを経由しなくなってしまう。
また、ウェブ・サーバに対するコンテンツ取得を特定のサーバ経由で行う一般的手法として、プロクシ・サーバを設ける手法がある。プロクシ・サーバは、ファイアーウォールの内側にあるクライアント・コンピュータからアクセス要求（ＨＴＴＰ、ＦＴＰなど）を受け付け、クライアント・コンピュータの代理を務めるサーバである。（なお、ファイアーウォールとは、ローカルなネットワークと、その外部ネットワーク（例えば、インターネット）、との間に、外部からの不正なアクセスを防ぐ機能的役割を担うルータやホストなどのことである。）
しかし、プロクシ・サーバを使用する場合、クライアント・コンピュータに対してプロクシ・サーバを指定するための設定作業が必要となってしまう。また、同期される複数のクライアント・コンピュータがファイアウォールを越えての同期を試みる場合は、それぞれのクライアント・コンピュータに対するプロクシ・サーバとして同一のコラボレーション・サーバを設定することはできない。さらに、プロクシ・サーバを使用する場合は、通常のコンピュータはプロクシ・サーバを１つしか指定できないためブラウザ・ウィンドウ単位でコラボレーションを行うことができない。たとえブラウザ・ウィンドウ単位にプロクシ・サーバを設定できるようにしたとしても、プロキシ・サーバの設定の作業に多大な労力が必要である。
本発明の１つの目的は、特別なソフトウェアをクライアント・コンピュータに導入することなくネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の１つの目的は、クライアント・コンピュータ上で最終的な内容が確定する動的なコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の１つの目的は、クライアント・コンピュータのブラウザにＵＲＬを直接入力した場合でもコラボレーションサーバを通じてコンテンツの取得がされるようにすることにより、ネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の１つの目的は、クライアント・コンピュータで追加のコンピュータの設定をすることなしにネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の１つの目的は、ブラウザのウィンドウ単位でネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
発明の開示
本発明は上述の目的を達成するために、ＵＲＬリダイレクションという手法を導入する。上述の目的は、具体的にはコラボレーション・サーバと複数のクライアント・コンピュータを含むコラボレーション・システムであって、コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続され、複数のクライアント・コンピュータそれぞれが、ブラウザと、ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、監視する手段によってアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、アドレス・ロケーション遷移イベントに基いて、コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成する手段と、リダイレクトされたアドレス・ロケーションを使用してコラボレーション・サーバにコンテンツを取得させる手段とを有するコラボレーション・システムにより達成される。
前述のコラボレーション・システムにおいては、取得させる手段が、リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントをブラウザに発生させる手段を有し、リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが取り消す手段によって取り消されず、コラボレーション・サーバが、リダイレクトされたアドレス・ロケーション遷移イベントに応答して、コンテンツ・サーバからコンテンツを取得する手段と、取得する手段により取得されたコンテンツをクライアント・コンピュータに伝送する手段を有するようにすることができる。
前述のコラボレーション・システムにおいては、コラボレーション・サーバが、同期のためのプログラムをコンテンツに埋め込む手段をさらに有し、同期のためのプログラムが埋め込まれたコンテンツがクライアント・コンピュータに伝送されるようにすることができる。
前述のコラボレーション・システムにおいては、ネットワークがＴＣＰ／ＩＰネットワークであり、コンテンツ・サーバがウェブ・サーバであり、ブラウザ手段がウェブ・ブラウザであり、アドレス・ロケーションがＵＲＬであるようにすることができる。
なお、本発明は前述した「システム（コラボレーション・システム）」としての発明の他、「コンテンツを取得する方法」として把握することも可能である。
また本発明は、複数のサーバを含むネットワークに接続されたクライアント・コンピュータにおいて実行されるリダイレクト・プログラムであって、クライアント・コンピュータはブラウザを含み、クライアント・コンピュータに、ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手順と、監視する手順において、ブラウザに発生した１のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手順と、アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手順と、リダイレクトされたアドレス・ロケーションを使用して他のサーバからコンテンツを取得する手順と、を実行させるリダイレクト・プログラムとして把握することもできる。
なお、本発明は前述した「プログラム（リダイレクト・プログラム）」としての発明の他、「クライアント・コンピュータ」として把握することも可能である。
発明を実施するための最良の形態
本発明の実施の形態を図面に基いて詳細に説明する。ただし、本発明は多くの異なる態様で実施可能であり、本実施の形態の記載内容に限定して解釈すべきではない。本実施の形態の全体を通して同じ要素には同じ番号を付している。
図１に本発明の実施の形態であるカスタマー・サポート・システムの概観を示す。
本発明の実施の形態であるカスタマー・サポート・システムでは、カスタマー・コンピュータ１００とエージェント・コンピュータ２００をコラボレーションさせることにより、カスタマー・サポートのサービスが提供される。カスタマー・コンピュータ１００は、カスタマーによって操作される。エージェント・コンピュータ２００は、カスタマー・サポートを提供する企業のサービス担当者（エージェント）によって操作される。
カスタマー・コンピュータ１００がダイアルアップ接続等によりＩＳＰ（インターネット・サービス・プロバイダ）のサーバ５００を介してインターネットに接続されている。カスタマー・コンピュータ１００からＩＳＰへの接続はダイアルアップ接続に限られず、例えば、専用線、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）、ＣＡＴＶ（Ｃａｂｌｅ  Ｔｅｌｅｖｉｓｉｏｎ）等を用いた常時接続により行ってもよい。
また、エージェント・コンピュータ２００は、他のエージェント・コンピュータ８００とともに社内ＬＡＮ（イントラネット）に接続されている。社内ＬＡＮにはプロクシ・サーバ７００が含まれ、プロクシ・サーバ７００はエージェント・コンピュータのアクセス要求（ＨＴＴＰ、ＦＴＰなど）を受け、インターネットのコンテンツ取得などを代理する。また、社内ＬＡＮはファイアウォール６００を介してインターネットと接続されている。
インターネットには多くのウェブ・サーバ４００が含まれている。本発明の実施の形態においては、インタネットには、コラボレーション・サーバ３００も含まれている。
図２に本発明の実施の形態において使用されるコラボレーション・サーバ３００の代表的なハードウェア構成の一例を示す。コラボレーション・サーバ３００は、中央処理装置（ＣＰＵ）１とメインメモリ４を含んでいる。ＣＰＵ１とメインメモリ４は、バス２を介して、補助記憶装置としてのハードディスク装置１３と接続されている。また、フレキシブルディスク装置２０、ＭＯ装置２８、ＣＲ−ＲＯＭ装置２６、２９などのリムーバブルストレージ（記録メディアを交換可能な外部記憶システム）が関連するフレキシブルディスク・コントローラ１９、ＩＤＥコントローラ２５、ＳＣＳＩコントローラ２７などを介してバス２へ接続されている。
フレキシブルディスク装置２０、ＭＯ装置２８、ＣＲ−ＲＯＭ装置２６、２９などのリムーバブルストレージには、それぞれフレキシブルディスク、ＭＯ、ＣＤ−ＲＯＭなどの記憶媒体が挿入され、このフレキシブルディスク等やハードディスク装置１３、ＲＯＭ１４には、オペレーティング・システムと協働してＣＰＵ等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ４にロードされることによってコンピュータプログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
コラボレーション・サーバ３００は、さらに、ユーザ・インターフェイス・ハードウェアとして、マウス等のポインティング・デバイス７、キーボード６や視覚データをユーザに提示するためのディスプレイ１２を有することができる。また、パラレルポート１６を介してプリンタ（図示せず）と接続することや、シリアルポート１５を介してモデム（図示せず）を接続することが可能である。コラボレーション・サーバ３００は、シリアルポート１５及びモデムを介し、また、通信アダプタ１８（イーサネット（Ｒ）・カードやトークンリング・カード）等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
スピーカ２３は、オーディオ・コントローラ２１によってＤ／Ａ変換（デジタル／アナログ変換）された音声信号をアンプ２２を介して受け取り、音声として出力する。また、オーディオ・コントローラ２１は、マイクロフォン２４から受け取った音声情報をＡ／Ｄ変換（アナログ／デジタル変換）し、システム外部の音声情報をシステムに取り込むことを可能にしている。
以上の説明により、本発明の実施の形態におけるコラボレーション・サーバ３００は、メインフレーム、ワークステーション、通常のパーソナルコンピュータ（ＰＣ）、ラップトップＰＣ、ノートブックＰＣ、パームトップＰＣ、ネットワークコンピュータ等の情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
特に、ここで説明したハードウェア構成のうち、フレキシブルディスク装置２０、ＭＯ装置２８、ＣＲ−ＲＯＭ装置２６、２９などのリムーバブルストレージ、パラレルポート１６、プリンタ、シリアルポート１５、モデム、通信アダプタ１８、スピーカ２３、オーディオ・コントローラ２１、アンプ２２、マイクロフォン２４などはなくても、カスタマー・コンピュータ１００とエージェント・コンピュータ２００のコラボレーションは実現可能であるので、本発明の実施の形態におけるコラボレーション・サーバ３００に含めなくともよい。
本発明の実施に使用されるコラボレーション・サーバ３００の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得るものであり、それらの変更は、当然に本発明の思想に包含される概念である。
本発明の実施の形態において使用されるカスタマー・コンピュータ１００およびエージェント・コンピュータ２００は、コラボレーション・サーバ３００と同様に、図２に示すハードウェア構成により実施することができる。すなわち、カスタマー・コンピュータ１００およびエージェント・コンピュータ２００は、情報入手要求を入力し、それを発信・受信する機能があればよいので、通常のパーソナル・コンピュータ（ＰＣ）やワークステーション、ノートブックＰＣ、パームトップＰＣ、コンピュータを内蔵した家電製品、通信機能を有するゲーム機、電話、ＦＡＸ、携帯電話、ＰＨＳ、電子手帳等を含む通信機能を有する情報端末やこれらの組み合わせで実施可能であることが容易に理解される。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
カスタマー・コンピュータ１００、エージェント・コンピュータ２００、コラボレーション・サーバ３００のオペレーティング・システムとしては、マイクロソフト社のＷｉｎｄｏｗｓＸＰ（Ｒ），Ｗｉｎｄｏｗｓ２０００（Ｒ），ＷｉｎｄｏｗｓＮＴ（Ｒ），ＷｉｎｄｏｗｓＭｅ（Ｒ），Ｗｉｎｄｏｗｓ９ｘ（Ｒ），Ｗｉｎｄｏｗｓ３．ｘ（Ｒ）、ＩＢＭのＯＳ／２，ＡＩＸ、Ａｐｐｌｅ社のＭａｃＯＳ、Ｌｉｎｕｘなどの標準でＧＵＩマルチウィンドウ環境をサポートするものや、ＩＢＭのＰＣ−ＤＯＳ、マイクロソフト社のＭＳ−ＤＯＳなどのキャラクタ・ベース環境のもの、さらにはＩＢＭのＯＳ／Ｏｐｅｎ、Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．のＶｘ  ＷｏｒｋｓなどのリアルタイムＯＳ、Ｊａｖａ（Ｒ）ＯＳなどのネットワーク・コンピュータに組み込まれたＯＳでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。また、カスタマー・コンピュータ１００、エージェント・コンピュータ２００、コラボレーション・サーバ３００はそれぞれ異なるオペレーティング・システム環境で動作するようにしてもよいことは勿論である。
図３に本発明の実施の形態におけるコラボレーション・システムのシステム構成を示す。図３のシステム構成に示す各要素は、図２に示したコンピュータ上でハードウェアとソフトウェアが協働して実現される。本発明の実施の形態におけるコラボレーション・システムは、カスタマー・コンピュータ１００、エージェント・コンピュータ２００、コラボレーション・サーバ３００を含む。コラボレーション・システムはインターネットに接続されており、インターネット上のコンテンツが記憶されたウェブ・サーバ４００と通信を行うことができる。
カスタマー・コンピュータ１００，エージェント・コンピュータ２００には、ウェブ・ブラウザ１１０，２１０がそれぞれロードされている。カスタマー・コンピュータ１００，エージェント・コンピュータ２００のマウス、キーボードなどのユーザ・インターフェースを使用してウェブ・ブラウザ１１０，２１０が操作される。ウェブ・ブラウザ１１０，２１０は、ページ表示部１１１，２１１およびＵＲＬ遷移イベント発生部１１２，２１２を含む。
ＵＲＬ遷移イベント発生部１１２，２１２は、ブラウザ・ウィンドウのＵＲＬ入力フィールドへのＵＲＬ直接入力、ハイパーリンクのクリック、リダイレクトプログラム１２０，２２０の要求などに応じて、ＵＲＬ遷移イベントをウェブ・ブラウザ１１０，１２０に発生させる。ページ表示部１１１，２１１は、ＵＲＬ遷移イベント発生部１１２，２１２により発生したＵＲＬ遷移イベントの結果得られたコンテンツを表示装置に表示する。
ウェブ・ブラウザ１１０，２１０はマイクロソフト社のインターネット・エクスプローラ、ネットスケープ・コミュニケーションズ社のネットスケープ・ナビゲータなどを使用することにより実現される。インターネット・エクスプローラが使用される場合は、リダイレクト・プログラム１２０，２２０はＡｃｔｉｖｅＸコントロールとして実現され得る。ネットスケープ・ナビゲータが使用される場合はリダイレクト・プログラム１２０，２２０はプラグインとして実現され得る。
同期を確立する処理が実行された後は、カスタマー・コンピュータ１００，エージェント・コンピュータ２００にはリダイレクト・プログラム１２０，２２０がロードされている。（同期を確立する処理は、後に詳述する。）リダイレクト・プログラム１２０，２２０は、ＵＲＬ遷移監視部１２１，２２１、ＵＲＬ遷移取消部１２２，２２２、ＵＲＬ生成部１２３，２２３、ＵＲＬ遷移変更部１２４，２２４を含んでいる。
リダイレクト・プログラム１２０，２２０は、ウェブ・ブラウザ１１０，２１０におけるＵＲＬ遷移イベントをＵＲＬ遷移監視部１２１，２２１により監視する。ＵＲＬ遷移イベントを捕捉した場合、ＵＲＬ遷移取消部１２２，２２２はウェブ・ブラウザ１１０，２１０にそのＵＲＬ遷移イベントを取り消させる。ＵＲＬ生成部１２３，２２３により、そのＵＲＬ遷移イベントに基いてコラボレーション・サーバ３００にリダイレクトされたＵＲＬが生成される。ＵＲＬ遷移要求部１２４，２２４は、ＵＲＬ生成部１２３，２２３により生成されたＵＲＬを遷移先とするＵＲＬ遷移イベントの発生をウェブ・ブラウザ１１０，２１０に要求する。
コラボレーション・サーバ３００は、セッション・マネージャ３１０、キャッシュ・マネージャ３２０、キャッシュ・データ記憶部３３０を含んでいる。セッション・マネージャ３１０は、後に詳述する同期を確立する処理において、カスタマー・コンピュータ１００からの同期の確立要求に応じて、エージェント・コンピュータ２００をコラボレーションの相手として割り当て、コラボレーション・セッションを確立する。
キャッシュ・マネージャ３２０は、リダイレクトされたＵＲＬ遷移イベントの発生に応じてインターネット上のウェブ・サーバ４００からコンテンツを取得し、同期のために必要なプログラム（アプレットとして実現される。）を埋め込んでカスタマー・コンピュータ１００およびエージェント・コンピュータ２００に伝送する。ウェブ・サーバ４００から取得されたデータ、カスタマー・コンピュータ１００，エージェント・コンピュータ２００に伝送されたデータはキャッシュ・データ記憶部３３０に記憶される。
図４に本発明の実施の形態におけるカスタマー・コンピュータ１００とエージェント・コンピュータ２００の同期を確立する処理のフローチャートを示す。
処理はステップ４０００から開始される。ステップ４０１０においてカスタマー・コンピュータ１００のウェブ・ブラウザ１１０のＵＲＬ入力フィールド６０１０に所定のＵＲＬ（本実施の形態に、おいては“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ−ｓｅｒｖｅｒ／ｌｏｇｉｎ．ｈｔｍｌ”であるとする。）を直接入力する等により、ウェブ・ブラウザ１１０に図６に示すコラボレーション・サーバ３００の同期開始ページが表示される。同期開始ページは、カスタマー・コンピュータ１００を識別するための名前入力フィールド６０２０、同期の開始ボタンであるＣＡＬＬボタン６０３０、同期の中止ボタンであるＥＸＩＴボタン６０４０を含んでいる。同期の確立を要求するために、カスタマー・コンピュータ１００のキーボード、マウスなどのユーザ・インターフェイスを操作して名前入力フィールド６０２０にＩＤが入力され、ＣＡＬＬボタン６０３０が押される。
ステップ４０１０においてＣＡＬＬボタン６０３０が押されたことに応じて、ステップ４０２０でカスタマー・コンピュータ１００のウェブ・ブラウザ１１０は、リダイレション・プログラム１２０を含むデータのダウンロードをコラボレーション・サーバ３００にＨＴＴＰプロトコルで要求する。
ステップ４０２０におけるダウンロードの要求に応じて、ステップ４０３０においてカスタマー・コンピュータ１００と同期を確立するエージェント・コンピュータがコラボレーション・サーバ３００のセッション・マネージャにより選択される。エージェント・コンピュータの選択は、例えば、最初のログインまたは前回のコラボレーションが終了してから最も時間が経過しているエージェント・コンピュータを選ぶようにするとよい。本発明の実施の形態では、エージェント・コンピュータ２００が選択されたとする。
さらにステップ４０３０では、リダイレクト・プログラム１２０，２２０を含むデータがそれぞれカスタマー・コンピュータ１００，エージェント・コンピュータ２００にダウンロードされる。あわせて、要求を出したブラウザ・ウィンドウに対するウィンドウＩＤが決定される。さらに、ウィンドウＩＤに基いて、このコラボレーション・セッションのための作業用パスを決定する。本発明の実施の形態においてはウィンドウＩＤとして“０”が、作業用パスとして“ｈｔｔｐ：／／ｃｏｌａｂｏｒａｔｉｏｎ−ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝”が割り当てられたとする。
次に、ステップ４０４０において、エージェント・コンピュータ２００においてウェブ・ブラウザ２１０のブラウザ・ウィンドウが１つ起動し、続いて、ダウンロードされたデータに含まれるリダイレクト・プログラム１２０，２２０がカスタマー・コンピュータ１００，エージェント・コンピュータ２００において自動で起動される。リダイレクト・プログラム１２０，２２０が起動されると、カスタマー・コンピュータ１００，エージェント・コンピュータ２００にリダイレクト・プログラム１２０，２２０が常駐し、ウェブ・ブラウザ１１０，２２０の対応するブラウザ・ウィンドウにおけるＵＲＬ遷移イベントの監視が開始され、カスタマー・コンピュータ１００とエージェント・コンピュータ２００の同期が確立される。ステップ４０５０でカスタマー・コンピュータ１００，エージェント・コンピュータ２００の同期の確立の処理が完了する。
カスタマー・コンピュータ１００とエージェント・コンピュータ２００の同期が確立している状態で、カスタマー・コンピュータ１００のウェブ・ブラウザ１１０においてＵＲＬ遷移イベントが発生した場合の処理を示すフローチャートを図５に示す。
処理はステップ５０００からスタートする。ステップ５０１０においてユーザがキーボード、マウスなどを操作し、ウェブ・ブラウザ１１０のブラウザ・ウィンドウに表示されているウェブ・ページのハイパーリンクをダブルクリックする、またはＵＲＬを直接入力することなどによりＵＲＬ遷移要求イベントが発生する。ステップ５０１０においてウェブ・ブラウザ１１０でＵＲＬ遷移イベントが発生すると、ステップ５０２０においてリダイレクト・プログラム１２０がそのＵＲＬ遷移要求イベントを捕捉する。
ステップ５０２０でＵＲＬ遷移要求イベントが捕捉されると、ステップ５０３０においてリダイレクト・プログラム１２０は捕捉したＵＲＬ遷移要求イベントのＵＲＬが“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ＿ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝”のパスを含むものであるかどうかを判定する。含まない（すなわち、後述するリダイレクトがなされる前）の場合は、処理はＮＯの矢印を通じてステップ５０４０へ進み、リダイレクト・プログラム１２０はウェブ・ブラウザ１１０にそのＵＲＬへのＵＲＬ遷移イベントを取り消させる。
その後、ステップ５０５０においてリダイレクト・プログラム１２０はコラボレーション・サーバ３００にリダイレクトされたＵＲＬをステップ５０１０において発生したＵＲＬ遷移イベントに基いて生成する。リダイレクトされたＵＲＬの生成は、同期の確立の際に決定された作業用パスに、ステップ５０１０において発生したＵＲＬ遷移イベントの遷移先のＵＲＬの文字列から“ｈｔｔｐ：”を除いたものを続けることにより生成するとよい。例えば、ステップ５０１０においてカスタマー・コンピュータ１００のウェブ・ブラウザ１１０で発生したＵＲＬ遷移イベントの遷移先のＵＲＬが“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ”の場合は、リダイレクトされたＵＲＬは“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ＿ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝／／ｗｗｗ．ｉｂｍ．ｃｏｍ”となる。
ステップ５０６０おいて、リダイレクト・プログラム１２０はウェブ・ブラウザ１１０にリダイレクトされたＵＲＬへのＵＲＬ遷移イベントの発生を要求する。ウェブ・ブラウザ１１０はその要求に応じて、リダイレクトされたＵＲＬへのＵＲＬ遷移イベントを発生させる。
リダイレクトされたＵＲＬを遷移先とするＵＲＬ遷移イベントもリダイレクト・プログラム１２０により監視されており、ステップ５０２０においてリダイレクト・プログラム１２０はこのＵＲＬ遷移イベントを捕捉する。しかし、リダイレクトされたＵＲＬは“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ＿ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝”のパスを含むものであるので、処理はステップ５０３０においてＹＥＳの矢印を通じてステップ５０７０へ進む。すなわち、リダイレクトされたＵＲＬに関してはＵＲＬ遷移イベントは取り消されない。
次に、ステップ５０７０において、ウェブ・ブラウザ１１０はリダイレクトされたＵＲＬを使用してコラボレーション・サーバ３００にコンテンツの取得を要求する。コラボレーション・サーバ３００はコンテンツの取得の要求に応じて、ステップ５０８０において、コンテンツの取得の要求の内容を解釈して、ウェブ・サーバ４００からコンテンツを取得する。具体的には、リダイレクトされたＵＲＬが“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ＿ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝／／ｗｗｗ．ｉｂｍ．ｃｏｍ”の場合は、コラボレーション・サーバ３００は、作業用パスが“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ＿ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝”であることがわかっているので、取得すべきコンテンツは“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ”に存在すると判断し、当該ＵＲＬからコンテンツを取得することとなる。
その後、ステップ５０８０においてコラボレーション・サーバ３００はウェブ・サーバから取得したコンテンツに同期のためのアプレットを埋め込む。埋め込まれるアプレットには、そのコンテンツのカスタマー・コンピュータ１００へのロードが完了したときにロードが完了したことをコラボレーション・サーバ３００に通知するアプレットが含まれている。
ステップ５０９０においてアプレットが埋め込まれたコンテンツがカスタマー・コンピュータ１００に伝送され、伝送されたコンテンツがカスタマー・コンピュータ１００のウェブ・ブラウザ１１０に表示される。ステップ５０９０における表示が完了した後に、ステップ５１００でコンテンツに埋め込まれたアプレットが起動され、ロードの完了がカスタマー・コンピュータ１００からコラボレーション・サーバ３００に通知される。
ロードの完了の通知に応じて、ステップ５１１０で、エージェント・コンピュータ２００のウェブ・ブラウザ２１０でもカスタマー・コンピュータ１００のウェブ・ブラウザ１１０と同じ表示をするために、コラボレーション・サーバ３００からエージェント・コンピュータ２００へカスタマー・コンピュータ１００へロードしたものと同じコンテンツが伝送され、エージェント・コンピュータ２００のウェブ・ブラウザ２１０に伝送されたコンテンツが表示される。また、あわせてステップ５１１０では、エージェント・コンピュータ２００にコンテンツが表示された後、コラボレーション・サーバ３００へコンテンツのロードの完了がエージェント・コンピュータ２００から通知され、次にその通知がコラボレーション・サーバ３００からカスタマー・コンピュータ１００へ転送される。この通知および転送により、コラボレーションが正常に行われていることが、カスタマー・コンピュータ１００、エージェント・コンピュータ２００、コラボレーション・サーバ３００に認識される。ステップ５１２０で処理が完了する。
上述の説明では、ＵＲＬ遷移イベントがハイパーリンクのダブルクリックまたはＵＲＬの直接入力で発生する場合を説明したが、インターネット上のコンテンツの形式として広く用いられているＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）では、あるＵＲＬを有するページ内でさらに階層的にＵＲＬを呼び出す記述がＦＲＡＭＥ宣言などにより可能となっでおり、ページ内にこのような宣言が含まれている場合もＵＲＬ遷移イベントが発生し、図５のフローチャートに示す処理が実行される。
ここで、階層的にＵＲＬを呼び出す場合の呼び出し先のＵＲＬの記述方法は（１）現在のパスからの相対パス記述（２）現在のサーバのドメインのルートからのパス記述（３）サーバのドメインからのパス記述、の３種類の記述が存在する。以下にこれら３種類の記述に対するリダイレクトされたＵＲＬの生成について説明する。
前述の“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ”のページの内容（ＨＴＭＬソース）が、図７に示す内容であるとする。この場合、２行目のＦＲＡＭＥ宣言が（１）現在のパスからの相対パス記述である。４行目のＦＲＡＭＥ宣言が（２）現在のサーバのドメインのルートからのパス記述であり、５行目のＦＲＡＭＥ宣言が（３）サーバのドメインからのパス記述に該当する。なお、ＨＴＭＬフォーマットに関しては、Ｗ３Ｃ（ワールド・ワード・ウェブ・コンソーシアム）により仕様が開示されており、かつ、当業者に周知であるので詳細な説明は省略する。
ＵＲＬのリダイレクトが行われていない場合は、このＨＴＭＬソースによれば、ブラウザ・ウィンドウは図８に示すようにフレーム分割され、ＨＴＭＬソースの２，４，５行目がそれぞれウェブ・ブラウザ１１０により解釈されて、“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ／ｉｎｄｅｘ．ｈｔｍｌ”の内容が上部のフレームに、“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ／ｔｅｓｔ／ｉｎｄｅｘ２．ｈｔｍｌ”の内容が左下のフレームに、“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ２．ｃｏｍ／ｉｎｄｅｘ３．ｈｔｍｌ”の内容が右下のフレームに表示される。
これに対して、リダイレクト・プログラム１２０により“ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ”が“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ＿ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝／／ｗｗｗ．ｉｂｍ．ｃｏｍ”にリダイレクションされた場合は、ウェブ・ブラウザ１１０はＨＴＭＬソースの２，４，５行目をそれぞれ図９の表の各項目の上段に示すＵＲＬであると解釈する。
この場合（１）現在のパスからめ相対パス記述に関しては、リダイレクト・プログラム１２０による変更は不要である。また（３）サーバのドメインからのパス記述の場合は、前述したのと同様の変更をリダイレクト・プログラム１２０により行うとよい。しかし、（２）現在のサーバのドメインのルートからのパス記述の場合は、リダイレクト・プログラム１２０による特別な変更が必要となる。すなわち（２）の場合は、“ｈｔｔｐ：／／ｗｗｗ．ｃｏｌｌａｂｏｒａｔｉｏｎ−ｓｅｖｅｒ”の文字列を作業用パス“ｈｔｔｐ：／／ｃｏｌｌａｂｏｒａｔｉｏｎ−ｓｅｒｖｅｒ／．ｃｍ２／０／ｕｒｌ＝”にリダイレクト・プログラム１２０により置換する必要がある。上記によるリダイレクトされた後のＵＲＬを図９の表の各項目の下段に示す。
上記の本発明の実施の形態は、説明を目的として記述されたものであって、すべての実施態様を記述するものではなく、本発明の実施の形態に開示された形式に発明を限定する意図ではない。上記の開示によれば、多くの変更例とバリエーションが実現可能である。本発明の範囲は発明の詳細な説明の記載により制限されるのではなく、特許請求の範囲により定まるものであることに留意されたい。
本発明の実施の形態はカスタマー・サポート・システムにおけるカスタマーとエージェントのコラボレーションに本発明を応用した例を用いて説明したが、本発明は１対多または多対多の電子会議などの同期にも応用可能な技術であることは当業者であれば自明であることにも留意されたい。コンテンツに埋め込むアプレットをカスタマー・コンピュータに伝送するコンテンツとエージェント・コンピュータに伝送するコンテンツで異なるようにしてもよい。また本発明の実施の形態においては、インターネット／イントラネット（社内ＬＡＮ）を例に説明しているが、本発明はインターネットに使用されるプロトコルではない他のプロトコルにより構築されたネットワークにも応用可能であることは勿論である。上記の仕様、例、データにより本発明の一態様の製造および使用が完全に説明される。本発明の多くの実施例が本発明の精神と範囲を離れることなく実現される。
本発明によれば、クライアント・コンピュータに特別なコラボレーション・ソフトウェアを導入することなく、また、特別な設定を行うことなく、任意のページを関してネットワーク上でコラボレーションを行うことができる。また本発明によれば、クライアント・コンピュータにおいてリダイレクトを行うので、クライアント・コンピュータ上で最終的な内容が確定する動的なコンテンツに関してもコラボレーションを行うことができる。さらに本発明によれば、ブラウザのウィンドウ単位でネットワーク上の任意のコンテンツに関してコラボレーションを行うことができる。
【図面の簡単な説明】
第１図は、本発明の実施の形態におけるコラボレーション・システムの概要である。
第２図は、本発明の実施の形態におけるカスタマー・コンピュータ、エージェント・コンピュータ、コラボレーション・サーバのハードウェア構成の一例を示すブロック図である。
第３図は、本発明の実施の形態におけるコラボレーション・システムのシステム構成を図示した機能ブロック図である。
第４図は、本発明の実施の形態におけるカスタマー・コンピュータとエージェント・コンピュータの同期を確立する処理のフローチャートである。
第５図は、本発明の実施の形態における同期が確立された状態でＵＲＬ遷移イベントが発生した場合の処理を示すフローチャートである。
第６図は、本発明の実施の形態におけるコラボレーション・サーバの同期開始ページである。
第７図は、本発明の実施の形態におけるＦＲＡＭＥ宣言を使用したＨＴＭＬソースである。
第８図は、図７に示すＨＴＭＬソースをウェブ・ブラウザに表示した場合の表示例である。
第９図は、図７に示すＨＴＭＬソースのウェブ・ブラウザによるＵＲＬ解釈およびＵＲＬのリダイレクトを説明したものである。
【図１】
2003038634.tif 000003
【図２】
2003038634.tif 000004
【図３】
2003038634.tif 000005
【図４】
2003038634.tif 000006
【図６】
2003038634.tif 000007
【図５】
2003038634.tif 000008
【図７】
2003038634.tif 000009
【図８】
2003038634.tif 000010
【図９】
2003038634.tif 000011
【国際調査報告】
2003038634.tif 000012
2003038634.tif 000013
2003038634.tif 000014
2003038634.tif 000015