(57)【要約】【課題】一の編集者によるデータの編集中に他の編集者が他のデータを編集することによって、データの編集結果が編集者の意図しないものとなることを防ぐ。【解決手段】編集受付部１６は、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける。編集禁止部１７は、編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する。【選択図】図２
2014194680.tif 000002
【特許請求の範囲】
【請求項１】
一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部と、
前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部と
を備えることを特徴とするデータ編集装置。
【請求項２】
前記編集禁止部は、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、さらに前記編集受付部が受け付けたノードの上位のノードに係るデータについて編集を禁止する
ことを特徴とする請求項１に記載のデータ編集装置。
【請求項３】
前記編集禁止部は、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、前記編集受付部が受け付けたノードの上位のノードに係るデータの編集のうち一部の編集を禁止する
ことを特徴とする請求項２に記載のデータ編集装置。
【請求項４】
前記編集禁止部は、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、前記編集受付部が受け付けたノードの上位のノードに係るデータの編集のうち、前記編集受付部が受け付けたノードに係る編集を禁止する
ことを特徴とする請求項３に記載のデータ編集装置。
【請求項５】
一の編集者から、前記編集禁止部により編集が禁止されているノードに係るデータについて編集の予約を受け付ける予約受付部を備え、
前記編集受付部は、前記編集受付部が受け付けたノードに係るデータの編集が完了すると、前記予約受付部が受け付けたノードに係るデータの編集を受け付ける
ことを特徴とする請求項１から請求項４のいずれか１項に記載のデータ編集装置。
【請求項６】
前記木構造に係るデータ群を記憶する記憶部と、
一の編集者から、前記記憶部が記憶するデータ群の一部のデータの編集命令を受信する編集命令受信部と、
前記編集命令受信部が受信した編集命令に係る編集箇所が、前記編集禁止部によって編集が禁止されているノードに係るデータであるか否かを判定する編集可否判定部と、
を備え、
前記編集受付部は、前記編集可否判定部が、前記編集箇所が編集が禁止されているノードに係るデータでないと判定した場合に、当該編集命令に係るノードの編集を受け付ける
ことを特徴とする請求項１から請求項５のいずれか１項に記載のデータ編集装置。
【請求項７】
データ編集装置を用いたデータ編集方法であって、
編集受付部が、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付け、
編集禁止部が、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する
ことを特徴とするデータ編集方法。
【請求項８】
コンピュータを、
一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部、
前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ編集装置、データ編集方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、サーバ上のコンテンツを作成及び編集することで、手軽にコンテンツを公開し、共有するＣＭＳ（Ｃｏｎｔｅｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：コンテンツマネジメントシステム）という技術が普及している。ＣＭＳを用いることにより、１つのコンテンツを複数の編集者で共有して編集することが容易となっている。
【０００３】
ＣＭＳにおいて複数の編集者が編集を行う場合、編集の競合を防ぐために、データのロックを行うことが一般的である（例えば、特許文献１、２を参照）。
特許文献１には、図面のエンティティごとに、編集中のエンティティをロックすることで、サーバに保存されている図面に対して複数の端末から同時に編集できるようにする技術が開示されている。
また、特許文献２には、木構造に係るデータにノードを追加作成する際に、追加作成したいノードの上位のノードがロックされている場合に、ノードの追加を行わない技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１９８４２６号公報
【特許文献２】特開平４−２４８６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１、２に開示された方法を用いると、編集中のデータによって参照されるデータについても編集ができてしまう。この場合、編集前後で参照先のデータまたは参照元のデータが異なるものとなり、データの編集結果が、編集者が意図しないものとなってしまうおそれがある。
本発明の目的は、上述した課題を解決するデータ編集装置、データ編集方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたものであり、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部と、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部とを備えることを特徴とする。
【０００７】
また、本発明においては、前記編集禁止部は、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、さらに前記編集受付部が受け付けたノードの上位のノードに係るデータについて編集を禁止することが好ましい。
【０００８】
また、本発明においては、前記編集禁止部は、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、前記編集受付部が受け付けたノードの上位のノードに係るデータの編集のうち一部の編集を禁止することが好ましい。
【０００９】
また、本発明においては、前記編集禁止部は、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、前記編集受付部が受け付けたノードの上位のノードに係るデータの編集のうち、前記編集受付部が受け付けたノードに係る編集を禁止することが好ましい。
【００１０】
また、本発明においては、一の編集者から、前記編集禁止部により編集が禁止されているノードに係るデータについて編集の予約を受け付ける予約受付部を備え、前記編集受付部は、前記編集受付部が受け付けたノードに係るデータの編集が完了すると、前記予約受付部が受け付けたノードに係るデータの編集を受け付けることが好ましい。
【００１１】
また、本発明においては、前記木構造に係るデータ群を記憶する記憶部と、一の編集者から、前記記憶部が記憶するデータ群の一部のデータの編集命令を受信する編集命令受信部と、前記編集命令受信部が受信した編集命令に係る編集箇所が、前記編集禁止部によって編集が禁止されているノードに係るデータであるか否かを判定する編集可否判定部と、を備え、前記編集受付部は、前記編集可否判定部が、前記編集箇所が編集が禁止されているノードに係るデータでないと判定した場合に、当該編集命令に係るノードの編集を受け付けることが好ましい。
【００１２】
また、本発明は、データ編集装置を用いたデータ編集方法であって、編集受付部が、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付け、編集禁止部が、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止することを特徴とする。
【００１３】
また、本発明は、コンピュータを、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部、前記編集受付部が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部として機能させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、木構造に係るデータ群のうち、編集対象のノードに加え、下位のノードに係るデータについても他の編集者による編集を禁止する。これにより、編集中のデータによって参照されるデータについての編集を禁止し、データの編集結果が、編集者が意図しないものとなることを防ぐことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る編集システムの概略図である。
【図２】本発明の第１の実施形態に係るデータ編集装置の構成を示す概略ブロック図である。
【図３】本発明の第１の実施形態に係る編集者端末の構成を示す概略ブロック図である。
【図４】本発明の第１の実施形態に係るデータ編集装置における編集トランザクションの開始動作を示すシーケンス図である。
【図５】本発明の第１の実施形態に係るデータ編集装置における編集トランザクションの終了動作を示すシーケンス図である。
【図６】本発明の第２の実施形態に係るデータ編集装置の構成を示す概略ブロック図である。
【図７】本発明の第２の実施形態に係るデータ編集装置における編集トランザクションの開始動作を示すシーケンス図である。
【図８】本発明の第２の実施形態に係るデータ編集装置における編集トランザクションの終了動作を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
《第１の実施携帯》
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の第１の実施形態に係る編集システムの概略図である。
本発明の第１の実施形態に係る編集システムは、ＨＴＭＬ文書（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）をルートとする木構造に係るデータ群を、編集箇所をロックしながら、複数の編集者で同時に編集することを可能とするものである。ここで、木構造に係るデータ群とは、ハイパーリンクやスクリプト言語などによる参照・被参照の関係を有するデータ群であって、参照元を１つ上位のノードとし、参照先を１つ下位のノードとするデータ構造を有するデータ群のことである。具体的には、例えば、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ＋ＸＭＬ、ただしＪａｖａＳｃｒｉｐｔは登録商標、ＸＭＬはＥｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅの略称）として知られている、ＨＴＭＬファイルに含まれる要素（タグで囲われた部分）を、ＪａｖａＳｃｒｉｐｔの命令文に従って、他のファイルから読みだしたデータに置換する技術を用いるコンテンツなどが挙げられる。
編集システムは、木構造に係るデータ群の編集を行うデータ編集装置１０と、編集者が操作する複数の編集者端末２０−１〜２０−Ｎ（以下、編集者端末２０−１〜２０−Ｎを総称して編集者端末２０と表記する）とを備える。
【００１７】
図２は、本発明の第１の実施形態に係るデータ編集装置１０の構成を示す概略ブロック図である。
データ編集装置１０は、記憶部１１、表示情報送信部１２、編集命令受信部１３、編集可否判定部１４、編集可否通知送信部１５、編集受付部１６、編集禁止部１７を備える。
記憶部１１は、木構造に係るデータ群と、当該データのうち編集が禁止されているデータの情報を格納するロックテーブルとを記憶する。ロックテーブルは、編集が禁止されているデータごとに、当該データを編集禁止とした編集者のＩＤ（ｉｄｅｎｔｉｆｉｅｒ）、当該データのＩＤ、編集禁止となっている要素、編集禁止の範囲を格納する。ここで、データの「要素」とは、たとえばＨＴＭＬ文書やＸＭＬ文書などのタグ付文書におけるタグや、データベースのテーブルにおけるキーなどのことである。
表示情報送信部１２は、記憶部１１が記憶するデータの内容と各データの編集可否とを示す表示情報を、編集者端末２０に送信する。
【００１８】
編集命令受信部１３は、編集者端末２０から記憶部１１が記憶するデータの編集命令を受信する。なお、当該編集命令には、編集対象のデータのＩＤと、編集内容とが含まれる。
編集可否判定部１４は、記憶部１１のロックテーブルを参照して、編集命令受信部１３が受け付けた編集命令が示すデータが、編集可能であるか否かを判定する。
編集可否通知送信部１５は、編集可否判定部１４による編集可否の判定結果を示す編集可否通知を編集者端末２０に送信する。
編集受付部１６は、編集命令受信部１３が受け付けた編集命令が示すデータが、編集可能である場合に、当該データの編集を受け付ける。
【００１９】
編集禁止部１７は、編集中のデータ並びに当該データの下位のノード及び上位のノードに相当するデータの情報を、記憶部１１のロックテーブルに追加する。なお、本実施形態において「下位のノード」、「上位のノード」とは、当該ノードと参照・被参照関係にあるノードに限られず、当該ノードを参照するノードをさらに参照するノードや、当該ノードに参照されるノードにさらに参照されるノードをも含むものである。
このとき編集禁止部１７は、編集中のデータ及び当該データの下位のノードの編集禁止の範囲を全範囲とし、編集中のデータの上位のノードの編集禁止の範囲を要素名及び子要素に設定する。つまり、編集禁止部１７は、編集中のデータの上位のノードについては、属性情報（例えば、色情報や文字サイズ）や子要素の入れ替えなどの一部の編集を禁止しない。
【００２０】
図３は、本発明の第１の実施形態に係る編集者端末２０の構成を示す概略ブロック図である。
編集者端末２０は、表示情報受信部２１、表示部２２、編集命令入力部２３、編集可否通知受信部２４、編集命令送信部２５を備える。
表示情報受信部２１は、データ編集装置１０から、木構造に係るデータ群の内容と各データの編集可否とを示す表示情報を受信する。
表示部２２は、表示情報受信部２１が受信した表示情報をディスプレイに表示する。
【００２１】
編集命令入力部２３は、編集者から、表示情報受信部２１が受信したデータの中から編集対象のデータの選択を受け付ける。また、編集命令入力部２３は、編集可否通知受信部２４が受信した編集可否通知が編集可能を示す場合に、編集者から、編集対象のデータに対する編集内容の入力を受け付ける。
編集可否通知受信部２４は、編集命令入力部２３が選択を受け付けたデータについての編集可否通知を、データ編集装置１０から受信する。
編集命令送信部２５は、編集命令入力部２３による書き換えの対象となったデータに、編集命令入力部２３が入力を受け付けた編集内容を反映させる編集命令を、データ編集装置１０へ送信する。
【００２２】
次に、本実施形態に係るデータ編集システムの動作について説明する。
図４は、本発明の第１の実施形態に係るデータ編集装置１０における編集トランザクションの開始動作を示すシーケンス図である。
まず、データ編集装置１０の表示情報送信部１２は、記憶部１１から、木構造に係るデータ群の内容とロックテーブルに格納された情報を読み出す。次に、表示情報送信部１２は、読み出したデータ群の内容と各データの編集可否とを示す表示情報を編集者端末２０に送信する（ステップＳ１）。
【００２３】
次に、編集者端末２０の表示情報受信部２１は、データ編集装置１０から表示情報を受信する（ステップＳ２）。次に、表示部２２は、表示情報受信部２１が受信した表示情報をディスプレイに表示する（ステップＳ３）。ここで、編集命令入力部２３は、編集者から、ディスプレイに表示したデータの中から編集対象とするデータの選択を受け付ける（ステップＳ４）。このとき、編集命令入力部２３は、編集対象のデータに加え、編集対象の要素及び編集範囲の指定も受け付ける。編集命令入力部２３は、データの選択がない場合（ステップＳ４：ＮＯ）、ステップＳ４の判定を繰り返し実行する。他方、編集命令入力部２３が、データの選択を受け付けると（ステップＳ４：ＹＥＳ）、編集命令送信部２５は、編集命令入力部２３が選択を受け付けたデータについて、指定された要素及び編集範囲について、編集トランザクションの開始を示す編集命令をデータ編集装置１０に送信する（ステップＳ５）。
【００２４】
データ編集装置１０の編集命令受信部１３は、編集者端末２０より編集トランザクションの開始を示す編集命令を受信する（ステップＳ６）。次に、編集可否判定部１４は、編集命令受信部１３が受信した編集命令が示す編集対象のデータの情報が、記憶部１１のロックテーブルに記録されているか否かを判定する（ステップＳ７）。編集可否判定部１４は、編集命令が示す編集対象のデータの情報が、記憶部１１のロックテーブルに記録されていると判定した場合（ステップＳ７：ＹＥＳ）、ロックテーブルにおいて当該編集対象に関連付けられた要素及び範囲を参照し、編集命令が示す編集対象の要素または範囲が編集禁止とされているか否かを判定する（ステップＳ８）。
【００２５】
編集可否判定部１４が、編集命令が示す編集対象の要素または範囲が編集禁止とされていると判定した場合（ステップＳ８：ＹＥＳ）、編集可否通知送信部１５は、編集対象が編集禁止であることを示す編集可否通知を編集者端末２０に送信する（ステップＳ９）。この場合、編集受付部１６は、編集命令が示す編集対象についての編集トランザクションを開始しない。
【００２６】
他方、編集可否判定部１４が、編集命令が示す編集対象がロックテーブルに記録されていないと判定した場合（ステップＳ７：ＮＯ）または編集対象がロックテーブルに記録されているものの、要素及び範囲が編集禁止とされていないと判定した場合（ステップＳ８：ＮＯ）、編集可否通知送信部１５は、編集対象が編集可能であることを示す編集可否通知を編集者端末２０に送信する（ステップＳ１０）。
編集者端末２０の編集可否通知受信部２４は、ステップＳ９またはステップＳ１０において送信された編集可否通知をデータ編集装置１０から受信する（ステップＳ１１）。
【００２７】
また、編集対象の指定された要素及び範囲について編集禁止でない場合、編集受付部１６は、編集命令が示す編集対象についての編集トランザクションを開始する。次に、編集禁止部１７は、編集命令が示す編集の範囲に、要素名の変更や子要素の追加または削除など、データ群の構造を変更する編集が含まれるか否かを判定する（ステップＳ１２）。編集禁止部１７は、編集命令が示す編集の範囲にデータ群の構造を変更する編集が含まれると判定した場合（ステップＳ１２：ＹＥＳ）、編集命令が示す編集対象及び当該編集対象の下位のノードに対応するデータについて、すべての範囲を編集禁止の範囲に指定し、当該編集対象の下位のノードに対応するデータについて、要素名及び子要素を編集禁止の範囲に指定する（ステップＳ１３）。このとき、編集禁止部１７は、編集命令を生成した編集者のＩＤを編集禁止とするデータに関連付けてロックテーブルに記録する。
【００２８】
他方、編集禁止部１７は、編集命令が示す編集の範囲にデータ群の構造を変更する編集が含まれないと判定した場合（ステップＳ１２：ＮＯ）、編集命令が示す編集対象のデータについてのみ、指定された範囲を編集禁止の範囲に指定する（ステップＳ１４）。
【００２９】
図５は、本発明の第１の実施形態に係るデータ編集装置１０における編集トランザクションの終了動作を示すシーケンス図である。
次に、編集命令入力部２３は、上述したステップＳ１１において編集可否通知受信部２４が受信した編集可否通知が編集可能を示すか否かを判定する（ステップＳ１５）。編集命令入力部２３は、編集可否通知が編集禁止を示すと判定した場合（ステップＳ１５：ＮＯ）、処理を終了する。
他方、編集命令入力部２３は、編集可否通知が編集可能を示すと判定した場合（ステップＳ１５：ＹＥＳ）、編集者から編集対象に対する編集内容の入力を受け付ける（ステップＳ１６）。編集命令入力部２３は、編集対象がファイルである場合、編集内容としてたとえば差分データを生成し、編集対象がデータベースである場合、編集内容としてたとえばＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）命令を生成する。
次に、編集命令送信部２５は、編集対象の編集トランザクションについて、編集命令入力部２３が入力を受け付けた編集内容を確定させる編集命令をデータ編集装置１０に送信する（ステップＳ１７）。
【００３０】
次に、データ編集装置１０の編集命令受信部１３は、編集者端末２０から編集命令を受信する（ステップＳ１８）。次に、編集受付部１６は、受信した編集命令が示す編集内容を編集対象に反映させ、当該編集対象の編集トランザクションを終了する（ステップＳ１９）。そして、編集禁止部１７は、編集命令が示す編集対象及び当該編集対象の下位のノード及び上位のノードに相当するデータの情報であって、編集命令を生成した編集者のＩＤに関連付けられたデータの情報を記憶部１１のロックテーブルから削除する（ステップＳ２０）。
【００３１】
このように、本実施形態によれば、データ編集システムは、木構造に係るデータ群のうち、編集対象のノードに加え、下位のノードに係るデータについても他の編集者による編集を禁止する。これにより、編集中のデータによって参照されるデータについての編集を禁止し、編集対象の編集結果が、編集者が意図しないものとなることを防ぐことができる。
【００３２】
また、本実施形態によれば、データ編集システムは、編集対象の編集が完了するまで、さらに当該編集対象の上位のノードに係るデータについても、編集を禁止する。これにより、編集中のデータを参照するデータについての編集を禁止し、編集対象の編集結果が、編集者が意図しないものとなることを防ぐことができる。
【００３３】
また、本実施形態によれば、編集対象の上位のノードに係るデータの編集のうち要素名の変更や子要素の削除などの一部の編集を禁止する。これにより、上位のノードに係るデータの属性の変更など、木構造に変化を生じさせず、編集対象の編集結果に影響のない編集を許可することができる。
【００３４】
また、本実施形態における編集者端末２０は、本発明に係るデータ編集装置の一実施形態でもある。具体的には、編集命令入力部２３は、編集可否通知が編集可能を示す場合に、編集者から編集内容の入力を受け付ける。すなわち編集命令入力部２３は、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部の一例である。また、編集命令入力部２３は、編集可否通知が編集禁止を示す場合に、編集内容の入力を受け付けない。すなわち編集命令入力部２３は、他の編集者端末２０によるデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部の一例である。
【００３５】
《第２の実施形態》
次に、本発明の第２の実施形態について説明する。
第１の実施形態では、編集が禁止されているデータに対して編集命令を送信した場合に、処理を行わない場合について説明した。第２の実施形態では、編集が禁止されているデータに対して編集命令を送信した場合に、当該編集対象に対して編集予約を受け付けることができる。
【００３６】
図６は、本発明の第２の実施形態に係るデータ編集装置１０の構成を示す概略ブロック図である。
第２の実施形態に係るデータ編集装置１０は、第１の実施形態に係るデータ編集装置１０の構成にさらに予約受付部を備え、記憶部１１が記憶する情報、並びに編集受付部１６及び編集禁止部１７の動作が第１の実施形態と異なる。予約受付部は、編集禁止部１７により編集が禁止されているノードに係るデータについて編集命令を受信した場合に、当該データに対する編集の予約を受け付ける。
【００３７】
記憶部１１のロックテーブルは、第１の実施形態において記憶する情報に加え、予約受付部が予約を受け付けた編集者（以下、予約者という）のＩＤを格納する。
編集受付部１６は、予約受付部による予約がなされているデータの編集トランザクションを完了すると、予約受付部が受け付けたデータの編集トランザクションを開始する。
編集禁止部１７は、予約受付部が予約を受け付けたノードの上位のノード及び下位のノードのうち、編集が禁止されていないデータの編集を禁止する。
【００３８】
次に、本実施形態に係るデータ編集システムの動作について説明する。
図７は、本発明の第２の実施形態に係るデータ編集装置１０における編集トランザクションの開始動作を示すシーケンス図である。なお、第１の実施形態と同じ動作をするステップについては同一の符号を用いて説明する。
【００３９】
まず、データ編集装置１０の表示情報送信部１２は、記憶部１１から、木構造に係るデータ群の内容とロックテーブルに格納された情報を読み出す。次に、表示情報送信部１２は、読み出したデータ群の内容と各データの編集可否とを示す表示情報を編集者端末２０に送信する（ステップＳ１）。
【００４０】
次に、編集者端末２０の表示情報受信部２１は、データ編集装置１０から表示情報を受信する（ステップＳ２）。次に、表示部２２は、表示情報受信部２１が受信した表示情報をディスプレイに表示する（ステップＳ３）。ここで、編集命令入力部２３は、編集者から、ディスプレイに表示したデータの中から編集対象とするデータの選択を受け付ける（ステップＳ４）。このとき、編集命令入力部２３は、編集対象のデータに加え、編集対象の要素及び編集範囲の指定も受け付ける。編集命令入力部２３は、データの選択がない場合（ステップＳ４：ＮＯ）、ステップＳ４の判定を繰り返し実行する。他方、編集命令入力部２３が、データの選択を受け付けると（ステップＳ４：ＹＥＳ）、編集命令送信部２５は、編集命令入力部２３が選択を受け付けたデータについて、指定された要素及び編集範囲について、編集トランザクションの開始を示す編集命令をデータ編集装置１０に送信する（ステップＳ５）。
【００４１】
データ編集装置１０の編集命令受信部１３は、編集者端末２０より編集トランザクションの開始を示す編集命令を受信する（ステップＳ６）。次に、編集可否判定部１４は、編集命令受信部１３が受信した編集命令が示す編集対象のデータの情報が、記憶部１１のロックテーブルに記録されているか否かを判定する（ステップＳ７）。編集可否判定部１４は、編集命令が示す編集対象のデータの情報が、記憶部１１のロックテーブルに記録されていると判定した場合（ステップＳ７：ＹＥＳ）、ロックテーブルにおいて当該編集対象に関連付けられた要素及び範囲を参照し、編集命令が示す編集対象の要素または範囲が編集禁止とされているか否かを判定する（ステップＳ８）。
【００４２】
編集可否判定部１４が、編集命令が示す編集対象の要素または範囲が編集禁止とされていると判定した場合（ステップＳ８：ＹＥＳ）、編集可否通知送信部１５は、編集対象が編集禁止であることを示す編集可否通知を編集者端末２０に送信する（ステップＳ９）。ここで、予約受付部は、編集命令が示す編集対象に関連付けて、当該編集命令を生成した編集者のＩＤを記録する（ステップＳ２１）。これにより、当該編集命令に係る編集対象のデータについて編集を予約することができる。
【００４３】
他方、編集可否判定部１４が、編集命令が示す編集対象がロックテーブルに記録されていないと判定した場合（ステップＳ７：ＮＯ）または編集対象がロックテーブルに記録されているものの、要素及び範囲が編集禁止とされていないと判定した場合（ステップＳ８：ＮＯ）、編集可否通知送信部１５は、編集対象が編集可能であることを示す編集可否通知を編集者端末２０に送信する（ステップＳ１０）。
編集者端末２０の編集可否通知受信部２４は、ステップＳ９またはステップＳ１０において送信された編集可否通知をデータ編集装置１０から受信する（ステップＳ１１）。この場合、編集受付部１６は、編集命令が示す編集対象についての編集トランザクションを開始する。
【００４４】
編集受付部１６が編集トランザクションを開始した場合、または編集予約部が編集の予約を行った場合、編集禁止部１７は、編集命令が示す編集の範囲に、要素名の変更や子要素の追加または削除など、データ群の構造を変更する編集が含まれるか否かを判定する（ステップＳ２２）。編集禁止部１７は、編集命令が示す編集の範囲にデータ群の構造を変更する編集が含まれると判定した場合（ステップＳ２２：ＹＥＳ）、編集命令が示す編集対象及び当該編集対象の下位のノードに対応するデータについて、すべての範囲を編集禁止の範囲に指定し、当該編集対象の下位のノードに対応するデータについて、要素名及び子要素を編集禁止の範囲に指定する（ステップＳ２３）。このとき、編集禁止部１７は、編集命令を生成した編集者のＩＤを編集禁止とするデータに関連付けて、当該データを編集者または予約者として、ロックテーブルに記録する。
【００４５】
他方、編集禁止部１７は、編集命令が示す編集の範囲にデータ群の構造を変更する編集が含まれないと判定した場合（ステップＳ２２：ＮＯ）、編集命令が示す編集対象のデータについてのみ、指定された範囲を編集禁止の範囲に指定する（ステップＳ２４）。
【００４６】
図８は、本発明の第２の実施形態に係るデータ編集装置１０における編集トランザクションの終了動作を示すシーケンス図である。
次に、編集命令入力部２３は、上述したステップＳ１１において編集可否通知受信部２４が受信した編集可否通知が編集可能を示すか否かを判定する（ステップＳ１５）。編集命令入力部２３は、編集可否通知が編集禁止を示すと判定した場合（ステップＳ１５：ＮＯ）、処理を終了する。
他方、編集命令入力部２３は、編集可否通知が編集可能を示すと判定した場合（ステップＳ１５：ＹＥＳ）、編集者から編集対象に対する編集内容の入力を受け付ける（ステップＳ１６）。次に、編集命令送信部２５は、編集対象の編集トランザクションについて、編集命令入力部２３が入力を受け付けた編集内容を確定させる編集命令をデータ編集装置１０に送信する（ステップＳ１７）。
【００４７】
次に、データ編集装置１０の編集命令受信部１３は、編集者端末２０から編集命令を受信する（ステップＳ１８）。次に、編集受付部１６は、受信した編集命令が示す編集内容を編集対象に反映させ、当該編集対象の編集トランザクションを終了する（ステップＳ１９）。次に、編集禁止部１７は、編集命令が示す編集対象及び当該編集対象の下位のノード及び上位のノードに相当するデータの中に、編集の予約がされているデータがあるか否かを判定する（ステップＳ２５）。すなわち、編集禁止部１７は、記憶部１１のロックテーブルの中に、ステップＳ１９で終了させた編集トランザクションの編集者ＩＤを編集者とするデータであって、予約者がＮＵＬＬでないデータがあるか否かを判定する。
【００４８】
編集禁止部１７は、編集の予約がされているデータがないと判定した場合（ステップＳ２５：ＮＯ）、編集命令が示す編集対象及び当該編集対象の下位のノード及び上位のノードに相当するデータの情報であって、編集命令を生成した編集者のＩＤに関連付けられたデータの情報を記憶部１１のロックテーブルから削除する（ステップＳ２０）。
【００４９】
他方、編集禁止部１７は、編集の予約がされているデータがあると判定した場合（ステップＳ２５：ＹＥＳ）、編集命令が示す編集対象及び当該編集対象の下位のノード及び上位のノードに相当するデータのうち、予約を受け付けた編集者がＮＵＬＬのものをロックテーブルから削除する（ステップＳ２６）。このとき、編集禁止部１７は、編集命令が示す編集対象及び当該編集対象の下位のノード及び上位のノードに相当するデータのうち、予約者がＮＵＬＬでないものの、編集者を当該予約者に書き換え、予約者をＮＵＬＬに書き換える。そして、編集受付部１６は、当該編集命令に係る編集トランザクションを開始し、編集可否通知送信部１５は、編集可能を示す編集可否通知を、新たな編集者の編集者端末２０へ通知する（ステップＳ２７）。
【００５０】
このように、本実施形態によれば、データ編集システムは、編集が禁止されているノードに係るデータについて編集の予約を受け付け、データの編集が完了すると、予約に係るデータの編集を受け付ける。これにより、編集禁止とされたデータについて、編集可能となったときに速やかに編集を許可することができる。
【００５１】
また、本実施形態によれば、データ編集システムは、予約を受け付けたデータの上位のノード及び下位のノードについても他の編集者による編集を禁止する。これにより、編集の予約がされたデータの上位のノードまたは下位のノードについて他の編集者によって先に編集がなされてしまい、編集結果が編集者の意図と異なるものとなることを防ぐことができる。
【００５２】
《第３の実施形態》
次に、本発明の第３の実施形態について説明する。
第１の実施形態では、編集命令に含まれる編集内容として差分データまたはＳＱＬ文を用いる場合について説明した。第３の実施形態では、編集内容として変更点を含む全文データを用いる場合について説明する。
【００５３】
第３の実施形態に係る編集可否判定部１４は、全文データの中から変更点がどの要素に係るものであるかを判定する必要がある。ここで、編集可否判定部１４は、記憶部１１が記憶するデータ群のノードと編集内容のノードとを深さ優先探索に基づいて比較する。そして、編集可否判定部１４は、当該ノードのうち属性名や属性値が変更されている場合、当該ノードが変更対象のノードであると判定する。すべてのノードについて同様に探索を継続することで、編集可否判定部１４は、属性名や属性値の変更対象のノードを特定することができる。他方、編集可否判定部１４は、ノード名が変更されている場合、当該ノードの１つ上位のノードが編集対象のノードであると判定する。この場合、編集可否判定部１４は、当該ノードの下位のノードの探索を行わず、次のノードの探索を行う。
【００５４】
このように、本実施形態によれば、データ編集システムは、編集内容として変更点を含む全文データを用いてデータの編集を行うことができる。
【００５５】
《第４の実施形態》
第１の実施形態では、編集対象のノードと当該ノードの上位のノード及び下位のノードを編集禁止にする場合について説明した。第４の実施形態では、編集対象のノードと並列の関係にあるノード以外のノードを編集禁止にする。この場合、編集禁止にするノードのうち、編集対象のノード及びその下位のノード以外のノードを、一部編集禁止にすることが好ましい。
これにより、上位のノード以外で、編集対象に影響を与えるノードを編集禁止にすることができる。
【００５６】
《第５の実施形態》
第１の実施形態では、上位のノードに対する一部編集禁止において、要素の入れ替えを禁止しない場合について説明した。第５の実施形態では、上位のノードに対する一部編集禁止において、要素の入れ替えを禁止する。
【００５７】
下位のノードの並び順によってコンテンツの内容が変わらない場合（例えば、レストランのドリンクメニューの並び順）には、第１の実施形態のように、並び順の変更を禁止する必要はない。他方、下位のノードの並び順によってコンテンツの内容が変わる場合（例えば、レストランのコース料理の並び順）は、編集前後において並び順の変更を禁止することが好ましい。
【００５８】
《第６の実施形態》
第１の実施形態では、上位のノードに対する一部編集禁止において、上位のノードに係るデータの全要素において、属性の値の変更を許可する場合について説明した。第６の実施形態では、上位のノードに係るデータのうち、編集対象のデータに係る要素のみ、一部編集禁止とし、他の要素については編集を禁止しない。つまり、第６の実施形態に係る編集禁止部１７は、編集受付部１６が受け付けたノードの上位のノードに係るデータの編集のうち、編集受付部１６が受け付けたノードに係る編集を禁止する。
【００５９】
上位のノードに係るデータにおいて、編集対象となるデータが格納される部分と異なる部分については、木構造が変化するような編集を行っても編集対象に影響を与える可能性は小さいといえる。したがって、本実施形態のように、上位のノードに係るデータのうち、編集対象のデータに係る要素のみ、一部編集禁止とすることで、編集の自由度を高めることができる。
【００６０】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００６１】
なお、上述のデータ編集装置１０及び編集者端末２０は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００６２】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６３】
（１）一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部１６と、前記編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部１７とを備えることを特徴とするデータ編集装置１０。
【００６４】
（２）前記編集禁止部１７は、前記編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、さらに前記編集受付部１６が受け付けたノードの上位のノードに係るデータについて編集を禁止することを特徴とする（１）に記載のデータ編集装置１０。
【００６５】
（３）前記編集禁止部１７は、前記編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、前記編集受付部１６が受け付けたノードの上位のノードに係るデータの編集のうち一部の編集を禁止することを特徴とする（２）に記載のデータ編集装置１０。
【００６６】
（４）前記編集禁止部１７は、前記編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、前記編集受付部１６が受け付けたノードの上位のノードに係るデータの編集のうち、前記編集受付部１６が受け付けたノードに係る編集を禁止することを特徴とする（３）に記載のデータ編集装置１０。
【００６７】
（５）一の編集者から、前記編集禁止部１７により編集が禁止されているノードに係るデータについて編集の予約を受け付ける予約受付部を備え、前記編集受付部１６は、前記編集受付部１６が受け付けたノードに係るデータの編集が完了すると、前記予約受付部が受け付けたノードに係るデータの編集を受け付けることを特徴とする（１）から（４）のいずれかに記載のデータ編集装置１０。
【００６８】
（６）前記木構造に係るデータ群を記憶する記憶部１１と、一の編集者から、前記記憶部１１が記憶するデータ群の一部のデータの編集命令を受信する編集命令受信部１３と、前記編集命令受信部１３が受信した編集命令に係る編集箇所が、前記編集禁止部１７によって編集が禁止されているノードに係るデータであるか否かを判定する編集可否判定部１４と、を備え、前記編集受付部１６は、前記編集可否判定部１４が、前記編集箇所が編集が禁止されているノードに係るデータでないと判定した場合に、当該編集命令に係るノードの編集を受け付けることを特徴とする（１）から（５）のいずれかに記載のデータ編集装置１０。
【００６９】
（７）データ編集装置１０を用いたデータ編集方法であって、編集受付部１６が、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付け、編集禁止部１７が、前記編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止することを特徴とするデータ編集方法。
【００７０】
（８）コンピュータを、一の編集者から、木構造に係るデータ群の一のノードに係るデータの編集を受け付ける編集受付部１６、前記編集受付部１６が受け付けたノードに係るデータの編集が完了するまで、当該ノード及び当該ノードの下位のノードに係るデータについて、他の編集者による編集を禁止する編集禁止部１７として機能させるためのプログラム。
【符号の説明】
【００７１】
１０…データ編集装置  １１…記憶部  １２…表示情報送信部  １３…編集命令受信部  １４…編集可否判定部  １５…編集可否通知送信部  １６…編集受付部  １７…編集禁止部  ２０…編集者端末  ２１…表示情報受信部  ２２…表示部  ２３…編集命令入力部  ２４…編集可否通知受信部  ２５…編集命令送信部  １００…データ編集システム
【図１】
2014194680.tif 000003
【図２】
2014194680.tif 000004
【図３】
2014194680.tif 000005
【図４】
2014194680.tif 000006
【図５】
2014194680.tif 000007
【図６】
2014194680.tif 000008
【図７】
2014194680.tif 000009
【図８】
2014194680.tif 000010