(57)【特許請求の範囲】
【請求項１】
複数の階層構造のオブジェクトを登録するファイルシステムと、該ファイルシステムを管理するサーバと、前記ファイルシステムに登録されているオブジェクトの移動が行われたとき、移動情報を他のサーバに送信する移動情報送信手段と、移動情報を他のサーバから受信したとき、受信した移動情報に基づいて前記ファイルシステムに登録されているオブジェクトの移動を行う移動情報処理手段と、を含んで構成され、前記サーバと前記他のサーバ間で任意の情報伝達経路を構築し、蓄積交換型の通信方式を用いて処理対象となるオブジェクトの情報交換を行う電子会議システムにおけるオブジェクトの移動処理装置であって、
前記移動情報送信手段は、オブジェクトの移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内で行われたとき、オブジェクトの移動を示す情報を作成する第１の情報作成手段と、オブジェクトの移動が異なる階層構造間で行われたとき、オブジェクトの作成及び削除を示す情報を作成する第２の情報作成手段と、前記第１或いは第２の情報作成手段により作成された情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報を付加する情報付加手段と、を含んで構成され、
前記移動情報処理手段は、受信した移動情報がオブジェクトの移動を示す情報であるとき、同一の階層構造内でオブジェクトの移動を行う第１の処理手段と、受信した移動情報がオブジェクトの作成を示す情報であって作成対象のオブジェクトが前記ファイルシステムに既に登録済みで、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なるとき、既登録のオブジェクトを付加情報により特定される上位階層下へ移動する第２の処理手段と、受信した移動情報がオブジェクトの削除を示す情報であり、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であるとき、既登録のオブジェクトを削除する第３の処理手段と、を含んで構成されたこと
を特徴とする蓄積交換型電子会議システムにおけるオブジェクトの移動処理装置。
【請求項２】
複数の階層構造のオブジェクトを登録するファイルシステムと、該ファイルシステムを管理するサーバと、を含んで構成され、前記サーバと他のサーバ間で任意の情報伝達経路を構築し、蓄積交換型の通信方式を用いて処理対象となるオブジェクトの情報交換を行う電子会議システムにおけるオブジェクトの移動処理方法であって、
前記ファイルシステムに登録されているオブジェクトの移動が行われたとき、その移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内で行われたのであれば、オブジェクトの移動を示す移動情報を作成する一方、その移動が異なる階層構造間で行われたのであれば、オブジェクトの作成及び削除を示す移動情報を作成すると共に、該移動情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報を付加して他のサーバに送信する移動情報送信工程と、
移動情報を他のサーバから受信したとき、受信した移動情報がオブジェクトの移動を示していれば、同一の階層構造内でオブジェクトの移動を行い、受信した移動情報がオブジェクトの作成を示し、作成対象のオブジェクトが前記ファイルシステムに既に登録済みで、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なっていれば、既登録のオブジェクトを付加情報により特定される上位階層下へ移動し、受信した移動情報がオブジェクトの削除を示し、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であれば、既登録のオブジェクトを削除する移動情報処理工程と、
を前記サーバに実行させることを特徴とする蓄積交換型電子会議システムにおけるオブジェクトの移動処理方法。
【請求項３】
複数の階層構造のオブジェクトを登録するファイルシステムと、該ファイルシステムを管理するサーバと、を含んで構成され、前記サーバと他のサーバ間で任意の情報伝達経路を構築し、蓄積交換型の通信方式を用いて処理対象となるオブジェクトの情報交換を行う電子会議システムにおけるオブジェクトの移動処理プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記ファイルシステムに登録されているオブジェクトの移動が行われたとき、その移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内で行われたのであれば、オブジェクトの移動を示す移動情報を作成する一方、その移動が異なる階層構造間で行われたのであれば、オブジェクトの作成及び削除を示す移動情報を作成すると共に、該移動情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報を付加して他のサーバに送信する移動情報送信機能と、
移動情報を他のサーバから受信したとき、受信した移動情報がオブジェクトの移動を示していれば、同一の階層構造内でオブジェクトの移動を行い、受信した移動情報がオブジェクトの作成を示し、作成対象のオブジェクトが前記ファイルシステムに既に登録済みで、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なっていれば、既登録のオブジェクトを付加情報により特定される上位階層下へ移動し、受信した移動情報がオブジェクトの削除を示し、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であれば、既登録のオブジェクトを削除する移動情報処理機能と、
を前記サーバに実現させるための蓄積交換型電子会議システムにおけるオブジェクトの移動処理プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、蓄積交換型電子会議システムに関し、特に、異なる情報伝達経路が構築される会議室（オブジェクト）間で、オブジェクトの移動を正しく行わせる技術に関する。
【０００２】
【従来の技術】
一般的に、電子会議システムとは、不特定多数の利用者が情報交換を行うために構築されるシステムをいう。大規模な電子会議システムでは、地理的に離れた地域（以下「サイト」という）毎に電子会議システムを利用できる利用者を登録する。そして、登録された利用者は、そのサイトのみを利用することができる。
【０００３】
かかる電子会議システムでは、一般的に、各サイト間を接続する通信回線の通信速度等を考慮して、蓄積交換型の通信方式が採用される。即ち、各サイトの利用者が発生させた情報は、送信する情報を蓄積する機構に蓄積され、所定期間毎にまとめて他のサイトに送信される。一方、他のサイトでは、受信した情報は、受信した情報を蓄積する機構に一旦蓄積され、処理能力に余裕ができたバックグラウンドで処理される。
【０００４】
また、電子会議システムでは、通常、フォーラム（会議室）と呼ばれる入れ物で単位付けられている。フォーラムは、図２７に示すように、階層構造をとることができ、最上位のフォーラムＡ或いはＢは「メインフォーラム」、その他のフォーラムＣは「サブフォーラム」と呼ばれる。
【０００５】
【発明が解決しようとする課題】
ここで、図２７に示すように、サイトＡには、メインフォーラムＡとメインフォーラムＢとが設定され、かつ、メインフォーラムＢの下位階層に、サブフォーラムＣが設定されているものを考える。また、サイトＡのメインフォーラムＡには、サイトＢ，Ｃ，Ｄ及びＥに線形に情報が伝達されるように情報伝達経路が設定され、一方、サイトＡのメインフォーラムＢには、サイトＢを経由してサイトＤに情報が伝達される情報伝達経路と、サイトＣを経由してサイトＥに情報が伝達される情報伝達経路が設定されているものとする。
【０００６】
そして、サブフォーラムＣをメインフォーラムＡの下位階層に移動する場合を考える。メインフォーラムＡの下位階層にサブフォーラムＣが移動するということは、メインフォーラムＡにとっては、サブフォーラムＣの作成であり、一方、メインフォーラムＢにとっては、サブフォーラムＣの削除であるに過ぎない。即ち、サイトＤにとっては、メインフォーラムＡの情報伝達経路においては、サブフォーラムＣの作成という情報が伝達され、メインフォーラムＢの情報伝達経路においては、サブフォーラムＣの削除という情報が伝達される。従って、サイトＤには、必ずしもサブフォーラムＣの削除、作成という順序で情報が伝達されるとは限らず、例えば、サブフォーラムＣの作成、削除という順序で情報が伝達された場合には、サイトＤでは、サブフォーラムＣが存在しないことになってしまう。
【０００７】
そこで、本発明は以上のような従来の問題点に鑑み、異なる情報伝達経路が構築される会議室（オブジェクト）間におけるオブジェクトの移動方法を改良することで、情報伝達の順序に関わらず、オブジェクトの移動が正しく行われるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
このため、請求項１記載の発明は、複数の階層構造のオブジェクトを登録するファイルシステムと、該ファイルシステムを管理するサーバと、前記ファイルシステムに登録されているオブジェクトの移動が行われたとき、移動情報を他のサーバに送信する移動情報送信手段と、移動情報を他のサーバから受信したとき、受信した移動情報に基づいて前記ファイルシステムに登録されているオブジェクトの移動を行う移動情報処理手段と、を含んで構成され、前記サーバと前記他のサーバ間で任意の情報伝達経路を構築し、蓄積交換型の通信方式を用いて処理対象となるオブジェクトの情報交換を行う電子会議システムにおけるオブジェクトの移動処理装置であって、前記移動情報送信手段を、オブジェクトの移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内で行われたとき、オブジェクトの移動を示す情報を作成する第１の情報作成手段と、オブジェクトの移動が異なる階層構造間で行われたとき、オブジェクトの作成及び削除を示す情報を作成する第２の情報作成手段と、前記第１或いは第２の情報作成手段により作成された情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報を付加する情報付加手段と、を含んで構成し、前記移動情報処理手段を、受信した移動情報がオブジェクトの移動を示す情報であるとき、同一の階層構造内でオブジェクトの移動を行う第１の処理手段と、受信した移動情報がオブジェクトの作成を示す情報であって作成対象のオブジェクトが前記ファイルシステムに既に登録済みで、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なるとき、既登録のオブジェクトを付加情報により特定される上位階層下へ移動する第２の処理手段と、受信した移動情報がオブジェクトの削除を示す情報であり、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であるとき、既登録のオブジェクトを削除する第３の処理手段と、を含んで構成した。
【０００９】
かかる構成によれば、ファイルシステムに登録されているオブジェクトの移動が行われたとき、オブジェクトの移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内である場合には、オブジェクトの移動を示す情報が作成され、また、オブジェクトの移動が異なる階層構造間である場合には、オブジェクトの移動を示す情報に代えて、オブジェクトの作成及び削除を示す情報が作成される。そして、作成された移動情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報が付加され、移動情報及び付加情報が他のサーバに送信される。
【００１０】
一方、かかる情報を受信したサーバにおいては、受信した移動情報がオブジェクトの移動を示す情報であるときには、同一階層構造内でオブジェクトの移動が行われる。また、受信した移動情報がオブジェクトの作成を示す情報であって作成対象のオブジェクトがファイルシステムに登録済みで、かつ、付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なるときには、既登録のオブジェクトが付加情報により特定される上位階層下へ移動される。さらに、受信した移動情報がオブジェクトの削除を示す情報であり、かつ、付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であるときには、既登録のオブジェクトが削除される。
【００１１】
請求項２記載の発明は、複数の階層構造のオブジェクトを登録するファイルシステムと、該ファイルシステムを管理するサーバと、を含んで構成され、前記サーバと他のサーバ間で任意の情報伝達経路を構築し、蓄積交換型の通信方式を用いて処理対象となるオブジェクトの情報交換を行う電子会議システムにおけるオブジェクトの移動処理方法であって、前記ファイルシステムに登録されているオブジェクトの移動が行われたとき、その移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内で行われたのであれば、オブジェクトの移動を示す移動情報を作成する一方、その移動が異なる階層構造間で行われたのであれば、オブジェクトの作成及び削除を示す移動情報を作成すると共に、該移動情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報を付加して他のサーバに送信する移動情報送信工程と、移動情報を他のサーバから受信したとき、受信した移動情報がオブジェクトの移動を示していれば、同一の階層構造内でオブジェクトの移動を行い、受信した移動情報がオブジェクトの作成を示し、作成対象のオブジェクトが前記ファイルシステムに既に登録済みで、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なっていれば、既登録のオブジェクトを付加情報により特定される上位階層下へ移動し、受信した移動情報がオブジェクトの削除を示し、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であれば、既登録のオブジェクトを削除する移動情報処理工程と、を前記サーバに実行させるようにした。
かかる構成によれば、ファイルシステムに登録されているオブジェクトの移動が行われたとき、オブジェクトの移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内である場合には、オブジェクトの移動を示す移動情報が作成され、また、オブジェクトの移動が異なる階層構造間である場合には、オブジェクトの移動を示す移動情報に代えて、オブジェクトの作成及び削除を示す移動情報が作成される。そして、作成された移動情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報が付加され、移動情報及び付加情報が他のサーバに送信される。
【００１２】
一方、かかる情報を受信したサーバにおいては、受信した移動情報がオブジェクトの移動を示すときには、同一階層構造内でオブジェクトの移動が行われる。また、受信した移動情報がオブジェクトの作成を示し、作成対象のオブジェクトがファイルシステムに登録済みで、かつ、付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なるときには、既登録のオブジェクトが付加情報により特定される上位階層下へ移動される。さらに、受信した移動情報がオブジェクトの削除を示し、かつ、付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であるときには、既登録のオブジェクトが削除される。
【００１３】
請求項３記載の発明は、複数の階層構造のオブジェクトを登録するファイルシステムと、該ファイルシステムを管理するサーバと、を含んで構成され、前記サーバと他のサーバ間で任意の情報伝達経路を構築し、蓄積交換型の通信方式を用いて処理対象となるオブジェクトの情報交換を行う電子会議システムにおけるオブジェクトの移動処理プログラムを記録したコンピュータ読取可能な記録媒体であって、前記ファイルシステムに登録されているオブジェクトの移動が行われたとき、その移動が最上位に位置する一のオブジェクト及びその下位に位置する少なくとも１つの他のオブジェクトからなる階層構造内で行われたのであれば、オブジェクトの移動を示す移動情報を作成する一方、その移動が異なる階層構造間で行われたのであれば、オブジェクトの作成及び削除を示す移動情報を作成すると共に、該移動情報に、少なくとも、移動先の上位階層を特定する付加情報、或いは、作成先及び削除元の上位階層を夫々特定する付加情報を付加して他のサーバに送信する移動情報送信機能と、移動情報を他のサーバから受信したとき、受信した移動情報がオブジェクトの移動を示していれば、同一の階層構造内でオブジェクトの移動を行い、受信した移動情報がオブジェクトの作成を示し、作成対象のオブジェクトが前記ファイルシステムに既に登録済みで、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが異なっていれば、既登録のオブジェクトを付加情報により特定される上位階層下へ移動し、受信した移動情報がオブジェクトの削除を示し、かつ、前記付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であれば、既登録のオブジェクトを削除する移動情報処理機能と、を前記サーバに実現させるようにした。
【００１４】
ここで、「媒体」とは、各種情報を確実に記録でき、かつ、必要に応じて確実に取り出し可能なものをいい、具体的には、紙カード（パンチカード）、紙テープ、磁気テープ、磁気ディスク、磁気ドラム、ＣＤ−ＲＯＭ、ＩＣカード等がある。
かかる構成によれば、ファイルシステムに登録されているオブジェクトの移動が行われたとき、移動情報を他のサーバに送信する移動情報送信機能と、移動情報を他のサーバから受信したとき、受信した移動情報に基づいてファイルシステムに登録されているオブジェクトの移動を行う移動情報処理機能と、をサーバに実現させるためのプログラムをコンピュータ読取可能な記録媒体に記録したので、このプログラムを記録した媒体があれば、本発明に係るオブジェクトの移動処理装置が容易に構築される。
【００１５】
【発明の実施の形態】
以下、添付された図面を参照して本発明を詳述する。
図１は、本発明に係る電子会議システムを、地理的に離れた４つのサイトＡ，Ｂ，Ｃ及びＤ間で実現した一実施形態のシステム構成を示す。即ち、電子会議システムは、サイトＡ，Ｂ，Ｃ及びＤ間を通信回線で相互に接続したクライアント／サーバモデルで実現される。なお、サーバ及びクライアントは、少なくとも中央処理装置（ＣＰＵ）とメモリとを備え、メモリ上のプログラムを実行する計算機である。
【００１６】
各サイトは、１つのサーバ１０と、少なくとも１つのクライアント３０と、を含んで夫々構成される。各サイト間は、通信回線４０を介して相互に接続され、また、通信回線４０の通信速度等を考慮して、蓄積交換型の通信方式によって情報交換が行われる。即ち、サイトＡのクライアント３０で発生した情報は、情報発生と同時にサイトＢ，Ｃ及びＤに送信されるのではなく、サイトＡで送信する情報を蓄積し、所定期間毎にまとめて送信される。
【００１７】
サーバ１０は、データベース１２（ファイルシステム）と、サーバソフト１４と、コマンドキュー１６と、送信キュー１８と、受信キュー２０と、を含んで構成される。サーバソフト１４は、データベース１２の参照及び更新等を行う。コマンドキュー１６は、サイトで発生した情報の操作内容を蓄積する。送信キュー１８は、他のサイトへ送信する情報を蓄積する。受信キュー２０は、他のサイトから受信した情報を蓄積する。コマンドキュー１６、送信キュー１８及び受信キュー２０は、ＦＩＦＯ（First In First Out）型の待ち行列を形成するファイルにより夫々構成される。
【００１８】
なお、サーバソフト１４は、移動情報送信手段、移動情報処理手段、第１の情報作成手段、第２の情報作成手段、情報付加手段、第１の処理手段、第２の処理手段、第３の処理手段、移動情報送信工程、移動情報処理工程、移動情報送信機能、移動情報処理機能として作用する。
【００１９】
データベース１２には、情報交換を行う単位（入れ物）となるフォーラムが作成される。フォーラムは、図２に示すように、階層構造をとることができ、最上位のフォーラムＡは「メインフォーラム」、その他のフォーラムＢ1 ，Ｂ2 ，Ｃは「サブフォーラム」と呼ばれる。なお、サブフォーラムは、同一階層に複数設定することができ、図２においては、フォーラムＢ1 とフォーラムＢ2 とは、同一階層のフォーラムとなる。
【００２０】
各フォーラムには、図３に示すように、階層構造のメッセージが含まれる。最上位のメッセージＡは「トピック」と呼ばれ、例えば、「・・・について」のように主題（表題）が提起される。その他のメッセージＢ，Ｃ1 ，Ｃ2 ，Ｄは「リプライ」と呼ばれ、あるメッセージに対する返答が行われる。なお、あるメッセージに対する返答は、複数行うことができ、図３においては、メッセージＢに対する返答は、メッセージＣ1 及びＣ2 となる。
【００２１】
フォーラムが作成されたサイトには、フォーラムの原型（オリジナル）が格納され、他のサイトには、フォーラムの複製（レプリカ）が格納される。そして、電子会議システムにおけるフォーラムの利用者は、自分が属するサイトのフォーラム（原型か複製かを問わない）に対してメッセージの作成等の処理を行う。フォーラムに対して行った処理は、蓄積交換型の通信方式により、通信回線４０を介して他のサイトに伝達され、他のサイトのフォーラムに反映される。即ち、各サイトにおけるフォーラムの内容には、時間的なずれが生じている。
【００２２】
データベース１２の内容をさらに詳しく説明すると、図４に示すように、データベース１２には、フォーラムを定義するフォーラムオブジェクト５０と、メッセージを定義するメッセージオブジェクト５２と、電子会議システムの利用者（ユーザー）を定義するユーザーオブジェクト５４と、サイトを示すサイトオブジェクト５６と、が含まれる。各オブジェクトは、電子会議システム全体で、ユニークなオブジェクトＩＤ（識別番号）が付される。即ち、オブジェクトＩＤは、電子会議システム全体で設定されるユニークなサーバＩＤと、各サイトのオブジェクト毎に設定されるユニークなＩＤと、によって決定される。例えば、３２ビットでオブジェクトＩＤを表わす場合には、図５に示すように、上位１６ビットにサーバＩＤを、下位１６ビットに各サイトのオブジェクト毎に設定されるＩＤを、設定することで、電子会議システム全体において、オブジェクトＩＤがユニークなものとなる。
【００２３】
フォーラムオブジェクト５０には、フォーラムの名前、作成者、作成日及び説明文と、フォーラムの階層構造を定義する構造情報と、が含まれる。構造情報には、１階層上のフォーラムオブジェクトを示すオブジェクトＩＤと、最上位のメインフォーラムオブジェクトを示すオブジェクトＩＤと、が含まれる。
メッセージオブジェクト５２には、主題（表題「・・・について」）、作成者、作成日及びメッセージ本文（メッセージの内容）と、メッセージの階層構造を定義する構造情報と、が含まれる。構造情報には、どのメッセージに対する返答であるかを示す１階層上のメッセージオブジェクトのオブジェクトＩＤと、どのトピックに属するかを示すトピックオブジェクトのオブジェクトＩＤと、どのフォーラムに属するかを示すフォーラムオブジェクトのオブジェクトＩＤと、が含まれる。  ユーザーオブジェクト５４には、データベース１２を利用可能なクライアント３０のクライアント名と、各クライアント３０がログオンするためのパスワード等の情報と、が含まれる。従って、クライアント３０からデータベース１２の参照要求があったときには、ユーザーオブジェクト５４の内容を調べて、そのクライアント３０にはデータベース１２の参照権限があるのか等を判断することができる。
【００２４】
サイトオブジェクト５６には、データベース１２を利用可能なクライアント３０を示すクライアントＩＤと、利用可能な他のサイトを示すオブジェクトＩＤと、が含まれる。
また、各フォーラムには、どのサイトと情報交換を行うかを定義する宛先情報が登録される。例えば、図６に示すように、サイトＡとサイトＢとのフォーラムＡの間で情報交換を行う場合、サイトＡのフォーラムＡには宛先情報５８としてサイトＢが、サイトＢのフォーラムＡには宛先情報５８としてサイトＡが登録される。従って、サイトＡで発生した情報は、登録された宛先情報５８を参照することで、どのサイトに送信するかが判断され、情報はサイトＢに送信されることとなる。  ここで、かかる構成からなる電子会議システムの作用について説明する。
【００２５】
先ず、サイト間で行われる情報交換の概略について、図７の処理流れ図を参照しつつ説明する。なお、図７に示す電子会議システムでは、説明の便宜上、サイトＡとサイトＢとの間で情報交換が行われるものとする。
電子会議システムの利用者が、例えば、サイトＡのクライアント３０からフォーラムやメッセージ（以下「オブジェクト」という）の作成、削除、更新或いは移動を行うと、サイトＡのサーバソフト１４は、サイトＡのデータベース１２に対して、オブジェクトの操作に応じた登録処理を行う（処理 1）。これと同時に、サーバソフト１４は、データベース１２から操作対象のオブジェクトのオブジェクトＩＤ等を検索し（処理 2）、後述するコマンドオブジェクトを作成して、コマンドキュー１６にコマンドオブジェクトを登録する（処理 3）。
【００２６】
なお、コマンドオブジェクトは、操作の種類（オブジェクトの作成、削除、更新或いは移動）と、情報が発生したサイトを示すオブジェクトＩＤと、情報を送信する宛先としてのサイトを示すオブジェクトＩＤと、操作対象としてのオブジェクトを示すオブジェクトＩＤと、各操作固有の情報（例えば、オブジェクトの移動の場合には、移動元と移動先を示す情報）と、を含んで構成される。
【００２７】
コマンドキュー１６に登録されたコマンドオブジェクトは、サーバ１０の処理能力に余裕ができたバックグラウンドで、コマンドキュー１６から取り出される（処理 4）。そして、必要に応じて、処理対象のオブジェクトの本体（例えば、メッセージの場合には本文）がデータベース１２から検索され（処理 5）、コマンドオブジェクト及び処理対象のオブジェクト本体（以下「送信情報」という）が送信キュー１８に登録される（処理 6）。このとき、送信情報の最適化処理及び順番保証処理が行われる。即ち、情報の最適化処理とは、コマンドキュー１６に登録されたコマンドオブジェクトの内、実質的に何の作用も行わないコマンドオブジェクトを削除して、情報伝達量を最小にする処理である。また、情報の順番保証処理とは、蓄積交換型の通信方式に起因する情報伝達の順番に矛盾が生じないようにする処理である。
【００２８】
送信キュー１８に登録された送信情報は、所定期間毎に、送信キュー１８から取り出される。そして、取り出された送信情報に含まれる宛先としてのサイトを示すオブジェクトＩＤに基づいて送信先が決定され、送信情報は、通信回線４０を介してサイトＢに送信される（処理 7）。ここで、所定期間は、電子会議システムの管理者が任意に設定でき、例えば、通信回線４０に余裕がある深夜や早朝に、送信情報が通信されるように設定される。
【００２９】
一方、サイトＡからサイトＢに送信された送信情報は、サイトＢにおいて直ぐに処理されず、受信キュー２０に一旦蓄積される。そして、受信キュー２０に蓄積された送信情報は、サイトＢのサーバ１０のバックグラウンドで、受信キュー２０から取り出され（処理 8）、送信情報に応じてデータベース１２への登録処理が行われる（処理 9）。このとき、情報交換先の宛先矛盾の検出及び修正処理、情報内容の矛盾検出及び修正処理、オブジェクトの移動処理等が行われる。即ち、宛先矛盾の検出及び修正処理とは、送信情報を受信したサイトで登録される宛先情報５８に矛盾が発生したとき、これを自動的に検出し或いは修正する処理である。また、情報内容の矛盾検出及び修正処理とは、送信情報を受信したサイトで登録される情報内容に矛盾が発生したとき、これを自動的に検出し或いは修正する処理である。さらに、オブジェクトの移動処理とは、情報伝達経路が異なるフォーラム間でオブジェクトの移動があった場合に、情報伝達の順番に関わらず移動処理が正しく行われるようにする処理である。
【００３０】
この他には、各サイトのサーバ１０において、何らかの原因（例えば、停電等による電源の遮断）によってシステムダウン等の障害が発生した場合に、サーバ１０を障害発生直前の状態に戻すためのリカバリディスクの作成が行われる。リカバリディスクの作成は、各サイトにおいて、受信キュー２０から送信情報を取り出して処理する際、或いは、システム管理者の明示の指示に基づいて行われる。そして、システムダウン等の障害が発生したときには、システム管理者の手動操作により、リカバリディスクの内容に基づいて、サーバ１０が障害発生直前の状態に復旧され、情報交換の支障を極力小さくする。
【００３１】
以上説明した情報交換は、サーバソフト１４がソフトウエア的に実行する処理によって実現される。
図８〜図１２は、各サイトにおいて、クライアント３０からサーバ１０に対して、オブジェクトの作成、削除、更新或いは移動の処理要求があったときに、実行される処理を示す。
【００３２】
図８は、メインルーチンである。
ステップ１（図では「Ｓ１」と略記する。以下同様) では、クライアント３０からの処理要求がオブジェクトの作成であるか否かを判断する。そして、処理要求がオブジェクトの作成であればステップ１０へと進み（Ｙｅｓ）、オブジェクトの作成処理を行うサブルーチン（図９参照）を実行する。一方、処理要求がオブジェクトの作成でなければステップ２へと進む（Ｎｏ）。
【００３３】
ステップ２では、クライアント３０からの処理要求がオブジェクトの削除であるか否かを判断する。そして、処理要求がオブジェクトの削除であればステップ２０へと進み（Ｙｅｓ）、オブジェクトの削除処理を行うサブルーチン（図１０参照）を実行する。一方、処理要求がオブジェクトの削除でなければステップ３へと進む（Ｎｏ）。
【００３４】
ステップ３では、クライアント３０からの処理要求がオブジェクトの更新であるか否かを判断する。そして、処理要求がオブジェクトの更新であればステップ３０へと進み（Ｙｅｓ）、オブジェクトの更新処理を行うサブルーチン（図１１参照）を実行する。一方、処理要求がオブジェクトの更新でなければステップ４へと進む（Ｎｏ）。
【００３５】
ステップ４では、クライアント３０からの処理要求がオブジェクトの移動であるか否かを判断する。そして、処理要求がオブジェクトの移動であればステップ４０へと進み（Ｙｅｓ）、オブジェクトの移動処理を行うサブルーチン（図１２参照）を実行する。一方、処理要求がオブジェクトの移動でなければステップ５へと進む（Ｎｏ）。
【００３６】
ステップ５では、クライアント３０からの処理要求がオブジェクトの作成、削除、更新或いは移動のいずれでもないので、処理要求はエラーであると判断し、例えば、クライアント３０を操作する利用者に、操作がエラーであるとの旨を表示する等のエラー処理を実行する。
図９は、オブジェクトの作成処理を行うサブルーチンである。
【００３７】
ステップ１１では、オブジェクトの作成要求を発生したクライアント３０が属するサイトにおいて、データベース１２にオブジェクトを作成する。
ステップ１２では、オブジェクトの作成が成功したか否かを判断する。そして、作成が成功したときにはステップ１３へと進み（Ｙｅｓ）、作成が失敗したときにはステップ１４へと進む（Ｎｏ）。
【００３８】
ステップ１３では、オブジェクトの作成を示すコマンドオブジェクトを作成し、コマンドキュー１６にコマンドオブジェクトを登録する。
ステップ１４では、オブジェクトの作成が失敗したので、例えば、クライアント３０の操作者に、オブジェクトの作成が失敗した旨を表示する等のエラー処理を実行する。
【００３９】
図１０は、オブジェクトの削除処理を行うサブルーチンである。
ステップ２１では、オブジェクトの削除要求を発生したクライアント３０が属するサイトにおいて、データベース１２からオブジェクトを削除する。
ステップ２２では、オブジェクトの削除が成功したか否かを判断する。そして、削除が成功したときにはステップ２３へと進み（Ｙｅｓ）、削除が失敗したときにはステップ２４へと進む（Ｎｏ）。
【００４０】
ステップ２３では、オブジェクトの削除を示すコマンドオブジェクトを作成し、コマンドキュー１６にコマンドオブジェクトを登録する。
ステップ２４では、オブジェクトの削除が失敗したので、例えば、クライアント３０の操作者に、オブジェクトの削除が失敗した旨を表示する等のエラー処理を実行する。
【００４１】
図１１は、オブジェクトの更新処理を行うサブルーチンである。
ステップ３１では、オブジェクトの更新要求を発生したクライアント３０が属するサイトにおいて、データベース１２のオブジェクトを更新する。
ステップ３２では、オブジェクトの更新が成功したか否かを判断する。そして、更新が成功したときにはステップ３３へと進み（Ｙｅｓ）、更新が失敗したときにはステップ３４へと進む（Ｎｏ）。
【００４２】
ステップ３３では、オブジェクトの更新を示すコマンドオブジェクトを作成し、コマンドキュー１６にコマンドオブジェクトを登録する。
ステップ３４では、オブジェクトの更新が失敗したので、例えば、クライアント３０の操作者に、オブジェクトの更新が失敗した旨を表示する等のエラー処理を実行する。
【００４３】
図１２は、オブジェクトの移動処理を行うサブルーチンであり、移動情報送信手段、移動情報送信工程、移動情報送信機能に相当する。
ステップ４１では、オブジェクトの移動要求を発生したクライアント３０が属するサイトにおいて、データベース１２のオブジェクトを移動する。
ステップ４２では、オブジェクトの移動が成功したか否かを判断する。そして、移動が成功したときにはステップ４３へと進み（Ｙｅｓ）、移動が失敗したときにはステップ４６へと進む（Ｎｏ）。
【００４４】
ステップ４３では、オブジェクトの移動は同一メインフォーラム内であるか否かを判断する。そして、同一メインフォーラム内の移動であればステップ４４へと進み（Ｙｅｓ）、同一メインフォーラム内の移動でなければステップ４５へと進む（Ｎｏ）。
ステップ４４では、オブジェクトの移動を示すコマンドオブジェクトを作成し、コマンドキュー１６にコマンドオブジェクトを登録する。なお、ステップ４３及びステップ４４の処理が、第１の情報作成手段に相当する。
【００４５】
ステップ４５では、オブジェクトの作成及び削除を示すコマンドオブジェクトを夫々作成し、コマンドキュー１６にコマンドオブジェクトを夫々登録する。即ち、オブジェクトの移動処理を、オブジェクトの作成処理と削除処理とで代替することによって、後述する不都合を回避する。なお、ステップ４３及びステップ４５の処理が、第２の情報作成手段に相当し、また、ステップ４４及びステップ４５の処理が、情報付加手段に相当する。
【００４６】
ステップ４６では、オブジェクトの移動が失敗したので、例えば、クライアント３０の操作者に、オブジェクトの移動が失敗した旨を表示する等のエラー処理を実行する。
以上説明した図８〜図１２の処理によれば、クライアント３０からオブジェクトの作成、削除、更新或いは移動の処理要求があると、処理要求内容を解析して、夫々の処理を行うサブルーチンが実行される。各処理を実行するサブルーチンでは、オブジェクトの処理要求が発生したサイトにおいて、リアルタイムにオブジェクトの処理が実行される一方、処理内容を示すコマンドオブジェクトがコマンドキュー１６に登録される。
【００４７】
図１３〜図１９は、各サイトにおいて、サーバ１０のバックグラウンドでコマンドキュー１６からコマンドオブジェクトを取り出し、これを送信キュー１８に登録する際に実行される処理を示す。なお、図１４〜図１８の処理が情報の最適化処理であり、また、図１９の処理が情報の順番保証処理である。
図１３は、メインルーチンである。
【００４８】
ステップ５０では、情報の最適化処理を行うサブルーチンを実行する。
ステップ１２０では、情報の順番保証処理を行うサブルーチンを実行する。
図１４は、情報の最適化処理を行うサブルーチンである。
ステップ５１では、コマンドキュー１６に登録されているコマンドオブジェクトを読み込み、メモリ上に展開する。即ち、メモリ上にコマンドキュー１６の複製を作成する。
【００４９】
ステップ５２では、メモリ上に展開されたコマンドキュー（以下「メモリ上のコマンドキュー」という）の最新の項目（コマンドオブジェクトのことをいう。以下同様）からサーチを開始する。即ち、第１回目の処理では最新の項目に着目し、第２回目以降の処理では順次次の項目に着目する。
ステップ５３では、着目している項目がメッセージの削除を示すコマンドオブジェクトであるか否かを判断する。かかる判断（メッセージの更新、フォーラムの削除或いは更新か否かの判断も含む）は、コマンドオブジェクトに含まれる操作の種類を調べることによって行われる。そして、メッセージの削除であるときにはステップ６０へと進み（Ｙｅｓ）、メッセージの削除に係るキュー処理を行うサブルーチン（図１５）を実行する。一方、メッセージの削除でないときにはステップ５４へと進む（Ｎｏ）。
【００５０】
ステップ５４では、着目している項目がメッセージの更新を示すコマンドオブジェクトであるか否かを判断する。そして、メッセージの更新であるときにはステップ８０へと進み（Ｙｅｓ）、メッセージの更新に係るキュー処理を行うサブルーチン（図１６）を実行する。一方、メッセージの更新でないときにはステップ５５へと進む（Ｎｏ）。
【００５１】
ステップ５５では、着目している項目がフォーラムの削除を示すコマンドオブジェクトであるか否かを判断する。そして、フォーラムの削除であるときにはステップ９０へと進み（Ｙｅｓ）、フォーラムの削除に係るキュー処理を行うサブルーチン（図１７）を実行する。一方、フォーラムの削除でないときにはステップ５６へと進む（Ｎｏ）。
【００５２】
ステップ５６では、着目している項目がフォーラムの更新を示すコマンドオブジェクトであるか否かを判断する。そして、フォーラムの更新であるときにはステップ１１０へと進み（Ｙｅｓ）、フォーラムの更新に係るキュー処理を行うサブルーチン（図１８）を実行する。一方、フォーラムの更新でないときにはステップ５７へと進む（Ｎｏ）。
【００５３】
ステップ５７では、メモリ上のコマンドキューに含まれる全ての項目を処理したか否かが判断される。そして、全ての項目が処理されたときには本ルーチンを終了し（Ｙｅｓ）、全ての項目が処理されていないときにはステップ５１へと戻る（Ｎｏ）。
図１５は、情報の最適化処理において実行されるメッセージの削除に係るキュー処理を行うサブルーチンである。
【００５４】
ステップ６１では、メモリ上のコマンドキューにメッセージの作成を示すコマンドオブジェクトが登録されているか否かを示すフラグ（Ｆｌａｇ）を、「０」に設定する初期化を行う。  ステップ６２では、メモリ上のコマンドキューにおいて、削除対象のメッセージと同一のオブジェクトＩＤを有する項目を、削除対象のメッセージの次の項目からサーチする。即ち、第１回目の処理では削除対象のメッセージの次の項目に着目し、第２回目以降の処理では順次次の項目に着目する。
【００５５】
ステップ６３では、着目している項目がメッセージの作成を示すコマンドオブジェクトであるか否かを判断する。そして、メッセージの作成であるときにはステップ６４へと進み（Ｙｅｓ）、フラグを「１」に設定する。一方、メッセージの作成でないときにはステップ６５へと進む（Ｎｏ）。
ステップ６５では、着目している項目がメッセージの更新を示すコマンドオブジェクトであるか否かを判断する。そして、メッセージの更新であるときにはステップ６６へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からメッセージの更新を示すコマンドオブジェクトを削除する。一方、メッセージの更新でないときにはステップ６７へと進む（Ｎｏ）。
【００５６】
ステップ６７では、削除対象のメッセージはトピックであるか否かを判断する。かかる判断は、コマンドオブジェクトに含まれる操作対象を示すオブジェクトＩＤと、メッセージオブジェクトに含まれるトピックのオブジェクトＩＤと、が同一であるか否かを調べることで判断できる。そして、削除対象がトピックであるときにはステップ６８へと進み（Ｙｅｓ）、削除対象がトピックでないときにはステップ７１へと進む（Ｎｏ）。
【００５７】
ステップ６８では、メモリ上のコマンドキューにおいて、削除対象であるトピックの階層下のメッセージ（リプライ）をサーチする。
ステップ６９では、トピックの階層下にメッセージが見つかったか否かを判断する。そして、メッセージが見つかればステップ７０へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からメッセージを削除する。一方、メッセージが見つからなければステップ７１へと進む（Ｎｏ）。  ステップ７１では、メモリ上のコマンドキューの最後の項目まで処理したか否かを判断する。そして、最後の項目まで処理したならばステップ７２へと進み（Ｙｅｓ）、最後の項目まで処理していなければステップ６２へと戻る（Ｎｏ）。
【００５８】
ステップ７２では、フラグが「１」か否か、即ち、メモリ上のコマンドキューにメッセージの作成を示すコマンドオブジェクトがあったか否かを判断する。そして、フラグが「１」であればステップ７３へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からメッセージの作成を示すコマンドオブジェクトを削除する。一方、フラグが「０」であれば本ルーチンを終了する（Ｎｏ）。  以上説明したステップ６１〜ステップ７３の処理によれば、ファイル上のコマンドキュー１６にメッセージの削除を示すコマンドオブジェクトがある場合、メッセージの削除を実行する前に行われるメッセージの更新処理は、実質的に何の作用も及ぼさないので、かかるメッセージの更新を示すコマンドオブジェクトを削除することで、他のサイトへ送信する情報量が削減される。また、コマンドキュー１６に、メッセージの作成を示すコマンドオブジェクトが見つからなかったときには、既にメッセージの作成が行われていると判断できるので、メッセージの削除を示すコマンドオブジェクトを削除しないようにし、不具合が生じないようにしている。さらに、削除対象のメッセージがトピックである場合、トピックの階層下のメッセージ（リプライ）を全て削除するようにしたので、他のサイトに送信する情報量をさらに低減することができる。
【００５９】
図１６は、情報の最適化処理において実行されるメッセージの更新に係るキュー処理を行うサブルーチンである。
ステップ８１では、メモリ上のコマンドキューにおいて、変更対象のメッセージと同一のオブジェクトＩＤを有し、かつ、メッセージの変更を示すコマンドオブジェクトを、変更対象のメッセージの次の項目からサーチする。即ち、第１回目の処理では更新対象のメッセージの次の項目に着目し、第２回目以降の処理では順次次の項目に着目する。
【００６０】
ステップ８２では、メッセージの変更を示すコマンドオブジェクトが見つかったか否かを判断する。そして、メッセージの変更を示すコマンドオブジェクトが見つかればステップ８３へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からメッセージの変更を示すコマンドオブジェクトを削除する。一方、メッセージの変更を示すコマンドオブジェクトが見つからなければステップ８４へと進む（Ｎｏ）。
【００６１】
ステップ８４では、メモリ上のコマンドキューの最後の項目まで処理したか否かを判断する。そして、最後の項目まで処理したならば本ルーチンを終了し（Ｙｅｓ）、最後の項目まで処理していなければステップ８１へと戻る（Ｎｏ）。
以上説明したステップ８１〜ステップ８４の処理によれば、ファイル上のコマンドキュー１６に登録されているメッセージの変更を示すコマンドオブジェクトの内、最新のコマンドオブジェクトを除き、他のコマンドオブジェクトがコマンドキュー１６から削除される。即ち、複数回のメッセージの更新が行われても、最新のコマンドオブジェクトさえあれば、フォーラムを最新の内容にすることができるので、実質的に何の作用も及ぼさないコマンドオブジェクトを削除することで、他のサイトに送信する情報量を削減することができる。
【００６２】
図１７は、情報の最適化処理において実行されるフォーラムの削除に係るキュー処理を行うサブルーチンである。
ステップ９１では、メモリ上のコマンドキューにフォーラムの作成を示すコマンドオブジェクトが登録されているか否かを示すフラグ（Ｆｌａｇ）を、「０」に設定する初期化を行う。  ステップ９２では、メモリ上のコマンドキューにおいて、削除対象のフォーラムと同一のオブジェクトＩＤを有する項目を、削除対象のフォーラムの次の項目からサーチする。即ち、第１回目の処理では削除対象のフォーラムの次の項目に着目し、第２回目以降の処理では順次次の項目に着目する。
【００６３】
ステップ９３では、着目している項目がフォーラムの作成を示すコマンドオブジェクトであるか否かを判断する。そして、フォーラムの作成であるときにはステップ９４へと進み（Ｙｅｓ）、フラグを「１」に設定する。一方、フォーラムの作成でないときにはステップ９５へと進む（Ｎｏ）。
ステップ９５では、着目している項目がフォーラムの更新を示すコマンドオブジェクトであるか否かを判断する。そして、フォーラムの更新であるときにはステップ９６へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からフォーラムの更新を示すコマンドオブジェクトを削除する。一方、メッセージの更新でないときにはステップ９７へと進む（Ｎｏ）。
【００６４】
ステップ９７では、メモリ上のコマンドキューにおいて、削除対象であるフォーラムに含まれるメッセージをサーチする。
ステップ９８では、削除対象のフォーラム中にメッセージが見つかったか否かを判断する。そして、メッセージが見つかればステップ９９へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からメッセージを削除する。一方、メッセージが見つからなければステップ１００へと進む（Ｎｏ）。
【００６５】
ステップ１００では、メモリ上のコマンドキューの最後の項目まで処理したか否かを判断する。そして、最後の項目まで処理したならばステップ１０１へと進み（Ｙｅｓ）、最後の項目まで処理していなければステップ９２へと戻る（Ｎｏ）。
ステップ１０１では、フラグが「１」か否か、即ち、メモリ上のコマンドキューにフォーラムの作成を示すコマンドオブジェクトがあったか否かを判断する。そして、フラグが「１」であればステップ１０２へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からフォーラムの作成を示すコマンドオブジェクトを削除する。一方、フラグが「０」であれば本ルーチンを終了する（Ｎｏ）。
【００６６】
以上説明したステップ９１〜ステップ１０２の処理によれば、ファイル上のコマンドキュー１６にフォーラムの削除を示すコマンドオブジェクトがある場合、フォーラムの削除を実行する前に行われるフォーラムの更新処理は、実質的に何の作用も及ぼさないので、かかるフォーラムの更新を示すコマンドオブジェクトを削除することで、他のサイトへ送信する情報量が削減される。また、コマンドキューに、フォーラムの作成を示すコマンドオブジェクトが見つからなかったときには、既にフォーラムの作成が行われていると判断できるので、フォーラムの削除を示すコマンドオブジェクトを削除しないようにし、不具合が生じないようにしている。さらに、フォーラムを削除することは、フォーラムに含まれるメッセージの削除をも意味するので、かかるメッセージを削除することで、他のサイトに送信する情報量をさらに低減することができる。
【００６７】
図１８は、情報の最適化処理において実行されるフォーラムの更新に係るキュー処理を行うサブルーチンである。
ステップ１１１では、メモリ上のコマンドキューにおいて、変更対象のフォーラムと同一のオブジェクトＩＤを有し、かつ、フォーラムの変更を示すコマンドオブジェクトを、変更対象のフォーラムの次の項目からサーチする。即ち、第１回目の処理では更新対象のフォーラムの次の項目に着目し、第２回目以降の処理では順次次の項目に着目する。
【００６８】
ステップ１１２では、フォーラムの変更を示すコマンドオブジェクトが見つかったか否かを判断する。そして、フォーラムの変更を示すコマンドオブジェクトが見つかればステップ１１３へと進み（Ｙｅｓ）、ファイル上のコマンドキュー１６からフォーラムの変更を示すコマンドオブジェクトを削除する。一方、フォーラムの変更を示すコマンドオブジェクトが見つからなければステップ１１４へと進む（Ｎｏ）。
【００６９】
ステップ１１４では、メモリ上のコマンドキューの最後の項目まで処理したか否かを判断する。そして、最後の項目まで処理したならば本ルーチンを終了し（Ｙｅｓ）、最後の項目まで処理していなければステップ１１１へと戻る（Ｎｏ）。
以上説明したステップ１１１〜ステップ１１４の処理によれば、ファイル上のコマンドキュー１６に登録されているフォーラムの変更を示すコマンドオブジェクトの内、最新のコマンドオブジェクトを除き、他のコマンドオブジェクトがコマンドキュー１６から削除される。即ち、複数回のフォーラムの更新が行われても、最新のコマンドオブジェクトさえあれば、フォーラムを最新の内容にすることができるので、実質的に何の作用も及ぼさないコマンドオブジェクトを削除することで、他のサイトに送信する情報量を削減することができる。
【００７０】
従って、図１４〜図１８に示す情報の最適化処理によれば、情報の送信に関して不具合を生じさせず、他のサイトに送信する情報量を大幅に低減することができ、通信効率を飛躍的に向上することができる。
図１９は、情報の順番保証処理のサブルーチンである。
ステップ１２１では、管理テーブルの初期化を行う。即ち、管理テーブルは、他のサイトに情報を送信する際に、例えば、通信回線４０の故障等により送信ができなかったサイトを登録するものである。
【００７１】
ステップ１２２では、ファイル上のコマンドキュー１６からコマンドオブジェクトを１つ読み込み、送信先を示す宛先を取得する。
ステップ１２３では、取得した宛先が管理テーブルに登録されているか否かを判断する。そして、宛先が管理テーブルに登録されているときにはステップ１２７へと進み（Ｙｅｓ）、宛先が管理テーブルに登録されていないときにはステップ１２４へと進む（Ｎｏ）。
【００７２】
ステップ１２４では、コマンドオブジェクトから取得した宛先に、通信回線４０を介して、コマンドオブジェクト及びこれに付随する情報（以下「コマンドオブジェクト」と略記する）を送信する。
ステップ１２５では、送信が失敗したか否かを判断する。そして、送信が失敗したならばステップ１２６へと進み（Ｙｅｓ）、送信が失敗した宛先を管理テーブルに登録する。一方、送信が成功したならばステップ１２７へと進む（Ｎｏ）。なお、送信が失敗したコマンドオブジェクトは、ファイル上のコマンドキュー１６から削除せず、本ルーチンにおける次回の処理で再送信が行われる。
【００７３】
ステップ１２７では、ファイル上のコマンドキュー１６の全てのコマンドオブジェクトを処理したか否かを判断する。そして、全てのコマンドオブジェクトを処理したならば本ルーチンを終了し（Ｙｅｓ）、全てのコマンドオブジェクトを処理していなければステップ１２２へと戻る（Ｎｏ）。
以上説明したステップ１２１〜ステップ１２７の処理によれば、コマンドオブジェクトの送信に失敗した宛先は、管理テーブルに登録される。そして、コマンドオブジェクトは、管理テーブルに登録されている宛先には送信されず、かつ、ファイル上のコマンドキュー１６から削除されない。従って、通信回線４０の故障等に起因してコマンドオブジェクトが正常に送信されなかった場合であっても、通信情報の順番保証が行われ、不具合が生じない。さらに、付加的な効果であるが、通信エラーが生じた宛先には、今回の送信処理において送信が行われないので、無駄な送信が行われず、通信回線の占有時間を短縮することができる。なお、今回の処理において送信されなかったコマンドオブジェクトは、所定期間を経過した次回の送信処理で再送信が行われる。これは、所定時間経過するまでに、通信回線の故障等が直っている場合があるからである。
【００７４】
図２０〜図２４は、各サイトにおいて、サーバ１０のバックグラウンドで受信キュー２０からコマンドオブジェクトを１つ取り出し、その処理を行う際に実行される処理を示す。
図２０は、メインルーチンである。
ステップ１３０では、受信キュー２０からコマンドオブジェクトを取り出す。
【００７５】
ステップ１４０では、宛先矛盾のチェック処理を行うサブルーチン（図２１）を実行する。  ステップ１５０では、情報内容矛盾のチェック処理を行うサブルーチン（図２２）を実行する。  ステップ１７０では、データベース１２への登録処理を行うサブルーチン（図２３）を実行する。
ステップ１９０では、リカバリ情報の作成処理を行うサブルーチン（図２４）を実行する。  図２１は、宛先矛盾のチェック処理を行うサブルーチンである。
【００７６】
ステップ１４１では、受信キュー２０から取り出したコマンドオブジェクトに含まれるオブジェクトＩＤを解析し、送信元のサイト及び処理対象となるフォーラムを取得する。
ステップ１４２では、データベース１２に登録されている処理対象のフォーラムにおいて、登録されている宛先情報内に、ステップ１４１で取得した送信元のサイトがあるか否かをチェックする。
【００７７】
ステップ１４３では、宛先情報内に送信元のサイトがあれば本ルーチンを終了し（Ｙｅｓ）、宛先情報内に送信元のサイトがなければステップ１４４へと進む（Ｎｏ）。
ステップ１４４では、データベース１２に登録されている処理対象のフォーラムに、その宛先情報としてステップ１４１で取得した送信元のサイトを登録する。
【００７８】
以上説明したステップ１４１〜ステップ１４３の処理によれば、あるサイトにおいて、リカバリディスクによるフォーラムの復旧が行われ、宛先情報に矛盾が発生しても、送信されたコマンドオブジェクトに基づいて、自動的に宛先情報の矛盾検出及び修正が行われる。従って、送信されるべき情報が送信されないという事態の発生が防止され、電子会議システムの信頼性を向上することができる。
【００７９】
図２２は、情報内容の矛盾チェック処理を行うサブルーチンである。
情報内容の矛盾は、例えば、次のような場合に発生する。先ず、サイトＡ〜サイトＥによって電子会議システムが構築され、サイトＡからサイトＢを経てサイトＣへ情報が伝達されると共に、サイトＡからサイトＤを経てサイトＥに情報が伝達される情報伝達経路を考える。この状態において、例えば、サイトＤでリカバリディスクに基づいてデータベース１２を復旧したところ、リカバリディスクが古いため、サイトＤの情報交換先としてサイトＥが登録されていない状態に戻ってしまう場合がある。すると、サイトＤからサイトＥには情報が伝達されず、サイトＥの利用者は情報が伝達されなかったことに気が付かないことが多く、結果として、重要な情報が伝達されないおそれがあった。
【００８０】
そこで、以下説明する情報内容の矛盾チェック処理により、情報内容の矛盾発生を自動的に検出し或いは修正することで、電子会議システムの信頼性を向上するようにした。
ステップ１５１では、受信キュー２０から取り出したコマンドオブジェクトに含まれるオブジェクトＩＤを解析し、処理対象となるフォーラムのオブジェクトＩＤを取得する。即ち、取得したフォーラムのオブジェクトＩＤが示すフォーラムに対して、オブジェクトの作成、更新等の処理が行われる。
【００８１】
ステップ１５２では、データベース１２中に処理対象となるフォーラムが存在するか否かを判断する。そして、フォーラムが存在するときにはステップ１５４へと進み（Ｙｅｓ）、フォーラムが存在しないときにはステップ１５３へと進む（Ｎｏ）。
ステップ１５３では、後述する削除情報の中に、処理対象となるフォーラムが存在するか否かを判断する。そして、削除情報の中にフォーラムが存在するときには本ルーチンを終了し（Ｙｅｓ）、フォーラムが存在しないときには情報内容に矛盾が発生したと判断し、ステップ１６０へと進む（Ｎｏ）。
【００８２】
ここで、削除情報とは、あるサイトにおいて、データベース１２に対する処理によって、データベース１２中からオブジェクトが削除された場合、オブジェクトが削除されたことを登録する情報である。従って、削除情報の中に処理対象となるフォーラムが存在する場合には、他のサイトから情報が送信される前に、フォーラムが削除されたものであるから、情報には矛盾が発生していないと判断することができる。なお、処理対象がメッセージである場合にも、同様に考えることができる。
【００８３】
ステップ１５４では、受信キュー２０から取り出したコマンドオブジェクトに含まれるオブジェクトＩＤを解析し、処理対象となるトピックのオブジェクトＩＤを取得する。
ステップ１５５では、処理対象となるフォーラムの中に、処理対象となるトピックが存在するか否かを判断する。そして、処理対象となるトピックが存在するときにはステップ１５７へと進み（Ｙｅｓ）、トピックが存在しないときにはステップ１５６へと進む（Ｎｏ）。
【００８４】
ステップ１５６では、削除情報の中に、処理対象となるトピックが存在するか否かを判断する。そして、削除情報の中にトピックが存在するときには本ルーチンを終了し（Ｙｅｓ）、トピックが存在しないときには情報内容に矛盾が発生したと判断し、ステップ１６０へと進む（Ｎｏ）。  ステップ１５７では、受信キュー２０から取り出したコマンドオブジェクトに含まれるオブジェクトＩＤを解析し、処理対象となるメッセージの親のメッセージのＩＤを取得する。
【００８５】
ステップ１５８では、処理対象となるフォーラムの中に、取得した親メッセージのＩＤが示す親メッセージが存在するか否かを判断する。そして、親メッセージが存在するときには本ルーチンを終了し（Ｙｅｓ）、親メッセージが存在しないときにはステップ１５９へと進む（Ｎｏ）。  ステップ１５９では、削除情報の中に、親メッセージが存在するか否かを判断する。そして、削除情報の中に親メッセージが存在するときには本ルーチンを終了し（Ｙｅｓ）、親メッセージが存在しないときには情報内容に矛盾が発生したと判断し、ステップ１６０へと進む（Ｎｏ）。  ステップ１６０では、コマンドオブジェクトに含まれるオブジェクトＩＤを解析して送信元のサイトを示すオブジェクトＩＤを取得し、送信元のサイトから処理対象となるフォーラム全体を取得する。
【００８６】
ステップ１６１では、データベース１２に登録されているフォーラムと、送信元のサイトから取得したフォーラムと、をマージ（併合）しつつデータベースの更新登録を行う。
以上説明したステップ１５１〜ステップ１６１の処理によれば、コマンドオブジェクトが示す処理対象のオブジェクトが、データベース１２に登録されていない場合、情報内容に矛盾が発生したと判断することができる。そして、情報内容に矛盾が発生したと判断された場合、送信元からフォーラム全体を取得し、取得したフォーラムに基づきベータベースに対してマージしつつ更新処理を行い、情報内容の修正を行う。従って、情報内容の矛盾が自動的に検出及び修正されるので、電子会議システムの信頼性を向上することができる。
【００８７】
図２３は、データベースへの登録処理を行うサブルーチンであり、移動情報処理手段、移動情報処理工程、移動情報処理機能に相当する。
ステップ１７１では、受信キュー２０から取り出したコマンドオブジェクトに含まれるオブジェクトＩＤを解析し、操作の種類（オブジェクトの作成、削除、更新或いは移動の別をいう。以下同様）を取得する。
【００８８】
ステップ１７２では、操作の種類はオブジェクトの作成であるか否かを判断する。そして、オブジェクトの作成であればステップ１７３へと進み（Ｙｅｓ）、オブジェクトの作成でなければステップ１７９へと進む（Ｎｏ）。
ステップ１７３では、作成対象となるオブジェクトは既に存在するか否かを判断する。そして、既に存在していればステップ１７４へと進み（Ｙｅｓ）、既に存在していなければステップ１７８へと進み（Ｎｏ）、オブジェクトの作成を行う。
【００８９】
ステップ１７４では、データベース１２から、作成対象となるオブジェクトの親オブジェクトＩＤを取得する。
ステップ１７５では、取得した親オブジェクトＩＤと、送信されたオブジェクトコマンドに含まれる親オブジェクトＩＤと、を比較する。
ステップ１７６では、取得した親オブジェクトＩＤと送信された親オブジェクトＩＤとが同一であるか否かを判断する。そして、オブジェクトＩＤが同一であれば本ルーチンを終了し（Ｙｅｓ）、オブジェクトＩＤが同一でなければステップ１７７へと進む（Ｎｏ）。
【００９０】
ステップ１７７では、オブジェクトの移動処理を行う。即ち、オブジェクトの移動処理は、既に存在する作成対象となるオブジェクトを、送信された作成情報中の親オブジェクトの階層下に移動する。なお、ステップ１７２〜ステップ１７７の処理が、第２の処理手段に相当する。
ステップ１７９では、操作の種類はオブジェクトの削除であるか否かを判断する。そして、オブジェクトの削除であればステップ１８０へと進み（Ｙｅｓ）、オブジェクトの削除でなければステップ１８４へと進み（Ｎｏ）、ステップ１８４で操作の種類に応じた処理を実行する。なお、ステップ１８４の処理が、第１の処理手段に相当する。
【００９１】
ステップ１８０では、データベース１２から、削除対象となるオブジェクトの親オブジェクトＩＤを取得する。
ステップ１８１では、取得した親オブジェクトＩＤと、送信されたオブジェクトコマンドに含まれる親オブジェクトＩＤと、を比較する。
ステップ１８２では、取得した親オブジェクトＩＤと送信された親オブジェクトＩＤとが同一であるか否かを判断する。そして、オブジェクトＩＤが同一であればステップ１８３に進み（Ｙｅｓ）、オブジェクトの削除を行う。一方、オブジェクトＩＤが同一でなければコマンドオブジェクトを無視し、本ルーチンを終了する（Ｎｏ）。なお、ステップ１７９〜ステップ１８３の処理が、第３の処理手段に相当する。
【００９２】
以上説明したステップ１７１〜ステップ１８４の処理によれば、メインフォーラムが異なるフォーラム間でオブジェクトの移動があっても、オブジェクトの移動元においては、オブジェクトの削除が実行され、一方、オブジェクトの移動先においては、オブジェクトの作成が行われる。従って、情報伝達の順序に関わらず、結果としてオブジェクトの移動が正しく実行される。
【００９３】
図２４は、リカバリ情報の作成処理を示すサブルーチンである。
ステップ１９１では、受信キュー２０から取り出したコマンドオブジェクトに含まれるオブジェクトＩＤを解析して、操作の種類を取得する。
ステップ１９２では、操作の種類はオブジェクトの作成であるか否かを判断する。そして、オブジェクトの作成であればステップ１９３へと進み（Ｙｅｓ）、作成対象のオブジェクトをリカバリディスクに登録する。一方、オブジェクトの作成でなければステップ１９４へと進む（Ｎｏ）。  ステップ１９４では、操作の種類はオブジェクトの削除であるか否かを判断する。そして、オブジェクトの削除であればステップ１９５へと進み（Ｙｅｓ）、オブジェクトの削除でなければ本ルーチンを終了する（Ｎｏ）。
【００９４】
ステップ１９５では、削除対象のオブジェクトをリカバリディスクから削除する。
以上説明したステップ１９１〜ステップ１９５の処理によれば、受信キュー２０からコマンドオブジェクトを取り出して処理する度に、リカバリディスクの更新が行われるので、リカバリディスクを常に最新の状態に保つことができる。従って、かかるリカバリディスクに基づいて、フォーラムの復旧を行うようにすれば、フォーラムを最新の状態に復旧できる。
【００９５】
なお、本実施形態においては、リカバリディスクの更新は、受信キュー２０からコマンドオブジェクトを取り出す度に実行されたが、電子会議システムの管理者の操作により、リカバリディスクの更新を実行するようにしてもよい。また、リカバリディスクは、データベース１２を構築するディスクと物理的に別体のディスクによって構成することが望ましい。
【００９６】
図２５は、電子会議システムの管理者の操作により、リカバリディスクの作成を行うメインルーチンである。
ステップ２００では、データベース１２から、登録されている全てのフォーラムをサーチする。  ステップ２０１では、サーチしたフォーラムの情報交換先であるサイトを示す宛先をリカバリディスクに登録する。
【００９７】
ステップ２０２では、サーチしたフォーラムを示すオブジェクトＩＤをリカバリディスクに登録する。
ステップ２０３では、サーチしたフォーラムに含まれる全てのメッセージをサーチする。  ステップ２０４では、サーチした全てのメッセージを示すオブジェクトＩＤをリカバリディスクに登録する。
【００９８】
以上説明したステップ２００〜ステップ２０４の処理によれば、電子会議システムの管理者からリカバリディスクの作成指示があると、データベース１２に登録されているフォーラムを示す全てのオブジェクトＩＤ、及び、フォーラムに含まれるメッセージを示す全てのオブジェクトＩＤが、リカバリディスクに登録される。従って、ディスクがクラッシュしてフォーラム情報が失われても、リカバリディスクに基づいて、後述する復旧処理により、データベースに登録されているフォーラム、及び、フォーラムに含まれるメッセージが復旧される。
【００９９】
図２６は、リカバリディスクに基づいてデータベース１２の復旧を行うメインルーチンを示している。なお、図２６の処理は、電子会議システムの管理者の指示によって実行される。
ステップ２１０では、リカバリディスクから登録されているフォーラムをサーチする。  ステップ２１１では、リカバリディスクに登録されている情報交換先であるサイトを示す宛先を読み込み、登録されているいずれかのサイトに接続する。接続先のサイトは、例えば、通信回線４０の空き状況等に応じて決定すればよい。
【０１００】
ステップ２１２では、接続したサイトから、ステップ２１０においてサーチしたフォーラムに含まれる全てのオブジェクトを取得する。
ステップ２１３では、取得したオブジェクトからリカバリディスクに登録されていないオブジェクトを削除する。
ステップ２１４では、リカバリディスクに登録されている全てのフォーラムに対して処理を行ったか否かを判断する。そして、全てのフォーラムの処理が行われたときには本ルーチンを終了し（Ｙｅｓ）、全てのフォーラムの処理が行われていないときにはステップ２１０へと戻り（Ｎｏ）、ステップ２１０〜ステップ２１３の処理を繰り返す。
【０１０１】
以上説明したステップ２１０〜ステップ２１４の処理によれば、電子会議システムの管理者の指示があったときには、リカバリディスクに登録されているフォーラムに基いて、通信回線４０を介して他のサイトからフォーラム全体が取得される。そして、リカバリディスクに登録されていないオブジェクトが、取得されたフォーラムから削除される。このようにしたのは、蓄積交換型の通信方式を採用しているため、あるサイトにおける操作が、他のサイトに反映されていない場合があるためである。
【０１０２】
このようにすることで、データベースをリカバリディスクを作成した時点の状態に復旧することができ、障害発生直前の状態に戻すことができる。
【０１０３】
【発明の効果】
以上説明したように、請求項１又は請求項２に記載の発明によれば、オブジェクトの作成を示す情報を受信した場合、そのオブジェクトが登録済みであり、かつ、付加情報で特定される上位階層と既登録のオブジェクトの上位階層とが同一でないときには、オブジェクトの移動を行うためのオブジェクトの作成を示す情報が先に伝達されたと判断されるので、既登録のオブジェクトを付加情報により特定される上位階層下へ移動する。また、オブジェクトの削除を示す情報を受信した場合、付加情報により特定される上位階層と既登録のオブジェクトの上位階層とが同一であるときには、オブジェクトの移動を行うためのオブジェクトの削除を示す情報が先に伝達されたと判断されるので、既登録のオブジェクトを削除する。従って、複数のサーバ間で任意の情報伝達経路が構築され、異なる階層構造の間でオブジェクトの移動が行われる場合であっても、情報の伝達順序に関わらず、オブジェクトの移動を正しく行わせることができる。
【０１０４】
請求項３記載の発明によれば、請求項１又は請求項２に記載の発明の効果に加え、本発明に係るオブジェクトの移動処理プログラムを流通させることができ、かかるプログラムを記録した媒体を取得した者は、オブジェクトの移動処理装置を容易に構築することができる。
【図面の簡単な説明】
【図１】  本発明の電子会議システムの一実施形態を示すシステム図である。
【図２】  同上のフォーラムの階層構造を示す説明図である。
【図３】  同上のメッセージの階層構造を示す説明図である。
【図４】  同上のデータベースに登録されるオブジェクトの詳細を示す説明図である。
【図５】  同上のオブジェクトを示すオブジェクトＩＤの説明図である。
【図６】  同上の情報交換先である宛先情報の説明図である。
【図７】  同上の情報交換の流れを示す処理流れ図である。
【図８】  サーバにおける処理内容を示すメインルーチンのフローチャートである。
【図９】  同上のメインルーチンから実行されるオブジェクトの作成処理を示すサブルーチンのフローチャートである。
【図１０】  同上のメインルーチンから実行されるオブジェクトの削除処理を示すサブルーチンのフローチャートである。
【図１１】  同上のメインルーチンから実行されるオブジェクトの更新処理を示すサブルーチンのフローチャートである。
【図１２】  同上のメインルーチンから実行されるオブジェクトの移動処理を示すサブルーチンのフローチャートである。
【図１３】  サーバにおいて情報の送信を行うときに実行されるメインルーチンを示すフローチャートである。
【図１４】  同上のメインルーチンから実行される情報の最適化処理を示すサブルーチンのフローチャートである。
【図１５】  同上の最適化処理のサブルーチンから実行されるメッセージの削除キュー処理を示すサブルーチンのフローチャートである。
【図１６】  同上の最適化処理のサブルーチンから実行されるメッセージの更新キュー処理を示すサブルーチンのフローチャートである。
【図１７】  同上の最適化処理のサブルーチンから実行されるフォーラムの削除キュー処理を示すサブルーチンのフローチャートである。
【図１８】  同上の最適化処理のサブルーチンから実行されるフォーラムの更新キュー処理を示すサブルーチンのフローチャートである。
【図１９】  同上のメインルーチンから実行される情報の順番保証処理を示すサブルーチンのフローチャートである。
【図２０】  受信キューからコマンドオブジェクトを取り出す度に実行されるメインルーチンを示すフローチャートである。
【図２１】  同上のメインルーチンから実行される宛先矛盾のチェック処理を示すサブルーチンのフローチャートである。
【図２２】  同上のメインルーチンから実行される情報内容矛盾のチェック処理を示すサブルーチンのフローチャートである。
【図２３】  同上のメインルーチンから実行されるデータベースへの登録処理を示すサブルーチンのフローチャートである。
【図２４】  同上のメインルーチンから実行されるリカバリ情報の作成処理を示すサブルーチンのフローチャートである。
【図２５】  電子会議システムの管理者の指示により実行されるリカバリ情報の作成処理を示すフローチャートである。
【図２６】  電子会議システムの管理者の指示により実行されるリカバリ処理を示すフローチャートである。
【図２７】  従来の電子会議システムにおけるフォーラムの移動処理の問題を示す説明図である。
【符号の説明】
１０・・・サーバ
１２・・・データベース
１４・・・サーバソフト
【図１】
0003808608.tif 000002
【図２】
0003808608.tif 000003
【図３】
0003808608.tif 000004
【図４】
0003808608.tif 000005
【図５】
0003808608.tif 000006
【図６】
0003808608.tif 000007
【図７】
0003808608.tif 000008
【図８】
0003808608.tif 000009
【図９】
0003808608.tif 000010
【図１０】
0003808608.tif 000011
【図１１】
0003808608.tif 000012
【図１２】
0003808608.tif 000013
【図１３】
0003808608.tif 000014
【図１４】
0003808608.tif 000015
【図１５】
0003808608.tif 000016
【図１６】
0003808608.tif 000017
【図１７】
0003808608.tif 000018
【図１８】
0003808608.tif 000019
【図１９】
0003808608.tif 000020
【図２０】
0003808608.tif 000021
【図２１】
0003808608.tif 000022
【図２２】
0003808608.tif 000023
【図２３】
0003808608.tif 000024
【図２４】
0003808608.tif 000025
【図２５】
0003808608.tif 000026
【図２６】
0003808608.tif 000027
【図２７】
0003808608.tif 000028