(57)【要約】【課題】シンクライアントシステムにおいて、利用者端末上のデータを、ファイルサーバ、または、利用者端末へ適切かつ効率的に振り分けて自動保存する方法を提供する。【解決手段】利用者端末上のパッチ等のシステム更新データと、サーバ上に保存すべき機密データとを、二次記憶装置への書込み時に判定してメモリ上に別々にキャッシュしておき、前記サーバ上に保存すべき機密データを、任意のタイミング、例えば端末のシャットダウン時に、自動的にファイルサーバにアップロードすることで、最小限のデータを効率的にファイルサーバに保存できるシステムを提供する。【選択図】図１
2010102550.tif 000002
【特許請求の範囲】
【請求項１】
データをファイルサーバに転送して格納するシンクライアントシステムの一部を構成する利用者端末装置であって、
二次記憶装置と、
前記二次記憶装置に対するＩ／Ｏ要求を判断し、前記Ｉ／Ｏ要求が書き込み要求であった場合に、当該Ｉ／Ｏ要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書き込みが許可されているか否かを判断するファイルアクセス制御手段と、
前記書き込み要求のあったデータをリダイレクトしてキャッシュメモリに格納する書き込み制御手段と、
前記Ｉ／Ｏ要求を行ったアプリケーションが前記二次記憶装置へのデータ書き込みが禁止されるものであった場合に、前記書き込み要求のあったデータを、前記ファイルサーバにアップロードするものとして管理するアップロードデータ管理手段と、
前記アップロード管理手段によって管理されているデータを、任意のタイミングで前記キャッシュメモリから読み出して前記ファイルサーバにアップロードする自動バックアップ手段と、
を備えることを特徴とする利用者端末装置。
【請求項２】
前記書き込み制御手段は、書き込み要求及び読み込み要求を処理する第１のリダイレクト手段と、書込み要求のみを処理する第２のリダイレクト手段と、を含み、
前記ファイルアクセス制御手段が、前記書き込み要求を行ったアプリケーションについて前記二次記憶装置への書き込みが許可されていると判断した場合に、前記第１及び第２のリダイレクト手段がそれぞれ、前記書き込み要求のあったデータを前記キャッシュメモリに格納することを特徴とする請求項１に記載の利用者端末装置。
【請求項３】
前記第２のリダイレクト手段は、所定のタイミングで、前記キャッシュメモリに格納されたデータを前記二次記憶装置に書き込むことを特徴とする請求項２に記載の利用者端末装置。
【請求項４】
前記ファイルアクセス制御手段が、前記書き込み要求を行ったアプリケーションについて前記二次記憶装置への書き込みが禁止されていると判断した場合に、前記第１のリダイレクト手段が、前記書き込み要求のあったデータを前記キャッシュメモリに格納することを特徴とする請求項２に記載の利用者端末装置。
【請求項５】
前記ファイルアクセス制御手段が、前記Ｉ／Ｏ要求が読み込み要求であると判断した場合、前記第１のリダイレクト手段は、前記読み込み要求のあったデータを前記キャッシュメモリ又は前記二次記憶装置から読み込むことを特徴とする請求項２に記載の利用者端末装置。
【請求項６】
データをファイルサーバに転送して格納するシンクライアントシステムの一部を構成する利用者端末装置であって、
二次記憶装置と、
前記二次記憶装置に対するＩ／Ｏ要求を判断し、前記Ｉ／Ｏ要求が書き込み要求であった場合に、当該Ｉ／Ｏ要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書き込みが許可されているか否かを判断するファイルアクセス制御手段と、
書き込み要求及び読み込み要求を処理する第１の書き込み制御手段と、
書込み要求のみを処理する第２の書き込み制御手段と、を備え、
前記ファイルアクセス制御手段が、前記書き込み要求を行ったアプリケーションについて前記二次記憶装置への書き込みが許可されていると判断した場合に、前記第１及び第２の書き込み制御手段がそれぞれ、前記書き込み要求のあったデータを前記キャッシュメモリに格納することを特徴とする利用者端末装置。
【請求項７】
前記第２の書き込み制御手段は、所定のタイミングで、前記キャッシュメモリに格納されたデータを前記二次記憶装置に書き込むことを特徴とする請求項６に記載の利用者端末装置。
【請求項８】
前記ファイルアクセス制御手段が、前記書き込み要求を行ったアプリケーションについて前記二次記憶装置への書き込みが禁止されていると判断した場合に、前記第１の書き込み制御手段が、前記書き込み要求のあったデータを前記キャッシュメモリに格納することを特徴とする請求項６に記載の利用者端末装置。
【請求項９】
データをファイルサーバに転送して格納するシンクライアントシステムの一部を構成し、二次記憶装置を有する利用者端末装置の制御方法であって、
ファイルアクセス手段が、二次記憶装置に対するＩ／Ｏ要求を判断し、前記Ｉ／Ｏ要求が書き込み要求であった場合に、当該Ｉ／Ｏ要求を行ったアプリケーションについて、前記二次記憶装置へのデータ書き込みが許可されているか否かを判断するアプリケーション判断工程と、
書き込み制御手段が、前記書き込み要求のあったデータをリダイレクトしてキャッシュメモリに格納するリダイレクト工程と、
アップロードデータ管理手段が、前記Ｉ／Ｏ要求を行ったアプリケーションが前記記憶装置へのデータ書き込みが禁止されるものであった場合に、前記書き込み要求のあったデータを、前記ファイルサーバにアップロードするものとして管理するデータ管理工程と、
自動バックアップ手段が、前記アップロード管理手段によって管理されているデータを、任意のタイミングで前記キャッシュメモリから読み出して前記ファイルサーバにアップロードするアップロード工程と、
を備えることを特徴とする制御方法。
【請求項１０】
前記書き込み制御手段は、書き込み要求及び読み込み要求を処理する第１のリダイレクト手段と、書込み要求のみを処理する第２のリダイレクト手段と、を含み、
前記ファイルアクセス制御手段が、前記書き込み要求を行ったアプリケーションについて前記二次記憶装置への書き込みが許可されていると判断した場合に、前記リダイレクト工程において、前記第１及び第２のリダイレクト手段がそれぞれ、前記書き込み要求のあったデータを前記キャッシュメモリに格納することを特徴とする請求項９に記載の制御方法。
【請求項１１】
さらに、前記第２のリダイレクト手段が、所定のタイミングで、前記キャッシュメモリに格納されたデータを前記二次記憶装置に書き込む工程を備えることを特徴とする請求項１０に記載の制御方法。
【請求項１２】
前記ファイルアクセス制御手段が、前記書き込み要求を行ったアプリケーションについて前記二次記憶装置への書き込みが禁止されていると判断した場合に、前記リダイレクト工程に置いて、前記第１のリダイレクト手段が、前記書き込み要求のあったデータを前記キャッシュメモリに格納することを特徴とする請求項９に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者端末装置、及びその制御方法に関し、例えば、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムの一部を構成する利用者端末装置、及びその制御方法に関するものである。
【背景技術】
【０００２】
近年、ファイルサーバに保管されている重要データが利用者端末から拡散するのを防ぐためのシステムとして、シンクライアントシステムが考案されている。シンクライアントシステムは、端末内に不揮発性の二次記憶装置を装備しない端末（ディスクレスＰＣ）を使用するのが一般的であるが、書込みを制御した二次記憶装置を備えるＰＣ（パーソナル・コンピュータ）をシンクライアント端末として使用するシステムも存在する。
例えば、特許文献１では、二次記憶装置を持つ端末において、アプリケーションから二次記憶装置へ書き込みが発生した場合、その書き込みを主記憶装置（キャッシュメモリ）上へリダイレクトすることで、二次記憶装置への書き込みを制限し、擬似的に二次記憶を持たない端末を実現している。
【０００３】
ディスクレスＰＣを使用する場合に比べ、書込み制御した二次記憶装置を備えるＰＣをシンクライアント端末として使用する場合、サーバサイドでの負荷が少ないため、インフラ構築等のコストを安価できるメリットがある。このシステムによれば、ファイルサーバに保管されている重要データが拡散するのを防止することに加え、利用者による不適切なＯＳ設定変更や、アプリケーションのインストールを防止することも可能である。
【０００４】
一方、特許文献１のシステムは、ＯＳパッチ等のシステム更新データを、二次記憶装置に保存することができないため、システムを最新の状態に保てない。これに対し、システム更新データのみを利用者端末の二次記憶装置へ保存可能なシステムとして、特許文献２のようなシステムが提案されている。特許文献２では、ファイルシステムの下位に書込み可能フィルタデバイスと、書込み禁止フィルタデバイスの２つを生成する。そして、ファイルシステムの上位のフィルタドライバであるファイルアクセス制御ドライバで書込み禁止のファイルアクセスを検知して、書込み禁止フィルタデバイスにリダイレクトする。これにより、二次記憶装置への書込みに関して、ファイル・フォルダ単位の保存制御を実現している。この手段を使えば、システム更新データのみを利用者端末の二次記憶装置へ保存し、システムを最新の状態に保つことが可能である。
【０００５】
【特許文献１】特開２００７−１７２０６３号公報
【特許文献２】特開２００８−５９５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１及び２に記載されたシンクライアント端末では、ユーザがファイルサーバ上でデータを編集・保存するか、ローカルにファイルサーバの機密データをダウンロードして、編集し、編集後にデータをサーバ上に手動でアップロードしてから端末をシャットダウンすることが前提とされている。そのため、ユーザがローカルにダウンロードした機密データを、サーバにアップロードし忘れた場合、端末の電源を落とした時点で最新の機密データが消失するという問題がある。この問題への対策として、単純に、端末のシャットダウン時にシステムのバックアップをファイルサーバへ転送することが考えられるが、その場合、膨大な量の不要なデータも一緒に保存してしまうため、現実的なシステムとはいえない。そのため、効率的にバックアップ・保存を実現する手段が必要となってくる。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、シンクライアント端末装置において、編集された機密データを効率的にファイルサーバにバックアップする方法を提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明による利用者端末装置は、二次記憶装置に対するＩ／Ｏ要求を判断し、Ｉ／Ｏ要求が書き込み要求であった場合に、当該Ｉ／Ｏ要求を行ったアプリケーションについて、二次記憶装置へのデータ書き込みが許可されているか否かを判断するファイルアクセス制御手段（ファイルアクセス制御モジュール）と、書き込み要求のあったデータをリダイレクトしてキャッシュメモリに格納する書き込み制御手段（書き込み制御モジュール）と、Ｉ／Ｏ要求を行ったアプリケーションが二次記憶装置へのデータ書き込みが禁止されるものであった場合に、書き込み要求のあったデータを、ファイルサーバにアップロードするものとして管理するアップロードデータ管理手段（自動バックアップモジュール＋アップロードリストファイル）と、アップロード管理手段によって管理されているデータを、任意のタイミングでキャッシュメモリから読み出してファイルサーバにアップロードする自動バックアップ手段（自動バックアップモジュール）と、を備えている。
【０００９】
また、書き込み制御手段は、書き込み要求及び読み込み要求を処理する第１のリダイレクト手段（ボリュームフィルタデバイス）と、書込み要求のみを処理する第２のリダイレクト手段（シャドウボリュームデバイス）と、によって構成されている。このとき、ファイルアクセス制御手段が、書き込み要求を行ったアプリケーションについて二次記憶装置への書き込みが許可されていると判断した場合に、第１及び第２のリダイレクト手段がそれぞれ、書き込み要求のあったデータをキャッシュメモリに格納する。なお、第２のリダイレクト手段は、所定のタイミングで、キャッシュメモリに格納されたデータを二次記憶装置に書き込む。
【００１０】
また、ファイルアクセス制御手段が、書き込み要求を行ったアプリケーションについて二次記憶装置への書き込みが禁止されていると判断した場合には、第１のリダイレクト手段が、書き込み要求のあったデータをキャッシュメモリに格納する。
【００１１】
ファイルアクセス制御手段が、Ｉ／Ｏ要求が読み込み要求であると判断した場合、第１のリダイレクト手段は、読み込み要求のあったデータをキャッシュメモリ又は二次記憶装置から読み込む。
【００１２】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００１３】
本発明によれば、シンクライアント端末装置において、編集された機密データを効率的にファイルサーバにバックアップすることができるようになる。
【発明を実施するための最良の形態】
【００１４】
本発明は、利用者端末の二次記憶装置への書込み制御、及び、外部記憶媒体への書出し制御により、利用者データをファイルサーバに集約し、機密情報の紛失・漏洩防止を実現するシンクライアントシステムにおいて、利用者端末上のデータを、ファイルサーバ、または、利用者端末へ適切に自動保存する方法に関する。
【００１５】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１６】
＜情報処理システムの構成＞
図１は、本発明の実施形態による情報処理システム（データバックアップシステム）の概略構成を示す図である。この情報処理システムは、利用者端末１０１とファイルサーバ１０２で構成されており、それぞれがネットワーク１０３で接続されている。なお、ここでのネットワーク１０３は、ローカルエリアネットワーク（ＬＡＮ、ワイドエリアネットワーク（ＷＡＮ）、ピアツーピアネットワーク等として一般に知られるネットワークを用いてで実現することができる。また、利用者端末は、ＣＰＵ、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置を備える一般的なＰＣであり、可搬性等の形態に限定は無い。
【００１７】
利用者端末１０１上には、ＯＳ１０４、文書・帳票作成・ブラウザ等のアプリケーション１０５、ファイルアクセス制御モジュール１０６、自動バックアップモジュール１０７、デバイス制御モジュール１０８、ディスクモジュール１０９がインストールされており、二次記憶装置１１１にはアプリケーション制御ファイル１１０が格納されている。さらに、利用者端末１０１は、図１に示されてはいないが、制御部（ＣＰＵ）、メモリ、ネットワークインタフェース、入出力装置（キーボード、ディスプレイ、スピーカ等）等を備えている。
【００１８】
ファイルサーバ１０２は、図１には示されていないが、ＣＰＵ、主記憶装置、ネットワークデバイス、入出力装置、二次記憶装置等を備え、利用者端末１０１とコネクションを張って、ファイル転送が可能となっており、利用者端末１０１上のアプリケーション１０５で作成・編集された機密データ１１２を保存することが可能な一般的なファイルサーバである。また、このファイルサーバ１０２には、利用者端末上で作成されたデータの保存フォルダが、利用者端末毎に存在している。
【００１９】
利用者は、利用者端末１０１のＯＳ１０４上で動作するアプリケーション１０５を用いて、ファイルサーバ１０２上の機密データ１１２にアクセスし、利用・編集することができる。この時、利用者は、ファイルサーバ１０２上の機密データ１１２を、ファイルサーバ１０２上で利用・編集するか、利用者端末１０１上（ローカル）にダウンロードして編集するかを選択することができる。
【００２０】
そして、利用者が利用者端末１０１をシャットダウンする時、利用者がファイルサーバ１０２上で機密データ１１２を利用・編集していた場合は、編集後の機密データ１１２をそのまま保存してシャットダウンする。一方、利用者がローカルに機密データ１１２をダウンロードして編集していた場合、利用者端末のシャットダウン時に、自動バックアップモジュール１０７が、機密データ１１２を、自動的にファイルサーバ１０２上へ、アップロード（保存）する。これにより、利用者が編集した機密データ１１２が消失するミスを無くすことができる。なお、ローカルにダウンロードして利用・編集した機密データ１１２を、利用者が手動でファイルサーバ１０２上にアップロードしても構わない。ただ、その場合、アップロードし忘れることを防止するために、シャットダウン時に機密データのアップロードを利用者に喚起するような構成をとることが望ましい。
【００２１】
利用者端末１０１において、デバイス制御モジュール１０８は、ＵＳＢ等の外部記憶媒体を検知し、前記外部記憶媒体への書き出しを制御する機能を備える。外部記憶媒体の検知はＯＳの機能を使用して外部デバイスを検知し、デバイスへのアクセスを禁止、または、そのデバイスへの書き込みをメモリ上にリダイレクトする等の手段により、書出しを制御する。この機能により、ファイルサーバ上の機密データが利用者端末から外部へ保存されることが無くなり、データの集約及び情報漏えいを防止することが可能となる。
【００２２】
＜利用者端末の内部構成＞
図２は、利用者端末１０１のＯＳコンポーネントを含む内部構成を詳細に示す図である。図２の有向線は、アプリケーションやＯＳモジュール等のプログラム（話を分かりやすくするために、以後、ドキュメント作成等のアプリケーションソフトウェアだけでなく、ＯＳのモジュール等でも二次記憶装置へ書き込みを行うプログラムのことを、単にアプリケーションと呼ぶ。この「アプリケーション」には、例えばwindows（登録商標） updateのようなシステム更新用のアプリケーションも含まれる。）が、二次記憶装置に対して要求するＩ／Ｏの流れを示している（実際はＲｅａｄ／Ｗｒｉｔｅ以外のものも存在するが省略する）。また、図２の実線は主にアプリケーションが発行した場合のＩ／Ｏで、破線はファイルアクセス制御モジュール１０６が発行するＩ／Ｏである。
【００２３】
ファイルアクセス制御モジュール１０６は、ボリュームデバイス２１５にマウントされているファイルシステム２１０にアタッチして、アプリケーション１０５が発行する二次記憶装置１１１へのＩ／Ｏをフィルタすることが可能なファイルシステムフィルタデバイス１＿２０５を作成する機能を備えている。また、アプリケーション１０５の発行した二次記憶装置１１１へのＩ／Ｏが書き込み要求だった場合、ファイルアクセス制御モジュール１０６は、その書き込み要求元のアプリケーションが「書き込み許可」アプリケーションか「書き込み禁止」アプリケーションかを判定する。そして、ファイルアクセス制御モジュール１０６は、「書き込み許可」アプリケーションの書き込みならば、ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３の両方へデータを複製・送信する。逆に、「書き込み禁止」アプリケーションの書き込みならば、ファイルアクセス制御モジュール１０６は、ボリュームフィルタデバイス２１２にのみデータを送信する。
【００２４】
「書き込み許可」アプリケーションの例として、ＯＳやアプリケーションソフトウェアの、アップデートプログラムが挙げられる。これらのプログラムは、通常ＯＳやアプリケーションのベンダから提供されるものである。「書き込み禁止」プログラムの例として、機密データを作成・編集するようなアプリケーションプログラム、一般的に考えて文書・帳票作成・編集用のアプリケーションプログラムが挙げられる。
【００２５】
書き込み要求元のプログラムの振り分けの方法としては、アプリケーション制御ファイル２０６（例：図８（表１））を利用者端末１０１にインストールしておくことで可能となる。
【００２６】
アプリケーション制御ファイル２０６は、アプリケーション名８０３と書き込み禁止／許可のフラグ８０４をセットにしたリスト形式のファイルである。一般的なＯＳならば、アプリケーション名から実行プロセス名やプロセスＩＤを取得することが可能である。このため、このリストを読み込めば、利用者端末上で動作しているアプリケーションのプロセス名とプロセスＩＤを取得することが可能である。
【００２７】
また、ファイルアクセス制御モジュール１０６をファイルシステムのフィルタドライバとして実装しておけば、ファイルシステムフィルタデバイス１＿２０５で書込み処理要求を取得した時に、要求元のプロセス名やプロセスＩＤを取得することが可能である。以上の手段で取得したプロセス名やプロセスＩＤを比べることで、書込み処理元のアプリケーションが、書込み「許可」アプリケーションか書込み「禁止」アプリケーションか、を判定することが可能となる。
【００２８】
なお、アプリケーション制御ファイル２０６は、システム管理者が利用者端末のシステムポリシーに従って適切に作成し、あらかじめインストールしておくものであるが、アップデートと同時に更新することも可能なファイルである。また、一般利用者がアプリケーションのインストールを行うことができるとすると、害意（不正目的で）のアプリケーションをインストールする可能性があるため、インストール作業は管理者以外には行うことができないようにしておくのが好ましい。
【００２９】
ここで、ファイルアクセス制御モジュール１０６が、書込み許可プログラムからの書き込みを、ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３の両方へ二重に書き込んでいる理由について述べる。即ち、本システムでは、アプリケーションからのＲｅａｄ要求（実線矢印参照）は、ファイルシステムフィルタデバイス１＿２０５→ファイルシステムフィルタデバイス２＿２０８→ファイルシステム２１０→ボリュームフィルタデバイス２１２→ボリュームフィルタデバイス２１５の順に転送される。そして、最終的にボリュームデバイス２１５が二次記憶装置１１１から読み込んだデータをアプリケーション１０５に返すか、或いはボリュームフィルタデバイス２１２がメモリ２１７にキャッシュしたデータをアプリケーション１０５に返す。そのため、仮にシャドウボリュームデバイス２１３だけにしかデータ書き込みを行っていないとすると、読み込んだデータが二次記憶装置１１１上の古いデータとなる状況が起こる。よって、シャドウボリューム２１３を介してキャッシュメモリにデータを書き込みを行う場合は、さらにボリュームフィルタデバイス２１２を介して同じデータをキャッシュメモリに書き込んでおき、アプリケーションからのＲｅａｄ要求には最新のデータを返す。これにより、古いデータを読み込んでしまうという危険を回避することができ、また、再起動しなくても最新の制御データをリアルタイムに反映することができるようになる。
【００３０】
なお、ファイルアクセス制御モジュール１０６は、ファイルシステムフィルタにより実現可能であること述べたが、ここに述べたものは一例であり、本発明を限定するものではない。ここで述べた方法以外にも、書込みアプリケーションプロセス内で書込み先のファイルパスを変更して書込みＩ／Ｏを振り分ける方法なども考えられる。
【００３１】
書き込み制御モジュール１０８は、ボリュームデバイス２１５にアタッチ（１対１に対応付ける）して、アプリケーション１０５から二次記憶装置１１１へのＩ／Ｏをフィルタすることが可能なボリュームフィルタデバイス２１２と、シャドウボリュームデバイス２１３の２つのデバイスを作成する機能を備えている。なお、ここでは、書込み制御モジュール１０８は、ディスクドライバのフィルタドライバの一種として話を進めるが、実現手段に関しては、ここの述べる以外の方法でもかまわない。
【００３２】
ボリュームフィルタデバイス２１２は、二次記憶装置１１１のボリュームデバイス２１５にアタッチして書き込みデータをメモリ２１７上にリダイレクトしてキャッシュする機能を備える。ここでは、アプリケーション１０５が二次記憶装置１１１に対してＩ／Ｏを行った場合に、そのＩ／Ｏを取得するための手段の一例として「アタッチ」を用いている。アタッチによる方法でなくとも、任意のプログラムがボリュームに対して行うＩ／Ｏデータを取得できるならば、その方法はアタッチに限定されない。
【００３３】
シャドウボリュームデバイス２１３は、シャドウボリュームデバイス２１３自身に対して書き込み命令されたデータをメモリ上にキャッシュする機能を備え、かつ、二次記憶装置１１１のボリュームデバイス２１５にアタッチすることは無い。ただし、シャドウボリュームデバイス２１３は、ボリュームデバイス２１５の存在を認識しており、シャットダウン時に、ボリュームデバイス２１５を経由してシャドウボリュームデバイス２１３がキャッシュしたデータを二次記憶装置へ書き込むことが可能である。なお、シャドウボリュームデバイス２１３への書き込み要求は、ファイルアクセス制御モジュール１０６が行うのみである。
【００３４】
自動バックアップモジュール１０７は、利用者がローカルにダウンロードした機密データ１１２を認識し、任意のタイミングで（例えば、シャットダウン時や周期的に）、利用者が編集を行った機密データ１１２をファイルサーバ１０２に自動的にアップロードする機能を備えている。なお、アップロードの際のファイルサーバ１０２とのコネクションは一般的なネットワークプロトコルを使用して実現されるものである。例えば、ＳＭＢやＣＩＦＳ等のファイル共有プロトコルを使用し、フォルダをネットワークドライブとして割り当てて、そのドライブに対して、ファイルパスを変更してファイルリダイレクトを行う方法や、ＦＴＰプロトコルでファイル転送を行う方法等が挙げられる。
【００３５】
なお、ここでは効率的なアップロードの１例として、ネットワークトラフィックの低減を重視し、シャットダウン時に最小限のデータを一括してアップロードする例を挙げている。
【００３６】
この他にも、ファイルのクローズ処理時に各々のファイルをアップロードする方法も考えられる。通常、情報端末上のアプリケーションはアプリケーションがクラッシュした場合に備えて修復データをバックアップしているため、アプリケーションレベルのクラッシュならばデータ修復が可能である。アプリケーションの編集が完全に終了した時点、つまり、アプリケーションをユーザが閉じた時点でサーバにデータをアップロードすることで、ネットワークトラフィックを低減しつつユーザが保存したいデータを効率的にバックアップすることが可能である。
【００３７】
さらに、別の例として、ファイルの書き込み処理毎に各々のファイルをアップロードする方法もありうる。この方法では、ネットワークトラフィックは増大するが、端末がクラッシュした場合、サーバ上にデータが残っているが、情報端末上のデータは揮発するため必要データのみがサーバに残るため、データ保護機能に優れたアップロードを実現できる。自動バックアップモジュールでは、上記のアップロード方法が容易に実現可能である。
【００３８】
自動バックアップモジュール１０７の自動バックアップ対象となるデータは、「書き込み禁止」アプリケーション、つまり、機密データを作成・編集するようなアプリケーションプログラムにより作成・編集されたデータである。自動バックアップモジュール１０７の実現手段としては、自動バックアップモジュール１０７をファイルシステムフィルタとして実装し、ファイル作成要求を監視する。なお、補足であるが、前述の「ファイル作成要求」は、利用者が情報端末１０１上（ローカル）にファイルを新規作成した場合だけでなく、ファイルサーバ１０２からローカルにファイルをダウンロードした場合にも起こる要求である。これは、ファイルシステム内部では、ダウンロード処理は、ローカル上に新規ファイル作成し、サーバからデータをコピーするという動作のためである。
【００３９】
ファイルの新規作成要求があった場合、その作成元アプリケーションのプロセス名を判定して、「書き込み禁止」であるファイル全てをアップロード対象とし、「アップロードリストファイル」２０９（図９（表２））にファイルパス９０３を登録しておく。
【００４０】
アップロードリストファイル２０９は、シャットダウン時にファイルサーバへ自動アップロードするファイルの一覧を登録したファイルである。なお、作成ファイルパスを検索して、ファイル拡張子を使い、対象ファイルを検索し、その作成元アプリケーションのプロセス名を判定して、アップロードリストファイルに登録する方法も考えられる。登録の時には、ファイルサーバ上への保存先を示した転送先パス９０４も登録しておく。さらに、その他ファイルのメタ情報９０５なども登録対象として考えられる。そして、自動バックアップモジュール１０７は、利用者端末１０１のシャットダウン時にアップロードリストファイル２０９に従って、ファイルサーバ１０２上の任意のフォルダへアップロードする。なお、ここでいう、ファイルサーバ上の任意のフォルダとは、利用者端末毎に割り当てられたファイルサーバ１０２上のフォルダであり、事前に用意しておいても、利用者端末からコネクションを張った時に新規に作成されてもかまわない。一例として、アップロードリストファイルのメタ情報９０５を使って、日付と利用者端末名が表示されたフォルダを新規に作成し、そのフォルダ内にデータを保存する等が考えられる。これにより、ユーザがファイルサーバ上へファイル保存を忘れた場合に、ファイルが消失する問題を解決することができる。
【００４１】
なお、書き込み許可プログラムからの書き込みに関しては、利用者端末上の二次記憶装置１１１に適用されるため、ファイルサーバ１０２上にアップロードする必要は無い。よって、この方法では、ローカルマシン上のデータを全てバックアップする方法と違い、アップロードにかかる時間、転送データ量もすくなくないという利点がある。
【００４２】
＜ファイルアクセス制御モジュールの動作＞
図３は、ファイルアクセス制御モジュール１０６の処理動作を説明するためのフローチャートである。
【００４３】
まず、アプリケーション１０５がボリュームデバイス２１５にアクセスを行った場合、ファイルアクセス制御モジュール１０６はそのアクセスを検知する（ステップＳ３０１）。そして、ファイルアクセス制御モジュール１０６は、初めにその要求が書込みに関連する要求か否かを判定する（ステップＳ３０２）。なお、書込みに関連する要求とは、いわゆる二次記憶装置への書込みが起こる要求のことを指している。例えば、書込み要求以外にもファイルの属性変更等の要求も書込み関連要求に含まれる。
【００４４】
書込み関連要求ではない場合、ファイルアクセス制御モジュール１０６は、その要求をボリュームデバイス２１５へ転送して処理を終了する（ステップＳ３０５）。要求が書込み関連の場合、ファイルアクセス制御モジュール１０６は、アプリケーション制御ファイル２０６を読み込み（ステップＳ３０３）、書き込み処理のプロセス名をＯＳに問い合わせて取得し、リストのアプリケーション名に対応するプロセス名と比較して一致するエントリーの書込みフラグを取得し、書込み許可／禁止を判定する（ステップＳ３０４）。
【００４５】
書込みフラグが「ＴＲＵＥ」の場合、書き込みは「許可」であり、ファイルアクセス制御モジュール１０６は、ボリュームデバイス２１５に書込み関連要求を転送する（ステップＳ３０７）。その後、さらに、ファイルアクセス制御モジュール１０６は、シャドウボリュームデバイス２１３に対しても同じデータの書込みを行った後（ステップＳ３０８）、処理を終了する。
【００４６】
一方、ステップＳ３０４で書込みフラグが「ＦＡＬＳＥ」と判断された場合には、書込みは「禁止」であり、ファイルアクセス制御モジュール１０６は、ボリュームデバイス２１５に書込み関連要求を転送したのち（ステップＳ３０６）、処理を終了する。
【００４７】
＜書き込み制御モジュールの動作＞
図４は、書き込み制御モジュール１０８内のボリュームフィルタデバイス２１２の処理動作を説明するためのフローチャートである。なお、シャドウボリュームデバイス２１３は、図４では必ずステップＳ４０１→Ｓ４０２→Ｓ４０５→Ｓ４０８と動作する。シャドウボリュームデバイス２１３への処理は、ファイルアクセス制御モジュール１０６が行う書込み処理のみである。また、シャドウボリューム２１３は、任意のタイミング、例えばシャットダウン時にキャッシュしているデータ（制御データであり機密データは含まれない）をボリュームデバイス２１５に転送して二次記憶装置１１１へ保存する。このように、シャドウボリュームデバイス２１３とボリュームフィルタデバイス２１２の動作は異なるのである。シャットダウン時の動作については、図６で述べる。
【００４８】
アプリケーション１０５によるボリュームデバイス２１５（二次記憶装置１１１）に対するアクセスが検知されると（ステップＳ４０１）、ボリュームフィルタデバイス２１２及びシャドウボリュームデバイス２１３は、その要求が書込みに関連する要求か否かを判定する（ステップＳ４０２）。
【００４９】
書込み関連処理の場合、ボリュームフィルタデバイス２１２及びシャドウボリュームデバイス２１３は、書込みデータをメモリ２１７上に確保した領域にキャッシュしておく（ステップＳ４０５）。なお、書込み制御が施されていない通常のＰＣでは、この書込み要求は、ボリュームデバイスに転送され、二次記憶装置に書き込まれる。
【００５０】
書込み関連処理以外の場合（ここでは、読み込み処理に話を限定するがそれ以外のものも含まれることが考えられる）、ボリュームフィルタデバイス２１２は、ボリュームデバイス２１５（２次記憶装置１１１から）データを読み込む（ステップＳ４０３）。
【００５１】
その後、ボリュームフィルタデバイス２１２は、メモリ２１７中にデータがキャッシュされているか否かを判定し（ステップＳ４０４）、キャッシュが存在しない場合、読み込んだデータをそのままアプリケーションに返す（ステップＳ４０６）。キャッシュデータが存在する場合は、ボリュームフィルタデバイス２１２は、キャッシュを読み込みデータに上書きしてアプリケーションに返す（ステップＳ４０７）。
【００５２】
＜自動バックアップモジュールの動作＞
図５は、自動バックアップモジュール１０７の処理動作を説明するためのフローチャートである。
【００５３】
アプリケーション１０５による二次記憶装置へのアクセスが検知されると（ステップＳ５０１）、自動バックアップモジュール１０７は、ファイルアクセス要求がファイル作成であるか否かを判定する（ステップＳ５０２）。
【００５４】
ファイル作成要求の場合、自動バックアップモジュール１０７は、ファイルアクセス制御モジュール１０６にアクセスし、アプリケーション制御ファイル２０６の情報を読み込む（ステップＳ５０３）。そして、自動バックアップモジュール１０７は、ファイル作成処理のプロセス名をＯＳに問い合わせて取得し、リストのアプリケーション名に対応するプロセス名と比較して一致するエントリーの書込みフラグを取得し、書込み許可／禁止を判定する（ステップＳ５０４）。
【００５５】
書込みフラグが「ＦＡＬＳＥ」の場合、そのファイルは書き込み「禁止」のアプリケーションファイルであり、アップロード対象のファイルである。このため、自動バックアップモジュール１０７は、アップロードリストファイル２０９（表２）にファイルパス９０３とファイルサーバ上への転送先パス９０４を追加登録する（ステップＳ５０５）。
【００５６】
なお、アップロード処理に関しては、図７（シャットダウン時のフロー）を用いて詳細に説明する。
【００５７】
＜利用者端末起動時の動作＞
図６は、利用者端末１０１を起動した時の処理動作を説明するためのフローチャートである。
【００５８】
まず、利用者が利用者端末１０１を起動するとＯＳ１０４が起動し（ステップＳ６０１）、ＯＳ１０４が各モジュールをシステムにロードする（ステップＳ６０２）。
【００５９】
次に、書込み制御モジュール１０８は、ボリュームフィルタデバイス２１２とシャドウボリュームデバイス２１３を作成する（ステップＳ６０３）。また、ボリュームフィルタデバイス２１２は、ボリュームデバイス２１５にアタッチ（対応付け）する（ステップＳ６０４）。このアタッチにより、アプリケーション１０５が二次記憶装置１１１にアクセスする場合の処理をボリュームフィルタデバイス２１２で取得できるようになる。
【００６０】
続いて、ＯＳ１０４は、ボリュームデバイス２１５に対し、ファイルシステム２１０、例えばＮＴＦＳやＦＡＴ等をマウントする（ステップＳ６０５）。そして、自動バックアップモジュール１０７は、ファイルシステムフィルタデバイス２＿２０８を作成し、それをマウントされたファイルシステム２１０にアタッチする。このアタッチにより、ファイルシステムフィルタ２＿２０８でアプリケーション１０５によるファイルの新規作成を監視することが可能となる。
【００６１】
最後に、ファイルアクセス制御モジュール１０６は、ファイルシステムフィルタデバイス１＿２０５を作成し、ファイルシステム２１０にアタッチする。これにより、ファイルシステムフィルタ１＿２０５で、ボリュームに対するファイル処理を取得することが可能になりファイル処理の振り分けが可能になる。
【００６２】
＜利用者端末シャットダウン時の動作＞
図７は、利用者端末１０１がシャットダウンされた時の処理動作を説明するためのフローチャートである。
【００６３】
まず、利用者端末１０１のシャットダウンが開始されると（ステップＳ７０１）、自動バックアップモジュール１０７のファイルシステムフィルタ２＿２０８は、アップロードリストファイル２０９を読み込み、エントリーがあるか否か判断する（ステップＳ７０２）。エントリーが存在する場合、ファイルシステムフィルタ２＿２０８は、そのエントリーのファイルパス属性９０３に記述してあるファイルをボリュームフィルタデバイス２１２から読み込む（ステップＳ７０３）。
【００６４】
次に、ファイルシステムフィルタ２＿２０８は、エントリーの転送先パス９０４、つまりファイルサーバ１０２上の場所に当該ファイルを転送し、保存する。この処理がリストの中のエントリー全てに対して実行される。つまり、ステップＳ７０２〜ステップＳ７０４までの処理がアップロードリストファイル２０９のエントリーがなくなるまで続ける。
【００６５】
ステップＳ７０４までの処理が終了すると、シャドウボリュームデバイス２１３は、シャドウボリューム自身がメモリ２１７中にキャッしたシュデータがあるか否かをチェックする（ステップＳ７０５）。キャッシュデータが存在するならば、シャドウボリュームデバイス２１３は、ボリュームデバイス２１５を介して、キャッシュデータを二次記憶装置１１１へ書込む（ステップＳ７０６）。この操作、つまりステップＳ７０５及びＳ７０６をキャッシュデータが無くなるまで続ける。
【００６６】
以上の操作が終了したら利用者端末１０１がシャットダウンされる。
【００６７】
＜まとめ＞
本実施形態では、二次記憶装置を備える利用者端末において、利用者端末上のパッチ等のシステム更新データと、サーバ上に保存すべき機密データとを、二次記憶装置への書込み時に判定してメモリ上に別々にキャッシュしておき、ファイルサーバ上に保存すべき機密データを、任意のタイミング、例えば端末のシャットダウン時に、自動的にファイルサーバにアップロードする。これにより、最小限のデータを効率的にファイルサーバに保存できるようになる。また、利用者が機密データの保存を忘れることによる機密データ消失を完全に防止することが可能となる。
【００６８】
また、上記に加えて、書き込み制御モジュールとして、ボリュームフィルタデバイス及びシャドウボリュームデバイスを導入し、二次記憶装置に書き込み可能な制御データ（システム更新データ）と書き込み禁止されている機密データとのキャッシュルートを変えている。これにより、例えば利用者端末のシャットダウン時に、利用者端末のシステム更新データのみを、利用者端末の二次記憶装置に保存することが可能で、かつ、利用者端末のシャットダウン後には機密データが利用者端末に残存することがなくなることが可能になる。
【００６９】
このとき、読み込み動作は、ボリュームフィルタデバイス経由のみで行われるため、リアルタイムでシステム更新データをシステムに反映させることを可能とするため、システム更新データについては、シャドウボリュームデバイス経由だけでなく、ボリュームフィルタデバイス経由でもキャッシュメモリに格納するようにしている。なお、システムデータ（制御データ）にアクセスする際に、ボリュームフィルタデバイスがシャドウボリュームデバイスと通信し、更新されたシステムデータがあるか否かを問い合わせ、システム更新データがある場合には、キャッシュ中のアドレスをシャドウボリュームデバイスから取得し、ボリュームフィルタデバイスがそのデータを取得するようにしてもよい。これによれば、キャッシュメモリに重複したシステム更新データを保持しておく必要がなくなり、キャッシュ領域を効率的に利用することができるようになる。
【００７０】
また、パッチ等のシステム更新データのキャッシュのみを任意のタイミング、例えばシャットダウン時に利用者端末の二次記憶装置へ保存することで、利用者端末のシステムを最新の状態に保ち、かつ、機密データが利用者端末に残らないようにすることが可能となる。
【００７１】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００７２】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７３】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ-ＲＷ、ＣＤ-Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はＣＰＵやＭＰＵ)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施形態によるシンクライアントシステムの概略構成を示す図である。
【図２】利用者端末の内部構成を示す図である。
【図３】ファイルアクセス制御モジュールの動作を説明するためのフローチャートである。
【図４】書込み制御モジュールの動作を説明するためのフローチャートである。
【図５】自動バックアップモジュールの動作を説明するためのフローチャートである。
【図６】起動時の動作を説明するためのフローチャートである。
【図７】シャットダウン時の動作を説明するためのフローチャートである。
【図８】アプリケーション制御ファイルの構成例を示す図(表１)である。
【図９】アップロードリストファイルの構成例を示す図(表２)である。
【符号の説明】
【００７５】
１０１…利用者端末、１０２…ファイルサーバ、１０３…ネットワーク、１０４…ＯＳ、１０５…アプリケーション、１０６…ファイルアクセス制御モジュール、１０７…自動バックアップモジュール、１０８…デバイス制御モジュール、１０９…書込み制御モジュール、１１０…アプリケーション制御ファイル、１１１…二次記憶装置、１１２…機密データ
【図１】
2010102550.tif 000003
【図２】
2010102550.tif 000004
【図３】
2010102550.tif 000005
【図４】
2010102550.tif 000006
【図５】
2010102550.tif 000007
【図６】
2010102550.tif 000008
【図７】
2010102550.tif 000009
【図８】
2010102550.tif 000010
【図９】
2010102550.tif 000011