JP2007328489A - 文書管理装置及びプログラム - Google Patents

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

Info

Publication number
JP2007328489A
JP2007328489A JP2006158246A JP2006158246A JP2007328489A JP 2007328489 A JP2007328489 A JP 2007328489A JP 2006158246 A JP2006158246 A JP 2006158246A JP 2006158246 A JP2006158246 A JP 2006158246A JP 2007328489 A JP2007328489 A JP 2007328489A
Authority
JP
Japan
Prior art keywords
document
user
duplicate
preliminary
created
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.)
Withdrawn
Application number
JP2006158246A
Other languages
English (en)
Other versions
JP2007328489A5 (ja
Inventor
Takehito Watanabe
岳人 渡邉
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006158246A priority Critical patent/JP2007328489A/ja
Priority to US11/608,892 priority patent/US20070288835A1/en
Priority to CNB2007100960561A priority patent/CN100543747C/zh
Publication of JP2007328489A publication Critical patent/JP2007328489A/ja
Publication of JP2007328489A5 publication Critical patent/JP2007328489A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Abstract

【課題】複数のユーザにより共有文書が同時並行して編集が行われる場合に発生しうる競合を確実に解決する。
【解決手段】ユーザからの文書取得要求に応じて、コピー文書作成部22は編集対象の共有文書のコピー文書を当該ユーザ編集用に作成し、バックアップ文書作成部24はコピー文書を複製してバックアップ文書を作成して、それぞれ各文書保持管理部23,25で保持する。コピー文書を編集したユーザからの保存要求に応じて、保存処理部26は、受信したコピー文書と保持していたバックアップ文書を比較し、編集が検出されれば、その検出した編集内容で共有文書を更新し、検出されなければ更新しない。
【選択図】図1

Description

本発明は、複数のユーザにより並行して編集が施される電子文書の管理に関する。
従来から、共有化された電子文書を複数のユーザにより編集を行うためのシステムや、文書レビューを行うシステムが存在している。これらシステムでは、複数ユーザが同時並行して電子文書の編集を実施すると、ユーザ同士の編集が競合して共有文書の整合性を保てないという問題が発生しうる。
このような競合を解決または回避する従来技術として、共有文書をロックして、同時に文書を編集できるユーザを1人に制限する技術(例えば、特許文献1)や、ユーザ毎のコピー文書を作成して、ユーザにはコピー文書を編集させることで同時に複数ユーザが文書を編集しても競合を解決できるという技術(例えば、特許文献2)等がある。
特開2001−51887号公報 特開2004−326176号公報
しかしながら、特許文献1は、同時並行した編集を実施させないことで競合を回避するという消極的な方法であって同時並行した編集を許容するものではない。これに対し、特許文献2は、同時並行した編集環境を提供することが可能である。しかし、更新を検出できない文書編集アプリケーションを利用して文書編集を行う場合、競合を確実に解決することができない場合があった。このことについて、具体例をあげて説明する。
図11は、従来技術を利用して2人のユーザA,Bが同時並行して共有文書に対して編集を行う場合の各文書の内容の遷移を示した概念図である。
まず、時刻T1においてユーザA,Bそれぞれに共有文書のコピー文書が作成された後、ユーザBが時刻T2においてコピー文書に含まれている既存のアノテーションを編集した後、文書保存をしようとしたとする。このとき、共有文書のアノテーション「あああ」とユーザBのコピー文書のアノテーション「いいい」とは異なるので、従来においては、時刻T3に示すように共有文書のアノテーションをユーザBによる編集内容で更新する。その後、ユーザAは、既存のアノテーション「あああ」は編集しなかったけれども他の箇所を編集したので文書保存をしようとしたとする。このとき、共有文書のアノテーション「いいい」とユーザAのコピー文書のアノテーション「あああ」とは異なるので、従来においては、時刻T4に示すように共有文書のアノテーションをユーザAのコピー文書のアノテーション「あああ」で更新する。
このように、更新を検出できない文書編集アプリケーションを利用すると、従来においては、同一内容の共有文書からユーザA,Bにそれぞれコピー文書を作成した後、ユーザAのコピー文書を保存しようとしたときに、その保存前にユーザBのコピー文書ですでにアノテーションが更新されていることを検出することができないので、上記のようにユーザBの更新内容をユーザAの内容、すなわち更新されていないアノテーションで上書きしてしまうという不具合が生じる可能性があった。
本発明は、以上のような課題を解決するためになされたものであり、複数のユーザにより共有文書に対し並行して編集が行われる場合に発生しうる競合を確実に解決することを目的とする。
以上のような目的を達成するために、本発明に係る文書管理装置は、複数のユーザによって共有される電子文書を記憶する文書記憶手段から、ユーザが編集対象とする電子文書を取り出し、当該ユーザの編集用に当該電子文書の複製文書を作成する複製文書作成手段と、前記複製文書作成手段が作成した複製文書を当該ユーザが使用する情報処理装置へ送る文書送信手段と、前記複製文書作成手段が作成した複製文書を当該ユーザが識別可能に保持する複製文書保持手段と、前記複製文書作成手段が作成した複製文書を更に複製することで当該ユーザに対応した予備文書を作成する予備文書作成手段と、前記予備文書作成手段が作成した予備文書を当該ユーザが識別可能に保持する予備文書保持手段と、ユーザから文書の保存を要求された場合に、保存対象として送られてきた複製文書と、前記予備文書保持管理手段に保持された当該複製文書の予備文書とを比較して、当該ユーザによる複製文書に対する編集内容を検出する更新検出手段と、前記更新検出手段により編集内容が検出された場合、その検出された編集内容で前記文書記憶手段に格納された当該電子文書を更新する文書更新手段とを有することを特徴とする。
本発明に係る共文書管理プログラムは、文書記憶手段に記憶され、複数のユーザによって共有される電子文書の管理を行うコンピュータを、前記文書記憶手段から、ユーザが編集対象とする電子文書を取り出し、当該ユーザの編集用に当該電子文書の複製文書を作成する複製文書作成手段、前記複製文書作成手段が作成した複製文書を当該ユーザが使用する情報処理装置へ送る文書送信手段、前記複製文書作成手段が作成した複製文書を当該ユーザが識別可能に保持する複製文書保持手段、前記複製文書作成手段が作成した複製文書を更に複製することで当該ユーザに対応した予備文書を作成する予備文書作成手段、前記予備文書作成手段が作成した予備文書を当該ユーザが識別可能に保持管理する予備文書保持管理手段、ユーザから文書の保存を要求された場合に、保存対象として送られてきた複製文書と、前記予備文書保持管理手段に保持された当該複製文書の予備文書とを比較して、当該ユーザによる複製文書に対する編集内容を検出する更新検出手段、前記更新検出手段により編集内容が検出された場合、その検出された編集内容で前記文書記憶手段に格納された当該電子文書を更新する文書更新手段として機能させる。
また、前記複製文書作成手段は、文書を保存する要求に応じて前記文書更新手段が更新処理を実施した場合、その更新処理によって前記文書記憶手段に記憶された当該電子文書の更新の有無にかかわらず、その更新処理実施後に前記文書記憶手段から当該ユーザが編集対象とする電子文書を取り出し、当該ユーザの編集用に当該電子文書の複製文書を作成し、前記複製文書作成手段により複製文書が作成されたことに応じて、前記文書送信手段は、作成された複製文書を当該ユーザが使用する情報処理装置へ送り、前記複製文書保持手段は、保持している複製文書を作成された複製文書で更新し、前記予備文書作成手段は、作成された複製文書の予備文書を作成し、前記予備文書保持手段は、保持している予備文書を作成された複製文書で更新することを特徴とする。
本発明によれば、複数のユーザにより並行して共有文書に対して編集が行われる場合でも、ユーザにより実施された編集を確実に共有文書に反映でき、また編集されていない内容で編集された内容を上書きすることが発生しないようにしたので、並行して共有文書に編集が行われる場合に発生しうる競合を確実に解決することができる。
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
図1は、本実施の形態における共有文書処理システムを示したブロック構成図である。図1には、電子文書を共有化するユーザによって使用されるクライアント12と、共有化された電子文書(共有文書)を保持管理する文書管理サーバ20とが示されており、それぞれが情報交換可能にネットワーク14にて接続されている。
クライアント12は、更新を検出できない文書編集アプリケーションを実行することで実現される文書編集処理部13を有しており、文書管理サーバ20にて保持管理されている共有文書に対して編集を行う。なお、本実施の形態では、複数のユーザによって同一の共有文書に対して同時並行して編集を行うので、本システムには、複数台のクライアント12が含まれていることになるが、各クライアント12共に同じ構成でよいため、図1には1台のみ示した。
文書管理サーバ20は、本発明に係る共有文書管理装置に相当する装置であって、共有文書作成部21、コピー文書作成部22、コピー文書保持管理部23、バックアップ文書作成部24、バックアップ文書保持管理部25、保存処理部26及び文書処理制御部27を有している。本実施の形態では、電子文書本体とアノテーションとを分離して管理しているので、共有文書作成部21は、複数のユーザが同時並行して文書編集を行う電子文書及びアノテーションを文書データベース28から取り出し、電子文書にアノテーションを付加して共有文書を作成する。コピー文書作成部22は、共有文書のコピー文書をユーザ毎に作成する。コピー文書保持管理部23は、コピー文書作成部22がユーザ毎に作成したコピー文書を保持管理する。バックアップ文書作成部24は、コピー文書作成部22がユーザ毎に作成したコピー文書を更に複製することでバックアップ文書をユーザ毎に作成する。バックアップ文書保持管理部25は、バックアップ文書作成部24がユーザ毎に作成したバックアップ文書を保持管理する。保存処理部26は、ユーザからの文書保存要求に応じてコピー文書の保存処理を行う手段であり、更新検出部29と共有文書更新部30とを有している。更新検出部29は、いずれかのユーザが使用するクライアント12から文書保存のために送られてきたコピー文書と当該コピー文書のバックアップ文書とを比較して、当該ユーザによるコピー文書に対する編集内容を検出する。共有文書更新部30は、更新検出部29が検出したコピー文書への編集内容を、コピー文書の元となる共有文書に反映することで文書データベース28に格納された当該電子文書を更新する。文書処理制御部27は、クライアント12との情報交換、文書管理サーバ20が実施される文書管理処理全体の処理制御を行う。具体的には、ユーザからの文書取得要求に応じて該当する共有文書を当該ユーザ使用のクライアント12へ送信する。また、ユーザからの文書保存要求に応じて保存処理部26にコピー文書の保存処理を実施させる。
図2は、本実施の形態における文書データベース28に含まれている文書テーブル31のデータ構成例を示した図である。文書テーブル31に登録される各レコードは、文書毎に生成される。各レコードは、文書を識別する文書ID、文書種別を示す文書タイプ、文書所有者の識別情報を示すユーザID、文書名及び文書の本体が対応付けして生成される。
図3は、本実施の形態における文書データベース28に含まれているアノテーションテーブル32のデータ構成例を示した図である。アノテーションテーブル32に登録される各レコードは、アノテーション毎に生成される。各レコードは、アノテーションを識別するアノテーションID、文書を識別する文書ID、削除されたか否かを示す削除フラグ、電子文書上におけるアノテーションの付加位置を特定するための位置情報、ユーザにアノテーションとして記載された実際の内容及び外部のメッセージと関連付けるための連携メッセージIDが対応付けして生成される。
本実施の形態では、以上の各テーブル31,32を設けて電子文書と当該電子文書に付加されるアノテーションとを別個に保持管理している。そして、電子文書とアノテーションとは、文書IDによって関連付けている。
図4は、本実施の形態における文書管理サーバ20のハードウェア構成図である。本実施の形態における文書管理サーバ20は、従前から存在する汎用的なサーバコンピュータが持つハードウェア構成で実現できる。すなわち、文書管理サーバ20は、図4に示したようにCPU1、ROM2、RAM3、ハードディスクドライブ(HDD)4を接続したHDDコントローラ5、入力手段として設けられたマウス6及びキーボード7、表示装置として設けられたディスプレイ8をそれぞれ接続する入出力コントローラ9を内部バス10に接続して構成される。なお、クライアント12は、汎用的なパーソナルコンピュータ(PC)にて実現されるため、性能等の相違はあるもののハードウェアの基本構成は、図4と同様である。
文書管理サーバ20における各構成要素21〜27は、文書管理サーバ20に搭載されたコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。また、文書データベース28は、文書管理サーバ20に搭載された外部記憶装置にて実現される。なお、文書データベース28は、文書管理サーバ20に搭載せずにネットワーク14を介してアクセス可能に構成してもよい。本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。また、クライアント12における構成要素は、クライアント12に搭載されたコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。
次に、本実施の形態における動作について説明するが、まず、従来例の図11に対応する図5を用いて本実施の形態における基本動作について説明する。
まず、時刻T1において同一の共有文書からユーザA,Bそれぞれが使用するコピー文書が作成され、更に各ユーザA,Bのコピー文書がそれぞれ複製されてバックアップ文書が作成される。時刻T2において、ユーザBがコピー文書に含まれている既存のアノテーションを編集し、時刻T3において文書保存をしようとしたとする。このとき、ユーザBのコピー文書のアノテーション「いいい」と、ユーザBのバックアップ文書のアノテーション「あああ」とは異なるので、当該アノテーションは、ユーザBによって編集されたと認識できる。これにより、本実施の形態おいては、時刻T3に示すように共有文書のアノテーションをユーザBによる編集内容で更新する。その後、時刻T4に示すように文書保存を要求したユーザBに対して、更新された共有文書のコピー文書が作成され、更にそのコピー文書が複製されてバックアップ文書が作成される。
時刻T5において、ユーザAは、既存のアノテーション「あああ」は編集しなかったけれども他の箇所を編集したので文書保存をしようとしたとする。このとき、ユーザAのコピー文書のアノテーション「あああ」と、ユーザAのバックアップ文書のアノテーション「あああ」とは一致するので、当該アノテーションは、ユーザAによって編集されていないと認識できる。これにより、本実施の形態おいては、時刻T5に示すように共有文書のアノテーションを、保存要求された場合でもユーザAによる編集内容で更新しない。その後、時刻T6に示すように文書保存を要求したユーザAに対して、更新された共有文書のコピー文書が作成され、更にそのコピー文書が複製されてバックアップ文書が作成される。
本実施の形態においては、以上のように動作するので、ユーザによって編集された内容を共有文書に反映できると共に、編集しなかった場合には共有文書を更新せずにすむので、不具合を発生させることなく複数ユーザによって同一共有文書を同時並行して編集させることができる。
なお、時刻T4において、文書保存要求がされたときに共有文書から文書保存を要求したユーザBのコピー文書、更にバックアップ文書が作成される。共有文書は、ユーザBによる編集内容によって更新されたのだから、ユーザBのコピー文書は、同一内容の共有文書で上書きされることになるので、実際には不要な処理とも考えられる。ただ、このときの処理は、時刻T6と同じルーチンとすることでプログラム上の便宜を図るために行うようにした。共有文書のサイズが大きければ、コピー文書をあえて作成しない方が処理効率は良くなると考えられる。もちろん、バックアップ文書の作成処理は必須である。また、バックアップ文書は、コピー文書のバックアップという位置付けなので、コピー文書を複製することによって作成することが適切であり、本実施の形態においてもそのように処理している。ただ、共有文書を複製してコピー文書とバックアップ文書とを作成するようにしてもよい。
続いて、本実施の形態における動作の詳細について各フローチャートを用いて説明する。本実施の形態では、クライアント12を使用するユーザがレビュー等のために電子文書を文書管理サーバ20から取得する文書編集開始処理と、取得した電子文書を保存する文書保存処理とに大別できる。まず最初にユーザが電子文書の編集を開始するときの処理について、図6に示したフローチャートを用いて説明する。
文書管理サーバ20において、文書処理制御部27がクライアント12から文書特定情報、例えば文書名等文書特定情報が指定された文書取得要求を受け付ける(ステップ110)。共有文書作成部21は、文書処理制御部27からの指示に応じて文書特定情報により特定できる電子文書の本体及び当該電子文書の文書IDから特定できるアノテーションを文書データベース28からそれぞれ取り出し、電子文書とアノテーションとを統合することで共有文書を作成する(ステップ120)。共有文書が作成されると、コピー文書作成部22は、共有文書を複製することで当該ユーザ編集用にコピー文書を作成する(ステップ130)。コピー文書保持管理部23は、コピー文書作成部22がコピー文書を作成すると、その作成したコピー文書を保持する(ステップ140)。バックアップ文書作成部24は、コピー文書保持管理部23がコピー文書を保持すると、その保持したコピー文書を複製することでバックアップ文書を作成する(ステップ150)。バックアップ文書保持管理部25は、バックアップ文書作成部24がバックアップ文書を作成すると、その作成したバックアップ文書を保持する(ステップ160)。一方、文書処理制御部27は、コピー文書作成部22がコピー文書を作成すると、その作成したコピー文書を文書取得要求送信元のクライアント12へ送信する(ステップ170)。なお、フローチャート上、上記処理手順で説明したが、コピー文書作成後における文書処理(ステップ140〜160)と送信処理(ステップ170)とは、同時並行して実施することができる。クライアント12は、このようにして、編集対象の共有文書、正確には共有文書のコピー文書を取得することができる。
更に、他のユーザが文書取得要求を送信すると、前述した文書取得処理が実施され、ユーザ毎に共有文書のコピー文書、そしてバックアップ文書が作成される。従って、各文書保持管理部23,25は、コピー文書所有者のユーザIDとコピー文書とを対応付けしてすることで各コピー文書の使用者を判別可能に保持管理する。この文書編集開始処理がユーザA,Bによる文書取得要求に応じて実施されるによって図5における時刻T1に示した状態になる。
クライアント12における文書編集処理部13は、ユーザ操作に応じて受信した共有文書に対して編集処理を施す。例えば、ユーザBがあるアノテーション「あああ」を「いいい」に編集したとする。この文書編集をユーザBが行ったことによって、各文書の内容は、図5における時刻T2に示した状態になる。
次に、ユーザBが編集した電子文書をクライアント12に保存した後、文書保存要求を文書管理サーバ20へ送出することで実施される文書保存処理について図7に示したフローチャートを用いて説明する。
文書管理サーバ20において、文書処理制御部27がクライアント12から文書特定情報、例えば文書名等文書特定情報が指定され、若しくは電子文書の本体が付加された文書保存要求を受け付ける(ステップ210)。保存処理部26は、文書処理制御部27からの指示に応じてクライアント12から取得した電子文書で、コピー文書保持管理部23にて保持されている当該電子文書の元となるコピー文書を上書き保存する(ステップ220)。より具体的にいうと、保存処理部26は、クライアント12から取得した電子文書と共に送られてきたユーザIDと、コピー文書保持管理部23にて保持されているコピー文書のユーザIDとの比較・照合により、どのコピー文書を上書きするのかを特定できる。なお、ユーザBが複数の電子文書を複数同時に処理していた場合には、文書ID等も合わせて照合することで上書きする部コピー文書を特定することができる。
続いて、保存処理部26における更新検出部29は、上書き保存したコピー文書をコピー文書保持管理部23から取り出し(ステップ230)、その上書き保存したコピー文書に対応するバックアップ文書をバックアップ文書保持管理部25から取り出し(ステップ240)、バックアップ文書とコピー文書とを比較・照合することでユーザBが編集したか否かを検出する(ステップ250)。より詳細に言うと、文書編集開始処理の際にユーザB使用のクライアント12へ送った電子文書、すなわちコピー文書保持管理部23に保持されていたコピー文書のバックアップ文書と、文書保存処理においてユーザBから受け取った電子文書、すなわちコピー文書保持管理部23を上書き保存したコピー文書とを比較・照合することで編集の有無を検出する。なお、ステップ240における更新の検出についての処理の詳細は、追って説明する。なお、図5に例示したように、アノテーションの編集の有無を検出する場合、コピー文書及びバックアップ文書からそれぞれアノテーションを電子文書本体から分離してからアノテーションを比較する。
この検出処理によりユーザBによって電子文書(電子文書の本体及び/又はアノテーション)が更新されたと認識すると(ステップ260でY)、共有文書更新部30は、ユーザBによって編集された内容を反映することで電子文書を更新する(ステップ270)。より詳細に言うと、文書データベース28は、電子文書の本体とアノテーションとを分離して保持されるので、共有文書更新部30は、ユーザBによって編集された電子文書を文書本体部分とアノテーションとに分離して文書テーブル31及びアノテーションテーブル32をそれぞれ更新する。図5に示した例では、ユーザBは、アノテーションのみを編集したので、共有文書更新部30は、編集されたアノテーションに関する情報のみを更新すればよい。なお、ステップ250におけるユーザによる編集内容で共有文書を更新する処理の詳細は、追って説明する。このように、文書データベース28に格納された共有文書が更新されることによって図5における時刻T3に示した状態になる。
その後の処理は、基本的に文書取得要求時におけるステップ120〜170と同じである。すなわち、共有文書作成部21は、文書処理制御部27からの指示に応じて共有文書を作成し(ステップ280)、コピー文書作成部22は、共有文書を複製することでユーザB編集用にコピー文書を作成し(ステップ290)、コピー文書保持管理部23は、このコピー文書を保持する(ステップ300)。更に、バックアップ文書作成部24は、保持したコピー文書を複製することでバックアップ文書を作成し(ステップ310)、バックアップ文書保持管理部25は、その作成したバックアップ文書を保持する(ステップ320)。一方、文書処理制御部27は、コピー文書作成部22が作成したコピー文書を文書保存要求送信元のクライアント12へ送信する(ステップ330)。この文書保存処理が実施されるによって図5における時刻T4に示した状態になる。
ユーザBが共有文書に対して更に編集処理を行いたい場合、クライアント12における文書編集処理部13は、ユーザ操作に応じて共有文書を開くことになるが、文書管理サーバ20へ送信した電子文書はすでに保存して閉じているので、このときに開く電子文書は自らした編集が反映された共有文書(のコピー文書)である。
以上のユーザBによる電子文書の編集、保存処理が実施された後、ユーザAが電子文書をクライアント12に保存した後、文書保存要求を文書管理サーバ20へ送出することで実施される文書保存処理について図7に示したフローチャートを用いて説明する。なお、説明が重複する処理については、適宜省略しながら説明する。
文書管理サーバ20において、文書処理制御部27がクライアント12から文書保存要求を受け付けると(ステップ210)、保存処理部26は、クライアント12から取得した電子文書で、コピー文書保持管理部23にて保持されているユーザAのコピー文書を上書き保存する(ステップ220)。続いて、保存処理部26における更新検出部29は、各文書保持管理部23,25からそれぞれ取り出したコピー文書とバックアップ文書とを比較・照合することでユーザAが編集したか否かを検出する(ステップ230〜250)。ここでは、ユーザAは、アノテーション「あああ」を編集していないものとする。
更新検出部29は、文書編集開始処理の際にユーザA使用のクライアント12へ送った電子文書、すなわちコピー文書保持管理部23に保持されていたコピー文書のバックアップ文書と、文書保存処理においてユーザAから受け取った電子文書、すなわちコピー文書保持管理部23を上書き保存したコピー文書とを比較・照合することで編集の有無を検出するが、このユーザAによる例では、図5における時刻T5に示したように、文書編集開始処理の際におけるアノテーション及び文書保存処理において受け取ったアノテーション共に「あああ」であるため、更新されていないことを認識することができる。これにより、図7に示したように共有文書への更新反映処理(ステップ270)をステップすることになる。従って、コピー文書保持管理部23にユーザAから送られてきた電子文書でコピー文書保持管理部23に含まれているコピー文書を上書き保存しても、図5における時刻T5に示したように共有文書のアノテーションを更新することはない。
その後の処理は、ユーザBと同じである。すなわち、共有文書作成部21は、文書処理制御部27からの指示に応じて共有文書を作成する(ステップ280)。ここで作成される共有文書には、ユーザBによる更新が反映されているので、アノテーションの内容は「いいい」である。続いて、コピー文書作成部22は、共有文書を複製することでユーザA編集用にコピー文書を作成し(ステップ290)、コピー文書保持管理部23は、このコピー文書を保持する(ステップ300)。更に、バックアップ文書作成部24は、保持したコピー文書を複製することでバックアップ文書を作成し(ステップ310)、バックアップ文書保持管理部25は、その作成したバックアップ文書を保持する(ステップ320)。一方、文書処理制御部27は、コピー文書作成部22が作成したコピー文書を文書保存要求送信元のクライアント12へ送信する(ステップ330)。この文書保存処理が実施されるによって図5における時刻T6に示した状態になる。
ユーザAが共有文書に対して更に編集処理を行いたい場合、クライアント12における文書編集処理部13は、ユーザ操作に応じて共有文書を開くことになるが、文書管理サーバ20へ送信した電子文書はすでに保存して閉じているので、このときに開く電子文書は文書管理サーバ20から新たに送られてきた共有文書(のコピー文書)であってユーザBによる編集が反映された共有文書である。
本実施の形態によれば、ユーザによって編集された内容を共有文書に反映できると共に、編集しなかった場合には共有文書を更新せずにすむので、不具合を発生させることなく複数ユーザによって同一共有文書を同時並行して編集させることができる。
ここで、図7における更新検出処理を図8に示したフローチャートを用いて説明する。この処理では、コピー文書とバックアップ文書とを比較・照合することによって共有文書に付加された複数のアノテーションそれぞれに対して更新されたか否かを検出する処理に基づくものである。
更新検出部29は、未処理のアノテーションがなくなるまで以下の処理を繰り返す。まず、コピー文書において未処理のアノテーションの有無を抽出する。存在しなければ(ステップ2501でN)、ステップに2507に移行する。アノテーションが存在した場合(ステップ2501でY)、抽出したアノテーションに対応するアノテーションがバックアップ文書に存在するかを確認する。もし、存在していなければ(ステップ2502でN)、抽出した処理対象のアノテーションは、ユーザによる編集作業によって新たに追加されたアノテーションである。従って、処理対象のアノテーションを「追加」に分類する(ステップ2503)。一方、処理対象としたアノテーションに対応するアノテーションがバックアップ文書に存在した場合(ステップ2502でY)、対応する各アノテーションの内容が一致するかを確認する。一致する場合には(ステップ2504でY)、ユーザによって編集がされていないと判断できるので、処理対象のアノテーションを「更新無し」に分類する(ステップ2505)。一致しない場合には(ステップ2504でN)、ユーザによって編集がされたと判断できるので、処理対象のアノテーションを「修正」に分類する(ステップ2506)。
ステップ2501において、コピー文書において未処理のアノテーションが存在しないと判断された場合、次に処理対象をバックアップ文書に移す。そして、バックアップ文書において未処理のアノテーションの有無を抽出する。存在しなければ(ステップ2507でN)、処理を終了する。アノテーションが存在した場合(ステップ2507でY)、抽出したアノテーションに対応するアノテーションがコピー文書に存在するかを確認する。もし、存在していなければ(ステップ2508でN)、抽出した処理対象のアノテーションは、ユーザによる編集作業によって削除されたことになる。従って、従って、処理対象のアノテーションを「削除」に分類する(ステップ2509)。一方、処理対象としたアノテーションに対応するアノテーションがコピー文書に存在した場合(ステップ2508でY)、本来であれば、ステップ2504〜2506ですでにいずれかに分類されているはずなので、何も処理する必要はないが、ここでは処理対象のアノテーションを「更新無し」に分類する処理を実施することにしておく(ステップ2510)。
以上のように、本実施の形態では、更新の有無の検出のみならず、更新の種類を判別するようにした。
続いて、図7における更新反映処理を図9に示したフローチャートを用いて説明する。基本的には、「追加」、「修正」及び「削除」に分類されたアノテーションに対して対応する処理をアノテーションテーブル32に施せばよいが、本実施の形態では、「更新無し」として検出されたアノテーションも処理対象に含めて以下の手順にて実施する。
共有文書更新部30は、更新検出処理で更新が検出された未処理のアノテーションがなくなるまで以下の処理を繰り返す。まず、未処理のアノテーションが存在しなければ(ステップ2701でN)、処理を終了する。存在する場合(ステップ2701でY)、処理対象のアノテーションが「追加」に分類されていれば(ステップ2702でY)、ステップに2708に移行する。「追加」に分類されていなければ(ステップ2702でN)、次に、処理対象のアノテーションがアノテーションテーブル32に登録されているかを確認する。登録されていなければ(ステップ2703でN)、処理対象のアノテーションをアノテーションテーブル32から「削除」に分類する(ステップ2704)。登録されている場合(ステップ2703でY)、当該アノテーションに対応するアノテーションテーブル32に設定されている内容と、バックアップ文書に付加されている内容とが一致するかを確認する。一致しない場合には(ステップ2705でN)、処理対象のアノテーションをアノテーションテーブル32に含まれる当該アノテーションを「修正」に分類する(ステップ2706)。一致する場合には(ステップ2705でY)、ユーザによって編集されていないと判断できるので、処理対象のアノテーションを「更新無し」に分類する(ステップ2507)。
以上のように各アノテーションを分類することができるが、共有文書更新部30は、「追加」、「修正」、「削除」及び「更新無し」への分類結果を参照にして、処理対象のアノテーションの更新が必要か否かを判断する。すなわち、更新が必要でない、すなわち「更新無し」に分類されていれば(ステップ2708でN)、アノテーションテーブル32への設定内容を更新することなく、次のアノテーションの処理に移行する。更新が必要と判断した場合(ステップ2708でY)、分類された内容に従って以下のようにアノテーションテーブル32を更新する(ステップ2709)。すなわち、「追加」であれば、当該アノテーションに関する情報をアノテーションテーブル32に設定登録し、「修正」であれば、アノテーションテーブル32に設定されている既存の当該アノテーションに関する情報を更新する。また、「削除」であれば、当該アノテーションのレコードを削除するのではなく、当該アノテーションのレコードに含まれている削除フラグを“FALSE”から“TRUE”へ変更することで、当該アノテーションは削除されている状態に設定する。
本実施の形態においては、以上のように複数ユーザによる共有文書への同時並行した編集作業を不具合なく実施させることができる。なお、上記説明では、アノテーションの更新を例にしたが、文書の本体に関しても同様の考えで取り扱うことができる。例えば、図10に例示したように、文書を例えば、段落毎に分割するなどしてグループ化する。このように文書を複数に分割すれば、分割した各グループをアノテーションと同じように取り扱うことができる。つまり、本実施の形態は、アノテーションへの適用のみに限定されるものではない。
本実施の形態における共有文書処理システムを示したブロック構成図である。 本実施の形態における文書データベースに含まれている文書テーブルのデータ構成例を示した図である。 本実施の形態における文書データベースに含まれているアノテーションテーブルのデータ構成例を示した図である。 本実施の形態における文書管理サーバのハードウェア構成図である。 本実施の形態において2人のユーザA,Bが同時並行して共有文書に付加されたアノテーションに対して編集を行う場合の各文書の内容の遷移を示した概念図である。 本実施の形態においてユーザが電子文書の編集を開始するときの処理を示したフローチャートである。 本実施の形態においてユーザから文書保存の要求が送られてきたときの処理を示したフローチャートである。 図7に示した処理に含まれる更新検出処理を示したフローチャートである。 図7に示した処理に含まれる更新反映処理を示したフローチャートである。 本実施の形態において2人のユーザA,Bが同時並行して共有文書本体に対して編集を行う場合の各文書の内容の遷移を示した概念図である。 従来において2人のユーザA,Bが同時並行して共有文書に対して編集を行う場合の各文書の内容の遷移を示した概念図である。
符号の説明
1 CPU、2 ROM、3 RAM、4 ハードディスクドライブ(HDD)、5 HDDコントローラ、6 マウス、7 キーボード、8 ディスプレイ、9 入出力コントローラ、10 内部バス、12 クライアント、13 文書編集処理部、14 ネットワーク、20 文書管理サーバ、21 共有文書作成部、22 コピー文書作成部、23 コピー文書保持管理部、24 バックアップ文書作成部、25 バックアップ文書保持管理部、26 保存処理部、27 文書処理制御部、28 文書データベース、29 更新検出部、30 共有文書更新部、31 文書テーブル、32 アノテーションテーブル。

Claims (3)

  1. 複数のユーザによって共有される電子文書を記憶する文書記憶手段から、ユーザが編集対象とする電子文書を取り出し、当該ユーザの編集用に当該電子文書の複製文書を作成する複製文書作成手段と、
    前記複製文書作成手段が作成した複製文書を当該ユーザが使用する情報処理装置へ送る文書送信手段と、
    前記複製文書作成手段が作成した複製文書を当該ユーザが識別可能に保持する複製文書保持手段と、
    前記複製文書作成手段が作成した複製文書を更に複製することで当該ユーザに対応した予備文書を作成する予備文書作成手段と、
    前記予備文書作成手段が作成した予備文書を当該ユーザが識別可能に保持する予備文書保持手段と、
    ユーザから文書の保存を要求された場合に、保存対象として送られてきた複製文書と、前記予備文書保持管理手段に保持された当該複製文書の予備文書とを比較して、当該ユーザによる複製文書に対する編集内容を検出する更新検出手段と、
    前記更新検出手段により編集内容が検出された場合、その検出された編集内容で前記文書記憶手段に格納された当該電子文書を更新する文書更新手段と、
    を有することを特徴とする文書管理装置。
  2. 文書記憶手段に記憶され、複数のユーザによって共有される電子文書の管理を行うコンピュータを、
    前記文書記憶手段から、ユーザが編集対象とする電子文書を取り出し、当該ユーザの編集用に当該電子文書の複製文書を作成する複製文書作成手段、
    前記複製文書作成手段が作成した複製文書を当該ユーザが使用する情報処理装置へ送る文書送信手段、
    前記複製文書作成手段が作成した複製文書を当該ユーザが識別可能に保持する複製文書保持手段、
    前記複製文書作成手段が作成した複製文書を更に複製することで当該ユーザに対応した予備文書を作成する予備文書作成手段、
    前記予備文書作成手段が作成した予備文書を当該ユーザが識別可能に保持管理する予備文書保持管理手段、
    ユーザから文書の保存を要求された場合に、保存対象として送られてきた複製文書と、前記予備文書保持管理手段に保持された当該複製文書の予備文書とを比較して、当該ユーザによる複製文書に対する編集内容を検出する更新検出手段、
    前記更新検出手段により編集内容が検出された場合、その検出された編集内容で前記文書記憶手段に格納された当該電子文書を更新する文書更新手段、
    として機能させる文書管理プログラム。
  3. 前記複製文書作成手段は、文書を保存する要求に応じて前記文書更新手段が更新処理を実施した場合、その更新処理によって前記文書記憶手段に記憶された当該電子文書の更新の有無にかかわらず、その更新処理実施後に前記文書記憶手段から当該ユーザが編集対象とする電子文書を取り出し、当該ユーザの編集用に当該電子文書の複製文書を作成し、
    前記複製文書作成手段により複製文書が作成されたことに応じて、
    前記文書送信手段は、作成された複製文書を当該ユーザが使用する情報処理装置へ送り、
    前記複製文書保持手段は、保持している複製文書を作成された複製文書で更新し、
    前記予備文書作成手段は、作成された複製文書の予備文書を作成し、
    前記予備文書保持手段は、保持している予備文書を作成された複製文書で更新する、
    ことを特徴とする請求項2記載の文書管理プログラム。
JP2006158246A 2006-06-07 2006-06-07 文書管理装置及びプログラム Withdrawn JP2007328489A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006158246A JP2007328489A (ja) 2006-06-07 2006-06-07 文書管理装置及びプログラム
US11/608,892 US20070288835A1 (en) 2006-06-07 2006-12-11 Apparatus, computer readable medium, data signal, and method for document management
CNB2007100960561A CN100543747C (zh) 2006-06-07 2007-04-10 用于文档管理的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006158246A JP2007328489A (ja) 2006-06-07 2006-06-07 文書管理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2007328489A true JP2007328489A (ja) 2007-12-20
JP2007328489A5 JP2007328489A5 (ja) 2009-07-02

Family

ID=38823362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006158246A Withdrawn JP2007328489A (ja) 2006-06-07 2006-06-07 文書管理装置及びプログラム

Country Status (3)

Country Link
US (1) US20070288835A1 (ja)
JP (1) JP2007328489A (ja)
CN (1) CN100543747C (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012002518A1 (en) * 2010-06-29 2012-01-05 Ricoh Company, Ltd. User interface with inbox mode and document mode for single input work flow routing
US8555195B2 (en) 2010-06-29 2013-10-08 Ricoh Co., Ltd. Bookmark function for navigating electronic document pages
US9043219B2 (en) 2010-09-10 2015-05-26 Ricoh Co., Ltd. Automatic and semi-automatic selection of service or processing providers
US9058778B2 (en) 2010-06-29 2015-06-16 Ricoh Co., Ltd. Maintaining DC balance in electronic paper displays using contrast correction
US9191612B2 (en) 2010-06-29 2015-11-17 Ricoh Co., Ltd. Automatic attachment of a captured image to a document based on context
JP2016046581A (ja) * 2014-08-20 2016-04-04 コニカミノルタ株式会社 文書共有システム、サーバ、端末装置、文書データ更新方法、およびコンピュータプログラム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101196920B (zh) * 2007-12-21 2011-04-06 北京中星微电子有限公司 基于引用关系的文件配置管理方法和装置
US8417666B2 (en) * 2008-06-25 2013-04-09 Microsoft Corporation Structured coauthoring
US9792381B2 (en) 2010-06-28 2017-10-17 Here Global B.V. Method and apparatus for a paged update protocol
US8656181B2 (en) 2011-05-26 2014-02-18 Hewlett-Packard Development Company, L.P. Method and system for business workflow cycle of a composite document
US20130262992A1 (en) * 2012-04-02 2013-10-03 Jane He Methods and systems for electronic editing and/or signing
EP2779054A1 (en) * 2013-03-15 2014-09-17 BlackBerry Limited Shared document editing and voting using active stylus based touch-sensitive displays
US9690403B2 (en) 2013-03-15 2017-06-27 Blackberry Limited Shared document editing and voting using active stylus based touch-sensitive displays
CN105117382B (zh) * 2015-08-28 2020-04-28 百度在线网络技术(北京)有限公司 一种文档协同方法及装置
CN107451108B (zh) * 2017-06-13 2021-04-06 广州视源电子科技股份有限公司 一种协同编辑文档的方法和系统
CN107395763A (zh) * 2017-08-30 2017-11-24 郑州云海信息技术有限公司 一种多客户端同步处理文件的方法、服务端及系统
CN107992461A (zh) * 2017-11-23 2018-05-04 郑州云海信息技术有限公司 一种多人同时编辑同一文档的装置及方法
CN112988225B (zh) * 2021-03-12 2024-04-05 中国平安财产保险股份有限公司 注解配置方法、装置、设备及存储介质
CN113158619B (zh) * 2021-04-16 2022-05-17 腾讯科技(深圳)有限公司 文档处理方法、装置、计算机可读存储介质及计算机设备
CN113361239A (zh) * 2021-06-01 2021-09-07 北京百度网讯科技有限公司 文档测试方法及其装置、电子设备以及存储介质

Family Cites Families (16)

* 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
US5515491A (en) * 1992-12-31 1996-05-07 International Business Machines Corporation Method and system for managing communications within a collaborative data processing system
US5805889A (en) * 1995-10-20 1998-09-08 Sun Microsystems, Inc. System and method for integrating editing and versioning in data repositories
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
JP2996197B2 (ja) * 1997-02-14 1999-12-27 日本電気株式会社 文書共有管理方法
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6067551A (en) * 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
JP3915331B2 (ja) * 1999-08-10 2007-05-16 富士ゼロックス株式会社 共有ドキュメントの編集装置及び編集方法
WO2002017115A2 (en) * 2000-08-21 2002-02-28 Thoughtslinger Corporation Simultaneous multi-user document editing system
US20030112273A1 (en) * 2001-12-17 2003-06-19 Workshare Technology, Ltd. Document collaboration suite using a common database
US7496841B2 (en) * 2001-12-17 2009-02-24 Workshare Technology, Ltd. Method and system for document collaboration
US20040068505A1 (en) * 2002-10-04 2004-04-08 Chung-I Lee System and method for synchronously editing a file on different client computers
US20040085355A1 (en) * 2002-10-31 2004-05-06 Harmes Jeffrey E. Collaborative contract management system, apparatus and method
EP1584036A4 (en) * 2003-01-17 2008-06-18 Tacit Networks Inc METHOD AND SYSTEM FOR USING INTERMEDIATE STORAGE IN A DISTRIBUTED FILE SYSTEM
US7792788B2 (en) * 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US20070220417A1 (en) * 2006-03-17 2007-09-20 Sonolink Communications Systems, Llc System and method for editing online documents

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012002518A1 (en) * 2010-06-29 2012-01-05 Ricoh Company, Ltd. User interface with inbox mode and document mode for single input work flow routing
US8555195B2 (en) 2010-06-29 2013-10-08 Ricoh Co., Ltd. Bookmark function for navigating electronic document pages
JP2013539560A (ja) * 2010-06-29 2013-10-24 株式会社リコー 単一入力ワーク・フロー・ルーティングのためのインボックス・モード及び文書モードを備えたユーザ・インタフェース
US9058778B2 (en) 2010-06-29 2015-06-16 Ricoh Co., Ltd. Maintaining DC balance in electronic paper displays using contrast correction
US9191612B2 (en) 2010-06-29 2015-11-17 Ricoh Co., Ltd. Automatic attachment of a captured image to a document based on context
US9286581B2 (en) 2010-06-29 2016-03-15 Ricoh Co., Ltd. User interface with inbox mode and document mode for single input work flow routing
US9043219B2 (en) 2010-09-10 2015-05-26 Ricoh Co., Ltd. Automatic and semi-automatic selection of service or processing providers
JP2016046581A (ja) * 2014-08-20 2016-04-04 コニカミノルタ株式会社 文書共有システム、サーバ、端末装置、文書データ更新方法、およびコンピュータプログラム

Also Published As

Publication number Publication date
CN100543747C (zh) 2009-09-23
CN101086737A (zh) 2007-12-12
US20070288835A1 (en) 2007-12-13

Similar Documents

Publication Publication Date Title
JP2007328489A (ja) 文書管理装置及びプログラム
US20200233880A1 (en) Allocation And Reassignment Of Unique Identifiers For Synchronization Of Content Items
US9396245B2 (en) Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
KR101647535B1 (ko) 교차 채널 공동 저작 일관성 제공 기법
US20090112937A1 (en) Spreadsheet collaboration between rich and browser clients
US20080235299A1 (en) Determining which user files to backup in a backup system
US11347933B1 (en) Distributed collaborative storage with operational transformation
US20120117113A1 (en) Information processing apparatus having history control function and control method therefor
US20090172043A1 (en) Method and system to synchronize updated versions of a document edited on a collaborative site that are under document management control
KR20090062747A (ko) 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법
WO2020046447A1 (en) Synchronizing in-use source data and an unmodified migrated copy thereof
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
US7194486B2 (en) Method and system for data processing with data replication for the same
JP5106062B2 (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
WO2009147846A1 (ja) データベース並行編集の競合解消方式
CN114968345A (zh) 代码处理方法、系统、计算设备及存储介质
JP2010020419A (ja) 文書管理プログラム、文書管理装置及び文書管理システム
JP2010061200A (ja) 文書管理システム及び操作履歴表示方法
JPH09265424A (ja) 分散ファイルの同期システムと方法
JP5543918B2 (ja) データベース並行編集の競合解消方式
JP2006004024A (ja) ディレクトリサーバに実行させるためのプログラム
US20230409521A1 (en) Automatic preservation
JP2000066931A (ja) データベースシステム、データ変更方法およびデータベースプログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2004259296A (ja) 文書管理システム及び方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090519

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110930