(57)【要約】【課題】汎用的なプログラムを利用したシステムを実現できるプログラム、情報共有システム及び情報処理装置を提供することを課題とする。【解決手段】コンテンツへの操作を、他の装置と共有する情報処理装置１３を、操作に応じたコマンドを含んだメッセージを作成する変換手段、メッセージを他の装置に配信するサーバ装置１１へメッセージを送信する送信手段、サーバ装置１１から受信したメッセージからコマンドを解釈する解釈手段、解釈したコマンドに基づきコンテンツの表示内容を更新する更新手段として機能させるためのプログラムであることにより、上記課題を解決する。【選択図】図１
2013257792.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツへの操作を、他の装置と共有する情報処理装置を、
前記操作に応じたコマンドを含んだメッセージを作成する作成手段、
前記メッセージを前記他の装置に配信するサーバ装置へ、前記メッセージを送信する送信手段、
前記サーバ装置から受信した前記メッセージから前記コマンドを解釈する解釈手段、
解釈した前記コマンドに基づき、前記コンテンツの表示内容を更新する更新手段
として機能させるためのプログラム。
【請求項２】
前記コマンドは、前記コンテンツを指定する操作、前記コンテンツの表示ページを指定する操作、前記コンテンツに図形又は文字を追加する操作、前記コンテンツから前記図形又は文字を削除する操作、前記コンテンツに手書きデータを追加する操作の少なくとも一つの操作に応じたコマンドであること
を特徴とする請求項１記載のプログラム。
【請求項３】
前記作成手段は、前記情報処理装置での前記コンテンツへの操作に応じたコマンドを前記他の装置が解釈可能なメッセージに含ませること
を特徴とする請求項２記載のプログラム。
【請求項４】
前記更新手段は、解釈した前記コマンドに基づき、前記コンテンツのデータ構造を更新すること
を特徴とする請求項３記載のプログラム。
【請求項５】
前記メッセージはインスタントメッセンジャーにより交換されるメッセージであること
を特徴とする請求項１乃至４何れか一項記載のプログラム。
【請求項６】
前記インスタントメッセンジャーはＸＭＰＰ（eXtensible Messaging and Presence Protocol）を利用すること
を特徴とする請求項５記載のプログラム。
【請求項７】
コンテンツへの操作を共有する複数の情報処理装置により実行可能なプログラムと、前記複数の情報処理装置にメッセージを配信するサーバ装置とを有する情報共有システムであって、
前記コンテンツへの操作を共有する複数の情報処理装置を登録する登録手段と、
前記操作に応じたコマンドを含んだメッセージを作成する作成手段と、
前記サーバ装置が、前記登録手段に登録されている前記情報処理装置へ前記メッセージを配信する配信手段と、
前記サーバ装置から受信した前記メッセージから前記コマンドを解釈する解釈手段と、
解釈した前記コマンドに基づき、前記コンテンツの表示内容を更新する更新手段と
を有する情報共有システム。
【請求項８】
前記コマンドは、前記コンテンツを指定する操作、前記コンテンツの表示ページを指定する操作、前記コンテンツに図形又は文字を追加する操作、前記コンテンツから前記図形又は文字を削除する操作、前記コンテンツに手書きデータを追加する操作の少なくとも一つの操作に応じたコマンドであること
を特徴とする請求項７記載の情報共有システム。
【請求項９】
前記作成手段は、前記情報処理装置での前記コンテンツへの操作に応じたコマンドを前記他の装置が解釈可能なメッセージに含ませること
を特徴とする請求項８記載の情報共有システム。
【請求項１０】
前記更新手段は、解釈した前記コマンドに基づき、前記コンテンツのデータ構造を更新すること
を特徴とする請求項９記載の情報共有システム。
【請求項１１】
前記メッセージはインスタントメッセンジャーにより交換されるメッセージであること
を特徴とする請求項７乃至１０何れか一項記載の情報共有システム。
【請求項１２】
前記インスタントメッセンジャーはＸＭＰＰ（eXtensible Messaging and Presence Protocol）を利用すること
を特徴とする請求項１１記載の情報共有システム。
【請求項１３】
コンテンツへの操作を、他の装置と共有する情報処理装置であって、
前記操作に応じたコマンドを含んだメッセージを作成する作成手段と、
前記メッセージを前記他の装置に配信するサーバ装置へ、前記メッセージを送信する送信手段と、
前記サーバ装置から受信した前記メッセージから前記コマンドを解釈する解釈手段と、
解釈した前記コマンドに基づき、前記コンテンツの表示内容を更新する更新手段と
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報共有システム及び情報処理装置に関する。
【背景技術】
【０００２】
従来の電子的に会議を支援する会議支援システムでは、個々の参加者が公共の場に提供した情報を全参加者の手元端末や参加者全員が視認できる共通的な画面に配信して共有化し、さらにこれら共有化された情報に対して参加者全員が編集作業を同時に行い、その結果を矛盾無くしかもリアルタイムで表現（表示など）する機能を提供してきた（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところが、上記のような機能を実装する上では、システムに専用のプログラムを用意する必要があり、プログラムが複雑化するという問題があった。このような問題は情報を共有する情報共有システムにおいて共通の課題であった。
【０００４】
本発明は、上記の点に鑑みなされたもので、汎用的なプログラムを利用したシステムを実現可能なプログラム、情報共有システム及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本願請求項１は、コンテンツへの操作を、他の装置と共有する情報処理装置を、前記操作に応じたコマンドを含んだメッセージを作成する作成手段、前記メッセージを前記他の装置に配信するサーバ装置へ、前記メッセージを送信する送信手段、前記サーバ装置から受信した前記メッセージから前記コマンドを解釈する解釈手段、解釈した前記コマンドに基づき、前記コンテンツの表示内容を更新する更新手段として機能させるためのプログラムであることを特徴とする。
【発明の効果】
【０００６】
本発明の実施の形態によれば、汎用的なプログラムを利用したシステムを実現できる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係る情報共有システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】ＸＭＰＰを使用する情報共有システムの一例の構成図である。
【図４】本実施形態に係る情報共有システムの処理の流れを表した一例のシーケンス図である。
【図５】ＪａｖａＳｃｒｉｐｔエンジンで実行されるプログラムにより実現される一例の機能ブロック図である。
【図６】ＸＭＰＰメッセージの一例の説明図である。
【図７】ＷＥＢブラウザに表示される一例の画面イメージ図である。
【図８】表示欄を実現する３つのタグについて説明する説明図である。
【図９】本実施形態に係る情報共有システムの表示更新の一例について説明するための説明図である。
【図１０】会議室への参加手順を示す一例のフローチャートである。
【図１１】ＸＭＰＰを使用する情報共有システムの一例の構成図である。
【発明を実施するための形態】
【０００８】
次に、本発明の実施の形態について、詳細に説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る情報共有システムの一例の構成図である。図１の情報共有システム１はＷＥＢサーバ１０、インスタントメッセンジャーサービスサーバ１１、ファイルサーバ１２、複数のクライアント端末１３が、ＬＡＮ（Local Area Network）などのネットワークＮ１に接続される構成を一例として示している。
【０００９】
ＷＥＢサーバ１０、インスタントメッセンジャーサービスサーバ１１、ファイルサーバ１２はそれぞれが別々のコンピュータ上で動作するソフトウェアやサービスであってもよいし、１つのコンピュータ上で動作するソフトウェアやサービスであってもよい。ＷＥＢサーバ１０、インスタントメッセンジャーサービスサーバ１１、ファイルサーバ１２は例えば所謂クラウドの形態をとることもできる。
【００１０】
ＷＥＢサーバ１０は、ＨＴＭＬ文書やそれに付随するＣＳＳ（Cascading Style Sheets）ファイル、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイル、画像ファイルなどの情報を蓄積する。ＪａｖａＳｃｒｉｐｔファイルはスクリプト言語（簡易プログラム言語）で記述されたファイルの一例である。ＷＥＢサーバ１０はＷＷＷ（World Wide Web）による情報送信機能を持つソフトウェアである。ＷＥＢサーバ１０はフリーソフトウェアのＡｐａｃｈｅ  ＨＴＴＰ  Ｓｅｒｖｅｒやマイクロソフト社のＩＩＳ（Internet Information Services）などにより実現される。
【００１１】
インスタントメッセンジャーサービスサーバ１１はネットワークＮ１を通じてリアルタイムコミュニケーションを実現するサービスを提供するソフトウェアである。インスタントメッセンジャーサービスサーバ１１はマイクロソフト社の．ＮＥＴ  Ｍｅｓｓｅｎｇｅｒ  Ｓｅｒｖｉｃｅや、ＸＭＰＰ（Extensible Messaging and Presence Protocol）[RFC3920]、[RFC3921]などにより実現される。
【００１２】
ファイルサーバ１２は、自身の管理している記憶装置をネットワークＮ１上の他のコンピュータと共有し、外部から利用できるようにするソフトウェアである。ファイルサーバ１２は、ＦＴＰ（File Transfer Protocol)やＷｅｂＤＡＶ（World Wide Web Distributed Authoring and Versioning）などにより実現される。
【００１３】
クライアント端末１３はユーザが操作する情報処理装置である。クライアント端末１３は例えばデスクトップパソコンやノートパソコン、タブレットＰＣ、スマートフォンや携帯電話、プロジェクタなどがある。クライアント端末１３はＷＥＢサーバ１０にアクセス可能である。ＷＥＢサーバ１０はクライアント端末１３からの要求（リクエスト）に対して応答（レスポンス）できる。
【００１４】
＜ハードウェア構成＞
ＷＥＢサーバ１０、インスタントメッセンジャーサービスサーバ１１、ファイルサーバ１２、クライアント端末１３は、例えば図２に示すハードウェア構成のコンピュータ１００により実現される。
【００１５】
図２は本実施形態に係るコンピュータの一例のハードウェア構成図である。図２に示したコンピュータ１００は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００１６】
入力装置１０１はキーボードやマウスなどを含み、コンピュータ１００に各操作信号を入力するのに用いられる。表示装置１０２はディスプレイなどを含み、コンピュータ１００による処理結果を表示する。
【００１７】
通信Ｉ／Ｆ１０７はコンピュータ１００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ１００は通信Ｉ／Ｆ１０７を介して他のコンピュータ１００とデータ通信を行うことができる。
【００１８】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、コンピュータ１００全体を制御する基本ソフトウェアであるＯＳ（Operating System）、及びＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。また、ＨＤＤ１０８は格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００１９】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、コンピュータ１００は外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ（Universal Serial Bus memory）等がある。
【００２０】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、コンピュータ１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２１】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８などの記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、コンピュータ１００全体の制御や機能を実現する演算装置である。
【００２２】
ＷＥＢサーバ１０、インスタントメッセンジャーサービスサーバ１１、ファイルサーバ１２、クライアント端末１３は、例えば上記ハードウェア構成のコンピュータ１００上でプログラムを実行することにより、後述するような各種処理を実現できる。
【００２３】
＜処理の詳細＞
以下では、本実施形態に係る情報共有システム１の処理の詳細について説明する。ここではインスタントメッセンジャーサービスサーバ１１がＸＭＰＰを使用する情報共有システム１Ａを一例として説明する。
【００２４】
図３はＸＭＰＰを使用する情報共有システムの一例の構成図である。図３の情報共有システム１ＡはＷＥＢサーバ１０、ファイルサーバ１２、クライアント端末１３、ＸＭＰＰサーバ１６、ＣＭ（Connection Manager）１７が、ネットワークＮ１に接続される構成を一例として示している。ＸＭＰＰサーバ１６は、インスタントメッセンジャーサービスサーバ１１の一例である。
【００２５】
ＸＭＰＰは、ＩＥＴＦでＲＦＣ３９２０（Extensible Messaging and Presence Protocol: Core）、ＲＦＣ３９２１（Extensible Messaging and Presence Protocol: Instant Messaging and Presence）として標準化され、また、拡張仕様がＸＥＰとして文書化されている。
【００２６】
ＸＭＰＰではグループチャット（Multi-User Chat [XEP-0045]）というサービスを提供できる。グループチャットとは、ＸＭＰＰが提供する会議室（ｒｏｏｍ）に参加しているクライアント端末１３がＸＭＰＰサーバ１６にメッセージを送信すると、そのメッセージがＸＭＰＰサーバ１６から会議室に参加しているすべてのクライアント端末１３に対して配信される機能である。
【００２７】
ＸＭＰＰではＨＴＴＰでメッセージを送受信するためのＢＯＳＨ（Bidirectional-streams Over Synchronous HTTP）[XEP-0206]という技術がある。ＢＯＳＨを利用することにより、ＸＭＰＰサーバ１６はＨＴＴＰでＸＭＰＰ通信できるようになるだけでなく、通常提供されないＰｕｓｈ機能（クライアント端末１３からリクエストを受けて情報を送るのではなく、ＸＭＰＰサーバ１６からクライアント端末１３に非同期に情報を送信し、クライアント端末１３で情報を受信する機能）を実現できる。ここではＨＴＴＰでＸＭＰＰ通信することをＸＭＰＰ  ｏｎ  ＨＴＴＰと表記する。なお、実際にはＸＭＰＰがＸＭＬ（Extensible Markup Language）データを送受信する。ＸＭＰＰ  ｏｎ  ＨＴＴＰはＨＴＴＰでＸＭＰＰのＸＭＬデータを送受信することになる。
【００２８】
ＢＯＳＨではＣＭ１７を特別なプロキシとして導入する。ＣＭ１７はＸＭＰＰサーバ１６と通常のＸＭＰＰのＸＭＬデータをやり取りする。また、ＣＭ１７はＨＴＴＰクライアントであるＷＥＢサーバ１０とＨＴＴＰでＸＭＰＰのＸＭＬデータをラップしたものをやり取りする。
【００２９】
ＷＥＢサーバ１０には、クライアント端末１３に搭載されているＷＥＢブラウザ２１で表示するＨＴＭＬファイル（ＨＴＭＬ文書）やそれに付随するＣＳＳファイル、ＪａｖａＳｃｒｉｐｔファイル、画像ファイルなどが格納されている。ＷＥＢブラウザ２１からＷＥＢサーバ１０及びＨＴＭＬファイルを指定するためにＵＲＬ（Uniform Resource Locator）が使用される。
【００３０】
また、情報共有システム１ＡはＡｊａｘ（Asynchronous Javascript XML）技術を使用することで、ＤＯＭ（Document Object Model）を操作し、ＷＥＢブラウザ２１で表示する内容を書き換えていくことができる。Ａｊａｘ技術とは、ＪａｖａＳｃｒｉｐｔファイルのＨＴＴＰ通信機能を使用して、Ｗｅｂページのリロードを伴わずにＸＭＬデータのやり取りを行って処理を進めていく実装形態である。
【００３１】
なお、Ｗｅｂブラウザ２１で表示する内容を書き換える方法は、ＤＯＭを更新する方法に限定されるものではない。例えば「ＨＴＭＬ５」では、Ｗｅｂブラウザ２１で表示する内容を直接書き換えることもできる。
【００３２】
例えば情報共有システム１Ａは、ＷＥＢブラウザ２１で表示するデータの選択、表示するデータの表示ページ、表示しているデータ上に描画するテキストや図形、手書きメモなどのユーザの入力（操作）に応じてＪａｖａＳｃｒｉｐｔでＸＭＬデータを作成し、ＸＭＰＰ  ｏｎ  ＨＴＴＰでＸＭＰＰサーバ１６にグループチャットで送信する。
【００３３】
ＸＭＰＰサーバ１６は会議室に参加しているすべてのクライアント端末１３に対してＸＭＰＰ  ｏｎ  ＨＴＴＰを利用して、ＸＭＬデータを配信する。グループチャットでＸＭＬデータを受け取ったクライアント端末１３はＪａｖａＳｃｒｉｐｔでＸＭＬデータを解釈し、例えばＤＯＭを操作（更新）することで、表示するデータ、表示するデータの表示ページ、テキストや図形、手書きメモなどの表示を更新する。
【００３４】
表示するデータは、あらかじめファイルサーバ１２に格納しておく。ファイルサーバ１２はＷＥＢブラウザ２１で読み取れるようにＨＴＴＰでのアクセスを提供する。ファイルサーバ１２は図３のＷＥＢサーバ１０と同じであってもよいし、他のＷＥＢサーバでもよいし、または、ＷｅｂＤＡＶサーバであってもよい。
【００３５】
図４は本実施形態に係る情報共有システムの処理の流れを表した一例のシーケンス図である。ここでは図４のシーケンス図を使用して、具体的なＸＭＰＰメッセージとＡｊａｘによる動的な表示更新について説明する。
【００３６】
ステップＳ１において、クライアント端末１３のＷＥＢブラウザ２１はユーザからＵＲＬを指定される。ユーザから指定されるＵＲＬはＷＥＢサーバ１０及びＨＴＭＬファイルを指定するものである。ＷＥＢブラウザ２１のＨＴＭＬエンジン３１はユーザから指定されたＵＲＬに最初のＨＴＴＰリクエストを送信する。
【００３７】
ステップＳ２において、ＷＥＢサーバ１０はＨＴＴＰリクエストのＵＲＬに対応するＨＴＭＬファイル、それに付随するＪａｖａＳｃｒｉｐｔファイル、画像ファイルなどを含むＡｊａｘページをＨＴＴＰレスポンスとしてＷＥＢブラウザ２１のＨＴＭＬエンジン３１に返す。
【００３８】
ステップＳ３において、ＨＴＭＬエンジン３１は受信したＨＴＭＬファイルからＤＯＭを作成し、そのＤＯＭに基づき画面表示を行う。ステップＳ４において、ＨＴＭＬエンジン３１は受信したＪａｖａＳｃｒｉｐｔファイルをＷＥＢブラウザ２１のＪａｖａＳｃｒｉｐｔエンジン３２に送信する。ＪａｖａＳｃｒｉｐｔエンジン３２は受信したＪａｖａＳｃｒｉｐｔファイルを読み込む。
【００３９】
ステップＳ５において、ＪａｖａＳｃｒｉｐｔエンジン３２は必要に応じてＤＯＭを更新する。ステップＳ６において、ＨＴＭＬエンジン３１はＤＯＭの更新に応じて画面表示を更新する。
【００４０】
このあと、ユーザはＷＥＢブラウザ２１に対して、例えば会議資料の指定、表示ページの指定、テキストや図形の描画、手書きメモの描画などのアクションを行ったものとして説明を続ける。ステップＳ７において、ＷＥＢブラウザ２１のＨＴＭＬエンジン３１はＪａｖａＳｃｒｉｐｔエンジン３２にユーザのアクションを通知する。
【００４１】
ステップＳ８において、ＪａｖａＳｃｒｉｐｔエンジン３２はユーザのアクションに対応したＸＭＰＰメッセージを作成し、そのＸＭＰＰメッセージをＸＭＰＰ  ｏｎ  ＨＴＴＰを使ってグループチャットでＣＭ１７に送信する。
【００４２】
なお、ＸＭＰＰ  ｏｎ  ＨＴＴＰはＷＥＢサーバ１０を経由して行われる。ＣＭ１７はＸＭＰＰ  ｏｎ  ＨＴＴＰからＸＭＰＰサーバ１６が解釈できるＸＭＰＰメッセージへの変換を行う。ＣＭ１７が行うＸＭＰＰ  ｏｎ  ＨＴＴＰからＸＭＰＰメッセージへの変換はＢＯＳＨの規定動作である。
【００４３】
ステップＳ９において、ＣＭ１７は変換したＸＭＰＰメッセージをＸＭＰＰサーバ１６に送信する。ステップＳ１０〜Ｓ１２において、ＸＭＰＰサーバ１６はグループチャットでＸＭＰＰメッセージを受信すると、そのグループチャットの会議室に入室しているすべてのクライアント端末１３に対して、ＸＭＰＰメッセージをＣＭ１７、ＷＥＢサーバ１０経由で送信する。
【００４４】
ＣＭ１７はＸＭＰＰメッセージからＸＭＰＰ  ｏｎ  ＨＴＴＰへの変換を行い、Ｐｕｓｈ機能によりＷＥＢサーバ１０経由でＸＭＰＰメッセージをクライアント端末１３のＪａｖａＳｃｒｉｐｔエンジン３２に送信する。ステップＳ１３において、ＪａｖａＳｃｒｉｐｔエンジン３２は受信したＸＭＰＰメッセージを読み込み、そのＸＭＰＰメッセージに応じてＤＯＭを更新する。ステップＳ１４において、ＨＴＭＬエンジン３１はＤＯＭの更新に応じて画面表示を更新する。
【００４５】
なお、ＸＭＰＰサーバ１６への接続はストリーム（Stream）を開き、認証を行うことから始まるが、ＸＭＰＰの仕様に沿ったものであるため、説明を省略する。
【００４６】
図５はＪａｖａＳｃｒｉｐｔエンジンで実行されるプログラムにより実現される一例の機能ブロック図である。なお、ＪａｖａＳｃｒｉｐｔエンジン３２で実行されるプログラムはステップＳ４で読み込んだＪａｖａＳｃｒｉｐｔファイルに相当する。ＪａｖａＳｃｒｉｐｔエンジン３２はＪａｖａＳｃｒｉｐｔファイルを実行することにより、ＤＯＭ更新部５１、ＸＭＰＰ送受信部５２、キャンパス描画部５３、ＩｎｋＭＬジェネレータ部５４、ＩｎｋＭＬパーサ部５５を実現している。
【００４７】
ＤＯＭ更新部５１は、ＨＴＭＬファイルのＤＯＭ構造を更新する機能と、ＷＥＢブラウザ２１でのイベントを処理する機能とを有する。ＤＯＭ更新部５１はＸＭＰＰメッセージによるコマンドや、ＷＥＢブラウザ２１でのイベントにより、ＤＯＭ構造を適切に更新してＷＥＢブラウザ２１での表示に反映させる。なお、ＤＯＭを更新するとＷＥＢブラウザ２１での表示に反映されるのは、ＷＥＢブラウザの標準機能である。
【００４８】
ＨＴＭＬファイルのＤＯＭ構造を更新する機能やＷＥＢブラウザ２１でのイベントを処理する機能は例えばｊＱｕｅｒｙを用いることで簡単に実現できる。なお、ｊＱｕｅｒｙはジョン・レシグが２００６年１月に開催されたＢａｒＣａｍｐ  ＮＹＣでリリースしたＪａｖａＳｃｒｉｐｔライブラリで、オープンソースである。
【００４９】
ＸＭＰＰ送受信部５２は、ＸＭＰＰメッセージを作成し、ＸＭＰＰ  ｏｎ  ＨＴＴＰでＸＭＰＰメッセージを送信する。また、ＸＭＰＰ送受信部５２はＸＭＰＰ  ｏｎ  ＨＴＴＰでＸＭＰＰメッセージを受信する。ＸＭＰＰ送受信部５２はＸＭＰＰメッセージを受信すると、ＸＭＰＰメッセージを解析し、ＤＯＭ更新部５１を使ってＨＴＭＬファイルのＤＯＭ構造を更新する。
【００５０】
キャンパス描画部５３は、後述するように、ｃａｎｖａｓタグにＪａｖａＳｃｒｉｐｔでＳＶＧ（Scalable Vector Graphics）データ図形を描画したり、後述のＩｎｋＭＬのトレースを描画したりする部分である。キャンパス描画部５３はＩｎｋＭＬの描画のためにＩｎｋＭＬデータをＩｎｋＭＬパーサ部５５に渡す。ＩｎｋＭＬパーサ部５５は渡されたＩｎｋＭＬデータをキャンパス描画部５３が解釈できるデータ構造に変換し、キャンパス描画部５３に返す。
【００５１】
また、ユーザがＷＥＢブラウザ２１で図形の描画を指示すると、ＤＯＭ更新部５１は指示に対応するイベントをキャッチする。キャンパス描画部５３はイベントに応じてｃａｎｖａｓに描画するとともに、ＳＶＧデータをｃａｎｖａｓのｔｏＤａｔａＵＲＬコマンドで作成する。ＸＭＰＰ送受信部５２は作成したＳＶＧデータをＸＭＰＰメッセージで図形追加メッセージとして送信する。図形の削除が指示されると、ＸＭＰＰ送受信部５２は図形削除メッセージを送信する。
【００５２】
同様に、ユーザがＷＥＢブラウザ２１で手書きメモの描画を指示すると、ＤＯＭ更新部５１は指示に対応するイベントをキャッチする。キャンパス描画部５３はイベントに応じてｃａｎｖａｓに描画する。キャンパス描画部５３は座標データ等をＩｎｋジェネレータ部５４に送ることでＩｎｋＭＬデータを作成させる。ＸＭＰＰ送受信部５２は作成したＩｎｋＭＬデータをＸＭＰＰメッセージで手書きメモ更新メッセージとして送信する。
【００５３】
なお、後述の手書きメモの描画が不要であれば、図５のＩｎｋＭＬジェネレータ部５４及びＩｎｋＭＬパーサ部５５は不要となる。さらに、後述の手書きメモの描画と図形の描画とが不要であれば、図５のキャンパス描画部５３、ＩｎｋＭＬジェネレータ部５４及びＩｎｋＭＬパーサ部５５は不要となる。
【００５４】
図６はＸＭＰＰメッセージの一例の説明図である。図６ではＸＭＰＰメッセージの一例として会議資料指定メッセージ、表示ページ指定メッセージ、図形追加メッセージ、図形削除メッセージ、手書きメモ更新メッセージのデータフォーマットを表している。
【００５５】
ＸＭＰＰでのグループチャットは会議室（ｒｏｏｍ）という単位で行われる。グループチャットでＸＭＰＰメッセージを送信するときは、以下に示すように、ｍｅｓｓａｇｅタグのｔｙｐｅ属性にｇｒｏｕｐｃｈａｔを指定する。また、ｆｒｏｍ属性には送信者を指定する。ｔｏ属性には、会議室を指定する。ｂｏｄｙ属性には、メッセージの内容を指定する。
<message from="alice@wonderland.lit/rabithole"
to="teaparty@conference.wonderland.lit"
type="groupchat">
<body>March Hare: There's PLENTY of rooms!</body>
</message>
また、会議室へ参加するときは、以下に示すように、ｐｒｅｓｅｎｃｅタグのｆｒｏｍ属性には送信者を指定する。ｔｏ属性には、会議室を指定する。なお、ｍｅｓｓａｇｅタグ及びｐｒｅｓｅｎｃｅタグは標準化された仕様なので詳細な説明を書略する。
<presence from="alice@wonderland.lit/rabbithole"
to="teaparty@conference.wonderland.lit/Alice"/>
</presence>
本実施形態に係る情報共有システム１Ａでは、クライアント端末１３間で会議資料や図形、手書きメモなどの表示を同期させるために、ＸＭＰＰメッセージのｂｏｄｙタグに情報共有システム１Ａで定義したＸＭＬデータを埋め込む。
【００５６】
このＸＭＬデータはルートにｃｏｎｆｅｒｅｎｃｅタグが用いられ、ｏｐｅｒａｔｉｏｎ属性で、ｕｐｄａｔｅ（更新）、ａｄｄ（追加）、ｄｅｌｅｔｅ（削除）などの値を指定する。
【００５７】
会議資料指定メッセージは、会議で使用する資料（会議資料）を共有するため、会議資料が格納されているＵＲＬを共有するが、このためにｄｏｃｕｍｅｎｔタグでＵＲＬを指定する。表示ページ指定メッセージは、会議資料が複数ページで構成される場合、その表示ページを共有するため、表示ページをｐａｇｅタグで指定する。
【００５８】
また、図形追加メッセージは、あるクライアント端末１３で追加された図形を共有するため、図形データをａｕｔｏｓｈａｐｅタグで指定する。ａｕｔｏｓｈａｐｅタグのｉｄ属性には識別子を示す。ｘ及びｙ属性には図形の左上の位置を示す。ａｕｔｏｓｈａｐｅタグの中身はＳＶＧデータを用いて、その図形を定義する。
【００５９】
なお、ＳＶＧはＸＭＬによって記述されたベクターグラフィック言語のことであり、Ｗ３Ｃ（World Wide Web Consortium）でオープン標準として勧告されている。新たに図形を追加するときはｏｐｅｒａｔｉｏｎ属性の値をａｄｄで指定し、ａｕｔｏｓｈａｐｅタグおよびＳＶＧデータで図形を定義する。以下はＳＶＧデータの一例である。
<svg width="5cm" height="4cm" version="1.1"
xmlns="http://www.w3.org/2000/svg">
<desc>Four separate rectangles</desc>
<rect x="0.5cm" y="0.5cm" width="2cm" height="1cm"/>
<rect x="0.5cm" y="2cm" width="1cm" height="1.5cm"/>
<rect x="3cm" y="0.5cm" width="1.5cm" height="2cm"/>
<rect x="3.5cm" y="3cm" width="1cm" height="0.5cm"/>
<rect x=".01cm" y=".01cm" width="4.98cm" height="3.98cm"
fill="none" stroke="blue" stroke-width=".02cm" />
</svg>
また、図形削除メッセージは、図形を削除するためのもので、ｏｐｅｒａｔｉｏｎ属性の値をｄｅｌｅｔｅで指定し、削除対象のａｕｔｏｓｈａｐｅタグを指定する。このときａｕｔｏｓｈａｐｅタグのｉｄ属性で、削除対象が判別される。
【００６０】
また、手書きメモ更新メッセージは、あるクライアント端末１３で追加された手書きメモを共有するため、手書きメモデータをｉｎｋタグで指定する。ｉｎｋタグに関してはＩｎｋＭＬで定義された形式を用いる。ＩｎｋＭＬは手書きデータをＸＭＬデータで記述するもので、Ｗ３Ｃにより推奨仕様が勧告されている。以下は、ＩｎｋＭＬデータの一例である。
<ink xmlns="http://www.w3.org/2003/InkML" documentID="abcdefg123">
<definitions>
<brush xml:id="br1">
<brushProperty name="color" value="#000000"/>
<brushProperty name="width" value="6" units="dev"/>
</brush>
<brush xml:id="br2">
<brushProperty name="color" value="#FF0000"/>
<brushProperty name="width" value="20" units="dev"/>
</brush>
</definitions>
<trace brushRef="#br1" xml:id="tr1">90 89, 91 90, 93 95, 97 101, 103 110, 111 120, 119 129</trace>
<trace brushRef="#br2" xml:id="tr2">234 365, 236 363, 239 359, 242 357, 245 354, 249 351</trace>
</ink>
会議資料に対する手書きメモは１つのＩｎｋＭＬデータで表現することとする。手書きメモを更新するときはｏｐｅｒａｔｉｏｎ属性の値をｕｐｄａｔｅで指定する。
【００６１】
図７はＷＥＢブラウザに表示される一例の画面イメージ図である。クライアント端末１３における情報共有システム１ＡのＧＵＩは、ＷＥＢブラウザ２１がレンダリングした図７のような画面で実現される。ＷＥＢブラウザ２１でのレンダリングは前述したＡｊａｘ技術を使用して動的に更新される。
【００６２】
プルダウンメニュー５０６は参加する会議室を選択するためのものである。プルダウンメニュー５０６の右側に設けられた参加ボタン又は退出ボタンはＸＭＰＰが提供する会議室への参加又は会議室からの退出をするためのものである。
【００６３】
ＨＴＭＬファイルがロードされたとき、ＷＥＢブラウザ２１はＸＭＰＰの仕様に従いＡｎｏｎｙｍｏｕｓログインを行い、会議室（ｒｏｏｍ）の一覧を取得する。ＷＥＢブラウザ２１は取得した会議室の一覧をプルダウンメニュー５０６に表示されるドロップダウンリストとして設定する。
【００６４】
ユーザはプルダウンメニュー５０６のドロップダウンリストから目当ての会議室を選択して、参加ボタンを押下する。参加ボタンが押下されると、ＷＥＢブラウザ２１はユーザが選択した会議室に参加する前述のＸＭＰＰメッセージを送信する。会議室に参加するＸＭＰＰメッセージは標準化された仕様である。また、ユーザは会議室に参加しているときに退出ボタンを押下することで、会議室から退出できる。退出ボタンが押下されると、ＷＥＢブラウザ２１はユーザが参加している会議室から退出するＸＭＰＰメッセージを送信する。会議室から退出するＸＭＰＰメッセージは標準化された仕様である。
【００６５】
入力欄５０１は会議資料を指定するＵＲＬを入力する場所である。ＷＥＢブラウザ２１は入力欄５０１に入力されたＵＲＬから会議資料を指定する前述のＸＭＰＰメッセージを生成し、送信する。ＷＥＢブラウザ２１は入力欄５０１に入力されたＵＲＬからＨＴＭＬファイルなどを取得し、表示欄５０５に表示する。
【００６６】
選択欄５０２は会議資料の表示するページを選択する場所である。例えば選択欄５０２の右矢印ボタンがユーザにより押下されるとＷＥＢブラウザ２１は会議資料の次のページを表示する。選択欄５０２の左矢印ボタンがユーザにより押下されるとＷＥＢブラウザ２１は会議資料の前のページを表示する。そして、ＷＥＢブラウザ２１は表示ページを指定する前述のＸＭＰＰメッセージを生成し、送信する。
【００６７】
選択欄５０３は追加する図形を選択する場所である。例えばユーザは追加したい図形を示す選択欄５０３のボタンを押下し、表示欄５０５上でマウスクリック、画面タッチなどで始点、終点などを指示することで表示欄５０５に図形を追加して表示できる。図７の選択欄５０３は追加する図形の一例として左から直線、矩形、楕円、テキストを示すボタンが設けられている。なお、表示欄５０５上における始点、終点などの指示はユーザの使用するデバイスによって方法が異なる。例えばＰＣではマウスが使用される。タブレットＰＣでは画面のタッチが使用される。
【００６８】
追加する図形の一例としてテキストを示すボタンが押下された場合、ＷＥＢブラウザ２１はユーザに領域を選択されたあと、テキストを入力させる。ＷＥＢブラウザ２１は図形を追加するユーザの操作からＪａｖａＳｃｒｉｐｔでＳＶＧデータを作成する。ＷＥＢブラウザ２１は図形を追加する前述のＸＭＰＰメッセージを生成し、送信する。
【００６９】
表示欄５０５に追加して表示した図形を削除する場合、その図形を長押しや右クリックなどすることにより、ユーザはメニューを表示させる。ユーザは、メニューから削除を選択することにより表示欄５０５から図形を削除できる。表示欄５０５の図形が長押しや右クリックなどされると、ＷＥＢブラウザ２１はメニューを表示させる。
【００７０】
ユーザがメニューから削除を選択すると、ＷＥＢブラウザ２１は長押しや右クリックなどされた図形を表示欄５０５から削除する。そして、ＷＥＢブラウザ２１は図形を削除する前述のＸＭＰＰメッセージを生成し、送信する。
【００７１】
選択欄５０４は手書きメモの追加又は削除を選択する場所である。例えばユーザはブラシや消しゴム、ブラシのサイズ、ブラシの色などを示す選択欄５０４のボタンを押下することにより、ブラシや消しゴム、ブラシのサイズ、ブラシの色などを選択できる。図７の選択欄５０４は一例として上段にブラシ、消しゴムを示す２つボタン、中段にブラシのサイズを示す３つボタン、下段にブラシの色を示す６つのボタンが設けられている。
【００７２】
ユーザは選択欄５０４からブラシ、ブラシのサイズ、ブラシの色を示すボタンを押下したあと、表示欄５０５上のある位置でマウスのボタンを押す又は画面をタッチし、押したまま又は画面をタッチしたままで位置を移動し、最後にマウスのボタンを離す又は画面から指を離すことで、その軌跡の座標をあるサンプリング間隔で記録し、座標を直線で結んだ手書きメモの一つのトレースを表示欄５０５上に描画できる。
【００７３】
ＷＥＢブラウザ２１はユーザによる軌跡の座標をあるサンプリング間隔で記録し、座標を直線で結ぶことで手書きメモの一つのトレースを描画する。また、ＷＥＢブラウザ２１はＪａｖａＳｃｒｉｐｔによって手書きメモのＩｎｋＭＬデータを作成し、手書きメモを更新する前述のＸＭＰＰメッセージを生成し、送信する。
【００７４】
また、ユーザは選択欄５０４から消しゴムを示すボタンを押下したあと、表示欄５０５上にある手書きメモの一つのトレースを横切るようになぞることで、そのトレースを削除できる。
【００７５】
ＷＥＢブラウザ２１は表示欄５０５上にある手書きメモの一つのトレースを横切るようになぞるユーザの操作により、そのトレースを表示欄５０５上から削除する。また、ＷＥＢブラウザ２１はＪａｖａＳｃｒｉｐｔによって手書きメモのＩｎｋＭＬデータから該当するトレースを削除し、手書きメモを更新する前述のＸＭＰＰメッセージを生成し、送信する。
【００７６】
ＨＴＭＬファイルでは表示欄５０５を図８に示すように３つのタグで実現する。図８は表示欄を実現する３つのタグについて説明する説明図である。３つのタグは例えば「ＨＴＭＬ５」のｃａｎｖａｓを用いることで実現できる。「ＨＴＭＬ５」はＷ３Ｃにより２００８年にドラフト（草案）が発表されたものである。近年、ＷＥＢブラウザ２１は「ＨＴＭＬ５」をサポートしていることが多い。その他、３つのタグは例えばＦｌａｓｈにより実現してもよい。
【００７７】
３つのタグはＣＳＳ（Cascading Style Sheets）でサイズが等しく、重なるように配置されている。１番下のｉｍｇタグは会議資料の画像を表示するものである。２番目のｃａｎｖａｓタグは、図形を描画するためのものである。３番目のｃａｎｖａｓタグは、手書きメモを描画するためのものである。
【００７８】
「ＨＴＭＬ５」のｃａｎｖａｓタグはＪａｖａＳｃｒｉｐｔによって図形を描画することができるため、ＪａｖａＳｃｒｉｐｔのマウスイベントやタッチイベントによりその軌跡を手書きメモとして描画するのを簡単に実現できる。「ＨＴＭＬ５」のｃａｎｖａｓタグは直線や矩形、楕円などといった図形を描画し、それをｔｏＤａｔａＵＲＬコマンドでＳＶＧデータにすることもできる。なお、図８に示すように、３つのタグを重ねて表示欄５０５を実現しているのは、それぞれの機能での描画が干渉しないように、設計しやすいためである。
【００７９】
グループチャットによりＸＭＰＰメッセージを受信したとき、ＷＥＢブラウザ２１はＸＭＰＰメッセージを解析する。会議資料指定メッセージであれば、ＷＥＢブラウザ２１は会議資料のダウンロードを行い、１番下のｉｍｇタグに会議資料の１ページ目の画像を表示する。
【００８０】
表示ページ指定メッセージであれば、ＷＥＢブラウザ２１は指定された表示ページをｉｍｇタグに表示する。図形追加メッセージであれば、ＷＥＢブラウザ２１はＳＶＧデータで定義された図形を２番目のｃａｎｖａｓタグに描画する。また、図形削除メッセージであれば、ＷＥＢブラウザ２１は一致するｉｄ属性の図形を２番目のｃａｎｖａｓタグから削除する。また、手書きメモ更新メッセージであれば、ＷＥＢブラウザ２１はＩｎｋＭＬデータに従い、３番目のｃａｎｖａｓタグにトレースを描画する。
【００８１】
なお、本実施形態では図７の画面から会議資料の指定、ページの選択、図形の追加及び削除、手書きメモの更新を行えるユーザを限定していないが、会議資料の指定、ページの選択、図形の追加及び削除、手書きメモの更新を行える権限を各ユーザに設定することもできる。
【００８２】
さらに、あるクライアント端末１３Ａにおいて行われた手書きメモの描画によって他のクライアント端末１３Ｂの表示が更新される流れについて図９を参照しつつ説明する。図９は本実施形態に係る情報共有システムの表示更新の一例について説明するための説明図である。
【００８３】
ステップＳ２１において、ユーザは図７に示すようなクライアント端末１３Ａの画面にマウスでトレースを描画することで手書きメモを描画する。クライアント端末１３ＡのＷＥＢブラウザ２１は、ユーザによる軌跡の座標をあるサンプリング間隔で記録し、座標を直線で結ぶことで手書きメモの一つのトレースを描画する。
【００８４】
ステップＳ２２において、ＷＥＢブラウザ２１はユーザによるマウスの軌跡の座標からＪａｖａＳｃｒｉｐｔによって手書きメモのＩｎｋＭＬデータを作成する。ステップＳ２３において、ＷＥＢブラウザ２３はステップＳ２２で作成したＩｎｋＭＬデータをＸＭＰＰメッセージに埋め込み、グループチャットでＸＭＰＰサーバ１６に送信する。
【００８５】
ステップＳ２４において、グループチャットでＸＭＰＰメッセージを受信すると、ＸＭＰＰサーバ１６はグループチャットの会議室に入室しているクライアント端末１３Ｂに対して、ＸＭＰＰメッセージを配信する。ステップＳ２５において、クライアント端末１３ＢのＷＥＢブラウザ２１は、ＸＭＰＰメッセージに埋め込まれたＩｎｋＭＬデータを取り出す。ＷＥＢブラウザ２１は取り出したＩｎｋＭＬデータに従い、クライアント端末１３Ａの画面にマウスで描画されたトレースと同様なトレースを描画できる。
【００８６】
図１０は会議室への参加手順を示す一例のフローチャートである。ステップＳ３１において、ＷＥＢブラウザ２１は前述したように、ＨＴＭＬファイルがロードされたときにＸＭＰＰの仕様に従ってＡｎｏｎｙｍｏｕｓログインを行い、会議室（ｒｏｏｍ）の一覧を取得する。ＷＥＢブラウザ２１は取得した会議室の一覧をプルダウンメニュー５０６に表示されるドロップダウンリストとして設定する。ユーザはプルダウンメニュー５０６のドロップダウンリストを表示させる。
【００８７】
ステップＳ３２において、ユーザはプルダウンメニュー５０６のドロップダウンリストから目当ての会議室を選択して、参加ボタンを押下する。ＷＥＢブラウザ２１はユーザがドロップダウンリストから会議室を選択して、参加ボタンを押下したことをＪａｖａＳｃｒｉｐｔのイベントにより感知する。
【００８８】
ステップＳ３３において、ＷＥＢブラウザ２１はユーザが選択した会議室に参加する前述のＸＭＰＰメッセージをＸＭＰＰサーバ１６に送信する。ここでは会議室が予め作成されている例を示したが、会議室を新たに作成する機能を追加してもよい。会議室を新たに作成する機能はＸＭＰＰの標準仕様で定義されているので容易に実現できる。
【００８９】
なお、ＸＭＰＰの仕様で会議室に参加したときには、それまでのメッセージ履歴が送信される。それまでに会議室で誰もＸＭＰＰメッセージを送っていないとき、メッセージ履歴は送信されない。したがって、図１０のフローチャートの処理は終了する。メッセージ履歴が送信されたとき、ＷＥＢブラウザ２１はステップＳ３４において、メッセージ履歴に従い、それまでに会議室で送られたＸＭＰＰメッセージを解析する。
【００９０】
ＷＥＢブラウザ２１は例えば会議資料指定メッセージに従い会議資料のダウンロードを行い、表示ページ指定メッセージに従い会議資料のページを表示し、図形追加メッセージに従い図面の描画を行い、手書きメモ更新メッセージに従い手書きメモの描画を行う。
【００９１】
＜まとめ＞
情報共有システム１Ａは、汎用的なインスタントメッセンジャーサービスと、その通信プロトコルにＨＴＴＰとを使うことにより、各クライアント端末１３で汎用的なＷＥＢブラウザ２１による情報交換を可能としている。ＷＥＢブラウザ２１間での情報交換と、情報交換に応じた画面描画とはＡｊａｘ技術により実現することが特徴になっている。
【００９２】
情報共有システム１Ａでは、サーバ側のシステムとして汎用的なインスタントメッセンジャーサービスの一例であるＸＭＰＰを利用できる。また、情報共有システム１Ａではクライアント側のシステムとして汎用的なＷＥＢブラウザ２１を利用できる。
【００９３】
例えばペーパレス会議システムとして、発表者及び参加者のクライアント端末１３で会議資料を共有し、発表者がクライアント端末１３上で会議資料のページをめくることで参加者のクライアント端末１３の画面上でも会議資料のページが同期して更新され、参加者がクライアント端末１３の画面上に記入した図形や手書きの内容が参加者のクライアント端末１３の画面上にも同期して表示されるシステムがある。
【００９４】
しかし、上記のようなペーパレス会議システムは、サーバ側やクライアント側に専用のソフトウェアを用意する必要があった。したがって、上記のようなペーパレス会議システムはサーバ側やクライアント側のシステムの開発に多大なコストが掛かっていた。
【００９５】
本実施形態の情報共有システム１は汎用的なインスタントメッセンジャーサービス（プロトコル）と、それを送受信するためにＨＴＴＰプロトコルとを用い、各クライアント端末１３でＡｊａｘ技術を用いることにより、汎用的なＷＥＢブラウザ２１をクライアント端末１３側のシステムとすることができ、サーバ側のシステムも汎用的なＷＥＢサーバ１０やインスタントメッセンジャーサービスサーバ１１により実現できるので、汎用的なプログラムを利用したシステムを実現できる。
［第２の実施形態］
第１の実施形態では、クライアント端末１３に搭載されたＷＥＢブラウザ２１を利用して情報共有システム１を実現している。第２の実施形態はクライアント端末１３の一部に専用のアプリケーションソフトウェアを搭載し、そのアプリケーションソフトウェアがＸＭＰＰメッセージで直接、ＸＭＰＰサーバ１６と通信するものである。
【００９６】
図１１はＸＭＰＰを使用する情報共有システムの一例の構成図である。図１１の情報共有システム１Ｂは、ＷＥＢブラウザ２１を利用して会議室に参加するクライアント端末１３と、専用のアプリケーションソフトウェアの一例としての会議アプリケーションソフトウェア２２を利用して会議室に参加するクライアント端末１４とが混在する。
【００９７】
図１１の情報共有システム１Ｂは会議アプリケーションソフトウェア２２を利用して会議室に参加するクライアント端末１４を許容することにより、タブレットＰＣやスマートフォンといった画面サイズの小さいクライアント端末１４において、ＵＩを自由に設計して画面を広く使えるようにできる。
【００９８】
例えばタブレットＰＣやスマートフォンといった画面サイズの小さいクライアント端末１４において、ＷＥＢブラウザ２１を利用して会議室に参加すると、有効に使える画面が更に小さくなってしまうというデメリットがある。ＷＥＢブラウザ２１はＵＩの内部にＨＴＭＬ描画部分があるため、有効に使える画面が更に小さくなる。
【００９９】
なお、第２の実施形態は、第１の実施形態と一部を除いて同一であるため、同一部分についての説明を省略した。
【０１００】
＜まとめ＞
第２の実施形態によれば、ＷＥＢブラウザ２１を利用して会議室に参加するクライアント端末１３と、会議アプリケーションソフトウェア２２を利用して会議室に参加するクライアント端末１４とが混在した情報共有システム１Ｂを実現できる。例えば第２の実施形態の情報共有システム１Ｂを利用すれば、ＷＥＢブラウザ２１を利用して会議室に参加するクライアント端末１３と、会議アプリケーションソフトウェア２２を利用して会議室に参加するクライアント端末１４との混在が許容されるため、汎用的なプログラムを利用した第１の実施形態の情報共有システム１Ａへの移行を段階的に実現できる。
【０１０１】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０２】
１、１Ａ、１Ｂ      情報共有システム
１０    ＷＥＢサーバ
１１    インスタントメッセンジャーサービスサーバ
１２    ファイルサーバ
１３、１４    クライアント端末
１６    ＸＭＰＰサーバ
１７    ＣＭ（Connection Manager）
２１    ＷＥＢブラウザ
２２    会議アプリケーションソフトウェア
３１    ＨＴＭＬエンジン
３２    ＪａｖａＳｃｒｉｐｔエンジン
５１    ＤＯＭ更新部
５２    ＸＭＰＰ送受信部
５３    キャンパス描画部
５４    ＩｎｋＭＬジェネレータ部
５５    ＩｎｋＭＬパーサ部
１００    コンピュータ
１０１    入力装置
１０２    表示装置
１０３    外部Ｉ／Ｆ
１０３ａ    記録媒体
１０４    ＲＡＭ（Random Access Memory）
１０５    ＲＯＭ（Read Only Memory）
１０６    ＣＰＵ（Central Processing Unit）
１０７    通信Ｉ／Ｆ
１０８    ＨＤＤ（Hard Disk Drive）
Ｎ１    ネットワーク
【先行技術文献】
【特許文献】
【０１０３】
【特許文献１】特開２００６−１４６４１５号公報
【図１】
2013257792.tif 000003
【図２】
2013257792.tif 000004
【図３】
2013257792.tif 000005
【図４】
2013257792.tif 000006
【図５】
2013257792.tif 000007
【図６】
2013257792.tif 000008
【図８】
2013257792.tif 000009
【図１０】
2013257792.tif 000010
【図１１】
2013257792.tif 000011
【図７】
2013257792.tif 000012
【図９】
2013257792.tif 000013