JP5346549B2 - ファイル検索システム、及びファイル検索サーバ装置 - Google Patents

ファイル検索システム、及びファイル検索サーバ装置 Download PDF

Info

Publication number
JP5346549B2
JP5346549B2 JP2008277567A JP2008277567A JP5346549B2 JP 5346549 B2 JP5346549 B2 JP 5346549B2 JP 2008277567 A JP2008277567 A JP 2008277567A JP 2008277567 A JP2008277567 A JP 2008277567A JP 5346549 B2 JP5346549 B2 JP 5346549B2
Authority
JP
Japan
Prior art keywords
file
search
user
access authority
index
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
JP2008277567A
Other languages
English (en)
Other versions
JP2010108111A (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 Solutions Ltd
Original Assignee
Hitachi Solutions 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 Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2008277567A priority Critical patent/JP5346549B2/ja
Priority to US12/556,603 priority patent/US20100106709A1/en
Priority to EP09170173A priority patent/EP2182453A1/en
Publication of JP2010108111A publication Critical patent/JP2010108111A/ja
Application granted granted Critical
Publication of JP5346549B2 publication Critical patent/JP5346549B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices

Description

本発明は、ファイル検索システム、及びその一部を構成するファイル検索サーバ装置であって、検索対象ファイルについてのインデックスファイルを参照して指定されたファイルを検索するファイル検索システム、及びファイル検索サーバ装置に関するものである。
近年、情報のデジタル化が急速に進展している。かつては、銀行の口座や市町村の住民票等、企業・官公庁等のコンピュータシステムが基幹業務を実行するために参照するためのデータを、ファイルやDB(Data Base)に記憶するというのがデジタル化の中心だった。
一方、現在では、企業等の組織において日常業務で作成される各種の書類が、各従業員のクライアントPC(Personal Computer)に文書ファイルとして記憶され、電子メールの添付文書として他のクライアントPCに送信され、あるいは、組織全体の共有情報としてファイルサーバに記憶される。そして、ファイルサーバに記憶された文書ファイルは、さまざまな従業員により参照され、時にはクライアントPCに複製され、更新される。
このように、多量のデジタル情報がさまざまなコンピュータに分散記憶されると、組織内に重複あるいは類似した多数のデジタル情報が存在することになる。また、各デジタル情報の記憶容量も増大し続けている。
ところで、組織内において、例えば、既に退職した従業員がかつて作成した文書ファイルが必要になる等、記憶場所が不明なデジタル情報を参照したい場合が多々生ずる。このような場合、文書ファイル内に含まれているはずのキーワードやファイル作成者を指定し、指定キーワードを含む文書ファイル等を検索するという方法が広く行われている。
しかしながら、組織内の全てのコンピュータからデジタル情報を検索しようとすると、各従業員のクライアントPCにも全ての従業員からのアクセスを許可する必要があり、セキュリティ上好ましくない。このため、組織全体で共有すべきデジタル情報については所定のファイルサーバに記憶しておくということが、一般に行われている。
一方、文書ファイル等を所定のいくつかのファイルサーバに記憶させた場合、文書ファイルが必要になるたびにファイルサーバに記憶されている全てのファイルを検索しようとすると、ファイルIO(Input Output)等を行うための膨大な時間を必要とする。
このため、例えば特許文献1のように、ファイルサーバに記憶されているCSV(Comma Separated Values)ファイル等内の各レコードについて、記憶場所やキーワード等、検索に使用するための小容量の情報(インデックス情報)をインデックスファイルとして記憶するという技術が知られている。すなわち、インデックスファイルを作成することで、検索時に、各レコードについてのインデックス情報を1回のファイルIOで取得することが可能となり、各レコード等へのファイルIOを不要とすることができる。この結果、ファイル検索時のレスポンスタイムを短くすることができるとともに、ファイルサーバの負荷を軽減することができる。
特開2003−162545号公報
特許文献1に開示された技術は、1つのCSVファイル内の各レコードについてインデックスファイルを作成する技術であり、この技術を複数のファイルについてインデックスファイルを作成する技術に応用する場合、次のような問題が発生する。
すなわち、多くのコンピュータにおいては、1以上のフォルダ(ファイルシステムによっては「ディレクトリ」という場合もあるが、以降の説明においては「フォルダ」と記載する。)による階層構造を可能にし、いずれかのフォルダの中にファイルが存在するというファイルシステムを採用している。そして、フォルダおよびファイルそれぞれについて、当該コンピュータの利用者(以下「操作者」と記載する場合もある。)のうちのいずれに参照等を許可するかが定められている。
従って、複数のファイルについて、記憶場所やキーワード等、検索に使用するための小容量の情報(インデックス情報)をインデックスファイルとして作成し、インデックスファイルを参照して検索を行った場合、検索を行った利用者が参照を許可されていないファイルも検索結果として表示されてしまう。当該利用者が当該ファイルの内容を参照しようとする場合には、ファイルシステムによって参照が許可されていないと判定され、ファイルの内容を参照することができないとしても、参照が許可されていないファイルの存在や存在場所が知られてしまうことになり、セキュリティ上好ましくない。
この問題は、インデックスファイルを作成する際、各ファイルについて利用者のうちのいずれに参照等を許可するかについての情報(以下「ファイル(フォルダ)アクセス権限」といい、例えば参照については「ファイル(フォルダ)参照権限」という。)もインデックス情報の一部として記憶することによって解決可能であるかのように思える。
しかしながら、前述したように、多くのコンピュータにおいては、1以上のフォルダによる階層構造を可能にし、いずれかのフォルダの中にファイルが存在するというファイルシステムを採用しており、また、フォルダおよびファイルそれぞれについて、当該コンピュータの利用者のファイル(フォルダ)アクセス権限が定められている。従って、例えば”etc”フォルダ内に”file1”ファイルが存在し、利用者のうち”user1”は”file1”ファイルを参照可能だが、”etc”フォルダは参照できないということもありうる。単に”file1”ファイルのアクセス権限をインデックス情報の一部として記憶すると、この場合、検索時には”user1”が”file1”ファイル参照可能であると判定し、”file1”ファイルが検索結果として表示されてしまう。つまり、ファイルのアクセス権限はあるがその上位階層にあるフォルダのアクセス権限がない場合でも、フォルダ経由では当該ファイルにはアクセスできないが、サーチ結果に現れればファイルに直接アクセスはできてしまう。この場合、本来上位階層にあるフォルダにアクセス権限がないのであるから、ファイルにアクセス権限があってもアクセスできないようにするのがセキュリティ上好ましい。
本発明はこのような状況に鑑みてなされたものであり、ファイルサーバの負担を軽減しつつ、検索結果を利用者に提示する場合、利用者が全ての階層でアクセス権限を有する場合にのみファイルにアクセス可能とする仕組みを提供するものである。
上記課題を解決するために、本発明では、フォルダ階層構造を有し、各フォルダ、ファイルについてアクセス権限が設定されているファイルシステム下で、検索対象ファイルについて予めインデックスファイルを作成し、インデックスファイルを参照して指定されたファイルを検索する検索方法を採用する場合において、インデックスファイルを作成する際、各ファイルについての適切なファイルアクセス権限を設定することにより、検索結果として利用者が参照権限を有するファイルのみ表示するようにしている。
即ち、本発明は、ファイル検索サーバが検索要求基づいて検索を実行し、検索結果をクライアント装置に提示し、クライアント装置がファイルサーバから該当ファイルを取得するファイル検索システムに関する。ここで、ファイルサーバは、複数の検索対象ファイルを格納する検索対象ファイル格納部を備える。また、ファイル検索サーバは、複数の検索対象ファイルのインデックスファイルを格納するインデックスファイル格納部と、検索要求に従ってインデックスファイルに対して検索を実行する検索手段と、を備える。インデックスファイルは、前記検索対象ファイルのそれぞれに対するアクセス権限及び各ファイルが関連するフォルダに対するアクセス権限を全て考慮して生成されたファイルアクセス権限情報を含んでおり、ファイル検索サーバは、アクセス権限を有する利用者が操作するクライアント装置にのみ検索結果を提示する。より具体的に、ファイルアクセス権限情報は、全ての利用者に関して、検索対象ファイル及び当該ファイルが関連する全てのフォルダに対してアクセス権限を有するか否かを識別する情報によって構成されるか、或いは、検索対象ファイル及び当該ファイルが関連する全てのフォルダに対してアクセス権限を有する利用者条件を示す第1の情報と、アクセス権限を持たない利用者の条件を示す第2の情報によって構成されている。そして、第1の情報と第2の情報の論理積が当該ファイルに対するアクセス権限を有する利用者を表すものとなる。
ファイル検索サーバは、さらに、インデックスファイルを作成するインデックス作成手段を備える。この場合、インデックス作成手段は、ファイルサーバが有するシステムファイルであって、各フォルダ及び各ファイルについてのアクセス権限及び利用者を管理するための管理テーブルを含むシステムファイルを参照して、インデックスファイルを作成する。また、インデックス作成手段は、所定のタイミングで検索対象ファイル格納部を参照し、インデックスファイルを更新する。
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
本発明によれば、ファイルサーバの負担を軽減しつつ、利用者が全ての階層でアクセス権限を有する場合にのみ検索結果を提示することが可能なシステムを提供できる。従って、検索条件に合致するファイルであっても利用者にアクセス権限がなければ、存在の有無すら知られることがなくなり、よりセキュアなシステムが実現できるようになる。
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
本実施形態においては、「ファイル」とは、文書ファイル、表ファイル、電子メール、データベース、データベースに記憶された各レコード、プログラム等、情報処理装置に記憶される全ての種類・形式のデジタル情報のうち、「フォルダ」を除いたものを示す。また、「フォルダ」とは、ファイルや他のフォルダを管理するための階層構造を備えたデジタル情報であり、ファイルシステムによっては「ディレクトリ」という場合もある。
「利用者」または「操作者」とは、各コンピュータを利用または操作する者を示す。以降の説明においては、概ね「利用者」が実際にコンピュータを操作する場合に「操作者」と記載するが、用語としての意味の相違はない。
さらに、「ファイル(フォルダ)アクセス権限」とは、各ファイル(フォルダ)について利用者のうちのいずれに参照、書き込み、実行を許可するかを定めた情報を示し、アクセス権限の一部、例えば参照権限については「ファイル(フォルダ)参照権限」のように記載する。また、参照等のアクセス権限が許可されている場合、「アクセス権限を有する」というように記載する。
(1)第1の実施形態
<ファイル検索システムの構成>
図1は、本発明に係る第1の実施形態によるファイル検索システムの概略構成を示す図である。
当該ファイル検索システムは、クライアント3、ファイル検索サーバ6、およびファイルサーバ1を備え、それらを例えばLAN(Local Area Network)4等の有線又は無線の通信回線により通信可能に接続したシステムとなっている。ここで、クライアント3、ファイル検索サーバ6、ファイルサーバ1は1台ずつ図示しているが、それぞれ複数存在していてもよい。
また、図1においては、クライアント3、ファイル検索サーバ6、およびファイルサーバ1はLAN4によって互いに通信可能に接続されているが、接続方法はLANに限定されるものではなく、例えばWAN(Wide Area Network)やインターネットによって接続されていてもよい。
以上のような構成により、クライアント3はファイル検索サーバ6にファイル検索要求(以下「検索要求」と略記する。)を送信し、ファイル検索サーバ6は必要に応じてファイルサーバ1が記憶しているファイルの内容を参照するなどして検索を行い、クライアント3にファイル検索結果(以下「検索結果」と略記する。)を送信することができる。
クライアント3はPC等の装置であり、入力装置32、表示装置33および記憶装置5と通信可能に接続されている。入力装置32はキーボード、マウス等の装置であり、クライアント3の操作者は入力装置32を操作することで、クライアント3が実行するべき処理を指示することができる。すなわち入力装置32はクライアント3の入力手段として機能する。
表示装置(出力装置)33は液晶ディスプレイ、プリンタ等の装置であり、クライアント3が実行した処理の結果等を表示あるいは印刷出力する。すなわち表示装置33はクライアント3の表示手段および出力手段として機能する。記憶装置5は磁気ディスク等の装置であり、クライアント3に内蔵され又は外部接続される。記憶装置5と、図示していないがクライアント3の主記憶装置等は、クライアント3の記憶手段として機能する。
クライアント3は図示していないがCPU(Central Processing Unit)、主記憶装置等を備えている。CPUは、図1には示されていないが、記憶装置5に記憶されている検索要求プログラム等のプログラムを主記憶上にローディングし、その命令コードを実行することで各種の処理を実行する。以上のようなプログラム実行にかかわる技術は周知である。以降の説明および図面においては、プログラム実行に係る説明が煩雑になるのを避けるため、検索要求プログラムを検索要求手段というように、各種プログラムについてあたかもハードウェアが存在するかのように記載し、各手段が処理を実行するかのように記載する。なお、実際に各手段(例えば検索要求手段31)を電子装置または電子装置とファームウェアの組合せ等で構成することも可能である。
検索要求手段31は上述したように検索要求プログラムであり、クライアント3の操作者が入力装置32によって入力したファイル検索条件およびファイル検索指示(例えば、ファイル名が「会計ファイル」であるファイルを検索するように、という指示)を受けて、検索条件式を作成し、ファイル検索サーバ6に検索条件式を含む検索要求を送信する。また、ファイル検索サーバ6がクライアント3に送信した検索結果を受信し、表示装置33に表示する。
ファイルサーバ1はPC等の装置で構成され、記憶装置2と通信可能に接続されている。記憶装置2は磁気ディスク等の装置であり、ファイルサーバ1に内蔵され又は外部接続される。記憶装置2と、図示していないがファイルサーバ1の主記憶装置等は、ファイルサーバ1の記憶手段として機能する。
記憶装置2は、システムファイル21および検索対象ファイル22を記憶している。ここで、検索対象ファイル22とは記憶装置2に記憶されている特定のファイルを示しているのではなく、検索対象となりうる全てのファイルを要素とするファイル集合体のことである。従って、検索対象ファイル22は、記憶装置2に記憶されている全てのファイルであってもよいし、システムファイル等の機密性の高いファイルを除いた全てのファイルであってもよい。
システムファイル21は、図示していないが主としてファイルサーバ1のOS(Operating System)がコンピュータを管理するために使用するファイルの総称である。それには、例えば、ファイルサーバ1における各プロセスの実行状況を管理するファイル、ファイルサーバ1の利用者を管理するファイル、各フォルダや各ファイルについてのアクセス権限を管理するファイル等、多数のファイルが含まれる。システムファイル21のうち、第1の実施形態に直接関連するファイルについては、後述する(図2参照)。なお、よく知られているように、同様のファイルはクライアント3の記憶装置5、およびファイル検索サーバ6の記憶装置7にも存在するが、本発明の説明には不要であるため記載していない。
ファイルサーバ1は、ファイル管理手段11(ファイル管理プログラム)と、クライアント3と同様、図示していないがCPUと、主記憶装置等を備えている。CPUは、図示していないが、記憶装置2に記憶されているファイル管理プログラム等のプログラムを主記憶上にローディングし、その命令コードを実行することで各種の処理を実行する。以降の説明および図面においては、プログラム実行に係る説明が煩雑になるのを避けるため、ファイル管理プログラムをファイル管理手段11というように、各種プログラムについてあたかもハードウェアが存在するかのように記載し、各手段が処理を実行するかのように記載する。なお、実際に各手段(例えばファイル管理手段11)を電子装置または電子装置とファームウェアの組合せ等で構成することも可能である。
ファイル管理手段11は、記憶装置2に記憶されたファイルに対してIOを行う等の機能を有しており、OSの一部として実装されることが多い。
ファイル検索サーバ6はPC等の装置であり、記憶装置7と通信可能に接続されている。記憶装置7は磁気ディスク等の装置であり、ファイル検索サーバ6に内蔵され又は外部接続される。記憶装置7と、図示していないがファイル検索サーバ6の主記憶装置等は、ファイル検索サーバ6の記憶手段として機能する。
記憶装置7には、インデックスファイル71が記憶されている。インデックスファイル71は、ファイルサーバ1が記憶装置2内で管理するファイルについて、検索に使用するための比較的小容量の情報(インデックス情報)を記憶するファイルである。インデックスファイルの記憶内容等については、以降のファイル検索サーバ6の機能説明と合わせて説明する。
ファイル検索サーバ6は、インデックス作成手段61(インデックス作成プログラム)および検索手段62(検索プログラム)を備えている。
ファイル検索サーバ6はクライアント3と同様、図示していないがCPU、主記憶装置等を備えている。CPUは、図示していないが、記憶装置7に記憶されているインデックス作成プログラム等のプログラムを主記憶上にローディングし、その命令コードを実行することで各種の処理を実行する。以降の説明および図面においては、プログラム実行に係る説明が煩雑になるのを避けるため、インデックス作成プログラムをインデックス作成手段61というように、各種プログラムについてあたかもハードウェアが存在するかのように記載し、各手段が処理を実行するかのように記載する。なお、実際に各手段(例えばインデックス作成手段61)を電子装置または電子装置とファームウェアの組合せ等で構成することも可能である。
インデックス作成手段61は、例えば毎日同じ時刻等の所定のタイミングで、検索対象ファイル22を参照し、インデックスファイル71を作成する。前述したように、検索対象ファイル22は、ファイル検索サーバ6がクライアント3からの検索要求を受信した場合に、検索対象とすべきファイルであり、例えば記憶装置2に記憶されている全てのファイルであってもよいし、あるいは、特定のフォルダ内の全てのファイル等、記憶装置2に記憶されている一部のファイルであってもよい。
いずれの場合であっても、検索要求を受信するたびに検索対象ファイル22を参照して検索すると、そのたびに多数のファイルIOが発生する。
そこで、検索に要する時間を短縮するとともに検索によるファイル検索サーバ6およびファイルサーバ1の負荷増大を防止するために、検索対象ファイル22のファイル名、作成者等、検索条件として使用される可能性の高い、比較的小容量の情報(以下「インデックス情報」という)を、インデックスファイル71に記憶しておく。
例えば複数のインデックス情報を1ファイルにまとめて記憶することで、1回のファイルIOで複数のインデックス情報が参照できる。ファイル検索サーバ6はクライアント3からの検索要求を受信した場合に、まずインデックス情報を参照して、検索要求の検索条件式に合致するファイルが存在するか判定することができる。
なお、上記のように、インデックス情報を参照して検索する場合、インデックス情報作成後に検索対象ファイル22が削除されあるいは変更された場合(例えばファイル名が「会計ファイル」であるファイルについてインデックス情報が作成された後、当該ファイルが削除された場合)、検索対象ファイル22を検索した場合とは異なる検索結果が得られることになる(インデックス情報を参照すると「会計ファイル」が存在しているように見えるが、検索対象ファイル22には存在していない)。
そこで、前述したように、インデックス作成手段61は、例えば毎日同じ時刻等の所定のタイミングで処理を行うようにすることができる。このようにすることで、インデックスファイル71が定期的に更新され、検索対象ファイル22と大きく乖離することを防ぐことができる。
そして、インデックス作成手段61が処理を行うタイミングの間隔を短くすれば(例えば、1時間おきに処理を行う)、インデックスファイル71と検索対象ファイル22の乖離を、より小さくすることができる。ただし、インデックス作成手段61が処理を行うタイミングの間隔を短くするということは、検索対象ファイル22の全ファイルに対するIOが発生する間隔も短くなるということなので、ファイル検索サーバ6およびファイルサーバ1の性能等も考慮した上で、インデックス作成手段61が処理を行うタイミングの間隔を決める必要がある。つまり、ファイルサーバ1の負荷を過大にすることのないように更新間隔を決める必要がある。
例えば、ファイルサーバ1において、CPU使用率、一定時間におけるIO頻度等を常時監視するプログラムを走行させておき、CPU使用率、一定時間におけるファイルIO頻度等が所定値以下になった場合に、インデックス作成手段61を実行させるようにする等も、有効な方法である。
あるいは、検索対象ファイル22におけるファイルIOを常時監視するプログラムを走行させておき、検索対象ファイル22が更新等されるたびに、インデックスファイル71内の当該ファイルについてのインデックス情報を更新するようにしてもよい。あるいは、インデックスファイル71を作成、更新した後の検索対象ファイル22の更新等を記録しておき、更新等された検索対象ファイル22についてだけ、インデックスファイル71内の当該ファイルについてのインデックス情報を更新するようにしてもよい。このようにすることで、1回だけ全ての検索対象ファイル22についてインデックスファイル71を作成すれば、以降は更新されたファイルについてのみインデックスファイル71を更新すればよいので、ファイル検索サーバ6およびファイルサーバ1の負荷軽減を実現することができる。
<システムファイルの構成例>
図2は、第1の実施形態における、システムファイル21のうち、本発明の説明に直接必要なファイルを抜粋して示したデータ構成例を示す図である。具体的には、図2においては利用者を管理するためのファイル210(以下「利用者管理テーブル210」という。)と、ファイルおよびフォルダを管理するためのファイル220(以下「ファイル管理テーブル220」という)が含まれている。
利用者管理テーブル210は、各利用者を識別するユーザID211と、当該利用者が所属するユーザグループを識別するグループID212を対応付けて記憶している。例えば、図2の例においては、”user1”は”grp1”に所属しており、”user2”と ”user3”は”grp2”に所属しており、”user4”、 ”user5”および”user6”は”grp3”に所属している。
なお、図2の利用者管理テーブル210はユーザID211とグループID212の対応方法を例示したものに過ぎず、実際のコンピュータシステムにおいて、ユーザID211とグループID212が、図2に示すように一つのテーブルにおいて対応付けて記憶されているとは限らない。例えば、ユーザID211とグループID212をそれぞれ別のテーブルに記憶させ、ユーザID211とグループID212をリンク情報によって対応付けることも可能である。さらに、一般には同じユーザID211に対して2以上の異なるグループID212を対応付けることができるが、そのような場合についても以降に示す技術を適応することは容易である。どのような構成をとった場合でも、利用者のユーザIDが分かれば、当該利用者が所属するユーザグループのグループIDを知ることができ、また、グループIDが分かれば、当該ユーザグループに所属する全ての利用者のユーザIDを知ることができる。
ファイル管理テーブル220は、ファイルまたはフォルダの名称であるファイル・フォルダ名221と、当該ファイルまたはフォルダのオーナ(すなわち、当該ファイルまたはフォルダについてのアクセス権限を設定、更新することが可能な利用者)のユーザIDであるオーナID222と、当該ファイルまたはフォルダに対してアクセス権限を有することがありうるユーザグループのグループIDであるグループID223と、当該ファイルまたはフォルダに対する、オーナID222、グループID223およびその他の利用者のそれぞれの参照権限を示す参照権限224を対応付けて記憶している。
例えば、図2の例においては、”/”(ルート)フォルダのオーナ、ユーザグループはそれぞれ”user1”、”grp1”であり、参照権限224の”r, r, r”のうち、左の”r”はオーナである”user1”が参照権限を有することを示し、中央の”r”はユーザグループである”grp2”に所属する利用者(従って、図2の例では”user2”および”user3”)が参照権限を有することを示し、右の”r”はオーナでなくユーザグループにも属さない利用者(従って、図2の例では”user4”、”user5”および”user6”)が参照権限を有することを示している。結局、”/”(ルート)フォルダの参照権限を有する利用者は、”user1”、”user2”、”user3”、”user4”、”user5”および”user6”ということになる。
また、”/financial”フォルダについては、オーナ、ユーザグループはそれぞれ”user2”、 ”grp2”であり、参照権限224の”r , , r”のうち、左の”r”はオーナである”user2”が参照権限を有することを示し、中央の” ”(空白)はユーザグループである” grp2”に所属する利用者(従って、図2の例では”user2”および”user3”)のうちオーナを除いた利用者(従って、図2の例では”user3”)が参照権限を有さないことを示し、右の”r”はオーナでなくユーザグループにも属さない利用者(従って、図2の例では”user1”、”user4”、”user5”および”user6”)が参照権限を有することを示している。結局、”/financial”フォルダの参照権限を有する利用者は、”user1”、”user2”、”user4”、”user5”および”user6”ということになる。
さらに、” /financial/074q”フォルダについては、オーナ、ユーザグループはそれぞれ”user3”、”grp1”であり、参照権限224の”r , , r”のうち、左の”r”はオーナである”user3”が参照権限を有することを示し、中央の” ”(空白)はユーザグループである” grp1”に所属する利用者(従って、図2の例では”user1”)が参照権限を有さないことを示し、右の”r”はオーナでなくユーザグループにも属さない利用者(従って、図2の例では”user2”、”user4”、”user5”および”user6”)が参照権限を有することを示している。結局、”/financial/074q”フォルダの参照権限を有する利用者は、”user2”、”user4”、”user5”および”user6”ということになる。
同様に、”/financial/074q/file2”ファイルについては、オーナ、ユーザグループはそれぞれ”user4”、”grp2”であり、参照権限224の”r , r , ”のうち、左の”r”はオーナである”user4”が参照権限を有することを示し、中央の”r”はユーザグループである” grp2”に所属する利用者(従って、図2の例では”user2”および”user3”)が参照権限を有することを示し、右の”r”はオーナでなくユーザグループにも属さない利用者(従って、図2の例では”user1”、”user5”および”user6”)が参照権限を有さないことを示している。
ここで、”/financial/074q/file2”を実際に参照可能な利用者は、”/financial/074q/file2”の全ての上位フォルダ(”/”、”/financial”および”/financial/074q”)が参照可能な利用者に限定される。従って、この例で”/financial/074q/file2”を実際に参照可能な利用者、すなわち参照権限を有する利用者は、(”user1”、”user2”、”user3”、”user4”、”user5”、”user6”)、(”user1”、”user2”、”user4”、”user5”、”user6”)、(”user2”、”user3”、”user4”、”user5”、”user6”)、および(”user2”、”user3”、”user4”)の共通する利用者、すなわち”user2”および”user4”ということになる。
つまり、/financial/074q/file2に関して、従来の方法では、(”user2”、”user3”、”user4”)の利用者に参照権限があるので、検索結果がこの利用者には提示される。しかし、利用者user3は本来/financialフォルダに参照権限を持たないにも拘わらず、従来の方法では提示されてしまう。この点、本発明では、対象ファイルが関連する全ての上位フォルダの参照権限(アクセス権限)を考慮して最終的な参照権限が決定されるので、この例の場合、利用者user3は、/financial/074q/file2にアクセスすることができない。よって、よりセキュアに検索結果を利用者に提示することができるようになる。
なお、図2のファイル管理テーブル220は、ファイルまたはフォルダについての、アクセス権限設定方法を、本発明と直接関係する参照権限に限定して例示したものに過ぎない。実際のコンピュータシステムにおいては、例えば、フォルダについてのアクセス権限は”r(read)”(当該フォルダ内のファイル、フォルダの一覧を参照可能)、”w(write)”(当該フォルダ内にファイル、フォルダを作成・更新可能)、”x(execute)”(当該フォルダ内のファイル内容を実行可能)の3種類で管理し、ファイルについてのアクセス権限は”r”(当該ファイルの内容を参照可能)、”w”(当該ファイルの内容を作成・更新可能)、”x”(当該ファイルの内容をプログラムとして実行可能)の3種類で管理するのがUNIXでは一般的である。このような場合、フォルダについての”x”およびファイルについての”r”は、関連するファイル内容の参照を可能にする権限であるという点において同じ意味合いを持つと考え、フォルダについての”x”およびファイルについての”r”を参照権限224の”r”に置き換えて本発明技術を適用することができる。また、フォルダについては”r”権限があればファイルの内容を表示することはできなくても、当該フォルダ内のファイル、フォルダの一覧を参照することは可能なので、検索の結果、ファイルの存在を知られてもセキュリティ上の問題はないとも考えられる。そのように考えるのであれば、フォルダについての”r”または”x”、およびファイルについての”r”を参照権限224の”r”に置き換えて本発明技術を適用してもよい。
さらに、ファイルまたはフォルダについてのアクセス権限は、ファイル管理テーブル220のようなテーブルに記憶されている必要はなく、例えば、各ファイル、フォルダ毎にファイル属性情報の一つとして記憶されていてもよい。
また、図2のファイル管理テーブル220には4つのフォルダおよびファイルを記載しているが、これは発明を説明するために十分な例に限定して示したに過ぎず、当然ながら、実際のコンピュータシステムにおいては、膨大な数のフォルダおよびファイルが設定されている。
<インデックスファイルのデータ構成例>
図3は、第1の実施形態における、インデックスファイル71のデータ構成例を示す図である。
インデックスファイル71は、検索対象ファイル22に含まれる各ファイル(以下、図3の説明において「検索ファイル要素」という。)に対応するインデックスレコード710から構成される。すなわち各インデックスレコード710は、インデックスファイル71作成時点の各検索ファイル要素と1対1に対応している。
インデックスレコード710は、ファイル名711、ユーザID713、参照可否714、アクセス日時715、およびファイル記憶場所716の各データ項目から構成される。ユーザID713と参照可否714は、利用者別アクセス権限712と総称し、利用者管理テーブル210に設定されている利用者数分(m個:図2の例では6個)設定される。
ファイル名711には、対応する検索ファイル要素のファイル名が設定される。具体的には、例えば当該ファイルを作成する際にファイルの作成者によって付与され、ファイルの属性情報(例えばMicrosoft Office(Microsoftは登録商標)ファイルのプロパティー)として設定されているタイトル名を設定すればよい。
利用者別アクセス権限712には、対応する検索ファイル要素に対して設定されているアクセス権限が1つ以上、利用者別に設定される。後述するように、ファイルサーバ1のファイル管理手段11によってファイル管理テーブル220に設定されているアクセス権限を参照することで、利用者別アクセス権限712を設定することができる。上述したように、本発明では、ある利用者が、特定のファイルについて、そのファイルが関連する上位フォルダの全てにもアクセス権限を有する場合に、当該特定のファイルのアクセスが許可されるようになっている。
ユーザID713には、ファイルサーバ1の利用者を識別するユーザIDが設定される。また、参照可否714には、当該利用者の参照権限が設定される。例えば、各ユーザID713と参照可否714を(ユーザID713、参照可否714)と表したとき、(”user1”、” ”(スペース))、(”user2”、” ”(スペース)) 、(”user3”、” ”(スペース))、(”user4”、” ”(スペース))、(”user5”、”r”)、(”user6”、”r”)が設定されている場合には、当該検索ファイル要素については、”user5”、”user6”が参照権限を有し、”user1”、”user2”、”user3”、”user4”は参照権限を有さないことを示している。アクセス日時715には、任意の利用者による、対応検索ファイル要素の最終アクセス日時が設定される。具体的には、ファイルの属性情報として設定されており、ファイルサーバ1のファイル管理手段11が、ファイルアクセスが発生するたびに更新する最終アクセス日時を設定すればよい。
なお、以上のほか、ファイル作成者等、他のファイル属性情報についても、インデックスレコード710のデータ項目とすることができる。
ファイル記憶場所716には、対応する検索ファイル要素の記憶場所が記憶される。例えば、”/financial/074q/file2”(ルート直下の”financial”フォルダ内の”074q”フォルダ内の”file2”)のようにファイルの絶対パスを記憶してもよいし、特定のフォルダを基準とした相対パスを記憶してもよい。その他、ファイルの記憶場所を特定することが可能な任意の情報を記憶すればよい。
以上のようなデータが設定されたインデックスレコード710は、後述するようにインデックス作成手段61によって作成、更新、削除され、検索手段62により参照される。
<インデックス作成処理>
図4は、第1の実施形態における、インデックス作成手段61の動作を説明するためのフローチャートである。
インデックス作成手段61は、前述したように所定のタイミングで起動されると、インデックスファイル71を削除する(S401)。
インデックス作成手段61は、次に、検索対象ファイル22に含まれる全てのファイルについて、インデックスレコード710の作成処理(S402)を行う。例えば、記憶装置2の特定フォルダ内の全てのファイルが検索対象ファイル22である場合、インデックス作成手段61は、当該フォルダ内のファイルを順次参照し、各ファイルについてインデックスレコード710を作成する。すなわち、ファイルの属性情報等を参照して、ファイル名711、利用者別アクセス権限712、アクセス日時715を設定し、当該検索対象ファイル22の記憶場所をファイル記憶場所716に設定する。
そして、インデックス作成手段61は、インデックスレコード710を記憶装置2に記憶する(S402)。なお、各データの設定内容は図3を使用して説明したとおりであるが、利用者別アクセス権限712の設定方法については後に詳述する。
検索対象ファイル22に含まれる全てのファイルについて、インデックスレコード710の作成処理(S402)を行うと、インデックス作成手段61は、処理を終了する。
以上の説明は、インデックス作成手段61が処理を行うたびに、処理時点の検索対象ファイル22に含まれる全てのファイルについてインデックスファイル71を再作成するという方法を前提としているが、前述したように、1回だけ検索対象ファイル22に含まれる全てのファイルについてインデックスファイル71を作成し、以降は更新されたファイルについてのみインデックスファイル71を更新するようにしてもよい。
また、検索対象ファイル22に含まれるファイルは、どのような順番で参照してよく、従って、インデックスレコード710の並びとファイルの絶対パスの並びとは特に関係がない。
<利用者別アクセス権限の設定>
ここで、利用者別アクセス権限712の設定方法について、説明する。
ファイル管理テーブル220において、参照権限224の設定内容としては、”-, - ,-”、”-, -, r”、”-, r, -”、”-, r, r”、”r, -, -”、”r, -, r”、”r, r, -”、”r, r, r”の8通りしか存在しない。ただし、以上の設定内容において”-”はスペースが設定されていること、すなわち参照権限がないことを示している。
そこで、この8通りの設定内容のそれぞれについて、当該フォルダまたはファイルのオーナ、ユーザグループをそれぞれ”the_user”、”the_group”と表記し、利用者管理テーブル210に設定されている全ての利用者を”all_users” と包括表記して、参照権限を有する利用者を挙げると、次の通りである。
i)参照権限224の設定内容が”- , - ,- ”の場合の参照権限を有する利用者: なし
ii)参照権限224の設定内容が”- , - , r ”の場合の参照権限を有する利用者: ”all_users”から、”the_user”および”the_group”に所属する利用者を除いた利用者
iii)参照権限224の設定内容が”- , r , - ”の場合の参照権限を有する利用者: ”the_group”に所属する利用者のうち”the_user”を除いた利用者
iv)参照権限224の設定内容が”-, r , r ”の場合の参照権限を有する利用者: ”all_users”から、”the_user”を除いた利用者
v)参照権限224の設定内容が”r , - , - ”の場合の参照権限を有する利用者: ”the_user”
vi)参照権限224の設定内容が”r ,- , r ”の場合の参照権限を有する利用者: ”the_user”と、”all_users”から”the_group”に所属する利用者を除いた利用者
vii)参照権限224の設定内容が”r , r , - ”の場合の参照権限を有する利用者: ”the_user”と、”the_group”に所属する利用者
viii)参照権限224の設定内容が”r , r , r ”の場合の参照権限を有する利用者: ”all_users”
”all_users”についての実際のユーザIDは、利用者管理テーブル210を参照することにより知ることができる(図2の例では、”user1”、”user2”、”user3”、”user4”、 ”user5”および”user6”である)。上記いずれの場合も、ファイル管理テーブル220および利用者管理テーブル210を参照すれば”the_user”と、”the_group”に所属する利用者のユーザIDを知ることができるので、具体的にどのユーザID211が参照権限を有するか知ることができる。そして、”all_users”から参照権限を有するユーザID211を除外すれば、参照権限を有さないユーザID211も知ることができる。
以上を前提に、例えば絶対パスが”/folder1/folder2/…/folderN/the_file”であるファイル”the_file”について利用者別アクセス権限712の設定方法を説明する。
まず、最上位のフォルダである”/”(ルート)について、以上の方法により参照権限を有する利用者を求める。次に、”/”(ルート)直下のフォルダである”folder1” について、同じ方法により参照権限を有する利用者を求め、当該利用者のうち”/”(ルート)について参照権限を有する利用者のみを”folder1” について参照権限を有する利用者であると決定する。
次に、”folder1”直下のフォルダである”folder2” について、同じ方法により参照権限を有する利用者を求め、当該利用者のうち”folder1”について参照権限を有する利用者のみを”folder2” について参照権限を有する利用者であると決定する。同様の方法で、次々と下位フォルダーについて参照権限を有する利用者を決定する。
最後に、”folderN”直下のファイル”the_file”について、同じ方法により参照権限を有する利用者を求め、当該利用者のうち”folderN”について参照権限を有する利用者のみを”the_file”について参照権限を有する利用者であると決定する。そして、”the_file”について参照権限を有する利用者(ユーザID)をユーザID713に設定し、当該ユーザID713に対応する参照可否に”r”を設定する。また、”all_users”から”the_file”について参照権限を有する利用者(ユーザID)を除いた利用者(ユーザID)をユーザID713に設定し、当該ユーザID713に対応する参照可否に” ”(スペース)を設定する。
以上のような方法により、利用者別アクセス権限712を適切に設定することができる。
このように、参照権限を有する利用者を識別する情報と、参照権限を有さない利用者を識別する情報を記憶することにより、後述するように、検索処理時に利用者を識別する情報によって文字列検索を行うという簡易な方法により、クライアント3の利用者が参照権限を有するか否かを判定することが可能になる。
<検索要求手段の動作>
図5は、第1の実施形態における、クライアント装置の検索要求手段31の動作を説明するためのフローチャートである。
検索要求手段31は、クライアント3の操作者が入力装置32を使用して起動する。検索要求手段31は、起動されると、ログイン処理を行う(S501)。具体的には、表示装置33に図8のようなログイン画面を表示する。クライアント3の操作者が入力装置32を使用して利用者IDおよびパスワードを入力し、「実行」ボタンを押すと、入力された利用者IDとパスワードが適切かどうか判定する。なお、上記のようなログイン処理自体は周知技術であるので、これ以上の説明は省略する。
次に、検索要求手段31は、入力された利用者IDとパスワードが適切であると判定した場合、表示装置33に検索要求画面を表示する(S502)。図9に検索要求画面の表示例を示す。図9において、検索要求画面は、検索条件部G91、検索結果部G92および「検索」、「終了」のボタンから構成されている。クライアント3の操作者は、入力装置32を使用して検索条件部G91の各項目を入力する。検索条件部G91に入力した項目は検索条件となり、例えば、アクセス日時に”>2007.10.12 12:00:00”を入力した場合、2007年10月12日の12時より後でアクセスされたファイルがファイル検索サーバ6において検索対象となる。なお、検索条件部G91の入力項目は、図示した項目に限る必要はなく、例えばファイル名等、インデックスファイル71のデータ項目と合わせて決めればよい。さらに、インデックスファイル71のデータ項目にない項目であっても、検索対象ファイル22の属性情報または記憶内容と照合可能な項目であれば、どのような項目であってもよい。
検索結果部G92には、ファイル検索サーバ6によって得られた検索結果がスクロール表示される。ここで、検索結果部G92には、例えば図10に示す内容が表示される(S507)。つまり、”server1.somecompany.co.jp/financial/074q/file2”、”server1.somecompany.co.jp/mailbox/user3/file2”、および” server1.somecompany.co.jp/section1/user3/file1”の3つのファイルが、検索条件式に合致したファイル(例)である。
なお、検索結果部G92には、図10に示す他に、検索結果に含まれる任意のデータ項目(例えば利用者別アクセス権限712)をそのまま、あるいは編集して表示することができる。
検索要求手段31は、検索要求画面表示(S502)後、検索ボタンまたは終了ボタンが押下されるのを待つ(S503、S504)。検索ボタンが押された場合、すなわち検索要求を検知した場合(S503でYESの場合)、検索要求処理(S506、S506、S507)を行う。終了ボタンが押された場合、すなわち終了要求を検知した場合(S504でYESの場合)、処理を終了する。
検索要求手段31は、検索要求を検知した場合(S503でYESの場合)、検索条件部G91の入力内容から、検索条件を作成し、検索手段62に送信する(S505)。例えば、アクセス日時に”>2007.10.12 12:00:00”が入力された場合、”Search * (accesstime>2007.10.12 12:00:00)”といった検索条件式を作成し、ログイン画面で入力された利用者IDとともに、検索手段62に送信する。ここで、検索条件式は検索手段62によって解釈される式であり、検索手段62が解釈可能な構文規則等に従って作成すればよい。
検索要求手段31は、検索条件式を検索手段62に送信した後、検索手段62から検索結果を受信するまで待つ(S506)。検索結果を受信すると、検索結果を検索要求画面の検索結果部G92に表示し(S507)、再び、検索ボタンまたは終了ボタンが押下されるのを待つ(S503、S504)。
<検索処理>
図6は、第1の実施形態における、ファイル検索サーバ6の検索手段62の動作を説明するためのフローチャートである。
検索手段62は、ファイル検索サーバ6がクライアント3からの検索要求を受信すると、ファイル検索サーバ6により起動される。検索手段62は、まず、全てのインデックスレコード710を参照して、クライアント3の操作者が参照権限を有しており、かつ検索要求に含まれる検索条件と合致するファイル(インデックスレコード710)を選択する(S601)。具体的には、クライアント3から受信した検索要求に含まれる利用者ID(すなわち、ログイン画面で入力された利用者ID)と、インデックスレコード710の参照可否714が”r”であるユーザID713を照合し、一致するユーザID713が設定されているファイル(インデックスレコード710)について、クライアント3の操作者が参照権限を有していると判定する。また、検索要求に含まれる検索条件と合致するファイル(インデックスレコード710)の選択については、例えば、検索条件(式)が”Search * ((accesstime>2007.10.12 12:00:00)&(keyword=”07年度”))”である場合、アクセス日時715に2007年10月12日の12時より後の日時が設定されている全てのインデックスレコード710を選択する。
次に、検索手段62は、検索条件(式)にキーワード指定が含まれているかどうか判定する(S602)。含まれている場合(例えば、上記の検索式のようにkeyword=”07年度”といった条件が指定されている場合)、S601において選択した全ファイルについて、キーワード検索を実行し(S603)、検索結果として送信対象とすべきファイル(インデックスレコード710)を確定する。
一方、例えば、検索条件(式)が”Search * (accesstime>2007.10.12 12:00:00)”である場合には、検索条件式にキーワード指定が含まれていないのでキーワード検索は行わず、S601において選択したファイル(インデックスレコード710)全てを送信対象とする(S602でNOの場合)。
検索手段62は、以上の処理によって送信対象とするファイル(インデックスレコード710)を決定した後、送信対象としたファイルのインデックスレコード710の全てについて、データ項目(ファイル名711、利用者別アクセス権限712、アクセス日時715およびファイル記憶場所716)を検索結果としてクライアント3に送信し(S604)、処理を終了する。
<キーワード検索処理>
図7は、第1の実施形態における、ファイル検索サーバ6の検索手段62によるキーワード検索処理(S603)を説明するためのフローチャートである。
検索手段62は、S601の処理で選択されたファイル(図7についての以降の説明で「選択ファイル」という。)について、ファイル記憶場所716を参照して当該ファイルを取得し(S701)、検索条件式のキーワード条件が合致するかを判定する(S702)。キーワード条件が合致するかの判定方法そのものは周知の技術であるので詳述しないが、例えば”keyword=”07年度””という検索条件が指定されている場合、”07年度”という文字を含むファイルを、”keyword not = 07年度”という検索条件が指定されている場合、”07年度”という文字を含まないファイルを合致するファイルと判定すればよい。このほか、さまざまな論理式を組み合わせてキーワード条件とすることができる。
続いて、検索手段62は、キーワード条件が合致する場合(S702でYESの場合)、選択ファイルを送信対象とし(S703)、合致しない場合(S702でNOの場合)、選択ファイルを送信対象外とする(S704)。
(2)第2の実施形態
<インデックスファイルのデータ構造>
図11は、本発明に係る第2の実施形態における、インデックスファイル71のデータ構成図である。なお、第2の実施形態おける、ファイル検索システムのシステム構成は、第1の実施形態(図1)と同一であるので説明を省略する。
第2の実施形態におけるインデックスファイル71のデータ構成は、第1の実施形態のそれとは利用者別アクセス権限712の構成のみが異なるだけで、その他の構成は同一である。すなわち、第1の実施形態においては、利用者別アクセス権限712に全てのユーザID713と参照権限714を対応付けて設定している。このような方法は検索時に容易に参照権限の有無を判定できるという点では優れており、特に、全てのユーザID713の数が少数(例えば100以下)であり、かつ新たな利用者の追加等がない場合には望ましい。
しかしながら、一般にファイルサーバ1の利用者数は多数(たとえば1000以上)であることも多く、そのような場合、全てのユーザID713と参照権限714を対応付けて設定しようとすると、利用者別アクセス権限712の記憶容量が大きくなるというデメリットもある。
また、ファイルサーバ1の利用者が新たに追加される等により、インデックスレコード710作成後に利用者管理テーブル210の内容が変更された場合には、変更後の実際の参照権限と、利用者別アクセス権限712が異なることになる。従って、参照権限を有する利用者が検索しても、ファイルが検索結果として表示されない等の不都合が発生する。この不都合は、例えば、ファイルサーバ1において、利用者管理テーブル210の変更有無を監視するプロセスを走行させておき、利用者管理テーブル210の内容が変更されるたびにインデックスレコード710の利用者別アクセス権限712を適切に更新することによって解決可能ではあるが、そのような解決方法は、ファイルサーバ1の負荷増大にもつながる。
そこで、ファイルサーバ1の負荷を増大させることなく上記の不都合を解消するためには、利用者別アクセス権限712に全てのユーザID713と参照権限714を対応付けて設定しておくのでなく、当該ファイルへの参照権限を有する利用者を、可能な限りユーザIDに依存しない論理式によって表現し、この論理式を利用者別アクセス権限712に設定することが望ましい。例えば、あるフォルダ1に対して参照権限を有する利用者を表現する論理式が”condition1”であり、そのフォルダ1の直下のフォルダ2について参照権限を有する利用者を表現する論理式が参照権限224によれば”condition2”である場合、フォルダ2に対して参照権限を有する利用者を表現する論理式は”condition1”&”condition2”である。
従って、絶対パスの最上位フォルダから始めて、絶対パスを次々に下位にたどり、論理式を次々とアンド条件で連ねることで、最終的にファイルに対して参照権限を有する利用者を表現する論理式を求めることができる。そして、この論理式を利用者別アクセス権限712に設定し、検索手段62が利用者別アクセス権限712に設定された論理式を解釈して、参照権限を有するかどうかを判定することで、クライアント3の操作者が参照権限を有するファイルのみを検索結果として表示装置33に表示することが可能になる。
ただし、このように単に論理式をアンド条件で連ねる場合には、フォルダ階層が深くなるほど論理式が長くなり、その結果、利用者別アクセス権限712が増大するとともに、検索手段62による論理式解釈処理が複雑になる。
従って、論理式をできる限り短く、かつ単純にすることが望ましい。これを実現するために、本実施形態では、参照権限を有する利用者を識別する情報と、参照権限を有さない利用者を識別する情報を記憶する。これにより、検索処理時に利用者を識別する情報によって文字列検索を行うという簡易な方法を用いることができ、クライアント3の利用者が参照権限を有するか否かを判定することができるようになる。
ここで、第2の実施形態における、利用者別アクセス権限712の設定方法、およびそのようの設定する場合の参照権限有無を判定する方法について、説明する。
ファイル管理テーブル220において、参照権限224の設定内容としては、第1の実施形態と同様、”-, -,-”、”-, -, r”、”-, r, -”、”-, r, r”、”r, -, -”、”r, -, r”、”r, r, -”、”r, r, r”の8通りしか存在しない。ただし、以上の設定内容において”-”はスペースが設定されていること、すなわち参照権限がないことを示している。
そこで、この8通りの設定内容のそれぞれについて、当該フォルダまたはファイルのオーナ、ユーザグループをそれぞれ”the_user”、”the_group”と表記し、該当する利用者が存在しないことを” no_user”、全ての利用者を”all_users”と表記して、参照権限を有さない利用者、または参照権限を有する利用者を示すと、以下のi)〜viii)に示すとおりである。
i)〜viii)において、()内の文字列は、許可条件717、不許可条件718に設定される文字列を示している。例えば、「参照権限を有さない利用者:”no_user”」と記載した場合、不許可条件718には何も設定されず(=空白が設定され)、「参照権限を有さない利用者:”the_user”or”the_group”」 と記載した場合、不許可条件718には”Uthe_user Gthe_group”が設定され(”the_user”が示すユーザIDの先頭に区切り文字”U”を付け、”the_group”が示すグループIDの先頭に区切り文字”G”を付けて間に空白を置いて設定)、「参照権限を有する利用者:”all_users”」と記載した場合、許可条件717には”all_users”の文字列が設定されることを示している。他の設定内容も同様である。なお、UやGは区切り文字であり、Uthe_userやGthe_groupは、例えばU 1やG 1(the_userやthe_groupには数字が入る)のように標記される。
ここで、ある利用者が参照権限を有するか否かの判断は、次のように行う。まず当該利用者のユーザIDおよび、当該利用者が所属する全てのユーザグループのグループIDを取得する。当該利用者が所属する全てのユーザグループのグループIDは、利用者管理テーブル210を参照することで取得できる。以下の説明では、取得したユーザIDを”user”、グループIDを”grp1”…”grpN”と記載する。
次に、”Uuser”(”user”が示すユーザIDの先頭に区切り文字”U”を付けた文字列)、”Ggrp1”(”grp1”が示すグループIDの先頭に区切り文字”G”を付けて結合した文字列)、…”GgrpN”のN+1個の文字列すべてが、不許可条件718に設定した文字列に含まれ、かつ”UuserGgrp1”(”user” が示すユーザIDの先頭に区切り文字”U”を付けた文字列と、”grp1”が示すグループIDの先頭に区切り文字”G”を付けを付けた文字列を結合した文字列)、…”UuserGgrpN”のN個の文字列のいずれも、不許可条件718に設定した文字列に含まれない場合は参照権限を有さないと判断する。
参照権限を有さないと判断しなかった場合は、”Uuser”と”Ggrp1”、…”GgrpN”のN個の文字列のうちから選んだm個(m=0またはm>1)の文字列の結合文字列(”Uuser”、”UuserGgrp1”、” UuserGgrp1Ggrp2”等)または” Ggrp1”、…” GgrpN”のN個の文字列のうちから選んだm個(m>1)の文字列の結合文字列(”Ggrp1”、” Ggrp1Ggrp2”等)のいずれかが許可条件717に設定した文字列に含まれるか判定し、含まれる場合には参照権限を有すると判断し、いずれも含まれない場合には参照権限を有さないと判断する。
以下、許可条件717及び不許可条件718の設定内容について説明する。本実施形態では、許可条件717と不許可条件718のand条件を取ることによって、参照(アクセス)権限を有する利用者が決定される。()内は、インデックスファイル上での表現方法を示している。
i)参照権限224の設定内容が”-, -, -”の場合
参照権限を有さない利用者:”no_user”( )
参照権限を有する利用者:” no_user” ( )
ii)参照権限224の設定内容が”-, -, r”の場合
参照権限を有さない利用者:”the_user”or”the_group”(Uthe_user Gthe_group)
参照権限を有する利用者:” all_users” (all_users)
iii)参照権限224の設定内容が”- , r , - ”の場合
参照権限を有さない利用者:”the_user” (Uthe_user)
参照権限を有する利用者:”the_group” (Gthe_group)
iv)参照権限224の設定内容が”-, r , r ”の場合
参照権限を有さない利用者:” the_user” (Uthe_user)
参照権限を有する利用者:” all_users” (all_users)
v)参照権限224の設定内容が”r, -, -”の場合
参照権限を有さない利用者:” no_user” ( )
参照権限を有する利用者:” the_user” (Uthe_user)
vi)参照権限224の設定内容が”r ,- , r ”の場合
参照権限を有さない利用者:” the_group”and not”the_user”
(Gthe_group Uthe_userGthe_group)
参照権限を有する利用者:” all_users” (all_users)
vii)参照権限224の設定内容が”r, r, -”の場合
参照権限を有さない利用者:” no_user” ( )
参照権限を有する利用者:”the_user”or”the_group” (Uthe_user Gthe_group)
viii)参照権限224の設定内容が”r, r, r”の場合
参照権限を有さない利用者:” no_user” ( )
参照権限を有する利用者:” all_users” (all_users)
ここで、以下に説明するように、例えば”/folder1/folder2”というフォルダー階層において、” folder1”フォルダの許可条件717、不許可条件718が上記のi)〜viii)である場合、”folder2”フォルダについて当該フォルダの参照権限224から導かれる許可条件717、不許可条件718(上記のi)〜viii)のいずれかである)を組み合わせることで、”folder2”フォルダの許可条件717、不許可条件718を求めることができる。
”folder1”フォルダの不許可条件718は、空白、ユーザID、グループIDまたはユーザIDとグループIDの結合文字列を、それらの間に空白を置いていくつか結合した文字列である。この文字列が空白の場合には、”folder2”フォルダについて当該フォルダの参照権限224から導かれる不許可条件718の文字列により、また空白でない場合には、”folder1”フォルダの不許可条件718の文字列に、”folder2”フォルダについて当該フォルダの参照権限224から導かれる不許可条件718の文字列を、それらの間に空白を置いて結合させることで”folder2”フォルダの不許可条件718を求めることができる。
従って、”folder2”フォルダの不許可条件718も、空白、ユーザID、グループIDまたはユーザIDとグループIDの結合文字列を、それらの間に空白を置いていくつか結合した文字列になる。そして、最上位の”/”(ルート)フォルダの不許可条件718は、空白、ユーザID、グループIDまたはユーザIDとグループIDの結合文字列を、それぞれの間に空白を置いていくつか結合した文字列である。よって、全てのフォルダの不許可条件718も、同様に、空白、ユーザID、グループIDまたはユーザIDとグループIDの結合文字列を、それらの間に空白を置いていくつか結合した文字列になる。 さらに、フォルダ内のファイルの不許可条件718も、空白、ユーザID、グループIDまたはユーザIDとグループIDの結合文字列を、それらの間に空白を置いていくつか結合した文字列になる。
”folder1”フォルダの許可条件717は、空白、”all_users”、 またはユーザIDとグループIDを、その間に空白を置いていくつか結合した文字列である(ユーザIDのみの場合、グループIDのみの場合、後で示すユーザIDとグループIDの結合文字列も含む)。この文字列が空白の場合には空白により、”all_users”の場合には”folder2”フォルダについて当該フォルダの参照権限224から導かれる許可条件717の文字列により、”folder2”フォルダの許可条件717を求めることができる。
また、”folder1”フォルダの許可条件717が、ユーザIDとグループIDを、空白を置いていくつか結合した文字列である場合、”folder2”フォルダについて当該フォルダの参照権限224から導かれる許可条件717の文字列が空白の場合には空白により、”all_users”の場合には”folder1”フォルダの許可条件717により”folder2”フォルダの許可条件717を求めることができる。
また、”folder1”フォルダの許可条件717、”folder2”フォルダについて当該フォルダの参照権限224から導かれる許可条件717のいずれも、ユーザIDとグループIDを、その間に空白を置いていくつか結合した文字列である場合は、各ユーザID、グループIDを結合させ、同一の結合結果および許可条件717としてありえない結合は除き、これらを空白を置いていくつか結合した文字列によって”folder2”フォルダの許可条件717を求めることができる。
例えば、”folder1”フォルダの許可条件717が”Uthe_user1 Gthe_group1”で、”folder2”フォルダについて当該フォルダの参照権限224から導かれる許可条件717が”Uthe_user2 Gthe_group2”の場合について考える。
まず、”folder2”フォルダの許可条件717は、(user1 or group1)and(user2 or group2)となる。従って、”the_user1“と”the_user2“が同一の場合には”Uthe_user1 Uthe_user1Gthe_group1 Uthe_user1Gthe_group2 Gthe_group1Gthe_group2”と表される。一方、”the_user1“と”the_user2“が異なる場合には”Uthe_user1Gthe_group2 Uthe_user2Gthe_group1 Gthe_group1Gthe_group2”と表される。なお、”the_group1”と”the_group2”が同一の場合は、それぞれ”Uthe_user1 Uthe_user1Gthe_group1 Gthe_group1”、”Uthe_user1Gthe_group1 Uthe_user2Gthe_group1 Gthe_group1”となる。
以上のように、”folder2”フォルダの許可条件717も、空白、”all_users”、またはユーザIDとグループIDを空白を置いていくつか結合した文字列になる(ユーザIDのみの場合、グループIDのみの場合、ユーザIDとグループIDの結合文字列も含む)。そして、最上位の”/”(ルート)フォルダの許可条件717は、空白、”all_users”、またはユーザIDとグループIDを、その間に空白を置いていくつか結合した文字列であるから、全てのフォルダの許可条件717は、空白、”all_users”、またはユーザIDとグループIDを、その間に空白を置いていくつか結合した文字列になり、フォルダ内のファイルの許可条件717は、空白、”all_users”、またはユーザIDとグループIDを、その間に空白を置いていくつか結合した文字列になる。
以上の方法により、例えば絶対パスが”/folder1/folder2/…/folderN/the_file”であるファイル”the_file”については、上位のフォルダから順に許可条件717および不許可条件718を求めることで、許可条件717および不許可条件718を求めて設定することができる。
このように、第2の実施形態においては、利用者別アクセス権限712に許可条件717(参照を許可する条件)および不許可条件718(参照を許可しない条件)が設定されている。
従って、検索手段62は、クライアント3の操作者が参照権限を有しており、かつ検索要求に含まれる検索条件と合致するファイル(インデックスレコード710)を選択する(図6のS601)際、クライアント3から受信した検索要求に含まれる利用者ID(すなわち、ログイン画面で入力された利用者ID)および当該利用者IDが属するユーザグループのグループIDを使用して、許可条件717および不許可条件718の文字列検索を行うことで、当該利用者が参照権限を有するか否かを判定することができる。
すなわち、第1の実施形態と同様、参照権限を有する利用者を識別する情報(許可条件717)と、参照権限を有さない利用者を識別する情報(不許可条件718)を記憶することにより、検索処理時に利用者を識別する情報(ユーザIDおよびグループID)によって文字列検索を行うという簡易な方法により、クライアント3の利用者が参照権限を有するか否かを判定することができる。また、不許可条件718に参照権限を有さない者を追加するだけで、簡単に参照を許可する者を簡単に絞ることができる。よって条件変更がしやすくなり、ファイルサーバ1の負担を軽減することができるようになる。なお、具体的な検索方法は既に説明したとおりである。
(3)第3の実施形態
図12は、本発明の第3の実施形態によるファイル検索システムの概略構成を示す図である。
第3の実施形態においては、クライアント3、ファイルサーバ1、ファイル検索サーバ6およびLAN4のみを図示しているが、各記憶装置、手段等の表示は記載を省略しただけであり、各クライアント3、各ファイルサーバ1、各ファイル検索サーバ6は、第1及び第2の実施形態と同様の構成を備えている。図12に示すように、複数のファイル検索サーバ6を、それぞれ1以上のファイルサーバ1とLAN4によって通信可能に接続し、各クライアント3から複数のファイル検索サーバ6に検索要求を送信することが可能である。
また、インデックスファイルのデータ構造については、第1及び第2の実施形態で説明したもの(図3及び図11)の何れを用いても良い。
なお、本発明に係るファイル検索システムは、システム内に複数のファイルサーバと複数のファイル検索サーバを設けたものであり、図12の構成は一例に過ぎず、図12に示される構成以外にさまざまな構成を採ることが可能である。
(4)その他
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
本発明に係る第1の実施形態によるファイル検索システムの概略構成を示す図である。 第1の実施形態における、システムファイルのデータ構成例を示す図である。 第1の実施形態における、インデックスファイルのデータ構成例を示す図である。 第1の実施形態における、インデックス作成手段の動作を説明するためのフローチャートである。 第1の実施形態における、検索要求手段の動作を説明するためのフローチャートである。 第1の実施形態における、検索手段の動作を説明するためのフローチャートである。 第1の実施形態における、検索手段のキーワード検索処理を説明するためのフローチャートである。 第1の実施形態における、ログイン画面を例示する図である。 第1の実施形態における、検索要求画面を例示する図である。 第1の実施形態における、検索要求画面での検索結果の表示内容を例示する図である。 本発明に係る第2の実施形態における、インデックスファイルのデータ構成例を示す図である。 本発明に係る第3の実施形態における、ファイル検索システムの概略構成を示す図である。
符号の説明
1…ファイルサーバ、11…ファイル管理手段、2…記憶装置、21…システムファイル、22…検索対象ファイル、3…クライアント、31…検索要求手段、32…入力装置、33…表示装置、4…LAN、5…記憶装置、51…検索履歴ファイル、6…ファイル検索サーバ、61…インデックス作成手段、62…検索手段、7…記憶装置、71…インデックスファイル。

Claims (8)

  1. ファイル検索サーバが検索要求に基づいて検索を実行し、検索結果をクライアント装置に提示し、前記クライアント装置がファイルサーバから該当ファイルを取得するファイル検索システムであって、
    前記ファイルサーバは、複数の検索対象ファイルを格納する検索対象ファイル格納部を備え、
    前記ファイル検索サーバは、前記複数の検索対象ファイルのインデックスファイルを格納するインデックスファイル格納部と、前記検索要求に従って前記インデックスファイルに対して検索を実行する検索手段と、を備え、
    前記インデックスファイルは、前記検索対象ファイルのそれぞれに対するアクセス権限及び各ファイルが関連するフォルダに対するアクセス権限を全て考慮して生成されたファイルアクセス権限情報を含み、
    各ファイル及び各フォルダに対する前記アクセス権限は、前記ファイル又はフォルダのアクセス権限を設定、更新することができる利用者がオーナとしてアクセス権限を有するか否かを示す第1のアクセス可否情報と、前記ファイル又はフォルダに対してアクセス権限を有する可能性を有することがありうる利用者のグループがアクセス権限を有するか否かを示す第2のアクセス可否情報と、前記オーナ及び前記グループに属する利用者以外の利用者がアクセス権限を有するか否かを示す第3のアクセス可否情報と、を有し、
    前記ファイル検索サーバは、前記各ファイル及び各フォルダに対する前記アクセス権限を参照して、前記検索対象ファイル及び当該ファイルが関連する全てのフォルダに対してアクセス権限を有する利用者条件を示す第1の情報と、アクセス権限を持たない利用者の条件を示す第2の情報の論理積を演算し、前記第1のアクセス可否情報が前記オーナがアクセス権限を有することを示すときにアクセス権限を有するオーナの利用者がアクセス権を有さない前記グループ、或いは前記オーナ及び前記グループに属する利用者以外の利用者に含まれる場合には、当該オーナの利用者を前記論理積に追加することにより、前記ファイルアクセス権限情報を生成し、
    前記ファイル検索サーバは、前記ファイルアクセス権限を有する利用者が操作するクライアント装置にのみ前記検索結果を提示することを特徴とするファイル検索システム。
  2. 前記ファイルアクセス権限情報は、全ての利用者に関して、前記検索対象ファイル及び当該ファイルが関連する全てのフォルダに対してアクセス権限を有するか否かを識別する情報によって構成されることを特徴とする請求項1に記載のファイル検索システム。
  3. 前記ファイル検索サーバは、さらに、前記インデックスファイルを作成するインデックス作成手段を備え、
    前記インデックス作成手段は、前記ファイルサーバが有するシステムファイルであって、各フォルダ及び各ファイルについてのアクセス権限及び利用者を管理するための管理テーブルを含むシステムファイルを参照して、前記インデックスファイルを作成することを特徴とする請求項1又は2に記載のファイル検索システム。
  4. 前記インデックス作成手段は、所定のタイミングで前記検索対象ファイル格納部を参照し、前記インデックスファイルを更新することを特徴とする請求項3に記載のファイル検索システム。
  5. クライアント装置の検索要求に基づいて検索を実行し、検索結果を前記クライアント装置に提示するファイル検索サーバ装置あって、
    ファイルサーバが格納する複数の検索対象ファイルのインデックスファイルを格納するインデックスファイル格納部と、
    前記検索要求に従って前記インデックスファイルに対して検索を実行する検索手段と、を備え、
    前記インデックスファイルは、前記検索対象ファイルのそれぞれに対するアクセス権限及び各ファイルが関連するフォルダに対するアクセス権限を全て考慮して生成されたファイルアクセス権限情報を含み、
    各ファイル及び各フォルダに対する前記アクセス権限は、前記ファイル又はフォルダのアクセス権限を設定、更新することができる利用者がオーナとしてアクセス権限を有するか否かを示す第1のアクセス可否情報と、前記ファイル又はフォルダに対してアクセス権限を有する可能性を有することがありうる利用者のグループがアクセス権限を有するか否かを示す第2のアクセス可否情報と、前記オーナ及び前記グループに属する利用者以外の利用者がアクセス権限を有するか否かを示す第3のアクセス可否情報と、を有し、
    前記各ファイル及び各フォルダに対する前記アクセス権限を参照して、前記検索対象ファイル及び当該ファイルが関連する全てのフォルダに対してアクセス権限を有する利用者条件を示す第1の情報と、アクセス権限を持たない利用者の条件を示す第2の情報の論理積を演算し、前記第1のアクセス可否情報が前記オーナがアクセス権限を有することを示すときにアクセス権限を有するオーナの利用者がアクセス権を有さない前記グループ、或いは前記オーナ及び前記グループに属する利用者以外の利用者に含まれる場合には、当該オーナの利用者を前記論理積に追加することにより、前記ファイルアクセス権限情報を生成し、
    前記ファイルアクセス権限を有する利用者が操作するクライアント装置にのみ前記検索結果を提示することを特徴とするファイル検索サーバ装置。
  6. 前記ファイルアクセス権限情報は、全ての利用者に関して、前記検索対象ファイル及び当該ファイルが関連する全てのフォルダに対してアクセス権限を有するか否かを識別する情報によって構成されることを特徴とする請求項5に記載のファイル検索サーバ装置。
  7. 前記ファイル検索サーバは、さらに、前記インデックスファイルを作成するインデックス作成手段を備え、
    前記インデックス作成手段は、前記ファイルサーバが有するシステムファイルであって、各フォルダ及び各ファイルについてのアクセス権限及び利用者を管理するための管理テーブルを含むシステムファイルを参照して、前記インデックスファイルを作成することを特徴とする請求項5又は6に記載のファイル検索サーバ装置。
  8. 前記インデックス作成手段は、所定のタイミングで前記検索対象ファイル格納する前記ファイルサーバを参照し、前記インデックスファイルを更新することを特徴とする請求項7に記載のファイル検索サーバ装置。
JP2008277567A 2008-10-29 2008-10-29 ファイル検索システム、及びファイル検索サーバ装置 Expired - Fee Related JP5346549B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008277567A JP5346549B2 (ja) 2008-10-29 2008-10-29 ファイル検索システム、及びファイル検索サーバ装置
US12/556,603 US20100106709A1 (en) 2008-10-29 2009-09-10 File search system and file search server device
EP09170173A EP2182453A1 (en) 2008-10-29 2009-09-14 File search system and file search server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008277567A JP5346549B2 (ja) 2008-10-29 2008-10-29 ファイル検索システム、及びファイル検索サーバ装置

Publications (2)

Publication Number Publication Date
JP2010108111A JP2010108111A (ja) 2010-05-13
JP5346549B2 true JP5346549B2 (ja) 2013-11-20

Family

ID=41168459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008277567A Expired - Fee Related JP5346549B2 (ja) 2008-10-29 2008-10-29 ファイル検索システム、及びファイル検索サーバ装置

Country Status (3)

Country Link
US (1) US20100106709A1 (ja)
EP (1) EP2182453A1 (ja)
JP (1) JP5346549B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012020497A1 (ja) * 2010-08-12 2012-02-16 富士通株式会社 情報処理装置および情報処理プログラム
JP2012079047A (ja) * 2010-09-30 2012-04-19 Yahoo Japan Corp ファイルアクセスプログラム、方法及びシステム
JP5356350B2 (ja) * 2010-09-30 2013-12-04 ヤフー株式会社 ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム
JP5289407B2 (ja) * 2010-09-30 2013-09-11 ヤフー株式会社 ファイル同期システム、方法及びプログラム
US8868502B2 (en) * 2011-01-14 2014-10-21 Apple Inc. Organizing versioning according to permissions
US8725681B1 (en) * 2011-04-23 2014-05-13 Infoblox Inc. Synthesized identifiers for system information database
JP5783010B2 (ja) * 2011-11-25 2015-09-24 株式会社リコー インデックス管理プログラム、インデックス管理装置及び検索システム
US9195759B2 (en) * 2012-03-27 2015-11-24 Varonis Systems, Ltd. Method and apparatus for enterprise-level filtered search
CN108280240A (zh) * 2012-03-27 2018-07-13 瓦欧尼斯系统有限公司 用于企业级过滤搜索的方法和设备
AU2013259665A1 (en) * 2012-05-07 2014-11-27 Drugdev Inc. A method and system for sharing access to a database
CN102693293B (zh) * 2012-05-15 2014-10-22 清华大学 一种多变量时空数据的范围查询方法及系统
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
CN103823902A (zh) * 2014-03-18 2014-05-28 南京新模式软件集成有限公司 一种电子文件安全检索的方法
KR20170091138A (ko) * 2014-12-09 2017-08-08 캐논 가부시끼가이샤 정보 처리 장치, 정보 처리 장치의 제어 방법, 정보 처리 시스템, 및 저장 매체
US10733162B2 (en) * 2015-07-30 2020-08-04 Workday, Inc. Indexing structured data with security information
EP3411806A1 (en) * 2016-02-01 2018-12-12 Varonis Systems, Ltd. Filtering of search results according to access permission
DK201670616A1 (en) 2016-06-12 2018-01-22 Apple Inc Devices and Methods for Accessing Prevalent Device Functions
JP6880684B2 (ja) 2016-12-05 2021-06-02 富士フイルムビジネスイノベーション株式会社 ファイル管理装置及びプログラム
US11206249B2 (en) * 2019-07-26 2021-12-21 International Business Machines Corporation Enterprise workspaces

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075854A (ja) * 1999-08-31 2001-03-23 Hitachi Ltd データ管理方法、およびデータ管理システム、ならびにデータ管理プログラムを格納した記憶媒体
JP2001167113A (ja) * 1999-12-09 2001-06-22 Nec Corp 付与情報全文検索システムおよび付与情報全文検索方法
JP2001344245A (ja) * 2000-03-29 2001-12-14 Fujitsu Ltd 情報処理装置
US6985948B2 (en) * 2000-03-29 2006-01-10 Fujitsu Limited User's right information and keywords input based search query generating means method and apparatus for searching a file
JP2006106986A (ja) * 2004-10-01 2006-04-20 Canon Inc アクセス管理方法及び情報処理装置
US20070233647A1 (en) * 2006-03-30 2007-10-04 Microsoft Corporation Sharing Items In An Operating System
US8655914B2 (en) * 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
US7734669B2 (en) * 2006-12-22 2010-06-08 Commvault Systems, Inc. Managing copies of data
US7505973B2 (en) * 2007-01-16 2009-03-17 Microsoft Corporation Efficient paging of search query results

