JP4977565B2 - アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ - Google Patents

アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ Download PDF

Info

Publication number
JP4977565B2
JP4977565B2 JP2007241563A JP2007241563A JP4977565B2 JP 4977565 B2 JP4977565 B2 JP 4977565B2 JP 2007241563 A JP2007241563 A JP 2007241563A JP 2007241563 A JP2007241563 A JP 2007241563A JP 4977565 B2 JP4977565 B2 JP 4977565B2
Authority
JP
Japan
Prior art keywords
acl
type
file
access
file system
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
JP2007241563A
Other languages
English (en)
Other versions
JP2009075672A (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 JP2007241563A priority Critical patent/JP4977565B2/ja
Priority to US12/020,760 priority patent/US8260811B2/en
Publication of JP2009075672A publication Critical patent/JP2009075672A/ja
Priority to US13/546,030 priority patent/US8543602B2/en
Application granted granted Critical
Publication of JP4977565B2 publication Critical patent/JP4977565B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • G06F21/805Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Description

本発明は、アクセス制御リストを用いてファイルへのアクセスを制御する技術に関する。
一般に、複数のクライアント(ユーザ)でファイルを共有するためにファイルサーバ(例えばNAS(Network Attached Storage))が用いられる。共有されるファイルへのアクセスは、アクセス制御リスト(以下、ACL)を用いて制御される。ACLには、例えば、どのユーザがどのオペレーションでそのファイルにアクセスできるかなどが記述されている。
ACLの代表的な例としては、UNIX(登録商標)で用いられているPOSIX ACLや、Windows(登録商標)で用いられているNTFS ACLがある。POSIXは、Portable Operating System Interfaceの略であり、NTFSは、NT FileSystemの略である。POSIX ACLのみに対応しているファイルサーバが多いが、NTFS ACLに対応しているファイルサーバもある。
POSIX ACLとNTFS ACLは、直接の互換性がない。それ故、NTFS ACLを用いたアクセス制御を行うためには、ファイルシステムを、POSIX ACLに対応した種別のファイルシステムからNTFS ACLに対応した種別のファイルシステムに切り替える必要がある。具体的には、例えば、一旦、サービスを停止し(例えば、クライアントからのファイルアクセス要求の受け付けを停止し)、サービス停止中に、例えば特許文献1に開示されている手順で、ファイル毎に、切替え後のファイルシステムに対応したNTFS ACLを生成して対応付ける必要がある。
特開2005−78612号公報
一般に、記憶装置に格納されているファイルの数は膨大である。このため、切替え後の種別のファイルシステムに対応したACLを生成することを全てのファイルについて行うとすると、サービスの停止時間長が長くなる。サービスの停止時間長は、なるべく短いこと、理想的にはゼロであることが望ましい。
従って、本発明の目的は、サービスを停止することなく切替え後の種別のファイルシステムに対応したACLでのアクセス制御を行うことができるようにすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
ファイルシステムの種別の切り替えの際に全てのファイルについて切替え後の種別のファイルシステムに対応したACLを生成するのではなく、ファイルアクセス要求の受信の都度に、ファイルアクセス要求で指定されているファイルに切替え後の種別のファイルシステムに対応したACLがあるか否かを判別し、無いとの判断結果になった場合に、その指定されているファイルに対応付けられている、切替え前の種別のファイルシステムに対応したACLに基づいて、切替え後の種別のファイルシステムに対応したACLを生成し、その生成したACLを用いて、受信したファイルアクセス要求に従うアクセスを制御する。
実施形態1では、ファイルアクセス要求を受信しそのファイルアクセス要求で指定されているファイルに対するアクセスをACLを用いて制御するアクセスコントローラが、ACL判断部、ACL生成部及びアクセス制御部を備える。ACL判断部は、ファイルアクセス要求を受信したことに応答して、そのファイルアクセス要求で指定されているファイルに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行う。ACL生成部は、その判断の結果が否定的である場合に、上記指定されているファイルに既に対応付けられている、第二種のファイルシステムに対応した第二種のACLに基づいて、第一種のACLを生成する。アクセス制御部は、生成された第一種のACLを用いて、上記指定されているファイルへのアクセスを制御する。この実施形態1によれば、ファイルアクセス要求の受信の都度に、指定されたファイルに第一種のACLが無ければその第一種のACLを既存の第二種のACLを基に生成し、生成した第一種のACLを用いてアクセス制御が行われる。このため、ファイルシステムの種別が第二種から第一種に切替えられても、サービスを停止することなく、第一種のACLを用いたアクセス制御を行うことが可能となる。
実施形態2では、実施形態1において、アクセスコントローラが、更に、ファイルシステム又は使用するACLの種別を第二種から第一種へ切替えることの切替え指示を受信する切替え指示受信部と、その切替え指示に応答してファイルシステム又はACLの種別を第二種から第一種に切替える切替え部とを備える。ACL生成部は、ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後、ファイルアクセス要求を受信したことに応答して行われる上記判断の結果が否定的である場合に、そのファイルアクセス要求で指定されているファイルに対応した第二種のACLに基づいて第一種のACLを生成する。
実施形態3では、実施形態2において、アクセスコントローラが、ファイルシステム又は使用するACLの種別を表す種別情報を記憶する記憶資源を更に備える。ACL判断部は、その種別情報を参照することにより、現在のファイルシステム又はACLの種別を特定するよう構成されている。切替え部が、その種別情報を、第二種を表す情報から第一種を表す情報に更新することで、ファイルシステム又は使用するACLの種別を第二種から第一種に切替えることが完了する。
実施形態4では、実施形態1乃至3のうちのいずれかにおいて、アクセスコントローラが、メモリ(揮発性と不揮発性のどちらでも良い)を更に備える。ACL生成部が、生成した第一種のACLを、ファイルシステムによって管理されるファイルを含んだ論理記憶空間に書込むことが可能であるか不可能であるかを判断し、書き込み可能と判断したならば、論理記憶空間とメモリの両方に、ファイルに対応付ける第一種のACLを書き込み、書き込み不可能と判断したならば、ファイルに対応付ける第一種のACLを、論理記憶空間に書き込まず、メモリに書込む。ACL判断部が、受信したファイルアクセス要求で指定されているファイルに第一種のACLが対応付けられているか否かの判断を、メモリを参照することにより行い、そのファイルに対応した第一種のACLがメモリに記憶されていれば、その判断の結果が肯定的となる。この実施形態4によれば、例えば、クライアントからはリードを表すファイルアクセス要求を受信したにもかかわらず、ファイルシステムが論理記憶空間の容量が枯渇している等の理由で論理記憶空間に第一種のACLを書けないエラーが生じてしまっても、第一種のACLをメモリに書込みエラーをクライアントに報告しないようにすることができる。
実施形態5では、実施形態4において、ACL生成部は、以下の(1)乃至(3)のいずれかの場合、
(1)生成された第一種のACLを記憶できる程の空き容量が論理記憶空間に無い場合、
(2)論理記憶空間の使用容量又は空き容量と予め設定された制限値との差が所定値の場合、
(3)読出し可能であるが書込み不可能であることを意味するアクセス属性が、論理記憶空間に対応付けられている場合、
上記生成した第一種のACLを論理記憶空間に書込むことが不可能と判断する。
実施形態6では、実施形態4又は5において、アクセスコントローラが、更に、ACLデステージ部を備える。ACLデステージ部は、論理記憶空間に第一種のACLを書込むことが可能になったか否かを監視し、書込むことが可能になったことを検出した場合に、メモリに記憶されている、論理記憶装置に未だ書込まれていない第一種のACLを、論理記憶空間に書込む。実施形態6によれば、論理記憶空間にいつまでも第一種のACLが書き込まれないといったことを防ぐことができる。
実施形態7では、実施形態1乃至3のいずれかにおいて、ACL生成部は、ファイルシステムによって管理されるファイルを含んだ論理記憶空間に、読出し可能であるが書込み不可能であることを意味するアクセス属性が対応付けられていても、その論理記憶空間に、上記指定されているファイルに対応付ける第一種のACLを書き込む。実施形態7によれば、リードオンリーでファイルシステムがマウントされているなどの理由により論理的にクライアントからの書き込みが禁止されているような状況でも、第一種のACLが論理記憶空間に書き込まれるので、同じファイルを指定したファイルアクセス要求を受信する都度に第一種のACLを生成しなければならないといった負荷が生じるのを抑えることができる。
実施形態8では、実施形態1乃至7のいずれかにおいて、ACL判断部が、ファイルアクセス要求を受け付けながら、論理記憶空間に存在する全てのファイルについて、第一種のACLが対応付けられているか否かを判断する。ACL生成部が、否定的な判断結果が得られる都度に、否定的な判断結果に対応したファイルに対応する第二種のACLを基に、そのファイルに対応する第一種のACLを生成する。実施形態8によれば、いつまでもアクセスされないが故に第一種のACLが用意されないファイルが存在してしまうことを未然に防ぐことができる。
実施形態9では、実施形態1乃至8のうちのいずれかにおいて、アクセスコントローラが、ファイルシステムによって管理される論理記憶空間ついての使用容量又は空き容量の問合せを受信する容量問合せ受信部と、論理記憶空間内の全てのファイルに第一種のACLが対応付けられていると仮定した場合の使用容量又は空き容量を返答する容量返答部とを更に備える。実施形態9によれば、第一種のACLが存在するものと仮定された使用容量又は空き容量が返答されるので、第一種のACLを書き込んでいくことによりファイルシステムがいっぱいになってしまって所望のファイルが書込めないといったことを防ぐことができる。
実施形態10では、実施形態1乃至9のうちのいずれかにおいて、ACL生成部が、第一種のACLが対応付けられたファイルに対応している第二種のACLが更新された場合、更新後の第二種のACLを基にその第一種のACLを更新する。実施形態10によれば、第二種のACLと第一種のACLとの整合性を保証することができる。
実施形態11では、実施形態1乃至10のうちのいずれかにおいて、ACL生成部が、バックアップされたファイル及びそれに対応する第二種のACLがリストアされたことによって、第一種のACLが対応付けられているファイルが、リストアされたファイルに更新された場合、リストアされたファイルである更新後のファイルには、更新前のファイルに対応していた第一種のACLではなく、更新後のファイルに対応しておりリストアされた第二種のACLを基に生成した第一種のACLを対応付ける。実施形態11によれば、ファイルシステム種別の切替え前にバックアップされたイメージを、ファイルシステム種別の切替え後のファイルシステムに対応したイメージとしてリストアすることができ、且つ、生成される第一種のACLを、バックアップ時点の第二種のACLに対応した第一種のACLにすることができる。
実施形態12では、実施形態1乃至11のうちのいずれかにおいて、ACL生成部が、メモリに、生成した第一種のACLを書き込み、メモリに記憶されているその第一種のACLが規定回数以上アクセス制御部によって使用された場合に、そのメモリに記憶されている第一種のACLを、ファイルシステムによって管理されるファイルを含んだ論理記憶空間に書込む。実施形態12によれば、第一種のACLが書き込まれる回数を抑えることができるため、論理記憶空間の基になっている記憶装置が、書込み可能回数に制限がある、読出し速度よりも書込み速度の方が遅い、及び/又は読出しのコストよりも書込みのコストの方が高いといった特徴を有する場合に有用であると考えられる。
上述した実施形態1乃至12のうちの少なくとも二以上を組み合わせることができる。また、前述したACL判断部、ACL変換部、アクセス制御部、指示受信部、切替え部、ACLデステージ部、容量問合せ受信部及び容量返答部のうちの少なくとも一つを、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
以下、図面を参照して、本発明の幾つかの実施例を説明する。
図1は、本発明の第一実施例に係るシステム全体の構成例を示す図である。
NASシステム(100)が、NAS制御部(121)(例えばいわゆるNASヘッド)と、1又は複数の記憶装置(131)とで構成されている。記憶装置(131)は、例えば、一又は複数の記憶メディアドライブであっても良いし、複数の記憶メディアドライブを備えたストレージサブシステムであっても良い。
NAS制御部(121)は、CIFS(Common Internet File System)に基づくファイルアクセス要求を発行するCIFSクライアント(111)、及びNFS(Network File System)に基づくファイルアクセス要求を発行するNFSクライアント(113)と通信することができる。NAS制御部(121)は、クライアント(111)又は(113)からファイルアクセス要求を受信し、記憶装置(131)の論理記憶空間(130)に対応した領域に記憶されている、そのファイルアクセス要求で指定されているファイルへのアクセスを、クライアント(111)又は(113)に対してサービスする。なお、図1には、ファイルサービスの例として、CIFSとNFSが記載されているが、それらに限定する必要はなく、FTP(File
Transfer Protocol)、HTTP(HyperText Transfer Protocol)などの他のファイルサービスが採用されても良い。
また、NAS制御部(121)は、マネージャが運用管理を行うために使用する計算機であるNASマネージャ(101)や、NASシステム(100)が管理するファイルをバックアップしたりリストアしたりするためのサーバであるバックアップ・リストアサーバ(112)と通信することもできる。
NAS制御部(121)は、論理的に、ユーザスペースとカーネルスペースに分離される。それぞれのスペース間は、ユーザ−カーネルインターフェース(以下、インターフェースを「I/F」と略記する)を介して情報のやり取りがなされる。本実施例では、ユーザカーネルI/Fとして、ファイルシステム種別I/F(145)、ACL変換I/F(146)及びファイルアクセスI/F(147)がある。これらのI/F(145)、(146)及び(147)は、例えば、図示しないメモリに記憶されているコンピュータプログラムであり、NAS制御部(121)が備える図示しないマイクロプロセッサで実行されることによりその機能を発揮する。
ユーザスペースでは、ファイルシステムの種別の切替えを行うためのファイルシステム切替プログラム(141)、バックアップ及びリストアを行うためのバックアップ・リストアエージェント(142)、及び、CIFSクライアント(111)からのファイルアクセス要求を処理するCIFSサーバ(143)が実行される。一方、カーネルスペースでは、ファイルシステムの情報を管理するファイルシステム情報管理モジュール(122)、ファイルアクセスをサービスするファイルアクセスモジュール(123)、ACL変換を行うACL変換モジュール(126)、及びNFSクライアント(113)からのファイルアクセス要求を処理するNFSサーバ(144)が動作している。これらのコンピュータプログラム(141)、(142)、(143)、(122)、(123)、(126)及び(144)は、例えば、図示しないメモリに記憶されており、NAS制御部(121)が備える図示しないマイクロプロセッサで実行されることによりその機能を発揮する。ACLキャッシュ管理モジュール(125)は、ACLキャッシュ(127)を管理し、ファイルシステム情報管理モジュール(122)は、ファイルシステム情報(128)を管理している。ACLキャッシュ(127)は、例えば、揮発性(又は不揮発性)のキャッシュメモリ又はそのキャッシュメモリの一部である。ファイルシステム情報(128)は、図示しないメモリに記憶され、例えば、ファイルシステムの種別を表す情報を含んでいる。
記憶装置(131)には、ファイルシステムの種別を表すファイルシステム種別情報(132)が記憶されている。本実施例では、POSIX ACLを使用したアクセス制御からNTFS ACLを使用したアクセス制御を行う環境とするために、便宜上、POSIX ACLに対応したファイルシステムの種別を「旧型」と呼び、NTFS ACLに対応したファイルシステムの種別を「新型」と呼ぶ。ファイルシステム種別情報(132)は、現在のファイルシステムの種別が旧型か新型かを表す。
また、記憶装置(131)における、ファイルシステムによって管理される論理記憶空間(130)に相当する記憶領域には、1つ以上のファイル(140)が記憶される。ファイル(140)は、例えば、ファイルメタデータ(136)と、ファイル本体(135)と、POSIX ACL(134)及び/又はNTFS ACL(133)とで構成される。図1に示したファイル(140)は、ファイルシステムの種別が旧型から新型に切替えられた後、そのファイル(140)を指定したファイルアクセス要求が過去に受信されたことがあるため、POSIX ACL(134)だけでなく、そのPOSIX ACL(134)を基に生成されたNTFS ACL(133)を含んでいる。しかし、全てのファイル(140)が、POSIX ACL(134)とNTFS ACL(133)の両方を含んでいるとは限らず、どちらか一方を含んでいないことがある。
図11Aは、ファイルメタデータ、POSIX ACL及びNTFS ACLで構成されたファイル部分の例を示す。
参照符号801が、そのデータ部分である。参照符号811は、属性の名前を示し、属性の名前を示すデータ要素としては、参照符号821、831、841、851及び861にそれぞれ示すデータ要素がある。参照符号812は、属性の実際の値を示し、属性の値を示すデータ要素としては、参照符号822、832、842、852及び862にそれぞれ示すデータ要素がある。ファイルメタデータを構成するデータ要素は、参照符号821、822、831、832、841及び842にそれぞれ示すデータ要素である。POSIX ACLを構成するデータ要素は、参照符号851及び852にそれぞれ示すデータ要素である。NTFS ACLを構成するデータ要素は、参照符号861及び862にそれぞれ示すデータ要素である。
図11B及び図11Cは、ファイルシステム種別情報(132)の構成例を示す。
図11Bによれば、ファイルシステム種別情報(132)は、POSIX ACLに対応したファイルシステム、つまり旧型を表す。ファイルシステムの種別の切り替えが行われると、ファイルシステム種別情報(132)は、図11Bに示した情報から、図11Cに示す情報、すなわち、NTFS ACLに対応したファイルシステム、つまり新型を表す情報に更新される。
以下、本実施例で行われる処理の流れを説明する。なお、以下の説明において、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するマイクロプロセッサ(例えばCPU)によって処理が行われるものとする。
図2Aは、ファイルシステム種別切替えのフローチャートである。なお、参照符号における“S”は、“ステップ”の略である。
ファイルシステム種別の切替えは、例えば、POSIX ACLを用いてアクセス制御をおこなっていたファイルシステムの種別をNTFS ACLを用いたアクセス制御を行うファイルシステムの種別に移行する場合に行われる。つまり、旧型から新型への切替えの場合に行われる(なお、逆に、新型から旧型への切り替えにも適用されても良い)。
S201で、ファイルシステム種別切替えプログラム(141)が、NASマネージャ101(又は他の装置)から、ファイルシステムを旧型から新型へ切替えることの切替え指示を受信し、その切替え指示に応答して、ファイルシステム種別I/F(145)を呼び出す。ファイルシステム種別I/F(145)は、ファイルシステム情報管理モジュール(122)を呼び出す。ファイルシステム情報管理モジュール(122)が、指定されたファイルシステムのファイルシステム種別を更新する。具体的には、ファイルシステム情報管理モジュール(122)が、ファイルシステム種別情報(132)を、「POSIX ACL使用ファイルシステム」と記録されている情報(つまり図11Bに示した情報)から、「NTFS ACL使用ファイルシステム」と記録されている情報(つまり図11Cに示した情報)に更新する。また、ファイルシステム情報管理モジュール(122)は、更新後のファイルシステム種別情報(132)を含んだファイルシステム情報(126)を、図示しないメモリにキャッシュとして書込む。
本実施例では、このように、ファイルシステム種別情報(132)が更新されるだけで、ファイルシステムの種別の切替えの完了となる。そして、この後は、後述するように、ファイルアクセス要求を受信する都度に、そのファイルアクセス要求で指定されているファイルにNTFS ACL(133)が対応付けられていなければ(含まれていなければ)、そのファイルに既に対応付けられているPOSIX ACL(134)がNTFS ACL(133)に変換され(言い換えれば、POSIX ACL(134)に基づくNTFS ACL(133)が生成され)、変換後のNTFS ACL(133)を用いたファイルアクセス制御が実行される。なお、本実施例では、変換前のPOSIX ACL(134)は、変換によって無くなることなく、ファイルに対応付けられたままとなる(変換の完了の際に、変換前のPOSIX ACL(134)は、ACL変換モジュール(126)によって削除されても良い)。
このように、本実施例では、ファイルアクセス要求に応答してNTFS ACL(133)が生成されるようになっているため、いつまでもファイルアクセス要求で指定されないファイルがあると、そのファイルについては、いつまでもNTFS ACL(134)が対応付けられないことになる。
そこで、本実施例では、ファイルアクセス要求に応答してNTFS ACL(133)を生成する状態と並行して(つまり、ファイルアクセス要求を受け付けたまま)、いわゆるバックグラウンドで、指定された論理記憶空間内の全てのファイルを走査し、ファイルにNTFS ACL(133)が無ければ、そのファイルに対応付けられているPOSIX ACL(134)をNTFS ACL(133)に変換する処理が行われる。
図2Bは、バックグラウンドでのACL変換処理のフローチャートを示す。図2Cは、ディレクトリ単位のACL変換処理のフローチャートを示す。
ファイルシステム切替えプログラム(141)は、バックグラウンドでのACL変換処理の指示(例えばディレクトリを指定した指示)をNASマネージャ(101)から受けた場合、指定されたディレクトリを、対象ディレクトリしてファイルシステムルートに設定する(S202)。
その後、ファイルシステム切替えプログラム(141)は、対象ディレクトリ下のファイルについて、ディレクトリ単位のACL変換処理を実施する(S210)。ACL変換処理では、図2Cに示すように、対象ディレクトリ内の全てのファイルとディレクトリに対して、S212乃至S215までの手順が繰り返される(S211)。
ファイルシステム切替えプログラム(141)が、ACL変換I/F(146)を呼び出し(S212)、ACL変換I/F(146)が、ACL変換モジュール(126)を呼び出し、ACL変換モジュール(126)が、ファイル単位のACL変換処理を実施する(S500)。ファイル単位のACL変換処理の詳細は後述する。
次に、ファイルシステム切替えプログラム(141)が、対象がディレクトリかどうかを判断し(S213)、ディレクトリであった場合は、ディレクトリ単位のACL変換処理を再帰的に実行する。具体的には、ファイルシステム切替えプログラム(141)が、そのディレクトリを対象ディレクトリとして設定し(S214)、S210の処理を再帰的に呼び出す。対象がディレクトリでなかった場合は、S211に戻って、別のファイルに対するファイル単位のACL変換処理が実行される。
図2BのS202で設定されたディレクトリ下に存在する全てのファイルとディレクトリについて、S212乃至S215が行われたならば、図2BのS210の終了となる。
次に、ファイルシステムの種別の切替え後、クライアント(111)又は(113)からファイルアクセス要求を受信した場合に行われる処理の流れを説明する。
図3は、CIFSファイルサービスのフローチャートである。なお、NFSや他のファイルサービスに関しても実質的に同様の処理となる。
まず、CIFSサーバ(143)が、CIFSクライアント(111)よりファイルアクセス要求を受信する(S301)。
次に、CIFSサーバ(143)が、ファイルアクセスI/F(147)を呼び出し、そのI/F(147)経由で、カーネルにファイルアクセス要求を発行する(S302)。
ファイルアクセスモジュール(123)内のアクセス制御モジュール(124)は、ファイルアクセス要求に応答して、そのファイルアクセス要求の発行元のCIFSクライアント(111)を使用するユーザ(以下、アクセスユーザ)が指定されたファイルにアクセス可能かどうかを判定する(S400)。S400のアクセス可否判定処理の詳細は後述するが、この判定処理において、ファイル単位のACL変換処理も行われる。
S400の判定で、アクセスが許可された場合は、ファイルアクセスモジュール(123)が、ファイルアクセス要求で指定されているファイルに対し、その要求に従うアクセス(例えばライト或いはリード)を実行し(S303)、CIFSサーバ(143)が、上記発行元のCIFSクライアント(111)に、アクセス結果を応答する(S304)。アクセスが拒否された場合は、CIFSサーバ(143)が、CIFSクライアント(111)にエラーを応答する(S305)。
以上で、CIFSファイルサービスが終了する。
図4は、図3のS400であるアクセス可否判定処理のフローチャートである。
アクセス制御モジュール(124)が、ファイルシステム情報管理モジュール(122)を呼び出してファイルシステム情報(128)を参照する事により、現在のファイルシステムの種別を判断する(S401)。
S401において、旧型(POSIX ACLを用いているファイルシステム)と判定された場合は、アクセス制御モジュール(124)は、ファイルアクセス要求で指定されているファイルに対するアクセスの可否を、そのファイルに既存のPOSIX ACLを用いて判定する(S402)。
一方。S401において、新型(NTFS ACLを用いているファイルシステム)と判定された場合は、アクセス制御モジュール(124)は、ACLキャッシュ管理モジュール(125)を呼び出してACL取得処理を実行させる。
ACLキャッシュ管理モジュール(125)は、ACLキャッシュ(127)上にNTFS ACLがあるかどうかを判断する(S403)。
S403において、ACLキャッシュ(127)上にNTFS ACLがあるとの判断になれば、アクセス制御モジュール(124)が、そのNTFS ACLを用いて、ファイルアクセス要求で指定されているファイルに対するアクセスの可否を判定する(S405)。
S403において、ACLキャッシュ(127)上にNTFS ACLがないとの判断になれば、アクセス制御モジュール(124)が、ファイル単位のACL変換処理(S500)を実行する(そのACL変換処理(S500)は、図2Cで呼び出される処理と同様であり、次の、図5で詳細に説明する)。その後、ACLキャッシュ管理モジュール(125)が、変換後のNTFS ACL(もしくは、既に変換済みで記憶装置(131)に格納されていたNTFS ACL)を、ACLキャッシュ(127)に書込む(S404)。
以上で、ACL取得処理が終了する。そして、次のS405では、その書き込まれたNTFS ACLを用いたアクセス可否判定が行われる。
以上により、アクセス可否判定処理(S400)が終了する。
次に、図5を参照して、ファイル単位のACL変換処理(S500)を説明する。
まず、ACL変換モジュール(126)が、ファイル(以下、この図5の説明において「対象ファイル」と言う)にロックをかける(S501)。
次に、ACL変換モジュール(126)が、ファイル単位のACL変換処理が上書き変換フラグつきで呼ばれているかを判断する(S502)。上書きフラグつきで呼ばれるケースは、後述するように、バックアップ・リストアエージェント(142)がリストア指示を受けたケースである。この場合、S503の処理をスキップし、S504の処理に進む。
上書きフラグつきでない通常ケースでは、ACL変換モジュール(126)が、記憶装置(131)に、対象ファイルにNTFS ACLが対応付けられているか否かを判断する(S503)。対応付けられているとの判断になれば、ACL変換モジュール(126)は、対象ファイルのロックを外して(S507)、ファイル単位のACL変換処理を終了する。対応付けられていないとの判断になれば、ACL変換モジュール(126)は、S504の処理に進む。なお、S503では、NTFS ACLがあるかどうかを、NTFS ACLを記憶装置からサーチすることにより判断しても良いし、対象ファイルのファイルメタデータにNTFS ACL有りを表すフラグがあるかどうかにより判断しても良い。
S503において、対象ファイルにNTFS ACLが対応付けられていないとの判断になれば、アクセス制御モジュール(124)が、記憶装置(131)から、対象ファイルに対応付けられているPOSIX ACLを読み出す(S504)。
次に、ACL変換モジュール(126)が、その読み込んだPOSIX ACLを、NTFS ACLに変換する(S505)。
そして、ACL変換モジュール(126)が、そのNTFS ACLを、記憶装置(131)に書込む必要があるかどうかを判断する(S600)。この書込み要否判定処理の詳細は後述する。
書き込み要否判定処理にて、書き込みが必要と判断された場合、ACL変換モジュール(126)が、S505での変換後のNTFS ACLを、記憶装置(131)に書き込む(S506)。具体的には、ACL変換モジュール(126)が、記憶装置(131)内の対象ファイルに、変換後のNTFS ACLを対応付ける。その後、S507の処理に進む。
書き込み要否判定処理にて、書き込み不要と判定された場合、ACL変換モジュール(126)は、S507の処理に進む。
S507では、ACL変換モジュール(126)が、対象ファイルのロックを外す(S507)。
以上により、ファイル単位のACL変換処理の終了となる。なお、ファイル単位のACL変換処理に、S505での変換後のNTFS ACLをACLキャッシュ(127)に書込む処理が含まれていても良い。また、クライアント(111)又は(113)からのファイルアクセス要求に応答して行われるファイル単位のACL変換処理と、バックグラウンドでのファイル単位のACL変換処理は、並行して実行されるため、同一ファイル(またはディレクトリ)に対して、ほぼ同時に複数のACL変換要求が発生する可能性がある。しかし、本実施例では、対象ファイルがロックされてからアンロックされるまでの間は、ただ一つのプロセスのみが、対象ファイルに対応するPOSIX sACLにアクセスすることが許可されるため、POSIX ACLに矛盾が生じることを防ぐことができる。
次に、図6を参照して、書き込み要否判定処理(S600)の詳細を説明する。
S601で、ACL変換モジュール(126)が、ファイルシステム情報(128)を参照し、対象ファイルを管理するファイルシステム(以下、対象ファイルシステム)がリードオンリーでマウントされているかどうかを判断する。リードオンリーマウントであった場合には、ACL変換モジュール(126)が、書き込み不要と判断し(S605)、処理を終了する。リードオンリーマウントでなければ、S602に進む。なお、リードオンリーでマウントとは、対象ファイルシステムに、リードオンリー(読出し可能であるが書込み不可能)であることを表すアクセス属性が対応付けられていることを意味する。
S602で、ACL変換モジュール(126)が、対象ファイルシステムが枯渇している(具体的には、例えば、対象ファイルシステムが管理する全てのファイルを含んだ論理記憶空間の空き容量がゼロではないが所定量でありほぼ枯渇している、又はゼロのため完全に枯渇している(ファイルシステムフル))かどうかを判断する。枯渇しているとの判断になれば、ACL変換モジュール(126)が、書き込み不要と判断し(S605)、処理を終了する。枯渇していないとの判断になれば、S603に進む。
S603で、ACL変換モジュール(126)が、対象ファイルシステムが管理する論理記憶空間の使用率と対象ファイルのクォータ上限値との差が所定値であるかどうか、例えば、その使用率が対象ファイルのクォータの上限値に近い(もしくは上限値に達しているかどうか)を判断する。クォータ上限値に近い(又は達している)との判断になれば、ACL変換モジュール(126)が、書き込み不要と判断し(S605)、処理を終了する。そのような判断にならなければ、ACL変換モジュール(126)が、書き込みが必要と判断し(S604)、処理を終了する。
本実施例では、図5に示したように、書き込み要否判定処理(S600)を、NTFS ACLを実際に書き込む(S506)前に実施しているが、記憶装置(131)への書き込みを行った際に、特定のエラーを無視するようにしても実現できる。例えば、リードオンリーファイルシステム(EROFS)、ファイルシステムフル(ENOSPC)、クォータ(EDQUOT)の書き込みエラーを無視するようにすればよい。
以上、上述した説明によれば、NTFS ACLが対応付けられていないファイルを指定したファイルアクセス要求をクライアント(111)又は(113)から受信しても、その要求に応答して、そのファイルに対応付けられているPOSIX ACLをNTFS ACLに変換し、そのNTFS ACLを用いてアクセス制御を行うことができる。また、クライアント(111)又は(113)からアクセスされないファイルについては、バックグラウンドでのACL変換処理によって、NTFS ACLを用意することができる。
図10は、リストア処理のフローチャートを示す。
バックアップ・リストアエージェント(142)は、アーカイブイメージ(バックアップイメージ)を指定したリストア指示をバックアップ・リストアサーバ(112)から受信した場合、そのアーカイブイメージにおける全てのファイルと全てのティレクトリについて、以下のS1002乃至S500の処理が繰り返される。
すなわち、バックアップ・リストアエージェント(142)は、ファイルアクセスI/F(147)を介してファイルアクセスモジュール(123)を呼び出し、アクセス制御モジュール(124)が、リストア対象のディレクトリ又はファイルを、例えば記憶装置131内に作成する(S1002)。ファイルの場合は、アクセス制御モジュール(124)は、S1002で作成したファイルに、ファイル本体をリストアする(S1003)。また、アクセス制御モジュール(124)は、S1002で作成したファイルに、対応付けられているPOSIX ACLやファイルメタデータもリストアする(S1004)。
次に、バックアップ・リストアエージェント(142)は、ACL変換I/F(145)を上書き変換フラグ付きで呼ぶ(S1005)。
ACL変換モジュール(126)が、ファイル単位のACL変換処理(S500)を実行する。ここで前述したとおり、上書き変換フラグ付きであるため、図5のS502でYESとなり、S503が行われることなく、S504の処理が実行される。このとき、POSIX ACLはアーカイブイメージから取得済みのため、S502でYESとなった場合には、S504をスキップしてS505が行われても良い。そして、NTFS ACLへの変換は、アーカイブイメージから取得されたPOSIX ACLに基づいて行われる。バックアップ取得時のPOSIX ACLに対応したNTFS ACLを生成するためである。S503が行われていないため、記憶装置(131)に、リストアによって上書きされるファイルが存在し、且つ、そのファイルに既にNTFS ACLが対応付けられていたとしても、リストアされたファイルには、その既存のNTFS ACLではなく、バックアップ時のPOSIX ACLを基に生成されたNTFS ACLが対応付けられる。
以上のリストア処理により、旧型ファイルシステム(POSIX ACLに対応したファイルシステム)で管理されていたファイルを含むバックアップイメージを、新型ファイルシステム(NTFS ACLに対応したファイルシステム)で管理されるファイルを含んだイメージとしてリストアすることが可能となる。
以下、本発明の第二実施例を説明する。その際、第一実施例との相違点を主に説明し、第一実施例との共通点については説明を省略或いは簡略する(これは、後述の第三実施例乃至第五実施例についても同様である)。
第一実施例の書き込み要否判定処理では、ファイルシステムがリードオンリーマウントファイルシステムであった場合には、変換後のNTFS ACLが記憶装置(131)に書き込まれないが、それに代えて、以下のように処理することもできる。
図7は、本発明の第二実施例での書き込み要否判定処理のフローチャートである。
ACL変換モジュール(126)が、ファイルシステム情報(128)を参照し、対象ファイルシステムがリードオンリーマウントされているかを判断する(S701)。リードオンリーマウントであった場合には、次に、ACL変換モジュール(126)が、記憶装置(131)が書き込み可能なデバイスかどうかを判断する(S702)。ここで、書き込み可能なデバイスとは、例えは、ハードディスクやフラッシュメモリなどの書き換え可能型のデバイスがある。一方、書き込み不可能なデバイスとは、例えば、CD−ROMなどのライトワンス型のデバイスがある。
ファイルシステムがリードオンリーマウントでない場合や、リードオンリーマウントであっても記憶装置(131)が書き込み可能なデバイスであった場合には、ACL変換モジュール(126)が、書き込み必要と判断し(S703)、処理を終了する。一方、リードオンリーマウントでかつ記憶装置(131)が書き込み不可能なデバイスであった場合には、ACL変換モジュール(126)が、書き込み不要と判断し(S704)、処理を終了する。なお、リードオンリーマウントであり記憶装置(131)が書込み可能なデバイスであっても、ファイルシステムフル等の他の要因で書込み不要と判断されても良い。
ファイルシステムがリードオンリーマウントであるというのは、論理的に書込み不可能となっているのであって、物理的に書込み不可能となっているわけではない。本実施例では、リードオンリーマウントであっても記憶装置(131)が書込み可能なデバイスであれば、変換後のNTFS ACLを記憶装置(131)が書き込まれる。ファイルシステムがリードオンリーマウントであれば、ファイルアクセス要求で指定されているファイルが書き込まれるのは、アクセス制御モジュール(124)によって禁止することが可能である。つまり、リードオンリーマウントに従ってファイル本体の書込みを禁止しつつ、NTFS ACLについては、リードオンリーマウントを無視して記憶装置(131)に書込むことが可能である。
図8は、本発明の第三実施例での書き込み要否判定処理のフローチャートである。
ACL変換モジュール(126)が、ファイルのアクセス統計情報(ファイルのアクセス回数などの統計を表す情報であり、例えばファイルのアクセスの都度に更新される情報)を参照し、ファイルのアクセス回数が規定回数(例えば10回)に達したかどうかを判断する(S801)。
ACL変換モジュール(126)は、アクセス回数が規定回数未満の場合は、書き込み不要と判断し(S803)、処理を終了する。一方、ACL変換モジュール(126)は、アクセス回数が規定回数以上の場合は、書き込み必要と判断し(S802)、処理を終了する。
このようにすることで、アクセスが数回しか発生しないファイルに関しては、変換後のNTFS ACLを記憶装置(131)に書き込まない事で、空き容量を圧迫することを防止することができる。また、記憶装置(131)が、フラッシュメモリ等のように、書き込み速度が遅い及び/又は書き込み可能回数に制限があるデバイスで構成されている場合には、この第三実施例は有用である。
第一実施例乃至第三実施例で説明した書き込み要否判定処理は組み合わせて用いることも可能である。例えば、第三実施例での書込み要否判定処理において、第一実施例での書込み要否判定処理におおけるクォータ上限値チェックが行われても良い。
本発明の第四実施例では、書き込み要否判定処理において、書き込み不要と判断されたNTFS ACL(以下、「ダーティのNTFS ACL」と言う)のうち、書き込み阻害要因が解消したダーティのNTFS ACLは、記憶装置(131)に書き込まれる。第四実施例では、第一及び第二のキャッシュフラッシュデーモン処理が行われる。
図9Aは、第一のキャッシュフラッシュデーモン処理のフローチャートである。
ACLキャッシュ管理モジュール(125)が、ダーティのNTFS ACLがACLキャッシュ(127)に存在しているかどうかを判定する(S901)。存在しないとの判定になった場合、ACLキャッシュ管理モジュール(125)が、一定時間(例えば5分)スリープし(S902)、再びS901を行う。
存在しているとの判定になった場合は、ACLキャッシュ管理モジュール(125)は、書き込み阻害要因が解消したかどうかを判定する(S903)。ここで、「書き込み阻害要因」とは、NTFS ACLを記憶装置(131)に書込むことの阻害要因であり、具体的には、例えば、ファイルシステムが管理する論理記憶空間の容量の枯渇(例えばファイルシステムフル)、或いは、ファイルシステムが管理する論理記憶空間の使用率がクォータ上限値に近い又は達した等である。
書き込み阻害要因が解消されていたとの判定になれば、ACLキャッシュ管理モジュール(125)が、ACLキャッシュ(127)上のダーティのNTFS ACLを記憶装置(131)に書き込み(S904)、S901へ処理を戻す。
書き込み阻害要因が解消されていないとの判定になれば、ACLキャッシュ管理モジュール(125)が、ACLキャッシュ(127)上のダーティのNTFS ACLを記憶装置(131)には書き込まず、S902へ処理を移し、S901へ戻る。
以上の第一のキャッシュフラッシュデーモン処理によれば、いわゆるポーリング方式で行われる。つまり、定期的に、書込み阻害要因が解消したかどうかをチェックし、解消されている場合に、ダーティのNTFS ACLが、記憶装置(131)に書き込まれる。
それに対し、第二のキャッシュフラッシュデーモン処理は、いわゆるイベントドリブン方式の処理である。第四実施例では、第一及び第二のキャッシュフラッシュデーモン処理の一方又は双方を採用することができる。
図9Bは、第二のキャッシュフラッシュデーモン処理のフローチャートである。
特定のイベント、例えば、「対象ファイルシステムが管理する論理記憶空間からオブジェクト(例えば、ファイル又はその中のACL等)が削除された」というイベントを契機に、第二のキャッシュフラッシュデーモン処理が開始される。
ACLキャッシュ管理モジュール(125)は、S901と同様に、ダーティのNTFS ACLがACLキャッシュ(127)に存在するかどうかを判断し(S911)、存在しないとの判断になれば、処理を終了する。
一方、存在するとの判断になれば、ACLキャッシュ管理モジュール(125)は、S903と同様に、書き込み阻害要因が解消されたかどうかを判断する(S912)。阻害要因が解消されていないとの判断になれば、ACLキャッシュ管理モジュール(125)が、処理を終了する。
阻害要因が解消されているとの判断になれば、ACLキャッシュ管理モジュール(125)は、S904と同様に、ダーティのNTFS ACLを記憶装置(131)に書き込む(S913)。そしてS911に戻る。
図9A及び/又は図9Bを参照して説明した処理は、第一実施例乃至第三実施例のうちの少なくとも一つで行われても良い。
図12は、本発明の第五実施例で行われる容量回答処理のフローチャートである。
容量回答処理とは、ファイルシステムが管理する論理記憶空間の使用量又は空き容量の問合せをNASマネージャ(101)、或いはクライアント(111)又は(113)から受信した場合に実行される処理であり、問合せに応答して、その使用量又は空き容量を回答する処理である。例えば、アクセス制御モジュール(124)が、その問合せで指定されている論理記憶空間の現在の使用量(又は空き容量)をファイルシステムを基に特定し、且つ、NTFS ACLの無いファイル(以下、無しファイル)を特定する(S1201)。そして、アクセス制御モジュール(124)は、現在の使用量に、一以上の無しファイルにそれぞれ対応した一以上のNTFS ACLの総量を加算した値(又は、現在の空き容量から、一以上の無しファイルにそれぞれ対応した一以上のNTFS ACLの総量を減算した値)を、問合せの発行元に回答する(S1202)。これにより、実際にNTFS ACLを作成して論理記憶空間に書込む際に、論理記憶空間が枯渇してしまっていることを未然に防ぐことが期待できる。
図12を参照して説明した処理は、第一実施例乃至第四実施例のうちの少なくとも一つにおいても行うことが可能である。
図13は、本発明の第六実施例で行われるNTFS ACLの更新処理のフローチャートである。
ACL変換モジュール(126)は、POSIX ACLが更新されたことを契機に、この処理を開始する。ACL変換モジュール(126)は、更新されたPOSIX ACLが対応付けられているファイルに、NTFS ACLが対応付けられていれば(S1301でYES)、更新後のPOSIX ACLを基に、そのNTFS ACLを更新する(S1302)。これにより、POSIX ACLとNTFS ACLとの整合性を保つことができる。
なお、逆に、NTFS ACLが更新された場合には、それに対応するPOSIX ACLが更新されても良い。この図13に示した処理は、第一実施例乃至第六実施例の少なくとも一つで行うことができる。
以上、本発明の幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、ファイルシステムが管理する論理記憶空間の全部又は一部が、GNS(Global Name Space)の一部として組み込まれても良い。また、例えば、図5のS505において、NTFS ACLの生成に失敗した場合には、その処理をやり直しても良いし、やり直さずに、ファイル単位のACL変換処理の終了としても良い(後者の場合には、次回以降のアクセスの際に、NTFS ACLが生成される)。また、例えば、バックグラウンドでのACL変換処理において、NTFS ACLの変換に失敗してその処理が異常終了した場合には、次回のバックグラウンドでのACL変換処理において、走査済みであるか否かに関わらず全てのファイルについて走査しても良いし、前回のACL変換処理においてACL変換に失敗したファイル及び未走査のファイルのみを走査しても良い。
図1は、本発明の第一実施例に係るシステム全体の構成例を示す図である。 図2Aは、ファイルシステム種別切替えのフローチャートである。図2Bは、バックグラウンドでのACL変換処理のフローチャートを示す。図2Cは、ディレクトリ単位のACL変換処理のフローチャートを示す。 図3は、CIFSファイルサービスのフローチャートである。 図4は、図3のS400であるアクセス可否判定処理のフローチャートである。 図5は、ファイル単位のACL変換処理のフローチャートである。 図6は、第一実施例での書き込み要否判定処理のフローチャートである。 図7は、本発明の第二実施例での書き込み要否判定処理のフローチャートである。 図8は、本発明の第三実施例での書き込み要否判定処理のフローチャートである。 図9Aは、本発明の第四実施例での第一のキャッシュフラッシュデーモン処理のフローチャートである。図9Bは、第四実施例での第二のキャッシュフラッシュデーモン処理のフローチャートである。 図10は、リストア処理のフローチャートを示す。 図11Aは、ファイルメタデータ、POSIX ACL及びNTFS ACLで構成されたファイル部分の例を示す。図11Bは、POSIX ACLに対応したファイルシステムを表すファイルシステム種別情報を示す。図11Cは、NTFS ACLに対応したファイルシステムを表すファイルシステム種別情報を示す。 図12は、本発明の第五実施例での容量回答処理のフローチャートである。 図13は、本発明の第六実施例で行われるNTFS ACLの更新処理のフローチャートである。
符号の説明
121…NAS制御部、131…記憶装置、134…POSIX ACL 135…NTFS ACL

Claims (15)

  1. ファイルアクセス要求を受信しそのファイルアクセス要求で指定されているファイルに対するアクセスをアクセス制御リスト(以下、ACL)を用いて制御するアクセスコントローラであって、
    ファイルシステム又は使用するACLの種別を第二種から第一種へ切替えることの切替え指示を受信する切替え指示受信部と、
    前記切替え指示に応答して前記ファイルシステム又はACLの種別を第二種から第一種に切替える切替え部と、
    下記(A)及び(B)の処理、
    (A)前記ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後に、ファイルアクセス要求を受信したことに応答して、そのファイルアクセス要求で指定されているファイルに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行い、前記判断の結果が否定的である場合に、そのファイルに対応した第二種のACLに基づいて第一種のACLを生成し、
    (B)前記ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後に、指定されたエリアのACL変換要求を受信したことに応答して、そのACL変換要求で指定されているエリアのファイル及びディレクトリに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行い、前記判断の結果が否定的である場合に、そのファイル及びディレクトリに対応した第二種のACLに基づいて第一種のACLをバックグラウンドで生成する、
    を行なうACL変換部と、
    生成された前記第一種のACLを用いて、対応するファイルへのアクセスを制御するアクセス制御部と
    を備えるアクセスコントローラ。
  2. 前記ACL変換部は、
    前記(A)で、前記ファイルアクセス要求を受信すると、そのファイルアクセス要求で指定されているファイルにロックをかけて前記判断及び生成処理を実行し、前記実行が完了したらそのロックを解除し、
    前記(B)で、前記ACL変換要求を受信すると、そのACL変換要求で指定されているエリアのファイル及びディレクトリ下のファイルにロックをかけて前記判断及び生成処理を実行し、前記実行が完了したらそのロックを解除する、
    請求項1記載のアクセスコントローラ。
  3. 前記ファイルシステム又は使用するACLの種別を表す種別情報を記憶する記憶資源を更に備え、
    前記ACL変換部が、前記種別情報を参照することにより現在の前記ファイルシステム又はACLの種別を特定するよう構成されており、
    前記切替え部が、前記種別情報を、第二種を表す情報から第一種を表す情報に更新することで、前記ファイルシステム又は使用するACLの種別を第二種から第一種に切替えることが完了する、
    請求項1又は2記載のアクセスコントローラ。
  4. メモリを更に備え、
    前記ACL変換部が、前記生成した第一種のACLを、前記ファイルシステムによって管理されるファイルを含んだ論理記憶空間に書込むことが可能であるか不可能であるかを判断し、書き込み可能と判断したならば、前記論理記憶空間と前記メモリの両方に、前記ファイルに対応付ける第一種のACLを書き込み、書き込み不可能と判断したならば、前記ファイルに対応付ける第一種のACLを、前記論理記憶空間に書き込まず、前記メモリに書込み、
    前記ACL変換部が、受信したファイルアクセス要求で指定されているファイルに第一種のACLが対応付けられているか否かの判断を、前記メモリを参照することにより行い、そのファイルに対応した第一種のACLが前記メモリに記憶されていれば、その判断の結果が肯定的となる、
    請求項1乃至3のうちのいずれか1項に記載のアクセスコントローラ。
  5. 前記ACL変換部は、以下の(1)乃至(3)のいずれかの場合、
    (1)前記生成された第一種のACLを記憶できる程の空き容量が前記論理記憶空間に無い場合、
    (2)前記論理記憶空間の使用容量又は空き容量と予め設定された制限値との差が所定値の場合、
    (3)読出し可能であるが書込み不可能であることを意味するアクセス属性が、前記論理記憶空間に対応付けられている場合、
    前記生成した第一種のACLを前記論理記憶空間に書込むことが不可能と判断する、
    請求項4記載のアクセスコントローラ。
  6. 前記論理記憶空間に第一種のACLを書込むことが可能になったか否かを監視し、書込むことが可能になったことを検出した場合に、前記メモリに記憶されている、前記論理記憶装置に未だ書込まれていない前記第一種のACLを、前記論理記憶空間に書込むACLデステージ部、
    を更に備える請求項4又は5記載のアクセスコントローラ。
  7. 前記ACL変換部は、前記ファイルシステムによって管理されるファイルを含んだ論理記憶空間に、読出し可能であるが書込み不可能であることを意味するアクセス属性が対応付けられていても、前記論理記憶空間に、前記指定されているファイルに対応付ける第一種のACLを書き込む、
    請求項1乃至3のいずれか1項に記載のアクセスコントローラ。
  8. 前記ACL変換部が、ファイルアクセス要求を受け付けながら、前記論理記憶空間に存在する全てのファイルについて、第一種のACLが対応付けられているか否かを判断し、
    前記ACL変換部が、否定的な判断結果が得られる都度に、否定的な判断結果に対応したファイルに対応する第二種のACLを基に、そのファイルに対応する第一種のACLを生成する、
    請求項1乃至7のいずれか1項に記載のアクセスコントローラ。
  9. 前記ファイルシステムによって管理される論理記憶空間ついての使用容量又は空き容量の問合せを受信する容量問合せ受信部と、
    前記論理記憶空間内の全てのファイルに第一種のACLが対応付けられていると仮定した場合の使用容量又は空き容量を返答する容量返答部と
    を更に備える請求項1乃至8のうちのいずれか1項に記載のアクセスコントローラ。
  10. 前記ACL変換部が、第一種のACLが対応付けられたファイルに対応している第二種のACLが更新された場合、更新後の第二種のACLを基にその第一種のACLを更新する、
    請求項1乃至9のうちのいずれか1項に記載のアクセスコントローラ。
  11. 前記ACL変換部が、バックアップされたファイル及びそれに対応する第二種のACLがリストアされたことによって、第一種のACLが対応付けられているファイルが、リストアされたファイルに更新された場合、リストアされたファイルである更新後のファイルには、更新前のファイルに対応していた第一種のACLではなく、更新後のファイルに対応しておりリストアされた第二種のACLを基に生成した第一種のACLを対応付ける、
    請求項1乃至10のうちのいずれか1項に記載のアクセスコントローラ。
  12. メモリを更に備え、
    前記ACL変換部が、前記メモリに、前記生成した第一種のACLを書き込み、前記メモリに記憶されているその第一種のACLが規定回数以上前記アクセス制御部によって使用された場合に、そのメモリに記憶されている第一種のACLを、前記ファイルシステムによって管理されるファイルを含んだ論理記憶空間に書込む、
    請求項1乃至11のうちのいずれか1項に記載のアクセスコントローラ。
  13. ファイルシステムによって管理されるファイルを構成するデータが記憶される記憶装置と、
    ファイルアクセス要求を受信し、そのファイルアクセス要求で指定されているファイルに対するアクセスを、アクセス制御リスト(以下、ACL)を用いて制御するアクセスコントローラと
    を備え、
    前記アクセスコントローラが、
    ファイルシステム又は使用するACLの種別を第二種から第一種へ切替えることの切替え指示を受信し、
    前記切替え指示に応答して前記ファイルシステム又はACLの種別を第二種から第一種に切替え、
    前記ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後に、ファイルアクセス要求を受信したことに応答して、そのファイルアクセス要求で指定されているファイルに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行い、前記判断の結果が否定的である場合に、そのファイルに対応した第二種のACLに基づいて第一種のACLを生成し、
    前記ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後に、指定されたエリアのACL変換要求を受信したことに応答して、そのACL変換要求で指定されているエリアのファイル及びディレクトリに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行い、前記判断の結果が否定的である場合に、そのファイル及びディレクトリに対応した第二種のACLに基づいて第一種のACLをバックグラウンドで生成し、
    生成された前記第一種のACLを用いて、対応するファイルへのアクセスを制御する
    ストレージシステム。
  14. 前記アクセスコントローラが、メモリを更に備え、
    前記アクセスコントローラが、前記生成した第一種のACLを、前記ファイルシステムによって管理されるファイルを含んだ論理記憶空間に書込むことが可能であるか不可能であるかを判断し、書き込み可能と判断したならば、前記論理記憶空間の基となる前記記憶装置と、前記メモリとの両方に、前記ファイルに対応付ける第一種のACLを書き込み、書き込み不可能と判断したならば、前記ファイルに対応付ける第一種のACLを、前記記憶装置に書き込まず、前記メモリに書込み、
    前記アクセスコントローラが、受信したファイルアクセス要求で指定されているファイルに第一種のACLが対応付けられているか否かの判断を、前記メモリを参照することにより行い、そのファイルに対応した第一種のACLが前記メモリに記憶されていれば、その判断の結果が肯定的となる、
    請求項13記載のストレージシステム。
  15. コンピュータの切替え部が、ファイルシステム又は使用するアクセス制御リスト(以下、ACL)の種別を第二種から第一種に切替え、
    コンピュータのACL変換部が、前記ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後に、ファイルアクセス要求を受信したことに応答して、そのファイルアクセス要求で指定されているファイルに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行い、前記判断の結果が否定的である場合に、そのファイルに対応した第二種のACLに基づいて第一種のACLを生成し、
    コンピュータのACL変換部が、前記ファイルシステム又は使用するACLの種別が第二種から第一種に切替えられた後に、指定されたエリアのACL変換要求を受信したことに応答して、そのACL変換要求で指定されているエリアのファイル及びディレクトリに、第一種のファイルシステムに対応した第一種のACLが対応付けられているか否かの判断を行い、前記判断の結果が否定的である場合に、そのファイル及びディレクトリに対応した第二種のACLに基づいて第一種のACLをバックグラウンドで生成し、
    コンピュータのアクセス制御部が、生成された前記第一種のACLを用いて、対応するファイルへのアクセスを制御する、
    アクセス制御方法。
JP2007241563A 2007-09-18 2007-09-18 アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ Expired - Fee Related JP4977565B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007241563A JP4977565B2 (ja) 2007-09-18 2007-09-18 アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ
US12/020,760 US8260811B2 (en) 2007-09-18 2008-01-28 Access controller that controls access to files by using access control list
US13/546,030 US8543602B2 (en) 2007-09-18 2012-07-11 Access controller that controls access to files by using access control list

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241563A JP4977565B2 (ja) 2007-09-18 2007-09-18 アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ

Publications (2)

Publication Number Publication Date
JP2009075672A JP2009075672A (ja) 2009-04-09
JP4977565B2 true JP4977565B2 (ja) 2012-07-18

Family

ID=40455688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241563A Expired - Fee Related JP4977565B2 (ja) 2007-09-18 2007-09-18 アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ

Country Status (2)

Country Link
US (2) US8260811B2 (ja)
JP (1) JP4977565B2 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831576B2 (en) * 2006-12-22 2010-11-09 International Business Machines Corporation File plan import and sync over multiple systems
US7805472B2 (en) * 2006-12-22 2010-09-28 International Business Machines Corporation Applying multiple disposition schedules to documents
US7836080B2 (en) * 2006-12-22 2010-11-16 International Business Machines Corporation Using an access control list rule to generate an access control list for a document included in a file plan
US7979398B2 (en) * 2006-12-22 2011-07-12 International Business Machines Corporation Physical to electronic record content management
JP4977565B2 (ja) 2007-09-18 2012-07-18 株式会社日立製作所 アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ
US9524396B2 (en) 2009-04-16 2016-12-20 International Business Machines Corporation System that maintains objects created and modified within designated directories on a per-client basis in a network filesystem
US8838644B2 (en) * 2009-11-25 2014-09-16 International Business Machines Corporation Extensible access control list framework
JP5482183B2 (ja) * 2009-12-18 2014-04-23 富士ゼロックス株式会社 情報処理装置およびプログラム
JP5449528B2 (ja) 2010-03-12 2014-03-19 株式会社日立製作所 ストレージシステム及びそのファイルアクセス判定方法
US8601549B2 (en) * 2010-06-29 2013-12-03 Mckesson Financial Holdings Controlling access to a resource using an attribute based access control list
WO2012066595A1 (en) * 2010-11-17 2012-05-24 Hitachi, Ltd. File storage apparatus and access control method
JP2012137850A (ja) * 2010-12-24 2012-07-19 Fujitsu Ltd 分散ファイル操作プログラム、分散ファイル操作装置、及び分散ファイル操作方法
WO2013051061A1 (en) * 2011-10-05 2013-04-11 Hitachi, Ltd. Computer
US8515904B1 (en) * 2012-03-29 2013-08-20 Emc Corporation Providing file sytem quota support for a file system having separated data and metadata
US9779257B2 (en) 2012-12-19 2017-10-03 Microsoft Technology Licensing, Llc Orchestrated interaction in access control evaluation
US10073987B2 (en) * 2013-04-02 2018-09-11 Western Digital Technologies, Inc. Methods and systems for privileged execution support for file system commands on a storage device
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
JP6366457B2 (ja) * 2014-10-15 2018-08-01 株式会社日立製作所 情報共有装置、及び、情報共有方法
CN105635086B (zh) * 2014-11-19 2020-02-04 中国科学院声学研究所 一种从控制平面和数据平面访问交换机外存的方法
US9836480B2 (en) 2015-01-12 2017-12-05 Qumulo, Inc. Filesystem capacity and performance metrics and visualizations
US11132336B2 (en) 2015-01-12 2021-09-28 Qumulo, Inc. Filesystem hierarchical capacity quantity and aggregate metrics
US10095729B2 (en) 2016-12-09 2018-10-09 Qumulo, Inc. Managing storage quotas in a shared storage system
US10469501B2 (en) * 2017-03-31 2019-11-05 Hewlett Packard Enterprise Development Lp Multi-protocol access control lists
CN107403105B (zh) * 2017-06-30 2020-09-04 华为技术有限公司 一种文件系统的权限设置方法及装置
CN107679420B (zh) * 2017-10-23 2021-01-12 苏州浪潮智能科技有限公司 一种基于分布式文件系统的权限设置方法及系统
US10642785B2 (en) * 2018-04-25 2020-05-05 International Business Machines Corporation Optimized network file system client for read-only exports/mounts
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
US10614241B1 (en) 2018-12-27 2020-04-07 Qumulo, Inc. Access verification for distributed file systems
US10460122B1 (en) * 2018-12-27 2019-10-29 Qumulo, Inc. Dynamic permission modes
US11151092B2 (en) 2019-01-30 2021-10-19 Qumulo, Inc. Data replication in distributed file systems
US10614033B1 (en) 2019-01-30 2020-04-07 Qumulo, Inc. Client aware pre-fetch policy scoring system
US10725977B1 (en) 2019-10-21 2020-07-28 Qumulo, Inc. Managing file system state during replication jobs
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US10860372B1 (en) 2020-01-24 2020-12-08 Qumulo, Inc. Managing throughput fairness and quality of service in file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US10860414B1 (en) 2020-01-31 2020-12-08 Qumulo, Inc. Change notification in distributed file systems
US10936538B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Fair sampling of alternate data stream metrics for file systems
US10936551B1 (en) 2020-03-30 2021-03-02 Qumulo, Inc. Aggregating alternate data stream metrics for file systems
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11294604B1 (en) 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US11354273B1 (en) 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548740A (en) * 1992-02-10 1996-08-20 Sharp Kabushiki Kaisha Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof
US6457130B2 (en) * 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
JP4078010B2 (ja) * 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
DE10101034A1 (de) * 2001-01-11 2002-08-01 Jumptec Ind Computertechnik Ag Datenkommunikationssystem und Datenumwandlungsvorrichtung
US7054944B2 (en) * 2001-12-19 2006-05-30 Intel Corporation Access control management system utilizing network and application layer access control lists
JP2005078612A (ja) 2003-09-04 2005-03-24 Hitachi Ltd ファイル共有システム及びファイル共有装置間のファイル移行方法
US7512990B2 (en) * 2003-10-16 2009-03-31 International Business Machines Corporation Multiple simultaneous ACL formats on a filesystem
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
JP2007233635A (ja) * 2006-02-28 2007-09-13 Fuji Xerox Co Ltd 情報管理システム及び情報管理方法、並びにコンピュータ・プログラム
US8620970B2 (en) * 2006-10-03 2013-12-31 Network Appliance, Inc. Methods and apparatus for changing versions of a filesystem
JP4977565B2 (ja) 2007-09-18 2012-07-18 株式会社日立製作所 アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ

Also Published As

Publication number Publication date
US8260811B2 (en) 2012-09-04
JP2009075672A (ja) 2009-04-09
US20120278289A1 (en) 2012-11-01
US20090077087A1 (en) 2009-03-19
US8543602B2 (en) 2013-09-24

Similar Documents

Publication Publication Date Title
JP4977565B2 (ja) アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ
US10235066B1 (en) Journal destage relay for online system checkpoint creation
CA2751180C (en) System and method for secure and reliable multi-cloud data replication
KR101137299B1 (ko) 스냅샷을 제공하는 파일 시스템에 대한 계층적 저장 관리
US9990372B2 (en) Managing the level of consistency for a file in a distributed filesystem
CN100485678C (zh) 将虚拟映射存入对象属性中的分布式基于对象的存储系统
US8732121B1 (en) Method and system for backup to a hidden backup storage
JP3641183B2 (ja) Raidデータ記憶システムにおける瞬時バックアップを提供する方法及びシステム
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US20090216973A1 (en) Computer system, storage subsystem, and data management method
Tait et al. Service interface and replica management algorithm for mobile file system clients
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US20090300303A1 (en) Ranking and Prioritizing Point in Time Snapshots
US7383465B1 (en) Undoable volume using write logging
US20060224639A1 (en) Backup system, program and backup method
JP2010102738A (ja) ハードウェアベースのファイルシステムのための装置および方法
US10628298B1 (en) Resumable garbage collection
WO2009123342A1 (ja) データベースシステム、データベース更新方法、データベース、及びデータベース更新プログラム
KR100527274B1 (ko) 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법
JP2009064159A (ja) 計算機システム、管理計算機及びデータ管理方法
US8082230B1 (en) System and method for mounting a file system on multiple host computers
US6823348B2 (en) File manager for storing several versions of a file
JPH11120057A (ja) ファイルバックアップ方法
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120301

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120416

R150 Certificate of patent or registration of utility model

Ref document number: 4977565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees