(57)【特許請求の範囲】
【請求項１】
複数のユーザに共有される共有ドキュメントを格納したドキュメント格納部と、
ユーザからの要求に応じて共有ドキュメントに対する編集を許可する排他的編集権を発行するロック情報管理部と、
発行した排他的編集権と当該排他的編集権の対象ドキュメントとを特定するロック情報を保持するロック情報格納部と、
を備え、ロック情報管理部がロック情報格納部に保持されているロック情報に一致する排他的編集権を有した編集ドキュメントのみをドキュメント格納部に上書き格納させることにより、排他的編集権を有したユーザにのみ共有ドキュメントの編集を行わせる共有ドキュメントの編集装置において、
ロック情報を保持する解除済みロック情報格納部を備え、
ロック情報管理部は、発行した排他的編集権を強制的に解除する機能を有し、当該強制解除を実行するときにロック情報格納部が保持する強制解除した排他的編集権情報のロック情報を解除済みロック情報格納部へ移動させて保持させ、同一のドキュメントに対して新たな排他的編集権の要求が来るまでの間に解除済みロック情報格納部へ移動させたロック情報に一致する排他的編集権を有した編集ドキュメントの保存要求があったときには当該編集ドキュメントをドキュメント格納部に上書き格納させることを特徴とする共有ドキュメントの編集装置。
【請求項２】
請求項１に記載の共有ドキュメントの編集装置において、
ドキュメント編集装置は通信回線を介して接続されたサーバ装置とユーザが操作するクライアント装置とから構成され、
サーバ装置には、ドキュメント格納部と、ロック情報管理部と、ロック情報格納部と、解除済みロック情報格納部とが備えられ、
クライアント装置には、共有ドキュメントを特定した排他的編集権の要求を発行するとともに、サーバ装置から供給された共有ドキュメントに編集を加えるドキュメント編集部が備えられていることを特徴とする共有ドキュメントの編集装置。
【請求項３】
請求項１又は請求項２に記載の共有ドキュメントの編集装置において、
ロック情報管理部は、ユーザからの要求に応じて発行した排他的編集権を強制的に解除することを特徴とする共有ドキュメントの編集装置。
【請求項４】
ドキュメント格納部に格納された複数のユーザに共有される共有ドキュメントに対する編集を制御する共有ドキュメントの編集方法であって、
ロック情報管理部が、ユーザからの要求に応じて共有ドキュメントに対する編集を許可する排他的編集権を発行し、
ロック情報格納部が、発行した排他的編集権と当該排他的編集権の対象ドキュメントとを特定するロック情報を保持し、
発行した排他的編集権を強制的に解除する機能を有するロック情報管理部が、当該強制解除を実行するときにロック情報格納部が保持する強制解除した排他的編集権のロック情報を解除済みロック情報格納部へ移動させて保持させ、同一のドキュメントに対して新たな排他的編集権の要求が来るまでの間に解除済みロック情報格納部へ移動させたロック情報に一致する排他的編集権を有した編集ドキュメントの保存要求があったときには当該編集ドキュメントをドキュメント格納部に上書き格納させることを特徴とする共有ドキュメントの編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の電子的なドキュメントを複数のユーザが共有して編集作業を行うドキュメント編集装置及び編集方法に関し、特に、共有ドキュメントを排他的に編集する排他的編集権が或るユーザに付与されたままの状態を強制的に解除した場合にも、当該排他的編集権に基づく編集内容を共有ドキュメントに反映させることを可能ならしめた共有ドキュメントの編集装置及び編集方法に関する。
【０００２】
【従来の技術】
電子データによりドキュメントを作成し、このドキュメントを複数のユーザ（作業者）により編集して作業を進めることができる装置として共有ドキュメント編集装置が知られている。
このような共有ドキュメントの編集装置は、例えばクライアントサーバシステムによって構成され、サーバ装置で管理された共有ドキュメントを各クライアント装置を操作する複数のユーザによって編集作業を進めることができるようになっている。
【０００３】
このような共有ドキュメントの編集装置では、同一の共有ドキュメント（なお、本明細書では、ドキュメントのページ単位もドキュメントという）に対して複数のユーザが同時に編集を加えてしまうと、共有ドキュメントの記述内容の整合性が損なわれてしまうため、これを避けるために、排他的編集権を与えられたユーザのみが当該権利に対応する共有ドキュメントに編集を加えることができる排他的な編集制御を行っている。
ユーザ操作によって編集処理を行うクライアント装置と、排他的編集制御を行うサーバ装置とから構成される共有ドキュメント編集装置を例にとって、排他的編集制御を説明する。
【０００４】
まず、図３（ａ）に示すように、クライアント装置Ａが共有ドキュメントを編集するために排他的な編集を開始すると、クライアント装置Ａはサーバ装置に排他的編集権の取得要求を行う。サーバ装置は、要求で指定された共有ドキュメントが既に他のクライアント装置によって排他的編集権が取得されていなければ、他のユーザの編集を禁止するために当該共有ドキュメントをロックし、図３（ｂ）に示すように、要求された共有ドキュメントについての排他的編集権Ａを発行する。この排他的編集権Ａを発行すると、ロック情報Ａとして、排他的編集権Ａが発行されている共有ドキュメント名と当該排他的編集権Ａを特定するロックＩＤがサーバ装置（ロック情報格納部）に記録される。
なお、ロックＩＤはサーバ装置内でユニークなＩＤであり、このロックＩＤは編集を行うクライアント装置にも排他的編集権Ａ及び指定の共有ドキュメントと共に送られる。
【０００５】
そして、排他的編集権が付与されたユーザが共有ドキュメントに編集を行い、編集を加えた共有ドキュメントをサーバ装置に対して保存（書込み）動作を行うと、当該編集内容を共有ドキュメントに反映させることができる。
そこで、この編集内容とあわせて付与されていた排他的編集権のロック情報をサーバ装置に送信することが行われ、サーバ装置はサーバ装置のロック情報格納部に保存しておいたロック情報Ａとクライアント装置から送信されたロック情報が同一のものであることを確認した上で編集内容の保存作業を実施する。
【０００６】
このように編集作業が完了するとクライアント装置は排他的編集権を解放し、サーバ装置上では共有ドキュメントのロックが解放される。クライアント装置は排他的編集の終了通知とともにロック情報をサーバ装置に送信し、サーバ装置は該当するロック情報をロック情報格納部より削除して、当該共有ドキュメントに対する新たな排他的編集権の獲得要求を受け入れ可能な状態になる。
【０００７】
このような排他的編集制御を行う場合に、例えばクライアント装置のハングアップなどが原因でサーバ装置上のロックが解放されないままになってしまうと、その後当該共有ドキュメントを編集することが出来なくなる可能性がある。
そこで、従来より、共有ドキュメントのロックを強制的に解放するメカニズムが用意されており、排他的編集権Ａを与えたクライアント装置が終了しているにもかかわらず、共有ドキュメントがロックされている状態が続いた場合には、図４（ａ）に示すように、他のクライアント装置Ｂから当該共有ドキュメントに対する排他的編集権の削除要求があると、このメカニズムによりサーバ装置に保存してあったロック情報Ａを削除して新たな排他編集権獲得要求を受け入れられる状態にしている。
【０００８】
【発明が解決しようとする課題】
しかしながら、従来のドキュメント編集装置にあっては、上記のように発行した排他的編集権を強制的に解除する機能を実行させると、図４（ｂ）に示すように、元々排他的編集権Ａが与えられているユーザ（クライアント装置Ａ）が編集を行っている最中に他のユーザ（クライアント装置Ｂ）によって不用意にサーバ装置上のロックが解放される可能性がある。このように編集中にサーバ装置上のロックが解放されてしまうと、クライアント装置Ａが編集内容と共に付与されいたロック情報Ａをサーバ装置へ送信しても、サーバ装置に保存していた対応するロック情報Ａは既に削除されているため、編集内容をサーバ装置に書き戻して共有ドキュメントに反映させることができず、共有ドキュメントの整合性維持に支障を来してしまうことにもなっていた。
【０００９】
本発明は、上記従来の事情に鑑みなされたもので、排他的編集権を強制的に解除する機能を実行した場合でも、支障のない条件内で、当該排他的編集権に基づく編集内容を共有ドキュメントに反映可能として、共有ドキュメントの整合性維持を担保することを目的とする。
また、本発明は、クライアントサーバシステムにより共有ドキュメントを共同して編集するシステムに適したドキュメント編集装置を提供することを目的とする。
なお、本発明の更なる目的は、以下の説明において明らかなところである。
【００１０】
【課題を解決するための手段】
本発明に係るドキュメント編集装置は、次のようにして共有ドキュメントへの排他的編集制御を行う。
まず、ドキュメント格納部に格納されている共有ドキュメントに対するユーザからの排他的編集権の要求があると、この要求に応じて共有ドキュメントに対する排他的編集権をロック情報管理部が発行して要求元のユーザに排他的な編集を許可すると共に、ロック情報格納部に発行した排他的編集権と当該排他的編集権の対象ドキュメントとを特定するロック情報を保持する。
そして、排他的編集権を与えたユーザが編集内容と共に与えられたロック情報を入力すると、ロック情報管理部がロック情報格納部に保持されているロック情報との一致を判断して、一致する排他的編集権を有した編集ドキュメントのみをドキュメント格納部に上書き格納させて、排他的編集権を有したユーザにのみ共有ドキュメントの編集を行わせる。
【００１１】
また、本発明に係るドキュメント編集装置は、次のようにして排他的編集権を強制的に解除する機能を実行する。
本発明に係るドキュメント編集装置は、ロック情報格納部とは別にロック情報を保持する解除済みロック情報格納部を備えており、ロック情報管理部は、発行した排他的編集権を強制的に解除する機能を有し、当該強制解除を実行するときに強制解除した排他的編集権情報のロック情報を解除済みロック情報格納部へ移動させて一時的に保存し、同一のドキュメントに対して新たな排他的編集権の要求が来るまでの間に解除済みロック情報格納部へ移動させたロック情報に一致する排他的編集権を有した編集ドキュメントの保存要求があったときには当該編集ドキュメントをドキュメント格納部に上書き格納させる。
【００１２】
すなわち、元々排他的編集権が与えられているユーザが編集を行っている最中に他のユーザによって不用意にロックが解放されてしまっても、他のユーザが同一のドキュメントに対して排他的編集権を取得するまでの間であれば、元々排他的編集権が与えられているユーザに編集内容を共有ドキュメントに反映させても支障は来さないため、このような条件内では、編集内容を共有ドキュメントに反映させることを許容して、共有ドキュメントの整合性維持を担保している。
【００１３】
また、本発明に係るドキュメント編集装置は、通信回線を介して接続されたクライアント装置とサーバ装置とから構成されるクライアントサーバシステムにより共有ドキュメントを共同して編集するシステムに用いて好適であり、サーバ装置には、ドキュメント格納部と、ロック情報管理部と、ロック情報格納部と、解除済みロック情報格納部とが備えられ、クライアント装置には、共有ドキュメントを特定した排他的編集権の要求を発行するとともにサーバ装置から供給された共有ドキュメントに編集を加えるドキュメント編集部が備えられる。
【００１４】
【発明の実施の形態】
本発明を、図に示す一実施例を用いて具体的に説明する。
図１には本実施例に係るドキュメント編集装置の構成を示してあり、本例では、クライアント装置１とサーバ装置２とを通信回線を介して接続したクライアントサーバシステムにより、サーバ装置２に格納管理されている共有ドキュメントを複数のクライアント装置１をそれぞれ操作する複数のユーザが共同して編集作業を進めるシステムとしてある。
【００１５】
クライアント装置１には、ドキュメント編集部１０、ロック情報格納部１１、通信部１２が備えられており、サーバ装置２には、通信部２０、ドキュメント管理部２１、ドキュメント格納部２２、ロック情報管理部２３、ロック情報格納部２４、解除済みロック情報格納部２５が備えられている。
なお、これらの機能手段１０〜１２、２０〜２５はコンピュータハードウエア資源を用いて本発明に係るプログラムを実行することにより構成されている。
【００１６】
ドキュメント編集部１０は、キーボードやマウス等のユーザ入力を受け付ける手段と編集する共有ドキュメントを表示する画面とを有し、また、画面表示された共有ドキュメントに対してユーザ操作に基づいて記述内容を編集して、編集内容を付与されたロック情報と共にサーバ装置２へ送信する機能も有している。
ロック情報格納部１１は、読み書き自在なメモリから構成されており、サーバ装置２から送信されてきた排他的編集権（特に、ドキュメント名とロックＩＤを含むロック情報）を保持する。
【００１７】
クライアント装置側通信部１２とサーバ装置側通信部２０とは、ローカルなネットワークやインタネット等の通信回線を介して、種々な要求、編集対象の共有ドキュメント、排他的編集権、編集されたドキュメントの内容、ロック情報等を受信する機能を有している。
なお、本例では、クライアントサーバ形式でドキュメント編集装置を構成しているが、本発明に係るドキュメント編集装置は単一のコンピュータ上に構成することもでき、この場合にはこのような通信回線を介して通信を行う通信部１２、２０は省略される。
【００１８】
ドキュメント格納部２２は読み書き自在なメモリから構成されており、ドキュメント格納部２２は共有ドキュメントを保持している。
ドキュメント管理部２１は、ドキュメント格納部２２に対する共有ドキュメントの入出力制御を行い、また、排他的な編集制御及び排他的編集権の強制解除制御を行ってドキュメント格納部２２に格納された共有ドキュメントへのユーザアクセスを制御する。
【００１９】
ロック情報格納部２４と解除済みロック情報格納部２５は読み書き自在なメモリから構成されており、通常の排他的な編集制御において発行されるロック情報はロック情報格納部２４に保持され、排他的編集権の強制解除制御を行った場合に、ロック情報格納部２４に保持されていたロック情報が解除済みロック情報格納部２５へ移行されて保持される。
ロック情報管理部２３は、ロック情報格納部２４及び解除済みロック情報格納部２５に対するロック情報の入出力制御を行い、編集内容に付加されたロック情報とこれら格納部に保持しておいたロック情報との一致判定も行う。
【００２０】
次に、上記構成のドキュメント編集装置による編集処理を説明する。
まず、ドキュメント編集部１０をユーザが操作して、サーバ装置２へ共有ドキュメントの指定及び排他的編集権の要求を送信すると、クライアント装置１のドキュメント管理部２１が指定された共有ドキュメントをドキュメント格納部２２から読み出して、サーバ装置２から通信部１２、２０を介して当該指定した共有ドキュメントがクライアント装置１へ送信され、クライアント装置１では取得した共有ドキュメントをドキュメント編集部１０に渡して編集を行う。また、サーバ装置２のロック情報管理部２３が、他のユーザに発行していない場合には、受信した排他的編集権の要求に応じて指定された共有ドキュメントについての排他的編集権を発行し、当該排他的編集権が上記の共有ドキュメントと共にクライアント装置１へ送信され、また、当該発行した排他的制御件についてのロック情報（対象となるドキュメント名及び排他的編集権を識別するためのロックＩＤを含む）をロック情報格納部２４に格納する。
【００２１】
クライアント装置１では、共有ドキュメントと共に受信した排他的編集権を特定する情報（当該通知に含まれるロック情報）を、排他的編集権の取得証明としてロック情報格納部１１に格納する。
そして、ドキュメント編集部１０のユーザ操作によって共有ドキュメントへの編集が終了すると、当該編集内容にロック情報格納部１１に格納されていたロック情報が付加されて通信部１２、２０を介してサーバ装置２へ送信される。
【００２２】
サーバ装置２では、編集内容と共にロック情報を受信すると、当該受信したロック情報とロック情報格納部２４に保持しておいたロック情報との一致をロック情報管理部２３が判定し、一致した場合にのみ、ドキュメント管理部２１に受信した編集内容をドキュメント格納部２２に上書き格納させる。一方、ロック情報に一致が得られない場合にはこのような編集内容の格納は行わず、これによって排他的編集権を有したユーザによる編集のみをドキュメント格納部２２に格納されている共有ドキュメントに反映させる。
【００２３】
このような排他的な編集制御において、排他的編集権の強制解除がロック情報管理部２３で実行されると次のような処理がなされる。
例えば、排他的編集権（ロック情報Ａ）がクライアント装置Ａに与えられている状態で、図２（ａ）に示すように、他のクライアント装置Ｂ（他のユーザ）から当該排他的編集権Ａを削除する要求があると、ロック情報管理部２３はロック情報格納部２４に保持していたロック情報Ａを削除して、当該ロック情報Ａを解除済みロック情報格納部２５へ移し替えて保持し、当該排他的編集権Ａに基づくロックを解除する。
これによって、排他的編集権Ａが与えられているクライアント装置Ａがハングアップなどでダウンしてしまった場合でも、他のクライアント装置Ｂから該当する共有ドキュメントを閲覧することが可能となる。
【００２４】
このように排他的編集権Ａを強制的に解放させた後に、図２（ｂ）に示すように、元々のクライアント装置Ａからサーバ装置に対して編集内容と取得証明のロック情報Ａとを含む編集内容の保存要求があった場合には、ロック情報管理部２３は、未だ他のクライアント装置へ当該共有ドキュメントについての排他的編集権を与えていないことを条件に、保存要求と共に受信したロック情報Ａと解除済みロック情報格納部２５に保存してあるロック情報Ａとの一致を判定して、これらロック情報の一致に基づいて、ドキュメント管理部２１に受信した編集内容をドキュメント格納部２２に上書き格納させる。
したがって、クライアント装置Ａは排他的編集権を強制的に解除された後にあっても、対象の共有ドキュメントの整合性を損なわない場合には編集内容を当該共有ドキュメントに反映させることができる。
【００２５】
なお、図２（ｃ）に示すように、他のクライアント装置Ｂから当該共有ドキュメントについての排他的編集権の要求があった場合には、ロック情報管理部２３は、当該クライアントに対して排他的編集権を与えて、解除済みロック情報格納部２５に保持した元々のロック情報Ａを削除する。このため、このようにロック情報Ａが削除された後に、元々のクライアント装置Ａからサーバ装置に対して編集内容と取得証明のロック情報Ａとを含む編集内容の保存要求があった場合は、既に他のクライアント装置Ｂへ当該共有ドキュメントについての排他的編集権を与えてしまってロック情報Ａが削除されているので、保存要求と共に受信した編集内容のドキュメント格納部２２への格納は行われない。
したがって、異なる内容の編集が重複して同じ共有ドキュメントに加えられる事態が回避されて、共有ドキュメントの整合性が維持される。
【００２６】
なお、図２（ｂ）に示したように、元々のクライアント装置Ａから保存要求を受理した場合に、排他的編集権削除要求が受理された後でも、削除済みロック情報格納部２５にロック情報Ａが残っていた場合には、このロック情報を用いてドキュメントに書き込み処理を行うが、このとき、クライアント装置Ａに対する排他的編集権自身を直ちに復活させるかどうかはサーバ装置の設定によるものである。つまり、排他的編集権を保持していたクライアント装置がまだ有効であったということで排他的編集権削除要求を無効にして排他的編集権を復活、すなわちドキュメントのロック情報を復活させてもよい。また、排他的編集権は削除された状態のまま、新たな排他的編集権獲得要求までは保存要求を受け付けるようにしてもよい。
【００２７】
【発明の効果】
以上説明したように、本発明によると、不用意に共有ドキュメントの排他的編集権を解除してしまった場合にでも、同一の共有ドキュメントについて新たに排他編集権が獲得される前ならば、解除した排他的編集権を回復して矛盾無く共有ドキュメントの書き戻しを行うことができる。
また、本発明によると、クライアントサーバシステムにより共有ドキュメントを共同して編集するシステムにおいて、このような共有ドキュメントの協調編集作業を実現することができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係るドキュメント編集装置の構成図である。
【図２】  排他的編集権の削除及び復元処理を説明する概念図である。
【図３】  排他的な編集制御を説明する概念図である。
【図４】  排他的編集権の削除を説明する概念図である。
【符号の説明】
１：クライアント装置、  ２：サーバ装置、
１０：ドキュメント編集部、  １１：ロック情報格納部、
１２：通信部、  ２０：通信部、
２１：ドキュメント管理部、  ２２：ドキュメント格納部、
２３：ロック情報管理部、  ２４：ロック情報格納部、
２５：解除済みロック情報格納部、
【図１】
0003915331.tif 000002
【図２】
0003915331.tif 000003
【図３】
0003915331.tif 000004
【図４】
0003915331.tif 000005