JPWO2003038634A1 - ネットワーク上の複数のコンピュータの間でのコラボレーションを行うための方法、システム、コンピュータ・プログラム - Google Patents
ネットワーク上の複数のコンピュータの間でのコラボレーションを行うための方法、システム、コンピュータ・プログラム Download PDFInfo
- Publication number
- JPWO2003038634A1 JPWO2003038634A1 JP2003540827A JP2003540827A JPWO2003038634A1 JP WO2003038634 A1 JPWO2003038634 A1 JP WO2003038634A1 JP 2003540827 A JP2003540827 A JP 2003540827A JP 2003540827 A JP2003540827 A JP 2003540827A JP WO2003038634 A1 JPWO2003038634 A1 JP WO2003038634A1
- Authority
- JP
- Japan
- Prior art keywords
- server
- content
- collaboration
- address
- transition event
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本発明の1つの目的は、ネットワーク上の任意のコンテンツについて、複数のクライアントの間でコラボレーションを行うことである。インターネットに接続されたコラボレーション・システムはサーバと複数のクライアントを含む。クライアントにリダイレクト・プログラムが常駐して、URL遷移イベントを監視する。URL遷移イベントが発生すると、リダイレクト・プログラムがイベントを捕捉してブラウザにURL遷移イベントをキャンセルさせる。その後、サーバに向けてリダイレクトされたURL遷移が実行される。URL遷移イベントに応じて、サーバはウェブ・サーバからコンテンツを取得する。取得したコンテンツは同期のためのアプレットを追加され、クライアントに伝送される。常にコンテンツの取得がコラボレーション・サーバを通じて行われることにより、クライアント間のコラボレーションを実現する。
Description
従来技術
一般的に、本発明は情報処理技術に関する。より詳しくは、本発明は複数のクライアント・コンピュータをネットワーク上で同期させてコラボレーションを行う技術に関する。
背景技術
複数の人間が同一または関連するコンテンツを閲覧しながら対話的に共同作業(コラボレーション)を行うための様々なコラボレーション・システムが存在する。例えば、カスタマーとエージェントのコラボレーションをサポートするカスタマー・サポート・システムが存在する。また、教師と生徒のコラボレーションをサポートするEラーニング・システムも存在する。これらのシステムに関して、ネットワーク(特にインターネット)上のコンテンツに対して、複数のコンピュータを同期させることによる、より柔軟かつ便利なコラボレーションに対する要求がある。
IBMが提供するWeb Collaborationがこの要求に応えるプログラム製品として存在する。従来のWeb Collaborationを使用して構築されたコラボレーション・システムは、ネットワークに接続されたコラボレーション・サーバおよび複数のクライアント・コンピュータを含んでいる。そのコラボレーション・システムにおいては以下の手法を使用して複数のクライアント・コンピュータの間で同期が行われる。
まず、複数のクライアント・コンピュータ間のコラボレーションが確立される。コラボレーショーンの間、コラボレーション・サーバは複数のクライアント・コンピュータ間の同期を認識する。次に、複数のクライアント・コンピュータのうちのいずれかにおいて、URL遷移イベントが発生する。(”URL”の語は、Uniform Resource Locatorの略であり、TCP/IPネットワーク上のリソースのアドレス・ロケーションを表す。)当該URL遷移イベントは、コラボレーション・サーバのドメイン内のを遷移先としている。URL遷移イベントの発生に応答して、そのURL遷移先イベントの遷移先のURLからコンテンツが取得される。当該URL遷移イベントの遷移先のURLには、コンテンツをどのウェブ・サーバのどのURLから取得すればよいかの情報が含まれている。URL遷移イベントの発生に応じて、コラボレーション・サーバはURL遷移イベントを解釈し、適切なウェブ・サーバの適切なURLからコンテンツを取得する。
その後、コラボレーション・サーバによって、取得されたコンテンツに小さなプログラム(Java(R)アプレット)を埋め込まれる。アプレットは、複数のクライアント・コンピュータの同期に必要である。コラボレーション・サーバはURL遷移イベントを発生したクライアント・コンピュータにアプレットが埋め込まれたコンテンツを伝送する。コンテンツに埋め込まれるアプレットには、(1)コンテンツのロードが完了したことをコラボレーション・サーバに通知するアプレット、(2)ブラウザ・ウィンドウのスクロールを同期させるためのアプレット、(3)他のクライアント・コンピュータにポインタ(矢印)を表示させるためのアプレットなどが含まれ得る。なお、コンテンツにアプレットを埋め込む技術は特開2001−229139号公報にも開示されている。
URL遷移イベントを発生したクライアント・コンピュータのウェブ・ブラウザにアプレットが埋め込まれたコンテンツがロードされる。ロードが完了するとアプレットが自動で起動し、コラボレーション・サーバにロードが完了したことが通知される。その通知に応じて、コラボレーション・サーバはURL遷移イベントを他の同期しているクライアント・コンピュータのウェブ・ブラウザに発生させる。
この手法によれば、取得したコンテンツにコラボレーション・サーバがアプレットを埋め込むことにより複数のクライアント・コンピュータの間の同期が実現される。従って、コンテンツの取得を常にコラボレーション・サーバを介して行う必要がある。そのため、ハイパーリンクをクリックするしてクライアント・コンピュータが任意のウェブ・サーバに直接アクセスした場合は、同期が継続されなくなるという問題があった。また、URLを直接ブラウザに入力した場合なども、同期が継続されなくなるという問題があった。
結論として、従来のWeb Collaborationの手法は、コラボレーションを行うように設計された専用コンテンツ・専用端末を使用したソリューション、例えば、銀行のACM/ATMなどに対しては有効であるが、一般のパーソナル・コンピュータ(PC)でインターネットを閲覧するような状況では、コラボレーションをすることができなかった。
Scherpbierによる米国特許5,944,791に、コンテンツの取得が常にコラボレーション・サーバを介して行うことに関連する技術が開示されている。その米国特許に記載された発明を使用して構築されたシステムには、コントロール・サイトと呼ばれるサーバが設けられる。パイロット・コンピュータと呼ばれるクライアント・コンピュータのブラウザにおけるURL遷移イベントに応じて、コントロール・サイトはウェブ・サーバからコンテンツを取得する。
コントロール・サイトにおいて、取得されたコンテンツに含まれるハイパーリンク先のURLがコントロール・サイトに対して向けられるように変更される。変更されたコンテンツがパイロット・コンピュータに伝送される。その結果、ハイパーリンクを使用してコンテンツをブラウジングする場合、常にコントロール・サイトを経由してコンテンツの取得がなされる。
しかし、例えば、パイロット・コンピュータでブラウザのURL入力フィールドへのURLを直接入力してURL遷移イベントを発生させた場合などは、コンテンツの取得がコントロール・サイトを経由しなくなる。さらに、ハイパーリンク先のURL含むコンテンツの内容がクライアント・コンピュータ(パイロット・コンピュータ)においてアプレットなどを使用して確定するコンテンツが存在する。そのようなコンテンツの場合は、コントロール・サイトにおいてリンク先のURLを変更することができない。変更されなかったハイパーリンク先のURLに移動しようとした場合も、コンテンツの取得がコントロール・サイトを経由しなくなってしまう。
また、ウェブ・サーバに対するコンテンツ取得を特定のサーバ経由で行う一般的手法として、プロクシ・サーバを設ける手法がある。プロクシ・サーバは、ファイアーウォールの内側にあるクライアント・コンピュータからアクセス要求(HTTP、FTPなど)を受け付け、クライアント・コンピュータの代理を務めるサーバである。(なお、ファイアーウォールとは、ローカルなネットワークと、その外部ネットワーク(例えば、インターネット)、との間に、外部からの不正なアクセスを防ぐ機能的役割を担うルータやホストなどのことである。)
しかし、プロクシ・サーバを使用する場合、クライアント・コンピュータに対してプロクシ・サーバを指定するための設定作業が必要となってしまう。また、同期される複数のクライアント・コンピュータがファイアウォールを越えての同期を試みる場合は、それぞれのクライアント・コンピュータに対するプロクシ・サーバとして同一のコラボレーション・サーバを設定することはできない。さらに、プロクシ・サーバを使用する場合は、通常のコンピュータはプロクシ・サーバを1つしか指定できないためブラウザ・ウィンドウ単位でコラボレーションを行うことができない。たとえブラウザ・ウィンドウ単位にプロクシ・サーバを設定できるようにしたとしても、プロキシ・サーバの設定の作業に多大な労力が必要である。
本発明の1つの目的は、特別なソフトウェアをクライアント・コンピュータに導入することなくネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、クライアント・コンピュータ上で最終的な内容が確定する動的なコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、クライアント・コンピュータのブラウザにURLを直接入力した場合でもコラボレーションサーバを通じてコンテンツの取得がされるようにすることにより、ネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、クライアント・コンピュータで追加のコンピュータの設定をすることなしにネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、ブラウザのウィンドウ単位でネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
発明の開示
本発明は上述の目的を達成するために、URLリダイレクションという手法を導入する。上述の目的は、具体的にはコラボレーション・サーバと複数のクライアント・コンピュータを含むコラボレーション・システムであって、コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続され、複数のクライアント・コンピュータそれぞれが、ブラウザと、ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、監視する手段によってアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、アドレス・ロケーション遷移イベントに基いて、コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成する手段と、リダイレクトされたアドレス・ロケーションを使用してコラボレーション・サーバにコンテンツを取得させる手段とを有するコラボレーション・システムにより達成される。
前述のコラボレーション・システムにおいては、取得させる手段が、リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントをブラウザに発生させる手段を有し、リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが取り消す手段によって取り消されず、コラボレーション・サーバが、リダイレクトされたアドレス・ロケーション遷移イベントに応答して、コンテンツ・サーバからコンテンツを取得する手段と、取得する手段により取得されたコンテンツをクライアント・コンピュータに伝送する手段を有するようにすることができる。
前述のコラボレーション・システムにおいては、コラボレーション・サーバが、同期のためのプログラムをコンテンツに埋め込む手段をさらに有し、同期のためのプログラムが埋め込まれたコンテンツがクライアント・コンピュータに伝送されるようにすることができる。
前述のコラボレーション・システムにおいては、ネットワークがTCP/IPネットワークであり、コンテンツ・サーバがウェブ・サーバであり、ブラウザ手段がウェブ・ブラウザであり、アドレス・ロケーションがURLであるようにすることができる。
なお、本発明は前述した「システム(コラボレーション・システム)」としての発明の他、「コンテンツを取得する方法」として把握することも可能である。
また本発明は、複数のサーバを含むネットワークに接続されたクライアント・コンピュータにおいて実行されるリダイレクト・プログラムであって、クライアント・コンピュータはブラウザを含み、クライアント・コンピュータに、ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手順と、監視する手順において、ブラウザに発生した1のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手順と、アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手順と、リダイレクトされたアドレス・ロケーションを使用して他のサーバからコンテンツを取得する手順と、を実行させるリダイレクト・プログラムとして把握することもできる。
なお、本発明は前述した「プログラム(リダイレクト・プログラム)」としての発明の他、「クライアント・コンピュータ」として把握することも可能である。
発明を実施するための最良の形態
本発明の実施の形態を図面に基いて詳細に説明する。ただし、本発明は多くの異なる態様で実施可能であり、本実施の形態の記載内容に限定して解釈すべきではない。本実施の形態の全体を通して同じ要素には同じ番号を付している。
図1に本発明の実施の形態であるカスタマー・サポート・システムの概観を示す。
本発明の実施の形態であるカスタマー・サポート・システムでは、カスタマー・コンピュータ100とエージェント・コンピュータ200をコラボレーションさせることにより、カスタマー・サポートのサービスが提供される。カスタマー・コンピュータ100は、カスタマーによって操作される。エージェント・コンピュータ200は、カスタマー・サポートを提供する企業のサービス担当者(エージェント)によって操作される。
カスタマー・コンピュータ100がダイアルアップ接続等によりISP(インターネット・サービス・プロバイダ)のサーバ500を介してインターネットに接続されている。カスタマー・コンピュータ100からISPへの接続はダイアルアップ接続に限られず、例えば、専用線、ADSL(Asymmetric Digital Subscriber Line)、CATV(Cable Television)等を用いた常時接続により行ってもよい。
また、エージェント・コンピュータ200は、他のエージェント・コンピュータ800とともに社内LAN(イントラネット)に接続されている。社内LANにはプロクシ・サーバ700が含まれ、プロクシ・サーバ700はエージェント・コンピュータのアクセス要求(HTTP、FTPなど)を受け、インターネットのコンテンツ取得などを代理する。また、社内LANはファイアウォール600を介してインターネットと接続されている。
インターネットには多くのウェブ・サーバ400が含まれている。本発明の実施の形態においては、インタネットには、コラボレーション・サーバ300も含まれている。
図2に本発明の実施の形態において使用されるコラボレーション・サーバ300の代表的なハードウェア構成の一例を示す。コラボレーション・サーバ300は、中央処理装置(CPU)1とメインメモリ4を含んでいる。CPU1とメインメモリ4は、バス2を介して、補助記憶装置としてのハードディスク装置13と接続されている。また、フレキシブルディスク装置20、MO装置28、CR−ROM装置26、29などのリムーバブルストレージ(記録メディアを交換可能な外部記憶システム)が関連するフレキシブルディスク・コントローラ19、IDEコントローラ25、SCSIコントローラ27などを介してバス2へ接続されている。
フレキシブルディスク装置20、MO装置28、CR−ROM装置26、29などのリムーバブルストレージには、それぞれフレキシブルディスク、MO、CD−ROMなどの記憶媒体が挿入され、このフレキシブルディスク等やハードディスク装置13、ROM14には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ4にロードされることによってコンピュータプログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
コラボレーション・サーバ300は、さらに、ユーザ・インターフェイス・ハードウェアとして、マウス等のポインティング・デバイス7、キーボード6や視覚データをユーザに提示するためのディスプレイ12を有することができる。また、パラレルポート16を介してプリンタ(図示せず)と接続することや、シリアルポート15を介してモデム(図示せず)を接続することが可能である。コラボレーション・サーバ300は、シリアルポート15及びモデムを介し、また、通信アダプタ18(イーサネット(R)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
スピーカ23は、オーディオ・コントローラ21によってD/A変換(デジタル/アナログ変換)された音声信号をアンプ22を介して受け取り、音声として出力する。また、オーディオ・コントローラ21は、マイクロフォン24から受け取った音声情報をA/D変換(アナログ/デジタル変換)し、システム外部の音声情報をシステムに取り込むことを可能にしている。
以上の説明により、本発明の実施の形態におけるコラボレーション・サーバ300は、メインフレーム、ワークステーション、通常のパーソナルコンピュータ(PC)、ラップトップPC、ノートブックPC、パームトップPC、ネットワークコンピュータ等の情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
特に、ここで説明したハードウェア構成のうち、フレキシブルディスク装置20、MO装置28、CR−ROM装置26、29などのリムーバブルストレージ、パラレルポート16、プリンタ、シリアルポート15、モデム、通信アダプタ18、スピーカ23、オーディオ・コントローラ21、アンプ22、マイクロフォン24などはなくても、カスタマー・コンピュータ100とエージェント・コンピュータ200のコラボレーションは実現可能であるので、本発明の実施の形態におけるコラボレーション・サーバ300に含めなくともよい。
本発明の実施に使用されるコラボレーション・サーバ300の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得るものであり、それらの変更は、当然に本発明の思想に包含される概念である。
本発明の実施の形態において使用されるカスタマー・コンピュータ100およびエージェント・コンピュータ200は、コラボレーション・サーバ300と同様に、図2に示すハードウェア構成により実施することができる。すなわち、カスタマー・コンピュータ100およびエージェント・コンピュータ200は、情報入手要求を入力し、それを発信・受信する機能があればよいので、通常のパーソナル・コンピュータ(PC)やワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵した家電製品、通信機能を有するゲーム機、電話、FAX、携帯電話、PHS、電子手帳等を含む通信機能を有する情報端末やこれらの組み合わせで実施可能であることが容易に理解される。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300のオペレーティング・システムとしては、マイクロソフト社のWindowsXP(R),Windows2000(R),WindowsNT(R),WindowsMe(R),Windows9x(R),Windows3.x(R)、IBMのOS/2,AIX、Apple社のMacOS、Linuxなどの標準でGUIマルチウィンドウ環境をサポートするものや、IBMのPC−DOS、マイクロソフト社のMS−DOSなどのキャラクタ・ベース環境のもの、さらにはIBMのOS/Open、Wind River Systems,Inc.のVx WorksなどのリアルタイムOS、Java(R)OSなどのネットワーク・コンピュータに組み込まれたOSでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。また、カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300はそれぞれ異なるオペレーティング・システム環境で動作するようにしてもよいことは勿論である。
図3に本発明の実施の形態におけるコラボレーション・システムのシステム構成を示す。図3のシステム構成に示す各要素は、図2に示したコンピュータ上でハードウェアとソフトウェアが協働して実現される。本発明の実施の形態におけるコラボレーション・システムは、カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300を含む。コラボレーション・システムはインターネットに接続されており、インターネット上のコンテンツが記憶されたウェブ・サーバ400と通信を行うことができる。
カスタマー・コンピュータ100,エージェント・コンピュータ200には、ウェブ・ブラウザ110,210がそれぞれロードされている。カスタマー・コンピュータ100,エージェント・コンピュータ200のマウス、キーボードなどのユーザ・インターフェースを使用してウェブ・ブラウザ110,210が操作される。ウェブ・ブラウザ110,210は、ページ表示部111,211およびURL遷移イベント発生部112,212を含む。
URL遷移イベント発生部112,212は、ブラウザ・ウィンドウのURL入力フィールドへのURL直接入力、ハイパーリンクのクリック、リダイレクトプログラム120,220の要求などに応じて、URL遷移イベントをウェブ・ブラウザ110,120に発生させる。ページ表示部111,211は、URL遷移イベント発生部112,212により発生したURL遷移イベントの結果得られたコンテンツを表示装置に表示する。
ウェブ・ブラウザ110,210はマイクロソフト社のインターネット・エクスプローラ、ネットスケープ・コミュニケーションズ社のネットスケープ・ナビゲータなどを使用することにより実現される。インターネット・エクスプローラが使用される場合は、リダイレクト・プログラム120,220はActiveXコントロールとして実現され得る。ネットスケープ・ナビゲータが使用される場合はリダイレクト・プログラム120,220はプラグインとして実現され得る。
同期を確立する処理が実行された後は、カスタマー・コンピュータ100,エージェント・コンピュータ200にはリダイレクト・プログラム120,220がロードされている。(同期を確立する処理は、後に詳述する。)リダイレクト・プログラム120,220は、URL遷移監視部121,221、URL遷移取消部122,222、URL生成部123,223、URL遷移変更部124,224を含んでいる。
リダイレクト・プログラム120,220は、ウェブ・ブラウザ110,210におけるURL遷移イベントをURL遷移監視部121,221により監視する。URL遷移イベントを捕捉した場合、URL遷移取消部122,222はウェブ・ブラウザ110,210にそのURL遷移イベントを取り消させる。URL生成部123,223により、そのURL遷移イベントに基いてコラボレーション・サーバ300にリダイレクトされたURLが生成される。URL遷移要求部124,224は、URL生成部123,223により生成されたURLを遷移先とするURL遷移イベントの発生をウェブ・ブラウザ110,210に要求する。
コラボレーション・サーバ300は、セッション・マネージャ310、キャッシュ・マネージャ320、キャッシュ・データ記憶部330を含んでいる。セッション・マネージャ310は、後に詳述する同期を確立する処理において、カスタマー・コンピュータ100からの同期の確立要求に応じて、エージェント・コンピュータ200をコラボレーションの相手として割り当て、コラボレーション・セッションを確立する。
キャッシュ・マネージャ320は、リダイレクトされたURL遷移イベントの発生に応じてインターネット上のウェブ・サーバ400からコンテンツを取得し、同期のために必要なプログラム(アプレットとして実現される。)を埋め込んでカスタマー・コンピュータ100およびエージェント・コンピュータ200に伝送する。ウェブ・サーバ400から取得されたデータ、カスタマー・コンピュータ100,エージェント・コンピュータ200に伝送されたデータはキャッシュ・データ記憶部330に記憶される。
図4に本発明の実施の形態におけるカスタマー・コンピュータ100とエージェント・コンピュータ200の同期を確立する処理のフローチャートを示す。
処理はステップ4000から開始される。ステップ4010においてカスタマー・コンピュータ100のウェブ・ブラウザ110のURL入力フィールド6010に所定のURL(本実施の形態に、おいては“http://collaboration−server/login.html”であるとする。)を直接入力する等により、ウェブ・ブラウザ110に図6に示すコラボレーション・サーバ300の同期開始ページが表示される。同期開始ページは、カスタマー・コンピュータ100を識別するための名前入力フィールド6020、同期の開始ボタンであるCALLボタン6030、同期の中止ボタンであるEXITボタン6040を含んでいる。同期の確立を要求するために、カスタマー・コンピュータ100のキーボード、マウスなどのユーザ・インターフェイスを操作して名前入力フィールド6020にIDが入力され、CALLボタン6030が押される。
ステップ4010においてCALLボタン6030が押されたことに応じて、ステップ4020でカスタマー・コンピュータ100のウェブ・ブラウザ110は、リダイレション・プログラム120を含むデータのダウンロードをコラボレーション・サーバ300にHTTPプロトコルで要求する。
ステップ4020におけるダウンロードの要求に応じて、ステップ4030においてカスタマー・コンピュータ100と同期を確立するエージェント・コンピュータがコラボレーション・サーバ300のセッション・マネージャにより選択される。エージェント・コンピュータの選択は、例えば、最初のログインまたは前回のコラボレーションが終了してから最も時間が経過しているエージェント・コンピュータを選ぶようにするとよい。本発明の実施の形態では、エージェント・コンピュータ200が選択されたとする。
さらにステップ4030では、リダイレクト・プログラム120,220を含むデータがそれぞれカスタマー・コンピュータ100,エージェント・コンピュータ200にダウンロードされる。あわせて、要求を出したブラウザ・ウィンドウに対するウィンドウIDが決定される。さらに、ウィンドウIDに基いて、このコラボレーション・セッションのための作業用パスを決定する。本発明の実施の形態においてはウィンドウIDとして“0”が、作業用パスとして“http://colaboration−server/.cm2/0/url=”が割り当てられたとする。
次に、ステップ4040において、エージェント・コンピュータ200においてウェブ・ブラウザ210のブラウザ・ウィンドウが1つ起動し、続いて、ダウンロードされたデータに含まれるリダイレクト・プログラム120,220がカスタマー・コンピュータ100,エージェント・コンピュータ200において自動で起動される。リダイレクト・プログラム120,220が起動されると、カスタマー・コンピュータ100,エージェント・コンピュータ200にリダイレクト・プログラム120,220が常駐し、ウェブ・ブラウザ110,220の対応するブラウザ・ウィンドウにおけるURL遷移イベントの監視が開始され、カスタマー・コンピュータ100とエージェント・コンピュータ200の同期が確立される。ステップ4050でカスタマー・コンピュータ100,エージェント・コンピュータ200の同期の確立の処理が完了する。
カスタマー・コンピュータ100とエージェント・コンピュータ200の同期が確立している状態で、カスタマー・コンピュータ100のウェブ・ブラウザ110においてURL遷移イベントが発生した場合の処理を示すフローチャートを図5に示す。
処理はステップ5000からスタートする。ステップ5010においてユーザがキーボード、マウスなどを操作し、ウェブ・ブラウザ110のブラウザ・ウィンドウに表示されているウェブ・ページのハイパーリンクをダブルクリックする、またはURLを直接入力することなどによりURL遷移要求イベントが発生する。ステップ5010においてウェブ・ブラウザ110でURL遷移イベントが発生すると、ステップ5020においてリダイレクト・プログラム120がそのURL遷移要求イベントを捕捉する。
ステップ5020でURL遷移要求イベントが捕捉されると、ステップ5030においてリダイレクト・プログラム120は捕捉したURL遷移要求イベントのURLが“http://collaboration_server/.cm2/0/url=”のパスを含むものであるかどうかを判定する。含まない(すなわち、後述するリダイレクトがなされる前)の場合は、処理はNOの矢印を通じてステップ5040へ進み、リダイレクト・プログラム120はウェブ・ブラウザ110にそのURLへのURL遷移イベントを取り消させる。
その後、ステップ5050においてリダイレクト・プログラム120はコラボレーション・サーバ300にリダイレクトされたURLをステップ5010において発生したURL遷移イベントに基いて生成する。リダイレクトされたURLの生成は、同期の確立の際に決定された作業用パスに、ステップ5010において発生したURL遷移イベントの遷移先のURLの文字列から“http:”を除いたものを続けることにより生成するとよい。例えば、ステップ5010においてカスタマー・コンピュータ100のウェブ・ブラウザ110で発生したURL遷移イベントの遷移先のURLが“http://www.ibm.com”の場合は、リダイレクトされたURLは“http://collaboration_server/.cm2/0/url=//www.ibm.com”となる。
ステップ5060おいて、リダイレクト・プログラム120はウェブ・ブラウザ110にリダイレクトされたURLへのURL遷移イベントの発生を要求する。ウェブ・ブラウザ110はその要求に応じて、リダイレクトされたURLへのURL遷移イベントを発生させる。
リダイレクトされたURLを遷移先とするURL遷移イベントもリダイレクト・プログラム120により監視されており、ステップ5020においてリダイレクト・プログラム120はこのURL遷移イベントを捕捉する。しかし、リダイレクトされたURLは“http://collaboration_server/.cm2/0/url=”のパスを含むものであるので、処理はステップ5030においてYESの矢印を通じてステップ5070へ進む。すなわち、リダイレクトされたURLに関してはURL遷移イベントは取り消されない。
次に、ステップ5070において、ウェブ・ブラウザ110はリダイレクトされたURLを使用してコラボレーション・サーバ300にコンテンツの取得を要求する。コラボレーション・サーバ300はコンテンツの取得の要求に応じて、ステップ5080において、コンテンツの取得の要求の内容を解釈して、ウェブ・サーバ400からコンテンツを取得する。具体的には、リダイレクトされたURLが“http://collaboration_server/.cm2/0/url=//www.ibm.com”の場合は、コラボレーション・サーバ300は、作業用パスが“http://collaboration_server/.cm2/0/url=”であることがわかっているので、取得すべきコンテンツは“http://www.ibm.com”に存在すると判断し、当該URLからコンテンツを取得することとなる。
その後、ステップ5080においてコラボレーション・サーバ300はウェブ・サーバから取得したコンテンツに同期のためのアプレットを埋め込む。埋め込まれるアプレットには、そのコンテンツのカスタマー・コンピュータ100へのロードが完了したときにロードが完了したことをコラボレーション・サーバ300に通知するアプレットが含まれている。
ステップ5090においてアプレットが埋め込まれたコンテンツがカスタマー・コンピュータ100に伝送され、伝送されたコンテンツがカスタマー・コンピュータ100のウェブ・ブラウザ110に表示される。ステップ5090における表示が完了した後に、ステップ5100でコンテンツに埋め込まれたアプレットが起動され、ロードの完了がカスタマー・コンピュータ100からコラボレーション・サーバ300に通知される。
ロードの完了の通知に応じて、ステップ5110で、エージェント・コンピュータ200のウェブ・ブラウザ210でもカスタマー・コンピュータ100のウェブ・ブラウザ110と同じ表示をするために、コラボレーション・サーバ300からエージェント・コンピュータ200へカスタマー・コンピュータ100へロードしたものと同じコンテンツが伝送され、エージェント・コンピュータ200のウェブ・ブラウザ210に伝送されたコンテンツが表示される。また、あわせてステップ5110では、エージェント・コンピュータ200にコンテンツが表示された後、コラボレーション・サーバ300へコンテンツのロードの完了がエージェント・コンピュータ200から通知され、次にその通知がコラボレーション・サーバ300からカスタマー・コンピュータ100へ転送される。この通知および転送により、コラボレーションが正常に行われていることが、カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300に認識される。ステップ5120で処理が完了する。
上述の説明では、URL遷移イベントがハイパーリンクのダブルクリックまたはURLの直接入力で発生する場合を説明したが、インターネット上のコンテンツの形式として広く用いられているHTML(Hyper Text Markup Language)では、あるURLを有するページ内でさらに階層的にURLを呼び出す記述がFRAME宣言などにより可能となっでおり、ページ内にこのような宣言が含まれている場合もURL遷移イベントが発生し、図5のフローチャートに示す処理が実行される。
ここで、階層的にURLを呼び出す場合の呼び出し先のURLの記述方法は(1)現在のパスからの相対パス記述(2)現在のサーバのドメインのルートからのパス記述(3)サーバのドメインからのパス記述、の3種類の記述が存在する。以下にこれら3種類の記述に対するリダイレクトされたURLの生成について説明する。
前述の“http://www.ibm.com”のページの内容(HTMLソース)が、図7に示す内容であるとする。この場合、2行目のFRAME宣言が(1)現在のパスからの相対パス記述である。4行目のFRAME宣言が(2)現在のサーバのドメインのルートからのパス記述であり、5行目のFRAME宣言が(3)サーバのドメインからのパス記述に該当する。なお、HTMLフォーマットに関しては、W3C(ワールド・ワード・ウェブ・コンソーシアム)により仕様が開示されており、かつ、当業者に周知であるので詳細な説明は省略する。
URLのリダイレクトが行われていない場合は、このHTMLソースによれば、ブラウザ・ウィンドウは図8に示すようにフレーム分割され、HTMLソースの2,4,5行目がそれぞれウェブ・ブラウザ110により解釈されて、“http://www.ibm.com/index.html”の内容が上部のフレームに、“http://www.ibm.com/test/index2.html”の内容が左下のフレームに、“http://www.ibm2.com/index3.html”の内容が右下のフレームに表示される。
これに対して、リダイレクト・プログラム120により“http://www.ibm.com”が“http://collaboration_server/.cm2/0/url=//www.ibm.com”にリダイレクションされた場合は、ウェブ・ブラウザ110はHTMLソースの2,4,5行目をそれぞれ図9の表の各項目の上段に示すURLであると解釈する。
この場合(1)現在のパスからめ相対パス記述に関しては、リダイレクト・プログラム120による変更は不要である。また(3)サーバのドメインからのパス記述の場合は、前述したのと同様の変更をリダイレクト・プログラム120により行うとよい。しかし、(2)現在のサーバのドメインのルートからのパス記述の場合は、リダイレクト・プログラム120による特別な変更が必要となる。すなわち(2)の場合は、“http://www.collaboration−sever”の文字列を作業用パス“http://collaboration−server/.cm2/0/url=”にリダイレクト・プログラム120により置換する必要がある。上記によるリダイレクトされた後のURLを図9の表の各項目の下段に示す。
上記の本発明の実施の形態は、説明を目的として記述されたものであって、すべての実施態様を記述するものではなく、本発明の実施の形態に開示された形式に発明を限定する意図ではない。上記の開示によれば、多くの変更例とバリエーションが実現可能である。本発明の範囲は発明の詳細な説明の記載により制限されるのではなく、特許請求の範囲により定まるものであることに留意されたい。
本発明の実施の形態はカスタマー・サポート・システムにおけるカスタマーとエージェントのコラボレーションに本発明を応用した例を用いて説明したが、本発明は1対多または多対多の電子会議などの同期にも応用可能な技術であることは当業者であれば自明であることにも留意されたい。コンテンツに埋め込むアプレットをカスタマー・コンピュータに伝送するコンテンツとエージェント・コンピュータに伝送するコンテンツで異なるようにしてもよい。また本発明の実施の形態においては、インターネット/イントラネット(社内LAN)を例に説明しているが、本発明はインターネットに使用されるプロトコルではない他のプロトコルにより構築されたネットワークにも応用可能であることは勿論である。上記の仕様、例、データにより本発明の一態様の製造および使用が完全に説明される。本発明の多くの実施例が本発明の精神と範囲を離れることなく実現される。
本発明によれば、クライアント・コンピュータに特別なコラボレーション・ソフトウェアを導入することなく、また、特別な設定を行うことなく、任意のページを関してネットワーク上でコラボレーションを行うことができる。また本発明によれば、クライアント・コンピュータにおいてリダイレクトを行うので、クライアント・コンピュータ上で最終的な内容が確定する動的なコンテンツに関してもコラボレーションを行うことができる。さらに本発明によれば、ブラウザのウィンドウ単位でネットワーク上の任意のコンテンツに関してコラボレーションを行うことができる。
【図面の簡単な説明】
第1図は、本発明の実施の形態におけるコラボレーション・システムの概要である。
第2図は、本発明の実施の形態におけるカスタマー・コンピュータ、エージェント・コンピュータ、コラボレーション・サーバのハードウェア構成の一例を示すブロック図である。
第3図は、本発明の実施の形態におけるコラボレーション・システムのシステム構成を図示した機能ブロック図である。
第4図は、本発明の実施の形態におけるカスタマー・コンピュータとエージェント・コンピュータの同期を確立する処理のフローチャートである。
第5図は、本発明の実施の形態における同期が確立された状態でURL遷移イベントが発生した場合の処理を示すフローチャートである。
第6図は、本発明の実施の形態におけるコラボレーション・サーバの同期開始ページである。
第7図は、本発明の実施の形態におけるFRAME宣言を使用したHTMLソースである。
第8図は、図7に示すHTMLソースをウェブ・ブラウザに表示した場合の表示例である。
第9図は、図7に示すHTMLソースのウェブ・ブラウザによるURL解釈およびURLのリダイレクトを説明したものである。
一般的に、本発明は情報処理技術に関する。より詳しくは、本発明は複数のクライアント・コンピュータをネットワーク上で同期させてコラボレーションを行う技術に関する。
背景技術
複数の人間が同一または関連するコンテンツを閲覧しながら対話的に共同作業(コラボレーション)を行うための様々なコラボレーション・システムが存在する。例えば、カスタマーとエージェントのコラボレーションをサポートするカスタマー・サポート・システムが存在する。また、教師と生徒のコラボレーションをサポートするEラーニング・システムも存在する。これらのシステムに関して、ネットワーク(特にインターネット)上のコンテンツに対して、複数のコンピュータを同期させることによる、より柔軟かつ便利なコラボレーションに対する要求がある。
IBMが提供するWeb Collaborationがこの要求に応えるプログラム製品として存在する。従来のWeb Collaborationを使用して構築されたコラボレーション・システムは、ネットワークに接続されたコラボレーション・サーバおよび複数のクライアント・コンピュータを含んでいる。そのコラボレーション・システムにおいては以下の手法を使用して複数のクライアント・コンピュータの間で同期が行われる。
まず、複数のクライアント・コンピュータ間のコラボレーションが確立される。コラボレーショーンの間、コラボレーション・サーバは複数のクライアント・コンピュータ間の同期を認識する。次に、複数のクライアント・コンピュータのうちのいずれかにおいて、URL遷移イベントが発生する。(”URL”の語は、Uniform Resource Locatorの略であり、TCP/IPネットワーク上のリソースのアドレス・ロケーションを表す。)当該URL遷移イベントは、コラボレーション・サーバのドメイン内のを遷移先としている。URL遷移イベントの発生に応答して、そのURL遷移先イベントの遷移先のURLからコンテンツが取得される。当該URL遷移イベントの遷移先のURLには、コンテンツをどのウェブ・サーバのどのURLから取得すればよいかの情報が含まれている。URL遷移イベントの発生に応じて、コラボレーション・サーバはURL遷移イベントを解釈し、適切なウェブ・サーバの適切なURLからコンテンツを取得する。
その後、コラボレーション・サーバによって、取得されたコンテンツに小さなプログラム(Java(R)アプレット)を埋め込まれる。アプレットは、複数のクライアント・コンピュータの同期に必要である。コラボレーション・サーバはURL遷移イベントを発生したクライアント・コンピュータにアプレットが埋め込まれたコンテンツを伝送する。コンテンツに埋め込まれるアプレットには、(1)コンテンツのロードが完了したことをコラボレーション・サーバに通知するアプレット、(2)ブラウザ・ウィンドウのスクロールを同期させるためのアプレット、(3)他のクライアント・コンピュータにポインタ(矢印)を表示させるためのアプレットなどが含まれ得る。なお、コンテンツにアプレットを埋め込む技術は特開2001−229139号公報にも開示されている。
URL遷移イベントを発生したクライアント・コンピュータのウェブ・ブラウザにアプレットが埋め込まれたコンテンツがロードされる。ロードが完了するとアプレットが自動で起動し、コラボレーション・サーバにロードが完了したことが通知される。その通知に応じて、コラボレーション・サーバはURL遷移イベントを他の同期しているクライアント・コンピュータのウェブ・ブラウザに発生させる。
この手法によれば、取得したコンテンツにコラボレーション・サーバがアプレットを埋め込むことにより複数のクライアント・コンピュータの間の同期が実現される。従って、コンテンツの取得を常にコラボレーション・サーバを介して行う必要がある。そのため、ハイパーリンクをクリックするしてクライアント・コンピュータが任意のウェブ・サーバに直接アクセスした場合は、同期が継続されなくなるという問題があった。また、URLを直接ブラウザに入力した場合なども、同期が継続されなくなるという問題があった。
結論として、従来のWeb Collaborationの手法は、コラボレーションを行うように設計された専用コンテンツ・専用端末を使用したソリューション、例えば、銀行のACM/ATMなどに対しては有効であるが、一般のパーソナル・コンピュータ(PC)でインターネットを閲覧するような状況では、コラボレーションをすることができなかった。
Scherpbierによる米国特許5,944,791に、コンテンツの取得が常にコラボレーション・サーバを介して行うことに関連する技術が開示されている。その米国特許に記載された発明を使用して構築されたシステムには、コントロール・サイトと呼ばれるサーバが設けられる。パイロット・コンピュータと呼ばれるクライアント・コンピュータのブラウザにおけるURL遷移イベントに応じて、コントロール・サイトはウェブ・サーバからコンテンツを取得する。
コントロール・サイトにおいて、取得されたコンテンツに含まれるハイパーリンク先のURLがコントロール・サイトに対して向けられるように変更される。変更されたコンテンツがパイロット・コンピュータに伝送される。その結果、ハイパーリンクを使用してコンテンツをブラウジングする場合、常にコントロール・サイトを経由してコンテンツの取得がなされる。
しかし、例えば、パイロット・コンピュータでブラウザのURL入力フィールドへのURLを直接入力してURL遷移イベントを発生させた場合などは、コンテンツの取得がコントロール・サイトを経由しなくなる。さらに、ハイパーリンク先のURL含むコンテンツの内容がクライアント・コンピュータ(パイロット・コンピュータ)においてアプレットなどを使用して確定するコンテンツが存在する。そのようなコンテンツの場合は、コントロール・サイトにおいてリンク先のURLを変更することができない。変更されなかったハイパーリンク先のURLに移動しようとした場合も、コンテンツの取得がコントロール・サイトを経由しなくなってしまう。
また、ウェブ・サーバに対するコンテンツ取得を特定のサーバ経由で行う一般的手法として、プロクシ・サーバを設ける手法がある。プロクシ・サーバは、ファイアーウォールの内側にあるクライアント・コンピュータからアクセス要求(HTTP、FTPなど)を受け付け、クライアント・コンピュータの代理を務めるサーバである。(なお、ファイアーウォールとは、ローカルなネットワークと、その外部ネットワーク(例えば、インターネット)、との間に、外部からの不正なアクセスを防ぐ機能的役割を担うルータやホストなどのことである。)
しかし、プロクシ・サーバを使用する場合、クライアント・コンピュータに対してプロクシ・サーバを指定するための設定作業が必要となってしまう。また、同期される複数のクライアント・コンピュータがファイアウォールを越えての同期を試みる場合は、それぞれのクライアント・コンピュータに対するプロクシ・サーバとして同一のコラボレーション・サーバを設定することはできない。さらに、プロクシ・サーバを使用する場合は、通常のコンピュータはプロクシ・サーバを1つしか指定できないためブラウザ・ウィンドウ単位でコラボレーションを行うことができない。たとえブラウザ・ウィンドウ単位にプロクシ・サーバを設定できるようにしたとしても、プロキシ・サーバの設定の作業に多大な労力が必要である。
本発明の1つの目的は、特別なソフトウェアをクライアント・コンピュータに導入することなくネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、クライアント・コンピュータ上で最終的な内容が確定する動的なコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、クライアント・コンピュータのブラウザにURLを直接入力した場合でもコラボレーションサーバを通じてコンテンツの取得がされるようにすることにより、ネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、クライアント・コンピュータで追加のコンピュータの設定をすることなしにネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
本発明の他の1つの目的は、ブラウザのウィンドウ単位でネットワーク上の任意のコンテンツに関して複数のクライアント・コンピュータのコラボレーションを可能にするコラボレーション・システムを提供することにある。
発明の開示
本発明は上述の目的を達成するために、URLリダイレクションという手法を導入する。上述の目的は、具体的にはコラボレーション・サーバと複数のクライアント・コンピュータを含むコラボレーション・システムであって、コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続され、複数のクライアント・コンピュータそれぞれが、ブラウザと、ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、監視する手段によってアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、アドレス・ロケーション遷移イベントに基いて、コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成する手段と、リダイレクトされたアドレス・ロケーションを使用してコラボレーション・サーバにコンテンツを取得させる手段とを有するコラボレーション・システムにより達成される。
前述のコラボレーション・システムにおいては、取得させる手段が、リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントをブラウザに発生させる手段を有し、リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが取り消す手段によって取り消されず、コラボレーション・サーバが、リダイレクトされたアドレス・ロケーション遷移イベントに応答して、コンテンツ・サーバからコンテンツを取得する手段と、取得する手段により取得されたコンテンツをクライアント・コンピュータに伝送する手段を有するようにすることができる。
前述のコラボレーション・システムにおいては、コラボレーション・サーバが、同期のためのプログラムをコンテンツに埋め込む手段をさらに有し、同期のためのプログラムが埋め込まれたコンテンツがクライアント・コンピュータに伝送されるようにすることができる。
前述のコラボレーション・システムにおいては、ネットワークがTCP/IPネットワークであり、コンテンツ・サーバがウェブ・サーバであり、ブラウザ手段がウェブ・ブラウザであり、アドレス・ロケーションがURLであるようにすることができる。
なお、本発明は前述した「システム(コラボレーション・システム)」としての発明の他、「コンテンツを取得する方法」として把握することも可能である。
また本発明は、複数のサーバを含むネットワークに接続されたクライアント・コンピュータにおいて実行されるリダイレクト・プログラムであって、クライアント・コンピュータはブラウザを含み、クライアント・コンピュータに、ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手順と、監視する手順において、ブラウザに発生した1のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手順と、アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手順と、リダイレクトされたアドレス・ロケーションを使用して他のサーバからコンテンツを取得する手順と、を実行させるリダイレクト・プログラムとして把握することもできる。
なお、本発明は前述した「プログラム(リダイレクト・プログラム)」としての発明の他、「クライアント・コンピュータ」として把握することも可能である。
発明を実施するための最良の形態
本発明の実施の形態を図面に基いて詳細に説明する。ただし、本発明は多くの異なる態様で実施可能であり、本実施の形態の記載内容に限定して解釈すべきではない。本実施の形態の全体を通して同じ要素には同じ番号を付している。
図1に本発明の実施の形態であるカスタマー・サポート・システムの概観を示す。
本発明の実施の形態であるカスタマー・サポート・システムでは、カスタマー・コンピュータ100とエージェント・コンピュータ200をコラボレーションさせることにより、カスタマー・サポートのサービスが提供される。カスタマー・コンピュータ100は、カスタマーによって操作される。エージェント・コンピュータ200は、カスタマー・サポートを提供する企業のサービス担当者(エージェント)によって操作される。
カスタマー・コンピュータ100がダイアルアップ接続等によりISP(インターネット・サービス・プロバイダ)のサーバ500を介してインターネットに接続されている。カスタマー・コンピュータ100からISPへの接続はダイアルアップ接続に限られず、例えば、専用線、ADSL(Asymmetric Digital Subscriber Line)、CATV(Cable Television)等を用いた常時接続により行ってもよい。
また、エージェント・コンピュータ200は、他のエージェント・コンピュータ800とともに社内LAN(イントラネット)に接続されている。社内LANにはプロクシ・サーバ700が含まれ、プロクシ・サーバ700はエージェント・コンピュータのアクセス要求(HTTP、FTPなど)を受け、インターネットのコンテンツ取得などを代理する。また、社内LANはファイアウォール600を介してインターネットと接続されている。
インターネットには多くのウェブ・サーバ400が含まれている。本発明の実施の形態においては、インタネットには、コラボレーション・サーバ300も含まれている。
図2に本発明の実施の形態において使用されるコラボレーション・サーバ300の代表的なハードウェア構成の一例を示す。コラボレーション・サーバ300は、中央処理装置(CPU)1とメインメモリ4を含んでいる。CPU1とメインメモリ4は、バス2を介して、補助記憶装置としてのハードディスク装置13と接続されている。また、フレキシブルディスク装置20、MO装置28、CR−ROM装置26、29などのリムーバブルストレージ(記録メディアを交換可能な外部記憶システム)が関連するフレキシブルディスク・コントローラ19、IDEコントローラ25、SCSIコントローラ27などを介してバス2へ接続されている。
フレキシブルディスク装置20、MO装置28、CR−ROM装置26、29などのリムーバブルストレージには、それぞれフレキシブルディスク、MO、CD−ROMなどの記憶媒体が挿入され、このフレキシブルディスク等やハードディスク装置13、ROM14には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ4にロードされることによってコンピュータプログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
コラボレーション・サーバ300は、さらに、ユーザ・インターフェイス・ハードウェアとして、マウス等のポインティング・デバイス7、キーボード6や視覚データをユーザに提示するためのディスプレイ12を有することができる。また、パラレルポート16を介してプリンタ(図示せず)と接続することや、シリアルポート15を介してモデム(図示せず)を接続することが可能である。コラボレーション・サーバ300は、シリアルポート15及びモデムを介し、また、通信アダプタ18(イーサネット(R)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
スピーカ23は、オーディオ・コントローラ21によってD/A変換(デジタル/アナログ変換)された音声信号をアンプ22を介して受け取り、音声として出力する。また、オーディオ・コントローラ21は、マイクロフォン24から受け取った音声情報をA/D変換(アナログ/デジタル変換)し、システム外部の音声情報をシステムに取り込むことを可能にしている。
以上の説明により、本発明の実施の形態におけるコラボレーション・サーバ300は、メインフレーム、ワークステーション、通常のパーソナルコンピュータ(PC)、ラップトップPC、ノートブックPC、パームトップPC、ネットワークコンピュータ等の情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
特に、ここで説明したハードウェア構成のうち、フレキシブルディスク装置20、MO装置28、CR−ROM装置26、29などのリムーバブルストレージ、パラレルポート16、プリンタ、シリアルポート15、モデム、通信アダプタ18、スピーカ23、オーディオ・コントローラ21、アンプ22、マイクロフォン24などはなくても、カスタマー・コンピュータ100とエージェント・コンピュータ200のコラボレーションは実現可能であるので、本発明の実施の形態におけるコラボレーション・サーバ300に含めなくともよい。
本発明の実施に使用されるコラボレーション・サーバ300の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得るものであり、それらの変更は、当然に本発明の思想に包含される概念である。
本発明の実施の形態において使用されるカスタマー・コンピュータ100およびエージェント・コンピュータ200は、コラボレーション・サーバ300と同様に、図2に示すハードウェア構成により実施することができる。すなわち、カスタマー・コンピュータ100およびエージェント・コンピュータ200は、情報入手要求を入力し、それを発信・受信する機能があればよいので、通常のパーソナル・コンピュータ(PC)やワークステーション、ノートブックPC、パームトップPC、コンピュータを内蔵した家電製品、通信機能を有するゲーム機、電話、FAX、携帯電話、PHS、電子手帳等を含む通信機能を有する情報端末やこれらの組み合わせで実施可能であることが容易に理解される。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300のオペレーティング・システムとしては、マイクロソフト社のWindowsXP(R),Windows2000(R),WindowsNT(R),WindowsMe(R),Windows9x(R),Windows3.x(R)、IBMのOS/2,AIX、Apple社のMacOS、Linuxなどの標準でGUIマルチウィンドウ環境をサポートするものや、IBMのPC−DOS、マイクロソフト社のMS−DOSなどのキャラクタ・ベース環境のもの、さらにはIBMのOS/Open、Wind River Systems,Inc.のVx WorksなどのリアルタイムOS、Java(R)OSなどのネットワーク・コンピュータに組み込まれたOSでも実現可能であり、特定のオペレーティング・システム環境に限定されるものではない。また、カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300はそれぞれ異なるオペレーティング・システム環境で動作するようにしてもよいことは勿論である。
図3に本発明の実施の形態におけるコラボレーション・システムのシステム構成を示す。図3のシステム構成に示す各要素は、図2に示したコンピュータ上でハードウェアとソフトウェアが協働して実現される。本発明の実施の形態におけるコラボレーション・システムは、カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300を含む。コラボレーション・システムはインターネットに接続されており、インターネット上のコンテンツが記憶されたウェブ・サーバ400と通信を行うことができる。
カスタマー・コンピュータ100,エージェント・コンピュータ200には、ウェブ・ブラウザ110,210がそれぞれロードされている。カスタマー・コンピュータ100,エージェント・コンピュータ200のマウス、キーボードなどのユーザ・インターフェースを使用してウェブ・ブラウザ110,210が操作される。ウェブ・ブラウザ110,210は、ページ表示部111,211およびURL遷移イベント発生部112,212を含む。
URL遷移イベント発生部112,212は、ブラウザ・ウィンドウのURL入力フィールドへのURL直接入力、ハイパーリンクのクリック、リダイレクトプログラム120,220の要求などに応じて、URL遷移イベントをウェブ・ブラウザ110,120に発生させる。ページ表示部111,211は、URL遷移イベント発生部112,212により発生したURL遷移イベントの結果得られたコンテンツを表示装置に表示する。
ウェブ・ブラウザ110,210はマイクロソフト社のインターネット・エクスプローラ、ネットスケープ・コミュニケーションズ社のネットスケープ・ナビゲータなどを使用することにより実現される。インターネット・エクスプローラが使用される場合は、リダイレクト・プログラム120,220はActiveXコントロールとして実現され得る。ネットスケープ・ナビゲータが使用される場合はリダイレクト・プログラム120,220はプラグインとして実現され得る。
同期を確立する処理が実行された後は、カスタマー・コンピュータ100,エージェント・コンピュータ200にはリダイレクト・プログラム120,220がロードされている。(同期を確立する処理は、後に詳述する。)リダイレクト・プログラム120,220は、URL遷移監視部121,221、URL遷移取消部122,222、URL生成部123,223、URL遷移変更部124,224を含んでいる。
リダイレクト・プログラム120,220は、ウェブ・ブラウザ110,210におけるURL遷移イベントをURL遷移監視部121,221により監視する。URL遷移イベントを捕捉した場合、URL遷移取消部122,222はウェブ・ブラウザ110,210にそのURL遷移イベントを取り消させる。URL生成部123,223により、そのURL遷移イベントに基いてコラボレーション・サーバ300にリダイレクトされたURLが生成される。URL遷移要求部124,224は、URL生成部123,223により生成されたURLを遷移先とするURL遷移イベントの発生をウェブ・ブラウザ110,210に要求する。
コラボレーション・サーバ300は、セッション・マネージャ310、キャッシュ・マネージャ320、キャッシュ・データ記憶部330を含んでいる。セッション・マネージャ310は、後に詳述する同期を確立する処理において、カスタマー・コンピュータ100からの同期の確立要求に応じて、エージェント・コンピュータ200をコラボレーションの相手として割り当て、コラボレーション・セッションを確立する。
キャッシュ・マネージャ320は、リダイレクトされたURL遷移イベントの発生に応じてインターネット上のウェブ・サーバ400からコンテンツを取得し、同期のために必要なプログラム(アプレットとして実現される。)を埋め込んでカスタマー・コンピュータ100およびエージェント・コンピュータ200に伝送する。ウェブ・サーバ400から取得されたデータ、カスタマー・コンピュータ100,エージェント・コンピュータ200に伝送されたデータはキャッシュ・データ記憶部330に記憶される。
図4に本発明の実施の形態におけるカスタマー・コンピュータ100とエージェント・コンピュータ200の同期を確立する処理のフローチャートを示す。
処理はステップ4000から開始される。ステップ4010においてカスタマー・コンピュータ100のウェブ・ブラウザ110のURL入力フィールド6010に所定のURL(本実施の形態に、おいては“http://collaboration−server/login.html”であるとする。)を直接入力する等により、ウェブ・ブラウザ110に図6に示すコラボレーション・サーバ300の同期開始ページが表示される。同期開始ページは、カスタマー・コンピュータ100を識別するための名前入力フィールド6020、同期の開始ボタンであるCALLボタン6030、同期の中止ボタンであるEXITボタン6040を含んでいる。同期の確立を要求するために、カスタマー・コンピュータ100のキーボード、マウスなどのユーザ・インターフェイスを操作して名前入力フィールド6020にIDが入力され、CALLボタン6030が押される。
ステップ4010においてCALLボタン6030が押されたことに応じて、ステップ4020でカスタマー・コンピュータ100のウェブ・ブラウザ110は、リダイレション・プログラム120を含むデータのダウンロードをコラボレーション・サーバ300にHTTPプロトコルで要求する。
ステップ4020におけるダウンロードの要求に応じて、ステップ4030においてカスタマー・コンピュータ100と同期を確立するエージェント・コンピュータがコラボレーション・サーバ300のセッション・マネージャにより選択される。エージェント・コンピュータの選択は、例えば、最初のログインまたは前回のコラボレーションが終了してから最も時間が経過しているエージェント・コンピュータを選ぶようにするとよい。本発明の実施の形態では、エージェント・コンピュータ200が選択されたとする。
さらにステップ4030では、リダイレクト・プログラム120,220を含むデータがそれぞれカスタマー・コンピュータ100,エージェント・コンピュータ200にダウンロードされる。あわせて、要求を出したブラウザ・ウィンドウに対するウィンドウIDが決定される。さらに、ウィンドウIDに基いて、このコラボレーション・セッションのための作業用パスを決定する。本発明の実施の形態においてはウィンドウIDとして“0”が、作業用パスとして“http://colaboration−server/.cm2/0/url=”が割り当てられたとする。
次に、ステップ4040において、エージェント・コンピュータ200においてウェブ・ブラウザ210のブラウザ・ウィンドウが1つ起動し、続いて、ダウンロードされたデータに含まれるリダイレクト・プログラム120,220がカスタマー・コンピュータ100,エージェント・コンピュータ200において自動で起動される。リダイレクト・プログラム120,220が起動されると、カスタマー・コンピュータ100,エージェント・コンピュータ200にリダイレクト・プログラム120,220が常駐し、ウェブ・ブラウザ110,220の対応するブラウザ・ウィンドウにおけるURL遷移イベントの監視が開始され、カスタマー・コンピュータ100とエージェント・コンピュータ200の同期が確立される。ステップ4050でカスタマー・コンピュータ100,エージェント・コンピュータ200の同期の確立の処理が完了する。
カスタマー・コンピュータ100とエージェント・コンピュータ200の同期が確立している状態で、カスタマー・コンピュータ100のウェブ・ブラウザ110においてURL遷移イベントが発生した場合の処理を示すフローチャートを図5に示す。
処理はステップ5000からスタートする。ステップ5010においてユーザがキーボード、マウスなどを操作し、ウェブ・ブラウザ110のブラウザ・ウィンドウに表示されているウェブ・ページのハイパーリンクをダブルクリックする、またはURLを直接入力することなどによりURL遷移要求イベントが発生する。ステップ5010においてウェブ・ブラウザ110でURL遷移イベントが発生すると、ステップ5020においてリダイレクト・プログラム120がそのURL遷移要求イベントを捕捉する。
ステップ5020でURL遷移要求イベントが捕捉されると、ステップ5030においてリダイレクト・プログラム120は捕捉したURL遷移要求イベントのURLが“http://collaboration_server/.cm2/0/url=”のパスを含むものであるかどうかを判定する。含まない(すなわち、後述するリダイレクトがなされる前)の場合は、処理はNOの矢印を通じてステップ5040へ進み、リダイレクト・プログラム120はウェブ・ブラウザ110にそのURLへのURL遷移イベントを取り消させる。
その後、ステップ5050においてリダイレクト・プログラム120はコラボレーション・サーバ300にリダイレクトされたURLをステップ5010において発生したURL遷移イベントに基いて生成する。リダイレクトされたURLの生成は、同期の確立の際に決定された作業用パスに、ステップ5010において発生したURL遷移イベントの遷移先のURLの文字列から“http:”を除いたものを続けることにより生成するとよい。例えば、ステップ5010においてカスタマー・コンピュータ100のウェブ・ブラウザ110で発生したURL遷移イベントの遷移先のURLが“http://www.ibm.com”の場合は、リダイレクトされたURLは“http://collaboration_server/.cm2/0/url=//www.ibm.com”となる。
ステップ5060おいて、リダイレクト・プログラム120はウェブ・ブラウザ110にリダイレクトされたURLへのURL遷移イベントの発生を要求する。ウェブ・ブラウザ110はその要求に応じて、リダイレクトされたURLへのURL遷移イベントを発生させる。
リダイレクトされたURLを遷移先とするURL遷移イベントもリダイレクト・プログラム120により監視されており、ステップ5020においてリダイレクト・プログラム120はこのURL遷移イベントを捕捉する。しかし、リダイレクトされたURLは“http://collaboration_server/.cm2/0/url=”のパスを含むものであるので、処理はステップ5030においてYESの矢印を通じてステップ5070へ進む。すなわち、リダイレクトされたURLに関してはURL遷移イベントは取り消されない。
次に、ステップ5070において、ウェブ・ブラウザ110はリダイレクトされたURLを使用してコラボレーション・サーバ300にコンテンツの取得を要求する。コラボレーション・サーバ300はコンテンツの取得の要求に応じて、ステップ5080において、コンテンツの取得の要求の内容を解釈して、ウェブ・サーバ400からコンテンツを取得する。具体的には、リダイレクトされたURLが“http://collaboration_server/.cm2/0/url=//www.ibm.com”の場合は、コラボレーション・サーバ300は、作業用パスが“http://collaboration_server/.cm2/0/url=”であることがわかっているので、取得すべきコンテンツは“http://www.ibm.com”に存在すると判断し、当該URLからコンテンツを取得することとなる。
その後、ステップ5080においてコラボレーション・サーバ300はウェブ・サーバから取得したコンテンツに同期のためのアプレットを埋め込む。埋め込まれるアプレットには、そのコンテンツのカスタマー・コンピュータ100へのロードが完了したときにロードが完了したことをコラボレーション・サーバ300に通知するアプレットが含まれている。
ステップ5090においてアプレットが埋め込まれたコンテンツがカスタマー・コンピュータ100に伝送され、伝送されたコンテンツがカスタマー・コンピュータ100のウェブ・ブラウザ110に表示される。ステップ5090における表示が完了した後に、ステップ5100でコンテンツに埋め込まれたアプレットが起動され、ロードの完了がカスタマー・コンピュータ100からコラボレーション・サーバ300に通知される。
ロードの完了の通知に応じて、ステップ5110で、エージェント・コンピュータ200のウェブ・ブラウザ210でもカスタマー・コンピュータ100のウェブ・ブラウザ110と同じ表示をするために、コラボレーション・サーバ300からエージェント・コンピュータ200へカスタマー・コンピュータ100へロードしたものと同じコンテンツが伝送され、エージェント・コンピュータ200のウェブ・ブラウザ210に伝送されたコンテンツが表示される。また、あわせてステップ5110では、エージェント・コンピュータ200にコンテンツが表示された後、コラボレーション・サーバ300へコンテンツのロードの完了がエージェント・コンピュータ200から通知され、次にその通知がコラボレーション・サーバ300からカスタマー・コンピュータ100へ転送される。この通知および転送により、コラボレーションが正常に行われていることが、カスタマー・コンピュータ100、エージェント・コンピュータ200、コラボレーション・サーバ300に認識される。ステップ5120で処理が完了する。
上述の説明では、URL遷移イベントがハイパーリンクのダブルクリックまたはURLの直接入力で発生する場合を説明したが、インターネット上のコンテンツの形式として広く用いられているHTML(Hyper Text Markup Language)では、あるURLを有するページ内でさらに階層的にURLを呼び出す記述がFRAME宣言などにより可能となっでおり、ページ内にこのような宣言が含まれている場合もURL遷移イベントが発生し、図5のフローチャートに示す処理が実行される。
ここで、階層的にURLを呼び出す場合の呼び出し先のURLの記述方法は(1)現在のパスからの相対パス記述(2)現在のサーバのドメインのルートからのパス記述(3)サーバのドメインからのパス記述、の3種類の記述が存在する。以下にこれら3種類の記述に対するリダイレクトされたURLの生成について説明する。
前述の“http://www.ibm.com”のページの内容(HTMLソース)が、図7に示す内容であるとする。この場合、2行目のFRAME宣言が(1)現在のパスからの相対パス記述である。4行目のFRAME宣言が(2)現在のサーバのドメインのルートからのパス記述であり、5行目のFRAME宣言が(3)サーバのドメインからのパス記述に該当する。なお、HTMLフォーマットに関しては、W3C(ワールド・ワード・ウェブ・コンソーシアム)により仕様が開示されており、かつ、当業者に周知であるので詳細な説明は省略する。
URLのリダイレクトが行われていない場合は、このHTMLソースによれば、ブラウザ・ウィンドウは図8に示すようにフレーム分割され、HTMLソースの2,4,5行目がそれぞれウェブ・ブラウザ110により解釈されて、“http://www.ibm.com/index.html”の内容が上部のフレームに、“http://www.ibm.com/test/index2.html”の内容が左下のフレームに、“http://www.ibm2.com/index3.html”の内容が右下のフレームに表示される。
これに対して、リダイレクト・プログラム120により“http://www.ibm.com”が“http://collaboration_server/.cm2/0/url=//www.ibm.com”にリダイレクションされた場合は、ウェブ・ブラウザ110はHTMLソースの2,4,5行目をそれぞれ図9の表の各項目の上段に示すURLであると解釈する。
この場合(1)現在のパスからめ相対パス記述に関しては、リダイレクト・プログラム120による変更は不要である。また(3)サーバのドメインからのパス記述の場合は、前述したのと同様の変更をリダイレクト・プログラム120により行うとよい。しかし、(2)現在のサーバのドメインのルートからのパス記述の場合は、リダイレクト・プログラム120による特別な変更が必要となる。すなわち(2)の場合は、“http://www.collaboration−sever”の文字列を作業用パス“http://collaboration−server/.cm2/0/url=”にリダイレクト・プログラム120により置換する必要がある。上記によるリダイレクトされた後のURLを図9の表の各項目の下段に示す。
上記の本発明の実施の形態は、説明を目的として記述されたものであって、すべての実施態様を記述するものではなく、本発明の実施の形態に開示された形式に発明を限定する意図ではない。上記の開示によれば、多くの変更例とバリエーションが実現可能である。本発明の範囲は発明の詳細な説明の記載により制限されるのではなく、特許請求の範囲により定まるものであることに留意されたい。
本発明の実施の形態はカスタマー・サポート・システムにおけるカスタマーとエージェントのコラボレーションに本発明を応用した例を用いて説明したが、本発明は1対多または多対多の電子会議などの同期にも応用可能な技術であることは当業者であれば自明であることにも留意されたい。コンテンツに埋め込むアプレットをカスタマー・コンピュータに伝送するコンテンツとエージェント・コンピュータに伝送するコンテンツで異なるようにしてもよい。また本発明の実施の形態においては、インターネット/イントラネット(社内LAN)を例に説明しているが、本発明はインターネットに使用されるプロトコルではない他のプロトコルにより構築されたネットワークにも応用可能であることは勿論である。上記の仕様、例、データにより本発明の一態様の製造および使用が完全に説明される。本発明の多くの実施例が本発明の精神と範囲を離れることなく実現される。
本発明によれば、クライアント・コンピュータに特別なコラボレーション・ソフトウェアを導入することなく、また、特別な設定を行うことなく、任意のページを関してネットワーク上でコラボレーションを行うことができる。また本発明によれば、クライアント・コンピュータにおいてリダイレクトを行うので、クライアント・コンピュータ上で最終的な内容が確定する動的なコンテンツに関してもコラボレーションを行うことができる。さらに本発明によれば、ブラウザのウィンドウ単位でネットワーク上の任意のコンテンツに関してコラボレーションを行うことができる。
【図面の簡単な説明】
第1図は、本発明の実施の形態におけるコラボレーション・システムの概要である。
第2図は、本発明の実施の形態におけるカスタマー・コンピュータ、エージェント・コンピュータ、コラボレーション・サーバのハードウェア構成の一例を示すブロック図である。
第3図は、本発明の実施の形態におけるコラボレーション・システムのシステム構成を図示した機能ブロック図である。
第4図は、本発明の実施の形態におけるカスタマー・コンピュータとエージェント・コンピュータの同期を確立する処理のフローチャートである。
第5図は、本発明の実施の形態における同期が確立された状態でURL遷移イベントが発生した場合の処理を示すフローチャートである。
第6図は、本発明の実施の形態におけるコラボレーション・サーバの同期開始ページである。
第7図は、本発明の実施の形態におけるFRAME宣言を使用したHTMLソースである。
第8図は、図7に示すHTMLソースをウェブ・ブラウザに表示した場合の表示例である。
第9図は、図7に示すHTMLソースのウェブ・ブラウザによるURL解釈およびURLのリダイレクトを説明したものである。
Claims (10)
- コラボレーション・サーバと複数のクライアント・コンピュータを含むコラボレーション・システムであって、前記コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続され、前記複数のクライアント・コンピュータそれぞれが、
ブラウザと、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、
前記監視する手段によって前記アドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、
前記アドレス・ロケーション遷移イベントに基いて、前記コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成する手段と、
前記リダイレクトされたアドレス・ロケーションを使用して前記コラボレーション・サーバにコンテンツを取得させる手段と、
を有するコラボレーション・システム。 - 前記取得させる手段が、前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントを前記ブラウザに発生させる手級を有し、
前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが前記取り消す手段によって取り消されず、
前記コラボレーション・サーバが、
前記リダイレクトされたアドレス・ロケーション遷移イベントに応答して、前記コンテンツ・サーバからコンテンツを取得する手段と、
前記取得する手段により取得されたコンテンツを前記クライアント・コンピュータに伝送する手段を有する、
請求の範囲第1項記載のコラボレーション・システム。 - 前記コラボレーション・サーバが、同期のためのプログラムを前記コンテンツに埋め込む手段をさらに有し、前記同期のためのプログラムが埋め込まれたコンテンツが前記クライアント・コンピュータに伝送される、請求の範囲第2項記載のコラボレーション・システム。
- 前記ネットワークがTCP/IPネットワークであり、前記コンテンツ・サーバがウェブ・サーバであり、前記ブラウザがウェブ・ブラウザであり、前記アドレス・ロケーションがURLである請求の範囲第1項記載のコラボレーション・システム。
- コラボレーション・サーバと複数のクライアント・コンピュータを含むシステムであって、前記コラボレーション・システムはコンテンツを記憶したコンテンツ・サーバを含むネットワークに接続されたシステムにおいて、前記クライアント・コンピュータが前記コンテンツを取得する方法であって、前記クライアント・コンピュータはブラウザを含み、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視するステップと、
前記監視するステップにおいて前記アドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消すステップと、
前記アドレス・ロケーション遷移イベントに基いて、前記コラボレーション・サーバへリダイレクトされたアドレス・ロケーションを生成するステップと、
前記リダイレクトされたアドレス・ロケーションを使用して前記コラボレーション・サーバにコンテンツを取得させるステップと、
を含む方法。 - 前記取得させるステップが、前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントを前記ブラウザに発生させるステップを含み、
前記リダイレクトされたアドレス・ロケーションを遷移先とするアドレス・ロケーション遷移イベントが前記取り消すステップにおいて取り消されず、
前記方法が、
前記コラボレーション・サーバによって、前記リダイレクトされたアドレス・ロケーション遷移イベントに応答して、前記コンテンツ・サーバからコンテンツを取得するステップと、
前記コラボレーション・サーバによって、前記取得するステップにおいて取得されたコンテンツを前記クライアント・コンピュータに伝送するステップをさらに含む、
請求の範囲第5項記載の方法。 - 前記コラボレーション・サーバが、同期のためのプログラムを前記コンテンツに埋め込むステップをさらに含み、同期のためのプログラムが埋め込まれたコンテンツが前記クライアント・コンピュータに伝送される、請求の範囲第6項記載の方法。
- 前記ネットワークがTCP/IPネットワークであり、前記コンテンツ・サーバがウェブ・サーバであり、前記ブラウザがウェブ・ブラウザであり、前記アドレス・ロケーションがURLである請求の範囲第5項記載の方法。
- 複数のサーバを含むネットワークに接続されたクライアント・コンピュータにおいて実行されるリダイレクト・プログラムであって、前記クライアント・コンピュータはブラウザを含み、前記クライアント・コンピュータに、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手順と、
前記監視する手順において、前記ブラウザに発生した1のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手順と、
前記アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手順と、
前記リダイレクトされたアドレス・ロケーションを使用して前記他のサーバからコンテンツを取得する手順と、
を実行させるリダイレクト・プログラム。 - 複数のサーバを含むネットワークに接続されたクライアント・コンピュータであって、
ブラウザと、
前記ブラウザに発生するアドレス・ロケーション遷移イベントを監視する手段と、
前記監視する手段によって、前記ブラウザに発生した1のサーバを遷移先とするアドレス・ロケーション遷移イベントが捕捉された場合に、当該アドレス・ロケーション遷移イベントを取り消す手段と、
前記アドレス・ロケーション遷移イベントに基いて、他のサーバへリダイレクトされたアドレス・ロケーションを生成する手段と、
前記リダイレクトされたアドレス・ロケーションを使用して前記他のサーバからコンテンツを取得する手段と、
を有するクライアント・コンピュータ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001332636 | 2001-10-30 | ||
JP2001332636 | 2001-10-30 | ||
PCT/JP2002/010455 WO2003038634A1 (fr) | 2001-10-30 | 2002-10-08 | Procede de collaboration entre ordinateurs sur un reseau, systeme et programme informatique |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2003038634A1 true JPWO2003038634A1 (ja) | 2005-02-24 |
Family
ID=19148024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003540827A Pending JPWO2003038634A1 (ja) | 2001-10-30 | 2002-10-08 | ネットワーク上の複数のコンピュータの間でのコラボレーションを行うための方法、システム、コンピュータ・プログラム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20050108330A1 (ja) |
EP (1) | EP1450266A4 (ja) |
JP (1) | JPWO2003038634A1 (ja) |
KR (1) | KR100634190B1 (ja) |
CN (1) | CN100383774C (ja) |
TW (1) | TWI243552B (ja) |
WO (1) | WO2003038634A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716187B2 (en) * | 2003-05-21 | 2010-05-11 | Microsoft Corporation | System and method for transparent storage reorganization |
CN101204102B (zh) * | 2005-04-12 | 2011-07-27 | 罗姆韦尔有限公司 | 入境通信重定向系统 |
US20070198744A1 (en) * | 2005-11-30 | 2007-08-23 | Ava Mobile, Inc. | System, method, and computer program product for concurrent collaboration of media |
US7987231B2 (en) * | 2006-06-09 | 2011-07-26 | Global Information Solutions, Inc. | Facilitating interaction between web browsers |
JP4882738B2 (ja) * | 2006-12-27 | 2012-02-22 | 日本電気株式会社 | クライアント装置、通信方法およびプログラム |
JP2009116635A (ja) * | 2007-11-07 | 2009-05-28 | Nec Corp | Web共有システム、クライアント装置及びそれらに用いるWeb共有方法 |
CN101291251B (zh) * | 2008-05-09 | 2011-04-06 | 国网信息通信有限公司 | 一种多计算机的同步控制方法及系统 |
US8103599B2 (en) * | 2008-09-25 | 2012-01-24 | Microsoft Corporation | Calculating web page importance based on web behavior model |
JP4748819B2 (ja) * | 2009-01-28 | 2011-08-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム |
US20100257451A1 (en) * | 2009-04-05 | 2010-10-07 | Hbr Labs Inc. | System and method for synchronizing collaborative web applications |
JP5682996B2 (ja) | 2010-02-04 | 2015-03-11 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | クライアントプログラム、端末、サーバ装置、サーバプログラム、システムおよび方法 |
US8527591B2 (en) * | 2010-05-20 | 2013-09-03 | Actual Works, Inc. | Method and apparatus for the implementation of a real-time, sharable browsing experience on a guest device |
US9043386B2 (en) | 2010-10-06 | 2015-05-26 | Hbr Labs Inc. | System and method for synchronizing collaborative form filling |
US9294479B1 (en) * | 2010-12-01 | 2016-03-22 | Google Inc. | Client-side authentication |
JP5936103B2 (ja) | 2011-10-04 | 2016-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | クライアントでJavaメソッドを呼び出すシステム、コンピュータ、方法及びプログラム |
US9053117B2 (en) | 2012-04-11 | 2015-06-09 | 4Clicks Solutions, LLC | Storing application data with a unique ID |
US9323730B2 (en) | 2012-09-05 | 2016-04-26 | Hbr Labs Llc | Platform and method for real-time synchronized co-browsing of web pages |
US20140082470A1 (en) * | 2012-09-19 | 2014-03-20 | 4Clicks Solutions, LLC | Spreadtree hierarchy system for spreadsheets and related methods |
US10320746B2 (en) * | 2014-05-12 | 2019-06-11 | Michael C. Wood | Computer security system and method based on user-intended final destination |
US9811241B2 (en) | 2014-09-17 | 2017-11-07 | International Business Machines Corporation | Shared inter-operational control among multiple computing devices |
CN106961410B (zh) * | 2016-01-08 | 2020-02-18 | 阿里巴巴集团控股有限公司 | 一种异常访问检测方法及装置 |
US10764439B1 (en) * | 2019-04-01 | 2020-09-01 | Avaya Inc. | Auto learning system for active co-browse sessions |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997042728A2 (en) * | 1996-05-07 | 1997-11-13 | Webline Communications Corporation | 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 |
US6240444B1 (en) * | 1996-09-27 | 2001-05-29 | International Business Machines Corporation | Internet web page sharing |
US5861883A (en) * | 1997-05-13 | 1999-01-19 | International Business Machines Corp. | Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers |
US6298356B1 (en) * | 1998-01-16 | 2001-10-02 | Aspect Communications Corp. | Methods and apparatus for enabling dynamic resource collaboration |
EP1018689A3 (en) * | 1999-01-08 | 2001-01-24 | Lucent Technologies Inc. | Methods and apparatus for enabling shared web-based interaction in stateful servers |
JP3437933B2 (ja) * | 1999-01-21 | 2003-08-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ブラウザ共有方法及びシステム |
JP3565490B2 (ja) * | 1999-11-09 | 2004-09-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | クライアントサーバシステム、サーバ、クライアント、プロキシサーバ制御方法、プロキシサーバ機能提供方法および記憶媒体 |
JP3490369B2 (ja) * | 2000-02-15 | 2004-01-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツ情報の取得方法、コラボレーション・システム及びコラボレーション・サーバー |
-
2002
- 2002-10-08 JP JP2003540827A patent/JPWO2003038634A1/ja active Pending
- 2002-10-08 EP EP02802357A patent/EP1450266A4/en not_active Withdrawn
- 2002-10-08 US US10/493,679 patent/US20050108330A1/en not_active Abandoned
- 2002-10-08 KR KR1020047002783A patent/KR100634190B1/ko not_active IP Right Cessation
- 2002-10-08 CN CNB028216431A patent/CN100383774C/zh not_active Expired - Fee Related
- 2002-10-08 WO PCT/JP2002/010455 patent/WO2003038634A1/ja not_active Application Discontinuation
- 2002-10-25 TW TW091125031A patent/TWI243552B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1450266A4 (en) | 2005-11-16 |
CN100383774C (zh) | 2008-04-23 |
KR20040039307A (ko) | 2004-05-10 |
US20050108330A1 (en) | 2005-05-19 |
WO2003038634A1 (fr) | 2003-05-08 |
TWI243552B (en) | 2005-11-11 |
CN1578950A (zh) | 2005-02-09 |
KR100634190B1 (ko) | 2006-10-16 |
EP1450266A1 (en) | 2004-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100634190B1 (ko) | 네트워크 상의 복수의 컴퓨터 사이에서의 콜레보레이션을위한 방법, 시스템, 컴퓨터 프로그램 | |
JP3490369B2 (ja) | コンテンツ情報の取得方法、コラボレーション・システム及びコラボレーション・サーバー | |
TW513637B (en) | Method and system for sharing the browser | |
US8037191B2 (en) | Low-level remote sharing of local devices in a remote access session across a computer network | |
KR100443806B1 (ko) | 정보 처리 방법 | |
JP3283018B2 (ja) | htmlファイル取得方法、情報端末支援装置、htmlファイルを取得するソフトウエア・プロダクトを格納した記憶媒体 | |
KR100430954B1 (ko) | 정보 처리 방법, 정보 단말기 지원 서버, 공조 시스템 및정보 처리 프로그램을 저장하는 저장 매체 | |
KR100472202B1 (ko) | 아이 알 씨 프로토콜을 이용한 웹 공동 브라우징 시스템및 그 방법 | |
US20030065951A1 (en) | Information providing server, terminal apparatus, control method therefor, and information providing system | |
KR19980079592A (ko) | 원격 조작 방법, 네트워크를 통해 단말로부터 원격 조작되는 서버 및 html 파일을 격납하는 기억 매체 | |
US20040100507A1 (en) | System and method for capturing browser sessions and user actions | |
CA2420394C (en) | System and method for capturing browser sessions and user actions | |
WO2003091889A1 (fr) | Serveur de collaboration, systeme de collaboration, son procede de gestion de session et programme | |
JP2001014252A (ja) | 情報処理方法、情報端末支援サーバ、情報処理プログラムを格納する記憶媒体 | |
KR100354369B1 (ko) | 정보 처리 방법, 정보 처리 장치, 정보 처리 프로그램을 격납하는 기억 매체 | |
KR20010006794A (ko) | 애플리케이션 프리젠테이션 동기 장치 | |
JPH1185686A (ja) | 情報処理方法及び情報処理装置、サーバを制御するプログラムを格納した記録媒体 | |
JP2002157219A (ja) | 既存オンラインアプリケーションのインターネット端末対応方法及びシステム並びにサーバ装置と記録媒体 | |
JP4759164B2 (ja) | 稼動情報確認システム及び方法 | |
JP2001142813A (ja) | 非接続型プロトコル基盤のウェブサービス上で接続型プロトコル基盤のサービスを支援するためのシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061003 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070306 |