説明

ファイル管理装置及びファイル管理プログラム

【課題】例えば、任意のファイルに対して所定の処理を自動的に実施する場合に、対象となるファイルに対して、より確実に、かつ、効率的にその処理を実施することを目的とする。
【解決手段】ファイル管理装置100において、イベント取得部111は、ファイルサーバなどに保存されているファイルの状態が変化した場合に発生するイベントを取得する。ファイル判定部112は、そのイベントが対応するファイルが平文であるかどうかを判定する。情報書込部113は、そのファイルが平文であると判定された場合に、そのファイルを暗号化処理の対象として指定する対象ファイル情報を記憶装置101に書き込む。処理実施部114は、対象ファイル情報が記憶装置101に書き込まれている場合に、その対象ファイル情報が指定するファイルに対して暗号化処理を実施する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイル管理装置及びファイル管理プログラムに関するものである。本発明は、特に、ファイル操作イベント検知の仕組みに関する。
【背景技術】
【0002】
ファイル(「文書」ともいう)を暗号化してファイルサーバなどに保存し、ファイルの閲覧、編集、コピー、保存、印刷可否、閲覧期限などの利用権限を管理するファイル管理システムにおいて、情報漏洩を防止するために、ファイルの利用中もディスク上のファイルを常に暗号化しておくものがある(例えば、特許文献1参照)。このファイル管理システムでは、例えば、ファイルサーバ上の複数フォルダ(「ディレクトリ」ともいう)に対する監視を行う場合、定期的に対象フォルダを検索する。具体的には、定期的に対象フォルダ全てを検索し、以前と異なるファイルが作成されている場合は、自動的に対象ファイルに暗号化処理を実施する。
【0003】
ファイルのバックアップ処理を行うバックアップシステムでは、定期的にバックアップ処理を行うだけでなく、ファイルに対するジョブや操作の発生状況に応じて自動的にバックアップ処理を実施するものがある(例えば、特許文献2及び3参照)。
【特許文献1】特開2006−99348号公報
【特許文献2】特開平9−160818号公報
【特許文献3】特開2005−346219号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述したように、従来のファイル管理システムでは、定期的に対象フォルダ全てを検索する必要があるため、サブフォルダ(「サブディレクトリ」ともいう)まで対象とした場合、検索するサーバ側の負荷が高くなり、パフォーマンスが低下するという課題があった。また、必要な処理が必要なタイミングより遅れるという課題があった。そのため、不特定多数のフォルダを対象とはできなかった。例えば、任意のフォルダのサブフォルダ全てを暗号化処理の対象として指定するといったことはできず、サブフォルダを1つ1つ指定する必要があった。
【0005】
従来のバックアップシステムでは、ジョブや操作の発生状況を常時記憶しておく必要があるため、ジョブや操作の発生回数が多いと、パフォーマンスが低下するという課題があった。また、バックアップ処理をより効率的に行うためには、ジョブや操作の発生状況をより詳細に記憶しておく必要があり、大きな記憶領域を確保しなければならないという課題があった。
【0006】
本発明は、例えば、任意のファイルに対して所定の処理を自動的に実施する場合に、対象となるファイルに対して、より確実に、かつ、効率的にその処理を実施することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るファイル管理装置は、
ファイルの状態が変化した場合に発生するイベントを当該ファイルに対応するイベントとして処理装置により取得するイベント取得部と、
前記イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルに所定の処理が実施されているかどうかを前記処理装置により判定するとともに、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報が記憶装置に存在するかどうかを判定するファイル判定部と、
前記ファイル判定部により当該ファイルに前記所定の処理が実施されていないと判定された場合であって、前記ファイル判定部により当該対象ファイル情報が前記記憶装置に存在しないと判定された場合には、当該対象ファイル情報を前記記憶装置に書き込み、前記ファイル判定部により当該対象ファイル情報が前記記憶装置に存在すると判定された場合には、当該対象ファイル情報を上書きする情報書込部と、
前記記憶装置に対象ファイル情報が存在するかどうかを所定の期間ごとに確認する情報確認部と、
前記情報確認部により前記記憶装置に対象ファイル情報が存在すると確認された場合に、当該対象ファイル情報が指定するファイルに対して前記所定の処理を前記処理装置により実施する処理実施部とを備えることを特徴とする。
【0008】
前記ファイル管理装置は、さらに、
前記処理実施部によりファイルに対して前記所定の処理が実施された場合に、当該ファイルを指定する対象ファイル情報を前記記憶装置から削除する情報削除部を備えることを特徴とする。
【0009】
前記ファイル判定部は、前記イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルの種類が所定の種類であるかどうかを判定し、
前記情報書込部は、前記ファイル判定部により当該ファイルの種類が前記所定の種類であると判定された場合に、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報を前記記憶装置に書き込むことを特徴とする。
【0010】
前記ファイル判定部は、前記イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルが平文であるかどうかを判定し、
前記情報書込部は、前記ファイル判定部により当該ファイルが平文であると判定された場合に、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報を前記記憶装置に書き込み、
前記処理実施部は、前記情報書込部により対象ファイル情報が書き込まれた場合に、当該対象ファイル情報が指定するファイルに対して暗号化処理を実施することを特徴とする。
【0011】
前記イベント取得部は、任意のフォルダと当該フォルダの全てのサブフォルダとに格納される複数のファイルのそれぞれに対応するイベントを取得することを特徴とする。
【0012】
本発明に係るファイル管理プログラムは、
コンピュータが備えるイベント取得部が、ファイルの状態が変化した場合に発生するイベントを当該ファイルに対応するイベントとして処理装置により取得するイベント取得手順と、
コンピュータが備えるファイル判定部が、前記イベント取得手順によりイベントが取得された場合に、当該イベントが対応するファイルに所定の処理が実施されているかどうかを前記処理装置により判定するとともに、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報が記憶装置に存在するかどうかを判定するファイル判定手順と、
コンピュータが備える情報書込部が、前記ファイル判定手順により当該ファイルに前記所定の処理が実施されていないと判定された場合であって、前記ファイル判定手順により当該対象ファイル情報が前記記憶装置に存在しないと判定された場合には、当該対象ファイル情報を前記記憶装置に書き込み、前記ファイル判定手順により当該対象ファイル情報が前記記憶装置に存在すると判定された場合には、当該対象ファイル情報を上書きする情報書込手順と、
コンピュータが備える情報確認部が、前記記憶装置に対象ファイル情報が存在するかどうかを所定の期間ごとに確認する情報確認手順と、
コンピュータが備える処理実施部が、前記情報確認手順により前記記憶装置に対象ファイル情報が存在すると確認された場合に、当該対象ファイル情報が指定するファイルに対して前記所定の処理を前記処理装置により実施する処理実施手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【0013】
本発明では、ファイル管理装置において、ファイル判定部が、イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルに所定の処理が実施されているかどうか、当該ファイルを所定の処理の対象として指定する対象ファイル情報が記憶装置に存在するかどうかを判定する。情報書込部が、ファイル判定部により当該ファイルに所定の処理が実施されておらず当該対象ファイル情報が記憶装置に存在しないと判定された場合には、当該対象ファイル情報を記憶装置に書き込み、ファイル判定部により当該対象ファイル情報が記憶装置に存在すると判定された場合には、当該対象ファイル情報を上書きする。情報確認部が、記憶装置に対象ファイル情報が存在するかどうかを所定の期間ごとに確認する。処理実施部が、情報確認部により記憶装置に対象ファイル情報が存在すると確認された場合に、当該対象ファイル情報が指定するファイルに対して所定の処理を実施する。これにより、イベントの監視、管理のために使用する記憶領域を小さく抑えながら、所定の処理の対象となるファイルに対して、より確実に、かつ、効率的にその処理を実施することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態について、図を用いて説明する。
【0015】
実施の形態1.
図1は、本実施の形態に係るファイル管理装置100の構成を示すブロック図である。
【0016】
図1において、ファイル管理装置100は、イベント取得部111、ファイル判定部112、情報書込部113、処理実施部114、情報確認部115、情報削除部116を備える。イベント取得部111、ファイル判定部112、情報書込部113は、後述するイベント監視サービス201を提供する。処理実施部114、情報確認部115、情報削除部116は、後述する定期保護サービス202を提供する。また、ファイル管理装置100は、記憶装置101、処理装置102、入力装置103、出力装置104などのハードウェア装置を備える(又はこれらのハードウェア装置がファイル管理装置100に接続される)。ハードウェア装置はファイル管理装置100の各部によって利用される。例えば、処理装置102は、ファイル管理装置100の各部がデータや情報の演算、加工、読み取り、書き込みなどを行うために利用される。記憶装置101は、そのデータや情報を記憶するために利用される。また、入力装置103は、そのデータや情報を入力するために、出力装置104は、そのデータや情報を出力するために利用される。
【0017】
イベント取得部111は、ファイルサーバなどに保存されているファイルの状態が変化した場合に発生するイベントを、そのファイルに対応するイベントとして処理装置102により取得する。ユーザは、任意のフォルダを指定することにより、そのフォルダに保存されるファイルを、イベント取得部111がイベントを取得する対象とすることができる。つまり、ユーザは、任意のフォルダを指定して、後述するように、そのフォルダを暗号化処理などの対象フォルダとすることができる。また、ユーザは、任意のフォルダを対象フォルダとして指定するだけでなく、指定するフォルダのサブフォルダも対象フォルダとすることができる。つまり、ユーザは、任意のフォルダとそのフォルダの全てのサブフォルダとに格納される複数のファイルのそれぞれを、イベント取得部111がイベントを取得する対象とすることができる。このために、イベント取得部111は、ユーザが指定するフォルダを示すとともに、ユーザがそのフォルダのサブフォルダを対象に含めるかどうか示すフォルダ指定情報を入力装置103により入力する。そして、イベント取得部111は、フォルダ指定情報で示されたフォルダとそのフォルダの全てのサブフォルダとに格納される複数のファイルのうち、状態が変化したファイルがあった場合に発生するイベントを、それぞれのファイルに対応するイベントとして取得する。
【0018】
ファイル判定部112は、イベント取得部111によりイベントが取得された場合に、そのイベントが対応するファイル(そのイベントを発生させるトリガとなった状態変化があったファイル)に所定の処理が実施されているかどうかを処理装置102により判定する。本実施の形態では、ファイル判定部112は、そのファイルに所定の処理として暗号化処理が実施されているかどうかを判定する。つまり、ファイル判定部112は、そのファイルが平文であるかどうかを判定する。そのファイルが平文であれば、そのファイルには暗号化処理が実施されていないことになり、そのファイルが平文でなければ、そのファイルには暗号化処理が実施されていることになる。ここで、暗号化処理は、所定の処理の一例であり、ファイル判定部112は、ファイルに他の処理(例えば、電子署名を付加する処理)が実施されているかどうかを判定してもよい。また、ファイル判定部112は、イベント取得部111によりイベントが取得された場合に、そのイベントが対応するファイルを指定する対象ファイル情報が記憶装置101に存在するかどうかを判定する。対象ファイル情報については、後述する。また、ファイル判定部112は、イベント取得部111によりイベントが取得された場合に、そのイベントが対応するファイルの種類が所定の種類であるかどうかを判定する。後述するように、ファイルの種類は、例えば、Microsoft(登録商標)・Office文書(Word、Excel、PowerPoint(登録商標)などのファイル)(以下、「Office文書」という)である。ユーザは、任意のファイルの種類を指定することにより、その種類のファイルを暗号化処理などの対象ファイルとすることができる。このために、ファイル判定部112は、ユーザが指定するファイルの種類を示すファイル指定情報を入力装置103により入力する。そして、ファイル判定部112は、イベント取得部111により取得されたイベントが対応するファイルの種類が、ファイル指定情報で示されたファイルの種類であるかどうかを判定する。
【0019】
情報書込部113は、イベント取得部111により取得されたイベントが対応するファイルに所定の処理が実施されていないとファイル判定部112により判定された場合に、そのファイルを所定の処理の対象として指定する対象ファイル情報を記憶装置101に書き込む。本実施の形態では、情報書込部113は、ファイル判定部112によりそのファイルが平文であると判定された場合に、そのファイルを暗号化処理の対象として指定する対象ファイル情報を記憶装置101に書き込む。また、情報書込部113は、イベント取得部111により取得されたイベントが対応するファイルを指定する対象ファイル情報が記憶装置101に存在しないとファイル判定部112により判定された場合には、その対象ファイル情報を記憶装置101に書き込み、その対象ファイル情報が記憶装置101に存在するとファイル判定部112により判定された場合には、その対象ファイル情報を上書きする。例えば、記憶装置101の一例としてデータベースの1つのテーブルに対象ファイル情報を保存する場合、対象ファイル情報をファイルごとに1レコードとして保存することができる。この例では、情報書込部113は、あるファイルの対象ファイル情報のレコードがデータベースに保存されていない場合には、そのレコードを新たに追加し、そのレコードがデータベースに保存されている場合には、そのレコードを更新することになる。また、情報書込部113は、イベント取得部111により取得されたイベントが対応するファイルの種類が所定の種類であるとファイル判定部112により判定された場合に、そのファイルを所定の処理(本実施の形態では、暗号化処理)の対象として指定する対象ファイル情報を記憶装置101に書き込む。
【0020】
情報確認部115は、記憶装置101に対象ファイル情報が存在するかどうかを所定の期間ごとに(定期的に)確認する。ユーザは、この期間を指定することができる。このために、情報確認部115は、ユーザが指定する期間を示す期間指定情報を入力装置103により入力する。そして、情報確認部115は、記憶装置101に対象ファイル情報が存在するかどうかを、期間指定情報で示された期間ごとに確認する。
【0021】
処理実施部114は、情報書込部113により対象ファイル情報が記憶装置101に書き込まれている場合に、その対象ファイル情報が指定するファイルに対して所定の処理(本実施の形態では、暗号化処理)を処理装置102により実施する。また、処理実施部114は、情報確認部115により記憶装置101に対象ファイル情報が存在すると確認された場合に、その対象ファイル情報が指定するファイルに対して所定の処理(本実施の形態では、暗号化処理)を処理装置102により実施する。
【0022】
情報削除部116は、処理実施部114によりファイルに対して所定の処理(本実施の形態では、暗号化処理)が実施された場合に、そのファイルを指定する対象ファイル情報を記憶装置101から削除する。例えば、上述したように、対象ファイル情報をファイルごとに1レコードとして保存する場合、情報削除部116は、暗号化されたファイルを指定する対象ファイル情報のレコードを削除したり、履歴情報(ログ)を保存する他のテーブル(他のデータベースのテーブルでもよい)に移動したりする。
【0023】
本実施の形態では、イベント取得部111は、ファイルの一例として、Office文書の状態変化をファイルごとに検知する。Office文書は、ファイルの種類の一例であり、他の種類のファイル(例えば、テキストファイル、PDFファイル、イメージファイル、動画ファイル)が対象になってもよいし、複数の種類のファイルが対象となってもよい。ファイルサーバ上のOffice文書に対し、その状態変化に応じた処理(所定の処理)を実施する場合、その状態変化をファイルごとに正確に検知する必要がある。そのため、イベント取得部111は、OS(オペレーティングシステム)から提供されるAPI(Application・Program・Interface)を用いて、ファイルの状態変化に関するイベントをOSレベルで検知するが、用いるAPIによってはイベント取得部111が1つの状態の変化に対して、複数回のイベントを取得する(複数回のイベントが発生したと認識する)場合がある。例えば、Windows(登録商標) OSから提供されているAPIを用いると、Office文書の状態変化に対するイベントは、ファイルの種類や、ファイルの状態変化の基となる操作によって異なり、1つの状態の変化に対して複数回のイベントが取得される(発生する)場合もあるし、異なるイベントが取得される(発生する)場合もある。例えば、図2に示すように、Officeアプリケーション上では、各操作別にイベント取得部111がイベントを取得する取得形態(イベントの発生形態)が異なる。図2において、「Xファイル」はExcelのファイル、「Wファイル」はWordのファイル、「Pファイル」はPowerPoint(登録商標)のファイルを示す。各Office文書に対して、「開く」、「閉じる」、「上書き保存」、「名前を付けて保存」の各操作を実施した場合、ファイル(アプリケーション)の種類及び操作によって「change」イベントの取得回数(発生回数)が図2のように異なる。また、例えば、図3に示すように、Office文書に対するエクスプローラ(「Eアプリケーション」)やDOSコマンド(「Dアプリケーション」)による操作を実施した場合にも、アプリケーションの種類及び操作によって「change」イベントの取得回数(発生回数)が異なる。
【0024】
ファイルの状態変化(保存、コピー、移動など)は、ドライバ層で監視することができる。しかし、このような方式は、OSと同一レベルでの監視であるため、一度その方式を導入した後のメンテナンスが容易ではない。また、基本的には全てのファイルを対象とすることになり、本実施の形態のようにOffice文書の特定の状態変化のみを対象とすることは困難である。そこで、ファイルの状態変化に伴うイベント検知を行い、取得したイベントそのものでファイルに対し処理をすることができる。しかし、このような方式では、上記のように、ファイル(アプリケーション)の種類及び操作によってイベントの発生回数が異なることには適切に対処できない。例えば、ファイルの状態が変化した際に、同じイベントが複数回発生すると(図2に示したように、「Pファイル」が「名前を付けて保存」(別名保存)されると、「change」イベントが4回発生する)、この方式では、対象ファイルに対し複数回処理をすることになり、無駄な処理を実行する結果となる。
【0025】
そこで、本実施の形態では、ファイル管理装置100が、ファイルの種類や状態によって発生形態が異なるイベントを、ファイルごと、状態ごとに整理後、データベース上で管理し、状態別に実施する処理(所定の処理)は、データベース上の情報(対象ファイル情報)を基に、必要なタイミングで実施する。例えば、ファイルサーバ上のOffice文書に対し、ファイル作成時に自動的に暗号化処理を実施する場合、本実施の形態により、「ファイルの作成」という状態変化を正確に検知して、対象のファイルに対してのみ必要な時期に暗号化を実施することができる。そのため、ファイルサーバのような複数のフォルダ、サブフォルダが存在する場合でも、必要なタイミングで必要なファイルに対してのみ暗号化処理を実施できる。その結果、サブフォルダが通常存在するファイルサーバの運用へ、パフォーマンスを下げずに対応することが可能となり、かつ、ユーザの利便性を向上するシステムが実現可能となる。さらに、上記のような方式としたことで、サーバ上のアプリケーション層で状態変化の監視を実現するアプリケーションが実現可能となり、導入、メンテナンスの容易化が図れる。
【0026】
図4は、本実施の形態に係るファイル管理システム200の処理を示す概念図である。
【0027】
ファイル管理システム200において、イベント監視サービス201は、ファイル管理装置100のイベント取得部111、ファイル判定部112、情報書込部113により提供される。イベント監視サービス201は、データベースの保護対象文書情報テーブル203(記憶装置101の一例)を用いて、上述したファイル別、状態別にイベントを整理・管理するアプリケーション(ファイル管理プログラムの一部)である。このアプリケーションは、例えば、Windows(登録商標)・Server上のサービスとして実装することができる。また、定期保護サービス202は、ファイル管理装置100の処理実施部114、情報確認部115、情報削除部116により提供される。定期保護サービス202は、定期的にイベント監視サービス201がデータベースの保護対象文書情報テーブル203に登録したファイル別、状態別の情報(対象ファイル情報204)を取得し、対象ファイルに対し暗号化を実施するアプリケーション(ファイル管理プログラムの一部)である。このアプリケーションも、例えば、Windows(登録商標)・Server上のサービスとして実装することができる。
【0028】
ファイル管理装置100は、最初にイベント監視サービス201、定期保護サービス202をそれぞれ開始する。イベント監視サービス201では、対象フォルダのイベント監視が開始される。その後、以下の処理が実行される。
(1)ユーザがファイルサーバ300上の監視対象フォルダ「フォルダA」にファイル「ファイルA1」を作成(保存又はコピー)する。また、監視対象フォルダのサブフォルダ「フォルダA−1」、「フォルダA−2」に、それぞれ「ファイルA11」、「ファイルA12」を作成する。
(2)イベント監視サービス201にて、イベント取得部111が(1)のイベントを検知する。このとき、対象フォルダ「フォルダA」、「フォルダA−1」、「フォルダA−2」のイベントは、ファイル生成、上書きコピーともに監視対象のイベントとする。
(3)ファイル判定部112が対象文書「ファイルA1」、「ファイルA11」、「ファイルA12」が暗号化されていないと判定した場合は、情報書込部113が対象文書(フルパス)と状態(新規作成)をデータベースの保護対象文書情報テーブル203に対象ファイル情報204を新規登録する。このとき、イベントが1ファイルに対し複数発生した場合は、データベースの保護対象文書情報テーブル203の同一ファイルに係る対象ファイル情報204を上書き(更新)する。この処理中又はユーザがファイルを操作中の間は、データベースの対象レコードをロックし、定期保護サービス202からはアクセスできないようにする。処理終了後、再度イベント待ち状態となる。
(4)定期保護サービス202にて、情報確認部115がデータベース上の保護対象文書情報テーブル203の暗号化対象ファイルを検索し、処理実施部114が対象ファイルを暗号化する(「暗号化する」ことを、「保護する」ともいう)。このとき、対象ファイルが操作中であり暗号化を実施できない場合は、保護対象文書情報テーブル203上のレコードがロックされているため、対象ファイルを定期保護サービス202の暗号化対象から除外し、次回の定期動作時以降、レコードがロックされていないことを確認したとき、暗号化を実施する。
(5)定期保護サービス202にて、(4)で暗号化処理を完了後、情報削除部116が保護対象文書情報テーブル203上の対象ファイルに対するレコード(対象ファイル情報204)を記憶装置101に記憶された履歴情報テーブル(図示せず)に記憶した後、保護対象文書情報テーブル203上の対象ファイルに対するレコードを削除する。なお図示しない履歴情報テーブルは保護対象文書情報テーブル203と同一のファイル構造を有するものとし、暗号化処理の正常終了確認などの履歴として用いることができる。
【0029】
上記(5)の後、ユーザが同一ファイルに対し、再度「上書き保存」を実施した場合には、イベント監視サービス201にて、イベント取得部111がイベントを取得するが、ファイル判定部112が既に暗号化されたファイルであると判定するため、情報書込部113は保護対象文書情報テーブル203へは登録しない。一方、ユーザが新規ファイルを作成し、「上書き保存」で(1)と同一パス、同一ファイル名で保存した場合には、(2)と同様にイベントを取得し、(3)〜(5)の処理が実施される。
【0030】
上記(1)において、ファイルの状態が変化した際に、イベントが全く発生しない場合がある(図2に示したように、「Wファイル」が「上書き保存」されても、「change」イベントは発生しない)。この場合には、上記(2)において、他の種類のイベントも取得する(「Wファイル」が「上書き保存」されると、「create」イベントが発生する)。
【0031】
図5は、ファイル管理システム200の処理を示すフローチャートである。
【0032】
まず、ファイル管理装置100において、イベント監視サービス201と定期保護サービス202が開始される(ステップS101、S201)。イベント監視サービス201にて、イベント取得部111は、イベント発生待ち状態に遷移する(ステップS102)。
【0033】
ユーザは、フォルダ監視の対象フォルダに平文のファイルをコピーする(ステップS301)。ファイルがコピーされたことにより、「change」イベントが発生する(ステップS302)。
【0034】
イベント取得部111は、「change」イベントを取得する(ステップS103:イベント取得手順)。ファイル判定部112は、対象文書(ステップS301でコピーされたファイル)が平文であるかどうかを判定する(ステップS104:ファイル判定手順の一部)。対象文書が平文でない場合には、対象文書には既に暗号化処理が実施されていることになり、ステップS102に戻る。一方、対象文書が平文である場合には、対象文書にはまだ暗号化処理が実施されていないことになり、ステップS105に進む。そして、ファイル判定部112は、対象文書がOffice文書(所定の種類の一例)であるかどうかを、例えば対象文書の拡張子を基に判定する(ステップS105:ファイル判定手順の一部)。前提条件として、ここではOffice文書以外のファイルは暗号化処理の対象外とする。よって、対象文書がOffice文書でない場合には、ステップS102に戻る。一方、対象文書がOffice文書である場合には、ステップS106に進む。そして、ファイル判定部112は、対象文書に係るレコード(対象ファイル情報204)が記憶装置101に記憶された保護対象文書情報テーブル203に存在するかどうかを判定する(ステップS106:ファイル判定手順の一部)。対象文書に係るレコードが保護対象文書情報テーブル203に存在しない場合には、情報書込部113は、対象文書に係るレコードを新規情報として保護対象文書情報テーブル203に書き込む(ステップS107:情報書込手順)。一方、対象文書に係るレコードが保護対象文書情報テーブル203に存在する場合には、情報書込部113は、対象文書に係るレコード(保護対象文書情報テーブル203の既存情報)を上書きする(ステップS107:情報書込手順)。
【0035】
情報確認部115は、保護対象文書情報テーブル203に対象文書に係るレコード(新規情報)が存在するかどうかを定期的に確認する(ステップS202:情報確認手順)。情報確認部115が、保護対象文書情報テーブル203に対象文書に係るレコードが存在することを確認した場合には、処理実施部114は、その対象文書を暗号化する(ステップS203:処理実施手順)。情報削除部116は、暗号化された対象文書に係るレコード(既存情報)を記憶装置101に記憶された履歴情報テーブル(図示せず)に書き込んだ後、保護対象文書情報テーブル203上の対象文書に係るレコードを削除する(ステップS204:情報削除手順)。
【0036】
ここで、対象ファイル情報204の一例として、保護対象文書情報テーブル203の構成を図6に示す。
【0037】
図6において、「保護ファイル番号」は、保護対象ファイルのユニーク番号、即ち、対象ファイルを一意に識別する識別子である。「ファイル名」は、イベントが対応するファイルのファイル名である。「保護ファイル名」は、暗号化されたファイルのファイル名である(この例では、ファイルが暗号化されると、暗号化されたファイルは別のファイル名で保存されるものとする)。「エラーファイル名」は、暗号化処理の実行時にエラーが発生した場合に作成されるファイルのファイル名である。この例では、「ファイル名」、「保護ファイル名」、「エラーファイル名」はいずれもフルパスで表すものとする。「イベント」は、イベントの種類(「change」、「create」、「rename」など)を示す情報である。「初期イベント発生日時」は、対象ファイルに対応するイベントが最初に発生した日時である。「最終イベント発生日時」は、対象ファイルに対応するイベントが最後に発生した日時である。「最終保護実施日時」は、対象ファイルを最後に暗号化した日時である。この例では、「初期イベント発生日時」、「最終イベント発生日時」、「最終保護実施日時」はいずれもファイルサーバ300の時間を使用して記録するものとする。「最終保護実施結果」は、暗号化処理の実行時にエラーが発生した場合に、次回暗号化処理を実施できるように登録されるフラグである。この例では、単に暗号化処理が実施済でない場合(デフォルト)は0に設定され、暗号化の際にエラーが発生した場合は1に設定されるものとする。「保護実施回数」は、暗号化処理が実施された回数(リトライの回数)を表す情報であり、エラーが発生した場合にのみカウントアップされる。
【0038】
図6に示した例では、「ファイル名」、「イベント」、「初期イベント発生日時」、「最終イベント発生日時」の各項目が、イベント監視サービス201にて保護対象文書情報テーブル203に記録される。具体的には、情報書込部113が、イベント取得部111により取得されたイベントに含まれる情報を基に、これらの項目を作成し、保護対象文書情報テーブル203に記録する。その他の各項目は、定期保護サービス202にて保護対象文書情報テーブル203に記録される。具体的には、処理実施部114が、暗号化処理を実施したときやエラーが発生したときに、各項目を作成し、保護対象文書情報テーブル203に記録する。また、上述したように、保護対象文書情報テーブル203に記憶された情報を図示しない履歴情報テーブルとして保存することにより、暗号化処理の正常終了確認などの履歴として用いることができる。
【0039】
図5において、ステップS302と同様に、例えば、2回目、3回目のイベント発生があった場合にも(ステップS303、S304)(図3に示したように、「Eアプリケーション」でファイルが「コピー」されると、「change」イベントが3回発生する)、ファイル管理装置100において、ステップS103以降の処理が実行される。1回目のイベント発生で、定期保護サービス202により対象文書が暗号化されたときは、2回目、3回目のイベント発生では、ステップS104にて対象文書が平文ではないと判定され、イベント監視サービス201はイベント発生待ちの状態に戻ることになる。一方、定期保護サービス202の定期的な起動のタイミングにより、2回目、3回目のイベント発生時に、定期保護サービス202による対象文書の暗号化処理が実施されず、対象文書が平文で記憶されているときもある。このとき、保護対象文書情報テーブル203に、イベント発生分だけ対象ファイル情報204を記憶すると、定期保護サービス202により、無用な暗号化処理が発生することになる。そのため、ステップS106の処理で保護対象文書情報テーブル203に、該当する対象ファイル情報204が存在するかどうか確認し、存在しないときは新規情報として書き込み(ステップS107)、存在するときは既存情報を上書きする(ステップS108)ように動作することにより、無用な処理を発生させることなく、効率的に処理を行うことができる。
【0040】
また、ステップS301と同様に、例えば、ユーザがExcelを起動し、ファイルを編集した後、そのファイルを別名保存した場合にも、2回目のイベント発生が起こるが(図2に示したように、「Xファイル」が「名前を付けて保存」されると、「change」イベントが2回発生する)、この場合も同様である。
【0041】
図7は、ファイル管理装置100のハードウェア資源の一例を示す図である。
【0042】
図7において、ファイル管理装置100は、コンピュータ及びその他のハードウェア資源から構成されている。ファイル管理装置100は、CRT(Cathode・Ray・Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置901、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ装置906などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
【0043】
また、ファイル管理装置100は、プログラムを実行するCPU911(Central・Processing・Unit)(「中央処理装置」、「演算装置」、「マイクロプロセッサ」、「マイクロコンピュータ」、「プロセッサ」ともいう)を備えている。CPU911は、処理装置102の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【0044】
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置101の一例である。通信ボード915、キーボード902、FDD904などは、入力装置103の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置104の一例である。
【0045】
通信ボード915は、LANなどに接続されている。通信ボード915は、LANに限らず、インターネット、ISDN(Integrated・Services・Digital・Network)などのWAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0046】
磁気ディスク装置920には、オペレーティングシステム921、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(IDentifier)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0047】
また、本実施の形態の説明において説明するブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、RAM914などのメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital・Versatile・Disc)などの記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0048】
また、本実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどの記録媒体に記憶される。このプログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【0049】
また、図4に示した本実施の形態に係るファイル管理システム200の構成図では、ファイル管理装置100とファイルサーバ300を1つずつ記載しているが、ファイル管理装置100とファイルサーバ300とをそれぞれ1台のコンピュータとして構成するだけでなく、ファイル管理装置100とファイルサーバ300とを1台のコンピュータとして構成する(即ち、ファイル管理システム200を1台のコンピュータとして実施する)ことも可能である。さらに、1つ(1台)のファイル管理装置100が2つ以上(複数台)のファイルサーバ300のファイル情報を管理するように構成する(即ち、ファイル管理システム200が1つのファイル管理装置100と複数のファイルサーバ300を含む)ことも可能である。
【0050】
以上のように、本実施の形態では、ファイル管理装置100において、ファイル判定部112が、イベント取得部111によりイベントが取得された場合に、当該イベントが対応するファイルに所定の処理が実施されているかどうかを判定し、情報書込部113が、ファイル判定部112により当該ファイルに所定の処理が実施されていないと判定された場合に、当該ファイルを所定の処理の対象として指定する対象ファイル情報204を記憶装置101に書き込み、処理実施部114が、情報書込部113により対象ファイル情報204が書き込まれている場合に、当該対象ファイル情報204が指定するファイルに対して所定の処理を実施することにより、所定の処理の対象となるファイルに対して、より確実に、より効率的にその処理を実施することが可能となる。
【0051】
本実施の形態では、ファイル判定部112が、イベント取得部111によりイベントが取得された場合に、当該イベントが対応するファイルを指定する対象ファイル情報204が記憶装置101に存在するかどうかを判定し、情報書込部113が、ファイル判定部112により当該対象ファイル情報204が記憶装置101に存在しないと判定された場合には、当該対象ファイル情報204を記憶装置101に書き込み、ファイル判定部112により当該対象ファイル情報204が記憶装置101に存在すると判定された場合には、当該対象ファイル情報204を上書きすることにより、イベントの監視、管理のために使用する記憶領域を小さく抑えることが可能となる。
【0052】
また、上述したように、アプリケーションによっては、1回のユーザ操作(1つの状態の変化)に対して、イベント取得部111が該当イベントを複数回取得する(該当のイベントが複数回発生する)ことがあり、イベントを単純に取得し、イベントに応じて所定の処理を行う方法では無駄に同じ処理が複数回発生してしまうという問題があった。その問題を解決するために、当該対象ファイル情報204が記憶装置101に存在すると判定された場合には、当該対象ファイル情報204を上書きし、情報確認部115が対象ファイル情報204を確認し、処理実施部114が処理を実行することにより1回のイベントに対して、1回の所定の処理(本実施の形態では暗号化処理)を実施するように構成した。
【0053】
本実施の形態では、情報確認部115が、記憶装置101に対象ファイル情報204が存在するかどうかを所定の期間ごとに確認し、処理実施部114が、情報確認部115により記憶装置101に対象ファイル情報204が存在すると確認された場合に、当該対象ファイル情報204が指定するファイルに対して所定の処理を処理装置102により実施することにより、所定の処理の対象となる複数のファイルに対して、その処理をまとめて実施することが可能となる。
【0054】
本実施の形態では、情報削除部116が、処理実施部114によりファイルに対して所定の処理が実施された場合に、当該ファイルを指定する対象ファイル情報204を記憶装置101から削除することにより、イベントの監視、管理のために使用する記憶領域をさらに小さく抑えることが可能となる。
【0055】
また、本実施の形態で例を用いて説明したように、処理実施部114、情報確認部115、情報削除部116が含まれる定期保護サービス202と、イベント取得部111、ファイル判定部112、情報書込部113が含まれるイベント監視サービス201とを別サービスとして構成することにより、それぞれのサービスを非同期に所定の期間で動作させることが可能になる。さらに、別サービスとして構成することにより、それぞれのサービスプログラムの保守性が向上する利点もある。また、情報書込部113が、記憶装置101に記憶された保護対象文書情報テーブル203上の対象ファイルに対するレコード(対象ファイル情報204)を書き込み、処理実施部114が上書きし、情報削除部116がそのレコードを保護対象文書情報テーブル203から削除する際に、記憶装置101に記憶された履歴情報テーブルにそのレコードを書き込むことにより、暗号化処理の正常終了確認などの履歴を確認したり、活用したりすることが可能となる。
【0056】
本実施の形態では、ファイル判定部112が、イベント取得部111によりイベントが取得された場合に、当該イベントが対応するファイルの種類が所定の種類であるかどうかを判定し、情報書込部113が、ファイル判定部112により当該ファイルの種類が所定の種類であると判定された場合に、当該ファイルを所定の処理の対象として指定する対象ファイル情報204を記憶装置101に書き込むことにより、ファイルの種類を限定することが可能となる。
【0057】
本実施の形態では、ファイル判定部112が、イベント取得部111によりイベントが取得された場合に、当該イベントが対応するファイルが平文であるかどうかを判定し、情報書込部113が、ファイル判定部112により当該ファイルが平文であると判定された場合に、当該ファイルを所定の処理の対象として指定する対象ファイル情報204を記憶装置101に書き込み、処理実施部114が、情報書込部113により対象ファイル情報204が書き込まれた場合に、当該対象ファイル情報204が指定するファイルに対して暗号化処理を実施することにより、情報漏洩の防止をより確実にすることが可能となる。
【0058】
本実施の形態では、イベント取得部111が、任意のフォルダと当該フォルダの全てのサブフォルダとに格納される複数のファイルのそれぞれに対応するイベントを取得することにより、利便性・柔軟性の高いサービスを提供することが可能となる。
【図面の簡単な説明】
【0059】
【図1】実施の形態1に係るファイル管理装置の構成を示すブロック図である。
【図2】ファイルの種類及び操作ごとのイベント取得回数(発生回数)の一例を示す表である。
【図3】アプリケーションの種類及び操作ごとのイベント取得回数(発生回数)の一例を示す表である。
【図4】実施の形態1に係るファイル管理システムの処理を示す概念図である。
【図5】実施の形態1に係るファイル管理システムの処理を示すフローチャートである。
【図6】対象ファイル情報の一例を示す表である。
【図7】実施の形態1におけるファイル管理装置のハードウェア資源の一例を示す図である。
【符号の説明】
【0060】
100 ファイル管理装置、101 記憶装置、102 処理装置、103 入力装置、104 出力装置、111 イベント取得部、112 ファイル判定部、113 情報書込部、114 処理実施部、115 情報確認部、116 情報削除部、200 ファイル管理システム、201 イベント監視サービス、202 定期保護サービス、203 保護対象文書情報テーブル、204 対象ファイル情報、300 ファイルサーバ、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、923 プログラム群、924 ファイル群。

