JP5899587B2 - ファイルの検索方法、ファイル検索装置及びプログラム - Google Patents

ファイルの検索方法、ファイル検索装置及びプログラム Download PDF

Info

Publication number
JP5899587B2
JP5899587B2 JP2012150173A JP2012150173A JP5899587B2 JP 5899587 B2 JP5899587 B2 JP 5899587B2 JP 2012150173 A JP2012150173 A JP 2012150173A JP 2012150173 A JP2012150173 A JP 2012150173A JP 5899587 B2 JP5899587 B2 JP 5899587B2
Authority
JP
Japan
Prior art keywords
file
keyword
period
search
history information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012150173A
Other languages
English (en)
Other versions
JP2014013476A (ja
Inventor
健 直野
健 直野
幸久 藤田
幸久 藤田
隆雄 櫻井
隆雄 櫻井
知広 花井
知広 花井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012150173A priority Critical patent/JP5899587B2/ja
Publication of JP2014013476A publication Critical patent/JP2014013476A/ja
Application granted granted Critical
Publication of JP5899587B2 publication Critical patent/JP5899587B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の計算機からアクセスされる共有ファイルを検索する装置であって、特に、検索結果のファイル群を、ファイルを操作した者と、操作した期間の関連を解析して出力する検索装置に関する。
近年、共有ファイルを格納するファイルサーバが企業のオフィスにおいて広く利用されている。共有する人数や、ファイル数の増加に伴い、ファイル検索の使い勝手向上が、より一層、重要になっている。
一般に、ファイル検索では、ユーザがキーワードを入力すると、検索システムは、キーワードを含むファイル情報の一覧(ファイル名、ファイルサーバ上の場所(フルパス)、作成・更新者名、作成・更新日時、ファイルを作成または更新したアプリケーション名など)を出力する。
しかし、上記従来のファイル情報の一覧は、出力ファイル数が、数十、数百を超えてしまうと、最も検索したいファイルにたどり着くことが非常に困難になる。いくつもの似たファイルを開けてみて、探したかったファイルかどうかを判断することになり、無関係なファイルの閲覧に長い時間がかかり、業務効率は著しく低下してしまう。そこで、キーワードだけの検索ではなく、ファイル操作情報を元に、ファイルの重要度を計算し、重要度の順に表示する方法(特許文献例1)が開示されている。また、ファイル間の関連度を計算し、関連度が高い検索結果を表示する方法(特許文献2)も提案されている。
特開2007−183864号公報 特開2011−81472号公報
ここで、キーワードを含むファイルを検索し、ファイルの作成または更新に関与したユーザと、ファイルが作成または更新された期間または時期を特定する場合、前記特許文献1では、キーワードを含むファイルは求まるが、重要度は、ファイルを操作した期間や、操作したユーザで変化してしまうため、ファイルの作成または更新に関与したユーザと期間を特定するのは難しい、という問題があった。
一方、前記特許文献2では、ファイルの操作履歴に基づいて、各ファイル間の関連度を算出し、算出された関連度からファイルに関連するユーザを特定することはできるが、ユーザが当該ファイルに関与した期間や時期を表すことができない、という問題があった。
そこで、本発明は上記問題点に鑑みてなされたもので、キーワードを含むファイルを検索し、ファイルの作成または更新に関与したユーザを時系列で特定することを目的とする。
本発明は、プロセッサとメモリを備えた計算機で記憶部に格納されたファイルを検索するファイルの検索方法であって、前記計算機が、前記ファイルに対する操作の日時と、前記操作を行ったユーザとを操作履歴情報として前記記憶部に格納する第1のステップと、前記計算機が、キーワードを含む検索要求を受け付ける第2のステップと、前記計算機が、キーワードを含むファイルを前記記憶部から取得する第3のステップと、前記計算機が、前記取得したファイルに関連する前記操作履歴情報を前記記憶部から取得する第4のステップと、前記計算機が、前記取得した操作履歴情報から前記キーワードを含むファイルの操作に係わったユーザと、前記ファイルに対する操作の期間を算出する第5のステップと、前記計算機が、前記取得した操作履歴情報からファイルの関係量を算出する第6のステップと、前記計算機が、前記ファイルの関係量の大きさに基づいて、前記キーワードを含むファイルの操作に係わったユーザに順位を付与する第7のステップと、を含み、前記第2のステップは、前記検索要求としてキーワードに加えて分割数を含み、前記第6のステップは、前記取得したファイル毎の操作履歴情報から、前記ファイルに対する操作の期間を抽出してから、当該期間を前記分割数で分割する第8のステップと、前記分割した期間毎に前記ファイルの関連度を算出して、当該関連度から前記分割した期間毎のファイルの関係量を算出する第9のステップと、を含む
したがって、本発明は、キーワードを含むファイル群を抽出し、当該ファイル群に対して操作を行ったユーザと期間の関係を特定することができる。これにより、ファイルに対する操作によって潜在的に関係のあるファイルを抽出することができる。さらに、ファイルの関係量を演算することで、ファイルの操作に関連したユーザの順位付けを行うことができる。
本発明の第1の実施例を示し、ファイルサーバのデータを検索する計算機システムの一例を示すブロック図である。 本発明の第1の実施例を示し、検索サーバのサーチエンジンの一例を示す機能ブロック図である。 本発明の第1の実施例を示し、監視サーバが収集する操作ログの一例を示す図である。 本発明の第1の実施例を示し、検索サーバが生成するファイルシーケンスマップの一例を示す図である。 本発明の第1の実施例を示し、検索サーバが生成するクラスタ毎のファイル関係量を最小化したファイルシーケンスマップの一例を示す図である。 本発明の第1の実施例を示し、検索サーバが生成するクラスタのランキングテーブルの一例を示す図である。 本発明の第1の実施例を示し、単語の一致と不一致によるファイル間の関連度の計算の一例を示す図である。 本発明の第1の実施例を示し、単語の一致と不一致によるファイル間の関連度の計算の一例を示し、特定の文字に重み付けを加えた場合の図である。 本発明の第1の実施例を示し、図形の一致と不一致によるファイル間の関連度の計算の一例を示す図である。 本発明の第1の実施例を示し、図形と文字の一致と不一致によるファイル間の関連度の計算の一例を示す図である。 本発明の第1の実施例を示し、クラスタ毎のファイル関係量の演算の一例を示す図である。 本発明の第1の実施例を示し、検索サーバで行われるファイルシーケンスマップを生成する処理の一例を示すフローチャートである。 本発明の第1の実施例を示し、検索サーバで行われるクラスタのランキングテーブルを生成する処理の一例を示すフローチャートである。 本発明の第2の実施例を示し、検索サーバが生成するファイルシーケンスマップと組織図を組み合わせた図の一例を示す。 本発明の第3の実施例を示し、検索サーバが生成するファイルシーケンスマップの一例を示し、クラスタと期間の差分を抽出する例である。 本発明の第3の実施例を示し、検索サーバが生成するファイルシーケンスマップの一例を示し、クラスタと期間の差分を抽出する例である。 本発明の第4の実施例を示し、NASのデータを検索する計算機システムの一例を示すブロック図である。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明の第1の実施例示し、ファイルサーバのデータを検索サーバで検索する計算機システムの一例を示すブロック図である。図1の計算機システムは、複数のクライアント計算機(図中Client Computer)40がネットワーク50を介してファイルサーバ(図中File Server)20と検索サーバ(図中Search Server)10と監視サーバ(図中Monitoring Server)30に接続される。
複数のクライアント計算機40がファイルサーバ20上にファイル(図中Files)200を新規作成するか、既存のファイル200にアクセスして、参照または更新する。また、クライアント計算機40は検索サーバ10に対してキーワードを送信し、ファイルサーバ20のファイル200の検索を要求する。監視サーバ30は、クライアント計算機40で稼働する監視エージェント46からユーザがファイル200に対して行った操作の履歴を受信し、操作ログ(図中Operation Log)300として蓄積する。
クライアント計算機40は、演算を行うプロセッサ41と、データやプログラムを保持するメモリ42と、ネットワーク50に接続されるネットワークインターフェース(図中NW/IF)43とを備える。なお、クライアント計算機40には、図示しない入力装置と出力装置(または表示装置)が備えられている。
メモリ42には、OS(オペレーティングシステム)45と、アプリケーション47と、監視エージェント46がロードされて、それぞれプロセッサ41で実行される。アプリケーション47は、例えば、ファイルサーバ20のファイル200に対してコピーやペーストあるいは編集を行って更新したり、新たなファイル200を作成してファイルサーバ20に格納する。そして、OS45またはアプリケーション47は、検索サーバ10に対してキーワードを含む検索要求を送信し、所望のファイル200をファイルサーバ20から取得する。監視エージェント46は、クライアント計算機40のユーザがファイル200に対して行った操作を記録し、監視サーバ30に送信する。
ファイルサーバ20は、演算を行うプロセッサ21と、データやプログラムを保持するメモリ22と、ネットワーク50に接続されるネットワークインターフェース(図中NW/IF)23と、ファイル200を格納するストレージ装置24を備える。メモリ22には、OS25がロードされてプロセッサ21によって実行される。OS25は、クライアント計算機40や検索サーバ10からの要求に基づいてファイル200の読み出しや格納を実行する。
監視サーバ30は、演算を行うプロセッサ31と、データやプログラムを保持するメモリ32と、ネットワーク50に接続されるネットワークインターフェース(図中NW/IF)33と、操作ログ300を格納するストレージ装置34を備える。メモリ32には、OS35と監視マネージャ36がロードされてプロセッサ31によって実行される。監視マネージャ36は、クライアント計算機40の監視エージェント46が検出したファイル200に対する操作を受信し、操作ログ300としてストレージ装置34へ格納する。また、監視マネージャ36は、検索サーバ10の読み出し要求に基づいて操作ログ300を抽出し、検索サーバ10に応答する。
検索サーバ10は、演算を行うプロセッサ11と、データやプログラムを保持するメモリ12と、ネットワーク50に接続されるネットワークインターフェース(図中NW/IF)13と、検索インデックス(図中Search Index)400とファイルシーケンスマップ(図中File Sequence Map)500を格納するストレージ装置14を備える。メモリ12には、OS15とサーチエンジン16がロードされてプロセッサ11によって実行される。
サーチエンジン16は、クライアント計算機40からの検索要求に応じて、ファイルサーバ20からファイル200を取得し、これらのファイル200に関する操作ログ300を監視サーバ30から取得して、後述するように、ファイルシーケンスマップ500を生成してクライアント計算機40に応答する。また、検索サーバ10は、クライアント計算機40からの検索要求にクラスタ毎のランキングが含まれる場合には、クラスタランキングテーブル600を生成し、クライアント計算機40に応答する。
ここで、図2は、サーチエンジン16の構成の一例を示す機能ブロック図である。サーチエンジン16は、ファイルシーケンスマップ500を生成するマップ演算部161と、検索要求にクラスタのランキングが含まれる場合にクラスタランキングテーブル600を生成するクラスタランキング生成部162から構成される。
マップ演算部161は、クライアント計算機40から検索要求に含まれるキーワードと分割(クラスタ)数とを受け付けると、まず、キーワードを含むファイル200をファイルサーバ20から検索して取得する。この検索は、予め設定したサーチインデックス400を用いてキーワードを含むファイル200を抽出するなど、周知または公知の手法を適用すれば良いので、ここでは詳述しない。なお、分割数は、後述する期間の分割数とすることができる。
次に、マップ演算部161は、キーワードを含むファイル200の操作ログ300を監視サーバ30から取得する。そして、ファイル200毎に操作(コピーやペーストまたはメールでの授受など)を行ったユーザを時系列で集計して、ファイル200が操作された期間と、ファイル200を操作したユーザの関係を示すファイルシーケンスマップ500A(図5)を後述するように生成し、クライアント計算機40へ送信し、クライアント計算機40の出力装置等に出力する。
検索要求にクラスタのランキングが含まれる場合に実行されるクラスタランキング生成部162は、生成されたファイルシーケンスマップ500を読み込んで、クラスタランキングテーブル600を生成する。このクラスタランキングテーブル600は、後述するように、検索要求で与えられたクラスタ数について、各クラスタに含まれるユーザの数が多く、ファイルを操作した期間が長いクラスタほど上位に順位付けされる。
ここで、プロセッサ11は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ11は、マップ演算プログラムに従って動作することでマップ演算部161として機能する。他のプログラムについても同様である。さらに、プロセッサ11は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
サーチエンジン16の各機能を実現するプログラム、テーブル等の情報は、ストレージ装置14や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図3は、監視サーバ30が収集する操作ログ300の一例を示す図である。操作ログ300は、複数のクライアント計算機40の監視エージェント46から送信されたファイル200に対する操作の履歴である。操作ログ300の一例としては、ファイル200への操作を行った日付と時刻を格納する日時(Date_Time)301と、当該操作を行ったユーザの名称または識別子を格納するユーザ名(User Name)302と、ファイル操作の種類(生成または更新)を格納する操作(Operation)303と、ファイル200の名称を格納するファイル名(File Name)304と、当該ファイル200の編集に関する操作の種類(コピーアンドペースト、ファイル編集など)を格納する編集操作(図中with-operation)305と、編集操作で関連したファイルの名称を格納する関連ファイル(Relative File)306と、当該ファイル200と関連ファイル306が類似する度合を格納する関連度(Similarity)307から一つのエントリが構成される。
ここで関連度307は、コピーアンドペースト等で編集操作の元となったファイル200に対する、当該ファイル200の同一性に基づく値である。
ここで、サーチエンジン16で行われる、関連度の演算の一例を図7に示す。図7は、ファイル中の単語の一致と不一致によるファイル間の関連度の計算の一例を示す図である。図7において、コピー元になる関連ファイルを200sとし、生成または更新するファイルを200dとする。関連度の演算は、例えば、マップ演算部161がファイル200sの単語と、編集後のファイル200dの単語が一致する数を、不一致の数と一致する数の和で除した値を関連度とする。図示のように、単語の一致が11個、単語の不一致が1個の場合、
関連度=11/(11+1)=91.7%
となる。
単語の一致または不一致は、例えば、予め設定した特定の単語について、編集前のファイル200sの出現位置に、編集後のファイル200dで前記出現位置に特定の単語が出現していれば、単語が一致し、出現していなければ単語が不一致と判定してもよい。なお、単語の関連度の演算については、複数のファイルの類似度を抽出する値を用いればよいので、上記に限定されるものではなく、周知または公知の手法を適用することができる。
図8は、単語の一致と不一致によるファイル間の関連度の計算の一例を示し、特定の文字に重み付けを加えた場合の図である。上記図7と同様に、コピー元になる関連ファイル200sと、生成または更新する編集後のファイル200dで単語の関連度を演算する際に、特定の単語に重み付けを行う例を示す。図示の例では、特定の単語「K」が出現した場合には、2倍の重みを付与する例を示す。
図示の例では、関連ファイル200sと、編集後のファイル200dで特定の単語「K」が3個一致し、特定の単語「K」以外が8個一致し、不一致の単語が1個であった場合を示す。この場合、3個一致した特定の単語「K」のは2倍の重みが付与されるので、
関連度=(8+3×2)/(8+3×2+1)=93.3%
となる。
図9は、ファイル中の図形の一致と不一致によるファイル間の関連度の計算の一例を示す図である。図9において、上記図7と同様に、コピー元になる関連ファイル200sと、生成または更新する編集後のファイル200dで図形の関連度を演算する際に、一致する図形面積と、不一致となる図形の面積で関連度を演算する。コピー元の関連ファイル200sで出現する図形と、前記出現位置で編集後のファイル200dに出現する図形が一致するか否かを判定する。なお、図形の一致、不一致の判定及び図形の面積の演算については、周知または公知の手法を適用すれば良いので、ここでは詳述しない。
図示の例では、図形が一致した面積が9.5平方センチ、図形が不一致の面積が0.5平方センチであるので、
関連度=9.5/(9.5+0.5)=95%
となる。
なお、図形の比較は、特定の図形について行っても良いし、単語と同じく、特定の図形に重みを付与しても良い。
図10は、ファイル中の単語の一致と不一致と図形の一致と不一致を組み合わせたファイル間の関連度の計算の一例を示す図である。図10において、上記図7と同様に、コピー元になる関連ファイル200sと、生成または更新する編集後のファイル200dで単語と図形の関連度を演算する際に、単語と図形に重み付けを行って関連度を演算する。なお、単語については、上記図7と同じく一致または不一致の数で関連度を求め、図形については、上記図9と同じく一致または不一致の面積で関連度を求める。図示の例では、図形の重み付けパラメータ(係数)=0.3とし、単語の重み付けパラメータ(係数)=0.7とした例を示す。上記図7、図9と同じく、単語の一致が11個、不一致が1個、図形の一致が9.5平方センチ、不一致が0.5平方センチの例では、
関連度=0.3(11/12)+0.7(9.5/10)=94%
となる。
図4は、検索サーバが生成するファイルシーケンスマップの一例を示す図である。検索サーバ10のサーチエンジン16のマップ演算部161では、クライアント計算機40から受け付けたキーワードでファイルサーバ20からファイル200を抽出する。そして、サーチエンジン16は、抽出したファイル200について監視サーバ30から操作ログ300を取得し、ファイル200に操作を行った時期とユーザを特定する。
次に、サーチエンジン16は、図4で示すように、ファイル200を操作したユーザ名を縦軸に配置し、ファイル200の名称と作成日や更新日を横軸に配置した表を作成する。図示の例では、ファイル200の編集期間を7/1〜8/26までで、一週間単位で表示した例を示す。なお、ファイルシーケンスマップ500で表示する期間は、検索要求に含めるようにしても良い。検索サーバ10のサーチエンジン16では、操作ログ300の関連ファイル306を起点として当該ファイル名304までの矢印が付与されたファイルシーケンスマップ500を表示する画面を生成してクライアント計算機40へ送信する。
図示の例では、7/1の週に「Mr.GG」によってファイル「AAA.ppt」が編集または作成され、このファイル「AAA.ppt」は「Mr.GG」によって7/15の週まで編集される。そして、ファイル「AAA.ppt」を関連ファイルとして、7/8の週に「Mr.HH」によってファイル「BBB.ppt」が編集または作成され、このファイルを元に7/15の週にファイル「CCC.doc」が「Mr.HH」によって編集または作成されたことを示す。
その後、「Mr.AA」は7/22の週にファイル「CCC.doc」を元に、ファイル「DDD.doc」を編集または作成し、続いて、「Mr.YY」は8/5の週にファイル「DDD.doc」を編集した後に、8/12の週にファイル「PPP.txt」を編集または作成したことを示す。さらに、ファイル「DDD.doc」は、8/12の週に「Mr.CC」によって編集された後、「Mr.YY」はこのファイル「DDD.doc」を元にファイル「FFF.doc」を8/19の週に編集したことを示している。
このように、ファイルシーケンスマップ500は、ある期間に編集されたファイル群とユーザの関連を時系列的に示すことができる。
次に、サーチエンジン16のマップ演算部161は、図4のファイルシーケンスマップ500で得られたファイル群について、縦軸のユーザの順序を入れ替えて、ファイル間の関係を示す距離=矢印の長さの最大値が最小になるユーザの順序を演算する。ここで、ファイル間の関係を示す矢印の長さを関係量とすると、図4のファイルシーケンスマップ500の関係量の最大値を最小化する処理(以下、関係量最小化処理という)を、マップ演算部161が実行する。その後、マップ演算部161は、関係量の最大値を最小化したファイルシーケンスマップ500で、検索要求に含まれるクラスタ数に分割する。
ここで、マップ演算部161が行う処理の一例を以下に詳述する。図12は、サーチエンジン16のマップ演算部161で行われるファイルシーケンスマップを生成する処理の一例を示すフローチャートである。
まず、ステップS1では、マップ演算部161が検索要求に含まれるキーワードと分割数(クラスタ数)を受け付ける。次に、ステップS2で、マップ演算部161は、ファイルサーバ20からキーワードを含むファイル200を抽出する。ステップS3で、マップ演算部161は、抽出したファイル200の情報(ファイル名)を含む操作ログ300を監視サーバ30から抽出する。ステップS4では、マップ演算部161は、抽出された操作ログ300からファイル200を操作した期間と、ユーザを抽出する。
次に、ステップS5で、マップ演算部161は、抽出したユーザを所定の順序(例えば、アルファベット順)でソートした後、抽出された操作の期間で、ファイルと関係量を示す矢印を配置したファイルシーケンスマップ500を設定する。この結果、図4で示すファイルシーケンスマップ500が生成される。
ステップS6で、マップ演算部161は、受け付けた分割数で操作の期間を分割し、分割した期間内で操作を行ったユーザとファイルをクラスタとして設定する。そして、マップ演算部161はクラスタ毎にファイル間の関係量の演算を行う。なお、期間の分割は、初期値として、当分や所定の比率など、予め設定した比率で行えば良い。
図11は、マップ演算部161が行うクラスタ毎のファイル関係量の演算の一例を示す図である。マップ演算部161は、分割数として3を受け付けた場合、図4のファイル群を操作した期間を分割し、例えば、図5で示すファイルシーケンスマップ500Aのように、7/1〜7/21、7/22〜8/4、8/5〜8/26のように3つのクラスタ701〜703に分割する。1つめのクラスタ701では、ユーザは2人(Mr.GG、HH)で、操作したファイル群は、ファイル「AAA.ppt」、「BBB.ppt」、「CCC.doc」の3つである。
ここで、マップ演算部161は、ファイルを操作した日数の2乗の値と、ユーザの距離(縦軸方向の人数)の2乗の値の和を求める。そして、マップ演算部161は、ファイル間の関連度307を2乗した値を、前記和で除した値をファイル関係量の要素として求める。マップ演算部161はクラスタ内の全てのファイル間についてファイル関係量の要素を算出して、各要素の総和を算出する。そして、マップ演算部161はこの要素の総和の平方根を、クラスタのファイル関係量として算出する。
図11のクラスタ701の例では、「Mr.GG」が操作したファイル「AAA.ppt」のファイル関連度307は89%、ファイルの操作期間(図中ファイル期間数)は16日で、ファイル「AAA.ppt」を編集したのは「Mr.GG」だけであるので、ユーザの距離は0となり、ファイル「AAA.ppt」について、ファイル関係量の要素は、
0.892/(162+02
となる。
マップ演算部161は、ファイル「BBB.ppt」とファイル「CCC.doc」についてもそれぞれファイル関係量の要素を求め、各要素の総和の平方根を当該クラスタのファイル関係量として演算する。
次に、ステップS7では、各クラスタの期間の分割位置と、ユーザの順序を変更して、クラスタ毎のファイル関係量の総和が最小になる組み合わせを算出する。期間の分割位置の変更と、ユーザの順序を変更して、3つのクラスタ701〜703のファイル関係量が最小となるファイルシーケンスマップ500の組み合わせは、図5で示すファイルシーケンスマップ500Aのように算出される。このファイル関係量の最小化処理の結果、ファイル間の関係を示す距離の最大値が最小になるユーザの順序と、各クラスタのファイル関係量が最小となる期間の分割位置が算出される。
これにより、検索サーバ10は、受け付けたキーワードを含むファイル200について、ファイルが操作された期間と、ユーザを特定し、さらに、ファイル間のコピーペーストや添付などの操作の連鎖を矢印によって表示することができる。これにより、ファイル間の関係と、ユーザの関係を時系列的に把握することができる。
また、図11のクラスタ内で関係のあるファイル間を接続する線は、関連度の大きさに応じて線幅を拡大した。これにより、クライアント計算機40のオペレータは、線幅の太さで関連度の大小を容易に把握することができる。
図6は、クラスタランキング生成部162が生成するクラスタランキングテーブル600の一例を示す図である。クラスタランキングテーブル600は、マップ演算部161が算出したクラスタ毎のファイル関係量の大きい順にクラスタをソートして、各クラスタの構成要素を記載したテーブルである。
クラスタランキングテーブル600は、順位601と、クラスタに含まれるユーザ名を格納するクラスタ(人)602と、ファイルを操作した期間を格納するクラスタ(期間)603と、操作対象のファイル200の名称を格納するファイル名604とからひとつのエントリが構成される。
図6において、第1位は図5に示した2つめのクラスタ702で、クラスタのファイル関係量が最大であることを示す。第2位は、図5に示した1つめのクラスタ701で、第3位は、図5に示した3つめのクラスタ703である。
図13は、サーチエンジン16で行われるクラスタランキングテーブル600の生成処理の一例を示すフローチャートである。
ステップS11では、マップ演算部161がキーワードと分割数(クラスタ数)を受け付けて図12のステップS2〜S5で示した処理を実行し、図4に示したファイルシーケンスマップ500を生成する。
次に、ステップS12では、マップ演算部161が図12のステップS6〜S7で示す処理を実行し、各クラスタのファイル関係量が最小となる期間の分割位置と、ユーザの順位を演算し、図5に示したようなファイル関係量の最小化後のファイルシーケンスマップ500Aを生成する。
次に、ステップS13では、クラスタランキング生成部162が、図5のクラスタ701〜703のファイル関係量を取得して、ファイル関係量の大きい順に各クラスタに順位601を付与し、クラスタランキングテーブル600を生成する。クラスタランキング生成部162は、ファイル関係量最小化後のファイルシーケンスマップ500Aから各クラスタのファイル関係量を取得し、大小関係を判定して順位付けを実行する。そして、クラスタランキング生成部162は、各クラスタの構成要素(ユーザ名、期間、ファイル名)を取得してクラスタランキングテーブル600を生成する。クラスタランキング生成部162は生成したクラスタランキングテーブル600をクライアント計算機40へ送信する。クライアント計算機40は、図示しない出力装置にクラスタランキングテーブル600を表示することができる。
以上のように、本実施例1によれば、クライアント計算機40は、検索サーバ10へ入力したキーワードを含むファイル群を抽出し、当該ファイル群に対して操作を行ったユーザと期間の関係を特定し、図5のファイルシーケンスマップ500Aとして表示することができる。これにより、コピーやペーストあるいは電子メールへの添付などの操作によって潜在的に関係のあるファイル200を抽出することができる。そして、潜在的に関係のあるファイルの関連度307により、ファイル200間の関係の大きさをクライアント計算機40のオペレータに提供することができる。特に、図11で示したように、関係のあるファイル間を接続する線は、関連度の大きさに応じて線幅を拡大した。これにより、クライアント計算機40のオペレータは、線幅の太さで関連度の大小を容易に把握することができる。
そして、ファイルシーケンスマップ500Aとクラスタランキングテーブル600からは、キーワードから抽出されたファイル群について、操作が行われた期間と、操作に加わったユーザと、操作によるファイルの関係を特定することができる。これにより、ファイル200の証拠性を担保したり、ファイルを操作すべきではないユーザの特定を実現することができる。
図14は、第2の実施例を示し、前記第1の実施例にユーザが所属する組織図800の情報を加えたもので、その他の構成は前記第1の実施例と同様である。図14は、前記第1の実施例の図5に示した関係量最小化後のファイルシーケンスマップ500Aと組織図800を合わせて表示する画面850をサーチエンジン16が生成して、クライアント計算機40へ送信する例を示す。なお、組織図800は、予め検索サーバ10のストレージ装置14に格納されている。
サーチエンジン16のマップ演算部161は、図14で示すように、ファイルシーケンスマップ500Aのユーザの順位と組織図800の位置を組み合わせて表示する画面850を生成する。画面850では、ファイルシーケンスマップ500Aのユーザ501に表示されるユーザ名と、組織図800の社員名801が一致するものについて、ユーザ501の位置と社員名801の位置を矢印にて接続する。この画面850により、ファイルシーケンスマップ500Aのユーザ501が、組織図800上の何れの部署の社員であるかを容易に特定することが可能となる。なお、同姓のユーザ名の場合には、社員コードなどのユニークな識別子で、ファイルシーケンスマップ500Aのユーザ501と、組織図800の社員名801の関係を設定すればよい。
上記実施例2では、ファイルを操作したユーザ501について組織図800上のユーザ(社員)の距離と、操作したファイル(ファイルシーケンスマップ500A)に関するユーザの距離とを容易に比較することができる。ここで、組織図800上のユーザ(社員)の距離は、部署の違いに関する距離とし、操作したファイルに関するユーザの距離は、ファイルシーケンスマップ500Aのユーザ501の縦軸方向の距離とする。
図15、図16は、第3の実施例を示し、前記第1の実施例のキーワードを複数受け付けて、ファイルシーケンスマップ500Aの差分を出力する例を示す。検索サーバ10が複数のキーワードを受け付ける以外は、前記第1の実施例と同様の構成である。
第3の実施例では、サーチエンジン16が複数のキーワードを受け付けて、複数のファイルシーケンスマップ500Aを生成する。そして、複数のファイルシーケンスマップ500Aの差分を抽出して表示する。
サーチエンジン16が、クライアント計算機40から検索要求として、キーワード=”A”とキーワード=”B”の2つのキーワードを受け付けた例を示す。サーチエンジン16のマップ演算部161は、キーワード=”A”について前記実施例1の図12のフローチャートに従って、図15に示すファイルシーケンスマップ500Aを生成する。
次に、マップ演算部161は、キーワード=”B”について前記実施例1の図12のフローチャートに従って、図16に示すファイルシーケンスマップ500AAを生成する。
マップ演算部161は、生成した2つのファイルシーケンスマップ500A、500AAから差分を抽出して、強調表示する。本例では、期間7/22〜8/4で異なるユーザがファイル「DDD.doc」を操作した部分が差分として抽出される。
例えば、図15の例では、キーワード=”A”のファイルシーケンスマップ500Aで、7/22〜8/4の期間のユーザ「Mr.AA」と「Mr.RR」が枠712で囲まれて強調される。図16の例では、キーワード=”B”のファイルシーケンスマップ500AAで、7/22〜8/4の期間のユーザ「Mr.SS」と「Mr.AA」が枠713で囲まれて強調された画面を生成する。
このように、マップ演算部161は、複数のキーワードを受け付けた場合には、ファイルシーケンスマップ500Aの差分を抽出して、差異のある部分を強調することができる。なお、差分の抽出はクラスタ単位で行っても良い。
図17は、第4の実施例を示し、前記第1の実施例のファイルサーバ20と、監視サーバ30をNAS(Network Attached Storage)60にまとめたもので、その他の構成は前記実施例1と同様である。
NAS60は、演算を行うプロセッサ61と、データやプログラムを保持するメモリ62と、ネットワーク50に接続されるネットワークインターフェース(図中NW/IF)63と、ファイル200及び操作ログ300を格納するストレージ装置64を備える。
メモリ62には、OS65と監視マネージャ36がロードされてプロセッサ61によって実行される。監視マネージャ36は、前記実施例1と同様であり、クライアント計算機40の監視エージェント46が検出したファイル200に対する操作を受信し、操作ログ300としてストレージ装置64へ格納する。また、監視マネージャ36は、検索サーバ10の読み出し要求に基づいて操作ログ300を抽出し、検索サーバ10に応答する。OS65は、クライアント計算機40や検索サーバ10からの要求に基づいてファイル200の読み出しや格納を実行する。
以上のように、ファイルサーバ20や監視サーバ30に代わってNAS60で運用することも可能である。この場合、検索サーバ10は、NAS60をファイル200と操作ログ300を格納する記憶部として利用する。なお、検索サーバ10と、ファイルサーバ20及び監視サーバ30をひとつの計算機にまとめても良い。
10 検索サーバ
11 プロセッサ
12 メモリ
16 サーチエンジン
20 ファイルサーバ
30 監視サーバ
161 マップ演算部
162 クラスタランキング生成部
200 ファイル
300 操作ログ
500、500A ファイルシーケンスマップ
600 クラスタランキングテーブル

Claims (13)

  1. プロセッサとメモリを備えた計算機で記憶部に格納されたファイルを検索するファイルの検索方法であって、
    前記計算機が、前記ファイルに対する操作の日時と、前記操作を行ったユーザとを操作履歴情報として前記記憶部に格納する第1のステップと、
    前記計算機が、キーワードを含む検索要求を受け付ける第2のステップと、
    前記計算機が、キーワードを含むファイルを前記記憶部から取得する第3のステップと、
    前記計算機が、前記取得したファイルに関連する前記操作履歴情報を前記記憶部から取得する第4のステップと、
    前記計算機が、前記取得した操作履歴情報から前記キーワードを含むファイルの操作に係わったユーザと、前記ファイルに対する操作の期間を算出する第5のステップと、
    前記計算機が、前記取得した操作履歴情報からファイルの関係量を算出する第6のステップと、
    前記計算機が、前記ファイルの関係量の大きさに基づいて、前記キーワードを含むファイルの操作に係わったユーザに順位を付与する第7のステップと、
    を含み、
    前記第2のステップは、
    前記検索要求としてキーワードに加えて分割数を含み、
    前記第6のステップは、
    前記取得したファイル毎の操作履歴情報から、前記ファイルに対する操作の期間を抽出してから、当該期間を前記分割数で分割する第8のステップと、
    前記分割した期間毎に前記ファイルの関連度を算出して、当該関連度から前記分割した期間毎のファイルの関係量を算出する第9のステップと、
    を含むことを特徴とするファイルの検索方法。
  2. 請求項1に記載のファイルの検索方法であって、
    前記第6のステップは、
    前記取得したファイル毎の操作履歴情報から、操作対象のファイルと当該ファイルに関係するファイルの関連度を算出し、前記各ファイルの関連度から前記ファイルの関係量を算出することを特徴とするファイルの検索方法。
  3. 請求項1に記載のファイルの検索方法であって、
    前記第9のステップは、
    前記分割した期間毎に前記ファイルの関連度を算出して、当該関連度から前記分割した期間毎のファイルの関係量を算出し、前記分割した期間毎に前記ファイルの関係量が最小となる前記期間の分割位置と前記ユーザの順位を算出することを特徴とするファイルの検索方法。
  4. 請求項1に記載のファイルの検索方法であって、
    前記計算機が、前記キーワードを含むファイルの操作に係わったユーザが所属する組織図の位置を関連付ける第10のステップと、
    をさらに含むことを特徴とするファイルの検索方法。
  5. 請求項に記載のファイルの検索方法であって、
    前記第6のステップは、
    ファイルの構成要素を取得し、前記ファイルの構成要素について予め重みを設定し、前記重み付けを行って前記ファイルの関連度を算出することを特徴とするファイルの検索方法。
  6. 請求項1に記載のファイルの検索方法であって、
    前記計算機が、前記キーワードを含むファイルと、前記ファイルに対する操作の期間と、前記キーワードを含むファイルの操作に係わったユーザを前記順位で表示する画面を生成する第11のステップと、
    をさらに含むことを特徴とするファイルの検索方法。
  7. プロセッサとメモリを備えた計算機で記憶部に格納されたファイルを検索するファイル検索装置であって、
    前記記憶部は、
    前記ファイルに対する操作の日時と、前記操作を行ったユーザとを操作履歴情報として格納し、
    前記計算機は、
    キーワードを含む検索要求を受け付けて、前記キーワードを含むファイルを前記記憶部から取得する検索部を有し、
    前記検索部は、
    前記取得したファイルに関連する前記操作履歴情報を前記記憶部から取得して、前記取得した操作履歴情報から前記キーワードを含むファイルの操作に係わったユーザと、前記ファイルに対する操作の期間を算出し、前記取得した操作履歴情報からファイルの関係量を算出する演算部と、
    前記ファイルの関係量の大きさに基づいて、前記キーワードを含むファイルの操作に係わったユーザに順位を付与するランキング生成部と、
    を備え、
    前記検索要求は前記キーワードに加えて分割数を含み、
    前記演算部は、
    前記取得したファイル毎の操作履歴情報から、前記ファイルに対する操作の期間を抽出してから、当該期間を前記分割数で分割し、前記分割した期間毎に前記ファイルの関連度を算出して、当該関連度から前記分割した期間毎のファイルの関係量を算出することを特徴とするファイル検索装置。
  8. 請求項7に記載のファイル検索装置であって、
    前記演算部は、
    前記取得したファイル毎の操作履歴情報から、操作対象のファイルと当該ファイルに関係するファイルの関連度を算出し、前記各ファイルの関連度から前記ファイルの関係量を算出することを特徴とするファイル検索装置。
  9. 請求項に記載のファイル検索装置であって、
    前記演算部は、
    前記分割した期間毎に前記ファイルの関連度を算出して、当該関連度から前記分割した期間毎のファイルの関係量を算出し、前記分割した期間毎に前記ファイルの関係量が最小となる前記期間の分割位置と前記ユーザの順位を算出することを特徴とするファイル検索装置。
  10. 請求項に記載のファイル検索装置であって、
    前記演算部は、
    前記キーワードを含むファイルの操作に係わったユーザが所属する組織図の位置を関連付けることを特徴とするファイル検索装置。
  11. 請求項に記載のファイル検索装置であって、
    前記演算部は、
    ファイルの構成要素を取得し、前記ファイルの構成要素について予め重みを設定し、前記重み付けを行って前記ファイルの関連度を算出することを特徴とするファイル検索装置。
  12. 請求項に記載のファイル検索装置であって、
    前記演算部は、
    前記キーワードを含むファイルと、前記ファイルに対する操作の期間と、前記キーワードを含むファイルの操作に係わったユーザを前記順位で表示する画面を生成することを特徴とするファイル検索装置。
  13. プロセッサとメモリを備えた計算機でファイルを検索するプログラムであって、
    前記ファイルに対する操作の日時と、前記操作を行ったユーザとを操作履歴情報として記憶部に格納する第1の手順と、
    キーワードを含む検索要求を受け付ける第2の手順と、
    前記キーワードを含むファイルを前記記憶部から取得する第3の手順と、
    前記取得したファイルに関連する前記操作履歴情報を前記記憶部から取得する第4の手順と、
    前記取得した操作履歴情報から前記キーワードを含むファイルの操作に係わったユーザと、前記ファイルに対する操作の期間を算出する第5の手順と、
    前記取得した操作履歴情報からファイルの関係量を算出する第6の手順と、
    前記ファイルの関係量の大きさに基づいて、前記キーワードを含むファイルの操作に係わったユーザに順位を付与する第7の手順と、
    を前記計算機に実行させ、
    前記第2の手順は、
    前記検索要求としてキーワードに加えて分割数を含み、
    前記第6の手順は、
    前記取得したファイル毎の操作履歴情報から、前記ファイルに対する操作の期間を抽出してから、当該期間を前記分割数で分割する第8の手順と、
    前記分割した期間毎に前記ファイルの関連度を算出して、当該関連度から前記分割した期間毎のファイルの関係量を算出する第9の手順と、
    を含むことを特徴とするプログラム。
JP2012150173A 2012-07-04 2012-07-04 ファイルの検索方法、ファイル検索装置及びプログラム Expired - Fee Related JP5899587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012150173A JP5899587B2 (ja) 2012-07-04 2012-07-04 ファイルの検索方法、ファイル検索装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012150173A JP5899587B2 (ja) 2012-07-04 2012-07-04 ファイルの検索方法、ファイル検索装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2014013476A JP2014013476A (ja) 2014-01-23
JP5899587B2 true JP5899587B2 (ja) 2016-04-06

Family

ID=50109131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012150173A Expired - Fee Related JP5899587B2 (ja) 2012-07-04 2012-07-04 ファイルの検索方法、ファイル検索装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5899587B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6617499B2 (ja) * 2015-09-29 2019-12-11 日本電気株式会社 情報処理装置、電子ホワイトボードの検索方法、及びプログラム
CN112100529B (zh) * 2020-11-17 2021-03-19 北京三快在线科技有限公司 搜索内容排序方法、装置、存储介质和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4952022B2 (ja) * 2005-07-11 2012-06-13 富士通株式会社 関連付けプログラム、関連付け方法、および関連付け装置
JP2007183864A (ja) * 2006-01-10 2007-07-19 Fujitsu Ltd ファイル検索方法及びそのシステム
JP2011086156A (ja) * 2009-10-16 2011-04-28 Toshiba Corp 漏洩情報追跡システムおよび漏洩情報追跡プログラム

Also Published As

Publication number Publication date
JP2014013476A (ja) 2014-01-23

Similar Documents

Publication Publication Date Title
US11163957B2 (en) Performing semantic graph search
US20210026811A1 (en) Generating file usage information
US20190004875A1 (en) Artificial Creation Of Dominant Sequences That Are Representative Of Logged Events
US11416278B2 (en) Presenting hypervisor data for a virtual machine with associated operating system data
AU2016369586B2 (en) Method and device for correlating multiple tables in a database environment
WO2013038489A1 (ja) 計算機システム、クライアント計算機の管理方法及び記憶媒体
US20120317112A1 (en) Operation log management system and operation log management method
JP2020533666A (ja) ゲノム・ファイルのためのコンテキスト・アウェア差分アルゴリズム
CN107704620B (zh) 一种档案管理的方法、装置、设备和存储介质
WO2014034383A1 (ja) 情報処理装置、レコード位置情報特定方法および情報処理プログラム
US9552415B2 (en) Category classification processing device and method
JP2019086940A (ja) 関連スコア算出システム、方法およびプログラム
JP5899587B2 (ja) ファイルの検索方法、ファイル検索装置及びプログラム
JP2016024486A (ja) データ活用システム及びその制御方法
US9256644B1 (en) System for identifying and investigating shared and derived content
CN108595552B (zh) 数据立方体发布方法、装置、电子设备和存储介质
JP2018109898A (ja) データマイグレーションシステム
CN113553425A (zh) 基于rpa和ai的数据汇聚方法、装置、设备及存储介质
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
JP2012043258A (ja) 検索システム、検索装置、検索プログラム、記録媒体及び検索方法
Kaporis et al. ISB-tree: A new indexing scheme with efficient expected behaviour
US20130262980A1 (en) Information processing apparatus, history control method, and computer-readable recording medium
JP2005056223A (ja) テキストデータ検索システム、その方法及びそのプログラム
JP2016153965A (ja) 検索システム及び検索方法
JP6100863B2 (ja) 広告特定装置、広告情報のデータ構造、広告特定方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160217

R150 Certificate of patent or registration of utility model

Ref document number: 5899587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees