JP2002342142A - 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム - Google Patents

書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム

Info

Publication number
JP2002342142A
JP2002342142A JP2001151604A JP2001151604A JP2002342142A JP 2002342142 A JP2002342142 A JP 2002342142A JP 2001151604 A JP2001151604 A JP 2001151604A JP 2001151604 A JP2001151604 A JP 2001151604A JP 2002342142 A JP2002342142 A JP 2002342142A
Authority
JP
Japan
Prior art keywords
document
monitoring area
area
data
document data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001151604A
Other languages
English (en)
Other versions
JP3673189B2 (ja
Inventor
Junichi Segawa
淳一 瀬川
Tetsuo Kimura
哲郎 木村
Osamu Torii
修 鳥井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001151604A priority Critical patent/JP3673189B2/ja
Priority to US10/151,138 priority patent/US7152201B2/en
Publication of JP2002342142A publication Critical patent/JP2002342142A/ja
Application granted granted Critical
Publication of JP3673189B2 publication Critical patent/JP3673189B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】異なる文書構造の複数の構造化文書のそれぞれ
に対する複数のユーザからの書き込み要求を、各構造化
文書のそれぞれの文書構造に応じて効率よく、しかも柔
軟に制御することができる書き込み制御方法を提供す
る。 【解決手段】異なる文書構造のそれぞれについて、各文
書構造の構成要素の依存関係に基づき、少なくとも1つ
の構成要素からなる領域単位に、複数のユーザからの書
き込みを制御するための監視領域を設定し、この監視領
域の設定された文書構造を持つ構造化文書中の前記監視
領域毎に、前記複数のユーザからの書き込みを制御す
る。

Description

【発明の詳細な説明】
【発明の属する技術分野】本発明は、異なる文書構造の
複数の構造化文書を記憶する記憶手段に記憶されている
構造化文書に対する複数のユーザからの書き込み要求を
制御するための書き込み制御方法およびそれを用いた装
置に関する。
【従来の技術】近年、情報処理技術の発展に伴い、処理
する文書データも、テキストデータといった単なる文字
の羅列である文書データだけでなく、HTML(Hyp
ertext Markup Language),X
ML(ExtensibleMarkup Langu
age)などの文書を構成する構成要素が既定されてい
る文書データを扱うようになってきた。特許明細書や、
週報など、文書の種類によっては、その書式が予め定め
られて、1つの書式に統一されているのが一般的であ
る。1つの書式に統一された文書もあれば、全く書式の
ない自由書式の文書も数多く存在する。このような様々
な種類の書式の文書をXMLなどで記述された構造化文
書として格納・管理することは、今後ますます需要が増
すと考えられる。一方、1つの文書データに対して複数
のユーザが同一の文書データを取り出し、編集を行な
い、書き込みを行なう場合がある。このとき、複数のユ
ーザの行なった編集が、お互いの編集内容に対して、矛
盾が生じていない場合はすべての書き込み要求を許可す
べきであり、矛盾が生じている場合は、書き込み要求を
不許可すべきである。複数の書き込みにより内容に矛盾
が生じることを「衝突(コンフリクト)」と呼ぶ。複数
のユーザの編集内容に対して、編集による「衝突」の判
定を行なうには、同一文書データの各構成要素の依存関
係から、ある構成要素を書き換えたことによる影響がど
の構成要素まで広がるかを調べる必要がある。そして、
複数の書き込み要求と、これら要求のそれぞれに応じて
書き込みを行うことにより影響を及ぼす範囲とを調べ
る。もし、影響を及ぼす範囲に重なる部分(差集合)が
存在するならば、それは、複数の書き込みによる「衝
突」が起きる可能性を意味する。また、重なる部分(差
集合)が存在しなければ、それは、複数の書き込みによ
る「衝突」が起きる可能性が無いことを意味する。この
ような、データの書き込みによる影響を及ぼすデータの
範囲(データ群)を、「依存範囲」と呼ぶことにする。
原理的には、この依存範囲にあるデータ群単位に、複数
ユーザからの書き込み要求を制御して、文書データの書
き換えにより矛盾が生じないように(衝突が生じないよ
うに)監視することにより、1つの同じ依存範囲にある
データに対し、例えば、書き込みを行っている最中に他
の書き込み要求が合った場合には、それを不許可にする
といった制御を行えばよいことになる。異なる文書構造
の複数の構造化文書を記憶する記憶手段に対し、複数の
ユーザがアクセスして、1つの構造化文書に対し複数の
ユーザが書き換えを行うような環境においては、複数の
ユーザによる書き込みにより衝突が発生しないように、
上記のような文書データを監視する必要がある。従っ
て、構造化文書を対象にした、複数のユーザからの書き
込みを制御する手法は、上記のような環境においては、
必要不可欠である。データベースは、複数のユーザから
アクセスされることを前提としているので、複数のユー
ザからの書き込みを制御する手段は不可欠であった。従
来のリレーショナルデータベースでは、 ・第一正規形 ・第二正規形 ・第三正規形 ・第四正規形 ・ボイス−コッド正規形 を満たすリレーションの設計が行なわれているという仮
定のもと、複数ユーザによる書き込み要求の制御は、1
つのタプル単位にトランザクション管理を行なうこと
で、同じタプルに対する複数の書き込みを防ぐようにな
っている。すなわち、例えば、あるタプルに対し書き込
みを行っている最中に、他の書き込み要求による書き込
みが行われないように制御を行っている。このタプルに
含まれるデータ群と、上記依存範囲とが同じであれば、
リレーショナルデータベースは同じタプルへの書き込み
をトランザクション管理のもと防ぐことができるので、
「衝突」が起きる可能性はない。しかし、同じリレーシ
ョン内の複数のタプル間に上記依存範囲がある場合は、
リレーショナルデータベースは、タプルを越えた単位で
のトランザクション管理を行なわないため、「衝突」が
生じる可能性がある。このように、従来のリレーショナ
ルデータベースでは、文書データの書き換えにより矛盾
が生じないように(衝突が生じないように)監視する監
視領域が、リレーショナルデータベースを構築する際に
予め設定されたタプル単位に固定的に設定されて、同じ
タプルに対する複数の書き込み要求を制御していた。複
数のユーザの書き込み要求を制御するシステムの他の例
として、CVS(Concurrent Versio
ns System)がある。CVSではテキストデー
タの文書を対象にし、各文書データに対して「行」を書
き込み単位と決めうちにしており、かつ、同じ行は、依
存範囲にあるとして、行をそのまま、文書データの書き
換えにより矛盾が生じないように(衝突が生じないよう
に)監視するための監視領域として予め固定的に設定さ
れている。そのため、同じ行に、互いに独立した内容が
混在していたとしても、CVSは、それらが同じ行に存
在するために、依存関係があるものと判定する。そし
て、複数の書き込み要求が同じ行へ行なわれた場合は、
たとえ、書き込み内容が互いに独立であったとしても、
CVSは、それらを「衝突」とみなす。CVSでは、衝
突が起きた場合は、衝突が起きた書き込み要求をすべて
受け入れ、衝突が起きた旨を示すマークを文書データ中
に書き込む。ユーザは、そのマークを見て衝突が起きた
旨を知り、再び複数の書き込み内容を見て新たに書き込
み要求を行なうようになっていた。このように、従来か
らある、文書データへの書き込みを制御するシステムで
は、タプルや行など、予め固定的に定めた範囲のデータ
群単位に、文書データの書き換えにより、その内容に矛
盾が生じないように(衝突が生じないように)監視する
ようになっていた。監視領域が固定的に設定されている
と、次のような問題点が生じる。例えば、タプル単位に
監視領域が固定的に設定されている上記リレーショナル
データベースの場合を例にとり、図29を参照して具体
的に説明する。図29(a)に示すような住所録がリレ
ーショナルデータベースに格納されているとする。図2
9(a)に示すように、監視領域の1つのタプルには、
「名前」「住所」「自宅電話番号」という3のデータが
含まれている。よって、例えば、ある1つのタプルの
「住所」への書き込み最中に、同じタプル中の「名前」
「住所」「自宅電話番号」のいずれかへの書き込み要求
が発生しても、その要求は拒否される。このとき、タプ
ル単位に設定されている監視領域を「名前」と「住
所」、「名前」と「自宅電話番号」というように、2つ
に分割する場合には、まず、図29(b)に示すよう
に、リレーションを設計しなおして、この新たなリレー
ションに対して、図29(c)に示すようにデータを入
力し直す。このように、あるリレーションにおける監視
領域の変更を行なう場合、再び、リレーションの設計を
やりなおし、新しく設計したリレーションに再度データ
を追加する作業が必要となる。また、図29(a)にお
いて、「田中太郎」と「田中花子」が結婚しており、必
ず同じ家に住んでいるので、「田中太郎」と「田中花
子」の属する2つのタプルを1つの監視領域に変更した
い場合(すなわち、上記リレーショナルデータベース
で、同じリレーション内のデータで、一部の複数のタプ
ルについては、それを1つの監視領域に変更する場
合)、上記同様、1つの監視領域にすべきタプルを1つ
のタプルに変更するよう、リレーションを変更し直さな
ければならない。次に、CVSについてだが、CVSで
は文書データの行単位に監視領域が設定されている。そ
のため、依存範囲にあるデータ群は、まとめて1行で記
述しなければならない。例えば、図30(a)に示すよ
うな「住所録」情報をCVSで管理していたとする。こ
れも、先ほどと同様に「田中太郎」、「田中花子」を1
つの監視領域として監視したい場合、これら2人のデー
タを、一行にまとめる必要があるので、図30(b)に
示すように変更する。しかし、これでは各「行」によっ
てフォーマットが変わってしまうため、非常に読み辛い
ものとなる。また、フォーマットが変わると、この文書
データに対して計算機処理を行なっていた場合、処理内
容を全面的に書き直す必要がでてくる。
【発明が解決しようとする課題】このように、従来から
ある、文書データへの書き込みを制御するシステムで
は、タプルや行など、予め固定的に定めた範囲のデータ
群単位に、文書データの書き換えにより、その内容に矛
盾が生じないように(衝突が生じないように)監視する
ようになっていた。このような従来の手法では、構造化
文書に対しては容易に適用することはできない。すなわ
ち、文書構造が異なれば、それに応じて、データの書き
込みによる影響を及ぼすデータの範囲(依存範囲)も異
なるため、単純に、タプル単位、行単位と全ての文書構
造に対し、統一的にしかも固定的に監視領域を設定する
ことができないからである。そこで、本発明は、上記問
題点に鑑み、異なる文書構造の複数の構造化文書のそれ
ぞれに対する複数のユーザからの書き込み要求を、各構
造化文書のそれぞれの文書構造に応じて効率よく、しか
も柔軟に制御することができる書き込み制御方法および
それを用いた構造化文書管理装置および構造化文書編集
装置を提供することを目的とする。
【課題を解決するための手段】本発明は、異なる文書構
造の複数の構造化文書を記憶する記憶手段に記憶されて
いる構造化文書に対する複数のユーザからの書き込み要
求を制御するためのものであって、前記異なる文書構造
のそれぞれについて、その文書構造の構成要素で特定さ
れる領域単位に前記複数のユーザからの書き込みを制御
するための監視領域を設定し、この監視領域の設定され
た文書構造を持つ前記構造化文書中の前記監視領域毎
に、前記複数のユーザからの書き込みを制御することを
特徴とする。本発明によれば、異なる文書構造の複数の
構造化文書のそれぞれに対する複数のユーザからの書き
込み要求を、各構造化文書のそれぞれの文書構造に応じ
て効率よく、しかも柔軟に制御することができる。すな
わち、文書構造毎に、その文書構造毎に適した監視領域
を設定することができるので、複数のユーザからの書き
込み要求を制御する際に衝突を回避するための適切な監
視領域を、異なる文書構造のそれぞれに対し容易に変更
可能に設定できる。好ましくは、前記文書構造の構成要
素の依存関係に基づき、少なくとも1つの構成要素から
なる領域単位に前記監視領域を設定する。例えば、1つ
の構造化文書に会社名を記述する構成要素と、会社の電
話番号を記述する構成要素とがあり、それらがそれぞれ
別個の監視領域に設定されているとする。この場合、当
該構造化文書に対し、複数のユーザからの書き込みがあ
り、監視領域単位に、後述する書き込み制御を行った結
果、会社名を記述する構成要素の書き換えは許可され、
会社の電話番号を記述する構成要素への書き換えは拒否
されたとする。すると、両者の内容に矛盾が生じてしま
う。しかし、互いに依存関係のある複数の構成要素単位
に監視領域を設定することにより、書き換え制御の結
果、書き換えられた構造化文書中に、上記のような意味
的な矛盾が生じることを回避できる。また、前記監視領
域の設定された文書構造を持つ前記構造化文書の前記構
成要素に前記監視領域である旨の属性情報を付与するこ
とで、前記構造化文書中に前記監視領域を設定すること
により、各構造化文書に対し、容易に変更可能なように
監視領域の設定(指定)が行える。また、前記異なる文
書構造のそれぞれについて、前記監視領域として指定さ
れた構成要素名と、その構造化文書の持つ文書構造の識
別情報との対応関係を記憶しておき、この記憶した対応
関係に基づき、前記監視領域の設定された文書構造を持
つ前記構造化文書中に前記監視領域を設定することによ
り、同じ文書構造を持つ大量の構造化文書に対し、容易
に監視領域を設定することができる。また、前記監視領
域内のデータが最後に書き換えられたときの時刻を該監
視領域のデータのバーション番号として用い、該監視領
域に対する書き込みは、どのバージョン番号のデータに
対する書き込みであるかに基づき前記複数のユーザから
の書き込みを制御することにより、1つの監視領域に対
し、複数のユーザからの書き込み要求があった場合に、
書き込みを許可するか否かを容易に判断することができ
る。
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照して説明する。図1は、本実施形態に係
る文書データ管理システムの要部の構成例を概略的に示
したもので、大きく分けて、複数の文書データを記憶
し、管理するサーバとしての領域指定済み文書データ管
理装置(以下、簡単に文書データ管理装置と呼ぶ)1
と、この文書データ管理装置1に適宜接続して、この文
書データ管理装置1から読み出された領域指定済み文書
データに対し編集等を行う例えば、PDAや携帯電話、
パーソナルコンピュータ等のクライアントとしての端末
装置2から構成されている。なお、文書データ管理装置
1が構造化文書管理装置に対応し、端末装置2が構造化
文書編集装置に対応する。文書データ管理装置1は、領
域指定済み文書データ生成部11と、領域指定済み文書
データ記憶部12と、監視領域指定変更部13と、文書
データ書き込み部14と文書データ読み出し部15と、
時刻管理部16と、対応テーブル記憶部17とから構成
されている。端末装置2は、少なくとも書き込み要求生
成部21と、差分文書生成部22と、文書データ編集部
23を有している。図1の文書データ管理システムの処
理対象の文書データは、文書構造を有する構造化文書で
ある。構造化文書には、例えば、SGMLやXMLなど
で記述されたものがある。SGML(Standard
Generalized Markup Langu
age)とは、ISO(国際標準化機構)で定められた
規格である。XML(eXtensible Mark
up Language)とは、W3C(World
Wide Web Consortium)にて定めら
れた規格である。それぞれ文書を構造化することを可能
とする構造化文書規約である。以下、構造化文書とし
て、XMLにて記述された文書を例に説明を進める。す
なわち、ここでは、XMLで記述された構造化文書を処
理対象とする文書データ管理システムについて説明する
が、以下に説明する本発明の要旨は、XML以外の記述
言語で記述された構造化文書にも適用可能である。領域
指定済み文書データ生成部11は、構造化文書の文書デ
ータとその文書構造の種類を識別するための識別情報
と、監視領域指定データ(後述)とが入力されると、こ
れらを基に領域指定済み文書データ(後述)を生成す
る。文書データに監視領域指定データを入力して領域指
定済み文書データを生成すると、その際に用いた当該監
視領域指定データは、その文書データの文書構造の種類
に対応させて、対応テーブル17に登録する。後に、領
域指定済み文書データ生成部11に、この対応テーブル
17に既に監視領域指定データの登録されている文書構
造の文書データが入力されてきたときは、対応テーブル
17に登録されている監視領域指定データを用いて、領
域指定済み文書データを生成する。すなわち、文書構造
が複数あれば、そのそれぞれに対応する文書データ1つ
のみに対し、監視領域指定データを入力すれば、同じ文
書構造の他の文書データについてもわざわざ監視領域指
定データを入力する必要なく、(単に文書構造の識別情
報を指定するだけで)領域指定済み文書データを生成す
ることができる。領域指定済み文書データ生成部11で
生成された領域指定済み文書データは、領域指定済み文
書データ記憶部12に記憶される。図1の文書データ管
理システムでは、異なる文書構造の複数の構造化文書を
処理対象としている。従って、これら複数の構造化文書
は、それぞれ、その構造化文書に対応する文書構造の種
類にて分類されて、領域指定済み文書データ記憶部12
に記憶するようになっている。図10は、領域指定済み
文書データ記憶部12での文書データの記憶例を模式的
に示したもので、文書構造の識別情報(例えば、「住所
録」、「スケジュール」など)と、各文書構造の識別情
報に対応する文書データのファイルとをテーブル状に関
連付けて記憶している。文書データ読み出し部15は、
端末装置2からの要求に応じて、領域指定文書データ記
憶部12から領域指定済み文書データを読み出す。監視
領域指定変更部13は、すでに監視領域が指定されてい
る文書構造と、その文書構造を持ち、すでに領域指定済
み文書データ記憶部12に記憶されている領域指定済み
文書データとに対して、監視領域の指定を変更するため
のものである。時刻管理部16は、文書データ書き込み
部14と領域指定済み文書データ生成部11とに最終書
き込み時刻(後述)を提供するためのものである。端末
装置2の文書データ編集部23は、文書データ管理装置
1から読み出された領域指定済み文書データを編集する
ためのものである。差分文書生成部22は、編集前と編
集後の領域指定済み文書データを監視領域単位に比較し
て、その差分を抽出し、差分文書(後述)を生成する。
書き込み要求生成部21は、上記生成された差分文書に
基づき、文書データ管理装置1に対する書き込み要求を
生成する。文書管理装置1の文書データ書き込み部14
は、端末装置2から送信されてきた書き込み要求を受け
付けて、この書き込み要求と、時刻管理部16から提供
された時刻データとを基に、領域指定済み文書データ記
憶部12に書き込みを行うためのものである。図2は、
領域指定文書データ生成部11の構成例を示したもの
で、文書データ入力部111と、監視領域指定部112
と、監視領域指定データ入力部113と、最終書き込み
時刻データ入力部114と、書き込み部115とから構
成されている。以下、図2と、図11に示すフローチャ
ートを参照して、領域指定文書データ生成部11の構成
と、処理動作について説明する。領域指定済み文書デー
タは、例えばXMLといった複数の構成要素から構成さ
れた文書構造を有する構造化文書と、少なくとも1つの
構成要素からなる監視領域を指定する領域指定データか
ら生成されるものである。監視領域とは、1つの文書構
造の少なくとも1つの構成要素毎に設定され得るもので
ある。本実施形態では、文書構造の有する複数の構成要
素のうち、少なくとも1つの構成要素からなるデータ範
囲毎に監視領域を設定するようになっている。監視領域
は、(後述するような)複数のユーザからの書き込みに
対する制御を行うためのデータの範囲である。例えば、
1つの構造化文書に会社名を記述する構成要素と、会社
の電話番号を記述する構成要素とがあり、それらがそれ
ぞれ別個の監視領域に設定されているとする。この場
合、当該構造化文書に対し、複数のユーザからの書き込
みがあり、監視領域単位に、後述する書き込み制御を行
った結果、会社名を記述する構成要素の書き換えは許可
され、会社の電話番号を記述する構成要素への書き換え
は拒否されたとする。すると、両者の内容に矛盾が生じ
てしまう。このように、文書構造の持つ複数の構成要素
のうち、そのうちの少なくとも1つの構成要素の値を書
き換えることにより、書き換えられていない他の構成要
素の値に矛盾を生じるような関係にある(これを依存関
係と呼ぶ)上記複数の構成要素群からなるデータ範囲を
監視領域と設定し、この監視領域単位に、(後述するよ
うな)複数のユーザからの書き込みに対する制御を行う
ことにより、上記のような内容的な矛盾が生じる衝突を
容易に回避することができるという効果がある。書き込
み制御とは、ここでは、例えば、複数のユーザが、それ
ぞれ、ある同じ構造化文書の同じ監視領域の同じバージ
ョンのデータに対し書き込みを行う場合に、この複数の
ユーザのそれぞれからの書き込み要求のうち、最も早い
時刻に届いたものだけを実行し、それ以外は拒否すると
いった、監視領域単位の制御である。具体的には、監視
領域単位に、その監視領域のデータの上記バーション番
号に対応する、その監視領域に対し最後に書き込みを行
ったときの時刻(最終書き込み時刻)を記録しておき、
それと、今回書き込みを行うために用いた書き換え前の
当該監視領域に書き込まれていた最終書き込み時刻とを
比較し、前者の時刻の方が新しいときには、今回の書き
込みを拒否するようになっている。さらに、上記文書構
造毎に設定した監視領域は、後述するように、容易に変
更可能である。XML文書は、構造化文書として標準的
な文書形式である。XMLは、ノードと呼ばれる構成要
素を、木構造状に構成することにより、構造化文書を形
成している。たとえば、「住所録」情報をXMLで表し
たもの(文書データ)を以下に示す。 <住所録> <メンハ゛> <名前>山田太郎</名前> <メール>yamada@taiyo-tusin.com</メール> <勤務先>太陽通信</勤務先> </メンハ゛> <メンハ゛> <名前>鈴木花子</名前> <メール>hanako@kanagawa-gass.co.jp</メール> <勤務先>神奈川カ゛ス</勤務先> </メンハ゛> </住所録> 上記文書データは、「住所録」という構成要素(ノー
ド)の子要素に複数の「メンバ」という子要素があり、
さらに、各「メンバ」要素は、「名前」、「メール」、
「勤務先」という子要素から構成された文書構造を持
つ。各構成要素は、その要素名を表したタグ(<要素名
>)で囲まれてなる。例えば、上記「住所録」情報とい
う文書データの持つ上記したような文書構造の識別情報
を「住所録」とする。ここで、XMLについて簡単に説
明する。XMLは、文書の構造の表現にタグが用いられ
る。タグには、開始タグと終了タグがあり、文書構造情
報の構成要素を開始タグと終了タグで囲むことにより、
文書中の文字列(テキスト)区切りと、そのテキストが
構造上どの構成要素に属するのかを明確に記述すること
ができる。ここで開始タグとは要素名を記号「<」、
「>」で閉じたものであり、終了タグとは要素名を記号
「</」と「>」で閉じたものである。タグに続く構成
要素の内容が、テキスト(文字列)または子供の構成要
素の繰り返しである。また開始タグには「<要素名 属
性=“属性値”>」などのように属性情報を設定するこ
とができる。また、例えば、「<メール></メール
>」のように要素の値としてのテキストを含まない構成
要素は、簡易記法として「<メール/>」のように表わ
すこともできる。ここでは、「住所録」タグの子要素の
1つである「メンバ」ノード以下にある構成要素群から
なるデータの範囲を指定するために、「住所録/メン
バ」と表し、さらに、「メンバ」の子要素である「名
前」ノード以下にある構成要素群からなるデータの範囲
を指定するために「住所録/メンバ/名前」と表す。こ
のような構造化文書中の特定のエリア(データの範囲)
を指定するもの(「住所録/メンバ」、「住所録/メン
バ/名前」)をパスと呼ぶ。さて、上記「住所録」情報
の文書データに対して、例えば、監視領域を、「メン
バ」という構成要素単位、すなわち、「メンバ」という
構成要素以下に存在する構成要素群からなるデータ範囲
毎に設定する場合を考える。例えば、監視領域指定デー
タのフォーマットを、「監視領域=(監視領域へのパ
ス)」とすると、この場合の監視領域指定データは、
「監視領域=住所録/メンバ」となる。上記「住所録」
情報のような文書データを、文書データ管理装置1に新
たに格納しようとする場合を例にとり説明する。文書デ
ータ入力部11には、上記「住所録」情報のような文書
データと、その文書データの文書構造の識別情報(例え
ば、この場合、「住所録」)が入力する(図11のステ
ップS1)。入力された文書データと、その文書データ
の文書構造の識別情報は、監視領域指定部112へ渡さ
れる。このとき、監視領域指定部112は、対応テーブ
ル17を参照して、対応テーブル17に、当該入力され
た文書構造の識別情報に対応する監視領域指定データが
登録されていないときのみ、ユーザに対し、所定のメッ
セージを表示するなどして、監視領域指定データの入力
を促す(図11のステップS2)。この場合、ユーザ
は、監視領域指定データ入力部113に、例えば、「監
視領域=住所録/メンバ」なる監視領域指定データを入
力すればよい(図11のステップS3)。監視領域指定
データ入力部113に入力された監視領域指定データ
は、監視領域指定部112へ渡される。監視領域指定部
112は、受け取った監視領域指定データ(「監視領域
=住所録/メンバ」)を、図8に示したように、対応テ
ーブル17に、当該領域指定済み文書データの文書構造
の識別情報(例えば、「住所録」)に対応させて登録す
る(図11のステップS4)。一方、図11のステップ
S2で、対応テーブル17に、当該入力された文書構造
の識別情報に対応する監視領域指定データが登録されて
いるときは(監視領域指定データを新たにユーザに入力
してもらう必要ない)、対応テーブル17から当該入力
された文書構造の識別情報に対応する監視領域指定デー
タを読み出す。そして、ステップS3,ステップS4を
スキップし、ステップS5へ進む。次に、図11のステ
ップS5で、監視領域指定部112は、文書データ入力
部11から入力した、まだ監視領域の設定されていない
文書データと、監視領域指定データ入力部113から入
力した監視領域指定データ(あるいは、対応テーブル1
7から読み出した監視領域指定データ)とから領域指定
済み文書データを生成する(図11のステップS5)。
例えば、「監視領域=住所録/メンバ」なる監視領域指
定データと、上記「住所録」情報の文書データとから、
図6に示すような領域指定済み文書データが生成され
る。図6の2行目、7行目に示しように、領域指定済み
文書データでは、監視領域指定データにて監視領域とし
て指定された構成要素であることを表すための情報を、
その構成要素の属性情報として追加している。すなわ
ち、監視領域として指定された構成要素(要素名「メン
バ」なる構成要素)の開始タグには、属性情報「監視領
域=”true”」が設定されている。最終書き込み時
刻データ入力部114からは、時刻管理部16から提供
される時刻データが上記最終書き込み時刻データとして
入力する。書き込み部115は、上記生成された領域指
定済み文書データの各監視領域に、領域指定済み文書デ
ータ記憶部12に書き込む時刻である、上記最終書き込
み時刻を記録する(図11のステップS6)。例えば、
図6に示したような領域指定済み文書データの場合、監
視領域は「メンバ」という構成要素単位に指定されてい
る。また、図6に示した領域指定済み文書データを領域
指定済み文書データ記憶部12に格納するときに、最終
書き込み時刻データとして受け取った時刻データが、例
えば、「2001/3/3 10:23」であったとす
る。このとき、書き込み部115では、図6に示した領
域指定済み文書データの監視領域として指定された構成
要素の開始タグに、例えば、図7の2行目、6行目に示
すように、属性情報として「最終書き込み時刻=”20
01/3/3 10:23”」をさらに設定する。書き
込み部115は、最終的に、監視領域として設定した構
成要素毎に、監視領域であることを指定するための属性
情報と、最終書き込み時刻を示した属性情報とが設定さ
れた図7に示したような領域指定済み文書データのファ
イル(例えば、ファイル名「住所録A」とする)を、図
1の領域指定済み文書データ記憶部12に、図10に示
したように格納する(図11のステップS7)。以上
は、1つの文書構造の1つの文書データのファイルにつ
いての説明であるが、実際には、複数の異なる文書構造
の文書データが存在し、その各文書構造毎に、上記した
ように、監視領域を設定する(領域指定済み文書データ
を生成して、それを対応テーブル17に登録する)こと
になる。そして、1つのある文書構造のある1つの文書
データに対し上記したように、監視領域を設定すること
により、対応テーブル17には、図8に示したように、
文書構造の識別情報と、それに対応する監視領域指定デ
ータとが登録されるので、以後、この対応テーブル17
を参照することにより、これと同じ文書構造の他の文書
データにも同じ構成要素に監視領域を設定(指定)する
ことができる。例えば、上記「住所録」情報の文書デー
タとは異なる文書構造の文書データとして、図9に示す
ような構造化文書があるとする。図9の構造化文書は、
「スケジュール」情報の文書データであり、「スケジュ
ール」という構成要素(ノード)の子要素に複数の「I
tem」という子要素があり、さらに、各「Item」
要素は、「Date」、「Time」、「Subjec
t」、「Place」、「Body」という子要素から
構成された文書構造を持つ。例えば、図9の「スケジュ
ール」情報の文書データの持つ上記したような文書構造
の識別情報を「スケジュール」とする。「住所録」情報
の文書データの場合と同様にして、図9に示したような
文書データの文書構造に対し、監視領域を、例えば、
「Item」という構成要素毎に設定する場合を考え
る。この場合の監視領域指定データは、「監視領域=ス
ケジュール/Item」となる。図11に従って、図9
の構造化文書を文書データ管理装置1に新たに格納した
場合、対応テーブル17には、図8に示すように、文書
構造の識別情報「スケジュール」と、監視領域指定デー
タ「監視領域=スケジュール/Item」とが登録され
る。また、領域指定済み文書データ記憶部12に図9に
示した文書データのファイル(例えば、ファイル名「ス
ケジュールA」)が図10に示したように格納される。
図28は、領域指定済み文書データ生成部11の他の構
成例であって、文書構造認識部116が監視領域指定部
112に接続されている点が、図2の構成と異なる。文
書構造認識部116は、パーサ(Parser)を持
ち、これにより、入力する文書データの文書構造を認識
するためのものでる。文書構造認識部116は、異なる
文書構造のそれぞれについてのDTD(Documen
Type Definition:文書型定義)を予
め記憶しておく。この各DTDは、その文書構造の識別
情報に対応付けて記憶されている。文書データ入力部1
11から新たな文書データが入力されると、この文書構
造認識部116にて、その入力した文書データに対応す
る文書構造はどれであるかを、パーサが予め記憶したD
TDを1つずつ用いて、入力した文書データの文書構造
にマッチするDTDの識別情報を求めるようになってい
る。従って、この文書構造認識部116があれば、文書
構造の識別情報の入力は必要ない。その後の処理動作
は、図11と同様である。次に、端末装置2について説
明する。端末装置2からの要求に応じて、文書データ読
み出し部15により領域指定済み文書データ記憶部12
から読み出された図2に示したような領域指定済み文書
データは、文書データ編集部23で、閲覧、編集され
る。差分文書生成部22は、編集前と編集後の領域指定
済み文書データを監視領域単位に比較して、その差分を
抽出し、差分文書(後述)を生成するものである。図3
は、差分文書生成部22の構成例を示したもので、領域
指定済み文書データ入力部221、222と、領域抽出
部223と、領域比較部224とから構成されている。
領域指定済み文書データ入力部221には、編集前の領
域指定済み文書データが入力し、領域指定済み文書デー
タ入力部221には、文書データ編集部23で編集され
た後の領域指定済み文書データが入力する。領域抽出部
223は、上記編集前の領域指定済み文書データと編集
後の領域指定済み文書データとのそれぞれから、対応す
る監視領域を抽出する。領域比較部224は、編集前と
編集後の領域指定済み文書データのそれぞれから抽出さ
れた対応する2つの監視領域を比較し、差分を生成し、
差分文書(後述)を生成する。書き込み要求生成部21
は、差分文書を入力し、差分文書(後述)が示している
領域と、書き込み内容を抽出し、それらを含む書き込み
要求を生成するようになっている。次に、文書データ管
理装置1の説明に戻る。図4は、文書データ管理装置1
の文書データ書き込み部14の構成例を示したもので、
最終書き込み時刻記録部141と、領域書き込み部14
2と、領域検出部143と、書き込み要求受信部144
とから構成されている。書き込み要求受信部144は、
端末装置2から送られてきた書き込み要求を受信し、受
信した書き込み要求に含まれている、領域指定済み文書
データ中の書き込み対象の監視領域はどれであるかを示
す情報(書き込み対象領域情報)と、実際に書き込む内
容を示した情報(書き込み内容情報)とを取り出す。領
域検出部143は、領域指定済み文書データ記憶部12
に記憶されている領域指定済み文書データから、書き込
み対象領域情報を基に、書き込み対象領域を検出する。
領域書き込み部142は、領域指定済み文書データから
検出された書き込み対象領域(書き込み対象の監視領
域)に対して、受信した書き込み要求に含まれていた書
き込み内容情報に基づき書き込みを行なう。最終書き込
み時刻記録部141は、領域書き込み部142で書き込
みを行った監視領域に、その書き込みを行った時刻を
「最終書き込み時刻」という属性情報の属性値として記
録する。図5は、監視領域指定変更部13の構成例を示
したもので、監視領域指定変更要求受信部131と、監
視領域指定削除部133と、監視領域指定作成部134
とから構成されている。監視領域指定変更要求受信部1
31は、ユーザからの監視領域指定変更要求を受信す
る。監視領域指定削除部133は、監視領域指定変更要
求に含まれる、どの文書構造について、監視領域をどの
構成要素からどの構成要素へ変更するかを指定した情報
を基に、領域指定済み文書データ記憶部12に記憶され
ている当該指定された文書構造の領域指定済み文書デー
タ中の現在の監視領域の現在の監視領域の指定を削除す
るためのものである。監視領域指定作成部134は、監
視領域指定変更要求に含まれる、どの文書構造につい
て、監視領域をどの構成要素からどの構成要素へ変更す
るかを指定した情報を基に、監視領域指定データを作成
し、この作成された監視領域指定データで、対応テーブ
ル17の当該文書構造の識別情報に対応する監視領域指
定データを書き換える。そして、領域指定済み文書デー
タ記憶部12に記憶されている当該指定された文書構造
の領域指定済み文書データ中に新たな監視領域として指
定された構成要素の開始タグに属性情報「監視領域=”
true”」を書き込み、当該構成要素を監視領域とし
て設定する次に、ユーザが端末装置2を文書データ管理
装置2に接続して、端末装置2にて、文書データ管理装
置2に記憶されている領域指定済み文書データを閲覧、
編集を行なう場合の説明を行なう。文書データ管理装置
1の文書データ読み出し部15が、端末装置2からの読
み出し要求を受け取ると、当該要求に含まれている領域
指定済み文書データの識別情報(例えば、ここでは、フ
ァイル名であるとする)に対応する領域指定済み文書デ
ータを領域指定済み文書データ記憶部12から読み出
し、それを当該端末装置2へ出力する。端末装置2で
は、当該領域指定済み文書データを、差分文書生成部2
2に編集前の領域指定済み文書データとして入力すると
ともに、文書データ編集部23へ入力する。その後、ユ
ーザは、文書データ編集部23を用いて、当該領域指定
済み文書データの閲覧、編集を行なうことができる。一
般に、編集には、当該領域指定済み文書データの一部を
書き換えたり、削除したり、新た追加作成するなどの場
合がある。差分文書生成部22は、このような編集の結
果得られた領域指定済み文書データと、編集前の領域指
定済み文書データとを監視領域単位に比較して、どのよ
うな種類の編集をどの箇所にどのように行われたかを示
した差分文書を作成する。編集の種類は、ここでは、例
えば、「追加」、「書き換え」、「削除」の3種類があ
るとする。ユーザが文書データ編集部23を用いて、例
えば、図7の領域指定済み文書データ中、8行目の「鈴
木花子」を「小川花子」に書き換えたとする。その結
果、差分文書生成部22で生成される差分文書は、図1
3のようになる。図13の差分文書において、1行目か
ら2行目には、編集の種類として「書き換え」と記述さ
れ、3行目から8行目には、編集前の当該監視領域のデ
ータがそのまま対象領域として記述され、9行目〜14
行目には、どのように書き換えられたかを示すために、
編集後の当該監視領域のデータがそのまま記述されてい
る。すなわち、図13の差分文書からも、編集前には
「鈴木花子」であったところが(5行目)、編集後には
「小川花子」に書き換えられた(11行目)ことがわか
る。また、ユーザが文書データ編集部23を用いて、例
えば、図7の領域指定済み文書データ中、例えば、最後
の11行目と12行目との間に、以下に示すような「メ
ンバ」要素を1人分追加するようなデータを書き込む編
集を行ったとする。追加の場合、必ず末尾に追加するよ
うに予め定めておくことが望ましい。 「<メンハ゛ 監視領域=“true” 最終書き込み時刻=“200
1/4/4 10:23”> <名前>田中はじめ</名前> <メール>tanaka@kanto-system.com</メール> <勤務先>関東システム</勤務先> </メンハ゛>」 その結果、差分文書生成部22で生成される差分文書
は、図14のようになる。図14の差分文書において、
1行目から2行目には、編集の種類として「追加」と記
述され、3行目から8行目には、どのようなデータが追
加されたかを示すために、追加された1つの監視領域の
データが記述されている。また、ユーザが文書データ編
集部23を用いて、例えば、図7の領域指定済み文書デ
ータ中、7行目〜11行目の1人分の「メンバ」要素を
削除する編集を行ったとする。その結果、差分文書生成
部22で生成される差分文書は、図15のようになる。
図15の差分文書において、1行目から2行目には、編
集の種類として「削除」と記述され、3行目から8行目
には、編集により削除された当該監視領域のデータがそ
のまま対象領域として記述されている。図12に示した
フローチャートを参照して、図3の差分文書生成部22
の処理動作について説明する。ユーザが文書データ編集
部23を用いて、例えば、図7の領域指定済み文書デー
タ中、8行目の「鈴木花子」を「小川花子」に書き換え
る編集を行ったとする。差分文書生成部22の領域指定
済み文書データ入力部221には、図7の編集前の領域
指定済み文書データが入力し、領域指定済み文書データ
入力部222には、編集後の領域指定済み文書データが
入力する(図12のステップS11)。領域抽出部22
3は、入力された編集前と編集後の領域指定済み文書デ
ータを読み込み、これら2つの領域指定済み文書データ
のそれぞれから、対応する監視領域を(例えば、並んで
いる順番に)1つずつ抽出する(図12のステップS1
2)。編集前と編集後の領域指定済み文書データのそれ
ぞれから対応する監視領域を1つ抽出したら、それらの
比較を行う(図12のステップS14)。対応する2つ
の監視領域のデータを比較して、例えば、編集後の領域
指定済み文書データ中の当該監視領域中のデータの一部
が、編集前の領域指定済み文書データ中の当該監視領域
中のデータと異なるときには、編集の種類が「書き換
え」であると判断し、ステップS17へ進む。また、編
集後の領域指定済み文書データ中に、編集前の領域指定
済み文書データ中の当該監視領域に対応する監視領域が
存在しないときは、編集の種類が「削除」であると判断
し、ステップS16へ進む。また、編集前の領域指定済
み文書データ中に、編集後の領域指定済み文書データ中
の当該監視領域に対応する監視領域が存在しないとき
は、編集の種類が「追加」であると判断し、ステップS
15へ進む。ステップS15では、編集の種類が「追
加」である、図14に示したような差分文書の生成を行
う。ステップS16では、編集の種類が「削除」であ
る、図15に示したような差分文書の生成を行う。ステ
ップS17では、編集の種類が「書き換え」である、図
13に示したような差分文書の生成を行う。ところで、
図1の文書データ管理システムで取り扱う文書データの
構成要素に、閲覧のみで書き換え、削除などの編集を拒
否するような属性情報を設定する事も可能である。例え
ば、図7の3行目にある「名前」要素のデータについて
は閲覧のみであるという属性を設定したい場合には、
「閲覧のみ=“true”」という属性情報を「名前」
要素の開始タグに書き込み、下記のように記述すること
にする。 「<名前 閲覧のみ=“true”>山田太郎</名前>」図
12のステップS17において、編集後の領域指定済み
文書データ中の比較対象として抽出された監視領域のデ
ータに、上記「閲覧のみ=“true”」という属性情
報付きの構成要素が含まれているときは、当該監視領域
から、そのような構成要素を削除して、編集後の編集後
の領域指定済み文書データ中の比較対象として抽出され
た監視領域のデータとする。上記比較を、編集後、編集
前の領域指定済み文書データ中の全監視領域に対して行
なった後(ステップS13)、生成された全ての差分文
書を書き込み要求生成部21へ出力して、処理を終了す
る(ステップS19)。なお、差分文書には、処理対象
の領域指定済み文書データの識別情報として、例えば、
ファイル名が含まれていてもよい。次に、端末装置2の
書き込み要求生成部21は、入力された差分文書を基
に、書き込み要求を生成する。書き込み要求には、領域
指定済み文書データの識別情報として、例えば、ファイ
ル名と、当該領域指定済み文書データ中の書き込み対象
の監視領域はどれであるかを示す情報(書き込み対象領
域情報)と、実際に書き込む内容を示した情報(書き込
み内容情報)とが含まれている。差分文書に記述された
編集の種類が「追加」の場合は、書き込み対象領域情報
が「空」、書き込み内容情報が、当該差分文書中の「変
更内容」の欄に記述されたデータとなるような書き込み
要求を生成する。差分文書に記述された編集の種類が
「削除」の場合は、書き込み対象領域情報が、差分文書
中の「対象領域」の欄に記述された監視領域となり、書
き込み内容情報が「空」の書き込み要求を生成する。差
分文書に記述された編集の種類が「書き換え」の場合
は、書き込み対象領域情報が、差分文書中の「対象領
域」の欄に記述された監視領域となり、書き込み内容情
報が、差分文書の変更内容の欄に記述されたデータとな
るような書き込み要求を生成する。例えば、図13に示
した差分文書を基に生成される書き込み要求は、例え
ば、図16に示すようなものとなる。端末装置2の書き
込み要求生成部21生成された、例えば、図16に示す
ような書き込み要求は、文書データ管理装置1に送信さ
れる。文書データ管理装置1の文書データ書き込み部1
4は、例えば図16に示したような書き込み要求を受信
すると動作を開始する。次に、図17に示すフローチャ
ートを参照して、図4の文書データ書き込み部14の処
理動作について説明する。図16に示したような書き込
み要求は、文書データ書き込み部14の書き込み要求受
信部144にて受信される(ステップS21)。受信し
た書き込み要求から、書き込み対象領域情報、書き込み
内容情報を取り出す(ステップS22)。ステップS2
3において、書き込み対象領域情報が空の場合(すなわ
ち、編集の種類が追加であり、監視領域を追加する書き
込みを行うような書き込み要求の場合)、ステップS2
4へ進み、領域書き込み部142は、領域指定済み文書
データ記憶部12に格納されている指定された領域指定
済み文書データに対し、当該書き込み要求に含まれてい
る書き込み内容情報を用いて、新規に監視領域を作成す
る書き込みを行う(ステップS24)。そして、最終書
き込み時刻記録部141は、この新たに書き込まれた新
規の監視領域の開始タグに、属性情報として最終書き込
み時刻を記録する(ステップS30)。例えば、図7に
示した領域指定済み文書データに対し、端末装置2にお
いて、「鈴木花子」を「小川花子」に書き換えた場合、
図13に示したような差分文書が生成され、さらに、図
16に示したような書き込み要求が生成されるが、この
書き込み要求を文書データ書き込み部14が受信した場
合には、上記のような処理を経て、図18に示すよう
に、領域指定済み文書データ記憶部12に格納されてい
る図7に示した当該領域指定済み文書データが書き換え
られる。この場合、図18の8行目にある「名前」要素
の値が「小川花子」に書き換えられている。また、この
ような書き込みを行った時刻が「2001/3/3 1
2:21」であったので、図18の7行目にある「メン
バ」要素には、属性情報として、最終書き込み時刻=
“2001/3/3 12:21”が書き込まれてい
る。さて、図17のステップS23において、書き込み
対象領域情報が空でない場合には、ステップS25へ進
む。ステップS25では、領域指定済み文書データ検出
部143は、領域指定済み文書データ記憶部12に格納
されている指定された領域指定済み文書データ中から、
書き込み対象領域情報にて指定された監視領域を検出す
る。この検出は、単純に、書き込み対象領域情報中の各
構成要素の値と、領域指定済み文書データ記憶部12に
格納されている指定された領域指定済み文書データ中の
各監視領域中の各構成要素の値とのマッチングにより、
当該指定された監視領域を検出すればよい。領域指定済
み文書データ記憶部12に格納されている指定された領
域指定済み文書データ中から、当該指定された監視領域
の検出が成功したときには、ステップS26へ進み、失
敗したときには、そこで処理を終了する。ステップS2
6では、領域書き込み部142は、まず、書き込み内容
情報中の監視領域の属性情報である最終書き込み時刻
と、上記検出された書き込み対象領域の監視領域の属性
情報である最終書き込み時刻とを比較して、衝突の判定
を行う。書き込み対象領域の最終書き込み時刻の方が、
書き込み内容情報中の監視領域の最終書き込み時刻より
新しいときは、領域指定済み文書データ記憶部12から
今回編集のために当該領域指定済み文書データを読み出
した後に、他のユーザから同じ領域指定済み文書データ
中の同じ監視領域への書き込みがあったことになるの
で、衝突があると判定できる。従って、今回の書き込み
要求は拒否され、そのまま処理を終了する。一方、書き
込み対象領域の最終書き込み時刻の方が、書き込み内容
情報中の監視領域の最終書き込み時刻より古いか、ある
いは双方とも同じ時刻であるときは、今回の書き込み要
求を許可しても衝突は起こらないので、ステップS27
へ進み処理を続行する。ステップS27では、書き込み
内容情報が空である場合(すなわち、編集の種類が削除
であり、監視領域を削除するか書き込みを行うような書
き込み要求の場合)、ステップS29へ進み、そうでな
い場合(すなわち、編集の種類が書き換えであり、監視
領域の一部のデータを書き換える書き込みを行うような
書き込み要求の場合)、ステップS28へ進む。ステッ
プS28では、領域書き込み部142は、領域指定済み
文書データ記憶部12に格納されている指定された領域
指定済み文書データのステップS25で検出された書き
込み対象領域に対し、当該書き込み要求に含まれている
書き込み内容情報を用いて、書き込みを行う。そして、
最終書き込み時刻記録部141は、この書き換えられた
監視領域の開始タグの属性情報である最終書き込み時刻
の値を、そのときに時刻管理部16から提供された時刻
データを用いて書き換える(ステップS30)。ステッ
プS29では、領域書き込み部142は、領域指定済み
文書データ記憶部12に格納されている指定された領域
指定済み文書データのステップS25で検出された書き
込み対象領域を削除する。最後に、文書構造毎に設定し
た監視領域を変更する監視領域変更部13の処理動作に
ついて、図19に示すフローチャートを参照して説明す
る。例えば、図7に示した領域指定済み文書データの文
書構造に設定されている監視領域を現在の「メンバ」と
いう構成要素単位から、「名前」、「メール」、「勤務
先」という構成要素単位に設定し直す場合を例にとり説
明する。監視領域指定変更要求受信部131にて、ユー
ザからの監視領域指定変更要求を受信する(ステップS
41)。この監視領域指定変更要求には、文書構造の識
別情報(この場合、「住所録」と、監視領域をどの構成
要素からどの構成要素へ変更するかを指定した情報(こ
の場合、「住所録/メンバ」から「住所録/メンバ/名
前」と「住所録/メンバ/メール」と「住所録/メンバ
/勤務先」への変更を指定する情報)とが含まれてい
る。監視領域指定削除132は、監視領域指定変更要求
に含まれる文書構造の識別情報を基に、領域指定済み文
書データ記憶部12に記憶されている当該指定された文
書構造を持つ全ての領域指定済み文書データ中の現在の
監視領域の指定を削除する。すなわち、監視領域と指定
する属性情報「監視領域=”true”」を削除する
(ステップS42)。例えば、図7に示した領域指定済
み文書データの場合、図25に示すように、「メンバ」
という構成要素から属性情報「監視領域=”tru
e”」を全て削除する。監視領域指定作成部134は、
監視領域指定変更要求に含まれる、監視領域をどの構成
要素からどの構成要素へ変更するかを指定した情報を基
に、監視領域指定データを作成し(ステップS43)、
この作成された監視領域指定データで、対応テーブル1
7の当該文書構造の識別情報に対応する監視領域指定デ
ータを書き換える(ステップS44)。そして、領域指
定済み文書データ記憶部12に記憶されている当該指定
された文書構造の領域指定済み文書データ中に新たな監
視領域として指定された構成要素の開始タグに属性情報
「監視領域=”true”」を書き込み、当該構成要素
を監視領域として設定する(ステップS45)。例え
ば、ここで、作成される監視領域指定データは、「監視
領域=住所録/メンバ/名前」と「監視領域=住所録/
メンバ/メール」と「監視領域=住所録/メンバ/勤務
先」となる。また、対応テーブル17の文書構造の識別
情報が「住所録」の欄には、図26に示すように、上記
3つの監視領域指定データが登録される。また、図25
に示すように、属性情報「監視領域=”true”」が
全て削除された当該文書構造を持つ文書データのそれぞ
れには、上記3つの監視領域指定データを用いて、図2
7に示すように、「名前」タグ、「メール」タグ、「勤
務先」タグのそれぞれに属性情報「監視領域=”tru
e”」を書き込む。なお、上記実施形態では、ユーザか
らの監視領域指定変更要求には、文書構造の識別情報
(例えば、「住所録」)と、監視領域をどの構成要素か
らどの構成要素へ変更するかを指定した情報(例えば、
「住所録/メンバ」から「住所録/メンバ/名前」と
「住所録/メンバ/メール」と「住所録/メンバ/勤務
先」への変更を指定する情報)とが含まれていて、監視
領域指定作成部134は、上記監視領域指定変更要求に
含まれる、監視領域をどの構成要素からどの構成要素へ
変更するかを指定した情報を基に監視領域指定データ
(例えば、「監視領域=住所録/メンバ/名前」と「監
視領域=住所録/メンバ/メール」)を作成する場合を
説明したが、この場合に限らず、例えば、ユーザからの
監視領域指定変更要求には、文書構造の識別情報と、新
たな監視領域指定データそのもの(例えば、上記の場
合、「監視領域=住所録/メンバ/名前」と「監視領域
=住所録/メンバ/メール」)が含まれていてもよい。
この場合、監視領域指定作成部134は、監視領域指定
データを作成する必要がなく、受け取った新たな監視領
域指定データを対応テーブル17へ登録するとともに、
この受け取った新たな監視領域指定データを基に、属性
情報「監視領域=”true”」を削除した領域指定済
み文書データに対し、新たな監視領域を設定し直せばよ
い。 (複数の書き込み要求が合った場合の文書データ書き込
み部の処理の具体的な説明)例えば、2人のユーザA、
Bが図7に示したような同じ領域指定済み文書データを
読み出し、それぞれの端末装置2で編集を行ったとす
る。ユーザAは、図7の5行目の「太陽通信」を「太陽
通信 株式会社」に書き換える編集を行ったとする。こ
の場合の書き込み要求を図20に示す。一方、ユーザB
は、図7の4行目の「yamada@taiyo−tu
sin.com」を「yamada@taiyo−co
mmunicate.com」に書き換え、9行目の
「hanako@kanagawa−gass.co.
jp」を「hanako@yokohama−gas
s.co.jp」に書き換え、さらに、10行目の「神
奈川ガス」を「ヨコハマガス」に書き換える編集を行っ
たとする。2つの監視領域にまたがった編集をおこなっ
たことになる。この場合の書き込み要求は、図21に示
すように、書き込みを行う各監視領域毎に全部で2つあ
る。ユーザAからの上記編集を行った結果を領域指定済
み文書データ記憶部12に反映させるための書き込み要
求が、「2001/3/3 11:10」に届き、ユー
ザBからの上記編集を行った結果を領域指定済み文書デ
ータ記憶部12に反映させるための書き込み要求が、
「2001/3/3 12:10」に届いたとする。す
なわち、ユーザAからの書き込み要求がユーザBからの
書き込み要求より早い時刻に届いたとする。ユーザAか
らの書き込み要求に含まれる、書き込み内容情報中の監
視領域の属性情報である最終書き込み時刻は、図20の
8行目にあるように、「2001/3/3 10:2
3」である。一方、図17のステップS25で書き込み
対象領域として検出された、領域指定済み文書データ記
憶部12に格納されている指定された領域指定済み文書
データ中の書き込み対象領域情報にて指定された監視領
域の属性情報である最終書き込み時刻は、図7の2行目
にあるように、「2001/3/3 10:23」であ
るので、双方は同じ時刻である。従って、ユーザAから
の図20に示すような書き込み要求が実行されて、領域
指定済み文書データ記憶部12に記憶されている図7に
示した領域指定済み文書データは、図22に示すように
書き換えられる。図22において、書き換えを行った監
視領域の属性情報である最終書き込み時刻の値が、「2
001/3/3 11:10」に書き換えられている。
領域指定済み文書データ記憶部12に、図22に示した
領域指定済み文書データが格納されている状態で、ユー
ザBからの書き込み要求が届く。ユーザBからの書き込
み要求は、図21(a)、(b)に示すように、2つあ
り、それぞれに含まれる、書き込み内容情報中の監視領
域の属性情報である最終書き込み時刻は、図21
(a)、(b)のそれぞれの8行目にあるように、「2
001/3/310:23」と同じである。図21
(a)の書き込み要求は、図22の2行目から6行目の
監視領域に対する書き換え要求であり(すなわち、図2
2の2行目から6行目の監視領域が書き換え対象領
域)、図21(b)の書き換え要求は、図22の7行目
から11行目の監視領域(すなわち、図22の7行目か
ら11行目の監視領域が書き換え対象領域)に対する書
き換え要求である。図21(a)の書き込み要求に含ま
れる、書き込み内容情報中の監視領域の属性情報である
最終書き込み時刻は、図20の8行目にあるように、
「2001/3/3 10:23」である。一方、図1
7のステップS25で検出された書き込み対象領域の属
性情報である最終書き込み時刻は、図22の2行目にあ
るように、「2001/3/3 11:10」であるの
で、図17のステップS26において、衝突と判定でき
るので、図21(a)の書き込み要求は拒否される。一
方、図21(b)の書き込み要求は実行される。上記の
例では、ユーザA,Bの「山田太郎」に関するデータ書
き込み要求は、ユーザAは「勤務先」という構成要素に
対して、ユーザBは「メール」という構成要素に対して
行うものであった。互いに、異なる要素に対して書き込
み要求を行なっているため、もし、監視領域の指定がな
かったら、ユーザA、Bの書き込み要求が衝突(コンフ
リクト)を起こしていることは、検出できない。監視領
域内の各構成要素は、互いに依存関係がある。また、そ
のようになるように監視領域を設定している。そのた
め、同じ最終書き込み時刻を持つ監視領域への書き込み
要求が複数きた場合は、複数の書き込み要求内の内容に
矛盾がある可能性がある。そのため、同じ最終書き込み
時刻を持つ監視領域に対する複数の書き込み要求は、一
番早い時刻に来たものだけを許可にし、残りの書き込み
要求を不許可にしなければならない。 (図12のステップS17における処理の説明:文書デ
ータの編集が制限される端末装置Y)例えば、図23に
示すような「社員住所録」情報の領域指定済み文書デー
タを例にとり説明する。図23に示す文書データは、
「住所録」という構成要素(ノード)の子要素に複数の
「メンバ」という子要素があり、さらに、各「メンバ」
要素は、「名前」、「メール」、「会社」という子要素
から構成され、さらに、「会社」という構成要素は「会
社名」と「部署名」という子要素から構成される文書構
造を持つ。この文書構造の識別情報を「社員住所録」と
する。監視領域は、「名前」、「メール」「会社」とい
う構成要素毎に設定されている。さて、2つの異なる端
末装置X、Yがあるとする。端末装置Xは、「名前」、
「アドレス」、「会社名」、「部署名」なる構成要素す
べてが閲覧、編集可能である。端末装置Yは、「名
前」、「アドレス」、「会社名」なる構成要素が閲覧、
編集可能で、「部署名」なる構成要素は、閲覧のみで編
集はできないとする。端末装置Yに、このような制限を
与えるために、例えば、端末装置Yでは、当該文書構造
に対応する閲覧のみで編集はできない構成要素名を指定
した情報(「閲覧のみの構成要素:(文書構造の識別情
報:構成要素)」)を予め記憶しておくことが望まし
い。例えば、上記の例では、例えば、文書データ編集部
23には、「閲覧のみの構成要素:(社員住所録:部署
名)」というデータが予め記憶されている。そして、端
末装置Yにて図23に示した文書データ3を読み出した
ときに、文書データ編集装置23にて閲覧、編集する前
に、端末装置Yが、「部署名」という構成要素に、閲覧
のみであり、編集はできないことを意味する属性情報
「閲覧のみ=“true”」を書き込む。端末装置X,
Yの両方を用いる環境において、「社員住所録」情報中
のある人物が会社を変えたため、「会社名」という構成
要素の値を変更する場合を考える。このとき、端末装置
Yからは、端末装置Yが、構成要素「部署名」に対し
て、編集できないために、構成要素「部署名」の値を変
更することはできない。しかし、端末装置Yで構成要素
「会社名」の値を書き換える編集を行った後に、端末装
置Xで、書き換えた後の当該文書データを閲覧した場
合、構成要素「会社名」の値は変更されているにも関わ
らず、構成要素「部署名」の値には、古い値が残るとい
う不具合が生じる。これでは、誤解を招きやすい。よっ
て、端末装置Yから、書き込み要求行なう場合は、不正
確なデータを残すよりは、不正確なデータを削除するよ
うが良い。監視領域の各要素は、お互いに依存している
要素であり、監視領域内の構成要素が1つ変更される
と、それに追随して他の要素も変更される可能性があ
る。しかし、同じ監視領域内で閲覧しかできない構成要
素に対しては、上記した端末装置Yのように、端末装置
の制限により、構成要素が編集できない可能性がある。
そのため、閲覧しかできない構成要素は、矛盾のあるデ
ータを残しておくよりは、削除する方が好ましい。よっ
て、差分文書生成部22の領域比較部224は、監視領
域内の比較を行ない、ある一部の構成要素が変更されて
おり、しかも同じ監視領域中に「閲覧のみ」の属性情報
がついている構成要素がある場合は、その構成要素を削
除する差分文書を生成することにする。例えば、図23
に示した文書データに対して、端末装置Yにて、4行目
の「yamada@taiyo−tusin.com」
を「yamada@nihon−tusin.com」
に書き換え、6行目の「太陽通信」を「日本通信」に書
き換える編集を行ったとする。この場合、構成要素「メ
ール」の監視領域と構成要素「会社」の監視領域の2つ
の監視領域に対する編集であるので、2つの差分文書が
生成されるが、後者の構成要素「会社」の監視領域につ
いての差分文書(図24参照)では、構成要素「部署
名」には属性情報「閲覧のみ=“true”」が与えら
れているため、差分文書中の、変更内容の項目には、
「部署名」タグが存在しない(図24参照)。これは、
上記の理由から、図12のステップS17で差分文書を
生成する際に削除されてしまうからである。その結果、
図24に示した差分文書から生成される書き込み要求が
実行された結果、領域指定済み文書データ記憶部12に
記憶されている図23の文書データが書き換えられ、図
23の6行目の構成要素「会社名」の値は「日本通信」
となり、その下の7行目の構成要素「部署名」は削除さ
れる。以上説明したように、上記実施形態によれば、異
なる文書構造のそれぞれについて、各文書構造の構成要
素の依存関係に基づき、少なくとも1つの構成要素から
なる領域単位に、複数のユーザからの書き込みを制御す
るための監視領域を設定し、この監視領域の設定された
文書構造を持つ構造化文書中の前記監視領域毎に、前記
複数のユーザからの書き込みを制御することにより、異
なる文書構造の複数の構造化文書のそれぞれに対する複
数のユーザからの書き込み要求を、各構造化文書のそれ
ぞれの文書構造に応じて効率よく、しかも柔軟に制御す
ることができる。また、システム稼働中に、監視領域を
変更する場合は、監視領域指定変更部23により、シス
テムを停止することなく、領域指定済み文書データの監
視領域を変更することができる。なお、上記実施形態で
は、監視領域を文書構造の有する複数の構成要素のう
ち、少なくとも1つの構成要素からなるデータ範囲(部
分文書)毎に設定する場合について説明したが、さら
に、1つの文書構造中に、それぞれ別個の監視領域とし
て指定されている複数の監視領域を併合して、1つの監
視領域として設定することも可能である。例えば、この
場合、上記実施形態の説明同様にして監視領域を設定す
るデータ範囲を指定したら、各監視領域に識別子を付与
し、その際、1つの監視領域として併合すべき(とユー
ザにより別途指定された)複数の監視領域には同じ識別
子を付与する。そして、監視領域の識別子が同じものは
1つの監視領域として、上記実施形態の説明同様に書き
込みの制御を行えばよい。例えば、図29(a)と同様
の「住所録」情報をXMLで記述した次のような様な文
書データを例にとり具体的に説明する。 <住所録> <メンバ> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </住所録> 上記文書データに対し、監視領域を、「メンバ」という
構成要素単位、すなわち、「メンバ」という構成要素以
下に存在する構成要素群からなるデータ範囲毎に設定
し、さらに、上から1つ目と2つ目の「メンバ」要素か
らなる監視領域を1つの監視領域として併合する場合を
考える。そして、各「メンバ」要素の開始タグに監視領
域であることを表すための属性情報として、「監視領域
=“識別子”を設定する。すなわち、属性値として、そ
の監視領域の識別子を与えるものとする。その結果、監
視領域指定部112は、上記文書データから、以下に示
すような領域指定済み文書データを生成する。 <住所録> <メンバ 監視領域=“A”> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ 監視領域=“A”> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ 監視領域=“B”> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </住所録> このような識別子をもつ監視領域を設定することによ
り、よりきめ細やかに監視領域を設定することができる
ので、例えば、図29(a)に示したような、「田中太
郎」と「田中花子」が結婚しており、必ず同じ家に住ん
でいるので、「田中太郎」と「田中花子」の属する2つ
のタプルを1つの監視領域に変更したい場合にも対処可
能となる。さらに、1つの監視領域として監視したい構
成要素を個別に指定することによっても監視領域の設定
は可能である。この場合、同じ監視領域となる複数の構
成要素のそれぞれに同じ監視領域の識別子を付与する。
例えば、上記領域指定済み文書データの場合、「田中太
郎」と「田中花子」が結婚し、同じ家に住んでいても、
電話番号は、一方は自宅電話番号を希望するかもしれな
いし、他方は、携帯電話番号を希望するかもしれない。
このように、識別子「A」の付与された2つの「メン
バ」要素のそれぞれの子要素である2つの「電話番号」
要素は、「住所」要素とは依存関係がない場合もある。
そこで、識別子「A」の付与された2つの「メンバ」要
素のそれぞれの子要素である「電話番号」要素は、識別
子「A」の監視領域とは別個の監視領域として設定すれ
ばよい。すなわち、この場合、2つの「自宅電話番号」
要素のそれぞれに監視領域の識別子として、「C」、
「D」をそれぞれ付与し、下記のような領域指定済み文
書データが生成されることになる。 <住所録> <メンバ 監視領域=“A”> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“C”>045-522-5300</電話
番号> </メンバ> <メンバ 監視領域=“A”> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“D”>045-522-5300</電話
番号> </メンバ> <メンバ 監視領域=“B”> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </住所録> このように、書き込み制御のための監視領域を文書構造
構成要素単位に設定することにより(すなわち、少なく
とも1つの構成要素からなるデータ範囲(部分文書)毎
に設定したり、また、複数の監視領域を1つの監視領域
に併合したり、さらに、構成要素毎に個別に監視領域を
設定したりすることにより)、依存関係のある構成要素
からなる監視領域をきめ細やかに柔軟に(可変的)設定
することができる。従って、このようにきめ細やかに設
定された監視領域単位に書き込み制御を行うことによ
り、文書データの書き込みにより、その内容に矛盾が生
じること(衝突が生じること)を完全に防ぐことができ
る。また、上記実施形態では、文書構造中に監視領域を
設定するために、属性情報として付与するものであった
が、この場合に限らず、タグを用いて監視領域の範囲を
指定することもできる。すなわち、監視領域の範囲を指
定するためのタグ(例えば、「監視領域」タグ)で、下
記に示すように、監視領域とするデータ範囲(部分文
書)を囲えばよい。そして、上記同様、各監視領域に識
別子を与え、1つの監視領域として監視したい部分文書
や構成要素には同じ識別子を与えるようにしてもよい。
なお、この場合、監視領域の識別子を、「監視領域」要
素の属性情報としてもたせるようにすることもできる。
例えば、下記の記述例では、属性情報「id=“監視領
域の識別子”」を各監視領域の開始タグに記述されてい
る。 <住所録> <監視領域 id=“A”> <メンバ> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“C”>045-522-5300</電話
番号> </メンバ> </監視領域> <監視領域 id=“A”> <メンバ> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“D”>045-522-5300</電話
番号> </メンバ> </監視領域> <監視領域 id=“B”> <メンバ> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </監視領域> </住所録> また、本発明の実施の形態に記載した本発明の手法は、
コンピュータに実行させることのできるプログラムとし
て、磁気ディスク(フロッピー(登録商標)ディスク、ハ
ードディスクなど)、光ディスク(CD−ROM、DV
Dなど)、半導体メモリなどの記録媒体に格納して頒布
することもできる。すなわち、領域指定済み文書データ
管理装置1の領域指定済み文書データ記憶部12,対応
テーブル17以外の各構成部、端末装置2の各構成部
は、コンピュータに実行させることのできるプログラム
として実現可能である。また、本発明は、上記実施形態
に限定されるものではなく、実施段階ではその要旨を逸
脱しない範囲で種々に変形することが可能である。さら
に、上記実施形態には種々の段階の発明は含まれてお
り、開示される複数の構成用件における適宜な組み合わ
せにより、種々の発明が抽出され得る。例えば、実施形
態に示される全構成要件から幾つかの構成要件が削除さ
れても、発明が解決しようとする課題の欄で述べた課題
(の少なくとも1つ)が解決でき、発明の効果の欄で述
べられている効果(のなくとも1つ)が得られる場合に
は、この構成要件が削除された構成が発明として抽出さ
れ得る。
【発明の効果】以上説明したように、本発明によれば、
異なる文書構造の複数の構造化文書を対象にし、1つの
構造化文書に対する複数のユーザからの書き込み要求
を、各構造化文書のそれぞれの文書構造に応じて効率よ
く、しかも柔軟に制御することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る文書データ管理システ
ムの要部の構成例を概略的に示した図。
【図2】領域指定済み文書データ管理装置の領域指定文
書データ生成部の構成例を示した図。
【図3】端末装置の差分文書生成部の構成例を示した
図。
【図4】領域指定済み文書データ管理装置の文書データ
書き込み部の構成例を示した図。
【図5】領域指定済み文書データ管理装置の監視領域指
定変更部の構成例を示した図。
【図6】領域指定済み文書データ指定済み文書データの
一例を示した図。
【図7】監視領域に最終書き込み時刻が記録されて、領
域指定済み文書データ記憶部に格納される領域指定済み
文書データの一例を示した図。
【図8】対応テーブルの文書構造の識別情報と領域指定
済み文書データとの記憶例を示した図。
【図9】文書構造の異なる構造化文書の他の例を示した
図。
【図10】領域指定済み文書データ記憶部の文書データ
の記憶例を模式的に示した図。
【図11】領域指定文書データ生成部の処理動作を説明
するためのフローチャート。
【図12】図3の差分文書生成部の処理動作について説
明するためのフローチャート。
【図13】編集の種類が「書き換え」の場合の差分文書
の一例を示した図。
【図14】編集の種類が「追加」の場合の差分文書の一
例を示した図。
【図15】変種の種類が「削除」の場合の差分文書の一
例を示した図。
【図16】図13に示した差分文書を基に生成される書
き込み要求の一例を示した図。
【図17】図4の文書データ書き込み部の処理動作につ
いて説明するためのフローチャート。
【図18】図16に示したような書き込み要求を実行し
て、領域指定済み文書データ記憶部に格納されている図
7に示した当該領域指定済み文書データが書き換えられ
た状態を示した図。
【図19】領域指定済み文書データ管理装置の監視領域
変更部の処理動作について説明するためのフローチャー
ト。
【図20】書き込み要求の他の例を示した図。
【図21】書き込み要求のさらに他の例を示した図で、
2つの監視領域についての書き込み要求を示した図。
【図22】図20に示すような書き込み要求が実行され
て、領域指定済み文書データ記憶部に記憶されている図
7に示した領域指定済み文書データが書き換えられた状
態を示した図。
【図23】「社員住所録」情報の領域指定済み文書デー
タを示した図。
【図24】閲覧のみで編集が不可能な構成要素を削除す
るための差分文書の一例を示した図。
【図25】監視領域を変更する処理動作を説明するため
の図で、図7に示した領域指定済み文書データに指定さ
れていた「メンバ」という構成要素から属性情報「監視
領域=”true”」を全て削除した状態を示した図。
【図26】監視領域を変更する処理動作を説明するため
の図で、対応テーブルに新たな監視領域指定データを登
録した状態を示した図。
【図27】監視領域を変更する処理動作を説明するため
の図で、新たな監視領域の指定された領域指定済み文書
データを示した図。
【図28】領域指定済み文書データ生成部の他の構成例
を示した図。
【図29】従来例を説明するための図で、リレーショナ
ルデータベースの場合を例にとり、監視領域が固定的に
設定されている場合の問題点について説明するための
図。
【図30】従来例を説明するための図で、CVSの場合
を例にとり、監視領域が固定的に設定されている場合の
問題点について説明するための図。
【符号の説明】
1…領域指定済み文書データ管理装置(構造化文書管理
装置) 2…端末装置(構造化文書編集装置) 11…領域指定済み文書データ生成部 12…領域指定済み文書データ記憶部 13…監視領域指定変更部 14…文書データ書き込み部 15…文書データ読み出し部 16…時刻管理部 21…書き込み要求生成部 22…差分文書生成部 23…文書データ編集部
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成13年5月22日(2001.5.2
2)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 書き込み制御方法および構造化文
書管理装置および構造化文書編集装置およびプログラム
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異なる文書構造の
複数の構造化文書を記憶する記憶手段に記憶されている
構造化文書に対する複数のユーザからの書き込み要求を
制御するための書き込み制御方法およびそれを用いた装
置に関する。
【0002】
【従来の技術】近年、情報処理技術の発展に伴い、処理
する文書データも、テキストデータといった単なる文字
の羅列である文書データだけでなく、HTML(Hyp
ertext Markup Language),X
ML(ExtensibleMarkup Langu
age)などの文書を構成する構成要素が既定されてい
る文書データを扱うようになってきた。
【0003】特許明細書や、週報など、文書の種類によ
っては、その書式が予め定められて、1つの書式に統一
されているのが一般的である。1つの書式に統一された
文書もあれば、全く書式のない自由書式の文書も数多く
存在する。このような様々な種類の書式の文書をXML
などで記述された構造化文書として格納・管理すること
は、今後ますます需要が増すと考えられる。
【0004】一方、1つの文書データに対して複数のユ
ーザが同一の文書データを取り出し、編集を行ない、書
き込みを行なう場合がある。このとき、複数のユーザの
行なった編集が、お互いの編集内容に対して、矛盾が生
じていない場合はすべての書き込み要求を許可すべきで
あり、矛盾が生じている場合は、書き込み要求を不許可
すべきである。
【0005】複数の書き込みにより内容に矛盾が生じる
ことを「衝突(コンフリクト)」と呼ぶ。複数のユーザ
の編集内容に対して、編集による「衝突」の判定を行な
うには、同一文書データの各構成要素の依存関係から、
ある構成要素を書き換えたことによる影響がどの構成要
素まで広がるかを調べる必要がある。そして、複数の書
き込み要求と、これら要求のそれぞれに応じて書き込み
を行うことにより影響を及ぼす範囲とを調べる。もし、
影響を及ぼす範囲に重なる部分(差集合)が存在するな
らば、それは、複数の書き込みによる「衝突」が起きる
可能性を意味する。また、重なる部分(差集合)が存在
しなければ、それは、複数の書き込みによる「衝突」が
起きる可能性が無いことを意味する。
【0006】このような、データの書き込みによる影響
を及ぼすデータの範囲(データ群)を、「依存範囲」と
呼ぶことにする。原理的には、この依存範囲にあるデー
タ群単位に、複数ユーザからの書き込み要求を制御し
て、文書データの書き換えにより矛盾が生じないように
(衝突が生じないように)監視することにより、1つの
同じ依存範囲にあるデータに対し、例えば、書き込みを
行っている最中に他の書き込み要求が合った場合には、
それを不許可にするといった制御を行えばよいことにな
る。
【0007】異なる文書構造の複数の構造化文書を記憶
する記憶手段に対し、複数のユーザがアクセスして、1
つの構造化文書に対し複数のユーザが書き換えを行うよ
うな環境においては、複数のユーザによる書き込みによ
り衝突が発生しないように、上記のような文書データを
監視する必要がある。従って、構造化文書を対象にし
た、複数のユーザからの書き込みを制御する手法は、上
記のような環境においては、必要不可欠である。
【0008】データベースは、複数のユーザからアクセ
スされることを前提としているので、複数のユーザから
の書き込みを制御する手段は不可欠であった。
【0009】従来のリレーショナルデータベースでは、 ・第一正規形 ・第二正規形 ・第三正規形 ・第四正規形 ・ボイス−コッド正規形 を満たすリレーションの設計が行なわれているという仮
定のもと、複数ユーザによる書き込み要求の制御は、1
つのタプル単位にトランザクション管理を行なうこと
で、同じタプルに対する複数の書き込みを防ぐようにな
っている。すなわち、例えば、あるタプルに対し書き込
みを行っている最中に、他の書き込み要求による書き込
みが行われないように制御を行っている。
【0010】このタプルに含まれるデータ群と、上記依
存範囲とが同じであれば、リレーショナルデータベース
は同じタプルへの書き込みをトランザクション管理のも
と防ぐことができるので、「衝突」が起きる可能性はな
い。
【0011】しかし、同じリレーション内の複数のタプ
ル間に上記依存範囲がある場合は、リレーショナルデー
タベースは、タプルを越えた単位でのトランザクション
管理を行なわないため、「衝突」が生じる可能性があ
る。
【0012】このように、従来のリレーショナルデータ
ベースでは、文書データの書き換えにより矛盾が生じな
いように(衝突が生じないように)監視する監視領域
が、リレーショナルデータベースを構築する際に予め設
定されたタプル単位に固定的に設定されて、同じタプル
に対する複数の書き込み要求を制御していた。
【0013】複数のユーザの書き込み要求を制御するシ
ステムの他の例として、CVS(Concurrent
Versions System)がある。
【0014】CVSではテキストデータの文書を対象に
し、各文書データに対して「行」を書き込み単位と決め
うちにしており、かつ、同じ行は、依存範囲にあるとし
て、行をそのまま、文書データの書き換えにより矛盾が
生じないように(衝突が生じないように)監視するため
の監視領域として予め固定的に設定されている。そのた
め、同じ行に、互いに独立した内容が混在していたとし
ても、CVSは、それらが同じ行に存在するために、依
存関係があるものと判定する。そして、複数の書き込み
要求が同じ行へ行なわれた場合は、たとえ、書き込み内
容が互いに独立であったとしても、CVSは、それらを
「衝突」とみなす。
【0015】CVSでは、衝突が起きた場合は、衝突が
起きた書き込み要求をすべて受け入れ、衝突が起きた旨
を示すマークを文書データ中に書き込む。ユーザは、そ
のマークを見て衝突が起きた旨を知り、再び複数の書き
込み内容を見て新たに書き込み要求を行なうようになっ
ていた。
【0016】このように、従来からある、文書データへ
の書き込みを制御するシステムでは、タプルや行など、
予め固定的に定めた範囲のデータ群単位に、文書データ
の書き換えにより、その内容に矛盾が生じないように
(衝突が生じないように)監視するようになっていた。
【0017】監視領域が固定的に設定されていると、次
のような問題点が生じる。
【0018】例えば、タプル単位に監視領域が固定的に
設定されている上記リレーショナルデータベースの場合
を例にとり、図29を参照して具体的に説明する。
【0019】図29(a)に示すような住所録がリレー
ショナルデータベースに格納されているとする。図29
(a)に示すように、監視領域の1つのタプルには、
「名前」「住所」「自宅電話番号」という3のデータが
含まれている。よって、例えば、ある1つのタプルの
「住所」への書き込み最中に、同じタプル中の「名前」
「住所」「自宅電話番号」のいずれかへの書き込み要求
が発生しても、その要求は拒否される。
【0020】このとき、タプル単位に設定されている監
視領域を「名前」と「住所」、「名前」と「自宅電話番
号」というように、2つに分割する場合には、まず、図
29(b)に示すように、リレーションを設計しなおし
て、この新たなリレーションに対して、図29(c)に
示すようにデータを入力し直す。
【0021】このように、あるリレーションにおける監
視領域の変更を行なう場合、再び、リレーションの設計
をやりなおし、新しく設計したリレーションに再度デー
タを追加する作業が必要となる。
【0022】また、図29(a)において、「田中太
郎」と「田中花子」が結婚しており、必ず同じ家に住ん
でいるので、「田中太郎」と「田中花子」の属する2つ
のタプルを1つの監視領域に変更したい場合(すなわ
ち、上記リレーショナルデータベースで、同じリレーシ
ョン内のデータで、一部の複数のタプルについては、そ
れを1つの監視領域に変更する場合)、上記同様、1つ
の監視領域にすべきタプルを1つのタプルに変更するよ
う、リレーションを変更し直さなければならない。
【0023】次に、CVSについてだが、CVSでは文
書データの行単位に監視領域が設定されている。そのた
め、依存範囲にあるデータ群は、まとめて1行で記述し
なければならない。
【0024】例えば、図30(a)に示すような「住所
録」情報をCVSで管理していたとする。
【0025】これも、先ほどと同様に「田中太郎」、
「田中花子」を1つの監視領域として監視したい場合、
これら2人のデータを、一行にまとめる必要があるの
で、図30(b)に示すように変更する。
【0026】しかし、これでは各「行」によってフォー
マットが変わってしまうため、非常に読み辛いものとな
る。また、フォーマットが変わると、この文書データに
対して計算機処理を行なっていた場合、処理内容を全面
的に書き直す必要がでてくる。
【0027】
【発明が解決しようとする課題】このように、従来から
ある、文書データへの書き込みを制御するシステムで
は、タプルや行など、予め固定的に定めた範囲のデータ
群単位に、文書データの書き換えにより、その内容に矛
盾が生じないように(衝突が生じないように)監視する
ようになっていた。
【0028】このような従来の手法では、構造化文書に
対しては容易に適用することはできない。すなわち、文
書構造が異なれば、それに応じて、データの書き込みに
よる影響を及ぼすデータの範囲(依存範囲)も異なるた
め、単純に、タプル単位、行単位と全ての文書構造に対
し、統一的にしかも固定的に監視領域を設定することが
できないからである。
【0029】そこで、本発明は、上記問題点に鑑み、異
なる文書構造の複数の構造化文書のそれぞれに対する複
数のユーザからの書き込み要求を、各構造化文書のそれ
ぞれの文書構造に応じて効率よく、しかも柔軟に制御す
ることができる書き込み制御方法およびそれを用いた構
造化文書管理装置および構造化文書編集装置を提供する
ことを目的とする。
【0030】
【課題を解決するための手段】本発明は、異なる文書構
造の複数の構造化文書を記憶する記憶手段に記憶されて
いる構造化文書に対する複数のユーザからの書き込み要
求を制御するためのものであって、前記異なる文書構造
のそれぞれについて、その文書構造の構成要素で特定さ
れる領域単位に前記複数のユーザからの書き込みを制御
するための監視領域を設定し、この監視領域の設定され
た文書構造を持つ前記構造化文書中の前記監視領域毎
に、前記複数のユーザからの書き込みを制御することを
特徴とする。
【0031】本発明によれば、異なる文書構造の複数の
構造化文書のそれぞれに対する複数のユーザからの書き
込み要求を、各構造化文書のそれぞれの文書構造に応じ
て効率よく、しかも柔軟に制御することができる。すな
わち、文書構造毎に、その文書構造毎に適した監視領域
を設定することができるので、複数のユーザからの書き
込み要求を制御する際に衝突を回避するための適切な監
視領域を、異なる文書構造のそれぞれに対し容易に変更
可能に設定できる。
【0032】好ましくは、前記文書構造の構成要素の依
存関係に基づき、少なくとも1つの構成要素からなる領
域単位に前記監視領域を設定する。
【0033】例えば、1つの構造化文書に会社名を記述
する構成要素と、会社の電話番号を記述する構成要素と
があり、それらがそれぞれ別個の監視領域に設定されて
いるとする。この場合、当該構造化文書に対し、複数の
ユーザからの書き込みがあり、監視領域単位に、後述す
る書き込み制御を行った結果、会社名を記述する構成要
素の書き換えは許可され、会社の電話番号を記述する構
成要素への書き換えは拒否されたとする。すると、両者
の内容に矛盾が生じてしまう。しかし、互いに依存関係
のある複数の構成要素単位に監視領域を設定することに
より、書き換え制御の結果、書き換えられた構造化文書
中に、上記のような意味的な矛盾が生じることを回避で
きる。
【0034】また、前記監視領域の設定された文書構造
を持つ前記構造化文書の前記構成要素に前記監視領域で
ある旨の属性情報を付与することで、前記構造化文書中
に前記監視領域を設定することにより、各構造化文書に
対し、容易に変更可能なように監視領域の設定(指定)
が行える。
【0035】また、前記異なる文書構造のそれぞれにつ
いて、前記監視領域として指定された構成要素名と、そ
の構造化文書の持つ文書構造の識別情報との対応関係を
記憶しておき、この記憶した対応関係に基づき、前記監
視領域の設定された文書構造を持つ前記構造化文書中に
前記監視領域を設定することにより、同じ文書構造を持
つ大量の構造化文書に対し、容易に監視領域を設定する
ことができる。
【0036】また、前記監視領域内のデータが最後に書
き換えられたときの時刻を該監視領域のデータのバーシ
ョン番号として用い、該監視領域に対する書き込みは、
どのバージョン番号のデータに対する書き込みであるか
に基づき前記複数のユーザからの書き込みを制御するこ
とにより、1つの監視領域に対し、複数のユーザからの
書き込み要求があった場合に、書き込みを許可するか否
かを容易に判断することができる。
【0037】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照して説明する。
【0038】図1は、本実施形態に係る文書データ管理
システムの要部の構成例を概略的に示したもので、大き
く分けて、複数の文書データを記憶し、管理するサーバ
としての領域指定済み文書データ管理装置(以下、簡単
に文書データ管理装置と呼ぶ)1と、この文書データ管
理装置1に適宜接続して、この文書データ管理装置1か
ら読み出された領域指定済み文書データに対し編集等を
行う例えば、PDAや携帯電話、パーソナルコンピュー
タ等のクライアントとしての端末装置2から構成されて
いる。
【0039】なお、文書データ管理装置1が構造化文書
管理装置に対応し、端末装置2が構造化文書編集装置に
対応する。
【0040】文書データ管理装置1は、領域指定済み文
書データ生成部11と、領域指定済み文書データ記憶部
12と、監視領域指定変更部13と、文書データ書き込
み部14と文書データ読み出し部15と、時刻管理部1
6と、対応テーブル記憶部17とから構成されている。
【0041】端末装置2は、少なくとも書き込み要求生
成部21と、差分文書生成部22と、文書データ編集部
23を有している。
【0042】図1の文書データ管理システムの処理対象
の文書データは、文書構造を有する構造化文書である。
構造化文書には、例えば、SGMLやXMLなどで記述
されたものがある。SGML(Standard Ge
neralized Markup Languag
e)とは、ISO(国際標準化機構)で定められた規格
である。XML(eXtensible Markup
Language)とは、W3C(World Wi
de Web Consortium)にて定められた
規格である。それぞれ文書を構造化することを可能とす
る構造化文書規約である。
【0043】以下、構造化文書として、XMLにて記述
された文書を例に説明を進める。すなわち、ここでは、
XMLで記述された構造化文書を処理対象とする文書デ
ータ管理システムについて説明するが、以下に説明する
本発明の要旨は、XML以外の記述言語で記述された構
造化文書にも適用可能である。
【0044】領域指定済み文書データ生成部11は、構
造化文書の文書データとその文書構造の種類を識別する
ための識別情報と、監視領域指定データ(後述)とが入
力されると、これらを基に領域指定済み文書データ(後
述)を生成する。文書データに監視領域指定データを入
力して領域指定済み文書データを生成すると、その際に
用いた当該監視領域指定データは、その文書データの文
書構造の種類に対応させて、対応テーブル17に登録す
る。後に、領域指定済み文書データ生成部11に、この
対応テーブル17に既に監視領域指定データの登録され
ている文書構造の文書データが入力されてきたときは、
対応テーブル17に登録されている監視領域指定データ
を用いて、領域指定済み文書データを生成する。
【0045】すなわち、文書構造が複数あれば、そのそ
れぞれに対応する文書データ1つのみに対し、監視領域
指定データを入力すれば、同じ文書構造の他の文書デー
タについてもわざわざ監視領域指定データを入力する必
要なく、(単に文書構造の識別情報を指定するだけで)
領域指定済み文書データを生成することができる。
【0046】領域指定済み文書データ生成部11で生成
された領域指定済み文書データは、領域指定済み文書デ
ータ記憶部12に記憶される。
【0047】図1の文書データ管理システムでは、異な
る文書構造の複数の構造化文書を処理対象としている。
従って、これら複数の構造化文書は、それぞれ、その構
造化文書に対応する文書構造の種類にて分類されて、領
域指定済み文書データ記憶部12に記憶するようになっ
ている。
【0048】図10は、領域指定済み文書データ記憶部
12での文書データの記憶例を模式的に示したもので、
文書構造の識別情報(例えば、「住所録」、「スケジュ
ール」など)と、各文書構造の識別情報に対応する文書
データのファイルとをテーブル状に関連付けて記憶して
いる。
【0049】文書データ読み出し部15は、端末装置2
からの要求に応じて、領域指定文書データ記憶部12か
ら領域指定済み文書データを読み出す。
【0050】監視領域指定変更部13は、すでに監視領
域が指定されている文書構造と、その文書構造を持ち、
すでに領域指定済み文書データ記憶部12に記憶されて
いる領域指定済み文書データとに対して、監視領域の指
定を変更するためのものである。
【0051】時刻管理部16は、文書データ書き込み部
14と領域指定済み文書データ生成部11とに最終書き
込み時刻(後述)を提供するためのものである。
【0052】端末装置2の文書データ編集部23は、文
書データ管理装置1から読み出された領域指定済み文書
データを編集するためのものである。
【0053】差分文書生成部22は、編集前と編集後の
領域指定済み文書データを監視領域単位に比較して、そ
の差分を抽出し、差分文書(後述)を生成する。
【0054】書き込み要求生成部21は、上記生成され
た差分文書に基づき、文書データ管理装置1に対する書
き込み要求を生成する。
【0055】文書管理装置1の文書データ書き込み部1
4は、端末装置2から送信されてきた書き込み要求を受
け付けて、この書き込み要求と、時刻管理部16から提
供された時刻データとを基に、領域指定済み文書データ
記憶部12に書き込みを行うためのものである。
【0056】図2は、領域指定文書データ生成部11の
構成例を示したもので、文書データ入力部111と、監
視領域指定部112と、監視領域指定データ入力部11
3と、最終書き込み時刻データ入力部114と、書き込
み部115とから構成されている。以下、図2と、図1
1に示すフローチャートを参照して、領域指定文書デー
タ生成部11の構成と、処理動作について説明する。
【0057】領域指定済み文書データは、例えばXML
といった複数の構成要素から構成された文書構造を有す
る構造化文書と、少なくとも1つの構成要素からなる監
視領域を指定する領域指定データから生成されるもので
ある。
【0058】監視領域とは、1つの文書構造の少なくと
も1つの構成要素毎に設定され得るものである。本実施
形態では、文書構造の有する複数の構成要素のうち、少
なくとも1つの構成要素からなるデータ範囲毎に監視領
域を設定するようになっている。監視領域は、(後述す
るような)複数のユーザからの書き込みに対する制御を
行うためのデータの範囲である。
【0059】例えば、1つの構造化文書に会社名を記述
する構成要素と、会社の電話番号を記述する構成要素と
があり、それらがそれぞれ別個の監視領域に設定されて
いるとする。この場合、当該構造化文書に対し、複数の
ユーザからの書き込みがあり、監視領域単位に、後述す
る書き込み制御を行った結果、会社名を記述する構成要
素の書き換えは許可され、会社の電話番号を記述する構
成要素への書き換えは拒否されたとする。すると、両者
の内容に矛盾が生じてしまう。このように、文書構造の
持つ複数の構成要素のうち、そのうちの少なくとも1つ
の構成要素の値を書き換えることにより、書き換えられ
ていない他の構成要素の値に矛盾を生じるような関係に
ある(これを依存関係と呼ぶ)上記複数の構成要素群か
らなるデータ範囲を監視領域と設定し、この監視領域単
位に、(後述するような)複数のユーザからの書き込み
に対する制御を行うことにより、上記のような内容的な
矛盾が生じる衝突を容易に回避することができるという
効果がある。
【0060】書き込み制御とは、ここでは、例えば、複
数のユーザが、それぞれ、ある同じ構造化文書の同じ監
視領域の同じバージョンのデータに対し書き込みを行う
場合に、この複数のユーザのそれぞれからの書き込み要
求のうち、最も早い時刻に届いたものだけを実行し、そ
れ以外は拒否するといった、監視領域単位の制御であ
る。
【0061】具体的には、監視領域単位に、その監視領
域のデータの上記バーション番号に対応する、その監視
領域に対し最後に書き込みを行ったときの時刻(最終書
き込み時刻)を記録しておき、それと、今回書き込みを
行うために用いた書き換え前の当該監視領域に書き込ま
れていた最終書き込み時刻とを比較し、前者の時刻の方
が新しいときには、今回の書き込みを拒否するようにな
っている。
【0062】さらに、上記文書構造毎に設定した監視領
域は、後述するように、容易に変更可能である。
【0063】XML文書は、構造化文書として標準的な
文書形式である。XMLは、ノードと呼ばれる構成要素
を、木構造状に構成することにより、構造化文書を形成
している。
【0064】たとえば、「住所録」情報をXMLで表し
たもの(文書データ)を以下に示す。
【0065】 <住所録> <メンハ゛> <名前>山田太郎</名前> <メール>yamada@taiyo-tusin.com</メール> <勤務先>太陽通信</勤務先> </メンハ゛> <メンハ゛> <名前>鈴木花子</名前> <メール>hanako@kanagawa-gass.co.jp</メール> <勤務先>神奈川カ゛ス</勤務先> </メンハ゛> </住所録> 上記文書データは、「住所録」という構成要素(ノー
ド)の子要素に複数の「メンバ」という子要素があり、
さらに、各「メンバ」要素は、「名前」、「メール」、
「勤務先」という子要素から構成された文書構造を持
つ。各構成要素は、その要素名を表したタグ(<要素名
>)で囲まれてなる。
【0066】例えば、上記「住所録」情報という文書デ
ータの持つ上記したような文書構造の識別情報を「住所
録」とする。
【0067】ここで、XMLについて簡単に説明する。
【0068】XMLは、文書の構造の表現にタグが用い
られる。タグには、開始タグと終了タグがあり、文書構
造情報の構成要素を開始タグと終了タグで囲むことによ
り、文書中の文字列(テキスト)区切りと、そのテキス
トが構造上どの構成要素に属するのかを明確に記述する
ことができる。
【0069】ここで開始タグとは要素名を記号「<」、
「>」で閉じたものであり、終了タグとは要素名を記号
「</」と「>」で閉じたものである。タグに続く構成
要素の内容が、テキスト(文字列)または子供の構成要
素の繰り返しである。また開始タグには「<要素名 属
性=“属性値”>」などのように属性情報を設定するこ
とができる。また、例えば、「<メール></メール
>」のように要素の値としてのテキストを含まない構成
要素は、簡易記法として「<メール/>」のように表わ
すこともできる。
【0070】ここでは、「住所録」タグの子要素の1つ
である「メンバ」ノード以下にある構成要素群からなる
データの範囲を指定するために、「住所録/メンバ」と
表し、さらに、「メンバ」の子要素である「名前」ノー
ド以下にある構成要素群からなるデータの範囲を指定す
るために「住所録/メンバ/名前」と表す。このような
構造化文書中の特定のエリア(データの範囲)を指定す
るもの(「住所録/メンバ」、「住所録/メンバ/名
前」)をパスと呼ぶ。
【0071】さて、上記「住所録」情報の文書データに
対して、例えば、監視領域を、「メンバ」という構成要
素単位、すなわち、「メンバ」という構成要素以下に存
在する構成要素群からなるデータ範囲毎に設定する場合
を考える。例えば、監視領域指定データのフォーマット
を、「監視領域=(監視領域へのパス)」とすると、こ
の場合の監視領域指定データは、「監視領域=住所録/
メンバ」となる。
【0072】上記「住所録」情報のような文書データ
を、文書データ管理装置1に新たに格納しようとする場
合を例にとり説明する。
【0073】文書データ入力部11には、上記「住所
録」情報のような文書データと、その文書データの文書
構造の識別情報(例えば、この場合、「住所録」)が入
力する(図11のステップS1)。入力された文書デー
タと、その文書データの文書構造の識別情報は、監視領
域指定部112へ渡される。
【0074】このとき、監視領域指定部112は、対応
テーブル17を参照して、対応テーブル17に、当該入
力された文書構造の識別情報に対応する監視領域指定デ
ータが登録されていないときのみ、ユーザに対し、所定
のメッセージを表示するなどして、監視領域指定データ
の入力を促す(図11のステップS2)。この場合、ユ
ーザは、監視領域指定データ入力部113に、例えば、
「監視領域=住所録/メンバ」なる監視領域指定データ
を入力すればよい(図11のステップS3)。監視領域
指定データ入力部113に入力された監視領域指定デー
タは、監視領域指定部112へ渡される。
【0075】監視領域指定部112は、受け取った監視
領域指定データ(「監視領域=住所録/メンバ」)を、
図8に示したように、対応テーブル17に、当該領域指
定済み文書データの文書構造の識別情報(例えば、「住
所録」)に対応させて登録する(図11のステップS
4)。
【0076】一方、図11のステップS2で、対応テー
ブル17に、当該入力された文書構造の識別情報に対応
する監視領域指定データが登録されているときは(監視
領域指定データを新たにユーザに入力してもらう必要な
い)、対応テーブル17から当該入力された文書構造の
識別情報に対応する監視領域指定データを読み出す。そ
して、ステップS3,ステップS4をスキップし、ステ
ップS5へ進む。
【0077】次に、図11のステップS5で、監視領域
指定部112は、文書データ入力部11から入力した、
まだ監視領域の設定されていない文書データと、監視領
域指定データ入力部113から入力した監視領域指定デ
ータ(あるいは、対応テーブル17から読み出した監視
領域指定データ)とから領域指定済み文書データを生成
する(図11のステップS5)。
【0078】例えば、「監視領域=住所録/メンバ」な
る監視領域指定データと、上記「住所録」情報の文書デ
ータとから、図6に示すような領域指定済み文書データ
が生成される。
【0079】図6の2行目、7行目に示しように、領域
指定済み文書データでは、監視領域指定データにて監視
領域として指定された構成要素であることを表すための
情報を、その構成要素の属性情報として追加している。
すなわち、監視領域として指定された構成要素(要素名
「メンバ」なる構成要素)の開始タグには、属性情報
「監視領域=”true”」が設定されている。
【0080】最終書き込み時刻データ入力部114から
は、時刻管理部16から提供される時刻データが上記最
終書き込み時刻データとして入力する。書き込み部11
5は、上記生成された領域指定済み文書データの各監視
領域に、領域指定済み文書データ記憶部12に書き込む
時刻である、上記最終書き込み時刻を記録する(図11
のステップS6)。
【0081】例えば、図6に示したような領域指定済み
文書データの場合、監視領域は「メンバ」という構成要
素単位に指定されている。また、図6に示した領域指定
済み文書データを領域指定済み文書データ記憶部12に
格納するときに、最終書き込み時刻データとして受け取
った時刻データが、例えば、「2001/3/3 1
0:23」であったとする。このとき、書き込み部11
5では、図6に示した領域指定済み文書データの監視領
域として指定された構成要素の開始タグに、例えば、図
7の2行目、6行目に示すように、属性情報として「最
終書き込み時刻=”2001/3/3 10:23”」
をさらに設定する。
【0082】書き込み部115は、最終的に、監視領域
として設定した構成要素毎に、監視領域であることを指
定するための属性情報と、最終書き込み時刻を示した属
性情報とが設定された図7に示したような領域指定済み
文書データのファイル(例えば、ファイル名「住所録
A」とする)を、図1の領域指定済み文書データ記憶部
12に、図10に示したように格納する(図11のステ
ップS7)。
【0083】以上は、1つの文書構造の1つの文書デー
タのファイルについての説明であるが、実際には、複数
の異なる文書構造の文書データが存在し、その各文書構
造毎に、上記したように、監視領域を設定する(領域指
定済み文書データを生成して、それを対応テーブル17
に登録する)ことになる。
【0084】そして、1つのある文書構造のある1つの
文書データに対し上記したように、監視領域を設定する
ことにより、対応テーブル17には、図8に示したよう
に、文書構造の識別情報と、それに対応する監視領域指
定データとが登録されるので、以後、この対応テーブル
17を参照することにより、これと同じ文書構造の他の
文書データにも同じ構成要素に監視領域を設定(指定)
することができる。
【0085】例えば、上記「住所録」情報の文書データ
とは異なる文書構造の文書データとして、図9に示すよ
うな構造化文書があるとする。
【0086】図9の構造化文書は、「スケジュール」情
報の文書データであり、「スケジュール」という構成要
素(ノード)の子要素に複数の「Item」という子要
素があり、さらに、各「Item」要素は、「Dat
e」、「Time」、「Subject」、「Plac
e」、「Body」という子要素から構成された文書構
造を持つ。
【0087】例えば、図9の「スケジュール」情報の文
書データの持つ上記したような文書構造の識別情報を
「スケジュール」とする。
【0088】「住所録」情報の文書データの場合と同様
にして、図9に示したような文書データの文書構造に対
し、監視領域を、例えば、「Item」という構成要素
毎に設定する場合を考える。この場合の監視領域指定デ
ータは、「監視領域=スケジュール/Item」とな
る。
【0089】図11に従って、図9の構造化文書を文書
データ管理装置1に新たに格納した場合、対応テーブル
17には、図8に示すように、文書構造の識別情報「ス
ケジュール」と、監視領域指定データ「監視領域=スケ
ジュール/Item」とが登録される。また、領域指定
済み文書データ記憶部12に図9に示した文書データの
ファイル(例えば、ファイル名「スケジュールA」)が
図10に示したように格納される。
【0090】図28は、領域指定済み文書データ生成部
11の他の構成例であって、文書構造認識部116が監
視領域指定部112に接続されている点が、図2の構成
と異なる。
【0091】文書構造認識部116は、パーサ(Par
ser)を持ち、これにより、入力する文書データの文
書構造を認識するためのものでる。文書構造認識部11
6は、異なる文書構造のそれぞれについてのDTD(D
ocumen Type Definition:文書
型定義)を予め記憶しておく。この各DTDは、その文
書構造の識別情報に対応付けて記憶されている。
【0092】文書データ入力部111から新たな文書デ
ータが入力されると、この文書構造認識部116にて、
その入力した文書データに対応する文書構造はどれであ
るかを、パーサが予め記憶したDTDを1つずつ用い
て、入力した文書データの文書構造にマッチするDTD
の識別情報を求めるようになっている。従って、この文
書構造認識部116があれば、文書構造の識別情報の入
力は必要ない。
【0093】その後の処理動作は、図11と同様であ
る。
【0094】次に、端末装置2について説明する。
【0095】端末装置2からの要求に応じて、文書デー
タ読み出し部15により領域指定済み文書データ記憶部
12から読み出された図2に示したような領域指定済み
文書データは、文書データ編集部23で、閲覧、編集さ
れる。
【0096】差分文書生成部22は、編集前と編集後の
領域指定済み文書データを監視領域単位に比較して、そ
の差分を抽出し、差分文書(後述)を生成するものであ
る。
【0097】図3は、差分文書生成部22の構成例を示
したもので、領域指定済み文書データ入力部221、2
22と、領域抽出部223と、領域比較部224とから
構成されている。
【0098】領域指定済み文書データ入力部221に
は、編集前の領域指定済み文書データが入力し、領域指
定済み文書データ入力部221には、文書データ編集部
23で編集された後の領域指定済み文書データが入力す
る。
【0099】領域抽出部223は、上記編集前の領域指
定済み文書データと編集後の領域指定済み文書データと
のそれぞれから、対応する監視領域を抽出する。
【0100】領域比較部224は、編集前と編集後の領
域指定済み文書データのそれぞれから抽出された対応す
る2つの監視領域を比較し、差分を生成し、差分文書
(後述)を生成する。
【0101】書き込み要求生成部21は、差分文書を入
力し、差分文書(後述)が示している領域と、書き込み
内容を抽出し、それらを含む書き込み要求を生成するよ
うになっている。
【0102】次に、文書データ管理装置1の説明に戻
る。
【0103】図4は、文書データ管理装置1の文書デー
タ書き込み部14の構成例を示したもので、最終書き込
み時刻記録部141と、領域書き込み部142と、領域
検出部143と、書き込み要求受信部144とから構成
されている。
【0104】書き込み要求受信部144は、端末装置2
から送られてきた書き込み要求を受信し、受信した書き
込み要求に含まれている、領域指定済み文書データ中の
書き込み対象の監視領域はどれであるかを示す情報(書
き込み対象領域情報)と、実際に書き込む内容を示した
情報(書き込み内容情報)とを取り出す。
【0105】領域検出部143は、領域指定済み文書デ
ータ記憶部12に記憶されている領域指定済み文書デー
タから、書き込み対象領域情報を基に、書き込み対象領
域を検出する。
【0106】領域書き込み部142は、領域指定済み文
書データから検出された書き込み対象領域(書き込み対
象の監視領域)に対して、受信した書き込み要求に含ま
れていた書き込み内容情報に基づき書き込みを行なう。
【0107】最終書き込み時刻記録部141は、領域書
き込み部142で書き込みを行った監視領域に、その書
き込みを行った時刻を「最終書き込み時刻」という属性
情報の属性値として記録する。
【0108】図5は、監視領域指定変更部13の構成例
を示したもので、監視領域指定変更要求受信部131
と、監視領域指定削除部133と、監視領域指定作成部
134とから構成されている。
【0109】監視領域指定変更要求受信部131は、ユ
ーザからの監視領域指定変更要求を受信する。
【0110】監視領域指定削除部133は、監視領域指
定変更要求に含まれる、どの文書構造について、監視領
域をどの構成要素からどの構成要素へ変更するかを指定
した情報を基に、領域指定済み文書データ記憶部12に
記憶されている当該指定された文書構造の領域指定済み
文書データ中の現在の監視領域の現在の監視領域の指定
を削除するためのものである。
【0111】監視領域指定作成部134は、監視領域指
定変更要求に含まれる、どの文書構造について、監視領
域をどの構成要素からどの構成要素へ変更するかを指定
した情報を基に、監視領域指定データを作成し、この作
成された監視領域指定データで、対応テーブル17の当
該文書構造の識別情報に対応する監視領域指定データを
書き換える。そして、領域指定済み文書データ記憶部1
2に記憶されている当該指定された文書構造の領域指定
済み文書データ中に新たな監視領域として指定された構
成要素の開始タグに属性情報「監視領域=”tru
e”」を書き込み、当該構成要素を監視領域として設定
する次に、ユーザが端末装置2を文書データ管理装置2
に接続して、端末装置2にて、文書データ管理装置2に
記憶されている領域指定済み文書データを閲覧、編集を
行なう場合の説明を行なう。
【0112】文書データ管理装置1の文書データ読み出
し部15が、端末装置2からの読み出し要求を受け取る
と、当該要求に含まれている領域指定済み文書データの
識別情報(例えば、ここでは、ファイル名であるとす
る)に対応する領域指定済み文書データを領域指定済み
文書データ記憶部12から読み出し、それを当該端末装
置2へ出力する。
【0113】端末装置2では、当該領域指定済み文書デ
ータを、差分文書生成部22に編集前の領域指定済み文
書データとして入力するとともに、文書データ編集部2
3へ入力する。
【0114】その後、ユーザは、文書データ編集部23
を用いて、当該領域指定済み文書データの閲覧、編集を
行なうことができる。
【0115】一般に、編集には、当該領域指定済み文書
データの一部を書き換えたり、削除したり、新た追加作
成するなどの場合がある。
【0116】差分文書生成部22は、このような編集の
結果得られた領域指定済み文書データと、編集前の領域
指定済み文書データとを監視領域単位に比較して、どの
ような種類の編集をどの箇所にどのように行われたかを
示した差分文書を作成する。
【0117】編集の種類は、ここでは、例えば、「追
加」、「書き換え」、「削除」の3種類があるとする。
【0118】ユーザが文書データ編集部23を用いて、
例えば、図7の領域指定済み文書データ中、8行目の
「鈴木花子」を「小川花子」に書き換えたとする。その
結果、差分文書生成部22で生成される差分文書は、図
13のようになる。
【0119】図13の差分文書において、1行目から2
行目には、編集の種類として「書き換え」と記述され、
3行目から8行目には、編集前の当該監視領域のデータ
がそのまま対象領域として記述され、9行目〜14行目
には、どのように書き換えられたかを示すために、編集
後の当該監視領域のデータがそのまま記述されている。
すなわち、図13の差分文書からも、編集前には「鈴木
花子」であったところが(5行目)、編集後には「小川
花子」に書き換えられた(11行目)ことがわかる。
【0120】また、ユーザが文書データ編集部23を用
いて、例えば、図7の領域指定済み文書データ中、例え
ば、最後の11行目と12行目との間に、以下に示すよ
うな「メンバ」要素を1人分追加するようなデータを書
き込む編集を行ったとする。追加の場合、必ず末尾に追
加するように予め定めておくことが望ましい。
【0121】「<メンハ゛ 監視領域=“true” 最終書き込
み時刻=“2001/4/4 10:23”> <名前>田中はじめ</名前> <メール>tanaka@kanto-system.com</メール> <勤務先>関東システム</勤務先> </メンハ゛>」 その結果、差分文書生成部22で生成される差分文書
は、図14のようになる。
【0122】図14の差分文書において、1行目から2
行目には、編集の種類として「追加」と記述され、3行
目から8行目には、どのようなデータが追加されたかを
示すために、追加された1つの監視領域のデータが記述
されている。
【0123】また、ユーザが文書データ編集部23を用
いて、例えば、図7の領域指定済み文書データ中、7行
目〜11行目の1人分の「メンバ」要素を削除する編集
を行ったとする。その結果、差分文書生成部22で生成
される差分文書は、図15のようになる。
【0124】図15の差分文書において、1行目から2
行目には、編集の種類として「削除」と記述され、3行
目から8行目には、編集により削除された当該監視領域
のデータがそのまま対象領域として記述されている。
【0125】図12に示したフローチャートを参照し
て、図3の差分文書生成部22の処理動作について説明
する。
【0126】ユーザが文書データ編集部23を用いて、
例えば、図7の領域指定済み文書データ中、8行目の
「鈴木花子」を「小川花子」に書き換える編集を行った
とする。
【0127】差分文書生成部22の領域指定済み文書デ
ータ入力部221には、図7の編集前の領域指定済み文
書データが入力し、領域指定済み文書データ入力部22
2には、編集後の領域指定済み文書データが入力する
(図12のステップS11)。
【0128】領域抽出部223は、入力された編集前と
編集後の領域指定済み文書データを読み込み、これら2
つの領域指定済み文書データのそれぞれから、対応する
監視領域を(例えば、並んでいる順番に)1つずつ抽出
する(図12のステップS12)。
【0129】編集前と編集後の領域指定済み文書データ
のそれぞれから対応する監視領域を1つ抽出したら、そ
れらの比較を行う(図12のステップS14)。
【0130】対応する2つの監視領域のデータを比較し
て、例えば、編集後の領域指定済み文書データ中の当該
監視領域中のデータの一部が、編集前の領域指定済み文
書データ中の当該監視領域中のデータと異なるときに
は、編集の種類が「書き換え」であると判断し、ステッ
プS17へ進む。
【0131】また、編集後の領域指定済み文書データ中
に、編集前の領域指定済み文書データ中の当該監視領域
に対応する監視領域が存在しないときは、編集の種類が
「削除」であると判断し、ステップS16へ進む。
【0132】また、編集前の領域指定済み文書データ中
に、編集後の領域指定済み文書データ中の当該監視領域
に対応する監視領域が存在しないときは、編集の種類が
「追加」であると判断し、ステップS15へ進む。
【0133】ステップS15では、編集の種類が「追
加」である、図14に示したような差分文書の生成を行
う。
【0134】ステップS16では、編集の種類が「削
除」である、図15に示したような差分文書の生成を行
う。
【0135】ステップS17では、編集の種類が「書き
換え」である、図13に示したような差分文書の生成を
行う。
【0136】ところで、図1の文書データ管理システム
で取り扱う文書データの構成要素に、閲覧のみで書き換
え、削除などの編集を拒否するような属性情報を設定す
る事も可能である。例えば、図7の3行目にある「名
前」要素のデータについては閲覧のみであるという属性
を設定したい場合には、「閲覧のみ=“true”」と
いう属性情報を「名前」要素の開始タグに書き込み、下
記のように記述することにする。
【0137】「<名前 閲覧のみ=“true”>山田太
郎</名前>」図12のステップS17において、編集後
の領域指定済み文書データ中の比較対象として抽出され
た監視領域のデータに、上記「閲覧のみ=“tru
e”」という属性情報付きの構成要素が含まれていると
きは、当該監視領域から、そのような構成要素を削除し
て、編集後の編集後の領域指定済み文書データ中の比較
対象として抽出された監視領域のデータとする。
【0138】上記比較を、編集後、編集前の領域指定済
み文書データ中の全監視領域に対して行なった後(ステ
ップS13)、生成された全ての差分文書を書き込み要
求生成部21へ出力して、処理を終了する(ステップS
19)。
【0139】なお、差分文書には、処理対象の領域指定
済み文書データの識別情報として、例えば、ファイル名
が含まれていてもよい。
【0140】次に、端末装置2の書き込み要求生成部2
1は、入力された差分文書を基に、書き込み要求を生成
する。書き込み要求には、領域指定済み文書データの識
別情報として、例えば、ファイル名と、当該領域指定済
み文書データ中の書き込み対象の監視領域はどれである
かを示す情報(書き込み対象領域情報)と、実際に書き
込む内容を示した情報(書き込み内容情報)とが含まれ
ている。
【0141】差分文書に記述された編集の種類が「追
加」の場合は、書き込み対象領域情報が「空」、書き込
み内容情報が、当該差分文書中の「変更内容」の欄に記
述されたデータとなるような書き込み要求を生成する。
【0142】差分文書に記述された編集の種類が「削
除」の場合は、書き込み対象領域情報が、差分文書中の
「対象領域」の欄に記述された監視領域となり、書き込
み内容情報が「空」の書き込み要求を生成する。
【0143】差分文書に記述された編集の種類が「書き
換え」の場合は、書き込み対象領域情報が、差分文書中
の「対象領域」の欄に記述された監視領域となり、書き
込み内容情報が、差分文書の変更内容の欄に記述された
データとなるような書き込み要求を生成する。例えば、
図13に示した差分文書を基に生成される書き込み要求
は、例えば、図16に示すようなものとなる。
【0144】端末装置2の書き込み要求生成部21生成
された、例えば、図16に示すような書き込み要求は、
文書データ管理装置1に送信される。
【0145】文書データ管理装置1の文書データ書き込
み部14は、例えば図16に示したような書き込み要求
を受信すると動作を開始する。
【0146】次に、図17に示すフローチャートを参照
して、図4の文書データ書き込み部14の処理動作につ
いて説明する。
【0147】図16に示したような書き込み要求は、文
書データ書き込み部14の書き込み要求受信部144に
て受信される(ステップS21)。
【0148】受信した書き込み要求から、書き込み対象
領域情報、書き込み内容情報を取り出す(ステップS2
2)。
【0149】ステップS23において、書き込み対象領
域情報が空の場合(すなわち、編集の種類が追加であ
り、監視領域を追加する書き込みを行うような書き込み
要求の場合)、ステップS24へ進み、領域書き込み部
142は、領域指定済み文書データ記憶部12に格納さ
れている指定された領域指定済み文書データに対し、当
該書き込み要求に含まれている書き込み内容情報を用い
て、新規に監視領域を作成する書き込みを行う(ステッ
プS24)。そして、最終書き込み時刻記録部141
は、この新たに書き込まれた新規の監視領域の開始タグ
に、属性情報として最終書き込み時刻を記録する(ステ
ップS30)。
【0150】例えば、図7に示した領域指定済み文書デ
ータに対し、端末装置2において、「鈴木花子」を「小
川花子」に書き換えた場合、図13に示したような差分
文書が生成され、さらに、図16に示したような書き込
み要求が生成されるが、この書き込み要求を文書データ
書き込み部14が受信した場合には、上記のような処理
を経て、図18に示すように、領域指定済み文書データ
記憶部12に格納されている図7に示した当該領域指定
済み文書データが書き換えられる。この場合、図18の
8行目にある「名前」要素の値が「小川花子」に書き換
えられている。また、このような書き込みを行った時刻
が「2001/3/3 12:21」であったので、図
18の7行目にある「メンバ」要素には、属性情報とし
て、最終書き込み時刻=“2001/3/3 12:2
1”が書き込まれている。
【0151】さて、図17のステップS23において、
書き込み対象領域情報が空でない場合には、ステップS
25へ進む。
【0152】ステップS25では、領域指定済み文書デ
ータ検出部143は、領域指定済み文書データ記憶部1
2に格納されている指定された領域指定済み文書データ
中から、書き込み対象領域情報にて指定された監視領域
を検出する。この検出は、単純に、書き込み対象領域情
報中の各構成要素の値と、領域指定済み文書データ記憶
部12に格納されている指定された領域指定済み文書デ
ータ中の各監視領域中の各構成要素の値とのマッチング
により、当該指定された監視領域を検出すればよい。
【0153】領域指定済み文書データ記憶部12に格納
されている指定された領域指定済み文書データ中から、
当該指定された監視領域の検出が成功したときには、ス
テップS26へ進み、失敗したときには、そこで処理を
終了する。
【0154】ステップS26では、領域書き込み部14
2は、まず、書き込み内容情報中の監視領域の属性情報
である最終書き込み時刻と、上記検出された書き込み対
象領域の監視領域の属性情報である最終書き込み時刻と
を比較して、衝突の判定を行う。
【0155】書き込み対象領域の最終書き込み時刻の方
が、書き込み内容情報中の監視領域の最終書き込み時刻
より新しいときは、領域指定済み文書データ記憶部12
から今回編集のために当該領域指定済み文書データを読
み出した後に、他のユーザから同じ領域指定済み文書デ
ータ中の同じ監視領域への書き込みがあったことになる
ので、衝突があると判定できる。従って、今回の書き込
み要求は拒否され、そのまま処理を終了する。
【0156】一方、書き込み対象領域の最終書き込み時
刻の方が、書き込み内容情報中の監視領域の最終書き込
み時刻より古いか、あるいは双方とも同じ時刻であると
きは、今回の書き込み要求を許可しても衝突は起こらな
いので、ステップS27へ進み処理を続行する。
【0157】ステップS27では、書き込み内容情報が
空である場合(すなわち、編集の種類が削除であり、監
視領域を削除するか書き込みを行うような書き込み要求
の場合)、ステップS29へ進み、そうでない場合(す
なわち、編集の種類が書き換えであり、監視領域の一部
のデータを書き換える書き込みを行うような書き込み要
求の場合)、ステップS28へ進む。
【0158】ステップS28では、領域書き込み部14
2は、領域指定済み文書データ記憶部12に格納されて
いる指定された領域指定済み文書データのステップS2
5で検出された書き込み対象領域に対し、当該書き込み
要求に含まれている書き込み内容情報を用いて、書き込
みを行う。そして、最終書き込み時刻記録部141は、
この書き換えられた監視領域の開始タグの属性情報であ
る最終書き込み時刻の値を、そのときに時刻管理部16
から提供された時刻データを用いて書き換える(ステッ
プS30)。
【0159】ステップS29では、領域書き込み部14
2は、領域指定済み文書データ記憶部12に格納されて
いる指定された領域指定済み文書データのステップS2
5で検出された書き込み対象領域を削除する。
【0160】最後に、文書構造毎に設定した監視領域を
変更する監視領域変更部13の処理動作について、図1
9に示すフローチャートを参照して説明する。例えば、
図7に示した領域指定済み文書データの文書構造に設定
されている監視領域を現在の「メンバ」という構成要素
単位から、「名前」、「メール」、「勤務先」という構
成要素単位に設定し直す場合を例にとり説明する。
【0161】監視領域指定変更要求受信部131にて、
ユーザからの監視領域指定変更要求を受信する(ステッ
プS41)。この監視領域指定変更要求には、文書構造
の識別情報(この場合、「住所録」と、監視領域をどの
構成要素からどの構成要素へ変更するかを指定した情報
(この場合、「住所録/メンバ」から「住所録/メンバ
/名前」と「住所録/メンバ/メール」と「住所録/メ
ンバ/勤務先」への変更を指定する情報)とが含まれて
いる。
【0162】監視領域指定削除132は、監視領域指定
変更要求に含まれる文書構造の識別情報を基に、領域指
定済み文書データ記憶部12に記憶されている当該指定
された文書構造を持つ全ての領域指定済み文書データ中
の現在の監視領域の指定を削除する。すなわち、監視領
域と指定する属性情報「監視領域=”true”」を削
除する(ステップS42)。
【0163】例えば、図7に示した領域指定済み文書デ
ータの場合、図25に示すように、「メンバ」という構
成要素から属性情報「監視領域=”true”」を全て
削除する。
【0164】監視領域指定作成部134は、監視領域指
定変更要求に含まれる、監視領域をどの構成要素からど
の構成要素へ変更するかを指定した情報を基に、監視領
域指定データを作成し(ステップS43)、この作成さ
れた監視領域指定データで、対応テーブル17の当該文
書構造の識別情報に対応する監視領域指定データを書き
換える(ステップS44)。そして、領域指定済み文書
データ記憶部12に記憶されている当該指定された文書
構造の領域指定済み文書データ中に新たな監視領域とし
て指定された構成要素の開始タグに属性情報「監視領域
=”true”」を書き込み、当該構成要素を監視領域
として設定する(ステップS45)。
【0165】例えば、ここで、作成される監視領域指定
データは、「監視領域=住所録/メンバ/名前」と「監
視領域=住所録/メンバ/メール」と「監視領域=住所
録/メンバ/勤務先」となる。また、対応テーブル17
の文書構造の識別情報が「住所録」の欄には、図26に
示すように、上記3つの監視領域指定データが登録され
る。また、図25に示すように、属性情報「監視領域
=”true”」が全て削除された当該文書構造を持つ
文書データのそれぞれには、上記3つの監視領域指定デ
ータを用いて、図27に示すように、「名前」タグ、
「メール」タグ、「勤務先」タグのそれぞれに属性情報
「監視領域=”true”」を書き込む。
【0166】なお、上記実施形態では、ユーザからの監
視領域指定変更要求には、文書構造の識別情報(例え
ば、「住所録」)と、監視領域をどの構成要素からどの
構成要素へ変更するかを指定した情報(例えば、「住所
録/メンバ」から「住所録/メンバ/名前」と「住所録
/メンバ/メール」と「住所録/メンバ/勤務先」への
変更を指定する情報)とが含まれていて、監視領域指定
作成部134は、上記監視領域指定変更要求に含まれ
る、監視領域をどの構成要素からどの構成要素へ変更す
るかを指定した情報を基に監視領域指定データ(例え
ば、「監視領域=住所録/メンバ/名前」と「監視領域
=住所録/メンバ/メール」)を作成する場合を説明し
たが、この場合に限らず、例えば、ユーザからの監視領
域指定変更要求には、文書構造の識別情報と、新たな監
視領域指定データそのもの(例えば、上記の場合、「監
視領域=住所録/メンバ/名前」と「監視領域=住所録
/メンバ/メール」)が含まれていてもよい。この場
合、監視領域指定作成部134は、監視領域指定データ
を作成する必要がなく、受け取った新たな監視領域指定
データを対応テーブル17へ登録するとともに、この受
け取った新たな監視領域指定データを基に、属性情報
「監視領域=”true”」を削除した領域指定済み文
書データに対し、新たな監視領域を設定し直せばよい。
【0167】(複数の書き込み要求が合った場合の文書
データ書き込み部の処理の具体的な説明)例えば、2人
のユーザA、Bが図7に示したような同じ領域指定済み
文書データを読み出し、それぞれの端末装置2で編集を
行ったとする。
【0168】ユーザAは、図7の5行目の「太陽通信」
を「太陽通信 株式会社」に書き換える編集を行ったと
する。この場合の書き込み要求を図20に示す。
【0169】一方、ユーザBは、図7の4行目の「ya
mada@taiyo−tusin.com」を「ya
mada@taiyo−communicate.co
m」に書き換え、9行目の「hanako@kanag
awa−gass.co.jp」を「hanako@y
okohama−gass.co.jp」に書き換え、
さらに、10行目の「神奈川ガス」を「ヨコハマガス」
に書き換える編集を行ったとする。2つの監視領域にま
たがった編集をおこなったことになる。この場合の書き
込み要求は、図21に示すように、書き込みを行う各監
視領域毎に全部で2つある。
【0170】ユーザAからの上記編集を行った結果を領
域指定済み文書データ記憶部12に反映させるための書
き込み要求が、「2001/3/3 11:10」に届
き、ユーザBからの上記編集を行った結果を領域指定済
み文書データ記憶部12に反映させるための書き込み要
求が、「2001/3/3 12:10」に届いたとす
る。すなわち、ユーザAからの書き込み要求がユーザB
からの書き込み要求より早い時刻に届いたとする。
【0171】ユーザAからの書き込み要求に含まれる、
書き込み内容情報中の監視領域の属性情報である最終書
き込み時刻は、図20の8行目にあるように、「200
1/3/3 10:23」である。一方、図17のステ
ップS25で書き込み対象領域として検出された、領域
指定済み文書データ記憶部12に格納されている指定さ
れた領域指定済み文書データ中の書き込み対象領域情報
にて指定された監視領域の属性情報である最終書き込み
時刻は、図7の2行目にあるように、「2001/3/
3 10:23」であるので、双方は同じ時刻である。
従って、ユーザAからの図20に示すような書き込み要
求が実行されて、領域指定済み文書データ記憶部12に
記憶されている図7に示した領域指定済み文書データ
は、図22に示すように書き換えられる。図22におい
て、書き換えを行った監視領域の属性情報である最終書
き込み時刻の値が、「2001/3/3 11:10」
に書き換えられている。
【0172】領域指定済み文書データ記憶部12に、図
22に示した領域指定済み文書データが格納されている
状態で、ユーザBからの書き込み要求が届く。ユーザB
からの書き込み要求は、図21(a)、(b)に示すよ
うに、2つあり、それぞれに含まれる、書き込み内容情
報中の監視領域の属性情報である最終書き込み時刻は、
図21(a)、(b)のそれぞれの8行目にあるよう
に、「2001/3/310:23」と同じである。
【0173】図21(a)の書き込み要求は、図22の
2行目から6行目の監視領域に対する書き換え要求であ
り(すなわち、図22の2行目から6行目の監視領域が
書き換え対象領域)、図21(b)の書き換え要求は、
図22の7行目から11行目の監視領域(すなわち、図
22の7行目から11行目の監視領域が書き換え対象領
域)に対する書き換え要求である。
【0174】図21(a)の書き込み要求に含まれる、
書き込み内容情報中の監視領域の属性情報である最終書
き込み時刻は、図20の8行目にあるように、「200
1/3/3 10:23」である。一方、図17のステ
ップS25で検出された書き込み対象領域の属性情報で
ある最終書き込み時刻は、図22の2行目にあるよう
に、「2001/3/3 11:10」であるので、図
17のステップS26において、衝突と判定できるの
で、図21(a)の書き込み要求は拒否される。
【0175】一方、図21(b)の書き込み要求は実行
される。
【0176】上記の例では、ユーザA,Bの「山田太
郎」に関するデータ書き込み要求は、ユーザAは「勤務
先」という構成要素に対して、ユーザBは「メール」と
いう構成要素に対して行うものであった。互いに、異な
る要素に対して書き込み要求を行なっているため、も
し、監視領域の指定がなかったら、ユーザA、Bの書き
込み要求が衝突(コンフリクト)を起こしていること
は、検出できない。
【0177】監視領域内の各構成要素は、互いに依存関
係がある。また、そのようになるように監視領域を設定
している。そのため、同じ最終書き込み時刻を持つ監視
領域への書き込み要求が複数きた場合は、複数の書き込
み要求内の内容に矛盾がある可能性がある。そのため、
同じ最終書き込み時刻を持つ監視領域に対する複数の書
き込み要求は、一番早い時刻に来たものだけを許可に
し、残りの書き込み要求を不許可にしなければならな
い。
【0178】(図12のステップS17における処理の
説明:文書データの編集が制限される端末装置Y)例え
ば、図23に示すような「社員住所録」情報の領域指定
済み文書データを例にとり説明する。図23に示す文書
データは、「住所録」という構成要素(ノード)の子要
素に複数の「メンバ」という子要素があり、さらに、各
「メンバ」要素は、「名前」、「メール」、「会社」と
いう子要素から構成され、さらに、「会社」という構成
要素は「会社名」と「部署名」という子要素から構成さ
れる文書構造を持つ。この文書構造の識別情報を「社員
住所録」とする。
【0179】監視領域は、「名前」、「メール」「会
社」という構成要素毎に設定されている。
【0180】さて、2つの異なる端末装置X、Yがある
とする。
【0181】端末装置Xは、「名前」、「アドレス」、
「会社名」、「部署名」なる構成要素すべてが閲覧、編
集可能である。端末装置Yは、「名前」、「アドレ
ス」、「会社名」なる構成要素が閲覧、編集可能で、
「部署名」なる構成要素は、閲覧のみで編集はできない
とする。
【0182】端末装置Yに、このような制限を与えるた
めに、例えば、端末装置Yでは、当該文書構造に対応す
る閲覧のみで編集はできない構成要素名を指定した情報
(「閲覧のみの構成要素:(文書構造の識別情報:構成
要素)」)を予め記憶しておくことが望ましい。例え
ば、上記の例では、例えば、文書データ編集部23に
は、「閲覧のみの構成要素:(社員住所録:部署名)」
というデータが予め記憶されている。
【0183】そして、端末装置Yにて図23に示した文
書データ3を読み出したときに、文書データ編集装置2
3にて閲覧、編集する前に、端末装置Yが、「部署名」
という構成要素に、閲覧のみであり、編集はできないこ
とを意味する属性情報「閲覧のみ=“true”」を書
き込む。
【0184】端末装置X,Yの両方を用いる環境におい
て、「社員住所録」情報中のある人物が会社を変えたた
め、「会社名」という構成要素の値を変更する場合を考
える。このとき、端末装置Yからは、端末装置Yが、構
成要素「部署名」に対して、編集できないために、構成
要素「部署名」の値を変更することはできない。
【0185】しかし、端末装置Yで構成要素「会社名」
の値を書き換える編集を行った後に、端末装置Xで、書
き換えた後の当該文書データを閲覧した場合、構成要素
「会社名」の値は変更されているにも関わらず、構成要
素「部署名」の値には、古い値が残るという不具合が生
じる。これでは、誤解を招きやすい。
【0186】よって、端末装置Yから、書き込み要求行
なう場合は、不正確なデータを残すよりは、不正確なデ
ータを削除するようが良い。
【0187】監視領域の各要素は、お互いに依存してい
る要素であり、監視領域内の構成要素が1つ変更される
と、それに追随して他の要素も変更される可能性があ
る。
【0188】しかし、同じ監視領域内で閲覧しかできな
い構成要素に対しては、上記した端末装置Yのように、
端末装置の制限により、構成要素が編集できない可能性
がある。そのため、閲覧しかできない構成要素は、矛盾
のあるデータを残しておくよりは、削除する方が好まし
い。
【0189】よって、差分文書生成部22の領域比較部
224は、監視領域内の比較を行ない、ある一部の構成
要素が変更されており、しかも同じ監視領域中に「閲覧
のみ」の属性情報がついている構成要素がある場合は、
その構成要素を削除する差分文書を生成することにす
る。
【0190】例えば、図23に示した文書データに対し
て、端末装置Yにて、4行目の「yamada@tai
yo−tusin.com」を「yamada@nih
on−tusin.com」に書き換え、6行目の「太
陽通信」を「日本通信」に書き換える編集を行ったとす
る。
【0191】この場合、構成要素「メール」の監視領域
と構成要素「会社」の監視領域の2つの監視領域に対す
る編集であるので、2つの差分文書が生成されるが、後
者の構成要素「会社」の監視領域についての差分文書
(図24参照)では、構成要素「部署名」には属性情報
「閲覧のみ=“true”」が与えられているため、差
分文書中の、変更内容の項目には、「部署名」タグが存
在しない(図24参照)。これは、上記の理由から、図
12のステップS17で差分文書を生成する際に削除さ
れてしまうからである。
【0192】その結果、図24に示した差分文書から生
成される書き込み要求が実行された結果、領域指定済み
文書データ記憶部12に記憶されている図23の文書デ
ータが書き換えられ、図23の6行目の構成要素「会社
名」の値は「日本通信」となり、その下の7行目の構成
要素「部署名」は削除される。
【0193】以上説明したように、上記実施形態によれ
ば、異なる文書構造のそれぞれについて、各文書構造の
構成要素の依存関係に基づき、少なくとも1つの構成要
素からなる領域単位に、複数のユーザからの書き込みを
制御するための監視領域を設定し、この監視領域の設定
された文書構造を持つ構造化文書中の前記監視領域毎
に、前記複数のユーザからの書き込みを制御することに
より、異なる文書構造の複数の構造化文書のそれぞれに
対する複数のユーザからの書き込み要求を、各構造化文
書のそれぞれの文書構造に応じて効率よく、しかも柔軟
に制御することができる。
【0194】また、システム稼働中に、監視領域を変更
する場合は、監視領域指定変更部23により、システム
を停止することなく、領域指定済み文書データの監視領
域を変更することができる。
【0195】なお、上記実施形態では、監視領域を文書
構造の有する複数の構成要素のうち、少なくとも1つの
構成要素からなるデータ範囲(部分文書)毎に設定する
場合について説明したが、さらに、1つの文書構造中
に、それぞれ別個の監視領域として指定されている複数
の監視領域を併合して、1つの監視領域として設定する
ことも可能である。例えば、この場合、上記実施形態の
説明同様にして監視領域を設定するデータ範囲を指定し
たら、各監視領域に識別子を付与し、その際、1つの監
視領域として併合すべき(とユーザにより別途指定され
た)複数の監視領域には同じ識別子を付与する。そし
て、監視領域の識別子が同じものは1つの監視領域とし
て、上記実施形態の説明同様に書き込みの制御を行えば
よい。
【0196】例えば、図29(a)と同様の「住所録」
情報をXMLで記述した次のような様な文書データを例
にとり具体的に説明する。
【0197】 <住所録> <メンバ> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </住所録> 上記文書データに対し、監視領域を、「メンバ」という
構成要素単位、すなわち、「メンバ」という構成要素以
下に存在する構成要素群からなるデータ範囲毎に設定
し、さらに、上から1つ目と2つ目の「メンバ」要素か
らなる監視領域を1つの監視領域として併合する場合を
考える。そして、各「メンバ」要素の開始タグに監視領
域であることを表すための属性情報として、「監視領域
=“識別子”を設定する。すなわち、属性値として、そ
の監視領域の識別子を与えるものとする。その結果、監
視領域指定部112は、上記文書データから、以下に示
すような領域指定済み文書データを生成する。
【0198】 <住所録> <メンバ 監視領域=“A”> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ 監視領域=“A”> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号>045-522-5300</電話番号> </メンバ> <メンバ 監視領域=“B”> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </住所録> このような識別子をもつ監視領域を設定することによ
り、よりきめ細やかに監視領域を設定することができる
ので、例えば、図29(a)に示したような、「田中太
郎」と「田中花子」が結婚しており、必ず同じ家に住ん
でいるので、「田中太郎」と「田中花子」の属する2つ
のタプルを1つの監視領域に変更したい場合にも対処可
能となる。
【0199】さらに、1つの監視領域として監視したい
構成要素を個別に指定することによっても監視領域の設
定は可能である。この場合、同じ監視領域となる複数の
構成要素のそれぞれに同じ監視領域の識別子を付与す
る。
【0200】例えば、上記領域指定済み文書データの場
合、「田中太郎」と「田中花子」が結婚し、同じ家に住
んでいても、電話番号は、一方は自宅電話番号を希望す
るかもしれないし、他方は、携帯電話番号を希望するか
もしれない。このように、識別子「A」の付与された2
つの「メンバ」要素のそれぞれの子要素である2つの
「電話番号」要素は、「住所」要素とは依存関係がない
場合もある。そこで、識別子「A」の付与された2つの
「メンバ」要素のそれぞれの子要素である「電話番号」
要素は、識別子「A」の監視領域とは別個の監視領域と
して設定すればよい。すなわち、この場合、2つの「自
宅電話番号」要素のそれぞれに監視領域の識別子とし
て、「C」、「D」をそれぞれ付与し、下記のような領
域指定済み文書データが生成されることになる。
【0201】 <住所録> <メンバ 監視領域=“A”> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“C”>045-522-5300</電話
番号> </メンバ> <メンバ 監視領域=“A”> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“D”>045-522-5300</電話
番号> </メンバ> <メンバ 監視領域=“B”> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </住所録> このように、書き込み制御のための監視領域を文書構造
構成要素単位に設定することにより(すなわち、少なく
とも1つの構成要素からなるデータ範囲(部分文書)毎
に設定したり、また、複数の監視領域を1つの監視領域
に併合したり、さらに、構成要素毎に個別に監視領域を
設定したりすることにより)、依存関係のある構成要素
からなる監視領域をきめ細やかに柔軟に(可変的)設定
することができる。従って、このようにきめ細やかに設
定された監視領域単位に書き込み制御を行うことによ
り、文書データの書き込みにより、その内容に矛盾が生
じること(衝突が生じること)を完全に防ぐことができ
る。
【0202】また、上記実施形態では、文書構造中に監
視領域を設定するために、属性情報として付与するもの
であったが、この場合に限らず、タグを用いて監視領域
の範囲を指定することもできる。すなわち、監視領域の
範囲を指定するためのタグ(例えば、「監視領域」タ
グ)で、下記に示すように、監視領域とするデータ範囲
(部分文書)を囲えばよい。そして、上記同様、各監視
領域に識別子を与え、1つの監視領域として監視したい
部分文書や構成要素には同じ識別子を与えるようにして
もよい。なお、この場合、監視領域の識別子を、「監視
領域」要素の属性情報としてもたせるようにすることも
できる。例えば、下記の記述例では、属性情報「id=
“監視領域の識別子”」を各監視領域の開始タグに記述
されている。
【0203】 <住所録> <監視領域 id=“A”> <メンバ> <名前>田中太郎</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“C”>045-522-5300</電話
番号> </メンバ> </監視領域> <監視領域 id=“A”> <メンバ> <名前>田中花子</名前> <住所>川崎市幸区3丁目</住所> <電話番号 監視領域=“D”>045-522-5300</電話
番号> </メンバ> </監視領域> <監視領域 id=“B”> <メンバ> <名前>鈴木健介</名前> <住所>横浜市港北区2丁目</住所> <電話番号>044-233-2200</電話番号> </メンバ> </監視領域> </住所録> また、本発明の実施の形態に記載した本発明の手法は、
コンピュータに実行させることのできるプログラムとし
て、磁気ディスク(フロッピー(登録商標)ディスク、
ハードディスクなど)、光ディスク(CD−ROM、D
VDなど)、半導体メモリなどの記録媒体に格納して頒
布することもできる。すなわち、領域指定済み文書デー
タ管理装置1の領域指定済み文書データ記憶部12,対
応テーブル17以外の各構成部、端末装置2の各構成部
は、コンピュータに実行させることのできるプログラム
として実現可能である。
【0204】また、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。さらに、上記実
施形態には種々の段階の発明は含まれており、開示され
る複数の構成用件における適宜な組み合わせにより、種
々の発明が抽出され得る。例えば、実施形態に示される
全構成要件から幾つかの構成要件が削除されても、発明
が解決しようとする課題の欄で述べた課題(の少なくと
も1つ)が解決でき、発明の効果の欄で述べられている
効果(のなくとも1つ)が得られる場合には、この構成
要件が削除された構成が発明として抽出され得る。
【0205】
【発明の効果】以上説明したように、本発明によれば、
異なる文書構造の複数の構造化文書を対象にし、1つの
構造化文書に対する複数のユーザからの書き込み要求
を、各構造化文書のそれぞれの文書構造に応じて効率よ
く、しかも柔軟に制御することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る文書データ管理システ
ムの要部の構成例を概略的に示した図。
【図2】領域指定済み文書データ管理装置の領域指定文
書データ生成部の構成例を示した図。
【図3】端末装置の差分文書生成部の構成例を示した
図。
【図4】領域指定済み文書データ管理装置の文書データ
書き込み部の構成例を示した図。
【図5】領域指定済み文書データ管理装置の監視領域指
定変更部の構成例を示した図。
【図6】領域指定済み文書データ指定済み文書データの
一例を示した図。
【図7】監視領域に最終書き込み時刻が記録されて、領
域指定済み文書データ記憶部に格納される領域指定済み
文書データの一例を示した図。
【図8】対応テーブルの文書構造の識別情報と領域指定
済み文書データとの記憶例を示した図。
【図9】文書構造の異なる構造化文書の他の例を示した
図。
【図10】領域指定済み文書データ記憶部の文書データ
の記憶例を模式的に示した図。
【図11】領域指定文書データ生成部の処理動作を説明
するためのフローチャート。
【図12】図3の差分文書生成部の処理動作について説
明するためのフローチャート。
【図13】編集の種類が「書き換え」の場合の差分文書
の一例を示した図。
【図14】編集の種類が「追加」の場合の差分文書の一
例を示した図。
【図15】変種の種類が「削除」の場合の差分文書の一
例を示した図。
【図16】図13に示した差分文書を基に生成される書
き込み要求の一例を示した図。
【図17】図4の文書データ書き込み部の処理動作につ
いて説明するためのフローチャート。
【図18】図16に示したような書き込み要求を実行し
て、領域指定済み文書データ記憶部に格納されている図
7に示した当該領域指定済み文書データが書き換えられ
た状態を示した図。
【図19】領域指定済み文書データ管理装置の監視領域
変更部の処理動作について説明するためのフローチャー
ト。
【図20】書き込み要求の他の例を示した図。
【図21】書き込み要求のさらに他の例を示した図で、
2つの監視領域についての書き込み要求を示した図。
【図22】図20に示すような書き込み要求が実行され
て、領域指定済み文書データ記憶部に記憶されている図
7に示した領域指定済み文書データが書き換えられた状
態を示した図。
【図23】「社員住所録」情報の領域指定済み文書デー
タを示した図。
【図24】閲覧のみで編集が不可能な構成要素を削除す
るための差分文書の一例を示した図。
【図25】監視領域を変更する処理動作を説明するため
の図で、図7に示した領域指定済み文書データに指定さ
れていた「メンバ」という構成要素から属性情報「監視
領域=”true”」を全て削除した状態を示した図。
【図26】監視領域を変更する処理動作を説明するため
の図で、対応テーブルに新たな監視領域指定データを登
録した状態を示した図。
【図27】監視領域を変更する処理動作を説明するため
の図で、新たな監視領域の指定された領域指定済み文書
データを示した図。
【図28】領域指定済み文書データ生成部の他の構成例
を示した図。
【図29】従来例を説明するための図で、リレーショナ
ルデータベースの場合を例にとり、監視領域が固定的に
設定されている場合の問題点について説明するための
図。
【図30】従来例を説明するための図で、CVSの場合
を例にとり、監視領域が固定的に設定されている場合の
問題点について説明するための図。
【符号の説明】 1…領域指定済み文書データ管理装置(構造化文書管理
装置) 2…端末装置(構造化文書編集装置) 11…領域指定済み文書データ生成部 12…領域指定済み文書データ記憶部 13…監視領域指定変更部 14…文書データ書き込み部 15…文書データ読み出し部 16…時刻管理部 21…書き込み要求生成部 22…差分文書生成部 23…文書データ編集部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 鳥井 修 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 Fターム(参考) 5B082 FA17 GA14

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】異なる文書構造の複数の構造化文書を記憶
    する記憶手段に記憶されている構造化文書に対する複数
    のユーザからの書き込み要求を制御するための書き込み
    制御方法であって、 前記異なる文書構造のそれぞれについて、その文書構造
    の構成要素で特定される領域単位に前記複数のユーザか
    らの書き込みを制御するための監視領域を設定し、この
    監視領域の設定された文書構造を持つ前記構造化文書中
    の前記監視領域毎に、前記複数のユーザからの書き込み
    を制御することを特徴とする書き込み制御方法。
  2. 【請求項2】前記文書構造の構成要素の依存関係に基づ
    き、少なくとも1つの構成要素からなる領域単位に前記
    監視領域を設定することを特徴とする請求項1記載の書
    き込み制御方法。
  3. 【請求項3】前記監視領域の設定された文書構造を持つ
    前記構造化文書の前記構成要素に前記監視領域である旨
    の属性情報を付与することで、前記構造化文書中に前記
    監視領域を設定することを特徴とする請求項1記載の書
    き込み制御方法。
  4. 【請求項4】前記異なる文書構造のそれぞれについて、
    前記監視領域として指定された構成要素名と、その構造
    化文書の持つ文書構造の識別情報との対応関係を記憶し
    ておき、この記憶した対応関係に基づき、前記監視領域
    の設定された文書構造を持つ前記構造化文書中に前記監
    視領域を設定することを特徴とする請求項3記載の書き
    込み制御方法。
  5. 【請求項5】前記監視領域内のデータが最後に書き換え
    られたときの時刻を該監視領域のデータのバーション番
    号として用い、該監視領域に対する書き込みは、どのバ
    ージョン番号のデータに対する書き込みであるかに基づ
    き前記複数のユーザからの書き込みを制御することを特
    徴とする請求項1記載の書き込み制御方法。
  6. 【請求項6】異なる文書構造の複数の構造化文書を記憶
    する記憶手段と、 前記記憶手段に記憶される複数の構造化文書のそれぞれ
    が持つ前記異なる文書構造のそれぞれについて、その文
    書構造の構成要素で特定される領域単位に複数のユーザ
    からの書き込み要求を制御するための監視領域を設定す
    る設定手段と、 前記監視領域の設定された文書構造を持つ前記構造化文
    書中の前記監視領域毎に、複数のユーザからの書き込み
    を制御する制御手段と、を具備したことを特徴とする構
    造化文書管理装置。
  7. 【請求項7】前記文書構造の構成要素の依存関係に基づ
    き、少なくとも1つの構成要素からなる領域単位に前記
    監視領域を設定することを特徴とする請求項6記載の構
    造化文書管理装置。
  8. 【請求項8】前記監視領域の設定された文書構造を持つ
    前記構造化文書の前記構成要素に前記監視領域である旨
    の属性情報を付与することで、前記構造化文書中に前記
    監視領域を設定することを特徴とする請求項6記載の構
    造化文書管理装置。
  9. 【請求項9】前記設定手段は、前記異なる文書構造のそ
    れぞれについて、前記監視領域として指定された構成要
    素名と、その構造化文書の持つ文書構造の識別情報との
    対応関係を記憶しておき、この記憶した対応関係に基づ
    き、前記監視領域の設定された文書構造を持つ前記構造
    化文書中に前記監視領域を設定することを特徴とする請
    求項6記載の構造化文書管理装置。
  10. 【請求項10】前記制御手段は、前記監視領域内のデー
    タが最後に書き換えられたときの時刻を該監視領域のデ
    ータのバーション番号として用い、該監視領域に対する
    書き込みは、どのバージョン番号のデータに対する書き
    込みであるかに基づき前記複数のユーザからの書き込み
    を制御することを特徴とする請求項6記載の構造化文書
    管理装置。
  11. 【請求項11】異なる文書構造の複数の構造化文書を記
    憶する記憶手段に記憶される複数の構造化文書のそれぞ
    れが持つ前記異なる文書構造のそれぞれについて、その
    文書構造の構成要素で特定される領域単位に複数のユー
    ザからの書き込み要求を制御するための監視領域を設定
    し、前記監視領域の設定された文書構造を持つ前記構造
    化文書中の前記監視領域毎に、複数のユーザからの書き
    込みを制御する構造化文書管理装置から前記構造化文書
    を読み出して編集を行ない、その結果を基に前記構造化
    文書管理装置へ前記構造化文書に対する書き込みを要求
    する構造化文書編集装置であって、 編集前と編集後の前記構造化文書を前記監視領域毎に比
    較して、編集のなされた監視領域と、変更内容を検出す
    る検出手段と、 前記監視領域毎に前記変更内容に基づき前記構造化文書
    に対し書き込みを行うための前記構造化文書管理装置へ
    の書き込み要求を生成する生成手段と、 を具備したことを特徴とする構造化文書編集装置。
  12. 【請求項12】前記検出手段は、前記監視領域毎に、書
    き換え、削除、追加などの編集の種類を検出することを
    特徴とする請求項11記載の構造化文書編集装置。
  13. 【請求項13】前記検出手段で、書き換えの行われた監
    視領域が検出されたとき、その監視領域中の書き換えら
    れた一部の構成要素と依存関係にある該監視領域中の書
    き換えられなかった構成要素の削除を前記変更内容に追
    加することを特徴とする請求項11記載の構造化文書編
    集装置。
  14. 【請求項14】前記削除する構成要素は、編集不可と予
    め定められた構成要素であることを特徴とする請求項1
    3記載の構造化文書編集装置。
  15. 【請求項15】異なる文書構造の複数の構造化文書を記
    憶する記憶手段に記憶されている構造化文書に対する複
    数のユーザからの書き込み要求を制御するための処理を
    コンピュータに実行させるためのプログラムであって、 前記記憶手段に記憶される複数の構造化文書のそれぞれ
    が持つ前記異なる文書構造のそれぞれについて、その文
    書構造の構成要素で特定される領域単位に前記複数のユ
    ーザからの書き込みを制御するための監視領域を設定す
    るための処理と、 前記監視領域の設定された文書構造を持つ前記構造化文
    書中の前記監視領域毎に、複数のユーザからの書き込み
    を制御するための処理と、 をコンピュータに実行させるためのプログラム。
  16. 【請求項16】異なる文書構造の複数の構造化文書を記
    憶する記憶手段に記憶される複数の構造化文書のそれぞ
    れが持つ前記異なる文書構造のそれぞれについて、その
    文書構造の構成要素で特定される領域単位に前記複数の
    ユーザからの書き込み要求を制御するための監視領域を
    設定し、前記監視領域の設定された文書構造を持つ前記
    構造化文書中の前記監視領域毎に、複数のユーザからの
    書き込みを制御する構造化文書管理装置から、前記構造
    化文書を読み出して編集を行ない、その結果を基に前記
    構造化文書管理装置へ前記構造化文書に対する書き込み
    を要求するための処理をコンピュータに実行させるため
    のプログラムであって、 編集前と編集後の前記構造化文書を前記監視領域毎に比
    較して、編集のなされた監視領域と、変更内容とを検出
    するための処理と、 前記検出された監視領域毎に前記変更内容に基づき前記
    構造化文書に対し書き込みを行うための前記構造化文書
    管理装置への書き込み要求を生成するための処理と、 をコンピュータに実行させるためのプログラム。
JP2001151604A 2001-05-21 2001-05-21 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム Expired - Lifetime JP3673189B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001151604A JP3673189B2 (ja) 2001-05-21 2001-05-21 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム
US10/151,138 US7152201B2 (en) 2001-05-21 2002-05-21 Write control method, structured document management apparatus, structured document edit apparatus, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001151604A JP3673189B2 (ja) 2001-05-21 2001-05-21 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2002342142A true JP2002342142A (ja) 2002-11-29
JP3673189B2 JP3673189B2 (ja) 2005-07-20

Family

ID=18996415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001151604A Expired - Lifetime JP3673189B2 (ja) 2001-05-21 2001-05-21 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム

Country Status (2)

Country Link
US (1) US7152201B2 (ja)
JP (1) JP3673189B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019021266A (ja) * 2017-07-21 2019-02-07 富士通株式会社 格納制御プログラム、格納制御装置及び格納制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4257150B2 (ja) * 2003-05-16 2009-04-22 沖電気工業株式会社 印刷文書の改ざん検出装置および改ざん検出方法
KR100521033B1 (ko) * 2003-05-21 2005-10-11 엘지전자 주식회사 메시지 릴레이 전송 방법
US7167166B1 (en) * 2003-08-01 2007-01-23 Accenture Global Services Gmbh Method and system for processing observation charts
CA2451253A1 (en) * 2003-11-27 2005-05-27 Ibm Canada Limited - Ibm Canada Limitee Method for competitive peer programming
US20060004885A1 (en) * 2004-06-30 2006-01-05 Oracle International Corporation Multiple writer support in an OLAP environment
EP1779234A4 (en) * 2004-08-02 2007-10-31 Justsystems Corp DOCUMENT PROCESSING AND ADMINISTRATIVE APPROACH TO EDITING A DICTIONARY LANGUAGE DOCUMENT
JP2007058622A (ja) * 2005-08-25 2007-03-08 Konica Minolta Business Technologies Inc 文書管理装置及び文書管理方法
CN101430643B (zh) * 2007-11-05 2012-06-27 国际商业机器公司 提供项目开发环境的方法和装置,以及项目开发系统
JP4833326B2 (ja) * 2009-09-28 2011-12-07 株式会社三菱東京Ufj銀行 コード編集用プログラム及びコード編集装置
JP6136694B2 (ja) * 2013-07-19 2017-05-31 富士通株式会社 データ管理プログラム、データ管理装置およびデータ管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04248640A (ja) * 1991-02-05 1992-09-04 Fujitsu Ltd 木構造文書処理装置
JPH0736890A (ja) * 1993-07-20 1995-02-07 Canon Inc 文書処理装置及びその方法
JPH10143507A (ja) * 1996-09-11 1998-05-29 Fujitsu Ltd Sgml文書管理装置,サーバ装置,クライアント装置およびそれらのプログラム記憶媒体
JPH1196159A (ja) * 1997-09-22 1999-04-09 Matsushita Electric Ind Co Ltd ハイパーテキスト編集装置
WO1999033001A1 (en) * 1997-12-22 1999-07-01 Learmont Timothy R A fine-grained consistency mechanism for optimistic concurrency control using lock groups

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5446842A (en) * 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
US5890177A (en) * 1996-04-24 1999-03-30 International Business Machines Corporation Method and apparatus for consolidating edits made by multiple editors working on multiple document copies
US6061697A (en) 1996-09-11 2000-05-09 Fujitsu Limited SGML type document managing apparatus and managing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04248640A (ja) * 1991-02-05 1992-09-04 Fujitsu Ltd 木構造文書処理装置
JPH0736890A (ja) * 1993-07-20 1995-02-07 Canon Inc 文書処理装置及びその方法
JPH10143507A (ja) * 1996-09-11 1998-05-29 Fujitsu Ltd Sgml文書管理装置,サーバ装置,クライアント装置およびそれらのプログラム記憶媒体
JPH1196159A (ja) * 1997-09-22 1999-04-09 Matsushita Electric Ind Co Ltd ハイパーテキスト編集装置
WO1999033001A1 (en) * 1997-12-22 1999-07-01 Learmont Timothy R A fine-grained consistency mechanism for optimistic concurrency control using lock groups
JP2001527242A (ja) * 1997-12-22 2001-12-25 ティモシー アール リーモント ロックグループを用いた楽観的並行処理制御のためのきめ細やかな整合性をもたらす仕組み

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019021266A (ja) * 2017-07-21 2019-02-07 富士通株式会社 格納制御プログラム、格納制御装置及び格納制御方法
JP7044967B2 (ja) 2017-07-21 2022-03-31 富士通株式会社 格納制御プログラム、格納制御装置及び格納制御方法
US11321377B2 (en) 2017-07-21 2022-05-03 Fujitsu Limited Storage control program, apparatus, and method

Also Published As

Publication number Publication date
US20040019879A1 (en) 2004-01-29
JP3673189B2 (ja) 2005-07-20
US7152201B2 (en) 2006-12-19

Similar Documents

Publication Publication Date Title
US7228498B2 (en) Structured document transformation apparatus for managing document information transfers between a server and a client
US20070244971A1 (en) Transaction-based enterprise application integration (EAI) and development system
NZ273983A (en) Data storage and retrieval comprising key field that includes numeric concatenation of at least two identifiers
JP2001282594A (ja) 企業業務統合化システム、複数のデータ・ソースを統合化する方法
KR20010103603A (ko) 모델의 충격 분석
US20100017378A1 (en) Enhanced use of tags when storing relationship information of enterprise objects
JP2002342142A (ja) 書き込み制御方法および構造化文書管理装置および構造化文書編集装置およびプログラム
JP2003173280A (ja) データベース生成装置、データベース生成方法及びデータベース生成プログラム
JPH10254745A (ja) 文書管理システム
JP3489216B2 (ja) ファイルシステム
JP2000155731A (ja) 文書更新通知装置及び記憶媒体
JP2003281149A (ja) アクセス権限設定方法および構造化文書管理システム
JP3842576B2 (ja) 構造化文書編集方法及び構造化文書編集システム
JP3842572B2 (ja) 構造化文書管理方法および構造化文書管理装置およびプログラム
US20050160101A1 (en) Method and apparatus using dynamic SQL for item create, retrieve, update delete operations in a content management application
JPH11282882A (ja) 文書管理方法
JP3842574B2 (ja) 情報抽出方法および構造化文書管理装置およびプログラム
CN112988668B (zh) 基于PostgreSQL的流式文档处理方法、装置以及装置的应用方法
JP3842575B2 (ja) 構造化文書検索方法、構造化文書管理装置及びプログラム
JP3734391B2 (ja) 個体名の抽出装置、抽出方法、並びに記録媒体
JP2002082965A (ja) 文書検索方法
JP2639330B2 (ja) エラーシステム
JP2002150207A (ja) 自動入力システム
JP2000322295A (ja) データベースストアドサブプログラム用プログラミング支援方法ならびに装置
JP2003099469A (ja) 検索表示装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050421

R151 Written notification of patent or utility model registration

Ref document number: 3673189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080428

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 9

EXPY Cancellation because of completion of term