JP2006031608A - 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム - Google Patents

計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム Download PDF

Info

Publication number
JP2006031608A
JP2006031608A JP2004212993A JP2004212993A JP2006031608A JP 2006031608 A JP2006031608 A JP 2006031608A JP 2004212993 A JP2004212993 A JP 2004212993A JP 2004212993 A JP2004212993 A JP 2004212993A JP 2006031608 A JP2006031608 A JP 2006031608A
Authority
JP
Japan
Prior art keywords
virtual view
file
information
file data
stored
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.)
Pending
Application number
JP2004212993A
Other languages
English (en)
Inventor
Yosuke Ishii
陽介 石井
Mitsuru Ubusawa
満 生澤
Masaaki Iwasaki
正明 岩嵜
Yoji Nakatani
洋司 中谷
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 JP2004212993A priority Critical patent/JP2006031608A/ja
Priority to US10/954,075 priority patent/US20060020572A1/en
Publication of JP2006031608A publication Critical patent/JP2006031608A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/18File system types
    • G06F16/188Virtual file systems
    • G06F16/192Implementing virtual folder structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストレージ装置に格納されている情報資源に対して、利用者の要求する分類条件で分類された情報資源のリストを迅速かつ最新の情報を反映させて提供する。
【解決手段】1台以上のストレージ装置500にネットワーク2を介して接続されている制御サーバ100に、ストレージ装置500に格納されているファイルの分類条件を受け付ける手段と、ストレージ装置500に格納されているファイルの中から、受け付けた分類条件毎に、その分類条件を満たすファイルのファイル名および格納位置を対応付けた情報(仮想View情報)を生成して記憶する手段と、利用者からの仮想View情報の提示要求を受け付けて記憶している仮想View情報を提示する手段と、ストレージ装置500に格納されたファイルに対するアクセス処理が行われた場合に、記憶している仮想View情報を更新する手段とを設ける。
【選択図】図1

Description