Also Published As

Publication number Publication date
JP2010108111A (ja) 2010-05-13
EP2182453A1 (en) 2010-05-05
US20100106709A1 (en) 2010-04-29

Similar Documents

Publication Publication Date Title
JP5346549B2 (ja) ファイル検索システム、及びファイル検索サーバ装置
US11423359B2 (en) Managing tasks in a content management system
US20210117562A1 (en) Federated Redaction of Select Content in Documents Stored Across Multiple Repositories
US11900324B2 (en) Managing projects in a content management system
EP2478452B1 (en) File search system and program
US8228542B2 (en) Systems and methods for storing multiple records using identifiers, storage locations, and attributes associated with electronic documents
US7200593B2 (en) Document management system
US7636890B2 (en) User interface for controlling access to computer objects
KR101120755B1 (ko) 정적 및 동적 리스트의 사용을 포함하는 가상 폴더 및 항목 공유 시스템 및 방법
JP2007172280A (ja) アクセス権管理方法、装置及びプログラム
US20150149898A1 (en) System and method for processes enabled by metadata associated with documents within a binder file
WO2005098593A2 (en) Custom entities and fields in a multi-tenant database system
US7503075B2 (en) Access trimmed user interface
US20100100523A1 (en) System and Method for Grouping a Collection of Documents Using Document Series
JP5119840B2 (ja) 情報処理装置、情報処理システム、及びプログラム
JP2009211403A (ja) ファイル検索プログラム
US8073870B2 (en) Methods for storing data
JP2010079444A (ja) メタデータによるファイル管理方法及びシステム
JP7418238B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2009075849A (ja) 情報処理装置、情報処理方法、そのプログラム及び記憶媒体
JP5783010B2 (ja) インデックス管理プログラム、インデックス管理装置及び検索システム
US9053334B2 (en) Method and a technical equipment for controlling metadata access
JP2012190311A (ja) ファイル管理装置、ファイル管理方法及びプログラム
JP2012059148A (ja) アクセス制御装置およびアクセス制御プログラム
Doyle Microsoft SharePoint 2010 Customizing My Site

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130709

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: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees