JP2005309852A - ストレージシステム及びファイル管理装置 - Google Patents

ストレージシステム及びファイル管理装置 Download PDF

Info

Publication number
JP2005309852A
JP2005309852A JP2004127113A JP2004127113A JP2005309852A JP 2005309852 A JP2005309852 A JP 2005309852A JP 2004127113 A JP2004127113 A JP 2004127113A JP 2004127113 A JP2004127113 A JP 2004127113A JP 2005309852 A JP2005309852 A JP 2005309852A
Authority
JP
Japan
Prior art keywords
file
client
date
storage
time
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.)
Granted
Application number
JP2004127113A
Other languages
English (en)
Other versions
JP4491269B2 (ja
Inventor
Hidehisa Shitomi
秀久 蔀
Takahiro Nakano
隆裕 中野
Yoji Nakatani
洋司 中谷
Mitsuru Ubusawa
満 生澤
Yosuke Ishii
陽介 石井
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 JP2004127113A priority Critical patent/JP4491269B2/ja
Priority to US10/880,506 priority patent/US7249119B2/en
Publication of JP2005309852A publication Critical patent/JP2005309852A/ja
Priority to US11/777,530 priority patent/US7836023B2/en
Application granted granted Critical
Publication of JP4491269B2 publication Critical patent/JP4491269B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/181Append-only file systems, e.g. using logs or journals to store data providing write once read many [WORM] semantics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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)

Abstract

【課題】 クライアントから詳細な情報を特定しなくてもファイルを取得可能とするストレージシステム及びファイル管理装置を提供する。
【解決手段】 クライアント10は、ファイル名と該ファイルの保存日時を示す情報とを含んだファイルの読み出し要求を送信する読み出し要求部400を備え、WORMアーカイブサーバ20は、クライアント10から受信した読み出し要求からファイル名とファイル保存日時を示す情報とを抽出し、前記抽出された情報で示される保存日時より前に記録された前記ファイル名のファイルのうち最新のものを、ストレージ30に記録されているファイルから特定するファイル特定部700と、当該特定されたデータを、要求を送信したクライアント10に送信するファイル送信部23と、を備えた。
【選択図】 図1

Description

