JP2005242899A - コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム - Google Patents

コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム Download PDF

Info

Publication number
JP2005242899A
JP2005242899A JP2004054770A JP2004054770A JP2005242899A JP 2005242899 A JP2005242899 A JP 2005242899A JP 2004054770 A JP2004054770 A JP 2004054770A JP 2004054770 A JP2004054770 A JP 2004054770A JP 2005242899 A JP2005242899 A JP 2005242899A
Authority
JP
Japan
Prior art keywords
chat
web page
terminal device
command
collaboration server
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.)
Granted
Application number
JP2004054770A
Other languages
English (en)
Other versions
JP4203657B2 (ja
Inventor
Hiroaki Komine
宏秋 小峯
Michiyoshi Kusuda
理佳 楠田
Masakazu Miyamoto
征和 宮本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004054770A priority Critical patent/JP4203657B2/ja
Priority to US11/064,913 priority patent/US7877445B2/en
Priority to CNB2005100524296A priority patent/CN100442280C/zh
Publication of JP2005242899A publication Critical patent/JP2005242899A/ja
Application granted granted Critical
Publication of JP4203657B2 publication Critical patent/JP4203657B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

【課題】 通信トラフィックを軽減し、機種やOSの種類に依存しない、汎用性の高いコラボレーションシステム及びその方法を実現する。
【解決手段】 ネットワークを介して複数の端末装置100に接続され、ウェブページを取得して保持し、端末装置100による共同作業に用いられる作業画面として配信するコラボレーションサーバ200と、チャットのセッションを管理するチャットサーバ300とを備える。コラボレーションサーバ200は、チャットサーバ300が管理するチャットのセッションにチャットクライアントとして参加し、作業画面に対する操作指示をチャットメッセージとして各端末装置100に配信する。この操作指示にしたがって各端末装置100において作業画面をリロードすることにより、共同作業を進行させる。
【選択図】 図1

Description

本発明は、ネットワークを介して接続されている複数のコンピュータを用いて共同作業を行うコラボレーションシステムに関する。
ネットワークを介して接続されている複数のコンピュータ間では、入出力やデータ処理を同期させることができ、これにより当該複数のコンピュータの表示装置に共通の画像を表示させたり、いずれかのコンピュータへの入力を他の各コンピュータに反映させたりすることができる。今日、この技術を用い、複数のユーザがこれら複数のコンピュータを使用し、おのおののコンピュータの表示装置に共通の作業画面を表示させて共同作業を行うコラボレーションシステムが普及している。
従来、この種のコラボレーションシステムとしては、米国IBM−LotusのLotus Sametimeのように、アプリケーションプログラムの制御によってコンピュータの表示装置に表示される画面をビットマップ画像としてコンピュータ間でやりとりし、各コンピュータに共通の画面を表示させるシステムがある。
また、他の従来技術としては、ウェブブラウザでの操作情報をコンピュータ間で送受信することによって、各コンピュータで同一のウェブページを表示させるウェブコラボレーションシステムがある(例えば、特許文献1参照)。この種のウェブコラボレーションシステムとしては、さらに、ユーザの使用するコンピュータがプロキシサーバ(コラボレーションサーバ)を介してHTML(Hyper Text Markup Language)ファイルを取得しウェブページを表示させると共に、1つのコンピュータにおけるページ遷移を他のコンピュータに通知することによって、各コンピュータで同一のウェブページを表示させるシステム(例えば、特許文献2参照)、プロキシサーバがキャッシュしたHTMLファイルにアンカータグを埋め込むことにより、各コンピュータに表示されるウェブページ上の任意の場所を特定できるようにしたシステム(例えば、特許文献3参照)等が提案されている。
さらに、これらのコラボレーションシステムに、いずれかのコンピュータにおいて入力されたテキストデータを他のコンピュータにおいても表示することによりリアルタイムで会話を行う、いわゆるチャットシステムを組み合わせることで、共同作業に参加しているユーザ間のコミュニケーションを支援する技術が提案されている(例えば、特許文献4参照)。
特開平10−124461号公報 特開2001−51932号公報 特開2002−149640号公報 特開2003−150527号公報
上述したように、ネットワークを介して接続された複数のコンピュータを用いて複数のユーザによる共同作業を支援するコラボレーションシステムに関して、従来から種々の提案がなされている。
しかし、これら従来のコラボレーション技術には、次のような課題があった。
表示画面をビットマップ画像として送受信し、複数コンピュータで同一画面を表示するシステムでは、画像データを送受信するために通信データ量が大きくなってしまい、ネットワークのトラフィックにおける負荷が増大する。
また、ビットマップ画像を用いるため、表示イメージが各コンピュータの表示装置における表示サイズや解像度に依存する。したがって、所定のコンピュータでは画像イメージの全体が表示されているが、他の所定のコンピュータでは画像イメージの縁の一部が表示画面からはみ出して切れてしまうといったことが起こり得るため、共同作業に支障を来す場合があった。
図20は、作業画面のビットマップ画像をコンピュータ間でやりとりする従来技術において、作業画面を異なる解像度のディスプレイ装置で表示した例を示す図である。
図20において、高解像度の端末装置Aで表示された作業画面で所定の箇所(図中の星印:★)を注目箇所として特定した場合、低解像度の端末装置Bで表示された当該作業画面では、注目箇所の位置が作業画面の表示範囲から外れてしまい、共同作業において作業画面のどこが注目されているのかを認識することが困難になる。
さらに、このシステムでは、表示画面のイメージを取得するためにOS(オペレーティングシステム)に依存した処理が必要となる。そのため、コラボレーションシステムを利用するコンピュータにおいて使用できるOSの種類が限定されてしまう。
一方、上述した特許文献1、2に記載されたウェブコラボレーションシステムは、ウェブページを表示画面として用いることにより、コンピュータ間の通信がウェブブラウザに対する操作情報だけで済むために、通信トラフィックの負荷が軽減される。そして、表示イメージに関しても、ウェブブラウザを操作(スクロール等)することによって、コンピュータの表示装置の表示サイズに依存せずに全体を視認することが可能となる。
しかし、ウェブページによる表示画面上での入力等の作業を他のコンピュータの表示画面に反映させるためには、これらのコンピュータが共通のもしくは互換性のあるウェブブラウザを使用している必要があり、使用できるウェブブラウザやOSの種類が限定されてしまう。
また、表示画面としてウェブページを表示しただけでは、共同作業に参加している所定のユーザが当該表示画面のどの部分に注目しているのかを他のユーザに明確に示すことが困難である。
特許文献3に記載されたシステムでは、HTMLファイルにアンカータグを埋め込むことで、ウェブブラウザやOSの種類に依存せずに、表示画面(ウェブページ)の任意の場所を特定し、特定された場所に共同作業において使用されるポインタを表示したり、特定された場所が表示されるようにウェブブラウザの画面のスクロールを制御したりすることができる。
しかし、この従来技術は、HTMLファイルに埋め込まれた固定的なアンカータグを目印として用いてポインタの表示制御やウェブブラウザのスクロール制御を行うものである。そのため、このポインタ表示や画面スクロールにおける同期箇所を他のコンピュータに通知するためのアプリケーションプログラム及びその実行環境がユーザ端末であるコンピュータに用意されていることが必要となる。したがって、コンピュータの機能や動作環境によっては、ウェブページによる表示画面は表示できても、ポインタ表示や画面スクロールの同期といった特許文献3のシステムによって提供される機能を利用できない場合があった。
また、特許文献4に記載された従来技術は、コラボレーションシステムにチャットシステムを組み合わせることによって、ユーザ間のコミュニケーション支援を実現している。
しかし、この従来技術においてもコラボレーションサーバとユーザ端末との間の通信は、他のウェブコラボレーションシステムの場合と同様に行われるので、使用できるウェブブラウザやOSの種類が限定される、あるいはアンカータグを目印にしてポインタの表示位置や画面スクロールの同期を行うための実行環境が必要であるといった、上記特許文献1〜3における課題と同様の課題が残っている。
そこで本発明は、ネットワークを介して接続された複数のコンピュータによるコラボレーションシステムにおいて、共同作業におけるコンピュータ間の通信トラフィックを低減することを目的とする。
また本発明は、機種やOSの種類に依存せず、また特別なアプリケーションプログラムを必要とせずに、表示や各種の操作を同期させる、汎用性の高いコラボレーションシステム及びその方法を提供することを他の目的とする。
また本発明は、機種やOSの種類に依存せず、また特別なアプリケーションプログラムを必要としない、汎用性の高いコラボレーションシステムを実現するため、コラボレーションサーバと共同作業に参加するユーザの端末装置との間の通信をチャットシステムにて実現することをさらに他の目的とする。
上記の目的を達成する本発明は、ネットワークにより接続された複数の端末装置による共同作業を支援する、次のようなコラボレーションシステムとして実現される。このコラボレーションシステムは、ウェブページを取得して保持し、端末装置による共同作業に用いられる作業画面として配信するコラボレーションサーバと、チャットのセッションを管理するチャットサーバとを備え、コラボレーションサーバは、チャットサーバが管理するチャットのセッションにチャットクライアントとして参加することを特徴とする。
チャットサーバは、チャットにおけるセッションの識別情報と、セッションに参加しているクライアントの識別情報とを対応付けて登録するセッション管理テーブルを格納した記憶装置を備え、コラボレーションサーバの識別情報をクライアントとしてセッション管理テーブルに登録する。
ここで、このコラボレーションサーバは、ウェブページを取得して保持し、端末装置による共同作業に用いられる作業画面として配信する作業画面制御部と、複数の端末装置の間で行われるチャットにチャットクライアントとして参加するためのチャット機能実行部とを備え、このチャット機能実行部は、作業画面に対する操作指示をチャットメッセージとして各端末装置に配信することを特徴とする。
そして、より好ましくは、チャット機能実行部は、端末装置が備えるウェブブラウザの制御手段が読み取り可能なコマンドの形式で作業画面に対する操作指示を記述したチャットメッセージを生成し、端末装置に配信する。
さらに詳しくは、作業画面制御部は、端末装置からの要求に応じて、保持しているウェブページのデータファイル(HTMLファイル)の更新を行い、チャット機能実行部は、作業画面制御部によりデータファイルに対する操作が行われた場合に、端末装置に対して作業画面であるウェブページのリロードを促す指示をチャットメッセージとして配信する。
より具体的には、作業画面制御部は、端末装置から作業画面であるウェブページ上の所定の箇所を指定してなされた要求を受け付け、この要求により指定された箇所に対応させてウェブページのデータファイルにアンカータグ(後述する動的アンカー)を書き込むと共に、データファイルのURLにアンカータグの名前を付加する。そして、端末装置から作業画面であるウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、このアンカータグを、名前を変えずに、要求により指定された箇所に対応するデータファイル上の位置に移動させる。これにより、このウェブページをリロードすれば、アンカータグの書き込まれた箇所が作業画面の先頭に表示されることとなる。
また、作業画面制御部は、端末装置から作業画面であるウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、この要求により指定された箇所に対応させてウェブページのデータファイルにアンカータグ(後述する履歴アンカー)を追記する。これにより、共同作業のセッションで、注目箇所として設定された箇所に立ち戻ることが容易にできる。さらに、チャット機能実行部がチャットにおいてやりとりされたテキストのログを保持することにより、作業画面制御部が、ウェブページ上の所定の箇所を指定してなされた要求を受け付けた後、次にウェブページ上の他の箇所を指定してなされた要求を受け付けるまでになされたチャットのログを、ウェブページ上の該当する箇所に対応するアンカータグに関連付けることができる。
また好ましくは、チャット機能実行部は、チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、このコマンドの内容を解析して、このコマンドに基づく処理を、コラボレーションサーバの制御手段に実行させる。
また、上記の目的を達成する本発明は、ネットワークを介して複数の端末装置に接続されたコラボレーションサーバにより、この複数の端末装置による共同作業を支援する共同作業支援方法としても実現される。この共同作業支援方法では、まず、コラボレーションサーバが、記憶装置に格納されている共同作業の作業画面であるウェブページを各端末装置に配信する。次に、コラボレーションサーバが、所定の端末装置からの要求を受け付け、この要求に基づいて、ウェブページのデータファイルを更新する。そして、コラボレーションサーバが、複数の端末装置に対して作業画面であるウェブページのリロードを促す指示をチャットメッセージとして送信する。
ここで、より詳しくは、コラボレーションサーバがウェブページのデータファイルを更新するステップは、チャットにおいて端末装置から送信されたチャットメッセージを受信して、このチャットメッセージのテキストを解析するステップと、テキスト解析の結果、テキストがコマンドである場合に、このコマンドの内容を解析するステップと、コマンド解析の結果に基づいて、このコマンドによって要求される処理を実行するステップとを含む。
さらに本発明は、コンピュータを制御して、上述したコラボレーションサーバの各機能を実現するプログラム、あるいは上記の共同作業支援方法における各ステップに対応する処理を実行させるプログラムとしても実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
以上のように構成された本発明によれば、共同作業の作業画面をウェブページで構成することにより通信トラフィックを軽減するのみならず、チャットメッセージによる操作指示とウェブページのリロードによって共同作業における進行を制御するため、機種やOSの種類に依存しない、汎用性の高いコラボレーションシステム及びその方法を実現することができる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態によるコラボレーションシステムの全体構成を示す図である。
図1に示すように、本実施形態のコラボレーションシステムは、共同作業を実行するための複数の端末装置100と、端末装置100による共同作業を支援するコラボレーションサーバ200と、端末装置100どうし及び端末装置100とコラボレーションサーバ200との間の情報交換をチャットシステムによって実現するチャットサーバ300とを備える。チャットサーバ300と端末装置100及びコラボレーションサーバ200とは、インターネットその他のネットワークを介して接続されている。
本実施形態のコラボレーションシステムは、共同作業に用いるための作業画面をウェブページで提供する。また、共同作業における操作情報をチャットにて行う。したがって、各装置間で送受信されるデータは、ウェブページを構成する文書ファイル(以下、HTMLファイル)、そのURL(Uniform Resource Locator)、HTTP(HyperText Transfer Protocol)リクエストやそのレスポンス、チャットデータ等となる。
端末装置100は、パーソナルコンピュータやワークステーション、その他のコンピュータ装置、ネットワーク機能を備えたPDA(Personal Digital Assistant)、携帯電話等の情報機器にて実現される。なお、図1には2台の端末装置100が図示されているが、実際には3台以上の端末装置が接続されていても良い。また、以下の説明において、コラボレーションのセッションを開始する端末装置100と開始されたコラボレーションのセッションに参加する端末装置100とを区別する必要がある場合には、前者を主催者端末装置100a、後者を参加者端末装置100bと記載するが、これらを区別する必要がない場合は、単に端末装置100と記載する。
コラボレーションサーバ200及びチャットサーバ300パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。なお、図1にはコラボレーションサーバ200とチャットサーバ300とが異なる装置として記載されているが、かかるハードウェア構成に限定するものではなく、物理的に単一のコンピュータにて各サーバを実現することができるのは言うまでもない。
図2は、図1に示した端末装置100、コラボレーションサーバ200及びチャットサーバ300を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図2に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:中央処理装置)11と、M/B(マザーボード)チップセット12およびCPUバスを介してCPU11に接続されたメインメモリ13と、同じくM/Bチップセット12およびAGP(Accelerated Graphics Port)を介してCPU11に接続されたビデオカード14と、ビデオカード14にて生成される画像イメージを表示出力するディスプレイ20と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット12に接続された磁気ディスク装置(HDD)15、ネットワークインターフェイス16と、さらにこのPCIバスからブリッジ回路17およびISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット12に接続されたフレキシブルディスクドライブ18およびキーボード/マウス19とを備える。
なお、図2は本実施形態の各装置を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード14を設ける代わりに、ビデオメモリのみを搭載し、CPU11にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment)やSCSI(Small Computer System Interface)などのインターフェイスを介してCD−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。また、コラボレーションサーバ200やチャットサーバ300を実現する構成としては、ビデオカード14、ディスプレイ20やキーボード/マウス19といった入出力デバイスは、必ずしも設けなくても良い。
図3は、本実施形態のコラボレーションシステムを構成する端末装置100の機能構成を示す図である。
図3に示すように、端末装置100は、ネットワークを介してHTMLファイルやチャットメッセージを送受信する通信部110と、受信したHTMLファイルを表示するためのウェブ表示制御部120と、HTMLファイルを編集するための編集部130と、チャットを行うためのチャット制御部140とを備える。端末装置100を図2に示したコンピュータ装置で構成した場合、通信部110はネットワークインターフェイス16にて実現され、ウェブ表示制御部120およびチャット制御部140はプログラム制御されたCPU11、ビデオカード14及びディスプレイ20にて実現され、編集部130はプログラム制御されたCPU11にて実現される。ウェブ表示制御部120の機能を実現するプログラムとしては、既存のウェブブラウザを用いることができ、同様にチャット制御部140の機能を実現するプログラムとしては、既存のチャット用アプリケーションプログラムを用いることができる。また編集部130の機能を実現するプログラムとしては、テキストを編集してHTMLファイルに変換する機能を備えた既存のワードプロセッサやエディタを用いることができる。
本実施形態のコラボレーションシステムでは、端末装置100どうしの情報交換及びコラボレーションによるセッション中の端末装置100とコラボレーションサーバ200との間の情報交換がチャットシステムにより行われる。すなわち、端末装置100のユーザは、ウェブ表示制御部120によりディスプレイ20に表示されるウェブページ表示用のウィンドウを参照しながら、チャット制御部140によりディスプレイ20に表示されるチャット用のウィンドウに表示されるチャットのテキストを読み、チャットメッセージを入力することにより、共同作業を進めることとなる。具体的な共同作業の動作については後述する。
図4は、端末装置100の表示装置に表示されるウィンドウを示す図である。
図4において、ウェブページ表示用のウィンドウ401に作業画面であるウェブページが表示され、チャット用のウィンドウ402にチャットにおいてやりとりされるメッセージが表示される。図示の例では、チャット用のウィンドウ402には、メッセージを入力するための入力フォームと、入力されたメッセージを送信するためのボタン、チャットを終了するためのボタン(図中の「閉じる」と表記されたボタン)が設けられている。
端末装置100がパーソナルコンピュータ等のように比較的大きいサイズの表示画面を持つ表示装置を有する場合は、ウェブページ表示用のウィンドウ401とチャット用のウィンドウ402とを同時に表示して作業を進めることができるが、端末装置100がPDAや携帯電話のような小さいサイズの表示画面を持つ表示装置を有する場合は、ウェブページ表示用のウィンドウ401とチャット用のウィンドウ402の表示を切り替えながら作業を進めることとなる。
なお、共同作業として、ウェブブラウザにより表示されたウェブページに対して当該ウェブブラウザにて提供される機能を用いた操作(画面のスクロール、ページ遷移、入力フォームへの入力等)のみを行う場合は、編集部130は必須の構成要件ではない。
以上のように、本実施形態における端末装置100は、最低限、ネットワークを介してHTMLファイルを受信し、ウェブページを表示してウェブブラウザの機能に基づく操作を行い、ウェブブラウザの操作情報を送信すると共に、チャットにおけるデータの入出力および送受信を行うことができれば良い。したがって、機種や使用されるOS、ウェブブラウザの種類は限定されず、図2に示したコンピュータ装置の他、処理能力の低いPDA等の情報機器を端末装置100として用いることができる。
図5は、本実施形態のコラボレーションシステムを構成するコラボレーションサーバ200の機能構成を示す図である。
図5に示すように、コラボレーションサーバ200の機能は、アプリケーション層と制御層とデータ層とからなり、アプリケーション層にはウェブページコンポーネント210とチャットコンポーネント220とが含まれる。アプリケーションであるウェブページコンポーネント210は、外部のウェブサーバから作業画面となるウェブページを取得し、アンカー付きのキャッシュページを作成する。そして、キャッシュしたウェブページを端末装置100に送付すると共に、端末装置100からのコマンドを受け付ける。また、チャットコンポーネント220は、クライアントとしてチャットサーバ300にログインして、チャットを経由して送信された端末装置100からのコマンドを処理し、またコラボレーションサーバ200からのコマンドメッセージを端末装置100に送信する。そして、チャットのログを記録する。
ウェブページコンポーネント210は、例えば図2に示したプログラム制御されたCPU11にて実現され、ウェブサーバとしての機能を有するウェブサーバ部211と、他のウェブサーバに対するクライアントとしての機能を有するウェブクライアント部212と、端末装置100との通信に基づいてコラボレーションにおけるウェブページに対する処理を行うためのキャッシュページ生成部213、ウェブリクエスト解析部214及びコマンドパネル表示部215とを備える。
ウェブサーバ部211は、端末装置100からのリクエストを受け付けてウェブリクエスト解析部214に送付し、リクエストされたウェブページ(HTMLファイル)を当該端末装置100に送付する。
ウェブクライアント部212は、ウェブサーバ部211が端末装置100から受け付けたリクエストに含まれるコマンドに従い、外部のウェブサーバ(図示せず)から作業画面となるウェブページを取得する。
キャッシュページ生成部213は、ウェブクライアント部212により取得されたウェブページを元にアンカー付きのウェブページを生成する。生成されたウェブページのデータは、後述するウェブページ格納部241にキャッシュされる。
ウェブリクエスト解析部214は、端末装置100からHTTPリクエストとして送信されるリクエストを解析し、対応するコンポーネントを呼び出す。
コマンドパネル表示部215は、端末装置100で表示されるツールを生成する。ツールについては後述する。
チャットコンポーネント220は、例えば図2に示したプログラム制御されたCPU11にて実現され、チャットクライアント部221と、チャットテキスト解析部222と、チャット記録部223と、コマンド解析部224と、チャットコマンド生成部225とを備える。
チャットクライアント部221は、チャットサーバ300に接続し、チャットシステムのクライアントとしてチャットに参加する。
チャットテキスト解析部222は、チャットサーバ300から送られてきたテキストを解析し、規定された文法に基づいて当該テキストがコマンドかどうかを調べる。コマンドであればコマンド解析部224に送付する。また、コマンド以外のテキストをチャット記録部223に送付する。
チャット記録部223は、チャットのテキストをメインメモリ13等の記憶手段に一時的に記録し、後述する注目箇所ごとにまとめてチャットログ管理部233に送付する。
コマンド解析部224は、チャットテキスト解析部222の解析によりコマンドとして認識されたテキストの内容を解析し、コマンドの内容を認識する。認識されたコマンドの処理内容はコマンド処理部234へ送信される。
チャットコマンド生成部225は、端末装置100に制御コマンドとして送付するコマンドメッセージを生成する。
図5に示した制御層の各機能は、例えば図2に示したプログラム制御されたCPU11にて実現される。この制御層は、コラボレーションにおけるクライアントのセッションとウェブページとチャットログの管理を行う機能として、セッション管理部231と、ウェブページ制御部232と、チャットログ管理部233と、コマンド処理部234とを備える。
セッション管理部231は、コラボレーションにおける共同作業のセッションを管理する。セッションの管理は後述するセッション管理テーブルを用いて行うことができる。
ウェブページ制御部232は、キャッシュページ生成部213によって生成されたアンカー付きウェブページを管理する。
チャットログ管理部233は、チャットのログを後述する注目箇所に関連付けて管理する。注目箇所への関連づけの方法については後述する。
コマンド処理部234は、チャット及びウェブのリクエストとして送信されたコマンドの実態(内容)を処理し、必要なコンポーネントを呼び出す。
データ層の各機能は、例えば図2に示したメインメモリ13や磁気ディスク装置15にて実現される。このデータ層は、ウェブページとチャットログのデータの実態およびセッション情報を保管する機能として、ウェブページ格納部241と、セッション管理テーブル格納部242と、チャットログ格納部243とを備える。
ウェブページ格納部241は、キャッシュページ生成部213によって生成されたアンカー付きウェブページを保管する。
セッション管理テーブル格納部242は、コラボレーションにおける共同作業のセッション情報を管理するセッション管理テーブルを保管する。セッション管理テーブルは、例えば図6に示すように、セッションIDと、当該セッションに参加している端末装置100のアドレスとが対応付けて登録される。また、主催者端末装置100aと参加者端末装置100bとの別を識別する識別情報も登録される。なお、端末装置100のアドレスに代えて、セッションに参加するユーザのユーザIDを登録することもできる。この場合、ユーザがどの端末装置100を用いてセッションに参加しても、ユーザIDによってユーザ自身を一義的に特定できるので、ユーザに対するアクセス制御などを行うことが可能となる。ただし、ユーザIDを登録する場合、当該ユーザIDとアドレスとを対応付けるテーブルが別途必要となる。
チャットログ格納部243は、チャットにおいてやり取りされた内容のテキスト(チャットログ)を保管する。
図5に示したコラボレーションサーバ200の構成のうち、ウェブページコンポーネント210、ウェブページ制御部232、コマンド処理部234およびウェブページ格納部241が、作業画面であるウェブページに対する処理を行う作業画面制御手段として機能する。また、チャットコンポーネント220、チャットログ管理部233、コマンド処理部234およびチャットログ格納部243が、チャットのセッションにコラボレーションサーバ200をチャットクライアントとして参加させ、チャットメッセージによってコマンドのやりとりをし、共同作業の進行制御を行うためのチャット機能実行手段として機能する。
図7は、本実施形態のコラボレーションシステムを構成するチャットサーバ300の機能構成を示す図である。
図7に示すように、チャットサーバ300は、チャットのセッションを管理するセッション管理部310と、ネットワークインターフェイスを制御してチャットのクライアントとの間でのメッセージの交換を行うメッセージ送受信部320と、チャット内容を記憶装置に保存するチャット内容保存部330とを備える。
上述したように本実施形態では、コラボレーションサーバ200がチャットのクライアントとしてチャットサーバ300にアクセスし、チャットに参加する。したがって、本実施形態においてチャットのクライアントという場合には、端末装置100とコラボレーションサーバ200とが含まれている。
セッション管理部310は、例えば図2に示したプログラム制御されたCPU11およびメインメモリ13や磁気ディスク装置15等の記憶手段にて実現され、本実施形態で行われるチャットのセッションを管理する。セッション管理は、図6に示したものと同様のセッション管理テーブルに、セッションIDと当該セッションのクライアント(チャットシステムの場合は、端末装置100およびコラボレーションサーバ200)のアドレスとを対応付けて登録することにより行うことができる。
メッセージ送受信部320は、例えば図2に示したプログラム制御されたCPU11とネットワークインターフェイス16とで実現され、チャットのセッションにおける各クライアント間のメッセージの送受信を制御する。
チャット内容保存部330は、例えば図2に示したメインメモリ13や磁気ディスク装置15等の記憶手段にて実現され、実行されたチャットのセッションにおけるログを保存する。
ここで、本実施形態のシステムによる共同作業の実現手法について具体的に説明する。
本実施形態では、端末装置100において表示される作業画面(ウェブページ、コンテンツ)の同期と、チャットシステムを用いた情報交換および進行制御とによって共同作業が行われる。
まず、作業画面の同期について説明する。
上述したように、本実施形態では、作業画面がウェブページで提供される。そこで、作業画面のウェブページのHTMLファイルに、場所を示す特定の情報を書き込むことにより、当該ウェブページを表示する各端末装置100において、作業画面の特定の場所を示すことができる。
具体的には、HTMLのアンカータグをHTMLファイルの所望の位置に書き込む。これにより、共同作業に参加する各端末装置100において、作業画面であるウェブページをリロード(再読込)することで、当該ウェブページ中の所望の位置にジャンプして画面の表示状態を同期させることが可能となる。また、アンカータグを書き込んだ位置に、さらにイメージタグを書き込み、任意のイメージファイルをリンクさせるようにしても良い。このようにすれば、作業画面を同期させるだけでなく、ウェブページのどの場所に注目しているかを所望の目印(イメージ)で表示して他の参加者に知らせることができる。
また、本実施形態では、アンカータグとして、現在注目中の箇所を動的に示すためのアンカータグ(動的アンカーと称す)と、共同作業において一度でも注目された箇所を示すためのアンカータグ(履歴アンカーと称す)の2種類のタグを用いることとする。
動的アンカーは、共同作業において現在注目している箇所を示すものであり、注目箇所が変わるたびにHTMLファイル中の記述位置が変更される。また、動的アンカーの名前を作業画面のウェブページのURLに付加する(リンクを張る)ことにより、当該ウェブページへジャンプ(またはリロード)した際に、ウェブページの動的アンカーが配置されている場所へジャンプすることとなる。
履歴アンカーは、共同作業において過去に動的アンカーが記述された位置、および現在動的アンカーが記述されている位置に記述される。この履歴アンカーは、共同作業における過去の注目箇所を参照したり、後述するチャットログの保存において、チャットログが対応する過去の注目箇所に関連付けたりするために用いられる。
次に、チャットシステムを用いた情報交換および作業の進行制御について説明する。
上述したように、本実施形態では、共同作業における情報交換を既存のチャットシステムを利用して行う。そしてさらに、コラボレーションサーバ200をクライアントとしてチャットに参加させることにより、各端末装置100に配信するチャットメッセージで共同作業の進行の制御を実現している。
具体的には、まず、共同作業に参加しているユーザが作業画面の所定の位置に注目した場合、当該ユーザが使用する端末装置100が操作されて、その注目箇所がコラボレーションサーバ200に通知される。これに応じて、コラボレーションサーバ200が、作業画面のウェブページの注目箇所に対応するHTMLファイルの該当位置にアンカータグを書き込み、当該ウェブページのURLを上述したように当該アンカーを含むURLに更新する。そして、ウェブページのリロードを促すチャットメッセージを各端末装置100に送信する。このチャットメッセージに応じて、各端末装置100でウェブページのリロードが行われれば、作業画面の表示状態が同期することとなる。
これを実現するため、本実施形態のコラボレーションサーバ200は、アプリケーション層に設けられたチャットコンポーネント220のチャットクライアント部221によって、チャットサーバ300により管理されるチャットのセッションでやり取りされるテキストを取得する。チャットクライアント部221により取得されたチャットテキストは、チャットテキスト解析部222により解析されてコマンドとコマンド以外のテキストとに分類される。コマンドは、制御層のコマンド解析部224によって解析され、コマンド処理部234により当該コマンドに応じた処理が実行される。一方、コマンド以外のテキストは、チャット記録部223により保持され、制御層のチャットログ管理部233の管理下でデータ層のチャットログ格納部243に格納される。
また、コマンド処理部234の制御によりチャットコマンド生成部225が呼び出され、所定のコマンドを含むチャットメッセージが生成されたならば、そのチャットメッセージがチャットクライアント部221によってチャットサーバ300に送信され、チャットクライアントである各端末装置100に配信される。
さて、本実施形態により共同作業を行う場合、各端末装置100では次のような操作を行う必要がある。
1.他の共同作業参加者に伝えたいウェブページの注目箇所をコラボレーションサーバ200に通知する。
2.コラボレーションサーバ200からチャットメッセージで送られてくる注目箇所の通知メッセージを解釈し、この通知メッセージにしたがって、ウェブページ上に表示したりウェブブラウザにおける当該ウェブページのリロードを実行したりする。
これらの機能を実現する手段として、本実施形態では、ツール及びヘルパーファンクションというアプリケーションモジュールを用意する。これらのモジュールは、コラボレーションサーバ200から端末装置100にダウンロードされて、ウェブ表示制御部120の機能として実行される。以下、これらのモジュールの詳細を説明する。
ツールは、上記1の操作を行うためのモジュールである。
ツールの基本機能は、次の二つである。
・共同作業の主催者が、他の参加者と共有する作業画面のウェブページを開き、当該ウェブページの共有を開始する機能(共有開始機能)
・共同作業の参加者(主催者を含む)が、自分の注目箇所を他の参加者に通知する機能(注目箇所通知機能)
これらの機能を実現するために、本実施形態では、「共有開始」ボタンと「注目箇所通知」ボタンを端末装置100の表示画面に配置する。
「共有開始」ボタンおよび「注目箇所通知」ボタンを画面に配置する方法としては、例えば、ウェブページのフレームを用いる方法と、作業画面のウェブページを表示するウィンドウとは別のウィンドウを開いてボタンを表示する方法とが考えられる。図8はフレームを用いて「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図、図9は別ウィンドウに「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。
図8に示す例では、二つ以上のフレームを持つウェブページを表示できるHTMLファイルを用い、このHTMLファイルのフレームの内、1つのフレームで、「共有開始」ボタン801および「注目箇所通知」ボタン802が配置されたコマンドパネル810を表示する。そして、他の1つのフレームで、共有しようとする(すなわち作業画面となる)ウェブページを表示する。
一方、図9に示す例では、作業画面であるウェブページを表示したウィンドウ910とは別に、「共有開始」ボタン801および「注目箇所通知」ボタン802が配置されたウィンドウ920が表示されている。
図8に示したコマンドパネル810や図9に示したウィンドウ920は、図5に示したコマンドパネル表示部215で作成される。
ヘルパーファンクション(以下、ヘルパーと略称する)は、上記2の操作を行うためのモジュールである。
ヘルパーは、コラボレーションサーバ200からチャットメッセージとして送信されるコマンドメッセージを解析し、そのコマンドメッセージの内容にしたがってウェブブラウザを操作して、ウェブページの表示と再表示(リロード)を行う機能を持つ。ヘルパーは、ユーザインターフェースを持たず、共同作業の実行時にバックグラウンドで動作する。また、ヘルパーは必須の構成要件ではなく、ヘルパーが行う操作を手動による操作に置き換えることもできる。すなわち手動で操作する場合、端末装置100のユーザがチャットメッセージを読んで、その内容にしたがってウェブページの表示、再表示の操作を実行すれば良い。ヘルパーの実装は端末装置100のウェブブラウザおよびチャット用アプリケーションプログラムの実装に依存する。したがって、端末装置100がPDAや携帯電話などである場合に、システムによってはヘルパーを使用できない場合がある。このような場合に、ウェブページの表示、再表示の操作が手動で行われることとなる。
次に、上記のように構成されたコラボレーションシステムによる共同作業の動作について説明する。
本実施形態による共同作業の動作は、(1)共同作業の開始、(2)コンテンツ表示の同期、(3)チャットログの保存、という3つのフェーズからなる。以下、各段階に分けて説明する。
(1)共同作業の開始
共同作業の参加者(主催者、コラボレーションサーバ200を含む)は、ウェブページを用いた共同作業のセッション開始に先立ち、初期動作としてチャットセッションを確立しておく。上述したように、本実施形態で用いられるチャットシステムには、既存のシステムを用いることができるので、チャットセッションを確立するための動作も従来の方法に準ずる。例えば、共同作業の参加者である所定の端末装置100のユーザが自分の端末装置100においてチャット用アプリケーションプログラムを起動し、チャットサーバ300へチャットセッションの確立要求を送信する。これに応じて、チャットサーバ300において、セッション管理テーブルが作成され、確立されたセッションのセッションIDと共に当該端末装置100のアドレスが登録されて、セッション管理部310に管理される。他のユーザは、自分の端末装置100からチャットサーバ300へアクセスし、セッションIDを指定して参加要求を送信する。これにより、チャットサーバ300において、当該端末装置100のアドレスがセッション管理テーブルに登録されて、確立されたセッションに当該端末装置100のユーザが参加可能となる。
また、コラボレーションサーバ200のチャットコンポーネント220のチャットクライアント部221からもチャットサーバ300へチャットセッションの参加要求が送信され、コラボレーションサーバ200がチャットクライアントとしてセッション管理テーブルに登録される。ここで、共同作業に参加する各ユーザは、共同作業のためのチャットセッションを確立することを任意の手段で互いに通知しあい、上記のチャットセッション確立のための動作を行うことができるが、コラボレーションサーバ200は、いつチャットセッションが確立されるのかを知ることができない。そこで、新規のチャットセッションが確立された場合に、これをコラボレーションサーバ200に通知し、コラボレーションサーバ200のチャットクライアント部221を当該チャットセッションに参加させるための誘致手続が必要となる。
例えば、チャットサーバ300のセッション管理部310が、新規のチャットセッションが確立された際にコラボレーションサーバ200に通知を行い、この通知に応じてコラボレーションサーバ200から参加要求を送信させるようにチャットクライアント部221を動作させる。これにより、新規のチャットセッションが確立されれば自動的にコラボレーションサーバ200がそのセッションに参加することが可能となる。また、新規のチャットセッションが確立された際に、セッション管理部310において、作成されたセッション管理テーブルにコラボレーションサーバ200を登録してしまい、セッションIDをチャットサーバ300からコラボレーションサーバ200に通知するようにすることもできる。さらに後述するように、共同作業を開始するために端末装置100からコラボレーションサーバ200に対してウェブページを取得するためのリクエストが送られるので、この際にセッションIDを通知し、このリクエスト受信を条件としてコラボレーションサーバ200から参加要求を送信させるようにチャットクライアント部221を動作させるようにしても良い。
以上のようにしてチャットセッションが確立された後、作業画面として用いられるウェブページが取得されて共同作業が開始されることとなる。
図10は、共同作業の開始時の動作の流れを示すフローチャートである。
図10を参照すると、所定のユーザが共同作業を開始しようとする場合、当該ユーザが端末装置100を用いてコラボレーションサーバ200にアクセスし、共有する(すなわち共同作業の作業画面となる)ウェブページのURLを含むリクエストを送信する(ステップ1001)。この端末装置100を主催者端末装置100aと称し、主催者端末装置100aのユーザを主催者と称す。
コラボレーションサーバ200は、ウェブページコンポーネント210のウェブサーバ部211によりこのリクエストを受信すると、ウェブリクエスト解析部214によりこのリクエストを解析してURLを抽出し、抽出されたURLに基づいてウェブクライアント部212が該当するウェブページをネットワーク上のウェブサーバから取得する。そして、キャッシュページ生成部213が当該ウェブページの先頭を指すようにHTMLファイルに動的アンカーを記述し、ウェブページ制御部232が動的アンカーの記述されたHTMLファイルをウェブページ格納部241にキャッシュする(ステップ1002)。この動的アンカーの記述されたHTMLファイルのURLは、例えば、キャッシュされている作業画面のHTMLファイルのURLが http//www.aaa.com/bbb.htm であり、動的アンカーの名前が「Now」である場合、コマンドメッセージに含まれるURLは、http//www.aaa.com/bbb.htm#Now となる。
そして、ウェブサーバ部211が、キャッシュされたHTMLファイルに上述したツールを付加して主催者端末装置100aに返信する(ステップ1003)。ここでは、図8に示したように、作業画面にツールを配置したコマンドパネル810を表示する形態とする。この場合、コマンドパネル表示部215により、図8に示したような、2つのフレームを持ちコマンドパネル810とリクエストされたウェブページとが組み合わされた作業画面のHTMLファイルが作成され、ウェブサーバ部211から主催者端末装置100aに送信されることとなる。なお、図9に示したように別ウィンドウでツールを表示する場合は、リクエストされたウェブページのHTMLファイルとツールを表示するためのHTMLファイルとがそれぞれ主催者端末装置100aに送信されることとなる。
主催者端末装置100aは、このコマンドパネル810の付加されたHTMLファイルを受信すると、ウェブ表示制御部120により、作業画面表示用のウィンドウを開いて作業画面を表示する(ステップ1004)。この作業画面は、図8に示したような、2つのフレームを持ち、1つのフレームにコマンドパネル810を表示し、他の1つのフレームにリクエストされたウェブページを表示したものである。
次に、主催者が表示されたコマンドパネル810の「共有開始」ボタン801をマウスクリックする。これにより、共有開始のコマンドを含むリクエストがコラボレーションサーバ200に送信される(ステップ1005)。
このリクエストを受け付けたコラボレーションサーバ200では、ウェブリクエスト解析部214がリクエストを解析し、共有開始のコマンドを抽出する(ステップ1006)。そして、コマンド処理部234が、このコマンドにしたがって、チャットコマンド生成部225を呼び出す。チャットコマンド生成部225は、各端末装置100が作業画面を共有するためのコマンドメッセージを作成し、チャットクライアント部221を介してチャットサーバ300へ送信する(ステップ1007)。このコマンドメッセージには、ステップ1003で作成された作業画面のHTMLファイルのURLが含まれる。
チャットサーバ300は、このコマンドメッセージ(チャットメッセージ)を、セッション管理テーブルに基づき、チャットセッションに参加している各端末装置100に送信すると共に、チャット内容保存部330に保存する(ステップ1008)。
各端末装置100では、受信したチャットメッセージに基づいてウェブページが表示され、作業画面の共有が行われる(ステップ1009)。この際、主催者端末装置100aは、既に作業画面が表示されているので、チャットサーバ300から受け取ったチャットメッセージに応じて何らの動作も行う必要はない。一方、その他の端末装置100は、ウェブ表示制御部120により、チャットサーバ300から受け取ったチャットメッセージから作業画面のHTMLファイルのURLを抽出し、作業画面表示用のウィンドウを開いて、図8に示したような作業画面を表示する。この主催者端末装置100a以外の端末装置100を参加者端末装置100bと称す。
なお、チャットメッセージからURLを抽出し、ウェブページを取得して作業画面表示用のウィンドウに表示する作業は、端末装置100にヘルパーが実装されていれば、このヘルパーによって自動的に行われる。ヘルパーによるチャットメッセージからのURLの抽出手法については後述する。
端末装置100にヘルパーが実装されていない場合、各端末装置100では、チャット制御部140がチャットサーバ300から受信したチャットメッセージをチャット用のウィンドウに表示し、端末装置100のユーザが、表示されたチャットメッセージに基づき、ウェブ表示制御部120を操作してコラボレーションサーバ200にキャッシュされている作業画面のHTMLファイルを取得して、作業画面表示用のウィンドウにウェブページを表示する。
以上のようにして、主催者端末装置100aと参加者端末装置100bとにおいて、共通の作業画面のウェブページが表示され、作業画面が共有されることとなる。なお、ステップ1009で、主催者端末装置100aは何らの動作も行う必要はないとしたが、チャットサーバ300から受け取ったチャットメッセージに含まれるURLを抽出して、作業画面のHTMLファイルをリロードしてもかまわない。
また、上述した動作例では、共同作業を開始する前にチャットセッションを確立することとしたが、予めチャットセッションが確立されていない場合であっても、コラボレーションサーバ200が独自にチャットサーバ300にアクセスしてチャットセッションを確立し、主催者端末装置100aおよび参加者端末装置100bを誘致することは、既存のチャットシステムの機能において可能である。
(2)コンテンツ表示の同期
上記のようにして各端末装置100において作業画面が共有され、共同作業が開始されたならば、各端末装置100において実行された操作に基づくコンテンツ表示を各端末装置100で同期させることが必要である。作業画面に対する操作は、後述する制限を課す場合を除き、主催者端末装置100aおよび参加者端末装置100bのいずれでも行うことができるが、ここでは説明の便宜上、主催者端末装置100aで行われた操作を参加者端末装置100bにおいて同期させる場合を例として説明する。
図11は、コンテンツ表示の同期の動作を説明するフローチャートである。
図11を参照すると、まず主催者が、主催者端末装置100aにおいて、作業画面の所定の箇所を共同作業における注目箇所として指定する(ステップ1101)。注目箇所の指定は、作業画面中の該当個所をマウスクリックする等によって行われる。そして、主催者が作業画面のコマンドパネル810の「注目箇所通知」ボタン802をマウスクリックする。これにより、作業画面の注目箇所を通知するリクエストがコラボレーションサーバ200に送信される(ステップ1102)。このリクエストには作業画面であるウェブページ上の注目箇所の位置を特定する情報と注目箇所の名前とが含まれる。注目箇所の名前は任意に付与することができるが、例えば共同作業において注目箇所が設定された順に連続番号を振っても良い。
このリクエストを受け付けたコラボレーションサーバ200では、ウェブリクエスト解析部214がリクエストを解析する。そして、キャッシュページ生成部213が、セッション管理部231、ウェブページ制御部232を介してウェブページ格納部241にキャッシュされているHTMLファイルを読み出し、リクエストの内容に応じて、アンカータグの書き込みを行う(ステップ1103)。リクエストに応じてアンカータグの書き込まれたHTMLファイルは、最新のキャッシュデータとして再びウェブページ格納部241に格納される。
ここで、HTMLファイルへのアンカータグの書き込みについて詳細に説明する。
上述したように、本実施形態でHTMLファイルに書き込まれるアンカータグには、動的アンカーと履歴アンカーの2種類がある。
動的アンカーには固定の名前が付与されている(名前は任意で良いが、ここでは「Now」という名前が付与されるものとする)。そして、「注目箇所通知」ボタン802のクリックにより端末装置100からコラボレーションサーバ200にリクエストが送信されるたびに、動的アンカーは、そのリクエストによって指定される注目箇所に該当するHTMLファイル上の位置に移動する。
一方、履歴アンカーには端末装置100からコラボレーションサーバ200に送信されるリクエストに含まれる名前が付与される(ここでは、リクエストに含まれる名前として連続番号が用いられるものとして、この番号に基づき、「その1」、「その2」、・・・というように名前が付与されるものとする)。そして、「注目箇所通知」ボタン802のクリックによりリクエストが送信されるたびに、履歴アンカーは、そのリクエストによって指定される注目箇所に該当するHTMLファイル上の位置に追記的に書き込まれる。
図12は、「注目箇所通知」ボタン802によるリクエストに応じてHTMLファイルに動的アンカーおよび履歴アンカーが書き込まれる様子を示す図である。
まず、作業画面の所定の箇所が指定されて「注目箇所通知」ボタン802によるリクエストがコラボレーションサーバ200に送信されたものとする。すると、このリクエストに応じて、図12(A)に示すように、作業画面のHTMLファイルの該当位置に、動的アンカーである <ANCHOR “Now”> と履歴アンカーである <ANCHOR “その1”> とが記述される。
次に、作業画面の他の箇所が指定されて「注目箇所通知」ボタン802によるリクエストがコラボレーションサーバ200に送信されたものとする。すると、このリクエストに応じて、図12(B)に示すように、作業画面のHTMLファイルの該当位置に動的アンカー <ANCHOR “Now”> が移動する。また、同じ位置に履歴アンカー <ANCHOR “その2”> が追記される。したがって、HTMLファイルには、2つの履歴アンカー <ANCHOR “その1”> 、<ANCHOR “その2”> と1つの動的アンカー <ANCHOR “Now”> とが記述された状態となる。
一般には、注目箇所の通知が行われるたびに、HTMLファイルには履歴アンカーが追記されていき、最後に追記された履歴アンカーの位置に動的アンカーが記述される。
次に、過去に注目された注目箇所に戻る場合を考える。例えば、図12(B)の状態から再び履歴アンカー <ANCHOR “その1”> の位置に注目箇所を戻す場合、ウェブブラウザの表示画面で行う方法と、チャットメッセージでコラボレーションサーバ200にコマンドを送信する方法とがある。ウェブブラウザの表示画面で行う方法では、端末装置100は、例えば作業画面中の過去に指定された履歴アンカー <ANCHOR “その1”> に対応する箇所を改めて指定して「注目箇所通知」ボタン802をクリックすることにより、履歴アンカー <ANCHOR “その1”> に対応する箇所に戻るコマンドをウェブサーバコンポーネント210のウェブサーバ部211に送信する。また、コマンドパネル810に過去の注目箇所に戻るコマンドを送信するためのリターンボタン(ツール)を設定しておいても良い。なお、チャットメッセージでコラボレーションサーバ200にコマンドを送信する方法については後述する。
上記の過去の注目箇所に戻るコマンドを受信したコラボレーションサーバ200では、図12(C)に示すように、HTMLファイルにおける対応位置である履歴アンカー <ANCHOR “その1”> の位置に動的アンカー <ANCHOR “Now”> を移動させる。これによって、現在の注目箇所が履歴アンカー <ANCHOR “その1”> に対応する箇所に戻った。
さて、上記のようにしてHTMLファイルのアンカータグが更新された後、コラボレーションサーバ200のコマンド処理部234は、チャットコマンド生成部225を呼び出す。チャットコマンド生成部225は、各端末装置100において作業画面であるウェブページをリロードさせるためのコマンドメッセージを作成し、チャットクライアント部221を介してチャットサーバ300へ送信する(ステップ1104)。
チャットサーバ300は、このコマンドメッセージ(チャットメッセージ)を、セッション管理テーブルに基づき、チャットセッションに参加している各端末装置100に送信すると共に、チャット内容保存部330に保存する(ステップ1105)。
各端末装置100では、受信したチャットメッセージに基づいてウェブページがリロードされ、作業画面の更新が行われる(ステップ1106)。なお、チャットメッセージからリロード命令を抽出し、ウェブページをリロードして作業画面を更新する作業は、端末装置100にヘルパーが実装されていれば、このヘルパーによって自動的に行われる。ヘルパーによるチャットメッセージからのURLの抽出手法については後述する。
端末装置100にヘルパーが実装されていない場合、各端末装置100では、チャット制御部140がチャットサーバ300から受信したチャットメッセージをチャット用のウィンドウに表示し、端末装置100のユーザが、表示されたチャットメッセージに基づき、ウェブ表示制御部120を操作してコラボレーションサーバ200にキャッシュされている作業画面のウェブページをリロードして、作業画面表示用のウィンドウに表示する。
上記の説明では、主催者端末装置100aで行われた注目箇所の設定を参加者端末装置100bに反映させる場合を例として、コンテンツ表示を同期させる動作を説明したが、注目箇所の設定を参加者端末装置100bにおいて行うことも可能であることは言うまでもない。ただし、注目箇所の設定に関して、
(A)主催者端末装置100aでのみ設定できる。
(B)原則として主催者端末装置100aでのみ設定し、主催者が許可した場合に参加者端末装置100bから設定することができる。
といった制限を課すこともできる。これらの制限は、セッション管理部231の制御により実現することができる。また、参加者端末装置100bによる注目箇所の設定が制限されているか否かを示す情報をセッション管理テーブルに登録して管理することができる。
(B)のような制限の場合、参加者端末装置100bによる注目箇所の設定を許可する機能を主催者端末装置100aに設ける必要がある。具体的には、例えばコマンドパネル810に「注目箇所設定の許可」ボタンを設け、これがクリックされた場合に、参加者端末装置100bによる注目箇所の設定を許可するためのコマンドが主催者端末装置100aからコラボレーションサーバ200に送信されるようにする。そして、このコマンドを受信したコラボレーションサーバ200において、セッション管理部231により、注目箇所の設定に関する制限を解除する。
なお、(B)の制限を拡張して、各参加者端末装置100bに対して注目箇所の設定を個別に許可できるようにし、主催者端末装置100aと許可された参加者端末装置100bのみが設定できるといった制御を行っても良い。
(3)チャットログの保存
本実施形態では、共同作業の参加者間のコミュニケーション手段としてチャットシステムが用いられる。チャットにおけるやりとり(テキスト)は、ログとして各端末装置100の記憶装置、コラボレーションサーバ200のチャットログ格納部243、チャットサーバ300のチャット内容保存部330等に保存されるが、共同作業のセッションにおけるコミュニケーション手段として用いられるチャットのログとしては、コラボレーションサーバ200に保存されるログが有用である。
また本実施形態では、共同作業の内容とチャットでやり取りされた情報とを詳細に対応させるため、作業画面の所定の箇所に注目している際に行われたチャットのログを、当該注目箇所に関連付けて保存することとする。
図13は、チャットログと注目箇所との関連付けを概念的に示す図である。
図13に示すように、共同作業において注目箇所が移動した(すなわち新規の注目箇所が設定された)場合に、コラボレーションサーバ200のチャット記録部223により一時的に保持されたチャットテキストのうちで、それまでの注目箇所(図では <ANCHOR “その1”> )が設定されてから新規の注目箇所(図では <ANCHOR “その2”> )が設定されるまでになされた部分(図の破線で囲まれた部分)がファイル化され、チャットログ格納部243に格納される。そして、当該チャットログのテキストファイルが、それまでの注目箇所( <ANCHOR “その1”> )に関連付けられる。
具体的な関連づけの方法は特に限定しないが、例えば端末装置100がパーソナルコンピュータ等の高機能なウェブブラウザを使用できるシステムの場合、JavaScript(米国サン・マイクロシステムズ社の商標)など、ウェブページ内でのダイナミックな処理を行う仕組みを用いて、チャットログのテキストと作業画面の注目箇所とを関連付けることができる。これにより、端末装置100の表示装置において所望の注目箇所に関連するチャットログを参照しようとする場合は、当該注目箇所の付近にポップアップウィンドウを表示して、このポップアップウィンドウに当該注目箇所に関連付けられているチャットログを表示することができる。
図14に、ポップアップウィンドウにチャットログを表示する場合の表示例を示す。
図示のように、ポップアップウィンドウ1401にチャットログが表示される。
一方、PDAや携帯電話など低機能なウェブブラウザを持つシステムの場合、ウェブページの注目箇所にリンクを張ることで、チャットログのテキストと作業画面の注目箇所とを関連付けることができる。すなわち、注目箇所が移動した場合に、チャットログ管理部233によって、チャットログ格納部243に格納されるテキストファイルに対してURLが付与される。そして、キャッシュページ生成部213がHTMLファイルにアンカータグを書き込む際に、さらに当該URLへのリンクを記述する。これにより、端末装置100の表示装置において所望の注目箇所に関連するチャットログを参照しようとする場合は、当該注目箇所に関連付けられているチャットログのテキストファイルにジャンプしてウェブページ表示用のウィンドウに表示することができる。
図15に、作業画面からチャットログのテキストファイルへジャンプする場合の表示例を示す。
図示のように、作業画面とは別のウィンドウ1501にチャットログが表示される。
また、端末装置100において、注目箇所に関連付けられたチャットログを参照しようとする場合には、チャットメッセージにより端末装置100からコラボレーションサーバ200へコマンドの送信を行うことができる。すなわち、端末装置100のユーザは、過去の所望の注目箇所を、現在から何回前に注目した箇所かを示す情報、履歴アンカーの名前等の情報等で指定し、後述する決められた書式により、現在の注目箇所を指定された箇所に戻す(移動する)ことを要求するコマンドを含むチャットメッセージを記述して、送信する。このチャットメッセージは、コラボレーションサーバ200において、チャットテキスト解析部222およびコマンド解析部224によって解析される。この後、解析結果として得られたコマンドがコマンド処理部234に送られ、当該コマンドに基づいて、チャットログ格納部243に格納されている、指定された過去の注目箇所に関連付けられたチャットログが読み出され、各端末装置100に配信される。
次に、本実施形態によるチャットシステムを用いた共同作業の進行制御に必要なチャットテキストからのコマンド抽出方法について説明する。
チャットテキストからのコマンドの抽出は、チャットのセッションにクライアントとして参加しているコラボレーションサーバ200において実行されると共に、ヘルパーファンクションを実装した端末装置100においても実行される。
基本的な手法として、コマンドを送信するためのチャットメッセージには、先頭に予め規定された予約語を付加するものとする。予約語は任意に設定することができるが、例えば、コラボレーションサーバ200に対するコマンドを送信する場合の予約語を「Command:」、端末装置100のヘルパーに対して作業画面の更新(ウェブページのリロード)を実行させるコマンドを送信する場合の予約語を「Helper:」とすることができる。すなわち、チャットメッセージが「Command:」で始まっていれば、コラボレーションサーバ200に対するコマンドであると判断し、「Helper:」で始まっていれば、端末装置100に対するコマンドであると判断することができる。以下、このように予約語が設定されているものとして、チャットメッセージに対するコラボレーションサーバ200と端末装置100のヘルパーの動作をそれぞれ説明する。
まず、コラボレーションサーバ200における動作について説明する。
図16は、コラボレーションサーバ200におけるメッセージ処理の流れを示すフローチャートである。
図16に示すように、コラボレーションサーバ200のチャットクライアント部221は、チャットメッセージを受信すると(ステップ1601)、まずHTTP_USER_AGENT(ユーザエージェント)等に基づいて当該チャットメッセージの送信者を判断する(ステップ1602)。送信者がコラボレーションサーバ200自身である場合は、当該チャットメッセージの内容は警告、通知等の共同作業の進行制御のためのメッセージであると判断し、テキストを無視して当該チャットメッセージを破棄する(ステップ1607)。
チャットメッセージの送信者が端末装置100である場合は、次にチャットテキスト解析部222が、当該チャットメッセージが予約語「Command:」で始まっているかどうかを調べる(ステップ1603)。予約語「Command:」で始まっていない場合は、端末装置100どうしでやり取りされる通常のチャットメッセージと判断し、チャット記録部223により保持する(ステップ1609)。チャット記録部223に保持されたチャットメッセージは、上述したように、注目箇所の移動に伴って、各注目箇所に関連付けられてチャットログ格納部243に格納される。
チャットメッセージが予約語「Command:」で始まっている場合は、当該チャットメッセージはコラボレーションサーバ200に対するコマンドであるので、次にコマンド解析部224が、コマンドの内容を解析する(ステップ1604)。そして、コラボレーションサーバ200が実行可能な適切なコマンドであれば、コマンド解析部224は、当該コマンドを制御層のコマンド処理部234に渡す。そして、コマンド処理部234により当該コマンドに基づく処理に必要なコンポーネントが呼び出され、処理が実行される(ステップ1605、1606)。そして、当該コマンドを含むチャットメッセージのテキスト自体は破棄される(ステップ1607)。
一方、コマンドの解析の結果、当該コマンドが適切なコマンドでない場合は、チャットコマンド生成部225が、不正なコマンドであるために実行できない旨の警告メッセージを発行する(ステップ1608)。このメッセージは、チャットメッセージとして各端末装置100に配信される。そして、当該コマンドを含むチャットメッセージのテキスト自体は破棄される(ステップ1607)。
チャットメッセージによるコマンド送信の例として、上述した過去の注目箇所に関連付けられているチャットログの参照要求の送信がある。この場合、例えば履歴アンカー <ANCHOR “その2”> の箇所に戻ってチャットログを参照したいとすれば、この履歴アンカーの名前を用いて、

Command: back to その2

といったチャットメッセージを記述して送信する。このチャットメッセージは、先頭の「Command:」によりコラボレーションサーバ200へのコマンドであると判断され、「back to その2」の内容が解析されることとなる。
次に、端末装置100のヘルパーの動作について説明する。
図17は、端末装置100におけるメッセージ処理の全体的な流れを示すフローチャートである。
図17に示すように、端末装置100の通信部110がチャットメッセージを受信し、チャット制御部140に受け付けられると、ウェブ表示制御部120のヘルパーは、チャット制御部140からこのチャットメッセージを取得し(ステップ1701)、HTTP_USER_AGENT(ユーザエージェント)等に基づいて当該チャットメッセージの送信者を判断する(ステップ1702)。送信者が端末装置100である場合は、当該チャットメッセージは、端末装置100どうしでやり取りされる通常のチャットメッセージであると判断し、メッセージに含まれるテキストを無視する(ステップ1707)。この結果、当該テキストは、チャット制御部140の制御により、端末装置100の表示装置に表示されたチャット用のウィンドウに表示される(ステップ1709)。
チャットメッセージの送信者がコラボレーションサーバ200である場合は、次にヘルパーは、当該チャットメッセージが予約語「Helper:」で始まっているかどうかを調べる(ステップ1703)。予約語「Helper:」で始まっていない場合は、チャットメッセージの内容はコラボレーションサーバ200から各端末装置100への警告等の一般的な通知メッセージである(共同作業の進行制御のためのコマンドではない)と判断し、テキストを無視する(ステップ1707)。この結果、当該テキストは、チャット制御部140の制御により、端末装置100の表示装置に表示されたチャット用のウィンドウに表示される(ステップ1709)。
チャットメッセージが予約語「Helper:」で始まっている場合は、当該チャットメッセージはヘルパーが処理すべき共同作業の進行制御のためのコマンドであるので、次にヘルパーは、コマンドの内容を解析する(ステップ1704)。そして、ウェブ表示制御部120が実行可能な適切なコマンドであれば、ヘルパーは、当該コマンドに基づく制御情報をウェブブラウザに送る(ステップ1705、1706)。これによって、作業画面であるウェブページの表示制御(リロードやウィンドウを開く操作等)が行われる。
一方、コマンドの解析の結果、当該コマンドが適切なコマンドでない場合は、ヘルパーは、不正なコマンドであるために実行できない旨の警告メッセージを発行する(ステップ1708)。このメッセージは、チャット制御部140に送られ、端末装置100の表示装置に表示されたチャット用のウィンドウに表示される(ステップ1709)。
端末装置100がヘルパーを実装していない場合や、処理能力が劣っているためにヘルパーを使用できない場合等には、当然ながら上記のようなヘルパーによるチャットメッセージの解析およびウェブブラウザの自動制御は実行されない。その場合、ヘルパーへのコマンドを含むチャットメッセージは、通常のチャットメッセージと同様にチャット用のウィンドウに表示される。したがって、端末装置100のユーザがチャット用のウィンドウに表示されたメッセージを読み、そのメッセージの内容に応じて、作業画面のリロード等の必要な操作を行うことにより、共同作業を進行させることができる。
図18は、チャットメッセージによるコマンド送信の例として、各端末装置100にリロード指示が行われた場合のチャットログを示す図である。
図18に記載されたチャットメッセージ1801がリロード指示のコマンドである。図示のように、

Helper: reload

といったチャットメッセージが配信されると、ヘルパーを実装した端末装置100では、ヘルパーが、チャットメッセージの先頭の「Helper:」により端末装置100へのコマンドであると判断し、「reload」の内容を解析する。
なお、注目箇所が移動した場合に、端末装置100のユーザに対してチャットの切れ目を明示するために、コラボレーションサーバ200から図18のチャットメッセージ1802に示すような情報メッセージを送信することができる。
以上説明したように、本実施形態のコラボレーションシステムによれば、所定の端末装置100で注目箇所が設定された場合に、各端末装置100において作業画面であるウェブページをリロードすることによって、その注目箇所が作業画面の先頭に位置するように表示される。このため、共同作業に参加する端末装置100の表示装置における表示サイズや解像度が異なる場合であっても、全ての端末装置100において注目箇所を常に画面上に表示した状態とすることができる(作業画面の同期)。
図19は、本実施形態において、作業画面を異なる解像度のディスプレイ装置で表示した例を示す図である。
図19において、高解像度の端末装置Aで表示された作業画面で所定の箇所(図中の星印:★)を注目箇所として特定した場合、作業画面をリロードすることによって注目箇所が作業画面に必ず表示されるため、共同作業において作業画面のどこが注目されているのかを容易に知ることができる。
また、本実施形態では、作業画面であるウェブページをリロードすることによって作業画面を同期させるため、コラボレーションサーバ200および各端末装置100をクライアントとするチャットにおいて、チャットメッセージによってコラボレーションサーバ200から各端末装置100に作業画面のリロード要求を行うことにより、共同作業の進行を制御することができる。したがって、端末装置100は、一般的なウェブブラウザおよびチャットアプリケーションを実装していれば良く、作業画面を同期させるための特別なアプリケーションプログラムは必要ない。また、OSやウェブブラウザ、チャットアプリケーションの種類が制限されないため、PDAや携帯電話等の低い情報機器であっても、端末装置100として本実施形態のシステムに容易に参加することができる。
さらに、本実施形態によれば、各装置間で送受信されるデータは、ウェブページを構成するHTMLファイル、そのURL、HTTPリクエストやそのレスポンス、チャットデータ等であるので、データ量が少なく、通信トラフィックを低減することができる。
本実施形態によるコラボレーションシステムの全体構成を示す図である。 本実施形態における端末装置および各サーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。 本実施形態のコラボレーションシステムを構成する端末装置の機能構成を示す図である。 本実施形態のコラボレーションシステムを構成する端末装置の機能構成を示す図である。 本実施形態のコラボレーションシステムを構成するコラボレーションサーバの機能構成を示す図である。 セッション管理テーブルの構成例を示す図である。 本実施形態のコラボレーションシステムを構成するチャットサーバの機能構成を示す図である。 本実施形態におけるツールの態様を例示する図であり、フレームを用いて「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。 本実施形態におけるツールの態様を例示する図であり、別ウィンドウに「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。 本実施形態による共同作業の開始時の動作の流れを示すフローチャートである。 本実施形態によるコンテンツ表示の同期の動作を説明するフローチャートである。 本実施形態において、「注目箇所通知」ボタンによるリクエストに応じてHTMLファイルに動的アンカーおよび履歴アンカーが書き込まれる様子を示す図である。 本実施形態におけるチャットログと注目箇所との関連付けを概念的に示す図である。 本実施形態において、ポップアップウィンドウにチャットログを表示する場合の表示例を示す図である。 本実施形態において、作業画面からチャットログのテキストファイルへジャンプする場合の表示例を示す図である。 本実施形態のコラボレーションサーバにおけるメッセージ処理の流れを示すフローチャートである。 本実施形態の端末装置におけるメッセージ処理の全体的な流れを示すフローチャートである。 本実施形態におけるチャットメッセージによるコマンド送信の例として、各端末装置にリロード指示が行われた場合のチャットログを示す図である。 本実施形態におけるツールの態様を例示する図であり、別ウィンドウに「共有開始」ボタンおよび「注目箇所通知」ボタンを配置した様子を示す図である。 従来のコラボレーションシステムにおいて、作業画面を異なる解像度のディスプレイ装置で表示した例を示す図である。
符号の説明
11…CPU(Central Processing Unit:中央処理装置)、13…メインメモリ、14…ビデオカード、15…磁気ディスク装置(HDD)、16…ネットワークインターフェイス、19…キーボード/マウス、20…ディスプレイ、100…端末装置、110…通信部、120…ウェブ表示制御部、130…編集部、140…チャット制御部、200…コラボレーションサーバ、210…ウェブページコンポーネント、211…ウェブサーバ部、212…ウェブクライアント部、213…キャッシュページ生成部、214…ウェブリクエスト解析部、215…コマンドパネル表示部、220…チャットコンポーネント、221…チャットクライアント部、222…チャットテキスト解析部、223…チャット記録部、224…コマンド解析部、225…チャットコマンド生成部、231…セッション管理部、232…ウェブページ制御部、233…チャットログ管理部、234…コマンド処理部、241…ウェブページ格納部、242…セッション管理テーブル格納部、243…チャットログ格納部、300…チャットサーバ、310…セッション管理部、320…メッセージ送受信部、330…チャット内容保存部

Claims (19)

  1. ネットワークを介して複数の端末装置に接続され、当該複数の端末装置による共同作業を支援するコラボレーションサーバにおいて、
    ウェブページを取得して保持し、前記端末装置による共同作業に用いられる作業画面として配信する作業画面制御部と、
    前記複数の端末装置の間で行われるチャットにチャットクライアントとして参加するためのチャット機能実行部とを備え、
    前記チャット機能実行部は、前記作業画面に対する操作指示をチャットメッセージとして前記端末装置に配信することを特徴とするコラボレーションサーバ。
  2. 前記作業画面制御部は、前記端末装置からの要求に応じて、保持している前記ウェブページのデータファイルの更新を行い、
    前記チャット機能実行部は、前記作業画面制御部により前記データファイルに対する操作が行われた場合に、前記端末装置に対して前記作業画面である前記ウェブページのリロードを促す指示をチャットメッセージとして配信することを特徴とする請求項1に記載のコラボレーションサーバ。
  3. 前記作業画面制御部は、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付け、当該要求により指定された箇所に対応させて当該ウェブページのデータファイルにアンカータグを書き込むと共に、当該データファイルのURL(Uniform Resource Locator)に前記アンカータグの名前を付加することを特徴とする請求項2に記載のコラボレーションサーバ。
  4. 前記作業画面制御部は、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、前記アンカータグを、名前を変えずに、当該要求により指定された箇所に対応する前記データファイル上の位置に移動させることを特徴とする請求項3に記載のコラボレーションサーバ。
  5. 前記作業画面制御部は、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けるたびに、当該要求により指定された箇所に対応させて当該ウェブページのデータファイルにアンカータグを追記することを特徴とする請求項2に記載のコラボレーションサーバ。
  6. 前記チャット機能実行部は、チャットにおいてやりとりされたテキストのログを保持し、
    前記作業画面制御部は、前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けた後、次に当該ウェブページ上の他の箇所を指定してなされた要求を受け付けるまでになされたチャットのログを、当該ウェブページ上の当該所定の箇所に対応する前記アンカータグに関連付けることを特徴とする請求項5に記載のコラボレーションサーバ。
  7. 前記チャット機能実行部は、チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、当該コマンドの内容を解析して、当該コマンドに基づく処理を、コラボレーションサーバの制御手段に実行させることを特徴とする請求項1に記載のコラボレーションサーバ。
  8. 前記チャット機能実行部は、前記端末装置が備えるウェブブラウザの制御手段が読み取り可能なコマンドの形式で前記作業画面に対する操作指示を記述したチャットメッセージを生成し、前記端末装置に配信することを特徴とする請求項1に記載のコラボレーションサーバ。
  9. ネットワークにより接続された複数の端末装置による共同作業を支援するコラボレーションシステムにおいて、
    ウェブページを取得して保持し、前記端末装置による共同作業に用いられる作業画面として配信するコラボレーションサーバと、
    チャットのセッションを管理するチャットサーバとを備え、
    前記コラボレーションサーバは、前記チャットサーバが管理するチャットのセッションにチャットクライアントとして参加することを特徴とするコラボレーションシステム。
  10. 前記コラボレーションサーバは、前記作業画面に対する操作指示を含むチャットメッセージを生成し、前記チャットサーバに送信することを特徴とする請求項9に記載のコラボレーションシステム。
  11. 前記コラボレーションサーバは、
    前記端末装置からの要求に応じて、保持している前記ウェブページのデータファイルの更新を行う作業画面制御手段と、
    前記作業画面制御手段により前記データファイルに対する操作が行われた場合に、前記端末装置に対して前記作業画面である前記ウェブページのリロードを促す指示を含むチャットメッセージを生成するチャットメッセージ生成手段と
    を備えることを特徴とする請求項10に記載のコラボレーションシステム。
  12. 前記コラボレーションサーバは、
    前記端末装置からの要求を受け付ける要求受け付け手段と、
    前記要求受け付け手段が前記ウェブページ上の所定の箇所を指定してなされた要求を受け付けた後、次に当該ウェブページ上の他の箇所を指定してなされた要求を受け付けるまでに、チャットにおいてやりとりされたテキストのログを、当該ウェブページ上の当該所定の箇所に関連付けて格納する記憶手段と
    を含むことを特徴とする請求項9に記載のコラボレーションシステム。
  13. 前記コラボレーションサーバは、
    チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、当該コマンドを解析する解析手段と、
    前記解析手段により認識されたコマンドに基づく処理を実行する制御手段と
    を備えることを特徴とする請求項9に記載のコラボレーションシステム。
  14. 前記チャットサーバは、チャットにおけるセッションの識別情報と、当該セッションに参加しているクライアントの識別情報とを対応付けて登録するセッション管理テーブルを格納した記憶装置を備え、前記コラボレーションサーバの識別情報をクライアントとして当該セッション管理テーブルに登録することを特徴とする請求項9に記載のコラボレーションシステム。
  15. ネットワークを介して複数の端末装置に接続されたコラボレーションサーバにより当該複数の端末装置による共同作業を支援する共同作業支援方法であって、
    前記コラボレーションサーバが、記憶装置に格納されている共同作業の作業画面であるウェブページを前記複数の端末装置に配信する第1のステップと、
    前記コラボレーションサーバが、所定の前記端末装置からの要求を受け付け、当該要求に基づいて、前記ウェブページのデータファイルを更新して前記記憶装置に格納する第2のステップと、
    前記コラボレーションサーバが、前記複数の端末装置に対して前記作業画面である前記ウェブページのリロードを促す指示を、当該コラボレーションサーバおよび各端末装置がクライアントとして参加するチャットのチャットメッセージとして送信する第3のステップと
    を含むことを特徴とする共同作業支援方法。
  16. 前記第2のステップでは、前記コラボレーションサーバが、前記端末装置から前記ウェブページ上の所定の箇所を指定してなされた要求を受け付け、当該要求により指定された箇所に対応させて当該ウェブページのデータファイルにアンカータグを書き込むと共に、当該データファイルのURL(Uniform Resource Locator)に前記アンカータグの名前を付加することを特徴とする請求項15に記載の共同作業支援方法。
  17. 前記第2のステップは、
    前記チャットにおいて前記端末装置から送信されたチャットメッセージを受信して、当該チャットメッセージのテキストを解析するステップと、
    前記テキストの解析の結果、前記テキストがコマンドである場合に、当該コマンドの内容を解析するステップと、
    前記コマンドの解析の結果に基づいて、当該コマンドによって要求される処理を実行するステップと
    を含むことを特徴とする請求項15に記載の共同作業支援方法。
  18. コンピュータを、
    ウェブページを取得して保持し、ネットワークにより接続された複数の端末装置による共同作業に用いられる作業画面として配信し、当該端末装置からの要求に応じて、保持している前記ウェブページのデータファイルの更新を行う作業画面制御手段と、
    前記複数の端末装置の間で行われるチャットにチャットクライアントとして参加し、前記作業画面制御手段により前記データファイルの更新が行われた場合に、前記作業画面に対する操作指示をチャットメッセージとして前記端末装置に配信するチャット機能実行手段として
    機能させることを特徴とするプログラム。
  19. 前記チャット機能実行手段の機能として、前記コンピュータに、チャットにおいてやりとりされたテキストを解析してコラボレーションサーバに対するコマンドが含まれているか否かを調べ、そのようなコマンドが含まれていた場合に、当該コマンドの内容を解析させることを特徴とする請求項18に記載のプログラム。
