JP4349301B2 - ストレージ管理システムと方法並びにプログラム - Google Patents

ストレージ管理システムと方法並びにプログラム Download PDF

Info

Publication number
JP4349301B2
JP4349301B2 JP2005059115A JP2005059115A JP4349301B2 JP 4349301 B2 JP4349301 B2 JP 4349301B2 JP 2005059115 A JP2005059115 A JP 2005059115A JP 2005059115 A JP2005059115 A JP 2005059115A JP 4349301 B2 JP4349301 B2 JP 4349301B2
Authority
JP
Japan
Prior art keywords
file
stub
client
server
access
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
JP2005059115A
Other languages
English (en)
Other versions
JP2006164211A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005059115A priority Critical patent/JP4349301B2/ja
Priority to US11/267,254 priority patent/US7818287B2/en
Priority to CN2005101254097A priority patent/CN1773510B/zh
Publication of JP2006164211A publication Critical patent/JP2006164211A/ja
Application granted granted Critical
Publication of JP4349301B2 publication Critical patent/JP4349301B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ストレージ管理技術に関し、特にクライアントとファイルサーバの間に論理的な中間装置を備え、階層間でファイルを配置し、クライアントには階層を隠蔽するシステム及び方法とコンピュータプログラムに関する。
現在のコンピュータシステムでは、保存しておくデータは年々増えている。ファイル数が増えているだけでなく、ファイルのサイズもマルチメディア系の動画データなどで大きくなっている。そのため、一層の大容量、高速なストレージが必要とされている。企業やデータセンターではこの需要に応えるためにストレージ容量を増やしつづけている。しかしながら、ファイルに保存されているデータの全てがアクセスされるわけではなく、全体のうち、半分以上のデータは、最近1年以上まったくアクセスされないとも言われている。
この現象に注目し、よくアクセスされるデータは高速・高価・低容量なストレージに、ほとんどアクセスされないデータは、低速・安価・大容量なストレージに保管するようにするのが階層ストレージ管理方式(HSM:Hierarchy Storage Management)である。
データの量が少なければ、管理者がデータを移動したりできるが、テラバイトレベルのストレージが普通になってきている現状では、管理者がデータの重要度を把握できる容量を超えている。
HSMでは、クライアントのアクセス頻度やファイルの情報から、自動的に移動するデータを選び出して、高速ストレージから低速ストレージへ移動するなどの処理を行う。
そして、データを低速ストレージに移動しても、クライアントには、移動前と同じように(ただし少し遅いと感じるかもしれないが)アクセスができるようにする。
従来のHSMは、クライアントにHSMソフトウエアを入れるホスト型、サーバ側でHSMを行うサーバ型の大きく2つに大別される。
クライアントにHSMソフトウエアを入れるものは、アプリケーションに特化したHSMが多い。例として、HSM対応メールソフトがあげられる。メールは、日付が古くなるにしたがって重要度が下がるという単純なモデルが成立しやすいため、HSM対応がやりやすいという特徴がある。日付の古いメールは、二次ストレージに自動的に移動され、一次ストレージのメールファイルはショートカットファイルに置き換えられる。ショートカットファイルの中には、実体ファイルの二次ストレージ上のパス名が格納されている。
クライアントが、このファイルを読み出すと、HSM対応メールソフトがショートカットファイルの中身を読み出して、二次ストレージにアクセスする。そのため、クライアントは、二次ストレージにあることを意識しなくてよい。なお、「ショートカットファイル」は、Windows(登録商標)での称呼であり、Unix(登録商標)では「シンボリックリンク」という。
このタイプのものは、ショートカットファイルやシンボリックリンクではクライアントには、二次ストレージに移動していることが完全に隠蔽できない。
HSM対応ソフトを通した操作であれば、二次ストレージに移動したショートカットファイルのサイズは実体ファイルの容量に変換されるが、例えばWindows(登録商標)のエクスプローラ(Explorer)(登録商標)で見ると、ファイルサイズが1KBのショートカットファイルに見えてしまう。
また、ファイルの削除をする場合、HSM対応ソフトを通した操作では、二次ストレージの実体ファイルも削除されるが、エクスプローラ(登録商標)からでは、削除されるのはショートカットファイルのみであり、二次ストレージの実体ファイルは削除されない。
ところで、サーバ側でHSMを行うタイプでは、アプリケーションに特化せず、ファイルシステムレベルで実現するために、スタブファイルを用いる方式がある。
スタブファイルとショートカットファイルとの違いは、ショートカットファイルは、ファイルシステムが認識するのに対して、スタブファイルは、ファイルシステム上、通常ファイルであり、認識するのは、HSM対応ソフトである点である。
サーバ側で行うHSMの問題点は、サーバをHSM対応のもので揃える必要があり、既存のサーバを入れ替える必要が出てくることである。
なお、クライアントから複数のファイルサーバを1つのファイルシステムとしてアクセス可能とする中間装置(スイッチ)として、特許文献1等が参照される。また、階層記憶装置として、特許文献2には、アクセス速度が異なる複数の記憶媒体(一次記憶媒体と二次記憶媒体)を用いて大量のデータを管理する階層記憶装置が、利用頻度の低下したデータの二次記憶媒体への格納等を自動的に行えるようにした構成が開示されている。また、特許文献3には、CIFS(Common Internet File System)プロトコルフィルタが、CIFSクライアントから送られる書き込みSMB(Server Message Block)メッセージデータをストライピング処理し、複数のサーバに順次書き込み、データ読み出しのときは、複数のサーバから順次交互に読み出して復元する構成が開示されている。
特開2003−203029号公報 特開2001−222450号公報 特開2003−150435号公報
従来の階層ストレージ管理方式は、下記記載の問題点を有している。
第1の問題点は、従来の階層ストレージ管理方式がユーザにとっては導入しにくい、ということである。
クライアントに導入されるHSM対応ソフトウエアの場合、全てのクライアントにHSM対応ソフトを導入する手間が必要とされ、サーバ側のHSMでは、HSM対応の同一ベンダー装置で揃える必要があり、既存のストレージ装置は使えなかった。
第二の問題点は、二次ストレージへの移動によりクライアントへの見え方が変わってしまう、ということである。すなわち、HSM方式によっては、二次ストレージへの移動をクライアントから完全に隠蔽できない。
したがって、本発明の目的は、導入を簡易化するストレージ管理システムと方法並びにプログラムを提供することにある。
本発明の他の目的は、二次ストレージへの移動をクライアントから完全に隠蔽できるストレージ管理システムと方法並びにプログラムを提供することにある。
本発明の他の目的は、最大ファイルサイズを拡大可能とするストレージ管理システムと方法並びにプログラムを提供することにある。
さらに本発明の他の目的は、分散された複数拠点間でスタブ化を可能とするストレージ管理システムと方法並びにプログラムを提供することにある。
さらにまた本発明の他の目的は、スタブ化/非スタブ化のトリガー制御を可能とするストレージ管理システムと方法並びにプログラムを提供することにある。
本願で開示される発明は、前記目的を達成するため、概略以下の構成とされる。
本発明の1つのアスペクト(側面)に係るコントローラは、クライアントからファイルサーバのファイルへのアクセス要求が発行されたとき、前記ファイルへのアクセス要求を受け、前記ファイルが、前記ファイルサーバから他のファイルサーバに移動された実ファイルの位置情報を記録しており前記ファイルサーバに格納されているスタブファイルであるか否か判断する手段と、スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報に基づき、前記他のファイルサーバの実ファイルにアクセスし前記クライアントに応答を返す制御を行う手段と、を備えている。本発明に係るコントローラは、前記ファイルサーバに格納された前記スタブファイルと前記他のファイルサーバに格納された前記実ファイルとの対応関係を含む情報を記憶管理する記憶手段を備え、前記アクセス要求が、前記コントローラで保持する前記情報で対処できるものである場合、前記実ファイルにアクセスすることなく、前記コントローラから、前記クライアントに前記アクセス要求に対する応答を返す構成としてもよい。
本発明の他のアスペクトに係るストレージ管理システムは、少なくとも1つのクライアントと、1次ストレージを有する第1のサーバと、2次ストレージを有する第2のサーバと、制御装置と、を備え、前記1次ストレージは、前記1次ストレージから前記2次ストレージに移動された実ファイルの位置情報を記録したスタブファイルを備え、前記制御装置は、前記クライアントから、前記第1のサーバの前記1次ストレージのファイルアクセス要求が発行されたとき、前記ファイルアクセス要求を受け、アクセス対象のファイルがスタブファイルであるか否か判断し、スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報を用いて前記2次ストレージの実ファイルにアクセスし前記クライアントに応答を返す制御を行い、前記クライアントからみて前記スタブファイルが実体であるかのように見せる制御を行う。本発明に係るストレージ管理システムにおいて、前記制御装置は、前記1次ストレージに格納された前記スタブファイルと前記2次ストレージに格納された前記実ファイルの対応関係を含む情報を記憶管理する記憶手段を備え、前記アクセス要求が、前記制御装置で保持する前記情報で対処できるものである場合、前記制御装置から、前記クライアントに前記アクセス要求に対する応答を返す構成としてもよい。
本発明の他のアスペクトに係る方法は、少なくとも1つのクライアントと、1次ストレージを有する第1のサーバと、2次ストレージを有する第2のサーバと、制御装置と、を含むシステムのストレージ管理方法であって、
前記1次ストレージに、前記1次ストレージから前記2次ストレージに移動された実ファイルの位置情報を記録したスタブファイルを配置し、
前記制御装置は、前記クライアントから、前記第1のサーバの前記1次ストレージのファイルアクセス要求が発行されたとき、前記ファイルアクセス要求を受け、アクセス対象のファイルがスタブファイルであるか否か判定するステップと、
前記制御装置は、前記判定の結果、スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報に基づき前記2次ストレージの実ファイルにアクセスし前記クライアントに応答を返す制御を行うステップと、
を含み、前記クライアントからは前記スタブファイルがあたかも実体であるかのように見えるようにしたものである。本発明に係る方法において、前記制御装置が、前記1次ストレージに格納された前記スタブファイルと前記2次ストレージに格納された前記実ファイルとの対応関係を含む情報を記憶管理するステップと、
前記制御装置が、前記アクセス要求が、前記制御装置で保持する前記情報で対処できるものである場合、前記制御装置から、前記クライアントに前記アクセス要求の応答を返すステップと、を含むようにしてもよい。
本発明の他のアスペクトに係るコンピュータ・プログラムは、クライアントからファイルサーバのファイルへのアクセス要求が発行されたとき、前記ファイルへのアクセス要求を受ける制御装置を構成するコンピュータに、前記ファイルが、前記ファイルサーバから他のファイルサーバに移動された実ファイルの位置情報を記録しており前記ファイルサーバに格納されているスタブファイルであるか否か判断する処理と、スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報に基づき、前記2次ストレージの実ファイルにアクセスし前記クライアントに応答を返す制御を行う処理と、を実行させるプログラムよりなる。本発明に係るプログラムにおいて、前記コンピュータは、前記ファイルサーバに格納された前記スタブファイルと前記他のファイルサーバに格納された前記実ファイルとの対応関係を含む情報を記憶手段で記憶管理する処理と、前記アクセス要求が、前記コントローラで保持する前記情報で対処できるものである場合、前記実ファイルにアクセスすることなく、前記コントローラから、前記クライアントに前記アクセス要求に対する応答を返す処理と、を実行させるプログラムを含む構成としてもよい。
本発明に係る上記コントローラ、ストレージ管理システムと方法、コンピュータ・プログラムにおいて、以下のように構成してもよい。
前記ファイルの属性情報に基づき、スタブファイルであるか否かを判断する。
前記スタブファイルのファイルサイズを固定長とする。
前記スタブファイルの作成時刻属性欄に、スタブファイルであることを示す値を含む。
前記スタブファイルの変更時刻属性欄に、スタブファイルであることを示す値を含む。
前記スタブファイルは、前記コントローラ(制御装置)がスタブファイルであることを判断することを可能とするためのマジックナンバーを含む。
前記スタブファイルは、前記実ファイルの属性を含む。
前記スタブファイルは、前記実ファイルへアクセスする識別子を含む。
前記識別子が、パス名、ストレージの生成したID、URL(Uniform Resource Locator)のいずれかである。
前記スタブファイルは、前記識別子を複数含む。
前記クライアントから前記ファイルサーバへのファイルアクセスに基づき、スタブファイルへのアクセスであるか否かを判断する。
前記クライアントからのアクセスに含まれるファイルID又はファイルハンドルに基づき、スタブファイルへのアクセスであるか否かを判断する。
前記クライアントからのアクセス要求をファイルサーバに転送し、前記ファイルサーバからの応答に含まれる属性に基づき、スタブファイルであるかを判断する。
前記クライアントからのアクセス要求をファイルサーバに転送し、前記ファイルサーバからの応答に含まれる属性に基づき、スタブファイルである可能性があると判断した場合、前記スタブファイルを前記1つのファイルサーバより読み出し、前記スタブファイルのマジックナンバーからスタブファイルであるか否かを判断する。
前記クライアントからのアクセス要求をそのままファイルサーバに転送するとファイルの属性が変更されることになる場合には、前記スタブファイルであるか否か判断する手段は、前記アクセスをファイルサーバに転送する前に、前記ファイルサーバにアクセスして、スタブファイルであるか否かを判断する。
前記クライアントから、ファイルサーバへのファイルアクセスを見て、スタブファイルへのアクセスであるかを判断して、制御動作を変える。
前記スタブファイルが前記コントローラ(制御装置)の処理の記述を含み、前記スタブファイルでの記述内容で提示された動作を行う。
前記クライアントからのアクセス要求の対象が、スタブファイルでない場合、アクセス要求をサーバにそのまま転送し、ファイルサーバからの応答をそのままクライアントに転送する。
スタブファイルである場合、前記クライアントに気づかせることなく実ファイルへのアクセスに切り替える。
オープン時に、オープン対象のファイルがスタブファイルであれば、ファイルIDを記憶しておき、以後のファイルIDを使ったアクセス要求では、前記記憶されたファイルIDと比較することで、スタブファイルへのアクセスであるかを判定する。
ルックアップ(LOOKUP)時に、スタブファイルであれば、ファイルハンドルを記憶しておき、以後のファイルハンドルを使ったリクエストでは、記憶したファイルハンドルと比較することで、スタブファイルへのアクセスを判定する。
クライアントが、ファイルを、リード又はライトをするときに、スタブファイルへのアクセスであれば、実ファイルにアクセスするように変更する。
実ファイルをオープンし、前記実ファイルのファイルIDをスタブファイルのファイルIDとセットで記憶しておく。
実ファイルをルックアップ(LOOKUP)し、前記実ファイルのファイルハンドルをスタブファイルのファイルハンドルとセットで記憶しておく。
前記クライアントよりスタブファイルのファイルIDを用いたアクセス要求が入力されたときに、前記記憶されている実ファイルのファイルIDに付け替えて、前記実ファイルを格納したファイルサーバに前記アクセス要求を転送する。
前記クライアントよりスタブファイルのファイルハンドルを用いたアクセス要求が入力された場合、前記記憶しておいた実ファイルのファイルハンドルに付け替え、前記実ファイルを格納したファイルサーバに前記アクセス要求を転送する。
前記クライアントより属性を変更するリクエストが入力されたとき、スタブファイル属性を書き換えられないように変更してファイルサーバに転送し、スタブファイル属性が書き換えられないように制御する。
前記スタブファイルの内容をキャッシュする記憶部を備え、前記クライアントからのアクセスがあったとき、スタブファイル本体を前記1つのファイルから読み出さずに前記キャッシュの内容を用いて処理を行う。
前記クライアントから、スタブファイルへの更新で属性が変わったとき、スタブファイル本体のファイル属性を変更するのではなく、キャッシュしているスタブファイルデータの内容を更新し、前記クライアントからクローズ(CLOSE)リクエストが来たときに、スタブファイル本体に書き戻す。
前記クライアントから、クローズ(CLOSE)リクエストが発行されると、これを受け、スタブファイルと実ファイルの両方に対してクローズ処理する。
前記クライアントから、クローズ(CLOSE)リクエストが発行されると、これを受け、記憶していたファイルIDのテーブルを消去する。
前記クライアントが明示的にクローズ(CLOSE)を発行しないプロトコルの場合には、前記クライアントがファイルハンドルをキャッシュしておく時間を考慮し、それ以上の時間、前記クライアントからアクセスがない場合、記憶していたファイルハンドル変換テーブルを消去する。
前記ファイルサーバから前記クライアントへのファイルアクセス応答を受け、前記クライアントにはスタブファイルであることを気づかせないように、前記応答の情報の一部を変更し、前記クライアントに返す。
クライアントがファイルをオープンするときに、ファイルの属性によりスタブファイルであるか否かを判断し、スタブファイル属性であれば、実ファイル属性に変更してクライアントに送信する。
前記クライアントからのファイルの属性取得コマンドに対するファイルサーバからの応答において、前記ファイルがスタブファイルであれば、属性を実ファイル属性に変更した上で、変更した応答を、クライアントに送信する。
前記クライアントに影響を与えることなく、実ファイルをコピーして、スタブファイル化する。
前記1つのファイルサーバのファイルを他のファイルサーバにコピーして、クライアントアクセスを、一時保留して、前記1つのファイルサーバのファイルをスタブファイルに書き換え、その後に、クライアントによるアクセスを再開する。
前記クライアントに影響を与えることなく、前記スタブファイルを、実ファイルに戻す。
前記実ファイルを、1つのファイルサーバのテンポラリ領域にコピーした後、クライアントのアクセスを一時保留して、スタブファイルに名前変更(RENAME)で入れ替え、その後でクライアントアクセスを再開する。
本発明においては、クライアントとサーバの間に、制御装置(「中間装置」ともいう)を導入し、中間装置は、クライアント・サーバ間の標準ファイルアクセスプロトコルのみを扱うため、クライアント・サーバともに特別な対応は一切必要がない。
また、本発明においては、制御装置は、二次ストレージへの移動をファイルアクセスプロトコルのレベルで完全に隠蔽するため、クライアントでは、二次ストレージへ移動されたことに全く気づくことなく、運用が可能になる。
本発明において、スタブファイル内に複数の分割ファイルのパス名を格納しておくことで最大ファイルサイズの拡大を可能としている。各分割ファイルは最大でリードライトサイズ分だけオーバーラップ領域を設けておき、1コマンドのアクセスで複数の分割ファイルにまたがることがないようにしている。
オーバーラップ領域の書き込みについては、2つの分割ファイルで同期をとる。
最大ファイルサイズ以下のある閾値になったら、あらたな分割ファイルとして、スタブファイルにパス名を登録する。
元のファイルを最初にスタブ化する場合、元ファイルをRENAMEすることで行う。そのため最初の分割ファイルは元のファイルと同一ファイルシステム内に配置される。これ以降に生成される分割ファイルは、異なるファイルシステムに分散配置されてもよい。
広域分散ネットワークファイルシステム(複数拠点)に、スタブ、実ファイルを分散配置し相互参照する構成としてもよい。
実ファイルが自拠点のファイルシステムに存在する場合、更新により属性が変更した場合、他拠点のスタブファイルを更新する。
実ファイルが他拠点のファイルシステムに存在する場合、自拠点のスタブファイル内の
実ファイル情報に基づき、他拠点の実ファイルに転送する。
他拠点の実ファイルを中間装置がキャッシュし、自拠点のスタブファイルにキャッシュ情報を格納しておく。アクセスがあったら、自拠点のスタブファイルのキャッシュ情報と実ファイルの属性を比較し、キャッシュが有効であれば、キャッシュを用いて応答する。
より詳細には、1つの拠点のファイルシステムが、他の拠点の実ファイルをキャッシュするキャッシュ領域を備え、前記スタブファイルにキャッシュ情報を記録しておき、
前記中間装置は、キャッシュされている実ファイルに対応する前記スタブファイルのキャッシュ情報を格納する記憶部を備え、前記1つの拠点の前記中間装置は、前記クライアントからのアクセス要求を受け、スタブファイルのキャッシュ情報が、前記中間装置の記憶部に格納されているかチェックし、格納されている場合、前記キャッシュ領域の実ファイルを用いて、前記クライアントからのアクセス要求を処理する。
スタブ化のトリガーとして、ストレージ容量が閾値に達したら、スタブ化を行う。その際、アクセスがないファイルからスタブ化を行うようにしてもよい。
複数拠点からなる広域分散環境では、ユーザのアクセス情報に基づき、アクセスの多い拠点に実ファイルを置き、他拠点では、スタブ化する。
クオータリミットが設定されている場合、それより小さい閾値を設定し、該閾値に達したら、アクセスの古いファイルを下階層に移動する等の制御を行うようにしてもよい。
本発明によれば、既存のクライアント・サーバに変更を加えることなく階層ストレージ管理を実現でき、管理工数の大幅な削減ができる。
さらに、本発明によれば、二次ストレージへの移動をクライアントに完全に隠蔽できるため、クライアントは階層ストレージ管理を意識することなく、システムの運用を可能としている。
本発明によれば、スタブファイルに複数の分割ファイルのパス情報を備える構成としたことにより、最大ファイルサイズを拡大することができる。
また、本発明によれば、複数拠点間でのスタブ、実ファイルの相互参照を可能としている。アクセス頻度の高い拠点に実ファイルを置き、アクセス頻度の低い拠点をスタブ化等することで拠点間(クラスタ間)の通信の増大を抑止低減し、拠点間相互アクセスにおける性能低下を回避可能としている。
また本発明によれば、クオータ(Quota)設定値に達するまえに、スタブ化を自動で行うことで、クオータエラーによるアクセスロック等の発生を事前に回避することができる。
本発明の実施の形態について図面を用いて説明する。図1は、本発明に係る中間装置を用いた一実施形態のシステム構成を示す図である。図1を参照すると、本発明の一実施形態に係るシステムは、クライアント1と、本発明の制御装置を構成する中間装置3とは、ネットワーク2を介して接続されており、中間装置3とファイルサーバ5及びファイルサーバ6とはネットワーク4を介して接続されている。ファイルサーバ5は、相対的に高速・小容量な一次ストレージであり、ファイルサーバ6は、相対的に低速・大容量な二次ストレージである。ネットワーク2、4は、例えばIP網が用いられる。クライアント1は、例えば標準ファイルアクセスプロトコル(NFS(Network File System)やCIFS(Common Internet File System)等)で、ファイルサーバ5(一次ストレージ)にアクセスする。
クライアント1は、ファイルはファイルサーバ5(一次ストレージ)にあるものとしてアクセスする。
ファイルサーバ6(二次ストレージ)に移動されたファイルは、中間装置3がアクセスをファイルサーバ6(二次ストレージ)にアクセス先を変更する処理を行う。
ファイルサーバ6(二次ストレージ)へのアクセスは、中間装置3が行うため、クライアント1は、ファイルサーバ6(二次ストレージ)にアクセスしていることは気づかず、完全に隠蔽される。なお、本発明の制御装置は、クライアントとファイルサーバのファイルアクセスプロトコルの中間に位置付けされる中間装置3で構成されているが、かかる構成に制限されるものでなく、ファイルサーバ5(一次ストレージ)内に設ける構成としてもよい。また、本発明の制御装置は、ソフトウェアモジュールで構成してもよいことは勿論である。
図2は、本発明の一実施形態の動作原理を説明するための図である。図2を参照して、中間装置3がファイルサーバ5(一次ストレージ)からファイルサーバ6(二次ストレージ)にアクセスを変更する処理をするために用いる方法について説明する。
ファイルサーバ6(二次ストレージ)には、実ファイル8(ファイルサーバ5(一次ストレージ)から移動されたファイル)が置かれ、ファイルサーバ5(一次ストレージ)には、実ファイル8に対応したスタブファイル7が置かれている。そして、ファイルサーバ5(一次ストレージ)のスタブファイル7には、ファイルサーバ6(二次ストレージ)に移動された実ファイル8のパス名が格納されている。
中間装置3は、クライアント1がファイルサーバ5(一次ストレージ)にアクセスしたとき、これがスタブファイル7である場合、スタブファイル7に格納されているパス名を使って、ファイルサーバ6(二次ストレージ)の実ファイル8にアクセスして、ファイルサーバ6(二次ストレージ)からの応答を受け、クライアント1に返す。これにより、クライアント1は、あたかもファイルサーバ5(一次ストレージ)上に実ファイル8があるようにファイル操作ができる。
以下、中間装置3の処理を具体的に説明する。
まず、中間装置3は、クライアント1がアクセスしたファイルがスタブファイル7であるか否かを判定する必要がある。そのために、本実施の形態では、スタブファイル7は、以下のようなファイルとする。
・ファイルのタイムスタンプに、スタブファイルを示すIDを入れる(CIFSでは作成時刻:Create Timeを使用。NFSではMtimeを使用)
・ファイルサイズを例えば1KB固定とする。ファイルサイズは、通常のファイルと重複しにくい値にするとよりよい。すなわち、ファイルサイズの値でスタブファイル又はその候補と判別できるためである。
・ファイルデータの先頭に、マジックナンバーを入れる。
このように、ファイル属性(ファイルタイムスタンプとファイルサイズ)でスタブファイルを判定できるため、高速な判定が可能である。
また、本実施形態によれば、ファイル先頭にマジックナンバーを入れておくことで、スタブファイルの誤認識を防止し、スタブファイルの確実な判別を可能としている。
図3は、本発明の一実施形態における、スタブファイル7のフォーマットを示す図である。図3を参照すると、スタブファイル7の先頭は、スタブ識別用マジックナンバー7Aである。これは、スタブファイルであることを最終的に確認するためのもので、ある程度の長さのマジックナンバーとする。
実ファイル属性7Bは、実ファイル8の属性(ファイルサイズ、更新日時等)を格納しておく。こうすることで、属性のみを返すようなリクエストについては、ファイルサーバ6(二次ストレージ)にアクセスすることなく、応答を返すことができる。
二次ストレージ実ファイルパス名7Cは、ファイルサーバ6(二次ストレージ)内の実ファイル8のパス名である。特に制限されないが、この例では、ファイルサーバ6がパス名で、ファイルアクセスするサーバであるため、二次ストレージ内の実ファイルパス名7Cとなる。ただし、パス名でなく、何らかのIDでファイルを特定するサーバであれば、IDが用いられ、ブロックアドレスやURL(Uniform Resource Locator)のようなものを用いてもよい。すなわち、二次ストレージ実ファイルパス名7Cは、これをもとに、中間装置3は実ファイル8にアクセスすることができるものであればよい。
リザーブ7Dは、前述のように、スタブファイル7を固定長とするために付加される空き領域である。
なお、スタブファイル7のフォーマットは、必ずしも、この順番である必要はないし、図3に示した要素以外にさらに別の要素を設ける構成としてもよいことは勿論である。
スタブファイル7を使う利点は、ファイルサーバ6(二次ストレージ)に移動したファイルのテーブルを、中間装置3が持たなくてよいことである。
例えばスタブファイル7を用いずに、中間装置3が全ての情報をもつ構成も考えられるが、その場合、クライアント1からの全てのリクエストについて、中間装置3内部で、テーブルエントリとの比較を行う必要がある。
これに対して、スタブファイル7を使うシステムでは、中間装置3は、クライアント1からのコマンドを、ファイルサーバ5(一次ストレージ)へ転送し、中間装置3が、ファイルサーバ5からの応答の中に含まれるファイル属性を見ることで、スタブファイルであることを判定することができる。このため、中間装置3で、全スタブファイルの情報をもつことは不要とされ、中間装置3の記憶容量によってスタブファイル7の数が制限されることがない。また、中間装置3の記憶容量の逼迫等により、転送速度が低下することもなく、高速転送が可能となる。
次に、中間装置3の内部で持つテーブルについて説明する。CIFSプロトコルの場合、図4に示す2つのテーブルを持つ。スタブファイルIDテーブル11は、クライアント1がスタブファイル7をオープンしている場合(クライアント1にとっては実ファイル8をオープンしているように見える)に作成されるテーブルである。スタブファイルIDテーブル11は、一次ストレージFID(11A)、二次ストレージFID(11B)、スタブ管理テーブルポインタ(11C)を有する。
一次ストレージFID(11A)は、ファイルサーバ5(一次ストレージ)のスタブファイル7のファイルID(ファイルIDについては後述)である。
二次ストレージFID(11B)はファイルサーバ6(二次ストレージ)の実ファイル8のファイルIDである。
スタブ管理テーブルポインタ(11C)は、対応するスタブ管理テーブル12へのポインタとなっている。
スタブ管理テーブル12は、スタブファイル7にクライアント1がアクセスしたときにスタブファイル7の内容を、中間装置3でキャッシュするテーブルであり、一次ストレージファイルパス名(12A)、二次ストレージファイルパス名(12B)、実ファイル属性(12C)を有する。
一次ストレージファイルパス名(12A)は、ファイルサーバ5(一次ストレージ)のスタブファイル7のパス名である。
二次ストレージファイルパス名(12B)は、ファイルサーバ6(二次ストレージ)の実ファイル8のパス名である。これは、スタブファイル7内の二次ストレージ実ファイルパス名7Cと同じ内容が設定される。
実ファイル属性(12C)は、実ファイル8の属性であり、スタブファイル7内の実ファイル属性7Bと同じ内容が設定される。
ただし、クライアント1から更新が入り、実ファイルの属性が変更された場合(例えばWRITE(書き込み)してファイルサイズが大きくなった場合など)に、毎回スタブファイル7内の実ファイル属性7Bを書き換えるのではなく、中間装置3内のスタブ管理テーブル12を書き換えるだけで対応するときがある。その場合、スタブファイル7内の実ファイル属性7Bとスタブ管理テーブル12の実ファイル属性12Cが異なる。
次に、クライアント1が中間装置3を経由してアクセスするときの中間装置3の動作を説明する。
特に制限されないが、以下では、ファイルアクセスプロトコルとして、Windows(登録商標)環境のデフォルトで使われているCIFSプロトコルの場合を例に説明する。他のファイルアクセスプロトコルでも、コマンド形式が多少異なるが、基本的な動作は同じであり、本発明を適用することができる。
<OPEN(対象をパス名で指定)>
図5は、クライアント1からOPEN(オープン)リクエストが発行され中間装置3で受けたときの処理手順を示す流れ図である。
クライアント1がアクセスを開始するときには、最初に、パス名を指定してOPENリクエスト(OPENReq(PATH))を発行する。OPENリクエストに対してファイルサーバ5、6は成功か失敗、成功ならファイルID(FID)とファイル属性を応答する。
クライアント1は、今回のOPENリクエスト以降のCLOSEまでの間、OPENリクエストに対するファイルサーバからの応答で渡されるファイルIDを使ってREAD(読込み)やWRITE(書込み)などのアクセスを行う。この仕組みは、ほとんどのファイルアクセスプロトコルに共通である。
中間装置3は、クライアント1からのOPENリクエスト(OPENReq(PATH))を受け取り、これをそのままファイルサーバ5(一次ストレージ)に転送する(ステップ101)。
そして、中間装置3は、ファイルサーバ5(一次ストレージ)からの応答(OPENResp(FID、属性))を受け取り、該応答に含まれるファイル属性をチェックする(ステップ102)。
ファイル属性がスタブファイル属性でない場合には(ステップ102のNO判定)、中間装置3は、ファイルサーバ5からの応答(OPENResp(FID、属性))をそのまま、クライアント1に転送する(ステップ106)。スタブファイル属性とは、前述したように、ファイル属性のうちタイムスタンプとファイルサイズがスタブファイルであることを示す場合である。
中間装置3は、スタブファイル属性であった場合には(ステップ102のYES判定)、確認のためにファイル先頭をREADして(READReq(FID))、ファイル先頭のマジックナンバーを確認する(ステップ103)。スタブファイル7でなければ(ステップ103のNO判定)、中間装置3は、ファイルサーバ5からの応答(OPENResp(FID、属性))をそのままクライアント1に転送する(ステップ106)。
スタブファイル7であった場合(ステップ103のYES判定)、中間装置3は、スタブファイルIDテーブル11とスタブ管理テーブル12を作成する(ステップ104)。ただし、中間装置3において、当該スタブファイル7のスタブ管理テーブル12がすでに存在する場合には、新たに作成はしない。これは、他のクライアント1がすでにこのスタブファイルをOPENしている場合等、あるいはFIND系コマンドなどOPENしないでパス名で指定するコマンドが来たときに作成されている場合に相当する。
次に、中間装置3は、ファイルサーバ5(1次ストレージ)からの応答(OPENResp(FID、属性))内のファイル属性を、スタブ管理テーブル12内の実ファイル属性(12C)に書き換え(ステップ105)、応答(OPENResp(FID、属性))をクライアントに転送する(ステップ106)。
これにより、クライアント1は、実ファイル8の属性が渡されるため、スタブファイル7であることが隠蔽される。なお、上記した中間装置3の処理は、中間装置3を構成するコンピュータで実行されるプログラムによって実現してもよい。
<READ/WRITE(対象をファイルIDで指定)>
図6は、OPEN後に、クライアント1からのREAD/WRITEリクエストが発行されたときの処理手順を示す流れ図である。なお、図6では、READリクエスト発行時の処理手順が示されている。
クライアント1は、READリクエスト(READReq(FID))において、ファイルID(FID)を指定して来る(ステップ111)。
中間装置3は、クライアント1からのREADリクエスト(READReq(FID))を受け取り、ファイルIDをスタブファイルIDテーブル11から検索する(ステップ112)。ステップ112での検索の結果、当該ファイルIDがスタブファイルIDテーブル11に存在しなければ(ステップ113のNO分岐)、スタブファイルではないことがわかる。このため、中間装置3は、READリクエスト(READReq(FID))を、通常どおり、そのままファイルサーバ5(一次ストレージ)へ転送する。そして、中間装置3は、ファイルサーバ5(一次ストレージ)からの応答もそのままクライアント1へ返す。
一方、中間装置3において、ファイルIDがスタブファイルIDテーブル11に存在する場合(ステップ113のYES分岐)、中間装置3は、スタブファイルIDテーブル11の二次ストレージFID(11B)が有効であるか否かをチェックする(ステップ114)。二次ストレージFID(11B)が有効であるか否かは、スタブファイルIDテーブルの作成時に、二次ストレージFID(11B)をNULL(ヌル)に設定しておき、判定の際に、NULL以外であれば有効と判断できる。
ステップ114の判定の結果、二次ストレージFID(11B)が有効である場合(ステップ114のYES分岐)、中間装置3は、ファイルサーバ6(二次ストレージ)に、二次ストレージFID(11B)を使ってREAD要求を転送し(116)、ファイルサーバ6(二次ストレージ)からの応答をクライアント1へ転送する(ステップ117)。
一方、ステップ114の判定の結果、二次ストレージFID(11B)が無効の場合(ステップ114のNO分岐)、中間装置3は、OPEN後の最初のREADやWRITEであるため、ファイルサーバ6(二次ストレージ)の実ファイル8はOPENされていない。そのため、中間装置3は、ファイルサーバ6(二次ストレージ)の実ファイル8をスタブ管理テーブル12内の二次ストレージファイルパス名(12B)を用いてOPENし、ファイルサーバ6(二次ストレージ)の応答のファイルIDを、スタブファイルIDテーブル11の二次ストレージFID(11B)に登録する(ステップ115)。すなわち、中間装置3は、ファイルサーバ6(二次ストレージ)にOPENリクエスト(OPENReq(PATH2))を送信し、ファイルサーバ6(二次ストレージ)からの応答(OPENResp(FID2、属性)から二次ストレージのファイルID(FID2)をスタブファイルIDテーブル11の二次ストレージFID(11B)に格納する。これにより、二次ストレージFID(11B)は初期設定された値NULLでなくなる。
その後、中間装置3は、二次ストレージFID(11B)を使ってREAD要求(READReq(FID2))をファイルサーバ6(二次ストレージ)に転送し(ステップ116)、中間装置3は、ファイルサーバ6(二次ストレージ)からの応答(ReadResp)を受け、該応答を、クライアント1へ転送する(ステップ117)。
クライアント1からのアクセス要求がWRITEリクエストの場合、書き込みの結果、ファイルサイズが変わる場合がある。ファイルサーバ5(一次ストレージ)のスタブファイル7内に実ファイル属性7Bを備えているため、変更する必要があるが、本実施形態では、実ファイルのファイルサイズの変更があったとき、中間装置3でキャッシュしているスタブ管理テーブル12内の実ファイル属性12Cを変更するのみにしておき、CLOSE時に、スタブファイル7に書き戻すようにしている。
これにより、毎回ファイルサーバ5(一次ストレージ)を書き換える作業がなくなり、高速転送が可能となる。なお、上記した中間装置3の処理は、中間装置3を構成するコンピュータで実行されるプログラムによって実現してもよい。
<属性GET系コマンド(対象をファイルIDで指定)>
図7は、属性GET系で対象をファイルIDで指定するコマンドが発行された場合の処理手順を示す流れ図である。中間装置3では、クライアント1から来た属性GETリクエスト(GETReq(FID))をファイルサーバ5(一次ストレージ)に転送する(ステップ121)。
中間装置3は、属性GETリクエスト(GETReq(FID))のファイルID(FID)でスタブファイルIDテーブル11を検索し(ステップ122)、スタブファイルか否かを判別する(ステップ123)。
中間装置3は、ステップ123の判別の結果、スタブファイルでなければ(ステップ123のNO分岐)、ファイルサーバ5(一次ストレージ)からの応答(GETResp)をそのままクライアント1へ転送する(ステップ125)。
一方、中間装置3は、ステップ123の判別の結果、スタブファイルであれば(ステップ123のYES分岐)、応答(GETResp(属性))に含まれるファイル属性をスタブ管理テーブル12内の実ファイル属性12Cに書き換えた上(ステップ124)、応答(GETResp(属性))をクライアントに転送する(ステップ125)。
図7において、属性GETリクエスト(GETReq(FID))に含まれるファイルIDから検索すれば、中間装置3がファイルサーバ5(一次ストレージ)に属性GETリクエスト(GETReq(FID))を転送することは必要ないように見えるが、クライアント1のアクセス権チェック等の処理をファイルサーバ5(一次ストレージ)で行うため、中間装置3は、必ず、属性GETリクエスト(GETReq(FID))をファイルサーバ5(一次ストレージ)へ転送し、もし、ファイルサーバ5(一次ストレージ)からの応答がエラーであれば、エラーのままクライアントへ返却する必要がある。
<属性GET系コマンド(対象をパスで指定)>
図8は、属性GET系で対象がパス名で指定されるコマンドが発行された場合の処理手順を示す流れ図である。
中間装置3は、クライアント1から来た属性GETリクエスト(GETReq(PATH))をファイルサーバ5(一次ストレージ)へ転送する(ステップ131)。
ファイルサーバ5(一次ストレージ)からの応答(GETResp(属性))には、ファイル属性が含まれるため、中間装置3は、該ファイル属性がスタブファイル属性か判別し(ステップ132)、スタブファイルでなければ(ステップ132のNO分岐)、クライアント1へ応答(GETResp)をそのまま転送する(ステップ137)。
中間装置3は、属性がスタブファイル属性である場合(ステップ132のYES分岐)、ファイルサーバ5(一次ストレージ)のスタブファイル7をオープンして、その中身をREADしてスタブファイル7をクローズする(ステップ133)。
中間装置3は、読み出した先頭のマジックナンバー(図3参照)を確認し、スタブファイルか否かを判別する(ステップ134)。スタブファイルでなければ(ステップ134のNO分岐)、中間装置3は、応答(GETResp)をそのままクライアントへ転送する。
スタブファイルであれば(ステップ134のYES分岐)、中間装置3は、スタブ管理テーブル12を作成し(ステップ135)、応答(GETResp(属性))のファイル属性を、スタブファイル7の実ファイル属性7Bに入れ替えて(ステップ136)、クライアント1に転送する(ステップ137)。
ステップ135におけるスタブ管理テーブルの作成処理は、以後も同一ファイルがアクセスされるときのキャッシュとして作成しておくものであるため、実行しないことも可能である。
<属性SET系コマンド(対象をファイルIDで指定)>
図9は、属性SET系で対象をファイルIDで指定するコマンドが発行された場合の処理手順を示す流れ図である。属性SET系は、GET系と異なり、そのままファイルサーバ5(一次ストレージ)へ転送してしまうと、スタブファイルであった場合に、スタブファイル属性を書き換えてしまい、この結果、中間装置3がスタブファイルを認識できなくなる。そこで、本実施形態では、必ず、スタブファイル判定を行ってから転送を行う。
まず、中間装置3が、クライアント1から属性SETリクエスト(SETReq(FID))を受けると(ステップ141)、READ/WRITEリクエストと同様に、ファイルIDでスタブファイルIDテーブル11を検索し(ステップ142)、スタブファイルでない場合には(ステップ143のNO分岐)、ファイルサーバ5(一次ストレージ)に、該属性SETリクエストをそのまま転送する。
スタブファイルであった場合には(ステップ143のYES分岐)、中間装置3は、スタブファイルIDテーブル11の二次ストレージFID(11B)が有効であるか否か(二次ファイルIDがあるか否か)をチェックし(ステップ144)、有効である場合(ステップ144のYES分岐)、中間装置3は、属性を二次ストレージFID(11B)に入れ替えた属性SETリクエスト(SETReq(FID2))を、ファイルサーバ6(二次ストレージ)に転送し、ファイルサーバ6(二次ストレージ)からの応答(SETResp)を受け取る(ステップ147)。
応答(SETResp)が、属性SETの成功である場合、スタブ管理テーブル12内の実ファイル属性12Cを書き換え(ステップ148)、応答(SETResp)をクライアントに転送する(ステップ149)。
一方、二次ストレージFID(11B)が無効である場合には(ステップ144のNO分岐)、中間装置3は、ファイルサーバ6(二次ストレージ)にOPENリクエスト(OPENReq(PATH2))を送信して、二次ストレージのファイルパス名(12B)をOPENし(ステップ145)、ファイルサーバ6(二次ストレージ)からの応答(OPENResp(FID2,属性))のファイルID(FID2)を、スタブファイルIDテーブルの二次ストレージFID(11B)に登録する(ステップ146)。これ以降、二次ストレージFID(11B)が有効であった場合と同様、属性SETリクエスト(SETReq(FID2))を、ファイルサーバ6(二次ストレージ)に転送し(ステップ147)、スタブ管理テーブル12内の実ファイル属性12Cを書き換えて(ステップ148)、クライアントに転送する(ステップ149)。
<属性SET系コマンド(対象をパス名で指定)>
図10は、属性SET系で対象をパス名で指定するコマンドが発行された場合の処理手順を示す流れ図である。この場合も、図9を参照して説明した手順と同様、転送する前に、スタブファイル判定を実行する必要がある。図9と異なるのは、スタブファイルIDテーブル11が作成されていないため、実際にファイルサーバ5(一次ストレージ)にアクセスして判定する点である。
まず、中間装置3が、クライアント1から属性SETリクエスト(SETReq(PATH、属性))を受け取ると、ファイルサーバ5(一次ストレージ)へそのパス名を使って属性GETリクエスト(GETReq(属性))を送る(ステップ151)。中間装置3は、ファイルサーバ5(一次ストレージ)からの応答(GETResp(属性))の属性がスタブファイル属性かを判定し(ステップ152)、スタブファイルでない場合(ステップ152のNO分岐)、属性SETリクエスト(SETReq(PATH、属性))を、ファイルサーバ5(一次ストレージ)へ転送し、ファイルサーバ5(一次ストレージ)からの応答(SETResp)をクライアント1へ転送する(ステップ159)。
スタブファイル属性であった場合には(ステップ152のYES分岐)、中間装置3は、スタブ識別用マジックナンバー7Aを得るために、ファイルサーバ5(一次ストレージ)を、そのパス名でOPENし、ファイル先頭をREADし、CLOSEする(ステップ153)。
スタブ識別用マジックナンバー7Aでなければ(ステップ154のNO分岐)、スタブファイルではないので、中間装置3は、属性SETリクエスト(SETReq(PATH、属性))をファイルサーバ5(一次ストレージ)へ転送し、ファイルサーバ5(一次ストレージ)からの応答(SETResp)をクライアント1へ転送する(ステップ159)。
スタブファイルと確認できた場合には(ステップ154のYES分岐)、中間装置3は、まず、ファイルサーバ5(一次ストレージ)へ属性SETリクエスト(SETReq(PATH、属性&stub))を転送する(ステップ155)。その際に、SETする属性に、スタブファイル属性stubを埋め込んで転送する。こうすることで、スタブファイル属性を失わないようにする。
その後、スタブファイル7内の実ファイル属性を書き換えるために、中間装置3は、スタブファイル7をOPENし、実ファイル属性をスタブファイル7にWRITEした後、CLOSEする(ステップ156)。
対象をファイルIDで指定する属性SET系コマンドの場合は、すでに、クライアント1からOPENされているため、中間装置3において、スタブ管理テーブル12が作成されており、属性の変更は、スタブ管理テーブル12にのみ反映し、クライアント1からCLOSEが来たときに反映すればよいが、対象をパス名で指定する属性SET系コマンドの場合は、OPENしていないので、スタブ管理テーブルが存在せず、スタブファイル7内の実ファイル属性7Bに反映する必要がある。
その後、中間装置3は、ファイルサーバ6(二次ストレージ)に、属性SETリクエスト(SETReq(PATH、属性))を転送し(ステップ157)、ファイルサーバ6(二次ストレージ)からの応答(SETResp)を受け取って、クライアント1へ転送する(ステップ158)。
<READDIR、FIND系コマンド(対象をパス名で指定)>
図11は、READDIR・FIND系コマンドの場合の処理手順を示す流れ図である。
まず、中間装置3が、クライアント1からFIND系リクエスト(FINDReq(PATH))を受け取ると、ファイルサーバ5(一次ストレージ)に転送する(ステップ161)。中間装置3は、ファイルサーバ5(一次ストレージ)からの応答(FINDResp(属性))に含まれる属性がスタブファイル属性であるか否かの判定を行い(ステップ162)、スタブファイルでなければ(ステップ162のNO分岐)、そのまま応答(FINDResp(属性))をクライアント1に転送する(ステップ168)。
一方、スタブファイル属性の場合には(ステップ162のYES分岐)、中間装置3は、スタブ管理テーブル12を検索し(ステップ163)、検索の結果、存在する場合(ステップ164のYES分岐)、応答(FINDResp(属性))の属性を、実ファイル属性12Cに書き換えて(ステップ167)、該属性を書き換えた応答をクライアント1に転送する(ステップ168)。
ステップ163におけるスタブ管理テーブル12の検索の結果、見つからない場合(ステップ164のNO分岐)、中間装置3は、スタブ識別用マジックナンバー7Aを確認するため、ファイルサーバ5(一次ストレージ)に対して、OPEN、READ、CLOSEを行う(ステップ165)。
その結果(読み出した結果)、スタブファイル7であれば(ステップ166のYES分岐)、中間装置3は、属性を書き換え(ステップ167)、スタブファイル7でなければ(ステップ166のNO分岐)、クライアント1への応答転送の処理(ステップ168)に進む。この際、今後も、クライアントからFIND系アクセスが来るのに備えて、スタブ管理テーブル12を作成しておいてもよい。
<CLOSE(対象をファイルIDで指定)>
図12は、CLOSEコマンドが発行された場合の処理手順を示す流れ図である。
中間装置3は、クライアント1からCLOSEリクエスト(CLOSEReq(FID))を受け取ると、ファイルIDを取り出してスタブファイルIDテーブル11を検索する(ステップ171)。
ファイルID(FID)がスタブファイルIDテーブル11に存在しなければ(ステップ172のNO分岐)、スタブファイルではないので、中間装置3は、CLOSEリクエスト(CLOSEReq(FID))を、ファイルサーバ5(一次ストレージ)に転送し、応答をクライアント1に転送する。
一方、スタブファイルIDテーブル11が存在する場合(ステップ172のYES分岐)、スタブファイルであることがわかるので、中間装置3は、まず、スタブファイル7をCLOSEするためファイルサーバ5(一次ストレージ)に、CLOSEリクエスト(CLOSEReq(FID))を転送する(ステップ173)。
スタブファイルID管理テーブル11の二次ストレージFID(11B)が有効であれば(ステップ174のYES分岐)、実ファイル8がOPENされているので、中間装置3は、ファイルサーバ6(二次ストレージ)の実ファイル8をCLOSEリクエスト(CLOSEReq(FID2))を送信する(ステップ175)。
OPEN中にWRITEがあってファイルサイズや属性が変わっている場合(ステップ176のYES分岐)があることから、その場合、中間装置3は、スタブファイル7をOPENして、内部の実ファイル属性7Bを書き換えておく(ステップ177のOPEN−WRITE−CLOSE)。
最後に、中間装置3は、クライアント1に応答(CLOSEResp)を返す(ステップ178)。なお、図7乃至図13を参照して説明した中間装置3の処理は、中間装置3を構成するコンピュータで実行されるプログラムによって実現してもよい。
次に、通常ファイルをスタブファイルにする時の動作について説明する。図13は、ファイルサーバ5(一次ストレージ)からファイルサーバ6(二次ストレージ)へファイルを移動し、スタブファイル化するフローを説明するための図である。
まず、中間装置3がファイルサーバ5(一次ストレージ)からファイルサーバ6(二次ストレージ)にファイルをコピーする(ステップ1)。この間にクライアントから対象ファイルに対してアクセスがあった場合はコピーを中止し、一定時間後に、再度コピーを再開するなどの制御を行う。
コピーが終了したら、中間装置3では、対象ファイルへのクライアント1からのアクセスを停止する(ステップ2)。アクセスの停止の仕方は、
・リクエストをドロップする方式や、
・リクエストを一時的にキューイングする方式
等を用いることができる。いずれにしても、ファイルサーバ5の対象ファイルに対してクライアント1のアクセスが来ないようにする。アクセスを止めている間に、中間装置3がファイルサーバ5(一次ストレージ)の対象ファイルをスタブファイルに書き換える(ステップ3)。
その後、停止していたアクセスを再開する(ステップ4)。アクセスを停止する期間は中間装置3がスタブファイルに書き換える時間となるが、これはスタブファイル7が小さいサイズなのでほとんどの場合は1回のWRITEと属性SETで終了するため、非常に短い時間で済む。
次に、スタブファイルから通常ファイルへ戻す時の動作について説明する。図14は、ファイルサーバ6(二次ストレージ)からファイルサーバ5(一次ストレージ)へ実ファイルを戻し、スタブファイルをなくすフローを説明するための図である。
ファイルサーバ5(一次ストレージ)のスタブファイルにファイルサーバ6(二次ストレージ)から実ファイルを上書きコピーしてしまうと、スタブファイルでなくなってしまい、その間にクライアント1からアクセスがあった場合にスタブファイルと判定できない。そのため、コピー中には中途半端なファイルをクライアント1に見せてしまうことになるという問題がある。
この問題を避けるため、クライアント1の対象ファイルへのアクセスをコピー中は止めておく方式がある。ただし、この方式では、ファイルサイズが大きい場合などでは、クライアント1のアクセスを停止する期間が非常に長くなり、クライアント1に影響を与えてしまう。
この問題を回避してクライアントに影響を与えない書き戻しを実現するため、ファイルサーバ6(二次ストレージ)からファイルサーバ5(一次ストレージ)のテンポラリ領域に実ファイルのコピーを行う(ステップ1)。
この間にクライアントから対象ファイルにアクセスがあったら、スタブファイル7がそのまま残っているので、今まで説明した方式で中間装置3が転送を行う。
テンポラリ領域へのコピーが終了したら、中間装置3で対象ファイルへのアクセスを停止する(ステップ2)。
その後、中間装置3でテンポラリ領域の実ファイルをRENAMEコマンドでスタブファイル7と置き換える(ステップ3)。
その後、中間装置3でクライアント1の対象ファイルへのアクセスを再開する(ステップ4)。
この方式では、クライアント1のアクセスを停止する期間はRENAMEコマンドの時間であり、同一ファイルシステム内のRENAMEコマンドは通常はiノードテーブルの付け替えだけであり非常に短い時間で済む。そのためクライアント1にほとんど影響を与えることなく書き戻しをすることができる。なお、上記した中間装置3の処理は、中間装置3を構成するコンピュータで実行されるプログラムによって実現してもよい。
次に、NFSプロトコルの場合の実施形態について説明する。CIFSプロトコルと違い、NFSプロトコルはネットワーク上にOPENやCLOSEが出ないプロトコルである。このようなプロトコルの場合、前述のOPENをきっかけにしてテーブルを作成するフローは使えない。CIFSの場合と同様に、スタブファイルを用いて実現する。スタブファイルの中身も同じである。
CIFSでは、ファイルIDはクライアント1のOPENからCLOSEまでの間だけ用いられるテンポラリのIDであるが、NFSでは、全てのファイルを区別できるファイルハンドルというIDが用いられる。
クライアント1は、LOOKUPコマンドに、親ディレクトリのファイルハンドルと探したいファイル名を入れてサーバに送り、応答として、ファイルのファイルハンドルを獲得する。
以後、そのファイルハンドルを用いてREADやWRITEを行う。明示的にCLOSEをすることはない。
そのため、中間装置3では、ファイルIDの代わりに、ファイルハンドルをテーブルで持ち、クライアントのREAD・WRITEコマンドに含まれるファイルハンドルがスタブファイルかを判別する。
全てのスタブファイルのファイルハンドルをテーブルで持つと、テーブルが大きくなりすぎるので、LOOKUPをきっかけにテーブル作成し、ある程度の時間アクセスがなければ、テーブルから消す処理を行う。
図15は、NFSの場合の中間装置3でもつテーブルの一例を示す図である。スタブ管理テーブル12は、CIFSの場合と同じであるが、スタブファイルIDテーブル11の代わりに、スタブファイルハンドルテーブル13を持つ。内容は、一次ストレージファイルID11Aと二次ストレージファイルID11Bの代わりに、一次ストレージファイルハンドル13Aと、二次ストレージファイルハンドル13Bが入る。
図16を用いて、本実施例の動作を説明する。クライアント1から中間装置3にLOOKUPリクエスト(LOOKUPReq(ファイル名))が来ると、中間装置3はファイルサーバ5(一次ストレージ)へ転送し(181)、応答に含まれるファイル属性を監視し、ファイルがスタブファイル7かを判断する。
スタブファイル属性(変更時刻、ファイルサイズで判断する)であれば、実際にファイル先頭をREADしマジックナンバーを確認する。スタブファイルであれば、中間装置内にスタブファイルハンドルテーブル13とスタブ管理テーブル12を作成する(ステップ182)。
クライアント1へは、ファイルサーバ5(1次ストレージ)からの応答の属性を実ファイル属性12Cに置き換えてクライアントに転送する。スタブファイルハンドルテーブル13はファイルハンドルをハッシュして検索できるようにしておくと検索が高速にできる。
以後、クライアントからREADやWRITEが中間装置に来たら(ステップ183)、含まれるファイルハンドルがスタブファイルハンドルテーブル13にあるかを検索する(ステップ184)。
スタブファイルであった場合、ファイルサーバ6(二次ストレージ)に転送する(ステップ185)。なお、上記した中間装置3の処理は、該中間装置3を構成するコンピュータで実行されるプログラムによって実現してもよい。
最初のREADやWRITEが来たときにスタブファイル7の二次ストレージ実ファイルパス名7Cに基づき、LOOKUPを行って得たファイルハンドルをスタブファイルハンドルテーブル13の二次ストレージファイルハンドル13Bに入れておく。
以後のREADやWRITEではスタブファイルハンドルテーブル13内の二次ストレージファイルハンドル13Bに付け替えてファイルサーバ6(二次ストレージ)に転送する。
GETATTRのような、実データは触らずに属性のみを獲得するようなコマンドの場合はファイルサーバ6(二次ストレージ)にアクセスせず、ファイルサーバ5(一次ストレージ)に転送し、応答の属性をスタブ管理テーブル12に基づいて変更して転送する。
ファイルID、もしくはファイルハンドルに、スタブファイルであることを示す識別子を入れる構成としてもよい。
CIFSプロトコルの場合、OPEN時にスタブファイルであることを判別し、スタブファイルであれば、クライアントに返すファイルIDの中にスタブファイル識別子を入れる。こうすることで、後続のREADやWRITE時にスタブ管理テーブルを検索するのはスタブファイル識別子が入ったファイルIDのみとなり、全てをスタブ管理テーブルと比較する必要がなくなる。
NFSプロトコルの場合、LOOKUP応答のファイルハンドルにスタブ識別子を入れておく。こうすることで、後続のREADやWRITE時に、スタブ識別子が入ったリクエストのみスタブ管理テーブルを検索し、他のリクエストではスタブ管理テーブルを検索する必要がなくなる。これにより、中間装置の処理が軽くなり、高速転送が可能になる。
この場合、スタブファイル作成やスタブファイル削除時に、すでにクライアントにスタブ識別子が入っていないファイルIDやファイルハンドルを渡している場合に問題となる。これに対処するため、スタブファイル作成や削除の前後では全てのリクエストに対してスタブ管理テーブルの検索が必要になる。処理を簡単にするために、クライアントを識別して、すでにスタブ識別子の入っていないファイルIDやファイルハンドルを渡しているクライアントが識別できる場合は、これ以外のクライアントからのリクエストではスタブ管理テーブルを検索しないという処理も可能である。
スタブファイルに二次ストレージのパス名だけでなく、以下のような情報をいれておく形態がある。
・複数の二次ストレージパス名を用いた世代管理スタブファイルの内部に複数の二次ストレージパス名を入れておき、ファイルのバージョン管理をすることができる。ある時点で二次ストレージの実ファイルをコピーし、コピー先のパス名をスタブファイルに入れておく。クライアントからアクセスが来たら、スタブファイル内の最新の実ファイルをアクセスする。こうすることで、スナップショット機能などの特殊な機能のないファイルサーバでも世代管理を容易に行うことができる。単にファイルをコピーして保存するのとは異なり、クライアントからは世代管理を隠蔽でき、前世代のファイルを不当に更新できないシステムであり、改ざんが行われていないことが保障できるというメリットがある。
・中間装置3で付加的に行う処理を記述し、中間装置3でファイルごとに違う処理をすることができる。すなわち、スタブファイルに中間装置3で行う処理を記述しておき、クライアントがアクセスしてきたときに、スタブファイル内の記述に従って中間装置3が処理を行う。従来の構成では、ファイルごとに異なる処理をするためには、ファイルと処理の関係をテーブルにして、他に記憶保持しておく必要があった。これに対して、本発明によれば、スタブファイルを用いることで、ファイルシステム内部に埋め込むことができ、別のテーブルを持たなくてよい。そのため、アクセスごとにテーブルを検索する必要もなく、処理の高速化、簡素化ができる。
図17は、前記した中間装置3の内部構成の一例を示した図である。図17に示すように、中間装置3は、パケット転送部14と、スタブファイル判定部15と、サーバアクセス部16と、属性変更部17と、図4を参照して説明したスタブファイルIDテーブル11とスタブ管理テーブル12を有するテーブル管理部18を備えている。クライアント1、ファイルサーバ5、6との通信は、パケット転送部14を経由して行われる。パケット転送部14は、クライアント1とファイルサーバ5、6間の通信パケットの状態を管理し、必要に応じてスタブファイル判定部15、サーバアクセス部16、属性変更部17との間で処理の受け渡しを行う。スタブファイル判定部15は、パケット転送部14からパケットを受け、その処理がスタブファイルに対するものかを判定する。スタブファイル判定部15は、テーブル管理部18に問い合わせたり、サーバアクセス部16に依頼してファイルサーバ5にアクセスする制御を行う。サーバアクセス部16は、スタブファイル判定のためにファイルサーバ5にアクセスするほか、スタブファイル化や通常ファイル化のためのアクセスなどを制御する。スタブファイル判定部15によるスタブファイルであるか否かの判定は、前記実施例で説明した手法(属性情報、マジックナンバー、その他)に従う。属性変更部17は、パケット転送部14からパケットを受け、テーブル管理部18に問い合わせてパケット内のファイル属性の変更を行う。
上記した実施例においては、スタブファイルに対して1つの実ファイルが存在する階層ストレージシステムにおいて、スタブファイルに実ファイルの情報(パス名等)を格納しておく例を説明したが、本発明は、1つのスタブファイルと1つの実ファイルとの対応(1:1対応)に制限されるものでないことは勿論である。以下では、1つのスタブファイルに複数の実ファイルの情報等を格納する構成としたシステムの実施例について説明する。1つのスタブファイルに複数の実ファイルの情報を格納することで、階層ストレージシステムとは別の機能、あらたな付加価値を実現している。
さらに、上記した実施例では、中間装置は、配下の複数のファイルサーバ(ファイルシステム層、記憶装置)をあたかも1つのファイルシステムであるかのようなファイルサービスをクライアントに提供していたが、以下では、複数の拠点にファイルサーバを配し、1つの拠点のクライアントをして複数拠点のファイルサーバに中間装置を介してアクセス可能としたシステムの実施例についても説明する。複数の拠点に分散してファイルサーバを配し、各拠点に対応して中間装置を配し、異なる拠点の中間装置同士は、例えば広域ネットワークを介して相互に通信し、1つの拠点のクライアントをして1つの拠点のファイルサーバのみならず、他の拠点の中間装置を介して他の拠点のファイルサーバにもアクセス可能としたものであり、広域分散した複数のファイルシステムを仮想化しクライアントに対してファイルの存在する拠点(すなわちファイルの在り処)を意識させないですむファイルサービスを可能としている。
まず、本発明の別の実施例として、スタブファイルを用いた最大ファイルサイズの拡大について説明する。NAS等では、実装されているファイルシステム層によって、最大ファイルシステムサイズ、最大ファイルサイズの制限がある。HPC(High Performance Computing)等では、上記制限以上のファイルの作成の要求がある。そこで、本発明は、スタブファイルを用いてファイルの最大サイズを拡大可能としている。
図18は、本発明の別の実施例を説明するための図である。図18を参照すると、1つのファイルは、複数の分割ファイル(図18では、2つの分割ファイル#1、#2)からなる。2つの分割ファイル#1、#2はオーバーラップ領域を有している。図18に示す例では、分割ファイルはNASの最大ファイルサイズである2TB(Teraバイト)とされ、2つの分割ファイル#1、#2からなるファイルのファイルサイズはほぼ4TB程度となる。ここで、リード/ライトアクセスの最大サイズを16MB(Megaバイト)とすると、分割ファイル#1の2TBのアドレス空間の後から先頭側に向けた16MB、分割ファイル#2の先頭から始まる16MBが互いに重なっており、オーバーラップ領域とされる。この場合、リードライトアクセスアドレスが2TB-16MBより小の場合、分割ファイル#1へのアクセスとなり、リードライトアクセスアドレスが2TB-16MBより大の場合、分割ファイル#2へのアクセスとなる。
オーバーラップ領域を設けない場合、例えばリードアクセスアドレスが2TB-16MBより大であり、分割ファイル#1をアクセスした場合、1回のリードアクセスが16MBであることから、該リードアクセスの実行時、次の分割ファイル#2の先頭の領域のデータを読み出すことになる。一方、本実施例によれば、例えばリードアクセスアドレス(先頭アドレス)が2TB-16MBより大であれば、分割ファイル#2の該当アドレスから16MB分読み出すことになる。このように、相隣る分割ファイル間に互いに重なるオーバーラップ領域を設けることで、1回のリード/ライトアクセスの実行時、複数の分割ファイルをまたぐことがないようにしている。
分割ファイル#1と#2のオーバーラップ領域へのデータの書き込みは、Dual Call(書き込みの二回呼出)か、分割ファイル#1、#2の一方のオーバーラップ領域へのデータを書き込んだ後、コピーをして、同期させる。これにより、分割ファイル#1、#2のオーバーラップ領域のデータの整合が行われる。同期の分、たしかにオーバーヘッドはあるものの、最大ファイルサイズ2TBと比べて、最大リード/ライトサイズ16MBは極めて小であるため、オーバーヘッドの影響は少ない。
次に、本発明の一実施例により、スタブファイルを用いて最大ファイルサイズを拡大する手法について説明する。図19は、本発明の一実施例を説明するための図である。前述したスタブファイルに格納される情報として、実ファイルのパス名に、複数の分割ファイル#1〜#3のパス名を格納しておく。なお、図19に示す例においても、相隣る分割ファイル#1、#2にはオーバーラップ領域が設けられており、相隣る分割ファイル#2、#3にも、オーバーラップ領域が設けられている。
図20は、本発明の一実施例を説明するための図である。元ファイル(分割ファイルではない)のファイルサイズが予め定められた閾値を超えた場合、スタブ化して分割ファイル#1をつくる。本実施例では、分割ファイルの作成は、好ましくは”RENAME”(名前の変更)で行う。分割ファイル#1は、スタブファイルと同一ファイルシステム内に設けられる。スタブファイル化する時点で、ファイルサイズはTB(テラバイト)を超えており、別ファイルシステムにコピーする場合、膨大な時間を要する。ファイルの”RENAME”でスタブ化する場合、ファイルデータのコピーは不要とされる。分割ファイル#2以降は、別ファイルシステム内に設けるようにしてもよい。
前述した実施例のシステムでは、スタブファイルは、1つの拠点、1つの中間装置内で用いられていた。以下では、複数拠点、複数の中間装置間でスタブファイルを相互に参照するシステム構成(「相互参照モデル」という)について説明する。
図21は、本発明の別の実施例の構成を説明するための図であり、相互参照モデルを説明するための図である。クライアント1とNASスイッチ(中間装置)3とNAS(ファイルサーバ)5とからなる拠点が、広域ネットワーク2を介して接続されている。拠点AのNASのファイルシステムのスタブファイルBが拠点BのNASのファイルシステムの実ファイルBを参照し、拠点BのNASのファイルシステムのスタブファイルAが拠点AのNASのファイルシステムの実ファイルAを参照している。
スタブファイルと実ファイルの配置の仕方として、アクセス頻度の履歴情報等、アクセスコンテキストに基づき、比較的多くアクセスされるデータを、自分のファイルシステムに配置(ローカライズ)するようにしている。
拠点A、Bのどちらからもアクセスされるファイルの場合、実ファイルが配置されるのは、アクセス頻度の高い拠点とされる。図21に示す例では、実ファイルAは、拠点Aからアクセスされる頻度が、拠点Bからアクセスされる頻度よりも高いため、拠点Aに配置されている。実ファイルBは、拠点Bからアクセスされる頻度が、拠点Aからアクセスされる頻度よりも高いため、拠点Bに配置されている。
スタブファイルと実ファイルについて、実データは常に最新の状態に保つ。なお、スタブファイルの情報は、非同期に更新してもよいし、常に最新の状態に保つようにしてもよい。
次に、複数ノードで実行されることによる、整合性の管理について説明する。ファイルデータの整合性として、標準プロトコルのロック機構を用いて整合性を保つ。スタブファイル側からアクセスが行われた場合、スタブファイルと実ファイルをロックする。一方、実ファイル側からアクセスが行われた場合、実ファイルのみをロックする。
本実施例において、スタブファイル側から、更新が発生した場合、実データとの整合性を保つ。実データ側から更新が発生した場合には、スタブファイルを、非同期で更新する。
図22は、図21に示した複数拠点の分散システムにおける、リード、ライト系の処理フローを示す図であり、スタブ側からの更新が発生した場合の手順を示すシーケンスダイアグラムである。以下では、特に制限されないが、中間装置として、NAS(Network Attached Storage)とクライアント(Client)間に配されるNASを例に説明する。ここでは、スタブが自拠点(例えば図21の拠点A)のNAS、実データが他拠点(例えば図21の拠点B)のNASにあるものとする。
図22を参照すると、クライアント(Client)が、OPENリクエストを自拠点のNASスイッチに発行し、自拠点のNASスイッチは、配下のNASの該当ファイルがスタブファイルであるか否かを、前記実施例で説明チェック方法(属性、固定長のファイルサイズ)にしたがってチェックする(スタブ?)。スタブファイルの場合、自拠点のNASスイッチは、当該ファイルを配下のNASから読み出して、前述したように、例えばファイル先頭のマジックナンバー等に基づき、スタブファイルであることを確かめる。スタブファイルであることが確定すると(スタブ確定)、他拠点のNASスイッチにOPEN要求を送信する。他拠点のNASの実ファイルのOPENが成功すると、他拠点のNASスイッチは、自拠点のNASスイッチに応答(Resp)を返し、また、他拠点のNASの実ファイルをロック(LOCK)する。
自拠点のNASスイッチからOPEN要求の成功応答(Resp)を受信したクライアントは、READ要求を自拠点のNASスイッチに送信し、自拠点のNASスイッチは広帯域ネットワークを介して、他拠点のNASスイッチにREAD要求を送信し、他拠点のNASスイッチは配下のNASから読み出したデータ(DATA)を自拠点のNASスイッチに送信する。自拠点のNASスイッチは、読出しデータをクライアントに送信する。
読出しデータを受け取ったクライアントは、CLOSE要求を自拠点のNASスイッチに送信し、自拠点のNASスイッチは、CLOSE要求を広帯域ネットワークを介して他拠点のNASスイッチに送信し、他拠点のNASスイッチは、配下のNASの実ファイルのUNLOCK処理を行う。そして、他拠点のNASスイッチは、CLOSE要求の応答(Resp)を自拠点のNASスイッチに返却し、自拠点のNASスイッチは、自拠点のNASのスタブをCLOSE処理し、その応答(CLOSE Resp)をクライアントに返す。他拠点NASスイッチから自拠点のNASスイッチへの各応答の転送は、拠点間の同期転送とされる。
図23は、リード、ライト系の処理フローを示す図であり、実データ側からの更新が発生した場合の手順を示すシーケンスダイアグラムである。実データが自拠点(図21の拠点A)のNAS、スタブが他拠点(図21の拠点B)のNASにあるものとする。
クライアントがOPENリクエストを自拠点のNASスイッチに発行し、自拠点のNASスイッチは、自拠点のNASのファイル(実ファイル)をOPENし(LOCK)、その応答(OPEN Resp)をクライアントに返す。
クライアントが、実データへのデータの書き込みを行う。すなわちWRITE要求をNASスイッチを介して拠点内のNASに送信する。書き込みが終了すると、クライアントはCLOSE要求を発行し、NASスイッチを介して、配下のNASに送信され、実ファイルのCLOSE処理が行われる。そして、その応答(CLOSE Resp)がクライアントに返送される。自拠点のNASスイッチは、上記WRITE処理による実ファイルの属性変更(ファイルサイズの変更)に対して、スタブファイルを格納した他拠点のNASに対応するNASスイッチに対して、サイズ更新情報を送信する。自拠点のNASスイッチにおいて、他拠点のNASスイッチへのサイズ更新情報の送信は、CLOSE処理のあとに行われ、拠点間の非同期転送により行われる。
他拠点のNASスイッチは、配下のNASのファイルシステム内のスタブファイルに格納される実ファイルのファイルサイズ情報を更新し、その応答を、自拠点NASスイッチに返す。なお、リードアクセスの場合、実ファイルのサイズ情報の変更等はないため、サイズ情報更新要求の送信は行われない。
図24は、本実施例におけるファイルシステム更新(ファイルの削除、作成)処理の例を示す図であり、スタブ側からの更新が発生した場合の手順を示すシーケンスダイアグラムである。この例では、スタブは自拠点のNAS、実ファイルは他拠点のNASにあるものとする。
クライアントが削除(DELETE)要求を自拠点のNASスイッチに発行し、自拠点のNASスイッチは、スタブであるかチェックし、スタブである場合、他拠点NASスイッチにDELETE要求を送信する。他拠点のNASスイッチは配下のNASのファイルシステムに当該実ファイル(スタブファイルでパス名が指定される)を削除するように、DELETE要求を送信する。他拠点のNASスイッチは、実ファイルの削除の応答を自拠点のNASスイッチに返送し、自拠点のNASスイッチは、該削除(DELETE)処理が成功した場合に、自拠点のNASのファイルシステム内のスタブを削除するように指示する。そして、DELETE要求の応答(DELETE Resp)をクライアントに返す。
自拠点のNASスイッチから他拠点NASスイッチへの実ファイルのDELETE要求の送信と、他拠点NASスイッチから自拠点のNASスイッチへの応答の送信、及び、自拠点のNASへのDELETE要求と、その応答の返送は、削除の応答をクライアントに返す前に行われる(拠点間同期転送)。また、ディレクトリの下にファイルを作成する、あるいは、ディレクトリを作成する等の操作については、あらかじめスタブ側か、実データ側かを決めておく必要がある。
図25は、本実施例において、ファイルシステム更新(ファイルの削除、作成)処理の別の例を示す図であり、実データ側からの更新が発生した場合の手順を示すシーケンスダイアグラムである。スタブが他拠点のNAS、実データが自拠点のNASにあるものとする。
クライアントがDELETE要求を自拠点のNASスイッチに発行し、自拠点のNASスイッチは、配下のNASに実データの削除を行うように指示し、削除が成功すると、クライアントにDELETE要求の応答(DELETE Resp)を返す。つづいて、他拠点のNASスイッチにスタブの削除要求を非同期で転送する。スタブの削除の応答は他拠点NASスイッチから、自拠点NASスイッチに送信される。ディレクトリの下にファイルを作成する、あるいは、ディレクトリを作成する等の操作については、あらかじめスタブ側か、実データ側かを決めておく必要がある。
次に、拠点がN個(N≧2)のシステム構成について説明する。整合性管理のため、全ての実データの格納された拠点からの確認を必要とする。リード/ライト系処理の場合、実データの拠点からの許可(LOCK処理成功)、スタブの拠点からのスタブファイルの許可がそろって初めて、リード/ライトアクセスの実行が行われる。
ファイルシステム更新系処理の場合、常に、実データの拠点で処理が成功したことを確認して処理結果を、他拠点に非同期で伝播させる。
本発明さらに別の実施例について説明する。図26は、スタブファイルをキャッシュするシステムの構成を模式的に示す図である。図26に示した構成は、図21に示した構成において、少なくとも1つの拠点に実ファイルをキャッシュする構成としたものである。各拠点が、クライアント1、NASスイッチ3、NAS5を備え、異なる拠点のNASスイッチ3は広域ネットワーク2で通信接続し、クライアント1には、該クライアントが属する拠点であるか他の拠点へのファイルアクセスであるかを意識させないファイルアクセスサービスが提供される。
本実施例において、スタブ側からの読み出し、更新要求があった場合、スタブ側の拠点にデータをキャッシュすることにより、スタブ側のアクセス性能を向上させる。本実施例において、READ、WRITEキャッシュをそれぞれ備えてもよい。
本実施例では、スタブファイルに、キャッシュのポインタとなる識別子を含む。例えば図3に示したスタブファイルのフォーマットにおいて、二次ストレージ実ファイルパス名7Cと、リザーブ7Dの間に、キャッシュのポインタとなる識別子(不図示)が追加される。スタブ化されたデータへのアクセス時、読み出されたデータを、自拠点のNASのキャッシュ領域51に格納する。キャッシュのポインタ31となる識別子を、NASスイッチ(中間装置)の記憶部へテーブル化して格納する。例えば図4のスタブファイルIDテーブルのスタブ管理テーブルには、キャッシュ領域51にキャッシュされている実ファイルの位置情報を格納するようにしてもよい。なお、NAS5のサービス領域52は、ファイルデータを格納する記憶領域である。
次回、キャッシュされたスタブファイルにアクセスする時、スタブファイルに含まれるキャッシュポインタの識別子が、NASスイッチ3にテーブルとして格納されていた場合、キャッシュヒットであり、NASスイッチ(中間装置)配下のローカルな(自拠点の)NASへのデータアクセスが行われる。なお、オープンとロック(LOCK)はスタブファイル側と実ファイル側ともに実行する。
図27は、本実施例における、WRITEキャッシュの動作を説明するシーケンス図である。図27を参照して、本実施例のWRITEキャッシュ動作を説明する。クライアントがOPEN要求を自拠点のNASスイッチに送信し、自拠点のNASスイッチは、配下(自拠点)のNASの当該ファイルがスタブファイルであるかチェックし、スタブファイルの場合、当該ファイルを読み出し、ファイル先頭のマジックナンバー等をチェックすることで、スタブファイルであるか確認する。
スタブファイルであることが確認された場合、当該スタブファイルに含まれるキャッシュポインタの識別子が、NASスイッチの記憶部(図26の31)に格納されている場合(キャッシュヒット時)、キャッシュされているスタブファイルの内容に基づき、他拠点の実ファイルをOPEN処理する。他拠点のNASスイッチは、当該実ファイルをロック(LOCK)し、OPEN要求の応答を自拠点のNASスイッチに送信する。OPEN処理が成功し、属性変更がないため、自拠点のNASスイッチは、OPEN要求の応答をクライアントに返す。なお、属性に差異がある場合、スタブファイルをキャッシュから追い出す(キャッシュアウト)。
クライアントは、自拠点のNASスイッチからのOPEN要求の応答(OPEN Resp)を受け、WRITE要求を自拠点のNASスイッチに送信する。自拠点のNASスイッチは、キャッシュ領域51にキャッシュされている実ファイルへの書き込みを行い、また、NASスイッチにキャッシュされているスタブファイルの変更(ファイルサイズ等の属性変更)を行う。そして、WRITE要求の応答(WRITE Resp)をクライアントに返す。
クライアントがCLOSE要求を自拠点のNASスイッチに送信すると、自拠点のNASスイッチは、自拠点のNASのキャッシュ領域51にキャッシュされている実ファイルのCLOSE処理を行い、その応答(CLOSE Resp)をクライアントに返す。そして、自拠点のNASスイッチは、他拠点のNASスイッチに対して、WRITE要求を行い、他拠点のNASスイッチは、該WRITE要求を受け配下のNASの実ファイルへの書き込みを行うことで、データの整合性(ある拠点にキャッシュされているデータと他の拠点の実ファイルのデータ)を保つ。他拠点のNASスイッチは、WRITE処理の応答を、自拠点のNASスイッチに送信する。自拠点のNASスイッチは、他拠点NASスイッチにCLOSE要求を送り、他拠点NASスイッチは、実ファイルをUNLOCKする。
図28は、READキャッシュの動作を説明するシーケンス図である。図28を参照して、本実施例のREADキャッシュ動作を説明する。クライアントがOPEN要求を自拠点のNASスイッチに送信し、NASスイッチは配下(自拠点)のNASの当該ファイルがスタブファイルであるかチェックし、スタブファイルの場合、当該ファイルを読み出し、先頭のマジックナンバー等をチェックすることで、スタブファイルであるか確認する。スタブファイルと確認され、スタブファイルに含まれるキャッシュポインタの識別子が、NASスイッチのテーブルに格納されていた場合(キャッシュヒット時)、キャッシュされているスタブファイルの内容に基づき、他拠点の実ファイルをOPEN処理する。
他拠点のNASスイッチは、当該実ファイルをロック(LOCK)し、OPEN要求の応答を自拠点NASスイッチに送信する。OPEN処理が成功し、属性変更がないため、自拠点NASスイッチは、OPEN要求の応答(OPEN Resp)をクライアントに返す。なお、属性に差がある場合、スタブファイルをキャッシュから追い出す。
クライアントは、OPEN要求(OPEN Resp)の応答を受け、READ要求を、自拠点のNASスイッチに送信する。自拠点のNASスイッチは、キャッシュされているスタブファイルの内容に基づき、自拠点のNASのキャッシュ領域51(実ファイルデータがキャッシュされている)からの読み出しを行い、その応答(読み出しデータ)をクライアントに返す。
クライアントがCLOSE要求を自拠点のNASスイッチに送信し、自拠点のNASスイッチは、自拠点のNASの実ファイルのCLOSE処理を行い、その応答(CLOSE Resp)をクライアントに返す。
その後、自拠点のNASスイッチは、他拠点のNASスイッチに対してCLOSE要求を送信し、他拠点のNASスイッチは、配下のNASの実ファイルをUNLOCKする。このように、OPEN時に、スタブファイルで参照される他の拠点の実ファイルを自拠点にキャッシュすることで、アクセスの高速化を図ることができる。なお、ある拠点のNASスイッチの記憶部(図26の31)に、キャッシュポインタの識別子が格納されていない場合(ミスヒット時)、他の拠点の実ファイルを、ある拠点のキャッシュ領域51に転送する処理が行われ、キャッシュポインタの識別子がNASスイッチの記憶部(テーブル)に配置され、上記したキャッシュへのアクセス処理が行われる。
なお、上記では、他拠点の実ファイルを、スタブファイルが置かれる自拠点のキャッシュ領域にキャッシュする例に即して説明したが、本発明はかかる構成に制限されるものでないことは勿論である。例えば他拠点の実ファイルを、スタブファイルのある自拠点に近接する拠点にキャッシュしてもよいし、あるいは、該他拠点に実ファイルを置いてアクセスする形態よりも、通信コスト、通信状態、ストレージ容量等の条件でより良い拠点があれば、該拠点のキャッシュ領域に実ファイルをキャッシュするようにしてもよい。スタブファイルには、キャッシュされている実ファイル、及び他拠点の実ファイルへのアクセスパスの情報が格納され、スタブファイルからキャッシュ領域の実ファイルへのアクセス、他拠点の実ファイルへのアクセスを行うことができる。また、実ファイルをキャッシュ領域にキャッシュするシステムは、図26に示した複数拠点よりなるシステムにのみ制限されるものでなく、例えば、クライアント、中間装置、複数のファイルシステムを備えたシステム等に対しても適用できることは勿論である。
次に、本発明のさらに別の実施例について説明する。ファイルのスタブ化/非スタブ化のトリガーとして、ストレージ容量の閾値、クオータ(Quota)の設定値、アクセス頻度等のアクセスコンテキストの分析の結果に基づき指示等を用いてもよい。
以下、Quotaの閾値を用いた例に即して説明する。ファイルサーバには、一般に、ユーザ、グループ、ディレクトリを管理単位として装置に付随するストレージ資源の使用量(使用量の割り当てを「Quota」という)を制限するQuotaシステムが実装されており、管理者により、予め設定されたストレージ使用制限量を超えて、データの書き込みが行えないような制御を行うことが可能とされる。ユーザ管理型Quotaは、例えばユーザ識別子(UNIX(登録商標)のUID)を元に管理され、Quotaは、ユーザが所有するファイルやブロック数に対して設定される。また、グループ管理型Quotaは、グループ識別子(UNIX(登録商標)のGID)を元に管理され、Quotaは、グループが所有するファイルやブロック数に対して設定される。そして、ディレクトリ管理型Quotaは、ディレクトリ下のファイルやブロック数に対して設定される。また、よく知られいるように、Quotaには、ハードQuota(ハードリミット:リミットを越えて書き込もうとするとエラーとなる)と、ソフトQuota(ソフトリミット:一定の猶予期間であれば超過して書き込むことができる。このリミットを越えると、管理者又はユーザに警告が通知される)がある。ユーザ管理のQuota構造体(レコード)は例えばユーザ識別子に対応して設けられ、ブロックのハードとソフト制限、ユーザが現在割り当てられているブロックとファイル数、ソフト制限がハード制限として取り締まられるまでに残っているユーザへの警告の回数等の情報を含む。Quota管理機能は、ストレージ使用量を制限する対象と、その制限量の設定機能や、設定した対象でのストレージ使用量(設定した制限量を上限とする使用率)に関する情報を取得する機能等が挙げられる。Quotaの設定管理は、既存のNASやファイルサーバに備えられた管理インタフェースを用いることができる。
特に制限されないが、以下の実施例では、各ファイルシステムの最新のストレージ使用量の取得、各ファイルシステム(ファイルサーバ)におけるQuota設定値の記憶管理、ストレージ使用量とQuota設定値との関係から、ファイルシステムにおけるスタブ化の決定、スタブ化の実行制御は、ファイルサーバと通信接続するNASスイッチ(中間装置)にて行う。
図29は、本発明の一実施例を説明するための図である。NASスイッチのQuarter設定値が100GB、ハードリミットが100GB、ソフトリミット100GB、ファイルシステムAがプライマリ、ファイルシステムBがセカンダリのシステム構成において、各ファイルシステムへのQuotaの設定は固定(ハードリミット=ソフトリミット)としている。特に制限されないが、NASスイッチは、定期的に、配下のファイルシステムA、ファイルシステムBのクオータ管理情報を取得し、プライマリファイルシステムAの使用量が、そのクオータ設定値の70〜90%以上に達した場合、一定容量を、スタブ化する。
図29(A)に示すように、ファイルシステムAのQuota設定値は、30GB+α(ただし、αはあそび)に設定され、ファイルシステムBのQuota設定値は、70GB+αに設定されている。一回目の調査の結果、ファイルシステムAの使用量は15GBであった。なお、NASスイッチ等の中間装置(例えば図2の3)において、ファイルサーバにおけるストレージ使用量の監視は、中間装置からファイルサーバに対して定期的に行われるポーリング等で行ってストレージ使用量を取得してもよく、また、ファイルサーバ側から中間装置への割り込み等でストレージ使用量を通知する構成としてもよい。
図29(B)に示すように、2回目のストレージ使用量調査の結果、ファイルシステムAの使用量(25GB)がQuota設定値(30GB+α;αはあそび)の80%以上に達した場合、ファイルシステムAの10GBをスタブ化する。スタブ化は、例えば図13等を参照して説明した手順で行われる。
その結果、図29(C)に示すように、10GBをスタブ化した後のファイルシステムAの使用量は15GBとなり、ファイルシステムBには、実ファイルが格納され、使用量は10GBとなる。
なお、本実施例において、ファイルシステムのQuota設定値とストレージ使用量の監視結果に基づき、NASスイッチ(中間装置)側でファイルのスタブ化の決定(スタブ化の候補の選択等)、及び、スタブ化実行(プライマリファイルシステムAからセカンダリファイルシステムBへのデータの移行)の制御を自動で行っている。
すなわち、本実施例において、スタブ化による実ファイルセカンダリファイルシステムへの移動等のデータ移行(data migration)は、NASスイッチ(中間装置)を介して、クライアントには、隠蔽されている。なお、データ移行の隠蔽技術の詳細は、例えば、特許文献1等の記載が参照される。また、本実施例において、好ましくは、NASスイッチ(中間装置)は、複数のファイルシステムをクライアントに対して、あたかも1つのファイルシステムであるかのようなファイルサービスを提供している。クライアントに複数のファイルシステムを1つの擬似ファイルシステム(ディレクトリーツリーによる管理)としてのファイルアクセスサービスを提供する機能の実現については、例えば特許文献1等の記載が参照される。
上記したストレージ使用量に基づくスタブ化の制御は、図21を参照して説明した複数拠点の相互参照モデルに対しても適用できることは勿論である。この場合、スタブ化において、アクセスコンテキスト情報に基づき、アクセスの多い拠点に、実ファイルを置き、他の拠点では、スタブファイルを配置するようにしてもよい。かかる複数拠点の構成においても、クライアントには、スタブ化によるデータ移行は隠蔽されている。
以上、本発明を上記実施例に即して説明したが、本発明は、上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施例のシステム構成を示す図である。 本発明の一実施例のスタブファイルを用いた処理概要を示す図である。 本発明の一実施例のスタブファイルフォーマットを示す図である。 本発明の一実施例の中間装置でもつテーブルを示す図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例のスタブファイルを用いた処理概要を示す図である。 本発明の一実施例のスタブファイルを用いた処理概要を示す図である。 本発明の一実施例の中間装置でもつテーブルを示す図である。 本発明の一実施例の動作をフローで示した図である。 本発明の一実施例の中間装置の構成の一例を示す図である。 本発明の他の実施例における最大ファイルサイズの拡大を説明するための図である。 本発明の他の実施例においてスタブファイルを用いた最大ファイルサイズの拡大を説明するための図である。 本発明の他の実施例におけるスタブファイルと分割ファイルの対応を説明するための図である。 本発明の他の実施例の広域分散環境における相互参照モデルを説明するための図である。 広域分散環境におけるREAD/WRITE系処理(スタブ側)を示すシーケンス図である。 広域分散環境におけるREAD/WRITE系処理(実データ側)を示すシーケンス図である。 広域分散環境におけるファイルシステム更新処理(スタブ側)を示すシーケンス図である。 広域分散環境におけるファイルシステム更新処理(実データ側)を示すシーケンス図である。 本発明の他の実施例におけるスタブファイルのキャッシュを説明するための図である。 図26のシステムにおけるREADキャッシュ(スタブ側)を示すシーケンス図である。 図26のシステムにおけるWRITEキャッシュ(スタブ側)を示すシーケンス図である。 本発明の他の実施例のQuota設定値とストレージ使用量閾値によるスタブ化を説明するための図である。
符号の説明
1 クライアント
2 ネットワーク
3 中間装置(NASスイッチ)
4 ネットワーク
5 ファイルサーバ(一次ストレージ)、NAS
6 ファイルサーバ(二次ストレージ)
7 スタブファイル
7A スタブ識別用マジックナンバー
7B 実ファイル属性
7C 二次ストレージ実ファイルパス名
7D リザーブ
8 実ファイル
11 スタブファイルIDテーブル
11A 一次ストレージFID
11B 二次ストレージFID
11C スタブ管理テーブルポインタ
12 スタブ管理テーブル
12A 一次ストレージファイルパス名
12B 二次ストレージファイルパス名
12C 実ファイル属性
13 スタブファイルハンドルテーブル
13A 一次ストレージファイルハンドル
13B 二次ストレージファイルハンドル
13C スタブ管理テーブルポインタ
14 パケット転送部
15 スタブファイル判定部
16 サーバアクセス部
17 属性変更部
18 テーブル管理部
31 ポインタ
51 キャッシュ領域
52 サービス領域
101〜106 OPEN時の動作フロー
111〜117 READ時の動作フロー
121〜125 属性GET(対象をファイルIDで指定)の動作フロー
131〜137 属性GET(対象をPATHで指定)の動作フロー
141〜149 属性SET(対象をファイルIDで指定)の動作フロー
151〜159 属性SET(対象をPATHで指定)の動作フロー
161〜168 FIND系(対象をPATHで指定)の動作フロー
171〜178 CLOSE時の動作フロー
181〜185 NFSプロトコルの場合の動作フロー

Claims (95)

  1. クライアントとファイルサーバとに接続されるコントローラであって、
    前記クライアントから前記ファイルサーバのファイルへのアクセス要求が発行されたとき、前記ファイルへのアクセス要求を受けるパケット転送手段と
    前記ファイルが、前記ファイルサーバから他のファイルサーバに移動された実ファイルの位置情報を記録しており前記ファイルサーバに格納されているスタブファイルであるか否かを判断するスタブファイル判定手段と、
    前記ファイルサーバに格納された前記スタブファイルと前記他のファイルサーバに格納された前記実ファイルとの対応関係を含む情報を記憶管理する手段と、
    スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報に基づき、前記他のファイルサーバの実ファイルにアクセスし前記クライアントに応答を返す制御を行うサーバアクセス手段と、を備え、
    前記スタブファイル内に、複数の分割ファイルの位置情報を格納しておき、一のファイルに対応した前記スタブファイルを介して、前記一のファイルの最大ファイルサイズの拡大を可能としてなることを特徴とするコントローラ。
  2. 前記アクセス要求が、前記コントローラで保持する前記情報で対処できるものである場合、前記実ファイルにアクセスすることなく、前記コントローラから、前記クライアントに前記アクセス要求に対する応答を返す、ことを特徴とする請求項1記載のコントローラ。
  3. 前記コントローラは、少なくとも1つのクライアントと複数のファイルサーバとの間に論理的に配置される中間装置に含まれている、ことを特徴とする請求項1又は2記載のコントローラ。
  4. 前記コントローラは、前記ファイルサーバに含まれている、ことを特徴とする請求項1又は2記載のコントローラ。
  5. 前記ファイルの属性情報に基づき、スタブファイルであるか否かを判断する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  6. 前記スタブファイルは固定長である、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  7. 前記スタブファイルの作成時刻属性欄に、スタブファイルであることを示す値を含む、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  8. 前記スタブファイルの変更時刻属性欄に、スタブファイルであることを示す値を含む、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  9. 前記スタブファイルは、前記中間装置がスタブファイルであることを判断することを可能とするためのマジックナンバーを含む、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  10. 前記スタブファイルが、前記実ファイルの属性を含む、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  11. 前記スタブファイルが、前記実ファイルへアクセスする識別子を含む、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  12. 前記識別子が、パス名、ストレージの生成したID、URL(Uniform Resource Locator)のいずれかである、ことを特徴とする請求項11記載のコントローラ。
  13. 前記スタブファイルが、前記識別子を複数含む、ことを特徴とする請求項11記載のコントローラ。
  14. 前記クライアントから前記ファイルサーバへのファイルアクセスに基づき、スタブファイルへのアクセスであるか否かを判断する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  15. 前記クライアントからのアクセスに含まれるファイルID又はファイルハンドルに基づき、スタブファイルへのアクセスであるか否かを判断する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  16. 前記クライアントからのアクセス要求をファイルサーバに転送し、前記ファイルサーバからの応答に含まれる属性に基づき、スタブファイルであるかを判断する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  17. 前記クライアントからのアクセス要求をファイルサーバに転送し、前記ファイルサーバからの応答に含まれる属性に基づき、スタブファイルである可能性があると判断した場合、前記スタブファイルを前記1つのファイルサーバより読み出し、前記スタブファイルのマジックナンバーからスタブファイルであるか否かを判断する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  18. 前記クライアントからのアクセス要求をそのままファイルサーバに転送するとファイルの属性が変更されることになる場合には、前記スタブファイルであるか否か判断する手段は、前記アクセスをファイルサーバに転送する前に、前記ファイルサーバにアクセスして、スタブファイルであるか否かを判断する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  19. 前記クライアントから、前記ファイルサーバへのファイルアクセスを見て、スタブファイルへのアクセスであるかを判断して、制御動作を変える、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  20. 前記スタブファイルが、前記コントローラの処理の記述を含み、前記スタブファイルでの記述内容で提示された動作を行う、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  21. 前記クライアントからのアクセス要求の対象が、スタブファイルでない場合、アクセス要求を前記ファイルサーバにそのまま転送し、前記ファイルサーバからの応答をそのままクライアントに転送する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  22. スタブファイルである場合、前記クライアントに気づかせることなく、実ファイルへのアクセスに切り替える、ことを特徴とする請求項21記載のコントローラ。
  23. オープン時に、オープン対象のファイルがスタブファイルであれば、ファイルIDを記憶しておき、以後のファイルIDを使ったアクセス要求では、前記記憶されたファイルIDと比較することで、スタブファイルへのアクセスであるかを判定する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  24. ルックアップ(LOOKUP)時に、スタブファイルであれば、ファイルハンドルを記憶しておき、以後のファイルハンドルを使ったリクエストでは、記憶したファイルハンドルと比較することで、スタブファイルへのアクセスを判定する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  25. クライアントが、ファイルを、リード又はライトをするときに、スタブファイルへのアクセスであれば、実ファイルにアクセスするように変更する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  26. 実ファイルをオープンし、前記実ファイルのファイルIDをスタブファイルのファイルIDとセットで記憶しておく、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  27. 実ファイルをルックアップ(LOOKUP)し、前記実ファイルのファイルハンドルをスタブファイルのファイルハンドルとセットで記憶しておく、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  28. 前記クライアントよりスタブファイルのファイルIDを用いたアクセス要求が入力されたときに、前記記憶されている実ファイルのファイルIDに付け替えて、前記実ファイルを格納したファイルサーバに前記アクセス要求を転送する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  29. 前記クライアントよりスタブファイルのファイルハンドルを用いたアクセス要求が入力された場合、前記記憶しておいた実ファイルのファイルハンドルに付け替え、前記実ファイルを格納したファイルサーバに前記アクセス要求を転送する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  30. 前記クライアントより属性を変更するリクエストが入力されたとき、スタブファイル属性を書き換えられないように変更して、前記ファイルサーバに転送し、スタブファイル属性が書き換えられないように制御する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  31. 前記スタブファイルの内容をキャッシュする記憶部を備え、
    前記クライアントからのアクセスがあったとき、スタブファイル本体を前記1つのファイルから読み出さずに前記キャッシュの内容を用いて処理を行う、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  32. 前記クライアントから、スタブファイルへの更新で属性が変わったとき、スタブファイル本体のファイル属性を変更するのではなく、前記コントローラでキャッシュしているスタブファイルデータの内容を更新し、前記クライアントからクローズ(CLOSE)リクエストを受け取ったときに、スタブファイル本体に書き戻す、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  33. 前記クライアントから、クローズ(CLOSE)リクエストが発行されると、これを受け、スタブファイルと実ファイルの両方に対してクローズ処理する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  34. 前記クライアントから、クローズ(CLOSE)リクエストが発行されると、これを受け、記憶していたファイルIDのテーブルを消去する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  35. 前記クライアントが明示的にクローズ(CLOSE)を発行しないプロトコルの場合には、前記クライアントがファイルハンドルをキャッシュしておく時間を考慮し、それ以上の時間、前記クライアントからアクセスがない場合、記憶していたファイルハンドル変換テーブルを消去する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  36. 前記ファイルサーバから前記クライアントへのファイルアクセス応答を受け、前記クライアントにはスタブファイルであることを気づかせないように、前記応答の情報の一部を変更し、前記クライアントに返す、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  37. クライアントがファイルをオープンするときに、ファイルの属性により、スタブファイルであるか否かを判断し、スタブファイル属性であれば、実ファイル属性に変更した応答を、前記クライアントに送信する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  38. 前記クライアントからのファイルの属性取得コマンドに対する前記ファイルサーバからの応答において、前記ファイルがスタブファイルであれば、属性を実ファイル属性に変更した上で、変更した応答を、クライアントに送信する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  39. 前記クライアントに影響を与えることなく、前記実ファイルをコピーして、スタブファイル化する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  40. 前記1つのファイルサーバのファイルを他のファイルサーバにコピーして、クライアントアクセスを、一時保留して、前記1つのファイルサーバのファイルをスタブファイルに書き換え、その後に、クライアントによるアクセスを再開する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  41. 前記クライアントに影響を与えることなく、前記スタブファイルを、実ファイルに戻す、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  42. 前記実ファイルを、1つのファイルサーバのテンポラリ領域にコピーした後、クライアントのアクセスを一時保留して、スタブファイルに名前変更(RENAME)で入れ替え、その後でクライアントアクセスを再開する、ことを特徴とする請求項1乃至4のいずれか一に記載のコントローラ。
  43. 少なくとも1つのクライアントと、1次ストレージを有する第1のサーバと、2次ストレージを有する第2のサーバと、制御装置と、を備え、
    前記1次ストレージは、前記1次ストレージから前記2次ストレージに移動された実ファイルの位置情報を記録したスタブファイルを備え、
    前記制御装置は、前記クライアントから、前記第1のサーバの前記1次ストレージのファイルアクセス要求が発行されたとき、前記ファイルアクセス要求を受けるパケット転送手段と、アクセス対象のファイルがスタブファイルであるか否か判断するスタブファイル判定手段と、
    前記第1ストレージに格納された前記スタブファイルと前記第2ストレージに格納された前記実ファイルとの対応関係を含む情報を記憶管理する手段と、
    スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報に基づき前記2次ストレージの実ファイルにアクセスし前記クライアントに応答を返す制御を行い、前記クライアントからみて前記スタブファイルが実体であるかのように見せる制御を行うサーバアクセス手段、とを備え、
    前記スタブファイル内に、複数の分割ファイルの位置情報を格納しておき、一のファイルに対応した前記スタブファイルを介して、前記一のファイルの最大ファイルサイズの拡大を可能としてなることを特徴とするストレージ管理システム。
  44. 前記制御装置は、前記1次ストレージに格納された前記スタブファイルと前記2次ストレージに格納された前記実ファイルの対応関係を含む情報を記憶管理する記憶手段を備え、
    前記アクセス要求が、前記制御装置で保持する前記情報で対処できるものである場合、前記制御装置から、前記クライアントに前記アクセス要求に対する応答を返す、ことを特徴とする請求項43記載のストレージ管理システム。
  45. 前記制御装置は、前記クライアントと前記第1、第2のサーバとの間に論理的に配置される中間装置に含まれている、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  46. 前記制御装置は、前記第1のサーバに含まれている、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  47. 前記制御装置は、前記ファイルの属性情報に基づき、スタブファイルであるか否かを判断する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  48. 前記スタブファイルは固定長である、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  49. 前記スタブファイルの作成時刻属性欄に、スタブファイルであることを示す値を含む、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  50. 前記スタブファイルの変更時刻属性欄に、スタブファイルであることを示す値を含む、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  51. 前記スタブファイルは、前記制御装置がスタブファイルであることを判断することを可能とするためのマジックナンバーを含む、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  52. 前記スタブファイルが、前記実ファイルの属性を含む、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  53. 前記スタブファイルが、前記実ファイルへアクセスする識別子を含む、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  54. 前記識別子が、パス名、ストレージの生成したID(識別子)、URL(Uniform Resource Locator)のいずれかである、ことを特徴とする請求項49記載のストレージ管理システム。
  55. 前記スタブファイルが、前記識別子を複数含む、ことを特徴とする請求項49記載のストレージ管理システム。
  56. 前記クライアントから前記第1のサーバへのファイルアクセスに基づき、スタブファイルへのアクセスであるか否かを判断する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  57. 前記制御装置は、前記クライアントからのアクセスに含まれるファイルID又はファイルハンドルに基づき、スタブファイルへのアクセスであるか否かを判断する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  58. 前記制御装置は、前記クライアントからのアクセス要求を第1のサーバに転送し、前記第1のサーバからの応答に含まれる属性に基づき、スタブファイルであるかを判断する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  59. 前記制御装置は、前記クライアントからのアクセス要求を前記第1のサーバに転送し、前記第1のサーバからの応答に含まれる属性に基づき、スタブファイルである可能性があると判断した場合、前記スタブファイルを前記第1のサーバより読み出し、前記スタブファイルのマジックナンバーからスタブファイルであるか否かを判断する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  60. 前記制御装置は、前記クライアントからのアクセス要求をそのままサーバに転送するとファイルの属性が変更されることになる場合には、前記アクセスをサーバに転送する前に、前記第1のサーバにアクセスして、スタブファイルであるか否かを判断する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  61. 前記制御装置は、前記クライアントから、前記第1のサーバへのファイルアクセスを見て、スタブファイルへのアクセスであるかを判断して、制御動作を変える、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  62. 前記スタブファイルが、前記制御装置の処理の記述を含み、前記制御装置は、前記スタブファイルでの記述内容で提示された動作を行う、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  63. 前記クライアントからのアクセス要求の対象が、スタブファイルでない場合、前記制御装置は、アクセス要求を前記第1のサーバにそのまま転送し、前記制御装置は、前記第1のサーバからの応答をそのままクライアントに転送する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  64. 前記制御装置は、スタブファイルであれば前記クライアントに気づかせることなく実ファイルへのアクセスに切り替える、ことを特徴とする請求項58記載のストレージ管理システム。
  65. 前記制御装置は、前記クライアントからのファイルのオープン要求を受け、オープン対象のファイルがスタブファイルであれば、ファイルIDを記憶しておき、以後のファイルIDを使ったアクセス要求では、前記記憶されたファイルIDと比較することで、スタブファイルへのアクセスであるかを判定する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  66. 前記制御装置は、クライアントからのルックアップ(LOOKUP)コマンドを受け、スタブファイルであれば、ファイルハンドルを記憶しておき、以後のファイルハンドルを使ったリクエストでは、記憶したファイルハンドルと比較することで、スタブファイルへのアクセスを判定する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  67. 前記制御装置は、クライアントが、ファイルを、リード又はライトをするときに、スタブファイルへのアクセスであれば、実ファイルにアクセスするように変更する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  68. 前記制御装置は、前記第2のサーバにオープン要求を送信して、2次ストレージの実ファイルをオープンし、前記実ファイルのファイルIDをスタブファイルのファイルIDとセットで記憶しておく、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  69. 前記制御装置は、2次ストレージの実ファイルをルックアップ(LOOKUP)し、前記実ファイルのファイルハンドルをスタブファイルのファイルハンドルとセットで記憶しておく、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  70. 前記クライアントよりスタブファイルのファイルIDを用いたアクセス要求が入力されたときに、前記記憶されている実ファイルのファイルIDに付け替えて、前記実ファイルを格納した第1のサーバに前記アクセス要求を転送する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  71. 前記制御装置は、前記クライアントよりスタブファイルのファイルハンドルを用いたアクセス要求が入力された場合、前記記憶しておいた実ファイルのファイルハンドルに付け替え、前記実ファイルを格納した第1のサーバに前記アクセス要求を転送する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  72. 前記制御装置は、前記クライアントより属性を変更するリクエストが入力されたとき、スタブファイル属性を書き換えられないように変更して、前記第1のサーバに転送し、スタブファイル属性が書き換えられないように制御する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  73. 前記制御装置は、前記スタブファイルの内容をキャッシュする記憶部を備え、
    前記制御装置は、前記クライアントからのアクセスがあったとき、スタブファイル本体を前記1つのファイルから読み出さずに前記キャッシュの内容を用いて処理を行う、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  74. 前記制御装置は、前記クライアントから、スタブファイルへの更新で属性が変わったとき、スタブファイル本体のファイル属性を変更するのではなく、キャッシュしているスタブファイルデータの内容を更新し、
    前記制御装置は、前記クライアントからクローズ(CLOSE)リクエストが来たときに、スタブファイル本体に書き戻す、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  75. 前記制御装置は、前記クライアントから、クローズ(CLOSE)リクエストが発行されると、これを受け、スタブファイルと実ファイルの両方に対してクローズ処理する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  76. 前記制御装置は、前記クライアントから、クローズ(CLOSE)リクエストが発行されると、これを受け、記憶していたファイルIDのテーブルを消去する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  77. 前記クライアントが明示的にクローズ(CLOSE)を発行しないプロトコルの場合には、前記制御装置は、前記クライアントがファイルハンドルをキャッシュしておく時間を考慮し、それ以上の時間、前記クライアントからアクセスがない場合、記憶していたファイルハンドル変換テーブルを消去する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  78. 前記制御装置は、前記第2のサーバから前記クライアントへのファイルアクセス応答を受け、前記クライアントには、スタブファイルであることを気づかせないように、前記応答の情報の一部を変更し、前記クライアントに返す、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  79. 前記制御装置は、前記クライアントがファイルをオープンするときに、オープン要求を受け、前記オープン要求のファイルの属性によりスタブファイルであるか否かを判断し、スタブファイル属性であれば、実ファイル属性に変更して、前記クライアントに送信する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  80. 前記制御装置は、前記クライアントからのファイルの属性取得コマンドに対するサーバからの応答において、前記ファイルがスタブファイルであれば、属性を実ファイル属性に変更した上で、変更した応答を、クライアントに送信する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  81. 前記制御装置は、前記クライアントに影響を与えることなく、実ファイルをコピーして、スタブファイル化する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  82. 前記制御装置は、実ファイルを2次ストレージにコピーして、クライアントアクセスを、一時保留して、1次ストレージのファイルをスタブファイルに書き換え、その後に、クライアントによるアクセスを再開する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  83. 前記制御装置は、前記クライアントに影響を与えることなく、前記スタブファイルを、実ファイルに戻す、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  84. 前記制御装置は、前記2次ストレージの前記実ファイルを、前記1次ストレージのテンポラリ領域にコピーした後、前記クライアントのアクセスを一時保留して、スタブファイルに名前変更(RENAME)で入れ替え、その後、クライアントアクセスを再開する、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  85. 前記制御装置は、前記1次ストレージのスタブファイルのファイル識別子と、前記2次ストレージの実ファイルのファイル識別子と、スタブ管理テーブルのポインタとを有するスタブファイルIDテーブルと、
    スタブファイルにクライアントがアクセスしたときにスタブファイルの内容をキャッシュするテーブルであり、前記1次ストレージのファイルパス名と、前記2次ストレージのファイルパス名と、実ファイル属性を有するスタブ管理テーブルと、を備えている、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  86. 前記制御装置は、アクセス対象のファイルがスタブファイルであるか否かを判定するスタブファイル判定部と、
    スタブファイル判定のために1次ストレージのサーバにアクセスするほか、スタブファイル化や通常ファイル化のためのアクセスなどを制御するサーバアクセス部と、
    前記スタブ管理テーブルを参照して、前記クライアントへの応答のファイル属性の変更を行う属性変更部と、
    を含む、ことを特徴とする請求項43又は44記載のストレージ管理システム。
  87. 少なくとも1つのクライアントと、1次ストレージを有する第1のサーバと、2次ストレージを有する第2のサーバと、制御装置と、を含むシステムのストレージ管理方法であって、
    前記1次ストレージに、前記1次ストレージから前記2次ストレージに移動された実ファイルの位置情報を記録したスタブファイルを配置し、
    前記制御装置は、前記クライアントから、前記第1のサーバの前記1次ストレージのファイルアクセス要求が発行されたとき、パケット転送手段が前記ファイルアクセス要求を受けるステップとスタブファイル判定手段がアクセス対象のファイルがスタブファイルであるか否か判定するステップと、
    記憶管理する手段が前記第1ストレージに格納された前記スタブファイルと前記第2ストレージに格納された前記実ファイルとの対応関係を含む情報を記憶管理するステップと、
    前記制御装置は、前記判定の結果、スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、サーバアクセス手段が前記スタブファイルの情報に基づき前記2次ストレージの実ファイルにアクセスし前記クライアントに応答を返す制御を行うステップと、を含み、前記クライアントからは前記スタブファイルがあたかも実体であるかのように見えるようにし、
    前記スタブファイル内に、複数の分割ファイルの位置情報を格納しておき、一のファイルに対応した前記スタブファイルを介して、前記一のファイルの最大ファイルサイズの拡大を可能としてなることを特徴とするストレージ管理方法。
  88. 前記制御装置が、前記1次ストレージに格納された前記スタブファイルと前記2次ストレージに格納された前記実ファイルとの対応関係を含む情報を記憶管理するステップと、
    前記制御装置が、前記アクセス要求が、前記制御装置で保持する前記情報で対処できるものである場合、前記制御装置から、前記クライアントに前記アクセス要求の応答を返すステップと、
    を含む、ことを特徴とする請求項87記載のストレージ管理方法。
  89. クライアントからファイルサーバのファイルへのアクセス要求が発行されたとき、パケット転送手段が前記ファイルへのアクセス要求を受ける処理を行う制御装置を構成するコンピュータに、
    前記ファイルが、前記ファイルサーバから他のファイルサーバに移動された実ファイルの位置情報を記録しておりスタブファイル判定手段が前記ファイルサーバに格納されているスタブファイルであるか否か判断する処理と、
    記憶管理する手段が前記ファイルサーバに格納された前記スタブファイルと前記他のファイルサーバに格納された前記実ファイルとの対応関係を含む情報を記憶管理する処理と、
    スタブファイルである場合、前記アクセス要求が、実ファイルへのアクセスを必要とする場合には、前記スタブファイルの情報に基づき、サーバアクセス手段が前記2次ストレージの実ファイルにアクセスし前記クライアントに応答を返す制御を行う処理と、
    前記スタブファイル内に、複数の分割ファイルの位置情報を格納しておき、一のファイルに対応した前記スタブファイルを介して、前記一のファイルの最大ファイルサイズの拡大を可能にしてなることを実行させるプログラム。
  90. 請求項89記載のプログラムにおいて、
    前記コンピュータは、前記ファイルサーバに格納された前記スタブファイルと前記他のファイルサーバに格納された前記実ファイルとの対応関係を含む情報を記憶手段で記憶管理する処理と、
    前記アクセス要求が、前記コントローラで保持する前記情報で対処できるものである場合、前記実ファイルにアクセスすることなく、前記コントローラから、前記クライアントに前記アクセス要求に対する応答を返す処理と、
    を前記コンピュータに実行させるプログラム。
  91. 前記スタブファイルが、1つ又は複数の実ファイルの位置情報を含む、ことを特徴とする請求項1記載のコントローラ。
  92. 前記スタブファイルが、1つ又は複数の実ファイルの位置情報を含む、ことを特徴とする請求項43記載のストレージ管理システム。
  93. 前記スタブファイルが、1つ又は複数の実ファイルの位置情報を含む、ことを特徴とする請求項87記載のストレージ管理方法。
  94. 前記スタブファイルが、1つ又は複数の実ファイルの位置情報を含む、ことを特徴とする請求項89記載のプログラム。
  95. クライアントからのファイルのアクセス要求が発行されたとき、前記ファイルへのアクセス要求を受けるパケット転送手段と
    前記ファイルが、1つのファイルシステム内又は前記1つのファイルシステムとは異なる他のファイルシステム内の少なくとも1つのファイルの位置情報を記録しているスタブファイルであるか否か判断するスタブファイル判定手段と、
    前記ファイルシステムに格納された前記スタブファイルと前記他のファイルシステムに格納された前記実ファイルとの対応関係を含む情報を記憶管理する手段と、
    スタブファイルである場合、前記アクセス要求が、前記スタブファイルに情報が格納されたファイルへのアクセスを必要とする場合には、前記スタブファイルに格納された情報に基づき、前記1つのファイルシステム又は他のファイルシステムのファイルにアクセスし前記クライアントに応答を返す制御を行うサーバアクセス手段と、を備え、
    前記スタブファイル内に、複数の分割ファイルの位置情報を格納しておき、一のファイルに対応した前記スタブファイルを介して、前記一のファイルの最大ファイルサイズの拡大を可能としてなることを特徴とするコントローラ。

JP2005059115A 2004-11-12 2005-03-03 ストレージ管理システムと方法並びにプログラム Expired - Fee Related JP4349301B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005059115A JP4349301B2 (ja) 2004-11-12 2005-03-03 ストレージ管理システムと方法並びにプログラム
US11/267,254 US7818287B2 (en) 2004-11-12 2005-11-07 Storage management system and method and program
CN2005101254097A CN1773510B (zh) 2004-11-12 2005-11-14 控制器以及存储器管理***

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004329209 2004-11-12
JP2005059115A JP4349301B2 (ja) 2004-11-12 2005-03-03 ストレージ管理システムと方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006164211A JP2006164211A (ja) 2006-06-22
JP4349301B2 true JP4349301B2 (ja) 2009-10-21

Family

ID=36585280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005059115A Expired - Fee Related JP4349301B2 (ja) 2004-11-12 2005-03-03 ストレージ管理システムと方法並びにプログラム

Country Status (3)

Country Link
US (1) US7818287B2 (ja)
JP (1) JP4349301B2 (ja)
CN (1) CN1773510B (ja)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005050386A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7853667B1 (en) * 2005-08-05 2010-12-14 Network Appliance, Inc. Emulation of transparent recall in a hierarchical storage management system
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
WO2007075587A2 (en) 2005-12-19 2007-07-05 Commvault Systems, Inc. Systems and methods for performing data replication
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7617262B2 (en) * 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7840618B2 (en) * 2006-01-03 2010-11-23 Nec Laboratories America, Inc. Wide area networked file system
KR100888593B1 (ko) * 2006-03-14 2009-03-12 삼성전자주식회사 컨텐츠 관리 방법 및 장치
US7836313B2 (en) * 2006-03-21 2010-11-16 Oracle America, Inc. Method and apparatus for constructing a storage system from which digital objects can be securely deleted from durable media
US8010555B2 (en) 2006-06-30 2011-08-30 Aperio Technologies, Inc. System and method for managing images over a network
US8086077B2 (en) 2006-06-30 2011-12-27 Aperio Technologies, Inc. Method for storing and retrieving large images via DICOM
JP5082310B2 (ja) * 2006-07-10 2012-11-28 日本電気株式会社 データ移行装置及びプログラム
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
JP4837495B2 (ja) 2006-08-29 2011-12-14 株式会社日立製作所 記憶システム及びデータ管理移行方法
US7640406B1 (en) 2006-10-03 2009-12-29 Emc Corporation Detecting and managing orphan files between primary and secondary data stores for content addressed storage
US7685177B1 (en) 2006-10-03 2010-03-23 Emc Corporation Detecting and managing orphan files between primary and secondary data stores
US7603397B1 (en) * 2006-10-03 2009-10-13 Emc Corporation Detecting and managing missing parents between primary and secondary data stores
US7599971B1 (en) * 2006-10-03 2009-10-06 Emc Corporation Detecting and managing missing parents between primary and secondary data stores for content addressed storage
JP4841408B2 (ja) * 2006-11-24 2011-12-21 富士通株式会社 ボリューム移行プログラム及び方法
CA2705379C (en) 2006-12-04 2016-08-30 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
WO2008080140A2 (en) 2006-12-22 2008-07-03 Commvault Systems, Inc. System and method for storing redundant information
US7840537B2 (en) 2006-12-22 2010-11-23 Commvault Systems, Inc. System and method for storing redundant information
JP2008181461A (ja) * 2007-01-26 2008-08-07 Hitachi Ltd Nas装置間でのデータ移行を制御する装置及び方法
JP4288525B2 (ja) 2007-02-16 2009-07-01 日本電気株式会社 ファイル共有システムおよびファイル共有方法
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
JP4931660B2 (ja) * 2007-03-23 2012-05-16 株式会社日立製作所 データ移行処理装置
JP2008250380A (ja) * 2007-03-29 2008-10-16 Kddi Corp コンテンツ配信装置、コンテンツ配信方法、及びプログラム
US9298417B1 (en) * 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
US8055864B2 (en) * 2007-08-06 2011-11-08 International Business Machines Corporation Efficient hierarchical storage management of a file system with snapshots
US8332375B2 (en) * 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
JP5198018B2 (ja) * 2007-09-20 2013-05-15 株式会社日立製作所 ストレージサブシステム及び記憶制御方法
US8060709B1 (en) 2007-09-28 2011-11-15 Emc Corporation Control of storage volumes in file archiving
US8326805B1 (en) 2007-09-28 2012-12-04 Emc Corporation High-availability file archiving
US8918603B1 (en) * 2007-09-28 2014-12-23 Emc Corporation Storage of file archiving metadata
CN101408834B (zh) * 2007-10-10 2010-11-10 英业达股份有限公司 一种对实体储存设备进行数据读写的***及方法
US8949192B2 (en) 2007-11-19 2015-02-03 International Business Machines Corporation Technique of controlling access to database
JP5258400B2 (ja) * 2008-06-06 2013-08-07 キヤノン株式会社 文書管理システム、文書管理方法、及びコンピュータプログラム
US9098495B2 (en) 2008-06-24 2015-08-04 Commvault Systems, Inc. Application-aware and remote single instance data management
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8166263B2 (en) 2008-07-03 2012-04-24 Commvault Systems, Inc. Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices
JP2010044571A (ja) * 2008-08-12 2010-02-25 Ntt Data Wave Corp データベース装置及びデータ管理方法ならびにそのプログラム
US9015181B2 (en) 2008-09-26 2015-04-21 Commvault Systems, Inc. Systems and methods for managing single instancing data
AU2009296695B2 (en) 2008-09-26 2013-08-01 Commvault Systems, Inc. Systems and methods for managing single instancing data
US8412677B2 (en) 2008-11-26 2013-04-02 Commvault Systems, Inc. Systems and methods for byte-level or quasi byte-level single instancing
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
JP4670968B2 (ja) * 2009-01-22 2011-04-13 富士ゼロックス株式会社 情報管理プログラム及び情報管理システム
US20100191708A1 (en) * 2009-01-23 2010-07-29 International Business Machines Corporation Synchronous Deletion of Managed Files
JP5243991B2 (ja) 2009-02-18 2013-07-24 株式会社日立製作所 ストレージシステム、容量管理方法、および管理計算機
US20100235409A1 (en) * 2009-03-10 2010-09-16 Global Relay Communications Inc. System and method for managing data stored in a data network
JP2010225024A (ja) * 2009-03-25 2010-10-07 Hitachi Ltd ストレージ装置とそのファイル制御方法およびストレージシステム
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8578120B2 (en) 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
CN101908009B (zh) * 2009-06-08 2014-02-19 鸿富锦精密工业(深圳)有限公司 文件备份与使用方法
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
JP5586892B2 (ja) * 2009-08-06 2014-09-10 株式会社日立製作所 階層化ストレージシステム及び階層化ストレージシステムにおけるファイルのコピー制御方法
US9239762B1 (en) * 2009-08-11 2016-01-19 Symantec Corporation Method and apparatus for virtualizing file system placeholders at a computer
US8452932B2 (en) 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
JP4995296B2 (ja) * 2010-03-11 2012-08-08 株式会社日立製作所 計算機システムおよびキャッシュ制御方法
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
WO2011123471A1 (en) * 2010-03-30 2011-10-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8595440B2 (en) 2010-03-31 2013-11-26 Hitachi Solutions, Ltd. File server apparatus, management method of storage system, and program
US9026589B1 (en) * 2010-05-04 2015-05-05 Amazon Technologies, Inc. Stubbing techniques in distributed-services environments
EP2579157B1 (en) 2010-05-27 2016-12-07 Hitachi, Ltd. Local file server operative to transfer file to remote file server via communication network, and storage system including those file servers
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
JP5488225B2 (ja) * 2010-06-09 2014-05-14 富士通株式会社 データ管理システム、データ管理方法、及びデータ管理プログラム
WO2012011158A1 (en) * 2010-07-23 2012-01-26 Hitachi, Ltd. Storage system and method of controlling same
JP2012042997A (ja) * 2010-08-12 2012-03-01 I-O Data Device Inc 情報処理装置、プログラム、およびリンク作成方法
WO2012035574A1 (en) 2010-09-14 2012-03-22 Hitachi, Ltd. Server apparatus and control method of the same for migrating file based on user quota and file quota
US8577851B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Content aligned block-based deduplication
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US8935492B2 (en) 2010-09-30 2015-01-13 Commvault Systems, Inc. Archiving data objects using secondary copies
US20120150818A1 (en) 2010-12-14 2012-06-14 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US8856073B2 (en) 2010-12-14 2014-10-07 Hitachi, Ltd. Data synchronization among file storages using stub files
WO2012081050A1 (en) * 2010-12-14 2012-06-21 Hitachi, Ltd. Failure recovery method in information processing system and information processing system
JP2012174113A (ja) 2011-02-23 2012-09-10 Hitachi Ltd ファイルストレージシステム及び記憶制御方法
US10666732B2 (en) 2011-03-21 2020-05-26 Iplcontent, Llc Systems and methods to provide digital amenities for local access
WO2012127526A1 (en) 2011-03-22 2012-09-27 Hitachi, Ltd. File server system and storage control method
TWI492086B (zh) * 2011-04-11 2015-07-11 D Link Corp Hide the file's real path for cloud processing
US8838721B2 (en) 2011-04-15 2014-09-16 Hitachi, Ltd. File sharing system and file sharing method
JP5751041B2 (ja) * 2011-06-17 2015-07-22 日本電気株式会社 ストレージ装置、ストレージ方法およびプログラム
WO2013014695A1 (en) * 2011-07-22 2013-01-31 Hitachi, Ltd. File storage system for transferring file to remote archive system
CN103858109B (zh) * 2011-10-28 2016-08-17 株式会社日立制作所 信息处理***及使用该信息处理***的文件恢复方法
US9195666B2 (en) * 2012-01-17 2015-11-24 Apple Inc. Location independent files
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9020890B2 (en) 2012-03-30 2015-04-28 Commvault Systems, Inc. Smart archiving and data previewing for mobile devices
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
WO2013171787A2 (en) * 2012-05-15 2013-11-21 Hitachi, Ltd. File storage system and load distribution method
US9251186B2 (en) 2012-06-13 2016-02-02 Commvault Systems, Inc. Backup using a client-side signature repository in a networked storage system
US9633022B2 (en) 2012-12-28 2017-04-25 Commvault Systems, Inc. Backup and restoration for a deduplicated file system
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9665591B2 (en) 2013-01-11 2017-05-30 Commvault Systems, Inc. High availability distributed deduplicated storage system
WO2014122733A1 (ja) * 2013-02-06 2014-08-14 株式会社日立製作所 計算機、データアクセス管理方法及び記録媒体
JP2014179066A (ja) * 2013-02-14 2014-09-25 Panasonic Corp ストレージ制御装置、ストレージシステム、およびストレージ制御方法
CN105593804B (zh) 2013-07-02 2019-02-22 日立数据***工程英国有限公司 用于文件***虚拟化的方法和设备、用于文件***虚拟化的数据存储***、以及用于数据存储***的文件服务器
US9460097B2 (en) * 2013-07-02 2016-10-04 Hitachi Data Systems Engineering UK Limited Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system
US9454532B2 (en) 2013-07-02 2016-09-27 Hitachi Data Systems Engineering UK Limited Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system
US9398111B1 (en) * 2013-08-30 2016-07-19 hopTo Inc. File caching upon disconnection
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US10324897B2 (en) 2014-01-27 2019-06-18 Commvault Systems, Inc. Techniques for serving archived electronic mail
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US20160078060A1 (en) * 2014-09-12 2016-03-17 International Business Machines Corporation Providing Selective Access To A Database In A Size-Managed State
US9495111B2 (en) * 2014-10-10 2016-11-15 The Boeing Company System and method for reducing information leakage from memory
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
JP6319829B2 (ja) * 2015-02-19 2018-05-09 Necソリューションイノベータ株式会社 データ配置装置及びデータ配置方法
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US10324914B2 (en) 2015-05-20 2019-06-18 Commvalut Systems, Inc. Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10061663B2 (en) 2015-12-30 2018-08-28 Commvault Systems, Inc. Rebuilding deduplication data in a distributed deduplication data storage system
WO2017126105A1 (ja) * 2016-01-22 2017-07-27 株式会社エーピーコミュニケーションズ ダウンロードシステム、通信装置、ダウンロード方法、及びコンピュータプログラム
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
JP6542721B2 (ja) * 2016-07-11 2019-07-10 日本電信電話株式会社 データ管理装置及びデータ管理方法
JP6231623B2 (ja) * 2016-07-19 2017-11-15 株式会社日立製作所 ファイルサーバ、情報システム、及び情報システムの制御方法
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US20210173811A1 (en) 2019-12-04 2021-06-10 Commvault Systems, Inc. Optimizing the restoration of deduplicated data stored in multi-node replicated file systems
JP2021096722A (ja) * 2019-12-18 2021-06-24 株式会社日立製作所 計算機システム及びデータのアクセス制御方法
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
CN114371811A (zh) * 2020-10-15 2022-04-19 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564037A (en) * 1995-03-29 1996-10-08 Cheyenne Software International Sales Corp. Real time data migration system and method employing sparse files
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
TW504619B (en) 1999-06-04 2002-10-01 Ibm Internet mail delivery agent with automatic caching of file attachments
JP2001222450A (ja) 2000-02-10 2001-08-17 Toshiba Corp 階層記憶装置
AUPR678401A0 (en) * 2001-08-02 2001-08-23 Singfield, Christian Network image server
US7136981B2 (en) * 2001-09-13 2006-11-14 Conocophillips Company Method and apparatus for creating a virtual storage volume with a file size independent of a file size limitation
KR20040053142A (ko) * 2001-09-26 2004-06-23 이엠씨 코포레이션 대형 파일들의 효율적 관리
JP3879594B2 (ja) * 2001-11-02 2007-02-14 日本電気株式会社 スイッチ方法、装置およびプログラム
JP2003150435A (ja) 2001-11-14 2003-05-23 Sony Corp ネットワークファイルシステム、フィルタ
CN100410931C (zh) 2002-07-11 2008-08-13 国际商业机器公司 用于扩展文件***应用编程接口的方法
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置

Also Published As

Publication number Publication date
CN1773510A (zh) 2006-05-17
JP2006164211A (ja) 2006-06-22
CN1773510B (zh) 2010-05-05
US7818287B2 (en) 2010-10-19
US20060129537A1 (en) 2006-06-15

Similar Documents

Publication Publication Date Title
JP4349301B2 (ja) ストレージ管理システムと方法並びにプログラム
US11593319B2 (en) Virtualized data storage system architecture
JP4568115B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
JP4168626B2 (ja) 記憶装置間のファイル移行方法
KR101137299B1 (ko) 스냅샷을 제공하는 파일 시스템에 대한 계층적 저장 관리
EP1148416B1 (en) Computer system and snapshot data management method
US7552223B1 (en) Apparatus and method for data consistency in a proxy cache
JP5608811B2 (ja) 情報処理システムの管理方法、及びデータ管理計算機システム
CA2734675C (en) Shared namespace for storage clusters
US20090150462A1 (en) Data migration operations in a distributed file system
JP5400889B2 (ja) ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム
US20010013059A1 (en) System and method for server-to-server data storage in a network environment
US20130232215A1 (en) Virtualized data storage system architecture using prefetching agent
JP2007226347A (ja) 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
WO2004047078A2 (en) Fast backup storage and fast recovery of data (fbsrd)
JP2007018399A (ja) 条件別スナップショット取得方法及びシステム
JP2005505829A (ja) 移動および消去の候補の効率的な検索
US20090150533A1 (en) Detecting need to access metadata during directory operations
US20090150449A1 (en) Open file migration operations in a distributed file system
JP4327869B2 (ja) 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
US20090150414A1 (en) Detecting need to access metadata during file operations
US20090150477A1 (en) Distributed file system optimization using native server functions
JP2004246702A (ja) 計算機システム、計算機装置、計算機システムにおけるデータアクセス方法及びプログラム
KR100952599B1 (ko) 로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를이용하는 방법 및 하이브리드 네트워크 스토리지 시스템
JP4005102B2 (ja) ゲートウェイ装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090217

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090615

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

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

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130731

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees