(57)【要約】【課題】表示し続ける情報と自動的に表示を消す情報とを両方扱うことのできる情報処理装置、プログラム、情報処理システム及び情報表示方法を提供することを課題とする。【解決手段】コンテンツ操作を他の情報処理装置と共有する情報処理装置であって、操作者から受け付けたコンテンツ上へ情報を描画する操作に基づきコンテンツ上へ情報を描画する描画手段と、操作に基づき他の情報処理装置が表示しているコンテンツ上へ情報を描画するためのデータを作成する作成手段と、操作に応じたコマンドと情報を描画するためのデータとを含んだメッセージを他の情報処理装置に送信する送信手段とを有し、作成手段が、他の情報処理装置が表示している情報を描画し続けさせるか、又は、継続時間の経過後に削除させるデータを作成することにより、上記課題を解決する。【選択図】  図１
2014225188.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツへの操作を、他の情報処理装置と共有する情報処理装置であって、
操作者から受け付けた、表示している前記コンテンツ上へ情報を描画する操作に基づき前記コンテンツ上へ情報を描画する描画手段と、
前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画するためのデータを作成する作成手段と、
前記操作に応じたコマンドと前記情報を描画するためのデータとを含んだメッセージを前記他の情報処理装置に送信する送信手段と、
を有し、
前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画し続けさせるか、又は、継続時間の経過後に削除させるデータを作成すること
を特徴とする情報処理装置。
【請求項２】
前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作が前記操作者から受け付けた前記情報を継続時間の経過後に削除するものであるとき、前記メッセージに前記情報の継続時間を含ませておくこと
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記継続時間を計時するタイマ手段を更に有し、
前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作が前記操作者から受け付けた前記情報を継続時間の経過後に削除するものであるとき、前記タイマ手段が前記継続時間を計時すると、前記コンテンツ上へ描画した前記情報を削除させるデータを作成すること
を特徴とする請求項１記載の情報処理装置。
【請求項４】
前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作が前記コンテンツに手書き情報を描画する操作に応じたものであるときに、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画し続けるデータを作成し、
前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作が前記コンテンツに軌跡を描画する操作に応じたものであるときに、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を継続時間の経過後に削除するデータを作成すること
を特徴とする請求項１乃至３何れか一項記載の情報処理装置。
【請求項５】
前記メッセージはインスタントメッセンジャーにより通信されるメッセージであること
を特徴とする請求項１乃至４何れか一項記載の情報処理装置。
【請求項６】
前記作成手段は、コンテンツへの操作を共有するモードから、前記コンテンツへの操作を共有しないモードへと変更されたあと、継続時間の経過後に削除させる前記情報を継続時間の経過前に削除させるデータを作成すること
を特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
コンテンツへの操作を、他の情報処理装置と共有する情報処理装置を、
操作者から受け付けた、表示している前記コンテンツ上へ情報を描画する操作に基づき前記コンテンツ上へ情報を描画する描画手段、
前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画するためのデータを作成する作成手段、
前記操作に応じたコマンドと前記情報を描画するためのデータとを含んだメッセージを前記他の情報処理装置に送信する送信手段、
として機能させ、
前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画し続けるか、又は、継続時間の経過後に削除するデータを作成すること
を特徴とするプログラム。
【請求項８】
一の情報処理装置において行われたコンテンツへの操作を他の情報処理装置において共有する情報処理システムであって、
一の情報処理装置が、
操作者から受け付けた、表示している前記コンテンツ上へ情報を描画する操作に基づき前記コンテンツ上へ情報を描画する第１描画手段と、
前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画するためのデータを作成する作成手段と、
前記操作に応じたコマンドと前記情報を描画するためのデータとを含んだメッセージを送信する送信手段と、
を有し、
他の情報処理装置が、
前記操作に応じたコマンドと前記情報を描画するためのデータとを含んだメッセージを受信する受信手段と、
前記メッセージに基づき、表示している前記コンテンツ上へ情報を描画する第２描画手段と、
を有し、
前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画し続けさせるか、又は、継続時間の経過後に削除させるデータを作成すること
を特徴とする情報処理システム。
【請求項９】
前記他の情報処理装置は、前記メッセージに前記情報の継続時間が含まれていれば表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を継続時間の経過後に削除する削除手段
を更に有する請求項８記載の情報処理システム。
【請求項１０】
前記作成手段は、前記継続時間の経過後に、前記コンテンツ上へ描画した前記情報を削除させるデータを作成すること
を特徴とする請求項８記載の情報処理システム。
【請求項１１】
一の情報処理装置において行われたコンテンツへの操作を他の情報処理装置において共有する情報処理システムで実行される情報表示方法であって、
一の情報処理装置において操作者から受け付けた、表示している前記コンテンツ上へ情報を描画する操作に基づき前記コンテンツ上へ情報を描画するステップと、
前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画するためのデータを作成するステップと、
前記操作に応じたコマンドと前記情報を描画するためのデータとを含んだメッセージを送信するステップと、
他の情報処理装置において前記メッセージに基づき、表示している前記コンテンツ上へ情報を描画するステップと、を有し、
前記データを作成するステップは、
前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画し続けさせるか、又は、継続時間の経過後に削除させるデータを作成すること、
を有することを特徴とする情報表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、プログラム、情報処理システム及び情報表示方法に関する。
【背景技術】
【０００２】
データを表示装置に表示させると共に、手書きされた軌跡を受け付け、受け付けた軌跡を表示されたデータ上に表示させる入出力装置は従来から知られている（例えば特許文献１参照）。
【０００３】
従来の入出力装置は、手書き入力された軌跡が表示装置に表示されている状態で、所定時間以上空けて次の軌跡が入力された場合に、先に入力されていた軌跡の表示を終了することで、不要な軌跡を自動的に消去していた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の情報処理システムにおいて、ユーザは入力した情報を表示し続けたい場合や入力した情報の表示を所定時間経過後に自動的に消したい場合がある。しかしながら、従来の情報処理システムにおいて、ユーザが表示し続けたい情報と、ユーザが所定時間経過後に自動的に表示を消したい情報とを、両方扱うことは困難であった。
【０００５】
本発明の実施の形態は、上記の点に鑑みなされたもので、表示し続ける情報と自動的に表示を消す情報とを両方扱うことのできる情報処理装置、プログラム、情報処理システム及び情報表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本願請求項１は、コンテンツへの操作を、他の情報処理装置と共有する情報処理装置であって、操作者から受け付けた、表示している前記コンテンツ上へ情報を描画する操作に基づき前記コンテンツ上へ情報を描画する描画手段と、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画するためのデータを作成する作成手段と、前記操作に応じたコマンドと前記情報を描画するためのデータとを含んだメッセージを前記他の情報処理装置に送信する送信手段と、を有し、前記作成手段は、前記操作者から受け付けた前記コンテンツ上へ情報を描画する操作に基づき、前記他の情報処理装置が表示している前記コンテンツ上へ前記操作者から受け付けた前記情報を描画し続けさせるか、又は、継続時間の経過後に削除させるデータを作成することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、表示し続ける情報と自動的に表示を消す情報とを両方扱うことができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る会議システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】ＸＭＰＰを使用する会議システムの一例の構成図である。
【図４】会議情報の一例の構成図である。
【図５】会議サーバに用意されている命令の一例の説明図である。
【図６】会議サーバに用意されている命令の一例の説明図である。
【図７】会議サーバに用意されている命令の一例の説明図である。
【図８】ＸＭＰＰメッセージの一例の説明図である。
【図９】クライアント端末において実現される一例の機能ブロック図である。
【図１０】ＷＥＢブラウザに表示される一例の画面イメージ図である。
【図１１】本実施形態に係る会議システムの表示更新の一例について説明するための説明図である。
【図１２】軌跡の１ストロークを分割して送信する例の説明図である。
【図１３】本実施形態の会議システムにおける軌跡表示処理を表した一例のシーケンス図である。
【図１４】本実施形態の会議システムにおける送信側のクライアント端末の軌跡表示処理を表した一例のシーケンス図である。
【図１５】本実施形態の会議システムにおける受信側のクライアント端末の軌跡表示処理を表した一例のシーケンス図である。
【図１６】本実施形態の会議システムにおける軌跡表示処理を表した他の例のシーケンス図である。
【発明を実施するための形態】
【０００９】
次に、本発明の実施の形態について、詳細に説明する。なお、本実施形態では情報処理システムの一例としての会議システムについて説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る会議システムの一例の構成図である。図１の会議システム１はＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２、複数のクライアント端末１３が、ＬＡＮやインターネットなどのネットワークＮ１に有線や無線で接続される構成を一例として示している。
【００１０】
ＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２は、別々のコンピュータ上で動作するソフトウェアやサービスであってもよいし、１つのコンピュータ上で動作するソフトウェアやサービスであってもよい。ＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２は例えば所謂クラウドサービスの形態をとることもできる。
【００１１】
ＷＥＢサーバ１０は、ＨＴＭＬ文書やそれに付随するＣＳＳ（Cascading Style Sheets）ファイル、ＪａｖａＳｃｒｉｐｔ（登録商標）ファイル、画像ファイルなどの情報を蓄積する。ＪａｖａＳｃｒｉｐｔファイルはスクリプト言語（簡易プログラム言語）で記述されたファイルの一例である。ＷＥＢサーバ１０はＷＷＷ（World Wide Web）による情報送信機能を持つソフトウェアである。ＷＥＢサーバ１０はフリーソフトウェアのＡｐａｃｈｅ  ＨＴＴＰ  Ｓｅｒｖｅｒやマイクロソフト社のＩＩＳ（Internet Information Services）などにより実現される。
【００１２】
会議サーバ１１はペーパレスな会議システムにおける会議の管理（会議の作成、編集、削除、検索、会議開催中の各クライアント端末１３に対する必要な通信）を担うものである。会議サーバ１１はネットワークＮ１を通じてリアルタイムコミュニケーションを実現するサービスを提供するソフトウェアである。会議サーバ１１はマイクロソフト社の．ＮＥＴ  Ｍｅｓｓｅｎｇｅｒ  Ｓｅｒｖｉｃｅや、ＸＭＰＰ（Extensible Messaging and Presence Protocol）[RFC3920]、[RFC3921]などにより実現される。
【００１３】
データベースサーバ１２は、登録された会議情報や会議資料を蓄積する。会議資料はコンテンツの一例である。データベースサーバ１２はＳＱＬ（Structured Query Language）などで操作されるリレーショナルデータベースなどにより実現される。
【００１４】
クライアント端末１３はユーザが操作する端末装置である。クライアント端末１３は例えばデスクトップパソコンやノートパソコン、タブレットＰＣ、スマートフォンや携帯電話、プロジェクタ、電子黒板などがある。クライアント端末１３はＷＥＢサーバ１０や会議サーバ１１にアクセス可能である。
【００１５】
＜ハードウェア構成＞
ＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２、クライアント端末１３は、例えば図２に示すハードウェア構成のコンピュータ１００により実現される。
【００１６】
図２は本実施形態に係るコンピュータの一例のハードウェア構成図である。図２に示したコンピュータ１００は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（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）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２２】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８などの記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、コンピュータ１００全体の制御や機能を実現する演算装置である。
【００２３】
ＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２、クライアント端末１３は、例えば上記ハードウェア構成のコンピュータ１００上でプログラムを実行することにより、後述するような各種処理を実現できる。
【００２４】
＜処理の詳細＞
以下では、本実施形態に係る会議システム１の処理の詳細について説明する。ここでは会議サーバ１１がＸＭＰＰを使ったインスタントメッセンジャーを使用し、クライアント端末１３と通信を行う会議システム１を一例として説明する。
【００２５】
図３はＸＭＰＰを使用する会議システムの一例の構成図である。会議システム１はＷＥＢサーバ１０、会議サーバ１１、クライアント端末１３Ａ及び１３ＢがネットワークＮ１に接続されている。ＷＥＢサーバ１０、会議サーバ１１はデータベースサーバ１２に接続されている。また、クライアント端末１３ＡはＷＥＢブラウザ２１が搭載されている。クライアント端末１３Ｂは専用ソフトウェア２２が搭載されている。なお、クライアント端末１３Ａ、１３Ｂの両方を指す場合には、単にクライアント端末１３と呼ぶ。
【００２６】
ＸＭＰＰは、ＩＥＴＦでＲＦＣ３９２０（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）データを送受信する。ＸＭＰＰ  ｏｎ  ＨＴＴＰはＨＴＴＰでＸＭＰＰのＸＭＬデータを送受信することになる。ＢＯＳＨではＣＭ（Connection Manager）と呼ばれる特別なプロキシを導入する。
【００２９】
図３ではＣＭの図示を省略している。ＣＭは会議サーバ１１と通常のＸＭＰＰのＸＭＬデータをやり取りする。また、ＣＭはＨＴＴＰクライアントであるＷＥＢサーバ１０とＨＴＴＰでＸＭＰＰのＸＭＬデータをラップしたものをやり取りする。なお、クライアント端末１３ＡはＸＭＰＰ  ｏｎ  ＨＴＴＰで会議サーバ１１と通信する。クライアント端末１３ＢはＸＭＰＰメッセージで直接、会議サーバ１１と通信する。
【００３０】
会議サーバ１１は会議管理機能を備える。会議サーバ１１は各クライアント端末１３からの会議の作成要求、編集要求、削除要求に対して、会議情報を、ＳＱＬを用いてデータベースサーバ１２に反映させる。会議情報は、開催前、開催中、開催後のステータスを会議状態として持つ。
【００３１】
また、会議サーバ１１は、クライアント端末１３からの開催、参加、退出、終了などの要求を処理する。会議の開催中、会議サーバ１１は会議共有情報（会議資料情報、会議資料の表示ページ、手書きメモデータなど）を管理、制御する。会議の開催後、会議サーバ１１は会議資料のダウンロード管理を行う。クライアント端末１３から会議サーバ１１への要求はＸＭＰＰを使ったメッセージにより行われる。
【００３２】
ＷＥＢサーバ１０には、クライアント端末１３Ａに搭載されているＷＥＢブラウザ２１で表示するＨＴＭＬファイル（ＨＴＭＬ文書）やそれに付随するＣＳＳファイル、ＪａｖａＳｃｒｉｐｔファイル、画像ファイルなどが格納されている。ＷＥＢブラウザ２１からＷＥＢサーバ１０及びＨＴＭＬファイルを指定するためにＵＲＬ（Uniform Resource Locator）が使用される。
【００３３】
また、会議システム１はＡｊａｘ（Asynchronous Javascript XML）技術を使用することで、ＤＯＭ（Document Object Model）を操作し、ＷＥＢブラウザ２１で表示する内容を書き換えていくことができる。Ａｊａｘ技術とは、ＪａｖａＳｃｒｉｐｔファイルのＨＴＴＰ通信機能を使用して、Ｗｅｂページのリロードを伴わずにＸＭＬデータのやり取りを行って処理を進めていく実装形態である。
【００３４】
なお、ＷＥＢブラウザ２１で表示する内容を書き換える方法は、ＤＯＭを更新する方法に限定されるものではない。例えば「ＨＴＭＬ５」では、ＷＥＢブラウザ２１で表示する内容を直接書き換えることもできる。
【００３５】
会議システム１はクライアント端末１３ＡのＷＥＢブラウザ２１が会議サーバ１１と通信するためにＷＥＢサーバ１０を用いる。また、会議資料をアップロードやダウンロードする手段としてＸＭＰＰメッセージはサイズの大きなバイナリデータを通信することに適さない。そこで、会議システム１はＨＴＴＰのＧＥＴリクエストやＰＯＳＴリクエストを用いて会議資料をアップロードやダウンロードする。
【００３６】
会議資料はクライアント端末１３から会議サーバ１１に対する会議資料の保存（アップロード）要求に応じて、データベースサーバ１２に蓄積させる。また、会議資料をダウンロードする場合、クライアント端末１３は会議サーバ１１からＷＥＢサーバ１０及び会議資料を指定するためのＵＲＬ（資料ＵＲＬ）を取得する。クライアント端末１３は取得した資料ＵＲＬを用いてＷＥＢサーバ１０にアクセスし、ＨＴＴＰ  ＧＥＴ／ＰＯＳＴリクエストにより会議資料をダウンロードする。ＷＥＢサーバ１０はＳＱＬを用いてデータベースサーバ１２から会議資料を取得し、ＨＴＴＰ  ＧＥＴ／ＰＯＳＴリクエストに対するレスポンスで会議資料をクライアント端末１３に送信する。
【００３７】
また、会議システム１はクライアント端末１３で表示する会議資料の選択、表示する会議資料の表示ページ、表示している会議資料上に描画するテキストや図形、手書きメモなどのユーザの入力（操作）に応じてＪａｖａＳｃｒｉｐｔでＸＭＬデータを作成し、ＸＭＰＰ  ｏｎ  ＨＴＴＰで会議サーバ１１にグループチャットで送信する。
【００３８】
会議サーバ１１は会議室に参加している全てのクライアント端末１３に対してＸＭＰＰ又はＸＭＰＰ  ｏｎ  ＨＴＴＰを利用し、ＸＭＬデータを配信する。クライアント端末１３ＡはＪａｖａＳｃｒｉｐｔでＸＭＬデータを解釈し、例えばＤＯＭを操作（更新）することで、表示する会議資料、表示する会議資料の表示ページ、表示している会議資料上に描画するテキストや図形、手書きメモなどの表示を更新する。
【００３９】
クライアント端末１３Ｂは専用ソフトウェア２２がＸＭＬデータを解釈し、表示する会議資料、表示する会議資料の表示ページ、表示している会議資料上に描画するテキストや図形、手書きメモなどの表示を更新する。
【００４０】
図４は会議情報の一例の構成図である。図４の会議情報は、会議ＩＤ、会議名、開始日時、パスワード、会議資料のダウンロード許可、発表者の変更許可、会議状態、会議資料を項目として有する。会議情報はデータベースサーバ１２に蓄積される。
【００４１】
会議ＩＤはクライアント端末１３からの会議の作成要求に応じて、会議サーバ１１が自動で一意になるように設定する、会議を一意に識別する情報である。会議名はユーザが任意に設定するものであり、ユーザが会議を識別するために用いられる。開催日時はユーザが任意に設定するものであり、会議を開始する予定時間など、ユーザが会議を識別するために用いられる。
【００４２】
パスワードは会議の参加や会議資料のダウンロードに用いる情報である。パスワードが設定されていると、ユーザはパスワードを知らなければ会議に参加できない。また、パスワードが設定されていると、ユーザはパスワードを知らなければ会議資料をダウンロードできない。なお、パスワードが設定されていなければ、会議の参加及び会議資料のダウンロードは自由に行うことができる。
【００４３】
会議資料のダウンロード許可は会議開催中以外に会議資料のダウンロードを許可するか否かの情報（例えばＴＲＵＥ／ＦＡＬＳＥ）である。発表者の変更許可は会議開催中に発表者を変更できるか否かの情報（例えばＴＲＵＥ／ＦＡＬＳＥ）である。発表者とは、会議資料のページを切り替えたり、会議資料に手書きメモを記述したりすることで、会議に参加している全てのクライアント端末１３の表示に反映できる役割である。
【００４４】
会議状態は開催前、開催中、開催後の３つのステータスの何れかを表す。会議状態は会議サーバ１１が設定する項目であり、会議サーバ１１が状況に応じて変更する。会議が新規に作成されると、会議状態は「開催前」に設定される。会議が開催されると、会議状態は「開催中」に変更される。会議に参加したユーザが全員退出し、会議が終了すると、会議状態は「開催後」に変更される。会議資料は会議で使用される文書（会議資料）のバイナリデータを示している。
【００４５】
図５〜図７は会議サーバに用意されている命令の一例の説明図である。会議システム１は会議サーバ１１とクライアント端末１３との通信にＸＭＰＰを用いている。クライアント端末１３から会議サーバ１１へのリクエスト（要求）は、図５〜図７に示しているようにＸＭＰＰのｉｑメッセージやｐｒｅｓｅｎｃｅメッセージで送られる。クライアント端末１３は、会議サーバ１１へのリクエストに対するレスポンス（応答）により情報を取得する。
【００４６】
図５は会議の作成、会議の編集、会議の削除におけるリクエストメッセージ及びレスポンスメッセージを表している。図６は会議情報の検索、会議の開催／参加におけるリクエストメッセージ及びレスポンスメッセージを表している。図７は会議の退出、資料ＵＲＬの取得、資料ＵＲＬの追加におけるリクエストメッセージ及びレスポンスメッセージを表している。
【００４７】
会議サーバ１１は図５〜図７に示したリクエストメッセージを受け取ることで、データベースサーバ１２の会議情報へ反映させる。また、会議サーバ１１は図５〜図７に示したレスポンスメッセージをクライアント端末１３に送信することで、情報をクライアント端末１３に送信する。
【００４８】
例えば会議の作成のリクエストメッセージにパスワードが含まれていれば、会議サーバ１１は会議情報にパスワードを設定する。会議情報にパスワードが設定された会議は会議の開催／参加のリクエストメッセージに正しいパスワードが含まれていなければ、前述したように開催／参加ができない。
【００４９】
例えば正しいパスワードが含まれる会議の開催のリクエストメッセージを受信することにより、会議サーバ１１はＸＭＰＰの会議室（ｒｏｏｍ）を作成する。ユーザのクライアント端末１３は作成された会議室に入室することで、会議に参加できる。
【００５０】
次に、会議システム１の会議開催時の処理について簡単に説明する。発表者はクライアント端末１３に対して、例えば表示ページの指定、図形の追加、図形の削除、手書きメモの更新、軌跡表示などのアクションを行う。
【００５１】
発表者のクライアント端末１３は発表者のアクションに対応したＸＭＰＰメッセージを作成し、そのＸＭＰＰメッセージを直接、又は、ＷＥＢサーバ１０を介して会議サーバ１１に送信する。
【００５２】
会議サーバ１１はグループチャットでＸＭＰＰメッセージを受信すると、そのグループチャットの会議室に入室しているすべてのユーザのクライアント端末１３に対して、ＸＭＰＰメッセージを送信する。クライアント端末１３は受信したＸＭＰＰメッセージを読み込み、そのＸＭＰＰメッセージに応じて後述のように画面表示を更新する。
【００５３】
図８はＸＭＰＰメッセージの一例の説明図である。図８ではＸＭＰＰメッセージの一例として表示ページ指定メッセージ、図形追加メッセージ、図形削除メッセージ、手書きメモ更新メッセージ、軌跡表示メッセージのデータフォーマットを表している。
【００５４】
ＸＭＰＰでのグループチャットは会議室（ｒｏｏｍ）という単位で行われる。グループチャットでＸＭＰＰメッセージを送信するときは、以下に示すように、ｍｅｓｓａｇｅタグのｔｙｐｅ属性にｇｒｏｕｐｃｈａｔを指定する。また、ｆｒｏｍ属性には送信者を指定する。ｔｏ属性には、会議室を指定する。ｂｏｄｙ属性には、メッセージの内容を指定する。
<message from="alice@wonderland.lit/rabithole"
to="teaparty@conference.wonderland.lit"
type="groupchat">
<body>March Hare: There's PLENTY of rooms!</body>
</message>
なお、ｍｅｓｓａｇｅタグは標準化された仕様なので詳細な説明を書略する。
【００５５】
本実施形態に係る会議システム１は、クライアント端末１３間で会議資料の表示ページや図形、手書きメモ、軌跡などの表示を同期させるために、ＸＭＰＰメッセージのｂｏｄｙタグに会議システム１で定義したＸＭＬデータを埋め込む。
【００５６】
このＸＭＬデータはルートにｃｏｎｆｅｒｅｎｃｅタグが用いられ、ｏｐｅｒａｔｉｏｎ属性で、ｕｐｄａｔｅ（更新）、ａｄｄ（追加）、ｄｅｌｅｔｅ（削除）などの値を指定する。
【００５７】
表示ページ指定メッセージは、会議で使用する資料（会議資料）が複数ページで構成される場合、その表示ページを共有するため、表示ページをｐａｇｅタグで指定する。
【００５８】
また、図形追加メッセージは、あるクライアント端末１３で追加された図形を共有するため、図形データをａｕｔｏｓｈａｐｅタグで指定する。ａｕｔｏｓｈａｐｅタグのｉｄ属性には識別子を示す。ｘ及びｙ属性には図形の左上の位置を示す。そして、ａｕｔｏｓｈａｐｅタグの中身はＳＶＧ（Scalable Vector Graphics）データを用いて、その図形を定義する。
【００５９】
なお、ＳＶＧはＸＭＬによって記述されたベクターグラフィック言語のことであり、Ｗ３Ｃ（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）でサイズが等しく、重なるように配置されている。例えば１番下のｉｍｇタグは会議資料の画像を表示する。２番目のｃａｎｖａｓタグは図形を描画する。３番目のｃａｎｖａｓタグは、手書きメモ及び軌跡を描画する。
【００９０】
「ＨＴＭＬ５」のｃａｎｖａｓタグはＪａｖａＳｃｒｉｐｔによって図形を描画することができるため、ＪａｖａＳｃｒｉｐｔのマウスイベントやタッチイベントにより手書きメモや軌跡の描画を簡単に実現できる。また、「ＨＴＭＬ５」のｃａｎｖａｓタグは直線や矩形、楕円などといった図形を描画し、それをｔｏＤａｔａＵＲＬコマンドでＳＶＧデータにすることもできる。
【００９１】
グループチャットによりＸＭＰＰメッセージを受信したとき、ＷＥＢブラウザ２１はＸＭＰＰメッセージを解析する。会議資料指定メッセージであれば、ＷＥＢブラウザ２１は会議資料のダウンロードを行い、１番下のｉｍｇタグに会議資料の１ページ目の画像を表示する。
【００９２】
表示ページ指定メッセージであれば、ＷＥＢブラウザ２１は指定された表示ページをｉｍｇタグに表示する。図形追加メッセージであれば、ＷＥＢブラウザ２１はＳＶＧデータで定義された図形を２番目のｃａｎｖａｓタグに描画する。また、図形削除メッセージであれば、ＷＥＢブラウザ２１は一致するｉｄ属性の図形を２番目のｃａｎｖａｓタグから削除する。手書きメモ更新メッセージであれば、ＷＥＢブラウザ２１はＩｎｋＭＬデータに従い、３番目のｃａｎｖａｓタグにトレースを描画する。
【００９３】
ＷＥＢブラウザ２１は軌跡表示メッセージであればＩｎｋＭＬデータに従い、３番目のｃａｎｖａｓタグにトレースを描画する。軌跡表示メッセージである場合、ＷＥＢブラウザ２１は軌跡の描画継続時間を経過した後で、軌跡の描画を削除する。
【００９４】
なお、図１０の画面から会議資料の指定、ページの選択、図形の追加及び削除、手書きメモの更新、軌跡の表示を行える権限を各ユーザに設定できるようにしてもよい。
【００９５】
さらに、あるクライアント端末１３Ａにおいて行われた手書きメモの描画によって他のクライアント端末１３Ｂの表示が更新される流れについて説明する。図１１は本実施形態に係る会議システムの表示更新の一例について説明するための説明図である。
【００９６】
ステップＳ２１において、ユーザは図１０に示すようなクライアント端末１３Ａの画面にマウスでトレースを描画することで手書きメモを描画する。クライアント端末１３ＡのＷＥＢブラウザ２１はユーザによるトレースの座標をあるサンプリング間隔で記録し、座標を直線で結ぶことで手書きメモの一つのトレースを描画する。
【００９７】
ステップＳ２２において、ＷＥＢブラウザ２１はユーザによるマウスのトレースの座標からＪａｖａＳｃｒｉｐｔによって手書きメモのＩｎｋＭＬデータを作成する。ステップＳ２３において、ＷＥＢブラウザ２１はステップＳ２２で作成したＩｎｋＭＬデータをＸＭＰＰメッセージに埋め込み、グループチャットで会議サーバ１１に送信する。
【００９８】
グループチャットでＸＭＰＰメッセージを受信すると、会議サーバ１１はステップＳ２４において、グループチャットの会議室に入室しているクライアント端末１３Ｂに対してＸＭＰＰメッセージを配信する。ステップＳ２５においてクライアント端末１３Ｂの専用ソフトウェア２２はＸＭＰＰメッセージに埋め込まれたＩｎｋＭＬデータを取り出す。専用ソフトウェア２２は取り出したＩｎｋＭＬデータに従い、クライアント端末１３Ａの画面にマウスで描画されたトレースと同様なトレースを描画できる。
【００９９】
図１１に示した手書きメモの場合は、ＸＭＰＰメッセージの送信を、ユーザがマウスのボタンを押したまま又は画面をタッチしたままで移動したトレースである１ストローク単位で行っている。一方、軌跡の場合はＸＭＰＰメッセージの送信を１ストローク単位で行うと、急に１ストロークの軌跡が描画され、描画継続時間後に１ストロークの軌跡全体が消えることになり、ユーザに唐突感を感じさせる恐れがある。
【０１００】
そこで、本実施形態では軌跡の場合に、ＸＭＰＰメッセージの送信を１ストローク単位で行わずに、いくつかの座標（例えば２〜３座標など）を１データとし、１データ単位で順次送信する。このようにすることで、ＸＭＰＰメッセージを受信した例えばクライアント端末１３Ｂは、１データ単位に軌跡を順次描画及び削除できる。本実施形態では、軌跡が１データ単位に順次描画され、描画の削除も描画継続時間が経過したデータ単位に行われるため、ユーザに唐突感を感じさせることを防げる。
【０１０１】
図１２は軌跡の１ストロークを分割して送信する例の説明図である。図１２では３つの座標を１データとしてＸＭＰＰメッセージで送信する例を示している。図１２に示しているように２番目以降の１データは一つ前の１データの最終点を開始点とすることで、受信した例えばクライアント端末１３Ｂで軌跡を表示するときに軌跡が切れないように描画することができる。
【０１０２】
図１３は本実施形態の会議システムにおける軌跡表示処理を表した一例のシーケンス図である。ステップＳ５１において、ユーザは図１０に示すようなクライアント端末１３Ａの画面にマウスでトレースを描画することで軌跡を描画する。クライアント端末１３ＡのＷＥＢブラウザ２１はユーザによるトレースの座標をあるサンプリング間隔で記録し、座標を直線で結ぶことで軌跡の一つのトレースを描画する。
【０１０３】
ステップＳ５２において、ＷＥＢブラウザ２１はユーザによるマウスのトレースの座標からＪａｖａＳｃｒｉｐｔによって軌跡のＩｎｋＭＬデータを作成する。ここで作成されるＩｎｋＭＬデータは前述したように１ストロークの軌跡を構成する座標のうち、いくつかの座標を１データとしたものである。したがって、ステップＳ５２以降の処理は１ストロークの軌跡を構成する座標をＩｎｋＭＬデータとしてクライアント端末１３Ｂに送信し終わるまで繰り返し行われる。
【０１０４】
ＷＥＢブラウザ２１は作成したＩｎｋＭＬデータを軌跡表示メッセージに埋め込み、グループチャットで会議サーバ１１を介してクライアント端末１３Ｂに送信する。ここでの会議サーバ１１の役割は、グループチャットの会議室に入室しているクライアント端末１３Ｂに対してＸＭＰＰメッセージを配信することである。
【０１０５】
ステップＳ５３において、クライアント端末１３Ｂの専用ソフトウェア２２は軌跡表示メッセージに埋め込まれたＩｎｋＭＬデータを取り出す。専用ソフトウェア２２は取り出したＩｎｋＭＬデータに従い、クライアント端末１３Ａの画面にマウスで描画された軌跡と同様な軌跡を描画できる。
【０１０６】
ステップＳ５４において、クライアント端末１３Ｂの専用ソフトウェア２２は軌跡表示メッセージのｄｕｒａｔｉｏｎ  ｔｉｍｅタグから描画継続時間を読み出し、描画継続時間のタイマをセットする。ステップＳ５５において、クライアント端末１３Ｂの専用ソフトウェア２２はタイマから描画継続時間の経過を知らせるイベントを通知される。クライアント端末１３Ｂの専用ソフトウェア２２はステップＳ５６において、描画されてから描画継続時間が経過した軌跡を削除する。
【０１０７】
図１４は本実施形態の会議システムにおける送信側のクライアント端末の軌跡表示処理を表した一例のシーケンス図である。ステップＳ１０１において、ユーザは送信側のクライアント端末１３Ａの画面にマウスでトレースを描画することで軌跡を描画する。
【０１０８】
クライアント端末１３ＡのＤＯＭ更新部５１ＡはステップＳ１０２において、ユーザによるトレースの描画をキャンパス描画部５３Ａに指示する。キャンパス描画部５３ＡはステップＳ１０３において、ユーザによるトレースの座標をあるサンプリング間隔で記録して直線で結ぶことで軌跡の一つのトレースを描画する。
【０１０９】
ステップＳ１０４において、キャンパス描画部５３Ａは軌跡のＩｎｋＭＬデータ作成指示をＩｎｋＭＬジェネレータ部５４Ａに対して行う。ＩｎｋＭＬジェネレータ部５４Ａはユーザによるマウスのトレースの座標から軌跡のＩｎｋＭＬデータを作成する。ステップＳ１０５において、ＩｎｋＭＬジェネレータ部５４Ａは作成したＩｎｋＭＬデータをＤＯＭ更新部５１Ａに渡す。
【０１１０】
ステップＳ１０６において、ＤＯＭ更新部５１ＡはＩｎｋＭＬデータが埋め込まれた軌跡表示メッセージを作成する。このとき作成される軌跡表示メッセージには前述のｄｕｒａｔｉｏｎ  ｔｉｍｅタグが含まれている。ステップＳ１０７において、ＤＯＭ更新部５１Ａは軌跡表示メッセージをＸＭＰＰ送受信部５２Ａに渡す。ステップＳ１０８においてＸＭＰＰ送受信部５２Ａは軌跡表示メッセージを、グループチャットで会議サーバ１１を介してクライアント端末１３Ｂに送信する。
【０１１１】
図１５は本実施形態の会議システムにおける受信側のクライアント端末の軌跡表示処理を表した一例のシーケンス図である。ステップＳ１２１において、受信側のクライアント端末１３ＢのＸＭＰＰ送受信部５２Ｂは軌跡表示メッセージを受信する。ステップＳ１２２において、ＸＭＰＰ送受信部５２Ｂは受信した軌跡表示メッセージをＤＯＭ更新部５１Ｂに渡す。
【０１１２】
ステップＳ１２３において、ＤＯＭ更新部５１Ｂは軌跡表示メッセージに埋め込まれたＩｎｋＭＬデータを取り出す。ＤＯＭ更新部５１Ｂは取り出したＩｎｋＭＬデータによる描画指示をキャンパス描画部５３Ｂに対して行う。ステップＳ１２４において、キャンパス描画部５３ＢはＩｎｋＭＬデータをＩｎｋＭＬデータパーサ部５５Ｂに渡す。ステップＳ１２５において、ＩｎｋＭＬパーサ部５５Ｂは渡されたＩｎｋＭＬデータをキャンパス描画部５３Ｂが解釈できるデータ構造に変換する。ステップＳ１２６において、ＩｎｋＭＬパーサ部５５Ｂは変換したデータをキャンパス描画部５３に返す。
【０１１３】
ステップＳ１２７において、キャンパス描画部５３ＢはＩｎｋＭＬパーサ部５５Ｂから返されたデータに従い、クライアント端末１３Ａの画面にマウスで描画された軌跡と同様な軌跡を描画できる。
【０１１４】
ステップＳ１２８において、クライアント端末１３ＢのＤＯＭ更新部５１Ｂは軌跡表示メッセージのｄｕｒａｔｉｏｎ  ｔｉｍｅタグから描画継続時間を読み出し、描画継続時間のタイマをセットする。ステップＳ１２９において、ＤＯＭ更新部５１Ｂはタイマから描画継続時間の経過を知らせるイベントを通知される。ＤＯＭ更新部５１ＢはステップＳ１３０において、キャンパス描画部５３Ｂに対して軌跡の削除指示を行う。ステップＳ１３１において、キャンパス描画部５３Ｂは軌跡を消す。このように、受信側のクライアント端末１３Ｂは描画されてから描画継続時間が経過した軌跡を削除する。
【０１１５】
＜まとめ＞
例えば会議資料を共有し、会議資料のページや手書きメモなどを同期してクライアント端末１３に表示する会議システム１では、本実施形態に掛かる軌跡表示メッセージを利用することで、描画継続時間が経過した後で自動的に消える手書き機能を提供する。本実施形態の会議システム１は軌跡表示メッセージを利用することで、発表者に手書き機能をポインタ機能として利用させることができる。また、本実施形態の会議システム１は手書きメモ更新メッセージを利用することで、発表者に手書き機能を手書きメモとして利用させることもできる。
【０１１６】
本実施形態の会議システムにおいて、発表者は手書き機能をポインタ機能又は手書きメモとして使い分けることができる。よって、発表者は消去せずに表示し続けたい手書きメモと自動的に表示を消したい軌跡との両方を容易に扱うことができる。したがって、本実施形態によれば、ユーザビリティを高めることができる。
【０１１７】
なお、本実施形態の軌跡表示メッセージは前述したように手書きメモメッセージにｄｕｒａｔｉｏｎ  ｔｉｍｅタグを追加することで実現するため、少ない変更でポインタ機能を実現可能である。
［第２の実施形態］
第１の実施形態の会議システム１は、手書きメモメッセージにｄｕｒａｔｉｏｎ  ｔｉｍｅタグを追加した軌跡表示メッセージを利用し、軌跡表示メッセージを受信したクライアント端末１３側が描画継続時間をカウント（計時）して軌跡の削除を行っていた。第２の実施形態の会議システム１では、軌跡表示メッセージを送信するクライアント端末１３側が描画継続時間をカウントして、描画継続時間の経過後に軌跡削除メッセージを送信するようにしている。
【０１１８】
なお、第２の実施形態は一部を除いて第１の実施形態と同様であるため、第１の実施形態と同様な部分について適宜説明を省略する。
【０１１９】
図１６は本実施形態の会議システムにおける軌跡表示処理を表した他の例のシーケンス図である。ステップＳ６１は図１３のステップＳ５１と同様である。ステップＳ６２において、ＷＥＢブラウザ２１はユーザによるマウスのトレースの座標からＪａｖａＳｃｒｉｐｔによって軌跡のＩｎｋＭＬデータを作成する。ここで作成されるＩｎｋＭＬデータは前述したように１ストロークの軌跡を構成する座標のうち、いくつかの座標を１データとしたものである。
【０１２０】
したがって、ステップＳ６２以降の処理は１ストロークの軌跡を構成する座標をＩｎｋＭＬデータとしてクライアント端末１３Ｂに送信し、後述の軌跡削除メッセージを送信し終わるまで繰り返し行われる。
【０１２１】
ＷＥＢブラウザ２１は作成したＩｎｋＭＬデータを軌跡表示メッセージに埋め込み、グループチャットで会議サーバ１１を介してクライアント端末１３Ｂに送信する。第２の実施形態で利用する軌跡表示メッセージは第１の実施形態におけるｄｕｒａｔｉｏｎ  ｔｉｍｅタグが追加されていない。つまり、第２の実施形態で利用する軌跡表示メッセージは手書きメモ更新メッセージと同様である。
【０１２２】
ステップＳ６３において、クライアント端末１３Ｂの専用ソフトウェア２２は軌跡表示メッセージに埋め込まれたＩｎｋＭＬデータを取り出す。専用ソフトウェア２２は取り出したＩｎｋＭＬデータに従い、クライアント端末１３Ａの画面にマウスで描画された軌跡と同様な軌跡を描画できる。
【０１２３】
一方、クライアント端末１３ＡのＷＥＢブラウザ２１はステップＳ６４において、描画継続時間のタイマをセットする。ステップＳ６５において、クライアント端末１３ＡのＷＥＢブラウザ２１はタイマから描画継続時間の経過を知らせるイベントを通知される。クライアント端末１３ＡのＷＥＢブラウザ２１はステップＳ６６において、描画されてから描画継続時間が経過した軌跡を削除するための軌跡削除メッセージをクライアント端末１３Ｂに送信する。軌跡削除メッセージは、例えばｏｐｅｒａｔｉｏｎ属性の値をｄｅｌｅｔｅで指定し、削除対象の軌跡をＩｎｋＭＬデータで指定する。そして、ステップＳ６７において、軌跡削除メッセージを受信したクライアント端末１３Ｂの専用ソフトウェア２２は描画されてから描画継続時間が経過した軌跡を削除する。
【０１２４】
＜まとめ＞
第２の実施形態の会議システム１では、軌跡表示メッセージにｄｕｒａｔｉｏｎ  ｔｉｍｅタグを追加しなくても、第１の実施形態と同様な効果を得ることができる。
【０１２５】
なお、本実施形態では会議資料のページや手書きメモなどを発表者のクライアント端末１３と同期させる共有モードと同期させないローカルモードとを切り替えるときの処理について記載していない。共有モードからローカルモードに切り替えた場合、表示されている軌跡は描画継続時間が経過するまで表示し続けてもよいし、切り替えと同時に軌跡を消す（経過前に削除する）ようにしてもよい。
【０１２６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば特許請求の範囲に記載した描画手段、送信手段は、キャンパス描画部５３、ＸＭＰＰ送受信部５２に対応する。作成手段は、ＤＯＭ更新部５１、ＩｎｋＭＬジェネレータ部５４に対応する。
【０１２７】
また、ＷＥＢサーバ１０、会議サーバ１１及びデータベースサーバ１２を有する会議システム１は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもないことである。
【符号の説明】
【０１２８】
１      会議システム
１０    ＷＥＢサーバ
１１    会議サーバ
１２    データベースサーバ
１３、１３Ａ、１３Ｂ    クライアント端末
２１    ＷＥＢブラウザ
２２    専用ソフトウェア
５１    ＤＯＭ更新部
５２    ＸＭＰＰ送受信部
５３    キャンパス描画部
５４    ＩｎｋＭＬジェネレータ部
５５    ＩｎｋＭＬパーサ部
１００    コンピュータ
１０１    入力装置
１０２    表示装置
１０３    外部Ｉ／Ｆ
１０３ａ    記録媒体
１０４    ＲＡＭ（Random Access Memory）
１０５    ＲＯＭ（Read Only Memory）
１０６    ＣＰＵ（Central Processing Unit）
１０７    通信Ｉ／Ｆ
１０８    ＨＤＤ（Hard Disk Drive）
Ｎ１    ネットワーク
【先行技術文献】
【特許文献】
【０１２９】
【特許文献１】特開２０１１−１４１８３５号公報
【図１】
2014225188.tif 000003
【図２】
2014225188.tif 000004
【図３】
2014225188.tif 000005
【図４】
2014225188.tif 000006
【図５】
2014225188.tif 000007
【図６】
2014225188.tif 000008
【図７】
2014225188.tif 000009
【図８】
2014225188.tif 000010
【図９】
2014225188.tif 000011
【図１２】
2014225188.tif 000012
【図１３】
2014225188.tif 000013
【図１４】
2014225188.tif 000014
【図１５】
2014225188.tif 000015
【図１６】
2014225188.tif 000016
【図１０】
2014225188.tif 000017
【図１１】
2014225188.tif 000018