(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して接続されたクライアント間でコラボレーションにて用いる文書ファイルを共有化する文書ファイル共有化システムであって、
コラボレーションを実行する第１クライアント及び第２クライアントの間でセッションを確立し、当該確立されたセッションの情報を保持するセッション確立手段と、
前記セッション確立手段によりセッションが確立された前記第１クライアントから当該第１クライアントが用いる文書ファイルの特定のページを受信すると、当該文書ファイルの特定のページの転送先が前記第２クライアントであることを前記セッション確立手段に確認することにより認識し、当該文書ファイルの特定のページを当該第２クライアントに対して転送するファイル転送手段とを備えたことを特徴とする文書ファイル共有化システム。
【請求項２】
前記第２クライアントから前記第１クライアントに対してファイル転送を要求するファイル転送要求手段とを更に具備し、
前記ファイル転送手段は、前記ファイル転送要求手段による要求に基づいて文書ファイルを転送することを特徴とする請求項１記載の文書ファイル共有化システム。
【請求項３】
前記第１クライアントが有する文書ファイルのファイル情報を前記第２クライアントに対して送出するファイル情報送出手段とを更に具備したことを特徴とする請求項２記載の文書ファイル共有化システム。
【請求項４】
通信ネットワークを介して接続された第１クライアント及び第２クライアントに対してセッションを確立し、当該確立されたセッションの情報を保持するセッションマネージャーと、
前記第１クライアントにて開かれた文書ファイルの特定のページを当該第１クライアントから受信すると共に、受信した当該文書ファイルの特定のページの送出先が前記第２クライアントであることを前記セッションマネージャーに確認することにより認識し、当該文書ファイルの特定のページを当該第２クライアントに対して送出するコントローラとを備えたことを特徴とするコラボレーションサーバー。
【請求項５】
前記コントローラは、前記第１クライアントにて開かれた文書ファイルの文書ファイル情報を受信し、受信した当該文書ファイル情報を前記第２クライアントに対して転送すると共に、当該第２クライアントから送出される文書ファイルの転送要求を受信し、受信した当該転送要求に基づいて当該第２クライアントに対して当該第１クライアントにて開かれている文書ファイルの特定のページを転送することを特徴とする請求項４記載のコラボレーションサーバー。
【請求項６】
文書ファイルの特定のページを格納するキャッシュと、
受信した前記文書ファイル情報に基づいて該当する文書ファイルの特定のページが前記キャッシュに格納されているか否かを確認するキャッシュマネージャーとを更に具備し、
前記キャッシュマネージャーにより、該当する文書ファイルの特定のページが前記キャッシュに格納されている場合には、当該キャッシュから当該文書ファイルの特定のページを読み出して前記第２クライアントに対して転送することを特徴とする請求項５記載のコラボレーションサーバー。
【請求項７】
通信ネットワークを介して接続されたカスタマー及びエージェントの間でセッションを確立するセッション確立ステップと、
確立された前記セッションの情報を所定の記憶装置に記憶するステップと、
セッションが確立された前記カスタマーから、文書ファイルの共有を目的とした文書ファイルの特定のページの転送を要求するファイル転送要求ステップと、
記憶された前記セッションの情報を参照することにより、要求された前記文書ファイルの転送先を前記カスタマーに決定する転送先決定ステップと、
要求された前記文書ファイルの特定のページを前記カスタマーに対して転送するファイル転送ステップとを含むことを特徴とする文書ファイルの転送方法。
【請求項８】
前記ファイル転送ステップは、前記エージェントから転送される文書ファイルの特定のページを前記カスタマーに対して転送することを特徴とする請求項７記載の文書ファイルの転送方法。
【請求項９】
前記エージェントから共有すべき文書ファイルのファイル情報を通知するファイル情報通知ステップとを更に含むことを特徴とする請求項７記載の文書ファイルの転送方法。
【請求項１０】
コンピュータに実行させるプログラムを記憶した記憶媒体において、
前記プログラムは、
ネットワークに接続された複数のクライアント間におけるセッションを確立するセッション確立処理と、
前記セッション確立処理により確立された前記セッションの情報を所定の記憶装置に記憶する記憶処理と、
前記セッション確立処理によりセッションが確立された一方のクライアントから文書ファイルの特定のページを受信する受信処理と、
前記記憶処理により記憶された前記セッションの情報を参照することにより、前記受信処理により受信した前記文書ファイルの特定のページの転送先を、前記一方のクライアントとセッションが確立された他方のクライアントに決定する転送先決定処理と、
前記転送先決定処理による決定結果に基づき、前記受信処理により受信した前記文書ファイルの特定のページを前記他方のクライアントに対して転送する転送処理とを前記コンピュータに実行させることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のクライアントが通信ネットワークを介して接続されるシステム等に関し、特に、どちらかのクライアントにあるローカルなファイルを共有化してコラボレーションを実行するコラボレーションシステム等に関する。
【０００２】
【従来の技術】
近年、これまでシステムとして扱うことのできなかった定性的な知識やノウハウといった情報を伝達・共有する新しいシステムの構築を目的として、複数ユーザー間の情報交換（コラボレーション：ｃｏｌｌａｂｏｒａｔｉｏｎ）を支援するコンピューターシステムの導入が急速に進んでいる。このコラボレーションを支援するシステムをイントラネットの構築により実現すると、例えば、従来テキストで蓄積されていた基幹データ（製品情報、顧客データ、販売実績等）にイメージやグラフを付加して、より利用価値のある情報として共有することが可能となる。また、更にエキストラネットに拡張することにより、例えば、関連企業と共同の製品開発や研究開発、プロジェクト管理などをよりスムーズに行ったり、ベンダーやサプライヤーとの情報共有によりプロセスを合理化したりすることが可能となる。また、インターネットにまで情報交換の輪を広げれば、例えば、遠方のお客様からの問い合わせに対し、営業員がそのお客様の問い合わせのあった製品情報をお客様のブラウザ上に出力させ、適宜説明を追加したり、更にはその場で注文を受け付けることも可能となり、モバイル・オフィスや在宅勤務の促進にも貢献することが期待されている。
【０００３】
ここで、これらのコラボレーションを実行するアプリケーションとして、ウェブサーバー（ＷｅｂＳｅｒｖｅｒ）上のＨＴＭＬの共有を主な用途とする、出願人（ＩＢＭ社）製品であるウェブコラボレーション（ＷｅｂＣｏｌｌａｂｏｒａｔｉｏｎ）や、ローカルのイメージファイルの共有を主な用途とするＩＢＭ社のＷｅｂＣｏｌｌａｂｏｒａｔｉｏｎ  ＳｎａｐＳｈｏｔ  Ｓｈａｒｉｎｇが存在する。また、各種ＰＣ上のアプリケーションの共有を主な用途とするマイクロソフト社のＮｅｔＭｅｅｔｉｎｇや、スクリーンショーを複数のＰＣ上で同期して閲覧することを主な用途とするロータス社フリーランスのチームスクリーンショー（Ｆｒｅｅｌａｎｃｅ  Ｔｅａｍ  Ｓｃｒｅｅｎ  Ｓｈｏｗ）等が存在している。例えば、このＩＢＭ社のアプリケーションであるウェブコラボレーションをお客様相談センターなどで利用するとき、ＩＢＭ社のホームページなどに掲載されているコンテンツ（情報の中身）をカスタマー（Ｃｕｓｔｏｍｅｒ）と共有することで、カスタマーとコールセンター等でサポートするエージェント（Ａｇｅｎｔ）との間で双方の理解を深めることが可能となり、円滑なコミュニケーションを図ることが可能となる。また、特許公報としては、特開平９−２５８９４８号公報に、アプリケーションプログラムの表示変化を検知し、その操作を互いに反映させるシステムについて開示されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、例えばＣｏｒｅｐｏｉｎｔ（ＩＢＭ社商標）  ＷｅｂＣｏｌｌａｂｏｒａｔｉｏｎにおけるＨＴＭＬの共有機能によれば、世界中のＨＴＭＬをブラウザ間で共有することが可能であるものの、ウェブサーバーに上がっていない文書ファイルのコンテンツを共有することはできない。また、ウェブサーバー上にあるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）ファイルは表示されるものの、プラグイン（Ｐｌｕｇ−ｉｎ）を利用してブラウザに表示させているために、ＰＤＦファイル本体の拡大、スクロールなどは同期することができない。
例えば、あるエージェントが資料を使ってカスタマーとコラボレーションを行いたい場合に、インターネットのホームページに掲載された資料だけでコラボレーションを行う場合には問題はないが、実際にはそれだけの資料では説明不充分となることが多い。かかる場合に、事前にウェブサーバー上に資料を掲載しておくことは現実的でなく、また一方で、一般にエージェントはウェブサーバーのコンテンツを書き換える権限を有しておらず、その結果、即座にコラボレーションを行うことができないという問題点を有していた。
【０００５】
また、既存のアプリケーションでは、ローカルにある文書ファイルのコンテンツを共有することを想定していない。例えば、共有している一方の端末からビットマップをウェブサーバーに送る機能を有していても、これらは全て文書ファイルをビットマップ化してウェブサーバーに送ることとなるために、データ量が膨大となりネットワークへの過大な負荷は避けられない。更に、複数ページにわたる文書ファイルなどをビットマップ化するときには多くの手間が必要となる。また、フリーランスのチームスクリーンショーでは文書ファイルの共有が想定されているが、イントラネット内の複数のフリーランス文書を同期して表示するためのツールであり、双方向からの操作を行う意味での共有は不可能である。
更に、特開平９−２５８９４８号公報では、ウインドウの表示変化の共有だけに言及されており、上記課題を何ら解決できるものではない。
【０００６】
本発明はこのような課題を解決するためになされたものであって、コラボレーションを行っているユーザー間で、一方のＰＣに格納されている文書ファイルを効率的に共有することを目的としている。
また他の目的は、コラボレーションサーバーとクライアントの双方で、キャッシング機能による効率的なコラボレーションを可能とするものである。
更に他の目的は、共有したファイルをオリジナルと同じ文書形式で保管可能とするものである。
【０００７】
【課題を解決するための手段】
かかる目的のもと、本発明の特徴点は、ウェブサーバーを経由することなく一方の端末からＰＤＦ等の文書ファイルのコンテンツを送信し、共有できることにある。
即ち、本発明は、通信ネットワークを介して接続されたクライアント間でコラボレーションにて用いる文書ファイルを共有化する文書ファイル共有化システムで、コラボレーションを実行する第１クライアント及び第２クライアントの間でセッションを確立し、確立されたセッションの情報を保持するセッション確立手段と、このセッション確立手段によりセッションが確立された第１クライアントからこの第１クライアントが用いる文書ファイルのコンテンツを受信すると、その文書ファイルのコンテンツの転送先が第２クライアントであることをセッション確立手段に確認することにより認識し、文書ファイルのコンテンツを第２クライアントに対して転送するファイル転送手段とを備えたことを特徴としている。
【０００８】
また、第２クライアントから第１クライアントに対してファイル転送を要求するファイル転送要求手段とを更に具備し、このファイル転送手段は、ファイル転送要求手段による要求に基づいて文書ファイルを転送することを特徴とすれば、場所だけを教えるＵＲＬを移す従来技術と大きく異なり、ローカルにある文書ファイルに基づいて円滑なコラボレーションが実行できる点で好ましい。
更に、この第１クライアントが有する文書ファイルのファイル情報を第２クライアントに対して送出するファイル情報送出手段とを更に具備すれば、必要な文書ファイルのコンテンツだけを転送することが可能となり、ファイル転送における時間を節約することができる点で優れている。この文書ファイルのファイル情報としては、ファイル名やサイズ、日付等が含まれていれば、ファイルの同一性を判断するためにも好ましい。
また更に、これらの構成に加えて、セッションの張られたクライアント間で開いている文書ファイルの同期を取るコラボレーション手段を有するように構成すれば、何れかのクライアント上のビューアでページの移動、スクロール、拡大・縮小ボタンを押したとき等、そのイベントを他方に送ることで、お互いの見ている領域を同期することができる点で好ましい。
【０００９】
尚、本発明におけるコラボレーションシステムの形態としては、インターネット等の通信ネットワークに接続された第１クライアント及び第２クライアントに、夫々セッション確立手段を備え、ファイル転送を実施するように構成することが可能である。また、この第１クライアント及び第２クライアントの他に仲介するコラボレーションサーバーを配設し、セッション確立の他、ファイルのキャッシュや転送等を実施するように構成することも可能である。
また、文書ファイルとしては、特別にそのファイルの種類、形式を選ぶものではなく、狭義の「文書」に何ら限定されることがないのは言うまでもない。また、この文書ファイル形式として、米アドビシステムズが開発したドキュメント表示用のファイル形式であるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）を採用すれば、このＰＤＦは汎用的であると共に、ファイルに圧縮がかかるためファイル転送が軽くなること等の理由により本システムの文書ファイル形式としては好ましい。
更に、ここで、コラボレーションとは、一方のクライアントで発生したアクションを他方のクライアントに伝達すると共に、その他方のクライアントにてそのアクションを発生させて同様の結果を得ることを言う。
【００１０】
一方、仲介するコラボレーションサーバーから本発明を把えると、本発明のコラボレーションサーバーは、通信ネットワークを介して接続された第１クライアント及び第２クライアントに対してセッションを確立し、確立されたセッションの情報を保持するセッションマネージャーと、この第１クライアントにて開かれた文書ファイルのコンテンツを第１クライアントから受信すると共に、受信した文書ファイルのコンテンツの送出先が第２クライアントであることをセッションマネージャーに確認することにより認識し、文書ファイルのコンテンツを第２クライアントに対して送出するコントローラとを備えたことを特徴としており、例えばファイアーウォール(fire wall)越しでＰＣ上の文書ファイルを共有することへの応用が考えられる。
【００１１】
このコントローラは、第１クライアントにて開かれた文書ファイルの文書ファイル情報を受信し、受信した文書ファイル情報を第２クライアントに対して転送すると共に、この第２クライアントから送出される文書ファイルの転送要求を受信し、受信した転送要求に基づいて第２クライアントに対して第１クライアントにて開かれている文書ファイルのコンテンツを転送することを特徴とすれば、例えば第２クライアントに同一のファイルがキャッシュされている場合にファイル転送を行う必要がなく、共有準備を効率的に行うことが可能となる等、各クライアントとコラボレーションサーバーとの双方でキャッシング機能による効率的なコラボレーションが可能となる。
【００１２】
また、文書ファイルのコンテンツを格納するキャッシュと、受信した文書ファイル情報に基づいて該当する文書ファイルのコンテンツがキャッシュに格納されているか否かを確認するキャッシュマネージャーとを更に具備し、このキャッシュマネージャーにより、該当する文書ファイルのコンテンツがキャッシュに格納されている場合には、キャッシュから文書ファイルのコンテンツを読み出して第２クライアントに対して転送することを特徴とすれば、第１クライアントからなされるファイル転送処理を省略することが可能となる点で優れている。特に本発明では、共有したファイルをオリジナルと同じ文書形式で保管することが可能である点にも特徴があり、各クライアントの他、コラボレーションサーバーをキャッシュ場所としてキャッシュすることが可能である。
【００１３】
一方、本発明は、コラボレーションを実行する複数のクライアント間における文書ファイルの転送方法であって、ユーザーによる指定に基づいて共有すべき文書ファイルを特定するステップと、特定された文書ファイルのファイル情報を通知するステップと、文書ファイルにおけるファイル転送要求を受信するステップと、受信したこのファイル転送要求に基づいて文書ファイルのコンテンツを転送するステップとを含むことを特徴としており、ウェブサーバーを経由することなく、一方の端末から例えばＰＤＦファイルを送信し、共有することが可能となる。尚、ファイルをＰＤＦ化することでネットワーク上の負担を軽減し、いままでブラウザのプラグインでは不可能だったＰＤＦファイルの拡大、スクロールなども同期できる点でも優れている。
【００１４】
また、本発明の文書ファイルの転送方法は、通信ネットワークを介して接続されたカスタマー及びエージェントの間でセッションを確立するセッション確立ステップと、確立されたセッションの情報を所定の記憶装置に記憶するステップと、このセッションが確立されたカスタマーから、文書ファイルの共有を目的とした文書ファイルのファイル転送を要求するファイル転送要求ステップと、記憶されたセッションの情報を参照することにより、要求された文書ファイルの転送先をカスタマーに決定する転送先決定ステップと、要求された文書ファイルをカスタマーに対して転送するファイル転送ステップとを含むことを特徴としている。
また、このファイル転送ステップは、エージェントから転送される文書ファイルのコンテンツをカスタマーに対して転送することを特徴とすれば、例えば企業の顧客窓口のエージェントと顧客であるクライアントとの間で、Ｗｅｂ上に上がっていない資料であっても共有することが可能となり、良好なコミュニケーションを図ることが可能となる。
更に、このエージェントから共有すべき文書ファイルのファイル情報を通知するファイル情報通知ステップとを更に含むことを特徴とすれば、例えばクライアント側で既に同一のファイルがキャッシュされている場合等に効率的な文書ファイルの共有が実現できる点で好ましい。
【００１５】
また、本発明は、コンピュータに実行させるプログラムを記憶した記憶媒体において、このプログラムは、ネットワークに接続された複数のクライアント間におけるセッションを確立するセッション確立処理と、このセッション確立処理により確立されたセッションの情報を所定の記憶装置に記憶する記憶処理と、セッション確立処理によりセッションが確立された一方のクライアントから文書ファイルのコンテンツを受信する受信処理と、記憶処理により記憶されたセッションの情報を参照することにより、受信処理により受信した文書ファイルのコンテンツの転送先を、一方のクライアントとセッションが確立された他方のクライアントに決定する転送先決定処理と、この転送先決定処理による決定結果に基づき、受信処理により受信した文書ファイルのコンテンツを、一方のクライアントとセッションが確立された他方のクライアントに対して転送する転送処理とをこのコンピュータに実行させることを特徴としている。
【００１６】
また、本発明は、コンピュータに実行させるプログラムを記憶した記憶媒体において、このプログラムは、ユーザーによる指定に基づいて他のクライアントと共有すべき文書ファイルを特定する処理と、特定された文書ファイルのファイル情報を通知する処理と、この文書ファイルにおけるファイル転送要求を認識する処理と、認識したファイル転送要求に基づいて文書ファイルのコンテンツを転送する処理とをコンピュータに実行させることを特徴としている。これらの記憶媒体としては、その種類を選ぶものではなく、例えばＣＤ−ＲＯＭ等のインストールが可能な単体の記憶媒体の他、コンピュータに設けられたハードディスク等の記憶媒体が該当する。
【００１７】
一方、プログラム伝送装置として把えると、本発明は、コンピュータに、ユーザーによる指定に基づいて他のクライアントと共有すべき文書ファイルを特定する処理と、特定された文書ファイルのファイル情報を通知する処理と、文書ファイルにおけるファイル転送要求を認識する処理と、認識したファイル転送要求に基づいて文書ファイルのコンテンツを転送する処理とを実行させるプログラムを記憶する記憶手段と、この記憶手段からプログラムを読み出してこのプログラムを送信する送信手段とを備えたことを特徴とすれば、これらのプログラムを格納したサーバー等からこのプログラムを実行させたいＰＣ等へプログラムのダウンロードをさせる際にも本発明を適用することが可能となる。
【００１８】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図１は、本実施の形態におけるコラボレーションシステムの全体構成を説明するための機能ブロック図である。同図において、符号１０はエージェントとしての第１クライアントであり、例えばお客様コールセンターの窓口であるサポート担当等が該当する。また、１１はカスタマーとしての第２クライアントを示しており、例えばお客様コールセンターへ問い合わせを行う顧客が該当する。この第１クライアント１０と第２クライアント１１は、それぞれ同様な機能を有しており、相互でコラボレーションを行うことが可能である。また、符号２０は、インターネット３０を介して第１クライアント１０と第２クライアント１１との間でセッションを確立すると共に、ファイル転送要求等を出力するコラボレーションサーバーである。更に、３１はインターネット３０に接続されるＷｅｂサーバーであり、これは本実施の形態における特徴的な構成要素ではない。しかし、従前のＷｅｂを介した文書ファイルも利用し、例えば最初の文書ファイルはＵＲＬを用いてＷｅｂサーバー３１から共有する等に利用することができる。
【００１９】
図１における第１クライアント１０及び第２クライアント１１は、米アドビシステムズが開発したＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）に代表される文書ファイルを格納するＰＤＦキャッシュ１４と、文書ファイルを表示すると共に、「共有開始」ボタンの押下等のユーザーアクションを可能とするＰＤＦビューア１５と、ＰＤＦキャッシュ１４へのリード（ｒｅａｄ）、ライト（ｗｒｉｔｅ）や、ＰＤＦビューア１５への指定されたファイルの表示やスクロール等の状態変更、また、ＰＤＦビューア１５からのユーザーアクションをコラボレーションサーバー２０へ転送する等の各種制御を実行するＰＤＦコントロール１３を備えている。ここで、本実施の形態では、ＰＤＦビューア１５は、例えば米アドビシステムズのＡｃｒｏｂａｔ  Ｃｏｒｅ  ＡＰＩを利用したＰＤＦファイルのビューアとして形成されており、例えば、共有開始ボタンや、ページの移動、スクロール、拡大・縮小などの機能を持ったボタンが作成されている。また、Ｗｅｂブラウザ１７とそのイベント監視や状態変更等をコントロールするＷｅｂブラウザコントロール１６とを備え、ＵＲＬを他のクライアントと共有化し、キャッシュされていない場合にはＷｅｂサーバー３１からＨＴＭＬを落としてくるような、従来から行われているウェブコラボレーション等の機能をも実行できるように構成されている。
【００２０】
また、本実施の形態におけるコラボレーションサーバー２０は、エージェントである第１クライアント１０又はカスタマーである第２クライアント１１からの接続要求に基づいて、これらのセッションを確立するセッションマネージャー２１と、結び付けられたペアの情報を格納するセッションＤＢ（データベース）２２とを備えている。また、ＰＤＦ等の文書ファイルをキャッシュするＰＤＦキャッシュ２４と、ＰＤＦファイルの転送をコントロールするＰＤＦキャッシュマネージャー２３を備えている。このＰＤＦキャッシュ２４は共有したファイルをオリジナルと同じ形式で保管することができる。また、このＰＤＦキャッシュマネージャー２３は、ファイルの転送要求を受けてファイル名やサイズ、日付等から、同一のファイルがＰＤＦキャッシュ２４に格納されているか否かを確認すると共に、キャッシュされていない場合にはＰＤＦファイルを有するクライアントに対してファイル転送要求を出し、キャッシュされている場合にはそのファイルを転送できるように構成されている。また、Ｗｅｂキャッシュ２６とそれをコントロールするキャッシュマネージャー２５とを備えており、一方から受けたＵＲＬのキャッシュ情報によりＷｅｂサーバー３１からファイル転送を要求するかＷｅｂキャッシュ２６から転送するかが選択され、従来からのウェブコラボレーション機能をも実行できるように構成されている。尚、このコラボレーションサーバー２０は、ファイアーウォール  （ｆｉｒｅ  ｗａｌｌ）を超えてセッションを確立できるように機能しており、ファイアーウォールを超えて第１クライアント１０と第２クライアント１１とのコラボレーションを実行することが可能となる。
【００２１】
次に、本実施の形態における各処理の流れについて詳細に説明する。
図２は、本実施の形態におけるセッション確立までの処理について、コラボレーションサーバー２０から見た処理の流れを示すフローチャートである。この図２及び図１を用いてこの処理の流れを説明すると、まず、セッションマネージャー２１は、何れかのクライアントからの接続要求があるか否かを判断する（ブロック１０２）。接続要求がない場合には、ブロック１０１のスタートに戻り、再度、接続要求の有無を判断する。クライアントからの接続要求があった場合には、そのクライアントがエージェントかカスタマーかを判断する（ブロック１０３）。エージェント（例えば第１クライアント１０）であった場合、セッションＤＢ２２のエージェントリストに追加し、エージェント（例えば第１クライアント１０）に対してログオン成功を通知し（ブロック１０４）、ブロック１０１のスタートに戻ってカスタマーからの接続要求を待つ。
【００２２】
一方、ブロック１０３にてクライアントがカスタマー（例えば第２クライアント１１）であると判断された場合には、既にエージェントがログオンしているか否かを判断する（ブロック１０５）。エージェントがログオンしている場合には、任意のエージェント（例えば第１クライアント１０）とのペアを作成し、カスタマー（例えば第２クライアント１１）にログオン成功とセッション確立を通知する（ブロック１０６）。その後、対応するエージェント（例えば第１クライアント１０）にセッション確立を通知し（ブロック１０７）、セッション確立を完了する（ブロック１０８）。
一方、ブロック１０５にて未だエージェントがログオンしていないと判断される場合には、カスタマー（例えば第２クライアント１１）にログオン失敗の通知、即ちエージェント不在の通知を行い（ブロック１０９）、ブロック１０１のスタートに戻り、再度、接続要求の有無を判断する。
【００２３】
次に、セッションが確立された後、本実施の形態における最も特徴的な部分であるＰＤＦ等の文書ファイルの共有開始までの処理の流れについて図３及び図１を用いて詳述する。この図３では、エージェントである第１クライアント１０におけるユーザーアクションと、エージェント側のＰＤＦコントロール１３、コラボレーションサーバー２０、カスタマーである第２クライアント１１のＰＤＦコントロール１３における処理に分けてその流れを示しており、エージェントからカスタマーに文書ファイルの共有をかける例を示しているが、実際にはどちらからでも共有をかけることが可能である。
【００２４】
まず、エージェント側（第１クライアント１０）のＰＤＦビューア１５にて、「ファイル」の「オープン」メニューからローカルのＰＤＦファイルをオープンする（ブロック１１１）。これを受けて、ＰＤＦコントロール１３は指定されたファイルを表示する（ブロック１１２）。表示されたファイルを用いて、エージェント側のユーザーは、ＰＤＦビューア１５に設けられた「共有開始」ボタンを押下して共有開始の要求を行う（ブロック１１３）。この要求を受けると、エージェント側のＰＤＦコントロール１３は、例えば赤色ランプからなる共有準備中のインジケータを点灯し、ファイル情報をコラボレーションサーバー２０に対して通知する（ブロック１１４）。この通知を受けたコラボレーションサーバー２０は、ファイル転送先をセッションマネージャー２１に確認し、ファイル情報をカスタマー側（第２クライアント１１）に転送する（ブロック１１５）。カスタマー側のＰＤＦコントロール１３では、転送されたファイル情報にあるファイル名、サイズ、日付等から判断して、同一のファイルがＰＤＦキャッシュ２４にキャッシュされていないかどうかを確認する（ブロック１１６）。このクライアント側にて同一のファイルがキャッシュされていない場合には、ＰＤＦコントロール１３はコラボレーションサーバー２０に対してファイルの転送要求を出力する（ブロック１１７）。
【００２５】
次に、カスタマー側（第２クライアント１１）からファイル転送要求を受けたコラボレーションサーバー２０は、ファイル名、サイズ、日付、セッション情報から判断して、同一のファイルがＰＤＦキャッシュ２４にキャッシュされていないかどうかを確認する（ブロック１１８）。キャッシュされていない場合には、エージェント側（第１クライアント１０）に対してファイル転送を要求する（ブロック１１９）。この要求を受けたエージェント側（第１クライアント１０）のＰＤＦコントロール１３は、コラボレーションサーバー２０に対して要求されたファイルを転送する（ブロック１２０）。このファイル転送を受けたコラボレーションサーバー２０は、転送先をセッションマネージャー２１に確認した後にファイルをカスタマー側に転送する（ブロック１２１）。尚、ブロック１１８にて、同一のファイルがキャッシュされていたと判断された場合には、エージェント側にファイル転送を要求することなく、ＰＤＦキャッシュ２４からファイルを読み出してカスタマー側に転送している（ブロック１２１）。このように既にキャッシュされている場合にはエージェント側からのファイル転送を省略することが可能となり、ＰＤＦの共有を短時間にて図ることができる。
【００２６】
次に、カスタマー側（第２クライアント１１）のＰＤＦコントロール１３は、コラボレーションサーバー２０からファイルを受信し（ブロック１２２）、その後、ファイルをＰＤＦビューア１５に表示すると共に、例えば青色ランプからなる共有準備ＯＫのインジケータを表示し、共有準備が出来た旨をコラボレーションサーバー２０に対して通知する（ブロック１２３）。前述のブロック１１６にてキャッシュがされていた場合にも、同様に共有準備ＯＫのインジケータを表示し、共有準備が出来た旨を通知する。このブロック１１６における判断にてキャッシュされていた場合には、ブロック１１７からブロック１２２までの転送要求処理を省略することができ、ＰＤＦ共有までの一連の処理時間を大きく短縮することが可能となる。次に、ブロック１２３による通知を受けたコラボレーションサーバー２０は、転送先をセッションマネージャー２１に確認し、エージェント側（第１クライアント１０）のＰＤＦコントロール１３に対してメッセージを通知する（ブロック１２４）。この通知を受けたエージェント側のＰＤＦコントロール１３は、例えば青色ランプからなる共有準備ＯＫのインジケータを点灯させ、ＰＤＦ共有開始までの一連の処理が完了する。このように本実施の形態では、クライアントに対して転送要求を出し、どちらかのローカルにあるファイルを転送して共有を開始することができるので、ウェブサーバーにあるコンテンツを共有することに限定されていた従来技術と異なり、自由な文書ファイルを用いて即座にコラボレーションを行うことが可能となる。尚、前述したようにカスタマー側（第２クライアント１１）からエージェント側（第１クライアント１０）に対して共有をかけることも当然に可能であり、これによれば、例えば顧客側にて作成された文書ファイルに基づいて即座にコラボレーションを実行することが可能となる。尚、ここで言うコラボレーションとは、一方のクライアントで発生したアクションを、他方のクライアントに伝達し、発生させて同様の結果を得ることを言う。
【００２７】
次に、ＰＤＦの共有が開始された後に行われるアクションの同期について図４を用いて説明する。まず、図４は、本実施の形態におけるアクションの同期をとる構成について説明するためのブロック図である。第１クライアント１０及び第２クライアント１１のＰＤＦコントロール１３には、例えば画面上のボタンの押下やスクロール、描画実行等の各種イベントを監視するイベント監視部４１が備えられている。このイベント監視部４１からの情報を受けて、必要なものがイベント制御部４２により選択される。即ち、イベント制御部４２では、例えば、カーソル同期モードであればカーソルの動きに同期する等、生じたイベントが同期すべきイベントか同期しないイベントかを判断している。このイベント制御部４２により判断された同期すべきイベントに対して、データ変換部４３がコラボレーションデータへの変換を行う。この変換されたデータは、データ送信部４４からコラボレーションサーバー２０へと送信される。
一方、共有が開始されたクライアントにてアクションが生じた場合、コラボレーションサーバー２０からコラボレーションデータが送信される。このコラボレーションデータをデータ受信部４５が受け、イベント情報変換部４６がコラボレーションデータをイベント情報に変換する。このイベント情報変換部４６からの出力を受けてイベント操作部４７がＰＤＦビューア１５に対してアクション項目を実行するように構成されている。
【００２８】
次に、アクション同期例の一つである次のページを表示しようとしたときの流れについて、図５及び図１を用いて説明する。
まず、エージェント側（第１クライアント１０）のＰＤＦビューア１５にて、ユーザーアクションとして「次ページ」ボタンをクリックするイベントが発生する（ブロック１３１）。このイベントを受けてエージェント側のＰＤＦコントロール１３は、例えば赤ランプからなる共有準備中のインジケータを点灯し、次のページをＰＤＦビューア１５に表示させると共に、コラボレーションサーバー２０に対してその旨を通知する（ブロック１３２）。この通知を受けたコラボレーションサーバー２０は、転送先をセッションマネージャー２１に確認して、メッセージをカスタマー側（第２クライアント１１）に通知する（ブロック１３３）。この通知を受けたカスタマー側のＰＤＦコントロール１３は、次のページをＰＤＦビューア１５に表示させ、ページ遷移完了メッセージをコラボレーションサーバー２０に通知する（ブロック１３４）。この通知を受けたコラボレーションサーバー２０は、転送先をセッションマネージャー２１に確認して、メッセージをエージェント側に通知する（ブロック１３５）。この通知を受けたエージェント側のＰＤＦコントロール１３は、例えば青ランプからなる共有準備ＯＫのインジケータを点灯し、次ページ表示の一連の処理が終了する。
【００２９】
このように、アクション同期例として次ページの表示について説明したが、本実施の形態におけるコラボレーションは、次ページ表示だけに限定されるものではない。例えば、ＡからＢまで線を描くことや、線の色、ウインドウサイズ変更、スクロール等のアクションにも同期することができる。かかる場合は、図５におけるコラボレーションサーバーに送るメッセージを描画実行などのアクション内容に変えることで対応することが可能である。ここで、本実施の形態では、ファイルをＰＤＦ化することでネットワーク上の負担を軽減しているが、アクションの同期例として、今までのブラウザのプラグインでは不可能だったＰＤＦファイルの拡大、スクロールなども同期することが可能である。また、転送された側でＰＤＦの保存を行う機能を追加することもできる。
更に、これらの基本機能の他に、ビューアをマイクロソフト社が提供しているインターフェイス技術であるＭＤＩ（Ｍｕｌｔｉｐｌｅ  Ｄｏｃｕｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）で作成するように構成することもできる。このように構成することで、複数のＰＤＦファイルの同期をとることが可能となる。
尚、この図５では、エージェント側（第１クライアント１０）で次のページを表示しようとしたときを示しているが、逆にカスタマー側（第２クライアント１１）から次ページを表示しようとしたときも同様な流れで実現できる。
【００３０】
尚、本実施の形態では、クライアントのコラボレーションを仲介するものとして、コラボレーションサーバー２０を用いて説明してきたが、このコラボレーションサーバー２０におけるセッション確立等の機能を各クライアント（ＰＣ）に持たせ、相手のＩＰアドレスに対して直接接続を行う等、コラボレーションサーバー２０を省略するように構成することも可能である。より具体的に説明すると、各ＰＣでは、例えばＡｃｒｏｂａｔ  Ｃｏｒｅ  ＡＰＩを使ってＰＤＦファイルのビューアを作成し、例えば、ページの移動、スクロール、拡大・縮小などの機能を持ったボタンを作成するが、このビューアに、通信機能として、例えばＷｅｂＣｏｌｌａｂｏｒａｔｉｏｎのセッションをはる機能であるセッションコントロールを追加する。このセッションコントロールによるセッションの張り方は、ＣｈａｔＷｉｎｄｏｗクラスと同様に行い、ｓｙｎｃｈｒｏｎｉｚｅやｉｓＳｙｎｃｒｏｎｉｚｅｄなどのメソッドを提供し、それを使って同期をとる。本実施の形態では、ＩＥ用、Ｎｅｔｓｃａｐｅ用のコントロールクラス（ＷｅｂＷｉｎｄｏｗ，ＩＥＷｅｂＢｒｏｗｓｅｒ）は使用しないので、チャットと同様、各ブラウザ毎にコントロールクラスを作る必要はない。次にセッションの張られたＰＣ間で、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を行う機能を追加する。即ち、セッションの張られた何れかのＰＣ上のビューアでＰＤＦファイルをオープンする際に他方のＰＣにＰＤＦファイルを転送し、表示する。本実施の形態では、Ａｃｒｏｂａｔ  Ｃｏｒｅ  ＡＰＩを使って、ＰＤＦファイルの特定のページだけを転送することもできるので、相手に公開したいページだけを公開することが可能である。次にコラボレーション機能として、セッションの張られたＰＣ間で開いているファイルの同期をとる。具体的には、何れかのＰＣ上のビューアでページの移動、スクロール、拡大・縮小ボタンを押したとき、そのイベントを他方に送ることで、お互いの見ている領域を同期することができる。
【００３１】
このように、本実施の形態では、第１クライアント１０と第２クライアント１１の２者における情報交換（コラボレーション）について説明してきたが、コラボレーションを実行するクライアントの数を増やし、３つ以上のクライアント間でローカルファイルを共有することも可能である。例えばアプリケーションの１つとして遠隔教育システムに応用する場合には、先生と一人の生徒の他、先生と多数の生徒の間で交流授業や遠隔講義を実行することが挙げられる。このようなアプリケーションに本実施の形態を応用すれば、事前にウェブサーバー上に資料を掲載しておく必要がないことから、例えば、先生が作成した講義のためのＰＤＦファイルを、生徒に対して即座に共有させることが可能となり、また、一方で、生徒の作成したＰＤＦファイルをも即座に共有させるように構成することも可能であり、ウェブサーバーのコンテンツを書き換える権限のない者同士における円滑なコラボレーションを実行させることができる。
【００３２】
尚、本実施の形態における各機能を実行するプログラムをインストールする際には、例えばＣＤ−ＲＯＭ等の記憶媒体に各処理を実行するプログラムを格納させ、これらの記憶媒体をＰＣ等のコンピュータにおける（接続された）読み取り手段により読み取らせることが挙げられる。即ち、第１クライアント１０、第２クライアント１１、コラボレーションサーバー２０にＣＤ−ＲＯＭ等の記憶媒体を用いてプログラムをインストールし、実行させるように構成することが挙げられる。また、このような記憶媒体を介さずに、各クライアントに対してインターネット等を介してプログラムをダウンロードさせるように構成してもよい。その場合は、前述の各処理を実行するプログラムを記憶した記憶手段を有するＰＣ等のプログラム伝送装置が、例えばそのＰＣ等が有するプログラム送信手段を用いてインターネット等を介して各クライアント等に送信するように構成される。特に、クライアントが遠隔地に配置されるようなアプリケーションに本実施の形態を採用した場合には、プログラムをダウンロードする方法にて、各クライアントに本実施の形態における機能を持たせることが可能となり、広範囲にて利便性の高いコラボレーションシステムの形成を図ることができる。
【００３３】
【発明の効果】
以上説明したように、本発明によれば、ウェブサーバーを経由することなく、一方の端末から文書ファイルを送信し、共有することができるので、迅速、且つ利便性の高いコラボレーションを提供することができる。
【図面の簡単な説明】
【図１】本実施の形態におけるコラボレーションシステムの全体構成を説明するための機能ブロック図である。
【図２】本実施の形態におけるセッション確立までの処理の流れを示すフローチャートである。
【図３】本実施の形態における文書ファイルの共有開始までの処理の流れを示すフローチャートである。
【図４】本実施の形態におけるアクションの同期をとる構成について説明するためのブロック図である。
【図５】次のページを表示しようとしたときの処理の流れを示すフローチャートである。
【符号の説明】
１０…第１クライアント（エージェント）、１１…第２クライアント（カスタマー）、１３…ＰＤＦコントロール、１４…ＰＤＦキャッシュ、１５…ＰＤＦビューア、１６…Ｗｅｂブラウザコントロール、１７…Ｗｅｂブラウザ、２０…コラボレーションサーバー、２１…セッションマネージャー、２２…セッションＤＢ、２３…ＰＤＦキャッシュマネージャー、２４…ＰＤＦキャッシュ、２５…キャッシュマネージャー、２６…Ｗｅｂキャッシュ、３０…インターネット、３１…Ｗｅｂサーバー、４１…イベント監視部、４２…イベント制御部、４３…データ変換部、４４…データ送信部、４５…データ受信部、４６…イベント情報変換部、４７…イベント操作部
【図１】
0003594229.tif 000002
【図２】
0003594229.tif 000003
【図３】
0003594229.tif 000004
【図４】
0003594229.tif 000005
【図５】
0003594229.tif 000006