JP6299266B2 - データ格納方法、ストレージシステム、プログラム及びストレージ装置 - Google Patents

データ格納方法、ストレージシステム、プログラム及びストレージ装置 Download PDF

Info

Publication number
JP6299266B2
JP6299266B2 JP2014030222A JP2014030222A JP6299266B2 JP 6299266 B2 JP6299266 B2 JP 6299266B2 JP 2014030222 A JP2014030222 A JP 2014030222A JP 2014030222 A JP2014030222 A JP 2014030222A JP 6299266 B2 JP6299266 B2 JP 6299266B2
Authority
JP
Japan
Prior art keywords
data
storage device
storage
unit
stored
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
JP2014030222A
Other languages
English (en)
Other versions
JP2015156071A (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.)
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 JP2014030222A priority Critical patent/JP6299266B2/ja
Priority to US14/603,467 priority patent/US9710196B2/en
Publication of JP2015156071A publication Critical patent/JP2015156071A/ja
Application granted granted Critical
Publication of JP6299266B2 publication Critical patent/JP6299266B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、データ格納方法、ストレージシステム、プログラム及びストレージ装置に関する。
データを格納するストレージシステムとして、格納されたデータの消失を避けるために、複数のストレージ装置が同一のデータを冗長的に格納するストレージシステムが開発されている。例えばインターネットを通じて利用者が特定のサーバにアクセスしてデータの書込みを行った場合には、書込みデータをあるストレージ装置に格納し、更に当該ストレージ装置に格納されたデータと同一のデータ(複製データ)を、他のストレージ装置にも格納する。このように複数のストレージ装置で同一データを保持することで、仮に片方のストレージ装置においてデータが誤って消去されたり、ストレージ装置の故障でデータの読出しが行えない場合でも、他方のストレージ装置にアクセスすることによってデータを読み出すことができる。複数のストレージ装置に同一のデータを保持させることをレプリケーションと呼ぶ。
レプリケーションの実現手法として、まず一つのストレージ装置にデータ書込みを行ない、更に当該ストレージ装置から他のストレージ装置に複製データを送信し、他のストレージ装置で複製データを格納する方法が考えられる。この場合、二つのストレージ装置間を接続するネットワークにおいて通信の混雑が発生していると、ストレージ装置間のデータ転送に時間を要する場合がある。また、複数の複製データについて個別に送信を行うと、データ送信の回数が増加し、ネットワーク上の通信混雑の原因、更なるデータ転送の遅延の原因となる。この問題について、複数のデータをまとめてストレージ装置間で送信して通信回数を圧縮し、通信処理に要するストレージ装置のプロセッサの負荷やネットワークの通信負荷を緩和させ、また複製データの格納に要する時間を短縮させる方法が知られている(例えば特許文献1)。
特開2004−133598
上記の特許文献1においては、複製データを送信する一つのストレージ装置に対して、複製データを受信するストレージ装置が一つだけ存在するストレージシステムにおいて、複数の複製データをまとめて送信する方法が開示されている。しかし特許文献1には、複製データを格納し得るストレージ装置が複数存在するようなストレージシステムを用いた場合について、どのようなレプリケーションの処理を行うのかについては何ら開示がなされていない。例えば第1データを第1ストレージ装置に格納しつつ、第1データの複製データを第2ストレージ装置に格納し、その一方で、第2データについては第1ストレージ装置に格納しつつ、第2データの複製データは第3ストレージ装置に格納する、というストレージシステムを想定する。このようなストレージシステムを利用する場合には、複数の複製データをまとめて転送するという方法をどのように適用するのか、という点についての開示が特許文献1にはなされていない。よって、特許文献1に記載の方法は利便性が十分とは言えない。
本開示は、複製データの格納先が複数存在するストレージシステムにおけるレプリケーションの利便性を高めることを目的とするものである。
開示のデータ格納方法は、ネットワークを介して互いに接続された第1ストレージ装置、第2ストレージ装置及び第3ストレージ装置を用いたデータ格納方法であって、第1データの第1書込み要求と、第2データの第2書込み要求を、第1ストレージ装置が端末装置から受信する工程と、第1書込み要求及び第2書込み要求に応じて、第1データと第2データを第1ストレージ装置に格納する工程と、前記ネットワークの通信負荷が第1閾値以上の場合に、第1ストレージ装置から第2ストレージ装置へ、第2ストレージ装置宛ての第1データと第3ストレージ装置宛ての第2データをまとめて送信する第1送信工程と、第1送信工程に応じて、第1データと第2データを第2ストレージ装置に格納する工程と、第1データと第2データが第2ストレージ装置に格納されたことに応じて、端末装置に完了通知を送信する工程と、第1送信工程の後、第2ストレージ装置から第3ストレージ装置へ、第2データを送信する第2送信工程と、第2送信工程に応じて、第2データを第3ストレージ装置に格納する工程と、第2データが第3ストレージ装置に格納されたことに応じて、第2ストレージ装置に格納された第2データを削除する工程とを有する。
本開示のデータ格納方法によれば、複製データの格納先が複数存在するストレージシステムにおけるレプリケーションの利便性を高めることができる。
実施例におけるストレージシステムの構成図である。 実施例におけるストレージシステムの動作手順を示す図である。 実施例における中継サーバのハードウェア構成図である。 実施例におけるストレージ装置のハードウェア構成図である。 実施例における中継サーバの機能ブロック図である。 実施例におけるデータIDのハッシュ値とデータの格納先ストレージ装置の対応関係を示す表である。 実施例において送信されるデータ構成を示す図である。 実施例におけるストレージ装置の機能ブロック図である。 実施例におけるレプリケーション部の詳細機能ブロック図である。 実施例におけるレプリケーションリストの一例である。 実施例におけるストレージ装置のレプリケーション処理のフローチャートである。 実施例におけるストレージ装置の書込み処理のフローチャートである。 実施例におけるストレージ装置のデータ移動処理のフローチャートである。 実施例における移動リストの例である。 実施例におけるストレージ装置のデータ読出し処理のフローチャートである。
本明細書においては、データの書込み要求を受けてデータを格納するストレージ装置を「マスターノード」と呼び、マスターノードが格納したデータと同一のデータであって、データの消失を防ぐために他のストレージ装置にも格納されるデータを「複製データ」と呼び、複製データを格納する他のストレージ装置を「スレーブノード」と呼ぶこととする。
実施例の説明に先立ち、本願発明者が見出した、スレーブノードとなり得るストレージ装置が複数存在するストレージシステムにおいて、複数の複製データをマスターノードからスレーブノードへ送信する際に生じる課題について説明する。例えばマスターノードに対して第1データ及び第2データの書込み要求がなされるとする。第1データは、複製データを第1のスレーブノードに格納すべきものであり、第2データは、複製データを第2のスレーブノードに格納すべきものであるとする。ストレージ装置間のネットワークの通信負荷が高い場合、複数の複製データを個別のパケットとして通信を行うと、ネットワークの通信負荷を更に高める怖れがある。そこで、上述の特許文献1に記載されているように、通信回数を削減するために2つの複製データをまとめて一つのパケットとし、当該パケットを第1のスレーブノードへ送信したとする。この場合、第2データの複製データは、本来格納されるべき第2のスレーブノードではなく、第1のスレーブノードに格納されることになる。この場合であっても、第2データとその複製データは、それぞれ異なるストレージ装置に格納されているため、データ消失に対する信頼性を高めることはできる。しかし第2データに対して読出し要求があった場合、本来なら第2データの複製データが格納されているべき第2のスレーブノードにアクセスしても所望のデータが格納されていないために、データを読み出すことができない場合がある。この問題を解決するために、第2データの複製データの格納先が第2のスレーブノードから第1のスレーブノードへ変更されたことを、データ毎に例えばデータIDに基づいてシステム内で記憶しておく手法が考えられる。しかしこのような管理方法は、膨大なデータを扱うクラウドコンピューティングの分野等においては実施困難である。
本開示は上記の課題を解決するためのものである。本開示では、ネットワークの通信負荷が所定値を超える状態においては、複数の複製データをまとめて、マスターノードから特定のスレーブノードに送信して格納する。これにより通信回数を削減し、ネットワークの通信負荷や通信処理を行うマスターノードのプロセッサの処理負荷を軽減することができる。またデータを複数のストレージ装置に格納することができ、データ消失等に対する信頼性を向上させることができる。更に、スレーブノードは、自身が格納した複製データのうち、本来なら他のスレーブノードが格納すべき複製データを抽出し、ネットワークの通信負荷が所定値以下の状態において、当該他のスレーブノードに転送する。このように、複製データを格納されるべきスレーブノードに移動させることにより、データの読出し要求があった場合にデータへのアクセスを可能とする。
図1はストレージシステム1を含むネットワーク網全体の構成図である。ネットワーク2には複数のクライアントの端末装置3−1、3−2、3−3(以下、特定の端末装置を指す意図がない場合は単に「端末装置3」と記載する)が接続されており、これらの端末装置3は、ストレージシステム1に対してデータの書込み要求やデータの読出し要求を行う。
ストレージシステム1は中継サーバ10と、中継サーバに接続されたストレージ装置100A、100B、100Cを含む(以下、特定のストレージ装置を指す意図がない場合は単に「ストレージ装置100」と記載する)。中継サーバ10は、ネットワーク2に接続され、端末装置3から送信される書込みデータを受信する。中継サーバ10は例えばゲートウェイやプロキシサーバ等である。中継サーバ10は、ロードバランサーとして機能する。中継サーバ10は、受信した書込みデータ毎に、そのデータを格納するマスターノードとなるストレージ装置100と、そのデータの複製データを格納するスレーブノードとなるストレージ装置100を特定する。マスターノードとスレーブノードの特定方法については後述する。中継サーバ10は、端末装置3から受信したデータの格納場所をストレージ装置100Aに、複製データの格納場所をストレージ装置100Bに特定した場合は、データをマスターノードであるストレージ装置100Aに送信する。ストレージ装置100Aは、受信したデータの複製データを、スレーブノードであるストレージ装置100Bに送信する。
図2を用いて、ストレージシステム1全体の処理の流れを説明する。処理500から処理505は、複製データ毎にマスターノードからスレーブノードに送信する場合を説明するものである。処理500において端末装置3は、データIDを「X」とするデータ(以下、データXと記載する)について書込み要求を行う。このデータXは、ストレージ装置100Aをマスターノードとし、ストレージ装置100Bをスレーブノードとするものとする。データXは、中継サーバ10によりマスターノードであるストレージ装置100Aに転送される。処理501においてストレージ装置100Aは、受信したデータXを自身が有するデータ格納部に書込む。更に処理502において、ストレージ装置100Aは、データXの複製データ(元のデータと同一の内容を有し、データIDも元のデータのデータIDと同じ「X」とする。以下複製データXと記載する)をスレーブノードであるストレージ装置100Bに送信する。処理503においてストレージ装置100Bは、受信した複製データXを自身の有するデータ格納部に格納し、レプリケーションの動作が完了する。その後、処理504においてスレーブノードであるストレージ装置100Bは、複製データXの書込みが完了したことをマスターノードであるストレージ装置100Aに通知する。処理505においてストレージ装置100Aは、ストレージ装置100Bからの完了通知に基づき、書込み要求を行った端末装置3に対して、データXの書込みが完了したことを通知し、一連の動作が完了する。
次に図2の処理506から処理517に基づいて、複数の複製データをまとめて特定のストレージ装置100に送信する場合について説明する。処理506において端末装置3は、データYについて書込み要求を行う。このデータYは、ストレージ装置100Aをマスターノードとし、ストレージ装置100Bをスレーブノードとするものとする。また、処理507において端末装置3は、データZについて書込み要求を行う。このデータZは、ストレージ装置100Aをマスターノードとし、ストレージ装置100Cをスレーブノードとするものとする。データY及びZは何れも、中継サーバ10によりマスターノードであるストレージ装置100Aに転送される。処理508においてストレージ装置100Aは、受信したデータYを自身が有するデータ格納部に書込む。また処理508においてストレージ装置100Aは、受信したデータZを自身が有するデータ格納部に書込む。ここで、後述する所定の条件を満たす場合には、処理510においてストレージ装置100Aは、複製データYと複製データZをまとめて一つのパケットとし、ストレージ装置100Bに送信する。「複製データYと複製データZをまとめて一つのパケットとし」とは、単一の宛先アドレスを有する単一のパケットのペイロード部に、複製データYと複製データZを含ませることをいう。処理511においてストレージ装置100Bは、受信した二つの複製データを自身の有するデータ格納部に格納する。その後、処理512においてストレージ装置100Bは、二つの複製データの書込みが完了したことをストレージ装置100Aに通知する。処理513においてストレージ装置100Aは、ストレージ装置100Bからの完了通知に基づき、データYおよびデータZについての書込が完了したことを端末装置3に通知する。
複製データZは、本来はストレージ装置100Cに格納されるものであるので、ストレージ100Bは、複製データZを格納する正当なスレーブノードではない。そこで処理514においてストレージ装置100Bは、データZの複製データを、後述する所定の条件を満たす場合には、本来の格納先であるストレージ装置100Cに移動させる(送信する)。処理515においてストレージ装置100Cは、複製データZを自身が有するデータ格納部に書込む。処理516においてストレージ装置100Cは、ストレージ装置100Bに対して書込み完了の通知を行う。ストレージ装置100Bは、必要に応じて自身が有するデータ格納部から複製データZを削除する。
図3は、中継サーバ10のハードウェア構成を示す図である。中継サーバ10は、バス15と、バス15によって互いに接続されたプロセッサ11と、メモリ12と、ネットワークインターフェース回路13と、ストレージ装置インターフェース回路14とを有する。
図4は、ストレージ装置100のハードウェア構成を示す図である。ここで開示するストレージ装置100の構成は、ストレージ装置100A、ストレージ装置100B、ストレージ装置100Cの何れにも適用され得るものである。ストレージ装置100は、プロセッサ101、入出力装置インターフェース回路102、NIC103、メモリ104、記憶媒体インターフェース回路105と、これらを互いに接続するバス106を有する。記憶媒体インターフェース回路105は、Hard Disk Drive(HDD)300に接続される。HDD300はデータ格納部の一例である。データ格納部は、ストレージ装置100の内部に設けられても外部に設けられてもよい。
尚、図3及び図4にて示したプロセッサ11及び101は、Central Processing Unit(CPU)、Micro−Processing Unit(MPU)、Digital Signal Processor(DSP)、Field−Programmable Gate Array(FPGA)等の電子回路部品である。またメモリ12及び104は、Dynamic Random Access Memory(DRAM)、Static Random Access Memory(SRAM)、フラッシュメモリ等の電子回路部品である。
図5は、中継サーバ10の有するプロセッサ11の機能ブロック図である。プロセッサ11は、メモリ12または中継サーバ10がアクセス可能な他のメモリに格納された所定のプログラムを実行することにより、図5に示す各ブロックの機能を実現する。プロセッサ11は、データ送受信部16、ハッシュ値算出部17、通知送受信部18、及びリクエスト送受信部19として機能する。また、プロセッサ11は、ハッシュ値対応表20を保持する。
データ送受信部16は、端末装置3からストレージシステム1に宛てて送信された書込みデータを受信し、ストレージ装置100に対して書込みデータを送信する。またデータ送受信部16は、ストレージシステム1に格納されたデータの読出し要求が端末装置3からなされた場合は、ストレージ装置100から読み出されたデータを端末装置3に送信する。
ハッシュ値算出部17は、書込みデータに付されたデータ名(データID)に対してハッシュ値の算出を行う。このハッシュ値は、そのデータをどのストレージ装置100に格納するか、またそのデータの複製データをどのストレージ装置100に格納するかを特定するために用いられる。ハッシュ値対応表20は、算出されたハッシュ値に基づいてマスターノードとスレーブノードとを特定する際に参照される対応表である。ハッシュ値に基づいてマスターノードとスレーブノードを定める方法は種々考えられるが、その一例を図6に示す。
図6に示す例は、ハッシュ値の一番下の桁(1桁目)の値が「0」、「1」、「2」の何れかである場合はストレージ装置100Aをマスターノードとし、「3」、「4」、「5」、の何れかである場合はストレージ装置100Bをマスターノードとし、「6」、「7」、「8」、「9」の何れかである場合はストレージ装置100Cをマスターノードとするよう規定するものである。また、ハッシュ値の下から二番目の桁(2桁目)の値が「0」、「1」、「2」の何れかである場合はストレージ装置100Aをスレーブノードとし、「3」、「4」、「5」、の何れかである場合はストレージ装置100Bをスレーブノードとし、「6」、「7」、「8」、「9」の何れかである場合はストレージ装置100Cをスレーブノードとするよう規定するものである。尚、ハッシュ値の下2桁が例えば「00」であってマスターノードとスレーブノードが何れもストレージ装置100Aとなるような場合は、レプリケーションが実現できない。よってこのような場合は、スレーブノードとして、マスターノードとは異なる、例えばストレージ装置100Bが選択されるような規定を設ける。尚、ここに示した規定はあくまでも一例であり、ハッシュ値に基づく手法に限らず、他の規定を作成してマスターノード及びスレーブノードを決定してもよい。
図5の説明に戻り、通知送受信部18は、データをマスターノードであるストレージ装置100に格納し、かつ複製データを他のストレージ装置100に格納した時点で、書込み要求を行った端末装置3に対して書込み完了通知を行う。この書込み完了通知は、後述するように、複製データがハッシュ値対応表20にて規定される正当なスレーブノードとは異なるストレージ装置100に一時的に格納された場合であっても、その時点で発行される。
リクエスト送受信部19は、端末装置3からのデータ読出し要求を受け付ける。またリクエスト送受信部19は、受け付けたデータ読出し要求で要求されているデータのデータIDのハッシュ値に基づき、当該データがどのストレージ装置100に格納されているかを特定し、特定されたストレージ装置100に対してデータ読出し要求を転送する。尚、データの読出し要求の転送は、マスターノードに対して行ってもよく、またスレーブノードに対して行ってもよい。
尚、プロセッサ11は、図5に示す機能を全て有する必要はない。例えばハッシュ値算出部17を、専用のロジック回路としてプロセッサ11とは別に設けてもよく、またハッシュ値対応表20は、メモリ12内に格納してもよい。
図7は、中継サーバ10からストレージ装置100に送信されるパケットのフォーマットを示す図である。端末装置3から送信されるパケットは、データIDとデータ本体(ペイロード)を含む。中継サーバ10は、このデータIDに基づいてマスターノードとなるストレージ装置100を特定し、特定されたストレージ装置100を宛先とする宛先アドレスをパケットにヘッダーまたはテイラーとして付加して転送する。
図8は、ストレージ装置100が有するプロセッサ101の機能ブロック図である。プロセッサ101は、メモリ104またはプロセッサ101がアクセス可能な他のメモリに格納された所定のプログラムを実行することにより、図8に示す各ブロックの機能を実現する。プロセッサ101は、データ送受信部110、データ書込み部120、データ読出し部125、レプリケーション部130、データ移動部140、リクエスト受信部150、判定部160、ハッシュ値算出部170、負荷モニタ部180、通知送受信部190、及びデータ消去部200として機能する。また、ストレージ装置100は、図6に示した中継サーバ10が有するハッシュ値対応表20と同内容のハッシュ値対応表210を保持する。尚、プロセッサ101は、図8に示す機能を全て有する必要はない。例えばハッシュ値算出部170や負荷モニタ180を、専用のロジック回路としてプロセッサ101とは別に設けてもよく、またハッシュ値対応表210は、メモリ104内に格納してもよい。
データ送受信部110は、端末装置3から送信された書込みデータを、中継サーバ10を介して受信する。またデータ送受信部110は、端末装置3からデータの読出し要求があった場合には、HDD300等のデータ格納部に格納されているデータを端末装置3に対して送信する。
データ書込み部120は、端末装置3から受信したデータを、HDD300等のデータ格納部に書込む。またデータ書込み部120は、マスターノードから送信された複製データ、又は正当なスレーブノードではないストレージ装置100から送信された複製データを、データ格納部に格納する。本実施例では、データ書込み部120がデータを受信した際、受信したデータがどのストレージ装置100宛てのデータであるかを確認することなく書込みの処理を行ってもよい。例えばデータがマスターノードであるストレージ装置100から送信された複製データであって、かつ複製データを受信したストレージ装置100がその複製データの正当なスレーブノードではない場合であっても、当該ストレージ装置100はその複製データを自身のデータ格納部に格納する。
データ読出し部125は、端末装置3からデータの読出し要求があった場合には、HDD300等のデータ格納部からデータを読出す。レプリケーション部130は、そのストレージ装置100がマスターノードである場合は、受信したデータの複製データを、スレーブノードとなるストレージ装置100に送信することにより、レプリケーションを行う。
データ移動部140は、受信した複製データが、他のストレージ装置100を正当なスレーブノードとするものであった場合に、その複製データを正当なストレージ装置100に移動させる。すなわち、自ストレージ装置100を宛先とする複製データと、他のストレージ装置100を宛先とする複製データとを含むパケットを受信したストレージ装置100のデータ移動部140は、所定の条件を満たす場合には、その複製データを当該他のストレージ装置100に送信する。
リクエスト受信部150は、例えば端末装置3からのデータ読出し要求を受信する。判定部160は、レプリケーション部130やデータ移動部140が行う処理において、必要な判定を行う。
ハッシュ値算出部170は、書込みデータのデータIDに対してハッシュ値の算出を行う。負荷モニタ部180は、ネットワークの通信負荷を監視する。例えばネットワーク上を単位時間あたりに通信されるパケットの数や、または自ストレージ装置100と他のストレージ装置100との間で送受信されるPingコマンドの応答時間等を算出する。Pingコマンドは、ネットワーク疎通を確認したい相手ノードに対して特定のパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンドをいう。
通知送受信部190は、他のストレージ装置100や端末装置3との間で、データの書込みが完了した際に行う完了通知の送受信等を行う。例えば、ストレージ装置100がマスターノードである場合は、マスターノードにてデータの格納が終了し、かつスレーブノードでの複製データの格納が終了した際に、通知送受信部190は端末装置3に書込みの完了を通知する。また通知送受信部190は、複製データの格納を指示したスレーブノードから、当該複製データの格納が完了した旨の通知を受信する。ストレージ装置100がスレーブノードである場合は、通知送受信部190は、自ストレージ装置100にて複製データの格納が終了したことを示す通知をマスターノードに対して送信する。
データ消去部200は、データ移動部140によって他のストレージ装置100に送信されたデータについて、当該他のストレージ装置100から通知送受信部190に対して書込み完了の通知がなされた場合は、自ストレージ装置100にて格納していた複製データを削除する。本開示において、このデータ削除の処理は必須ではないが、この処理によりデータ格納部の空き容量を確保することができる。
図9は、図8で示したレプリケーション部130の詳細な機能ブロック図である。レプリケーション部130は、受付バッファ131、処理部132、送信バッファ133、登録部134を有する。尚、受付バッファ131や送信バッファ133は、専用の回路としてプロセッサ101とは別個に設けてもよい。
受付バッファ131は、スレーブノードとなるストレージ装置100に送信する複製データを、レプリケーション部130が受け付けた順に保持する保持部である。受付バッファ131としては、例えばFirst In First Out(FIFO)バッファが適用可能である。
処理部132は、受付バッファ131に保持された複製データを順に取り出し、所定の条件を満たす場合には、複数の複製データをまとめる処理を行う。まとめられた複数の複製データは、共通の宛先アドレスを有する単一のパケットを構成する。
送信バッファ133は、他のストレージ装置100に送信される複製データを一時的に保持しておく保持部である。処理部132によってまとめられた複数の複製データを有するパケットは、送信バッファ133に保持される。
登録部134は、複製データをスレーブノードとなるストレージ装置100に送信する際に、レプリーションリスト135を作成する。レプリケーションリスト135には、マスターノードが複製データを含むパケットをスレーブノードに送信する際に、パケット毎に生成されたレプリケーションIDと、そのパケットの送信先アドレスと、そのパケットに含まれる複製データの対応関係を記録するリストである。このリストは、どのデータについてレプリケーションの処理が終了したかを記録するために用いられる。例えば複製データを含むパケットをスレーブノードに送信する際にレプリケーションリスト135に登録を行い、スレーブノードから複製データの書込みが終了したことの通知を受けた時に、レプリケーションリスト135から対応するレプリケーションIDの欄を消去する。
図10はレプリケーションリスト135の一例である。レプリケーションリスト135には、レプリケーションIDと、パケットに含まれるデータのデータIDと、送信先アドレスが対応付けられて記録される。例えば図2の処理500から処理505にて示した例であれば、ストレージ装置100Aにて作成されるレプリケーションリスト135は、図10に示す表の第1欄のように登録される。すなわち、レプリケーションID(aa)に対して宛先アドレス(B:ストレージ装置100Bのアドレス)とデータID(X)が登録される。また、図2の処理506から処理517にて示した例であれば、ストレージ装置100Aにて作成されるレプリケーションリスト135は、図10に示す表の第2欄のように登録される。すなわち、単一のレプリケーションID(bb)に対して単一の宛先アドレス(B)と複数のデータのデータID(Y、Z)が登録される。
次に、ストレージ装置100の処理フローについて説明する。図11は、ストレージ装置100のデータの書込みに関する処理フローを示す。データの書込み処理は処理1000により開始し、処理1001においてデータ送受信部110がデータを受信する。処理1002においてデータ書込み部120が、受信したデータを自身のデータ格納部に書込む。処理1003においてハッシュ値算出部170が、データに付されたデータIDのハッシュ値を算出する。処理1004において判定部160が、ハッシュ値とハッシュ値対応表210に基づき、自身が、受信したデータのマスターノードであるかどうかを判定する。処理1004において自身がマスターノードであると判定された場合は、処理1005において受付バッファ131が複製データを保持する。そして処理1006においてレプリケーション部130が、受付バッファ131に保持された複製データについてレプリケーション処理を実行する。処理1006の後、処理1007において通知送受信部190が、データの送信元に対してデータの書込みが完了した旨を通知し、処理1008で処理が終了する。処理1004において自身がマスターノードではないと判定された場合は、処理1007に進む。
尚、受付バッファ131に複製データに保持させる処理1005は、受信したデータをHDD300等のデータ格納部に格納した後に行ってもよく、またデータ格納部に受信データを格納する前、もしくはデータ格納部にデータを格納する処理と同時に並行して行ってもよい。またデータ送受信部110で受信したデータをそのまま受付バッファ131に保持させてもよく、また一度データ格納部に格納されたデータを読み出して受付バッファ131に保持させてもよい。更に、ストレージ装置100が、受信したデータにエラーが含まれることを検出し、データの再送もしくはエラーデータの訂正を行ってもよい。この場合は、データの再送やエラーデータの訂正後に、データ格納部にデータを格納し、受付バッファ131に複製データを保持させてもよい。
図12は、レプリケーション部130によるレプリケーションの処理フローであり、図11の処理1006の詳細に相当する。レプリケーションの処理は処理1100により開始される。処理1101において処理部132が、受付バッファ131に保持された複製データを取り出す。処理1102において処理部132は、既に送信バッファ133に他の複製データが保持されているか否かを判定する。他の複製データが送信バッファ133に保持されていない場合は、処理1105へ進み、他の複製データが送信バッファ133に保持されている場合は、処理1103へ進む。
処理1105において送信バッファ133が複製データを保持する。処理1106において登録部134が、ハッシュ値算出部170が算出したハッシュ値とハッシュ値対応表210に基づいてスレーブノードを特定し、レプリケーションリスト135にレプリケーションID及びデータIDとともに宛先アドレスを登録する。処理1107において判定部160は、送信バッファ133に保持されたデータ量が、第1閾値に達しているか否かを判定する。ここで第1閾値とは、例えば送信バッファ133の全容量の80%のように規定する。この時点で送信バッファ133に格納されたデータ量が第1閾値以上である場合は、次の複製データと合わせると、送信バッファ133の容量を超えてしまう恐れがある。そのため、送信バッファ133に保持されたデータ量が第1閾値以上と判定された場合は、処理1110へ進み、複製データの送信を行う。処理1107において送信バッファ133に保持されたデータ量が第1閾値を超えていないと判定された場合は、処理1108へ進む。処理1108において判定部160は、負荷モニタ部180のモニタ結果に基づき、ネットワークの通信負荷が第2閾値以上か否かを判定する。例えば負荷モニタ部180が単位時間当たりに通信されるパケット数をモニタする場合であれば、第2閾値は、パケット数に関する所定の値である。また負荷モニタ部180がPingコマンドの送受信に要する時間をモニタする場合であれば、第2閾値は、時間に関する所定の値である。処理1108において通信負荷が第2閾値以上であると判定された場合は処理1109へ進み、通信負荷が第2閾値以上でないと判定された場合は処理1110へ進む。処理1109において判定部160は、受付バッファ131に保持された次の複製データがあるか否かを判定する。次の複製データがないと判定された場合は、処理1110へ進み、次の複製データがあると判定された場合は、処理1101へ戻る。処理1110において処理部132は、送信バッファ133に保持された複製データに、レプリケーションリスト135に登録された宛先アドレスを含むヘッダーを付してパケットを作成し、スレーブノードとなるストレージ装置100に送信する。
次に、処理1102において、送信バッファ133に既に他の複製データが保持されていると判定された場合について説明する。処理1103において判定部160は、既に送信バッファ133に保持されている複製データと、今回新しく受付バッファ131から取り出した複製データを合計したデータ量が、第3閾値以上か否かを判定する。ここで第3閾値は、例えば送信バッファ133の全容量の80%(第1閾値と同じ値)としてもよく、もしくは第1閾値よりも高い値、例えば送信バッファ133の全容量値と同一の値に設定してもよい。第3閾値を送信バッファ133の全容量と同一の値とした場合は、既に送信バッファ133に格納されているデータに、新しく受付バッファ131から取り出したデータを加えると、送信バッファ133からデータが溢れるかどうかを判定することができる。処理1103で、複製データの合計のデータ量が第3閾値以上と判定された場合は処理1104へ進み、複製データの合計のデータ量が第3閾値を超えないと判定された場合は処理1105へ進む。処理1105に進んだ場合は、処理1105において送信バッファ133には複数の複製データが保持されることになる。一方、処理1104に進んだ場合は、処理部132は、新たに受付バッファ131から取り出した複製データを送信バッファ133に入力せず、先に送信バッファ133に格納されている複製データを送信する。これにより、送信バッファ133は空の状態となる。そして処理1105に進み、送信バッファ133は、新たに受付バッファ131から取得した複製データを保持する。
次に、ストレージ装置100が受信したパケットに含まれる複製データの一部に、当該ストレージ装置100とは異なる他のストレージ装置100を正当なスレーブノードとする複製データが含まれていた場合の、データ移動部140の処理について説明する。
ストレージ装置100は、マスターノードから受けた複製データについては、まずは自身のデータ格納部に格納した後に、データ格納部に格納されたデータに付されたデータIDを読出し、当該データIDについてハッシュ値の算出を行う。ハッシュ値に基づきハッシュ値対応表210を参照することにより、データ格納部に格納されているデータが、本来は他のストレージ装置100がスレーブノードとして格納すべきデータであるかどうかを判断することができる。他のストレージ装置100がスレーブノードとして格納すべきデータについては、当該データを、当該他のストレージ装置100に送信する。
図13は、複製データを他のストレージ装置100に移動させる処理フローを示すものである。移動処理は処理1200により開始される。処理1201において判定部160は、負荷モニタ部180によりモニタされるネットワークの通信負荷が第4閾値以下になったか否かを判定する。第4閾値は、図12の処理1108で用いた第2閾値と同じ値を用いてもよい。処理1201においてネットワークの通信負荷が第4閾値以下でない場合は、通信負荷が第4閾値以下になるまで処理1201を繰り返す。処理1201において通信負荷が第4閾値以下になったと判定された場合は、処理1202においてデータ移動部140が、データ格納部に格納されているデータのうち、特定アドレス以降のアドレスに格納されているデータに付されたデータIDを読出す。処理1203においてハッシュ値算出部170がデータIDについてハッシュ値を算出する。処理1204において判定部160が、算出されたハッシュ値に基づいてハッシュ値対応表210を参照することにより、そのデータが他のストレージ装置100で格納すべき複製データであるか否かを判定する。処理1204において、データが他のストレージ装置100で格納すべき複製データではないと判定された場合は、ループ処理により他のデータについて同様にデータIDのハッシュ値算出を行う。一方、処理1204において、データが他のストレージ装置100で格納すべき複製データと判定された場合は、処理1205において判定部160が、ネットワークの通信負荷が第5閾値以下となっているか否かを判定する。第5閾値は、処理1201にて用いた第4閾値と同じ値であってもよい。処理1201でも通信負荷の判定を行っているが、その後、通信負荷が上昇することも考えられる。そのような場合にデータの送信を中止させるために、処理1205において再度通信負荷の判定を行っている。処理1205において通信負荷が第5閾値以下ではないと判定された場合は、処理1206へ進む。処理1206において、処理途中のデータのアドレスを記録し、処理1209でデータ移動の処理を終了する。移動の処理が中断された複製データのアドレスは、次に通信負荷が閾値を下回った際に、どのアドレスのデータからデータ移動の処理を再開すればよいかを判断するために利用することができる。尚、アドレスでの管理が困難な場合は、当該データが書込まれた時刻を記録しておき、どの時刻に格納したデータまで移動処理を完了させたかを管理してもよい。またこれらの管理を行わずに、常に全てのデータに対して移動の要否の判定を行ってもよい。
処理1205において通信負荷が第5閾値以下であると判定された場合は、移動させるデータのデータIDに対して移動IDを付し、データの移動先アドレスとともに、移動リストに登録する。処理1208においてデータ移動部140が、複製データを所定のストレージ装置100へ送信し、ループ処理により他のデータに対しても同様の処理を繰り返す。
図14は、データ移動部140が作成する移動リストの一例である。移動リストには、移動される複製データ毎に、移動処理IDと宛先アドレスとデータIDとが対応付けられて登録される。例えば図2に示す例においては、ストレージ装置100Bは、データZの複製データをストレージ装置100Bからストレージ装置100Cに移動させるため、移動処理IDを例えば「pp」とし、移動先アドレスを「C(ストレージ装置100Cのアドレス)」、データIDを「Z」とする登録がなされる。このデータ移動リストは、データを他のストレージ装置100に送信した後、他のストレージ装置100からデータ格納の完了通知を受けた際に利用される。例えばストレージ装置100Bは、複製データをストレージ装置100Cに転送した後に、通知送受信部190にて、データ書込み完了通知をストレージ装置100Cから受信する。そして、どの移動データIDのデータ格納が完了したかを認識する。データ消去部200は、移動処理リストを参照することにより、データ書込みの完了が通知された移動データIDに対応するデータIDを特定する。そしてデータ消去部200は、データIDによって特定されるデータを、データ格納部から消去する。これによって、データ格納部の空き容量を確保することができる。
次に、端末装置3からストレージシステム1に対してデータの読出し要求があった際の処理について説明する。図15は、データの読出し処理に関するストレージ装置100の処理フローである。読出しの処理は処理1300により開始される。処理1301においてリクエスト受信部150が、端末装置3から送信された読出し要求を、中継サーバ10を経由して受信する。処理1302においてデータ読出し部125が、要求のあったデータIDについてデータ格納部に対象データが格納されているかを判定する。処理1302において対象データがデータ格納部に格納されていると判定された場合は、処理1303へ進み、対象データがデータ格納部に格納されていないと判定された場合は、処理1305へ進む。処理1303においてデータ読出し部125は、対象データを読み出す。処理1304においてデータ送受信部110は、読み出したデータを端末装置3に送信する。
処理1302において、読出しが要求されたデータがデータ格納部に格納されていないと判定された場合は、処理1305において、データ読出し部125は所定時間待機する。そして所定時間経過後に処理1306においてデータ格納部は、再度データがデータ格納部に格納されているか否かを判定する。これは、複製データが他のストレージ装置100から移動されていない場合を考慮し、所定時間待ってから再度データ格納部へのアクセスを行うものである。処理1306においてデータが格納されていると判断された場合は、処理1303及び処理1304にてデータ読出しおよびデータ送信が行われる。また、処理1306においてもデータが格納されていない場合は、処理1307へ進む。処理1307において通知送受信部190は、要求されたデータが格納されていない旨を端末装置3に通知する。なお、処理1307の代わりに、もしくは処理1307と併せて、データIDに基づいてハッシュ値算出を行い、データが格納されている可能性のある他のストレージ装置100に読出し要求を転送する処理を行ってもよい。
本実施例では、ネットワークの通信負荷が高い状態においては、ストレージ装置100間の複製データの送信をまとめて行うことにより、送信されるパケット数を削減してネットワーク負荷を緩和する。また、ネットワーク負荷が低くなったタイミングにおいて複製データを適切なストレージ装置100に移動させることで、データの読出しを可能とする。このように、ネットワークの負荷を時間的に分散させつつ、レプリケーションの利便性を高めることができる。
開示の実施例に基づき、更に以下の付記を開示する。
(付記1)
ネットワークを介して互いに接続された第1ストレージ装置、第2ストレージ装置及び第3ストレージ装置を用いたデータ格納方法において、
前記第1ストレージ装置から前記第2ストレージ装置へ、前記第2ストレージ装置宛ての第1データと前記第3ストレージ装置宛ての第2データをまとめて送信する第1送信工程と、
前記第1送信工程の後、前記第2ストレージ装置から前記第3ストレージ装置へ、前記第2データを送信する第2送信工程と
を有することを特徴とするデータ格納方法。
(付記2)
前記第1送信工程は、前記ネットワークの通信負荷が第1閾値以上の場合に実行されることを特徴とする付記1に記載のデータ格納方法。
(付記3)
前記第2送信工程は、前記ネットワークの通信負荷が第2閾値以下の場合に実行されることを特徴とする付記1又は2に記載のデータ格納方法。
(付記4)
前記第1送信工程の前に、前記第1ストレージ装置が前記第2データの書込み要求を端末装置から受信する工程と、
前記第2ストレージ装置への前記第2データの送信に基づき、前記端末装置に対して書込み完了通知を通知する工程と、
を更に有することを特徴とする付記1乃至3いずれかに記載のデータ格納方法。
(付記5)
前記第2ストレージ装置は、前記第1ストレージ装置から送信された前記第2データを保持し、前記第3ストレージ装置への前記第2データの送信の後に前記第2データを消去することを特徴とする付記1乃至4いずれかに記載のデータ格納方法。
(付記6)
前記第1データ及び前記第2データの宛先は、前記第1データに付された第1データID及び前記第2データに付された第2データIDに基づいて定められ、前記第2ストレージ装置は、前記第2データの前記データIDに基づいて、前記第2データが前記第3ストレージ装置宛てのデータであることを認識することを特徴とする付記1乃至5いずれかに記載のデータ格納方法。
(付記7)
前記ネットワークの通信負荷は、前記第1ストレージ装置、前記第2ストレージ装置及び前記第3ストレージ装置間の通信に要する時間もしくは、前記ネットワーク上を単位時間当たりに送信されるパケット数に基づいて定められることを特徴とする付記1乃至6いずれかに記載のデータ格納方法。
(付記8)
ネットワークを介して互いに接続された第1ストレージ装置、第2ストレージ装置及び第3ストレージ装置を有し、
前記第1ストレージ装置は、前記第2ストレージ装置宛ての第1データと前記第3ストレージ装置宛ての第2データをまとめて前記第2ストレージ装置へ送信し、
前記第2ストレージ装置は、前記第1ストレージ装置から受信した前記第2データを前記第3ストレージ装置へ送信する
ことを特徴とするストレージシステム。
(付記9)
前記第1ストレージ装置は、前記ネットワークの通信負荷が第1閾値以上の場合に、前記第1データと前記第2データをまとめて前記第2ストレージ装置へ送信することを特徴とする付記8に記載のストレージシステム。
(付記10)
前記第2ストレージ装置は、前記ネットワークの通信負荷が第2閾値以下の場合に、前記第2データを前記第3ストレージ装置へ送信することを特徴とする付記8又は9に記載のストレージシステム。
(付記11)
前記第2データの書込み要求を端末装置から受信する書込み要求受信部と、
前記第2ストレージ装置への前記第2データの送信の後、前記端末装置に対して書込み完了通知を通知する通知部と
を更に有することを特徴とする付記8乃至10いずれかに記載のストレージシステム。
(付記12)
前記第2ストレージ装置は、前記第1ストレージ装置から送信された前記第2データを保持し、前記第3ストレージ装置への前記第2データの送信の後に前記第2データを消去することを特徴とする付記8乃至11いずれかに記載のストレージシステム。
(付記13)
前記第1データ及び前記第2データの宛先は、前記第1データに付された第1データID及び前記第2データに付された第2データIDに基づいて定められ、前記第2ストレージ装置は、前記第2データの前記データIDに基づいて、前記第2データが前記第3ストレージ装置宛てのデータであることを認識することを特徴とする付記8乃至12いずれかに記載のストレージシステム。
(付記14)
前記ネットワークの通信負荷を、前記第1ストレージ装置、前記第2ストレージ装置及び前記第3ストレージ装置間の通信に要する時間もしくは、前記ネットワーク上を単位時間当たりに送信されるパケット数に基づいて定める負荷監視部を更に有することを特徴とする付記8乃至13いずれかに記載のストレージシステム。
(付記15)
コンピュータに、
第1ストレージ装置から第2ストレージ装置へ、ネットワークを介して前記第2ストレージ装置宛ての第1データと第3ストレージ装置宛ての第2データをまとめて送信する第1送信工程と、
前記第1送信工程の後、前記第2ストレージ装置から前記第3ストレージ装置へ、前記ネットワークを介して前記第2データを送信する第2送信工程と
を実行させることを特徴とするプログラム。
(付記16)
ネットワークを介して第1ストレージ装置及び第2ストレージ装置に接続されるストレージ装置であって、
前記第1ストレージ装置からまとめて送信される、前記ストレージ装置宛ての第1データと前記第2ストレージ装置宛ての第2データとを受信するデータ受信部と、
前記第2データを受信した後、前記第2データを前記第2ストレージ装置に送信する送信部と
を有することを特徴とするストレージ装置。
(付記17)
前記受信部は、前記ネットワークの通信負荷が第1閾値以上の場合に、前記第1データと前記第2データをまとめて受信することを特徴とする付記16に記載のストレージ装置。
(付記18)
前記送信部は、前記ネットワークの通信負荷が第2閾値以下の場合に、前記第2データを前記第2ストレージ装置へ送信することを特徴とする付記16又は17に記載のストレージ装置。
(付記19)
前記第2ストレージ装置への前記第2データの送信後、前記第2データを消去することを特徴とする付記16乃至18何れか一項に記載のストレージ装置。
1 ストレージシステム
2 ネットワーク
3−1、3−2、3−3 端末装置
10 中継サーバ
100A,100B,100C ストレージ装置
11、101 プロセッサ
12、104 メモリ
13 ネットワークインターフェース回路
14 ストレージ装置インターフェース回路
15、106 バス
102 入出力インターフェース回路
103 NIC
105 記憶媒体インターフェース回路
300 HDD
16 データ送受信部
17、170 ハッシュ値算出部
18、190 通知送受信部
19 リクエスト送受信部
20、210 ハッシュ値対応表
110 データ送受信部
120 データ書込み部
125 データ読出し部
130 レプリケーション部
140 データ移動部
150 リクエスト受信部
160 判定部
180 負荷モニタ部
200 データ消去部
131 受付バッファ
132 処理部
133 送信バッファ
134 登録部
135 レプリケーションリスト

Claims (6)

  1. ネットワークを介して互いに接続された第1ストレージ装置、第2ストレージ装置及び第3ストレージ装置を用いたデータ格納方法において、
    第1データの第1書込み要求と、第2データの第2書込み要求を、前記第1ストレージ装置が端末装置から受信する工程と、
    前記第1書込み要求及び前記第2書込み要求に応じて、前記第1データと前記第2データを前記第1ストレージ装置に格納する工程と、
    前記ネットワークの通信負荷が第1閾値以上の場合に、前記第1ストレージ装置から前記第2ストレージ装置へ、前記第2ストレージ装置宛ての前記第1データと前記第3ストレージ装置宛ての前記第2データをまとめて送信する第1送信工程と、
    前記第1送信工程に応じて、前記第1データと前記第2データを前記第2ストレージ装置に格納する工程と、
    前記第1データと前記第2データが前記第2ストレージ装置に格納されたことに応じて、前記端末装置に完了通知を送信する工程と、
    前記第1送信工程の後、前記第2ストレージ装置から前記第3ストレージ装置へ、前記第2データを送信する第2送信工程と、
    前記第2送信工程に応じて、前記第2データを前記第3ストレージ装置に格納する工程と、
    前記第2データが前記第3ストレージ装置に格納されたことに応じて、前記第2ストレージ装置に格納された前記第2データを削除する工程と
    を有することを特徴とするデータ格納方法。
  2. 前記第2送信工程は、前記ネットワークの通信負荷が第2閾値以下の場合に実行されることを特徴とする請求項1に記載のデータ格納方法。
  3. ネットワークを介して互いに接続された第1ストレージ装置、第2ストレージ装置及び第3ストレージ装置を有し、
    前記第1ストレージ装置は、第1データの第1書込み要求と第2データの第2書込み要求を端末装置から受信し、前記第1書込み要求及び前記第2書込み要求に応じて、前記第1データと前記第2データを前記第1ストレージ装置に格納し、前記ネットワークの通信負荷が第1閾値以上の場合に、前記第2ストレージ装置宛ての第1データと前記第3ストレージ装置宛ての第2データをまとめて前記第2ストレージ装置へ送信し、
    前記第2ストレージ装置は、前記第1ストレージ装置からまとめて送信された前記第1データと前記第2データを前記第2ストレージ装置に格納し、前記第1ストレージ装置から受信した前記第2データを前記第3ストレージ装置へ送信し、
    前記第3ストレージ装置は、前記第2ストレージ装置から送信された前記第2データを前記第3ストレージ装置に格納し、
    前記第2ストレージ装置は、前記第2データが前記第3ストレージ装置に格納されたことに応じて、前記第2ストレージ装置に格納された前記第2データを削除し、
    前記第1ストレージ装置は、前記第1データと前記第2データが前記第2ストレージ装置に格納されたことに応じて、前記端末装置に完了通知を送信する
    ことを特徴とするストレージシステム。
  4. 前記第2ストレージ装置は、前記ネットワークの通信負荷が第2閾値以下の場合に、前記第2データを前記第3ストレージ装置へ送信することを特徴とする請求項3に記載のストレージシステム。
  5. ネットワークを介して第1ストレージ装置及び第2ストレージ装置に接続されるストレージ装置であって、
    前記第1ストレージ装置が、端末装置から送信された第1データの第1書込み要求と第2データの第2書込み要求に応じて前記第1データと前記第2データを前記第1ストレージ装置に格納し、前記ストレージ装置宛ての前記第1データと前記第2ストレージ装置宛ての前記第2データをまとめて前記ストレージ装置へ送信した場合に、前記第1ストレージ装置からまとめて送信された前記第1データと前記第2データを受信する受信部と、
    前記受信部によって受信された前記第1データと前記第2データをデータ格納部に格納する書込み部と、
    前記第1データと前記第2データが前記データ格納部に格納されたことを前記第1ストレージ装置に通知する通知部と、
    前記データ格納部に格納された前記第2データを、前記第2ストレージ装置へ送信する送信部と、
    前記第2データが前記第2ストレージ装置に格納された場合に、前記データ格納部に格納された前記第2データを消去する消去部と
    を有し、
    前記受信部は、前記ネットワークの通信負荷が第1閾値以上の場合に、前記第1ストレージ装置からまとめて送信された前記第1データと前記第2データを受信することを特徴とするストレージ装置。
  6. 前記送信部は、前記ネットワークの通信負荷が第2閾値以下の場合に、前記第2データを前記第2ストレージ装置へ送信することを特徴とする請求項5に記載のストレージ装置。
JP2014030222A 2014-02-20 2014-02-20 データ格納方法、ストレージシステム、プログラム及びストレージ装置 Active JP6299266B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014030222A JP6299266B2 (ja) 2014-02-20 2014-02-20 データ格納方法、ストレージシステム、プログラム及びストレージ装置
US14/603,467 US9710196B2 (en) 2014-02-20 2015-01-23 Method of storing data, storage system, and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014030222A JP6299266B2 (ja) 2014-02-20 2014-02-20 データ格納方法、ストレージシステム、プログラム及びストレージ装置

Publications (2)

Publication Number Publication Date
JP2015156071A JP2015156071A (ja) 2015-08-27
JP6299266B2 true JP6299266B2 (ja) 2018-03-28

Family

ID=53798179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014030222A Active JP6299266B2 (ja) 2014-02-20 2014-02-20 データ格納方法、ストレージシステム、プログラム及びストレージ装置

Country Status (2)

Country Link
US (1) US9710196B2 (ja)
JP (1) JP6299266B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302251B (zh) * 2015-06-26 2019-09-06 深圳市中兴微电子技术有限公司 一种交换网络同步方法及交换装置、接入装置
JP6330840B2 (ja) * 2016-03-29 2018-05-30 日本電気株式会社 ストレージ管理システムおよびストレージ管理方法
JP6693224B2 (ja) * 2016-03-30 2020-05-13 日本電気株式会社 情報処理システム、記憶装置、情報処理方法、及び、プログラム
JP6253725B1 (ja) * 2016-07-12 2017-12-27 株式会社東芝 データベースシステム、データ結合方法、統合サーバ、データ結合プログラム、データベースシステム連携方法、および、データベースシステム連携プログラム
JP7347157B2 (ja) * 2019-11-22 2023-09-20 富士通株式会社 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置
US11658970B2 (en) * 2020-09-14 2023-05-23 Dell Products L.P. Computing device infrastructure trust domain system
JP2022174890A (ja) * 2021-05-12 2022-11-25 富士通株式会社 ストレージシステムおよびストレージ制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3215963B2 (ja) * 1994-03-18 2001-10-09 株式会社日立製作所 ネットワークシステムおよび該システムにおける通信方法
JP2636740B2 (ja) * 1994-06-27 1997-07-30 日本電気株式会社 分散ファイルシステム
US6470391B2 (en) * 1995-09-08 2002-10-22 Hitachi, Ltd. Method for transmitting data via a network in a form of divided sub-packets
US6697367B1 (en) * 2000-06-12 2004-02-24 Emc Corporation Multihop system calls
EP1176780A1 (en) * 2000-07-24 2002-01-30 Lucent Technologies Inc. Method, device and network for reducing the size of data packet headers
DE10041099C2 (de) * 2000-08-22 2002-10-24 Bosch Gmbh Robert Verfahren zur Übertragung von Datenpaketen zwischen Kraftfahrzeugen
JP2004133598A (ja) 2002-10-09 2004-04-30 Fujitsu Ltd 複数データベースの二重化制御プログラム
US8185663B2 (en) 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
JP4571576B2 (ja) * 2005-11-24 2010-10-27 株式会社日立製作所 リモートコピー記憶装置システムおよびリモートコピー方法
US20080031136A1 (en) * 2006-08-07 2008-02-07 Gavette Sherman L Round trip time (rtt) proximity detection testing
JP2010033125A (ja) 2008-07-25 2010-02-12 Hitachi Ltd ストレージ装置及びデータ転送方法
JP5324657B2 (ja) * 2009-04-14 2013-10-23 株式会社日立製作所 ストレージシステム、及びその制御方法
US9231870B2 (en) * 2011-12-22 2016-01-05 International Business Machines Corporation Flexible and scalable data link layer flow control for network fabrics
US9183103B2 (en) * 2013-05-31 2015-11-10 Vmware, Inc. Lightweight remote replication of a local write-back cache

