以下に、本発明の実施形態を示す。
図1は、本発明の第1の実施形態のシステム構成を示すブロック図である。
第1の実施形態の計算機システムは、一つ、または、複数のクライアント装置101、クライアント装置−サーバ装置間ネットワーク102、ファイルサーバ装置103、ストレージ装置間ネットワーク104、ストレージ装置105、ファイルアクセス情報管理装置106、カレンダーサーバ装置107、ウェブプロキシサーバ装置108、を備える。
クライアント装置101は、ユーザから利用され、ファイルサーバ装置103に対してファイルアクセスを要求する端末である。クライアント装置101は、通常のパーソナルコンピュータと同一の構成であり、CPU(Central Processing Unit)、メモリ、ハードディスク、ネットワークインタフェースなどの計算資源を備える。また、内部信号線、出力装置および入力装置を備える。
クライアント装置−サーバ装置間ネットワーク102は、IPプロトコルなどに従う通信パケットが転送される一般的な通信路であり、インターネットやイントラネット、あるいは、それらの複合的な通信ネットワークである。
ファイルサーバ装置103は、クライアント装置101からファイルアクセス要求を受けてファイルアクセスサービスを提供するサーバである。ファイルサーバ装置103からクライアント装置101へのファイルアクセスサービスの提供には、CIFS(Common Internet File System)、NFS(Network File System)またはWebDAV(Web−based Distributed Authoring and Versioning)などが適用される。
ファイルサーバ装置103は、CPU111、メモリ113、ネットワークインタフェース(I/F)112、ストレージインタフェース114などの計算資源および内部信号線115を備える。
CPU111は、プロセッサであり、メモリ113に記憶されるプログラムを実行することによって、数種類の処理をする。
メモリ113は、例えば高速アクセスが可能な揮発性メモリであり、CPU111によって実行されるプログラム、およびCPU111によって必要とされる情報などを記憶する。
ネットワークインタフェース112は、1Gbpsや10Gbpsなどの各種通信速度に対応したIEEE802.3インタフェースカードなどのネットワークインタフェースカードから構成され、クライアント装置−サーバ装置間ネットワーク102を介して、ファイルアクセス情報管理装置106およびクライアント装置101に接続するためのデータ入出力アダプタとして機能する。ネットワークインタフェース112は、各装置とTCP/IPなどに基づいたデータや制御信号の送信と受信とをする。
ストレージインタフェース114は、1Gbpsや10Gbpsなどの各種通信速度に対応したIEEE802.3インタフェースカード、SCSI(Small Computer System Interface)インタフェースカード、FC(Fibre Channel)インタフェースカード、USB(Universal Serial Bus)インタフェースカード、またはIEEE1394インタフェースカードなどから構成され、ストレージ装置105に接続するためのデータ入出力アダプタとして機能する。
内部信号線115は、CPU111、メモリ113、ネットワークインタフェース112およびストレージインタフェース114を相互に接続する。内部信号線115は、例えばバスである。
ストレージ装置間ネットワーク104は、ファイルサーバ装置103とストレージ装置105との間でデータのやり取りするための通信路であり、IEEE802.3、SCSI、FC、USBまたはIEEE1394などの通信プロトコルが適用される。
ストレージ装置105は、クライアント装置101およびファイルサーバ装置103に対して、データを格納するための記憶領域を提供する記憶装置である。
ストレージ装置105は、複数のディスク125と、これらディスク125を制御するコントローラ127とを備える。
コントローラ127は、CPU121、メモリ123、ストレージI/F−1(122)、ストレージI/F−2(124)、および、内部信号線128を備える。
ディスク125は、FC(Fiber Channel)ディスクドライブ、SATA(Serial Advanced Technology Attachment)ディスクドライブ、PATA(Parallel Advanced Technology Attachment)ディスクドライブ、FATA(Fiber Attached Technology Adapted)ディスクドライブ、SAS(Serial Attached SCSI)ディスクドライブ、またはSCSI(Small Computer System Interface)ディスクドライブなどのストレージデバイスである。なお、ディスク125は、不揮発性半導体メモリ、または、上記したディスクドライブと不揮発性半導体メモリとの混載で構成されてもよい。不揮発性半導体メモリは、例えば、フラッシュメモリである。
コントローラ127は、複数のディスク125を、いわゆるRAID方式で決められるRAIDレベル(例えば、0、1、5)を用いて制御することができる。RAID方式では、コントローラ127は、複数のディスク125を一つのRAIDグループとして管理し、RAIDグループ上に、ファイルサーバ装置103からのアクセス単位である論理ボリューム126を、複数定義する。それぞれの論理ボリューム126には、LUN(Logical Unit Number)を割り当てる。ファイルサーバ装置103のファイルシステムは、この論理ボリューム126に対してデータをブロック単位で読み書きする。
CPU121は、ファイルサーバ装置103からのデータ入出力要求に応答して、複数のディスク125へのI/O処理(データ読出しやデータ書込み)を制御するプロセッサである。
メモリ123は、各種プログラム、および論理ボリューム126の管理テーブルなどを記憶し、例えば高速アクセスが可能な揮発性メモリである。
ストレージI/F−1(122)は、ファイルサーバ装置103のストレージI/F114と同様のインタフェースカードから構成され、ファイルサーバ装置103に接続するためのデータ入出力アダプタの役割をする。ストレージ装置間ネットワーク104を介してファイルサーバ装置103と接続し、IEEE802.3、SCSI、FC、USBまたはIEEE1394などのプロトコルに基づきデータや制御信号を送受信する。
ストレージI/F−2(124)も、ファイルサーバ装置103のストレージインタフェース114と同様の機能を有し、ディスク125を制御するプロトコルに基づきディスク125へのデータ入出力要求を制御する。
内部信号線127は、CPU121、メモリ123、ストレージインタフェース−1(122)およびストレージインタフェース−2(124)を相互に接続する。内部信号線128は、例えばバスである。
ファイルアクセス情報管理装置106は、ファイルサーバ装置103が、クライアント装置101からのファイルアクセス要求を受けて、ファイルアクセスサービスをクライアント装置101に提供するための、アクセス情報を管理するサーバである。
ファイルアクセス情報管理装置106は、CPU132、メモリ133、ネットワークインタフェース131およびディスク134などの計算資源、および内部信号線136を備える。
CPU132は、ファイルサーバ装置103のCPU111と同様であり、メモリ133に記憶されるプログラムを実行することによって、各種の処理をする。
メモリ133は、ファイルサーバ装置103のメモリ113と同様であり、例えば高速アクセスが可能な揮発性メモリであり、CPU132によって実行されるプログラム、およびCPU132によって必要とされる情報などを記憶する。
ネットワークI/F131は、ファイルサーバ装置103のネットワークI/F112と同様であり、1Gbpsや10Gbpsなどの各種通信速度に対応したIEEE802.3インタフェースカードなどのネットワークインタフェースカードから構成され、クライアント装置−サーバ装置間ネットワーク102を介して、ファイルサーバ装置103、カレンダーサーバ装置107、ウェブプロキシサーバ装置108に接続するためのデータ入出力アダプタの役割をする。ネットワークI/F131は、各装置とTCP/IPなどに基づきデータや制御信号を送受信する。
ディスク134は、例えばSATAディスクドライブ、SASディスクドライブ、またはSCSIディスクドライブなどのストレージデバイスである。ディスク134上には、複数の論理ボリューム135が設定され、オペレーティングシステム、アプリケーションプログラムやユーザデータなどの各種情報が格納される。
内部信号線136は、ファイルサーバ装置103の内部信号線115と同様であり、例えばバスである。内部信号線136は、CPU132、メモリ133、ネットワークインタフェース131およびディスク134を相互に接続する。
なお、ファイルアクセス情報管理装置106は、ファイルサーバ装置103と同じ装置でもよい。また、ファイルサーバ装置103が後述するファイルアクセス情報管理装置106の各機能を備えてもよい。
カレンダーサーバ装置107は、ファイルアクセス情報管理装置106が管理するクライアント装置101からファイルサーバ装置103へのファイルアクセス情報をカレンダーデータ形式に変換し、クライアント装置101に提供するサーバである。
カレンダーサーバ装置107は、ファイルアクセス情報管理装置106と同様のシステム構成を備える。
ウェブプロキシサーバ装置108は、クライアント装置101から、インターネットやイントラネット上のウェブサーバが提供するウェブページにアクセスする際、クライアント装置101に代わってウェブサーバに代理接続をするサーバである。
ウェブプロキシサーバ装置108は、ファイルアクセス情報管理装置106と同様のシステム構成を備える。
図2は、本発明の第1の実施形態の計算機システムの機能ブロック図である。
各装置が格納されるプログラムは、各装置に備わるメモリに記憶されており、各装置に備わるCPUによって実行される。
図2の各装置が格納されるデータは、各装置に備わるディスクに保持されている。なお、ファイルアクセス情報管理装置106が格納されるデータは、ファイルアクセス情報管理装置106に備わるディスク134に保持してもよいし、ファイルアクセス情報管理装置106に備わるメモリ133に保持してもよい。または、ファイルアクセス情報管理装置106が格納されるデータは、ストレージ装置105に備わるディスク125に保持してもよい。
以下、図2の各装置が格納されるプログラム、および、データについて説明するが、それぞれのプログラムの処理、およびデータの内容については後述する。
クライアント装置101は、ファイルアクセスプログラム201、カレンダープログラム202を含む。
ファイルサーバ装置103は、ファイルサーバプログラム211、ファイルアクセス記録プログラム212を含む。
ストレージ装置105は、ファイルデータ221、ファイルアクセス記録データ222、ファイルデータ221のバックアップであるバックアップデータ223を含む。
ファイルアクセス情報管理装置106は、ファイルアクセス記録処理プログラム231を実行し、ファイルアクセスデータ232を作成する。さらに、ファイルアクセス情報管理装置106は、ファイルアクセスグルーピングプログラム233を実行し、ファイルアクセスグループデータ234を作成する。
また、ファイルアクセス情報管理装置106は、ウェブアクセス記録処理プログラム235を実行し、ウェブアクセスデータ236を作成する。さらに、ファイルアクセス情報管理装置106は、ウェブアクセスグルーピングプログラム237を実行し、ウェブアクセスグループデータ238を作成する。
また、ファイルアクセス情報管理装置106は、バックアッププログラム213を含む。
なお、ファイルアクセス情報管理装置106に含まれるファイルアクセス記録処理プログラム231、ファイルアクセスグルーピングプログラム233、バックアッププログラム213、ウェブアクセス記録処理プログラム235、およびウェブアクセスグルーピングプログラム237は、ファイルサーバ装置103に含まれてもよい。この場合、ファイルアクセスデータ232、ファイルアクセスグループデータ234、ウェブアクセスデータ236、およびウェブアクセスグループデータ238は、ストレージ装置105に含まれる。
ファイルアクセス記録処理プログラム231、およびファイルアクセスグルーピングプログラム233がファイルサーバ装置103に含まれる場合、それらのプログラムは、ファイルサーバ装置103のファイルシステムに含まれてもよい。
カレンダーサーバ装置107は、カレンダー作成プログラム241を実行し、カレンダーデータ242を作成する。
ウェブプロキシサーバ装置108は、ウェブプロキシサーバプログラム251およびウェブアクセス記録プログラム252を含み、ウェブアクセス記録データ253を含む。
図3は、本発明の第1の実施形態のファイルデータ操作記録処理を示すフローチャートである。
図3は、クライアント装置101が、ファイルアクセスプログラム201を実行し、ファイルサーバ装置103においてファイルサーバプログラム211が提供するファイルアクセスサービスを通じて、ストレージ装置105に保持されているファイルデータ221にアクセスする処理を示す。
また、図3は、ファイルアクセスプログラム201からファイルデータ221へのアクセス時に、ファイルサーバ装置103が、ファイルアクセス記録プログラム212を実行してファイルアクセス記録データ222を作成する処理も示す。なお、図4のログデータ400は、ファイルアクセス記録プログラム212によって作成されたファイルアクセス記録データ222の例である。
図4は、本発明の第1の実施形態のファイルアクセス記録データ222の説明図である。
ユーザは、クライアント装置101からファイルアクセスプログラム201を実行し、ファイルサーバ装置103においてファイルサーバプログラム211が提供するファイルアクセスサービスを通じて、ストレージ装置105に含まれているファイルデータ221にアクセスする。
ファイルアクセスプログラム201は、例えば、CIFSクライアントプログラム、NFSクライアントプログラム、またはWebDAVPクライアントプログラムである。また、ファイルサーバプログラム211は、例えば、CIFSサーバプログラム、NFSサーバプログラム、またはWebDAVサーバプログラムである。
また、ファイルデータ221は、クライアント装置101で文書処理などのアプリケーションプログラムを利用して作成された、クライアント装置101のファイルシステム上のデータである。
まず、ユーザは、ファイルアクセスプログラム201を開始する。ファイルアクセスプログラム201は、ファイルサーバプログラム211にログインを要求する(S301)。ファイルアクセスプログラム201は、ユーザに対してユーザ名とパスワードの入力を要求する画面を出力し、ユーザは、ユーザ名とパスワードを入力する。ファイルアクセスプログラム201は、ユーザによって入力されたユーザ名とパスワードを、ファイルサーバプログラム211に送信し、ログイン処理を要求する。
ファイルサーバプログラム211は、受信したユーザ名とパスワードを用いて認証処理を行い、ファイルサーバ装置103へのログインを許可するか否かを判定する(S311)。
ファイルサーバプログラム211は、認証処理の結果、ログインを許可する場合、ログイン処理を行い、ファイルアクセスプログラム201にログインを許可するメッセージを送信する(S312)。ファイルアクセスプログラム201は、ファイルサーバプログラム211がファイルアクセスプログラム201に提供するディレクトリ(ストレージ装置105の論理ボリューム126上に定義された記憶領域の一部)を、クライアント装置101のファイルシステムの一部にマウントする。また、ファイルサーバプログラム211は、ファイルアクセス記録プログラム212に、ログインを許可したユーザ名やクライアント装置101のIPアドレスなどの情報を、送信する。
ファイルサーバプログラム211は、ログイン要求を不許可にする場合は、ファイルアクセスプログラム201にエラーメッセージを送信する。エラーメッセージを受信したファイルアクセスプログラム201は、ユーザに対してエラーメッセージを出力してファイルサーバプログラム211に対する処理を終了する。
ファイルサーバプログラム211がログイン処理を行った後に、ファイルアクセス記録プログラム212は、ログインを許可されたユーザ名、クライアント装置101側のIPアドレスなどの情報をもとに、ログイン記録をファイルアクセス記録データ222に出力するか否かを判定する(S321)。
ファイルアクセス記録プログラム212は、ログイン記録をファイルアクセス記録データ222に出力すると判定した場合は、ログデータ400のログイン操作記録402に示すような、時刻が”2008/05/30 15:03:30”、ユーザ名が”user1”、クライアント装置側のIPアドレスが”192.168.3.8”、操作が”login”、結果が”OK”、などの各情報を、ファイルアクセス記録データ222に出力する(S322)。
次に、ファイルアクセスプログラム201は、ファイルサーバプログラム211にディレクトリに対する操作を要求する(S302)。ディレクトリに対する操作とは、ディレクトリ作成、ディレクトリのオープン、ディレクトリ内容の取得およびディレクトリのクローズなどである。
ファイルサーバプログラム211は、ユーザの権限やディレクトリのパーミッションなどから、ファイルアクセスプログラム201にディレクトリの操作を許可するか否かを判定する(S313)。
ファイルサーバプログラム211は、ディレクトリの操作を許可する場合、ファイルアクセスプログラム201の要求するディレクトリ操作を実行し、ファイルアクセスプログラム201にディレクトリ操作結果メッセージを送信する(S314)。
ファイルサーバプログラム211は、ディレクトリ操作を不許可にする場合は、ファイルアクセスプログラム201にエラーメッセージを送信する。
ファイルサーバプログラム211がディレクトリ操作を実行したとき、ファイルアクセス記録プログラム212は、S321の処理と同様に、時刻、ユーザ名、クライアント装置101のIPアドレス、操作内容、操作の結果、および操作対象のディレクトリ名などの情報をもとに、ディレクトリ操作記録を、ファイルアクセス記録データ222に出力するか否かを判定する(S323)。
ファイルアクセス記録プログラム212が、全てのディレクトリ操作記録をファイルアクセス記録データ222に出力すると、ファイルアクセス記録データ222のデータ量が増加するので、ファイルアクセス記録プログラム212は、あらかじめ定義した特定のディレクトリに対する特定の操作のみをファイルアクセス記録データ222に出力するようにしてもよい。あるいは、ファイルアクセス記録プログラム212は、ディレクトリに対する操作については、ファイルアクセス記録データ222に出力しないようにしてもよい。
ファイルアクセス記録プログラム212は、ディレクトリ操作記録をファイルアクセス記録データ222に出力すると判定した場合は、時刻、ユーザ名、クライアント装置101のIPアドレス、操作内容、操作の結果、および操作対象のディレクトリ名などの各情報を、ファイルアクセス記録データ222に出力する(S324)。
ファイルアクセスプログラム201は、この後、ファイルデータ221操作要求処理(S303)を実行してもよいし、再度、ディレクトリ操作要求処理(S302)を実行してもよい。あるいは、ファイルアクセスプログラム201は、ファイルサーバプログラム211に対する処理を終了してもよい。
次に、ファイルアクセスプログラム201は、ファイルサーバプログラム211にファイルデータ221の操作を要求する(S303)。ファイルデータ221に対する操作とは、ファイルのオープン”open”、ファイルの読み出し”read”、ファイルの書き込み”write”、ファイルのクローズ”close”などである。
ファイルサーバプログラム211は、ユーザの権限やファイルデータ221のパーミッション、またはファイルデータ221が作成されるディレクトリのパーミッションなどから、ファイルアクセスプログラム201にファイルデータ221の操作を許可するか否かを判定する(S315)。
ファイルサーバプログラム211は、ファイルデータ221の操作を許可する場合、ファイルアクセスプログラム201が要求するファイルデータ221の操作を実行し、ファイルアクセスプログラム201にファイルデータ221の操作結果メッセージを送信する(S316)。
ファイルサーバプログラム211は、ファイルデータ221の操作を不許可とする場合は、ファイルアクセスプログラム201にエラーメッセージを送信する。
ファイルサーバプログラム211がファイルデータ221の操作を実行したとき、ファイルアクセス記録プログラム212は、S323の処理と同様に、時刻、ユーザ名、クライアント装置101のIPアドレス、操作内容、操作の結果、および操作対象のディレクトリ名などの情報をもとに、ファイルデータ221への操作記録を、ファイルアクセス記録データ222に出力するか否かを判定する(S325)。
ファイルアクセス記録プログラム212が、全てのファイルデータ221に対する操作記録をファイルアクセス記録データ222に出力すると、ファイルアクセス記録データ222のデータ量が増加するので、ファイルアクセス記録プログラム212は、あらかじめ定義した特定のディレクトリ内のファイルデータ222に対する特定の操作のみを、ファイルアクセス記録データ222に出力するようにしてもよい。
ファイルアクセス記録プログラム212は、ファイルデータ221に対する操作記録をファイルアクセス記録データ222に出力すると判定した場合は、ログデータ400のオープン操作記録403に示す以下のような情報を、ファイルアクセス記録データ222に出力する(S326)。
・時刻”2008/05/30 15:05:02”、ユーザ名”user1”、クライアント装置側のIPアドレス”192.168.3.8”、操作”open”、結果”OK”、対象のファイルデータ221の名称”/home/user1/A1/A1プレゼン.ppt”
S325においては、ファイルアクセス記録プログラム212は、ファイルアクセスプログラム201からファイルサーバプログラム211への操作コマンドを捉えることにより、ファイルデータ212に対する操作を判定する。
あるいは、ファイルアクセス記録プログラム212は、ファイルサーバ装置103のファイルシステムに含まれるファイルデータ221のタイムスタンプ情報(最終属性更新時、最終ファイル更新時、最終参照時)を参照して、ファイルデータ221に対して出力されたか否かを判定してもよい。
あるいは、ファイルアクセス記録プログラム212は、ファイルサーバ装置103からストレージ装置105に対するI/O処理(データ読み出しやデータ書き込み)を確認することにより、ファイルデータ221に対して出力されたか否かを判定してもよい。
ファイルアクセスプログラム201は、この後、再度、ファイル操作要求処理(S303)を実行してもよいし、ディレクトリ操作要求処理(S302)を実行してもよい。あるいは、ファイルアクセスプログラム201は、ファイルサーバプログラム211に対する処理を終了してもよい。
次に、図4から図5を用いて、ファイルアクセス情報管理装置106が、ファイルアクセス記録処理プログラム231を実行して、ファイルアクセス記録データ222から、ファイルアクセスデータ232を作成する処理について説明する。
同時に、ファイルアクセスプログラム201がファイルデータ221を更新したときに、ファイルアクセス情報管理装置106がバックアッププログラム213を実行してバックアップデータ223を作成する処理についても説明する。
図5は、本発明の第1の実施形態のファイルアクセスデータ232の管理テーブル500の説明図である。
ファイルアクセス情報管理装置106は、例えば、ファイルアクセス記録データ222にファイルのクローズ操作”close”が出力された場合などの処理起動トリガーに基づき、ファイルアクセス記録処理プログラム231を実行し、ファイルアクセス記録データ222からファイルアクセスデータ232を作成する。
あるいは、ファイルアクセス情報管理装置106は、例えば数分に一度などの頻度において、ファイルアクセス記録処理プログラム231を定期的に実行し、ファイルアクセス記録データ222からファイルアクセスデータ232を作成する。
ファイルアクセス記録データ222とは、前述したように、ファイルサーバ装置103のファイルアクセス記録プログラム212が作成するデータである。ファイルアクセス記録データ222は、例えば、ログデータ400に例示するデータである。ファイルアクセス記録データ222は、あらかじめ最大サイズが決められ、最大サイズを超えると、古いデータから自動的に削除されてもよい。
一方、ファイルアクセスデータ232は、管理テーブル500で管理されるデータであり、ファイルアクセス記録データ222の管理および利用を用意にするために作成する。
ファイルアクセスデータ232の管理テーブル500は、ファイルアクセスID501、操作開始時刻502、操作終了時刻503、ファイル504、ユーザ505、グループ601、IPアドレス602、操作603、およびバックアップ604の列を含む。
ファイルアクセスID501は、ファイルアクセス記録処理プログラム231が、個々のデータに対して定めた一意な番号である。
ファイルアクセス記録処理プログラム231は、ファイルアクセス記録データ222に出力された、同一ユーザの、同一IPアドレスからの、同一ファイルデータ221に対する、”open”から、”read”または”write”を経て、”close”に至る操作記録を一つのセットにし、ファイルアクセスデータ232の一つのデータとしてログデータ400に出力する。
なお、ファイルアクセス記録処理プログラム231は、操作記録セット内の全ての操作に対する結果が成功(”OK”)であるセットのみを対象とする。
ファイルアクセス記録処理プログラム231が、ログデータ400に例示するオープン”open”操作記録403、読み出し”read”操作記録404、クローズ”close”操作記録405の以下の各行について、管理テーブル500に例示するファイルアクセスデータ232の行を作成する。
”open”操作記録403:時刻”2008/05/30 15:05:02”、ユーザ名”user1”、クライアント装置側のIPアドレス”192.168.3.8”、操作”open”、結果”OK”、対象のファイルデータ221の名称”/home/user1/A1/A1プレゼン.ppt”
”read”操作記録404:時刻”2008/05/30 15:05:03”、ユーザ名”user1”、クライアント装置側のIPアドレス”192.168.3.8”、操作”read”、結果”OK”、対象のファイルデータ221の名称”/home/user1/A1/A1プレゼン.ppt”
”close”操作記録405:時刻”2008/05/30 15:05:03”、ユーザ名”user1”、クライアント装置側のIPアドレス”192.168.3.8”、操作”close”、結果”OK”、対象のファイルデータ221の名称”/home/user1/A1/A1プレゼン.ppt”
以下に、ファイルアクセス記録処理プログラム231が、管理テーブル500に例示するファイルアクセスデータ232の511行を作成する場合を以下に説明する。なお、読み出し”read”操作記録404、クローズ”close”操作記録405は、同一ユーザ(”user1”)、同一IPアドレス(”192.168.3.8”)および同一ファイルデータ221(”/home/user1/A1/A1プレゼン.ppt”)である。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行の操作開始時刻502列(531)に、”open”操作記録403の時刻”2008/05/30 15:05:02”を入力する。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行の操作終了時刻503列(532)に、”close”操作記録405の時刻”2008/05/30 15:05:03”を入力する。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行のファイル504列(533)に、”open”操作記録403、”read”操作記録404、クローズ”close”操作記録405の操作対象のファイル名”/home/user1/A1/A1プレゼン.ppt”を入力する。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行のユーザ505列(534)に、”open”操作記録403、”read”操作記録404、クローズ”close”操作記録405のユーザ名”user1”を入力する。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行のグループ601列(535)に、ユーザ名”user1”に対応するグループ名(ここでは”group1”)を、ファイルサーバ装置103内が持つ情報から検索して、入力する。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行のIPアドレス602列(536)に、”open”操作記録403、”read”操作記録404、クローズ”close”操作記録405のIPアドレス”192.168.3.8”を入力する。
ファイルアクセス記録処理プログラム231は、管理テーブル500の511行の操作603列(537)に、”read”操作記録404からファイルデータ221に対する操作記録”read”を入力する。
ファイルアクセス記録データ222において、”open”操作記録から”close”操作記録までの間に、複数回の”read”操作記録あるいは”write”操作記録が含まれる場合は、ファイルアクセス記録処理プログラム231は、操作603列(537)にそれぞれの回数を添えて入力してもよい。例えば、”open”操作記録から”close”操作記録までの間に、ファイルアクセス記録データ222に、”read”操作記録2回と”write”操作記録3回が記録されていた場合は、ファイルアクセス記録処理プログラム231は、操作603列(537)に”read:2,write:3”と入力してもよい。
あるいは、ファイルデータ221に対して”open”操作記録から”close”操作記録までの間に含まれるのが”read”操作記録のみである場合は、操作603列(537)には、ファイルアクセス記録処理プログラム231は、”read”と入力し、”open”操作記録から”close”操作記録までの間に一度でも”write”操作記録が含まれる場合には、ファイルアクセス記録処理プログラム231は、”write”と入力してもよい。これは、後述する処理により、一度でも書き込み操作があると、ファイルアクセスデータ232は、バックアップデータ223を伴うためである。
ファイルアクセス記録データ222にファイルの書き込み操作”write”が記録された場合、ファイルアクセス記録処理プログラム231は、管理テーブル500の511行のバックアップ604列(538)に、バックアッププログラム213が作成したバックアップデータ223へのリンク情報を入力する。操作記録が”read”のみの場合は、バックアップデータ223は作成されていないので、ファイルアクセス記録処理プログラム231は、バックアップ604列(538)に何も入力しない。
同様にして、ファイルアクセス記録処理プログラム231が、ログデータ400に例示する”open”操作記録406、”write”操作記録407、”close”操作記録408を一つの操作記録セットとして管理テーブル500の515行に示すファイルアクセスデータ232を作成する場合の処理内容を示す。
ログデータ400に、”write”操作記録407、”close”操作記録408が続けて出力された場合、バックアッププログラム213は、操作記録に記載された操作対象のファイルデータ221に対して、バックアップデータ223を作成する。
なお、バックアップデータ223の作成の対象は、あらかじめ定義した特定のユーザの特定のディレクトリ内などのファイルデータ221に限定してもよい。
バックアッププログラム213は、バックアップデータ223を作成すると判定した場合は、あらかじめ指定したディレクトリにあらかじめ指定した名称作成ルールに基づき、バックアップデータ223を作成する。例えば、バックアッププログラム213は、操作対象ファイルデータ221”/home/user1/A1/A1プレゼン.ppt”に対して、そのバックアップデータ223”/home/user1/backup/A1/A1プレゼン_20080530_150859.ppt”を作成する。
ログデータ400に書き込み操作”write”が記録された場合に、ファイルアクセス記録処理プログラム231は、管理テーブル500の515行のバックアップ604列(541)に、バックアッププログラム213が作成したバックアップデータ223へのリンク情報”/home/user1/backup/A1/A1プレゼン_20080530_150859.ppt”を入力する。
また、同様にして、ファイルアクセス記録処理プログラム231が、ログデータ400に例示した”open”操作記録409、”read”操作記録410、”close”操作記録411を一つのセットとして作成したファイルアクセスデータ232が、管理テーブル500の516行である。
次に、図5から図9を用いて、ファイルアクセス情報管理装置106が、ファイルアクセスグルーピングプログラム233を実行して、ファイルアクセスデータ232から、ファイルアクセスグループデータ234を作成する処理を説明する。
ファイルアクセスグループデータ234は、同一ファイルデータ221に対するファイルアクセスデータ232をグループ化したデータである。
ファイルアクセス情報管理装置106は、例えば、一定量のファイルアクセスデータ232が作成されるなどの処理起動トリガーに基づき、ファイルアクセスグルーピングプログラム233を実行し、ファイルアクセスデータ232からファイルアクセスグループデータ234を作成する。
あるいは、ファイルアクセス情報管理装置106は、例えば、一時間に一度の割合などで、ファイルアクセスグルーピングプログラム233を定期的に実行し、ファイルアクセスデータ232からファイルアクセスグループデータ234を作成する。
ファイルアクセスグルーピングプログラム233は、ファイルアクセスデータ232から、ファイルアクセスグループデータ234を作成するために、まず、個々のファイルアクセスデータ232の関連を示す管理テーブルを作成する。次に、ファイルアクセスグルーピングプログラム233は、関連のあるファイルアクセスデータ232を、一つのグループ化したファイルアクセスデータ(ファイルアクセスグループデータ234)にまとめる。
図6Aは、本発明の第1の実施形態のファイルアクセスデータのグループ化前の管理テーブルの説明図である。
図6Bは、本発明の第1の実施形態のファイルアクセスグループデータの管理テーブルの説明図である。
図6Cは、本発明の第1の実施形態のファイルアクセスグループデータの関連度を含む管理テーブルの説明図である。
図6Aの701は、個々のファイルアクセスデータ232の関連を示した例である。図6Bの702は、ファイルアクセスグループデータ234を示した管理テーブルの例である。
管理テーブル701は、ファイルアクセスID711、前ファイルアクセスID712、後ファイルアクセスID713の各列を含む。ファイルアクセスID711、前ファイルアクセスID712及び後ファイルアクセスID713は、図5に示す管理テーブル500のファイルアクセスID501と同じである。
図7は、本発明の第1の実施形態のファイルアクセスデータ232のグループ化のフローチャートである。
例として、管理テーブル500の行511とそれに対応する管理テーブル701の行721とを説明する。
ファイルアクセスグルーピングプログラム233は、管理テーブル701における行721のファイルアクセスID711に、図5の行511(行A)のファイルアクセスID501と同じ番号”101”を入力する(S401)。
ファイルアクセスグルーピングプログラム233は、管理テーブル500の行Aが指すファイルアクセスデータ232に対して、同一ユーザ533(”user1”)、同一IPアドレス536(”192.168.3.8”)、および同一ファイル533(”/home/user1/A1/A1プレゼン.ppt”)であり、かつ直前の時刻を操作終了時刻503に持つファイルアクセスデータ232(行B)を選択する(S402)。管理テーブル500における行511には、条件を満たすファイルアクセスデータ232が存在しないため、ファイルアクセスグルーピングプログラム233は、管理テーブル701における行721の前ファイルアクセスID712に”NULL”を入力する(S403)。
S402で条件を満たす行Bが存在した場合、ファイルアクセスグルーピングプログラム233は、行Bの操作終了時刻503と、行Aの操作開始時刻531の差が、あらかじめ定めた閾値以下であるか否かを判定する(S404)。差が閾値以下である場合、ファイルアクセスグルーピングプログラム233は、行BのファイルアクセスID501を、管理テーブル701における行721の前ファイルアクセスID712に入力する(S406)。一方、差が閾値よりも大きい場合、条件を満たすファイルアクセスデータ232が存在しないため、ファイルアクセスグルーピングプログラム233は、管理テーブル701における行721の前ファイルアクセスID712に”NULL”を入力する(S405)。
図8は、本発明の第1の実施形態のファイルアクセスデータ232のグループ化のフローチャートであり、図7のフローチャートからの継続である。
次に、ファイルアクセスグルーピングプログラム233は、行Aに対して、同一ユーザ(”user1”)、同一IPアドレス(”192.168.3.8”)、および同一ファイルデータ221(”/home/user1/A1/A1プレゼン.ppt”)であり、かつ直後の時刻を操作開始時刻に持つファイルアクセスデータ232(行C)を選択する(S407)。図5の例では、ファイルアクセスデータ”102”の行512が行Cに該当する。条件を満たす行Cが無い場合、ファイルアクセスグルーピングプログラム233は、管理テーブル701の行721の後ファイルアクセスID713に”NULL”を入力する(S408)。
S407において条件を満たす行Cが選択された場合、ファイルアクセスグルーピングプログラム233は、行Cの操作開始時刻502と、行Aの操作終了時刻503の差が、あらかじめ定めた閾値以下であるか否かを判定する(S409)。差が閾値以下であると判定された場合、ファイルアクセスグルーピングプログラム233は、行CのファイルアクセスID501”102”を、後ファイルアクセスID713に入力する(S411)。ここで、差が閾値よりも大きい場合、ファイルアクセスグルーピングプログラム233は、後ファイルアクセスID713列に”NULL”を入力する(S410)。
同様に、管理テーブル500の行512とそれに対応する管理テーブル701の行722とを説明する。
ファイルアクセスグルーピングプログラム233は、管理テーブル701における行721のファイルアクセスID711に、図5の行512のファイルアクセスID501と同じ番号”102”を入力する(S401)。
ファイルアクセスグルーピングプログラム233は、管理テーブル500における行512に対して、同一ユーザ(”user1”)、同一IPアドレス(”192.168.3.8”)、および同一ファイルデータ221(”/home/user1/A1/A1プレゼン.ppt”)であり、かつ直前の時刻を操作終了時刻503に持つファイルアクセスデータ232を選択する。ここでは、行511が該当する。
ファイルアクセスグルーピングプログラム233は、管理テーブル500における行511の操作終了時刻503である”2008/05/30 15:05:03”と、行512の操作開始時刻502である”2008/05/30 15:05:55”との差が、あらかじめ定めた閾値以下であると判定し、行511のファイルアクセスID501である”101”を、前ファイルアクセスID712に入力する。
次に、ファイルアクセスグルーピングプログラム233は、管理テーブル500における行512に対して、同一ユーザ(”user1”)、同一IPアドレス(”192.168.3.8”)、同一ファイルデータ221(”/home/user1/A1/A1プレゼン.ppt”)であり、かつ直後の時刻を操作開始時刻に持つファイルアクセスデータ232を選択する。ここでは、行513が該当する。
ファイルアクセスグルーピングプログラム233は、管理テーブル500における行513の操作開始時刻502である”2008/05/30 15:06:30”と、行512の操作終了時刻503である”2008/05/30 15:05:56”の差が、あらかじめ定めた閾値以下であると判定し、行513のファイルアクセスID501である”103”を、後ファイルアクセスID713に入力する。
同様に、ファイルアクセスグルーピングプログラム233は、管理テーブル701の723行において、ファイルアクセスデータ513である”103”に対して、前ファイルアクセスID712の条件を満たすファイルアクセスIDである”102”を入力し、さらに、後ファイルアクセスID713列の条件を満たすファイルアクセスIDである”105”を入力する。
以下、同様の処理を行い、ファイルアクセスグルーピングプログラム233は、管理テーブル701を作成する。
次に、ファイルアクセスグルーピングプログラム233は、管理テーブル701から管理テーブル702を作成し、ファイルアクセスグループデータ234を作成する。
ファイルアクセスグルーピングプログラム233は、管理テーブル702を、管理テーブル701の作成に続けて作成する。
管理テーブル702は、ファイルアクセスグループID731、開始ファイルアクセスID732、終了ファイルアクセスID733の各列を含む。図6Bに示す管理テーブル702の開始ファイルアクセスID732、終了ファイルアクセスID733は、管理テーブル500のファイルアクセスIDと同じである。
管理テーブル702の一つの行は、ファイルアクセスグループデータ234の一つを表す。ファイルアクセスグループID731には、ファイルアクセスグルーピングプログラム233が、個々のファイルアクセスグループデータ234に対して定めた一意な番号を入力する。
図9は、本発明の第1の実施形態のファイルアクセスグループデータ234を作成するフローチャートである。
ファイルアクセスグルーピングプログラム233は、管理テーブル701から、前ファイルアクセスID712の値が”NULL”である行(行D)を選択し(S601〜S603)、行DのファイルアクセスID711の値を、管理テーブル702の開始ファイルアクセスID732の値に入力する(S604)。
例えば、ファイルアクセスグルーピングプログラム233は、管理テーブル701から、前ファイルアクセスID712の値が”NULL”である行721を選択し、行721のファイルアクセスID711の値である”101”を、管理テーブル702の行741の開始ファイルアクセスID732の値に入力する。
次に、ファイルアクセスグルーピングプログラム233は、管理テーブル701における行Dの後ファイルアクセスIDが”NULL”であるか否かを判定する(S605)。”NULL”であると判定した場合、ファイルアクセスグルーピングプログラム233は、行DのファイルアクセスID711の値を、管理テーブル702の対応する行の終了ファイルアクセスID733の値に入力する(S608)。
S605において、”NULL”ではないと判定した場合、ファイルアクセスグルーピングプログラム233は、行Dの後ファイルアクセスID713の値を、ファイルアクセスID711から検索し、次の行Dを選択する(S606)。図7の例では、ファイルアクセスグルーピングプログラム233は、管理テーブル701の行721の後ファイルアクセスID713の値である”102”を、ファイルアクセスID711から検索し、行722を選択する。
次に、ファイルアクセスグルーピングプログラム233は、行Dの後ファイルアクセスID713の値が”NULL”であるかを判定し(S607)、”NULL”ではないと判定した場合、S606、S607を繰り返す。
図6Aに示す例では、ファイルアクセスグルーピングプログラム233は、管理テーブル701の行722の後ファイルアクセスID713の値である”103”を、ファイルアクセスID711から検索し、行723を選択する。
以下、ファイルアクセスグルーピングプログラム233は、同様の処理を繰り返し、後ファイルアクセスID713の値が”NULL”である行728を選択する。
次に、ファイルアクセスグルーピングプログラム233は、後ファイルアクセスID713の値が”NULL”である行DのファイルアクセスID711の値を、管理テーブル702の対応する行の終了ファイルアクセスID733の値に入力する(S608)。
図6Aに示す例では、ファイルアクセスグルーピングプログラム233は、管理テーブル701の行728の後ファイルアクセスID713の値が”NULL”であるので、行728のファイルアクセスID711の値である”131”を、管理テーブル702の行741行の終了ファイルアクセスID733に入力する。
以上の処理により、管理テーブル702の行741のファイルアクセスグループID731”1001”が表すファイルアクセスグループデータ234(ファイルアクセスグループデータ”1001”741と表記、以下同様)は、
・管理テーブル701の行721、ファイルアクセスデータ”101”511(管理テーブル500の行511)
・管理テーブル701の行722、ファイルアクセスデータ”102”512(管理テーブル500の行512)
・管理テーブル701の行723、ファイルアクセスデータ”103”513(管理テーブル500の行513)
・管理テーブル701の行725、ファイルアクセスデータ”105”515(管理テーブル500の行515)
・ ‥
・管理テーブル701の行728、ファイルアクセスデータ”131”518(管理テーブル500の行518)
の連続したファイルアクセスデータ232の集合である。
同様に、管理テーブル702の742行のファイルアクセスグループデータ”1002”742は、
・管理テーブル701の行724、ファイルアクセスデータ”104”514(管理テーブル500の行514)
・ ‥
・管理テーブル701の行727、ファイルアクセスデータ”121”517(管理テーブル500の行517)
の連続したファイルアクセスデータ232の集合である。
また、同様に管理テーブル702の行743のファイルアクセスグループデータ”1003”743は、
・管理テーブル701の行726、ファイルアクセスデータ”111”516(管理テーブル500の行516)
である。
管理テーブル701における対象とするファイルアクセスデータ232と直前のファイルアクセスデータ232の間との関連、および、対象とするファイルアクセスデータ232と直後のファイルアクセスデータ232との間の関連を定める閾値については、クライアント装置101上のアプリケーションプログラムのディスクI/Oに関する挙動やユーザのアプリケーションプログラムの利用傾向を考慮して、ファイルアクセスグルーピングプログラム233にあらかじめ定められる。
ファイルアクセスグルーピングプログラム233は、管理テーブル702に示すファイルアクセスグループデータ234について、ユーザの操作時間の短いファイルアクセスグループデータ234を、管理テーブル702のデータの表示から、あるいは、管理テーブル702から除外してもよい。
つまり、ファイルアクセスグルーピングプログラム233は、管理テーブル702に示すファイルアクセスグループデータ234について、開始ファイルアクセスID732の値の示すファイルアクセスデータ232の操作開始時刻502から、終了ファイルアクセスID733の値の示すファイルアクセスデータ232の操作終了時刻503までの時間の差が、あらかじめ定めた閾値以下である場合は、管理テーブル702のデータの表示から、あるいは、管理テーブル702から除いてもよい。
図6Bに示す例として、管理テーブル702は743行に取り消し線751を引かれている。これは、ファイルアクセスグルーピングプログラム233が、ファイルアクセスグループデータ743を管理テーブル702のデータの表示から、または、管理テーブル702から除いた場合を示している。
次に、図6Cの管理テーブル703を用いて、ファイルアクセスグルーピングプログラム233がファイルアクセスグループデータ234間の関連度を算出する処理について説明する。
ファイルアクセス情報管理装置106は、例えば、一定量のファイルアクセスグループデータ234が作成されたときなど、ある処理起動トリガーに基づき、ファイルアクセスグルーピングプログラム233を実行し、ファイルアクセスグループデータ234を表す管理テーブル702から、ファイルアクセスグループデータ234の関連を算出する管理テーブル703を作成する。
あるいは、ファイルアクセス情報管理装置106は、定期的に、例えば、一時間に一度の割合で、ファイルアクセスグルーピングプログラム233を実行し、ファイルアクセスグループデータ234を表す管理テーブル702から、ファイルアクセスグループデータ234の関連を算出する管理テーブル703を作成する。
管理テーブル703は、ファイルアクセスグループID761、関連ファイルアクセスグループID762、関連度763の各列を含む。管理テーブル703のファイルアクセスグループID761および関連ファイルアクセスグループID762は、管理テーブル702のファイルアクセスグループID731と同じである。
例として、管理テーブル703の行771を説明する。
ファイルアクセスグループID761は、ファイルアクセスグループデータ234に対して一意に定めた番号(管理テーブル702のファイルアクセスグループID731に入力した番号)である。この例では、ファイルアクセスグルーピングプログラム233は”1001”を管理テーブル703のファイルアクセスグループID761に入力する。
ファイルアクセスグルーピングプログラム233は、ファイルアクセスグループデータ”1001”741の操作時間、ユーザ、グループ、IPアドレスを以下に示す手段で取得する。
ファイルアクセスグルーピングプログラム233は、ファイルアクセスグループデータ”1001”741の操作時間を検索する。ファイルアクセスグループデータ234の操作時間とは、管理テーブル702において、ファイルアクセスグループデータ234の開始ファイルアクセスID732の値の示すファイルアクセスデータ232の操作開始時刻502から、終了ファイルアクセスID733の値の示すファイルアクセスデータ232の操作終了時刻503までの時間である。
ファイルアクセスグルーピングプログラム233は、ファイルアクセスグループデータ”1001”741の操作開始時刻として、管理テーブル702の行741の開始ファイルアクセスID732である”101”が示すファイルアクセスデータ232(開始ファイルアクセスデータ”101”511と表記、以下同様)の操作開始時刻502の値”2008/05/30 15:05:02”(管理テーブル500の行511、操作開始時刻502)を取得する。
同様に、ファイルアクセスグルーピングプログラム233は、ファイルアクセスグループデータ”1001”741の操作終了時刻として、行741の終了ファイルアクセスID733”131”が示すファイルアクセスデータ232(終了ファイルアクセスデータ”131”518と表記、以下同様)の操作終了時刻503の値”2008/05/30 16:48:16”(管理テーブル500の行518、操作終了時刻503)を取得する。
ファイルアクセスグルーピングプログラム233は、管理テーブル702の行741のユーザとして、開始ファイルアクセスデータ”101”511から終了ファイルアクセスデータ”131”518までのファイルアクセスデータ232の集合に共通のユーザ505の値”user1”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のユーザ505)を取得する。
ファイルアクセスグルーピングプログラム233は、管理テーブル702の行741のグループとして、行741に共通のグループ601の値”group1”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のグループ601)を取得する。
ファイルアクセスグルーピングプログラム233は、管理テーブル702の行741のIPアドレスとして、行741に共通のIPアドレス602の値”192.168.3.8”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のIPアドレス602)を取得する。
ファイルアクセスグルーピングプログラム233は、行771の関連ファイルアクセスグループID762の値には、以下の条件を満たす、他のファイルアクセスグループデータ234のファイルアクセスグループID731の値を入力する。
条件1:行741のユーザ”user1”と同じユーザをもつ。
条件2:行741のIPアドレス”192.168.3.8”と同IPアドレスをもつ。
条件3:行741の操作時間(操作開始時刻”2008/05/30 15:05:02”から、操作終了時刻”2008/05/30 16:48:16”まで)と重なる操作時間をもつ。
なお、上記の条件のうち、条件2のIPアドレスの条件については除外してもよい。IPアドレスの除外は、ユーザが、複数台のクライアント装置101を同時に利用して、複数のファイルデータ221に同時にアクセスすることもあり得るからである。
または、ファイルアクセスグルーピングプログラム233は、以下の条件を満たす他のファイルアクセスグループデータ234のファイルアクセスグループID761を、関連ファイルアクセスグループIDに入力してもよい。
条件1:行741のグループ”group1”と同じグループをもつ。
条件2:行741の操作時間(操作開始時刻”2008/05/30 15:05:02”から、操作終了時刻”2008/05/30 16:48:16”まで)と重なる操作時間をもつ。
図6B、図6Cに示す例では、ファイルアクセスグルーピングプログラム233は、管理テーブル702の行742のファイルアクセスグループID731である”1002”(ユーザ”user1”、IPアドレス”192.168.3.8”、操作開始時刻”2008/05/30 15:08:15”、操作終了時刻”2008/05/30 16:33:16”)を行771の関連ファイルアクセスグループID762に入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル703の行771の関連度763の値には、ファイルアクセスグループデータ”1001”741と、それに関連する他のファイルアクセスグループデータ”1002”742の関連度を登録する。
関連度を、ファイルアクセスグルーピングプログラム233は、例えば、
(ファイルアクセスグループデータ”1001”741の操作時間とファイルアクセスグループデータ”1002”742の操作時間の重なり)÷(ファイルアクセスグループデータ”1001”741の操作時間)
で定義する。つまり、
(”2008/05/30 15:08:15”〜”2008/05/30 16:33:16”)÷(”2008/05/30 15:05:02”〜”2008/05/30 16:48:16”)≒0.8
となり、この値を関連度763に入力する。
なお、関連度の算出方法として、一つのファイルデータに対する操作終了時刻と別のファイルデータに対する操作開始時刻との差から、関連度を算出してもよい。
ファイルアクセスグループデータ”1001”741に対して、上記の条件を満たす他のファイルアクセスグループデータ234がさらに存在する場合は、ファイルアクセスグルーピングプログラム233は、行を追加して登録する。
なお、図6Cの管理テーブル703は、ファイルアクセスグループデータ”1003”743は省略している。
同様に、管理テーブル703の行772を説明する。ファイルアクセスグルーピングプログラム233は、ファイルアクセスグループID731にはファイルアクセスグループデータ”1002”742を登録し、関連ファイルアクセスグループID762にはファイルアクセスグループデータ”1001”741を登録する。
ファイルアクセスグルーピングプログラム233は、772行の関連度763の値には、以下で計算した結果を入力する。
(”2008/05/30 15:08:15”〜”2008/05/30 16:33:16”)÷(”2008/05/30 15:08:15”〜”2008/05/30 16:33:16”)≒1.0
次に、ファイルアクセスグルーピングプログラム233が、ファイルアクセスデータ232を、ファイルアクセスグループデータ234を利用して圧縮する処理について説明する。
ファイルアクセスデータ232は、ファイルデータ221に対する一つ一つのアクセスを記載するので膨大なデータ量になる可能性がある。そこで、ユーザは、任意のタイミングで、ファイルアクセスグループデータ234を利用することでデータ量を圧縮してもよい。
管理テーブル500で管理するファイルアクセスデータ232を、管理テーブル702で管理するファイルアクセスグループデータ234を利用して圧縮した結果が、図8の管理テーブル800に示すファイルアクセスデータ232である。
図10は、本発明の第1の実施形態の圧縮したファイルアクセスデータ232の管理テーブル800の説明図である。
圧縮後のファイルアクセスデータ232の管理テーブル800は、圧縮されていないファイルアクセスデータ232の管理テーブル500と同じ列を含む。管理テーブル800は、ファイルアクセスID810、操作開始時刻811、操作終了時刻812、ファイル813、ユーザ814、グループ815、IPアドレス816、操作817、バックアップ818を含む。
ファイルアクセスグルーピングプログラム233は、管理テーブル702の一行より、管理テーブル800の一行を作成する。例えば、
管理テーブル702の行741より、ファイルアクセスグループデータ”1001”741は、
・ファイルアクセスデータ”101”511(管理テーブル500の行511)
・ファイルアクセスデータ”102”512(管理テーブル500の行512)
・ファイルアクセスデータ”103”513(管理テーブル500の行513)
・ファイルアクセスデータ”105”515(管理テーブル500の行515)
・ ‥
・ファイルアクセスデータ”131”518(管理テーブル500の行518)
の各ファイルアクセスデータ232を含む。これら複数のファイルアクセスデータ232を、ファイルアクセスグルーピングプログラム233が一つのファイルアクセスデータ232に圧縮した結果が、管理テーブル800の行801となる。
以下、図10の行801について説明する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800のファイルアクセスID810に、管理テーブル702における行741の開始ファイルアクセスデータ732の値の”101”(管理テーブル500におけるファイルアクセスID501の値)を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800の操作開始時刻811に、管理テーブル702における行741の開始ファイルアクセスデータ732の値”101”をファイルアクセスID501とする管理テーブル500の行511の、操作開始時刻502の値”2008/05/30 15:05:02”を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800の操作終了時刻812に、管理テーブル702における行741の終了ファイルアクセスデータ733の値”131” をファイルアクセスID501とする管理テーブル500の行518の操作終了時刻503の値”2008/05/30 16:48:16”を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800のファイル813に、管理テーブル702における行741(開始ファイルアクセスデータ511”101”から終了ファイルアクセスデータ518”131”までのファイルアクセスデータ232の集合)に共通の管理テーブル500のファイル504の値”/home/user1/A1/A1プレゼン.ppt”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のファイル504)を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800のユーザ814に、管理テーブル702における行741に共通のユーザ505の値”user1”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のユーザ505)を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800のグループ815に、管理テーブル702における行741に共通のグループ601の値”group1”(管理テーブル500の行511、行512、行513行、行515、‥、行518の各行のグループ601)を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800のIPアドレス816に、管理テーブル702における行741に共通のIPアドレス602の値”192.168.3.8”(管理テーブル500の行511、行512、行513行、行515、‥、行518の各行のIPアドレス602)を入力する。
ファイルアクセスグルーピングプログラム233は、管理テーブル800の操作817に、管理テーブル702における行741に含まれる各ファイルアクセスデータ232の操作603の値(管理テーブル500の行511、行512、行513行、行515、‥、行518の各行の操作603)を編集し、入力する。ファイルアクセスグルーピングプログラム233は、管理テーブル702における行741に含まれる各ファイルアクセスデータ232の操作603に”read”および”write”が含まれる数を算出し、管理テーブル800の操作603に入力する。例えば、”read”が7回、”write”が20回含まれる場合は、ファイルアクセスグルーピングプログラム233は、”read:7,write:20”と入力する。
あるいは、管理テーブル702における行741に含まれる各ファイルアクセスデータ232の操作603の値が全て”read”である場合は、ファイルアクセスグルーピングプログラム233は”read”を登録し、一つでも”write”が含まれる場合は、ファイルアクセスグルーピングプログラム233は操作603に”write”と入力してもよい。これは、一度でも”write”処理が行われると、ファイルアクセスグループデータ234がバックアップデータ223を伴うからである。
ファイルアクセスグルーピングプログラム233は、管理テーブル800のバックアップ818に、管理テーブル702における行741に含まれる各ファイルアクセスデータ232のバックアップ604の値(管理テーブル500の行511、行512、行513行、行515、‥、行518の各行のバックアップ604)を編集し、入力する。
管理テーブル702における行741に含まれる各ファイルアクセスデータ232のバックアップ604の値に、複数のバックアップデータ223へのリンク情報が含まれる場合、ファイルアクセスグルーピングプログラム233は、それらの中で最新のバックアップデータ223”/home/user1/backup/A1/A1プレゼン_20080530_164816.ppt”へのリンク情報を管理テーブル800のバックアップ818に入力する。
あるいは、ファイルアクセスグルーピングプログラム233は、複数のリンク情報を、”,”などで区切って全てのバックアップデータ223へのリンク情報を管理テーブル800のバックアップ818に入力してもよい。
同様に、ファイルアクセスグルーピングプログラム233は、管理テーブル702の行742が含むファイルアクセスグループデータを圧縮し、管理テーブル800の行802行を入力する。
同様に、ファイルアクセスグルーピングプログラム233は、管理テーブル702の行743が含むファイルアクセスグループデータを圧縮し、管理テーブル800の行803を入力する。
以下、前述の処理と同様に、ウェブプロキシサーバ装置108のウェブアクセス記録プログラム252が、ウェブアクセス記録データ253を作成し、ファイルアクセス情報管理装置106のウェブアクセス記録処理プログラム235が、ウェブアクセス記録データ253からウェブアクセスデータ236を作成し、ファイルアクセス情報管理装置106のウェブアクセスグルーピングプログラム237が、ウェブアクセスデータ236からウェブアクセスグループデータ238を作成する処理について説明する。
ただし、ファイルアクセス記録データ222からファイルアクセスグループデータ234に至る処理と同様の処理については説明を省略し、相違点についてのみ説明する。
図11を用いて、ファイルアクセス情報管理装置106が、ウェブアクセス記録処理プログラム235を実行して、ウェブアクセス記録データ253から、ウェブアクセスデータ236を作成する処理を説明する。
図11は、本発明の第1の実施形態のウェブアクセスデータ236の管理テーブル900の説明図である。
ウェブアクセスデータ236を作成する処理は、前述したファイルアクセス情報管理装置106が、ファイルアクセス記録処理プログラム231を実行して、ファイルアクセス記録データ222から、ファイルアクセスデータ232を作成する処理と、同様の処理である。
ウェブアクセス記録データ253は、クライアント装置101がインターネットやイントラネット上のウェブサーバが提供するウェブページに対するアクセスのログデータである。
ウェブアクセス記録データ253は、ログデータ400に例示するファイルアクセス記録データ222に類似のデータであり、ログデータ400におけるファイルデータ221に対する操作と対象とを、それぞれ、ウェブページに対する操作とウェブページのURL(Uniform Resource Locator)に、置き換えればよい。
ウェブアクセスデータ236の管理テーブル900は、ファイルアクセスデータ232の管理テーブル500と同様に、ウェブアクセスID901、操作開始時刻902、操作終了時刻903、URL904、ユーザ905、グループ、IPアドレス906、操作907を含む。管理テーブル900は、グループ列を省略している。
また、ファイルアクセスデータ232の管理テーブル500が含んでいるバックアップ604に相当するデータを、ウェブアクセスデータ236の管理テーブル900は含まない。
ウェブアクセスデータ236の管理テーブル900においては、ファイルアクセスデータ232の管理テーブル500と異なり、ウェブアクセス記録処理プログラム235は、URL904に、アクセスしたウェブページのURLを入力する。また、ウェブアクセス記録処理プログラム235は、操作907に、例えば、ウェブページを送受信する代表的なプロトコルであるHTTP(HyperText Transfer Protocol)の”GET”、”POST”などのメソッドを入力する。
ウェブアクセスデータ236の管理テーブル900の一行は、HTTPにおける一組のリクエストとレスポンスに対応する。
次に、図11ならびに図12A、図12Bおよび図12Cを用いて、ファイルアクセス情報管理装置106が、ウェブアクセスグルーピングプログラム237を実行して、ウェブアクセスデータ236から、ウェブアクセスグループデータ238を作成する処理を説明する。
図12Aは、本発明の第1の実施形態のウェブアクセスグループデータのグループ化への準備のための管理テーブルの説明図である。
図12Bは、本発明の第1の実施形態のウェブアクセスグループデータの管理テーブルの説明図である。
図12Cは、本発明の第1の実施形態のウェブアクセスグループデータの関連度を含む管理テーブルの説明図である。
ウェブアクセスグループデータ238を作成する処理は、ファイルアクセス情報管理装置106が、ファイルアクセスグルーピングプログラム233を実行して、ファイルアクセスデータ232から、ファイルアクセスグループデータ234を作成する処理と、同様の処理である。
管理テーブル1001は、ウェブアクセスID1011、前ウェブアクセスID1012、後ウェブアクセスID1013の各列を含む。管理テーブル1001のウェブアクセスID1011は、管理テーブル900のウェブアクセスID901と同じである。
管理テーブル1001は、管理テーブル701と同様の管理テーブルである。管理テーブル1001における、ウェブアクセスID1011に対する前ウェブアクセスID1012、後ウェブアクセスID1013の関係は、管理テーブル701における、ファイルアクセスID501に対する前ファイルアクセスID712、後ファイルアクセスID713の関係と同様である。
ただし、ウェブアクセスID1011の指すウェブアクセスデータ236と前ウェブアクセスID1012の指すウェブアクセスデータ236は、同一のユーザ、同一のIPアドレスである必要があるが、URLについては、完全一致でなく前方部分一致でもよい。
例えば、ウェブアクセスグルーピングプログラム237は、管理テーブル1001の1024において、ウェブアクセスID1011に”111”、後ウェブアクセスID1013に”112”を入力する。これは、管理テーブル900の914行と915行において、以下の条件を満たしているためである。
・同一ユーザ(”user1”)
・同一IPアドレス(”192.168.3.8”)
・行914のURL904の”http://url2/page1.html”と行915のURL904の”http://url2/page2.html”で前方の”http://url2/”が一致
・行914のウェブアクセスID901が”111”の操作終了時刻903”2008/05/30 15:02:14”と、行915のウェブアクセスID901が”112”の操作開始時刻902”2008/05/30 15:08:08”の差が閾値以内である。
次に、ウェブアクセスグルーピングプログラム237は、管理テーブル1001から管理テーブル1002を作成し、ウェブアクセスグループデータ238を作成する。
管理テーブル1002は、ウェブアクセスグループID1031、開始ウェブアクセスID1032、終了ウェブアクセスID1033の各列を含む。
管理テーブル1002の各列の値は、管理テーブル701から管理テーブル702を作成した処理と同様に処理することにより入力される。
管理テーブル1002の1041行のウェブアクセスグループID”1001”が表すウェブアクセスグループデータ238(ウェブアクセスグループデータ”1001”1041と表記、以下同様)は、
・管理テーブル1001の行1021、ウェブアクセスデータ”101”911(管理テーブル900の911行)
・管理テーブル1001の行1022、ウェブアクセスデータ”102”912(管理テーブル900の912行)
・管理テーブル1001の行1023、ウェブアクセスデータ”103”913(管理テーブル900の913行)
の連続したウェブアクセスデータ236の集合である。管理テーブル1002の1042行のウェブアクセスグループデータ”1002”1042、管理テーブル1002の1043行のウェブアクセスグループデータ”1003”1043についても同様である。
管理テーブル702での処理と同様、管理テーブル1002に示すウェブアクセスグループデータ238について、ウェブアクセスグルーピングプログラム237は、ユーザの操作時間の短いウェブアクセスグループデータ238を、管理テーブル1002のデータの表示から、または、管理テーブル1002から除外してもよい。
図12Bに示す例では、管理テーブル1002において行1043は、取り消し線1052を引かれている。これは、ウェブアクセスグルーピングプログラム237が、ウェブアクセスグループデータ”1003”1043を管理テーブル1002のデータの表示から、あるいは、管理テーブル1002から除いた場合を示している。
また、管理テーブル1002に示すウェブアクセスグループデータ238について、ウェブアクセスグルーピングプログラム237は、検索用ウェブページなどの特定のURLを含むウェブアクセスグループデータ238を、管理テーブル1002のデータの表示から、または、管理テーブル1002から除外してもよい。
特定のURLを含むウェブアクセスグループデータ238を除外する理由は、ユーザは、対象とするウェブページに辿り着くための補助的な手段として検索ページを利用し、検索用ウェブページ自体を対象としていないことがあるからである。
例として、管理テーブル1002において行1041は、取り消し線1051を引かれている。これは、ウェブアクセスグループデータ”1001”1041が、検索用ウェブページのURL904を表す”http://search/”(管理テーブル900の行911、行912、行913の各行のURL904)を含むためである。
また、ウェブアクセスグループデータ238の管理テーブル1002を利用してウェブアクセスデータ236を圧縮する処理も、ファイルアクセスグループデータ234の管理テーブル702を利用してファイルアクセスデータ232を圧縮する処理と同様である。
次に、図12Cの管理テーブル1003を用いて、ファイルアクセスグループデータ234に対するウェブアクセスグループデータ238の関連度1063を算出する処理について説明する。
管理テーブル1003は、ファイルアクセスグループID1061、関連ウェブアクセスグループID1062、関連度1063の各列を含む。
管理テーブル1003は、管理テーブル703作成時の処理と同様の処理で作成される。例えば、ウェブアクセスグルーピングプログラム237は、管理テーブル1003の1071行、関連度1063には、以下の定義で求められた値を入力する。
(ファイルアクセスグループデータ”1001”741の操作時間とウェブアクセスグループデータ”1002”1042の操作時間の重なり)÷(ファイルアクセスグループデータ”1001”741の操作時間)
すなわち、以下の計算となる。
(”2008/05/30 15:05:02”〜”2008/05/30 15:40:56”)÷(”2008/05/30 15:05:02”〜”2008/05/30 16:48:16”)≒0.3
前述の算出により、0.3を管理テーブル1003の行1071の関連度1063に入力する。
以上のように、本発明の第1の実施形態におけるファイルアクセス情報管理装置106は、ストレージ装置105とファイルサーバ装置103に対応付けて設置され、ストレージ装置105に格納されたファイルデータ221がアクセスされたときのオープン時刻、クローズ時刻、ユーザ、IPアドレス、操作内容の各情報を、ファイルアクセスデータ232として格納し、一つのファイルデータ221に対するファイルアクセスデータ232をグループ化し、グループ化したファイルアクセスデータ232間の関連度を算出する。
さらに、ファイルアクセス情報管理装置106は、ファイルデータ221が更新されたときに作成されたバックアップデータ223へのリンク情報を、ファイルアクセスデータ232に追加して格納する。
さらに、ファイルアクセス情報管理装置106は、ファイルアクセスデータ232をグループ化した単位で圧縮する。
以上により、一つのファイルデータ221に対してファイルアクセスデータ232が大量にあるような場合において、一つのファイルデータ221に対するファイルアクセスデータ232の利用を容易にしたり、ファイルアクセスデータ232のデータ量を圧縮したりすることができる。
さらに、複数のファイルデータ221に対するファイルアクセスデータ232が同時にあるような場合、複数のファイルデータ221に対するファイルアクセスデータ232の同時利用を容易にできる。
次に、以上の処理で作成したファイルアクセスグループデータ234、およびウェブアクセスデータ238を利用するカレンダーアプリケーションからなる情報システムについて説明する。
図13は、本発明の第1の実施形態のカレンダーデータ242の説明図である。
カレンダーサーバ装置107は、定期的に、あるいは、一定量のファイルアクセスグループデータ234が作成されたら、カレンダーデータ作成プログラム241を実行し、ファイルアクセスグループデータ234、および、ウェブアクセスグループデータ238からカレンダーデータ242を作成する。
カレンダーデータ242は、標準的なカレンダーデータ形式の、例えば、IETF(Internet Engineering Task Force)による技術仕様RFC2445(http://www.ietf.org/rfc/rfc2445.txt)で規定されるiCalendar形式の、データである。
図13の表示例1100は、カレンダーデータ242の例である。カレンダーデータ作成プログラム241は、カレンダーデータ242情報を含むファイルを、データの単位毎に作成し、例えば、以下のようなデータの単位で作成する。
・一度でも”write”操作を含むファイルアクセスグループデータ234
・”read”操作のみを含むファイルアクセスグループデータ234
・ウェブアクセスグループデータ238
あるいは、カレンダーデータ作成プログラム241は、カレンダーデータ242情報を含むファイルを、IPアドレス602の情報を利用して、アクセス元のデータ単位で作成してもよい。例えば、以下のようなデータの単位で作成する。
・”社内”からアクセスしたファイルアクセスグループデータ234
・”自宅”からアクセスしたファイルアクセスグループデータ234
・”モバイル”からアクセスしたファイルアクセスグループデータ234
管理テーブル702の行741、ファイルアクセスグループデータ”1001”741を、標準的なカレンダーデータ形式で表すと図13の1101のようになる。
カレンダーデータ作成プログラム241は、一つのファイルアクセスグループデータ234を、1111行のような”BEGIN:VEVENT”と、1119行のような”END:VEVENT”に囲まれた範囲に入力する。
カレンダーデータ作成プログラム241は、ファイルアクセスグループデータ”1001”741の情報に対して、管理テーブル702の741行から管理テーブル500を辿り、以下のファイルアクセスデータ232を取得する。
・ファイルアクセスデータ”101”511(管理テーブル500の行511)
・ファイルアクセスデータ”102”512(管理テーブル500の行512)
・ファイルアクセスデータ”103”513(管理テーブル500の行513)
・ファイルアクセスデータ”105”515(管理テーブル500の行515)
・ ‥
・ファイルアクセスデータ”131”518(管理テーブル500の行518)
カレンダーデータ作成プログラム241は、”SUMMARY:”行1112に、ファイルアクセスグループデータ”1001”741(管理テーブル702における行741の開始ファイルアクセスデータ732の値”101”をファイルアクセスID501とする管理テーブル500の行511から、終了ファイルアクセスデータ733の値”131”をファイルアクセスIDとする管理テーブル500の行518までのファイルアクセスデータ232の集合)に共通のファイル504の値”/home/user1/A1/A1プレゼン.ppt”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のファイル504)、あるいは、ファイル名のみを抜き出し”A1プレゼン.ppt”を入力する。
カレンダーデータ作成プログラム241は、”DTSTART:”行1113に、管理テーブル702における行741の開始ファイルアクセスデータ732の値”101”をファイルアクセスID501とする管理テーブル500の行511の操作開始時刻502の値”2008/05/30 15:05:02”(管理テーブル500の行511、操作開始時刻502)を意味する”20080530T150502”を入力する。
カレンダーデータ作成プログラム241は、”DTEND:”行1114に、終了ファイルアクセスデータ733の値”131”をファイルアクセスIDとする行518の操作終了時刻503の値”2008/05/30 16:48:16”(管理テーブル500の行518、操作終了時刻503)を意味する”20080530T164816”を入力する。
カレンダーデータ作成プログラム241は、”LOCATION:”行1115に、管理テーブル702の行741に共通のIPアドレス602の値”192.168.3.8”(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のIPアドレス602)を検索し、その値を入力する。あるいは、カレンダーデータ作成プログラム241は、IPアドレス602と拠点名(社内の各オフィス名など)との対応表をあらかじめ作成しておき、その対応表を利用して”192.168.3.8”に対応する”品川オフィス”を”LOCATION:”行1115に入力する。
カレンダーデータ作成プログラム241は、”URL:”行1116には、管理テーブル702の行741を構成する各ファイルアクセスデータ232のバックアップ604の値(管理テーブル500の行511、行512、行513、行515、‥、行518の各行のバックアップ604)に、バックアップデータ223へのリンク情報が含まれる場合、バックアップ604の値の中で最新のバックアップデータ223へのリンク情報を記入する。図13に示す例では、カレンダーデータ作成プログラム241は、バックアップデータ223”/home/user1/backup/A1/A1プレゼン_20080530_164816.ppt”へのリンク情報”¥¥file_server¥user1¥¥backup¥A1¥A1プレゼン_20080530_164816.ppt”を入力する。
カレンダーデータ作成プログラム241は、ファイルアクセスグループデータ”1001”741に含まれる各ファイルアクセスデータ232のバックアップ604の値に、バックアップデータ223へのリンク情報が含まれない場合は、”URL:”行1116を省略する。
あるいは、カレンダーデータ作成プログラム241は、”URL:”行1116には、管理テーブル702の行741に共通のファイル504の値”/home/user1/A1/A1プレゼン.ppt”(管理テーブル500の行511、行512、行513、行515行、‥、行518の各行のファイル504)へのリンク情報”¥¥file_server¥user1¥A1¥A1プレゼン.ppt”を記入してもよい。
カレンダーデータ作成プログラム241は、”DESCRIPTION:”行1117には、例えば、管理テーブル702の行741に含まれる各ファイルアクセスデータ232の操作603の値(管理テーブル500の行511、行512、行513、行515、‥、行518の各行の操作603)を編集して入力する。カレンダーデータ作成プログラム241は、ファイルアクセスグループデータ”1001”741に含まれる各ファイルアクセスデータ232の操作603の値に”read”および”write”が含まれる数を算出する。例えば、一度以上の”write”があり、”read”が7回、”write”が20回含まれる場合は、カレンダーデータ作成プログラム241は、”更新(read:7、write:20)”と入力する。また、全て”read”であり、”read”が27回含まれる場合は、カレンダーデータ作成プログラム241は、”参照(read:20)”と入力する。
この他、カレンダーデータ作成プログラム241は、”DESCRIPTION:”行1117には、どのような情報を入力してもよく、例えば、関連度の高い他のファイルアクセスグループデータ234のファイル名や、関連度の高いウェブアクセスグループデータ238のURLを入力してもよい。
あるいは、カレンダーデータ作成プログラム241は、”DESCRIPTION:”行1117に、管理テーブル702の行741の対象であるファイルデータ221”/home/user1/A1/A1プレゼン.ppt”の全部または一部の内容、あるいは、そのバックアップデータ223”/home/user1/backup/A1/A1プレゼン_20080530_164816.ppt”の全部または一部の内容を入力してもよい。
カレンダーデータ作成プログラム241は、”CATEGORIES:”行1118には、例えば、一度でも”write”操作を含むファイルアクセスグループデータ234に対しては”ファイルサーバ(更新)”、”read”操作のみを含むファイルアクセスグループデータ234に対しては、”ファイルサーバ(参照)”、ウェブアクセスグループデータ238に対しては”ウェブプロキシサーバ”と入力する。カレンダーデータ作成プログラム241は、ファイルアクセスグループデータ”1001”741に対しては、”CATEGORIES:”行1118に、”ファイルサーバ(更新)”と入力する。
あるいは、カレンダーデータ作成プログラム241は、”CATEGORIES:”行1118には、管理テーブル702の行741に共通のIPアドレス602をもとに、”オフィス(社内)”、”自宅”、”モバイル”といった位置情報を識別して、その情報を入力してもよい。
上記では、カレンダーデータ作成プログラム241は、ファイルアクセスグループデータ234(その元データであるファイルアクセスデータ232(図5の管理テーブル500))、および、ウェブアクセスグループデータ238(その元データであるウェブアクセスデータ236(図11の管理テーブル900))からカレンダーデータ242を作成している。カレンダーデータ作成プログラム241は、ファイルアクセスグループデータ234を用いて圧縮されたファイルアクセスデータ232(図10の管理テーブル800)、および、ウェブアクセスグループデータ238を用いて圧縮されたウェブアクセスデータ236からカレンダーデータ242を作成してもよい。
以上の処理により作成したカレンダーデータ242を、クライアント装置101内のカレンダープログラム202が読み取り、表示する。表示例を図14の1200に示す。
図14は、本発明の第1の実施形態のカレンダーデータ242の表示例である。
カレンダーデータ242に対するアクセス権は、カレンダーデータ242が指し示すもとのファイルデータ221に対するアクセス権に準じる。
カレンダープログラム202は、標準的なカレンダーデータ形式のデータセットを表示できるスケジュール兼カレンダーアプリケーションソフトウェアである。このソフトウェアは、ウェブブラウザ上で実行されてもよい。
ユーザが、凡例1205の”予定”1201にチェックを入れた場合、カレンダープログラム202は、カレンダーデータ表示部1206に、ユーザが予定としてあらかじめ入力していたカレンダーデータ、例えば”プレゼンレビュー”1211、を表示する。
ユーザが、凡例1205の”ファイルサーバ(更新)”1202にチェックを入れると、カレンダープログラム202は、カレンダーデータ表示部1206に、一度でも”write”操作を含むファイルアクセスグループデータ234から作成されたカレンダーデータ242、例えば”A1プレゼン.ppt”1221、”A1プレゼン.ppt”1222、を表示する。
ユーザが、凡例1205の”ファイルサーバ(参照)”1203にチェックを入れた場合、カレンダープログラム202は、カレンダーデータ表示部1206に、”read”操作のみを含むファイルアクセスグループデータ234から作成されたカレンダーデータ242、例えば”プレゼン雛形.ppt”1231、”A0プレゼン.pdf”1232、”A1プレゼン.ppt”1233、”B1プレゼン.pdf”1234、を表示する。
ユーザが、凡例1205の”ウェブプロキシサーバ”1204にチェックを入れた場合、カレンダープログラム202は、カレンダーデータ表示部1206に、ウェブアクセスグループデータ238から作成されたカレンダーデータ242、例えば”url1”1241、”url2”1242、を表示する。
カレンダープログラム202が表示したカレンダーデータ”A1プレゼン.ppt”1222の内容1260を、以下に説明する。
”A1プレゼン.ppt”1222の内容1260における”件名”行1251、”場所”行1252、”カテゴリ”行1253、”開始日時”行1254、”終了日時”行1255、”詳細”行1256、”リンク”行1257の各行は、それぞれ、図13の1101における”SUMMARY:”行1112、”LOCATION:”行1115、”CATEGORIES:”行1118、”DTSTART:”行1113、”DTEND:”行1114、”DESCRIPTION:”行1117、”URL:”行1116の各行に対応している。
以上のように、本発明の第1の実施形態の情報システムは、ファイルサーバ装置103およびストレージ装置105と、それらに対応したファイルアクセス情報管理装置106と、カレンダーサーバ装置107とを備える。カレンダーサーバ装置107は、ファイルアクセス情報管理装置106が管理するファイルアクセスグループデータ234をカレンダーデータ242に変換し、ファイルデータ221の作業履歴情報に加えて、該ファイルデータ221のへのリンク情報、あるいは、該ファイルデータ221のバックアップデータ223へのリンク情報を、カレンダープログラム202に提供する。
さらに、カレンダーサーバ装置107は、ファイルアクセス情報管理装置106が管理するウェブアクセスグループデータ238をカレンダーデータ242に変換し、ウェブページへのアクセス履歴情報を、カレンダープログラム202に提供する。
前述のとおり、ユーザは、ファイルデータ221に対する作業履歴を閲覧することが可能となる。また、関連した他のファイルデータに対するアクセス情報を同時に利用することが可能となる。
さらに、ユーザは、ファイルデータ221に対する作業履歴を、ウェブページに対するアクセス履歴と同時に、閲覧することができる。
次に、本発明の第2の実施形態の情報システムについて説明する。
第2の実施形態では、第1の実施形態で説明したファイルアクセスグループデータ234、および、ウェブアクセスデータ238を利用する検索アプリケーションからなる情報システムについて説明する。
図15は、本発明の第2の実施形態の情報システムの機能構成図である。
図2に示した本発明の第1の実施形態の機能構成図と、図15に示した機能構成図との相違は、図15に示す機能構成は、カレンダーサーバ装置107が無く、検索サーバ装置1301を備えている点である。また、図15に示したクライアント装置101は、カレンダープログラム202が無く、検索データ表示プログラム1311が追加されている点で、図2に示した機能構成と異なる。
検索サーバ装置1301は、図1に示すファイルアクセス情報管理装置106と同じシステム構成を備える。
検索サーバ装置1301は、クライアント装置101からファイルデータ221の検索要求を受けて検索サービスを提供するサーバである。
ファイルデータ221を検索する基本的な処理は以下のステップからなる。
クライアント装置101の検索プログラム1311が、検索キーとする単語を、検索サーバ装置1301の検索サーバプログラム1304に送信する。
検索サーバプログラム1304は、受信した単語を含むファイルデータ221を検索し、ファイルデータ221を受信した単語を含む順にランク付けする。
検索サーバプログラム1304は、ランク付けしたファイルデータ221の名称、概要、リンク情報などをまとめたリストを検索結果として検索プログラム1311に送信し、検索プログラムは、受信した検索結果を表示する。
上記の処理において、検索サーバプログラム1304は、受信した単語を含むファイルデータ221を検索するときに、ファイルデータ221のインデックスデータ1303を利用する。検索サーバ装置1301は、インデックスデータ作成プログラム1302を定期的に実行し、あらかじめファイルデータ221のインデックスデータ1303を作成している。
インデックスデータ1303は、ファイルデータ221の検索性能を向上させるための索引データである。例えば、図16Aに示す管理テーブル1401において、単語1411と、単語1411を含むファイルデータID1412(ファイルデータ221を一意に示した識別子)が含まれた管理テーブルである。
図16Aは、本発明の第2の実施形態のインデックスデータ1303の管理テーブルの説明図である。
図16Bは、本発明の第2の実施形態のインデックスデータ1303の管理テーブルの説明図である。
ファイルアクセス情報管理装置106は、ファイルアクセスグループデータ234を示す管理テーブルを含み、図6Bの管理テーブル702、管理テーブル703に加えて、図16Bの管理テーブル1402を含む。
管理テーブル1402は、ファイルアクセスグループID1413とファイルデータID1414を関連付ける管理テーブルである。管理テーブル1402のファイルアクセスグループID1413は、管理テーブル702のファイルアクセスグループID731と同じである。また、管理テーブル1402のファイルデータID1414は、管理テーブル1401のファイルデータID1412と同じである。
検索サーバプログラム1304は、管理テーブル1401と管理テーブル1402を利用することにより、検索プログラム1311から受信した単語1411に対して、それを含むファイルデータID1412、さらにファイルアクセスグループデータID1413を関連付ける。これにより、検索サーバプログラム1304は、検索結果のファイルデータ221の絞込みおよびランク付けに、ファイルアクセスグループデータ234(ファイルデータ221の作業履歴)を利用することが可能になる。
また、検索サーバプログラム1304は、検索結果に、ファイルデータ221の情報に追加して、ファイルアクセスグループデータ234(ファイルデータ221の作業履歴)の情報を表示する。
図17は、本発明の第2の実施形態の検索結果の表示例である。
図17の表示例1500は、クライアント装置101において、ユーザが、単語”製品A1”を含むファイルデータ221を検索した結果を、ウェブブラウザなど任意のアプリケーションを利用して表示している例である。
以下、検索プログラム1311による表示例1500の内容について説明する。
ユーザは、検索キーワードの入力フィールド1501に、単語”製品A1”を入力し、検索ボタン1502を押下して、検索結果を取得する。
ユーザは、”絞り込み条件”欄1511で、検索条件を設定する。
ユーザは、”作業量:”1512行では、ファイルデータ221の作業時間、あるいは、作業回数に関する条件を設定する。検索サーバプログラム1304は、作業時間には、対象とするファイルデータ221に関する全てのファイルアクセスグループデータ234の操作時間の合計値を参照する。検索サーバプログラム1304、作業回数には、対象とするファイルデータ221に関する全てのファイルアクセスグループデータ234のデータ数の合計値を参照する。
ユーザは、”作業場所:”行1513では、ファイルデータ221にアクセスしたときの場所に関する条件を設定する。検索サーバプログラム1304は、あらかじめクライアント装置101が位置する拠点名(オフィス名など)と、その地点のIPアドレスまたはネットワークアドレスとの対応表を含む。
検索サーバプログラム1304は、ファイルデータ221にアクセスしたときの場所の情報について、ファイルデータ221に関するファイルアクセスグループデータ234のIPアドレス602(管理テーブル500)に対応する拠点名を前述の対応表から検索することにより取得する。”作業場所:”行1513が”オフィスでの作業のみ”とは、対象とするファイルデータ221に関する全てのファイルアクセスグループデータ234のIPアドレス602が、社内のオフィスを示すことを意味する。
ユーザは、”作業区分:”行1514では、ファイルデータ221の操作状況についての条件を設定する。
検索サーバプログラム1304は、ファイルデータ221にアクセスしたときの操作情報について、ファイルデータ221に関する全てのファイルアクセスグループデータ234の操作603(管理テーブル500)を参照する。”作業区分:”行1514が”一度でも更新あり”とは、対象とするファイルデータ221に関するファイルアクセスグループデータ234の操作603が、一つでも”write”を含むことを意味する。
検索サーバプログラム1304は、”絞り込み条件”欄1511で例示した以外に、ファイルアクセスグループデータ234の持つ情報(管理テーブル500、あるいは、圧縮後の管理テーブル800)のすべてを利用してもよく、例えば、作業日時(操作開始時刻502、操作終了時刻503を参照)、対象ディレクトリ(ファイル504を参照)、ユーザやグループ(ユーザ505、グループ601を参照)などの情報を利用してもよい。
検索プログラム1311は、”検索結果”欄1521に、検索結果を表示する。
検索プログラム1311は、”A1プレゼン.ppt”と”製品A1とは‥‥”1522、”A0プレゼン.pdf”と”‥‥”1523、というように、検索されたファイルデータ221の名称、リンク情報およびリンク情報の内容の一部などの情報を、ランク付けされた順番に表示する。
ユーザは、欄1531において、”A1プレゼン.ppt”の情報1522に加えて、”A1プレゼン.ppt”の表示する作業履歴情報(ファイルアクセスグループデータ234)を指定する。検索プログラム1311が、欄1531において指定された条件に基づくファイルアクセスグループデータ234の情報を表示したのが、欄1541である。
ユーザは、”作業履歴の表示”行1532において、表示する作業履歴の操作内容を指定する。表示する操作内容の指定に基づいて、検索プログラム1311は、ファイルデータ221に関連するファイルアクセスグループデータ234のうち、どのファイルアクセスグループデータ234を表示するかを指定する。
検索プログラム1311は、”作業履歴の表示”行1532において、”更新含む”にチェックが入っているときは、操作603に一つでも”write”を含むファイルアクセスグループデータ234の情報を欄1541に表示する。
検索プログラム1311は、”作業履歴の表示”行1532において、”参照のみ”にチェックが入っているときは、操作603が全て”read”であるファイルアクセスグループデータ234の情報を1541欄に表示する。
また、検索プログラム1311は、”関連情報の表示”行1533行におけるユーザの指定に従い、”作業履歴の表示”行1532で条件設定したファイルアクセスグループデータ234にあわせて、それに関連した他のファイルアクセスグループデータ234、ウェブアクセスグループデータ238の情報を表示するか否かを指定する。
検索プログラム1311は、”関連情報の表示”行1533において”ファイル”にチェックが入っているときは、関連したファイルアクセスグループデータ234の情報を表示する。表示する情報は、検索サーバプログラム1304が、管理テーブル703を利用して、当該ファイルアクセスグループデータ234に関連する他のファイルアクセスグループデータ234を検索することによって得られる。
検索プログラム1311は、”関連情報の表示”行1533において”ウェブ”にチェックが入っているときは、関連したウェブアクセスグループデータ238の情報を表示する。表示する情報は、検索サーバプログラム1304が、管理テーブル1003を利用して、当該ファイルアクセスグループデータ234に関連するウェブアクセスグループデータ238を検索することによって得られる。
欄1541は、欄1531で指定された条件に基づいて、ファイルアクセスグループデータ234の作業履歴の情報を表示している。
検索プログラム1311は、”作業時間”行1542に、ファイルアクセスグループデータ234の操作時間の合計値を表示する。
検索プログラム1311は、”作業回数”行1543に、ファイルアクセスグループデータ234のデータ数の合計値を表示する。
検索プログラム1311は、欄1544、欄1545、欄1546で、それぞれ、ファイルアクセスグループデータ234、および、ファイルアクセスグループデータ234に関連する他のファイルアクセスグループデータ234とウェブアクセスグループデータ238の情報を表示する。欄1544は、ファイルアクセスグループデータ”1001”741の情報の表示例である。
”2008/05/30 15:05 16:48”欄1551は、ファイルアクセスグループデータ”1001”741に属する開始ファイルアクセスデータ”101”511の操作開始時刻502の値(管理テーブル500)、および、終了ファイルアクセスデータ”131”518の操作終了時刻503の値(管理テーブル500)を、検索プログラム1311によって編集され、表示された例である。
”大森オフィス”欄1552は、管理テーブル702の行741に共通のIPアドレス602の値(管理テーブル500)に対応する拠点名(オフィス名)を、検索プログラム1311によって表示された例である。
”更新”欄1553は、管理テーブル702の行741に含まれるいずれかの操作603の値(管理テーブル500)が”write”であることを、検索プログラム1311によって表示された例である。
”A1プレゼン_20080530_164816.ppt”欄1554は、管理テーブル702の行741に含まれるバックアップ604の値(管理テーブル500)における、最新のバックアップデータ223へのリンク情報を、検索プログラム1311によって表示された例である。
”関連ファイルB1プレゼン.pdf(0.8)”欄1555の”B1プレゼン.pdf”は、管理テーブル702の行741に関連する管理テーブル702の行742を検索プログラム1311によって表示された例である。検索プログラム1311は、管理テーブル702の行742において共通しているファイル504の値(管理テーブル500)へのリンク情報を、”B1プレゼン.pdf(0.8)”欄1555に示している。あるいは、検索プログラム1311は、管理テーブル702の行742に含まれるバックアップ604の値へのリンク情報を”B1プレゼン.pdf(0.8)”欄1555に示してもよい。
また、”関連ファイルB1プレゼン.pdf(0.8)”欄1555の”(0.8)”のファイル名称に続いて示す括弧内の数字”0.8”は、管理テーブル703に示す、管理テーブル702の行741に対する管理テーブル702の行742の関連度763である。
ここで、検索プログラム1311は、”B1プレゼン.pdf(0.8)”に続けて、さらに”B1プレゼン.pdf(0.8)”の内容の一部を表示してもよい。
また、検索プログラム1311は、関連する他のファイルアクセスグループデータ234が複数ある場合は、関連度763の高い順に表示してもよい。また、検索プログラム1311は、関連度763の高い順に、ファイルアクセスグループデータ234の数を限定して表示してもよい。
”関連ウェブurl2(0.3)”欄1556は、管理テーブル702の行742に管理テーブル1002の行1042を、検索プログラム1311によって示された例であり、前述の”関連ファイルB1プレゼン.pdf(0.8)”欄1555のファイルアクセスグループデータ”1002”742の表示に準じる。
以上のように、本発明の第2の実施形態の情報システムは、ファイルサーバ装置103およびストレージ装置105に対応付けられて設置されたファイルアクセス情報管理装置106と、検索サーバ装置1301を備える。また、ファイルアクセス情報管理装置106は、ファイルアクセスグループデータ234をファイルデータ221に関連付ける。また、検索サーバ装置1301は、ファイルデータ221のインデックスデータ1303を作成し、ファイルデータ221の検索時に、該ファイルデータ221の情報に加えて、該ファイルデータ221のファイルアクセスグループデータ234の情報を、検索プログラム1311に提供する。
さらに、検索サーバ装置1301は、ファイルデータ221の検索時に、該ファイルデータ221の情報に加えて、該ファイルデータ221のファイルアクセスグループデータ234に関連するファイルアクセスグループデータ234の情報を、検索プログラム1311に提供する。
さらに、検索サーバ装置1301は、ファイルデータ221の検索時に、該ファイルデータ221の情報に加えて、該ファイルデータ221のファイルアクセスグループデータ234に関連するウェブアクセスグループデータ238の情報を、検索プログラム1311に提供する。
さらに、ファイルデータ221の作業時に関連のあった他のファイルデータ221やウェブページを検索することができる。
次に、本発明の第3の実施形態の情報システムについて説明する。
第3の実施形態では、第1の実施形態で説明したファイルアクセスグループデータ234、および、ウェブアクセスデータ238を利用する階層ストレージ管理アプリケーションからなる情報システムについて説明する。
図18は、本発明の第3の実施形態の情報ステムの機能構成図である。
図2に示した本発明の第1の実施形態の機能構成図と、図18に示した機能構成図との相違は、図18に示した機能構成は、カレンダーサーバ装置107、ウェブプロキシサーバ装置108が無く、階層ストレージ管理装置(1601)、ストレージ装置2(1611)およびストレージ装置3(1621)を備えている点である。また、図18に示したクライアント装置101は、カレンダープログラム202を含まず、ファイルアクセス情報管理装置106は、ウェブアクセス記録処理プログラム235、ウェブアクセスデータ236、ウェブアクセスグルーピングプログラム237、ウェブアクセスグループデータ238およびバックアッププログラム213を含まず、ストレージ装置105は、バックアップデータ223を含まない点が相違している。
ストレージ装置2(1611)、および、ストレージ装置3(1621)は、ストレージ装置105と同じシステム構成を備えており、ストレージ装置105とあわせて、いわゆる階層ストレージシステムを構成している。
図18に示す例では、ストレージ装置105は高速ストレージ、ストレージ装置2(1611)は低速(ニアライン)ストレージ、ストレージ装置3(1621)は、MAID(Massive Arrays of Inactive Disks)機能を備えた省電力ストレージである。ストレージ装置3(1621)は、仮想テープライブラリ装置、あるいは、テープライブラリ装置であってもよい。
ファイルデータ221は、アクセス履歴(ファイルアクセスグループデータ234)に基づき、ストレージ装置105、ストレージ装置2(1611)およびストレージ装置3(1621)のいずれかのストレージ装置に格納される。
ただし、ストレージ装置105、ストレージ装置2(1611)、およびストレージ装置3(1621)のいずれにファイルデータ221が格納されていても、クライアント装置101のファイルアクセスプログラム201を用いるユーザは、同じディレクトリパスで検索できるように、ファイルサーバ103のファイルシステムが、ファイルデータ221の格納位置を管理している。
階層ストレージ管理装置1601は、図1に示すファイルアクセス情報管理装置106と同じシステム構成を備える。
階層ストレージ管理装置1601のマイグレーションプログラム1602は、ファイルデータ221のアクセス履歴(ファイルアクセスグループデータ234)を参照し、該ファイルデータ221を、ストレージ装置105、ストレージ装置2(1611)およびストレージ装置3(1621)のいずれかの適切な位置に格納する。
図19、図20に示すフローチャートおよび説明図に基づいて、マイグレーションプログラム1602による、ファイルデータ221のマイグレーション処理について説明する。
図19は、本発明の第3の実施形態のマイグレーション処理を示すフローチャートである。
マイグレーションプログラム1602は、図16Bの管理テーブル1402に基づいて、ファイルデータ221のファイルアクセスグループデータ234を参照し、同一のファイルデータ221に任意の値以上のアクセスがあるか否かを判定する(S1701)。任意の値以上のアクセスとは、例えば、3日間で作業時間3分以上、3日間で作業回数5回以上などユーザが任意に定める値である。
図19に示すフローチャートにおいて、マイグレーションプログラム1602は、作業時間に、対象とするファイルデータ221に関する、指定した期間における全てのファイルアクセスグループデータ234の操作時間の合計値を用いる。
また、マイグレーションプログラム1602は、作業回数に、対象とするファイルデータ221に関する、指定した期間における全てのファイルアクセスグループデータ234のデータ数の合計値を用いる。
マイグレーションプログラム1602は、前述の任意の数以上のアクセスがあるか否かに応じて、マイグレーション処理を実行する(S1702)。
任意の数以上のアクセスがない場合は、マイグレーションプログラム1602は、ストレージ装置105からストレージ装置2(1611)、ストレージ装置2(1611)からストレージ装置3(1621)の順に、ファイルデータ221の格納位置を変更する(S1704)。
任意の数以上のアクセスがある場合は、マイグレーションプログラム1602は、ストレージ装置3(1621)からストレージ装置2(1611)、ストレージ装置2(1611)からストレージ装置105の順に、ファイルデータ221の格納位置を変更する(S1702)。
このとき、マイグレーションプログラム1602は、管理テーブル703を参照して、マイグレーション対象のファイルデータ221に加えて、該ファイルデータ221に関連が高い他のファイルデータ221もマイグレーション対象に設定してもよい。
ここで関連が高いとは、マイグレーション対象となったファイルデータ221のファイルアクセスグループデータ234と、あらかじめ定めた閾値以上の関連度763をもつ他のファイルデータ221のファイルアクセスグループデータ234の組が、別に定められた任意の個数あることである。あるいは、共通の操作時間が別に定められた時間以上に長いことである。
例えば、図6Cに示した管理テーブル703において、マイグレーション対象となったファイルデータ221とそれに関連するファイルデータ221について、関連度763が0.8以上であるファイルアクセスグループID761と関連ファイルアクセスグループID762の組が、10個以上ある場合、関連が高いという。あるいは、関連度763が0.8以上である組の共通の操作時間が1時間以上である場合も関連が高い。
図20は、本発明の第3の実施形態のファイルデータの格納位置の管理テーブル1801の説明図である。
管理テーブル1801は、ファイルデータID1810、格納ストレージID1811、位置1812を含む。
マイグレーションプログラム1602は、ファイルデータ221のマイグレーション処理に応じて、ファイルサーバ装置103が保持するファイルデータ221の格納位置の管理テーブル1801を更新する(S1703)。
マイグレーションプログラム1602は、S1703において、ファイルデータ221の格納位置に対応して、格納しているストレージ装置のID(格納ストレージID1811)、および、デバイス名などの格納位置(位置1812)を更新する。
このとき、マイグレーションプログラム1602は、該ファイルデータ221と同時にマイグレーションした関連の高い他のファイルデータ221についても、格納しているストレージ装置のID(格納ストレージID1811)、および、デバイス名などの格納位置(位置1812)を更新する。
以上のように、本発明の第3の実施形態の情報システムは、ファイルサーバ装置103およびストレージ装置105に対応付けられて設置されたファイルアクセス情報管理装置106と、階層ストレージ管理装置1601からなり、階層ストレージシステム管理装置1602は、ファイルデータ221のマイグレーション時に、該ファイルデータ221に対して関連度の高い他のファイルデータ221も同時にマイグレーションする。
以上により、関連度の高い複数のファイルデータ221に対するアクセス性能を同じ性能に保つことができる。