【特許請求の範囲】
【請求項1】
ファイルの状態が変化した場合に発生するイベントを当該ファイルに対応するイベントとして処理装置により取得するイベント取得部と、
前記イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルに所定の処理が実施されているかどうかを前記処理装置により判定するとともに、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報が記憶装置に存在するかどうかを判定するファイル判定部と、
前記ファイル判定部により当該ファイルに前記所定の処理が実施されていないと判定された場合であって、前記ファイル判定部により当該対象ファイル情報が前記記憶装置に存在しないと判定された場合には、当該対象ファイル情報を前記記憶装置に書き込み、前記ファイル判定部により当該対象ファイル情報が前記記憶装置に存在すると判定された場合には、当該対象ファイル情報を上書きする情報書込部と、
前記記憶装置に対象ファイル情報が存在するかどうかを所定の期間ごとに確認する情報確認部と、
前記情報確認部により前記記憶装置に対象ファイル情報が存在すると確認された場合に、当該対象ファイル情報が指定するファイルに対して前記所定の処理を前記処理装置により実施する処理実施部とを備えることを特徴とするファイル管理装置。
【請求項2】
前記ファイル管理装置は、さらに、
前記処理実施部によりファイルに対して前記所定の処理が実施された場合に、当該ファイルを指定する対象ファイル情報を前記記憶装置から削除する情報削除部を備えることを特徴とする請求項1に記載のファイル管理装置。
【請求項3】
前記ファイル判定部は、前記イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルの種類が所定の種類であるかどうかを判定し、
前記情報書込部は、前記ファイル判定部により当該ファイルの種類が前記所定の種類であると判定された場合に、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報を前記記憶装置に書き込むことを特徴とする請求項1に記載のファイル管理装置。
【請求項4】
前記ファイル判定部は、前記イベント取得部によりイベントが取得された場合に、当該イベントが対応するファイルが平文であるかどうかを判定し、
前記情報書込部は、前記ファイル判定部により当該ファイルが平文であると判定された場合に、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報を前記記憶装置に書き込み、
前記処理実施部は、前記情報書込部により対象ファイル情報が書き込まれた場合に、当該対象ファイル情報が指定するファイルに対して暗号化処理を実施することを特徴とする請求項1に記載のファイル管理装置。
【請求項5】
前記イベント取得部は、任意のフォルダと当該フォルダの全てのサブフォルダとに格納される複数のファイルのそれぞれに対応するイベントを取得することを特徴とする請求項1に記載のファイル管理装置。
【請求項6】
コンピュータが備えるイベント取得部が、ファイルの状態が変化した場合に発生するイベントを当該ファイルに対応するイベントとして処理装置により取得するイベント取得手順と、
コンピュータが備えるファイル判定部が、前記イベント取得手順によりイベントが取得された場合に、当該イベントが対応するファイルに所定の処理が実施されているかどうかを前記処理装置により判定するとともに、当該ファイルを前記所定の処理の対象として指定する対象ファイル情報が記憶装置に存在するかどうかを判定するファイル判定手順と、
コンピュータが備える情報書込部が、前記ファイル判定手順により当該ファイルに前記所定の処理が実施されていないと判定された場合であって、前記ファイル判定手順により当該対象ファイル情報が前記記憶装置に存在しないと判定された場合には、当該対象ファイル情報を前記記憶装置に書き込み、前記ファイル判定手順により当該対象ファイル情報が前記記憶装置に存在すると判定された場合には、当該対象ファイル情報を上書きする情報書込手順と、
コンピュータが備える情報確認部が、前記記憶装置に対象ファイル情報が存在するかどうかを所定の期間ごとに確認する情報確認手順と、
コンピュータが備える処理実施部が、前記情報確認手順により前記記憶装置に対象ファイル情報が存在すると確認された場合に、当該対象ファイル情報が指定するファイルに対して前記所定の処理を前記処理装置により実施する処理実施手順とをコンピュータに実行させることを特徴とするファイル管理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2007−334577(P2007−334577A)
【公開日】平成19年12月27日(2007.12.27)
【国際特許分類】
【出願番号】特願2006−164858(P2006−164858)
【出願日】平成18年6月14日(2006.6.14)
【出願人】(394013002)三菱電機インフォメーションシステムズ株式会社 (251)
【Fターム(参考)】