本発明は、コンピュータシステムに保存された情報資源にアクセスするための技術に関し、特に、コンピュータシステムに保存された情報資源をグループ分けしたリストとして利用者に提示する技術に関する。
近年、コンピュータシステムの高性能化ならびに低価格化により、様々な業種や用途においてコンピュータシステムの利用が広がっている。これに伴い、従来は紙媒体などで扱っていた情報資源についても電子化がなされ、コンピュータシステムにおいて電子的に保存されるようにもなってきている。さらに、コンピュータシステムの利用が急速に進むにつれて、コンピュータシステムに保存される情報資源も爆発的に増大している。
従来のコンピュータシステムには、予め定めた分類条件にしたがい情報資源を階層的に分類して格納する方式を採用したものがある(例えば特許文献1)。特許文献1には、複数のコンピュータシステムをクラスタ構成して、情報資源を分類して格納するための仮想的な単一の階層構造を持つViewを構築し、そのViewを利用者に対して提供する技術が開示されている。特許文献1では、このViewの技術を採用することにより、情報資源に対するアクセスの利便性を高めている。
また、従来から、ストレージシステムに保存されている情報資源の中から特定の分類条件に合致する情報資源を検索し、検索され情報資源のリストをViewとして利用者に提示する技術が知られている(例えば非特許文献1)。非特許文献1では、コンピュータシステムが利用者からの分類条件を受け付け、情報資源を格納している複数のストレージシステムに対して、それぞれ、受け付けた分類条件での検索要求を行う。コンピュータシステムは、複数のストレージシステムが検索した検索結果を受け取り、全ての検索結果を集約して分類条件に合致する情報リストを作成して利用者に提供する。非特許文献1によれば、検索を行う毎に分類条件を設定できるため、利用者は、自分が検索したい情報ごとに動的なViewを取得できる。すなわち、非特許文献1の技術によれば、利用者毎に柔軟な情報を提供することができる。
特開2003−316522号公報 "WinFS API Session2煤A2003年10月検索、インターネット<URL: http://download.microsoft.com/download/6/6/9/669C56E3-12AF-48C5-AB2A-E7705F1BE37F/CLI321.ppt.>
上記特許文献1では、予め規定されている分類条件にしたがい情報資源をコンピュータシステムに格納しておいて、その分類条件毎に格納されている情報資源のリストをViewとして提供している。そのため、上記特許文献1は、利用者ごとに任意の分類条件で分類したViewを構築することが困難であるという問題を有している。具体的には、特許文献1の技術を用いて、予め規定されている分類条件と別の条件で分類したViewを構築しようとした場合、コンピュータシステムに格納されているファイルの入替えを行う必要が生じる。そして、その作業には、多大な手間と時間を費やしてしまう。特に、コンピュータシステムが大規模である場合、ファイルの入替作業に費やす手間および時間に関する問題は、大きなものとなる。
また、非特許文献1は、以下の問題を有している。具体的には、非特許文献1記載の技術は、利用者の希望する分類条件に対応したViewの提示要求を受け付けるたびに、ストレージシステムに格納されている情報資源の検索処理を行っている。そのため、非特許文献1では、利用者からの要求を受け付けてから対応するViewを提供するまでに長時間を費やしてしまうという問題が生じる。特に、膨大な量の情報資源を保存しているストレージシステムの中から、希望する分類条件に対応した情報を検索しようとした場合、その検索処理時間が増加してしまい、利用者の業務効率を悪化させてしまう。
さらに、非特許文献1に記載の技術では、上述したように利用者が希望する分類条件に対応した情報を検索しようとした場合に長時間を要する。そのため、検索処理の間にストレージシステムに格納された情報資源の登録・更新がなされた場合、検索処理の結果得られたViewが情報資源への登録・更新の情報を反映したデータか否かが不明となる。すなわち、非特許文献1では、最新データを確実に反映させたViewを利用者に提供することができない。
そこで、本発明の目的は、コンピュータシステムに格納されている情報資源に対して、利用者の要求する分類条件で分類された情報資源のリストを迅速かつ最新の情報を反映させて提供することにある。
上記課題を解決するため、本発明の一態様は、1台以上のストレージ装置にネットワークを介して接続され、該ストレージ装置に対するアクセス制御を行う計算機に適用される。
そして、前記計算機は、前記ストレージ装置に格納されているファイルデータの分類条件を受け付ける手段と、前記ストレージ装置に格納されているファイルデータの中から、前記分類条件を満たすファイルデータを検索して、分類条件毎に、該分類条件を満たすファイルデータのファイル名および格納位置を対応付けた情報(仮想View情報)を生成して記憶する手段と、利用者からの仮想View情報の提示要求を受け付けて、前記記憶している仮想View情報を提示する手段と、利用者からの前記ストレージ装置に格納されたファイルデータに対するアクセス要求を受け付けて、前記ストレージ装置のファイルデータに対するアクセス処理を行う手段と、前記ファイルデータに対するアクセス処理が行われた場合、前記記憶している仮想View情報を更新する手段と有する。
このように本発明によれば、計算機がストレージ装置に格納されたファイルデータについて、利用者から受け付けた分類条件毎に、その分類条件を満たすファイルデータのファイル名および格納位置を対応付けた仮想View情報を生成して、予め記憶するようにしている。そのため、本発明によれば、利用者の要求に応じた分類条件にしたがい分類された情報資源を柔軟に提供することができる。
また、本発明によれば、利用者が仮想View情報の提示を要求した場合、予め記憶している仮想View情報を提示するようにしているため、迅速に利用者の要求に対応することができる。
さらに、本発明によれば、計算機がファイルデータへのアクセス処理を行った場合に、記憶している仮想View情報を更新するようにしている。すなわち、本発明によれば、予め仮想View情報を記憶しておいて、ファイルデータへのアクセス処理が行われた場合にアクセス処理を契機として記憶している仮想View情報を更新している。したがって、本発明の計算機が記憶している仮想View情報は、アクセス処理が反映された状態で記憶されていることとなる。
そのため、本発明によれば、利用者が仮想View情報の提示を要求した場合に、最新の更新状態を反映させた仮想View情報を利用者に提供することができる。
以下、本発明の実施の形態が適用された仮想View提供システムを説明する。
〈第1実施形態〉
先ず、本発明の第1実施形態について説明する。
図1は、本発明の第1実施形態の仮想View提供システムのシステム構成を説明するための図である。
図示するように、仮想View提供システム1000は、制御サーバ(計算機)100、クライアントノード200a〜n、およびストレージノード500a〜nを有する。制御サーバ100は、各クライアントノード200a〜nとネットワーク1を介して接続されている。また、制御サーバ100は、各ストレージノード500a〜nとネットワーク2を介して接続されている。
制御サーバ100は、ストレージノード500a〜nと連携して、ストレージノード500a〜nに格納されている情報資源であるファイルデータ(ファイル)を管理する。具体的には、制御サーバ100は、ストレージノード500a〜nと連携して、ファイルを管理するファイルシステム機能をクライアントノード200a〜nに対して提供する。
さらに、本実施形態の制御サーバ100は、仮想View機能を有している。仮想View機能とは、ストレージノード500a〜nに格納されているファイルデータのファイル名および格納位置を含む「ファイルデータを示す情報」を後述する分類条件毎にグループ分けして、その分類条件毎にグループ分けした情報(以下において「仮想View」という)を記憶して、かつ仮想Viewをクライアントノード200a〜nに対して提供する機能である。この仮想View機能により、クライアントノード200a〜nに対して、単一のViewとしてファイルシステムの物理的なディレクトリ構成を提供するのではなく、クライアント個別の仮想Viewを構築して提供することを可能にしている。
クライアントノード200a〜nは、制御サーバ100が提供するファイルシステム機能を利用してストレージノード100に格納されているファイルデータの入出力処理を行う。具体的には、クライアントノード200a〜nは、利用者からのストレージノード500a〜nに格納されたファイルに対するアクセス要求を受け付ける。クライアントノード200a〜nは、上記のアクセス要求を受け付けた場合、ファイルシステム機能を利用して、ストレージノード500a〜nに格納されているファイルに対するアクセス処理を行う。例えば、受け付けたアクセス要求がファイルの読出し処理の場合、クライアントノード200a〜nは、制御サーバ100にストレージノード500a〜nに格納されているファイルに対する読出し要求を行う。制御サーバ100は、上記の読出し要求にしたがい、ストレージノード500a〜nから要求されたファイルを読出す。制御サーバ100は、上記の要求したクライアントノード200a〜nに対して、読み出したファイルを出力する。このように、クライアントノード200a〜nは、制御サーバ100を介して、ストレージノード500a〜nに格納されたファイルを利用することができる。
また、クライアントノード200a〜nは、制御サーバ100が提供する仮想View機能を利用して、分類条件毎にグループ分けされた仮想Viewを取得する。具体的には、クライアントノード200a〜nは、利用者からの分類条件を示す情報の入力を受け付ける。クライアントノード200a〜nは、受け付けた分類条件を示す情報を制御サーバ100に出力して、制御サーバ100に対して、受け付けた分類条件の毎にグループ分けした「仮想View」を生成させる。また、クライアントノード200a〜nは、利用者からの仮想Viewの提示要求を受け付ける。クライアントノード200a〜nは、受け付けた仮想Viewの提示要求を制御サーバ100に出力して、制御サーバ100から仮想Viewを取得する。クライアントノード200a〜nは、取得した仮想Viewを利用者に提示する。
なお、クライアントノード200a〜nが仮想Viewを利用者に提示する具体的な方法について特に限定しない。例えば、クライアントノード200a〜nに表示装置(図示しない)を接続しておいて、仮想Viewを表示装置に表示させるようにしてもよい。また、クライアントノード200a〜nは、制御サーバ100と一体となった構成でもよい。また、クライアントノード200a〜nの数はいくつでもよい。
ストレージノード500a〜nは、情報資源であるファイルを格納するための装置であり、制御サーバ100を介してファイルを格納する。なお、ストレージノード500a〜nは、制御サーバ100と一体となった構成でもよい。また、ストレージノード500a〜nの数はいくつでもよい。例えば、複数のストレージノードを用意し、格納するファイルを各ストレージノードに分散格納することにより、分散ファイルシステムを構築することも可能である。また、RAID(Redundant Array of Independent Disks)方式に基づき、複数のストレージノードを利用して情報を冗長格納することも可能である。これにより、単一のストレージノードを利用する場合と比べて、より高信頼で高性能なファイルシステムを提供することも可能となる。また、ストレージノード500a〜nは、RAIDグループを構成する複数のディスク装置を有するディスクアレイシステムとして構成されていてもよい。
なお、本実施形態では、ネットワーク1およびネットワーク2の具体的構成について特に限定しない。また、ネットワーク1およびネットワーク2が同じネットワーク網として構成されていてもよい。また、例えば、ネットワーク1がLAN(Local Area Network)で構成されていて、ネットワーク2がSAN(Storage Area Network)で構成されているというように、ネットワーク1およびネットワーク2が別のネットワーク網として構成されていてもよい。
続いて、制御サーバの構成について図2を用いて説明する。
図2は、本実施形態の制御サーバ100のハードウェア構成を例示する説明図である。
制御サーバ100は、プログラムを実行するプロセッサ110と、プログラムならびにデータを一時的に格納するメモリ120と、プログラムならびにデータを永続的に格納可能な外部記憶装置130と、外部記憶装置130にアクセスするための外部記憶I/F140と、ネットワークで接続された他装置にアクセスするためのネットワークI/F150と、それらを接続するバス199と
を有する。
外部記憶装置130およびメモリ120には、外部記憶I/F140を制御するための外部記憶I/F制御プログラム160、ネットワークI/F150を制御するためのネットワークI/F制御プログラム170、ファイルシステム機能を提供するためのファイルシステム制御プログラム180、および仮想View機能を提供するための仮想View制御プログラム190が格納されている。仮想View制御190プログラムには、仮想View管理プログラム191、仮想ViewI/F制御プログラム192、および仮想View更新制御プログラム193の3つのプログラムが含まれる。また、外部記憶装置130およびメモリ120には、後述する仮想View管理表2000(図3参照)が格納されている。なお、上記各プログラムは、外部記憶装置130に格納されていて、プロセッサ110によりメモリ120の所定領域に読み出されるものとする。また、仮想View管理表2000は、外部記憶装置130に格納されていて、プロセッサ110によりメモリ120の所定領域に読み出される。
なお、本実施形態では、上記各プログラムは、制御サーバ100が有する外部記憶装置130に格納されている場合を例にしているが特にこれに限定されるものではない。上記各プログラムを記憶媒体に格納しておくようにしてもよい。この場合、例えば、制御サーバ100に記憶媒体に格納された各プログラムを読出し可能な外部装置を接続しておく。そして、制御サーバ100のプロセッサ110は、記憶媒体に格納された各プログラムを読出してメモリ120に格納するようにしてもよい。なお、記憶媒体には、フレキシブルディスクやCD−ROM、DVD−ROM、パンチカード、バーコードなどの符号が印刷された印刷物等のコンピュータが読み取り可能な種々の揮発性記録媒体や不揮発性記憶媒体を利用できる。また、制御サーバ100のプロセッサ110は、インターネット等のネットワークを介してメモリ120に上記各プログラムをダウンロードするようにしてもよい。
プロセッサ110は、上記各プログラムを実行することにより各種の処理を行う。具体的には、プロセッサ110は、外部記憶装置130に格納されている外部記憶I/F制御プログラム160をメモリ120の所定領域に読み出して実行することにより外部記憶装置140を制御する。また、プロセッサ110は、外部記憶装置130に格納されているネットワークI/F制御プログラム170をメモリ120の所定領域に読み出して実行することによりネットワークI/F150を制御する。同様に、プロセッサ110は、外部記憶装置130に格納されているファイルシステム制御プログラム180をメモリ120の所定領域に読み出して実行することによりファイルシステム機能を提供する。同様に、プロセッサ110は、外部記憶装置130に格納されている仮想View更新制御プログラム190をメモリ120の所定領域に読み出して実行することにより仮想View機能を提供する。なお、仮想View機能は、仮想View管理機能、仮想ViewI/F制御機能、および仮想View更新制御機能に分類される。
仮想View管理機能とは、プロセッサ110が仮想View管理プログラム191を実行することにより実現される機能で、後述する仮想View管理表2000(図3)を管理する機能である。また、仮想ViewI/F制御機能とは、プロセッサ110が仮想ViewI/F制御プログラム192を実行することにより実現される機能で、後述する仮想Viewに対する操作要求をクライアントノード200a〜nから受け付けて、その結果を要求元のクライアントノード200a〜nに返す機能である。仮想View更新制御機能は、ストレージノード500a〜nに格納されているファイルデータの更新等の処理を管理している仮想View管理表2000に反映させる機能である。なお、仮想View管理機能、仮想ViewI/F制御機能、および仮想View更新制御機能については後段で詳細に説明する。
ネットワークI/F150には、クライアントノード200a〜nと制御サーバ100とを接続しているネットワーク1、ならびにストレージノード500a〜nと制御サーバ100とを接続しているネットワーク2とが接続されている。そして、制御サーバ100は、ネットワークI/F制御プログラム170により、ネットワークI/F150を介して、クライアントノード200a〜nならびにストレージノード500a〜nとの間の通信を行う。
また、制御サーバ100がファイルシステム機能を提供する処理を実行する場合、ネットワークI/F制御プログラム170によりネットワークI/F150を制御してクライアントノード200a〜nからのファイルアクセス要求を受け付ける。また、制御サーバ100がファイルシステム機能を提供する処理を実行する場合、ネットワークI/F制御プログラム170によりネットワークI/F150を制御してストレージノード500a〜nに対してファイルアクセス要求を行う。なお、制御サーバ100は、ストレージノード500a〜nが対象データを識別できる要求形式でストレージノード500a〜nに対してアクセス要求を行う。
続いて、仮想Viewを格納するための仮想View管理表2000について図3を用いて説明する。なお、この仮想View管理表2000は、プロセッサ110が仮想View管理プログラム191を実行することにより管理されるリストもしくはデータベースである。
図3は、本実施形態の制御サーバ100が保持する仮想View管理表2000のデータ構造の一例を模擬的に示した図である。
図示するように、仮想View管理表2000は、仮想Viewを識別するための仮想View識別子を格納するエントリ2100と、エントリ2100に格納された仮想View識別子により特定される仮想Viewの構築条件を格納するためのエントリ2200と、エントリ2100に格納された仮想View識別子により特定される仮想Viewに登録されているファイル数を格納するエントリ2600と、エントリ2100に格納された仮想View識別子により特定される仮想Viewに格納されているファイルの実際に格納されている登録ファイルの格納場所を格納するエントリ2700a〜cと、を有する。また、構築条件を格納するためのエントリ2200は、構築条件を設定するための構築条件論理式を格納するエントリ2300、構築条件式を格納するエントリ2400、2500に分割されている。
エントリ2300には、エントリ2400およびエントリ2500に格納する複数の構築条件式と、それら構築条件式間の関係を規定する構築条件論理式を登録することができる。エントリ2300に格納する構築条件論理式の規定方法については、特に限定しない。構築条件論理式としては、例えば、条件式の否定や、条件式間の論理和ならびに論理積など、論理式で表現可能な方法を用いるとようにしてもよい。図示する例では、エントリ2400およびエントリ2500に格納された構築条件式の論理積が規定されている。
構築条件式を格納するエントリ2400(2500)は、属性を格納するエントリ2410(2510)、一致値を格納するエントリ2420(2520)、下限値を格納するエントリ2430(2530)、および上限値を格納するエントリ2440(2540)を有する。なお、下限値および上限値は、組で利用することとして、「一致値」および「下限値および上限値の組」は、どちらか一方を利用することとする。
図示する例では、エントリ2400の構築条件式1には、属性を格納するエントリ2410に「ファイル作成者」が格納されていて、一致値を格納するエントリ2420に有効な値「P」が格納されていて、下限値および上限値を格納するエントリ2430および2440に無効な値を意味する「NULL」が格納されている。すなわち、エントリ2400に格納されている構築条件式1は、ファイル作成者が「P」である全てのファイルを当該仮想Viewに対する構築条件として設定していることを示している。
また、構築条件式で上限値および下限値の組を利用する場合、双方に矛盾のない有効な値を設定する。ここで、上限値ならびに下限値のどちらか一方のみについては、無効な値を設定することにより、一方向に無限な範囲を指定することも可能である。
図示するエントリ2500に格納されている構築条件式2には、属性を格納するエントリ2510に「ファイル作成日」が格納されていて、一致値を格納するエントリ2520に無効な値を意味する「NULL」が格納されている。また、下限値を格納するエントリ2530に「2000年1月1日」という有効な値が格納されていて、上限値を格納するエントリ2540に無効な値を意味する「NULL」が格納されている。このエントリ2500に格納されている構築条件式2では、「2000年1月1日以降」に作成された全てファイルデータを当該仮想Viewに対する構築条件として設定していることを示している。
なお、仮想Viewの構築条件の設定方式には、図3で例示した方式に限定されるものではない。例えば、構築条件として、構築条件式と構築条件論理式を一体化させた論理式を登録するようにしてもよい。また、構築条件式で利用する属性には、ファイル属性情報や、ファイル実体情報など様々なものがある。例えば、構築条件としてファイル実態情報に含まれる「キーワード」を設定するようにしてもよい。また、構築条件としてファイル実態情報に含まれる「キーワード」と「ファイル属性情報」とを組合せるようにしてもよい。なお、ファイル属性情報とファイル実体情報については後述する。
エントリ2600には、上述した通り、当該仮想Viewの構築条件に合致した、当該仮想Viewに登録されているファイルの個数が格納される。そして、仮想View管理表2000のエントリ2700a〜cの数は、登録ファイル数と同数確保する。図示する例では、登録ファイル数を格納するエントリ2600に「3」が格納されている。そのため、仮想View管理表2000には、登録ファイル格納場所として3エントリ(2700a〜c)が確保されている。
エントリ2700a〜cに格納する登録ファイル格納場所には、登録ファイルの識別情報、すなわちそのファイルにアクセスするために必要な情報が格納される。具体的には、登録ファイルの識別情報として、制御サーバ100のファイルシステム制御プログラムにより実現されるファイルシステム機能がストレージノード500a〜nにアクセスする際に利用するパス名/ファイル名を登録するようにしてもよい。また、登録ファイルの識別情報として、ストレージノード500a〜nがローカルファイルシステム制御プログラムを介してアクセスするパス名/ファイル名をストレージノードの識別情報として登録するようにしてもよい。図示する例では、前者の方式に従い、エントリ2700a〜cに格納する登録ファイル格納場所に登録ファイルのパス名/ファイル名を格納している。具体的には、エントリ2700aには「/発明/発明A/発明A明細書」が格納され、エントリ2700bには「/特許出願/発明A出願書類」が格納され、エントリ2700cには「/特許出願/発明B出願書類」が格納されている。
なお、上述した仮想View管理表2000のデータ構造は例示に過ぎない。例えば、構築条件のエントリや登録ファイル格納場所のエントリを別表にして、仮想View管理表にはその別表への参照情報のみを登録するようにしてもよい。また、本実施形態では、制御サーバ100が仮想View管理表2000を保持する場合を例にするが、特にこれに限定するものではない。仮想View管理表2000をストレージノード500a〜nに保持させるようにしてもよい。
続いて、ストレージノード500a〜nのハードウェア構成について図4を用いて説明する。
図4は、本実施形態のストレージノード500aのハードウェア構成を説明するための図である。なお、ストレージノード500b〜nは、ストレージノード500aと同様の構成を有するため説明を省略する。
ストレージノード500aは、プログラムを実行するプロセッサ510と、プログラムならびにデータを一時的に格納するメモリ520と、プログラムならびにデータを永続的に格納可能な外部記憶装置530と、外部記憶装置520にアクセスするための外部記憶I/F540と、ネットワークで接続された他装置にアクセスするためのネットワークI/F550と、それらを接続するバス599とを有する。
外部記憶装置530およびメモリ520には、外部記憶I/F540を制御する外部記憶I/F制御560プログラムと、ネットワークI/F550を制御するネットワークI/F制御プログラム570と、ストレージノード500aにおけるファイルデータを制御するローカルファイルシステム制御プログラム580とが格納されている。具体的には、上記各プログラムは、外部記憶装置530に格納されていて、プロセッサ510によりメモリ520の所定領域に読み出される。
なお、本実施形態では、上記各プログラムは、ストレージノード500aが有する外部記憶装置530に格納されている場合を例にしているが特にこれに限定されるものではない。上記各プログラムを記憶媒体に格納しておくようにしてもよい。この場合、例えば、ストレージノード500aに記憶媒体に格納された各プログラムを読出し可能な外部装置を接続しておく。そして、ストレージノード500aのプロセッサ510は、記憶媒体に格納された各プログラムを読出してメモリ520に格納するようにしてもよい。なお、記憶媒体には、フレキシブルディスクやCD−ROM、DVD−ROM、パンチカード、バーコードなどの符号が印刷された印刷物等のコンピュータが読み取り可能な種々の揮発性記録媒体や不揮発性記憶媒体を利用できる。また、制御サーバ500aのプロセッサ510は、インターネット等のネットワークを介してメモリ520に上記各プログラムをダウンロードするようにしてもよい。
プロセッサ510は、上記各プログラムを実行することにより各種の処理を行う。具体的には、プロセッサ510は、外部記憶装置530に格納されている外部記憶I/F制御プログラム560をメモリ520の所定領域に読み出して実行することにより外部記憶I/F540を制御する。また、プロセッサ510は、外部記憶装置530に格納されているネットワークI/F制御プログラム570をメモリ520の所定領域に読み出して実行することによりネットワークI/F550を制御する。また、プロセッサ510は、外部記憶装置530に格納されているローカルファイルシステム制御プログラム580をメモリ520の所定領域に読み出して実行することにより、自ストレージノード500a上の外部記憶装置530を利用してファイルシステムを構築する。すなわち、プロセッサ510は、ローカルファイルシステム制御プログラム580により、自ストレージノード500aの外部記憶装置530に格納されているローカルファイルデータに対するアクセス処理を行う。
ネットワークI/F550は、制御サーバ100と接続されているネットワーク2に接続されている。そして、ストレージノード500aは、ネットワークI/F制御プログラム570により、ネットワークI/F550を介して制御サーバ100と通信を行う。
また、ストレージノード500aは、ローカルファイルデータに対するアクセス処理に際し、ネットワークI/F制御プログラム570により制御されるネットワークI/F550を介して制御サーバ100からのアクセス要求を受け付ける。このアクセス要求は、ストレージノード500a上のファイルデータが識別可能な形式で行われる。なお、このアクセス要求の具体な形式について特に限定しない。例えば、ストレージノード500aがローカルファイルデータにアクセス処理する際に用いるファイルのパス名/ファイル名を利用した形式でアクセス要求を受け付けるようにしてもよい。そして、このアクセス要求の結果は、当該ストレージノード500aから、要求された際の手順と逆の手順で制御サーバ100に返される。
外部記憶装置530は、ローカルファイルシステム制御プログラム580により管理されるファイルデータを格納する装置である。なお、外部記憶装置530の具体的な構成については特に限定しないが、例えば、外部記憶装置530には、ディスク装置を用いることができる、また、外部記憶装置530は、複数のディスク装置により構成されていてもよい。
続いて、クライアントノード200a〜nのハードウェア構成について図5を用いて説明する。
図5は、本実施形態のクライアントノード200aのハードウェア構成を説明するための図である。なお、クライアントノード200b〜nは、クライアントノード200aと同様の構成を有するため説明を省略する。
図示するように、クライアントノード200aは、プログラムを実行するプロセッサ210と、プログラムならびにデータを一時的に格納するメモリ220と、プログラムならびにデータを永続的に格納可能な外部記憶装置230と、外部記憶装置230にアクセスするための外部記憶I/F240と、ネットワークで接続された他装置にアクセスするためのネットワークI/F250と、それらを接続するバス299とを有する。
外部記憶装置230およびメモリ220には、外部記憶I/F240を制御する外部記憶I/F制御260プログラムと、ネットワークI/F250を制御するネットワークI/F制御プログラム270と、制御サーバ100が提供のファイルシステム機能へアクセスするためのファイルシステムアクセス制御プログラム280と、制御サーバ100が提供する仮想View機能を利用するための仮想Viewアクセス制御プログラム290とが格納されている。具体的には、上記各プログラムは、外部記憶装置230に格納されていて、プロセッサ210によりメモリ220の所定領域に読み出される。
なお、本実施形態では、上記各プログラムは、クライアントノード200aが有する外部記憶装置230に格納されている場合を例にしているが特にこれに限定されるものではない。上記各プログラムを記憶媒体に格納しておくようにしてもよい。この場合、例えば、クライアントノード200aに記憶媒体に格納された各プログラムを読出し可能な外部装置を接続しておく。そして、クライアントノード200aのプロセッサ210は、記憶媒体に格納された各プログラムを読出してメモリ220に格納するようにしてもよい。なお、記憶媒体には、フレキシブルディスクやCD−ROM、DVD−ROM、パンチカード、バーコードなどの符号が印刷された印刷物等のコンピュータが読み取り可能な種々の揮発性記録媒体や不揮発性記憶媒体を利用できる。また、クライアントノード200aのプロセッサ210は、インターネット等のネットワークを介してメモリ220に上記各プログラムをダウンロードするようにしてもよい。
プロセッサ210は、上記各プログラムを実行することにより各種の処理を行う。具体的には、プロセッサ210は、外部記憶装置230に格納されている外部記憶I/F制御プログラム260をメモリ220の所定領域に読み出して実行することにより外部記憶I/F240を制御する。また、プロセッサ210は、外部記憶装置230に格納されているネットワークI/F制御プログラム270をメモリ220の所定領域に読み出して実行することによりネットワークI/F250を制御する。また、プロセッサ210は、外部記憶装置230に格納されているファイルシステムアクセス制御プログラム280をメモリ220の所定領域に読み出して実行することにより、制御サーバ100が提供のファイルシステム機能を利用する。また、プロセッサ210は、外部記憶装置230に格納されている仮想Viewアクセス制御プログラム290をメモリ220の所定領域に読み出して実行することにより、制御サーバ100が提供する仮想View機能を利用する。
プロセッサ210は、ファイルシステムアクセス制御プログラム280により、制御サーバ100を介してストレージノード500a〜nのファイルにアクセスして、ファイルデータの読出し処理、書き込み処理、および削除処理等のアクセス処理を行う。また、プロセッサ210は、仮想Viewアクセス制御プログラム290により、制御サーバ100に対して、後述する仮想View管理表2000(図3参照)の作成要求や仮想View取得要求等の各種要求を行う。また、プロセッサ210は、仮想Viewアクセス制御プログラム290により、上記の要求に応じて制御サーバ100が返信する情報を取得して利用者に提示する。
ネットワークI/F250は、制御サーバ100と接続されているネットワーク1に接続されている。そして、クライアントノード200aは、ネットワークI/F制御プログラム270により、ネットワークI/F250を介して制御サーバ100と通信を行う。ファイルシステムアクセス制御プログラム280により実行される制御サーバ100へのアクセス処理は、ネットワークI/F制御プログラム270により制御されるネットワークI/F250を介して行われる。
続いて、本実施形態の仮想View提供システムが提供する仮想Viewとストレージノード500a〜nに格納されているファイルデータとの対応関係について図6を用いて説明する。
図6は、本実施形態の制御サーバが提供する仮想Viewとストレージノードに格納されているファイルデータとの対応関係を説明するための図である。
図示するように、制御サーバ100上に仮想View3000があり、ストレージノード500にファイルデータが格納されている。仮想View3000とは、図3で仮想View管理表2000として示した仮想Viewを模式化したものである。制御サーバ100は、クライアントノード200a〜nからの仮想View取得要求を受け付けて、仮想View3000の内容を示す情報をクライアントノード200a〜nに出力する。クライアントノード200a〜nは、仮想View3000に示す情報を利用者に提示する。また、クライアントノード200a〜nは、仮想Viewアクセス制御プログラム290により、制御サーバ100を介して仮想View3000に示されているファイルにアクセスすることができる。具体的には、クライアントノード200a〜nは、仮想Viewアクセス制御プログラム290により、仮想View3000に表示されたファイルを指定したアクセス要求を制御サーバ100に送信する。制御サーバ100は、ファイルシステム制御プログラム180により、仮想View管理表2000内の登録ファイル格納場所2700a〜cに登録されている情報を用いてアクセス要求されたファイルにアクセスする。
また、仮想View3000は、制御サーバ100に複数作成することが可能である。さらに、一つのファイルが複数の仮想Viewに登録されてもよい。また、複数のストレージノードが存在する場合は、各ストレージノード上に保存されているファイルを対象にした仮想View3000、すなわちストレージノードを跨った仮想Viewを作成することも可能である。
図示する例では、ストレージノード500a〜n上で提供されるファイルシステム機能のディレクトリ構造は、ルートディレクトリ「/」4000を頂点としている。ルートディレクトリ「/」4000のサブディレクトリとして「発明」ディレクトリ4100および「特許出願」ディレクトリ4200がある。「発明」ディレクトリ4100内には、さらにそのサブディレクトリとして「発明A」ディレクトリ4300および「発明B」ディレクトリ4400がある。「発明A」ディレクトリ4300内には、「発明Aアイデアメモ」4310、「発明A明細書」4320、および「発明A図面」4330の3つのファイルがある。同様に、「発明B」ディレクトリ4400内には、「発明Bアイデアメモ」4410、「発明B明細書」4420、および「発明B図面」4430の3つのファイルがある。また、「特許出願」ディレクトリ4200内には、「発明A出願書類」4210、および「発明B出願書類」4220の2つのファイルがある。
図示する仮想View3000は、仮想View識別子2100が「1」であり、構築条件2200に「ファイル作成者」が「P」であり、かつ「ファイル作成日」が「2000年1月1日以降」のファイルであることを示している。また、仮想View3000は、登録ファイル数2500が「3」であり、登録ファイルに対応する登録ファイル格納場所2700a〜cとして、3つのファイルに対する「パス名/ファイル名」がそれぞれ示されている。具体的には、ファイル名が「発明A明細書」4320であるファイルの登録ファイル格納場所2700aは、「/発明/発明A/発明A明細書」であることを示している。ファイル名が「発明A出願書類」4210であるファイルの登録ファイル格納場所2700bは、「/特許出願/発明A出願書類」であることを示している。ファイル名が「発明B出願書類」4220であるファイルの登録ファイル格納場所2700cは、「/特許出願/発明B出願書類」であることを示している。
続いて、本実施形態の仮想View3000を利用者に利用させるためのI/F(仮想View操作I/F)について図6を用いて説明する。
制御サーバ100は、仮想ViewI/F制御プログラム192により、仮想View操作I/F3100を、クライアントノード200a〜nを介して利用者に提供する。仮想View操作I/F3100により利用者から受け付ける操作処理には、仮想View作成要求3110、仮想View構築条件設定要求3120、仮想View更新要求3130、仮想View取得要求3140、および仮想View削除要求3150の5つの操作処理がある。なお、これらの5つの具体的な処理フローについては、後述する。
続いて、制御サーバ100が仮想ViewI/F制御プログラム192
により、利用者から受け付ける5つの操作処理(3110、3120、3130、3140、3150)で利用するパラメータについて説明する。
図7は、本実施形態の制御サーバが用いる入出力パラメータの一例を示した図である。
図示する入出力パラメータ5000には、入力パラメータ5100と出力パラメータ5200とが含まれる。
入力パラメータ5100には、どの仮想View操作を行うのかを識別するための操作種別5110、操作対象となる仮想Viewを識別するための仮想View識別子5120、および各操作で必要な情報5130が含まれる。
操作種別5110には、仮想ViewI/F制御プログラム192により提供される5つの操作処理(3110、3120、3130、3140、3150)を識別するための情報が格納される。各操作で必要な情報5130は、各操作により異なる。例えば、各操作で必要な情報5130には、仮想View作成要求3110および仮想View構築条件設定要求3120の場合、仮想Viewの構築条件が格納される。構築条件の格納形式は、仮想View管理表2000にある構築条件2200に沿った形式が考えられる。ただし、この形式のみにはよらず、他の形式を用いてもよい。
出力パラメータ5200には、要求された操作の結果を知らせるための操作結果5210、および操作で得られた情報5220が含まれる。操作結果5210には、操作が成功したか失敗したかを示す情報が格納される。また、操作結果5210には、操作が失敗した場合はどのような理由でその操作が失敗したかを示す情報が格納される。操作で得られた情報5220は、各操作により異なる。例えば、操作で得られた情報5220には、仮想View作成3110の場合、作成した仮想Viewの識別子が格納される。また、例えば、操作で得られた情報5220には、仮想View取得3140の場合、当該仮想Viewの仮想View管理表2000で管理されている情報が格納される。なお、この場合、仮想View管理表2000内の全ての情報を格納されるようにしてもよいし、一部の情報のみを格納されるようにしてもよい。
続いて、本実施形態の制御サーバ100が行う仮想View(仮想View管理表2000に格納されている情報)を更新する契機について説明する。仮想View更新の契機は、ストレージノード500a〜nに対するファイルアクセス操作を契機(更新契機3200)する場合、および、前述の仮想View更新要求3130を契機(更新契機3300)とする場合の2通りの契機がある(図6参照)。そして、制御サーバ100は、上記の2つの契機により保持する仮想View管理表2000の内容を更新する。具体的には、制御サーバ100は、ストレージノード500a〜nのファイルデータへのアクセス処理を行った場合に仮想View管理表2000を更新する処理を行う。また、制御サーバは、利用者からの仮想View更新要求3130をクライントノード200a〜nを介して受け付けた場合に仮想View管理表2000を更新する処理を行う。なお、これら2つの更新契機における仮想View管理表2000を更新する具体的な処理フローについては、後述する。
続いて、ストレージノード500a〜nに格納されたファイルに対するファイルアクセス操作を契機(更新契機3200)として行う仮想Viewの更新について説明する。
制御サーバ100は、ストレージノード500a〜nのファイルにアクセスした場合、そのアクセスの種類により仮想Viewの更新の必要があるか否かを判断する。ここで、制御サーバ100が仮想Viewの更新の必要があるか否かを判断する基準について図8を用いて説明する。
図8は、仮想Viewの更新・登録が必要であるか否かを判断するための基準を例示した図である。
一覧6000では、仮想View更新において、仮想Viewの更新が必要か否かの観点でファイルアクセス操作を分類している。
図示する一覧6000において、仮想Viewの更新が必要なファイルアクセス操作6100として、ファイル書き込み操作6110およびファイル削除操作6120を挙げている。これらのファイル操作を更新の対象としたのは、これらのファイル操作がストレージノード500a〜nに格納されているファイルの内容を変更する処理であるためである。なお、図示していないが、仮想View更新が必要なファイルアクセス操作6100には、ファイル作成操作、ディレクトリ作成操作、ディレクトリ削除操作、ディレクトリ情報設定操作、ファイル名/ディレクトリ名改名操作、ファイル/ディレクトリ複製操作、ファイル/ディレクトリ移動操作、ファイルへのリンク作成操作、ファイルへのリンク削除操作、書き込み途中状態の情報を同期書き込みさせる同期操作、ファイルを閉じる操作などが含まれる。
また、仮想View更新が不要なファイルアクセス操作6200として、ファイル読み出し操作6210を挙げている。これは、このファイル操作がストレージノード500a〜nに格納されているファイルの内容を変更する処理ではなく、仮想Viewを更新する必要がないためである。なお、図示していないが、仮想View更新が不要なファイルアクセス操作6200には、ファイルを開く操作、ファイル属性取得操作、ディレクトリ情報取得操作、ファイルアクセス権限確認操作、ファイルへのリンク情報読み出し操作、ファイル情報取得操作などが含まれる。
続いて、本実施形態のストレージノード500a〜nに格納されるファイルのデータ構成について説明する。
図9は、本実施形態のストレージノードに格納されるファイルのデータ構成を模擬的に示した図である。
図示するようにファイル7000は、ファイル属性情報7100とファイル実体情報7200とを有する。ファイル属性情報7100とは、このファイルのメタ情報に相当する。ファイル属性情報7100には、ファイル名7110、ファイル作成日7120、ファイル作成者7130、およびファイル格納場所7140が含まれる。また、ファイル属性情報7100には、図示しないが、このファイルの物理的な格納場所情報、アクセス制御情報、ファイル所有者、所属グループ、大きさ、最終アクセス時刻、最終更新時刻、最終変更時刻、物理的に利用している記憶領域の大きさ、キーワード等の情報が含まれていてもよい。
また、ファイル属性情報は、ファイルシステム制御180プログラムにより更新・管理される「システム属性」、および、利用者から受け付けた要求により登録・更新される属性であって、ファイルシステム制御プログラム180が管理だけ行う「ユーザ属性」の二つに分類できる。なお、システム属性として扱われる属性については、ファイルシステム制御プログラム180により決まる。ユーザ属性として扱われる属性については、利用者による拡張も可能なものにする。
ファイル実体情報7200とは、当該ファイルの実データのバイトストリームに相当する。ファイル実体情報7200は、ストレージノード500上の外部記憶装置530に格納される。ファイル属性情報7100は、ストレージノード500上の外部記憶装置530に格納する方式の他、制御サーバ100上の外部記憶装置130に格納する方式が考えられる。ここで、ストレージノード500aに格納する情報については、ストレージノード500b〜nについても同様に格納することができる。
なお、ファイル書き込み操作6110およびファイル読み出し操作6210は、図9で示すファイル属性情報7100に対する操作ならびにファイル実体情報7200に対する操作の両方に相当する。ファイル属性情報7100に対するファイル書き込み操作6110としては、ファイル名7110の変更操作やファイル格納場所7140の変更操作などが相当する。ファイル実体情報7200に対するファイル書き込み操作6110としては、実データに対する上書き更新などが相当する。一方で、ファイル読み出し操作6210としては、ファイル属性情報7100あるいはファイル実体情報7200への参照操作が相当する。
また、ファイル削除操作6120は、ファイル7000に対する操作に相当する。すなわち、ファイル削除操作6120は、当該ファイル7000のファイル属性情報7100とファイル実体情報7200とが共に削除されることを意味する。ファイル実体情報7200の全削除、もしくはファイル属性情報7100あるいはファイル実体情報7200の一部分を削除する操作については、ファイル書き込み操作6110として考える。
本実施形態では、ファイル属性情報7100ならびにファイル実体情報7200に対して、ファイル書き込み操作6110が行われた場合と、ファイル削除操作6120が行われた場合に、仮想Viewの更新を行うことにしている。なお、ファイル書き込み操作6110には、ファイル7000を新規に格納した場合や、ファイル属性情報7100の一部を変更した場合、例えば、ファイル格納場所7140を変更した場合などがある。
続いて、本実施形態のクライアントノード200a〜nが制御サーバ100に対して行う仮想View情報の操作処理について説明する。
図10は、本実施形態のクライアントノードが行う仮想View情報の操作処理を説明するためのフローチャートである。
なお、以下の処理は、クライアントノード200a〜nのプロセッサ210が仮想Viewアクセス制御プログラム290を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため仮想Viewアクセス制御プログラム290を動作主体として記載する。
仮想Viewアクセス制御プログラム290は、利用者からの操作要求の入力を受け付ける。具体的には、仮想Viewアクセス制御プログラム290は、利用者からの入力パラメータ5100(図7参照)を受け付ける。仮想Viewアクセス制御プログラム290は、受け付けた入力パラメータ5100を引数として設定した仮想View操作要求を生成する。仮想Viewアクセス制御プログラム290は、入力パラメータ5100を設定した仮想View操作要求を制御サーバ100に出力する(S10)。
なお、本実施形態では、利用者からの操作要求の入力を受け付ける手段について特に限定しない。例えば、仮想Viewアクセス制御プログラム290は、図示しない表示装置に操作メニュー画面を表示して、利用者からの操作要求の入力を受け付けるようにしてもよい。
上記の仮想View操作要求を受け付けた制御サーバ100は、仮想ViewI/F制御プログラム192により、受け付けた仮想View操作要求に対応する処理を行い、その処理の結果を示す情報を仮想Viewアクセス制御プログラム290に出力する。上記の結果を示す情報には出力パラメータ5200(図7参照)が含まれているものとする。なお、制御サーバ100が行う受け付けた仮想View操作要求に対する処理については後述する。
そして、仮想Viewアクセス制御プログラム290は、制御サーバ100からの結果を示す情報を受信して、その情報に含まれる出力パラメータ5200を利用者に提示する(S11)。
続いて、本実施形態の制御サーバ100が行う仮想Viewアクセス処理について図11を用いて説明する。
図11は、本実施形態の制御サーバ100が行う仮想Viewアクセス処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が各プログラム(仮想ViewI/F制御プログラム192、仮想View管理プログラム191、仮想View更新制御プログラム193)を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため各プログラム(仮想ViewI/F制御プログラム192、仮想View管理プログラム191、仮想View更新制御プログラム193)を動作主体として記載することとする。
仮想ViewI/F制御プログラム192は、クライアントノード200a〜nが出力する仮想View操作要求を受け付ける。仮想ViewI/F制御プログラム192は、受け付けた仮想View操作要求に引数として設定されている入力パラメータ5100(図7)を参照して、受け付けた操作要求の操作種別を判定する(S20)。
判定の結果、受け付けた操作要求が仮想View作成要求3110であった場合、仮想ViewI/F制御プログラム192は、仮想View管理プログラム191を呼び出して、仮想View管理プログラム191に仮想View作成処理を実行させる(S21)。なお、S21の処理は、後述する図12で説明する。
判定の結果、受け付けた操作要求が仮想View構築条件設定要求3120であった場合、仮想ViewI/F制御プログラム192は、仮想View管理プログラム191を呼び出して、仮想View管理プログラム191に仮想View構築条件設定処理を実行させる(S22)。なお、S22の処理は、後述する図13で説明する。
判定の結果、受け付けた操作要求が仮想View更新要求3130であった場合、仮想ViewI/F制御プログラム192は、仮想View更新制御プログラム193を呼び出して、仮想View更新制御プログラム193に仮想View更新処理を実行させる(S23)。なお、S23の処理は、後述する図14で説明する。
判定の結果、受け付けた操作要求が仮想View取得要求3140であった場合、仮想ViewI/F制御プログラム192は、仮想View管理プログラム191を呼び出して、仮想View管理プログラム191に仮想View取得処理を実行させる(S24)。なお、S24の処理は、後述する図16で説明する。
また、判定の結果、受け付けた操作要求が仮想View削除要求3150であった場合、仮想ViewI/F制御プログラム192は、仮想View管理プログラム191を呼び出して、仮想View管理プログラム191に仮想View削除処理を実行させる(S25)。なお、S24の処理は、後述する図17で説明する。
上記S21〜25では、それぞれの処理が終わった場合、呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る。
続いて、本実施形態の制御サーバ100が行う仮想View作成処理について図12を用いて説明する。
図12は、本実施形態の制御サーバ100が行う仮想View作成処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が仮想View管理プログラム191を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため仮想View管理プログラム191を動作主体として記載する。
仮想View管理プログラム191は、上述した図11のS21において仮想ViewI/F制御プログラム192に呼び出された後、はじめに、仮想View識別子を採番して、当該仮想Viewが利用する仮想View管理表2000用の領域をメモリ120上に確保する(S30)。ここで、仮想View識別子は一意な識別子を採番するようにする。この仮想View識別子の一意性を保証する範囲については特に限定しない。例えば、一つの制御サーバの中で一意性を保証するようにしてもよい。また、例えば、複数の制御サーバをグループ化した制御サーバ群あるいは全世界を一つの一意性保証範囲としてもよい。
続いて、仮想View管理プログラム191は、S30で確保したメモリ120の領域上にある仮想View管理表2000(図3参照)のエントリ2100にS30で採番した仮想View識別子を格納する(S31)。
その後、仮想View管理プログラム191は、上記S20で受け付けた仮想View操作要求に引数として設定されている入力パラメータ5100(図7参照)の「各操作で必要な情報5130」の中に構築条件が登録されている否かを判定する(S32)。
仮想View管理プログラム191は、上記判定の結果、上記入力パラメータ5100の「各操作で必要な情報5130」の中に構築条件が登録されている場合、S33の処理に進み、登録されていない場合にはS35の処理に進む。
S33では、仮想View管理プログラム191は、上記の登録されている構築条件の中の構築条件論理式を仮想View管理表2000のエントリ2300に格納してS34に進む。
S34では、仮想View管理プログラム191は、上記の登録されている構築条件の中の構築条件式を仮想View管理表2000のエントリ2400に格納してS35に進む。なお、構築条件式が複数あれば、その数だけ構築条件式を対応するエントリ(例えばエントリ2500)に格納する。
S35では、仮想View管理プログラム191は、出力パラメータ5200(図7参照)を生成する。具体的には、仮想View管理プログラム191は、出力パラメータ5200の「操作結果5210」に上記の操作結果、すなわち「仮想View作成処理が成功したこと、或いは、失敗したことを示す情報」を登録する。また、仮想View管理プログラム191は、出力パラメータ5200の「操作で得られた情報5220」に、作成した仮想Viewの仮想View識別子を登録する(仮想View管理表2000に格納した仮想View識別子を登録する)。その後、仮想View管理プログラム191は、呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る。
続いて、本実施形態の制御サーバ100が行う仮想View構築条件設定処理について図13を用いて説明する。
図13は、本実施形態の制御サーバ100が行う仮想View構築条件設定処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が仮想View管理プログラム191を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため仮想View管理プログラム191を動作主体として記載する。
仮想View管理プログラム191は、上述した図11のS22において、仮想ViewI/F制御プログラム192に呼び出された後、仮想View操作要求に引数として設定されている入力パラメータ5100(図7参照)の中の仮想View識別子5120と、メモリ120(または外部記憶装置130)に保持している仮想View管理表2000とを照合する。そして、仮想View管理プログラム191は、入力パラメータ5100で指定されている仮想View識別子5120を持つ仮想Viewが存在しているか否かを調べる(S40)。
具体的には、仮想View管理プログラム191は、入力パラメータ5100に指定されている仮想View識別子5120が格納された仮想View管理表2000が在るか否かを調べる。仮想View管理プログラム191は、入力パラメータ5100に指定された仮想View識別子5120が格納された仮想View管理表2000が在る場合にS41に進む。一方、仮想View管理プログラム191は、入力パラメータ5100に指定された仮想View識別子5120が格納された仮想View管理表2000が存在しない場合にS44に進む。
S41では、仮想View管理プログラム191は、仮想View操作要求の引数として設定されている入力パラメータ5100の中の「各操作で必要な情報4130」を調べ、対応する仮想Viewに対する構築条件2200が登録されているか否かを調べる(S41)。そして、仮想View管理プログラム191は、上記の構築条件2200が登録されている場合には、S42の処理に進む。仮想View管理プログラム191は、上記の構築条件2200が登録されていない場合には、S44の処理に進む。
S42〜S43では、仮想View管理プログラム191は、上述した図12で示したS33〜S34と同様の処理を行い、S44の処理に進む。なお、S42〜S43において、仮想View管理プログラム191が構築条件2200を設定する際、既に仮想View管理表2000の該当するエントリに構築条件が登録されている場合もある。このような場合、仮想View管理プログラム191は、既に登録されている情報に対して上書き処理を行う。なお、仮想View管理プログラム191は、構築条件2200の上書きを行う際、対象となる全ての構築条件論理式や構築条件式のエントリを上書きしてしまうようにしてもよいし、一部のエントリのみを上書きするようにしてもよい。
S44では、仮想View管理プログラム191は、図12のS35と同様に、出力パラメータ5200(図7参照)を生成する。例えば、仮想View管理プログラム191は、S40において、操作要求の対処である仮想Viewが存在しないと判定した場合には、出力パラメータ5200の操作結果5210に「仮想Viewが存在しないため要求する処理が失敗した旨」を示す情報を登録する。その後、仮想View管理プログラム191は、呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る。
続いて、本実施形態の制御サーバ100が行う仮想View更新処理について図14を用いて説明する。
図14は、本実施形態の制御サーバ100が行う仮想View更新処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が各プログラム(仮想View更新制御プログラム193、ファイルシステム制御プログラム180、仮想View管理プログラム191)を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため各プログラム(仮想View更新制御プログラム193、ファイルシステム制御プログラム180、仮想View管理プログラム191)を動作主体として記載する。
以下で行う処理ステップは、仮想View更新制御プログラム193が上述したS23において仮想ViewI/F制御プログラム192に呼び出された場合に開始される処理である。仮想View更新制御プログラム193は、ファイルシステム制御プログラム180にストレージノード500a〜nに既に格納されているファイル群を調べさせる。そして、仮想View更新制御プログラム193は、仮想View管理プログラム191により管理されている仮想View管理表2000のエントリ2200の構築条件に合致しているファイルの情報を仮想View管理表2000に反映させる処理を行う。すなわち、本ステップでは、利用者からの更新要求を契機とした仮想Viewの更新処理を行う。
ここで、ファイル群の調べ方は、全検索、部分検索などどのような方法でもよい。部分検索を行う場合は、当該操作要求の引数として設定されている入力パラメータ5100の各操作で必要な情報5130の中に検索範囲を別途指定する必要がある。検索順序については任意でよいが、無限ループに陥らないようにする。
はじめに、仮想View更新制御プログラム193は、ファイルシステム制御プログラム180に検索対象のファイル群の中から、まだ検索していないファイルがあるかどうかを調べさせる(S50)。仮想View更新制御プログラム193は、ファイルシステム制御プログラム180に検索対象のファイル群を全て検索させ終えた場合に、S54の処理に進む。一方、仮想View更新制御プログラム193は、ファイルシステム制御プログラム180が検索していないファイルを検出した場合にS51の処理に進む。
S54において、仮想View更新制御プログラム193は、出力パラメータ5200の操作結果5210に当該操作結果を登録して、呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る。
S51では、仮想View更新制御プログラム193は、更新する対象の仮想Viewであって、かつ上記の検出したファイルと適合確認を行っていない仮想Viewが在るか否かについて仮想View管理表2000を利用して確認する(S51)。なお、適合確認とは、上記の検出したファイルにより更新が必要な仮想Viewが在るか否かの確認をいう。仮想View更新制御プログラム193は、上記の更新する対象の仮想Viewであってかつ検出した対象ファイルとの適合確認を行っていない仮想Viewを検出した場合、S52の処理に進む。一方、仮想View更新制御プログラム193は、上記の検出した対象ファイルとの適合確認を行っていない仮想Viewを検出しなかった場合、S50の処理に戻る。ここで、更新する対象の仮想Viewの調べ方は、ファイル群の調べ方同様、どのような方法、手順でもよい。
S52では、仮想View更新制御プログラム193は、S51で検出された仮想Viewの構築条件2200に、対象ファイルが適合するのか否かの確認を行う(S52)。そして、仮想View更新制御プログラム193は、対象ファイルが当該仮想Viewの構築条件に適合する場合にS53の処理に進む。仮想View更新制御プログラム193は、対象ファイルが当該仮想Viewの構築条件に適合しない場合にS51の処理に戻る。
S53では、仮想View更新制御プログラム193は、仮想View管理プログラム191に対して、仮想View管理表2000に対象ファイルの情報を登録・更新する処理(処理A)を要求する(S53)。仮想View更新制御プログラム193は、「処理A」を要求する際、処理対象となる仮想Viewの仮想View識別子およびファイルの識別情報を入力パラメータとして仮想View管理プログラム191に渡す。ここで、ファイルの識別情報には、ファイルのファイル名および登録ファイルの格納場所が含まれていることとする。なお、「処理A」のフローについては、後述する。「処理A」が終了したら、仮想View更新制御プログラム193は、ステップS51の処理に戻る。なお、上記の処理フローは、検索対象ファイルを調べ終えるまで繰り返し行われる。
続いて、図14のS53で示した「処理A」のフローについて図15を用いて説明する。
図15は、本実施形態の制御サーバが行う仮想View管理表に対する情報登録処理ならびに更新処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が各プログラム(仮想View管理プログラム191、仮想View更新制御プログラム193)を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため各プログラム(仮想View管理プログラム191、仮想View更新制御プログラム193)を動作主体として記載する。
仮想View管理プログラム191は、図14のS53で仮想View更新制御プログラム193より呼び出されて以下の処理ステップを開始する。仮想View管理プログラム191は、以下の処理ステップにおいて、S53で取得した入力パラメータの引数で指定された仮想View識別子が格納されている仮想View管理表2000に、引数で指定されたファイルの情報を登録・更新する処理を行う。
はじめに、仮想View管理プログラム191は、図14のS53で取得した入力パラメータの引数で指定された仮想View識別子が格納されている仮想View管理表2000(図3参照)を特定する。仮想View管理プログラム191は、上記入力パラメータの引数で指定されたファイルの識別情報に含まれるファイル格納場所が、特定した仮想View管理表2000のエントリ2700a〜nに既に登録されているか否かを判定する(S60)。
S60での判定により既に登録されていると判定した場合、仮想View管理プログラム191は、既に登録されているファイル格納場所を上書きすることで仮想View管理表2000の更新を行う(S61)。
一方、S60での判定により対象ファイルが登録されていないと判定された場合、対象ファイルの格納場所を対応する仮想View管理表2000内の登録ファイル格納場所を格納する該当するエントリ(例えば、エントリ2700)に登録し(S62)、当該仮想View管理表2000の登録ファイル数を格納するエントリ2600の値をインクリメントする(S63)。
続いて、本実施形態の制御サーバ100が行う仮想View取得処理について図16を用いて説明する。
図16は、本実施形態の制御サーバ100が行う仮想View取得処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が仮想View管理プログラム191を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため仮想View管理プログラム191を動作主体として記載する。
仮想View管理プログラム191は、上述した図11のS24において、仮想ViewI/F制御プログラム192に呼び出されて以下で説明する仮想View取得処理を開始する。仮想View取得処理では、入力パラメータで指定された仮想View識別子を持つ仮想View管理表2000の情報を提供する処理を行う。ここで、情報の提供形式としては、当該仮想Viewの仮想View管理表2000の全データを提供する方式でもよいし、その一部のみを提供する方式でもよい。
さて、仮想View管理プログラム191は、はじめに、仮想View操作要求に引数として設定されている入力パラメータ5100(図7参照)の仮想View識別子5120を調べ、調べた仮想識別子5120および仮想View管理表2000を利用して、当該仮想View識別子を持つ仮想Viewが存在するのか否かを判定する(S70)。
仮想View管理プログラム191は、上記の仮想View識別子を持つ仮想Viewが存在すると判定した場合、出力パラメータ5300の「操作結果5310」に当該操作の操作結果を格納する。ここで、操作結果には、要求された仮想View取得処理が成功した旨、すなわち「仮想View操作要求で要求されていた仮想Viewが見つかった旨」を示す情報が格納される。また、仮想View管理プログラム191は、出力パラメータ5300の操作で得られた情報5320に当該仮想Viewの仮想View管理表2000に登録されている情報を格納して、呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る(S71)。
一方で、仮想View管理プログラム191は、上記の仮想View識別子を持つ仮想Viewが存在しないと判定した場合、出力パラメータ5200の操作結果5210に、要求された仮想View取得処理が失敗した旨、すなわち、「仮想View操作要求で要求されていた仮想Viewが存在しない旨」を操作結果として格納して、呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る(S72)。
なお、上記では利用者から受け付けた仮想View操作要求に引数として設定されている入力パラメータ5100に仮想View識別子が指定されている場合を例にしたが特にこれに限定するものではない。例えば、利用者から受け付ける仮想View操作要求に際して、仮想View識別子に代えて構築条件(仮想View管理表2000のエントリ2200の情報)を受け付けるようにしてもよい。そして、仮想View管理プログラム191は、受け付けた構築条件にしたがい該当する仮想Viewを検索するようにしてもよい。
続いて、本実施形態の制御サーバ100が行う仮想View削除処理について図17を用いて説明する。
図17は、本実施形態の制御サーバ100が行う仮想View削除処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が仮想View管理プログラム191を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため仮想View管理プログラム191を動作主体として記載する。
仮想View管理プログラム191は、上述した図11のS25において、仮想ViewI/F制御プログラム192に呼び出されて以下で説明する仮想View削除処理を開始する。仮想View削除処理では、入力パラメータで指定された仮想Viewの仮想View管理表2000の領域を解放することで登録情報を削除し、当該仮想View識別子を解放する処理が行われる。
さて、仮想View管理プログラム191は、はじめに、仮想View操作要求に引数として設定されている入力パラメータ5100(図7参照)の仮想View識別子5120を調べ、調べた仮想識別子5120および仮想View管理表2000を利用して、入力パラメータ5100に含まれる仮想View識別子512を持つ仮想Viewが存在するのか否かを判定する(S80)。
仮想View管理プログラム191は、入力パラメータ5100に含まれる仮想View識別子512を持つ仮想Viewが存在すると判定した場合、当該仮想Viewの仮想View管理表2000の領域を解放し(S81)、当該仮想View識別子を解放してS83の処理に進む(S82)。
一方、S80において、仮想View管理プログラム191は、入力パラメータ5100の仮想View識別子512を持つ仮想Viewが存在しないと判定した場合、S83の処理に進む。
S83では、仮想View管理プログラム191は、出力パラメータ52000の操作結果5210に当該操作結果を登録して呼び出し元である仮想ViewI/F制御プログラム192の処理に戻る。
続いて、本実施形態の制御サーバ100が行うファイルアクセス操作を契機とした仮想View更新処理について図18を用いて説明する。
図18は、本実施形態の制御サーバ100が行うファイルアクセス操作を契機とした仮想View更新処理を説明するためのフローチャートである。
さて、クライアントノード200a〜nからストレージノード500a〜nに格納されたファイルに対するファイルアクセス操作を要求する場合、クライアントノード200a〜nは、ファイルシステムアクセス制御プログラム280により制御サーバ100に対してファイルアクセス操作を要求する。制御サーバ100は、クライアントノード200a〜nからの要求を受けて、ストレージノード500a〜nに格納されたファイルに対するアクセス操作を行い、アクセス処理の結果をクライアントノード200a〜nに返信する。そして、制御サーバ100は、ファイルアクセス操作を行った場合に仮想Viewの更新する処理を行う。以下、制御サーバ100における、仮想View更新処理を含むファイルアクセス操作を説明する。
なお、以下の処理は、制御サーバ100のプロセッサ110が各プログラム(ファイルシステム制御プログラム180、仮想View更新制御プログラム193)を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため各プログラム(ファイルシステム制御プログラム180、仮想View更新制御プログラム193)を動作主体として記載する。
制御サーバ100のファイルシステム制御プログラム180は、クライアントノード200a〜nのファイルシステムアクセス制御プログラム280からのファイルアクセス操作要求を受け付ける。そして、ファイルシステム制御プログラム180は、受け付けたファイルアクセス操作を実行する(S90)。
ファイルシステム制御プログラム180は、このファイルアクセス操作が完了すると、対象ファイルを仮想Viewに反映させるよう、仮想View更新制御プログラム193に対して処理(処理B)を要求する(S91)。
ファイルシステム制御プログラム180は、「処理B」を要求する際、処理対象となるファイルの識別情報および対象ファイルに対するファイルアクセス操作の識別情報を入力パラメータとして仮想View更新制御プログラム193に渡す。なお、「処理B」のフローについては後述する。「処理B」が完了したら、ファイルシステム制御プログラム180は、ファイルアクセス操作の結果を、クライアントノード200のファイルシステムアクセス制御プログラム280に対して返す。
続いて、図18のS91で示した「処理B」のフローについて図19を用いて説明する。
図19は、本実施形態の制御サーバ100が行うファイルアクセス操作を契機とした仮想View更新処理を説明するためのフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が各プログラム(仮想View管理プログラム191、仮想View更新制御プログラム193)を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため各プログラム(仮想View管理プログラム191、仮想View更新制御プログラム193)を動作主体として記載する。
仮想View更新制御プログラム193は、図18のS91において、ファイルシステム制御プログラム180から処理B(対象ファイルを仮想Viewに反映させる処理)の要求を受け付けた場合、以下の処理ステップを開始する。処理Bでは、仮想View更新制御プログラム193は、S91で取得した入力パラメータで指定された対象ファイルと合致する構築条件を持つ仮想Viewを仮想View管理表2000から抽出する。そして、仮想View更新制御プログラム193は、抽出された仮想Viewに対し対象ファイルの情報を反映させる処理を行う。以下詳細に説明する。
さて、仮想View更新制御プログラム193は、はじめに、上記のS91で取得した入力パラメータで指定されたファイルアクセス処理の識別情報を用いて、当該識別情報が示すファイルアクセス操作が仮想Viewへの更新が必要な処理か否かの判定を行う(S100)。なお、S100における判定は、図8で示した分類情報を基に行う。すなわち、仮想View更新制御プログラム193は、ファイルアクセス操作が「ファイル書き込み操作」または「ファイル削除操作」である場合に仮想Viewの更新が必要であると判定する。一方、仮想View更新制御プログラム193は、ファイルアクセス操作が「ファイル読み出し操作」である場合に仮想Viewの更新が必要ないと判定する。
そして、仮想View更新制御プログラム193は、仮想Viewの更新が必要と判定した場合にS101の処理に進む。一方、仮想View更新制御プログラム193は、仮想Viewの更新の必要がないと判定した場合、当該処理を終了し、呼び出し元であるファイルシステム制御プログラム180の処理に戻る。
S101〜S103では、仮想View更新制御プログラム193は、上記S91で取得した入力パラメータで指定されたファイルを対象ファイルとした上で上述した図14のS51〜S53と同様の処理を行う。
具体的には、S101では、仮想View更新制御プログラム193は、更新する対象の仮想Viewであって、かつ上記の入力パラメータにより指定されたアクセス操作の対象のファイル(対象ファイル)と適合確認を行っていない仮想Viewが在るか否かについて仮想View管理表2000を利用して確認する。ここで、対象仮想Viewの調べ方は、どのような方法、手順でもよい。仮想View更新制御プログラム193は、上記の対象ファイルとの適合確認を行っていない仮想Viewを検出した場合、S102の処理に進む。仮想View更新制御プログラム193は、上記の対象ファイルとの適合確認を行っていない仮想Viewを検出しなかった場合、すなわち、全ての仮想Viewと適合確認を行った場合にS104の処理に進む。
S102では、仮想View更新制御プログラム193は、検出された仮想Viewの構築条件に、ファイルアクセス操作の対象ファイルが適合するのか否かの判定を行う。仮想View更新制御プログラム193は、検出された仮想Viewの構築条件に、ファイルアクセス操作の対象ファイルが適合する場合にS103に進む。一方、仮想View更新制御プログラム193は、上記適合しないと判定された場合にS101の処理に戻る。
S103では、仮想View更新制御プログラム193は、仮想View管理プログラム191に対して、仮想View管理表2000に対象ファイルの情報を登録・更新する処理(処理A)を要求する(S103)。「処理A」を要求する際、処理の対象となる仮想View識別子およびファイルの識別情報を入力パラメータとして仮想View管理プログラム191に渡す。なお、「処理A」のフローは、図15で示した通りである。「処理A」が終了したら、仮想View更新制御プログラム193は、ステップS101の処理に戻る。なお、仮想View更新制御プログラム193は、上記の処理フロー(S101〜103)を保持している仮想Viewの全てを調べ終えるまで繰り返し行う。
続いて、仮想View更新制御プログラム193が、対象となる仮想Viewの全てを調べ終えた場合に進むS104の処理を説明する。
S104では、仮想View更新制御プログラム193は、上記のS91で取得した入力パラメータおよび仮想View管理表2000を用いてアクセス操作した対象ファイルを登録している仮想Viewが存在するのか否かを調べる(S104)。
仮想View更新制御プログラム193は、アクセス操作した対象ファイルを登録している仮想Viewが存在している場合、上記入力パラメータで指定されたファイルアクセス処理の識別情報が「ファイル削除処理」であるか否かを判定する(S105)。
上記S105における判定の結果、上記の識別情報が「ファイル削除処理」である場合、仮想View更新制御プログラム193は、仮想View管理プログラム191に対して、仮想View管理表2000に対象ファイルの情報を削除する処理(処理C)を要求する(S106)。「処理C」を要求する際、処理対象となる仮想View識別子およびファイルの識別情報を入力パラメータとして仮想View管理プログラム191に渡す。なお、「処理C」のフローについては、後述する図20で説明する。「処理C」が終了したら、S104の処理に戻る。
上記S105における判定の結果、上記の識別情報が「ファイル削除処理」ではない場合、再度S104の処理を行う。なお、上記のS104〜S106の処理フローは、仮想Viewが全てを調べ終えるまで繰り返し行われる。
続いて、図19のS106で示した「処理C」のフローについて図20を用いて説明する。
図20は、本実施形態の制御サーバが行う仮想View管理表からの情報を削除する処理を説明するフローチャートである。
なお、以下の処理は、制御サーバ100のプロセッサ110が各プログラム(仮想View管理プログラム191、仮想View更新制御プログラム193)を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のため各プログラム(仮想View管理プログラム191、仮想View更新制御プログラム193)を動作主体として記載する。
仮想View管理プログラム191は、図19のS106において、仮想View更新制御プログラム193に呼び出されて以下で説明する「処理C」を開始する。「処理C」では、S106で取得した入力パラメータの引数で指定された仮想View識別子を持つ仮想View管理表2000から、同じく引数で指定されたファイルの情報を削除する処理が行われる。
さて、仮想View管理プログラム191は、はじめに、入力パラメータの引数で指定された対象ファイルの格納場所情報を、同じく引数で指定された仮想View識別子を持つ仮想View管理表2000内の登録ファイル格納場所における該当エントリ2700から削除する(S110)。また、仮想View管理プログラム191は、該当する仮想View管理表2000のエントリ2600に格納されている登録ファイル数をデクリメントする(S111)。
このように、本実施形態では、図19で示したファイルアクセス操作を契機とした仮想View更新を行うことにより、常に最新状態の仮想Viewを提供することが可能になる。
また、ファイルアクセス操作が行われた際にだけ仮想Viewを更新することとした場合、当該仮想Viewの構築条件を設定する前にファイルシステムに保存・更新されたファイルに関する情報を反映させることができないことになる。そのため、本実施形態では、ファイルアクセス操作を契機とした仮想Viewの更新に加えて、さらに、図14に示したように利用者からの要求を契機とした仮想Viewの更新を行うようにしている。これにより、仮想Viewの構築条件を設定する前にストレージノードに保存・更新されているファイルに関する情報についても仮想Viewに反映させることが可能となる。
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、以下のような実施形態2〜5が可能である。
<第2実施形態>
上述した第1実施形態では、仮想View3000には、当該仮想Viewの構築条件に合致するファイル7000の格納場所情報を登録できることとしたが、特にこれに限定するものではない。仮想Viewの構築条件2200に合致すれば、情報資源の格納場所以外の他の情報でもよい。例えば、複数の仮想Viewを階層的に管理できるようにするために、情報資源の格納場所を登録するエントリ2700に、当該仮想Viewの構築条件2200に合致する仮想View3000に関する情報を登録する。具体的には、当該仮想View管理表2000の登録ファイル場所情報を格納するエントリ2700に登録対象となる仮想Viewの仮想View識別子を登録する。この場合、登録ファイル数を格納するエントリ2600には、当該仮想Viewにだけ登録されているファイル数を登録するようにしてもよいし、当該仮想Viewならびにその下位層の仮想Viewに登録されている全てのファイル数を登録するようにしてもよい。
このように仮想View3000の階層化を実現することにより、利用者は、仮想View3000を階層的に管理できるようになる。また、第2実施形態において、当該仮想Viewの構築条件2200に合致する仮想View3000だけでなく、複数のファイルをグループ化したフォルダやディレクトリ等の情報資源を集合化しているもの全てを登録できるようにしてもよい。
<第3実施形態>
また、上述した第1実施形態では、制御サーバ100は、仮想View制御プログラム190が提供する機能により仮想View3000を提供するようにしたが、特にこれに限定するものではない。
制御サーバ100が有する情報資源にアクセスする機能を介して仮想View3000を利用できるようにしてもよい。例えば、制御サーバ100は、ファイルシステム制御プログラム180により利用者に仮想View3000を提供するようにしてもよい。この場合、制御サーバ100は、ファイルシステム制御プログラム180により、仮想View3000の仮想View管理表2000をファイルもしくはディレクトリとして管理した上で、仮想View管理表2000にアクセスできるようにすればよい。
これにより、ファイルシステム制御プログラム180が提供するファイル読み出し操作6120により当該仮想View管理表2000に相当するファイルを読み出すこと、またはディレクトリ情報読み出し操作により当該仮想View管理表2000に相当するディレクトリを読み出すことができる。
このように、仮想View制御プログラム190が提供する仮想View専用の機能を利用する代わりに、他の汎用的な機能に仮想Viewを利用する機能を付加することにより以下のような利点がある。すなわち、第3実施形態のように構成することにより、利用者は、通常の業務で利用するファイルアクセス機能の操作の中で仮想Viewを利用できるため、利用者の操作負担を軽減することができる。
なお、第3実施形態において、ファイルアクセス制御プログラム180が提供する機能により仮想Viewを利用する方式に代えて、データベースへのアクセスを制御する機能等、他の情報資源に対するアクセス機能を介することで、仮想Viewを利用できるようにしてもよい。
<第4実施形態>
上述した第1実施形態では、クライアントノード200a〜nの利用者が仮想View3000を利用することとしたが、特にこれに限定したものではない。ストレージノード500a〜nを運用し管理するストレージ運用管理装置を設けて、そのストレージ運用管理装置が仮想View3000を利用できるように構成してもよい。
例えば、ストレージ運用管理装置に管理対象のストレージノードを登録しておく。ストレージ運用管理装置は、その登録情報を基に登録ストレージノードの個数分仮想Viewを作成する。ストレージ運用管理装置は、仮想Viewそれぞれの構築条件として、その仮想Viewに対応するストレージノードに格納されたファイルを当該仮想Viewへ登録するという条件を設定するようにしてもよい。すなわち、ストレージ運用管理装置は、ストレージノードごとに、そのストレージノードに格納されているファイルを仮想Viewとして確認することができる。
このような仮想Viewをストレージ運用管理装置で利用できるようにすることにより、当該ストレージノードに格納されているファイルの一覧を仮想Viewとしてストレージ運用管理装置が即座に取得可能となる。これにより、あるストレージノードを物理的に交換する必要性が生じた場合、別のストレージノードへのデータ移行やバックアップなどを行うための対象ファイルを即座に特定できるため、かかる処理に要する処理時間の高速化を図ることができる。
また、上記の第4実施形態において、ストレージ運用管理装置に管理対象のストレージノードを登録しておく様態だけでなく、ストレージ運用管理に必要となる他の情報を登録できるようにしておいて、その情報を基に仮想Viewを構築してストレージ運用管理に利用できるようにしてもよい。
<第5実施形態>
また、上記の第4実施形態のストレージノード500a〜nを運用し管理するストレージ運用管理装置に対して環境設定作業を行い、その内容を仮想View3000に反映させてもよい。例えば、ストレージ運用管理装置の操作端末上で、ユーザの情報(ユーザを識別する識別情報)を登録し、このユーザ情報を制御サーバ100の仮想View管理処理で利用する。このことにより、上述した実施形態における仮想View提供システム1000に、さらに、仮想View3000に対するアクセス制御機能を付加することができる。具体的には、仮想ViewI/F制御プログラム192が提供する機能を基にして、仮想View作成要求3110に対する権限、仮想View構築条件設定要求3120に対する権限、仮想View更新要求3130に対する権限、仮想View取得要求3140に対する権限、および仮想View削除要求3150に対する権限を制御できる。さらに、当該のユーザ情報を各仮想View3000に対応する仮想View管理表2000にて管理することにより、仮想View毎に上述のアクセス制御を実現できる。
例えば、制御サーバ100は、利用者を示す利用者識別情報および該利用者識別情報に対応付けて該利用者に与えるアクセス権限情報の設定を受け付けて保持しておく。そして、制御サーバ100は、クライアントノード200を介して、利用者からの仮想View取得要求3140を受け付ける際、利用者を識別する識別情報を要求する。制御サーバ100は、受け付けた利用者識別情報対応付けられているアクセス権限情報により提示する仮想Viewの内容を変更するようにする。
上述では、アクセス制御のためにユーザの情報を登録することとしたが、特にこれに限定するものではない。例えば、アクセス制御情報として、グループの情報を登録するとしてもよいし、アクセスコントロールリストのように、対象者あるいは対象グループに対して許可する権限を記載したリスト情報を登録するとしてもよい。
また、ストレージ運用管理装置の操作端末上で、仮想View作成数の上限値を登録し、当該の上限値を制御サーバ100の仮想View管理プログラム191が提供する機能により管理するようにしてもよい。このことにより、制御サーバ100にて提供する仮想View作成数の上限値を制御できる。さらに、上記の仮想View作成数の上限値を、各ユーザごとに操作端末にて設定し、仮想View管理プログラム191により管理することで、各ユーザが作成可能な仮想View数の上限値を制御できる。
また、仮想ViewI/F制御プログラム192が提供する仮想View取得要求3140として、現状において存在する仮想Viewの一覧情報を取得する機能を設けるようにしてもよい。そして、この機能をストレージ運用管理装置の操作端末上で利用することにより、ストレージ運用管理装置から、制御サーバ100により作成されている仮想Viewの一覧情報を取得することもできる。この仮想Viewの一覧情報取得により、現状でいくつ仮想Viewが作成されているのかといった情報や、上述の仮想View作成数の上限値と比べることにより、あといくつ仮想Viewが作成可能なのかといった情報を運用利用者が把握できるようになる。
本発明の実施形態の仮想View提供システムのシステム構成を説明するための図である。 本発明の実施形態の制御サーバのハードウェア構成を例示する説明図である。 本発明の実施形態の制御サーバが保持する仮想View管理表2000のデータ構造の一例を模擬的に示した図である。 本発明の実施形態のストレージノードのハードウェア構成を例示する説明図である。 本発明の実施形態のクライアントノードのハードウェア構成を例示する説明図である。 本発明の実施形態が提供する仮想Viewとストレージノードに格納されているファイルとの対応関係を説明するための図である。 本発明の実施形態の仮想ViewI/F制御処理で用いられる入出力パラメータの一例を示した図である。 本発明の実施形態の仮想Viewの更新・登録が必要であるか否かを判断するための基準を例示した図である。 本発明の実施形態のストレージノードに格納されるファイルのデータ構成を模擬的に示した図である。 本発明の実施形態のクライアントノードが行う仮想View情報の操作処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバが行う仮想Viewアクセス処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバが行う仮想View作成処理のフローを説明するための図である。 本発明の実施形態の制御サーバ100が行う仮想View構築条件設定処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバ行う仮想View更新処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバ行う仮想View管理表に対する情報登録処理ならびに更新処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバが行う仮想View取得処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバが行う仮想View削除処理を説明するためのフローチャートである。 本発明の実施形態の制御サーバが行うファイルアクセス操作を契機とした仮想View更新処理のフローを説明するための図である。 本発明の実施形態の制御サーバが行うファイルアクセス操作を契機とした仮想View更新処理を説明するフローチャートである。 本発明の実施形態の制御サーバが行う仮想View管理表からの情報削除処理を説明するフローチャートである。
符号の説明
100…制御サーバ、110…プロセッサ、120…メモリ、130…外部記憶装置、140…外部記憶I/F、150…ネットワークI/F、160…外部記憶I/F制御プログラム、170…ネットワークI/F制御プログラム、180…ファイルシステム制御プログラム、190…仮想View制御プログラム、191…仮想View管理プログラム、192…仮想ViewI/F制御プログラム、193…仮想View更新制御プログラム、200…クライアントノード、210…プロセッサ、220…メモリ、230…外部記憶装置、240…外部記憶I/F、250…ネットワークI/F、260…外部記憶I/F制御プログラム、270…ネットワークI/F制御プログラム、280…ファイルシステムアクセス制御プログラム、290…仮想Viewアクセス制御プログラム、500…ストレージノード、510…プロセッサ、520…メモリ、530…外部記憶装置、540…外部記憶I/F、550…ネットワークI/F、560…外部記憶I/F制御プログラム、570…ネットワークI/F制御プログラム、580…ローカルファイルシステム制御プログラム、1000…仮想View提供システム、2000…仮想View管理表

Claims (14)

  1. 1台以上のストレージ装置にネットワークを介して接続され、該ストレージ装置に対するアクセス制御を行う計算機であって、
    前記ストレージ装置に格納されているファイルデータの分類条件を受け付ける手段と、
    前記ストレージ装置に格納されているファイルデータの中から、前記分類条件を満たすファイルデータを検索して、分類条件毎に、該分類条件を満たすファイルデータのファイル名および格納位置を対応付けた情報(以下において「仮想View情報」という)を生成して記憶する手段と、
    利用者からの仮想View情報の提示要求を受け付けて、前記記憶している仮想View情報を提示する手段と、
    利用者からの前記ストレージ装置に格納されたファイルデータに対するアクセス要求を受け付けて、前記ストレージ装置のファイルデータに対するアクセス処理を行う手段と、
    前記ファイルデータに対するアクセス処理が行われた場合、前記記憶している仮想View情報を更新する手段と、を有すること
    を特徴とする計算機。
  2. 請求項1に記載の計算機であって、
    前記更新する手段は、
    前記ファイルデータに対するアクセス処理が行われた場合、該アクセス処理が該ファイルデータの書き込み処理および削除処理のいずれかに該当するか否かを判定して、該書き込み処理および削除処理のいずれかに該当する場合に、前記記憶している仮想View情報を更新すること
    を特徴とする計算機。
  3. 請求項2に記載の計算機であって、
    前記更新する手段は、
    前記アクセス処理が該ファイルデータの書き込み処理と判定された場合であって、かつ前記記憶している仮想View情報の中に前記書き込み処理を行ったファイルデータに当てはまる分類条件の仮想View情報が在る場合、該仮想View情報の該分類条件に該書き込み処理を行ったファイルデータのファイル名および格納位置を対応づけて、
    前記アクセス処理が該ファイルデータの削除処理と判定された場合であって、かつ前記記憶した仮想View情報の中に前記削除処理を行ったファイルデータのファイル名が対応付けられている仮想View情報が在る場合、該仮想View情報の該分類条件に対応付けられている該削除処理を行ったファイルデータのファイル名および格納位置を削除すること
    を特徴とする計算機。
  4. 1台以上のストレージ装置にネットワークを介して接続され、該ストレージ装置に対するアクセス制御を行う計算機であって、
    前記ストレージ装置に格納されているファイルデータの分類条件を受け付けて該受け付けた該分類条件毎に該分類条件を含んだ情報(以下において「仮想View情報」という)を生成して記憶する手段と、
    利用者からの前記ストレージ装置に格納されたファイルデータに対するアクセス要求を受け付けて、該要求されたファイルデータに対するアクセス処理を行う手段と、
    前記ファイルデータに対するアクセス処理が行われた際に、前記記憶した仮想View情報の中に前記アクセスしたファイルデータに当てはまる分類条件を含む仮想View情報が在るか否かを判定して、該仮想View情報が在る場合には、前記アクセスしたファイルデータに当てはまる分類条件を含む仮想View情報に該アクセスしたファイルデータのファイル名および格納位置を対応付ける更新手段と、
    利用者からの仮想View情報の提示要求を受け付けて、前記記憶している仮想View情報を提示する手段と、を有すること
    を特徴とする計算機。
  5. 請求項4に記載の計算機であって、
    利用者からの仮想View更新要求を受ける手段を有し、
    前記更新手段は、
    前記仮想View更新要求を受けた場合に、前記記憶している仮想View情報の中に前記ストレージ装置に格納されているファイルデータに当てはまる分類条件の仮想View情報が在るか否かを判定して、該格納されているファイルデータに当てはまる分類条件の仮想View情報が在る場合、該仮想View情報に該当てはまるファイルデータのファイル名および格納位置を対応づけること
    を特徴とする計算機。
  6. 請求項1〜5のいずれか一項に記載の計算機であって、
    前記ストレージ装置に格納されているファイルデータには、ファイル名、ファイル作成日、ファイル作成者、およびファイル格納位置を含む属性情報が含まれていて、
    前記分類条件とは、前記属性情報のいずれか、或いは、該属性情報のいずれかを組合せたものであること
    を特徴とする計算機。
  7. 請求項6に記載の計算機であって、
    前記ストレージ装置に格納されているファイルデータには、該ファイルデータのファイル実体情報が含まれていて、
    前記分類条件とは、前記ファイル実体情報に含まれるキーワード、或いは、前記ファイル実体情報に含まれるキーワードおよび前記属性情報のいずれかを組み合わせたものであること
    を特徴とする計算機。
  8. 請求項1〜7のいずれか一項に記載の計算機であって、
    利用者を示す利用者識別情報および該利用者識別情報に対応付けて該利用者に与えるアクセス権限情報を受け付ける手段を有し、
    前記仮想View情報を提示する手段は、
    前記利用者からの仮想View情報の提示要求を受け付ける際に、前記利用者識別情報の入力を受け付けて、前記利用者識別情報に対応付けられているアクセス権限情報により提示する仮想Viewの内容を変更すること
    を特徴とする計算機。
  9. 請求項1〜8のいずれか一項に記載の計算機であって、
    前記記憶している仮想View情報の一覧情報を作成する手段と、
    利用者からの前記一覧情報の提示要求を受け付けて、該一覧情報を提示する手段と、を有すること
    を特徴とする計算機。
  10. 1台以上のストレージ装置と、該ストレージ装置に対するアクセス制御を行う計算機とを有するストレージシステムであって、
    前記ストレージ装置および前記計算機はネットワークを介して接続されていて、
    前記ストレージ装置は、
    ファイル名、ファイル作成日、ファイル作成者、およびファイル格納位置を含む属性情報を有するファイルデータを格納する記憶手段と、
    前記計算機からのアクセス要求を受け付け、前記計算機に対して前記記憶しているファイルデータの入出力処理を行う手段と、を有し、
    前記計算機は、
    前記ストレージ装置に格納されているファイルデータの前記属性情報のいずれか、或いは該属性情報のいずれかを組合せた情報を分類条件として受け付ける手段と、
    前記ストレージ装置に格納されているファイルデータの中から、前記受け付けた分類条件を満たすファイルデータを検索して、分類条件毎に、該分類条件を満たすファイルデータのファイル名および格納位置を対応付けた情報(以下「仮想View情報」という)を生成して記憶する手段と、
    利用者からの前記仮想View情報の提示要求を受け付けて、前記記憶している仮想View情報を提示する手段と、
    利用者からの前記ストレージ装置のファイルデータに対するアクセス要求を受け付けて、前記ストレージ装置のファイルデータに対するアクセス処理を行う手段と、
    前記ファイルデータに対するアクセス処理が行われた場合、前記記憶している仮想View情報を更新する手段と、を有すること
    を特徴とするストレージシステム。
  11. 請求項10に記載のストレージシステムであって、
    前記更新する手段は、
    前記ファイルデータに対するアクセス処理が行われた場合、該アクセス処理が該ファイルデータの書き込み処理および削除処理のいずれかに該当するか否かを判定して、該書き込み処理および削除処理のいずれかに該当する場合には、前記記憶している仮想View情報を更新すること
    を特徴とする計算機。
  12. 1台以上のストレージ装置にネットワークを介して接続され、該ストレージ装置に対するアクセス制御を行う計算機が行うファイル管理方法であって、
    前記計算機は記憶装置を有していて、
    前記計算機は、
    前記ストレージ装置に格納されているファイルデータの分類条件を受け付けるステップと、
    前記ストレージ装置に格納されているファイルデータの中から、前記分類条件を満たすファイルデータを検索して、分類条件毎に、該分類条件を満たすファイルデータのファイル名および格納位置を対応付けた情報(以下において「仮想View情報」という)を生成して前記記憶装置に記憶するステップと、
    利用者からの仮想View情報の提示要求を受け付けて、前記記憶装置に記憶している仮想View情報を提示するステップと、
    利用者からの前記ストレージ装置に格納されたファイルデータに対するアクセス要求を受け付けて、前記ストレージ装置のファイルデータに対するアクセス処理を行うステップと、
    前記ファイルデータに対するアクセス処理が行われた場合、前記記憶装置に記憶している仮想View情報を更新するステップと、を実行すること
    を特徴とする計算機が行うファイル管理方法。
  13. 請求項12に記載の計算機が行うファイル管理方法であって、
    前記更新するステップは、
    前記ファイルデータに対するアクセス処理が行われた場合、該アクセス処理が該ファイルデータの書き込み処理および削除処理のいずれかに該当するか否かを判定して、該書き込み処理および削除処理のいずれかに該当する場合には、前記記憶装置に記憶している仮想View情報を更新すること
    を特徴とする計算機が行うファイル管理方法。
  14. 1台以上のストレージ装置と、該ストレージ装置に対するアクセス制御を行う計算機とを有するストレージシステムにおいて、前記ストレージシステムに格納されているファイルデータを管理する処理を前記計算機に実行させるプログラムであって、
    前記計算機は、記憶装置を有していて、
    前記プログラムは、
    前記ストレージ装置に格納されているファイルデータの分類条件を受け付けるステップと、
    前記ストレージ装置に格納されているファイルデータの中から、前記分類条件を満たすファイルデータを検索して、分類条件毎に、該分類条件を満たすファイルデータのファイル名および格納位置を対応付けた情報(以下において「仮想View情報」という)を生成して、該仮想View情報を生成して前記記憶装置に格納するステップと、
    利用者からの仮想View情報の提示要求を受け付けて、前記記憶装置に記憶している仮想View情報を提示するステップと、
    利用者からの前記ストレージ装置に格納されたファイルデータに対するアクセス要求を受け付けて、前記ストレージ装置のファイルデータに対するアクセス処理を行うステップと、
    前記ファイルデータに対するアクセス処理が行われた場合、前記記憶装置に記憶している仮想View情報を更新するステップと、を前記計算機に実行させること
    を特徴とするプログラム。