Also Published As

Publication number Publication date
JP2015156071A (ja) 2015-08-27
US20150234619A1 (en) 2015-08-20
US9710196B2 (en) 2017-07-18

Similar Documents

Publication Publication Date Title
JP6299266B2 (ja) データ格納方法、ストレージシステム、プログラム及びストレージ装置
JP4696089B2 (ja) 分散ストレージシステム
WO2018137217A1 (zh) 一种数据处理的系统、方法及对应装置
US20150074065A1 (en) Data Access in a Storage Infrastructure
CN103942252B (zh) 一种恢复数据的方法及系统
US9521080B2 (en) Method of controlling congestion, apparatus for controlling congestion and communication system
CN109564502B (zh) 应用于存储设备中的访问请求的处理方法和装置
WO2021063160A1 (zh) 访问固态硬盘的方法及存储设备
TW201525718A (zh) 塊儲存閘道模組、儲存中介系統、雲端儲存系統、提供對塊儲存的存取的方法、儲存中介方法與內容遞送裝置
US9781023B2 (en) Information processing device, information processing method, and recording medium
JP5304674B2 (ja) データ変換装置、データ変換方法及びプログラム
US10154079B2 (en) Pre-boot file transfer system
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
JP2013218505A (ja) クライアントとサーバ間の通信を中継する通信装置及び通信システム
US20160057068A1 (en) System and method for transmitting data embedded into control information
JP6193155B2 (ja) 通信装置、通信システム、通信方法およびプログラム
US9307005B2 (en) Communication control system, method, and apparatus
US9208114B2 (en) Storage device, computer-readable recording medium, and storage control method
JP2018504689A5 (ja)
WO2021082877A1 (zh) 访问固态硬盘的方法及装置
US20130132692A1 (en) Storage devices and storage systems
US10855610B2 (en) Information processing apparatus, information processing system, information processing method, and storage medium
TWI769796B (zh) 利用索引物件來進行簡易儲存服務無縫遷移的方法、主裝置以及儲存伺服器
JP6912105B2 (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置
JP6193078B2 (ja) メッセージ転送システム及びキューの管理方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180212

R150 Certificate of patent or registration of utility model

Ref document number: 6299266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150