(57)【要約】  【課題】  通信トラフィックを軽減し、機種やＯＳの種類に依存しない、汎用性の高いコラボレーションシステム及びその方法を実現する。  【解決手段】  ネットワークを介して複数の端末装置１００に接続され、ウェブページを取得して保持し、端末装置１００による共同作業に用いられる作業画面として配信するコラボレーションサーバ２００と、チャットのセッションを管理するチャットサーバ３００とを備える。コラボレーションサーバ２００は、チャットサーバ３００が管理するチャットのセッションにチャットクライアントとして参加し、作業画面に対する操作指示をチャットメッセージとして各端末装置１００に配信する。この操作指示にしたがって各端末装置１００において作業画面をリロードすることにより、共同作業を進行させる。  【選択図】  図１
2005242899.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して複数の端末装置に接続され、当該複数の端末装置による共同作業を支援するコラボレーションサーバにおいて、
ウェブページを取得して保持し、前記端末装置による共同作業に用いられる作業画面として配信する作業画面制御部と、
前記複数の端末装置の間で行われるチャットにチャットクライアントとして参加するためのチャット機能実行部とを備え、
前記チャット機能実行部は、前記作業画面に対する操作指示をチャットメッセージとして前記端末装置に配信することを特徴とするコラボレーションサーバ。
【請求項２】
前記作業画面制御部は、前記端末装置からの要求に応じて、保持している前記ウェブページのデータファイルの更新を行い、
前記チャット機能実行部は、前記作業画面制御部により前記データファイルに対する操作が行われた場合に、前記端末装置に対して前記作業画面である前記ウェブページのリロードを促す指示をチャットメッセージとして配信することを特徴とする請求項１に記載のコラボレーションサーバ。
【請求項３】
前記作業画面制御部は、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付け、当該要求により指定された箇所に対応させて当該ウェブページのデータファイルにアンカータグを書き込むと共に、当該データファイルのＵＲＬ（Uniform Resource Locator）に前記アンカータグの名前を付加することを特徴とする請求項２に記載のコラボレーションサーバ。
【請求項４】
前記作業画面制御部は、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、前記アンカータグを、名前を変えずに、当該要求により指定された箇所に対応する前記データファイル上の位置に移動させることを特徴とする請求項３に記載のコラボレーションサーバ。
【請求項５】
前記作業画面制御部は、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、当該要求により指定された箇所に対応させて当該ウェブページのデータファイルにアンカータグを追記することを特徴とする請求項２に記載のコラボレーションサーバ。
【請求項６】
前記チャット機能実行部は、チャットにおいてやりとりされたテキストのログを保持し、
前記作業画面制御部は、前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けた後、次に当該ウェブページ上の他の箇所を指定してなされた要求を受け付けるまでになされたチャットのログを、当該ウェブページ上の当該所定の箇所に対応する前記アンカータグに関連付けることを特徴とする請求項５に記載のコラボレーションサーバ。
【請求項７】
前記チャット機能実行部は、チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、当該コマンドの内容を解析して、当該コマンドに基づく処理を、コラボレーションサーバの制御手段に実行させることを特徴とする請求項１に記載のコラボレーションサーバ。
【請求項８】
前記チャット機能実行部は、前記端末装置が備えるウェブブラウザの制御手段が読み取り可能なコマンドの形式で前記作業画面に対する操作指示を記述したチャットメッセージを生成し、前記端末装置に配信することを特徴とする請求項１に記載のコラボレーションサーバ。
【請求項９】
ネットワークにより接続された複数の端末装置による共同作業を支援するコラボレーションシステムにおいて、
ウェブページを取得して保持し、前記端末装置による共同作業に用いられる作業画面として配信するコラボレーションサーバと、
チャットのセッションを管理するチャットサーバとを備え、
前記コラボレーションサーバは、前記チャットサーバが管理するチャットのセッションにチャットクライアントとして参加することを特徴とするコラボレーションシステム。
【請求項１０】
前記コラボレーションサーバは、前記作業画面に対する操作指示を含むチャットメッセージを生成し、前記チャットサーバに送信することを特徴とする請求項９に記載のコラボレーションシステム。
【請求項１１】
前記コラボレーションサーバは、
前記端末装置からの要求に応じて、保持している前記ウェブページのデータファイルの更新を行う作業画面制御手段と、
前記作業画面制御手段により前記データファイルに対する操作が行われた場合に、前記端末装置に対して前記作業画面である前記ウェブページのリロードを促す指示を含むチャットメッセージを生成するチャットメッセージ生成手段と
を備えることを特徴とする請求項１０に記載のコラボレーションシステム。
【請求項１２】
前記コラボレーションサーバは、
前記端末装置からの要求を受け付ける要求受け付け手段と、
前記要求受け付け手段が前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けた後、次に当該ウェブページ上の他の箇所を指定してなされた要求を受け付けるまでに、チャットにおいてやりとりされたテキストのログを、当該ウェブページ上の当該所定の箇所に関連付けて格納する記憶手段と
を含むことを特徴とする請求項９に記載のコラボレーションシステム。
【請求項１３】
前記コラボレーションサーバは、
チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、当該コマンドを解析する解析手段と、
前記解析手段により認識されたコマンドに基づく処理を実行する制御手段と
を備えることを特徴とする請求項９に記載のコラボレーションシステム。
【請求項１４】
前記チャットサーバは、チャットにおけるセッションの識別情報と、当該セッションに参加しているクライアントの識別情報とを対応付けて登録するセッション管理テーブルを格納した記憶装置を備え、前記コラボレーションサーバの識別情報をクライアントとして当該セッション管理テーブルに登録することを特徴とする請求項９に記載のコラボレーションシステム。
【請求項１５】
ネットワークを介して複数の端末装置に接続されたコラボレーションサーバにより当該複数の端末装置による共同作業を支援する共同作業支援方法であって、
前記コラボレーションサーバが、記憶装置に格納されている共同作業の作業画面であるウェブページを前記複数の端末装置に配信する第１のステップと、
前記コラボレーションサーバが、所定の前記端末装置からの要求を受け付け、当該要求に基づいて、前記ウェブページのデータファイルを更新して前記記憶装置に格納する第２のステップと、
前記コラボレーションサーバが、前記複数の端末装置に対して前記作業画面である前記ウェブページのリロードを促す指示を、当該コラボレーションサーバおよび各端末装置がクライアントとして参加するチャットのチャットメッセージとして送信する第３のステップと
を含むことを特徴とする共同作業支援方法。
【請求項１６】
前記第２のステップでは、前記コラボレーションサーバが、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付け、当該要求により指定された箇所に対応させて当該ウェブページのデータファイルにアンカータグを書き込むと共に、当該データファイルのＵＲＬ（Uniform Resource Locator）に前記アンカータグの名前を付加することを特徴とする請求項１５に記載の共同作業支援方法。
【請求項１７】
前記第２のステップは、
前記チャットにおいて前記端末装置から送信されたチャットメッセージを受信して、当該チャットメッセージのテキストを解析するステップと、
前記テキストの解析の結果、前記テキストがコマンドである場合に、当該コマンドの内容を解析するステップと、
前記コマンドの解析の結果に基づいて、当該コマンドによって要求される処理を実行するステップと
を含むことを特徴とする請求項１５に記載の共同作業支援方法。
【請求項１８】
コンピュータを、
ウェブページを取得して保持し、ネットワークにより接続された複数の端末装置による共同作業に用いられる作業画面として配信し、当該端末装置からの要求に応じて、保持している前記ウェブページのデータファイルの更新を行う作業画面制御手段と、
前記複数の端末装置の間で行われるチャットにチャットクライアントとして参加し、前記作業画面制御手段により前記データファイルの更新が行われた場合に、前記作業画面に対する操作指示をチャットメッセージとして前記端末装置に配信するチャット機能実行手段として
機能させることを特徴とするプログラム。
【請求項１９】
前記チャット機能実行手段の機能として、前記コンピュータに、チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、当該コマンドの内容を解析させることを特徴とする請求項１８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続されている複数のコンピュータを用いて共同作業を行うコラボレーションシステムに関する。
【背景技術】
【０００２】
ネットワークを介して接続されている複数のコンピュータ間では、入出力やデータ処理を同期させることができ、これにより当該複数のコンピュータの表示装置に共通の画像を表示させたり、いずれかのコンピュータへの入力を他の各コンピュータに反映させたりすることができる。今日、この技術を用い、複数のユーザがこれら複数のコンピュータを使用し、おのおののコンピュータの表示装置に共通の作業画面を表示させて共同作業を行うコラボレーションシステムが普及している。
【０００３】
従来、この種のコラボレーションシステムとしては、米国ＩＢＭ−ＬｏｔｕｓのLotus Sametimeのように、アプリケーションプログラムの制御によってコンピュータの表示装置に表示される画面をビットマップ画像としてコンピュータ間でやりとりし、各コンピュータに共通の画面を表示させるシステムがある。
【０００４】
また、他の従来技術としては、ウェブブラウザでの操作情報をコンピュータ間で送受信することによって、各コンピュータで同一のウェブページを表示させるウェブコラボレーションシステムがある（例えば、特許文献１参照）。この種のウェブコラボレーションシステムとしては、さらに、ユーザの使用するコンピュータがプロキシサーバ（コラボレーションサーバ）を介してＨＴＭＬ（Hyper Text Markup Language）ファイルを取得しウェブページを表示させると共に、１つのコンピュータにおけるページ遷移を他のコンピュータに通知することによって、各コンピュータで同一のウェブページを表示させるシステム（例えば、特許文献２参照）、プロキシサーバがキャッシュしたＨＴＭＬファイルにアンカータグを埋め込むことにより、各コンピュータに表示されるウェブページ上の任意の場所を特定できるようにしたシステム（例えば、特許文献３参照）等が提案されている。
【０００５】
さらに、これらのコラボレーションシステムに、いずれかのコンピュータにおいて入力されたテキストデータを他のコンピュータにおいても表示することによりリアルタイムで会話を行う、いわゆるチャットシステムを組み合わせることで、共同作業に参加しているユーザ間のコミュニケーションを支援する技術が提案されている（例えば、特許文献４参照）。
【０００６】
【特許文献１】特開平１０−１２４４６１号公報
【特許文献２】特開２００１−５１９３２号公報
【特許文献３】特開２００２−１４９６４０号公報
【特許文献４】特開２００３−１５０５２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したように、ネットワークを介して接続された複数のコンピュータを用いて複数のユーザによる共同作業を支援するコラボレーションシステムに関して、従来から種々の提案がなされている。
しかし、これら従来のコラボレーション技術には、次のような課題があった。
【０００８】
表示画面をビットマップ画像として送受信し、複数コンピュータで同一画面を表示するシステムでは、画像データを送受信するために通信データ量が大きくなってしまい、ネットワークのトラフィックにおける負荷が増大する。
また、ビットマップ画像を用いるため、表示イメージが各コンピュータの表示装置における表示サイズや解像度に依存する。したがって、所定のコンピュータでは画像イメージの全体が表示されているが、他の所定のコンピュータでは画像イメージの縁の一部が表示画面からはみ出して切れてしまうといったことが起こり得るため、共同作業に支障を来す場合があった。
図２０は、作業画面のビットマップ画像をコンピュータ間でやりとりする従来技術において、作業画面を異なる解像度のディスプレイ装置で表示した例を示す図である。
図２０において、高解像度の端末装置Ａで表示された作業画面で所定の箇所（図中の星印：★）を注目箇所として特定した場合、低解像度の端末装置Ｂで表示された当該作業画面では、注目箇所の位置が作業画面の表示範囲から外れてしまい、共同作業において作業画面のどこが注目されているのかを認識することが困難になる。
さらに、このシステムでは、表示画面のイメージを取得するためにＯＳ（オペレーティングシステム）に依存した処理が必要となる。そのため、コラボレーションシステムを利用するコンピュータにおいて使用できるＯＳの種類が限定されてしまう。
【０００９】
一方、上述した特許文献１、２に記載されたウェブコラボレーションシステムは、ウェブページを表示画面として用いることにより、コンピュータ間の通信がウェブブラウザに対する操作情報だけで済むために、通信トラフィックの負荷が軽減される。そして、表示イメージに関しても、ウェブブラウザを操作（スクロール等）することによって、コンピュータの表示装置の表示サイズに依存せずに全体を視認することが可能となる。
しかし、ウェブページによる表示画面上での入力等の作業を他のコンピュータの表示画面に反映させるためには、これらのコンピュータが共通のもしくは互換性のあるウェブブラウザを使用している必要があり、使用できるウェブブラウザやＯＳの種類が限定されてしまう。
また、表示画面としてウェブページを表示しただけでは、共同作業に参加している所定のユーザが当該表示画面のどの部分に注目しているのかを他のユーザに明確に示すことが困難である。
【００１０】
特許文献３に記載されたシステムでは、ＨＴＭＬファイルにアンカータグを埋め込むことで、ウェブブラウザやＯＳの種類に依存せずに、表示画面（ウェブページ）の任意の場所を特定し、特定された場所に共同作業において使用されるポインタを表示したり、特定された場所が表示されるようにウェブブラウザの画面のスクロールを制御したりすることができる。
しかし、この従来技術は、ＨＴＭＬファイルに埋め込まれた固定的なアンカータグを目印として用いてポインタの表示制御やウェブブラウザのスクロール制御を行うものである。そのため、このポインタ表示や画面スクロールにおける同期箇所を他のコンピュータに通知するためのアプリケーションプログラム及びその実行環境がユーザ端末であるコンピュータに用意されていることが必要となる。したがって、コンピュータの機能や動作環境によっては、ウェブページによる表示画面は表示できても、ポインタ表示や画面スクロールの同期といった特許文献３のシステムによって提供される機能を利用できない場合があった。
【００１１】
また、特許文献４に記載された従来技術は、コラボレーションシステムにチャットシステムを組み合わせることによって、ユーザ間のコミュニケーション支援を実現している。
しかし、この従来技術においてもコラボレーションサーバとユーザ端末との間の通信は、他のウェブコラボレーションシステムの場合と同様に行われるので、使用できるウェブブラウザやＯＳの種類が限定される、あるいはアンカータグを目印にしてポインタの表示位置や画面スクロールの同期を行うための実行環境が必要であるといった、上記特許文献１〜３における課題と同様の課題が残っている。
【００１２】
そこで本発明は、ネットワークを介して接続された複数のコンピュータによるコラボレーションシステムにおいて、共同作業におけるコンピュータ間の通信トラフィックを低減することを目的とする。
また本発明は、機種やＯＳの種類に依存せず、また特別なアプリケーションプログラムを必要とせずに、表示や各種の操作を同期させる、汎用性の高いコラボレーションシステム及びその方法を提供することを他の目的とする。
また本発明は、機種やＯＳの種類に依存せず、また特別なアプリケーションプログラムを必要としない、汎用性の高いコラボレーションシステムを実現するため、コラボレーションサーバと共同作業に参加するユーザの端末装置との間の通信をチャットシステムにて実現することをさらに他の目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成する本発明は、ネットワークにより接続された複数の端末装置による共同作業を支援する、次のようなコラボレーションシステムとして実現される。このコラボレーションシステムは、ウェブページを取得して保持し、端末装置による共同作業に用いられる作業画面として配信するコラボレーションサーバと、チャットのセッションを管理するチャットサーバとを備え、コラボレーションサーバは、チャットサーバが管理するチャットのセッションにチャットクライアントとして参加することを特徴とする。
チャットサーバは、チャットにおけるセッションの識別情報と、セッションに参加しているクライアントの識別情報とを対応付けて登録するセッション管理テーブルを格納した記憶装置を備え、コラボレーションサーバの識別情報をクライアントとしてセッション管理テーブルに登録する。
【００１４】
ここで、このコラボレーションサーバは、ウェブページを取得して保持し、端末装置による共同作業に用いられる作業画面として配信する作業画面制御部と、複数の端末装置の間で行われるチャットにチャットクライアントとして参加するためのチャット機能実行部とを備え、このチャット機能実行部は、作業画面に対する操作指示をチャットメッセージとして各端末装置に配信することを特徴とする。
そして、より好ましくは、チャット機能実行部は、端末装置が備えるウェブブラウザの制御手段が読み取り可能なコマンドの形式で作業画面に対する操作指示を記述したチャットメッセージを生成し、端末装置に配信する。
【００１５】
さらに詳しくは、作業画面制御部は、端末装置からの要求に応じて、保持しているウェブページのデータファイル（ＨＴＭＬファイル）の更新を行い、チャット機能実行部は、作業画面制御部によりデータファイルに対する操作が行われた場合に、端末装置に対して作業画面であるウェブページのリロードを促す指示をチャットメッセージとして配信する。
より具体的には、作業画面制御部は、端末装置から作業画面であるウェブページ上の所定の箇所を指定してなされた要求を受け付け、この要求により指定された箇所に対応させてウェブページのデータファイルにアンカータグ（後述する動的アンカー）を書き込むと共に、データファイルのＵＲＬにアンカータグの名前を付加する。そして、端末装置から作業画面であるウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、このアンカータグを、名前を変えずに、要求により指定された箇所に対応するデータファイル上の位置に移動させる。これにより、このウェブページをリロードすれば、アンカータグの書き込まれた箇所が作業画面の先頭に表示されることとなる。
【００１６】
また、作業画面制御部は、端末装置から作業画面であるウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、この要求により指定された箇所に対応させてウェブページのデータファイルにアンカータグ（後述する履歴アンカー）を追記する。これにより、共同作業のセッションで、注目箇所として設定された箇所に立ち戻ることが容易にできる。さらに、チャット機能実行部がチャットにおいてやりとりされたテキストのログを保持することにより、作業画面制御部が、ウェブページ上の所定の箇所を指定してなされた要求を受け付けた後、次にウェブページ上の他の箇所を指定してなされた要求を受け付けるまでになされたチャットのログを、ウェブページ上の該当する箇所に対応するアンカータグに関連付けることができる。
【００１７】
また好ましくは、チャット機能実行部は、チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、このコマンドの内容を解析して、このコマンドに基づく処理を、コラボレーションサーバの制御手段に実行させる。
【００１８】
また、上記の目的を達成する本発明は、ネットワークを介して複数の端末装置に接続されたコラボレーションサーバにより、この複数の端末装置による共同作業を支援する共同作業支援方法としても実現される。この共同作業支援方法では、まず、コラボレーションサーバが、記憶装置に格納されている共同作業の作業画面であるウェブページを各端末装置に配信する。次に、コラボレーションサーバが、所定の端末装置からの要求を受け付け、この要求に基づいて、ウェブページのデータファイルを更新する。そして、コラボレーションサーバが、複数の端末装置に対して作業画面であるウェブページのリロードを促す指示をチャットメッセージとして送信する。
【００１９】
ここで、より詳しくは、コラボレーションサーバがウェブページのデータファイルを更新するステップは、チャットにおいて端末装置から送信されたチャットメッセージを受信して、このチャットメッセージのテキストを解析するステップと、テキスト解析の結果、テキストがコマンドである場合に、このコマンドの内容を解析するステップと、コマンド解析の結果に基づいて、このコマンドによって要求される処理を実行するステップとを含む。
【００２０】
さらに本発明は、コンピュータを制御して、上述したコラボレーションサーバの各機能を実現するプログラム、あるいは上記の共同作業支援方法における各ステップに対応する処理を実行させるプログラムとしても実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【発明の効果】
【００２１】
以上のように構成された本発明によれば、共同作業の作業画面をウェブページで構成することにより通信トラフィックを軽減するのみならず、チャットメッセージによる操作指示とウェブページのリロードによって共同作業における進行を制御するため、機種やＯＳの種類に依存しない、汎用性の高いコラボレーションシステム及びその方法を実現することができる。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
図１は、本実施形態によるコラボレーションシステムの全体構成を示す図である。
図１に示すように、本実施形態のコラボレーションシステムは、共同作業を実行するための複数の端末装置１００と、端末装置１００による共同作業を支援するコラボレーションサーバ２００と、端末装置１００どうし及び端末装置１００とコラボレーションサーバ２００との間の情報交換をチャットシステムによって実現するチャットサーバ３００とを備える。チャットサーバ３００と端末装置１００及びコラボレーションサーバ２００とは、インターネットその他のネットワークを介して接続されている。
本実施形態のコラボレーションシステムは、共同作業に用いるための作業画面をウェブページで提供する。また、共同作業における操作情報をチャットにて行う。したがって、各装置間で送受信されるデータは、ウェブページを構成する文書ファイル（以下、ＨＴＭＬファイル）、そのＵＲＬ（Uniform Resource Locator）、ＨＴＴＰ（HyperText Transfer Protocol）リクエストやそのレスポンス、チャットデータ等となる。
【００２３】
端末装置１００は、パーソナルコンピュータやワークステーション、その他のコンピュータ装置、ネットワーク機能を備えたＰＤＡ（Personal Digital Assistant）、携帯電話等の情報機器にて実現される。なお、図１には２台の端末装置１００が図示されているが、実際には３台以上の端末装置が接続されていても良い。また、以下の説明において、コラボレーションのセッションを開始する端末装置１００と開始されたコラボレーションのセッションに参加する端末装置１００とを区別する必要がある場合には、前者を主催者端末装置１００ａ、後者を参加者端末装置１００ｂと記載するが、これらを区別する必要がない場合は、単に端末装置１００と記載する。
コラボレーションサーバ２００及びチャットサーバ３００パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。なお、図１にはコラボレーションサーバ２００とチャットサーバ３００とが異なる装置として記載されているが、かかるハードウェア構成に限定するものではなく、物理的に単一のコンピュータにて各サーバを実現することができるのは言うまでもない。
【００２４】
図２は、図１に示した端末装置１００、コラボレーションサーバ２００及びチャットサーバ３００を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図２に示すコンピュータ装置は、演算手段であるＣＰＵ（Central Processing Unit：中央処理装置）１１と、Ｍ／Ｂ（マザーボード）チップセット１２およびＣＰＵバスを介してＣＰＵ１１に接続されたメインメモリ１３と、同じくＭ／Ｂチップセット１２およびＡＧＰ（Accelerated Graphics Port）を介してＣＰＵ１１に接続されたビデオカード１４と、ビデオカード１４にて生成される画像イメージを表示出力するディスプレイ２０と、ＰＣＩ（Peripheral Component Interconnect）バスを介してＭ／Ｂチップセット１２に接続された磁気ディスク装置（ＨＤＤ）１５、ネットワークインターフェイス１６と、さらにこのＰＣＩバスからブリッジ回路１７およびＩＳＡ（Industry Standard Architecture）バスなどの低速なバスを介してＭ／Ｂチップセット１２に接続されたフレキシブルディスクドライブ１８およびキーボード／マウス１９とを備える。
【００２５】
なお、図２は本実施形態の各装置を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１１にてイメージデータを処理する構成としても良いし、外部記憶装置として、ＡＴＡ（AT Attachment）やＳＣＳＩ（Small Computer System Interface）などのインターフェイスを介してＣＤ−Ｒ（Compact Disc Recordable）やＤＶＤ−ＲＡＭ（Digital Versatile Disc Random Access Memory）のドライブを設けても良い。また、コラボレーションサーバ２００やチャットサーバ３００を実現する構成としては、ビデオカード１４、ディスプレイ２０やキーボード／マウス１９といった入出力デバイスは、必ずしも設けなくても良い。
【００２６】
図３は、本実施形態のコラボレーションシステムを構成する端末装置１００の機能構成を示す図である。
図３に示すように、端末装置１００は、ネットワークを介してＨＴＭＬファイルやチャットメッセージを送受信する通信部１１０と、受信したＨＴＭＬファイルを表示するためのウェブ表示制御部１２０と、ＨＴＭＬファイルを編集するための編集部１３０と、チャットを行うためのチャット制御部１４０とを備える。端末装置１００を図２に示したコンピュータ装置で構成した場合、通信部１１０はネットワークインターフェイス１６にて実現され、ウェブ表示制御部１２０およびチャット制御部１４０はプログラム制御されたＣＰＵ１１、ビデオカード１４及びディスプレイ２０にて実現され、編集部１３０はプログラム制御されたＣＰＵ１１にて実現される。ウェブ表示制御部１２０の機能を実現するプログラムとしては、既存のウェブブラウザを用いることができ、同様にチャット制御部１４０の機能を実現するプログラムとしては、既存のチャット用アプリケーションプログラムを用いることができる。また編集部１３０の機能を実現するプログラムとしては、テキストを編集してＨＴＭＬファイルに変換する機能を備えた既存のワードプロセッサやエディタを用いることができる。
【００２７】
本実施形態のコラボレーションシステムでは、端末装置１００どうしの情報交換及びコラボレーションによるセッション中の端末装置１００とコラボレーションサーバ２００との間の情報交換がチャットシステムにより行われる。すなわち、端末装置１００のユーザは、ウェブ表示制御部１２０によりディスプレイ２０に表示されるウェブページ表示用のウィンドウを参照しながら、チャット制御部１４０によりディスプレイ２０に表示されるチャット用のウィンドウに表示されるチャットのテキストを読み、チャットメッセージを入力することにより、共同作業を進めることとなる。具体的な共同作業の動作については後述する。
【００２８】
図４は、端末装置１００の表示装置に表示されるウィンドウを示す図である。
図４において、ウェブページ表示用のウィンドウ４０１に作業画面であるウェブページが表示され、チャット用のウィンドウ４０２にチャットにおいてやりとりされるメッセージが表示される。図示の例では、チャット用のウィンドウ４０２には、メッセージを入力するための入力フォームと、入力されたメッセージを送信するためのボタン、チャットを終了するためのボタン（図中の「閉じる」と表記されたボタン）が設けられている。
端末装置１００がパーソナルコンピュータ等のように比較的大きいサイズの表示画面を持つ表示装置を有する場合は、ウェブページ表示用のウィンドウ４０１とチャット用のウィンドウ４０２とを同時に表示して作業を進めることができるが、端末装置１００がＰＤＡや携帯電話のような小さいサイズの表示画面を持つ表示装置を有する場合は、ウェブページ表示用のウィンドウ４０１とチャット用のウィンドウ４０２の表示を切り替えながら作業を進めることとなる。
【００２９】
なお、共同作業として、ウェブブラウザにより表示されたウェブページに対して当該ウェブブラウザにて提供される機能を用いた操作（画面のスクロール、ページ遷移、入力フォームへの入力等）のみを行う場合は、編集部１３０は必須の構成要件ではない。
以上のように、本実施形態における端末装置１００は、最低限、ネットワークを介してＨＴＭＬファイルを受信し、ウェブページを表示してウェブブラウザの機能に基づく操作を行い、ウェブブラウザの操作情報を送信すると共に、チャットにおけるデータの入出力および送受信を行うことができれば良い。したがって、機種や使用されるＯＳ、ウェブブラウザの種類は限定されず、図２に示したコンピュータ装置の他、処理能力の低いＰＤＡ等の情報機器を端末装置１００として用いることができる。
【００３０】
図５は、本実施形態のコラボレーションシステムを構成するコラボレーションサーバ２００の機能構成を示す図である。
図５に示すように、コラボレーションサーバ２００の機能は、アプリケーション層と制御層とデータ層とからなり、アプリケーション層にはウェブページコンポーネント２１０とチャットコンポーネント２２０とが含まれる。アプリケーションであるウェブページコンポーネント２１０は、外部のウェブサーバから作業画面となるウェブページを取得し、アンカー付きのキャッシュページを作成する。そして、キャッシュしたウェブページを端末装置１００に送付すると共に、端末装置１００からのコマンドを受け付ける。また、チャットコンポーネント２２０は、クライアントとしてチャットサーバ３００にログインして、チャットを経由して送信された端末装置１００からのコマンドを処理し、またコラボレーションサーバ２００からのコマンドメッセージを端末装置１００に送信する。そして、チャットのログを記録する。
【００３１】
ウェブページコンポーネント２１０は、例えば図２に示したプログラム制御されたＣＰＵ１１にて実現され、ウェブサーバとしての機能を有するウェブサーバ部２１１と、他のウェブサーバに対するクライアントとしての機能を有するウェブクライアント部２１２と、端末装置１００との通信に基づいてコラボレーションにおけるウェブページに対する処理を行うためのキャッシュページ生成部２１３、ウェブリクエスト解析部２１４及びコマンドパネル表示部２１５とを備える。
【００３２】
ウェブサーバ部２１１は、端末装置１００からのリクエストを受け付けてウェブリクエスト解析部２１４に送付し、リクエストされたウェブページ（ＨＴＭＬファイル）を当該端末装置１００に送付する。
ウェブクライアント部２１２は、ウェブサーバ部２１１が端末装置１００から受け付けたリクエストに含まれるコマンドに従い、外部のウェブサーバ（図示せず）から作業画面となるウェブページを取得する。
キャッシュページ生成部２１３は、ウェブクライアント部２１２により取得されたウェブページを元にアンカー付きのウェブページを生成する。生成されたウェブページのデータは、後述するウェブページ格納部２４１にキャッシュされる。
ウェブリクエスト解析部２１４は、端末装置１００からＨＴＴＰリクエストとして送信されるリクエストを解析し、対応するコンポーネントを呼び出す。
コマンドパネル表示部２１５は、端末装置１００で表示されるツールを生成する。ツールについては後述する。
【００３３】
チャットコンポーネント２２０は、例えば図２に示したプログラム制御されたＣＰＵ１１にて実現され、チャットクライアント部２２１と、チャットテキスト解析部２２２と、チャット記録部２２３と、コマンド解析部２２４と、チャットコマンド生成部２２５とを備える。
チャットクライアント部２２１は、チャットサーバ３００に接続し、チャットシステムのクライアントとしてチャットに参加する。
チャットテキスト解析部２２２は、チャットサーバ３００から送られてきたテキストを解析し、規定された文法に基づいて当該テキストがコマンドかどうかを調べる。コマンドであればコマンド解析部２２４に送付する。また、コマンド以外のテキストをチャット記録部２２３に送付する。
チャット記録部２２３は、チャットのテキストをメインメモリ１３等の記憶手段に一時的に記録し、後述する注目箇所ごとにまとめてチャットログ管理部２３３に送付する。
コマンド解析部２２４は、チャットテキスト解析部２２２の解析によりコマンドとして認識されたテキストの内容を解析し、コマンドの内容を認識する。認識されたコマンドの処理内容はコマンド処理部２３４へ送信される。
チャットコマンド生成部２２５は、端末装置１００に制御コマンドとして送付するコマンドメッセージを生成する。
【００３４】
図５に示した制御層の各機能は、例えば図２に示したプログラム制御されたＣＰＵ１１にて実現される。この制御層は、コラボレーションにおけるクライアントのセッションとウェブページとチャットログの管理を行う機能として、セッション管理部２３１と、ウェブページ制御部２３２と、チャットログ管理部２３３と、コマンド処理部２３４とを備える。
セッション管理部２３１は、コラボレーションにおける共同作業のセッションを管理する。セッションの管理は後述するセッション管理テーブルを用いて行うことができる。
ウェブページ制御部２３２は、キャッシュページ生成部２１３によって生成されたアンカー付きウェブページを管理する。
チャットログ管理部２３３は、チャットのログを後述する注目箇所に関連付けて管理する。注目箇所への関連づけの方法については後述する。
コマンド処理部２３４は、チャット及びウェブのリクエストとして送信されたコマンドの実態（内容）を処理し、必要なコンポーネントを呼び出す。
【００３５】
データ層の各機能は、例えば図２に示したメインメモリ１３や磁気ディスク装置１５にて実現される。このデータ層は、ウェブページとチャットログのデータの実態およびセッション情報を保管する機能として、ウェブページ格納部２４１と、セッション管理テーブル格納部２４２と、チャットログ格納部２４３とを備える。
ウェブページ格納部２４１は、キャッシュページ生成部２１３によって生成されたアンカー付きウェブページを保管する。
セッション管理テーブル格納部２４２は、コラボレーションにおける共同作業のセッション情報を管理するセッション管理テーブルを保管する。セッション管理テーブルは、例えば図６に示すように、セッションＩＤと、当該セッションに参加している端末装置１００のアドレスとが対応付けて登録される。また、主催者端末装置１００ａと参加者端末装置１００ｂとの別を識別する識別情報も登録される。なお、端末装置１００のアドレスに代えて、セッションに参加するユーザのユーザＩＤを登録することもできる。この場合、ユーザがどの端末装置１００を用いてセッションに参加しても、ユーザＩＤによってユーザ自身を一義的に特定できるので、ユーザに対するアクセス制御などを行うことが可能となる。ただし、ユーザＩＤを登録する場合、当該ユーザＩＤとアドレスとを対応付けるテーブルが別途必要となる。
チャットログ格納部２４３は、チャットにおいてやり取りされた内容のテキスト（チャットログ）を保管する。
【００３６】
図５に示したコラボレーションサーバ２００の構成のうち、ウェブページコンポーネント２１０、ウェブページ制御部２３２、コマンド処理部２３４およびウェブページ格納部２４１が、作業画面であるウェブページに対する処理を行う作業画面制御手段として機能する。また、チャットコンポーネント２２０、チャットログ管理部２３３、コマンド処理部２３４およびチャットログ格納部２４３が、チャットのセッションにコラボレーションサーバ２００をチャットクライアントとして参加させ、チャットメッセージによってコマンドのやりとりをし、共同作業の進行制御を行うためのチャット機能実行手段として機能する。
【００３７】
図７は、本実施形態のコラボレーションシステムを構成するチャットサーバ３００の機能構成を示す図である。
図７に示すように、チャットサーバ３００は、チャットのセッションを管理するセッション管理部３１０と、ネットワークインターフェイスを制御してチャットのクライアントとの間でのメッセージの交換を行うメッセージ送受信部３２０と、チャット内容を記憶装置に保存するチャット内容保存部３３０とを備える。
上述したように本実施形態では、コラボレーションサーバ２００がチャットのクライアントとしてチャットサーバ３００にアクセスし、チャットに参加する。したがって、本実施形態においてチャットのクライアントという場合には、端末装置１００とコラボレーションサーバ２００とが含まれている。
【００３８】
セッション管理部３１０は、例えば図２に示したプログラム制御されたＣＰＵ１１およびメインメモリ１３や磁気ディスク装置１５等の記憶手段にて実現され、本実施形態で行われるチャットのセッションを管理する。セッション管理は、図６に示したものと同様のセッション管理テーブルに、セッションＩＤと当該セッションのクライアント（チャットシステムの場合は、端末装置１００およびコラボレーションサーバ２００）のアドレスとを対応付けて登録することにより行うことができる。
メッセージ送受信部３２０は、例えば図２に示したプログラム制御されたＣＰＵ１１とネットワークインターフェイス１６とで実現され、チャットのセッションにおける各クライアント間のメッセージの送受信を制御する。
チャット内容保存部３３０は、例えば図２に示したメインメモリ１３や磁気ディスク装置１５等の記憶手段にて実現され、実行されたチャットのセッションにおけるログを保存する。
【００３９】
ここで、本実施形態のシステムによる共同作業の実現手法について具体的に説明する。
本実施形態では、端末装置１００において表示される作業画面（ウェブページ、コンテンツ）の同期と、チャットシステムを用いた情報交換および進行制御とによって共同作業が行われる。
まず、作業画面の同期について説明する。
上述したように、本実施形態では、作業画面がウェブページで提供される。そこで、作業画面のウェブページのＨＴＭＬファイルに、場所を示す特定の情報を書き込むことにより、当該ウェブページを表示する各端末装置１００において、作業画面の特定の場所を示すことができる。
具体的には、ＨＴＭＬのアンカータグをＨＴＭＬファイルの所望の位置に書き込む。これにより、共同作業に参加する各端末装置１００において、作業画面であるウェブページをリロード（再読込）することで、当該ウェブページ中の所望の位置にジャンプして画面の表示状態を同期させることが可能となる。また、アンカータグを書き込んだ位置に、さらにイメージタグを書き込み、任意のイメージファイルをリンクさせるようにしても良い。このようにすれば、作業画面を同期させるだけでなく、ウェブページのどの場所に注目しているかを所望の目印（イメージ）で表示して他の参加者に知らせることができる。
【００４０】
また、本実施形態では、アンカータグとして、現在注目中の箇所を動的に示すためのアンカータグ（動的アンカーと称す）と、共同作業において一度でも注目された箇所を示すためのアンカータグ（履歴アンカーと称す）の２種類のタグを用いることとする。
動的アンカーは、共同作業において現在注目している箇所を示すものであり、注目箇所が変わるたびにＨＴＭＬファイル中の記述位置が変更される。また、動的アンカーの名前を作業画面のウェブページのＵＲＬに付加する（リンクを張る）ことにより、当該ウェブページへジャンプ（またはリロード）した際に、ウェブページの動的アンカーが配置されている場所へジャンプすることとなる。
履歴アンカーは、共同作業において過去に動的アンカーが記述された位置、および現在動的アンカーが記述されている位置に記述される。この履歴アンカーは、共同作業における過去の注目箇所を参照したり、後述するチャットログの保存において、チャットログが対応する過去の注目箇所に関連付けたりするために用いられる。
【００４１】
次に、チャットシステムを用いた情報交換および作業の進行制御について説明する。
上述したように、本実施形態では、共同作業における情報交換を既存のチャットシステムを利用して行う。そしてさらに、コラボレーションサーバ２００をクライアントとしてチャットに参加させることにより、各端末装置１００に配信するチャットメッセージで共同作業の進行の制御を実現している。
具体的には、まず、共同作業に参加しているユーザが作業画面の所定の位置に注目した場合、当該ユーザが使用する端末装置１００が操作されて、その注目箇所がコラボレーションサーバ２００に通知される。これに応じて、コラボレーションサーバ２００が、作業画面のウェブページの注目箇所に対応するＨＴＭＬファイルの該当位置にアンカータグを書き込み、当該ウェブページのＵＲＬを上述したように当該アンカーを含むＵＲＬに更新する。そして、ウェブページのリロードを促すチャットメッセージを各端末装置１００に送信する。このチャットメッセージに応じて、各端末装置１００でウェブページのリロードが行われれば、作業画面の表示状態が同期することとなる。
【００４２】
これを実現するため、本実施形態のコラボレーションサーバ２００は、アプリケーション層に設けられたチャットコンポーネント２２０のチャットクライアント部２２１によって、チャットサーバ３００により管理されるチャットのセッションでやり取りされるテキストを取得する。チャットクライアント部２２１により取得されたチャットテキストは、チャットテキスト解析部２２２により解析されてコマンドとコマンド以外のテキストとに分類される。コマンドは、制御層のコマンド解析部２２４によって解析され、コマンド処理部２３４により当該コマンドに応じた処理が実行される。一方、コマンド以外のテキストは、チャット記録部２２３により保持され、制御層のチャットログ管理部２３３の管理下でデータ層のチャットログ格納部２４３に格納される。
また、コマンド処理部２３４の制御によりチャットコマンド生成部２２５が呼び出され、所定のコマンドを含むチャットメッセージが生成されたならば、そのチャットメッセージがチャットクライアント部２２１によってチャットサーバ３００に送信され、チャットクライアントである各端末装置１００に配信される。
【００４３】
さて、本実施形態により共同作業を行う場合、各端末装置１００では次のような操作を行う必要がある。
１．他の共同作業参加者に伝えたいウェブページの注目箇所をコラボレーションサーバ２００に通知する。
２．コラボレーションサーバ２００からチャットメッセージで送られてくる注目箇所の通知メッセージを解釈し、この通知メッセージにしたがって、ウェブページ上に表示したりウェブブラウザにおける当該ウェブページのリロードを実行したりする。
これらの機能を実現する手段として、本実施形態では、ツール及びヘルパーファンクションというアプリケーションモジュールを用意する。これらのモジュールは、コラボレーションサーバ２００から端末装置１００にダウンロードされて、ウェブ表示制御部１２０の機能として実行される。以下、これらのモジュールの詳細を説明する。
【００４４】
ツールは、上記１の操作を行うためのモジュールである。
ツールの基本機能は、次の二つである。
・共同作業の主催者が、他の参加者と共有する作業画面のウェブページを開き、当該ウェブページの共有を開始する機能（共有開始機能）
・共同作業の参加者（主催者を含む）が、自分の注目箇所を他の参加者に通知する機能（注目箇所通知機能）
これらの機能を実現するために、本実施形態では、「共有開始」ボタンと「注目箇所通知」ボタンを端末装置１００の表示画面に配置する。
【００４５】
「共有開始」ボタンおよび「注目箇所通知」ボタンを画面に配置する方法としては、例えば、ウェブページのフレームを用いる方法と、作業画面のウェブページを表示するウィンドウとは別のウィンドウを開いてボタンを表示する方法とが考えられる。図８はフレームを用いて「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図、図９は別ウィンドウに「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。
図８に示す例では、二つ以上のフレームを持つウェブページを表示できるＨＴＭＬファイルを用い、このＨＴＭＬファイルのフレームの内、１つのフレームで、「共有開始」ボタン８０１および「注目箇所通知」ボタン８０２が配置されたコマンドパネル８１０を表示する。そして、他の１つのフレームで、共有しようとする（すなわち作業画面となる）ウェブページを表示する。
一方、図９に示す例では、作業画面であるウェブページを表示したウィンドウ９１０とは別に、「共有開始」ボタン８０１および「注目箇所通知」ボタン８０２が配置されたウィンドウ９２０が表示されている。
図８に示したコマンドパネル８１０や図９に示したウィンドウ９２０は、図５に示したコマンドパネル表示部２１５で作成される。
【００４６】
ヘルパーファンクション（以下、ヘルパーと略称する）は、上記２の操作を行うためのモジュールである。
ヘルパーは、コラボレーションサーバ２００からチャットメッセージとして送信されるコマンドメッセージを解析し、そのコマンドメッセージの内容にしたがってウェブブラウザを操作して、ウェブページの表示と再表示（リロード）を行う機能を持つ。ヘルパーは、ユーザインターフェースを持たず、共同作業の実行時にバックグラウンドで動作する。また、ヘルパーは必須の構成要件ではなく、ヘルパーが行う操作を手動による操作に置き換えることもできる。すなわち手動で操作する場合、端末装置１００のユーザがチャットメッセージを読んで、その内容にしたがってウェブページの表示、再表示の操作を実行すれば良い。ヘルパーの実装は端末装置１００のウェブブラウザおよびチャット用アプリケーションプログラムの実装に依存する。したがって、端末装置１００がＰＤＡや携帯電話などである場合に、システムによってはヘルパーを使用できない場合がある。このような場合に、ウェブページの表示、再表示の操作が手動で行われることとなる。
【００４７】
次に、上記のように構成されたコラボレーションシステムによる共同作業の動作について説明する。
本実施形態による共同作業の動作は、（１）共同作業の開始、（２）コンテンツ表示の同期、（３）チャットログの保存、という３つのフェーズからなる。以下、各段階に分けて説明する。
【００４８】
（１）共同作業の開始
共同作業の参加者（主催者、コラボレーションサーバ２００を含む）は、ウェブページを用いた共同作業のセッション開始に先立ち、初期動作としてチャットセッションを確立しておく。上述したように、本実施形態で用いられるチャットシステムには、既存のシステムを用いることができるので、チャットセッションを確立するための動作も従来の方法に準ずる。例えば、共同作業の参加者である所定の端末装置１００のユーザが自分の端末装置１００においてチャット用アプリケーションプログラムを起動し、チャットサーバ３００へチャットセッションの確立要求を送信する。これに応じて、チャットサーバ３００において、セッション管理テーブルが作成され、確立されたセッションのセッションＩＤと共に当該端末装置１００のアドレスが登録されて、セッション管理部３１０に管理される。他のユーザは、自分の端末装置１００からチャットサーバ３００へアクセスし、セッションＩＤを指定して参加要求を送信する。これにより、チャットサーバ３００において、当該端末装置１００のアドレスがセッション管理テーブルに登録されて、確立されたセッションに当該端末装置１００のユーザが参加可能となる。
【００４９】
また、コラボレーションサーバ２００のチャットコンポーネント２２０のチャットクライアント部２２１からもチャットサーバ３００へチャットセッションの参加要求が送信され、コラボレーションサーバ２００がチャットクライアントとしてセッション管理テーブルに登録される。ここで、共同作業に参加する各ユーザは、共同作業のためのチャットセッションを確立することを任意の手段で互いに通知しあい、上記のチャットセッション確立のための動作を行うことができるが、コラボレーションサーバ２００は、いつチャットセッションが確立されるのかを知ることができない。そこで、新規のチャットセッションが確立された場合に、これをコラボレーションサーバ２００に通知し、コラボレーションサーバ２００のチャットクライアント部２２１を当該チャットセッションに参加させるための誘致手続が必要となる。
【００５０】
例えば、チャットサーバ３００のセッション管理部３１０が、新規のチャットセッションが確立された際にコラボレーションサーバ２００に通知を行い、この通知に応じてコラボレーションサーバ２００から参加要求を送信させるようにチャットクライアント部２２１を動作させる。これにより、新規のチャットセッションが確立されれば自動的にコラボレーションサーバ２００がそのセッションに参加することが可能となる。また、新規のチャットセッションが確立された際に、セッション管理部３１０において、作成されたセッション管理テーブルにコラボレーションサーバ２００を登録してしまい、セッションＩＤをチャットサーバ３００からコラボレーションサーバ２００に通知するようにすることもできる。さらに後述するように、共同作業を開始するために端末装置１００からコラボレーションサーバ２００に対してウェブページを取得するためのリクエストが送られるので、この際にセッションＩＤを通知し、このリクエスト受信を条件としてコラボレーションサーバ２００から参加要求を送信させるようにチャットクライアント部２２１を動作させるようにしても良い。
【００５１】
以上のようにしてチャットセッションが確立された後、作業画面として用いられるウェブページが取得されて共同作業が開始されることとなる。
図１０は、共同作業の開始時の動作の流れを示すフローチャートである。
図１０を参照すると、所定のユーザが共同作業を開始しようとする場合、当該ユーザが端末装置１００を用いてコラボレーションサーバ２００にアクセスし、共有する（すなわち共同作業の作業画面となる）ウェブページのＵＲＬを含むリクエストを送信する（ステップ１００１）。この端末装置１００を主催者端末装置１００ａと称し、主催者端末装置１００ａのユーザを主催者と称す。
【００５２】
コラボレーションサーバ２００は、ウェブページコンポーネント２１０のウェブサーバ部２１１によりこのリクエストを受信すると、ウェブリクエスト解析部２１４によりこのリクエストを解析してＵＲＬを抽出し、抽出されたＵＲＬに基づいてウェブクライアント部２１２が該当するウェブページをネットワーク上のウェブサーバから取得する。そして、キャッシュページ生成部２１３が当該ウェブページの先頭を指すようにＨＴＭＬファイルに動的アンカーを記述し、ウェブページ制御部２３２が動的アンカーの記述されたＨＴＭＬファイルをウェブページ格納部２４１にキャッシュする（ステップ１００２）。この動的アンカーの記述されたＨＴＭＬファイルのＵＲＬは、例えば、キャッシュされている作業画面のＨＴＭＬファイルのＵＲＬが http//www.aaa.com/bbb.htm であり、動的アンカーの名前が「Now」である場合、コマンドメッセージに含まれるＵＲＬは、http//www.aaa.com/bbb.htm#Now となる。
【００５３】
そして、ウェブサーバ部２１１が、キャッシュされたＨＴＭＬファイルに上述したツールを付加して主催者端末装置１００ａに返信する（ステップ１００３）。ここでは、図８に示したように、作業画面にツールを配置したコマンドパネル８１０を表示する形態とする。この場合、コマンドパネル表示部２１５により、図８に示したような、２つのフレームを持ちコマンドパネル８１０とリクエストされたウェブページとが組み合わされた作業画面のＨＴＭＬファイルが作成され、ウェブサーバ部２１１から主催者端末装置１００ａに送信されることとなる。なお、図９に示したように別ウィンドウでツールを表示する場合は、リクエストされたウェブページのＨＴＭＬファイルとツールを表示するためのＨＴＭＬファイルとがそれぞれ主催者端末装置１００ａに送信されることとなる。
【００５４】
主催者端末装置１００ａは、このコマンドパネル８１０の付加されたＨＴＭＬファイルを受信すると、ウェブ表示制御部１２０により、作業画面表示用のウィンドウを開いて作業画面を表示する（ステップ１００４）。この作業画面は、図８に示したような、２つのフレームを持ち、１つのフレームにコマンドパネル８１０を表示し、他の１つのフレームにリクエストされたウェブページを表示したものである。
【００５５】
次に、主催者が表示されたコマンドパネル８１０の「共有開始」ボタン８０１をマウスクリックする。これにより、共有開始のコマンドを含むリクエストがコラボレーションサーバ２００に送信される（ステップ１００５）。
このリクエストを受け付けたコラボレーションサーバ２００では、ウェブリクエスト解析部２１４がリクエストを解析し、共有開始のコマンドを抽出する（ステップ１００６）。そして、コマンド処理部２３４が、このコマンドにしたがって、チャットコマンド生成部２２５を呼び出す。チャットコマンド生成部２２５は、各端末装置１００が作業画面を共有するためのコマンドメッセージを作成し、チャットクライアント部２２１を介してチャットサーバ３００へ送信する（ステップ１００７）。このコマンドメッセージには、ステップ１００３で作成された作業画面のＨＴＭＬファイルのＵＲＬが含まれる。
【００５６】
チャットサーバ３００は、このコマンドメッセージ（チャットメッセージ）を、セッション管理テーブルに基づき、チャットセッションに参加している各端末装置１００に送信すると共に、チャット内容保存部３３０に保存する（ステップ１００８）。
各端末装置１００では、受信したチャットメッセージに基づいてウェブページが表示され、作業画面の共有が行われる（ステップ１００９）。この際、主催者端末装置１００ａは、既に作業画面が表示されているので、チャットサーバ３００から受け取ったチャットメッセージに応じて何らの動作も行う必要はない。一方、その他の端末装置１００は、ウェブ表示制御部１２０により、チャットサーバ３００から受け取ったチャットメッセージから作業画面のＨＴＭＬファイルのＵＲＬを抽出し、作業画面表示用のウィンドウを開いて、図８に示したような作業画面を表示する。この主催者端末装置１００ａ以外の端末装置１００を参加者端末装置１００ｂと称す。
【００５７】
なお、チャットメッセージからＵＲＬを抽出し、ウェブページを取得して作業画面表示用のウィンドウに表示する作業は、端末装置１００にヘルパーが実装されていれば、このヘルパーによって自動的に行われる。ヘルパーによるチャットメッセージからのＵＲＬの抽出手法については後述する。
端末装置１００にヘルパーが実装されていない場合、各端末装置１００では、チャット制御部１４０がチャットサーバ３００から受信したチャットメッセージをチャット用のウィンドウに表示し、端末装置１００のユーザが、表示されたチャットメッセージに基づき、ウェブ表示制御部１２０を操作してコラボレーションサーバ２００にキャッシュされている作業画面のＨＴＭＬファイルを取得して、作業画面表示用のウィンドウにウェブページを表示する。
【００５８】
以上のようにして、主催者端末装置１００ａと参加者端末装置１００ｂとにおいて、共通の作業画面のウェブページが表示され、作業画面が共有されることとなる。なお、ステップ１００９で、主催者端末装置１００ａは何らの動作も行う必要はないとしたが、チャットサーバ３００から受け取ったチャットメッセージに含まれるＵＲＬを抽出して、作業画面のＨＴＭＬファイルをリロードしてもかまわない。
また、上述した動作例では、共同作業を開始する前にチャットセッションを確立することとしたが、予めチャットセッションが確立されていない場合であっても、コラボレーションサーバ２００が独自にチャットサーバ３００にアクセスしてチャットセッションを確立し、主催者端末装置１００ａおよび参加者端末装置１００ｂを誘致することは、既存のチャットシステムの機能において可能である。
【００５９】
（２）コンテンツ表示の同期
上記のようにして各端末装置１００において作業画面が共有され、共同作業が開始されたならば、各端末装置１００において実行された操作に基づくコンテンツ表示を各端末装置１００で同期させることが必要である。作業画面に対する操作は、後述する制限を課す場合を除き、主催者端末装置１００ａおよび参加者端末装置１００ｂのいずれでも行うことができるが、ここでは説明の便宜上、主催者端末装置１００ａで行われた操作を参加者端末装置１００ｂにおいて同期させる場合を例として説明する。
【００６０】
図１１は、コンテンツ表示の同期の動作を説明するフローチャートである。
図１１を参照すると、まず主催者が、主催者端末装置１００ａにおいて、作業画面の所定の箇所を共同作業における注目箇所として指定する（ステップ１１０１）。注目箇所の指定は、作業画面中の該当個所をマウスクリックする等によって行われる。そして、主催者が作業画面のコマンドパネル８１０の「注目箇所通知」ボタン８０２をマウスクリックする。これにより、作業画面の注目箇所を通知するリクエストがコラボレーションサーバ２００に送信される（ステップ１１０２）。このリクエストには作業画面であるウェブページ上の注目箇所の位置を特定する情報と注目箇所の名前とが含まれる。注目箇所の名前は任意に付与することができるが、例えば共同作業において注目箇所が設定された順に連続番号を振っても良い。
【００６１】
このリクエストを受け付けたコラボレーションサーバ２００では、ウェブリクエスト解析部２１４がリクエストを解析する。そして、キャッシュページ生成部２１３が、セッション管理部２３１、ウェブページ制御部２３２を介してウェブページ格納部２４１にキャッシュされているＨＴＭＬファイルを読み出し、リクエストの内容に応じて、アンカータグの書き込みを行う（ステップ１１０３）。リクエストに応じてアンカータグの書き込まれたＨＴＭＬファイルは、最新のキャッシュデータとして再びウェブページ格納部２４１に格納される。
【００６２】
ここで、ＨＴＭＬファイルへのアンカータグの書き込みについて詳細に説明する。
上述したように、本実施形態でＨＴＭＬファイルに書き込まれるアンカータグには、動的アンカーと履歴アンカーの２種類がある。
動的アンカーには固定の名前が付与されている（名前は任意で良いが、ここでは「Now」という名前が付与されるものとする）。そして、「注目箇所通知」ボタン８０２のクリックにより端末装置１００からコラボレーションサーバ２００にリクエストが送信されるたびに、動的アンカーは、そのリクエストによって指定される注目箇所に該当するＨＴＭＬファイル上の位置に移動する。
一方、履歴アンカーには端末装置１００からコラボレーションサーバ２００に送信されるリクエストに含まれる名前が付与される（ここでは、リクエストに含まれる名前として連続番号が用いられるものとして、この番号に基づき、「その１」、「その２」、・・・というように名前が付与されるものとする）。そして、「注目箇所通知」ボタン８０２のクリックによりリクエストが送信されるたびに、履歴アンカーは、そのリクエストによって指定される注目箇所に該当するＨＴＭＬファイル上の位置に追記的に書き込まれる。
【００６３】
図１２は、「注目箇所通知」ボタン８０２によるリクエストに応じてＨＴＭＬファイルに動的アンカーおよび履歴アンカーが書き込まれる様子を示す図である。
まず、作業画面の所定の箇所が指定されて「注目箇所通知」ボタン８０２によるリクエストがコラボレーションサーバ２００に送信されたものとする。すると、このリクエストに応じて、図１２（Ａ）に示すように、作業画面のＨＴＭＬファイルの該当位置に、動的アンカーである <ANCHOR “Now”> と履歴アンカーである <ANCHOR “その１”> とが記述される。
【００６４】
次に、作業画面の他の箇所が指定されて「注目箇所通知」ボタン８０２によるリクエストがコラボレーションサーバ２００に送信されたものとする。すると、このリクエストに応じて、図１２（Ｂ）に示すように、作業画面のＨＴＭＬファイルの該当位置に動的アンカー <ANCHOR “Now”> が移動する。また、同じ位置に履歴アンカー <ANCHOR “その２”> が追記される。したがって、ＨＴＭＬファイルには、２つの履歴アンカー <ANCHOR “その１”> 、<ANCHOR “その２”> と１つの動的アンカー <ANCHOR “Now”> とが記述された状態となる。
一般には、注目箇所の通知が行われるたびに、ＨＴＭＬファイルには履歴アンカーが追記されていき、最後に追記された履歴アンカーの位置に動的アンカーが記述される。
【００６５】
次に、過去に注目された注目箇所に戻る場合を考える。例えば、図１２（Ｂ）の状態から再び履歴アンカー <ANCHOR “その１”> の位置に注目箇所を戻す場合、ウェブブラウザの表示画面で行う方法と、チャットメッセージでコラボレーションサーバ２００にコマンドを送信する方法とがある。ウェブブラウザの表示画面で行う方法では、端末装置１００は、例えば作業画面中の過去に指定された履歴アンカー <ANCHOR “その１”> に対応する箇所を改めて指定して「注目箇所通知」ボタン８０２をクリックすることにより、履歴アンカー <ANCHOR “その１”> に対応する箇所に戻るコマンドをウェブサーバコンポーネント２１０のウェブサーバ部２１１に送信する。また、コマンドパネル８１０に過去の注目箇所に戻るコマンドを送信するためのリターンボタン（ツール）を設定しておいても良い。なお、チャットメッセージでコラボレーションサーバ２００にコマンドを送信する方法については後述する。
【００６６】
上記の過去の注目箇所に戻るコマンドを受信したコラボレーションサーバ２００では、図１２（Ｃ）に示すように、ＨＴＭＬファイルにおける対応位置である履歴アンカー <ANCHOR “その１”> の位置に動的アンカー <ANCHOR “Now”> を移動させる。これによって、現在の注目箇所が履歴アンカー <ANCHOR “その１”> に対応する箇所に戻った。
【００６７】
さて、上記のようにしてＨＴＭＬファイルのアンカータグが更新された後、コラボレーションサーバ２００のコマンド処理部２３４は、チャットコマンド生成部２２５を呼び出す。チャットコマンド生成部２２５は、各端末装置１００において作業画面であるウェブページをリロードさせるためのコマンドメッセージを作成し、チャットクライアント部２２１を介してチャットサーバ３００へ送信する（ステップ１１０４）。
【００６８】
チャットサーバ３００は、このコマンドメッセージ（チャットメッセージ）を、セッション管理テーブルに基づき、チャットセッションに参加している各端末装置１００に送信すると共に、チャット内容保存部３３０に保存する（ステップ１１０５）。
各端末装置１００では、受信したチャットメッセージに基づいてウェブページがリロードされ、作業画面の更新が行われる（ステップ１１０６）。なお、チャットメッセージからリロード命令を抽出し、ウェブページをリロードして作業画面を更新する作業は、端末装置１００にヘルパーが実装されていれば、このヘルパーによって自動的に行われる。ヘルパーによるチャットメッセージからのＵＲＬの抽出手法については後述する。
端末装置１００にヘルパーが実装されていない場合、各端末装置１００では、チャット制御部１４０がチャットサーバ３００から受信したチャットメッセージをチャット用のウィンドウに表示し、端末装置１００のユーザが、表示されたチャットメッセージに基づき、ウェブ表示制御部１２０を操作してコラボレーションサーバ２００にキャッシュされている作業画面のウェブページをリロードして、作業画面表示用のウィンドウに表示する。
【００６９】
上記の説明では、主催者端末装置１００ａで行われた注目箇所の設定を参加者端末装置１００ｂに反映させる場合を例として、コンテンツ表示を同期させる動作を説明したが、注目箇所の設定を参加者端末装置１００ｂにおいて行うことも可能であることは言うまでもない。ただし、注目箇所の設定に関して、
（Ａ）主催者端末装置１００ａでのみ設定できる。
（Ｂ）原則として主催者端末装置１００ａでのみ設定し、主催者が許可した場合に参加者端末装置１００ｂから設定することができる。
といった制限を課すこともできる。これらの制限は、セッション管理部２３１の制御により実現することができる。また、参加者端末装置１００ｂによる注目箇所の設定が制限されているか否かを示す情報をセッション管理テーブルに登録して管理することができる。
【００７０】
（Ｂ）のような制限の場合、参加者端末装置１００ｂによる注目箇所の設定を許可する機能を主催者端末装置１００ａに設ける必要がある。具体的には、例えばコマンドパネル８１０に「注目箇所設定の許可」ボタンを設け、これがクリックされた場合に、参加者端末装置１００ｂによる注目箇所の設定を許可するためのコマンドが主催者端末装置１００ａからコラボレーションサーバ２００に送信されるようにする。そして、このコマンドを受信したコラボレーションサーバ２００において、セッション管理部２３１により、注目箇所の設定に関する制限を解除する。
なお、（Ｂ）の制限を拡張して、各参加者端末装置１００ｂに対して注目箇所の設定を個別に許可できるようにし、主催者端末装置１００ａと許可された参加者端末装置１００ｂのみが設定できるといった制御を行っても良い。
【００７１】
（３）チャットログの保存
本実施形態では、共同作業の参加者間のコミュニケーション手段としてチャットシステムが用いられる。チャットにおけるやりとり（テキスト）は、ログとして各端末装置１００の記憶装置、コラボレーションサーバ２００のチャットログ格納部２４３、チャットサーバ３００のチャット内容保存部３３０等に保存されるが、共同作業のセッションにおけるコミュニケーション手段として用いられるチャットのログとしては、コラボレーションサーバ２００に保存されるログが有用である。
【００７２】
また本実施形態では、共同作業の内容とチャットでやり取りされた情報とを詳細に対応させるため、作業画面の所定の箇所に注目している際に行われたチャットのログを、当該注目箇所に関連付けて保存することとする。
図１３は、チャットログと注目箇所との関連付けを概念的に示す図である。
図１３に示すように、共同作業において注目箇所が移動した（すなわち新規の注目箇所が設定された）場合に、コラボレーションサーバ２００のチャット記録部２２３により一時的に保持されたチャットテキストのうちで、それまでの注目箇所（図では <ANCHOR “その１”> ）が設定されてから新規の注目箇所（図では <ANCHOR “その２”> ）が設定されるまでになされた部分（図の破線で囲まれた部分）がファイル化され、チャットログ格納部２４３に格納される。そして、当該チャットログのテキストファイルが、それまでの注目箇所（ <ANCHOR “その１”> ）に関連付けられる。
【００７３】
具体的な関連づけの方法は特に限定しないが、例えば端末装置１００がパーソナルコンピュータ等の高機能なウェブブラウザを使用できるシステムの場合、JavaScript（米国サン・マイクロシステムズ社の商標）など、ウェブページ内でのダイナミックな処理を行う仕組みを用いて、チャットログのテキストと作業画面の注目箇所とを関連付けることができる。これにより、端末装置１００の表示装置において所望の注目箇所に関連するチャットログを参照しようとする場合は、当該注目箇所の付近にポップアップウィンドウを表示して、このポップアップウィンドウに当該注目箇所に関連付けられているチャットログを表示することができる。
図１４に、ポップアップウィンドウにチャットログを表示する場合の表示例を示す。
図示のように、ポップアップウィンドウ１４０１にチャットログが表示される。
【００７４】
一方、ＰＤＡや携帯電話など低機能なウェブブラウザを持つシステムの場合、ウェブページの注目箇所にリンクを張ることで、チャットログのテキストと作業画面の注目箇所とを関連付けることができる。すなわち、注目箇所が移動した場合に、チャットログ管理部２３３によって、チャットログ格納部２４３に格納されるテキストファイルに対してＵＲＬが付与される。そして、キャッシュページ生成部２１３がＨＴＭＬファイルにアンカータグを書き込む際に、さらに当該ＵＲＬへのリンクを記述する。これにより、端末装置１００の表示装置において所望の注目箇所に関連するチャットログを参照しようとする場合は、当該注目箇所に関連付けられているチャットログのテキストファイルにジャンプしてウェブページ表示用のウィンドウに表示することができる。
図１５に、作業画面からチャットログのテキストファイルへジャンプする場合の表示例を示す。
図示のように、作業画面とは別のウィンドウ１５０１にチャットログが表示される。
【００７５】
また、端末装置１００において、注目箇所に関連付けられたチャットログを参照しようとする場合には、チャットメッセージにより端末装置１００からコラボレーションサーバ２００へコマンドの送信を行うことができる。すなわち、端末装置１００のユーザは、過去の所望の注目箇所を、現在から何回前に注目した箇所かを示す情報、履歴アンカーの名前等の情報等で指定し、後述する決められた書式により、現在の注目箇所を指定された箇所に戻す（移動する）ことを要求するコマンドを含むチャットメッセージを記述して、送信する。このチャットメッセージは、コラボレーションサーバ２００において、チャットテキスト解析部２２２およびコマンド解析部２２４によって解析される。この後、解析結果として得られたコマンドがコマンド処理部２３４に送られ、当該コマンドに基づいて、チャットログ格納部２４３に格納されている、指定された過去の注目箇所に関連付けられたチャットログが読み出され、各端末装置１００に配信される。
【００７６】
次に、本実施形態によるチャットシステムを用いた共同作業の進行制御に必要なチャットテキストからのコマンド抽出方法について説明する。
チャットテキストからのコマンドの抽出は、チャットのセッションにクライアントとして参加しているコラボレーションサーバ２００において実行されると共に、ヘルパーファンクションを実装した端末装置１００においても実行される。
基本的な手法として、コマンドを送信するためのチャットメッセージには、先頭に予め規定された予約語を付加するものとする。予約語は任意に設定することができるが、例えば、コラボレーションサーバ２００に対するコマンドを送信する場合の予約語を「Command:」、端末装置１００のヘルパーに対して作業画面の更新（ウェブページのリロード）を実行させるコマンドを送信する場合の予約語を「Helper:」とすることができる。すなわち、チャットメッセージが「Command:」で始まっていれば、コラボレーションサーバ２００に対するコマンドであると判断し、「Helper:」で始まっていれば、端末装置１００に対するコマンドであると判断することができる。以下、このように予約語が設定されているものとして、チャットメッセージに対するコラボレーションサーバ２００と端末装置１００のヘルパーの動作をそれぞれ説明する。
【００７７】
まず、コラボレーションサーバ２００における動作について説明する。
図１６は、コラボレーションサーバ２００におけるメッセージ処理の流れを示すフローチャートである。
図１６に示すように、コラボレーションサーバ２００のチャットクライアント部２２１は、チャットメッセージを受信すると（ステップ１６０１）、まずHTTP_USER_AGENT（ユーザエージェント）等に基づいて当該チャットメッセージの送信者を判断する（ステップ１６０２）。送信者がコラボレーションサーバ２００自身である場合は、当該チャットメッセージの内容は警告、通知等の共同作業の進行制御のためのメッセージであると判断し、テキストを無視して当該チャットメッセージを破棄する（ステップ１６０７）。
【００７８】
チャットメッセージの送信者が端末装置１００である場合は、次にチャットテキスト解析部２２２が、当該チャットメッセージが予約語「Command:」で始まっているかどうかを調べる（ステップ１６０３）。予約語「Command:」で始まっていない場合は、端末装置１００どうしでやり取りされる通常のチャットメッセージと判断し、チャット記録部２２３により保持する（ステップ１６０９）。チャット記録部２２３に保持されたチャットメッセージは、上述したように、注目箇所の移動に伴って、各注目箇所に関連付けられてチャットログ格納部２４３に格納される。
【００７９】
チャットメッセージが予約語「Command:」で始まっている場合は、当該チャットメッセージはコラボレーションサーバ２００に対するコマンドであるので、次にコマンド解析部２２４が、コマンドの内容を解析する（ステップ１６０４）。そして、コラボレーションサーバ２００が実行可能な適切なコマンドであれば、コマンド解析部２２４は、当該コマンドを制御層のコマンド処理部２３４に渡す。そして、コマンド処理部２３４により当該コマンドに基づく処理に必要なコンポーネントが呼び出され、処理が実行される（ステップ１６０５、１６０６）。そして、当該コマンドを含むチャットメッセージのテキスト自体は破棄される（ステップ１６０７）。
【００８０】
一方、コマンドの解析の結果、当該コマンドが適切なコマンドでない場合は、チャットコマンド生成部２２５が、不正なコマンドであるために実行できない旨の警告メッセージを発行する（ステップ１６０８）。このメッセージは、チャットメッセージとして各端末装置１００に配信される。そして、当該コマンドを含むチャットメッセージのテキスト自体は破棄される（ステップ１６０７）。
【００８１】
チャットメッセージによるコマンド送信の例として、上述した過去の注目箇所に関連付けられているチャットログの参照要求の送信がある。この場合、例えば履歴アンカー <ANCHOR “その２”> の箇所に戻ってチャットログを参照したいとすれば、この履歴アンカーの名前を用いて、
Command: back to その２
といったチャットメッセージを記述して送信する。このチャットメッセージは、先頭の「Command:」によりコラボレーションサーバ２００へのコマンドであると判断され、「back to その２」の内容が解析されることとなる。
【００８２】
次に、端末装置１００のヘルパーの動作について説明する。
図１７は、端末装置１００におけるメッセージ処理の全体的な流れを示すフローチャートである。
図１７に示すように、端末装置１００の通信部１１０がチャットメッセージを受信し、チャット制御部１４０に受け付けられると、ウェブ表示制御部１２０のヘルパーは、チャット制御部１４０からこのチャットメッセージを取得し（ステップ１７０１）、HTTP_USER_AGENT（ユーザエージェント）等に基づいて当該チャットメッセージの送信者を判断する（ステップ１７０２）。送信者が端末装置１００である場合は、当該チャットメッセージは、端末装置１００どうしでやり取りされる通常のチャットメッセージであると判断し、メッセージに含まれるテキストを無視する（ステップ１７０７）。この結果、当該テキストは、チャット制御部１４０の制御により、端末装置１００の表示装置に表示されたチャット用のウィンドウに表示される（ステップ１７０９）。
【００８３】
チャットメッセージの送信者がコラボレーションサーバ２００である場合は、次にヘルパーは、当該チャットメッセージが予約語「Helper:」で始まっているかどうかを調べる（ステップ１７０３）。予約語「Helper:」で始まっていない場合は、チャットメッセージの内容はコラボレーションサーバ２００から各端末装置１００への警告等の一般的な通知メッセージである（共同作業の進行制御のためのコマンドではない）と判断し、テキストを無視する（ステップ１７０７）。この結果、当該テキストは、チャット制御部１４０の制御により、端末装置１００の表示装置に表示されたチャット用のウィンドウに表示される（ステップ１７０９）。
【００８４】
チャットメッセージが予約語「Helper:」で始まっている場合は、当該チャットメッセージはヘルパーが処理すべき共同作業の進行制御のためのコマンドであるので、次にヘルパーは、コマンドの内容を解析する（ステップ１７０４）。そして、ウェブ表示制御部１２０が実行可能な適切なコマンドであれば、ヘルパーは、当該コマンドに基づく制御情報をウェブブラウザに送る（ステップ１７０５、１７０６）。これによって、作業画面であるウェブページの表示制御（リロードやウィンドウを開く操作等）が行われる。
【００８５】
一方、コマンドの解析の結果、当該コマンドが適切なコマンドでない場合は、ヘルパーは、不正なコマンドであるために実行できない旨の警告メッセージを発行する（ステップ１７０８）。このメッセージは、チャット制御部１４０に送られ、端末装置１００の表示装置に表示されたチャット用のウィンドウに表示される（ステップ１７０９）。
【００８６】
端末装置１００がヘルパーを実装していない場合や、処理能力が劣っているためにヘルパーを使用できない場合等には、当然ながら上記のようなヘルパーによるチャットメッセージの解析およびウェブブラウザの自動制御は実行されない。その場合、ヘルパーへのコマンドを含むチャットメッセージは、通常のチャットメッセージと同様にチャット用のウィンドウに表示される。したがって、端末装置１００のユーザがチャット用のウィンドウに表示されたメッセージを読み、そのメッセージの内容に応じて、作業画面のリロード等の必要な操作を行うことにより、共同作業を進行させることができる。
【００８７】
図１８は、チャットメッセージによるコマンド送信の例として、各端末装置１００にリロード指示が行われた場合のチャットログを示す図である。
図１８に記載されたチャットメッセージ１８０１がリロード指示のコマンドである。図示のように、
Helper: reload
といったチャットメッセージが配信されると、ヘルパーを実装した端末装置１００では、ヘルパーが、チャットメッセージの先頭の「Helper:」により端末装置１００へのコマンドであると判断し、「reload」の内容を解析する。
なお、注目箇所が移動した場合に、端末装置１００のユーザに対してチャットの切れ目を明示するために、コラボレーションサーバ２００から図１８のチャットメッセージ１８０２に示すような情報メッセージを送信することができる。
【００８８】
以上説明したように、本実施形態のコラボレーションシステムによれば、所定の端末装置１００で注目箇所が設定された場合に、各端末装置１００において作業画面であるウェブページをリロードすることによって、その注目箇所が作業画面の先頭に位置するように表示される。このため、共同作業に参加する端末装置１００の表示装置における表示サイズや解像度が異なる場合であっても、全ての端末装置１００において注目箇所を常に画面上に表示した状態とすることができる（作業画面の同期）。
図１９は、本実施形態において、作業画面を異なる解像度のディスプレイ装置で表示した例を示す図である。
図１９において、高解像度の端末装置Ａで表示された作業画面で所定の箇所（図中の星印：★）を注目箇所として特定した場合、作業画面をリロードすることによって注目箇所が作業画面に必ず表示されるため、共同作業において作業画面のどこが注目されているのかを容易に知ることができる。
【００８９】
また、本実施形態では、作業画面であるウェブページをリロードすることによって作業画面を同期させるため、コラボレーションサーバ２００および各端末装置１００をクライアントとするチャットにおいて、チャットメッセージによってコラボレーションサーバ２００から各端末装置１００に作業画面のリロード要求を行うことにより、共同作業の進行を制御することができる。したがって、端末装置１００は、一般的なウェブブラウザおよびチャットアプリケーションを実装していれば良く、作業画面を同期させるための特別なアプリケーションプログラムは必要ない。また、ＯＳやウェブブラウザ、チャットアプリケーションの種類が制限されないため、ＰＤＡや携帯電話等の低い情報機器であっても、端末装置１００として本実施形態のシステムに容易に参加することができる。
【００９０】
さらに、本実施形態によれば、各装置間で送受信されるデータは、ウェブページを構成するＨＴＭＬファイル、そのＵＲＬ、ＨＴＴＰリクエストやそのレスポンス、チャットデータ等であるので、データ量が少なく、通信トラフィックを低減することができる。
【図面の簡単な説明】
【００９１】
【図１】本実施形態によるコラボレーションシステムの全体構成を示す図である。
【図２】本実施形態における端末装置および各サーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図３】本実施形態のコラボレーションシステムを構成する端末装置の機能構成を示す図である。
【図４】本実施形態のコラボレーションシステムを構成する端末装置の機能構成を示す図である。
【図５】本実施形態のコラボレーションシステムを構成するコラボレーションサーバの機能構成を示す図である。
【図６】セッション管理テーブルの構成例を示す図である。
【図７】本実施形態のコラボレーションシステムを構成するチャットサーバの機能構成を示す図である。
【図８】本実施形態におけるツールの態様を例示する図であり、フレームを用いて「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。
【図９】本実施形態におけるツールの態様を例示する図であり、別ウィンドウに「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。
【図１０】本実施形態による共同作業の開始時の動作の流れを示すフローチャートである。
【図１１】本実施形態によるコンテンツ表示の同期の動作を説明するフローチャートである。
【図１２】本実施形態において、「注目箇所通知」ボタンによるリクエストに応じてＨＴＭＬファイルに動的アンカーおよび履歴アンカーが書き込まれる様子を示す図である。
【図１３】本実施形態におけるチャットログと注目箇所との関連付けを概念的に示す図である。
【図１４】本実施形態において、ポップアップウィンドウにチャットログを表示する場合の表示例を示す図である。
【図１５】本実施形態において、作業画面からチャットログのテキストファイルへジャンプする場合の表示例を示す図である。
【図１６】本実施形態のコラボレーションサーバにおけるメッセージ処理の流れを示すフローチャートである。
【図１７】本実施形態の端末装置におけるメッセージ処理の全体的な流れを示すフローチャートである。
【図１８】本実施形態におけるチャットメッセージによるコマンド送信の例として、各端末装置にリロード指示が行われた場合のチャットログを示す図である。
【図１９】本実施形態におけるツールの態様を例示する図であり、別ウィンドウに「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。
【図２０】従来のコラボレーションシステムにおいて、作業画面を異なる解像度のディスプレイ装置で表示した例を示す図である。
【符号の説明】
【００９２】
１１…ＣＰＵ（Central Processing Unit：中央処理装置）、１３…メインメモリ、１４…ビデオカード、１５…磁気ディスク装置（ＨＤＤ）、１６…ネットワークインターフェイス、１９…キーボード／マウス、２０…ディスプレイ、１００…端末装置、１１０…通信部、１２０…ウェブ表示制御部、１３０…編集部、１４０…チャット制御部、２００…コラボレーションサーバ、２１０…ウェブページコンポーネント、２１１…ウェブサーバ部、２１２…ウェブクライアント部、２１３…キャッシュページ生成部、２１４…ウェブリクエスト解析部、２１５…コマンドパネル表示部、２２０…チャットコンポーネント、２２１…チャットクライアント部、２２２…チャットテキスト解析部、２２３…チャット記録部、２２４…コマンド解析部、２２５…チャットコマンド生成部、２３１…セッション管理部、２３２…ウェブページ制御部、２３３…チャットログ管理部、２３４…コマンド処理部、２４１…ウェブページ格納部、２４２…セッション管理テーブル格納部、２４３…チャットログ格納部、３００…チャットサーバ、３１０…セッション管理部、３２０…メッセージ送受信部、３３０…チャット内容保存部
【図１】
2005242899.tif 000003
【図２】
2005242899.tif 000004
【図３】
2005242899.tif 000005
【図４】
2005242899.tif 000006
【図５】
2005242899.tif 000007
【図６】
2005242899.tif 000008
【図７】
2005242899.tif 000009
【図８】
2005242899.tif 000010
【図９】
2005242899.tif 000011
【図１０】
2005242899.tif 000012
【図１１】
2005242899.tif 000013
【図１２】
2005242899.tif 000014
【図１３】
2005242899.tif 000015
【図１４】
2005242899.tif 000016
【図１５】
2005242899.tif 000017
【図１６】
2005242899.tif 000018
【図１７】
2005242899.tif 000019
【図１８】
2005242899.tif 000020
【図１９】
2005242899.tif 000021
【図２０】
2005242899.tif 000022