JP2004212993A 2004-07-21 2004-07-21 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム Pending JP2006031608A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004212993A JP2006031608A (ja) 2004-07-21 2004-07-21 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
US10/954,075 US20060020572A1 (en) 2004-07-21 2004-09-30 Computer, storage system, file management method done by the computer, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004212993A JP2006031608A (ja) 2004-07-21 2004-07-21 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2006031608A true JP2006031608A (ja) 2006-02-02

Family

ID=35658469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004212993A Pending JP2006031608A (ja) 2004-07-21 2004-07-21 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム

Country Status (2)

Country Link
US (1) US20060020572A1 (ja)
JP (1) JP2006031608A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676502B2 (en) * 2006-05-22 2010-03-09 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US20070106700A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Hierarchical file system naming
US7761432B2 (en) * 2005-11-04 2010-07-20 Oracle America, Inc. Inheritable file system properties
US20080065703A1 (en) * 2006-02-22 2008-03-13 Copan Systems, Inc. Configurable views of archived data storage
US8732136B2 (en) * 2006-05-22 2014-05-20 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
WO2009032710A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
US9311319B2 (en) * 2009-08-27 2016-04-12 Hewlett Packard Enterprise Development Lp Method and system for administration of storage objects
US9400819B2 (en) * 2013-06-07 2016-07-26 Dell Products, Lp Updating object attributes in a lock-coupled namespace traversal
CN103399875A (zh) * 2013-07-12 2013-11-20 深圳市金立通信设备有限公司 一种文件管理的方法及装置
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884321A (en) * 1995-03-22 1999-03-16 Meffert; Gregory John Document image and query management system for application databases
US7058696B1 (en) * 1996-11-22 2006-06-06 Mangosoft Corporation Internet-based shared file service with native PC client access and semantics
US6366988B1 (en) * 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US7099898B1 (en) * 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6195650B1 (en) * 2000-02-02 2001-02-27 Hewlett-Packard Company Method and apparatus for virtualizing file access operations and other I/O operations
US6745207B2 (en) * 2000-06-02 2004-06-01 Hewlett-Packard Development Company, L.P. System and method for managing virtual storage
US20020143798A1 (en) * 2001-04-02 2002-10-03 Akamai Technologies, Inc. Highly available distributed storage system for internet content with storage site redirection
US7155678B2 (en) * 2001-08-31 2006-12-26 Gxs, Inc. Method, system, and software for generating and displaying custom views for accessing multiple applications
WO2004008348A1 (en) * 2002-07-16 2004-01-22 Horn Bruce L Computer system for automatic organization, indexing and viewing of information from multiple sources
US7284030B2 (en) * 2002-09-16 2007-10-16 Network Appliance, Inc. Apparatus and method for processing data in a network
US7007043B2 (en) * 2002-12-23 2006-02-28 Storage Technology Corporation Storage backup system that creates mountable representations of past contents of storage volumes
US7366955B2 (en) * 2003-01-29 2008-04-29 Sun Microsystems, Inc. Automated test execution framework with central management
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7409644B2 (en) * 2003-05-16 2008-08-05 Microsoft Corporation File system shell