本発明は、クライアントからアクセスされるファイルを格納するストレージシステムに関し、特に、クライアントから詳細な情報を特定しなくてもファイルを取得可能とするストレージシステム及びファイル管理装置に関する。
電子データをストレージ等の記憶装置に保持していく上で、電子データの保存期間に関する問題がある。データの量が増えると、ストレージに要求される容量は増え、コストが高くなる。そこで、重要度が高いデータは、回線帯域が大きく高速なストレージに記録し、重要度が低いデータは、比較的低速なストレージに記録する。このような回線帯域が大きく高速なストレージはコストが高く、比較的低速なストレージはコストが低い。また、データの保存日(アーカイブ日時)に基づいて、新しい高いデータ(アーカイブされてから時間がそれほど経過していないデータ)は高速なストレージに記録し、新鮮度が低いデータ(アーカイブされてから所定の時間が経過したデータ)は低速なストレージに記録する。このようなデータの管理手法は、データライフサイクルマネジメント(DLCM:Data LifeCycle Management)と呼ばれる。
このデータライフサイクルマネージメント(DLCM)におけるファイルの長期保存を考慮したファイル保存の仕組みとして、保存期限内のファイルの変更・消去を管理するWORM(Write Once Read Many)アーカイブが知られている。
例えば、WORMアーカイブサーバによって記憶されるWORMファイルは、一意な識別子により管理され、ファイル毎に、識別子、ストレージ内格納位置、ファイル属性が記録されるWORMアーカイブが知られている(例えば、非特許文献1参照。)。
また、WORMアーカイブサーバ内のファイルは、クライアント上のパス名と同様のパス名でファイルが管理されるWORMアーカイブが知られている(例えば、非特許文献2、参照。)。
WORMファイルを読み出すクライアントは、WORMアーカイブクライアントライブラリを介し、識別子又はファイル名とアーカイブ日時との組を指定することで、WORMファイルを読み出すことができる。
また、非特許文献1では、クライアントが読み出した後に変更したWORMファイルを再度アーカイブする際は、別の識別子を持ったWORMファイルとしてアーカイブされる。
EMC Corporation、"EMC Centera"、[online]、インターネット<URL:http://www.emc.com/pdf/products/centera/centera_guide.pdf> Network Appliance、"NetApp NearStore"、[online]、インターネット、<URL:http://www.netapp.com/products/nearstore/>
クライアントからのWORMファイルへのアクセス(例えば、読み出し)には、毎回、識別子又はパス名と特定アーカイブ日時との組を指定する必要がある。しかし、読み出したWORMファイルを利用するアプリケーションは、そのファイルと関連のあるファイルを読み出す際、関連ファイルのファイル名(パス名を含む)は知ることができるが、アーカイブ日時や識別子は、WORMアーカイブサーバ側で管理されるため、通常知ることはできない。したがって、WORMアーカイブサーバへのユーザの仲介、又は、クライアントのアプリケーションの改造などを行わなければ、関連ファイルを読み出すことができない。
例えば、クライアントが、WORMアーカイブサーバから読み出した、WORMファイルAについて考える。このWORMファイルAの中にリンクされているファイルがあり、そのリンク先ファイルBを参照する場合は、クライアントはファイルBのアーカイブ日時又は識別子を知ることはできない。したがって、ファイルAをアーカイブした時点でのファイルBを読み出して復元することができない。
本発明はこのような問題点に鑑みてなされたものであり、クライアント側から必要な情報(識別子、アーカイブ日時等)を指定しなくても、WORMファイルにアクセスすることが可能な、アーカイブサーバ及びストレージシステムを提供することを目的とする。
本発明は、処理単位(クライアントのプロセス、サーバとのコネクションなど)毎に、あるファイルの読み出した際に、そのファイルのアーカイブ日時を記憶する。以降、そのファイルに関連づけられているファイルを読み出すときは、まず、ファイル名のみを指定し、処理単位ごとに記憶されたアーカイブ日時を、ファイル名に添付して、ファイルの読み出しを要求する。
本発明によると、ある1つのファイルを読み出すことで、関連するファイルのアーカイブ日時を指定することなく、当該ファイルに関連するファイルを読み出すことができる。
以下に本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の第1の実施の形態のストレージシステムの構成を示すブロック図である。
第1の実施の形態のストレージシステムは、クライアントノード10、WORMアーカイブサーバ20、ストレージ30、及びクライアントノード10とWORMアーカイブサーバ20を接続するネットワーク40によって構成されている。
クライアントノード10は、WORMアーカイブサーバ20に対して、データ(WORMファイル)の書き込み(アーカイブ)又は読み出しを要求する計算機であり、ネットワーク40を介してWORMアーカイブサーバ20に接続されている。クライアントノード10は、CPU11、メモリ12、ネットワークインターフェース(I/F)13、及びディスク装置インターフェース(I/F)14等によって構成されている。
メモリ12には、クライアントプロセス100、ファイルID(FID)/ファイル名及びアーカイブ日時I/F200、ファイル名I/F210、WORMアーカイブクライアントライブラリ400、及び日時添付モジュール410が記憶されている。これらはソフトウェアとしてメモリ上の空間に割り当てられ、CPU11によって実行される。
クライアントプロセス100は、WORMアーカイブサーバ20に対してWORMファイルのアクセスを要求する。クライアントプロセス100は、クライアントノード10において複数動作している。
FID/ファイル名及びアーカイブ日時インターフェース(I/F)200は、ファイルID、又は、ファイル名とアーカイブ日時との組、の少なくとも一方を指定してWORMファイルの読み出しを要求する。ファイル名インターフェース(I/F)210は、ファイル名のみを指定してWORMファイルの読み出しを要求する。
WORMアーカイブクライアントライブラリ400は、WORMアーカイブサーバ20に対して要求を送信する。日時添付モジュール410は、WORMアーカイブクライアントライブラリ400に含まれ、ファイル名インターフェース(I/F)210からファイル名のみを指定したWORMファイルの読み出し要求があった際に、ファイル名に対応するアーカイブ日時(日付又は時間の少なくとも一方を示す情報)を付加する。
ネットワークI/F13は、ネットワーク40とのインターフェースとして動作する。すなわち、ネットワークI/F13は、データをネットワーク40を経由してWORMアーカイブサーバ20に送信する送信部として機能し、また、WORMアーカイブサーバ20から送られたデータを受信する受信部として機能する。
ディスク装置I/F14は、ディスク装置15に対するインターフェース(例えば、SCSI:Small Computer System Interface、FC:Fibre Channel、iSCSI:internet SCSI等)として動作する。
また、クライアントノード10に接続されているディスク装置15には、各クライアントプロセスのプロセスIDと保存日情報(アーカイブ情報)とが対応づけられたプロセスごとファイル保存日時管理表500が保持されている。
なお、プロセスごとファイル保存日時管理表500は、図1に示すようにクライアントノード10に接続されたディスク装置15に保持してもよいし、クライアントノード10内のメモリ12に保持してもよい。
WORMアーカイブサーバ20は、ストレージ30に記録されているWORMファイルを管理するファイル管理装置である。
WORMアーカイブサーバ20、ネットワーク40を介してクライアントノード10に接続されており、クライアントノード10からの要求を受けて、当該要求のファイルをストレージ30から読み出し、要求元のクライアントノード10に返す。
WORMアーカイブサーバ20は、CPU21、メモリ22、ネットワークインターフェース(I/F)23、ストレージインターフェース(I/F)24等から構成されている。
メモリ22には、保存日時通知モジュール600、ファイル特定モジュール700、ファイル保存日時管理表800等が含まれている。これらはソフトウェアとしてメモリ上の空間に割り当てられ、CPU21によって実行される。
保存日時通知モジュール600は、クライアントノードによってアーカイブされたファイルの保存日情報を取得して、ファイル保存日時管理表に記録する。また、クライアントノードによってファイルの読み出しが行われた場合は、当該ファイルの保存日情報をファイル保存日管理表から取得する。
ファイル特定モジュール700は、ファイル名と当該ファイルの保存日情報との組からファイル保存日管理表を検索し、ストレージ30における当該ファイルの格納場所を取得する。 ネットワークI/F23は、クライアントノード10に備えられているネットワークI/F13と同様に、ネットワーク40とのインターフェースとして動作する。すなわち、ネットワークI/F23は、データをネットワーク40を経由してクライアントノード10に送信する送信部として機能し、また、クライアントノード10から送られたデータを受信する受信部として機能する。
ストレージI/F24は、ストレージ30とのインターフェースとして動作する。
ストレージ30は、データの転送に適するプロトコル(例えば、SCSI:Small Computer System Interface、FC:Fibre Channel、iSCSI:internet SCSI、NFS:Netowork File System、CIFS:Common Internet File System等)によって通信可能にWORMアーカイブサーバ20と接続され、WORMファイルを保存する。WORMアーカイブサーバ20には一つ以上のストレージ30が接続される。このストレージ30とWORMアーカイブサーバ20とは直接接続されていても、ネットワークによって接続されていてもよい。
図2は、WORMアーカイブサーバ20に備えられるファイル保存日時管理表800の一例を示す説明図である。
ファイル保存日時管理表800は、ストレージ30に記録されているWORMファイルを特定するための情報を一覧として記録するものである。
ファイルID(FID)は、WORMアーカイブサーバ20によって各WORMファイルに一意に割り振られた識別子である。クライアントパス名は、クライアントノード10側で管理されているファイルのパス名及びファイル名である。ストレージパス名は、ストレージ30に実際に記録されているWORMファイルのパス名及びファイル名である。例えば、ファイルIDが「001」であるファイルは、クライアントノード10からは「/aa/」というパスにある「a」というファイルとして管理されている。このファイル「a」は、ストレージ30では、「/S1/」というパスに、「1」というファイルとして保存されている。アーカイブ日時は当該ファイルがストレージ30に保存された日時を示す。
WORMファイルは、クライアントノード10が読み出したファイルに変更を加えて、同一のファイル名で再度アーカイブを行う場合がある。そのため、異なる日時にアーカイブされた同一のファイル名が複数存在する場合がある。クライアントノード10からWORMファイルを読み出す場合には、ファイルIDを指定してファイルを読み出す方法、又は、ファイル名(クライアントパス名)とアーカイブ日時とを指定してファイルを読み出す方法がある。ファイルIDは各々のファイルに対して一意となるように設定されているので、ファイルIDを指定してファイルを読み出すことができる。しかし、ファイル名を指定してファイルを読み出す場合には、アーカイブ日時が異なり同一ファイル名のファイルが複数あるので、アーカイブ日時を特定してファイルを読み出す必要がある。
図3は、クライアントノード10に接続されているディスク装置15に記録されているプロセスごとファイル保存日時管理表500の一例を示す説明図である。
プロセスIDは、各クライアントプロセス100に一意に割り当てられている識別子である。アーカイブ日時502は、クライアントプロセス100が読み出したWORMファイルから取得したアーカイブ日時である。
このプロセスごとファイル保存日時管理表500は、後述するように、クライアントプロセス100が、WORMアーカイブサーバ20に対してWORMファイルの読み出しを要求するときに、WORMアーカイブクライアントライブラリ400によって、当該WORMファイルのアーカイブ日時を記録される。そして、当該WORMファイルにリンクされているWORMファイルを読み出す際に、日時添付モジュール410が、このプロセスごとファイル保存日時管理表500に記録されたアーカイブ日時を取得してWORMアーカイブサーバ20にファイルの読み出しを要求する。
次に、本発明の第1の実施の形態のストレージシステムの動作を説明する。
図4は、本発明の第1の実施の形態のストレージシステムの処理を示すシーケンス図である。
まず、WORMファイルをWORMアーカイブサーバ20に対して記録(アーカイブ)する処理について説明する。
まずクライアントプロセス100が、WORMアーカイブサーバ20に対してファイル(ここでは、「/test」)を保存するアーカイブ要求を送信する(ステップ1000)。WORMアーカイブサーバ20は、アーカイブ要求を受信すると、当該ファイルをストレージ30に書き込む。この際に、当該ファイルのファイルID、クライアントパス名(/test)、ストレージパス名及びアーカイブ日時をファイル保存日時管理表800(図2)に登録する。
次に、クライアントプロセス100が、ストレージ30に保存されているWORMファイル(/test)を読み出す処理について説明する。
クライアントプロセス100は、ファイルID/ファイル名及びアーカイブ日時I/F200によって、ストレージ30に保存されているWORMファイル(/test)の読み出し要求をWORMアーカイブサーバ20に対して送信する(ステップ1001)。WORMアーカイブサーバ20は、この要求を受信すると、ファイル保存日時管理表800を参照してストレージパス名を取得して、ストレージ30におけるファイルの記録箇所を特定して、当該ファイル(「/test」)をストレージ30から取得する。そして、取得したファイル(「/test」)と共に、ファイルのアーカイブ日時を示す情報をクライアントプロセス100に対して送信する(ステップ1002)。
クライアントノード10に対して送られたファイル及びアーカイブ日時の情報は、まず、WORMアーカイブクライアントライブラリ400が受信する。WORMアーカイブクライアントライブラリ400は、まず、受信したアーカイブ日時の情報と、当該ファイルの読み出しを要求したクライアントプロセス100のプロセスIDとを、プロセスごとアーカイブ日時管理表500(図3)に記録する。そして、受信したファイル(「/test」)を、当該ファイルの読み出しを要求した、クライアントプロセス100に渡す(ステップ1003)。
この一連の処理によって、クライアントプロセス100は、要求したWORMファイルを取得できる。
ここで、クライアントプロセス100が取得したファイル(「/test」)に関連づけられているファイルがあり、その関連づけられたファイルの読み出しが必要になった場合について説明する。ここで、関連づけられたファイルとは、あるファイルからリンクが設定されている他のファイルであり、当該ファイルを使用する際には、この他のファイルに記録されたデータが必要となるものである。具体的には、HTMLやXMLにおけるハイパーリンク、WordやExcelなどのアプリケーションにおけるOLEオブジェクトデータのリンク、Makefileにリンクされているソースファイル等が挙げられる。
クライアントプロセス100は、「/test」に関連づけられたファイル(ここでは「/aa/a」とする)の読み出し要求を送信する(ステップ1004)。このとき、クライアントプロセス100は関連づけされたファイルのファイル名のみを知っており、アーカイブ日時を知らない。よって、クライアントプロセス100が送信する要求は、ファイル名I/F210を用いて送信される。
このファイル読み出し要求は、まず、WORMアーカイブクライアントライブラリ400によって受信される。
WORMアーカイブクライアントライブラリ400は、このファイル読み出し要求から、ファイル読み出し要求を送信したクライアントプロセス100のプロセスIDを抽出する。そして、プロセスごとファイル保存日時管理表500を参照して、当該プロセスIDと対応するアーカイブ日時を取得する。そして、クライアントプロセス100が送信したファイル読み出し要求に、取得したアーカイブ日時を添付して、WORMアーカイブサーバ20に送信する(ステップ1005)。
WORMアーカイブサーバ20は、この要求を受信すると、当該要求をファイル特定モジュール700に送る。ファイル特定モジュール700は、読み出し要求のあったファイル(/aa/a)及びアーカイブ日時から、WORMアーカイブサーバ20によって管理されるファイルを特定する処理(ファイル特定処理)を行う。
WORMアーカイブサーバ20は、ファイル保存日時管理表800を参照してストレージパス名を取得して、ストレージ30におけるファイルの記録箇所を特定して、ファイル特定処理によって特定されたファイル(/aa/a)をストレージ30から取得する。そして、取得したファイル(/aa/a)を、クライアントプロセス100に対して送信する(ステップ1006)。
この一連の処理によって、クライアントプロセス100が、WORMファイルの読み出しを要求する際に、ファイルを特定するための情報(ファイルID、アーカイブ日時等)を指定しなくても、ファイル名のみを指定することでファイルを取得することが可能となる。
なお、前述したように、クライアントノード10では複数のクライアントプロセス100が稼働しているので、ファイルを保存するクライアントプロセス100と、ファイルを読み出すクライアントプロセス100とは、必ずしも同じとは限らない。
図5は、前述した図4の処理を、システム構成図に当てはめて表した説明図である。
前述したように、クライアントプロセス100は、ファイル(「/test」)を予めWORMアーカイブサーバ20に登録しているとする。
クライアントプロセス100(プロセスIDは「100」とする)が、WORMファイル(「/test/」)の読み出しを要求する場合は、当該WORMファイルのファイルID(003)を指定するか、又はファイル名(/test)及びアーカイブ日時(11/25/00)の双方を指定して、WORMアーカイブサーバ20にファイルID/ファイル名及びアーカイブ日時I/F200を用いてファイルの読み出しを要求する(ステップ1001)。
WORMアーカイブサーバ20は、ファイルの読み出し要求を受信すると、ファイル保存日時管理表800を参照し、読み出し要求のファイルID又はファイル名及びアーカイブ日時から、ストレージ30に保存されている当該WORMファイルを特定し、ストレージ30から当該WORMファイルを読み出す。読み出されたWORMファイルは、クライアントプロセス100に対して送信される(ステップ1002)。
このとき、WORMアーカイブサーバ20の保存日時通知モジュール600は、当該ファイルのアーカイブ日時を示す情報を、ファイル保存日時管理表800から取得し、ファイルと共にクライアントプロセス100に送信する(ステップ1002)。
クライアントノード10に対して送られたファイル及びアーカイブ日時の情報は、まず、WORMアーカイブクライアントライブラリ400が受信する。WORMアーカイブクライアントライブラリ400は、まず、受信したアーカイブ日時の情報(11/25/00)と、当該ファイルの読み出しを要求したクライアントプロセス100のプロセスID(100)とを、プロセスごとアーカイブ日時管理表500に保存する。そして、受信したファイル(/test)を、当該ファイルの読み出しを要求したクライアントプロセス100に渡す(ステップ1003)。
ここで、クライアントプロセス100が取得したファイル(/test)に関連づけられているファイル(/aa/a)の読み出しを行う場合は、まず、当該ファイル名(/aa/a)のみを指定したファイルの読み出し要求を送信する(ステップ1004)。この要求は、ファイル名I/F210を用いて送信される。
このファイル読み出し要求は、まず、WORMアーカイブクライアントライブラリ400によって受信される。
時間添付モジュール410は、ファイル取得要求を送信したクライアントプロセス100のプロセスIDを取得する。そして、プロセスごとファイル保存日時管理表500を参照して、当該プロセスID(「100」)と対応するアーカイブ日時(「11/25/00」)を取得する。そして、クライアントプロセス100が送信したファイル読み出し要求に、取得したアーカイブ日時を添付して、WORMアーカイブサーバ20に送信する(ステップ1005)。
WORMアーカイブサーバ20は、この要求を受信すると、当該要求をファイル特定モジュール700に送る。ファイル特定モジュール700は、読み出し要求のあったファイル(/aa/a)及びアーカイブ日時(11/25/00)から、WORMアーカイブサーバ20によって管理されるファイルを特定する。そして、WORMアーカイブサーバ20は、ファイル保存日時管理表800を参照してストレージパス名を取得して、ファイル特定処理によって特定されたファイル(FID002の10/10/00にアーカイブされた/aa/a)をストレージ30から取得する。そして、取得したファイル(/aa/a)を、クライアントプロセス100に対して送信する(ステップ1006)。
図6は、前述したファイル特定処理を示すフローチャートである。
まず、受信したファイル読み出し要求に含まれるファイル名及びアーカイブ日時を抽出し、抽出したアーカイブ日時よりも前の日時にアーカイブされたファイルの中から、抽出したファイル名を検索する(ステップ2001)。
次に、検索の結果、ファイル名が重複して検索されたか否かを判定する(ステップ2002)。重複して検索されたと場合は、同じファイル名の複数のファイルが記録されているので、ステップ2003に移行する。一方、重複して検索されなかった場合は、同じファイル名のファイルは0個又は1個のみが記録されているので、ステップ2005に移行する。
ステップ2003では、重複するファイルのうち、読み出し要求から抽出されたアーカイブ日時に最も近いアーカイブ日時のファイルを検索する。そして、検索の結果得られたファイルをWORMアーカイブサーバ20に返す(ステップ2004)。
一方、ファイル名の重複がなかったと判定した場合は、検索されたファイル数が0よりも大きいか否かを判定する(ステップ2005)。検索されたファイル数が0よりも大きい(すなわち、ファイル数が1)である場合は、当該ファイルをWORMアーカイブサーバ20に返す。
一方、検索されたファイル名が0以下である(すなわち、ファイルが検索されなかった)場合は、要求したファイルはWORMアーカイブサーバ20の管理するストレージ30には存在しないとして、その結果をWORMアーカイブサーバ20に返す(ステップ2006)。
以上のように構成された本発明の第1の実施の形態のストレージシステムでは、クライアントプロセス100がWORMファイルを読み出すときに、WORMアーカイブクライアントライブラリ400が、当該WORMファイルのアーカイブ日時を取得してプロセスごとアーカイブ日時管理表500に記録する。そして、クライアントプロセス100が当該WORMファイルに関連づけられたファイルの読み出しを行う際に、WORMアーカイブクライアントライブラリ400に含まれる日時添付モジュール410が、アーカイブ日時管理表500を参照し、当該WORMファイルのアーカイブ日時を、WORMファイルに関連づけられたファイルの読み出し要求に添付してWORMアーカイブサーバ20に送信する。WORMアーカイブサーバ20に含まれるファイル特定モジュール700は、受信した読み出し要求に含まれるファイル名とアーカイブ日時から、クライアントプロセス100が要求するファイルを特定する。そして、特定したファイルをストレージ30から読み出し、クライアントプロセス100に送信する。
このようにすることで、クライアントプロセス100が、WORMファイルに関連づけられたアーカイブ日時の不明なファイルを、ファイル名だけを指定することでWORMアーカイブサーバから読み出すことが可能となる。例えば、あるMakefile(WORMファイル)を取得し、そのMakefileが保存された時点でコンパイル対象となっていたファイルを、前述のような方法で読み出すことができる。クライアントプロセス100は読み出したファイルによって、ファイル保存時点でmakeして得られたバイナリファイルと同様のバイナリファイルの生成が可能となる。また、あるHTMLやXMLファイル(WORMファイル)を取得し、そのHTML又はXMLファイルが保存された時点でハイパーリンクされていたファイルを、前述のような方法で読み出すことができる。クライアントプロセス100は読み出したファイルによって、ファイル保存時点でハイパーリンクされていたファイルを取得することが可能となる。
次に、本発明の第2の実施の形態のストレージシステムについて説明する。第2の実施の形態では、第1の実施の形態と比較すると、ファイルのアーカイブ日時を管理するファイル保存日時管理表を、クライアントノード10からWORMアーカイブサーバ20へのコネクションごとに管理する点が相違する。なお、第1の実施の形態と同一に機能する構成には同一の符号を付し、その説明を省略する。
図7は、第2の実施の形態の本発明のストレージシステムの構成を示すブロック図である。
第2の実施の形態では、WORMアーカイブクライアントライブラリ400には、受信したWORMファイルのアーカイブ日時をプロセスIDと共にプロセスごとファイル保存日時管理表に記録する機能及び日時添付モジュール410は備えられていない。また、ディスク装置14にも、プロセスごとファイル保存日管理表500は備えられていない。
WORMアーカイブサーバ20のメモリ22には、クライアントプロセス100からのコネクション単位ごとにファイルのアーカイブ日時を取得し、コネクションごとに割り当てられるID(コネクションID)とアーカイブ日時とを対応させて保存するコネクションごとファイル保存日時管理表550が備えられている。なお、コネクションごとファイル保存日管理表550は、ストレージ30又はWORMアーカイブサーバ30に接続された他のディスク装置上に存在してもよい。
また、WORMアーカイブサーバ20のメモリ22には、日時添付モジュール450も含まれる。この日時添付モジュール450は、クライアントプロセス100からのファイル読み出し要求がファイル名のみを指定しているものである場合に、コネクションごとファイル保存日時管理表550を参照して、当該要求のコネクションIDから、当該ファイル要求にアーカイブ日時を示す情報を添付して、ファイル特定モジュール700に渡す。ファイル特定モジュール700は、第1の実施の形態と同様に、特定されたWORMファイルをクライアントプロセス100に対して送信する。
図8は、WORMアーカイブサーバ20が保持しているコネクションごとファイル保存日時管理表550の一例を示す表である。
クライアントプロセス100からのファイル読み出し要求等によって設定されるコネクションは、各コネクションごとにID(コネクションID)が割り当てられている。WORMアーカイブサーバは、このコネクションIDと、当該コネクションのファイル読み出し要求のファイルのアーカイブ日時とを対応づけてコネクションごとファイル保存日時管理表550として保存する。
図9は、本発明の第2の実施の形態のストレージシステムの処理を示すシーケンス図である。
まず、WORMファイルをWORMアーカイブサーバ20に対して保存する処理について説明する。
まずクライアントプロセス100が、WORMアーカイブサーバ20に対してファイル(ここでは、「/test」)を保存するアーカイブ要求を送信する(ステップ3000)。この要求の送信によって、クライアント10からWORMアーカイブサーバ20に対してコネクションが確立する。WORMアーカイブサーバ20は、アーカイブ要求を受信すると、当該ファイルをストレージ30に書き込む。この際に、当該ファイルのファイルID、クライアントパス名(「/test」)、ストレージパス名及びアーカイブ日時をファイル保存日時管理表800(図2参照)に登録する。
次に、クライアントプロセス100が、ストレージ30に保存されているWORMファイル(「/test」)を読み出す処理について説明する。
クライアントプロセス100は、ファイルID/ファイル名及びアーカイブ日時I/F200によって、ストレージ30に保存されているWORMファイル(/test)の読み出し要求をWORMアーカイブサーバ20に対して送信する(ステップ3001)。このコネクションには一意の識別子(コネクションID)が付される。
WORMアーカイブサーバ20は、この要求を受信すると、まず、当該読み出し要求のコネクションIDと、読み出し要求されたWORMファイルのアーカイブ日時と、を取得し、これらを対応付けてコネクションごとファイル保存日時管理表550に記録する。すなわち、WORMアーカイブサーバ20がコネクションIDとアーカイブ日時をコネクション毎ファイル保存日時管理表550に記録することで、保存日時記録部が構成される。
次に、ファイル保存日時管理表800を参照してストレージパス名を取得して、ストレージ30におけるファイルの記録箇所を特定して、当該ファイル(「/test」)をストレージ30から取得する。そして、取得したファイル(「/test」)を、クライアントプロセス100に対して送信する(ステップ3002)。
この一連の処理によって、クライアントプロセス100は、要求したWORMファイルを取得できる。
ここで、クライアントプロセス100が取得したファイル(「/test」)に関連づけられているファイルがあり、その関連づけられたファイルの読み出しが必要になった場合について説明する。
クライアントプロセス100は、「/test」に関連づけられたファイル(ここでは「/aa/a」とする)の読み出し要求を送信する(ステップ3003)。このとき、クライアントプロセス100は関連づけされたファイルのファイル名のみを知っており、アーカイブ日時を知らない。よって、クライアントプロセス100の送信する要求は、ファイル名I/F210を用いて送信される。
WORMアーカイブサーバは、このファイル読み出し要求を受信すると、当該ファイル読み出し要求を日時添付モジュール450に渡す。日時添付モジュール450は、ファイル読み出し要求のコネクションIDを抽出し、抽出したコネクションIDからコネクションごとファイル保存日時管理表550を検索して、当該コネクションIDに対応するファイルのアーカイブ日時を取得する。そして、ファイル読み出し要求に取得したアーカイブ日時を添付して、ファイル特定モジュールに渡す。ファイル特定モジュール700は、読み出し要求のあったファイル(/aa/a)及びアーカイブ日時から、WORMアーカイブサーバ20によって管理されるファイルを特定する処理(ファイル特定処理)を行う。
WORMアーカイブサーバ20は、ファイル保存日時管理表800を参照してストレージパス名を取得して、ストレージ30におけるファイルの記録箇所を特定して、ファイル特定処理によって特定されたファイル(/aa/a)を、ストレージ30から取得する。そして、取得したファイル(/aa/a)を、クライアントプロセス100に対して送信する(ステップ3004)。なお、ステップ3001において確立したコネクションは、所定時間の経過又はクライアントプロセスからの要求によって解放される。
この一連の処理によって、クライアントプロセス100が、WORMファイルの読み出しを要求する際に、ファイルを特定するための情報(ファイルID、アーカイブ日時等)を指定しなくても、ファイル名のみを指定することでファイルを取得することが可能となる。
なお、前述したように、クライアントノード10では複数のクライアントプロセス100が稼働しているので、ファイルを保存するクライアントプロセス100と、ファイルを読み出すクライアントプロセス100とは、必ずしも同じとは限らない。
図10は、前述した図9の処理を、図7のシステム構成図に当てはめて表した説明図である。
前述したように、前提条件として、クライアントプロセス100は、ファイル(「/test」)を予めWORMアーカイブサーバ20に登録しているとする。
クライアントプロセス100(プロセスIDは「100」とする)が、WORMファイル(「/test/」)の読み出しを要求する場合は、当該WORMファイルのファイルID(003)を指定するか、又はファイル名(/test)及びアーカイブ日時(11/25/00)の双方を指定して、WORMアーカイブサーバ20に、ファイルID/ファイル名及びアーカイブ日時I/F200を用いてファイルの読み出しを要求する(ステップ3001)。この要求の送信によって、クライアント10からWORMアーカイブサーバ20に対してコネクションが確立する。このコネクションには一意の識別子(コネクションID)が付される。
WORMアーカイブサーバ20は、この要求を受信すると、まず、当該読み出し要求のコネクションIDと、読み出し要求されたWORMファイルのアーカイブ日時と、を取得し、これらを対応づけてコネクションごとファイル保存日時管理表550に保存する。
次に、ファイル保存日時管理表800を参照して当該ファイル(/test)をストレージ30から取得する。そして、取得したファイル(/test)を、クライアントプロセス100に対して送信する(ステップ3002)。
ここで、クライアントプロセス100が取得したファイル(/test)に関連づけられているファイル(/aa/a)の読み出しを行う場合は、まず、当該ファイル名(/aa/a)のみを指定したファイルの読み出し要求を送信する(ステップ3003)。この要求は、ファイル名I/F210を用いて送信される。
WORMアーカイブサーバ20は、このファイル読み出し要求を受信すると、当該ファイル読み出し要求を日時添付モジュール450に渡す。日時添付モジュール450は、ファイル読み出し要求のコネクションIDを取得し、取得したコネクションID(100)からコネクションごとファイル保存日時管理表550を検索して、当該コネクションIDに対応するファイルのアーカイブ日時(11/25/00)を取得する。そして、取得したアーカイブ日時をファイル読み出し要求に添付して、ファイル特定モジュールに渡す。ファイル特定モジュール700は、読み出し要求のあったファイル(/aa/a)及びアーカイブ日時から、WORMアーカイブサーバ20が管理するファイルを特定する処理(ファイル特定処理)を行う。
WORMアーカイブサーバ20は、ファイル保存日時管理表800を参照してストレージパス名を取得して、ファイル特定処理によって特定されたファイル(FID002の10/10/00にアーカイブされた/aa/a)を、ストレージ30から取得する。そして、取得したファイル(/aa/a)を、クライアントプロセス100に対して送信する(ステップ3004)。なお、ステップ3001において確立したコネクションは、所定時間の経過又はクライアントプロセスからの要求によって解放される。
以上のように構成された本発明の第2の実施の形態のストレージシステムでは、クライアントプロセス100がWORMファイルを読み出すときに、WORMアーカイブサーバ20が、当該WORMファイルのアーカイブ日時を取得してコネクションごとアーカイブ日時管理表500に記録する。そして、クライアントプロセス100が当該WORMファイルに関連づけられたファイルの読み出しを行う際に、当該ファイル名のみを指示したファイル読み出し要求をWORMアーカイブサーバ20に送信する。WORMアーカイブサーバ20に含まれる日時添付モジュール450が、コネクションごと保存日管理表550を参照し、当該WORMファイルのアーカイブ日時を、WORMファイルに関連づけられたファイルの読み出し要求に添付して、ファイル特定モジュールに渡す。ファイル特定モジュール700は、受信した読み出し要求に含まれるファイル名とアーカイブ日時から、クライアンプロセス100が要求するファイルを特定する。そして、特定したファイルをストレージ30から読み出し、クライアントプロセス100に送信する。
このようにすることで、クライアントプロセス100が、WORMファイルに関連づけられた、アーカイブ日時の不明なファイルを、ファイル名だけを指定することでWORMアーカイブサーバから読み出すことが可能となる。また、第1の実施例と比較すると、クライアントノード10ではなく、WORMアーカイブサーバ20側でクライアントノードからのコネクションを管理するので、クライアントノード10の負荷が低減するという効果がある。
次に、本発明の第3の実施の形態のストレージシステムについて説明する。
第3の実施の形態は、第1又は第2の実施の形態の変形例であり、クライアントノード10側(クライアントプロセス100)からのファイル読み出しを要求する際に、ファイル名と任意の時間を示す情報とを組とした要求を送信し、WORMアーカイブサーバ20は、当該要求を受けてファイルを特定し、特定したファイルをクライアントノード10側に送信するよう構成した。なお、第1又は第2の実施の形態と同一に機能する構成には同一の符号を付し、その説明は省略する。
図11は、第3の実施の形態のストレージシステムの処理を示す説明図であり、第1の実施の形態の構成図(図1)に当てはめて表したものである。
前述したように、クライアントプロセス100が、ファイルID、又はファイル名とアーカイブ日時の組を指定したファイル読み出し要求を、WORMアーカイブサーバ20に送信することで、ファイルを取得できる。この処理は図10の細矢印線で示される。
ここで、クライアントプロセス100が、ファイル名と任意の日時とを指定したファイル読み出し要求を送信した場合について説明する(太矢印線で示される)。
任意の時間を指定する場合とは、前述の第1又は第2の実施の形態のように、始めに元となるファイルを取得し、そのファイルのアーカイブ日時を基準にファイルを取得するのではなく、読み出しを要求するファイルであって、指定した任意の日時より以前にアーカイブされた最新のファイルを取得したい場合などである。
まず、クライアントプロセス100は、ファイル名と任意の日時とを指定して、WORMアーカイブサーバ20にファイル名及び日時I/F220を用いてファイルの読み出しを要求する(ステップ4001)。
WORMアーカイブサーバ20は、このファイル読み出し要求を受信すると、まず、ファイル特定モジュール700に当該ファイル読み出し要求を渡す。
ファイル特定モジュール700は、図6において前述した処理手順に従って、要求されたファイル名のうち、指定した日時にうち最も近いアーカイブ日時のファイルを特定する。WORMアーカイブサーバ20は、ファイル特定処理によって特定されたファイルを、ファイル保存日時管理表800を参照してストレージ30から取得する。そして、取得したファイルを、クライアントプロセス100に対して送信する(ステップ4002)。
なお、図11は第1の実施の形態のように、クライアントノード10が、プロセス単位でファイルのアーカイブ日時を管理するストレージシステムを例に説明したが、これを、第2実施の形態のように、WORMアーカイブサーバ20がコネクション単位でアーカイブ日時を管理するストレージシステムにおいても、同様に適用できる。この場合は、クライアントプロセス100が送信したファイル読み出し要求を、WORMアーカイブサーバ20のファイル特定モジュール700が受信してファイルを特定し、クライアントプロセス100に対して特定したファイルを送信する。
以上のように構成された第3の実施の形態のストレージシステムでは、クライアントプロセス100が、読み出しを所望するWORMファイルに対して、任意の日時を指定することで、指定した任意の日時よりも最新のWORMファイルを読み出すことが可能になる。特に、同一のパス名で複数のWORMファイルがストレージ30に記憶されている場合に、クライアントプロセス100が所望する所定の日時におけるもっとも最新のファイルを取得することが可能となる。
次に、本発明の第4の実施の形態のストレージシステムについて説明する。
第4の実施の形態では、第1乃至第3の実施の形態の変形例であり、前述の図6のフローチャートのステップ2005において、指定されたファイルが存在しなかったときの処理に関する。
クライアントプロセス100から読み出し要求のあったファイル(/aa/a)を、WORMアーカイブサーバにおいてファイル特定処理を行った結果、そのファイルが当該WORMアーカイブサーバ20に存在しない場合がある。
WORMアーカイブサーバ20にファイルが存在しない場合とは、ファイルが削除されたことを意味する。ファイルの削除は、ファイルに設定された保存期限が満了した後ユーザの依頼により削除が実行される場合、又はファイルの保存期限が満了した後に、システム(WORMアーカイブサーバ20等)が自動的に削除を実行する場合等である。
ファイルの保存期限を扱うためには、ファイル保存日時管理表800に保存期限欄を追加し、保存期限欄に定められた期限が満了した後は、WORMアーカイブサーバ20の管理者又はクライアントプロセス100の要求によって当該ファイルを手動で削除するか、WORMアーカイブサーバ20の処理によって自動的に削除を行うよう設定する。なお、ファイルに保存期限を指定することは必須ではなく、保存期限が指定されていないファイルは永久に削除されない。
ファイルを削除する場合、ファイル保存日時管理表800から当該ファイルのエントリを削除する方法、ファイルのエントリは残し、ファイル保存日時管理表800に削除した旨の記録を残す方法の2通りの方法がある。ファイル保存日時管理表800には、削除の記録を残すために、ファイルの状態(存在、削除等を識別可能な状態)を示すステータス欄を追加する。
ファイル保存日時管理表800から当該ファイルのエントリを削除する方法では、要求されたファイルのエントリが削除され、要求のファイルが存在しないと判定した場合は、前述した図6のステップ2006において、WORMアーカイブサーバ20(WORMアーカイブサーバ20に管理されるストレージ30)にはファイルが存在しない旨のエラーをファイル読み出し要求元のクライアントプロセス100に通知する。
一方、ファイルのエントリは残し、ファイル保存日時管理表800に、削除した旨の記録を残す方法では、要求されたファイルが既に削除されているものであると判定した場合は、前述した図6のステップ2006において、ファイルが削除された旨のエラーを読み出し要求元のクライアントプロセス100に通知する。
なお、ファイル保存日時管理表800のステータス欄には、削除日や削除者などを含めることも可能である。
図12は、このファイル保存日時管理表800の一例を示す表である。
ファイル保存日管理表800にステータス欄が追加され、ステータス欄に、ファイルの削除、削除日時、削除者、ファイルの移動、移動先、等の情報が記憶されている。
WORMアーカイブサーバ20は、このステータス欄の内容を取得することによって、削除されたファイルに関してより詳細な情報を含むエラーメッセージを作成して、クライアントプロセス100に通知することが可能となる。クライアントプロセス100は受け取ったエラーメッセージの内容を参照することで様々な対応が可能となる。例えば、ファイルの削除者が判明した場合は、当該削除者に対して(必ずしもファイルを所持しているとは限らないが)ファイルを要求することも可能である。
また、指定したWORMアーカイブサーバ20が管理するストレージ30にファイルが存在しない場合には、前述のように保存期限が経過してファイルが削除された場合だけではなく、ストレージ30の容量不足等によって、管理者が別のWORMアーカイブサーバ20が管理するストレージ30にファイルを移動する場合や、そのファイルを長期間アクセスする予定がないために、管理者が安価な別のWORMアーカイブサーバ20が管理するストレージ30にファイルを移動する場合などが考えられる。
この場合も前述のように、ファイルの移動に伴い、ファイル保存日時管理表800のエントリが削除された場合は、ファイルが存在しない旨のエラーを返す。
一方、ファイル保存日時管理表800のステータス欄にファイルの移動というステータスを追加し、WORMアーカイブサーバ20が当該ステータスを参照し、ファイルが移動された旨をクライアントプロセス100に通知することもできる。
また、ファイル保存日時管理表800に、ファイルの移動先欄を追加し、ファイルの移動先のWORMアーカイブサーバ20のアドレスを格納することもできる。この場合、クライアントプロセス100からファイルの読み出しを要求されたWORMアーカイブサーバ20がファイルの移動先欄を当該クライアントプロセス100に返送し、クライアントプロセス100が、改めて移動先のWORMアーカイブサーバ20に対してファイルの取得を要求するようにしてもよい。WORMアーカイブサーバ20が管理するストレージ30にファイルが存在しないケースとしては、ファイルの削除や移動の他に、クライアントの間違いなどにより、元々存在しないファイルの識別子やファイル名などが指定された場合も考えられる。この場合は、WORMアーカイブサーバ20はファイル識別子又はファイル名が存在しない旨のエラーをファイル読み出し要求元のクライアントプロセスに通知すればよい。
以上のように構成された本発明の第4の実施の形態のストレージシステムでは、ファイル保存日時管理表800にファイルの削除に関する情報を記録するので、当該削除されたファイルの読み出しを要求したクライアントプロセス100に対して、ファイルの削除に関する情報(ファイルの削除日時やファイルの移動先等)を返すことができるので、クライアントプロセス100は受け取ったファイルの削除に関する情報に基づいた適切な処置(ファイル削除者に対してファイルの取得要求、ファイルの移動先へのファイルの読み出し要求等)を行うことができる。
本発明の第1の実施の形態の、ストレージシステムの詳細な構成を示したブロック図である。 本発明の第1の実施の形態の、ファイル保存日時管理表800の内容の一例を示す表である。 本発明の第1の実施の形態の、プロセスごとファイル保存日時管理表500の内容の一例を示す表である。 本発明の第1の実施の形態の、ストレージシステムの処理を示すシーケンス図である。 本発明の第1の実施の形態の、ストレージシステムの処理を示す説明図である。 本発明の第1の実施の形態の、アーカイブ特定処理を示すフローチャートである。 本発明の第2の実施の形態の、ストレージシステムの構成を示すブロック図である。 本発明の第2の実施の形態の、コネクションごとファイル保存日時管理表450の一例を示す表である。 本発明の第2の実施の形態の、ストレージシステムの処理を示すシーケンス図である。 本発明の第2の実施の形態の、ストレージシステムの処理を示す説明図である。 本発明の第3の実施の形態の、ストレージシステムの処理を示す説明図である。 本発明の第4の実施の形態の、ファイル保存日時管理表800の一例を示す表である。
符号の説明
10 クライアントノード
15 ディスク装置
20 WORMアーカイブサーバ
30 ストレージ
40 ネットワーク
100 クライアントプロセス
400 WORMアーカイブクライアントライブラリ
410、450 日時添付モジュール
500 アーカイブ日時管理表
500 プロセスごとファイル保存日時管理表
550 コネクションごとファイル保存日時管理表
600 保存日時通知モジュール
700 ファイル特定モジュール
800 ファイル保存日時管理表

Claims (11)

  1. ファイルの書き込み及び/又は読み出しを要求するクライアントと、
    前記クライアントにネットワークを介して接続され、前記クライアントからの要求を処理するアーカイブサーバと、
    前記アーカイブサーバに接続され、ファイルを記録するストレージと、
    前記クライアントに接続された記憶装置と、を備えたストレージシステムであって;
    前記クライアントは、少なくとも一つ以上のクライアントプロセスと、アーカイブクライアントライブラリと、を備え、
    前記クライアントプロセスは、ファイル識別子、又は、ファイル名とアーカイブ日時との組、の少なくとも一方を含んだファイル読み出し要求を前記アーカイブサーバに対して送信し;
    前記アーカイブサーバは、
    前記クライアントプロセスから送信された前記読み出し要求を受信すると、該読み出し要求に含まれる前記ファイル識別子、又は、ファイル名とアーカイブ日時との組、の少なくとも一方から、前記アーカイブサーバにあらかじめ記憶されているファイル管理表を参照して、該読み出し要求に係るファイルを特定し、
    該特定されたファイルを前記ストレージから取得して、前記クライアントプロセスに送信し;
    前記アーカイブクライアントライブラリは、
    該ファイルのアーカイブ日時を前記アーカイブサーバから送信されたファイルから抽出すると共に前記ファイルを要求したクライアントプロセスの識別子を取得し、
    該抽出されたアーカイブ日時及び取得したプロセス識別子の組を保存日時管理表として前記記憶装置に記憶し、
    前記アーカイブサーバから取得したファイルに関連付けられたファイルのファイル名を含むファイル読み出し要求を受け取ると、自身のプロセス識別子を用いて保存日時管理表に記憶されたアーカイブ日時を取得し、当該取得したアーカイブ日時を前記ファイル読み出し要求に添付し、
    当該ファイル読み出し要求を前記アーカイブサーバに送信し;
    前記アーカイブサーバは、
    前記クライアントプロセスから送信された前記読み出し要求を受信すると、該読み出し要求に含まれるファイル名とアーカイブ日時とを取得し、
    前記取得したアーカイブ日時より前に記録された前記ファイル名で示されるファイルのうち最新のものを、前記ストレージに記録されているファイルから特定し、
    前記アーカイブサーバに記憶されているファイル管理表を参照して、該特定されたファイルを前記ストレージから取得して前記クライアントプロセスに送信することを特徴とするストレージシステム。
  2. ファイルの書き込み及び/又は読み出しを要求するクライアントと、
    前記クライアントにネットワークを介して接続され、前記クライアントからの要求を処理するアーカイブサーバと、
    前記アーカイブサーバに接続され、ファイルを記録するストレージと、
    前記クライアントに接続された記憶装置と、を備えたストレージシステムであって;
    前記クライアントは、少なくとも一つ以上のクライアントプロセスと、アーカイブクライアントライブラリと、を備え、
    前記クライアントプロセスは、ファイル識別子、又は、ファイル名とアーカイブ日時との組、の少なくとも一方を含んだファイル読み出し要求を、前記アーカイブサーバに対して送信し;
    前記アーカイブサーバは、
    前記クライアントプロセスから送信された前記読み出し要求を受信すると、該読み出し要求に含まれる前記ファイル識別子、又は、ファイル名とアーカイブ日時との組、の少なくとも一方から、前記アーカイブサーバにあらかじめ記憶されているファイル管理表を参照して、該読み出し要求に係るファイルを特定し、
    該特定されたファイルのアーカイブ日時と、前記クライアントプロセスからの要求に含まれるコネクション識別子との組を保存日時管理表として記憶し、
    該特定されたファイルを前記ストレージから取得して、前記クライアントプロセスに送信し;
    前記クライアントプロセスは、前記アーカイブサーバから取得したファイルに関連付けられたファイルのファイル名を含んだファイル読み出し要求を、前記アーカイブサーバに送信し;
    前記アーカイブサーバは、
    前記クライアントプロセスから送信された前記読み出し要求を受信すると、該読み出し要求に含まれるファイル名と、該読み出し要求のコネクション識別子とを取得し、
    前記保存日時管理表に記憶された、前記取得したコネクション識別子に対応するアーカイブ日時を取得し、
    前記受信した読み出し要求に該取得したアーカイブ日時を添付し、
    前記添付したアーカイブ日時よりも前に記録された前記ファイル名で示されるファイルのうち最新のものを、前記ストレージに記録されているファイルから特定し、
    前記アーカイブサーバに記憶されているファイル管理表を参照して、該特定されたファイルを前記ストレージから取得して前記クライアントプロセスに送信することを特徴とするストレージシステム。
  3. ファイルの書き込み及び/又は読み出しを要求するクライアントと、
    前記クライアントに接続され、前記クライアントからの要求を処理するファイル管理装置と、
    前記ファイル管理装置に接続され、ファイルを記録するストレージと、を備えるストレージシステムにおいて、
    前記クライアントは、ファイル名と該ファイルの保存日時を示す情報とを含んだファイルの読み出し要求を送信する読み出し要求部を備え、
    前記ファイル管理装置は、
    前記クライアントから受信した読み出し要求からファイルの保存日時を示す情報とファイル名とを抽出し、前記抽出された情報で示される保存日時より前に記録された前記ファイル名のファイルのうち最新のものを、前記ストレージに記録されているファイルから特定するファイル特定部と、
    当該特定されたファイルを、前記要求を送信したクライアントに送信するファイル送信部と、を備えることを特徴とするストレージシステム。
  4. 前記読み出し要求部は、前記クライアントが当該読み出し要求を送信する前に取得したファイルの保存日時を示す情報を含んだ読み出し要求を送信することを特徴とする請求項3に記載のストレージシステム。
  5. 前記クライアントでは一つ以上のクライアントプロセスが稼働しており、
    前記読み出し要求部は、前記プロセスが前記読み出し要求を送信する前に取得したファイルの保存日時を示す情報を含んだ読み出し要求を送信することを特徴とする請求項3に記載のストレージシステム。
  6. 前記クライアントでは一つ以上のクライアントプロセスが稼働しており、
    前記クライアントは、
    ファイル管理表を記憶する記憶装置と、
    前記読み出し要求にファイル保存日時を添付する日時添付部と、を備え、
    前記記憶装置には、前記プロセスが当該読み出し要求を送信する前に取得したファイルの保存日時と前記プロセスの識別子との組が保存日時管理表として記憶され、
    前記読み出し要求部は、ファイル名を含んだファイルの読み出し要求を送信し、
    前記日時添付部は、前記ファイル保存日時管理表から取得した、該読み出し要求を送信するプロセスの識別子に対応する前記ファイルの保存日時を該読み出し要求に添付することを特徴とする請求項3に記載のストレージシステム。
  7. ファイルの書き込み及び/又は読み出しを要求するクライアントと、
    前記クライアントに接続され、前記クライアントからの要求を処理するファイル管理装置と、
    前記ファイル管理装置に接続され、ファイルを記録するストレージと、を備えるストレージシステムにおいて、
    前記クライアントは、ファイル名を含んだファイルの読み出し要求を送信する読み出し要求部を備え、
    前記ファイル管理装置は、
    前記読み出し要求を送信する前に、前記クライアントが取得したファイルの保存日時と、前記読み出し要求に関連する識別子とを対応させて記録する保存日時記録部と、
    前記クライアントから送信されたファイルの読み出し要求を受信する受信部と、
    前記読み出し要求に含まれるファイル名と当該読み出し要求に関連する識別子とを取得し、前記取得した識別子に対応する保存日時を前記保存日時記録部から取得し、前記読み出し要求に該保存日時を添付する日時添付部と、
    前記取得した保存日時より前に記録された前記ファイル名のファイルのうち最新のものを、前記ストレージに記録されているファイルから特定するファイル特定部と、
    当該特定されたファイルを、前記要求を送信したクライアントに送信するファイル送信部と、を備えることを特徴とするストレージシステム。
  8. 前記読み出し要求に関連する識別子は、前記クライアントが前記ファイル管理装置に対する要求を送信する際に確立されるコネクションの識別子であることを特徴とする請求項7に記載のストレージシステム。
  9. ファイルの書き込み及び/又は読み出しを要求するクライアントと、
    前記クライアントに接続され、前記クライアントからの要求を処理するファイル管理装置と、
    前記ファイル管理装置に接続され、ファイルを記録するストレージと、を備えるストレージシステムにおいて、
    前記クライアントは、ファイル名及び前記クライアントによる指定日時を示す情報を含んだファイルの読み出し要求を送信する読み出し要求部を備え、
    前記ファイル管理装置は、
    前記クライアントから送信されたファイルの読み出し要求を受信する受信部と、
    前記読み出し要求に含まれるファイル名及び指定日時を取得し、前記取得した指定日時よりも前に記録された前記ファイル名のファイルのうち最新のものを、前記ストレージに記録されているファイルから特定するファイル特定部と、
    前記特定されたファイルを、前記要求を送信したクライアントに送信するファイル送信部と、を備えることを特徴とするストレージシステム。
  10. ファイルを記録するストレージに接続され、クライアントからのファイルの書き込み及び/又は読み出しの要求を処理するファイル管理装置において、
    前記クライアントから送信されたファイルの読み出し要求を受信する受信部と、
    前記読み出し要求に含まれるファイル名と該ファイルの保存日時を示す情報とを抽出し、前記抽出された情報で示される日時より前に記録された前記ファイル名のファイルのうち最新のものを、前記ストレージに記録されているファイルから特定するファイル特定部と、
    前記特定されたファイルを、前記要求を送信したクライアントに送信するファイル送信部と、を備えることを特徴とするファイル管理装置。
  11. ファイルを記録するストレージに接続され、クライアントからの前記ファイルの書き込み又は読み出しの要求を処理するファイル管理装置において、
    前記クライアントから送信されたファイルの読み出し要求を受信する受信部と、
    前記読み出し要求を送信する前に、前記クライアントが取得したファイルの保存日時と前記読み出し要求のコネクション識別子とを対応させて記録する保存日時記録部と、
    前記読み出し要求に含まれるファイル名とコネクション識別子とを取得し、前記取得したコネクション識別子に対応する保存日時を前記保存日時記録部から取得し、前記読み出し要求に該保存日時を添付する日時添付部と、
    前記取得した保存日時よりも前に記録された前記ファイル名のファイルのうち最新のものを、前記ストレージに記録されているファイルから特定するファイル特定部と、
    前記特定されたファイルを、前記要求を送信したクライアントに送信するファイル送信部と、を備えることを特徴とするファイル管理装置。
JP2004127113A 2004-04-22 2004-04-22 ストレージシステム及びファイル管理装置 Expired - Fee Related JP4491269B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004127113A JP4491269B2 (ja) 2004-04-22 2004-04-22 ストレージシステム及びファイル管理装置
US10/880,506 US7249119B2 (en) 2004-04-22 2004-07-01 System for managing access and storage of worm files without sending parameters for associated file access
US11/777,530 US7836023B2 (en) 2004-04-22 2007-07-13 System for managing access and storage of worm files without sending parameters for associated file access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004127113A JP4491269B2 (ja) 2004-04-22 2004-04-22 ストレージシステム及びファイル管理装置

Publications (2)

Publication Number Publication Date
JP2005309852A true JP2005309852A (ja) 2005-11-04
JP4491269B2 JP4491269B2 (ja) 2010-06-30

Family

ID=35137746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004127113A Expired - Fee Related JP4491269B2 (ja) 2004-04-22 2004-04-22 ストレージシステム及びファイル管理装置

Country Status (2)

Country Link
US (2) US7249119B2 (ja)
JP (1) JP4491269B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740134A (zh) * 2016-01-29 2016-07-06 浪潮(北京)电子信息产业有限公司 一种基于文件的测试方法及装置
JP2021103592A (ja) * 2016-10-26 2021-07-15 株式会社野村総合研究所 文書管理装置および文書管理方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4551172B2 (ja) * 2004-09-29 2010-09-22 富士通株式会社 電子文書保管装置、プログラム及び電子文書参照装置
US7698516B2 (en) * 2005-01-12 2010-04-13 Emc Corporation Methods and apparatus for managing deletion of data
US7917894B2 (en) * 2005-06-03 2011-03-29 International Business Machines Corporation Constraining source code and objects for analysis tools
US8903763B2 (en) 2006-02-21 2014-12-02 International Business Machines Corporation Method, system, and program product for transferring document attributes
CN101320367B (zh) * 2007-06-08 2011-06-22 鹏智科技(深圳)有限公司 文件处理装置及方法
US7958166B2 (en) * 2007-08-15 2011-06-07 Emc Corporation System and method for providing write-once-read-many (WORM) storage
JP2009059201A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd ファイルレベルの仮想化と移行を行う中間装置
JP5203767B2 (ja) * 2008-03-27 2013-06-05 キヤノン株式会社 データ処理装置およびデータ処理方法
US7979401B2 (en) * 2008-06-26 2011-07-12 International Business Macines Corporation Time based file system for continuous data protection
US8392481B2 (en) 2009-04-22 2013-03-05 International Business Machines Corporation Accessing snapshots of a time based file system
US20100318496A1 (en) * 2009-06-11 2010-12-16 Backa Bruce R System and Method for End-User Archiving
WO2011055412A1 (en) * 2009-11-06 2011-05-12 Hitachi, Ltd. File management sub-system and file migration control method in hierarchical file system
US20110276744A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
US9110936B2 (en) 2010-12-28 2015-08-18 Microsoft Technology Licensing, Llc Using index partitioning and reconciliation for data deduplication
US9122527B2 (en) * 2012-08-21 2015-09-01 International Business Machines Corporation Resource allocation for migration within a multi-tiered system
US9424432B2 (en) * 2012-09-20 2016-08-23 Nasdaq, Inc. Systems and methods for secure and persistent retention of sensitive information
KR101532263B1 (ko) * 2014-01-22 2015-06-30 전자부품연구원 프런트 엔드 어플리케이션 라이브러리를 이용한 클라우드 스토리지 서비스 방법 및 시스템
US10762041B2 (en) * 2015-08-31 2020-09-01 Netapp, Inc. Event based retention of read only files
US10482101B1 (en) * 2015-09-30 2019-11-19 EMC IP Holding Company LLC Method and system for optimizing data replication for large scale archives
CN114416728A (zh) * 2021-12-27 2022-04-29 炫彩互动网络科技有限公司 一种服务器存档及读档方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262058A (ja) * 1994-03-22 1995-10-13 Internatl Business Mach Corp <Ibm> データ記憶管理システム及び方法
JPH0844608A (ja) * 1994-08-01 1996-02-16 Canon Inc ファイル管理システムおよびその管理方法
JPH103420A (ja) * 1996-06-14 1998-01-06 Canon Inc アクセス制御システムおよびその方法
JP2000181777A (ja) * 1998-12-16 2000-06-30 Hitachi Ltd データベース−ファイル連携方法及び装置
JP2000261584A (ja) * 1999-03-10 2000-09-22 Sharp Corp 文書管理システム
JP2001027960A (ja) * 1999-07-15 2001-01-30 Ricoh Co Ltd 文書管理システムおよび文書管理方法
JP2002259131A (ja) * 2001-03-06 2002-09-13 Hitachi Ltd ソフトウェア提供システムおよび方法およびプログラム
JP2002359801A (ja) * 2001-03-08 2002-12-13 Thomson Licensing Sa HAVi環境における同期ファイル管理方法
JP2003150644A (ja) * 2001-11-09 2003-05-23 Tsuyuki Soft Laboratory Ltd 関係付け情報管理システム、関係付け情報管理用プログラム、及び記録媒体

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029125A (en) * 1989-03-07 1991-07-02 Drexler Technology Corporation Method of reading and writing files on nonerasable storage media
US5530899A (en) 1991-12-18 1996-06-25 Dmi, Inc. Archival and retrieval system accessing an external storage by polling internal queues from remote terminals minimizing interruption of a host processor
JPH0619771A (ja) * 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
US5495607A (en) 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
US5634122A (en) * 1994-12-30 1997-05-27 International Business Machines Corporation System and method for multi-level token management for distributed file systems
US6453325B1 (en) 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US5832263A (en) * 1996-03-15 1998-11-03 Digidox, Inc. System and method for in-place modification of information recorded in read-only storage using modifiable non-volatile storage associated with an agent
US5832563A (en) * 1996-05-28 1998-11-10 Simpson; Ronald Keith Forearm assistant device
US5956733A (en) 1996-10-01 1999-09-21 Fujitsu Limited Network archiver system and storage medium storing program to construct network archiver system
JPH11134234A (ja) * 1997-08-26 1999-05-21 Reliatec Ltd バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体
US20020065999A1 (en) * 1998-07-08 2002-05-30 Toshihiko Kikuchi Data backup system, method therefor and data storage
US6778346B2 (en) * 2000-03-30 2004-08-17 Sony Corporation Recording and reproducing apparatus and file managing method using the same
US6678700B1 (en) 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
JP2004280283A (ja) * 2003-03-13 2004-10-07 Hitachi Ltd 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法
US7590807B2 (en) * 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system
JP2005223863A (ja) * 2004-02-09 2005-08-18 Konica Minolta Business Technologies Inc 画像処理装置、画像処理方法ならびに画像処理プログラムおよびこれを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262058A (ja) * 1994-03-22 1995-10-13 Internatl Business Mach Corp <Ibm> データ記憶管理システム及び方法
JPH0844608A (ja) * 1994-08-01 1996-02-16 Canon Inc ファイル管理システムおよびその管理方法
JPH103420A (ja) * 1996-06-14 1998-01-06 Canon Inc アクセス制御システムおよびその方法
JP2000181777A (ja) * 1998-12-16 2000-06-30 Hitachi Ltd データベース−ファイル連携方法及び装置
JP2000261584A (ja) * 1999-03-10 2000-09-22 Sharp Corp 文書管理システム
JP2001027960A (ja) * 1999-07-15 2001-01-30 Ricoh Co Ltd 文書管理システムおよび文書管理方法
JP2002259131A (ja) * 2001-03-06 2002-09-13 Hitachi Ltd ソフトウェア提供システムおよび方法およびプログラム
JP2002359801A (ja) * 2001-03-08 2002-12-13 Thomson Licensing Sa HAVi環境における同期ファイル管理方法
JP2003150644A (ja) * 2001-11-09 2003-05-23 Tsuyuki Soft Laboratory Ltd 関係付け情報管理システム、関係付け情報管理用プログラム、及び記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740134A (zh) * 2016-01-29 2016-07-06 浪潮(北京)电子信息产业有限公司 一种基于文件的测试方法及装置
JP2021103592A (ja) * 2016-10-26 2021-07-15 株式会社野村総合研究所 文書管理装置および文書管理方法

