(57)【要約】【課題】コンテンツの漏洩を抑制できる情報処理装置、プログラム及び会議システムを提供することを課題とする。【解決手段】会議に参加する複数のクライアント端末に、クライアント端末間で共有させるコンテンツを提供する情報処理装置であって、クライアント端末からのコンテンツの取得要求を受信するコンテンツ取得要求受信手段と、会議の開催中においては会議に参加するための情報であり、且つ、会議の開催中以外においてはコンテンツの提供が許可されているときにコンテンツを取得するための情報である第１の情報を用いて、クライアント端末からのコンテンツの取得要求に対するコンテンツの提供可否を判定するコンテンツ提供可否判定手段と、判定結果がコンテンツの提供可であるときに、コンテンツの取得要求元のクライアント端末にコンテンツを提供するコンテンツ提供手段とを有することにより、上記課題を解決する。【選択図】  図１
2014075116.tif 000002
【特許請求の範囲】
【請求項１】
会議に参加する複数のクライアント端末に、前記クライアント端末間で共有させるコンテンツを提供する情報処理装置であって、
前記クライアント端末からの前記コンテンツの取得要求を受信するコンテンツ取得要求受信手段と、
前記会議の開催中においては前記会議に参加するための情報であり、且つ、前記会議の開催中以外においては前記コンテンツの提供が許可されているときに前記コンテンツを取得するための情報である第１の情報を用いて、前記クライアント端末からの前記コンテンツの取得要求に対する前記コンテンツの提供可否を判定するコンテンツ提供可否判定手段と、
前記判定結果が前記コンテンツの提供可であるときに、前記コンテンツの取得要求元の前記クライアント端末に前記コンテンツを提供するコンテンツ提供手段と
を有する情報処理装置。
【請求項２】
前記コンテンツ提供可否判定手段は、
前記会議の開催中以外において、前記コンテンツの提供が許可されており、且つ、前記クライアント端末からの前記コンテンツの取得要求に前記第１の情報が含まれているときに、前記取得要求に対する前記コンテンツの提供可否を提供可と判定する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記コンテンツ提供可否判定手段は、
前記クライアント端末からの前記コンテンツの取得要求に前記第１の情報に加えて、前記第１の情報と異なる規定の第２の情報が含まれているときに、前記取得要求に対する前記コンテンツの提供可否を提供可と判定する
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記第２の情報はＨＴＴＰヘッダの規定の任意フィールドに設定されている規定の情報であることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記第２の情報はＨＴＴＰヘッダのＵｓｅｒ−Ａｇｅｎｔフィールドに設定されている規定の情報であることを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記コンテンツ提供可否判定手段は、
前記会議の開催中以外において、前記コンテンツの提供が許可されていなければ前記取得要求に対する前記コンテンツの提供可否を提供否と判定する
ことを特徴とする請求項１乃至５何れか一項記載の情報処理装置。
【請求項７】
前記コンテンツを所定単位に分割するデータ変換手段を更に有し、
前記コンテンツ提供手段は、前記判定結果が前記コンテンツの提供可であるときに、前記コンテンツの取得要求元の前記クライアント端末に、前記データ変換手段により分割された所定単位ごとの前記コンテンツを提供する
ことを特徴とする請求項１乃至６何れか一項記載の情報処理装置。
【請求項８】
会議に参加する複数のクライアント端末に、前記クライアント端末間で共有させるコンテンツを提供する情報処理装置を、
前記クライアント端末からの前記コンテンツの取得要求を受信するコンテンツ取得要求受信手段、
前記会議の開催中においては前記会議に参加するための情報であり、且つ、前記会議の開催中以外においては前記コンテンツの提供が許可されているときに前記コンテンツを取得するための情報である第１の情報を用いて、前記クライアント端末からの前記コンテンツの取得要求に対する前記コンテンツの提供可否を判定するコンテンツ提供可否判定手段、
前記判定結果が前記コンテンツの提供可であるときに、前記コンテンツの取得要求元の前記クライアント端末に前記コンテンツを提供するコンテンツ提供手段
として機能させるためのプログラム。
【請求項９】
会議に参加する複数のクライアント端末と、前記クライアント端末間で共有させるコンテンツを提供する一つ以上の情報処理装置とを有する会議システムであって、
前記クライアント端末からの前記コンテンツの取得要求を受信するコンテンツ取得要求受信手段と、
前記会議の開催中においては前記会議に参加するための情報であり、且つ、前記会議の開催中以外においては前記コンテンツの提供が許可されているときに前記コンテンツを取得するための情報である第１の情報を用いて、前記クライアント端末からの前記コンテンツの取得要求に対する前記コンテンツの提供可否を判定するコンテンツ提供可否判定手段と、
前記判定結果が前記コンテンツの提供可であるときに、前記コンテンツの取得要求元の前記クライアント端末に前記コンテンツを提供するコンテンツ提供手段と
を有する会議システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び会議システムに関する。
【背景技術】
【０００２】
参加者同士で資料を共用する電子会議システムは従来から知られている（例えば特許文献１参照）。
【０００３】
また、複数の携帯端末と、サーバとを備える資料提示システムであって、サーバが複数の携帯端末全てにダウンロードさせるダウンロード手段と、資料の提示終了時に複数の携帯端末全てに資料を破棄させる強制破棄手段とを備える資料提示システムは従来から知られている（例えば特許文献２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の会議システムでは、ユーザ認証を利用することで不特定のユーザへの会議資料などのコンテンツの漏洩を防止していた。しかしながら、ユーザ認証を利用する従来の会議システムは、ユーザ認証に用いる情報を事前に登録しておく必要があり、参加するユーザが予め決まっていない会議に利用できないという問題があった。
【０００５】
本発明の実施の形態は、上記の点に鑑みなされたもので、コンテンツの漏洩を抑制できる情報処理装置、プログラム及び会議システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本願請求項１は、会議に参加する複数のクライアント端末に、前記クライアント端末間で共有させるコンテンツを提供する情報処理装置であって、前記クライアント端末からの前記コンテンツの取得要求を受信するコンテンツ取得要求受信手段と、前記会議の開催中においては前記会議に参加するための情報であり、且つ、前記会議の開催中以外においては前記コンテンツの提供が許可されているときに前記コンテンツを取得するための情報である第１の情報を用いて、前記クライアント端末からの前記コンテンツの取得要求に対する前記コンテンツの提供可否を判定するコンテンツ提供可否判定手段と、前記判定結果が前記コンテンツの提供可であるときに、前記コンテンツの取得要求元の前記クライアント端末に前記コンテンツを提供するコンテンツ提供手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、コンテンツの漏洩を抑制できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る会議システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】ＸＭＰＰを使用する会議システムの一例の構成図である。
【図４】会議情報の一例の構成図である。
【図５】会議サーバに用意されている命令の一例の説明図である。
【図６】会議サーバに用意されている命令の一例の説明図である。
【図７】会議サーバに用意されている命令の一例の説明図である。
【図８】会議資料を提供する処理を行うＷＥＢサーバの一例の機能ブロック図である。
【図９】会議資料を取得する処理の一例のシーケンス図である。
【図１０】会議資料のダウンロードを許可するか不許可とするかのチェック処理の一例のフローチャートである。
【図１１】ＷＥＢサーバに用意されているサービスの一例の説明図である。
【図１２】ＸＭＰＰメッセージの一例の説明図である。
【図１３】ＸＭＰＰを使用する会議システムの他の例の構成図である。
【発明を実施するための形態】
【０００９】
次に、本発明の実施の形態について、詳細に説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る会議システムの一例の構成図である。図１の会議システム１はＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２、複数のクライアント端末１３が、ＬＡＮ（Local Area Network）などのネットワークＮ１に接続される構成を一例として示している。
【００１０】
ＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２はそれぞれが別々のコンピュータ上で動作するソフトウェアやサービスであってもよいし、１つのコンピュータ上で動作するソフトウェアやサービスであってもよい。また、ＷＥＢサーバ１０、会議サーバ１１、データベースサーバ１２は例えば所謂クラウドサービスの形態をとることもできる。
【００１１】
ＷＥＢサーバ１０は、ＨＴＭＬ文書やそれに付随するＣＳＳ（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>
会議資料に対する手書きメモは１つのＩｎｋＭＬデータで表現することとする。手書きメモを更新するときはｏｐｅｒａｔｉｏｎ属性の値をｕｐｄａｔｅで指定する。
【００９０】
＜まとめ＞
会議システム１は、会議を作成するときに「パスワード」と「会議資料のダウンロード許可」とを設定できる。会議システム１ではパスワードを知っていれば誰でも会議に参加できる。したがって、会議システム１はユーザ認証に用いる情報を事前に登録しておく必要がなく、参加するユーザが予め決まっていない会議にも利用できる。
【００９１】
また、会議システム１は会議資料のダウンロードを許可しない設定であれば、会議開催中以外における会議資料のダウンロードを許可しない。会議システム１は会議資料のダウンロードを許可する設定であれば、会議開催中以外であってもパスワードを知っていれば誰でも会議資料のダウンロードを許可する。
【００９２】
このような仕組みにより、会議システム１は例えば会議情報に集まってきたユーザにその場でパスワードを教えることで、会議情報に集まってきたユーザを会議に参加させることができる。ユーザ認証に用いる情報を事前に登録しておく必要がなく、かつ、会議に参加するパスワードを利用するため、会議システム１は参加するユーザが予め決まっていない会議であっても利用でき、セキュリティも確保できる。
【００９３】
また、会議システム１は会議開催中以外の会議資料のダウンロードを許可しない設定ができ、また、会議開催中以外の会議資料のダウンロードを許可する設定であっても、パスワードを知らなければ会議資料のダウンロードを許可しないため、会議資料の漏洩を抑制することができる。なお、会議システム１は会議開催中、パスワードを知っていれば会議資料のダウンロードを許可する。
【００９４】
本実施形態の会議システム１によれば、参加するユーザが予め決まっていない会議に利用することができると共に、会議資料の漏洩を抑制できる。
［第２の実施形態］
第１の実施形態の会議システム１は、ダウンロードした会議資料をクライアント端末１３に破棄させるものではないため、クライアント端末１３で会議資料が保存されることを防げない。そこで、第２の実施形態では会議資料そのものを保存できない、言い換えれば会議資料の保存に手間を掛けさせる仕組みを提供するものである。なお、第１の実施形態と同様な部分については適宜説明を省略する。
【００９５】
図１３はＸＭＰＰを使用する会議システムの他の例の構成図である。図１３の会議システム１Ａは図３の会議システム１にデータ変換サービス１４を追加している。データ変換サービス１４は例えばサーバにより実現してもよいし、ＷＥＢサーバ１０や会議サーバ１１の一機能として実現してもよい。データ変換サービス１４は例えば会議資料がＰＤＦ形式である場合、任意のページ（表示ページ）を画像データに変換する。
【００９６】
会議開催中、ＷＥＢサーバ１０はデータ変換サービス１４により変換された表示ページの画像データをクライアント端末１３に送信する。これにより、クライアント端末１３は表示ページの単位でしか会議資料を保存できない。しかも、ユーザは表示ページの単位で保存操作をする必要があり、大変手間が掛かる。
【００９７】
＜まとめ＞
第２の実施形態によれば、会議資料の保存に手間が掛かるので、クライアント端末１３で会議資料が保存されることを防ぐことができる。結果として、第２の実施形態の会議システム１Ａによれば、会議資料の漏洩を抑制できる。
【００９８】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば特許請求の範囲に記載したコンテンツ取得要求受信手段は会議資料取得要求受信部３３に相当する。コンテンツ提供可否判定手段は会議資料提供可否判定部３５に相当する。コンテンツ提供手段は会議資料提供部３６に相当する。
【００９９】
本実施形態では、ＷＥＢサーバ１０が、会議資料取得要求受信部３３、会議資料提供可否判定部３５、会議資料提供部３６を有する構成を説明したが、会議サーバ１１が有する構成であってもよい。
【０１００】
ＷＥＢサーバ１０、会議サーバ１１及びデータベースサーバ１２を有する会議システム１は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもないことである。
【符号の説明】
【０１０１】
１、１Ａ      会議システム
１０    ＷＥＢサーバ
１１    会議サーバ
１２    データベースサーバ
１３、１３Ａ、１３Ｂ    クライアント端末
１４    データ変換サービス
２１    ＷＥＢブラウザ
２２    専用ソフトウェア
３１    会議資料情報取得要求受付部
３２    会議資料情報提供部
３３    会議資料取得要求受信部
３４    会議情報読み出し部
３５    会議資料提供可否判定部
３６    会議資料提供部
１００    コンピュータ
１０１    入力装置
１０２    表示装置
１０３    外部Ｉ／Ｆ
１０３ａ    記録媒体
１０４    ＲＡＭ（Random Access Memory）
１０５    ＲＯＭ（Read Only Memory）
１０６    ＣＰＵ（Central Processing Unit）
１０７    通信Ｉ／Ｆ
１０８    ＨＤＤ（Hard Disk Drive）
Ｎ１    ネットワーク
【先行技術文献】
【特許文献】
【０１０２】
【特許文献１】特開２００５−２８４３４４号公報
【特許文献２】特開２０１２−１２３７３６号公報
【図１】
2014075116.tif 000003
【図２】
2014075116.tif 000004
【図３】
2014075116.tif 000005
【図４】
2014075116.tif 000006
【図５】
2014075116.tif 000007
【図６】
2014075116.tif 000008
【図７】
2014075116.tif 000009
【図８】
2014075116.tif 000010
【図９】
2014075116.tif 000011
【図１０】
2014075116.tif 000012
【図１１】
2014075116.tif 000013
【図１２】
2014075116.tif 000014
【図１３】
2014075116.tif 000015