Also Published As

Publication number Publication date
US20060020572A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
AU2018395856B2 (en) Allocation and reassignment of unique identifiers for synchronization of content items
JP5775177B2 (ja) クローンファイル作成方法と、それを用いたファイルシステム
JP4816281B2 (ja) 文書利用管理システム、文書管理サーバ及びそのプログラム
US7685177B1 (en) Detecting and managing orphan files between primary and secondary data stores
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
US7640406B1 (en) Detecting and managing orphan files between primary and secondary data stores for content addressed storage
KR101120755B1 (ko) 정적 및 동적 리스트의 사용을 포함하는 가상 폴더 및 항목 공유 시스템 및 방법
JP5589205B2 (ja) 計算機システム及びデータ管理方法
US7603397B1 (en) Detecting and managing missing parents between primary and secondary data stores
JP2007018399A (ja) 条件別スナップショット取得方法及びシステム
JP2006134214A (ja) ファイルのバージョン管理方法および計算機システム
CN1329840C (zh) 文件归档
JP2008033912A (ja) Nas向けのcdpの方法および装置
JP2008305094A (ja) 文書管理方法及びその装置
JP2009515264A (ja) 文書およびソースコードの制御のための方法およびシステム
JP7374232B2 (ja) コンテキスト付きのコンテンツ・アイテム共有
US20090254585A1 (en) Method for Associating Administrative Policies with User-Definable Groups of Files
US7599971B1 (en) Detecting and managing missing parents between primary and secondary data stores for content addressed storage
JPH04232563A (ja) 文書管理方法
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
JP2006344171A (ja) 情報処理装置、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
JP2001306372A (ja) 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体
US20050108237A1 (en) File system
US20030204522A1 (en) Autofoldering process in content management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100105