WO2022176497A1 - ストレージシステム、データ処理方法、及びデータ処理プログラム - Google Patents

ストレージシステム、データ処理方法、及びデータ処理プログラム Download PDF

Info

Publication number
WO2022176497A1
WO2022176497A1 PCT/JP2022/002056 JP2022002056W WO2022176497A1 WO 2022176497 A1 WO2022176497 A1 WO 2022176497A1 JP 2022002056 W JP2022002056 W JP 2022002056W WO 2022176497 A1 WO2022176497 A1 WO 2022176497A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage
server
node
received
Prior art date
Application number
PCT/JP2022/002056
Other languages
English (en)
French (fr)
Inventor
豊 大石
理貴 近藤
優子 宇野
美咲 大塚
Original Assignee
富士フイルム株式会社
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 富士フイルム株式会社 filed Critical 富士フイルム株式会社
Priority to JP2023500654A priority Critical patent/JPWO2022176497A1/ja
Publication of WO2022176497A1 publication Critical patent/WO2022176497A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Abstract

ストレージシステムは、各々が少なくとも1つの第1のプロセッサ及び記憶装置を備えた複数のストレージノードを含む。複数のストレージノードの各々の第1のプロセッサは、互いに同じデータを受信し、受信したデータを自ノードの記憶装置に保存し、他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する。

Description

ストレージシステム、データ処理方法、及びデータ処理プログラム
 開示の技術は、ストレージシステム、データ処理方法、及びデータ処理プログラムに関する。
 複数のストレージのノードに同一のデータを、冗長性を持たせて保存する技術として、以下の技術が知られている。例えば特開2011-128917号公報には、複数のストレージ装置に格納されたデータのうち同一内容の冗長データが存在しない二重化欠損データのコピーを、二重化欠損データを管理するディスクノードに指示する二重化復旧処理を行い、二重化復旧処理中に、ストレージ装置に対するデータのライトエラーが発生すると、ライトエラーが発生したストレージ装置に格納されているデータをコピー対象データとし、ライトエラーが発生していないストレージ装置内にコピー対象データの冗長データが存在しない場合、ライトエラーが発生していないストレージ装置へのコピー対象データのコピーを指示することが記載されている。
 特開2008-71209号公報には、複数のストレージノードでデータの分散管理を行う分散ストレージシステムにおいて、あるストレージノードに格納されたデータの異常が検出されると、異常データに対応する冗長データを格納している二重化相手ストレージノードを判断し、二重化相手ストレージノードから冗長データを取得し、この冗長データを異常データの記憶領域に対して上書きすることが記載されている。
 ストレージシステムにおいては、障害発生時におけるデータの消失及びサービス停止のリスクを低減するために、複数のストレージノードを互いに異なる地理的位置に配置し、各拠点に配置された複数のストレージノードに同一のデータを、冗長性を持たせて保存することが行われる。このようなストレージシステムにおいては、各拠点配置された複数のストレージノード相互間において保存されるデータの整合性を保つことが要求される。例えば、あるストレージノードに保存されたデータが、他のストレージノードには保存されていないといった状況が発生することは好ましくない。このようなストレージシステムにおけるデータの転送方法として、ユーザ端末から送信された保存対象のデータを複製し、複製されたデータを複数のストレージノードにそれぞれ転送する方法が考えられる。しかしながら、このような転送方法によれば、同一のデータを保存すべき複数のストレージノードうちの一部のストレージノードにおいてデータ転送が失敗することが想定され、この場合、同一のデータを保存すべき複数のストレージノード間において保存されるデータに不整合が生じる結果となる。
 開示の技術は、上記した点に鑑みてなされたものであり、同一のデータを保存すべき複数のストレージノードにおいて、保存されるデータの整合性を確保することを目的とする。
 開示の技術に係るストレージシステムは、各々が少なくとも1つの第1のプロセッサ及び記憶装置を備えた複数のストレージノードを含む。複数のストレージノードの各々の第1のプロセッサは、互いに同じデータを受信し、受信したデータを自ノードの記憶装置に保存し、他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する
 ストレージシステムは、第2のプロセッサを備えた情報処理装置を更に含んでいてもよい。第2のプロセッサは、複数のストレージノードの各々に互いに同じデータを送信し、複数のストレージノードのうちの一部から、送信したデータの保存に失敗したことを示す情報を受信した場合、又は送信したデータの保存に成功したことを示す情報を所定期間内に受信しない場合、送信したデータの保存に成功したストレージノードにそのデータの削除指示を送信してもよい。第2のプロセッサは、複数のストレージノードの各々に対する同一のデータの送信を予め定められた順序で行ってもよい。第2のプロセッサは、データの読み出し要求があった場合、データを最初に送信したストレージノードとは異なるストレージノードに対して優先的にアクセスしてもよい。複数のストレージノードは、互いに異なる地理的位置に配置されていてもよい。
 開示の技術に係るデータ処理方法は、各々が少なくとも1つの第1のプロセッサ及び記憶装置を備えた複数のストレージノードを含むストレージシステムにおけるデータ処理方法であって、互いに同じデータを受信し、受信したデータを自ノードの記憶装置に保存し、他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する処理を、複数のストレージシステムの各々が備える第1のプロセッサが実行することを含む。
 開示の技術に係るデータ処理プログラムは、データを受信し、受信したデータを自ノードの記憶装置に保存し、他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する処理を、ストレージシステムが備える第1のプロセッサに実行させるためのプログラムである。
 開示の技術によれば、同一のデータを保存すべき複数のストレージノードにおいて、保存されるデータの整合性を確保することが可能となる。
開示の技術の実施形態に係るストレージシステムの構成の一例を示す図である。 開示の技術の実施形態に係るサーバのハードウェア構成の一例を示す図である。 開示の技術の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。 開示の技術の実施形態に係るサーバの機能的な構成の一例を示す機能ブロック図である。 開示の技術の実施形態に係る情報処理装置の機能的な構成の一例を示す機能ブロック図である。 開示の技術の実施形態に係る第1のデータ処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。 開示の技術の実施形態に係る第2のデータ処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。 開示の技術の実施形態に係るストレージシステムにおける処理の一例を示す図である。 開示の技術の実施形態に係るストレージシステムにおける処理の一例を示す図である。 開示の技術の他の実施形態に係る第2のデータ処理プログラムを実行することによって実施される処理の流れの一例を示すフローチャートである。
 以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一または等価な構成要素及び部分には同一の参照符号を付与し、重複する説明は適宜省略する。
[第1の実施形態]
 図1は、開示の技術の実施形態に係るストレージシステム1の構成の一例を示す図である。ストレージシステム1は、情報処理装置10及びサーバ20A及びサーバ20Bを含んで構成されている。ストレージシステム1は、ネットワーク40を介してユーザ端末50に接続されている。ユーザ端末50は、ストレージシステム1を利用するユーザによって使用されるコンピュータである。ストレージシステム1は、ユーザ端末50から保存要求があったデータを保存する。また、ストレージシステム1は、ユーザ端末50からデータの読み出し要求があった場合、要求されたデータを読み出してユーザ端末50に送信する。なお、ストレージシステム1は、データをオブジェクト単位で扱うオブジェクトストレージシステムを構成するものであってもよい。オブジェクトは、データ本体と、データ本体に関するメタデータとを含んで構成される。
 サーバ20A及びサーバ20Bは、それぞれ、ストレージノードを構成するものであり、互いに異なる地理的位置に配置されている。ユーザ端末50から保存要求があったデータは、情報処理装置10によって複製され、同一のデータが、冗長性を有してサーバ20A及びサーバ20Bの双方に保存される。このように、各拠点に配置された複数のストレージノードに同一のデータを、冗長性を持たせて保存することで、一部のストレージノードに障害が発生した場合でも、データの消失及びサービスの停止を回避することができる。なお、ストレージシステム1は、同一のデータが保存される3台以上のサーバ(ストレージノード)を備えていてもよい。
 図2は、サーバ20A及びサーバ20Bのハードウェア構成の一例を示す図である。サーバ20A及びサーバ20Bは、互いに同じハードウェア構成を有する。サーバ20A及びサーバ20Bは、それぞれ、CPU(Central Processing Unit)201、一時記憶領域としてのメモリ202及び記憶装置203を含む。また、サーバ20A及びサーバ20Bは、ネットワークに接続されるネットワークインターフェース204及び外部インターフェース205を含む。CPU201、メモリ202、記憶装置203、ネットワークインターフェース204、及び外部インターフェース205はバス206に接続される。
 記憶装置203は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等の不揮発性の記憶媒体によって実現される。記憶装置203には、第1のデータ処理プログラム210が記憶される。CPU201は、第1のデータ処理プログラム210を記憶装置203から読み出し、メモリ202に展開し、実行する。なお、CPU201は、開示の技術における第1のプロセッサの一例である。
 情報処理装置10は、サーバ20A及びサーバ20Bとユーザ端末50との間のデータ送信を仲介するラッパーとしての機能を有する。図1に示すように、情報処理装置10は、ユーザ端末50から送信された保存対象のデータを複製し、同一のデータをサーバ20A及びサーバ20Bにそれぞれ送信(転送)する。
 図3は、情報処理装置10のハードウェア構成の一例を示す図である。情報処理装置10は、CPU101、一時記憶領域としてのメモリ102及び記憶装置103を含む。また、情報処理装置10は、ネットワークに接続されるネットワークインターフェース104及び外部インターフェース105を含む。CPU101、メモリ102、記憶装置103、ネットワークインターフェース104及び外部インターフェース105はバス106に接続される。
 記憶装置103は、HDD、SSD、又はフラッシュメモリ等の不揮発性の記憶媒体によって実現される。記憶装置103には、第2のデータ処理プログラム110が記憶される。CPU101は、第2のデータ処理プログラム110を記憶装置103から読み出し、メモリ102に展開し、実行する。なお、CPU101は、開示の技術における第2のプロセッサの一例である。
 上記したように、ストレージシステム1においては、障害発生時におけるデータの消失及びサービスの停止を回避する観点から、サーバ20A及びサーバ20Bは互いに異なる地理的位置に配置され、これらのサーバには同一のデータが保存される。このような冗長構成を有するストレージシステム1においては、各拠点配置されたサーバ相互間において、保存されるデータの整合性を保つことが要求される。例えば、サーバ20Aに保存されたデータがサーバ20Bには保存されていないといった状況が発生することは好ましくない。しかしながら、例えば、記憶装置203の故障又は空き容量不足等及び通信障害等に起因して、サーバ20A及びサーバ20Bのうちのいずれか一方において、データの保存に失敗することが想定される。この場合、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じる結果となる。
 本実施形態に係るストレージシステム1においては、サーバ20A及びサーバ20Bのうちのいずれか一方のサーバにおいてデータの保存に失敗した場合、データの保存に成功した他方のサーバにおいて、そのデータを削除する処理が行われる。この処理は、サーバにおけるデータの保存状態を、当該データを保存する前の状態に戻すロールバック処理に相当する。これにより、サーバ20Aとサーバ20Bとの間で、保存されるデータの整合性が保たれる。
 図4は、情報処理装置10から送信(転送)されたデータを保存するときのサーバ20A及びサーバ20Bの機能的な構成の一例を示す機能ブロック図である。図4に示すように、サーバ20A及びサーバ20Bはそれぞれ、第1の受信部21、保存処理部22、第1の通知部23及び削除処理部24を含む。CPU201が第1のデータ処理プログラム210を実行することにより、サーバ20A及びサーバ20Bはそれぞれ、第1の受信部21、保存処理部22、第1の通知部23及び削除処理部24として機能する。
 第1の受信部21は、情報処理装置10から送信(転送)された保存対象のデータを受信する。保存処理部22は、第1の受信部21によって受信されたデータを、自ノードの記憶装置203に保存する処理を行う。
 第1の通知部23は、保存処理部22における処理が成功したか否かを示す第1の成否情報を情報処理装置10に送信する。すなわち、第1の通知部23は、自ノードの記憶装置203へのデータの保存に成功した場合、データ保存に成功したことを示す第1の成否情報を情報処理装置10に送信する。一方、第1の通知部23は、自ノードの記憶装置203へのデータの保存に失敗した場合、データの保存に失敗したことを示す第1の成否情報を情報処理装置10に送信する。記憶装置203へのデータの保存が失敗する場合としては、例えば、記憶装置203が故障している場合及び記憶装置203の空き容量が不足している場合などが考えられる。
 削除処理部24は、情報処理装置10からデータの削除指示を受信した場合に、上記したロールバック処理として、自ノードの記憶装置203に保存されている、対応するデータを削除する処理を行う。削除処理部24は、自ノードにおいてデータの保存が完了(成功)し、他のストレージノードにおいて、データの保存が所定期間内に完了(成功)しなかった場合、自ノードの記憶装置203に保存された対応するデータを削除することになる。
 図5は、ユーザ端末50から送信されたデータをサーバ20A及びサーバ20Bに転送するときの情報処理装置10の機能的な構成の一例を示す機能ブロック図である。図5に示すように、情報処理装置10は、第2の受信部11、データ送信部12、削除指示部13及び第2の通知部14を含む。CPU101が第2のデータ処理プログラム110を実行することにより、情報処理装置10は、第2の受信部11、データ送信部12、削除指示部13及び第2の通知部14として機能する。
 第2の受信部11は、ユーザ端末50から送信された保存対象のデータを受信する。データ送信部12は、第2の受信部11によって受信されたデータを複製し、同一のデータをサーバ20A及びサーバ20Bにそれぞれ送信する。
 削除指示部13は、サーバ20A及びサーバ20Bから送信される第1の成否情報に基づいて、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じているか否かを判定し、不整合が生じていると判定した場合、データの保存に成功したサーバに対して、対応するデータの削除指示を送信する。具体的には、削除指示部13は、サーバ20A及びサーバ20Bのうちの一方のサーバからデータの保存に成功したことを示す第1の成否情報を受信し、且つ、他方のサーバからデータの保存に失敗したことを示す第1の成否情報を受信した場合、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じていると判定し、データの保存に成功したサーバに対して削除指示を送信する。
 また削除指示部13は、サーバ20A及びサーバ20Bうちの一方のサーバからデータの保存に成功したことを示す第1の成否情報を受信し、且つ、他方のサーバから、データの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合においても、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じていると判定し、データの保存に成功したサーバに対して削除指示を送信する。他方のサーバからデータの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合として、当該サーバと情報処理装置10との間で通信障害が発生している場合が想定される。この場合、当該サーバに対して保存対象のデータを送信することができず、また、そのサーバから第1の成否情報を受信することもできない。従って、第1の成否情報を所定期間内に受信しない場合、当該サーバにおいてデータの保存が完了していないと判定することが可能である。
 すなわち、削除指示部13は、サーバ20A及びサーバ20Bのいずれか一方において、データの保存が所定期間内に完了(成功)しない場合に、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じているものとして、データの保存に成功したサーバに対して対応するデータの削除指示を送信する。
 なお、サーバ20A及びサーバ20Bの双方からデータの保存に失敗したことを示す第1の成否情報を受信した場合及びサーバ20A及びサーバ20Bの双方から、データの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合には、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合は生じていないものと考えられる。この場合には、削除指示部13は、データの削除指示を送信することを要さない。しかしながら、この場合においても、サーバ20Aとサーバ20Bの双方に対応するデータの削除指示を送信してもよい。削除指示部13から送信された削除指示を受信したサーバは、自ノードの記憶装置203に保存された対応するデータを削除する処理を行う。
 第2の通知部14は、ユーザ端末50から送信されたデータの保存に成功したか否かを示す第2の成否情報をユーザ端末50に送信する。第2の通知部14は、サーバ20A及びサーバ20Bの双方からデータの保存に成功したことを示す第1の成否情報を受信した場合、データの保存に成功したことを示す第2の成否情報をユーザ端末50に送信する。一方、第2の通知部14は、サーバ20Aとサーバ20Bの少なくとも一方から、データの保存に失敗したことを示す第1の成否情報を受信した場合、又はデータの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合、データの保存に失敗したことを示す第2の成否情報をユーザ端末50に送信する。
 以下に、サーバ20A及びサーバ20Bの作用について説明する。図6は、CPU201が、第1のデータ処理プログラム210を実行することによって実施される処理の流れの一例を示すフローチャートである。第1のデータ処理プログラム210は、例えば、情報処理装置10から保存対象のデータが送信された場合に実行される。
 ステップS1において第1の受信部21は、情報処理装置10から送信された保存対象のデータを受信する。ステップS2において、保存処理部22は、ステップS1において受信されたデータを自ノードの記憶装置203に保存する処理を行う。
 ステップS3において第1の通知部23は、ステップS2における処理が成功したか否かを示す第1の成否情報を情報処理装置10に送信する。
 ステップS4において削除処理部24は、情報処理装置10からのデータの削除指示を受信したか否かを判定する。情報処理装置10から削除指示を受信した場合、ステップS5において削除処理部24は、自ノードの記憶装置203に保存されている対応するデータ(ステップS2において記憶装置203に保存したデータ)を削除する処理を行う。一方、情報処理装置10から削除指示を受信しない場合、ステップS6において削除処理部24は、第1の成否情報の送信後、所定経過時間が経過したか否かを判定する。削除処理部24は、所定期間が経過していないと判定した場合、処理をステップS4に戻し、第1の成否情報の送信後、所定期間が経過したと判定した場合、本ルーチンを終了させる。
 以下に、情報処理装置10の作用について説明する。図7は、CPU101が、第2のデータ処理プログラム110を実行することによって実施される処理の流れの一例を示すフローチャートである。第2のデータ処理プログラム110は、例えば、ユーザ端末50から保存対象のデータが送信された場合に実行される。
 ステップS11において第2の受信部11は、ユーザ端末50から送信された保存対象のデータを受信する。ステップS12においてデータ送信部12は、ステップS11において受信されたデータを複製し、同一のデータをサーバ20A及びサーバ20Bにそれぞれ送信(転送)する。
 ステップS13において削除指示部13は、サーバ20A及びサーバ20Bから送信される第1の成否情報を受け付ける。
 ステップS14において削除指示部13は、第1の成否情報に基づいて、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じているか否かを判定する。削除指示部13は、サーバ20A及びサーバ20Bうちの一方のサーバからデータの保存に成功したことを示す第1の成否情報を受信し、且つ、他方のサーバからデータの保存に失敗したことを示す第1の成否情報を受信した場合、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じていると判定する。また、情報処理装置10は、サーバ20A及びサーバ20Bのうちの一方のサーバからデータの保存に成功したことを示す第1の成否情報を受信し、且つ、他方のサーバから、データの保存に成功したことを示す第1の成否情報を所定期間に受信しない場合、サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じていると判定する。
 サーバ20Aとサーバ20Bとの間で、保存されるデータに不整合が生じていると判定された場合、処理はステップS15に移行され、不整合が生じていると判定されない場合、処理はステップS16に移行される。
 ステップS15において削除指示部13は、サーバ20A及びサーバ20Bのうち、データの保存に成功した一方のサーバに対して、そのデータ(ステップS12において送信されたデータ)の削除指示を送信する。
 ステップS16において第2の通知部14は、ユーザ端末50に第2の成否情報を送信する。第2の通知部14は、サーバ20A及びサーバ20Bの双方からデータの保存に成功したことを示す第1の成否情報を受信した場合、データの保存に成功したことを示す第2の成否情報をユーザ端末50に送信する。一方、第2の通知部14は、サーバ20Aとサーバ20Bの少なくとも一方から、データの保存に失敗したことを示す第1の成否情報を受信した場合、又はデータの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合、データの保存に失敗したことを示す第2の成否情報をユーザ端末50に送信する。
 図8A及び図8Bは、それぞれストレージシステム1における処理の一例を示す図である。図8Aは、ユーザ端末50から送信されたデータが情報処理装置10において複製され、同一のデータが、サーバ20A及びサーバ20Bにそれぞれ送信(転送)され、サーバ20Aにおいて記憶装置203へのデータの保存に失敗し、サーバ20Bにおいて記憶装置203へのデータの保存に成功した場合が例示されている。この場合、サーバ20Aは、データの保存に失敗したことを示す第1の成否情報を情報処理装置10に送信し、サーバ20Bは、データの保存に成功したことを示す第1の成否情報を情報処理装置10に送信する。
 情報処理装置10は、サーバ20A及びサーバ20Bから送信された成否情報に基づいて、サーバ20Aとサーバ20Bとの間で、保存されているデータに不整合が発生していると判定し、データの保存に成功したサーバ20Bに対して、そのデータの削除指示を送信する。この削除指示を受信したサーバ20Bは、記憶装置203に保存されている対応するデータを削除する処理を行う。情報処理装置10は、データの保存に失敗したことを示す第2の成否情報をユーザ端末50に送信する。
 以上のように、開示の技術の実施形態に係るストレージシステム1において、サーバ20A及びサーバ20Bは、互いに同じデータを受信し、受信したデータを自ノードの記憶装置203に保存する。サーバ20A及びサーバ20Bは、自ノード以外の他のストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置203に保存されたデータを削除する処理(ロールバック処理)を行う。
 また、開示の技術の実施形態に係るストレージシステム1において、情報処理装置10は、サーバ20A及びサーバ20Bの各々に互いに同じデータを送信し、サーバ20A及びサーバ20Bのうちの一部から、送信したデータの保存に失敗したことを示す情報を受信した場合、又は送信したデータの保存に成功したことを示す情報を所定期間内に受信しない場合、送信したデータの保存に成功したストレージノードにそのデータの削除指示を送信する。
 開示の技術の実施形態に係るストレージシステム1によれば、同一のデータを保存すべき複数のストレージノードのうち、一部のストレージノードにおいて、データの保存が成功し、且つ他の一部のストレージノードにおいてデータの保存が失敗した場合又はデータの保存の成否が不明である場合、データの保存に成功した一部のストレージノードにおいて、そのデータが削除される。これにより、同一のデータを保存すべき複数のストレージノードにおいて、保存されるデータの整合性を確保することが可能となる。
[第2の実施形態]
 開示の技術の第2の実施形態に係るストレージシステム1において、情報処理装置10は、サーバ20A及びサーバ20Bの各々に対するデータの送信を予め定められた順序で行う。本実施形態においては、サーバ20Aには正データが保存され、サーバ20Bには正データの複製である副データが保存されるものとする。正データとは、ユーザ端末50からのデータの読み出し要求に対して、優先的に読み出されるデータである。すなわち、ユーザ端末50からデータの読み出し要求があった場合、サーバ20Aの記憶装置203に保存された正データが優先的に読み出され、ユーザ端末50に送信される。サーバ20Aにおいて障害が発生しており、サーバ20Aから正データの読み出しができない場合には、サーバ20Bの記憶装置203に保存された副データが読み出され、ユーザ端末50に送信される。
 本実施形態に係る情報処理装置10において、データ送信部12は、サーバ20A及びサーバ20Bに同一のデータを転送する場合、初めにサーバ20Bに副データを送信し、サーバ20Bにおいて副データの保存が完了した場合に、サーバ20Aに正データを送信する。すなわち、サーバ20Bにおいて副データの保存が完了(成功)しない場合には、サーバ20Aには正データが送信されない。
 本実施形態に係る情報処理装置10において、削除指示部13は、サーバ20Aに送信される正データの保存が、サーバ20Aにおいて所定期間内に完了(成功)しない場合に、サーバ20Bに副データの削除指示を送信する。
 以下に、本実施形態に係る情報処理装置10の作用について説明する。図9は、CPU101が、第2のデータ処理プログラム110を実行することによって実施される処理の流れの一例を示すフローチャートである。
 ステップS21において第2の受信部11は、ユーザ端末50から送信された保存対象のデータを受信する。ステップS22においてデータ送信部12は、ステップS21において受信されたデータを、副データとしてサーバ20Bに送信(転送)する。
 ステップS23において削除指示部13は、サーバ20Bから送信される第1の成否情報を受け付ける。ステップS24において削除指示部13は、ステップS23において受け付けた第1の成否情報に基づいて、サーバ20Bが副データの保存に成功したか否かを判定する。削除指示部13は、副データの保存に成功したことを示す第1の成否情報を所定期間内に受信した場合にサーバ20Bが副データの保存に成功したと判定する。一方、削除指示部13は、副データの保存に失敗したことを示す第1の成否情報を受信した場合及び副データの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合、サーバ20Bが副データの保存に成功していないと判定する。サーバ20Bが副データの保存に成功したと判定された場合、処理はステップS25に移行され、サーバ20Bが副データの保存に成功したと判定されない場合、処理はステップS29に移行される。
 ステップS25においてデータ送信部12は、ステップS21において受信されたデータを、正データとしてサーバ20Aに送信(転送)する。
 ステップS26において削除指示部13は、サーバ20Aから送信される第1の成否情報を受け付ける。ステップS27において削除指示部13は、ステップS26において受け付けた第1の成否情報に基づいて、サーバ20Aが正データの保存に成功したか否かを判定する。削除指示部13は、正データの保存に成功したことを示す第1の成否情報を所定期間内に受信した場合にサーバ20Aが正データの保存に成功したと判定する。一方、削除指示部13は、正データの保存に失敗したことを示す第1の成否情報を受信した場合及び正データの保存に成功したことを示す第1の成否情報を所定期間内に受信しない場合、サーバ20Aが正データの保存に成功していないと判定する。サーバ20Aが正データの保存に成功したと判定された場合、処理はステップS29に移行され、サーバ20Aが正データの保存に成功したと判定されない場合、処理はステップS28に移行される。
 ステップS28において削除指示部13は、副データを保存するサーバ20Bに、ステップS22において送信したデータの削除指示を送信する。
 ステップS28において第2の通知部14は、ユーザ端末50に第2の成否情報を送信する。第2の通知部14は、ステップS24において、サーバ20Bがデータの保存に成功したと判定されない場合及びステップS27において、サーバ20Aがデータの保存に成功したと判定されない場合、データの保存に失敗したことを示す第2の成否情報をユーザ端末50に送信する。一方、第2の通知部14は、ステップS27において、サーバ20Aがデータの保存に成功したと判定された場合、データの保存に成功したことを示す第2の成否情報をユーザ端末50に送信する。
 ユーザ端末50からデータの読み出し要求があった場合、情報処理装置10は、上記したように、サーバ20Aの記憶装置203に保存された正データを優先的に読み出し、ユーザ端末50に送信する。サーバ20Aにおいて障害が発生しており、正データの読み出しができない場合には、情報処理装置10は、サーバ20Bの記憶装置203に保存された副データを読み出し、ユーザ端末50に送信する。すなわち、情報処理装置10は、上記したように、ユーザ端末50からデータの読み出し要求があった場合、データを最初に送信したサーバ20Bとは異なるサーバ20Aに対して優先的にアクセスする。
 本実施形態に係るストレージシステム1によれば、サーバ20A及びサーバ20Bの双方においてデータの保存が完了(成功)していない場合には、そのデータを読み出すことができないこととなるので、データの整合性を確保することが可能となる。また、サーバ20Aにおいて正データの保存に失敗した場合には、サーバ20Bにおいて対応する副データが削除されるので、保存されるデータの整合性を確保することが可能となる。
 なお、上記の各実施形態において、情報処理装置10が独立して存在する場合を例示したが、ユーザ端末50が情報処理装置10を兼ねる構成とすることも可能である。すなわち、ユーザ端末50にラッパーとしての機能が実装されていてもよい。
 上記の各実施形態において、例えば、第1の受信部21、保存処理部22、第1の通知部23及び削除処理部24といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
 1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
 複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
 更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
 また、上記実施形態では、第1のデータ処理プログラム210が記憶装置203に予め記憶(インストール)され、第2のデータ処理プログラム110が記憶装置103に予め記憶されている態様を説明したが、これに限定されない。第1のデータ処理プログラム210及び第2のデータ処理プログラム110は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、第1のデータ処理プログラム210及び第2のデータ処理プログラム110は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 なお、2021年2月22日に出願された日本国特許出願2021-026460の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願および技術規格は、個々の文献、特許出願、および技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (7)

  1.  各々が少なくとも1つの第1のプロセッサ及び記憶装置を備えた複数のストレージノードを含むストレージシステムであって、
     前記複数のストレージノードの各々の前記第1のプロセッサは、
     互いに同じデータを受信し、
     受信したデータを自ノードの記憶装置に保存し、
     他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する
     ストレージシステム。
  2.  第2のプロセッサを備えた情報処理装置を更に含み、
     前記第2のプロセッサは、
     前記複数のストレージノードの各々に互いに同じデータを送信し、
     前記複数のストレージノードのうちの一部から、送信したデータの保存に失敗したことを示す情報を受信した場合、又は送信したデータの保存に成功したことを示す情報を所定期間内に受信しない場合、送信したデータの保存に成功したストレージノードにそのデータの削除指示を送信する
     請求項1に記載のストレージシステム。
  3.  前記第2のプロセッサは、前記複数のストレージノードの各々に対する同一のデータの送信を予め定められた順序で行う
     請求項2に記載のストレージシステム。
  4.  前記第2のプロセッサは、データの読み出し要求があった場合、データを最初に送信したストレージノードとは異なるストレージノードに対して優先的にアクセスする
     請求項3に記載のストレージシステム。
  5.  前記複数のストレージノードは、互いに異なる地理的位置に配置されている
     請求項1から請求項4のいずれか1項に記載のストレージシステム。
  6.  各々が少なくとも1つの第1のプロセッサ及び記憶装置を備えた複数のストレージノードを含むストレージシステムにおけるデータ処理方法であって、
     互いに同じデータを受信し、
     受信したデータを自ノードの記憶装置に保存し、
     他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する
     処理を、前記複数のストレージシステムの各々が備える第1のプロセッサが実行するデータ処理方法。
  7.  データを受信し、
     受信したデータを自ノードの記憶装置に保存し、
     他の少なくとも1つのストレージノードにおいて、受信したデータの保存が所定期間内に完了しなかった場合、自ノードの記憶装置に保存されたデータを削除する
     処理を、ストレージシステムが備える第1のプロセッサに実行させるためのデータ処理プログラム。
PCT/JP2022/002056 2021-02-22 2022-01-20 ストレージシステム、データ処理方法、及びデータ処理プログラム WO2022176497A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023500654A JPWO2022176497A1 (ja) 2021-02-22 2022-01-20

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021026460 2021-02-22
JP2021-026460 2021-02-22

Publications (1)

Publication Number Publication Date
WO2022176497A1 true WO2022176497A1 (ja) 2022-08-25

Family

ID=82930765

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/002056 WO2022176497A1 (ja) 2021-02-22 2022-01-20 ストレージシステム、データ処理方法、及びデータ処理プログラム

Country Status (2)

Country Link
JP (1) JPWO2022176497A1 (ja)
WO (1) WO2022176497A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013120463A (ja) * 2011-12-07 2013-06-17 Sony Corp 情報処理方法、情報処理システム、情報処理装置及びプログラム
JP2014153753A (ja) * 2013-02-05 2014-08-25 Ntt Data Corp 情報管理装置、情報管理方法、情報管理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013120463A (ja) * 2011-12-07 2013-06-17 Sony Corp 情報処理方法、情報処理システム、情報処理装置及びプログラム
JP2014153753A (ja) * 2013-02-05 2014-08-25 Ntt Data Corp 情報管理装置、情報管理方法、情報管理プログラム

Also Published As

Publication number Publication date
JPWO2022176497A1 (ja) 2022-08-25

Similar Documents

Publication Publication Date Title
US5845061A (en) Redundant client server system
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
EP3528121B1 (en) Error recovery in a storage cluster
TW454120B (en) Flexible remote data mirroring
EP3155527B1 (en) Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
JP4896438B2 (ja) 分散障害許容型コンピューティングシステムにおける効率のよいレプリカセットの変更
US7793060B2 (en) System method and circuit for differential mirroring of data
US7421553B2 (en) Remote copy operation between different sort of storage system and storage device system
US20070220223A1 (en) Remote copying of updates to primary and secondary storage locations subject to a copy relationship
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
WO2001013235A1 (en) Remote mirroring system, device, and method
CA2572820A1 (en) Method of improving replica server performance and a replica server system
US7797571B2 (en) System, method and circuit for mirroring data
CN113326006B (zh) 一种基于纠删码的分布式块存储系统
US20210271420A1 (en) Method and apparatus for performing data access management of all flash array server
CN113326251B (zh) 数据管理方法、系统、设备和存储介质
WO2022176497A1 (ja) ストレージシステム、データ処理方法、及びデータ処理プログラム
JP6335336B2 (ja) ストレージシステムおよびその制御方法
CN115470041A (zh) 一种数据灾备管理方法及装置
WO2022196112A1 (ja) ストレージシステム、データ処理方法、及びデータ処理プログラム
JP2011253400A (ja) 分散ミラードディスクシステム、コンピュータ装置、ミラーリング方法およびそのプログラム
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
JP2004302573A (ja) データバックアップ方法及びバッアップシステム
JP3636163B2 (ja) 疎結合システムにおけるリカバリ方式及び排他制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22755821

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023500654

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22755821

Country of ref document: EP

Kind code of ref document: A1