Also Published As

Publication number Publication date
JP4491269B2 (ja) 2010-06-30
US7836023B2 (en) 2010-11-16
US20050240636A1 (en) 2005-10-27
US7249119B2 (en) 2007-07-24
US20080016149A1 (en) 2008-01-17

Similar Documents

Publication Publication Date Title
JP4491269B2 (ja) ストレージシステム及びファイル管理装置
US9183213B2 (en) Indirection objects in a cloud storage system
US8171100B2 (en) Reducing latency of access requests in distributed storage systems having a shared data set
US8190573B2 (en) File storage service system, file management device, file management method, ID denotative NAS server and file reading method
TWI476610B (zh) 同級間冗餘檔案伺服器系統及方法
US8041672B2 (en) Management device and computer system
US20070073831A1 (en) Providing direct access to distributed managed content
US20170091296A1 (en) Object storage backed file system
US20070299880A1 (en) Document Management Server, Document Management Method, Computer Readable Medium, Computer Data Signal, and System For Managing Document Use
US20140195516A1 (en) Systems and methods for presenting content items in a collections view
US9305012B2 (en) Method for data maintenance
CN102667772A (zh) 文件级分级存储管理系统、方法和设备
CN105808589A (zh) 文件处理的方法和装置
US20100115061A1 (en) Server system, server apparatus, program and method
US20130325932A1 (en) Electronic device and method for storing distributed documents
KR20100067976A (ko) 분산 저장된 컨텐츠 파일의 동기화 방법
JP5557824B2 (ja) 階層ファイルストレージに対する差分インデクシング方法
US20150106468A1 (en) Storage system and data access method
JP5241298B2 (ja) 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法
US7624106B1 (en) Method and apparatus for generating user-level difference information about two data sets
KR101272656B1 (ko) 태그 기반 파일 관리 방법 및 그 시스템
CN104281486B (zh) 一种虚拟机处理方法和装置
KR20070038665A (ko) 분산 파일 시스템 및 그 운용 방법
US20120005162A1 (en) Managing Copies of Data Structures in File Systems
JP2010287036A (ja) ストレージサーバー装置及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091228

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

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

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

Free format text: PAYMENT UNTIL: 20130409

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees