JP6591700B2 - システム、データ管理方法、及びファイルサーバ - Google Patents

システム、データ管理方法、及びファイルサーバ Download PDF

Info

Publication number
JP6591700B2
JP6591700B2 JP2018558565A JP2018558565A JP6591700B2 JP 6591700 B2 JP6591700 B2 JP 6591700B2 JP 2018558565 A JP2018558565 A JP 2018558565A JP 2018558565 A JP2018558565 A JP 2018558565A JP 6591700 B2 JP6591700 B2 JP 6591700B2
Authority
JP
Japan
Prior art keywords
data
processor
storage device
client terminal
request
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.)
Active
Application number
JP2018558565A
Other languages
English (en)
Other versions
JPWO2018122961A1 (ja
Inventor
田村 淳
淳 田村
尚人 上田
尚人 上田
信之 雜賀
信之 雜賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2018122961A1 publication Critical patent/JPWO2018122961A1/ja
Application granted granted Critical
Publication of JP6591700B2 publication Critical patent/JP6591700B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ネットワークを介して複数の端末がアクセス可能なシステムにおけるデータの制御に関する。
近年、オンプレミス型システムからクラウド型システムへの移行が行われている。例えば、クラウド型システムを用いてストレージシステムを提供するサービスが存在する。当該サービスでは、ユーザは、会社の端末を用いて、ネットワーク経由でストレージシステムにアクセスする。
クラウド型システムを利用したストレージシステムの場合、アクセス速度が遅くなるという問題がある。これを解決する手段として特許文献1に記載の技術が知られている。特許文献1には、「リモートの記憶デバイスを管理するリモートのファイルサーバと、ローカルの記憶デバイスを管理するローカルのファイルサーバとが、通信ネットワーク(例えばインターネット)に接続されている。ローカルのファイルサーバが、(A)ローカルの記憶デバイス内のファイルをリモートのファイルサーバにレプリケーションし、(B)第1の条件が満たされた場合に、レプリケーションされたファイルであるレプリケーション済みファイルを、マイグレーション対象ファイルとして管理する。ローカルのファイルサーバは、(B)が完了してもマイグレーション対象ファイルをローカルの記憶デバイスから削除せず、第2の条件が満たされた場合に、マイグレーション対象ファイルをローカルの記憶デバイスから削除する。」ことが記載されている。
国際公開第2011/148496号
特許文献1の技術では、原則、全てのファイルがローカルのファイルサーバに格納され、特定の条件を満たす場合にマイグレーション対象のファイルがリモートのファイルサーバにマイグレーションされる。しかし、特許文献1の技術を用いた場合、特定の条件が成立するまでローカルのファイルサーバにファイルが格納されるためローカルのファイルサーバの記憶容量が不足し、また、リモートのファイルサーバを有効に利用できていないという問題がある。
本発明は、ファイルへのアクセス速度を低下させることなく、オンプレミス型システム及びクラウド型システムを有効に活用したデータの管理を実現する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のクライアント端末が接続されるファイルサーバ、及び前記ファイルサーバとネットワークを介して接続されるアーカイブサーバを備えるシステムであって、前記ファイルサーバは、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続される第1の記憶装置、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、前記アーカイブサーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2の記憶装置、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、前記第1のプロセッサは、前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供し、クライアント端末から、第1の格納領域に第1のデータを格納するための追加要求を受信した場合、前記第1の格納領域の属性に基づいて、前記第1のデータを前記第1の記憶装置に格納するか否かを判定し、前記追加要求を前記アーカイブサーバに送信し、前記第2のプロセッサは、前記追加要求を受信した場合、前記第2の記憶装置に前記第1のデータを格納することを特徴とする。
本発明によれば、ネットワークを介した通信が頻繁に発生するデータがローカルのファイルサーバに自動的に格納される。これによって、ネットワークを介して通信を削減し、かつ、オンプレミス型システム及びクラウド型システムを有効に活用したデータの管理を実現できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
実施例1のシステムのハードウェア構成の一例を示す図である。 実施例1のシステムのソフトウェア構成の一例を示す図である。 実施例1のログ管理情報の一例を示す図である。 実施例1のHTTPヘッダの一例を示す図である。 実施例1のUser−Agentから取得される情報の一例を示す図である。 実施例1のUser−Agentから取得される情報の一例を示す図である。 実施例1のUser−Agentから取得される情報の一例を示す図である。 実施例1のアクセス分析情報の一例を示す図である。 実施例1のスタブ化条件情報の一例を示す図である。 実施例1のデバイス分類情報の一例を示す図である。 実施例1のファイル作成時におけるシステムの処理の流れを説明するシーケンス図である。 実施例1のファイル更新時におけるシステムの処理の流れを説明するシーケンス図である。 実施例1のファイル参照時におけるシステムの処理の流れを説明するシーケンス図である。 実施例1のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。 実施例1のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。 実施例1のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。 実施例1のファイルサーバがアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。 実施例1のファイルサーバが実行するスタブ化処理の一例を示すフローチャートである。
以下の説明では、「AAA情報」は、データ構造に限定されない情報を示す。なお、データ構造としては、テーブル形式及びCSV形式等が考えられる。
また、以下の説明では、「AAAモジュール」は、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)等のプロセッサが当該モジュールを実現するプログラムにしたがって動作することによって実現される。なお、モジュールが有する機能の全部又は一部は、ハードウェアを用いて実現してもよい。また、モジュールが有する複数の機能を別々のプログラムを用いて実現してもよい。
以下、本発明の実施例について図面を参照して詳細に説明する。各図において共通の構成には同一の参照符号が付されている。
図1は、実施例1のシステムのハードウェア構成の一例を示す図である。図2は、実施例1のシステムのソフトウェア構成の一例を示す図である。
実施例1のシステムは、拠点10及びデータセンタ11から構成される。拠点10及びデータセンタ11は、ネットワーク190を介して接続される。ネットワーク190は、WAN(Wide Area Network)、LAN(Local Area Network)、及びインターネット等が考えられる。なお、本実施例は、ネットワーク190の種別に限定されない。また、本実施例は、ネットワーク190の接続方式に限定されず、有線又は無線のいずれでもよい。
拠点10は、オンプレミス型システムに対応するシステムであり、複数のクライアント端末100、ストレージシステム110、及びファイルサーバ120を含む。複数のクライアント端末100、ストレージシステム110、及びファイルサーバ120は、内部ネットワークを介して接続される。内部ネットワークは、例えば、LAN等が考えられる。なお、本実施例は、内部ネットワークの種別及び接続方式に限定されない。
データセンタ11は、クラウド型システムに対応するシステムであり、ゲートウェイサーバ130、アーカイブサーバ140、及びストレージシステム150を含む。ゲートウェイサーバ130、アーカイブサーバ140、及びストレージシステム150は、内部ネットワークを介して接続される。内部ネットワークは、例えば、LAN等が考えられる。なお、本実施例は、内部ネットワークの種別及び接続方式に限定されない。
クライアント端末100は、ユーザが使用する端末である。クライアント端末100は、CPU(Central Processing Unit)101、メモリ102、HDD(Hard Disk Drive)103、及びNIC(Network Interface Card)104を有する。
CPU101は、メモリ102に格納されるプログラムを実行する。CPU101は、プログラムにしたがって処理を実行することによって特定の機能を有するモジュールとして動作する。
メモリ102は、CPU101が実行するプログラム及び当該プログラムが使用する情報を格納する。また、メモリ102は、一時的に使用されるワークエリア等の記憶領域を含む。
HDD103は、データを永続的に格納する。メモリ102に格納されるプログラム及び情報は、HDD103に格納されてよい。この場合、CPU101が、HDD103からプログラム及び情報を読み出し、メモリ102にプログラム及び情報をロードし、メモリ102にロードされたプログラムを実行する。なお、クライアント端末100は、HDD103の代わりにSSD(Solid State Drive)及び不揮発性メモリ等の記憶装置を有してもよい。
NIC104は、ネットワークを介して他の装置と接続するためのインタフェースである。
メモリ102は、OS201及びアプリケーション202を実現するプログラムを格納する。
OS201は、クライアント端末100全体を制御する。OS201は、データの格納領域であるディレクトリ(フォルダ)を管理するファイルシステムを含む。アプリケーション202は、ストレージシステム110、150に格納されるデータを用いて所定の処理を実行する。なお、本実施例は、アプリケーション202の種類及び処理内容に限定されない。
本実施例の拠点10は、デバイス種別が異なるクライアント端末100を含む。具体的には、パーソナルコンピュータ及びスマートデバイスの二つのデバイス種別のクライアント端末100が存在する。なお、スマートデバイスには、スマートフォン及びタブレット端末等が含まれる。
ストレージシステム110は、クライアント端末100が使用するデータを格納するローカル側の計算機である。ストレージシステム110は、コントローラ111、HDD112、及びCHA(Channel Adapter)113を有する。HDD112は、HDD103と同様のものである。
コントローラ111は、図示しないCPU及びメモリを含み、ストレージシステム110全体を制御する。CHA113は、ファイルサーバ120等の外部装置と接続するためのインタフェースである。
コントローラ111に含まれるメモリには、ストレージシステム110全体を制御するOS等のプログラムが格納される。
ストレージシステム110は、HDD112を用いてRAIDボリュームを生成し、さらに、RAIDボリュームを分割することによってLU210を生成する。ストレージシステム110は、クライアント端末100が使用する記憶領域としてLU210を提供する。
ファイルサーバ120は、複数のクライアント端末100が使用するデータ(ファイル)を管理する計算機である。ファイルサーバ120は、CPU121、メモリ122、HDD123、NIC124、及びHBA(Host Bus Adapter)125を有する。
CPU121、メモリ122、HDD123、及びNIC124は、CPU101、メモリ102、HDD103、及びNIC104と同様のものである。
HBA125は、ストレージシステム110等の外部記憶装置と接続するためのインタフェースである。
メモリ122は、OS221、データムーバモジュール222、ファイル共有モジュール223、及びHTTPサーバモジュール224を実現するプログラムを格納し、また、ログ管理情報225、アクセス分析情報226、及びポリシ管理情報227を格納する。
OS221は、OS201と同様のものである。
データムーバモジュール222は、拠点10及びデータセンタ11間のデータの移動を制御する。
ファイル共有モジュール223は、CIFS(Common Internet File System)及びNFS(Network File System)等のプロトコルを用いたファイル共有機能を有する。ファイル共有モジュール223は、クライアント端末100がマウント可能なディレクトリ、すなわち、認識可能な記憶領域を提供する。
HTTPサーバモジュール224は、HTTP(Hypertext Transfer Protocol)に基づいた通信を行う。
ログ管理情報225は、ファイルに対するアクセスログを格納する。本実施例のログ管理情報225は、HTTPサーバモジュール224によって生成される。ログ管理情報225の詳細は、図3を用いて説明する。
アクセス分析情報226は、データムーバモジュール222が実行するログ管理情報225の解析処理によって生成される情報である。アクセス分析情報226の詳細は、図6を用いて説明する。
ポリシ管理情報227は、拠点10に格納されるデータ(ファイル)のスタブ化処理を制御するためのポリシを格納する。ポリシ管理情報227は予め設定される情報であり、適宜更新できる。ポリシ管理情報227の詳細は、図7を用いて説明する。なお、スタブ化処理は、データの実体部分を記憶装置から削除し、データの格納先の情報に関連するメタデータのみを記憶装置に格納するための処理である。
ゲートウェイサーバ130は、ネットワークを介してデータ(ファイル)の同期及び共有を実現する計算機である。ゲートウェイサーバ130は、CPU131、メモリ132、HDD133、NIC134、及びHBA135を有する。CPU131、メモリ132、HDD133、NIC134、及びHBA135は、CPU121、メモリ122、HDD123、NIC124、及びHBA125と同様のものである。
メモリ132は、OS231及びHTTPサーバモジュール232を実現するプログラムを格納する。OS231及びHTTPサーバモジュール232は、OS221及びHTTPサーバモジュール224と同様のものである。
アーカイブサーバ140は、データを格納する計算機であり、ストレージシステム150に対するデータの書込処理及びデータの読出処理を実行する。アーカイブサーバ140は、CPU141、メモリ142、HDD143、NIC144、及びHBA145を有する。CPU141、メモリ142、HDD143、NIC144、及びHBA145は、CPU121、メモリ122、HDD123、NIC124、及びHBA125と同様のものである。
メモリ142は、OS241及びアーカイブモジュール242を実現するプログラムを格納する。OS241はOS201と同様のものである。
アーカイブモジュール242は、拠点10から送信されたアクセス要求に基づいて、ストレージシステム150に対するアクセスを制御する。
ストレージシステム150は、クライアント端末100が使用するデータを格納するリモート側の計算機である。ストレージシステム150は、コントローラ151、HDD152、及びCHA153を有する。コントローラ151、HDD152、及びCHA153は、コントローラ111、HDD112、及びCHA113と同様のものである。
ストレージシステム150は、ストレージシステム110と同様にLU250を生成し、クライアント端末100が使用する記憶領域としてLU250を提供する。
本実施例のデータセンタ11は、ゲートウェイサーバ130、アーカイブサーバ140、及びストレージシステム150を別々の装置として有しているが、ネットワークを介してデータの書込処理及び読出処理を実現できる装置構成であればよい。例えば、アーカイブサーバ140がゲートウェイサーバ130及びストレージシステム150の機能を有する構成でもよい。
図3は、実施例1のログ管理情報225の一例を示す図である。図4は、実施例1のHTTPヘッダの一例を示す図である。図5A、図5B、及び図5Cは、実施例1のUser−Agentから取得される情報の一例を示す図である。
ログ管理情報225は、日時301、アクセス先IPアドレス302、要求種別303、要求URL304、及びヘッダ情報305から構成されるエントリを含む。一つエントリが一つのアクセスログに対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。
日時301は、ファイルサーバ120がアクセス要求を受信した日時である。なお、日時301には、アクセス要求が発行された日時が格納されてもよい。
アクセス先IPアドレス302は、アクセス先の装置のIPアドレスである。
要求種別303は、アクセス要求の種別である。例えば、要求種別303には、「PUT」、「POST」、及び「GET」等のHTTPのメソッドの種別が格納される。
要求URL304は、アクセス対象のデータ(ファイル)の格納先を示すURLである。当該URLには、データが格納されるディレクトリの名称が含まれる。例えば、図3に示す例では、URLにディレクトリ名「dir1」が含まれる。なお、データの格納先を示す情報は、URL以外の情報でもよい。
ヘッダ情報305は、アクセス要求に含まれるHTTPヘッダから取得された情報である。本実施例のヘッダ情報305は、クライアント端末100のデバイス種別等を特定するための値を格納するフィールドを含む。具体的には、ヘッダ情報305は、デバイス名306、OS307、及びブラウザ名308を含む。
デバイス名306は、アクセス要求を発行したクライアント端末100のデバイス種別である。OS307は、アクセス要求を発行したクライアント端末100上で稼働するOS201の種別である。ブラウザ名308は、アクセス要求を発行したクライアント端末100が要求URL304へアクセスするために用いたブラウザの種別である。
ここで、図4を用いてHTTPヘッダについて説明する。HTTPヘッダ400は、Accept401、Referer402、Accept−Language403、User−Agent404、Accept−Encoding405、Host406、DNT407、Connection408、及びCookie409を含む。なお、前述したHTTPヘッダ400は、一例として一部のフィールドを示している。
Accept401は、ブラウザが受信可能なデータ形式を示すフィールドである。Referer402は、現在のページを取得するときに使用されたリンクを含むページの情報(URL)を示すフィールドである。Accept−Language403は、ブラウザが受信可能な言語を示すフィールドである。User−Agent404は、ブラウザ及びOSの種別等の情報を示すフィールドである。Accept−Encoding405は、ブラウザが受信可能なエンコード方式を示すフィールドである。Host406は、リクエスト先のサーバの名称を示すフィールドである。DNT407は、トラッキングの可否を示すフィールドである。Connection408は、応答送信後にTCPコネクションを切断するか否か等の通信オプションを示すフィールドである。Cookie409は、ブラウザに保存されているクッキーデータを示すフィールドである。
図5A、図5B、及び図5Cに示すように、User−Agent404には、枠501、枠502、及び枠503に示すような文字列が含まれる。枠501は、クライアント端末100のデバイス種別を表す文字列である。枠502は、OSの種別を表す文字列である。また、枠503は、ブラウザの種別を表す文字列である。なお、クライアント端末100がパーソナルコンピュータである場合、User−Agent404には枠501が含まれなくてもよい。
本実施例では、User−Agent404から取得した値がヘッダ情報305に格納される。
図6は、実施例1のアクセス分析情報226の一例を示す図である。
アクセス分析情報226は、ディレクトリ601、PCアクセス数602、スマートデバイスアクセス数603、及びスマートデバイス占有率604から構成されるエントリを含む。一つのエントリが一つのディレクトリに対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。
ディレクトリ601は、ディレクトリの名称である。
PCアクセス数602は、パーソナルコンピュータがディレクトリ601に対応するディレクトリに格納されるデータにアクセスした回数である。
スマートデバイスアクセス数603は、スマートデバイスがディレクトリ601に対応するディレクトリに格納されるデータにアクセスした回数である。
スマートデバイス占有率604は、ディレクトリの全アクセス数のうちスマートデバイスのアクセスが占める割合である。具体的には、式(1)に基づいて算出される値がスマートデバイス占有率604に格納される。
Figure 0006591700
図7は、実施例1のスタブ化条件情報228の一例を示す図である。
スタブ化条件情報228は、ID701、スタブ化条件702、及びスタブ化対象703から構成されるエントリを含む。一つのエントリが一つのポリシに対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。
ID701は、スタブ化条件情報228に含まれるエントリを一意に識別するための識別情報である。本実施例のID701には、「1」から順に数値が設定される。
スタブ化条件702は、データのスタブ化処理の実行契機を定義する条件である。本実施例では、ID701が「1」であるポリシから順に適用される。なお、各ポリシは、他のポリシと依存しないように設定されてもよい。
スタブ化対象703は、スタブ化処理の対象となるデータ(ファイル)を選択するための条件である。本実施例では、ディレクトリ単位にスタブ化処理の対象となるデータ(ファイル)が選択される。また、本実施例では、スマートデバイス占有率604の値にしたがって、スタブ化処理の対象となるデータ(ファイル)が選択される。具体的には、スマートデバイス占有率604が低いデータ(ファイル)から順にスタブ化処理の対象となるデータ(ファイル)が選択される。
スマートデバイスが保持できるデータの容量は、パーソナルコンピュータより小さいため、頻繁にデータ(ファイル)へのアクセスが発生する。また、スマートデバイス占有率604の値が大きいディレクトリに格納されるデータ(ファイル)は、スマートデバイスが頻繁にアクセスするデータ(ファイル)であることを示す。したがって、スマートデバイス占有率604の値が大きいデータ(ファイル)に対してスタブ化処理が実行された場合、ネットワーク190を介した通信量が増大する。そこで、本実施例では、クライアント端末100のデバイス種別のアクセス傾向に応じて、ファイルサーバ120が保持するデータ(ファイル)を選択する。
図8は、実施例1のデバイス分類情報229の一例を示す図である。
デバイス分類情報229は、ID801、分類条件802、及び種別803から構成されるエントリを含む。一つのエントリが一つの分類条件に対応する。なお、エントリは、前述した以外のフィールドを含んでもよい。
ID801は、デバイス分類情報229に含まれるエントリを一意に識別するための識別情報である。本実施例のID801には、「1」から順に数値が設定される。
分類条件802は、クライアント端末100のデバイス種別を分類するための条件である。本実施例の分類条件802には、User−Agent404に含まれる文字列が条件として設定される。
種別803は、分類条件802に合致したクライアント端末100のデバイス種別である。
図9は、実施例1のファイル作成時におけるシステムの処理の流れを説明するシーケンス図である。
クライアント端末A100が、グループ共有用のディレクトリに格納するファイルAを作成し(ステップS101)、当該ディレクトリへファイルAを追加するための追加要求をファイルサーバ120に送信する(ステップS102)。追加要求は、HTTPにしたがって送信され、また、ファイルAが含まれる。
ファイルサーバ120のHTTPサーバモジュール224は、追加要求を受信した場合、アクセスログを取得し(ステップS103)、ログ管理情報225に取得したアクセスログを登録する。具体的には、以下のような処理が実行される。
HTTPサーバモジュール224は、ログ管理情報225にエントリを追加し、追加されたエントリの日時301に追加要求を受信した日時を設定し、また、要求種別303に「POST」を設定する。
HTTPサーバモジュール224は、IPヘッダからアクセス先のIPアドレスを取得し、追加されたエントリのアクセス先IPアドレス302に取得したIPアドレスを設定する。また、HTTPサーバモジュール224は、HTTPヘッダのUser−Agentから値を取得し、追加されたエントリのヘッダ情報305に取得した値を設定する。以上が、ステップS103の処理の説明である。
ファイルサーバ120のHTTPサーバモジュール224は、追加要求をデータムーバモジュール222に送信する(ステップS104)。
ファイルサーバ120のデータムーバモジュール222は、追加要求を受信した場合、ファイルAの格納先のディレクトリがグループ共有用のディレクトリであるか否かを判定する。ここでは、ファイルAの格納先のディレクトリは共有用のディレクトリであるため、ファイルサーバ120のデータムーバモジュール222は、ファイルAをストレージシステム110に格納する(ステップS105)。
ファイルサーバ120のデータムーバモジュール222は、追加要求をゲートウェイサーバ130に送信する(ステップS106)。
ゲートウェイサーバ130のHTTPサーバモジュール232は、追加要求を受信した場合、アーカイブサーバ140に格納要求を送信する(ステップS107)。格納要求には、ファイルA及び格納先を示す情報等が含まれる。
アーカイブサーバ140のアーカイブモジュール242は、格納要求を受信した場合、ストレージシステム150にファイルAの書込要求を送信することによって、ファイルAをストレージシステム150に格納する(ステップS108)。また、アーカイブサーバ140のアーカイブモジュール242は、ゲートウェイサーバ130に格納要求の完了通知を送信する(ステップS109)。
ゲートウェイサーバ130のHTTPサーバモジュール232は、格納要求の完了通知を受信した場合、追加要求の完了通知をファイルサーバ120に送信する(ステップS110)。
ファイルサーバ120のデータムーバモジュール222は、追加要求の完了通知を受信した場合、ファイルAの格納先のディレクトリのグループに含まれるクライアント端末100に、HTTPサーバモジュール224を介してファイルAを送信する(ステップS111)。本実施例では、クライアント端末B100及びクライアント端末X100にファイルAが送信される。このように、グループ共有用のディレクトリにデータ(ファイル)を追加した場合、ファイルサーバ120が保持するデータ(ファイル)がグループに含まれるクライアント端末100に送信される。そのため、ファイル共有に伴うネットワーク190の負荷を低減することができる。
なお、ファイルサーバ120が追加要求を受信した場合の処理の詳細は、図12A及び図12Bを用いて説明する。
図10は、実施例1のファイル更新時におけるシステムの処理の流れを説明するシーケンス図である。
クライアント端末A100は、グループ共有用のディレクトリに格納されるファイルAを更新する(ステップS201)。具体的には、クライアント端末A100は、HDD103に格納されるファイルAを更新する。クライアント端末A100は、同期要求をファイルサーバ120に送信する(ステップS202)。同期要求は、HTTPにしたがって送信され、また、更新されたファイルAを含む。
ファイルサーバ120のHTTPサーバモジュール224は、同期要求を受信した場合、アクセスログを取得する(ステップS203)。ステップS203の処理はステップS103と同様であるため説明を省略する。なお、要求種別303には「PUT」が設定される。
ファイルサーバ120のHTTPサーバモジュール224は、同期要求をデータムーバモジュール222に送信する(ステップS204)。
ファイルサーバ120のデータムーバモジュール222は、同期要求を受信した場合、ストレージシステム110にファイルAが格納されているか否かを判定する。ここでは、ストレージシステム110にファイルAが格納されているものとする。したがって、ファイルサーバ120のデータムーバモジュール222は、ストレージシステム110に格納されるファイルAを更新する(ステップS205)。
ファイルサーバ120のデータムーバモジュール222は、同期要求をゲートウェイサーバ130に送信する(ステップS206)。
ゲートウェイサーバ130のHTTPサーバモジュール232は、同期要求を受信した場合、アーカイブサーバ140に同期要求を送信する(ステップS207)。
アーカイブサーバ140のアーカイブモジュール242は、同期要求を受信した場合、ストレージシステム150に更新されたファイルAの書込要求を送信することによって、更新されたファイルAをストレージシステム150に格納する(ステップS208)。また、アーカイブサーバ140のアーカイブモジュール242は、ゲートウェイサーバ130に同期要求の完了通知を送信する(ステップS209)。
ゲートウェイサーバ130のHTTPサーバモジュール232は、同期要求の完了通知を受信した場合、同期要求の完了通知をファイルサーバ120に送信する(ステップS210)。
ファイルサーバ120のデータムーバモジュール222は、同期要求の完了通知を受信した場合、ファイルAの格納先のディレクトリのグループに含まれるクライアント端末100に、HTTPサーバモジュール224を介してファイルAを送信する(ステップS211)。本実施例では、クライアント端末B100及びクライアント端末X100に更新されたファイルAが送信される。
なお、ファイルサーバ120が同期要求を受信した場合の処理の詳細は、図12A及び図12Cを用いて説明する。
図11は、実施例1のファイル参照時におけるシステムの処理の流れを説明するシーケンス図である。
クライアント端末A100は、ファイルAを参照するための参照要求をファイルサーバ120に送信する(ステップS301)。参照要求は、HTTPにしたがって送信され、ファイルAの格納先を示すURL等が含まれる。
ファイルサーバ120のHTTPサーバモジュール224は、参照要求を受信した場合、アクセスログを取得する(ステップS302)。ステップS302の処理はステップS103と同様であるため説明を省略する。なお、要求種別303には「GET」が設定される。
ファイルサーバ120のHTTPサーバモジュール224は、参照要求をデータムーバモジュール222に送信する(ステップS303)。
ファイルサーバ120のデータムーバモジュール222は、参照要求を受信した場合、ストレージシステム110にファイルAが格納されているか否かを判定する。判定結果によって、(ケース1)又は(ケース2)のいずれかの処理が実行される。
(ケース1)
ストレージシステム110にファイルAが格納されていない場合、ファイルサーバ120のデータムーバモジュール222は、ファイルAを取得するための取得要求をゲートウェイサーバ130に送信する(ステップS304)。ゲートウェイサーバ130のHTTPサーバモジュール232は、取得要求を受信した場合、当該取得要求をアーカイブサーバ140に転送する(ステップS305)。アーカイブサーバ140のアーカイブモジュール242は、ストレージシステム150からファイルAを取得し、取得したファイルAをゲートウェイサーバ130を介してファイルサーバ120に送信する(ステップS306)。ファイルサーバ120のデータムーバモジュール222は、ファイルAを受信した場合、HTTPサーバモジュール224を介して、クライアント端末A100にファイルAを送信する(ステップS307)。
(ケース2)
ストレージシステム110にファイルAが格納されている場合、ファイルサーバ120のデータムーバモジュール222は、ストレージシステム110からファイルAを読み出す(ステップS308)。ファイルサーバ120のデータムーバモジュール222は、HTTPサーバモジュール224を介して、クライアント端末A100にファイルAを送信する(ステップS309)。
図12A、図12B、図12C、及び図12Dは、実施例1のファイルサーバ120がアクセス要求を受信した場合に実行する処理の一例を示すフローチャートである。
ファイルサーバ120は、クライアント端末100からアクセス要求を受信した場合(ステップS401)、当該アクセス要求からアクセスログを取得する(ステップS402)。
具体的には、HTTPサーバモジュール224がアクセス要求に対応するアクセスログをログ管理情報225に追加する。なお、具体的な処理は、ステップS103で説明したため説明を省略する。
次に、ファイルサーバ120は、アクセス要求が追加要求であるか否かを判定する(ステップS403)。
具体的には、HTTPサーバモジュール224がアクセス要求の種別を判別し、その後、データムーバモジュール222を呼び出す。このとき、HTTPサーバモジュール224は、データムーバモジュール222にアクセス要求の種別を入力する。これによって、データムーバモジュール222は、アクセス要求の種別を判別できる。
アクセス要求が追加要求であると判定された場合、ファイルサーバ120は、データ(ファイル)の格納先のディレクトリがグループ共有用のディレクトリであるか否かを判定する(ステップS411)。
具体的には、データムーバモジュール222は、ディレクトリの定義情報を参照し、データ(ファイル)が格納されるディレクトリがグループ共有用のディレクトリであるか否かを判定する。なお、ディレクトリの定義情報は、ファイル共有モジュール223及びOS221のいずれかによって管理される情報であり、ディレクトリのアクセス権限等に関する情報を含む。
データ(ファイル)が格納されるディレクトリがグループ共有用のディレクトリであると判定された場合、ファイルサーバ120は、データ(ファイル)をストレージシステム110に保存し(ステップS412)、ゲートウェイサーバ130に追加要求を送信する(ステップS413)。
具体的には、データムーバモジュール222が、ストレージシステム110にデータ(ファイル)の格納要求を送信し、また、ゲートウェイサーバ130に追加要求を送信する。
ファイルサーバ120は、ゲートウェイサーバ130から追加要求の完了通知を受信した後(ステップS414)、データ(ファイル)が格納されるディレクトリのグループに含まれるクライアント端末100に追加されたデータ(ファイル)を送信する(ステップS415)。その後、ファイルサーバ120は処理を終了する。
ステップS411において、データ(ファイル)が格納されるディレクトリがグループ共有用のディレクトリではないと判定された場合、ファイルサーバ120は、ゲートウェイサーバ130に追加要求を送信し(ステップS416)、また、ゲートウェイサーバ130から追加要求の完了通知を受信する(ステップS417)。その後、ファイルサーバ120は処理を終了する。
ステップS403において、アクセス要求が追加要求でないと判定された場合、ファイルサーバ120は、アクセス要求が同期要求であるか否かを判定する(ステップS404)。
アクセス要求が同期要求であると判定された場合、ファイルサーバ120は、更新対象のデータ(ファイル)がストレージシステム110に格納されているか否かを判定する(ステップS421)。
例えば、データムーバモジュール222は、ストレージシステム110に問合せを行うことによってステップS421の判定を行う。また、データムーバモジュール222がストレージシステム110に格納されるデータ(ファイル)のリンク情報を保持する場合には、当該リンク情報に基づいてステップS421の判定を行う。
なお、データ(ファイル)のメタデータのみが格納される場合、データムーバモジュール222は、更新対象のデータ(ファイル)がストレージシステム110に格納されていると判定する。
更新対象のデータ(ファイル)がストレージシステム110に格納されていると判定された場合、ファイルサーバ120は、ストレージシステム110に格納されるデータ(ファイル)を更新し(ステップS422)、同期要求をゲートウェイサーバ130に送信する(ステップS423)。
具体的には、データムーバモジュール222が、データ(ファイル)の書込要求をストレージシステム110に送信する。なお、データ(ファイル)のメタデータのみが格納される場合、メタデータ及びデータ本体がストレージシステム110に保存される。
ファイルサーバ120は、ゲートウェイサーバ130から同期要求の完了通知を受信した場合(ステップS424)、当該データ(ファイル)が格納されるディレクトリのグループに含まれるクライアント端末100に、ストレージシステム110に格納される更新されたデータ(ファイル)を送信する(ステップS425)。その後、ファイルサーバ120は処理を終了する。
ステップS421において、更新対象のデータ(ファイル)がストレージシステム110に格納されていないと判定された場合、ファイルサーバ120は、同期要求をゲートウェイサーバ130に送信し(ステップS426)、ゲートウェイサーバ130から同期要求の完了通知を受信する(ステップS427)。その後、ファイルサーバ120は処理を終了する。
ステップS404において、アクセス要求が参照要求であると判定された場合、ファイルサーバ120は、読出対象のデータ(ファイル)がストレージシステム110に格納されているか否かを判定する(ステップS431)。ステップS431の処理は、ステップS421と同様の処理である。ただし、データ(ファイル)のメタデータのみが格納される場合、データムーバモジュール222は、読出対象のデータ(ファイル)がストレージシステム110に格納されていないと判定する。
読出対象のデータ(ファイル)がストレージシステム110に格納されていると判定された場合、ファイルサーバ120は、ストレージシステム110からデータ(ファイル)を読み出し(ステップS432)、その後、ステップS433に進む。
読出対象のデータ(ファイル)がストレージシステム110に格納されていないと判定された場合、ファイルサーバ120は、読出対象のデータ(ファイル)を取得するための取得要求をゲートウェイサーバ130に送信し(ステップS434)、ゲートウェイサーバ130から読出対象のデータ(ファイル)を取得する(ステップS435)。その後、ファイルサーバ120は、ステップS433に進む。
ステップS432又はステップS435の処理が完了した後、ファイルサーバ120は、クライアント端末100に読出対象のデータ(ファイル)を送信する(ステップS433)。
図13は、実施例1のファイルサーバ120が実行するスタブ化処理の一例を示すフローチャートである。
ファイルサーバ120のデータムーバモジュール222は、周期的に、スタブ化処理を実行する。なお、本実施例はスタブ化処理の実行契機に限定されない。例えば、アクセス要求を受信した場合、又は、ストレージシステム110にデータが格納された場合に、データムーバモジュール222がスタブ化処理を実行してもよい。
データムーバモジュール222は、ログ管理情報225及びデバイス分類情報229を用いて、アクセス分析情報226を生成する(ステップS501)。具体的には、以下のような処理が実行される。
(手順1)データムーバモジュール222は、アクセス分析情報226を初期化する。
(手順2)データムーバモジュール222は、ログ管理情報225の各エントリを参照し、アクセス先のディレクトリを特定する。データムーバモジュール222は、アクセス分析情報226に、特定されたディレクトリの数だけエントリを追加し、追加されたエントリのディレクトリ601に特定されたディレクトリの名称を設定する。
(手順3)データムーバモジュール222は、特定されたディレクトリの中からターゲットディレクトリを選択する。データムーバモジュール222は、ログ管理情報225の要求URLを参照し、アクセス先のディレクトリがターゲットディレクトリであるアクセスログ(エントリ)を取得する。
(手順4)データムーバモジュール222は、取得されたエントリのヘッダ情報305及びデバイス分類情報229に基づいて、デバイス種別毎のアクセス数を算出する。データムーバモジュール222は、アクセス分析情報226のターゲットディレクトリに対応するエントリのPCアクセス数602及びスマートデバイスアクセス数603に算出されたアクセス数を設定する。また、データムーバモジュール222は、ターゲットディレクトリに対応するエントリのスマートデバイス占有率604に、式(1)に基づいて算出された値を設定する。
データムーバモジュール222は、特定された全てのディレクトリについて(手順3)及び(手順4)の処理を実行する。以上がステップS501の処理の説明である。
次に、データムーバモジュール222は、スタブ化条件情報228を読み出し(ステップS502)、また、変数kに初期値「1」を設定する(ステップS503)。
データムーバモジュール222は、ID701が変数kに一致するエントリのスタブ化条件702を満たすか否かを判定する(ステップS504)。
ID701が変数kに一致するエントリのスタブ化条件702を満たさないと判定された場合、データムーバモジュール222は、ステップS506に進む。なお、本実施例では、スタブ化条件702を満たさない場合、ID701が変数kより大きいスタブ化条件に関する判定処理を行う必要がない。したがって、データムーバモジュール222は、ステップS504の判定結果が「NO」である場合、処理を終了してもよい。
ID701が変数kに一致するエントリのスタブ化条件702を満たすと判定された場合、データムーバモジュール222は、当該エントリのスタブ化対象703に基づいて、スタブ化処理を実行する(ステップS505)。その後、データムーバモジュール222は、ステップS506に進む。具体的には、以下のような処理が実行される。
データムーバモジュール222は、アクセス分析情報226及びスタブ化対象703に基づいて、スタブ化処理のターゲットディレクトリを特定する。例えば、ID701が「1」のエントリの場合、ディレクトリ「/dir2」がスタブ化処理のターゲットディレクトリとして特定される。
データムーバモジュール222は、スタブ化処理のターゲットディレクトリに格納されるファイルのメタデータ以外のデータを削除する。以上がステップS505の処理の説明である。
ステップS504の判定結果が「NO」、又は、ステップS505の処理が完了した後、データムーバモジュール222は、変数kに「1」を加算した値を新たな変数kに設定する(ステップS506)。
データムーバモジュール222は、変数kが閾値max_IDより大きいか否かを判定する(ステップS507)。すなわち、スタブ化条件情報228の全てのエントリについて処理が完了したか否かが判定される。なお、閾値max_IDは、スタブ化条件情報228に登録されたエントリの数である。
変数kが閾値max_ID以下であると判定された場合、データムーバモジュール222は、ステップS504に戻り、同様の処理を実行する。
変数kが閾値max_IDより大きいと判定された場合、データムーバモジュール222は処理を終了する。
以上で説明したように、ファイルサーバ120は、グループ共有のディレクトリに格納されるデータ(ファイル)を自動的にストレージシステム110にコピーする。これによって、必要なデータ(ファイル)のみがローカルのストレージシステム110に格納されるため、ストレージシステム110の容量不足を解消し、また、リモートのストレージシステム150を有効に活用できる。また、ファイル共有に伴うネットワークを介した通信量を削減できる。
また、ファイルサーバ120は、ディレクトリにアクセスするクライアント端末100のデバイス種別に基づいて、スタブ化処理の対象となるデータ(ファイル)を特定する。これによって、データへのアクセス性能の低下を抑え、かつ、データ量の増加に伴うローカルのストレージシステム110の容量不足を解消できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるCPUが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるCPUが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (15)

  1. 複数のクライアント端末が接続されるファイルサーバ、及び前記ファイルサーバとネットワークを介して接続されるアーカイブサーバを備えるシステムであって、
    前記ファイルサーバは、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続される第1の記憶装置、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、
    前記アーカイブサーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2の記憶装置、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、
    前記第1のプロセッサは、
    前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供し、
    クライアント端末から、第1の格納領域に第1のデータを格納するための追加要求を受信した場合、前記第1の格納領域の属性に基づいて、前記第1のデータを前記第1の記憶装置に格納するか否かを判定し、
    前記追加要求を前記アーカイブサーバに送信し、
    前記第2のプロセッサは、前記追加要求を受信した場合、前記第2の記憶装置に前記第1のデータを格納することを特徴とするシステム。
  2. 請求項1に記載のシステムであって、
    前記第1のプロセッサは、
    前記第1の格納領域が前記複数のクライアント端末によって共有されているか否かを判定し、
    前記第1の格納領域が前記複数のクライアント端末によって共有されていると判定された場合、前記第1のデータを前記第1の記憶装置に格納し、
    前記追加要求を送信した前記クライアント端末以外の複数のクライアント端末に前記第1の記憶装置に格納された前記第1のデータを送信することを特徴とするシステム。
  3. 請求項2に記載のシステムであって、
    前記第1のメモリは、前記クライアント端末から受信したアクセス要求をアクセスログとして管理するログ管理情報と、前記第1の記憶装置に格納されるデータのメタデータ以外のデータを削除するスタブ化処理を制御するためのポリシを格納するポリシ管理情報と、を格納し、
    前記ポリシ管理情報には、前記スタブ化処理の実行契機を示す第1の条件及び前記スタブ化処理の対象となるデータの選択基準を示す第2の条件から構成されるポリシが格納され、
    前記第1のプロセッサは、
    前記クライアント端末からアクセス要求を受信した場合、前記アクセス要求を解析することによって、前記クライアント端末の種別を特定し、
    前記クライアント端末の種別を含む前記アクセスログを前記ログ管理情報に格納し、
    前記ログ管理情報を解析することによって、各データの格納領域に対するクライアント端末の種別毎のアクセス傾向を示すアクセス分析情報を生成し、
    前記ポリシ管理情報を参照して、前記第1の条件を満たすか否かを判定し、
    前記第1の条件を満たすと判定された場合、前記アクセス分析情報を参照して、前記第1の記憶装置に格納されるデータの中から前記第2の条件に合致するデータを特定し、
    前記特定されたデータに対して前記スタブ化処理を実行することを特徴とするシステム。
  4. 請求項3に記載のシステムであって、
    前記第1のプロセッサは、
    前記第1の記憶装置の空き容量が第1の閾値より小さい場合、前記第1の条件を満たすと判定し、
    第1の種別のクライアント端末のアクセス傾向を示す値が閾値より大きい格納領域に格納され、かつ、前記第1の記憶装置に格納されるデータを、前記第2の条件に合致するデータとして特定することを特徴とするシステム。
  5. 請求項4に記載のシステムであって、
    前記第1のプロセッサは、
    前記クライアント端末から前記第1のデータを更新するための同期要求を受信した場合、前記第1の記憶装置に前記第1のデータが格納されているか否かを判定し、
    前記第1の記憶装置に前記第1のデータが格納されていると判定された場合、前記第1のデータを更新し、
    前記同期要求を前記アーカイブサーバに送信し、
    前記同期要求を送信した前記クライアント端末以外の複数のクライアント端末に、更新された前記第1のデータを送信し、
    前記第2のプロセッサは、前記同期要求を受信した場合、前記第2の記憶装置に格納される前記第1のデータを更新することを特徴とするシステム。
  6. 請求項4に記載のシステムであって、
    前記第1のプロセッサは、
    前記クライアント端末から前記第1のデータを参照するための参照要求を受信した場合、前記第1の記憶装置に前記第1のデータが格納されているか否かを判定し、
    前記第1の記憶装置に前記第1のデータが格納されていると判定された場合、前記参照要求を送信した前記クライアント端末に、前記第1の記憶装置に格納される前記第1のデータを送信し、
    前記第1の記憶装置に前記第1のデータが格納されていないと判定された場合、前記参照要求を前記アーカイブサーバに送信することによって前記第1のデータを取得し、前記参照要求を送信した前記クライアント端末に、取得した前記第1のデータを送信することを特徴とするシステム。
  7. 複数のクライアント端末が接続されるファイルサーバ、及び前記ファイルサーバとネットワークを介して接続されるアーカイブサーバを備えるシステムにおけるデータ管理方法であって、
    前記ファイルサーバは、第1のプロセッサ、前記第1のプロセッサに接続される第1のメモリ、前記第1のプロセッサに接続される第1の記憶装置、及び前記第1のプロセッサに接続される第1のネットワークインタフェースを有し、
    前記アーカイブサーバは、第2のプロセッサ、前記第2のプロセッサに接続される第2のメモリ、前記第2のプロセッサに接続される第2の記憶装置、及び前記第2のプロセッサに接続される第2のネットワークインタフェースを有し、
    前記データ管理方法は、
    前記第1のプロセッサが、前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供する第1のステップと、
    前記第1のプロセッサが、クライアント端末から、第1の格納領域に第1のデータを格納するための追加要求を受信した場合、前記第1の格納領域の属性に基づいて、前記第1のデータを前記第1の記憶装置に格納するか否かを判定する第2のステップと、
    前記第1のプロセッサが、前記追加要求を前記アーカイブサーバに送信する第3のステップと、
    前記第2のプロセッサが、前記追加要求を受信した場合、前記第2の記憶装置に前記第1のデータを格納する第4のステップと、を含むことを特徴とするデータ管理方法。
  8. 請求項7に記載のデータ管理方法であって、
    前記第2のステップは、
    前記第1のプロセッサが、前記第1の格納領域が前記複数のクライアント端末によって共有されているか否かを判定するステップと、
    前記第1の格納領域が前記複数のクライアント端末によって共有されていると判定された場合、前記第1のプロセッサが、前記第1のデータを前記第1の記憶装置に格納するステップと、を含み、
    前記第4のステップは、前記第1のプロセッサが、前記追加要求を送信した前記クライアント端末以外の複数のクライアント端末に前記第1の記憶装置に格納された前記第1のデータを送信するステップを含むことを特徴とするデータ管理方法。
  9. 請求項8に記載のデータ管理方法であって、
    前記第1のメモリは、前記クライアント端末から受信したアクセス要求をアクセスログとして管理するログ管理情報と、前記第1の記憶装置に格納されるデータのメタデータ以外のデータを削除するスタブ化処理を制御するためのポリシを格納するポリシ管理情報と、を格納し、
    前記ポリシ管理情報には、前記スタブ化処理の実行契機を示す第1の条件及び前記スタブ化処理の対象となるデータの選択基準を示す第2の条件から構成されるポリシが格納され、
    前記データ管理方法は、
    前記第1のプロセッサが、前記クライアント端末からアクセス要求を受信した場合、前記アクセス要求を解析することによって、前記クライアント端末の種別を特定する第5のステップと、
    前記第1のプロセッサが、前記クライアント端末の種別を含む前記アクセスログを前記ログ管理情報に格納する第6のステップと、
    前記第1のプロセッサが、前記ログ管理情報を解析することによって、各データの格納領域に対するクライアント端末の種別毎のアクセス傾向を示すアクセス分析情報を生成する第7のステップと、
    前記第1のプロセッサが、前記ポリシ管理情報を参照して、前記第1の条件を満たすか否かを判定する第8のステップと、
    前記第1のプロセッサが、前記第1の条件を満たすと判定された場合、前記アクセス分析情報を参照して、前記第1の記憶装置に格納されるデータの中から前記第2の条件に合致するデータを特定する第9のステップと、
    前記第1のプロセッサが、前記特定されたデータに対して前記スタブ化処理を実行する第10のステップと、を含むことを特徴とするデータ管理方法。
  10. 請求項9に記載のデータ管理方法であって、
    前記第8のステップは、前記第1のプロセッサが、前記第1の記憶装置の空き容量が第1の閾値より小さい場合、前記第1の条件を満たすと判定するステップを含み、
    前記第10のステップは、前記第1のプロセッサが、第1の種別のクライアント端末のアクセス傾向を示す値が閾値より大きい格納領域に格納され、かつ、前記第1の記憶装置に格納されるデータを、前記第2の条件に合致するデータとして特定するステップを含むことを特徴とするデータ管理方法。
  11. 請求項10に記載のデータ管理方法であって、
    前記第1のプロセッサが、前記クライアント端末から前記第1のデータを更新するための同期要求を受信した場合、前記第1の記憶装置に前記第1のデータが格納されているか否かを判定するステップと、
    前記第1の記憶装置に前記第1のデータが格納されていると判定された場合、前記第1のプロセッサが、前記第1のデータを更新するステップと、
    前記第1のプロセッサが、前記同期要求を前記アーカイブサーバに送信するステップと、
    前記第1のプロセッサが、前記同期要求を送信した前記クライアント端末以外の複数のクライアント端末に、更新された前記第1のデータを送信するステップと、
    前記第2のプロセッサが、前記同期要求を受信した場合、前記第2の記憶装置に格納される前記第1のデータを更新するステップと、を含むことを特徴とするデータ管理方法。
  12. 請求項10に記載のデータ管理方法であって、
    前記第1のプロセッサが、前記クライアント端末から前記第1のデータを参照するための参照要求を受信した場合、前記第1の記憶装置に前記第1のデータが格納されているか否かを判定するステップと、
    前記第1の記憶装置に前記第1のデータが格納されていると判定された場合、前記第1のプロセッサが、前記参照要求を送信した前記クライアント端末に、前記第1の記憶装置に格納される前記第1のデータを送信するステップと、
    前記第1の記憶装置に前記第1のデータが格納されていないと判定された場合、前記第1のプロセッサが、前記参照要求を前記アーカイブサーバに送信することによって前記第1のデータを取得し、前記参照要求を送信した前記クライアント端末に、取得した前記第1のデータを送信するステップと、を含むことを特徴とするデータ管理方法。
  13. 複数のクライアント端末から送信されるアクセス要求を受け付け、かつ、ネットワークを介したアクセス対象のデータを格納するアーカイブサーバと接続するファイルサーバであって、
    前記ファイルサーバは、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
    前記プロセッサは、
    前記複数のクライアント端末の各々が認識可能なデータの格納領域を提供し、
    クライアント端末から、第1の格納領域に第1のデータを格納するための追加要求を受信した場合、前記第1の格納領域が前記複数のクライアント端末によって共有されているか否かを判定し、
    前記第1の格納領域が前記複数のクライアント端末によって共有されていると判定された場合、前記第1のデータを前記記憶装置に格納し、
    前記追加要求を前記アーカイブサーバに送信し、
    前記追加要求を送信した前記クライアント端末以外の複数のクライアント端末に前記記憶装置に格納された前記第1のデータを送信することを特徴とするファイルサーバ。
  14. 請求項13に記載のファイルサーバであって、
    前記メモリは、前記クライアント端末から受信したアクセス要求をアクセスログとして管理するログ管理情報を格納し、
    前記プロセッサは、
    前記クライアント端末からアクセス要求を受信した場合、前記アクセス要求を解析することによって、前記クライアント端末の種別を特定し、
    前記クライアント端末の種別を含む前記アクセスログを前記ログ管理情報に格納し、
    前記ログ管理情報を解析することによって、各データの格納領域に対するクライアント端末の種別毎のアクセス傾向を示すアクセス分析情報を生成し、
    前記記憶装置の空き容量が第1の閾値より小さいか否かを判定し、
    前記記憶装置の空き容量が第1の閾値より小さいと判定された場合、前記アクセス分析情報を参照して、前記記憶装置に格納されるデータの中から、第1の種別のクライアント端末のアクセス傾向を示す値が閾値より大きい格納領域に格納されるデータを特定し、
    前記特定されたデータに対して、メタデータ以外のデータを削除するスタブ化処理を実行することを特徴とするファイルサーバ。
  15. 請求項14に記載のファイルサーバであって、
    前記プロセッサは、
    前記クライアント端末から前記第1のデータを更新するための同期要求を受信した場合、前記記憶装置に前記第1のデータが格納されているか否かを判定し、
    前記記憶装置に前記第1のデータが格納されていると判定された場合、前記第1のデータを更新し、
    前記同期要求を前記アーカイブサーバに送信し、
    前記同期要求を送信した前記クライアント端末以外の複数のクライアント端末に、更新された前記第1のデータを送信することを特徴とするファイルサーバ。
