JP6341543B2 - 分散型記憶システム管理装置および方法 - Google Patents

分散型記憶システム管理装置および方法 Download PDF

Info

Publication number
JP6341543B2
JP6341543B2 JP2014531888A JP2014531888A JP6341543B2 JP 6341543 B2 JP6341543 B2 JP 6341543B2 JP 2014531888 A JP2014531888 A JP 2014531888A JP 2014531888 A JP2014531888 A JP 2014531888A JP 6341543 B2 JP6341543 B2 JP 6341543B2
Authority
JP
Japan
Prior art keywords
virtual node
data
storage
storage server
node group
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
JP2014531888A
Other languages
English (en)
Other versions
JP2014531668A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2014531668A publication Critical patent/JP2014531668A/ja
Application granted granted Critical
Publication of JP6341543B2 publication Critical patent/JP6341543B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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
    • G06F11/2053Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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
    • G06F11/2053Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願の相互参照
本願は2011年9月23日に出願された中国特許出願第201110285802.8号で「分散型記憶システムの管理装置および方法」に対して優先を主張し、またその内容は参照することによって本明細書に全体的に組み込まれている。
本開示は分散型記憶技術の分野に関する。具体的に、本開示は分散型記憶システムを管理するためのデバイスおよび方法に関する。
従来の記憶システムはデータを記憶するために記憶サーバを集中させる。集中サーバを使用する従来の記憶システムはいくつかの不利な点がある(例えば、低い性能、信頼性およびセキュリティ)。最近、これらの不利な点を乗り越えるために分散型記憶システムが開発されてきた。拡張可能なシステムとして、分散型記憶システムは位置ベースのサーバを使用し記憶の負担を共通する。しかし、ある場合には、例えばサーバ停止、メンテナンス停止またはネットワーク故障の場合に、分散型記憶システムは使用不可能となることがある。既存の技術はこれらの状況に対応する解決策を提供するが、これらの解決策は現行の分散型記憶システムを複雑にするため、結果としては記憶システムの性能が低くなってしまう(例えば長い待ち時間および低い処理量)。
本概要は、以下の詳細な説明にさらに説明される概念の一部を簡単な形で紹介するために提供されている。本概要は、請求された内容において全ての重要な特徴または基本的な特徴を特定するつもりでもなく、請求された内容の範囲を決定するための補助として単独に使用するつもりでもない。例えば、用語「手法」とは、デバイス(複数を含む)、システム(複数を含む)、方法(複数を含む)、および/またはコンピュータ可読の指示を、上記の文脈および本開示全体により許容される限り、参照し得る。
本明細書は分散型記憶装置を管理する手法を説明する。該記憶装置は複数のシーケンスおよび複数の仮想ノードグループに分けてもよい。いくつかの実施形態において、該複数のシーケンスのそれぞれのシーケンスは所定の数の記憶サーバを含んでもよく、またそれぞれの仮想ノードグループは、該複数のシーケンスの一組の記憶サーバを含んでもよい。データは仮想ノードグループの記憶装置に転送してもよい。記憶装置は、データが所定の再試行回数以内に記憶装置に無事に転送されない場合に使用不可能だと決定することがある。その際は、データを一時記憶装置に転送してもよい。
いくつかの側面において、さらにデータが所定の再試行回数以内に記憶装置に無事に転送されない場合に記憶装置は回復不可能であると決定してもよい。その際は該記憶装置を一時記憶装置で交換してもよい。
詳細な説明は図面とともに記載される。異なる図面において同一の参照番号を使用時、同様または同一のものを示す。
は、分散型記憶管理のためのデバイスを含む例示のシステムに関するブロック図である。 は、図1のデバイスを使用し分散型記憶を管理するための例示の過程に関する流れ図である。 は、図1のデバイスを使用し記憶サーバの使用性を判定する、別の例示の過程に関する流れ図である。
下記の説明は本開示の特定の実施例を説明する。本明細書における実施例は例示のためだけで、本開示に制限を付けるつもりではない。
図1は分散型記憶を管理可能な例示のシステム100に関するブロック図である。システム100は、デバイス102および複数の記憶装置104を備え得る。デバイス102は、記憶装置104を管理し得る。デバイス102は、任意の好適なコンピューティングデバイス(複数を含む)として構成され得る。1つの例示の構成において、デバイス102は、1つ以上のプロセッサ106、入力/出力インターフェース108、ネットワークインターフェース110、およびメモリ112を備える。
メモリ112はランダムアクセスメモリ(RAM)のような揮発性メモリ、および/または読み出し専用メモリ(ROM)もしくはフラッシュRAMのような不揮発性メモリの形でコンピュータ可読媒体を備え得る。メモリ112はコンピュータ可読媒体の一例である。
コンピュータ可読媒体は、コンピュータ可読指示、データ構造体、プログラムモジュール、またはその他のデータ等の情報の記憶に対する方法または技術により実装した、揮発性および不揮発性、また除去可能および除去不可能な媒体を含む。コンピュータ記憶媒体の例として、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他のランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能読み出しメモリ(EEPROM)、フラッシュメモリもしくはその他のメモリ技術、コンパクトディスク読み出しメモリ(CD−ROM)、デジタルバーサタイルディスク(DVD)もしくはその他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくはその他の磁気記憶デバイス、またはコンピューティングデバイスによるアクセスに関する情報を記憶するために使用され得る任意の他の非送信媒体が挙げられるが、これらに限定されない。本明細書において定義されるように、コンピュータ可読媒体は変調データ信号およびキャリア波等の一過性媒体を含まない。
メモリ112をもう少し具体的に見てみると、メモリ112はグループ管理ユニット114を記憶し得る。グループ管理ユニット114は記憶装置104を管理し得る。いくつかの実施形態において、記憶装置は記憶サーバであり得る。図示実施形態において、記憶装置104は複数の記憶装置(すなわち、記憶装置1、記憶装置2、...記憶装置I)および複数の一時ユニット(すなわち、一時記憶装置1、一時記憶装置2、...一時記憶装置K)を備え得、ここでIおよびKは整数であり、2より大きい。
システム100において、グループ管理ユニット114は記憶装置104から複数の記憶装置を選択し、これらの複数の記憶装置を複数のシーケンスに分割し得る。例えば、記憶装置104がNの記憶装置を備え、Nは整数である場合を想定してみる。グループ管理ユニット114はM個の記憶サーバを選択し、xのピアシーケンスに分割しえる。いくつかの実施形態において、それぞれのピアシーケンスは同一の所定の数の記憶サーバを備え得る。別の実施形態においては、個別のピアシーケンスは、様々な数の記憶サーバを備え得る。
M個の記憶サーバを選択した後、グループ管理ユニット114は選択されたM個の記憶サーバをyの仮想ノードグループに分割し得る。いくつかの実施形態において、それぞれの仮想ノードグループは、異なるピアシーケンスに所属するzの記憶サーバを含み得る。いくつかの実施形態において、それぞれの個別の仮想ノードグループは同一の数の記憶サーバを含み得る。別の実施形態においては、それぞれの個別の仮想ノードグループは異なる数の記憶サーバを含み得る。ここでは、N、M、x、yおよびzは整数であり、以下の条件を満たすものである:N≧3、2≦M<N、x≧2、y≧1、x・y≧M(「・」は乗算を表す)および2≦z≦x。いくつかの実施形態において、M個の記憶サーバを選択した後、グループ管理ユニット114はNの記憶サーバの残りの記憶サーバを一時記憶サーバとして指定し得る。
いくつかの実施形態において、それぞれの仮想ノードグループの記憶サーバは異なるピアシーケンスに所属し得る。これらの場合は、x、yおよびMは以下の条件を満たすことがある:M=x・yおよびz=x。例えば、選択されたM個の記憶サーバは以下に示した複合配列a[x][y]で表し得る:
Figure 0006341543
以上に例示したように、M個の記憶サーバはそれぞれに配列a[x][y]の配列素子として表し得る。別の実施形態においては、該配列は、M<x・yの場合に1つ以上の空素子を含み得る。これらの場合は、個別の仮想ノードグループ内の記憶サーバの数が異なる。
話を単純化するために、別途特定されない限り、以下の説明は全て、個別のピアシーケンス内の記憶サーバの数が同一であるというシナリオに基づいている。これらの場合において、上の配列a[x][y]を例として用いて、M個の記憶サーバは、xのピアシーケンスに分割される。例えば、以上例としての配列において、1つ目およびx目のピアシーケンス内の記憶サーバに対応する配列素子はそれぞれ[a11,12,a1y]および[ax1,ax2,axy]であり、また1つ目およびy目の仮想ノードグループ内の記憶サーバに対応する配列素子はそれぞれ[a11,a21,ax1]および[a1y,a2y,axy]である。
いくつかの実施形態において、メモリ112はデータ書き込みユニット116およびデータ読み出しユニット118も含み得る。データ書き込みユニット116はデータを仮想ノードグループ内の記憶サーバに書き込み得る。いくつかの実施形態において、データ書き込みユニット116はデータを仮想ノードグループ内のそれぞれの記憶サーバに書き込み得る。これらの場合において、仮想ノードグループは、無作為に選択され得るか、または所定の規則に基づいて選択され得る。仮想ノードグループ内の記憶サーバの一部が使用不可能である場合(例えば、書き込み/読み出し要求に反応しない場合)、データ書き込みユニット116はデータを、仮想ノードグループ内の残りの使用可能な記憶サーバおよび以上説明されたようにグループ管理ユニット114に指定された一時記憶サーバに書き込み得る。
データ読み出しユニット118は、データが書き込まれた仮想ノードグループ内のいずれかの使用可能な記憶サーバから読み出し得る。いくつかの実施形態において、仮想ノードグループを選択し得、データを仮想ノードグループ内の記憶サーバに書き込み得る。例えば、データ書き込みユニット116は仮想ノードグループ内のそれぞれの記憶サーバに書き込み得る。したがって、全ての記憶サーバが使用可能な場合、個別のピアシーケンスのメンバー記憶サーバに記憶されたデータは同一のものである。
仮想ノードグループ内の記憶サーバが使用不可能である場合、使用不可能な記憶サーバに書き込まれるデータは、一時記憶サーバに書き込まれてもよい。また、該データは、仮想ノードグループの残りの記憶サーバに書き込まれてもよい。記憶サーバが使用可能になり、したがって、回復する場合、データは、記憶サーバに戻し転送されてもよい。ある場合には、データは、その後、一時記憶サーバから削除されてもよい。
いくつかの実施形態において、データ読み出しの間にデータ読み出しユニット118は、データが書き込まれた仮想ノードグループから1つの記憶サーバを無作為に選択し得る。別の実施形態においては、記憶サーバは所定の選択アルゴリズムを使用し選択し得る。
いくつかの実施形態において、メモリはデータ移行ユニット120、再試行制御ユニット122、故障評価ユニット124およびデータルーティングユニット126を含み得る。いくつかの場合は、データ移行ユニット120は、一時記憶データ内のデータを故障後に回復した記憶サーバに戻し転送し得る。いくつかの別の実施形態においては、使用不可能な記憶サーバは回復できない。これらの場合は、データ移行ユニット120は仮想ノードグループ内の他の使用可能な記憶サーバ内のデータを一時記憶サーバに転送するかコピーし、一時記憶を使用し使用不可能な記憶サーバを交換し得る。
該一時記憶サーバは少なくとも2つの目的で機能し得る。一時記憶サーバは、記憶サーバが使用不可能である期間中に一時データ記憶に使用し得る。記憶サーバが回復するとデータは戻し転送され得る。さらに、一時記憶サーバは、回復不可能な記憶サーバの代わりに使用され得る。使用不可能な記憶サーバが回復不可能になり使用できない場合、対応する仮想ノードグループに関連付けられた他のピアシーケンス内の記憶サーバからのデータは、回復不可能な記憶サーバを交換するために一時記憶サーバに移動し得る。したがって、一時記憶サーバは、仮想ノードグループおよびピアシーケンス内の回復不可能な記憶サーバの役割のみならず、回復不可能な記憶サーバの機能性(すなわち、読み出しおよび書き込み)も交換し得る。
いくつかの実施形態において、再試行制御ユニット122はデータ書き込みおよび読み出しの再試行の数を制御し得る。再試行制御ユニット122は記憶サーバ故障(例えば書き込みおよび読み出し要求に対して反応しない場合)後にデータ書き込みユニット116およびデータ読み出しユニット118がデータ書き込みおよび読み出しを実行するために所定の数を判定し得る。故障評価ユニット124は、再試行制御ユニット122が再試行の数が所定の数に至ったと判定した場合に、記憶サーバが使用不可能と決定し得る。その後、故障評価ユニット124は、記憶サーバを再検査するように再試行制御ユニット122に対して指示し得る。再試行制御ユニット122は、記憶サーバが使用不可能と判定された後にデータ書き込みおよび読み出しを実行するためにデータ書き込みユニット116およびデータ読み出しユニット118に対してさらなる所定の数を特定し得る。再検査の上で、故障評価ユニット124はさらなる所定の再試行の数に至って記憶サーバを未だに書き込み/読み出し不可能能の場合に記憶が回復不可能であると判定し得る。故障評価ユニット124は、一時記憶サーバを使用し記憶サーバを交換するために、データ移行ユニット120に対して評価を送信し得る。
上記の説明に従って、本開示の実施形態におけるデバイス102が一瞬の故障、一時故障および永久故障に対処する処理仕組みを提供することを述べる。いくつかの実施形態において、一瞬の故障とは、アプリケーションサーバ(例えば、アプリケーションプログラム)がとても短い期間(例えば、一秒未満)で、一瞬のネットワークダウンタイムまたはその他の理由で記憶サーバに接続出来ないことを意味し得る。したがって、再試行制御ユニット122は定数の読み出しおよび書き込み要求後にデータ書き込みユニット116またはデータ読み出しユニット118がアプリケーションサーバに再度接続することを許可し得る。アプリケーションサーバ(例えば、アプリケーションプログラム)の機能性および使用体験に影響を及ぼさないように再試行の回数は少なくてもよく、2つの再試行の間の時間間隔が存在しなくてもよい。
いくつかの実施形態において、一時故障とは、アップグレード、セキュリティアップデートまたはその他の理由で記憶サーバが一時的に使用不可能となり、ある時間が経つと記憶サーバは再び使用可能であることを意味し得る。永久故障とは、ハードウェア損傷によるデータ損失を意味し得、したがって、記憶サーバは、使用不可能となる。
例えば、再試行制御ユニット122に制御される再試行の数が所定の数に至った後に、故障評価ユニット124は、対応する記憶サーバが故障となった(使用不可能)を判定し、データ書き込みユニット116およびデータ読み出しユニット118に対して評価結果を送信し得る。その後、上記に説明されたように、データ書き込み操作を、故障した記憶サーバに対応する仮想ノードグループ内の残りの使用可能な記憶サーバに対して実行し得る。これらの場合は、データ読み出し操作は、故障した記憶サーバに対応する仮想ノードグループ内のいずれかの記憶サーバに対して実行し得る。故障評価ユニット124は再試行制御ユニット122を使用しさらなる所定の数に基づいて記憶サーバの状態を再検査し得る。再検査の結果として使用可能となった場合(それは、記憶サーバは「一時故障」があって使用のために回復させられたことを意味する)、故障評価ユニット124は、一時記憶サーバ内のデータを回復させられた記憶サーバに転送または移行するようにデータ移行ユニット120に要求し得る。故障評価ユニット124が、対応記憶サーバが使用不可能であり再試行の数がさらなる所定の数に至ったこと(それは記憶サーバが「永久故障」の状態にあることを意味する)を検査で確認できたら、故障評価ユニット124は一部または全てのデータを仮想ノードグループ(故障の記憶サーバが所属するもの)内の他の使用可能な記憶サーバから一時記憶サーバにコピーし始めるように、データ移行ユニット120に要求し得る。その後、一時記憶サーバは回復できない記憶サーバを交換し得る。
いくつかの実施形態において、再試行制御ユニット122が、さらなる所定の数に基づいて記憶サーバの状態を再検査する際に、再試行制御ユニット122は、データ書き込みユニット116およびデータ読み出しユニット118をそれぞれに使用し、繰り返して書き込みまたは読み出し操作を再試行し得る。再試行が成功するか、失敗するかによって、故障評価ユニット124は記憶サーバが使用できるように回復したかどうかを決定し得る。一瞬の故障のシナリオにおいて、データ読み出しおよび書き込みに使用するデータは読み出しまたは書き込みに成功できなかったデータであり得る。別の実施形態において、再試行用のデータは読み出しまたは書き込みに成功できなかったデータよりサイズが小さい所定のテストデータであり得る。
いくつかの実施形態において、所定の数に比較するとさらなる所定の数の方がしばしば大きくて、再試行の2回毎に対して定数の期間を設定可能である。例えば、さらなる所定の数の頻度で再試行の回数が何万回まで、そして何十万回までも至ることがあり、再検査は継続的に数秒毎に繰り返し得る。一時故障および永久故障は、人間により制御(例えば、アップグレード、セキュリティアップデート)または調査(例えば、ハードウェア故障)可能ないくつかのイベントに起因し得る。したがって、故障評価ユニット124は、一時故障が回復可能なのか、永久故障に繋がるのかを判定するために追加の方法を使用し得る。いくつかの実施形態においては、故障評価ユニット124により管理される記憶サーバステータス表が、例えばユーザーからの入力に応えて選択されることがある。例えば、ユーザーが記憶サーバを選択したことに応えてステータスを「一時故障」、「使用可能」、「永久故障」等に変更し得る。
いくつかの実施形態において、データルーティングユニット126は、データを書き込む際にデータ書き込みユニット116により、また読み出しの際にデータ読み出しユニット118により選択された仮想ノードグループを特定し得る。いくつかの実施形態において、ルートの効率を向上させるため、データルーティングユニット126は上記に説明された配列a[x][y]の方法を使用し記憶サーバを管理し得る。例えば、データルーティングユニット126は、仮想ノードグループを選択するためのルート選択サブユニットも含む。ルート選択サブユニットはyの仮想ノードグループを管理するために0、1、y−1のシリアル番号を含み得る。書き込むデータのハッシュ値に基づいて、ルート選択サブユニットはyを分析し[0,y−1]から値を取得し、その後、yの分析から取得された値に対応するシリアル番号を持つ仮想ノードグループを選択し得る。ルート選択サブユニットは選択された仮想ノードグループを、データ書き込みにおいてデータ書き込みユニットの仮想ノードグループとして設定し得る。同様に読み出すデータのハッシュ値に基づいて、ルート選択サブユニットはyを分析し[0,y−1]から値を取得し、yの分析から取得された値に対応するシリアル番号を持つ仮想ノードグループを選択し、その後、選択された仮想ノードグループを、データ読み出しにおいてデータ読み出しユニットの仮想ノードグループとして設定し得る。いくつかの実施形態において、ルート選択サブユニットは書き込む/読み出すデータのハッシュ値Mod yを使用し[0,y−1]から値を取得し得る。
ここでは、記憶原理に基づいて、ハッシュ値の一意性の理由で、選択された仮想ノードグループにデータルーティングユニット126が書き込むデータは選択された仮想ノードグループでデータルーティングユニット126が読み出す同じデータと一貫性がある。これは、ある仮想ノードグループに無作為に書き込むデータが同じ仮想ノードグループから正確に読み出せることを保証できるであろう。上記の過程からもう一歩先に進むと、該データは無作為にある一定の仮想ノードグループに割り当てることができ、該仮想ノードグループ内のピアシーケンスに所属する記憶サーバに書き込み得る。したがって、仮想ノードグループの分離は分散型記憶システムのロードバランスを保持することを保証する。また、ピアシーケンスの分離はそれぞれのピアシーケンス内のデータバックアップを保持/保証できることを保証する。いくつかの実施形態が仮想ノードグループを選択するための計算方法を提供するが、別の実施形態はより複雑な計算方法を提供し得ることを述べる。
いくつかの実施形態において、デバイス102はデータ書き込みユニット116、データ読み出しユニット118およびデータルーティングユニット126を備え得る。これらのコンポーネントはアプリケーションサーバ内にインストールし、記憶システムのクライアントとして使用し得る。しかしながら、グループ管理ユニット114、データ移行ユニット120、再試行制御ユニット122および故障評価ユニット124は記憶サーバおよびアプリケーションサーバと異なる管理サーバに個別にインストールし得る。これらの場合は、記憶サーバおよびアプリケーションサーバの間にミッドルウェア/仲介として使用し得る。位置ベースの構成はデバイス102内の様々なユニットの機能的な特徴に影響を及ぼさないことがあると述べる。
図2は図1に記載のデバイス102を使用し分散型記憶を管理する例示の過程に関する流れ図である。202において、デバイス102は記憶装置104を複数のシーケンスに分割し得る。いくつかの実施形態において、M個の記憶サーバはxのピアシーケンスに分割しyの仮想ノードグループを形成し得る。いくつかの実施形態において、それぞれの仮想ノードグループは異なるピアシーケンスに所属するzの記憶サーバを備え、残りのN−M個の記憶サーバは一時記憶サーバとして指定し得る。例えば、M個の記憶サーバはNの記憶サーバのうちに選択し得る。その後、これらの選択された記憶サーバはxのピアシーケンスに分割し、ここでそれぞれのピアシーケンスは同じ定数の記憶サーバを備え得る。別の実施形態においては、個別のピアシーケンスが様々な数の記憶サーバを備え得る。
204において、デバイス102はピアシーケンスに基づいて仮想ノードグループを形成し得る。いくつかの実施形態において、M個のサーバはyの仮想ノードグループに分割し得る。いくつかの場合は、それぞれの仮想ノードグループが異なるピアシーケンスに所属するxの記憶サーバを備え得る。残りのN−M個の記憶サーバは一時記憶サーバとして指定し得る。ここでは、N、M、xおよびyは整数であり、以下の条件を満たす:N≧3、2≦M<N、x≧2、y≧1、x・y≧M(「・」は乗算を意味する)、またzは自然数の変数であり、以下の条件を満たす:2<z<x。別の実施形態において、zは整数であり得るのでそれぞれの仮想ノードグループ内のサーバの数が同一である。例えば、それぞれの仮想ノードグループは異なるピアシーケンスに所属する記憶サーバを有し得、そこでx、y、Mの値が以下の条件を満たす:M=x・yおよびz=x。
206において、デバイス102は操作がデータ書き込みかデータ読み出しかを判定し得る。過程がデータ書き込みの場合(すなわち、「データ書き込み」の分枝である場合)、デバイス102は、208でデータの記憶のために選択された仮想ノードグループの記憶サーバにデータを書き込むようにデータ書き込みユニット116に指示し得る。いくつかの実施形態において、データは選択された仮想ノードグループのそれぞれの記憶サーバに書き込み得る。該仮想ノードグループ内の記憶サーバが故障または使用不可能となった場合は、記憶サーバに書き込むデータは選択された一時記憶サーバに書き込み得、一方データは仮想ノードグループの残りの使用可能な記憶サーバに書き込むことも可能である。記憶サーバが使用できるように回復する際は、データを戻す。
過程がデータ読み出しの場合(すなわち、「データ読み出し」分枝の場合)、デバイス102はデータを仮想ノードグループから読み出すようにデータ読み出しユニット118に指示し得る。いくつかの実施形態において、デバイス102はデータが書き込まれた仮想ノードグループから無作為に記憶サーバを選択し得る。いくつかの実施形態において、ロードバランスを達成するために、データが書き込まれた仮想ノードグループを無作為に選択し得る。別の実施形態において、データ読み出し用の仮想ノードグループは所定の選択アルゴリズムを使用し選択し得る。
図3は図1に記載のデバイス102を使用し記憶サーバの使用性を判定する、別の例示の過程に関する流れ図である。302において、デバイス102は記憶サーバの故障という判定に応えて書き込みおよび/または読み出し過程を繰り返し得る。304にといて、システムは繰り返した操作が成功したかどうかを判定し得る。成功の場合(すなわち、操作304の「はい」分枝の場合)、デバイス102は次の書き込みおよび/または読み出し操作を実行し得る。失敗の場合(すなわち、操作304の「いいえ」分枝の場合)、デバイス102は308で何回その過程を繰り返したかを判定し得る。過程を繰り返した回数が所定の回数より少ない場合(すなわち、操作308の「いいえ」分枝の場合)、デバイス102は操作302〜306を必要に応じて操作306を含むループ過程(308から302に戻る点線を参照)によって実行し得る。
過程の繰り返し回数が所定の回数に比べて多い場合または同一の場合(すなわち、操作308の「はい」分枝の場合)、デバイス102は310で記憶サーバが使用不可能であると判定し得る。上記にも説明されたように、データ書き込み操作は故障の記憶サーバに対応する仮想ノードグループの残りの使用可能な記憶サーバに、また一時記憶サーバにも実行し得る。別の実施形態において、データ読み出し操作は故障記憶サーバに対応する仮想ノードグループ内の使用可能な記憶サーバの1つで実行し得る。
312において、デバイス102は使用不可能と判定された記憶サーバを再検査し得る。314において、デバイス102は記憶サーバが回復可能かどうかを判定し得る。例えば、使用不可能な記憶サーバが「一時故障」の状態に入って、使用できるように回復させられたがそれはサーバアップグレードまたはセキュリティアップデートによるものであり得る例を挙げる。その後、デバイス102は、データを一時記憶サーバから回復した記憶サーバに戻し転送し得る。いくつかの実施形態において、一時記憶サーバは記憶サーバのダウンタイム中に書き込まれたデータを含み得るので、データ移行操作は簡易で素早いものであり得る。
記憶サーバが回復した場合(すなわち、操作314の「はい」分枝の場合)、デバイス102は316でデータを一時記憶サーバから回復した記憶サーバへ移行させ得る。記憶サーバが回復しない場合(すなわち、操作314の「いいえ」分枝の場合)、デバイス102は318で記憶サーバを何回再検査したかを判定し得る。記憶サーバの再検査回数が所定の回数より少ない場合(すなわち、操作318の「いいえ」分枝の場合)、デバイス102は操作312〜314を必要に応じて操作316を含むループ過程(318から312に戻る点線を参照)によって実行し得る。記憶サーバの再検査回数が所定の回数に比べて多い場合または同一の場合(すなわち、操作318の「はい」分枝の場合)、デバイス102は、320で回復不可能な記憶サーバを、一時記憶サーバを使用し交換し得る。
例えば、デバイス102は、ハードウェア故障および他の極端な理由で記憶サーバが「永久故障」の状態に入ったと判定し得る。その後、デバイス102は(故障記憶サーバが所属する)仮想ノードグループ内の他の使用可能な記憶サーバから全てのデータを一時記憶サーバにコピーし、該一時記憶サーバを使用し故障された記憶サーバを交換し得る。いくつかの実施形態において、「永久故障」を評価するのに厳しい基準保持を保証するために、操作308の所定の数に比較すると、操作318の所定の数の方が大きくあり得る。いくつかの場合は、操作318の所定の数は2つの再試行の間に定数の期間(例えば、一日または数秒)を有し得る。
ピアシーケンスおよび仮想ノードグループの機能性は記憶サーバを分割し管理するためのものであることを述べる。普通の状況では、データは仮想ノードグループ内のそれぞれのピアシーケンスに所属する記憶サーバに書き込み可能であり、一方仮想ノードグループ内のいずれかの使用可能な記憶サーバからデータを読み出し可能である。ある記憶サーバが故障した場合は、データは依然として仮想ノードグループ内のいずれかの使用可能な記憶サーバから読み込み可能であり、一方データは同時に仮想ノードグループ内の全ての使用可能な記憶サーバおよび1つの一時記憶サーバへ書き込まれる(バックアップされる)。記憶サーバが一時故障の状態から戻って使用できるように回復した場合、該故障期間の間に書き込まれたデータは一時記憶サーバから該記憶サーバへ移行し戻し得る。記憶サーバが永久故障の状態に入って使用するように回復出来ない場合、デバイス102は使用可能な記憶サーバの1つからデータを一時記憶サーバにコピーし得、該一時記憶サーバでは故障した記憶サーバを交換する。
本明細書に記載の特定の例は本願の原理および実施形態を例示するためのものである。上記実施形態の説明は本開示の方法および概念を理解するのを補助するために考案された。しかしながら、当業者は本願に記載の概念特定の実施形態および出願範囲に変更を入れることは考えられるので、本明細書の内容は本願に制限を付けるものと認識すべきではない。

Claims (19)

  1. コンピュータ読み取り可能な記録媒体であって、
    1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
    複数の記憶装置を複数のシーケンスに分割することであって、前記複数のシーケンスの個々のシーケンスが、各々、前記複数の記憶装置のうちのそれぞれの予め定められた数の記憶装置を含む、ことと、
    記複数の記憶装置を複数の仮想ノードグループに分割することであって、前記複数の仮想ノードグループは、集合的に前記複数の記憶装置を含み、前記複数の仮想ノードグループの個々の仮想ノードグループは、前記複数のシーケンスの記憶装置のそれぞれのセットを含む、ことと、
    記複数の仮想ノードグループのうちの1つの仮想ノードグループの特定の記憶装置にデータの転送を開始することと、
    前記データが前記仮想ノードグループの前記特定の記憶装置に無事に転送されていないと判定することと、
    前記データを一時記憶装置に転送することと、
    を含む工程実行するように命令するコンピュータ実行可能命令を記憶する、コンピュータ読み取り可能な記録媒体
  2. 前記工程が、
    前記仮想ノードグループの前記特定の記憶装置が回復可能であるかを判定することと、
    前記特定の記憶装置が回復可能である場合、前記データを前記一時記憶装置から前記特定の記憶装置に転送することと、
    前記特定の記憶装置が回復不可能である場合、前記仮想ノードグループにおいて、前記特定の記憶装置を前記一時記憶装置に交換することと、
    をさらに含む、請求項1に記載のコンピュータ読み取り可能な記録媒体
  3. 前記複数の仮想ノードグループが、前記一時記憶装置を含まない、請求項に記載のコンピュータ読み取り可能な記録媒体
  4. 前記工程が、
    特定のデータが所定の再試行回数以内に無事に前記仮想ノードグループの前記特定の記憶装置に転送されていると判定することと、
    前記特定の記憶装置は回復可能であると判定することと、
    前記一時記憶装置から前記特定の記憶装置に無事に転送されなかった前記データを転送することと、
    をさらに含む、請求項に記載のコンピュータ読み取り可能な記録媒体
  5. 前記特定のデータのサイズが、前記特定の記憶装置に無事に転送されなかった前記データのサイズよりも小さい、請求項4に記載のコンピュータ読み取り可能な記録媒体
  6. 前記複数の仮想ノードグループの前記仮想ノードグループのそれぞれの記憶装置は、前記複数のシーケンスのうちの一意のシーケンスに属す、請求項1に記載のコンピュータ読み取り可能な記録媒体
  7. 前記仮想ノードグループの前記特定の記憶装置に前記データの転送を開始することが、前記特定の記憶装置に前記データの書き込みを開始することを含む、請求項1に記載のコンピュータ読み取り可能な記録媒体
  8. 前記工程が、
    前記仮想ノードグループの前記特定の記憶装置が回復不可能であると判定することと、
    記仮想ノードグループの有効な記憶装置に記憶されたデータを前記一時記憶装置にコピーすることであって、前記有効な記憶装置が回復不可能である前記特定の記憶装置とは異なる、ことと、
    前記仮想ノードグループにおいて、前記特定の記憶装置を前記一時記憶装置に交換することと、
    をさらに含む、請求項1に記載のコンピュータ読み取り可能な記録媒体
  9. 数の記憶サーバを複数のシーケンスに分割することであって、前記複数のシーケンスの個々のシーケンスが、各々、前記複数の記憶サーバのうちのそれぞれの予め定められた数の記憶サーバを含む、ことと、
    記複数の記憶サーバを数の仮想ノードグループに分割することであって、前記複数の仮想ノードグループは、集合的に前記複数の記憶サーバを含み、前記複数の仮想ノードグループの個々の仮想ノードグループは、前記複数のシーケンスの記憶サーバのそれぞれのセットを含む、ことと、
    記複数の仮想ノードグループのうちの1つの仮想ノードグループの特定の記憶サーバにデータの転送を開始することと、
    前記特定の記憶サーバに関連した故障が発生したことを判定することと、
    前記データを前記仮想ノードグループの1つ以上の有効な記憶サーバおよび一時記憶サーバに転送することであって、前記1つ以上の有効な記憶サーバは前記故障と関連する前記特定の記憶サーバとは異なる、ことと、
    を含む、方法。
  10. 前記仮想ノードグループの前記特定の記憶サーバに関連する前記故障が永久的であると判定することと、
    前記仮想ノードグループにおいて、前記特定の記憶サーバを前記一時記憶サーバに交換することと、
    をさらに含む、請求項に記載の方法。
  11. 記仮想ノードグループの前記1つ以上の有効な記憶サーバのうちの1つの有効な記憶サーバに記憶されたデータを前記一時記憶サーバにコピーすることをさらに含む、請求項10に記載の方法。
  12. 前記仮想ノードグループの前記特定の記憶サーバに関連する前記故障が永久的であると判定することは、特定のデータが所定の再試行回数以内に無事に前記特定の記憶サーバに転送されないことを判定することを含む、請求項10に記載の方法。
  13. 前記一時記憶サーバが、所定の規則に基づいて選択され、前記仮想ノードグループが、前記一時記憶サーバを含まない、請求項に記載の方法。
  14. 前記仮想ノードグループの前記特定の記憶サーバに前記データの転送を開始することが、前記特定の記憶サーバに前記データの書き込みを開始することを含む、請求項に記載の方法。
  15. 複数の記憶サーバに通信可能に接続されたコンピューティングデバイスを備え、
    前記コンピューティングデバイスは、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサに、
    前記複数の記憶サーバを複数のシーケンスに分割することであって、前記複数のシーケンスのうちの個々のシーケンスは、各々、前記複数の記憶サーバのうちのそれぞれの予め定められた数の記憶サーバを含む、ことと、
    記複数の記憶サーバを複数の仮想ノードグループに分割することであって、前記複数の仮想ノードグループは、集合的に前記複数の記憶サーバを含み、前記複数の仮想ノードグループの個々の仮想ノードグループは、前記複数のシーケンスの記憶サーバのそれぞれのセットを含む、ことと、
    記複数の仮想ノードグループのうちの1つの仮想ノードグループの特定の記憶サーバにデータの転送を開始することと、
    前記データが前記特定の記憶サーバに転送するのに失敗するような、前記特定の記憶サーバが故障していると判定することと、
    前記データを前記特定の記憶サーバに転送するのに所定の再試行回数、失敗したと判定することと、
    前記データを一時記憶サーバに転送することと
    を含む工程を実行するように命令するコンピュータ実行可能命令を記憶したメモリと
    を備える、システム
  16. 前記工程は、前記特定の記憶サーバが回復したと判定された後に、前記データを前記特定の記憶サーバに転送することをさらに含む、請求項15に記載のシステム
  17. 前記工程は、前記特定の記憶サーバが回復不可能であると判定された後に、前記仮想ノードグループにおいて、前記仮想ノードグループの前記特定の記憶サーバを、前記一時記憶サーバに交換することをさらに含む、請求項15に記載のシステム
  18. 特定のデータが、さらなる所定の再試行回数以内に前記仮想ノードグループの前記特定の記憶サーバに無事に転送されない場合、前記特定の記憶サーバが、回復不可能であると判定される、請求項17に記載のシステム
  19. 前記複数のシーケンスのそれぞれのシーケンスが前記複数の記憶サーバのうちの所定の数の記憶サーバを含み、前記複数の仮想ノードグループのうちの前記仮想ノードグループのそれぞれの記憶装置が前記複数のシーケンスのうちの各々、一意のシーケンスに属し、前記仮想ノードグループが、前記一時記憶サーバを含まない、請求項15に記載のシステム
JP2014531888A 2011-09-23 2012-09-14 分散型記憶システム管理装置および方法 Active JP6341543B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110285802.8A CN103019614B (zh) 2011-09-23 2011-09-23 分布式存储系统管理装置及方法
CN201110285802.8 2011-09-23
PCT/US2012/055629 WO2013043514A1 (en) 2011-09-23 2012-09-14 Management apparatus and method of distributed storage system

Publications (2)

Publication Number Publication Date
JP2014531668A JP2014531668A (ja) 2014-11-27
JP6341543B2 true JP6341543B2 (ja) 2018-06-13

Family

ID=47003228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014531888A Active JP6341543B2 (ja) 2011-09-23 2012-09-14 分散型記憶システム管理装置および方法

Country Status (7)

Country Link
US (1) US9053021B2 (ja)
EP (1) EP2758880B1 (ja)
JP (1) JP6341543B2 (ja)
CN (1) CN103019614B (ja)
HK (1) HK1179366A1 (ja)
TW (1) TWI521359B (ja)
WO (1) WO2013043514A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9697226B1 (en) * 2013-06-28 2017-07-04 Sanmina Corporation Network system to distribute chunks across multiple physical nodes
US20150006846A1 (en) 2013-06-28 2015-01-01 Saratoga Speed, Inc. Network system to distribute chunks across multiple physical nodes with disk support for object storage
CN104778180B (zh) * 2014-01-14 2020-03-06 上海盛大网络发展有限公司 云存储元数据处理系统
CN105095290B (zh) * 2014-05-15 2019-02-15 中国银联股份有限公司 一种分布式存储系统的数据布局方法
CN104049912B (zh) * 2014-05-23 2017-09-15 上海爱数信息技术股份有限公司 基于虚拟化平台的分布式存储管理方法
WO2016051512A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
CN106202092B (zh) 2015-05-04 2020-03-06 阿里巴巴集团控股有限公司 数据处理的方法及系统
CN105260401A (zh) * 2015-09-17 2016-01-20 国网北京市电力公司 电力数据查询存储方法及装置
CN107291750B (zh) 2016-03-31 2020-11-06 阿里巴巴集团控股有限公司 一种数据迁移方法和装置
JP6732508B2 (ja) * 2016-04-15 2020-07-29 キヤノン株式会社 データを保存するシステム、サーバー、方法、及びプログラム
CN107948248A (zh) * 2017-11-01 2018-04-20 平安科技(深圳)有限公司 分布式存储方法、控制服务器及计算机可读存储介质
CN108829350B (zh) * 2018-05-31 2020-02-21 阿里巴巴集团控股有限公司 基于区块链的数据迁移方法和装置
CN111381770B (zh) * 2018-12-30 2021-07-06 浙江宇视科技有限公司 一种数据存储切换方法、装置、设备及存储介质
CN110046160B (zh) * 2019-03-15 2021-07-20 中国科学院计算技术研究所 一种基于条带的一致性哈希存储系统构建方法
CN110300170A (zh) * 2019-06-28 2019-10-01 杭州复杂美科技有限公司 区块链分布式存储下载方法、设备和存储介质
US11748166B2 (en) * 2020-06-26 2023-09-05 EMC IP Holding Company LLC Method and system for pre-allocation of computing resources prior to preparation of physical assets
CN113110803B (zh) * 2021-04-19 2022-10-21 浙江中控技术股份有限公司 一种数据存储方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2793517B2 (ja) * 1995-03-22 1998-09-03 甲府日本電気株式会社 データ転送制御装置
JP2001195205A (ja) * 2000-01-14 2001-07-19 Nippon Telegr & Teleph Corp <Ntt> データ蓄積システムのデータ復旧方法及びそのプログラムを記録した媒体
AU2003291014A1 (en) 2002-11-14 2004-06-15 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
DE10350590A1 (de) 2003-10-30 2005-06-16 Ruprecht-Karls-Universität Heidelberg Verfahren und Vorrichtung zum Sichern von Daten bei mehreren unabhängigen Schreib-Lese-Speichern
US20050108593A1 (en) * 2003-11-14 2005-05-19 Dell Products L.P. Cluster failover from physical node to virtual node
JP4426333B2 (ja) * 2004-02-18 2010-03-03 株式会社日立製作所 ディスクアレイ装置
JP4327130B2 (ja) * 2005-06-24 2009-09-09 富士通株式会社 ディスクアレイアクセス動的制御装置、及び方法
US7546321B2 (en) 2005-12-19 2009-06-09 Yahoo! Inc. System and method for recovery from failure of a storage server in a distributed column chunk data store
US8090792B2 (en) * 2007-03-08 2012-01-03 Nec Laboratories America, Inc. Method and system for a self managing and scalable grid storage
US8051362B2 (en) 2007-06-15 2011-11-01 Microsoft Corporation Distributed data storage using erasure resilient coding
US20100268908A1 (en) 2007-11-22 2010-10-21 China Mobile Communications Corporation Data storage method, device and system and management server
US8370833B2 (en) * 2008-02-20 2013-02-05 Hewlett-Packard Development Company, L.P. Method and system for implementing a virtual storage pool in a virtual environment
US7992037B2 (en) 2008-09-11 2011-08-02 Nec Laboratories America, Inc. Scalable secondary storage systems and methods
US8176247B2 (en) 2008-10-28 2012-05-08 Pivot3 Method and system for protecting against multiple failures in a RAID system
US8327186B2 (en) 2009-03-10 2012-12-04 Netapp, Inc. Takeover of a failed node of a cluster storage system on a per aggregate basis
JP4852118B2 (ja) * 2009-03-24 2012-01-11 株式会社東芝 ストレージ装置及び論理ディスク管理方法
US8341457B2 (en) 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
JP2011215794A (ja) 2010-03-31 2011-10-27 Fujitsu Ltd 分散ストレージシステム及びプログラム
EP2387200B1 (en) 2010-04-23 2014-02-12 Compuverde AB Distributed data storage
CN102316127B (zh) 2010-06-29 2014-04-23 阿尔卡特朗讯 无线通信系统中基于分布式存储的文件传输方法

Also Published As

Publication number Publication date
US9053021B2 (en) 2015-06-09
CN103019614B (zh) 2015-11-25
US20130080488A1 (en) 2013-03-28
EP2758880B1 (en) 2017-01-11
TW201314470A (zh) 2013-04-01
CN103019614A (zh) 2013-04-03
TWI521359B (zh) 2016-02-11
JP2014531668A (ja) 2014-11-27
HK1179366A1 (zh) 2013-09-27
WO2013043514A1 (en) 2013-03-28
EP2758880A1 (en) 2014-07-30

Similar Documents

Publication Publication Date Title
JP6341543B2 (ja) 分散型記憶システム管理装置および方法
US12056025B2 (en) Updating the membership of a pod after detecting a change to a set of storage systems that are synchronously replicating a dataset
US9904599B2 (en) Method, device, and system for data reconstruction
US11099953B2 (en) Automatic data healing using a storage controller
US9395925B2 (en) Grouping of tracks for copy source to target destage on global mirror secondary
US20150205531A1 (en) Adding Storage Capacity to an Object Storage System
US11226746B2 (en) Automatic data healing by I/O
US10469288B2 (en) Efficient data transfer in remote mirroring connectivity on software-defined storage systems
US10169441B2 (en) Synchronous data replication in a content management system
US9037762B2 (en) Balancing data distribution in a fault-tolerant storage system based on the movements of the replicated copies of data
US9582384B2 (en) Method and system for data replication
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
CN104391926B (zh) 一种同步数据复制方法及装置
JP2019004327A (ja) 分散処理システム、分散処理システムの管理方法、及び分散処理システム管理プログラム
JP6127005B2 (ja) クラスタシステムのサーバ装置およびプログラム
JP2012230489A (ja) ディスクアレイ装置、同期方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170321

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180510

R150 Certificate of patent or registration of utility model

Ref document number: 6341543

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250