(57)【特許請求の範囲】
【請求項１】
複数のコンピュータ機器がネットワークを介してデータ交換を行ない、協調して作業を行なう協調作業システムであって、
前記コンピュータ機器のそれぞれより入力される協調作業のためのデータに該データを時間的に位置付ける時系列情報を付与する時系列情報付加手段と、
ネットワークを通過する協調作業のためのデータにキーワードを付与するキーワード付与手段と、
前記時系列情報及び前記キーワードが付与された前記協調作業のためのデータを格納する協調作業データ格納手段とを有し、
前記キーワード付与手段は、前記協調作業のデータが一定時間以上転送されなかった場合、思考中の「間」を表わすデータを検索用のキーワード・タグとして付与することを特徴とする協調作業システム。
【請求項２】
前記キーワード付与手段は更に、ネットワークを転送されたデータの内容を加工して検索用キーワード・タグを生成することを特徴とする請求項１に記載の協調作業システム。
【請求項３】
前記キーワード付与手段は更に、協調作業の開始からの経過時間を計時し、その計時した経過時間を検索用のキーワード・タグとして付与することを特徴とする請求項１に記載の協調作業システム。
【請求項４】
前記キーワード付与手段は更に、協調作業中に時刻を計時し、その計時した時刻を検索用のキーワード・タグとすることを特徴とする請求項１に記載の協調作業システム。
【請求項５】
前記協調作業データ格納手段は、データベース管理システムを使用することを特徴とする請求項１に記載の協調作業システム。
【請求項６】
前記協調作業データ格納手段は、協調作業に参加する各コンピュータ上でデータを格納することを特徴とする請求項１に記載の協調作業システム。
【請求項７】
前記協調作業データ格納手段は、検索用キーワード・タグを協調作業に参加する各コンピュータ上とデータ記録用計算機の両方に格納することを特徴とする請求項７に記載の協調作業システム。
【請求項８】
前記協調作業データ格納手段は、前記コンピュータ機器の出力装置へのビデオイメージや音声を計算機外部の記録装置に動画と音声で記録することを特徴とする請求項１に記載の協調作業システム。
【請求項９】
前記協調データ格納手段に記憶されたデータを、前記キーワードに基づいて検索する検索手段を更に有することを特徴とする請求項１乃至８のいずれか１項に記載の協調作業システム。
【請求項１０】
複数のコンピュータ機器がネットワークを介してデータ交換を行ない、協調して作業を行なう協調作業システムが実行するデータ格納方法であって、
時系列情報付加手段が、前記コンピュータ機器のそれぞれより入力される協調作業のためのデータに該データを時間的に位置付ける時系列情報を付与する時系列情報付加工程と、
キーワード付与手段が、ネットワークを通過する協調作業のためのデータにキーワードを付与するキーワード付与工程と、
格納手段が、前記時系列情報及び前記キーワードが付与された前記協調作業のためのデータを協調作業データ格納部に格納する格納工程とを有し、
前記キーワード付与工程では、前記協調作業のデータが一定時間以上転送されなかった場合、思考中の「間」を表わすデータを検索用のキーワード・タグとして付与することを特徴とするデータ格納方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複数のコンピュータ機器がネットワークを介してデータ交換を行ない、協調して作業を行なう協調作業システム及び前記システムにおけるデータ格納方法に関するものである。
【０００２】
【従来の技術】
近年の各種コンピュータ機器及びネットワークの技術向上と、それらの急速な普及により、ワークステーションやパーソナル・コンピュータ等を端末装置として用いる協調作業システムが提案され、実現されつつある。
【０００３】
このような協調作業システムは、そのシステムに参加する各コンピュータ機器間で、ネットワークを介して入出力を共有する、共有ホワイトボードシステムに代表される共有アプリケーション群から構成され、特に動画像や音声情報を共有するテレビ会議システム等に応用されている。
【０００４】
図２は、これを実現する協調作業システム構成の一例を示す図である。
【０００５】
同図において、１６ａ乃至１６ｃのそれぞれは同じ構成のコンピュータ機器で、ネットワーク通信路１７を介して互いに接続されている。コンピュータ機器１６ａの構成を説明すると、１０は中央処理部（ＣＰＵ）で、記憶部１３に記憶されている制御プログラムに従って機器全体の動作を制御している。１１は表示器（ＣＲＴ，ＬＣＤ）、或はプリンタ等の印刷機器、更にはスピーカ等の音響出力部を含む出力部である。１２は入力部で、例えばキーボード、ポインティングデバイス、ビデオカメラ、マイク等を含んでいる。１３は、協調作業プログラム１８等を記憶している記憶部、１４はネットワークへのインターフェース（Ｉ／Ｆ）部である。これら各部は、内部バス１５を介して相互に接続されている。
【０００６】
以上の構成において、コンピュータ機器１６は入力部１２を介して入力されたキーボード入力、画像、音声、制御命令等のデータを、ネットワークインターフェース部１４を介してネットワーク通信路１７に送出する。また、他のコンピュータ機器からネットワーク通信路１７に送出された各データをネットワークインタフェース部１４を介して受信し、出力部１１で表示、再生するとともに、それに基づく制御命令実行等を行う。ここで制御命令には協調作業（例えば会議等）の開始／終了命令、途中参加／退席命令、或は共有アプリケーションプログラムの起動／終了命令等を含む。このような協調作業システムを用いた協調作業を記録するためにビデオテープレコーダ等が用いられ、画像と音声が記録・再生されている。
【０００７】
【発明が解決しようとする課題】
しかし、このようなビデオテープレコーダ等を用いた記録は、その記録された情報全体が１つの記録となっているため、その中から必要な映像や音声情報を抜き出したり、或は参加者毎の発言や処理内容等の記録を取り出したり、特定のアプリケーションの記録だけを取り出すには、特別な編集作業が不可欠となっている。一般的に、このようなビデオテープに記録された情報は、その記録されているデータの量が多いにもかかわらず、検索用の情報が付加されていない。例えばこのようなシステムを用いた協調作業の参加者が途中で参加したり、或は退席した場合や、アプリケーションの起動／終了等は、必要なシーンを探す上での重要なポイントになるが、そのような参加者によるシステムに対する操作に関する情報が記録されない。
【０００８】
従って、記録されている情報から、その参加者による操作を再現することはできない。また上述した編集作業を効率よく行うために、編集する前に、記録されたデータにキーワードやタグを付けることも行われてきたが、結局、そのビデオテープに記録されている全てのデータを一旦サーチしなければならなくなり、編集に要する作業量が変わらないか、逆に、その作業量が増大する等の問題があった。
【０００９】
本発明は上記従来例に鑑みてなされたもので、協調作業の進行と同時にキーワードを付加しながら、その作業内容を順次記録することにより、その記録された作業を容易に再現できる協調作業システム及び前記システムにおけるデータ格納方法を提供することを目的とする。
【００１０】
また本発明の他の目的は、協調作業により発生したデータに自動的にキーワードを付して記録できる協調作業システム及び前記システムにおけるデータ格納方法を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するために本発明の協調作業システムは以下のような構成を備える。即ち、
複数のコンピュータ機器がネットワークを介してデータ交換を行ない、協調して作業を行なう協調作業システムであって、
前記コンピュータ機器のそれぞれより入力される協調作業のためのデータに該データを時間的に位置付ける時系列情報を付与する時系列情報付加手段と、
ネットワークを通過する協調作業のためのデータにキーワードを付与するキーワード付与手段と、
前記時系列情報及び前記キーワードが付与された前記協調作業のためのデータを格納する協調作業データ格納手段とを有し、
前記キーワード付与手段は、前記協調作業のデータが一定時間以上転送されなかった場合、思考中の「間」を表わすデータを検索用のキーワード・タグとして付与することを特徴とする。
また上記目的を達成するために本発明の協調作業システムにおけるデータ格納方法は以下のような工程を備える。即ち、
複数のコンピュータ機器がネットワークを介してデータ交換を行ない、協調して作業を行なう協調作業システムが実行するデータ格納方法であって、
時系列情報付加手段が、前記コンピュータ機器のそれぞれより入力される協調作業のためのデータに該データを時間的に位置付ける時系列情報を付与する時系列情報付加工程と、
キーワード付与手段が、ネットワークを通過する協調作業のためのデータにキーワードを付与するキーワード付与工程と、
格納手段が、前記時系列情報及び前記キーワードが付与された前記協調作業のためのデータを協調作業データ格納部に格納する格納工程とを有し、
前記キーワード付与工程では、前記協調作業のデータが一定時間以上転送されなかった場合、思考中の「間」を表わすデータを検索用のキーワード・タグとして付与することを特徴とする。
【００１２】
【作用】
以上の構成において、コンピュータ機器のそれぞれより入力される協調作業のためのデータに該データを時間的に位置付ける時系列情報を付与し、ネットワークを通過する協調作業のためのデータに、その協調作業のデータが一定時間以上転送されなかった場合、思考中の「間」を表わすキーワード・タグを含むキーワードを付与し、これら時系列情報及びキーワードが付与された協調作業のためのデータを格納する。
【００１３】
【実施例】
以下、添付図面を参照して本発明の好適な実施例を詳細に説明する。
【００１４】
図１は、本発明の一実施例の協調作業システムの概略構成を示すブロック図で、前述の図２と共通する部分は同じ番号で示し、それらの説明を省略する。
【００１５】
２０は、コンピュータ機器１６ａ〜１６ｃとほぼ同様の構成のコンピュータ機器であるが、協調作業データ記録用の記憶部２８を有し、記憶部２４には、他のコンピュータ機器１６ａ〜１６ｃのような協調作業プログラム１８の代わりにデータ記録プログラム２７が記憶され、このプログラムに従って動作しているデータ記録サーバ２０である。また記憶部２８には、記録したデータのインデックスを記憶しているインデックスファイル２９が記憶されている。なお、協調作業データ用記憶部２８は、記憶部２４と同じものを用い、記憶部２４内に領域を分けて実現してもよい。
【００１６】
図３は、ネットワーク通信路１７上を流れるデータの構造（プロトコル）３０の一例を摸式的に示した図である。
【００１７】
図３において、フィールド３１はデータの種類を示し、音声データ、画像データ、命令データ、イベントの通知等を識別するための情報がセットされている。フィールド３２にはデータの発信者を示す情報部分で、データを発信したコンピュータ機器や、その利用者を識別するための情報がセットされている。フィールド３３は、データの発信時刻を示す情報部分、フィールド３４は、そのデータの本体部分を示している。尚、このデータは、図３に示すフォーマットのまま、記憶部２８に記録される。
【００１８】
図４は、データ記録プログラム２７が記録部２８のインデックス・ファイル２９に記録するインデックスのフォーマット４０の一例を摸式的に示した図である。
【００１９】
図４において、フィールド４１はキーフィールドで、キーワード・タグが記録される。フィールド４２はポインタフィールドで、データを記録しているファイル名が記録される。各インデックスは検索の高速化のためにキーフィールド４１をキーとして、ソート、ハッシュ、二分木等の技法を用いてインデックス・ファイル２９に記録される。データ記録プログラム２７は、その内部に経過時間を計時するための２つのタイマ５０，５１を有している。これらのタイマの内、第１のタイマ５０は協調作業の開始時からの経過時間を計る経過時間タイマであり、ＣＰＵ２１により設定された一定時間毎にアラームを発している。第２のタイマ５１は、ネットワーク通信路１７を流れるデータの間隔を計時するためのデータ間隔タイマであり、設定された一定時間毎にアラームを発している。これらいずれのタイマも、データ記録サーバ２０が有する内部時計（タイマ５２）による計時に従って時刻が進められる。また、これらタイマ５０，５１は、それぞれ独立にセット及びリセット操作が可能である。
【００２０】
データ記録プログラム２７は、受け取ったデータを、その受取った順にファイルに保存する。この順序を記録するために、シーケンス番号をファイル名とする。そして、このシーケンス番号を保持するために、データ記録プログラム２７は整数値を保持するカウンタ５３を内部に備えている。このカウンタ５３は、初期値へのリセット操作と、値を一定値単位で増加させるインクリメント操作が可能である。
【００２１】
以下、本実施例のデータ記録サーバ２０におけるデータ記録プログラム２７の動作を、図５及び図６を参照して詳しく説明する。
【００２２】
まずステップＳ１で、２つのタイマ５０，５１をリセットし、ステップＳ２でカウンタ５３をリセットする。次にステップＳ３でネットワーク１７をモニタし、ステップＳ４で、データが転送されているか否かを判断する。このデータの到着の検出は、ステップＳ１７で経過時間タイマ５０が一定時間の経過を計時するか、或はステップＳ１８で、タイマ５２による計時により特定時刻になったか、或はステップＳ２８で、データ間隔タイマ５１が一定時間が経過したことを判断するまで繰り返し行われる。
【００２３】
ステップＳ４でデータが転送されてくると、ステップＳ５に進み、データ間隔タイマ５１をリセットする。次にステップＳ６に進み、データの種類の識別フィールド３１を読み、そのデータが制御命令、例えば協調作業の開始／終了、参加者の追加／削除、共有アプリケーションを起動／終了命令等の制御命令かどうかを判断し、そうであればステップＳ７に進み、その命令をキーワード・タグとし、これをインデックス構造４０のキーフィールド４１に書込み、ポインタフィールド４２に、カウンタ５３の値を書き込む。このインデックスを二分木等の技法を用いてインデックスファイル２９に追加する（Ｓ８）。次にステップＳ９に進み、カウンタ５３の値を名前とするファイルを作成して、データを書き込み、ステップＳ１０で、カウンタ５３の内容をインクリメントする。そしてステップＳ１１で、その制御命令が、協調作業の終了命令かどうかを判断し、そうでない時はステップＳ３のネットワークのモニタに戻るが、終了命令の時は、この処理を終了する。
【００２４】
一方、ステップＳ６で制御命令以外のデータであった場合はステップＳ１３に進み、データの種類と発信者、例えば参加者「甲」からの音声データであれば「甲からの音声」をキーワード・タグとし、これをインデックス構造４０のキーフィールド４１に書込むとともに、ポインタフィールド４２に、カウンタ５３の値を書き込む。そして、このインデックスを、二分木等の技法を用いてインデックスファイル２９に追加する（Ｓ１４）。次にステップＳ１５に進み、カウンタ５３の値を名前とするファイルを作成してデータを書き込み（Ｓ１５）、ステップＳ１６でカウンタ５３をインクリメントしてステップＳ３のネットワークのモニタ処理に戻る。
【００２５】
また、ステップＳ４で、ネットワークにデータが到着していなかった場合はステップＳ１７以降に進み、以下のステップを実行する。
【００２６】
ステップＳ１７で、経過時間タイマ５０に設定された所定時間、例えば１０分を経過してタイマ５０からアラームが発せられた場合はステップＳ２３に進み、協調作業の開始から「１０分経過」をキーワード・タグとし、これをインデックス構造４０のキーフィールド４１にセットし、次にポインタフィールド４２にカウンタ５３の値を書き込む。そしてステップＳ２４に進み、このインデックスを二分木等の技法を用いてインデックスファイル２９に追加する。次にステップＳ２５に進み、カウンタ５３の値を名前とするファイルを作成し、フィールド３１にデータの種類「経過時間」、フィールド３２は空、フィールド３３に現在時刻、フィールド３４に「経過時間１０分」とするデータを書き込み（Ｓ２５）、ステップＳ２６でカウンタ５３をインクリメントする。そしてステップＳ２７で経過時間タイマ５０をリセットし、ステップＳ３のネットワークのモニタ処理に戻る。
【００２７】
ステップＳ１７で、アラームが発生しない時はステップＳ１８に進み、タイマ５２が設定された特定時刻、例えば毎時“０分”・“３０分”であるか否かを判断し、そうであればステップＳ１９に進み、その絶対時刻、例えば１５時３０分をキーワード・タグとし、これをインデックス構造４０のキーフィールド４１に書込み、ポインタフィールド４２にはカウンタ５３の値を書き込む。そしてステップＳ２０に進み、このインデックスを二分木等の技法を用いてインデックスファイル２９に追加する。次ステップＳ２１に進み、カウンタ５３の値を名前とするファイルを作成し、フィールド３１にデータの種類「時刻」、フィールド３２は空、フィールド３３に現在時刻、フィールド３４に「１５時３０分」とするデータを書き込む。そしてステップＳ２２に進み、カウンタ５３をインクリメントし、ステップＳ３のネットワークのモニタ処理に戻る。
【００２８】
更に、ステップＳ１８で特定時刻でない時はステップＳ２８に進み、データ間隔タイマ５１からアラームが発せられたか否か、即ち、データが送られてこない時間が、設定されている所定時間以上継続したかどうかを判断し、そうであればステップＳ２９に進み、参加者が思考中の「間」とするキーワード・タグを作成し、これをステップＳ３０で、インデックス構造４０のキーフィールド４１にセットし、ポインタフィールド４２にカウンタ５３の値を書き込んでインデックスを生成する。そして、このインデックスを二分木等の技法を用いてインデックスファイル２９に追加する。次にステップＳ３１に進み、カウンタ５３の値を名前とするファイルを作成し、フィールド３１にデータの種類「間」、フィールド３２は空、フィールド３３に現在時刻、フィールド３４に「間」とする時間データを書き込む。そして、ステップＳ３２で、カウンタ５３をインクリメントし、ステップＳ３３で、データ間隔タイマ５１をリセットし、ステップＳ３のネットワークのモニタ処理に戻る。
【００２９】
尚、前述のステップＳ１７、Ｓ１８、Ｓ２８のいずれにも該当しない場合は、ステップＳ３のネットワークのモニタ処理に戻り、協調作業の終了までこれを繰り返す。
【００３０】
以上により、協調作業プログラムによりネットワークに送出されたデータは、データ記録サーバ２０への到着順にシーケンスナンバーのファイル名が与えられて個別のファイルに記録される。これと同時に、データの発信者、データの種類、制御命令の種類、経過時間、絶対時刻、「間」等のキーワード・タグが、その協調作業の参加者による操作を必要とすることなく生成され、ファイルへのインデックスとして記録される。また、このインデックスを用いることにより、高速に該当するデータを検索することができる。
【００３１】
こうしてファイルに記録されたデータは、ネットワークを介して転送されるデータ構造（プロトコル）のままなので、このファイルをそのまま協調作業プログラムに送出することによって、そのデータによる結果を再現することができる。更に、こうして作成されたファイルは時間順に名前が付けられているので、インデックスから検索されたファイルの前後のデータファイルを容易に得ることができる。よって、連続するデータファイルを協調作業プログラムに送出し、連続したシーンとして再現することもできる。
【００３２】
尚、前述の本実施例では、複数のフィールドから１つのキーワード・タグを生成しているが、複数のフィールドのそれぞれからキーワード・タグを生成し、ポインタ・フィールド４２を同じ値にしたインデックスを登録することも可能である。さらにインデックス・ファイルは、フィールド毎に別にしても、同じインデックスファイルにしてもよい。例えばデータの発信者フィールドからインデックスファイルを作成すると、発信者毎のデータの検索が高速に行なえる。特にインデックスファイルの作成にチェーンハッシュ技法を用いると、発信者毎のインデックスが時間順にポインタによって連結されるので、ある発信者からのデータを順に取り出すことが高速に行なえる。
【００３３】
また本実施例では、データ記録サーバを協調作業を行なうコンピュータ機器とは別のコンピュータ機器にしているが、データ記録サーバの記憶部２４に協調作業プログラムも置き、そのプログラムを動作させることで、データ記録サーバ２０においても協調作業を行なうことが可能である。
［第２実施例］
第２の実施例は、前述の第１実施例のデータ記録サーバ２０において、データ記録プログラム２７がキーワード・タグと協調作業データを協調作業データ用記憶部２８に記憶する操作を、データベース管理システムを用いて行うものである。ここで、この第２実施例を実現するシステム構成は、前述の図１とほぼ同一であるので、その図面を省略する。
【００３４】
この第２実施例では、データ記録サーバ２０の記憶部２４のデータ記録プログラム２７が、第２実施例に特有のデータ記録プログラムであり、記憶部２４にデータベース管理システムが置かれてこれが動作することにより達成される。また、協調作業データ用記憶部２８は、そのデータベース管理システムが管理している。
【００３５】
この第２実施例では、協調作業データ用記憶部２８に、インデックスファイル２９の代わりにインデックスデータベースと、データが記録されるデータベースが置かれ、ともにデータベース管理システムが管理している。また第２実施例の記憶部２４に記憶されているデータ記録プログラムは、受け取ったデータを、その受取った順にデータベースに保存する。この順序を記録するために、図３のデータ構造に、シーケンスナンバーを記録するフィールドを付加したデータ構造でデータベースに記録する。このシーケンスナンバーを保持するのは、データ記録プログラム２７と同じくカウンタ５３である。尚、この第２実施例におけるデータ記録プログラムの動作も、前述の第１実施例のデータ記録プログラム２７の動作とほぼ同一であるので、前述の図５及び図６を参照して説明する。以下、前述の第１実施例のデータ記録プログラム２７の動作と異なる動作についてのみ説明する。
【００３６】
図５におけるステップＳ８及びステップＳ９のそれぞれは、以下のような処理に置き換えられる。
【００３７】
まずステップＳ８に変えて、ステップＳ７で生成されたキーワード・タグとシーケンスナンバーを、協調作業データ用記憶部２８のインデックス・データベースに記録する。このインデックスキーは、例えば「甲からの協調作業中断命令」等である。次にステップＳ９で作成されたインデックスキーが参照するデータベース内のデータレコードに、カウンタ５３の値をシーケンスナンバーとして付加した上で、データを記憶するようにデータベース管理システムに問い合わせを発する。
【００３８】
また、図５におけるステップＳ１４及びステップＳ１５のそれぞれは以下の処理に置き換えられる。
【００３９】
まず、ステップＳ１３で生成されたキーワード・タグとシーケンスナンバーをインデックス・データベースに記録する。ここで、インデックスキーは、例えば「甲からの音声データ」である。次にステップＳ１５で、この作成されたインデックスキーが参照するデータベース内のデータレコードに、カウンタ５３の値をシーケンスナンバーとして付加した上で、データを記憶するようにデータベース管理システムに問い合わせを発する。
【００４０】
更に図６のステップＳ２４及びステップＳ２５のそれぞれは、以下の処理に置き換えられる。
【００４１】
まず、ステップＳ２３で生成されたキーワード・タグとシーケンスナンバーをインデックスデータベースに記録する。ここで、インデックスキーは、例えば「３０分経過」である。次にステップＳ２５で、この作成されたインデックスキーが参照するデータベース内のデータレコードに、カウンタ５３の値をシーケンスナンバーとして付加した上で、そのデータを記憶するようにデータベース管理システムに問い合わせを発する。なお記録するデータの内容は、第１実施例のステップＳ２５におけるデータと同じである。
【００４２】
また図６のステップＳ２０及びステップＳ２１は、それぞれ以下の処理に置き換えられる。
【００４３】
まずステップＳ１９で生成されたキーワード・タグとシーケンスナンバーをインデックスデータベースに記録する。ここでインデックスキーは、例えば「１５時３０分」である。次にステップＳ２１で、この作成されたインデックスキーが参照するデータベース内のデータレコードに、カウンタ５３の値をシーケンスナンバーとして付加した上で、そのデータを記憶するようにデータベース管理システムに問い合わせを発する。なお、ここで記録するデータの内容は、第１実施例のステップＳ２１と同じである。
【００４４】
更に図６のステップＳ３０及びステップＳ３１は、それぞれ以下の処理に置き換えられる。
【００４５】
ステップＳ２９で生成されたキーワード・タグとシーケンスナンバーをインデックスデータベースに記録する。ここでインデックスキーは、例えば「間」である。次にステップＳ３１で、この作成されたインデックスキーが参照するデータベース内のデータレコードに、カウンタ５３の値をシーケンスナンバーとして付加した上で、データを記憶するようにデータベース管理システムに問い合わせを発する。なお、この記録するデータの内容は、前述の第１実施例のステップＳ３１と同じである。
【００４６】
このように第２実施例によれば、前述の第１の実施例の効果に加え、データベース管理システムの問い合わせ処理機能を用いて、効率のよいデータの検索が可能になる。尚、この第２実施例では、ネットワーク１７を転送されるデータ構造３０（図３）に、シーケンスナンバーフィールドを付加して、そのままデータベースに記録している。しかし、データ構造３０の各フィールドのうち、３１から３３までの各フィールドの値の組およびシーケンスナンバーをキーとしてインデックスデータベースに記録し、データ本体であるフィールド３４のみをデータベースに記録することも可能である。尚、ここで各フィールドの値の組によるキーは、例えば「協調作業中断命令・参加者甲・１５:２３・１２３」のようになる（１２３はシーケンスナンバーの例である）。この場合、データベースからデータを取り出す際には、インデックスデータベースのキーから、フィールド３１から３３までの値を分解して取り出し、更にデータベースからフィールド３４（データ本体）を取り出して、データ構造３０に再構成する。
【００４７】
また、この第２実施例では、データの順序をデータ中のシーケンスナンバーフィールドによっている。しかし、本発明はこれに限定されるものでなく、オブジェクト指向データベース等の柔軟なデータ構造をとることのできるデータベース管理システムを用いた場合には、データに前後のデータを参照するポインタフィールドを設け、連続するデータを双方向リストにすることで、連続データの検索を高速にできる。
［第３実施例］
第３の実施例は、前述の第１実施例において、データ記録サーバ２０が行っている操作を、各コンピュータ機器１６ａ〜１６ｃで分散して行うものである。
【００４８】
図７は、本発明の第３施例を実現するシステム構成の一例を示す図である。
【００４９】
同図において、前述の図１の構成と共通する部分は同じ番号で示し、それらの説明を省略する。コンピュータ機器１６ｆ〜１６ｈのそれぞれの記憶部１３には、協調作業プログラム１８の他にデータ記録プログラム７５が置かれ、動作している。またコンピュータ機器１６ｆ〜１６ｈのそれぞれには協調作業データ用記憶部７６が接続されており、協調作業データ用記憶部７６上にはインデックスファイル７７が置かれている。
【００５０】
データ記録プログラム７５の動作は、前述の第１実施例のデータ記録プログラム２７の動作とほぼ同一であるので、前述の図５及び図６を参照して説明する。以下、前述の第１の実施例のデータ記録プログラム２７と異なる動作についてのみ説明する。
【００５１】
図５のステップＳ３に相当する処理では、ネットワークに対し自コンピュータ機器が送出したデータのみをモニタする。また各ステップでの協調作業記録用記憶部２８への記録は協調作業データ用記憶部７６への記録に、第１実施例のインデックスファイル２９への記録はインデックスファイル７７への記録に、それぞれ置き換える。また、２つのタイマ５０，５１およびカウンタ５３は、コンピュータ機器１６ｆ〜１６ｈのそれぞれのデータ記録プログラム７５が受け持つものとする。
【００５２】
本実施例では、コンピュータ機器毎、即ち、協調作業の参加者毎に、ネットワーク１７に送出した協調作業のデータが時間順にシーケンスナンバーのファイル名を与えられた上で個別のファイルに記録され、インデックスファイルが作成される。こうして記録されたデータから、以下の手順で協調作業のシーンを再現することができる。
【００５３】
まず自コンピュータ機器、もしくはネットワークを介して協調作業の他の参加者のコンピュータ機器の記録されたデータから、再現するシーンの基準になるデータを検索して取り出す。次に、そのデータの発信時刻フィールドの時刻を取り出し、協調作業に参加した全コンピュータ機器のデータから、その時刻の近傍のデータを検索して取り出す。こうして取出した全データを発信時刻フィールドの時刻の値で時間順にソートし、協調作業プログラム１８に送出する。
【００５４】
また、この第３実施例では、自コンピュータ機器で送出するデータのみをモニタして処理を行うので、コンピュータ機器にかかる負荷が低減される。また協調作業データ用記憶部７６のメモリ容量も小容量で済むので、安価なシステムが構成できる。
【００５５】
またネットワークに障害が生じた場合にも、少なくとも自コンピュータ機器の記録だけは残すことが可能である。
【００５６】
さらに本実施例は第１の実施例と併用することによって、全体の記録とは別個に協調作業の参加者が個人用の記録を残すことができる。またテレビ会議等の協調作業において、会議に参加できない場合にメッセージ等を、この第３実施例を用いて記録しておき、実際のテレビ会議の際に記録したデータを再現してもらい、メッセージ等を伝えることも可能である。
［第４実施例］
第４の実施例は、第３の実施例で各コンピュータ機器で記録しているキーワード・タグのみを、データ記録サーバ２０においても記録するものである。第４実施例を実現するシステム構成はほぼ図１と同一であるので、図１を参照して説明に使用する。尚、この第４実施例と前述の実施例で異なるのは以下の点である。コンピュータ機器１６ａ〜１６ｃの記憶部１３に協調作業システムプログラム１８の他にデータ記録プログラムが置かれて動作している点。また、各コンピュータ機器１６ａ〜１６ｃに協調作業データ用記憶部が接続されており、協調作業データ用記憶部にインデックスファイルが置かれている点。更に、データ記録サーバ２０のデータ記録プログラムが本実施例独自のものである点である。
【００５７】
尚、この実施例のデータ記録サーバ２０に記憶されているデータ記録プログラムの動作は、前述の第３実施例のデータ記録プログラム７５の動作とほぼ同一であるので、前述と同様に図５及び図６を参照して動作を説明する。ここでは、前述の第３実施例のデータ記録プログラム７５による動作と異なる点についてのみ説明する。
【００５８】
図５のステップＳ８，Ｓ１４、図６のステップＳ２０，Ｓ２４，Ｓ３０のそれぞれの直後に、以下のステップを追加する。
【００５９】
まず、直前のステップで作成されたキーワード・タグと、カウンタ５３の値（ファイル名）、発信者（自コンピュータ機器）を１組としたデータを、ネットワーク１７を介してデータ記録サーバ２０に送る。データ記録サーバ２０のデータ記録プログラムは、このネットワーク１７から送られてきたキーワードと発信者、識別子の組を読み出し、これをシーケンスナンバーによるファイル名のファイルとして時間順に協調作業データ用記憶部２８へ記録する。更に、キーワードとファイル名からなるインデックスを、二分木等の技法を用いてインデックスファイル２９に記録する。
【００６０】
このように第４実施例では、前述の第３実施例による効果に加え、キーワード・タグがデータ記録サーバ２０に集中しているので、データ記録サーバ２０の１ヶ所に問い合わせるだけですむ効果がある。また、発信者とファイル名のデータから、コンピュータ機器１６ａ〜１６ｃで記録されている実際のデータのアクセスも可能であり、協調作業全体での時間順序も保たれていることから、各コンピュータ機器にデータの順序を問い合わせることなく、協調作業全体の再現も可能である。
［第５実施例］
次に本発明の第５実施例を説明する。この第５実施例は、前述の第１実施例の「間」キーワード・タグの付加方法の改良である。この第５実施例を実現するシステム構成は、前述の図１とほぼ同様であるので、図１を参照して説明する。尚、この第５実施例で異なるのは、データ記録サーバ２０の記憶部２４のデータ記録プログラム２７が、この第５実施例に特有のデータ記録プログラムである点である。以下、この第５実施例のデータ記録プログラムの動作を、図８及び図９を参照して説明する。尚、図８及び図９において、ステップＳ４１〜Ｓ４４は図５のステップＳ１〜Ｓ４と同一であり、また、ステップＳ５０〜Ｓ７１は、図５及び図６のステップＳ５〜Ｓ２７にほぼ同様である。
【００６１】
図８のステップＳ４４でデータが到着しているか否かを判断し、到着していた時はステップＳ４５に進み、データ間隔タイマ５１をチェックする。このタイマ５１において、設定時間経過しておらず、タイマ５１からアラームが発せられていない場合はそのままステップＳ５０に進むが、アラームが発せられていた場合はステップＳ４６に進み、参加者が思考中の「間」とするキーワード・タグとする。次にステップＳ４７に進み、これをインデックス構造４０（図４）のキーフィールド４１に記録し、ポインタフィールド４２にカウンタ５３の値を書き込み、このインデックスを二分木等の技法を用いて、データ記録サーバ２０のインデックスファイル２９に追加する。
【００６２】
次にステップＳ４８に進み、カウンタ５３の値を名前とするファイルを作成し、図３のフィールド３１にデータの種類として「間」、フィールド３２は空、フィールド３３に現在時刻、フィールド３４に「間」とする時間データを書き込む。そしてステップＳ４９でカウンタ５３をインクリメントしてステップＳ５０に進む。
【００６３】
このように第５実施例によれば、前述の第１実施例での効果に加え、データ間隔タイマ５１に設定された時間の２倍以上の間隔があいた場合でも記録される「間」キーワード・タグが１つのみであるという効果が得られる。
［第６実施例］
次に本発明の第６実施例を説明する。この第６実施例は、前述の第１実施例において、協調作業のデータをデータ記録サーバ２０の協調作業データ用記憶部２８に記録していたのを、ビデオテープレコーダ等のデータ記録サーバ２０の外部記録部に記録するものである。この第６実施例を実現するシステム構成を図１０に示す。
【００６４】
図１０において、前述の図１と共通する部分は同じ番号で示し、それらの説明を省略する。
【００６５】
９０は、第６実施例独自のデータ記録プログラムである。９２はビデオテープレコーダや書き込み可能な光／光磁気ディスク等の外部記録部であり、データ記録サーバ２０ａの外部インタフェース部９１を介して接続されている。外部記録部９２は、カウンタ９３を有し、経過時間やテープの使用量等に応じてインクリメントされる。このデータ記録サーバ２０ａと外部記録部９２との間では、画像／音声データの他に、外部記録部９２の制御命令やカウンタ９３の値等がやりとりされる。尚、データ記録プログラム９０の動作は、前述の第１実施例のデータ記録プログラム２７の動作とほぼ同一であるので、図５及び図６を参照して説明する。以下、データ記録プログラム２７と異なる動作についてのみ説明する。
【００６６】
まず、データ記録プログラム９０は、シーケンスナンバーを保持する第１実施例のカウンタ５３を持たない。そして、図５のステップＳ２では、カウンタ５３をリセットするのではなく、外部記録部９２の初期化を行なう。これは、例えば外部記録部９２のカウンタ９３をリセットし、データ記録サーバ２０ａの出力部１１への画像／音声出力を分配・変換し、外部記録部９２へ逐次記録する動作、即ち、ビデオ録画／録音を開始する。
【００６７】
また図５及び図６のステップＳ８，Ｓ１４，Ｓ２０，Ｓ２４，Ｓ３０では、直前のステップで生成されたキーワード・タグをインデックス構造４０のキーフィールド４１に書き込む。次にカウンタ５３ではなく、外部記録部９２のカウンタ９３の値を読み出し、その値をポインタフィールド４２に書き込む。このインデックスを二分木等の技法を用いてインデックスファイル２９に記録する。尚、ここでカウンタ９３は、外部記録部９２によるカウントアップがほとんどなので、ステップＳ１０，Ｓ１６，Ｓ２２，Ｓ２６，Ｓ３２は削除してもよい。そして、このプログラムの終了直前、即ち、ステップＳ１２の直前に、データ記録サーバ２０ａの出力部１１への画像／音声出力を分配・変換、および外部記録部９２への記録を終了する処理を追加する。
【００６８】
以上説明したように第６実施例によれば、コンピュータ機器の出力部に出力される協調作業の画像／音声が、ビデオテープレコーダ等の外部記録部に、作業終了まで連続して分配され、必要なデータ変換を行なった上で記録される。さらに前述の第１実施例と同じキーワード・タグが、外部記録部９２のカウンタ９３の値とともにインデックスファイルに記録される。これからインデックスファイルを検索し、これにより得られたカウンタの値の位置から外部記録部のデータを再生することで、協調作業の連続するシーンの画像／音声が再現される。なお、ステップＳ９，Ｓ１５，Ｓ２１，Ｓ２５、Ｓ３１を削除し、操作の再現を行なわず、動画像／音声の再現のみ可能にしてもよい。この場合、ネットワーク転送データ（プロトコル）の記録が不要になり、協調作業データ用記憶部２８の容量が節約される。
【００６９】
また、ビデオ録画／録音を、外部記録部９２を用いて行なう例を示したが、出力部１１の出力画面／音声をディジタル化し、協調作業データ用記憶部２８内に記録しても構わない。この場合はカウンタ９３の代わりに、データの記録位置、例えばデータ先頭からのオフセットバイト数を用いればよい。
【００７０】
第６実施例では、大量の画像／音声の記録に安価な記録部や記録メディアを利用しつつ、キーワード・タグによるインデックスを利用できる効果がある。コンピュータ機器の外部の記録部を用いることにより、コンピュータ機器にかかる負荷が低減される効果もある。
【００７１】
以上説明したように本実施例によれば、コンピュータ機器ネットワーク上の協調作業システムにおいて、協調作業の進行と同時に後の編集作業に有用なキーワードやタグをシステムが付加しながら協調作業の内容を順序を保って記録することにより、協調作業の再現を可能にするとともに、協調作業の円滑な進行と協調作業後の編集作業等の作業量を低減できる。
【００７２】
また、本実施例における協調作業のデータは、ネットワークに送られた順序でそのまま記録されており、データの発信者、データの種類、制御命令の種類、経過時間、絶対時刻、「間」等のキーワード・タグを用いて、高速な検索が可能である。
【００７３】
更に、こうして検索されたデータから、その前後のデータの検索も容易に行える。また、記録された連続したデータを協調作業プログラムに再送出することで協調作業のシーンの再現が可能である。
【００７４】
このように本実施例によれば、従来、キーワード・タグを協調作業を行っている際に、データの記録と同時にキーワード・タグを付けるために、協調作業や思考が中断してしまったり、専任の書記が必要になるという問題があったが、本実施例により解消され、効率のよい協調作業が行なえる。
【００７５】
【発明の効果】
以上説明したように本発明によれば、協調作業の進行と同時にキーワードを付加しながら、その作業内容を順次記録することにより、その記録された作業を容易に再現できる効果がある。
【００７６】
また本発明によれば、協調作業により発生したデータに自動的にキーワードを付して記録できる効果がある。
【００７７】
【図面の簡単な説明】
【図１】本発明の一実施例の協調作業システムの構成図である。
【図２】従来の協調作業システムのシステム構成図である。
【図３】本実施例において、ネットワークを転送されるデータの構造の摸式図である。
【図４】本実施例の記憶部に記録されるデータの構造の摸式図である。
【図５】本発明の一実施例のデータ記録プログラムの動作を示すフローチャートである。
【図６】本発明の一実施例のデータ記録プログラムの動作を示すフローチャートである。
【図７】本発明の第３実施例の協調作業システムのシステム構成図である。
【図８】本発明の第５実施例におけるデータ記録プログラムの動作を示すフローチャートである。
【図９】本発明の第５実施例におけるデータ記録プログラムの動作を示すフローチャートである。
【図１０】本発明の第６実施例における協調システムのシステム構成図である。
【符号の説明】
１０，２１  中央処理部（ＣＰＵ）
１１，２２  出力部
１２，２３  入力部
１３，２４  記憶部
１４，２５  ネットワーク・インターフェース（Ｉ／Ｆ）部
１６ａ〜１６ｃ  コンピュータ機器
１８  協調作業プログラム
２０  データ記録サーバ
２７，７５，９０  データ記録プログラム
２８，７６  協調作業データ用記憶部
２９，７７  インデックスファイル
５０，５１，５２  タイマ
５３，９３  カウンタ
９２  外部記録部
【図１】
0003754715.tif 000002
【図２】
0003754715.tif 000003
【図３】
0003754715.tif 000004
【図４】
0003754715.tif 000005
【図５】
0003754715.tif 000006
【図６】
0003754715.tif 000007
【図７】
0003754715.tif 000008
【図８】
0003754715.tif 000009
【図９】
0003754715.tif 000010
【図１０】
0003754715.tif 000011