JP2018558565A 2016-12-27 2016-12-27 システム、データ管理方法、及びファイルサーバ Active JP6591700B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/088893 WO2018122961A1 (ja) 2016-12-27 2016-12-27 システム、データ管理方法、及びファイルサーバ

Publications (2)

Publication Number Publication Date
JPWO2018122961A1 JPWO2018122961A1 (ja) 2019-04-11
JP6591700B2 true JP6591700B2 (ja) 2019-10-16

Family

ID=62710384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558565A Active JP6591700B2 (ja) 2016-12-27 2016-12-27 システム、データ管理方法、及びファイルサーバ

Country Status (3)

Country Link
US (1) US10970250B2 (ja)
JP (1) JP6591700B2 (ja)
WO (1) WO2018122961A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106621B2 (en) * 2016-07-01 2021-08-31 Intel Corporation Adaptive synching
CN112115149A (zh) * 2019-06-20 2020-12-22 北京京东尚科信息技术有限公司 一种提供数据的方法和装置
WO2021014324A1 (en) * 2019-07-19 2021-01-28 JFrog Ltd. Data archive release in context of data object
CN111966742A (zh) * 2020-09-14 2020-11-20 量子数聚(北京)科技有限公司 数据迁移方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
JP2006343943A (ja) * 2005-06-08 2006-12-21 Murata Mach Ltd ファイルサーバ装置及び通信管理サーバ装置
JP2008225765A (ja) * 2007-03-12 2008-09-25 Nec Corp ネットワークストレージ・システムとその管理方法及び制御プログラム
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
WO2011083508A1 (en) * 2010-01-05 2011-07-14 Hitachi,Ltd. Storage system and its file management method
US8843459B1 (en) * 2010-03-09 2014-09-23 Hitachi Data Systems Engineering UK Limited Multi-tiered filesystem
CN102870098B (zh) 2010-05-27 2015-09-30 株式会社日立制作所 经由通信网络向远程文件服务器传送文件的本地文件服务器及具有该文件服务器的存储系统
US9871757B1 (en) * 2011-10-07 2018-01-16 Google Llc Sharing user-generated content to external social networks
JP6064381B2 (ja) * 2012-06-13 2017-01-25 株式会社リコー 情報共有システム
US10152398B2 (en) * 2012-08-02 2018-12-11 At&T Intellectual Property I, L.P. Pipelined data replication for disaster recovery
US9442925B2 (en) * 2012-11-21 2016-09-13 Bank Of America Corporation Regulated texting solution for mobile devices
JP2014235685A (ja) * 2013-06-05 2014-12-15 株式会社エヌ・ティ・ティ・データ データ管理装置、データ管理方法、データ管理プログラム
JP2016139380A (ja) * 2015-01-29 2016-08-04 コニカミノルタ株式会社 クラウドサーバ、プログラムおよび情報処理システム
WO2016121084A1 (ja) * 2015-01-30 2016-08-04 株式会社日立製作所 計算機システム、ファイルストレージコントローラ、及び、データ共有方法

