JPWO2011071104A1 - 分散ファイルシステム、そのデータ選択方法およびプログラム - Google Patents

分散ファイルシステム、そのデータ選択方法およびプログラム Download PDF

Info

Publication number
JPWO2011071104A1
JPWO2011071104A1 JP2011545238A JP2011545238A JPWO2011071104A1 JP WO2011071104 A1 JPWO2011071104 A1 JP WO2011071104A1 JP 2011545238 A JP2011545238 A JP 2011545238A JP 2011545238 A JP2011545238 A JP 2011545238A JP WO2011071104 A1 JPWO2011071104 A1 JP WO2011071104A1
Authority
JP
Japan
Prior art keywords
storage unit
metadata
unit
storage
client
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
JP2011545238A
Other languages
English (en)
Other versions
JP5375972B2 (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 JP2011545238A priority Critical patent/JP5375972B2/ja
Publication of JPWO2011071104A1 publication Critical patent/JPWO2011071104A1/ja
Application granted granted Critical
Publication of JP5375972B2 publication Critical patent/JP5375972B2/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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

低消費電力化を実現する。メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの記憶部が複数ある稼動状態のいずれかの状態にある記憶システムと、所望のメタデータを含む検索要求に対応するデータを取得するデータ取得部と、メタデータに対応するデータがどの記憶部に記憶されているかを管理すると共に各記憶部の稼動状態を管理し、データ取得部からの検索要求に対し、管理内容に基づいて検索結果を応答する管理部と、を備え、データ取得部は、検索結果に基づいて非起動状態にある記憶部よりも優先して起動状態にある記憶部にアクセスすることで、所望のデータを取得する。

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2009−280661号(2009年12月10日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、分散ファイルシステム、そのデータ選択方法およびプログラムに関し、特にこれらにおける省電力技術に関する。
従来より、複数のストレージノードにデータを分散して格納する技術が知られている。このような技術は、分散ストレージや分散ファイルシステムや並列ファイルシステムなどと呼ばれており、単純にファイルを分散させて格納するだけではなく、ファイルをより細かい単位に分割して分散格納したり、複数のストレージノードに複製を格納したりすることで、スループット性能を向上させたり、データロスの可能性を低減させたりすることが可能である(例えば、非特許文献1参照)。非特許文献1に記載されるシステムは、多数のPCクラスタを分散し、メタデータによる検索を行い、データにアクセスすることができる。
ここで、メタデータとは、データに関する属性情報を表すデータである。例えば、データの作成者や作成日時のような情報であったり、分散して格納したファイル群を一つのファイルシステムによって管理するような分散ファイルシステムにおいてはファイルパスやファイル名であったり、ファイルをさらに小さな単位に分割して分散格納するシステムにおいてはファイル内の位置情報であったり、コンテンツとしてデジタルカメラで撮影した画像ファイルであれば撮影者や被写体情報や撮影場所のような情報などである。
ところで、省電力を目的として、データが格納されたハードディスクドライブの回転を停止したり電源をオフにしたりする技術が知られている(例えば、特許文献1参照)。このような省電力技術は、前述のような複数のストレージノードにデータを分散格納するシステムにも適用可能である。例えば、一定時間アクセスの無いストレージノードのハードディスクドライブの回転を停止することによって消費電力の低減が図られる。
特許第4325817号公報
建部 修見,森田 洋平,松岡 聡,関口 智嗣,曽田 哲之,「広域大規模データ解析のためのGrid Datafarmアーキテクチャ」,情報処理学会研究報告,2001−HPC−87,SWoPP2001,pp.177−182,2001年7月
上記特許文献1及び非特許文献1の全開示内容はその引用をもって本書に繰込み記載する。
以下の分析は本発明において与えられる。
非特許文献1に記載のようにメタデータによる検索を行い、データにアクセスするような場合、必ずしも全てのデータにアクセスする必要が無い場合もある。例えば、メタデータ検索の結果が異なるストレージに格納された複数の複製データであるような場合には、いずれか1つのデータにアクセスできれば、所望のデータにアクセスすることができる。しかしながら、このような場合、従来のメタデータによる検索システムでは、消費電力の増加を抑制する技術を開示しておらず、システムの低消費電力化が実現できない。
したがって、本発明の目的は、低消費電力化を実現する分散ファイルシステム(装置)、そのデータ選択方法およびプログラムを提供することにある。
本発明の1つのアスペクト(側面)に係る分散ファイルシステム(装置)は、メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの記憶部が複数ある稼動状態のいずれかの状態にある記憶システムと、所望のメタデータを含む検索要求に対応するデータを取得するデータ取得部と、メタデータに対応するデータがどの記憶部に記憶されているかを管理すると共に各記憶部の稼動状態を管理し、データ取得部からの検索要求に対し、管理内容に基づいて検索結果を応答する管理部と、を備え、データ取得部は、検索結果に基づいて非起動状態にある記憶部よりも優先して起動状態にある記憶部にアクセスすることで、所望のデータを取得する。
本発明の他のアスペクト(側面)に係るデータ選択方法は、メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの記憶部が複数ある稼動状態のいずれかの状態にある記憶システムとサーバとクライアントとを備える分散ファイルシステムにおけるデータの選択方法であって、クライアントがサーバに所望のメタデータを含む検索要求を送信するステップと、サーバが、メタデータに対応するデータが記憶されている記憶部と該記憶部の稼動状態とに係る情報をクライアントに返信するステップと、クライアントが、サーバからの返信に基づいて、非起動状態にある記憶部よりも優先して起動状態にある記憶部にアクセスすることで、所望のデータを取得するステップと、を含む。
本発明の別のアスペクト(側面)に係るプログラムは、メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの記憶部が複数ある稼動状態のいずれかの状態にある記憶システムとサーバとクライアントとを備える分散ファイルシステムを構成するコンピュータに、クライアントがサーバに所望のメタデータを含む検索要求を送信する処理と、サーバが、メタデータに対応するデータが記憶されている記憶部と該記憶部の稼動状態とに係る情報をクライアントに返信する処理と、クライアントが、サーバからの返信に基づいて、非起動状態にある記憶部よりも優先して起動状態にある記憶部にアクセスすることで、所望のデータを取得する処理と、を実行させる。
本発明によれば、非起動状態にある記憶部へのアクセスを抑制し、起動に係る消費電力の増加を抑える。したがって低消費電力化を実現することができる。
本発明の第1の実施形態に係る分散ファイルシステムの構成を示す図である。 本発明の第1の実施形態に係るクライアントの構成を示す図である。 本発明の第1の実施形態に係るメタデータサーバの構成を示す図である。 本発明の第1の実施形態に係るストレージノードの構成を示す図である。 本発明の第1の実施形態に係るメタデータ記憶部の構成を示す図である。 本発明の第1の実施形態に係る配置情報記憶部の構成を示す図である。 本発明の第1の実施形態に係る稼動状態情報記憶部の構成を示す図である。 本発明の第1の実施形態に係るクライアントの動作を示すフローチャートである。 本発明の第1の実施形態に係るメタデータサーバの動作を示すフローチャートである。 本発明の第1の実施形態に係るストレージノードの動作を示すフローチャートである。 本発明の第1の実施例に係る分散ファイルシステムの構成を示す図である。 本発明の第1の実施例に係るメタデータ記憶部の構成を示す図である。 本発明の第1の実施例に係る配置情報記憶部の構成を示す図である。 本発明の第1の実施例に係る稼動状態情報記憶部の構成を示す図である。 本発明の第1の実施例に係る分散ファイルシステムの動作を表すシーケンス図である。 本発明の第2の実施形態に係るクライアントの動作を示すフローチャートである。 本発明の第2の実施形態に係るメタデータサーバの動作を示すフローチャートである。
本発明の実施形態に係る分散ファイルシステムは、メタデータに対応するデータを分散して記憶する複数の記憶部(図1のストレージノード3に相当)から構成され、それぞれの記憶部が複数ある稼動状態のいずれかの状態にある記憶システム(図1のストレージノード3の群に相当)と、所望のメタデータを含む検索要求に対応するデータを取得するデータ取得部(図1のクライアント1に相当)と、メタデータに対応するデータがどの記憶部に記憶されているかを管理すると共に各記憶部の稼動状態を管理し、データ取得部からの検索要求に対し、管理内容に基づいて検索結果を応答する管理部(図1のメタデータサーバ2に相当)と、を備え、データ取得部は、検索結果に基づいて非起動状態にある記憶部よりも優先して起動状態にある記憶部にアクセスすることで、所望のデータを取得する。
分散ファイルシステムにおいて、検索結果には、所望のメタデータに対応するデータが記憶されている記憶部と該記憶部の稼動状態とに係る情報を含み、データ取得部は、検索結果に基づいて記憶部にアクセスすることで所望のデータを取得するようにしてもよい。
分散ファイルシステムにおいて、検索要求には、選択基準情報をさらに含み、検索結果には、選択基準情報に合致する、所望のメタデータに対応するデータが記憶されている記憶部と該記憶部の稼動状態とに係る情報を含むようにしてもよい。
分散ファイルシステムにおいて、起動状態にある記憶部は、非起動状態にある記憶部よりも消費電量が大きいことが好ましい。
分散ファイルシステムにおいて、管理部は、メタデータに対応させたオブジェクト識別子と、オブジェクト識別子に対応させた記憶部の識別子と、記憶部の識別子に対応させた記憶部の稼動状態とを記憶する管理記憶部(図3の22に相当)を備え、管理記憶部を参照することで管理を行うようにしてもよい。
分散ファイルシステムにおいて、管理部は、記憶部の稼動状態を記憶部から受信して管理記憶部内の情報を更新するようにしてもよい。
分散ファイルシステムにおいて、起動状態にある記憶部は、停止条件を満たす場合に非起動状態とされるようにしてもよい。
分散ファイルシステムにおいて、メタデータは、属性と値の組からなるようにしてもよい。
分散ファイルシステムにおいて、管理部は、サーバであって、データ取得部は、クライアントであって、記憶システムとサーバとクライアントとは、ネットワークを介して接続されるようにしてもよい。
また、別の見方によれば、本発明の実施形態に係る分散ファイルシステムは、データ群の中から所与のメタデータ条件に対応する候補データ群を選択するメタデータ検索手段と、選択された候補データ群の各データと、各データが記憶されたデバイスの稼動状態を対応づけて付与する稼動状態付与手段と、を備える。また、候補データ群の中から、アクセスを行うデータ群の優先順位を決定するために、稼動状態を判断手段として用いるよう動作するアクセスデータ選択手段を備える。
ところで、省電力モードにあるストレージノードにアクセスするためには、省電力モードでないストレージノードにアクセスする場合よりも時間がかかるのが一般的である。例えば、省電力のために回転停止しているハードディスクのデータにアクセスするには、ディスクの回転処理を行う必要があるので、回転しているハードディスクにアクセスするよりも時間がかかる。
本実施形態に係る分散ファイルシステムによれば、省電力状態にある記憶部へのデータアクセス回数を低減することで、起動に係る消費電力の増加を抑制する。また、省電力状態にある記憶部へのアクセス回数を減らし、省電力状態からの起動に要する時間を待つ回数を抑制し、省電力状態からの起動に要する時間を待つ回数を削減することができる。
以下、分散ファイルシステムについて、より具体的に図面を参照して詳しく説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係る分散ファイルシステムの構成を示すブロック図である。図1において、分散ファイルシステムは、データ取得部に相当するクライアント1と、管理部に相当するメタデータサーバ2と、複数の記憶部に相当するストレージノード3と、ネットワーク9とから構成され、クライアント1と、メタデータサーバ2と、複数のストレージノード3は、ネットワーク9を介して接続される。
クライアント1は、データのアクセス要求を行う。メタデータサーバ2は、メタデータとデータの対応情報、およびデータとデータが格納されているストレージノード3との対応情報を保有する。ストレージノード3はデータを保有する。
ここで、クライアント1は、ファイル名によるアクセスを行うものとし、ストレージノード3は、オブジェクトと呼ぶ単位でデータを格納するものとする。オブジェクトは、例えば、ファイルや、ファイルを分割したチャンク等を意味する。
クライアント1は、所望のファイルにアクセスする場合、まずメタデータサーバ2にファイル名を送り、検索要求を行う。メタデータサーバ2は、ファイル名に該当するファイルを構成するオブジェクトを検索し、オブジェクト識別子と各々のオブジェクトを格納しているストレージノード3のノード識別子をクライアント1に送信する。クライアント1は、メタデータサーバ2から受信したノード識別子とオブジェクト識別子を用いてストレージノード3にオブジェクトを要求し、所望のオブジェクトを得て、これらのオブジェクトを組み合わせて所望のファイルを得る。
次に、図2を用いてクライアント1の構成を詳細に説明する。クライアント1は、処理部11と、記憶部12と、通信部13とからなる。
処理部11は、例えばCPU(Central Processing Unit)とメモリによって構成された計算機システムや、専用の電子回路によって実現され、プログラム実行部111と、オブジェクト選択部112と、検索要求部113と、オブジェクト要求部114とからなる。処理部11は、クライアント用の所定のプログラムを実行することで各部を機能させるようにしてもよい。
プログラム実行部111は、プログラム記憶部121に記憶されたプログラムを読み込んで実行する。
オブジェクト選択部112は、検索要求部113から渡されたメタデータ検索結果と選択基準情報記憶部122に記憶された選択基準情報に基づいて、アクセスするオブジェクトを決定してプログラム実行部111にアクセスするオブジェクトの情報を渡す。
検索要求部113は、通信部13およびネットワーク9を介してメタデータサーバ2にメタデータ検索要求を行う。また、ネットワーク9および通信部13を介してメタデータサーバ2からメタデータ検索結果を受信してオブジェクト選択部112に渡す。
オブジェクト要求部114は、通信部13およびネットワーク9を介してストレージノード3にオブジェクト要求を行う。また、ネットワーク9および通信部13を介してストレージノード3から受信したオブジェクトをオブジェクト記憶部123に格納する。
なお、プログラム実行部111と、オブジェクト選択部112と、検索要求部113と、オブジェクト要求部114は、物理的には、各々が別のシステムであっても良いし、2つ以上が同一システム上で動作する構成であっても良い。
記憶部12は、例えばハードディスクドライブによって実現され、プログラム記憶部121と、選択基準情報記憶部122と、オブジェクト記憶部123とからなる。
プログラム記憶部121は、プログラム実行部111が実行するためのプログラムを記憶する。選択基準情報記憶部122は、オブジェクト選択部112がオブジェクト選択を行うための基準とする情報を記憶する。オブジェクト記憶部123は、オブジェクトを記憶する。
通信部13は、クライアント1の内部とネットワーク9とのインタフェースを司る。
次に、図3を用いてメタデータサーバ2の構成を詳細に説明する。メタデータサーバ2は、処理部21と、記憶部22と、通信部23とからなる。
処理部21は、例えばCPUとメモリによって構成された計算機システムや、専用の電子回路によって実現され、検索部211と、検索要求処理部212と、稼動状態管理部213とからなる。処理部21は、メタデータサーバ用の所定のプログラムを実行することで各部を機能させるようにしてもよい。
検索部211は、検索要求処理部212から渡された検索条件に基づき、メタデータ記憶部221からメタデータ検索を行い、検索結果であるオブジェクト識別子を検索要求処理部212に渡す。
検索要求処理部212は、ネットワーク9と通信部23を介してクライアント1からメタデータ検索要求を受信し、検索部211に検索条件を渡し、検索部211から検索結果であるオブジェクト識別子を受け取る。また、配置情報記憶部222に格納された配置情報から、前記のオブジェクト識別子に対応するノード識別子を検索する。また、稼動状態情報記憶部223に格納された稼動状態情報から、前記のノード識別子に対応する稼動状態を検索する。また、前記オブジェクト識別子と、前記ノード識別子と、前記稼動状態を、通信部23とネットワーク9を介してメタデータ検索要求を行ったクライアント1に送信する。
稼動状態管理部213は、ネットワーク9と通信部23を介してストレージノード3から稼動状態変更通知を受信すると、稼動状態情報記憶部223の情報を更新する。
なお、検索部211と、検索要求処理部212と、稼動状態管理部213は、物理的には、各々が別のシステムであっても良いし、2つ以上が同一システム上で動作する構成であっても良い。
記憶部22は、例えばハードディスクドライブにより実現され、メタデータ記憶部221と、配置情報記憶部222と、稼動状態情報記憶部223とからなる。
メタデータ記憶部221は、オブジェクト識別子とメタデータの属性名とメタデータの値を記憶する。オブジェクト識別子とは、全てのストレージノード3が有するオブジェクトの中で一意に付与されたオブジェクトの識別子である。メタデータとは、オブジェクトに関する情報であり、属性名と値の組である。例えば、属性名が作成日、値が2000年8月22日といったものがある。ひとつのオブジェクトに対して、複数のメタデータが付与されうる。図5は、メタデータ記憶部221のデータ構造を表す。メタデータ記憶部221は、オブジェクト識別子を記憶するオブジェクト識別子列2211と、属性名を記憶する属性名列2212と、値を記憶する値列2213とからなる表構造である。一つのオブジェクト識別子に対応する属性名と値は複数記憶することが可能である。すなわち、同一のオブジェクト識別子の値を有する行が複数存在しうる。
配置情報記憶部222は、オブジェクト識別子とノード識別子を記憶する。ノード識別子とは、ストレージノード3を一意に識別するための値である。図6は、配置情報記憶部222のデータ構造を表す。配置情報記憶部222は、オブジェクト識別子を記憶するオブジェクト識別子列2221と、ノード識別子を記憶するノード識別子列2222とからなる表構造である。
稼動状態情報記憶部223は、ノード識別子と稼動状態を記憶する。図7は、稼動状態情報記憶部223のデータ構造である。稼動状態情報記憶部223は、ノード識別子列2231と稼動状態列2232とからなる表構造である。
通信部23は、メタデータサーバ2の内部とネットワーク9とのインタフェースを司る。
次に、図4を用いてストレージノード3の構成を詳細に説明する。ストレージノード3は、処理部31と、記憶部32と、通信部33とからなる。
処理部31は、例えばCPUとメモリによって構成された計算機システムや、専用の電子回路によって実現され、オブジェクト要求処理部311と、稼動状態通知部312と、稼動状態決定部313と、稼動状態制御部314とからなる。処理部31は、ストレージノード用の所定のプログラムを実行することで各部を機能させるようにしてもよい。
オブジェクト要求処理部311は、通信部33とネットワーク9を介してクライアント1から受信したオブジェクト要求に従って、オブジェクト記憶部321からオブジェクトを読み出して、クライアント1に送信する。また、オブジェクトへのアクセス履歴をアクセス履歴記憶部322に記憶する。アクセス履歴とは、アクセス頻度やアクセス日時である。
稼動状態通知部312は、ストレージノード3の稼動状態が変更された時に、通信部33とネットワーク9を介してメタデータサーバ2にノード識別子と稼動状態を通知する。稼動状態とは、例えば1台のストレージノード3全体を起動させた状態や、1台のストレージノード3全体を停止させた状態や、オブジェクト記憶部321のうち、アクセス頻度の少ないオブジェクトのみが格納されたハードディスクドライブのみを停止させた状態、などである。ただし本実施の形態では、ストレージノード3全体が起動状態である場合と、ストレージノード3全体が停止状態である場合のみを扱う。なお、停止状態であってもクライアント1からの要求は受信可能な状態とする。
稼動状態決定部313は、アクセス履歴記憶部322に基づいて、ストレージノード3の稼動状態を決定する。例えば、一定期間アクセスが無い場合は、停止状態とする。また、停止状態にある時にクライアント1からオブジェクト要求を受信した場合は、起動させた状態とする。
稼動状態制御部314は、稼動状態決定部313が決定した状態になるようにストレージノード3を制御する。
なお、オブジェクト要求処理部311と、稼動状態通知部312と、稼動状態決定部313と、稼動状態制御部314は、物理的には、各々が別のシステムであっても良いし、2つ以上が同一システム上で動作する構成であっても良い。
記憶部32は、例えばハードディスクドライブにより実現され、オブジェクト記憶部321と、アクセス履歴記憶部322とからなる。オブジェクト記憶部321は、オブジェクトを記憶する。アクセス履歴記憶部322は、アクセス履歴を記憶する。
通信部33は、ストレージノード3の内部とネットワーク9とのインタフェースを司る。
次に、図8のフローチャートを参照して本実施の形態のクライアント1の動作について説明する。
まず、クライアント1は、メタデータサーバ2にメタデータ検索要求を送信する(ステップA1)。メタデータ検索要求時には、メタデータの属性と値の組を送信する。属性と値の組は複数であっても良い。次に、メタデータサーバ2から検索結果を受信するのを待つ(ステップA2)。検索結果を受信すると、検索結果と選択基準情報に基づいてアクセスするオブジェクトを選択し(ステップA3)、ストレージノード3にオブジェクト要求を送信し(ステップA4)、全オブジェクトを受信するのを待つ(ステップA5)。
次に、図9のフローチャートを参照して本実施の形態のメタデータサーバ2の動作について説明する。
まず、メタデータサーバ2は、メタデータ検索要求を受信すると(ステップB1のYes)、検索要求された条件、すなわち属性と値を有するオブジェクトを検索し、オブジェクト識別子を得る(ステップB2)。次に、このオブジェクト識別子を有するノードを検索し、ノード識別子を得る(ステップB3)。次に、ノード識別子のノードの稼動状態を検索し、稼動状態を得る(ステップB4)。次に、検索要求を行ったクライアント1に検索結果を送信する(ステップB5)。検索結果は、メタデータ検索に合致した全てのオブジェクトについての、オブジェクト識別子と、ノード識別子と、稼動状態の組である。ステップB5の後は、ステップB1の処理に戻る。
ステップB1において検索要求を受信しなかった場合(ステップB1のNo)、ストレージノード3から稼動状態通知を受信すると(ステップB6)、該当する稼動状態情報を更新し(ステップB7)、ステップB1の処理に戻る。
次に、図10のフローチャートを参照して本実施の形態のストレージノード3の動作について説明する。
まず、ストレージノード3は、クライアント1からオブジェクト要求を受信すると(ステップC1のYes)、ストレージノード3が起動状態の場合は(ステップC2のYes)、要求されたオブジェクトをクライアント1に送信し(ステップC3)、アクセス履歴を更新し(ステップC4)、ステップC1の処理に戻る。
ステップC2で起動状態でない場合(ステップC2のNo)、起動処理を行い(ステップC5)、ステップC3の処理を行う。
ステップC1でオブジェクト要求を受信していない場合(ステップC1のNo)、所定時間以上アクセスが無いなどの停止条件を満たしていれば(ステップC6のYes)、停止処理(ステップC7)を行い、ステップC1の処理に戻る。ステップC6で停止条件を満たしていない場合(ステップC6のNo)、ステップC1の処理に戻る。
以上の説明では、ファイル名での検索を行う単純な例について説明したが、メタデータサーバ2がより多くのメタデータを管理する場合、メタデータによるより高度な検索によるアクセスも可能である。例えば、クライアント1が特性の期間を指定してメタデータサーバ2に検索を要求し、メタデータサーバ2は所与の期間内に作成されたファイルのオブジェクト識別子およびノード識別子および稼動状態の一覧をクライアント1に送信し、クライアント1は一覧の中からさらに条件を絞って実際にアクセスするオブジェクトを選択するようなことも可能である。
次に、簡単な事例を用いて上記第1の実施形態の具体的な動作を説明する。
「実施例1」
図11は、本発明の第1の実施例に係る分散ファイルシステムの構成を表す図である。クライアント1として、クライアント1a、1bの2台が設けられ、ストレージノード3として、ストレージノード3a、3b、3cの3台が設けられているものとする。
図12は、本実施例におけるメタデータサーバ2のメタデータ記憶部221の状態の一部を表した図である。図13は、本実施例におけるメタデータサーバ2の配置情報記憶部222の状態の一部を表した図である。図14は、本実施例におけるメタデータサーバ2の稼動状態情報記憶部223の状態の一部を表した図である。なお、ノード識別子列に格納されているa、b、cの各文字は、ストレージノード3a、3b、3cの添え字のアルファベットに対応するものとする。
クライアント1aのプログラム記憶部121には、所与のメタデータの条件を満たす写真を取得するプログラムが格納されているものとする。また、クライアント1aの選択基準情報記憶部122には、「起動ストレージノード最優先で2個のオブジェクト」である情報が格納されているものとする。
ここで、クライアント1aにおいて、メタデータ「属性名=被写体、値=富士山」のオブジェクトを取得するプログラムが実行された場合について考える。
まず、クライアント1aは、メタデータサーバ2に対してメタデータ「属性名=被写体、値=富士山」を指定した検索要求を送信する(ステップA1)。
メタデータサーバ2は、検索要求を受信すると(ステップB1のYes)、メタデータ記憶部221から、「属性名=被写体、値=富士山」を検索し、該当するオブジェクト識別子を抽出する(ステップB2)。この場合、図12を参照すると、検索結果として、「object11」、「object23」、「object56」、「object72」の4つのオブジェクト識別子が抽出される。
次に、メタデータサーバ2は、配置情報記憶部222を用いて、4つのオブジェクト識別子に対応するノード識別子を検索する(ステップB3)。この場合、図13を参照すると、オブジェクト識別子とノード識別子の組は、「object11、c」、「object23、b」、「object56、a」、「object72、b」となる。
さらに、メタデータサーバ2は、稼動状態情報記憶部223を用いて4つのノード識別子に対応するストレージノードの稼動状態を検索する(ステップB4)。この場合、図14を参照すると、オブジェクト識別子とノード識別子と稼動状態の組は、「object11、c、起動」、「object23、b、停止」、「object56、a、起動」、「object72、b、停止」となる。次に、メタデータサーバ2は、検索結果として、「object11、c、起動」、「object23、b、停止」、「object56、a、起動」、「object72、b、停止」をクライアント1に送信する(ステップB5)。
クライアント1aは、検索結果を受信すると(ステップA2のYes)、選択基準情報である「起動ストレージノード最優先」に従って、アクセスするオブジェクトを選択する(ステップA3)。この場合、「object11、c、起動」と「object56、a、起動」が選択される。
次に、クライアント1aは、ストレージノード3cに対してobject11を、ストレージノード3aに対してobject56を要求する(ステップA4)。
ストレージノード3cおよび3aはそれぞれ、クライアント1aからオブジェクト要求を受信すると(ステップC1のYes)、いずれも起動状態であるので(ステップC2のYes)、ストレージノード3cはobject11を、ストレージノード3aはobject56をそれぞれのオブジェクト記憶部321から読み出して、クライアント1aに送信し(ステップC3)、アクセス履歴を更新する(ステップC4)。
クライアント1aは、ストレージノード3cからobject11を、ストレージノード3aからobject56を受信してオブジェクト記憶部123に格納する。
以上の動作をシーケンス図で示すと、図15のようになる。
以上のような分散ファイルシステムによれば、停止状態であるストレージノード3bが起動すること無く、クライアント1aは所定のメタデータに対応するオブジェクトを所定の数だけ得ることができる。この場合、ストレージノード3bが起動することによる消費電力の増大を避け、かつ、クライアント1aはストレージノード3bの起動にかかる時間を待つ必要が無い。
すなわち、メタデータサーバ2が稼動状態情報記憶部223を有し、メタデータ検索結果に対応するストレージノード3の稼動状態をクライアント1に送信し、クライアント1は稼動状態をオブジェクト選択に用いるため、停止状態にあるストレージサーバ3の起動を抑制することができる。また、クライアント1がストレージサーバ3の起動を待つためにアクセス時間が増加する回数を減らすことができる。
[第2の実施形態]
本発明の第2の実施形態に係る全体構成(図1)、クライアント1の構成(図2)、メタデータサーバ2の構成(図3)、ストレージノード3の構成(図4)、ストレージノード3の動作(図10)は、第1の実施形態と同じである。ただし、クライアント1の動作の一部およびメタデータサーバ2の動作の一部に関して、第1の実施形態とは異なる。以降の説明では、第1の実施形態と異なる部分についてのみ説明する。
まず、図16のフローチャートを用いて本実施形態におけるクライアント1の動作について説明する。クライアント1の動作は、第1の実施形態におけるクライアント1の動作(図8のステップA1)とは検索要求送信(ステップA1a)において送信する内容が異なる。ステップA1aでは、検索要求送信時に、メタデータの属性と値の組に加え、選択基準情報を送信する。また、第1の実施形態とは、オブジェクト選択(図8のステップA3)を行わない点が異なる。
次に、図17のフローチャートを用いて本実施形態におけるメタサーバ2の動作について説明する。メタサーバ2の動作は、第1の実施形態におけるメタサーバ2の動作(図9)とは、稼動状態検索(ステップB4)と検索結果送信(ステップB5)の間にオブジェクト選択(ステップB10)を行う点において異なる。オブジェクト選択(ステップB10)では、クライアント1から送信された選択基準情報に基づいて、オブジェクトの選択を行う。
以上のように、本実施形態では、第1の実施形態においてクライアント1が行っていたオブジェクトの選択をメタサーバ2が行う。このようにすることで、第1の実施形態と比較すると、クライアント1の処理の負荷が低減される。したがって、クライアント1のマシン性能が低く、メタサーバ2として性能の高いマシンを用意できるようなシステム構成において優位となる。また、メタサーバ2がクライアント1に送信する検索結果のデータ量を削減することができる。
なお、以上の説明では、メタデータサーバ2が稼動状態管理部213や稼動状態情報記憶部223を有する構成としたが、これらの機能を持つ独立した稼動状態管理ノードを設け、メタデータサーバ2と稼動状態管理ノード間およびストレージノード3と稼動状態管理ノード間で通信を行うことにより同様の動作を行わせるようにしても良い。
また、以上の説明では、クライアント1において選択基準情報記憶部122が選択基準情報を有する構成としたが、選択基準情報の一部はプログラムにより決定されるようにしても良い。例えば、外部からコンソール(不図示)を通してプログラム実行パラメータとして選択基準を入力し、この外部から入力した選択基準と選択基準情報記憶部122が有する選択基準の両方を満たす条件を選択基準情報とするようにしても良い。
さらに、以上の説明では、稼動状態として起動状態と停止状態のみを扱ったが、電力がこれらの中間となるような状態(例えば一部の回路の電源を停止した状態)など、消費電力に係るその他の状態を扱うようにしてもよい。ただしこの場合、状態と消費電力の大小関係を対応させて扱い、消費電力の小さな状態を消費電力の大きな状態にできるだけ遷移させないようにアクセスするオブジェクトを選択することが好ましい。
また、以上の説明では、アクセスするオブジェクトの選択は稼動状態のみによって決定したが、別の条件と組み合わせて選択の際の優先順位付けを行うようにしても良い。例えば、メタデータとして各々のオブジェクトの作成日時をメタデータサーバから取得して、作成日時の新しさを1番目の優先順位付けに用い、稼動状態は2番目の優先順位付けに用いてアクセスするオブジェクトを選択するようにしてもよい。
さらに、以上の説明では、稼動状態情報の管理はノード単位で管理する構成としたが、稼動状態の遷移が別のデバイスの単位(例えばハードディスクドライブ)で行われる場合は、この単位で行うことが好ましい。
また、以上の説明では、ストレージノード3が自身の稼動状態を制御して、その状態をメタデータサーバ2に通知する動作としたが、メタデータサーバ2がストレージノード3のアクセス履歴を監視して、停止を指示するような構成にしてもよい。
さらに、以上の説明では、分散ファイルシステムをネットワーク9を介したクライアントサーバシステムであるとして説明したが、これに限定されるものではない。すなわち、ストレージノードに対応する記憶システムと、メタデータサーバに対応する管理部と、クライアントに対応するデータ取得部とで構成するようなシステムであればよい。
本発明によれば、分散ストレージといった用途に適用できる。また、コンテンツ配信システムといった用途にも適用可能である。
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1、1a、1b クライアント
11 処理部
111 プログラム実行部
112 オブジェクト選択部
113 検索要求部
114 オブジェクト要求部
12 記憶部
121 プログラム記憶部
122 選択基準情報記憶部
123 オブジェクト記憶部
13 通信部
2 メタデータサーバ
21 処理部
211 検索部
212 検索要求処理部
213 稼動状態管理部
22 記憶部
221 メタデータ記憶部
2211 オブジェクト識別子列
2212 属性名列
2213 値列
222 配置情報記憶部
2221 オブジェクト識別子列
2222 ノード識別子列
223 稼動状態情報記憶部
2231 ノード識別子列
2232 稼動状態列
23 通信部
3、3a、3b、3c ストレージノード
31 処理部
311 オブジェクト要求処理部
312 稼動状態通知部
313 稼動状態決定部
314 稼動状態制御部
32 記憶部
321 オブジェクト記憶部
322 アクセス履歴記憶部
33 通信部
9 ネットワーク

Claims (11)

  1. メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの前記記憶部が複数ある稼動状態のいずれかの状態にある記憶システムと、
    所望のメタデータを含む検索要求に対応するデータを取得するデータ取得部と、
    前記メタデータに対応するデータがどの前記記憶部に記憶されているかを管理すると共に各前記記憶部の稼動状態を管理し、前記データ取得部からの検索要求に対し、管理内容に基づいて検索結果を応答する管理部と、
    を備え、
    前記データ取得部は、前記検索結果に基づいて非起動状態にある前記記憶部よりも優先して起動状態にある前記記憶部にアクセスすることで、所望のデータを取得することを特徴とする分散ファイルシステム。
  2. 前記検索結果には、前記所望のメタデータに対応するデータが記憶されている前記記憶部と該記憶部の稼動状態とに係る情報を含み、
    前記データ取得部は、前記検索結果に基づいて前記記憶部にアクセスすることで前記所望のデータを取得することを特徴とする請求項1記載の分散ファイルシステム。
  3. 前記検索要求には、選択基準情報をさらに含み、
    前記検索結果には、前記選択基準情報に合致する、前記所望のメタデータに対応するデータが記憶されている前記記憶部と該記憶部の稼動状態とに係る情報を含むことを特徴とする請求項2記載の分散ファイルシステム。
  4. 起動状態にある前記記憶部は、非起動状態にある前記記憶部よりも消費電量が大きいことを特徴とする請求項1記載の分散ファイルシステム。
  5. 前記管理部は、前記メタデータに対応させたオブジェクト識別子と、前記オブジェクト識別子に対応させた前記記憶部の識別子と、前記記憶部の識別子に対応させた前記記憶部の稼動状態とを記憶する管理記憶部を備え、前記管理記憶部を参照することで前記管理を行うことを特徴とする請求項1記載の分散ファイルシステム。
  6. 前記管理部は、前記記憶部の稼動状態を前記記憶部から受信して前記管理記憶部内の情報を更新することを特徴とする請求項5記載の分散ファイルシステム。
  7. 起動状態にある前記記憶部は、停止条件を満たす場合に非起動状態とされることを特徴とする請求項1または4記載の分散ファイルシステム。
  8. 前記メタデータは、属性と値の組からなることを特徴とする請求項1、2、3、5のいずれか一に記載の分散ファイルシステム。
  9. 前記管理部は、サーバであって、前記データ取得部は、クライアントであって、前記記憶システムと前記サーバと前記クライアントとは、ネットワークを介して接続されることを特徴とする請求項1記載の分散ファイルシステム。
  10. メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの前記記憶部が複数ある稼動状態のいずれかの状態にある記憶システムとサーバとクライアントとを備える分散ファイルシステムにおけるデータの選択方法であって、
    前記クライアントが前記サーバに所望のメタデータを含む検索要求を送信するステップと、
    前記サーバが、前記メタデータに対応するデータが記憶されている前記記憶部と該記憶部の稼動状態とに係る情報を前記クライアントに返信するステップと、
    前記クライアントが、前記サーバからの返信に基づいて、非起動状態にある前記記憶部よりも優先して起動状態にある前記記憶部にアクセスすることで、所望のデータを取得するステップと、
    を含むことを特徴とする分散ファイルシステムのデータ選択方法。
  11. メタデータに対応するデータを分散して記憶する複数の記憶部から構成され、それぞれの前記記憶部が複数ある稼動状態のいずれかの状態にある記憶システムとサーバとクライアントとを備える分散ファイルシステムを構成するコンピュータに、
    前記クライアントが前記サーバに所望のメタデータを含む検索要求を送信する処理と、
    前記サーバが、前記メタデータに対応するデータが記憶されている前記記憶部と該記憶部の稼動状態とに係る情報を前記クライアントに返信する処理と、
    前記クライアントが、前記サーバからの返信に基づいて、非起動状態にある前記記憶部よりも優先して起動状態にある前記記憶部にアクセスすることで、所望のデータを取得する処理と、
    を実行させるプログラム。
JP2011545238A 2009-12-10 2010-12-09 分散ファイルシステム、そのデータ選択方法およびプログラム Expired - Fee Related JP5375972B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011545238A JP5375972B2 (ja) 2009-12-10 2010-12-09 分散ファイルシステム、そのデータ選択方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009280661 2009-12-10
JP2009280661 2009-12-10
JP2011545238A JP5375972B2 (ja) 2009-12-10 2010-12-09 分散ファイルシステム、そのデータ選択方法およびプログラム
PCT/JP2010/072107 WO2011071104A1 (ja) 2009-12-10 2010-12-09 分散ファイルシステム、そのデータ選択方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2011071104A1 true JPWO2011071104A1 (ja) 2013-04-22
JP5375972B2 JP5375972B2 (ja) 2013-12-25

Family

ID=44145649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011545238A Expired - Fee Related JP5375972B2 (ja) 2009-12-10 2010-12-09 分散ファイルシステム、そのデータ選択方法およびプログラム

Country Status (3)

Country Link
US (1) US20120254215A1 (ja)
JP (1) JP5375972B2 (ja)
WO (1) WO2011071104A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101438461B1 (ko) * 2012-10-15 2014-11-03 (주) 글루시스 전력 제어 스위칭 모듈을 구비한 클라우드 스토리지 시스템
US10963426B1 (en) 2013-02-25 2021-03-30 EMC IP Holding Company LLC Method of providing access controls and permissions over relational data stored in a hadoop file system
US9454573B1 (en) 2013-02-25 2016-09-27 Emc Corporation Parallel processing database system with a shared metadata store
US9575974B2 (en) * 2013-10-23 2017-02-21 Netapp, Inc. Distributed file system gateway
US9507800B2 (en) 2013-10-23 2016-11-29 Netapp, Inc. Data management in distributed file systems
JP6167015B2 (ja) * 2013-10-30 2017-07-19 富士通株式会社 情報処理システム、管理プログラム、及びインデックス管理方法
US11032148B2 (en) * 2016-04-07 2021-06-08 Qualcomm Incorporated Managing network communication of an unmanned autonomous vehicle
US11593496B2 (en) * 2018-04-23 2023-02-28 EMC IP Holding Company LLC Decentralized data protection system for multi-cloud computing environment
US10824740B2 (en) * 2018-07-30 2020-11-03 EMC IP Holding Company LLC Decentralized policy publish and query system for multi-cloud computing environment
JP7428081B2 (ja) 2020-06-05 2024-02-06 コニカミノルタ株式会社 振り分け装置、画像処理システム及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947959B1 (en) * 1992-10-01 2005-09-20 Quark, Inc. Digital media asset management system and process
US6697846B1 (en) * 1998-03-20 2004-02-24 Dataplow, Inc. Shared file system
JP4287092B2 (ja) * 2002-03-29 2009-07-01 株式会社富士通ソーシアルサイエンスラボラトリ ファイル管理システムおよびファイル管理方法
JP4211285B2 (ja) * 2002-05-24 2009-01-21 株式会社日立製作所 ネットワークストレージシステムの仮想一元化方法及び装置
KR100678893B1 (ko) * 2004-09-16 2007-02-07 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
JP4975396B2 (ja) * 2006-08-24 2012-07-11 株式会社日立製作所 記憶制御装置及び記憶制御方法
CA2705379C (en) * 2006-12-04 2016-08-30 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US8015375B1 (en) * 2007-03-30 2011-09-06 Emc Corporation Methods, systems, and computer program products for parallel processing and saving tracking information for multiple write requests in a data replication environment including multiple storage devices
JP4386932B2 (ja) * 2007-08-17 2009-12-16 富士通株式会社 ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US8738575B2 (en) * 2007-09-17 2014-05-27 International Business Machines Corporation Data recovery in a hierarchical data storage system
JP5141278B2 (ja) * 2008-02-08 2013-02-13 日本電気株式会社 ディスクアレイシステム,ディスクアレイ制御方法及びディスクアレイ制御用プログラム
US8275907B2 (en) * 2008-06-26 2012-09-25 Microsoft Corporation Adding individual database failover/switchover to an existing storage component with limited impact
US8627130B2 (en) * 2009-10-08 2014-01-07 Bridgette, Inc. Power saving archive system
CN102169484B (zh) * 2010-02-26 2014-08-13 威睿公司 虚拟化环境中综合的、相关的和动态的数据搜索

Also Published As

Publication number Publication date
WO2011071104A1 (ja) 2011-06-16
JP5375972B2 (ja) 2013-12-25
US20120254215A1 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
JP5375972B2 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
US10749951B2 (en) Selection of leader nodes in distributed data services
US9971823B2 (en) Dynamic replica failure detection and healing
US10853242B2 (en) Deduplication and garbage collection across logical databases
AU2014346369B2 (en) Managed service for acquisition, storage and consumption of large-scale data streams
US10019452B2 (en) Topology aware distributed storage system
JP5411250B2 (ja) 冗長データ記憶システムへの指示に従ってのデータ配置
US8930364B1 (en) Intelligent data integration
JP5638608B2 (ja) メタデータに従ってファイルシステムのファイルにアクセスする方法、およびその方法を実装する装置
US10747739B1 (en) Implicit checkpoint for generating a secondary index of a table
US10635650B1 (en) Auto-partitioning secondary index for database tables
Honnutagi The Hadoop distributed file system
WO2021139431A1 (zh) 微服务的数据同步方法、装置、电子设备及存储介质
US20130198230A1 (en) Information processing apparatus, distributed processing system, and distributed processing method
US11132367B1 (en) Automatic creation of indexes for database tables
CN114265814B (zh) 一种基于对象存储的数据湖文件系统
Goswami et al. Graphmap: Scalable iterative graph processing using nosql
Wang Ying
US11055262B1 (en) Extensible streams on data sources
Konishetty et al. Implementation and evaluation of scalable data structure over hbase
JP6607044B2 (ja) サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム
Jayakar et al. Managing small size files through indexing in extended Hadoop file system
US11386115B1 (en) Selectable storage endpoints for a transactional data storage engine
Nurul IMPROVED TIME COMPLEXITY AND LOAD BALANCE FOR HDFS IN MULTIPLE NAMENODE
WO2024107195A1 (en) Hadoop distributed file system (hdfs) express bulk file deletion

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130909

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees