(57)【要約】【課題】会議開催者の手間の軽減を図った会議サーバプログラムを提供する。【解決手段】会議に関連するデータを、会議に参加する各参加者に配信する。その後、データに対して処理を行うための制御コマンドを一参加者から受け取ると、制御コマンドを一参加者以外の参加者に配信し、配信した制御コマンドを、コマンドログとして保存する。そして、会議の各参加者の発言内容を、発言の時点においてコマンドログに保持されている最新の制御コマンドと関連づけて、発言ログ９０として保存する。【選択図】図１５
2007052801.tif 000002
【特許請求の範囲】
【請求項１】
電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
会議に関連するデータを、前記会議に参加する各参加者に配信し、
前記データに対して処理を行うための制御コマンドを一参加者から受け取ると、前記制御コマンドを前記一参加者以外の参加者に配信し、
配信した前記制御コマンドを、コマンドログとして保存し、
前記会議の各参加者の発言内容を、発言の時点において前記コマンドログに保持されている最新の制御コマンドと関連づけて、発言ログとして保存する、
処理を実行させることを特徴とする会議サーバプログラム。
【請求項２】
電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
少なくとも一人の参加者を指定した会議作成要求に応じて会議を開催し、
前記会議に関係する資料の指定入力を受け付け、前記指定入力で指定された資料を取得し、前記参加者それぞれに対して前記資料を配信する、
処理を実行させることを特徴とする会議サーバプログラム。
【請求項３】
電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
会議の参加者から、表情アイコンに関連づけられた表情識別子を受け取ると、前記参加者の名前と前記表情識別子とを対応付けて、他の参加者に配信し、
前記参加者から、前記表情識別子に対応する画像データの配信要求を受け取ると、前記他の参加者に対して、前記画像データ受け取り許否の判断を要求し、
前記参加者から前記画像データを受け取り、前記画像データの受け取りを許諾した前記他の参加者に対してのみ、前記画像データを配信する、
処理を実行させることを特徴とする会議サーバプログラム。
【請求項４】
電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
少なくとも一人の参加者を指定した会議作成要求に応じて会議を開催し、
あらかじめ指定された前記参加者以外の者に前記会議の内容を公開し、
前記参加者のみ前記会議での発言を可能とする、
処理を実行させることを特徴とする会議サーバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子会議の会議室を管理するための会議サーバプログラムに関し、特に会議開催者の手間を削減した会議サーバプログラムに関する。
【背景技術】
【０００２】
現在、機械図面の作成において、３次元ＣＡＤ(Computer-Aided Design)が使用されることが多くなっている。また、複雑な機械の設計作業は、複数の作業者によって手分けして行われる場合が増えつつある。この場合、各作業者は、３次元ＣＡＤを用いて協働作業をする必要が生じる。
【０００３】
たとえば、サブアセンブリを設計する各作業者が、全体のアセンブリ構成の責任者と異なる設計拠点に所在していることもある。このように、複数の作業者が互いに異なる拠点にいる場合、各作業者間での情報交換を如何にスムーズに行うかによって、作業効率が大きく変わってくる。
【０００４】
そこで、複数の作業者の各々の端末装置（クライアント）をネットワークで接続し、それぞれの端末装置に同じ３次元モデルを表示できるようにしたコラボレーションシステムが用いられている。コラボレーションシステムでは、複数のクライアントで同じ画像を見ながらチャット機能などにより意見交換を行うことができる。これにより、異なる設計拠点の作業者が、同じ３次元モデルを見ながら設計レビューを行うことができ、協働作業の作業効率が向上する。
【０００５】
コラボレーションシステムを用いて設計レビューを行うには、まず、どこかのサーバに、会議室（発言等を登録するための記憶領域）を開設しなければならない。一般的には、特定のサーバ上にあらかじめ会議室が設けられており、そのサーバ上で会議室の予約管理が行われる。予約管理が行われることで、会議室の予約の重複を防止している。そして、あらかじめ予約された会議室に、その会議の各参加メンバーが自己のクライアントを接続することで、会議体が構成される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、会議室を開設可能なサーバが複数あった場合には、会議室を開設すべきサーバをユーザ（会議の開催者）が任意に選択しなければならない。会議室を開設するサーバの選択をユーザが行うには、会議室を開設可能なサーバの場所を、ユーザが認識していなければならない。また、会議室の参加メンバーは、会議の開催者が一人ずつ入力して指定しなければならない。このように、既存のコラボレーションシステムでは、ユーザにかかる負担が大きかった。
【０００７】
本発明はこのような点に鑑みてなされたものであり、会議開催者の手間の軽減を図った会議サーバプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、第１の発明として、電子会議の会議室を管理するための会議サーバプログラムにおいて、以下の処理をコンピュータに実行させる会議サーバプログラムが提供される。すなわち、第１の発明に係る会議サーバプログラムを実行するコンピュータは、会議に関連するデータを、前記会議に参加する各参加者に配信し、前記データに対して処理を行うための制御コマンドを一参加者から受け取ると、前記制御コマンドを前記一参加者以外の参加者に配信し、配信した前記制御コマンドを、コマンドログとして保存し、前記会議の各参加者の発言内容を、発言の時点において前記コマンドログに保持されている最新の制御コマンドと関連づけて、発言ログとして保存する処理を実行する。
【０００９】
これにより、制御コマンドと発言内容とが関連づけて保存される。したがって、会議終了後において、発言があったときの会議に関連するデータの状態を再現することが可能となる。その結果、開催した会議を回顧することが容易となり、会議開催者の負担が軽減される。
【００１０】
また、上記課題を解決するための第２の発明では、電子会議の会議室を管理するための会議サーバプログラムにおいて、以下の処理をコンピュータに実行させる会議サーバプログラムが提供される。すなわち、第２の発明に係る会議サーバプログラムを実行するコンピュータは、少なくとも一人の参加者を指定した会議作成要求に応じて会議を開催し、前記会議に関係する資料の指定入力を受け付け、前記指定入力で指定された資料を取得し、前記参加者それぞれに対して前記資料を配信する処理を実行する。
【００１１】
これにより、会議に関係する資料を指定しておくと、会議サーバプログラムを実行するコンピュータにより指定された資料が取得され、参加者に対して配信される。これにより、会議の開催者等が、各参加者宛に資料を配付する手間が省ける。
【００１２】
また、上記課題を解決するための第３の発明では、電子会議の会議室を管理するための会議サーバプログラムにおいて、以下の処理をコンピュータに実行させる会議サーバプログラムが提供される。すなわち、第３の発明に係る会議サーバプログラムを実行するコンピュータは、会議の参加者から、表情アイコンに関連づけられた表情識別子を受け取ると、前記参加者の名前と前記表情識別子とを対応付けて、他の参加者に配信し、前記参加者から、前記表情識別子に対応する画像データの配信要求を受け取ると、前記他の参加者に対して、前記画像データ受け取り許否の判断を要求し、前記参加者から前記画像データを受け取り、前記画像データの受け取りを許諾した前記他の参加者に対してのみ、前記画像データを配信する処理を実行する。
【００１３】
これにより、画像データの受け取りを許諾した参加者は、表情識別子に対応付けられた画像データを表示させることができ、画像データの受け取りを拒否した参加者は、表情識別子に対応付けられた表情アイコンを表示させることができる。その結果、各参加者は、自己のクライアントの処理能力等に応じて任意に画像データを受け取ることができ、強制的に画像データを配信されることによる処理負荷の増大化を防止することができる。すなわち、画像データを送信する際に、他の参加者の操作するクライアントの処理能力を把握しておく必要がなくなり、参加者の負担が軽減される。
【００１４】
また、上記課題を解決するための第４の発明では、電子会議の会議室を管理するための会議サーバプログラムにおいて、以下の処理をコンピュータに実行させる会議サーバプログラムが提供される。すなわち、第４の発明に係る会議サーバプログラムを実行するコンピュータは、少なくとも一人の参加者を指定した会議作成要求に応じて会議を開催し、あらかじめ指定された前記参加者以外の者に前記会議の内容を公開し、前記参加者のみ前記会議での発言を可能とする処理を実行する。
【００１５】
これにより、会議の参加者以外の者も会議の内容を参照可能となる。その結果、会議に参加できないが会議の議題に関係する者に、会議の内容を通知する手間が省ける。
【発明の効果】
【００１６】
第１の発明では、会議の各参加者の発言内容を、発言の時点においてコマンドログに保持されている最新の制御コマンドと関連づけて保存するようにしたため、会議終了後において、発言があったときの会議に関連するデータの状態を再現することが可能となる。その結果、開催した会議を回顧することが容易となり、参加者の負担が軽減される。
【００１７】
また、第２の発明では、会議サーバが、あらかじめ指定された資料を参加者に対して配信するようにしたため、会議の開催者等が、各参加者宛に資料を配付する手間が省ける。
また、第３の発明では、参加者から受け取った画像データを、その画像データの受け取りを許諾した他の参加者に対してのみ配信するようにしたため、各参加者は、自己のクライアントの処理能力等に応じて任意に画像データを受け取ることができ、強制的に画像データを配信されることによる処理負荷の増大化を防止することができる。すなわち、画像データを送信する際に、他の参加者の操作するクライアントの処理能力を把握しておく必要がなくなり、参加者の負担が軽減される。
【００１８】
また、第４の発明では、あらかじめ指定された参加者以外の者に会議の内容を公開しながらも、参加者のみ会議で発言できるようにしたため、会議の参加者以外の者も会議の内容を参照可能となる。その結果、会議に参加できないが会議の議題に関係する者に、会議の内容を通知する手間が省ける。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明に関連する技術の原理構成図である。図１に示すように、会議サーバプログラムは、ツリー構造のネットワークの一部を構成するコンピュータ上で動作する。これより、コンピュータが会議サーバ１として機能する。会議サーバ１では、構造認識手段１ａが上位サーバ３の所在を認識している。クライアント２から、１以上の参加者を指定した会議作成要求を受け取ると、判断手段１ｂが、参加者の全てが自己の管理下のユーザか否かを判断する。自己の管理下のユーザとは、たとえば、会議サーバ１でユーザアカウント管理を行っているユーザと、会議サーバ１より下位の構造の各会議サーバでユーザアカウント管理を行っているユーザとである。
【００２０】
参加者の全てが自己の管理下のユーザであれば、実行手段１ｃが、会議作成要求に応じて会議開催処理を実行する。会議開催処理とは、たとえば、会議室を生成し会議を即時開催する処理や、会議の予約登録を行い、予約時間になったら会議室を生成し会議を開催する処理である。
【００２１】
参加者の少なくとも一人が自己の管理下のユーザではない場合には、転送手段１ｄが、ツリー構造における上位サーバ３に、会議作成要求を転送する。
これにより、会議サーバ１が、会議作成要求で指定された参加者の全てを管理している場合にのみ、会議サーバ１で会議開催処理が行われる。会議サーバ１の管理下にない参加者が含まれる場合には、上位サーバ３に会議作成要求が転送される。この結果、会議の参加者に応じた会議サーバが会議の開催場所として自動的に決定され、会議開催者が会議サーバを指定する手間が省ける。
【００２２】
以上の機能は、本発明に係るプログラムをコンピュータに実行させることで実現することが出来る。以下に、複数の拠点の複数の作業者によって、３次元ＣＡＤを用いた部品設計の協働作業を行う場合の例を用いて、本発明の実施の形態に係るコラボレーションシステムを説明する。
【００２３】
図２は、本実施の形態に係るコラボレーションシステムのネットワーク構成を示す概念図である。図２に示すように、Ａ社では、Ａ社第１拠点１００、Ａ社第２拠点２００およびＡ社第３拠点３００に個別の部門が設けられている。この例では、Ａ社第１拠点１００は、設計部門である。Ａ社第２拠点２００は、生産部門である。Ａ社第３拠点３００は、ネットワーク管理部門である。また、この例では、外部の協力会社であるＢ社４００やＣ社５００と協働して設計作業を行うものとする。
【００２４】
本実施の形態の会議サーバ同士は、ツリー構造を有している。図２の例では。Ａ社第３拠点３００に配置された会議サーバ３１０が最上位のサーバである。会議サーバ３１０の直下に、Ａ社第１拠点１００に配置された会議サーバ１１０、Ａ社第２拠点２００に配置された会議サーバ２１０、Ｂ社４００に配置された会議サーバ４１０、およびＣ社５００に配置された会議サーバ５１０が接続されている。会議サーバ１１０の直下には、会議サーバ１３０，１４０が接続されている。会議サーバ２１０の直下には、会議サーバ２２０，２３０が接続されている。
【００２５】
また、Ａ社第１拠点１００の会議サーバ１１０には、ＣＡＤデータベースサーバ１２０が接続されている。会議サーバ１３０には、クライアントコンピュータ（クライアント）１５０，１６０が接続されている。会議サーバ１４０には、クライアント１７０が接続されている。Ａ社第２拠点の会議サーバ２２０には、クライアント２４０，２５０が接続されている。また、会議サーバ２３０には、クライアント２６０が接続されている。Ｂ社４００の会議サーバ４１０には、クライアント４２０，４３０が接続されている。さらにＣ社５００の会議サーバ５１０には、クライアント５２０，５３０が接続されている。
【００２６】
なお、拠点毎のネットワークは、たとえばファイアウォールにより、外部からのアクセスに対する制限を行っている。また、会議サーバ同士のツリー構造は論理的な構造であり、サーバ間の物理的な接続関係には依存しない。すなわち、サーバ間の物理的接続関係とツリー構造の上下関係とが、必ずしも一致している必要はない。たとえば、図２に示す会議サーバ１３０を、ツリー構造上では、会議サーバ３１０の直下になるように設定することもできる。ただし、図２の例では、説明を簡単にするために、会議サーバ同士の物理的接続関係とツリー構造における上下関係とを一致させている。
【００２７】
図３は、本実施の形態に係る会議サーバのハードウェア構成の一例を示す図である。会議サーバ１１０は、ＣＰＵ１１１によって装置全体が制御されている。ＣＰＵ１１１には、バス１１７を介してＲＡＭ１１２、ハードディスク装置（ＨＤＤ）１１３、グラフィック処理装置１１４、入力インタフェース１１５、および通信インタフェース１１６が接続されている。
【００２８】
ＲＡＭ１１２には、ＣＰＵ１１１に実行させるＯＳ(Operating System)やＣＡＤプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１１２には、ＣＰＵ１１１による処理に必要な各種データが格納される。ＨＤＤ１１３には、ＯＳやＣＡＤのプログラムが格納される。また、ＨＤＤ１１３には、ＣＡＤデータが格納される。
【００２９】
グラフィック処理装置１１４には、モニタ１１０ａが接続されている。グラフィック処理装置１１４は、ＣＰＵ１１１からの命令に従って、ＣＡＤ図面等の画像をモニタ１１０ａの画面に表示させる。入力インタフェース１１５には、キーボード１１０ｂとマウス１１０ｃとが接続されている。入力インタフェース１１５は、キーボード１１０ｂやマウス１１０ｃから送られてくる信号を、バス１１７を介してＣＰＵ１１１に送信する。
【００３０】
通信インタフェース１１６は、ネットワーク１０１に接続されている。ネットワーク１０１は、たとえばインターネットのような広域ネットワークである。通信インタフェース１１６は、ネットワーク１０１を介して、他のコンピュータとの間でデータの送受信を行う。
【００３１】
なお、Ａ社第１拠点に設置された会議サーバ１１０の構成を代表で説明したが、図２に示した他の会議サーバやクライアントも同様のハードウェア構成である。ただし、会議サーバのＨＤＤとクライアントのＨＤＤとには、それぞれコラボレーションシステムを運用させるのに必要なデータが格納される。
【００３２】
会議サーバ１１０のＨＤＤ１１３内には、上下サーバデータ、ユーザデータ、会議情報ファイル、および会議関連データ等が保持されている。上下サーバデータは、ツリー構造において会議サーバのすぐ上に位置する会議サーバのサーバ名と、直下に位置するサーバ名とが登録されたデータである。ユーザデータは、会議サーバでアカウント管理をしているユーザの情報が登録されたデータである。ユーザの情報とは、ユーザ名や電子メールアドレスなどである。会議情報ファイルは、作成された会議室の予約情報が登録されたデータである。会議室の予約情報は、会議の名称、参加者、開催日時等に関する情報である。会議関連データは、開催中の会議や、既に終了した会議のログデータ（履歴情報）等である。ログデータとしては、参加者の発言ログ（発言内容の履歴情報）や、３次元ＣＡＤのビューアを制御した際のコマンドログ（制御コマンドの履歴情報）などがある。
【００３３】
クライアント１５０のＨＤＤには、表情アイコンテーブル等が格納される。表情アイコンテーブルには、表情アイコンが、識別子（ＩＤ）に対応付けて格納されている。
以上のようなデータを有する会議サーバおよびクライアントに、本実施の形態に係るプログラムを実行させることで、コラボレーションシステムの処理機能が実現される。ユーザからコラボレーションシステムに対する操作は、クライアントを介して行われる。たとえば、クライアントにおいて会議参加用のユーザインタフェースを起動すると、会議管理画面が表示される。
【００３４】
図４は、会議管理画面の一例を示す図である。会議管理画面１０には、メニューバー１１、複数のコマンドボタン１２ａ〜１２ｈおよび会議一覧表示部１３が設けられている。メニューバー１１には、「アクション」メニュー、「編集」メニュー、「会議」メニュー、「表示」メニュー、「オプション」メニュー、「ツール」メニューおよび「ヘルプ」メニューの各メニューのタイトルが表示されている。メニューのタイトルが選択されると、様々なコマンドを含むプルダウンメニューが表示される。
【００３５】
「会議作成」のコマンドボタン１２ａは、会議に必要な会議情報ファイルを作成するためのボタンである。「即時開催」のコマンドボタン１２ｂは、すぐに会議を開催するためのボタンである。これらのコマンドボタン１２ａ，１２ｂに対応するコマンドは、メニューバー１１の「アクション」メニューに含まれている。
【００３６】
「内容変更」のコマンドボタン１２ｃは、会議情報を変更するためのボタンである。「削除」のコマンドボタン１２ｄは、会議を削除するためのボタンである。これらのコマンドボタン１２ｃ，１２ｄに対応するコマンドは、メニューバー１１の「編集」メニューに含まれている。
【００３７】
「開催」のコマンドボタン１２ｅは、未開催の会議を開催するためのボタンである。「参加」のコマンドボタン１２ｆは、開催中の会議に参加するためのボタンである。「資料取得」のコマンドボタン１２ｇは、会議に登録されている資料を取得するためのボタンである。「資料管理」のコマンドボタン１２ｈは、サーバに資料を登録するためのボタンである。これらのコマンドボタン１２ｅ〜１２ｈに対応するコマンドは、メニューバー１１の「会議」メニューに含まれている。
【００３８】
会議一覧表示部１３には、コラボレーションシステムのいずれかの会議サーバに登録されている会議のリストが表示される。図４の例では、会議名、状態、予定日時、および概要が表示されている。会議名は、登録されている会議の名称である。状態は、登録されている会議の現在の状態を表している。たとえば、開催している会議には、「開催中」と表示される。予定日時は、会議の開始予定日時である。概要は、会議の内容等に関する任意のコメントである。
【００３９】
ユーザが会議管理画面１０より入力を行うことで、会議作成等の処理を会議サーバに実行させることができる。以下に、本実施の形態におけるコラボレーションシステムによる各種処理内容について説明する。
【００４０】
［会議作成処理］
会議作成処理について説明する。たとえば、コラボレーションシステムにより設計会議を開く場合、まず会議作成が行われる。会議を作成する場合、会議を主催するユーザは、クライアントを操作して、会議作成画面を表示させる。たとえば、図４に示した会議管理画面１０の「会議作成」のコマンドボタン１２ａを押すことで会議作成画面を表示させることができる。
【００４１】
図５は、会議作成画面の一例を示す図である。会議作成画面２０には、会議名設定欄２１、開催日時設定欄２２、会議サーバ表示部２３、公開レベル設定欄２４、およびコメント設定欄２５が設けられている。
【００４２】
会議名設定欄２１は、作成する会議の名称を設定するためのものである。会議の名称は、開催者が任意に設定できる。開催日時設定欄２２は、会議を開催する日時を設定するためのものである。開催日時設定欄２２は、日付の設定欄と時刻の設定欄とに分かれている。日付の設定欄には、開催日の年月日が設定され、時刻の設定欄には、開催時刻が設定される。会議サーバ表示部２３に、会議が開催される会議サーバの名称が表示される。なお、会議を作成する段階では、会議が開催される会議サーバが確定していないため、会議サーバ表示部２３にはなにも表示されないか、仮のサーバ名が表示される。
【００４３】
公開レベル設定欄２４は、作成する会議の公開レベルを設定するためのものである。公開レベルは、たとえば「参加者のみ」、「内部公開」および「全公開」が用意される。「参加者のみ」は、会議に登録されている参加者に対してのみ公開される。「内部公開」は、会議が開催される会議サーバに登録されているユーザ、およびその会議サーバの下の構造に位置するサーバに登録されているユーザにのみ公開される。「全公開」は、任意のクライアントに対して公開される。コメント設定欄２５には、会議を作成するユーザが任意のコメントを登録することができる。
【００４４】
また、会議作成画面２０には、参加者を指定するための、参加者リストの表示部２６、参加者の追加ボタン２６ａ、参加者の削除ボタン２６ｂ、およびアドレス帳呼出ボタン２６ｃが設けられている。
【００４５】
参加者リストの表示部２６には、参加者のリストが表示される。リストには、各参加者の電子メールアドレス(Email)、名前、所属、プロフィールが表示される。追加ボタン２６ａは、参加者を追加するためのボタンである。追加ボタン２６ａが押されると、ユーザの電子メールアドレス入力画面が表示される。その画面で、参加者として指定するユーザの電子メールアドレスを入力すると、入力された電子メールアドレスに対応するユーザが、参加者として参加者リストに追加される。参加者の削除ボタン２６ｂは、参加者リストに登録されている参加者を、参加者リストから削除するためのボタンである。参加者リストの表示部２６の中から１以上の参加者を選択して削除ボタン２６ｂが押されると、選択された参加者が参加者リストから削除される。アドレス帳呼出ボタン２６ｃは、クライアントのメーラ（電子メール送受信機能）用に設定されているアドレス帳を参照して、参加者を登録するためのボタンである。アドレス帳呼出ボタン２６ｃが押されると、アドレス帳が表示される。アドレス帳には、他のユーザの電子メールアドレスのリストが含まれる。アドレス帳から任意のユーザが選択されると、そのユーザが参加者として登録される。
【００４６】
また、会議作成画面２０には、会議に必要な資料を登録するために、資料リスト表示部２７、資料の追加ボタン２７ａおよび資料の削除ボタン２７ｂが設けられている。
資料リスト表示部２７は、会議に必要な資料のリストが表示される。この例では、ファイル名と登録者（登録者の名前）とが表示されている。資料の追加ボタン２７ａは、資料を追加するためのボタンである。追加ボタン２７ａが押されると、資料管理画面が表示される。資料管理画面には、たとえば、会議サーバにあらかじめ登録されているファイルの一覧が表示される。一覧の中から任意のファイルが選択されると、選択されたファイルが資料リストに追加される。資料の削除ボタン２７ｂは、資料リストに登録されている資料を削除するためのボタンである。資料リスト表示部２７の中から１以上のファイルを選択して削除ボタン２７ｂが押されると、選択されたファイルが削除される。
【００４７】
また、会議作成画面２０には、会議に利用するアプリケーションを選択するためのビューア設定欄２８が設けられている。会議が開催されると、ビューア設定欄２８で指定されたビューアが、各参加者のクライアントで起動される。
【００４８】
さらに、会議作成画面２０には、入力内容の会議サーバへの送信等を行うために、新規登録ボタン２９ａ、更新ボタン２９ｂ、およびキャンセルボタン２９ｃが設けられている。
【００４９】
新規登録ボタン２９ａは、会議作成画面２０に設定された内容の会議を、新規で作成するためのボタンである。新規登録ボタン２９ａが押されると会議作成要求が出力され、新たな会議が、いずれかの会議サーバに予約登録される。更新ボタン２９ｂは、既に登録されている会議の内容を変更する場合に用いられるボタンである。更新ボタン２９ｂが押されると、既に登録されている会議の内容が、会議作成画面２０に設定されている内容に変更される。キャンセルボタン２９ｃが押されると、会議の登録等の処理が行われずに、会議作成画面２０が閉じられる。
【００５０】
なお、図５に示した会議作成画面２０は、会議をあらかじめ予約登録する場合に用いられる。会議を即時開催する場合には、開催時刻等を省略した入力を行うことで、会議を開催させることができる。会議を即時開催する際の会議情報の入力は、たとえば会議情報入力画面上で行う。会議情報入力画面は、たとえば、図４に示した「即時開催」のコマンドボタン１２ｂを押すことで、表示させることができる。
【００５１】
図６は、即時開催用の会議情報入力画面の一例を示す図である。図６に示す会議情報入力画面３０には、会議名設定欄３１、ビューア設定欄３２、指定相手先リスト表示部３３、指定相手先の追加ボタン３４、指定相手先の削除ボタン３５、アドレス帳呼出ボタン３６、ＯＫボタン３７およびキャンセルボタン３８が設けられている。
【００５２】
会議名設定欄３１には、任意の会議名を設定することができる。ビューア設定欄３２は、会議中に使用するビューアを設定するためのものである。会議が開催されると、ビューア設定欄３２に設定されたビューアが、各参加者の使用するクライアントにおいて起動される。指定相手先リスト表示部３３には、参加者として指定された相手が表示される。たとえば、指定された相手の電子メールアドレスや名前が表示される。
【００５３】
指定相手先の追加ボタン３４は、参加者を追加するためのボタンである。追加ボタン３４が押されると、ユーザの電子メールアドレス入力画面が表示される。その画面で、参加者として指定するユーザの電子メールアドレスを入力すると、入力された電子メールアドレスに対応するユーザが、参加者の指定相手として指定相手先リストに追加される。指定相手先の削除ボタン３５は、指定相手先リストに登録されているユーザを、指定相手先リストから削除するためのボタンである。指定相手先リスト表示部３３の中から１以上のユーザを選択して削除ボタン３５が押されると、選択されたユーザが指定相手先リストから削除される。アドレス帳呼出ボタン３６は、クライアントのメーラ（電子メール送受信機能）用に設定されているアドレス帳を参照して、指定相手先を登録するためのボタンである。アドレス帳呼出ボタン３６が押されると、アドレス帳が表示される。アドレス帳には、他のユーザの電子メールアドレスのリストが含まれる。アドレス帳から任意のユーザが選択されると、そのユーザが指定相手先として登録される。
【００５４】
ＯＫボタン３７は、会議情報入力画面３０に設定された内容で、会議を即時開催するためのボタンである。ＯＫボタン３７が押されると、会議情報入力画面３０に設定された内容に基づいた会議作成要求が、会議サーバに出力される。キャンセルボタン３８が押されると、会議の登録等の処理が行われずに、会議作成画面２０が閉じられる。
【００５５】
会議作成画面２０、もしくは会議情報入力画面３０において所定の入力が行われると、クライアントから会議サーバへ会議作成要求が渡される。そして、いずれかの会議サーバにおいて会議情報ファイルが登録される。
【００５６】
図７は、会議作成処理を示す図である。以下、図７の処理をステップ番号に沿って説明する。
［ステップＳ１１］クライアントは、会議作成画面を表示する。
【００５７】
［ステップＳ１２］クライアントは、ユーザからの会議情報の入力を受け付ける。
［ステップＳ１３］クライアントは、会議作成要求を、直接接続されている会議サーバに対して送信する。
【００５８】
［ステップＳ１４］会議サーバは、クライアントから送られた会議作成要求の許否を判断する。会議作成要求の受け入れる（許諾する）ためには、指定されている参加者全員が、会議サーバのユーザもしくは、下位の会議サーバのユーザのいずれかでなければならない。この条件を満たしていれば、会議サーバは、会議作成要求を受け入れる。そうでなければ、会議サーバは、会議作成要求を受け入れない。
【００５９】
［ステップＳ１５］会議サーバは、会議作成要求を受け入れる場合には、会議開催処理を行う。すなわち、会議の開催時点が将来であれば、会議サーバは、会議作成要求に応じた情報を会議情報ファイルに登録することで、会議の開催を予約する。即時開催であれば、会議サーバは、すぐに会議室を生成し、会議を開催する。
【００６０】
［ステップＳ１６］会議サーバは、会議作成要求を受け入れない場合には、ツリー構造上での上位の会議サーバに、会議作成要求を転送する。会議作成要求が転送された場合には、上位の会議サーバにおいて、ステップＳ１４〜ステップＳ１６の処理と同様の処理が繰り返し実行される。会議作成要求が次々と転送された場合、最終的には、最上位の会議サーバに会議作成要求が転送される。
【００６１】
［ステップＳ１７］最上位の会議サーバは、会議作成要求を受け取ると、要求許否を判断する。会議作成要求の設定内容に不正等がなければ、最上位の会議サーバで、会議作成要求が受理される。
【００６２】
［ステップＳ１８］最上位の会議サーバは、会議開催処理を行う。すなわち、最上位の会議サーバは、会議作成要求に応じた情報を会議情報ファイルに登録して、会議の予約登録を行うか、すぐに会議室を生成し、会議を即時開催する。
【００６３】
このように、会議作成要求が出された場合、ツリー構造における下位に位置する会議サーバから順に、要求に応じた会議の作成の許否が判断される。したがって、同じ拠点内の参加者のみによる会議であれば、その拠点に設置された会議サーバに会議が作成される。また、外部の拠点のユーザを交えた会議であれば、たとえば最上位の会議サーバに会議が作成される。
【００６４】
次に、会議サーバにおける会議作成処理の詳細について説明する。
図８は、会議作成処理のフローチャートである。以下に、図８の各処理をステップ番号に沿って説明する。
【００６５】
［ステップＳ２１］会議サーバは、会議作成要求を受信する。
［ステップＳ２２］会議サーバは、会議作成要求における公開レベルが、完全公開か否かを判断する。完全公開であれば、処理をステップＳ２３に進め、そうでなければ処理をステップＳ２４に進める。
【００６６】
［ステップＳ２３］会議サーバは、上位の会議サーバが存在するか否かを判断する。上位の会議サーバが存在すれば、処理をステップＳ２７に進める。上位の会議サーバが存在しなければ、自分自身が最上位の会議サーバであると判断し、処理をステップＳ２８に進める。
【００６７】
［ステップＳ２４］会議サーバは、会議作成要求に含まれる参加者リストを取得する。
［ステップＳ２５］会議サーバは、管理下にあるユーザのリストと参加者リストとを照合する。管理下にあるユーザとは、会議作成要求を受け取った会議サーバに登録されているユーザと、その会議サーバよりも下位に位置する会議サーバに登録されているユーザとを指している。すなわち、会議サーバは、自己の管理するユーザデータを参照するとともに、ツリー構造において下位に位置する各会議サーバのユーザデータを参照する。
【００６８】
［ステップＳ２６］会議サーバは、参加者リストの中に、管理外の参加者がいるか否かを判断する。すなわち、参加者リストに設定されている各ユーザが、参照したユーザデータに含まれているか否かが判断される。参加者リストに設定されている全てのユーザが、参照したユーザデータに含まれていれば、管理外の参加者がいないと判断される。また、参加者リストに設定されているユーザの中で、参照したユーザデータに含まれていないユーザが一人でもいれば、管理外の参加者がいると判断される。管理外の参加者がいる場合には、処理がステップＳ２７に進められる。管理外の参加者がいない場合には、処理がステップＳ２８に進められる。
【００６９】
［ステップＳ２７］会議サーバは、上位の会議サーバに会議作成要求を転送し、処理を終了する。
［ステップＳ２８］会議サーバは、会議の即時開催か否かを判断する。将来の時刻が開催時刻として設定されていれば、即時開催ではない。開催時刻が設定されていない場合には、即時開催である。会議の即時開催であれば、処理がステップＳ３０に進められる。会議の即時開催でなければ、処理がステップＳ２９に進められる。
【００７０】
［ステップＳ２９］会議サーバは、会議作成要求に含まれる情報を、会議情報ファイルに登録することで、下位の予約登録を行い、処理を終了する。
［ステップＳ３０］会議サーバは、会議作成要求に含まれる情報に基づいて、会議を即時開催する。
【００７１】
このような処理が、会議作成要求を受け取った各会議サーバで実行される。その結果、コラボレーションシステム中のいずれかの会議サーバに会議が作成される。すなわち、会議の開催者が会議サーバを指定しなくても、適当な会議サーバに、会議が作成される。その結果、会議の開催者にかかる負担が軽減される。
【００７２】
また、参加者の所在（どのサーバの管理下にいるか）によって会議サーバが決定されるため、会議開催時のデータ伝送経路として、効率的な会議サーバが決定される。たとえば、参加者が全て、図２のＡ社第１拠点１００内のユーザであれば、Ａ社第１拠点内の会議サーバ（たとえば、会議サーバ１１０）に会議が作成される。その結果、会議開催時の情報交換は、Ａ社第１拠点の内部のみで行われ、効率的にネットワーク資源が活用される。しかも、会議を開催するユーザは、他の参加者がどこの拠点に所属しているのかを意識する必要がないため、ユーザに対する余分な負荷は発生しない。
【００７３】
さらに、参加者として外部拠点のユーザが含まれていた場合には、自己の拠点外の会議サーバに会議が作成される。たとえば、図２のＡ社第１拠点１００内のユーザが会議を企画した場合でも、Ｂ社４００に所属のユーザが参加者に含まれていれば、Ａ社第３拠点３００内の会議サーバ３１０に会議が作成される。これにより、Ｂ社のユーザを第１拠点の内部にアクセスさせることなく、Ａ社第１拠点の開発者とＢ社スタッフとの間の会議を行うことができる。すなわち、Ａ社における十分なセキュリティを保つことができる。
【００７４】
なお、どの会議サーバに会議が作成されたのかを、各ユーザが認識している必要はない。
［途中参加管理処理］
本実施の形態における会議サーバでは、開催中の会議への途中参加を認めている。ただし、途中参加によって新たな参加者が加わることで、最適な会議サーバが変わる場合がある。そこで、本実施の形態におけるコラボレーションシステムは、参加者の変動に応じて、会議室の場所を動的に変更する機能を備えている。以下に、ユーザの途中参加時の処理について、図９、図１０を用いて説明する。
【００７５】
図９は、途中参加処理を示す図である。以下に、図９に示した処理をステップ番号に沿って説明する。
［ステップＳ３１］参加希望者のクライアントが、既に登録されている会議に対する参加希望を受け付ける。たとえば、図４に示した会議管理画面１０において、会議一覧表示部１３内から会議を一つ選択し、「参加」のコマンドボタン１２ｆが押されることで、参加希望の入力が行われる。
【００７６】
［ステップＳ３２］参加希望者のクライアントは、議長のクライアントに対して参加希望情報を送信する。たとえば、電子メールによって送信する。
［ステップＳ３３］議長のクライアントは、参加希望のメッセージを表示し、参加許否の入力を受け付ける。
【００７７】
［ステップＳ３４］議長のクライアントは、参加を拒否する場合には、参加許否の判断結果をクライアントに送信する。また、議長のクライアントは、参加を認める場合には、参加許否の判断結果を会議サーバに送信する。
【００７８】
［ステップＳ３５］参加希望者のクライアントは、議長のクライアントから参加許否の判断結果（参加拒否）を受け取ると、参加が拒絶されたことを示すメッセージを表示する。
【００７９】
［ステップＳ３６］会議サーバは、参加許否の判断結果（参加許可）を受け取ると、開催中の会議を停止する。
［ステップＳ３７］会議サーバは、参加希望者のクライアントに資料データを送信する。
【００８０】
［ステップＳ３８］参加希望者のクライアントは、会議サーバから送られた資料データを格納する。
［ステップＳ３９］会議サーバは、参加希望者のクライアントにコマンドログを送信する。
【００８１】
［ステップＳ４０］参加希望者のクライアントは、ビューアにおいて、会議サーバから送られたコマンドログを実行する。これにより、既に会議に参加している参加者のビューアに表示される３次元モデルと同じものが、参加希望者のビューアに表示される。
【００８２】
［ステップＳ４１］会議サーバは、自身で会議を継続するか否かを判断する。すなわち、参加希望者が自身の管理するユーザ、または自身より下位の構造に位置する会議サーバの管理するユーザであれば、そのまま会議を継続するものと判断する。参加希望者が自身の管理するユーザ、および自身より下位の構造に位置するサーバの管理するユーザのいずれでもなければ、そのまま会議を上位の会議サーバに移転するものと判断する。
【００８３】
［ステップＳ４２］会議サーバは、自身で会議を継続すると判断した場合には、会議を再開する。
会議サーバが、上位の会議サーバに会議を移転すると判断した場合には、会議の移転処理が行われる。
【００８４】
図１０は、会議の移転処理を示す図である。以下に、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ４３］会議サーバは、上位の会議サーバに会議を移転すると判断した場合には、まず、会議引継要求を上位の会議サーバに送信する。
【００８５】
［ステップＳ４４］上位の会議サーバは、要求許否の判断を行う。上位の会議サーバは、全ての参加者が自己の管理下のユーザであれば、要求を受け入れる。
［ステップＳ４５］上位の会議サーバは、要求を受け入れる場合には、要求許否の判断結果を、会議引継要求を出した会議サーバに返す。そうでない場合には、会議引継要求を、さらに上位の会議サーバに転送する。
【００８６】
［ステップＳ４６］会議引継要求を出した会議サーバは、会議を引き継ぐことを示す判断結果を受け取った場合には、発言ログを上位の会議サーバに送信する。
［ステップＳ４７］上位の会議サーバは、発言ログを格納する。
【００８７】
［ステップＳ４８］会議引継要求を出した会議サーバは、資料データを上位の会議サーバに送信する。
［ステップＳ４９］上位の会議サーバは、資料データを格納する。
【００８８】
［ステップＳ５０］会議引継要求を出した会議サーバは、コマンドログを上位の会議サーバに送信する。
［ステップＳ５１］上位の会議サーバは、コマンドログを格納する。
【００８９】
［ステップＳ５２］会議引継要求を出した会議サーバは、自身が作成した会議を閉鎖する。
［ステップＳ５３］上位の会議サーバは、受け取ったデータに基づいて会議を引き継ぎ、会議を再開させる。
【００９０】
このように、途中参加者があった場合には、動的に会議の場所を変更することができる。これにより、常に最適な会議サーバを用いて、会議を運営することができる。
なお、会議室の場所が変更されたことを、各参加者のクライアントが認識する必要はない。すなわち、各クライアントは、直接接続されている会議サーバに対して、各会議に付与されている識別子（ＩＤ）を付加して、会議における発言内容や、３次元ＣＡＤの制御コマンド等を送信する。発言内容や制御コマンド等を受け取った会議サーバは、会議の識別子に基づいて、その会議が自身の開催している会議か否かを判断する。会議サーバは、自身の開催している会議であれば、受け取った内容を、会議に反映させる。会議サーバは、自身の開催している会議でなければ、上位の会議サーバに、発言内容や制御コマンドを転送する。会議サーバはツリー構造を有しており、参加者のユーザデータを管理している会議サーバ、もしくはその会議サーバより上位の会議サーバで会議が開催されている。したがって、発言内容や制御コマンドを上位の会議サーバに転送していくことで、最終的には、ユーザが参加している会議を開催している会議サーバに発言内容や制御コマンドが渡される。
【００９１】
また、図９、図１０に示した例では、参加希望者のクライアントに資料データやコマンドログを送信した後、会議室の移転を行っているが、会議室を移転した後で、参加希望者のクライアントに資料データやコマンドログを送信してもよい。
【００９２】
［会議参加者の自動選定］
会議を開催するユーザは会議の参加者を指定しなければならないが、大勢の参加者を、一人ずつ入力するのは手間がかかる。そこで、本実施の形態のコラボレーションシステムでは、１以上のデータ（たとえば、３次元ＣＡＤデータ）からユーザに関する情報（データの作成者、管理者等）を抽出し、リストアップする機能を有する。たとえば、ある製品の設計会議を行う場合、その製品の３次元ＣＡＤデータ（アセンブリデータ、サブアセンブリデータ、部品データからなる）からユーザに関する情報を抽出し、会議の参加者リストに加える。これにより、その製品を設計に携わったユーザを参加者とした会議の開催を、容易に行うことができる。
【００９３】
図１１は、会議参加者自動選定処理を示す図である。以下に、図１１の処理をステップ番号に沿って説明する。
［ステップＳ６１］クライアントは、ＣＡＤデータベースサーバに対して、ＣＡＤデータを指定し、ユーザ関連情報取得要求を送信する。
【００９４】
［ステップＳ６２］ＣＡＤデータベースサーバは、指定されたＣＡＤデータに含まれるユーザ関連情報を取得する。
［ステップＳ６３］ＣＡＤデータベースサーバは、取得したユーザ関連情報を、クライアントに送信する。
【００９５】
［ステップＳ６４］クライアントは、ＣＡＤデータベースサーバから受け取ったユーザ関連情報に基づいて、関連ユーザリストを表示する。
［ステップＳ６５］クライアントは、関連ユーザリストの中から、会議参加者を選択するための操作入力を受け付ける。たとえば、クライアントは、初期状態においては、関連ユーザリスト内の全てのユーザを選択した状態にしておく。会議を開催するユーザは、参加させる必要のないユーザを指定して、非選択状態に変更させる。
【００９６】
［ステップＳ６６］クライアントは、会議を開催するユーザからの決定命令があると、関連ユーザリスト内の選択状態にあるユーザを、参加者リストに登録する。
このようにして、ＣＡＤデータやファイル等からユーザに関する情報を抽出することで、会議の参加者を簡単に指定できる。多くの場合、ユーザのデータを一人ずつ入力するよりも、リストアップされた中から選択する方が簡単である。また、協働作業を行った業務の全ての関係者を参加者とする場合には、初期状態においてリスト内の全てのユーザを選択状態にしておくことで、参加者指定動作の回数を減らすことができる。その結果、参加者指定が容易となる。
【００９７】
［資料自動送付処理］
電子会議では、事前に参加者に資料を配る場合がある。たとえば、製品の設計会議においては、その製品の形状を表した３次元ＣＡＤデータが配られる。設計作業が進行中の場合、会議開催時点で最新の３次元ＣＡＤデータを見ながら議論する必要がある。そこで、本実施の形態のコラボレーションシステムでは、配布日時をあらかじめ指定しておき、その日時になったときに、資料を自動配布する機能を備えている。
【００９８】
図１２は、資料自動送付処理を示す図である。以下、図１２に示す処理をステップ番号に沿って説明する。
［ステップＳ７１］資料配布者のクライアントは、資料配布者であるユーザからの資料指定入力を受け付ける。このとき、配布日時の入力も受け付ける。
【００９９】
［ステップＳ７２］資料配付者のクライアントは、資料指定情報を会議サーバに送信する。資料指定情報には、配布する資料の所在（格納しているコンピュータ、そのコンピュータ内の記録装置ＩＤ、フォルダ、ファイル名等）と、配布日時とが含まれる。
【０１００】
［ステップＳ７３］会議サーバは、資料指定情報を格納する。
［ステップＳ７４］会議サーバは、時刻が資料指定情報の配布日時になったかどうかを、随時判断し続ける。
【０１０１】
［ステップＳ７５］会議サーバは、資料の配布日時になった場合には、配布する資料の所在を参照し、資料データを取得する。
［ステップＳ７６］会議サーバは、会議の参加者リストを取得する。
【０１０２】
［ステップＳ７７］会議サーバは、会議の参加者のクライアントに対して、資料データを配布する。
［ステップＳ７８］参加者のクライアントは、会議サーバから配られた資料データを格納する。
【０１０３】
このようにして、自動的に資料を配ることができる。その結果、会議の開催者が各参加者に対して資料をメール等で送信する手間を省くことができる。
［公開／非公開管理］
会議の内容によっては、所定の業務に携わる者以外には公開すべきでない場合がある。また、できる限り多くのユーザに公開し、議論の内容を多くの人に知ってもらうことが有効な会議もある。そこで、本実施の形態のコラボレーションシステムでは、公開レベルが設定できるようになっている。ユーザは、図５に示した会議作成画面２０の公開レベル設定欄２４に所望の公開レベルを設定することで、開催する会議の公開／非公開等が任意に設定できる。公開範囲に入るユーザは、会議の内容を傍聴することができるが、発言をしたり、ビューアを操作したりすることはできない。
【０１０４】
図１３は、参加と公開との違いを説明する概念図である。会議サーバ１１０内の会議室管理部１１１ａは、会議の発言ログ等を管理している。図１３の例では、参加者のクライアント１５０，１６０に対しては、発言ログ等の参照を認めると共に、発言を認めている。一方、公開相手のクライアント２４０，２５０に対しては、傍聴のみを認めている。傍聴においては、参加者の発言内容を見ることはできるが、発言することはできない。ＣＡＤ制御部１１１ｂは、参加者のクライアント１５０，１６０に対しては、３次元ＣＡＤデータに基づく３次元モデルのビューアの制御を認めている。すなわち、ＣＡＤ制御部１１１ｂは、クライアント１５０，１６０に対して制御権を与え、クライアント１５０，１６０から送られる制御コマンドを他の参加者のクライアントに送信する処理を行う。一方、ＣＡＤ制御部１１１ｂは、公開相手のクライアント２４０，２５０に対しては、参照のみを認め、ビューアの制御権を与えることはない。なお、公開相手は、議長に参加希望を出し、議長から参加を許諾してもらうことで会議に参加すれば、発言やビューアの制御が可能となる。
【０１０５】
このように、公開相手に対し、会議の傍聴を認めることで、会議に参加する資格のない者に対しても、会議の内容を見せることが可能となる。しかも、公開相手は、発言権やビューアの制御権等が制限されているため、不特定多数の者に公開したとしても、それらの者から会議の進行を邪魔される心配もない。
【０１０６】
［発言ログとビューアとの連携］
本実施の形態のコラボレーションシステムでは、ビューアを参照しながら会議を進めることができる。そのため、参加者の発言が、ビューアの表示内容に言及する場合が考えられる。この場合、後になって発言ログだけを参照しても、その発言の趣旨が理解できないことがあり得る。そこで、発言に対応付けて、ビューアの画像のスナップショットを保存しておくことが望まれる。本実施の形態では、発言ログとビューアに対するコマンドログとを連携させることで、発言ログ中の発言がなされたときのビューアの画像を再現できるようにしている。以下に、発言ログとビューアとの連携について説明する。
【０１０７】
図１４は、コマンドログのデータ構造の一例を示す図である。コマンドログ８０には、番号の欄とコマンドの欄が設けられている。番号の欄には、各コマンドの識別番号が設定されている。図１４の例では、１から順の通し番号である。コマンドの欄には、３次元ＣＡＤのビューアが実行した制御コマンドが、たとえば、発行された順に登録されている。
【０１０８】
図１５は、発言ログのデータ構造の一例を示す図である。発言ログ９０には、番号の欄、コメントの欄、発言者の欄、時刻の欄、およびコマンド番号の欄が設けられている。番号の欄には、各発言の識別番号が設定されている。図１５の例では、１から順の通し番号である。コメントの欄には、発言の内容が登録されている。発言者の欄には、発言者のユーザ名が登録されている。時刻の欄には、発言時刻が登録されている。コマンド番号の欄には、発言がなされたときにコマンドログに登録されている最新のコマンドの番号が登録されている。
【０１０９】
このように、発言ログにコマンド番号を設定することで、発言ログ中の発言内容とコマンドとが関連づけられる。その結果、発言ログの任意の発言を指定することで、その発言があったときのビューアの画像を再現できる。
【０１１０】
図１６は、ビューア画像再現処理を示す図である。以下に、図１６に示す処理を、ステップ番号に沿って説明する。
［ステップＳ８１］クライアントは、発言ログ取得要求を会議サーバに送信する。
【０１１１】
［ステップＳ８２］会議サーバは、発言ログをクライアントに送信する。
［ステップＳ８３］クライアントは、発言ログを表示する。
［ステップＳ８４］クライアントは、ユーザからの発言の選択を受け付ける。
【０１１２】
［ステップＳ８５］クライアントは、選択された発言に対応するコマンドログの取得要求を、会議サーバに対して送信する。
［ステップＳ８６］会議サーバは、発言ログを参照し、指定された発言に対応付けられたコマンド番号を取得する。
【０１１３】
［ステップＳ８７］会議サーバは、コマンドログの先頭から、ステップＳ８６で取得したコマンド番号までの制御コマンド列を、クライアントに送信する。
［ステップＳ８８］クライアントは、ビューアにおいて、会議サーバから送られた制御コマンド列を実行する。
【０１１４】
［ステップＳ８９］クライアントのビューアは、選択された発言がなされたときにビューアに表示されていた３次元モデルを表示する。
このように、発言ログとコマンドログとを連携させておくことで、任意の発言時のビューアの画像を再現することができる。これにより、ビューアの画像に言及した発言を後で参照した場合にも、その発言の趣旨を理解することができる。
【０１１５】
［会議参加者の表情通知］
会議中で出された提案に対して、他の参加者がどのような心証を持っているのかがわかると、会議を進行させやすい。たとえば、ある提案に対する反対意見を持っている参加者が誰なのかがわかれば、その者を指名して、反対意見を述べさせることができる。また、反対意見を持っている者がいないということがわかれば、すぐに次の議題に話を進めることができる。そこで、本実施の形態では、各参加者の心証を、アイコンで表現するようにしている。
【０１１６】
図１７は、会議状態表示画面の一例を示す図である。会議状態表示画面４０には、メニューバー４１、会議名表示部４２、状態表示部４３、参加者状態表示部４４が設けられている。
【０１１７】
メニューバー４１には、ファイル、会議、自分、呼出、表示およびヘルプの各メニューが設けられている。ファイルメニューには、他の参加者を指定したファイルの送信、会議からの退席、会議の終了（議長にのみ許された機能）等を行うためのコマンドが含まれている。会議メニューには、ビューアの内容をリセット（初期状態に戻す）するためのコマンドが含まれている。
【０１１８】
自分メニューには、離席、復帰、議長指名、表情アイコン指定（うれしい、反対、拍手）、コメント等のコマンドが含まれている。離席のコマンドは、進行中の会議から席を外す際に実行するコマンドである。復帰のコマンドは、会議に戻ってきたときに実行するコマンドである。議長指名のコマンドは、議長が他の参加者を議長の引継相手として指名する際に実行されるコマンドである。表情アイコン指定のコマンドは、議題に対する自分の心証を表すアイコンを指定する際に実行するコマンドである。コメントのコマンドは、会議に対する発言を行う場合に実行するコマンドである。
【０１１９】
呼出メニューは、未参加者の全員または特定の者に開催通知を送付したり、電子メールで参加を呼びかけるためのコマンドを含んでいる。表示メニューは、所定のコマンドに対応したボタン等の表示の有無を制御するためのコマンドを含んでいる。ヘルプメニューは、操作マニュアルを表示させるコマンド等を含んでいる。
【０１２０】
会議名表示部４２には、開催されている会議の会議名が表示される。状態表示部４３には、会議の状態が表示される。たとえば、会議が開催されていれば「進行中」と表示される。
【０１２１】
参加者状態表示部４４には、参加者リストが表示されている。参加者リストには、各参加者に対応付けて、議長、参加者名、発言、状態、表情およびコメントの各欄に対応する情報が表示されている。議長の欄には、参加者の一人に対してレ点４４ａがついている。レ点４４ａがついている参加者が議長であることを示している。参加者名の欄には、参加者の名前が表示されている。発言の欄には、現在の発言者に、発言者であることを示すアイコン４４ｂが表示される。状態の欄には、各参加者の状態がアイコン４４ｃで表示される。状態の種類としては、在席中、離席中、退席等がある。表情の欄には、各参加者の心証が表情アイコン４４ｄで表示される。表情アイコン４４ｄには、賛成（意義無し）、反対（意義あり）、拍手（積極的同意）等がある。図１７の例では、参加者名の「佐藤」、「鈴木」、「上田」には、賛成の表情アイコンが表示されている。また、「高橋」、「近藤」には、拍手の表示アイコンが表示されている。「伊藤」には、反対の表示アイコンが表示されている。コメントの欄には、各参加者のコメントが表示される。
【０１２２】
以下に、表情アイコン表示処理について説明する。
図１８は、表情アイコン表示処理を示す図である。以下に、図１８の処理をステップ番号に沿って説明する。
【０１２３】
［ステップＳ９１］表情送信者の操作するクライアントは、ユーザからの表情選択を受け付ける。たとえば、メニューバーの自分メニューから任意の表情アイコンの選択操作を受け付ける。
【０１２４】
［ステップＳ９２］表情送信者の操作するクライアントは、選択された表情アイコンに対応付けられている表情識別子（表情ＩＤ）を取得する。
［ステップＳ９３］表情送信者の操作するクライアントは、表情ＩＤを会議サーバに対して送信する。
【０１２５】
［ステップＳ９４］会議サーバは、会議の参加者リストを取得する。
［ステップＳ９５］会議サーバは、ユーザ名と表情ＩＤとを対応付けて、他の参加者のクライアントに対して配信する。
【０１２６】
［ステップＳ９６］表情送信者以外の参加者（他の参加者）の操作するクライアントは、会議サーバから受け取った表情ＩＤに対応する表情アイコンを取得する。なお、表情アイコンは、表情ＩＤに対応付けて、各クライアントのハードディスク装置等にあらかじめ格納されている。
【０１２７】
［ステップＳ９７］他の参加者の操作するクライアントは、状態表示画面中の表情送信者の表情の欄に、ステップＳ９６で取得したアイコンを表示する。
このように、各参加者のクライアントには、他の参加者の表情アイコンが表示される。表示される表情アイコンは、各参加者の任意の選択に応じて、会議の開催中に切り替えることができる。しかも、表情アイコンは、賛成、反対、拍手等の意味を有している。そのため、会議中に各参加者がどのような心証を持っているのかを容易に理解することができる。また、各クライアントからは、表情ＩＤを送信するだけでよいため、アイコンを表示させるためのデータ量が少なくてすむ。
【０１２８】
［表情画像データの表示］
表情アイコンは、あらかじめ用意された画像データであるが、各ユーザ毎に、表情アイコンに変えて本人の写真等の画像を表示させることもできる。この場合、ユーザは、自己の画像データをあらかじめクライアントのハードディスク装置等に格納しておく。そして、会議が開催される際に、他の参加者に対して自己の画像データを送信する。なお、画像データの作成が、各ユーザによって行われるため、データ量が非常に大きな場合もある。この場合、受信したクライアントへの処理負荷が過大となる虞がある。そこで、本実施の形態では、他の参加者が画像データを受け取るかどうかを任意に選択することができるようにしている。画像データの受信の許否を任意に選択できることで、無駄な画像データの受信を事前に防ぐことができる。
【０１２９】
図１９は、表情画像データの受け渡し処理を示す図である。以下に、図１９の処理をステップ番号に沿って説明する。
［ステップＳ１０１］画像データ送信者の操作するクライアントは、画像データの選択操作を受け付ける。
【０１３０】
［ステップＳ１０２］画像データ送信者のクライアントは、会議サーバに対して、画像管理情報を送信する。画像管理情報には、ユーザ名、データ容量等が含まれる。
［ステップＳ１０３］会議サーバは、参加者リストを取得する。
【０１３１】
［ステップＳ１０４］会議サーバは、画像管理情報を、画像データ送信者以外の参加者（他の参加者）の操作するクライアントに配信する。
［ステップＳ１０５］他の参加者の操作するクライアントは、画像管理情報の内容を表示し、画像データを取得するか否か（取得許否）の意思表示入力を受け付ける。たとえば、他の参加者は、画像管理情報に含まれるデータ容量を参考にして、画像データを受け取るか否かを判断することができる。
【０１３２】
［ステップＳ１０６］他の参加者の操作するクライアントは、取得許否の結果を、画像データ送信者のクライアントに送信する。
［ステップＳ１０７］画像データ送信者のクライアントは、取得許否の結果が、画像データの受け取りを容認する内容であれば、他の参加者の操作するクライアントに対して画像データを送信する。
【０１３３】
［ステップＳ１０８］他の参加者の操作するクライアントは、送られた画像データを、画像データ送信者に対応付けて表示する。
このようにして、各ユーザが、任意の画像データを、自己の表情アイコンに代えて使用することができる。その結果、参加者同士の親近感を増すことができる。しかも、画像データを受け取るか否かは任意であるため、不用意に大きなデータ容量の画像データを受け取ってしまうこともない。
【０１３４】
［議長管理］
本実施の形態のコラボレーションシステムでは、参加者の一人に、議長権が与えられている。議長権を有する参加者（議長）は、会議の強制終了や、参加者の強制退場、優先発言（ビューアの優先的制御権）等を有している。
【０１３５】
ここで、ビューアの制御権について説明する。
図２０は、ビューア画面の一例を示す図である。ビューア画面５０は、３次元ＣＡＤデータに基づいて、３次元モデル５１を表示している。また、ビューア画面５０には、発言者のポインタ５２が表示されている。ポインタ５２の近くには、発言者の名前が表示されている。これにより、発言者が、ビューアのどこについて述べているのかを、他の参加者が認識することができる。また、発言者は、ビューアの制御権を有している。たとえば、３次元モデル５１の回転、３次元モデル５１の拡大表示、縮小表示等を行うことができる。
【０１３６】
図２１は、ビューア制御権管理処理を示す図である。図２１では、参加者の制御権取得および、議長による制御権剥奪の処理を示している。以下に、図２１の処理をステップ番号に沿って説明する。
【０１３７】
［ステップＳ１２１］ビューアの制御権を求める参加者（制御希望者）のクライアントは、参加者からの操作入力に応答して、制御権取得要求を会議サーバに対して送信する。
［ステップＳ１２２］会議サーバは、制御権取得要求に応じて、制御希望者に対して制御権を設定する。なお、他の参加者が制御権を有している場合には、その参加者が制御権を手放すか、議長がその参加者から制御権を剥奪するまで、制御希望者が制御権を取得することはできない。
【０１３８】
［ステップＳ１２３］会議サーバは、制御権許可情報を制御希望者に送信する。
［ステップＳ１２４］会議サーバは、発言者情報を、各参加者に配信する。
［ステップＳ１２５］議長を含む各参加者のクライアントは、発言者情報に基づいて、会議状態表示画面の制御権取得要求者の発言の欄に、発言者であることを示すアイコンを表示する。
【０１３９】
［ステップＳ１２６］制御権取得要求者のクライアントは、ビューア制御入力を受け付ける。
［ステップＳ１２７］制御権取得要求者のクライアントは、会議サーバに対して、ビューアの制御コマンドを送信する。
【０１４０】
［ステップＳ１２８］会議サーバは、参加者リストを取得する。
［ステップＳ１２９］会議サーバは、各参加者に対して、ビューアの制御コマンドを配信する。このとき、会議サーバは、制御コマンドをコマンドログに格納する。
【０１４１】
［ステップＳ１３０］議長を含む各参加者のクライアントは、ビューアの制御コマンドを実行し、ビューア画面を変更する。
［ステップＳ１３１］議長が発言権を剥奪する場合、議長のクライアントは、議長からの操作入力に応答して、制御権剥奪要求を会議サーバに送信する。
【０１４２】
［ステップＳ１３２］会議サーバは、制御権剥奪要求に応じて、制御権取得要求者に与えていた制御権の設定を解除する。
［ステップＳ１３３］会議サーバは、制御権が解除されたことを示す情報を、各参加者のクライアントに配信する。
【０１４３】
［ステップＳ１３４］議長を含む各参加者のクライアントは、発言者であることを示すアイコンを消去する。
このようにして、各参加者がビューアの制御権を取得できるとともに、議長は、制御権を強制的に剥奪することができる。これにより、一人の参加者の自分勝手な行動によって、会議の議事進行が妨げられることを防止することができる。
【０１４４】
なお、本実施の形態におけるコラボレーションシステムでは、議長が退席する場合には、議長権を他の参加者に引き継がせることができる。以下に、議長権の引継処理について説明する。
【０１４５】
図２２は、議長権引継処理を示す図である。以下に、図２２の処理をステップ番号に沿って説明する。
［ステップＳ１４１］議長のクライアントは、議長からの操作入力に応答して、会議サーバに対して退場要求を送信する。
【０１４６】
［ステップＳ１４２］会議サーバは、議長のクライアントに対して、議長権引継相手指定要求を送信する。
［ステップＳ１４３］議長のクライアントは、議長権指定入力を受け付ける。
【０１４７】
［ステップＳ１４４］議長のクライアントは、会議サーバに対して、議長権引継相手情報を送信する。
［ステップＳ１４５］会議サーバは、議長権引継相手として指定された参加者のクライアントに対して、議長権引継依頼情報を送信する。
【０１４８】
［ステップＳ１４６］議長権引継相手のクライアントは、議長権引継許否の応答入力を受け付け、入力内容を会議サーバに送信する。
［ステップＳ１４７］会議サーバは、議長権引継相手が、引継を許諾した場合には、議長を退席させるとともに、議長権の設定内容を更新し、議長権を議長権引継相手に変更する。
【０１４９】
このようにして、議長が退席する際には、議長権を他の参加者に引き継がせることができる。これにより、会議中に議長がいなくなる事態をさけることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、会議サーバやクライアントが有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場へ流通させる場合には、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)やフレキシブルディスク等の可搬型記録媒体にプログラムを格納して流通させることができる。また、ネットワークを介して接続されたコンピュータの記憶装置にプログラムを格納しておき、ネットワークを介して接続された他のコンピュータにプログラムを転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行することができる。
【０１５０】
（付記１）  電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
少なくとも一人の参加者を指定した会議作成要求に応じて会議を開催し、
前記会議に関係する資料の指定入力を受け付け、前記指定入力で指定された資料を取得し、前記参加者それぞれに対して前記資料を配信する、
処理を実行させることを特徴とする会議サーバプログラム。
【０１５１】
（付記２）  電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
少なくとも一人の参加者を指定した会議作成要求に応じて会議を開催し、
あらかじめ指定された前記参加者以外の者に前記会議の内容を公開し、
前記参加者のみ前記会議での発言を可能とする、
処理を実行させることを特徴とする会議サーバプログラム。
【０１５２】
（付記３）  前記コンピュータに、さらに、
会議に関連するデータを各参加者に配信し、
前記参加者のいずれかにのみ前記データの制御権を与え、
前記データに対して処理を行うための制御コマンドを参加者から受け取ると、前記制御コマンドを各参加者に配信する、
処理を実行させることを特徴とする付記２記載の会議サーバプログラム。
【０１５３】
（付記４）  前記参加者以外の者からの参加希望を受け付け、
会議の議長として設定されている参加者に対して、参加希望の許否の判断を要求し、
前記議長から参加を認めることを示す応答が有った場合には、前記参加希望を出した者を参加者に加えることを特徴とする付記２記載の会議サーバプログラム。
【０１５４】
（付記５）  電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
会議に関連するデータを、前記会議に参加する各参加者に配信し、
前記データに対して処理を行うための制御コマンドを一参加者から受け取ると、前記制御コマンドを前記一参加者以外の参加者に配信し、
配信した前記制御コマンドを、コマンドログとして保存し、
前記会議の各参加者の発言内容を、発言の時点において前記コマンドログに保持されている最新の制御コマンドと関連づけて、発言ログとして保存する、
処理を実行させることを特徴とする会議サーバプログラム。
【０１５５】
（付記６）  参加者から、前記発言ログに保存された発言内容を指定して、制御コマンド取得要求を受け取ると、
指定された発言内容に関連づけられた制御コマンド以前に前記コマンドログに保存された各制御コマンドを、前記参加者に対して返信することを特徴とする付記５記載の会議サーバプログラム。
【０１５６】
（付記７）  電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
会議の参加者から、表情アイコンに関連づけられた表情識別子を受け取ると、前記参加者の名前と前記表情識別子とを対応付けて、他の参加者に配信し、
前記参加者から、前記表情識別子に対応する画像データの配信要求を受け取ると、前記他の参加者に対して、前記画像データ受け取り許否の判断を要求し、
前記参加者から前記画像データを受け取り、前記画像データの受け取りを許諾した前記他の参加者に対してのみ、前記画像データを配信する、
処理を実行させることを特徴とする会議サーバプログラム。
【０１５７】
（付記８）  電子会議の会議室を管理するための会議サーバプログラムにおいて、
コンピュータに、
会議の参加者の中の一人を議長として決定し、
所定の処理に対して議長特権を設定し、
前記議長特権が設定された処理に関しては、前記議長からの処理要求のみに応じて実行する、
処理を実行させることを特徴とする会議サーバプログラム。
【０１５８】
（付記９）  会議サーバに会議の開催を依頼するためのクライアントプログラムにおいて、
コンピュータに、
ネットワーク上の少なくとも１つのデータから、ユーザに関する情報を取得し、
前記取得したユーザに関する情報のリストを表示し、
表示した前記リストの中からの会議の参加者選択入力を受けると、前記参加者選択入力で選択されたユーザを含む参加者リストを生成し、
前記参加者リストに含まれるユーザを参加者として指定した会議作成要求を前記会議サーバに対して送信することを特徴とするクライアントプログラム。
【０１５９】
（付記１０）  会議サーバに開催された会議に参加するためのクライアントプログラムにおいて、
コンピュータに、
前記会議サーバで開催された前記会議に参加して、各参加者の発言内容を表示し、
少なくとも１つの画像データを表情識別子と対応付けて管理しており、ユーザの操作入力に応答して、前記会議サーバに対して前記表情識別子を送信し、
前記会議サーバから他の参加者に関する表情識別子を受け取ると、受け取った表情識別子に対応する画像データを、前記他の参加者に関連付けて表示する、
処理を実行させることを特徴とするクライアントプログラム。
【０１６０】
（付記１１）  電子会議の会議室を管理するための会議サーバプログラムを記録するコンピュータ読み取り可能な記録媒体において、
ツリー構造のネットワークの一部を構成する前記コンピュータに、
１以上の参加者を指定した会議作成要求を受け取ると、前記参加者の全てが自己の管理下のユーザか否かを判断し、
前記参加者の全てが自己の管理下のユーザであれば、前記会議作成要求に応じて会議開催処理を実行し、
前記参加者の少なくとも一人が自己の管理下のユーザではない場合には、前記ツリー構造における上位のサーバに、前記会議作成要求を転送する、
処理を実行させることを特徴とする会議サーバプログラムを記録した記録媒体。
【０１６１】
（付記１２）  電子会議の会議室を管理するための会議サーバにおいて、
ネットワークのツリー構造における上位のサーバを認識する構造認識手段と、
１以上の参加者を指定した会議作成要求を受け取ると、前記参加者の全てが自己の管理下のユーザか否かを判断する判断手段と、
前記参加者の全てが自己の管理下のユーザであれば、前記会議作成要求に応じて会議開催処理を実行する実行手段と、
前記参加者の少なくとも一人が自己の管理下のユーザではない場合には、前記ツリー構造における上位のサーバに、前記会議作成要求を転送する転送手段と、
を有することを特徴とする会議サーバ。
【図面の簡単な説明】
【０１６２】
【図１】本発明に関連する技術の原理構成図である。
【図２】本実施の形態に係るコラボレーションシステムのネットワーク構成を示す概念図である。
【図３】本実施の形態に係る会議サーバのハードウェア構成の一例を示す図である。
【図４】会議管理画面の一例を示す図である。
【図５】会議作成画面の一例を示す図である。
【図６】即時開催用の会議情報入力画面の一例を示す図である。
【図７】会議作成処理を示す図である。
【図８】会議作成処理のフローチャートである。
【図９】途中参加処理を示す図である。
【図１０】会議の移転処理を示す図である。
【図１１】会議参加者自動選定処理を示す図である。
【図１２】資料自動送付処理を示す図である。
【図１３】参加と公開との違いを説明する概念図である。
【図１４】コマンドログのデータ構造の一例を示す図である。
【図１５】発言ログのデータ構造の一例を示す図である。
【図１６】ビューア画像再現処理を示す図である。
【図１７】会議状態表示画面の一例を示す図である。
【図１８】表情アイコン表示処理を示す図である。
【図１９】表情画像データの受け渡し処理を示す図である。
【図２０】ビューア画面の一例を示す図である。
【図２１】ビューア制御権管理処理を示す図である。
【図２２】議長権引継処理を示す図である。
【符号の説明】
【０１６３】
１  会議サーバ
１ａ  構造認識手段
１ｂ  判断手段
１ｃ  実行手段
１ｄ  転送手段
２  クライアント
３  上位サーバ
１００  Ａ社第１拠点
１１０，１３０,１４０  会議サーバ
１５０，１６０，１７０  クライアント
２００  Ａ社第２拠点
２１０，２２０，２３０  会議サーバ
２４０，２５０，２６０  クライアント
３００  Ａ社第３拠点
３１０  会議サーバ
４００  Ｂ社
４１０  会議サーバ
４２０，４３０  クライアント
５００  Ｃ社
５１０  会議サーバ
５２０，５３０  クライアント
【図１】
2007052801.tif 000003
【図２】
2007052801.tif 000004
【図３】
2007052801.tif 000005
【図４】
2007052801.tif 000006
【図５】
2007052801.tif 000007
【図６】
2007052801.tif 000008
【図７】
2007052801.tif 000009
【図８】
2007052801.tif 000010
【図９】
2007052801.tif 000011
【図１０】
2007052801.tif 000012
【図１１】
2007052801.tif 000013
【図１２】
2007052801.tif 000014
【図１３】
2007052801.tif 000015
【図１４】
2007052801.tif 000016
【図１５】
2007052801.tif 000017
【図１６】
2007052801.tif 000018
【図１７】
2007052801.tif 000019
【図１８】
2007052801.tif 000020
【図１９】
2007052801.tif 000021
【図２０】
2007052801.tif 000022
【図２１】
2007052801.tif 000023
【図２２】
2007052801.tif 000024