Also Published As

Publication number Publication date
WO2018122961A1 (ja) 2018-07-05
US10970250B2 (en) 2021-04-06
JPWO2018122961A1 (ja) 2019-04-11
US20190171615A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
JP6591700B2 (ja) システム、データ管理方法、及びファイルサーバ
CN104731516B (zh) 一种存取文件的方法、装置及分布式存储系统
JP5343166B2 (ja) 通信ネットワークを介してリモートのファイルサーバにファイルを転送するローカルのファイルサーバ、及び、それらのファイルサーバを有するストレージシステム
US8086634B2 (en) Method and apparatus for improving file access performance of distributed storage system
CN110235118B (zh) 通过存根化优化内容存储
US10521116B2 (en) System and method for managing object store
EP3238096B1 (en) System and method for discovering a lan synchronization candidate for a synchronized content management system
US20210209179A1 (en) System and methods for dynamic generation of object storage datasets from existing file datasets
CN105408863A (zh) 具有不同的租户集的端点数据中心
US8959434B2 (en) Add-in program for upload, auxiliary program for upload and upload method
TW201432469A (zh) 檔案同步的方法及相關電子裝置
US10817203B1 (en) Client-configurable data tiering service
US11256419B2 (en) Optimal object placement device and method
US10242102B2 (en) Network crawling prioritization
JPWO2012053393A1 (ja) 仮想計算機を配置する方法及び装置
CN111143113A (zh) 复制元数据的方法、电子设备和计算机程序产品
US11444998B2 (en) Bit rate reduction processing method for data file, and server
CN114064668A (zh) 用于存储管理的方法、电子设备和计算机程序产品
US9286055B1 (en) System, method, and computer program for aggregating fragments of data objects from a plurality of devices
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
JP2017215745A (ja) データ処理装置、データ処理方法およびプログラム
JP5387535B2 (ja) ファイル管理装置、プログラム並びに方法
US20180089216A1 (en) File slack leveraging
JP7131357B2 (ja) 通信装置、通信方法、および通信プログラム
CN110058790B (zh) 用于存储数据的方法、设备和计算机程序产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190918

R150 Certificate of patent or registration of utility model

Ref document number: 6591700

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350