JP2004054770A 2004-02-27 2004-02-27 コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム Expired - Fee Related JP4203657B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004054770A JP4203657B2 (ja) 2004-02-27 2004-02-27 コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム
US11/064,913 US7877445B2 (en) 2004-02-27 2005-02-24 Collaboration server, collaboration system, and method and program for collaboration server and system, for reducing network traffic
CNB2005100524296A CN100442280C (zh) 2004-02-27 2005-02-25 协作服务器,协作系统,及协作服务器和系统用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004054770A JP4203657B2 (ja) 2004-02-27 2004-02-27 コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005242899A true JP2005242899A (ja) 2005-09-08
JP4203657B2 JP4203657B2 (ja) 2009-01-07

Family

ID=34879763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004054770A Expired - Fee Related JP4203657B2 (ja) 2004-02-27 2004-02-27 コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム

Country Status (3)

Country Link
US (1) US7877445B2 (ja)
JP (1) JP4203657B2 (ja)
CN (1) CN100442280C (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140768A (ja) * 2005-11-16 2007-06-07 Seiko Epson Corp 2以上の端末装置に対するウエブ情報の送信
JP2009510607A (ja) * 2005-09-30 2009-03-12 アヴァター ファクトリー コーポレーション ホームページカスタマイズ化及び電子商取引サポートのためのコンピュータにより実現されるシステム及び方法
JP2010067099A (ja) * 2008-09-11 2010-03-25 Toyodaplus Co Ltd ビデオ作成システム及び作成方法
JP2010086083A (ja) * 2008-09-29 2010-04-15 Internatl Business Mach Corp <Ibm> 編集装置、編集プログラム、および編集方法
WO2011081194A1 (ja) * 2009-12-28 2011-07-07 サイバーアイ・エンタテインメント株式会社 コメント付与及び配信システム、及び端末装置
JP2011238201A (ja) * 2009-08-28 2011-11-24 Nippon Telegr & Teleph Corp <Ntt> Webコンテンツ共有システム及びWebコンテンツ共有方法
JP2011242869A (ja) * 2010-05-14 2011-12-01 Funai Electric Co Ltd 通信方法、表示装置、司会者端末装置、ユーザ端末装置、及びそれらを備えたマルチユーザ通信システム
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
JP2012118674A (ja) * 2010-11-30 2012-06-21 Internatl Business Mach Corp <Ibm> クライアント上で実行されるアプリケーションのローカル環境を共有可能にする方法、並びにそのサーバ及びコンピュータ・プログラム
WO2012108129A1 (ja) * 2011-02-10 2012-08-16 パナソニック株式会社 端末移行システム
JP2012238220A (ja) * 2011-05-12 2012-12-06 Sony Corp 情報処理装置、情報処理方法及びコンピュータプログラム
JP2015504189A (ja) * 2011-09-30 2015-02-05 カルガリー サイエンティフィック インコーポレイテッド 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
JP2015207283A (ja) * 2014-04-07 2015-11-19 株式会社リコー 情報処理システム、情報処理装置、端末装置及びプログラム
JP2018518769A (ja) * 2015-06-11 2018-07-12 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ビジネスオブジェクトを伝送する方法及び装置
JP2020047147A (ja) * 2018-09-21 2020-03-26 京セラドキュメントソリューションズ株式会社 情報処理システム、クライアント装置及び情報処理プログラム
WO2020141572A1 (ja) * 2019-01-04 2020-07-09 三菱電機株式会社 情報連携装置、情報連携システム、情報連携方法およびプログラム
JP2021064044A (ja) * 2019-10-10 2021-04-22 株式会社デジジャパン 情報管理システム

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050448A1 (en) * 2005-08-25 2007-03-01 Polycom, Inc. Method and system for information collaboration over an IP network via handheld wireless communication devices
GB0523887D0 (en) * 2005-11-24 2006-01-04 Ibm Methods, apparatuses and computer programs for achieving text summarization
US8145719B2 (en) 2006-03-03 2012-03-27 Gogroups Method and system for messaging and communication based on groups
US8214395B2 (en) * 2006-04-21 2012-07-03 Microsoft Corporation Tracking and editing a resource in a real-time collaborative session
US20080059583A1 (en) * 2006-09-06 2008-03-06 Rhub Communications, Inc. Browser based web conferencing employing layering to display screen updates
WO2008043182A1 (en) * 2006-10-13 2008-04-17 Ets (Ecole De Technologie Superieure) System for supporting collaborative work
KR101095423B1 (ko) 2007-03-26 2011-12-16 후아웨이 테크놀러지 컴퍼니 리미티드 단말기 및 룩앤필 관리 방법
US8702505B2 (en) 2007-03-30 2014-04-22 Uranus International Limited Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication
US8627211B2 (en) 2007-03-30 2014-01-07 Uranus International Limited Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication
US7950046B2 (en) 2007-03-30 2011-05-24 Uranus International Limited Method, apparatus, system, medium, and signals for intercepting a multiple-party communication
WO2008119149A1 (en) * 2007-03-30 2008-10-09 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7765266B2 (en) 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium, and signals for publishing content created during a communication
US8060887B2 (en) 2007-03-30 2011-11-15 Uranus International Limited Method, apparatus, system, and medium for supporting multiple-party communications
US7765261B2 (en) * 2007-03-30 2010-07-27 Uranus International Limited Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers
US8150214B2 (en) * 2007-11-27 2012-04-03 Microsoft Corporation Inferred discovery and construction of multi-resolution images
US20090241032A1 (en) * 2008-03-18 2009-09-24 David Carroll Challener Apparatus, system, and method for uniform resource locator sharing
EP2281387A4 (en) * 2008-05-20 2013-03-20 Raytheon Co SYSTEM AND METHOD FOR COLLABORATIVE MESSAGE TRANSMISSION AND DATA DISTRIBUTION
EP2304924A1 (en) 2008-05-20 2011-04-06 Raytheon Company System and method for maintaining stateful information
WO2009143106A1 (en) * 2008-05-20 2009-11-26 Raytheon Company System and method for dynamic contact lists
ES2575006T3 (es) * 2008-05-20 2016-06-23 Raytheon Company Sistema y método para filtrar mensajes
US7970814B2 (en) * 2008-05-20 2011-06-28 Raytheon Company Method and apparatus for providing a synchronous interface for an asynchronous service
US8862672B2 (en) * 2008-08-25 2014-10-14 Microsoft Corporation Content sharing and instant messaging
US20100082746A1 (en) * 2008-09-30 2010-04-01 Ulrich Sean M System and method for web site driven collaborative web browsing
JP2012510118A (ja) 2008-11-26 2012-04-26 カルガリー・サイエンティフィック・インコーポレイテッド アプリケーションプログラムの状態への遠隔アクセスを提供するための方法およびシステム
JP5451348B2 (ja) * 2009-12-09 2014-03-26 キヤノン株式会社 画像形成システム、Webサーバ、印刷制御装置、それらの制御方法、及びプログラム
US8875038B2 (en) * 2010-01-19 2014-10-28 Collarity, Inc. Anchoring for content synchronization
US9367123B2 (en) * 2010-01-29 2016-06-14 International Business Machines Corporation Systems and methods for collaborative browsing on the telecom web
US20110307302A1 (en) * 2010-06-11 2011-12-15 Len Perna Systems and methods for enhancing communication between partners in sponsorships
US8760488B2 (en) 2010-10-22 2014-06-24 Litl Llc Video integration
US11265510B2 (en) 2010-10-22 2022-03-01 Litl Llc Video integration
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
TW201232280A (en) * 2011-01-20 2012-08-01 Hon Hai Prec Ind Co Ltd System and method for sharing desktop information
RU2625525C2 (ru) 2011-08-15 2017-07-14 Калгари Сайентифик Инк. Бесконтактный удаленный доступ к программному приложению
EP2756409A4 (en) * 2011-09-12 2015-01-28 Intel Corp METADATA COLLABORATION BETWEEN INTERNET APPLICATIONS AND SERVICES
CN104040946B (zh) 2011-11-23 2017-07-14 卡尔加里科学公司 用于协作远程应用程序共享和会议的方法和系统
CN102710778B (zh) * 2012-06-05 2014-12-31 山东大学 一种协作无线传屏系统及其工作方法
CN104125135B (zh) * 2013-04-28 2016-10-05 腾讯科技(深圳)有限公司 一种即时通信应用聊天记录的管理方法和终端
CN103324605B (zh) * 2013-06-25 2016-08-10 北京网梯科技发展有限公司 一种多用户协同编辑的方法、设备及系统
US20150046790A1 (en) * 2013-08-07 2015-02-12 Avaya Inc. Overlay of private data on web pages
US9715534B2 (en) * 2015-03-23 2017-07-25 Dropbox, Inc. Shared folder backed integrated workspaces
US10491685B2 (en) 2015-03-31 2019-11-26 Microsoft Technology Licensing, Llc Session transfer between resources
JP6658110B2 (ja) * 2016-03-02 2020-03-04 株式会社リコー 情報処理システム、プログラム及びリクエスト方法
CN108933965B (zh) * 2017-05-26 2022-06-10 腾讯科技(深圳)有限公司 屏幕内容共享方法、装置及存储介质
US11526322B2 (en) * 2018-08-25 2022-12-13 Microsoft Technology Licensing, Llc Enhanced techniques for merging content from separate computing devices
US11159459B2 (en) * 2018-08-28 2021-10-26 International Business Machines Corporation Managing content in a collaboration environment
US20200151241A1 (en) * 2018-11-14 2020-05-14 International Business Machines Corporation Webpage component replication system and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240444B1 (en) 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
US6564246B1 (en) * 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
JP3594229B2 (ja) * 1999-09-27 2004-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書ファイル共有化システム、コラボレーションサーバー、文書ファイルの転送方法、及び記憶媒体
US20020129139A1 (en) * 2000-09-05 2002-09-12 Subramanyan Ramesh System and method for facilitating the activities of remote workers
JP3852742B2 (ja) 2000-11-02 2006-12-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理システム、端末装置、情報処理方法および記憶媒体
JP2003150527A (ja) * 2001-11-05 2003-05-23 Internatl Business Mach Corp <Ibm> チャットシステム、その端末装置及びチャットサーバ並びにプログラム

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510607A (ja) * 2005-09-30 2009-03-12 アヴァター ファクトリー コーポレーション ホームページカスタマイズ化及び電子商取引サポートのためのコンピュータにより実現されるシステム及び方法
JP2007140768A (ja) * 2005-11-16 2007-06-07 Seiko Epson Corp 2以上の端末装置に対するウエブ情報の送信
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
JP2010067099A (ja) * 2008-09-11 2010-03-25 Toyodaplus Co Ltd ビデオ作成システム及び作成方法
JP2010086083A (ja) * 2008-09-29 2010-04-15 Internatl Business Mach Corp <Ibm> 編集装置、編集プログラム、および編集方法
JP2011238201A (ja) * 2009-08-28 2011-11-24 Nippon Telegr & Teleph Corp <Ntt> Webコンテンツ共有システム及びWebコンテンツ共有方法
WO2011081194A1 (ja) * 2009-12-28 2011-07-07 サイバーアイ・エンタテインメント株式会社 コメント付与及び配信システム、及び端末装置
JP5828456B2 (ja) * 2009-12-28 2015-12-09 サイバーアイ・エンタテインメント株式会社 コメント付与及び配信システム、及び端末装置
JP2011242869A (ja) * 2010-05-14 2011-12-01 Funai Electric Co Ltd 通信方法、表示装置、司会者端末装置、ユーザ端末装置、及びそれらを備えたマルチユーザ通信システム
JP2012118674A (ja) * 2010-11-30 2012-06-21 Internatl Business Mach Corp <Ibm> クライアント上で実行されるアプリケーションのローカル環境を共有可能にする方法、並びにそのサーバ及びコンピュータ・プログラム
US10659522B2 (en) 2010-11-30 2020-05-19 International Business Machines Corporation Sharing application local environment
WO2012108129A1 (ja) * 2011-02-10 2012-08-16 パナソニック株式会社 端末移行システム
JP2012238220A (ja) * 2011-05-12 2012-12-06 Sony Corp 情報処理装置、情報処理方法及びコンピュータプログラム
JP2015504189A (ja) * 2011-09-30 2015-02-05 カルガリー サイエンティフィック インコーポレイテッド 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
JP2015207283A (ja) * 2014-04-07 2015-11-19 株式会社リコー 情報処理システム、情報処理装置、端末装置及びプログラム
JP2018518769A (ja) * 2015-06-11 2018-07-12 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ビジネスオブジェクトを伝送する方法及び装置
US11075865B2 (en) 2015-06-11 2021-07-27 Alibaba Group Holding Limited Method and apparatus for transmitting business object
JP2020047147A (ja) * 2018-09-21 2020-03-26 京セラドキュメントソリューションズ株式会社 情報処理システム、クライアント装置及び情報処理プログラム
JP7205129B2 (ja) 2018-09-21 2023-01-17 京セラドキュメントソリューションズ株式会社 情報処理システム、クライアント装置及び情報処理プログラム
WO2020141572A1 (ja) * 2019-01-04 2020-07-09 三菱電機株式会社 情報連携装置、情報連携システム、情報連携方法およびプログラム
WO2020141577A1 (ja) * 2019-01-04 2020-07-09 三菱電機株式会社 情報連携装置、情報連携システム、情報連携方法およびプログラム
JPWO2020141577A1 (ja) * 2019-01-04 2021-09-09 三菱電機株式会社 情報連携装置、情報連携システム、情報連携方法およびプログラム
JP7162682B2 (ja) 2019-01-04 2022-10-28 三菱電機株式会社 情報連携装置、情報連携システム、情報連携方法およびプログラム
JP2021064044A (ja) * 2019-10-10 2021-04-22 株式会社デジジャパン 情報管理システム

Also Published As

Publication number Publication date
CN1661598A (zh) 2005-08-31
JP4203657B2 (ja) 2009-01-07
US20050193062A1 (en) 2005-09-01
US7877445B2 (en) 2011-01-25
CN100442280C (zh) 2008-12-10

Similar Documents

Publication Publication Date Title
JP4203657B2 (ja) コラボレーションサーバ、コラボレーションシステム、その方法及びプログラム
US7908325B1 (en) System and method for event-based collaboration
JP6961994B2 (ja) デバイス上でのメッセージ管理とドキュメント生成のためのシステムと方法、メッセージの管理プログラム、モバイルデバイス
US8489999B2 (en) Shared user interface surface system
US8924863B2 (en) Collaborative web navigation using document object model (DOM) based document references
US5894305A (en) Method and apparatus for displaying graphical messages
US6728784B1 (en) Collaborative multimedia architecture for packet-switched data networks
JP6961993B2 (ja) デバイス上でのメッセージ管理とドキュメント生成のためのシステムと方法、メッセージの管理プログラム、モバイルデバイス
US20130110769A1 (en) Service providing apparatus, information processing system and methods
US20030088623A1 (en) Collaborative chat system
MX2011007385A (es) Sincronizacion de estados de presentacion entre multiples.
US7730417B2 (en) Terminal apparatus, network system, window display method, and computer program
JP2001312478A (ja) 共同作業オブジェクトのオーナ識別方法、コンピュータシステムおよびコンピュータ可読な記録媒体
US10990749B2 (en) Messaging application with presentation service
US20170185421A1 (en) User interfaces in a computer system
US20220417343A1 (en) Image processing method, apparatus, device, and computer-readable storage medium
JP2009187094A (ja) 会議システム、プログラム
JP2019179368A (ja) 会議装置、会議システム、情報処理方法およびプログラム
JP6337449B2 (ja) 会議サーバ装置、プログラム、情報処理方法、及び会議システム
CN111309211A (zh) 图片处理方法、装置及存储介质
US9942287B2 (en) Information processing system, terminal device, and method
US20110283180A1 (en) Communication method, information terminal apparatus, display apparatus, and communication system comprising these
JP2005092715A (ja) 情報処理装置及び電子文書のデータ構造
JP2019179365A (ja) 会議装置、会議システム、情報処理方法およびプログラム
JP2006350997A (ja) 端末装置、ネットワークシステム、ウィンドウ表示方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070813

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080924

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080929

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees