JP3934965B2 - 文書管理装置、文書管理方法及びプログラム - Google Patents

文書管理装置、文書管理方法及びプログラム Download PDF

Info

Publication number
JP3934965B2
JP3934965B2 JP2002081793A JP2002081793A JP3934965B2 JP 3934965 B2 JP3934965 B2 JP 3934965B2 JP 2002081793 A JP2002081793 A JP 2002081793A JP 2002081793 A JP2002081793 A JP 2002081793A JP 3934965 B2 JP3934965 B2 JP 3934965B2
Authority
JP
Japan
Prior art keywords
document
fragment
editing
xml document
management
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.)
Expired - Fee Related
Application number
JP2002081793A
Other languages
English (en)
Other versions
JP2003281118A (ja
Inventor
裕介 土井
修 鳥井
哲郎 木村
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 JP2002081793A priority Critical patent/JP3934965B2/ja
Publication of JP2003281118A publication Critical patent/JP2003281118A/ja
Application granted granted Critical
Publication of JP3934965B2 publication Critical patent/JP3934965B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の文書を管理する文書管理装置、文書管理方法及びプログラムに関する。
【0002】
【従来の技術】
現在までのデータ管理パラダイムでは、「ファイル」や「データベース」をデータ管理の中心と据え、分散したデータの断片と、ファイルに含まれる断片的な複製を、どのような立場からどのように管理するか、という観点を欠いていた。
【0003】
しかし、一つの「文書」ないし「ファイル」とは、概念や情報の集合の多様なあり方のうち、一つの形態を示すに過ぎない。例えば、一つのPDAに格納されたスケジュール情報は、そのPDAの使用者の周辺に分散して存在する多種多様なスケジュール情報に対して、その使用者の立場からフィルタをかけて再構成した複製に過ぎない。
【0004】
【発明が解決しようとする課題】
従来、一つあるいは複数の計算機上に存在する複数の文書の内容の相互無矛盾性を確保する(あるいは、最低限矛盾していることを利用者に明らかにする)ための手法が存在しなかった。特に、一つの文書の中に存在する情報が複数に渡り、それぞれの情報を管理する主体が異なる場合、それぞれの情報の所有者や権限を正しく管理するための手法が存在しなかった。
【0005】
本発明は、上記事情を考慮してなされたもので、文書間の依存関係を効果的に管理可能な文書管理装置、文書管理方法及びプログラムを提供することを目的とする。
【0006】
また、本発明は、依存関係を持つ文書間の一貫性を維持することの可能な文書管理装置、文書管理方法及びプログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、文書編集装置上で編集される複数の文書を格納し、文書内に含まれる制御情報により範囲が指定された一纏まりの部分である文書断片の単位で、複数の文書間の依存関係に関する管理を行う文書管理装置であって、複数の前記文書の各々について、当該文書から、他の文書断片に対して依存関係を持つ文書断片を除外して得られたものを、当該文書の文書主部として、当該文書を一意に識別する識別情報に対応付けて記憶するとともに、複数の文書断片の各々について、当該文書断片の属する文書を一意に識別し及び当該文書断片が当該文書断片の属する文書におけるいずれの文書断片であるかを一意に識別する識別情報に対応付けて記憶するための記憶手段と、各々の前記文書断片に係る前記制御情報であって、当該文書断片が他の文書断片に対して持つ依存関係が一方向複製と双方向複製とのいずれであるかを特定可能にするとともに少なくとも一方向複製について当該文書断片が複製元と複製先とのいずれに該当するかを特定可能にする情報が含まれ、さらに、前記文書断片の全部又は依存関係を持つ文書断片群のうちの一部について、当該文書断片が依存関係を持つ他の文書断片を特定可能にする情報が含まれる制御情報に基づいて、ある文書断片につきその文書断片との間に依存関係を持つ他の文書断片を特定する管理手段と、前記文書編集装置から所望の文書の要求を受けた場合に、該文書が、前記制御情報を記述することのできる構造をもともと持っていない文書に対して、前記制御情報を記述するための特定の記号列を付与したものであるときは、前記文書編集装置からの指定に応じて、該特定の記号列を含む前記制御情報を付与された状態で該文書を編集用として該文書編集装置へ提供し、または該特定の記号列を含む前記制御情報を削除した状態で該文書を読み出し専用として該文書編集装置へ提供する提供手段とを備え、前記管理手段は、前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片に係るバージョンに関する情報を登録した管理テーブルを記憶する手段と、前記文書編集装置にて行われた、一方向複製の複製元に該当する文書断片又は双方向複製に係る文書断片に対する編集による該文書断片の内容の変更が受諾できるものであるか否かを、該文書断片の編集前後の内容にかかわらずに、前記管理テーブルに登録されている該文書断片に係るバージョンに関する情報と、前記文書編集装置にて編集された該文書断片に係るバージョンに関する情報との比較結果に基づいて、判断し、該文書断片の内容の変更が受諾できるものであると判断された場合には、該文書断片の内容を更新するとともに、前記制御情報により該書断片が一方向複製の複製元に該当するものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該文書断片に対する一方向複製の複製先に該当するものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させ、前記制御情報により該文書断片が双方向複製に係るものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該編集対象文書断片との間に双方向複製の依存関係を持つものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させる反映手段とを含むものであることを特徴とする。
【0011】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0012】
本発明によれば、文書間の依存関係を効果的に管理することが可能になる。
【0013】
また、本発明によれば、文書の内外に分散して存在する情報に対して統一的な管理手法を提供することができる。例えば、文書/ファイルという計算機にとって利用しやすい形式を利用しつつ、文書を管理主体や内容の起源(source)別に断片に分割し、それぞれの断片に、他の文書断片との依存情報を埋め込むことで、文書断片の矛盾の検出、自動的な更新等を行い、1つの文書に含まれる多岐に渡る情報をその起源と管理主体を正しく管理することができる。
【0014】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0015】
本発明は、複数の電子文書が部分的に相互に依存する関係を管理するものであるが、電子文書として構造化文書にも構造を持たない文書(以下、非構造化文書)にも適用可能であり、また、具体的な適用分野としては、コンピュータ上のプログラム設定ファイルから、アドレス帳、スケジュールデータの部分的な共有(引用−依存関係の一種)まで多岐に渡るものである。
【0016】
まず、本発明を電子文書の一例としての構造化文書に適用する場合について説明する。後に、非構造文書に本発明を適用する場合についての説明を行い、最後に本発明に派生する適用についての説明を行う。
【0017】
近年、インターネットやイントラネットなどの通信路を介して交換される標準的な文書形式の一つに、HTML文書やXML文書などがある。なお、HTML文書に関しては、「HTML 4.01 Specification W3CRecommendation 24 December 1999」に詳しい。XML文書に関しては、「Extensible Markup Language(XML)1.0(Second Edition)」に詳しい。
【0018】
まず、本実施形態の概要について説明する。
【0019】
ある文書の内容が、部分的に他の文書の一部に依存している場合、その依存関係を、該ある文書の作成者ないしは管理者が、後述する依存関係を管理するための依存関係管理機構(あるいは依存関係管理エンジン)に登録する。編集された文書を登録(更新)する際に、依存関係管理機構が依存関係を検査し、矛盾が発生していたら(一貫性が保持されないと判定されたら)、その解消のために必要な動作を行う。
【0020】
図32は、相互に相関している文書が編集された場合に、本実施形態において想定する処理の流れの一例を示したものである。図32の例では、利用者が3名おり(ユーザA、ユーザB、ユーザCとする)、それぞれ異なる文書(文書a、文書b、文書cとする)を所有・編集・参照しているものとする。
【0021】
まず、(a)に示す初期状態(INITIAL STATE)において、文書間には後述する手段により相関関係が定義されている。ここで、双方向の矢印は相互に編集可能(share)を示し、片方向の矢印は一方向参照(mirror)を示す。
【0022】
ここで、(b)に示すように、ある時点でユーザBが文書bのうちからある断片を編集したとする。
【0023】
すると、(c)に示すように、編集された文書bが、文書bを管理する管理機構に渡された時点で、該管理機構により検査され、対応する他の文書a,cに編集操作の内容を通知する。
【0024】
そして、(d)に示すように、他の文書a,cを管理している管理機構は、通知された内容を元に、該当する部分を更新する。
【0025】
本実施形態では、依存関係の管理のために、文書に対して、「文書断片」という要素を、文書管理の枠組みに導入する。文書断片は、ある文書の任意の一部分を識別する。そして、上記の依存管理は、文書断片単位で行う。なお、文書のうちの文書断片以外の部分は、文書主部と呼ぶ。
【0026】
この手法で管理できる依存関係には、例えば、「一方向複製(mirror)」と「双方向複製(share)」がある。
【0027】
「一方向複製(mirror)」は、例えば、情報を「カットアンドペースト」のようなインターフェイスを用いて一方の文書(複製元)から他方の文書(複製先)へ複製した場合に、複製元の文書断片には、複製元であること及び依存関係の種類が一方向複製であることを示す情報(例えば、mirrored)並びに複製先の文書断片を特定するための情報(例えば、複製先の文書断片を含む文書の識別子と該文書における該文書断片の識別子)を書き込み、複製先の文書断片には、複製先であること及び依存関係の種類が一方向複製であることを示す情報(例えば、mirror)並びに複製元の文書断片を特定するための情報(例えば、複製元の文書断片を含む文書の識別子と該文書における該文書断片の識別子)を書き込むことにより(なお、少なくとも複製元か複製先に依存関係を持つ相手を特定するための情報が書き込まれていれば、複製元と複製先との対応を特定できるので、複製先の文書断片を特定するための情報又は複製元の文書断片を特定するための情報のいずれかを省略する方法もある)、設定され、複製元に加えられた変更を、複製先に自動的に反映する機能を持つものである。なお、複製元に加えられた変更が、複製先に自動的に反映された場合には、例えば、複製先に加えられた変更が、破棄されるようにする。あるいは、複製先への変更自体を禁止するようにすることもできる。
【0028】
「双方向複製(share)」は、例えば、情報を「カットアンドペースト」のようなインターフェイスを用いて一方の文書(複製元)から他方の文書(複製先)へ複製した場合に、複製元の文書断片には、複製元であること及び依存関係の種類が双方向複製であることを示す情報(例えば、shared)並びに複製先の文書断片を特定するための情報を書き込み、複製先の文書断片には、複製先であること及び依存関係の種類が双方向複製であることを示す情報(例えば、share)並びに複製元の文書断片を特定するための情報を書き込むことにより(なお、上記と同様に、複製先の文書断片を特定するための情報又は複製元の文書断片を特定するための情報のいずれかを省略する方法もある)、設定され、複製元に加えられた変更を複製先に自動的に反映し、かつ、複製先に加えられた変更を複製元に反映する機能を持つものである。この場合、複製元と複製先の両方に同時に加えられた異なる変更が衝突する可能性があるので、本実施形態では、この変更の衝突を回避するための手段(後述する)を設けている。なお、双方向複製のように関係する全ての文書断片が同じ意味を持つ場合には、複製元と複製先とを特に区別しない方法も可能である。
【0029】
なお、依存関係としては、他の形態も可能であり、例えば、一方向複製(mirror)の変形として「参照(refer)」がある。なお、referについては後述する。
【0030】
なお、以下、最初の実施形態では、構造化文書の例としてXML文書に対する適用を行う。
【0031】
ここで、XMLについて簡単に説明する。
【0032】
XMLでは、一つの文書を要素(エレメント(element))の集合として構成する。根要素(ルートエレメント(root element))と呼ばれる特別な要素以外のすべての要素は、一つの親要素を持つ。また、すべての要素は、複数の属性(attribute)、および内容として文(CDATA)、子要素(サブエレメント(sub−element))の二種類の任意の組合せを持つことができる。
【0033】
記法は、
<element attribute=“value” ... > (内容) </element>
の形式を取る。ここで、elementは、要素の名前、attribute=“value”は、要素が持つ属性の名前とその値である。また、最初の記号<から最後の記号>までが要素である。また、内容が空の場合には、<element></element>の代わりに<element/>という省略記法が許される。
【0034】
以下に、単純なXML文書の一例を示す。
Figure 0003934965
ただし、空白文字による字下げはXML文書の解釈に全く影響を与えないので、空白文字による字下げを施して記述しても、施さないで記述しても構わない(すなわち、両者は同値である)。例えば、以下の文書は、上記の文書と同値である。
<?xml version=“1.0”>
<root><element><subelement attribute=“value”/></element></root>
なお、本明細書及び図面においては、見やすさを優先して、XML文書の例に字下げ(indent)を施して記述している。
【0035】
(構造化文書に対する本発明の適用例)
以下では、本実施形態をより詳しく説明する。
【0036】
なお、以下では、依存関係として、一方向複製(mirror)と双方向複製(share)を例にとって説明する。
【0037】
また、以下では、異なる文書の文書断片の間の依存関係について説明するが、同一の文書内の文書断片間に依存関係を付与し管理することも可能である。
【0038】
図1に、本発明の一実施形態に係る電子文書管理システムの構成例を示す。図1に示されるように、本電子文書管理システムは、大きく分けて、XML文書一括管理装置3とXML文書参照・編集装置1からなる。
【0039】
本電子文書管理システムにおいて、XML文書一括管理装置とXML文書参照・編集装置の実際の構成方法については、種々のバリエーションが可能である。例えば、
(1−1)XML文書一括管理装置およびXML文書参照・編集装置を単一の装置に組み込んで機能させるようにする構成や、
(1−2)それらを別個独立の装置にそれぞれ組み込むとともにそれらがネットワークを通じて結合できるようにする構成、
が考えられる(図1は、後者の場合を例示したものである)。また、
(2−1)1つのXML文書一括管理装置に対して1つのXML文書参照・編集装置のみが対応する構成や、
(2−2)1つのXML文書一括管理装置に対して複数のXML文書参照・編集装置が対応する構成が考えられる(図1では、後者の場合を例示したものである)。
【0040】
以下では、図1に示すように、XML文書一括管理装置とXML文書参照・編集装置は独立した装置であり、かつ、1つのXML文書一括管理装置に対して複数のXML文書参照・編集装置が対応する場合を例にとって説明する(もちろん、他の構成の仕方の組合せを採用しても構わない)。
【0041】
さて、図1のXML文書一括管理装置3は、XML文書を一括管理するための装置であり、他方、XML文書参照・編集装置1は、XML文書一括管理装置3で一括管理しているXML文書の参照・編集を行うための装置である。XML文書参照・編集装置1がXML文書の参照・編集を行う際には、XML文書一括管理装置3で管理されているXML文書に対して直接行うのではなく、XML文書参照・編集装置1上に、(XML文書一括管理装置3で管理されている)XML文書の複製を作成し、この複製に対して参照・編集を実行する。XML文書参照・編集装置1上で行った編集内容は、XML文書一括管理装置3に送信し、XML文書一括管理装置3で一括管理するXML文書(オリジナルのXML文書)に反映する。
【0042】
XML文書一括管理装置3で一括管理するXML文書の複製をXML文書参照・編集装置1上に作成する際には、
(3−1)「XML文書全体」をXML文書一括管理装置3からXML文書参照・編集装置1へ送信する方法や、
(3−2)XML文書一括管理装置3からXML文書一括管理装置1へ「前回」送信したXML文書と「今回」送信しようとしているXML文書との「差分」のみを、XML文書一括管理装置3からXML文書一括管理装置1へ送信する(ただし、まだ該当するXML文書を一度も送信しておらず、「前回」送信したXML文書に相当するものがない場合には、「XML文書全体」を送信することになる)方法、
が考えられる。
【0043】
他方、XML文書参照・編集装置1で行った編集内容をXML文書一括管理装置3に送信する際には、
(4−1)毎回、「XML文書全体」をXML文書参照・編集装置1からXML文書一括管理装置3へ送信する方法や、
(4−2)「編集を行う前」のXML文書と「編集を行った後」のXML文書との「差分」のみを、XML文書参照・編集装置1からXML文書一括管理装置3へ送信する(ただし、XML文書参照・編集装置1でXML文書の新規作成を行った場合には、「XML文書全体」を送信することになる)方法、
が考えられる。
【0044】
以下では、(3−1)のXML文書全体を送信する場合と、(4−2)の編集前後のXML文書の差分のみを送信する場合とを例にとって説明する(もちろん、他の構成の仕方の組合せを採用しても構わない)。
【0045】
さて、1つのXML文書一括管理装置3に対して、複数のXML文書参照・編集装置1が対応する場合、XML文書一括管理装置3で一括管理するXML文書のうち、1つのXML文書が、同時に複数のXML文書参照・編集装置1で独立に参照・編集される場合が存在する。このため、複数のXML文書参照・編集装置1が同一のXML文書に対して、一貫性のない編集を行う場合が発生し得る。そこで、本実施形態のXML文書一括管理装置3では、XML文書参照・編集装置1から送信された編集内容を受信した際に、該編集内容を解析し、一貫性を保ちながら更新内容をXML文書に反映するようにする。
【0046】
以下では、電子文書がXML文書である場合において、一方向複製(mirror)、双方向複製(share)をどうやって実現するかに関して、具体例を用いて説明する。より具体的には、一方向複製元(mirroredエレメント)と一方向複製先(mirrorエレメント)の関係、双方向複製元(sharedエレメント)と双方向複製先(shareエレメント)の関係をどのようにしてXML文書に埋め込むかに関して説明する。
【0047】
図2および図3に、XML文書参照・編集装置1で編集中のXML文書の具体例を示す。
【0048】
図2に示したXML文書は、「スケジュール文書」の例であり、内容としては「下期戦略会議に関する情報」と「定例会議の情報」が格納されている例になっている。このXML文書には、「Schedule−1」という文書名(XML文書識別子)が与えられているものとする。
【0049】
図3に示したXML文書は、「メモ文書」の例であり、内容としては「下期戦略会議開催通知」が格納されている例になっている。このXML文書には、「memo−1」という文書名が与えられているものとする。
【0050】
ここで、図2のXML文書中に記述されている「下期戦略会議」と図3のXML文書中に記述されている「下期戦略会議」は、同一の会議を指し示しているものとする。また、この下期戦略会議会議に関する情報のうち、「開催場所」や「開始時刻」など一部のXML文書断片は、スケジュール文書とメモ文書の両方に格納されている。
【0051】
ここで、同一の情報を指し示し、一方向複製元と一方向複製先の関係にあるXML文書断片は、「mirroredエレメント」と「mirrorエレメント」を用いてXML文書中に表現するものとする。一方向複製先のXML文書断片を含むXML文書において、該一方向複製先のXML文書断片が参照する「一方向複製元のXML文書断片」は、電子文書管理システム中でmirroredエレメントに一意に与えられる識別子を用いて指定する。
【0052】
例えば、図2中のid(エレメント識別子)=“es9”を保持するmirroredエレメントと図3中のid(エレメント識別子)=“es11”を保持するmirrorエレメントは、ともに下期戦略会議の開始時刻を表しており、一方向複製元と一方向複製先の関係にある。この2つのエレメントが一方向複製元と一方向複製先の関係にあることは、図3中の一方向複製エレメントが、値“schedule−1:es9”を保持する「idref属性」(ここでは、“XML文書識別子:エレメント識別子”)を保持することにより、対応付けられている。
【0053】
また、同一の情報を指し示し、双方向複製元と双方向複製先の関係にあるXML文書断片は、「shareエレメント」と「sharedエレメント」を用いてXML文書中に表現するものとする。双方向複製先のXML文書断片を含むXML文書において、該双方向複製先のXML文書断片が参照する「双方向複製元のXML文書断片」は、電子文書管理システム中でsharedエレメントに一意に与えられる識別子を用いて指定する。
【0054】
また、例えば、図2中のid(エレメント識別子)=“es5”を保持するsharedエレメントと図3中のid(エレメント識別子)=“es12”を保持するshareエレメントは、ともに下期戦略会議の開催場所を表しており、双方向複製元と双方向複製先の関係にある。この2つのエレメントが双方向複製元と双方向複製先の関係にあることは、図3中の双方向複製エレメントが、値“schedule−1:es5”を保持する「idref属性」(ここでは、“XML文書識別子:エレメント識別子”)を保持することにより、対応付けられている。
【0055】
上記では、一方向複製元と一方向複製先の関係や、双方向複製元と双方向複製先の関係を、エレメントが保持する識別子を用いて表すものとしたが、本電子文書管理システムで、エレメントに対して識別子を作成・付与するのは、XML文書一括管理装置3とXML文書参照・編集装置1の両方である。
【0056】
ところで、XML文書一括管理装置で作成する識別子について考えると、これは、XML文書参照・編集装置において作成されるXML文書断片をXML文書一括管理装置で一括管理するXML文書に反映する際に作成されるものであるから、XML文書参照・編集装置で作成した直後でまだXML文書一括管理装置に反映されていないmirroredエレメントやsharedエレメントをmirrorエレメントやshareエレメントから指定する目的には利用できないことになる。また、XML文書参照・編集装置で作成する識別子について考えると、1つのXML文書一括管理装置に対して複数のXML文書参照・編集装置が対応することから、システムにおいて一意な識別子を作成しようとすると、XML文書参照・編集装置で作成する識別子は、どうしてもXML文書一括管理装置で作成する識別子と比較して、サイズが大きくなってしまう。
【0057】
そこで、本実施形態の電子文書管理システムでは、XML文書一括管理装置で作成する識別子と、XML文書参照・編集装置で作成する識別子の弱点を相互に補うために、以下のような方法を用いる。すなわち、XML文書断片(mirroredエレメント、sharedエレメント)がXML文書参照・編集装置1において作成されたら、XML文書参照・編集装置1で「仮識別子」を作成し、これを該XML文書断片に付与する。その後、XML文書断片をXML文書一括管理装置3において一括管理するXML文書に反映する際に、XML文書一括管理装置3で新たに「正式識別子」を作成し、これを該XML文書断片に付与する。その際、該XML文書断片に付与された仮識別子と正式識別子との対応を、識別子対応管理テーブルに登録する。
【0058】
mirroredエレメント、sharedエレメント、sharedエレメントは、「version属性」と「last−modified属性」を保持する。
【0059】
version属性は、XML文書参照・編集装置1で現在編集中のXML文書中のXML文書断片が、どのバージョンのものをもとにして編集されているかを(すなわち、XML文書一括管理装置3からの読み出し時に持っているバージョンを)表すものである。
【0060】
last−modified属性は、XML文書参照・編集装置1で編集中のXML文書中のXML文書断片が、一番最後にXML文書参照・編集装置1において編集された時刻を表す。
【0061】
これらの情報は、XML文書参照・編集装置1における編集内容をXML文書一括管理装置3に反映する際に、XML文書の一貫性を保つためのもととなる情報として用いられる。
【0062】
本電子文書管理システムで双方向複製されるすべてのエレメントは、「バージョン番号」を保持しており、XML文書一括管理装置3からXML文書を読み出す際に、その読み出し時にsharedエレメントやshareエレメントが保持しているバージョン番号が、version属性に付与され、XML文書参照・編集装置1に送信される。ただし、XML文書参照・編集装置1で新規に作成されたmirroredエレメントやsharedエレメントには、バージョン番号として“1”が付与され、XML文書参照・編集装置1で新規に作成されたshareエレメントには、双方向複製元のsharedエレメントと同一のバージョン番号が付与される。version属性値は、編集のもととなるXML文書断片のバージョン番号であるから、XML文書参照・編集装置1でXML文書を編集している間に値は変化しない。
【0063】
本電子文書管理システムで一方向複製あるいは双方向複製されるすべてのエレメントは、「最終編集時刻」を保持しており、XML文書一括管理装置3からXML文書を読み出す際に、その読み出し時にmirroredエレメント、sharedエレメントまたはshareエレメントが保持している最終編集時刻が、last−modified属性に付与され、XML文書参照・編集装置1に送信される。ただし、XML文書参照・編集装置1で新規に作成されたmirroredエレメントやsharedエレメントには、当該エレメントの作成時刻が付与され、XML文書参照・編集装置1で新規に作成されたshareエレメントには、双方向複製元のsharedエレメントと同一の最終編集時刻が付与される。last−modified属性は、XML文書断片の最終編集時刻であるから、XML文書断片の値が編集されるごとに、XML文書参照・編集装置1によって編集時刻が与えられて変化する。
【0064】
XML文書参照・編集装置1において、XML文書の参照・編集が終了したら、XML文書参照・編集装置1からXML文書一括管理装置3に編集内容を送信し、XML文書一括管理装置3において一括管理するXML文書に編集内容を反映する。前述のように、スケジュール文書やメモ文書など本実施形態で扱うXML文書は、XML文書断片と、XML文書主部(XML文書断片以外の部分)からなるが、本実施形態では、XML文書参照・編集装置1で参照・編集したXML文書は、XML文書断片とXML文書主部を別々にXML文書一括管理装置3で一括管理する。
【0065】
XML文書参照・編集装置1から送信されるXML文書の編集内容(ここでは、差分情報)をXML文書一括管理装置3で受信した後、XML文書一括管理装置3において該編集内容を、XML文書のXML文書断片に関する編集とXML文書主部に関する編集とに分離し、それぞれ異なる領域に格納する。この際、複数のXML文書参照・編集装置1が同一のXML文書に対して、一貫性のない編集を行う場合があり得るので、XML文書一括管理装置3は、XML文書参照・編集装置1から送信される編集内容を受信した後、該編集内容を解析し、一貫性を保ちながら、更新内容を一括管理する情報に反映するようにしている。
【0066】
例えば、図3に示したXML文書をXML文書一括管理装置3で一括管理するXML文書に反映させた結果を、図4、図5に示す。図4は、XML文書主部を、図5は、XML文書断片を管理するためのXML文書断片管理テーブルを表している。
【0067】
図5の管理テーブルの各XML文書断片は、以下の8つの値を保持する。
「XML文書識別子」は、XML文書断片を含むXML文書のXML文書識別子である。
「エレメント識別子」は、XML文書断片のエレメント識別子である。つまり、mirroredエレメントまたはsharedエレメントのエレメント識別子のことである。
「タイプ」は、XML文書断片のタイプである。XML文書断片の参照方式により、一方向複製または双方向複製のいずれかに対応する値を取る。
「前バージョン」は、該管理テーブルに登録されているXML文書断片のもととなったXML文書断片のバージョンである。新規に作成されたXML文書断片の前バージョンは0と定めるものとする。
「現バージョン」は、該管理テーブルに登録されているXML文書断片のバージョンである。新規に作成されたXML文書断片のバージョンは1と定めるものとする。
「最終編集時刻」は、該管理テーブルに登録されているXML文書断片をXML文書参照・編集装置1で最後に編集した時刻である。
「編集者」は、該管理テーブルに登録されているXML文書断片をXML文書参照・編集装置1上で最後に編集したユーザを示す情報である。
「XML文書断片の値」は、一方向複製または双方向複製されるテキストである。
【0068】
ここでは、XML文書識別子とエレメント識別子との組が、XML文書断片を一意に識別する(idref属性)。
【0069】
前バージョン、現バージョン、最終編集時刻、編集者の4つの値は、XML文書参照・編集装置1でXML文書に対して行われた編集をXML文書一括管理装置3に反映する際に、XML文書の一貫性を判定するためのもととなる情報として用いられる。
【0070】
次に、本電子文書管理システムの構成・動作についてより詳しく説明する。
【0071】
まず、XML文書一括管理装置3に関して説明する。
【0072】
図1に示されるように、本実施形態のXML文書一括管理装置3は、XML文書主部格納部301、XML文書主部格納部制御部302、XML文書主部管理部303、XML文書断片格納部311、XML文書断片格納部制御部312、XML文書断片管理部313、識別子生成部304、一時識別子管理部305、XML文書結合部306、XML文書送信部307、XML文書差分受信部308、XML文書差分分離部309を備えている。
【0073】
識別子生成部304は、電子文書管理システム中で一意な正式識別子を生成する。生成した正式識別子は、後述するXML文書主部管理部303において、XML文書のエレメントに付与される。
【0074】
一時識別子管理部305は、XML文書一括管理装置3で作成された正式識別子とXML文書参照・編集装置1で作成された仮識別子との対応を管理する。対応は、図6に示した識別子対応管理テーブルで管理される。後述するXML文書断片管理部313から新しい正式識別子と仮識別子との組が通知されたら、これを該管理テーブルに格納する。また、XML文書断片管理部313から新しい仮識別子に対応する正式識別子問い合わせを受信したら、該管理テーブルを検索して正式識別子をXML文書断片管理部313に送信する。さらに、対応を保持する必要がなくなった(もしくは、必要がなくなったとみなせるような(例えば、登録されてから長時間経っている、最後に参照されてから長時間経っている、など))正式識別子と仮識別子の組を管理テーブルから削除する。
【0075】
XML文書主部格納部301は、XML文書のXML文書主部を格納する。そして、XML文書主部格納部制御部302に格納しているXML文書主部を送信し、また、XML文書主部格納部制御部302から送信されるXML文書主部を受信し格納する。
【0076】
XML文書主部格納部制御部302は、XML文書主部格納部301から送信されるXML文書主部を受信し、これをXML文書結合部306に送信する。また、XML文書主部管理部303から送信されるXML文書主部を受信し、これをXML文書主部格納部制御部302に送信する。
【0077】
XML文書断片格納部311は、XML文書のXML文書断片を格納する。そして、XML文書断片格納部制御部312にXML文書断片を送信し、また、XML文書断片格納部制御部312から送信されるXML文書断片を受信し格納する。
【0078】
XML文書断片格納部制御部312は、XML文書断片格納部311から送信されるXML文書断片を受信し、これをXML文書結合部306に送信する。また、XML文書断片管理部313から送信されたXML文書断片を受信し、これをXML文書断片格納部311に送信する。
【0079】
XML文書結合部306は、読み出し時において、XML文書主部格納部制御部302から送信されるXML文書主部とXML文書断片格納部制御部312から送信されるXML文書断片とを受信し、両者を結合して、XML文書を作成する。例えば、図4のようなXML文書主部と図5のようなXML文書断片を受信し、図3のようなXML文書を作成する。また、作成したXML文書をXML文書送信部307に送信する。
【0080】
XML文書送信部307は、読み出し時において、XML文書結合部306から送信されるXML文書を受信し、これを(例えば、ネットワークを介して)XML文書参照・編集装置1に送信する。
【0081】
XML文書差分受信部308は、書き込み時において、XML文書参照・編集装置1から(例えば、ネットワークを介して)送信されるXML文書の差分を受信し、XML文書差分分離部309に送信する。
【0082】
XML文書差分分離部309は、書き込み時において、XML文書差分受信部308から送信されるXML文書の差分を、XML文書主部の差分とXML文書断片の差分とに分離する。そして、XML文書主部の差分をXML文書主部管理部303に送信し、XML文書断片の差分をXML文書断片管理部313に送信する。
【0083】
XML文書主部管理部303は、書き込み時において、XML文書差分分離部309から送信されるXML文書主部の差分を受信する。また、XML文書主部のエレメントのうち、正式識別子が付与されていないものに対して、識別子生成部304を用いて生成された正式識別子を、付与する。また、XML文書主部の差分を解析し、XML文書の一貫性を崩さないと判断されたもののみを、XML文書主部格納部制御部302に送信する。
【0084】
あるXML文書のXML文書主部は他のXML文書との依存関係を持たないので、XML文書主部の編集については、該あるXML文書に閉じて一貫性の判定を行うだけで済む。なお、XML文書主部の差分を反映した場合に一貫性が保持されるか否かの判定方法については、どのような方法を用いても構わない(公知の方法によって構わない)。
【0085】
あるいは、XML文書主部の編集については、常に一貫性が保持されるものとみなして、一貫性の判定を省き、常に反映するような構成も可能である。
【0086】
XML文書断片管理部313は、書き込み時において、XML文書差分分離部309から送信されるXML文書断片の差分を受信する。XML文書断片の差分に含まれるXML文書断片のエレメントは、識別子を保持しないか、または次のいずれかの識別子を保持する。すなわち、
(1)識別子を保持しない、
(2)正式識別子を保持する、
(3)一時識別子管理部305に登録済みの仮識別子を保持する、
(4)一時識別子管理部305に未登録の仮識別子を保持する、
のいずれかである。
【0087】
上記の(2)以外の場合には、それぞれ、以下のような処理を行う。
【0088】
(1)のようにエレメントが識別子を保持しない場合には、識別子生成部304を用いて生成された正式識別子を付与する。
【0089】
(3)のようにエレメントが一時識別子管理部305に登録済みの仮識別子を保持する場合には、仮識別子を正式識別子に置き換える。
【0090】
(4)のようにエレメントが一時識別子管理部305に未登録の仮識別子を保持する場合には、仮識別子を識別子生成部304を用いて新たに生成された正式識別子に置き換えるのと同時に、今まで付与されていた仮識別子と新たに付与された正式識別子との組を一時識別子管理部305に登録する。
【0091】
また、XML文書断片管理部313は、該XML文書断片の差分を解析し、XML文書断片の差分のうち、XML文書の一貫性を崩さないと判定されたもののみを、XML文書断片格納部制御部312に送信する。
【0092】
この一貫性を保持するか否かの判定を行う際には、XML文書一括管理装置3に現在登録されているXML文書断片と、新たにXML文書一括管理装置3に反映しようとしているXML文書断片とが保持する、所定の情報を用い、差分の反映を実行するかどうか決定する。
【0093】
以下、差分をXML文書断片に反映した場合に、一貫性が保持されているかどうか判定する手続きに関して詳しく説明する。
【0094】
XML文書一括管理装置3に現在登録されているXML文書断片と、新たにXML文書一括管理装置3に反映しようとしているXML文書断片とが保持する、次の4つの情報を用い、差分の反映を実行するかどうか決定する。
(1)前バージョン
(2)現バージョン
(3)最終編集時刻
(4)編集者
XML文書一括管理装置3に現在登録されているXML文書断片が保持する4つの情報は、例えば、図5のテーブルにおける4〜7番目の行に記載されている情報が、これに相当する。
【0095】
XML文書一括管理装置3に新たに反映しようとしているXML文書断片が保持する4つの情報のうち、(1)の前バージョンは、version属性に、(3)の最終編集時刻は、last−modified属性に、それぞれ格納されている。
【0096】
これらの情報を用いて差分の反映が一貫性を保持するかどうかを判定する処理手順例を以下に示す。もちろん、一貫性判定手順には種々のバリエーションが可能である。例えば、これら4つの情報を用いた他の一貫性判定手順だけでなく、これら4つの情報の一部を用いた方法や、これら4つの情報の全部又は一部に他の情報を加えたものを用いた方法など、種々の方法が可能である。
【0097】
図7及び図8に、あるエレメント値の編集が一貫性を維持しているか、崩しているかの判定の手続きの処理手順の一例を示す。
【0098】
まず、XML文書一括管理装置3に登録されているXML文書断片の「バージョン」と、XML文書一括管理装置3に反映しようとしているXML文書断片の「前バージョン」を比較する(ステップS1)。前者の値と後者の値が等しい場合には(ステップS2)、差分の反映が一貫性を維持すると判定して(ステップS9)、終了する。
【0099】
ステップS1の比較で両者が異なっている場合(ステップS2)、XML文書一括管理装置3に登録されているXML文書断片の「前バージョン」と、XML文書一括管理装置3に反映しようとしているXML文書断片の「前バージョン」を比較する(ステップS3)。
【0100】
そして、前者の値と後者の値が等しいならば(ステップS4)、さらに、XML文書一括管理装置3に登録されているXML文書断片の「編集者」と、XML文書一括管理装置3に反映しようとしているXML文書断片の「編集者」を比較する(ステップS5)。
【0101】
そして、前者の値と後者の値が等しいならば(ステップS6)、さらに、XML文書一括管理装置3に登録されているXML文書断片の「最終編集時刻」と、XML文書一括管理装置3に反映しようとしているXML文書断片の「最終編集時刻」を比較する(ステップS7)。
【0102】
前者の最終更新時刻が後者の最終更新時刻よりも早い場合には(ステップS8)、差分の反映が一貫性を維持すると判定して(ステップS9)、終了する。一方、そうでなければ(ステップS8)、一貫性が維持されていないと判定して(ステップS10)、終了する。
なお、ステップS3またはステップS5の比較で両者が異なっていたならば(ステップS4またはステップS6)、一貫性が維持されていないと判定して(ステップS10)、終了する。
【0103】
XML文書の一貫性を維持すると判定されたXML文書断片の差分は、以下の方法で、XML文書断片の管理テーブルに反映する。
【0104】
現バージョンは、XML文書断片エレメントが保持するversion属性の値に1を加えたものに変更する。最終編集時刻は、XML文書断片エレメントが保持するlast−modified属性の値に変更する。編集者は、XML文書断片エレメントの編集者に変更する。XML文書断片の値は、XML文書断片エレメントの保持するテキストに変更する。
【0105】
前バージョンについては、次のようになる。まず、XML文書一括管理装置3に登録されているXML文書断片のバージョンと、XML文書一括管理装置3に反映しようとしているXML文書断片の前バージョンとを比較する。前者の値と後者の値とが等しい場合には、XML文書断片エレメントが保持するversion属性の値に変更し、それ以外の場合には、変更を行わない。
【0106】
次に、XML文書参照・編集装置1に関して説明する。
【0107】
図1に示されるように、XML文書参照・編集装置1は、XML文書一時格納部101、XML文書編集部102、XML文書断片中継部103、一時識別子生成部105、XML文書差分演算部106、XML文書差分送信部107、XML文書受信部108を備えている。
【0108】
XML文書受信部108は、XML文書一括管理装置3から送信されるXML文書を受信し、これをXML文書一時格納部101とXML文書編集部102に送信する。
【0109】
XML文書一時格納部101は、XML文書受信部108が送信するXML文書を受信し格納する。
【0110】
XML文書編集部102は、XML文書一括管理装置3で一括管理されるXML文書の複製を参照し編集する。編集は、XML文書主部の編集とXML文書断片の編集(一方向複製元、一方向複製先、双方向複製元、双方向複製先の追加、削除、変更など)の両方を行う。また、新たに作成したエレメントに一時識別子生成部105を用いて生成された仮識別子を付与する。
【0111】
このXML文書編集部102は、1つのXML文書参照・編集装置1に複数存在し得る。例えば、1つのXML文書参照・編集装置1で複数の文書を参照・編集する場合には、個々の文書に対応して専用にXML文書編集部102が対応する。具体的には、例えば、表示画面上で、ある文書をXML文書一括管理装置3から読み込みあるいは新規の文書を作成するにあたって、個々の文書について、XML文書編集部102の参照・編集ウィンドウが開き、ユーザは、該参照・編集ウィンドウ上で、該当文書を参照・編集するような場合で、この場合、個々のXML文書編集部102は、例えば、必要時に起動された個々のプロセスに相当する。
【0112】
XML文書断片中継部103は、あるXML文書編集部102で編集中のXML文書のmirroredエレメントまたはsharedエレメントを参照するmirrorエレメントまたはshareエレメントを、別のXML文書編集部102で編集中のXML文書中に作成する際に、一方のXML文書編集部102から他方のXML文書編集部102への参照元XML文書断片情報の転送を中継する。具体的には、例えば、あるXML文書編集部102の参照・編集ウィンドウA上で、文書aが編集され、他のXML文書編集部102の参照・編集ウィンドウB上で、文書bが編集されている際に、ユーザが、該参照・編集ウィンドウA上の文書aの複製元となる部分と、その部分を一方向複製元にする指示(あるいは双方向複製元にする指示)をマウスで選択し、この部分をマウスで、ウィンドウB上の文書bの所望の箇所に移動させ貼り付けると、該文書bの該所望の箇所に、該文書aの選択された部分が、一方向複製先として設定される。
【0113】
また、例えば、参照・編集ウィンドウC上で、文書cが編集され、参照・編集ウィンドウD上で、文書dが編集されている際に、ユーザが、該参照・編集ウィンドウC上の文書cのあるエレメント(このエレメントは、他の文書eのmirroredエレメントまたはsharedエレメントを複製元とするmirrorエレメントまたはshareエレメントになっているものとする)を複製元にする指示をマウスで選択し、この部分をマウスで、ウィンドウD上の文書dの所望の箇所に移動させ貼り付けると、該文書dの該所望の箇所に、該文書cの選択された部分が、(文書cの該当エレメントを複製元とするのではなく、その元々の複製元である文書eの該当エレメントを複製元として)一方向複製先として設定されるようにしてもよい。
【0114】
なお、同一の文書内で、上記の操作を行って、同一の文書内の文書断片間に依存関係を付与することも可能である。
【0115】
一時識別子生成部105は、電子文書管理システム中で一意な仮識別子を生成する。生成した仮識別子は、XML文書編集部102において、XML文書のエレメントに付与される。
【0116】
XML文書差分演算部106は、XML文書編集部102から送信されるXML文書とXML文書一時格納部101から送信されるXML文書とを受信し、両者の差分を演算し(この差分がXML文書編集部102で行った編集に相当する)、求めた該差分を、XML文書差分送信部107に送信する。
【0117】
XML文書差分送信部107は、XML文書差分演算部106から送信される差分を受信し、XML文書一括管理装置3に送信する。
【0118】
以下では、本実施形態の各種手順について説明する。
【0119】
まず、XML文書の読み出し時の手順例を示す。
【0120】
図9に、XML文書一括管理装置3に格納されているXML文書を読み出し、XML文書参照・編集装置1に表示するまでの処理手順の一例を示す。
【0121】
XML文書主部をXML文書一括管理装置3のXML文書主部格納部301から読み出す。読み出したXML文書主部は、XML文書主部格納部制御部302を経由して、XML文書結合部306に送信する(ステップS21)。
【0122】
XML文書主部に対するXML文書断片をXML文書断片格納部311から読み出す。読み出したXML文書断片は、XML文書断片格納部制御部312を経由して、XML文書結合部306に送信する(ステップS22)。
【0123】
XML文書結合部306において、受信したXML文書主部とXML文書断片を結合し、XML文書を作成する。作成したXML文書は、XML文書送信部307に送信する(ステップS23)。
【0124】
XML文書送信部307において、受信したXML文書をXML文書参照・編集装置1のXML文書受信部108に送信する(ステップS24)。
【0125】
XML文書参照・編集装置1のXML文書受信部108において、受信したXML文書の複製を作成し、XML文書一時格納部101に格納する。受信したXML文書は、XML文書編集部102に送信する(ステップS25)。
【0126】
XML文書編集部102において、受信したXML文書を表示する(ステップS26)。
【0127】
次に、XML文書の編集時の手順例を示す。
【0128】
図10及び図11に、XML文書参照・編集装置1でXML文書の編集を行う際の処理手順の一例を示す。
【0129】
ユーザがXML文書に対して行おうとしている編集を受け付ける(ステップS31)。なお、ユーザがこれ以上の編集を行わない場合には終了する。
【0130】
ユーザがXML文書に対して行おうとしている編集内容を解析し、XML文書の文書構造を維持する編集であるかどうか判定する(ステップS32)。
【0131】
ここで、文書構造を崩している場合には(ステップS33)、ユーザが行おうとしている編集を否認し、ステップS31に戻る。
【0132】
一方、文書構造を維持している場合には(ステップS33)、ユーザが行おうとしている編集を承認し、次いで、編集内容がエレメントの新規作成であるかどうか判定する(ステップS34)。
【0133】
そして、新規作成以外の場合には(ステップS35)、何もせずに、ステップS31に戻るが、新規作成である場合には(ステップS35)、さらに、新規作成されたエレメントがmirroredエレメントまたはsharedエレメントであるかどうか判定する(ステップS36)。
【0134】
ここで、mirroredエレメントまたはsharedエレメントである場合には(ステップS37)、一時識別子生成部105を用いて一意な仮識別子を作成し、エレメントに付与する(ステップS38)。
【0135】
一方、ステップS36でmirroredエレメントまたはsharedエレメント以外の場合には(ステップS37)、新規作成されたエレメントがmirrorエレメントまたはshareエレメントであるかどうか判定する。そして、mirrorエレメントまたはshareエレメントである場合には(ステップS40)、XML文書断片中継部103経由で一方向複製元または双方向複製元の情報(識別子、version属性、last−modified属性)を取得し、mirrorエレメントまたはshareエレメントに付与する(ステップS41)。一方、mirrorエレメントまたはshareエレメント以外である場合には(ステップS40)、何もせずに、ステップS31に戻る。
【0136】
次に、XML文書の書き込み時の手順例を示す。
【0137】
図12〜図15に、編集が終了したXML文書をXML文書一括管理装置3に反映するまでの処理手順の一例を示す。
【0138】
編集が終了したXML文書をXML文書参照・編集装置1のXML文書編集部102からXML文書差分演算部106に送信する(ステップS51)。
【0139】
編集を行う前のXML文書をXML文書一時格納部101からXML文書差分演算部106に送信する(ステップS52)。
【0140】
XML文書差分演算部106において、編集の前後のXML文書を受信し、両者の差分を演算する(ステップS53)。演算した差分は、XML文書差分送信部107に送信する。
【0141】
XML文書差分送信部107において、受信した差分をXML文書一括管理装置3のXML文書差分受信部308に送信する(ステップS54)。
【0142】
XML文書一括管理装置3のXML文書差分受信部308において、受信した差分をXML文書差分分離部309に送信する(ステップS55)。
【0143】
XML文書差分分離部309において、受信した差分をXML文書主部に関する差分とXML文書断片に関する差分とに分離する(ステップS56)。
【0144】
未処理差分が存在するか否か判定する(ステップS57)。
【0145】
ここで、未処理差分が存在しない場合には(ステップS58)、終了する。
【0146】
一方、未処理の差分が存在する場合には(ステップS58)、その差分がXML文書主部に関する差分であるか、XML文書断片に関する差分であるか判定する(ステップS59)。
【0147】
そして、XML文書主部に関する差分である場合には(ステップS60)、差分をXML文書主部管理部303に送信し(ステップS61)、ステップS71へ進み、XML文書主部に関する差分の処理を行う。一方、XML文書断片に関する差分である場合には(ステップS60)、差分をXML文書断片管理部313に送信し(ステップS62)、ステップS81へ進み、XML文書断片に関する差分の処理を行う。
【0148】
第1に、XML文書主部に関する差分の処理について説明する。
【0149】
まず、差分をXML文書主部に反映した場合に、一貫性が維持されるかどうか判定する(ステップS71)。
【0150】
ここで、維持されない場合には(ステップS72)、ユーザが行った編集のうちこの差分で記述される部分を否認し(ステップS73)、ステップS57に戻る。
【0151】
一方、維持される場合には(ステップS72)、まず、ユーザが行った編集のうちこの差分で記述される部分を承認し(ステップS74)、差分が識別子を保持しないエレメントを含むならば(つまり、差分がエレメントの新規作成であるならば)(ステップS75)、識別子生成部304を用いて一意な正式識別子を作成し、エレメントに付与し(ステップS76)、そうでなければ(ステップS75)、この処理は行わない。
【0152】
そして、差分をXML文書主部格納部制御部302経由でXML文書主部格納部301に格納されているXML文書主部に反映し(ステップS77)、ステップS57に戻る。
【0153】
第2に、XML文書断片に関する差分の処理について説明する。
【0154】
まず、差分をXML文書断片に反映した場合に、一貫性が維持されるかどうか判定する(ステップS81)。
【0155】
ここで、維持されない場合には(ステップS82)、ユーザが行った編集のうちこの差分で記述される部分を否認し(ステップS83)、ステップS57に戻る。
【0156】
一方、維持される場合には(ステップS82)、まず、ユーザが行った編集のうちこの差分で記述される部分を承認し(ステップS84)、差分が仮識別子を保持または参照するエレメントを含むならば(つまり、差分がmirroredエレメントまたはsharedエレメントの新規作成である、またはそれらを一方向複製元または双方向複製元とするmirrorエレメントまたはshareエレメントの新規作成であるならば)(ステップS85)、仮識別子が一時識別子管理部305に登録されていないものについては、識別子生成部304を用いて一意な正式識別子を作成して、仮識別子と正式識別子の組を一時識別子管理部305に登録し、また、エレメントが保持または参照する仮識別子を正式識別子に変更する(ステップS86)。そうでなければ(ステップS85)、この処理は行わない。
【0157】
そして、差分をXML文書断片格納部制御部312経由でXML文書断片格納部311に格納されているXML文書断片に反映し(ステップS87)、ステップS57に戻る。
【0158】
ところで、一貫性が維持されないと判定された場合には、システムで強制的に編集を破棄してしまうだけでなく、様々な対処方法が可能である。
【0159】
例えば、一貫性が維持されないと判定された場合に、その旨及び該当エレメント等を利用者へ通知し(例えば、XML文書参照・編集装置1の該当するXML文書編集部102の参照・編集ウィンドウ上に表示させるようにし)、該利用者が判断して、該編集を破棄すること、あるいは該編集をXML文書一括管理装置3へ反映させることを決定し、その指示をXML文書一括管理装置3へ通知し、XML文書一括管理装置3は、該指示に従って、該編集を破棄し、あるいは反映させるようにしてもよい。
【0160】
また、例えば、一貫性が維持されないと判定された場合に、XML文書一括管理装置3にて、該編集を破棄し反映させなかった版と、該編集を反映させた版との両方を保持しておき、利用者が後にいずれを採用するかを選択できるようにしてもよい。この場合、XML文書一括管理装置3は、後で利用者が選択した際に、該編集を破棄した文書、あるいは反映させた文書に、版を確定させるようにしてもよい。
【0161】
また、例えば、1つの複製元のエレメントと、複数の複製先のエレメントとのグループにおいて、特定の複製先のエレメントに係る編集について、一貫性が維持されないと判定された場合に、該一貫性が維持されないと判定された特定の複製先のエレメントのみ、該グループから外して(該エレメントを他のエレメントとの間に依存関係を持たないエレメントに変更し、あるいは該エレメントを削除して)、該グループに属する残りの1つの複製元のエレメントと1又は複数の複製先のエレメントの間の依存関係の一貫性を保持するようにしてもよい。
【0162】
また、例えば、矛盾を生じた操作のうち、絶対時間の早い方を採用し、遅い方を棄却することによって、矛盾を回避するようにしてもよい。
【0163】
さて、以下では、具体例を用いて本実施形態を説明する。
【0164】
XML文書一括管理装置3に格納されるXML文書をXML文書参照・編集装置1に読み出し、該XML文書をXML文書参照・編集装置1で編集し、これをXML文書一括管理装置3に反映させる際に、XML文書が変化する様子を、具体的なXML文書に即して説明する。
【0165】
XML文書主部格納部301に図16に示したXML文書主部(XML文書識別子はschedule−1であるとする)と図17に示したXML文書主部(XML文書識別子はmemo−1であるとする)(図4の例と同じ内容である)が格納されているとし、XML文書断片格納部311に図5に示したXML文書断片が格納されているとする。
【0166】
また、同時に2台のXML文書参照・編集装置(以下、一方をa、他方をbと呼ぶものとする)で編集を行うものとする。また、XML文書参照・編集装置aを使う編集者が「木村」、XML文書参照・編集装置bを使う編集者が「鳥井」であるとする。
【0167】
ここでは、時刻“2001/9/30 20:00:00”に図16に示したXML文書主部をXML文書参照・編集装置aに読み出し、時刻“2001/9/30 20:00:30”に図17に示したXML文書主部をXML文書参照・編集装置bに読み出したとする。
【0168】
図16に示したXML文書主部をXML文書参照・編集装置aに読み出した結果得られるXML文書を図18に示した。
【0169】
分かりやすくするために、shared,mirroredエレメント部に下線を引いてあるが、これはあくまで分かりやすいように引いてあるのであり、実際のXML文書に下線が引かれる訳ではない。
【0170】
図16に示したXML文書主部には、id=“es9”を保持するmirroredエレメントとid=“es5”を保持するsharedエレメントの2つのXML文書断片が含まれる。そこで、XML文書断片格納部311に格納してある図5の管理テーブルから2つのXML文書断片の情報を読み出し、XML文書結合部306において、XML文書主部とXML文書断片の結合を行う。この結果が、図18に示したXML文書(図2の例と同じ内容である)である。
【0171】
同様に、図17に示したXML文書をXML文書参照・編集装置bに読み出した結果得られるXML文書を図19に示した。
【0172】
図17に示したXML文書主部には、id=“es11”を保持するmirrorエレメントとid=“es12”を保持するshareエレメントの2つのXML文書断片が含まれる。そこで、XML文書断片格納部311に格納してある図5の管理テーブルから2つのXML文書断片の情報を読み出し、XML文書結合部306において、XML文書主部とXML文書断片の結合を行う。この結果が、図19に示したXML文書(図3の例と同じ内容である)である。
【0173】
引き続き、XML文書参照・編集装置aにおいて、編集者「木村」が、図18に示したXML文書を時刻“2001/9/30 20:10:00”に編集し、図20に示したXML文書が得られたとする。具体的には、会議の開催場所を“第3会議室”から“特別会議室”に変更している。
【0174】
編集が終了したXML文書を時刻“2001/9/30 20:20:00”にXML文書一括管理装置3に反映するとする。図20に示したXML文書をXML文書一括管理装置3に反映する際には、XML文書差分演算部106において、図18に示した編集を行う前のXML文書と図20に示した編集を行った後のXML文書の差分を演算し、演算結果をXML文書一括管理装置3へ送信する。
【0175】
上記編集が行われた部分は、図21(a)に示した通りであり、上記編集を行った結果演算される差分は、図21(b)に示した通りである。
【0176】
求められた差分は、XML文書参照・編集装置aからXML文書一括管理装置3に送信され、XML文書差分分離部309において、XML文書主部に関する差分とXML文書断片に関する差分とに分離される。
【0177】
この例では、XML文書主部に関する差分は存在せず、図21に示したXML文書断片に関する差分のみが存在する。この差分をXML文書一括管理装置3に反映させる場合に一貫性を維持するかどうか、XML文書断片管理部313で判定する。
【0178】
XML文書識別子“schedule−1”を保持するXML文書のエレメント識別子“es5”を保持するXML文書断片は、現在XML文書一括管理装置3に登録されているものが、前バージョン=“1”、現バージョン=“2”、最終更新時刻=“2001/9/28 13:30:10”、編集者=“鳥井”、XML文書断片の値=“第3会議室”であるのに対して、XML文書参照・編集装置aで編集された結果は、前バージョン=“2”、最終更新時刻=“2001/9/30 20:10:00”、編集者=“木村”、XML文書断片の値=“特別会議室”である。
【0179】
これは一貫性を維持する編集と判断されるので、XML文書一括管理装置3で管理されるXML文書断片を更新する。具体的には、図22に示す通り、管理テーブルが変更される。なお、ここで、バージョン番号が増えている。
【0180】
次に、XML文書参照・編集装置bにおいて、鳥井が、図19に示したXML文書を時刻“2001/9/30 20:30:00”に編集し、図23に示したXML文書が得られるとする。具体的には、会議の開催場所を“第3会議室”から“講堂”に変更している。
【0181】
編集が終了したXML文書を時刻“2001/9/30 20:40:00”にXML文書一括管理装置3に反映するとする。図23に示したXML文書をXML文書一括管理装置3に反映する際には、XML文書差分演算部106において、図19に示した編集を行う前のXML文書と図23に示した編集を行った後のXML文書の差分を計算し、演算結果をXML文書一括管理装置3に送信する。
【0182】
上記編集が行われた部分は、図24(a)に示した通りであり、上記編集を行った結果演算される差分は、図24(b)に示した通りである。
【0183】
求められた差分は、XML文書参照・編集装置bからXML文書一括管理装置3に送信され、XML文書差分分離部309において、XML文書主部に関する差分とXML文書断片に関する差分とに分離される。
【0184】
この例では、XML文書主部に関する差分は存在せず、図24に示したXML文書断片に関する差分のみが存在する。この差分をXML文書一括管理装置3に反映させる場合に一貫性を維持するかどうか、XML文書断片管理部313で判定する。
【0185】
XML文書識別子“schedule−1”を保持するXML文書のエレメント識別子“es5”を保持するXML文書断片は、現在XML文書一括管理装置3に登録されているものが、前バージョン=“2”、現バージョン=“3”、最終更新時刻=“2001/9/30 20:10:00”、編集者=“木村”、XML文書断片の値が“特別会議室”であるのに対して、XML文書参照・編集装置bで編集された結果は、前バージョン=“2”、最終更新時刻=“2001/9/30 20:30:00”、編集者=“鳥井”、XML文書断片の値=“講堂”である。
【0186】
これは一貫性を維持しない編集と判断されるので、更新は拒否され、XML文書一括管理装置3で管理されるXML文書断片は変更されない。
【0187】
さて、これまでは、電子文書としてXML文書を例にとって説明してきたが、もちろん、本発明は、HTML文書など、他の構造化文書にも適用可能である。
【0188】
(非構造化文書に対する本発明の適用例)
また、本発明は、構造化文書だけでなく、非構造化文書にも適用可能である。以下では、本発明を非構造化文書に適用する場合について説明する。
【0189】
なお、以下においても、基本的には、これまで説明してきた文書断片間の一方向複製や双方向複製などの依存関係を管理する機構や、一貫性を維持するための機構などを用いるものである。ただし、非構造化文書は、構造化文書と異なって、文書がもともと有する構造を利用して、文書断片間の依存関係を管理するための情報を埋め込むことができないので、例えば、非構造化文書に対して、依存関係を管理するための情報を埋め込むための構造を付与するとともに、該非構造化文書をその本来の目的での利用に供するにあたっては、該付与した依存関係を管理するための情報を埋め込むための構造を除去し、もとの非構造化文書に戻して提供する。
【0190】
さて、応用の一つとして、UnixワークステーションやPC Unixのような計算機が多数設置されたネットワークシステムを考える。ここで、本発明を適用した依存情報管理エンジンと、依存情報管理エンジンをサポートする編集機能の設置により、管理が容易になることを示す。
【0191】
ここでは、前提として、既存のシステムやプログラムを活用することとする。そのため、できるだけ既存のシステムの文法や文脈を阻害しない機構が望ましい。このような場合でも依存情報管理エンジンは、システムを阻害せず以下の方法で設置が可能である。
【0192】
まず、依存情報管理エンジンと文書DBを用意する。この依存情報管理エンジンと文書DBは、ネットワーク上に最低一組存在すれば良い。もちろん、ネットワーク上の管理上の都合により、複数必要な場合もある。その場合は、依存情報管理エンジン(内のメッセージ処理部)が互いに異なる依存情報管理エンジン(内の保留処理キュー)にメッセージを送信できるように構成する。
【0193】
単一の文書に対して複数の依存関係が存在する場合、複数の依存情報管理エンジンを利用する必要がある。この場合、依存情報管理エンジン内で、文書断片を抽出する部分が他の依存情報管理エンジンと通信する機構を持つ方法や、文書断片を抽出する部分を文書編集側(依存情報管理エンジンの外部)に設け、依存情報管理エンジンとの通信は文書断片単位で行う方法が考えられる。
【0194】
さて、ここで問題となるのは既存のシステムの文法、特に可読性の高いテキストファイルとしての設定ファイルである。この設定ファイルは平易なテキストファイルとして作られ、任意のエディタで容易に編集可能である。
【0195】
一方、依存情報管理エンジンは、入力として与えられる文書から文書断片を抽出できる必要がある。ここで、構造化文書の場合は、XMLタグ等をマーカーとして利用することで文書断片の抽出が可能であった。ところが、ここで与えられるのは通常のテキストファイルで、その上で特定の文法を仮定することは非現実的である。
【0196】
また、文書操作用のGUIを用意するとしても、ワークステーションにおいてGUIは一般的ではなく、エディタすら必要に応じて使い分けたり、管理者によって好みがあったりと、簡単に統一できる状態ではない。
【0197】
一方、CVSやRCSのような版管理システムはシステム管理において必須とされ、設定ファイルの変更を記録するために広く用いられている。これは皆で同じシステムを同じように使わなければ意味が無く、操作性を簡単に統一できる。
【0198】
従って、依存情報管理エンジンへのインタフェースを版管理システムが行う構成が最も可用性が高いと言える。ただし、このままでは依存情報管理エンジンが利用する依存情報のマーカーが流出してしまい、既存のプログラムの動作に支障が生ずる。
【0199】
そこで、図25のように、版管理システムにおいて1つの文書につき2相用意する。1つは、依存情報を含み、文書の内容を書き換え可能としたもので、これを「編集相」と呼ぶものとする。もう1つは、編集相から依存情報を除去し、文書の内容の読み出しのみを可能としたもので、これを「読み出し相」と呼ぶものとする。
【0200】
管理者は、システム管理のために設定ファイルを編集する際は、版管理システムに対して編集相のファイルを要求する。
【0201】
編集相において、依存情報管理エンジンが理解できる形での文法を既存のプログラムの文法に加えて利用する。既存プログラム文法では、プログラムの動作を設定するファイルの一部に依存情報管理エンジン文法による文書断片が記載される。このファイルは、版管理システムに渡され(COMMIT)、その際に依存情報管理エンジンが起動され、依存情報のチェックを行う。また、管理者は、依存情報管理エンジンの文法を理解するものとする。この文法を直接・あるいは支援ソフトの助けを借りて記述することで、設定ファイル中の依存関係を編集できる。
【0202】
管理者は、編集を終えると、編集相のファイルを版管理システムに登録(COMMIT)した後、読み出し相ファイルを要求する。
【0203】
読み出し相ファイルからは、依存情報に関する記述は一切排除され、既存のプログラムの文法に従う。
【0204】
このように2相管理機構を備える版管理システムにより、既存システムの動作を阻害することなく、本発明を適用した依存情報管理エンジンを利用することが可能になる。
【0205】
以下、このような文書管理について説明する。
【0206】
図26に、この場合の電子文書管理システムの構成例を示す。図26に示されるように、本電子文書管理システムは、文書DB1001、文書管理要求受付部1002、文書断片抽出部1003、前処理部1004、文書編集部1031、文書参照部1032、文書断片DB1021、新規文書断片登録部1022、既出断片更新検出部1023、整合性検査部1024、メッセージ処理部1025を含む。
【0207】
文書断片DB1021、新規文書断片登録部1022、既出断片更新検出部1023、整合性検査部1024、メッセージ処理部1025を含む部分を、依存情報管理エンジン1000と呼ぶ。
【0208】
前処理部1004、文書編集部1031、文書参照部1032が、例えばサーバ側(あるいは、XML文書一括管理装置側)に搭載され、それ以外が例えばクライアント側(あるいは、文書参照・編集装置側)に搭載されてもよい。また、文書編集部1031、文書参照部1032が、例えばクライアント側(あるいは、文書参照・編集装置側)に搭載され、それ以外が例えばサーバ側(あるいは、XML文書一括管理装置側)に搭載されてもよい。
【0209】
もちろん、上記以外の構成要素の配置方法も可能である。
【0210】
また、依存情報管理エンジン1000は、システム内に1つ設置する構成、システム内部における文書1つ1つに設ける構成、利用者毎に設ける構成、それらの中間的な形態による構成など、変形例が考えられる。文書DB1001等についても同様である。そして、それらの組合せ、すなわち文書と依存情報管理エンジン1000や文書DB1001との関係についても、いろいろな変形例が考えられる。
【0211】
次に、図27を参照しながら、利用者による新規文書の登録について説明する。図27は、この場合におけるデータの流れを示している。
【0212】
文書登録におけるデータの流れは、以下の通りである。
・文書編集部1031による文書の登録要求を行う。
・文書管理要求受付部1002による文書DB1001の選択と、文書断片抽出部1003への監査依頼を行う。
・文書断片抽出部1003による監査を行う。
・各断片に対して、依存情報管理エンジン1000による処理を行う。
・文書管理要求受付部1002に処理結果が戻されるので、処理された文書を文書DB1001に登録する。
【0213】
次に、図28及び図29を参照しながら、文書の取り出しについて説明する。
【0214】
図28は、文書を編集可能な状態(編集相)で取り出す場合のデータの流れを示している。
図28における処理の流れは、以下の通りである。
(1)文書編集部1031から文書の識別子を指定して、文書管理要求受付部1002に要求する。
(2)文書管理要求受付部1002では、対応する文書DB1001を解決し、対応する文書を文書DB1001に要求し、取得する。
(3)文書管理要求受付部1002は、取得した文書を文書断片抽出部1003に渡す。
(4)文書断片抽出部1003は、渡された文書から抽出したそれぞれの断片を、対応する依存情報管理エンジン1000に渡し、結果を得る。得た結果は、渡された文書に反映し、文書管理要求受付部1002に返却する。
(5)文書管理要求受付部1002から文書編集部1031に文書が渡される。
【0215】
一方、図29は、編集はできないけれども後方互換性の無い相互参照に関するメタ情報を削除した形(読み出し相)で情報を取り出す場合のデータの流れを示している。
【0216】
図29における処理の流れは以下の通りである。
(1)文書参照部1032からの文書の識別子を指定して、文書管理要求受付部1002に要求する。ここで、読み出し専用フラグを指定する。
(2)文書管理要求受付部1002では、対応する文書DB1001を解決し、対応する文書を文書DB1001に要求し、取得する。
(3)文書管理要求受付部1002は、取得した文書を文書断片抽出部1003に渡す。
(4)文書断片抽出部1003は、渡された文書から抽出したそれぞれの断片を、対応する依存情報管理エンジン1000に渡し、結果を得る。得た結果は、渡された文書に反映し、文書管理要求受付部1002に返却する。
(5)文書管理要求受付部1002から前処理部1004が呼び出され、文書が渡される。
(6)前処理部1004は、依存情報等のメタ情報を文書から削除し、文書参照部1032に返す。
【0217】
次に、図30を参照しながら、編集相で取り出した文書の編集結果の再登録について説明する。図30は、この場合のデータの流れを示している。
【0218】
再登録におけるデータの流れは、以下の通りである。
・文書編集部1031による文書の更新要求を行う。
・文書管理要求受付部1002による文書DB1001の選択と、文書断片抽出部1003への監査依頼を行う。
・文書断片抽出部1003による監査を行う。
・各断片に対して、依存情報管理エンジン1000による処理を行う。
・文書管理要求受付部1002に処理結果が戻されるので、処理された文書を文書DB1001に登録する。
【0219】
以下、図26の電子文書管理システムにおけるそれぞれの構成要素(あるいは、コンポーネント)について説明する。
【0220】
文書DB1001は、文書を格納する。
【0221】
文書編集部1031の動作は、以下の通りである。
(1)新規文書登録の場合には、ユーザから文書登録依頼を受け付け、文書を文書管理要求受付部1002に送付する(「文書登録」)。
(2)文書更新の場合には、ユーザから文書更新依頼を受け付け、文書を文書管理要求受付部1002に送付する(「文書更新」)。
(3)文書取得の場合には、ユーザから文書取得依頼を受け付け、文書取得要求を文書管理要求受付部1002に送付し、文書管理要求受付部1002から編集相の文書を受信する。
【0222】
前処理部1004は、読み出し相の文書取得の場合に、文書管理要求受付部1002から編集相の文書を受信し、該文書から依存情報等のメタ情報を削除して、読み出し相の文書とし、これを文書参照部1032に送信する。
【0223】
文書参照部1032は、ユーザから文書取得依頼を受け付け、文書取得要求を文書管理要求受付部1002に送付し、前処理部1004から読み出し相の文書を受信する。
【0224】
文書管理要求受付部1002の動作は、以下の通りである。
【0225】
(1)文書編集部1031からの文書送付を受けた場合には、次のようになる。
(a)送付された文書を受け付け、必要ならば所定の機能によって、対応する文書DB1001を解決する。
(b)文書を文書断片抽出部1003に送る。
(c)文書断片抽出部1003から文書が戻り次第、対応する文書DB1001に文書を登録する。
【0226】
(2)文書編集部1031あるいは文書参照部1032からの文書取得要求を受けた場合には、次のようになる。
(a)必要があれば所定の機能によって、対応する文書DB1001を解決する。
(b)文書DB1001から文書を取得する。
(c)文書を文書断片抽出部1003に渡す。
(d)文書断片抽出部1003による処理結果を受信する。
【0227】
(e)文書取得要求時に読み出し専用フラグが与えられていれば、前処理部1004に文書を返し、前処理部1004が文書参照部1032に処理された文書を渡す。そうでなければ、文書編集部1031に文書を返す。
【0228】
文書断片抽出部1003の動作は、以下の通りである。
(1)文書を監査して、文書断片を抽出する。
(2)それぞれの断片に対して、新規断片(文書断片に対応する依存情報管理エンジン1000が記述されていない)か、既出断片(文書断片に対応する依存情報管理エンジン1000が記述されている)かをチェックする。新規断片の場合には、新規文書断片として、所定の機能によって、その断片を管理する依存情報管理エンジン1000を求め、その依存情報管理エンジン1000に断片を渡す。既出断片の場合には、断片に記述されている依存情報管理エンジン1000を発見し、その依存情報管理エンジン1000に断片を渡す。その後、断片に対して加えられた操作を反映した結果を依存情報管理エンジン1000から受け取り、文書に反映させる。
(3)監査が終了した文書を文書管理要求受付部1002に返却する。
【0229】
依存情報管理エンジン1000の各部分(文書断片DB1021、新規文書断片登録部1022、既出断片更新検出部1023、整合性検査部1024、メッセージ処理部1025)については、以下の通りである。
【0230】
文書断片DB1021は、文書断片を格納する。
【0231】
新規文書断片登録部1022は、文書断片抽出部1003から与えられた新しい文書断片を文書断片DB1021に登録する。
【0232】
既出断片更新検出部1023は、文書断片抽出部1003から文書断片を与えられる。ここで、文書断片抽出部1003から与えられた文書断片を「新断片」、文書断片DB1021にある新断片に対応する文書断片を「旧断片」と呼ぶものとする。既出断片更新検出部1023は、新断片を整合性検査部1024に渡す。次いで、文書断片DB1021から、旧断片の保留処理キュー(図示せず)を取得(lock)する。保留処理キューが空になるまで、「保留処理それぞれを引数として、メッセージ処理部1025を呼び出す」という処理を行う。そして、保留処理キューを解放(unlock)する。
【0233】
整合性検査部1024は、旧断片と与えられた新断片とを比較する。もし内容あるいは依存情報が更新されていたら、その更新をメッセージ化して、保留処理キューの末尾に追加する。更新メッセージには、旧断片、新断片それぞれの内容と更新日時、更新者が含まれる。
【0234】
メッセージ処理部1025は、与えられたメッセージに対応する操作を旧断片に対して行い、その結果を文書断片DB1021に還元する。ただし、メッセージおよび操作に対して、次の処理を行う。
(i)操作によって矛盾が発生した場合は、その矛盾が発生したメッセージより後に存在するメッセージの送信元の文書の依存関係がある文書断片の保留処理キューに対して、矛盾を通知する。
(ii)依存関係が存在する断片が文書断片DB1021に記述されている場合は、その断片の保留処理キューに対して更新メッセージの複製を送信する。
(iii)矛盾発生を示すメッセージが存在した場合は、メッセージ処理部1025によって矛盾を解消する。解消のアルゴリズムはシステムの既定値として事前に与えておくものとする。アルゴリズムの例として、先に発生した操作を優先させるアルゴリズム、データを併記した形で矛盾を文書化し、ユーザに矛盾の解消を任せるアルゴリズム等がある。なお、矛盾解消のために操作が取り消された場合は、ユーザに電子メール等の外部手段によって取り消しを通知する事が望ましい。
【0235】
なお、保留処理キューの更新を文書編集部1031が監視することによって、現在登録されている文書断片とその断片に対する操作を監視することが可能である。具体的な手法については、一般的な遠隔手続き呼び出しを用いることで可能である。
【0236】
以下では、具体例を用いて説明する。
【0237】
ここでは、具体例として、あるWWWページの管理ファイルを示す。
【0238】
該あるWWWページには、{tree,kimura,doi,xyz}というアカウントで示される4人の管理者にのみアクセスを許すものとする。
【0239】
次のファイルは、ApacheというWWWサーバにおけるアクセス制限の設定例である。
【0240】
Figure 0003934965
また、このサーバの運用情報が定期的に送信されるアカウントは、以下のようなファイルでメールリストの形で管理されている。ここでは、sendmail等で利用されるaliasesファイルを例にした。
【0241】
Figure 0003934965
ここで、このページを見ることができる管理者と、サーバの運用情報を受け取る管理者は、同じであるとする。この場合、mirror関係を以下のように記述する。もちろん、この記法は、文書断片抽出部1003、文書編集部1031および前処理部1004が共有していればよく、どのような記法を取っても等価である。
【0242】
次のファイルは、アクセス制限をmirrorで記述した例である。
【0243】
Figure 0003934965
また、次のファイルは、メールリストにmirrordを施した例である。
【0244】
Figure 0003934965
なお、ここでは、mirror/mirrordのエスケープ記号(通常の文脈と異なる解釈を要求する記号)として、
#/.../
を用いた。同シーケンスのテキストが既存の文脈に登場する場合は、
#//...//
の形式で文書DB1001に格納し、文書編集部1031および前処理部1004にて、
#/.../
の形式に変換すればよい。
【0245】
また、idref属性にはURLの形式を用い、この場合は、“server.name.example”というドメイン名のサーバ上に存在する、“/etc/aliases”というファイルのブロック“fe63c94a”が参照先である。
【0246】
さて、ここで、xyzのアカウントで示される管理者が、異動等により管理者グループから離れることになったとする。そのため、運用情報のメールの受信を提出するためにメールリストを編集し、版管理システムを用いCOMMITする。このとき、対応するWWWページのアクセス制限は、mirror関係により更新される。
【0247】
本システムは、例えば、上記の例で示した通り、複数の資源に対するきめ細かなアクセス制御を実現しなければならないときに最も効果を発揮する。もちろん、IPアドレスやディレクトリ・パス、WWWページのコンテンツ等、幅広い情報に応用可能である。
【0248】
(refer)
さて、これまでは、依存関係についてshareやmirrorを中心に説明してきたが、以下では、refer(参照)について説明する。
【0249】
すなわち、これまで説明したきたmirrorの変化例として、refer関係が考えられる。refer関係とmirror関係との相違は、mirror関係においては、一方向複製元となるmirroredエレメントのデータが変更された場合に、一方向複製先となるmirrorエレメントのデータを自動的に変更するものであったが、参照元となるreferredエレメントのデータの変更に際して、参照先となるreferエレメントのデータは自動的な変更を受けず、参照先となるreferエレメント側に対して、参照元となるreferredエレメント側でデータの変更が行われた旨の通知がなされるだけである、という点である。
【0250】
もちろん、このrefer関係は、図1のシステム例にも、図26のシステム例にも適用可能である。
【0251】
refer関係の利点は、利用者がそのデータが変更されたと明示的に気がつくことができる点である。
【0252】
例えば、急に打合せの会議室が変更された場合、会議室の打合せ場所の変更はデータの変更ではなくて、実際の利用者のスケジュールに対する意識が変更されなければいけない。この場合、refer関係を利用すことにより利用者が変更に気がつき、意識的に最新情報を取得し直すという作業により利用者の意識が更新されるという効果を得ることができる。
【0253】
また、他の例の一つとして、分散システムの管理項目の一つとしてmirror関係による他のデータの参照を行っていた場合、データの変更がシステムに思わぬ余波を与えることが考えられる。例えば、システムの防御装置に対するアクセスを許可するアカウントのリストと、システムの防御ポリシを策定する権限を持たせるアカウントのリストをmirror関係にしておくと、防御装置の保守に来た外部の業者がそのためにアクセス許可を得て、突然防御ポリシーを変更する権限を持ちセキュリティに重大な損失を与える場合も考えられる。これに対して、refer関係ならば、その文書にアクセスした段階で変更内容を受け入れるか、拒絶して依存関係を断ち切るかを利用者(この場合はシステム管理者)が選択できるので、このような事故の発生を抑える効果が得られる。
【0254】
refer関係は、mirror関係に対してrefer修飾子を与えることによって行うことができる。この場合、refer修飾子は、mirror要素のrefer属性として与えられる。
【0255】
refer属性は、以下のような値のうちの1つを持つが、システムの拡張によってrefer属性の値が下記以外の値になることも考えられる。
1. NOTIFY_UPDATE
2. NOTIFY_ACKNOWLEDGE_UPDATE
3. NOTIFY_ONLY
4. NOTIFY_EXTACK
上記の1では、更新と同時に、データ自体を更新する。ただし、refer=“NOTIFY_UPDATE”属性を与えられたmirrorが内容の変更を検知した場合、refer_dirty属性を与える。文書編集部1031は、refer_dirty属性を持つmirrored要素において、その要素の内容が更新されたことを利用者に明示する。明示の手法にはダイアログで示すか、色や下線によって示す等が考えられる。
【0256】
2では、参照元が更新してもデータの更新は行わない。1と同様にrefer_dirty属性が与えられるが、データの更新は文書編集部1031の利用者による明示的な許可(ダイアログボックス等)が必要となる。
【0257】
3は、更新があった旨は表示するが、mirror要素の内容は全く変更しない。
【0258】
4は、更新があった場合に電子メール等の外部手段を用いて変更を利用者に通知する。これは、2と同様の動作を行うが、refer_dirty属性が与えられた要素の更新許可は、電子メールを用いる。例えば、図31に示すように、メッセージ処理部1025が外部手段へのアクセスを行うようにしてもよい。
【0259】
また、これまでの説明においては、3以上のエレメント間で依存関係を持つ場合には、ある1つのエレメントを複製元とし、他の2以上のエレメントを該ある1つのエレメントを複製元とする複製先のエレメントとする場合について説明したが、もちろん、その他の形態も可能である。
【0260】
例えば、エレメントaを複製元、エレメントbをこれに対する複製先とし、次いで、エレメントbを複製元、エレメントcをこれに対する複製先とし、さらに、エレメントcを複製元、エレメントdをこれに対する複製先とし、…、というように、連鎖的に依存関係を付与できるようにする構成も可能である。
【0261】
また、例えば、エレメントaを複製元、エレメントbをこれに対する複製先とし、次いで、エレメントbを複製元、エレメントcをこれに対する複製先とし、さらに、エレメントcを複製元、エレメントdをこれに対する複製先とするとともに、エレメントcを複製元、エレメントeをこれに対する複製先とし、…、というように、直線的な連鎖だけでなく、途中で枝分かれするような依存関係を付与できるようにする構成も可能である。
【0262】
なお、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0263】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0264】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0265】
【発明の効果】
本発明によれば、文書間の依存関係を効果的に管理することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る電子文書管理システムの構成例を示す図
【図2】同実施形態におけるXML文書の一例を示す図
【図3】同実施形態におけるXML文書の一例を示す図
【図4】同実施形態におけるXML文書のXML文書主部の一例を示す図
【図5】同実施形態におけるXML文書のXML文書断片を管理するためのXML文書断片管理テーブルの一例を示す図
【図6】同実施形態における正式識別子と仮識別子との対応を管理するための識別子対応管理テーブルの一例を示す図
【図7】同実施形態における一貫性維持判定手続きの処理手順の一例を示すフローチャート
【図8】同実施形態における一貫性維持判定手続きの処理手順の一例を示すフローチャート
【図9】同実施形態におけるXML文書一括管理装置に格納されているXML文書を読み出しXML文書参照・編集装置に表示するまでの処理手順の一例を示すフローチャート
【図10】同実施形態におけるXML文書参照・編集装置でXML文書の編集を行う際の処理手順の一例を示すフローチャート
【図11】同実施形態におけるXML文書参照・編集装置でXML文書の編集を行う際の処理手順の一例を示すフローチャート
【図12】同実施形態における編集が終了したXML文書をXML文書一括管理装置に反映するまでの処理手順の一例を示すフローチャート
【図13】同実施形態における編集が終了したXML文書をXML文書一括管理装置に反映するまでの処理手順の一例を示すフローチャート
【図14】同実施形態における編集が終了したXML文書をXML文書一括管理装置に反映するまでの処理手順の一例を示すフローチャート
【図15】同実施形態における編集が終了したXML文書をXML文書一括管理装置に反映するまでの処理手順の一例を示すフローチャート
【図16】同実施形態におけるXML文書のXML文書主部の一例を示す図
【図17】同実施形態におけるXML文書のXML文書主部の一例を示す図
【図18】同実施形態におけるXML文書の一例を示す図
【図19】同実施形態におけるXML文書の一例を示す図
【図20】同実施形態におけるXML文書の一例を示す図
【図21】同実施形態におけるXML文書の差分について説明するための図
【図22】同実施形態におけるXML文書のXML文書断片を管理するためのXML文書断片管理テーブルの一例を示す図
【図23】同実施形態におけるXML文書の一例を示す図
【図24】同実施形態におけるXML文書の差分について説明するための図
【図25】同実施形態における編集相と読み出し相について説明するための図
【図26】同実施形態に係る電子文書管理システムの他の構成例を示す図
【図27】同実施形態における利用者による新規文書の登録について説明するための図
【図28】同実施形態における文書を編集相で取り出す場合について説明するための図
【図29】同実施形態における文書を読み出し相で取り出す場合について説明するための図
【図30】同実施形態における編集相で取り出した文書の編集結果の再登録について説明するための図
【図31】同実施形態におけるユーザへの通知方法の一例について説明するための図
【図32】同実施形態における相互に相関している文書が編集された場合について説明するための図
【符号の説明】
1…XML文書参照・編集装置
3…XML文書一括管理装置
101…XML文書一時格納部
102…XML文書編集部
103…XML文書断片中継部
105…一時識別子生成部
106…XML文書差分演算部
107…XML文書差分送信部
108…XML文書受信部
301…XML文書主部格納部
302…XML文書主部格納部制御部
303…XML文書主部管理部
311…XML文書断片格納部
312…XML文書断片格納部制御部
313…XML文書断片管理部
304…識別子生成部
305…一時識別子管理部
306…XML文書結合部
307…XML文書送信部
308…XML文書差分受信部
309…XML文書差分分離部
1000…依存情報管理エンジン
1001…文書DB
1002…文書管理要求受付部
1003…文書断片抽出部
1004…前処理部
1021…文書断片DB
1022…新規文書断片登録部
1023…既出断片更新検出部
1024…整合性検査部
1025…メッセージ処理部
1031…文書編集部
1032…文書参照部

Claims (15)

  1. 文書編集装置上で編集される複数の文書を格納し、文書内に含まれる制御情報により範囲が指定された一纏まりの部分である文書断片の単位で、複数の文書間の依存関係に関する管理を行う文書管理装置であって、
    複数の前記文書の各々について、当該文書から、他の文書断片に対して依存関係を持つ文書断片を除外して得られたものを、当該文書の文書主部として、当該文書を一意に識別する識別情報に対応付けて記憶するとともに、複数の文書断片の各々について、当該文書断片の属する文書を一意に識別し及び当該文書断片が当該文書断片の属する文書におけるいずれの文書断片であるかを一意に識別する識別情報に対応付けて記憶するための記憶手段と、
    々の前記文書断片に係る前記制御情報であって、当該文書断片が他の文書断片に対して持つ依存関係が一方向複製と双方向複製とのいずれであるかを特定可能にするとともに少なくとも一方向複製について当該文書断片が複製元と複製先とのいずれに該当するかを特定可能にする情報が含まれ、さらに、前記文書断片の全部又は依存関係を持つ文書断片群のうちの一部について、当該文書断片が依存関係を持つ他の文書断片を特定可能にする情報が含まれる制御情報に基づいて、ある文書断片につきその文書断片との間に依存関係を持つ他の文書断片を特定する管理手段と、
    前記文書編集装置から所望の文書の要求を受けた場合に、該文書が、前記制御情報を記述することのできる構造をもともと持っていない文書に対して、前記制御情報を記述するための特定の記号列を付与したものであるときは、前記文書編集装置からの指定に応じて、該特定の記号列を含む前記制御情報を付与された状態で該文書を編集用として該文書編集装置へ提供し、または該特定の記号列を含む前記制御情報を削除した状態で該文書を読み出し専用として該文書編集装置へ提供する提供手段とを備え、
    前記管理手段は、
    前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片に係るバージョンに関する情報を登録した管理テーブルを有し、
    前記文書編集装置にて行われた、一方向複製の複製元に該当する文書断片又は双方向複製に係る文書断片に対する編集による該文書断片の内容の変更が受諾できるものであるか否かを、該文書断片の編集前後の内容にかかわらずに、前記管理テーブルに登録されている該文書断片に係るバージョンに関する情報と、前記文書編集装置にて編集された該文書断片に係るバージョンに関する情報との比較結果に基づいて、判断し、文書断片の内容の変更が受諾できるものであると判断された場合には、該文書断片の内容を更新するとともに、前記制御情報により該書断片が一方向複製の複製元に該当するものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該文書断片に対する一方向複製の複製先に該当するものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させ、前記制御情報により該文書断片が双方向複製に係るものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該編集対象文書断片との間に双方向複製の依存関係を持つものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させることを特徴とする文書管理装置。
  2. 前記管理手段が有する前記管理テーブルは、前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片のバージョンを示す現バージョン、当該文書断片のもととなった文書断片のバージョンを示す前バージョン、当該文書断片に対する最後の編集に係る時刻を示す最終編集時刻、及び当該文書断片に対する最後の編集に係る編集者を示す編集者を登録したものであり
    前記管理手段は、前記判断にあたっては、対象となる前記文書断片について、前記管理テーブルに登録されている該文書断片に係る現バージョンと、前記文書編集装置にて編集された該文書断片に係る前バージョンとが等しい場合、または、それらが等しくなく且つ前記管理テーブルに登録されている該文書断片に係る前バージョン及び編集者と、前記文書編集装置にて編集された該文書断片に係る前バージョン及び編集者とがいずれも等しく且つ前記管理テーブルに登録されている該文書断片に係る最終編集時刻が、前記文書編集装置にて編集された該文書断片に係る最終編集時刻よりも早い場合に、前記文書断片の内容の変更が受諾できるものであると判断することを特徴とする請求項1に記載の文書管理装置。
  3. 前記管理手段は、前記文書編集装置にて行われた前記文書断片に対する編集による該文書断片の内容の変更が受諾できるものでないと判断された場合に、所定の対処手続きを行うための手段を含むことを特徴とする請求項1または2に記載の文書管理装置。
  4. 前記対処手続きを行うための手段は、前記文書編集装置にて行われた前記文書断片に対する編集による該文書断片の内容の変更が受諾できるものでないと判断された旨を前記文書編集装置上へ表示させ、その後に該文書編集装置を介してユーザ入力された該編集を強制的に採用させるかまたは破棄するかの選択指示に従って、前記文書断片の内容の変更が受諾できるものであると判断された場合と同じ処理または該編集の破棄を行うことを特徴とする請求項3に記載の文書管理装置。
  5. 前記対処手続きを行うための手段は、前記文書断片を含む前記文書として、該文書断片の内容の変更を反映させた場合の版と、該文書断片の内容の変更を破棄した場合の版とを記憶しておき、その後に該文書編集装置を介していずれの版を採用するかを選択指示するユーザ入力がなされた際に、該ユーザ入力された選択指示に従って、前記文書断片の版を確定させることを特徴とする請求項3に記載の文書管理装置。
  6. 前記対処手続きを行うための手段は、相互に又は連鎖的に前記依存関係を持つ3以上の前記文書断片のうちの特定のものについてのみ、前記文書編集装置にて行われた該文書断片に対する編集による該文書断片の内容の変更が受諾できるものでないと判断される理由が存在する場合には、該特定の文書断片についてのみ該依存関係を解除するようにしたことを特徴とする請求項3に記載の文書管理装置。
  7. 各々の前記文書断片に、それが最後に前記文書編集装置にて編集された時刻を示す情報を付加しておき、更新後の前記文書断片の持つ前記時刻を示す情報が、更新前の該前記文書断片の持つ前記時刻を示す情報より早くなる場合には、前記文書断片の内容の変更が受諾できるものであると判断された場合と同じ処理を行い、それ以外の場合には、前記編集の破棄を行うことを特徴とする請求項3に記載の文書管理装置。
  8. 前記依存関係には、前記一方向複製及び前記双方向複製の他に、参照が存在し、
    前記依存関係が参照である場合、参照に係る前記文書断片の各々に付加される前記制御情報には、当該文書断片が他の文書断片に対して持つ依存関係が参照であることを特定可能にするとともに当該文書断片が参照元であるか参照先であるかを特定可能にする情報が含まれ、
    前記文書管理装置は、参照の依存関係における参照元に該当する文書断片の内容が変更される場合にのみ、該変更を通知する情報の前記文書編集装置上での表示を、該参照元の文書断片に対する参照先となる文書断片の前記文書編集装置上での表示と関連付けて行うための処理を行うための手段を更に備えたことを特徴とする請求項1ないし7のいずれか1項に記載の文書管理装置。
  9. 前記文書が構造化文書である場合、該構造化文書の持つ構造の単位を前記文書断片の単位とすることを特徴とする請求項1ないしのいずれか1項に記載の文書管理装置。
  10. 前記管理手段を、全文書について1つ設けたことを特徴とする請求項1ないしのいずれか1項に記載の文書管理装置。
  11. 前記管理手段を、個々の文書ごとに1つずつ設けたことを特徴とする請求項1ないしのいずれか1項に記載の文書管理装置。
  12. 記憶手段と、管理手段と、提供手段とを備え、文書編集装置上で編集される複数の文書を格納し、文書内に含まれる制御情報により範囲が指定された一纏まりの部分である文書断片の単位で、複数の文書間の依存関係に関する管理を行う文書管理装置における文書管理方法であって、
    前記記憶手段が、複数の前記文書の各々について、当該文書から、他の文書断片に対して依存関係を持つ文書断片を除外して得られたものを、当該文書の文書主部として、当該文書を一意に識別する識別情報に対応付けて記憶するとともに、複数の文書断片の各々について、当該文書断片の属する文書を一意に識別し及び当該文書断片が当該文書断片の属する文書におけるいずれの文書断片であるかを一意に識別する識別情報に対応付けて記憶手段に記憶するステップと、
    前記管理手段が、各々の前記文書断片に係る前記制御情報であって、当該文書断片が他の文書断片に対して持つ依存関係が一方向複製と双方向複製とのいずれであるかを特定可能にするとともに少なくとも一方向複製について当該文書断片が複製元と複製先とのいずれに該当するかを特定可能にする情報が含まれ、さらに、前記文書断片の全部又は依存関係を持つ文書断片群のうちの一部について、当該文書断片が依存関係を持つ他の文書断片を特定可能にする情報が含まれる制御情報に基づいて、ある文書断片につきその文書断片との間に依存関係を持つ他の文書断片を特定する管理ステップと、
    前記提供手段が、前記文書編集装置から所望の文書の要求を受けた場合に、該文書が、前記制御情報を記述することのできる構造をもともと持っていない文書に対して、前記制御情報を記述するための特定の記号列を付与したものであるときは、前記文書編集装置からの指定に応じて、該特定の記号列を含む前記制御情報を付与された状態で該文書を編集用として該文書編集装置へ提供し、または該特定の記号列を含む前記制御情報を削除した状態で該文書を読み出し専用として該文書編集装置へ提供するステップとを有し、
    前記管理手段は、前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片に係るバージョンに関する情報を登録した管理テーブルを有するものであり、
    前記管理ステップは前記管理手段が、前記文書編集装置にて行われた、一方向複製の複製元に該当する文書断片又は双方向複製に係る文書断片に対する編集による該文書断片の内容の変更が受諾できるものであるか否かを、該文書断片の編集前後の内容にかかわらずに、前記管理テーブルに登録されている該文書断片に係るバージョンに関する情報と、前記文書編集装置にて編集された該文書断片に係るバージョンに関する情報との比較結果に基づいて、判断し、文書断片の内容の変更が受諾できるものであると判断された場合には、該文書断片の内容を更新するとともに、前記制御情報により該書断片が一方向複製の複製元に該当するものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該文書断片に対する一方向複製の複製先に該当するものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させ、前記制御情報により該文書断片が双方向複製に係るものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該編集対象文書断片との間に双方向複製の依存関係を持つものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させる反映ステップを含むことを特徴とする文書管理方法。
  13. 前記管理手段が有する前記管理テーブルは、前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片のバージョンを示す現バージョン、当該文書断片のもととなった文書断片のバージョンを示す前バージョン、当該文書断片に対する最後の編集に係る時刻を示す最終編集時刻、及び当該文書断片に対する最後の編集に係る編集者を示す編集者を登録したものであり、
    前記反映ステップにおいては、前記管理手段が、前記判断にあたって、対象となる前記文書断片について、前記管理テーブルに登録されている該文書断片に係る現バージョンと、前記文書編集装置にて編集された該文書断片に係る前バージョンとが等しい場合、または、それらが等しくなく且つ前記管理テーブルに登録されている該文書断片に係る前バージョン及び編集者と、前記文書編集装置にて編集された該文書断片に係る前バージョン及び編集者とがいずれも等しく且つ前記管理テーブルに登録されている該文書断片に係る最終編集時刻が、前記文書編集装置にて編集された該文書断片に係る最終編集時刻よりも早い場合に、前記文書断片の内容の変更が受諾できるものであると判断することを特徴とする請求項12に記載の文書管理方法。
  14. 文書編集装置上で編集される複数の文書を格納し、文書内に含まれる制御情報により範囲が指定された一纏まりの部分である文書断片の単位で、複数の文書間の依存関係に関する管理を行う文書管理装置としてコンピュータを機能させるためのプログラムであって、
    複数の前記文書の各々について、当該文書から、他の文書断片に対して依存関係を持つ文書断片を除外して得られたものを、当該文書の文書主部として、当該文書を一意に識別する識別情報に対応付けて記憶するとともに、複数の文書断片の各々について、当該文書断片の属する文書を一意に識別し及び当該文書断片が当該文書断片の属する文書におけるいずれの文書断片であるかを一意に識別する識別情報に対応付けて記憶手段に記憶するための機能と、
    々の前記文書断片に係る前記制御情報であって、当該文書断片が他の文書断片に対して持つ依存関係が一方向複製と双方向複製とのいずれであるかを特定可能にするとともに少なくとも一方向複製について当該文書断片が複製元と複製先とのいずれに該当するかを特定可能にする情報が含まれ、さらに、前記文書断片の全部又は依存関係を持つ文書断片群のうちの一部について、当該文書断片が依存関係を持つ他の文書断片を特定可能にする情報が含まれる制御情報に基づいて、ある文書断片につきその文書断片との間に依存関係を持つ他の文書断片を特定する管理機能と、
    前記文書編集装置から所望の文書の要求を受けた場合に、該文書が、前記制御情報を記述することのできる構造をもともと持っていない文書に対して、前記制御情報を記述するための特定の記号列を付与したものであるときは、前記文書編集装置からの指定に応じて、該特定の記号列を含む前記制御情報を付与された状態で該文書を編集用として該文書編集装置へ提供し、または該特定の記号列を含む前記制御情報を削除した状態で該文書を読み出し専用として該文書編集装置へ提供する機能とをコンピュータに実現させるためのものであるとともに、
    前記管理機能は、
    前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片に係るバージョンに関する情報を登録した管理テーブルを有するものであり、
    前記文書編集装置にて行われた、一方向複製の複製元に該当する文書断片又は双方向複製に係る文書断片に対する編集による該文書断片の内容の変更が受諾できるものであるか否かを、該文書断片の編集前後の内容にかかわらずに、前記管理テーブルに登録されている該文書断片に係るバージョンに関する情報と、前記文書編集装置にて編集された該文書断片に係るバージョンに関する情報との比較結果に基づいて、判断し、文書断片の内容の変更が受諾できるものであると判断された場合には、該文書断片の内容を更新するとともに、前記制御情報により該書断片が一方向複製の複製元に該当するものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該文書断片に対する一方向複製の複製先に該当するものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させ、前記制御情報により該文書断片が双方向複製に係るものであることが示されるときは、該変更を反映させるべき対象となる他の文書断片として、該編集対象文書断片との間に双方向複製の依存関係を持つものを、前記制御情報に基づき特定し、特定した該他の文書断片へ該変更を反映させるものであることを特徴とするプログラム。
  15. 前記管理機能が有する前記管理テーブルは、前記記憶手段に記憶されている各々の前記文書断片について、当該文書断片のバージョンを示す現バージョン、当該文書断片のもととなった文書断片のバージョンを示す前バージョン、当該文書断片に対する最後の編集に係る時刻を示す最終編集時刻、及び当該文書断片に対する最後の編集に係る編集者を示す編集者を登録したものであり、
    前記管理機能は、前記判断にあたっては、対象となる前記文書断片について、前記管理テーブルに登録されている該文書断片に係る現バージョンと、前記文書編集装置にて編集された該文書断片に係る前バージョンとが等しい場合、または、それらが等しくなく且つ前記管理テーブルに登録されている該文書断片に係る前バージョン及び編集者と、前記文書編集装置にて編集された該文書断片に係る前バージョン及び編集者とがいずれも等しく且つ前記管理テーブルに登録されている該文書断片に係る最終編集時刻が、前記文書編集装置にて編集された該文書断片に係る最終編集時刻よりも早い場合に、前記文書断片の内容の変更が受諾できるものであると判断することを特徴とする請求項14に記載のプログラム。
JP2002081793A 2002-03-22 2002-03-22 文書管理装置、文書管理方法及びプログラム Expired - Fee Related JP3934965B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002081793A JP3934965B2 (ja) 2002-03-22 2002-03-22 文書管理装置、文書管理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002081793A JP3934965B2 (ja) 2002-03-22 2002-03-22 文書管理装置、文書管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2003281118A JP2003281118A (ja) 2003-10-03
JP3934965B2 true JP3934965B2 (ja) 2007-06-20

Family

ID=29230280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002081793A Expired - Fee Related JP3934965B2 (ja) 2002-03-22 2002-03-22 文書管理装置、文書管理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP3934965B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4749902B2 (ja) * 2006-03-20 2011-08-17 富士通株式会社 読上げ情報登録装置、その方法、そのプログラム及び携帯端末装置
KR101281387B1 (ko) 2006-08-16 2013-07-02 삼성전자주식회사 Xml 문서의 위치 기술을 이용하여 xdm 문서 관리 기능을 구현하기 위한 장치 및 방법
KR101321667B1 (ko) 2006-08-16 2013-10-22 삼성전자주식회사 다큐먼트 포워딩을 위한 xdm 장치 및 방법
JP5239423B2 (ja) * 2008-03-17 2013-07-17 株式会社リコー 情報処理装置,情報処理方法,プログラム,および記録媒体
JP2011150424A (ja) * 2010-01-19 2011-08-04 Nec Corp 文書作成支援システム、文書作成支援方法及びプログラム
JP2012069054A (ja) * 2010-09-27 2012-04-05 Fuji Xerox Co Ltd 構造化文書処理装置及び構造化文書処理プログラム
CN110795915B (zh) * 2018-07-31 2024-07-16 南京中兴新软件有限责任公司 xml文件批量修改方法、系统、设备和计算机可读存储介质
JP7456137B2 (ja) * 2019-12-05 2024-03-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7456136B2 (ja) * 2019-12-05 2024-03-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP6965480B1 (ja) * 2020-06-23 2021-11-10 エヌ・ティ・ティ・ビズリンク株式会社 データ管理装置、データ管理方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60167059A (ja) * 1984-02-10 1985-08-30 Hitachi Ltd 表および文書内デ−タ利用方式
US4674040A (en) * 1984-12-26 1987-06-16 International Business Machines Corporation Merging of documents
JP2746667B2 (ja) * 1989-07-13 1998-05-06 富士通株式会社 ドキュメント作成管理方式
JPH04127264A (ja) * 1990-09-18 1992-04-28 Hitachi Ltd 文書データ自動修正方式
JPH0696077A (ja) * 1992-09-14 1994-04-08 Omron Corp データの共有処理システム及びそのデータの処理装置
JPH0816558A (ja) * 1994-06-24 1996-01-19 Fujitsu Ltd 文章作成支援システム
WO1997025679A1 (fr) * 1996-01-12 1997-07-17 Hitachi, Ltd. Procede et appareil de gestion de fichiers electroniques
JP3893714B2 (ja) * 1997-02-04 2007-03-14 富士通株式会社 文書管理装置

Also Published As

Publication number Publication date
JP2003281118A (ja) 2003-10-03

Similar Documents

Publication Publication Date Title
US11630841B2 (en) Traversal rights
US6324587B1 (en) Method, computer program product, and data structure for publishing a data object over a store and forward transport
US8069243B2 (en) Document management server, method, storage medium and computer data signal, and system for managing document use
AU2001220184B2 (en) A system and method for providing integrated management of electronic information
US20070067354A1 (en) Productivity suite to line of business synchronization mechanism
US20070299880A1 (en) Document Management Server, Document Management Method, Computer Readable Medium, Computer Data Signal, and System For Managing Document Use
US20030236788A1 (en) Life-cycle management engine
US20080148137A1 (en) Document management system, document processing client device, and document management server device
US20070288835A1 (en) Apparatus, computer readable medium, data signal, and method for document management
JPH09509772A (ja) 分散型デジタルディレクトリにおけるオブジェクト変更を保護する方法および装置
JPH11161535A (ja) 共有データ環境でのデータ競合解決方法
JP3934965B2 (ja) 文書管理装置、文書管理方法及びプログラム
US10623601B2 (en) Inserting a graphical symbol into a print stream for a document file that does not include the graphical symbol
US10264159B2 (en) Managing printed documents in a document processing system
JP2004280321A (ja) 文書管理システム、文書管理方法、文書管理システムのプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体
CA2624272A1 (en) Productivity suite to line of business synchronization mechanism
Naik et al. File system extended attributes in NFSv4
JP2008541296A (ja) パーソナル化可能情報ネットワーク
US10931848B2 (en) Adding a graphical symbol to a print stream for a document file
JP2004157883A (ja) Webサイトコンテンツ管理システム及びプログラム
US20050038882A1 (en) Automated eRoom archive tool and method
JP2003036335A (ja) 行政文書目録公開システム、行政文書目録公開方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
Naik et al. RFC 8276: File System Extended Attributes in NFSv4
RU2419849C2 (ru) Механизм синхронизации комплекта приложений для продуктивной работы и бизнес-приложений
Scott et al. File Storage

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060821

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: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070316

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

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees