JP2015141446A - 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム - Google Patents

情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム Download PDF

Info

Publication number
JP2015141446A
JP2015141446A JP2014012332A JP2014012332A JP2015141446A JP 2015141446 A JP2015141446 A JP 2015141446A JP 2014012332 A JP2014012332 A JP 2014012332A JP 2014012332 A JP2014012332 A JP 2014012332A JP 2015141446 A JP2015141446 A JP 2015141446A
Authority
JP
Japan
Prior art keywords
server
index
identification information
index creation
unit
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
JP2014012332A
Other languages
English (en)
Other versions
JP6269102B2 (ja
Inventor
雅寿 田村
Masatoshi Tamura
雅寿 田村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014012332A priority Critical patent/JP6269102B2/ja
Priority to US14/572,395 priority patent/US10671579B2/en
Publication of JP2015141446A publication Critical patent/JP2015141446A/ja
Application granted granted Critical
Publication of JP6269102B2 publication Critical patent/JP6269102B2/ja
Active 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (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

【課題】オブジェクトの書き込みを効率的に処理する。
【解決手段】1以上の前記情報処理装置10から記憶したデータに対するインデックス作成依頼を受信するインデックス作成依頼受信部25と、インデックス作成依頼に付加された識別情報に応じて、データのインデックスを作成するか否かを決定する決定部25とを備える。
【選択図】図1

Description

本発明は、情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラムに関する。
近年、大量のデータを蓄積するために、複数のサーバをネットワークで接続した分散オブジェクトストレージシステムが実現されている。
このような分散オブジェクトストレージにおいては、オブジェクトを書き込みつつ、そのインデックスを作成することが一般に行なわれている。
ここでいうオブジェクトとは、データとそれに付随するメタデータを合わせたものである。また、インデックスとは、各オブジェクトのメタデータが集められ、検索に適したデータ構造で保持されているものである。
図9は従来の分散オブジェクトストレージシステムの構成を模式的に示す図である。
分散オブジェクトストレージシステム500は、プロキシサーバ501と複数のサーバ510とを備える。図9に示す例においては、サーバを示す符号としては、任意のサーバを指すときには符号510を用いるが、複数のサーバのうち1つを特定する必要があるときには符号A〜Fを用いる。
プロキシサーバ501は、図示しないネットワークを介して、複数のサーバ510に接続されるとともに、図示しないクライアントコンピュータに接続され、このクライアントコンピュータに代わってサーバ510へのデータアクセスを行なう。プロキシサーバ501は、サーバ機能を備えたコンピュータ等の情報処理装置である。
プロキシサーバ501は、データファイルを特定する情報に対して当該データファイルの格納位置を関連付けて構成される管理情報を備える。そして、プロキシサーバ501は、クライアントからデータファイルへのリード/ライト要求を受信すると、受信したファイル名に基づいてこの管理情報を参照して、アクセス対象のデータファイルにアクセスする。
また、プロキシサーバ501は、サーバ510に対してオブジェクトの書き込みを行なわせるとともに、いずれかのサーバ510に対してインデックスの作成を行なわせる。
例えば、プロキシサーバ501は、サーバAに対してオブジェクト(メタデータ及びデータ)を送信して、その書き込みを行なわせるとともに、サーバBに対して当該オブジェクトのメタデータを送信して、インデックスを作成させる。
プロキシサーバ501からの指示に従ってオブジェクトの書き込みを行なったサーバAは、次に、サーバCにオブジェクトを送信して、その書き込みを指示する。これにより、オブジェクトの冗長化が実現される。同様にして、オブジェクトの書き込みを行なったサーバCは、サーバEにオブジェクトを送信して、その書き込みを指示する。オブジェクトの格納を行なうこれらのサーバA,サーバC,サーバEをオブジェクト処理サーバという場合がある。
一方、プロキシサーバ501からインデックスの作成指示を受信したサーバBは、インデックスの作成指示とともに受信したメタデータを用いてインデックスの作成を行なう。また、このインデックスの作成を行なったサーバBは、次に、サーバDにメタデータを送信してインデックスの作成を指示する。これにより、インデックスの冗長化が実現される。インデックスの作成を行なったサーバDは、サーバFにメタデータを送信してインデックスの作成を指示する。インデックスを作成するこれらのサーバB,サーバD,サーバFをインデックス処理サーバという場合がある。
図10は従来の分散オブジェクトストレージシステムにおけるオブジェクトの書き込み時の処理を示すシーケンス図である。
プロキシサーバ501からの指示に応じて、サーバAにオブジェクトの書き込みが行なわれた後、このサーバAからの指示に応じてサーバCにオブジェクトの書き込みが行なわれる。また、その後、サーバCからの指示に応じてサーバEにオブジェクトの書き込みが行なわれる。
一方、サーバBにおいては、プロキシサーバ501からの指示に応じて、インデックスの作成が行なわれた後、このサーバBからの指示に応じてサーバDにおいてインデックスの作成が行なわれる。また、その後、このサーバDからの指示に応じてサーバFにおいてインデックスの作成が行なわれる。
しかし、このような従来の分散オブジェクトストレージシステムにおいては、いずれかの処理中に障害が発生すると、「オブジェクトを蓄積している」ことと「オブジェクトのインデックスが作成されている」こととの間で整合性が保たれなくなるケースが発生する。
図11は従来の分散オブジェクトストレージシステムにおけるオブジェクトの書き込み時の処理を示すシーケンス図であり、プロキシサーバ501がシステムダウンした状態を示す。
この図11に示す例においては、プロキシサーバ501が、サーバAに対してオブジェクトの書き込み指示を行なった後に、サーバBに対してインデックスの作成指示を行なう前にシステムダウンしている。
これにより、サーバA,C,Eにおいてはそれぞれオブジェクトが蓄積されるが、サーバB,D,Fにおいてはインデックスが作成されない。すなわち、オブジェクトの蓄積状態とインデックスとの整合性が保たれていない状態が生じる。
図12は従来の分散オブジェクトストレージシステムにおけるオブジェクトの書き込み時の処理を示すシーケンス図であり、サーバAがシステムダウンした例を示す。
この図12に示す例においては、プロキシサーバ501がサーバAに対してオブジェクトの書き込み指示を行なった後に、サーバAがシステムダウンしている。プロキシサーバ501からはサーバBに対してのインデックスの作成指示が行なわれている。
これにより、サーバB,D,Fにおいてはそれぞれインデックスが作成されるが、サーバAがシステムダウンしたため、サーバC,Eにおいてはオブジェクトの書き込みが行なわれない。すなわち、この場合にもオブジェクトの蓄積状態とインデックスとの整合性が保たれていない状態が生じる。
このような分散オブジェクトストレージシステムにおける、オブジェクトの蓄積状態とインデックスとの整合性が保たれていない状態の発生を抑止するために、オブジェクトの書き込みを行なったサーバが、それぞれインデックスの作成指示を送信することが考えられる。
図13は従来の分散オブジェクトストレージシステムの改良例におけるオブジェクトの書き込み時の処理を示す図である。
この図13に示す例においては、図9に示した従来の分散オブジェクトストレージシステム500において、オブジェクトの書き込みを行なったサーバA,サーバC,サーバEが、それぞれサーバBに対して当該オブジェクトのメタデータを送信して、インデックスを作成させる。
これにより、プロキシサーバ501が、サーバAに対してオブジェクトの書き込み指示を行なった後に、サーバBに対してインデックスの作成指示を行なう前にシステムダウンした場合にも、インデックスの作成が行なわれる。すなわち、分散オブジェクトストレージシステム500内において、オブジェクトの蓄積状態とインデックスとの整合性が保たれる。
また、プロキシサーバ501からオブジェクトの書き込み指示を受けたサーバAは、サーバCにオブジェクトの書き込み指示を送信した後に、サーバBにインデックスの作成指示を行なう。
これにより、サーバAが、サーバCにオブジェクトの書き込み指示を送信する前にシステムダウンとなった場合には、システム500内において、オブジェクトの書き込みもインデックスの作成を行なわれず、オブジェクトの蓄積状態とインデックスとの整合性が保たれる。また、サーバAが、サーバCにオブジェクトの書き込み指示を送信した後であって、サーバBにインデックスの作成指示を送信する後にシステムダウンとなった場合にも、オブジェクトの書き込みを行なったサーバC,サーバEからサーバBに対してインデックスの作成指示が行なわれる。これにより、オブジェクトの蓄積状態とインデックスとの整合性が保たれる。
なお、インデックスの作成指示を受信したサーバBは、インデックスの作成指示とともに受信したメタデータを用いてインデックスの作成を行なう。
また、インデックスの作成を行なったサーバBは、次に、サーバDにメタデータを送信してインデックスの作成を指示し、更に、インデックスの作成を行なったサーバDは、サーバFに対してインデックスの作成を指示する。
特開2005−321922号公報 特開2004−342042号公報
しかしながら、このような図13に示す従来の分散オブジェクトストレージシステムにおいては、インデックスサーバB,D,Fは、各オブジェクト処理サーバから受信するインデックスの作成指示に従ってインデックスの作成を行なう。すなわち、インデックスサーバB,D,Fにおいて重複したインデックス作成処理を行なうので、不要なインデックス処理を行なうこととなり非効率的であるという課題がある。
1つの側面では、本発明は、オブジェクトの書き込みを効率的に処理することができるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、この情報処理装置は、ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置であって、1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信するインデックス作成依頼受信部と、前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する決定部とを備える。
一実施形態によれば、効率的にオブジェクト書き込みを処理することができる。
実施形態の一例としての分散ストレージシステムの機能構成を模式的に示す図である。 実施形態の一例としての分散ストレージシステムのハードウェア構成を示す図である。 実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理を説明するための図である。 実施形態の一例としての分散ストレージシステムにおける機能構成を例示する図である。 実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図である。 実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図である。 実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図である。 実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図である。 従来の分散オブジェクトストレージシステムの構成を模式的に示す図である。 従来の分散オブジェクトストレージシステムにおけるオブジェクトの書き込み時の処理を示すシーケンス図である。 従来の分散オブジェクトストレージシステムにおけるオブジェクトの書き込み時の処理を示すシーケンス図である。 従来の分散オブジェクトストレージシステムにおけるオブジェクトの書き込み時の処理を示すシーケンス図である。 従来の分散オブジェクトストレージシステムの改良例におけるオブジェクトの書き込み時の処理を示す図である。
以下、図面を参照して本情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての分散ストレージシステムの機能構成を模式的に示す図、図2はそのハードウェア構成を示す図である。
分散ストレージシステム1は、図2に示すように、プロキシサーバ40,クライアント60及び複数(図1に示す例では6つ)のサーバ10a〜10fを備える分散オブジェクトストレージシステムである。
図2に示す例においては、各サーバ10a〜10fとプロキシサーバ40とは、例えばLAN(Local Area Network)50を介して、相互に通信可能に接続されている。また、プロキシサーバ40とクライアント60とは、公衆回線網等のネットワーク51を介して、相互に通信可能に接続されている。
分散ストレージシステム1は、複数のサーバ10a〜10fがそれぞれ有するディスク領域をまとめて、あたかも一つのストレージのように取り扱うことを可能とする。この分散ストレージシステム1においては、複数のデータファイルを複数のサーバ10a〜10fに分散して配置される。
クライアント60は、例えば、パーソナルコンピュータ等の情報処理装置であり、プロキシサーバ40を介して、サーバ10a〜10fに格納されたデータファイル(ファイル)に対するリードやライトの要求(リード/ライト要求)を行なう。図2に示す例においては、分散ストレージシステム1に1つのクライアント60が備えられているが、これに限定されるものではなく、2以上のクライアント60をそなえてもよい。
クライアント60は、例えば、ライトを行なうデータをライト要求とともにプロキシサーバ40に対して送信する。
プロキシサーバ40は、クライアント60に代わってサーバ10へのデータアクセスを行なう。プロキシサーバ40は、サーバ機能を備えたコンピュータ等の情報処理装置である。図1及び図2に示す例においては、分散ストレージシステム1に1つのプロキシサーバ40が備えられているが、これに限定されるものではなく、2以上のプロキシサーバ40をそなえてもよい。
プロキシサーバ40は、図2に示すように、CPU(Central Processing Unit)16,メモリ17及び記憶装置18を備える。
記憶装置18は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)等の記憶装置であって、種々のデータを格納するものである。
メモリ17はROM(Read Only Memory)及びRAM(Random Access Memory)を含む記憶装置である。メモリ17のROMには、プロキシ制御に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ17上のソフトウェアプログラムは、CPU16に適宜読み込まれて実行される。また、メモリ17のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。
CPU16は、種々の制御や演算を行なう処理装置であり、メモリ17に格納されたOS(Operating System)やプログラムを実行することにより、種々の機能を実現する。すなわち、CPU16は、図1に示すように、第1オブジェクト書き込み指示部41としての機能を実現する。
第1オブジェクト書き込み指示部41は、サーバ10に対してオブジェクトの書き込みを指示するものであり、サーバ10に対して書込指示とともにオブジェクトを送信する。
例えば、プロキシサーバ40は、データファイルを特定する情報(例えばファイル名)に対して当該データファイルの格納位置を関連付けて構成される管理情報を備える。そして、第1オブジェクト書き込み指示部41は、クライアント60からデータファイルへのライト要求を受信すると、受信したファイル名に基づいて管理情報を参照して、アクセス対象のデータファイルの格納場所を確認する。
プロキシサーバ40は、このデータファイルの格納場所に対応するサーバ10に対してオブジェクトとともにライト要求を送信する。すなわち、プロキシサーバ40は、クライアント60からライト要求が行なわれると、対象のサーバ10に対してオブジェクトの書き込みを行なう。
なお、オブジェクトは、データとそのデータに付随するメタデータとを合わせたものである。
また、プロキシサーバ40は、サーバ10からリード/ライト要求に対するリプライを受信すると、リード/ライト要求の送信元のクライアント60に対して、そのリプライを転送する。なお、プロキシサーバ40としての機能は、既知の種々の手法で実現され、その詳細な説明は省略する。
以下、本実施形態においては、プロキシサーバ40は、サーバAに対してオブジェクトの書き込みを指示する例について示す。
サーバ10a〜10fは、それぞれ記憶装置13をそなえる情報処理装置であり、この記憶装置13にファイルデータを格納するストレージサーバ機能を備える。すなわち、サーバ10a〜10fは、それぞれストレージサーバノードとして機能する。各サーバ10a〜10fは互いに同様の構成を備える。
以下、サーバを示す符号としては、複数のサーバのうち1つを特定する必要があるときには符号10a〜10fを用いるが、任意のストレージサーバノードを指すときには符号10を用いる。また、以下、サーバ10aをサーバAと表現する場合がある。同様に、サーバ10bをサーバBと、サーバ10cをサーバCと、サーバ10dをサーバDと、サーバ10eをサーバEと、サーバ10fをサーバFと、それぞれ表現する場合がある。
各サーバ10は、記憶装置13にオブジェクトの書き込みを行なうオブジェクト処理機能と、オブジェクトに関するインデックスを作成するインデックス処理機能とを有し、オブジェクトの書き込みが行なわれると、そのインデックスが作成される。
以下、オブジェクト処理機能を実現するサーバ10をオブジェクト処理サーバ10という場合があり、インデックス処理機能を実現するサーバ10をインデックス処理サーバ10という場合がある。
サーバ10は、図2に示すように、CPU11,メモリ12及び記憶装置13をそなえる。
記憶装置13は種々のデータやプログラムを格納する記憶装置であって、例えば、HDDやSSDである。また、記憶装置13として、例えば、複数の記憶装置によりRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
メモリ12はROM及びRAMを含む記憶装置である。メモリ12のROMには、オブジェクト処理制御に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。メモリ12上のソフトウェアプログラムは、CPU11に適宜読み込まれて実行される。また、メモリ12のRAMは、一次記憶メモリあるいはワーキングメモリとして利用される。更に、メモリ12のRAMには、後述する第1インデックス作成実行部25がインデックス作成を行なったメタデータに関する識別情報が処理履歴として格納される。すなわち、メモリ12は図1に示す識別情報保持部(識別情報記憶部)28として機能する。
CPU11は、種々の制御や演算を行なう処理装置であり、メモリ12に格納されたOSやプログラムを実行することにより、種々の機能を実現する。
そして、サーバ10のCPU11が、制御プログラム(オブジェクト記憶制御プログラム及びインデックス作成制御プログラム)を実行することにより、図1に示すように、オブジェクト書き込み実行部21,識別情報生成部22,第2オブジェクト書き込み指示部23,第1インデックス作成指示部24,第1インデックス作成実行部25,第2インデックス作成指示部26及び第2インデックス作成実行部27として機能する。
オブジェクト書き込み実行部21は記憶装置13にオブジェクトを格納する処理を行なう。このオブジェクト書き込み実行部21は、プロキシサーバ40の第1オブジェクト書き込み指示部41や他のサーバ10の第2オブジェクト書き込み指示部23からオブジェクト書き込み指示(データの記憶指示)を受信し、当該指示に従って記憶装置13にオブジェクトを記憶させる(格納する)。すなわち、オブジェクト書き込み実行部21は、データの記憶指示を受信する記憶指示受信部として機能するとともに、データを記憶装置13に記憶する記憶実行部としても機能する。
また、特にプロキシサーバ40の第1オブジェクト書き込み指示部41からオブジェクトの書き込み指示を受信するサーバ10を、第1オブジェクト処理サーバ10という。本実施形態においては、サーバA(サーバ10a)が第1オブジェクト処理サーバ10となる。
一方、他のサーバ10の第2オブジェクト書き込み指示部23からオブジェクト書き込み指示を受信するサーバを、第2オブジェクト処理サーバ10という。本実施形態においては、サーバC(サーバ10c)及びサーバE(サーバ10e)が第2オブジェクト処理サーバ10となる。
識別情報生成部22は、指示されたオブジェクト書き込みに対して、システム内でユニークとなる識別情報を生成する。すなわち、識別情報生成部22は、受信した記憶指示に関する識別情報を生成する。
識別情報としては、例えば、UUID(Universally Unique IDentifier)を用いることができる。なお、識別情報はUUIDに限定されるものではなく、例えば、ライト指示を行なったクライアント60のIP(Internet Protocol)アドレスとタイムスタンプを組み合わせたものを用いてもよい。また、UUIDにタイムスタンプを組み合わせてもよい。識別情報にタイムスタンプを含めることにより、ログが見易くなるという効果も期待できる。
第2オブジェクト書き込み指示部23は、他のサーバ10に対してオブジェクトを送信して、このオブジェクトの書き込みを指示する。また、第2オブジェクト書き込み指示部23は、上述した識別情報をオブジェクト書き込み指示に付加して送信する。
具体的には、当該サーバ10においてプロキシサーバ40の第1オブジェクト書き込み指示部41からの指示に従ってオブジェクトの書き込みを行なった場合には、第2オブジェクト書き込み指示部23は、識別情報生成部22によって生成された識別情報を付与して、他のサーバ10に対してオブジェクトの書き込みを指示する。
また、当該サーバ10において他のサーバ10の第2オブジェクト書き込み指示部23からの指示に従ってオブジェクトの書き込みを行なった場合には、第2オブジェクト書き込み指示部23は、オブジェクトの書き込み指示とともに受信した識別情報を付与して、他のサーバ10に対してオブジェクトの書き込みを指示する。
なお、オブジェクトの書き込み指示の対象となるサーバ10は、オブジェクトに応じて決定される。例えば、予めオブジェクトの論理構造やパスに応じてオブジェクトの書き込み先のサーバ10を決定しておき、各サーバ10のメモリ12や記憶装置13の所定の領域に管理テーブル等として格納する。第2オブジェクト書き込み指示部23はこの管理テーブルを参照することで、オブジェクトの書き込み指示を送信するサーバ10を特定する。
第1インデックス作成指示部24は、他のサーバ10に対してオブジェクトのメタデータを送信してインデックスの作成を指示する。すなわち、第1インデックス作成指示部24は、他のサーバ10に対して、データのインデックスの作成を依頼するインデックス作成依頼を送信する送信部として機能する。また、第1インデックス作成指示部24は、上述した識別情報をインデックス作成指示(インデックス作成依頼)に付加して送信する。
具体的には、当該サーバ10においてプロキシサーバ40の第1オブジェクト書き込み指示部41からの指示に従ってオブジェクトの書き込みを行なった場合には、第1インデックス作成指示部24は、識別情報生成部22によって生成された識別情報を付与して、他のサーバ10に対してインデックスの作成を指示する。
また、当該サーバ10において他のサーバ10の第2オブジェクト書き込み指示部23からの指示に従ってオブジェクトの書き込みを行なった場合には、第1インデックス作成指示部24は、オブジェクトの書き込み指示とともに受信した識別情報を付与して、他のサーバ10に対してインデックスの作成を指示する。
なお、インデックスの作成指示の対象となるサーバ10は、オブジェクトに応じて決定される。例えば、予めオブジェクトの論理構造やパスに応じてインデックスの作成指示先のサーバ10を決定しておき、各サーバ10のメモリ12や記憶装置13の所定の領域に管理テーブル等として格納する。第1インデックス作成指示部24はこの管理テーブルを参照することで、インデックスの作成指示を送信するサーバ10を特定する。
以下、この第1インデックス作成指示部24がインデックスの作成指示を送信するサーバ10を第1インデックス処理サーバ10という場合がある。本実施形態においては、サーバB(サーバ10b)が第1インデックス処理サーバ10となる。
一方、他のサーバ10のからインデックスの作成指示を受信するサーバ10であって、第1インデックス処理サーバ10b以外のサーバ10を、第2インデックス処理サーバ10という。本実施形態においては、サーバD(サーバ10d)及びサーバF(サーバ10f)が第2インデックス処理サーバ10となる。
第1インデックス作成実行部25は、上述した第1インデックス作成指示部24によるインデックスの作成指示を受信し、このインデックス作成指示に応じてインデックスを作成する。具体的には、この第1インデックス作成実行部25は、インデックス作成指示とともに送信されたメタデータを用いてインデックスを作成する。
すなわち、第1インデックス作成実行部25は、1以上のサーバ10から記憶したデータに対するインデックス作成依頼を受信するインデックス作成依頼受信部として機能するともに、データのインデックスを作成するインデックス作成部として機能する。なお、このインデックスの作成は、既知の手法を用いて実現することができ、その説明は省略する。
また、第1インデックス作成実行部25は、インデックスの作成を行なうと、当該インデックスの作成指示に付加されていた識別情報を、識別情報保持部28に格納する。これにより、識別情報保持部28を参照することで、インデックスの作成処理済みのオブジェクト(メタデータ)を把握することができる。なお、この識別情報保持部28に格納されている識別情報を識別情報キャッシュという場合がある。
さらに、第1インデックス作成実行部25は、第1インデックス作成指示部24からインデックスの作成指示を受信すると、インデックスの作成に先立って、識別情報保持部28を参照して、インデックスの作成指示に付加されている識別情報が識別情報キャッシュに含まれているか否かを確認する。そして、第1インデックス作成実行部25は、インデックスの作成指示に付加されていた識別情報が識別情報保持部28に保持されていない場合にインデックスを作成する。一方、第1インデックス作成実行部(インデックス作成抑止部)25は、インデックスの作成指示に付加されていた識別情報が識別情報保持部28に保持されている場合にはインデックスの作成を抑止する。
すなわち、第1インデックス作成実行部25は、インデックス作成依頼に付加された識別情報に応じて、データのインデックスを作成するか否かを決定する決定部として機能する。
第2インデックス作成指示部26は、他のサーバ10に対してオブジェクトのメタデータを送信してインデックスの作成を指示する。この第2インデックス作成指示部26は、他のサーバ10の第2インデックス作成実行部27に対して、オブジェクトのメタデータを送信してインデックスの作成を指示する。
第2インデックス作成実行部27は、上述した第2インデックス作成指示部26によるインデックスの作成指示に応じてインデックスを作成する。すなわち、インデックス作成指示とともに送信されたメタデータを用いてインデックスを作成する。なお、このインデックスの作成は、既知の手法を用いて実現することができ、その説明は省略する。
サーバ10は、第2オブジェクト書き込み指示部23もしくはプロキシサーバ40の第1オブジェクト書き込み指示部41からオブジェクト書き込み指示を受信すると、記憶装置13にオブジェクトの書き込みを行なうオブジェクト処理機能を実行する。すなわち、オブジェクト処理サーバ10として機能する。
一方、サーバ10は、第1インデックス作成指示部24もしくは第2インデックス作成指示部26からインデックス作成指示を受信すると、オブジェクトに関するインデックスを作成するインデックス処理機能を実行する。すなわち、インデックス処理サーバ10として機能する。
本実施形態においては、サーバA,サーバC及びサーバEがオブジェクト処理サーバ10として機能し、サーバB,サーバD及びサーバFがインデックス処理サーバ10として機能する例を示す。
(B)動作
上述の如く構成された実施形態の一例としての分散ストレージシステム1におけるオブジェクトの書き込み処理を、図4を参照しながら図3を用いて説明する。
図4は実施形態の一例としての分散ストレージシステム1における機能構成を例示する図であり、図3に示す処理を実現するための機能構成を示す。
これらの図3及び図4においては、プロキシサーバ40がサーバA(第1オブジェクト処理サーバ10a)に対してオブジェクトの書き込みを行なわせる例を示している。また、サーバAからサーバCにオブジェクトの書き込み指示が行なわれ、更に、サーバCからサーバEにオブジェクトの書き込み指示が行なわれる。
また、サーバAは、サーバB(第1インデックス処理サーバ10b)にインデックスの作成指示を行ない、サーバBからサーバDにインデックスの作成指示が行なわれ、更に、サーバDからサーバFにインデックスの作成指示が行なわれる例を示している。
プロキシサーバ40の第1オブジェクト書き込み指示部41が、オブジェクト(データ及びメタデータ)を、書き込み対象であるサーバAに送信すると(符号A1参照)、サーバAにおいて、オブジェクト書き込み実行部21が記憶装置13にオブジェクトを書き込む(符号A2参照)。サーバAにおいては、識別情報生成部22が、このオブジェクトの書き込みに対して識別情報を生成する(符号A3参照)。サーバAの第2オブジェクト書き込み指示部23が、生成した識別情報をオブジェクトに付与してサーバCに送信し、オブジェクトの書き込み指示を行なう(符号A4参照)。
また、サーバAの第1インデックス作成指示部24は、サーバBに対して、オブジェクトのメタデータに生成した識別情報を付与してサーバBの第1インデックス作成実行部25に送信し、インデックスの作成指示を行なう(符号A5参照)。
インデックスの作成指示を受信したサーバBの第1インデックス作成実行部25は、識別情報保持部28の識別情報キャッシュを参照して、メタデータに付与された識別情報が識別情報保持部28に格納されているか否かを確認する(符号A6参照)。
この時点においては、受信した識別情報と同一の識別情報が識別情報保持部28に格納されていないので、第1インデックス作成実行部25は、メタデータを用いてインデックスを作成する(符号A7参照)。また、インデックスを作成した第1インデックス作成実行部25は、当該インデックスの作成指示に付与されていた識別情報を識別情報保持部28に格納する。
さらに、サーバBの第2インデックス作成指示部26は、インデックスの作成に用いたメタデータをサーバDに送信して、インデックスの作成を指示する(符号A8参照)。
サーバDにおいて、第2インデックス作成実行部27は、受信したインデックス作成指示に応じて、このインデックス作成指示とともに送信されたメタデータを用いてインデックスを作成する(符号A9参照)。また、サーバDの第2インデックス作成指示部26は、インデックスの作成に用いたメタデータをサーバFに送信して、インデックスの作成を指示する(符号A10参照)。
サーバFにおいて、第2インデックス作成実行部27は、受信したインデックス作成指示に応じて、このインデックス作成指示とともに送信されたメタデータを用いてインデックスを作成する(符号A11参照)。
このように、サーバB,サーバD及びサーバFにおいては、インデックス作成機能が実行される。
一方、サーバAからオブジェクトの書き込み指示を受信したサーバCにおいては、オブジェクト書き込み実行部21が、受信したオブジェクトを記憶装置13に格納する(符号A12参照)。
また、サーバCにおいては、第2オブジェクト書き込み指示部23が、受信したオブジェクトに付与された識別情報をオブジェクトに付与してサーバEに送信し、オブジェクトの書き込み指示を行なう(符号A13参照)。
さらに、サーバCの第1インデックス作成指示部24は、サーバBに対して、オブジェクトに付与された識別情報をメタデータに付与してサーバBの第1インデックス作成実行部25に送信して、インデックスの作成指示を行なう(符号A14参照)。
このサーバCからのインデックスの作成指示を受信したサーバBにおいては、第1インデックス作成実行部25は、識別情報保持部28の識別情報キャッシュを参照して、メタデータに付与された識別情報が識別情報保持部28に格納されているか否かを確認する(符号A15参照)。
受信した識別情報と同一の識別情報が識別情報保持部28に格納されているので、第1インデックス作成実行部25は、当該識別情報が付与されたインデックスの作成指示は破棄して、インデックスの作成を行なわない。すなわち、インデックスの作成を抑止する。
これにより、第1インデックス処理サーバ10であるサーバBにおける重複するインデックスの作成が阻止される。また、第1インデックス処理サーバ10bは第2インデックス処理サーバ10であるサーバD,サーバFに対するインデックスの作成指示を送信しないので、これらの第2インデックス処理サーバ10における不要なインデックスの作成も阻止することができる。
サーバCからオブジェクトの書き込み指示を受信したサーバEにおいては、オブジェクト書き込み実行部21が、受信したオブジェクトを記憶装置13に格納する(符号A16参照)。
さらに、サーバEの第1インデックス作成指示部24は、サーバBに対して、オブジェクトに付与された識別情報をメタデータに付与してサーバBの第1インデックス作成実行部25に送信して、インデックスの作成指示を行なう(符号A17参照)。
このサーバEからのインデックスの作成指示を受信したサーバBにおいては、第1インデックス作成実行部25は、識別情報保持部28の識別情報キャッシュを参照して、メタデータに付与された識別情報が識別情報保持部28に格納されているか否かを確認する(符号A18参照)。
受信した識別情報と同一の識別情報が識別情報保持部28に格納されているので、第1インデックス作成実行部25は、当該識別情報が付与されたインデックスの作成指示は破棄して、インデックスの作成を行なわない。すなわち、インデックスの作成を抑止する。
これによっても、第1インデックス処理サーバ10であるサーバBにおける重複するインデックスの作成が阻止される。また、第1インデックス処理サーバ10bは第2インデックス処理サーバ10であるサーバD,サーバFに対するインデックスの作成指示を送信しないので、これらの第2インデックス処理サーバ10における不要なインデックスの作成も阻止することができる。
図5は実施形態の一例としての分散ストレージシステム1におけるオブジェクトの書き込み処理のシーケンス図である。
プロキシサーバ40から第1オブジェクト処理サーバ10であるサーバAに対してオブジェクトの書き込み指示が送信される(符号B1参照)。サーバAにおいて、記憶装置13にオブジェクトが書き込まれる。また、サーバAにおいては、このオブジェクトの書き込みに対して識別情報(図5に示す例においては、識別情報=α)が生成される。なお、αは任意の数値や文字列を示すものとする。
サーバAは、サーバCに対して、この識別情報(=α)を付したオブジェクトの書き込み指示を送信する(符号B2参照)。サーバCにおいて、この書き込み指示に応じて記憶装置13にオブジェクトが書き込まれる。
オブジェクトの書き込みを行なったサーバCは、サーバEに対して、識別情報(=α)を付したオブジェクトの書き込み指示を送信する(符号B3参照)。サーバEにおいて、この書き込み指示に応じて記憶装置13にオブジェクトが書き込まれる。
また、サーバCに対してオブジェクトの書き込み指示を行なったサーバAは、サーバBに対して、識別情報(=α)を付したインデックスの作成指示を送信する(符号B4参照)。
サーバBにおいては、識別情報保持部28の識別情報キャッシュを参照して、インデックスの作成指示に付加された識別情報が識別情報保持部28に格納されているか否かを確認する。
この時点においては、受信した識別情報と同一の識別情報が識別情報保持部28に格納されていないので、サーバBは、サーバAから受信したメタデータを用いてインデックスを作成する。また、サーバBは、受信したインデックスの作成指示に付与されていた識別情報を識別情報保持部28に格納する。
さらに、サーバBは、インデックスの作成に用いたメタデータをサーバDに送信して、インデックスの作成を指示する(符号B5参照)。
また、サーバBには、オブジェクトの書き込みを行なったサーバCからもインデックスの作成指示が送信される(符号B6参照)。このサーバCからのインデックス作成指示にも、識別情報(=α)が付加されている。
サーバCからのインデックス作成指示を受信したサーバBにおいては、識別情報保持部28の識別情報キャッシュを参照して、サーバCからのインデックスの作成指示に付加された識別情報(=α)が識別情報保持部28に格納されているか否かを確認する。
この時点において、受信した識別情報(=α)は既に識別情報保持部28に格納されている。すなわち、識別情報=αのオブジェクト書き込み処理については、インデックスの作成は行なわれているので、サーバBは、この識別情報(=α)が付加されたサーバCからのインデックスの作成指示には従わずに、インデックスは作成しない。ただし、サーバBは、当該インデックスの作成指示の送信元であるサーバCに対して完了通知は返信する(符号B7参照)。
同様に、サーバBには、オブジェクトの書き込みを行なったサーバEからもインデックスの作成指示が送信される(符号B8参照)。このサーバEからのインデックス作成指示にも、識別情報(=α)が付加されている。
サーバEからのインデックス作成指示を受信したサーバBにおいては、識別情報保持部28の識別情報キャッシュを参照して、サーバEからのインデックスの作成指示に付加された識別情報(=α)が識別情報保持部28に格納されているか否かを確認する。
この時点において、受信した識別情報(=α)は既に識別情報保持部28に格納されている。すなわち、識別情報=αのオブジェクト書き込み処理については、インデックスの作成は行なわれているので、サーバBは、この識別情報(=α)が付加されたサーバEからのインデックスの作成指示には従わずに、インデックスは作成しない。ただし、サーバBは、当該インデックスの作成指示の送信元であるサーバEに対して完了通知は返信する(符号B9参照)。
サーバBからのインデックスの作成指示を受信したサーバDは、受信したメタデータを用いてインデックスを作成する。また、サーバDは、インデックスの作成に用いたメタデータをサーバFに送信して、インデックスの作成を指示する(符号B10参照)。
サーバDからのインデックスの作成指示を受信したサーバFは、受信したメタデータを用いてインデックスを作成する。また、サーバFは、インデックス作成の完了通知をサーバDに応答する(符号B11参照)。同様に、サーバDはサーバBに、また、サーバBはサーバAに、それぞれインデックス作成の完了通知を応答する(符号B12,B13参照)。
また、オブジェクトの書き込みを行なったサーバEは、サーバCに対してオブジェクト書き込みの完了通知を応答する(符号B14)。同様に、サーバCはサーバAにオブジェクトの書き込みの完了通知を応答する(符号B15)、また、サーバAは、サーバCからのオブジェクトの書き込みの完了通知と、サーバBからのインデックス作成の完了通知とを受信すると、プロキシサーバ40に完了通知を応答する(符号B16参照)。
(C)効果
このように、実施形態の一例としての分散ストレージシステム1によれば、プロキシサーバ40からオブジェクトの書き込み指示を受信した第1オブジェクト処理サーバ10(例えば、サーバ10a)において、識別情報生成部22が、指示されたオブジェクトの書き込みに対してシステム内でユニークとなる識別情報を生成する。
そして、この第1オブジェクト処理サーバ10aから、この作成された識別情報がオブジェクトの書き込み指示に付加されて他サーバ10(第2オブジェクト処理サーバ;例えばサーバ10c)に送信され、同様に、この識別情報がインデックス作成指示に付加されて第1インデックス処理サーバ10(例えばサーバ10b)に送信される。
第1オブジェクト処理サーバ10aからオブジェクトの書き込み指示を受けた各第2オブジェクト処理サーバ10(例えば、サーバ10c,10e)においては、オブジェクトの書き込みが行なわれる。また、これらの第2オブジェクト処理サーバ10c,10eは、インデックス管理サーバ10b(サーバB)に対して、受信した識別情報とともにインデックスの作成指示をそれぞれ送信する。
インデックス作成指示を受けた第1インデックス処理サーバ10bにおいては、インデックスの作成指示に付加して送信された識別情報を用いて識別情報保持部28を参照することで、かかる識別情報のオブジェクトのインデックスが先に作成されているか否かを確認する。
そして、第1インデックス処理サーバ10bは、インデックスの作成指示に付加された識別情報が識別情報保持部28に格納されている場合、すなわち、識別情報のオブジェクトのインデックスが先に作成されている場合には、インデックスの作成を抑止する。
これにより、第1インデックス処理サーバ10であるサーバBにおける重複するインデックスの作成が阻止され、負荷を軽減することができる。また、第1インデックス処理サーバ10bは第2インデックス処理サーバ10であるサーバD,サーバFに対するインデックスの作成指示を送信しないので、これらの第2インデックス処理サーバ10における不要なインデックスの作成も阻止することができる。これによってもサーバD,サーバFにおける負荷を軽減することができる。従って、オブジェクトの書き込み処理を効率的に行うことができる。
また、プロキシサーバ40が、第1オブジェクト処理サーバ10(例えば、サーバ10a)に対してオブジェクトの書き込み指示を行なう。そして、このオブジェクトの書き込み指示を受信した第1オブジェクト処理サーバ10aが、他のサーバ10(第2オブジェクト処理サーバ;例えば、サーバ10d,10f)にオブジェクトの書き込み指示を行なうとともに、第1インデックス処理サーバ10bにインデックスの作成指示を行なう。
図6は実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図であり、図5に示すシーケンス図にプロキシサーバのシステムダウンとなった状態を追記したものである。この図6中における既述の説明と同様の処理は図5を参照して説明したものと同様であり、その説明を省略する。
この図6に示すように、プロキシサーバ40が、サーバAに対してオブジェクトの書き込み指示を行なった後にシステムダウンの状態となっても、第1オブジェクト処理サーバ10a(サーバA)から第2オブジェクト処理サーバ10c(サーバC)にオブジェクトの書き込み指示が送信される。また、第1インデックス処理サーバ10b(サーバB)に対しても、サーバAからインデックスの作成指示が送信される。
従って、本分散ストレージシステム1においてオブジェクトの書き込み(蓄積)とインデックスの作成とが実行され、本分散ストレージシステム1内において、オブジェクトの蓄積状態とインデックスとの整合性が保たれる。
また、図7も実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図であり、図5に示すシーケンス図の一部を抽出して示すとともにサーバAがシステムダウンとなった状態を追記したものである。この図7中における既述の説明と同様の処理は図5を参照して説明したものと同様であり、その説明を省略する。
この図7に示す例においては、サーバAが、他のサーバ(第2オブジェクト処理サーバ)Cにオブジェクトの書き込み指示を行なった後であり、且つ、第1インデックス処理サーバ10bに対してインデックス作成指示を行なう前にシステムダウンとなっている。
このようなタイミングでサーバAがシステムダウンの状態となると、サーバAからサーバBへのインデックスの作成指示は送信されない。しかし、サーバC及びサーバEのそれぞれからサーバBにインデックスの作成指示が送信される。
これにより、本分散ストレージシステム1においてオブジェクトの書き込み(蓄積)とインデックスの作成とが実行され、本分散ストレージシステム1内において、オブジェクトの蓄積状態とインデックスとの整合性が保たれる。
図8も実施形態の一例としての分散ストレージシステムにおけるオブジェクトの書き込み処理のシーケンス図であり、サーバAがシステムダウンとなった状態を追記したものである。
この図8に示す例においては、プロキシサーバ40からオブジェクトの書き込み指示を行なわれた後に、サーバAが、オブジェクトの書き込み指示もインデックスの作成指示も送信する前にシステムダウンの状態となっている。
このようなタイミングでサーバAがシステムダウンの状態となった場合には、本分散ストレージシステム1においてオブジェクトの書き込み(蓄積)とインデックスの作成とのいずれもが実行されない。これにより、本分散ストレージシステム1内において、「オブジェクトは蓄積されず、インデックスも作成されない」という状態になり、オブジェクトの蓄積状態とインデックスとの整合性が保たれる。
(D)その他
サーバ10において、上述したオブジェクト書き込み実行部21,識別情報生成部22,第2オブジェクト書き込み指示部23,第1インデックス作成指示部24,第1インデックス作成実行部25,第2インデックス作成指示部26及び第2インデックス作成実行部27としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。
同様に、プロキシサーバ40において、上述した第1オブジェクト書き込み指示部41としての機能を実現するためのプログラムも、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。
そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
サーバ10において、オブジェクト書き込み実行部21,識別情報生成部22,第2オブジェクト書き込み指示部23,第1インデックス作成指示部24,第1インデックス作成実行部25,第2インデックス作成指示部26及び第2インデックス作成実行部27としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ12)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU11)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
同様に、プロキシサーバ40において、第1オブジェクト書き込み指示部41としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ17)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU16)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、分散ストレージシステム1に6つのサーバ10を備える例を示すが、これに限定されるものではなく、5つ以下もしくは7つ以上のサーバ10を備えてもよい。
また、上述した実施形態においては、サーバA,サーバC及びサーバEがオブジェクト処理サーバ10として機能し、サーバB,サーバD及びサーバFがインデックス処理サーバ10として機能する例を示しているが、これに限定されるものではなく、適宜変更して実施することができる。
さらに、サーバ10においては、必ずしもオブジェクト処理サーバ10とインデックス処理サーバ10とを分離させる必要はなく、オブジェクト処理サーバ10として機能するとともにインデックス処理サーバ10として機能してもよい。
また、上述した実施形態においては、サーバAが第1オブジェクト処理サーバ10であり、サーバBが第1インデックス処理サーバ10である例を示しているが、これに限定されるものではなく、適宜変更して実施することができる。
さらに、上述した実施形態においては、クライアント60がネットワーク51を介してプロキシサーバ40と接続され、また、各サーバ10とプロキシサーバ40とがLAN50を介して接続されている例を示しているが、これに限定されるものではない。
例えば、クライアント60とプロキシサーバ40とが同一筐体内に備えられてもよく、また、クライアント60と少なくともいずれかのサーバ10とが同一筐体内に備えられてもよい。更に、プロキシサーバ40と少なくともいずれかのサーバ10とが同一筐体内に備えられてもよい。クライアント60とプロキシサーバ40とサーバ10とはLAN50やネットワーク51以外の通信路を介して接続されてもよい。
また、クライアント60がプロキシサーバ40としての機能を備えてもよく、また、いずれかのサーバ10がプロキシサーバ40としての機能を備えてもよい。すなわち、クライアント60もしくはいずれかのサーバ10が第1オブジェクト書き込み指示部41としての機能を備えてもよい。さらに、クライアント60がいずれかのサーバ10としての機能を備えてもよい。
さらに、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
(付記1)
ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置であって、
1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信するインデックス作成依頼受信部と、
前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する決定部と
を備えることを特徴とする、情報処理装置。
(付記2)
インデックス作成済みの前記インデックス作成依頼に関する前記識別情報を記憶する識別情報記憶部を備え、
前記決定部が、前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されている場合には、前記インデックスの作成を行なわないことを決定することを特徴とする、付記1記載の情報処理装置。
(付記3)
前記データのインデックスを作成するインデックス作成部を備え、
前記決定部が、前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されていない場合には、前記インデックスの作成を行なうことを決定し、前記インデックス作成部に前記インデックスを作成させることを特徴とする、付記2記載の情報処理装置。
(付記4)
ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置であって、
データの記憶指示を受信する記憶指示受信部と、
前記データを記憶装置に記憶する記憶実行部と、
受信した前記記憶指示に関する識別情報を生成する識別情報生成部と、
前記データのインデックスの作成を依頼するインデックス作成依頼を、前記識別情報を付加して送信する送信部と、
を備えることを特徴とする、情報処理装置。
(付記5)
ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムであって、
データの記憶指示を受信する記憶指示受信部と、前記データを記憶装置に記憶する記憶実行部と、受信した前記記憶指示に関する識別情報を生成する識別情報生成部と、前記データのインデックスの作成を依頼するインデックス作成依頼を、前記識別情報を付加して送信する送信部と、を備える第1の情報処理装置と、
前記インデックス作成依頼に付加された前記識別情報に応じて、前記データのインデックスを作成するか否かを決定する決定部と、を備える第2の情報処理装置と
を備えることを特徴とする、ストレージシステム。
(付記6)
前記第2の情報処理装置が、
インデックス作成済みの前記インデックス作成依頼に関する前記識別情報を記憶する識別情報記憶部を備え、
前記決定部が、前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されている場合には、前記インデックスの作成を行なわないことを決定することを特徴とする、付記5記載のストレージシステム。
(付記7)
前記第2の情報処理装置が、
前記データのインデックスを作成するインデックス作成部を備え、
前記決定部が、前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されていない場合には、前記インデックスの作成を行なうことを決定し、前記インデックス作成部に前記インデックスを作成させることを特徴とする、付記6記載のストレージシステム。
(付記8)
前記第1の情報処理装置において生成された前記識別情報が付加されたデータの記憶指示を受信する第2の記憶指示受信部と、前記データを記憶装置に記憶する第2の記憶実行部と、前記第2の情報処理装置に対して、受信した前記識別情報を付加したインデックス作成依頼を送信する第2の送信部とを備える第3の情報処理装置を備えることを特徴とする、付記5〜付記7のいずれか1項に記載のストレージシステム。
(付記9)
ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置において、
1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信し、
前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する
ことを特徴とする、インデックス作成制御方法。
(付記10)
インデックス作成済みの前記インデックス作成依頼に関する前記識別情報を識別情報記憶部に記憶し、
前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されている場合には、前記インデックスの作成を行なわないことを決定する
ことを特徴とする、付記9記載のインデックス作成制御方法。
(付記11)
前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されていない場合には、前記インデックスの作成を行なうことを決定し、
前記データのインデックスを作成することを特徴とする、付記10記載のインデックス作成制御方法。
(付記12)
ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続されるコンピュータに、
1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信し、
前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する
処理を実行させることを特徴とする、インデックス作成制御プログラム。
(付記13)
インデックス作成済みの前記インデックス作成依頼に関する前記識別情報を識別情報記憶部に記憶し、
前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されている場合には、前記インデックスの作成を行なわないことを決定する
処理を前記コンピュータに実行させることを特徴とする、付記12記載のインデックス作成制御プログラム。
(付記14)
前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されていない場合には、前記インデックスの作成を行なうことを決定し、
前記データのインデックスを作成する
処理を前記コンピュータに実行させることを特徴とする、付記13記載のインデックス作成制御プログラム。
1 分散ストレージシステム(ストレージシステム)
11,16 CPU
12,17 メモリ
13,18 記憶装置
21 オブジェクト書き込み実行部(記憶指示受信部,記憶実行部)
22 識別情報生成部
23 第2オブジェクト書き込み指示部
24 第1インデックス作成指示部(送信部)
25 第1インデックス作成実行部(インデックス作成依頼受信部,決定部,インデックス作成部)
26 第2インデックス作成指示部
27 第2インデックス作成実行部
28 識別情報保持部(識別情報記憶部)
10,10a,10b,10c,10d,10e,10f サーバ(情報処理装置)
40 プロキシサーバ
41 第1オブジェクト書き込み指示部41
50 LAN(ネットワーク)
51 ネットワーク
60 クライアント

Claims (6)

  1. ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置であって、
    1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信するインデックス作成依頼受信部と、
    前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する決定部と
    を備えることを特徴とする、情報処理装置。
  2. インデックス作成済みの前記インデックス作成依頼に関する前記識別情報を記憶する識別情報記憶部を備え、
    前記決定部が、前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されている場合には、前記インデックスの作成を行なわないことを決定することを特徴とする、請求項1記載の情報処理装置。
  3. 前記データのインデックスを作成するインデックス作成部を備え、
    前記決定部が、前記インデックス作成依頼に付加された識別情報が前記識別情報記憶部に記憶されていない場合には、前記インデックスの作成を行なうことを決定し、前記インデックス作成部に前記インデックスを作成させることを特徴とする、請求項2記載の情報処理装置。
  4. ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置であって、
    データの記憶指示を受信する記憶指示受信部と、
    前記データを記憶装置に記憶する記憶実行部と、
    受信した前記記憶指示に関する識別情報を生成する識別情報生成部と、
    前記データのインデックスの作成を依頼するインデックス作成依頼を、前記識別情報を付加して送信する送信部と、
    を備えることを特徴とする、情報処理装置。
  5. ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続される情報処理装置において、
    1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信し、
    前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する
    ことを特徴とする、インデックス作成制御方法。
  6. ネットワークを介して記憶装置を備える複数の情報処理装置を接続して構成されるストレージシステムに接続されるコンピュータに、
    1以上の前記情報処理装置から記憶したデータに対するインデックス作成依頼を受信し、
    前記インデックス作成依頼に付加された識別情報に応じて、前記データのインデックスを作成するか否かを決定する
    処理を実行させることを特徴とする、インデックス作成制御プログラム。
JP2014012332A 2014-01-27 2014-01-27 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム Active JP6269102B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014012332A JP6269102B2 (ja) 2014-01-27 2014-01-27 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム
US14/572,395 US10671579B2 (en) 2014-01-27 2014-12-16 Information processing apparatus and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014012332A JP6269102B2 (ja) 2014-01-27 2014-01-27 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム

Publications (2)

Publication Number Publication Date
JP2015141446A true JP2015141446A (ja) 2015-08-03
JP6269102B2 JP6269102B2 (ja) 2018-01-31

Family

ID=53679242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014012332A Active JP6269102B2 (ja) 2014-01-27 2014-01-27 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム

Country Status (2)

Country Link
US (1) US10671579B2 (ja)
JP (1) JP6269102B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022190681A1 (ja) * 2021-03-09 2022-09-15 富士フイルム株式会社 ストレージシステム、データ処理方法、及びデータ処理プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102310246B1 (ko) * 2014-04-23 2021-10-08 삼성전자주식회사 세컨더리 인덱스 생성 방법 및 세컨더리 인덱스 저장 장치
US10592478B1 (en) * 2017-10-23 2020-03-17 EMC IP Holding Company LLC System and method for reverse replication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100036864A1 (en) * 2008-08-05 2010-02-11 Oliver Augenstein Prevention of redundant indexes in a database management system
JP2011210059A (ja) * 2010-03-30 2011-10-20 Intec Systems Institute Inc ネットワーク・ストレージ・システム、方法、クライアント装置、キャッシュ装置、管理サーバ、及びプログラム
WO2013108745A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ストレージ装置、その制御方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004342042A (ja) 2003-05-19 2004-12-02 Will Being:Kk 分散環境における通信方法及び通信システム
JP4622300B2 (ja) 2004-05-07 2011-02-02 日本電気株式会社 情報共有システムおよび情報共有用プログラム
US7778984B2 (en) * 2004-11-19 2010-08-17 Microsoft Corporation System and method for a distributed object store
US20060129588A1 (en) * 2004-12-15 2006-06-15 International Business Machines Corporation System and method for organizing data with a write-once index

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100036864A1 (en) * 2008-08-05 2010-02-11 Oliver Augenstein Prevention of redundant indexes in a database management system
JP2011210059A (ja) * 2010-03-30 2011-10-20 Intec Systems Institute Inc ネットワーク・ストレージ・システム、方法、クライアント装置、キャッシュ装置、管理サーバ、及びプログラム
WO2013108745A1 (ja) * 2012-01-16 2013-07-25 日本電気株式会社 ストレージ装置、その制御方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022190681A1 (ja) * 2021-03-09 2022-09-15 富士フイルム株式会社 ストレージシステム、データ処理方法、及びデータ処理プログラム

Also Published As

Publication number Publication date
US10671579B2 (en) 2020-06-02
US20150213068A1 (en) 2015-07-30
JP6269102B2 (ja) 2018-01-31

Similar Documents

Publication Publication Date Title
US10725884B2 (en) Object storage system for an unreliable storage medium
JP5639049B2 (ja) バックアップ動作用のリソース割り当て制御方法
JP4767057B2 (ja) ハッシュ値生成プログラム、ストレージ管理プログラム、判定プログラム及びデータ変更検証装置
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
US10929231B1 (en) System configuration selection in a storage system
JP5938615B2 (ja) 順次バックアップ・デバイスから重複排除されたデータ・オブジェクトを復元するための、コンピュータ・プログラム、システム、および方法
US9135266B1 (en) System and method for enabling electronic discovery searches on backup data in a computer system
US11461009B2 (en) Supporting applications across a fleet of storage systems
JP6269102B2 (ja) 情報処理装置、インデックス作成制御方法及びインデックス作成制御プログラム
JP2016184372A (ja) ストレージシステム,情報処理装置,パリティ生成プログラム及びパリティ生成方法
US10095706B2 (en) Data access system and data access method
US10783042B2 (en) System and method of assessing and managing storage device degradation
JP2008191897A (ja) データ分散保存システム
KR101589122B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 장애 복구 방법 및 시스템
JP6277878B2 (ja) ストレージ装置の制御装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US20120005253A1 (en) Method and apparatus for processing distributed data
JP2021077374A (ja) 情報ライフサイクル管理のための同期オブジェクト配置
JP2009193258A (ja) ディスク装置、データ転送方法、データ転送処理プログラム、及びデータバックアップシステム
JP6398727B2 (ja) 制御装置,ストレージ装置及び制御プログラム
JP2010218335A (ja) ファイル保存システム、ファイル保存方法、及びプログラム
JP5054695B2 (ja) データを記憶する装置及び方法
Angamutu et al. An Insight into the Data Recovery of Deleted or Heavily Damaged Storage Media Through the Lens of R-Studio
US20130007363A1 (en) Control device and control method
US20190129722A1 (en) Systems and methods of running different flavors of a service provider in different host environments
JP2014026356A (ja) データ記憶装置及びデータ記憶方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171218

R150 Certificate of patent or registration of utility model

Ref document number: 6269102

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150