(57)【特許請求の範囲】
【請求項１】
入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して、複数のユーザからの書き込みを制御するための監視領域として指定されている当該文書構造中の構成要素に前記監視領域である旨の属性情報を付与することで、前記監視領域を設定し、
前記監視領域の設定された構造化文書を記憶手段に記憶し、
前記記憶手段に記憶された各構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御することを特徴とする書き込み制御方法。
【請求項２】
前記文書構造の種類別に、前記文書構造の構成要素の依存関係に基づき、少なくとも１つの構成要素からなる領域単位に前記監視領域が指定されていることを特徴とする請求項１記載の書き込み制御方法。
【請求項３】
文書構造の種類別に、その文書構造中の構成要素で特定される領域単位に前記監視領域を示した監視領域指定データを入力し、
前記入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して前記監視領域指定データにより指定された構成要素に前記監視領域である旨の属性情報を付与することで、前記監視領域を設定することを特徴とする請求項１記載の書き込み制御方法。
【請求項４】
文書構造の種類と、当該種類に対応して指定されている前記監視領域としての構成要素名との対応関係を記憶しておき、この記憶した対応関係に基づき、前記入力された構造化文書に前記監視領域を設定することを特徴とする請求項１記載の書き込み制御方法。
【請求項５】
前記監視領域内のデータが最後に書き換えられたときの時刻を該監視領域のデータのバーション番号として用い、該監視領域に対する書き込みは、どのバージョン番号のデータに対する書き込みであるかに基づき前記複数のユーザからの書き込みを制御することを特徴とする請求項１記載の書き込み制御方法。
【請求項６】
構造化文書を入力する入力手段と、
入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して、複数のユーザからの書き込みを制御するための監視領域として指定されている当該文書構造中の構成要素に前記監視領域である旨の属性情報を付与することで、前記監視領域を設定する設定手段と、
前記監視領域の設定された構造化文書を記憶する記憶手段と、
前記記憶手段に記憶された各構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御する制御手段と、
を具備したことを特徴とする構造化文書管理装置。
【請求項７】
前記文書構造の種類別に、前記文書構造の構成要素の依存関係に基づき、少なくとも１つの構成要素からなる領域単位に前記監視領域が指定されていることを特徴とする請求項６記載の構造化文書管理装置。
【請求項８】
文書構造の種類別に、その文書構造の構成要素で特定される領域単位に前記監視領域を示した監視領域指定データを入力する入力手段をさらに具備し、
前記設定手段は、前記入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して前記監視領域指定データにより指定された構成要素に、前記監視領域である旨の属性情報を付与することで、前記監視領域を設定することを特徴とする請求項６記載の構造化文書管理装置。
【請求項９】
前記設定手段は、文書構造の種類と、当該種類に対応して指定されている前記監視領域としての構成要素名との対応関係を記憶しておき、この記憶した対応関係に基づき、前記入力された構造化文書に対し前記監視領域を設定することを特徴とする請求項６記載の構造化文書管理装置。
【請求項１０】
前記制御手段は、前記監視領域内のデータが最後に書き換えられたときの時刻を該監視領域のデータのバーション番号として用い、該監視領域に対する書き込みは、どのバージョン番号のデータに対する書き込みであるかに基づき前記複数のユーザからの書き込みを制御することを特徴とする請求項６記載の構造化文書管理装置。
【請求項１１】
入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して、複数のユーザからの書き込みを制御するための監視領域として指定されている当該文書構造中の構成要素に前記監視領域である旨の属性情報を付与することで、前記監視領域を設定し、前記監視領域の設定された構造化文書を記憶手段に記憶し、前記記憶手段に記憶された各構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御する構造化文書管理装置から前記構造化文書を読み出して編集を行ない、その結果を基に前記構造化文書管理装置へ前記構造化文書に対する書き込みを要求する構造化文書編集装置であって、
編集前と編集後の前記構造化文書を前記監視領域毎に比較して、編集のなされた監視領域と、変更内容を検出する検出手段と、
前記監視領域毎に前記変更内容に基づき前記構造化文書に対し書き込みを行うための前記構造化文書管理装置への書き込み要求を生成する生成手段と、
を具備したことを特徴とする構造化文書編集装置。
【請求項１２】
前記検出手段は、前記監視領域毎に、書き換え、削除、追加などの編集の種類を検出することを特徴とする請求項１１記載の構造化文書編集装置。
【請求項１３】
前記検出手段で、書き換えの行われた監視領域が検出されたとき、その監視領域中の書き換えられた一部の構成要素と依存関係にある該監視領域中の書き換えられなかった構成要素の削除を前記変更内容に追加することを特徴とする請求項１１記載の構造化文書編集装置。
【請求項１４】
前記削除する構成要素は、編集不可と予め定められた構成要素であることを特徴とする請求項１３記載の構造化文書編集装置。
【請求項１５】
記憶手段を備えたコンピュータに、
入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して、複数のユーザからの書き込みを制御するための監視領域として指定されている当該文書構造中の構成要素に前記監視領域である旨の属性情報を付与することで、前記監視領域を設定する処理と、
前記監視領域の設定された構造化文書を前記記憶手段に記憶する処理と、
前記記憶手段に記憶された各構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御する処理と、
を実行させるためのプログラム。
【請求項１６】
入力された構造化文書に対し、当該構造化文書の文書構造の種類に対応して、複数のユーザからの書き込みを制御するための監視領域として指定されている当該文書構造中の構成要素に前記監視領域である旨の属性情報を付与することで、前記監視領域を設定し、前記監視領域の設定された構造化文書を記憶手段に記憶し、前記記憶手段に記憶された各構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御する構造化文書管理装置から前記構造化文書を読み出して編集を行ない、その結果を基に前記構造化文書管理装置へ前記構造化文書に対する書き込みを要求するための処理をコンピュータに実行させるためのプログラムであって、
編集前と編集後の前記構造化文書を前記監視領域毎に比較して、編集のなされた監視領域と、変更内容とを検出する処理と、
前記検出された監視領域毎に前記変更内容に基づき前記構造化文書に対し書き込みを行うための前記構造化文書管理装置への書き込み要求を生成する処理と、
を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なる文書構造の複数の構造化文書を記憶する記憶手段に記憶されている構造化文書に対する複数のユーザからの書き込み要求を制御するための書き込み制御方法およびそれを用いた装置に関する。
【０００２】
【従来の技術】
近年、情報処理技術の発展に伴い、処理する文書データも、テキストデータといった単なる文字の羅列である文書データだけでなく、ＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ），ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などの文書を構成する構成要素が既定されている文書データを扱うようになってきた。
【０００３】
特許明細書や、週報など、文書の種類によっては、その書式が予め定められて、１つの書式に統一されているのが一般的である。１つの書式に統一された文書もあれば、全く書式のない自由書式の文書も数多く存在する。このような様々な種類の書式の文書をＸＭＬなどで記述された構造化文書として格納・管理することは、今後ますます需要が増すと考えられる。
【０００４】
一方、１つの文書データに対して複数のユーザが同一の文書データを取り出し、編集を行ない、書き込みを行なう場合がある。このとき、複数のユーザの行なった編集が、お互いの編集内容に対して、矛盾が生じていない場合はすべての書き込み要求を許可すべきであり、矛盾が生じている場合は、書き込み要求を不許可すべきである。
【０００５】
複数の書き込みにより内容に矛盾が生じることを「衝突（コンフリクト）」と呼ぶ。複数のユーザの編集内容に対して、編集による「衝突」の判定を行なうには、同一文書データの各構成要素の依存関係から、ある構成要素を書き換えたことによる影響がどの構成要素まで広がるかを調べる必要がある。そして、複数の書き込み要求と、これら要求のそれぞれに応じて書き込みを行うことにより影響を及ぼす範囲とを調べる。もし、影響を及ぼす範囲に重なる部分（差集合）が存在するならば、それは、複数の書き込みによる「衝突」が起きる可能性を意味する。また、重なる部分（差集合）が存在しなければ、それは、複数の書き込みによる「衝突」が起きる可能性が無いことを意味する。
【０００６】
このような、データの書き込みによる影響を及ぼすデータの範囲（データ群）を、「依存範囲」と呼ぶことにする。原理的には、この依存範囲にあるデータ群単位に、複数ユーザからの書き込み要求を制御して、文書データの書き換えにより矛盾が生じないように（衝突が生じないように）監視することにより、１つの同じ依存範囲にあるデータに対し、例えば、書き込みを行っている最中に他の書き込み要求が合った場合には、それを不許可にするといった制御を行えばよいことになる。
【０００７】
異なる文書構造の複数の構造化文書を記憶する記憶手段に対し、複数のユーザがアクセスして、１つの構造化文書に対し複数のユーザが書き換えを行うような環境においては、複数のユーザによる書き込みにより衝突が発生しないように、上記のような文書データを監視する必要がある。従って、構造化文書を対象にした、複数のユーザからの書き込みを制御する手法は、上記のような環境においては、必要不可欠である。
【０００８】
データベースは、複数のユーザからアクセスされることを前提としているので、複数のユーザからの書き込みを制御する手段は不可欠であった。
【０００９】
従来のリレーショナルデータベースでは、
・第一正規形
・第二正規形
・第三正規形
・第四正規形
・ボイス−コッド正規形
を満たすリレーションの設計が行なわれているという仮定のもと、複数ユーザによる書き込み要求の制御は、１つのタプル単位にトランザクション管理を行なうことで、同じタプルに対する複数の書き込みを防ぐようになっている。すなわち、例えば、あるタプルに対し書き込みを行っている最中に、他の書き込み要求による書き込みが行われないように制御を行っている。
【００１０】
このタプルに含まれるデータ群と、上記依存範囲とが同じであれば、リレーショナルデータベースは同じタプルへの書き込みをトランザクション管理のもと防ぐことができるので、「衝突」が起きる可能性はない。
【００１１】
しかし、同じリレーション内の複数のタプル間に上記依存範囲がある場合は、リレーショナルデータベースは、タプルを越えた単位でのトランザクション管理を行なわないため、「衝突」が生じる可能性がある。
【００１２】
このように、従来のリレーショナルデータベースでは、文書データの書き換えにより矛盾が生じないように（衝突が生じないように）監視する監視領域が、リレーショナルデータベースを構築する際に予め設定されたタプル単位に固定的に設定されて、同じタプルに対する複数の書き込み要求を制御していた。
【００１３】
複数のユーザの書き込み要求を制御するシステムの他の例として、ＣＶＳ（Ｃｏｎｃｕｒｒｅｎｔ  Ｖｅｒｓｉｏｎｓ  Ｓｙｓｔｅｍ）がある。
【００１４】
ＣＶＳではテキストデータの文書を対象にし、各文書データに対して「行」を書き込み単位と決めうちにしており、かつ、同じ行は、依存範囲にあるとして、行をそのまま、文書データの書き換えにより矛盾が生じないように（衝突が生じないように）監視するための監視領域として予め固定的に設定されている。そのため、同じ行に、互いに独立した内容が混在していたとしても、ＣＶＳは、それらが同じ行に存在するために、依存関係があるものと判定する。そして、複数の書き込み要求が同じ行へ行なわれた場合は、たとえ、書き込み内容が互いに独立であったとしても、ＣＶＳは、それらを「衝突」とみなす。
【００１５】
ＣＶＳでは、衝突が起きた場合は、衝突が起きた書き込み要求をすべて受け入れ、衝突が起きた旨を示すマークを文書データ中に書き込む。ユーザは、そのマークを見て衝突が起きた旨を知り、再び複数の書き込み内容を見て新たに書き込み要求を行なうようになっていた。
【００１６】
このように、従来からある、文書データへの書き込みを制御するシステムでは、タプルや行など、予め固定的に定めた範囲のデータ群単位に、文書データの書き換えにより、その内容に矛盾が生じないように（衝突が生じないように）監視するようになっていた。
【００１７】
監視領域が固定的に設定されていると、次のような問題点が生じる。
【００１８】
例えば、タプル単位に監視領域が固定的に設定されている上記リレーショナルデータベースの場合を例にとり、図２９を参照して具体的に説明する。
【００１９】
図２９（ａ）に示すような住所録がリレーショナルデータベースに格納されているとする。図２９（ａ）に示すように、監視領域の１つのタプルには、「名前」「住所」「自宅電話番号」という３のデータが含まれている。よって、例えば、ある１つのタプルの「住所」への書き込み最中に、同じタプル中の「名前」「住所」「自宅電話番号」のいずれかへの書き込み要求が発生しても、その要求は拒否される。
【００２０】
このとき、タプル単位に設定されている監視領域を「名前」と「住所」、「名前」と「自宅電話番号」というように、２つに分割する場合には、まず、図２９（ｂ）に示すように、リレーションを設計しなおして、この新たなリレーションに対して、図２９（ｃ）に示すようにデータを入力し直す。
【００２１】
このように、あるリレーションにおける監視領域の変更を行なう場合、再び、リレーションの設計をやりなおし、新しく設計したリレーションに再度データを追加する作業が必要となる。
【００２２】
また、図２９（ａ）において、「田中太郎」と「田中花子」が結婚しており、必ず同じ家に住んでいるので、「田中太郎」と「田中花子」の属する２つのタプルを１つの監視領域に変更したい場合（すなわち、上記リレーショナルデータベースで、同じリレーション内のデータで、一部の複数のタプルについては、それを１つの監視領域に変更する場合）、上記同様、１つの監視領域にすべきタプルを１つのタプルに変更するよう、リレーションを変更し直さなければならない。
【００２３】
次に、ＣＶＳについてだが、ＣＶＳでは文書データの行単位に監視領域が設定されている。そのため、依存範囲にあるデータ群は、まとめて１行で記述しなければならない。
【００２４】
例えば、図３０（ａ）に示すような「住所録」情報をＣＶＳで管理していたとする。
【００２５】
これも、先ほどと同様に「田中太郎」、「田中花子」を１つの監視領域として監視したい場合、これら２人のデータを、一行にまとめる必要があるので、図３０（ｂ）に示すように変更する。
【００２６】
しかし、これでは各「行」によってフォーマットが変わってしまうため、非常に読み辛いものとなる。また、フォーマットが変わると、この文書データに対して計算機処理を行なっていた場合、処理内容を全面的に書き直す必要がでてくる。
【００２７】
【発明が解決しようとする課題】
このように、従来からある、文書データへの書き込みを制御するシステムでは、タプルや行など、予め固定的に定めた範囲のデータ群単位に、文書データの書き換えにより、その内容に矛盾が生じないように（衝突が生じないように）監視するようになっていた。
【００２８】
このような従来の手法では、構造化文書に対しては容易に適用することはできない。すなわち、文書構造が異なれば、それに応じて、データの書き込みによる影響を及ぼすデータの範囲（依存範囲）も異なるため、単純に、タプル単位、行単位と全ての文書構造に対し、統一的にしかも固定的に監視領域を設定することができないからである。
【００２９】
そこで、本発明は、上記問題点に鑑み、異なる文書構造の複数の構造化文書のそれぞれに対する複数のユーザからの書き込み要求を、各構造化文書のそれぞれの文書構造に応じて効率よく、しかも柔軟に制御することができる書き込み制御方法およびそれを用いた構造化文書管理装置および構造化文書編集装置を提供することを目的とする。
【００３０】
【課題を解決するための手段】
本発明は、異なる文書構造の複数の構造化文書を記憶する記憶手段に記憶されている構造化文書に対する複数のユーザからの書き込み要求を制御するためのものであって、前記異なる文書構造のそれぞれについて、その文書構造の構成要素で特定される領域単位に前記複数のユーザからの書き込みを制御するための監視領域を設定し、この監視領域の設定された文書構造を持つ前記構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御することを特徴とする。
【００３１】
本発明によれば、異なる文書構造の複数の構造化文書のそれぞれに対する複数のユーザからの書き込み要求を、各構造化文書のそれぞれの文書構造に応じて効率よく、しかも柔軟に制御することができる。すなわち、文書構造毎に、その文書構造毎に適した監視領域を設定することができるので、複数のユーザからの書き込み要求を制御する際に衝突を回避するための適切な監視領域を、異なる文書構造のそれぞれに対し容易に変更可能に設定できる。
【００３２】
好ましくは、前記文書構造の構成要素の依存関係に基づき、少なくとも１つの構成要素からなる領域単位に前記監視領域を設定する。
【００３３】
例えば、１つの構造化文書に会社名を記述する構成要素と、会社の電話番号を記述する構成要素とがあり、それらがそれぞれ別個の監視領域に設定されているとする。この場合、当該構造化文書に対し、複数のユーザからの書き込みがあり、監視領域単位に、後述する書き込み制御を行った結果、会社名を記述する構成要素の書き換えは許可され、会社の電話番号を記述する構成要素への書き換えは拒否されたとする。すると、両者の内容に矛盾が生じてしまう。しかし、互いに依存関係のある複数の構成要素単位に監視領域を設定することにより、書き換え制御の結果、書き換えられた構造化文書中に、上記のような意味的な矛盾が生じることを回避できる。
【００３４】
また、前記監視領域の設定された文書構造を持つ前記構造化文書の前記構成要素に前記監視領域である旨の属性情報を付与することで、前記構造化文書中に前記監視領域を設定することにより、各構造化文書に対し、容易に変更可能なように監視領域の設定（指定）が行える。
【００３５】
また、前記異なる文書構造のそれぞれについて、前記監視領域として指定された構成要素名と、その構造化文書の持つ文書構造の識別情報との対応関係を記憶しておき、この記憶した対応関係に基づき、前記監視領域の設定された文書構造を持つ前記構造化文書中に前記監視領域を設定することにより、同じ文書構造を持つ大量の構造化文書に対し、容易に監視領域を設定することができる。
【００３６】
また、前記監視領域内のデータが最後に書き換えられたときの時刻を該監視領域のデータのバーション番号として用い、該監視領域に対する書き込みは、どのバージョン番号のデータに対する書き込みであるかに基づき前記複数のユーザからの書き込みを制御することにより、１つの監視領域に対し、複数のユーザからの書き込み要求があった場合に、書き込みを許可するか否かを容易に判断することができる。
【００３７】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
【００３８】
図１は、本実施形態に係る文書データ管理システムの要部の構成例を概略的に示したもので、大きく分けて、複数の文書データを記憶し、管理するサーバとしての領域指定済み文書データ管理装置（以下、簡単に文書データ管理装置と呼ぶ）１と、この文書データ管理装置１に適宜接続して、この文書データ管理装置１から読み出された領域指定済み文書データに対し編集等を行う例えば、ＰＤＡや携帯電話、パーソナルコンピュータ等のクライアントとしての端末装置２から構成されている。
【００３９】
なお、文書データ管理装置１が構造化文書管理装置に対応し、端末装置２が構造化文書編集装置に対応する。
【００４０】
文書データ管理装置１は、領域指定済み文書データ生成部１１と、領域指定済み文書データ記憶部１２と、監視領域指定変更部１３と、文書データ書き込み部１４と文書データ読み出し部１５と、時刻管理部１６と、対応テーブル記憶部１７とから構成されている。
【００４１】
端末装置２は、少なくとも書き込み要求生成部２１と、差分文書生成部２２と、文書データ編集部２３を有している。
【００４２】
図１の文書データ管理システムの処理対象の文書データは、文書構造を有する構造化文書である。構造化文書には、例えば、ＳＧＭＬやＸＭＬなどで記述されたものがある。ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）とは、ＩＳＯ（国際標準化機構）で定められた規格である。ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）とは、Ｗ３Ｃ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ）にて定められた規格である。それぞれ文書を構造化することを可能とする構造化文書規約である。
【００４３】
以下、構造化文書として、ＸＭＬにて記述された文書を例に説明を進める。すなわち、ここでは、ＸＭＬで記述された構造化文書を処理対象とする文書データ管理システムについて説明するが、以下に説明する本発明の要旨は、ＸＭＬ以外の記述言語で記述された構造化文書にも適用可能である。
【００４４】
領域指定済み文書データ生成部１１は、構造化文書の文書データとその文書構造の種類を識別するための識別情報と、監視領域指定データ（後述）とが入力されると、これらを基に領域指定済み文書データ（後述）を生成する。文書データに監視領域指定データを入力して領域指定済み文書データを生成すると、その際に用いた当該監視領域指定データは、その文書データの文書構造の種類に対応させて、対応テーブル１７に登録する。後に、領域指定済み文書データ生成部１１に、この対応テーブル１７に既に監視領域指定データの登録されている文書構造の文書データが入力されてきたときは、対応テーブル１７に登録されている監視領域指定データを用いて、領域指定済み文書データを生成する。
【００４５】
すなわち、文書構造が複数あれば、そのそれぞれに対応する文書データ１つのみに対し、監視領域指定データを入力すれば、同じ文書構造の他の文書データについてもわざわざ監視領域指定データを入力する必要なく、（単に文書構造の識別情報を指定するだけで）領域指定済み文書データを生成することができる。
【００４６】
領域指定済み文書データ生成部１１で生成された領域指定済み文書データは、領域指定済み文書データ記憶部１２に記憶される。
【００４７】
図１の文書データ管理システムでは、異なる文書構造の複数の構造化文書を処理対象としている。従って、これら複数の構造化文書は、それぞれ、その構造化文書に対応する文書構造の種類にて分類されて、領域指定済み文書データ記憶部１２に記憶するようになっている。
【００４８】
図１０は、領域指定済み文書データ記憶部１２での文書データの記憶例を模式的に示したもので、文書構造の識別情報（例えば、「住所録」、「スケジュール」など）と、各文書構造の識別情報に対応する文書データのファイルとをテーブル状に関連付けて記憶している。
【００４９】
文書データ読み出し部１５は、端末装置２からの要求に応じて、領域指定文書データ記憶部１２から領域指定済み文書データを読み出す。
【００５０】
監視領域指定変更部１３は、すでに監視領域が指定されている文書構造と、その文書構造を持ち、すでに領域指定済み文書データ記憶部１２に記憶されている領域指定済み文書データとに対して、監視領域の指定を変更するためのものである。
【００５１】
時刻管理部１６は、文書データ書き込み部１４と領域指定済み文書データ生成部１１とに最終書き込み時刻（後述）を提供するためのものである。
【００５２】
端末装置２の文書データ編集部２３は、文書データ管理装置１から読み出された領域指定済み文書データを編集するためのものである。
【００５３】
差分文書生成部２２は、編集前と編集後の領域指定済み文書データを監視領域単位に比較して、その差分を抽出し、差分文書（後述）を生成する。
【００５４】
書き込み要求生成部２１は、上記生成された差分文書に基づき、文書データ管理装置１に対する書き込み要求を生成する。
【００５５】
文書管理装置１の文書データ書き込み部１４は、端末装置２から送信されてきた書き込み要求を受け付けて、この書き込み要求と、時刻管理部１６から提供された時刻データとを基に、領域指定済み文書データ記憶部１２に書き込みを行うためのものである。
【００５６】
図２は、領域指定文書データ生成部１１の構成例を示したもので、文書データ入力部１１１と、監視領域指定部１１２と、監視領域指定データ入力部１１３と、最終書き込み時刻データ入力部１１４と、書き込み部１１５とから構成されている。以下、図２と、図１１に示すフローチャートを参照して、領域指定文書データ生成部１１の構成と、処理動作について説明する。
【００５７】
領域指定済み文書データは、例えばＸＭＬといった複数の構成要素から構成された文書構造を有する構造化文書と、少なくとも１つの構成要素からなる監視領域を指定する領域指定データから生成されるものである。
【００５８】
監視領域とは、１つの文書構造の少なくとも１つの構成要素毎に設定され得るものである。本実施形態では、文書構造の有する複数の構成要素のうち、少なくとも１つの構成要素からなるデータ範囲毎に監視領域を設定するようになっている。監視領域は、（後述するような）複数のユーザからの書き込みに対する制御を行うためのデータの範囲である。
【００５９】
例えば、１つの構造化文書に会社名を記述する構成要素と、会社の電話番号を記述する構成要素とがあり、それらがそれぞれ別個の監視領域に設定されているとする。この場合、当該構造化文書に対し、複数のユーザからの書き込みがあり、監視領域単位に、後述する書き込み制御を行った結果、会社名を記述する構成要素の書き換えは許可され、会社の電話番号を記述する構成要素への書き換えは拒否されたとする。すると、両者の内容に矛盾が生じてしまう。このように、文書構造の持つ複数の構成要素のうち、そのうちの少なくとも１つの構成要素の値を書き換えることにより、書き換えられていない他の構成要素の値に矛盾を生じるような関係にある（これを依存関係と呼ぶ）上記複数の構成要素群からなるデータ範囲を監視領域と設定し、この監視領域単位に、（後述するような）複数のユーザからの書き込みに対する制御を行うことにより、上記のような内容的な矛盾が生じる衝突を容易に回避することができるという効果がある。
【００６０】
書き込み制御とは、ここでは、例えば、複数のユーザが、それぞれ、ある同じ構造化文書の同じ監視領域の同じバージョンのデータに対し書き込みを行う場合に、この複数のユーザのそれぞれからの書き込み要求のうち、最も早い時刻に届いたものだけを実行し、それ以外は拒否するといった、監視領域単位の制御である。
【００６１】
具体的には、監視領域単位に、その監視領域のデータの上記バーション番号に対応する、その監視領域に対し最後に書き込みを行ったときの時刻（最終書き込み時刻）を記録しておき、それと、今回書き込みを行うために用いた書き換え前の当該監視領域に書き込まれていた最終書き込み時刻とを比較し、前者の時刻の方が新しいときには、今回の書き込みを拒否するようになっている。
【００６２】
さらに、上記文書構造毎に設定した監視領域は、後述するように、容易に変更可能である。
【００６３】
ＸＭＬ文書は、構造化文書として標準的な文書形式である。ＸＭＬは、ノードと呼ばれる構成要素を、木構造状に構成することにより、構造化文書を形成している。
【００６４】
たとえば、「住所録」情報をＸＭＬで表したもの（文書データ）を以下に示す。
【００６５】
0003673189.tif 000002
上記文書データは、「住所録」という構成要素（ノード）の子要素に複数の「メンバ」という子要素があり、さらに、各「メンバ」要素は、「名前」、「メール」、「勤務先」という子要素から構成された文書構造を持つ。各構成要素は、その要素名を表したタグ（＜要素名＞）で囲まれてなる。
【００６６】
例えば、上記「住所録」情報という文書データの持つ上記したような文書構造の識別情報を「住所録」とする。
【００６７】
ここで、ＸＭＬについて簡単に説明する。
【００６８】
ＸＭＬは、文書の構造の表現にタグが用いられる。タグには、開始タグと終了タグがあり、文書構造情報の構成要素を開始タグと終了タグで囲むことにより、文書中の文字列（テキスト）区切りと、そのテキストが構造上どの構成要素に属するのかを明確に記述することができる。
【００６９】
ここで開始タグとは要素名を記号「＜」、「＞」で閉じたものであり、終了タグとは要素名を記号「＜／」と「＞」で閉じたものである。タグに続く構成要素の内容が、テキスト（文字列）または子供の構成要素の繰り返しである。また開始タグには「＜要素名  属性＝“属性値”＞」などのように属性情報を設定することができる。また、例えば、「＜メール＞＜／メール＞」のように要素の値としてのテキストを含まない構成要素は、簡易記法として「＜メール／＞」のように表わすこともできる。
【００７０】
ここでは、「住所録」タグの子要素の１つである「メンバ」ノード以下にある構成要素群からなるデータの範囲を指定するために、「住所録／メンバ」と表し、さらに、「メンバ」の子要素である「名前」ノード以下にある構成要素群からなるデータの範囲を指定するために「住所録／メンバ／名前」と表す。このような構造化文書中の特定のエリア（データの範囲）を指定するもの（「住所録／メンバ」、「住所録／メンバ／名前」）をパスと呼ぶ。
【００７１】
さて、上記「住所録」情報の文書データに対して、例えば、監視領域を、「メンバ」という構成要素単位、すなわち、「メンバ」という構成要素以下に存在する構成要素群からなるデータ範囲毎に設定する場合を考える。例えば、監視領域指定データのフォーマットを、「監視領域＝（監視領域へのパス）」とすると、この場合の監視領域指定データは、「監視領域＝住所録／メンバ」となる。
【００７２】
上記「住所録」情報のような文書データを、文書データ管理装置１に新たに格納しようとする場合を例にとり説明する。
【００７３】
文書データ入力部１１には、上記「住所録」情報のような文書データと、その文書データの文書構造の識別情報（例えば、この場合、「住所録」）が入力する（図１１のステップＳ１）。入力された文書データと、その文書データの文書構造の識別情報は、監視領域指定部１１２へ渡される。
【００７４】
このとき、監視領域指定部１１２は、対応テーブル１７を参照して、対応テーブル１７に、当該入力された文書構造の識別情報に対応する監視領域指定データが登録されていないときのみ、ユーザに対し、所定のメッセージを表示するなどして、監視領域指定データの入力を促す（図１１のステップＳ２）。この場合、ユーザは、監視領域指定データ入力部１１３に、例えば、「監視領域＝住所録／メンバ」なる監視領域指定データを入力すればよい（図１１のステップＳ３）。監視領域指定データ入力部１１３に入力された監視領域指定データは、監視領域指定部１１２へ渡される。
【００７５】
監視領域指定部１１２は、受け取った監視領域指定データ（「監視領域＝住所録／メンバ」）を、図８に示したように、対応テーブル１７に、当該領域指定済み文書データの文書構造の識別情報（例えば、「住所録」）に対応させて登録する（図１１のステップＳ４）。
【００７６】
一方、図１１のステップＳ２で、対応テーブル１７に、当該入力された文書構造の識別情報に対応する監視領域指定データが登録されているときは（監視領域指定データを新たにユーザに入力してもらう必要ない）、対応テーブル１７から当該入力された文書構造の識別情報に対応する監視領域指定データを読み出す。そして、ステップＳ３，ステップＳ４をスキップし、ステップＳ５へ進む。
【００７７】
次に、図１１のステップＳ５で、監視領域指定部１１２は、文書データ入力部１１から入力した、まだ監視領域の設定されていない文書データと、監視領域指定データ入力部１１３から入力した監視領域指定データ（あるいは、対応テーブル１７から読み出した監視領域指定データ）とから領域指定済み文書データを生成する（図１１のステップＳ５）。
【００７８】
例えば、「監視領域＝住所録／メンバ」なる監視領域指定データと、上記「住所録」情報の文書データとから、図６に示すような領域指定済み文書データが生成される。
【００７９】
図６の２行目、７行目に示しように、領域指定済み文書データでは、監視領域指定データにて監視領域として指定された構成要素であることを表すための情報を、その構成要素の属性情報として追加している。すなわち、監視領域として指定された構成要素（要素名「メンバ」なる構成要素）の開始タグには、属性情報「監視領域＝”ｔｒｕｅ”」が設定されている。
【００８０】
最終書き込み時刻データ入力部１１４からは、時刻管理部１６から提供される時刻データが上記最終書き込み時刻データとして入力する。書き込み部１１５は、上記生成された領域指定済み文書データの各監視領域に、領域指定済み文書データ記憶部１２に書き込む時刻である、上記最終書き込み時刻を記録する（図１１のステップＳ６）。
【００８１】
例えば、図６に示したような領域指定済み文書データの場合、監視領域は「メンバ」という構成要素単位に指定されている。また、図６に示した領域指定済み文書データを領域指定済み文書データ記憶部１２に格納するときに、最終書き込み時刻データとして受け取った時刻データが、例えば、「２００１／３／３  １０：２３」であったとする。このとき、書き込み部１１５では、図６に示した領域指定済み文書データの監視領域として指定された構成要素の開始タグに、例えば、図７の２行目、６行目に示すように、属性情報として「最終書き込み時刻＝”２００１／３／３  １０：２３”」をさらに設定する。
【００８２】
書き込み部１１５は、最終的に、監視領域として設定した構成要素毎に、監視領域であることを指定するための属性情報と、最終書き込み時刻を示した属性情報とが設定された図７に示したような領域指定済み文書データのファイル（例えば、ファイル名「住所録Ａ」とする）を、図１の領域指定済み文書データ記憶部１２に、図１０に示したように格納する（図１１のステップＳ７）。
【００８３】
以上は、１つの文書構造の１つの文書データのファイルについての説明であるが、実際には、複数の異なる文書構造の文書データが存在し、その各文書構造毎に、上記したように、監視領域を設定する（領域指定済み文書データを生成して、それを対応テーブル１７に登録する）ことになる。
【００８４】
そして、１つのある文書構造のある１つの文書データに対し上記したように、監視領域を設定することにより、対応テーブル１７には、図８に示したように、文書構造の識別情報と、それに対応する監視領域指定データとが登録されるので、以後、この対応テーブル１７を参照することにより、これと同じ文書構造の他の文書データにも同じ構成要素に監視領域を設定（指定）することができる。
【００８５】
例えば、上記「住所録」情報の文書データとは異なる文書構造の文書データとして、図９に示すような構造化文書があるとする。
【００８６】
図９の構造化文書は、「スケジュール」情報の文書データであり、「スケジュール」という構成要素（ノード）の子要素に複数の「Ｉｔｅｍ」という子要素があり、さらに、各「Ｉｔｅｍ」要素は、「Ｄａｔｅ」、「Ｔｉｍｅ」、「Ｓｕｂｊｅｃｔ」、「Ｐｌａｃｅ」、「Ｂｏｄｙ」という子要素から構成された文書構造を持つ。
【００８７】
例えば、図９の「スケジュール」情報の文書データの持つ上記したような文書構造の識別情報を「スケジュール」とする。
【００８８】
「住所録」情報の文書データの場合と同様にして、図９に示したような文書データの文書構造に対し、監視領域を、例えば、「Ｉｔｅｍ」という構成要素毎に設定する場合を考える。この場合の監視領域指定データは、「監視領域＝スケジュール／Ｉｔｅｍ」となる。
【００８９】
図１１に従って、図９の構造化文書を文書データ管理装置１に新たに格納した場合、対応テーブル１７には、図８に示すように、文書構造の識別情報「スケジュール」と、監視領域指定データ「監視領域＝スケジュール／Ｉｔｅｍ」とが登録される。また、領域指定済み文書データ記憶部１２に図９に示した文書データのファイル（例えば、ファイル名「スケジュールＡ」）が図１０に示したように格納される。
【００９０】
図２８は、領域指定済み文書データ生成部１１の他の構成例であって、文書構造認識部１１６が監視領域指定部１１２に接続されている点が、図２の構成と異なる。
【００９１】
文書構造認識部１１６は、パーサ（Ｐａｒｓｅｒ）を持ち、これにより、入力する文書データの文書構造を認識するためのものでる。文書構造認識部１１６は、異なる文書構造のそれぞれについてのＤＴＤ（Ｄｏｃｕｍｅｎ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ：文書型定義）を予め記憶しておく。この各ＤＴＤは、その文書構造の識別情報に対応付けて記憶されている。
【００９２】
文書データ入力部１１１から新たな文書データが入力されると、この文書構造認識部１１６にて、その入力した文書データに対応する文書構造はどれであるかを、パーサが予め記憶したＤＴＤを１つずつ用いて、入力した文書データの文書構造にマッチするＤＴＤの識別情報を求めるようになっている。従って、この文書構造認識部１１６があれば、文書構造の識別情報の入力は必要ない。
【００９３】
その後の処理動作は、図１１と同様である。
【００９４】
次に、端末装置２について説明する。
【００９５】
端末装置２からの要求に応じて、文書データ読み出し部１５により領域指定済み文書データ記憶部１２から読み出された図２に示したような領域指定済み文書データは、文書データ編集部２３で、閲覧、編集される。
【００９６】
差分文書生成部２２は、編集前と編集後の領域指定済み文書データを監視領域単位に比較して、その差分を抽出し、差分文書（後述）を生成するものである。
【００９７】
図３は、差分文書生成部２２の構成例を示したもので、領域指定済み文書データ入力部２２１、２２２と、領域抽出部２２３と、領域比較部２２４とから構成されている。
【００９８】
領域指定済み文書データ入力部２２１には、編集前の領域指定済み文書データが入力し、領域指定済み文書データ入力部２２１には、文書データ編集部２３で編集された後の領域指定済み文書データが入力する。
【００９９】
領域抽出部２２３は、上記編集前の領域指定済み文書データと編集後の領域指定済み文書データとのそれぞれから、対応する監視領域を抽出する。
【０１００】
領域比較部２２４は、編集前と編集後の領域指定済み文書データのそれぞれから抽出された対応する２つの監視領域を比較し、差分を生成し、差分文書（後述）を生成する。
【０１０１】
書き込み要求生成部２１は、差分文書を入力し、差分文書（後述）が示している領域と、書き込み内容を抽出し、それらを含む書き込み要求を生成するようになっている。
【０１０２】
次に、文書データ管理装置１の説明に戻る。
【０１０３】
図４は、文書データ管理装置１の文書データ書き込み部１４の構成例を示したもので、最終書き込み時刻記録部１４１と、領域書き込み部１４２と、領域検出部１４３と、書き込み要求受信部１４４とから構成されている。
【０１０４】
書き込み要求受信部１４４は、端末装置２から送られてきた書き込み要求を受信し、受信した書き込み要求に含まれている、領域指定済み文書データ中の書き込み対象の監視領域はどれであるかを示す情報（書き込み対象領域情報）と、実際に書き込む内容を示した情報（書き込み内容情報）とを取り出す。
【０１０５】
領域検出部１４３は、領域指定済み文書データ記憶部１２に記憶されている領域指定済み文書データから、書き込み対象領域情報を基に、書き込み対象領域を検出する。
【０１０６】
領域書き込み部１４２は、領域指定済み文書データから検出された書き込み対象領域（書き込み対象の監視領域）に対して、受信した書き込み要求に含まれていた書き込み内容情報に基づき書き込みを行なう。
【０１０７】
最終書き込み時刻記録部１４１は、領域書き込み部１４２で書き込みを行った監視領域に、その書き込みを行った時刻を「最終書き込み時刻」という属性情報の属性値として記録する。
【０１０８】
図５は、監視領域指定変更部１３の構成例を示したもので、監視領域指定変更要求受信部１３１と、監視領域指定削除部１３３と、監視領域指定作成部１３４とから構成されている。
【０１０９】
監視領域指定変更要求受信部１３１は、ユーザからの監視領域指定変更要求を受信する。
【０１１０】
監視領域指定削除部１３３は、監視領域指定変更要求に含まれる、どの文書構造について、監視領域をどの構成要素からどの構成要素へ変更するかを指定した情報を基に、領域指定済み文書データ記憶部１２に記憶されている当該指定された文書構造の領域指定済み文書データ中の現在の監視領域の現在の監視領域の指定を削除するためのものである。
【０１１１】
監視領域指定作成部１３４は、監視領域指定変更要求に含まれる、どの文書構造について、監視領域をどの構成要素からどの構成要素へ変更するかを指定した情報を基に、監視領域指定データを作成し、この作成された監視領域指定データで、対応テーブル１７の当該文書構造の識別情報に対応する監視領域指定データを書き換える。そして、領域指定済み文書データ記憶部１２に記憶されている当該指定された文書構造の領域指定済み文書データ中に新たな監視領域として指定された構成要素の開始タグに属性情報「監視領域＝”ｔｒｕｅ”」を書き込み、当該構成要素を監視領域として設定する
次に、ユーザが端末装置２を文書データ管理装置２に接続して、端末装置２にて、文書データ管理装置２に記憶されている領域指定済み文書データを閲覧、編集を行なう場合の説明を行なう。
【０１１２】
文書データ管理装置１の文書データ読み出し部１５が、端末装置２からの読み出し要求を受け取ると、当該要求に含まれている領域指定済み文書データの識別情報（例えば、ここでは、ファイル名であるとする）に対応する領域指定済み文書データを領域指定済み文書データ記憶部１２から読み出し、それを当該端末装置２へ出力する。
【０１１３】
端末装置２では、当該領域指定済み文書データを、差分文書生成部２２に編集前の領域指定済み文書データとして入力するとともに、文書データ編集部２３へ入力する。
【０１１４】
その後、ユーザは、文書データ編集部２３を用いて、当該領域指定済み文書データの閲覧、編集を行なうことができる。
【０１１５】
一般に、編集には、当該領域指定済み文書データの一部を書き換えたり、削除したり、新た追加作成するなどの場合がある。
【０１１６】
差分文書生成部２２は、このような編集の結果得られた領域指定済み文書データと、編集前の領域指定済み文書データとを監視領域単位に比較して、どのような種類の編集をどの箇所にどのように行われたかを示した差分文書を作成する。
【０１１７】
編集の種類は、ここでは、例えば、「追加」、「書き換え」、「削除」の３種類があるとする。
【０１１８】
ユーザが文書データ編集部２３を用いて、例えば、図７の領域指定済み文書データ中、８行目の「鈴木花子」を「小川花子」に書き換えたとする。その結果、差分文書生成部２２で生成される差分文書は、図１３のようになる。
【０１１９】
図１３の差分文書において、１行目から２行目には、編集の種類として「書き換え」と記述され、３行目から８行目には、編集前の当該監視領域のデータがそのまま対象領域として記述され、９行目〜１４行目には、どのように書き換えられたかを示すために、編集後の当該監視領域のデータがそのまま記述されている。すなわち、図１３の差分文書からも、編集前には「鈴木花子」であったところが（５行目）、編集後には「小川花子」に書き換えられた（１１行目）ことがわかる。
【０１２０】
また、ユーザが文書データ編集部２３を用いて、例えば、図７の領域指定済み文書データ中、例えば、最後の１１行目と１２行目との間に、以下に示すような「メンバ」要素を１人分追加するようなデータを書き込む編集を行ったとする。追加の場合、必ず末尾に追加するように予め定めておくことが望ましい。
【０１２１】
0003673189.tif 000003
その結果、差分文書生成部２２で生成される差分文書は、図１４のようになる。
【０１２２】
図１４の差分文書において、１行目から２行目には、編集の種類として「追加」と記述され、３行目から８行目には、どのようなデータが追加されたかを示すために、追加された１つの監視領域のデータが記述されている。
【０１２３】
また、ユーザが文書データ編集部２３を用いて、例えば、図７の領域指定済み文書データ中、７行目〜１１行目の１人分の「メンバ」要素を削除する編集を行ったとする。その結果、差分文書生成部２２で生成される差分文書は、図１５のようになる。
【０１２４】
図１５の差分文書において、１行目から２行目には、編集の種類として「削除」と記述され、３行目から８行目には、編集により削除された当該監視領域のデータがそのまま対象領域として記述されている。
【０１２５】
図１２に示したフローチャートを参照して、図３の差分文書生成部２２の処理動作について説明する。
【０１２６】
ユーザが文書データ編集部２３を用いて、例えば、図７の領域指定済み文書データ中、８行目の「鈴木花子」を「小川花子」に書き換える編集を行ったとする。
【０１２７】
差分文書生成部２２の領域指定済み文書データ入力部２２１には、図７の編集前の領域指定済み文書データが入力し、領域指定済み文書データ入力部２２２には、編集後の領域指定済み文書データが入力する（図１２のステップＳ１１）。
【０１２８】
領域抽出部２２３は、入力された編集前と編集後の領域指定済み文書データを読み込み、これら２つの領域指定済み文書データのそれぞれから、対応する監視領域を（例えば、並んでいる順番に）１つずつ抽出する（図１２のステップＳ１２）。
【０１２９】
編集前と編集後の領域指定済み文書データのそれぞれから対応する監視領域を１つ抽出したら、それらの比較を行う（図１２のステップＳ１４）。
【０１３０】
対応する２つの監視領域のデータを比較して、例えば、編集後の領域指定済み文書データ中の当該監視領域中のデータの一部が、編集前の領域指定済み文書データ中の当該監視領域中のデータと異なるときには、編集の種類が「書き換え」であると判断し、ステップＳ１７へ進む。
【０１３１】
また、編集後の領域指定済み文書データ中に、編集前の領域指定済み文書データ中の当該監視領域に対応する監視領域が存在しないときは、編集の種類が「削除」であると判断し、ステップＳ１６へ進む。
【０１３２】
また、編集前の領域指定済み文書データ中に、編集後の領域指定済み文書データ中の当該監視領域に対応する監視領域が存在しないときは、編集の種類が「追加」であると判断し、ステップＳ１５へ進む。
【０１３３】
ステップＳ１５では、編集の種類が「追加」である、図１４に示したような差分文書の生成を行う。
【０１３４】
ステップＳ１６では、編集の種類が「削除」である、図１５に示したような差分文書の生成を行う。
【０１３５】
ステップＳ１７では、編集の種類が「書き換え」である、図１３に示したような差分文書の生成を行う。
【０１３６】
ところで、図１の文書データ管理システムで取り扱う文書データの構成要素に、閲覧のみで書き換え、削除などの編集を拒否するような属性情報を設定する事も可能である。例えば、図７の３行目にある「名前」要素のデータについては閲覧のみであるという属性を設定したい場合には、「閲覧のみ＝“ｔｒｕｅ”」という属性情報を「名前」要素の開始タグに書き込み、下記のように記述することにする。
【０１３７】
「<名前 閲覧のみ＝“ｔｒｕｅ”>山田太郎</名前>」
図１２のステップＳ１７において、編集後の領域指定済み文書データ中の比較対象として抽出された監視領域のデータに、上記「閲覧のみ＝“ｔｒｕｅ”」という属性情報付きの構成要素が含まれているときは、当該監視領域から、そのような構成要素を削除して、編集後の編集後の領域指定済み文書データ中の比較対象として抽出された監視領域のデータとする。
【０１３８】
上記比較を、編集後、編集前の領域指定済み文書データ中の全監視領域に対して行なった後（ステップＳ１３）、生成された全ての差分文書を書き込み要求生成部２１へ出力して、処理を終了する（ステップＳ１９）。
【０１３９】
なお、差分文書には、処理対象の領域指定済み文書データの識別情報として、例えば、ファイル名が含まれていてもよい。
【０１４０】
次に、端末装置２の書き込み要求生成部２１は、入力された差分文書を基に、書き込み要求を生成する。書き込み要求には、領域指定済み文書データの識別情報として、例えば、ファイル名と、当該領域指定済み文書データ中の書き込み対象の監視領域はどれであるかを示す情報（書き込み対象領域情報）と、実際に書き込む内容を示した情報（書き込み内容情報）とが含まれている。
【０１４１】
差分文書に記述された編集の種類が「追加」の場合は、書き込み対象領域情報が「空」、書き込み内容情報が、当該差分文書中の「変更内容」の欄に記述されたデータとなるような書き込み要求を生成する。
【０１４２】
差分文書に記述された編集の種類が「削除」の場合は、書き込み対象領域情報が、差分文書中の「対象領域」の欄に記述された監視領域となり、書き込み内容情報が「空」の書き込み要求を生成する。
【０１４３】
差分文書に記述された編集の種類が「書き換え」の場合は、書き込み対象領域情報が、差分文書中の「対象領域」の欄に記述された監視領域となり、書き込み内容情報が、差分文書の変更内容の欄に記述されたデータとなるような書き込み要求を生成する。例えば、図１３に示した差分文書を基に生成される書き込み要求は、例えば、図１６に示すようなものとなる。
【０１４４】
端末装置２の書き込み要求生成部２１生成された、例えば、図１６に示すような書き込み要求は、文書データ管理装置１に送信される。
【０１４５】
文書データ管理装置１の文書データ書き込み部１４は、例えば図１６に示したような書き込み要求を受信すると動作を開始する。
【０１４６】
次に、図１７に示すフローチャートを参照して、図４の文書データ書き込み部１４の処理動作について説明する。
【０１４７】
図１６に示したような書き込み要求は、文書データ書き込み部１４の書き込み要求受信部１４４にて受信される（ステップＳ２１）。
【０１４８】
受信した書き込み要求から、書き込み対象領域情報、書き込み内容情報を取り出す（ステップＳ２２）。
【０１４９】
ステップＳ２３において、書き込み対象領域情報が空の場合（すなわち、編集の種類が追加であり、監視領域を追加する書き込みを行うような書き込み要求の場合）、ステップＳ２４へ進み、領域書き込み部１４２は、領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データに対し、当該書き込み要求に含まれている書き込み内容情報を用いて、新規に監視領域を作成する書き込みを行う（ステップＳ２４）。そして、最終書き込み時刻記録部１４１は、この新たに書き込まれた新規の監視領域の開始タグに、属性情報として最終書き込み時刻を記録する（ステップＳ３０）。
【０１５０】
例えば、図７に示した領域指定済み文書データに対し、端末装置２において、「鈴木花子」を「小川花子」に書き換えた場合、図１３に示したような差分文書が生成され、さらに、図１６に示したような書き込み要求が生成されるが、この書き込み要求を文書データ書き込み部１４が受信した場合には、上記のような処理を経て、図１８に示すように、領域指定済み文書データ記憶部１２に格納されている図７に示した当該領域指定済み文書データが書き換えられる。この場合、図１８の８行目にある「名前」要素の値が「小川花子」に書き換えられている。また、このような書き込みを行った時刻が「２００１／３／３  １２：２１」であったので、図１８の７行目にある「メンバ」要素には、属性情報として、最終書き込み時刻＝“２００１／３／３  １２：２１”が書き込まれている。
【０１５１】
さて、図１７のステップＳ２３において、書き込み対象領域情報が空でない場合には、ステップＳ２５へ進む。
【０１５２】
ステップＳ２５では、領域指定済み文書データ検出部１４３は、領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データ中から、書き込み対象領域情報にて指定された監視領域を検出する。この検出は、単純に、書き込み対象領域情報中の各構成要素の値と、領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データ中の各監視領域中の各構成要素の値とのマッチングにより、当該指定された監視領域を検出すればよい。
【０１５３】
領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データ中から、当該指定された監視領域の検出が成功したときには、ステップＳ２６へ進み、失敗したときには、そこで処理を終了する。
【０１５４】
ステップＳ２６では、領域書き込み部１４２は、まず、書き込み内容情報中の監視領域の属性情報である最終書き込み時刻と、上記検出された書き込み対象領域の監視領域の属性情報である最終書き込み時刻とを比較して、衝突の判定を行う。
【０１５５】
書き込み対象領域の最終書き込み時刻の方が、書き込み内容情報中の監視領域の最終書き込み時刻より新しいときは、領域指定済み文書データ記憶部１２から今回編集のために当該領域指定済み文書データを読み出した後に、他のユーザから同じ領域指定済み文書データ中の同じ監視領域への書き込みがあったことになるので、衝突があると判定できる。従って、今回の書き込み要求は拒否され、そのまま処理を終了する。
【０１５６】
一方、書き込み対象領域の最終書き込み時刻の方が、書き込み内容情報中の監視領域の最終書き込み時刻より古いか、あるいは双方とも同じ時刻であるときは、今回の書き込み要求を許可しても衝突は起こらないので、ステップＳ２７へ進み処理を続行する。
【０１５７】
ステップＳ２７では、書き込み内容情報が空である場合（すなわち、編集の種類が削除であり、監視領域を削除するか書き込みを行うような書き込み要求の場合）、ステップＳ２９へ進み、そうでない場合（すなわち、編集の種類が書き換えであり、監視領域の一部のデータを書き換える書き込みを行うような書き込み要求の場合）、ステップＳ２８へ進む。
【０１５８】
ステップＳ２８では、領域書き込み部１４２は、領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データのステップＳ２５で検出された書き込み対象領域に対し、当該書き込み要求に含まれている書き込み内容情報を用いて、書き込みを行う。そして、最終書き込み時刻記録部１４１は、この書き換えられた監視領域の開始タグの属性情報である最終書き込み時刻の値を、そのときに時刻管理部１６から提供された時刻データを用いて書き換える（ステップＳ３０）。
【０１５９】
ステップＳ２９では、領域書き込み部１４２は、領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データのステップＳ２５で検出された書き込み対象領域を削除する。
【０１６０】
最後に、文書構造毎に設定した監視領域を変更する監視領域変更部１３の処理動作について、図１９に示すフローチャートを参照して説明する。例えば、図７に示した領域指定済み文書データの文書構造に設定されている監視領域を現在の「メンバ」という構成要素単位から、「名前」、「メール」、「勤務先」という構成要素単位に設定し直す場合を例にとり説明する。
【０１６１】
監視領域指定変更要求受信部１３１にて、ユーザからの監視領域指定変更要求を受信する（ステップＳ４１）。この監視領域指定変更要求には、文書構造の識別情報（この場合、「住所録」と、監視領域をどの構成要素からどの構成要素へ変更するかを指定した情報（この場合、「住所録／メンバ」から「住所録／メンバ／名前」と「住所録／メンバ／メール」と「住所録／メンバ／勤務先」への変更を指定する情報）とが含まれている。
【０１６２】
監視領域指定削除１３２は、監視領域指定変更要求に含まれる文書構造の識別情報を基に、領域指定済み文書データ記憶部１２に記憶されている当該指定された文書構造を持つ全ての領域指定済み文書データ中の現在の監視領域の指定を削除する。すなわち、監視領域と指定する属性情報「監視領域＝”ｔｒｕｅ”」を削除する（ステップＳ４２）。
【０１６３】
例えば、図７に示した領域指定済み文書データの場合、図２５に示すように、「メンバ」という構成要素から属性情報「監視領域＝”ｔｒｕｅ”」を全て削除する。
【０１６４】
監視領域指定作成部１３４は、監視領域指定変更要求に含まれる、監視領域をどの構成要素からどの構成要素へ変更するかを指定した情報を基に、監視領域指定データを作成し（ステップＳ４３）、この作成された監視領域指定データで、対応テーブル１７の当該文書構造の識別情報に対応する監視領域指定データを書き換える（ステップＳ４４）。そして、領域指定済み文書データ記憶部１２に記憶されている当該指定された文書構造の領域指定済み文書データ中に新たな監視領域として指定された構成要素の開始タグに属性情報「監視領域＝”ｔｒｕｅ”」を書き込み、当該構成要素を監視領域として設定する（ステップＳ４５）。
【０１６５】
例えば、ここで、作成される監視領域指定データは、「監視領域＝住所録／メンバ／名前」と「監視領域＝住所録／メンバ／メール」と「監視領域＝住所録／メンバ／勤務先」となる。また、対応テーブル１７の文書構造の識別情報が「住所録」の欄には、図２６に示すように、上記３つの監視領域指定データが登録される。また、図２５に示すように、属性情報「監視領域＝”ｔｒｕｅ”」が全て削除された当該文書構造を持つ文書データのそれぞれには、上記３つの監視領域指定データを用いて、図２７に示すように、「名前」タグ、「メール」タグ、「勤務先」タグのそれぞれに属性情報「監視領域＝”ｔｒｕｅ”」を書き込む。
【０１６６】
なお、上記実施形態では、ユーザからの監視領域指定変更要求には、文書構造の識別情報（例えば、「住所録」）と、監視領域をどの構成要素からどの構成要素へ変更するかを指定した情報（例えば、「住所録／メンバ」から「住所録／メンバ／名前」と「住所録／メンバ／メール」と「住所録／メンバ／勤務先」への変更を指定する情報）とが含まれていて、監視領域指定作成部１３４は、上記監視領域指定変更要求に含まれる、監視領域をどの構成要素からどの構成要素へ変更するかを指定した情報を基に監視領域指定データ（例えば、「監視領域＝住所録／メンバ／名前」と「監視領域＝住所録／メンバ／メール」）を作成する場合を説明したが、この場合に限らず、例えば、ユーザからの監視領域指定変更要求には、文書構造の識別情報と、新たな監視領域指定データそのもの（例えば、上記の場合、「監視領域＝住所録／メンバ／名前」と「監視領域＝住所録／メンバ／メール」）が含まれていてもよい。この場合、監視領域指定作成部１３４は、監視領域指定データを作成する必要がなく、受け取った新たな監視領域指定データを対応テーブル１７へ登録するとともに、この受け取った新たな監視領域指定データを基に、属性情報「監視領域＝”ｔｒｕｅ”」を削除した領域指定済み文書データに対し、新たな監視領域を設定し直せばよい。
【０１６７】
（複数の書き込み要求が合った場合の文書データ書き込み部の処理の具体的な説明）
例えば、２人のユーザＡ、Ｂが図７に示したような同じ領域指定済み文書データを読み出し、それぞれの端末装置２で編集を行ったとする。
【０１６８】
ユーザＡは、図７の５行目の「太陽通信」を「太陽通信  株式会社」に書き換える編集を行ったとする。この場合の書き込み要求を図２０に示す。
【０１６９】
一方、ユーザＢは、図７の４行目の「ｙａｍａｄａ＠ｔａｉｙｏ−ｔｕｓｉｎ．ｃｏｍ」を「ｙａｍａｄａ＠ｔａｉｙｏ−ｃｏｍｍｕｎｉｃａｔｅ．ｃｏｍ」に書き換え、９行目の「ｈａｎａｋｏ＠ｋａｎａｇａｗａ−ｇａｓｓ．ｃｏ．ｊｐ」を「ｈａｎａｋｏ＠ｙｏｋｏｈａｍａ−ｇａｓｓ．ｃｏ．ｊｐ」に書き換え、さらに、１０行目の「神奈川ガス」を「ヨコハマガス」に書き換える編集を行ったとする。２つの監視領域にまたがった編集をおこなったことになる。この場合の書き込み要求は、図２１に示すように、書き込みを行う各監視領域毎に全部で２つある。
【０１７０】
ユーザＡからの上記編集を行った結果を領域指定済み文書データ記憶部１２に反映させるための書き込み要求が、「２００１／３／３  １１：１０」に届き、ユーザＢからの上記編集を行った結果を領域指定済み文書データ記憶部１２に反映させるための書き込み要求が、「２００１／３／３  １２：１０」に届いたとする。すなわち、ユーザＡからの書き込み要求がユーザＢからの書き込み要求より早い時刻に届いたとする。
【０１７１】
ユーザＡからの書き込み要求に含まれる、書き込み内容情報中の監視領域の属性情報である最終書き込み時刻は、図２０の８行目にあるように、「２００１／３／３  １０：２３」である。一方、図１７のステップＳ２５で書き込み対象領域として検出された、領域指定済み文書データ記憶部１２に格納されている指定された領域指定済み文書データ中の書き込み対象領域情報にて指定された監視領域の属性情報である最終書き込み時刻は、図７の２行目にあるように、「２００１／３／３  １０：２３」であるので、双方は同じ時刻である。従って、ユーザＡからの図２０に示すような書き込み要求が実行されて、領域指定済み文書データ記憶部１２に記憶されている図７に示した領域指定済み文書データは、図２２に示すように書き換えられる。図２２において、書き換えを行った監視領域の属性情報である最終書き込み時刻の値が、「２００１／３／３  １１：１０」に書き換えられている。
【０１７２】
領域指定済み文書データ記憶部１２に、図２２に示した領域指定済み文書データが格納されている状態で、ユーザＢからの書き込み要求が届く。ユーザＢからの書き込み要求は、図２１（ａ）、（ｂ）に示すように、２つあり、それぞれに含まれる、書き込み内容情報中の監視領域の属性情報である最終書き込み時刻は、図２１（ａ）、（ｂ）のそれぞれの８行目にあるように、「２００１／３／３
１０：２３」と同じである。
【０１７３】
図２１（ａ）の書き込み要求は、図２２の２行目から６行目の監視領域に対する書き換え要求であり（すなわち、図２２の２行目から６行目の監視領域が書き換え対象領域）、図２１（ｂ）の書き換え要求は、図２２の７行目から１１行目の監視領域（すなわち、図２２の７行目から１１行目の監視領域が書き換え対象領域）に対する書き換え要求である。
【０１７４】
図２１（ａ）の書き込み要求に含まれる、書き込み内容情報中の監視領域の属性情報である最終書き込み時刻は、図２０の８行目にあるように、「２００１／３／３  １０：２３」である。一方、図１７のステップＳ２５で検出された書き込み対象領域の属性情報である最終書き込み時刻は、図２２の２行目にあるように、「２００１／３／３  １１：１０」であるので、図１７のステップＳ２６において、衝突と判定できるので、図２１（ａ）の書き込み要求は拒否される。
【０１７５】
一方、図２１（ｂ）の書き込み要求は実行される。
【０１７６】
上記の例では、ユーザＡ，Ｂの「山田太郎」に関するデータ書き込み要求は、ユーザＡは「勤務先」という構成要素に対して、ユーザＢは「メール」という構成要素に対して行うものであった。互いに、異なる要素に対して書き込み要求を行なっているため、もし、監視領域の指定がなかったら、ユーザＡ、Ｂの書き込み要求が衝突（コンフリクト）を起こしていることは、検出できない。
【０１７７】
監視領域内の各構成要素は、互いに依存関係がある。また、そのようになるように監視領域を設定している。そのため、同じ最終書き込み時刻を持つ監視領域への書き込み要求が複数きた場合は、複数の書き込み要求内の内容に矛盾がある可能性がある。そのため、同じ最終書き込み時刻を持つ監視領域に対する複数の書き込み要求は、一番早い時刻に来たものだけを許可にし、残りの書き込み要求を不許可にしなければならない。
【０１７８】
（図１２のステップＳ１７における処理の説明：文書データの編集が制限される端末装置Ｙ）
例えば、図２３に示すような「社員住所録」情報の領域指定済み文書データを例にとり説明する。図２３に示す文書データは、「住所録」という構成要素（ノード）の子要素に複数の「メンバ」という子要素があり、さらに、各「メンバ」要素は、「名前」、「メール」、「会社」という子要素から構成され、さらに、「会社」という構成要素は「会社名」と「部署名」という子要素から構成される文書構造を持つ。この文書構造の識別情報を「社員住所録」とする。
【０１７９】
監視領域は、「名前」、「メール」「会社」という構成要素毎に設定されている。
【０１８０】
さて、２つの異なる端末装置Ｘ、Ｙがあるとする。
【０１８１】
端末装置Ｘは、「名前」、「アドレス」、「会社名」、「部署名」なる構成要素すべてが閲覧、編集可能である。端末装置Ｙは、「名前」、「アドレス」、「会社名」なる構成要素が閲覧、編集可能で、「部署名」なる構成要素は、閲覧のみで編集はできないとする。
【０１８２】
端末装置Ｙに、このような制限を与えるために、例えば、端末装置Ｙでは、当該文書構造に対応する閲覧のみで編集はできない構成要素名を指定した情報（「閲覧のみの構成要素：（文書構造の識別情報：構成要素）」）を予め記憶しておくことが望ましい。例えば、上記の例では、例えば、文書データ編集部２３には、「閲覧のみの構成要素：（社員住所録：部署名）」というデータが予め記憶されている。
【０１８３】
そして、端末装置Ｙにて図２３に示した文書データ３を読み出したときに、文書データ編集装置２３にて閲覧、編集する前に、端末装置Ｙが、「部署名」という構成要素に、閲覧のみであり、編集はできないことを意味する属性情報「閲覧のみ＝“ｔｒｕｅ”」を書き込む。
【０１８４】
端末装置Ｘ，Ｙの両方を用いる環境において、「社員住所録」情報中のある人物が会社を変えたため、「会社名」という構成要素の値を変更する場合を考える。このとき、端末装置Ｙからは、端末装置Ｙが、構成要素「部署名」に対して、編集できないために、構成要素「部署名」の値を変更することはできない。
【０１８５】
しかし、端末装置Ｙで構成要素「会社名」の値を書き換える編集を行った後に、端末装置Ｘで、書き換えた後の当該文書データを閲覧した場合、構成要素「会社名」の値は変更されているにも関わらず、構成要素「部署名」の値には、古い値が残るという不具合が生じる。これでは、誤解を招きやすい。
【０１８６】
よって、端末装置Ｙから、書き込み要求行なう場合は、不正確なデータを残すよりは、不正確なデータを削除するようが良い。
【０１８７】
監視領域の各要素は、お互いに依存している要素であり、監視領域内の構成要素が１つ変更されると、それに追随して他の要素も変更される可能性がある。
【０１８８】
しかし、同じ監視領域内で閲覧しかできない構成要素に対しては、上記した端末装置Ｙのように、端末装置の制限により、構成要素が編集できない可能性がある。そのため、閲覧しかできない構成要素は、矛盾のあるデータを残しておくよりは、削除する方が好ましい。
【０１８９】
よって、差分文書生成部２２の領域比較部２２４は、監視領域内の比較を行ない、ある一部の構成要素が変更されており、しかも同じ監視領域中に「閲覧のみ」の属性情報がついている構成要素がある場合は、その構成要素を削除する差分文書を生成することにする。
【０１９０】
例えば、図２３に示した文書データに対して、端末装置Ｙにて、４行目の「ｙａｍａｄａ＠ｔａｉｙｏ−ｔｕｓｉｎ．ｃｏｍ」を「ｙａｍａｄａ＠ｎｉｈｏｎ−ｔｕｓｉｎ．ｃｏｍ」に書き換え、６行目の「太陽通信」を「日本通信」に書き換える編集を行ったとする。
【０１９１】
この場合、構成要素「メール」の監視領域と構成要素「会社」の監視領域の２つの監視領域に対する編集であるので、２つの差分文書が生成されるが、後者の構成要素「会社」の監視領域についての差分文書（図２４参照）では、構成要素「部署名」には属性情報「閲覧のみ＝“ｔｒｕｅ”」が与えられているため、差分文書中の、変更内容の項目には、「部署名」タグが存在しない（図２４参照）。これは、上記の理由から、図１２のステップＳ１７で差分文書を生成する際に削除されてしまうからである。
【０１９２】
その結果、図２４に示した差分文書から生成される書き込み要求が実行された結果、領域指定済み文書データ記憶部１２に記憶されている図２３の文書データが書き換えられ、図２３の６行目の構成要素「会社名」の値は「日本通信」となり、その下の７行目の構成要素「部署名」は削除される。
【０１９３】
以上説明したように、上記実施形態によれば、異なる文書構造のそれぞれについて、各文書構造の構成要素の依存関係に基づき、少なくとも１つの構成要素からなる領域単位に、複数のユーザからの書き込みを制御するための監視領域を設定し、この監視領域の設定された文書構造を持つ構造化文書中の前記監視領域毎に、前記複数のユーザからの書き込みを制御することにより、異なる文書構造の複数の構造化文書のそれぞれに対する複数のユーザからの書き込み要求を、各構造化文書のそれぞれの文書構造に応じて効率よく、しかも柔軟に制御することができる。
【０１９４】
また、システム稼働中に、監視領域を変更する場合は、監視領域指定変更部２３により、システムを停止することなく、領域指定済み文書データの監視領域を変更することができる。
【０１９５】
なお、上記実施形態では、監視領域を文書構造の有する複数の構成要素のうち、少なくとも１つの構成要素からなるデータ範囲（部分文書）毎に設定する場合について説明したが、さらに、１つの文書構造中に、それぞれ別個の監視領域として指定されている複数の監視領域を併合して、１つの監視領域として設定することも可能である。例えば、この場合、上記実施形態の説明同様にして監視領域を設定するデータ範囲を指定したら、各監視領域に識別子を付与し、その際、１つの監視領域として併合すべき（とユーザにより別途指定された）複数の監視領域には同じ識別子を付与する。そして、監視領域の識別子が同じものは１つの監視領域として、上記実施形態の説明同様に書き込みの制御を行えばよい。
【０１９６】
例えば、図２９（ａ）と同様の「住所録」情報をＸＭＬで記述した次のような様な文書データを例にとり具体的に説明する。
【０１９７】
0003673189.tif 000004
上記文書データに対し、監視領域を、「メンバ」という構成要素単位、すなわち、「メンバ」という構成要素以下に存在する構成要素群からなるデータ範囲毎に設定し、さらに、上から１つ目と２つ目の「メンバ」要素からなる監視領域を１つの監視領域として併合する場合を考える。そして、各「メンバ」要素の開始タグに監視領域であることを表すための属性情報として、「監視領域＝“識別子”を設定する。すなわち、属性値として、その監視領域の識別子を与えるものとする。その結果、監視領域指定部１１２は、上記文書データから、以下に示すような領域指定済み文書データを生成する。
【０１９８】
0003673189.tif 000005
このような識別子をもつ監視領域を設定することにより、よりきめ細やかに監視領域を設定することができるので、例えば、図２９（ａ）に示したような、「田中太郎」と「田中花子」が結婚しており、必ず同じ家に住んでいるので、「田中太郎」と「田中花子」の属する２つのタプルを１つの監視領域に変更したい場合にも対処可能となる。
【０１９９】
さらに、１つの監視領域として監視したい構成要素を個別に指定することによっても監視領域の設定は可能である。この場合、同じ監視領域となる複数の構成要素のそれぞれに同じ監視領域の識別子を付与する。
【０２００】
例えば、上記領域指定済み文書データの場合、「田中太郎」と「田中花子」が結婚し、同じ家に住んでいても、電話番号は、一方は自宅電話番号を希望するかもしれないし、他方は、携帯電話番号を希望するかもしれない。このように、識別子「Ａ」の付与された２つの「メンバ」要素のそれぞれの子要素である２つの「電話番号」要素は、「住所」要素とは依存関係がない場合もある。そこで、識別子「Ａ」の付与された２つの「メンバ」要素のそれぞれの子要素である「電話番号」要素は、識別子「Ａ」の監視領域とは別個の監視領域として設定すればよい。すなわち、この場合、２つの「自宅電話番号」要素のそれぞれに監視領域の識別子として、「Ｃ」、「Ｄ」をそれぞれ付与し、下記のような領域指定済み文書データが生成されることになる。
【０２０１】
0003673189.tif 000006
このように、書き込み制御のための監視領域を文書構造構成要素単位に設定することにより（すなわち、少なくとも１つの構成要素からなるデータ範囲（部分文書）毎に設定したり、また、複数の監視領域を１つの監視領域に併合したり、さらに、構成要素毎に個別に監視領域を設定したりすることにより）、依存関係のある構成要素からなる監視領域をきめ細やかに柔軟に（可変的）設定することができる。従って、このようにきめ細やかに設定された監視領域単位に書き込み制御を行うことにより、文書データの書き込みにより、その内容に矛盾が生じること（衝突が生じること）を完全に防ぐことができる。
【０２０２】
また、上記実施形態では、文書構造中に監視領域を設定するために、属性情報として付与するものであったが、この場合に限らず、タグを用いて監視領域の範囲を指定することもできる。すなわち、監視領域の範囲を指定するためのタグ（例えば、「監視領域」タグ）で、下記に示すように、監視領域とするデータ範囲（部分文書）を囲えばよい。そして、上記同様、各監視領域に識別子を与え、１つの監視領域として監視したい部分文書や構成要素には同じ識別子を与えるようにしてもよい。なお、この場合、監視領域の識別子を、「監視領域」要素の属性情報としてもたせるようにすることもできる。例えば、下記の記述例では、属性情報「ｉｄ＝“監視領域の識別子”」を各監視領域の開始タグに記述されている。
【０２０３】
0003673189.tif 000007
また、本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。すなわち、領域指定済み文書データ管理装置１の領域指定済み文書データ記憶部１２，対応テーブル１７以外の各構成部、端末装置２の各構成部は、コンピュータに実行させることのできるプログラムとして実現可能である。
【０２０４】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０２０５】
【発明の効果】
以上説明したように、本発明によれば、異なる文書構造の複数の構造化文書を対象にし、１つの構造化文書に対する複数のユーザからの書き込み要求を、各構造化文書のそれぞれの文書構造に応じて効率よく、しかも柔軟に制御することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る文書データ管理システムの要部の構成例を概略的に示した図。
【図２】領域指定済み文書データ管理装置の領域指定文書データ生成部の構成例を示した図。
【図３】端末装置の差分文書生成部の構成例を示した図。
【図４】領域指定済み文書データ管理装置の文書データ書き込み部の構成例を示した図。
【図５】領域指定済み文書データ管理装置の監視領域指定変更部の構成例を示した図。
【図６】領域指定済み文書データ指定済み文書データの一例を示した図。
【図７】監視領域に最終書き込み時刻が記録されて、領域指定済み文書データ記憶部に格納される領域指定済み文書データの一例を示した図。
【図８】対応テーブルの文書構造の識別情報と領域指定済み文書データとの記憶例を示した図。
【図９】文書構造の異なる構造化文書の他の例を示した図。
【図１０】領域指定済み文書データ記憶部の文書データの記憶例を模式的に示した図。
【図１１】領域指定文書データ生成部の処理動作を説明するためのフローチャート。
【図１２】図３の差分文書生成部の処理動作について説明するためのフローチャート。
【図１３】編集の種類が「書き換え」の場合の差分文書の一例を示した図。
【図１４】編集の種類が「追加」の場合の差分文書の一例を示した図。
【図１５】変種の種類が「削除」の場合の差分文書の一例を示した図。
【図１６】図１３に示した差分文書を基に生成される書き込み要求の一例を示した図。
【図１７】図４の文書データ書き込み部の処理動作について説明するためのフローチャート。
【図１８】図１６に示したような書き込み要求を実行して、領域指定済み文書データ記憶部に格納されている図７に示した当該領域指定済み文書データが書き換えられた状態を示した図。
【図１９】領域指定済み文書データ管理装置の監視領域変更部の処理動作について説明するためのフローチャート。
【図２０】書き込み要求の他の例を示した図。
【図２１】書き込み要求のさらに他の例を示した図で、２つの監視領域についての書き込み要求を示した図。
【図２２】図２０に示すような書き込み要求が実行されて、領域指定済み文書データ記憶部に記憶されている図７に示した領域指定済み文書データが書き換えられた状態を示した図。
【図２３】「社員住所録」情報の領域指定済み文書データを示した図。
【図２４】閲覧のみで編集が不可能な構成要素を削除するための差分文書の一例を示した図。
【図２５】監視領域を変更する処理動作を説明するための図で、図７に示した領域指定済み文書データに指定されていた「メンバ」という構成要素から属性情報「監視領域＝”ｔｒｕｅ”」を全て削除した状態を示した図。
【図２６】監視領域を変更する処理動作を説明するための図で、対応テーブルに新たな監視領域指定データを登録した状態を示した図。
【図２７】監視領域を変更する処理動作を説明するための図で、新たな監視領域の指定された領域指定済み文書データを示した図。
【図２８】領域指定済み文書データ生成部の他の構成例を示した図。
【図２９】従来例を説明するための図で、リレーショナルデータベースの場合を例にとり、監視領域が固定的に設定されている場合の問題点について説明するための図。
【図３０】従来例を説明するための図で、ＣＶＳの場合を例にとり、監視領域が固定的に設定されている場合の問題点について説明するための図。
【符号の説明】
１…領域指定済み文書データ管理装置（構造化文書管理装置）
２…端末装置（構造化文書編集装置）
１１…領域指定済み文書データ生成部
１２…領域指定済み文書データ記憶部
１３…監視領域指定変更部
１４…文書データ書き込み部
１５…文書データ読み出し部
１６…時刻管理部
２１…書き込み要求生成部
２２…差分文書生成部
２３…文書データ編集部
【図１】
0003673189.tif 000008
【図２】
0003673189.tif 000009
【図３】
0003673189.tif 000010
【図４】
0003673189.tif 000011
【図５】
0003673189.tif 000012
【図６】
0003673189.tif 000013
【図７】
0003673189.tif 000014
【図８】
0003673189.tif 000015
【図９】
0003673189.tif 000016
【図１０】
0003673189.tif 000017
【図１１】
0003673189.tif 000018
【図１２】
0003673189.tif 000019
【図１３】
0003673189.tif 000020
【図１４】
0003673189.tif 000021
【図１５】
0003673189.tif 000022
【図１６】
0003673189.tif 000023
【図１７】
0003673189.tif 000024
【図１８】
0003673189.tif 000025
【図１９】
0003673189.tif 000026
【図２０】
0003673189.tif 000027
【図２１】
0003673189.tif 000028
【図２２】
0003673189.tif 000029
【図２３】
0003673189.tif 000030
【図２４】
0003673189.tif 000031
【図２５】
0003673189.tif 000032
【図２６】
0003673189.tif 000033
【図２７】
0003673189.tif 000034
【図２８】
0003673189.tif 000035
【図２９】
0003673189.tif 000036
【図３０】
0003673189.tif 000037