(57)【要約】【課題】複数のデータ管理装置内のプログラムバージョンの同期をとること。【解決手段】クライアント１からサーバ２のレポジトリ４の変更指示がなされると、サーバ２は、レポジトリ４を変更後、変更情報を電子メールによりサーバ６に送信する。サーバ６は受信した変更情報に基づいてレポジトリ８を変更する。これによりサーバ２のレポジトリ４のプログラムバージョンをサーバ６のレポジトリ８に容易に反映することが可能となる。また、サーバ２のレポジトリ４のプログラムバージョンとサーバ６のレポジトリ８のプログラムバージョンの非同期となる時間を短縮することが可能となる。【選択図】        図１
2004287947.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
前記データの複製を記憶する別のサーバから、前記データの変更部分を少なくとも含む変更情報と前記データを特定するための識別情報とを受信する受信手段と、
前記変更情報の受信に応じて、前記記憶手段に記憶されている前記識別情報で特定されるデータを前記変更情報に基づき変更する変更手段と、
前記変更手段による変更に応じて、少なくとも前記変更されたデータの識別情報を含む報知情報を予め定められた電子メールアドレスに送信する送信手段とを備えた、データ管理装置。
【請求項２】
前記受信手段は、前記別のサーバにおいて新規に作成された新規データと、前記新規データの識別情報とを受信する新規データ受信手段を含み、
前記新規データの受信に応じて、前記新規データの識別情報と前記新規データとを関連付けて前記記憶手段に記憶する追加手段をさらに備え、
前記送信手段は、前記追加手段による追加に応じて、少なくとも前記新規データの識別情報を含む追加情報を予め定められた電子メールアドレスに送信する追加情報送信手段を含む、請求項１に記載のデータ管理装置。
【請求項３】
前記受信手段は、前記データを変更した者に与えられた電子メールアドレスと、変更の元となったデータのバージョン情報とをさらに受信し、
前記変更手段は、前記受信されたバージョン情報と前記記憶手段に記憶されたデータのバージョン情報とを比較して変更するか否かを判断する変更判断手段を含み、
前記変更判断手段により変更すると判断されたときに変更し、
前記変更判断手段により変更しないと判断されたときに、前記データの識別情報と、変更しなかった旨を示すエラー情報とを、前記受信された電子メールアドレス宛に送信する変更不可通知手段をさらに備えた、請求項１に記載のデータ管理装置。
【請求項４】
前記記憶手段により記憶している前記データを、前記データ毎に予め定められた所定のアクセス者にのみ公開を許可するデータ公開制限手段をさらに備えた、請求項１に記載のデータ管理装置。
【請求項５】
前記記憶手段により記憶している前記データ毎に変更を禁止する変更禁止手段をさらに備えた、請求項１に記載のデータ管理装置。
【請求項６】
前記記憶手段は、前記データと電子メールアドレスとを関連付けて記憶する、請求項１に記載のデータ管理装置。
【請求項７】
前記送信手段は、送信する情報を暗号化する暗号化手段を含み、
前記受信手段は、前記暗号化手段により暗号化された情報を復号化する復号化手段を含む、請求項１に記載のデータ管理装置。
【請求項８】
データを記憶するステップと、
前記データの複製を記憶する別のサーバから、前記データの変更部分を少なくとも含む変更情報と前記データを特定するための識別情報とを受信するステップと、
前記変更情報の受信に応じて、前記記憶手段に記憶されている前記識別情報で特定されるデータを前記変更情報に基づき変更するステップと、
前記変更手段による変更に応じて、少なくとも前記変更されたデータの識別情報を含む報知情報を予め定められた電子メールアドレスに送信するステップとを備えた、データ管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ管理装置およびデータ管理プログラムに関し、特に他のデータ管理装置と接続されたデータ管理装置およびそのデータ管理装置で実行されるデータ管理プログラムに関する。
【０００２】
【従来の技術】
コンピュータシステムは複数のコンピュータプログラム（以下、プログラムという）が実行されることにより実現される。コンピュータシステムの規模が大きくなると、コンピュータシステムの開発期間を短縮するために、複数の開発者が協力して複数のプログラムを作成することがなされている。コンピュータシステムでは１つのプログラムの変更が他のプログラムの動作に影響を与える場合がある。例えば、プログラムが互いにデータや引数の受け渡しなどを行なう場合である。そのため複数の開発者が協力して複数のプログラムを作成する場合、開発者は他のプログラムバージョンを考慮して自己が担当するプログラムを作成することが重要となる。
【０００３】
そこで、コンピュータシステム開発に関する全てのプログラムを１台のサーバに記憶し、複数の開発者が最新のバージョンのプログラムを参照することができるようにしたシステムがある。
【０００４】
また複数人が距離の離れた場所で異なるプログラムを作成する場合がある。例えば、東京と大阪で異なるプログラムを作成する場合である。この場合、東京と大阪にそれぞれ上記のサーバを設置してネットワークで接続する。各サーバには同じプログラムを記憶する。この場合には、互いのサーバ内のプログラムバージョンの同期をとる必要がある。
【０００５】
ここでプログラムバージョンの同期をとる方法の１つは、サーバ内のプログラムを変更する権限を与えられたクライアントに、その変更を依頼する方法である。通常は、例えば大阪のサーバに接続するクライアントから直接東京のサーバ内のプログラムを変更することができない。このため大阪のサーバに接続するクライアントは該クライアントで作成したプログラムを、東京のサーバ内のプログラムを変更する権限が与えられた東京のサーバに接続するクライアントに送信する。その後、変更依頼を受けた東京サーバに接続するクライアントは、受信したプログラムにより東京のサーバ内のプログラムを変更する。
【０００６】
他の方法として、サーバでバッチ処理などを行ってプログラムバージョンの同期をとる方法がある。例えば、大阪のサーバでは、サーバ内のプログラムは該サーバに接続したクライアントからの指示のみで変更される。一方、東京のサーバでは、サーバ内のプログラムは該サーバに接続したクライアントからの指示のみで変更される。バッチ処理による方法では、所定の時間が経過後、互いのサーバ内のプログラムが送受信される。各サーバは、サーバ内のプログラムバージョンより新しいバージョンのプログラムを受信したとき、各サーバ内の古いプログラムを最新バージョンのプログラムに変更する。
【０００７】
【非特許文献１】
「ＵＮＩＸ  ＭＡＧＡＺＩＮＥ２００１年１月号」株式会社アスキー、２００１年１月１日発行、ｐ．２４−３５
【０００８】
【非特許文献２】
大月美佳著「Ｃｏｎｃｕｒｒｅｎｔ  Ｖｅｒｓｉｏｎｓ  Ｓｙｓｔｅｍ」株式会社秀和システム、２００１年１０月２５日、ｐ．２０４−２２１
【０００９】
【発明が解決しようとする課題】
しかしながら、従来の技術では、プログラムを変更したクライアントは、プログラムを変更するたびにサーバのプログラムを変更する権限を有するクライアントに変更依頼しなければならなかった。よって変更依頼されるクライアントの負担が大きかった。
【００１０】
また所定の時間の経過後にバッチ処理などで複数のサーバ内のプログラムバージョンの同期をとる方法では、サーバ内のプログラムが変更されてからバッチ処理が行なわれるまでの間、互いのサーバ内のプログラムバージョンの同期がとれていない状態が長く続いていた。
【００１１】
この発明は上述の問題点を解決するためになされたもので、この発明の目的の１つはクライアントでのプログラムの変更を容易にサーバへ反映させることが可能なデータ管理装置およびデータ管理プログラムを提供することである。
【００１２】
この発明の他の目的は、複数のサーバ内のプログラムバージョンの非同期の時間を短縮することが可能なデータ管理装置およびデータ管理プログラムを提供することである。
【００１３】
【課題を解決するための手段】
この発明のある局面によれば、データ管理装置はデータを記憶する記憶手段と、データの複製を記憶する別のサーバから、データの変更部分を少なくとも含む変更情報とデータを特定するための識別情報とを受信する受信手段と、変更情報の受信に応じて、記憶手段に記憶されている識別情報で特定されるデータを変更情報に基づき変更する変更手段と、変更手段による変更に応じて、少なくとも変更されたデータの識別情報を含む報知情報を予め定められた電子メールアドレスに送信する送信手段とを備える。
【００１４】
この発明に従えば、別のサーバの変更データを受信して、受信した情報に基づいて自己のサーバ内のデータを変更する。他のサーバ内のデータの変更を容易に自己のサーバに反映することが可能なデータ管理装置を提供することができる。
またサーバ内のデータを変更した情報を予め定められた電子メールアドレスに送信するので、開発者はサーバ内のデータが変更された旨を直ちに知ることができる。
【００１５】
好ましくは、受信手段は別のサーバにおいて新規に作成された新規データと、新規データの識別情報とを受信する新規データ受信手段を含み、新規データの受信に応じて、新規データの識別情報と新規データとを関連付けて記憶手段に記憶する追加手段をさらに備え、送信手段は、追加手段による追加に応じて、少なくとも新規データの識別情報を含む追加情報を予め定められた電子メールアドレスに送信する送信手段を含む。
【００１６】
この発明に従えば、別のサーバにおいて新規に作成された新規データを受信して、受信した情報に基づいて自己のサーバに新規データを追加する。またサーバ内に新規データを追加した情報を予め定められた電子メールアドレスに送信する。その結果、開発者は新規にデータが追加された旨を直ちに知ることができる。
【００１７】
好ましくは、受信手段はデータを変更した者に与えられた電子メールアドレスと、変更の元となったデータのバージョン情報とをさらに受信し、変更手段は受信されたバージョン情報と記憶手段に記憶されたデータのバージョン情報とを比較して変更するか否かを判断する変更判断手段を含み、変更判断手段により変更すると判断されたときに変更し、変更判断手段により変更しないと判断されたときに、データの識別情報と、変更しなかった旨を示すエラー情報とを、受信された電子メールアドレス宛に送信する変更不可通知手段をさらに備える。
【００１８】
この発明に従えば、変更データを受信したサーバがデータを変更しなかったときにエラー情報をデータの変更者に通知する。その結果、データの変更者はサーバ内のデータが変更されなかったことを直ちに知ることが可能となる。
【００１９】
好ましくは、記憶手段により記憶しているデータを、データ毎に予め定められた所定のアクセス者にのみ公開を許可するデータ公開制限手段をさらに備える。
【００２０】
この発明に従えば、サーバ内のデータ毎にアクセス可能なユーザを設定する。その結果、公開しないデータへのアクセスを防止することが可能となる。
【００２１】
好ましくは、記憶手段により記憶しているデータ毎に変更を禁止する変更禁止手段をさらに備える。
【００２２】
この発明に従えば、サーバ内のデータ毎にデータ変更の可否を設定することできる。その結果、変更を禁止されている者からのサーバ内のデータ変更を防止することできる。また誤ったデータの変更を防止することが可能となる。
【００２３】
好ましくは、記憶手段は、前記データと電子メールアドレスとを関連付けて記憶する。
【００２４】
この発明に従えば、サーバ内のデータ毎に電子メールを送信するメールアドレスを設定する。その結果、データが変更された場合、変更されたデータに関連する開発者などに変更された旨を通知することが可能となる。
【００２５】
好ましくは、送信手段は、送信する情報を暗号化する暗号化手段を含み、受信手段は、暗号化手段により暗号化された情報を復号化する復号化手段を含む。
【００２６】
この発明に従えば、電子メールの内容を暗号化してから送信する。また、暗号化された電子メールを復号化する。その結果、電子メールの内容が漏洩、盗聴などされても電子メールの内容を外部に知られることを防止することが可能となる。
【００２７】
本発明の他の局面に従うと、データを記憶するステップと、データの複製を記憶する別のサーバから、データの変更部分を少なくとも含む変更情報とデータを特定するための識別情報とを受信するステップと、変更情報の受信に応じて、記憶手段に記憶されている識別情報で特定されるデータを変更情報に基づき変更するステップと、変更手段による変更に応じて、少なくとも変更されたデータの識別情報を含む報知情報を予め定められた電子メールアドレスに送信するステップとをコンピュータに実行させる。
【００２８】
この発明に従えば、別のサーバの変更データを受信して、受信した情報に基づいて自己のサーバ内のデータを変更する。またサーバ内のデータを変更した情報を予め定められた電子メールアドレスに送信する。その結果、データ管理プログラムをコンピュータに実行させることにより、他のサーバのデータを直ちに変更することができる。また開発者は直ちにサーバ内のデータが変更された旨を知ることができる。
【００２９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。なお、図中において同一符号は、同一または相当する部材を示す。従って、重複する説明は繰り返さない。
［実施の形態］
図１は本実施の形態におけるデータ管理システムの構成図である。図１を参照してデータ管理システムはサーバ２とサーバ６とを含む。サーバ２、６はデータ管理装置である。サーバ２とサーバ６はインターネットなどのネットワーク５を介して接続される。クライアント１はサーバ２に接続され、クライアント９はサーバ６に接続される。なお、サーバ２、６には複数のクライアントが接続されるようにしてもよい。ここでサーバ２とサーバ６の接続はインターネットに限らずＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、専用線などのネットワークを含む。またインターネット５を介して接続されるサーバ２、６は３台以上存在してもよい。
【００３０】
サーバ２はテーブルエリア３と、レポジトリ４とを含む。サーバ６はテーブルエリア７と、レポジトリ８とを含む。サーバ２，６はパーソナルコンピュータ、ワークステーション等の一般的なコンピュータである。そのハード構成及び動作は周知であるためここでは説明を繰り返さない。またサーバ６はサーバ２と同様の構成を備えるため、以下サーバ２について説明する。
【００３１】
図２は本実施の形態におけるサーバの構成の概略を示すブロック図である。図２を参照して、サーバ２は各種のテーブル情報を記憶したテーブルエリア３と、レポジトリ４とを含む。レポジトリ４は、データと該データの識別情報を記憶する。識別情報とは、レポジトリ４のデータから１つのファイルや項目などを特定するための情報である。例えば、プログラム名などである。テーブルエリア３は、電子メールアドレスの取得に使用されるメールアドレステーブル１０と、データを予め定められた者に公開するために使用される公開許可テーブル１１と、データの公開を禁止するために使用される公開禁止テーブル１２と、データの変更を禁止するために使用される変更禁止テーブル１３と、レポジトリ４のデータ変更を通知する変更通知先を特定するために使用される変更通知先テーブル１４とを含む。なお上記のテーブル１０〜１４が保持する情報はテキストファイル形式など他の方法で保持されてもよい。
【００３２】
レポジトリ４のデータはプログラム、売上データ、電話番号データ、顧客データなど各種データを含む。ここでは、レポジトリ４のデータはプログラムとして説明する。なお、データ管理装置は複数のサーバから構成されてもよい。例えば、テーブルエリア３を保持したサーバとレポジトリ４を保持したサーバとで構成され、全体としてデータ管理装置と同様の機能を有する場合である。
【００３３】
次にサーバ２のレポジトリ４にプログラムを格納する構造の概念について説明する。図３は本実施の形態におけるサーバに記憶したプログラムの一例を示すディレクトリ構成図である。図３を参照してレポジトリ４に記憶する「ｍｏｄｕｌｅ１」は「ＲＥＡＤＭＥ」と、「ｐｒｏｊｅｃｔ１」とを含み、「ｐｒｏｊｅｃｔ１」は「ａ．ｃｐｐ」と、「ｂ．ｃｐｐ」と、「ｃ．ｃｐｐ」とを含む。ここで、プログラム名「ａ．ｃｐｐ」を示す場合は「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ａ．ｃｐｐ」で表現する。プログラムを指定する場合は、この階層構造を利用して１度に複数のプログラムを指定することができる。例えば、「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１」と表現した場合は、「ｐｒｏｊｅｃｔ１」配下の「ａ．ｃｐｐ」と、「ｂ．ｃｐｐ」と、「ｃ．ｃｐｐ」とを含む。
【００３４】
図４は本実施の形態におけるデータ管理システム全体の処理の流れを示すフローチャートである。ここでは、図１のクライアント１がプログラムを変更した場合を例に説明する。クライアント１は、変更するプログラムをサーバ２から取得するためにサーバ２のプログラムにアクセスする（Ｓ１０１）。サーバ２はテーブルエリア３の公開許可テーブル１１を参照しクライアント１がプログラムにアクセスする権限を与えられているかを調べる。図５は公開許可テーブルの一例を示す図である。図５を参照して公開許可テーブル１１は公開許可データ項目と、公開許可機器項目とを含み、公開許可データと公開許可機器を関連付けたテーブルである。例えば、公開許可データ項目のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ｂ．ｃｐｐ」は公開許可機器項目の機器「クライアントＡ０１」と関連付けられている。これは、「クライアントＡ０１」はレポジトリ４のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ｂ．ｃｐｐ」にアクセスできることを意味する。
【００３５】
図４に戻ってステップＳ１０２で、クライアント１にプログラムにアクセスする権限が与えられていない場合、クライアント１はプログラムにアクセスできない旨の通知をサーバ２から受ける（Ｓ１０３）。クライアント１にプログラムにアクセスする権限が与えられている場合、サーバ２はプログラムをクライアント１に送信する（Ｓ１０４）。クライアント１はサーバ２からプログラムを受信し（Ｓ１０５）、受信したプログラムを変更する（Ｓ１０６）。クライアント１はプログラムの変更をサーバ２のレポジトリ４に反映するため変更情報をサーバ２へ送信する（Ｓ１０７）。変更情報には少なくとも変更されたプログラムの変更部分が含まれる。
【００３６】
サーバ２はクライアント１から変更情報を受信する（Ｓ１０８）。サーバ２は受信した変更情報をレポジトリ４に反映するか否かを、変更禁止テーブル１３を参照して判断する（Ｓ１０９）。図６は変更禁止テーブルの一例を示す図である。図６を参照して変更禁止テーブル１３は変更禁止データ項目と、変更禁止機器項目とを含み、変更禁止データと変更禁止機器を関連付けたテーブルである。例えば、変更禁止機器項目の機器「クライアントＡ０１」は変更禁止データ項目のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ａ．ｃｐｐ」と関連付けられており、これは、「クライアントＡ０１」は、レポジトリ４に記憶する変更禁止データ項目のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ａ．ｃｐｐ」を変更することができないことを意味する。
【００３７】
図４に戻ってステップＳ１０９でレポジトリ４を変更しない場合、サーバ２はエラーメールをクライアント１に送信する（Ｓ１１０）。エラーメールにはレポジトリ４のプログラムが変更されなかった旨が含まれる。クライアント１はサーバ２からエラーメールを受信する（Ｓ１１１）と、エラーメールからレポジトリ４のプログラムが変更されなかったことを知ることができる。
【００３８】
レポジトリ４を変更する場合、サーバ２はクライアント１から受信した変更情報に基づいてレポジトリ４のプログラムを変更する（Ｓ１１２）。次にサーバ２はサーバ６に送信するための変更情報メールを作成する（Ｓ１１３）。変更情報メールにはサーバ６のレポジトリ８を変更するための変更情報が含まれる。サーバ２は変更情報メールを暗号化する（Ｓ１１４）。変更情報メールが盗聴、漏洩などされた場合に変更情報の内容が知られるのを防止するためである。サーバ２は暗号化した変更情報メールを電子メールでサーバ６に送信する（Ｓ１１５）。
次にサーバ２はレポジトリ４のプログラムを変更したことをクライアント９に通知するための変更通知メールを作成し（Ｓ１１６）、クライアント９に送信する（Ｓ１１７）。これにより、クライアント９はサーバ２のレポジトリ４のプログラムが変更されたことを知ることができる。
【００３９】
サーバ６は変更情報メールを受信し（Ｓ１１８）、受信した変更情報メールを復号化する（Ｓ１１９）。サーバ６は受信した変更情報をレポジトリ８に反映するか否かを、変更禁止テーブル１３を参照して判断する（Ｓ１２０）。レポジトリ８を変更しない場合、サーバ６はエラーメールをクライアント１に送信する（Ｓ１２１）。サーバ６は、クライアント１の電子メールアドレスを後述するメールアドレステーブル１０から取得する。クライアント１はサーバ６からエラーメールを受信する（Ｓ１１１）と、エラーメールからレポジトリ８のプログラムが変更されなかったことを知ることができる。レポジトリ８を変更する場合、サーバ６はサーバ２から受信した変更情報メールの変更情報に基づいてレポジトリ８のプログラムを変更する（Ｓ１２２）。
【００４０】
サーバ２がレポジトリ４を変更後、変更情報を電子メールでサーバ６に送信し、サーバ６は受信した変更情報に基づいてレポジトリ８を変更する。これによりサーバ２のレポジトリ４のプログラムバージョンとサーバ６のレポジトリ８のプログラムバージョンとの非同期の時間を短縮することが可能となる。次に、サーバ６はレポジトリ８のプログラムを変更したことをクライアント９に通知するための変更通知メールを作成し（Ｓ１２３）、クライアント９に送信する（Ｓ１２４）。サーバ６は、クライアント９の電子メールアドレスを後述するメールアドレステーブル１０から取得する。
【００４１】
クライアント９はサーバ２およびサーバ６の変更通知メールを受信する（Ｓ１２５）。これにより、クライアント９は、サーバ２のレポジトリ４とサーバ６のレポジトリ８とが変更されたことを知ることができる。なお、クライアント９はいずれか１つのサーバからのみ変更通知メールを受信するように設定してもよい。例えば、サーバ２がクライアント９に変更通知メールを送信したときは、サーバ６はクライアント９に変更通知メールを送信しないようにしてもよい。
【００４２】
図７は本実施の形態におけるサーバで実行されるデータ変更処理の流れを示すフローチャートである。ここでは、サーバ２が他のサーバから暗号化された変更情報メールを受信し、レポジトリ４を変更する場合について説明する。サーバ２は受信した変更情報メールを復号化する（Ｓ２０１）。復号化した変更情報メールから変更情報を取得する（Ｓ２０２）。ここで変更情報は、変更を指示したクライアントのメールアドレスと、変更したプログラム名と、変更プログラムと、変更されたプログラムの変更の元となったプログラムのバージョン情報である。
【００４３】
次に変更するプログラム名が変更禁止テーブル１３に存在するか確認する（Ｓ２０３）。変更するプログラム名が変更禁止テーブル１３に存在するときは、サーバ２はレポジトリ４を変更しない。レポジトリ４を変更しないとき、サーバ２は変更しなかった旨のエラーメールを変更指示したクライアントのメールアドレスに送信する（Ｓ２０８）。エラーメールは変更するプログラム名が変更禁止テーブル１３に存在したためにレポジトリ４は変更されなかった旨のエラー理由を含んでもよい。
【００４４】
変更するプログラム名が変更禁止テーブル１３に存在しないときは、サーバ２はレポジトリ４の変更の可否の判断を行なう（Ｓ２０４）。ここで変更の可否の判断は、変更されたプログラムの変更の元となったプログラムのバージョン情報とレポジトリ４のプログラムのバージョン情報とを比較して行なう。変更の元となったプログラムのバージョン情報とレポジトリ４のプログラムのバージョン情報とが一致すればレポジトリ４を変更し、一致しなければ変更しない。
【００４５】
変更しないときは、変更を指示した機器にエラーメールを送信する（Ｓ２０８）。この場合のエラーメールは、変更の元となったプログラムのバージョン情報とレポジトリ４のプログラムのバージョン情報とが一致しなかった旨のエラー理由を含んでもよい。
【００４６】
変更するときは、サーバ２はレポジトリ４を変更する変更処理を行なう（Ｓ２０５）。次にレポジトリ４の変更が正常に完了したかを確認する（Ｓ２０６）。
変更が失敗した場合は変更を指示した機器にエラーメールを送信する（Ｓ２０８）。この場合のエラーメールは変更処理が失敗した旨のエラー理由を含んでもよい。レポジトリ４の変更が正しく行なわれた場合、サーバ２は変更通知メールを変更通知先機器に送信する変更通知処理を行なう（Ｓ２０７）。
【００４７】
次にサーバ２がレポジトリ４を変更した場合の変更通知処理について説明する。図８は本実施の形態におけるデータ管理装置で変更通知メールを送信する変更通知処理の流れを示すフローチャートである。サーバ２はレポジトリ４の変更が完了すると（Ｓ３０１）、変更したプログラム名が変更通知先テーブル１４に存在するかを確認する（Ｓ３０２）。図９は、変更通知先テーブルの一例を示す図である。図９を参照して変更通知先テーブル１４は変更通知データ項目と、変更通知先機器項目とを含み、変更通知データと変更通知先機器を関連付けたテーブルである。例えば、レポジトリ４に記憶する変更通知データ項目のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ａ．ｃｐｐ」は、変更通知先機器項目の機器「クライアントＢ０１」と関連付けられている。従って、プログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ａ．ｃｐｐ」が変更された場合、サーバ２は変更通知先機器項目の機器「クライアントＢ０１」にプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ａ．ｃｐｐ」が変更された旨を電子メールで通知することを意味する。
【００４８】
図１０はメールアドレステーブルの一例を示す図である。図１０を参照してメールアドレステーブル１０は機器名項目と、メールアドレス項目とを含み、機器名と電子メールアドレスを関連付けたテーブルである。図８に戻ってステップＳ３０３では、機器「クライアントＢ０１」に変更を通知する場合は、メールアドレステーブル１０のメールアドレス項目から「ｃｌｉｅｎｔ−ｂ０１＠ｓｙｓｔｅｍ．ｃｏ．ｊｐ」を取得する。ここで、機器名はデータの変更者、作成者、ユーザ名などでもよい。変更通知先が複数存在する場合はテーブルに関連付けられている全ての変更通知先のメールアドレスを取得する（Ｓ３０４）。変更したプログラム名が変更通知先テーブル１４に存在しない場合は（Ｓ３０２）、変更通知メールを送信することなく終了する。
【００４９】
サーバ２は変更通知メールを作成する（Ｓ３０５）。変更通知メールには変更プログラム名が含まれる。その他に変更されたプログラム全部やプログラムの変更された部分を含んでもよい。次に変更通知メールを暗号化する（Ｓ３０６）。
変更通知メールが盗聴、漏洩などされない場合は暗号化しなくてもよい。サーバ２は取得した変更通知先のメールアドレス宛てに暗号化した変更通知メールを送信する（Ｓ３０７）。
【００５０】
図１１は公開禁止テーブルの一例を示す図である。図１１を参照して公開禁止テーブル１２は公開禁止データ項目と、公開禁止機器項目とを含み、公開禁止データと公開禁止機器を関連付けたテーブルである。例えば、公開禁止データ項目のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ｂ．ｃｐｐ」は公開禁止機器項目の機器「クライアントＡ０１」に関連付けられており、これは、「クライアントＡ０１」はレポジトリ４のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ｂ．ｃｐｐ」にアクセスできないことを意味する。
【００５１】
なお、サーバ２は図５の公開許可テーブル１１と図１１の公開禁止テーブル１２をともに保持する必要はない。公開禁止テーブルのみ保持することも可能である。例えば、一部のデータのみ公開禁止として、残りのデータ全てを公開する場合、公開禁止テーブル１２のみ保持すればよい。公開許可テーブル１１と公開禁止テーブル１２とを同時に保持した場合であって、いずれのテーブルにも同一プログラム名と同一機器が関連づけて記憶されている場合は、公開禁止テーブル１１の情報を優先する設定をしてもよい。例えば、図５の公開許可テーブル１１と図１１の公開禁止テーブル１２のいずれにも存在する「クライアントＡ０１」はレポジトリ４のプログラム「ｍｏｄｕｌｅ１／ｐｒｏｊｅｃｔ１／ｂ．ｃｐｐ」にアクセスできない。
【００５２】
以上、説明したように、本実施の形態におけるサーバ２、６においては、サーバ２は、レポジトリ４を変更後、変更情報を電子メールによりサーバ６に送信する。サーバ６は受信した変更情報に基づいてレポジトリ８を変更する。これによりサーバ２のレポジトリ４のプログラムバージョンをサーバ６のレポジトリ８に容易に反映することが可能となる。また、サーバ２のレポジトリ４のプログラムバージョンとサーバ６のレポジトリ８のプログラムバージョンの非同期となる時間を短縮することが可能となる。
【００５３】
またクライアント１がサーバ２に変更情報を送信すると、サーバ２はレポジトリ４を変更し、サーバ２はサーバ６へ変更情報メールを送信し、サーバ６はレポジトリ８を変更する。これにより、クライアントから全サーバのレポジトリの変更を容易に行なうことが可能となる。
【００５４】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および、範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本実施の形態におけるデータ管理システムの構成図である。
【図２】本実施の形態におけるサーバの構成の概略を示すブロック図である。
【図３】本実施の形態におけるサーバに記憶したプログラムの一例を示すディレクトリ構成図である。
【図４】本実施の形態におけるデータ管理システム全体の処理の流れを示すフローチャートである。
【図５】公開許可テーブルの一例を示す図である。
【図６】変更禁止テーブルの一例を示す図である。
【図７】本実施の形態におけるサーバで実行されるデータ変更処理の流れを示すフローチャートである。
【図８】本実施の形態におけるデータ管理装置で変更通知メールを送信する変更通知処理の流れを示すフローチャートである。
【図９】変更通知先テーブルの一例を示す図である。
【図１０】メールアドレステーブルの一例を示す図である。
【図１１】公開禁止テーブルの一例を示す図である。
【符号の説明】
１  クライアント、２  サーバ、３  テーブルエリア、４  レポジトリ、５  インターネット、６  サーバ、７  テーブルエリア、８  レポジトリ、９  クライアント、１０  メールアドレステーブル、１１  公開許可テーブル、１２  公開禁止テーブル、１３  変更禁止テーブル、１４  変更通知先テーブル。
【図１】
2004287947.tif 000003
【図２】
2004287947.tif 000004
【図３】
2004287947.tif 000005
【図４】
2004287947.tif 000006
【図５】
2004287947.tif 000007
【図６】
2004287947.tif 000008
【図７】
2004287947.tif 000009
【図８】
2004287947.tif 000010
【図９】
2004287947.tif 000011
【図１０】
2004287947.tif 000012
【図１１】
2004287947.tif 000013