(57)【要約】【課題】共有データの分散編集に、データファイルの欠損や編集履歴ファイルの履歴データ破壊を起こすことなく、データファイルのオフライン編集ができる。【解決手段】各端末１〜３は、編集した分の編集データを自端末の編集ファイル１Ｆ〜３Ｆに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けて編集履歴ファイル５に保存し、編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新する。各端末は、オフラインで編集を行うとき、データファイル４と編集履歴ファイルを自端末にコピーし、編集ファイルをオフライン専用の編集ファイルとしてコピーする。各端末は、オフラインで行った編集結果を、オフライン専用の編集ファイルの編集データとそのバージョン番号を付けて編集履歴ファイルに保存し、ネットワークを利用したオンラインの編集に戻す。【選択図】図１
2008269277.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末がネットワークを介してネットワーク上の共有のデータファイルを読み込んで自端末のメモリ上にデータとして展開し、このデータの編集を行い、この編集データをネットワークを介してデータファイルに保存・更新する共有データの分散編集システムにおいて、
各端末は、
編集した分の編集データを自端末の編集ファイルに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けてネットワーク上の編集履歴ファイルに保存する手段と、
各端末は前記編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新する手段とを備えたことを特徴とする共有データの分散編集システム。
【請求項２】
各端末は、オフラインで編集を行うとき、前記データファイルと編集履歴ファイルを自端末にコピーし、前記編集ファイルをオフライン専用の編集ファイルとしてコピーする手段を備えたことを特徴とする請求項１に記載の共有データの分散編集システム。
【請求項３】
各端末は、オフラインで行った編集結果を、オフライン専用の編集ファイルの編集データとそのバージョン番号を付けて、前記編集履歴ファイルに保存し、ネットワークを利用したオンラインの編集に戻す手段を備えたことを特徴とする請求項１または２に記載の共有データの分散編集システム。
【請求項４】
複数の端末がネットワークを介してネットワーク上の共有のデータファイルを読み込んで自端末のメモリ上にデータとして展開し、このデータの編集を行い、この編集データをネットワークを介してデータファイルに保存・更新する共有データの分散編集方法において、
各端末は、
編集した分の編集データを自端末の編集ファイルに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けてネットワーク上の編集履歴ファイルに保存するステップと、
各端末は前記編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新するステップとを有することを特徴とする共有データの分散編集方法。
【請求項５】
各端末は、オフラインで編集を行うとき、前記データファイルと編集履歴ファイルを自端末にコピーし、前記編集ファイルをオフライン専用の編集ファイルとしてコピーするステップを有することを特徴とする請求項４に記載の共有データの分散編集方法。
【請求項６】
各端末は、オフラインで行った編集結果を、オフライン専用の編集ファイルの編集データとそのバージョン番号を付けて、前記編集履歴ファイルに保存し、ネットワークを利用したオンラインの編集に戻すステップを有することを特徴とする請求項４または５に記載の共有データの分散編集方法。
【請求項７】
請求項４〜６のいずれか１項に記載の共有データの分散編集方法における処理手順を、コンピュータで実行可能に構成したことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末が通信ネットワークを介して共有データを分散編集できるシステムおよび方法に係り、特に各端末のメモリ上に展開した共有データの分散編集に関する。
【背景技術】
【０００２】
コンピュータネットワーク上の各端末は、特定の端末のファイル資源を共有して利用することができ、共有のデータファイルに対して他の端末からアクセスしてファイルの新規作成、書き込み、読み出しを可能としている。
【０００３】
この場合、各端末が特定のファイルを開く際には、書き込み禁止、読み出し禁止などのファイルロックを指定する。このことによって複数の端末が同一のファイルに同時にアクセスする際の障害を防ぐことができる。さらに、各端末はこれらのファイルが変更したかどうかを認識することができる。
【０００４】
さらにまた、データの分散編集に、全データを保存するデータファイルの他に、１回で編集した分だけの情報として管理するための編集履歴ファイルを設け、このファイルを各端末が参照することにより、他の端末によって受けた編集内容を把握し、自端末のデータを更新することにより、データの分散環境を実現するものもある（例えば、特許文献１参照）。この手法によれば、電力系統の配電自動化システムのような大規模システムの設備データの分散編集も可能となる。
【特許文献１】特開平１１−３０６０６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記の特許文献１による分散編集方法は、複数の端末はネットワークを介してデータファイルに結合され、各端末はデータファイルを読み込んで自端末のメモリ上にデータとして展開し、各端末は読み込んだデータに対して編集を行う。
【０００６】
データファイルには編集履歴ファイルを用意しておき、各端末で編集した分の編集データとそのバージョン番号を付けて編集履歴ファイルに保存する。この編集履歴ファイルを各端末が参照することによって、バージョン番号ごとの編集データについて、自端末のメモリ上のデータを更新する。
【０００７】
このとき、各端末はネットワーク上のデータファイルにアクセスすることになるため、例えば、ネットワークにトラブルが生じた場合に編集作業が中断される。また、客先や外出先などネットワークから外れて編集作業をすることはできない。
【０００８】
これらの対策として、ネットワークを利用せずにオフラインで編集を行い、その編集結果をオンラインでデータファイルに反映させることが考えられるが、単にデータファイルを端末側に読み込んでオフライン編集を行うのでは、他の端末によるオンライン編集と競合すると、データファイルの欠損や編集履歴ファイルの履歴データ破壊（履歴管理不能、誤ったバージョン番号発生）を起こすおそれがある。
【０００９】
本発明の目的は、データファイルの欠損や編集履歴ファイルの履歴データ破壊を起こすことなく、データファイルのオフライン編集ができる共有データの分散編集システム、分散編集方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、前記の課題を解決するため、各端末が編集した分の編集データを編集ファイルに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けて編集履歴ファイルに保存し、各端末は編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新するようにしたもので、以下の分散編集システム、分散編集方法およびプログラムを特徴とする。
【００１１】
（１）複数の端末がネットワークを介してネットワーク上の共有のデータファイルを読み込んで自端末のメモリ上にデータとして展開し、このデータの編集を行い、この編集データをネットワークを介してデータファイルに保存・更新する共有データの分散編集システムにおいて、
各端末は、
編集した分の編集データを自端末の編集ファイルに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けてネットワーク上の編集履歴ファイルに保存する手段と、
各端末は前記編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新する手段とを備えたことを特徴とする。
【００１２】
（２）各端末は、オフラインで編集を行うとき、前記データファイルと編集履歴ファイルを自端末にコピーし、前記編集ファイルをオフライン専用の編集ファイルとしてコピーする手段を備えたことを特徴とする。
【００１３】
（３）各端末は、オフラインで行った編集結果を、オフライン専用の編集ファイルの編集データとそのバージョン番号を付けて、前記編集履歴ファイルに保存し、ネットワークを利用したオンラインの編集に戻す手段を備えたことを特徴とする。
【００１４】
（４）複数の端末がネットワークを介してネットワーク上の共有のデータファイルを読み込んで自端末のメモリ上にデータとして展開し、このデータの編集を行い、この編集データをネットワークを介してデータファイルに保存・更新する共有データの分散編集方法において、
各端末は、
編集した分の編集データを自端末の編集ファイルに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けてネットワーク上の編集履歴ファイルに保存するステップと、
各端末は前記編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新するステップとを有することを特徴とする。
【００１５】
（５）各端末は、オフラインで編集を行うとき、前記データファイルと編集履歴ファイルを自端末にコピーし、前記編集ファイルをオフライン専用の編集ファイルとしてコピーするステップを有することを特徴とする。
【００１６】
（６）各端末は、オフラインで行った編集結果を、オフライン専用の編集ファイルの編集データとそのバージョン番号を付けて、前記編集履歴ファイルに保存し、ネットワークを利用したオンラインの編集に戻すステップを有することを特徴とする。
【００１７】
（７）上記（４）〜（６）の共有データの分散編集方法における処理手順を、コンピュータで実行可能に構成したことを特徴とする。
【発明の効果】
【００１８】
以上のとおり、本発明によれば、各端末が編集した分の編集データを編集ファイルに保存し、編集データをすべての端末で共有するときは編集データとそのバージョン番号を付けて編集履歴ファイルに保存し、各端末は編集履歴ファイルを参照することによってバージョン番号ごとの編集データについて自端末のメモリ上のデータを更新するようにしたため、データファイルの欠損や編集履歴ファイルの履歴データ破壊を起こすことなく、データファイルのオフライン編集ができる。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明の実施形態を示す共有データの分散編集システムの構成図であり、以下に説明する各端末１，２，３は共有データの分散編集機能を、コンピュータシステムのハードウェア資源とこれに搭載するソフトウェアの協働で実現する。
【００２０】
各端末１，２，３はネットワークを介してデータファイル４へのアクセスを可能にする。  データファイル４は、システムで共有する全データをファイル別にしてその保存・編集を可能にする。編集履歴ファイル５は、各端末１，２，３がデータファイル４に対して編集した内容（編集データ）とそのときのファイルのバージョン番号を組にしたデータを順にならべて保存する。バージョン番号は、各データファイルの編集回数をカウントしているもので当該データファイルが１回の編集で変更を受けるたびにカウントが１つ進められる。データファイルのバージョンが７であったら、７回編集をうけたことを示す。
【００２１】
各端末１，２，３は、図２に示すように、データファイル４に対して編集を行うと、編集した分の編集データを自端末に編集ファイル１Ｆ、２Ｆ、３Ｆとして保存する。この編集データをすべての端末で共有するときは、この編集データにバージョン番号を付けて編集履歴ファイル５に保存する。このとき、編集ファイル１Ｆ、２Ｆ、３Ｆの中身はすべて削除して空にする。
【００２２】
各端末によるデータ編集手順を説明する。図３はデータ編集時の処理手順を示す。各端末（端末１Ｆとする）は、起動時にデータファイル（Ａ）を読み込んで自身のメモリ上にデータを展開し（Ｓ１）、次に編集履歴ファイル（Ｂ）を読み込み（Ｓ２）、バージョンごとの編集データについてメモリ上のデータを更新する（Ｓ３）。最後に編集ファイル（Ｃ）を読み込み（Ｓ４）、読み込んだ編集データについてメモリ上のデータを更新する（Ｓ５）。
【００２３】
図４は各端末によるオフライン編集の前処理手順を示す。各端末（端末１Ｆとする）はネットワークを利用せずにオフラインで作業を行う場合、ネットワーク上のデータファイル４と編集履歴ファイル５のうち、１回で編集するファイル分を自端末に（Ａ’）、（Ｂ’）としてコピーし、編集ファイル（Ｃ）をオフライン専用のオフライン編集ファイル（Ｃ’）としてコピーする。このとき、オンライン用の編集ファイル（Ｃ）の中身はすべて削除して空にしておく。
【００２４】
なお、データに対して編集を行うと、編集した分の編集データは、オフライン専用のオフライン編集ファイル（Ｃ’）に保存する。また、この編集データをすべての端末で共有することはできないようにするため、コピーしたデータファイル（Ａ’）と編集履歴ファイル（Ｂ’）については読み込み専用にする。
【００２５】
図５は、オフラインでのファイル編集処理を示す。各端末（１Ｆとする）は、オフラインでの起動時に、コピーしたデータファイル（Ａ’）を読み込んでメモリ上にデータを展開し（Ｓ１１）、次にコピーした編集履歴ファイル（Ｂ’）を読み込み（Ｓ１２）、バージョンごとの編集データについてメモリ上のデータを更新する（Ｓ１３）。最後にオフライン編集ファイル（Ｃ’）を読み込み（Ｓ１４）、メモリ上のデータを更新する（Ｓ１５）。
【００２６】
図６は１つの端末でオフライン編集したデータを各端末で共有できる状態に戻すための処理手順を示す。オフラインで行った編集作業をネットワークを利用したオンラインの編集作業に戻す場合、オフライン専用の編集ファイルの編集データ（Ａ）にバージョン番号を付けて、ネットワーク上の編集履歴ファイル５に保存する。
【００２７】
このときのバージョン番号は、編集履歴ファイル５の最新のバージョン番号の次の番号（図示では３）に設定する。また、端末のオフライン編集ファイルの中身は全て削除する。
【００２８】
図７は、オフライン編集データが無効とする場合の処理手順を示す。同図に示すように、データファイルにバージョン１のデータＡ，Ｂが保存された状態で、これらデータをある端末でオフライン編集のために読み込み、データＡ’、Ｂ’に編集し、オンラインでデータファイルにバージョン２として追加するとき、この間に他の端末によってデータファイルのデータＢが削除されていると、編集データＢをＢ’に変更する処理はできない。
【００２９】
このようなデータはメモリ上のデータに反映させず、エラーとして情報を表示する。また、オフライン編集した端末は、オフライン専用のオフライン編集ファイルの中身はすべて削除して空にする。また、データに対して編集を行うと、編集した分の編集データは、オンライン用の編集ファイルに保存する。
【００３０】
以上までの分散編集処理により、ネットワークを利用して行うオンラインの共同作業を、ネットワークを利用せずにオフラインで作業を行い、この後にネットワークを利用して行うオンラインに戻して、引き続き共同作業を行うことができる。しかも、データファイルの欠損や編集履歴ファイルの履歴データ破壊を起こすことはない。以下、共有データの分散編集処理の具体例を説明する。
【００３１】
（具体例１）
配電自動化システムの設備データメンテナンスに適用した場合であり、図８にオフライン時のファイル構成を示す。
【００３２】
前記の特許文献１と同様に、データファイルには配電自動化システムの全設備データとそのバージョン番号を保存し、編集履歴ファイルや端末の編集ファイルには、実設備の工事内容を示した件名単位を編集データとして保存する。編集履歴ファイルについてはバージョン番号も保存する。
【００３３】
オフラインで作業を行う場合、端末は、データファイル４と編集履歴ファイル５を自端末にコピーし、それぞれデータファイル（ローカル）と編集履歴ファイル（ローカル）とする。これら２つのファイルは読み取り専用とする。また、編集ファイルをオフライン専用のオフライン編集ファイルとしてコピーし、編集ファイルの中身は空にする。
【００３４】
端末では、データに対して編集を行う（例えば、Ａ設備Ｎｏ．１０を新設する）と、オフライン編集ファイルに実設備の工事内容を示した件名単位を編集データとして（例えば、件名Ｚ、予定日時０７／２／１、Ｂ設備Ｎｏ．４新設、Ａ設備Ｎｏ．１０新設）を保存する。
【００３５】
この後、オフラインで行った編集作業をネットワークを利用したオンラインの作業に戻す場合、図９に示すように、オフライン専用の編集ファイルの編集データにバージョン番号（Ｎｏ．１８）を付けて、ネットワーク上の編集履歴ファイル５に保存する。引き続きオンラインでデータに対して編集を行う（例えば、Ａ設備Ｎｏ．１０を撤去する）と、編集ファイルに編集データ（例えば、件名Ｗ、予定日時０７／２／２、Ａ設備Ｎｏ．１０撤去）を保存する。
【００３６】
（具体例２）
統一モデリング言語（ＵＭＬ）によるソフトウェア開発支援システムに適用した場合である。
【００３７】
ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）は、ソフトウェア開発のためのモデリング言語であり、開発対象のシステムの構造を表現するための表記法で、開発者同士の意思疎通を図ることができる。
【００３８】
ＵＭＬによるソフトウェア開発には、開発対象となるシステムの仕様作成、設計、実装を支援する表記物として、ユースケース図（システムの機能定義）、アクティビティ図（動作の流れ）、シーケンス図（オブジェクト間の相互作用）、オブジェクト図（インスタンスのスナップショット表記）、クラス図（静的なモデルを定義）などを作成する。ＵＭＬには上記のユースケース図やクラス図などの１０個の図が定義されているが、画面や画面遷移を表現する図を作成する機能を持たせたものもある（例えば、明電時報  ２００６  ９・１０月  通巻３１０号  Ｎｏ．５を参照）。
【００３９】
これらの図に使用される各機能要素は、ＵＭＬに定められる画面部品（矩形、楕円、円、矢印、アクター記号、コネクタ記号、ノード記号、選択記号など）および文字（名称や属性情報）の組み合わせで作成される。
【００４０】
図１０は、ソフトウェア開発支援システムのファイル構成を示す。データファイル４には、対象システムの設計情報である、ＵＭＬの各図や、各図に載っているモデルを、データとして保存する。例えば、ユースケース図やクラス図、ユースケース図に載っているアクターやユースケース、クラス図に載っているクラスやそのクラスのフィールドやメソッドである。また設計情報のバージョン番号も保存する。
【００４１】
編集履歴ファイル５や端末の編集ファイル１Ｆには、編集データを保存する。編集データは、対象システムの設計内容を示した一連の操作である。例えば、ユースケース図Ｃの作成、アクターＣ１の作成、ユースケースＣ２の作成である。また、編集履歴ファイルにはバージョン番号も保存する。例えば、Ｎｏ．１２４である。
【００４２】
図１１は、オフライン時のファイル構成を示し、オフラインで作業を行う場合、データファイルと編集履歴ファイルを自端末にコピーし、それぞれデータファイル（ローカル）と編集履歴ファイル（ローカル）とする。これら２つのファイルは読み取り専用とする。
【００４３】
編集ファイルをオフライン専用のオフライン編集ファイルとしてコピーする。編集ファイルの中身は空にする。
【００４４】
データに対して編集を行う（例えば、クラスＤ３を作成する）と、オフライン編集ファイルに編集データ（例えば、クラスＤ３の作成）を保存する。
【００４５】
図１２は、オンライン時のファイル構成を示す。オフラインで行った作業をネットワークを利用したオンラインの作業に戻す場合、オフライン専用の編集ファイルの編集データにバージョン番号（Ｎｏ．１２６）を付けて、ネットワーク上の編集履歴ファイルに保存する。引き続きオンラインでデータに対して編集を行う（例えば、クラスＥ１を作成する）と、編集ファイルに編集データ（例えば、クラスＥ１の作成）を保存する。
【００４６】
なお、本発明は、上記の実施形態で示す共有データの分散編集システムの一部又は全部の処理手順を有する開発支援方法とすること、あるいはこの方法の処理手順をコンピュータで実行可能に構成したプログラムとして提供することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態を示す共有データの分散編集システムの構成図。
【図２】編集データの処理手順図。
【図３】データ編集時の処理手順図。
【図４】オフライン編集の前処理手順図。
【図５】オフラインでのファイル編集処理手順図。
【図６】オフライン編集データの共有処理手順図。
【図７】オフライン編集データの無効処理手順図。
【図８】オフライン時のファイル構成（配電自動化システム）。
【図９】オンライン時のファイル構成（配電自動化システム）。
【図１０】ソフトウェア開発支援システムのファイル構成。
【図１１】オフライン時のファイル構成（ソフトウェア開発支援システム）。
【図１２】オンライン時のファイル構成（ソフトウェア開発支援システム）。
【符号の説明】
【００４８】
１〜３  端末
１Ｆ、２Ｆ、３Ｆ  編集ファイル
４  データファイル
５  編集履歴ファイル
【図１】
2008269277.tif 000003
【図２】
2008269277.tif 000004
【図３】
2008269277.tif 000005
【図４】
2008269277.tif 000006
【図５】
2008269277.tif 000007
【図６】
2008269277.tif 000008
【図７】
2008269277.tif 000009
【図８】
2008269277.tif 000010
【図９】
2008269277.tif 000011
【図１０】
2008269277.tif 000012
【図１１】
2008269277.tif 000013
【図１２】
2008269277.tif 000014