(57)【要約】      （修正有）【課題】利用規約上で禁止されている情報が、分散型のリポジトリ管理システムのファイルに含まれているか否かを検知して十分な監査処理を行う、監査装置を提供する。【解決手段】監査装置１００は、第１記憶装置に第１ファイルが登録された場合、第１ファイルの登録要求を行った利用者の識別情報と、第１ファイルを複製した第１複製情報とを対応付けて第２記憶装置に登録する。監査装置１００は、第１ファイルが第２ファイルに更新された場合、第２ファイルによる更新要求を行った利用者の識別情報と、第２ファイルを複製した第２複製情報とを対応付けて第２記憶装置に登録し、第２記憶装置に登録されたファイルに対して監査処理を実行する。【選択図】図３
2020160827.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者端末から登録対象または更新対象のファイルを受け付けた場合、前記複数の利用者端末に共用される第１記憶装置に、前記ファイルを登録する処理または前記第１記憶装置に登録されたファイルを更新する処理を実行する受付部と、
前記第１記憶装置に第１ファイルが登録された場合、前記第１ファイルの登録要求を行った利用者の識別情報と、前記第１ファイルを複製した第１複製情報とを対応付けて第２記憶装置に登録し、
前記第１ファイルが第２ファイルに更新された場合、前記第２ファイルによる更新要求を行った利用者の識別情報と、前記第２ファイルを複製した第２複製情報とを対応付けて前記第２記憶装置に登録する登録部と
前記第２記憶装置に登録されたファイルに対して監査処理を実行する監査処理部と
を有することを特徴とする監査装置。
【請求項２】
前記監査処理部は、前記第２記憶装置に登録されたファイルに対する監査処理の結果を、ファイルに対応付けられた識別情報に対応する利用者端末に送信することを特徴とする請求項１に記載の監査装置。
【請求項３】
前記監査処理部は、前記第２記憶装置に登録されたファイルに、予め指定された所定情報が含まれるか否かを判定し、前記所定情報が含まれる場合、所定情報を前記監査処理の結果に設定することを特徴とする請求項２に記載の監査装置。
【請求項４】
前記登録部は、利用者端末から登録対象のファイルを受け付けた場合、前記第１複製情報を、第３記憶部に退避した後に、前記第１複製情報を前記第２記憶装置に登録し、
前記第１記憶装置の前記第１ファイルが第２ファイルに更新された場合、前記第３記憶部に退避した第１複製情報と、前記第２ファイルとの差分情報を、前記第２複製情報として、前記第２記憶装置に登録することを特徴とする請求項１、２または３に記載の監査装置。
【請求項５】
コンピュータが
複数の利用者端末から登録対象または更新対象のファイルを受け付けた場合、前記複数の利用者端末に共用される第１記憶装置に、前記ファイルを登録する処理または前記第１記憶装置に登録されたファイルを更新する処理を実行し、
前記第１記憶装置に第１ファイルが登録された場合、前記第１ファイルの登録要求を行った利用者の識別情報と、前記第１ファイルを複製した第１複製情報とを対応付けて第２記憶装置に登録し、
前記第１ファイルが第２ファイルに更新された場合、前記第２ファイルによる更新要求を行った利用者の識別情報と、前記第２ファイルを複製した第２複製情報とを対応付けて前記第２記憶装置に登録し、
前記第２記憶装置に登録されたファイルに対して監査処理を実行する
処理を実行することを特徴とする監査方法。
【請求項６】
コンピュータに、
複数の利用者端末から登録対象または更新対象のファイルを受け付けた場合、前記複数の利用者端末に共用される第１記憶装置に、前記ファイルを登録する処理または前記第１記憶装置に登録されたファイルを更新する処理を実行し、
前記第１記憶装置に第１ファイルが登録された場合、前記第１ファイルの登録要求を行った利用者の識別情報と、前記第１ファイルを複製した第１複製情報とを対応付けて第２記憶装置に登録し、
前記第１ファイルが第２ファイルに更新された場合、前記第２ファイルによる更新要求を行った利用者の識別情報と、前記第２ファイルを複製した第２複製情報とを対応付けて前記第２記憶装置に登録し、
前記第２記憶装置に登録されたファイルに対して監査処理を実行する
処理を実行させることを特徴とする監査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監査装置等に関する。
【背景技術】
【０００２】
複数の利用者に共有されるリポジトリ上のファイルの変更履歴を管理する分散型のリポジトリ管理システム（たとえば、Ｇｉｔ）が利用されている。このリポジトリ管理システムでは、ローカル環境であっても、コードの変更履歴を保存することができるので、リモートのサーバに常に接続する必要はなく、利用者はネットワークに接続していなくても、ファイル作成等の各種作業を行うことができる。
【０００３】
図９は、従来のリポジトリ管理システムの一例を示す図である。図９に示すように、リポジトリ管理システム１は、複数の利用者端末５ａ，５ｂ，５ｃ、図示しない他の利用者端末に接続される。リポジトリ管理システム１は、ディスク等の記憶部２を有し、記憶部２は、マスターリポジトリ２ａを格納する。リポジトリ管理システム１は、利用者端末５ａ〜５ｃ、他の利用者端末から別々あるいは同時にアクセスを受け付け、アクセス内容に応じて、マスターリポジトリ２ａに対するファイルの登録または更新を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１２６１７０号公報
【特許文献２】特開２０１０−４９４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、たとえば、利用規約上で禁止されている情報が、分散型のリポジトリ管理システムのファイルに含まれているか否かを検知することができないなど、十分な監査処理を行うことができないという問題がある。
【０００６】
１つの側面では、本発明は、十分な監査を行うことができる監査装置、監査方法および監査プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、監査装置は、受付部、登録部、監査処理部を有する。受付部は、複数の利用者端末から登録対象または更新対象のファイルを受け付けた場合、複数の利用者端末に共用される第１記憶装置に、ファイルを登録する処理または第１記憶装置に登録されたファイルを更新する処理を実行する。登録部は、第１記憶装置に第１ファイルが登録された場合、第１ファイルの登録要求を行った利用者の識別情報と、第１ファイルを複製した第１複製情報とを対応付けて第２記憶装置に登録する。登録部は、第１ファイルが第２ファイルに更新された場合、第２ファイルによる更新要求を行った利用者の識別情報と、第２ファイルを複製した第２複製情報とを対応付けて第２記憶装置に登録する。監査処理部は、第２記憶装置に登録されたファイルに対して監査処理を実行する。
【発明の効果】
【０００８】
たとえば、利用規約上で禁止されている情報が、分散型のリポジトリ管理システムのファイルに含まれているか否かを検知して、十分な監査処理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、参考技術を説明するための図である。
【図２】図２は、参考技術の問題を説明するための図である。
【図３】図３は、本実施例に係る監査装置の処理を説明するための図である。
【図４】図４は、本実施例に係る監査装置の構成を示す機能ブロック図である。
【図５】図５は、監査用リポジトリのデータ構造の一例を示す図である。
【図６】図６は、本実施例に係る監査装置の処理手順を示すフローチャートである。
【図７】図７は、監査装置のその他の構成を説明するための図である。
【図８】図８は、本実施例に係る監査装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図９】図９は、従来のリポジトリ管理システムの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する監査装置、監査方法および監査装置プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１１】
本実施例の説明を行う前に、利用規約上で禁止されている情報が、分散型のリポジトリ管理システムのファイルに含まれているか否かを検知する参考技術について説明する。図１は、参考技術を説明するための図である。リポジトリ管理システム１は、ファイルの監査を行う監査処理部１５を有する。以下の説明では、利用規約上で禁止されている情報を「禁止情報」と表記する。
【００１２】
利用者端末５ａが、ファイル１０をマスターリポジトリ２ａに登録（アップロード）すると、監査処理部１５は、ファイル１０に対する監査処理を開始し、禁止情報がファイル１０に含まれているか否かを判定する。監査処理部１５は、ファイル１０に対する監査処理が終了すると、監査結果を利用者端末５ａに通知する。これによって、利用者端末５ａにファイル１０の監査結果をフィードバックすることができる。
【００１３】
図２は、参考技術の問題を説明するための図である。参考技術では、ある利用者端末によって登録されたファイルに対して監査処理を行っている間に、同一のファイルを更新するファイルの更新を他の利用者端末から受け付けた場合に、監査処理の衝突が発生する。
【００１４】
図２に示すように、利用者端末５ａは、リポジトリ管理システム１にアクセスし、マスターリポジトリ２ａにファイル１０Ａを登録する（ステップＳ１０）。リポジトリ管理システム１の監査処理部１５は、ファイル１０Ａの登録を検出すると、ファイル１０Ａに対して監査処理を開始する（ステップＳ１１）。
【００１５】
ファイル１０Ａに対する監査処理が終了していない段階において、利用者端末５ｂは、リポジトリ管理システム１にアクセスし、ファイル１０Ａをファイル１０Ｂに更新する（ステップＳ１２）。監査処理部１５は、ファイル１０Ａがファイル１０Ｂに更新されると、ファイル１０Ｂの監査処理を開始する（ステップＳ１３）。
【００１６】
監査処理部１５は、ファイル１０Ｂの監査処理が完了すると（ステップＳ１４）、ファイル１０Ｂの監査結果を、利用者端末５ａ，５ｂに通知する（ステップＳ１５）。
【００１７】
図２で説明したように、参考技術では、利用者端末５ａによって最初に登録されたファイル１０Ａが監査処理の途中でファイル１０Ｂに更新されると、ファイル１０Ｂの監査処理が開始され、ファイル１０Ｂの監査処理の結果が、利用者端末５ａ，５ｂに通知される。たとえば、ファイル１０Ａには、禁止情報が含まれていなくても、ファイル１０Ｂに禁止情報が含まれていると、禁止情報を登録していない利用者端末５ａに、禁止情報が含まれる旨の監査結果が通知されてしまう。
【００１８】
次に、本実施例に係る監査装置の処理の一例について説明する。図３は、本実施例に係る監査装置の処理を説明するための図である。監査装置１００は、利用者端末５ａ，５ｂ，５ｃに接続される。監査装置１００は、図示しない他の利用者端末に接続されていてもよい。以下の説明では、特に区別する場合を除き、利用者端末５ａ〜５ｃ、他の利用者端末をまとめて「利用者端末５」と表記する。
【００１９】
監査装置１００は、利用者端末５に共用される記憶部１４１を有し、記憶部１４１には、マスターリポジトリ１４１ａが格納される。ここでは一例として、利用者端末５ａがマスターリポジトリ１４１ａにファイル２０Ａを登録し、利用者端末５ｂ，５ｃが、利用者端末５ａに登録されたファイル２０Ａを、ファイル２０Ｂ，２０Ｃによって更新する場合について説明する。
【００２０】
監査装置１００の制御部１５０は、利用者端末５ａからファイル２０Ａの登録要求を受け付けると、ファイル２０Ａをマスターリポジトリ１４１ａに登録する。制御部１５０は、ファイル２０Ａを複製した複製ファイル２１Ａを生成し、複製ファイルテーブル１４２ａへ格納する。制御部１５０は、利用者端末５ａの利用者を一意に識別する利用者ＩＤと、複製ファイル２１Ａとを対応付けて、記憶部１４３の監査用リポジトリ１４３ａに登録する。制御部１５０は、複製ファイル２１Ａに対する監査処理を開始する。制御部１５０は、監査処理において、利用規約上で禁止されている情報が、対象ファイルに含まれているか否かを監査する。
【００２１】
制御部１５０は、利用者端末５ｂからファイル２０Ａを更新するファイル２０Ｂを受け付けると、マスターリポジトリ１４１ａに登録されたファイル２０Ａを、ファイル２０Ｂに更新する。制御部１５０は、ファイル２０Ｂを複製した複製ファイル２１Ｂを生成し、複製ファイルテーブル１４２ａへ格納する。制御部１５０は、利用者端末５ｂの利用者を一意に識別する利用者ＩＤと、複製ファイル２１Ｂとを対応付けて、監査用リポジトリ１４３ａに登録する。制御部１５０は、複製ファイル２１Ｂに対する監査処理を開始する。
【００２２】
制御部１５０は、利用者端末５ｃからファイル２０Ｂ（２０Ａ）を更新するファイル２０Ｃを受け付けると、マスターリポジトリ１４１ａに登録されたファイル２０Ｂ（２０Ａ）を、ファイル２０Ｃに更新する。制御部１５０は、ファイル２０Ｃを複製した複製ファイル２１Ｃを生成する。制御部１５０は、利用者端末５ｃの利用者を一意に識別する利用者ＩＤと、複製ファイル２１Ｃとを対応付けて、監査用リポジトリ１４３ａに登録する。制御部１５０は、複製ファイル２１Ｃに対する監査処理を開始する。
【００２３】
制御部１５０は、複製ファイル２１Ａに対する監査処理が終了した場合に、複製ファイル２１Ａに対する監査結果を、利用者端末５ａに通知する。制御部１５０は、複製ファイル２１Ｂに対する監査処理が終了した場合に、複製ファイル２１Ｂに対する監査結果を、利用者端末５ｂに通知する。制御部１５０は、複製ファイル２１Ｃに対する監査処理が終了した場合に、複製ファイル２１Ｃに対する監査結果を、利用者端末５ｃに通知する。
【００２４】
上記のように、本実施例に係る監査装置１００は、複数の利用者端末５ａ〜５ｃに共用されるマスターリポジトリ１４１ａにファイルが登録または更新される度に、処理を行った利用者端末の利用者ＩＤと、複製ファイルとを対応付けて保存し、各複製ファイルについて、監査処理を実行する。これによって、ユーザが処理したファイル毎に監査を行うことができ、利用規約上で禁止されている情報が、分散型のリポジトリ管理システムのファイルに含まれているか否かを検知することができる。
【００２５】
監査装置１００は、利用者端末５がアクセスするマスターリポジトリ１４１ａを格納する記憶部１４１とは別の記憶部１４３に、監査用リポジトリ１４３ａを登録する。これによって、記憶部１４１へのＩ／Ｏ（Input/Output）を分散させることができ、ユーザビリティの維持、向上を可能とする。
【００２６】
監査装置１００は、新たに追加および更新されたファイルのみを監査対象とする。これによって、過去のファイルや重複監査を抑止することができる。
【００２７】
次に、本実施例に係る監査装置１００の構成の一例について説明する。図４は、本実施例に係る監査装置の構成を示す機能ブロック図である。図４に示すように、この監査装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４１，１４２，１４３と、制御部１５０とを有する。
【００２８】
通信部１１０は、利用者端末５とデータ通信を実行する処理部である。通信部１１０は、通信装置の一例である。後述する制御部１５０は、通信部１１０を介して、利用者端末５とデータをやり取りする。通信部１１０は、たとえば、利用者端末５から、ファイルの登録要求、更新要求などを受信する。
【００２９】
入力部１２０は、監査装置１００に各種の情報を入力する入力装置である。入力部１２０は、キーボードやマウス、タッチパネル等に対応する。
【００３０】
表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。表示部１３０は、液晶ディスプレイやタッチパネル等に対応する。
【００３１】
記憶部１４１は、利用者端末５に共用される記憶装置である。記憶部１４１は、マスターリポジトリ１４１ａを有する。マスターリポジトリ１４１ａに対して、利用者端末５から、ファイルの登録および更新が行われる。
【００３２】
記憶部１４２は、複製ファイルテーブル１４２ａを有する。複製ファイルテーブル１４２ａは、マスターリポジトリ１４１ａに新規に登録されるファイル（たとえば、プロジェクト）を複製したファイルを格納するテーブルである。
【００３３】
記憶部１４３は、監査用リポジトリ１４３ａを有する。図５は、監査用リポジトリのデータ構造の一例を示す図である。図５に示すように、この監査用リポジトリ１４３ａは、利用者ＩＤと、複製ファイル情報とを対応付ける。利用者ＩＤは、複製ファイルの複製元となるファイルの登録要求または更新要求を行った利用者を一意に識別する情報である。複製ファイルは、登録要求または更新要求がなされたファイルを複製した情報である。
【００３４】
記憶部１４１，１４２，１４３は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３５】
制御部１５０は、Ｇｉｔ処理部１５０ａ、登録部１５０ｂ、監査処理部１５０ｃを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００３６】
Ｇｉｔ処理部１５０ａは、Ｇｉｔに関する各種の処理を実行する処理部である。Ｇｉｔ処理部１５０ａは、「受付部」の一例である。Ｇｉｔ処理部１５０ａは、利用者端末５からファイルの登録要求を受け付けた場合、マスターリポジトリ１４１ａに、登録要求されたファイルを登録する。たとえば、Ｇｉｔ処理部１５０ａは、利用者端末５ａから、ファイル２０Ａの登録要求を受け付けた場合、マスターリポジトリ１４１ａにファイル２０Ａを登録する。
【００３７】
Ｇｉｔ処理部１５０ａは、利用者端末５からファイルの更新要求を受け付けた場合、マスターリポジトリ１４１ａに登録されたファイルを更新する。たとえば、Ｇｉｔ処理部１５０ａは、利用者端末５ｂから、ファイル２０Ａを更新するファイルとしてファイル２０Ｂを受け付けた場合には、マスターリポジトリ１４１ａに登録されたファイル２０Ａをファイル２０Ｂによって更新する。
【００３８】
また、Ｇｉｔ処理部１５０ａは、マスターリポジトリ１４１ａにファイルが登録された場合、ファイルが更新された場合において、ファイルの更新履歴を管理する。また、Ｇｉｔ処理部１５０ａは、マスターリポジトリ１４１ａのファイルを更新する場合に、コンフリクト等の発生を検出した場合には、ファイルを更新した利用者端末に対してエラーメッセージ等を通知する。
【００３９】
登録部１５０ｂは、利用者端末５からＧｉｔ処理部１５０ａに対するファイルの登録要求、更新要求を検出した場合（また、登録処理および更新処理が行われた後）に、ファイルを複製し、複製したファイルの登録処理を実行する処理部である。
【００４０】
登録部１５０ｂが、Ｇｉｔ処理部１５０ａに対するファイルの登録要求を検出した場合の処理について説明する。登録部１５０ｂは、登録要求の対象となるファイルを複製することで、複製ファイルテーブル１４２ａを生成する。登録部１５０ｂは、複製ファイルテーブル１４２ａを、記憶部１４２に登録する。
【００４１】
また、登録部１５０ｂは、登録要求を行った利用者端末５の利用者ＩＤと、複製ファイルとを対応付けて、監査用リポジトリ１４３ａに登録する。登録要求には、登録要求を行った利用者端末５の利用者ＩＤが予め対応付けられているものとする。
【００４２】
登録部１５０ｂが、Ｇｉｔ処理部１５０ａに対するファイルの更新要求を検出した場合の処理について説明する。登録部１５０ｂは、更新対象となるファイルと、複製ファイルテーブル１４２ａとを比較して、差分情報を生成する。
【００４３】
登録部１５０ｂは、差分情報を、更新要求のファイルを複製した複製ファイルとし、更新要求を行った利用者端末５の利用者ＩＤと、複製ファイルとを対応付けて、監査用リポジトリ１４３ａに登録する。更新要求には、更新要求を行った利用者端末５の利用者ＩＤが予め対応付けられているものとする。
【００４４】
監査処理部１５０ｃは、監査用リポジトリ１４３ａに登録された各複製ファイルに対して監査処理をそれぞれ実行する処理部である。監査処理部１５０ｃは、監査用リポジトリ１４３ａに複製ファイルが登録された時点から、監査処理を開始する。たとえば、監査処理部１５０ｃは、複製ファイルを走査して、複製ファイルに禁止情報が含まれているか否かを判定する。禁止情報は、図示しないテーブルに予め定義されており、監査処理部１５０ｃは、かかるテーブルを用いて、監査処理を実行する。
【００４５】
監査処理部１５０ｃは、複製ファイルに対する監査処理が終了すると、監査処理の結果を、複製ファイルに対応する利用者ＩＤにより識別される利用者端末に送信する。監査処理の結果には、禁止情報が含まれているか否かの情報、禁止情報が含まれている場合には、含まれていた禁止情報の種別、内容等が含まれる。
【００４６】
次に、本実施例に係る監査装置１００の処理手順の一例について説明する。ここでは一例として、利用者端末５ａが、ファイル２０Ａの登録要求を行った後に、利用者端末５ｂが、ファイル２０Ｂの更新要求を行う場合について説明する。図６は、本実施例に係る監査装置の処理手順を示すフローチャートである。図６に示すように、監査装置１００のＧｉｔ処理部１５０ａは、利用者端末５ａからファイル２０Ａの登録要求を受け付ける（ステップＳ１０１）。Ｇｉｔ処理部１５０ａは、ファイル２０Ａをマスターリポジトリ１４１ａに登録する（ステップＳ１０２）。
【００４７】
監査装置１００の登録部１５０ｂは、ファイル２０Ａの複製ファイル２１Ａ（１４２ａ）を生成する（ステップＳ１０３）。登録部１５０ｂは、複製ファイル２１Ａを、記憶部１４２に登録する（ステップＳ１０４）。
【００４８】
登録部１５０ｂは、複製ファイル２１Ａと利用者ＩＤとを対応付けて、監査用リポジトリ１４３ａに登録する（ステップＳ１０５）。監査装置１００の監査処理部１５０ｃは、複製ファイル２１Ａに対する監査処理を開始する（ステップＳ１０６）。
【００４９】
Ｇｉｔ処理部１５０ａは、利用者端末５ｂから、ファイル２０Ａを更新するファイル２０Ｂを受け付ける（ステップＳ１０７）。Ｇｉｔ処理部１５０ａは、マスターリポジトリ１４１ａのファイルを更新する（ステップＳ１０８）。
【００５０】
登録部１５０ｂは、ファイル２０Ｂの複製ファイル２１Ｂを生成する（ステップＳ１０９）。ステップＳ１０９において、登録部１５０ｂは、ファイル２０Ａと、ファイル２０Ｂとの差分情報を、複製ファイル２１Ｂとして生成してもよい。登録部１５０ｂは、複製ファイル２１Ｂを、記憶部１４２に登録する（ステップＳ１１０）。
【００５１】
登録部１５０ｂは、複製ファイル２１Ｂと利用者ＩＤとを対応付けて、監査用リポジトリに登録する（ステップＳ１１１）。監査処理部１５０ｃは、複製ファイル２１Ｂに対する監査処理を開始する（ステップＳ１１２）。
【００５２】
監査処理部１５０ｃは、複製ファイル２１Ａに対する監査処理が終了した場合に、利用者ＩＤに対応する利用者端末５ａに監査結果を通知する（ステップＳ１１３）。監査処理部１５０ｃは、監査用リポジトリ１４０ａの複製ファイル２１Ａを削除する（ステップＳ１１４）。
【００５３】
監査処理部１５０ｃは、複製ファイル２１Ｂに対する監査処理が終了した場合に、利用者ＩＤに対応する利用者端末５ｂに監査結果を通知する（ステップＳ１１５）。監査処理部１５０ｃは、監査用リポジトリ１４０ａの複製ファイル２１Ｂを削除する（ステップＳ１１６）。
【００５４】
次に、本実施例に係る監査装置１００の効果について説明する。監査装置１００は、複数の利用者端末５に共用されるマスターリポジトリ１４１ａにファイルが登録または更新される度に、処理を行った利用者端末の利用者ＩＤと、複製ファイルとを対応付けて監査用リポジトリ１４３ａに保存し、各複製ファイルについて、監査処理を実行する。これによって、ユーザが処理したファイル毎に監査を行うことができ、利用規約上で禁止されている情報が、分散型のリポジトリ管理システムのファイルに含まれているか否かを検知することができる。
【００５５】
監査装置１００は、利用者端末５がアクセスするマスターリポジトリ１４１ａを格納する記憶部１４１とは別の記憶部１４３に、監査用リポジトリ１４３ａを登録する。これによって、記憶部１４１へのＩ／Ｏ（Input/Output）を分散させることができ、ユーザビリティの維持、向上を可能とする。
【００５６】
監査装置１００は、新たに追加および更新されたファイルのみを監査対象とする。これによって、過去のファイルや重複監査を抑止することができる。
【００５７】
監査装置１００は、１つの複製ファイルに対する監査処理が終了した場合、複製ファイルに対応する利用者ＩＤに対応する利用者端末５に監査結果を通知する。これによって、ユーザが処理したファイルの監査結果を、処理したユーザ自身に通知することができる。
【００５８】
監査装置１００は、登録対象のファイルを受け付けた場合に、ファイルを複製した複製ファイルを、記憶部１４２に登録した後に、複製ファイルを、監査用リポジトリ１４３ａに登録する。そして、監査装置１００は、マスターリポジトリ１４１ａのファイルが更新された場合には、更新されたファイルと、記憶部１４２の複製ファイルとの差分情報を、複製ファイルとして、監査用リポジトリ１４３ａに登録する。これによって、更新されたファイルのデータ量を削減することができ、データ量削減により、監査処理の時間を短縮することができる。
【００５９】
なお、監査装置１００は、監査処理を実行している間に、利用者端末５からファイルを受信した場合には、監査処理が終了するまで、マスターリポジトリ１４１ａの更新を抑止してもよい。
【００６０】
ところで、図４で説明した監査装置１００の構成は一例である。たとえば、Ｇｉｔに関する従来の処理を行う制御部と、図４で説明した監査に関する処理を行う制御部とを別々に搭載してもよい。
【００６１】
図７は、監査装置のその他の構成を説明するための図である。図７に示すように、監査装置２００は、通信部１１０、入力部１２０、表示部１３０、記憶部１４１，１４２，１４３、制御部１５０Ａ，１５０Ｂを有する。通信部１１０、入力部１２０、表示部１３０、記憶部１４１，１４２，１４３に関する説明は、図４に示した、通信部１１０、入力部１２０、表示部１３０、記憶部１４１，１４２，１４３に関する説明と同様である。
【００６２】
制御部１５０Ａは、Ｇｉｔ処理部１５０ａを有する。Ｇｉｔ処理部１５０ａに関する説明は、図４に示したＧｉｔ処理部１５０ａに関する説明と同様である。
【００６３】
制御部１５０Ｂは、登録部２５０ｂ、監査処理部１５０ｃを有する。登録部２５０ｂは、制御部１５０ＡのＧｉｔ処理部１５０ａに対するアクセス（ファイルの登録、更新）を監視する。登録部２５０ｂは、利用者端末５からＧｉｔ処理部１５０ａに対するファイルの登録要求、更新要求を検出した場合に、ファイルを複製し、複製したファイルの登録処理を実行する。登録部２５０ｂに関するその他の処理は、図４に示した登録部１５０ｂに関する説明と同様である。また、監査処理部１５０ｃに関する説明は、図４に示した監査処理部１５０ｃに関する説明と同様である。
【００６４】
図７で説明した例では、Ｇｉｔに関する従来の処理を行う制御部と、図４で説明した監査に関する処理を行う制御部とを別々に搭載できるため、容易に監査機能を追加することができる。また、図７に示す例では、監査装置１００に、制御部１５０Ａおよび制御部１５０Ｂを搭載する例を示したが、異なる装置に、制御部１５０Ａおよび制御部１５０Ｂを分散して搭載してもよい。
【００６５】
次に、本実施例に示した監査装置１００（２００）と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図８は、本実施例に係る監査装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００６６】
図８に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【００６７】
ハードディスク装置３０７は、Ｇｉｔ処理プログラム３０７ａ、登録プログラム３０７ｂ、監査処理プログラム３０７ｃを有する。ＣＰＵ３０１は、Ｇｉｔ処理プログラム３０７ａ、登録プログラム３０７ｂ、監査処理プログラム３０７ｃを読み出してＲＡＭ３０６に展開する。
【００６８】
Ｇｉｔ処理プログラム３０７ａは、Ｇｉｔ処理プロセス３０６ａとして機能する。登録プログラム３０７ｂは、登録プロセス３０６ｂとして機能する。監査処理プログラム３０７ｃは、監査処理プロセス３０６ｃとして機能する。
【００６９】
Ｇｉｔ処理プロセス３０６ａの処理は、Ｇｉｔ処理部１５０ａの処理に対応する。登録プロセス３０６ｂの処理は、登録部１５０ｂ，２５０ｂの処理に対応する。監査処理プロセス３０６ｃの処理は、監査処理部１５０ｃの処理に対応する。
【００７０】
なお、各プログラム３０７ａ〜３０７ｃついては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｃを読み出して実行するようにしてもよい。
【符号の説明】
【００７１】
１００    監査装置
１１０    通信部
１２０    入力部
１３０    表示部
１４１，１４２，１４３    記憶部
１４１ａ  マスターリポジトリ
１４２ａ  複製ファイル
１４３ａ  監査用リポジトリ
１５０    制御部
１５０ａ  Ｇｉｔ処理部
１５０ｂ  登録部
１５０ｃ  監査処理部
【図１】
2020160827.tif 000003
【図２】
2020160827.tif 000004
【図３】
2020160827.tif 000005
【図４】
2020160827.tif 000006
【図５】
2020160827.tif 000007
【図６】
2020160827.tif 000008
【図７】
2020160827.tif 000009
【図８】
2020160827.tif 000010
【図９】
2020160827.tif 000011