(57)【特許請求の範囲】
【請求項１】
マスタコンピュータ及びスレーブコンピュータ間で、データの同期とデータ保護ポリシの同期を行うデータ同期システムにおいて、
前記スレーブコンピュータで、前記データ保護ポリシに従ってデータのアクセスを制御するポリシ強制手段と、
前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記マスタコンピュータで変更されている場合は、当該変更がされているデータ保護ポリシの同期を行うポリシ同期手段と、
を備え、
前記ポリシ強制手段は前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記マスタコンピュータへの退避を行うと共に前記スレーブコンピュータからの消去も行うことを特徴とするデータ同期システム。
【請求項２】
請求項１に記載のデータ同期システムにおいて、
前記データへのアクセスがあったことに伴い、該アクセスされたデータに対応するスクリプトであって前記データ保護ポリシに指定されたスクリプトを格納され、当該スクリプトを保持するスクリプト格納手段と、
前記スクリプトの実行の契機となるイベントを発生させるイベント発生手段と、
前記発生した前記イベントに対応する前記スクリプトを前記スクリプト格納手段から抽出し、当該抽出したスクリプトにおいて指定された命令を実行するスクリプト実行手段と、
を更に備えることを特徴とするデータ同期システム。
【請求項３】
請求項２に記載のデータ同期システムにおいて、
前記イベント発生手段が前記イベントを発生させる手段として、
一定間隔でタイマイベントを発生させるリアルタイムクロック手段と、
アプリケーションに対応するプロセスの実行状態を監視し、当該プロセスが終了したときにアプリケーション終了イベントを発生させるアプリケーション実行管理手段と、
前記マスタコンピュータから消去信号を受信した場合に消去信号受信イベントを発生させる消去信号受信手段と、
を備えることを特徴とするデータ同期システム。
【請求項４】
請求項１乃至３の何れか１項に記載のデータ同期システムにおいて、
前記データへのアクセスが読み込みアクセスであった場合には前記マスタコンピュータへの退避は行わないことを特徴とするデータ同期システム。
【請求項５】
請求項１乃至４の何れか１項に記載のデータ同期システムにおいて、
前記スレーブコンピュータが有するアプリケーションからアクセス要求があった場合に、当該アクセス要求についてのアクセス制御を行う前に、前記データ保護ポリシの同期を行うことを特徴とするデータ同期システム。
【請求項６】
他の装置との間で、データの同期とデータ保護ポリシの同期を行うデータ同期装置において、
前記データ保護ポリシに従ってデータのアクセスを制御するポリシ強制手段と、
前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記他の装置で変更されている場合は、当該変更がされているデータ保護ポリシの同期を行うポリシ同期手段と、
を備え、
前記ポリシ強制手段は前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記他の装置への退避を行うと共に当該データ同期装置からの消去も行うことを特徴とするデータ同期装置。
【請求項７】
請求項６に記載のデータ同期装置において、
前記データへのアクセスがあったことに伴い、該アクセスされたデータに対応するスクリプトであって前記データ保護ポリシに指定されたスクリプトを格納され、当該スクリプトを保持するスクリプト格納手段と、
前記スクリプトの実行の契機となるイベントを発生させるイベント発生手段と、
前記発生した前記イベントに対応する前記スクリプトを前記スクリプト格納手段から抽出し、当該抽出したスクリプトにおいて指定された命令を実行するスクリプト実行手段と、
を更に備えることを特徴とするデータ同期装置。
【請求項８】
請求項７に記載のデータ同期装置において、
前記イベント発生手段が前記イベントを発生させる手段として、
一定間隔でタイマイベントを発生させるリアルタイムクロック手段と、
アプリケーションに対応するプロセスの実行状態を監視し、当該プロセスが終了したときにアプリケーション終了イベントを発生させるアプリケーション実行管理手段と、
前記他の装置から消去信号を受信した場合に消去信号受信イベントを発生させる消去信号受信手段と、
を備えることを特徴とするデータ同期装置。
【請求項９】
請求項６乃至８の何れか１項に記載のデータ同期装置において、
前記データへのアクセスが読み込みアクセスであった場合には前記他の装置への退避は行わないことを特徴とするデータ同期装置。
【請求項１０】
請求項６乃至９の何れか１項に記載のデータ同期装置において、
アプリケーションからアクセス要求があった場合に、当該アクセス要求についてのアクセス制御を行う前に、前記データ保護ポリシの同期を行うことを特徴とするデータ同期装置。
【請求項１１】
マスタコンピュータ及びスレーブコンピュータ間で、データの同期とデータ保護ポリシの同期を行うシステムが行うデータ同期方法において、
前記スレーブコンピュータが、前記スレーブコンピュータ上で前記データ保護ポリシに従ってデータのアクセスを制御し、
前記スレーブコンピュータが、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記マスタコンピュータで変更されている場合は、当該変更がされているデータ保護ポリシの同期を行い、
前記スレーブコンピュータが、前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記マスタコンピュータへの退避を行うと共に前記スレーブコンピュータからの消去も行うことを特徴とするデータ同期方法。
【請求項１２】
請求項１１に記載のデータ同期方法において、
前記スレーブコンピュータが備えるスクリプト格納手段が、前記データへのアクセスがあったことに伴い、該アクセスされたデータに対応するスクリプトであって前記データ保護ポリシに指定されたスクリプトを格納され、当該スクリプトを保持し、
前記スレーブコンピュータが備えるイベント発生手段が、前記スクリプトの実行の契機となるイベントを発生させ、
前記スレーブコンピュータが、前記発生した前記イベントに対応する前記スクリプトを前記スクリプト格納手段から抽出し、当該抽出したスクリプトにおいて指定された命令を実行することを特徴とするデータ同期方法。
【請求項１３】
請求項１２に記載のデータ同期方法において、
前記スレーブコンピュータが備える前記イベント発生手段は、前記イベントを発生させるステップとして、
一定間隔でタイマイベントを発生させるリアルタイムクロックステップと、
アプリケーションに対応するプロセスの実行状態を監視し、当該プロセスが終了したときにアプリケーション終了イベントを発生させるアプリケーション実行管理ステップと、
前記マスタコンピュータから消去信号を受信した場合に消去信号受信イベントを発生させる消去信号受信ステップと、
を有することを特徴とするデータ同期方法。
【請求項１４】
請求項１１乃至１３の何れか１項に記載のデータ同期方法において、
前記データへのアクセスが読み込みアクセスであった場合には前記マスタコンピュータへの退避は行わないことを特徴とするデータ同期方法。
【請求項１５】
請求項１１乃至１４の何れか１項に記載のデータ同期方法において、
前記スレーブコンピュータが有するアプリケーションからアクセス要求があった場合に、当該アクセス要求についてのアクセス制御を行う前に、前記スレーブコンピュータが、前記データ保護ポリシの同期を行うことを特徴とするデータ同期方法。
【請求項１６】
他の装置との間で、データの同期とデータ保護ポリシの同期を行うデータ同期装置が行うデータ同期方法において、
前記データ同期装置が、前記データ保護ポリシに従ってデータのアクセスを制御し、
前記データ同期装置が、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記他の装置で変更されている場合は、当該変更がされているデータ保護ポリシの同期を行い、
前記データ同期装置が、前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記他の装置への退避を行うと共に前記データ同期装置からの消去も行うことを特徴とするデータ同期方法。
【請求項１７】
請求項１６に記載のデータ同期方法において、
前記データ同期装置が備えるスクリプト格納手段が、前記データへのアクセスがあったことに伴い、該アクセスされたデータに対応するスクリプトであって前記データ保護ポリシに指定されたスクリプトを格納され、当該スクリプトを保持し、
前記データ同期装置が備えるイベント発生手段が、前記スクリプトの実行の契機となるイベントを発生させ、
前記データ同期装置が、前記発生した前記イベントに対応する前記スクリプトを前記スクリプト格納手段から抽出し、当該抽出したスクリプトにおいて指定された命令を実行することを特徴とするデータ同期方法。
【請求項１８】
請求項１７に記載のデータ同期方法において、
前記データ同期装置が備えるイベント発生手段は、前記イベントを発生させるステップとして、
一定間隔でタイマイベントを発生させるリアルタイムクロックステップと、
アプリケーションに対応するプロセスの実行状態を監視し、当該プロセスが終了したときにアプリケーション終了イベントを発生させるアプリケーション実行管理ステップと、
前記データ同期装置から消去信号を受信した場合に消去信号受信イベントを発生させる消去信号受信ステップと、
を有することを特徴とするデータ同期方法。
【請求項１９】
請求項１６乃至１８の何れか１項に記載のデータ同期方法において、
前記データへのアクセスが読み込みアクセスであった場合には前記データ同期装置への退避は行わないことを特徴とするデータ同期方法。
【請求項２０】
請求項１６乃至１９の何れか１項に記載のデータ同期方法において、
アプリケーションからアクセス要求があった場合に、当該アクセス要求についてのアクセス制御を行う前に、前記データ同期装置が、前記データ保護ポリシの同期を行うことを特徴とするデータ同期方法。
【請求項２１】
他の装置との間で、データの同期とデータ保護ポリシの同期を行うデータ同期装置に組み込まれるデータ同期プログラムにおいて、
前記データ保護ポリシに従ってデータのアクセスを制御するポリシ強制手段と、
前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記他の装置で変更されている場合は、当該変更がされているデータ保護ポリシの同期を行うポリシ同期手段と、
を備え、
前記ポリシ強制手段は前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記他の装置への退避を行うと共に当該データ同期プログラムからの消去も行うデータ同期装置としてコンピュータを機能させることを特徴とするデータ同期プログラム。
【請求項２２】
請求項２１に記載のデータ同期プログラムにおいて、
前記データへのアクセスがあったことに伴い、該アクセスされたデータに対応するスクリプトであって前記データ保護ポリシに指定されたスクリプトを格納され、当該スクリプトを保持するスクリプト格納手段と、
前記スクリプトの実行の契機となるイベントを発生させるイベント発生手段と、
前記発生した前記イベントに対応する前記スクリプトを前記スクリプト格納手段から抽出し、当該抽出したスクリプトにおいて指定された命令を実行するスクリプト実行手段と、
を更に備える前記データ同期装置としてコンピュータを機能させることを特徴とするデータ同期プログラム。
【請求項２３】
請求項２２に記載のデータ同期プログラムにおいて、
前記イベント発生手段が前記イベントを発生させる手段として、
一定間隔でタイマイベントを発生させるリアルタイムクロック手段と、
アプリケーションに対応するプロセスの実行状態を監視し、当該プロセスが終了したときにアプリケーション終了イベントを発生させるアプリケーション実行管理手段と、
前記他の装置から消去信号を受信した場合に消去信号受信イベントを発生させる消去信号受信手段と、
を備えることを特徴とするデータ同期プログラム。
【請求項２４】
請求項２１乃至２３の何れか１項に記載のデータ同期プログラムにおいて、
前記データへのアクセスが読み込みアクセスであった場合には前記他の装置への退避は行わないことを特徴とするデータ同期プログラム。
【請求項２５】
請求項２１乃至２４の何れか１項に記載のデータ同期プログラムにおいて、
アプリケーションからアクセス要求があった場合に、当該アクセス要求についてのアクセス制御を行う前に、前記データ保護ポリシの同期を行うことを特徴とするデータ同期プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ同期システム、データ同期装置、データ同期方法及びデータ同期用プログラムに関し、特にオリジナルデータを格納するマスタコンピュータから、同期先であるスレーブコンピュータが同期する際のデータ同期システム、データ同期装置、データ同期方法及びデータ同期用プログラムに関する。
【背景技術】
【０００２】
データ保護ポリシの実行機能をもつデータ同期システムとして、SubversionやＣＶＳ（Concurrent Version control System）がよく知られている。これらのシステムは、オリジナルデータを格納する1台のマスタコンピュータと、同期先となる1台以上のスレーブコンピュータとを有する。そして、スレーブコンピュータ上のデータ（以下、スレーブコンピュータ上のデータを「作業データ」と表記する。）と、マスタコンピュータ上のオリジナルデータとを同期させる。これにより、遠隔のスレーブコンピュータからマスタコンピュータ上のオリジナルデータを参照・変更することができる。このとき、「誰が（どのスレーブコンピュータが）、どのオリジナルデータを参照ないし変更できるか」を記載したデータ保護ポリシをマスタコンピュータ上で実行して、オリジナルデータへのアクセス可否を制御する。これにより、許可されないコンピュータへのデータ漏洩や、許可されないコンピュータからのデータ改ざんを防止できる。
【０００３】
しかし、こうしたデータ同期システムでは、スレーブコンピュータ上に格納された（オリジナルデータのコピーである）作業データについては何らの保護もなされない。そのため、脆弱なスレーブコンピュータ上での作業データの漏洩・改ざんがされてしまった場合は、同期により、オリジナルデータの漏洩・改ざんが発生する恐れがある。
【０００４】
そこで、スレーブコンピュータにおけるデータ漏洩・改ざん対策をするための技術が必要となる。このような技術の１つとして、特許文献１に記載されているコンテナ方式がよく知られている。本方式では、データ保護ポリシ（メタデータ）を前記作業データに不可分な形で一体としたコンテナを同期し、スレーブコンピュータは当該コンテナへのアクセス時に、コンテナ内のデータ保護ポリシを読み取り、実行する。
【０００５】
さらに、スレーブコンピュータが例えば携帯型端末である場面では、スレーブコンピュータの利用シーンに応じて、データが更新されない場合でも、データ保護ポリシのみを変更したいという要請がある。例えば、社内ＬＡＮ内で、マスタコンピュータ上のスケジュールデータやメールデータなどの作業データをスレーブコンピュータに同期（ダウンロード）しておき、当該スレーブコンピュータを社外に持ち出す場合である。このような場合においては、前記作業データの更新有無に関わらず、より厳しいデータ保護ポリシを適用することで、端末の盗難・紛失などによるデータ漏洩を防止したいという要請がある。こうしたデータ保護方法の一例として、特許文献２に記載されているような、マスタコンピュータからの指示に応じて、スレーブコンピュータ上の作業データを強制的に消去する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００７−５２３４１８号公報
【特許文献２】特表２００８−５４６２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、データ同期システムにおいて、スレーブコンピュータ上で更新されていない作業データに対するデータ保護ポリシを更新するために、特許文献１記載のコンテナを同期する方法が考えられる。しかし、当該方法によれば、マスタコンピュータでデータ保護ポリシのみを更新した際、対応する作業データも同時に更新する必要があり、ネットワーク負荷を増大させるという課題がある。特に、スレーブコンピュータがスマートフォン・ＰＤＡ・ノートＰＣなどの携帯型端末である場合には、ネットワーク帯域の狭い無線公衆網の利用が前提となるので、ネットワーク負荷の問題はより深刻なものとなる。
【０００８】
さらに、スレーブコンピュータで前記特許文献２記載のデータ保護方法を実施することで、前記マスタコンピュータなどの遠隔コンピュータからの指示に応じて、作業データの消去を行うことができる。しかし、当該方法によれば、スレーブコンピュータのみに存在する、スレーブコンピュータで編集または作成された重要な作業データを失ってしまう、という課題がある。
【０００９】
そこで本発明は、ネットワーク帯域の狭い環境でも高効率に、スレーブコンピュータ上で更新されていない作業データに対するデータ保護ポリシを更新することが可能なデータ同期システム、データ同期装置、データ同期方法及びデータ同期用プログラムを提供することを目的とする。
【００１０】
また、本発明は他の目的として、重要データとして指定された作業データについて、スレーブコンピュータから作業データを消去する前に、マスタコンピュータへ当該データを退避させることが可能なデータ同期システム、データ同期装置、データ同期方法及びデータ同期用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、マスタコンピュータ及びスレーブコンピュータ間で、データの同期とデータ保護ポリシの同期を行うデータ同期システムにおいて、前記スレーブコンピュータで、前記データ保護ポリシに従ってデータのアクセスを制御するポリシ強制手段と、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記マスタコンピュータで変更されている場合は、当該変更がされているデータ保護ポリシの同期を行うポリシ同期手段と、を備え、前記ポリシ強制手段は前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記マスタコンピュータへの退避を行うと共に前記スレーブコンピュータからの消去も行うことを特徴とするデータ同期システムが提供される。
【００１３】
また、本発明の第２の観点によれば、他の装置との間で、データの同期とデータ保護ポリシの同期を行うデータ同期装置において、前記データ保護ポリシに従ってデータのアクセスを制御するポリシ強制手段と、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記他の装置で変更されている場合は、当該変更がされているデータ保護ポリシの同期を行うポリシ同期手段と、を備え、前記ポリシ強制手段は前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記他の装置への退避を行うと共に当該データ同期装置からの消去も行うことを特徴とするデータ同期装置が提供される。
【００１５】
更に、本発明の第３の観点によれば、第１の方法として、マスタコンピュータ及びスレーブコンピュータ間で、データの同期とデータ保護ポリシの同期を行うシステムが行うデータ同期方法において、前記スレーブコンピュータが、前記スレーブコンピュータ上で前記データ保護ポリシに従ってデータのアクセスを制御し、前記スレーブコンピュータが、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記マスタコンピュータで変更されている場合は、当該変更がされているデータ保護ポリシの同期を行い、前記スレーブコンピュータが、前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記マスタコンピュータへの退避を行うと共に前記スレーブコンピュータからの消去も行うことを特徴とするデータ同期方法が提供される。
【００１７】
更に、本発明の第４の観点によれば、他の装置との間で、データの同期とデータ保護ポリシの同期を行うデータ同期装置が行うデータ同期方法において、前記データ同期装置が、前記データ保護ポリシに従ってデータのアクセスを制御し、前記データ同期装置が、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記他の装置で変更されている場合は、当該変更がされているデータ保護ポリシの同期を行い、前記データ同期装置が、前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記他の装置への退避を行うと共に前記データ同期装置からの消去も行うことを特徴とするデータ同期方法が提供される。
【００１９】
更に、本発明の第５の観点によれば、他の装置との間で、データの同期とデータ保護ポリシの同期を行うデータ同期装置に組み込まれるデータ同期プログラムにおいて、前記データ保護ポリシに従ってデータのアクセスを制御するポリシ強制手段と、前記データ保護ポリシの更新を行うにあたり、当該同期で更新されないデータに関するデータ保護ポリシが前記他の装置で変更されている場合は、当該変更がされているデータ保護ポリシの同期を行うポリシ同期手段と、を備え、前記ポリシ強制手段は前記データ保護ポリシの指定に従って、一部或いは全部の前記データについて、前記他の装置への退避を行うと共に当該データ同期プログラムからの消去も行うデータ同期装置としてコンピュータを機能させることを特徴とするデータ同期プログラムが提供される。
【発明の効果】
【００２１】
本発明によれば、ネットワーク帯域の狭い環境においても、スレーブコンピュータでマスタコンピュータと同等のデータ保護を実施することが可能となる。
【００２２】
その理由は、マスタコンピュータで更新されたデータ保護ポリシのみを、スレーブコンピュータに送信及び更新し、当該データ保護ポリシにしたがってスレーブコンピュータ上の作業データに対するアクセスを制御するためである。
【００２３】
また、本発明によれば、スレーブコンピュータで作成または更新された重要な作業データを、より安全にスレーブコンピュータから消去できる。
【００２４】
その理由は、データ保護ポリシで作業データごとにマスタコンピュータへの退避と消去とを組み合わせて指定できるためである。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態の基本的構成を示すブロック図である。
【図２】本発明の第１の実施形態における読込アクセス時の動作を示す流れ図である。
【図３】本発明の第１の実施形態における書込アクセス時の動作を示す流れ図である。
【図４】本発明の第１の実施形態におけるデータ保護ポリシの一例を示す図である。
【図５】本発明の第２の実施形態におけるスレーブコンピュータの基本的構成を示すブロック図である。
【図６】本発明の第２の実施形態におけるイベント発生部の基本的内部構成を示すブロック図である。
【図７】本発明の第２の実施形態におけるスクリプト実行部の基本的内部構成を示すブロック図である。
【図８】本発明の第２の実施形態における読込アクセス時の動作を示す流れ図である。
【図９】本発明の第２の実施形態における書込アクセス時の動作を示す流れ図である。
【図１０】本発明の第２の実施形態におけるデータ保護ポリシの一例を示す図である。
【図１１】本発明の第２の実施形態におけるスクリプト実行時の動作を示す流れ図である。
【発明を実施するための形態】
【００２６】
次に、発明を実施するための形態について図面を参照して詳細に説明する。
【００２７】
図１を参照すると、本発明の第１の実施形態は、マスタコンピュータ１０とスレーブコンピュータ２０を有する。また、マスタコンピュータ１０は、プログラム制御により動作するＣＰＵ(Central Processing Unit）２０１及び主記憶装置２０２を有する。そして、本実施形態をハードウェア及びソフトウェアの組合せとして実現する場合には、ＣＰＵ２０１が、主記憶装置２０２にアクセスし、主記憶装置２０２に格納されている命令を実行する。なお、今回は説明の便宜上スレーブコンピュータ２０は１台のみ図示されているが、これは本実施形態が適用可能なスレーブコンピュータ２０の台数を限定するものではない。本実施形態は１台以上の任意の台数のスレーブコンピュータ２０に適用可能である。
【００２８】
更に、マスタコンピュータ１０は、オリジナルデータ格納部１０３と、データ同期部１０４と、ポリシ格納部１０５と、ポリシ同期部１０６を有する。
【００２９】
オリジナルデータ格納部１０３は、オリジナルデータを格納する部分である。データ同期部１０４は、オリジナルデータをスレーブコンピュータ２０が有している作業データと同期するための部分である。ポリシ格納部１０５は、オリジナルデータのそれぞれに対応するデータ保護ポリシを格納する部分である。ポリシ同期部１０６は、データ保護ポリシをスレーブコンピュータ２０と同期するための部分である。
【００３０】
一方、スレーブコンピュータ２０は、アプリケーション２０３と、ポリシ強制部２０４と、作業データ格納部２０５と、データ同期部２０６と、ポリシ格納部２０７と、ポリシ同期部２０８とを有する。
【００３１】
アプリケーション２０３は、作業データにアクセスして所定の処理を行う。ポリシ強制部２０４は、アプリケーション２０３による作業データアクセスに対して対応するデータ保護ポリシを適用する部分である。作業データ格納部２０５は、作業データを格納する部分である。データ同期部２０６は、作業データをマスタコンピュータ１０と同期する部分である。ポリシ格納部２０７は、データ保護ポリシを格納する部分である。ポリシ同期部２０８は、データ保護ポリシをマスタコンピュータ１０と同期する部分である。
【００３２】
次に、図２及び図３のフローチャートを参照しながら、本実施形態の全体の動作について詳細に説明する。
【００３３】
（１）読込アクセス時の動作
最初に、読込アクセス時の動作について図２を参照して説明する。まず、スレーブコンピュータ２０のアプリケーション２０３（例えばメーラ、なお図中ではアプリケーション２０３を「ＡＰ」と表記する。）が、ある作業データ（例えばメールデータ、なお図中ではデータを「Ｄ」と表記する。）の読込みアクセスを要求したものとする（ステップＳ３０１）。
【００３４】
このとき、ポリシ強制部２０４は、ポリシ同期部２０８を介して、Ｄに対応するデータ保護ポリシ（図中ではＤに対応するデータ保護ポリシを「Ｐ［Ｄ］」と表記する。）をマスタコンピュータ１０と同期する（ステップＳ３０２）。
【００３５】
具体的には、ポリシ同期部２０８が、マスタコンピュータ１０のポリシ同期部１０６にＰ［Ｄ］のダウンロードを要求する。ポリシ同期部１０６は、要求に応じて、前記ポリシ格納部１０５に格納されたＰ［Ｄ］を取得し、ポリシ同期部２０８に送信する。ポリシ同期部２０８は受信したＰ［Ｄ］をポリシ格納部２０７に格納する。なお、当該同期通信に失敗した場合は、ポリシ同期部１０６はポリシ強制部２０４を介して、アプリケーション２０３にアクセス禁止例外を通知して、当該読込アクセス要求を拒否する。
【００３６】
ステップＳ３０２における保護ポリシＰ［Ｄ］の同期が完了した後に、ポリシ強制部２０４は、Ｄに対応するデータ保護ポリシＰ［Ｄ］を解釈して、前記アプリケーション２０３によるＤへのアクセスが許可されているかどうかを判定する（ステップＳ３０３）。
【００３７】
ここで、本実施形態におけるデータ保護ポリシについて詳細に説明する。データ保護ポリシは、作業データ格納部２０５が作業データＤを一意に識別するためのデータＩＤと、アクセスを許可すべきアプリケーションと、当該アプリケーションに対して許可または禁止されるアクセス権との組み合わせが指定されていれば十分である。
【００３８】
もっとも、より好適には、作業データ格納部２０５は、作業データをディレクトリ階層に分類して管理することが好ましい。すなわち、ディレクトリＩＤと当該ディレクトリ配下の名前空間において一意に定まるデータＩＤ（前記データＩＤとの混同を避けるために以下「ローカルデータＩＤ」と呼ぶ。）との組合せにより、任意の作業データを一意に同定できることが望ましい。そして、データ保護ポリシは、複数のローカルデータＩＤを一括して指定可能とするために、ディレクトリＩＤの指定を許す構造とする。例えば、図４に示すように「/DIR1/*」という指定で、ディレクトリ「DIR1」の配下にある全ての作業データに対して、アプリケーション「MAILER」からの読込及び書込アクセスの許可（READ+,WRITE+）、及び実行アクセスの禁止（EXECUTE-）を一括して指定可能とする。このようにすることで、複数のローカルデータＩＤ全てを逐一指定する必要が無くなるため、ステップＳ３０３におけるデータ保護ポリシの同期にかかる転送データ量を削減できる。
【００３９】
さらに好適には、データ保護ポリシは、同じローカルデータＩＤにマッチするデータＩＤの指定を複数含んでもよい。この場合、ポリシ強制部２０４は、文字列比較アルゴリズムにおける最長一致法を用いて、より限定的なデータＩＤ指定に対するアプリケーション及びアクセス権の指定を適用する。例えば、アプリケーション「MAILER」が作業データ「/DIR1/DIR2/DATA1」に対する読込アクセスを要求したとする。この場合、ポリシ強制部２０４は「/DIR1/DIR2/DATA1」に対する読込アクセスの禁止指定（READ-）にしたがって、当該読込アクセスを拒否する。また、「/DIR1/DIR2/SOMEDATA」に対するアクセスについては、「/DIR1/DIR2/*」に対する指定に従う。ポリシ強制部２０４が、こうした最長一致法に基づくポリシ解釈方法を実施することで、複雑なデータ保護ポリシをより簡便に指定可能となる。
【００４０】
次に、動作の説明に戻る。ステップＳ３０３で解釈をした結果、アクセスが許可されている場合（ステップＳ３０３においてＹｅｓ）、ポリシ強制部２０４は、データ同期部２０６に対して、Ｄの同期（すなわちマスタコンピュータ１０からのダウンロード）を実行するよう指示する（ステップＳ３０４）。この際、データ同期部２０６は、マスタコンピュータ１０のデータ同期部１０４に対して、Ｄの同期要求を行う。要求を受けたデータ同期部１０４は、前記オリジナルデータ格納部１０３に格納されたオリジナルのデータＤのコピーを取得して、データ同期部２０６に送信する。オリジナルのデータＤのコピーを受信したデータ同期部２０６は、作業データ格納部２０５に格納することによりＤの同期を完了する。
【００４１】
その後、ポリシ強制部２０４は、前記作業データＤを作業データ格納部２０５から読み取り、前記アプリケーション２０３へ転送する（ステップＳ３０５）。
【００４２】
一方、前記ステップＳ３０３で解釈をした結果、Ｄへのアクセスが禁止されている場合（ステップＳ３０３においてＮｏ）、アクセス禁止例外（アクセス禁止エラーともいう。）をアプリケーション２０３へ通知して、アプリケーション２０３からのアクセスを遮断する（ステップＳ３０６）。
【００４３】
（２）書込アクセス時の動作
次に、書込アクセス時の動作について図３を参照して説明する。まず、スレーブコンピュータ２０のアプリケーション２０３（例えばメーラ）が、ある作業データＤ（例えばメールデータ）の書き込みアクセスを要求したものとする（ステップＳ４０１）。
【００４４】
このとき、ポリシ強制部２０４は、ポリシ同期部２０８を介して、Ｄに対応するデータ保護ポリシＰ［Ｄ］をマスタコンピュータ１０と同期する（ステップＳ４０２）。具体的には、ポリシ同期部２０８がマスタコンピュータ１０のポリシ同期部１０６にＰ［Ｄ］のダウンロードを要求する。マスタコンピュータ１０のポリシ同期部１０６は、前記ポリシ格納部１０５に格納されたＰ［Ｄ］を送信する。そして、ポリシ同期部２０８が受信したＰ［Ｄ］をポリシ格納部２０７に格納する。なお、当該同期通信に失敗した場合は、ポリシ同期部１０６はポリシ強制部２０４を介して、アプリケーション２０３にアクセス禁止例外を通知して、当該読込アクセス要求を拒否する。
【００４５】
次に、ポリシ強制部２０４は、Ｄに対応するデータ保護ポリシＰ［Ｄ］を解釈して、前記アプリケーション２０３によるＤへのアクセスが許可されているかどうかを判定する（ステップＳ４０３）。
【００４６】
許可されている場合（ステップＳ４０３においてＹｅｓ）、ポリシ強制部２０４は、前記作業データＤへの書込みを実行する（ステップＳ４０４）。
【００４７】
さもなければ（ステップＳ４０３においてＮｏ）、アクセス禁止例外（アクセス禁止エラーともいう。）を前記アプリケーション２０３へ通知して、アクセスを遮断する（ステップＳ４０５）。
【００４８】
最後に、ポリシ強制部２０４は、データ同期部２０６に対して、Ｄの同期（すなわちマスタコンピュータ１０へのアップロード）を実行するよう指示する（ステップＳ４０６）。
【００４９】
次に、本実施形態の効果について説明する。
【００５０】
本実施形態によれば、読み込み若しくは書き込みの前にデータ保護ポリシをマスタコンピュータ１０で記述されたデータ保護ポリシに同期し、その後、ポリシ強制部２０４で、同期したデータ保護ポリシにしたがって、作業データへのアクセス可否を制御する。そのため、スレーブコンピュータ２０上で悪意のアプリケーション（例えばウィルス）などにより、作業データが漏洩・改ざんされ、その結果オリジナルデータが漏洩・改ざんされることを未然に防止できる。
【００５１】
また、上述したように前記ステップＳ３０２及びステップＳ４０２でポリシ同期を行うことで、スレーブコンピュータ２０のポリシ強制部２０４は、マスタコンピュータ１０における最新のデータ保護ポリシを実行することができる。このとき、マスタコンピュータ１０から送信されるデータは、一般に数十〜数百Kバイトのサイズをもつデータ保護ポリシのみを含む。つまり、前記ステップＳ３０４やステップＳ４０６において、よりサイズが大きい作業データの同期は必ずしも実行されない。この性質により、帯域の狭い通信回線を用いた場合にも、データ保護ポリシの更新を効率よく行うことができる。
【００５２】
次に、本発明の第２の実施形態について図５を参照して詳細に説明する。
【００５３】
第２の実施形態におけるデータ同期システムは、第１実施形態のスレーブコンピュータ２０に替えてスレーブコンピュータ２１を有する。一方、マスタコンピュータ１０の構成は第１の実施形態と同様であるので図示を省略し、図５にはデータ同期部２０６及びポリシ同期部２０８がマスタコンピュータ１０と接続されている旨のみを示す。なお、スレーブコンピュータ２０及びスレーブコンピュータ２１が併存すること、すなわちシステム上にスレーブコンピュータ２０及びスレーブコンピュータ２１それぞれが一台以上存在するという構成にすることも可能である。
【００５４】
スレーブコンピュータ２１は、スレーブコンピュータ２０に加えて、さらに、イベント発生部２０９とスクリプト実行部２１０とを有する。図５ではこの相違点を破線で囲って示す。
【００５５】
イベント発生部２０９の内部構成の一例を図６に示す。イベント発生部２０９は、リアルタイムクロック部２０９−１、アプリケーション実行管理部２０９−２及びマスタコンピュータ１０からの消去信号を受信する消去信号受信部２０９−３を有している。そして、それぞれが発生させるタイマイベント、アプリケーション終了イベント、及び消去信号受信イベントを、スクリプト実行部２１０に入力する。
【００５６】
スクリプト実行部２１０の内部構成の一例を図７に示す。スクリプト実行部２１０は、図７に示すように、スクリプト格納部２１０−１を有する。そして、ポリシ強制部２０４から、イベントの指定と当該イベント発生時に実行すべき命令とを組み合わせた「スクリプト」の入力に応じて、当該スクリプトをスクリプト格納部２１０−１に格納する。さらに、前記イベント発生部２０９から発生したイベントの入力に応じて、スクリプト格納部２１０−１に格納されたスクリプトのうち、前記発生イベントに合致する指定をもつスクリプトを解釈する。そして、解釈の結果に基づいて、作業データ格納部２０５に対する作業データの消去命令、またはデータ同期部２０６に対する作業データの同期命令を発行する。なお、今回の説明においては、スクリプト実行部２１０がスクリプト格納部２１０−１を有する構成について説明しているが、本実施形態を変更し、スクリプト実行部２１０とスクリプト格納部２１０−１を別個に設けるようにしてもよい。
【００５７】
次に、図８、図９及び図１１のフローチャートを参照して本実施形態の全体の動作について詳細に説明する。
【００５８】
（１）スクリプトの登録
最初に、スクリプトの登録時の動作について図８及び図９を参照して説明する。
【００５９】
図８及び図９は、それぞれアプリケーションによる作業データに対する読込アクセス及び書込アクセスの発生から、スクリプト登録までのポリシ強制部２０４の動作を示す流れ図である。
【００６０】
ポリシ強制部２０４は、第１の実施形態と同様に作業データＤに対するアクセス制御及びデータ同期を実行する（図８ステップＳ３０１〜Ａ６、及び図９ステップＳ４０１〜Ｂ６）。なお、この動作は、第１の実施形態の説明において示した動作と同様なのでここでは、説明を省略する。
【００６１】
続いて、Ｄに対するデータ保護ポリシＰ［Ｄ］に指定されたスクリプトを、スクリプト実行部２１０に入力し、登録する（図８ステップＳ３０７、図９ステップＳ４０７）。
【００６２】
このとき、スクリプト実行部２１０は、入力されたスクリプトをスクリプト格納部２１０１に格納する。
【００６３】
ここで、本実施形態におけるスクリプトについて説明する。本実施形態のスクリプトは、イベント発生部２０９が発生させるイベントに関する条件と、作業データの消去または同期に関する命令とを組み合わせた指定を含む。例えば、図１０に示すのがスクリプト指定を含むデータ保護ポリシの一例である。上記ＤのデータＩＤが「/DIR1/CONFIDENTIAL」であるとき、前記ステップＳ３０７またはステップＳ４０７において、ポリシ強制部２０４は、「/DIR1/*」に対応するスクリプト「TIMER(*/*/* 00:00:00)→SYNCHRONIZE(/DIR1/*);DELETE(/DIR/*)」をスクリプト実行部２１０に登録する。
【００６４】
なお、前記スクリプトは、少なくともデータＩＤと関連付けられていれば十分であるが、好適には図１０のスクリプトＳｃｒｉｐｔ１ないしＳｃｒｉｐｔ２に例示するように、アクセス権単位で指定することが望ましい。例えばスクリプトＳｃｒｉｐｔ１によれば、読込アクセス（READ+）時には、消去のみを行い、更新されていない作業データに対する無駄な同期を抑制することで、ネットワーク利用効率を更に高めることができる。
【００６５】
（２）スクリプトの実行
次に、図１１を参照してスクリプトの実行について説明する。
【００６６】
図１１は、イベント発生部２０９とスクリプト実行部２１０とによる、スクリプト実行動作に関する流れ図である。
【００６７】
まずイベント発生部２０９は、リアルタイムクロック部２０９−１、アプリケーション実行管理部２０９−２、または消去信号受信部２０９−３のいずれかが、タイマイベント、アプリケーション終了イベント、または消去信号受信イベントを発生させ、スクリプト実行部２１０に入力する（ステップＳ５０１）。ここで、タイマイベントについてはリアルタイムクロック部２０９−１が一定間隔（例えば1秒ごと）に発生させる。
【００６８】
アプリケーション終了イベントについては、アプリケーション実行管理部２０９−２がアプリケーションＡＰに対応するプロセスの実行状態を監視し、当該プロセスが終了したときに発生させる。
【００６９】
消去信号受信イベントについては、マスタコンピュータ１０から送信された消去信号を消去信号受信部２０９−３が受信したときに、消去信号受信部２０９−３が発生させる。
【００７０】
次にスクリプト実行部２１０は、入力されたイベントに対応するイベントＩＤをキーとして、スクリプト格納部２１０−１を検索し、当該イベントＩＤを条件に含むスクリプトをすべて抽出する（ステップＳ５０２）。
【００７１】
そして、スクリプト実行部２１０は、抽出されたスクリプトに指定された命令に応じて、データ同期部２０６に指定された作業データの同期指示を与え、または作業データ格納部２０５に指定された作業データの消去指示を与える（ステップＳ５０３、ステップＳ５０４）。
【００７２】
命令の内容が「同期」だった場合は（ステップＳ５０４において「同期」）、前記同期指示をデータ同期部２０６は、指定された作業データを、マスタコンピュータ１０のデータ同期部１０４を介して同期する（ステップＳ５０５）。
【００７３】
または、命令の内容が「消去」だった場合は（ステップＳ５０４において「消去」）、前記消去指示を受けた作業データ格納部２０５は、指定された作業データを消去する（ステップＳ５０６）。
【００７４】
以上の動作について、図１０のポリシ例を用いて、より具体的に説明する。
【００７５】
（ステップＳ５０１に相当）イベント発生部２０９が時刻「2009/03/03 00:00:00」を含むタイマイベントを発生させて、スクリプト実行部２１０に入力する。
【００７６】
（ステップＳ５０２に相当）スクリプト実行部２１０は、タイマイベントに対応するイベントＩＤ「TIMER」を条件として持つ前記スクリプト「TIMER(*/*/* 00:00:00)→DELETE(/DIR/*)」または「TIMER(*/*/* 00:00:00)→SYNC (/DIR1/*);DELETE(/DIR/*)」を抽出する。このとき、条件の括弧内はタイマイベントに関する条件式であり、当該条件式と前記タイマイベントに含まれる時刻とを比較し、一致するか、前記時刻が条件式に示された時刻以降である場合にのみ、ステップＳ５０３へ移行する。さもなければ前記スクリプトが前記タイマイベントに合致しないものと判断する。本実施例では、タイマイベントの条件式「*/*/* 00:00:00」は「任意の日付（年/月/日）における零時（00:00:00）」と解釈されるので、毎日00:00:00時以降のタイマイベントに対して、当該条件式が満たされる。
【００７７】
（ステップＳ５０３、ステップＳ５０４に相当）スクリプト実行部２１０は、前記スクリプトに指定された命令「SYNC(/DIR1/*);DELETE(/DIR/*)」を解釈する。命令は「；」などの区切り文字を用いて、複数指定可能である。この場合、スクリプト実行部２１０は、まず命令「SYNC(/DIR1/*)」に対応して、ディレクトリ「DIR1」の配下にある全ての作業データに対する同期指示をポリシ同期部２０６に与える。その後、スクリプト実行部２１０は、命令「DELETE(/DIR/*)」に対応して、ディレクトリ「DIR1」の配下にある全ての作業データに対する消去指示を作業データ格納部２０５に与える。
【００７８】
（ステップＳ５０４において「同期」、ステップＳ５０５に相当）データ同期部２０６は、指定されたディレクトリ「DIR1」の配下にある全ての作業データについて、マスタコンピュータ１０のデータ同期部１０４を介してアップロードし、オリジナルデータ格納部１０３を更新する。
【００７９】
（ステップＳ５０４において「消去」、ステップＳ５０６に相当）次に、作業データ格納部２０５は、指定されたディレクトリ「DIR1」の配下にある全ての作業データを消去する。
【００８０】
以上説明した第２の実施形態では、業務上の重要情報を含むメールデータなどの同期において、アプリケーション終了後３０分で作業データを消去させるなど、データの利用形態にあわせたデータ保護ポリシをスレーブコンピュータ２０上で実行可能となる。このような消去を伴うデータ保護は、携帯端末として実現されたスレーブコンピュータ２０を盗難・紛失した場合に、物理的な不揮発メモリの解析にも耐える対策として有効であり、従来の同期システムにおけるアクセス可否の制御だけでは得られない効果である。
【００８１】
なお、本発明の実施形態であるマスタコンピュータ及びスレーブコンピュータは、ハードウェアにより実現することもできるが、コンピュータをそのマスタコンピュータ及びスレーブコンピュータとして機能させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【００８２】
また、本発明の実施形態によるデータ同期方法は、ハードウェアにより実現することもできるが、コンピュータにその方法を実行させるためのプログラムをコンピュータがコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現することができる。
【００８３】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【産業上の利用可能性】
【００８４】
本発明によれば、複数の企業間でソフトウェアなどを共同開発する際に、企業間でソフトウェアソースコードなどの情報を安全に共有する情報共有システムといった用途に適用できる。
【００８５】
また、企業情報システムにおいて、従業員の携帯端末を用いて、企業情報を安全に持ち出すことができる、シンクライアントシステムといった用途にも適用可能である。
【符号の説明】
【００８６】
１０  マスタコンピュータ
１０１  中央処理装置
１０２  主記憶装置
１０３  オリジナルデータ格納部
１０４  データ同期部
１０５  ポリシ格納部
１０６  ポリシ同期部
２０、２１  スレーブコンピュータ
２０１  中央処理装置
２０２  主記憶装置
２０３  アプリケーション
２０４  ポリシ実行部
２０５  作業データ格納部
２０６  データ同期部
２０７  ポリシ格納部
２０８  ポリシ同期部
２０９  イベント発生部
２０９−１  リアルタイムクロック部
２０９−２  アプリケーション実行管理部
２０９−３  消去信号受信部
２１０  スクリプト実行部
２１０−１  スクリプト格納部
【図１】
0005471168.tif 000002
【図２】
0005471168.tif 000003
【図３】
0005471168.tif 000004
【図４】
0005471168.tif 000005
【図５】
0005471168.tif 000006
【図６】
0005471168.tif 000007
【図７】
0005471168.tif 000008
【図８】
0005471168.tif 000009
【図９】
0005471168.tif 000010
【図１０】
0005471168.tif 000011
【図１１】
0005471168.tif 000012